Вы находитесь на странице: 1из 7

Universidad de Antioquia

Ingenierı́a Electrónica
Profesor: Felipe Cabarcas

Electrónica Digital II y Circuitos Digitales II, 2016-2

Taller LC3

Taller que se recomienda hacer de manera individual, no utilizar calculadora. El profesor está para responder
preguntas. Es importante preguntar, para que el profesor pueda aclarar a todo el grupo, cuando sea pertinente,
algunos temas.

1. En los Cuadros 1 y 2 se muestra el estado de la máquina de estados del final del taller, justo antes de comenzar el
estado 18, i.e. se muestran los registros y algunas posiciones de memoria justo al terminar el ciclo 0.
Notas:

El mecanismos que hace cambiar de un estado al otro es el reloj.


En algunos estados hay varios posibles estados; en estos casos, la señal que determina el siguiente estado se
muestra entre corchetes ”[]”. Excepto en los que se lee o escribe en memoris, en los cuales aparece la señal R,
que indica si la memoria está lista.
Asumamos que la memoria, una vez se le activa la señal MIO.EN (es decir cuando se empieza a leer o escribir),
se demora hasta el siguiente ciclo para ponerse en R.
M en el estado 33 indica que se lee la memoria. En los demás sitios donde se lee la memoria, aparece M[MAR].
En todos los casos MAR es la dirección de memoria.
Tenga en cuenta que los registros, como en la mayorı́a de las máquinas de estado, mantienen el estado durante
la primera mitad del ciclo, es decir el nuevo valor se propaga solo después de la mitad de ciclo.
set CC es equivalente a poner 1 o verdadero, LD.CC o escribir en estos registros.
El bloque de lógica combinacional LOGIC, tiene 3 salidas: nzp. Estas, dependiendo del valor que leen del BUS,
serán: n=1, si el valor es negativo, las otra 0. z=1, cuando el valor es 0, las otras 0. Finalmente, p=1, si el
valor es positivo, las otras 0. El valor del BUS se considera un número de 16 bit en complemento a 2.
Asuma que INT es 0 siempre.
La selección entre SR2 o SEXT[imm5] del OP2 (ver NOTES en el diagrama de estado), depende del bit 5
(IR[5]) del valor que contiene IR. Si este bit es 1, se usa SEXT[IR[4:0]].
SEXT es extender el signo del número de complemento a 2 de 5, 9 o 11 bits a 16 bits. Extender el signo
es completar los bits que le faltan a el número de complemento a 2 hasta los 16 bits con 1s si el número es
negativo y con 0s si el número es positivo.
ZEXT es extender el número con ceros hasta 16 bits.
Asuma que en estos ejercicios, INMUX siempre deja pasar el valor que sale directamente de la memoria.
El número del estado aparece en la parte superior derecha de cada estado.
Llene las siguientes tablas

a) Tabla del Cuadro 1


(1) Para los ciclos (de reloj) 1, a 7, escriba los valores de los registros (y memoria) que son escritos durante
cada ciclo, con el valor que se le escribe.
(2) Indique el estado de la máquina en cada ciclo.
(3) Llene además los valores de salida del bloque de control de las señales indicadas. En los multiplexores
indique de manera clara el valor, no lo indique con 1s y 0s. Si el valor no importan escriba X.
(4) Asumiendo como referencia el registro modificado, expresen en palabras que operación se realizó.
b) Tabla del Cuadro 2
(1) Para los ciclos (de reloj) 1, a 10, escriba los valores de los registros (y memoria) que son escritos durante
cada ciclo, con el valor que se le escribe.
(2) Indique el estado de la máquina en cada ciclo.
(3) Llene además los valores de salida del bloque de control de las señales indicadas. En los multiplexores
indique de manera clara el valor, no lo indique con 1s y 0s. Si el valor no importan escriba X.
(4) Asumiendo como referencia el registro modificado, expresen en palabras que operación se realizó.

2. En las tablas se muestran 8 registros de propósito general, realmente ¿cuantos hay?. ¿Cómo se puede llegar a esta
conclusión?

3. Para cada uno de los estados del Cuadro 3, mostrar que señales de control se tienen que activar y con que valor.
Indique solo los valores que se requieren para que se haga la acción de cada estado, asumiendo que todas las señales
de escritura de los registros y de escritura en el BUS, están por defecto en 0.

4. Asumiendo el procesador como un sistema cerrado (sin influencias externas), el estado de un procesador, lo determi-
na el contenido de un número de elementos de almacenamiento esenciales, que son los que determinan, básicamente
la labor que realiza el procesador: la secuencia de instrucciones (en este caso la secuencia del estado que sigue al
estado 32). No confundir el estado del control con el del procesador.Sin embargo, en el ”data path”(circuito) se
usan algunos registros no esenciales, que son importantes para el funcionamiento del control. Señale los elementos
de almacenamiento que usted considera esenciales (no tenga en cuenta los registros marcados como OUTPUT o
INPUT).
Otra forma de entender el estado del procesador. Son aquellos elementos de almacenamiento que si se borran, justo
antes de comenzar el estado 18 del control, se cambia el comportamiento de la secuencia de instrucciones. Ejemplo:
si el valor del MAR se borra justo antes de llegar al estado 18, el comportamiento del procesador no se altera, ya
que lo primero que se hace en el estado 18 es mover el contenido de PC a MAR.

5. Indique un registro que usa el control que no está especificado en el circuito o ”data path”. ¿Cuál es su función?
¿Se podrı́a eliminar este registro? Si se puede, entonces ¿Qué cambios abrı́a que hacer? y ¿cómo afectarı́a el número
de estados?
Ciclo 0 1 2 3 4 5 6 7
Estado 1
Registros Propósito General (REG FILE)
R0 x8ACE
R1 xB342
R2 x687D
R3 x0cb4
R4 x7666
R5 x36F1
R6 x9582
R7 x159F
Registros Especiales
IR x159F
PC x3700
MAR x159F
MDR x3000
N 0
Z 0
P 1
BEN 0
Memoria
...
x3700 x52E0
x3701 x7531
...
Señales
LD.IR 0
ALUK 0
LD.REG 1
DR 111
ADDR2MUX X
GatePC 0
GateALU 1
BUS 0

Cuadro 1: Secuencia 1 del Control.


Ciclo 0 1 2 3 4 5 6 7 8 9 10
Estado 1
Registros Propósito General (REG FILE)
R0 x8ACE
R1 xB342
R2 x687D
R3 x0cb4
R4 x7666
R5 x36F1
R6 x9582
R7 x159F
Registros Especiales
IR x159F
PC x3701
MAR x159F
MDR x3000
N 0
Z 0
P 1
BEN 0
Memoria
...
x3701 x23FF
x3702 x7531
...
Señales
LD.IR 0
ALUK 0
LD.REG 1
DR 111
ADDR2MUX X
LD.MAR 0
GateALU 1
BUS 0

Cuadro 2: Secuencia 2 del control.


Estado Señales
0
1
2
3
4
5
6
7
9
10
11
12
14
15
16
18
20
21
22
23
24
25
26
27
28
29
30
31
32
33
35

Cuadro 3: Señales requeridas en cada estado.


IR[11:9] IR[11:9]
110 DR IR[8:6] SR1
111 110

DRMUX SR1MUX

(a) (b)

IR[11:9]

N Logic BEN
Z
P
18
MAR <–PC
PC<–PC+1
[INT] 1
0
33 To 49
(See Figure C.7)
MDR<–M

R R
35
IR<–MDR

32
RTI 1101
To 8 BEN<–IR[11] & N + IR[10] & Z + IR[9] & P
To 13
(See Figure C.7) ADD [IR[15:12]] BR

AND
0
JMP
1 NOT
DR<–SR1+OP2* TRAP JSR [BEN] 0
set CC LEA LD LDR LDI STI STR ST
1
22
To 18 5
DR<–SR1&OP2* PC<–PC+off9
set CC
12
To 18 9
DR<–NOT(SR) To 18
PC<–BaseR
set CC
4
To 18 15
R7<–PC To 18
MAR<–ZEXT[IR[7:0]]
10 11
[IR[11]]
1 0
28 MAR<–PC+off9 MAR<–PC+off9
MDR<–M[MAR] 21
R7<–PC PC<–PC+off11
24 29
R R
30 MDR<–M[MAR ] MDR<–M[MAR]
PC<–MDR 20
R R R R To 18
PC<–BaseR
6 7
To 18 14
DR<–PC+off9
MAR<–B+off6 MAR<–B+off6
set CC

2 26 31 3 To 18
To 18
MAR<–PC+off9 MAR<–MDR MAR<–MDR MAR<–PC+off9

25 23 NOTES
MDR<–M[MAR] MDR<–SR B+off6 : Base + SEXT[offset6]
PC+off9 : PC + SEXT{offset9]
R R
16 PC+off11 : PC + SEXT[offset11]
27
DR<–MDR
M[MAR]<–MDR
set CC *OP2 may be SR2 or SEXT[imm5]
R R
To 18 To 18

Вам также может понравиться