Está en la página 1de 30

2022

Arquitectura de las Universidad Nacional de la


Patagonia Austral

Computadoras
Unidad Académica Caleta
Olivia
2022

UNIDAD II – Parte E

El camino de datos

Arquitectura de las computadoras


Estructura del curso
2022

1. Evolución y caracterización de los computadores.


2. Arquitectura del MIPS: Introducción.
3. Tipo de datos.
4. El repertorio de instrucciones.
5. Aritmética del computador.
6. El camino de datos.
7. Sección de control.
8. CPU Segmentada (Pipelining)

2
Arquitectura de las computadoras
Esquema de contenidos
2022

1. Estructura básica del procesador


2. El ciclo de instrucción
3. Diseño de un procesador sencillo

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

Ciclo de captación Captura de


la instrucción

Ciclo de ejecución Ejecuciónde


la instrucción

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

2022 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

• Ejemplo: lw $t1, offset($t2)


• Dirección almacenada en $t2 + offset
• lw: Lectura memoria, escritura en registro $t1
• Computación de la dirección:
• Extensión del signo del offset (16-bits) a una palabra de 32
bits con signo
• Requerido hardware para la extensión de signo
17
Arquitectura de las computadoras
Instrucciones de carga y almacenamiento

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

lw $t0, 8($s0) 100011 10000 01000 0000000000001000


(lw) ($s0) ($t0) (8)

sw $t0, 32($s0) 101011 10000 01000 0000000000100000


(sw) ($S0) ($t0) (32)

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

lw $t0, 8($s0) / sw $t0, 32($s0)


2022
Control de la ALU

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

TIPO I beq $s1, $s2, 25 # si ($s1 == $s2) avanzar 100

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

lectura 2 Fuente ALU ALU Cero 1


Dato
Resultado M
Reg. de 0 leído
Dato M de la ALU Dirección U
escritura 0
leído 2 U X
Dato a X
escribir
1 Dato a Memoria de
escribir datos
EscribirReg

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

También podría gustarte