Download datos y control (I Parte) - Escuela de Ingeniería Electrónica

Document related concepts
no text concepts found
Transcript
El procesador: datos y control (I Parte)
Escuela de Ingeniería Electrónica
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 1
Capítulo 3
El procesador, la ruta de datos
y el control
(I Parte)
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Definición de arquitectura de computadores
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 2
• 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.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Arquitectura de computadores
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 3
•
•
•
•
•
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.
El procesador: datos y control (I Parte)
Escuela de Ingeniería Electrónica
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 4
DATOS SOBRE TENDENCIAS
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
1971: INTEL 4004
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 5
• Primer procesador
• Proceso de 10
micrones
• 2300 transistores
• Bus de 4 bits
• 640 bytes de
memoria
• 750 Khz
• Die de 12 mm2
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
2000: Intel Pentium 4
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 6
• Proceso de 0.18
micras
• 42 millones de
transistores
• Die de 217 mm2
• Bus de 64 bits
• 8 KBytes de
memoria cache
• 450 MHz
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
2004: Intel Itanium 2
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 7
• Proceso de 0.13
micras
• 592 millones de
transistores
• Die de 432 mm2
• Bus de 128 bits
• 1.4 GHz
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
2015: Proyecciones
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 8
• Proceso de 0.025 micras
• 7 billones de
transistores
• Die de 310 mm2
• 33 GHz en el chip
• 29 GHz fuera del chip
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
COMPARACIÓN
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 9
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
DIMENSIONES
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 10
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
AREA Y RETARDOS
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 11
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
CAPACIDAD DEL CHIP
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 12
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
TENDENCIA DE RENDIMIENTO
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 13
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
RETARDO POR CONDUCTORES
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 14
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
ANCHO DE BANDA POR PIN
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 15
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
POTENCIA RENDIMIENTO
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 16
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
DRAMS
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 17
El procesador: datos y control (I Parte)
Escuela de Ingeniería Electrónica
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 18
TENDENCIA DE LOS
MICROPROCESADORES
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
RETARDO POR INTERCONECCION
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 19
40
35
30
25
20
15
10
5
0
0.65
1989
Gate delay
Interconnect delay
0.5
1992
0.35
1995
0.25
1998
0.18
2001
0.13
2004
0.1
2007
Source: SIA Roadmap 1997
El procesador: datos y control (I Parte)
Escuela de Ingeniería Electrónica
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 20
CONCEPTOS SOBRE ARQUITECTURAS DE
PROCESADORES
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Arquitectura básica de un procesador
Bus de direcciones Bus de datos
Generador de dir y
Controlador de bus
EU
AH
BH
CH
DH
AL
BL
CL
DL
BP
DI
SI
SP
ALU
Página 21
ADD
CS
ES
SS
DS
IP
1
2
3
4
5
6
Cola de
instrucciones
Bus interno de datos
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
BIU
banderas
UNIDAD DE INTERPRETACIÓN
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
La unidad de cálculo (ALU)
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 22
• 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.
Bus de direcciones
Bus de datos
Generador de dir y
Controlador de bus
EU
AH AL
BH BL
CH CL
DH DL
BP
DI
SI
SP
BIU
ADD
CS
ES
SS
DS
IP
1
2
3
4
5
6
Cola de
instrucciones
Bus interno de datos
ALU
banderas
UNIDAD DE INTERPRETACIÓN
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Los registros de trabajo
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 23
•
•
•
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.
Bus de datos
Bus de direcciones
Generador de dir y
Controlador de bus
EU
AH AL
BH BL
CH CL
DH DL
BP
DI
SI
SP
BIU
ADD
CS
ES
SS
DS
IP
1
2
3 Cola de
4 instrucciones
5
6
Bus interno de datos
ALU
banderas
UNIDAD DE INTERPRETACIÓN
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
La interfaz con el bus
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 24
• 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.
Bus de direcciones
Bus de datos
Generador de dir y
Controlador de bus
EU
AH AL
BH BL
CH CL
DH DL
BP
DI
SI
SP
BIU
ADD
CS
ES
SS
DS
IP
1
2
3
4
5
6
Cola de
instrucciones
Bus interno de datos
ALU
banderas
UNIDAD DE INTERPRETACIÓN
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
La unidad de interpretación de instrucciones
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 25
•
•
•
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.
Bus de direcciones
Bus de datos
Generador de dir y
Controlador de bus
EU
AH AL
BH BL
CH CL
DH DL
BP
DI
SI
SP
BIU
ADD
CS
ES
SS
DS
IP
1
2
3
4
5
6
Cola de
instrucciones
Bus interno de datos
ALU
banderas
UNIDAD DE INTERPRETACIÓN
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Ejemplo de una máquina multinivel
Nivel 5
Alto nivel
Nivel 4
Lenguaje
ensamblador
Nivel 3
Sistema
operativo
Nivel 2
Conjunto de
instrucciones
Nivel 1
Microarquitectura
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 26
Traducción (compilador)
Traducción (ensamblador)
Interpretación parcial
(Sistema Operativo)
Interpretación
(microprograma) o
ejecución directa
Hardware
Nivel 0
Lógica digital
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Ejemplo de una máquina multinivel
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 27
Nivel 5
Alto nivel
Nivel 4
Lenguaje
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)
• 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.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Ejemplo de una máquina multinivel
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 28
Nivel 5
Alto nivel
Nivel 4
Lenguaje
ensamblador
Nivel 3
Sistema
operativo
•
•
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
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Ejemplo de una máquina multinivel
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 29
Nivel 5
Alto nivel
Nivel 4
Lenguaje
ensamblador
Nivel 3
Sistema
operativo
Nivel 2
Conjunto de
instrucciones
0000 1001 1100 0110 1010 1111 0101 1000
1010 1111 0101 1000 0000 1001 1100 0110
1100 0110 1010 1111 0101 1000 0000 1001
0101 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.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Ejemplo de una máquina multinivel
Nivel 5
Alto nivel
Nivel 4
Lenguaje
ensamblador
Nivel 3
Sistema
operativo
Nivel 2
Conjunto de
instrucciones
Nivel 1
Microarquitectura
Nivel 0
Lógica digital
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 30
• 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.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
¿Qué son las instrucciones?
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 31
software
Conjunto de instrucciones
hardware
Escuela de Ingeniería Electrónica
software
Aplicaciones
(iTunes)
Compilador
Ensamblador
Diseño del circuito
Página 32
Vdd
I1
O1
Transistores
I1
Me
m
ALU
CONJUNTO
DE INSTRUCCIONES
Procesador
Memoria
Sistema de I/O
Control
Ruta de datos y control
I2
O2
Diseño digital
I1
O1
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Sistema operativo
(MS-DOS, Windows,
Linux, etc.)
I
Reg
El procesador: datos y control (I Parte)
¿Qué son las instrucciones?
Vdd
O1
hardware
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Representación de capas
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 33
Programa en alto nivel
Compilador
Programa en lenguaje
ensamblador
Ensamblador
Código objeto de máquina
Linker
Código de máquina ejecutable
Loader
Lenguaje máquina
Programa en memoria
Arquitectura del conjunto de
instrucciones
Especificación de las señales de
control
Programa:
temp = v[k];
v[k] = v[k+1];
v[k+1] = temp;
Programa en ensamblador:
lw
lw
sw
sw
$15,
$16,
$16,
$15,
0($2)
4($2)
0($2)
4($2)
Programa en lenguaje máquina:
0000 1001 1100 0110 1010 1111 0101 1000
1010 1111 0101 1000 0000 1001 1100 0110
1100 0110 1010 1111 0101 1000 0000 1001
0101 1000 0000 1001 1100 0110 1010 1111
Interpretación de máquina
ALUOP[0:3]  InstReg[9:11] & MASK
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Jerarquía en el diseño de computadores
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 34
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Ciclo general de ejecución de instrucciones
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 35
Búsqueda de
instrucción
Decodificación de la
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
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Formato de Instrucciones
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 36
• 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.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Formato de instrucciones
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 37
• 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.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Criterios de diseño de instrucciones
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 38
• 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.
El procesador: datos y control (I Parte)
Escuela de Ingeniería Electrónica
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 39
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.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Criterio de diseño para el formato de las instrucciones
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 40
• 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
El procesador: datos y control (I Parte)
Escuela de Ingeniería Electrónica
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 41
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.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Códigos de operación expandibles
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 42
• 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.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Códigos de operación expandibles
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 43
• 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.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Solución utilizando la expansión de código
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 44
• 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
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Solución con la expansión del opcode
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 45
• 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
El procesador: datos y control (I Parte)
Escuela de Ingeniería Electrónica
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 46
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
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Modelos de instrucciones
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 47
• CISC
• RISC
• CRISC
• EPIC
(Complex Instruction Set Computer)
(Reduced Instruction Set Computer)
(Complex Reduced Instruction Set
Computer)
(Explicitly Parallel Instruction Computing )
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
CISC
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 48
• 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.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
RISC
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 49
• 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
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
EPIC
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 50
• 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.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Formato de Instrucciones para el caso del 8088/86
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 51
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Ejecución de instrucciones
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 52
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Ejecución de instrucciones
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 53
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Criterios para el diseño de instrucciones
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 54
• “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.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
PRINCIPIOS DE DISEÑO
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 55
•
•
•
•
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
El procesador: datos y control (I Parte)
Escuela de Ingeniería Electrónica
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 56
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.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
ENTRE MÁS PEQUEÑOS ES MÁS RÁPIDO
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 57
• 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.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
HAGA EL CASO COMÚN MÁS RÁPIDO
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 58
• 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.
El procesador: datos y control (I Parte)
Escuela de Ingeniería Electrónica
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 59
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?
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
ESPECIFICACIONES DE DISEÑO
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 60
• Para el desarrollo de este tema se utilizaran
instrucciones del tipo MIPS, esto con el fin de
seguir el libro de Patterson.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
INSTRUCCIONES
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 61
• 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)
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
INSTRUCCIONES TIPO “R”
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 62
31
26 25
opcode
21 20
rs
16 15
rt
11 10
rd
6 5
shamt
0
funct
• 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
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
INSTRUCCIONES TIPO “R”
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 63
• Este tipo de formato para instrucciones se
utiliza para todas las que no accesen memoria
o sean de control de programa.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
INSTRUCCIONES TIPO I
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 64
31
26 25
opcode
21 20
rs
16 15
rt
0
inmediate
• 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.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
INSTRUCCIONES TIPO J
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 65
31
26 25
opcode
0
Dirección de 26 bits
• Es el formato para las instrucciones de salto
ya sean condicionales o incondicionales
• La dirección no es de 32 bits.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Modos de direccionamiento
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 66
• Esta máquina con instrucciones MIPS tiene 4
modos de direccionamiento:
–
–
–
–
–
Por registro
Por desplazamiento
Inmediato
Relativo al PC
Pseudodirecto
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Direccionamiento por registro
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 67
• 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.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Direccionamiento base o desplazamiento
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 68
• 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.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Direccionamiento inmediato
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 69
• El operando es una constante la cual se
encuentra en el contenido de la instrucción.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Direccionamiento relativo al PC
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 70
•
•
•
•
•
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.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Direccionamiento pseudodirecto
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 71
• 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.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Resumen del conjunto de instrucciones
Página 72
Three operands; data in registers
subtract
sub $s1, $s2, $s3
$s1 = $s2 - $s3
Three operands; data in registers
addi $s1, $s2, 100
lw $s1, 100($s2)
sw $s1, 100($s2)
lb $s1, 100($s2)
sb $s1, 100($s2)
lui $s1, 100
$s1 = $s2 + 100
Used to add constants
$s1 = Memory[$s2 + 100]Word from memory to register
Memory[$s2 + 100] = $s1 Word from register to memory
$s1 = Memory[$s2 + 100]Byte from memory to register
Memory[$s2 + 100] = $s1 Byte from register to memory
beq
$s1, $s2, 25
if ($s1 == $s2) go to
PC + 4 + 100
Equal test; PC-relative branch
branch on not equal bne
$s1, $s2, 25
if ($s1 != $s2) go to
PC + 4 + 100
Not equal test; PC-relative
$s1, $s2, $s3
if ($s2 < $s3) $s1 = 1;
else $s1 = 0
Compare less than; for beq, bne
Category
Arithmetic
Instruction
add immediate
load w ord
store w ord
Data transfer load byte
store byte
load upper
immediate
branch on equal
Conditional
branch
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
add
MIPS assembly language
Example
Meaning
add $s1, $s2, $s3
$s1 = $s2 + $s3
Unconditional jump
set on less than
slt
set less than
immediate
slti
jump
jump register
jump and link
j
jr
jal
$s1 = 100 * 2
16
$s1, $s2, 100 if ($s2 < 100) $s1 = 1;
Comments
Loads constant in upper 16 bits
Compare less than constant
else $s1 = 0
2500
$ra
2500
go to 10000
Jump to target address
go to $ra
For sw itch, procedure return
$ra = PC + 4; go to 10000 For procedure call
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Resumen del conjunto de instrucciones
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 73
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
CODIFICACIÓN DE LAS INSTRUCCIONES
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 74
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Jerarquía de traducción
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 75
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Proceso de diseño del CPU
• En el proceso de diseño de un procesador se deben
conocer los siguientes aspectos:
Arquitectura del conjunto de instrucciones
Procesador
Ruta de datos
Reg
ALU
Ruta de control
Mem
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 76
Circuitos lógicos
Deco
Secuenciador
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Diseño del CPU
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 77
• 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
A
Memoria
B
Lógica de salida
C
E
D
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
MAQUINAS DE ESTADO
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 78
•
•
•
•
Máquina de Mealy
Máquina de Moore
Máquina tipo C
Máquina microprogramada
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Máquina Clase A, Mealy
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 79
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Máquina Clase B, Moore
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 80
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Máquina Clase C, Moore sin registro de salidas
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 81
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Máquina Clase E
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 82
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Máquina Clase D
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 83
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Detalles para la implementación
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 84
• Dos tipos de unidades funcionales
– Elementos que operan en la ruta de los datos
(combinacional)
– Elementos que contienen estados (secuenciales)
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
TIPOS DE MÁQUINAS
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 85
• 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
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Señales de Reloj
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 86
• El reloj es una señal periódica:
Cualquier valor almacenado en la máquina se actualiza solo
Borde creciente
Borde decreciente
• 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
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Operación en su sólo ciclo
• Todas las operaciones en lógica combinacional deben realizarse
en un ciclo de reloj.
Un ciclo de reloj
Se actualiza
aquí
Registro
Lógica
combinacional (ALU)
Registro
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 87
PROBLEMA: El ciclo del reloj debe ser muy largo
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Operación con múltiples ciclos
• Los cambios ocurren en el borde creciente los
momentos seleccionados
escritura
Registro
escritura
Combinational
Logic (ALU)
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 88
Requiere de señales de control adicionales
Registro
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Concepto de un solo ciclo
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 89
• La ruta de datos en el CPU se encuentra entre los
registros – el pulso de reloj determina cuando los
registros cambian.
Retardo en la lógica combinacional
Retardo en carga de registros
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
La visión abstracta
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 90
•
•
•
•
•
Contador de programa: próxima instrucción
Memoria de instrucciones
Archivo de registros
Memoria de datos
Estructura del bus: transferencia de información
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Construcción de la ruta de datos
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 91
• 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
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Instrucciones y el PC
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 92
• Incrementa:
suma 4 al PC
para obtener la
dirección de la
próxima
instrucción.
• Necesita de
extensiones para
ejecutar saltos.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Registros y ALU
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 93
•
•
Archivo de
registros con el
fin de ejecutar
instrucciones
con
direccionamient
o por registro
La unidad lógica
y aritmética se
puede diseñar de
una forma muy
similar al
circuito
integrado 74181
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Agregando la memoria de datos
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 94
• 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.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Ruta de datos para el salto
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 95
• PC+4 + extensión del signo y dirección
desplazada
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Conectando las unidades
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 96
• Archivo de registros
• ALU para operandos y cálculos de direcciones
• Memoria de datos
El procesador: datos y control (I Parte)
Escuela de Ingeniería Electrónica
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 97
Agregando la unidad de búsqueda de
instrucción
•
La unidad de búsqueda de instrucción provee la instrucción.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Agregando la unidad de salto
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 98
• Se pueden manejar todas la instrucciones básicas
PCSrc
M
u
x
Add
Add ALU
result
4
Shift
left 2
PC
Read
address
Instruction
Instruction
memory
Registers
Read
register 1
Read
Read
data 1
register 2
Write
register
Write
data
RegWrite
16
ALUSrc
Read
data 2
M
u
x
3
ALU operation
Zero
ALU ALU
result
MemtoReg
Address
Write
data
Sign
extend
MemWrite
Read
data
Data
memory
32
MemRead
M
u
x
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
EJERCICIO
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 99
• 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
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
EJERCICIO Cont
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 100
PCSrc
M
u
x
Add
Add ALU
result
4
Shift
left 2
PC
Read
address
Instruction
Instruction
memory
Registers
Read
register 1
Read
Read
data 1
register 2
Write
register
Write
data
RegWrite
16
ALUSrc
Read
data 2
M
u
x
3
ALU operation
Zero
ALU ALU
result
MemtoReg
Address
Write
data
Sign
extend
MemWrite
Read
data
Data
memory
32
MemRead
M
u
x
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Procesador de un solo ciclo
+1
0M
ADD
1
R1 ID
WR ID
otro
ADD
¿Porqué esta esto aquí?
R1id
P
C
R2id
Memoria
Para
Instrucciones
Registros
0M
1
Contador de programa
Direcciones de memoria
U
X
ALU
WRid
D
0M
1
U
X
Incrementar
Campos de instrucciones – Registros con puertos duales
EL - 3310
de datos - ALU
Diseño Ruta
de Sistemas
Digitales
Memoria principal para datos
Ing. José Alberto Díaz
García
Página 101
R2 ID
U
X
¿Porqué esto aquí?
Addr
Memoria
Para
Datos
D
0M
1
U
X
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Acción de un procesador de un solo ciclo
0M
ADD
Clk
Clk
1
U
X
ADD
Campo de la dirr Reg
0
R1id
P
C
R2id
Memoria
De
instrucciones
Registros
0M
Campo de Dirr
Datos
1
U
X
ALU
WRid
D
Read
Escribir datos a un registro
Búsqueda de instrucción – Requiere “Read”
Actualice el PC – Requiere “0” Mux de dirr
Decodifique la Instrucción
EL - 3310
Seleccione
Reg Addr
Diseño de Sistemas
PaseDigitales
la dirección de los Datos
Pase la dirección de datos por la ALU
Ing.
Josélos
Alberto
Díaz
Lea
datos
García
Envié los datos a los registros
Página 102
Escriba
la instrucción en el registro
0M
1
0
U
X
NOP
Write
1
Addr
Memoria
De
Datos
0M
1
U
X
D
Read
Ahora los relojes en el sistema
1
Escuela de Ingeniería Electrónica
Temporización de un solo ciclo
El procesador: datos y control (I Parte)
Ciclo de reloj requerido
RELOJ
I Memoria
PC Mux
Ing. José Alberto Díaz
García
Página 103
0
Reg Mux
0
ALU Mux
0
ALU Op
D Memoria
Data Mux
EL - 3310
Diseño de Sistemas
Digitales
lectura
Reg Ctrl
NOP
lectura
1
escritura
Escuela de Ingeniería Electrónica
Control básico
El procesador: datos y control (I Parte)
• Repaso de las funciones de la ALU/líneas de control.
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 104
• 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)
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Control de la ALU
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 105
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Control central
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 106
•
•
•
•
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
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Ruta de datos extendida
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 107
• Multiplexores para la selección de escritura en
registros
• Todas las líneas de control
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
RESUMEN DE LAS LINEAS DE CONTROL
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 108
• 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
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Ruta de datos y control
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 109
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Operación de la ruta de datos
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 110
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
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
EJEMPLO DE INSTRUCCIÓN TIPO R
EL - 3310
Diseño de Sistemas
Digitales
0
M
u
x
Add ALU
result
Add
4
Instruction [31– 26]
Read
address
Instruction
memory
Read
register 1
Instruction [20– 16]
Instruction
[31– 0]
Instruction [15– 11]
Shift
left 2
RegDst
Branch
MemRead
MemtoReg
Control ALUOp
MemWrite
ALUSrc
RegWrite
Instruction [25– 21]
PC
0
M
u
x
1
Read
data 1
Read
register 2
Registers Read
Write
data 2
register
Página 111
0
M
u
x
1
Write
data
Zero
ALU ALU
result
Address
Write
data
Instruction [15– 0]
16
Instruction [5– 0]
Ing. José Alberto Díaz
García
1
Sign
extend
32
ALU
control
Read
data
Data
memory
1
M
u
x
0
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
EJEMPLO DE EJECUCION
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 112
• 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.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Finalización del control
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 113
• Códigos de operación en decimal
• Códigos de operación en binario
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Funciones de control
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 114
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Implementación
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 115
• Seleccione la correcta
–
–
–
–
Lógica
PLA
ROM
Etc....
Inputs
Op5
Op4
Op3
Op2
Op1
Op0
Outputs
R-format
Iw
sw
beq
RegDst
ALUSrc
MemtoReg
RegWrite
MemRead
MemWrite
Branch
ALUOp1
ALUOpO
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Instrucción de salto
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 116
• Realizar una extensión de la arquitectura que
se está tratando
• Tiene el siguiente formato
– Instrucción
– Dirección
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Arquitectura con Jump
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 117
El procesador: datos y control (I Parte)
Escuela de Ingeniería Electrónica
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 118
Limitaciones de la solución con un solo
ciclo
• El tiempo de acceso para varias operaciones varía
–
–
–
–
–
–
–
Acceso a memoria
Acceso a registros
Add
Sub
Multiplicación
Multiplicación en PF
Funciones transcendentales
10 ns
2 ns
3 ns
3.5 ns
20 ns
24 ns
40 ns
• Tiempo depende de la implementación
• El módulo más lento define la duración del ciclo
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
EJEMPLO
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 119
• Lista de acciones por instrucción
• Número de ciclos por instrucción
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Ejemplo cont.
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 120
• Probabilidades
–
–
–
–
–
Formato
Load
Store
Branch
Jump
49%
22%
11%
16%
2%
16 ns
24 ns
22 ns
14 ns
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)
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Implementación de un solo ciclo
EL - 3310
Diseño de Sistemas
Digitales
• Calcule el tiempo de ciclo asumiendo tiempos de retardo
despreciables excepto: memoria (2ns), ALU y sumadores (2ns),
acceso al file de registros (1ns)
PCSrc
Add
ALU
Add result
4
Shift
left 2
RegWrite
Instruction [25– 21]
PC
Read
address
Instruction
[31– 0]
Instruction
memory
Instruction [20– 16]
1
M
u
Instruction [15– 11] x
0
RegDst
Instruction [15– 0]
Read
register 1
Read
register 2
Read
data 1
MemWrite
ALUSrc
Read
data 2
1
M
u
x
0
Write
register
Write
Registers
data
16
Sign
extend
Página 121
ALU
Zero
ALU
result
MemtoReg
Address
Write
data
32
ALU
control
Instruction [5– 0]
Ing. José Alberto Díaz
García
1
M
u
x
0
ALUOp
Read
data
Data
memory
MemRead
1
M
u
x
0
El procesador: datos y control (I Parte)
Escuela de Ingeniería Electrónica
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 122
•
•
•
•
•
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.
Instruction
register
PC
Address
Data
A
Register #
Instruction
Memory
or data
Data
Memory
data
register
ALU
Registers
Register #
B
Register #
ALUOut
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Problemas en procesadores de un solo ciclo
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 123


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.
Escuela de Ingeniería Electrónica
El procesador: datos y control (I Parte)
Solución con multiciclo
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 124
• 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.
Escuela de Ingeniería Electrónica
Solución con Multiciclo
El procesador: datos y control (I Parte)
•
EL - 3310
Diseño de Sistemas
Digitales
Ing. José Alberto Díaz
García
Página 125
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
PC
0
M
u
x
1
Address
Memory
MemData
Write
data
Instruction
[25– 21]
Read
register 1
Instruction
[20– 16]
Read
Read
register 2 data 1
Registers
Write
Read
register data 2
Instruction
[15– 0]
Instruction
register
Instruction
[15– 0]
Memory
data
register
0
M
Instruction u
x
[15– 11]
1
A
B
4
Write
data
0
M
u
x
1
16
Sign
extend
0
M
u
x
1
32
Shift
left 2
0
1 M
u
2 x
3
Zero
ALU ALU
result
ALUOut