Está en la página 1de 33

ISWR163 - Arquitectura de Computadores

Unidad 16
1. Micro-operaciones
2. Control del procesador
3. Implementación en hardware

INGENIERÍA EN SOFTWARE
ESCUELA POLITÉCNICA NACIONAL

ENRIQUE MAFLA 1
Revisión
Participación, Participación, Participación
Paralelismo
SMP
Coherencia de cache
Clusters

ENRIQUE MAFLA 2
Unidad de control
Requerimientos para un procesador (QUE debe hacer un procesador)
1. Operaciones (opcodes)
2. Modos de direccionamiento Definidos por la ISA
3. Registros
4. Interfaz del módulo de E/S
Definidos por el bus
5. Interfaz del módulo de memoria
6. Interrupciones Definido por bus y soporte a SO
Unidad de Control – COMO se implementan estas funciones
ENRIQUE MAFLA 3
Micro operaciones
Ejecución de un programa – secuencia de ciclos de
instrucciones
Pipeline – fases del ciclo de instrucciones
Fetch, indirectos, ejecución, interrupciones
Superpipelining
Fases del pipeline
micro operaciones
operaciones atómicas
Mover datos a/desde registros

ENRIQUE MAFLA 4
t1: MAR  (PC)
t2: MBR  Memory
PC  (PC) + I
Ciclo fetch t3: IR  (MBR)

1
2
+1
2
R

ENRIQUE MAFLA 5
Ejemplo (RISC –
IAS)

ENRIQUE MAFLA 6
Ciclo indirecto
1
2

3
t1: MAR  (IR(Addr))
t2: MBR  Memory
t3: IR(Addr) 
(MBR(Addr))

ENRIQUE MAFLA 7
Ciclo de interrupción

SP
2
2

1 t1: MBR  (PC)


3
t2: MAR  Save_Address
PC  Routine_Address
t3: Memory  (MBR)

ENRIQUE MAFLA 8
Ciclo de ejecución
Opcode ==> secuencia de μ-operaciones ADD R1, X
t1: MAR  (IR(address))
t2: MBR  Memory
t3: R1  (R1) + (MBR)

ISZ X (increment and skip if 0) BSA X (branch and save address)


t1: MAR  (IR(address)) t1: MAR  (IR(address))
t2: MBR  Memory MBR  (PC)
t3: MBR  (MBR) + 1 t2: PC  (IR(address))
t4: Memory  (MBR) Memory  (MBR)
If ((MBR) = 0) then (PC  (PC) + t3: PC  (PC) + I
I)
ENRIQUE MAFLA 9
Ciclo de
instrucción

ICC
Instruction
Cycle Code

00 – fetch
01 – indirect
10 – execute
11 – interrupt

ENRIQUE MAFLA 10
Requerimientos funcionales de U de control
Elementos del procesador
ALU
Registros
Rutas internas de datos (registros  ALU y registros registros)
Rutas externas de datos (registros  memoria y modulos E/S)
Unidad de control
μ-operaciones
Transferir datos: registro  registro
Transferir datos: registro  interfaz externa (bus)
Realizar operaciones aritméticas o lógicas (utilizando registros)
ENRIQUE MAFLA 11
Funciones de unidad de control
1. Secuenciación
Seguir secuencia adecuada de μ-operaciones para cada programa
2. Ejecución
Ejecutar las μ-operaciones
Estas funciones las realiza por medio se señales de control
◦ Señales que activan una función de la ALU
◦ Señales que activa una ruta de datos
◦ Señales en una interfaz externa (ej. bus del sistema)
Entradas binarias a compuertas lógicas individuales
ENRIQUE MAFLA 12
Diagrama de bloques de la UC
Estado del sistema

Unidad ALU Registros


de
Control

Memoria y E/S
Señales de control

ENRIQUE MAFLA 13
Unidad de control en el ciclo fetch
1. MAR  PC
Activa señal que abre las compuertas entre bits de PC y bits de MAR
2. MBR  Memoria y PC  PC + I
Señal que abre compuertas entre MAR y bus de dirección
Señal “leer de memoria” en el bus de control
Señal que abre compuertas entre bus de datos y MBR
Señal a la lógica que suma 1 a PC
3. IR  MBR
Activa señal que abre las compuertas entre bits de MBR e IR
Verifica en IR si dirección es indirecta: ciclo indirecto o ciclo de ejecución
ENRIQUE MAFLA 14
Señales de control y rutas de datos
Switch Señales:
• A rutas de datos
• A la ALU
• Al bus

Activan circuitos
/ gates

ENRIQUE MAFLA 15
Señales de control y μ-operaciones

ENRIQUE MAFLA 16
Organización interna
Un bus interno en lugar de rutas individuales
ALU – circuito combinacional (sin memoria)
Y – registro temporal para un operando
Z – registro temporal para resultado de ALU

ADD AC, X
t1: MAR  (IR(address))
t2: MBR  Memory
t3: Y  (MBR)
t4: Z  (AC) + (Y)
t5: AC  (Z)
ENRIQUE MAFLA 17
Intel 8085
Incrementer/decrementer
address latch
• +/- 1 a PC o SP

Interrupt control
• Varios niveles de int

Instrucción
UNIDAD DE CONTROL
IN: instrucción + señales ext.
OUT: señales internas y bus

ENRIQUE MAFLA 18
Señales externas
Dirección y datos
High Address (A15–A8)
8 bits mas significativos de dirección de 16-bits
Address/Data (AD7–AD0)
Multiplexing: 8 bits dirección 16-bits / 8 bits de datos
Serial Input Data (SID)
Entrada de 1-bit para dispositivos seriales
Serial Output Data (SOD)
Salida de 1-bit para dispositivos seriales

ENRIQUE MAFLA 19
Señales de control y temporización
CLK (OUT) - Sincroniza chips periféricos
X1, X2 - De cristal externo – entrada al generator del reloj interno
Address Latch Enabled (ALE) – en 1er estado del reloj del ciclo de máquina
• Cchips periféricos almacenan dirección
• Módulo de dirección (RAM, E/S) sabe que está siendo direccionado
Status (S0, S1) – indican operación de lectura o escritura
IO/M – habilita módulos de E/S o memoria para operaciones de lectura / escritura
Read Control (RD) – modulo RAM o E/S será leido; bus de datos está disponible
Write Control (WR) – datos en bus de datos deben ser escritos a dir en RAM o E/S
ENRIQUE MAFLA 20
Señales de memoria y E/S
Hold – Solicita a CPU ceder control y uso del bus
• CPU completa ejecución de la instruccion en IR y pasa a estado “hold”
• CPU no puede inserter senales en los buses (control, datos, dirección)
• Bus puede ser usado para DMA
Hold Acknowledge (HOLDA) - El bus está dispoinible
READY – sincroniza CPU con memoria y E/S (mas lentos)
• Dispositivo afirma READY: CPU realiza operación de entrada (DBIN) o salida (WR)
• Caso contrario: CPU entra en estado de espera hasta que el dispositivo esté listo

ENRIQUE MAFLA 21
Otras señales externas
Interrupciones
TRAP – reiniciar Interrupciones (RST 7.5, 6.5, 5.5)
Interrupt Rqst (INTR) – 5 lineas; dispositivo interrumpe la CPU (prioridades)
• INT no es concedido si: CPU en estado “HOLD” o INT están inhabilitadas
Interrupt Acknowledge – acepta la interrupcion
Inicialización de la CPU
RESET IN – Contenido de PC  Cero. Reinicia ejecución en localización cero
RESET OUT – Reconoce reinicio de la CPU
Voltaje
VCC: +5-voltios; VSS: tierra
ENRIQUE MAFLA 22
Control y temporización
Operaciones sincronizadas por el reloj y controladas con las señales
Ciclo de instrucción  1 – 5 ciclos de máquina
Ciclo de máquina  3 – 5 estados
Estado  1 ciclo de reloj
Número de ciclos de máquina ~ accesos al bus
• Número de veces CPU  RAM o E/S
• Ej: instrucción = 2 partes de 8 bits  Fetch: 2 ciclos de máquina

ENRIQUE MAFLA 23
Instrucción
OUT
Fetch primera parte de OUT Fetch 2da parte OUT AC  bus  dev

ALE – inicio de Mi
• Alerta a circuitos externos
T1 de M1:
• IO/M – operación RAM
• PC -> bus de direcciones
• ALE↓: dir  dispositivos
T2: RAM -> bus datos (OUT1)
• RD – lectura de RAM
T3: lee OUT1 del bus
T4: bus iddle; decodificar
ENRIQUE MAFLA 24
Implementación con HW
Máquina de estados finitos – circuito ( IN  FSM  OUT)
Entradas: IR, reloj, flags, señales del bus de control
• IR (opcode)  decodificador
• Reloj: pulsos  contador
• Diferentes señales en cada Ti

ENRIQUE MAFLA 25
Lógica de la unidad de control
Señal de control: función booleana de las entradas
Ej: señal de control C5 – leer datos del bus a MBR
• Definir 2 señales de control P y Q:
PQ = 00 Fetch Cycle
PQ = 01 Indirect Cycle
PQ = 10 Execute Cycle
PQ = 11 Interrupt Cycle
• - afirmar C5 en T2 de ciclos fetch e indirecto
Fin de subciclo: reiniciar contador de tiempo  T1; actualizar P y Q

ENRIQUE MAFLA 26
Control micro-programado
HW – inflexible y complejo
Acc = Acc1 | Acc2 Lenguaje micro-programación
n – localización RAM
C(X) – contenido de X Micro-instrucción
• Conjunto de µ-operaciones
Micro-programa o firmware
µ-operación  señales (1/0)
• Palabra de control
• ROM: palabra | dir | cond
• µ-instrucción horizontal
ENRIQUE MAFLA 27
µ-instrucciones

ENRIQUE MAFLA 28
Memoria de control
Describe la operación completa de la
unidad de control. Es su IMPLEMENTACION

µ-instrucción horizontal
1. Activar líneas de control (1-bit)
• Ejecuta 1+ µ-operaciones
2. Condición?
• Verdadero: saltar a dirección
• Falso: ejecutar siguiente µ-instr.
ENRIQUE MAFLA 29
Unidad de control micro-programada
Leer una instrucción = ejecutarla

Para µ–instr.
verticales

ENRIQUE MAFLA 30
UC
Wilkes

ENRIQUE MAFLA 31
T

ENRIQUE MAFLA 32
Preguntas, inquietudes, sugerencias

ENRIQUE MAFLA 33

También podría gustarte