Banco Registros

Post on 24-Jul-2015

100 views 0 download

Transcript of Banco Registros

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