Sei sulla pagina 1di 69

Escuela de Ingeniera Electrnica

El Procesador: datos y control (II Parte)

Captulo 3
El procesador: la ruta de datos y el control (II Parte)

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 1

Escuela de Ingeniera Electrnica

Mejoramiento del rendimiento


El Procesador: datos y control (II Parte)

Tiempo de ciclo arreglado


Obviamente ineficiente

Tiempo de ciclo variable


Ms rpido Temporizacin compleja

Mltiples 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.

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 2

Escuela de Ingeniera Electrnica

El Procesador: datos y control (II Parte)

Implementacin de mltiples ciclos de reloj


Registros se actualizan en cada ciclo
Datos Salidas del archivo de registros Salidas de la ALU Instruccin se actualiza al final de la instruccin.

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 3

Escuela de Ingeniera Electrnica

Ruta de datos
El Procesador: datos y control (II Parte)

Utilice la ALU para


Incrementar el PC Saltos Direcciones de memoria Operaciones aritmticas

Rutas de datos adicionales Interpretacin de IR depende del formato de las instrucciones

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 4

Escuela de Ingeniera Electrnica

Ruta de datos con seales de control


El Procesador: datos y control (II Parte)
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

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 5

Escuela de Ingeniera Electrnica

Manejo del PC
El Procesador: datos y control (II Parte)

La fuente del PC se selecciona por medio de un multiplexor


Salida de la ALU despus de PC + 4 (instruccin normal) Salida de la ALU despus de calcular una direccin de salto condicional Nueva direccin de una instruccin de salto

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.

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 6

Escuela de Ingeniera Electrnica

Diseo de la multiciclo
El Procesador: datos y control (II Parte)

Se pueden reutilizar las unidades funcionales


La ALU se puede reutilizar para el clculo de direcciones y para incrementar el PC La memoria se puede utilizar para almacenar instrucciones y datos

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

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 7

Escuela de Ingeniera Electrnica

El Procesador: datos y control (II Parte)

Componentes bsicos Multiplexores para enrutar Registros Extra Conductores

MUX 1 2

P C

M A R

0 M U X 1

R1id IR R2id Memoria 0 M U X 1 Registros WRid D A

0 M U X 1 ALU

O U t

0 M U X 1

1M U 2X 3

Shift

EL - 3310 Diseo con Sistemas Digitales

M D R

0 M U X 1

Ing. Jos Alberto Daz Garca


Pgina 8

de registros Direccin Salida dede memoria memoria instruccin Actualizar el PC Palabra de Salida

Salida de ALU

Escuela de Ingeniera Electrnica

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

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 9

Escuela de Ingeniera Electrnica

Ruta de datos completa y su control


El Procesador: datos y control (II Parte)
EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 10

Escuela de Ingeniera Electrnica

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 11

El Procesador: datos y control (II Parte)

Escuela de Ingeniera Electrnica

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 12

El Procesador: datos y control (II Parte)

Escuela de Ingeniera Electrnica

Quiebra de instrucciones
El Procesador: datos y control (II Parte)

Moverse de un ciclo a multiciclo


Identificar los pasos que tardan un ciclo Misma distribucin en el tiempo de ejecucin Por lo menos una operacin para cada uno de los mdulos
ALU Archivo de Registros Memoria

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.

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 13

Escuela de Ingeniera Electrnica

Los 5 pasos en la ejecucin


El Procesador: datos y control (II Parte)

Bsqueda de instruccin
Mover la instruccin de la memoria de instruccin al registro de instruccin IR

Decodificacin de la instruccin y bsqueda de registro


Provee el contenido del registro a la ALU

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 14

Ejecucin, clculo de la direccin de memoria o salto Acceso a memoria o finalizacin de instrucciones tipo R Proceso de escritura.

Escuela de Ingeniera Electrnica

Paso 1: Bsqueda de una instruccin


El Procesador: datos y control (II Parte)

Utilice el PC para obtener la instruccin y colocarla en el registro de instruccin.


IR <=MEMORIA(PC) SET Read Address Mux (IorD) = 0 selecciona la instruccin 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

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 15

Almacene el nuevo valor del PC en PC Incrementar el PC y el acceso a la memoria de instruccin pueden realizarse en paralelo.

Escuela de Ingeniera Electrnica

EL - 3310 Diseo con Sistemas Digitales

El Procesador: datos y control (II Parte)

Ing. Jos Alberto Daz Garca


Pgina 16

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

Escuela de Ingeniera Electrnica

El Procesador: datos y control (II Parte)

Paso 2: Decodificacin de instruccin y bsqueda de registro


Lee los registros rs y rt en caso de que se necesiten
A <= Reg[IR[25-21]] B <= Reg[IR[20-16]] rs rt

Se calculan las direcciones de salto en caso de que se ejecute el salto.


ALUOut <= PC + (sign-extend(IR[15-0]) << 2); Almacnelo en el registro ALUOut ALUSrcb = 11 ALUOp = 00 add

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 17

Escuela de Ingeniera Electrnica

EL - 3310 Diseo con Sistemas Digitales

El Procesador: datos y control (II Parte)

Ing. Jos Alberto Daz Garca


Pgina 18

A = Register[IR[25-21]] B = Register[IR[20-16]] ALUout = PC + (sign-extend (IR[15-0]) << 2)

Escuela de Ingeniera Electrnica

El Procesador: datos y control (II Parte)

Paso 3: Ejecucin, clculo de direccin de memoria o de salto


La cantidad de pasos dependen de la instruccin Seleccin realizada por interpretacin de op + campo de la funcin en la instruccin La ALU realiza una de las tres funciones, basndose en el tipo de instrucciones. Calcula la direccin de memoria
ALUOut ALUSrcA ALUSrcB ALUOp <= A + sign-extend(IR[15-0]) = 1 obtiene el operando de A = 10 obtiene el operando de la unidad de signo externo = 00 add

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 19

Escuela de Ingeniera Electrnica

El Procesador: datos y control (II Parte)

Paso 3: Ejecucin, clculo de direccin de memoria o de salto (continuacin)


Instrucciones tipo R: ALUOut <= A op B
ALUSrcA = 1 obtiene operando de A ALUSrcb = 00 obtiene operando de B ALUOp = 10 cdigo de IR

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


ALUSrcA = 1 obtiene operando de A ALUSrcB = 00 obtiene operando de B ALUOp = 01 sustraccin Escriba ALUOut en el registro PC

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 20

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

Escuela de Ingeniera Electrnica

El Procesador: datos y control (II Parte)

A B

ALU out

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 21

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

Escuela de Ingeniera Electrnica

El Procesador: datos y control (II Parte)

Paso 4: Acceso a memoria o ejecucin de instruccin tipo R

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

EL - 3310 Diseo con Sistemas Digitales

Ponga MemWrite = 1

Ing. Jos Alberto Daz Garca


Pgina 22

Escuela de Ingeniera Electrnica

El Procesador: datos y control (II Parte)

Paso 4: Acceso a memoria o ejecucin de instruccin tipo R

Finalizacin de instrucciones aritmticas o lgicas


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

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 23

Escuela de Ingeniera Electrnica

El Procesador: datos y control (II Parte)

A B

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 24

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

Escuela de Ingeniera Electrnica

El Procesador: datos y control (II Parte)

ALU out

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 25

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

Escuela de Ingeniera Electrnica

Paso 5: Proceso de escritura


El Procesador: datos y control (II Parte)

Escribe datos de la memoria al registro


Reg[IR[20-16]]= MDR Pone RegDst = 0 selecciona escritura en RT como registro de direccin Pone RegWrite = 1 permite operaciones de escritura Pone MenToReg = 1 selecciona la memoria de datos
ALUOp, ALUSrcA, ALUSrcB = CONTANTE

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 26

Escuela de Ingeniera Electrnica

RESUMEN
El Procesador: datos y control (II Parte)
EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 27

Escuela de Ingeniera Electrnica

SEALES DE CONTROL
El Procesador: datos y control (II Parte)
EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 28

Escuela de Ingeniera Electrnica

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 .......

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 29

En este ejemplo utilizaremos diagramas de estado y microprogramacin

Escuela de Ingeniera Electrnica

Descomposicin general
El Procesador: datos y control (II Parte)

Parte comn
Bsqueda de instrucciones Decodificacin de las instrucciones/bsqueda de registro

Parte especfica de la instruccin

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 30

Escuela de Ingeniera Electrnica

Parte comn
El Procesador: datos y control (II Parte)

Bsqueda de instruccin Descodificacin de la instruccin/bsqueda de registro

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 31

Escuela de Ingeniera Electrnica

Acceso a Memoria
El Procesador: datos y control (II Parte)

Clculo de direccin Secuencia de carga


Lectura de memoria Almacenamiento en registro

Acceso a memoria Escritura de secuencia de almacenamiento

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 32

Escuela de Ingeniera Electrnica

Instruccin tipo R
El Procesador: datos y control (II Parte)

Ejecucin de la instruccin Escribir el resultado final en el registro

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 33

Escuela de Ingeniera Electrnica

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

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 34

Escuela de Ingeniera Electrnica

Instruccin de salto (JUMP)


El Procesador: datos y control (II Parte)

Carga el PC con el nuevo valor Obtiene la prxima instruccin

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 35

Escuela de Ingeniera Electrnica

Maquina de estados completa


El Procesador: datos y control (II Parte)

Parte comn Parte especfica de la instruccin

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 36

Escuela de Ingeniera Electrnica

Resumen de las seales de control


El Procesador: datos y control (II Parte)
EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 37

Los datos en negro indican seales activas Los datos en gris indican seales inactivas que deben establecerse Lneas indican condiciones no importa

Escuela de Ingeniera Electrnica

Rendimiento
El Procesador: datos y control (II Parte)

Mezcla de instrucciones y estados


instruccin largo prueba

cargas
almacenamiento

5 4 4 3 3

22% 11% 49% 16% 2%

Tipo R salto Jump

EL - 3310 Diseo con Sistemas Digitales

CPI

Ing. Jos Alberto Daz Garca


Pgina 38

Escuela de Ingeniera Electrnica

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 39

El Procesador: datos y control (II Parte)

Posibilidades de implementacin Mquina de Moore: las salidas dependen de la entradas y del estado

Escuela de Ingeniera Electrnica

Para este ejemplo


El Procesador: datos y control (II Parte)
PCWrite PCWriteCond IorD MemRead MemWrite IRWrite Control logic MemtoReg PCSource ALUOp Outputs ALUSrcB ALUSrcA RegWrite RegDst NS3 NS2 NS1 NS0

Inputs

Op5

Op4

Op3

Op2

Op1

Op0

S3

S2

S1

Instruction register opcode field

State register

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 40

S0

Escuela de Ingeniera Electrnica

Opciones para implementacin


El Procesador: datos y control (II Parte)

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

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 41

Escuela de Ingeniera Electrnica

PLA
El Procesador: datos y control (II Parte)
EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 42

Escuela de Ingeniera Electrnica

ROM vs PLA
El Procesador: datos y control (II Parte)

Rompe la tabla en dos partes


4 bits de estado para generar 16 salidas, 24X16 bits de ROM 10 bits para definir los prximos 4 estados, 210X4 bits de ROM Total: 4.3K bits de ROM

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

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 43

Escuela de Ingeniera Electrnica

MICROPROGRAMACION
El Procesador: datos y control (II Parte)

Limitaciones en FSM basadas en los diagramas de estado y su complejidad


MIPS: ms de 100 instrucciones Largo de las instrucciones: 1 20 ciclos Numero de estados: gigantesco y creciente

Otra alternativa: microprogramacin


Implementacin de instrucciones tipo MIPs se puede realizar como una secuencia de simples instrucciones Disear un formato para las micro instrucciones Escribir el programa

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 44

Escuela de Ingeniera Electrnica

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

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 45

Escuela de Ingeniera Electrnica

Una simple implementacin


El Procesador: datos y control (II Parte)
EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 46

Escuela de Ingeniera Electrnica

Elementos
El Procesador: datos y control (II Parte)

Almacenamiento del micro cdigo (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 direccin

Control de secuencia
Mux de control Calculo de la prxima direccin

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 47

Escuela de Ingeniera Electrnica

RUTA DE DATOS
El Procesador: datos y control (II Parte)

Ruta de datos y control

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 48

Escuela de Ingeniera Electrnica

Formato de las micro instrucciones


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

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 49

Escuela de Ingeniera Electrnica

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.

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 50

Escuela de Ingeniera Electrnica

Seales de control
El Procesador: datos y control (II Parte)
EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 51

Escuela de Ingeniera Electrnica

Creacin del microprograma


El Procesador: datos y control (II Parte)

Inicio de cada instruccin


Bsqueda de instruccin Clculo de prximo PC Decodificacin de la instruccin Clculo del prximo salto PC

Espacios en blanco
Multiplexor: no importa Las seales de control para el acceso a los registros o generacin de funciones: se ponen en cero

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 52

Escuela de Ingeniera Electrnica

Secuencia de inicio
El Procesador: datos y control (II Parte)

Primera instruccin

Segunda instruccin

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 53

Escuela de Ingeniera Electrnica

Acceso a memoria
El Procesador: datos y control (II Parte)

Micro instrucciones

Parte comn

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 54

Escuela de Ingeniera Electrnica

Acceso a memoria
El Procesador: datos y control (II Parte)

Cargue una palabra especfica, 1

Cargue una palabra especfica, 2

Almacene una palabra especfica

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 55

Escuela de Ingeniera Electrnica

Instrucciones con formato R


El Procesador: datos y control (II Parte)

Microinstruccin

Operacin

Finalizacin de la operacin

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 56

Escuela de Ingeniera Electrnica

Salto y Jump
El Procesador: datos y control (II Parte)

Salto

Jump

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 57

Escuela de Ingeniera Electrnica

Micro programa completo


El Procesador: datos y control (II Parte)
EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 58

Escuela de Ingeniera Electrnica

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

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 59

Escuela de Ingeniera Electrnica

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.

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 60

Escuela de Ingeniera Electrnica

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

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 61

Escuela de Ingeniera Electrnica

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

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

SEALES DE CONTROL
CauseWrite EPCWrite Seales de 1 Bit IntCause Direcciones de excepciones, C0000000hex

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 62

Escuela de Ingeniera Electrnica

Manejo de MIPS
El Procesador: datos y control (II Parte)

Extensin del Mux del PC


ALU Saltos Jumps Excepciones

Decremente el PC en 4 obtenga las direcciones de la instruccin que se ejecuta

EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 63

Escuela de Ingeniera Electrnica

Arquitectura extendida
El Procesador: datos y control (II Parte)
EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 64

Escuela de Ingeniera Electrnica

Arquitectura extendida
El Procesador: datos y control (II Parte)

EL - 3310 Diseo con Sistemas Digitales

Registro de Causa Escritura de Causa EPC EPCWrite Extensin PCSourse

Ing. Jos Alberto Daz Garca


Pgina 65

Escuela de Ingeniera Electrnica

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

Ing. Jos Alberto Daz Garca


Pgina 66

Escuela de Ingeniera Electrnica

Mquina de estados con excepciones


El Procesador: datos y control (II Parte)
EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 67

Escuela de Ingeniera Electrnica

Opciones para implementacin


El Procesador: datos y control (II Parte)
EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 68

Escuela de Ingeniera Electrnica

FIN
El Procesador: datos y control (II Parte)
EL - 3310 Diseo con Sistemas Digitales

Ing. Jos Alberto Daz Garca


Pgina 69

Potrebbero piacerti anche