banco registros

17
Arquitectura de computadoras Diseño del banco de registro del procesador

Upload: ruben-flores

Post on 24-Jul-2015

100 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Banco Registros

Arquitectura de computadoras

Diseño del banco de registro del procesador

Page 2: Banco Registros

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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