Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Computadoras
Unidad Académica Caleta
Olivia
2022
UNIDAD II – Parte E
El camino de datos
2
Arquitectura de las computadoras
Esquema de contenidos
2022
3
Arquitectura de las computadoras
Estructura básica de un procesador
2022
CONTROL MEMORIA
ENTRADA/
ALU
SALIDA
PROCESADOR
Arquitectura Von Neumann
4
Arquitectura de las computadoras
Estructura básica de un procesador
2022 • 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
5
Arquitectura de las computadoras
Estructura básica de un procesador
2022 El procesador se compone de varias partes:
• Unidad de control
• Unidad aritmético-lógica
• Un banco de registros
• Otros registros internos:
• El contador de programa (PC)
• Registro de instrucciones (IR)
• Buses, multiplexores, memorias…
6
Arquitectura de las computadoras
Estructura básica de un procesador
2022 Bus direcciones Bus datos
Señales control del bus
Señales de control
Unidad
Datos
Control
Registros
Señales de
control
Datos (operandos)
ALU
Datos (resultados)
7
Arquitectura de las computadoras
Metodología de sincronización
2022 • El camino de datos se basa en transferencias/computaciones
entre registros:
• Elementos combinacionales:
• Su salida depende únicamente de las entradas
• Ejemplo: ALU (sumador, multiplexor, desplazador,…)
• Elementos secuenciales:
• Operan sobre el estado del sistema.
• La salida depende de la entrada y del estado.
• Ejemplo: Memorias y registros
• La metodología de sincronización define cuándo pueden
leerse y escribirse la diferentes señales
• Asumimos sincronización por flancos
8
Arquitectura de las computadoras
Metodología de sincronización
2022 Estrategia de sincronización por flancos
Lógica Estado 2
Estado 1 combinacional
Ciclo de reloj
9
Arquitectura de las computadoras
El ciclo de instrucción
2022 • El procesamiento que requiere una instrucción se
denomina ciclo de instrucción.
• Ciclo básico de instrucción:
INICIO
FIN
10
Arquitectura de las computadoras
El ciclo de instrucción
• Para el subconjunto de instrucciones MIPS, los dos primeros pasos son
2022 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
'1
seleccionarlos
10
Arquitectura de las computadoras
Diseño del camino de datos
2022 • 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
Datos Registros
PC Dirección nº de registro ALU Dirección
Instrucción nº de registro Memoria de
Memoria de nº de registro datos
instrucciones Datos
11
Arquitectura de las computadoras
Contador de programa
2022 • El camino de datos implementa el ciclo completo de instrucción:
“carga-decodificación-ejecución”.
• Cada instrucción está en una posición de memoria específica.
• Contador de programa:
• Almacenamos la dirección de la instrucción en el PC.
• Tras procesar una instrucción, avanzamos el contador hasta la siguiente
instrucción.
• Elementos para la búsqueda de instrucciones y el incremento del
contador de programa:
Dirección
de la instrucción
PC Suma
Instrucción
Sumador
Memoria de
instrucciones
12
Arquitectura de las computadoras
Contador de programa
2022
Suma
Sumador
4
Incrementando PC
PC Dirección
Instrucción
Memoria de
instrucciones
13
Arquitectura de las computadoras
Instrucciones aritmético y lógicas
2022 TIPO R: Operaciones aritméticas y lógicas
TIPO R
op rs rt rd shamt funct
6 bits 5 bits 5 bits 5 bits 5 bits 6 bits
Campos:
op: código de operación.
rs: primer registro operando fuente
rt: segundo registro operando fuente
rd: registro operando destino
shamt: tamaño de desplazamiento (shift amount)
funct: código de función.
14
Arquitectura de las computadoras
Instrucciones aritmético y lógicas
2022 • Elementos básicos para la realización de instrucciones tipo R
Control de la ALU
4
5 Reg. de
Numero
lectura 1 Dato Saltos condicionales
REGISTROS
de registro 5 Reg. de leído 1
lectura 2 Datos ALU Cero
5 Reg. de Resultado
Dato
escritura
leído 2 de la ALU
Dato a
Dato
escribir
EscribirReg
15
Arquitectura de las computadoras
Instrucciones aritmético y lógicas
2022 • Operaciones tipo R:
• Involucran tres registros: dos de lectura y uno de escritura.
• Usan la ALU para realizar operaciones
Control de la ALU
3
Reg. de
lectura 1 Dato
Instrucción leído 1
REGISTROS
Reg. de ALU Cero
lectura 2 Resultado
Reg. de de la ALU
escritura Dato
leído 2
Dato a
escribir
EscribirReg
16
Arquitectura de las computadoras
Instrucciones de carga y almacenamiento
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
2022 Ejemplo:
lw $t1,1200($t2) # $t1 = Mem [1200+$t2]
Explicación:
• Carga una palabra de 32 bits desde la memoria
• La pone en un registro ($t1)
• La dirección de memoria se encuentra en un
registro ($t2) más un desplazamiento (1200)
• Cuidado!: Sólo las direcciones múltiplo de 4
son válidas (palabras de 32 bits)
30
Arquitectura de las computadoras
Instrucciones de carga y almacenamiento
2022
17
Arquitectura de las computadoras
Instrucciones de carga y almacenamiento
• Load: realiza un acceso al banco de registros, calcula la dirección
2022
de memoria, lee de memoria y escribe en el banco de registros
• Store: realiza un acceso al banco de registros, calcula la dirección
de memoria, lee del banco de registros y escribe en memoria.
• Elementos para la realización de loads y stores, además del
banco de registros y la ALU
EscribirMem
16 32
Extensión
de signo
Dato
Dirección leído
Dato a Memoria de
datos
escribir 1101 … 0011
1111 1111 1111 1111 1101 … 0011
LeerMem
18
Arquitectura de las computadoras
Instrucciones de carga y almacenamiento
Reg. de 4
lectura 1 EscribirMem
Dato
Instrucción
REGISTROS
Reg. de leído 1
lectura 2 ALU Cero
Resultado Dato
Reg. de
Dato de la ALU Dirección leído
escritura
leído 2
Dato a
escribir
Dato a Memoria de
escribir datos
EscribirReg
16 32 LeerMem
Extensión
de signo
19
Arquitectura de las computadoras
Salto condicional
2022 • Ejemplo: beq $t1, $t2, offset
• Se evalúa si dos registros contienen el mismo valor ($t1, $t2)
• El salto es relativo. El offset es con signo y de 16 bits
y tiene que realizarse una extensión de signo.
• Dirección de salto:
• La dirección base es la siguiente a la instrucción del salto
(PC+4)
• Hacer un desplazamiento de 2 posiciones a la izquierda del
offset (sólo se direccionan palabras completas)
• Suma el offset desplazado, con extensión de signo, al PC
incrementado (PC+4)
20
Arquitectura de las computadoras
Salto condicional
2022
op rs rt salto
6 bits 5 bits 5 bits 16 bits
Salto = 0000 0000 0001 1001
Extensión de signo: 0000000000000000 0000 0000 0001 1001
Desplazamiento: 0000 0000 0000 0000 0000 0000 0110 0100
PC anterior = 0100 1101 0000 0011 1010 1100 0101 1000
+
0000 0000 0000 0000 0000 0000 0110 0100
PC nuevo = 0100 1101 0000 0011 1010 1100 1011 1100
40
Arquitectura de las computadoras
Salto condicional
2022 PC + 4 del camino de datos de instrucciones
Destino
Resultado
de salto
Desp.
2 bits a Sumador
la izq.
Control de la ALU
Reg. de 4
lectura 1 Dato
Instrucción leído 1
REGISTROS
Reg. de
lectura 2 ALU
Decidir si se
Reg. de Cero
hace el salto
Dato
escritura
leído 2
Dato a
escribir
EscribirReg
16 Extensión 32
de signo
21
Arquitectura de las computadoras
Diseño del camino de datos
2022 • Para construir el camino de datos hemos de combinar
los elementos explicados anteriormente que permiten
implementar:
• 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
• Reutilización del hardware: hardware compartido
selecciona los datos mediante multiplexores
• Parte del hardware no se podrá reutilizar y habrá que
replicarlo
22
Arquitectura de las computadoras
Diseño del camino de datos
2022 Camino de datos para instrucciones de memoria y aritmético-lógicas
Control de la ALU
Reg. de 3
EscribirMem
lectura 1 Dato
Instrucción Mem2reg
Reg. de leído 1
REGISTROS
16 Extensión 32 LeerMem
de signo
23
Arquitectura de las computadoras
Diseño del camino de datos
Incorporando contador de programa
2022
Suma
Sumador
4
Control de la ALU
Reg. de 4
PC Dirección EscribirMem
lectura 1 Dato
Mem2reg
Reg. de leído 1
REGISTROS
Fuente ALU ALU Cero 1
Instrucción lectura 2 Dato
Memoria de Resultado
instrucciones
Reg. de 0 M de la ALU Dirección
leído MU
escritura Dato
U X
leído 2
Dato a X
escribir 0
1 Dato a Memoria de
escribir datos
EscribirReg
16 32 LeerMem
Extensión
de signo
24
Arquitectura de las computadoras
Diseño del camino de datos
Añadimos saltos condicionales
Origen PC
1
MU
Suma X
Sumador
Suma
Desp. Sumador 0
4
2 bits
a la izq.
Control de la ALU
Reg. de 3
PC Dirección EscribirMem
lectura 1 Dato
Mem2reg
leído 1
REGISTROS
Reg. de
Fuente ALU ALU Cero
Instrucción lectura 2 Dato
1
Memoria de Resultado
Reg. de 0 leído MU
instrucciones Dato de la ALU Direcció
escritura MU n X
leído 2
Dato a X
escribir 0
1 Dato a Memoria de
escribir datos
EscribirReg
16 32 LeerMem
Extensión
de signo
25