Tema 4
Procesador: camino de
datos y unidad de control
Í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
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
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
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)
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
PC
Dirección
Instrucción
Memoria de
instrucciones
Datos
Registros
nº de registro
nº de registro
nº de registro
ALU
Dirección
Memoria
de Datos
Datos
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
Lógica combinatoria
Estado 2
Ciclo de reloj
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
Ciclo de captación
Ejecución de
la instrucción
Ciclo de ejecución
FIN
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
Veremos un conjunto de instrucciones básico
Veremos como implementar estas instrucciones
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
Sumador
4
PC
Dirección
Instrucción
Memoria de
instrucciones
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
Reg. de
lectura 1
Reg. de
lectura 2
Reg. de
escritura
Dato a
escribir
EscribirReg
S
O
R
T
S
G
E
R
I
Dato
leído 1
Dato
leído 2
3
Operación de la ALU
ALU
Cero
Resultado
de la ALU
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
Diseño de un camino de datos sencillo
Instrucción
Reg. de
lectura 1
Reg. de
lectura 2
Reg. de
escritura
Dato a
escribir
EscribirReg
16
3
Operación de la ALU
S
O
R
T
S
G
E
R
I
Dato
leído 1
Dato
leído 2
ALU
Cero
Resultado
de la ALU
32
Extensión
de signo
EscribirMem
Dato
leído
Dirección
Memoria
de Datos
Dato a
escribir
LeerMem
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
Diseño de un camino de datos sencillo
PC +4 del camino de datos de instrucciones
Desp.
2 bits a
la izq.
Resultado
Sumador
Destino salto
3
Operación de la ALU
Cero
ALU
Decidir si se
hace el salto
Instrucción
Reg. de
lectura 1
Reg. de
lectura 2
Reg. de
escritura
Dato a
escribir
EscribirReg
16
S
O
R
T
S
G
E
R
I
Dato
leído 1
Dato
leído 2
32
Extensión
de signo
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
Diseño de un camino de datos sencillo
Aritmética + Acceso a Memoria
Instrucción
Reg. de
lectura 1
Reg. de
lectura 2
Reg. de
escritura
Dato a
escribir
EscribirReg
16
S
O
R
T
S
G
E
R
I
Dato
leído 1
Dato
leído 2
Fuente
ALU
M
u
x
32
Extensión
de signo
3
Operación de la ALU
ALU
Cero
Resultado
de la ALU
EscribirMem
Mem2reg
Dato
leído
Dirección
Memoria
de Datos
Dato a
escribir
LeerMem
M
u
x
Diseño de un camino de datos sencillo
Incorporamos gestión de PC
P
C
4
Dirección
de lectura
Instrucción
Memoria de
instrucciones
Sumador
Reg. de
lectura 1
Reg. de
lectura 2
Reg. de
escritura
Dato a
escribir
EscribirReg
16
S
O
R
T
S
G
E
R
I
Dato
leído 1
Dato
leído 2
Fuente
ALU
M
u
x
32
Extensión
de signo
3
Operación de la ALU
ALU
Cero
Resultado
de la ALU
EscribirMem
Mem2reg
M
u
x
Dato
leído
Dirección
Memoria
de Datos
Dato a
escribir
LeerMem
Diseño de un camino de datos sencillo
Añadimos saltos condicionales
Sumador
4
P
C
Dirección
de lectura
Instrucción
Memoria de
instrucciones
Reg. de
lectura 1
Reg. de
lectura 2
Reg. de
escritura
Dato a
escribir
EscribirReg
16
S
O
R
T
S
G
E
R
I
Dato
leído 1
Dato
leído 2
Fuente
ALU
M
u
x
32
Extensión
de signo
Origen del PC
M
u
x
Resultado
Sumador
Desp.
2 bits a
la izq.
3 Operación de la ALU
ALU
Cero
Resultado
de la ALU
EscribirMem
Mem2reg
Dato
leído
Dirección
Memoria
de Datos
Dato a
escribir
LeerMem
M
u
x
Diseño de la unidad de control
Realización monociclo: señales de control
Diseño de la unidad de control
Activación de las líneas determinada por el código de operación:
Diseño de la unidad de control
Pasos en la realización de una instrucción tipo R (I):
Diseño de la unidad de control
Pasos en la realización de una instrucción tipo R (II):
Diseño de la unidad de control
Pasos en la realización de una instrucción tipo R (III):
Diseño de la unidad de control
Pasos en la realización de una instrucción tipo R (IV):
Diseño de la unidad de control
Pasos en la realización de una instrucción lw (I):
Diseño de la unidad de control
Pasos en la realización de una instrucción lw (II):
Diseño de la unidad de c
Links de descarga
http://lwp-l.com/pdf4905
Comentarios de: Tema 4 Procesador: camino de datos y unidad de control (0)
Comentarios de: Tema 4 Procesador: camino de datos y unidad de control (0)
No hay comentarios