You are on page 1of 5

DAVID A. PATTERSON JOHN L.

HENNESSY

1
estructura y
diseo de computadores
interficie circuitera/programacin
EDITORIAL REVERT, S. A.

El procesador: Camino de
datos y control

Compilador

Interficie
Ordenador
Control

En una materia fundamental,


ningn detalle es pequeo.

Entrada
Memoria

Proverbio francs.
Evaluacin del
rendimiento

Unidad de proceso

Los cinco tipos de componentes de un computador


Salida
Procesador

5.1 Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . 324

5.7 Casos reales: Realizacin del Pentium Pro . . . . 401

5.2 Construccin del camino de datos . . . . . . . . . . 329

5.8 Falacias y errores habituales . . . . . . . . . . . . . . . 403

5.3 Realizacin de un esquema sencillo . . . . . . . . . 336

5.9 Conclusiones finales . . . . . . . . . . . . . . . . . . . . . 405

5.4 Realizacin multiciclo . . . . . . . . . . . . . . . . . . . . 362

5.10 Perspectiva histrica y lecturas adicionales . . . 407

5.5 Microprogramacin: Simplificacin del


diseo del control . . . . . . . . . . . . . . . . . . . . . . . 383

5.11 Trminos clave . . . . . . . . . . . . . . . . . . . . . . . . . 410


5.12 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410

5.6 Excepciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394


Cap. 5: El procesador: Camino de datos y control

323

5.3 Realizacin de un esquema simple

Supngase que va a construirse un camino de datos a partir de las piezas


que se han visto en las figuras 5.5, 5.7, 5.9 y 5.10. El ms sencillo de los
diseos intentar ejecutar todas las instrucciones en un solo ciclo. Esto
significa que ningn elemento del camino de datos puede utilizarse ms
de una vez por instruccin, de forma que cualquier recurso que se necesite
ms de una vez deber estar replicado. Por tanto, la memoria de instrucciones ha de estar separada de la memoria de datos. Aunque se necesite
duplicar algunas de las unidades funcionales, muchos de estos elementos
pueden compartirse en los diferentes flujos de instrucciones cuando los
caminos de datos individuales de las secciones previas se combinen.
Para compartir un elemento del camino de datos entre dos clases de
instrucciones diferentes se requiere que dicho elemento disponga de
mltiples entradas, as como de una seal de control que seleccione la
adecuada en cada instante. Esta seleccin se realiza normalmente
mediante un dispositivo llamado multiplexor, aunque su nombre ms
correcto quizs sera selector de datos. El multiplexor, introducido en el
captulo anterior (figura 4.8 de la pgina 221), escoge entre diferentes
entradas segn el valor de la seal de control.

Composicin de un camino de datos

5.1

Ejemplo

La segunda entrada de la ALU es, o bien un registro en caso de una instruccin aritmtico-lgica, o bien los bits de menor peso de una instruccin de
memoria con su signo extendido,
El valor guardado en el registro destino, o bien proviene de la ALU (para
instrucciones de tipo R) o de memoria (en caso de load).
Determine cmo combinar ambos caminos de datos utilizando para ello
multiplexores y sin duplicar aquellos elementos que sean comunes en las figuras 5.7 y 5.9. Ignore todo lo relacionado con el control de los multiplexores.

La parte del camino de datos encargada de la bsqueda de instrucciones (mostrada en la figura 5.5 de la pgina 331), puede aadirse fcilmente a este nuevo camino de datos. En la figura 5.12 puede verse el
resultado obtenido. Este nuevo camino de datos tiene memorias separa-

337

Construccin de un
camino de datos
sencillo

El camino de datos de las instrucciones aritmtico-lgicas (o tipo R) que aparece en la figura 5.7 de la pgina 332 as como el de las instrucciones de
acceso a memoria de la figura 5.9 de la pgina 334 son muy parecidos, siendo
las principales diferencias las siguientes:

Para combinar ambos caminos de datos y usar un nico banco de registros y


una sola ALU, la segunda entrada de sta ha de soportar dos tipos de datos
diferentes, adems de dos posibles caminos para el dato a almacenar en el
banco de registros. De esta manera, se coloca un multiplexor en la entrada de
la ALU y un segundo en la entrada de datos del banco de registros. La figura
5.11 muestra este nuevo camino de datos.

Respuesta

342

Cap. 5: El procesador: Camino de datos y control

seales de control de la ALU. Debido a que la tabla de verdad es muy


grande (28 = 256 entradas) y teniendo en cuenta que para muchas de
dichas combinaciones los valores de la salida no tienen importancia, nicamente se dan los valores de las salidas para aquellas entradas de la tabla
donde el control de la ALU debe tener un valor especfico. Las diferentes
tablas de verdad que se irn viendo a lo largo de este captulo contendrn
nicamente aquellos subconjuntos de entradas que deban estar activadas, eliminando aquellos cuyos valores de salida sean indeterminados.
Este mtodo tiene un inconveniente que se analizar en la seccin C.2
del Apndice C.
Debido a que en muchos casos algunos valores de las entradas no son
importantes, se pretende que sean indeterminados. Un trmino de este
tipo (representado en la tabla mediante una X en la columna de entrada
correspondiente) indica que la salida es independiente del valor de dicha
entrada. Por ejemplo, cuando el campo ALUOp vale 00, caso de la primera fila de la tabla de la figura 5.15, la seal de control de la ALU siem-

ALUOp

Campo de la funcin
Operacin

ALUOp1

ALUOp0

F5

F4

F3

F2

F1

F0

010

110

010

110

000

001

111

FIGURA 5.15 Tabla de verdad de los 3 bits de control de la ALU (tambin llamados Operacin). Las entradas son ALUOp y el cdigo de funcin. nicamente se muestran aquellas entradas para las cuales la seal de control de la ALU tiene sentido. Tambin
se han aadido algunas entradas cuyo valor es indeterminado. Por ejemplo, el campo
ALUOp no utiliza la codificacin 11, de forma que la tabla de verdad puede contener las
entradas 1X y X1 en vez de 10 y 01. Tambin, cuando se utiliza el cdigo de funcin, los 2
primeros bits (F5 y F4) de dichas instrucciones son siempre 10, de forma que tambin se
consideran indeterminados y se reemplazan por XX en la tabla de verdad.

pre ser 010, independientemente del cdigo de funcin. Es decir, en este


caso, el cdigo de la funcin se considera indeterminado en esta fila de la
tabla de verdad. Ms tarde se vern ejemplos de otro tipo de trminos
indeterminados. Si no se est familiarizado con este tipo de trminos,
vase el Apndice B para mayor informacin.
Una vez que se ha construido la tabla de verdad, sta puede optimizarse y entonces pasar a su realizacin mediante puertas lgicas. Este pro-

Memoria de
instrucciones

Instruccin
[31-0]

Direccin
de lectura

Instruccin [15-0]

Instruccin [15-11]

Instruccin [20-16]

Instruccin [25-21]

Instruccin [31-26]

0
M
u
x
1

Extensin
de signo

Dato
ledo 2

Dato
ledo 1

Registros

Instruccin [5-0]

16

Dato a
escribir

Reg. de
escritura

Reg. de
lectura 2

Reg. de
lectura 1

RegDest
SaltoCond
LeerMem
MemaReg
Control ALUOp
EscrMem
FuenteALU
EscrReg

32
Control
de la
ALU

0
M
u
x
1

Desp. 2
a la izqu.

ALU Cero
Resultado
de la ALU

Resultado
de la ALU

Sumador

Dato a
escribir

Dato
ledo
Memoria
de datos

Direccin

1
M
u
x
0

FIGURA 5.22 La segunda fase de la ejecucin de una instruccin de tipo R lee los dos registros fuente del banco de registros. En este paso, la
unidad de control principal calcula los valores de las lneas de control utilizando para ello el cdigo de operacin. Estas unidades pasan a estar activas y se
unen a aquellas que ya lo haban estado durante la carga de la instruccin, mostrada en la figura 5.21.

PC

Sumador

0
M
u
x
1

352
Cap. 5: El procesador: Camino de datos y control

You might also like