69
Página 1 EL - 3310 Diseño con Sistemas Digitales Ing. José Alberto Díaz García Escuela de Ingeniería Electrónica El Procesador: datos y control (II Parte) Capítulo 3 El procesador: la ruta de datos y el control (II Parte)

Capítulo 3

  • Upload
    yamal

  • View
    26

  • Download
    1

Embed Size (px)

DESCRIPTION

Capítulo 3. El procesador: la ruta de datos y el control (II Parte). Mejoramiento del rendimiento. Tiempo de ciclo arreglado Obviamente ineficiente Tiempo de ciclo variable Más rápido Temporización compleja Múltiples ciclos de reloj Quiebre de instrucciones en pasos de un ciclo - PowerPoint PPT Presentation

Citation preview

Page 1: Capítulo 3

Página 1

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Capítulo 3

El procesador: la ruta de datos y el control

(II Parte)

Page 2: Capítulo 3

Página 2

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Mejoramiento del rendimiento• Tiempo de ciclo arreglado

– Obviamente ineficiente

• Tiempo de ciclo variable– Más rápido– Temporización compleja

• Múltiples ciclos de reloj– Quiebre de instrucciones en pasos de un ciclo– Balance de la cantidad de trabajo por realizar– Restricciones en cada ciclo por usar una

unidad funcional– Almacena valores al final de cada ciclo para

ser utilizado en otros ciclos.

Page 3: Capítulo 3

Página 3

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Implementación de múltiples ciclos de reloj

• Registros se actualizan en cada ciclo– Datos– Salidas del archivo de registros– Salidas de la ALU– Instrucción se actualiza al final de la instrucción.

Page 4: Capítulo 3

Página 4

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Ruta de datos• Utilice la ALU para

– Incrementar el PC– Saltos– Direcciones de memoria– Operaciones aritméticas

• Rutas de datos adicionales• Interpretación de IR depende del formato de las

instrucciones

Page 5: Capítulo 3

Página 5

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Ruta de datos con señales de control

• Direcciones de memoria• R/W • Escritura en IR• Escritura en registro• Escritura en el registro destino• Escritura en el registro fuente de datos• Multiplexor de fuente de ALU• Control de ALU

Page 6: Capítulo 3

Página 6

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Manejo del PC• La fuente del PC se selecciona por medio

de un multiplexor– Salida de la ALU después de PC + 4

(instrucción normal)– Salida de la ALU después de calcular una

dirección de salto condicional– Nueva dirección de una instrucción de salto

• Escritura del PC– Incondicional después de una instrucción

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 dirección de salto.

Page 7: Capítulo 3

Página 7

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Diseño de la multiciclo

• Se pueden reutilizar las unidades funcionales– La ALU se puede reutilizar para el cálculo de

direcciones y para incrementar el PC– La memoria se puede utilizar para almacenar

instrucciones y datos• Las señales de control no son determinadas

únicamente por la instrucción.• Se utiliza una máquina de estados finita (FSM)

para implementar el control.– No solamente el uso de lógica combinacional en el

diseño del sistema.– Ahora la unidad de control es secuencial por lo que

se requiere de una FSM

Page 8: Capítulo 3

Página 8

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

PC

MemoriaALURegistros

D

R1id

WRid

R2idIR

MDR

MAR

Componentes básicos

OUt

A

B

MUX

0

1

MUX

0

1

MUX

0

1

MUX

0

1

MUX

0

1

MUX

0

1

2

3

MUX0 1 2 3

4

Shift

Registros ExtraMultiplexores para enrutar

Conductores

Dirección de memoria Dirección de memoria Actualizar el PC Actualizar el PC Salida de memoria Salida de memoria Palabra de instrucciónPalabra de instrucciónSalida de registrosSalida de registros Salida de ALU Salida de ALU

Page 9: Capítulo 3

Página 9

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Operación de búsqueda

PC

MemoriaALURegistros

D

R1id

WRid

R2idIR

MDR

MAR

MUX

0

1

MUX

0

1

OUt

MUX

0

1

MUX

0

1

A

B

MUX

0

1

MUX

0

1

2

3

MUX0 1 2 3

4

Shift

Ruta del PC a Memoria & ALU

0 0

1

Add 4

sume

Load PC 1Load IRcargue

cargue

Page 10: Capítulo 3

Página 10

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Ruta de datos completa y su control

Page 11: Capítulo 3

Página 11

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Page 12: Capítulo 3

Página 12

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Page 13: Capítulo 3

Página 13

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Quiebra de instrucciones• Moverse de un ciclo a multiciclo

– Identificar los pasos que tardan un ciclo– Misma distribución en el tiempo de ejecución– Por lo menos una operación para cada uno de

los módulos• ALU• Archivo de Registros• Memoria

• Nuevos registros si– La señal se genera en un ciclo y se utiliza en

otro.– Las entradas del bloque que genera la señal

puede cambiar en el segundo ciclo.

Page 14: Capítulo 3

Página 14

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Los 5 pasos en la ejecución• Búsqueda de instrucción

– Mover la instrucción de la memoria de instrucción al registro de instrucción IR

• Decodificación de la instrucción y búsqueda de registro– Provee el contenido del registro a la

ALU

• Ejecución, cálculo de la dirección de memoria o salto

• Acceso a memoria o finalización de instrucciones tipo R

• Proceso de escritura.

Page 15: Capítulo 3

Página 15

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

• Utilice el PC para obtener la instrucción y colocarla en el registro de instrucción.– IR <=MEMORIA(PC)– SET Read Address Mux (IorD)– = 0 selecciona la instrucción– SET MemRead = 1

• Incremente el PC en cuatro 4 y coloque el resultado en el PC nuevamente.– PC <= PC+4– ALUSrcA = 0 obtenga el operando de IR– ALUSrcB = 01 obtenga el operando 4– ALUOp = 00 add

• Almacene el nuevo valor del PC en PC• Incrementar el PC y el acceso a la memoria de

instrucción pueden realizarse en paralelo.

Paso 1: Búsqueda de una instrucción

Page 16: Capítulo 3

Página 16

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Ruta de datos: IR = Memory[PC], PC = PC + 4Control: IorD=0, MemRead=1, MemWr=0, IRwrite=1, ALUsrcA=0, etc

Page 17: Capítulo 3

Página 17

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

• Lee los registros rs y rt en caso de que se necesiten

A <= Reg[IR[25-21]] rsB <= Reg[IR[20-16]] rt

• Se calculan las direcciones de salto en caso de que se ejecute el salto.ALUOut <= PC + (sign-extend(IR[15-0]) << 2);Almacénelo en el registro ALUOutALUSrcb = 11ALUOp = 00 add

Paso 2: Decodificación de instrucción y búsqueda de

registro

Page 18: Capítulo 3

Página 18

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

A = Register[IR[25-21]]

B = Register[IR[20-16]]

ALUout = PC + (sign-extend (IR[15-0]) << 2)

Page 19: Capítulo 3

Página 19

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

• La cantidad de pasos dependen de la instrucción

• Selección realizada por interpretación de op + campo de la función en la instrucción

• La ALU realiza una de las tres funciones, basándose en el tipo de instrucciones.

• Calcula la dirección de memoriaALUOut <= A + sign-extend(IR[15-0])ALUSrcA = 1 obtiene el operando de AALUSrcB = 10 obtiene el operando de la unidad de

signo externoALUOp = 00 add

Paso 3: Ejecución, cálculo de dirección de memoria o de salto

Page 20: Capítulo 3

Página 20

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Paso 3: Ejecución, cálculo de dirección de memoria o de salto

(continuación)• Instrucciones tipo R:

ALUOut <= A op B– ALUSrcA = 1 obtiene operando de A– ALUSrcb = 00 obtiene operando de B– ALUOp = 10 código de IR

• Instrucciones con salto:if (A==B) PC <= ALUOut;

– ALUSrcA = 1 obtiene operando de A– ALUSrcB = 00 obtiene operando de B– ALUOp = 01 sustracción– Escriba ALUOut en el registro PC

• Salto JUMP– PC<= {PC[31-28], (IR[25-0],2’b00)}

Page 21: Capítulo 3

Página 21

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

• 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

A

B

ALUout

Page 22: Capítulo 3

Página 22

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

• 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

Paso 4: Acceso a memoria o ejecución de instrucción tipo R

Page 23: Capítulo 3

Página 23

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Paso 4: Acceso a memoria o ejecución de instrucción tipo R

• Finalización de instrucciones aritméticas o lógicas – Registro [IR[15-11]]<=ALUOut– Pone RegDst = 1 seleccionar el registro

de escritura– Pone RegWrite = 1 permite

operaciones de escritura– Pone MemToReg = 0 selecciona datos

en ALU– ALUOp, ALUSrcA, ALUSrcB = CONTANTE

Page 24: Capítulo 3

Página 24

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Ciclo 3: ALUout = A op B Ciclo 4: Reg[IR[15-11]] = ALUout

B

A

Page 25: Capítulo 3

Página 25

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Ciclo 3: ALUout = A op B Ciclo 4: Reg[IR[15-11]] = ALUout

B

AALUout

Page 26: Capítulo 3

Página 26

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

• Escribe datos de la memoria al registro– Reg[IR[20-16]]= MDR– Pone RegDst = 0 selecciona escritura

en RT como registro de dirección– Pone RegWrite = 1 permite

operaciones de escritura– Pone MenToReg = 1 selecciona la

memoria de datos– ALUOp, ALUSrcA, ALUSrcB = CONTANTE

Paso 5: Proceso de escritura

Page 27: Capítulo 3

Página 27

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

RESUMEN

Page 28: Capítulo 3

Página 28

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

SEÑALES DE CONTROL

Page 29: Capítulo 3

Página 29

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

CONTROLANDO EL PROCESADOR

• Secuencia de pasos es dependiente del tiempo (máquina de estados)

• Descripción de los métodos– Diagrama de estados– Microprogramación– VHDL– Programa– .......

• En este ejemplo utilizaremos diagramas de estado y microprogramación

Page 30: Capítulo 3

Página 30

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Descomposición general• Parte común

– Búsqueda de instrucciones– Decodificación de las instrucciones/búsqueda de

registro

• Parte específica de la instrucción

Page 31: Capítulo 3

Página 31

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Parte común• Búsqueda de instrucción• Descodificación de la

instrucción/búsqueda de registro

Page 32: Capítulo 3

Página 32

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Acceso a Memoria• Cálculo de

dirección• Secuencia de

carga– Lectura de

memoria– Almacenamient

o en registro

• Acceso a memoria

• Escritura de secuencia de almacenamiento

Page 33: Capítulo 3

Página 33

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Instrucción tipo R

• Ejecución de la instrucción

• Escribir el resultado final en el registro

Page 34: Capítulo 3

Página 34

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Instrucción de salto

• Un solo estado

• El PC se debe cargar con la dirección de salto

• Obtener la próxima instrucción

Page 35: Capítulo 3

Página 35

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Instrucción de salto (JUMP)

• Carga el PC con el nuevo valor

• Obtiene la próxima instrucción

Page 36: Capítulo 3

Página 36

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Maquina de estados completa• Parte común• Parte

específica de la instrucción

Page 37: Capítulo 3

Página 37

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Resumen de las señales de control

• Los datos en negro indican señales activas• Los datos en gris indican señales inactivas que deben

establecerse• Líneas indican condiciones no importa

Page 38: Capítulo 3

Página 38

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Rendimiento • Mezcla de instrucciones y estados

• CPI

instrucción

largo prueba

cargas 5 22%almacenamient

o 4 11%

Tipo R 4 49%

salto 3 16%

Jump 3 2%

Page 39: Capítulo 3

Página 39

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Posibilidades de implementación• Máquina

de Moore: las salidas dependen de la entradas y del estado

Page 40: Capítulo 3

Página 40

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Para este ejemploPCWrite

PCWriteCond

IorD

MemtoReg

PCSource

ALUOp

ALUSrcB

ALUSrcA

RegWrite

RegDst

NS3NS2NS1NS0

Op5

Op4

Op3

Op2

Op1

Op0

S3

S2

S1

S0

State register

IRWrite

MemRead

MemWrite

Instruction registeropcode field

Outputs

Control logic

Inputs

Page 41: Capítulo 3

Página 41

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Opciones para implementación

• ROM– Bits para direcciones: 10

• Registros de estado: 4 bits• Campo para código de operación: 6 bits

– Bits de salida: 17

• PLA– Calculo de las funciones de salida– Optimización – Mapear a la arquitectura PLA– Menos área– Rápida construcción

Page 42: Capítulo 3

Página 42

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

PLA

Page 43: Capítulo 3

Página 43

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

• Rompe la tabla en dos partes– 4 bits de estado para generar 16 salidas, 24X16

bits de ROM– 10 bits para definir los próximos 4 estados, 210X4

bits de ROM– Total: 4.3K bits de ROM

• PLA es más pequeño– Se pueden compartir términos– Solo se necesita de entradas que producen una

salida – Se puede contar con condiciones no importa

• El tamaño es – (#entradas´ #producto-términos) + (#salidas ´ #producto-términos)

para este ejemplo = (10x17)+(20x17) = 460 PLA celdas– Las celdas del PLA generalmente tienen el tamaño de una celda de

ROM

ROM vs PLA

Page 44: Capítulo 3

Página 44

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

MICROPROGRAMACION• Limitaciones en FSM basadas en los

diagramas de estado y su complejidad– MIPS: más de 100 instrucciones– Largo de las instrucciones: 1 – 20 ciclos– Numero de estados: gigantesco y creciente

• Otra alternativa: microprogramación– Implementación de instrucciones tipo MIPs se

puede realizar como una secuencia de simples instrucciones

– Diseñar un formato para las micro instrucciones

– Escribir el programa

Page 45: Capítulo 3

Página 45

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Micro instrucciones• ¿Qué es lo que necesitamos?

– Señales de control para la ALU– Señales 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

Page 46: Capítulo 3

Página 46

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Una simple implementación

Page 47: Capítulo 3

Página 47

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Elementos • Almacenamiento del micro código (ROM

o PLA)– Salidas para el control de la ruta de datos– Secuencia para el control de salida

• Decodificador de salida (opcional)• Contador de microprograma/mux

– Reset– Incrementador – Nueva dirección

• Control de secuencia– Mux de control– Calculo de la próxima dirección

Page 48: Capítulo 3

Página 48

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

RUTA DE DATOS• Ruta de datos y control

Page 49: Capítulo 3

Página 49

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Formato de las micro instrucciones• Mezcle las señales de acuerdo a la función• Las señales que nunca se utilizarán se

pueden compartir al mismo tiempo• Las señales deben ponerse

Page 50: Capítulo 3

Página 50

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Microprograma • Implementación física: ROM o PLA• Cada microinstrucción tiene una

dirección• Secuencialmente ordenado• Cada paso de la secuencia es de un ciclo• Selección de la próxima instrucción

– Se incrementa la dirección (campo de secuencia = seq)

– Búsqueda: inicia la búsqueda de la próxima microinstrucción (campo de secuencia = fetch)

– Dispatch: salta a la próxima microinstrucción el número i indica la dirección en la tabla de dispatch.

Page 51: Capítulo 3

Página 51

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Señales de control

Page 52: Capítulo 3

Página 52

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Creación del microprograma• Inicio de cada instrucción

– Búsqueda de instrucción– Cálculo de próximo PC– Decodificación de la instrucción– Cálculo del próximo salto PC

• Espacios en blanco– Multiplexor: no importa– Las señales de control para el acceso a los

registros o generación de funciones: se ponen en cero

Page 53: Capítulo 3

Página 53

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Secuencia de inicio

• Primera instrucción

• Segunda instrucción

Page 54: Capítulo 3

Página 54

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Acceso a memoria

• Micro instrucciones

• Parte común

Page 55: Capítulo 3

Página 55

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Acceso a memoria

• Cargue una palabra específica, 1

• Cargue una palabra específica, 2

• Almacene una palabra específica

Page 56: Capítulo 3

Página 56

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Instrucciones con formato R

• Microinstrucción

• Operación

• Finalización de la operación

Page 57: Capítulo 3

Página 57

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Salto y Jump• Salto

• Jump

Page 58: Capítulo 3

Página 58

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Micro programa completo

Page 59: Capítulo 3

Página 59

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Situaciones no implementadas• Interrupciones

– Solicitudes de periféricos de entrada salida

• Manejo de excepciones– Invocación del sistema operativo – Rebase aritmético– Instrucción indefinida– Errores en hardware

• Manejo de errores– Recuperación– Operación de abortar– Proceso de abortar– Reboot

Page 60: Capítulo 3

Página 60

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Detección de excepciones• Instrucciones indefinidas

– Pruebe el valor en el campo del código de operación

– En todos los valores que no pertenecen a un valor válido genere una interrupción

• Rebase aritmético– Es detectado y generado por la ALU

• Acciones– Salve el PC en la instrucción (PC-4)en el

contador de programa de excepciones (EPC)– Continúe con OS con un código para el

manejo de errores– Retorne al código original en la próxima

instrucción para reiniciar.

Page 61: Capítulo 3

Página 61

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Manejo de excepciones

• 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 interrupción se almacena un vector

• Cada vector de interrupciones tiene asociado un programa

Page 62: Capítulo 3

Página 62

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Manejo de MIPS• REGISTROS

– Registros de causa de 32 bits• Bits individuales son utilizados para

codificar la causa, • Instrucciones indefinidas: bit 0 = 0• Rebase aritmético: bit 0 = 1

– EPC, 32 bits, se puede cargas desde la salida de la ALU

• SEÑALES DE CONTROL– CauseWrite– EPCWrite– Señales de 1 Bit IntCause– Direcciones de excepciones,

C0000000hex

Page 63: Capítulo 3

Página 63

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Manejo de MIPS

• Extensión del Mux del PC– ALU– Saltos– Jumps– Excepciones

• Decremente el PC en 4 obtenga las direcciones de la instrucción que se ejecuta

Page 64: Capítulo 3

Página 64

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Arquitectura extendida

Page 65: Capítulo 3

Página 65

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Arquitectura extendida

• Registro de Causa

• Escritura de Causa

• EPC• EPCWrite• Extensión

PCSourse

Page 66: Capítulo 3

Página 66

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Manejo de excepciones• Instrucción

indefinida > IntCause = 0 (estado 10)

• Rebase aritmético > IntCause= 1 (estado 11)

• Carga el EPC• Carga el PC

con el registro de interrupciones

Page 67: Capítulo 3

Página 67

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Máquina de estados con excepciones

Page 68: Capítulo 3

Página 68

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

Opciones para implementación

Page 69: Capítulo 3

Página 69

EL - 3310Diseño conSistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl P

rocesad

or:

dato

s y

con

trol (I

I P

art

e)

FIN