La Unidad de Control y el Camino de Datos - labcomp.clraraya/arq/material/Capitulo_8.pdfMIPS. Las...

58
Contenido Introducci´ on La M´ aquina de un Ciclo aquina Multiciclo La Unidad de Control y el Camino de Datos Prof. Rodrigo Araya E. [email protected] Universidad T´ ecnica Federico Santa Mar´ ıa Departamento de Inform´ atica Valpara´ ıso, 1 er Semestre 2006 RAE La Unidad de Control y el Camino de Datos

Transcript of La Unidad de Control y el Camino de Datos - labcomp.clraraya/arq/material/Capitulo_8.pdfMIPS. Las...

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