Está en la página 1de 5

estructura y

diseo de computadores
EDITORIAL REVERT, S. A.
interficie circuitera/programacin
DAVID A. PATTERSON JOHN L. HENNESSY
1
Cap. 5: El procesador: Camino de datos y control 323
Procesador
Control
Entrada
Compilador
Salida
Ordenador
Memoria
Unidad de proceso
Interficie
Evaluacin del
rendimiento
5
El procesador: Camino de
datos y control
5.1 Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
5.2 Construccin del camino de datos . . . . . . . . . . 329
5.3 Realizacin de un esquema sencillo . . . . . . . . . 336
5.4 Realizacin multiciclo . . . . . . . . . . . . . . . . . . . . 362
5.5 Microprogramacin: Simplicacin del
diseo del control . . . . . . . . . . . . . . . . . . . . . . . 383
5.6 Excepciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
5.7 Casos reales: Realizacin del Pentium Pro . . . . 401
5.8 Falacias y errores habituales . . . . . . . . . . . . . . . 403
5.9 Conclusiones nales . . . . . . . . . . . . . . . . . . . . . 405
5.10 Perspectiva histrica y lecturas adicionales . . . 407
5.11 Trminos clave . . . . . . . . . . . . . . . . . . . . . . . . . 410
5.12 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
En una materia fundamental,
ningn detalle es pequeo.
Proverbio francs.
Los cinco tipos de componentes de un computador
5.3 Realizacin de un esquema simple 337
Construccin de un
camino de datos
sencillo
Supngase que va a construirse un camino de datos a partir de las piezas
que se han visto en las guras 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
signica 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 instruc-
ciones 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 ujos 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 (gura 4.8 de la pgina 221), escoge entre diferentes
entradas segn el valor de la seal de control.
La parte del camino de datos encargada de la bsqueda de instruccio-
nes (mostrada en la gura 5.5 de la pgina 331), puede aadirse fcil-
mente a este nuevo camino de datos. En la gura 5.12 puede verse el
resultado obtenido. Este nuevo camino de datos tiene memorias separa-
Composicin de un camino de datos 5.1 Ejemplo
El camino de datos de las instrucciones aritmtico-lgicas (o tipo R) que apa-
rece en la gura 5.7 de la pgina 332 as como el de las instrucciones de
acceso a memoria de la gura 5.9 de la pgina 334 son muy parecidos, siendo
las principales diferencias las siguientes:
La segunda entrada de la ALU es, o bien un registro en caso de una instruc-
cin 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 gu-
ras 5.7 y 5.9. Ignore todo lo relacionado con el control de los multiplexores.
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 gura
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 (2
8
=256 entradas) y teniendo en cuenta que para muchas de
dichas combinaciones los valores de la salida no tienen importancia, ni-
camente se dan los valores de las salidas para aquellas entradas de la tabla
donde el control de la ALU debe tener un valor especco. Las diferentes
tablas de verdad que se irn viendo a lo largo de este captulo contendrn
nicamente aquellos subconjuntos de entradas que deban estar activa-
das, 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 pri-
mera la de la tabla de la gura 5.15, la seal de control de la ALU siem-
pre ser 010, independientemente del cdigo de funcin. Es decir, en este
caso, el cdigo de la funcin se considera indeterminado en esta la 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 optimi-
zarse y entonces pasar a su realizacin mediante puertas lgicas. Este pro-
ALUOp Campo de la funcin
Operacin
ALUOp1 ALUOp0 F5 F4 F3 F2 F1 F0
0 0 X X X X X X 010
X 1 X X X X X X 110
1 X X X 0 0 0 0 010
1 X X X 0 0 1 0 110
1 X X X 0 1 0 0 000
1 X X X 0 1 0 1 001
1 X X X 1 0 1 0 111
FIGURA 5.15 Tabla de verdad de los 3 bits de control de la ALU (tambin llama-
dos Operacin). Las entradas son ALUOp y el cdigo de funcin. nicamente se mues-
tran 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 codicacin 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.
352 Cap. 5: El procesador: Camino de datos y control

F
I
G
U
R
A

5
.
2
2
L
a

s
e
g
u
n
d
a

f
a
s
e

d
e

l
a

e
j
e
c
u
c
i

n

d
e

u
n
a

i
n
s
t
r
u
c
c
i

n

d
e

t
i
p
o

R

l
e
e

l
o
s

d
o
s

r
e
g
i
s
t
r
o
s

f
u
e
n
t
e

d
e
l

b
a
n
c
o

d
e

r
e
g
i
s
t
r
o
s
.

E
n

e
s
t
e

p
a
s
o
,

l
a
u
n
i
d
a
d

d
e

c
o
n
t
r
o
l

p
r
i
n
c
i
p
a
l

c
a
l
c
u
l
a

l
o
s

v
a
l
o
r
e
s

d
e

l
a
s

l

n
e
a
s

d
e

c
o
n
t
r
o
l

u
t
i
l
i
z
a
n
d
o

p
a
r
a

e
l
l
o

e
l

c

d
i
g
o

d
e

o
p
e
r
a
c
i

n
.

E
s
t
a
s

u
n
i
d
a
d
e
s

p
a
s
a
n

a

e
s
t
a
r

a
c
t
i
v
a
s

y

s
e
u
n
e
n

a

a
q
u
e
l
l
a
s

q
u
e

y
a

l
o

h
a
b

a
n

e
s
t
a
d
o

d
u
r
a
n
t
e

l
a

c
a
r
g
a

d
e

l
a

i
n
s
t
r
u
c
c
i

n
,

m
o
s
t
r
a
d
a

e
n

l
a

g
u
r
a

5
.
2
1
.
R
e
g
i
s
t
r
o
s
M
e
m
o
r
i
a
d
e

d
a
t
o
s
R
e
g
.

d
e
l
e
c
t
u
r
a

1
R
e
g
.

d
e
l
e
c
t
u
r
a

2
R
e
g
.

d
e
e
s
c
r
i
t
u
r
a
D
a
t
o

a
e
s
c
r
i
b
i
r
D
a
t
o

l
e

d
o
R
e
s
u
l
t
a
d
o
d
e

l
a

A
L
U
C
e
r
o
E
s
c
r
R
e
g
F
u
e
n
t
e
A
L
U
E
s
c
r
M
e
m
A
L
U
O
p
M
e
m
a
R
e
g
L
e
e
r
M
e
m
S
a
l
t
o
C
o
n
d
R
e
g
D
e
s
t
D
i
r
e
c
c
i

n
D
a
t
o

a
e
s
c
r
i
b
i
r
E
x
t
e
n
s
i

n
d
e

s
i
g
n
o
3
2
1
6
A
L
U
R
e
s
u
l
t
a
d
o
d
e

l
a

A
L
U
S
u
m
a
d
o
r
D
a
t
o

l
e

d
o

1
D
a
t
o

l
e

d
o

2
I
n
s
t
r
u
c
c
i

n
[
3
1
-
0
]
I
n
s
t
r
u
c
c
i

n

[
2
5
-
2
1
]
I
n
s
t
r
u
c
c
i

n

[
3
1
-
2
6
]
I
n
s
t
r
u
c
c
i

n

[
2
0
-
1
6
]
I
n
s
t
r
u
c
c
i

n

[
1
5
-
1
1
]
I
n
s
t
r
u
c
c
i

n

[
1
5
-
0
]
I
n
s
t
r
u
c
c
i

n

[
5
-
0
]
M
e
m
o
r
i
a

d
e
i
n
s
t
r
u
c
c
i
o
n
e
s
C
o
n
t
r
o
l
D
i
r
e
c
c
i

n
d
e

l
e
c
t
u
r
a
P
C
4
S
u
m
a
d
o
r
C
o
n
t
r
o
l
d
e

l
a
A
L
U
D
e
s
p
.

2
a

l
a

i
z
q
u
.
0
M
ux1
0
M
ux1
0
M
ux1
1
M
ux0

También podría gustarte