La Unidad de Control y el Camino de Datoscgutierr/Capitulo_8.pdf · La M´aquina de un Ciclo...
Transcript of La Unidad de Control y el Camino de Datoscgutierr/Capitulo_8.pdf · La M´aquina de un Ciclo...
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
La Unidad de Control y el Camino de Datos
Prof. Rodrigo Araya [email protected]
Universidad Tecnica Federico Santa MarıaDepartamento de Informatica
Valparaıso, 1er Semestre 2006
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
1 Introduccion
2 La Maquina de un Ciclo
3 Maquina Multiciclo
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Introduccion
Veremos el diseno completo de un subconjunto de la MaquinaMIPS.
Las instrucciones de este subconjunto son:
lw, swadd, sub, and, or, sltbeq, j
Comenzaremos por un modelo simple que considera un relojde un solo ciclo y posteriormente veremos un diseno con relojde multiples ciclos.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
La Maquina de un Ciclo
¿Que significa una Maquina de un ciclo?
Las etapas generales en la ejecucion de una instruccion son:
IF: Fetch de instruccion.
ID: Decodificacion y Fetch de registros.
EX: Ejecucion y calculo de la direccion efectiva.
MEM: Acceso a la memoria en lectura o escritura.
WB: Escritura de Registros en el archivo de registros.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
La maquina de un ciclo
En una Maquina de un solo ciclo todas estas etapas ocurrendentro de un ciclo de reloj:
Para que esto sea posible se requiere separar la memoria en:
Memoria de datos.Memoria de instrucciones.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Diagrama General de la Maquina
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Fetch e incremento de PC
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Formatos de instrucciones
¿De que manera interviene el tipo de instruccion en el Camino deDatos?
Instruccion tipo R.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Formatos de instrucciones
Instruccion tipo I.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Instruccion tipo R
Elementos para implementar insrucciones ALU tipo R.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Instruccion tipo R
Camino de datos simple para una instruccion tipo R.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Instruccion tipo I
Elementos para implementar insrucciones Load y Store detipo I.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Instruccion tipo I
Camino de datos simple para instrucciones Load y Store.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Instrucciones de Salto Condicional
Se usa la ALU para evaluar la condicion del salto y otra ALUpara el calculo de direccion de salto (target) relativo al PC.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Camino de Datos
Combinacion del Camino de Datos para instrucciones ALUtipo R e instrucciones de carga y almacenamiento.
Se incluyen ademas las lineas de control.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Camino de Datos
Se agrega la parte del Fetch al Camino de Datos anterior.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Camino de Datos
Camino de datos para una Maquina de un Ciclo.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Control de la ALU
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Control de la ALU
Tabla logica para el control de la ALU:
opcode ALUOp Instruccion func Accion Control ALU
lw 00 lw x....x suma 010sw 00 sw x....x suma 010beq 01 beq x....x resta 110R 10 + 100000 + 010R 10 - 100010 - 110R 10 and 100100 and 000R 10 or 100101 or 001
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Control de la ALU
Ecuaciones para el control de la ALU
OP2 = ALUop0 + ALUop1 · F1
OP1 = ALUop1 + F2
OP0 = ALUop1 · (F0 + F3)
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Control de la ALU
Circuito para el control de la ALU
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Control de la ALU
Camino de datos con el control para la ALU.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Camino de Datos
Camino de datos con la Unidad de Control.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Lineas de Control
El primer paso de una instruccion tipo R es un fetch deinstruccion y un incremento del PC.
Instruccion RegDst ALUSrc MemtoReg
Write MemRead
MemWrite
Branch ALUOp1 ALUOp1
R-format 1 0 0 1 0 0 0 1 0
lw 0 1 1 1 1 0 0 0 0
sw X 1 X 0 0 1 0 0 0
beq X 0 X 0 0 0 1 0 1
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Ejecucion de Instrucciones
El primer paso de una instruccion tipo R es un fetch deinstruccion y un incremento del PC.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Ejecucion de Instrucciones
El segundo paso es leer los dos registros del archivo deregistros.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Ejecucion de Instrucciones
El tercer paso involucra la ejecucion de instrucciones tipo Rque se realizan en la ALU.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Ejecucion de Instrucciones
El paso final de una instruccion tipo R involucra escribir elresultado.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Ejecucion de Instrucciones
La operacion de una instruccion load.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Ejecucion de Instrucciones
El Camino de Datos activo para una instruccion beq (branchequal).
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Ejecucion de Instrucciones
El Control y Camino de Datos se extienden para manejar lainstruccion j (jump).
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
La Unidad de Control
Unidad de Control para la maquina de un ciclo.
Entradas
Senal Tipo R lw sw beq
OP5 0 1 1 0
OP4 0 0 0 0
OP3 0 0 1 0
OP2 0 0 0 1
OP1 0 1 1 0
OP0 0 1 1 0
→
Salidas
Senal Tipo R lw sw beq
Regdest 1 0 x x
ALUSrc 0 1 1 0
MemtoReg 0 1 x x
RegWrite 1 1 0 0
MemRead 0 1 0 0
Memwrite 0 0 1 0
Branch 0 0 0 1
ALUOp1 1 0 0 0
ALUOp0 0 0 0 1
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
La Unidad de Control
Unidad de Control para la maquina de un ciclo.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Desempeno de la Maquina de un Ciclo
Para estimar el desempeno, asumiremos lo siguiente:
Tiempos asociados
Unidades de Memoria = 2nsegALU = 2nsegArchivo de Registros = 1nsegMuxs, compuertas,.... = 0 nseg
Existen dos alternativas para el reloj:
Cada instruccion toma un ciclo de tiempo fijo.Cada instruccion se ejecuta en un ciclo pero de tiempovariable, es decir ocupa el tiempo que necesita.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Tiempos crıticos para las instrucciones
Etapas de cada instruccion
Clase
Tipo R IF ID EX WB
lw IF ID EX MEM WB
sw IF ID EX MEM
beq IF ID EX
j IF
Calculo de tiempos
Clase IF ID EX MEM WB TOTAL
Tipo R 2 1 2 0 1 6ns
lw 2 1 2 2 1 8ns
sw 2 1 2 2 7ns
beq 2 1 2 5ns
j 2 2ns
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Discusion
La alternativa de ciclo fijo es ineficiente y ademas viola unprincipio de diseno: hacer los casos frecuentes rapidos.
Tecnicamente no se puede construir un reloj de ciclo variable
La solucion es descomponer la ejecucion de una instruccion enuna secuencia de etapas.
Esta implementacion se denomina Multiciclo.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Discusion
La implementacion Multiciclo tiene ventajas adicionales: esposible usar unidades funcionales mas de una vez porinstruccion.
Se utiliza: una memoria, una ALU simple.
Se agregan registros a las unidades funcionales para mantenersu valor cuando las entradas estan cambiando.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Maquina Multiciclo
Esquema basico de la maquina multiciclo.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Maquina Multiciclo
Manejo de instrucciones basicas.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Maquina Multiciclo
Camino de datos con lineas de control.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Maquina Multiciclo
Camino de datos con unidad de control.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Ejecucion de operaciones en una Maquina Multiciclo
La ejecucion de instrucciones se realizara en varios ciclos de reloj,por lo que:
La senal calculada en un ciclo, se utilizara en el ciclo siguiente.
Cada paso se restringe a solo un acceso al archivo deregistros, un acceso a la memoria, y una operacion en la ALU.
Se identifican 5 pasos para la ejecucion de instrucciones.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Pasos para la ejecucion de instrucciones
Paso 1: Fetch de instruccion.
IR = Memoria[PC]PC = PC+4
Paso 2: Decodificacion de Instruccion y fetch de registros.
A = Registro[IR[25-21]] (rs)
B = Registro[IR[20-16]] (rt)
ALUOut = PC + (ext signo(IR[15-0])<<2)
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Pasos para la ejecucion de instrucciones
Paso 3: Calculo de la direccion de memoria, o terminacion delsalto.En este paso las acciones dependen del tipo de instruccion que seesta ejecutando.
Referencia a MemoriaALUOut = A + ext signo (IR[15-0])
Aritmetica tipo RALUOut = A op B
Branchif ( A == B) PC = ALUOut
JumpPC = PC[31-28] | (IR[25-0] <<2)
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Pasos para la ejecucion de instrucciones
Paso 4: Acceso a memoria, o terminacion de la instrucciontipo R.
Referencia a Memoria
si es lw:MDR = Memoria[ALUOut]o, si es sw:Memoria[ALUOut] = B
Instruccion Aritmetica tipo RRegistro[IR[15-11]] = ALUOut
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Pasos para la ejecucion de instrucciones
Paso 5: Escritura desde memoria al archivo de registros. Secompleta la instruccion lw, cargando el valor de memoria en unregistro.
Registro[IR[20-16]] = MDR
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Pasos para la ejecucion de instrucciones
Tipo R Referencias a memoria Branch Jump
PASO 1 IR=Memoria[PC]PC=PC+4
PASO 2 A=Registro[IR[25-21]]B=Registro[IR[20-16]]
ALUOut=PC+(ext signo(IR[15-0])<<2)
PASO 3 ALUOut = A op B ALUOut = A +ext signo(IR[15-0])
if(A==B) PC= ALUOut
PC = PC[31-28] |(IR[25-0] << 2)
PASO 4 Registro[IR[15-11]] =ALUOut
MDR= Memoria[ALUOut]o Memoria[ALUOut]=B
PASO 5 Registro[IR[20-16]] =MDR
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Control del Multiciclo
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Control estados: Fetch y Decodificacion
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Control estados: Referencia Memoria
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Control estados: Tipo R
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Control estados: Bifurcacion Beq
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Control estados: Jump
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Control del Multiciclo
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Controlador de estados finitos
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Controlador Microprogramado
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Observaciones
El control microprogramado se parece a un computador:
estados: direcciones de instrucciones.Las palabras de control son microinstrucciones.El registro de estado es el microPC.
Se puede usar un Assembler de microcodigo para codificarsecuencias de microinstrucciones.
Como un microprograma es una representacion abstracta delcontrol, hay una gran flexibilidad en la forma de traducir elmicroprograma en micro-operaciones.
RAE La Unidad de Control y el Camino de Datos
ContenidoIntroduccion
La Maquina de un CicloMaquina Multiciclo
Fin...
Fin...
RAE La Unidad de Control y el Camino de Datos