Sei sulla pagina 1di 6

Taller capitulo 11

Libro Guía: Organización y Arquitectura de Computadores, William Stallings, 7ª


edición.

PREGUNTAS DE REPASO

11.1. Defina brevemente direccionamiento inmediato.

R//: Es en el que el operando está en realidad presente en la propia instrucción.

11.2. Defina brevemente direccionamiento directo.

R//: Es en el que el campo de direcciones contiene la dirección efectiva del operando.

11.3. Defina brevemente direccionamiento indirecto.

R//: Es en el que el campo de direcciones referencie la dirección de una palabra de


memoria, la cual contenga la dirección completa del operando.

11.4. Defina brevemente direccionamiento de registros.

R//: Es en el que el campo de direcciones referencia un registro.

11.5. Defina brevemente direccionamiento indirecto con registro.

R//: Es en el que el campo de direcciones referencie la dirección de una palabra de


memoria, la cual contenga la dirección al registro.

11.6. Defina brevemente direccionamiento con desplazamiento.

R//: Este direccionamiento combina las posibilidades de los direccionamientos directo


e indirecto con registro

11.7. Defina brevemente direccionamiento relativo.

R//: En este el registro referenciado implícitamente es el contador de programa es


decir, la dirección de instrucción actual se suma al campo de direcciones para
producir el valor de la dirección efectiva.

11.8. ¿Qué ventaja tiene el autoindexado?

R//: El autoindexado puede ser invocado implícitamente y automáticamente.

11.9. ¿Qué diferencia existe entre pre-indexado y post-indexado?


R//: La la diferencia radica en que con pre-indexado, la indexación se realiza antes de
la indirección mientras que con post-indexado la indexación se realiza después de la
indirección.

11.10. ¿Qué hechos influyen al determinar el uso de los bits de direcciones de una
instrucción?

R//:
● Número de modos de direccionamiento
● Número de operandos
● Registros frente a memoria
● Número de conjuntos de registros
● Rango de direcciones
● Granularidad de las direcciones

11.11. ¿Cuáles son las ventajas y desventajas del uso de un formato de instrucción de
longitud variable?

R//: ​Ventajas

El direccionamiento puede ser más flexible, con varias combinaciones de referencias a


registros y a memoria, así como de modos de direccionamiento. Con instrucciones de
longitud variable, estas múltiples variaciones pueden proporcionarse de manera
eficiente y compacta.

Desventajas

El aumento de complejidad del procesador. La disminución del precio del hardware, el


uso de microprogramación y un aumento general en el conocimiento de los principios
de diseño de procesadores, contribuyen todos a hacer que el precio a pagar
mencionado sea leve.

PROBLEMAS

11.1. Dados los valores de memoria siguientes, y suponiendo una máquina con
instrucciones de una sola dirección, y con un acumulador, ¿qué valores cargan las
siguientes instrucciones en el acumulador?
• La palabra 20 contiene 40.
• La palabra 30 contiene 50.
• La palabra 40 contiene 60.
• La palabra 50 contiene 70.
(a) CARGA INMEDIATA 20
R//: 20

(b) CARGA DIRECTA 20


R//: 40
(c) CARGA INDIRECTA 20
R//: 60

(d) CARGA INMEDIATA 30


R//:30

(e) CARGA DIRECTA 30


R//: 50

(f) CARGA INDIRECTA 30


R//: 70

11.2. Suponga que la dirección almacenada en el contador de programa se designa con


el símbolo X1. La instrucción almacenada en X1 tiene una parte de dirección (referencia
a operando) X2. El operando que se necesita para ejecutar la instrucción está
almacenado en la palabra de memoria con dirección X3. Un registro de índice contiene el
valor X4. ¿Qué relación existe entre estas cantidades si el modo de direccionamiento de
la instrucción es:
(a) directo
R//: Directo = campo de direcciones contiene la dirección efectiva del operando es
decir X2 = X3

(b) indirecto
R//: Indirecto = campo de direcciones referencie la dirección de una palabra de
memoria, la cual contenga la dirección completa del operando es decir (X2) = X3

(c) relativo al PC
R//: relativo al PC = el registro referenciado implícitamente es el contador de programa
(PC). Es decir, la dirección de instrucción actual se suma al campo de direcciones
para producir el valor DE. En consecuencia, la dirección efectiva es un desplazamiento
relativo a la dirección de la instrucción es decir X1 + X2 +1 = X3

(d) indexado
R//: Indexado = campo de dirección referencia una dirección de memoria principal, y el
registro referenciado contiene un desplazamiento positivo desde esa dirección es decir
X2 + X4 = X3

11.3. El campo de dirección de una instrucción contiene el valor decimal 14. Indique
dónde se ubica el operando correspondiente en cada uno de los casos:
(a) direccionamiento inmediato
R//: En el campo de dirección.
(b) direccionamiento directo
R//: En la ubicación de memoria 14
(c) direccionamiento indirecto
R//: En la ubicación de memoria cuya dirección está en la ubicación de memoria 14
(d) direccionamiento de registro
R//: En el registro 14
(e) direccionamiento indirecto con registro
R//: En la ubicación de la memoria cuya dirección está en el registro 14

11.4. Considere un procesador de 16 bits para el que se tiene en memoria principal, a


partir de la dirección 200, lo siguiente:

La primera parte de la primera palabra indica que es una instrucción que carga un valor
en el acumulador. El campo «Modo» indica un modo de direccionamiento y, si procede,
indica un registro origen; suponga que cuando se usa, el registro origen es R1, que tiene
un valor de 400. Hay también un registro base que contiene el valor 100. El valor 500
ubicado en la posición 201 puede formar parte del cálculo de la dirección. Suponga que
la posición 399 contiene el valor 999, la posición 400 contiene el valor 1000 y así
sucesivamente. Determine la dirección efectiva, y el operando que se carga, para cada
uno de los siguientes modos de direccionamiento:

a. Directo
b. Inmediato
c. Indirecto.
d. Relativo al PC
e. Con desplazamiento
f. Registro.
g. Indirecto con registro
h. Autoindexado con incremento, empleando R 1

DE Operando

a 500 1100

b 201 500

c 1100 1700

d 702 1302

e 600 1200

f R1 400
g 400 1000

h 400 1000

11.5. Una instrucción de bifurcación con modo relativo al PC tiene una longitud de tres
bytes. La dirección de la instrucción es 256028, en decimal. Determine la posición a la
que se salta cuando el desplazamiento, con signo, de la instrucción es -31.

R//:salta a la dirección 256028 +3 - 31 = 256000

11.6. Una instrucción de bifurcación con modo relativo al PC está almacenada en la


posición de memoria 530​10​. El salto se efectúa a la posición 530​10​. El campo de dirección
de la instrucción es de 10 bits. ¿Cuál es el valor binario de la instrucción?

R//: 1111111111 complemento a dos.

11.7. ¿Cuántas referencias a memoria necesita efectuar el procesador cuando capta y


ejecuta una instrucción con modo de direccionamiento indirecto, si dicha instrucción es
(a) un cálculo que requiere de un solo operando; (b) un salto?

R//: a) Una instrucción con direccionamiento indirecto requiere de tres accesos a


memoria: primero extracción del opcode de la instrucción,de la dirección en donde se
encuentra la dirección del operando, lo cual requiere dos accesos más a la memoria.

b) Para el salto se necesitaría de dos uno cuando capta la instrucción y otro para
buscar referencia de operando y cargar en la PC

11.11. Considere un procesador que incluye un modo de direccionamiento base con


indexado. Suponga que se encuentra una instrucción que emplea este modo de
direccionamiento, y que especifica un desplazamiento de 1970, en decimal. En el
momento actual el registro de base y de índice contienen respectivamente los número
decimales 48022 y 8. ¿Cuál es la dirección del operando?

R//: 1970 + 48022 + 8 = 50000 (dirección del operando)

11.12. EA = (X)+ define como dirección efectiva el contenido de la posición X, haciendo


que se incremente X en un valor igual a la longitud de palabra tras calcular la dirección
efectiva. EA = -(X ) define como dirección efectiva el contenido de la posición X, haciendo
que se decremente X en un valor igual a la longitud de palabra antes de calcular la
dirección efectiva; EA = (X) - define como dirección efectiva el contenido de la posición X,
haciendo que se decremente X en un valor igual a la longitud de palabra tras calcular la
dirección efectiva. Considere las siguientes instrucciones, cada una de ellas con el
formato (Operación operando_origen, operando_destino), y el resultado de la operación
ubicado en el operando destino:
(a) OP X, (X)
(b) OP X, (X) +
(c) OP (X) + , (X)
(d) OP - (X), (X)
(e) OP - (X), (X) +
(f) OP (X) + , (X) +
(g) OP (X) -, (X)
Usando X como puntero de pila, ¿cuál de las instrucciones anteriores puede desapilar los
dos elementos de la cabecera de la pila, realizar el cálculo indicado (por ejemplo, sumar
operandos origen y destino, y memorizar el resultado en destino) y apilar de nuevo el
resultado en la pila? Para cada una de las instrucciones, ¿la pila crece hacia la dirección
0 de memoria o en sentido contrario?

a. No, porque el operando de origen es el contenido de X, en lugar de la parte superior de


la pila, que está en la ubicación señalada por X.
b. No, porque la dirección de la parte superior de la pila no cambia hasta después de
recuperar el operando de destino.
c. Si. La pila crece lejos de la dirección memoria 0.
d. No, porque el segundo elemento de la pila se obtiene dos veces.
e. No, porque el segundo elemento de la pila se obtiene dos veces.
f. No, porque el puntero de la pila se incrementa dos veces, por lo que el resultado se
descarta.
gl. Si. La pila crece hacia la direccion de memoria 0.

11.13. Suponga un procesador orientado al uso de pila que incluye las operaciones con
la pila: PUSH y POP. Las operaciones aritméticas implican automáticamente al elemento,
o la pareja de elementos, de la cabecera de la pila. Partiendo de una pila vacía, ¿qué
elementos quedan en la pila después de ejecutarse las siguientes instrucciones?
PUSH 4
PUSH 7
PUSH 8
ADD
PUSH 10
SUB
MUL

R//: al final queda 20 en la pila

Potrebbero piacerti anche