Capítulo 3
description
Transcript of 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)
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.
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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.
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.
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
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
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
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
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
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.
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.
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.
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.
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
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.
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.
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.
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
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
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
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 )
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.
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
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.
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
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
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
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.
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
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.
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.
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.
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?
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.
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)
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
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.
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
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.
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
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.
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.
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.
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.
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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.
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
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
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.
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
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
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
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í?
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
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
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)
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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)
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
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
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.
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
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