capítulo 3
DESCRIPTION
Capítulo 3. El procesador, la ruta de datos y el control (I Parte). Definición de arquitectura de computadores. 1950 a 1960 Abarcaba el tema de aritmética de computadores. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/1.jpg)
Página 1
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Capítulo 3
El procesador, la ruta de datos y el control
(I Parte)
![Page 2: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/2.jpg)
Página 2
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Definición de arquitectura de computadores
• 1950 a 1960 Abarcaba el tema de aritmética de computadores.
• 1970 a mediados de los 1980 abarcaba el tema de diseño de instrucciones especialmente la arquitectura ISA y sus correspondientes compiladores.
• 1990 en esta época se diseñaban los CPU, sistema de memoria, sistema de entrada/salida, los multiprocesadores y las redes.
• 2000 hasta nuestros días, se abarcan las arquitecturas de propósito especial, funcionalidad reconfigurable, consideraciones especiales para el bajo consumo y el procesamiento móvil.
![Page 3: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/3.jpg)
Página 3
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Arquitectura de computadores• Con el término “Arquitectura de Computadores” nos
referimos a una especificación computacional detallada, comunicación, y elementos para almacenar datos (hardware) de un sistema computador, como estos componentes interactúan (organización de la máquina), y como se controlan (conjunto de instrucciones).
• La arquitectura de la máquina determina, cuales cálculos pueden realizarse eficientemente, cuales formatos de organización de datos y diseño de programas se pueden realizar óptimamente.
• Este término fue aplicado por primera vez por Gene Amdahl, G. Anne Blaauw y Frederick Brooks, Jr. (diseñadores del IBM System/360), en 1964.
• En las décadas de los 70 y 80, los arquitectos de computadores se concentraron en el conjunto de instrucciones.
• En el presente los diseñadores se enfrentan al reto de implementar procesadores eficientes, diseñar sistemas de comunicación entre los diferentes niveles en la jerarquía de memorias, de integrar múltiples procesadores en un simple diseño y diseñar procesadores para aplicaciones específicas.
![Page 4: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/4.jpg)
Página 4
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
DATOS SOBRE TENDENCIAS
![Page 5: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/5.jpg)
Página 5
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
1971: INTEL 4004
• Primer procesador
• Proceso de 10 micrones
• 2300 transistores
• Bus de 4 bits• 640 bytes de
memoria• 750 Khz• Die de 12 mm2
![Page 6: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/6.jpg)
Página 6
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
2000: Intel Pentium 4
• Proceso de 0.18 micras
• 42 millones de transistores
• Die de 217 mm2
• Bus de 64 bits• 8 KBytes de
memoria cache
• 450 MHz
![Page 7: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/7.jpg)
Página 7
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
2004: Intel Itanium 2
• Proceso de 0.13 micras
• 592 millones de transistores
• Die de 432 mm2
• Bus de 128 bits
• 1.4 GHz
![Page 8: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/8.jpg)
Página 8
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
2015: Proyecciones
• Proceso de 0.025 micras
• 7 billones de transistores
• Die de 310 mm2
• 33 GHz en el chip• 29 GHz fuera del
chip
![Page 9: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/9.jpg)
Página 9
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
COMPARACIÓN
![Page 10: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/10.jpg)
Página 10
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
DIMENSIONES
![Page 11: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/11.jpg)
Página 11
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
AREA Y RETARDOS
![Page 12: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/12.jpg)
Página 12
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
CAPACIDAD DEL CHIP
![Page 13: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/13.jpg)
Página 13
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
TENDENCIA DE RENDIMIENTO
![Page 14: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/14.jpg)
Página 14
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
RETARDO POR CONDUCTORES
![Page 15: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/15.jpg)
Página 15
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
ANCHO DE BANDA POR PIN
![Page 16: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/16.jpg)
Página 16
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
POTENCIA RENDIMIENTO
![Page 17: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/17.jpg)
Página 17
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
DRAMS
![Page 18: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/18.jpg)
Página 18
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
TENDENCIA DE LOS MICROPROCESADORES
![Page 19: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/19.jpg)
Página 19
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
RETARDO POR INTERCONECCION
0.651989
0.51992
0.351995
0.251998
0.182001
0.132004
0.12007
0
5
10
15
20
25
30
35
40Gate delay
Interconnect delay
Source: SIA Roadmap 1997
![Page 20: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/20.jpg)
Página 20
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
CONCEPTOS SOBRE ARQUITECTURAS DE PROCESADORES
![Page 21: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/21.jpg)
Página 21
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Arquitectura básica de un procesador
ALU
ADDAH
BH
CH
AL
BL
CL
DL
BP
DI
SI
SP
DH
CS
ES
SS
DS
IP
Generador de dir y Controlador de bus
1
2
3
4
5
6
Bus interno de datos
banderas
EU Cola de instrucciones
BIU
Bus de datosBus de direcciones
UNIDAD DE INTERPRETACIÓN
![Page 22: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/22.jpg)
Página 22
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
La unidad de cálculo (ALU)• Se realizan las
operaciones aritméticas y lógicas.
• Se encuentra el registro de estado, donde se encuentran las banderas que son accionadas después de cada una de las operaciones.
• Es operada por medio de la unidad de control por un grupo de primitivas de control que seleccionan la función a realizar, así como la fuente y el destino de los datos.
ALU
ADDAHBHCH
ALBLCLDL
BPDISISP
DH
CSESSSDSIP
Generador de dir y Controlador de bus
123456
Bus interno de datos
banderas
EU Cola de instrucciones
BIU
Bus de datosBus de direcciones
UNIDAD DE INTERPRETACIÓN
![Page 23: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/23.jpg)
Página 23
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Los registros de trabajo• Los registros de trabajo son
medios de almacenamiento temporal
• Para el caso de la arquitectura IA86, específicamente para el microprocesador 8086/88 los registros de trabajo de 16 bits pueden ser: AX, BX, CX, DX , los cuales están compuestos por AH, AL; BH, BL; CH, CL; DH, DL; los cuales son de 8 bits cada uno.
• Se utilizan dependiendo de la acción a realizar. Así por ejemplo si es necesario la utilización de una cuenta se utiliza el registro CX.
ALU
ADDAHBHCH
ALBLCLDL
BPDISISP
DH
CSESSSDSIP
Generador de dir y Controlador de bus
123456
Bus interno de datos
banderas
EU Cola de instrucciones
BIU
Bus de datosBus de direcciones
UNIDAD DE INTERPRETACIÓN
![Page 24: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/24.jpg)
Página 24
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
La interfaz con el bus• Esta unidad es la
capaz de realiza el cálculo para la próxima dirección.
• La cual se entrega a los diferentes buses de salida como lo son el de direcciones, datos y control.
ALU
ADDAH
BH
CH
AL
BL
CL
DL
BP
DI
SI
SP
DH
CS
ES
SS
DS
IP
Generador de dir y Controlador de bus
1
2
3
4
5
6
Bus interno de datos
banderas
EU Cola de instrucciones
BIU
Bus de datosBus de direcciones
UNIDAD DE INTERPRETACIÓN
![Page 25: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/25.jpg)
Página 25
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
La unidad de interpretación de instrucciones
• En esta unidad se realiza la interpretación del código de operación, y se ejecutan todas las primitivas de control necesarias para dar servicio a la instrucción.
• También se cuenta con una unidad de prueba de señales para generar interrupciones, generar saltos incondicionales y la prueba de banderas.
• Además se generan todas las primitivas de control necesarias para que la arquitectura funcione correctamente.
ALU
ADDAHBHCH
ALBLCLDL
BPDISISP
DH
CSESSSDSIP
Generador de dir y Controlador de bus
123456
Bus interno de datos
banderas
EU Cola de instrucciones
BIU
Bus de datosBus de direcciones
UNIDAD DE INTERPRETACIÓN
![Page 26: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/26.jpg)
Página 26
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Ejemplo de una máquina multinivel
Alto nivel
Lenguaje ensamblador
Sistema operativo
Conjunto de instrucciones
Microarquitectura
Lógica digital
Nivel 5
Nivel 4
Nivel 3
Nivel 2
Nivel 1
Nivel 0
Traducción (compilador)
Traducción (ensamblador)
Interpretación parcial (Sistema Operativo)
Interpretación (microprograma) o ejecución directa
Hardware
![Page 27: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/27.jpg)
Página 27
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Ejemplo de una máquina multinivel
Alto nivel
Lenguaje ensamblador
Nivel 5
Nivel 4
• Cada arquitectura del computador tiene su propio lenguaje ensamblador
• los lenguajes ensambladores tienen a ser de bajo nivel, donde algunos todavía escribimos código.
• Mucho de ese código se escribe en HLLs y luego compilado.
• El compilador es un programa que automáticamente convierte HLL a ensamblador.
temp = v[k];v[k] = v[k+1];v[k+1] = temp;
lw $15, 0($2)lw $16, 4($2)sw $16, 0($2)sw $15, 4($2)
![Page 28: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/28.jpg)
Página 28
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Ejemplo de una máquina multinivel
Alto nivel
Lenguaje ensamblador
Sistema operativo
Nivel 5
Nivel 4
Nivel 3
• A este nivel algunas de las funciones del sistema operativo pueden ser ejecutadas como por ejemplo las interrupciones tipo 21H en el caso del procesador IAX86, lo que se conoce como llamados al sistema operativo.
• También a este nivel puede dársele el control al sistema operativo para que administre el programa que hemos realizado, en este caso el usuario pierde el control sobre la ubicación del programa en la arquitectura del computador
![Page 29: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/29.jpg)
Página 29
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Ejemplo de una máquina multinivel
Alto nivel
Lenguaje ensamblador
Sistema operativo
Conjunto de instrucciones
Nivel 5
Nivel 4
Nivel 3
Nivel 20000 1001 1100 0110 1010 1111 0101 10001010 1111 0101 1000 0000 1001 1100 01101100 0110 1010 1111 0101 1000 0000 10010101 1000 0000 1001 1100 0110 1010 1111
• A este nivel las instrucciones han sido compiladas para el nivel de interpretación del procesador, corresponden a una cadena de unos y ceros que representan las órdenes y los datos que se quieren ejecutar.
![Page 30: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/30.jpg)
Página 30
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Ejemplo de una máquina multinivel
Alto nivel
Lenguaje ensamblador
Sistema operativo
Conjunto de instrucciones
Microarquitectura
Lógica digital
Nivel 5
Nivel 4
Nivel 3
Nivel 2
Nivel 1
Nivel 0
• Para estos últimos dos niveles las instrucciones han sido interpretadas y se ejecutan señales eléctricas que manejan la microarquitectura donde se ejecutaran las órdenes.
• Esto es funciones lógicas a nivel de compuertas o transistores que pasan de la zona de saturación a la de corte.
![Page 31: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/31.jpg)
Página 31
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
¿Qué son las instrucciones?
software
hardware
Conjunto de instrucciones
![Page 32: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/32.jpg)
Página 32
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
¿Qué son las instrucciones?
Procesador Memoria Sistema de I/O
Aplicaciones(iTunes)
software
hardware
CONJUNTO DE INSTRUCCIONES
Sistema operativo (MS-DOS, Windows,
Linux, etc.)EnsambladorCompilador
Diseño del circuitoVddI1 O1
Ruta de datos y control
ControlALUI
Reg
Me
m
Diseño digitalI1O2
O1
I2
Transistores I1 O1
Vdd
![Page 33: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/33.jpg)
Página 33
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Representación de capas
Compilador
Ensamblador
Programa en alto nivel
temp = v[k];
v[k] = v[k+1];
v[k+1] = temp;
Programa:
Programa en lenguaje
ensamblador lw $15,0($2)
lw $16,4($2)
sw $16,0($2)
sw $15,4($2)
Programa en ensamblador:
Especificación de las señales de
control
Interpretación de máquina
ALUOP[0:3] InstReg[9:11] & MASK
Lenguaje máquina
Programa en memoria
0000 1001 1100 0110 1010 1111 0101 10001010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111
Código objeto de máquina
Código de máquina ejecutable
Linker
Loader
Programa en lenguaje máquina:
Arquitectura del conjunto de
instrucciones
![Page 34: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/34.jpg)
Página 34
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Jerarquía en el diseño de computadores
![Page 35: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/35.jpg)
Página 35
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Ciclo general de ejecución de instrucciones
Búsqueda de instrucció
n
Búsqueda del
operando
Ejecución
Almacenar el resultado
Próxima instrucció
n
Obtener la instrucción del programa almacenado
Determinar las acciones requeridas y el tamaño de la instrucción
Localizar y obtener el operando
Calcular el resultado o estado
Depositar el resultado en el medio de almacenamiento para un próximo uso
Determinar la siguiente instrucción
Decodificación de la
instrucción
![Page 36: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/36.jpg)
Página 36
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Formato de Instrucciones
• Las instrucciones consisten de un código de operación (opcode) y operandos.– El opcode identifica la
operación a realizar– Los operandos
identifican los datos a utilizar, y el lugar donde se almacenará el resultado.
• Todas las instrucciones tienen código de operación, pero pueden o no tener operandos.
![Page 37: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/37.jpg)
Página 37
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Formato de instrucciones• Las instrucciones pueden
variar en su largo• Si todas las instrucciones
tienen el mismo largo simplifica el proceso de decodificación de instrucciones, sin embargo se puede ver como un desperdicio de espacio.
• Si todas las instrucciones tienen diferente largo se complica el proceso de decodificación pero permite un uso más eficiente de la memoria.
![Page 38: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/38.jpg)
Página 38
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Criterios de diseño de instrucciones
• El formato de las instrucciones es un aspecto de mucha importancia.– En el desarrollo de la arquitectura de los
computadores, el diseño a nivel de lógica digital y de la microarquitectura tienen un mínimo impacto en la interfaz del computador a nivel de hardware y software.
• El impacto es mínimo porque los diseños a bajo nivel se ocultan por el diseño de las instrucciones.
– Sin embargo los cambios en el nivel del conjunto de instrucciones, y particularmente en el formato de las instrucciones, hace que algunos programas no funcionen correctamente en las nuevas generaciones de computadores.
![Page 39: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/39.jpg)
Página 39
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Criterio de diseño para el formato de las instrucciones
• El primer aspecto en el diseño de instrucciones se relaciona con su tamaño.– Entre más pequeño es el formato de las
instrucciones, más rápido se pueden leer de memoria.
• Siempre tenemos un ancho de banda de memoria limitado.
– Sin embargo para obtener pequeñas instrucciones se presenta un compromiso:
• Códigos de operación pequeños• Operandos pequeños o escasos• Se cuenta con mayor complejidad en la
decodificación.
![Page 40: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/40.jpg)
Página 40
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Criterio de diseño para el formato de las instrucciones
• Códigos de operación pequeños– El tamaño del espacio para el código de operación
limita el número de operaciones que se pueden realizar.
• Operandos pequeños– Esta relacionado con la cantidad de registros que se
pueden direccionar.– Esta relacionado con la cantidad de memoria que se
puede direccionar.• Pocos operandos
– Sin operandos el trabajo se debe realizar utilizando la pila
– Utilizar un operando y trabajar con el operador– Utilizar dos operandos y tener el resultado en la
entrada– Utilizar tres operandos.
• Formatos más comprimidos– Mayor complejidad en la decodificación– Menos potencial para crecer
![Page 41: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/41.jpg)
Página 41
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Soluciones de diseño para el formato de las instrucciones
• Una vez que sabemos la cantidad de códigos de operación que se necesitan (basados en el número de operaciones que se quieren) y el número y tamaño de los operandos, luego debemos saber la cantidad de bits que se requieren para el formato de la instrucción.– Si tenemos 256 operaciones, entonces necesitamos 8
bits para representar los códigos de operación.– Si contamos con instrucciones con tres operandos,
donde cada operando puede especificar direcciones de 32 bits, entonces necesitamos 96 bits para representar los operandos.
– Por lo tanto, la unidad decodificadora utilizaría instrucciones de 104 bits.
• Claramente no es un buen diseño a no ser de que se cuente con memoria extremadamente rápida.
• La solución es utilizar códigos de operación expandibles.
![Page 42: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/42.jpg)
Página 42
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Códigos de operación expandibles
• El código de operación expandible es un opcode que toma más espacio cuando se requiere de menos espacio para almacenar los operandos.
• La expansión de los opcodes tiene la ventaja en el hecho de que operaciones diferentes, tienen requerimientos diferentes para sus operandos– NOP no necesita operandos– GOTO necesita un operando– Operaciones de registro a registro necesitan de
direcciones para operandos más pequeñas que operaciones de memoria a memoria.
• Por lo tanto organice los operandos tal que se pueda realizar el compromiso entre el espacio de los códigos de operaciones y el espacio de los operandos.
![Page 43: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/43.jpg)
Página 43
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Códigos de operación expandibles
• EJEMPLO: • Considere el siguiente esquema basado
en una palabra de 16 bits en donde se utilizan 4 bits para la dirección.– Una solución con un código de operación fijo,
localiza 4 bits para el código de operación y 4 bits para cada uno de los tres operandos
• Esta solución se limita a 16 códigos de operación.
– Una solución utilizando los códigos expandibles, trata de incrementar el número de códigos de operación organizando el formato de las instrucciones basado en el tamaño de los operandos.
![Page 44: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/44.jpg)
Página 44
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Solución utilizando la expansión de código
• Instrucciones con tres operandos– Bits para el opcode: 12-15– Rango del opcode: 0000
hasta 1110– Número de instrucciones:
15– Bits de datos: 0-11
• Instrucciones con dos operandos– Bits para el opcode: 8-15– Rango del opcode: 1111
0000 hasta 1111 1110– Número de instrucciones:
15– Bits de datos: 0-7
![Page 45: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/45.jpg)
Página 45
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Solución con la expansión del opcode
• Instrucciones con un operando– Bits para el opcode: 4 - 15– Rango del opcode: 1111 1111
hasta 1111 1111 1110– Número de instrucciones: 15– Bits de datos: 0-3
• Instrucciones sin operandos– Bits para el opcode: 0 - 15– Rango del opcode: 1111 1111 1111
0000 hasta 1111 1111 1111 1111– Número de instrucciones: 16– Bits de datos: ninguno
![Page 46: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/46.jpg)
Página 46
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Formato de instrucciones para PENTIUM II
• Altamente complejas e irregulares– Espacios para seis variables, cinco de
las cuales son opcionales– La complejidad e irregularidad es
debida a la necesidad de mantener compatibilidad con la familia 80X86
![Page 47: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/47.jpg)
Página 47
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Modelos de instrucciones
• CISC (Complex Instruction Set Computer)• RISC (Reduced Instruction Set Computer)• CRISC (Complex Reduced Instruction Set
Computer)• EPIC (Explicitly Parallel Instruction
Computing )
![Page 48: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/48.jpg)
Página 48
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
CISC• Se enfatiza en hacer más en cada
instrucción.• Motivado por el alto costo de la memoria y
la capacidad de los discos duros.– Cuando se introdujo el M6800: 16K RAM =
$500, 40M disco duro = $ 55,– Cuando se introdujo el MC68000: 64K RAM =
$200, 10M HD = $5,000• Gran variedad de modos de
direccionamiento– 14 en el MC68000, 25 en MC68020
• Un número de modos de instrucciones para la posición y número de operandos.– El VAX tiene desde 0 hasta 3 instrucciones para
direcciones.• Largo de las instrucciones variable.
![Page 49: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/49.jpg)
Página 49
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
RISC• Se enfatiza en reducir el número y la
complejidad de las instrucciones.• CPI reducido. La meta por lo menos una
instrucción por ciclo de reloj.• Diseñadas para una arquitectura de un
procesador segmentado.• El largo de las instrucciones es el mismo.• Solo las instrucciones de cargue y
almacene accesan la memoria.• Los modos de direccionamiento se han
simplificado.– Generalmente limitado a: inmediato, indirecto
por registro, desplazamiento con registro, indexado.
• Las cargas y los saltos se retardo
![Page 50: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/50.jpg)
Página 50
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
EPIC• Pueden cambiar el número de canales
que usan de generación en generación y aún conservar la compatibilidad con las aplicaciones existentes.
• La información grabada en el grupo de instrucciones le dice explícitamente al procesador cuales de las instrucciones siguientes no tienen dependencia de los datos y por ende pueden ser ejecutadas simultáneamente.
![Page 51: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/51.jpg)
Página 51
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Formato de Instrucciones para el caso del 8088/86
![Page 52: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/52.jpg)
Página 52
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Ejecución de instrucciones
![Page 53: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/53.jpg)
Página 53
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Ejecución de instrucciones
![Page 54: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/54.jpg)
Página 54
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Criterios para el diseño de instrucciones
• “Encontrar un lenguaje que haga fácil construir el hardware y el compilador maximizando su rendimiento y minimizando el costo”
• Uno de los aspectos relacionados con hacer un hardware sencillo es diseñar instrucciones que sean del mismo largo.
• El HW con un número variable de operandos es más complejo.
![Page 55: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/55.jpg)
Página 55
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
PRINCIPIOS DE DISEÑO
• 1. La simplicidad favorece la regularidad.
• 2. Entre más pequeño es más rápido• 3. Haga el caso común más rápido• 4. Un buen diseño demanda un buen
compromiso
![Page 56: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/56.jpg)
Página 56
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
LA SIMPLICIDAD FAVORECE LA REGULARIDAD
• Entre más regulares sean las instrucciones más simple será el HW
• Nuevamente si se cuenta con instrucciones de largo variable el HW será más complejo.
• Mientras que si las instrucciones son todas del mismo largo se pueden generalizar algunas partes del diseño eléctrico.
![Page 57: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/57.jpg)
Página 57
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
ENTRE MÁS PEQUEÑOS ES MÁS RÁPIDO
• Si el sistema cuenta con una gran cantidad de registros se incrementa el tiempo de ciclo del reloj, porque a las señales eléctricas le toman más tiempo cuando deben de viajar más rápido.
• En este caso entre menos registros se cuente en la arquitectura el tiempo de ejecución de las instrucciones disminuye.
![Page 58: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/58.jpg)
Página 58
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
HAGA EL CASO COMÚN MÁS RÁPIDO
• Para este caso se deben analizar los aspectos comunes en las instrucciones y una vez detectado, se debe invertir tiempo en rediseñarlo para que de tal forma sea más pequeño y así se realice la operación en un menor tiempo.
• Un ejemplo puede ser realizar el fetch de una instrucción, o un análisis de constantes.
![Page 59: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/59.jpg)
Página 59
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
UN BUEN DISEÑO DEMANDA UN BUEN COMPROMISO
• Aquí el compromiso es realizar las mejoras necesarias para que si se quieren instrucciones de un mismo largo, ¿Cuáles deben ser los compromisos que se deben realizar, en los modos de direccionamiento o en el HW para que el sistema se eficiente?
![Page 60: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/60.jpg)
Página 60
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
ESPECIFICACIONES DE DISEÑO
• Para el desarrollo de este tema se utilizaran instrucciones del tipo MIPS, esto con el fin de seguir el libro de Patterson.
![Page 61: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/61.jpg)
Página 61
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
INSTRUCCIONES
• Las instrucciones son de 32 bits de largo.
• Hay dos tipos de instrucciones:– Las de registro o tipo R – Las tipo I (inmediato)– Las tipo J (utilizadas para producir
saltos)
![Page 62: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/62.jpg)
Página 62
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
INSTRUCCIONES TIPO “R”
• opcode corresponde a la operación básica de la instrucción, tradicionalmente llamado opcode. Normalmente corresponde a 0 para las instrucciones tipo R.
• rs el primer registro fuente (operando)• rt el segundo registro fuente (operando)• rd el registro destino, recibirá el resultado de la
operación.• shamt cantidad de desplazamientos, en la mayoría de las
instrucciones este espacio contiene un 0.• funct función, este campo combinado con el “opcode”
selecciona las variaciones específicas del código de la función a realizar.
• EJEMPLO:– add $t0, $s1, $s2
opcode
31 26 25 21 20
rs rt rd
16 15
shamt funct
11 10 6 5 0
![Page 63: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/63.jpg)
Página 63
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
INSTRUCCIONES TIPO “R”
• Este tipo de formato para instrucciones se utiliza para todas las que no accesen memoria o sean de control de programa.
![Page 64: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/64.jpg)
Página 64
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
INSTRUCCIONES TIPO I
• Se utiliza la I para representar la forma inmediata
Ejemplo:
lw $t0, 32($s2)• Este tipo de instrucción se utiliza para
el manejo de memoria.
opcode
31 26 25 21 20
rs rt
16 15
inmediate
0
![Page 65: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/65.jpg)
Página 65
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
INSTRUCCIONES TIPO J
opcode
31 26 25
Dirección de 26 bits
0
• Es el formato para las instrucciones de salto ya sean condicionales o incondicionales
• La dirección no es de 32 bits.
![Page 66: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/66.jpg)
Página 66
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Modos de direccionamiento
• Esta máquina con instrucciones MIPS tiene 4 modos de direccionamiento:– Por registro– Por desplazamiento– Inmediato– Relativo al PC– Pseudodirecto
![Page 67: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/67.jpg)
Página 67
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Direccionamiento por registro
• En esta categoría se incluyen todas aquellas instrucciones en donde se utiliza un registro en su sintaxis.
• El operando es el contenido de un registro.
![Page 68: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/68.jpg)
Página 68
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Direccionamiento base o desplazamiento
• En este caso el operando se encuentra en una posición de memoria cuya dirección se forma por la suma del contenido de un registro y una constante contenida en el formato de la instrucción.
![Page 69: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/69.jpg)
Página 69
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Direccionamiento inmediato
• El operando es una constante la cual se encuentra en el contenido de la instrucción.
![Page 70: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/70.jpg)
Página 70
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Direccionamiento relativo al PC
• La dirección del operando se forma de la suma del contenido del PC y la dirección que aparece en el formato de la instrucción.
• Es la combinación de un registro base y la dirección en la operación de salto.
• PC=registro+la dirección de salto• La referencia es el contador de programa PC• Ejemplos: saltos condicionales e incondicionales.
![Page 71: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/71.jpg)
Página 71
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Direccionamiento pseudodirecto
• Se utiliza principalmente para los saltos.
• La dirección de salto es de 26 bits del código de instrucción, concatenado con los bits altos del contenido del contador de programa PC.
![Page 72: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/72.jpg)
Página 72
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Resumen del conjunto de instruccionesMIPS assembly language
Category Instruction Example Meaning Commentsadd add $s1, $s2, $s3 $s1 = $s2 + $s3 Three operands; data in registers
Arithmetic subtract sub $s1, $s2, $s3 $s1 = $s2 - $s3 Three operands; data in registers
add immediate addi $s1, $s2, 100 $s1 = $s2 + 100 Used to add constants
load w ord lw $s1, 100($s2) $s1 = Memory[$s2 + 100]Word from memory to register
store w ord sw $s1, 100($s2) Memory[$s2 + 100] = $s1 Word from register to memory
Data transfer load byte lb $s1, 100($s2) $s1 = Memory[$s2 + 100]Byte from memory to register
store byte sb $s1, 100($s2) Memory[$s2 + 100] = $s1 Byte from register to memoryload upper immediate
lui $s1, 100 $s1 = 100 * 216 Loads constant in upper 16 bits
branch on equal beq $s1, $s2, 25 if ($s1 == $s2) go to PC + 4 + 100
Equal test; PC-relative branch
Conditional
branch on not equal bne $s1, $s2, 25 if ($s1 != $s2) go to PC + 4 + 100
Not equal test; PC-relative
branch set on less than slt $s1, $s2, $s3 if ($s2 < $s3) $s1 = 1; else $s1 = 0
Compare less than; for beq, bne
set less than immediate
slti $s1, $s2, 100 if ($s2 < 100) $s1 = 1; else $s1 = 0
Compare less than constant
jump j 2500 go to 10000 Jump to target address
Uncondi- jump register jr $ra go to $ra For sw itch, procedure return
tional jump jump and link jal 2500 $ra = PC + 4; go to 10000 For procedure call
![Page 73: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/73.jpg)
Página 73
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Resumen del conjunto de instrucciones
![Page 74: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/74.jpg)
Página 74
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
CODIFICACIÓN DE LAS INSTRUCCIONES
![Page 75: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/75.jpg)
Página 75
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Jerarquía de traducción
![Page 76: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/76.jpg)
Página 76
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Proceso de diseño del CPU• En el proceso de diseño de un procesador
se deben conocer los siguientes aspectos:
ProcesadorProcesador
Ruta de datosRuta de datos Ruta de controlRuta de control
RegReg ALUALU MemMem DecoDeco SecuenciadorSecuenciador
Arquitectura del conjunto de instrucciones
Circuitos lógicosCircuitos lógicos
![Page 77: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/77.jpg)
Página 77
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Diseño del CPU• Una forma de diseñar la Unidad de Control o de
interpretación de instrucciones es mediante el diseño de máquinas de estado.
Lógica de próximo estado
Memoria
Lógica de salida
A
B
C
D
E
![Page 78: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/78.jpg)
Página 78
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
MAQUINAS DE ESTADO
• Máquina de Mealy• Máquina de Moore• Máquina tipo C• Máquina microprogramada
![Page 79: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/79.jpg)
Página 79
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Máquina Clase A, Mealy
![Page 80: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/80.jpg)
Página 80
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Máquina Clase B, Moore
![Page 81: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/81.jpg)
Página 81
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Máquina Clase C, Moore sin registro de salidas
![Page 82: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/82.jpg)
Página 82
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Máquina Clase E
![Page 83: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/83.jpg)
Página 83
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Máquina Clase D
![Page 84: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/84.jpg)
Página 84
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
• Dos tipos de unidades funcionales– Elementos que operan en la ruta
de los datos (combinacional)– Elementos que contienen estados
(secuenciales)
Detalles para la implementación
![Page 85: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/85.jpg)
Página 85
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
TIPOS DE MÁQUINAS
• Máquinas cuya operación se realiza en un solo ciclo de reloj
• Máquinas cuya operación se realiza en varios ciclos de reloj
![Page 86: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/86.jpg)
Página 86
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Señales de Reloj
• El reloj es una señal periódica:
• El disparo por borde permite a los datos ser leídos de un registro y almacenados en un registro todo en un solo ciclo de reloj
Cualquier valor almacenado en la máquina se actualiza solo
Borde creciente
Borde decreciente
![Page 87: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/87.jpg)
Página 87
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Operación en su sólo ciclo• Todas las operaciones en lógica combinacional
deben realizarse en un ciclo de reloj.
RegistroRegistro Lógica combinacional (ALU) RegistroRegistro
Un ciclo de reloj
Se actualizaaquí
PROBLEMA: El ciclo del reloj debe ser muy largoPROBLEMA: El ciclo del reloj debe ser muy largo
![Page 88: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/88.jpg)
Página 88
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Operación con múltiples ciclos
• Los cambios ocurren en el borde creciente los momentos seleccionados
RegistroRegistro CombinationalLogic (ALU) RegistroRegistro
escritura escritura
Requiere de señales de control adicionalesRequiere de señales de control adicionales
![Page 89: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/89.jpg)
Página 89
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Concepto de un solo ciclo• La ruta de datos en el CPU se encuentra
entre los registros – el pulso de reloj determina cuando los registros cambian.
Retardo en carga de registros
Retardo en la lógica combinacional
![Page 90: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/90.jpg)
Página 90
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
La visión abstracta• Contador de programa: próxima instrucción• Memoria de instrucciones• Archivo de registros• Memoria de datos• Estructura del bus: transferencia de información
![Page 91: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/91.jpg)
Página 91
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Construcción de la ruta de datos• Memoria para instrucciones
– Contenga sólo instrucciones• Contador de programa
– Apunte a la próxima instrucción• Unidad aritmética y lógica
– Solo un sumador
![Page 92: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/92.jpg)
Página 92
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Instrucciones y el PC• Incrementa:
suma 4 al PC para obtener la dirección de la próxima instrucción.
• Necesita de extensiones para ejecutar saltos.
![Page 93: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/93.jpg)
Página 93
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Registros y ALU• Archivo de
registros con el fin de ejecutar instrucciones con direccionamiento por registro
• La unidad lógica y aritmética se puede diseñar de una forma muy similar al circuito integrado 74181
![Page 94: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/94.jpg)
Página 94
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Agregando la memoria de datos• Transferencia de direcciones a memoria• Transferencia de los datos al archivo de
registros• Unidad de extensión de signo para el cálculo de
la dirección.
![Page 95: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/95.jpg)
Página 95
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Ruta de datos para el salto• PC+4 + extensión del signo y
dirección desplazada
![Page 96: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/96.jpg)
Página 96
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Conectando las unidades• Archivo de registros• ALU para operandos y cálculos de direcciones• Memoria de datos
![Page 97: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/97.jpg)
Página 97
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Agregando la unidad de búsqueda de instrucción
• La unidad de búsqueda de instrucción provee la instrucción.
![Page 98: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/98.jpg)
Página 98
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Agregando la unidad de salto
• Se pueden manejar todas la instrucciones básicas
PC
Instructionmemory
Readaddress
Instruction
16 32
Add ALUresult
Mux
Registers
Writeregister
Writedata
Readdata 1
Readdata 2
Readregister 1Readregister 2
Shiftleft 2
4
Mux
ALU operation3
RegWrite
MemRead
MemWrite
PCSrc
ALUSrc
MemtoReg
ALUresult
ZeroALU
Datamemory
Address
Writedata
Readdata M
ux
Signextend
Add
![Page 99: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/99.jpg)
Página 99
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
EJERCICIO
• Realice las modificaciones de HW necesarias para que esta arquitectura que se muestra a continuación realice una instrucción que SUME dos operados, uno almacenado en un registro, otro almacenado en una dirección de memoria y que el resultado se almacene en un registro
![Page 100: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/100.jpg)
Página 100
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
EJERCICIO Cont
PC
Instructionmemory
Readaddress
Instruction
16 32
Add ALUresult
Mux
Registers
Writeregister
Writedata
Readdata 1
Readdata 2
Readregister 1Readregister 2
Shiftleft 2
4
Mux
ALU operation3
RegWrite
MemRead
MemWrite
PCSrc
ALUSrc
MemtoReg
ALUresult
ZeroALU
Datamemory
Address
Writedata
Readdata M
ux
Signextend
Add
![Page 101: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/101.jpg)
Página 101
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Procesador de un solo ciclo
PC
Memoria Para
Instrucciones
MUX
0
1
MemoriaPara Datos
Addr
D
ADD
MUX
0
1
MUX
0
1
Registros
D
R1id
WRid
R2id
Contador de programaContador de programaDirecciones de memoriaDirecciones de memoria
IncrementarIncrementar
ADD
+1
Campos de instrucciones – Registros con puertos dualesCampos de instrucciones – Registros con puertos duales
ALU
MUX
0
1
Ruta de datos - ALURuta de datos - ALU
¿Porqué esto aquí?
Memoria principal para datosMemoria principal para datos
R1 ID R2 ID WR ID otro
¿Porqué esta esto aquí?
![Page 102: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/102.jpg)
Página 102
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Registros
D
R1id
WRid
R2idPC
ADD
MemoriaDe
instruccionesALU
MemoriaDe
Datos
ADD
MUX
0
1
MUX
0
1MUX
0
1
MUX
0
1
Addr
D
Acción de un procesador de un solo ciclo
Read
0
1
1
0
NOP
Read
WriteEscribir datos a un registroEscribir datos a un registro
Búsqueda de instrucción – Requiere “Read”Búsqueda de instrucción – Requiere “Read”
Actualice el PC – Requiere “0” Mux de dirrActualice el PC – Requiere “0” Mux de dirr
Decodifique la InstrucciónDecodifique la Instrucción
Campo de la dirr Reg
Campo de Dirr Datos
Seleccione Reg AddrSeleccione Reg AddrPase la dirección de los DatosPase la dirección de los DatosPase la dirección de datos por la ALUPase la dirección de datos por la ALU
Lea los datosLea los datos
Envié los datos a los registrosEnvié los datos a los registrosEscriba la instrucción en el registroEscriba la instrucción en el registro Ahora los relojes en el sistemaAhora los relojes en el sistema
Clk Clk
![Page 103: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/103.jpg)
Página 103
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Temporización de un solo ciclo
I Memoria lectura
PC Mux 0
Reg Mux
ALU Mux
0
0
ALU Op NOP
D Memoria lectura
Data Mux 1
Reg Ctrl escritura
RELOJ
Ciclo de reloj requerido
![Page 104: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/104.jpg)
Página 104
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Control básico• Repaso de las funciones de la ALU/líneas de
control.
• Bits de control de la ALU: origen de – 00: suma (carga o almacena una palabra)– 01: resta (salta si es igual)– 10: operaciones de acuerdo al valor de la función
(instrucciones con direccionamiento por registro)
![Page 105: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/105.jpg)
Página 105
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Control de la ALU
![Page 106: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/106.jpg)
Página 106
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Control central• Código de operación: Op [31-26]• Registros de lectura: rs [25-21], rt
[20-16]• Registro base (LW, SW): rs[25-21]• Registro destino
– Cargue: rt[20-16]– Tipo R: rd[15-11]– Requiere de un multiplexor para
indicar el número del registro en el que se va a escribir
![Page 107: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/107.jpg)
Página 107
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Ruta de datos extendida• Multiplexores para la selección de escritura en
registros• Todas las líneas de control
![Page 108: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/108.jpg)
Página 108
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
RESUMEN DE LAS LINEAS DE CONTROL
• REGDEST: fuente del registro destino para la operación
• REGWRITE: habilita la escritura a un registro del archivo
• ALUSRC: fuente del segundo operando de la ALU, puede ser un registro o parte de la instrucción
• PCSRC: fuente del PC, (incremente[POC+4] o salta)
• MEMREAD/MEMWRITE: lectura o escritura de memoria
• MEMTOREG: fuente de escritura de un registro
![Page 109: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/109.jpg)
Página 109
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Ruta de datos y control
![Page 110: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/110.jpg)
Página 110
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Operación de la ruta de datos
Ejemplo: Instrucción tipo registro
Búsqueda de instrucción e incremento del PC Lectura de registros Procesamiento de los datos en la ALU Escritura del resultado en el archivo de
registros
![Page 111: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/111.jpg)
Página 111
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
EJEMPLO DE INSTRUCCIÓN TIPO R
PC
Instructionmemory
Readaddress
Instruction[31– 0]
Instruction [20– 16]
Instruction [25– 21]
Add
Instruction [5– 0]
MemtoReg
ALUOp
MemWrite
RegWrite
MemRead
BranchRegDst
ALUSrc
Instruction [31– 26]
4
16 32Instruction [15– 0]
0
0Mux
0
1
Control
Add ALUresult
Mux
0
1
RegistersWriteregister
Writedata
Readdata 1
Readdata 2
Readregister 1
Readregister 2
Signextend
Shiftleft 2
Mux
1
ALUresult
Zero
Datamemory
Writedata
Readdata
Mux
1
Instruction [15– 11]
ALUcontrol
ALUAddress
![Page 112: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/112.jpg)
Página 112
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
EJEMPLO DE EJECUCION• Lw $3, offset ($2)
– Se busca la instrucción en memoria, incrementa el PC
– Lee el valor del registro $2– Calcula la dirección final– Utiliza la dirección para direccionar la memoria– Escribir el dato en el file de registros
• Beq $10, $11, offset– Busca la instrucción en memoria, incrementa
el PC– Lee los dos valores de los registros ($10,$11)– Resta los valores, calcula la dirección de salto– Utiliza la señal de cero para determinar el
salto o la etiqueta.
![Page 113: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/113.jpg)
Página 113
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Finalización del control
• Códigos de operación en decimal• Códigos de operación en binario
![Page 114: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/114.jpg)
Página 114
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Funciones de control
![Page 115: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/115.jpg)
Página 115
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Implementación • Seleccione la correcta
– Lógica – PLA– ROM– Etc....
R-format Iw sw beq
Op0
Op1
Op2
Op3
Op4
Op5
Inputs
Outputs
RegDst
ALUSrc
MemtoReg
RegWrite
MemRead
MemWrite
Branch
ALUOp1
ALUOpO
![Page 116: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/116.jpg)
Página 116
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Instrucción de salto• Realizar una extensión de la
arquitectura que se está tratando• Tiene el siguiente formato
– Instrucción
– Dirección
![Page 117: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/117.jpg)
Página 117
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Arquitectura con Jump
![Page 118: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/118.jpg)
Página 118
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Limitaciones de la solución con un solo ciclo
• El tiempo de acceso para varias operaciones varía– Acceso a memoria 10 ns– Acceso a registros 2 ns– Add 3 ns– Sub 3.5 ns– Multiplicación 20 ns– Multiplicación en PF 24 ns– Funciones transcendentales 40 ns
• Tiempo depende de la implementación• El módulo más lento define la duración
del ciclo
![Page 119: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/119.jpg)
Página 119
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
EJEMPLO
• Lista de acciones por instrucción• Número de ciclos por instrucción
![Page 120: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/120.jpg)
Página 120
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Ejemplo cont.
• Probabilidades– Formato 49% 16 ns– Load 22% 24 ns– Store 11% 22 ns– Branch 16% 14 ns– Jump 2% 8 ns
• Tiempo de ciclo de reloj del CPU es de: 18 ns
• Tiempo de ciclo de reloj por el bloque más lento: 24 ns (ignorando operaciones largas)
![Page 121: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/121.jpg)
Página 121
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Implementación de un solo ciclo
• Calcule el tiempo de ciclo asumiendo tiempos de retardo despreciables excepto: memoria (2ns), ALU y sumadores (2ns), acceso al file de registros (1ns)
MemtoReg
MemRead
MemWrite
ALUOp
ALUSrc
RegDst
PC
Instructionmemory
Readaddress
Instruction[31– 0]
Instruction [20– 16]
Instruction [25– 21]
Add
Instruction [5– 0]
RegWrite
4
16 32Instruction [15– 0]
0Registers
WriteregisterWritedata
Writedata
Readdata 1
Readdata 2
Readregister 1Readregister 2
Signextend
ALUresult
Zero
Datamemory
Address Readdata M
ux
1
0
Mux
1
0
Mux
1
0
Mux
1
Instruction [15– 11]
ALUcontrol
Shiftleft 2
PCSrc
ALU
Add ALUresult
![Page 122: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/122.jpg)
Página 122
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Problemas • ¿Que sucede con las instrucciones complejas?• Aumento del HW• Desperdicio de área• Tiempo de ciclo muy largo• SOLUCIÓN
– Utilizar un tiempo de ciclo más pequeño– Si se tienen diferentes instrucciones se tienen diferentes
número de ciclos– Ruta de datos con multiciclo.
PC
Memory
Address
Instructionor data
Data
Instructionregister
Registers
Register #
Data
Register #
Register #
ALU
Memorydata
register
A
B
ALUOut
![Page 123: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/123.jpg)
Página 123
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
Problemas en procesadores de un solo ciclo
En la implementación de un solo ciclo: Cada instrucción tarda un solo ciclo de reloj en ejecutarse. CPI = 1 pero el ciclo de reloj se determina con la
instrucción que tarda más en ejecutarse en toda la máquina.
No se pueden compartir los recursos.
Generalmente la instrucción más larga es LOAD El tiempo de ciclo es mucho mayor que cualquier
otra instrucción. Ejemplos:
Instrucciones tipo R no requieren acceso a la memoria de datos.
Los saltos incondicionales “Jump” no requieren operaciones con la ALU ni tampoco acceso a la memoria de datos.
![Page 124: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/124.jpg)
Página 124
EL - 3310Diseño de Sistemas Digitales
Ing. José Alberto Díaz
García
Escuela de Ingeniería ElectrónicaEl p
rocesad
or:
dato
s y
con
trol (I
P
art
e)
• Se estaría reutilizando las unidades funcionales– La ALU se utilizaría para calcular
direcciones e incrementar el PC– La memoria se utilizaría para
almacenar datos e instrucciones
• Las señales de control no serán determinadas solamente por las instrucciones.
• Se utilizará una máquina de estados para realizar el control.
Solución con multiciclo
![Page 125: Capítulo 3](https://reader035.vdocuments.co/reader035/viewer/2022070409/56814499550346895db13f6e/html5/thumbnails/125.jpg)
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