Organización de ordenadores

CPU (Central Process Unit). Bits. Instrucciones. Códigos. Programas. Direcciones. Programación

  • Enviado por: AleJAnDrO DI HaRo
  • Idioma: castellano
  • País: España España
  • 5 páginas
publicidad

ORGANIZACIÓN DEL COMPUTADOR I

Práctica 3 - Formatos de instrucciones

1. Identifique los diversos aspectos que diferencian a los conjuntos de instucciones de las

CPU´s

2. Enumere y describa algunos modos de direccionamiento más comúnmente soportados

por las CPU´s

3. Sea la siguiente palabra de 32 bite representada en hexadecimal 76543210, indique

cómo se almacena suponiendo un ordenamiento "little endian" y suponiendo ordenamiento

"bug endian"

4. Considerar una computadora hipotética con un conjunto de instrucciones que tiene sólo

dos instrucciones de n bits. El primer bit especifica el código de operación, y los demás

especifican una de las palabras de memoria. Las dos instrucciones son:

SUBS X: restar el contenido de la posición X de un registro acumulador, y

guardar el resultado en la posición X y en el acumulador;

JUMP X: poner la dirección X en el contador de programa.

Una palabra en la memoria principal puede contener o una instrucción o un

número binario en notación de complemento a dos.

i) ¿Cuánta memoria puede direccionar este procesador?

ii) Mostrar cómo se podrían programar las siguientes operaciones:

a) Transferencias de datos, de la posición X al acumulador, y del

acumulador a la posición X.

b) Suma: sumar los contenidos de la posición X en el acumulador.

5. Las siguientes son algunas de las instrucciones que existían en la IAS, incluyendo sus

códigos de operación:

0011 = Carga AC desde E/S

0111 = Guarda AC en E/S

0101 = Suma.

En estos casos, la dirección de 12 bits identifica un dispositivo de E/S en

particular (recordemos que la IAS tiene palabras de 20 bits, que los 8

primeros bits son códigos de operación y los siguientes 12 una dirección de

memoria, y que las operaciones pasan por un único registro acumulador).

ORGANIZACIÓN DEL COMPUTADOR I

Práctica 3 - Formatos de instrucciones

1. Identifique los diversos aspectos que diferencian a los conjuntos de instucciones de las

CPU´s

2. Enumere y describa algunos modos de direccionamiento más comúnmente soportados

por las CPU´s

3. Sea la siguiente palabra de 32 bite representada en hexadecimal 76543210, indique

cómo se almacena suponiendo un ordenamiento "little endian" y suponiendo ordenamiento

"bug endian"

4. Considerar una computadora hipotética con un conjunto de instrucciones que tiene sólo

dos instrucciones de n bits. El primer bit especifica el código de operación, y los demás

especifican una de las palabras de memoria. Las dos instrucciones son:

SUBS X: restar el contenido de la posición X de un registro acumulador, y

guardar el resultado en la posición X y en el acumulador;

JUMP X: poner la dirección X en el contador de programa.

Una palabra en la memoria principal puede contener o una instrucción o un

número binario en notación de complemento a dos.

i) ¿Cuánta memoria puede direccionar este procesador?

ii) Mostrar cómo se podrían programar las siguientes operaciones:

a) Transferencias de datos, de la posición X al acumulador, y del

acumulador a la posición X.

b) Suma: sumar los contenidos de la posición X en el acumulador.

5. Las siguientes son algunas de las instrucciones que existían en la IAS, incluyendo sus

códigos de operación:

0011 = Carga AC desde E/S

0111 = Guarda AC en E/S

0101 = Suma.

En estos casos, la dirección de 12 bits identifica un dispositivo de E/S en

particular (recordemos que la IAS tiene palabras de 20 bits, que los 8

primeros bits son códigos de operación y los siguientes 12 una dirección de

memoria, y que las operaciones pasan por un único registro acumulador).

ORGANIZACIÓN DEL COMPUTADOR I

Práctica 3 - Formatos de instrucciones

1. Identifique los diversos aspectos que diferencian a los conjuntos de instucciones de las

CPU´s

2. Enumere y describa algunos modos de direccionamiento más comúnmente soportados

por las CPU´s

3. Sea la siguiente palabra de 32 bite representada en hexadecimal 76543210, indique

cómo se almacena suponiendo un ordenamiento "little endian" y suponiendo ordenamiento

"bug endian"

4. Considerar una computadora hipotética con un conjunto de instrucciones que tiene sólo

dos instrucciones de n bits. El primer bit especifica el código de operación, y los demás

especifican una de las palabras de memoria. Las dos instrucciones son:

SUBS X: restar el contenido de la posición X de un registro acumulador, y

guardar el resultado en la posición X y en el acumulador;

JUMP X: poner la dirección X en el contador de programa.

Una palabra en la memoria principal puede contener o una instrucción o un

número binario en notación de complemento a dos.

i) ¿Cuánta memoria puede direccionar este procesador?

ii) Mostrar cómo se podrían programar las siguientes operaciones:

a) Transferencias de datos, de la posición X al acumulador, y del

acumulador a la posición X.

b) Suma: sumar los contenidos de la posición X en el acumulador.

5. Las siguientes son algunas de las instrucciones que existían en la IAS, incluyendo sus

códigos de operación:

0011 = Carga AC desde E/S

0111 = Guarda AC en E/S

0101 = Suma.

En estos casos, la dirección de 12 bits identifica un dispositivo de E/S en

particular (recordemos que la IAS tiene palabras de 20 bits, que los 8

primeros bits son códigos de operación y los siguientes 12 una dirección de

memoria, y que las operaciones pasan por un único registro acumulador).

0 direcciones 1 dirección 2 direcciones 3 direcciones

PUSH M LOAD M AC ð M MOV X,Y (X ð Y) MOV X,Y (X ð Y)

POP M STORE M M ð AC ADD X,Y (X ð X+Y) ADD X,Y,Z (X ð Y+Z)

ADD push(pop+pop) ADD M AC ð AC + M SUB X,Y (X ð X-Y) SUB X,Y,Z (X ð Y-Z)

SUB push(pop-pop) SUB M AC ð AC - M MUL X,Y (X ð X * Y) MUL X,Y,Z (X ð Y * Z)

MUL push(pop*pop) MUL M AC ð AC * M DIV X,Y (X ð X / Y) DIV X,Y,Z (X ð Y / Z)

DIV push(pop/pop) DIV M AC ð AC / M

M es una dirección de memoria de 16 bits. X, Y y Z son direcciones de memoria o

registros a elección.

a) Compare máquinas con 0, 1 2 y 3 direcciones para hacer la siguiente cuenta:

x = (a+b*c)/(d-e*f)

b) Asumiendo que las direcciones de memoria son de 16 bits, los códigos de

operación de 8 bits y longitudes de instrucción múltiplos de 4 bits: cuántos bits

precisa cada máquina para calcular X?