Академический Документы
Профессиональный Документы
Культура Документы
Ingenierı́a Electrónica
Profesor: Felipe Cabarcas
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:
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
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