tema 4 el procesador: camino de datos y unidad de...
TRANSCRIPT
![Page 1: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/1.jpg)
Tema 4
El procesador: camino
de datos y unidad de
control
![Page 2: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/2.jpg)
Índice
Introducción
Estructura básica de la CPU: camino de datos y
control
El ciclo de instrucción
Diseño de un procesador monociclo
Descomposición de la ejecución en etapas
Realización multiciclo
Diseño de la unidad de control
Procesamiento de excepciones
![Page 3: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/3.jpg)
Introducción
En este tema se estudia la Unidad Central de Procesamiento (CPU)
√ Camino de datos:
Es la sección del computador encargada de manipular y transformar los datos procedentes de la memoria o los registros internos, para obtener los resultados
Su labor es soportar el conjunto de operaciones que precisan las instrucciones del repertorio que es capas de interpretar la unidad de control
√ Unidad de control:
Es la sección del computador encargada de interpretar las instrucciones del programa y gobernar la ejecución de las mismas
La organización de los procesadores ha evolucionado con el paso de los años, guiada por el desarrollo tecnológico y la necesidad de obtener altas prestaciones
En este tema se analizan las ideas básicas comunes a todos los procesadores, que sientan las bases para poder comprender los avances en arquitectura de computadores
![Page 4: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/4.jpg)
Introducción El procesador es el que se encarga de ejecutar las
instrucciones especificadas por el programa.
Funciones básicas:
√ Captar instrucciones. El procesador debe leer instrucciones
de la memoria
√ Interpretar instrucciones. La instrucción debe decodificarse
para determinar qué acción es necesaria
√ Captar datos. La ejecución puede exigir leer datos de la
memoria o de un módulo de E/S
√ Procesar datos. La ejecución de una instrucción puede
exigir llevar a cabo alguna operación aritmética o lógica
√ Escribir datos. Los resultados de una ejecución pueden
tener que ser escritos en la memoria o en un módulo de E/S
![Page 5: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/5.jpg)
Estructura básica de un procesador
El procesador se compone de varias partes:
1. La unidad de control
2. La unidad aritmético-lógica
3. Un banco de registros
4. Otros registros internos, algunos de los más importantes:
1. El contador de programa (PC)
2. El registro de instrucciones (IR)
![Page 6: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/6.jpg)
Estructura básica de un procesador
Vamos a construir un camino de datos y su unidad de
control para dos realizaciones diferentes de un
subconjunto del repertorio de instrucciones del MIPS:
√ Instrucciones de acceso a memoria: lw, sw
√ Instrucciones aritmético-lógicas: add, sub, or, slt
√ Instrucción de salto condicional: beq
√ Instrucción de salto incondicional: j
Memoria deinstrucciones
Instrucción
Dirección
Memoria de Datos
Dirección
Datos
Datos
nº de registro
nº de registro
nº de registro
RegistrosPC
ALU
![Page 7: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/7.jpg)
Estructura básica de un procesador
Metodología de sincronización
√ Las unidades funcionales se clasifican en dos tipos:
combinacionales y secuenciales
√ La metodología de sincronización define cuándo pueden leerse y
escribirse la diferentes señales
√ Asumimos sincronización por flancos
Estado 1 Estado 2
Ciclo de reloj
Lógica combinatoria
![Page 8: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/8.jpg)
El ciclo de instrucción
El procesamiento que requiere una instrucción se denomina
ciclo de instrucción.
Ciclo básico de instrucción:
INICIO
Captura de
instrucción
Ejecución de
la instrucción
FIN
Ciclo de captación
Ciclo de ejecución
![Page 9: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/9.jpg)
El ciclo de instrucción
Para el subconjunto de instrucciones MIPS, los dos primeros pasos son
idénticos:
√ Usar el contenido del PC para cargar, desde la memoria que contiene el
código, la siguiente instrucción
√ Leer uno o dos registros, utilizando para ello los campos de la instrucción
específicos para seleccionarlos
0x40000000 00000001010010110100100000100000
0x40000004 10010101001010100000000000000000
0x40000008 00010001010010111111111111111011
0x4000000C 00000000100001000001000100001010
0x40000004 PC
00000001010010110100100000100000 IR
0x40000000 00000001010010110100100000100000
0x40000008 00010001010010111111111111111011
0x4000000C 00000000100001000001000100001010
0x40000004 100101010010101000000000000000000x40000004 PC
1001010100101010000000000000000 IR
0x40000000 00000001010010110100100000100000
0x40000004 10010101001010100000000000000000
0x40000008 00010001010010111111111111111011
0x4000000C 00000000100001000001000100001010
0x40000008 PC
1001010100101010000000000000000 IR
Memoria Procesador
![Page 10: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/10.jpg)
Diseño de un camino de datos sencillo
Procesador monociclo:
√ Comenzaremos por los elementos básicos y sus
funciones asociadas
√ Veremos los elementos necesarios para
implementarlos
√ Veremos un conjunto de instrucciones básico
√ Veremos como implementar estas instrucciones
![Page 11: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/11.jpg)
Diseño de un camino de datos sencillo
Contador de programa:
√ Cada instrucción está en una dirección de memoria dada
√ Almacenamos la dirección en el registro PC
√ Tras procesar una instrucción avanzamos el contador hasta la
siguiente instrucción
Memoria deinstrucciones
Instrucción
DirecciónPC
Sumador4
![Page 12: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/12.jpg)
Diseño de un camino de datos sencillo
Operaciones tipo R:
√ Involucran tres registros: dos de lectura y uno de
escritura
√ Usan la ALU para realizar las operaciones
Instrucción
EscribirReg
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
RE
GIS
TR
OS
3 Operación de la ALU
Cero
Resultadode la ALU
ALU
![Page 13: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/13.jpg)
Diseño de un camino de datos sencillo
Acceso a memoria:
√ Instrucciones lw y sw
√ La dirección se indica con un registro más un
desplazamiento de 16 bits con signo
√ El desplazamiento se extiende a 32 bits
lw $t0, 8($s0) 100011 10000 01000 0000000000001000
sw $t0, 32($s0) 101011 10000 01000 0000000000100000
![Page 14: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/14.jpg)
Diseño de un camino de datos sencillo
Memoria de Datos
Dirección
Dato aescribir
Datoleído
Instrucción
16 32
3 Operación de la ALU
EscribirReg
LeerMem
EscribirMem
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
RE
GIS
TR
OS
Cero
Resultadode la ALU
ALU
Extensiónde signo
![Page 15: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/15.jpg)
Diseño de un camino de datos sencillo
Saltos condicionales:
√ Evalúan si dos registros contienen ó no el mismo
valor
√ Si la condición se cumple aplican el salto
√ El salto es relativo con signo
√ Los 16 bits se extienden a 32 y se desplazan 2
posiciones a la izquierda para direccionar sólo
palabras completas
√ El PC ya se ha actualizado a PC + 4
![Page 16: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/16.jpg)
Diseño de un camino de datos sencillo
Instrucción
16 32
EscribirReg
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
RE
GIS
TR
OS
3 Operación de la ALU
Cero
ALU
Extensiónde signo
Desp.2 bits ala izq.
Resultado
Sumador
PC +4 del camino de datos de instrucciones
Destino salto
Decidir si se hace el salto
![Page 17: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/17.jpg)
Diseño de un camino de datos sencillo
Todo junto:
√ Para construir el camino de datos hemos de
combinar los elementos explicados anteriormente
√ Intentaremos reutilizar parte del hardware
√ El hardware compartido selecciona los datos
mediante multiplexores
√ Parte del hardware no se podrá reutilizar y habrá que
replicarlo
![Page 18: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/18.jpg)
Diseño de un camino de datos sencillo
Instrucción
16 32
EscribirReg
FuenteALU
Mem2reg
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
RE
GIS
TR
OS
Memoria de Datos
Dirección
Dato aescribir
Datoleído
3 Operación de la ALU
LeerMem
EscribirMem
Cero
Resultadode la ALU
ALU
Extensiónde signo
Mux
Mux
Aritmética + Acceso a Memoria
![Page 19: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/19.jpg)
Diseño de un camino de datos sencillo
16 32
EscribirReg
FuenteALU
Mem2reg
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
RE
GIS
TR
OS
Memoria de Datos
Dirección
Dato aescribir
Datoleído
3 Operación de la ALU
LeerMem
EscribirMem
Cero
Resultadode la ALU
ALU
Extensiónde signo
Mux
Mux
Memoria deinstrucciones
Instrucción
Direcciónde lectura
PC
Sumador4
Incorporamos gestión de PC
![Page 20: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/20.jpg)
Diseño de un camino de datos sencillo
16 32
EscribirReg
FuenteALU
Mem2reg
Origen del PC
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
RE
GIS
TR
OS
Memoria de Datos
Dirección
Dato aescribir
Datoleído
3 Operación de la ALU
LeerMem
EscribirMem
Cero
Resultadode la ALU
ALU
Extensiónde signo
Mux
Mux
Mux
Memoria deinstrucciones
Instrucción
Direcciónde lectura
PC
Sumador4
Desp.2 bits ala izq.
Resultado
Sumador
Añadimos saltos condicionales
![Page 21: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/21.jpg)
Inconvenientes de la implementación
monociclo
El ciclo de reloj está definido por la instrucción
más lenta
No es posible reutilizar ninguna unidad funcional
Estos inconvenientes se verían agravados en
una arquitectura más compleja que la
arquitectura MIPS
![Page 22: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/22.jpg)
Evaluación del rendimiento
√ Supóngase los tiempos de ejecución de las unidades
funcionales siguientes:
Acceso a memoria: 2ns
ALU y sumadores: 2ns
Acceso a registros: 1ns
√ ¿Cúal de las siguientes realizaciones será más rápida?
Una realización en la que cada instrucción se ejecuta en un ciclo
de tamaño fijo (cada instrucción tarda lo que tardaría la más
lenta).
Una realización donde cada instrucción se ejecuta en un ciclo de
longitud variable (cada instrucción tarda únicamente lo
necesario)
![Page 23: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/23.jpg)
Cálculo del ciclo de reloj
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
RE
GIS
TR
OS
Cero
Resultadode la ALU
ALU
Extensiónde signo
Control
Mux
Mux
Memoria deinstrucciones
Instrucción
Direcciónde lectura
PC
Sumador4
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Inst. [25-21]
Inst. [20-16]
Inst. [15-11]
Inst. [31-26]
Inst. [25-0]
26 28
Dirección de jump. [31-0]
PC + 4 [31-28]
16 32Controlde laALU
Resultado
Sumador
Inst. [15-0]
Inst. [5-0]
Memoria de Datos
Dirección
Dato aescribir
Datoleído
Mux
Mux
Mux
EscribirReg
SaltoIncond
RegDest
Fuente ALU
Salt Cond
ALUop
Mem2regLeerMem
EscribirMem
1 ns1 ns2 ns2 ns
2 ns2 ns2 ns2 ns
2 ns2 ns2 ns2 ns
![Page 24: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/24.jpg)
Cálculo del ciclo de reloj
Tipo de
instrucciónUnidades funcionales utilizadas por cada tipo de instrucción ns
AritméticaCargar
instrucción
Lectura de
registrosALU
Escritura de
registros6
lwCargar
instrucción
Lectura de
registrosALU
Lectura
memoria
Escritura de
registros8
swCargar
instrucción
Lectura de
registrosALU
Escritura en
memoria7
Salto
condicional
Cargar
instrucción
Lectura de
registrosALU 5
JumpCargar
instrucción2
![Page 25: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/25.jpg)
Evaluación del rendimiento
Tiempo medio ejecución para monociclo: 8 ns
Tiempo medio ejecución ideal:
6 x 44% + 8 x 24% + 7 x 12% + 5 x 18% + 2 x 2% = 6.3 ns
Rendimiento relativo: 8 / 6.3 = 1.27
Aritméticas: 44% lw: 24% sw: 12%
Saltos condicionales: 18% Jump: 2%
![Page 26: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/26.jpg)
Reducción de costes
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
RE
GIS
TR
OS
Cero
Resultadode la ALU
ALU
Extensiónde signo
Control
Mux
Mux
Memoria deinstrucciones
Instrucción
Direcciónde lectura
PC
Sumador4
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Inst. [25-21]
Inst. [20-16]
Inst. [15-11]
Inst. [31-26]
Inst. [25-0]
26 28
Dirección de jump. [31-0]
PC + 4 [31-28]
16 32Controlde laALU
Resultado
Sumador
Inst. [15-0]
Inst. [5-0]
Memoria de Datos
Dirección
Dato aescribir
Datoleído
Mux
Mux
Mux
![Page 27: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/27.jpg)
Reducción de costes
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
RE
GIS
TR
OS
Cero
Resultadode la ALU
ALU
Extensiónde signo
Control
Mux
Mux
Memoria deinstrucciones
Instrucción
Direcciónde lectura
PC
Sumador4
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Inst. [25-21]
Inst. [20-16]
Inst. [15-11]
Inst. [31-26]
Inst. [25-0]
26 28
Dirección de jump. [31-0]
PC + 4 [31-28]
16 32Controlde laALU
Resultado
Sumador
Inst. [15-0]
Inst. [5-0]
Memoria de Datos
Dirección
Dato aescribir
Datoleído
Mux
Mux
Mux
![Page 28: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/28.jpg)
Implementación multiciclo
Dedicaremos varios ciclos a cada instrucción
Necesitaremos
√ Más multiplexores
√ Más registros
Cada dato y resultado estará en un registro para
que no se destruya al terminar el ciclo
![Page 29: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/29.jpg)
Esquema multiciclo
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
RE
GIS
TR
OSMemoria
Instruccioneso datos
Dirección
Resgistro de datos dememoria
Registro deinstrucciones
ALU
A
BDato
SalidaALU
PC
![Page 30: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/30.jpg)
Sin coste adicional
Implementación multiciclo
RE
GIS
TR
OS
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
Instrucción[25-21]
Registro de instrucción
Instrucción[20-16]
Instrucción[15-0]
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
2
3
A
B
Registro de datos de
memoria Exten.signo
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Memoria
Instruccioneso datos
Dirección
Datos
PC
Instr.[15-0]
16
26
32
4
Instr.[15-11]
Instrucción [25-0]
PC [31-28]
Saltoincond. [31-0]28
Mux
0
1
2
Cero
ResultadoALU
ALU
SalidaALU
![Page 31: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/31.jpg)
Carga de una instrucción
RE
GIS
TR
OS
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
Instrucción[25-21]
Registro de instrucción
Instrucción[20-16]
Instrucción[15-0]
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
2
3
A
B
Registro de datos de
memoria Exten.signo
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Memoria
Instruccioneso datos
Dirección
Datos
PC
Instr.[15-0]
16
26
32
4
Instr.[15-11]
Instrucción [25-0]
PC [31-28]
Saltoincond. [31-0]28
Mux
0
1
2
Cero
ResultadoALU
ALU
SalidaALU
![Page 32: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/32.jpg)
Instrucciones Aritmético-Lógicas: Búsqueda
de registros
RE
GIS
TR
OS
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
Instrucción[25-21]
Registro de instrucción
Instrucción[20-16]
Instrucción[15-0]
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
2
3
A
B
Registro de datos de
memoria Exten.signo
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Memoria
Instruccioneso datos
Dirección
Datos
PC
Instr.[15-0]
16
26
32
4
Instr.[15-11]
Instrucción [25-0]
PC [31-28]
Saltoincond. [31-0]28
Mux
0
1
2
Cero
ResultadoALU
ALU
SalidaALU
![Page 33: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/33.jpg)
Instrucciones Aritmético-Lógicas: Ejecución
RE
GIS
TR
OS
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
Instrucción[25-21]
Registro de instrucción
Instrucción[20-16]
Instrucción[15-0]
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
2
3
A
B
Registro de datos de
memoria Exten.signo
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Memoria
Instruccioneso datos
Dirección
Datos
PC
Instr.[15-0]
16
26
32
4
Instr.[15-11]
Instrucción [25-0]
PC [31-28]
Saltoincond. [31-0]28
Mux
0
1
2
Cero
ResultadoALU
ALU
SalidaALU
![Page 34: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/34.jpg)
Instrucciones Aritmético-Lógicas: Guarda
resultados en registro
RE
GIS
TR
OS
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
Instrucción[25-21]
Registro de instrucción
Instrucción[20-16]
Instrucción[15-0]
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
2
3
A
B
Registro de datos de
memoria Exten.signo
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Memoria
Instruccioneso datos
Dirección
Datos
PC
Instr.[15-0]
16
26
32
4
Instr.[15-11]
Instrucción [25-0]
PC [31-28]
Saltoincond. [31-0]28
Mux
0
1
2
Cero
ResultadoALU
ALU
SalidaALU
![Page 35: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/35.jpg)
Instrucción lw:
Búsqueda de registros
RE
GIS
TR
OS
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
Instrucción[25-21]
Registro de instrucción
Instrucción[20-16]
Instrucción[15-0]
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
2
3
A
B
Registro de datos de
memoria Exten.signo
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Memoria
Instruccioneso datos
Dirección
Datos
PC
Instr.[15-0]
16
26
32
4
Instr.[15-11]
Instrucción [25-0]
PC [31-28]
Saltoincond. [31-0]28
Mux
0
1
2
Cero
ResultadoALU
ALU
SalidaALU
![Page 36: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/36.jpg)
Instrucción lw:
Cálculo de la dirección
RE
GIS
TR
OS
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
Instrucción[25-21]
Registro de instrucción
Instrucción[20-16]
Instrucción[15-0]
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
2
3
A
B
Registro de datos de
memoria Exten.signo
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Memoria
Instruccioneso datos
Dirección
Datos
PC
Instr.[15-0]
16
26
32
4
Instr.[15-11]
Instrucción [25-0]
PC [31-28]
Saltoincond. [31-0]28
Mux
0
1
2
Cero
ResultadoALU
ALU
SalidaALU
![Page 37: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/37.jpg)
Instrucción lw:
Lectura de memoria
RE
GIS
TR
OS
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
Instrucción[25-21]
Registro de instrucción
Instrucción[20-16]
Instrucción[15-0]
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
2
3
A
B
Registro de datos de
memoria Exten.signo
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Memoria
Instruccioneso datos
Dirección
Datos
PC
Instr.[15-0]
16
26
32
4
Instr.[15-11]
Instrucción [25-0]
PC [31-28]
Saltoincond. [31-0]28
Mux
0
1
2
Cero
ResultadoALU
ALU
SalidaALU
![Page 38: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/38.jpg)
Instrucción lw:
Guarda dato en registro
RE
GIS
TR
OS
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
Instrucción[25-21]
Registro de instrucción
Instrucción[20-16]
Instrucción[15-0]
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
2
3
A
B
Registro de datos de
memoria Exten.signo
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Memoria
Instruccioneso datos
Dirección
Datos
PC
Instr.[15-0]
16
26
32
4
Instr.[15-11]
Instrucción [25-0]
PC [31-28]
Saltoincond. [31-0]28
Mux
0
1
2
Cero
ResultadoALU
ALU
SalidaALU
![Page 39: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/39.jpg)
Instrucción sw:
Búsqueda de registros
RE
GIS
TR
OS
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
Instrucción[25-21]
Registro de instrucción
Instrucción[20-16]
Instrucción[15-0]
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
2
3
A
B
Registro de datos de
memoria Exten.signo
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Memoria
Instruccioneso datos
Dirección
Datos
PC
Instr.[15-0]
16
26
32
4
Instr.[15-11]
Instrucción [25-0]
PC [31-28]
Saltoincond. [31-0]28
Mux
0
1
2
Cero
ResultadoALU
ALU
SalidaALU
![Page 40: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/40.jpg)
Instrucción sw:
Cálculo de la dirección
RE
GIS
TR
OS
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
Instrucción[25-21]
Registro de instrucción
Instrucción[20-16]
Instrucción[15-0]
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
2
3
A
B
Registro de datos de
memoria Exten.signo
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Memoria
Instruccioneso datos
Dirección
Datos
PC
Instr.[15-0]
16
26
32
4
Instr.[15-11]
Instrucción [25-0]
PC [31-28]
Saltoincond. [31-0]28
Mux
0
1
2
Cero
ResultadoALU
ALU
SalidaALU
![Page 41: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/41.jpg)
Instrucción sw:
Escritura en memoria
RE
GIS
TR
OS
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
Instrucción[25-21]
Registro de instrucción
Instrucción[20-16]
Instrucción[15-0]
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
2
3
A
B
Registro de datos de
memoria Exten.signo
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Memoria
Instruccioneso datos
Dirección
Datos
PC
Instr.[15-0]
16
26
32
4
Instr.[15-11]
Instrucción [25-0]
PC [31-28]
Saltoincond. [31-0]28
Mux
0
1
2
Cero
ResultadoALU
ALU
SalidaALU
![Page 42: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/42.jpg)
Instrucción beq:
Búsqueda de registros
RE
GIS
TR
OS
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
Instrucción[25-21]
Registro de instrucción
Instrucción[20-16]
Instrucción[15-0]
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
2
3
A
B
Registro de datos de
memoria Exten.signo
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Memoria
Instruccioneso datos
Dirección
Datos
PC
Instr.[15-0]
16
26
32
4
Instr.[15-11]
Instrucción [25-0]
PC [31-28]
Saltoincond. [31-0]28
Mux
0
1
2
Cero
ResultadoALU
ALU
SalidaALU
![Page 43: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/43.jpg)
Instrucción beq:
Comprobación con éxito
RE
GIS
TR
OS
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
Instrucción[25-21]
Registro de instrucción
Instrucción[20-16]
Instrucción[15-0]
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
2
3
A
B
Registro de datos de
memoria Exten.signo
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Memoria
Instruccioneso datos
Dirección
Datos
PC
Instr.[15-0]
16
26
32
4
Instr.[15-11]
Instrucción [25-0]
PC [31-28]
Saltoincond. [31-0]28
Mux
0
1
2
Cero
ResultadoALU
ALU
SalidaALU
![Page 44: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/44.jpg)
Instrucción beq:
Comprobación sin éxito
RE
GIS
TR
OS
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
Instrucción[25-21]
Registro de instrucción
Instrucción[20-16]
Instrucción[15-0]
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
2
3
A
B
Registro de datos de
memoria Exten.signo
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Memoria
Instruccioneso datos
Dirección
Datos
PC
Instr.[15-0]
16
26
32
4
Instr.[15-11]
Instrucción [25-0]
PC [31-28]
Saltoincond. [31-0]28
Mux
0
1
2
Cero
ResultadoALU
ALU
SalidaALU
![Page 45: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/45.jpg)
Instrucción Jump:
Ejecución del salto
RE
GIS
TR
OS
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
Instrucción[25-21]
Registro de instrucción
Instrucción[20-16]
Instrucción[15-0]
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
2
3
A
B
Registro de datos de
memoria Exten.signo
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Memoria
Instruccioneso datos
Dirección
Datos
PC
Instr.[15-0]
16
26
32
4
Instr.[15-11]
Instrucción [25-0]
PC [31-28]
Saltoincond. [31-0]28
Mux
0
1
2
Cero
ResultadoALU
ALU
SalidaALU
![Page 46: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/46.jpg)
CPI multiciclo
Hemos repartido las operaciones de forma que
el tiempo máximo de computación es el de una
unidad funcional
La unidades más lentas necesitan 2 ns para
completar su funcionamiento
Por tanto el ciclo de reloj durará 2 ns
Por ejemplo, una operación aritmética necesita
4 ciclos = 8 ns
![Page 47: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/47.jpg)
CPI multiciclo
Tipo de instrucción % Multiciclo
Aritmética 44 4
lw 24 5
sw 12 4
Salto condicional 18 3
Jump 2 3
4,04
![Page 48: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/48.jpg)
Diseño de la unidad de control
Realización monociclo: señales de control
![Page 49: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/49.jpg)
Diseño de la unidad de control
Activación de las líneas determinada por el código de operación:
![Page 50: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/50.jpg)
Diseño de la unidad de control
La función de control para una realización monociclo
está especificada por la siguiente tabla de verdad:señal Formato R Lw Sw beq
Op5 0 1 1 0
Op4 0 0 0 0
Op3 0 0 1 0
Op2 0 0 0 1
Op1 0 1 1 0
Op0 0 1 1 0
RegDest 1 0 X X
ALUSrc 0 1 1 0
MemtoReg 0 1 X X
RegWrite 1 1 0 0
MemRead 0 1 0 0
MemWrite 0 0 1 0
Branch 0 0 0 1
ALUOp1 1 0 0 0
ALUOp0 0 0 0 1
entr
adas
sa
lidas
Ejercicio:
Mapas de Karnaugh
Implementación
combinacional
![Page 51: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/51.jpg)
Diseño de la unidad de control
Realización multiciclo: señales de control
RE
GIS
TR
OS
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
Instrucción[25-21]
Registro de instrucción
Instrucción[20-16]
Instrucción[15-0]
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
2
3
A
B
Registro de datos de
memoria Exten.signo
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Memoria
Instruccioneso datos
Dirección
Datos
PC
Instr.[15-0]
16
26
32
4
Instr.[15-11]
Instrucción [25-0]
PC [31-28]
Saltoincond. [31-0]28
Mux
0
1
2
Cero
ResultadoALU
ALU
SalidaALU
SelALUAEscrRegRegDestEscrIREscrMemLeerMem
IoD
EscribirPC
Mem2Reg
ControlALU
ALUop
FuentePCSelALUB
![Page 52: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/52.jpg)
Diseño de la unidad de control
Realización multiciclo: señales de control
RE
GIS
TR
OS
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
Instrucción[25-21]
Registro de instrucción
Instrucción[20-16]
Instrucción[15-0]
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
2
3
A
B
Registro de datos de
memoria Exten.signo
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Memoria
Instruccioneso datos
Dirección
Datos
PC
Instr.[15-0]
16
26
32
4
Instr.[15-11]
Instrucción [25-0]
PC [31-28]
Saltoincond. [31-0]28
Mux
0
1
2
Cero
ResultadoALU
ALU
SalidaALU
SelALUA
EscrReg
RegDestEscrIR
EscrMem
LeerMem
IoD
Control
OP[31-26]
EscrPC
EscrPC Cond
Mem2Reg
ControlALU
ALUop
FuentePC
SelALUB
![Page 53: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/53.jpg)
Diseño de la unidad de control
El control del camino de datos multiciclo debe
especificar:
√ Las señales que se van a inicializar en cada paso
√ El paso siguiente de la secuencia
Dos técnicas diferentes:
√ Control cableado. Se basa en las máquinas de
estados finitos.
√ Control microprogramado. Se representa en forma
de programa de control
![Page 54: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/54.jpg)
Control cableado
Construiremos una máquina de estados finitos (autómata de Moore)
El camino de datos multiciclo se controla con las salidas de la unidad de control (la máquina de estados)
Las entradas de la unidad de control serán
√ Los bits de la instrucción
√ Los indicadores internos
Máquina de estados finitos:
√ Cada estado de la máquina representa una etapa y tarda un ciclo de reloj
√ Los dos primeros pasos son idénticos para todas las instrucciones
√ A partir de la tercera etapa depende del código de operación
√ Después de la última etapa la máquina debe volver al estado inicial
![Page 55: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/55.jpg)
Control cableado
Realización de máquinas de estados finitos de control:
Estado 0
Inicio
Acceso a memoria
Estado 1
Cargade
instrucción
Decodificarinstrucciones
CargarRegistros
Aritmético-lógicas
beq jump
![Page 56: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/56.jpg)
Estado 0. Cargar Instrucción
RE
GI S
TR
OS
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
Instrucción[25-21]
Registro de instrucción
Instrucción[20-16]
Instrucción[15-0]
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
2
3
A
B
Registrode datos de
memoria Exten.signo
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Memoria
Instruccioneso datos
Dirección
Datos
PC
Instr.[15-0]
16
26
32
4
Instr.[15-11]
Instrucción [25-0]
PC [31-28]
Saltoincond. [31-0]28
Mux
0
1
2
Cero
ResultadoALU
ALU
SalidaALU
SelALUA
EscrReg
RegDestEscrIR
EscrMem
LeerMem
IoD
Control
OP[31-26]
EscrPC
EscrPC Cond
Mem2Reg
ControlALU
ALUop
FuentePC
SelALUB
Estado 0
Inicio
LeerMemSelALUA = 0
IoD = 0EscrIREscrPC
FuentePC = 00
selALUB = 01ALUOp = 00
A Estado 1
![Page 57: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/57.jpg)
Estado 1. Decodificación
RE
GIS
TR
OS
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
Instrucción[25-21]
Registro de instrucción
Instrucción[20-16]
Instrucción[15-0]
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
2
3
A
B
Registro de datos de
memoria Exten.signo
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Memoria
Instruccioneso datos
Dirección
Datos
PC
Instr.[15-0]
16
26
32
4
Instr.[15-11]
Instrucción [25-0]
PC [31-28]
Saltoincond. [31-0]28
Mux
0
1
2
Cero
ResultadoALU
ALU
SalidaALU
SelALUA
EscrReg
RegDestEscrIR
EscrMem
LeerMem
IoD
Control
OP[31-26]
EscrPC
EscrPC Cond
Mem2Reg
ControlALU
ALUop
FuentePC
SelALUB
Estado 1
De Estado 0 SelALUA = 0selALUB = 11ALUOp = 00
Estado ?
![Page 58: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/58.jpg)
Control del acceso a memoria
De Estado 1
Estado 4
Estado 5
Acceso a memoria
Acceso a memoria
(Op = “LW”) o (Op = “SW”)
(Op = “LW”) (Op = “SW”)
Cálculodirección de memoria
Etapa de escri tura
Estado 3
Estado 2
Vuelta al
Estado 0
SelALUA = 1
selALUB = 10ALUOp = 00
LeerMemIoD = 1
EscrMemI0D = 1
EscrRegMem2Reg = 1RegDest = 0
![Page 59: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/59.jpg)
Control de operaciones aritmético-lógicas
De Estado 1
Finalización de la operación
(Op = Aritmético-lógica)
(Op = “LW”)
Ejecución de la operación
Estado 7
Estado 6
Vuelta al
Estado 0
SelALUA = 1selALUB = 00ALUOp = 10
RegDest = 1EscrReg
Mem2Reg
![Page 60: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/60.jpg)
Control de beq
De Estado 1
(Op = “beq”)
Finalización de salto condicional
Estado 8
Vuelta al Estado 0
SelALUA = 1
selALUB = 00ALUOp = 01
EscrPCCondFuentePC = 01
![Page 61: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/61.jpg)
Control de jump
De Estado 1
(Op = “j”)
Finalización de jump
Estado 9
Vuelta al Estado 0
EscrPCCondFuentePC = 10
![Page 62: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/62.jpg)
Máquina de estados completa
Estado 0
Inicio
LeerMemSelALUA = 0
IoD = 0EscrIREscrPC
FuentePC = 00
selALUB = 01ALUOp = 00
Estado 1
SelALUA = 0selALUB = 11ALUOp = 00
(Op = “LW”) o (Op = “SW”)
Estado 4
Estado 5
Acceso a memoria
Acceso a memoria
(Op = “LW”) (Op = “SW”)
Cálculodirección de memoria
Etapa de escritura
Estado 3
Estado 2
SelALUA = 1selALUB = 10ALUOp = 00
LeerMemIoD = 1
EscrMemI0D = 1
EscrRegMem2Reg = 1RegDest = 0
Finalización de la operación
(Op
= A
ritm
étic
o-ló
gica
)
Ejecución de la operación
(Op =
“beq”)
Finalización de salto condicional
Estado 8
SelALUA = 1selALUB = 00ALUOp = 01EscrPCCond
FuentePC = 01
(Op = “j”)
Finalización de jump Estado 9
EscrPCCondFuentePC = 10
(Op = “LW”)
Estado 7
Estado 6
SelALUA = 1selALUB = 00ALUOp = 10
RegDest = 1EscrReg
Mem2Reg
![Page 63: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/63.jpg)
Implementación física
Lógica de control
Salidas
Código de operación desde
el registro deinstrucción
Señales de controlpara el
camino de datos
Entradas
Registro de estado
Concepto Bits
Señales de
control16
Código de
operación6
Estado 4
![Page 64: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/64.jpg)
ROM
Lógica de control
PLA y/ó ROM
Salidas
Entradas
Código de operaciónBits [31-26] del
registro de instrucción
Registro de estado
FuentePC (2)ALUop (2)SelALUASelALUB (2)EscrRegRegDestEscrPC condEscrPCIoDLeerMemEscrMemMem2RegEscrIR
ROM única
2 palabras de 20 bits
= 20480 bits
10
Código de operación desde
el registro deinstrucción
Estado Nuevoestado
Señales de control
ROM 1
2 palabras de 16 bits
= 256 bits
4EstadoSeñales de control
ROM 2
2 palabras de 4 bits
= 4096 bits
10
Código de operación desde
el registro deinstrucción
Estado
Nuevoestado
![Page 65: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/65.jpg)
PLA
Lógica de control
PLA y/ó ROM
Salidas
Entradas
Código de operaciónBits [31-26] del
registro de instrucción
Registro de estado
FuentePC (2)ALUop (2)SelALUASelALUB (2)EscrRegRegDestEscrPC condEscrPCIoDLeerMemEscrMemMem2RegEscrIR
Op5
Op4
Op3
Op2
Op1
Op0
S3
S2
S1
S0
IoD
IEscrIR
LeerMem
EscrMem
EscrPC
EscrPC cond
Mem2Reg
FuentePC1
ALUOp1
SelALUB0
SelALUA
EscrReg
RegDest
NS3
NS2
NS1
NS0
SelALUB1
ALUOp2
FuentePC2
![Page 66: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/66.jpg)
Control microprogramado
Cada grupo de señales causa la ejecución de una operación básica
específica: microoperación.
La interpretación y ejecución de una instrucción da lugar a una
secuencia de operaciones máquina básicas (microoperaciones),
cada una controlada por un grupo de señales de control,
microinstrucción.
Una secuencia de microinstrucciones constituye un microprograma.
El código de operación de una instrucción máquina, cuando es
decodificado, señala la microrrutina apropiada incluida en la
memoria microprogramada.
Las microinstrucciones suelen estar ubicadas en una ROM o en una
PLA, por lo que pueden asignarse direcciones a las
microinstrucciones.
![Page 67: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/67.jpg)
Control microprogramado
Lógica de control
PLA y/ó ROM
Salidas
Entradas
Código de operaciónBits [31-26] del
registro de instrucción
Registro de estado
CtrlDir
Sumador
1
4
FuentePC (2)ALUop (2)
SelALUASelALUB (2)
EscrRegRegDestEscrPC condEscrPCIoDLeerMem
EscrMemMem2Reg
EscrIR
Selección
6
• El sumador avanza
secuencialmente por los
estados
• No en todos los casos se
pasa al estado siguiente:
• CtrlDir
• Selección
![Page 68: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/68.jpg)
Secuencia de estados √ Tras terminar una instrucción se ha de retornar al estado 0
√ Las instrucciones sólo tienen algunos estados en común, después divergen
√ Esta divergencia puede ocurrir en varios lugares en el diagrama de estados
√ Necesitamos contemplar estos casos
PLA y/ó ROM
Entradas
Código de operaciónBits [31-26] del
registro de instrucción
Registro de estado
CtrlDir
Sumador
1
4
MUX3 2 1 0
Selección
Tabla de envío 2 Tabla de envío 1
6
0
• CtrlDir = 0
• Nueva instrucción
• CtrlDir = 1
• Tipo de instrucción
• CtrlDir = 2
• Leer/escribir memoria
• CtrlDir = 3
• Secuencia normal
![Page 69: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/69.jpg)
Secuencia de estados
√ Cada tabla de envío está asociada a un estado del que no tiene un único
estado destino
√ En el caso general crearemos una tabla (ROM/PLA) para cada estado con
múltiples estados-destino
√ En general, en un procesador complejo, los estados se seleccionarán de
forma secuencial con pocas excepciones
Tipo de
instrucción
Tabla 1 Tabla2
lw 2 3
sw 2 5
aritmético-lógica 6
beq 8
jump 9
![Page 70: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/70.jpg)
Formato de la microinstrucción
Etiqueta Control
ALU
Fuente
1
Fuente
2
Control
Regs
Memoria Control
EscrPC
Secuencia
Inicio Sumar PC 4 Leer PC ALU Siguiente
Sumar PC ExtShft Leer Tabla 1
Mem1 Sumar A Extend Tabla 2
LW2 Leer ALU Siguiente
Escr Mem Ir a 0
SW2 Escr ALU Ir a 0
Aritmetico1 Función A B Siguiente
Escr ALU Ir a 0
beq1 Restar A B Cond. ALU Ir a 0
jump1 dir. jump Ir a 0
![Page 71: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/71.jpg)
Procesamiento de excepciones
Una excepción es un suceso inesperado que se produce en el procesador, por ejemplo el desbordamiento aritmético
Una interrupción es un suceso que provoca un cambio inesperado, pero se produce externamente al procesador
Ejemplos de implementación de excepciones:
√ Instrucción indefinida
√ Desbordamiento aritmético
Acciones a realizar:
√ Guardar la dirección de la instrucción causante en el registro contador de programa de la excepción (EPC)
√ Transferir el control al sistema operativo en alguna dirección específica
√ El sistema operativo ejecuta una rutina específica
√ Finalizar el programa o continuar con su ejecución, usando EPC para saber dónde retomar la ejecución
![Page 72: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/72.jpg)
Procesamiento de excepciones
Ejemplo de implementación:
√ Saltaremos a la dirección 0xC0000000
√ Necesitamos lo siguientes registros
Un registro de 32 bits para el EPC
Un registro de 1 bit para el Registro de Causa
√ Y las señales de control
Escribir en EPC
Escribir en Registro de Causa
Tipo de excepción (1 bit)
![Page 73: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/73.jpg)
Procesamiento de excepciones Camino de datos con los elementos necesarios para el
procesamiento de excepciones:
SelALUA
EscrReg
RegDestEscrIR
EscrMem
LeerMem
IoD
Control
OP[31-26]
EscrPC
EscrPC Cond
Mem2Reg
ALUop
FuentePC
EscrEPCCausaInt
EscrCausa
SelALUB
RE
GIS
TR
OS
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
Instrucción[25-21]
Registro de instrucción
Instrucción[20-16]
Instrucción[15-0]
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
2
3
A
B
Registro de datos de
memoria Exten.signo
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Memoria
Instruccioneso datos
Dirección
Datos
PC
Instr.[15-0]
26
4
Instr.[15-11]
Instrucción [25-0]
PC [31-28]
28
16 32
Saltoincond. [31-0]
C0000000
Mux
0
1
2
3
Cero
ResultadoALU
ALU
SalidaALU EPC
ControlALU
![Page 74: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/74.jpg)
SelALUA
EscrReg
RegDestEscrIR
EscrMem
LeerMem
IoD
Control
OP[31-26]
EscrPC
EscrPC Cond
Mem2Reg
ALUop
FuentePC
EscrEPCCausaInt
EscrCausa
SelALUB
RE
GIS
TR
OS
Reg. delectura 1
Dato a escribir
Datoleído 1
Datoleído 2
Reg. delectura 2
Reg. deescritura
Instrucción[25-21]
Registro de instrucción
Instrucción[20-16]
Instrucción[15-0]
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
Mux
0
1
2
3
A
B
Registro de datos de
memoria Exten.signo
Desp.2 bits ala izq.
Desp.2 bits ala izq.
Memoria
Instruccioneso datos
Dirección
Datos
PC
Instr.[15-0]
26
4
Instr.[15-11]
Instrucción [25-0]
PC [31-28]
28
16 32
Saltoincond. [31-0]
C0000000
Mux
0
1
2
3
Cero
ResultadoALU
ALU
SalidaALU EPC
ControlALU
Procesamiento de excepciones
![Page 75: Tema 4 El procesador: camino de datos y unidad de …quegrande.org/apuntes/EI/2/ECm1/teoria/08-09/tema_4.pdf · En este tema se estudia la Unidad Central de Procesamiento (CPU)](https://reader031.vdocuments.co/reader031/viewer/2022022702/5bc38a6109d3f299608ce17f/html5/thumbnails/75.jpg)
Procesamiento de excepciones
Estado 0
Inicio
LeerMemSelALUA = 0
IoD = 0EscrIREscrPC
FuentePC = 00
selALUB = 01ALUOp = 00
Estado 1
SelALUA = 0selALUB = 11ALUOp = 00
(Op = “LW”) o (Op = “SW”)
Estado 4
Estado 5
Acceso a memoria
Acceso a memoria
(Op = “LW”) (Op = “SW”)
Cálculodirección de memoria
Etapa de escritura
Estado 3
Estado 2
SelALUA = 1selALUB = 10ALUOp = 00
LeerMem
IoD = 1
EscrMem
I0D = 1
EscrRegMem2Reg = 1RegDest = 0
Finalización de la operación
(Op
= A
ritm
-Lóg
icas
)
Ejecución de la operac ión
(Op =
“beq”)
Finalización de salto condicional
Estado 8
SelALUA = 1selALUB = 00ALUOp = 01
EscrPCCondFuentePC = 01
(Op = “j”)(Op = otros) Estado 9
EscrPCCondFuentePC = 10
(Op = “LW”)
Estado 7
Estado 6
SelALUA = 1selALUB = 00ALUOp = 10
RegDest = 1EscrReg
Mem2Reg
Estado 10CausaInt=0EscrCausa
SelALUA = 0
EscrPCFuentePC = 11
selALUB = 01ALUOp = 01
EscrEPC
Estado 11CausaInt=1EscrCausa
SelALUA = 0
EscrPCFuentePC = 11
selALUB = 01ALUOp = 01
EscrEPCDesbordamiento
Finalización de jump