La Unidad de Control
Arquitectura de
Computadores
I. T. Informtica de Sistemas
Curso 2009-2010
Tema 4: Transparencia: 2 / 73
La Unidad de Control
ndice
Operaciones elementales
Computador elemental
Memoria principal
Banco de registros
Unidad aritmtico-lgica
Unidad de direccionamiento
Unidad de control
Temporizacin de las seales de control
Ejecucin de instrucciones
Diseo de la Unidad de Control: cableado vs. Microprogramado
Microprogramacin y nanoprogramacin: Motorola 68000
Excepciones en el computador
Arranque del computador
Bibliografa
1
Tema 4: Transparencia: 3 / 73
La Unidad de Control
Tema 4: Transparencia: 4 / 73
La Unidad de Control
2
Tema 4: Transparencia: 5 / 73
La Unidad de Control
LA LB LC
Registro A Registro B Registro C
TA TB TC
Bus de Datos
Tema 4: Transparencia: 6 / 73
La Unidad de Control
LA LB
Registro A Registro B
ALU SelOp
Llevar el Registro A a la ALU
Llevar el Registro B a la ALU
Escoger la operacin XOR LC
Registro C
Cargar el resultado en el Registro C
TC
Bus de Datos
3
Tema 4: Transparencia: 7 / 73
La Unidad de Control
REGISTROS
CPU
PERIFRICO
MEMORIA
PRINCIPAL PERIFRICO
UNIDAD UNIDAD PERIFRICO
ARITMTICA DE E/S
PERIFRICO
CP PERIFRICO
UNIDAD DE CONTROL
Tema 4: Transparencia: 8 / 73
La Unidad de Control
Bus de datos
Bus de direcciones
4
Tema 4: Transparencia: 9 / 73
La Unidad de Control
MEM
MEM
LDIR
LDIR
RD
RD
WR
WR
vuelca
TMEM contenido lee el
al bus TMEM contenido
del bus
Ciclo de lectura tiempo
Ciclo de escritura tiempo
Cronograma del ciclo de lectura Cronograma del ciclo de escritura
Departamento de Automtica Arquitectura de Computadores
rea de Arquitectura y Tecnologa de Computadores I. T. Informtica de Sistemas
Tema 4: Transparencia: 10 / 73
La Unidad de Control
5
Tema 4: Transparencia: 11 / 73
La Unidad de Control
Tema 4: Transparencia: 12 / 73
La Unidad de Control
de CP
Las seales de control son
de salida B del banco de registros
Activa
Seal Nombre Significado
por
de salida A del banco de registros
de salida A del banco de registros Selecciona la
Selop Nivel Selection
operacin a realizar
X0, X1 Y0, Y1
Selecciona uno
Mux X Mux Y X0, X1 Nivel ---
entre 3 operandos
Selop
ALU
coma fija Selecciona uno
Y0, Y1 Nivel ---
entre 4 operandos
Carga el
Acum
Lac LAC Flanco Load acumulator acumulador con la
Tac Talu
salida del operador
Bus de datos
Transfiere el
Bus de direcciones TAC Nivel Data transfer acumulador al bus
de datos
Transfiere el
TALU contenido del
Nivel Address transfer
acumulador al bus
de direcciones
6
Tema 4: Transparencia: 13 / 73
La Unidad de Control
Tema 4: Transparencia: 14 / 73
La Unidad de Control
7
Tema 4: Transparencia: 15 / 73
La Unidad de Control
Reloj
DIT Oscilador
Li
R.Ins Desp./ DI. C.Fases
Reset
Unidad de Control
al banco de registros
LFlags
Registro Estado
seales de control
Activa
Seal Nombre Significado
por
LI Flanco Load instruction Carga una instruccin desde el bus de datos
DIT Nivel Data inst. transfer Transfiere un dato inmediato o un desplazamiento al bus de datos
LFlags Flanco Load flags Carga los flags despus de una instruccin aritmtica o lgica
RESET Flanco Reset Pone a 0 el contador de fases
Tema 4: Transparencia: 16 / 73
La Unidad de Control
Tcp
Dir A Dir B
Sal A S al B X 0, X 1 Y0, Y1 Me m
Mux X Mux Y
Banc o de Memo ri a Rd
Regis tros Selop Prin cipa l
ALU Wr
coma fija
E ntrada
Lr Tme m
Acu m
L ac
Tac T alu
Bus de da to s
T bd ad
Reloj
Bus de dir ec cion es
DI T Os ci lador
Li
R.I ns Desp. / DI. C. Fas es
Reset
Unidad de Cont rol
al banc o de regis t ros
LFla gs
Regis t ro E s tado
8
Tema 4: Transparencia: 17 / 73
La Unidad de Control
Temporalizacin
Tema 4: Transparencia: 18 / 73
La Unidad de Control
9
Tema 4: Transparencia: 19 / 73
La Unidad de Control
Tema 4: Transparencia: 20 / 73
La Unidad de Control
10
Tema 4: Transparencia: 21 / 73
La Unidad de Control
DIR B registro A
TAC
TALU
LPC
LR
LFlags
RESET
periodo 1periodo 2periodo 3periodo 4.periodo 5periodo 6periodo 7periodo 8
Tema 4: Transparencia: 22 / 73
La Unidad de Control
Comentarios y mejoras:
La fase de fetch solamente trae 1 byte si el tamao del bus de
datos es de 1 byte; en ese caso tendramos que realizar dos
accesos a memoria para traer la instruccin entera
El periodo 4 se "pierde" en decodificar la instruccin; es parte del
tiempo de ejecucin de la instruccin
Los periodos 5 y 6 de actualizacin del CP se podran ahorrar con
un sumador aparte para la Unidad de direccionamiento
Igualmente, la actualizacin de CP llevara un periodo menos si
los resultados de la ALU se volcaran directamente al bus de datos
o direcciones sin pasar por el acumulador
Se puede optimizar el funcionamiento si hacemos que antes de
terminar de ejecutar la instruccin se empiece la siguiente fase de
fetch
Hay que tener cuidado con los posibles conflictos en los buses
11
Tema 4: Transparencia: 23 / 73
La Unidad de Control
Tema 4: Transparencia: 24 / 73
La Unidad de Control
SEAL DE
ACCIN OPERACIN ELEMENTAL CONTROL
Traer la instruccin
Direccionar CP bus de direcciones TCP
Cargar registro de direcciones LDIR
Decodificacin 1 periodo de
retardo
12
Tema 4: Transparencia: 25 / 73
La Unidad de Control
SEAL DE
ACCIN OPERACIN ELEMENTAL CONTROL
Incrementar CP
Sumar CP + 4 UC pone en el bus de datos el 4 DIT
Seleccin de operandos y <X0, X1 = B. Dat>
operacin de suma <Y0, Y1 = CP>
<Selop = sumar>
Cargar el acumulador LAC
Tema 4: Transparencia: 26 / 73
La Unidad de Control
SEAL DE
ACCIN OPERACIN ELEMENTAL CONTROL
13
Tema 4: Transparencia: 27 / 73
La Unidad de Control
SEAL DE
ACCIN OPERACIN ELEMENTAL CONTROL
Guardar el resultado
Volcar al b. datos el Transferencia del acumulador al
operando fuente bus de direcciones TALU
Cargar registro direcciones LDIR
Inicio ciclo de memoria MEM
Lectura RD
Buffer de memoria al bus de datos TMEM
UC genera direccin A <DIR A = A>
Cargar banco de registros LR
Tema 4: Transparencia: 28 / 73
La Unidad de Control
reloj
TCP
LDIR
MEM
RD
WR
TMEM
LI
DIT
bus de bus de
X0, X1 datos datos
Y0, Y1 CP puerto A
LAC
DIR A registro B registro A
DIR B
TAC
TALU
LPC
LR
RESET
14
Tema 4: Transparencia: 29 / 73
La Unidad de Control
reloj reloj
TCP TCP
LDIR LDIR
MEM MEM
TMEM TMEM
RD RD
WR WR
LI LI
DIT DIT
bus de bus de bus de
X0, X1 datos X0, X1 datos datos
Y0, Y1 CP Y0, Y1 CP CP
SELOP suma suma suma
SELOP
LAC LAC
DIR A DIR A
DIR B DIR B
TAC TAC
TALU TALU
LPC LPC
LR LR
LFlags LFlags
RESET RESET
periodo 1 periodo 2 periodo 3 periodo 4 periodo 5 periodo 6 periodo 7 periodo 1 periodo 2 periodo 3 periodo 4 periodo 5 periodo 6 periodo 7
Tema 4: Transparencia: 30 / 73
La Unidad de Control
INSTRUCCIN
CONTADOR
DE FASES UNIDAD SEALES DE
DE CONTROL
CONTROL
ESTADO
E/S
15
Tema 4: Transparencia: 31 / 73
La Unidad de Control
Tema 4: Transparencia: 32 / 73
La Unidad de Control
16
Tema 4: Transparencia: 33 / 73
La Unidad de Control
Tema 4: Transparencia: 34 / 73
La Unidad de Control
17
Tema 4: Transparencia: 35 / 73
La Unidad de Control
Tema 4: Transparencia: 36 / 73
La Unidad de Control
18
Tema 4: Transparencia: 37 / 73
La Unidad de Control
Si no Z Si Z
Rega+Reg.
CP Despl.
Dir. CP
Destino
a Reg. Dir. CP +
a Desplaz
Reg. Dir.
0
4 CP
a Acumulador
= CP + 2 0
9 CPa=CP
CP + 2 14
0 CPAcumulador
al = CP + 2
Si Inmediato Si Registro
CP
Reg
a Reg.
OP Inm
Dir. CP
Reg
a OP
Reg.Reg
Dir.
0
5
Acumulador
CP a Reg. Dir.
a 10
0 CPAcumulador
al = CP + 2 12
0 alCPAcumulador
= CP + 2 15
CP
0 CP
a Reg.
Acum a CPDir.
CP = Direcc.
Reg. CP + 2 = CP + 2
Al estado 0
Tema 4: Transparencia: 38 / 73
La Unidad de Control
19
Tema 4: Transparencia: 39 / 73
La Unidad de Control
Tema 4: Transparencia: 40 / 73
La Unidad de Control
Si Inmediato Si Registro
CP
Rega Reg.
OP Inm
Dir. CP
Reg
a OP
Reg.Reg
Dir.
10
0 al Acumulador
CP = CP + 2 12
0 alCPAcumulador
= CP + 2
Al estado 0
20
Tema 4: Transparencia: 41 / 73
La Unidad de Control
Tema 4: Transparencia: 42 / 73
La Unidad de Control
21
Tema 4: Transparencia: 43 / 73
La Unidad de Control
Tema 4: Transparencia: 44 / 73
La Unidad de Control
22
Tema 4: Transparencia: 45 / 73
La Unidad de Control
Tema 4: Transparencia: 46 / 73
La Unidad de Control
23
Tema 4: Transparencia: 47 / 73
La Unidad de Control
L cp
CP
CP a Reg. Dir.
0
2 Memoria
CP = CP +a 2RI
Tcp
CP a Reg. Dir.
Dir A Dir B 0
3 Decodificacin
CP = CP + 2
Sal A S al B X 0, X 1 Y0, Y1 Me m
Mux X Mux Y
Banc o de Memo ri a Rd CO = memoria CO = Salto incondicional CO = proceso CO = Salto condicional
Regis tros ALU
Selop Prin cipa l
coma fija
Wr
E ntrada Si no Z Si Z
Lr Tme m CP +
a Desplaz
Reg. Dir.
Rega+Reg.
CP Despl.
Dir. CP
Destino
a Reg. Dir.
L ac
Acu m
Tac T alu
0
4 CP
a Acumulador
= CP + 2 0
9 CPa=CP
CP + 2 14
0 CPAcumulador
al = CP + 2
Bus de da to s
Si Inmediato Si Registro
T bd ad
CP
Reg
a Reg.
OP Inm
Dir. CP
Reg
a OP
Reg.Reg
Dir.
Reloj
Bus de dir ec cion es
0
5
Acumulador
CP a Reg. Dir.
a 10
0 CPAcumulador
al = CP + 2 12
0 alCPAcumulador
= CP + 2 15
CP
0 CP
a Reg.
Acum a CPDir.
DI T Os ci lador CP = Direcc.
Reg. CP + 2 = CP + 2
Li
R.I ns Desp. / DI. C. Fas es
Reset
CP a Reg. Dir. CP a Reg. Dir.
Unidad de Cont rol
CP
Iniciar
a Reg.
cicloDir. 11
0 Acum
CP a Reg
= CP +2 13
0 Acum a Reg
CP = CP + 2
al banc o de regis t ros
LFla gs
Regis t ro E s tado
0
6 CP
de memoriaI
= CP + 2
Al estado 0
Tema 4: Transparencia: 48 / 73
La Unidad de Control
CP a Reg.
Clula deDir.
0
2 CP
retardo
= CP +22
CP
Clula
a Reg.
deDir.
0
3 retardo
CP = CP 3+2
Si no Z Si Z
CP
Clula
a Reg.
deDir. CPClula
a Reg.deDir. CPClula
a Reg.
deDir.
0
4 CP
retardo
= CP +4 2 0
9 CPretardo
= CP +92 14
0 CPretardo
= CP +14
2
Si Inmediato Si Registro
CPClula
a Reg.deDir. CPClula
a Reg.deDir.
0
5
CP
Clula
a Reg.
deDir. 10
0 CP
retardo
= CP +102 12
0 CPretardo
= CP +122 15
CPClula
a Reg.
0 CPretardo
deDir.
CP
retardo
= CP 5+2 = CP +15
2
CPClula
a Reg.deDir. CP
Clula
a Reg.
deDir.
CP
Clula
a Reg.
deDir.
11
0 CPretardo
= CP +112 13
0 CP
retardo
= CP +132
0
6 CP
retardo
= CP 6+2
24
Tema 4: Transparencia: 49 / 73
La Unidad de Control
Tema 4: Transparencia: 50 / 73
La Unidad de Control
25
Tema 4: Transparencia: 51 / 73
La Unidad de Control
Procesador basado en el
secuenciador AMD 2910
Tiene un formato de instruccin de
32 bits
Cdigo de operacin es de 8 bits
que entra a la ROM de
instrucciones
Tema 4: Transparencia: 52 / 73
La Unidad de Control
26
Tema 4: Transparencia: 53 / 73
La Unidad de Control
Tema 4: Transparencia: 54 / 73
La Unidad de Control
27
Tema 4: Transparencia: 55 / 73
La Unidad de Control
Codificacin de instrucciones
programacin horizontal, si no se usa codificacin
programacin vertical, si las Is. estn altamente codificadas
Tema 4: Transparencia: 56 / 73
La Unidad de Control
Bus Unidad
Bus de Banco de
de ALU Memoria de
direcciones registros
datos direccion.
TMEM TALU SELOP LR MEM LPC
TAC TCP X0, X1 DIR. A RD
DIT TBDAD Y0, Y1 DIR. B WR
LAC LDIR
28
Tema 4: Transparencia: 57 / 73
La Unidad de Control
Microbifurcaciones condicionales
Tema 4: Transparencia: 58 / 73
La Unidad de Control
Bit de Bit de
secuenciamiento condicin
29
Tema 4: Transparencia: 59 / 73
La Unidad de Control
Bit de secuenciamiento
Comparador
DEMU
Estado X
B.Datos B.Dirs. ALU Regs. Mem. U.Dir. Cond. C.F. E/S Dir.ss.I.
Tema 4: Transparencia: 60 / 73
La Unidad de Control
30
Tema 4: Transparencia: 61 / 73
La Unidad de Control
Nanoprogramacin M68000
Emplea un sistema de
nanoprogramacin en dos niveles:
El primer nivel las palabras de
control son punteros al segundo
nivel
El segundo nivel son palabras
de control no duplicadas
En el segundo nivel las palabras
de control se traducen
horizontalmente en la activacin
(desactivacin) de las seales
El tamao de la palabra de control
de segundo nivel es de 70 bits
Tema 4: Transparencia: 62 / 73
La Unidad de Control
31
Tema 4: Transparencia: 63 / 73
La Unidad de Control
Tema 4: Transparencia: 64 / 73
La Unidad de Control
32
Tema 4: Transparencia: 65 / 73
La Unidad de Control
Tema 4: Transparencia: 66 / 73
La Unidad de Control
33
Tema 4: Transparencia: 67 / 73
La Unidad de Control
Tema 4: Transparencia: 68 / 73
La Unidad de Control
34
Tema 4: Transparencia: 69 / 73
La Unidad de Control
Tema 4: Transparencia: 70 / 73
La Unidad de Control
35
Tema 4: Transparencia: 71 / 73
La Unidad de Control
Excepciones
Tema 4: Transparencia: 72 / 73
La Unidad de Control
36
Tema 4: Transparencia: 73 / 73
La Unidad de Control
Bibliografa
Estructura y diseo de computadores
David A. Patterson y John L. Hennessy. Revert, 2000
Captulo 5 y Apndice C
Arquitectura de computadores
Jos A. de Frutos y Rafael Rico. Servicio de Publicaciones de la
Universidad de Alcal, 1995
Captulo 4.
Departamento de Automtica Arquitectura de Computadores
rea de Arquitectura y Tecnologa de Computadores I. T. Informtica de Sistemas
37