MIPS-2
-
Upload
cristina-gomez -
Category
Documents
-
view
231 -
download
0
description
Transcript of MIPS-2
-
Seccin de procesamiento: El camino de datos
Montse Bo Cepeda
Este trabajo est publicado bajo licencia Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Spain.
-
2Estructura del curso
1. Evolucin y caracterizacin de los computadores.2. Arquitectura del MIPS: Introduccin.3. Tipo de datos.4. El repertorio de instrucciones.5. Aritmtica del computador.6. El camino de datos.7. Seccin de control.8. El camino de datos multiciclo.9. Seccin de control multiciclo.10. Entrada/Salida (I/O).
-
3Esquema de contenidos
1. Estructura bsica del procesador2. El ciclo de instruccin3. Diseo de un procesador sencillo
-
4Estructura bsica de un procesador
CONTROL
ALU
MEMORIA
ENTRADA/SALIDA
PROCESADORArquitectura Von Neumann
-
5Estructura 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
-
6Estructura bsica de un procesador
El procesador se compone de varias partes:1. Unidad de control2. Unidad aritmtico-lgica3. Un banco de registros4. Otros registros internos:
El contador de programa (PC) Registro de instrucciones (IR)
5. Buses, multiplexores, memorias
-
7Estructura bsica de un procesador
ALU
Unidad
Control
Registros
Seales de control
Datos
Seales de control
Seales control del bus
Datos (resultados)
Datos (operandos)
Bus direcciones Bus datos
-
8Metodologa 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
-
9Metodologa de sincronizacinEstrategia de sincronizacin por flancos
Estado 1 Estado 2Lgica
combinacional
Ciclo de reloj
-
10
El ciclo de instruccin
El procesamiento que requiere una instruccin se denomina ciclo de instruccin.
Ciclo bsico de instruccin:INICIO
FIN
Captura dela instruccin
Ejecucin de la instruccin
Ciclo de captacin
Ciclo de ejecucin
-
11
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
PC Direccin
InstruccinMemoria de instrucciones
RegistrosDatos
n de registron de registron de registro
ALUMemoria de
datos
Direccin
Datos
-
12
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:
PC Instrucci n
Direcci n de la instrucci n
Memoria de instrucciones
SumadorSuma
-
13
Contador de programa
SumadorSuma
Instrucci n
Direcci n
Memoria de instrucciones
PC
4 Incrementando PC
-
14
Instrucciones aritmtico y lgicas
TIPO R: Operaciones aritmticas y lgicas
op rs rt rd shamt funct
6 bits 5 bits 5 bits 5 bits 5 bits 6 bits
TIPO R
Campos:op: cdigo de operacin.rs: primer registro operando fuentert: segundo registro operando fuenterd: registro operando destinoshamt: tamao de desplazamiento (shift amount)funct: cdigo de funcin.
-
15
Instrucciones aritmtico y lgicas
Elementos bsicos para la realizacin de instrucciones tipo R
R
E
G
I
S
T
R
O
S
Reg. de lectura 1
Reg. de lectura 2Reg. de escritura 1 Dato a
escribir
Dato le do 1
Dato le do 2
5
5
5
EscribirReg
Numero de registro
Dato
Datos ALU CeroResultado de la ALU
Control de la ALU
3
-
16
Instrucciones aritmtico y lgicas
ALU CeroResultado de la ALU
Control de la ALU
3
R
E
G
I
S
T
R
O
S
Reg. de lectura 1
Reg. de lectura 2Reg. de escritura 1 Dato a
escribir
Dato le do 1
Dato le do 2
EscribirReg
Instrucci n
Operaciones tipo R: Involucran tres registros: dos de lectura y uno de escritura. Usan la ALU para realizar operaciones
-
17
Instrucciones de carga y almacenamiento
Ejemplo: lw $t1, offset($t2) Direccin almacenada en $t2 + offset lw: Lectura memoria, escritura en registro $t1
Computacin de la direccin: Extensin del signo del offset (16-bits) a una palabra de 32
bits con signo
Requerido hardware para la extensin de signo
-
18
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
Direcci n
Memoria de datos
Dato a escribir
Dato le do
LeerMem
EscribirMemEntensi n de signo
16 32
1101 0011 1111 1111 1111 1111 1101 0011
-
19
Instrucciones de carga y almacenamiento
R
E
G
I
S
T
R
O
S
Reg. de lectura 1
Reg. de lectura 2Reg. de escritura 1 Dato a
escribir
Dato le do 1
Dato le do 2
EscribirReg
ALU CeroResultado de la ALU
Control de la ALU
3
Direcci n
Memoria de datos
Dato a escribir
Dato le do
LeerMem
EscribirMem
Entensi n de signo
16 32
Instrucci n
-
20
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)
-
21
Salto condicional
R
E
G
I
S
T
R
O
S
Reg. de lectura 1
Reg. de lectura 2Reg. de escritura 1 Dato a
escribir
Dato le do 1
Dato le do 2
EscribirReg
ALUCero
Control de la ALU
3
Decidir si se hace el salto
Entensi n de signo
16 32
Instrucci n
Desp. 2 bits a la izq.
Sumador
Resultado Destino de salto
PC + 4 del camino de datos de instrucciones
-
22
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
-
23
Diseo del camino de datos
Camino de datos para instrucciones de memoria y aritmtico-lgicas
R
E
G
I
S
T
R
O
S
Reg. de lectura 1
Reg. de lectura 2Reg. de escritura 1 Dato a
escribir
Dato le do 1
Dato le do 2
EscribirReg
ALU CeroResultado de la ALU
Control de la ALU
3
Direcci n
Memoria de datos
Dato a escribir
Dato le do
LeerMem
EscribirMem
Entensi n de signo
16 32
Instrucci n
MU X
MU X
Fuente ALUMem2reg
-
24
Diseo del camino de datosIncorporando contador de programa
R
E
G
I
S
T
R
O
S
Reg. de lectura 1
Reg. de lectura 2Reg. de escritura 1 Dato a
escribir
Dato le do 1
Dato le do 2
EscribirReg
ALU CeroResultado de la ALU
Control de la ALU
3
Direcci n
Memoria de datos
Dato a escribir
Dato le do
LeerMem
EscribirMem
Entensi n de signo
16 32
MU X
MU X
Fuente ALUMem2reg
SumadorSuma
Instrucci n
Direcci n
Memoria de instrucciones
PC
4
-
25
Diseo del camino de datosAadimos saltos condicionales
R
E
G
I
S
T
R
O
S
Reg. de lectura 1
Reg. de lectura 2Reg. de escritura 1 Dato a
escribir
Dato le do 1
Dato le do 2
EscribirReg
ALU CeroResultado de la ALU
Control de la ALU
3
Direcci n
Memoria de datos
Dato a escribir
Dato le do
LeerMem
EscribirMem
Entensi n de signo
16 32
MU X
MU X
Fuente ALUMem2reg
SumadorSuma
Instrucci n
Direcci n
Memoria de instrucciones
PC
4Sumador
SumaDesp. 2 bits
a la izq.
MU X
Origen PC