You are on page 1of 25

Seccin de procesamiento: El

camino de datos
Montse Bo Cepeda

Este trabajo est publicado bajo licencia Creative Commons AttributionNonCommercial-ShareAlike 2.5 Spain.

Estructura del curso


1.
2.
3.
4.
5.
6.
7.
8.
9.
10.

Evolucin y caracterizacin de los computadores.


Arquitectura del MIPS: Introduccin.
Tipo de datos.
El repertorio de instrucciones.
Aritmtica del computador.
El camino de datos.
Seccin de control.
El camino de datos multiciclo.
Seccin de control multiciclo.
Entrada/Salida (I/O).
2

Esquema de contenidos
1.
2.
3.

Estructura bsica del procesador


El ciclo de instruccin
Diseo de un procesador sencillo

Estructura bsica de un procesador

CONTROL

MEMORIA

ALU

ENTRADA/
SALIDA

PROCESADOR

Arquitectura Von Neumann


4

Estructura bsica de un procesador


El procesador es el que se encarga de ejecutar las
instrucciones especificadas por el programa.
Funciones bsicas:
Captar instrucciones. El procesador debe leer instrucciones
de la memoria
Interpretar instrucciones. La instruccin debe decodificarse
para determinar qu accin es necesaria
Captar datos. La ejecucin puede exigir leer datos de la
memoria o de un mdulo de E/S
Procesar datos. La ejecucin de una instruccin puede exigir
llevar a cabo alguna operacin aritmtica o lgica
Escribir datos. Los resultados de una ejecucin pueden tener
que ser escritos en la memoria o en un mdulo de E/S

Estructura bsica de un procesador


El procesador se compone de varias partes:
1.
2.
3.
4.

Unidad de control
Unidad aritmtico-lgica
Un banco de registros
Otros registros internos:

El contador de programa (PC)


Registro de instrucciones (IR)

5. Buses, multiplexores, memorias

Estructura bsica de un procesador


Seales control del bus

Bus direcciones Bus datos

Seales de control

Unidad
Datos

Control

Seales de
control

Registros

Datos (operandos)

ALU

Datos (resultados)

Metodologa de sincronizacin

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 metodologa de sincronizacin define cundo pueden
leerse y escribirse la diferentes seales
Asumimos sincronizacin por flancos

Metodologa de sincronizacin
Estrategia de sincronizacin por flancos

Estado 1

Lgica
combinacional

Estado 2

Ciclo de reloj

El ciclo de instruccin
El procesamiento que requiere una instruccin se
denomina ciclo de instruccin.
Ciclo bsico de instruccin:
INICIO
Ciclo de captacin Captura de

la instruccin

Ciclo de ejecucin Ejecucin de

la instruccin

FIN
10

Diseo del camino de datos

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 aritmtico-lgicas: add, sub, or, slt

Instruccin de salto condicional: beq

Instruccin de salto incondicional: j

Datos
PC

Direccin
Instruccin
Memoria de
instrucciones

Registros

n de registro
n de registro
n de registro

ALU

Direccin
Memoria de
datos
Datos

11

Contador de programa

El camino de datos implementa el ciclo completo de instruccin:


carga-decodificacin-ejecucin.
Cada instruccin est en una posicin de memoria especfica.
Contador de programa:

Almacenamos la direccin de la instruccin en el PC.


Tras procesar una instruccin, avanzamos el contador hasta la siguiente
instruccin.

Elementos para la bsqueda de instrucciones y el incremento del


contador de programa:
Direcci n
de la instrucci n
Instrucci n

PC

Suma
Sumador

Memoria de
instrucciones

12

Contador de programa

Suma
Sumador
4

PC

Incrementando PC

Direcci n
Instrucci n
Memoria de
instrucciones

13

Instrucciones aritmtico y lgicas


TIPO R: Operaciones aritmticas y lgicas
TIPO R
op

rs

rt

rd

shamt

funct

6 bits

5 bits

5 bits

5 bits

5 bits

6 bits

Campos:
op: cdigo de operacin.
rs: primer registro operando fuente
rt: segundo registro operando fuente
rd: registro operando destino
shamt: tamao de desplazamiento (shift amount)
funct: cdigo de funcin.
14

Instrucciones aritmtico y lgicas

Elementos bsicos para la realizacin de instrucciones tipo R


Control de la ALU

Numero
de registro

5
5

Dato

Reg. de
lectura 1
Reg. de
lectura 2
Reg. de
escritura
1
Dato a
escribir

REGISTROS

Dato
le do 1
Datos
Dato
le do 2

ALU

Cero

Resultado
de la ALU

EscribirReg

15

Instrucciones aritmtico y lgicas


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
Instrucci n

Reg. de
lectura 2
Reg. de
escritura
1
Dato a
escribir

REGISTROS

Dato
le do 1

Dato
le do 2

ALU

Cero

Resultado
de la ALU

EscribirReg

16

Instrucciones de carga y almacenamiento

Ejemplo: lw $t1, offset($t2)

Computacin de la direccin:

Direccin almacenada en $t2 + offset


lw: Lectura memoria, escritura en registro $t1
Extensin del signo del offset (16-bits) a una palabra de 32
bits con signo

Requerido hardware para la extensin de signo

17

Instrucciones de carga y almacenamiento

Load: realiza un acceso al banco de registros, calcula la direccin


de memoria, lee de memoria y escribe en el banco de registros
Store: realiza un acceso al banco de registros, calcula la direccin
de memoria, lee del banco de registros y escribe en memoria.
Elementos para la realizacin de loads y stores, adems del
banco de registros y la ALU
EscribirMem

Entensi n
de signo

32

Dato
le do

Direcci n

Dato a
escribir

16

Memoria de
datos

1101 0011
1111 1111 1111 1111 1101 0011

LeerMem

18

Instrucciones de carga y almacenamiento

Control de la ALU
3

Instrucci n

Reg. de
lectura 2
Reg. de
escritura
1
Dato a
escribir

REGISTROS

Reg. de
lectura 1

Dato
le do 1
ALU

Entensi n
de signo

32

Dato
le do

Direcci n

Dato a
escribir

EscribirReg

16

Cero

Resultado
de la ALU

Dato
le do 2

EscribirMem

Memoria de
datos

LeerMem

19

Salto condicional

Ejemplo: beq $t1, $t2, offset

Se evala 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 extensin de signo.
Direccin de salto:

La direccin base es la siguiente a la instruccin del salto


(PC+4)
Hacer un desplazamiento de 2 posiciones a la izquierda del
offset (slo se direccionan palabras completas)
Suma el offset desplazado, con extensin de signo, al PC
incrementado (PC+4)

20

Salto condicional
PC + 4 del camino de datos de instrucciones
Resultado
Desp.
2 bits a
la izq.

Destino
de salto

Sumador

Control de la ALU
3

Instrucci n

Reg. de
lectura 2
Reg. de
escritura
1
Dato a
escribir

REGISTROS

Reg. de
lectura 1

Dato
le do 1
ALU
Cero
Dato
le do 2

Decidir si se
hace el salto

EscribirReg

16

Entensi n
de signo

32

21

Diseo del camino de datos

Para construir el camino de datos hemos de combinar


los elementos explicados anteriormente que permiten
implementar:
Instrucciones de acceso a memoria: lw, sw
Instrucciones aritmtico-lgicas: add, sub, or, slt
Instruccin de salto condicional: beq
Instruccin de salto incondicional: j
Reutilizacin del hardware: hardware compartido
selecciona los datos mediante multiplexores
Parte del hardware no se podr reutilizar y habr que
replicarlo

22

Diseo del camino de datos


Camino de datos para instrucciones de memoria y aritmtico-lgicas
Control de la ALU
3

Instrucci n

Reg. de
lectura 2
Reg. de
escritura
1
Dato a
escribir

REGISTROS

Reg. de
lectura 1

Dato
le do 1

Mem2reg
Fuente ALU
M
U
X

Dato
le do 2

Entensi n
de signo

ALU

Cero

Resultado
de la ALU

32

Dato
le do

Direcci n

Dato a
escribir

EscribirReg

16

EscribirMem

M
U
X

Memoria de
datos

LeerMem

23

Diseo del camino de datos


Incorporando contador de programa

Suma
Sumador
4
Control de la ALU

Direcci n

Instrucci n
Memoria de
instrucciones

Reg. de
lectura 1
Reg. de
lectura 2
Reg. de
escritura
1
Dato a
escribir

REGISTROS

PC

Dato
le do 1

Mem2reg
Fuente ALU

Dato
le do 2

MU
X

Entensi n
de signo

ALU

Cero

Resultado
de la ALU

32

Dato
le do

Direcci n

Dato a
escribir

EscribirReg

16

EscribirMem

MU
X

Memoria de
datos

LeerMem

24

Diseo del camino de datos


Aadimos saltos condicionales
Origen PC

MU
X

Suma
Sumador

Suma
Sumador

Desp.
2 bits
a la izq.

Control de la ALU

Direcci n

Instrucci n
Memoria de
instrucciones

Reg. de
lectura 1
Reg. de
lectura 2
Reg. de
escritura
1
Dato a
escribir

REGISTROS

PC

Dato
le do 1

Mem2reg
Fuente ALU

Dato
le do 2

MU
X

Entensi n
de signo

ALU

Cero

Resultado
de la ALU

32

Dato
le do

Direcci n

Dato a
escribir

EscribirReg

16

EscribirMem

MU
X

Memoria de
datos

LeerMem

25

You might also like