banco registros
TRANSCRIPT
Arquitectura de computadoras
Diseño del banco de registro del procesador
Univers idad Autonónoma Metropolitana, Luis Rojas 2
Estado de nuestro diseño
Memoria
I/O Sistema deinterconexión
Computadora
Unidad Central de Proceso (CPU)
Unidad de Control (CU)
ALU
registros
Sistema deinterconexión
Secuenciadorlógico
Decodificadory registros
Memoriade control
CPU
CU
Univers idad Autonónoma Metropolitana, Luis Rojas 3
Sistema deinterconexión
S iguientes módulos a diseñar
Memoria
I/O Sistema deinterconexión
Computadora
Unidad Central de Proceso (CPU)
Unidad de Control (CU)
ALU
registros
Secuenciadorlógico
Decodificadory registros
Memoriade control
CPU
CU
Univers idad Autonónoma Metropolitana, Luis Rojas 4
E l banco de registros❧ Es un módulo que contiene n registros R de almacenamiento❧ Los R se utilizan durante toda operación efectuada por el procesador❧ Un R esta formado por m bits❧ m determina el ancho de la palabra del procesador❧ Un banco de registros puede tener una entrada de datos (DAT), líneas
de direccionamiento (A), líneas de control (WR) y líneas de salidas que entregan el contenido de los registros ([rA])
r0
r1
r2
rn-1
A DAT* ¬WR*
[rA]
DATDATDAT
DAT
* si ¬WR ⇒ [rA] ←DAT
m
mlog2 n Involucra 1 reg por operación. rA entrega su contenido y recibe el dato (DAT). Las líneas A identifican el reg involucrado.
Univers idad Autonónoma Metropolitana, Luis Rojas 5
E l banco de registros (ejemplos)❧ Involucra 3 reg por
operación. rA y rB entregan su contenido y rC recibe el dato (DAT). Las líneas A, B y C identifican los reg involucrados.
❧ Involucra 2 reg por operación. [rA] y [rB] entregan su contenido y rC recibe el dato (DAT). Las lineas A, B y C identifican los reg involucrados.
r0
r1
r2
rn-1
A B C* DAT* ¬WR*
[rA] [rB]
DATDATDAT
DAT
* si ¬WR ⇒ [rC] ←DAT
log2 n m
r0
r1
r2
rn-1
A B DAT* ¬WR*
[rA] [rB]
DATDATDAT
DAT
* si ¬WR ⇒ [rB] ←DAT
log2 n m
Univers idad Autonónoma Metropolitana, Luis Rojas 6
Diseño del banco de registros❧ La características banco de
regis tros depende de las características de las operaciones a ejecutar por el procesador
❧ S i la instrucción solo implica un registro a la vez (proc. a acumulador)
Acc ← Acc + B ADD B Acc ← Acc - B S UB B Acc← Acc ∨ B OR B
❧ E l banco deberá tener las s iguientes características:
* si ¬WR ⇒ [Acc] ←DAT
rn-1
r2
r1
Acc(r0)
B ¬WR*
[rB] [Acc]
DATDATDAT
log2 n m
DAT*
ALUADD
DAT
Univers idad Autonónoma Metropolitana, Luis Rojas 7
Diseño del banco de registros
❧ S i la instrucción solo implica dos registros a la vez
A ← A + B ADD A,B A ← A - B S UB A,B A ← A ∨ B OR A,B
❧ E l banco deberá tener las s iguientes características
* si ¬WR ⇒ [rA] ←DAT
r0
r1
r2
rn-1
A B ¬WR*
[rA] [rB]
DATDATDAT
DAT
log2 n m
ALU
DAT*
ADD
Univers idad Autonónoma Metropolitana, Luis Rojas 8
Diseño del banco de registros
❧ S i la instrucción solo implica tres registros a la vez
C ← A + B ADD A,B,C C ← A - B S UB A,B,C C ← A ∨ B OR A,B,C
❧ E l banco deberá tener las s iguientes características
* si ¬WR ⇒ [rC] ←DAT
ALUADD
r0
r1
r2
rn-1
A B C* ¬WR*
[rA] [rB]
DATDATDAT
DAT
log2 n
m
DAT*
Univers idad Autonónoma Metropolitana, Luis Rojas 9
Diseño del banco de registrosCual es la mejor solución entre las tres citadas?
acumulador ADD A Acc ← Acc + B dos registros ADD A,B B ← A + B tres registros ADD A,B,C C ← A + B
❧ Para determinarlo hay que tomar en cuenta varios aspectos: Cual simplifica más la compilación? ⇒ ahorro de espacio de memoria Cual codifica en menos bits ⇒ ahorro de espacio de memoria Cual simplifica la arquitectura de procesador? ⇒ ahorro de circuitos
❧ Analicemos estos aspecto considerando ... 8 registros soportan las operaciones (se requieren 3 bits para
identificarlos) 5 bits para codificar el tipo de operación
Univers idad Autonónoma Metropolitana, Luis Rojas 10
Diseño del banco de registrosAnalicemos el proceso de compilación
Consideremos la siguiente expresión y sus posibles compilacionesresultado = factor1 + factor2 + factor3;
❧ operaciones a acumulador MOV r1 Acc ← r1 ADD r2 Acc ← Acc + r2 ⇒ 4 instrucciones ADD r3 Acc ← Acc + r3 MVA r4 r4 ← Acc
❧ Operaciones implicando dos registros MOV r1,r4 r4 ← r1 ADD r2,r4 r4 ← r2 + r4 ⇒ 3 instrucciones ADD r3,r4 r4 ← r3 + r4
❧ Operaciones implicando 3 registros ADD r1,r2,r4 r4 ← r1 + r2 ADD r3,r4,r4 r4 ← r4 + r3 ⇒ 2 instrucciones
Univers idad Autonónoma Metropolitana, Luis Rojas 11
Diseño del banco de registrosEn términos de tiempo
Consideremos la siguiente expresión y sus posibles compilacionesresultado = factor1 + factor2 + factor3;
suponiendo 1 µ por instrucción
❧ operaciones a acumulador 4 instrucciones ⇒ 4µ
❧ Operaciones implicando dos registros 3 instrucciones ⇒ 3µ ⇒ 1.33 veces más rápido
❧ Operaciones implicando 3 registros 2 instrucciones ⇒ 2µ ⇒ 2 veces más rápido
Univers idad Autonónoma Metropolitana, Luis Rojas 12
Diseño del banco de registrosAnalicemos la codificación en bits
Consideremos la siguiente expresión y sus posibles compilacionesresultado = factor1 + factor2 + factor3;
❧ operaciones a acumulador MOV r1 Acc ← r1 (5 + 3) bits ADD r2 Acc ← Acc + r2 (5 + 3) bits ⇒ 8 bits/instrucción ADD r3 Acc ← Acc + r3 (5 + 3) bits MVA r4 r4 ← Acc (5 + 3) bits
❧ Operaciones implicando dos registros MOV r1,r4 r4 ← r1 (5+3+3) bits ADD r2,r4 r4 ← r2 + r4 (5+3+3) bits ⇒ 11 bits/instrucción ADD r3,r4 r4 ← r3 + r4 (5+3+3) bits
❧ Operaciones implicando 3 registros ADD r1,r2,r4 r4 ← r1 + r2 (5+3+3+3) bits ADD r2,r4,r4 r4 ← r4 + r3 (5+3+3+3) bits ⇒ 14 bits/instrucción
Univers idad Autonónoma Metropolitana, Luis Rojas 13
Diseño del banco de registrosComplejidad de la arquitectura
r0
r1
r2
rn-1
B ¬WR*
[rA] [Acc]
DATDATDAT
DAT
log2 n m
DAT*
ALUADD
r0
r1
r2
rn-1
A B ¬WR*
[rA] [rB]
DATDATDAT
DAT
log2 n m
ALU
DAT*
ADD
Acumulador < 2 registros
Univers idad Autonónoma Metropolitana, Luis Rojas 14
Diseño del banco de registros Complejidad de la arquitectura
r0
r1
r2
rn-1
A B ¬WR*
[rA] [rB]
DATDATDAT
DAT
log2 n m
ALU
DAT*
ADD ALUADD
r0
r1
r2
rn-1
A B C* ¬WR*
[rA] [rB]
DATDATDAT
DAT
log2 n
m
DAT*
2 registos < 3 registros
Univers idad Autonónoma Metropolitana, Luis Rojas 15
Diseño del banco de registrosComparando los tres aspectos
Aspecto Acumulador 2 registros 3 registros
números de inst.prod x compilador Mayor Intermedio MenorCodificación ennúmeros de bits Menor Intermedio MayorComplejidad de los circuitos Menor Intermedio MayorVelocidad Menor Intermedio Mayor
Univers idad Autonónoma Metropolitana, Luis Rojas 16
Diseño del banco de registrosComparando los tres aspectos
Aspecto Acumulador 2 registros 3 registros
números de inst.prod x compilador Mayor Intermedio MenorCodificación ennúmeros de bits Menor Intermedio MayorComplejidad de los circuitos Menor Intermedio MayorVelocidad Menor Intermedio Mayor
Univers idad Autonónoma Metropolitana, Luis Rojas 17
Diseño del banco de registros Tipo de Banco de Registros retenido
ALUADD
r0
r1
r2
rn-1
A B C* ¬WR*
[rA] [rB]
DATDATDAT
DAT
log2 n
m
DAT*
- más rápido- simplifica la compilación- más complejo- más bits para su codificación ⇒ palabras más largas