Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Captulo 3
El procesador: la ruta de datos y el control (II Parte)
Ruta de datos
El Procesador: datos y control (II Parte)
Manejo del PC
El Procesador: datos y control (II Parte)
Escritura del PC
Incondicional despus de una instruccin normal y salto. Sobre escritura condicional si se realiza un salto
PCWriteCond permite cargas condicionales El bit de Zero de ALU decide si el PC se cargar con la nueva direccin de salto.
Diseo de la multiciclo
El Procesador: datos y control (II Parte)
Las seales de control no son determinadas nicamente por la instruccin. Se utiliza una mquina de estados finita (FSM) para implementar el control.
No solamente el uso de lgica combinacional en el diseo del sistema. Ahora la unidad de control es secuencial por lo que se requiere de una FSM
MUX 1 2
P C
M A R
0 M U X 1
0 M U X 1 ALU
O U t
0 M U X 1
1M U 2X 3
Shift
M D R
0 M U X 1
de registros Direccin Salida dede memoria memoria instruccin Actualizar el PC Palabra de Salida
Salida de ALU
Operacin de bsqueda
El Procesador: datos y control (II Parte)
Ruta del PC a Memoria & ALU Add 4 Load PC Load IR
1 0
R1id
MUX 1 2
cargue
0
0 M U X 1 IR 0 M U X 1
P C
R2id Memoria
0 M U X 1 Registros WRid D
M A R
ALU
O U t
0 M U X 1
cargue
Shift M D R 0 M U X 1
1M U 2X 3
sume
Quiebra de instrucciones
El Procesador: datos y control (II Parte)
Nuevos registros si
La seal se genera en un ciclo y se utiliza en otro. Las entradas del bloque que genera la seal puede cambiar en el segundo ciclo.
Bsqueda de instruccin
Mover la instruccin de la memoria de instruccin al registro de instruccin IR
Ejecucin, clculo de la direccin de memoria o salto Acceso a memoria o finalizacin de instrucciones tipo R Proceso de escritura.
Almacene el nuevo valor del PC en PC Incrementar el PC y el acceso a la memoria de instruccin pueden realizarse en paralelo.
Ruta de datos: IR = Memory[PC], PC = PC + 4 Control: IorD=0, MemRead=1, MemWr=0, IRwrite=1, ALUsrcA=0, etc
Salto JUMP
PC<= {PC[31-28], (IR[25-0],2b00)}
A B
ALU out
En el ciclo 1, PC se incrementa en 4 En el ciclo 2, ALUout se pone para el salto condicional En este ciclo, condicionalmente se pone el PC: if (A==B) PC=ALUout
Acceso a memoria
El control de la ALU debe mantenerse estable Ponga I o D = 1 direcciones de la ALU
MDR <= Memoria [ALUOut] Carga con memoria
Ponga MemRead = 1
B => Memoria [ALUOut] Almacena en memoria
Ponga MemWrite = 1
A B
ALU out
RESUMEN
El Procesador: datos y control (II Parte)
EL - 3310 Diseo con Sistemas Digitales
SEALES DE CONTROL
El Procesador: datos y control (II Parte)
EL - 3310 Diseo con Sistemas Digitales
CONTROLANDO EL PROCESADOR
El Procesador: datos y control (II Parte)
Secuencia de pasos es dependiente del tiempo (mquina de estados) Descripcin de los mtodos
Diagrama de estados Microprogramacin VHDL Programa .......
Descomposicin general
El Procesador: datos y control (II Parte)
Parte comn
Bsqueda de instrucciones Decodificacin de las instrucciones/bsqueda de registro
Parte comn
El Procesador: datos y control (II Parte)
Acceso a Memoria
El Procesador: datos y control (II Parte)
Instruccin tipo R
El Procesador: datos y control (II Parte)
Instruccin de salto
El Procesador: datos y control (II Parte)
Un solo estado El PC se debe cargar con la direccin de salto Obtener la prxima instruccin
Los datos en negro indican seales activas Los datos en gris indican seales inactivas que deben establecerse Lneas indican condiciones no importa
Rendimiento
El Procesador: datos y control (II Parte)
cargas
almacenamiento
5 4 4 3 3
CPI
Posibilidades de implementacin Mquina de Moore: las salidas dependen de la entradas y del estado
Inputs
Op5
Op4
Op3
Op2
Op1
Op0
S3
S2
S1
State register
S0
ROM
Bits para direcciones: 10
Registros de estado: 4 bits Campo para cdigo de operacin: 6 bits
Bits de salida: 17
PLA
Calculo de las funciones de salida Optimizacin Mapear a la arquitectura PLA Menos rea Rpida construccin
PLA
El Procesador: datos y control (II Parte)
EL - 3310 Diseo con Sistemas Digitales
ROM vs PLA
El Procesador: datos y control (II Parte)
PLA es ms pequeo
Se pueden compartir trminos Solo se necesita de entradas que producen una salida Se puede contar con condiciones no importa
El tamao es
(#entradas #producto-trminos) + (#salidas #producto-trminos) para este ejemplo = (10x17)+(20x17) = 460 PLA celdas Las celdas del PLA generalmente tienen el tamao de una celda de ROM
MICROPROGRAMACION
El Procesador: datos y control (II Parte)
Micro instrucciones
El Procesador: datos y control (II Parte)
Qu es lo que necesitamos?
Seales de control para la ALU Seales de control para el contador de programa PC Ruta de datos completa
Qu vamos a hacer?
Analizar que sucede en cada estado Escribirlo en una tabla Traducirlo a binario Almacenarlo en una forma apropiada
Elementos
El Procesador: datos y control (II Parte)
Control de secuencia
Mux de control Calculo de la prxima direccin
RUTA DE DATOS
El Procesador: datos y control (II Parte)
Mezcle las seales de acuerdo a la funcin Las seales que nunca se utilizarn se pueden compartir al mismo tiempo Las seales deben ponerse
Microprograma
El Procesador: datos y control (II Parte)
Implementacin fsica: ROM o PLA Cada microinstruccin tiene una direccin Secuencialmente ordenado Cada paso de la secuencia es de un ciclo Seleccin de la prxima instruccin
Se incrementa la direccin (campo de secuencia = seq) Bsqueda: inicia la bsqueda de la prxima microinstruccin (campo de secuencia = fetch) Dispatch: salta a la prxima microinstruccin el nmero i indica la direccin en la tabla de dispatch.
Seales de control
El Procesador: datos y control (II Parte)
EL - 3310 Diseo con Sistemas Digitales
Espacios en blanco
Multiplexor: no importa Las seales de control para el acceso a los registros o generacin de funciones: se ponen en cero
Secuencia de inicio
El Procesador: datos y control (II Parte)
Primera instruccin
Segunda instruccin
Acceso a memoria
El Procesador: datos y control (II Parte)
Micro instrucciones
Parte comn
Acceso a memoria
El Procesador: datos y control (II Parte)
Microinstruccin
Operacin
Finalizacin de la operacin
Salto y Jump
El Procesador: datos y control (II Parte)
Salto
Jump
Situaciones no implementadas
El Procesador: datos y control (II Parte)
Interrupciones
Solicitudes de perifricos de entrada salida
Manejo de excepciones
Invocacin del sistema operativo Rebase aritmtico Instruccin indefinida Errores en hardware Recuperacin Operacin de abortar Proceso de abortar Reboot
Manejo de errores
Deteccin de excepciones
El Procesador: datos y control (II Parte)
Instrucciones indefinidas
Pruebe el valor en el campo del cdigo de operacin En todos los valores que no pertenecen a un valor vlido genere una interrupcin
Rebase aritmtico
Es detectado y generado por la ALU
Acciones
Salve el PC en la instruccin (PC-4)en el contador de programa de excepciones (EPC) Contine con OS con un cdigo para el manejo de errores Retorne al cdigo original en la prxima instruccin para reiniciar.
Manejo de excepciones
El Procesador: datos y control (II Parte)
VERSION 1:
Utilice el registro de estado
Simple punto de entrada El sistema operativo (OS) analiza el registro de estado
VERSION 2:
Interrupciones vectorizadas
Por cada interrupcin se almacena un vector Cada vector de interrupciones tiene asociado un programa
Manejo de MIPS
El Procesador: datos y control (II Parte)
REGISTROS
Registros de causa de 32 bits
Bits individuales son utilizados para codificar la causa, Instrucciones indefinidas: bit 0 = 0 Rebase aritmtico: bit 0 = 1
SEALES DE CONTROL
CauseWrite EPCWrite Seales de 1 Bit IntCause Direcciones de excepciones, C0000000hex
Manejo de MIPS
El Procesador: datos y control (II Parte)
Arquitectura extendida
El Procesador: datos y control (II Parte)
EL - 3310 Diseo con Sistemas Digitales
Arquitectura extendida
El Procesador: datos y control (II Parte)
Manejo de excepciones
Instruccin indefinida > IntCause = 0 (estado 10) Rebase aritmtico > IntCause= 1 (estado 11) Carga el EPC Carga el PC con el registro de interrupciones
El Procesador: datos y control (II Parte)
EL - 3310 Diseo con Sistemas Digitales
FIN
El Procesador: datos y control (II Parte)
EL - 3310 Diseo con Sistemas Digitales