Tema 4 El procesador: camino de datos y unidad de...

75
Tema 4 El procesador: camino de datos y unidad de control

Transcript of Tema 4 El procesador: camino de datos y unidad de...

Page 1: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Tema 4

El procesador: camino

de datos y unidad de

control

Page 2: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Índice

Introducción

Estructura básica de la CPU: camino de datos y

control

El ciclo de instrucción

Diseño de un procesador monociclo

Descomposición de la ejecución en etapas

Realización multiciclo

Diseño de la unidad de control

Procesamiento de excepciones

Page 3: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Introducción

En este tema se estudia la Unidad Central de Procesamiento (CPU)

√ Camino de datos:

Es la sección del computador encargada de manipular y transformar los datos procedentes de la memoria o los registros internos, para obtener los resultados

Su labor es soportar el conjunto de operaciones que precisan las instrucciones del repertorio que es capas de interpretar la unidad de control

√ Unidad de control:

Es la sección del computador encargada de interpretar las instrucciones del programa y gobernar la ejecución de las mismas

La organización de los procesadores ha evolucionado con el paso de los años, guiada por el desarrollo tecnológico y la necesidad de obtener altas prestaciones

En este tema se analizan las ideas básicas comunes a todos los procesadores, que sientan las bases para poder comprender los avances en arquitectura de computadores

Page 4: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Introducción El procesador es el que se encarga de ejecutar las

instrucciones especificadas por el programa.

Funciones básicas:

√ Captar instrucciones. El procesador debe leer instrucciones

de la memoria

√ Interpretar instrucciones. La instrucción debe decodificarse

para determinar qué acción es necesaria

√ Captar datos. La ejecución puede exigir leer datos de la

memoria o de un módulo de E/S

√ Procesar datos. La ejecución de una instrucción puede

exigir llevar a cabo alguna operación aritmética o lógica

√ Escribir datos. Los resultados de una ejecución pueden

tener que ser escritos en la memoria o en un módulo de E/S

Page 5: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Estructura básica de un procesador

El procesador se compone de varias partes:

1. La unidad de control

2. La unidad aritmético-lógica

3. Un banco de registros

4. Otros registros internos, algunos de los más importantes:

1. El contador de programa (PC)

2. El registro de instrucciones (IR)

Page 6: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Estructura básica de un procesador

Vamos a construir un camino de datos y su unidad de

control para dos realizaciones diferentes de un

subconjunto del repertorio de instrucciones del MIPS:

√ Instrucciones de acceso a memoria: lw, sw

√ Instrucciones aritmético-lógicas: add, sub, or, slt

√ Instrucción de salto condicional: beq

√ Instrucción de salto incondicional: j

Memoria deinstrucciones

Instrucción

Dirección

Memoria de Datos

Dirección

Datos

Datos

nº de registro

nº de registro

nº de registro

RegistrosPC

ALU

Page 7: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Estructura básica de un procesador

Metodología de sincronización

√ Las unidades funcionales se clasifican en dos tipos:

combinacionales y secuenciales

√ La metodología de sincronización define cuándo pueden leerse y

escribirse la diferentes señales

√ Asumimos sincronización por flancos

Estado 1 Estado 2

Ciclo de reloj

Lógica combinatoria

Page 8: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

El ciclo de instrucción

El procesamiento que requiere una instrucción se denomina

ciclo de instrucción.

Ciclo básico de instrucción:

INICIO

Captura de

instrucción

Ejecución de

la instrucción

FIN

Ciclo de captación

Ciclo de ejecución

Page 9: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

El ciclo de instrucción

Para el subconjunto de instrucciones MIPS, los dos primeros pasos son

idénticos:

√ Usar el contenido del PC para cargar, desde la memoria que contiene el

código, la siguiente instrucción

√ Leer uno o dos registros, utilizando para ello los campos de la instrucción

específicos para seleccionarlos

0x40000000 00000001010010110100100000100000

0x40000004 10010101001010100000000000000000

0x40000008 00010001010010111111111111111011

0x4000000C 00000000100001000001000100001010

0x40000004 PC

00000001010010110100100000100000 IR

0x40000000 00000001010010110100100000100000

0x40000008 00010001010010111111111111111011

0x4000000C 00000000100001000001000100001010

0x40000004 100101010010101000000000000000000x40000004 PC

1001010100101010000000000000000 IR

0x40000000 00000001010010110100100000100000

0x40000004 10010101001010100000000000000000

0x40000008 00010001010010111111111111111011

0x4000000C 00000000100001000001000100001010

0x40000008 PC

1001010100101010000000000000000 IR

Memoria Procesador

Page 10: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Diseño de un camino de datos sencillo

Procesador monociclo:

√ Comenzaremos por los elementos básicos y sus

funciones asociadas

√ Veremos los elementos necesarios para

implementarlos

√ Veremos un conjunto de instrucciones básico

√ Veremos como implementar estas instrucciones

Page 11: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Diseño de un camino de datos sencillo

Contador de programa:

√ Cada instrucción está en una dirección de memoria dada

√ Almacenamos la dirección en el registro PC

√ Tras procesar una instrucción avanzamos el contador hasta la

siguiente instrucción

Memoria deinstrucciones

Instrucción

DirecciónPC

Sumador4

Page 12: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Diseño de un camino de datos sencillo

Operaciones tipo R:

√ Involucran tres registros: dos de lectura y uno de

escritura

√ Usan la ALU para realizar las operaciones

Instrucción

EscribirReg

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

RE

GIS

TR

OS

3 Operación de la ALU

Cero

Resultadode la ALU

ALU

Page 13: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Diseño de un camino de datos sencillo

Acceso a memoria:

√ Instrucciones lw y sw

√ La dirección se indica con un registro más un

desplazamiento de 16 bits con signo

√ El desplazamiento se extiende a 32 bits

lw $t0, 8($s0) 100011 10000 01000 0000000000001000

sw $t0, 32($s0) 101011 10000 01000 0000000000100000

Page 14: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Diseño de un camino de datos sencillo

Memoria de Datos

Dirección

Dato aescribir

Datoleído

Instrucción

16 32

3 Operación de la ALU

EscribirReg

LeerMem

EscribirMem

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

RE

GIS

TR

OS

Cero

Resultadode la ALU

ALU

Extensiónde signo

Page 15: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Diseño de un camino de datos sencillo

Saltos condicionales:

√ Evalúan si dos registros contienen ó no el mismo

valor

√ Si la condición se cumple aplican el salto

√ El salto es relativo con signo

√ Los 16 bits se extienden a 32 y se desplazan 2

posiciones a la izquierda para direccionar sólo

palabras completas

√ El PC ya se ha actualizado a PC + 4

Page 16: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Diseño de un camino de datos sencillo

Instrucción

16 32

EscribirReg

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

RE

GIS

TR

OS

3 Operación de la ALU

Cero

ALU

Extensiónde signo

Desp.2 bits ala izq.

Resultado

Sumador

PC +4 del camino de datos de instrucciones

Destino salto

Decidir si se hace el salto

Page 17: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Diseño de un camino de datos sencillo

Todo junto:

√ Para construir el camino de datos hemos de

combinar los elementos explicados anteriormente

√ Intentaremos reutilizar parte del hardware

√ El hardware compartido selecciona los datos

mediante multiplexores

√ Parte del hardware no se podrá reutilizar y habrá que

replicarlo

Page 18: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Diseño de un camino de datos sencillo

Instrucción

16 32

EscribirReg

FuenteALU

Mem2reg

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

RE

GIS

TR

OS

Memoria de Datos

Dirección

Dato aescribir

Datoleído

3 Operación de la ALU

LeerMem

EscribirMem

Cero

Resultadode la ALU

ALU

Extensiónde signo

Mux

Mux

Aritmética + Acceso a Memoria

Page 19: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Diseño de un camino de datos sencillo

16 32

EscribirReg

FuenteALU

Mem2reg

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

RE

GIS

TR

OS

Memoria de Datos

Dirección

Dato aescribir

Datoleído

3 Operación de la ALU

LeerMem

EscribirMem

Cero

Resultadode la ALU

ALU

Extensiónde signo

Mux

Mux

Memoria deinstrucciones

Instrucción

Direcciónde lectura

PC

Sumador4

Incorporamos gestión de PC

Page 20: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Diseño de un camino de datos sencillo

16 32

EscribirReg

FuenteALU

Mem2reg

Origen del PC

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

RE

GIS

TR

OS

Memoria de Datos

Dirección

Dato aescribir

Datoleído

3 Operación de la ALU

LeerMem

EscribirMem

Cero

Resultadode la ALU

ALU

Extensiónde signo

Mux

Mux

Mux

Memoria deinstrucciones

Instrucción

Direcciónde lectura

PC

Sumador4

Desp.2 bits ala izq.

Resultado

Sumador

Añadimos saltos condicionales

Page 21: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Inconvenientes de la implementación

monociclo

El ciclo de reloj está definido por la instrucción

más lenta

No es posible reutilizar ninguna unidad funcional

Estos inconvenientes se verían agravados en

una arquitectura más compleja que la

arquitectura MIPS

Page 22: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Evaluación del rendimiento

√ Supóngase los tiempos de ejecución de las unidades

funcionales siguientes:

Acceso a memoria: 2ns

ALU y sumadores: 2ns

Acceso a registros: 1ns

√ ¿Cúal de las siguientes realizaciones será más rápida?

Una realización en la que cada instrucción se ejecuta en un ciclo

de tamaño fijo (cada instrucción tarda lo que tardaría la más

lenta).

Una realización donde cada instrucción se ejecuta en un ciclo de

longitud variable (cada instrucción tarda únicamente lo

necesario)

Page 23: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Cálculo del ciclo de reloj

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

RE

GIS

TR

OS

Cero

Resultadode la ALU

ALU

Extensiónde signo

Control

Mux

Mux

Memoria deinstrucciones

Instrucción

Direcciónde lectura

PC

Sumador4

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Inst. [25-21]

Inst. [20-16]

Inst. [15-11]

Inst. [31-26]

Inst. [25-0]

26 28

Dirección de jump. [31-0]

PC + 4 [31-28]

16 32Controlde laALU

Resultado

Sumador

Inst. [15-0]

Inst. [5-0]

Memoria de Datos

Dirección

Dato aescribir

Datoleído

Mux

Mux

Mux

EscribirReg

SaltoIncond

RegDest

Fuente ALU

Salt Cond

ALUop

Mem2regLeerMem

EscribirMem

1 ns1 ns2 ns2 ns

2 ns2 ns2 ns2 ns

2 ns2 ns2 ns2 ns

Page 24: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Cálculo del ciclo de reloj

Tipo de

instrucciónUnidades funcionales utilizadas por cada tipo de instrucción ns

AritméticaCargar

instrucción

Lectura de

registrosALU

Escritura de

registros6

lwCargar

instrucción

Lectura de

registrosALU

Lectura

memoria

Escritura de

registros8

swCargar

instrucción

Lectura de

registrosALU

Escritura en

memoria7

Salto

condicional

Cargar

instrucción

Lectura de

registrosALU 5

JumpCargar

instrucción2

Page 25: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Evaluación del rendimiento

Tiempo medio ejecución para monociclo: 8 ns

Tiempo medio ejecución ideal:

6 x 44% + 8 x 24% + 7 x 12% + 5 x 18% + 2 x 2% = 6.3 ns

Rendimiento relativo: 8 / 6.3 = 1.27

Aritméticas: 44% lw: 24% sw: 12%

Saltos condicionales: 18% Jump: 2%

Page 26: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Reducción de costes

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

RE

GIS

TR

OS

Cero

Resultadode la ALU

ALU

Extensiónde signo

Control

Mux

Mux

Memoria deinstrucciones

Instrucción

Direcciónde lectura

PC

Sumador4

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Inst. [25-21]

Inst. [20-16]

Inst. [15-11]

Inst. [31-26]

Inst. [25-0]

26 28

Dirección de jump. [31-0]

PC + 4 [31-28]

16 32Controlde laALU

Resultado

Sumador

Inst. [15-0]

Inst. [5-0]

Memoria de Datos

Dirección

Dato aescribir

Datoleído

Mux

Mux

Mux

Page 27: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Reducción de costes

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

RE

GIS

TR

OS

Cero

Resultadode la ALU

ALU

Extensiónde signo

Control

Mux

Mux

Memoria deinstrucciones

Instrucción

Direcciónde lectura

PC

Sumador4

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Inst. [25-21]

Inst. [20-16]

Inst. [15-11]

Inst. [31-26]

Inst. [25-0]

26 28

Dirección de jump. [31-0]

PC + 4 [31-28]

16 32Controlde laALU

Resultado

Sumador

Inst. [15-0]

Inst. [5-0]

Memoria de Datos

Dirección

Dato aescribir

Datoleído

Mux

Mux

Mux

Page 28: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Implementación multiciclo

Dedicaremos varios ciclos a cada instrucción

Necesitaremos

√ Más multiplexores

√ Más registros

Cada dato y resultado estará en un registro para

que no se destruya al terminar el ciclo

Page 29: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Esquema multiciclo

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

RE

GIS

TR

OSMemoria

Instruccioneso datos

Dirección

Resgistro de datos dememoria

Registro deinstrucciones

ALU

A

BDato

SalidaALU

PC

Page 30: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Sin coste adicional

Implementación multiciclo

RE

GIS

TR

OS

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

Instrucción[25-21]

Registro de instrucción

Instrucción[20-16]

Instrucción[15-0]

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

2

3

A

B

Registro de datos de

memoria Exten.signo

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Memoria

Instruccioneso datos

Dirección

Datos

PC

Instr.[15-0]

16

26

32

4

Instr.[15-11]

Instrucción [25-0]

PC [31-28]

Saltoincond. [31-0]28

Mux

0

1

2

Cero

ResultadoALU

ALU

SalidaALU

Page 31: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Carga de una instrucción

RE

GIS

TR

OS

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

Instrucción[25-21]

Registro de instrucción

Instrucción[20-16]

Instrucción[15-0]

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

2

3

A

B

Registro de datos de

memoria Exten.signo

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Memoria

Instruccioneso datos

Dirección

Datos

PC

Instr.[15-0]

16

26

32

4

Instr.[15-11]

Instrucción [25-0]

PC [31-28]

Saltoincond. [31-0]28

Mux

0

1

2

Cero

ResultadoALU

ALU

SalidaALU

Page 32: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Instrucciones Aritmético-Lógicas: Búsqueda

de registros

RE

GIS

TR

OS

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

Instrucción[25-21]

Registro de instrucción

Instrucción[20-16]

Instrucción[15-0]

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

2

3

A

B

Registro de datos de

memoria Exten.signo

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Memoria

Instruccioneso datos

Dirección

Datos

PC

Instr.[15-0]

16

26

32

4

Instr.[15-11]

Instrucción [25-0]

PC [31-28]

Saltoincond. [31-0]28

Mux

0

1

2

Cero

ResultadoALU

ALU

SalidaALU

Page 33: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Instrucciones Aritmético-Lógicas: Ejecución

RE

GIS

TR

OS

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

Instrucción[25-21]

Registro de instrucción

Instrucción[20-16]

Instrucción[15-0]

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

2

3

A

B

Registro de datos de

memoria Exten.signo

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Memoria

Instruccioneso datos

Dirección

Datos

PC

Instr.[15-0]

16

26

32

4

Instr.[15-11]

Instrucción [25-0]

PC [31-28]

Saltoincond. [31-0]28

Mux

0

1

2

Cero

ResultadoALU

ALU

SalidaALU

Page 34: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Instrucciones Aritmético-Lógicas: Guarda

resultados en registro

RE

GIS

TR

OS

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

Instrucción[25-21]

Registro de instrucción

Instrucción[20-16]

Instrucción[15-0]

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

2

3

A

B

Registro de datos de

memoria Exten.signo

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Memoria

Instruccioneso datos

Dirección

Datos

PC

Instr.[15-0]

16

26

32

4

Instr.[15-11]

Instrucción [25-0]

PC [31-28]

Saltoincond. [31-0]28

Mux

0

1

2

Cero

ResultadoALU

ALU

SalidaALU

Page 35: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Instrucción lw:

Búsqueda de registros

RE

GIS

TR

OS

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

Instrucción[25-21]

Registro de instrucción

Instrucción[20-16]

Instrucción[15-0]

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

2

3

A

B

Registro de datos de

memoria Exten.signo

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Memoria

Instruccioneso datos

Dirección

Datos

PC

Instr.[15-0]

16

26

32

4

Instr.[15-11]

Instrucción [25-0]

PC [31-28]

Saltoincond. [31-0]28

Mux

0

1

2

Cero

ResultadoALU

ALU

SalidaALU

Page 36: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Instrucción lw:

Cálculo de la dirección

RE

GIS

TR

OS

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

Instrucción[25-21]

Registro de instrucción

Instrucción[20-16]

Instrucción[15-0]

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

2

3

A

B

Registro de datos de

memoria Exten.signo

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Memoria

Instruccioneso datos

Dirección

Datos

PC

Instr.[15-0]

16

26

32

4

Instr.[15-11]

Instrucción [25-0]

PC [31-28]

Saltoincond. [31-0]28

Mux

0

1

2

Cero

ResultadoALU

ALU

SalidaALU

Page 37: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Instrucción lw:

Lectura de memoria

RE

GIS

TR

OS

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

Instrucción[25-21]

Registro de instrucción

Instrucción[20-16]

Instrucción[15-0]

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

2

3

A

B

Registro de datos de

memoria Exten.signo

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Memoria

Instruccioneso datos

Dirección

Datos

PC

Instr.[15-0]

16

26

32

4

Instr.[15-11]

Instrucción [25-0]

PC [31-28]

Saltoincond. [31-0]28

Mux

0

1

2

Cero

ResultadoALU

ALU

SalidaALU

Page 38: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Instrucción lw:

Guarda dato en registro

RE

GIS

TR

OS

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

Instrucción[25-21]

Registro de instrucción

Instrucción[20-16]

Instrucción[15-0]

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

2

3

A

B

Registro de datos de

memoria Exten.signo

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Memoria

Instruccioneso datos

Dirección

Datos

PC

Instr.[15-0]

16

26

32

4

Instr.[15-11]

Instrucción [25-0]

PC [31-28]

Saltoincond. [31-0]28

Mux

0

1

2

Cero

ResultadoALU

ALU

SalidaALU

Page 39: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Instrucción sw:

Búsqueda de registros

RE

GIS

TR

OS

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

Instrucción[25-21]

Registro de instrucción

Instrucción[20-16]

Instrucción[15-0]

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

2

3

A

B

Registro de datos de

memoria Exten.signo

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Memoria

Instruccioneso datos

Dirección

Datos

PC

Instr.[15-0]

16

26

32

4

Instr.[15-11]

Instrucción [25-0]

PC [31-28]

Saltoincond. [31-0]28

Mux

0

1

2

Cero

ResultadoALU

ALU

SalidaALU

Page 40: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Instrucción sw:

Cálculo de la dirección

RE

GIS

TR

OS

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

Instrucción[25-21]

Registro de instrucción

Instrucción[20-16]

Instrucción[15-0]

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

2

3

A

B

Registro de datos de

memoria Exten.signo

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Memoria

Instruccioneso datos

Dirección

Datos

PC

Instr.[15-0]

16

26

32

4

Instr.[15-11]

Instrucción [25-0]

PC [31-28]

Saltoincond. [31-0]28

Mux

0

1

2

Cero

ResultadoALU

ALU

SalidaALU

Page 41: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Instrucción sw:

Escritura en memoria

RE

GIS

TR

OS

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

Instrucción[25-21]

Registro de instrucción

Instrucción[20-16]

Instrucción[15-0]

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

2

3

A

B

Registro de datos de

memoria Exten.signo

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Memoria

Instruccioneso datos

Dirección

Datos

PC

Instr.[15-0]

16

26

32

4

Instr.[15-11]

Instrucción [25-0]

PC [31-28]

Saltoincond. [31-0]28

Mux

0

1

2

Cero

ResultadoALU

ALU

SalidaALU

Page 42: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Instrucción beq:

Búsqueda de registros

RE

GIS

TR

OS

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

Instrucción[25-21]

Registro de instrucción

Instrucción[20-16]

Instrucción[15-0]

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

2

3

A

B

Registro de datos de

memoria Exten.signo

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Memoria

Instruccioneso datos

Dirección

Datos

PC

Instr.[15-0]

16

26

32

4

Instr.[15-11]

Instrucción [25-0]

PC [31-28]

Saltoincond. [31-0]28

Mux

0

1

2

Cero

ResultadoALU

ALU

SalidaALU

Page 43: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Instrucción beq:

Comprobación con éxito

RE

GIS

TR

OS

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

Instrucción[25-21]

Registro de instrucción

Instrucción[20-16]

Instrucción[15-0]

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

2

3

A

B

Registro de datos de

memoria Exten.signo

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Memoria

Instruccioneso datos

Dirección

Datos

PC

Instr.[15-0]

16

26

32

4

Instr.[15-11]

Instrucción [25-0]

PC [31-28]

Saltoincond. [31-0]28

Mux

0

1

2

Cero

ResultadoALU

ALU

SalidaALU

Page 44: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Instrucción beq:

Comprobación sin éxito

RE

GIS

TR

OS

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

Instrucción[25-21]

Registro de instrucción

Instrucción[20-16]

Instrucción[15-0]

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

2

3

A

B

Registro de datos de

memoria Exten.signo

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Memoria

Instruccioneso datos

Dirección

Datos

PC

Instr.[15-0]

16

26

32

4

Instr.[15-11]

Instrucción [25-0]

PC [31-28]

Saltoincond. [31-0]28

Mux

0

1

2

Cero

ResultadoALU

ALU

SalidaALU

Page 45: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Instrucción Jump:

Ejecución del salto

RE

GIS

TR

OS

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

Instrucción[25-21]

Registro de instrucción

Instrucción[20-16]

Instrucción[15-0]

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

2

3

A

B

Registro de datos de

memoria Exten.signo

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Memoria

Instruccioneso datos

Dirección

Datos

PC

Instr.[15-0]

16

26

32

4

Instr.[15-11]

Instrucción [25-0]

PC [31-28]

Saltoincond. [31-0]28

Mux

0

1

2

Cero

ResultadoALU

ALU

SalidaALU

Page 46: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

CPI multiciclo

Hemos repartido las operaciones de forma que

el tiempo máximo de computación es el de una

unidad funcional

La unidades más lentas necesitan 2 ns para

completar su funcionamiento

Por tanto el ciclo de reloj durará 2 ns

Por ejemplo, una operación aritmética necesita

4 ciclos = 8 ns

Page 47: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

CPI multiciclo

Tipo de instrucción % Multiciclo

Aritmética 44 4

lw 24 5

sw 12 4

Salto condicional 18 3

Jump 2 3

4,04

Page 48: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Diseño de la unidad de control

Realización monociclo: señales de control

Page 49: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Diseño de la unidad de control

Activación de las líneas determinada por el código de operación:

Page 50: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Diseño de la unidad de control

La función de control para una realización monociclo

está especificada por la siguiente tabla de verdad:señal Formato 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

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

entr

adas

sa

lidas

Ejercicio:

Mapas de Karnaugh

Implementación

combinacional

Page 51: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Diseño de la unidad de control

Realización multiciclo: señales de control

RE

GIS

TR

OS

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

Instrucción[25-21]

Registro de instrucción

Instrucción[20-16]

Instrucción[15-0]

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

2

3

A

B

Registro de datos de

memoria Exten.signo

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Memoria

Instruccioneso datos

Dirección

Datos

PC

Instr.[15-0]

16

26

32

4

Instr.[15-11]

Instrucción [25-0]

PC [31-28]

Saltoincond. [31-0]28

Mux

0

1

2

Cero

ResultadoALU

ALU

SalidaALU

SelALUAEscrRegRegDestEscrIREscrMemLeerMem

IoD

EscribirPC

Mem2Reg

ControlALU

ALUop

FuentePCSelALUB

Page 52: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Diseño de la unidad de control

Realización multiciclo: señales de control

RE

GIS

TR

OS

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

Instrucción[25-21]

Registro de instrucción

Instrucción[20-16]

Instrucción[15-0]

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

2

3

A

B

Registro de datos de

memoria Exten.signo

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Memoria

Instruccioneso datos

Dirección

Datos

PC

Instr.[15-0]

16

26

32

4

Instr.[15-11]

Instrucción [25-0]

PC [31-28]

Saltoincond. [31-0]28

Mux

0

1

2

Cero

ResultadoALU

ALU

SalidaALU

SelALUA

EscrReg

RegDestEscrIR

EscrMem

LeerMem

IoD

Control

OP[31-26]

EscrPC

EscrPC Cond

Mem2Reg

ControlALU

ALUop

FuentePC

SelALUB

Page 53: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Diseño de la unidad de control

El control del camino de datos multiciclo debe

especificar:

√ Las señales que se van a inicializar en cada paso

√ El paso siguiente de la secuencia

Dos técnicas diferentes:

√ Control cableado. Se basa en las máquinas de

estados finitos.

√ Control microprogramado. Se representa en forma

de programa de control

Page 54: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Control cableado

Construiremos una máquina de estados finitos (autómata de Moore)

El camino de datos multiciclo se controla con las salidas de la unidad de control (la máquina de estados)

Las entradas de la unidad de control serán

√ Los bits de la instrucción

√ Los indicadores internos

Máquina de estados finitos:

√ Cada estado de la máquina representa una etapa y tarda un ciclo de reloj

√ Los dos primeros pasos son idénticos para todas las instrucciones

√ A partir de la tercera etapa depende del código de operación

√ Después de la última etapa la máquina debe volver al estado inicial

Page 55: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Control cableado

Realización de máquinas de estados finitos de control:

Estado 0

Inicio

Acceso a memoria

Estado 1

Cargade

instrucción

Decodificarinstrucciones

CargarRegistros

Aritmético-lógicas

beq jump

Page 56: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Estado 0. Cargar Instrucción

RE

GI S

TR

OS

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

Instrucción[25-21]

Registro de instrucción

Instrucción[20-16]

Instrucción[15-0]

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

2

3

A

B

Registrode datos de

memoria Exten.signo

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Memoria

Instruccioneso datos

Dirección

Datos

PC

Instr.[15-0]

16

26

32

4

Instr.[15-11]

Instrucción [25-0]

PC [31-28]

Saltoincond. [31-0]28

Mux

0

1

2

Cero

ResultadoALU

ALU

SalidaALU

SelALUA

EscrReg

RegDestEscrIR

EscrMem

LeerMem

IoD

Control

OP[31-26]

EscrPC

EscrPC Cond

Mem2Reg

ControlALU

ALUop

FuentePC

SelALUB

Estado 0

Inicio

LeerMemSelALUA = 0

IoD = 0EscrIREscrPC

FuentePC = 00

selALUB = 01ALUOp = 00

A Estado 1

Page 57: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Estado 1. Decodificación

RE

GIS

TR

OS

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

Instrucción[25-21]

Registro de instrucción

Instrucción[20-16]

Instrucción[15-0]

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

2

3

A

B

Registro de datos de

memoria Exten.signo

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Memoria

Instruccioneso datos

Dirección

Datos

PC

Instr.[15-0]

16

26

32

4

Instr.[15-11]

Instrucción [25-0]

PC [31-28]

Saltoincond. [31-0]28

Mux

0

1

2

Cero

ResultadoALU

ALU

SalidaALU

SelALUA

EscrReg

RegDestEscrIR

EscrMem

LeerMem

IoD

Control

OP[31-26]

EscrPC

EscrPC Cond

Mem2Reg

ControlALU

ALUop

FuentePC

SelALUB

Estado 1

De Estado 0 SelALUA = 0selALUB = 11ALUOp = 00

Estado ?

Page 58: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Control del acceso a memoria

De Estado 1

Estado 4

Estado 5

Acceso a memoria

Acceso a memoria

(Op = “LW”) o (Op = “SW”)

(Op = “LW”) (Op = “SW”)

Cálculodirección de memoria

Etapa de escri tura

Estado 3

Estado 2

Vuelta al

Estado 0

SelALUA = 1

selALUB = 10ALUOp = 00

LeerMemIoD = 1

EscrMemI0D = 1

EscrRegMem2Reg = 1RegDest = 0

Page 59: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Control de operaciones aritmético-lógicas

De Estado 1

Finalización de la operación

(Op = Aritmético-lógica)

(Op = “LW”)

Ejecución de la operación

Estado 7

Estado 6

Vuelta al

Estado 0

SelALUA = 1selALUB = 00ALUOp = 10

RegDest = 1EscrReg

Mem2Reg

Page 60: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Control de beq

De Estado 1

(Op = “beq”)

Finalización de salto condicional

Estado 8

Vuelta al Estado 0

SelALUA = 1

selALUB = 00ALUOp = 01

EscrPCCondFuentePC = 01

Page 61: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Control de jump

De Estado 1

(Op = “j”)

Finalización de jump

Estado 9

Vuelta al Estado 0

EscrPCCondFuentePC = 10

Page 62: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Máquina de estados completa

Estado 0

Inicio

LeerMemSelALUA = 0

IoD = 0EscrIREscrPC

FuentePC = 00

selALUB = 01ALUOp = 00

Estado 1

SelALUA = 0selALUB = 11ALUOp = 00

(Op = “LW”) o (Op = “SW”)

Estado 4

Estado 5

Acceso a memoria

Acceso a memoria

(Op = “LW”) (Op = “SW”)

Cálculodirección de memoria

Etapa de escritura

Estado 3

Estado 2

SelALUA = 1selALUB = 10ALUOp = 00

LeerMemIoD = 1

EscrMemI0D = 1

EscrRegMem2Reg = 1RegDest = 0

Finalización de la operación

(Op

= A

ritm

étic

o-ló

gica

)

Ejecución de la operación

(Op =

“beq”)

Finalización de salto condicional

Estado 8

SelALUA = 1selALUB = 00ALUOp = 01EscrPCCond

FuentePC = 01

(Op = “j”)

Finalización de jump Estado 9

EscrPCCondFuentePC = 10

(Op = “LW”)

Estado 7

Estado 6

SelALUA = 1selALUB = 00ALUOp = 10

RegDest = 1EscrReg

Mem2Reg

Page 63: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Implementación física

Lógica de control

Salidas

Código de operación desde

el registro deinstrucción

Señales de controlpara el

camino de datos

Entradas

Registro de estado

Concepto Bits

Señales de

control16

Código de

operación6

Estado 4

Page 64: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

ROM

Lógica de control

PLA y/ó ROM

Salidas

Entradas

Código de operaciónBits [31-26] del

registro de instrucción

Registro de estado

FuentePC (2)ALUop (2)SelALUASelALUB (2)EscrRegRegDestEscrPC condEscrPCIoDLeerMemEscrMemMem2RegEscrIR

ROM única

2 palabras de 20 bits

= 20480 bits

10

Código de operación desde

el registro deinstrucción

Estado Nuevoestado

Señales de control

ROM 1

2 palabras de 16 bits

= 256 bits

4EstadoSeñales de control

ROM 2

2 palabras de 4 bits

= 4096 bits

10

Código de operación desde

el registro deinstrucción

Estado

Nuevoestado

Page 65: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

PLA

Lógica de control

PLA y/ó ROM

Salidas

Entradas

Código de operaciónBits [31-26] del

registro de instrucción

Registro de estado

FuentePC (2)ALUop (2)SelALUASelALUB (2)EscrRegRegDestEscrPC condEscrPCIoDLeerMemEscrMemMem2RegEscrIR

Op5

Op4

Op3

Op2

Op1

Op0

S3

S2

S1

S0

IoD

IEscrIR

LeerMem

EscrMem

EscrPC

EscrPC cond

Mem2Reg

FuentePC1

ALUOp1

SelALUB0

SelALUA

EscrReg

RegDest

NS3

NS2

NS1

NS0

SelALUB1

ALUOp2

FuentePC2

Page 66: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Control microprogramado

Cada grupo de señales causa la ejecución de una operación básica

específica: microoperación.

La interpretación y ejecución de una instrucción da lugar a una

secuencia de operaciones máquina básicas (microoperaciones),

cada una controlada por un grupo de señales de control,

microinstrucción.

Una secuencia de microinstrucciones constituye un microprograma.

El código de operación de una instrucción máquina, cuando es

decodificado, señala la microrrutina apropiada incluida en la

memoria microprogramada.

Las microinstrucciones suelen estar ubicadas en una ROM o en una

PLA, por lo que pueden asignarse direcciones a las

microinstrucciones.

Page 67: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Control microprogramado

Lógica de control

PLA y/ó ROM

Salidas

Entradas

Código de operaciónBits [31-26] del

registro de instrucción

Registro de estado

CtrlDir

Sumador

1

4

FuentePC (2)ALUop (2)

SelALUASelALUB (2)

EscrRegRegDestEscrPC condEscrPCIoDLeerMem

EscrMemMem2Reg

EscrIR

Selección

6

• El sumador avanza

secuencialmente por los

estados

• No en todos los casos se

pasa al estado siguiente:

• CtrlDir

• Selección

Page 68: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Secuencia de estados √ Tras terminar una instrucción se ha de retornar al estado 0

√ Las instrucciones sólo tienen algunos estados en común, después divergen

√ Esta divergencia puede ocurrir en varios lugares en el diagrama de estados

√ Necesitamos contemplar estos casos

PLA y/ó ROM

Entradas

Código de operaciónBits [31-26] del

registro de instrucción

Registro de estado

CtrlDir

Sumador

1

4

MUX3 2 1 0

Selección

Tabla de envío 2 Tabla de envío 1

6

0

• CtrlDir = 0

• Nueva instrucción

• CtrlDir = 1

• Tipo de instrucción

• CtrlDir = 2

• Leer/escribir memoria

• CtrlDir = 3

• Secuencia normal

Page 69: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Secuencia de estados

√ Cada tabla de envío está asociada a un estado del que no tiene un único

estado destino

√ En el caso general crearemos una tabla (ROM/PLA) para cada estado con

múltiples estados-destino

√ En general, en un procesador complejo, los estados se seleccionarán de

forma secuencial con pocas excepciones

Tipo de

instrucción

Tabla 1 Tabla2

lw 2 3

sw 2 5

aritmético-lógica 6

beq 8

jump 9

Page 70: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Formato de la microinstrucción

Etiqueta Control

ALU

Fuente

1

Fuente

2

Control

Regs

Memoria Control

EscrPC

Secuencia

Inicio Sumar PC 4 Leer PC ALU Siguiente

Sumar PC ExtShft Leer Tabla 1

Mem1 Sumar A Extend Tabla 2

LW2 Leer ALU Siguiente

Escr Mem Ir a 0

SW2 Escr ALU Ir a 0

Aritmetico1 Función A B Siguiente

Escr ALU Ir a 0

beq1 Restar A B Cond. ALU Ir a 0

jump1 dir. jump Ir a 0

Page 71: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Procesamiento de excepciones

Una excepción es un suceso inesperado que se produce en el procesador, por ejemplo el desbordamiento aritmético

Una interrupción es un suceso que provoca un cambio inesperado, pero se produce externamente al procesador

Ejemplos de implementación de excepciones:

√ Instrucción indefinida

√ Desbordamiento aritmético

Acciones a realizar:

√ Guardar la dirección de la instrucción causante en el registro contador de programa de la excepción (EPC)

√ Transferir el control al sistema operativo en alguna dirección específica

√ El sistema operativo ejecuta una rutina específica

√ Finalizar el programa o continuar con su ejecución, usando EPC para saber dónde retomar la ejecución

Page 72: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Procesamiento de excepciones

Ejemplo de implementación:

√ Saltaremos a la dirección 0xC0000000

√ Necesitamos lo siguientes registros

Un registro de 32 bits para el EPC

Un registro de 1 bit para el Registro de Causa

√ Y las señales de control

Escribir en EPC

Escribir en Registro de Causa

Tipo de excepción (1 bit)

Page 73: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Procesamiento de excepciones Camino de datos con los elementos necesarios para el

procesamiento de excepciones:

SelALUA

EscrReg

RegDestEscrIR

EscrMem

LeerMem

IoD

Control

OP[31-26]

EscrPC

EscrPC Cond

Mem2Reg

ALUop

FuentePC

EscrEPCCausaInt

EscrCausa

SelALUB

RE

GIS

TR

OS

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

Instrucción[25-21]

Registro de instrucción

Instrucción[20-16]

Instrucción[15-0]

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

2

3

A

B

Registro de datos de

memoria Exten.signo

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Memoria

Instruccioneso datos

Dirección

Datos

PC

Instr.[15-0]

26

4

Instr.[15-11]

Instrucción [25-0]

PC [31-28]

28

16 32

Saltoincond. [31-0]

C0000000

Mux

0

1

2

3

Cero

ResultadoALU

ALU

SalidaALU EPC

ControlALU

Page 74: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

SelALUA

EscrReg

RegDestEscrIR

EscrMem

LeerMem

IoD

Control

OP[31-26]

EscrPC

EscrPC Cond

Mem2Reg

ALUop

FuentePC

EscrEPCCausaInt

EscrCausa

SelALUB

RE

GIS

TR

OS

Reg. delectura 1

Dato a escribir

Datoleído 1

Datoleído 2

Reg. delectura 2

Reg. deescritura

Instrucción[25-21]

Registro de instrucción

Instrucción[20-16]

Instrucción[15-0]

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

Mux

0

1

2

3

A

B

Registro de datos de

memoria Exten.signo

Desp.2 bits ala izq.

Desp.2 bits ala izq.

Memoria

Instruccioneso datos

Dirección

Datos

PC

Instr.[15-0]

26

4

Instr.[15-11]

Instrucción [25-0]

PC [31-28]

28

16 32

Saltoincond. [31-0]

C0000000

Mux

0

1

2

3

Cero

ResultadoALU

ALU

SalidaALU EPC

ControlALU

Procesamiento de excepciones

Page 75: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU) ...

Procesamiento de excepciones

Estado 0

Inicio

LeerMemSelALUA = 0

IoD = 0EscrIREscrPC

FuentePC = 00

selALUB = 01ALUOp = 00

Estado 1

SelALUA = 0selALUB = 11ALUOp = 00

(Op = “LW”) o (Op = “SW”)

Estado 4

Estado 5

Acceso a memoria

Acceso a memoria

(Op = “LW”) (Op = “SW”)

Cálculodirección de memoria

Etapa de escritura

Estado 3

Estado 2

SelALUA = 1selALUB = 10ALUOp = 00

LeerMem

IoD = 1

EscrMem

I0D = 1

EscrRegMem2Reg = 1RegDest = 0

Finalización de la operación

(Op

= A

ritm

-Lóg

icas

)

Ejecución de la operac ión

(Op =

“beq”)

Finalización de salto condicional

Estado 8

SelALUA = 1selALUB = 00ALUOp = 01

EscrPCCondFuentePC = 01

(Op = “j”)(Op = otros) Estado 9

EscrPCCondFuentePC = 10

(Op = “LW”)

Estado 7

Estado 6

SelALUA = 1selALUB = 00ALUOp = 10

RegDest = 1EscrReg

Mem2Reg

Estado 10CausaInt=0EscrCausa

SelALUA = 0

EscrPCFuentePC = 11

selALUB = 01ALUOp = 01

EscrEPC

Estado 11CausaInt=1EscrCausa

SelALUA = 0

EscrPCFuentePC = 11

selALUB = 01ALUOp = 01

EscrEPCDesbordamiento

Finalización de jump