Capítulo 3

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

description

Capítulo 3. El procesador, la ruta de datos y el control (I Parte). Definición de arquitectura de computadores. 1950 a 1960 Abarcaba el tema de aritmética de computadores. - PowerPoint PPT Presentation

Transcript of Capítulo 3

Page 1: Capítulo 3

Página 1

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Capítulo 3

El procesador, la ruta de datos y el control

(I Parte)

Page 2: Capítulo 3

Página 2

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Definición de arquitectura de computadores

• 1950 a 1960 Abarcaba el tema de aritmética de computadores.

• 1970 a mediados de los 1980 abarcaba el tema de diseño de instrucciones especialmente la arquitectura ISA y sus correspondientes compiladores.

• 1990 en esta época se diseñaban los CPU, sistema de memoria, sistema de entrada/salida, los multiprocesadores y las redes.

• 2000 hasta nuestros días, se abarcan las arquitecturas de propósito especial, funcionalidad reconfigurable, consideraciones especiales para el bajo consumo y el procesamiento móvil.

Page 3: Capítulo 3

Página 3

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Arquitectura de computadores• Con el término “Arquitectura de Computadores” nos

referimos a una especificación computacional detallada, comunicación, y elementos para almacenar datos (hardware) de un sistema computador, como estos componentes interactúan (organización de la máquina), y como se controlan (conjunto de instrucciones).

• La arquitectura de la máquina determina, cuales cálculos pueden realizarse eficientemente, cuales formatos de organización de datos y diseño de programas se pueden realizar óptimamente.

• Este término fue aplicado por primera vez por Gene Amdahl, G. Anne Blaauw y Frederick Brooks, Jr. (diseñadores del IBM System/360), en 1964.

• En las décadas de los 70 y 80, los arquitectos de computadores se concentraron en el conjunto de instrucciones.

• En el presente los diseñadores se enfrentan al reto de implementar procesadores eficientes, diseñar sistemas de comunicación entre los diferentes niveles en la jerarquía de memorias, de integrar múltiples procesadores en un simple diseño y diseñar procesadores para aplicaciones específicas.

Page 4: Capítulo 3

Página 4

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

DATOS SOBRE TENDENCIAS

Page 5: Capítulo 3

Página 5

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

1971: INTEL 4004

• Primer procesador

• Proceso de 10 micrones

• 2300 transistores

• Bus de 4 bits• 640 bytes de

memoria• 750 Khz• Die de 12 mm2

Page 6: Capítulo 3

Página 6

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

2000: Intel Pentium 4

• Proceso de 0.18 micras

• 42 millones de transistores

• Die de 217 mm2

• Bus de 64 bits• 8 KBytes de

memoria cache

• 450 MHz

Page 7: Capítulo 3

Página 7

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

2004: Intel Itanium 2

• Proceso de 0.13 micras

• 592 millones de transistores

• Die de 432 mm2

• Bus de 128 bits

• 1.4 GHz

Page 8: Capítulo 3

Página 8

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

2015: Proyecciones

• Proceso de 0.025 micras

• 7 billones de transistores

• Die de 310 mm2

• 33 GHz en el chip• 29 GHz fuera del

chip

Page 9: Capítulo 3

Página 9

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

COMPARACIÓN

Page 10: Capítulo 3

Página 10

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

DIMENSIONES

Page 11: Capítulo 3

Página 11

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

AREA Y RETARDOS

Page 12: Capítulo 3

Página 12

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

CAPACIDAD DEL CHIP

Page 13: Capítulo 3

Página 13

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

TENDENCIA DE RENDIMIENTO

Page 14: Capítulo 3

Página 14

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

RETARDO POR CONDUCTORES

Page 15: Capítulo 3

Página 15

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

ANCHO DE BANDA POR PIN

Page 16: Capítulo 3

Página 16

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

POTENCIA RENDIMIENTO

Page 17: Capítulo 3

Página 17

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

DRAMS

Page 18: Capítulo 3

Página 18

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

TENDENCIA DE LOS MICROPROCESADORES

Page 19: Capítulo 3

Página 19

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

RETARDO POR INTERCONECCION

0.651989

0.51992

0.351995

0.251998

0.182001

0.132004

0.12007

0

5

10

15

20

25

30

35

40Gate delay

Interconnect delay

Source: SIA Roadmap 1997

Page 20: Capítulo 3

Página 20

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

CONCEPTOS SOBRE ARQUITECTURAS DE PROCESADORES

Page 21: Capítulo 3

Página 21

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Arquitectura básica de un procesador

ALU

ADDAH

BH

CH

AL

BL

CL

DL

BP

DI

SI

SP

DH

CS

ES

SS

DS

IP

Generador de dir y Controlador de bus

1

2

3

4

5

6

Bus interno de datos

banderas

EU Cola de instrucciones

BIU

Bus de datosBus de direcciones

UNIDAD DE INTERPRETACIÓN

Page 22: Capítulo 3

Página 22

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

La unidad de cálculo (ALU)• Se realizan las

operaciones aritméticas y lógicas.

• Se encuentra el registro de estado, donde se encuentran las banderas que son accionadas después de cada una de las operaciones.

• Es operada por medio de la unidad de control por un grupo de primitivas de control que seleccionan la función a realizar, así como la fuente y el destino de los datos.

ALU

ADDAHBHCH

ALBLCLDL

BPDISISP

DH

CSESSSDSIP

Generador de dir y Controlador de bus

123456

Bus interno de datos

banderas

EU Cola de instrucciones

BIU

Bus de datosBus de direcciones

UNIDAD DE INTERPRETACIÓN

Page 23: Capítulo 3

Página 23

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Los registros de trabajo• Los registros de trabajo son

medios de almacenamiento temporal

• Para el caso de la arquitectura IA86, específicamente para el microprocesador 8086/88 los registros de trabajo de 16 bits pueden ser: AX, BX, CX, DX , los cuales están compuestos por AH, AL; BH, BL; CH, CL; DH, DL; los cuales son de 8 bits cada uno.

• Se utilizan dependiendo de la acción a realizar. Así por ejemplo si es necesario la utilización de una cuenta se utiliza el registro CX.

ALU

ADDAHBHCH

ALBLCLDL

BPDISISP

DH

CSESSSDSIP

Generador de dir y Controlador de bus

123456

Bus interno de datos

banderas

EU Cola de instrucciones

BIU

Bus de datosBus de direcciones

UNIDAD DE INTERPRETACIÓN

Page 24: Capítulo 3

Página 24

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

La interfaz con el bus• Esta unidad es la

capaz de realiza el cálculo para la próxima dirección.

• La cual se entrega a los diferentes buses de salida como lo son el de direcciones, datos y control.

ALU

ADDAH

BH

CH

AL

BL

CL

DL

BP

DI

SI

SP

DH

CS

ES

SS

DS

IP

Generador de dir y Controlador de bus

1

2

3

4

5

6

Bus interno de datos

banderas

EU Cola de instrucciones

BIU

Bus de datosBus de direcciones

UNIDAD DE INTERPRETACIÓN

Page 25: Capítulo 3

Página 25

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

La unidad de interpretación de instrucciones

• En esta unidad se realiza la interpretación del código de operación, y se ejecutan todas las primitivas de control necesarias para dar servicio a la instrucción.

• También se cuenta con una unidad de prueba de señales para generar interrupciones, generar saltos incondicionales y la prueba de banderas.

• Además se generan todas las primitivas de control necesarias para que la arquitectura funcione correctamente.

ALU

ADDAHBHCH

ALBLCLDL

BPDISISP

DH

CSESSSDSIP

Generador de dir y Controlador de bus

123456

Bus interno de datos

banderas

EU Cola de instrucciones

BIU

Bus de datosBus de direcciones

UNIDAD DE INTERPRETACIÓN

Page 26: Capítulo 3

Página 26

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Ejemplo de una máquina multinivel

Alto nivel

Lenguaje ensamblador

Sistema operativo

Conjunto de instrucciones

Microarquitectura

Lógica digital

Nivel 5

Nivel 4

Nivel 3

Nivel 2

Nivel 1

Nivel 0

Traducción (compilador)

Traducción (ensamblador)

Interpretación parcial (Sistema Operativo)

Interpretación (microprograma) o ejecución directa

Hardware

Page 27: Capítulo 3

Página 27

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Ejemplo de una máquina multinivel

Alto nivel

Lenguaje ensamblador

Nivel 5

Nivel 4

• Cada arquitectura del computador tiene su propio lenguaje ensamblador

• los lenguajes ensambladores tienen a ser de bajo nivel, donde algunos todavía escribimos código.

• Mucho de ese código se escribe en HLLs y luego compilado.

• El compilador es un programa que automáticamente convierte HLL a ensamblador.

temp = v[k];v[k] = v[k+1];v[k+1] = temp;

lw $15, 0($2)lw $16, 4($2)sw $16, 0($2)sw $15, 4($2)

Page 28: Capítulo 3

Página 28

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Ejemplo de una máquina multinivel

Alto nivel

Lenguaje ensamblador

Sistema operativo

Nivel 5

Nivel 4

Nivel 3

• A este nivel algunas de las funciones del sistema operativo pueden ser ejecutadas como por ejemplo las interrupciones tipo 21H en el caso del procesador IAX86, lo que se conoce como llamados al sistema operativo.

• También a este nivel puede dársele el control al sistema operativo para que administre el programa que hemos realizado, en este caso el usuario pierde el control sobre la ubicación del programa en la arquitectura del computador

Page 29: Capítulo 3

Página 29

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Ejemplo de una máquina multinivel

Alto nivel

Lenguaje ensamblador

Sistema operativo

Conjunto de instrucciones

Nivel 5

Nivel 4

Nivel 3

Nivel 20000 1001 1100 0110 1010 1111 0101 10001010 1111 0101 1000 0000 1001 1100 01101100 0110 1010 1111 0101 1000 0000 10010101 1000 0000 1001 1100 0110 1010 1111

• A este nivel las instrucciones han sido compiladas para el nivel de interpretación del procesador, corresponden a una cadena de unos y ceros que representan las órdenes y los datos que se quieren ejecutar.

Page 30: Capítulo 3

Página 30

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Ejemplo de una máquina multinivel

Alto nivel

Lenguaje ensamblador

Sistema operativo

Conjunto de instrucciones

Microarquitectura

Lógica digital

Nivel 5

Nivel 4

Nivel 3

Nivel 2

Nivel 1

Nivel 0

• Para estos últimos dos niveles las instrucciones han sido interpretadas y se ejecutan señales eléctricas que manejan la microarquitectura donde se ejecutaran las órdenes.

• Esto es funciones lógicas a nivel de compuertas o transistores que pasan de la zona de saturación a la de corte.

Page 31: Capítulo 3

Página 31

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

¿Qué son las instrucciones?

software

hardware

Conjunto de instrucciones

Page 32: Capítulo 3

Página 32

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

¿Qué son las instrucciones?

Procesador Memoria Sistema de I/O

Aplicaciones(iTunes)

software

hardware

CONJUNTO DE INSTRUCCIONES

Sistema operativo (MS-DOS, Windows,

Linux, etc.)EnsambladorCompilador

Diseño del circuitoVddI1 O1

Ruta de datos y control

ControlALUI

Reg

Me

m

Diseño digitalI1O2

O1

I2

Transistores I1 O1

Vdd

Page 33: Capítulo 3

Página 33

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Representación de capas

Compilador

Ensamblador

Programa en alto nivel

temp = v[k];

v[k] = v[k+1];

v[k+1] = temp;

Programa:

Programa en lenguaje

ensamblador lw $15,0($2)

lw $16,4($2)

sw $16,0($2)

sw $15,4($2)

Programa en ensamblador:

Especificación de las señales de

control

Interpretación de máquina

ALUOP[0:3] InstReg[9:11] & MASK

Lenguaje máquina

Programa en memoria

0000 1001 1100 0110 1010 1111 0101 10001010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111

Código objeto de máquina

Código de máquina ejecutable

Linker

Loader

Programa en lenguaje máquina:

Arquitectura del conjunto de

instrucciones

Page 34: Capítulo 3

Página 34

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Jerarquía en el diseño de computadores

Page 35: Capítulo 3

Página 35

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Ciclo general de ejecución de instrucciones

Búsqueda de instrucció

n

Búsqueda del

operando

Ejecución

Almacenar el resultado

Próxima instrucció

n

Obtener la instrucción del programa almacenado

Determinar las acciones requeridas y el tamaño de la instrucción

Localizar y obtener el operando

Calcular el resultado o estado

Depositar el resultado en el medio de almacenamiento para un próximo uso

Determinar la siguiente instrucción

Decodificación de la

instrucción

Page 36: Capítulo 3

Página 36

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Formato de Instrucciones

• Las instrucciones consisten de un código de operación (opcode) y operandos.– El opcode identifica la

operación a realizar– Los operandos

identifican los datos a utilizar, y el lugar donde se almacenará el resultado.

• Todas las instrucciones tienen código de operación, pero pueden o no tener operandos.

Page 37: Capítulo 3

Página 37

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Formato de instrucciones• Las instrucciones pueden

variar en su largo• Si todas las instrucciones

tienen el mismo largo simplifica el proceso de decodificación de instrucciones, sin embargo se puede ver como un desperdicio de espacio.

• Si todas las instrucciones tienen diferente largo se complica el proceso de decodificación pero permite un uso más eficiente de la memoria.

Page 38: Capítulo 3

Página 38

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Criterios de diseño de instrucciones

• El formato de las instrucciones es un aspecto de mucha importancia.– En el desarrollo de la arquitectura de los

computadores, el diseño a nivel de lógica digital y de la microarquitectura tienen un mínimo impacto en la interfaz del computador a nivel de hardware y software.

• El impacto es mínimo porque los diseños a bajo nivel se ocultan por el diseño de las instrucciones.

– Sin embargo los cambios en el nivel del conjunto de instrucciones, y particularmente en el formato de las instrucciones, hace que algunos programas no funcionen correctamente en las nuevas generaciones de computadores.

Page 39: Capítulo 3

Página 39

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Criterio de diseño para el formato de las instrucciones

• El primer aspecto en el diseño de instrucciones se relaciona con su tamaño.– Entre más pequeño es el formato de las

instrucciones, más rápido se pueden leer de memoria.

• Siempre tenemos un ancho de banda de memoria limitado.

– Sin embargo para obtener pequeñas instrucciones se presenta un compromiso:

• Códigos de operación pequeños• Operandos pequeños o escasos• Se cuenta con mayor complejidad en la

decodificación.

Page 40: Capítulo 3

Página 40

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Criterio de diseño para el formato de las instrucciones

• Códigos de operación pequeños– El tamaño del espacio para el código de operación

limita el número de operaciones que se pueden realizar.

• Operandos pequeños– Esta relacionado con la cantidad de registros que se

pueden direccionar.– Esta relacionado con la cantidad de memoria que se

puede direccionar.• Pocos operandos

– Sin operandos el trabajo se debe realizar utilizando la pila

– Utilizar un operando y trabajar con el operador– Utilizar dos operandos y tener el resultado en la

entrada– Utilizar tres operandos.

• Formatos más comprimidos– Mayor complejidad en la decodificación– Menos potencial para crecer

Page 41: Capítulo 3

Página 41

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Soluciones de diseño para el formato de las instrucciones

• Una vez que sabemos la cantidad de códigos de operación que se necesitan (basados en el número de operaciones que se quieren) y el número y tamaño de los operandos, luego debemos saber la cantidad de bits que se requieren para el formato de la instrucción.– Si tenemos 256 operaciones, entonces necesitamos 8

bits para representar los códigos de operación.– Si contamos con instrucciones con tres operandos,

donde cada operando puede especificar direcciones de 32 bits, entonces necesitamos 96 bits para representar los operandos.

– Por lo tanto, la unidad decodificadora utilizaría instrucciones de 104 bits.

• Claramente no es un buen diseño a no ser de que se cuente con memoria extremadamente rápida.

• La solución es utilizar códigos de operación expandibles.

Page 42: Capítulo 3

Página 42

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Códigos de operación expandibles

• El código de operación expandible es un opcode que toma más espacio cuando se requiere de menos espacio para almacenar los operandos.

• La expansión de los opcodes tiene la ventaja en el hecho de que operaciones diferentes, tienen requerimientos diferentes para sus operandos– NOP no necesita operandos– GOTO necesita un operando– Operaciones de registro a registro necesitan de

direcciones para operandos más pequeñas que operaciones de memoria a memoria.

• Por lo tanto organice los operandos tal que se pueda realizar el compromiso entre el espacio de los códigos de operaciones y el espacio de los operandos.

Page 43: Capítulo 3

Página 43

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Códigos de operación expandibles

• EJEMPLO: • Considere el siguiente esquema basado

en una palabra de 16 bits en donde se utilizan 4 bits para la dirección.– Una solución con un código de operación fijo,

localiza 4 bits para el código de operación y 4 bits para cada uno de los tres operandos

• Esta solución se limita a 16 códigos de operación.

– Una solución utilizando los códigos expandibles, trata de incrementar el número de códigos de operación organizando el formato de las instrucciones basado en el tamaño de los operandos.

Page 44: Capítulo 3

Página 44

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Solución utilizando la expansión de código

• Instrucciones con tres operandos– Bits para el opcode: 12-15– Rango del opcode: 0000

hasta 1110– Número de instrucciones:

15– Bits de datos: 0-11

• Instrucciones con dos operandos– Bits para el opcode: 8-15– Rango del opcode: 1111

0000 hasta 1111 1110– Número de instrucciones:

15– Bits de datos: 0-7

Page 45: Capítulo 3

Página 45

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Solución con la expansión del opcode

• Instrucciones con un operando– Bits para el opcode: 4 - 15– Rango del opcode: 1111 1111

hasta 1111 1111 1110– Número de instrucciones: 15– Bits de datos: 0-3

• Instrucciones sin operandos– Bits para el opcode: 0 - 15– Rango del opcode: 1111 1111 1111

0000 hasta 1111 1111 1111 1111– Número de instrucciones: 16– Bits de datos: ninguno

Page 46: Capítulo 3

Página 46

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Formato de instrucciones para PENTIUM II

• Altamente complejas e irregulares– Espacios para seis variables, cinco de

las cuales son opcionales– La complejidad e irregularidad es

debida a la necesidad de mantener compatibilidad con la familia 80X86

Page 47: Capítulo 3

Página 47

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Modelos de instrucciones

• CISC (Complex Instruction Set Computer)• RISC (Reduced Instruction Set Computer)• CRISC (Complex Reduced Instruction Set

Computer)• EPIC (Explicitly Parallel Instruction

Computing )

Page 48: Capítulo 3

Página 48

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

CISC• Se enfatiza en hacer más en cada

instrucción.• Motivado por el alto costo de la memoria y

la capacidad de los discos duros.– Cuando se introdujo el M6800: 16K RAM =

$500, 40M disco duro = $ 55,– Cuando se introdujo el MC68000: 64K RAM =

$200, 10M HD = $5,000• Gran variedad de modos de

direccionamiento– 14 en el MC68000, 25 en MC68020

• Un número de modos de instrucciones para la posición y número de operandos.– El VAX tiene desde 0 hasta 3 instrucciones para

direcciones.• Largo de las instrucciones variable.

Page 49: Capítulo 3

Página 49

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

RISC• Se enfatiza en reducir el número y la

complejidad de las instrucciones.• CPI reducido. La meta por lo menos una

instrucción por ciclo de reloj.• Diseñadas para una arquitectura de un

procesador segmentado.• El largo de las instrucciones es el mismo.• Solo las instrucciones de cargue y

almacene accesan la memoria.• Los modos de direccionamiento se han

simplificado.– Generalmente limitado a: inmediato, indirecto

por registro, desplazamiento con registro, indexado.

• Las cargas y los saltos se retardo

Page 50: Capítulo 3

Página 50

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

EPIC• Pueden cambiar el número de canales

que usan de generación en generación y aún conservar la compatibilidad con las aplicaciones existentes.

• La información grabada en el grupo de instrucciones le dice explícitamente al procesador cuales de las instrucciones siguientes no tienen dependencia de los datos y por ende pueden ser ejecutadas simultáneamente.

Page 51: Capítulo 3

Página 51

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Formato de Instrucciones para el caso del 8088/86

Page 52: Capítulo 3

Página 52

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Ejecución de instrucciones

Page 53: Capítulo 3

Página 53

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Ejecución de instrucciones

Page 54: Capítulo 3

Página 54

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Criterios para el diseño de instrucciones

• “Encontrar un lenguaje que haga fácil construir el hardware y el compilador maximizando su rendimiento y minimizando el costo”

• Uno de los aspectos relacionados con hacer un hardware sencillo es diseñar instrucciones que sean del mismo largo.

• El HW con un número variable de operandos es más complejo.

Page 55: Capítulo 3

Página 55

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

PRINCIPIOS DE DISEÑO

• 1. La simplicidad favorece la regularidad.

• 2. Entre más pequeño es más rápido• 3. Haga el caso común más rápido• 4. Un buen diseño demanda un buen

compromiso

Page 56: Capítulo 3

Página 56

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

LA SIMPLICIDAD FAVORECE LA REGULARIDAD

• Entre más regulares sean las instrucciones más simple será el HW

• Nuevamente si se cuenta con instrucciones de largo variable el HW será más complejo.

• Mientras que si las instrucciones son todas del mismo largo se pueden generalizar algunas partes del diseño eléctrico.

Page 57: Capítulo 3

Página 57

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

ENTRE MÁS PEQUEÑOS ES MÁS RÁPIDO

• Si el sistema cuenta con una gran cantidad de registros se incrementa el tiempo de ciclo del reloj, porque a las señales eléctricas le toman más tiempo cuando deben de viajar más rápido.

• En este caso entre menos registros se cuente en la arquitectura el tiempo de ejecución de las instrucciones disminuye.

Page 58: Capítulo 3

Página 58

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

HAGA EL CASO COMÚN MÁS RÁPIDO

• Para este caso se deben analizar los aspectos comunes en las instrucciones y una vez detectado, se debe invertir tiempo en rediseñarlo para que de tal forma sea más pequeño y así se realice la operación en un menor tiempo.

• Un ejemplo puede ser realizar el fetch de una instrucción, o un análisis de constantes.

Page 59: Capítulo 3

Página 59

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

UN BUEN DISEÑO DEMANDA UN BUEN COMPROMISO

• Aquí el compromiso es realizar las mejoras necesarias para que si se quieren instrucciones de un mismo largo, ¿Cuáles deben ser los compromisos que se deben realizar, en los modos de direccionamiento o en el HW para que el sistema se eficiente?

Page 60: Capítulo 3

Página 60

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

ESPECIFICACIONES DE DISEÑO

• Para el desarrollo de este tema se utilizaran instrucciones del tipo MIPS, esto con el fin de seguir el libro de Patterson.

Page 61: Capítulo 3

Página 61

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

INSTRUCCIONES

• Las instrucciones son de 32 bits de largo.

• Hay dos tipos de instrucciones:– Las de registro o tipo R – Las tipo I (inmediato)– Las tipo J (utilizadas para producir

saltos)

Page 62: Capítulo 3

Página 62

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

INSTRUCCIONES TIPO “R”

• opcode corresponde a la operación básica de la instrucción, tradicionalmente llamado opcode. Normalmente corresponde a 0 para las instrucciones tipo R.

• rs el primer registro fuente (operando)• rt el segundo registro fuente (operando)• rd el registro destino, recibirá el resultado de la

operación.• shamt cantidad de desplazamientos, en la mayoría de las

instrucciones este espacio contiene un 0.• funct función, este campo combinado con el “opcode”

selecciona las variaciones específicas del código de la función a realizar.

• EJEMPLO:– add $t0, $s1, $s2

opcode

31 26 25 21 20

rs rt rd

16 15

shamt funct

11 10 6 5 0

Page 63: Capítulo 3

Página 63

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

INSTRUCCIONES TIPO “R”

• Este tipo de formato para instrucciones se utiliza para todas las que no accesen memoria o sean de control de programa.

Page 64: Capítulo 3

Página 64

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

INSTRUCCIONES TIPO I

• Se utiliza la I para representar la forma inmediata

Ejemplo:

lw $t0, 32($s2)• Este tipo de instrucción se utiliza para

el manejo de memoria.

opcode

31 26 25 21 20

rs rt

16 15

inmediate

0

Page 65: Capítulo 3

Página 65

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

INSTRUCCIONES TIPO J

opcode

31 26 25

Dirección de 26 bits

0

• Es el formato para las instrucciones de salto ya sean condicionales o incondicionales

• La dirección no es de 32 bits.

Page 66: Capítulo 3

Página 66

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Modos de direccionamiento

• Esta máquina con instrucciones MIPS tiene 4 modos de direccionamiento:– Por registro– Por desplazamiento– Inmediato– Relativo al PC– Pseudodirecto

Page 67: Capítulo 3

Página 67

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Direccionamiento por registro

• En esta categoría se incluyen todas aquellas instrucciones en donde se utiliza un registro en su sintaxis.

• El operando es el contenido de un registro.

Page 68: Capítulo 3

Página 68

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Direccionamiento base o desplazamiento

• En este caso el operando se encuentra en una posición de memoria cuya dirección se forma por la suma del contenido de un registro y una constante contenida en el formato de la instrucción.

Page 69: Capítulo 3

Página 69

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Direccionamiento inmediato

• El operando es una constante la cual se encuentra en el contenido de la instrucción.

Page 70: Capítulo 3

Página 70

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Direccionamiento relativo al PC

• La dirección del operando se forma de la suma del contenido del PC y la dirección que aparece en el formato de la instrucción.

• Es la combinación de un registro base y la dirección en la operación de salto.

• PC=registro+la dirección de salto• La referencia es el contador de programa PC• Ejemplos: saltos condicionales e incondicionales.

Page 71: Capítulo 3

Página 71

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Direccionamiento pseudodirecto

• Se utiliza principalmente para los saltos.

• La dirección de salto es de 26 bits del código de instrucción, concatenado con los bits altos del contenido del contador de programa PC.

Page 72: Capítulo 3

Página 72

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Resumen del conjunto de instruccionesMIPS assembly language

Category Instruction Example Meaning Commentsadd add $s1, $s2, $s3 $s1 = $s2 + $s3 Three operands; data in registers

Arithmetic subtract sub $s1, $s2, $s3 $s1 = $s2 - $s3 Three operands; data in registers

add immediate addi $s1, $s2, 100 $s1 = $s2 + 100 Used to add constants

load w ord lw $s1, 100($s2) $s1 = Memory[$s2 + 100]Word from memory to register

store w ord sw $s1, 100($s2) Memory[$s2 + 100] = $s1 Word from register to memory

Data transfer load byte lb $s1, 100($s2) $s1 = Memory[$s2 + 100]Byte from memory to register

store byte sb $s1, 100($s2) Memory[$s2 + 100] = $s1 Byte from register to memoryload upper immediate

lui $s1, 100 $s1 = 100 * 216 Loads constant in upper 16 bits

branch on equal beq $s1, $s2, 25 if ($s1 == $s2) go to PC + 4 + 100

Equal test; PC-relative branch

Conditional

branch on not equal bne $s1, $s2, 25 if ($s1 != $s2) go to PC + 4 + 100

Not equal test; PC-relative

branch set on less than slt $s1, $s2, $s3 if ($s2 < $s3) $s1 = 1; else $s1 = 0

Compare less than; for beq, bne

set less than immediate

slti $s1, $s2, 100 if ($s2 < 100) $s1 = 1; else $s1 = 0

Compare less than constant

jump j 2500 go to 10000 Jump to target address

Uncondi- jump register jr $ra go to $ra For sw itch, procedure return

tional jump jump and link jal 2500 $ra = PC + 4; go to 10000 For procedure call

Page 73: Capítulo 3

Página 73

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Resumen del conjunto de instrucciones

Page 74: Capítulo 3

Página 74

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

CODIFICACIÓN DE LAS INSTRUCCIONES

Page 75: Capítulo 3

Página 75

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Jerarquía de traducción

Page 76: Capítulo 3

Página 76

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Proceso de diseño del CPU• En el proceso de diseño de un procesador

se deben conocer los siguientes aspectos:

ProcesadorProcesador

Ruta de datosRuta de datos Ruta de controlRuta de control

RegReg ALUALU MemMem DecoDeco SecuenciadorSecuenciador

Arquitectura del conjunto de instrucciones

Circuitos lógicosCircuitos lógicos

Page 77: Capítulo 3

Página 77

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Diseño del CPU• Una forma de diseñar la Unidad de Control o de

interpretación de instrucciones es mediante el diseño de máquinas de estado.

Lógica de próximo estado

Memoria

Lógica de salida

A

B

C

D

E

Page 78: Capítulo 3

Página 78

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

MAQUINAS DE ESTADO

• Máquina de Mealy• Máquina de Moore• Máquina tipo C• Máquina microprogramada

Page 79: Capítulo 3

Página 79

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Máquina Clase A, Mealy

Page 80: Capítulo 3

Página 80

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Máquina Clase B, Moore

Page 81: Capítulo 3

Página 81

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Máquina Clase C, Moore sin registro de salidas

Page 82: Capítulo 3

Página 82

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Máquina Clase E

Page 83: Capítulo 3

Página 83

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Máquina Clase D

Page 84: Capítulo 3

Página 84

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

• Dos tipos de unidades funcionales– Elementos que operan en la ruta

de los datos (combinacional)– Elementos que contienen estados

(secuenciales)

Detalles para la implementación

Page 85: Capítulo 3

Página 85

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

TIPOS DE MÁQUINAS

• Máquinas cuya operación se realiza en un solo ciclo de reloj

• Máquinas cuya operación se realiza en varios ciclos de reloj

Page 86: Capítulo 3

Página 86

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Señales de Reloj

• El reloj es una señal periódica:

• El disparo por borde permite a los datos ser leídos de un registro y almacenados en un registro todo en un solo ciclo de reloj

Cualquier valor almacenado en la máquina se actualiza solo

Borde creciente

Borde decreciente

Page 87: Capítulo 3

Página 87

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Operación en su sólo ciclo• Todas las operaciones en lógica combinacional

deben realizarse en un ciclo de reloj.

RegistroRegistro Lógica combinacional (ALU) RegistroRegistro

Un ciclo de reloj

Se actualizaaquí

PROBLEMA: El ciclo del reloj debe ser muy largoPROBLEMA: El ciclo del reloj debe ser muy largo

Page 88: Capítulo 3

Página 88

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Operación con múltiples ciclos

• Los cambios ocurren en el borde creciente los momentos seleccionados

RegistroRegistro CombinationalLogic (ALU) RegistroRegistro

escritura escritura

Requiere de señales de control adicionalesRequiere de señales de control adicionales

Page 89: Capítulo 3

Página 89

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Concepto de un solo ciclo• La ruta de datos en el CPU se encuentra

entre los registros – el pulso de reloj determina cuando los registros cambian.

Retardo en carga de registros

Retardo en la lógica combinacional

Page 90: Capítulo 3

Página 90

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

La visión abstracta• Contador de programa: próxima instrucción• Memoria de instrucciones• Archivo de registros• Memoria de datos• Estructura del bus: transferencia de información

Page 91: Capítulo 3

Página 91

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Construcción de la ruta de datos• Memoria para instrucciones

– Contenga sólo instrucciones• Contador de programa

– Apunte a la próxima instrucción• Unidad aritmética y lógica

– Solo un sumador

Page 92: Capítulo 3

Página 92

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Instrucciones y el PC• Incrementa:

suma 4 al PC para obtener la dirección de la próxima instrucción.

• Necesita de extensiones para ejecutar saltos.

Page 93: Capítulo 3

Página 93

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Registros y ALU• Archivo de

registros con el fin de ejecutar instrucciones con direccionamiento por registro

• La unidad lógica y aritmética se puede diseñar de una forma muy similar al circuito integrado 74181

Page 94: Capítulo 3

Página 94

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Agregando la memoria de datos• Transferencia de direcciones a memoria• Transferencia de los datos al archivo de

registros• Unidad de extensión de signo para el cálculo de

la dirección.

Page 95: Capítulo 3

Página 95

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Ruta de datos para el salto• PC+4 + extensión del signo y

dirección desplazada

Page 96: Capítulo 3

Página 96

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Conectando las unidades• Archivo de registros• ALU para operandos y cálculos de direcciones• Memoria de datos

Page 97: Capítulo 3

Página 97

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Agregando la unidad de búsqueda de instrucción

• La unidad de búsqueda de instrucción provee la instrucción.

Page 98: Capítulo 3

Página 98

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Agregando la unidad de salto

• Se pueden manejar todas la instrucciones básicas

PC

Instructionmemory

Readaddress

Instruction

16 32

Add ALUresult

Mux

Registers

Writeregister

Writedata

Readdata 1

Readdata 2

Readregister 1Readregister 2

Shiftleft 2

4

Mux

ALU operation3

RegWrite

MemRead

MemWrite

PCSrc

ALUSrc

MemtoReg

ALUresult

ZeroALU

Datamemory

Address

Writedata

Readdata M

ux

Signextend

Add

Page 99: Capítulo 3

Página 99

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

EJERCICIO

• Realice las modificaciones de HW necesarias para que esta arquitectura que se muestra a continuación realice una instrucción que SUME dos operados, uno almacenado en un registro, otro almacenado en una dirección de memoria y que el resultado se almacene en un registro

Page 100: Capítulo 3

Página 100

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

EJERCICIO Cont

PC

Instructionmemory

Readaddress

Instruction

16 32

Add ALUresult

Mux

Registers

Writeregister

Writedata

Readdata 1

Readdata 2

Readregister 1Readregister 2

Shiftleft 2

4

Mux

ALU operation3

RegWrite

MemRead

MemWrite

PCSrc

ALUSrc

MemtoReg

ALUresult

ZeroALU

Datamemory

Address

Writedata

Readdata M

ux

Signextend

Add

Page 101: Capítulo 3

Página 101

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Procesador de un solo ciclo

PC

Memoria Para

Instrucciones

MUX

0

1

MemoriaPara Datos

Addr

D

ADD

MUX

0

1

MUX

0

1

Registros

D

R1id

WRid

R2id

Contador de programaContador de programaDirecciones de memoriaDirecciones de memoria

IncrementarIncrementar

ADD

+1

Campos de instrucciones – Registros con puertos dualesCampos de instrucciones – Registros con puertos duales

ALU

MUX

0

1

Ruta de datos - ALURuta de datos - ALU

¿Porqué esto aquí?

Memoria principal para datosMemoria principal para datos

R1 ID R2 ID WR ID otro

¿Porqué esta esto aquí?

Page 102: Capítulo 3

Página 102

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Registros

D

R1id

WRid

R2idPC

ADD

MemoriaDe

instruccionesALU

MemoriaDe

Datos

ADD

MUX

0

1

MUX

0

1MUX

0

1

MUX

0

1

Addr

D

Acción de un procesador de un solo ciclo

Read

0

1

1

0

NOP

Read

WriteEscribir datos a un registroEscribir datos a un registro

Búsqueda de instrucción – Requiere “Read”Búsqueda de instrucción – Requiere “Read”

Actualice el PC – Requiere “0” Mux de dirrActualice el PC – Requiere “0” Mux de dirr

Decodifique la InstrucciónDecodifique la Instrucción

Campo de la dirr Reg

Campo de Dirr Datos

Seleccione Reg AddrSeleccione Reg AddrPase la dirección de los DatosPase la dirección de los DatosPase la dirección de datos por la ALUPase la dirección de datos por la ALU

Lea los datosLea los datos

Envié los datos a los registrosEnvié los datos a los registrosEscriba la instrucción en el registroEscriba la instrucción en el registro Ahora los relojes en el sistemaAhora los relojes en el sistema

Clk Clk

Page 103: Capítulo 3

Página 103

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Temporización de un solo ciclo

I Memoria lectura

PC Mux 0

Reg Mux

ALU Mux

0

0

ALU Op NOP

D Memoria lectura

Data Mux 1

Reg Ctrl escritura

RELOJ

Ciclo de reloj requerido

Page 104: Capítulo 3

Página 104

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Control básico• Repaso de las funciones de la ALU/líneas de

control.

• Bits de control de la ALU: origen de – 00: suma (carga o almacena una palabra)– 01: resta (salta si es igual)– 10: operaciones de acuerdo al valor de la función

(instrucciones con direccionamiento por registro)

Page 105: Capítulo 3

Página 105

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Control de la ALU

Page 106: Capítulo 3

Página 106

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Control central• Código de operación: Op [31-26]• Registros de lectura: rs [25-21], rt

[20-16]• Registro base (LW, SW): rs[25-21]• Registro destino

– Cargue: rt[20-16]– Tipo R: rd[15-11]– Requiere de un multiplexor para

indicar el número del registro en el que se va a escribir

Page 107: Capítulo 3

Página 107

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Ruta de datos extendida• Multiplexores para la selección de escritura en

registros• Todas las líneas de control

Page 108: Capítulo 3

Página 108

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

RESUMEN DE LAS LINEAS DE CONTROL

• REGDEST: fuente del registro destino para la operación

• REGWRITE: habilita la escritura a un registro del archivo

• ALUSRC: fuente del segundo operando de la ALU, puede ser un registro o parte de la instrucción

• PCSRC: fuente del PC, (incremente[POC+4] o salta)

• MEMREAD/MEMWRITE: lectura o escritura de memoria

• MEMTOREG: fuente de escritura de un registro

Page 109: Capítulo 3

Página 109

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Ruta de datos y control

Page 110: Capítulo 3

Página 110

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Operación de la ruta de datos

Ejemplo: Instrucción tipo registro

Búsqueda de instrucción e incremento del PC Lectura de registros Procesamiento de los datos en la ALU Escritura del resultado en el archivo de

registros

Page 111: Capítulo 3

Página 111

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

EJEMPLO DE INSTRUCCIÓN TIPO R

PC

Instructionmemory

Readaddress

Instruction[31– 0]

Instruction [20– 16]

Instruction [25– 21]

Add

Instruction [5– 0]

MemtoReg

ALUOp

MemWrite

RegWrite

MemRead

BranchRegDst

ALUSrc

Instruction [31– 26]

4

16 32Instruction [15– 0]

0

0Mux

0

1

Control

Add ALUresult

Mux

0

1

RegistersWriteregister

Writedata

Readdata 1

Readdata 2

Readregister 1

Readregister 2

Signextend

Shiftleft 2

Mux

1

ALUresult

Zero

Datamemory

Writedata

Readdata

Mux

1

Instruction [15– 11]

ALUcontrol

ALUAddress

Page 112: Capítulo 3

Página 112

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

EJEMPLO DE EJECUCION• Lw $3, offset ($2)

– Se busca la instrucción en memoria, incrementa el PC

– Lee el valor del registro $2– Calcula la dirección final– Utiliza la dirección para direccionar la memoria– Escribir el dato en el file de registros

• Beq $10, $11, offset– Busca la instrucción en memoria, incrementa

el PC– Lee los dos valores de los registros ($10,$11)– Resta los valores, calcula la dirección de salto– Utiliza la señal de cero para determinar el

salto o la etiqueta.

Page 113: Capítulo 3

Página 113

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Finalización del control

• Códigos de operación en decimal• Códigos de operación en binario

Page 114: Capítulo 3

Página 114

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Funciones de control

Page 115: Capítulo 3

Página 115

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Implementación • Seleccione la correcta

– Lógica – PLA– ROM– Etc....

R-format Iw sw beq

Op0

Op1

Op2

Op3

Op4

Op5

Inputs

Outputs

RegDst

ALUSrc

MemtoReg

RegWrite

MemRead

MemWrite

Branch

ALUOp1

ALUOpO

Page 116: Capítulo 3

Página 116

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Instrucción de salto• Realizar una extensión de la

arquitectura que se está tratando• Tiene el siguiente formato

– Instrucción

– Dirección

Page 117: Capítulo 3

Página 117

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Arquitectura con Jump

Page 118: Capítulo 3

Página 118

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Limitaciones de la solución con un solo ciclo

• El tiempo de acceso para varias operaciones varía– Acceso a memoria 10 ns– Acceso a registros 2 ns– Add 3 ns– Sub 3.5 ns– Multiplicación 20 ns– Multiplicación en PF 24 ns– Funciones transcendentales 40 ns

• Tiempo depende de la implementación• El módulo más lento define la duración

del ciclo

Page 119: Capítulo 3

Página 119

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

EJEMPLO

• Lista de acciones por instrucción• Número de ciclos por instrucción

Page 120: Capítulo 3

Página 120

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Ejemplo cont.

• Probabilidades– Formato 49% 16 ns– Load 22% 24 ns– Store 11% 22 ns– Branch 16% 14 ns– Jump 2% 8 ns

• Tiempo de ciclo de reloj del CPU es de: 18 ns

• Tiempo de ciclo de reloj por el bloque más lento: 24 ns (ignorando operaciones largas)

Page 121: Capítulo 3

Página 121

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Implementación de un solo ciclo

• Calcule el tiempo de ciclo asumiendo tiempos de retardo despreciables excepto: memoria (2ns), ALU y sumadores (2ns), acceso al file de registros (1ns)

MemtoReg

MemRead

MemWrite

ALUOp

ALUSrc

RegDst

PC

Instructionmemory

Readaddress

Instruction[31– 0]

Instruction [20– 16]

Instruction [25– 21]

Add

Instruction [5– 0]

RegWrite

4

16 32Instruction [15– 0]

0Registers

WriteregisterWritedata

Writedata

Readdata 1

Readdata 2

Readregister 1Readregister 2

Signextend

ALUresult

Zero

Datamemory

Address Readdata M

ux

1

0

Mux

1

0

Mux

1

0

Mux

1

Instruction [15– 11]

ALUcontrol

Shiftleft 2

PCSrc

ALU

Add ALUresult

Page 122: Capítulo 3

Página 122

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Problemas • ¿Que sucede con las instrucciones complejas?• Aumento del HW• Desperdicio de área• Tiempo de ciclo muy largo• SOLUCIÓN

– Utilizar un tiempo de ciclo más pequeño– Si se tienen diferentes instrucciones se tienen diferentes

número de ciclos– Ruta de datos con multiciclo.

PC

Memory

Address

Instructionor data

Data

Instructionregister

Registers

Register #

Data

Register #

Register #

ALU

Memorydata

register

A

B

ALUOut

Page 123: Capítulo 3

Página 123

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

Problemas en procesadores de un solo ciclo

En la implementación de un solo ciclo: Cada instrucción tarda un solo ciclo de reloj en ejecutarse. CPI = 1 pero el ciclo de reloj se determina con la

instrucción que tarda más en ejecutarse en toda la máquina.

No se pueden compartir los recursos.

Generalmente la instrucción más larga es LOAD El tiempo de ciclo es mucho mayor que cualquier

otra instrucción. Ejemplos:

Instrucciones tipo R no requieren acceso a la memoria de datos.

Los saltos incondicionales “Jump” no requieren operaciones con la ALU ni tampoco acceso a la memoria de datos.

Page 124: Capítulo 3

Página 124

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

• Se estaría reutilizando las unidades funcionales– La ALU se utilizaría para calcular

direcciones e incrementar el PC– La memoria se utilizaría para

almacenar datos e instrucciones

• Las señales de control no serán determinadas solamente por las instrucciones.

• Se utilizará una máquina de estados para realizar el control.

Solución con multiciclo

Page 125: Capítulo 3

Página 125

EL - 3310Diseño de Sistemas Digitales

Ing. José Alberto Díaz

García

Escuela de Ingeniería ElectrónicaEl p

rocesad

or:

dato

s y

con

trol (I

P

art

e)

• Se rompe la instrucción en pasos, cada paso toma un ciclo– Balance en el trabajo a realizar– Restringir cada ciclo a utilizar solo una unidad funcional

• Al final del ciclo– Almacenar valores para que se utilicen en los siguientes ciclos.– Introducir registros internos adicionales

Solución con Multiciclo

Shiftleft 2

PC

Memory

MemData

Writedata

Mux

0

1

RegistersWriteregister

Writedata

Readdata 1

Readdata 2

Readregister 1

Readregister 2

Mux

0

1

Mux

0

1

4

Instruction[15– 0]

Signextend

3216

Instruction[25– 21]

Instruction[20– 16]

Instruction[15– 0]

Instructionregister

1 Mux

0

3

2

Mux

ALUresult

ALUZero

Memorydata

register

Instruction[15– 11]

A

B

ALUOut

0

1

Address