tema2.ppt [modo de compatibilidad] · fases de ejec. de las instrucciones introducción diseño...
TRANSCRIPT
ARQUITECTURAS DE COMPUTADORES
2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN
Tema 2. La Unidad Central de Proceso 1
EN INFORMÁTICA DE GESTIÓN
TEMA 2 – UNIDAD DE CONTROL
JOSÉ GARCÍA RODRÍGUEZJOSÉ ANTONIO SERRA PÉREZ
La Unidad Central de Proceso
� Introducción� Empleo de buses � Fases de Ejecución de las Instrucciones
� Introducción
� Establecimiento de las fases
� La ruta de datos
Unidad de Control
El procesador
Tema 2. La Unidad Central de Proceso 2
� Unidad de Control� identificación de las señales de control
� Activación de las señales de control
� Diseño de la Unidad de control� Método de la tabla de estados
� Método del Contador de secuencia
� Abstracción de la máquina
� Conclusiones
Introducción
� Mecanismo de ejecución de las instrucciones
� Diseño de la Unidad de ControlEL procesador
Unidad deproceso
Dirección
Datos
Tema 2. La Unidad Central de Proceso 3
proceso
Unidad deControl
Unidad deMemoria
Datos
Lectura
Escritura
Repertorio de instrucciones elegido
Instrucciones
Formato tipo 1
7 0
COP
8 bits
Tema 2. La Unidad Central de Proceso 4
Operación Sintaxis Descripción Cód. Oper.Suma ADD r1 1rAA +← 30h, 31h, 32h, 33h, 45h
Resta SUB r1 1rAA −← 18h, 19h, 1Ah, 1Bh, 46h
And ANA r1 1randAA ← 20h, 21h, 22h, 23h, 48h
Or ORA r1 1rorAA ← 24h, 25h, 26h, 27h, 49h
Repertorio de instrucciones elegido
Instrucciones
Formato tipo 2
15 8 7 0
COP dato
8 bits 8 bits
Tema 2. La Unidad Central de Proceso 5
Operación Sintaxis Descripción Cód. Oper.Suma Inmediata ADI dato datoAA +← 35h
Resta Inmediata SUI dato datoAA −← 36h
And Inmediata ANI dato datoandAA ← 68h
Or Inmediata ORI dato datoorAA ← 69h
Repertorio de instrucciones elegido
Instrucciones
Formato tipo 3
23 16 15 8 7 0
COP DesplazamientoL DesplazamientoH
8 bits 8 bits 8 bits
Tema 2. La Unidad Central de Proceso 6
Operación Sintaxis Descripción Cód. Oper.Cargar LDA dir )(dirMA ← 70h
Almacenar STA dir AdirM ←)( 71h
Salto incondicional JMP dir dirPC ← 74h
Salto si FZ=1 JZ dir dirPC1FZSi ←⇒= 72h
Ruta de datos con bus único
Empleo de
de buses
� Bus único de datos de 8 bits
� Bus único de direcciones de 16 bits
� Necesidad de registros temporales para liberar al bus
Tema 2. La Unidad Central de Proceso 7
A TEMP
B. R.Memoria
HL
ALU
Ruta de datos con dos buses
Empleo de
de buses
� 2 buses de 8 bits
� Comunicación con la memoria a través de HL
� Enlace de bus
Tema 2. La Unidad Central de Proceso 8
A
B. R. MemoriaHL
EnlaceALU
Ruta de datos con tres buses
Empleo de
de buses
� 3 buses de 8 bits
� Comunicación con la memoria a través de HL
� Enlace de bus
Enlace
Tema 2. La Unidad Central de Proceso 9
A
B. R. MemoriaHL
ALU
Fases de ejec. de las instrucciones
Introducción � Diseño disparado por
flanco.
� Cada fase de ejecución
durará un ciclo de reloj.
� La duración del ciclo de
reloj dependerá de la
Búsqueda de la instrucción
Decodificación
Búsqueda del
Ejecución
Tema 2. La Unidad Central de Proceso 10
reloj dependerá de la
duración de la acción más
lenta.
� No se puede realizar una
lectura y una escritura en
el banco de registros en el
mismo ciclo de reloj.
Búsqueda del operando
Ejecución
Almacenamiento del resultado
Preparaciónde la I. siguiente
Consideraciones
� Funciones básicas de la MaNoTas:� Acceso al Banco de Registros
� Acceso a la Memoria
� Operaciones en la ALU
� Suposiciones:El tiempo de estas funciones es igual a un ciclo de reloj.
Fases de
ejecución
Tema 2. La Unidad Central de Proceso 11
� El tiempo de estas funciones es igual a un ciclo de reloj.
� El coste del resto de los elementos es cero.
� Las acciones asociadas a una fase ocurren en paralelo.
� Las acciones asociadas a fases sucesivas ocurren en serie.
Establecimiento de las fases
Fases de
ejecución
RI←M[PC]
PC←PC + 1
Decodificación
TEMP←r1 L←M[PC]
PC ←PC+1(Z)=1
Fase 1
Fase 2
Fase 3ADD,SUB,ANA,ORA
LDA,STA,JMP JZ
TEMP←M[PC]
PC ←PC+1
ADI,SUI,ANI,ORI
PC Pc+1←
PC Pc+1←
Tema 2. La Unidad Central de Proceso 12
PC ←PC+1
A←A op TEMP
A←M(HL) M(HL)←A
Fase 4
Fase 5STA
LDA
H←M[PC]
PC ←PC+1
PC ←PC+1
A←A op TEMP
PC←HL+1
Fase 6
JMP
L←M[PC]
PC ←PC+1
H←M[PC]
PC ←PC+1
PC←HL+1
si
Establecimiento de las fases (1)
� Fase 1: Búsqueda de la instrucción
� RI ← M[PC]
� PC ← PC + 1
Fases de
Ejecución
Tema 2. La Unidad Central de Proceso 13
� Fase 2. Decodificación
� Estas dos fases son comunes a todas las instrucciones
Establecimiento de las fases (2)
� Fase 3: Obtención de operandos y evaluación del código de condición Z.
� Caso I. Instrucciones Aritmético-Lógicas� Modo de direccionamiento directo a registro
� TEMP ← r1
� Modo de direccionamiento inmediato
Fases de
Ejecución
Tema 2. La Unidad Central de Proceso 14
� Modo de direccionamiento inmediato
� TEMP ← M[PC] (TEMP ← dato)
� PC ← PC +1
� Caso II. Instrucciones de referencia a memoria y salto
incondicional
� L ← M[PC] (L ← DirL)
� PC ← PC +1
� Caso III. Instrucción de salto condicional
� Z?
Establecimiento de las fases (3)
� Fase 4: Obtención de operandos, ejecución y conclusión de las instrucciones Aritmético-Lógicas.
� Caso II. Instrucciones Aritmético-Lógicas
� A ← A op TEMP
Fases de
Ejecución
Tema 2. La Unidad Central de Proceso 15
� Caso II. Instrucciones de referencia a memoria y salto
incondicional
� H ← M[PC] (H ← DirH)
� PC ← PC +1
� Caso III. Instrucción de salto condicional
� L ← M[PC] (L ← DirL)
� PC ← PC +1
Establecimiento de las fases (4)
� Fase 5: Conclusión de las instrucciones de acceso a memoria y salto incondicional y obtención de operandos.
� Caso II. Instrucciones de referencia a memoria� Instrucción de carga
� A ← M[HL]
Fases de
Ejecución
Tema 2. La Unidad Central de Proceso 16
� A ← M[HL]
� Instrucción de almacenamiento
� M[HL] ← A
� Caso II. Instrucción salto incondicional
� PC ← HL +1
� Caso III. Instrucción de salto condicional
� H ← M[PC] (H ← DirH)
� PC ← PC +1
Establecimiento de las fases (5)
� Fase 6: Conclusión de la instrucción de salto condicional.
� PC ← HL +1
Fases de
Ejecución
Tema 2. La Unidad Central de Proceso 17
Diagrama de fases final
Fases de
ejecución
RI←M[PC]
PC←PC + 1
DecodificaciónEvalución de Z
TEMP←r1 L←M[PC]
PC←PC+1
Fase 1
Fase 2
Fase 3ADD,SUB,ANA,ORA
LDA,STA,JMP JZ si Z=1
TEMP←M[PC]
PC←PC+1
ADI,SUI,ANI,ORI
L←M[PC]
PC←PC+1
PC Pc+1←
PC Pc+1←
JZ si Z=0
Tema 2. La Unidad Central de Proceso 18
PC←PC+1
A←A op TEMP
A←M(HL) M(HL)←A
Fase 4
Fase 5STA
LDA
H←M[PC]
PC←PC+1
PC←PC+1
A←A op TEMP
PC←HL+1
JMP
H←M[PC]
PC←PC+1
PC←HL+1
La ruta de datos
Fases de
ejecución
PC
SP
HLRI
MX0
1
2MEMORIA
+1
±1
dirección
dato
Tema 2. La Unidad Central de Proceso 19
A TEMP
R. E.
ALU
Banco
de
RegistrosM
X
Modificación
Identificación de las señales de control(1)
Unidad
de Control � Señales de control de salida para el banco de registros
Señal DescripciónCONTROL DE BANCO DE REGISTROS
Tema 2. La Unidad Central de Proceso 20
CONTROL DE BANCO DE REGISTROS
SELreg1
SELreg0
Seleccionan el registro al que se desea acceder del banco de registros: B,C, D o E.
Lreg Si se encuentra activada (valor 1), permite que el dato que se encuentra enel bus se almacene en el registro seleccionado.
Sreg Si se encuentra activada (valor 1) permite que el dato que se encuentra enel registro seleccionado aparezca en el bus. En caso contrario
Identificación de las señales de control(2)
Unidad
de Control
� Señales de control de salida para la memoria y la ALUSeñal Descripción
CONTROL DE LA MEMORIA
Lmem Señal de lectura de la memoria. Si su valor es 1, el dato almacenado en laposición de memoria que hay en el bus de direciones se coloca en el bus dedatos.
Emem Señal de escritura de la memoria. Si su valor es 1, el dato que se encentraen el bus de datos se almacena en la posición de memoria que hay en el
Tema 2. La Unidad Central de Proceso 21
en el bus de datos se almacena en la posición de memoria que hay en elbus de direcciones.
SDir2
SDir1
Señales de control al multiplexor que selecciona el dato a escribir en el busde direcciones para acceder a una posición de memoria. Dependiendo desu valor se accederá a la posición de memoria especificada por el registroPC, SP o HL..
CONTROL DE LA UNIDAD ARITMÉTICA Y LÓGICA
ALU2
ALU1
ALU0
Estas tres señales de control determinan la operación a realizar por la ALU:suma, resta, and, or , or exclusiva, incremento y decremento.
Salu Si se encuentra activada permite que el resultado de la ALU aparezca en elbus de datos.
Identificación de las señales de control(3)
Unidad
de Control
� Señales de control de salida para el registro de estado
Señal DescripciónCONTROL DEL REGISTRO DE ESTADO
LF Si se encuentra activa, carga los datos de la entrada en el registro deestado. El dato puede provenir de la ALU o del registro acumulador.
SF Si se encuentra activa, escribe en el bus de datos el contenido del registro
Tema 2. La Unidad Central de Proceso 22
SF Si se encuentra activa, escribe en el bus de datos el contenido del registrode estado.
SelO Señal de control a un multiplexor que selecciona como dato a escribir en elregistro de estado como flag de Overflow, el bit 2 del registro acumulador oel indicador de overflow procedente de la ALU.
SelC Señal de control a un multiplexor que selecciona como dato a escribir en elregistro de estado como flag de Carry, el bit 1 del registro acumulador o elindicador de Carry procedente de la ALU.
SelZ Señal de control a un multiplexor que selecciona como dato a escribir en elregistro de estado como flag de Cero, el bit 0 del registro acumulador o elindicador de Cero procedente de la ALU.
Identificación de las señales de control(4)
Unidad
de Control
� Señales de control de salida para los registros y señales de control de entrada.Señal Descripción
CONTROL DE REGISTROS
Lri Si está activa, el dato que se encuentra en el bus de datos se guardará en el registro de instrucción.
Lpc Si esta activa, ordena la carga del registro Contador de Porgrama con el dato que se encuentra a su entrada.
LspL Si está activa, ordena la carga de la parte baja del registro SP con el dato que se encuentra en el bus de datos.
LspH Si está activa, ordena la carga de la parte alta del registro SP con el dato que se encuentra en el bus de datos.
Tema 2. La Unidad Central de Proceso 23
Isp Si está activa, incrementa el contenido del registro SP en una unidad.
Dsp Si está activa, decrementa el contenido del registro SP en una unidad.
LdirL Si está activa, ordena la carga de la parte baja del registro HL con el dato que se encuentra en el bus de datos.
LdirH Si está activa, ordena la carga de la parte alta del registro HL con el dato que se encuentra en el bus de datos.
Lac Si esta activa, el dato que se encuentra en el bus de datos se guardará en el registro acumulador.
Sac Si está activa, el contenido del registro acumulador aparecerá en el bus de datos.
Ltemp Si está activa, el dato que se encuentra en el bus de datos, se guardará en el registro temporal que se encuentra en lasegunda entrada de la ALU.
ENTRADAS DE CONTROL
Z Representa el indicador Z generado por la ALU.
COP Código de operación, es el contenido del registro de Intrucción (RI).
Identificación de las señales de control(5)
Unidad
de Control
� Señales de control a los multiplexores, Banco de registros y la ALU.
SELreg1 SELreg0 Registro
0 0 B0 1 C1 0 D1 1 E
SDir2 SDir1 Dirección
0 0 PC0 1 SP1 0 HL1 1 No utilizada
Tema 2. La Unidad Central de Proceso 24
ALU2 ALU1 ALU0 Operación0 0 0 Suma0 0 1 Resta0 1 0 And0 1 1 Or1 0 0 Xor1 0 1 Incremento1 1 0 Decremento1 1 1 No utilizado
SelO Acción SelC Acción SelZ Acción0 O←ALUO 0 C←ALUC 0 Z←ALUZ1 O←A2 1 C←A1 1 Z←A0
Ruta de datos y control
Unidad
de Control
PC
SPMX
0
1
+1
±1
LpcIspDspLspL LDirH SDir2,1LspH LDirLLri
Lmem
Emem
ALU2,1,0
LTempLac
Sac
Lreg
SregSELreg1, 0
LFSF
SelZ SaluUNIDAD
DECONTROL
dirección
Tema 2. La Unidad Central de Proceso 25
A TEMP
SP
HLRI
R. E.
MX12 MEMORIA
ALU
Bancode
RegistrosMX
dirección
dato
Activación de las señales de control
Unidad
de Control
No se considerarán las instrucciones: ADD A, SUB A, ANA A y ORA A
Fases Operación Activación de señales
FASE1
RI ← M[PC]
PC ← PC + 1
SDir2, SDir1(=00), Lmem, Lri,
Lpc
FASE 2
Decodificación yevaluación de Z
FASE3
ADD, SUB, ANA, ORA TEMP ← r1 SELreg1,SELreg0 (=r1), Sreg, Ltemp
Tema 2. La Unidad Central de Proceso 26
ADD, SUB, ANA, ORA TEMP ← r1 SELreg1,SELreg0 (=r1), Sreg, Ltemp
ADI, SUI, ANI, ORI TEMP ← M[PC]
PC ← PC + 1
Ltemp, Lmem, SDir2, Sdir1(=00)
Lpc
LDA, STA, JMP, JZ L ← M[PC]
PC ← PC + 1
LdirL, Lmem, SDir2, Sdir1(=00)
Lpc
FASE 4
Aritmético-Lógicas A ← A op TEMP ALU2, ALU1, ALU0 (=operación), Salu, Lac
Transferencia y salto H ← M[PC]
PC ← PC + 1
LdirH, Lmem, SDir2, Sdir1(=00)
Lpc
FASE 5
LDA A ← M(HL) SDir2,SDir1 (=10), Lmem,Lac
STA M(HL) ← A SDir2,Sdir1 (=10), Emem, Sac
JMP, JZ PC ← HL + 1 Sdir2,Sdir1 (=10), Lpc
Fase 1 en la ejecución de LDA
Unidad
de Control
PC
SPMX
01
+1
±1
LpcIspDspLspL LDirH SDir2,1LspH LDirLLri
LmemEmem
ALU2,1,0
LTempLac
Sac
Lreg
SregSELreg1, 0
LFSF
SelZ SaluUNIDAD
DECONTROL
dirección
Tema 2. La Unidad Central de Proceso 27
A TEMP
HLRI
R. E.
2 MEMORIA
ALU
Banco
deRegistros
M
X
dato
Fase 2 en la ejecución de LDA
Unidad
de Control
PC
SPMX
0
1
+1
±1
LpcIspDspLspL LDirH SDir2,1LspH LDirLLri
Lmem
Emem
ALU2,1,0
LTempLac
Sac
Lreg
SregSELreg1, 0
LFSF
SelZ SaluUNIDAD
DECONTROL
dirección
Tema 2. La Unidad Central de Proceso 28
A TEMP
SP
HLRI
R. E.
1
2 MEMORIA
ALU
Banco
de
RegistrosM
X
dato
Fase 3 en la ejecución de LDA
Unidad
de Control
PC
MX0
+1
±1
LpcIspDspLspL LDirH SDir2,1LspH LDirLLri
LmemEmem
ALU2,1,0
LTempLac
Sac
Lreg
SregSELreg1, 0
LFSF
SelZ SaluUNIDAD
DECONTROL
dirección
Tema 2. La Unidad Central de Proceso 29
A TEMP
SP
HLRI
R. E.
MX1
2 MEMORIA
ALU
Banco
de
RegistrosM
X
dirección
dato
Fase 4 en la ejecución de LDA
Unidad
de Control
PC
SPMX
01
+1
±1
LpcIspDspLspL LDirH SDir2,1LspH LDirLLri
LmemEmem
ALU2,1,0
LTempLac
Sac
Lreg
SregSELreg1, 0
LFSF
SelZ SaluUNIDAD
DECONTROL
dirección
Tema 2. La Unidad Central de Proceso 30
A TEMP
HLRI
R. E.
2 MEMORIA
ALU
Banco
deRegistros
M
X
dato
Fase 5 en la ejecución de LDA
Unidad
de Control
PC
SPMX
01
+1
±1
LpcIspDspLspL LDirH SDir2,1LspH LDirLLri
LmemEmem
ALU2,1,0
LTempLac
Sac
Lreg
SregSELreg1, 0
LFSF
SelZ SaluUNIDAD
DECONTROL
dirección
Tema 2. La Unidad Central de Proceso 31
A TEMP
SP
HLRI
R. E.
MX1
2 MEMORIA
ALU
Banco
deRegistros
M
X
dirección
dato
LDA dir
Unidad
de Control
00Sdir2-1
L
Lri
LPc
00 00 02ZZ
Tema 2. La Unidad Central de Proceso 32
LPc
LDirL
LDirH
LAc
Fase
B y P I. S.
Deco Fase
Ejecución
Diseño de la Unidad de Control
� Control Cableado.� Implementación en Hardware, por lo tanto muy rápido.
� No es flexible: una modificación posterior implica cambiar el
circuito entero.
� Control Microprogramado.� Representación programada para el control.
Diseño de
la Unidad
de Control
Tema 2. La Unidad Central de Proceso 33
� Representación programada para el control.
� Más lento, al tener que acceder a la memoria de control.
� Flexible, permite cambios posterior sin tener que modificar el
circuito entero.
� Dos métodos para el diseño de la Unidad de Control Cableada
� Método de la tabla de estados
� Método del contador de secuencia
Método de la tabla de estados
� Basada en una máquina de estados finitos.
� Una máquina de estados finitos consta:� Memoria Interna que contiene el estado y
� Dos funciones combinacionales:
� La función de estado siguiente
� La función de salida
Unidad
de Control
Cableada
Tema 2. La Unidad Central de Proceso 34
� La función de salida
� Cada estado corresponde a un ciclo de reloj y contiene las
operaciones a realizar en ese ciclo.
� La función de estado siguiente es una función combinacional que
a partir de las entradas y el estado actual determina el estado
siguiente.
� La función de salida produce el conjunto de señales de control a
partir de sus entradas y el estado actual.
Grafo de estados
Método
de la tabla
de estados
0/S0
1/S1
C.Op.=XXXXZ=X
35h, 36h, 68h, 69h,X70h, 71h, 74h ,X
72h, 1
30h,18h, 20h, 24, X
C.Op.=72hZ=0
Tema 2. La Unidad Central de Proceso 35
8/S83/S3
24h,X
XX,X
9/S9
XX,X
10/S10 12/S1211/S11
XX,X XX,X
70h,X
6/S6 7/S75/S54/S4
30h,X
18h,X 20h,X
69h,X
XX,XXX,X
XX,X
XX,X
2/S2
35h,X 36h,X68h,X
71h,X
72h,74h,X
Función de salida
Método
de la tabla
de estadosFunción salida Estados
Señales control 0 1 2 3 4 5 6 7 8 9 10 11 12
Lri 1 0 0 0 0 0 0 0 0 0 0 0 0
SDir2,1 00 XX XX 00 XX XX XX XX 00 00 10 10 10
Lmem 1 0 0 1 0 0 0 0 1 1 1 0 0
Emem 0 0 0 0 0 0 0 0 0 0 0 1 0
Lpc 1 0 0 1 0 0 0 0 1 1 0 0 1
LspL 0 0 0 0 0 0 0 0 0 0 0 0 0
LspH 0 0 0 0 0 0 0 0 0 0 0 0 0
Como instrucciones Aritmético-Lógicas se consideran únicamente: Add B, SUB B, ANA B y ORA B
Tema 2. La Unidad Central de Proceso 36
LspH 0 0 0 0 0 0 0 0 0 0 0 0 0Isp 0 0 0 0 0 0 0 0 0 0 0 0 0
Dsp 0 0 0 0 0 0 0 0 0 0 0 0 0
LdiirL 0 0 0 0 0 0 0 0 1 0 0 0 0
LdirH 0 0 0 0 0 0 0 0 0 1 0 0 0SELreg1,0 XX XX 00 XX XX XX XX XX XX XX XX XX XX
Lreg 0 0 0 0 0 0 0 0 0 0 0 0 0
Sreg 0 0 1 0 0 0 0 0 0 0 0 0 0
Lac 0 0 0 0 1 1 1 1 0 0 1 0 0
Sac 0 0 0 0 0 0 0 0 0 0 0 1 0
Ltemp 0 0 1 1 0 0 0 0 0 0 0 0 0
ALU2,1,0 XXX XXX XXX XXX 000 001 010 011 XXX XXX XXX XXX XXX
Salu 0 0 0 0 1 1 1 1 0 0 0 0 0Sel0 X X X X 0 0 0 0 X X X X X
SelC X X X X 0 0 0 0 X X X X X
SelZ X X X X 0 0 0 0 X X X X X
LF 0 0 0 0 1 1 1 1 0 0 0 0 0
SF 0 0 0 0 0 0 0 0 0 0 0 0 0
Función de estado siguiente
Método
de la tabla
de estados
INSTRUCCIÓN E3 E2 E1 E0 PE3 PE2 PE1 PE00 0 0 0 0 0 0 1
72h,0 (JZ) 0 0 0 1 0 0 0 0
30h,18h,20h,24h,X (ADD,SUB,ANA,ORA) 0 0 0 1 0 0 1 0
35h,36h,68h,69h,X (ADI,SUI,ANI,ORI) 0 0 0 1 0 0 1 170h,71h,74h,X (LDA,STA,JMP);72h,1 (JZ) 0 0 0 1 1 0 0 0
30h,X ( ADD) 0 0 1 0 0 1 0 0
18h,X (SUB) 0 0 1 0 0 1 0 1
20h,X (ANA) 0 0 1 0 0 1 1 0
24h,X (ORA) 0 0 1 0 0 1 1 1
35h,X (ADI) 0 0 1 1 0 1 0 0
Tema 2. La Unidad Central de Proceso 37
35h,X (ADI) 0 0 1 1 0 1 0 036h,X (SUI) 0 0 1 1 0 1 0 1
68h,X (ANI) 0 0 1 1 0 1 1 0
69h,X (ORI) 0 0 1 1 0 1 1 1
0 1 0 0 0 0 0 0
0 1 0 1 0 0 0 0
0 1 1 0 0 0 0 00 1 1 1 0 0 0 0
1 0 0 0 1 0 0 1
70h,X (LDA) 1 0 0 1 1 0 1 0
71h,X (STA) 1 0 0 1 1 0 1 1
72h,74h , X (JMP, JZ) 1 0 0 1 1 1 0 0
1 0 1 0 0 0 0 01 0 1 1 0 0 0 0
1 1 0 0 0 0 0 0
Implementación de la Unidad de Control
� Unida de control construida como una máquina de estados finitos.
Método
de la tabla
de estados
Lógica deControl Salidas
Isp, Dsp
LdirH, LdirL
SELreg1,SELreg0
Lreg,Sreg
Lac, Sac
Ltemp
ALU1,Alu1,ALu0
Salu
LspH, LspL
Lri
SDir2, SDir1
Lmem
Emem
Lpc
Tema 2. La Unidad Central de Proceso 38
� El circuito combinacional podría implementarse mediante una ROM o una PLA.
Entradas
Registrode estado
Código de Operacióny Flag Z
Salu
SelO,SelC,SelZ
LF,SF
PE3
PE2
PE1
PE0
E0E1E2E3ZC3 C2 C1 C0C7 C6 C5C4
Implementación de la Unidad de Control
� Un PLA (array lógico programable) es un elemento lógico programable de propósito general para implementar cualquier función combinacional.
� Un PLA está formado por:• Un conjunto de entradas y salidas
Método
de la tabla
de estados
Tema 2. La Unidad Central de Proceso 39
Un conjunto de entradas y salidas• Un conjunto de puertas AND que forma un conjunto detérminos productos.
• Un conjunto de puertas OR cada uno de los cuales formauna suma lógica de cualquiera de los términos producto.
• Un conjunto de inversores para las entradas• Dos matrices de conexión modificables (AND y OR)
Implementación de la Unidad de Control
Método
de la tabla
de estados
En0
Ea0
En8
...
Ea3
Ea1
Ea2
S0 S1 S1 S1 S1 S12S1
30h 18h 20h 24h 72h,1
......
......
......
......
......
......
Tema 2. La Unidad Central de Proceso 40
Lri, Lmem,Lpc Sdir2,1=00
1 2 32
.......
.
.......
.
1
Salida
...
...Array OR
3 4 5 ..................
13 ......
......
......
1 Ef0
1 Ef11 Ef2
1 Ef3
2SELreg1,0=00Sreg,Ltemp
Implementación de la Unidad de Control
� El tamaño de un PLA es igual a la suma del tamaño del array de puertas AND y el tamaño del array de puertas OR.
� Para MaNoTaS = (13xnúmero diferentes términos producto) + (32xnúmero términos suma).
� Un PLA es más eficiente que una ROM ya que en lugar de
Método
de la tabla
de estados
Tema 2. La Unidad Central de Proceso 41
Un PLA es más eficiente que una ROM ya que en lugar dealmacenar la tabla de verdad completa, realiza una sumade productos mínima.
� La programación de un PLA es más difícil que una ROM.
Método del contador de secuencia
� Basado en un contador módulo K cuyas salidas se conectan a un decodificador generándose una señal individual por cada fase.� El contador atraviesa
Unidad
de Control
Cableada
reloj Puesta a ceroContadorMódulo K
DECODIFICADOR
Φ1 Φ2 Φk
Tema 2. La Unidad Central de Proceso 42
� El contador atraviesa
cíclicamente sus K estados.
� El decodificador genera K
señales pulsadas {Φj} que
son las señales de fase.
� Todas las fases tienen la
misma duración igual a un
ciclo de reloj.
Φ1
Φ2
ΦK
Φ3
fases
Implementación de la Unidad de Control
� Cada señal de control se obtiene de:Método del
Contador
de Fases
ADD
SUB
Contador de fases
Puesta a cero
Φ0 Φ1 Φ2 Φ3
Lri
Φ4
∑ ∑Φ=j m
lji Sc mI
Tema 2. La Unidad Central de Proceso 43
Z
STA
JMP
JZ
ANA
ORA
ADI
SUI
ANI
Lógica de controlcombinacional
Salidas
Decodificador de
instrucciones
IR[8-0]
Isp, Dsp
LdirH, LdirL
SELreg1,SELreg0
Lreg,Sreg
Lac, Sac
Ltemp
ALU1,Alu1,ALu0
Salu
SelO,SelC,SelZ
LF,SF
LspH, LspL
Lri
SDir2, SDir1
Lmem
Emem
Lpc
ORI
LDA
Ejemplos de funciones lógicas
� Funciones lógicas de salida para algunas señales de control.
Método
del Contador
de Fases
Señal Función lógica de salida
( )
Tema 2. La Unidad Central de Proceso 44
Puesta a cero ( ))Z·JZjmp(12sta11lda10
)aniana(6)suisub(5)adiadd(4ZJZ14
+⋅Φ+⋅Φ+⋅Φ+
++⋅Φ++⋅Φ++⋅Φ+⋅⋅Φ
Lpc ( )Zjzjmpstaldaorianisuiadi20 ⋅+++++++⋅Φ+Φ
ALU1
+++⋅Φ orioraaniana3
ALU0 ( )oriorasuisub3 +++⋅Φ
Emem sta4 ⋅Φ
Abstracción de la máquina
CONTROL
BUS de control
MaNoTas
Tema 2. La Unidad Central de Proceso 45
MEMORIA
RUTA DEDATOS
BUS dedirecciones
BUS de datos
ROCESADOR
Conclusiones
� La estructura de la ruta de datos influye sobre el
establecimiento de las fases.
� La estructura del repertorio de instrucciones influye sobre la
ruta de datos.
� La Unidad de Control cableada es muy eficiente puesto que las
Conclusiones
Tema 2. La Unidad Central de Proceso 46
señales de control se activan directamente por Hardware.
� Es adecuada cuando el conjunto de instrucciones no es demasiado
complejo.
� Tiene la desventaja de ser poco flexible ante modificaciones
posteriores.
� Los métodos de diseño de la UC estudiados son equivalentes,
diferenciándose en la mayor o menor facilidad de obtener las
funciones lógicas de las señales de control.