diseño del procesador mips r2000 - uv.es · i testtesttesttesttestdiseño del procesador mips...

99
Diseño del procesador MIPS R2000 Aula Virtual IS09 Sergio Barrachina Mir Área de Arquitectura y Tecnología de Computadores Dpt. de Ingeniería y Ciencia de los Computadores Universidad Jaume I

Upload: others

Post on 20-Oct-2019

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

Diseño del procesador MIPS R2000

Aula Virtual → IS09

Sergio Barrachina MirÁrea de Arquitectura y Tecnología de Computadores

Dpt. de Ingeniería y Ciencia de los Computadores

Universidad Jaume I

Page 2: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

Índice

1. Objetivos 4

2. Contenido y bibliografía 5

3. Introducción 6

3.1. Metodología de sincronización . . . . . . . . . . . . . . . 11

4. Construcción de la ruta de datos 14

4.1. Búsqueda de instrucciones e incremento del PC . . . . . 15

4.2. Instrucciones aritmético-logicas (tipo R) . . . . . . . . . . 17

4.3. Instrucciones de carga-almacenamiento . . . . . . . . . . 19

4.4. Instrucción de salto condicional . . . . . . . . . . . . . . 21

5. Rutas monociclo y multiciclo 23

Page 3: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

6. Ruta de datos monociclo 24

7. Unidad de control monociclo 34

7.1. El control de la ALU . . . . . . . . . . . . . . . . . . . . 35

7.2. Formatos de instrucción . . . . . . . . . . . . . . . . . . 40

7.3. Ruta de datos con señales de control . . . . . . . . . . . 44

7.4. Ruta de datos monociclo con control . . . . . . . . . . . . 46

7.5. Añadir una nueva instrucción . . . . . . . . . . . . . . . . 56

7.6. Desventajas de la realización monociclo . . . . . . . . . . 59

Page 4: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

1 Objetivos

I testtesttesttesttestDiseño del procesador MIPS R2000 – 4 / 59

➲ ❏ ✘

➤ Dada una instrucción, conocer qué elementos y conexiones son

necesarias para su ejecución.

➤ Poder construir la ruta de datos completa, tanto monociclo como

multiciclo.

➤ Ser capaz de modificar la ruta de datos de un procesador monociclo

o multiciclo para ampliar su juego de instrucciones.

➤ Conocer las ventajas y desventajas, en implementación y

rendimiento, de un procesador multiciclo frente a otro monociclo.

Page 5: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

2 Contenido y bibliografía

I testtesttesttesttestDiseño del procesador MIPS R2000 – 5 / 59

➲ ❏ ✘

➤ Contenido:

➭ Introducción al diseño de un procesador.

➭ Construcción de la ruta de datos monociclo.

➭ Diseño de la unidad de control monociclo.

➭ Construcción de la ruta de datos multiciclo.

➭ Diseño de la unidad de control multiciclo.

➤ Bibliografía:

➭ Estructura y Diseño de Computadores: interficie

circuitería/programación (2000). David A. Patterson y John L.

Hennessy. Capítulo 5.

Page 6: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

3 Introducción

I testtesttesttesttestDiseño del procesador MIPS R2000 – 6 / 59

➲ ❏ ✘

➤ En este capítulo se va a construir:

➭ la ruta de datos y

➭ la unidad de control

para dos realizaciones del siguiente subconjunto del repertorio de

instrucciones del MIPS:

➭ Acceso a memoria: «lw » y «sw».

➭ Aritmético-lógicas: «add», «sub », «and», «or » y «slt ».

➭ Salto: «beq» y, más adelante, «j ».

Page 7: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

3 Introducción (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 7 / 59

➲ ❏ ✘

➤ Gran parte de lo necesario para construir las realizaciones de las

anteriores instrucciones es común a todas ellas.

➤ Para cada instrucción, los dos primeros pasos son idénticos:

1. Enviar el contenido del PC a la memoria, cargar la instrucción de

memoria e incrementar el PC.

Page 8: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

3 Introducción (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 7 / 59

➲ ❏ ✘

➤ Gran parte de lo necesario para construir las realizaciones de las

anteriores instrucciones es común a todas ellas.

➤ Para cada instrucción, los dos primeros pasos son idénticos:

1. Enviar el contenido del PC a la memoria, cargar la instrucción de

memoria e incrementar el PC.

2. Leer uno o dos registros, dependiendo de la instrucción.

Page 9: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

3 Introducción (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 7 / 59

➲ ❏ ✘

➤ Gran parte de lo necesario para construir las realizaciones de las

anteriores instrucciones es común a todas ellas.

➤ Para cada instrucción, los dos primeros pasos son idénticos:

1. Enviar el contenido del PC a la memoria, cargar la instrucción de

memoria e incrementar el PC.

2. Leer uno o dos registros, dependiendo de la instrucción.

➤ Tras estos dos pasos, depende de la instrucción.

➤ Aún así, para las instrucciones del mismo tipo, las acciones

generalmente son las mismas.

Page 10: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

3 Introducción (III)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 8 / 59

➲ ❏ ✘

➤ Esquema de alto nivel de una realización del MIPS:

ALU

Reg. de

lectura 1

Reg. de

lectura 2

Reg. de

escritura

Dato a

escribir

Dato

leído 1

Dato

leído 2

Registros

Dirección

Dato a

escribir

Dato

leído

Memoria

de DatosDirección

de lectura

Instrucción

Memoria de

Instrucciones

PC

➤ Este esquema se irá detallando a lo largo del tema.

Page 11: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

3 Introducción (IV)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 9 / 59

➲ ❏ ✘

➤ Las unidades funcionales que se utilizan son

de dos tipos:

➭ Combinacionales.

➭ Secuenciales.

➤ En las unidades combinacionales:

➭ La salida depende exclusivamente del

valor de las entradas.ControlALU

ALUCero

Resultado

de la ALU

3

Page 12: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

3 Introducción (V)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59

➲ ❏ ✘

➤ Las unidades secuenciales:

➭ Son aquellas cuya salida depende no

sólo de las entradas, sino también del

estado que almacenan.

➭ Son las que definen el estado del

computador: si se guarda su contenido,

se apaga, se enciende y se restaura

→ como si no se hubiera apagado.

➭ Las unidades combinacionales deben

partir o llegar a una unidad secuencial.

EscribirMem

LeerMem

Dirección

Dato a

escribir

Dato

leído

Memoria

de Datos

Page 13: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

3.1 Metodología de sincronización

I testtesttesttesttestDiseño del procesador MIPS R2000 – 11 / 59

➲ ❏ ✘

➤ Las unidades secuenciales síncronas poseen una entrada adicional:

el reloj.

➤ Dicha entrada controla cuándo se debe escribir en los elementos de

estado.

➤ La escritura puede provocarse por:

➭ Nivel: nivel alto o bajo.

➭ Flanco: flanco ascendente o descente.

➤ La metodología generalmente empleada es la de flanco.

➤ En la realización propuesta: flanco ascendente .

Page 14: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

3.1 Metodología de sincronización (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 12 / 59

➲ ❏ ✘

➤ Escritura controlada por flanco ascendente:

Elemento

de estado

1

Elemento

de estado

2

Lógica combinatoria

Ciclo de reloj

Page 15: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

3.1 Metodología de sincronización (III)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 13 / 59

➲ ❏ ✘

➤ La activación por flanco permite leer y escribir de un elemento de

estado en el mismo ciclo de reloj (sin que se produzca una

condición de carrera):

Elemento

de estadoLógica combinatoria

Page 16: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

4 Construcción de la ruta de datos

I testtesttesttesttestDiseño del procesador MIPS R2000 – 14 / 59

➲ ❏ ✘

➤ Forma de construir la ruta de datos:

➭ Examinar los elementos requeridos para la ejecución de las

distintas instrucciones.

➭ Construir las diferentes partes de la ruta de datos.

➭ Determinar las señales de control necesarias.

➭ Finalmente, unir las distintas partes para generar la ruta de

datos:

➟ Las señales de control seleccionaran los diferentes caminos de

la ruta de datos.

Page 17: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

4.1 Búsqueda de instrucciones e incremento del PC

I testtesttesttesttestDiseño del procesador MIPS R2000 – 15 / 59

➲ ❏ ✘

➤ Elementos necesarios:

Page 18: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

4.1 Búsqueda de instrucciones e incremento del PC

I testtesttesttesttestDiseño del procesador MIPS R2000 – 15 / 59

➲ ❏ ✘

➤ Elementos necesarios:

Dirección

de lectura

Instrucción

Memoria de

Instrucciones

P

C

Sumador

Memoria de instrucciones Contador de Programa Sumador

Page 19: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

4.1 Búsqueda de instrucciones e incremento del PC (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 16 / 59

➲ ❏ ✘

➤ Parte de la ruta de datos:

Dirección

de lectura

Instrucción

Memoria de

Instrucciones

P

C

Sumador

4

Page 20: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

4.2 Instrucciones aritmético-logicas (tipo R)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 17 / 59

➲ ❏ ✘

➤ Elementos necesarios para instrucciones tipo «add $t1,$t2,$t3»

Page 21: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

4.2 Instrucciones aritmético-logicas (tipo R)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 17 / 59

➲ ❏ ✘

➤ Elementos necesarios para instrucciones tipo «add $t1,$t2,$t3»

Reg. de

lectura 1

Reg. de

lectura 2

Reg. de

escritura

Dato a

escribir

Dato

leído 1

Dato

leído 2

Registros

EscrReg

5

5

5

ControlALU

ALUCero

Resultado

de la ALU

3

Banco de Registros ALU

Page 22: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

4.2 Instrucciones aritmético-logicas (tipo R) (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 18 / 59

➲ ❏ ✘

➤ Parte de la ruta de datos para las instrucciones aritmético-logicas:

Reg. de

lectura 1

Reg. de

lectura 2

Reg. de

escritura

Dato a

escribir

Dato

leído 1

Dato

leído 2

Registros

EscrReg

ControlALU

ALUCero

Resultadode la ALU

Instrucción

3

5

5

5

Page 23: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

4.3 Instrucciones de carga-almacenamiento

I testtesttesttesttestDiseño del procesador MIPS R2000 – 19 / 59

➲ ❏ ✘

➤ Elementos necesarios para instrucciones tipo «lw $t1,desp($t2)» o

«sw $t0,desp($t4)». Banco de registros, ALU y:

Page 24: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

4.3 Instrucciones de carga-almacenamiento

I testtesttesttesttestDiseño del procesador MIPS R2000 – 19 / 59

➲ ❏ ✘

➤ Elementos necesarios para instrucciones tipo «lw $t1,desp($t2)» o

«sw $t0,desp($t4)». Banco de registros, ALU y:

EscribirMem

LeerMem

Dirección

Dato a

escribir

Dato

leído

Memoria

de Datos

Extensiónde signo

16 32

Memoria de datos Extensión de signo

Page 25: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

4.3 Instrucciones de carga-almacenamiento (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 20 / 59

➲ ❏ ✘

➤ Parte de la ruta de datos para las instrucciones de

carga-almacenamiento:

EscribirMem

LeerMem

Dirección

Dato a

escribir

Dato

leído

Memoria

de Datos

Extensiónde signo

16 32

Reg. de

lectura 1

Reg. de

lectura 2

Reg. de

escritura

Dato a

escribir

Dato

leído 1

Dato

leído 2

Registros

EscrReg

ControlALU

ALUCero

Resultadode la ALU

Instrucción

3

5

5

5

Page 26: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

4.4 Instrucción de salto condicional

I testtesttesttesttestDiseño del procesador MIPS R2000 – 21 / 59

➲ ❏ ✘

➤ Elementos necesarios para instrucciones tipo «beq $t1,$t2,bucle»

Page 27: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

4.4 Instrucción de salto condicional

I testtesttesttesttestDiseño del procesador MIPS R2000 – 21 / 59

➲ ❏ ✘

➤ Elementos necesarios para instrucciones tipo «beq $t1,$t2,bucle»

➭ Banco de registros.

➭ ALU.

➭ Extensión del signo.

➭ Desplazamiento 2 bits a la izquierda.

➭ Sumador.

Page 28: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

4.4 Instrucción de salto condicional (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 22 / 59

➲ ❏ ✘

➤ Parte de la ruta de datos para la instrucción «beq»:

Extensiónde signo

16 32

Reg. de

lectura 1

Reg. de

lectura 2

Reg. de

escritura

Dato a

escribir

Dato

leído 1

Dato

leído 2

Registros

ControlALU

ALUCero

Resultadode la ALU

Instrucción

3

5

5

Desp. 2a la izqu.

Sumador

A la lógica de

control de salto

Destino salto

PC+4

Page 29: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

5 Rutas monociclo y multiciclo

I testtesttesttesttestDiseño del procesador MIPS R2000 – 23 / 59

➲ ❏ ✘

➤ Para completar el procesador basta con:

➭ Combinar las rutas de datos vistas en una sóla y

➭ añadir las señales y unidad de control necesarias.

➤ En este tema se verán dos realizaciones posibles:

➭ Monociclo: todas las instrucciones se ejecutan en un único ciclo

largo de instrucción.

➭ Multiciclo: utiliza múltiples ciclos de instrucción (más cortos) para

cada instrucción.

Page 30: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

6 Ruta de datos monociclo

I testtesttesttesttestDiseño del procesador MIPS R2000 – 24 / 59

➲ ❏ ✘

➤ Ésta es la realización más sencilla posible de un procesador.

➤ Se construirá uniendo las partes vistas anteriormente y añadiendo

las señales de control necesarias.

➤ Recordatorio: las instrucciones que se implementarán son:

➭ «add», «sub », «and», «or », «slt »,

➭ «lw », «sw»,

➭ «beq», y posteriormente, «j ».

Page 31: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

6 Ruta de datos monociclo (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 25 / 59

➲ ❏ ✘

➤ Todas las instrucciones se han de ejecutar en un sólo ciclo

→ Ningún elemento puede utilizarse más de una vez por instrucción

→ Cualquier recurso que se requiera más de una vez por

instrucción deberá estar duplicado.

➤ Por ejemplo: la memoria debe estar separada en memoria de

instrucciones y memoria de datos.

Page 32: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

6 Ruta de datos monociclo (III)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 26 / 59

➲ ❏ ✘

➤ Por otro lado, podrán compartirse los elementos comúnes a distintas

instrucciones. Cuando sea necesario, deberán proporcionarse:

➭ múltiples entradas,

➭ una señal de control para seleccionar la entrada adecuada.

➤ Esta selección se realiza normalmente mediante un multiplexor .

ControlALU

ALUCero

Resultadode la ALU

3

0

1

M

u

x

FuenteALU

Operando A (común)

Operando B (clase X)

Operando B (clase Y)

Page 33: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

6 Ruta de datos monociclo (IV)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 27 / 59

➲ ❏ ✘

➤ Para la construcción de la ruta de dato vamos a:

1. Combinar las partes de la ruta de datos correspondiente a las

instrucción aritmético-lógicas (tipo R) y las de

carga-almacenamiento.

2. Añadir la parte correspondiente a la búsqueda de la instrucción e

incremento del PC.

3. Combinar dicha ruta de datos con la parte correspondiente a la

instrucción «beq».

Page 34: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

6 Ruta de datos monociclo (V)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 28 / 59

➲ ❏ ✘

➤ Ejercicio 1:

Combinar las rutas de datos de las instrucciones aritmético-lógicas y

las de carga-almacenamiento.

Reg. de

lectura 1

Reg. de

lectura 2

Reg. de

escritura

Dato a

escribir

Dato

leído 1

Dato

leído 2

Registros

EscrReg

ControlALU

ALUCero

Resultadode la ALU

Instrucción

3

5

5

5

EscribirMem

LeerMem

Dirección

Dato a

escribir

Dato

leído

Memoria

de Datos

Extensiónde signo

16 32

Reg. de

lectura 1

Reg. de

lectura 2

Reg. de

escritura

Dato a

escribir

Dato

leído 1

Dato

leído 2

Registros

EscrReg

ControlALU

ALUCero

Resultadode la ALU

Instrucción

3

5

5

5

Page 35: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

6 Ruta de datos monociclo (VI)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 29 / 59

➲ ❏ ✘

➤ Solución:

EscribirMem

LeerMem

Dirección

Dato a

escribir

Dato

leído

Memoria

de Datos

Extensiónde signo

16 32

Reg. de

lectura 1

Reg. de

lectura 2

Reg. de

escritura

Dato a

escribir

Dato

leído 1

Dato

leído 2

Registros

EscrReg

ControlALU

ALUCero

Resultadode la ALU

Instrucción

3

5

5

5

1

0

Mux

MemaReg

0

1

Mux

Fuente

ALU

Page 36: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

6 Ruta de datos monociclo (VII)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 30 / 59

➲ ❏ ✘

➤ Ejercicio 2:

Añadir la parte correspondiente a la búsqueda de la instrucción e

incremento del PC a la ruta de datos obtenida:

Dirección

de lectura

Instrucción

Memoria de

Instrucciones

P

C

Sumador

4

EscribirMem

LeerMem

Dirección

Dato a

escribir

Dato

leído

Memoria

de Datos

Extensiónde signo

16 32

Reg. de

lectura 1

Reg. de

lectura 2

Reg. de

escritura

Dato a

escribir

Dato

leído 1

Dato

leído 2

Registros

EscrReg

ControlALU

ALUCero

Resultadode la ALU

Instrucción

3

5

5

5

1

0

Mux

MemaReg

0

1

Mux

Fuente

ALU

Page 37: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

6 Ruta de datos monociclo (VIII)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 31 / 59

➲ ❏ ✘

➤ Solución:

EscribirMem

LeerMem

Dirección

Dato a

escribir

Dato

leído

Memoria

de Datos

Extensiónde signo

16 32

Reg. de

lectura 1

Reg. de

lectura 2

Reg. de

escritura

Dato a

escribir

Dato

leído 1

Dato

leído 2

Registros

EscrReg

ControlALU

ALUCero

Resultadode la ALU

3

5

5

5

1

0

Mux

MemaReg

0

1

Mux

Fuente

ALU

Dirección

de lectura

Instrucción

Memoria de

Instrucciones

PC

Sumador

4

Page 38: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

6 Ruta de datos monociclo (IX)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 32 / 59

➲ ❏ ✘

➤ Ejercicio 3:

Combinar la actual ruta de datos con la parte correspondiente a la

instrucción «beq».

Extensiónde signo

16 32

Reg. de

lectura 1

Reg. de

lectura 2

Reg. de

escritura

Dato a

escribir

Dato

leído 1

Dato

leído 2

Registros

ControlALU

ALUCero

Resultadode la ALU

Instrucción

3

5

5

Desp. 2a la izqu.

Sumador

A la lógica de

control de salto

Destino salto

PC+4

Page 39: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

6 Ruta de datos monociclo (X)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 33 / 59

➲ ❏ ✘

➤ Solución:

EscribirMem

LeerMem

Dirección

Dato a

escribir

Dato

leído

Memoria

de Datos

Extensiónde signo

16 32

Reg. de

lectura 1

Reg. de

lectura 2

Reg. de

escritura

Dato a

escribir

Dato

leído 1

Dato

leído 2

Registros

EscrReg

ControlALU

ALUCero

Resultadode la ALU

3

5

5

5

1

0

Mux

MemaReg

0

1

Mux

Fuente

ALU

Dirección

de lectura

Instrucción

Memoria de

Instrucciones

PC

Sumador

4

Desp. 2a la izqu.

Sumador

0

1

Mux

FuentePC

Page 40: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7 Unidad de control monociclo

I testtesttesttesttestDiseño del procesador MIPS R2000 – 34 / 59

➲ ❏ ✘

➤ La unidad de control es quien determina el valor de las diferentes

señales de control en un instante dado.

➤ Antes de diseñar la unidad de control es necesario disponer de

todas las señales de control. Para ello, veremos a continuación:

➭ El control de la ALU.

➭ Qué información proporcionan las instrucciones. ¿Qué bits se

utilizan para ello?

➭ Ruta de datos con todas las señales de control.

➤ Finalmente, se procederá al diseño de la Unidad de Control.

Page 41: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.1 El control de la ALU

I testtesttesttesttestDiseño del procesador MIPS R2000 – 35 / 59

➲ ❏ ✘

➤ Supongamos que la señal ControlALU

determina la operación de la ALU de

acuerdo con la siguiente tabla de verdad:

ControlALU Función

000 AND

001 OR

010 suma

110 resta

111 activar si menor que

ControlALU

ALUCero

Resultado

de la ALU

3

Page 42: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.1 El control de la ALU (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 36 / 59

➲ ❏ ✘

➤ Sería posible que la Unidad de Control

determinara el valor correcto de la señal

ControlALU en función de la instrucción en

curso.

➤ Sin embargo, para simplificar el diseño de la

Unidad de Control, se pueden crear

elementos de control especializados.

➤ Así, para generar la señal ControlALU se va

a utilizar un elemento que llamaremos:

➭ Control de la ALU.

ControlALU

ALUCero

Resultado

de la ALU

3

Page 43: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.1 El control de la ALU (III)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 37 / 59

➲ ❏ ✘

➤ El Control de la ALU dispondrá de 2 entradas:

➭ Señal de control ALUOp (generada por la Unidad de Control).

➭ Bits del campo función de la instrucción.

y 1 salida: señal ControlALU.

ControlALU

ALUCero

Resultadode la ALU

3

Controlde laALU

Campo función

ALUOp

Page 44: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.1 El control de la ALU (IV)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 38 / 59

➲ ❏ ✘

➤ Funcionamiento del Control de la ALU

Código ALUOp Campo de Operación Acción ControlALU

operación función deseada

LW 00 XXXXXX cargar palabra suma 010

SW 00 XXXXXX almacenar palabra suma 010

Branch Equal 01 XXXXXX saltar si igual resta 110

R-type 10 100000 suma suma 010

R-type 10 100010 resta resta 110

R-type 10 100100 and and 000

R-type 10 100101 or or 001

R-type 10 101010 poner si menor slt 111

Page 45: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.1 El control de la ALU (V)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 39 / 59

➲ ❏ ✘

➤ Tabla de verdad del Control de la ALU

ALUOp Campo de ControlALU

función

00 XXXXXX 010

01 XXXXXX 110

1X XX0000 010

1X XX0010 110

1X XX0100 000

1X XX0101 001

1X XX1010 111

Page 46: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.2 Formatos de instrucción

I testtesttesttesttestDiseño del procesador MIPS R2000 – 40 / 59

➲ ❏ ✘

RECORDATORIO

➤ Antes de diseñar la unidad de control es necesario disponer de

todas las señales de control. Para ello, veremos a continuación:

➭ El control de la ALU.

➭ Qué información proporcionan las instrucciones. ¿Qué bits

se utilizan para ello?

➭ Ruta de datos con todas las señales de control.

Page 47: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.2 Formatos de instrucción (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 41 / 59

➲ ❏ ✘

➤ Las instrucciones que queremos implementar pertenecen a uno de

los siguientes formatos (con el código de operación indicado):

➭ Formato R («add», «sub », «and», etc.):31 ... 2625 ... 2120 ... 1615 ... 1110 ... 65 ... 0

0 rs rt rd shamt funct6 bits 5 bits 5 bits 5 bits 5 bits 6 bits

➭ Formato I («lw », «sw» y «beq»):31 ... 2625 ... 2120 ... 1615 ... 0

35/43 rs rt rd6 bits 5 bits 5 bits 16 bits

address

31 ... 2625 ... 2120 ... 1615 ... 0

4 rs rt rd6 bits 5 bits 5 bits 16 bits

address

Page 48: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.2 Formatos de instrucción (III)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 42 / 59

➲ ❏ ✘

➤ Ejercicio 4:

Modifica la siguiente parte de la ruta de datos de forma que se

especifique qué bits de la instrucción van a qué entrada del banco

de registros:

Reg. de

lectura 1

Reg. de

lectura 2

Reg. de

escritura

Dato a

escribir

Dato

leído 1

Dato

leído 2

Registros

EscrReg

Instrucción

5

5

5

Page 49: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.2 Formatos de instrucción (IV)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 43 / 59

➲ ❏ ✘

➤ Solución:

Reg. de

lectura 1

Reg. de

lectura 2

Reg. de

escritura

Dato a

escribir

Dato

leído 1

Dato

leído 2

Registros

EscrReg

Instrucción0

1

Mux

Instrucción [25−21]

Instrucción [15−11]

Instrucción [20−16]

RegDest

Page 50: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.3 Ruta de datos con señales de control

I testtesttesttesttestDiseño del procesador MIPS R2000 – 44 / 59

➲ ❏ ✘

RECORDATORIO

➤ Antes de diseñar la unidad de control es necesario disponer de

todas las señales de control. Para ello, veremos a continuación:

➭ El control de la ALU.

➭ Qué información proporcionan las instrucciones. ¿Qué bits se

utilizan para ello?

➭ Ruta de datos con todas las señales de control.

Page 51: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.3 Ruta de datos con señales de control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 45 / 59

➲ ❏ ✘

ALUCero

Resultadode la ALU

Reg. de

lectura 1

Reg. de

lectura 2

Reg. de

escritura

Dato a

escribir

Dato

leído 1

Dato

leído 2

Registros

Controlde laALU

Desp. 2a la izqu.

Extensiónde signo

16 32

Dirección

Dato a

escribir

Dato

leído

Memoria

de DatosDirección

de lectura

Instrucción

[31−0]

Memoria de

Instrucciones

0

1

Mux

0

1

Mux

1

0

Mux

PC

Sumador

Sumador

Instrucción [25−21]

Instrucción [15−0]

Instrucción [15−11]

Instrucción [20−16]

Instrucción [5−0]

RegDest

LeerMem

ALUOp

EscrMem

Fuente

ALU

EscrReg

MemaReg

4

0

1

Mux

FuentePC

Page 52: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control

I testtesttesttesttestDiseño del procesador MIPS R2000 – 46 / 59

➲ ❏ ✘

ALUCero

Resultadode la ALU

Reg. de

lectura 1

Reg. de

lectura 2

Reg. de

escritura

Dato a

escribir

Dato

leído 1

Dato

leído 2

Registros

Controlde laALU

Desp. 2a la izqu.

Extensiónde signo

16 32

Dirección

Dato a

escribir

Dato

leído

Memoria

de DatosDirección

de lectura

Instrucción

[31−0]

Memoria de

Instrucciones

0

1

Mux

0

1

Mux

1

0

Mux

PC

Sumador

Sumador

Instrucción [25−21]

Instrucción [15−0]

Instrucción [15−11]

Instrucción [20−16]

Instrucción [5−0]

RegDest

SaltoCond

LeerMem

ALUOp

EscrMem

FuenteALU

EscrReg

Instrucción [31−26]Control

MemaReg

4

0

1

Mux

FuentePC

Page 53: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0«lw » 0 0«sw» 0 0«beq» 0 1

Page 54: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 1 0«lw » 0 0«sw» 0 0«beq» 0 1

Page 55: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 1 0«lw » 0 0«sw» 0 0«beq» 0 1

Page 56: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0«lw » 0 0«sw» 0 0«beq» 0 1

Page 57: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 1 0«lw » 0 0«sw» 0 0«beq» 0 1

Page 58: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 1 0«lw » 0 0«sw» 0 0«beq» 0 1

Page 59: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 0 1 0«lw » 0 0«sw» 0 0«beq» 0 1

Page 60: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 0 0 1 0«lw » 0 0«sw» 0 0«beq» 0 1

Page 61: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 0 0 1 0«lw » 0 0 0«sw» 0 0«beq» 0 1

Page 62: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 0 0 1 0«lw » 0 1 0 0«sw» 0 0«beq» 0 1

Page 63: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 0 0 1 0«lw » 0 1 1 0 0«sw» 0 0«beq» 0 1

Page 64: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 0 0 1 0«lw » 0 1 1 1 0 0«sw» 0 0«beq» 0 1

Page 65: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 0 0 1 0«lw » 0 1 1 1 1 0 0«sw» 0 0«beq» 0 1

Page 66: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 0 0 1 0«lw » 0 1 1 1 1 0 0 0«sw» 0 0«beq» 0 1

Page 67: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 0 0 1 0«lw » 0 1 1 1 1 0 0 0 0«sw» 0 0«beq» 0 1

Page 68: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 0 0 1 0«lw » 0 1 1 1 1 0 0 0 0«sw» X 0 0«beq» 0 1

Page 69: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 0 0 1 0«lw » 0 1 1 1 1 0 0 0 0«sw» X 1 0 0«beq» 0 1

Page 70: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 0 0 1 0«lw » 0 1 1 1 1 0 0 0 0«sw» X 1 X 0 0«beq» 0 1

Page 71: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 0 0 1 0«lw » 0 1 1 1 1 0 0 0 0«sw» X 1 X 0 0 0«beq» 0 1

Page 72: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 0 0 1 0«lw » 0 1 1 1 1 0 0 0 0«sw» X 1 X 0 0 0 0«beq» 0 1

Page 73: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 0 0 1 0«lw » 0 1 1 1 1 0 0 0 0«sw» X 1 X 0 0 1 0 0«beq» 0 1

Page 74: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 0 0 1 0«lw » 0 1 1 1 1 0 0 0 0«sw» X 1 X 0 0 1 0 0 0«beq» 0 1

Page 75: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 0 0 1 0«lw » 0 1 1 1 1 0 0 0 0«sw» X 1 X 0 0 1 0 0 0«beq» X 0 1

Page 76: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 0 0 1 0«lw » 0 1 1 1 1 0 0 0 0«sw» X 1 X 0 0 1 0 0 0«beq» X 0 0 1

Page 77: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 0 0 1 0«lw » 0 1 1 1 1 0 0 0 0«sw» X 1 X 0 0 1 0 0 0«beq» X 0 X 0 1

Page 78: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 0 0 1 0«lw » 0 1 1 1 1 0 0 0 0«sw» X 1 X 0 0 1 0 0 0«beq» X 0 X 0 0 1

Page 79: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 0 0 1 0«lw » 0 1 1 1 1 0 0 0 0«sw» X 1 X 0 0 1 0 0 0«beq» X 0 X 0 0 0 1

Page 80: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 0 0 1 0«lw » 0 1 1 1 1 0 0 0 0«sw» X 1 X 0 0 1 0 0 0«beq» X 0 X 0 0 0 0 1

Page 81: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 47 / 59

➲ ❏ ✘

➤ Figura anterior→ significado señales de control.

➤ El valor de las señales de control queda determinado por el código

de operación de la instrucción en curso:

Instrucción Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

Formato R 1 0 0 1 0 0 0 1 0«lw » 0 1 1 1 1 0 0 0 0«sw» X 1 X 0 0 1 0 0 0«beq» X 0 X 0 0 0 1 0 1

Page 82: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (III)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 48 / 59

➲ ❏ ✘

➤ Tabla de verdad de la Unidad de Control monociclo:

Entradas Salidas

CO5 CO4 CO3 CO2 CO1 CO0 Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

0 0 0 0 0 0 1 0 0 1 0 0 0 1 01 0 0 0 1 1 0 1 1 1 1 0 0 0 01 0 1 0 1 1 X 1 X 0 0 1 0 0 00 0 0 1 0 0 X 0 X 0 0 0 1 0 1

➤ Tabla de verdad→

Page 83: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (III)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 48 / 59

➲ ❏ ✘

➤ Tabla de verdad de la Unidad de Control monociclo:

Entradas Salidas

CO5 CO4 CO3 CO2 CO1 CO0 Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

0 0 0 0 0 0 1 0 0 1 0 0 0 1 01 0 0 0 1 1 0 1 1 1 1 0 0 0 01 0 1 0 1 1 X 1 X 0 0 1 0 0 00 0 0 1 0 0 X 0 X 0 0 0 1 0 1

➤ Tabla de verdad→ Simplificación→

Page 84: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (III)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 48 / 59

➲ ❏ ✘

➤ Tabla de verdad de la Unidad de Control monociclo:

Entradas Salidas

CO5 CO4 CO3 CO2 CO1 CO0 Reg

Des

t

Fue

nteA

LU

Mem

aReg

Esc

rReg

Leer

Mem

Esc

rMem

Sal

toC

ond

ALU

Op1

ALU

Op0

0 0 0 0 0 0 1 0 0 1 0 0 0 1 01 0 0 0 1 1 0 1 1 1 1 0 0 0 01 0 1 0 1 1 X 1 X 0 0 1 0 0 00 0 0 1 0 0 X 0 X 0 0 0 1 0 1

➤ Tabla de verdad→ Simplificación→ ¡Circuito Combinacional!

Page 85: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (IV)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 49 / 59

➲ ❏ ✘

➤ A continuación se va mostrar el flujo a través de la ruta de datos de

las siguientes instrucciones:

➭ «add $t1, $t2, $t3»

➭ «lw $t1, desp1($t2)»

➭ «beq $t1, $t2, desp»

➤ Se resaltarán en la ruta de datos:

➭ Elementos activos de la ruta de datos.

➭ Señales de control activadas.

(Si una señal de control está a cero, no se resaltará)

Page 86: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (V)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 50 / 59

➲ ❏ ✘

«add $t1, $t2, $t3» (1/4)

ALUCero

Resultadode la ALU

Reg. de

lectura 1

Reg. de

lectura 2

Reg. de

escritura

Dato a

escribir

Dato

leído 1

Dato

leído 2

Registros

Controlde laALU

Desp. 2a la izqu.

Extensiónde signo

16 32

Dirección

Dato a

escribir

Dato

leído

Memoria

de DatosDirección

de lectura

Instrucción

[31−0]

Memoria de

Instrucciones

0

1

Mux

0

1

Mux

1

0

Mux

PC

Sumador

Sumador

Instrucción [25−21]

Instrucción [15−0]

Instrucción [15−11]

Instrucción [20−16]

Instrucción [5−0]

RegDest

SaltoCond

LeerMem

ALUOp

EscrMem

FuenteALU

EscrReg

Instrucción [31−26]Control

MemaReg

4

0

1

Mux

FuentePC

Page 87: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (VI)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 51 / 59

➲ ❏ ✘

«add $t1, $t2, $t3» (2/4)

ALUCero

Resultadode la ALU

Reg. de

lectura 1

Reg. de

lectura 2

Reg. de

escritura

Dato a

escribir

Dato

leído 1

Dato

leído 2

Registros

Controlde laALU

Desp. 2a la izqu.

Extensiónde signo

16 32

Dirección

Dato a

escribir

Dato

leído

Memoria

de DatosDirección

de lectura

Instrucción

[31−0]

Memoria de

Instrucciones

0

1

Mux

0

1

Mux

1

0

Mux

PC

Sumador

Sumador

Instrucción [25−21]

Instrucción [15−0]

Instrucción [15−11]

Instrucción [20−16]

Instrucción [5−0]

RegDest

SaltoCond

LeerMem

ALUOp

EscrMem

FuenteALU

EscrReg

Instrucción [31−26]Control

MemaReg

4

0

1

Mux

FuentePC

Page 88: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (VII)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 52 / 59

➲ ❏ ✘

«add $t1, $t2, $t3» (3/4)

ALUCero

Resultadode la ALU

Reg. de

lectura 1

Reg. de

lectura 2

Reg. de

escritura

Dato a

escribir

Dato

leído 1

Dato

leído 2

Registros

Controlde laALU

Desp. 2a la izqu.

Extensiónde signo

16 32

Dirección

Dato a

escribir

Dato

leído

Memoria

de DatosDirección

de lectura

Instrucción

[31−0]

Memoria de

Instrucciones

0

1

Mux

0

1

Mux

1

0

Mux

PC

Sumador

Sumador

Instrucción [25−21]

Instrucción [15−0]

Instrucción [15−11]

Instrucción [20−16]

Instrucción [5−0]

RegDest

SaltoCond

LeerMem

ALUOp

EscrMem

FuenteALU

EscrReg

Instrucción [31−26]Control

MemaReg

4

0

1

Mux

FuentePC

Page 89: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (VIII)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 53 / 59

➲ ❏ ✘

«add $t1, $t2, $t3» (4/4)

ALUCero

Resultadode la ALU

Reg. de

lectura 1

Reg. de

lectura 2

Reg. de

escritura

Dato a

escribir

Dato

leído 1

Dato

leído 2

Registros

Controlde laALU

Desp. 2a la izqu.

Extensiónde signo

16 32

Dirección

Dato a

escribir

Dato

leído

Memoria

de DatosDirección

de lectura

Instrucción

[31−0]

Memoria de

Instrucciones

0

1

Mux

0

1

Mux

1

0

Mux

PC

Sumador

Sumador

Instrucción [25−21]

Instrucción [15−0]

Instrucción [15−11]

Instrucción [20−16]

Instrucción [5−0]

RegDest

SaltoCond

LeerMem

ALUOp

EscrMem

FuenteALU

EscrReg

Instrucción [31−26]Control

MemaReg

4

0

1

Mux

FuentePC

Page 90: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (IX)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 54 / 59

➲ ❏ ✘

«lw $t1, desp1($t2)»

ALUCero

Resultadode la ALU

Reg. de

lectura 1

Reg. de

lectura 2

Reg. de

escritura

Dato a

escribir

Dato

leído 1

Dato

leído 2

Registros

Controlde laALU

Desp. 2a la izqu.

Extensiónde signo

16 32

Dirección

Dato a

escribir

Dato

leído

Memoria

de DatosDirección

de lectura

Instrucción

[31−0]

Memoria de

Instrucciones

0

1

Mux

0

1

Mux

1

0

Mux

PC

Sumador

Sumador

Instrucción [25−21]

Instrucción [15−0]

Instrucción [15−11]

Instrucción [20−16]

Instrucción [5−0]

RegDest

SaltoCond

LeerMem

ALUOp

EscrMem

FuenteALU

EscrReg

Instrucción [31−26]Control

MemaReg

4

0

1

Mux

FuentePC

Page 91: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.4 Ruta de datos monociclo con control (X)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 55 / 59

➲ ❏ ✘

«beq $t1, $t2, desp»

ALUCero

Resultadode la ALU

Reg. de

lectura 1

Reg. de

lectura 2

Reg. de

escritura

Dato a

escribir

Dato

leído 1

Dato

leído 2

Registros

Controlde laALU

Desp. 2a la izqu.

Extensiónde signo

16 32

Dirección

Dato a

escribir

Dato

leído

Memoria

de DatosDirección

de lectura

Instrucción

[31−0]

Memoria de

Instrucciones

0

1

Mux

0

1

Mux

1

0

Mux

PC

Sumador

Sumador

Instrucción [25−21]

Instrucción [15−0]

Instrucción [15−11]

Instrucción [20−16]

Instrucción [5−0]

RegDest

SaltoCond

LeerMem

ALUOp

EscrMem

FuenteALU

EscrReg

Instrucción [31−26]Control

MemaReg

4

0

1

Mux

FuentePC

Page 92: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.5 Añadir una nueva instrucción

I testtesttesttesttestDiseño del procesador MIPS R2000 – 56 / 59

➲ ❏ ✘

➤ Ejercicio 5:

Amplía la ruta de datos de tal forma que sea capaz de ejecutar

instrucciones de salto incondicional («j »).

➤ Recordatorio:

La dirección de salto de una instrucción «j dest» se obtienen

concatenando:

➭ Los 4 bits de mayor peso de «PC+4».

➭ Los 26 bits de menor peso de la instrucción «j ».

➭ Dos bits a 0: (002).

Page 93: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.5 Añadir una nueva instrucción (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 57 / 59

➲ ❏ ✘

➤ Solución:

Los elementos que se deben añadir son:

➭ Circuitería necesaria para generar la dirección de salto.

Page 94: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.5 Añadir una nueva instrucción (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 57 / 59

➲ ❏ ✘

➤ Solución:

Los elementos que se deben añadir son:

➭ Circuitería necesaria para generar la dirección de salto.

➭ Multiplexor para seleccionar:

➟ Dirección de salto incodicional o

➟ PC+4 o dirección de salto condicional.

Page 95: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.5 Añadir una nueva instrucción (II)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 57 / 59

➲ ❏ ✘

➤ Solución:

Los elementos que se deben añadir son:

➭ Circuitería necesaria para generar la dirección de salto.

➭ Multiplexor para seleccionar:

➟ Dirección de salto incodicional o

➟ PC+4 o dirección de salto condicional.

➭ Nueva señal de control, SaltoIncond, que:

➟ se active cuando la instrucción sea una «j » (CO=2)

➟ y controle el anterior multiplexor.

Page 96: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.5 Añadir una nueva instrucción (III)

I testtesttesttesttestDiseño del procesador MIPS R2000 – 58 / 59

➲ ❏ ✘

ALUCero

Resultadode la ALU

Reg. de

lectura 1

Reg. de

lectura 2

Reg. de

escritura

Dato a

escribir

Dato

leído 1

Dato

leído 2

Registros

Controlde laALU

Desp. 2a la izqu.

Extensiónde signo

16 32

Dirección

Dato a

escribir

Dato

leído

Memoria

de DatosDirección

de lectura

Instrucción

[31−0]

Memoria de

Instrucciones

0

1

Mux

0

1

Mux

1

0

Mux

PC

Sumador

Sumador

Instrucción [25−21]

Instrucción [15−0]

Instrucción [15−11]

Instrucción [20−16]

Instrucción [5−0]

SaltoIncond

SaltoCond

LeerMem

ALUOp

EscrMem

FuenteALU

EscrReg

Instrucción [31−26] MemaReg

4

0

1

Mux

FuentePC

RegDest

Control

Desp. 2a la izqu.

PC+4 [31−28]

Instrucción [25−0] 26 28 32 Dirección de jump [31−0]1

0

Mux

Page 97: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.6 Desventajas de la realización monociclo

I testtesttesttesttestDiseño del procesador MIPS R2000 – 59 / 59

➲ ❏ ✘

➤ Es posible realizar un procesador utilizando esta técnica.

➤ Sin embargo, no se construyen debido a que es ineficiente:

➭ El tiempo de ciclo viene determinado por la instrucción más lenta

→ no es posible reducir el tiempo de las instrucciones rápidas.

➭ Las unidades funcionales sólo pueden utilizarse una vez por ciclo

→ encarece el coste de la realización.

Page 98: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

7.6 Desventajas de la realización monociclo

I testtesttesttesttestDiseño del procesador MIPS R2000 – 59 / 59

➲ ❏ ✘

➤ Es posible realizar un procesador utilizando esta técnica.

➤ Sin embargo, no se construyen debido a que es ineficiente:

➭ El tiempo de ciclo viene determinado por la instrucción más lenta

→ no es posible reducir el tiempo de las instrucciones rápidas.

➭ Las unidades funcionales sólo pueden utilizarse una vez por ciclo

→ encarece el coste de la realización.

➤ Realizaciones alternativas:

➭ Ruta de datos Multiciclo.

➭ Ruta de datos Segmentada.

Page 99: Diseño del procesador MIPS R2000 - uv.es · I testtesttesttesttestDiseño del procesador MIPS R2000 – 10 / 59 Las unidades secuenciales: Son aquellas cuya salida depende no sólo

Fin

Copyright c© 2006 Sergio Barrachina MirÁrea de Arquitectura y Tecnología de Computadores

Dpt. de Ingeniería y Ciencia de los ComputadoresUniversidad Jaume I

Realizada con ujislides c© 2002-5 Sergio Barrachina ([email protected])