Sei sulla pagina 1di 4

ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES II Curso 2009-2010

PROBLEMAS
TEMA 6: Diseño del procesador

Problemas propuestos en examen


6.1 Para la UCP con bus interno de la Figura 6.1 escribir la secuencia de microoperaciones que se necesitan para
sumar un número con el acumulador cuando el número es:
a) Un operando inmediato.
b) Un operando con direccionamiento directo.
c) Un operando con direccionamiento indirecto.
Líneas de Unidad Líneas de
datos de dirección
Control

RM RI RD CP

Bus interno
de la UCP

R R2 AC
1
UAL

Figura 6.1

6.2 En la Figura 6.2 se muestra una UCP (Unidad de Control + Unidad de Procesamiento) y en la Tabla 6.2 se
da el significado de cada una de las señales de control. La señal de condición s0 se activa cuando el contenido
del registro acumulador (AC) sea igual a cero. Obtener las secuencias de las microoperaciones y las señales de
control que hay que activar para que esta UCP ejecute las siguientes instrucciones, suponiendo que éstas se
encuentran ya almacenadas en el registro de instrucciones (RI) :
a) Cargar acumulador con el contenido de una dirección de memoria.

b) Almacenar acumulador en una dirección de memoria.

c) Sumar al acumulador un operando con direccionamiento inmediato.

d) Sumar al acumulador un operando con direccionamiento directo.

e) Sumar al acumulador un operando con direccionamiento indirecto.

f) AND con el acumulador de un operando en modo directo.

g) Bifurcar, en modo de direccionamiento directo.

h) Bifurcar si acumulador = 0, en modo de direccionamiento directo.

Recopilación realizada por Jose Manuel Díaz, tutor de ETC2 en Coslada (Madrid)
ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES II Curso 2009-2010

RD c11
Entrada 1
UAL c12
c5
c13
c8
c0
Memoria c2 CP c6
s0
c1
Acumulador (AC)
c3 c4
c9 c10

RM • • •• •

c7
c15
RI

c14
Reloj Unidad c0
s0
Señales de de
condición c13
Control

Figura 6.2: Caminos de datos y puntos de control

Señal de control Microoperación controlada


c0 Leer de la memoria
c1 Escribir en la memoria
c2 Transferir el contenido de RM a RD (RD←(RM))
c3 Transferir el contenido de CP a RM (RM←(CP))
c4 Transferir el contenido de RM a CP (CP←(RM))
c5 Transferir el contenido de CP a RD (RD←(CP))
c6 Incrementar en 1 el contenido del CP (CP←(CP)+1)
c7 Transferir el contenido de RM a RI (RI←(RM))
c8 Transferir el contenido de RM a la entrada 1 de la UAL
c9 Transferir el contenido de RM a AC (AC←(RM))
c10 Transferir el contenido de AC a RM (RM←(AC))
c11 AC←(AC)+ Entrada 1
c12 AC←(AC) AND Entrada 1
c13 Complementar el contenido de AC (AC←( AC ) )
c14 Transferir el campo de dirección de RI a RD (RD←(RI(dirección)))
c15 Transferir el campo de datos de RI a RM (RM←(RI(datos)))

Tabla 6.2: Señales de control de la CPU de la figura 6.2

6.3 Indique si las siguientes afirmaciones son ciertas :


I. Para la fase de ejecución del ciclo de instrucción existen tantas secuencias de microinstrucciones
como códigos de operación existan en el repertorio de instrucciones.
II. Cada fase del ciclo de instrucción se puede descomponer en una secuencia de operaciones
elementales llamadas instrucciones máquina

6.4 En un procesador con instrucciones de cero direcciones (procesador con pila), ¿qué secuencia de
instrucciones calcula la expresión X = Y2(X+Z) ?
A) Push[X]; Push[Z]; Add; Push[Y]; Push[Y]; Mult; Mult; Pop[X];
B) Push[Y]; Push[Y]; Push[X]; Push[Z]; Add; Mult;Mult; Pop[X];
C) Push[Y]; Push[Y]; Mult; Push[X]; Push[Z]; Add; Mult; Pop[X];
D) Todas las anteriores

Recopilación realizada por Jose Manuel Díaz, tutor de ETC2 en Coslada (Madrid)
ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES II Curso 2009-2010

6.5 El formato de instrucción de un procesador de una dirección tiene 6 bits para el código de operación y 10
para la dirección del operando. Suponiendo que una instrucción de bifurcación, con direccionamiento relativo al
contador de programa, almacenada en la posición 530 (en decimal), origina un salto a la posición 620 (en
decimal). Si el código de operación de la instrucción de salto es 110011, ¿cuál es la codificación en binario de
dicha instrucción?

6.6 Considérese un procesador con instrucciones de cero direcciones (procesador con pila). Se tiene la siguiente
secuencia de instrucciones:

Push M[C]; Push M[D]; Add; Push M[C]; Push M[D]; Add; Mult; Pop M[A]

¿Que expresión calcula?

6.7 Empleando un procesador de una dirección (procesador con acumulador) con un registro R1, indicar qué
operación calcula la secuencia de instrucciones: Load A; Add B; Add C; Mult D, Add A, Store R1, Mult R1,
Div A, Store C.

6.8 En un procesador con instrucciones de cero direcciones, indicar cuantos accesos a memoria principal se
necesitan para completar la secuencia Y = Y(X+Z). Para el cálculo de accesos a memoria se supondrá que el
ancho de palabra es suficiente para que cada instrucción ocupe una única palabra de memoria. También se
supondrá que la pila es cableada.

6.9 Empleando un procesador de una dirección (procesador con acumulador) con un registro R1, indicar qué
operación calcula la secuencia de instrucciones: Load A; Add B; Mult D, Add A, Store R1, Mult R1, Mult R1;
Mult A; Div B; Add A; Store C.

6.10. Cierto procesador tiene 32 registros, utiliza operandos inmediatos de 16 bits y tiene 142 instrucciones en
su repertorio de instrucciones. En un determinado programa el 20% de las instrucciones tienen un registro de
entrada y un registro de salida, el 30% tienen dos registros de entrada y uno de salida, el 25% tiene un registro
de entrada, un registro de salida y un operando inmediato y el 25% restante tiene un operando inmediato y un
registro de salida
a) ¿Cuantos bits se necesitan para cada uno de los cuatro tipos de instrucciones? Supóngase que se impone
que todas las instrucciones tengan una longitud múltiplo de 8 bits.
b) ¿Cuánta memoria menos ocupa el programa cuando se utiliza una codificación del repertorio de
instrucciones de longitud variable que cuando se utiliza una codificación de longitud fija?
Nota: Un repertorio de instrucciones es de longitud fija cuando todas las instrucciones tienen la misma longitud
y es de longitud variable si la longitud de las instrucciones no es igual para todas las instrucciones del repertorio.

6.11 En un procesador con instrucciones de cero direcciones, determinar cuantos accesos a memoria se necesitan
para completar la secuencia Y = (X+Y)+Z.

6.12 Empleando un procesador de una dirección (procesador con acumulador) con un banco de registro Ri,
indicar qué operación calcula la secuencia de instrucciones: Load X; Add Y; Add Z; Mult X, Store R1, Mult R1,
Div X, Store X.

6.13 Determinar el número mínimo de palabras que podría tener una instrucción que especifica dos direcciones
en un computador cuya memoria es de 16M palabras. Las palabras de memoria son de 8 bits. Los operandos
pueden direccionar todo el mapa de memoria. El código de operación es de 8 bits y emplea para ambos
operandos un direccionamiento directo o absoluto.

6.14 En una máquina con 16 registros y un registro de instrucción (RI) de 16 bits ¿cuál sería el número máximo
de instrucciones que podríamos tener si todas las instrucciones tienen un tamaño de una sola palabra y un único
formato “cod_op r1, r2”, donde r1 y r2 son dos registros y cod_op el código de operación de la instrucción?

Recopilación realizada por Jose Manuel Díaz, tutor de ETC2 en Coslada (Madrid)
ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES II Curso 2009-2010

6.15 El formato de instrucción de un procesador de una dirección tiene 6 bits para el código de operación y 10
para la dirección del operando. Si la codificación en binario de una instrucción de bifurcación, con
direccionamiento relativo al contador de programa, es 1100110001011000, y está originando un salto a la
posición 600 (en decimal) ¿cuál es el contenido del contador de programas (en decimal) antes de la ejecución de
dicha instrucción?

6.16 Cierto procesador tiene 32 registros, utiliza operandos inmediatos de 16 bits y tiene 142 instrucciones en su
repertorio de instrucciones. Un determinado programa emplea instrucciones de dos tipos: el primer tipo utiliza
un registro de entrada y un registro de salida y el segundo tipo un registro de salida y un operando inmediato.
Suponiendo que se impone que todas las instrucciones tengan una longitud múltiplo de 8 determinar si las
siguientes afirmaciones son verdaderas o falsas:
I. El número de bits que se necesitan para el primer tipo de instrucciones es de 24 bits.
II. El número de bits que se necesitan para el segundo tipo de instrucciones es de 32 bits.

6.17 Un computador tiene las siguientes características:


• Una memoria M.
• Un acumulador A.
• Un registro de estado de un solo bit: el bit N.
• Tres instrucciones de longitud fija y direccionamiento directo:
STA D : M[D] ← <A>
SUB D : A ← <A> - M[D]
JNB D: IF N=1 THEN CP ← D ELSE CP ← <CP> + 1

Codificar tres programas que realicen las siguientes funciones:


a) (1.25 pto) Carga el acumulador con el contenido de la posición de memoria X.
b) (1.25 pto) Suma el contenido de la posición de memoria X al contenido del acumulador.
c) (1.5 pto) Implementación de un salto incondicional a la posición Y.

6.18 Empleando un procesador de una dirección (procesador con acumulador) con un registro R1, indicar qué
operación calcula la secuencia de instrucciones: Load X; Add Y; Add Z; Mult X, Store R1, Mult R1, Mult Z,
Div Y, Store X.

6.19 Considérese un computador con un microprocesador cuyo juego de instrucciones permite 60 códigos de
operación diferentes. Determinar si las siguientes afirmaciones son verdaderas o falsas:
I. Con un formato de instrucción de 6 bits para el código de operación y 12 bits para el campo de dirección
es posible direccionar 16384 posiciones de memoria directamente.
II. Si la palabra de memoria es de 32 bits se podrán direccionar 232 posiciones de memoria utilizando
direccionamiento indirecto.

Recopilación realizada por Jose Manuel Díaz, tutor de ETC2 en Coslada (Madrid)

Potrebbero piacerti anche