Banco Registros
-
Upload
ruben-flores -
Category
Documents
-
view
100 -
download
0
Transcript of Banco Registros
![Page 1: Banco Registros](https://reader036.fdocuments.ec/reader036/viewer/2022082809/5572020f4979599169a2e23f/html5/thumbnails/1.jpg)
Arquitectura de computadoras
Diseño del banco de registro del procesador
![Page 2: Banco Registros](https://reader036.fdocuments.ec/reader036/viewer/2022082809/5572020f4979599169a2e23f/html5/thumbnails/2.jpg)
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
![Page 3: Banco Registros](https://reader036.fdocuments.ec/reader036/viewer/2022082809/5572020f4979599169a2e23f/html5/thumbnails/3.jpg)
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
![Page 4: Banco Registros](https://reader036.fdocuments.ec/reader036/viewer/2022082809/5572020f4979599169a2e23f/html5/thumbnails/4.jpg)
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.
![Page 5: Banco Registros](https://reader036.fdocuments.ec/reader036/viewer/2022082809/5572020f4979599169a2e23f/html5/thumbnails/5.jpg)
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
![Page 6: Banco Registros](https://reader036.fdocuments.ec/reader036/viewer/2022082809/5572020f4979599169a2e23f/html5/thumbnails/6.jpg)
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
![Page 7: Banco Registros](https://reader036.fdocuments.ec/reader036/viewer/2022082809/5572020f4979599169a2e23f/html5/thumbnails/7.jpg)
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
![Page 8: Banco Registros](https://reader036.fdocuments.ec/reader036/viewer/2022082809/5572020f4979599169a2e23f/html5/thumbnails/8.jpg)
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*
![Page 9: Banco Registros](https://reader036.fdocuments.ec/reader036/viewer/2022082809/5572020f4979599169a2e23f/html5/thumbnails/9.jpg)
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
![Page 10: Banco Registros](https://reader036.fdocuments.ec/reader036/viewer/2022082809/5572020f4979599169a2e23f/html5/thumbnails/10.jpg)
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
![Page 11: Banco Registros](https://reader036.fdocuments.ec/reader036/viewer/2022082809/5572020f4979599169a2e23f/html5/thumbnails/11.jpg)
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
![Page 12: Banco Registros](https://reader036.fdocuments.ec/reader036/viewer/2022082809/5572020f4979599169a2e23f/html5/thumbnails/12.jpg)
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
![Page 13: Banco Registros](https://reader036.fdocuments.ec/reader036/viewer/2022082809/5572020f4979599169a2e23f/html5/thumbnails/13.jpg)
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
![Page 14: Banco Registros](https://reader036.fdocuments.ec/reader036/viewer/2022082809/5572020f4979599169a2e23f/html5/thumbnails/14.jpg)
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
![Page 15: Banco Registros](https://reader036.fdocuments.ec/reader036/viewer/2022082809/5572020f4979599169a2e23f/html5/thumbnails/15.jpg)
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
![Page 16: Banco Registros](https://reader036.fdocuments.ec/reader036/viewer/2022082809/5572020f4979599169a2e23f/html5/thumbnails/16.jpg)
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
![Page 17: Banco Registros](https://reader036.fdocuments.ec/reader036/viewer/2022082809/5572020f4979599169a2e23f/html5/thumbnails/17.jpg)
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