Nivel De Microarquitectura
ESTRUCTURA DE LOS COMPUTADORES I
Relación de problemas de
Universidad
de Granada
E. T. S.
Ingeniería
Informática
Nivel de microarquitectura
Departamento
Arquitectura y
Tecnología de
Computadores
Curso 2004/2005
© Antonio Cañas Vargas, 1996-2005
1. Considerar la ALU y registros que se ilustran en la Figura 1.
Figura 1. ALU y registros delproblema 1.
La interpretación de los distintos puntos de control se resume en la Tabla 1.
Tabla 1. Interpretación de las señales de control del problema 1.
C3C2
F
C1C0
Entrada R
Entrada S
C4
Acción
00
R+S
00
A
A
0
B←F
01
R–S
01
A
B
1
A←F
10
R AND S
10
B
A
11
R XOR S
11
B
B
Cada palabra de control debeespecificarse de acuerdo con el formato c4 c3 c2 c1 c0.
Por ejemplo:
c4 c3 c2 c1 c0
10001
;A←A+B
a) ¿Cómo se puede poner el registro A a cero? Sugiera al menos dos formas de hacerlo. No se dispone de
una entrada directa para poner a cero el registro.
b) Sugiera una secuencia de control que intercambie los contenidos de los registros A y B.
2. Las microinstrucciones almacenadas en la memoriade control de la Figura 2 tienen un ancho de 24 bits.
Cada microinstrucción tiene tres campos: un campo de microoperación de 13 bits, un campo de dirección
siguiente y un campo selector MUL. En las entradas del multiplexor hay 8 bits de estado.
1/16
Figura 2. Unidad de control del problema 2.
a) ¿Cuántos bits hay en el campo selector MUL?
b) ¿Cuántos bits hay en el campo de direcciónsiguiente?
c) ¿Cuál es el tamaño de la memoria de control?
d) ¿Cuántos bits hay en el registro de control de la memoria?
3. La Figura 3 muestra la estructura y el algoritmo de un circuito multiplicador para números de n bits (n
potencia de 2) sin signo. Los buses DATA_IN y DATA_OUT permiten introducir los datos y obtener los
resultados, respectivamente, y CONT es un contador que sedecrementa en cada paso de la multiplicación.
La señal FIN indica a los circuitos externos al multiplicador que en los dos ciclos de reloj posteriores al
actual se enviará el resultado.
n
1
Cout
n
A[2n]
n
A[2n–1:n]
A[n–1:0]
n
n
Multiplexor
DATA_OUT
A = 0;
CONT = 0;
(Multiplicando)
Q = DATA_IN;
M[n–1:0]
M = DATA_IN;
DATA_IN
TEST: if (Q[0] == 0) goto DESP;
nA[2n–1:n] = A[2n–1:n] + M[n–1:0]; A[2n] = Cout;
(Multiplicador)
DESP: A[n–1:0] = A[n:1];
Q[n–1:0]
A[2n–1:n] = A[2n:n+1];
1
A[2n] = 0;
Q[0]
Q[n–2:0] = Q[n–1:1];
CONT ≠ 0
CONT = CONT–1;
Unidad de control
if (CONT != 0) goto TEST;
FIN = 1;
DATA_OUT = A[2n–1:n];
DATA_OUT = A[n–1:0];
Señales de control
Cin = 0
Sumador de n bits
n
1
FIN
log2n
CONT
Figura 3. Estructura yalgoritmo del multiplicador de números binarios sin signo del problema 3.
a) Asigne en la Figura 3 un nombre a cada señal de control (líneas discontinuas), teniendo en cuenta que
una misma señal (un mismo nombre) puede actuar sobre varios elementos.
b) Diseñe una unidad de control microprogramada que efectúe la multiplicación de números binarios sin
signo en ese circuito.
c) Escriba elmicroprograma en binario en una tabla donde se indique para cada dirección de la memoria de
control, los distintos campos de la microinstrucción. Debe procurarse que la multiplicación consuma el
menor número de ciclos de reloj posible.
d) Rediseñe el circuito para realizar el algoritmo de multiplicación en complemento a dos que se da en la
Figura 4, enumerando las señales de control nuevas que senecesitan y sus funciones, y modificando
convenientemente la unidad de control microprogramada. Escribir el microprograma necesario.
2/16
Figura 4. Algoritmo del multiplicador en complemento a dos del problema 3.
4. En la Figura 5 se proporciona una parte de la
secuencia de microinstrucciones correspondientes a
una de las instrucciones máquina de una
computadora microprogramada. La...
Regístrate para leer el documento completo.