The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

arquitectura de computadoras morris mano

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by sosavalealbertoa, 2021-05-20 13:11:21

arquitectura de computadoras morris mano

arquitectura de computadoras morris mano

SEc, 8-9 DATOS DEL PUNTOFLOTANTE345

puedeusarsepara expresarla adición del número decimal almacenadoen

q.l registroA con el complementode 10 del número decimal en el registro

B. B en este casodenotael complementode 9 del númerodecimal. Los des-
plazamientosaritméticos son aplicablestambién a los númerosdecimales
exceptoque un desplazamientoa la izquierda correspondea la multiplica-
ción por 10 y un desplazamientoa la derechaa una división por 10. El
signo-complementode 9 es similar al signo complementode 1 5' la repre-
sentación sigrro-magnituden ambas representacionesde radicales tienen

p r o c e d i m i e n t oas r i t m é t i c o ss i m i l a r e s .
Si la adopción de símbolossimilares para Ias operacionesbinarias y

decimalesno fueran aceptables,sería necesarioformular símbolosdiferen-
tes para las operacionescon datos decimales.Algunas veces,las operacio-
nes de registro-trasferenciase usan para simular el sistema por medio
de un programade computador.En tal caso los dos tipos de datos pueden
especificarsepor declaracionescomo se hace en los lenguajesde progra-

mación.

8-9 DATOS DEL PUNTO-FLOTANTE

La representacióndel punto flotante de los númerosnecesitados registros.

El primero representaun número con signo de punto fijo y el segundola

posición del punto del radical. Por ejemplo, Ia representacióndel número

decimal + 6132.789es de la siguientemanera:

sisnol punto decimalinicial signo_l
I
E

primerregistro s e g u n d or e g i s t r o

(coeficiente) (exponente)

El primer registro tiene un 0 en la posición del flip-flop más significativo
para denotar un más. La magnitud del número se almacena en un código

binario de 28 flip-flops, con cada dígito decimal ocupando 4 flip-flops. El
número en el primer registro se considera una fracción, de manera que el

punto decimal en el primer registro se fija a la izquierda del bit más signi-
ficativo. El segundo registro contiene el número decimal + 4 (en código
binario) para indicar que Ia posición actual del punto decimal es cuatro
posiciones, decimales a la izquierda. Esta representación es equivalente
al número expresado como una fracción multiplicada por 10 a una potencia

dada, es decir, a 6132.789se representa como + .6132789X 10+4. Debido a
esta analogía, el contenido del primer registro se llama coeficiente (y al-
gunas veces mantisa o parte fraccionaria) y el contenido del segundo re-
gistro se llama exponente (o característica).

La posición del punto decimal actual, puede estar por fuera del rango
de los dígitos del registro del coeficiente. Por ejemplo, asumiendo una re-
presentación de signo-magnitud, el sigrriente contenido:

..

ii:

,;j

3 4 6 L o G I C AD E T R A S F E R E N C IEAN T R ER E G I S T R o S CAP. 8

02601000 E
coeficiente
xponente

representa el número + .2601000X10-a : * .00002601000I0o,s cualesprodu-
cen cuatro ceros de más a la izquierda.Por otra parte, el siguienteconte-
nido:

t2601000

coeficiente exponente

representa el número - .2601000X10t2: - 260100000000lo, cual produce cin-

co ceros de más a la derecha.

En estos ejemplos, se asume que el coeficiente es una fracción de pun-
to fijo. Algunos computadores lo asumen como un entero, de manera que el
punto decimal inicial en el registro del coeficiente está a la derecha del
dígito menos significativo.

Otra disposición usada para el exponente es quitar del todo su bit de
signo y considerar el exponente como "polarizado". Por ejemplo los núme-
ros entre 10+4e y 16-;o pueden representarse con un exponente de dos
dígitos (sin el bit de signo) y una polarización de 50. El registro del expo-
nente siempre contiene el número E + 50, E es el exponente actual. La sus-
tracción de 50 del contenido del registro dará el exponente deseado. En
esta forma, los exponentes positivos se representan en el registro en el
rango de números entre 50 a gg. La sustracción de 50 dará los valores
positivos desde 00 hasta 49. Los exponentes negativos se representan en

el registro en el rango de 00 hasta 49. La sustracción de 50 da los valores
negativos en el rango de - 50 a - 1.

Un número binario de punto flotante se representa de manera similar
con dos registros, uno para almacenar el coeficiente y el otro para el expo-
nente. Por ejemplo el número + 1001.110puede representarsede la siguien-
te manera:

signo¡- puntobinarioinicial r SIEI]O
tt t

0100111000

coeficiente exponente

El registrodel coeficientetiene 10 flip-flops: una para el signoy nuevepa-
ra la magnitud. Asumiendoque el coeficientees una fracción de punto
fijo, el punto binario actual es cuatro posicionesa la derecha,de manera
que el exponentetiene el valor binario -| 4. EI número se representaen
binario como .1001110001X0r00 (recuérdeseque 10roo en binario es
equivalenteal decimal2a).

SEC.8.9

Ill punto decimal se interpreta en la representaciónde un
ia siguiente manera:

c.r-

donde c representa el contenido del registro coeficiente y e el contenido
del registro exponente. El radical (base) r y la posición del punto radical
en el coeficiente se asumen siempre. Considéresepor ejemplo, un computa-
dor que asume representación de ettteros para el coeficiente y base 8 para

el exponente.El número octal + 17.32: + 1132X8''2 se verá como sigue:

srgno srgno
t f

l-0tr 7 3 2 l

Puntooctal inicial I

coeficiente exponente

C u a n d o l a r e p r e s e n t a c i ó no c t a l s e c o n v i e r t e a b i n a r i a , e l v a l o r b i n a r i o d e l
registro se convierte en:

000llll0ll0l0 1000010

coeficiente exponente

Un número de punto flotante se dice que es normalizado si la posición
más significativa del coeficiente contiene un dígito diferente de cero. De

esta forma el coeficiente no tiene ceros por delante y contiene el máximo
número posible de dígitos significativos. Considérese por ejemplo un
registro coeficiente que puede acomodar cinco dígitos decimales y un signo,
El número + .00357X 103: 3.57 no es normalizado porque tiene dos ceros
por adelante y el coeficiente no normalizadr¡ tiene una precisión hasta de
tres dígitos significativos. El número puede normalizarse desplazando el
coeficiente dos posiciones a ia izquierda y disminuyendo el exponente en
2 para obtener: +.35700X 10t :3.5700, el cual tiene una precisión hasta

cinco dígitos significativos.
Las operaciones aritméticas con una representación de números de

punto flotante son más complicadas que las operaciones aritméticas con
números de punto fijo y su ejecución se demora más tiempo y requiere ma-
teriales más complejos. Sin embargo, la representación de punto flotante
es más conveniente debido a los problemas de graduación envueltos en las
operaciones de punto fijo. Muchos computadores tienen una capacidad
interna para realizar operaciones aritméticas de punto flotante. Aquellos
que-n0 tienen esta facilidad se programan usualmente para operar de este

mooo.
Sumar o restar dos númert-rsen representación de punto flotante re-

quiere primero una aiineación del punto del radical, ya que ia parte expo-

3 4 8 L o G I c AD ET R A S F E R E N CEINAT R ER E G I S T R o S cAP. 8 I

I

I

nencial debe hacerse igual antes de que los coeficientes se sumen o resten.

Esta alineación se hace desplazandoun coeficientemientras que su expo-
nente se ajusta hasta que sea igual al otro exponente. La multiplicación o
división de punto flotante no requiere aiineación del punto del radical. El
producto puede formarse multiplicando los dos coeficientes y agregando
los dos exponentes. La división se logra de la división con los coeficientes
y la sustracción del exponente del divisor menos el exponente del dividendo.

8 - 1 O D A T O SN O N U M E R I C O S

Los tipos de datos considerados hasta ahora representan números que el
computador usa como operandos para las operaciones aritméticas. Sin
embargo, un computador no es una máquina que sólo almacena numeros
y hace aritmética a alta velocidad. A menudo, un computador manipula
símbolos en vez de números. La mayoría de programas escritos para los

usuarios de computador están en forma de caracteres, es decir, un con-
junto de símbolos que abarcan letras, dígitos y varios caracteres especia-
Ies. Un computador es capaz de aceptar caracf,eres 1en código binario),
almacenarlos en la memoria y realizar operaciones con los caracteres tras-
feridos a un componente de salida. Un computador puede funcionar como
una máquina manipuladora de una cadena de caracteres. Por cadena de
caracteres se implica una secuencia finita de caracteres escritos uno
despuésde otro.

Los caracteres se representan en los registros del computador por
medio de un código binario. En la Tabla 1-5, se listaron 3 códigos de ca-
racter diferentes de uso común. Cada componente del código representa
un. carácter y consiste de seis, siete u ocho bits dependiendo del código.
El número de caracteres que pueden ser almacenados en un registro
depende de la longitud del registro y el número de bits usados en el códi-
gc. Por ejemplo, un computador con una longitud de palabra de 36 bits que
usa un código de 6 bits y puede almacenar seis caracteres por palabra. Las
cadenas de caracteres se almacenan en la memoria en lugares consecuti-
vos. El primer carácter en la cadena puede ser especificado a partir de la
dirección de la primera palabra. El último carácter de la cadena puede
encontrarse a partir de la dirección de la última palabra, o por especifica-
ción de una cuenta de caracteres, o por una marca especial que designa el
final de la cadena de caracteres. La manipulación de caracteres se hace en
los registros de la unidad de proceso con cada carácter representando una
unidad de información.

Otros símbolos diferentes pueden ser almacenados en los registros del
computador en forma de código binario. Un código binario puede ser adop-
tado para representar notas musicales para la producción de música por
computador. Códigos binarios especialei rotr nécesarios para representar
patrones de lenguaje para un sistema automático de reconocimiento de
lenguaje hablado. La representación de caracteres por medio de una ma-
triz de puntos en pantalla CRT (tubo de rayos catódicos) requiere una re-
presentación en código binario por cada símbolo que se representa. La
información de campo para supervisar la operación de un proceso contro-

sEc.8-10 D A T O SN O N U M E R I C O S3 4 9

lado o sistema de distribución de potencia usa información binaria codi-
tablero dó ajedrez y las fichas para Ilevar a cabo
ficada predeterminada. El requiere alguna forma de representación de la
un juego por computador

información en código binario.
Las operaciones hechas principalmente con datos numéricos son tras-
f"."rr"iur, Iógica, desplazamiéntos y decisiones de controi. Las operaciones
información binaria codificada en algún
á. Jru.r".unáu pr."det preparar la trasferir dicha información de y a las
order, ,eqrrerido por la mémoria y
unidades externas. Las operaciones lógicas y de desplazamiento permiten
de realizar tareas de manipulación de datos para ayudar
,-rrru
en el"upprouc"eidsaodde tomar decisiones.
Las microoperaciones lógicas son muy útiles para manipular bits indi-

viduates almacénados en un registro o un grupo de bits que conforman un
símbolo binario-codificado dadó. Las operaciones lógicas pueden cambiar
uu1o.". de bits, eliminar un grupo de bits, o agregar nuev,osvalores de bits
en un registro. Los siguientes ejemplos muestran cómo los bits de un re-
gistro se Lanipulan poi lógi"a y microoperaciones de-desplazamiento. como
ina funció., de opeündos de iógi"a que están prealmacenados en la me-

moria.
La microoperación oR puede ser usada para poner a uno un tllt o un

grupo seleccionado de bits en un registro. Las relaciones de Boole ¡ + l: I
0: r determinan que la variable binaria r aplicada a una compuerta
i ,'+ u n 1 , p r o d u " " . , l 1 i n d e p e n d i e n t e m e n t ed e l v a l o r b i n a r i o d e r ; p e r o ,
bR
c u a n"doo. , s e a p l i c a a u n a c o m p u e r t a O R c o n u n 0 , n o c a m b i a r á e l v a l o r d e ¡ '
Así, al aplióar a una compuerta OR un bit dado A, de un registro con un
t, ós po.ibte poner a 1el 6lt a, sin tener en cuenta el valor previo. Consi-

dérese el siguiente ejemplo específico:

0l0l 0101 A
llll 0000 B
llll 0l0t A<_ A\/B

El operando lógico en B tiene unos en las cuatro posiciones de los bits de
Áu'ár orden. Ñ aplicar a una compuerta OR este valor con el valor pre-
senie de A, es posible poner a 1 los cuatro bits de mayor orden de A pero
dejando los cualro bits de menor orden sin cambio. Así. Ia microoperación
oR puede ser usada para establecer selectivamente los bits de un registro.

La operación AND puede ser usada para borrar u1 bi-t o un grupo se-
leccionado clebits de un registro. Las relaciones de Boole ¡.0:0 y ¡'1
: ¡ implican que la variable binaria f una vez aplicadacon-un 0 a una com-
puerta iXO pioa.,cirá un 0 independientemente del valor binario de ¡; pe-
io, .rruttdo se aplica con un I a una compuerta AND- no cambiará el valor
de r. tln bit A¡ dado en el registro A puede ser llevado a 0 si se aplica con
un 0 a una compuerta AND. considéreseun operandológico B: 0000 1111.
Cuando este operando se aplica conjuntamente con los contenidos de un
registro a una compuerta AÑD, borrará los cuatro bits de mayor orden del
r"gi.t.o pero dejarán los cuatro bits sin cambiar:

, :, ' j

3 Ñ L o G I c A D E T R A S F E R E N c IEAN T R ER E G I S T R o S CAP. 8

0l0l 0l0l A
0 0 0 0l l l l B
0000 0l0l A <_A A B

La microoperación AND puede usarse para borrar selectivamente los bits
de.un registro. La operación AND se llama algunas veces una operación de
moscora porque enmascara o remueve todos los unos de una porción selec-
cionada de un registro.

La operación AND seguida de una operación oR puede usarse para
cambiar urr t¡it de un grupo de bits de un valor dado a un valor .,rr"uo d"-
seado.Esto se hace para enmascararprimero los bits y luegoaplicar a una
compuerta OR el nyevo valor. Por ejemplo, supóngas" qrre ,r' registro A
contiene ocho bits,0110 0101.Para remplazar los cuatro bit. d" *áyo. n._
den por el vaior 1100, se enmascara primero los cuatro bits que no se
r e q uie r e n :

0lr0 0t0l A
B1
0 0 0 0l l l l A<-Af¡Bl

0000m

y luego se agregael nuevo valor:

00000t0l A
I 1000000 B2
t r000101 A<-A\ut Bl

La operaciónde máscaraes una microoperaciónAND ¡, la operaciónde in-
serción es una microoperaciónOR.

La-microoperaciónxoR (oR-exclusiva) puede usarsepara complemen-
tar'n bit o un grupo seleccionado de bits de un registro. ias relaciones de
Boole¡o 1:x'y ¡ e 0:¡ implicanque lavariábtebinariarpuedeser

complementada cuando se aplica con un 1 a una compuerta oR-exclusiva
y si es con un 0 permaneceinalterable. Aplicando un .óio bit de un resistro
con un I a una compuerta oR-exclusiva es posible complementar él bit
s e l e c c i o n a d o .C o n s i d é r e s ee l e j e m p l o n u m é r i c o :

I lOt 0l0l A
llll 0000 B

00100101 A<-A@B

Los cuatro bits de mayor orden de A se complementan despuésde la opera-
ción oR-exclusiva con el operando B. L; microoperacién oR-exclusiva
qy"qe usarse para complementar selectivamente lós bits de un registro.
Si el operando B tiene s-olounos, Ia operación oR-exclusiva complenrerrta.¿
todos los bits de A. Si
puerta OR-exclusiva, el contenido de A se aplica consigomismo a una com-
se borrará el registroya que ¡ O ¡ : 0:

s E c ,8 - 1 0 D A T O SN O N U M E , a t c o s3 5 ! I

0l0t 0l0l A I
0 1 0 10 l 0 l
00000000 A .\gr.
A*A@A
j
E l r a l o r d e l g s b i t s i n d i v i d u a l e s d e u n r e g i s t r r lp u e d e - e r l e t e r m i n a d r '
enmascarando primero todos los bits excepto aquel en cuestión l' luego ,q1
comprobando si el registro es igual a 0. Supóngaseque se requiere deter-
minar si el bit 4 en el registroA es 0 ó 1: ,{

l0lx0l0 A . JI

0001000 B a
000x000 A<-BAA
:
EI bit marcado r puedeser 0 ó 1. Cuando todos los demásbits estan enmas-
carados con el operando en B, el registro A conte¡drá sólo cerc's'i ei bit 4 '¡i¡

hubiera sido 0. Si ¡it 4 originalmente fue un 1. este bit permaneceráen
1 . C o m p r o b a n d o s i "et l c o n t e n i d o d e A e s 0 ó n o s e d e t e r m i n a s i e l b i t c u a t r o

fue0ó1.
Si cada bit del registro debe comprobarse para 0 ó 1, es mas convenlen-
te desplazar el registio a la izquierda y trasferir el bit de mavor orden,o
t"gi"tt" especia"lde 1 bit que comúnmente se llama el flip-ilop del bit de
";;".;;;.". Después de cada dósplazamiento, el arrastre puede comprobarse
si es 0 ó 1 y se toma una decisión dependiendo del resultado.
Las operaciones de desplazamiento son útiles para agrupar o disper-
sar informlción binaria codificada. Agrupar información binaria tal como
caracteres es una clperación que une dos o más caracteres ell una palabra'
Dispersar es la operación inversa que Separados o_más caracteresalma-
.*iaor en una pulrbr^ a caracteres individuales. considérese la agrupa-
. i ¿ " ¿ " d í g i t o s É O C q n " s e i n t r o d u j e r o n p r i m e r o c o m ( , . c a r a c t e r e sA S C I I '
los dígitos 5 y 9 se.obtiene de la Tabla
El código áe caracter"r ,qSCII para se coloca un 0 en la posición de mayor
i-S. Cuáu uno contiene siete bits v
l carácter 5 se trasfiereal registro
orden como se muestra a continuación. E mayororden no tienen ningún uso
g a q u e s e d e s e n m a s c a r a n .E l a g r u -
i, V na al registro B. Los cu a t ro bits de
pa ra represenr ac ó nB DC , de ma ner
"uf i
pá-i*tá ¿e ¿os dígitos BDC en el registro A consiste en desplazarel re-
gi.tro A cuatro ,r""é, u la izquierda (con ceros colocados en las posiciones
áe bits de menor orden) y luego aplica'do a una compuerta OR el conteni-

do de los registros: AB

ASCII 5 : 0 0 u 0 1 0 1 0 0 1 1l 0 0 l : A S C I I9

AND con00001111 00000l0l 0000l00l

DesplazaAr a la izquierda 01010000
c u a t r 0v e c e s 0 l 0 l l 0 0 l : B C D5 9

A<-_A\/ B

3 5 2 L o G I c A D E T R A S F E R E N C IEAN T R ER E G I S T R o S cAP. 8

una operación de desplazamiento con un 0 colocado en el bit del extremo

se considera una microoperación de desplazamiento lógico.

La operación binaria disponible en un registro durante operaciones
lógicas se llama una palabra lógica. una palabra lógica se inrerprera como
una cadena de bits en oposición a una cadena de caracteres o datos numé-
ricos. cada bit en una palabra lógica funciona exactamente de la misma
manera que otro bit cualquiera; en otras palabras, la unidad de informa-
ción de una palabra Iógica es un bit.

8 - 1 1 C O D I G O SD E I N S T R U C C I O N

La organización interna de un sistema digital se define por los registros
que usa y la secuencia de microoperaciones que realiza con datos almace-

nados en los registros. En un sistema digital para propósitos especiales, ra

secuencia de microoperaciones se fija y el sistema ejecuta Ia misma tarea

específicauna y otra vez. Un computador digital es un sistema digital para
propósitos generales capaz de ejecutar varias operacionesy además, puede

recibir instrucciones sobre Ia secuencia específica de operacion". qrr" debe
realizar. El usuario de un computador puede controlar el procesopór medio
de un programü, es decir, un conjunto de instrucciones qL" I
las
operaciones, operandos y la secuencia en la cual el procesam"ie.pneto"iftiiceanne que

ocurrir. La tarea de procesamiento de datos puede ser alterada simplernén-

te especificando un nuevo programa con diferentes instrucciones o espe-
cificando las mismas instrucciones con datos diferentes. Los códigos de
instrucción, conjuntamente con los datos, se almacenan en la memoria.
Ei control lee cada instrucción de Ia memoria y la localiza en el registro de
control. Ei control interpreta entonces la instrucción y procede a ejecu-
tarla emitiendo, una secuencia de funciones de'control. Cada compuiador
para propósito general tiene su propio repertorio único de instrucciones.

La habilidad de almacenar y ejecutar instrucciones, el concepto de pro-
grama almacenado, es la propiedad más importante de un óomputádor
para propósito general.

Lln código de instrucción es un grupo de bits que Ie dice al computador
cómo realizar una operación específica. Por lo general se divide en dos
partes, cada una conteniendo su propia interpretación particular. La par-
te inás básica de un código de instrucción es su parte operativa. Er códígo

de operación de una instrucción es un grupo de bits que define una opera-
ción tal como sumar, restar, multiplicar, desplazar y complementar. El
r:onjunto de operacionesde máquina formulados por un computador depen-
de del procedimiento que se intenta Ilevar a cabo. El número total de bpe-
raciones así obtenidas deterrnina'el conjunto de operaciones de máquina.
El número de bits requeridos para la parte de operación del código de ins-
trucción es una función del número total de operacionesusadas. Debe con-
sistir de por lo menos n bits para 2" (o menos) operaciones dadas dife-
rentes. El diseñador asigna una combinación de bits (un código) a cada
operación. La unidad de control del computador se diseña para aceptar

esta configuración de bits en el tiempo adecuado en una secuencia y su-
ministrar las señales de comando adecuadas, a los destinos dete¡minados,
para poder ejecutar la operación específica. Como ejemplo específico, con-

s E c . 8 -11 C O D I G O SD E I N S T R U C C I O N3 5 3 l

sidérese un computador que usa 32 operaciones distintas, una de ellas i
siendo ,r.,u op"ru"ión de suMA. El código de operación puede consistir de
cinco bits con una configuración de bits 10010asignada a la operación de I
suMA, cuando el código de operación 10010es detectado por la unidad de
control, se aplica una señal de comando a un circuito sumador para sumar 1

dos números. +
La parte de operación de un código de instrucción especifica la opera-

ción qué se va a realizar. Esta operación debe ejecutarse con algunos datos
usualmente almacenados en los registros del computador. Un código de ri
instrucción, por tanto, debe especificar no solamente la operación sino tam-
bién los registros donde los operandos se encuentran de la misma manera ü
que el regiitro donde el resultado se almacena. Estos registros deben es-
pecificarsé en un código de instrucción de dos maneras. Se dice que un $
iegistro se especifica explícitamente si el código de instrucción contiene
biís especialei para su identificación. Por ejemplo, una, instrucción puede ,N
contenór no solámente una parte de operación sino también una dirección $
de memoria. Se dice que lrna dirección de memoria especifica explícita-
mente un registro de memoria. Por otra parte un registro se especifica fl
implícitamenie si éste se incluye como parte de la definición de ia opera-
ción, es decir, si el registro está implícito en la parte operativa del código. H

Formatos de códigos de instrucción gH

El formato de una instrucción usualmente se dibuja en un recuadro rectan- u

gular simbolizando los bits de la instrucción a medida que ellos aparecen 3
én la. palabras de la memoria o en un registro de contro,l. Los bits de la
instrucción se dividen algunas veces en grupos que subdividen la ins- i
trucción en partes. A cada grupo se le crea un nombre simbólico tal como
parte del cóáigo de operación o parte de una dirección. Las diferentes par- \

tes especifican diferentes funciones para la instrucción y cuando se mues- 'i

tran juntas constituyen un formato de código instrucción. : á' - i
considérese por ejemplo, los tres formatos de código instrucción espe-
cificados en la Figura 8-I2. El formato de instrucción en (a) consiste de un
código de operación que implica un registro en la unidad procesadora.
Se puede usát patu especificar operaciones tales como "borrar el registro
del procesador", o "completar un registro", o "trasferir el contenido de un
regiÁtro a un segundo registro". El formato de instrucción en (b) tiene un

cóáigo de operación seguido de un operando. Este se llama una instruc-

ción de opérando inmediato, porque el operando sigue inmediatamente
después dé la parte del código de operación de la instrucción. Se puede
operaciones tales como "sumar el operando al con-
,r.ui puru
tenidó pres"tepnetceifdi"eul. registro" o "trasferir el operando al registro proce-
sador", o puede especi?icar cualquier otra operación a ejecutar entre el
contenido á" ,r.t registto y un operando dado. El formato de instrucción
especificado en la Figura 8-12(c) es similar al de (b) excepto que el ope-
."ndo debe extraerse de la memoria al lugar especificado por la parte de

dirección de la instrucción. En otras palabras, la operación especificada
por el código de operación se hace entre un registro procesador y un ope-

Código-operacirin (a) Implícito

('ódrgooperacion Operand" (b) Operandc inmediato
I

(-ódigo-operacion Dirección (c) Direccróndirecta
I a"f operanclo

Figura 8-12 'Ires fbrmatos posibles de instrucción

rando que puede almacenarseen Ia memoria de alguna manera. La direc-
ción de este operi¡ndoe' la memoria se incluye en ra instrucción.

Asúmase quc se trene una unidad de memoria con g bits por palabra
-v que un código de operación contiene 8 bits. La Iocalización de ios tres
códigosde la insrrucción en la memoria se dibuja en la Figura g-13.En Ia
dirección 25 se tir:ne una instrucción implícita que ..p".Ifi.u una opera-
ción: "trasferir el contenido del registro procesadorr? ál registro pro"".u-
dor 4". Esta operaciónpuede ser simbolizada por la proposición:

A<-R

En las direccionesde memoria 35 y 36 se tiene una instrucción de ope-
¡ando inmediato que ocupa dos palabras. La primera palabra en la dirección
35 es el código de operación para la instrucción "tiasfiera el onerandoal
r e g i s t r o 4 " , s i m b o l i z a q l oc o m o :

A. operando

Iil operando ¡nismo se almacena inmediatamente después del código de
lpeiación en la dirección 36.

En las direcciones45 y 4G, hay una instrucción de dirección directa
que especificala operación:

A -- Mldirecciónl

Esta simboliza una operación de trasferencia de memoria de un operando,
e l c u a l s e e s p e c i f i c ap o r l a p a r t e d e d i r e c c i ó n d e l a i n s t r u c c i ó n . L a ' s e g u n d á
palabra de la instrucción en Ia dirección 46 contiene la dirección y su-valor
es el binario 70. Por tanto, el operandoa trasferirseal registroA, es el al-
macenadoen la dirección T0 y su valor se muestra co-o él binario 2g. Nó-
tese que la instrucción se almacena en ra memoria en alguna dirección.
Esta instrucción tiene
rando. Para evitar la una parte de dirección que da I a dirección 'd, el ope-
confusión al decir la palabr a . .dirección ta ntas

354

Directión -- - Memoria O p e r a ci r , n q
cod-oPer: i 4*R
{ii
cod-oper: 2 A. Operando
operando: 44' fi
0010100
ü
cod-oPer: 3 A. MlDirecciónl
dirección - 70 i
0 r0 0 0 1l 0
,r
0 0 0 1I 1 0 0 operando: 28' .T

Figura 8-13 Representación de Ia memoria de instrucciones I
d
veces,es costumbre referirse a la dirección de memoria como una "loca- '7
lización". Así la instrucción de dirección directa se almacena en las locali-
zaciones45 y 46. La dirección del operando en la 46 y' el operando está r
disponible en la 70.
!
De debe tener en clrenta que la colocación de las instrucciones en la
memoria como se muestra en la Figura 8-13 es una de las muchas alterna- .-l
t i v a s . S o l a m e n t e l o s c o m p u t a d o r e sm u y p e q u e ñ o st i e n e n p a l a b r a s d e 8 b i t s . t'-
Los computadores de gran tamaño pueden tener de 16 a 24 bits por palabra.
En la mayoría de los computadores Ia instrucción completa puede agrupar- ril
Seen una palabra, y en algunos aun, se pueden agrupar dos o más instruc-
cionesen una sola palabra de memoria.

Los fbrmatos de instrucción mostrados en la FiSrra 8-12 son tres de
los muchos formatos posibles que pueden fbrmularse para computadores
d i g i t a l e s . S e p r e s e n t a n a q u í c o m o u n e j e m p l o y n o d e b e n c o n s i d e r a r s ec o -
mo las únicas posibilidades. Los Capítulos 11 y 12 presentan y analizan
otras instruccionesy formatos de códigosde instrucción'

En este punto, se debe reconocerla relación entre una operocióny una
microoperaciónde la manera aplicada a un computador digital. Una opera-
ción se especificapol una instrucción almacenada en la memoria de un
computador. Es un código binario que dice al computador que realice una
o p e r á c i ó n e s p e c í f i c a .L a u n i d a d d e c o n t r o l r e c i b e l a i n s t r u c c i ó n d e I a m e -
moria e interpreta los bits del código de operación. Esta envía entonces
u n a s e c u e n c i a d e f u n c i o n e s d e c o n t r o l p a r a r e a l i z a r m i c r o o p e r a c i o n e se n
los registros internos del computador.

pár cada instrucción en la memoria, que especificauna operación, el
c o n t r o l e n v í a u n a s e c u e n c i ad e m i c r o o p e r a c i o n e qs u e S e n e c e s i l a np a r a l a
configuración de los componentes de un código de operación específico.

3 5 6 L o G I c A D E T R A S F E R E N C IEAN T R ER E G I S T R o S CAP. 8

Una operación es especificada por el usuario en la forma de instrucción al
computador. LI.a microoperación es una operación elemental que
tringida por los materiales disponibles dentro der computador. está res_

Macrooperaciones versus microoperactones

Hay ocasionesen que es conveniente expresar una secuencia de micro-
operacionesen una sola proposición. t'na proposición que requiere una
secuencia de microoperaciones para su configuración se liama una macro-
operacítin- Una proposición en el método de notación de trasferencia entre
registros, que define una. instrucción, es una proposición de macroopera-
ción, aunque las proposiciones de macroop"ru.ü.r de iguar manera pueden
usarse en otros casos. El método de trasferencia entre registros puede
usarse para definir la operación especificada por una instrucción de com-
putador, ya que todas las instruccioner
trasferencia entre registros, para que ést"a.p.ú"litfiim.aan alguna operación de
sea"ejecutáda por los
componentes del computador.

Al observar una declaración de trasferencia entre registros aislada-
mente no se puede decir si é.starepresenta una macro o microoperación ya
que ambos tipos de proposiciones denotan alguna proposición d^etrasferen-
cia entre registros. La única manera de distinguir^ entre ellas es reconocer
a partir del contenido y los componentes internos del sistema en cuestión,
si la proposiciónse ejecuta con una función de control o no. Si la proposi-
ción puede ser ejecutada con una función de control sencilla, ésta répre-
senta una microoperación.
Si la ejecu ción de la p^dro" posición por.medió de
los componentes, requiere d.s o más funcior-,". control, .e io*u.á iu
proposición como una micr ooperación. Solamente
si se conocen las restric_
ciones de. los componentes del sistema se puede contestar esta pregunta.
considérese, por ejemplo, la instrucción
por medio de la proposición: de la Figura g-t3 simbolizada

A . operando

Esta proposición es ,na macrooperación porque ésta especifica una ins-
trucción de computador. para ejecutar la instrucción la ünidad de control

debe emitir funciones de control para la siguiente secuencia de microone_
raciones:

1. Leer el código de operaciónde la dirección 35.
2' Trasferir el código de operación al registro de control.
3. El control decodifica el código de operación y los reconocecomo una

instrucción de operando inmediato, d" -unéra que lea la operación
de Ia dirección 86.

4. El operando leído de la memoria se trasfiere al registro A.

La microoperación del paso 4 ejecuta la instrucción, pero los pasos 1 a 3
son ¡ecesarios antes de ella para que el control interprete la instrucción

en st.

1
!

SEC.8.12 D I S E Ñ OD E U N C O M P U T A D OSRE N C I L L O3 5 7

La proposición que simboliza la instrucción:
A<_R

es también una macrooperación porque el control tiene primero que leer el
código de operación en la dirección 25 para decodificarlo y reconocerlo. La
trasferencia entre registros en sí se ejecuta con una segunda función de
control.

El rnétodo de trasferencia entre registros es adecuado para describir
las operaciones entre los registros en un sistema digital. Se puede usar en
diferentes niveles de presentación si se tiene en cuenta que se interpreten
las proposiciones adecuadamente. Se puede usar específicamente para
Ias siguientes tareas.

1. Definir instrucciones de computador de una manera concisa por
medio de proposiciones de macrooperación.

2. Expresar cualquier operación deseadapor medio de una proposición
de macrooperación sin ninguna relación con una confiSrración es-
pecífica de componentes.

3. Definir la organización interna de los sistemas digitales por medio
de funciones de control y microoperaciones.

4. Diseñar un sistema digital especificando los componentes de los
materiales y sus interconexiones.

El conjunto de instrucciones para un computador dado puede expli-
carse en palabras, pero cuando se define con proposiciones de macroope-
ración, puede establecerse Ia definición precisamente con un mínirno de
ambigúedad. El uso de otras proposiciones de macrooperación puede fa-
cilitar las especificacionesiniciales de un sistema y las proposiciones pue-
den usarse para simular el sistema cuando se desea comprobar la opera-
ción que se requiere. La organizacíón interna de un sistema digital se
describe de mejor manera por medio de un conjunto de funciones de control
y microoperaciones. La lista de proposiciones de trasferencia entre regis-
tros que describe la organización del sistema, puede usarse para deducir
las funciones digitales con las cuales se puede diseñar el sistema.

La siguiente sección muestra un ejemplo de cómo el método de tras-
ferencia entre registros se usa en cada una de las cuatro tareas listadas
anteriormente. Esto se hace al definir y diseñar un computador muy sen-

cillo.

8 - 1 2 D I S E Ñ OD E U N C O M P U T A D OSRE N C I L L O

El diagrama de bloque de un computador sencillo se muestra en la Figura
8-14. El sistema consiste de una unidad de memoria, siete registros y dos
decodificaciones. La unidad de memoria tiene 256 palabras de 8 bits cada
una, lo cual constituye poca capacidad para un computador real pero sufi-
ciente para demostrar las operaciones básicas encontradas en la mayoría
de los computadores. Las instrucciones y los datos se almacenan en Ia
unidad de memoria, pero todo el proceso de información se hace en los

3 5 8 L o G I C AD E T R A S F E R E N CEI AN T R ER E G I S T R o S CAP,8

registros. Los registros se listan en la Tabla 8-4, conjuntamente con una jl
breve descripción de su funcion 5' el nirmero de bits que contienen.

El registro de dirección de memrnia MAR, almacena la dirección de
la menroria. El registro separadorde memoria MBR armacenael contenido
de la palabra de memoria leída o escrita en la memoria. Los registrosA y
-R-conregistros del procesador para propósito general.

El co'tador del programa PC-, el registro de instrucción IR y el conta-
d o r d e t i e m p o ? n ,s o n p a r t e d e l a u n i d a d d e c o n t r o l . E l 1 n r e c i b e e l c ó d i e o
de ,iperación de instrucciones. El decodificadorasociadocon este resistio
s u m i n i s t r a u n a s a l i d a p a r a c a d a c ó d i g o d e o p e r a c i ó ne n c o n t r a d o .A s í - q , :
1 . s i e l c ó d i g o d e o p e r a c i ó ne s e l b i n a r i o 1 , q r : 1 s i e l c r l d i g od e o p e r a c i ó n
es el binario 2 y así sucesivamente.Ei contador z se decodifica también
para suministrar ocho variables de tiempo, tr hasta t,- (ver Sección
l-6). Este contador se incrementa con cada pulso de reloi, pero puede bo-
rrarse en cualquier momento para comenzar una nueva secuenciadesde1,,.

El PC pasa por una secuenciade cuenta paso a paso y causa que el
computador dé las instrucciones sucesivasalmacenadaspreviamente en la
memoria' Rl PC siemprealmacena la direccionde la sizuienteinstrucció¡
e n i a r n e n l o r i a .P a r a l e e r u n a i n s t r u c c i ó n , e l c o n t e n i d o d e p C s e t r a s f i e r e
ttIMA[t v se inicia un ciclo de lectura de menioria. EI PC se incremer]taen
I d e t a l m a n e r a q u e a l m a c e ' n e l a s i g u i e n t e d i r e c c i ó n e n l a s e c r ¡ e n c i ad e
r n s t r u c c i u n e s .l . h r c ó d i g o d e o p e r a c i ó n l e í d o d e l a m e m o r i a a l M B R . s e t r a s ,

Decodificador f "*-l
de operaciones
ffl
I)ecodificador
de t iempo f ^l

F i g u r a 8 - l . l I ) i a g r a m a d e b l o q i l e d e r . r i rc c m p u t a d o r . q i m p l e

Tabla 8-4 l,ista de registros para un computador sencilio q

Número Función .
Símbolo de bits Nombre del registro
t
MAR ó Registrode di¡ección de memoria Almacena direccionesde memoria
MBR L.
A 8 Registro separadorde memoria Almacena contenidos de palabras de memoria

D 8 Registro A Registro procesador

PC 8 Registro R Registroprocesador
IR
7' 8 Contador de programa A l m a c e n al a d i r e c c i o nd e i n s tr u c c i o n

8 Registro de instrucción A l m a c e n a c r i d ig o sd e o p e r a ci nn c , ' r r i cr '!rr , r

3 Contador de tiempo (lenerador de secuencias

Tabla 8-5 T¡es instrucciones para un computador sencilr ,

Código de operación Mnemónico Descripción Fu n c i ó n

0000000r MOV R MoverRaA . 1* R
00000010 LDI
000000I1. LDA O P R D C a r g a rO P R D . a , A .4* OPRD

ADRS Cargarel operandoespecificado.1 - I1[ADRS]

oorADRS a A

fiere al 1R. Si la parte de dirección de memoria de una instrucción se lee
al MBR, esta dirección se trasfiere al MAR para leer el operando.Así, el
MAR puede recibir direcciones del PC o del MBR.

Las tres instrucciones definidas en la sección previa se especifican
de nuevo en la Tabla 8-5. Como hay ocho bits en el código de operación,es
posible especificar hasta 256 operacionesdif'erentes.Para simplificar la
presentación se considera aquí solamente las tres instrucciones listadas.
La mnemotecnia asociada con cada instrucción puede usarse por los pro-
gramadorespara especificar las instrucciones con nombres simbólicos. La
sigla MOV (move) se establecepara la operación del codigo binario corres-
pondiente y simboliza una instrucción de "movimienro". El símbolo R por
delante de MOV indica que el contenido de R se mueve al registro A. La
sigla mnemónica LDI (load inmediate) simboliza una instrucción de
c a r g a i n m e d i a t a . E l O P R D e n s e g u i d a d e L D I s e e s t a b l e c ep a r a u n o p e r a n -
do actual que el programador debe especificarcon esta instrucción. LDA
(load into A) es una abreviatura para "cargar a A" y ADRS a continua-
ción establece para un número de dirección que el programador debe es-
pecificar con esta instrucción. Los valores actuales del OPRD y ADRS
conjuntamente con su código de operación correspondientese almacena-
rán en la memoria como en la Fizura 8-13.

La Tabla 8-5 da una descripción en palabras para cada instrucción.
Esta descripción en palabras no es muy precisa. Las proposicioneslista-

3 6 0 L o G I c A D E T R A S F E R E N C IEAN T R ER E G I S T R o S CAP. 8

das bajo la columna de función dan una definición precisay concisade
cadainstrucción.

- un computador con solamentetres instruccionesno es muy útil. Se
debeasumir que este computadortiene muchas más instruccionL.,.r.rqrr"
se considerentres de ellas. un programaescrito para el computador,. ul-
macenaen Ia memoria. Este programaconsistede muchasinstrucciones,
pero de vez en cuando la instrucción usadaseráuna de las tres listadas.
Se consideranahora las operacionesinternas necesariaspara ejecutar Ias
instruccionesque están almacenadasen la memoria.

Ciclo de envío de instrucciones

El con-tadorde progran\aPC debe inicializarsecon lo contenidoen la pri-
mera dirección del programa gJ.ugggaadeen la memoria. cuando .. u.tirru
el.interruptor de "comienzo",Tá secueniiadel computadorsigueun patrón
básico.un código de operacióncuya dirección está en el pC se lee de la
memoria-alMBR. El PC se incrementaen l paraprepararlapara la siguien-
Itemt,tenRoudyrdíiiaoor tendzycdeceqlioióuennesscteodsrnlueaocclscecoeanidcóeidunnf iee,culnyanacddieoarqpce.Euoogelrdi seicéftólirscodtcaadiogdensooatcrdrcdooeaeln.oettbpriloeseclmti.aóapLdcsoaii geóssocnsvusdeaéeeruntiorascapaitaslenesfrieseac olrcdleiameómdnot eidaefleumMcnilp-ccaBoli ooR,mnfduaeée,l-s
de control para darle secuenciaa las microopéracionepsara leer un código
de operación(op-code)y colocarloen el IR:

to: MAR <- pC trasferir dirección del cod. de operación
ttt MBR <- M, pC <- pC * l I e e re l c o d . d e o p e r a c i ó n ,i n c r e m e n t a r P C

tz: IR <--MBR transferir el cod. de operación al IR

ere.l gciusStaerlo-ap7sruosmdeueicqneucuerenemal cevonantraitaa-cbdolonerddcaeedttiaieepmmupplsooo?údeceqo-urmeeileosnjayzleaaaduéptolamdrteiárct del valor 000,
o d i f i c a d o r .E i
i c a m e n t ep r o -
duc.e-l-asiguiente variable de tiempo en la secüencia.Las tres primeras
variables de tiempo eje cu tan las secuenciasde microoperaciónlas
puedensimb o l i z a r s ep o r m edio de la proposiciónde macrooperació cua les
n:

IR <- MIPC), PC <_PC * |

Esta estableceque la palabra de memoria especificadapor la dirección en
el PC se trasfiereal 1,?y luegose incrementáeLpC. La restricciónde los
componentesen el computadorsencilloesque solamenteeI MAR y el MBR
puedencomunicarsecon la memoria. comó eI pc y el IR no pueáencomu-
nicarse directamente con la memoria, la anteriót -a.rooperación debe
ejecutarsecon una secuenciade tres microoperacioneso. tra restricción
de los materiales es q u e .e l PC no puede increment
val or s e use para su ministr ar la dirección para una arsemientras que su
lectura de memo ria.
solamente despuésde que se complete una operación de lectura puede

SEC.8-12 D I S E Ñ OD E U N C O M P U T A D OSRE N C I L L O3 6 /

incrementarseel PC. Al trasferir el contenidodel PC al MAR, puedeser
incrementadoel PC mientras que Ia memoria lee la palabra direccionada

por el MAR.
El ciclo de envío es común a todas las instrucciones.Las microope-
racionesy funcionesde control que precedenal ciclo de enr'íose determi-
partir de op e r a c i ó nd e c o dificado'
nan en Iá secciónde control a i d a sQ , del código ... e n el decodif i c a d odre
Esteestá d i s p o n i b l ed e l a s s a l ,i : L ,2, g,

operación.

Ejecuciónde las instrucciones
Durante la variable de tiempo ú3, el código de operaciónestá en el .IR y
una salida del decodificadorde operaciónes igual a 1. EI control usa las
variables g, para determinar las sigfrientesmicrooperacionesen secuen-
cia. La iniirucción MOV R tiene un códigode operaciónque haceqt:1.
La ejecuciónde esta instrucción requierela microoperación:

4J{ A <-R,Ie-0

fuí, cuandoQt: I en el tiempo ¿3,el contenidode R se trasñereal regis-
tro A y el registrode tiempo ? se borra. Borrado ?, el control regresaa

producir la váriable de tiempo ü6 y a¡í comenzarde nuevo el ciclo de en-
uío, pat" leer el códigode operaciónde la sigrrienteinstrucción en secuen-
cia. Recuérdeseque?C se incrementadurante el tiempo fr, de manera
ón de la siguienteinstrucción en secuencia.
q ue ma ntiene Ia áirecc i OPRD tiene un códigode ope raciónque hace9 :
La instrucción LDI
2

1. Las microoperacioneqsue ejecutanesta instrucciónFon:

Qzti MAR <- PC trasferirdireccióndel operando

¿ztci MBR <- M, PC <- PC * | Ieerel operandgincrementaPr C

eztsi A <- MBR, T <-0 trasferirel operandop, asaral ciclo deenvío.

Las tres variablesde tiempo que siguenel ciclo de envío mientras QueQz
: i i""" el operandode la memoria y lo trasfieren al registroA' Como el
operandoestá en un lugar de la memo¡ia en seguidadel código de opgl-
partir de la dirección especificadapor
.i¿ n,.u lee de la memo"ri aa e trasf iere entoncesa A. Nótesequ9 ef "P! !.Cc .se
nl oper andoleído al MBR s
incrementa una vez más para prepararlopara la dirección del siguiente
códigode operaciónantes de regresaral ciclo de envío'
La i.rsfrucción LDA ADRS tiene un código de operaciónque hace q¡

:1. Las microoperacionesnecesariaspara ejecutar esta instrucción se

listan a continuación:

qttr: MAR <- PC trasferirla siguientedirecciónde instrucción

Q{q: MBR<-M,PC<-PC * I leer DIRECCION, (ADRS) incrementarPC

Q{s: MAR <- MBR trasferir direccióndel operando

I

{:

3 6 2 L O G I C AD E T R A S F E R E N C IEAN T R ER E G I S T R O S CAP,8

Q{a: MBR <--M Ieerel operando
qrtr: A <- MBR, T <*0 t r a s f e r i r e l o p e r a n d oa A , p a s a r a l c i c l o d e e n v í o

La dirección del opefando,simbolizada por ADRS, se coloca en la me-
moria despuésdel código de operación. comó el pc fué incrementado en f ,
durante el ciclo de envío éste mantiene la dire cción donde se almacena el
ADRS. El valor del ADRS se lee de la memori a en el tiempo ú¡. Se incre-
bttMsmrulioeBgerlaznuRcrti aeeadagneePlrtneeCMmsieAaenldamsRMulto.rrBcuar iiRcnccaoct.l eomidóEduoenlers.aetoeEenlpntnAteevi eDíreoamRel.nlpSdtoitoeieemdpsmeappirpoeaoUcipni.fü,r;i,nencpsacleasaaretuadrtsra.ilraasoersfácipfeicaeqrir.eóuaeneeealalei"vlic.ao"iolfcpoipl..ártre.uorddnaeenarAdoeAo,nDyvsuíReenoSladeceslodetnaleca-_-l

Las funciones de,coltqo_l y microoperaciones para un computador sen_
cillo se resumen en la Tabla 8-6. Lai primeru. i... variables de tiempo
constituyen el ciclo de envío mediante
ración hacia el 1R. Las microoperacione fas cual es se lee el código de ope-
f3 dependen de l valo^rdel código de ope s qu e se ejecutan durante"el tiempo
ón nciones
raói in H"v tres fu

gfd13eq,d_uuecersoaenanstqtreiuogleutqlaslual.eacLusa1oy. naLmoffiuucmnrnocciosiioómpnneoerasdpceuáióeecndoeúrp3Ídta,reioptcii"icr.cuosoleárqdrr,eesleaóp"jsrbeq,cno,"idttrarióaedsnáqt"v,eataiprleiu*ana.bae"lrerutsensdaeeerlvtiaitg""r;iuipeaa;mb.l plaeo
.. Un computador práctico tiene muchas
ción requiere un ecciecsl oa r.idaes para reer un instruccio"e, y cada instruc-
croo peracione sn envío la ejecución código de ope-ración.Las mi-
pa¡a de lás instrucciones particu_

lares se especifican medianle las variabies de tiempo t ;;;1" q, particular,
l:9t 1 , 2 , 3 , . . . , 2 b 5 , q u e s u c e d ee s t a r e n e l estadoi d ' u r a n t ee s t e t i e m p o .
La lista de
dor práctico funciones de control y las microoperacio"Á-pulu un computa-
deberían ser mayores que las mostradas en la Tabla g-6. ob-
viamente, el simple computador no
solamente tr es instrucciones se pued",e ,r., elemento práctico, pero usando
n demostrar ciaramente las funcio_

Tabla 8-6 Proposiciones de trasferencia entre resrstros
para un computador sencillo

ENVIAR ,0. MAR <_PC
MBR<-M,PC<_PC+l
¡1. IR <- MBR
A<-R,T<-0
MOVER .2. MAR <- PC
CARGA INMED. MBR <--M, PC <_ PC + I
4 tlt: A <-.MBR, T <_O
Qztt: MAR <_PC
q2.4, MBR<_M,PC<_PC*I
MAR <- MBR
CARGAA A .t2.5. MBR<_ M
q3,3. A <_MBR, T <-.0

Qttc:

, t3 . 5 .

4zlai

Qzh:

s[c. 8 12 D I S E Ñ OD E U N C O M P U T A D OSRE N C I L L O3 6 3

nes básicas de un computador digital. La extensión de este principio al

computador con más instrucciones y más registros de procesador debería
ser aparente a partir de este ejemplo. En ei Capítuio 1l se usan los princi-

p i o s p r e s e n t a d o sa q u í p a r a d i s e ñ a r u n c o m p u t a d o r m á s r e a i .

Diseño del computador

Se había mostrado anteriormente que la lílgica de trasferencia entre regis-
t r o s e s a d e c u a d a p a r a d e f i n i r l a s o p e r a c i o r t e se s p e c i l i c a d a s p o r l a s i n s -
trucciones del computador. Se ha demostradojustarnente que la lógica de
trasf'erenciaentre registros es un método conveniente para especificar Ia
secuenciade funciones internas en un computador digitai. cortjuntamente
c o n l a s m i c r o o p e r a c i o n e sq u e e l l a s e i e c u t a n . S e m o s t r a r á a h o r a q u e l a l i s t a
d e h r n c i o n e s d e c o n t r o l y m i c r o o p e r a c i o n e sp a r a u n s i s t e m a d i g i t a l e s u n
punto de comienzo convenientepara el diseño del sistema. La lista de mi-
c r o o p e r a c i o n e se s p e c i f i c a e l t i p o d e r e g i s t r o s y l a s f u n c i o n e s d i g i t a l e s a s o -
c i a d a s q u e d e b e n s e r i n c o r p o r a d a s e n e l s i s t e m a . L a l i s t a d e l u n c i o r . r e sd e
control especifican las compuertas lógicas requeridas para la unidad de
control. Para demostrar este procedimienir¡ se estudiará e1 diseño del
computador sencillo a partir de la lista de proposicionesde trasferencia
entre los registros dados en la Tabla 8-6.

E l p r i m e r p a s o e n e l d i s e ñ o e s r e p a s a r l a s p r o p o s i c i o n e sd e t r a s f e r e n c i a
e n t r e r e g i s t r o s , l i s t a d a s e n I a T a b l a 8 - 6 y e s c o g e rt o d a s a q u e l l a s p r o p o s i -
ciones que realizan la misma macrooperación en el mismo registro. Por
ejemplo, la microoperaciónMAR - PC se lista en Ia primera línea con la
función de control úe, €n la quinta línea con la función de control Qztz Y
en la octava línea con la función de control q3f3. Las tres líneas se com-
binan en una sola proposición:

to + q2t3+ %t3: MAR <- PC

Qt
q3

Figura 8-15 Configuración de tr: MAR' PC

R e c u é r d e s eq u e u n a f u n c i ó n d e c o n t r o l e s u n a f u n c i ó n d e B o o l e . E l * e n t r e
Ias funciones de control denotan una operación de Boole OR, y la secuencia
de un operador entre q2 y t3 denota una operación de Boole AND. La
anterior proposición combina todas las condiciones de control para la tras-
ferencia de PC hasta MAft. La configuración de los componentes de la pro-
posición ante¡ior se dibuja en la Figura 8-15. La función de control puede
ser manipulada como una fun¡ión de Boole para dar:

3 & L o c t c A D E T R A S F E R E N CETNAT R ER E G t s r R o s CAP 8

xt = te I Qztt* q{t: fo * k, + qr)t,

La variable binaria rr se aplica a la entrada de carga derMAR y las sali-
das del PC se aplican a laJentradas del MAR
pulso de reloj trasfiere el contenido del pc al . cudá;;,:1, eisiguiente
que causan que rr sea 1 vienen de los dec
tiempo de la unidad de control. MAR. Las variablesbinarias

odificadores de operación de

Hay ocho microoperaciones diferentes listadas en la Tabla g-6. para
cada microoperación
ciada s y se aplicarán distinta, se acumularán las funciones de control aso-
como se muestra en conjuntamente a
cada microoperación la Tabla g-7. Las una compuerta oR. El resultado es
funcionei de control obtenidas para

se forman en una ecuación de la variable binariá r,,
!: r, 2, . , 8. Las- ocho variables x pueden ... g"rr".udu.
las compuertas AND y OR pero no se úarán aquí. fácilmente con

El diseño de un computador senciilo se puede obtener de la informa-
steocscdghdcshbcieeuleuoi'iaoialdeseóoóamlbambyeetltnqaononrieMpclbloundrudicoPirtldBetonrnaoaiaeqCeeoRanr?ndugnxs'árlctiiieeziaudsrsissoyE:aclrcetoet1aranusrulJeñe,cíoiafadannancmoecsdldentidecalr,breurolpde¡ogaeroeMlelc€gonetafsasmiuralcmnBipoeonerlnieeualRáasaefelcmr1nnoe-raxiadec2tilrociuodípaomnan0lcnneraaaiscdt.ieenascrsdos.roasiectoeaPancroinmsaió"doadpsacrocnereedeoechicegrlranaoelienccmaáidtdeejscouaefdeaslertuceninmroatmminntpooudorpcctusuoonFolnrolairolrsalioacdntssgi,id1andoaofpdueeaueamedlerdl(ley-esanabredeMMxnlt,idsaerotlgnerAAaoee:er0-anc1RtdsRs1r.acca)ao6hlibordnEaosi.ág;lrntoensaAresa.ptdcsTata.itrcqone'eeaosaldi¿u"trbsfibe."ou,íiev"iea"tltc-¡as.saaistnEuoi.urren'dfidilra.,fnof"rgquetiios.ri,,fsib-n"b,erirf7ccl""milin..,r.edroia.oeoet'aEro"d"üqd!gnnetcIclol"ruieatirnsurreóidsedrepct,ialnd,qdrenislonoaueduouc.ndnsgd*leedrotAoo.u,reaecn"adc,redud.lixtramoer"veMneozccnlopma:nruBqu:p0tuirriárdleRC,dtrdooersoeIr"o.els--,

8-16 registros y otras funciones digitares especificadas en la Figura
pueden ser designadas individualmente por medio de procedimien_
tos combinacionales y de lógica secuencial.
si el sistema se construye con
circuitos integrados, se pueden encontrar circuitos MSI para todos los
registros y funciones digitales. El circuito
combinacio""i p".u el control

Tabla 8-7 Especificación de los componentes para
un computador sencillo

rr:fo+q2t3+q3t3l MAR <_PC
MAR <_MBR
x2: Q3t5: PC<-PC+I
xt- tt+ q2t4+ %t4:
xt: xt + %t6i MBR<- M
xs: ezts+ q3t7: A <_MBR
x6: Q¡t3i A<_R
x7-x5+x6:. T <-0
x¿ - t2i IR+- MBR

q

i
1

Incrementar

Direcciona¡

Memo¡ia

Cargar

"y ó^ Q l Q z Q t

.x1 x5

Circuito x5

x2 combinacional

x3 x7

x4 tl ta ¡o

Incrementar
Figura 8-16 Diseño de un computadorsencillo

365

3 6 6 L O G I C AD E T R A S F E R E N CEINAT R ER E G I S T R O S C A P ,8

puede construirsecon compuertas SSI. En un computador de gran tamaño,
e( P-sLt_U_a)p_,arte se configura eficientemente con un arreglo iógico programablé

R E F ER E N C I A S

1 \ 1 a n o .\ { . M . , c a m p u t e r^ 5 v s f e ¡Anr c h í t e c t u r eE. n g l e w o o dc l i f f s , N.J.: prentice_
H a l l . I n c . .1 9 7 6 .

I (-hu. \'., Computerorganízutiortand MicroprograrnmingE. nglewoodcliffs, N.J.:
P r e n ti c e - H a l l ,I n c . , 1 9 2 2 .

;3 Dietmeyer,D., Logical Desígn,f DigitaL sy.s/em.sB. oston, Mass.: Allyn y Ba-
con,1971.

+ B e ll, c.G y A. N e well, computer s t r u c t u r e s :R e a d i n g sa r t dE, x a m p r e s .N u e v a
\- o rk :McG ra w- Hi ll BookCo.,19?1 .

'". Hill, F.y G.P e t e r s o nD, i g i t a t s ]'s te m s :H a r d w a r eo r g a n i z a t i o na n d D e s i g r tN u e -
va York: John Wiiey & Sons,1 97 3.

6. R a r t e e ,T . C ., I. L. Leb_o wlL S. Reed,Thert r ya n d D e s í g no f Di¿]itaML uchines.
NuevaYor k: McGr aw-Hill BookCo., 1g62.

i. t ^ 9 m p u t e r ,S p e c i a l I s s u eo n computer HardwareDescriptionLanguagesv, ol. ?, l
N o . 1 2 ( d i c i e m b r et,9 T 4 ) .

8. computer, SpecialIssueon Hardware Description LanguageAppiicati.ns, Vol.
10,No. 16 (junio, 192?).

PROBLEMAS

8-1. Muestre el diagrama de bloque que ejecuta ia proposición:
xT3'. A<-8, BeA

8-2. t,rn valor constante puede ser trasf'erido a un registro aplicando a cada en-
t¡ada una señal binaria equivaiente a lógica 1o lógica'0. Muestre la confi_

¡¡ración de la trasferencia:

T: I <--I l0l0l l0

6 3 L-n registro de 8 bits tiene una entrada x. La operación del registro se cles-
cr i b e . .i m b ó l i c a m e n t e c o m o :

P: As<_x, A,eA,*l i:1,2,3,...,7

.Cuál es la función del registro? Las celdas se numeran de la derecha a la
rzquierda.

8-4. Muest¡e la configuración de los materiales (elementos) de las siguientes de-
claraciones. Los registros tienen 4 bits de loneitud.

To: A <- R0
T,: A+Rl

P R O B L E M A S3 6 2

Tzi A r- R2
Tti A <- R3

8-5. Sean s1, s,' las variabies de selecciónpara el multiplexor de la Figura "
d,du'las variables de selección para el decodificadorde destino. La

"veaarinable e se usa para habilitar el decodificador'
(a) Establezca las trasferencias que ocurren cuando las variables de selec-

ción s1s¡d,d¡e son iguales a: (1) 00010:(2) 01000;(3) 11100;(4) 01101'
(b) Dé los valores de las variables de selección de las siguientes trasferen-

cias:(1)A' B: (2)B ' C; (3)D' A'

8-6 Una unidad de memoria tiene dos entradas de control marcadas como haói-
l¡to, y Lectura/escritura (como se explica conjuntamente con la Figura
?-30).'Las entradas de clatos de memoria se conectan a uil registro MBR
como en la Figura 8-?. EI MBR puede recibir información de un registro ex-
terno EX.R o áe la unidad de memoria despuésde una operación de lectura.
El MBR suministra los datos para la operaciór"rde escritura en memoria. Di-
buje un diagrama de bloque usando multip,lexores y compuertas que nues-
del MBR o la memoria. El sistema debe tener capacidad
tren la
para eje"countaJr*ilóans siguientes tres trasferencias:

W: M <- MBR escribir a la memoria
R'.MBR <- M leer de la memoria
E: MBR <- EXR cargar MBR apartir de EX-R

8-7. Las siguientes trasferencias de memoria se especifican para el sistema de ia
Figura 8-8.

(a) MlA2l+ 83

(b) 82 + MlA3)
Especifique la operación de memoria y determine las variables de selección
binarias para los dos multiplexores y el decodificador de destino.

8-8. usando los multiplexores cuádrupies de 2 a 1 línea de ia Figura 5-17 y cuatro
inversores, dibujé un diagrama de bloque para configurar las proposiciones:

Ti R2 <- R\
Tzt R2 <-R2
Tl R2 <-0

8-9. considere un registro A de 4 bits con el bit A., en la posición más significa-
tiva. ¿Cuál es lá operación especificada por la siguiente declaración?:

AaC: A<-A+l
A¿'. A -0

Muestre la configuración del sistema usando un contador con carga en pa-
ralelo.

g-10. Muestre los componentes necesarios para config.rrar las siguientes mlcro-
operacioneslógicas:

3 6 8 L o G I c AD E T R A S F E R E N CEINAT R ER E G I S T R o S CAP. 8 I

(a) Tr: F<-A ¡\B
(b) 7z: G<-C \/ D
(c) Ir: E <- E

8-11. ¿Cuál es la diferenciaentre estasdos proposiciones?
A*B: F<-C\/D

C + D: F<-A + B

8-12. Especifiquela trasferenciaen serie di bujadaen ia Fig ura ?-g en f or ma sim_
bólica. Seas la función de control de deiplazamie nto ] A s u m aq u e s se habi
lita por un períodode cuatro pulsos.

8-13. Muestre los elementosy.materiales que configuranla siguienteproposición.
Incluya las c,rmpuertaslógicas para la función-de controi
xl'To* T, + x'yT2: A <-A + B

8-14. FumhnaiynbsiiRsliisttrastaeednmouslapaadosnirgfpuiuatnanrcala.itodisenaenreñessadetlreceeuxcsetoernnerctngiraaioaslptlrdaaoerssal :msAciioRscmtr,eoBemoRnpaze.yarsarplceafitos.o.urpL.n.eo.ursfal.i,tcpreci-ófuslnoafálrpietp'oel-lffslliciopsup-tafeslolmsepuas,-;
!f,uncsieónp one a1 por el sistemadigita l utta uei
del sist ema se describe por medio de se completela operación.La
las siguientes operacionesde
trasferenciaentre registros:

S: PR<-0, ^S+-0, D+-0. F<_l
F *0, si (AR : 0) entonces(ll * 1) por tanto (R .- 1)
R: PR<-PR +.8R, AR<-AR - l, R+_0, .F+-I
¿Cuál es la funcir'¡nque ejecutael sistema?

8-15. Ejecute las operacionesaritméticas ( * 42)+ ( _ 1g) y (-42) - (- 1 3 )e n b i .
nario usando:

(a) Representaciónen signo-complementdoe 1.
(b) Representaciónen signo-complementdoe 2.

8-16. rhpmLiaotoemscsniioctenosinúóddnmdeoedelae2rso.uaesRmrxbiettairmnaeyalméicrtiareioecsilsazatlqscaisuooetinaepnrdneudoúrnaasmccyaieaiodrscnoiooesssnsdoeateinnrnci.tuinemmaeléagctteiariócextnaistv.ostqoi.eusinnicsudeoe"inmctrueapu'p'.rnd,uratee.bss.bi.,etuensdstaauennsdseoirngelnsocuosolmetaanipgdllooea-s_

(a)00lll0 + llml0 (e)0l0l0l - 0001II
(0 00101-0 lll00l
(b) 0l0l0l + 000011 G) lll00l - 001010
(h) l0l0l I - l00ll0
(c) lll00l + 001010
(d) l0l0n + ll1000

P B O B L E M A S3 6 9 '1

8-1?. ¿Cuál es el rango de los números que pueden ser acomodadosen un registro ¡l
de 16 bits cuando los números binarios se representan en: !E

(a) Signo-magnitud? ll
(b) Signo-comPlemento de 2?
Dé las respuestasen representación decimal equivalente' T

,l

8-18. Ejecute las operaciones aritméticas listadas a continuación con números
binarios en representación de signo-complemento de 2 y aplicando el algo-
ritmo enunciaflo en el texto. Use ocho bits para acomodar cada numero con-
juntamente con su signo:

( l ) ( + 6 5 )+ ( + 7 8 ) (4)(+65)+ (-78)

(2)(-65) + (-78) (5)(-65) + (+78)
(3)(+35)+ (+¿10) (6)(-35) + (-40)

Inspeccione la respuesta de 8 bits en cada caso y:

(a) Determine si hay una sobrecapacidad'
(b) Liste los arrastres (carries) que entran o salen de la posicion correspon-

diente al bit de signo.
(c) Determine el signo del resultado (el octavo bit)'
(d) Enuncie Ia relación entre (a) y (b).
(e) Enuncie la relaciónentre (a) y (c).

8-19. (a) Muestre que el contenido de un registro de 8 bits que almacena los nú-
meros * 36 y - 36 en binario y en tres representacionesdiferentes, es
decir, signo-magnitud, signo-complemento de 1 y signo-c,¡mplemento
de 2.

(b) Muestre el contenido del registro después de que los números se despla-
cen aritméticamente una posición a la derecha (en todas las tres repre-

sentaciones).
(c) Repita (b) para un desplazamiento a la izquierda'

8-20. Dos números en representación de signo-complemento de 2 se suman de la
manera mostrada ..r lu Figu.u 8-10 y la suma se trasfiere al registro A. Mues-
tre que el desplazamiento aritmético a la derecha simbolizado por:

A <-shrA, An<- An@ V
producirá siempre la suma correcta dividida por 2 hubiese o no ocurrido
una sobrecapacidaden la suma original'

8-21. Represente + 149y - 1?8 en BDC usando ia representación-designo-comple-
In".,to du 10.Use un bit para el signo. Sume los dos números BDC, incluyendo
el bit de signo e interprete la respuesta obtenida.

8-22. l,os registros para sumar y restar números decimales representadosen signo-
complJmento de 10 es similar a los algoritmos para los números binarios re-
presentados en signo-complemento de 2'
(a) Enuncie l6s algoritmos para la adición y sustracción con representación
en signo-complemento de 10. un signo positivo se representa por un 0 y
un sig r negativo por un 9 en la posición más significativa'

3 7 O L o G I c A D E T R A S F E R E N CEI AN T R ER E G I S T R o S CAP I

(b) Aplique los algoritmos para los conjuntos decimales (- 63g)+ (Tgb) v
( 6 3 8 )- ( 1 8 5 r "

8 23. Un número binario de punto flotante cle36 bits liene 8 bits más el signo para
ei exponente. El coeficientese asume como una fracción normajizáda.-Los
núrneros en el r:oeficientey exponente están en la forma de signo-rnagnitud.
¿cuáles son las mayores y menores can'.idades positivas q.r" p.,".i.n ."1"
acomodadas,excluyenclo el cero?

8-24. lln registro de 30 bits almacena un número decimal de punto flotante repre-
s e n t a d o e n B D C . L o s c o e f i c i e n t e so c u p a n 2 1 b i t s d e l r e g i s t r o y s e a s u m e c o -
mo un entero normalizado. Los números en el coeficiente y exponente se asu-
m e n r e p r e s e n t a d o se n f o r m a d e s i g n o - m a g n i t u d . ¿ , c u á i e ss o n l a s c a n t i d a d e s
mayores y menores que ¡rueden ser acomodadas erciuvendo el cer.?

825. Representeel número (+31,5)r0 con un coeficiente entero normalizado de
l3 bits y un exponenlecle? bits como:

( a ) L I n n ú m e r o b i n a r i o ( a s r r m ab a s e d e 2 ) .
lbi [.]r;número octal bir:a¡io codificado (asumabase de g).
( c i I . r . n ú ¡ n e r o h e x a d e c i r o a ib i n a r i o c o d i f i c a - d oi a s u m a b a s e d e 1 6 ) .

8 2 6 . E i r e g i s t r o A a l m ¿ r c t ' n al a i n l b r m a c i ó n b i n a r i a 1 l i 1 1 1 0 0 1D. e t e r m i n e e l o p e r a n -
d o r 3 ¡ ' l a r n i c r o o p e r a c i o nl ó g i c a q u e s e v a a r e a l i z a r e n t r e A y B p a r a c a m b i a r
el valorde A a:
(a) 011011i,r1
{bi 1111110i

8-2'i. f)etermine la operación lógica que borrará selectivame¡te los bits del regis-
tro A en aquellas posiciones donde hay I en los correspo¡dientes bits áel
registro .B.

'8-28. [.'n compr.rtadordigital tiene una unidad de memoria con 24 bits por palabra.
El conjunto de instrucciones consiste de 190 operaciones diferéntes. Cada
inst.rcción se almacena en una palabra de la memoria y consiste de una par-
re de código de operación y una parte de dirección.

(a) ¿Cuántos bits se necesitanpara el código de operacirin?
(b) ¿cuántos bits se dejan para la parte de dirección de la instrucción?
( c ) ¿ ( r u á n t a s p a l a b r a s p u e d e n a c o m o d a r s ee n l a u n i d a d d e m e m o r i a ?
1d) ccuál es el mayor número bina¡io de punto fijo con signo que puedeser

almacenado en una palabra de memoria?

8-29. Especifique un formato de instrucció11 para ur-rcomputador que realice la si-
guiente operación:

A. Mf direcciónl* R
donde ^Rpuede ser cualquiera cie los ocho registros posibles en el procesador.

8 - 3 0 . A s u m a q u e l a u n i d a d d e m e m o r i a d e r a F i g u r a g - 1 4 t i e n e 6 5 , 5 3 6p a l a b r a s d e
8 bits cada una.

P R O B L E M A S3 i I i

( a ) ¿ , C u á l d e b e r í a s e r e l r r ú m e r o d e b i t s r l e l o s c i n c o p r i m e r o s r e g i s t r ., s 1 , - . I
tados en ia ]'abia 8-4?

(b)¿Cuántaspalabrasdememoriaserequierenparaalmacenarlainstruc.

ción:

LDA A/)Ti.S

como se esPecificaen la Tabla 8-5?
( c ) L i s t e l a s e c u e n c i a d e m i c r o o p e r a c i o n e st r e c e s a r i a sp a r a e j e c u t a r i a i n s -

trucción. El registro /i puedá ser usado p¿rraalmacenar temporalmenfe
parte de una dirección'

g-31. una instruccron inmediata para un simple computador definida en ia Figura
8-14 tiene un código de operación 00000100.La instrucción se especifica de

Ia siguiente manera:

I'RI oPRD ( C a r g a rO P R D a ' ? ) R ' o P R I )

I . i s t e l a s e ¡ u e n t ' i ad e m i c r o o p e r a c i o n eps a r a e j c (r l t a r e s l a i n s t r t ¡ t ' t ' i o n '

g-32. Repita el diseño del computador sencillo presentado er.r11 Figura 8-12' Rem-
p l a c e l a s i r t s t r u c c i o n e se n i a ' f a b l a 8 - 5 ¡ r o r i a s s i g u i e n t e s i n s t r t r c c i o t l e s :

Codigo Mnemónico Descripción F-uncion
c l eo p e r a c i ó n
l'¿ * n
00000010
00000011 ADI OPRD SumareloperandoaA AeA +OPRD
AeA +MIADRSI
ADA ADRS SumarRaA

3-33. Dibuie un cliagrama de bloque mostrando la configuracior.rde componentes
del sistema especificadoen ei Problema 8-14. Incluya una entrada de comien-
¿o para poner a I el flip-flop S y una salida de /¡echo (dor]ei para el flip-fiop D'

Diseñofógico
de procesadores

9-1 INTRODUCCION

douudsouppeepnnapunoeiidetucarddarornudaadaaumneddocccnlrboiiddinoopdidmeenúnnraigoapcmeepdiocuscstreaenaE.pootralsrtrcnsordioaeqttoudoemcduslneer.ooecéCaEssrratcPee.aniup_ocgdUnlínEaeliotia.ssfsuldlrimitg,lcaagreouoadalusóvrspiadageeyuíetqilrnnaucsdutcaaslaeeoeosucoslnf,1rnaoputad1iperbndpoesírrcataaleeuidqcordidlta,iuoneceoeeetsenomrdpssneareodugltstaersaipáugaántennrirdmtareidaezvsirlelaeiaieis.stacnáisaptsitelóqrlotuoóoemnur;y,cmyleia"ace"addcn;,st.roiiior"gos.daznrEeireastfcscñaofcpdtieolráaiuimór"dose,odneeayn,ueñ,n"lcn'mdoparmirdia"cisriu"ce.cro.enrrLlrmulñoáioaa_o-o-- /

cdgviiiiagesltinetrEaeosln.l ppscrniouonúcenmed-esueemanreodbrmoedaprgerhglieasroaest,rrgtcoauoi spnm6tr4rooroecrsleegodgissesiastrurdteornogoparsissroouot rl ncaomeimsdsáyaeasdnd.otÁopterrlr.asg*oesEucnnnfecuousin.llalgc]"douiooopn-npr"da.euv,stacad¡padír*saospoñrdoes;e.uñsistnIoodas"sen,iu'ts"ien"tg.esui r,pmo;eesa-- i
bajo costo cuando se construyen co.t
tadores recientes emolean un gran circlitos integrados,todós los
canalizan la informaciónentre ellos número de iegistrás procesa"doo,,r,"p, ,yr-
a través de bus."ecsomunes.
una operaciónpuede-_
u na m i c r o o p e r a c i ó ns e n c i l l a s ecr o nfigur ad aen una unidad de p r o c e s oc o n
o co n una se c u e n c i ad e microope r á c i o n e sp.o r
tgtoegiravpjiaesnaestmmrrfaaeopecrstliniropdóatlunoevaepéa, dmlos-auerudnosmleetprierpeeladclrgisiaocoiscnacdtifcoóreioimgnócddunpoee¡uamdmdedepreautudsacletotosiirps,nntealoniulscúcn.paomTrccnoaeiiódnurrcnuonpucspribtputooiouneneltdascsoooertiarcmoderoseábamailrdniolezmiasllaóacparjisoscosneesnecienabnoñallqcneádiululyoeleonssepr.a.neA"usaeldeptldeoirczeorsuansprealeeuan_r---
dlcaieacpdoreonc-fimegsuicorra.ocoiópnerdaectieornmeisn.adzeluamcaanytiddeasdpylaztiapmo ideentcoo.Eml pmonéetondieosedsecolagiudnopidaarda

372

sEc. 9-2 O R G A N I Z A C I ODNE L P R O C E S A D O R3 7 3 1
,!:
Todos los computadorese, xceptolos muy grandesy rápidos.conllgur¿:. q
las operacione.patticipantes por medio de una secuenciade micrc'rpera-
cionei. De esta manera, el procesadornecesitatener solamentecircutto'
que configuren las microoperacionesbásicas simples tales como sumar ]'
desplararlOtras operacionest,ales comomultiplicació¡, división y aritme-
t*" á" punto flotante, se generanconjuntamentecon la unidad de control.
La unidad procesadoraen sí se diseña para configurar microoperaciones
¡,i"i"". del iipo discutido en el Capítulo8. La unidad de control se diseña
para dar seculncia a las microoperacioneqsue no se incluyen en el conjun-

to básico.
La función digital que configura las microoperacionescon la informa-

ción almacenada lo" iegistros del procesadorse llama comúnmenteuní'
dad.basícaaritmé"ttitca o ¡,LU. Para realizar una microoperacióne, l control
canaliza la fuente de información de los registros hasta las entradas del
ALU. El ALU recibe la información de los registrosy realiza una operación
dada de la manera especificadapor el control. El resultado de la operación
se trasfiere al registro de destino. Por definición, el ALU es un circuito
combinacional;de manera que toda la operaciónde trasferenciaentre re-
gistros pueden realizarse duiante el intervalo de un pulso de reloj. Todas
l"asoperacionesde trasferencias entre registros, incluyendo la trasferencia
entre registrosde una unidad procesadoratípica, se realizan en un ALU
común: de lo contrario, sería necesario duplicar las funciones digitales
para cada registro. Las microoperacionesde desplazamientose realizan a
menudo en una unidad separada.Una unidad de desplazamientose mues-
tra por lo general separada,pero alggnas vecesestá incluida como parte de
la unidad enteramentearitmética y lógica.

un computador cPU debe manipular no solamentedatos sino también
códigosde instrucción y direccionesque vienen de la memoria. El registro
que almacenay manipula el códigode operaciónde instruccionesse consi-
dut, .o-o parte de la unidad de control. Los registrosque almacenandirec-
ciones son lncluidos alg¡nas vecescomo parte de la unidad de procesoy la
información de direccionesse procesapor un ALU común. En algunos com-
putadores,los registros que almacenan direccionesson conectadosa un bus
separadoy la iniormación de dirección se manipula con funciones digitales

separadas.
Este capítulo presenta varias alternativas para la organización y di-

seño de una unidad de proceso.El diseñode una unidad aritmética lógica
particular se lleva a cabo para mostrar el procesode diseño usado en la
iormulación e implementación de una función digital común capazde rea-
lizar un gran número de microoperaciones.Otras funciones digitales con-
sideradas y diseñadas en este capítulo son la unidad de desplazamiento
y el regisiro procesadorpara propósitos generales,comúnmente llamado

acumulador.

9 - 2 O R G A N I Z A C I O ND E L P R O C E S A D O R
La parte procesadorade un computador CPU se t¡ata algUnasvecescomo
eI cánql de datosdel CPU porque el procesadorformula los canalesde tras-
ferencia de datos entre los registros de la unidad. Los diferentes caminos

3 7 4 D I S E Ñ OL O G I C OD E P R O C E S A D O R E S CAP. 9 l

son controlados supuestamentepor medio de compuertasque abren los ca-
mln os necesariosy cierran otros. U na unidad procesadorapu edediseñ arse

para satisfacerun conjunto de canalesde datoi para una áplicación espe-
cífica. El diseño de ul procesadorpara propósitoÁespecialesfue demostra-
do en la Sección8-9. La Figura 8-t6 muestrá los diferentescanalesde datos
para un p r o c e s a d o rm u y limitado. La abertura de los canaleso caminosde

datos se logra por medio de decodificadoresy circuitos combinacionales
que comprendenla secciónde control de la unidad.
En una unidad
fo rman por mediode procesadorabien organizada,Ios canales de datos se
busesy otras líneascomunes.Las compuertasde con-
trol que formulan los canalesde datos son esencialmentemultipleiores y
decodificadorescuyas líneas de selecciónespecificanel camino iequerido.
El pr ocesode in formaciónse hacemediant
cana l de datos puedeser especificadopor eúna función digital .uyo
un conjunto de varia"ob-leüsr,de se-
lección comunes.una unidad p rocesadór aque tiene
estructurada puede usarse en una gran cántidad una organizaciónbien
de operaciones.si se
construyedentro de un circuito integrado,se hará
usuariosya que para ca da uno se puedetener una disponi b l ep- dairf ae rme nutceh.o s
aplicac ión
En esta sección,se investigan varias alternativás para organizaruna
unidad procesadorapara propósitos generales.Todas'las organizaciones
emplean un ALU común y un registro de desplazamientoL. as diferencias
en las organizacionesse manifiestan principalmente en la organizaciónde
los registrosy sus canalescomunesal ALU.

Organizacióndel bus

cuando se incluye un gran número de registrosen una unidad de proceso
es más eficiente conectarlospor medio de busescomuneso arreglailos co-
mo_una memoria pequeñaque tiene un tiempo de accesomuy rápido. Los
registrosse comunican entre sí no solamenlepor la trasferenciádirecta
de datos sino también cuando se realizan varial microoperacionesE. n la
Figura 9-1 se muestra una organización con bus para crr"tto registros
cesadores.cada registro se conecta a dos multiplexores (MUX) p"ru p^froor--

mar los busesde entradaAy B. Las líneasde selecciónde cada -.ritipl"*o,
seleccionanun-registro para el bus particular. Los busesA y B se upli.u.,
a una unidad lógica aritmética común. La función seleccionád"etr ALU
determina la operaciónparticular que se va a realizar. Las microo"pieracio-
nes de desplazamientose configuran en el registro de desplazamiüto. El
resultado de la microoperaciónpasa a través del bus de saiida S hasta las
entradas de todos los registros. El registro de destino que recibe la infor-
mación del bus de salida se seleccionapor medio de un decodificador.
cuando se habilita, este decodificadoractiva una de las entradasde carga
del registro para suministrar un canal de trasferencia entre los datos d*el
bus S y las entradas del registro de destino seleccionado.

El bus de salida s alimenta los terminalespara trasfe¡ir datos de un
destino externo. una entrada del multiplexor A ó B puederecibir datos de
los elementos que lo rodean cuando es necesariotrásferir clatos externos
a la unidad deproceso.

U n i d a da r i t m é t r c a
l ó g i c a( A L U )

R e g i s t r od e d e s P l a z a m i e n t o Selectorde
desplazamiento

Salida de datos
Figurag-lRegistrosprocesadoresyALUconectadospormediodebusescomunes

375

3 7 6 D I S E Ñ oL o G l c oD E P R o c E S A D o R E S CAP. 9

otymtrirunugecollatcuLisnrpilaeóeuilzeg¡eoraxixsupdcoptneeirróleroiiduancpsdancarmeiedeópdaspnnreyerdoloosnaecprct.eelaselosasedssazycaaedamcdnomdiuoórlceilarnetocpaignpFnou-tldie2oebgsidxcufueioeoscrdtranaeoei9jsdnrsuc_oge,nui1iaro;ttd.nameseimnzbáaumoesdstnaároeta"sces.crotyftaronnurerdimmll.aeodáa.eeFsl sngci rgeoilesugrdsítiriarstfaoeitscgrsciao-m.a6dspiL.olrEiaartedurlqeclAouaod.LineeiUassr e--
cgoemeLpl aoflnuuejnonitddeaesddeind'lfeaocrumonnaidtcraioódln.qPauoetrrsaeuvjpeéems.vpdiresolapeAarLrsaUirsetseaemlliezaacdcreliaob.mruasincpdrroolooocspeedsraiafdecorióerdnnir:tie-s

Rl<_R2+R3

el control debesuministrar variablesde selecciónbina¡ias a las siguientes
entradasde selección: .,

1. SelectorMUX A: colocael contenidode R2 en el busA. /

2. selectorMUX B: colocael contenidode R3 en el busB.

3. selectorde función ALU: generala operaciónaritmétícaAt B.

4' selector de desplazamientop: ara la trasfe¡enciadirecta de la salida
del ALU al bus de salida S (ningun desplazami""lol.

5' Selectorde destinodel d e c o d i f i c a d o r :t r a s f i e r e e l contenidodel bus
SaRl.

pAzngrvcneauoéaiLesglmmsrUastii.ramosdiúLoetcenaeedrndo.osnenltenLaodtceraesdsceeiyleneiclirdbocnsccodeujotfou.meiossnnivPbrptpdomfaoealiueadgrsrnaeiazuusagecrarrabeitslaóaoamllntcinnegasdeioctsrerbaeranosdnairingemciitd-staounlorohebprnamraciiioaansentspnfiadsttrviduieaecáebaeerirp-levsoee¡alidaltodnsraelbsadarosaauulccdreldssoreoost.aeemsnrsRdnenppterbipt¡ueueoclioseógnlulsusassiadasotnltceimeTanddirdibrdoanuieoeoe"ntlsyrtrenf*atyeiui;psrle;uleeveol;emenansrit1,xtt.plg."óealooe.ea.rd,gen"eiesinnessepptfr,t¡o.arecuoaoerdollp^dmsdlanAuaosesassigsiutdcdgi"rdmeiueuaóeyusirnyleteeplrbrtnalteáeeoiát__l-_elj-
temaucpdfcvleioorsnrueeearognirA.cnantcebimsoe.eLsiecipctsattictursuic.usrrlunleoneear.litaos.cidhdgnrEetrapoe)eueidglsr.rncnodroisúmpohaAaaucaursrodatoelnelesuoygioysddfanesuiogeaeajurinnorrdnddncdacqooomaeuieenausrdrdailddp4efuacnatpeecsrnd¡úebbr-uounoumolirlAa-tyóicsncslpcelLeaeige.rarlsrUngoaicsorencDercuuaautdsisefoeindnipeaatessesoocolraclrcbirsliocdedutIadoidm,Itiaaoyesnnleletléeetaupda4geutncmen.eigstuctbbl"saáartnaéáiipaaeattnnsiussroddmrldto.uioaosaoeccaRnpledsroyeuñyÁrárppmnsnaorLeluartcsaífiioxuengcéidotspcruderrnoneiuaieenaá(epredpnrEsn.srcepreodaádl-e.igriaéd,"ededgosri",rosneyli;crles"rto,te"íeintaorcsosorpsarItedoea*u.eradosÉnaln.qddla,,padvida,odc,rdromaerradeeeauAurbdsaenlranuLieeicsotuitn"a1dsdjahiul,egl6eoadsgmgmu6lsdipearureicuipa..renr;Eutdiepl,renriaoáeic--o--s,

S E C .9 - 2 O R G A N I Z A C IDOENLP R O C E S A D O3R7 7 \1
.
i

gistros de desplazamiento se conectan también en cascada. L'n microproce-
sador de un grupo de bits debe distinguirse de otro tipo de CI llamado
mícroprocesador. El primero es una unidad procesadora mientras que el
microprocesador se refiere a un computador CPU completo encapsulado
en una pastilla de CI. Los microprocesadoresy su equipo asociado se dis-
cutirán en el Capítulo 12.

Memoria "scratchpad" o memoria tapón

Los registros de una unidad procesadora pueden ser metidos dentro de una
unidad pequeña de memoria. Cuando estos se incluyen en la unidad de
proceso, la memoria pequeña se llama memoria tapón o de borrado. El uso
de una pequeña memoria es una alternativa muy económica para conectar
los registros procesadoresa través del sistema de bus. La diferencia entre
dos sistemas es la manera en la cual la información se selecciona para la
trasferencia al ALU. En el sistema de bus, la trasferencia de información
se selecciona por medio de los multiplexores que forman los buses. Por otr¿r
parte, un solo registro dentro de un grupo de registros organizados como
una pequeña memoria puede ser seleccionadopor medio de una dirección de
la unidad de memoria. Un registro de memoria puede funcionar justamente
como cualquier otro registro procesador ya que su única función es alma-
cenar información binaria para ser procesada en el ALU.

Una memoria tapón o de borrado debe distinguirse de la memoria prirr-
cipal del computador. En contraste con la memoria principal. la cual alma-
cena instrucciones y datos, una pequeña memoria de una unidad de proceso
es meramente una alternativa irara conectar un número de registros pro-
cesadorespor medio de un camino de trasferencia común. La información
almacenada en una memoria tapón o de borrado debe venir normalmente
de la memoria principal por medio de instrucciones en el programa.

Considérese, por ejemplo, una unidad procesadora que emplea ocho re-
gistros de 16 bits cada uno. Los registros pueden incluirse dentro de una
memoria pequeña de ocho palabras de 16 bits cada una, o un RAM de 8 x 16.
Las ocho palabras de memoria pueden designarsecomo R0 hasta R7, corres-
pondiendo a las direcciones 0 hasta 7 y constituyen los registros para el
procesador.

[Jna unidad procesadora que usa una memoria tapón o de borrado se

muestra en la Figura 9-2. Un registro fuente se selecciona de la memoria
y se carga al registro A. Un segundo registro fuente se selecciona de la me-
moria y se carga al registro B. La selección se hace especificando las di-
recciones de palabra correspondientes y activando la entrada de lectura
de la memoria. La información de A y B se manipula en el ALU y en el re-
gistro de desplazamiento. El resultado de la operación se trasfiere a un
registro de memoria especificando su dirección de palabra y activando el

control de entrada de escritura en memoria. EI multiplexor a la entrada de
la memoria puede seleccionar datos de entrada de una fuente externa.

Asúmase que la memoria tiene ocho palabras, de manera que una di-
rección puede especificarse con tres bits. Para realizar la operación:

Rl<--R2+R3

3 7 8 D I S E Ñ OL O G I C OD E P R O C E S A D O R E S CAP. 9

el control debe suministrar las variables de selección binarias para realizar
la siguiente secuencia de tres microoperaciones:

Tt: A <- M[010] leerR2 al registroA
Tzi B <- M[011]
Tt: MÍ00ll<-AI B leer.R3al registroB

ejecutaruna operaciónen el ALU
y trasferirel resultadoa.R1

La función de control ?, debe suministrar la dirección 010 a Ia memoria y
activar las entradas A de lectura y carga. La función de control ?, debe
alimentar una dirección 011 a la memoria y activar las entradas B de lec-
tura y corga. La función de control ?3 debe suministrar el código de fun-
ción al ALU y al registro de desplazamiento para ejecutar la operación de
sumo (sin desplazamiento),aplicar una dirección 001 a la memoria, selec-
cionar la salida del registro de desplazamiento para el MUX y activar la
entrada de escrituro de memoria. El símbolo M lxxxl designa una pala-
bra de memoria (o registro) especificada por una dirección dada en el nú-
mero binario xxx.

Entrada
de datos

Di¡ección Memoriatapón
o deborrado
Saiida
de datos Carga

Carga

Selección
de función

Selección de
desplazamiento

Figura 9-2 Unidad de proceso que emplea una memoria tapón

sEc. 9-2 O R G A N I Z A C I O DN E L P R O C E S A D O R3 7 9

La razón de una secuencia de tres microoperaciones en vez de una.
como en un procesador con organización de bus, se debe a Ia limitación de
la unidad de memoria. Como la unidad de memoria tiene solamente un gru-
po de terminales de dirección y se va a comunical con dos registros fuente.
se necesitan dos vías de acceso a la memoria para leer la información de la
fuente. La tercera microoperación es necesaria para direccionar el registro
de destino. Si el registro de destino es el mismo que el segundo registro
fuente, el control podría activar la entrada de lectura, para extraer la in-
formación de la segunda fuente, seguida de una señal de escritura para
activar la trasferencia de destino y sin tener que cambiar el valor de la

dirección.
Algunos procesadores emplean una memoria de 2 puertos para poder

vencer la demora causada al leer dos registros fuentes. Una memoria de 2
puertos tiene dos líneas de dirección separadas para seleccionar las pala-
Lras de memoria simultáneamente. De esta manera pueden Ieerse los dos
registros fuente al mismo tiempo. Si el registro de destino es igual a uno

ds los registros fuente, entonces toda la microoperación puede hacerse du-

rante el período de un pulso de reloj.
La órganización de una unidad procesadora con una memoria de 2

puertos se muestra en la Figura 9-3.* La memoria tiene dos grupos de di-
recciones, una para el puerto A y otra para el puerto B. Los datos de cual-
quier palabra en la memoria se leen en registro A especificando una direc-
ói¿" ¿. De igual manera cualquier palabra de memoria se lee al registro B
especificando utta dirección B. La misma dirección puede ser aplicada a la

D i r e c c i ó nA Memoria tapón D i r e c c i ó nB
o deborrado
Habilitación Habilitar
escritura(WE) WE ME memoria (ME)

Figura 9-3 Unidad de proceso con una memoria de 2 puertos
*Esta organización es similar al microprocesador de un grupo de bits, tipo 2901

3 & D I S E Ñ OL O G I C OD E P R O C E S A D O R E S CAP. 9

direcciónA y a la direcciónB, en cuyo casoapareceráuna palabra idéntica
en ambosregistrosA y B. Cuando se habilitan por medio áel terminal ha-
bilitador de memo¡ia (ME: memory enable),se puedenescribir nuevosda-
tos a la palabra especificadapor la dirección B. Así las direccionesde A y
B especificandos registrosfuente simultáneamentey la direcciónB especí-
fica siempreel registro de destino. La Figura 9-B no muestra un camino
para datos externosde entrada y salida, pero puedenser incluidos como
en las organizacionesanteriores.

Los registrosA y B son, en efecto,retenedoresque aceptan nueva in-
formaciónsiemprey cuandoel pulso de reloj CP estéen el estado1; cuando
cP vaya a 0, los retenedoresse inhabilitan y retienen la información que
estabaalmacenadacuando CP era un 1. Esto elimina cualquier condición
de congestiónque puedeocurrir cuando se está escribiendoia nueva infor-
mación en la memoria. La entrada del reloj controla las operacionesde
lectura y escritura en memoriapor medio del terminal de hábilitación de
escritura (write enable). Este controla las trasferenciasa los retenedores
A y B.La forma de onda de un intervalo de un pursode reloj se muestraen
el diagrama.

cuando el terminal de reloj es 1, los retenedoreAs y B se abreny acep-
tan la informaciónque viene de la memoria. El terminál wE estátámbién
en el estado 1. Este habilita la operaciónde escritura y de lectura en la
memoria.Así cuando CP:l las palabrasseleccionadaspor las direcciones
A y B se leen de la memoriay se colocanen los registroiA y B respectiva-
mente. La operaciónen el ALU se realiza con los datos aima."nádo. .r,
A y B.cuando el terminal del reloj va a 0, los ¡etenedoresse cierrany se
retienen los últimos datos introducidos.Si el terminal de ME estátra6iti-
tado cuando wE:0, el resultado de la microoperaciónse escribe en la
palabrade memoriadefinida por la direcciónB. Así una microoperación:

Rl+-Rl+R2

puede hacersedentro de un período de un pulso de reloj. El registro de
memoria Rl debeespecificarsecon la dirección B y R2 con la direlción A.

R e g i s t r oa c u m u l a d o r

Algunas unidadesprocesadorasseparanun registro de otros y se le llama
regi'stroacumulador,abreviadoAC o registroA. El nombredé este registro
se deriva del procesode adición aritmética que se encuentraen los
tadoresdigitales. El procesode sumar muchos númerosse lleva a c"añbro,pa.lr--
macenando inicialmente esos números en otros registros procesadoreso
en la unidad de memoriadel computadory borrandoél ucnrnuludora 0. Los
númerosse agreganal acumuladoruno a uno en orden consecutivo.El pri-
mer númerose agregaa 0 y la suma se trasfiereal acumulador.El ..gurrdo
número se agregaa los contenidosdel acumuladory la suma formaáa de
nuevo remplaz as u valor previo. Este upmroacteostaosl.eAcsoín, etilnrúeaghisatsrota.,qauceumtoudloas"
los númerosse ag r e g a ny seforma la s

la suma paso a paso haciendosumas secuencialesentre rin número nuevo
y la suma acumuladapreviamente.

sEc.9-2 O R G A N I Z A C I ODNE L P R O C E S A D O R3 E : u

i
."t

El registroacumuladoren una unidad de procesoes un registromult,-
propósito capaz de realizar no solamentela microoperaciónde suma slnc'
lambién otras microoperacionesde la misma forma. De hecho, las cc,m-
puertas asociadascon un registro acumulador suministran todas las fun-

cionesdigitales encontradasen un ALU.
La F.igura9-4 muestra el diagrama de bloque de una unidad procesa-
dora que emplea un registro acumulador. El registro A se distingue de
todos los demás registrosprocesadoresE. n algunos casostoda la unidad
procesadoraes justámente el registro acumulador y el ALU asociado.El
iegistro en sí puede funcionar como un registro de desplazamientopara
.,rl*irrirttut las microoperacionesde desplazamiento.La entrada B sumi-
nistra una fuente de información externa. Esta informaciónpuedeprovenir
de otros registros procesadoreso directamente de la memoria principal
del computador.El- registroA suministra la otra fuente de información al
ALU poi el terminal A. El resultadode una operaciónse trasfierede nuevo
al registroA y se remplazasu contenidoprevio. La salida del registroA
puedJir a un destinoexternoo a los terminalesde entradade otros regis-

tros p r o c e s a d o r eos unidad de memoria. los registrospro-
irara formar la suma de dos númerosalmacenadosen
cesadores,es necesarioagregarlosen el registro A usando la siguiente

secuenciade microinstrucciones:

Tti A <-0 borrarA

Tz:A<-A*Rl trasferirRl aA

Ts: A<-A 1R2 agregaRr 2aA

Selección Entrada de datos
fuente B
Registros procesadores
o

unidad de memoria

Salida de datos
,ligura 9-4 ProcessCc¡ con un registro acumulador

D I S E Ñ OL O G I C OD E P R O C E S A D O R E SC A P . 9

pRtErao2l rraAseeogatiarsgogtrrsreoecgAgáaalsnacedul bolavooalsrloaroacrpptpuurraeiemldsceeeorsnonet.etrEetdn¡leaipásArofi.emdreLeidarcane,aúrrroms,s,u'ed"rdeofeoAe.int.*i""fEdot1;l-;rsseeeqtg.¡ruaeAnsrdifdidoeoner.úebaemluersreaogreissne-

9-3 UNIDAD LOGICAARITMETICA

cndnaduieeúrenoirmtanlalmaóeeuqgésurnudiotnciieiciddafdaeaelacasrdedoslbíln.mnáó&Ltesgbeaiaiisvcscns.aaaalrdíscaine"aireyoibutsanrmnesea-dérslce.etdEoiccessncaetjisauól(een_ApcrpineLoncacUi"drócáa)eni"óseo.enusrppetdeuuuaern"erac"aidioczoefiaduronrirnnf;""i;ciec.pis";ró;;.o;'"n"ó¡gi;"rm;ii;t;;ü;".;u;siu;ól-e.tnilEohprdaeAesrALataoULcppiU2óeat;nirred;atd;ine;cci;geimu;oiultanaan_erl s
mbnsdtetempcrieleascnuaoaéorupatarrtyadraoiestEacroLeorapscgdaolal.acielmsefasónuaelir,Fnics.gauúanrdaeidricydmttagcarrrreiiuacaooaastesiursrntdqteramuroieaoeaunnenpgltedsseegelrdae-ónedonusc5ergueoeceaosmoideipccivpdópegouneaiaeanenonectrsrdrtrtnaaiosao-araf(eecetmi.csdgccrcisfiaiólaeadomoouoa-nndeuennnnseáeseonneceAlsdn2.raissoo,aaóliaaaeptlsrcrpnrauig.néeuiatCpss-tmrremr"ceoraoaastnoélsrmnécayttmtiouita.ilctaái.cirtncbsid¿vdrneaóaoioaareesnsnrtsrssbe.oarevima"aFDlst(nsárroaceb.ptrierüqtlaotnriemE".aeudnuocdbdleéo.si,setflerdtl)stuei,ui'.eceuciüLsorgar-aedl;oucmraenr"senrshn;liicria;"fonsylc;iarA,rceáraiuoroóLa.lr"ll,,pipónaUti'c¿deieegsvceqese"r.itdaicaanrutósseaeadcctenaperdss4eiirapóooledo.iebduuntsnsLe)mcaiaienepyatbcerssdésosliiAan.eódettcsmirtdLLnegduicribdaoUtoeaéaaB_les_s-.-e--

IJn diseñode un ALU típico se llevará a caboen tres etapas.primero,
será emprendidoel diseñods la secciónarit méticu. s"gu"ao, debeconside_
rarseel diseñode la secciónlógica.Finalm ente,d"b";;-;;áificarse la sec_

A4 A3 A2 Ar 84 nr nr-d,

J2 (Selecciónde modo)

(Arrast¡e de salida) Unidad lógica aritmética st
s0 (Selecciónde función)
(ALU)
(-. (Arrastre de entrada)
Ft Ft F2 f.l
..D

Figura g-5 Diagrama <tebioque de un ALU de 4 bits

sEc.9-4 D I S E Ñ OD E U N C I R C U I T OA R I T M E T I C O3 8 3

ción aritmética de manera que puedan realizarse ambas operaciones aritme-
ticas y lógicas.

9 . 4 D I S E Ñ O D E U N C I R C U I T OA R I T M E T I C O

E l compon entebásic o delasec cióna ri ot mnsétrt ui cyaedc oenu nuAn LnUú me seurondseu mc i ra-d o r
purri"lo. Ur, .,r-"dá r en para lelo se c

"r,

ABAB

cin=o

F=A+B Í'=A+B+l
(b) Sumaconarrastre
(a) Suma

F=A+B F=A+B+l

(c) A más el comPlemento (d) Sustracción
deldeB

AO

Lir - u

r-n F=A+1 ,{
(f) Incrementa¡,4
(e) TrasferirA :i
,4 A1lI's I All I's
1.
Cou,
ci' =o

FF ==AA--t l F=A
(g) DecrementarA (h) T¡asfe¡i¡A

Figura 9-6 Operaciones obtenidas mediante el control de un grupo
de entradas de un sumador en paralelo

3 U D I S E Ñ OL O G I C OD E P R O C E S A D O R E S CAP. 9

mpcdertdcrauaenuioáfcir.eilpststaiaorooasalneesnsirldngialuesdotonlemsuaepiasmf,lluaicraotciediaostpadmodueeoteroin,pséccvtrtertoooredioanmnc.sevdceatpirooarseor_pmcneoldeauetbperonadtlaaeeleedcq-tnxlaliouaoicttdsieonípecarrseorocnsvssunaaacaiileurmctlioocaitseómtrnuran.nüédmdáEtutoeoeialac.uEsldeuaonbolns.,i.rt.ig"rc"rr.ir"actá"u,r";os"p";rcmpTroo;a"iáñdps*d"ir"elal;ael.a;,"("el;t-táv;oinób1ve,d-ti"orreé; a.rs'lsdae"-"ac.ppcrsco"eo¡ai.nsórst .uisniapcbEnusaillóem-ss2nalaouaad)r.abmdrsealtcoloeacsorbpndeitnrireeotn_-e_rr
osgsmedsC9Bnepeaune-úene6mndoytmnArr:(bedataaLaeeostodmciIal)ureceda.ioHanáanósneBsbrsrneaeru1Ftd'i2acnaeoFma.ecesidalb:euiatlcertcCnrniiaaooeAeoacBidnrn'mnrrdr-oA*desiaceetpCiEo,mmosdF0le-sretmée:eé:cr"ntm¡lean:t,otei1nrAAdtocees-aocróaot,+nend.roptsola0lasmooeaaBh'edsc,rloco'lFeaieo+ardurcion-ama1gaisetgió.urueaadlnrnsátrnelanrerialitsateadcoBsgi"ssefua"ee-F.difpn"a6miccreiAe.eng(}toáiróf.güdeeule)Jaorraonn,rál*escaa"tu"u0gera;9nEa".e"ano_"o¡d"nEsnb]gp6-átóidsótlrr"(si'ltouai;rbEeé"o;trupd;t);en;lrs;",,oa¿..ce;;;e:pA";i;;d.;b'J;o*:.a;eii"*ea"u"+,..eult-1iari¡nnluufot.,crsmns'auaasúatládaoelumergisasl¿rsoynrmeseetaebcrsrrllhaiFiguaeontclcasaa.acabocFcrilA1limsbideienióegaugeessapnnumrBu¡llelsldraeiaan,aoia-o_
nFnaclutmoeeo:r:norA8rncamFssyu+ssL:tuiia2rtnsamarl"taeAAreeacldde:q-nod9reesu.nob-.eBsrdrui n:aein.e2EcPalnsii"rEand1ótipao¡astnsaaot"cieeorltn.houasgAcapnsl,u1-erectrdi.r_loderisoacédorn:dci1psuuúóaot.ocnmnens.eearei"enrnlrd.,apsoler.ecua"deomi."rresrpFoucouee.niufsg.nrroit"iutiurpmoRaaarnes-caeceo"riiss1aógsóe,tucn;-.nadl;6msi""nóae("u;adgn;""rm;'-¡do)dd,"ac;aoIe1eñosrn"c;dldet""odrr:iesee"cocdcr^íao2";r"er,pm,e"^ást-rmátploaeo"le|redrni:oatondAotZbsuoaAs_t,2m,lic.1oecneso.ésnunesnrea1ieosbcn2iboeioddnntpnb,éioase-atrlrreinoerei,eoaaessl-e

I: 0000 l00l : (9)ro
2n:t 0000 0000:(256)10
2-|: illl llll:(255)ro
A+2n _l_l 0000 1000:(256+8)r0

sttulFidQrerlanuanaeculoscicuietd,urtir/nneaóancaamnneadlY,asdacrae¿orepoistnr.n:alYcEeti0etacbulsrsn,adliatoaatcoedolAircaidnaórcoqeadenitnFursíetnlctpei1atrpguripo1ccueeiFrltaoarano1diagngnudedsutrh,lgiereeaseróa-saga6nileyilgaáglut"nisn-enndslte7admracat,aroidlcaerel2dlaacuenn"aupmiea:tdltndo2lrnneaoeaerbdnn.lldc6aBúoavap,aem,aFBduml eyelais.goubmrpleeuoruoiaerrbodn:srmanibaa;,nt'urgitoÉsan,ri' eruuuzar,2i.n.trmlr,o'irrbeá¿i¿i,cán;gu-io;..á.i:-;nsL,ngaL¿1ntiu-"áÁsr"".""asóil,uccrgil ogogo1l.larsmrumíu.uansranAop¿mselofres.uasuase:íepssn0.,maomdmc1sre0eieuuon,yesenhltl-esaaseoa.-_-s,

sEc. 9-4 D I S E Ñ OD E U N C I R C U I T OA R I T M E T I C O3 8 5

compuerta AND superior genera el valor de B, mientras que la salida de
Ia compuerta inferior es 0; de manera que X:8,. Cuando s1s6:10. ia
compuerta AND inferior genera el complemento de B, para dar l, : B .
Cuando s¡so: 11, ambas compuertas estarán activas y Y,: Br + B; :7.

Un circuito aritmético de 4 bits que realiza ocho operaciones aritmé-

ticas se muestra en la Figura 9-8. Los cuatro circuitos sumadores comple-
tos (FA) constituyen el sumador en paralelo. El arrastre que va a la pri-

mera etapa es el arrastre de entrada, el arrastre de salida de la cuarta

etapa es el arrastre de salida. Todos los dem¡is arrastres están conectados
internamente de una etapa a la siguiente. Las variables de selección son
sr, so y Ci". Las variables sr y so controlan todas las entradas B a los

circuitos del sumador completo como en la Figura 9-7. Las entradas A van

directamente a las otras entradas de los sumadores completos.

Las operaciones aritméticas configuradas en el circuito aritmético se

listan en la Tabla 9-1. Los valores de las entradas AND a los circuitos su-
madores completos son una función de las variables de selección sr y so.
Agregando el valor de Y en cada caso al valor de A más el valor de C¡n, da
la operación aritmética en cada entrada. Las ocho operaciones listadas en
la tabla se desprenden directamente de los diagramas de función ilustra-
dos en la Figura 9-6.

Bi

Figura 9-7 Circuito verdade¡o,/complementou,no,/cero

Tabla 9-1 Tabla de función para el circuito aritmético de la Figura 9-8

Selector Y Sa!ida Función
defunción iguala igual a
Trasferir A
J ¡ Jg Ctt lncrementarA
AgregarB a A
000 0 F:A AgregarBaAmás1
001 0 F-A+l Agregarel complementode 1
010 B F:A+B
0ll B F:A+B+l deBaA
100 Agregarel complementode 2
E F:A+E
d,eB aA
E F:A+E+l D e c r e m e n t aAr
Trasferir A
0'- Todounos F:A-l
I Todounos F : A

Cou,

Figura g-8 Diagrama lógico del circuito aritmético

Este ejemplo demuest¡ala factibilidad de construir un circuito arit-
mético por medio del sumador en paralelo. El circuito combinacional,que
debeser adicionadoen cada etapa entre las entradasexternasA, y'Bi y
las entradasdel sumadoren paralelox, y y,, es una función de las'opera-
cionesaritméticas que van a ser configu¡adas.El circuito aritmético áe la
Figura 9-8 necesitaun ci¡cuito combinacionalpara cada etapa especifi-
cadapor las funcionesde Boole:

X,: A,

Y¡ : B¡ss* Bi s, i : 1 , 2 , . . . , n

donde n es el número de bits del circuito aritmético. En cada etapaj, se
usan las mismas variables de seleccióncomún sr y so. El circuito-combi-
nacional será dife¡ente si el circuito genera diferenles operacionesarit-
méticas.

386

Efecto del arrastre de salida I
El arrastre de salida de un circuito aritmético o ALU tiene un significado
especial,principalmente despuésde una operación de sustracción' Para i
investigar-elefectode un arrastre de salida, se expandeel circuito aritmé-
tico de la Figura 9-8 a n bits de maneraque Co't: 1, cuandola salida del ¡
circuito es igual o mayor que 2". La Tabla 9-2 lista las condicionespara
tener un arrástrede salida en el circuito. La función F : A tendrá siempre . ''r
el a¡rastre de salida igual a 0. Lo mismo se aplica a la operaciónde incre-
mento F: A{ 1 exceptocuando pasa de una condición de sólo 1, a una rl
condición de sólo 0, en cuyo tiempo se produceun arrastre de salida de 1. t,, I
Un arrastre de salida de 1 despuésde una operaciónde adición denotauna l: :l
condición de sobrecapacidadE. ste indica que la suma es mayor que o igual
a 2" y que la sumaconsistgden * 1 bits.

La-operaciónF: A+B agregael complementode 1de B a A. Recuér-
desede la Sección1-5 que el complementode B puedeexpresarsearitméti-
camentecomo 2n - I-8. El resultadoaritmético de la salida será:

F:A+2n-l-B:2n+A-B-l

S i A > 8 , e n t o n c e(sA - B \ > 0 y F > ( 2 " - 1 ) ,d e m a n e r aq r ¡ sC : 1 ' Q u i -
tando el arrastrede salida 2" de este resultadodará:

F:A-B-l
lo cual es una sustraccióncon bit prestado.Nóteseque si A< B, entonces
(A- B)< 0 y F < (2" - 1) y así co,t :0. Para esta condiciónes más conve-
niente expresarel resultadoaritmético como:

F:(2"-l)-(B-A)
el cual esel complementode 1 de B - A.

Tabla g-2 Efecto del a¡rast¡e de salida en el circuito aritmético de la Figura 9-8

Selector Función Cou, : I Comentarios
defunción aritmética
si

J¡ Ss Cin

00 0 F:A Cqsl €s siempre 0
Cout:1 y F:0 si A:2" -l
001 F:A+l A:2n - | Ocurre sobrecapacidad si C.u¡ : 1
Ocurre sobrecapacidad si Cou¿: 1
0r0 F:A+B (A+B)>2" Si Co,r:0, entonces A < B Y
(A+B)>(2"-r)
0ll F:A+B+l A>B F: complemento de 1 de(B - A)

100 F:A- B-r A>B S i C o , r : 0 , e n t o n c e sA < B Y
F: complemento de 2 de (B * A)
l0l F:A-B A +0 Cuut: 1, excepto cuando A: 0

lr0 F:A-l Cs¡¿es sienpre 1
lll F:A

387

3 8 8 D I S E Ñ OL O G I C OD E P R O C E S A D O R E S CAP. 9

condiciónpara el arrastrede salida cuandoF : A+ B + 1 puedede-
ducirsede manerasimilar. B a t es el símbolopara el com plementbde z de
B. A¡itméticamente,ésta ceui
2" - B. El resultadode la es una.operaciónqué produ númeroigual a
o p e r a c i ó np u e d e
"*pr"é"..u "o^o,

F:A+2-B:2+A_B

Si A¡ 8a,r r aes tnrteodnecseas\lli-d a n¡ >0 y F22", d e m a n e r aq u e C . , u:,1 . Removien_
do el 2' se obtiene:

F:A-B

l(1A -"."8ll ) es una_operaciónde sustracción.si a pesarde queA<B entonces
<0 y F<2'para que Cout:0. El r e s u l t a d oa r i t m é t i c op a r a e s t a
condiciónpuedeser expresadocomó:

F:2-(B-A)

cp1al:-o2oerd."in1retcom.sTu-O+Eóea,élalll-otAc.idoaeuci.rparsancEre-oueaes1rislsstaty.oatcLccroeooaigónprde-únpreen1edllreteseceairmamtnacaldiaeiesódelinnecaeccttnorrmooeaetmmdsrpsmaesppfrdiee-l2eleiayenermedetmmconAeesupenleBaaranteo-n1otTFAddodbeaee.oytxbiA22eclaaAeánl>aespsesÉu-tí2deio,r.;",sclg"a-trua"eitu"a;rs.","l'r:nauita;r;dl;t-iJi"i":odarirA2eocau".:udd0eae.¿( 2ls-le"aa_Ass-lIisu)ud:1usna2s)ts^rid+ntareBAúya;1mec++.ncAeÁdi 1ór,oon

Diseño de otros circuitos aritméticos

El diseño de cualqu ier circuito aritmético que generaun conjunto de ope-
raciones_ b á s i c apsu e dellevarsea cabosiguiéndJel proce d i m i e n t oe n u n c i a -

dfctpdfueiauuo¡nnnsietciceroeaiiinóóen-.ncsnndeau-oslssdmeeueearanojoeegdbbdmteotatiinirapepecelgnanoorereamdapnduemrpan-lellasaaevspdsitutoooeamc.rabofaAmulmadlsnaepoucddsurrieinóecoeironfnetudmantcnersdpoacl colimdseóoqautnomo,smre.qbJeanEuixndtseotlaoaetderctre"iFn"o"plnaainrg"oslapuac.cl"irAseeoras"dnoi9qp"iapilu-la"oae6ier",sr.t"aidtDerocsenieebdotleresncadneoedliamssdaadeegéiteermardlnaabuezgmglelaarraescuodtidgpbrreae_oa--
con el siguienteejemplo.

E

C' =0

F = A ++BB F=A+E +t=¿-g

(a) Especificación de la función

q

¡]

J

A' - l . C i ¡ c u i t o
B¡ combinacional

C¡*I
(b) Especificación del circuito combinacional

00 00 X¡=A¡
0l 0l Y¡--B¡es
l0 l0
1l ll 'm

00 0l

0l 00
l0 ll

ll I0

(c) Tabla de verdady ecuaciones implificadas
Figura 9-9 Deducción de un circuito sumador,/sustractor

ucni racEuvJai tEroiMar ebPalLelDidzeaAs9e+-lIBe; c. CcDiuóisanesnñdyaorduonss:ec1nirtcrueaildtocaissrAuc muyiatBod'eorjC,e/uscauunsttadrAoa-scBt:o0rcLoeonl -
mando el complementode 2 de B.
La deducóióndel circuito aritmético se ilustra en la Figura

g-g. El diagramade función se muestra en la Figura 9-9(a).Para
:0' Para la par,t9d9 sustracción
la p-"a"r"teet idte" "suma,se necesitaC,. y C'^:1' La tabla de funciónse
t" el coáplementode B
la Figura 9-9(b). Cuando s:0, X, Y Y, de ca.dasumador
iirtu debJn ser iguales a las entradas externas A, Y Bt 19!
"r,

"; ;"ir;";p"f""tt"e . C u a n d ós : 1 , s e d e b et e n e r X ¡ : A t v Y¡: Bl' EI
Iio.tt" de salida debeser igual al valor de s. El diagramaen (b)

mrüc"I.t"r.a"drfuái"l;dáegñ;Íe"srdiltforXclaoies,rslasca: sluoiesp"1ictcuo.hohoasoLamatiáccvrupesiiatólmeiÉlnfgomu,édurne"teapictsctlluitoodaocr.ne^idrLlecal"laasuasedBisttane,ocvbturÁpcalaaaoaardtimtlrdaaaiodebbAaellivae,nnsessatiremrdcdúanielpadotoildanmeicfesanhiacncltoesaru(andecacdan)unuastsndarpebaaotraiodsnoerba:aatteasri0'nilep-ao'tnLarssEeaat.ícldsspLiisatariaa---s-

cuitos combinacionalesson:

X¡: A,

Y,:8,@s

389

Cout

Figura g-1O Ci¡cuito sumado¡/sust¡acto¡ de 4 bits

El diagramadel circuito sumadorsustractorde 4 bits se muestra
en la Figura 9-10. Cada entrada B, requiereuna compuertaOR-
exclusiva.La variablede seleccións va a una entradade cadacom-
puerta y también al arrastre de entrada del sumadoren paralelo.
El sumador/sustractor de 4 bits .puede ser construido con dos
CI. Un CI es el sumadoren paralelode 4 bits y el otro es un CI de
c o m p u e r t a sO R - e x c l u s i v a sc u á d r u p l e s .

9 - 5 D I S E Ñ OD E L C I R C U I T OL O G I C O

Las microoperacioneslógicas manipulan los bits de los operandossepara-
damentey tratan cadabit comouna variablebinaria. La Tabla 2-6 lista lG
operacioneslógicas que pueden ser realizadascon dos variables binarias.
Las 16 operacioneslógicaspuedenser generadasen un circuito y seleccio-
nadaspor medio de cuatro líneasde selección.Como todas las operaciones
lógicas pueden obtenersepor medio de operacionesAND, OR y NOT (com-
plemento),podríaser más convenienteemplearun circuito lógicojustamen-
te con esasoperaciones.Para tres operacionesse necesitan dos variables de
selección.Pero dos líneas de selecciónpueden seleccionarentre cuatro
operacioneslógicas, de manera que se escogetambién la función OR-ex-

390

0 F,= A, t B, OR q
XOR
I Fi=Ai@Bi AND *.
NOT
MUX F,= A¡8, "l
2 F ¡ =A i
,:1
3 Selección
I
(a) Diagrama lógico (b) Tabla defunción

Figura 9-ll Una etapa de un circuito Iógico

clusiva (XOR) para el circuito lógico que va a diseñarseen esta y en la
sigriente sección.

El métodomás simple y directo de diseñarun circuito lógicose mues-
tra en la Figura 9-11.El diagrama muestra una etapa típica desigrradapor
¿l suscrito i. El circuito debe repetirsen vecespara un circuito lógico de
n bits. Las cuatro compuertasgeneranlas cuatro operacioneslógicas OR,
OR-exclusiva,AND y NOT. Las dosvariablesde selecciónen el multiplexor
seleccionanuna de las compuertasde la salida. La tabla de función lista la
lógica de salida generadacomouna función de dos variablesde selección.

El circuito lógico puedeser combinadoen el circuito aritmético para
producir una unidad lógica aritmética. Las variables de selecciónsr y so
pueden hacersecomunesa ambas seccionessiemprey cuando se use una
tercera variable de seleccións2 para diferenciar entre los dos. Esta con-
figuraciónse ilustra en la Figura 9-12.Las salidasde los circuitos lógicos
y aritméticos de cada estadopasan por un multiplexor con la variable de
seleccións2. Cuando sz : 0 se.seleccionala salida aritmética, pero cuan-
do s, : 1 se seleccionala salida lógica. Aunque los dos circuitos pueden
combinarsede esta manera,ésta no es la mejor forma de diseñar un ALU.

Un ALU más eficiente puede obtenersesi se investiga la posibilidad
de generaroperacioneslógicasde un circuito aritmético ya disponible.Esto
puede hacerseinhibiendo todos los arrastres de entrada de los circuitos
del sumador completo del sumadoren paralelo. Considéresela función de
Boole que generala suma de salida de un circuito sumadorcompleto:

F¡:X¡O)iOq

El arrastre de entrada C, en cada etapa puedehacerseigual a 0 cuando la
variable de seleccións2 s€8 igual a 1. El resultadoserá:

F,: X,@ Y,

391

Una etapa de un
circuito aritmético

Una etapg de un
circuito lógico

Figura 9-12 Combinando circuitos lógicos y aritméticos

Tabla 9-3 operacionesrógicasen una etapa de un circuito aritmético

J2 s l J0 X, Y, C, F , : X , @ Y , Operación Operación
requerida
100 Ai 0 0 F¡: A¡ 'l'rasferirA
l0l A¡Bi0 0 OR
ll0 Ai B,' F,: A,@B, XOR XOR
rll .4i10 AND
Ft: A,OB, Equivalencia NOT

F': A! NOT

cvEuasi.ttraoosedxope:rl es¡su.imóAnasedís,ovcráoclnoidmealpdaleerrtboaisgdteorneaedlraeaspnaIraolipdoiapeded,raeadccdaieódnalaoeRotá-pepexarcaigicuuisóainlvoaaR.0-,elxocslucisri-_
drci9ardgeiua-ea0un3aebs,catmslrec8ileaoluol,aae,d,enolcaeossBp0cptieos'idr,oemrRaeéoanrll-riaecaaeee1cicsrnxso.iscócetEncereiplnueólauldoasnssvclesróti,agir2vemrgolyca:qoi1eeuco,url.daipadirtivsoeroeeaEoraqXdaJlbseruec,titnetiiasvmodcen'anovisiéaldaespeetsais¡volnsicióseaarccogpqmroibádiioucgaylpeereabered:ieeslnaleuieosgcsntbFsuoaatieamevgácllanuoeprailr.ncldoarelfc*araing"igsópii-eü¿ecg"au;nrnn.rbaattEtolrcinila"Li.áqdóiávrauonlaauestlAalae,oos,rndrq.etced"uaeLlraeenracxaireic.egrT'r,ainuaa"psta,svburflaaeeleea__a_s-

4 @Bi : A,B, + A;Bl : A,O B,

La última entrada en la tabla es el NOT u operaciónde complementova
que:

A,@l:Ai

392

sEc. 9-6 D I S E Ñ OD E U N A U N I D A DL O G I C AA R I T M E T I C A3 9 J q

La tabla tiene una columnamás la cual contienela lista de las cuarr, ¡
operacio_nelósgicasque se van a incluir en el ALU. Dos de estasoperacrc,_ I
qfcneouerneset,gnel aecsintaoaeyRdr e-aeleeaqxssucifdlvuueanslscieviinoaecnysieaeps.ElloóNssgtioeibcTlpaersmoeobsoRltdeáimynf idcaAaisNsrepDeionlnvecienbi rslvceteuisgzi.Ltadoaeenáplralriaets"gfsmuui g¿nnutctiaiiceoqonnu-teedeseásdmeeecabtcner aiseósern_ar.
1,
9 - 6 D I S E Ñ OD E U N A U N I D A D L O G I C AA R I T M E T I C A
.t
En esta secciónse diseñaun ALU con ocho operacionesaritméticas y cua-
tro operacioneslógicas. Las tres variables de selecciónsz.sry .s,,selec- ,',.
cionan ocho operacionesdiferentesy el arrastre de entrada c* se ,r.u pu.u
seleccionarcuatro operacionesaritméticas adicionales.Con s; :0, las va- ci
riables sr y so conjuntamentecon Cln, seleccionanlas ochos operaciones
aritméticas listadas en la Tabla 9-1. Con s, : 1, las variables y ,o ,"- 1
leccionanlas cuatro operacioneslógicasoR, oR-exclusiva,AND",y ñor. '1I

El diseñode un ALU es un problemade lógicacombinacional.Debidoa i
que la unidad tiene un patrón regular, ésta puede fraccionarseen etapas
idénticas conectadasen cascadapor medio de los arrastres.Se puede di- I
señar una etapa del ALU y luego duplicarla para conseguirel número de
etapas requeridas.Hay seis ent¡adas a cada etapa: A,,8,, C¡, s2, s1
y s0. Hay dos salidas de cada etapa: la salida 4 y el alrastre de sálida
c,*,. Se puedeformular una tabla de verdad con 64 entradasy simplificar
las dos funcionesde salida. Aquí se escogeel uso de un procedimientoal-
terno que usa la disponibilidadde un sumadorparalelo.

Los pasosde que se componeel diseñode un ALU son los siguientes:

1. Diseñar la sección aritmética independientementede la sección
lógica.

2. Determinar las operacioneslógicasobtenidasdel circuito aritméti-
co en el paso 1, asumiendoque los arrastresde salida de todas las
etapasson 0.

3. Modificar el circuito aritmético para obtenerlas operacioneslógicas
requeridas.

El tercer pasoen el diseñono es un procedimientodirecto y requierecierta
cantidad de ingenuidadpor parte del diseñador.No hay guru.rtíude que
se puedaencontraruna solucióno que Ia soluciónuseel -itrno númerode
compuertas.El ejemplopresentadoaquí demuestrael tipo de pensamiento
lógicoque-se requierealgunasvecesen el diseñode sistemasdigitales.
se debetener en.cuentaque se disponede varios ALU en óI
lados.En un casopráctico, lo que se debehacer es buscarun ALU"ra,d"uepcru,ar--
do o unidad procesadoraentre los circuitos integrados que se obtienen
comercialmenteP. ero, la lógica int erna
diseñadopor una personafamiliari zada de l CI seleccionad od e b eh a b e r s i d o
co n las técnicasde diseñológico.
La so luciónpara el primer
_L a s<¡luc iónal segundopaso d pasodel diseñose muestraen la Fig uia 9- g.
sol uciónp ara el tercer pasose e diseño es presentadoen la Ta bla g-3 .L a
d e d u c ea
continuación.

3 9 4 . D I S E Ñ OL O G I C OD E P R O C E S A D O R E S C A P ,9

De la Tabla 9-3 se observa que si .e:: 1, el arrastre de entrada C, en
cada etapa debe ser_0. co1 srso:00 cada etapa así genera la función F,
- ,4,. Para cambiar la salida a una operación oR, se dábe cambiar la entra-
da a cada circuito sumador completo de A, a e j+ 8,. Esto puede lograrse
aplicando la función OR a B, y A, cuando s2srso:100.

Las otras variables de selección que dan uña sálida indeseable ocurren
szsrs ':110. La unidad de esta manera ge
9ua¡d9 pero nera una salida d:
Ai O Bi ar la se requier e _generar l a operación RñO F¡: AiB,. Se puld"
investig pos ibilidgd de aplicar la función oR a
cada entiada A,
algnna función de Boole K,. La función que se obtiene se usa para X, óu"aon.,-
do srsrso:110:

F, : X¡ O l: (At+ K)@ n; : AíBi+ KiBi+ A,iKi,Bi,

una cuidadosainspección del resultado revela que si la variable K,:8,, se
obtiene una salida:

F,: A,B, + BiBi + AiBiBi': A,B,

Dos términos son igualesa 0 porqueBiB,,:0. El resultadoobtenidoes la
operaciónAND que se requiere.La conclusiónes que, si A, se aplica con
Bj a una función OR cuandos2srs':110, la salida generala óperación
AND.

El ALU final se muestraen la Figura 9-18.solamentelas dos etapasse
dibujarr, pero el diagrama puede extendersefácilmente a más etapas. Las
entradasa cada circuito sumado¡ completose especificanpor medio de las
funcionesde Boole:

X¡: A¡ + srsisiB*, srsrs'oBi
Y , : s o B*, s r B i
Zt: s'2Ct

Cuandosz :0, las tres funcionesse reducena:
X,: A,
Y , : s o B+, s r B i
Z,: C,

las cualesson las funcionespara el circuito aritmético de Ia Figura 9-g. Las
operacioneslógicas se generancuando sz : 1. para s2srso: 1ó1 ó 111,las
funcionesse reducena:

X¡: A,
Y,:srB,*srBi

c:0


Click to View FlipBook Version