Está en la página 1de 641

Contenido

lr

PREFACIO v l

t S I S T E M A SE I N A R I O S
't-'l
Computadores digiialesy sistemasd¡gitales
t-z Númerosbinarios 4
t-5 Conversiones entre númerosde based¡ferente
1-4 Númeroshexadecimales y octales 9
-5 Comolementos I I
-6 Códigosb¡nar¡os | 6
Almacenamiento de binariosy regislros 23
I -8 Lógicabinaria 26
-q Circuitosintegrados3l
Referencias 33
Problemas 33

A L G E B R AD E B O O L EY C O M P U E R T A S
LOGICAS 36
z-l Def¡n¡cioneslógicas 36
2-2 Definiciónaxiomáticadel álgebrabooleana 38
2-3 Teoremasbásicosy propiedadesdel álgebrade
Boole 4l
2-4 Funcionesbooleanas 45
2-5 Formascanónicay normalizada 49
2-6 Otrasoperacioneslógicas 55
Compuertaslógicas digitales 58
2-8 Familiasde circuitosintegradoslógicodigitales 62
Referencias 70
Problemas 7l
CONTENIDO

S I M P L I F I C A C I ODNE F U N C I O N E S
DE BOOLE
75
3-1 E l m é t o d od e l m a p a 7 5 ,
3-2 Mapas de dos y tres variables
3-3 7Sr/
M a p a d e c u a t r ov a r i a b l e s g O
3-4 X
M a p a s d e c i n c o y s e i s v a r i a b l e sx . g 3
3-5 S i m p l i f i c a c i ó nd e u n p r o d u c t o
d e s u m a sy , g 6
3-6 E j e c u c i ó nc o n N A N D y N O R
Sg
3-7 O t r a s e j e c u c i o n e sc o n d o s n i v e l e s g 6
3-8 C o n d i c i o n e sd e N O i m p o r t a
I 03
3-9 E f m é t o d od e l t a b u l a d o I O s
3 -1 0 D e t e r m i n a c i ó nd e f o s p r i m e r o s
3-11 implicados lOs
S e l e c c i ó nd e l o s p r i m e r o s i m p l i c a d o s
3 -1 2 O b s e r v a c i o n e sc o n c l u y e n t e s | ||
| |s
Referencias | | s
Problemas | | 6

L O GI C A C O MB I N A C I O N A L
120
4-1 fntroducción | 20
4-2 P r o c e d i m i e n t od e d i s e ñ o
4-3 | 2l
Sumadores 123
4-4 Sustractores | 27
4-5 C o n v e r s i ó ne n t r e c ó d i g o s
4-6 l30
P r o c e d i m i e n t o d e a n á "i sf i s
4-7 | 3g
C i r c u i t o sN A N D d e m u f t i n i v e
4-8 l | 36
C i r c u i t o sN O R d e m u ¡ t ¡ n ¡ v á i
4-E t44
L a s f u n c i o n e so R e x c r u s i v ay
' de equivarencia r4g
Referencias I 54
Problemas I 54

L O GI C A C O MB I N A C I O N A L
C O N M S I Y L SI
159
5-1 fn t r o d u c c i ó n I S g
5-2 S u m a d o r p a r a l e l ob i n a r i o
5-3 | 60
S u m a d o rd e c i m a l | 6 6
5-4 C o m p a r a d o rd e m a g n i t u d e s
5-5 | 70
Decodificadores | 7 |
5-6 Muftiplexores I gl
5-7 M e m o r i a d e s o l o l e c t u r a( R O M )
5-8 188
A r r e g f o l ó g i c o p r o g r a m a b l e( p L A )
5-9 195
Notas concluyentes 20l
R e f er e n c i a s 2 0 2 I
Problemas 2O3

I
CONTENIDO v

LOGICA
SECUENCIAL 208
6-1 fn t r o d u c c i ó n 2 0 8
6-2 F l i p - lf o p s 2 l O
6-3 D i s p a r od e l o s F l i p - lf o p s ( t r i g g e r i n g ) 2 t 6
6-4 A n á l i s i sd e l o s c i r c u i t o ss e c u e n c i a l e st e m p o r i z a d o s 2 2 4
6-5 R e d u c c i ó nd e e s t a d o sy a s i g n a c i ó n 2 3 1
6-6 T a b l a sd e e x c i t a c i ó nd e l o s F l i p - f l o p s 2 3 7
6-7 P r o c e d i m i e n t od e d i s e ñ o 2 4 0
6-8 D i s e ñ od e c o n t a d o r e s 2 5 1
6-9 D i s e ñ od e e c u a c i o n e sd e e s t a d o 2 5 5
R e f er e n c i a s 2 5 9
Problemas 260

R E GI S T R O S
C O N T A DR
OE SY U NI D A DD E M EM OR I A 265
7-1 lntroducción 265
7-2 Registros 266
7-3 R e g i s t r o sd e d e s p l a z a m i e n t o 2 7 2
7-4 C o n t a d o r e sd e r i z a d o 2 8 2
7-5 C o n t a d o r e ss i n c r ó n i c o s 2 8 6
7-6 S e c u e n c i ad se tiempo 295
7-7 L a u n i d a dd e m e m o r i a 3 O O
7-8 E j e m p l o sd e m e m o r i a d e a c c e s oa l e a t o r i o 3 0 6
R e f er e n c i a s 3 l 2
Problemas 3l3

L O GI C A D E T R A S F ER E N C I AD E R E GI S T R O S 316

8-1 lntroducción 3 | 6
8-2 T r a s f e r e n c i ae n t r e r e g t s t r o s 3 l 9
8-3 M i c r o o p e r a c i o n e sa n t m é t i c a s ,l ó g i c a sy
desplazamiento 327
8-4 P r o p o s i c i o n e cs o n di c i o n al e s de control 332
8-5 D a t o sb i n a r i o sd e l p u n t o f i j o 335
8-6 S o b r e c ap a c i d a d 3 3 I
8-7 Desplaza m i e n t o sa r i t m é t i c o s 3 4 1
8-8 D a t o sd e c i m a l e s 3 4 3
8-9 D a t o sd e l p u n t o f l o t a n t e 3 4 5
8 -1 0 D a t o sn o n u m é r i c o s 3 4 8
8-11 C ó d i g o sd e i n s t r u c c i ó n 3 5 2
8 -1 2 D i s e ñ od e u n c o m p u t a d o rs e n c i l l o 3 5 7
Referencias 366
Problemas 366
--

V¡ CONTENIDO

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

9-1 Introducción 372


9-2 O r g a n i z a c i ó nd e l p r o c e s a d o r 3 7 3
9-3 U n i d a d l ó g i c aa r i t m é t i c a 3 8 2
9-4 D i s e ñ od e u n c i r c u i t oa r i t m é t i c o 3 8 3
9-5 D i s e ñ od e l c i r c u i t ol ó g i c o 3 9 O
9-6 D i s e ñ o d e u n a u n i d a d l ó g i c aa r i t m é t i c a 3 9 3
9-7 Registro de condición 396
9-8 D i s e ñ o d e u n . r e g i s t r od e d e s p l a z a m i e n t o 3 g g
9-9 Unidadprocesadora 4Ol
9-10 D i s e ñ od e l a c u m u l a d o r 4 0 6
Referencias 417
Problemas 417

10 D I S E Ñ OD E L O G I C AD E C O N T R O L 423

1 O -1 Introducción 423
1O-2 O r g a n i z a c i ó nd e l c o n t r o l 4 2 G
10-3 C o n t r o ld e c o m p o n e n t e sa l a m b r a d o s- E j e m p l o1 431
10-4 C o n t r o ld e m i c r o p r o g r a m a 4 4 1
10-5 C o n t r o ld e l a u n i d a d p r o c e s a d o r a 4 4 7
1O-6 C o n t r o l a b a s e d e c o m p o n e n t e sc o n e c t a d o s -
E j e m p l o2 4 5 2
1O-7 C o n t r o ld e l P L A 4 6 1
10-8 S e c u e n c i a d od r el microprograma 464
Referencias 471
Problemas 472

11 D I S E Ñ OD E C O M P U T A O O R E S 477

1 1 -1 Introducción 477
11-2 C o n f i g u r a c i ó nd e l s i s t e m a 4 7 8
11-3 I n s t r u c c i o n eds e c o m p u t a d o r 4 8 2
11-4 Sincronización de tiempo y control 4Sg
11-5 E j e c u c i ó nd e i n s t r u c c i o n e s 4 g O
11 - 6 D i s e ñ o d e l o s r e g i s t r o sd e c o m p u t a d o r 4 9 7
11-7 D i s e ñ od e l c o n t r o l 5 O 3
11 - 8 C o n s o l ad e l c o m p u t a d o r S l 2
Referencias 5l3
Problemas 5l4
CONTENIDO vii

12 D I S E Ñ OD E L S I S T E M AD E L M I C R O C O M P U T A D O R 518

12-1 lntroducción 5l8


12-2 O r g a n r z a c i ódne l m i c r o c o m p u t a d o r 5 2 1
12-3 O r g a n i z a c i ó nd e l m i c r o p r o c e s a d o r 5 2 6
12-4 I n s t r u c c i o n e ys m o d o s d e d i r e c c i o n a m i e n t o 5 3 4
12-5 P i l a , s u b r u t i n a se i n t e r r u p c i ó n 5 4 3
12-6 O r g a n i z a c i ó nd e l a m e m o r i a 5 5 4
12-7 I n t e r c o n e x i ó nd e e n t r a d a - s a l i d a 5 5 9
12-8 A c c e s od i r e c t o d e m e m o r i a 5 6 9
Referencias 574
Problemas 575

13 C I R C U I T O SI N T E G R A D O SD I G I T A L E S 579

13 - 1 Introducción 579
13-2 C a r a c t e r í s t i c adse l t r a n s i s t o rb i p o l a r 5 8 1
13-3 C i r c u i t o sR T L y D T L 5 8 5
13-4 L ó g i c ad e i n y e c c i ó ni n t e g r a d a ( l ' z L ) 5 8 9
13-5 Lógica de transistor-transistor (TTL) 591
13-6 L ó g i c ad e e m i s o r a c o p l a d o ( E C L) 600
13-7 S e m i c o n d u c t o rd e ó x i d o d e m e t a l ( M O S ) 6 0 4
13-8 M O S c o m p l e m e n t a d o( C M O S ) 6 0 8
Referencias 6lO
Problemas 6l O

A P E N D I C E : R e s p u e s t a sa p r o b l e m a ss e l e c c i o n a d o s 613

INDICE 625
Prefacio

La lógica digital trata de la interconexión entre componentes digitales


y módulos y en un término usado para denotar el diseño y análisis de los
sistemas digitales. EI ejemplo más conocido de un sistema digital es un
computador digital para propósito general. Este libro presenta los concep-
tos básicos usados en el diseño y análisis de los sistemas digitales e intro-
duce los principios de la organízacíón del computador digital y su diseño.
Presenta varios métodos y técnicas adecuados para una variedad de apli-
caciones de diseño del sistema digital. Cubre todos los aspectos del siste-
ma digital desde los circuitos de compuertas electrónicas hasta la estruc-
tura compleja de un sistema de microcomputador.
Los Capítulos t hasta 6 presentan técnicas de diseño de lógica de dise-
ño desde el punto de vista clósico. El álgebra de Boole y las tablas de ver-
d a d s e u s a n p a r a e l a n á l i s i s y d i s e ñ o d e l o s c i r c u i t o s c o m b i n a c i o n a l e sy l a s
técnicas de transición de estado para el análisis y diseño de los circuitos
secuenciales. Los Capítulos 7 hasta el 12 presentan métodos de diseño de
sistemas digitales desde el punto de vista de trasferencia entre registros.
EI sistema digital se descompone en subunidades de regirqtrosy el sistema
se especifica con una Iista de proposiciones de trasferencia entre registros
que describen las trasferencias operacionales de la información almacena-
da en los registros. El método de trasferencia entre registros se usa para
ei análisis y diseño de las unidades del procesador, unidades de control,
un procesador central de computador y para describir las operaciones in-
ternas de microprocesadores y microcomputadores. El Capítulo 13 trata
de la electrónica de los circuitos digitales y presenta las familias lógicas
digitales más comunes a base de circuitos integrados.
Los componentes usados para construir sistemas digitales se fabrican
en la forma de circuitos integrados. Los circuitos integrados contienen
una gran cantidad de circuitos digitales interconectados dentro de una
pequeña pastilla. Los dispositivos (MSI) de integración a mediana escala
conforman funciones digitales y los dispositivos (LSI) de integración a
gran escala conforman módulos de computador completos. Es muy impor-
ante para el diseñador lógico, familiarizarse con los diferentes componen-
viii
X
PREFACIO ix

tes digitales encontrados en la forma de circuitos integrados. Por esta


razón muchos circuitos MSI y LSI se introducen a lo largo del libro y se
explican completamentesus familias lógicas.El uso de circuitos integrados
en el diseño de sistemas digitales se ilustra por medio de ejemplosen el
texto y en los problemasal final de los capítulos.
Este Iibro fue planeado originalmente como una segundaedición del
diseñn lógico de computadores,del autor (Prentice-Hall, rg72). Debido a
la gran cantidad de material nuevo y a las revisionesextensasque se han
llevado a cabo, parecemás apropiadoadoptar un nuevo título para el texto
presente. Alrededor de un tercio del texto es material que apareceen el
Iibro anterior. Las otras dos terceraspartes constituyen información nue-
va o revisada. Los factores fundamentalespara las revisionesy adiciones
surgen de las desarrolladasen la tecnologíaelectrónica digital. Se da un
gran énfasis a los circuitos MSI y LSI y a los métodosde diseño que usan
circuitos integrados.El libro cubre varios componentesLSI de la variedad
de grupo de bits y microcomputador.Presentaaplicacionesde Ia meryroria
de sólo lectura (RoM) y del arreglo lógico programable(PLA). sin embar-
go, los adelantos posterioresen el método de diseño de trasferenciaentre
registros,demandauna nueva redacciónde la segundaparte del libro.
El capítulo 1 presentavarios sistemasbinarios adecuadospara repre-
sentar información en componentesdigitales. El sistema de númerosbina-
rios se explica y se ilustran los códigosbinarios para demostrar la repre-
sentación de la información decimal y alfanumérica. La lógica binariá se
introduce desde un punto de vista intuitivo antes de proceder con una
definición formal del álgebrade Boole.
Los postuladosbásicosy teoremasdel álgebra de Boole se encuentran
en el Capítulo 2. Se enfatiza la correlaciónentre las expresionesde Boole
y sus compuertas de interconecciónequivalentes.Todas Ias operaciones
Iógicasposiblespara dos variables se investigan y a partir de elló se dedu-
cen las compuertasdigitales disponiblesen Ia forma de circuitos integra-
dos se presentanal comienzode este capítulo, pero se deja para la última
parte del capítulo el análisis más detallado para describir Ia construcción
interna de las compuertas.
. rll capítulo 3 presentael mapa y los métodosde tabulado para simpli-
ficar las funciones de Boole. El método del mapa se usa para simplificar
circuitos digitales construidoscon AND, OR, NAND, NOR, y compuertas
lógicas alambradas. Los diferentes procesosde simplificación se sumari-
zan en forma de tabla para una referenciafácil.
Los procedimientosde diseño y análisis de los circuitos combinacio-
nales se presentan en el Capítulo 4. Algunos componentesbásicosusados
en el diseño de sistemas digitales,-tales como sumadoresy convertidores
de código son introducidos como ejemplosde análisis y diseño. El capítulo
investiga configuracionesposibles usando circuitos combinacionalesde
multinivel NAND y NOR.
El capítulo 5 versa sobre los componentesMSI y LSI de lógica combi-
nacional. A menudo se explican funcionestales como sumadorei paralelos,
decodificadoresy multiplexores, y se ilustra con ejemplossu uso en el di-
seño de circuitos combinacionales.La memoria de sólo lectura (RoM) y el
arreglo lógico programable(PLA) son introducidos y se demuestrasu uti-
lidad en el diseñode circuitos combinacionalescomplejos.

4^^idE
f, .Á
-/-

PREFACIO

El Capítulo 6 esboza varios métodos para el diseño y análisis de los


circuitos secuenciales temporizados. El capítulo comienza presentando
varios tipos de flip-flops y la forma como ellos son disparados. El diagrama
de estado, tabla de estado, y las ecuaciones de estado se presentan como
herramientas convenientes para analizar los circuitos secuenciales. Los
métodos de diseño presentados, trasforman el circuito secuencial a un
grupo de funciones de Boole que especifican la entrada lógica a los flip-flops
del circuito. Las funciones de entrada de Boole se derivan de la tabla de
excitación y se simplifican por medio de mapas.
En el Capítulo 7, se presentan una variedad de registros, registros de
desplazamiento y contadores similares a aquéllos disponibles en la forma
de circuitos integrados. Se explica la operación de la memoria de acceso
aleatorio (RAM). Las funciones digitales introducidas en este capítulo
son los bloques de construcción básicos a partir de los cuales se pueden
construir sistemas digitales más complejos.
El papítulo 8 introduce un método de trasferencia entre registros para
describir los sistemas digitales. Este muestra cómo expresar en forma
simbólica la secuencia de operación entre los registros de un sistema digi-
tal. Se definen símbolos para trasferencia entre registros, microoperacio-
nes aritméticas, lógicas y de desplazamiento. Se cubren en detalle los dife-
rentes tipos de datos almacenados en los registros de los computadores.
Se usan algunos ejemplos típicos para mostrar cómo se presentan las ins-
trucciones de computador en forma binaria codificada y cómo las operacio-
nes especificadas por instrucciones pueden ser expresadas con proposi-
ciones de trasferencia entre registros. El capítulo concluye con el diseño de
un computador muy sencillo para demostrar el método de trasferencia entre
registros del diseño de sistemas digitales.
El Capítulo 9 tiene que ver con la unidad procesadora de los computa-
dores digitales. Se discuten alternativas para organizar una unidad pro-
cesadora con buses y memorias tapón (Scratchpad memory). Se presenta
una unidad lógica, aritmética típica (ALU) y se desarrolla para el diseño
de cualquier otra configuración de ALU. Se presentan también otros com-
ponentes encontrados comúnmente en los procesadores, tales como regis-
tros de condición y desplazamiento. Se comienza el diseño de un registro
acumulador para propósitos generales, comenzando a partir de un grupo
de operaciones de trasferencia entre registros y culminando con un dia-
grama lógico.
En el Capítulo 10 se introducen cuatro métodos de diseño de lógica de
control. Dos de los métodos constituyen un control alambrado con circuito
impreso. Los otros dos introducen el concepto de la microprogramación y
cómo diseñar un controlador con un arreglo lógico programable (PLA). Los
cuatro métodos son demostrados por medio de ejemplos que muestran el
d,esarrollo de algoritmos de diseño y el procedimiento para obtener los cir-
cuitos de control del sistema. La última sección introduce un secuenciador
de microprograma LSI y muestra cómo se puede usar en el diseño de una
unidad de control de microprograma.
El Capítulo 11 está dedicado al diseño de un computador digital pe-
queño. Los registros en el computador son definidos y se especifica el con-
junto de instrucciones del computador. La descripción del computador se I
PREFACIO xi

formaliza con las proposicionesde trasferencia entre registros que especi-


fican las microoperacionesentre los registros, lo mismo que las funciones
de control que inician esas microoperaciones.Se muestra entonces que el
conjunto de microoperacionespuede usarse para diseñar Ia parte procesa-
dora de datos del computador. Las funciones de control en la lista de pro-
posiciones de trasferencia entre registros, suministran la información para
el diseño de la unidad de control. La unidad de control para el computador
se diseña por medio de tres métodos diferentes: el control alambrado con
circuito impreso,el control PLA y el control del microprograma.
El Capítulo 12 es enfocado sobre varios componentesLSI para formar
un sistema de microcomputador.La organización de un microprocesador
típico se describey explica su organizacióninterna. Un conjunto típico de
instruccionespara el microprocesador,se presentay se explican varios mo-
dos de direccionamiento.La operaciónde una pila y el manipuleo de las
subrutinas e interrupciones,se cubre desdeel punto de vista de los mate-
riales. El capítulo ilustra también la conexión de las pastillas de memoria
al sistema de bus del microprocesadory la operaciónde varias unidades
de interconexión que se comunican con dispositivos de entrada y salida.
Concluye con una descripción del modo de trasferenciade accesodirecto
a Ia memoria.
El Capítulo 13 detalla los circuitos electrónicosde la compuertabásica
en siete familias lógicas de circuitos integrados.Este capítulo final debe
ser consideradocomo un apéndice,puede ser omitido si se desea.El Capí-
tulo 13 asume un. conocimientoprevio de electrónica básica, pero no hay
un prerrequisito específicopara el resto del libro.
Cada capítulo incluye un grupo de problemasy una lista de referencias.
Las respuestasa los problemasseleccionadosaparecenen el apéndicepara
suministrar una ayuda al estudiante y para ayudar al lector independien-
te. Un manual de solucionesse suministra para el instructor por parte
del publicista.
El libro es adecuadopara un curso en lógica digital y diseñode courpu-
tadores en un departamento de ingeniería eléctrica o de computadores.
Se puede usar también en un departamentode ciencia de computadores
para un curso en organizaciónde computador.Las partes del libro pueden
usarsede va¡ias formas: (1) Como un primer curso en lógica digital o cir-
cuitos de conmutación al cubrir los Capítulos t hasta el 7 y posiblemente
el Capítulo 13. (2) Como un segundocurso, en lógica de computadordigital
con un prerrequisitode un curso en circuitos de conmutaciónbásicos,ba-
sadoen los Capítulos3 y 7 hasta el 12. (3) Como una introducción a la con-
figuración con materiales de los microprocesadores y microcomputadores
al cubrir los Capítulos8 hasta el 12.
En conclusión,me gustaria explicar la filosofia fundamental del mate-
rial presentadoen este libro. El método clásico ha sido predominanteen el
pasadopara describir las operacionesde los circuitos digitales. Con el ad-
venimiento de los circuitos integradosy especialmentede la introducción
de los componentesLSI del microcomputador,el método clásico parece
estar bastante lejos de las aplicacionesprácticas.Aunque el método clásico
para describir sistemas digitales complejos no es directamente aplicable,
el conceptobásicode álgebrade Boole, lógica combinacionaly procedimien-

-4

?,s
--:7

PREFACIO

to de lógica secuencial, son todavía importantes para comprender Ia cons-


trucción interna de muchas funciones digitales. Por otra parte, el método
de trasferencia entre registros, presenta una mejor representación para
describir las operaciones entre los dife¡entes módulos en los sistemas
digitales. Este versa de la trasferencia de cadenas de bits en paralelo y
puede ser considerado como de un nivel mayor en la jerarquía de la repre-
sentación del sistema digital. La transición del método clásico al de tras-
ferencia entre registros, se hace en este libro por medio de las funciones
MSI de circuitos integrados. Los Capítulos 5 y 7 cubren muchas funciones
digitales que están disponibles en circuitos integrados. Su operación se
explica en términos de conpuertas y flip-flops que conforman el circuito
digital particular. Cada circuito MSI se considera como una unidad f'un-
cional que realiza una función particular. Esta operación se describeen el
método de rotación de trasferencia entre registros. Así, el análisis y dise-
ño de registros y otras funciones digitales se hace por medio del método
clásico, pero el uso de esas funciones al describir Ias operaciones de un sis-
tema digital, se especifica por medio de proposiciones de trasferencia entre
registros. EI método de trasferencia entre registros se usa para definir las
instrucciones de computador, para expresar las operaciones digitales en
forma concisa, para demostrar la organización de los computadores digita-
les y para especificar los componentes de los materiales para el diseño de
sistemas digitales.
D e s e o e x p r e s a r m i s a g r a d e c i m i e n t o sa l D r . J o h n L . F i k e p o r r e v i s a r e l
manuscrito original y al Profesor Víctor Payse por indicar correcciones
durante la enseñanzadel curso al usar el manuscrito. La mayor parte del
trabajo de mecanografia fue hecho por Mrs. Lucy Albert y su hábil ayuda
es apreciada grandemente. Mis mayores agradecimientos los doy a mi se-
ñora por ias sugerencias que ella hizo al mejorar la facilidad de lectura del
libro y por su ánimo y apoyo durante la preparación de éste.

M. Mor.nls M¡No
Sistemas
bi nar ros
ffi

1 - 1 C O M P U T A D O R EDSI G I T A L E S
Y S I S T E M ¡ SO I C I T A L E S
Los computadores digitales han hecho posible muchos avances científi-
cos, industriales y comerciáIesque no se hubiesenpodido lograr por otros
medios. Nuestro programaespacialhubiesesido imposiblesin la vigilancia
continua de tiempo real del computador y muchas empresas de negocios
funcionan eficientemente sólo con la ayuda del procesamientoautomático
de datos. Los computadores se usan para cálculos científicos, procesa-
mientos de datos comerciales y de negocios, control de tráfico aéreo, di-
rección espacial, campo educacionaly en muchas otras áreas' La propie-
dad más impactante de un computador es su generalidad.Puede seguir
una serie de instrucciones, llamadas programa, que operan con datos da-
dos. El usuario puede determinar y cambiar los programas y datos de
acuerdo a una necesidadespecífica.Como resultado de esta flexibilidad,
los computadoresdigitales de uso general pueden realizar una serie de
tareas de procesamientode información de amplia variedad.
El computador digital de uso general es el ejemplo más conocido de
sistema digital. Otros ejemplos incluyen conmutadorestelefónicos, vol-
tímetros digitales, contadores de frecuencia, máquinas calculadoras,y
rnáquinasteletipos. Típico de un sistema digital es su manejo de elemen-
tos discretos de información. Tales elementos discretos pueden ser im-
pulsos eléctricos, Ios dígitos decimales,las letras de un alfabeto, las ope-
racionesaritméticas, los símbolosde puntuación o cualquier otro conjunto
de símbolos significativos. La yuxtaposición de elementos discretos de
información representanuna cantidad de información. Por ejemplo, las
letras d, o y g forman la palabra dog. Los dígitos 237 forman un número'
De la misma manera una secuencia de elementos discretos forman un
lenguaje,es decir una disciplina que con lleva información. Los primeros
computadoresfueron usados principalmente para cálculos numéricos, en
este caso los elementos discretos usados son los dígitos. De esta aplica-
ción ha surgido el término computador digital. Un nombre más adecuado
para un computador digital podría ser "sistema de procesamiento de
información discreta".
S I S T E M A SB I N A R I O S CAP, 1

Los elementos discretos de información se representan en un sistema


digital por cantidades físicas llamadas señnles. Las señales eléctricas
tales como voltajes y corrientes son las más comunes. Las señales en los
sistemas digitales electrónicos de la actualidad tienen solamente dos
válores discretos y se les llama binarios. El diseñador de sistemas digi-
tales está restringido al uso de señalesbinarias debido a la baja confia-
bilidad de los circuitos electrónicosde muchos valores. En otras palabras
puede ser diseñado un circuito con diez estadosque use un valor de volta-
je discreto.para cada estado, pero que tenga pocq confiabilidad de opera-
ción. En contraste,un circuito de transistor que puedeestar en conducción
o corte tiene dos valores de señales posibles y puede ser construido para
sér extrerradamente confiable. Debido a la restricción fisica de los compo-
nentesy a que la lógica humana tiende a ser binaria, los sistemasdigitales
que estén restringidos a usar valores discretos, lo estarán para usar valo-
res binarios.
Las cantidades discretas de información podrían desprendersede la
naturaleza del procesoo podrían ser cuantificadas a propósito de un proceso
continuo. Por ejemplo, un programa de pago es un procesodiscreto inheren-
te que contiene nombres de empleados, números de seguro social, sala¡ios
semanales,impuestos de renta, etc. El cheque de pago de un empleado, se
p¡ocesausando valores discretos, tales como las letras de un alfabeto (nom-
bres), dígitos (salarios) y símbolosespecialestales como g. Por otra parte, un
científico investigador podrla observar un procesocontinuo pero anotar sola-
mente cantidades específicasen forma tabular. El científico estará cuanti-
ficando sus datos continuos. Cada número en su tabla constituye un elemen-
to discreto de información.
Muchos sistemas fisicos pueden ser descritos matemáticamente por
medio de ecuaciones diferenciales cuyas soluciones, como funciones de
tiempo, darán un comportarñientomatemático del proceso.lJn computa-
dor análogo realiza una sirnulación directa de un sistema fisico. Cada
sección del computador es el análogo de alguna parte específica del pro-
ceso sometido a estudio. Las variables en el computador análogo están
representadaspor señales continuas que varían con el tiempo y que por
lo general son voltajes eléctricos. Las señalesvariables son-consiáeraáas
análogas con aquellas del procesoy se comportan de la misma manera.
De esta forma, las mediciones de voltajes análogos pueden ser sustituidos
por variables del proceso.El término señnl anéloga se sustituye por serial
continua debido a que un "computador análogo" se ha convertido signi-
ficativamente en un computador que maneja variables continuas.
Para simular un proceso físico en un computador digital, deben ser
cuantificadas las cantidades. Una vez que las variables del procesosean
representadaspor señales continuas de tiempo real, estas últimas serán
cuantificadas por un aparato de conversión de análogo a digital. un sis-
tema fisico, cuyo compartamiento se exprese por medio de ecuaciones
matemáticas, se simula en un computador digital con base en métodos
numéricos. Cuando el problema que va a ser procesadoes inherentemente
discreto, como en el caso de aplicacionescomerciales,el computadordigi-
tal manipula las variables en su forma natural.
Procesador
o unidad
aritmética

Almacenador
o unidad
de memoria

Dispositivos Dispositivos
de entrada de salida
y control y control

digital
debloquede un computador
Figura l-1 Diagrama

Un diagrama de bloque del computador digital se muestra en Ia Fi-


gura.1-1. Lá unidad de memoria almacena los programasde la misma for-
-" q,r" los datos de entrada, salida e intermedios. La unidad de proceso
realiza tareas aritméticas y de procesamiento de datos según sea especi-
ficado por el programa. La unidad de control supervisa el flujo de infor-
mación entre las diferentesunidades. Dicha unidad recupera las instruc-
ciones una a una del programa acumulado en la memoria. Para cada
instrucción, ella informa al procesador a fin de ejecutar la operación es-
pecífica de la instrucción. Tanto el programa como los datos se almacenan
en la memoria. La unidad de control supervisael programa de instruccio-
nes, y el procesador manipula los datos de acuerdo a las especificaciones
del programa.
El programa y los datos preparados por el usuario son trasferidos a
la unidád de la memoria mediante un elemento de entrada tal como una
lectora de tarjetas perforada o una teleimpresora. Un elemento de salida
tal como un impresor recibe el resultado de los cálculos y le presenta al
usuario los resultados impresos. Los elementos de entrada y salida son
sistemas digitales especiales manejables por partes electromecánicas y
controladaspor circuitos electrónicosdigitales.
Una calóuladora electrónica es un sistema digital similar al compu-
tador digital que tiene como elemento de entrada el teclado y como ele-
mento de salida una pantalla numérica. Las instrucciones son trasfe-
ribles a la calculadora por medio de las teclas de función tales como el
más y el menos. Los datos se introducen mediante las teclas numéricas
y los resultados se muestran por pantalla en forma de números. Algunas
talculadoras tienen algo de parecido a las computadoras digitales ya que
tienen forma de imprimir y además facilidad de programación'
-

4 STSTEMAS
B|NARTOS
CAp. l
Un computador digital es sin em,bargo,.un
una calculadora; puede usar muchos.otros"disposiíivÁaparato más poderosoque
puede realizar nó solament" áe entraü y salida,
' a¡itméticos y operacioneslóeicas
sino que puede ser "et"rlo.
.programadopara tomar decisioíes basadasen cJndi_
ciones internas y externas.
un computador digital es una interconexión
Para poder óomprender"¡" opl.""ioi de módulos digitales.
de cada má-"ü digital es necesario
tener lbs conocimientosbásicos de
los."rst"-* áigül!, , a" su compor-
tamiento. La primera mitad ae
este.ribro versa ,iúr" ,r.t"mas digitales
en general proporcionandolos conocimiento"
La segundamitad del libro trata puru su diseño.,
"""".iio.-"oauto*
sob¡e ros direil.,tes
putador digital' su operacióny de un com_
,u diseRo.r,m operaciona_
les de la unidad de memoria só explican
y diseño de la unidad de proceso en el "".""t"rísticas
T. La organización
.Jir"tu" .capíturo
para diseñar la unidad de cont¡ol -en el capítulo g. varios métodos
'3 deun computa -ffi
sslnrroduc; ;;;i'ó;píruro 10. La orga_
:i":f lr?,i,T dái;ü t; r r"ffi';#rueñosep.*.,iü
1T
un procesadorcombinado con la
unidad de control
nente llamado uní.dad.centrard" pri"ro
o cpu. ú" ciri-, .formaun compo-
una pastilla de circuito integradá encapsuladoen
,e de'o- i"; ;;;r;;ror"rodor. La
dad de memoria, de ra mism; i;;;q;;'i;ñ;';;"".'ltror, uni_
nexión entre el microprocesgao-f la interco_
io* elementosde éntrada y sarida,
ser encapsulada dentio de ra pÁtiit" puede
-de a"f -i"i";;";;;il, o puede encon_
trarse en pastilras pequeñas
circuitos integrados. un cpu
nado con u'u -u.noiia y un combi_
¿" i.,ter.o.r?¡ár,- ro.-".¿ un compu_
tador de tamaño nequeñóa"ro-in"a'o
"o"t.át-
m i c ro-c
ompui o-ii r'."ru disponibi ridad
de los aer -ic.o"o-ii,"r.ao"
"om'o.t"ttie"
de diseño de los sistemas aigitái"i-permitiendo h; ;;;;ñ"i"r,^"ao t" tecnología
de c¡ear estructuras que antes al diseñador la libertad
eran antieconómicas.Los diferentes
ponentesde un sistema de com_
microcomputador,r;;;;;;;i"., .., el capítulo
Ya se ha mencionadoel hecho de que
elementosdiscretosde informa;i¿;; un computadordigital manipula
que estos eÉmentos se p¡esentan
fo¡ma binaria. Los operando., .r.ldou en
sados en el sistema áe n.i*"io.-üI""rio.. .en ros ser expre_
- "¿r."l"r-p"eden
o;;-;;;;"íL.
cluidos los dígitos_ aiscretos, in_
,deci*"1"., r"- ,u!.u.".rru' con códigos binarios. Er
procesamientode datos se lleva a cabo por medio ¿e los
binarios, usando señales¡irra.ias. álementoslógicos
iL- ca'tidades se acumulan en los
mentos de almacenamientobinario. ele_
u.propo.itá"¿1".i.'.apítulo es el de
introducir ros diferent_esconceptos
para un posterior estudio de los bi;uñr- ;;;; ^"*^" de referencia
;;".;
capítulos .".t""i"r.
1-2 N U M E R O SB I N A R I O S
un número decimal tal como T3g2
.;;; representauna cantidad igual
dades de mil, más 3 center,as, a T uni-
;;"""nas, más 2 unidades.Las unida_
des de mil, las centenas,etc.,^sonpoJencias
de 10 implícitamente indica-
de roscoeficienies.
para .", ;á-;;;ctos, ?3e2puede
3r"g;,#rrosición
s E c .1 - 2 N U M E R O SB I N A R I O S 5

7 x 103+ 3 x 102+ 9 x l0r + 2 x l0o


Sin embargo, Io tonvencional es escribir solamente los coeficientesy a
partir'de su posición deducir las potencias necesariasde 10. En general,
ün número con punto decimal puede ser representadopor una serie de
coeficientesde la siguientemanera:
A y A 4 A 3 A 2 A P O ,A - 1 Q - 2 Q - 3

L o s c o e f i c i e n t eas¡ s o n u n o d e I o s d i e z d í g i t o s( 0 , l , 2 , . . . , 9 ) y e l s u s c r i t o
por el cual debe ser
.l da el lugar y poi tanto el valor de la potencia de 10
multiplicado el coeficiente.
1054,+ l}aao* lda3 * 102a2*lOra,* l00ao* l0-ra-,
+10-2a-2+ l0-3a-,

Se dice que el sistema de númerosdecimalestiene la baseo raíz I0 debido


a que ,r.á di., dígitos y que los coeficientesson multiplicados por poten-
cias de 10. El sislema binarío es un sistema numérico diferente. Los coe-
ficientes del sistema de números binarios tienen dos valores posibles:
Ó y 1. cada coeficienteo, se multiplica por 2'. Por ejemplo, el equiva-
lente decimal del número'binario 11010,11es 26,75como se demuestrade
la multiplicación de los coeficientespor potenciasde 2.
I x 2 4 + I x 2 3+ 0 x 2 2 + I x 2 r + 0 x 2 0+ | x 2 - l
+lx2-2:26,75

En general,un número expresadoen un sistema de base r tiene coeficien-


tes multiplicados por potenciasde r:
en'rn + an-t'fn-l + * az'r2+ at'r* a¡

*a-t. r-t + a-r' r-2 +''' + Q-^' r-^

Los coeficientes o, varían en valor entre 0 y r-1. Para distinguir los


números de bases- diferentes, se encierran los coeficientes entre parén-
tesis y se escribe un suscrito igual a la base usada (con excepción en
algunós casos de los números decimales en los cuales su contenido hace
obvio que se trate de un decimal). Un ejemplo de un número de base 5
será:
( 4 0 2 1 , 2 ) :s 4 x 5 3 + 0 x 5 2 + 2 x 5 t + I x 5 0 + 2 x 5 - r : ( 5 1 1 , 4 ) 1 0

Nótese que los valores para coeficientes de base 5 pueden solamente ser
2,3 y 4.
0 ', 7 ,'Es
cbstumbre presentar los r dígitos necesarios para los coeficientes
del sistema decimal en caso de que la base del número sea menor qge 10'
Las letras del alfabeto se usan para completar los diez dígitos decimales
cuando la base del número sea mayor que 10. Por ejemplo, en el sistema de
números hexadecimal (base 16) se presentan los primeros diez dígitos del
sistema decimal. Las letras A, B; C, D, E y F se usan para los dígitos 10,
-{
/
É
SISTEMAS EINARIOS
t CAP. 1

1 1 , 1 2 , 1 3 , 14 y 15 respectivamente.Un ejemplo de números hexadecimal


será:
(865F)r6: ll x 163+ 6 x 162+ 5 x 16 * 15: (46687)rc
Los primeros 16 números en los sistemas decimal, binario, octal y hexa-
decimalse listan en la Tabla 1-1.
Las operacionesaritméticas con números en base r siguen las mis-
mas reglas que los números decimales. Cuando se usa ,.ru bu." diferente
a la conocida de 10 se debe ser precabidode usar solamente las r dígitos
permitidos. A continuación se muestran ejemplos de suma, resta y irul-
tiplicación de los nrlmerosbinarios:

sumando: l0l l0l minuendo: l0l I0l multiplicando; l0l I


s u m a n d o :+ l 0 0 l l l sustraendo:-l00lll multiplicador: xl0l

suma: l0l0l00 diferencia: 000110. l0l I


0000
l0l I
producto: ll0llt

Tabla 1-1 Números con dife¡entes bases

Decimal Binario Octal Hexadecimal


(base10) (base2) (base 8) (base 16)

00 0000 00 0
0l 0001 0l I
02 00r0 02 2
03 00rr 03 J

M 0r00 04 4
05 0l0l 05 5
06 0ll0 06 6
07 0lll 07 7
08 1000 l0 8
09 l00l ll 9
l0 r0l0 t2 A
ll l 0 lI IJ B
t2 I 100 l4 C
l3 Il0l l5 D
t4 lll0 ló E
I5 lllt l7 F

La suma de dos números binarios se carcuia mediante las mismas


reglas que en decimalescon la diferencia de que los dígitos de la suma
en
cualquier posición significativa pueden ser 0 ó 1. cuaiquie¡ ..lleva" obte_
nida en una posición significativa tlada, se usa por el par de dígitos
en
la posición significativa superior. La resta es un poco más com"plicada,
S E C .1 - 3 C O N V E R S I O NEENST R E S E B A S ED I F E R E N T E 7
NUMEROD

sus reglas son las mismas que en el caso del sistema decimal excepto que
la "lleva" en una posición significativa dada agrega 2 al dígito del mi-
nuendo. (Una lleva en el sistema decimal agrega 10 al dígito del minuen-
do). La multiplicación es muy simple. Los dígitos del multiplicador son
siempre 1 ó 0. Por tanto, los productos parciales son iguales al multipli-
cando o a 0.

ES
1-3 CONVERSIONE N T R EN U M É R O SD E B A S ED I F E R E N T E

Un número binario puede ser convertido a decimal formando la suma de


las potencias de base 2 de aquellos coeficientes cuyo valor sea 1. Por ejem-
plo:
( 1 0 1 0 , 0 1 l ) z : 2 3+ 2 t + 2 - 2 + 2 - 3 : (10,375)r0

El número binario tiene cuatro unos y'el decimal equivalente se deduce


de la suma de cuatro potencias de 2. Similarmente, un número expresado
en base r puede ser convertido a su equivalente decimal multiplicando
cada coeficiente con su correspondiente potencia de r y sumando. El si-
guiente es un ejemplo de conversión de un sistema octal a decimal:

(630,4)8: 6 x 82 + 3 x 8 + 4 x 8-' : (408,5)¡q

La conversión de decimal a binario o cualquier otro sistema de base r


es más conveniente si el número se separa en parte entero y parte fraccio'
nario para hacer la conversión de cada parte separadamente. La conver-
sión de un entero de sistema decimal o binario se explica de mejor manera
en el siguiente ejemplo:

EJEMPLO f -1.' Convertir el decimal 41 a binario. Primero,


41 se divide por 2 para dar un cocienteentero de 20 y un residuo
de i. El cocientese divide a su turno por 2 para producir un co-
ciente nuevd con su residuo. Se continua así el procesohasta que
el cociente entero se convierte en cero. Los coeficíenúesde los
números binarios deseadosse obtienen de los residuos de Ia si-
guiente manera:

Cocíente
entero residuo ,o"ürr!!:

T: ,O
I
do: I
,

+= ro at=0

-l =
0 '\ az: 0
2-
I
+ 4l: \
;:2 2

id
?

i SISTEMAS BINARIOS CAP. 1

cocLente
entero residuo coefíciente

-2: dq:0
2
_I : ds: I
2

r e s p u e s t a : ( 4 1 ) r o: ( a r a . a s a z a t a o ) , : ( 1 0 1 0 0 1 ) ,

El proceso aritmético puede llevarse a cabo en forma más con-


veniente, de Ia siguiente manera:

entero residuo
4l
20 I
l0 0
5 0
? I
I 0
0 I l0l00l : respuesta

La conversión de enteros decimales a cualquier sistema de base r es


similar al ejemplo anterior con la diferencia de que la división se hace por
r en vez d,e 2.

EJEMPLO l-2: Convertir el decimal 153 a octal. La base


requerida es 8. Primero se divide 153 por 8 para dar un cociente
entero de 19 y un residuo de 1. Luego se divide 19 por 8 para dar
'.
,n cociente entero de 2 y un residuo de 3. Finalménte, ," diuidu
2 por 8 para dar un cociente de 0 y un residuo de 2. Este proceso
puede hacerse convenientemente de la siguiente manera:

153
l9 I
2 3
0 2L :1zl¡,

La conversión de una fracción decimal o binaria se lleva a cabo por


un método similar al usado para enteros..Empero, se usa Ia multiplicación
en vez de Ia división y se acumulan los enteros en vez de los residuos. El
método se explica más claramente a continuación:

EJEMPLO f-3.. Convertir (0,6875),0 a binario. Primero se


m u l t i p l i c a 0 , 6 8 7 5p o r 2 p a r a d a r u n e n t e r o y u n a f r a c c i ó n . L a n u e -
va fracción se multiplica por 2 para dar un número entero y una
nueva fracción. Este proceso se continúa hasta que la fracción
se convierta en 0 o hasta que el número de dígitos tenga la sufi-
ciente precisión. Los coeficientes del número binario se obtienen
de los enteros de la sizuiente manera:
\
entero fr"::r"! ,oolrr::!t,
0,6875x2: I + 0,3750 ¿-r = I
0,3750x2: 0 + 0,7500 a-z=0
0 , 7 5 0 0 x2 : I + 0,5000 a -t: I
0,5000x2: I + 0,0000 a _c: I

- : (0'l0ll)2
respuestl: (0,6875)r0 (0,a-P -2a -3a-4)2

Para convertir una fracción decimal a un número expresadoen base


r, se usa un procedimientosimilar: se multiplica por r en vez de 2 y los
coeficientesencontradosde los enteros varían entre valores desde 0 has-
tar-1 envezde0yl.

EJEMPLO f -4.' Convertir (0,513)roa octal'

0 , 5 1 3X 8 : 4 , 1 0 4
0 , i 0 4x 8 : 0 , 8 3 2
0,832X 8: 6,656
0,656x 8: 5,248
0,248x 8: 1,984
0 , 9 8 4x 8 : 7 , 8 7 2
La respuestacon siete cifras significativas se obtiene de la parte
entera de los Productos:

( 0 , 5 1 3 ) r:o ( 0 , 4 0 6 5 1 1. ) a

La conversiónde números decimales con parte fraccionaria y entera'


se hace convirtiendo la parte fraccionaria y la entera separadamentey
luego combinando las dos respuestas.Usando los resultadosde los Ejem-
plos 1-1y 1-3se obtiene:

( 4 1 , 6 8 7 r5o) : ( 1 0 1 0 0 1 , 1 0 1 1 ) 2

De los Ejemplos 1-2 y l-4, se obtiene:


( 1 5 3 , 5 1 r30) : ( 2 3 1 , 4 0 6 5 1 7 ) 8

1-4 Y OCTALES
N U M E R O SH E X A D E C I M A L E S

La conversiónde binario a octal y hexadecimaly viceversajuega un papel


. omo2'-8 y 2a:16, cada
m u y i m p o r t a n t ee n l o s c o m p u t a d o r edsi g i t a l e s C
dígito octal correspondea tres dígitos binarios y cada dígito hexadecimal
co"..esponde u crrui.o dígitos binarios. La conversiónde binario a octal se
lleva á cabo fácilmentehaciendo la partición del número binario en grupos
de tres dígitos, cada uno comenzandodesdeel punto binario y haciéndolo
cle izquierda a derecha. El dígito octal correspondientese asigna a cada
grupo, El, siguiente ejemplo es una ilustración del prbcedimiento:
I

''':í¿
aa'/

IO S I S T E M A SB I N A R I O S CAP.

(glgggIIgg pgsgrg
J_11 ), : (26153,7406)
r
'3
2 6 I 5 7 4 0 6
La conversión de binario a hexadecimal es simirar excepto que
el número
binario se divide en grupos de cuatro dígitos:

( l 0 1 1 0 00 l l 0 l 0 l I )': (2C68,F2),u
t_J
/
I
L__J I l__l I! EI
2C 6B F2

El dígito hexadecimal correspondiente para cada grupo de dígitos


'valores bina-
rios es fácilmente recordado después dé estudiar iós ústados en
Ia Tabla 1-1.
La conversión de octal o hexadecimal a binario se hace por un proce-
dimiento inverso al anterior._ cada dígito octal se convierte a un equiva-
lente binario de tres dígitos. De la misma manera, cada dígito hexadecimal
se convierte a un equivalente binario de cuatro dígitos. Esto se ilustra
con ejemplos a continuación:

: ( ¿g
(6i3,r24)8
E_L gE Eg Ig t
J-l_L
673124
(306,D) ,0 : ( 001I 0000 0l l0 I l0l )"
??? ?
Los números binarios son dificiles de trabajar ya que necesitan
tres
o cuatro veces más que su equivalente decimal-. por ejemplo, el
_dígitos
número binario 111111111111 es equivalente al decimal aOos.
Empero,
los computadores digitales usan los ñú.nu.o, binarios y uigr.,",
veces se
hace necesario que el operador humano o usuario se comunique
directa-
mente con la máquina en términos de números binarios. un eiquema que
retiene el sistema binario en el computador pero que ¡educe el número
de
dígitos que el humano debe considerar, utilüa la relación que hay
entre
el sistema de números binarios y el sistema hexadecimal u octal. Median_
te este método, el humano piensa en.términos de números octales o
hexa-
decimalresy hace la conversión por medio de la inspección, cuando se
hace
necesaria la comunieación directa con la máquina. Así el número
binario
1 1 1 1 1 1 1 1 1 1 1 1 t i e n e 1 2 d í g i t o s y s e e x p r e s ae n o c t a l c o m o 7 7 7 7 ( . " u i . o
dígitos) o en hexadecimal como FFF (lres dígitos). Durante la comuni-
cación de 1a gente (relativa a números binarios en el computador), se hace
más deseable la representación hexadecimal u octal yá qu" puede
ser
usada de manera más compacta con una tercera o cuarta parte del número
de dígitos necesarios para expresar el número binario equivalente.
cuan-
do un humano se comu4.icq.col la máquina (a través ae tos interruptores
de la consola, las luces indicadoras o por medio de los programas escritos
en lenguaje de maquína), la conversión de octal o hexádeiimal a binario
y viceversa se hace por inspección de parte del usuario.
sEc. 1-5 COMPLEMENTOS I I

1-5 COMPLEMENTOS

Los complementosse usan en los computadoresdigitales para simplificar


la operaáiónde sustraccióny para manipulacioneslógicas.Hay dos clases
de complementospara cada sistema de base r: (1) EI t:omplementode r
y (2) ei complementode (r- 1). Cuando se sustituye .! valor de la base
io.' áo. tipos reciben los nombres de complementosde 2 y 1 en el uso de
los númerosbinarios o complementosde 10 y 9 en el caso de los números
decimales.
El complemento de /'
Dado un número positivo .^y'en base r con parte entera {e n dígitos, se
d e f i n ee l c o m p l e m ó n t ro d e N c o m or " - N p a r a N l 0 y O paraN:0' El
siguiente ejemplo numérico ayudará a comprender mejor Ia situación:
El complementode 10 de (52520)16es I05 -52520:47480.
El número de dígitosdel número es n:5.
El complementode 10 de (0,3267)1e
es l-0,3267:0,6733.
No hay parte entera, por tanto i0' : 10o:1.
El complementode 10 de (25,639)rues 102-25,639:74,361'
El complementode 2 de (101100),es (26)'o - (101100)z
: (1000000-101100)::010100.
:
: 0,1010.
El complementode 2 de (0,0110),es (1- 0,0110)z
Por la definición y los ejemplos,es claro que el complementode 10 de
un número decimal puede ser formado dejando todos los ceros menos sig-
nificativos inalterados, restando el primer número diferente de cero menos
significativo de 10 para luego sustraer el resto de dígitos más significati-
vos de 9. El complemento de 2 puede ser formado dejando todos los ceros
menos significativos y el primer dígito diferente de cero sin cambio, para
luego remplazar unos por cerosy cerospor unos en el resto de dígitos mas
significat ivos.
Un tercer método más sencillo para obtener el complementode r es
dado despuésde la definicióndel complementode (r-1)'El complemento
de r de un número existe para cualquier base r (siendo r mayor pero no
igual a 1) y puedeser obtenido de la definición que se dará a continuación.
Los ejemplos listados aquí usan números con r:10 (decimal) y r:2
(binario) debido a que estos son las bases más interesantes.El nombre
del complementose relaciona con Ia base del número usado. Por ejemplo
el complementode (r-1) de un númeroen base 11 se llama complemento
d e 1 0 y a q u er - 1 : 1 0 p a r ar : 1 1 .
E l c o m p l e m e n t od e ( r - 1)
Dado un número positivo N en base r con una parte entera de n dígitos y
una parte fraccionaria de rn dígitos, se define el complementode (r- 1)
de N como rn -r-n -11[. Se dan algunosejemplosa continuación:

Áfr
--r F

f
I |2 S I S T E M A SB I N A R I O S CAP. 1

I El complemento de 9 de (52520)r0 es (tOt - I-52520):99999-

I 52520: 47479.
Como no hay parte fraccionaria,entonces10--:100 :1.
El complementode 9 de (0,3267),nes (1-tO-+ -0,3267):0,9999-
0.3267:0.6732.
Cqmo no hay parte entera entonces10" : 100: 1.
El complemento d e 9 d e ( 2 5 , 6 3 9 ) 1ees ( t 0 , - 1 0 - 3 - 2 5 , 6 3 9 ) : 9 9 , 9 9 9 -
:74.360.
25.639
2 s ( 2 6- 1 ) - ( 1 0 1 1 0 0 ) :( 1 1 1 1 1 1 -
E l c o m p l e m e n t od e 1 d e ( 1 0 1 1 0 0 ) e
101100)2 : 0 1 0 0 1 1 .
2 s ( 1 - Z - + ) r o * ( 1 , 0 1 1 0 ): 2 ( 0 , 1 1 1 1
E l c o m p l e m e n t od e 1 d e ( 0 , 0 1 1 0 ) e
- 0,0110)2 : 0,1001.

De estos ejemplosse ve que el complementode 9 de un número deci-


mal se forma simplemente sustrayendocada dígito de 9. El complemento
de 1 de un número binario se expresaen una forma aún más sencilla: los
unos se cambian a cerosy los cerosa unos. Como el complementode (r- 1)
se puede obtener muy fácilmente el complementode r. De las definiciones
y de la comparación de los resultados obtenidos en los ejemplos se des-
prende que el complemento'de r puede ser obtenido del complementode
(r- 1) despuésde sumar r-^ al dígito menos significativo. Por ejemplo
el complemento de 2 de 10110100se obtiene del complemento de 1 de
01001011agregando1 para dar 01001100.
Vale la pena mencionar que el complementodel complementodeja al
número en su valor original. El complementode r de N es rn - N y el com-
plemento de (r" - N) es r" - (r" - N) : N; de la misma manera sucedecon
el complementode 1.

S u s t r a c c i ó nc o n c o m p l e m e n t o sd e r

El método directo de sustracción diseñadoen las escuelasusa el concepto


de prestar. En este método se presta un 1 de una posición significativa
más alta cuando el dígito del minuendo es más pequeñoque el correspon-
diente dígito del sustraendo. Esto parece el método más sencillo usado
por la gente al hacer la sustracción con papel y lápí2. Cuando Ia sustrac-
ción se gjecuta por medio de los componentesdigitales se.encuentra que
este método es menos eficiente que el método que usa complementosy
suma de la forma descrita a continuación.
La sustracciónde dos númerospositivos (M-N), ambos en base r
puede hacersede la siguiente manera:

1. Se suma el minuendoM al complementode r del sustraendoN.


2. Se inspeccionanlos datos obtenidosen el Paso 1 para una "ileva"
final.
(a) Si ocurre una "lleva" final. se debe descartar.
sEc. 1-5 I3
COMPLEMENTOS

(b) Si no ocurre una "lleva" final, se toma el complemento de r del


número obtenido en el paso 1 y se coloca un número negativo
al frente.

Los siguientesejemplosilustran el procedimiento:

EJEMPLO I-5.' Usando el complemento de 10, sustraer


72532- 3250.
M =72532 72s32
N : 03250
+
complementode 10 de .lf : 96750 96750
lleva final -+ L/OgZgZ
respuesta: 69282

EJEMPLO l-6.' Sustraer: (3250- 72532)rc.

M:03250 03250
N :72532

complementode 10de N :2'1468


ninguna lleva
respuesta:-69282: - (complementode 10 de 30718)

EJEMPLO I-Z Usar pl complemento de 2 para sustraer


M - N con los númerosbinarios dados.

(a) M: 1010100 l0l0l00


N: 1000100
-r
complementode 2 d e N : 0 1 1 1 1 0 0 0llll00
lleva finul--- I 0010000

respuesta: I00[lA

(b) M: 1000100 1000100


N: l0l0l00

complementode 2 d e N : 0 1 0 1 1 0 0
nrnguna l l e v a

respuesta: - 10000: - (complementode 2 de 1110000)


--1

t4 SISTEMAS EINARIOS CAP. 1

La prueba de este procedimiento es: la suma de M al complemento


de r de N da (M*r" -N). Para númerosque tienen una parte éntera de
l/ dígitos, r" es igual a 1. (Lo que se ha llamado la "lleva" final) en la
posición (N+ 1). Como se asume que M y N son positivos,por tanto:
(o) (M+r"-N))r, siM)N, o
(b) (M+r, -N)(r, siM(N
En el caso (a) la respuestaes positiva e igual a M - N, y se obtiene direc-
tamente descartando la "lleva" final r" . En el caso (b) la respuestaes
negativae igual a - (N-M).Este caso se detectapor la ausenciade la
"lleva" final. La respuestase obtiene sacando un segundocomplemento
y agregandoun signo negativo:
-lr' - (M + r^- N)] : - (N -
M).

S u s t r a c c i ó nc o n c o m p l e m e n t o d e ( r - 1)

El procedimiento para sustraer con el complementode (r- 1) es exacta-


mente el mismo que el usado con el complementode r excepto por una
variación llamada la "lleva" final de reinicio mostrada a continuación.
La sustracción M-N de dos números positivos en base r pueden calcu-
larse de la siguientemanera:

1. Se agregael minuendoM al complementode (r-i) del sustraen-


do N.
2. Se inspeccionael resultado en el Paso 1 y la ..lleva" finai.
(a) Si apareceuna "lleva" final se agrega1al dígito menossigni-
ficativo (lleva final de reinicio).
(b) Si no ocurre una "lleva" final, se obtiene el complementode
(r- 1) del número obtenido en el Paso 1 y se coloca un signo
negativo al frente.

La prueba de este procedimientoes muy similar a la del complemento


de r dada y se deja al lector como ejercicio. Los siguientesejemplosilus-
tran este procedimiento:

EJEMPLO I-8.' Repetir los Ejemplos 1-5 y 1-6 usando com-


plementosde
(a) M :72532 72532
N: 03250
complemento de 9 de N :96749 + 96749
/-t@ *
lleva final de reinicio
[__--',
69282
respuesta: 69282
\

sEc.1-5 COMPLEMENTOS I5

(b) M:03250 03250


N :72532
de9 de N : 27467
complemento + 27467
ninguna lleva
___Jh07n

respuesta: - 69282: - (complementode 9 de 30717)

EJEMPLO I-9; Repetir el Ejemplo 1-7 usando el comple-


mento de 1.

(a) M: l0l0l00 l0l0l00


N: 1000100
complemento de 1 d e 1 { : 0 l l l 0 l l 0lll0ll
lleva final de reinicio 000llll

I
0010000
respuesta: 10000

(b) M: 1000100 r000100


r/ : l0l0l00
complemento de 1 de N : 0 l 0 l 0 lI 0l0l0l I
ninguna lleva ll0lnl

respuesta: - 10000: - (complementode I de 1101111)

C o m p a r a c i ó ne n t r e l o s c o m p l e m e n t o s
de2ydel

Al comparar los complementos de 2 y de 1 se detallan las ventajas y des-


ventajas de cada uno. El complemento de 1 es más fácil de ejecutar, por
medio de componentes digitales ya que lo único que hay que hacer es
cambiar los ceros a unos y los unos a ceros. La ejecución del complemento
de 2 puede obtenerse de dos maneras: (1) agregando 1 al dígito significa-
tivo menor del complemento de 1 y (2) dejando los primeros ceros, en las
posiciones significativas menores y el prirner 1 inalterados para cambiar
solamente el resto de unos a ce¡osy de ceros a unos. Durante la sustracción
de los números, usando complementos,es ventajoso emplear el complemento
de 2 en el cual solamente se requiere una operación aritmética de suma. El
complemento de 1 requiere dos sumas aritméticas cuando sucedeuna."lle-
va" final de reinicio. El complemento de 1 tiene la desventaja adicional de
poseer dos ceros aritméticos: uno con todos los ceros y otro con todos los
t6 SISTEMAS BINARIOS CAP. 1
{

I unos. Para ilustrar este hecho, considéresela sustracción de dos números


binarios iguales 1100- 1100: 0.
Usando el complementode 1:

I 100
T
001I
+ llll

Complementar de nuevo para obtener - 0000.


Usando el complementode 2:

I 100
-r
0100
+ 0000
Mientras que el complementode 2 tiene solamenteun cero aritmético, el
0 complemento de 1 puede ser negativo o positivo lo cual podría complicar
la situación.
Los complementosútiles para los cálculos aritméticos en los compu-
tadoresse tratan en los capítulos 8 y 9. El complementode 1, sin embargo,
es muy útil en los manipuladoreslógicos (como se mostrará más adelante)
ya que el cambio de urros a ceros y viceversa es equivalente a la operación
de inversión lógica. El complementode 2 se usa solamenteen asociode las
aplicacionesaritméticas. En consecuenciaes convenienteadoptar la sig¡ien-
te convención:cuando,se use la palabra complemenúo, sin mencionarel tipo,
en asocio con una aplicación aritmética, se asume que es el complemento
de 1.

1-6 C O D I G O SB I N A R I O S

Los sistemas digitales electrónicos usan señales que tienen dos valores
distintos y elementosde circuito que tienen dos estadosestables.Existe
una analogía directa entre las señalesbinarias. los elementosde circuito
bina-riosy los dígitos binarios. un número binario de r dígitos, por ejemplo,
puede ser representadopor n elementos de circuito binaiio con se¡áleJ de
salida equivalentesa 0 ó 1 respectivamente.Los sistemas digitales tepi"-
sentan y manipulan no solamente los númerosbinarios sino también mu-
chos otros elementosdirectos de información. Cualquier elementodiscreto
de información específico entre un grupo de cantidades puede ser repre-
sentado p9r un código binario. Por ejemplo el rojo es un color específicodel
espectro. La letra A es una letra específicadel alfabeto.
un óif por definición es un dígito binario. cuando se usa en asocio
con un código binario es mejor pensar que denota una cantidad binaria
igual a 0 ó 1. Para representar un grupo de 2n elementos diferentes en
código binario se requiere un mínimo de N bits. Ello es debido a que es
posible arreglar r bits en 2" mane¡as diferentes. por ejemplo, ,r.t grnpo
-!
C O O I G O SB I N A R I O S t 7

de cuatro cantidades diferentes puede ser representadopor un codigo de


dos bits con cada cantidad asignada a cada una de las siguientescornbi-
naciones de bits; 00, 01, 10, 11. Un grupo de ocho elementos requiere un
código de tres bits con cada uno de los elementosasignadosa uno y sólo
uno de los sigr¡ientes:000, 001, 010, 011, 100, 101, 110, 111. Los ejernplos
muestran que las diferentes combinacionesen bits de un código de n bits
pueden encontra¡secontando en forma bina¡ia desde 0 hasta 2'- 1. Al-
gunas combinacionesde bits no se asignan cuando el número de elementos
de un grupo que va a codifica¡seno es múltiplo de una potencia de 2. Los
diez núme¡osdecimales0, 1, 2, , 9 son ejemplosde este grupo. Un códi-
go binario que distingue diez elementos diferentes debe contener mínimo
cuatro bits: tres bits dete¡minan un máxi¡no de ocho elementos. Cuatro
bits pueden conformar 16 combinacionesdife¡entes, pero como se codi-
fican solamente diez dígitos, las seis combinacionesrestantesno se usan
ni seasignan.
Aunque el número mínimo de bits, necesariospara codifica¡ 2" can-
tidades diferentes, es n, no hay un número máxímo d,e bits que puedan
ser usados por un código bina¡io. Por ejemplo, los diez dígitos decimales
pueden ser codificados con diez bits y a cada dígito decimal asignarle
una combinación de bits de 9 cerosy un 1. En este código binario en par-
ticular, al dígito 6 se le asigna la combinaciónde bits 0001000000.

C ó di g o s d e c i m a l e s

Los códigosbinarios para digitos decimales requierenun mínimo de cua-


t¡o bits. Se puede obtene¡ numerosos códigos dife¡entes rearreglando
cuatro o más bits en diez combinacionesposibles.Varias de estas posi-
bilidades se muestran en la Tabla 1-2.
Tabla l-2 Códigosbinarios para dígitos decimal€s

Digito ( B D C) (Biguinario)
decimal u2\ Excesoa 3 u.2-l 5043210

0 0000 001I 0000 0000 010000|


I 0001 0100. 0llt 0001 0100010
2 0010 0101 0 ll 0 0010 0100100
3 001I 0 ll 0 0l0l 001I 0101000
4 0100 0lll' 0lm 0100 0l 10000
5 0l0l 1000 l 0 lI l 0 lI 100000r
o 0 tl 0 l00l l0l0 I 100 1000010
'l
0lll l0lü l00t I l0l 1000100
8 r000 l0lI r000 lll0 1001000
9 t 00l I100 llll l l l0l0m0

Bl BDC (el binario decimal codificado)es una forma directa asignada


a un equivalente binario. Es posible asignar cargasa los bits binarios de
acuerdo a sus posiciones.Las cargasen el código BDC son 8, 4, 2, l. La
asignaciónde bits 0110por ejemplo, puede ser interpretadapor las cargas
I8 S I S T E M A SS I N A B I O S
CAP. 1

el dísitodecimal6 ya que0x 8+ 1x 4+ 1x 2+0+


B1*_l:l,t:."ltg.
Ds posrDreasrgrar ca¡gas 1:6.
ne,gativasa un código decimal, tal como
muestra.en el código 8, a, se
.?,. 1. En este l" ¿" ¡its
0 1 1 0s e i n t e r p r e t ac o m o e l d í g i t o d e c i m a l i , "u"o "n-binu"l¿n
de 0X8+1X4
+.I x ( - 2) + 0 X ( - 1) : 2. O-tros dos códigás" icon á¡t""ér."
tabla son el 2421y el b043210.U" -o"t.ados en la
""-.gJ- ¡u usado
á""i_ái q,]""J"
"Oaig, en al_
viejos en el código de Este último es un
fl9-.- ""-nut"dores
LuurBUsrn ca¡ga. cuva asrgnatión se obtiene "*"".o
del"'i.
correspondientevalor
e n B D C u n a v e z s e h á y as u m a d ol .

o"",,lli,l"l"u'jff jl-.'j"$":ir:jffi
J:'::"r",::T,"?,J:t'"""11r1':Tli":
datos, el usuario gusta dar los datos f;;;; j*i."i.
L"" _"r,ur"" d",
crmales recibidas se almacenan inte¡namente "" en el computadorpor medio
del código decimal. Cada dígito a""irn"l ."q,li"i"
mentos de almacenamientobinario. Los n,i-".o.. ;;;;"".. 'a""iaules cuatro ele-
se convrenen
cuando las operacionesaritméticas ." hr"un-lnt".numente
:..1i1*
numeros representadosen binario. Es posible con
también realizar operacio_
nes aritméticas directamente en decimál
con todos lo" n"¡n"ro. ¡,a deja_
dos en forma codificada. por ejemplo, ,,,i_".o J""i-"i -"ueve ¡9b, ."
da igual a 1100b1011 "t y ",rundo
:j:ri:rl"_1^lirrio
rrus. or mrsmo nume¡o representadoalternamente dígitos bina-
"on"i"t" en "i, código BóC,
paracada.digrrd ocupa
, re c i m a lp a r a u n t o t a f a e i Z ú i i s : 0 0 1 1 1 0 0 1 0 1 0 1 .
:L.,fs
r ^ 1 rprrmeros
1"_,b1"
c't¡tro bits representanel 3, los siguientes
ultrmos cuatro el 5. cuatro el g y los

. Es muy importante comprender la dife¡encia entre conuersiónde un


n-úmerodecimal a bina¡io y ra codit'icación¡i...L
'á" -¡it".
áu ,"'.omero
-i_* decimal.
En_cada caso el ¡esultado rirral e" u.. ,".i"
d-ela conversiónson dígitos binarios. L", ¡ir" obtenidos
úii".¡1""iJosli ta codificac¡ón
son combinacionesde unos a ceros arregladu"
a" u"ulaan u las reglas del
código usado. Por tanto es extremadam"ert"
i-p".ir.i"'i"r,".
que una serie de unos y.ceros en "n "u"nru,
un sistema dilital pueáe algunas veces
¡epresentarun número binario y otras veces
."pi"a"r,tu. alguna otra can
tidad disc¡eta de información como se especifica
en un código binario
*... ejemplo,ha
3:n::^,?^":0.11"^
u,r coorgoy una llc "laá-i"""eiJ.'j"iui -o,,",^ ouu""
conversiónbina¡ia directa siemprey cuando los números
decimalessean algún entero y entre 0 y 9. pa;
conversióny Ia codificación son completamente
;;;JrÁ-il.yo.". que g, la
diferentÁ.'E.t" -.r"upto
es tan importante que vale la pena repetirlo
usando otro ejemplo: la con_
versión binaria del decimal l3 es l10l; t,
BDC es 00010011. áecimal 13 con
"raln"""i¿""aál
1 , " "c i n c o c ó d i g o sb. i n a r i o s . l i s t a d oes n l a T a b l a
- - _ el? "m¿is 12, et BDC parece
ser natural y es sin duda el que se encuentramás
ümtnmente. Los
otros códigosde cuatro bits tienen una característica
en común que no se en_
cuent¡a en BDC. El de excesoa 3, el 2, a, _l-_ I son códigos
autocomplementarios,esto es que el compremento ?, ,,, "l B,¡,
de 9 der núme¡o decimal
se obtiene fácilmente cambianáot"" .á.;;
;; ;ñ;il por más. Esta
propiedades muy útil cuando se hacen
las operacionesaritméticas interna_
c o D t G o sB t N A R r o s 1 9

mente con números decimales (en código binario) y la sustracción se hace


por medio del complemento de 9.
Fil código binario mostrado en la Tabla l-2 es un ejemplo de un código
de sietc díBitos con propiedades de derección de error. Cada digito decimal
c o n s i s ¡ ed e 5 c e r o s 1 2 u n o s c o l o c a d o se ¡ r l a s c o r r e s D o n d i e n t ccso l u m n a s d e
."-a
I Pa.
La propredad de la detección de e¡ror de este código puede compren-
derse si uno se da cuenta de que los sistemas digitalm representan el
binario 1 mediante una señal específica uno y el bina¡io cero por otra
segunda señal específica. Durante la t¡asmisión de señales de un lugar a
otro puede p¡esentarse un error. Uno o más bits pueden cambia¡ de valor.
Un ci¡cuito en el lado de recepción puede detectar la presencia de más (o
menos) de dos unos y en el caso de que la combinación de bits no esté de
acuerdo con la combinación permitida, se detectará un error.

Códigos de detección de error

La información binaria, siendo señales de pulsos modulados o señales de


entrada y salida de un computador digital, puede ser t¡asmitida a través
de algún medio de comunicación tal como ondas de radio o alambres. Cual-
quier ruido exte¡no int¡oducido en el medio de comunicación fisica cambia
los valo¡es de los bits de 0 a 1 y viceversa. Puede ser usado un código de
detección de error con el objeto de detecta¡ los errores durante la tras-
misión. El er¡or detectado no puede ser corregido pero sí indicada su
presencia. El procedimiento usual es observar la frecuencia del e¡ror. Si
el e¡ro¡ ocurre de vez en cuando, aleatoriamente y sin algún efecto pro-
nunciado sob¡e el total de la información trasmitida, o no se hace nada o
se trasmite de nuevo el mensaje erróneo especíñco. Si el erro¡ ocur¡e tan
a menudo que se distorciona el significado de la información ¡ecibida, se
debe rectificar la falla del sistema.
Un bit de parid.ad es un bit extra, incluido con el mensaje para con-
vertir el núme¡o total de unos en par o impar. Un mensaje de cuatro bits
y un bit de paridad P se representan en la Tabla 1-3. En (a), se escoge P
de tal manera que la suma de todos los unos sea impar (en total cinco bits).
En (b), se escoge P de tal manera que Ia suma de todos los unos es par.
Du¡ante la trasferencia de información de un lugar a otro, el bit de pari
dad se trata de la siguiente manera: en el ext¡emo de envío, el mensaje
(en el caso de los primeros cuatro bits) se aplica a un circuito "generador
de paridad" en el cual se genera el bit P requerido. EI mensaje junto con
su bit de paridad se t¡asfiere a su destino. En el extremo de recepción
todos los bits entrantes (en este caso cinco) se aplican al ci¡cuito de "ve-
¡ificación de paridad' para constatar la paridad adoptada. Se detecta¡á
un eror si la paridad ve¡ificada no corresponde a la adoptada. El método
de Ia paridad detecta la presencia de uno, tres o cualquier combinación
de e¡ro¡es impar. Una combinación par de errores no se puede detecta¡.
Una ulte¡ior discusión de la generación de paridad y su verificación pue-
de ser encont¡ada en Ia Sección 4-9.

!¿
r Tabla l-3

(a) Mensaje
Generacióndel bit de paridad

P (impar) (b) Mensaje P (pari

0000 1 0000 0
0001 0 0001 1
00r0 0 0010 I
001I I 001I 0
0r00 0 0100 I
0 1 0| I 0l0l 0
0 ll 0 I 0ll0 0
0l 0 0lll I
1000 0 1000 I
l00l I t 00l 0
l0l0 I l0l0 0
l 0 lI 0 l 0 lI I
I 100 I | 100 0
l0l 0 Il0l I
I l0 0 nl0 I
l I ll 0

El código reflejado

Los sistemas digitales pueden ser diseñados para procesa¡ datos solamen-
te en forma disc¡eta. Muchos sistemas fisicos suministran salida continua
de datos. Estos datos pueden convertirse en forma discreta o dieital antes
de ser aplicados a un sistema digital. La información análoga o continua
s_e.convierte a forma digital por medio del convertido¡ análógo a digital.
Algunas veces es conveniente usar el código reflejado mostrado en la Tabla
1-4 para representar los datos digitales convertidos en datos análosos.
-ou.
La ventaja del código reflejado sobre los números bina¡io, pu.o"
".
el número en el código reflejado cambia en sólo un bit cuando cambia'de
un número al siguiente. Una aplicación típica del código reflejado ocurre
cuando los datos análogos se ¡epresentan por un cambio continuo de la
posición de un eje. El eje se divide en segmentos y a cada segmento se le
asigna un número. Si se hace corresponder segmentos adyacentes con
núme¡os de código reflejados adyacentes, se reduce la ambigüedad cuan
do se sensa la detección en la línea que separa cualquier par de segmen,
tos. El código reflejado que se muestra en la Tabla l-4 es solamente uno
de los muchos códigos posibles. Para obtener un código reflejado diferente
se puede comenzar con cualquier combinación de bits y proceder a obtener
la siguiente combinación, cambiando solamente un bit de 0 a I ó de 1 a 0
de cualquier modo deseado, al azar, siempre y cuando dos núme¡os no
tengan códigos asignadtx idénticos. El código reflejado se conoce como el
código Groy.

Códigosa lfanu méricos


Muchas aplicaciones de computadores digitales, requieren manejar datos
que consisten no solamente de números sino también de letras. po¡ eiem_

20
\

T6bls 1-4 Código reflejado de cuatro bits

Códigoreflejado Equivalentedecimal

0000 0
0001 I
001I 2
0010 3
0ll0 4
0lll 5
0l0l 6
'l
0100
l100 8
I l0l 9
llll l0
l 0 ll
l0l0 t2
l0l I
lml t4
1000 t5

plo una compañía de seguros con millones de clientes pueden usar un


computador digital para procesarsus historias. Para representarel nom-
bre del dueño de una póliza en forma bina¡ia, es necesa¡iotener un código
binario para el alfabeto. Además, el mismo código binario puede represen
tar números decimales y algunos otros caracteresespeciales.Un código
alfanumérico (algunas veces abreviado aLphameric)es un código binaricr
de un grupo de elementosconsistentede los diez números decimales, los
26 caracteresdel alfabeto y de cierto número de símbolosespecialestales
como $. EI número total de elementosde un grupo alfanume¡rcoes mayor
que 26. Por consiguientedebe se¡ codificado con un mínimo de seis bits
( 2 ' j: 6 4 , y a q u e 2 5 : 3 2 e s i n s u f i c i e n t e ) .
Un arreglo posible de un código alfanumérico de seis bits se muestra
en la Tabla 1-5 bajo el nomb¡e de "código interno". Con algunas variacio-
nes se usa en muchas computadoras,para ¡epresentarinternamente ca,
¡acteresalfanumé¡icos.La necesidadde representarmás de 64 caracteres
(las letras minúsculas y los caracteresde control especialespara la tras-
misión de info¡mación digital) dio lugar a códigosalfanumé¡icosde siete y
ocho bits. Uno de estos códigoses conocidocomo ASCII (American Stan-
dard Code fo¡ Information lnterchange: Códigonormalizadoamericanopa-
ra el intercambiode información)iot¡o es conocidocomo EBCDIC (Extended
BCD InterchangeCode: Código de intercámbioBDC aumentado).El códi-
go ASCII listado en la Tabla 1-5, consistede siete bits, pero es para propó-
sitos prácticosun códigode ocho bits ya que el octavo bit se agregade todos
modospara efectosde paridad. Cuando se trasfie¡e información directa me-
diante tarjetas perforadas,los ca¡acteresa-lfanuméricosusan un código bi-
na¡io de 12 bits. Una tarjeta perforadaconsisteen 80 columnas y 12 filas.
En cada columna se representaun ca¡ácter alfanumérico mediante huecos

_- .- .1
Tsbla l-5 ( odrgos de caracte¡€s alfanuméricos

-
uoolgo L odlgo
Códigointemo AS CII EBCDIC Códisode taljeta
C a r a c te ¡ 6.bits ?-bits 8-birs 12-bits
0t0 001 lm 0001 I 100 0001 t2,1
B 010 010 100 0010 l 100 0010 1))
C 010 0 100 001I I 100 001I 1) 1
D 010 r00 100 0100 I 100 0100 12,4
E 0t 0 r 0 l 100 0r0l r 100 0 1 0|
F 010 I l0 100 0l l0 I 100 0 l t 0 12.6
G 010 l 1000lll I100 0 l t2,7
H 0lt 000 100 1000 | 100 1000 12,8
I 0l l 001 r00 l00l l l m 1001 t2,9
J 100 001 100 l0r0 I l 0 l 0001 lt,t
K 100 010 100 101 | I l 0 l 0010 11,2
L t00 0tI t00 llm I l 0 l 00 I1,3
M 100 100 100 I tol I l 0 l 0100 I t,4
N 100 l0l 100 Il t0 I l0l 0l0l I1,5
o 100 I l0 100 l l l 1 0 l 0ll0 I 1,6
P 100 Il I r0r 0000 Il0l 0lll 11,7
a l0l m0 l0l 0001 I l 0 l t000 I1,8
R t 0| 0 0 1 l0l 0010 I l 0 l t 00l I 1,9
s 0 0r0 l 0 l 0 0 1I l ll0 ml0 o,2
T Il0 0ll l0l 0100 l I 0 001I 0,3
U I l0 100 r0l 0l0l I l 0 0100 0,4
I l0 r0l I0l 0ll0 l r0 0l0l 0,5
Il0 ll0 l0l 0lll l l 0 0 ll 0 0,6
X ll0 lll l0l l0ü) lll0 0 r 0,1
Y llt 000 t0 l l 0 0 l lll0 r000 0,8
z ll I 001 l0l l0l0 lll0 t 00l 0,9
0 000 000 0l I 0000 I I Il 0000 0
I 000 001 0lt 0001 l l 0001 I
2 000 0r0 0l l 0010 l l l l 0010 2
3 000 0l I 0 001I Illl 00ll 3
4 000 100 0l I 0100 l l l t olm 4
5 000 l0r 0lI 0l0l ll 0l0l 5
0 000 l r0 0lI 0ll0 ll 0ll0 6
'l
000 I Il 0ll 0llt llll 0llt 7
8 001 m0 0l I 1000 r l ll 1000 8
9 00r 001 0l I t00l ll l00l 9
espacio l r0 000 010 0000 0100 m00 no perforado
0ll 011 0t0 I n0 0100 l0l I t2.8,3
( I lt I00 010 1000 0100 I l0r 12,8,5
+ 010 000 010 l o tI 0100 | I l0 12,8,6
$ I o t 0 lI 010 0100 0l0t lot I I1,8,3
l0 t 100 010 l0l0 0r0| I100 I1,8,4
)_ 0lI 100 010 r00l 0t0l Il0l I1,8.5
100 000 010 l l0l 0l l0 0000 ll
I l0 001 0t0 llll 0l r0 0001 0,1
ll I 0 010 l r00 0l l0 l0 0,8,3
001 0rl 0lr Il0l 0l lll0 8,6
T

SEC ]7 OE E I N A R I O SY R E G I S f R O S 2 3
A L M A C E N A M I E N TD

perforadosen las columnas adecuadas.Un hueco se sensacomo 1ó su au-


sencia como 0. Las 12 filas están marcadas,comenzandodesdeel extremo
superiorcomo las filas de ¡rerforación12, 11,0, 1,2, , 9. Las tres primeras
constituyen el área de perforaciónde zona y las últimas nueve,de perfora-
ciór' numérica. El código de tarjeta de 12 bits most¡adoen la Tabla 1-5 da
un listado de las filas en las cuales se perfora un hueco (dando los unos).
Las filas restantesse asumen como ceros.El código de tarjeta de 12 bits es
ineficiente con respectoal número de bits con que se usa. La mayoría de
los computadorestraducen el código de entrada a un código interno de seis
bits. Como ejemplose usa la representacióndel nomb¡e "John Doe" a con-
tinuación:
100001rml l0 0l l0@ r00l0l l10000010100l00ll0 0l0l0l
JOH N espacio D OE

1.7 Y REGISTROS
A L M A C E N A M I E N TDOE B I N A R I O S
Los elementos discretos de info¡mación en un computador digital deben
tener una existencia fisica en algún medio de almacenamiento de infor-
mación. Además, cuando los elementos discretos de info¡macion se re'
presentan en forma binaria, el medio de almacenamiento de información
debe contener elementos de almacenamiento bina¡io para Ia acumulación
de los bits individuales. Una celd.a binaría es un elemento que posee dos
estados estables y es capaz de almacenar un bit de info¡mación. La entra-
da a la celda ¡ecibe las señales de exitación que la coloca en uno de los
dos estados. La salida de la celda es una cantidad ñsica que distingue
entre los dos estados. La información almacenada en la celda es un I
cuando está en su estado estable y un 0 cuando está en el otro estado
estable. Algunos ejemplos de celdas bina¡ias son los circuitos flip-flops, los
núcleos de ferrita usados en la memoria y las posiciones perforadas o no de
una tarJeta.

Reg ist ros

Un regístro es un grupo de celdas binarias. Como una celda almacena un


bit de información, se desprende que un registro de r celdas puede alma-
.:enar cualquier cantidad disc¡eta de información que contenga n bits.
El estado del re$stro es un número enésimo de unos o ceros con cada brt
.ndicando el estado de una celda en el registro. El cc,ntenido de un registro
es una función de la interpretación dada a Ia info¡mación almacenada en
ella. Considé¡ese como ejemplo un registro de 16 celdas:

I I 0 0 0 0 I I I 0 0 0 0 I
| 2 3 4 5 6 7 8 9 l0 1l 12 13 14 15 16
Físicamente se podría p€nsar que el registro está compuesto de 16 celdas
b i n a ¡ i a s , c o n c a d a c e l d a a l m a c e n a n d o u n 1 ó u n 0 . S u p o n g a m o sq u e l a c o n -
fizuración de bits almacenados es como se muestra en la figu¡a. El estado

*t
24 S I S T E Ñ 4 ABSI N A R I O S CAP, 1

del registro es el número 16-avo 1100001111001001. Más claramente, un


¡egist¡o de n celdas puede estar en uno de los 2n estadosposibles.Ahora
bien, si se asume qu€ el contenido del registro ¡epresentaun entero bina-
rio, obviamente el registro puede almacenar cualquier número binario de
0 a 2¡6 -1. Para el caso particular mostrado,el contenido del registro es
el equivalentebinario al número decimal 50121.Si se asumeque el registro
almacena caracteresalfanuméricos de un código de 8 bits, el contenido
del registro es cualquiera de los caracteressignificativos. (Las combina-
ciones de bits no asignadas no representan información significativa).
En el código EBCDIC, el ejemplo anterior representalos 2 caracteresC
(ocho bits izquierdos)e 1 (ocho bits derechos).Por otra parte, si se inter-
p¡eta el contenido del registro como cuat¡o dígitos decimales repr€senta-
dos por un código de cuatro bits, el primero se¡á un número decimal de
cuatro dígitos. En el código de excesoa 3 del ejemploante¡ior se represen-
ta el núme¡o decimal 9096.En el código BDC el contenidodel registro no
tiene ningún significado ya que la combinación de bits 1100no se asigna
a ningún dígito decimal. De acuerdo al ejemplo, se nota que un registro
puede almacenar uno o más elementosdiscretos de información v que la
misma configuración de bits puede ser interpretada, de manera dife¡ente
para dife¡entes tiDos de elementos de información. Es muv importante
que el usuario almacene información significativa en ¡egistros y que el
computador sea programado para procesar esta información de acuerdo
al úipo de la misma.

T r a s f e r e n c i ae n t r e r e gi s t r o s

Un computador digital se caracterizapor sus ¡egistros.La unidad de me-


moria (Figura 1-1) es principalmente una colecciónde cientos de registros
para almacenar información digital. La unidad procesadorase compone
de va¡ios registros que almacenan operandoscon base en los cuales se
realizan operaciones,La unidad de control usa registros para controlar
va¡ias secuenciasdel computador y cada dis¡nsitivo de ent¡ada y salida
debe tener al menos un registro para almacenar la información trasferida
de o al dispositivo. Una operación de trasferenciaenrre registros es una
operación básica en sistemas digitales y consiste en la t¡asferencia de
la información almacenadade un registro a otro. La Figura 1-2 ilustra la
trasferencia de información entre registros y demuestra pictóricamente
ia trasferencia de información binaria de un teclado de teletipo a un re-
gistro en la unidad de memo¡ia. Se asume que la unidad de entrada del
teletipo tiene un teclado, un circuito de control y un registro de entrada.
Cada vez que se digita una tecla, el control introduce al registro de en-
t¡ada un código de carácter alfanumérico equivalentede 8 bits. Se supone
que el códigousado es el códigoASCII con un octavo bit de paridad impar.
La info¡mación del registro de entrada se t¡asfie¡e a las ocho celdas me-
nos significativas del registro procesador.Después de cada trasfe¡encia
se borra el registro de entrada para permitir que el control pueda enviar
un nuevo código de ocho bits cada vez que se digite el teclado. Cada ca-
racter de ocho bits t¡asferido al registro procesadorviene seguidopor un
corrimiento del anterior carácter en las sizuientes ocbo celdas a su iz-
\

UNIDAD DE MEMORIA
roH
I
I I1110I 0 1 0 0 I0010 1 1
010010100100
1

PROCESADOR

UNIDAD TELETTPODE ENTRADAI Resistro

..-:-.--.--.!

CONTROL

conregistros
de información
Figura l_2 Traslerencia

quierda. Cuando se complete la t¡asferencia de cuat¡o caracteres,el re-


ji.i.o p.o"".udor estará lleno y su contenido se trasferirá.al registro de
il"-o.iu. El contenido almacenadoen el registro de memoria de la Figura
1-2 nrovino de la t¡asferencia de los caracteresJOHN despuésde digitar
las óuat¡o teclas adecuadas.
P"." pro"""u. las cantidades discretas de información en forma bi-
naria, el óomputador debe estar dotado de (l) elementos que sostengan
los datos qus vayan a ser procesadosy (2) elementos de circuito que
manejen los bits individuales de info¡mación. El elementomás convenien-
temente usado para retener información es un registro. El manejo de va-
¡iables bina¡ias se hace por medio de circuitos lógicos digitales' La Figura
1-3 ilustra el procesode suma de dos númerosbinarios de 10 bits' La uni-
dad de memoria, que consiste usualmente en cientos de reglstros se
muestra en el diagráma con sólo tres de sus registros.La pa¡t€ de la uni-
dad de procesomóstrada, consiste en tres registros,R1, R2 y R3 conjun-
tamente con circuitos lógicosdigitales que manejan los bits de Rl y R2 y
t¡asfie¡en a R3 un númeio binario igual a su suma aritmética Los regis-
t¡os de memoria almacenan información y están incapacitadospara pro-
cesar los dos operandos.Sin ernbargo,la información almacenadaen la
memoria puede ser trasferida a los regist¡os de proceso Los resultados
obtenidos por el registro del procesadorpueden ser trasferidosal registro
25
I NIDAD DE MEMORIA

0000000000

0011100001

0001000010

00010000r0

Circuitos de
lógica digital
para la
01001000 r l
suma binaria

001 l 100001

U N I D A DD E P R O C E S A D O R

Figura l-3 Ejemplo de procesamiento de información binaria

de la memoria para almacenamientohasta que vuelvan a ser necesarios.


El diagrama muestra el contenido de los dos operandostrasferidosde los
dos registrosde memoria Rl y R2. Los circuitos lógicos digitales producen
la suma que a su vez será trasferida al registro R3. El contenido del regis-
tro R3 puedeser trasladado a los registrosde memoria.
Los últimos dos ejemplos demuestranla capacidaddel flujo de infor-
mación del sistema digital de una manera muy sencilla. Los registrosdel
sistema son los elementosbásicospara almacenamientoy retención de la
información binaria. Los circuitos digitales procesan la información. En
la siguiente sección se introducen los circuitos digitales y su correspon-
diente capacidad de manipulación. El tema de los registros y las opera-
ciones de trasferenciade registrosse verá de nuevo en el Capítulo 8.

1-8 L O G I C AB I N A R I A

La lógica binaria trata con variablesque toman dos valoresdiscretosy con


operacionesque asumen significado lógico. Los dos valores que las varia-
bles asumen pueden llamarse de diferentes maneras (por ejemplo, uerda-
dero y falso, si y no, etc.) pero para este propósito es conveniente pensar
26
SEC.1-8 L O G I C AB I N A R I A 27

en términos de bits y asignar los valoresde 1 y 0. La lógica binaria se usa


para describir, de una manera matemática el procesamientoy manipuleo
de la información binaria. Se acomodamuy bien para el análisis y diseño
de los sistemas digitales. Los circuitos lógicos digitales de la Figura 1-3,
que realizan la aritmética binaria, son circuitos cuyo comportamientose
más convenientementeen términos de variables binarias y ope-
".*p.e.u
tuóion". lógicas. La lógica binaria que se introduce en esta sección es
equivalentea un tipo de álgebrallamada álgebrade Boole..La presentación
formal del álgebra-deBoole de dos valores se verá en más detalles en el
Capítulo 2. E1 proposito de esta sección es el de introducir el álgebra de
Boó1",de una -a.tóra heurísticay de relacionarla con los circuitos lógicos
digitales y señalesbinarias.

D e f i n i c i ó nd e l ó g i c a b i n a r i a

La lógica binaria consisteen variables binarias y operacioneslógicas. Las


variabllesse indentifican mediante las letras del alfabeto tales como A,
B, C, x, y, z, etc. y cada variable tendrá dos y sólo dos valores posibles:
1 y 0. Hay tres operacioneslógicasbásicas:AND, OR y NOT.

1. AND: Esta operación se representa por un punto o por la ausencia


de un operador.Por ejemplo,Í'!:z ó xy:z leído "x y y es igual
a z " i m p l i c a nq u e e : 1 s i y s ó l os i ¡ : 1 y y : 1 ; d e o t r a f o r m ae : 0 '
(Recuérdeseque f, y y z son variables y pueden ser solamente 1
ó0ynadamás.)
2. OR: Esta operación se representapor un signo más. Por ejemplo r f
y : z s e l e é " r O R y e s i g u a l a 2 " , q u e r i e n d od e c i r q u e z : 1 ! i
¡:f o s i y : 1 o s i s e t i e n e x : l y y : 1 ' . S i a m b o s¡ : 0 y ! : 0 ,
entoncee s :0.
3. NOT: Esta operación se representapor un apóstrofe (algunas veces
por una barra). Por ejemploix':z (6 7: e) se lee "r no es igual a
z" implicandoque z es lo que r no. En otras palabras,si ¡:1 en-
t o n c e se : 0 , p e r os i ¡ : 0 e n t o n c e se : 1 '

La lógica aritmética se parecea la aritmética binaria y las operaciones


AND y OR tienen su similitud con la multiplicación y la_sumarespectiva-
mente. De hecho los símbolosusadospara AND y OR son los mismos que se
usan para la suma y la multiplicación. La lógicabinaria, empero'no se debe
confundir con la aritmética binaria. Se debe tener en cuenta que una va-
riable aritmética designaun número que puede consistir en muchos dígi-
tos mientras que una variable lógica es siempre 1 ó 0. En la aritmética
binaria, por ej-emplo,se tiene que 1+ 1: 10 (leído "uno más uno es igual
a dos") mientral que en la lógica binaria se tiene que 1+ 1 : 1 (leído:
"uno OR uno es igual a uno").
Existe ,r.r uulo. de z especificadopor la definición de la operación ló-
gica, por cada combinación de valores x y y. Estas definiciones pueden
Ii.t"r." en una forma compacta usando tablas de uerdad. Una tabla de
verdad es una tabla de todas las combinacionesposiblesde las variables

_*Á
Tabla l-6 Tablas de verdad de las operaciones lósicas

AND OR
x'Y x y

0 0 00 0
0 0 0l I
I 0 l0 I
l I
ll I

que muestra la relación entre los valores que


las variables pueden tomar
y el resultado de la^operación.por ejemplo,
las tablas-áe verdad para las
operaionesAND y OR con variables r y y se
obtienen al-r"listar todos los
valores_posiblesque las variables puede' t"rr".
pares. El resultadode la operaciónde cada en
"rráláose lista
"o*binan
en una co-
llrlu separada.Las tabrai de verdad d" Áñó,
"o-¡i"ácián
oii;"ñóT se listan en la
Estas tabras demuestranclaramentelas definiciones
::?jlj:t de lps ope-

S e ñ a l e s b i n a r i a s y c i r c u i t o sd e c o n m u t a c i ó n

El uso de variables binarias y la aplicación a ra


lógica binaria se demues-
tra por los circuitos sencillos de c-onmutación
de ü rig"." r_4. suponga_
mos que los interruptores A. y-in-terruptor
B representendos variables binarias con
valores iguales a 0 cua¡do el está abierto e-igual 1 cuando el
interruptor está cerrado. Simultáneámente
asúmase que la lámpara l
representauna tercera variable primaria igual
a t cuandola luz está pien-_
dida e igual a 0 cuando está apagJu. puü
;;-ü., i't"r.upto.u, .r,
series, la luz se prende solamenté si A y B "t "uro para los inte_
están
rruptores en paralelo,.ra ruz se prenderá si
A o B ";;.;á;..
;;;";;rrados. obvia_
mente estos dos circuitos pueden expresarsepor
medio de la lógica binaria
con las operacionesAND t OR repectivamente:
L = n .B para el circuito de la Figura I_4(a)
L : A + B para el circuito de la Figura
1-4(b)
Los ci¡cuitos digitales electrónicosse llaman
algunas veces circuitos
de conmutación,ya que se comportan como
u¡ interruptor con qR elemen-
to activo tal como un transistor conduciendo
(interripto, o en
"...uao)

Fuente
Fuente
de voltaje
de voltaje

(a) Inte¡ruptoresen se¡ie- AND lóeica


(b) Interruptoresen paralelo- OR lósico
Figura l-4 ci¡cuitos de interrupción que demuestran la lógica
binaria
28

L
f

Voltios

Tolerancia
Lógica l nominal permitida para
la lógica 1

La transiciónocur¡e
entre estosIímites

Tolerancia
Lógica 0 nominal permitida para
la lógica0
-0,5

Figura l-5 Ejemplo de señalesbina¡ias

corte (interruptor abierto). En vez de cambiar manualmente el interrup-


tor el circuito de interrupción electrónico usa señalesbinarias para con-
trolar el estado de conducción o no conducción del elemento activo. Las
señaleseléctricas tales como voltajes o corrientesexisten por todo el sis-
tema digital en cualquierade los dos valores reconocibles(exceptodurante
la transición). Los circuitos operadospor voltaje respondena dos niveles
separadoslos cuales representanuna variable binaria igual a lógica 1 o
lógica 0. Un sistema digital en particular podría definir la lógica 1 como
una señal de valor nominal de 3 voltios y la lógica 0 como una señal de
valor nominal de 0 voltios. Como se muestra en la Figura 1-5 cada nivel de
voltaje tiene una desviación aceptable de la nominal. La región interinedia
entre las regiones permitidas se cruza solamente durante las transiciones
de estado. Los terminales de entrada de los circuitos digitales aceptan se-
ñales binarias dentro de las tolerancias permisibles y respondenen el termi-'
nal de salida con señalesbinarias que caen dentro de las tolerancias espe-
cíficas.

Compuertaslógicas

Los circuitos digitales electrónicosse llaman circuitos lógicosya que con


las entradas adecuadasestablecen caminos de manipuleo lógico. Cual-
quier información deseadapara calcular o controlar, puede ser operada
pasando señales binarias a través de varias combinacionesde circuitos
iógico* con cada señal que representa una variable y trasporta un bit de
inlormación. Los circuitos lógicos que ejecutan las operacioneslógicas de
AND, OR y NOT se muestran con sus respectivossímbolosen la Figura 1-6.
29

-J
I x

( a ) CompuertaAND de (b) CompuertaOR de (c) CompuertaNOT


dosentradas dos entradas o inversor

a---.fA F - ABC ,$ G: A* B -¡c + D


BcL)-
Bjf
(d) CompuertaAND de (e) CompuertaOR de
tres ent¡adas cuatro entradas

Figura l-6 Símbolos para los circuitos lógicos

Estos circuitos, llamados conlpuertas son bloques de circuitería que


producen señalesde salida de lógica 1 o lógica 0, si se satisfacenlas cón-
diciones de las entradas lógicas. Nótese que se han usado cuatro nom-
bres diferentes para el mismo tipo de circuito: circuitos digitales, circuitos
de conmutación, circuitos lógicos y compuertas. '.fodos los cuatro nombres
se usan a menudo pero se hará referencia a los circuitos como compuertas
AND, OR y NOT. La compuertaNOT se denominaalgunasvecescomocjr-
cuito inuersorya que invierte la señal binaria.
Las señales de entrada r y y en las compuertas de dos entradas de la
Figurl 1-6 pueden existir en uno de los cuatro estadosposibles:00, 10, 11
ó 01. Estas señalesde entrada se muestran en la Figurá 1-? conjuntamen-
te con las señalesde salida de las compuertasAND y oR. Los diagramas de
tiempo de la Figura 1-7 ilustran la respuesta de cada circuito a cada
una de las posibles combinacionesbinarias de entrada. La razón para el
nombre "inversor" dado a la compuerta NOT es aparente al comparar la
señal ¡ (entrada del inversor) y la señal r' (salida del inversor).
Las compuertas AND y OR, pueden tener más de dos entradas como la
compuerta AND con tres entradas y la compuerta OR con cuatro entradas de
la Figura 1-6. La compuerta AND de tres entradas respondecon la salida de
lógica 1 si todas las tres señalesde entrada son de lógica 1. La salida pro-
duce una señal de lógica 0 si cualquier entrada es de lógica 0. La compüer-
ta 0 de cuatro entradas respondecon lógica 1 cuando cualquier enirada
es de lógica 1. Su salida será de lógica 0 si todas las señalesde entrada
son de lógica 0.

' ol-T--Tlo o

_v o, ofTlo

AND: ;r . y o o.f--Tl o o

OR:¡*y fr
NOT: ¡' W
Figura l-7 señales de entrada-salida para las compuertas (a), (b) y (c) de la Figura l-6

30
1-9 I N T E G R A D O S3 I
CIRCUITOS

El sistema matemático de lógica binaria es mejor conocido como de


Bole o álgebra de conmutación. Esta álgebra se usa convenientemente
la operación de conjuntos complejos de circuitos digitales.
',,s describir
:,ara
diseñadoresde los sistemas digitales usan el álgebra de Boole para
::asformar los diagramas de circuito a expresionesalgebraicaso vicever-
-a. Los capítulos 2 y 3 se dedican al estudio del álgebra de Boole, sus
:ropiedadesy su capacidad de manipuleo. El Capítulo 4 muestra cómo
.. atgebra de Boole puede usarse para expresar matemáticamente las
.:lrerconexionesentre los enlaces de compuertas.

.-9
C I R C U I T O SI N T E G R A D O S

Los circuitos digitales están construidos invariablemente con circuitos


.ntegrados.Un clrcuito integrado (abreviado CI) es un cristal semicon-
juct'or de silicón, llamado pastilla, que contiene componenteseléctricos
:ales como transistores, diodos, resistenciasy condensadores.Los diver-
:os componentes están interconectados dentro de la pastilla para formar
un circuito electrónico. La pastilla está montada en un empaqueplástico
con sus conexionessoldadasa las patillas externas para conformar el cir-
cuito integrado. Los circuitos integrados difieren de otros circuitos elec-
t¡ónicos compuestos
-CI de elementosdiscretos en que los componentesindi-
viduales del no pueden ser separadoso desconectadosy que el circuito
dentro del paqueteie hace accesible solamente por medio de las patillas
externas.
Los circuitos integrados vienen en dos clases de pastillas, la pastilla
plana y la pastilla de hilera doble de patillas* tal como se ve en la Figura
i-s. Lá pu.li¡a de hilera doble es la más comúnmente usada debido a su
bajo costo y fácil instalación en los circuitos impresos. La protección del
ciicuito iniegrado se hace de pl:ístico o cerámica. La mayoría de las pas-
tillas tienen tamaños normalizados y el número de patillas varían entre
g y &. cada circuito integrado tiene su designación numérica impresa
.oÉt" su superficie, para poder identificarlo. Cada fabricante publica
un libro de características o catálogo para suministrar la información
correspondientea los diversos productos.

Pastilla plana
Pastilla de hilera doblede patillas

Figura l-8 Circuitos integrados

* En inglés se usa (DIP) Dual-in-line package.


32 S I S T E M A SE I N A R I O S CAP, 1

El tamaño del c,ircuito integrado es bastante pequeño. por ejemplo,


cuatro compuertas AND están escapsuladasdentro de una pastilla de 14
patillas en hilera doble con dimensionesde 20x 8x B milímetios. un micro-
procesador completo está encapsulado de una pastilla de 40 patillas en
hilera doble con dimensionesde 50 X 15X 4 milímetros.
Además de la reducción sustancial de tamaño el cI ofrece otras ven-
tajas y beneficios comparados con los circuitos electrónicos con compo-
nentes discretos. El costo de los CI es bastante bajo, lo cual los háce
económicosde usarlos.-Su bajo consumo de poder haóe los sistemasdigi-
tales más econémicosde operar. Tienen una gran confiabilidad de no faliár
y por tanto menos reparaciones.La velocidad de operaciónes alta hacién-
-
dolos más adecuadospara operacionesde alta velocidad. El uso de los cI
reduce el número de conexiones externas ya que la mayoría están inter-
namente dentro de la pastilla. Debido a todas estas ventajas, Ios sistemas
digitales se construyencon circuitos integrados.
Los circuitos integrados se clasifican en dos categorías generales:
lineales y digitales. Los cI lineales operan con señales'contiñuas para
producir funciones electrónicas tales como amplificadbres y
res de voltaje. Los circuitos integrados digitale!, operan con "o-prt"do-
señáles bi-
nar'ias y se hacen de compuertas digitales interconictadas. Aquí se tra-
tará solamentecon los circuitos integradosdigitales.
A medida que mejora la tecnología de los cI, el número de compuertas
que pueden encapsularseen una pastilla de silicón, ha aumentado consi-
derablemente.La forma de diferenciar aquellos cI que tengan unas pocas
compuertas, con las que tienen cientos de compuertas, eJ referirse a la
pastilla como un elementode integraciónpequeña-, medianao grande.unas
pocas compuertasen una sola pastilla constituyen un elemento de inte-
gración pequeña (ssD.* Para poder calificar como un elemento de inte-
gración mediana (MSI)* el circuito integrado debe cumplir una función
lógica c-ompletay tener una complejidad de 10 a 100 compuertas. un ele-
mento-de integración a gran escala (LSD* realiza una función lógica con
más-de_1_00_ compuertas.Existe también una integración de muy- grande
escala (vLSI). para aquellos elementosque contienen miles de áoñrp,r"r-
tas en una sola pastilla.
Muchos diagramas de circuitos digitales consideradosen este libro,
se muestran en detalle hasta describir las compuertasindividuales y sus
interconexiones.Tales diagramas son útiles para demostrar la conjtruc-
ción Iógica de una función particular. sin embargo,dcbemostener en cuenta
en Ia práctica que una función dada se obtiene de u.t elemento de mediana
o gran integración(MSI y LSI), al cual el usuariosólo tiene accesoa las en-
t¡adas externas o salidas pero nunca a las entradas o salidas de las com-
puertas intermedias. Por ejemplo, un diseñador que desee incorporar un
registro en,su sistema debe preferiblemente escogertal función de un circui-
!o -9".mediana integración (MsI), en vez de diseñar los circuitos digitales
individuales como se muestra en el diagrama.
'En
inglés se usa: SSI (Small scale integration) Integración de pequeña escala; MSI
(Medium scale integration) lntegración de mediana escala; LSI (Lar'ge'scale integration)
Integración a gran escala; VLSI (Very large scale integration) Iniegrición a muy-grande
escala.
\

PROBLEMAS 33

REFERENCIAS
1. Richard, R. K., Arithmetíc Operations in Digítat Computers. Nueva York: Van
Nostrand Co., 1955.
2. Flores, 1., The Logic of computer Arithmetic. Englewoodcliffs, N. J.: Prentice-
Hall, Inc., 1963.
3. Chu, Y., Dígitat Cornputer Design Fundamentals. Nueva York: McGraw-Hill
Book Co., 1962,CaPítulos 1 Y 2.
4. Kostopoulos,G. K., Digital Engineering. Nueva York: John wiley & sons, Inc.,
1975,Capítulo 1.
N. J.:
5. Rhyne, Y. T., Fundamentalsof Digitat sysüemsDesign. Englewood cliffs,
Prentice-Hall. Inc., 19?3, Capítulo 1.

PROBLEMAS

1-1. Escriba los primeros 20 dígitos decimales en base 3'


L-2. sume y multiplique los siguientes números en la base dada sin convertirlos
a decimal.
( a ) ( 1 2 3 0 ) +Y ( 2 3 ) ¿ (c) (367)' v (715)a
( b ) ( 1 3 5 , 4 ) 6v ( 4 3 , 2 ) o ( d ) ( 2 9 6 ) t zY ( 5 7 ) t z
1-3. convierta el número decimal 250,5a base 3, 4,7,8 y 16 respectivamente.
t-4. Convierta los siguientes números decimales a binarios: 12,0625,104, 673,23
y 1.998.
1-5. Convierta los siguientes binarios a decimales:
1 0 , 1 0 0 0 11,0 1 1 1 0 , 0 1 0111, 1 0 1 0 1 , 1 1101, 0 1 1 0 1 ' 1 1 1 .
1-6. convierta los siguientes números en base a las bases que se indican:
(a) El decimal 225,225a binario, octal y hexadecimal'
(b) El binario 11010111,110a decimal, octal y hexadecimal'
(c) El octal 623,77a decimal, binario y hexadecimal'
(d) El hexadecimalzAC5,D a decimal, octal y binario'
l-7. Convierta los siguientesiúmeros a decimal:
(a) (1001001,011),
(b) (12121)3
(c) (1032,2)o
(d) (4310)5
(e) (0,342)u
(f) (50)?
(g) (8,3)g
(h) (1e8),,
1-8. Obtenga el complementode 1 y de 2 de los siguientes números binarios:
1010101,0111000,0000001,10000,00000
1-9. obtenga el complemento de 9 y de 10 de los siguientes números decimales:
13579,09900, 90090. 10000,00000.
34 s r s r E M A sB l N A R t o s C A P .1

1-10. Encuentre el complementode 10 de (935),,.


1-11. Haga la sustracción de los números decimalesa continuación, usando (1)
el complemento de 10 (2) el complemento de 9. Compruebe la respuestapor
medio de la resta directa.
(al 52ñ-32I
(b) 3570- 2100
(c) 753-864
(d) 20- 1000
l-L2. Realice la sustracción, de los siguientes números binarios usando (1) el
complemento de 2 (2) el complemento de 1. Compruebela respuestapor sus-
tracción directa.
( a ) 1 1 0 1 0 -1 1 0 1
(b) 11010- 100m
( c ) 1 0 0 1 0 -1 0 0 1 1
(d) 100- 110000
1-13. Pruebe el procedimiento expuesto en la Sección 1-5 para la sustracción de
dos númeroscon complementode (r- i).
1-14. Para los-códigoscargados(a) B, B, 2, 1 V (b) 4,4,9, _2para númerosdeci-
males, determine_todaslas tablas posibles de tal manera que el complemen-
to de 9 de cada dígito decimal se obtenga mediante el cambio de unos a ceros
y de ceros a unos.
1-15. Representeel número decimal 8620 (a) en BDC, (b) en código de exceso3,
(c) el código 2, 4, 2, 1 v (d) como número binario.
1-16' Un código binario usa diez bits para representar cada uno de los diez dígi-
tos decimales. A cada dígito se le asigna un código de nueve ceros y un r.
El código binario.para-6,.por_ejemplo,es 0001000000. Determine el cóáigo bi-
nario para los dígitos decimales restantes.
L-r7. obtenga el código binario cargado para los dígitos de base 12 usando las
cargas de 542L.
1-18' Determine el bit d9 paridad impar generadocuando el mensaje consiste
en
d r e zd i g i t o sd e c i m a l e se n e l c ó d i g o9 , 4 , _ 2 , _ 1 .
1-19. Determine otras dos combinaciones distintas al código reflejado
mostrado
en Ia Tabla 1-4.
l-20. obtenga un código binario para representar todos los dígitos
en base 6 de
tal manera que el complemento de 5 se cbtenga re-plar"rráo I por 0 y por
0 1
en cada uno de los bits del código.
1-21' Asigne un código binario de alguna manera ordenada a
las b2 cartas de la
baraja. Se debe usar el menor número de bits.
L-22. Escriba su norrbre y apellidos en un código de ocho bits
compuesto de los
siete bits ASCII.de la Tabla 1-5 v un brt d"eparidaá p"i
L""rúao un t" po-
sición más significativa. Incluya los espaciósentre las partes
del nombre
y el punto despuésde la inicial del segundoapellido.
L-23' Muestre la configuración de un registro de 24 celdas
cuando su contenido
representa(a) el número (295),s en binario, (b) el número decimal
2g5;;
BDC y (c) los caracteresXyb en ngCOtC
¡t

PROBLEMAS 35

l-24. El estadode un registrode 12 celdases 010110010111.¿Qué significa su con-


tenido si este representa (a) tres dígitos decimales en BDC, (b) tres dígitos
decimales en código de exceso 3, (c) tres dígitos decimales en código 2, 4, 2,
1 V (d) dos caracteresen el código interno de la Tabla 1-5?
I-25. Muestre el contenido de todos los registros en Ia Figura 1-3 si los dos nú-
meros binarios agregadostienen el equivalente decimal de 257 y 1050.Asuma
un registro¡c{on8 celdas.
L-26. Exprese el siguiente circuito de conmutación en notación lógica binaria.
AL

I'Lrente de
voltaje

1-27. Muestre las señales(usando un diagrama similar al de la Figura 1-7) de las


s a l i d a s F y G d e l a Figura 1-6. Use señales arbitrarias en Ias entradas A,
B,CyD.
Algebra
d e Boole
ly compuertaslógicas

2-1 DEFINICIONES
LOGICAS

EI álgebra de Boole, como cualquier otro sistema matemático deductivo


puede ser definida por un conjunto de e.lementos,un conjunto de opera-
dores, un número de axiomas o postulados.Un conjunto de elementoses
una colección de objetos que tienen una propiedad común. Si S es un
conjunto y x y y son objetos ciertos, entonces¡€S denota que r es un
miembro del conjunto S y y G S denota que y no es un elementode S. Un
conjunto con un número finito de elementosse representapor medio de
llaves:A:11, 2, 3, 4f , es decir Ios elementosdel conjunto A son los nú-
meros l, 2, 3 y 4. Un operador binario definido en un conjunto S de ele-
mentos, es una regla que asigna a cada par de elementosde S un elemento
único de S. Por ejemplo,considérese la relacióna*b: c. Se dice que * es
un operador binario si éste especificauna regla para encontrar c de un
par (o, b) y también si a, b, ceS. Por otra parte, * no es un operadorbi-
nario si a, beS mientrasque la regla encuentreque cG S.
Los postuladosde un sistema matemático forman las suposicionesde
las cuales se deducen las reglas, teorías y propiedadesdel mismo. Los
postulados más comúnmente usados para formular varias extructuras
algebraicasson:

1. Conjunto cerrado. Un conjunto S es cerrado con respecto a un


operadorbinario, si para cada par de elementosde S, el operador
binario especificauna regla para obtener un elemento único de S.
El conjunto de los números naturales N: I 1, 2, B, 4, l, po.
ejemplo, es cerrado con respectoal operador binario ( + ) por las
reglas de la suma aritmética ya que por cada a, b e N se obtiene
una ce N única por la operacióna+b: c. El conjunto de los nú-
meros naturales no es cerrado con respecto al operador binario
menos ( - ) por las reglas de la sustracción aritmética ya que
2 - 3 : - t y 2 , 8 € N m i e n t r a sq u e ( - l ) € N .
2. Ley asociatiua. Se dice que un operadorbinario * en un conjunto
S es asociativosi:
36
sEc.2-1 D E F I N I C I O NLEOSG I C A S3 7

(x*Y)+z : ¡*(Y*z) Paratoda x,Y, z €S

3. Ley conmutatiDo. Se dice que un operador binario * en un con-


junto S es conmutativo si:

x*y : y*x para toda x,y € S

4. Elemento de identidod. Se dice que un conjunto S tiene un ele-


* en S
mento de identidad con respecto a la operación binaria
si existe un elemento e € S con la propiedad:

e*x: x*e: x paratodax€S

Ejemplo: El elemento 0 es un elemento de identidad con respecto


a l a o p e r a c i ó n* e n e l c o n j u n t od e e n t e r o sI : l ,-3, -2, -7,
0 , 1 , 2 , 3 , . . . 1 Y aq u e :
x*0:0+x:xParatoda x€I

El conjunto de números naturales N no tiene elemento de identi-


dad ya que el 0 es excluido del mismo.
5. Inuerso.Se dice que un conjunto S, que tiene un elemento de
identidad e con respectoa un operadorbinario *, tiene un inverso
si para cada ¡ € S existe un elementoy C S tal que:
x*!:€

ffimplo: En el conjunto de enteros I con e: 0, el inverso del ele-


m e n t oo e s ( - o ) Y a q u e o + ( - o ) : 0 .
6. Ley distributiua. Si * y . son dos operadoresbinarios en un con-
' si:
¡unto S, se dice Que * es distributivo con respectoa
x * ( " y 'z ) : ( x * , ¡ ' ) (' x * z )
Un ejemplo de una extructura algebraicaes un compo. Un campo es
un conjunto de elementos agrupadoscon dos operadoresbinarios, cada
uno de los cuales tiene las propiedades1 a 5 que se combinan para dar Ia
propiedad 6. El conjunto de números reales conjuntamente con los ope-
iadóres binarios + y . forman el campo de los númerosreales.El campo
de los números reales es la base de la aritmética y el álgebra ordinaria.
Los operadoresy postulados tienen los siguientessignificados:
El operadorbinario * define la suma.
La identidad aditiva es 0.
El inverso aditivo define la sustracción.
El operadorbinario . define la multiplicación.
La identidad multiplicativa es 1.
El inverso multiplicativo de a:l/a define la división, es decir, a.l/a
: 1.
La única ley distributiva aplicable es la de ' sobre f :
a-(b + c): (a'b) + (a'c)
2.2 D E F I N I C I OANX I O M A T I C A
D E L A L G E B R AB O O L E A N A

En 1854GeorgeBoole (1) introdujoun tratamientosistemáticode lógica


!' para ello desarrolló un sistema algebraico que hoy en día llamamos ríl-
gebra de Boole. En 1938 C. E. Shannon (2) introdujo una álgebra de
Boole de dos valores llamada álgebra de conmutación en la cual él demos-
tró que las propiedades de los circuitos de conmutación eléctricas bies-
tables pueden ser representadas por esta álgebra. Se usarán los postulados
formulados por E. v. Huntington (3) en 1g04 para la definición formal del
álgebra de Boole. Estos postulados y axiomas no son únicos para definir
el álgebra de Boole ya que se ha usado otro conjunto de postulados. *El
álgebra de Boole es una estructura algebraica definida para un conjunto
de elementos B juntamente con dos operadores binarios + y ., de tal
forma que se satisfagan los siguientes postulados (Huntington):

1. (a) Conjunto cerrado con respectoal operador +.


(b) Conjunto cerrado con respecto al operador ..
2. (a) Un elemento de identidad con respecto a f designado por el
0:rf0:0+x:x.
(b) Un elemento de identidad con respecto a . designado por 1:
r.1: 1.r: ¡.
3 . ( a ) C o n m u t a t i v o c o n r e s p e c t oa + : x + y : ! * x .
(b) Conmutativo con respectoa . i x,y:y.x.

(b) * e s d i s t r i b u t i v os o b r e . : r + ( y . z ) : ( x * y ) . ( x - t z ) .
5. Para cada elemento ¡ € B, existe un elementor' € B (llamado el com-
p l e m e n t od e ¡ ) t a l q u e : ( a ) x + x ' : 1 V ft) x.x':0.
6. Existen al menos dos elementos r, ye B tales que xty.

Al comparar el álgebra de Boole con la aritmética y el álgebra ordina-


ria (el de los núme¡os reales) se notan las siguientes diferencias:

1. Los postulados de Huntington no incluyen la ley asociativa. Sin


embargo esta ley es válida para el álgebra de Boole y puede dedu-
cirse (para muchos operadores) de otros postulados.
2. La ley distributiva de + sobre ., es decir, r+(y.z):(x*y)
. (x -l z ) es válida para el álgebra de Boole pero no para el álgebra
ordinaria.
3. EI álgebra de Boole no tiene inversos aditivos o multiplicativos y
por tanto no hay operaciones de sustracción o división.
4. El postulado 5 define un operador Ilamado complemenúo el cual no
está disponible en el álgebra ordinaria.

*Ver por
ejemplo Birkoff y'Bartee (4),'Capítulo b.

?9
-\

sEc. 2-2 A X I O M A T I C AD E L A L G E B R AB O O L E A N A 3 9
DEFINICION

5. EI álgebra ordinaria trata con los números reales, Ios cuales cons-
tituyen un conjunto infinito de elementos. EI álgebra de Boole
trata con los elementos B hasta ahora no definidos pero que se
definen a continuación para el álgebra de Boole de dos valores
(de mucho interés para el uso ulterior de esta álgebra), B está
definido como un conjunto de solamente dos elementos, 0 y 1.

El álgebra Boole se asemeja al álgebra ordinaria en algunos aspectos.


La escogencia de los símbolos + y . es intencional con el fin de facilitar
Ias manipulaciones con álgebra de Boole por parte de personas familiari-
zadas con el álgebra ordinaria. Aunque no se puede usar algunos conoci-
mientos derivadós del álgebra ordinaria para tratar con álgebra de Boole,
el principiante debe ser muy cuidadoso de no sustituir las reglas del ál-
gebra ordinaria donde no sean aplicables.
Es muy importante distinguir entre los elementos del conjunto de
una estrucfura álgebraica y las variables de un sistema algebraico. Por
ejemplo, los elementos del campo de los números reales son números
-i.ni.ur que las variables tales como a, b, c, etc., usadas en el álgebra
ordinaria son símbolos que se establecen para los números reales. Simi-
larmente en el álgebra de Boole se definen los elementos de un conjunto
B y las variables, tales que x, !, z sean simplemente símbolos que repre-
senten los elementos. A estas alturas es importante darse cuenta que
para tener una álgebra de Boole se debe demostrar:

1. los elementos del conjunto B,


2. las reglas de operación de los dos operadores binarios, y
3. que el conjunto de elementos B, juntamente con los dos operado-
res, satisfaga los seis postulados de Huntington.

Se pueden formular muchas álgebras de Boole dependiendo de la es-


cogencia de los elementos de B y las reglas de operacióni En el trabajo
suÉsiguiente, se tratará solamente con una álgebra de Boole bivalente,
es deóir, una con dos elementos. EI álgebra'de Boole bivalente tiene apli-
caciones en Ia teoría de conjuntos (el álgebra de enseñanza) y en la lógica
de proposiciones. El interés en este libro es en la aplicación del álgebra
de Boole a los circuitos con compuertas'

Algebra booleana bivalente

Una álgebra de Boole bivalente se define sobre un conjunto de dos ele-


mentos B: I 0, 1f , con reglas para los operadores binarios * y de Ia
manera como se muestra en las siguientes tablas de operador. (La regla
para el operador complemento es para verificación del postulado 5):

Estas reglas son exactamente las mismas que las operaciones AND, OR y
NOT respectivamente y que se han definido en la Tabla 1-6. Se debe demos-

oVer por (7), o Birkhoff y Bartee (4)


ejemplo, Hohn (6) Whitesitt

j
ñ
r
40 A L G E E R AD E B O O L EY C O M P U E R T A S
LOGTCAS C A P .2

0 0
0 0
I 0
I I

trar que los postuladosHuntington son válidos para el conjunto B: | 0, 1l


y para los dos operadoresbinarios definidos anteriormente.

r. Et conjunto cercadoes obvio a partir de las tablas ya que er resul-


t a d o d e c a d ao p e r a c i ó ne s 1 ó 0 y 1 , 0 € . B .
2. De las tablas se observaque:

(a)0+0:0 0+l:l*0=l
(b)l.l:l l'0:0'l:0
lo cual establecelos dos elementosde identidad 0 para f y 1 para .
de la manera como se definen en el postulado2.
3. Las leyes conmutatíuasson obvias de la simetría de las tablas de
los operadoresbinarios.
4. (a) La ley distributiua x. (y * z) : (x.y ) * (¡. z ), puede dernos-
trarse que es verdadera de las tablas del operador,al formar
la tabla de verdad de todos los valores posibles de x, y y z.
Para cada combinaciónse puede de¡ivar x.(y*e) y demos-
trar que esevalor es el mismo que (¡.y) + (x.z).

rYz y+z x'(y + z) x'y x'z (x.y) + (x. z)


000 0 0 0 0 0
001 I 0 0 0 0
010 I 0 0 U 0
0l I I 0 0 0 0
100 0 0 0 0 0
l0l I I 0 I l
ll0 I I I 0 I
lll I l I I I

( b ) La ley dístributiua de + sobre . puede demostrarseque es


verdadera,mediante una tabla de verdad similar a la descrita
anteriormente.
5 . D e Ia tabla de complementosse puede demostrar fácilmente que:
(4, f +f':1, y a q u e0 * 0 ' : 0 + 1:1 y 1+ 1':1*0:1
(b) Í.x':0, ya que 0.0':0.1:0 y 1.1,:1.0:0 lo cual veri_
fica el postulado5.
\ i

s E c .2 - 3 T E O R E M A SB A S I C O SY P R O P I E D A D EDSE L A L G E B R AB O O L E A N A 4 1

6. El postulado 6 se satisface, ya que el álgebra bivalente tiene dos


e l e m e n t o sd i s t i n t o s 1 y 0 c o n 1 1 0 .

Se ha establecidouna álgebra de Boole bivalente que tiene un conjun-


to de dos elementos 1 y 0, dos operadores binarios con reglas de operación
equivalentes a las operaciones AND y OR y el operador complemento equiva-
lente al operador NOT. Así, el álgebra de Boole ha sido definida de una ma-
nera matemática formal y se ha demostrado que es equivalente a la lógica
binaria representada heurísticamente en la Sección 1-8. La representación
heurística es una ayuda para entender la aplicación del álgebra de Boole a
los circuitos tipo compuertas. La representación formal es necesaria para
desarrollar los teoremas y propiedades del sistema algebraico. El álgebra de
Boole bivalente definida en esta sección, es llamada por los ingenieros "ál-
gebra de conmutación". Para darle énfasis a la similitud que hay entre el
álgebra de Boole bivalente y otros sistemas binarios, se Ie ha llamado "lógi-
ca binaria" en la Sección 1-8. De aquí en adelante se omitirá el adjetivo bi-
valente del álgebra de Boole en las discusiones subsiguientes.

2-3 TEOREMAS BASICOS Y PROPIEDADES


D E L A L G E B R AB O O L E A N A
D u al i d a d

Los postuladosde Huntingtonhan sido listadosen paresy repartidosen


parte (a) y parte (b). Una parte puede obtenersede otra si los operadores
binarios y los elementos de identidad son intercambiables.Este princi-
pio importante del álgebra de Boole se llama el princípio de dualídad.
Este último establece que las expresionesalgebraicasdeducidas de los
postulados del álgebra de Boole permanecenválidos si se intercambian
los operadoresy elementosde identidad. En el álgebrade Boole bivalente,
los elementosde identidad y los elementosdel conjunto B son los mismos:
1y 0. EI principio de dualidad tiene muchasaplicaciones.Si se deseauna
expresiónalgebraicadual, se intercambia simplementelos operadoresOR y
AND y se remplazaunos por cerosy cerospor unos.

Teoremas básicos

En la Tabla 2-1 se listan los seis teoremasdel álgebra de Boole y cuatro


de sus postulados.La notación se simplifica omitiendo el toda vez que
no cause confusión. Los teoremasy postuladoslistados son las relaciones
más básicasen el álgebrade Boole. Se advierte al lector que debe familia-
rizarse con ellas tan pronto como pueda. Tanto los teoremascomo los pos-
tulados se listan en paresy cada relación es dual con la que está apareada.
Los postuladosson axiomas básicos de la extructura algebraicay no ne-
cesitan prueba. Los teoremas deben probarsea partir de los postulados.
Las pruebas de los teoremas con una variable se presentan a continua-
ción. En la parte derecha se lista el número del postulado que justifica
l cada paso de la prueba.
Tabla 2-l Postulados y teoremas del álgebra de Boole

Postulado2 (a)x*0=x ( b )x ' l : x


Postulado5 (a)x+x':l (b) x'x' = 0
Teorema I (a)x4'x:x (b)x.x = x
Teorema 2 (a)x+l:l (b)x'0:0
Teorema3, involución (x')' : x
Postulado3, conmutativo(a) x * y : y * x (b) xy : yx
Teorema4, asociativo (a) x + (y + z): (x + y)+ z (b) x(yz): (xy)z
Postulado4, distributivo (a) x(y i z¡:' xy i xz
(b)x+yz:(x+y)(x+z)
Teorema 5, DeMorgan (a) (x + y), : xiy, , (rv)' = x' * /'
Teorema 6, absorción
O)
(a) x + A : x (b) x(r + y): x

TEOREMA l(a): ¡ * x: x.

x+x:(x*x).1 del postulado:2(b)


: (x + x)(-r * x,)
5(a)
:x*xx,
4(b)
:x*0
-x
5(b)
2(a)
TEOREMA l(b): ¡. r: .,r.

x-x:xx*0 del postulado:2(a)


:xx+xx' 50)
: x(x * x') 4{a)
: x. l 5(a)
:x 20)
-Nóteseque el teorema1(b) es el dual del teorema1(a) y que cada pa_
so de la prueba en parre (b) es el dual de la parte
a;J.-¿;"lq;ier teoreiia
dual puede derivarsesimilarmente de la prueba de u.r'pur-.ár."rpondiente.

TEOREMA 2(a\: x + 1: 1.

x*l:l'(-r+l) del postulado:2(b)


: (x + x')(x + l)
5(a)
:x*x'.1 (b)
: x'* x'
2(b)
:l
5(a)

TEOREMA 2(b): ¡.0: 0 por dualidad.

TEOREMA 3. (Í )' : x.. Del postulado5, se tiene ¡


:0, io cual define el complementóde r. I x, : I y x. x,
Er c'omplu-""tá áu ,, ., , y
también (¡')" Así comoel complementoes único t*at"-"r que (r,),: x. ".
42
s E c .2 - 3 T E O R E M A SB A S I C O SY P R O P I E D A D EDSE L A L G E B R AB O O L E A N A 43

Los teoremas que comprenden dos o tres variables pueden ser probados
algebraicamentéde los postuladosy de los teoremasya probados.Tómese
por ejemplo el teorema de absorción.

TEOREMA 6(a): ¡ i xY: x.


x * xy : x' I I xY del Postulado2(b)
: x(l * y) del Postulado4(a)
: x(Y + l) del Postulado3(a)
: x. I del teorema2(a)
- x del postulado 2(b)

TEOREMA 6(b): ¡(¡ *l') ::r por dualidad'

Los teoremas del álgebra de Boole pueden demostrarsepor medio de


las tablas de verdad. En estas tablas, ambos lados de la relación se com-
prueban para arrojar resultados idénticos para todas las combinaciones
posibles áe los variables integrantes. La siguiente tabla de verdad verifi-
ca el primer teorema de absorción.

xy x+ xy
0 0 0
0 I 0
I 0 0
I I I

Las pruebas algebraicas de la ley asociativa y del teorema de De Morgan


son largas y no se dará una prueba de ellas. Sin embargo, su validez es
fácilmente demostrable mediánte las tablas de verdad. Por ejemplo, la
tabla de verdad para el p r i m e r t e o r e m a d e D e M o r g a n ( r * J ) ' : ¡ ' y ' s e
muestra a continuación:

x+y (x + v)' x'y


I I
0 0
0 0
0 0

P r i o r i d a dd e l o P e r a d o r
La prioridad del operadorpara la evaluaciónde las expresionesde Boole es
(1) él paréntesis,(l) NoT, (3) AND y (4) OR. En otras palabraslas expresio-
nes déntro de un paréntesis deben ser evalUadasantes de otras operacio-
nes. La siguiente óperaciónen orden prioritario es el complemento,luego
sigue la AÑn y finálmente la OR. Como ejemplo, considéresela tabla de
u".dud del teorema de De Morgan. El lado izquierdo de la expresión es
44 LOGICAS
A L G E B R AD E B O O L EY C O M P U E R T A S CAP. 2

(r-1--r )'. Así, la expresión dentro del paréntesis es evaluada primero y


luego se complementa el resultado. El lado derecho de Ia expresión es
¡'-r''. Por tanto. el complemento de r y el complemento de ¡ se evalúan
primero y el resultado se somete a una operación AND. Nótese que en la
aritmética se tiene en cuenta la misma prioridad (excepto para ei comple-
mento) cuando la multiplicación y la suma se remplazan por AND y OR
respectivamente.

Diagrama de Venn

Una figura útil que puede ser usada para visualizar las relaciones entre
las variables del álgebra de Boole es el diagrama de Venn. Este diagrama
consiste en un rectángulo tal como el que se muestra en la Figura 2-1, en
el cual se dibujan círculos traslapados para cada una de Ias variables.
Cada círculo es designado por una variable. Se asignan todos los puntos
dentro del círculo como pertenecientes a dichas variables y todos ios
puntos por fuera del círculo como no pertenecientes a Ia variable. .Tóme-
se por ejemplo el círculo designado r. Si estamos dentro del círculo, se
dice que ¡:1 y cuando estamos fuera de él se dice que r:0. Ahora bien,
con dos círculos traslapados se forman cuatro áreas distintas dentro del
r e c t á n g u l o : e l á r e a q u e n o p e r t e n e c en i a ¡ n i a y ( x ' y ' ) , e l á r e a d e n t r o d e l
círculo y pero por fuera de r (r',r'), el área dentro del círculo y pero por
fuera de -v (rJ') y el área dentro de ambos círculos (ry).
Los diagramas de Venn se usan para demostrar los postulados del
álgebra de Boole y para demostrar la validez de los teoremas. La Figura
2-2, por ejemplo, muestra que el área que pertenece a :r1' está dentro del
círculo r y por tanto ¡*¡-r':.r. La Figura 2-3 ilustra la ley distributiva
r (y + zl: xy f rz. En este diagrama se tienen tres círculos traslapados
para cada una de las variables-r, J'y z. Es posible distinguir ocho áreas
diferentes en el diagrama de Venn de tres variables. Para este ejemplo
en particular, se demuestra la le¡' distributiva al notar que el área de

Figura 2-1 Diagrama de Venn de dos variables

Figura 2-2 liustración del diagrama de Venn x: ry + r


.r r--->l'--\ .\
I
f f a \ t+\ 1
l:, :li;tl I
\ #\FZ\{
\./
\\l _/-

.¡ (.r' ¡)

Figura2-3IlustracióndeldiagramadeVennparalaleydistributiva

intersección entre el círculo f con el área que contiene y ó 2 es la misma


área que pertenece a x)' o rz'

2-4 F U N C I O N E SB O O L E A N A S
es una
una variablebinaria puedetomar el valor 0 ó 1. una función de Boole
formada cán variables binarias, dos operadores binarios OR y
".p.ñ¿" paréntesis y- el signo igual' Para un valor dado de
AÑD, el operadorNOT, el -Consid¿resé
p-t"á"'t"t 0 ó 1. por ejemplo la función de
.ruri"út"r,'la función
Boole:
Ft: xvz'

Ft:0'
L a f u n c i ó nF , e s i g u a la 1 s i r : 1 y y : 1 y z ' : l ; d e o t r a m a n e r a
es una función de Boole representada como una ex-
Et e;emplo anterio'r
por me-
p.u.iór, algebraica.Una función de Boole puede ser representada
lista de 2"
dlo d" .rná t"blu de verdad. Para hacerlo se ttecesita una
y ceros de las n variables binarias y una- column^a
combinacionesde r.ro,
para las cuales la función es igual a 1 ó 0'
-ártr"'¿o las combin""ion",
Como se muestra en la Tabia 2-2 existen ocho posibles combinaciones
diferente, para asignar bits en las tres variables. La columna demarcada
La Tabla
F1 contiene un 0 ó-u.r l para cada uxa de estas combinaciones.
a 1 solamente cuando x: !, y -- I
mlestra que la función i, es igual
i ):0. Para cualquierotra'combilnación F' :0' (Nóteseque la afirmación
z' :1 es equivalenie a decir que z : 0.) Considéresela siguiente función:
Fz: x * )"2
x : 1 e n l a sú l t i -
F z : l s i ¡ : 1 ó s i ! : 0 , m i e n t a s - e : 1 ' 8 " l a T a b l a2 - 2 ,
en las filas 001 y 191'La última combinaciónse
mas cuatro filas y ít:Ot
hay cinco óombinaciones para hacer Fr:1.
u¡i"u también páíu-r: i. A"i,
io-o tercer ejemplo, considérese la función:

Ft: x'Y'z + x'Yz + xY'

Fn es lo
Esto se muestra en la Tabl a 2-2 con cuatro unos y cuatro ceros.
mismo que F3 y se considera a continuación:
45
Tabla 2-2 Tablas de verdad para F, :
ry2,, Fz: x * y,z,
Ft: x'y,z * x,yz * A,, ! Fa: ry,+ x,z

Fl F2 F3 F4

000 00 00
001 0l ll
010 00 00
0ll 00
100 0l
r0l 0l
ll0 ll 00
lll 0l 00

cualquier función
^deBoole puede ser representadapor una tabla de
verdad. El número de filas en la tabla es de 2" donde n es el número de
variables binarias de Ia función. Las combinacio.res
pueden obtener fácilmente para cada fila de unos y ceros se
de los n,imerosbi.rario. contan-
do desde0 a2" - 1. para cada fira de la tabra, hay
un valor para la función
igual a 1 ó 0' se formula ahora la pregun_ta:
íHuv e"f.esio' algebraica
única para una función de Boole^dáa? n" ""upulutrur,
encontrar dos expresionesalgebraicaspara especificar
"t.", ¿Es posibre
la misma función?
L.a respuestapara estas preguntas es sí. De hecho,
la manipulación del
álgebra de Boole se aprica rirayormenteal proble.n"
J" éncontrar expre_
siones más simples para ra mlsma función.
considéresepor ejernplo la
función:
Fq: xY'* x'z
De la Tabla 2-2 se.encuentraque es idéntica a Fr, ya que ambastie-
nen unos y ceros idénticos para cada
"n combinació.tdó'uJor"s de las tres
variables binarias. En general, dos funciones
de n variables binarias son
iguales si ellas tienen el mi.mo uulo. puru
todas ras 2^ combinaciones
posiblesde las n variables.
una función de Boole puede ser trasformada
de una expresión alge-
braica a.un diagrama lógico óompuestoa"
realización de las cuatro funciónes introducidas oR y NoT. La
"o*p""rt";lñi;,
en la anterior discusión
se muestra en la FigurT,2.-4.Los diagramas
lógicos i""I,tv.., un circuito
para cada va.¡iablepresente""n ,u forma
ll-I:::"r de complemento. (El
rnversor no es necesariosi se cuenta con
el complementodé la uuri"bi*)
Hay una compuertaAND para cada té¡mino de
la y una compuerta
oR para combina¡ dos o más términos.-be l;; "*pr".io.,
;i"";;;; ouuio que para
completar Fo se requieren menos compuertasy "i que F3. como
entradas
$ v Fr son funciones de Boolg igoui;., es más económicollevar a cabo
la.forma F, que la fo¡ma Ir. Paü
encontrar circuitos más sencillos, se
debe conocercómo manipula"rlas funliones de
Boole para-obtenerfuncio-
nes iguales pero simplificadas_I,o que constituye
la iiejo, fbrma de una
expresión de Boole, dependede la áplicación párti"rrür.'
ñ., esta sección
se considerael criterio de minimizacibn de
"q.ripo.
46
f

(a) Fr - ,xr-¿ (b) F2

.
(c) F3 :x'Y'2. +.r'-): ir)'

(d) F4 - xr'* 'r'z

Figura 2-4 Ejecución de las funciones de Boole con compuertas

M a n ip u l a c i ó na l g e b r a i c a
cuando una función de
:lJn literal es una variable tildada o no tildada.
B o o l e s e e j e c u t a c o n c o m p u e r t a s l ó g i c a s , c a d a l i t e r a l realiza
o l e t r a dcon
e l auna
función
il.""; entrada u compuertay cada término se-
";á La minimi zación ""du def ,rúmeó de literales y el número de tér-
compuerta.
menos componentes'No es
minos dará como ," ,rltu¿o un circuito con tie-
siempre posible *i";;i;;; unl¡o, simultáneamente.Por lo regular se
Por el momento se limitará el criterio de
nen disponiblesotros.'it"'io''
minimización a la -l"iÁir".ión de literales. Posteriormentese discuti-
rán otros criterios 5. EI número de literales en una función
""'.i-ó"pit"lo manipulacionesalgebraicas'
de Boole puede ser minimizado por medio de
47
I
48 A I - G E B R AD E B O O L EY C O M P U E R T A S
LOGICAS C A P ,2

Desafortunadamente'o hay regras específicasa


seguir que garanticen
una respuestafinal. El único método disponible es
el"p.ocedimiento,,tra_
tar y acortar" usando.los.posturados,loi teoremas
básicosy cualesquier
otros métodos de manipulación que se hagan familiaies-
con er uso. Los
siguientesejemplosilustran este
irocedimiénto.
EJEMPI O 2-_t; Simplifiquesela siguiente función
de Boole
al mínimo número de literáles.
l. x * x'y : (x + x,)(x * y) : I . (x + y) : x * y
2. x(x' * y): xx' * ry:0 '- xy : xy
3. x'y'z + x'yz * xy' : x,z(y,+ y) +
ry' : x,z * ry,
4. xy * x'z * yz= xy * x,z * yz(x I x,)
: xy + x'z * xyz * x,yz
: xy(l * z) + x,z(l + y)
- xy * x'z
5. (x + y)(x, + z)(y + z): (x + y)(x,* z) por dualidad
de
la función 4.
Las funciones I y 2 son duales entre sí y usan expresiones
duales en Ios
pasoscoirespondientes.La función B muestra la
igualdad de las funciones
Fe y Fn tratadas anteriormente. La cuarta dem"uestiaqu.
un aumento
en el número de lite¡ales, algunas veces,produce ,rr"
final más
simple. La función b no se hittimiza iii""t"-*i" ""p=r"rión deducirse
o".Jo""de
de la dual de los pasosusadospara deducir la función 4.

C o m p l e m e n t od e u n a f u n c i ó n

El complementode la función F es .t" y se obtiene


del intercambio de ceros
a unos y un.s a ceros en el valor de F. El complemento
puede derivarse algehraicamentedel teorema de una función
de be Morgan. Este par de
teoremasestán listados en la Tabla 2-1 para dos variablés.
Los teóremas
de De-Morgan pueden extendersea tres o más variables.
La forma de tres
variablbs del primer teorema de De Morgan se deriva
a continuación. Los
postuladosy los teoremasson aquellos liÁtados
en ta fabü z_f.
(A+B+C)':(A+X)' hágaseB+ C: X
: A,X, del teorema5(a) (De Morgan)
= A' .(B + C)' sustitúyaseB+ C: X
: A, . (8,C,) del teorema5(a) (De Morgan)
= A'B'C' del teorema4(b) (asociativo)
Los teoremas de De- Morgan para cualquier número
de variables se pare-
cen al caso de las dos.variabiesy pu"d"rr,a.ri*i." por Justitucionessu-
cesivas similares al método usadó én la dórivaci¿n
tiecha anteriormente.
Estos teo¡emas pueden generalizarsede la siguiente
;;;;",
\

sEc.2-5 F O E M A SC A N O N I C AY N O R M A L I Z A D A 4 9

(A+B +C+ D+''' +F)':A'B'C'D'-".F'


:
(ABCD''' F)' A' + B ' + C' + D' + "' +F'

La forma generalizada del teorema de De Morgan expresa que el comp_le-


mento de una función se obtiene intercambiandolos operadoresAND y OR
y complementandocada literal.

EJDMPLO 2-2: Encuéntrese el complemento de las funcio-


nes F1 : x'yz' + x'y'z Y Fz: x(y'z' *yz\' Aplicandoel teoremade
De Morgan tantas veces como sea necesariose obtienen los com-
plementosde la siguientemanera:

Fi : (x'yz' * x'y'z)' : (x'yz')'(x'y'r)' : (x + y' + z)(x + y + z')


Fi:lx(y'z'+ y z ) ) ' = x ' + ( y ' t ' + y z ) ': x ' + ( y ' z ' ) ' ' ( y z ) '
= x' + (y + z)(Y' + z')

Un procedimiento más sencillo para derivar el complemento de una


función es tomando el dual, de una función y complementandocada lite-
ral. Este método se deduce del teorema de De Morgan generalizado.Se
debe recordar que el dual de cada función se obtiene intercambiandolos
operadoresAND y OR y los unos y ceros.

EJEMPL,2.S..EncontrarelcomplementodelafunciónF1
y Fz del Ejemplo 2-2 tomando los d¡*ales y complementando cada
literal.
I Ft: x'Yz'+x'Y'2.
El dual de F, es (x' * Y * z')(x' * Y' I z).
Complemeniandocada literal: (¡ *y' * z)(x *y * z'): FI'
2. Fz: x(Y'z'+Yz).
E l d u a l d e F 2 e sx + ( Y ' * z ' ) ( Y * z ) .
Complemenlando cadaliteral: r' + (y ¡ z)(l' t z') : Fí'

2.5 F O R M A SC A N O N l C A
Y NORMALIZADA

Términosmínimos y términos máximos

una variable binaria puede aparecer en su forma normal (¡) o en Ia forma


de complemento(r'). considéreseahora dos variablesbinarias f y y com-
binadas con la operación AND; como cada variable puede aparecerde cual-
quier forma, habiá cuatro combinacionesposiblestx'y-', !'1, xl'y ry' Cada
úno de estos cuatro términos AND representan una de las diferentes áreas
áui¿i"gt"-a de Venn de la Figura 2-{ y se llaman términos mínimos (min'
term) áe un producto normalizado. De igual manera, se _puedencambiar
n l,"riubl". para formar 2" términos mínimos. Los 2" diferentes térrni-
nos mínimos pueden determinarse por un método similar al mostrado en
Tabla 2-3 Términos mínimos y máximos para tres variables binarias

Términosmínimos Términosmáximos

x Y z Término Designación Término Designación

00 0 x'y'z' mo x+y+z Mo
00 I ml x+y+z' Ml
0l 0 x'yz' m2 x+y'+z M2
0l I l7l3 x+y'+z' M3
l0 0 xy'z' m, x'+y+z M4
l0 I m5 x'+y+z' Ms
ll 0 m6 x'+y'+z M6
ll I xyz tlt7 x'+y'+z M1

la Tabla 2-3 para tres variables.Los númerosbinariosde


0 a z^ -r se lis-
tan bajo las n variables.cada término mínimo seo¡iiene áL un termino
AND
de n variablescon cada variable tildada, si el bit correspondiente al nú_
mero binario es 0 y si no está tirdada a l. un símbolopára cada término
mínimo se ilustra en la tabla en la fbrma de m¡, dondej denota,el equiva_
Iente decimal del número binario der término ií.ri.rro correspondiente.
De manera similar, las n va¡iables formandoun término oR, con
variable tildada o no tildada, darán 2" combinacionesposibles cada
llamadas
términos máximos (maxterms) de las sumasnormalizados.
Los ocho tér_
minos máximos de las tres_variables, conjuntamente
con
-i¿.-irros
la simbología
asignada, se listan en ra Tabla 2-3. cuálesquie.
i" para n
variables pueden determinarsede manera similar.
cada término máximo
se obtiene de un término oR de n variabres
,r"iia¡le no tirdada
si
.el.correspondientebit es 0 y tildada .i ;; "o., "uáu
i¡- üIi". ;;" cada término
máximo es el complementode su cor¡espondiente
términá mínimo y vice-
versa.
una función de
de una tabla de verdad -Boole puede ser expresadaargebraicamentea partir
dada, confoi-u"ao un t¿.iii.ro mír,imo por cada
combinación de las variables qu. proá.r"en
-Fo. un 1 en la función para luego
obtener la oR de todos ros términb.. ejemplo, l, rrrrr"lár,en la Tabla
2-4 se determina expresandolas combinaciones
00r", 100, lrJ. comox,y,z,
xy'z',y r y- z respectivamente. como cada uno ¿"
resultaen /, : 1, se tiene: mínimos
".t*?rrninos

ft: x'y'z * xy'z'* ryz : m, * mo* m,


De manera similar, se puede fácilmente verificar que:

. f z : x ' y z* x y ' z* r y 2 , * x y z : m r * m , i mui m,


'Algunos
textos definen un término máximo (maxterms) como un término
oR de n va-
riables con cada variable no tildada si el bit es I y tildada si es
0. La definición
-run"lon.,
adoptada en
este libroes preferible ya que lleva a conve¡sionesmás no¡mal".
u.ri." iu. tipo tér-
mino máximo y término minimo.

50
Tabla 2-4 Funciones de tres variables

xy z Funciónft Función/2

0 0 0' 0 0
00 t I 0
010. 0 0
0l I 0 I
100 I 0
i
101 0 I

I l0 0 I
lll I I

Estos ejemplos demuestran una propiedad importante del álgebra de


Boole. óuaiquie. función de Boole puede ser expresadacomo una suma
de términos mínimos (por "suma" se quiere decir la suma oR de los tér-
minos).
Cánsidéreseahora el complementode una función de Boole. Este pue-
de Ieersede una tabla de ueidad formando un término mínimo por cada
combinaciónque produce un cero y luego haciendo la función OR de esos
términos. El complementode /r se lee así:
'l
.fí: *'Y'z' I x'Yz' * x'Yz * xY'z ryz'
Si se obtiene el complementode /i se obtiene la función /t:
* y * z')(x' 1-y' * z)
ft: (x * y * z)(x + y' + z)(x + y' + z')(x'
: Mo'Mr'Mt'Ms'Mu

De igual manera, es posible leer Ia expresión/2 de la tabla:


+ + z)
f z : G * y * z ) ( x + y + z ' ) ( x* Y ' * z ) \ x ' Y
: MoMlM2Ma

Estos ejemplos demuestran una segunda propiedad importante del álge-


bra de Boole: cualquier función de Boole puede expresarsecomo un pro-
ducto de términqs máximos (por "producto" se implica el producto AND de
los términos). El procedimiento para obtener el producto de términos
máximos directamente de una tabla de verdad se logra de la siguiente
manera: fórmese un término máximo para cada combinación de variables
que produzcanun 0 en la función y luegoforme la función AND de todos los
términos máximos. A las funciones de Boole expresadascomo una suma
de términos mínimos o producto de términos máximos se les dice que
están en forma canónica.

S u m a d e t é r m i n o sm i n i m o s

Se había dicho antes que para n variables binarias, se pueden-obtener


2' términos mínimos diferentes y que cualquier función de Boole puede
5l
52 A L G E B R AD E B O O L EY C O M P U E R T A S
LOGICAS CAP,2

expresarsecomo una suma de términos mínimos. Los términos


mínimos
cuya suma define la función de Boole son aquellosque dan el 1 de la
fun-
ción en una tabla de verdad. como la función prruá" ser 1 ó 0 para
cada
térm^ino-mínimoy
-ya que hay 2" términos mínimos, se pueden carcular
las funciones posiblesque puéden formarse con n variabrés
it. ¡r_
gunas veces es convenienteexpresar la función de Boole ""-o
en Ia forma d.e
suma de términos mínimos. si no está en esta forma, se puede Ilegar
a
ella expandiendoprimero.la expresióna una suma de términos
AND. Luego
se inspeccionacada término pára uer si contiene t"d". i;
variables. Si le
hace falta una o más variabreé,se aplica la función Áñt;;"
una expresión
tal como x I x', donde r sea una de las variables fartantes. El siguiente
ejemplo aclara este procedimiento.

EJEMPLO
.2-4: Expresa¡ la función de Boole F : A + B, C
como suma de términos mínimos. La función tiene tres variables:
A, B y c. como el primer término A no tiene las otras dos va¡ia-
bles por tanto:
A : A(B + B'): AB + AB,

Como la expresión carece de una variable:

A:AB(C+C,)+AB,(C+C,)
= ABC + ABC' + AB'C + AB,C,

El segundotérmino B'c carecetambién de una variable:

B'C : B'C(A + A'): AB,C + A'B,C

Combinando todos los términos se obtendrá:

F: A + B,C
: ABC + ABC' + AB'C + AB'C' + AB'C +
A'B'C
Pero como AB'c aparecedos veces,y de acuerdo al teorema
1
(¡*¡: ¡), es posible quitar uno de óllos. Rearreglandolos tér-
minos en orden ascendentese obtendrá finalmentei

F: A,B,C+ AB,C,+ AB,C + ABC,+ ABC


m t + m 4 + m s+ m u * m ,
Es conveniente algunas veces, expresar la función de Boole cuando
está compuestade una suma de términos mínimos por medio de ra
siguien-
te forma simplificada:

F ( A ,B , C ) : ) ( 1 , 4 , 5 , 6 , 7 )
El símbolo de sumatoria I implica los términos a los cuales
se les
lplica la función OR. Los térm-iios entre paréntesisson los
términos míni-
s E c .2 - 5 FORMAS CANONICAY NORMALIZADA 53

mos de la función. Las letras entre paréntesisa continuación de la F for-


man la lista de las variablesen el orden tomado cuando el término mínimo
se convierteen un término AND.

Productode términos máx¡mos

Cada una de las 22' funciones de n variables binarias pueden expresarse


como un producto de términos máximos. Para expresar las funciones de
Boole comb un producto de términos máximos se debeprimero llevar a una
forma de términos OR. Esto puede lograrse usando la ley distributiva ¡ *
yz-- (x*y)(¡ *z) y si hay una variabler faltante en cada término OR se
le aplicarrí la función OR conjuntamente con ff'. Este procedimientose
clarifica por medio del siguiente ejemplo:

EJEMPLO 2-5: Expresar la función de Boole F:xy*x'z


como un producto en la forma de términos máximos. Primero con-
viértase la función a términos oR usando la ley distributiva:
F: xl I x'z : (xy + x')(xy + z)
: (x * x')(y + x')(x + z)(y + z)
- (x' t yXx + z)(Y + z)

La función tiene tres variables:x, y y z. A cada término oR le hace


falta una variable, Por tanto:
x' + y : x' + y * zz' : (x' * y * z)(x' I Y * z')
x + z : x * z * yy' : (x I y -l z)(i + y' + z)
y + z : y + z * xx' : (x 4 Y + z)(x' + Y + z)

Combinando todos los términos y quitando aquellos que aparez-


can más de una vez se obtendrá finalmente:
F : (x * y * z)(x + y' + zl(x' -r y * zl(x' * y + z'\
: MoMzMqMs

una forma convenientede expresaresta función es de la siguien-


te manera:
F(x,y,z): fI(0,2,4,5)

El símbolo de producto II denota la aplicación de la función AND a los


términos máximos. Los números teptesetttanlos términos máximos de la
función.

Conversión entre las formas canónicas

El complementode una función expresadacomo la suma de términos mí-


nimos es igual a la suma de los términos mínimos faltantes de la función
orllinat. E"stoúltimo es debido a que la función original es expresadapor
A L G E B R AD E E O O L EY C O M P U E R T A S
LOGICAS CAP. 2

aquellos términos mínimos que hacen la función igual


a r mientras que
un complementoes ul 1 para aquellostérminos mínimos
en que Ia función
es un 0. Como ejemplo considérésela función:

F ( A ,B , C ) : X l , 4 , 5 , 6 , 7 )
Esta función tiene un complernentoque puede expresarse
así:

t
F'(A, B, C) : )(0, 2,3) : mn * m, * m,
Ahora si se obtiene el complementode F' por el teorema
de De Morgan
obtendremosuna F de manéra diferente:
F : (mo I m, * mt)' : m[. mL. m\: MoMzM3: fI(0, 2,
3)

II
La última definición se de¡iva de la definición de
los términos mínimos
y términos máximos que fig'ran en la Tabra
2-3. De i" t"¡tu, .ú;; qr;
es válida la siguienterelación: ".
^j: M¡

I Esto es, el término máximo con suscrito j es un complemento


de un tér-
t mino mínimo con el mismo suscritoj y vióeversa.

I
I
, El último ejemplo demuestra Ia óonversiónent¡e una función expre-
sada como una suma de términos mínimos a su equivalente
to de términos máximos. con- un. arg'umentosimilar se
como produc-
mostrará que la
I
conversiónentre el producto de términos máximos y
i minos mínimos es similar. Se estableceahora
ü **" de los tér_
pro""¿imiento de con-
versión general. Para hacer la conversión de "" rir-"

i
lanónica a otra,
intercámbieselos símboros
I v II y lístese""u que fal_
tan en la forma original. Comñotro ejemplo,la función:
"qu"iiá.-ntmeros

F(*,y,2): II(0,2,4,5)
se.expresa como producto de la forma de términos
máximos. su conver_
sión a la suma de términos mínimos será:

F(r,y,z): )(1,3,6,7)
Nótese que para poder encontrar los términos faltantes,
se debe tener en
cuenta que el número total de términos mínimos y tr;;i;o.
-función. máximos es
2n en donde n es el número variable binario en la

Formas normalizadas
Las dos formas del álgebra de Boole son formas
básicas que se obtienen
al leer la función de la tabla de verdad. n.tu.
io.-u. ,,iuj ,uru-ente son
las que tienen el menor número de literales
d"tú;-"-i; cada término
mínimo o término máximo, debe contener por definiciónl
Ldos las varia-
bles complementadaso no.
otra forma de expresar ras funciones de Boole es la forma
normariza-
do. En esta configuraiión, los términos que forman la
función deben con_
I

LOGICAS 55
OTRAS OPERACIONES
s E C .2 - 6

Hay dos tipos de formas


tener uno, dos o cualquier número de literales'
productos y el producto de sumas'
,roitnufir"¿as: la suma de
es
prod,ucto's una expresión de Boole que contiene térmi-
La suma de
o más literales cada uno' La
nos AND llamados t¿rÁi"ot producto.de uno
denota la apti"áciá" ¿"'ru función oR de estostérminos. un ejemplo
sun-¿a
suma de productos es:
á. tr.tu función eipresada en
Ft: !' * xy * x'Yz'
uno' dos y tres literales
Esta expresión tiene tres términos producto de
respectivamente'Su suma es en efecto una operación oR'
;J;
"^;,
r J n p r o d u c t o d . e s u m a s e s u n a e x p r e s i ó n d e B o o l e q u e c o n t i e nnú-
etérmi-
nos OR, llamados tirÁ¡'iát i"io. Cada término puede tener cualquier
mero de literales.
,Át
;;;á;;;; áenota la aplicació1 de 11 función AND a
ttt-inos. Un de una expresión en producto de sumas es:
".to* "j.-pto
Fz: x(Y'+ z)(x'* Y * z'* w)
y cuatro literales cada
La expresióntiene tres términos suma de uno, dos
El uso de las palabrasproducto y
uno. El producto p-roducto
d;id" ; la simi¡t,ud de la operación AND y el
sutna se establece"r'"ü
"pltación-AND.
OR con la suma
áiitÁ¿t]"" (multipl'iácián) y la similitud de lá operación
aritmética (adición).
UnafuncióndeBoolepuedeSerexpresadaenunaformanonormali-
zada.Por ejemPlola función:
F 3 : ( A B + c D ) ( , q ' n '+ c ' D ' )
cambiarse a una
no es ni surna de productos ni producto de sumas' Puede
la ley distributiva para quitar el parentesis:
forma normalizadr';;;á;

Ft: A'B'CD + ABC'D'

2-6 O T R A S O P E R A C I O N E SL O G I C A S
entre las dos variables
cuando los operadoresbinarios AND y oR se colocan
de x'y y
t y y, ellas iorman las funciones Poole !+y'respectivamente'
n variables binarias'
é.'"".iubt..ió previarnenteque hay 22' funciones de
para dos variables,'i-Z númeio de funcionesde Boole posiblese-s^16'
las 16 fun-
p.ri""t" las funciones AND y OR son solamente dos del total de
"l'
do, variables primarias. Sería muy instruc-
;ilr";; posibles for-udu.
"o.,
14 funciones e investigar sus,propiedades'
tivo encontrar las otras
Las tablas d" ;; i;t- i6 f,r.t"iott"s"formadásóon dos variables
";;á;d
binarias x y !,." ri.f"" la Tabla 2-5. En esta tabla, cada una de las 16
po-
""
columnas Fo a F,r-i"prr.."tan una tabla de verdad de una función
las funciones de-
se
sible para las dos u"rüb1"" dadas x y y'Nótese.que
que pueden ser asig-
terminan a partir d; l;. 16 combinaóiott". binarias,
un símbolo operador'
nadas a F. Algunas de las funcionesse muestran con y Ft represen-
pói ej"-plo, F, .upr*enta la tabla de verdad para una AND
I Tabla 2-5 Tablas de verdad para las 16 funciones
de dos variables binarias
Y
v Fo Ft F2 F3 F4 F5 F6 F7 Fs Fs Fto F,, F,z F,¡ Ft. F,,
00 0 0 0 0 0 0 0 0 I I I I I I
0l 0 0 0 0 I I
t I I I 0 0 0 0 I
l0 0 0 I I I I
I 0 0 I I 0 0 I I
ll 0 I 0 0 I I
0 I 0 I 0 I 0 I 0 I 0 I 0 I
Símbolo
operador
o + ú c f I
ta la tabla de verdad para la oR. Los
símbolos operadorespara estas fun_
cionesson (.) y (*) iespectiva-".ri*
Las 16 funciones lisiadas Luu.de verdad pueden ser expresa-
das algebraicamente.pormedio "*ude expresio.ru.
ver en la primera columna ae la a"- go;lJ]'n.to se puede
rabiá 2-6. Las expresionesde Boole
tadas están simplificada. lis_
-i"iÁJ".r?,...o de rite¡ares.
"t
Aunque cada función puede .",
res de Boole AND, oR v ñot, en t¿rminou de ros operado-
"rp""."dapara
operadores especiales para expresa¡ no poder asignar símboros
";-itü;;"ón
las otras funciones. Tales símbolos
operadoresse listan t" ."guiráu
"rt ¿" r" i"¡l"l_0. si., embargo,
"ol-ürru
Tabla 2-G Expresionesde Boole para
16 funciones de dos variables

Funcionesde Boole Símbolo Nombre Comentarios


operador
Fo:0
Nulo Constantebinaria 0
Ft=x! x.y AND ryy
Fz = xy' x/v Inhibición r pero noy
Ft: *
Trasferencia x
F¿ = x'Y y/, Inhibición y pefo no ¡
Fs: /
Trasferencia
F6= xy'+ x'y v
x@y OR-exclusiva
F 1: x I y r óy perono ambas
x+y OR
Fr: (x + y)' xóy
xIv NOR
Fg= xy * x'y' No-OR
xoy Equivalencia*
Frc: /' r igual ay
v' Complemento Noy
Ftt=x1y, x Cl Implicación Siy entonces.r
F,, : ,, x' Complemento No¡
Fn:x'*y x)l Implicación Si r entoncesy
Ftq: (ry)' xlv NAND No-AND
4s=l Identidad Constantebinaria 1
*Equiualenciaesconocidatambiéncomoigualdad,Ñ.

56
LOGICAS 57
OTRAS OPERACIONES
sEc.2-6
oR-
todos los símbolos nuevosimostrados, con excepción d9J símbolo de la
por parte de los.diseñadores digitales'
exclusiva O, no.ott á. uso común
su correspon-
Cada una de las funcionesen la Tabla 2-6 se lista con
que explica su función de forma simple. Las
diente nombre V .ot"""l"tio
io n listadas pueden subdividirse en tres categoias:
""io""s
1. Dos funcionesque producen una constante0 ó 1'
y tras-
2. Cuatro funciones con operacionesunarias de complemento
ferencia.
3. Diez funciones con operadoresbinarios que definen ocho operacio-
nes diferentesAND, ÓR, NINO, NOR, OR-exclusiva,equivalencia,
inhibición e imPlicación.

cualquier función puede ser igual a una constante,pero una función


püede ser igual solamente a-1 ó 0. La función complementopro-
binaria 'complemenio
á"." de cada una de las variables. A Ia función que es
y.a
rg";l ; lá váriable de entrada se le ha dado el nombre de trasferencia
"f
y es trasferida_a través de compuertas que forman- la
d"" t" variable x ó (inhi-
flnción sin cambiar su valor. De los ocho operadores binarios, dos
trición e implicación) son usadospor los logistas,perofnuyfara vez se usan
en lógica dL computadores.Los óperadoresAND y OR se-han mencionado
conjuirtamente con el álgebra de Boole. Las otras cuatro funciones se usan
mucho en el diseño de sistemas digitales.
La función NOR es el complemento de la función oR y su nornbre es
una contracción de not-OR. De manera similar, NAND es el complemento
de AND y es una contracción de noü-AND. La OR-exclusiva, abreviado
yy
XOR ó EbR es similar al OR pero excluye la combinaciónde ambos x
igo"l u 1. La equivalencia es una función que es l,cuando las dos variables
.;;ig""I.., es'decir, cuando ambas son cero o ambas son 1. La OR-exclu-
;i;;; la ¡"nción de equivalencia son complelrentarias entre sí. Esto puede
ser v-erificadofácilmente al inspeccionar ia Tabla 2-5. La tabla de verdad
pá.u tu OR-exclusiva es Fo y paf la equivalencia-es Fn y estas dos fun-
iio.r", se complementan Por está razón la función de equivalencia
menudo "ti.ó "i. es decir oR-exclusiva NOT.
NoR-exclusiva,
--
se llama a
ñiárg"bra de Boole tal como se ha definido en la Sección2-2, tiene dos
operadore-sbinarios que nosotros hemos llamado AND y OR y el operador
unario NOT (complemento). De las definiciones, se ha deducido un número
de propiedades dó estos operadoresy se han definido ahora otros op€ra-
dores binarios en términos de los primeros. No hay nada especi"l -u:T.." d.t
(
este procedimiento. se hubiera podido comenzar con el operador NOK i )'
por ejemplo, para posteriormentl definir AND, OR y NOT en términos del
ob.t"trt", estas son buenas razones para introducir el álgebra
iti-üto.'Nó y "lo-t"
de BOOIede la fOrma que se ha hecho. LOs Conceptos"a.nd", "or"
son familiares y la genie los usa día a día para expres_ar ideas lógicalr 49"-
;Á, lo. postuiadosie Huntington reflejan la naturaleza doble del álgebra
haciendo-énfasisen la simetría de * Y ' entre sí'
2-7 C O M P U E R T A SL O G I C A S D I G I T A L E S

como las funcionesde Boole se expresanen términos de operacionesAND,


oR y Nor, es más fácil llevar a cabo una función de Boole con esre tipó
de compuertas.La posibilidad de construir compuertaspara las otras ope-
raciones lógicas es de interés práctico. Los factoresque van a ser valori-
zados cuando se considera la construcción de otros iipos de compuertas
Iógicas son (1) la factibilidad y economíade producir la compuerra con
compuertasfísicas, (2) la posibilidad de expandir Ia compuerta a más de
dos entradas, (3) las propiedadesbásicas del operadorbinario tales como
conmutatividad y asociatividad y (a) la habilidad de la compuerra para
Ilevar a cabo las funcionesde Boole por sí solaso conjuntamentecon otras.
De las 16 funciones definidas en la Tabra 2-6, dos son iguales a una
constante y las otras cuatro se repiten dos veces.euedan solamentediez
funciones para ser consideradascomo candidatas pu.u lógi-
cas. Dos de ellas, la inhibición e implicación no son conmutativas
"o.rrp.rertas
o a*-
ciativas y por tanto imprácticas de usar como compuertaslógicas norma-
lizadas;Las ot¡as ocho:complemento,trasferencia,AñD, OR, ñAND, NOR,
oR-exclusiva y- equivalenciase usan como compuertasnormalizadár p"rá
el diseño digital.
Los símbolos gráficos y las tablas de verdad de las ocho compuertas
se muestran en la Figura 2-5. Cada compuerta tiene una o dos entradas
variables designadascomo r y y y una variable de salida binaria desig-
nada como F. Los circuitos AND, oR e inversorfueron definidosen la Figü-
ra 1-6. El circuito inversor invierte el sentido lógico de una variable binaiia
y producela función NoT o complemento.El círculo pequeñoa la salida del
símbolo gráfico de un inversor implica un complemuntotagi"o. El símbolo
triángulo designa para sí solo un circuito sepárador(buffér). un circuito
separador produce la función de trasferenoa pero no produce ninguna
operaciónlógica particular ya que el valor binario de la salida es iguál al
valor binario de la entrada. Este circuito se usa solamentepara amplifi-
cación Ce señal de potencia y es equivalentea dos inversoresconectatlos
en cascada.
La función NAND es el complementode la función AND tal comose in-
dica por el símbolo gráfico que cons.isteen un símbolo gráfico AND seguido
de un pequeñocírculo. La función NoR es el complem"ito d" la funciói oR
y ylq un símbolo gráfico oR seguidode un pequeñocírculo. Las compuertas
NAND y NoR se usan mucho como compueriaslógicas normalizadasy de
hecho son más popularesgy9_!ascomp.,eria. AND toR. Ello se debe a que
las compuertasNAND y NoR puedenconstruirsefácilmente con transisto-
res y ademásporque las funciones de Boole pueden llevarse a cabo fácilmen-
te con ellas.
La compuerta oR-exclusiva tiene un símbolo gráfico similar al de la
compuerta oR excepto por una línea curva adicional del lado de la entrada.
La equivalenciao compuerta NoR-exclusiva es el complementode la oR-
exclusiva de la manera como indica un pequeñocírculo áel lado de la salida
del símbolo gráfico.

58
Nombre Símbolo Función Tabla de
gráfico algebraica verdad

x-----ñ 00 0
AND | )-F F:x./ 0l 0
v -------l-/ l0 0
ll I

0'|
OR
i--1-\ ' F:x*v
0
I
'l F
.Inversor " ->- F F:x', 0lt
ll0

Separador ' --)-. F:x

x-----ñ.
NAND I F_-F F:(xy)'
)'-----l-/

¡ =-ñ. 00 I
NOR I >--F F:(x+y)' 0l 0
, -----1-/ l0 0
ll 0

x --\1]- F: ry' I x'/ 00 0


oR-exclusiv¿ F 0l I
(xoR) v-+l-/ :x@Y
l0 I
ll 0

ri
x
NoR-exclusiva F : ry + x'y'
o Jf\_. ' :xoy
y---lLJ-
equivalencia

Figura 2-5 Compuertas lógicas digitales

59
60 A L G E B R AO E B O O L EY C O M P U E R T A S
LOGICAS CAP.2

E x p a n s i ó na e n t r a d a s m ú l t i p l e s

Las compuertasmostradas.en la Figura 2-b a excepcióndel -unainversor y el


sepa-radorpueden expandirse más de dos entradas.-binaria
"
puede expandirsea múltiples entradas si la operaci¿n "o-puárü
que repre_
senta es conmutativa y asociativa.Las operacionesAND y
oR dehnidasen
el álgebra de Boole tienen estas dos própiedades.pa¡a
ia función oR se
tiene:
**y:y+x conmutativo
y
(x + y) * z: , + (y * z): x * y * z asociativo
lo cual.indi_cgque las compuertasde entrada puedenintercambiarse
y que
la función OR puedeextendersea tres o más variables.
Las funcionesNAND y NoR son conmutativasy sus
compuertaspue-
den expandirse para más de dos entradas si se tiene en
cuenta que la ope-
ración se modifica un poco. La dificultad es que i".-"pár"a"r""
N¡ñií v
NOR no son asociativos,es decir, (r t g J l)-* ll;i-;;,
como se ve a
continuación:
(xly)It:f (" + y), + ,f,: ( x r y ) 2 , : x z ,+ y z ,
xl}!z):1"
+ (y + ,),1,= x,(t * z): x,y r x,z
Para vencer esta dificultad, se define u.na compuerta NoR
múltiple (ó
NAND) comouna oR complementada(ó AND). e"i, poi J"rirri"io'se
tiene:
xlyl,z:(xty*z)'
xlylz : (ry2)'
Los..símbolosgráficos.de las compuertas de tres entradas
se muestran en
la Figura 2-7. Al esc¡ibir operacionescon NoRv NÁño
tener en cuenta el co¡recto rso del paréntesis pu." i-piitrr se debe
""larcada
la secuencia
adecuadade las compuertas. para demostrar lo anterior
considéreseel ci¡-

l . rl y ) I r : ( x * , r , ) z ,

Figura 2-6 Demostración de la no asociatividad del operador NO_O;


(xtry)l,z+ x(y!z)
I
'____ñ. x--ñ
I ___- (.r r r, *:) I --{ p- (.r.r'z)'
)o_ z ---L_./
z -----l-./

(a) CompuertaNOR de tres entradas (b) CompuertaNAND de tres entradas

A
B
C --
F = |(ABC)' ' (DE)'l' ABC + DE

(c) Compuertas NAND en cascada

y compuertas NAND
Figura 2-7 Compuertas NOR en cascada y de multi-entrada

debeescribir-
cuito de la Figura 2-7(c).La función de Boole para el circuito
SE ASí:

F :I(A B C )'(D E )'f': ABC+ DE


Esta mues-
La segundaexpresión se obtiene del teorema de De Morgan'
,"ilii^, una expresión en suma de productos por medio
tru q.,1 se puede
las compuertas
de co*prrertas NAND. Posteriormente se tratará sobre
NAND v NOn en las Secciones 3-6,4-7 y 4-8'
conmuta-
Las compuertasQR-exclusiva y de equivalencia-son ambas
a más de dos entradas' Sin
tivas y asociativ". y' prr-aen extánderse
de multientrada no son comunes
las compuett"i OR-"*clusiva
"-¡urÉo
desde el punt' O" de-ior ciicuitos. En efecto, aun una función de
dos entrad". ,"
"i.ü .r..rut*ente con otro tipo de compuertas' Así'
-íunciones
la definició., a"
"orr"i.rry" debe modificarse cuando se expande a
""iu. decir, es igual
más de dos variables.La función oR-exclusiva es impar, es
impar de unos' La fun-
a 1 si las variabler-d" á"1."¿a tienen un número va-
en una función por' es decir' es -igual a 1 si las
"i¿n-¿" "quivalencia par de ceros' La construcción de
riables de entrada tienen un número

F=Yoy@z
0 00 0
0 0l I
(a) Usando compuertas de dos entrad¿
0 l0 I
0 tl 0
--t{-\. 00 I
".t ____#
---H-/ >- t' = Y +.1'+ : 0l 0
z l0 0
ll I
(b) Una compue¡tade tres entradas
(c) Tabla de verdad

Figura 2-8 Compuerta OR-exclusiva de tres ent¡adas


6l
A L G E B R AD E E O O L EY C O M P U E R T A S
LOGICAS
CAP.2
una función oR-exclusiva de t¡es entradas
se muestra en la Figura 2_g.
Esto último se realiza normalm".,Ja-'"orr""tando
en cascada compuertas
de dos entradas como se muestra en (a).
Cr¿n.urn".rt., se puede repre_
sentar con una sola compuerta de tres
entradas como se irústra Gi .
La tabla de verdad en (cj indica q". ü,"iiáá F es igual
"; a 1
si solamenteuna entracraes"ruru,'uni"
igual a 1 o si todas las entrádas son igual
1, es decir, cuando el número total de unos a
de las variables de entrada es
impar' una ulterior discusión .ob.e el
on-"*r*i;;-i;'"qrivalencia se
verán en la Sección4-9.

2-8 F A M I L I A S D E C I R C U I T O SI N T E G R A D O S
L O G I C OD I G I T A L E S

El circuito integrado se introdujo en la Sección


1-g, donde se dijo que los
circuitos digitales se construíán invariablem"r,t"'*
dos. Después de haber tratado varias compuertas integra_
"i.cuitos
lógicas digitales
sección.anterior, se está en posición de presentar en la
las compuertasde cir_
cuitos integradosy de_discuti, ..r. propiedades
g"""*1"..-'
. Las compuertas digitares de .ir",rito. i"t"l.uáo.- r" clasifican no
solamentepor su opu.ación lógica, sino por
ra faniiria áe lógicos,
específicosa la cual pertenecén. cada familia
tiene un "lr"rrito,
circuito electró_
nico básico propio, médiante el cual
se desarrollan ru.rcio.resy circuitos
digitales-más complelos,El circuito beri.o
en
puerta NAND ó una NoR. Las compuertas cada famiria es o una com-
elect¡ó.ri"u. ,r.ád"s en la cons-
trucción de circuitos básicos-seusan para
determinar el nombre de la fami-
lia lógica. Hav muchas familias ió;ü;d"
circuitos integradosdigitalesque
han sido introducidos comercialménte.
Aquelras que han alcanzadobuena
popularidadse listan a continuación.

TTL Lógica de transistores (transistor-transistor


logic)
ECL Lógica de acoplamiento de emisor (emitter-coupled
logic)
MOS Semiconductorde óxido de metal (metal-oxide
semicon-
ductor)
cMos semiconductorde óxido de metal complementario
(com-
plementary metal_oxide semiconductor)
I:L Lógica de inyección integrada (integrated_injection
logic)
La TTL tiene una lista extensa de funciones
mente la familia lógica más popular. La digitales y es común-
ECL .; ;.;-"";-sistemas que re_
qureren operacionesde alta velocidad. "r"
Lo. Mós;l;i ur"r, en cir_
cuitos que requieren alta densidad de
componentesy la CMOS se usa
para_s-lstemas que requierenbajo consumo de poder- "
El análisis de ros circuitos ere"t.ár,icos
¡¿Jicos-en cada familia rógica
se representaen el Capítulo 13. El lector
que está familiarizado con elec_
trónica básica puede róferirse.at capiiut"
it con er fin de
familiarizarru con estos circuito. ";;;;;;;;,
Aquí se limitará la discu_
"iici.¿nicos.
s E C .2 - 8

siónalaspropiedadesgenerales'delasdiferentescompuertasencrrcul.
;;:'i"t" g;"dfs disponibles comercialmente'
L O G I C OD I G I T A L E S 6 3
INTEGRADOS
F A M I L I A SD E C I R C U I T O S

los tran-
l
Debido u ru urtu'áJ"tiá;e con l1 qü. puedatt:"t -f1b-tl:udos
sistorescon MOS ; I;il;t;. dg: fuyiliás se usan principalmente^-nllf
LSL Las ;;;'t; i;milias BCL v 9y9S se usanen las
funciones TTL,
LSI y ;;;'ñ;o d. .o.npnertasMSI v. SSI. Las com-
compuertas ";';; un número pequeñode compuer-
puertas SSI son uq""ff"t'q"e contienen de circuito
.r, Ia Sección 6-2) en una pastilla
tas o flip_flops (preJe-nl"áu. sSI es el
de_circuitosen un componente
integrado. El límite'áJ*--.ro por ejemplo'
Una n"ttifl" q" t1 tllt'll"s'
número de patillas de la pastilla' de dos entradas cada una' ya
puede alojar solamente cuatro tornptt"tt"t una
que cada compu"tti ;;t;tit; 3 patiila^sexternas: dos para entradas v
patillas restantes
para la salida,.p"; á;;;; totai de 1.2patillas' Las dos
potencia a los circuitos'
se usan para el 'u-i]litt'o de 2-9' Cada circuito
Algunos SSI se muestran eT la Figura patillas se nu-
"i,c"iiot pa*till" d9 f,a o 16 pati[as' Las
está encapsrrluao y se especifican las cone-
"'i""'iu at la pastilia
nteran a lo largo d; bt*¿5; üáát áib":udas áentro del circuito
xiones que pueden hace'se' Lu' "otp'i"it* t'o ptt"d"tt verseya que en la
totut"tt"l
integrado son para i"r**áti¿"
at l" forma ilustrada en la Figura
realidad el circuito integrado aparece
t-t. por la de-
circuitos integrados TTL. se_distinguen_comúnmente t,u designación numérica
s¿óo v z"+oo.
"o" nrr*¿ri.u^i'"-t'.orrro ra .e.ie
signación int"g.udo. están numerados
de la serie ?400 implica que los "ir'Ñár TTL
7 400,7 40I, Z¿Ozetc.''Ñ*""1 fabricant"ei^ti"""" clrcuitos integrados
como la serie
disponibles iilu'*i"' ¿t"ignu"io""t tuméti"ut tales
"o,,
n*J"tffi;ra ssl. El ?404viene con cua-
2-9(a) ilustra dos circuitos TTL marcados v¿6' y
io. terminales
tro compuertas ÑÁNO de 2 entra¿".. un voltaje
GND son p"r" r""'p"inf* la fue.ntedel poder que requieren
-a"
de 5 voltios para la adecuadaoperaclon' La Figura
El tipo ECL;;;;;;;" t" a"1g"a 99-9 la serie 10'000'
-gcL.
El" 10102viene con cuatro compuertas
2_g(b) muestra ¿"""";r."ii""
que la .o-p.r"*u ECL pry{e tener dos entradas,
NoR de 2 entradas. ñót"." r""ción oR, (pin 9 del circuito
pu"u-ü
una para la función Ñon y Ia otra contiene tres compuertas OR-
i.,i"gr"ao i0i0?
integrado 10102).iii .ir*iil da Ia
h;;á"t üri¿"t á" t"a" compuerta' La otra
exclusiva, .n.*tJtui; Las compuertas EcL tienen tres
función ¿" NOn-e*"jrr".i.r"'o ó"iualencia. v""' t" conectan por lo ge-
i
terminales ot" t'iilil.itt'o-JJn9a"t-1" - 5'2 voltios'
;'";;;i;t í" v v* a un voltaje de.
4000se muestran en la Figura 2-9(c)'
Los circuit*'ai{ób'i"-iá-."ri" de cuatro entradas
d"t ;;;ÑJl"'
Solamente ." pr't"iut' á"orro¿u' ry91 seis circui-
ñtit"tio" d";;iil.";'
en el 4002 ¿"¡ia"?l' "tl-o-tg,::ntiene terminales
integrados tienen dos
tos separador". &Jfi"r). Ámbos circuitos marcado V" requiere
nr l"tirinat
sin uso, *ur."ai"Ñ?'(tá g a t5 íoltios y vss comúpmente-seconecta
"o"e*i¿"i'
un voltaje au .rr*i.riJro d"
a tierra.
r

vcc vcc
t4 13 t4 13

23456 7 34s67
Tie¡ra Tierra
740<t-Seisinverso¡es 7400-Cuatro compuertasNAND de dos entradas
CompuertasTTL

vccz vccz
16 t5 tó 15

8l
vcct vre
vcct
NC Vte
10102-cuatro compuertasNoR de dos entradas 10107-Tres
compuertasoR_exclusiva,/NoR
(b) CompuertasECL

voo
NC NC
t4 13 16 13 12

123456.7
34567 zss
NC l/ss voo
4002-Dos compuertas NOR de 4 entradas
4050-Seis separadores
(c) CompuertasCMOS

Figura 2-9 Algunas compuertastípicas en circuitos integradoa


Lógica Positiva Y negativa
cada compuerta puede tener uno
La señal binaria a la entrada ó salida de
d e d o s v a l o r e s , . * . " p t o - A t " a n t e l a t r a n s i c i ó n ' E l dos
v a l ovalores
r d e u n ade
s eseñal
ñ a l r eaplos
re-
senta lógica r v oiro'ü;;;b:, óoÁá ..
"r ".ignan asignadasa la lógica' De-
dos valores lógicos ;;;";;; dr; tipos -de-señiles
e-n el alge,ra de Bóle, un intercambio de
bido al principio ¿""i""á".fia"d
la asignación de un á"-"""a1 resulárá en una función dual'
""f"t binaria mostrada en la Figura
considérese to, áo, ualores de la señal
2_10.un valor debe .;; -;y;. que el. otro ya que tienen que ser diferentes
como H (High) y el nivel
para poder distinguir"ñ.'Oá"ignl.. .t "l*í alü
para la asignaciónde la lógica.
bajo como ¿ (l,owl. ñ;;-d*;il;rnativas
Valor Valor
Valor Valor
lógico señal
lógico señal

(b) Lógica negativa


(a) Lógica Positiva

tipo de lógica
Figura 2-1O Asignación de amplitud de señal v

la lógica l como se muestra en la


Escogerel nivel alto H para-representar positiua;
Fisura 2-10(a)v -ái""i" el cual se define e"lsistema de lógica
rógica 1 de la manera. ilustrada Ia
d"J;*;r^;i i-ü;;-r;r;;"tar _en.
"ií"í- define el sistema de lósica nesattua'
ñigri""i_to(b) poT -;ái; áái .""t se seña-
Los términos pos¿¿¿uos y negatiuosno-son adecuadosya que ambas
es Ia polaridad de las señales lo
les pueden r", po"iiüt'o-"?g"ti"T'ry; de los valores lógicos
que determina el ,*r.;i l;;i;; ;i;" la asignación
á.-u.rr".do a las amplitudes ielativas.de las señales'
Las hojas t¿."iJ". áI-;.;;;il;.;.ión de datos de los circuitos integra-
de lógica 1o lógica 0 sino
dos definen funciones digitales_no-en.tárminos
al usuario Ia oportunidad de usar
en término, a" ,,iuei"e.?; t. se le deja
las asignacior,". po.iiiá i *t+i"i ní ta Tabla 2-7 se listan los voltajes
para tres familias de circuitos integrados
de nivel alto (I{) V nl.r"f Éajo-(L)

Tabla 2'7 Niveles HyL en las familias de CI lógicos

(V)
Nivel alto de.'/oltaje(v) Nivel bajo de voltaje
Tipo de familia Voltaje de
tuente (V) Rango TíPico
de CI

Vcc= 5 2,4- 5 3,5 0 - 0,4 0,2


TTL -1,9- -1,6 -1,8
V¿¿: - 5 '2 -0,95- -0,7 -0,8
ECL 0
Voo:3-I0 Voo Vpo 0-0,5
CMOS
lógica 0
Iógica 1
66 ALGEBRA
DEBooLEY coMPUERTAs
LoGIcAs cAP,2
lógicos digitales' En cada familia
hay u-n rango de varoresde voltaje que
el circuito puede reconocercomo nivel
alto o ,i*J-u":ál'ñt u"ro. típico
el que se usa más comúnmente.r," es
üui"-á" r". iorrr;". de sumi_
nistro como referenciapara "á"-¿.
Á_iii..
""J" ¿" ¡i:
TTL tiene valores típicos
s,s voltios y L:0,2 vortios. ECL
tiene dos valoresnegativose" a:
9¡i ¿: _-i¡;"íriár. ñár.se que pesar
de ser de dos voltajes ,,egutivos"Li" a
-g. compuertas
cMOs pueden usar un uolt"¡e "1,"""."^-i,b.'i",
au-.u-inirtro voo en el rango de 3 a 15
voltios con voltaies típicos d;;;
id ,,oltios. lár" u"ior", de ra señal
CMOS son función ¿el voltaje á.-r,riri'i.rro. en
con H : Von y L:0 voltios.
ffi',-"X;i:l S,f:"ffll"dá"'-;;'j" üri*'*,i ",f ] negativa
sein-
Después del anterior planteamiento,
se hace necesariojustifica¡ los
símbolos lógicos usados p". rár-
gura 2-9' Tómeseoor ejemplo,una"ll;;;". integrados mostrados en la Fi-
de la. compuertasdel circuito integrado
7400. El diagramá de"b.loiuá ;;h
.l-pu".t" se muestra en ra Figura
2-11(b).La tabla de verdad a"l r"b¡.á"te
ja de especificaciones de la compuerta dada en la ho-
se muestra en la Figura 2_II(d. Esto
especificael

Tabla de ve¡dad en (b) Diagrama de blooue


té¡minosdeHyL.
de la compuerta

x---ñ
/______1.
lF_:
'

( c ) Tabla de verdad
(d) Símbolográficopara la
para la lógica
compuertaNAND de
positiva;
lógicapositiva.
H:T,L:0.

(e ) Tabla de verdad
( f ) Símbolográficopara
de lógica negativa
ra compuertaNOR
L:r,H:0.
de lógicanegativa.

Figura 2-11 Demostración de lógica positiva y


lógica negativa
L O G I C OD I G I T A L E S 6 7
sEC.2-8 F A M I L I A SD E C I R C U I T O SI N T E G R A D O S

con H con un valor típico de 3'5


comportamiento físico de la compuerta
v o l t i o s y L d e 0 , 2 v o l t i o s . E s t a c o m p u e r t a f í s i c a p u e d e f u n c i deonarcomo
compuerta NAND ó como una compuertaNOR dependiendo la asig-
una
nación de la Polaridad'
lógica positiva cort
La tabla de verdad de Ia Figura 2-11(c) asume
lalablá de verdad con las tablas de verdadde
H:t y L:0. nf .oriilr*
tlqt-t-d" una compuerta NAND' EI sím-
la Figura 2-5, se reconoceque se
lógica positiva se muestra en
bolo gráfico p"r" .,.ru-.omiuerta .NAND de
i"^ñiEirr"- z_-111¿¡ y e. similar a la que se ha adaptadopreviamente'
lógica positiva a esta compuer-
Ahora, considéreseuna asignación de
tábla de verdad mostrada
ta física con L:1 ;;:ó.-ñir".uttaáo "."tu que representala función
en Ia Figura Z-f1(ei.--Esta tabla se. reconoce
NoRapesardeq..",.,,.entradasesténlistadasalrevé s.Elsímbolográfico
se muestraen la Figrrra2-11(f)'
para una compuerta-Ñon ¿" lógica negativa
e.tttada y salida designan un indi'
El pequeñotriangulá e";i* ui"-*¡r.s áe
de este indicadór de polaridad en las en-
cador d,epolaridad,.\l'Or*"".iq la
tradas y salidas i"di;-ñ;-ia lógica ttág"iiuu se asignáal terminal' Así'
como NAÑD de Iógica positiva o
misma compuerta fisica puede funcionar"o en el diagrama es completa-
dibujado
como NOR ae rogiá neiativa. El uno
i;-i;";:;ñ;til J" pát".i¿ud que el disenador desea
mente dependient"
emplear.
D e m a n e r a s i m i l a r , e s p o s i b l e d e m o s t r a r o u e . l - anegativa'
N o R d e l óLa
g i cmisma
apositiva
es la mism" ii"i* q"" la NAND ie lógica
"ornp,r.irJ AND y OR o entre las compuertas
relación es válida e,,t'e las compuertas
n1 cualquiár casosi seasume lógica ne-
oR-exclusiva y la il";ñI"*i". necesarioincluir el trián-
gativa en cualquie, te'mi"ul de entrada o safida es
gulo indicador de p"i;;ili;d lo l"rgo-del terminal. Algunos diseñadores
digitales usan esta i""""""1¿"
" p"t" fi'.ifit"r el diseño de los circuitos digi-
las compuertasNOR y NAND. En este
tales cuando." ururi!*.iu.i"u"i""te
recurrirá a otros métodos para ha-
Iibro no se usará esia simbología pero se cI presentados
cer diseños v Ñon Nótese oue lg¡
gráficos de lógica positiva' se
en la Figura"or, 2-9"o-i*J.;ÑiÑ"D
se muestran con sus simbolos
si se hubiera
.i*¡olos lólicos negativos
hubieran podido *;;;;;-;;" ""r
deseado.
negativa y viceversa'es esen-
La conversiónde lógica positiva a lógica
a ceros y ceros a unos en Ias
cialmente una operación que cambia-unos
Debido a que esta-operación produce
entradas V satidas á.'i" J"-p"erta.-
una función dual, todos los termlnales de una polaridad a
"i ".t"¡¡^de
otradaráelmismoresultadoquetomareldualdelafunción'EIresul-
tadode".t""orrro"r.iórr".quetodasrasoperacio nes.ANDseconviertena
-;; Ad"-á", ;; d.b" olvidar el incluir el indi-
operacioneson v-ri.L""r.". "é ne-
cádor de polaridad i;; símbolos gráficos cuando se asume lógica
*u"uÉi de polaridad I 9l
pequeño triángulo que representa un indicador
tienen efectos simi-
pequeño círculo.qrr" tép'""enta una to*ple-"tttación el uno
por tanto' pueden.remplazarse
lares, pero srgnrrrcadosdiferentes, es diferente. un
por el otro, si se tiene en cuenta que su inierpretación
68 ALGEBRADE EooLE Y CoMPUERTASLOGfCAS
cAp. 2

círculo seguidopor un triángulo, tal c.oT9 en la Figura


2-ll(f), representa
una complementaciónseguida de un indicador de polaridad
gativa. Los dos se cancelan entre sí y pueden quitarse. perode lóeica ne_
si se-quitan
ambos, las entradas y salidas de la compuerta representarán
polaridades
diferentes.

Característicasespeciales
Las característicasde las familias de cI lógico digitales
se comparan
analizando el circuito de la compuerta básica"¿e cadá familia.
Los pará-
metros más importantes que son evaluados y comparados
-*u.g"r, son fu.r'orri,
disipación de poder,
{ego1a de propagación y
cará primero las propiedades
de ruido. Se expli_
de estbs-parámétrosp".u trregousarlos plra
compararlas familias lógicasde CI.
, l?l-o"f especificael número de cargos normaresque puede accionar
la salida de la compuertasin menoscabai"" op"i".i*liJrmal.
u.a carga
normal se define como la cantidad de corrientó necesitadapara
la entrada
de.otra compuertaen la misma familia de cI. argu"". u""es se
usa el tér-
mino cargadoen vez de fan-out. Este té¡mino se*deducedel hecho
de que
la salida de la compuerta suministra una cantidad limitada
de corriente
por encima de la cual no opera cofrectamentey
se dice por este caso que
está sobrecargada.La salida de la compuerta generalmente
se conecta a
las entradas de otras compuertassimilares. cuáu
cierta
cantidad de potencia de la compuerta de entrada de ""iráj" "or,rrr-"
tal -u.,"ru que cada
conexión adicional se.agrega a ra carga de la compuerta. ,,Las
,Lglas Je
I
carga" se listan comúnmentepara uná familia de circuitos digitalás i
nor_
malizados. Estas reglas especificanla máxima cantidaá de cJrga p".Ái-
sible para cada salida de cada circuito. Al excedersela carga
máxima
especificadase podría causar mal funcionamiento ya que el
circuito no
puede suministrar el poder demandado.El fan-out es el
número máximo
de entradas que pueden conectarsea la salida a. rá-compuerta y
se ex-
presa con un númer<¡.
_ Las capacidadesde fan-out de la compuertadeben considerarsecuan-
do se simplifican las funcionesde Ebole. Se debe tener mucho cuidado
de
no desarrollar expresionesque resulten en una compuerta con sobrecarga.
Los amplificadores no inversores o separadosse ú.""
fu* suministrar
capacidadadicional de accionamientopara el caso de cargaspesadas.
Disipación de potencio es la pot-enciasuministrada necesaria para
operar la compucrta. Este parámetro se expresa en milivatios (mw) y
representa Ia porencia real designada por lá compuerta. El número quá
representa este parámetro no incluye la potenciá suministrada
de oira
compue-rtao seu que representa la potencia suministrada a la
compuerta
por la fuente de poder. un cI con óuatro compuertas exigirá
de la fuente
cuatro veces la potencia disipada por cada óompuerta. En
un sistema
dado puede haber muchos ciriuitos integrado. y ,rr. potencias
deben te-
nerse en cuenta- El poder total disipado en un sistema es la
suma total
del poder disipado de todos los CI.
. .,Retardo de propagación es el tiempo promedio de demora en la tran-
srclon de programaciónde una señal de la entrada a la salida,
cuando las
L O G I C OD I G I T A L E S 6 9
SEC.2.8 F A M I L I A SD E C I R C U I f O SI N T E G R A D O S
toman
valor' Las señalesen una compuerta
señalesbinarias cambian de la salida'
para propag"i." a" las entradas a
cierta cantidad de tiempo demora de propaga"tul 9:'11
t";;l;
Este intervalo de tiempo se define
compuerta.EstaúltimaSeexpresaennanoseconds(ns).UnnseSlgu'al
to;t"rt".1;1!l'o,r" digital a las
" viajan cre las entradas de un circr¡ito
las demoras de
salidas pasan po' serie de to'opu"tt"t' Lu 'u-u de'
""" t" ¿"-ora total de propagación
propagación u t."u¿t de las compuertas "t com-
de operaciónes 'importante' cada
del circuito' cu"nál l^ *fotiaád y el. circuito digital
puerta debe tener,ri" p"qrr"na''ni"i-o demora á"-piopug"ción entre las entradas
¿" t"tit
debe tener ,r. .tt-ut "o*p""ifut """
t t"Lt"Tt3ff;adas digitales se apli-
digitales en ra mayoría de los circuitos
To{a1 aquellas compuer-
can simultan""*""t? a mát de una -compuerta' de entradas externas cons-
tas que reciben .ul"""truáas exclusivamenteLas compuertasque reciben
del circuito.
tituyen el primer ;r;i';;l¿gica primer
a partir de u¡a salida de una compuertadel
al menos una entrada, y manera
el segundo nivel de -t^óq1ca de
nivel de lógica, "t- to"tiá"'an en propaga-
y top"'"iot"s' La demora total de
similar para los niveles tercero compuerta por
ción del circuito is";i;lu Aé*ot" d.epropagacl"l 9:^t"
reducción en el núme-
"t crrcuito'.Así, una
el número de niveles lógicosen eI *drr".ió-n de la demora de
dirá como ,""rrtüJá'onu'
ro de niveles lógicos propaga-
La reducción de la demora de
la señal y circuitái #;-J;id"s. que- lq.reducción en el
más^i*p.it""t"
ción en los circuitos podría ser q"t la velocidad de operación
número total de compuertas"" "l "uto-át
""^ lr:::;::5:'HlT:Tli'*u',,,'o vortaje de
o: ::d:^Tl:gadoa raseñar
indeseable' a la
entrada de un áigit"t que no cause un cambio El
"i""it" d; ;;tJ; que debe.r considerarse.
salida del circuito. Hay dos tipos de se-
t" los niveles de voltaje
.rr¡¿s (DC) cp ti"'"dJ poi-rt.á"tui"tiá" que puede,ver creado por otras
prrt* ,trutorio
ñal. El ruido cA ?;ó;"-';i una
es el término usado para denotar
señales conmutadi;.-A"l; et ,ui¿o normal' La ha-
una tt¡ut de operación
señal indeseablesuperimpuestaa en un ambiente de
lá"n"uitl¿ad
bilidad de los circuitos para operar "o"- El margende ruido se expre-
ruido es importaniJ';;;;¿h..^aplicaciones. señal dJ ruido que puede ser
la -¿*iÁu
sa en voltios (V) y representa
tolerada Por una compuerta'
lógicos
Característicasde las familias de Cl

E l c i r c u i t o b ¡ í s i c o d e l a f a m i l i a "cuates
l ó g i c a se
d elistan
T T L e tres
s l a cen
o m p uTabla
e r t a N2-8'
A NEsta
D.Hay
muchas versiones;; Til d" ta, -la
familias de CI lógicos' Los
tabla da tu" g".r"rut""-d" ias
"uruJi"ri.t[u.
valoreslistadosSontepresentativosco,'baseenlacomparación.Para
.""fq"l"t familia o ut"ión los valores puedenvariar'
de la familia
La compue,," fii normalizada fue la primera versión
ha progresado.
TTL. S. ;;"r* u *"¿ia" qrre'tu tecnología
innovaciones que reducen la de-
La TTL Schottü "g.ug"io;e";;;'a; t"" ltti*".
en un aumento de asignación de
mora de propagación pero que '"t"iiá

j
--á
r Tabla 2-8 Características de familias
de CI lógicos

Familia de Fan-out Disipaciónde Demora de


CI lógico potenciaen (mW) Margen de
propagación(ns) ruido (V)
TTL normalizada l0
TTL Schoftky l0 l0
l0 0,4
22
TTL Schottky de J
0,4
baja potencia 20 2 l0
ECL 25 0,4
25 2 o9
CMOS 50 0,t 25
3
potencia' La versión.TTr
Schottky de baja potencia sacrifica
alguna
á'.p""ü;: frt",,"iu.Esraúlrimarienerqmic_o ve_
demora depropagaci¿;
l"J*i::.i-1111"1'.i"
;;;;' i'rt #triihil.T"H':HÍi:"J:,ilT,?;
oe potenciabastanteredücida.
Ef ran-outa" r"
es I0 pero ra versióJrscnottlv uuirion'irr,
-;i;;; normarizada
á. J":" po,"n"i,
Bajo ciertas condicionesi".-'"ti"."u.rrio_n", un fan-outde 20.
de 20. El margen p"i;; i"n., un tán_out
1: Tid;,..L":", O":_0,4V, conun valortÍpicode lV.
*o""11,"'#if""3;"* delaramiii" Éór.'".l; ;;;;;",1" Non.Laventaja
,,eis
ionesá" Eü'fi :;:X ?"""ii,1,f -;; á;; rJpa
-d" gación..erg,,ái
de0,5ns. Laais[áciond";;l; ;i;-";lT,"ll,ffi
",f:: fJi?:ri.T
mente "
alta y su margen¿. ruiao u";á.'nrto.
últimos dos parámeros ""."::Ll:i"",,,1.,1
clesventajaal escoserla familia
nbl"or, ."spectoa las démás.pero,son una
de su baja demora"d";r"pr;;;iór*i; a pesar
todas las famirias v. es un-úrti-o icl ,irr"."l"?ir'",r" verocidadde
r"*io para sistemasrápidos.
El circuito ¡¿sico-¿e cüóé;;'r.,u"r.o.
truir las compuertasxrxo ^La con er cuai se pueden cons-
.;: v-ñoñ
o* " ventaja especialdel cMos
es su
ü"'iffi"::,;
"o¡,Tff;;:?, *3;Ím*, " _u,,;es, io"".,.t¿ii.u,
""iai"
p.o*"áiu rV iJwr. curndo la despreciab.le
v, ;;;
hav. lo
unadisipacián.d"
p.i;;;; señal':t]",i^YoS
ai.,i.'rri
cual el circuito está 'd; ;r#T.tilf JT'ri?.*,iilrrii
tipico de la disipaciór.expues;;.--Ei';ffiero ristado en la tabla es un valor
;;i";i"'iir¿-i"a en ras compuerrascMos.
La mayor desvenrajade las
ción' Esto sigrrifica que.no. cnros .u^-uiiu ;;;;r" de propaga_
es práctico usarlas"..
operacionesde arta velocidad.' ,rrt"-u". que requieren
""
io.""pur¿-etros--.".á.r"rlrri.*
compuerra cMos dependen para ra
¿el uortaii vuo de-1af;;;;;;.
use' La disipación de potenciá poder que se
^p.op"gu.iá"
;.;;;;;" el aumenro del votta;e de sumi_
nistro' La demora a.
iirii"uv" der voltaie
v el -utge., áur.uiao-." esrima "or,'"i
en un""-."r"
s:t;:il:"tttro 40iz det valo¡ dól

REFE
RENCIAS
t G'' An Inuestígation
of theLawsof Thought.Nuevayork:
#a':' Doverpub..
70
PROBLEMAS7I

-2 . S h a n n o n , C . E . , " A S y m b o l i c A n a - l y s i s o f R e l a y a n d S w i t c h i n g C i r c u i t s " ' T r a n s '


if tn" AIEE, vol. 57 (1938),713-23'
3
" .Huntington,E.V.,..setsof5 lndependent.PostulatesfortheAlgebraofLogic'''
iiá"t.Árn. Math' Soc', Vol' (1904)'288-309'
Algebra' Nueva York: McGraw-
4. Birkhofl G., y T. C. Bartee, Modern Applied
Hill Book Co., 1970.
of Modern Algebra'3a' ed' Nueva York:
5. Birkhoff, G., y S. Maclane, A Suruey
The Macmillan Co.,1965'
e d ' N u e v aY o r k : T h e M a c m i l l a n C o ' '
6 . H o h n , F . 8 . , A p p l i e dB o o l e a nA l g e h r a2' a '
1966.
?.Whitesitt,J.E.,BooleanAlgebraanditsApplications,Reading,Mass.:Addi.
son-WesleYPub. Co', 1961'
S.TheTTLDataBoohforDesignEngineers,DaIIas,Texas:Texaslnstruments
Inc., 1976.
g.MECLIntegratedCircuitsDataBooh.Phoenix,Ariz.:MotorolaSemiconduc-
tor Products,Inc.' 1972'
1
- 0.RCASolídStateDataBookSerjeslCOs/MOsDigitatlntegratedCircuit'.
, ' J . : R C A S o l i d S t a t eD i v ' ' 1 9 7 4 '
S o m e r u i l l eN

PROBLEMAS
básicas (con¡unto cerrado asociativa, conmutativa,
¿Cuál de las seis leyes son cumplidas Por el Par de oPerado-
áe identidad, inversa y distributiva)
ies bir.,arioslistadosa continuación?
.10 | 2

2-2.Demuestrequeelconjuntodelostreselementosl0'1'2lylosdosopera-
d o r e s b i n a r i o s + y d e l a m a n e r a d e f i n i d a e n l a t a b l a a n t e r i o r , nde
o cHuntington
onstl-
cuál de los postulados
tuyen el álgebrJ ¿"' S""it' EtluUtt"u
no se cumple.
2-S.Demuestrepormediodetablasdeverdadlavalidezdelossiguientesteo-
remas del álgebra de Boole'
( a t L a s l e Y e sa s o c i a t i v a s '
(b) Los teoremas de De Morgan para tres variables'
(c) La ley distributiva de * sobre "
de Venn'
2-4. Repita el Problema 2-3 usando ios diagramas
2-S.simplifiquelassiguientesfuncionesdeBoolealmenornúmerodeliterales.
(d) zx + zx'Y
@) xy + ry'
(b) (x + Y)(¡ + Y') (e) (l + B)'(A' + B')'
(c) ryz * x'Y 1 ryz' (f) Y(wz'I wz)* ry
72 A L G E B RD
AE BOOLE
Y COMPUERTA
LOS GICAS
I
I
I
CAP. 2 I
2-6. Refuzga- las siguientes expresiones
de Boole al número de literales solici_
I
tado al frente de cada una áe ellas.
(a) ABC + A,B,C + A,BC + ABC,
+ A,B,C, a cinco literales
(b) BC + AC' + AB + BCD
a cuatro literales
(c) [(CD| + A], + A + CD + AB
a tres literales
(d) (A + C + DXA + C + D')(A + C' +
D)(A + B') a cuatro literales
Encuentre el complementode las sigui
rentes funciones de Boole y redúzcalas
al mínimo número de literales.
'(a) (BC'
+ A'D)(AB, + CD,)
.(b) B'D + A'BC' +
ACD + A'BC
(c) I@B)'AI[@B),Bl
@)¿n'+ C'D'
2-8. Dadas dos funcionesde Boole F, y
Fr:
(a) Demuestre^quela función
de Boole
función OR a las dos funcionÁ !: F:*F2, obtenida al aplicar la
contiene i" .uiu J. to¿o, los términos
mínimos en F, y F, .
( b ) D e m u e s t r e - q u el a f u n c i ó n
d e B o o l e . G : F ¡ F 2 , o b t e n i d aa l
función AND a las dos funcionesl aplicar la
contiene to. t¿r-i'o. mínimos comunes
a ambas Ft ! F,
2-9. Obtengala tabla de verdad de la siguiente
función:
F:xl+ry,+y,z
2 10' Ex'rese funciones de Boole simplificadas
del problema 2-6 con compuer_
ulas
2-ll. Dada la función de Boole:

F=x!*x,y,*y,z
(a) Expréselacon compuertas
AND, OR y NOT.
(b) Expreselacon compuertas
OR y NOT solamente.
(c) Expréselacon compuertas
AND y NOT solamente.
2-12' simplifique las funciones ?r
J ?, al mínimo número de riterales.

00 r0
00 l0
0l t0
0t 0l
IO 0t
t0 0l
tl 0l
ll 0t
2-13. las siguientesfuncionesen suma
9-*f1....
d . ¡t é r m i n o sm á x i m o s . de términos mínimos y producto
(a) F(A, B, C, D): D(A,+ B) +
B,D
O) F(r, x,y, z) - y,z I wxy, + wxz, * w,x,z
P F O B L E M A S 73

+ C' + D')
'ri'+ B' + CXA! l'XA+ c' + D')
(c) F(A,B, C, D) = (A
* t + c + D'XB
+ C)
(d) F(A, B, C) = (A' + B)(B'
(e) F(r, Y, z) : I
(fl F(x, Y, z) - (ry + z)(Y + xz)

2.L4.Conviertalassigrrientesexpresionesalaotraforma:
(a) F(x,Y,z) = )(l' 3' 7)
2' 6' 11'13't4)
a ,tn, B, c, D):>(0'
(c) F(x, Y, z) : II(0' 3' 6' 7)
2' 3' 4' 6' t2)
(d) F(A, B, C' D) : Ír(0' I'
I" 'f9t11 normalizada?¿Cuál
es Ia dif'erencia entre la forma canónica y
2-15. ¿Cuál
iuiJ'" un¿o'1:Hl;ji ¡ ll,"m"l"i:'ff "l:'""1" iJT;
ó.Iarormap'"'r'''
;;.t;Cuál ós la forma que se obtrel
""iü de Boole de n varia-
de rodos los términos mínimos de una función
, ,a. ;::*a
bles es 1'
para n : ó'
(a) Pruebe la anterior afirmación
para una prueba general'
(b) Sugiera un procedimiento
2-|7'Elproductodetodoslostérminos-á*i.o.deunafuncióndeBooleden
variables es 0'

:'"':"""111,:"""1g"-i3¡;'Á\-¿l'-r"
l;]:ü:n'ilTü,üffi
principioi't'¿i"iir¿iadespuétdt-;;"ütlapárte(b)delProblemaz-ro:
igual a su complemento'
dual de la oR-exclusiva es
2-1g. Demuestre que el a las funciones binarias
la función de, Boole equivalente
2-19. Por sustitución de demuestreque:
definidasen la Tabla 2-6
(a)Losoperadoresdeinhibicióneimplicaciónnosonniconmutativosnl
v aso-
sonconmutativos
y de equivalencia
,r, ilJt:il:ilres oR_exclusiva
ciativos'
(c) El operadorNAND no es asocratrvo'
no son distributivos'
(d) Los o*'"áot"t NOR y NAND l si Ia ma-
digital c'uyasalida es
2-20' Una compuerta mayorista:t:l :i"tito 0' Por medio de
de las entradas son l. De ¡uriáa,será
voría "i;i;;;"i"
¿ ' d e . B o o l elal l función'
u n a t a b l a d e v e r d a d . E n c u e n3t r e , j ' " ñ " . i Simplifique evadaacabocon
de
una compue'ta mayotitaria "tit"átt' lis-
OR-exc!il:" O" 3 entradas z'
!srifique- la-tabla d" yq'd'".dde,l^a,comPlerta de r' 1'y
2-21' Ia lil;"d" las ocho combinaciones
tada en Ia rigura 2-8(c)' Eaga. z - - x @ Y @ z '
E v a l ú ee : r " é i Y luegoF:A O
enpastillas-
¿¿LEl sSIdeTTL vienemavormente
2'22. t^ti:XliltÍ";iXffiilil ;
deeste
Hill'"T
l¿nji*:f,*í,US;:.i;' ;::*Sl¡jl'."i'il;;;st-iila
tt-tigoit"t" tipo de compuertas?
si t";;i;;;
estilo
de 2 entradas'
(a) Compuertas OR-exclusivas
(b) ComPuertasAND de 3 entradas'
{
74 ALGEERA
DE EOOLEY COMPUERTAS
LOGICAS
cAP. 2
(c) Compuertas
NAND de 4 entradas.
(d) Compuertas
NOR d" 5;;;d;,
(e) Compuertas
NAND ,";;;;".
2-23. Demuestreque
I
nná corrpüerta AND de
d" ló;i;;';.üc lógica positiva es
una compuerta oR
224u";"i;-,,,""#'üiirJiliJllli;
cornpue
$j"i,lx..":ñffi:.ñtHtilitt",",""..#fri1
puertas separada
Simplificación de
funciones de Boole

:ffi
3-1 E L M E T O D OD E L M A P A

La complejidad de las compuertas lógicas digitales con que se llevan a ca-


bo las f.,.t.iott"t de Boole se relacionan directamente con la complejidad
de la expresión algebraica de la cual se desprende la función. Aunque la
,epre.enfación de la tabla de verdad de una función única, puede apare-
.ui du muchas formas diferentes. Las funciones de Boole pueden ser sim-
plificadas por medios algebraicos de la manera vista en la Sección 2-4'
Sin embargo el procedimiento de minimización es un tanto raro ya que
carece de ieglas específicas para predecir cada paso sucesivo en el proce-
so de manipulación. El método del mapa presenta un procedimiento simple
y directo para minimizar las funciones de Boole. Este método puede ser
iratado no solamente en la forma pictórica de una tabla de verdad, sino
como una extensión del diagrama de Venn. El método del mapa, propues-
(2), se
to primero por Veitch (1) y modificado ligeramente por Karnaugh
comó el "diagrama de Veitch" o el "mapa de Karnaugh"'
"orro""
El mapa es un diagrama, hecho de cuadros. cada cuadro representa
un término mínimo. como cualquier función de Boole puede ser expresada
como una suma de términos mínimos, se desprende que dicha función, se
reconoce gráficamente en el mapa a partir del área encerrada por aque-
llos cuadros cuyos términos mínimos se incluyen en la función. De hecho,
que
el mapa presenta un diagrama visual de todas las formas posibles en
puede .ui una función en la forma normalizada. Al reconocer
"*pt..uda
varios patrones, el usuario puede derivar expresiones algebraicas alter-
,ru. puü la misma función de las cuales se puede escoger la más simple.
Se aiume que la expresión algebraica más simple es cualquiera en una
suma de prtductos o producto de sumas que tiene el mínimo número de
Iiterales. (Esta expresión no es necesariamente única.)

3-2 M A P A S D E D O S Y T R E SV A R I A B L E S

un mapa de dos variablesse muestraen la Figura 3-1. on Jt hay.cuatro


términós mínimos para dos variables, es decir que el mapa consiste en
75
,-r Mapa
de*. ,ll]"0*.
",*,1"'
cuatro cuadrados, uno para cada término mínimo. El mapa que se dibuja
de nuevo en (b) sirve para demostrar la relación entre los cuadrados y
las dos variables. Los ceros y unos marcados para cada fila y columna
designan los valores r y y respectivamente. Nótese que la r aparece til-
dada en la fila 0 y no tildada en la fila 1. De manera similar,-l,aparece
tildada en la columna 0 y no tildada en la columna 1.
Si se marcan los cuadrados cuyos términos mínimos pertenecen a una
función dada, el mapa de dos variables se convierte en otro método útil
para representar una cualquiera de las 16 funciones de Boole de dos va-
riables. como ejemplo, la función Íy se muestra en la Figura B-2(a). como
ry es igual & zl3, S€ coloca un 1 dentro del cuadrado que pertenece a ÍLz.
De manera similar, la función rf y se representa en el mapa de la Figura
3-2(b) por medio de tres cuadrados marcados con unos. Estos cuadrados
se escogen de los términos minimos de la función:

x * y : x'y t xy' * xy : m, I mr* m,


Los tres cuadrados pudieron haberse determinado de la intersección de
la variable ¡ en Ia segunda fila y la variable y en Ia segunda columna, lo
cual cubre el área perteneciente a r o y.

(a) .ry (b) ¡ * y

Figura 3-2 Representaciónde las funciones en un mapa

En la Figura 3-3 se ilustra un mapa de tres variables. Hay ocho tér-


minos mínimos para las tres va¡iables.EI mapa por tanto consisteen ocho
cuadrados.Nótese que los términos mínimos se arreglan, no en secuencia
binaria sino en una secuenciasimilar al códigoreflejaáolistado en la Tabla
l-4. La característicade esta secuenciaes que solamente un bit cambia
de 1 a 0 o de 0 a 1, en la secuenciadel listado. El mapa dibujadoen la parte
(b) se marca con los números de cada fila o cada iolumná para mostrar
la relación entre los cuadradosde las tres va¡iables. por ejemplo, el cua-
drado asignadoa m, correspondea la fila 1 y columna 01. óuando se con-
76
m m m m
i 0 I 3 2

ma m-
) m1 m o.

L=-Y-

(a) /hr

Figura 3-3 Mapa de tres variables

catenan estos dos números darán el número binario 101, cuyo equivalente
decimai es 5. Qtra manera de mirar el cuadrado ñs: x!,2 es considerar
que está en la fila marcada r y en la columna que petieneceay'z (columna
01). Nótese_que hay cuatro cuadrados donde cada variable ei igual a 1 y
cuatro donde cada una es igual a 0. La variable aparece ,,o tildud"
aquellos cuatro cuadrados donde sea igual a 1 y tiláada en aquellos que "n
sea igual a 0. Por conveniencia, se escribe la variable usando un símbólo
de letra que abarca aquellos cuatro cuadrados donde la primera no esté
tildada.
Para entender la utilidad del mapa en la simplificación de funciones
de Boole, se debe reconocer la propiedad básica que tienen los cuadrados
adyacentes. cualquier par de cuadrados adyacenles en el mapa difieren
por una va¡iable tildada en un cuadrado y no tildada en el otro. por ejem-
plo, m, y m, están en dós cuadrados adyacentes. La variable y
está til-
dada en m5 y no tildada en m7, mientras que las otras dos uaiiable, ,o.,
iguales en ambos cuadrados. A partir de los postulados del álgebra de Boole,
se desprende que la suma de los términos mínimos en cuadiados adyacen-
tes pueden ser simplificados a un simple término AND consistente
en dos
literales. Para aclarar lo anterior, considérese la suma de dos cuadraáás
adyacentes tales como m5 y m7 i
m s - l m ¡ : x J ' ' z+ x y z - x z ( y ' * y ) : xz

Aquí los dos cuadrados difieren en la variable y, que puede ser removida
cuando se forme la suma de los términos mínimos. Así, a cualquier par de
té¡minos mínimos en cuadrados adyacentes a los cuales se le aplica la fun-
ción oR se les causará la remoción de la variable diferente. El siguiente
ejemplo explica el procedimiento para minimizar una función de Boóle con
un mapa.

EJEMPLO 3-I.. Simplificar la función de Boole:


F: x,yz * x,yz, * ry,z, * ry,2
Primero, se marca un 1 en cada cuadrado cuando sea necesario
para representarla función de la manera mostrada en la Figura
3-4' Esto puede lograrsede dos maneras:convirtiendo cada térmi-
no a un número binario para luego marcar 1 en el cuadrado corres-

77
)'
lr- 'A-
t--
0 1 -_Ll
t,
rl¡ tr r'l
t
+

3-1;r'-r'z
Figura 3-4 MapadelEjemplo + xJ-'2:r''\'+ 'x'\''
+ r'l'z'+ xJ-'z'

pondiente u obteniendo Ia coincidencia de las variables en cada


iérmino. Por ejemplo, el término x'7,2tiene su correspondiente
número binario 011 y representael término mínimo m3 en el cua-
drado 011. La segunda forma de reconocer el cuadrado es por
coincidenciade las variables x" y y z, las cualesse encuentranen
el mapa observandoque f' pertenecea los cuatro cuadradosde la
primera fila, y pertenecea los cuatro cuadradosde las dos colum-
nas de la derlcña y z pertenecea los cuatro cuadradosde las dos
columnas del medio. El área que pertenecea los tres literales es
el cuadradode la primera fila y la tercera columna. De igual ma-
nera, los otros tres cuadradosque pertenecena la función F se
marcan con un 1 en el mapa. Se representaasí la función en el
área que Contiene cuatro cuadrados, cada uno marcado con un
1, de la manera mostrada en la Figura 3-4. El siguiente paso es
subdividir el área dada en cuadradosadyacentes.Estos se indi-
can en el mapa por medio de dos rectángulos,cada uno contenien-
do dos ,rno.. Ei rectángulo superior derecho representael área
encerradawr x'y; el inferior izquierdo el área encerradapor fy'.
La suma de estos dos términos dará Ia respuesta:
F: x'y * xy'

Seguidamenteconsidéreselos dos cuadradosmarcados mo y m2 en


la Figura 3-3(a)o x'y'z'y x'yz' en la Figura 3-3(b).Estosdostérminosmíni-
mos lambién difieren un ,r.tu variable y y su suma puede ser simplificada
a una expresiónde dos literales:
x'y'z'+x'yz':x'z'

En consecuencia,se puede modificar la definición de los cuadradosadya-


para inclúir este y otros casossrmilares. Esto se logra consideran-
y
do el mapa como un dibújo en una superficiedonde los bordesizquierdo
""ntur
derechoJe tocan entre sí para formar cuadrados adyacentes'

EJEMPLO 3-2; Simplificar la función de Boole:


F: x'yz i xy'z'* ryz * ryz'

El mapa de esta función se muestra en Ia Figura 3-5. Hay cuatro


marcados con 1, para cada uno de los términos míni-
",rad.ado.
78
sEc. 3-2 M A P A S D E D O S Y T R E SV A R I A B L E S

mos de la función. Dos cuadrados adyacentes se combinan en la


tercera columna para dar un término de dos literales yz. Los dos
cuadrados restantes con 1, son adyacentes por la nueva defini-
ción y se muestran en dos cuadrados que cuando se combinan
darán un término de dos literales xz'. La función simplificada será:
I
I
f: yz * xz,

va y
tl
0 0
i

0 ¡
t , -it
x) | I l_1_.1l r
t
+J

Figura 3-5 Mapadel Ejemplo3-2; x'12+ ¡.r''z'+ xJ'z+ r.t'l,: \.2+ xz,

Considérese ahora cualquier combinación de cuatro cuadrados adya-


centes en el mapa de tres variables. Una combinación como ésta representa
la aplicación de la función OR de cuatro términos mínimos adyacentes y que
resulta en una expresión de un literal solamente. Por ejemplo, Ia suma de
cuatro términos mínimos adyacentes trl6, trL2, lrlq y ffia, se reduce al
solo literal z' como se muestra a continuación:

x'y'z'* x'yz'* xy'z'* x!z': x'z'(y'+y) + xz'(y'* y)


: x'z' + xz' : z'(x' * xl: z'

EJEMPLO 3-3.. Simplificar la función de Boole:

F: A'C + A'B + AB'C + BC


EI mapa para simplificar esta función se muestra en la Figura 3-6.
Algunos de los términos de la función tienen menos de tres lite-
rales y son representadosen el mapa por más de un cuadrado.
Así, para encontrar los cuadrados correspondientesa A'C se
forma la coincidenciade A' (primera fila) y C (dos columnas del
i medio) y se obtienen los cuadrados001 y 011. Nótese que al en-

I marcar los unos con cuadrados es posible encontrar un uno ya

II A

I
All
t
C

Figura 3 - 6 Mapa del Ejemplo 3-3 A'C + A'B + AB'C + BC : C + A,B


80 DE BOOLE
S I M P L I F I C A C I ODNE F U N C I O N E S CAP. 3

colocado en el término anterior. En este ejemplo, el segundo tér-


mino A'B tiene unos en los cuadrados011 y 010, pero el cuadrado
011 es común al primer término A' C y solamentecontieneun uno.
La función de este ejemplotiene cinco términos mínimos, como se
indica por los cinco cuadradosmarcadoscon un 1. Se simplifica
combinandocuatro cuadradosdel centro para dar el literal C. El
cuadrado restante marcado con 1 en 010 se combina con un cua-
drado adyacenteque ya ha sido usado una vez. Esto es permisi-
ble y aun deseableya que la combinación de los dos cuadradosda
el término A'B mientras que el término mínimo sencillo represen-
tado por el cuadradoda el término A'BC'de 3 variables.La función
simplificada es:
F:C+A,B

EJEMPLO 3-4: Simplifiquese la función de Boole:


F(r, y, z) : )(0, 2,4,5,6)
Aquí se han dado los términos mínimos por medio de números
decimales. Los cuadrados correspondientes se marcan con unos
de la manera mostrada en la Figura 3-7. Del mapa se obtiene la
función simplificada:
F:z'*ry'
v 7 J

0 I
(
' 1 ' , --t-'-T
lr

t
I Lr
Figura 3-7 l(x, y, z) : X0, 2,4,5,6) : z' * U'

3-3 M A P A D E C U A T R O V A R I A B L E S\ .

El mapa para las funciones de Boole de cuatro variables binarias se mues-


tra en Ia Figrrra 3-8. En (a) se listan los 16 términos mínimos y los cua-
drados asignadosa cada uno. En (b) se redibuja el mapa para demostrar
la relación con las cuatro variables. Las columnas y las filas se enumeran
en la secuencia del código reflejado con un dígito que cambia de valor en-
tre dos columnas o filas adyacentes. El término mínimo correspondiente
a cada cuadrado puede obtenerse por la concatenación del número de la
fila con el número de la columna. Así, los números en la tercera fila (11) y
la segunda columna (01) una vez concatenados, dan el número binario
1101,equivalentebinario al decimal 13. Por tanto, el cuadradoen la terce-
ra fila y la segunda columna representa el término mínimo m 13.
;
t
)
I 0l ll l0
t

t,
ml m"
-t
^z w'x'y':,' w'x'y'z v)'x' y: w ' x ' \

I
m5 m1 m- 0 1 tt'xy' a w'xy'i \9'.xya w'.ryz'

"t
ma
o

m m ^14
II I wxy'a' w-r)'rl w.ry: rrxyl
12 l3 15

m8 mg mrl n' lo I t ' y ' : wx't'z wf'yz v'.r'yi'

(a) ( b.)

Figura 3-8 Mapade cuatrovariables


La minimización, por medio del mapa, de una función de Boole de cua-
tro variables,es similar al método usado para minimizar funcionesde tres
variables. Los cuadrados adyacentes se definen como cuadrados cercanos
entre sí. Además,se considerael mapa que yace en una superficiecon los
bordes superior e inferior y los bordes izquierdo y derecho tocándoseentre
sí para formar cuadradosadyacentes.Por ejemplo, fro y m, forman cua-
drados adyacentesde la misma forma que m3 y mt. La combinación de
cuadradosadyacentes,útil durante el procesode simplificación, se deter-
mina fácilmente por inspeccióndel mapa de cuatro variables:

Un cuadrado representaun término mínimo, dando un término de


cuatro literales.
Dos cuadrados adyacentesrepresentanun término de tres literales.
Cuatro cuadrados adyacentes representan un término de dos lite-
rales.
Ocho cuadradosadyacentesrepresentanun término de un literal.
Dieciséis cuadradosadyacentesrepresentanla función igual a 1.

Ninguna otra combinación de cuadrados pueden simplificar la función.


Los siguientes ejemplos muestran el procedimiento usado para simplifi-
car las funciones de Boole de cuatro variables.

EJEMPLO 3-5; Simplifiquese la función de Boole:

F(w, x, !, z\ : >(0, l, 2, 4, 5, 6,8,9, 12,13,14)

Como la función tiene cuatro variables,se debe usar un mapa de


cuatro variables. Los términos mínimos listados en la suma se
marcan con unos en el mapa de la Figura 3-9. Ocho cuadrados
adyacentes marcados con unos pueden combinarse para formar
un término literal y'. Los restantes tres unos a la derecha no pue-
den combinarseentre sí para dar un término simplificado. Deben
combinarse como dos o cuatro cuadrados advacentes. Entre ma-
81

ü
FS=--

r I
I
0l
1t tr
t_.1 L'
I I

Figura 3-9 Mapa del Ejemplo 3-5; F (u, x, z):


>(0, 1, 2, 4, 5, 6, 8, 9, t2, t3, 14): y' + w'z' * xz'

yor sea el número de cuadrados combinados, menor será el número


de literales en el término. En este ejemplo,los dos unos superiores
a la derechase combinan con los dos unos superioresa la izquier-
da para dar el término u'z'. Nóteseque es permisibleusar el mismo
cuadrado más de una vez. Queda entoncesun cuadrado marcado
con 1en la tercerafila y cuarta columna (cuadrado1110).En vez
de tomar este cuadrado solo (lo cual dará un término de cuatro
Iiterales) se combina con cuadradosya usados para formar una
área de cuatro cuadrados. Estos cuadrados comprenden las dos
filas del medio y las dos columnas de los extremos para dar el
término xz'. La función simplificadaes:
F : l , * w , z ,* x z ,
EJEMPLO 3-6: Simplificar la función de Boole:

F: A'B'C' + B'CD' + A'BCD'+ AB'C'


El área, en el mapa, cubierta por esta función consisteen los cua-
drados marcados con unos en la Figura 3-10. Esta función tiene
cuatro variables y como se ha expresadoconsiste en tres térmi-
nos' cada uno con tres literales y un término de cuatro literales.
Cada término de tres literales se representaen el mapa por dos
cuadrados.Por ejemplo, A'B' C' se representapor los cuadrados
0000 y 0001. La función puede simplificarse en el mapa tomando
los unos de las cuatro esquinaspara formar el término 8,D,. Esto
es posible porque estos cuatro cuadradosson adyacentescuando
el mapa se dibuja en una superficie con los bordes superior e in-
ferior, izquierdo y derecho tocándoseentre sí. Los dos unos de
mano izquierda en la fila superior se combinan con los dos unos
en la fila inferior para dar el término B'C' . EI 1 restante puede
combinarse en una área de dos cuadrados para dar el término
A' C'D' . La función simplificadaes:

82
l"
r
D

Figura 3-lO M a p a d e l E j e m p l o3 - 6 ; A ' B ' C ' + B , C D ' + A , B C D , + A B , C , fi


: B'D, + B,C,+ A,CD, rj
I
3-4 M A P A S D E C I N C O Y S E I S V A R I A B L ES ' /
f
Los mapas de más de cuatro variables no son simples de usar. El número
de cuadrados se hace muy grande y la geometría de combinar cuadrados
I
adyacentes se complica. El número de cuadrados es siempre igual al nú-
rnero de términos mínimos. Para mapas de cinco variables se necesitan
32 cuadrados y para seis variables se necesitan 64 cuadrados. Mapas de
siete variables en adelante necesitan muchos cuadrados y son muy im-
prácticos de usar. En las Figuras 3-11 y 3-12 se muestran los mapas para
cinco y seis variables respectivamente. Las columnas y filas se numeran
de la misma forma que la secuencia del código reflejado. El término mínimo
asignado a cada cuadrado se lee de esos números. De esta manera el cua-
drado en la tercera fila (11) y la segunda columna (001) en el mapa para
c i n c o v a r i a b l e s s e n u m e r a 1 1 0 0 1y e s e q u i v a l e n t e a l d e c i m a l 2 5 . P o r t a n t o ,
este cuadrado representa el término mínimo m2r. El símbolo de letra de
cada variable se marca abarcando aquellos cuadrados donde el valor del
bit correspondiente al número del código reflejado es 1. Por ejemplo, en

B
CDE

0 I 3) 2 6
ll
'7
) 4
I
il'fi
;.:l
ü
8 9 ll l0 t4 l5 l-t t2 .u

^T
:' il
{
ll 24 25 27 26 30 3l 29 28 q
¡.
t l0 l6 t7 l9 t8 22 23 2l 20 1?
I
E
F
ü
D tI

¡
I
Figura 3-11 Mapa de cinco variables ¡
83

I
fr
I
frr

DEF
A B C 000 00r 0l I 010 110 lti 1 0 1 100
,7
000 0 3 2 6 5 4
I
001 8 9 u t0 l4 l5 l3 l2
\C

0lt a1
l5 27 26 30 JI 29 i6

010 l6 17 t9 18 22 l.t 2l 20

ll0 48 49 5l 50 54 )f 53 52

lll )t) 57 59 58 o¿ 63 61 60
'c
r 0 1 40 4l 43 /1
46 Á1
45 44

100 1Z )-) 35 34 38 39 37 -to

FF
Figura 3-12 Mapa de seis variables

el mapa de cinco variables, la variable A es un 1 en las últimas dos filas


y B es un 1 en las dos filas del medio. Los números reflejados en las colum-
nas muestran la variable C con un 1 en las cuatro columnas de la extrema
derecha, la variable D con un 1 en las cuatro columnas del medio y los unos
para la variable E, no adyacentes físicamente,,se dividen en dos partes. La
asigrración de las variables en un mapa de seis variables se determina de
manera similar.
La definición de los cuadrados adyacentes para los mapas de las Fi-
guras 3-11 y 3-12 deben modificarse de nuevo para tener en consideración
el hecho de que algunas variables están divididas en dos partes. Debe
pensarse que el mapa de cinco variables consiste en dos mapas de cuatro
variables y el mapa de seis variables consiste en cuatro mapas de cuatro
variables. Cada uno de estos mapas de cuatro variables se reconocen por
las líneas dobles en el centr¿ riel mapa; cada uno de ellos conserva la cer-
canía definida cuando se toma individualmente. Además, la línea doble
del centro debe ser considerada como el centro de un libro con cada mitad
del mapa como una página. Cuando se cierra el libro, los dos cuadrados
adyacentes coinciden uno sobre el otro. En otras palabras, Ia línea doble
del centro actúa como un espejo ya que cada cuadrado es adyacente, no
solamente con sus cuatro cuadrados vecinos, sino con su imagen de es-
pejo. Por ejemplo, el término mínimo 31 en el mapa de 5 variables es ad-
yacente a los términos mínimos 30, 15, 29,23 y 27. El mismo término mínimo
en el mapa de seis variables es adyacente a todos esos términos mínimos
más el término mínimo 63.
84
1
Tabla 3-l La relación entre el número de cuadrados adyacentesy el número
p
iF
de literales en el término IF
li

Número
de
cuadrados Número de literales de un término en un
adyacentes mapa de n variables

2k n-2 n:3 n:4 n:5 n=6 n:7


0 I 1
4 5 6 7
I 2 I 2 3 4 5 ó
2 4 0 I 2 3 4 5
5 8 0 I 2 4
4 l6 0 I 2 J
5 32 0 I 2
6 g
0 I

- Por inspeccióny teniendo en cuenta la nueva definición de cuadrados


adyac€ntes, es posible mostrar que cualquier 2h cuadrados adyacentes
p a r a f t : O , 1 , 2 , . . . , n , e n u n m a p a d e n v a r i a b l e s r, e p r e s e n t aunn a á r e a
para un término de n-& literales. para que la afirmaóión anterior
tenga
algun significado,n debe ser mayor que fr. cuando n:h el área total d"el
mapa se combina para dar una función de identidad. La Tabla B-1 muestra
la relación entre el número de cuadradosadyacentesy el número de lite-
rales en el término. Por ejemplo, ocho cuadradosadyácentesse combinan
en-una área del mapa de cinco variables para dar un término de dos lite-
rales.

EJEMPLO 3-Z: Simplificar la función de Boole:

F ( A ,B , C ,D , E ) : > ( 0 ,2 , 4 , 6 , 9 ,l l , 1 3 ,1 5 , 1 7 , 2 1 , 2 5 , 2 7 , 2 9 , 3 1 )

- El mapa de cinco variables de esta función, se muestra en


la Figura 3-13. cada término mínimo se convierte a un número
binario equivalente y los unos se marcan en sus cuaclradosco-
rrespondientes.Es necesario ahora encontrar combinacionesde
cuadrados adyacentes que resulten en la mayor área posible.
Los cuatro cuad¡ados en el centro del mapa de la mitad áerecha
se reflejan a través de la línea doble y se combinan con los cuatro
cuadradosen el centro del mapa de la mitad izquierda, para dar
-término
ocho cuadrados adyacentes permisibles equivalentes al
BE. Los dos unos en la fila inferior son el ieflejo entre sí con res-
pecto a la línea del centro. combinándolos con los otros dos cua-
d¡ados adyacentes,se obtiene el término AD,E. Los cuatro unos
e-n la fila superior son todos adyacentes y pueden ser combina-
dos para dar el término A'B'E'. La función simplificada es:

F: BE + AD,E + A,B,E,

85
\-D
E

Figura 3-13 Mapadel EjemploB-7;F(A,B, C, D, E) :


> ( 0 , 2 , 4ó, , 9 ,l l , 1 3 ,1 5 ,1 7 , 2 t , 2 5 , 2 t , 2 9 , 3 t )
= B E + A D , E+ A , B , E ,

3-5 S I M P L I F I C A C I ODNE U N P R O D U C T O
DE SUMAS
Las funciones de Boore minimizadas, derivadasdel
mapa en los ejemplos
anteriores fueron expresadasen la forma de suma a" pio¿u"tos.
pequeñamodificación se puede obtene¡ el producto con una
¿e'*rnu..
El procedimiento para obtener una función minimizada
en producto
* :"q"r se desprende-de las propiedades básicas de las funciones
Boole. Los unos colocadosen los cuadradosdel ;ó";pise'ta' de
ros tér-
minos mínimos de la función. Los términos mínimos
no incruidos en Ia
función denotan el comprementode una funció.
t ;; i"p."."ntr' en un
mapa por cuadrados no marcados por unos. si au
-"ra"., los cuadrados
vacíos con ceros y se combi.,utr .n cuadruáo, aátr;;;;r""álidos,
se ob-
tiene una expresión simplificada del complementóde la
función es decir
de F'.
.El complementode F' dará de nuevo la función F. Debidoal teorema
generalizadode De Morgan el producto así
obtenido qr"á, automática-
mente en la fornra de producto de sumas. La mejor -"rr"ru-á"
mostrar esto
es mediante un ejemplo.
EJEMPI,-O B-8; Simplificar la siguiente función de Boole
en (a) suma de productosy (b) productó de sumas.

F(A, B, C, D) : >(0, l. 2, 5, g, 9, l0)

Los unos marcados.enel mapa de la Figura B_14represenran


*Los to_
dos los términos mínimos de la función. cuadiadosmarcados
con ceros representanlos términos mínimos no incluidos
en F y
por tanto denotan el complementode F. combinando
los cuadra_
dos con unos se obtendrá una funció" .i,optin."áu r.r suma
de
productos:

(a) F: B'D' + B,C, + A,C,D


B6
E
'
I
f
F
CD
/B - !9-- e.l
-lr C
to- $
00
t-,-] t
0 ;l 0
F
lI :¡j

il

I.
in
I'
^\
r--+
l0l
._ 0 OI IE

i] I 3.1
D
I
Figura 3-14 M a p a d e l E j e m p l o3 ' 8 ; F ( A ' B ' C , D \ :
>(0, l, 2, 5, 8, 9, l0) : B' D' + B'C' + A'C' D
: (A' + B'XIC'+ D')<B'+ D)

si se combinan los cuadradosmarcadoscon ceros,como se mues-


tra err el diagrama, se obtiene la siguiente función simplificada
de complemento:
F,: AB + CD + BD,
Aplicando el teorema de De Morgan (sacándoleel dual y comple-
mentando cada literal de la manera descrita en la Sección 2-4),
se obtiene una función simplificada en producto de sumas:
(b) r:(A'+ B')(C'+ D')(B'+ D)

La ejecuciónde las expresionessimplificadas obtenidasen el Ejemplo


3-8 se muestran en la Figura 3-15. La expresiónde la suma de productos
se ejecuta en (a) con un grupo de compuertas AND una para cada término
ANb. Las salidas de IaJ compuertasAND se conectan a las entradas de
una compuertaoR. La misma función se ejecutaen (b) en la forma de pro-
ducto de sumascon un grupode compuertasOR, una para cadatérmino OR'
Las salidas de las compuertasOR se conectana la$ entradas de una com-
puerta AND sencilla. En cada caso se asume que las variables de entrada
il"gutt en forma de complementode tal manera que no se necesitaninverso-
tu"l El patrón de configuración establecido en la Figura 3-15 es la forma ge-
neral por medio de la cual se ejecuta cualquier función de Boole.Una vez
en una de las formas normalizadas las compuertas AND se co-
"*p.".áda
nectan a una compuertaOR en el casode suma de productos;las compuer-
tas OR se conectana una sola compuertaAND en el caso de producto de
sumas. Cualquiera de las dos configuracionesforman dos niveles de com-
puertas. Así, la ejecuciónde una función en la forma normalizada se dice
que es una ejecuciónde dos niveles.
El Ejemplo 3-8 muestra el procedimientopara obtener la simplifica-
ción del producto de sumas cuando la función se expresa originalmente
en la suma de términos mínimos de la forma canónica. El procedimiento
es válido cuando la función se expresaoriginalmente en el producto de
87
-

B' A'
D' B'

,;,

(a) F - . . . 8 ' D-' B ' C ': A ' C ' D lhr F - tA' I B't t(" t l) ¡t.[] Dt

Figura 3-15 Ejecucióncon compuertasde la función del Ejemplo 3-8

Tabla 3-2 Tabla de verdad de la función F

términos máximos de Ia forma canónica. Cónsidéresepor ejemplo Ia tabla


de verdad que define la función F en la Tabla 3-2. En suma de términos
mínimos esta función se expresaasí:

F(*,y,z) : )(1, 3,4,6)


Como producto de términos máximos se expresaasí:
F(r,y, z): fI(0,2,5,7)
En otras palabras los unos de Ia función representanlos términos míni-
mos y los cerosrepresentanlos términos máximos. El mapa de esta función
se dibuja en la Figura 3-16. Se puede simplificar esta función marcando
y? I'

I
00 0l

0 0 I 0
f
11l 0 I
I
1

Figura 3-16 Mapa de la función de la Tabla 3-2

88
sEc. 3-6 EJECUCION
CON NAND Y NOR 89

primero los unos para cada término mínimo en que la función sea 1. Los
cuadradosrestantesse marcan como ceros. Si por otra parte se da inicial-
mente el producto de términos máximos se puedecomenzarmarcandoceros
en aquellos cuadradosque comprendeIa función; los cuadradosrestantes
se marcan con unos. Una vez que se hayan marcado los unos y los ceros,
la función puede ser simplificada en cualquiera de las dos formas norma-
lizadas. Para la suma de productosse combinan los unos para obtener:

F: x'z * xz'
Para el producto de sumas se combinan los ceros para obtener la función
simplificada del complemento:

F': xz * x'z'
lo cual muestraque la función oR-exclusiva es el complementode la función
de equivalencia(Sección2-6). Tomando el complementode F'se obtiene
la función simplificada en producto de sumas:
p : (x,.* z')(x + z)

Para colocar una función expresadaen producto de sumas en el mapa, se


saca el complementode la función y de ella se buscan los cuadradosque
se van a marcar con ceros.Por ejemplo,Ia función:

F: ( A ' + B , + C ) ( B+ O )
puede colocarseen el mapa obteniendoprimero su complemento:

F,: ABC,+ B,D,


para luego marcar con ceros los cuadradosque representanlos términos
mínimos de F'. Los cuadradosrestantesse marcan con unos.

3-6 E J E C U C I O NC O N N A N D Y N O R

Los circuitos digitales se construyen más frecuentementecon compuertas


NAND y NOR que con compuertasAND y OR. Las compuertasNAND y
NOR son más fáciles de fabricar con compuertaselectrónicasy son las com-
puertas básicasusadasen todas las familias de CI lógico digitales. Debido
a la importancia de las compuertasNAND y NoR en el diseñode circuitos
digitales se han desarrolladoreglasy procedimierrtospara la conversiónde
funcionesde Boole en términos de AND, OR y NOT a diagramaslógicos
equivalentesen NAND y NoR. El procedimientopara la ejecuciónen dos
niveles se presentaen esta sección.La ejecuciónen multiniveles se discu-
tirá en la Sección4-7.
Para facilitar ldionversión a lógica NAND v NOR es convenientedefi-
nir otros dos símbolosgráficospara estas compuertas.En la Figura 3-1?(a)
se muestran dos símbolosequivalentespara la compuertaNAND. El símbolo
AND inversor ha sido definido precisamentey consisteen un símbolo grá-
fico AND seguidode un pequeñocírculo. En vez de lo anterior es posible
F = (xt,z)'

AND-inversor lnversor-OR

\ a ) Dos símbolosgráficos para la compuerta \A\D

F=(-r*-l +z)' I = ¡ ' r ' : ' = ( . r* t , * z ) '

OR-inversor AND-inversor

(b) Dos símbolosgráficos para la compuerta NOR

J_{

Separador-inversor AND-inversor OR-inversor


', (c) Tres símbolosgráñcospara un inversor

figura 3-17 Símbolos gráficos para las compuertas NAND ¡ ). _ -.

representar una compuerta NAND por medio de un símbolo gra:-:.-., oR pre-


cedido de pequeños círculos en todas las entradas. El símboic, :r..-ersor-oR
para la compuerta NAND se deduce a partir del teorema de De \lorgan y
de la convención de que pequeños círculos denotan complemen!acron.
De manera similar, hay dos símbolos gráficos para 1a compuerta NoR
como se muestra en la Figura 3-17(b). El inversor OR es el símirr:,loconven-
cional. El inversor AND es una alternativa conveniente que urrliza el teo-
rema de De Morgan y la convención de pequeños círculos en Ias entradas
que denotan complementación.
Una compuerta NAND o NOR de una entrada se comporra como un
inversor. Como consecuencia una compuerta inversor puede cet-lnirse de
tres maneras diferentes como se muestra en la Figura 3-1?(cr. Los círculos
pequeños en todos Ios símbolos de inversor pueden trasferirse al terminal
de entrada sin cambiar la lógica de la compuerta.
se debe resaltar que los símbolos alternos para las compuertas NAND
y NoR deben dibujarse con pequeños triángulos en todas las terminales
de entrada en vez de los círculos. un pequeño triángulo es un indicador
de la polaridad de Ia lógica negativa (ver Sección 2-8 y Figura 2-11). Con
pequeños triángulos en los terminales de entrada, el símboio gráfico de-
nota una polaridad de lógica negativa para las entradas, pero ia salida de
la compuerta (un triángulo) debe tener una asignación de lógica positiva.
En este libro, se prefiere usar la lógica positiva y emplear pequeños círculos
cuando sea necesario con el fin de denotar complementación.

Ejecución con NAND

La ejecución de una función de Boole con compuertas NAND requieren que


la función sea simplificada en la forma de suma de productos. Para ver la
90
f

\q U Q l¡¡
T

'd

.oq

h!

\a uQ k¡

9l
r.s

92 S I M P L I F I c A c I o ND E L A S F U N c I o N E SD E B o o L E CAP. 3

relación entre una expresiónde suma de productosy su ejecuciónequiva-


lente en NAND, considérenselos diagramas de lógica áibu;ados ón la
Figura 3-18.Todos los tres diagramasson equivalentesy ejecutanla función:
F:AB+CD+E
La función se ejecuta en la Figura 3-18(a)en la forma de suma de produc-
tos con compuertas
-o_I v AND. En (b) las compuertasAND se remplazan
por compuertas NAND, y la compuerta oR se remplaza por la compuerta
NAND con un símboloinversor oR. La variableE por sí sola se complemen-
ta y se aplica a la compuertainversor oR del segundonivel. se deüetener
en cuenta que un pequeñocírculo denota complementación.Así, dos cí¡culos
en la misma línea representandoble complementacióny ambospuedenanu-
larse. El complemento de.E pasa por_unpóqueñocírculo ro cual cbmple-é"iu
la va¡iable de una vez más para producir ei valor normal de E.
euiianá; io;
círculos pequeñosen las compuertas de la Figura B-1g(b)se-p.oduce ei
circuito en (a). Así, los dos diagramas ejecutan la misma funóión y son
equivalentes.
En la Figura 3-18(c),la compuertaNAND de salida se puederedibujar
con su símbolo convencional. La compuerta NAND de una sola entrada
complementa la variable E. Es posible quitar este inversor y aplicar E,
directamente a la entrada de la compuerta NAND de segundonivel. El
diagrama en (c) es equivalenteal de (b) el cual es equivalentea su turno
al diagrama (a). Las compuertasAND y oR han sido cambiadasa compuer-
tas NAND con una sola variable E. cuando se dibujan los diagramásen
lógica NAND son aceptables(b) o (c). El diagramade la figura (ú, sin em-
bargo, representauna relación más directa u I" u*pre.ión d]eBoole'que eje-
cuta.
. La ejecución con.NANP,9n la Figura B-1g(c)puede verificarsealge-
braicamente.La función NAND que sJ ejecutap,r"d. ser convertida fácil-
mente a una forma de suma de productos mediante el uso del teorema de
De Morgan.
P:l(AB)' .(CD)' . 8,), : AB + CD + E
De la trasformaciónmostradaen la Figura B-1gse concluyeque la fun-
ción de Boole puede ejecutarse con dos niveles de compuertas ñAND. La
regla para obtener el diagrama de lógica NAND a partii de una función de
Boole es de la siguientemanera:
1. simplificar la función de Boole y expresarlaen suma de productos.
2. Dibujar una compuerta NAND por cada término del producto de la
función que tenga por lo menos dos literales. Las entradas a cada
compuerta NAND son los literales del término. Lo anterior consti-
tuye un grupo de compuertas de primer nivel.
3. Dibujar una compuertaNAND en el segundoniver, (usandoel sím-
bolo gráfico de inversor AND o inversor oR con las entradas que
provienen del primer nivel de compuertas.
4. un término con un solo literal requiereun inversor en el primer ni-
.- vel o ser complementado primero y aplicado como entráda a una
\ compuerta NAÑD del segundonivel.
sEc. 3-6 CON NAND Y NOR
EJECUCION 93

Antes de aplicarse estas reglas a un ejemplo específico,debe mencionarse


que hay una segunda forma de ejecutar una función de Bo<llecon compuer-
tas NAND. Recuérdeseque si se combinan los cerosen un mapa, se obtiene
la expresiónsimplificada del complementode la función en suma de pro-
ductos. El complementode la función puede ejecutarsecon dos niveles de
compuertas NAND usando las reglas establecidasanteriormente. Si se
desea una salida normal. debe ser necesariocolocar una NAND de una
entrada o compuerta inversor para generar el valor verdaderode Ia varia-
ble de salida. Hay ocasionescuando el diseñadorquiere generarel comple-
mento de la función para las cuales este método es más aconsejable.

EJEMPLO 3-9.' Ejecutar la siguiente función con compuer-


tas NAND:

F(t,y, z) : )(0, 6)

El primer paso es simplificar la función en la forma de suma de


productos.Esto se logra con el mapa mostradoen la Figrrra3-19(a).
Hay solamente dos unos en el mapa y no pueden combinarse.La
función simplificada para este ejemplo en suma de productos es:

F: x'y'z' * xyz'

La ejecucióncon NAND con dos niveles se muestra en la Figura


3-19(b). En seguidase trata de simplificar el complementode la
función en suma de productos. Esto se hace combinandolos ceros
en el mapa:
F':x'y+ry'*z

Las compuertasNAND con dos niveles, para generarF', se mues-


tran en la Figura 3-19(c). Si se requiere la salida F, es necesario
agregar una compuerta NAND de una sola entrada para inverti¡
la función. Esto dará una ejecuciónde tres niveles. Se asume que
las variables de entrada se pueden obtener en las formas norma-
les y de complemento.Si sólo se obtienen en una forma será nece-
sario colocar inversores en las entradas, lo cual agregaríaotro
nivel a los circuitos. La compuerta NAND de una sola entrada
asociadacon la sola variable z puede eleminarseen el caso de que
la entrada se cambiea e'.

Ejecución con NOR

La función NOR es el dual de la función NAND. Por esta raz6n, todos los
procedimientosy reglas para la lógica NOR son el dual de los correspondien-
tes procedimientosy reglasdesarrolladaspara la lógica NAND.
La ejecución de una función de Boole con compuertas NOR requiere
que la función se simplifique en la forma de producto de sumas. Una expre-
sión de producto de sumas especifica un grupo de compuertas OR para la
j'
t'z
Y00 0l lt i0
0 I 0 0 0 F = r' jJ z' * x!.2'
F-'= x'.v*,rr" # :
"{' 0 0 0
\_YJ

(a) Simplificación del mapa en suma


de productos.

.X

_f

( b ) F = - r ' . r , ' -*- ' . r r ' : '


{ c ) 1 . ' = ¡ ' . r '* x , l ' * :

Figura s-19 Ejecuciónde la función del Ejemplo 3-9 con compuertas


\o-y

suma de té¡minos, seguida de una compu_erta


AND para generar el produc-
to. La trasfo¡maciónder diagrama o[-'eNo
ar Noñ-ño'l re dibuja en la
Figura 3-20. Es similar a la irasforÁ""ió"
NAND discutida anteriormente
exceptoque ahora se usa la expresiónde suma
de productos:
F: (A + B)(C+ D)E
r-a-reglapara obtenerel diagrama lógico NoR
puede derivarsede esta trasformáción. de una función de Boole
EI .i-il;;;;l.ir" .dÁuNexD de tres
pasoscon la diferencia.de la expresiónsimplificada
.que
ducto de.sumas y los términos de la. .rru. en pro-
NoR de primer niver son
los términos de suma. un término "ornp.r"rtas
riteralilq"i!r" una NoR de
"ort.r.,'.olo
n
A
p A
B
B
C
C
F C
F
D
D

f:'
E

(a)
(h)
rcr
Figura 3-2O Tres manerasde ejecutarF: (A + B)(C + DrE
94
r'
CON NAND Y NOR
EJECUCION
s E c .3 - 6
€er complementaday aplicada
una sola entrada, o compuerta inve¡sora,o
nivel'
áii""t"to""te a la compu;rta NOR de segundo
una segund" ;":";; á; ejecutar la función con compuertas NOR po-
dría ser el usar f" para el complemento de la función "" li:91:l:
á" ."r""r. Esto dará
"ü.".1¿"
una ejeiución de dos niveles para F'- y una eJecucron
á" i*" el caso dó necesitarsela salida F normal'
"itJ". "n
P a r a o b t e n e r e l p r o d u c t o d e S u m a s s i m p l i f i c a d o a p a r t i r d eIa
unmapa'
y luego complementar fun-
es necesariocombinai los ceros en el mapa
sumas simplificadas para
ción. para obtener ia erpre.ión en producto de el mapa
;i';;;pl;;ento de la función, es necesariocombinar los unos en
demuestra el pro-
y luego complemen; I" funciór,. El siguiente ejemplo
cedimientopara una ejecucióncon NOR'

EJEMPL|S-10:EjecutarlafuncióndelEjemplo3-9con
compuertasNOR. Pri-
El *;;';; esta tunción se dibuja en la Figura 3-19(a).
para obtener:
mero, se ¿áU"n combinar los ceros en el mapa
F':x'yrry'12
de productos' Se
Este es el complementode la función en suma
la función simplificada en producto
complemenü i:i pur" obtener
desumasdelamaneranecesariaparalaejecuciónconNoR:

F: (x + y')(x' * y)z'
se muestra en
La ejecuciónde dos niveles con compue¡tas.NOR
El término con un solo literal z, requiere una com.
la Figrrra3-21(a).
inversora. Esta com-
prárt" Nón d"'""a sola entrada o compuerta
la entrada z a la
puerta puede quitarse Para¿plicar directamente
fntrada de la óompuert-aNOR de segundo nivgl'
partir de la fun-
u"" ."g";á;-?or-u de ejecució.,e. porible a primero
ción en práducto de surnas' Para este caso combínese
los unos en el mapa con el fin de obtener:
F: x'y'z'* xYz'

(¿)F+(x+1t¡1x'+y)z' (b)F'= (¡ + -r'+ z) (x' * r" + z)

Figura 3-21 Ejecución con compuertas NOR


t-

Tabla 3-3 Reglas para la ejecución con NAND v NOR

Número
de
Función a Forma normal Como Ejecutarse niveles
Caso simplificar de usar derivarla con de F

(a) F Sumade productos Combinelos unosen el mapa NAND 2


(b) F' Suma de productos Combinelos cerosen el mapa NAND J
(c) F Producto de sumas ComplementeF' en (b) 2
NOR
(d) F' Productode sumas ComplementeF en (a) NOR J

Esta es la expresiónsimplificada en suma de productos. Se com-


plementa esta función para obtener el complementode Ia función
en producto de sumas que es la forma requerida para la ejecución
con NOR:
F':(xty*z)(.x,*y *z)
La ejecución de los dos niveles para F' se muestra en la Figura
3 - 2 1 ( b ) . S i s e d e s e a l a s a l i d a F , e s t a puede ser generada con un
inversor en el tercer nivel.

La Tabla 3-3 resume los procedimientos para la ejecución con NAND


y NoR, no se debe olvidar simplificar la función corr el fin de reducir el
núme¡o de compuertas en la ejecución de funciones. Las formas normali-
zadas obtenidas de los procedimientos de simplificación p<)r mapas se
aplican directamente y son muy útiles cuando se está tiabaianáo con
lógica NAND o NOR.

3-7 O T R A S E J E C U C I O N E SC O N D O S N I V E L E S

Las clas-esde compuertas más encontradas a menudo en circuitos integra-


do_s-1o1 las NAND y NoR. Por esta razón,las ejecucionesde lógica Neño
y NoR son las más importantes desde er punto de vista práctióo. Algunas
compuetas NAND y NoR (pero no todas) permiten la posibilidad dé una
conexión entre las salidas de las dos compuertaspara próducir una función
lógica específica.Este tipo de lógica se lláma lógica dé cableado.por ejem-
plo, las compuertas NAND TTL de colector aÉierto, una vez conectadas
juntas producen la lógica AND de cableado.(La compuerta TTL
de colector
abierto se muestra en el Capítulo 18, Figura 1g-11).ia lógica AND cableada
ejecutada con dos compuertas NAND ie ilustra en la'Figura B-22(a).La
compuerta AND se dibuja con las líneas de entrada atraiesando la com-
puerta hasta el centro para distinguirla de una compuerta comercial. La
compuerta AND cableada no es una compuerta física sino solamente un
símbolo_paradesignar la función obtenida de la conexión cablead" qu" ."
indica. La función lógica ejecutadapor er circuito de la Figura B-22(a)es:
P: (AB)'.(CD)' : (AB + CD)'
96
r¿
¡
F=(AB+CD)' F=tG+B)(C+D)

it

!-
(a) AND-cableado en compuertas NAND (b) OR-cableado en compuertas ECL
TTL de colector abier¡o

(AND.ORINVERSOR) ( O R . A N DI N V E R S O R )
Figura 3-22 Lógica de cableado

y se llama una función AND-OR inversor (o invertida).


De manerasimilar la salida NoR de las compuertasECL puedenunirse
tcdas para conformaruna función cableadaoR. La función lógica ejecutada
por el circuito de la Figura 3-22(b)es:

r : ( A + B ) ,+ ( C + D ) ,: l ( A + B ) ( C+ D ) 1 ,

y se llama función (OR-AND) inversor (o invertida).


, una compuerta de lógica alambrada no produce una compuerta fisica
de segundonivel ya que se trata solamente de una conexión. sin embar-
go, para propósitos de discusión se consideran los circuitos de la Figura
3-22 como ejecucionesde dos niveles. El primer nivel consisteen compuer-
tas NAND (o NoR) y el segundonivel tiene una compuertasencilla ÁNn
(u oR). La conexión cableadadel símbolo gráfico se omitirá en las discu-
sionessubsiguientes.

Formas no degeneradas

Es instructivo desde el punto de vista teórico encontrar cuantas combi-


nacionesde compuertasde dos niveles son posibles. Se considerancuatro
tipos de compuertas:AND, OR, NAND y NOR. Si se asignaun tipo de com-
puertas para el primer nivel y uno para el segundose encuentra que exis-
ten 16 combinacionesposibles de formas de dos niveles. (El mismó tipo de
compuerta puede estar en el primer y segundo niveles como en utta é¡ec.r-
ción con NAND-NAND). ocho de estas funcionesse les llama formas de-
generadas.Esto puede verse de un circuito con compuertas y en el primer
nivel y una compuertaY en el segundonivel. La salida del circuito ei sim-
plemente la función Y de todas las variables de entrada. Las otras ocho
formas no degeneradosproducen formas de ejecución en suma de produc-
tos o producto de sumas. Las ocho formas no degeneradasson:

AND-OR OR-AND
NAND-NAND NOR-NOR
NOR.OR NAND-AND
OR-AND AND.OR
97
98 S I M P L I F I C A C I OD
NE L A S F U N C I O N E S
DE BOOLE CAP. 3

La primera compuerta de cada una de las formas listadas constituye el


primer nivel de la ejecución.La segundacgmpuertade la lista es una sola
compuerta colocadaen el segundonivel. Nótese que cualquier par de for-
mas de la lista son duales entre sí.
Las formas AND-OR y OR-AND son las dos formas básicasde dos ni-
velesdiscutidasen la Sección3-5. Las NAND-NAND y NOR-NOR se in-
trodujeron en la Sección3-6. Las cuatro formas restantesse investigan en
esta sección.

E j e c u c i ó nc o n A N D - O R i n v e r t i d a

La dos formas NAND-AND y AND-NOR son formasequivalentesy pueden


ser tratadas conjuntamente.Ambas realizan la función AND-OR invertida
de la manera mostrada en la Figura 3-23.La forma AND-NOR se parecea
¡.'t\sr la forma AND-OR con una inversión hecha fror un pequeñocírculo a la sa-
lida de la compuertaNOR. Esta ejbcuta la función:

F: (AB + CD + E)'

Usando el símbolo gráfico alterno para la compuerta NOR se obtiene el


diagrama de la Figura 3-23(b).Nótese 1ue la sola variable E no es comple-
mentada porque el único cambio hecho ps el símbolo gráfico de la compuerta
NOR. Se trasladan los círculos del terminal de entrada de las compuertas
de segrrndonivel a los terminales de salida de las compuertas del primer
nivel. Se necesitasolamenteun inversorpara que la sola variable mantenga
el círculo. Otra alternativa es quitar el inversorsiemprey cuandola entrada
E esté complementada.El circuito de Ia Figura 3-23(c)es una forma NAND-
AND, se muestraen la FiguraS-22con el fin de ejecutarla función AND-OR
invertida.
Una ejecucióncon AND-OR requiereuna expresiónen suma de produc-
tos. La ejecucióncon AND-OR invertida es similar exceptopor la inversión
(negado).Por tanto, si el complementode una función se simplifica en suma
de productos (combinandolos cerosen el mapa), es posibleejecutarF' con
la parte AND-OR de la función. Cuando F' pasepor la inversión de salida
siemprepresente,se generarála salida F de la función. Un ejemplo de una
ejecucióncon AND-OR invertida se mostrará más adelante.

E j e c u c i ó nc o n O R - A N D i n v e r t i d a

Las formas OR-NAND y NOR-OR realizan la función OR-AND invertida


como se muestra en la Figura 3-24.La forma OR-NAND se parecea la for-
ma OR-AND exceptopor la inversión hecha por el círculo en la compuerta
NAND. Ella ejecutala función:

F : l ( A + B ) ( C+ D ) E ) ' ,

Mediante el uso de un símbolográficoalterno para la compuertaNAND


se obtiene el diagrama de la Figura 3-24(b).El circuito en (c) se obtiene
moviendo los círculos pequeños de las entradas de la compuerta de se-
z
z
z
I

Q
-1-

IA
v\

é:kffi
l\

z.=
zY
^z
--

u0

z
z
(!

¡
ll

,:
v \
;l
r
;!
t{ l1

f
IJ
99

I I
+

z:-
ia
+
U

+
-
E

49
z
xz

$
N

¡r

D'

z?
z

too
sEc.3-7 O T R A SE J E C U C I O N ECSO N D O S N I V E L E S I O I

gundo nivel a las salidas de las compuertas de primer nivel. El circuito de


[a Figura B-24(c)en una forma NOR-OR se muestra en la Figura 3-22 para
ejecutar la función OR-AND invertida.
La ejecución OR-AND invertida requiere una expresión en producto de
sumas. Si el complemento de la función se simplifica en producto de sumas
se puedeejecutarF' con la parte OR-AND de la función. Una vez que F' oase
poi ta parte de inversión se obtieneel complementode F'osea F ala salida.

Tabla sumarioY ejemPlo

La Tabla 3-4 resume los procedimientospara la ejecuciónde funcionesde


Boole en cualquiera de las cuatro formas de dos niveles' Debido a la parte
de INVERSION, en cada caso es convenienteusar Ia simplificación F' (el
complemento)de la función. Cuando se ejecuta F' en una de estas formas
." oLti"tr" el complementode la función en la forma AND-OR u OR-AND.
Las cuat¡o formas de dos niveles invierten esta función dando una salida
que es el complementode F'. Esta última es la salida normal F.
Tabla 3-4 Ejecución con otras formas de dos niveles

Forma Ejecuta Simplifique Para obtener


equivalente la F' una salida
no degenerada función en de

(a,l (b)*

AND-NOR NAND-AND AND-OR-INVERTIDA Sumadeproductos F


combinandolos
cerosen el mapa
OR-NAND NOR-OR OR-AND-INVERTIDA Productodesumas
combinandolos unos
en el mapa y luego
complementando.

*La forma (b) requiere una compuerta NAND de una ent¡ada a una NOR (inversor) para
el término de un solo literal.

EJEMPLO 3-11: Ejecútese la función de la Figura 319(a)


con las cuatro formas de dos niveles listados en la Tabla 3-4. El
complemento de la función se simplifica en suma de productos
combinando los ceros del mapa:

F':x'y*ry'*z

La salida normal de esta función puedeser expresadacomo:

F:(x'y*ry'*z)'
AND-NOR NAND-AND
( a )F = ( - r ' r*, , r r ' ' * : ) '

)'
Z

-r
)'
z

OR.NAND NOR-OR
( b ) . r : = [ ( " x1 -. t ' * z ) ( x ' + 1 ' + : ) ) '

Figura 3-25 Otras ejecuciones de dos niveles

la cual está en la forma AND-OR invertida. Las ejecucionescon


*
!a AND-NOR y NAND-AND se muestranen la Figura 3-25(a).Nótese
ry
-* que una NAND de una entrada o compuertainversorase necesita
para la ejecucióncon NAND-AND, pero no en el casoAND-OR. El
inversor puede eliminarse si se aplica una variable de entrada z'
en vez d,ez.
Las formas OR-AND invertida requierenuna expresiónsimpli-
ficada del complemento de las funciones en producto de sumas.
Para obteneresta expresiónse debencombinar los unos en el mapa:

F: x'y'z'* ryz
En seguidase toma el complementode la función:

F,:(r*y*z)(x,+y,*z)

La salida normal F puede ahora expresarseen la forma:

F:l(x * y * z ) ( x '+ y ' + z ) f ,

la cual está en la forma OR-AND invertida. A partir de esta expre-


sión se puedeejecutar la función en las formas OR-NAND y NOR-
OR como se muestra en la Figura 3-25(b).
to2
3-8 CONDICIONES DE NO IMPORTA

Los unos y ceros en el mapa significan la combinación de variables que


hacen la función igual a 1-ó 0 respect-ivamente. Las'combinaciones se ob-
tienen comúnmente de una tabla de verdad que lista las condiciones bajo
las cuales la función es 1. Se asume que la función sea igual a cero bajo
cualquier otra condición. Esta suposición no es siempre verdadera ya que
hay aplicaciones donde ciertas combinaciones de variables de entrada
nunca ocurren. Un código decimal de cuatro bits, por ejemplo, tiene seis
combinaciones que no se usan. Cualquier circuito digital que use este
código, opera bajo la suposición de que esas combinaciones no usadas
nunca ocurren, siempre y cuando el sistema esté trabajando adecuada-
mente. Como resultado, no importa lo que sea la salida de la función para
estas combinaciones de variables ya que se garantiza que nunca ocurri-
rán. Estas condiciones de no importa pueden usarse en un mapa para
lograr una mejor simplificación de la función.
Se puede hacer énfasis en que la combinación de no importa no puede
ser marcada con un 1 en el mapa ya que ella implica que la función sea I
para esa combinación de entrada. De la misma manera colocar un cero re-
quiere que la función sea cero. Pára diferenciar las condiciones de no im-
porta de los unos y ceros se usará una X.
Cuando se escogen cuadrados adyacentes, para simplificar la función
en el mapa, se asume que la X sea 1 ó 0 según lo que produzca la expresión
más simple. Además, no se necesita usar la X si esta no contribuye al cu-
brimiento de una área mayor. En cada caso, la alternativa depende sola-
mente de la simplificación que se puede lograr.

EJEMPLO 3-12: Simplificar la función de Boole:

F(w, x, y, z) : >( l, 3, 7, I l, 15)

y las condicionesde no importa:

d(w, x, y, z) : >(0, 2, 5)

Los términos mínimos de F son .las combinacionesde variables


que hacen la función igual a 1. Los términos mínimos de d son las
combinacionesde no importa que se conoce que nunca ocurren.
La minimización se muestra en la Figura 3-26.Los términos mí-
nimos de F se marcan con unos y aquellos de d se marcan con
una X y los cuadradosrestantes se llenan con ceros. En (a) los
unos y las X se combinan de una forma convenientetal que se
abarque el mayor número de cuadradosadyacentes.No es nece-
sario incluir todas o algunas de las X sino aquellas que sean úti-
les para la simplificación de un término. Una combinaciónque da
una función mínima incluye una X y deja dos por fuera. Esto dará
como resultado una función simplificada en suma de productos.
F: w'z * yz

t03
"yi ya
00 01 ll l0 00 0l
)1 ,f
ñ.t l
X
i- -l X 0( it I X

0l 0
r _'J 0 I 0 0
t
0 0 0
lr'1
I I
tr ol 0

0 0 I 0 ll loi
_f
0l io

( a ) C o m b i n a n d ou n o s y X F: u'z +,,2 (b) CombinandocerosyX I':z(u, ly)

Figura 8_26 Ejemplo con condiciones de no importa

En (b), los ceros se combinan con cuarquier X convenientepara


simplificar el. complementode ra función. Los mejoresresultados
se obtienen si se incluyen las X de la mane¡a mostrada. La
fun-
ción complementadase simplifica para dar:
F':z'+wy'
complementándola de nuevo se obtiene una función simplificada
en producto de sumas:
F:z(w,*y)
Lu! dos expresionesobtenidas en el
. Ejemplo 3-12 dan dos funciones,
las cuales se pueden demostrar como algebrui"u**ü
{ iguutur. Este no es
rt siempre el caso cuando intervienen cond*iciones d" iirporta. De hecho,
\ si una X se usa como 1, cuando se combinan los unos"; ;;" 0 cuando se
combinan los ceros, las dos funciones resultantes ,ro proáu.irán
" respues-
tas iguales algebraicamente.La selección de la condiiio"'ae
no importa
qomg 1 en el primer caso y como 0 en el segundo,resurta en expresiones
de diferentes términos mínimos y-En'la
por tanto en diferentes f'unciones.
Esto puede versedel Ejemplo 3-12. solución del mismo la X escogida
como 1. no se escogiócomo cero. Ahora,
-si en la Figura 3_26(a)."
el término u'z'en vez de u'z se obtienede todas rorria. una tunción".iog"
mini-
mizada:
F: w'x' I yz
Pero que no es algebraicamente igual a la obtenida
en producto de sumas
porque la misma X se usa como 1 en la primera
minimización y como cero
en la segunda.
Este ejemplo demuestra también que una expresión con un mínimo
de literales no es necesariamente única. Algunas veces el
diseñador se
encuentra con una alternativa entre dos términos con un número
igual de
literales, tal que la escogencia de cualquiera resulta en
una expresión
minimizada.
t04
3-9 E L M E T O D OD E L T A B U L A D O

EI método del mapa para simplificación es conveniente siempre y cuando


el número de variables no exceda de cinco o seis. A medida que el número
de variables aumenta el número excesivo de cuad¡ados impide una selec-
ción razonable de cuadrados adyacentes. La desventaja obvia del mapa
es esencialmente el procedimiento de prueba y error que depende de la
habilidad del usuario humano para reconocer ciertos patrones. Para fun-
ciones de seis o más variables es muy dificil estar seguró que realmente
se hizo la mejor selección.
El método del tabulado elimina la anterior dificultad. Este se trata
de un procedimiento específico paso a paso que se garantiza para producir
una expresión de forma normalizada y simplificada. Este se puede aplicar
a problemas con muchas variables y tiene la ventaja de ser adecuado para
cómputos con máquina. Sin embargo es un poco tedioso para uso humano
y propenso a errores debido a un proceso rutinario y monótono. El método
del tabulado fue formulado primero por Quine (3) y más tarde mejorado
por McCluskey.
EI método de simplificación consiste en dos partes. La primera es en-
contrar mediante una búsqueda muy cohpleta de todos los términos can-
didatos de inclusión en la función simplificada. Estos términos se llaman
primeros-implicados. La segunda opdración es escoger entre los primeros
implicados aquellas que dan una expresión con el menor número de lite-
ra les.

3-10 DETERMINACIO
DNE LOSPRIMEROS
IMPLICADOS*

El punto de partida del método del tabulado es la Iista de términos míni-


mos que especifican la función. La primera operación de tabulado es bus-
car los primeros implicados para usarlos en el proceso de apareamiento.
Este proceso compara cada término mínimo con cada uno de los restantes
términos mínimos. Si dos términos mínimos difieren en solamente una
variable, esa variable se elimina para encontrar un solo término con un
literal menos. Este proceso se repite para cada término mínimo hasta que
se complete el proceso completo de búsqueda. El ciclo del proceso de apa-
reamiento se repite para aquellos términos nuevos encontrados. Se con-
tinúa con el tercer y subsiguientes ciclos hasta el paso por un ciclo no
produzca nuevas eliminaciones de literales. Los términos restantes y to-
dos los términos que no se aparearon durante el proceso, constituyen los
primeros implicados. El método del tabulado se ilustra por medio del ejem-
plo siguiente:

EJEMPLO 3-13: Simplificar la siguiente función de Boole


usandoel método del tabulado:

F: ) ( 0 , 1 , 2 , 8 , 1 0 l, l , 1 4 ,1 5 )
*
Esta sección y la siguiente pueden ser omitidas sin perder continuidad.

105
/06 S I M P L I F I C A C I ODNE L A S F U N C I O N E D
SE B O O L E CAP, 3

Paso 1: Agrupar la representación binaria de los términos


mínimos de acuerdo al número de unos contenido de la manera
mostrada en la Tabla 3-5 columna (a). Esto se hace agrupando
los términos mínimos en cinco secciones separadas por líneas
horizontales. La primera sección contiene el número sin unos en
é1. La segunda sección contiene aquellos números que tienen so-
Iamente un uno. La tercera, cuarta y quinta sección contienen
aquellos números binarios con dos, tres y cuatro unos respecti- I
vamente. Los decimales equivalentes de los términos mínimos se
colocan a todo lo largo para identificación.
Paso 2: Cualquier par de términos mínimos que difieren en-
tre sí solamente por una variable, se pueden combinar y las varia-
bles no apareadas eliminar. Dos números de término mínimo caen
dentro de esta categoría si ambos tienen el mismo valor de bit
en todas las posiciones excepto en una. Los términos mínimos en
una sección se comparan con aquellos de Ia siguiente en adelante
ya que dos términos que se diferencian en más de un bit no se
pueden aparear. El término mínimo de Ia primera sección se com-
para con cada uno de los tres términos mínimos de la segunda
sección. Si hay dos términos iguales en todas las posiciones ex-
cepto en una, se marcan a la derecha de ambos términos mínimos

g i*'"tl,l;13:,x11""1-?i"i::?\?$"
ffit*'#'";';fi
\ (b) de la tabla. La variable eliminada durante el proceso de apa-
reamiento se remplaza por un guión en su posición original. En

Tabla 3-5 Determinación de los primeros implicados para el Ejemplo 3-13

(a) (b) (c.)

wxyz u'x,y2 w xyz

0 0000 \/ 0, 1 000- 0,2,8,10 - 0 - 0


o) 00 - 0 0,8,2,10 - 0 - 0

r 0001 0,8 -000 1 0 ,l l , 1 4 ,l 5 l-l-


2 0010 1 0 ,1 4 ,1 1 ,l 5 l-l-

1000 2, l0 -0 r 0 v
8, l0 l0-0 f
l0 1010 \/
t0,ll l0l
ll l0ll v 10,14 l - l 0v
t4 lll0 \/
It. 15 r-l r v
15 llll \/ 1 4 .l 5 l l l - \/
S E C .3 . 1 0 D E T E R M I N A C I ODNE L O S P R I M E R O S
I M P L I C A D O SI O 7

este caso mo (0000)se combina con mr (0001)para formar (000-).


Esta combinaciónes equivalentea la operaciónalgebraica:
mo I m, : w' x'Y' z' I w' x'Y' z : w' x'l'

El término mínimo ¡n0 se combina con m2 para formar (00-0) y


con m8 para formar (-000). El resultado de esta comparación se
c o l o c a .e n l a p r i m e r a s e c c i ó n d e l a c o l u m n a ( b ) . L o s t é r m i n o s m í -
nimos de las secciones dos y tres de la columna (a) se comparan
en seguida para producir los términos Iistados en la segunda sec-
c i ó n d e l a c o l u m n a ( b ) . T o d a s l a s o t r a s s e c c i o n e sd e ( a ) s e c o m -
paran de manera similar y las secciones subsecuentes se forman
en (b). Este proceso de comparación dará como resultado cuatro
s e c c i o n e sd e ( b ) .
Paso 3: Los términos de la columna (b) tienen solamente tres
variables. Un l debajo de la variable significa que no es tildada,
un 0 significa que es tildada y un guión significa que no se incluye
en el término. El proceso de búsqueda y comparación se repite pa-
ra los términos en la columna (b) para formar los dos términos
variables de Ia columna (c). De nuevo. los términos en cada sec-
ción necesitan compararse solamente si tienen guiones en la mis-
ma posición. Nótese que el término (000-) no se aparea con cual-
quier otro término. Por consiguiente, este no tendrá marca a su
derecha. Los equivalentes decimales se escriben a mano derecha
de cada entrada para propósitos de identificación. EI proceso de
comparación debe Ilevarse a cabo de nuevo en Ia columna (c) y en
Ias columnas subsiguientes siempre y cuando se consiga el apa-
reamiento adecuado. En el ejemplo presente, la operación para en
la tercera columna.
Paso 4: Los términos no marcados en la tabla forman los pri-
meros implicados. En este ejemplo tenemos el término r¿"¡'y' (000-)
en la columna (b) y los términos x'z'(-0-0) y uy (1-1-)en la co-
Iumna (c). Nótese que cada término de Ia columna (c) aparece
dos veces en la tabla y cuando el término forme un primer impli-
cado es innecesario usar el mismo término dos veces. La suma de
los primeros implicados dará una expresión simplificada de la
función. Esto es debido a que cada término marcado en Ia tabla
se ha tenido en cuenta para la entrada de un término más senci-
llo en la columna subsecuente. Así, las entradas no marcadas
(primeros-implicados) constituyen los términos dejados para for-
mular la función. Para el ejemplo presente,Ia suma de los prime-
ros implicados dará la función minimizada en suma de productos:

F:w'x'y'*x'z'*wy

Vale la pena comparar la anterior respuesta con la obtenida mediante


el método del mapa. La Figura 3-27 muestra la simplificación por mapa de
esta función. Las combinaciones de los cuadrados advacentes dan los
)': y
00 0i 1l l0
_ll
00
E 'l
Lr
0l

II
il tl I
t''{

Tl
I'o
l L' tr
7

Figura 3-27 Mapa de la función del Ejernplo3-13;tr': w,x,t,,*x,2,+uy

tres primeros implicados de la función. La suma de estostres términos es


la expresiónsimplificada en suma de productos.
Es importante señalar.gle
9l Ejemplo B-18 fue escogido
para d,ar una función simplificada "d. a
proposito
a partir de una *o*u primerós im_
p\icados. En \a mayoria de los casos \a suma
de los primeros impricados
no necesariamenteform-anla expresión con el número *írri,,'o
de términos.
Esto se demuestraen el Ejemptó a-t+.
La tediosa manipulación que se debe hacer cuando
se usa el método
del tabulado se reduce si la cómparaciónse hace con
números decimales
en vez de binarios. se mostrará áhora un método qu.
u." la resta de nú_
meros decimales en v:z de comparar y aparear números
binarios. Nótese
que cada 1 en un n:mgo binario representa
el coeficiente multiplicado
por una potencia de 2. cuando dos términos mínimos
son iguales tod",
las posicionesexcepto en una, el término mínimo con
el 1 extra "r,
debe ser
más grande,_ que el número dei otro térmiho mínimo, en una potencia
de 2.
Por tanto, dos términos mínimos se pueden cambia¡
'potencia si ei nrimero del pri_
mer término mínimo difiere. po.r yna de 2 de un segundo número
Tay.or de la siguiente sección inferior de la tabla-sliir.tr"rá este proce_
dimiento repitiendoel Ejemplo 3-18.
como se muestra en la Tabla 3-6 columna (a), los términos
mínimos
se arreglan en seccionescomo se hizo anteriormeni;
;;";;t" que se listan
solamente los decimalesequivalentesa ros té¡minos
;i;i;"r. El proceso
de comparar los términos mínimos es como sigue:
inspecciónesetodo par
de números decimales en seccionesadyacentesde la
tabla. si el número
de la sección inferior es mayor que er número de la
sección superior por
una potenciade 2 (por ejemplo1,2,4, g, 16, etc.) márquese
para demostrarque han sido usadosy escróalos ambosnúmeros
." t"'"olr-na (b). Er par
de números trasferidos a la colum"" (¡) incluyen
u;-;;;;", número en
paréntesis que designa la potencia de 2 por
la cual difieren los números.
úl numero en paréntesisdice la posición der guión
en la notación bina_
ria. El resultado de la comparaciónde la colu"mn; ("i
¡; muestra en la
columna (b).
.. !" comparación,entreseccionesadyacentesen la columna (b) se rea-
liza de manera similar, excepto qu" .oi",'"nte se
comparan aquelrostér-
t08
Tabla 3-6 del Ejemplo 3-13
Determinaciónde los primeros-implicados
con notación decimal

(a) (b) (c)

0v 0 ,l(l) 0,2, 8, r0 (2,8)


0,2 (2) \/ 0 , 2 , 8 r, 0 (2,8)
lv 0,8 (8) v
2t/ 1 0 l, r , 1 4 ,l 5 ( 1 , 4 )
8v 2, l0 (8) 1 0 l, l , 1 4 ,l 5 ( 1 , 4 )
8, l0 (2)
l0
10,r l (r)
ll , t0, t4 (4)
t4
l l, 15(4)
15v 1 4 ,l 5 ( l ) \

minos con el mismo número en paréntesis.El par de númerosen una sec-


ción debe diferir por una potencia de 2 del par de númerosen Ia siguiente
sección. Y los números en la sección inmediatamente inferior deben ser
mayores para poder lograr la combinación. En la columna (c) escríbase
todos los cuatro números decimales, con los dos números en paréntesis
como indicadoresde la posición de los guiones.Una comparaciónde las
Tablas 3-5 y 3-6 podría ser útil para comprender las derivacionesde la
Tabla 3-6.
Los primeros implicados son aquellos términos no marcados en Ia
tabla. Son los mismos que los encontradosanteriormenteexcepto que es-
tán dados en notación decimal. Para convertir la notación decimal a bi-
naria conviértasetodos los números decimalesen el término a binarios y
luego colóqueseun guión en aquellas posicionesdesignadaspor los núme-
ros en paréntesis.Así 0,1 (1) se convierte a binario como 0000,0001; un
guión en Ia primera porción de cada número ¡esultará en (000-). De la
misma manera, 0, 2, 8, 10 (2, 8) se convierte a la notación binaria 0000,
0010, 1000y 1010,y un guión colocadoen las posiciones2 y 8, dará como
resultado (-0-0).

EJEMPLO 3-14: Determinar los primeros implicados de Ia


función:
F ( w ,x , y , e ) : ) ( 1 , 4 , 6 , 7 , 8 , 9 ,1 0 ,l l ' 1 5 )

Los números de los términos mínimos se agrupan en seccionesde


la manera mostrada en la Tabla 3-7 columna (a). El binario equi-
valente de un término mínimo se incluye con el propósito de con-
tar el número de unos. Los númerosbinarios en la primera sección
to9
Tabla 3-7 Determinación de los primeros implicados
del Ejemplo 3_14

(a.l (b) (c)

000t r \/ t,9 (8) 8 , 9 ,1 0 n


, (1,2)
0r00 4 ^/ 4,6 (2) 8 , 9 , 1 0l ,I ( 1 , 2 )
r000 8V 8,9 (r) v
8, l0 (2) v
0ll0 6 \/
l00l 9 f 6,7 (t)
l0l0 l0 \/ 9,lt (2) \/
1 0 l, r (r) \/
0lll 7f
r 0 lI uv 7. t5 (8)

ll, l5 (4)
illl 15v
\

Pri meros-i mpl icados

Binario
Decimal uxYz Términos
1 , 9( g ) _U 0l
4,6 (2) 0l -0 w'xz'
6 , 7( t ) 0l l- w'xy
7, 15(8) -t tl xyz
r l , 1 5( 4 ) l- lt wyz
8 , 9 , 1 0 ,I l ( 1 ,2 ) l0 wx'

tienen sólo un uno, en la segrntia sección dos unos,


etc. Los nú_
meros de los términos mínimos se comparan por
el método deci-
mal y se
-hacenparejas,si el número de Laseccióninferlo. es mayor
que aquel de la secciónsuperior.si
el número de la seccióninf.erior
es.más pequeñoque el la superior no se tiene
_de la pa_
reja aunque los dos números difieren por una potencia
"n ".r..,fu
de 2. La
búsqueda minuciosa en la columna (a) aur¿ como
resultado ros
términos de la columna (b), con todos los término.
Ái.ri_o,
la columna (a) marcados.Hay soramentedos parejas
á"-lZ.-i'o,".,
en-la columna (b) las cuales darán el mismo término
de dos lite_
rales en la columna (c). Los primeros implicados
consisten en
todos los términos no marcadosen la tabla. La
conversiónde no-
tación binaria a decimal se muestra en la parte i"re.ior
á" la ta-
bla. Los primerosimplicadosencontradosson r,y,z,
u),x2,, tL,x.y,xyz,
wyz y wx'.
tto
t: )'
00 0l ll l0
rtx

00
!_l
0 't
.I t;
t-

,J' I
Ll_l

I' I

Figura t", u''o'o r-'n'


" !?!i+", 1i.':i.j;:_,1;1,p:
La suma de todos los primeros implicados, dará una expresión alge-
braica válida para la función. Sin embargo esta expresión no es necesa-
riamente la que contiene el mínimo número de términos. Esto puede de-
mostrarse inspeccionando el mapa de Ia función del Ejemplo 3-14. Como
se muestra en lf Figura 3-28 Ia función minimizada reconocida es:

F: x'y'z * w'xz' * ryz * wx'

la cual consiste en la suma de cuatro de los seis primeros implicados deri-


vados del Ejemplo 3-14. El procedimiento de tabulado para la selección
de los primeros implicados que dan la función minimizada es el tema de
la siguiente sección.

3-11 S E L E C C I O ND E L O S P R I M E R O S I M P L I C A D O S

La selección de los primeros implicados que forman Ia función minimizada


se hace a partir de una tabla de primeros implicados. En esta tabla, cada
primer implicado se representa en una fila y cada término mínimo en una
columna. Se colocan cruces en cada fila para mostrar Ia composición de
los términos mínimos que constituyen los primeros implicados. Un mínimo
grupo de primeros implicados se escoge de manera que abarque todos los
iér.tri.tos mínimos de la función. Este procedimiento se ilustra en el Ejem-
plo 3-15.

BJEMPLO 3-15: Minimizar la función del Ejemplo 3-14'


El tabulado de los primeros implicados para este ejemplo se mues-
tra en la Tabla 3-8. Hay seis filas, una para cada primer implicado
(derivado en el Ejemplo 3-14) y nueve columnas que representan
cada una un término mínimo de Ia función. Se colocan cruces en
cada fila para indicar los términos mínimos contenidos en el pri-
mer implicado de esa fila. Por ejemplo, las dos cruces en la primera
fila indlcan que los términos mínimos 1 y 9 están contenidos en el
p r i m e r i m p l i c a d o x ' y ' 2 . E s a c o n s e j a b l ei n c l u i r e l e q u i v a l e n t e d e c i -
ttl
Tabla 3-8 Tabla de primeros-implicados
del Ejemplo 3-1b

l0 ll

f x'v'z l,9
n/w'xz' 4,6 X
tp'xy 6,7 X X
xyz 7 t5 X X
wyz I l, l5 X X
v wx' 8,9,10,11 X X

mal del primer implicado en cada fila y convenientedar los térmi-


nos mínimos contenidos en é1. una vlz se hayan marcado todas
las cruces se procederáa seleccionarun númeró mínimo de prime-
ros implicados.
. La tabla completa de primeros implicados se inspeccionapara
obtener columnas que contengan solamente una cruz. En este
ejemplo hay cuatro términos mínimos cuyas columnas tienen una
sola cruz: 1, 4, 8 y 10. El término mínimo 1 está cubie¡to por el
primer implicado x'y.'z;.es
.decir,.la seleccióndel primer imp-licado
garantizaque el término
!_'J'z mínimo l está incluido en la iunción.
De manera similar el término mínimo 4 está cubierto por el primer
implicado tD'xz'y los términos mínimosg y 10por el prirner implica-
do wx'' Los primeros implicados que cubren ros términos mínimos
con una sola cruz en su columna se llaman primeros implicados
esenciqLes-. Para permitir que la expresiónfinal simplificáda con-
tenga todos los términos mínimos no queda otra aliernativa que
incluir los primeros implicados esenciáles.Se coloca ,rr,, -u.""
en la tabla a continuación de los primeros implicados esenciales
para indicar que han sido seleccio.,ádo".
. En seguida se observa cada columna cuyo término mínimo
está cubie¡to por los primeros implicados eslnciales serecciona-
dos. Po¡ ejemplo, el primer implicaho seleccionado,,y,)-.rr¡r"
to,
té¡minos mínimos 1 y 9, entonces se coloca ,.rrru,rr"."á
en-ia parte
inferior de las columnas. De manera similar, el primer,
impticado
w' xz' c\bre los términos minimos 4 y 6 y,¿¡' cubre g, g,
i0 y'11 res_
pectivamente. La inspección de la taúla de pri*eio"
i*pti""ao.
cubre todos los términos de la función con excepciónde y
7 rs.
Estos dos términos mínimos deben ser incruido.'po. la
seiección
de.uno 9 -í" primeros implicados. En este ejemplo es claro que
primer implicado ryz cubre ambos términos i"i"'i*".1-"r el
po, t"rr-
to el seleccionado-Así se ha encontrado er .o"¡"tJ
-iíi-o a"
primeros implicados cuya suma da la función
mlnimizada reque-
rloa:

F: x'y'z + w'xz' + wx' + xyz


tt2
E
ñ
F
s E c .3 - 1 2 O B S E R V A C I O N ECSO N C L U Y E N T E SI I 3 ff
F
ii,,
Las expresionessimplificadas deducidas en los ejemplos anteriores
estaban expresadasen la forma de suma de productos. El método del ta- f,
bulado puede adaptarsepara dar una expresión simplificada en producto
r
6

de sumas. De la misma manera que en el método del mapa se tiene que


comenzarcon el complementode la función tomando los ceroscornola lista F
ii
inicial de términos mínimos. Esta lista contiene aquellos términos míni- :'
':i
mos no incluidos en la función original, los cuales son numéricamente
iguales a los términos máximos de la función. El procesode tabulación se ri
lleva a cabo con los ce¡os de la función para terminar con una expresión ¡i
simplificada en suma de productos del complementode la función. Obte- ir
niendo de nuevo el complemento se consigue la expresión simplificada
en producto de sumas.
Una función con condiciones de no importa puede ser simplificada
por el método del tabulado despuésde una pequeñamodificación. Los tér-
minos de no importa se incluyen en la lista de los términos mínimos cuan-
do los primeros implicados se determinan. Esto permite la deducción de
primeros implicados con el mínimo número de literales. Los términos de
no importa no se incluyen en la lista de los términos mínimos cuando se
prepara la tabla de los primeros implicados ya que los términos de no im-
porta no tienen que estar cubiertos por los primeros implicados seleccio-
nados.

3-12 O B S E R V A C I O N E SC O N C L U Y E N T E S

Se introdujeron dos métodos de simplificación de funciones de Boole en


este capítulo. El criterio para la simplificación fue el de minimizar el nú-
mero de literales en expresiones de suma de productos o productos de
sumas. Tanto el método del mapa como el de.tabuladoson tan restringidos
en sus alcancesya que son útiles para simplificar solamentefuncionesde
Boole expresadasen las formas normalizadas. A pesar de que ello es una
desventajade los métodos,no es muy crítica, ya que la mayoría de aplica-
ciones buscan, más la forma normalizada, que cualquier otra forma. Se
ha visto de la Figura 3-15 que la ejecucióncon compuertas,de expresiones
en la forma normalizada,consistea lo sumo en dos niveles de compuertas.
Las expresionesque no están en la forma normalizada se ejecutan con
más de dos niveles. Humphrey (5) muestra una extensión del método del
mapa que produce expresionessimplificadas de multiniveles.
Se debe reconocer que la secuencia del código reflejado escogidopara
Ios mapas no es única. Es posible dibujar un mapa y asignar una secuen-
cia binaria de código reflejadoa las filas y columnas diferentea la secuen-
cia que se ha venido empleando. Siempre y cuando la secuenciabinaria
escogidaproduzca el cambio de un solo bit entre cuadradosadyacentes,
se producirá un mapa útil y válido.
Dos versiones alternas de mapas de tres variables que a menudo se
encuentranen la literatura de lógica digital se muestran en la Figura 3-29.
Los números de los términos mínimos se escriben en cada cuadrado para
referencias. En (a), la asignación de las variables a las filas y columnas
es diferente de la que se usa en este libro. En (b) se ha rotado el mapa a
x

0l
Y

00 0l ll l0 00 0 +

i 0 2 6 0l 5
I
zf 1
I '7
I J 7 5 lil J
L -v-'l
l
q_J

v
I'o 2 6

(a) (b)

Figura 3-29 Variaciones del mapa de t¡es variables

la posición vertical. La asignación del número del término mínimo en todos


Ios mapas permanece en el orden xyz.Por ejemplo, el cuadrado del término
mínimo 6 se encuentra asignando a las variables ordenadas el número
binario xyz:110. EI cuadrado para este término mínimo se encuentra en
(a) de la columna marcada W : ll y la fila z: 0. EI correspondiente cua-
drado en (b) pertenece a la columna marcada con r : 1 y a la fila con
yz:10. El proceso de simplificación con estos mapas es exactamente el
mismo que el descrito en este capítulo excepto por supuesto por las varia-
ciones de términos mínimos y la asignación de variables.
Otras dos versiones del mapa de cuatro variables se muestra en Ia
Figura 3-30. El mapa en (a) es muy popular y se usa muy a menudo en la
literatura sobre tales temas. De nuevo Ia diferencia es muy pequeña y se
manifiesta por el solo intercambio de la asignación de la variable de filas
a columnas y viceversa. El mapa en (b) es el diagrama original de Veitch
(1), el cual Karnaugh (2) modificó al mostrado en la Figura (a). Los proce-
sos de simplificación no cambian cuando se usan estos mapas en vez de
los usados en este libro. Hay también variaciones de los mapas de cinco
o seis variables. De todas maneras, cualquier mapa que parezca diferente
al usado en este libro o que se llame de manera diferente, debe reconocer-
A
AB __j_
CD 0 0 0l ll l0
0 q t2 8 t2 t4 6
,{

.{
0t

n
l0
3

2
5

--..-Y-
!----y-
IJ

l5

l4
9

il

l0
i l3

8
\-J
ll

t0
7

J
5

0
l
BC

(a) (b)
Figura 3-30 Variaciones del mapa de cuat¡o variables

tt4
S E C .3 - 1 2 CS
OBSERVACIONE O N C L U Y E N T EISI 5

se simplemente como una variación de la asignación de términos mínimos


a los cuadrados del mapa.
Como es evidente de los Ejemplos 3-13 y 3-14, el método del tabulado
tiene el inconveniente que ocurren errores inevitables al tratar de compa-
rar los números por medio de listas largas. EI método del mapa podría ser
preferible, pero para más de cinco variables no se puede estar seguro que
se ha encontrado la mejor expresión simplificada. La ventaja real del mé-
todo del tabulado está en el hecho de que consiste en procedimientos paso
a paso que garantizan Ia respuesta. Es más, este procedimiento formal es
adecuado para mecanización por computador.
Se ha establecido en la Sección 3-9 que el método de tabulado siempre
comienza con la lista de términos mínimos de la función. Si la función no
está en esta forma, debe convertirse a ella. En la mayoría de Ias aplicacio-
nes, la función que va a ser simplificada proviene de una tabla de verdad,
de la cual se puede obtener Ia lista de términos mínimos. De otra manera,
la conversión de términos mínimos agrega un trabajo considerable de ma-
nipulación al problema. Sin embargo, existe una extensión del método del
tabulado para encontrar los primeros implicados de expresiones algebrai-
cas de suma de productos. Ver por ejemplo McCluskey (7).
En este capítulo se ha considerado la simplificación de funciones con
muchas variables de entrada y una sola variable de salida. Sin embargo
algunos circuitos digitales tienen más de una salida. Tales circuitos se
describen mediante un conjunto de funciones de Boole, una para cada
variable de salida. Un circuito con múltiples salidas puede algunas veces
tener términos comunes entre las diferentes funciones que pueden ser
utilizadas para formar compuertas comunes durante la ejecución. Esto
dará como resultado una ulterior simplificación que no se ha considerado
cuando cada función se simplifica separadamente. Existe una extensión
del'rnétodo del tabulado para los circuitos de salidas múltiples (6, 7). Sin
embargo, este método es muy especializado y bastante tedioso para ma-
nipuleo humano. Tiene importancia práctica solamente si se le ofrece al
usuario un programa de computador basado en este método.

R E F ER E N C I A S

1 . Veitch, E. W., "A Chart Method for Simplifuing Truth Functions". Proc. of the
ACM (mayo 1952),127-33.
Karnaugh, M., "A Map Method for Synthesisof CombinationalLogic Circuits".
Trans. AIEE, Comm. and Electronics,Vol. 72, Parte I (noviembre1953),593-99.
Quine, W. V., "The Problemof Simplifying Truth Functions".Am. Math. Month'
ly, Vol. 59, No. 8 (octubre1952),521-31.
^ McCluskey, E. J., Jr., "Minimization of BooleanFunctions". BeII System Tech.
J., Vol. 35, No. 6 (noviembre1956),1417-44.
F
Humphrey, W. S., Jr., Switching Circuits with Computer Applícations. Nueva
York: McGraw-Hill Book Co., 1958,Capítulo 4.
6 . Hill, F. J., y G. R. Peterson,Introduction to Stl)itchingTheory and Logícal De-
sign,2a. ed. Nueva York: John Wiley & Sons,Inc., 1974,Capítulos6 y 7.
s r M p L t F t c A c t oDNE F U N c t o N EDs E B o o L E cAP.3
!16

_!Icplr¡skey,E. J., Jr., Introduction to the Theory of switching circuits. Nueva


York: McGraw-Hill Book Co., 1g65,Capítulo 4.

{ohav-i, 2., suitching and Finite Automata Theory. Nueva york: McGraw-Hill
Book Co., 1970.
N a g l e ,H . T . J r . , B . D . c a r r o l , y J . D . I r w i n , A n I n t r o d u c t i o n t o c o m p u t e rL o g i c .
EnglewoodCliffs, N.J.: Prentice-Hail,Inc., 1925.

PROBLEMAS
obtenga las expresionessimplificadas en suma de productos de las s-iguien-
tes funcionesde Boole;
(a) F(x, y, z) : >(2, 3, 6,7)
@ ) F ( A , B , C , D ) : > ( 7 , 1 3 ,1 4 ,1 5 )
( c ) F ( A , B , C , D ) : > ( 4 ,6 , 7 , 1 5 )
( d ) F ( w ,x , y , z ) : 2 ( 2 , 3 , 1 2 ,1 3 ,1 4 ,1 5 )
3-2. obtenga las expresionessimplificadas en suma de productosde
tes funcionesde Boole:
(a) xy + x'y'z' * x'yz'
(b) A'B + BC' + B'C'
(c) a'b' I bc * a'bc'
(d) xy'z I ryz' * x'yz * ryz
obtenga las expresionessimplificadasen suma de productosde las siguien-
tes funcionesde Boole:
(a) D(A', + B) + B'(C + AD)
( b ) A B D + A ' , C ' , D '+, A ' B + A ' C D ' + A B ' D '
(c) k'lm' * k'm'n + klm'n' I lmn'
( d ) A ' B ' , C ' , D '+, A C ' D ' + B ' C D ' + A ' B C D + B C ' D
(e) x'z * w'ry' + w(x'y + xy')
3 - 4 . Obtenga las expresionessimplificadas en suma de productosde las
siguien-
tes funciones de Boole:
(a) F(A, B, C, D, ¿/ : >(0, 1,4, 5, 16,t7,21,25,29)
(b) BDE + B'C'D + CDE + A'B'CE + A'B'C + B'C'D'E'
( c )A ' B ' C E ' + A ' B ' C ' D ' + B ' D , E , + B , C D , + C D E , + B D E ,
J-O. Dada la tabla de verdad:

000 0 U
001 I 0
010 I 0
0ll 0 I
100 I 0
l0l 0
ll0 0
ltl I
Il" ' R O B L E M A S| | 7

(a) ExpreseFt I Fz en producto de términos máximos.


(b) Obtenga las funcionessimplificadasen suma de productos.
(c) Obtenga las funcionessimplificadasen producto de sumas.

3-6. Obtenga las expresionessimplificadas en producto de sumas:


(a) F(x,y, z) : II(0, I, a, 5)
@) F(A, B, C, D) : n(0, l, 2, 3, 4, 10, I l)
(c) F(w, x, y, z) : II(1, 3, 5, 7, 13,15)

3-7. Obtenga las expresionessimplificadas en (1) suma de productosy (2) pro-


ducto de sumas.
(a) x'z' * y'z' I yz' + ryz
(b) (A + B', + D)(A' + B + DXC + DXC', + D',)
( c ) ( A ' + B ' + D ' ) ( A+ B ' + C ' ) ( A ' + B + D ' ) ( B + C ' + D ' )
( d ) ( A ' + B ' , + D ) ( A ' + D ' , ) ( A+ B + D ' , ) ( A+ B ' , + C + D )
(e) w'yz' * ow'z' * ow'x * rs'wz* a'ut'y'z'

3-8. Dibuje la ejecución con compuertas de las funciones de Boole simplificadas,


obtenidas en el Problema 3-7 usando las compuertasAND y OR.
3-9. Simplifique cada una de las siguientes funciones y ejecútelas con compuer-
tas NAND. Dar dos alternativas.
(a) 4 : AC' + ACE + ACE, + A,CD, + A,D,E,
( b ) F 2 : @ ' , + D ' , ) ( A ' , +C ' , + D ) ( A + B ' , + C ' , + D ) ( A ' , + B + C ' + D ' )

3-10. Repita el Problema 3-9 para ejecucionescon NOR.


3-11. Ejecute Ias funciones siguientes con compuertas NAND. Asuma que se cuen-
ta con entradas normales y complementadas.
(a) BD + BCD + AB' C'D' + A' B'CD' con no más de seiscompuertas,cadauna
con tres entradas.
(b) (AB + A' B' )(CD' + C'D) con doscompuertasde dosentradas.

3-12. Ejecute las siguientes funciones con compuertas NOR. Asuma que se cuen-
ta con las entradasnormal y complementada.
(a)AB'+ C'D'+ A'CD'+ DC'(AB+ A'B')+ DB(AC'+ A'C)
b ) A B ' , C D ' , + A ' , B C D ' , +A B ' , C ' , D+ A ' , B C ' , D
3-13. Haga una lista de las formas degeneradasde dos niveles y demuestreque se
reducen a una sola operación. Explique cómo las formas degeneradasde dos
niveles pueden ser usadas para aumentar el fan-out de las compuertas.
3-14. Ejecute las funciones del Problema 3-9 con las siguientes formas de dos ni-
v e l e s :N O R - O R , N A N D - A N D , O R - N A N D y A N D - N O R .
3-15. Simplifique las funcionesde Boole F en suma de productosusando las con-
diciones de no importa d;
(a) F: y' + x'z'
¿l: yz * rl
o ) F : B ' , C ' , D ' , +B C D ' + A B C D '
d: B'CD' + A'BC'D
CAP.3

, i ( t , S i m p l i l i q u ei ¿ rl u u c , ¡ i r rd e B o o l eI i u s a n d ol a . ; c o n d i c i o n e (sl ¿ n o i m p o r t ad e n
i l r s u r l a d e 'p r o d u c t o sy ( 2 ) p r o d u c t od e s u m a s :
( a ) F : A ' B ' , ' . - . 4 ' C D+ A ' B C
d: A'BC'L,+ACD I AB'D'
O) .F : w'(x'y * x'!' + 4t¿) + x'z'(y + w)
d: w'x(y'z + yz') + nyz
lc) F: ACE + A'CD'E'+ A'C'DE
d: DE' + A'D'E + AD'E'
(d)F: B'DE'+ A'BE + B'C'E'+ A'BC'D'
d: BDE' + CD'E'
: l - 1 ; . l l j e c u t . el a s s i g u i e n t e sl u n c i o n e su s a n d ol a s < , , l d i c i o n e sd e n o i m p o r t a . A s u -
m a q u e s e c u e n t ac o n I r r se n t r a d a sn o r m a l e s ' , s u s t t t m p i e m e n t o s .
( a ) F : A ' B ' C ' + A B ' D + A ' B ' C D ' c o n d o s c o m p u e r t aN s OR a lo sumo.
d: ABC+ AB'D'
(b) f = U + D)(A'+ B)(,1'+ C') c o n t r e s c o m p u e r t a sN A N D a l o s u m o .
(c) f': B'D + B'C + ABCD c o n c o m p u e r t aN
s AND.
d:A'BD+AB'C'D'

3-18. Ejecute las siguientes funciones en compuertasNAND y NOR. Use sola-


rnente cuatro compuertas.Solamentese cuenta con las entradas normales.

F: v/xz + tt".vz* .r'yz' * wxy'z


:
d w-t-z
r j 1 9 . L a s i g u i e n t ee x p r e s i ó nd e B o o l e :

BL + B'DE'

e s l a v e r s i ó ns i m p l i f i c a d ad e l a f i r n c i ó n :

A ' B E + B C D E+ B C ' D ' E + A ' B ' D E ' + B ' C ' D E '

uHay condicionesde no importa? Si es así, ¿cuálesson ellas?


il 2(). Dé tres manerasposiblesde expresarlas funciones:

F : A'B'D' + AB'CD' + A'BD + ABC'D

con ocho o menos literales.


jl 21. (lon el uso de mapas, encuentre la f<rrma más simple en suma de productos
de la l'unciórt F : f g, donde / y g estén dados por:

-f : wry' + y'z + w'yz' + x'),2'


g : (v, + x + y' + z')(x' * y' + z)(w' + y + z')

S u g e r e n c i c tV
: e¡ el Problema 2-8(b).

: l - 2 2 . S i m p l i f i q u e l a f ' u n c i r j nd e B t x ¡ l e d e l P r o b l e m a S - 2 ( a ) u s a n d o e l m a p a d e f i n i d o
en ia l'igura il-29(a). Repita el ejercicio con el mapa de la Figura 3-29(b).
I I9
PROBLEMAS

3-23. Simplifique la función de Boole del Problema3-3(a)usandoel mapa definido


en la Figura 3-30(a).Repita con el mapa de la Figura 3-30(b).

3-24. Simplifique las siguientesfuncionesde Boole por medio del método del ta-
bulado.
(;a)F(4, B, C, D, E, F, G): >(20,28,52,60)
(b) F(A, B, C, D, E, F, G) : >(20, 28,38,39, 52, 60, r02, 103,127)
( c ) F ( A ,B , C , D , E , F ) : > ( 6 , 9 ,1 3 ,1 8 ,1 9 , 2 5 , 2 1 , 2 9 , 4 1 , 4 5 , 5 7 , 6 1 )

3-25. Repita el Problema3-6 mediante el uso del métododel tabulado.


i,
3-26. Repita el Problema 3-16(c)y (d) usando el método del tabulado.
i.
3!
Lógica combinacionaI

4-1 INTRODUCCION

Los circuitos lógicos para los sistemas digitales pueden ser combinacio-
nales o secuenciales.Un circuito combinacional consiste en compuertas
lógicas cuyas salidas se determinan directamente en cualquier momento
de la combinación presentede entradas sin tener en cuenta las entradas
anteriores. Un circuito combinacional realiza una operación de procesa-
miento de información específicacompletamentelógica por medio de un
conjunto de funciones de Boole. Los circuitos secuencialesusan elemen-
tos de memoria (celdas binarias), Además de compuertas lógicas. Sus
salidas son una función de las entradas y del estado de los elementosde
la memoria. El estado de Ios elementosde Ia memoria, a su vez es una
función de las entradas previas. Como consecuencia,Ias salidas de un
circuito secuencial dependen no solamente de las entradas presentes,
sino también de las entradas pasadas,y el comportamientodel circuito
debe especificarsepor una secuenciade tiempos de las entradas y estados
internos. Los circuitos secuencialesse discuten en el Capítulo 6.
En el Capítulo 1 se aprendió a reconocerlos númerosy códigosbina-
rios que representan las cantidades discretas de información. Estas va-
riablei binarias se representan por medio de voltajes eléctricos o por
cualquier otra señal. Las señalespueden ser manipuladas por compuertas
Iógicásdigitales con el f,rn de ejecutar las funcionesdeseadas.En el Capí-
tulo 2 se lntrodujo el álgebra de Boole como vehículo para expresaralge-
braicamente funciones lógicas. En el Capítulo 3 se aprendió a simplificar
las funciones de Boole para lograr ejecuciones con compuertas de tipo
económico.El propósito de este capítulo es el de usar los conocimientos
adquiridos en los Capítulos anteriores y el de formular varios diseños
sisfemáticos y procedimientos de análisis de los circuitos combinacio-
nales. La solución de algunos ejemplos típicos dará una recopilaciónútil
de funciones elementales importantes para Ia comprensión de computa-
dores digitales y sistemas.
Un circuito combinacional consisteen variables de entrada, compuer-
tas lógicas y variables de salida. Las compuertaslógicas aceptan señales

120
n variables m variables
de entrada de salida

Figura 4-1 Diagrama de bloque de urr-circuito combinacion'al

en las entradas y genelan señales en las salidas. Este procesotrasforma


información binaria de datos de entrada dados a datos de salida reque-
ridos. Obviamente, los datos de salida y de entrada se representanpor
medio de señalesbinarias, es decir, existen dos valores posibles,unorre-
presentado lógica 7 y el otro representado lógica 0. En Ia Figura 4-1 se
muestra un diagrama de bloque de un circuito combinacional.lLas n va-
¡iables binarias de entrada vienen de una fuente externa, las rn va¡iables
de salida van a un destino externo. En muchas aplicacionesla fuente y
el destino son registros acumuladores(Sección 1-7) localizadosen la ve-
cindad de un circuito combinacionalo en algún componenteremoto exter-
no. Por definición, un registro externo no debe influenciar el comporta-
miento de un circuito combinacionalya que si lo hace el sistema total se
convierte en un circuito secuencial.
Para n variables de entrada, hay 2" combinacionesposibles de valo-
res de entrada binaria. Para cada combinaciónde entrada posible hay una
y sólo una combinaciónde salida posible.Un circuito combinacionalpuede
I describirsepol m funciones de Boole, una para cada variable de salida'
Cada función de salida se expresaen términos de n variablesde entrada.
Cada variable de entrada a un circuito combinacional puede tener
Una o dos conexiones.Cuando se cuenta solamente con una conexión, se
puede representarla variable en Ia forma normal (no tildada) o en Ia for-
ma de cbmplemento (tildada). como una variable en una expresión de
Boole puede aparecer tildada- y no tildada es necesariosuministrar un
inversoi para óada literal que no se obtenga en el terminal de entrada.
Por otra parte, una variable de entrada puede apareceren dos terminales
suministrando las formas normales y de complemento a la entrada del
circuito. Si este eS el caso, no es necesarioincluir los inversoresa las
entradas. EI tipo de celdas binarias usadas en la mayoría de los sistemas
digitales son circuitos flip-flops (Capítulo 6) que tiengn salidas nalg Los
va"loresnormales y de la variable binaria acumulada.
"omple*entados
En el trabajo subiiguiente, se asume que cada variable de entrada apa-
rece en dos terminales, suministrando simultáneamente los valores nor-
males y de complemento.Se debe tener en cuenta que un circuito inversor
puede producir el complemento de la variable si se cuenta con un solo
terminal.

4-2 DE DISEÑO
PROCEDIMIENTO

El diseño de circuitos combinacionalescomienza desde el enunciado del


problema y termina con el diagrama de circuito lógico, o con un conjunto
áe funciones de Boole de los cuales se puede obtener el diagrama lógico
fácilmente. El procedimientocubre los siguientespasos:
t2l
I22 LOGICACOMEINACIONAL CAP 4

1. Se enuncia el problema.
2. se determina el número requerido de variabres de entrada v el nú-
mero requerido de variables de salida.
3. Se le asignan letras a las variables de entrada y salida.
4. se deduce la tabla de verdad que define las relaciones entre las
entradas y las salidas.
5. Se obtiene la función de Boole simplificada para cada salida.
6. Se dibuja el diagrama lógico.

una tabla de verdad para circuitos combinacionales consiste en co-


lumnas de entrada y columnas de salida. Los unos y ceros en las columnas
de entrada se obtienen de las 2n combinaciones binarias disponibles
para n variables de entrada. Los valores binarios para las salidas se de-
terminan después de un examen del problema enunciado. una salida puede
ser igual a 0 ó 1 para cada combinación válida de entrada. sin embargo,
las especificaciones podrían indicar que algunas combinaciones de entia-
da no ocurrirán. Estas combinaciones se convertirán en condiciones de
no importa.
Las funciones de salida especificadas en la tabla de verdad darán la
definición exacta del circuito combinacional. Es importante que las espe-
cificaciones enunciadas se interpreten correctamente en la tabla de ver-
dad. Algunas veces el diseñador debe usar su intuición y experiencia para
l l e g a r a l a i n t e r p r e t a c i ó n c o r r e c t a . L a s e s p e c i f i c a c i o n e se ñ u n c i a d a s - s o n
faÍa vez completas y exactas. Cualquier interpretación errónea que pro-
duzca una tabla de verdad incorrecta dará como resultado un ii."Litu
combinacional que no cubra las necesidadesestablecidas.
Las funciones de Boole de salida de una tabla de verdad se s.mplifi-
can por cualquier método disponible, tal como manipulación algebraica,
el método del mapa o el procedimiento del tabulado. Normalmente habrá
una variedad de expresiones simplificadas entre los cuales se puede es-
Loger. Sin embargo, en una aplicación particular, ciertas restricciones,
l i m i t a c i o n e s y c r i t e r i o s v i e n e n c o m o g u i a e n e l p r o c e s o d e s e l e c c i ó nd e
una expresión algebraica particular. Un método práctico de diseño tendrá
que considerar tales condiciones obligatorias como (1) número mínimo
de compuertas, (2) número mínimo de entradas a una compuerta, (3) tiem-
po de propagación mínima de una señal a través del circuito, (4) número
minimo de interconexiones y (5) limitaciones de la capacidad de accio-
namiento de cada compuerta. Como todos estos criterios no pueden satis-
facerse simultáneamente y como la importancia de las condiciones obli-
gatorias se dictan para la aplicación particular, es difícil hacer una
afirmación general en lo que respecta a una simplificación aceptable. En
la mayoría de los casos la simplificación comienza wr lograr un objetir.r,
elemental, tal como producir una función de Boole simplificada en la fbrma
normalizada y de allí proceder a lograr los otros criterios de comporta-
miento.
En Ia práctica, los diseñadores tienden a ir de las funciones de Boole
d una lista de terminales que muestran las interconexiones entre varias
'l

$
**
!
i
F

S E C ,4 ' 3 S U M A D O R E IS2 3

compuertas lógicas n,rrmalizadas. En este caso el diseño no debe ir más


a l l á d e l a s f u n c i o n e s d e B < r o l es i m p l i f i c a d a s d e s a l i d a . S i n e m b a r g o , e l
d i a g r a m a I ó g i c o e s ú t i l p a r a r - i s u a l i z a r l a e j e c u c i ó n d e l a s e x p r e s i o n e sc t . , t r
compuertas.

4-:i SUMADORES

I , o c o r n p u " l t a s i : i i g i t ¿ r l eh' sa c e n u n a v a r i e d a d d e t ¿ t , e a st i e ¡ t t , r t r t l s a m t e n t < l


c k . i n f i r r m a c r r l n . ! l r r t r e l a . , l r r n c i o n e s b á s i c a s e n c ( ) n t r a d a se s t á I l I a s d i f i ¡
r('rltes operricionesaritméticas. La operaciórl aritmética más básica es
s i ¡ d u d a l a s u m a d e d o s d i g i t o s b i n a r i r - , s .E s t a s i m p l e a d i c i ó n c o n s i ; t e e l l
c u a t r o o p e r a c i o n e se l e m e n t a l e sp t l s i b l e sa s i : 0 f U - ( ' , 0 + I ' = 1 . 1 + 0 : 1 r
1 + 1 : 1 0 . L a s p r i m e r a s t r e s o p e r a c i o n e sp r o d u c e n u n a s u ¡ l l ¿ ct u y a l o n g i t u t l
e s e n u n 'dt ríigniat or i,ap e r o , e n e l c a s o e n q u e a m b o s s u m a n d o b s e a n i g u a l e s a I
i¿i suma c o t t s t s t e e n d o s c i i g i t o s . F l l i r i t l f l ü : : ' i r : ri f i t ' a t i ' i t ' i l n ' '
,.:srrltado Se llama bit de qrrrslre (Acarre0). Cuando l')s il¡ltrtu't ''rSde ros
- - ¡ ¿ ¡ ¡ 1 d c si ' , r l l t i e n e t t m á s eli;lii,,. slgllrli.,rtir,r;l-.ei i r ltrraslte qL
o b t i e n e c l e l a s u m a d e d o s b i t s s e a g r e g a a i s i g u i e r r ti ' i i ¿ : r d e b i t s s t , . l l , r
t ' i c a t i y r ; sd e m a y o r o r d e n . U n c i r c u i t o c o m b i n a c i o r t ¿ l q u e r e a l i z a l a s t i , , l , ,
de dos bits se llama sumodor medio. Aquel que realrza ia suma dt tr':s ¡rlts
( d o s b i t s s i g n i f i c a t i v o s m á s e l b i t d e a r r a s t r e ) e s u n . s ü 1 7 ¿ { ¡ c iirot n r tpl,'lu. lll
n6mbre del primero se deriva del hecho de q r r e s e u s ¿ t l l d o s s t l l l r i r , i r : i ' i : 'rS, r-
r l i o s p a r a h a c e r u n s u m a d o r c o m p l e t o . L o s c l o s c i r c u i t o s s u n i a c l o r e sr l r ) 5 : ) r l
l o s p r i m e r o s c i r c u i t o s c o m b i n a c i o n a l e sq u e s e v a n a d i s t . ' ñ a r .

Sumador medio

i ) t , I a r : x p l i c a c i ó nv e r b a l d e l s u m a d o r m e d i o s e e n c u e l r l r aq u e e s t e t ' i r t r t i i , ,
¡ecesita dos entradas binarias y drrs salidas binarias. Las varialtles cle
e n t r ¿ r d ad e s i g n a n l o s b i t s d e l o s s u m a n d o s , l a s v a r i a l l l e s d e s a l i d a l t r o c i u -
cen la suma v el bit dc arrastre. Es necesario especificar dc¡sr'¿triabk's
d e s a l i d a p o r q u e e l r e s u l t a d o p u e d e c o n s i s t i r d e d o s d í g i t , r s l ¡ i n ¿ r r i o s .S e '
a s i g n a n a r b i t r a r i a m e n t e l o s s í m b o L r s . I ] ' . 1 a l a s c l l " t ' n i r a d ¿ l s ,\ ' ( p a r a i ¿ r
s u m a ) ¡ ' C ( p a r a e l b i t d e a r r a s t r e i p a r ¿ il a s s ¿ r l i d a s '
U n a v e z q u e s e h a y a e s t a b l e c i d oe l n r i m e r r, 1 ' 1 , , 1 ,¡ r o n r l t r e sd e l ¿ t st , , r -
r i a b l e s d e e n t r a d a y s a l i d a s e e s t á l i s t o p a r a f r r r i ¡ i u i ¿ t il a t a b l ¡ d e r . e r r l . r t i
p a r a i d e n t i f i c a r e x a c t a m e n t e l a f ' u n c i ó n d e l s u m a t l ¡ r r n r e d i o . E s t a l ¿ r i , i'
de verdad se muestra a c'ontinuación:

(t 0
0 0
I 0
I 1

tll bit de arraslr* e:. r) ¿r n(; ser qrte ambas enl u l. l,,i ;,t.id.,
r e p r e s e n t ae l b i t n r e n , l s" i g n i f i c a t i v o d e l a s u m a .
.l -fl-
)' --L-/ l__ñ
x' -t'
IH
)"

'--ñ (-l-
j'1_/
tT - -L
] 1J
(a) .l : .r)' : .r') (b) J - (r -,-.v)(r' { -y')
C=xl C: .r)

.I r

.t
c;"
(c) S-(C*¡'y')' (d) S.(¡f r)'(.r'*r')
C:xy ¿-:1-r',',v',)',

n'N
=i,*'
Figura 4-2 Varias configuracionesdel sumador medio

Las funciones de Boole simplificadas para las dos salidas pueden ob-
tenerse directamente de una tabla de verdad. Las expresionessimplifica-
das en suma de productosson:
S: x,y i ry,
C: xY

El diagrama lógico para esta configuraciónse muestra en Ia Figura 4-2(a)


de Ia misma manera que otras cuatro formas para hacer un sumador me-
dio. Todas ellas logran el mismo resultado en cuanto al comportamiento
de entrada-salida.Ellas muestran la flexibilidad disponible para el dise-
ñador cuando se configura una función lógica combinacional simple, tal
comoésta.
La Figura 4-2(a), como se ha enunciadoantes, es Ia configuracióndel
sumador medio en suma de productos. La Figura 4-2(b) muestra la confi-
guración en producto de sumas:
,S:(x+y)(x,+y,)
c:ry
124
H
H
PI
+i
sEc. 4-3 125
SUMADORES n1
t.i
;t'.
para obtener la configuraciónde la Figura 4-2(c),se nota que s es la oR-
exclusivade r y y. El de s es el equivalentede ¡ y:' (sec-
"o-plemento
ción 2-6):
S':xY+x'Y'
pero como c: xy se obtiene:
S: (C + ,,y')'

En la Figura 4-2(d) se usa la configuracióndel producto de sumas con c


derivado como sigue:
C:xy:(x,+1,),

El sumador medio puedeser configuradocon una OR-exclusivay una com-


nuerta AND de la manera mostrada en la Figura 4-2(e).Esta forma se usa
para
ila. i"rá. para demostrar que se necesitan dos sumadoresmedios
construir un circuito sumador completo.

Sumador comPleto
que forma la suma
Un sumador completo 'bit. es un circuito combinacional
aritmética de treÁ d" entrada. Este consiste en tres entradas y dos
salidas. Dos de las variables de entrada denotadas por I y y representan
los dos bits significativos que se aglegan. La tercera entrada z representa
el bit de arraslre de la poiición previa menos significativa' Se necesitan
dos salidas porque la suma aritmética de tres dígitos binarios varía en
valor de 0 a-3 y-los binarios 2 ó 3 necesitandos dígitos. Las dos salidas se
designanpor lós símbolosS para la suma y C para el bit de arrastre. La
variáble binaria S da el valor de la suma del bit menos significativo' La
' variable binaria C da el bit de arrastre de salida. La tabla de verdad del
sumador completo es como sigue a continuación:

000 00
001 01
010 0l
0ll l0
100 0l
l0l l0
110 l0
lll ll

Las ocho filas debajo de las variables de entrada designantodas las com-
bi*.ione. posibles <le unos y ceros que pueden tener esas variables' Los
V d" las variables-de salidá se determinan por la suma aritmé-
tica de los bits de entrada. Cuando todos los bits de entrada sean ceros'
""o. ""ro,
la salida es cero. La salida S es igual a 1 cuando solamenteuna entrada
I

.{ 0 0 0r r 0

0 I

f .ll
I

.S .r'r,': -r'-l:'r .r)':'- ,rl,: C - .rr. I .t. \:

Figura 4-B Mapas Ce un sumador comDleto

es igual a I ó cuando todas las tres entradas sean iguales a uno. La sali-
da c tiene un bit de arrastre de I s,i dos de las tres"entradas son iguales
.. 1
c¡ t.

Los bits de entrada y salida de los circuitos combinacionales tienen


dilerentes interpretaciones en los diferentes estados del problema. Física-
mente. las señales binarias de los terminales de entraáa se consideran
dígitos binarios agregados aritméticamente para formar una suma de dos
digitos en los terminales de salida. por otrá parte, Ios mismos valores bi-
narios se consideran variables de las funciones de Boole cuando ."\ u"p."-
san en Ia tabla de verdad o cuando se ejecutan los circuitos con compuerras
lógicas. Es importante tener en cuenta que se dan dos interpretaciones
difere'tes a los valores de los bits enconttado. en este circuito.
relación lógica de entrada-salida del circuito del sumador c¡mp¡'t.
-La
puede ser expresada con dos funciones de Boole, una para cada varial,le
cle salida. cada función de Boole de salida requiere un rnopu único para str
simplificación. cada mapa debe tener ocho cuadrados ya que cada ,,lr,l;i
es una función de las tres variables de entrada. Los mapas de la l.'igura
{ 3 se usan para simplificar las dos funciones de salida. Los unrrs err lor;
cuadradosde los mapas para s y c se determinan directamente cle la tabla
de 'erdad. L.s cuadrados con unos para la salida s, no combiran en cua-
drados adyacentes, para
_dar una expresión simplificada en suma de pro.
ductos. La sálida c puede simplificárse a una expresión de 6literales.
El
diagrama lógico para el sumador completo ejecutado en suma de productos
se muestra en la Figura 4-4. Esta configuración usa las siguientes expre-
sionesde Rnle.

S: x'y'z * x'yz'* xy'z'* x¡':


C:xy+xz+yz

Se pueden desarrollar otras configuraci.nr,s para el sumador


comple_
to. La ejecución del producto de suma.s reqrriere .l -i..rr-,,, ¡rirmero
de com-
p u e r t a s q u e l a c o n f i g u r a c i ó n d e l a F i g u r a 4 - ' 1 .c . n e l g r u p ' d e
corniiu,,rtas
AND y oR intercambiadas. un sumador completo p"óa" configurarse
con
dos sumadores medios y una compuerta oR, ctmo se muestra e., lu Figu.u
4-5. La salida s del segundo sumador medío es la aplicación
de una oR-
exclusiva de z y la salida del primer sumador medio dando:

t26
E
1,ff
F
$
Í'
t-

ii
il
it
i1
it

ii
t:l
i1
*t
FI

b
&i

Figura 4-4 Configuraciónde un sumadorcompletoen suma de productos

Figura 4-5 Configurqción de un sumador completo con tilrs sumadores medios


y una codrpuerta OR

S: z O (r Oy)
: z'(x/' + x'y) I z(xy' * x'y)'
: z'(xt' + x'y) + z(xy + x'y')
: xy'z'+ x'yz'* xyz* x'y'z
y el bit de arrastrede salida será:
C: z ( x y ' + x ' y )* x y : x y ' z * x ' y z i x y

4-4 SUSTRACTORES

La sustracción de dos númerosbinarios pueden lograrsetomando el com-


plemento del sustraendopara agregarloal minuendo (sección 1-b). Me-
diante este método, la operaciónde sustracciónse convierteen operación
de suma que necesitasumadorescompletospara su ejecuciónen una má-
quina. Es posibleejecutarla sustraccióncon circuitos lógicosde una ma-
nera directa como se hace con lápiz y papel. Mediante este métod<i,cada
bit de sustraendo del número se resta de su correspondientebit signifi-
cativo del minuendopara formar el bit de Ia diferencia.Si eL bit del mi-
nuendo es menor que el bit del sustraendo,se presta un 1 de Ia siguiente
posición significativa. EI hecho de que se ha prestadoun 1 debe llevarse

127
128 LOGTCA
coMBtNACtONAL
cAP. 4
al siguiente par de bits mayorgs por
medio de Ias señaresbinarias que
vienen (salida) de un estadl a"gá-y
van al (entrada) siguiente estado
mayor' De la misma manera que hay
sumadores;;Ji*'y completos.Hay
sustractoresmediosy completos.

S u s t r a c t o rm e d i o

un sustractor medio es un circuito combinacional


produce su diferenc_ia. que resta dos bits y
Este también ti.n, unu salida que especifica
ha prestado un 1' se designa bi; det si se
mi'ue'do con r y el bit del sus-
traendo con v. para reariár.x-y "r r" a"¡u lá"r;],Jil
t i v a s d e x y y . S i r l y , t e n d r e m á tsr e s p o s i b i l i d a d e s : lagnitudes rela_
1-1:0. O_ó:0, 1_6:1 y
"s-r,é
El resultadose llama er bit d"'dl¡;;;;,-
y se hace necesa¡ioprestar un 1 der se tiene 0_1,
siguiente u 1 prestado
del estad<¡siguiente.mavor asresa 2 ar b;^á;i'-:;;;;;Hi" "stráo-rnay"i.
que en el sistema decimal un r,ú,o".o pre-stado misma forma
agrega10 al dígito der mi_
nuendo' Con el minuendoigual a 2laiiferen"i"
El sustractor medio necesitá ¿o. .uiiáu.. *L"riJit" 2-I:I.
una salida genera la "r,diferencia
y se designamediante el símbolo D.
la segundasalidi aesignaaacomo B
(B viene de Borrow), generala
señal bi.raria que informa al siguiente
do que se ha prestado un uno. r," lu¡ia esta-
de verdad para las reraciones de
de un sustractor medio se puede dérivar
ffj;:Í;ir"'ida de la siguienre

00 0
0l I
l0 0
ll 0
L a s a l i d ap r e s t a d aB : : 0 . s i e m p r e y c u a n d o
x . 2 y . S e r ál p a r a ¡ : 0 y y : 1 .
La salida D es el resultado¿" iu oóurucrón
aritméti ca 28 + x _ y.
Las funcionesde B-oolepurá la, ao,
,unaá, o.r lur,ru.tor medio se
derivan directamentede la tabia de ueraad,

D: x,y | ry,.
B: x'y

Es interesantenotar g"g
J" lógica para D es exactamentela misma que la
lógica para Ia salida S ¿"1 ."riuaoi-.Ai".
sustractor completo

Un sustractor completo es un circuito combinacional


que realizauna resta
entre dos bits, tomando en consideracionque
se ha prestado un 1 de un
estado menos simificativo. Este ci.cuito
tieie tres ;";;;á; y dos salidas.
Las tres entradas,x, y e denotan J-
_y -ir,u".rdo, el sustraendoy el bit de
arrastre o bit prestado respectivamente.
r,". ¿o. *liJ"., ñ'v B, represen-
E
SEC.4-4 S U S T R A C T O R E S1 2 9
H
lii
s:
s.
tan la diferencia y la salida del bit prestadorespectivamente.La tabla de
verdad para este circuito es Ia siguiente:

000 00
001 ll
010 lt
0ll l0
i
100 0l i
l0l 00
ll0 00
lll ll
Las ocho filas debajo de las variables de entrada designantodas las com-
binacionesposiblesde unos y cerosque puedenadoptar las variablesbina-
rias. Los unos y ceros para las variables de salida se determinan por la
resta de x -y - z. Las combinacionesque tienen entrada prestada z:0
se reducena las mismas cuatro condicionesdel sumador medio. Para ¡:0,
y:0 y e: 1 es necesarioprestar un 1 del siguiente estado, lo cual hace
B : \ y a g r e g a2r a x . Y a q u e 2 - 0 - 1 : l , D : 1 . P a r a¡ : 0 y y z : l 1 . , e sn e c e -
s a r i op r e s t a rd e n u e v oh a c i e n d oB : l y x:2.Ya que2-1-1:0. D:0.
P a r ar : I y y z : 0 1 , s e t i e n er - y - z : 0 l o c u a l h a c eB : 0 y D : 0 . F i n a l -
m e n t ep a r a¡ : l y y : I , z : 1 s e t i e n eq u ep r e s t a r1 , h a c i e n d B o :ly x:3
p a r a 3 - 1 - 1 : t h a c i e n d oD : I .
Las funciones de Bpole simplificadas para las dos salidas del sustrac-
tor completo se derivan de los mapas de la Figura 4-6. Las funcionessim-
plificadas en suma de productosserán:

D : x'y'z + x'yz' I ry'z' * xyz


B:x'y*x'z*yz

De nuevo se nota que la función lógica para la salida D en un sustractor


completoes exactamentela misma que la salida S en el sumadorcompleto.
Sin embargo,la salida B se parecea la función C en el sumador completo,
excepto que la variable de entrada r se complementa.Debido a estas si-
militudes, es posible convertir un sumador completo a un sustractor

0 0
-R
; 0 tr I r tl
L{---++ -I
l-
t.
r'{ I I
f
¡{l
t I
+
7. 7.

D: x'y'zl x'yzl xy'z' * xyz B:x'y+x'zrya

Figura 4-6 Mapas para un sumadsr completo


l3O LOGICA
COMBINACIONAL C A p .4

completo simplemente complementando la entrada ¡ antes de su aplicación


a las compuertas que forman el bit de arrastre de salida.

4.5 C O N V E R S I OENN T R EC O D I G O S

La disponibilidad de una gran variedad de códigospara los mismos ele-


mentos discretosde información da como resultado el uso de códigosdife-
rentes para diferentessistemas digitales. Es necesarioalgunas vecesusar
Ia salida de un sistema como entrada de otro. Un circuito de conversión
debe colocarseentre los dos sistemas, si cada uno usa diferentescódigos
para la misma información. De esta forma un conversorde código un
circuito que hace compatibles dos sistemas a pesar de que ambo- tengan ".
diferentecódigobinario.
Para convertir el código binario A al código binario B, las líneas de
entrada deben dar una combinación de bits de los elementos,tal como se
especificapor el código A y las líneas de salida debengenerarla correspon-
diente combinaciónde bits del código B. Un circuito cómbinacionalreáliza
e-statrasformación por medio de compuertaslógicas. El procedimiento'de
diseño de los conversoresde código se ilustra mediante Ln ejemplo espe-
cífico de conversiónde BDC a código de exceso3.
Las combinacionesde bits del BDC y el exceso3 se listan en la Tabla
1-2 (sección 1-6). como cada código usa cuatro bits para representarun
I
dígito decimal, debe habe¡ cuatro variables de entrada y cuatro variables I
de salida. Es cpnvenientedesignarlas cuatro variablesbinarias de entrada
mediante los símbolosA, B, c y D y las cuatro variables de salida con u,,
-r, y, y z. La tabla de verdad que relacionalas variablesde entrada y salida
se muestran en la Tabla 4-1. Las combinacionesde bits para las entradas
v sus correspondientessalidas se obtienen directamente de la Tabla 1-2.
Se nota que cuatro variables binarias pueden tener 16 combinaciones

Tabla 4-1 Tabla de verdad para el ejemplo de conversión de códieo

Entrada Salida
BDC código exceso3

0 0 00 0 ll
0 0 0l 0 00
0 0 t0 0 0l
0 0 ll 0 r0
0 00 0 tl
0 0l I 0 00
0 l0 I 0 0l
0 ll I 0 l0
I 00 I 0 ll
I 0l I I 00
!
S E C .4 . 5 CONVERSIO C O D I G O SI 3 I
ENTRE
r
F

de bits de las cuales se listan 10 en la tabla de verdad. Las seis combina-


ciones de bits no listadas para las variables entrada son las combinacio-
nes de no importa. Como ellas nunca ocurren, se tiene la libertad de asig-
nar un 1 ó un 0, a las variables de salida, de acuerdo a Ia que dé un circuito
más simple.
Los mapas de Ia Figura 4-7 se dibujan para obtener una función de
Boole simplificada para cada salida. Cada uno de los cuatro mapas de la
Figura 4-? representa una de las cuatro salidas de este circuito como fun-
ción de las cuatro variables de entrada. Los unos marcados dentro de los
cuadrados, se obtienen de dos términos mínimos que hacen que la salida
sea igual a 1. Los unos se obtienen de la tabla de verdad observando las
columnas de salida una por una. Por ejemplo, la columna bajo la salida e
tiene 5 unos, por tanto, el mapa para z debe tener cinco unos cada uno de
los cuales debe ser un cuadrado que corresponde al término mínimo que
hace z igual a 1. Las seis combinaciones de no importa se marcan con X.
Una posible forma de simplificar las funciones en suma de productos se
lista bajo el mapa de cada variable.
Se puede obtener un diagrarrra lógico de dos niveles directamente de
las expresiones de Boole derivadas de los mapas. Hay otras posibilidades
para el diagrama lógico que ejecuta este circuito. Las expresiones obteni-

C
CD -ll 'lo- CD
AB OO ol LB 0

00 lt I 00 r-l ta
01 I I
II
t)
I
( lB
^l' x X ^
]' ^j ll X

lx
^ I
I

I' l_l X I
l-r L

D D
D' \'-CD iC'D'
L
CD CD
B B 00 0l ll

I lll
-T
rl

I f-
f I
0l
I 'l it
I
,l
AI

t
I
[.]

Ir ^

I
=
lxl
'\

rl
J'^u ll ^

I
^

I
A
^
I'
D D
t B'C - I]'D BC'D' v¡'-. A BC BD

Figura 4-7 M a p a s p a r a e l c r ¡ n v c ' t s o rd e c t i d i g o d e B D C e x c e s o 3


I32 L o G I c Ac o M B I N A C I o N A L
CAP. 4

das en la Figura 4-T pueden manipularsealgebraicamente


con er propósito
de usa¡ compuertascomunes pará do. o más salidas.
Esta manipuración
mostrada a continuación, ilustra la flexibilidad obtenida
con los sistemas
de múltiples salidas cuando se ejecutan con tres o más
niveles de com_
puertas.

z: D',
y: CD + C'D' : CD + (C + D\,
X: B'C + B'D + BC'D' : B'(C + D) + BC'D'
: B'(C + D) + B(C + D),
w:A+BC+BD:A+B(C+D)

Pl diagrama lógico que configura la expresión anterior se muestra en ra


Figura 4-8. En este se_observa que la compuerta oR cuya salida es c+D
se ha_usadopara configu.a. pa.cialmente cada una de ias tres salidas.
No teniendo en cuenta los inversores de entraar,-ü-"j""rrción en
suma
de productos requiere siete compuértas AND y tre. colpuáJas oR.
La con-
ñguración de la Figura 4-8 requiere cuatro compuertas AND,
cuatro com_
puertas oR y un inversor. si están disponibles solamente'las
entradas
normales, la primera ejecución requerirá inversoresp".u ü,
variables B, c
-v.D. Mie¡¡tras que la segunda ejecución requiere inversorespara ras varia-
b l e sB y D .

Figura 4-8 Diagrama lógico para el converso¡ de código


BDC a exceso 3
up,
h.i
ilr
*i
4-6 DE ANALISIS
PROCEDIMIENTO F:

El diseño de los circuitos combinacionalescomienzacon las especificacio-


nes enunciadas de una función requerida y culmina con un conjunto de ':
funciones de Boole de salida o un diagrama lógico. El anólisis de un cir- ri
cuito combinacionales de cierta manera el procesoinverso. Este comienza il
diagrama lógico dado y culmina con un conjunto,de funcionesde rf
"o" "" una"tabla dJverdad o una explicación verbal de la operacióndel
Bool", it ¡i
circuiio. Si el diagrama lógico que se va a analizar se acompañadel nom-
bre de la función, o una explicación de lo que se asumeque logre, entonc-es
rt u.tetiri* del problemase ieduce a la verificaciónde la función enunciada'
ii
El primer paso en el análisis es asegurarseque.el circuito dado sea
il
combinacionaly no secuencial.El diagrama de un circuito combinacional
tiene compuertás lógicas sin caminos de realimentación o elementos de
memoria.Ü.t camitto de realimentaciónes una conexiónde la salida de una
compuerta a la entrada de una segunda compuerta que forma parte de _la
entrada de la primera compuerta. Los caminos de realimentación o ele-
mentos de memoria en un circuito digital definen un circuito secuencial
en el
V á"U"" ser analizados de acuerdo a los procedimientosesbozados
Capítulo 6.
una vez que se verifique el diagrama Iógico como circuito combinacio-
nal, se puede procedera obtener las funcionesde salida y la tabla de ver-
¿aa. Si-el circuito se acompañade una explicación verbal de esta función,
entonces las funciones de Boole o la tabla de verdad son suficientes para
la verificación. Si la función del circuito está bajo investigación,entonces
es necesariointerpretar la operación del circuito de la tabla de verdad
derivada. El éxito de tal investigación se facilita si se tiene experiencia
previa y familiaridad con'una gran variedad de circuitos digitales. La ha-
üiU¿"a- de correlacionaruna tabla de vqrdad con una tarea de procesa-
miento de información es un arte que se adquierecon Ia experiencia.
Para obtener las funciones de Bbole de salida de un diagrama lógico,
se procedede la siguientemanera:
1. señálesecon símbolosarbitrarios todas las salidas de las compuer-
tas que son fpnción de las variables de entrada. Obténgaselas
funciones de Boole para cada compuerta'
2. Márquesb con otros símbolos arbitrarios aquellas compuertas que
son una función de las variables de entrada y las compuertasmar-
cadas anteriormente. Encuéntrese las funciones de Boole para
ellas.
3. Repítase el procesoesbozadoen el paso 2 hasta que se obtengan
las salidas del circuito'
4. obténgase las funcionesde Boole de salida en términos de las va-
riableJ de entrada solamente,por sustitución repetida de las fun-
ciones definidas anteriormente.

El análisis del circuito combinacionalen la Figura 4-9 ilustra el pro-


cedimiento propuesto.Se nota que el circuito tiene tres entradasbinarias,
133
I34 LoGIcAcoMBINACIoNAL CAP. 4

A, B y c y dos salidas binarias, F, y Fz. Las salidas de las diferentes


compuertas se marcan con símbolos intermedios. Las salidas de las com-
puertas que son funciones de las variables de entrada son solamente F2
,
Tt y Tz. Las funciones de Boole para estas tres salidas son:

Fz:AB+AC+BC
Tt:A+B+C
TZ: ABC

En seguida se consideran las compuertas de salida que son funciones de


los símbolos ya definidos:

Tt: FiT,
F': T' + T'
La función de Boole de salida F, está ya expresada como una función de
las entradas solamente. Para obtener F, comó función de A, B y c se for-
man una serie de sustituciones como sigue a continuación:

Ft : Tt* Tr: F;Tt + ABC : (AB + AC + BC),(A + B + C) + ABC


: ( A ' + B , ) ( A ,+ C , ) ( 8 ,+ C , ) ( A+ B + C ) + A B C
: ( A ' + B ' C ' ) ( A B+' A C ' + B C ,+ B , C )+ A B C
: A , B C , + A , B , C+ A B , C , + A B C
si se quiere continuar con la investigación y determinar la ta¡ea de
infbrmación-trasformación lograda po. esie circúito se puede derivar
la
tabla de verdad directamente de las funciones de Boole y tratar de reco-

A
B
C

A
B
(-

B
C

Figura 4-9 Diagrama lógico para el ejemplo de análisis


S E C .4 . 6 DO
PROCEDIMIENT E ANALISTS 135

nocer una operación familiar. Para este ejemplo nótese que el circuito es
un sumador completo, con Fr siendo Ia suma de salida y Fz el bit de
arrastre de salida. A, B y C son las tres entradas sumadas algebraica-
mente.
La derivación de la tabla de verdad para el circuito es un proceso di-
recto una vez que se reconozcan las funciones de Boole de salida. Para
obtener la tabla de verdad directamente del diagrama lógico sin pasar por
las derivaciones de Ias funciones de Boole, se procede de la siguiente
manera:

1. Determínese el número de variables de entrada del circuito. Para


n entradas, fórmese las 2n posibles combinaciones de entrada de
unos y ceros listando los números binarios desde 0 hasta 2" - I'
2. Márquese las salidas de las compuertas seleccionadas con símbo-
los arbitrarios.
3. Obténgase la tabla de verdad para las salidas de aquellas compuer-
l
li tas que son una función de las variables de entrada solamente.
4. Procédase a obtener la tabla de verdad para las salidas de aquellas
c',mpuertas que son una función de los valores definidos previa-
rrente hasta que se determinen las cclumnas para todas las salidas.

Este proceso puede ilustrarse usando el circuito de la Figura 4-9. En


Ia Tabla 4-2 se forman las ocho combinaciones posibles para las tres en-
tradas variables. La tabla de verdad para F, se determina directamente
de los valores de A, B y C con F, igual a 1 para cualquier combinacic,n que
tiene dos o tres entradas iguales a l. La tabla de verdad para Fj es el com-
plemento de Fr. Las tablas de verdad para T1 y ?2 son las funciones OR
y AND de las variables de entrada respectivamente. Los valores para T3 se
derivan de ?, y Fj: T, es igual a l cuando T'' y F:t son iguales a uno, y a
cero de otra manera. Finalmente, F, es igual a 1, para aquellas combina-
ciones en las cuales T2 o T3 o ambas sean iguales a 1. Por inspección de
las combinaciones de la tabla de verdad para A, B, C, Ft y F, de la Tabla
4-2 se muestra que son idénticas a la tabla de verdad del sumador com-
pleto dado en la Sección 4-3 para r, y, z, S y C respectivamente.

Tabla 4-2 Tabla de verdad para el diagrama lógico de la Figura 4-9

F2 Tl T3 Fl

000 0 000
00r 0 0ll
010 0 0ll
0tl I 0 000
r00 0 I 0ll
l0l I 0 000
rt0 I 0 000
lll I 0 r0l
r

I36 LOGICACOMBINACIONAL CAP. 4

Considéreseahora un circuito combinacionalque tiene combinaciones


de entrada de no importa. Cuando se diseña un circuito como este,se mar-
can las combinacionesde no importa con una X en el mapa y se les asigna
un 1 o un 0, segúnsea lo más convenientepara la simplificación de la fun-
ción de Boole de salida. Cuando se analiza un circuito con combinaciones
de no importa se tiene una situación totalmente diferente. Aunque se
asume que las combinacionesde entrada de no importa nunca ocurren,
el hecho es que si cualquiera de estas combinacionesse aplica a las en-
tradas (intencionalmenteo por error) se tendrá presente una salida bi-
naria. El valor de la salida dependeráde la escogenciade la X durante
el diseño. Parte del análisis de tal circuito puede involucrar la.determi-
nación de los valores de salida para las combinacionesde entraia de no
importa. como ejemplo,considéreseel conversorde códigode BDC a código
de exceso3 diseñado en la Sección 4-b. Las salidas obtenidas cuando Áe
aplican las seis combinacionesno usadas del código BDC a las entradas
son:
Entradas BDC no usadas SaLidas
ABCD x
I I 0 0 I
I
I I I 0
I 0 0 I I
I 0 I 0 0 0
I I 0 0 0 I
I I I 0 I 0

Estas salidas pueden derivarse por medio del método del análisis de la
tabla de verdad esbozado en esta sección. En este caso particular, las sa-
lidas pueden obtenerse directamente de los mapas de la Figura 4-7. por
inspección de los mapas, se determina cuando las X en los iuadrados de
los términos mínimos correspondientes a cada salida, han sido incluidos
como unos o ceros. Por ejemplo, el cuadrado del término mínimo m,6 (1010)
se ha incluido con los unos para dar salidas w, x y z pero tro paü y. por
tanto, las salidas para mro son wxyz:1101 tal como están listadas en la
tabla anterior. Se nota que las primeras tres salidas en la tabla no tienen
significado en el código de exceso 3 y por lo menos tres salidas correspon-
den al decimal 5, 6 y 7 respectivamente. Esta coincidencia es totalmónte
una función de Ia escogencia de X durante el diseño.

4-7 C I R C U I T O SN A N D D E M U L T I N I V E L

Los circuitos combinacionalesse construyen más frecuentementecon com-


pygflls NAND y NOR en vez de compuertasAND y OR. Las compuertas
NAND y NoR son más comunesdesdeel punto de vilta del materiai (trard-
ware) ya que se obtienen en la forma de circuitos integrados. Debido a la
importancia de las compuertas NAND y NoR en el áiseño de circuitos
combinacionales,es importante poder reconocerla relación que existe entre
I

sEc. 4-7 NAND DE MULTINIVEL 137


CIRCUITOS ü

los circuitos construidos con compuertas AND-OR y sus diagramas NAND


o NOR equivalentes.
La ejecución de los diagramas lógicos de dos niveles NAND y NOR
fue presentada en la Sección 3-6. Aquí se considera el caso más general de
los circuitos de multinivel. El procedimientopara obtenercircuitos NAND
se presentaen esta seccióny para los circuitos NOR en la siguientesección.

Compuerta universal

La compuerta NAND se conocecomo la compuertauniversal ya que cual-


quier sistema digital se puede configurar con ella. Los circuitos combina-
cionales y secuencialespueden construirse también con esta compuerta
ya que el circuito flip-flop (el elemento de memoria usado más frecuente-
mente en los circuitos secuenciales)puedeconstruirsea partir de dos com-
puertas NAND conectadas especialmente como se muestra en la Sección
6-2.
Para demostrar que cualquier función de Boole puede configurarsecon
compuertas NAND, se necesita no solamente mostrar que las operaciones
lógicas AND, OR y NOT puedenser configuradascon compuertasNAND.
La configuraciónde las operaciones AND, OR y NOT con compuertasNAND
se muestra en la Figura 4-10.La operaciónNOT se obtienede una compuer-
ta NAND de una sola entrada, lo cual constituyeotro símbolopara el inver-
sor. La operación AND requiere dos compuertasNAND. La primera produce
la AND invertida y la segundaactúa como un inversor para producir la sa-
lida normal. La operación OR se logra mediante una compuerta NAND
con inversoresadicionales en cada entrada.
Una manera convenientede configurar un circuito combinacionalcon
compuertas NAND es obtener las funciones de Boole simplificadas en tér-
minos de AND, OR y NOT y convertir las funcioncsa lógicaNAND. La con-

NOT (inversor)

AND

: * u
( A ' , B ' ) ' ,A oR

Figura 4-1O Configuración del NOT, AND y OR por medio de compue¡tasNAND


I38 LoGIcACoMBINACIoNAL CAP. 4

versión de expresiones algebraicas de operaciones AND, oR, Nor a opera-


ciones NAND son comúnmente muy complicadas ya que envuelve un gran
número de aplicaciones del teorema de De Morgan. La dificultad se elude
mediante el uso de manipulaciones de circuitos y reglas sencillas las cuales
se esbozan a continuación:

Configuraciónde las funciones de Boole-


Método del diagrama de bloque

I,a configuración de funciones de Boole con compuertas NAND pueden


obtenerse por medio de una técnica de manipulación del diagrama de blo-
que. Este método requiere que se dibujen otros dos diagramas lógicos antes
de obtener el diagrama lógico NAND. sin embargo el procedimiento es muy
simple y directo: Í

¡ A partir de una expresiónalgebraica,dibújeseel diagramalógico con


compuertasAND, OR y NOT. Asúmaseque se tienen disponibles
las entradas normales y sus compuertas.
2 . Dibújese un segundodiagrama lógico con la lógica NAND equiva-
lente, como se da en Ia Figura 4-10 y sustitúyasepara cada com-
puerta AND, OR y NOT.
Quítese cualquier par de inversores en cascada del diagrama ya
que Ia doble inversión no produce una función lógica. euítese los
inversoresconectadosa entradas externas simples y complemén-
tese la variable de entrada correspondiente.El nuevo diagrama
lógico obtenido es la configuración con compuertas NAND reque-
rido.

Este procedimientose ilustra en la Figura 4-II para la función:

F: A ( B + C D )+ B C '

La ejecuciónAND-OR de esta función se muestra en el diagrama lógico de


la Figura 4-11(a).Para cada compuerta AND, se sustituye una compuerta
NAND seguidade un inversor; para cada compuertaoR se sustituyen in-
versoresde salida seguidosde una compuerta NAND. Esta sustitución se
desprendedirectamentede Ias equivalenciaslógicas de la Figura 4-10 y se
muestra en el diagrama de la Figura 4-11(b).Este diagrama tiene siete in-
versoresy cinco compuertas NAND de dos entradas con sus respectivos
númerosdentro del símbolo de Ia compuerta.El par de inversoresconecta-
dos en cascada(de cada recuadro AND a cada iecuadro oR) se eliminan
ya que forman doble inversión. EI inversor conectadoa la entrada B se qui-
ta y se asigna Ia variable de entrada como B'. El resultadoes el diagrama
lógico NAND mostrado en la Figura 4-11(c),con el número dentro de cada
símboloidentificando la compuertade la Figura 4-11(b).
Este ejemplo demuestraque el número de compuertasNAND necesa-
rias para ejecutar la función de Boole es igual al número de compuertas
AND-OR si se cuenta con las entradas normales y su complemento.si se
(
D

R
(''
(a) ConfiguraciónAND-OR

C
D

B
('

(b) SustituyendofuncionesNAND equivalentes


de la Fizura5-8

(c) Configuracióncon NAND

Figura 4-ll C o n f i g u r a c i ód
ne I ' : A ( B + ( ' l ) t t B ( ' c o n c o m p u e r t aN
s AND

IJJ
(a) ConfiguraciónAND-OR

(b) SustituyendofuncionesNAND equivalentes

(c) ConfiguraciónNAND

Figura 4-12 Configuraciónde (A+ B')(CD *E) con compuertasNAND

cuenta solamente con las entradas normales, se deben usar inversorespara


generar las entradas complementadasnecesarias.
Un segundo ejemplo de configuración con NAND se muestra en la Fi-
garu 4-12.La función de Boole que se va a ejecutar es:

F:(A+B,)(CD+E)

La configuraciónAND-OR se muestra en la Figura 4-12(a),y su sustitución


con lógica NAND, en la Figura 4-12(b).Se puedenquitar un par de inver-
t40
sEc. 4-7 N A N D D E M U L T I N I V E L' 4 '
CIRCUITOS

soresen cascada.Las tres entradasexternasE, A y B' que van directamen-


te a los inversoresse complementan y se quitan los correspondientesinverso-
res. La config¡ración finál con compuertasNAND está en la Figura 4-12(c).
El núméro de compuertas NAND del segundo ejemplo es igual al nú-
mero de compuertasAÑD-OR más un inversor adicional en la salida (com-
puerta NANb 5). En general,el número de compuertasNAND necesarias
para configurar una función es igual al número de compuertas AND-OR,
fxcepto po*ralgun inversor ocasional. Esto es verdad si se cuenta con las
entrádas-normáles y su complementoya que la conversiónhace que se com-
plementen ciertas variables de entrada.
El método del diagrama de bloque es algo aburrido de usar ya que re-
quiere el dibujo de dos diagramas lógicos para obteaer la respuesta en el
tercero. Con álguna experiénciaes posible reducir la cantidad de trabajo
anticipándo.e J los pares de inversores en cascada y a los inversores en
las eniradas. Comenzandocon el procedimientoesbozado,no es muy difi-
cil derivar las reglas generalespara la ejecución de funciones de Boole
con compuertas NAND directamente de una expresión algebraica.

P r o c e d i m i e n t od e a n á l i s i s
El procedimiento anterior considera el problema de derivar un diagrama
togico NAND de una función de Boole dada. El procesoinverso es el análi-
siJdel problema que comienza con un diagrama lógico N4ND dado y que
culmina con una expresiónde Boole o una tabla de verdad. El análisis de
los diagramas lógicoi NAND sigue el mismo procedimientopresentado.en
la Secc-ión4-6 pára el análisis de los circuitos combinacionales.La única
diferencia -se NAND requiere una aplicación repetida-del teo-
qul la lógica
"t
rema de De Morgan. demostrará la deducción de la función de Boole
a partir de un dlagrama lógico. Luego se demostrará la deducción de la
taÉla de verdad diiectamente del diagrama lógico NAND. Finalmente, se
presentará un método para converti¡ u¡r diagrama lógco- NAND a un dia-
gr"*u lógico AND-OR por medio de la manipulación de un diagrama de
bloque.

Deducciónde la función de Boole


a p a r t i r d e l a m a n i p u l a c i ó na l g e b r a i c a

El procedimientopara deducir la función de Boole a partir de un diagrama


lógíco se esbozaeñ la Sección 4-6. Este procedimiento se demuestra para el
diágrama lógico NAND mostrado en la Figura 4-13,el cual es el mismo que
d" la Figura 4-11(c). Primero, todas las salidas de las compuertas
"q,r"l
-"r."tt con símbolos aritméticos. Segundo se derivan de las funciones
""
de Boole para las salidas de las compuertas que reciben solamente entra-
das externas:
Tt: (CD\': C' + D'
T r : ( B C ' ) ': B ' * C
La segunda forma se desprende directamente del teorema de De Morgan
y prr"á" a veces ser más conveniente de usar. Tercero, las funciones de
t
t
Figura 4-13 Ejemplo de análisis
I
Boole de compuertas que tienen entradas de funciones anteriormente de-
rivadas se determinan en .rden consecutivo hasta que la salida se exprese
en términos de variables de entradas:

\: (B'7,)': (B'C'+ B'D')'


:(B+CXB+ D):B+CD
T ¿ : ( A T r ) :' l A ( B + C D ) j ,
p: (rrra)':
:
¡1rcf ¡nó + coll'\,
BC',+ A(B + CD)
t
Deducción de la tabla de verdao

El procedimiento para obtener I^. tabla de verdad directamente de un dia-


grama lógico se esbozaen la Sección 4-6. Este procedimiento se demuestra
por e! diagrama lógico NAND de la Figura 4-13. primero se listan las
cuatro
variables de entrada conjuntamente óon las 16 combinaciones de unos v
ceros como se muestra en la Tabla 4-8. Segundo se marcan las salida.s
de todas las,compuertas con símbolos aritméticos como en la Figura 4-13.
Tercero se obtienen las tablas de verdad para las salidas de aquellas com-
puertas que son función de las variables de entrada solamente. Estas
son
T, y ( c D ) ' , e n t o n c e ss e m a r c a n c e r o se n a q u e l l a s f i l a s d o n d e a m -
-T¿.Tt:
y D sean iguales a 1y se llena el resto de las filas de ?, con unos.
F. 9
También Tr: (BC )' de tal manera que se marcan cerosen uqrr"iru, colum-
n a s - d o n d eB : \ y c:0 y se llena el resto de las filas de T, conunos. Se-
guidamente se procede a obiener la tabla de verdad para las salidas
de
aquellas compuertas que son función de las salidas deiinidas previamente
hasta que se determine la columna para la salida F. Es posiblé, ahora, ob-
tener una expresión algebraica a partir de la tabla de verdad derivada.
El mapa mostrado en la Figura 4-r4 se obtiene directamente de la Tabla
4-3 y tiene unos en los cuadrados de aquellos términos mínimos para krs
142
{

5
f
Tabla 4-3 Tabla de verdad para el circuito de la Figura 4-13

T2 T3 T4

0000 0 l0
0001 0 l0
0010 0 l0
00ll I l0
0100 I ll
0101 I ll
0ll0 I l0
0lll I l0
1000 0 l0
l00l 0 l0
l0l0 0 t0
l0ll 0 0l
ll00 I 0l
ll0l I 0l
lll0 I 0l
llll 0 0l

l
I AB
00

0l
Il'
I

t Figura 4-14
D
F:AIJTI.JC,_ACt)

Deducciónde F a partir de la Tabla 4-3

cuales F es igual a 1. La expresión simplificada que se obtiene del mapa


será:
F: A B + A C D + B C ' : A ( B + C D )+ B C '

Esta es la misma expresión de la Figura 4-ll, verificando así la respuesta


correcta.

Trasformación del diagrama de bloque

Es conveniente algunas veces convertir un diagrama lógico NAND a


SU
ló_gico AND-OR para facilitar el procedimiento de
equivalente diagrala
143
{
I44 LOGTCACOMEINACTONAL
CAP. 4 I
análisis. Al hacer esto, la función de Boole puede derivarse
mediante el uso del teorema de De Morgan. La conversión
muy fácilmente
r
de diagramas
]ó$co-s se logra a través.del proceso inve-rsour u.uaá pár" la ejecución de
los mismos. En la sección 3--6se most¡a¡on ¡o.;ír"bi;*grári.o.
para la compuerta NAND. Estos símborosse repitieron alternos
en litr'igura ¿-rlp.i
conveniencia. Po¡ medio de un conciente uso dL ambos términJs,
po.i'blu
convertir un diagrama NAND a una forma equivalente
AND-oÍt. ".
La conve¡siónde un diagrama lógico NAñD ;;;;i;srama
AND-OR
se logra a través de un cambio de símibros de un
¡ño lr,u"urtido a oR in_
vertido en niveles de^compuertas arternas. El primer;;;i
que debe cam_
biarse a un símbolo oR invertido debe ser el último nivJ
Estos cambios
producen pares de círculos en ra misma línea, t",
ya que representan doble complementación. una """r"r'iu"¿.r, eliminarse
comp,r"rt" AND u oR de
y.ry .ol1 e"t.rgqa pu:{e también quitarse ya que no hace ninguna función
lógica. una AND u oR de una sora entrada con u"
la entrada o la
salida se cambia a un circuito inversor. "ir.rrü"r,

,1-\a
B--------{ *-¡ ABC i A---{ - B' - C
c----l_J é--4_z )-¿'
, ,nurr'
(a) AND invertido (b) OR invertido

Figura 4-15 Dos símbolospara una compuerta NAND

Este procedimiento se demuestra en la Figrrra 4-16. El


diagrama lógico
.N+NP de la Figura 4-16(a) se conviert" .rr,-di"gr"_" .AñO_OR. El sím_
bolo-de-la gompuerta en el último nivel se"cambia a un
oR invertido. obser_
vando los diferentes niveles, se encuent-raotra compuerta
que requiere un
cambio de símbolo como se muestra en la.Figur; a_i6ó"
Cualquier par de
círculos en la misma línea se eliminan. círcil,os q""lá1,
a ent¡adas exter_
nas se eliminan siempre y cuando la variable ¿e'e"traáa
correspondiente
esté complementada.El diagrama lógico ¡,No-on ;q;;"id"
se dibuja en la
Figura 4-16(c).

4.8 C I R C U I T O SN O R D E M U L T I N I V E L

La función NoR es el dual de la función NAND. por esta


razón todos los
procedimientos y reglas para la lógica NoR forma"
el-áu"l de los corres-
pondientes procedimientos y regla-sdesarrollaá;-;;
ü t¿gi""-ñÁñó.
Esta sección enumera varios métodospa-rala co., togica NoR
y el análisis mediante el seguimiento dg una"o"irg.ir*io.
listi áé-lápi"o. ,rüdo, p"o
la lógica NAND. sin_embargono se incluye una m¡ís detallada
para prevenir repetición de lo expuestoen la Sección
"rpri"".íó"
4-2.
Compuerta universal

Laconlpuerta NoR es univers¿r.ya que se puede ejecutar cuarquier


función
de Boole con ella incluyendo el ciicuiio flip-¡of -=J;"d, t"'se""i¿r, o-2.
La conversión de AND, oR y NoT a t¡óR ü -o".i." "i t" rig,r,a a--fi'.
"r,
L'

D'
l B'.

A
B

(a) Diag¡ama lógico NAND

B'

(b) Sustitución de símbolosOR invertido


en nivelesalternos

A
B

( c ) Diagrama lógicoAND-OR

Figura 4-16 Conversiónde un diagramalógico NAND a AND-OR

NOT (inversor)
¿---l ffA'
t

A: B OR

(A' -r B')'- AB AND

Figura 4-L7 Configuración de NOT' OR Y AND por medio de compuertas NOR


t45
146 LOG¡CACOMBINACIONAL
CAP 4

La operaciónNoT se obtiene de una


compuertaNoR de una sora entrada
orro símbolo p"." inversor.^LaoperaciónOR requiere
l"^:::::l:ti^tuve
dos compuertas NoR. La primera produce
"t la oR inu"liia, y la segunda
actúa como un inversor para obtener la
sarida ;";;;1."i; operación AND
por medio de la óomp"e.ta ñoR
.on i"rl-r.á.., u^áicior,"re.en cada
:il""t#

C o n f i g u r a c i ó nd e l a s f u n c i o n e sd e
Boole_
Método del diagrama de bloque

El procedimiento del diagrama de


bloque para configurar f.unciones de
concompuertas Noñ
1:t" "".i-iiut
crón previa para las compuertas --- --¡ en la sec_
NANID."l;;"ül;i""io?llo"u¿o
1' Dibújeseel diagrama rógicoAND-OR
a partir de una expresiónalge_
braica. Asúmase que se cuenta con
las errtiadas normales y su
complemento.
2' Dibújese un segundodiagrama lógico_con
lógica NoR equivalente,
de la maney ,lTdu e" tá figu, a 4_17,
sustitirye.rdocada compuer_
ta AND, OR y NOT
3' Elimínese ros pares de inversores
en cascadadel -.".r.ilt*
diagrama. euítese
los inversoresconectadosa entradas
.*t"irr", y comple-
méntesela variable de entrada correspondiente.

El procedimientose ilustra en la Figura


4-rg para la función:
F: A(B + cD) + BC'

La ejecuciónAND-oR de ra función se_muestra


Figura 4-18(a).Por cada-c"-p""ii" óh en el diagrama rógicode la
." sustituye .rr," NoR
seguida de un inverso¡' por cáda com-puerta "o*p.rerta
AND ie ,,rJiirryu' inve¡sores
en las entradas de una compuerta Nory.
rt pa, ae-r;;;;.;.", en cascada
de la oR enmarcaday la ANb
se elimina. Los cuatro inversores
conectadosa ras entradas externas ""-"tá"se remueven
y se comprementanlas
variables de entrada Er resultado .l aiagram; tári." ñón mostrado en
la Figura 4-18(c).El nume19-* ".
numerg d:.:l-p.""fras l"_-o*rtas NOR e.te e¡emptoes igual
1-l AND_OR *á. .r. inve¡so¡"i adicional
(compuertaNoR 6). En general el núme¡o a la salida
para la ejecución de funciones ¿e Boolá au necesa¡ias
"o*p,,,"iü.-ñon
es iguar ;,1;;; de compuertas
AND-OR exceptopor un inversor o"".ion"l."Lo "i
y cuando se cuente con ras entradas a.,terio. J válido siempre
normalesy * ya que la
misma conversióninduce qu" ." ""-pl"lento
ciertas variables.
" "o*pr"-".rten
P r o c e d i m i e n t od e a n á l i s i s

El análisis de los diagramas lógicos


NoR sig'e los mismos procedimien-
tos presentadosen la sección 4--6para-el
análisis de los circuitos combi_
nacionales.para deducir una función
d" Bnrr;-¡;;;^;iü","a lógico se
(.
D

u
C'
(a) ConfiguraciónAND-OR

Sustituyendolas funcionesNOR
equivalentesde la Figura 5-19

^
B,
C
(c) ConfiguraciónNOR

Figura 4-18 ne F - A ( B + C D ) + B C ' c o n


C o n f i g u r a c i ód c o m p u e r t a sN O R

marcan las salidas de varias compuertas con símbolos arbitrarios. Me-


diante varias sustitucionesse obtiene la variable de salida como función
de las vaiiabhs de entrada. Para obtener la tabla de verdad de un diagra-
ma lógico sin primero deducir la función de Boole, se forma una tabla ha-
t47
CAP. 4
148 L O G I C AC O M B I N A C I O N A L

c i e n d o u n a l i s t a d e l a s n v a r i a b l e s c o n 2 ' f i l a s d e u n o s y c e r ose
s . Ldeducen
atabla
compu-ertasNoR
de verdad de las ,piiá", de las diferentes
en cadena hasta obtenrri"Lui" de verdad de salida. La función de salida
de una compuertaNOR trpü;, ¿r lu forma T : (A+ B', +C)" de tal ma-
;;t;^*; üiutru ¿. para T se m.arca con un 0 para aquellas combi-
".ia"á : las filas se llena con unos.
nacionesen que A:l 6¡: ó ¿ c \.El restode

T r a s f o r m a c i ó nd e l d i a g r a m a d e b l o q u e
lógico
para convertir un diagrama lógico NOR a su equivalente diagrama
NOR mostrados en la
AND_OR, se usan ior"i-iofor"para las "o-pr*itu* compuerta NOR
símbolo noimal para una
Fizura 4-1g. La OR i"";id"
;'i;';,Ñó"f;;td;-;;-;;;
". "l
alternativa convenienle que utiliza el teorema
que
á.'b;^Iü'";;-;l; convención de pequeños círculos en las entradas
denotan comPlementación'

, 4_ _ _ _ _ _ S . tA_B+cy A'B'c' -\A-B-CI


'o a-ñ
--
3-J E-
(b) AND inve¡tida
{ a) OR invertida

Figura 4-19 Dos símbolospara una compuerta NOR

diagramaAND-OR se
La conversiónde un diagrama lógico NOR a un
logra ¡xrr medio ¿u I"Jü;; l;. .i-bolo. de OR invertida a AND inver-
"" y en niveles alternos' Los pares de
tida comenzando ,rr-"i rifti-o nivel
c í r c u l o s p e q u e ñ o s " n r r t t " m i s m a l í n e a s e e l i m i n a n ' s e q u i t a n l a s c círculo
ompuer'
que tengan un'pequeño
tas AND u OR de una .ola entrada a no ser
en un lnversor'
a t salida o a Ia entrada, en cuyo casose convierten el diag¡ama
Este procedimiento se muestra en la Figu'7!-?\tld"
Elsímbolo para la
lógico NOR en t"l *-"ár*ierte a un diagrami¡,NO-On. Al observar
."-ñiu a un AND invertida'
;;"";;;;;-""
"f',iiti-á "l""liál.u en el nivel 3 y dos en dl
los diferentesniveles, se encuentrauna "o-p""*"
un cambio de símbolos como se muestra
nivel 1. Estas comp-iertas sufren Los
línease remueven.
en (b). cualquierp;; il circulosen una misma
quitansiemprey cuandosehayan
círculosquevan a entradasexternasse La compuerta
;;;;ü*;;lado las variablesde entradacorrespondientes,
e n e l n i v e l s s e c o n v i e r t e e n u n a c o m p u ebuscado,
rtaAND sedmuestra
e u n a s oen
l alae n t r a d a
tanto se elimina.El diagramalógicoÁÑó-on
Figura4-20(c).

4-9 OR EXCLUSIVA
LAS FUNCIONES
Y DE EOUIVALENCIA
ivav.deequ
La oR-exclus iv"l'-Y:, X1 ffiHi:" ffitl;
;"
|e, binarias
oPeraciones
$".1"ff
que realt: #:"3.t"?.
xOY:ry'+x'Y
xOY:ry*x'Y'
C'
D'

(a) Diag¡ama lógico NOR

C'
D'

(b) Sustitución de símbolos AND invertida en niveles internos

B
C'
(c) Diag¡ama lógico AND-OR

Figura 4-2O Conve¡sión-de un diagrama Iógico NOR a AND-OR

Las dos operaciones son complementos entre sí. Cada una de ellas es aso-
ciativa y commutativa. Debido a las dos anteriores propiedades, una
función de tres o más variables, puede expresarse sin paréntesis de la
siguientemanera:
(A @B)o c: A@(B e c) : A @B @ c

Esto implicaúa la posibilidad de usar compuertas OR-exclusiva (o de equi-


valencia) con tres o más entradas. Sin embargo las compuertas OR-exclu-
siva de entrada múltiple son antieconómicas desde el punto de vistade
los materiales. De hecho, aun la función de dos entradas se construye con
otro tipo de compuertas. En la Figura 4-2I(a\, por ejemplo, se muestra la
ejecuci-ónde la función OR-exclusiva de dos entradas con compuertasAND,
ÓR v NOf . La Figura 4-21(b)la muestra con compuertasNAND.
t49
I5O L O G I C AC O M B I N A C I O N A L CAP. 4

Solamenteun número limitado de funcionesde Boole se puedenexpre-


sar exclusivamenteen términos de operacionesOR-exclusivaso de equiva-
lencia. Empero, estas funciones resultan a menudo durante el diseño de
sistemas digitales. Las dos funciones son particularmente útiles en ope-
racionesaritméticas y en correcciónde detección de errores.
Una expresiónen OR-exclusivade n variableses igual a una función de
Boole con 2" /2 térmínos mínimos cuyos números binarios equivalentes
tengan un número impar de unos. Esto se muestra en el mapa de la Figura
4-22(a) para el caso de cuatro variables. Hay 16 términos mínimos para
cuatro variables. La mitad de los términos mínimos tienen un valor nu-
mérico con un número impar de unos; la otra mitad tiene un valor numé-
rico con un número par de unos. El valor numérico de un término mínimo
se determina a partir de las filas y columnas de los cuadradosque repre-
sentan el término mínimo. El mapa de la Figura 4-22(a)tiene unos en los
cuadradoscuyos términos mínimos tienen un número impar de unos. La
función puede expresarseen términos de operación OR-exclusiva con las
cuatro variables. Lo anterior se justifica por medio de la siguiente mani-
pulación algebraica:

A@
Boce,
+A,
1,,u, ',,(cD,
+c,D)
:v,iii,1,4,ii,í:i,'

(a) con compuertasAND-OR-NOT

re)

(b) con compuertas NAND

Figura 4-21 Configuraciones del OR-exclusrvo


C
0 0 B
B
I lc
l

0l I 0l I 1
I
lu
^1
I I ll I
l
I

D D
F-AaBfiCeD F .= A ABOCAD
(4, (b)

Figura 4-22 Mapa para cuatro variables (a) función OR-exclusiva


y (b) función de equivalencia

una expresión de equivalencia de n variables es igual a la función


de Boole cón 2"/2 términos mínimos cuyos números binarios equivalen-
tes tienen un número par de ceros. Esto se demuestra en el mapa de la
Figura 4-22(b) para el caso de cuatro variables. Los cuadrados,con unos
representanlos ocho términos mínimos con un número par de cerosy la fun-
cién puede expresarseen términos de operacionesde equivalenciacon las
cuatro variables.
cuando el número de variables en una función es impar, los términos
mínimos con un número de par de ceros son los mismos que los términos
con un número impar de unos. Esto se puededemostraren el mapa de tres
variables de la Figura 4-23(a).Por tanto, una expresión de OR-exclusiva
es igual a una expresión de equivalencia cuando ambas tienen el mismo
número impar de variables. Sin embargo,ellas forman los complementos
entre sí cuando el número de variables es par de la manera como se mues-
tra en los mapas de la Figura 4-22(a)y (b).
Cuando los términos mínimos de una función con un número impar
de variables tiene un número par de unos (o por equivalenciaa un número
impar de ceros), la función puede expresarsecomo complementode una
expresión de OR-exclusiva o de equivalencia.Por ejemplo, la función de
trés variables mostrada en el mapa de la Figura 4-23(b)puede expresarse
de la siguientemanera:
(A@BOC)':A@BOC

( A o B o c ) ' : A o B @c

La salida S de un sumador medio y la salida D de un sumador com-


pleto (Sección 4-3) puede configurarse con funciones OR-exclusivas ya que
óada función consiste en cuatro términos mínimos con valores numéricos
que tienen un número impar de unos. La función de OR-exclusiva se usa
t5l
BC BC
A 00 0l Á 00
0 0 I

I
All I All
t t

C L
(a) l:-A@B0c: AaBa,c (bl F: A@B'..C : A rBOC

Figura 4-23 Mapaparafunciones


de tresvariables
bastante en Ia ejecuciónde operacionesaritméticas digitales debido a que
estas últimas se ejecutan por medio de un procesoque requiere una ope-
ración de sumas o restas repetitivas
Las funciones de OR-exclusiva y de equivalpncia son muy útiles en
sistemasque requierencódigosde deteccióny correcciónde errores.Como
se trató en la Sección 1-6, un bit de paridad es una forma de detectar
errores durante la trasmisión de información binaria. Un bit de paridad
es un bit extra incluido con un mensajebinario para hacer el número de
unos par o impar. El mensaje,incluyendo el bit de paridad, se trasmite y
luego se comprueba en el extremo de recepción los errores. Un error se
detecta si la paridad comprobadano correspondea la trasmitida. El cir-
cuito que generael bit de paridad en un trasmisor se llama generadorde
paridad; el circuito que compruebala paridad en el receptorse llama com-
probador de paridad"
Como ejemplo, considéreseun mensaje de tres bits para trasmiti¡se
con un bit de paridad impar. La Tabla 4-4 muestra la tabla de verdad para
el generadorde paridad. Los tres bits x, y y z constituyen el mensajey
son las entradas al circuito. El bit de paridad P es la salida. Para una
paridad impar, el bit P se generapara hacer el número total de unos impar
(P incluido). De la tabla de verdad, se ve que P:1 cuando el número de
unos en x, y y z es par. Esto correspondeal mapa de Ia Figura 4-23(b);
así, la función P puede expresarsede la siguiente manera:
p:x@yOz

El diagrama lógico para el generadorde paridad se muestra en la Figura


4-24(a). Este consiste en una compuerta OR-exclusiva de dos entradas y
una compuerta de equivalencia de dos entradas. Las dos compuertaspue-
den ser intercambiadasy aun producir la misma función ya que P es igual a:

p:xOy@z

El mensajede tres bits y el bit de paridad se trasmiten a su destino


donde se aplican a un circuito de observación de paridad. Durante la
trasmisión ocurre un error si la paridad de los cuatro bits es impar, ya
que la información binaria trasmitida fue originalmente impar. La salida
C del comprobador de paridad debe ser un 1 cuando ocurre un error, es
152
Tabla 4-4 Generaciónde paridad impar

Bit de paridad
generado
P

t (a) Generadorde ParidadimPar (b) Comprobador de paridad imPar


de tres bits de cuatro bits

Figtra 4-24 Diagramas lógicos para la generación y comprobación de la paridad

decir, cuando el número de unos en las cuatro,entradassea par. L,a Tabla


a-5 es la tabla de verdad de un circuito comprobadorde paridad impar.
De él se observaque la función de C consistede ocho términos mínimos
con valores numéricosque tienen un número pal de ceros.Esto correspon-
de al mapa de la FigurÁ ¡-ZZ(V),de tal manera que la expresiónpuedeser
expresadácon operadoresde equivalencia de la siguiente manera:

C: xOYOzOP

El diagrama lógico de un comprobador de paridad se.muestra en la Figura


4-24b1y consiJte en tres compuertas de equivalencia de dos entradas.
Vaté la pena anotar que el generadorde paridad puede ejecutarsecon
el circuito de ta Figura 4-24(b\ si la entrada P se mantiene permanente-
mente en lógica 0 y1a salida se marca P, la ventaja estriba en el hecho de
"circuiios
q* u-bor pueden ser usados para generación de paridad y
comprobación.
Es obvio del presenteejemplo que los circuitos de generacióny com-
p.obación de pariáad tengan una función de salida que incluye la mitad
de los términós mínimos cuyos valores numéricos tengan un número par
o impar de unos. En consecuenciaestos se pueden ejecutar con compuer-
tas de equivalenciay de OR-exclusiva'
153
,

Tabla 4-5 Comprobación de la paridad impar


f
Cuatro bits recibidos Comprobacióndel
error-paridad
C

00 I
0t 0
t0 0
ll I
00 0
0l I
l0 I
ll 0
00 0
0l I
l0 I

ll 0
00 I
0l 0
10 0
ll I

REFERENCIAS

Rhyne, Y. T., Fundamentalsof Digital S)'.stem.s


Design.EnglewoodCliffs, N. J.:
Prentice-Hall. Inc.. 1973.
2 . Peatmán,J. P., The Design of Digítal Sysúems.Nueva York: McGraw-Hill Book
Co.,1972.
N a g l e ,H . T . J r . , B . D . C a r r o l ,y J . D . I r w i n , A n I n t r o d u c t i o nt o C o m p u t e rL o g i c .
E n g l e w o o dC l i f f s , N . J . : P r e n t i c e - H a l l ,I n c . , 1 9 7 5 .
H i l l , F . . I . , y G . R . P e t e r s o nI,n t r o d u c t i o nt o S u , i t c h i n gT h e t ¡ n -a n d L o g i c a lD e -
sign, 2a. ed. Nueva York: John Wiley & Sons,Inc., 1974.
Maley, G.4., y J. Earle, The Logíc Design of TransistorDigitaL Computers.En-
g l e w o o dC l i f f s , N . J . : P r e n t i c e - H a l l I, n c . , 1 9 6 3 .
6 . F r i e d m a n ,A . D . , y P . R . M e n o n , T h e o r ya n d D e s i g no f S u i t c h i n g C i r c u i t s .W o o d -
l a n d H i l l s , C a l i f . : C o m p u t e rS c i e n c eP r e s s ,I n c . , 1 9 7 5 .

PROBLEMAS

4-1. Un circuito combinacional tiene cuatro entradas y una salida. La salida es


igual a 1 cuando (1) todas las entradas sean iguales a 1 o (2) ninguna de las
entradas sea igual a 1 o (3) un número impar de entradas sea igual a 1.

154
I
H
'l
PROBLEMAS I 55
fr
il
(a) Obtenga Ia tabla de verdad.
ii
(b) Encuentre la función de salida simplificada en suma de productos'
(c) Encuentre la función de salida simplificada en producto de sumas.
(d) Dibuje los dos diagramas lógicos'
y gene-
4-2. Diseñe un circuito combinacional que acepte un número de tres bits
re un número binario de salida igual al cuadrado del número de entrada'
bits para
4-3. Es necesario multiplicar dos números binarios, cada uno de dos
en binarios. Asuma Ios dos números representados por
formar su producto
at, ao ! ó,, b,, donde el suscrito 0 denote el bit menos significativo'
(a) Determine el número de líneas de salida necesarias'
(b) Encuentre las expresiones de Boole simplificadas para cada salida.
producto) de los dos
4-4. Repita el Problema 4-3 para formar la suma (en vez del
números binarios.
que repre-
4-5. Diseñe un circuito combinacional con cuatro líneas de entrada
que generan el
senten un dígito decimal en BDC y cuatro líneas de salida
complemento de 9 del dígito de entrada'
de cuatro bits
4-6. Diseñe un circuito combinacional cuya entrada es un número
y cuya salida es el complemento de 2 del número de entrada'
por 5 una entrada en dí-
4-7. Diseñe un crrcuito combinacional que multiplique
gito decimal representada en BDi. La salida debe ser también en BDC.
Demuestre que las salidas pueden obtenerse de las líneas de entrada sin
usar ninguna compuerta lógica'
la representaciór
4-8. Diseñe un crrcuito combinacional que detecte un error en
lógico
de un dígito decimal en BDC. En otras palabras obtenga un diagrama
las entradas tengan una combinación poco
cuya .alida sea lógica 1 cuando
usual en el código.
medios y una com-
4-g. configure un sustractor completo con dos sustractores
Duerta oR.
4-10. Demuestre cómo un sumador completo puede ser conveitido a un
sustractor
completo con Ia adición de un circuito inversor'

4-11. Diseñe un crrcuito combinacional que convierta un dígito decimal


del códi-
go8,4,-2,-1aBDC.
del código
4-12. Diseñé un circuito combinacional que convierta un dígito decimal
- -
2 , 4 , 2 , 1a l c ó d i g o 8 , 4 , 2 ' l .
de cuatro dí-
4-13. obtenga el diagrama lógico que convierte un número binario
gitos a r,,rr.,rrln"ro decimal én BDC. Nótese que se necesitan dos dígitos
áecimales ya que los números binarios van de 0 a 15'
que
4-14. un decodificador BDC a siete segmentos es un circuito combinacional
en BDC y genera las salidas apropiadas para la
acepta un número decimal
selécción de segmentos en un indicador usado para mostrar el dígito decimal'
seg-
Las siete salidas del decodificador (o, b, c, d, e, f, il, seleccionan los
P4-14
mentos correspondientes en el indicador como se muestra en la Figura
(a). La designación numérica escogida para representar el. número decimal
BDC
se muestra en la Figura P4-14(b). biseñe el circuito decodificador de
a siete segmentos.
I56 LOGICACOMBINACIONAL CAP. 4

a
-l -t
rll s l l, | | lo -l _l t_ l: I_-tt--l
ll I t_tll _r_l
.l , l. lc _l
(b) Designación numérica para el tablero numérico

(a t Designación de segmentos
Figura P4-14

Figura P4-15

4-15. Analice los dos circuitos combinacionalesmostrados en la Figura P4-15.


Obtenga las funciones de Boole para las dos salidas y explique Ia operación
del circuito.
4-16. Deduzcala tabla de verdad del circuito mostradoen la Figura P4-15.
4-I7. Mediante el uso del diagrama de bloque, convierta el diagrama lógico de la
Figura 4-8 a una configuracióncon NAND.
4-18. Repita el Problema 4-I7 para una configuración con NOR.
4-19. Obtenga el diagrama lógico NAND de un sumador completo de las funciones
de Boole.

C:xl+xz+yz
S.:C'(x+y+z)+ry2

4-20. Determine la función de Boole para la salida F del circuito de la Figura


P4-20. Obtenga un circuito equivalente con menos compuertas NOR.
A'
C

B
Figura P4-20

4-21. Determine las funciones de Boole de salida de los circuitos en Ia Fizura


P4-21.
4-22. Obtenga la tabla de verdad para los circuitos en la Figura P4-21.
4-23. Obtenga el diagrama lógico equivalente AND-OR de la Figura P4-21(a).

(b)

Figura P4-21

157
I58 LoGIcAcoMBINACIoNAL CAP. 4

4-24. obtenga el diagramalógicoequivalenteAND-oR de la Figura p4-21(b).


4-25. obtenga el diagrama lógico de una función de equivalencia
de dos entradas
usando(a) compuertasAND, OR y NOT: (b) compuertasNOR y (c) compuer_
tas NAND.
4-26. Demuestreque el circuito en la Figura 4-2L(b)es una oR-exclusiva.
4 - 2 i . D e m u e s t rqeu e I O B O C O D : X0,3,5,6,9,101 , 2 ,l 5 ) .
128' Diseñe un circuito combinacionalque convierta un número de
cuatro bits
en código reflejado (Tabla 1-4) a un número binario de cuatro bits. Ejecute
el circuito con compuertasOR-exclusiva.
1-29. Diseñe un circuito combinacionalpara comprobarla paridad par
de cuatro
bits. Se requiereuna salida de Iógica 1 cuando los cuatro bits no
constitu-
yen una paridad par.
'I 30' Ejecute las cuatro funcionesde Boole
listadas usando los tres circuitos su-
madoresmedios (Figura 4_2e).
D:AO¿OC
E: A'BC+ AB'C
F: ABC' + (A' + B')C
G:ABC
4-31. Ejecute la función de Boole:

F: A B , C D , + A , B C D ,+ A B , C , D + A , B C , D
con compuertasOR-exclusivav AND.
*IF
IC
il
'f

Lógica combinacional
con MSI Y LSI
-

4
N
.)
:!

5-1 INTRODUCCION

E l p r o p ó s i t o d e l a s i m p l i f i c a c i ó n d e l a s f u n c i o n e s d e B o o l e errn
s o bcircuito
t e n e r u nde
a
resulte en
expresión algebraica ql-r" "uuttao. se configure c o s-
que determina un circuito de bajo
baio costo. stn emoarJo, eL criterio
simplificación
;;'; il;;"'áLú. -iii a"ni'irse si se va a evaluar el éxito de la
de diseño para los circuitos combinacionales
i;g;"á;. proc.di-iunto
las compuertas nece-
p.?r."ira" en la secci ón 4_2 minimiza el número de
s a r i a s p a r a e j e c u t u , - u n u f u n c i ó n d a d a . E s t e p r o c e d i m i e n t o c l á que
s i c outilice
asume
función' aquel
que, dados do, cir"uiiot qu" tuuti"an ,la misma
que cuesta menos' Esto no es
menos compuertas et pte^fetible debido a
integrados'
.,u".ru.iurnénte cierto cuando se usan circuitos
C o m o s e i n c l u y e n v a r i a s c o m p u e r t a s l ó g i c a s e n u n a s o l a p a s t ipastilla
lla..de
CI se vuelv" la máyoría de lás compuertas de una
".onO--i"";;;;
u t i l i z a d a a u n q u e a l h a c e r l o s e a u m e n t e e l t o t a l d e c o m p u e r t a s . M á sCI aún '
son
algunas de las i"t";;;;;;iones entre las . compuert,as ,en muchos
usar tantas interconexiones
internas a la pastilla y es más económico
minimizar el número de conexiones entre pa-
i,.,i".rru. posiblés pu.u Sd"t
t i l l a s e x t e r n a s . O o n l o s c i r c u i t o s i n t e g r a d o s ' n o e s l a c a n t i d usado
a d d e cyo m elpnú-
uer.
número y tipo de cI
tas lo que determl"un .i áo"lo, .ino e"l
putá ejecutar una función
mero de interconexiones externas necesariu*
dada.
H a y n u m e r o s a s o c a s i o n e s c u a n d o e l m é t o d o c l á s i c o d e l a S e c c i ó n d4a- 2 -
p a r a e j e c u t a r. u n a f u n c i ó n
no produce el mejor circuito combinacional en este
de simplificación
da. Además, la tabla áe verdad y el procedimiento
método se vuelve -"v1t-pficado, ti nú-"to de variables de entrada es
final"l obtenido dice si debe ser configu-
excesivame.rt" gru.,Jé. El circuito
SSI' cuales podrían
rado con ,rnu .or,"*i¿n aleatoria de compuertas 'las.
grande de cI y cableado de intercone-
utilizar un número relativamente
d e u n procedimiento de di-
xión. En la mayoría á" to' casos la aplicación para una función
combinacional
seño alterno prr"d"*ptoautl' un circulto clásico. La
al seguir el método de diseño
dada aun -e¡o, q.re-el obtenido
p o s i b i l i d a d d e u n p , o " " a i , , ' i " ' ' t o d e d i s e ñ o a l t e r n o d e p e n d e d e u n p r o b l e unma
il;;;;ilii;l i""g""¡ á"r diseñador.El métodoclásicoconstituve
que se producen resul-
procedimiento geneál tal, que si se usa se garantiza
t59
I60 L O G I C AC O M B I N A C I O N ACLO N M S I Y L S I
CAP. 5

tados.. sin-embargo,
-cuando se amplía el método clásico es aconsejable
investigar la posibilidad de un método alterno que sea más eficient" p"r,
el problemaparticular entre manos.
Lg Rqimerapregunta que debe contestarseantes de pasar por un di-
seño detallado de un circuito combinacional,es si la función éstá dispo_
nible e¡ una pastilla de cI. La mayoría de circuitos MSI se obtienen co-
mercialmente. Estos circuitos realizan funciones digitales específicas
comúnmenteusadas en el diseño de sistemas de compirt"do.r, digit"l".r.
Si no se encuentra un componente MSI que produ"ca exactamente la
función necesaria,un diseñador recursivo dete poder formular un método
para incorporar un MSI en un ci¡cuito. La selecciónde componentesMSI
con preferenciasobre las compuertas SSI es extremadamenieimportante
ya que invariablemente dará como resultado una reducción considerable
de pastillas de CI y de cablesde interconexión.
La primera mitad de este capítulo presenta ejemplos de circuitos
combinacionalesdiseñados por métodos diferentes á lor pto"edimientos
clásicos. Todos los ejemplos demuestran la construcción interna de las
funciones MSI existentes. Así se presentan nuevas herramientas de di-
señoy al mismo tiempo se familiariza el lector con las funcionesMSI exis-
tentes. Es muy importante conocer las funciones MSI existentes no sola-
mente en el diseño de circuitos combinacionales,sino también en el diseño
de sistemas de computadoresdigitales más complicados.
ocasionalmente se encuentran circuitos MSI y LSI que pueden apli-
carse directamente al diseño y ejecución de cualquier ciicuilo combina-
cional. Cuatro técnicas de diseño de lógica combinacionalmediante MSI
y LSI se introducen en la segundamitad de este capítulo. Estas técnicas
hacen uso de las propiedadesgeneralesde los decohificadores,multiple-
xores' memorias de programación (RoM) y arreglos lógicos p.ogru-rúle,
(PLU). Estos cuatro componentesde cI tiénen u"n gran"nú-.ro á" aplica-
ciones. Su uso en la configuraciónde circuito" descritos
aquí es una de las muchas aplicaciones. "o*bittu"ionales

5-2 S U M A D O R P A R A L E L OB I N A R I O

EI sumado¡ completo introducido en la sección 4-3 forma la suma


de dos
bits y un bit de arrastre previo. Dos números binarios de n bits pueden
sumarse por medio de este circuito. para demostrar con un ejemplo
espe-
cífico considéresedos númerosbinarios, A:1011 y 8:0011
s:1110' cuando se-agreganun par de bits de u.r sumador completo ".ryu ".r*u
el
circuito produce un bit de arranque que se usa con el par de bits de
una
posición más significativa. Esto se muestra en la siguiente
tabla:
Sumador completo
Suscrito i 4321 de la Figura 4-S
Arrastre de entrada 0tl0 ci
Sumando 10ll Ai
Sumando 00ll Bi
Suma lll0 ^T
Arrastre de salida 00ll c,*,
u
$
ill
ll.!
sEc. 5-2 BINARIO
S U M A D O RP A R A L E L O 161
*

Los bits Se suman con sumadorescompletos, comenzandocon el bit


menossignificativo (suscrito) para formar el bit de suma y el bit de arras-
tre. Las éntradas y las salidas del circuito sumador completo de la Eigura
4-5 se indican a continuación. El arrastre de entrada C' en la posición
menossignificativadebeser 0. El valor de C,a¡ €n una posiciónsignifica-
tiva dada es el arrastre de salida del sumador completo.Este valor se tras-
fiere al bit de arrastre de entrada del sumador completo que agrega los
bits a una posiciónsignificativa de mayor posición a Ia izquierda. La suma
de bits es generadaatí, co*ertrando desde la posición de la extrema dere-
cha y es Jisponible tan pronto como se genereel bit de arrastre previo
correspondiente.
Lá suma de dos números binarios de n bits, A y B pueden generarse
de dos maneras:en serie o en paralelo. El método de la suma en serie usa
solamente un circuito sumador completo y un elemento acumulador para
conservarel arrastre de salida generado.El par de bits en A y B se tras-
fiere en serie,uno a la vez a través del solo sumador completopara produ-
cir una cadenade bits salida de Ia suma. El bit de arrastre de salida acu-
mulado de un par de bits se usa como bit de arrastre de entrada para el
siguiente put d-" bits. El método en paralelo usa n circuitos sumadores
cJmpletosy todos los bits de A y B se aplican simultáneamente.El bit de
u.rr.tr. de salida de un sumador completo se conecta al arrastre de en-
trada del sumador completo de la posición siguiente a Ia izquierda' Una
vez se hayan generadolos bits de arrastre, los bits de la suma correcta
salen por las salidas de suma de los sumadorescompletos'
lJn sumador paralelo binario es una función digital que produce una
suma aritmética de dos números binarios en paralelo. Este consiste en
r"iii"aó.é!,-completos conectadosen cascadacon la salida de arrastre de
un sumador completo conectadoal arrastre de entrada del siguiente su-
mador completo.
La Figura 5-1 muestra Ia interconexión de cuatro circuitos sumadores
completos (FA) para dar un sumador paralelo binario de cuatro bits. Los
rrr*ádo.". de A y los bits sumadores de B se designan por medio de nú-
meros suscritos de derecha a izquierda con el suscrito 1 denotandoel bit
de más bajo orden. Los arrastrés se conectan en cadena a través de los
sumadorescompletos.El arrastre de entrada del sumador es C1 y la sa-
lida de arrastre es C5. Las salidas S generanlos bits de suma requeridos.
Cuando el circuito sumador completo de cuatro bits se encapsuladentro
de una pastilla CI tendrá cuatro terminales para un sumando, cuatro ter-
minales para otro sumando, cuatro terminales para los bits de suma y dos
terminalés para los arrastresde entrada y salida.*
un sumador completo de n bits requieren sumadorescompletos.Pue-
de construirsea partir de las CI sumadorescompletosde 4, 2 y 1 bit conec-
tando en cascadavarias pastillas. La salida de arrastre de una pastilla
debe conectarsea la entrada de arrastre de aquella con Ios siguientesbits
de mayor orden.
Los sumadorescompletosde 4 bits son un ejemplo tipico de una fun-
ción-MSI. Puedenusarseen muchas aplicacionesque incluyen operaciones
aritméticas. Obsérveseque el diseño de este circuito por medio del mé-
* Un ejemplode un sumadorcompletode cuatro bits es el CI TTL tipo 74%3.
s3 s2

Figura 5-1 Sumadores completos de 4 bits

todo clásico necesitaría una tabla de verdad con 2e : 512 gn*,¡edq6, ya


que hay nueve-entradas al circuito. Mediante el uso de un método iterativo
de colocar en cascada una función ya conocida se puede obtener una con-
figuración simple y bien organizada.
La aplicación de esta función MSI al diseño de un circuito combina-
cional se demuestra con el siguiente ejemplo:

EJEMPLO 5-I: Diséñese un conversor de código BDC a


e x c e s o3 .
Este circuito fue diseñado en Ia Sección 4-5 por medio del
método clásico. El circuito obtenido de este diseño se muestra en
Ia Figura 4-8 y requiere 11 compuertas. Cuando se ejecuta con
compuertas SSI requiere 3 circuitos integrados y 14 conexiones
i n t e r n a s ( s i n i n c l u i r l a s c o n e x i o n e s d e e n t r a d a y d e s a l i d a ). L a
inspección de las tablas de verdad revela que el código equiva-
lente de exceso 3 puede obtenerse del código BDC mediante la
suma del binario 0011. Esta suma puede ejecutarse fácilmente
mediante el circuito MSI de sumadores completos de 4 bits mos-
' trado en la Figura 5-2. El dígito BDC se aplica a las entradas A,
las entradas B se colocan a 0011 constante. Esto se logra aplican-
d o l ó g i c a1 a 8 1 y B z y l ó g i c a0 a B j , B t y C t . L a l ó g i c a1 y l a
lógica 0 son señales físicas cuyos valores dependen de la clase de
familia de los CI usados. Para los circuitos TTL, lógica 1 equivale
a 3,5 voltios y lógica 0 equivale a tierra. Las salidas S del circuito
darán el código equivalente de exceso 3 del dígito de entrada en
BDC. Esta configuración requiere un CI y 5 conexiones,sin in-
c l u i r l a s c o n e x i o n e sd e e n t r a d a v s a l i d a .

Propagación del arrastre

La suma de dos números binarios en paralelo implica que todos los bits de
los sumandos están disponibles para el cálculo al mismo tiempo. Como en
cualquier circuito combinacional, la señal debe propagarse por las com-
t62
No seusa

L5
a.

A2
Entrada
BDC ^
^1

¡ Salida de
e x c e s o3

Bl

B2

B3
D
- Ll

Figura 5-2 Convertidor de código de BDC a exceso 3

puertas antes que Ia suma de salida correcta esté disponible en Ios termi-
de
irte, ¿" salid;. El tiempo de propagacióntotal es igual al retardo
propagaciónde una compuertatípica multiplicando por el número de nive-
ies'de compuertasen el circuito. El mayor tiempo de propagaciónen un
sumador paralelo es el tiempo que se toma el bit de arrastre en propagarse
pá, to. ,rr*adore. completoÁ.Cbmo cada bit de la salida de suma depende
del valor del arrastre ie entrada, el valor de S, en cualquier estado dado
en el sumador, estará en su valor final establesolamentehasta que el bit
de arrastre de entrada a este estado se haya propagado.ConsidéreseIa
.átidu S, en la Figura b-1. Las entradasA, y Bt alcanzanun valor esta-
la
ble tan pronto como las señalesde entrada se apliquen al sumador.Pero
entrada de arrastre C., no va a su estado estable final hasta que esté dis-
ponible c3 en su valoi de estado estable.De manera similar, c, tiene que
;.;;.;; i, C, t así sucesivamente hasta C1' Así, irán la salida Sr y el
arrastre C, a un valor final de estado estable hasta que se propagueel
arrastre a través de todos los estados.
El número de niveles de compuertaspara la propagacióndel arrastre
se puede deducir del circuito del sumador completo. Este circuito es de-
¿ucldo en la Figura 4-5 y redibujado en la Figura 5-3 por conveniencia'
Las variables de entrada y salida usan el suscrito i para denotar un estado
tipico de un sumador pu.ál"lo. Las señalesen P, y G, llegan a su valor de
esiado estable despuéi de la propagaciónpor sus compuertasrespectivas'
Estas dos señalesio.t a todos los sumadorescompletosy depen-
"om,rnei
den solamentede los bits de entrada de los sumandos.La señal del arras-
tre de entrada, C,, se propagaal arrastrede salida, C¡+t a través de una
I compuerta AND y una óompuerta OR, lo cual constituye dos niveles de com-
p""riu. Si hay cuatro sumadorescompletos en el sumador paralelo, la
salida de arrastre Cu tendrá 2X4:8 niveles de compuertasdesde C1
hasta Cr. El tiempo d" p.oprgución total en el sumador será el tiempo de
t63
Figura 5-3 Circuitosumadorcomplet'

propagación en un sumador medio, más ocho niveles cie : rpuertas. Para


un s.r-aAor paralelo de n bits, hay 2 n niveles de comp.;e:l's para el bit
de arrastre por los cuales se debe propagar.
El tiempo de propagación del arrastre es un fact,-,:.:rnitante de la
velocidad con la cual se suman dos números en paralei, .\unque un su-
mador paraielo, o un circuito convencional, tengan sier:.pre un valor en
sus terminales de salida, las salidas no serán las cor¡ecta. .l no se Ies
da a las señale$ el tiempo suficiente para propagarse a tFa\'trs de las com-
puertas conectadas desde las entradas hasta las salidas. C, mo todas las
operaciones aritrnéticas se ejecutan con sumas Sucesivas. el ttempo com-
piendido durante el proceso de suma es muy crítico. Una sc'iución obvia
para reducir el tiempo de demora de propagación del arrastre es la de usar
compuertas más rápidas con demoras reducidas a pesar de que los circui-
tos hsicos tengan un límite de su capacidad.' Otra solucion es Ia de au-
mentar la complejidad del equipo de tal manera que se reduzca el tiempo
de demora del arrastre.Hay otras técnicas para reducir el tiempo de pro-
pagación del arrastre en un sumador paralelo. La técnica usada más ex-
tensamente emplea el principio de obseruación del arrostre ¡,súerior y se
describe a continuación.
Considérese el circuito del sumador completo mostrado en Ia Figura
5-3. Si se definen dos variables binaias nuevas:

P,: A,@ B,
G,: A,B,

1a suma de salida y el arrastre puede expresarse como:

S,:4Oq
C¡*t: Gi + PiCi

C, se llama el arrastre generado"y produce un arrastre de salida cuando


A, y B, son 1 sin tener en cuenta el arrastre de entrada. ,f se llama el
arrastre propagado ya que es el término asociado con la propagación de
C , h a s t aC , * 1 .
Se escribe la función de Boole para la salida de arrastre de cada esta-
do y se sustituye para cada C, su valor a partir de las ecuaciones previas:
t64
Figura 5'4 Diagrama lógico del generador del bit de arrastre [nsterror

Cz: Gt + PtCl
Ct: Gz+ P2C2: Gz* Pz(Gt + P,C,) : G 2 + P 2 G t+ P z P t C l

Cq: G t + P 3 C 3 : G t I P 3 G 2+ P 3 P 2 G :+ P 3 P z P t C l
en
Como las funciones de Boole para cada arrastre de salida se expresan
suma de productos, cada fun¿ión debe ser configurada con un nivel de
de
compuerta; AND seguidas de una compuerta OR (o mediante dos niveles
Ca se configuran con
NAND). Las tres fiinciones de Boole para C2, Ct Y
que
el generador del arrastre primario mostrado en la Figura 5-4. Nótese
u C, y C2 para propagarse; de hecho C', se pro-
Ca no tiene que esperar
paga al mismo tiemPo que C:¿Y C;.*
La construcción de un sumador en paralelo de 4 bits con un arrastre
posterior se muestra en la Figura 5-5. cada salida de suma requiere dos
genera la
compuertas OR-exclusivas. La salida de la primera OR-exclusiva
vari;ble 4 y la compuerta AND genera la variable G¡. Todas las P y G se
generan en ios .riueies de compuértas. Los arrastres se propagan a través

*Un generador de arrastre posterior es el CI tipo 74782. Se c-ompone de compuertas


: G + PC t.
AND-OR ilnvertida. Tiene también dos salidas para generar Cs
t65
Generador
de bit de
D arrastre
posterior
^2

Figura 5-5 sumadores completos de 4 bits con bit de arrastre posterior

del generadorde arrastre posterior (similar al de la Figura b-4) y se


apli-
can como entradas a una segunda compuerta oR-exclúsiva. Despué,
q,r"
las señales P y G se establezcan a sus valores de estado estable, ioao,
io,
arrastres de salida se generarán después de una demora de dos niveles
de
compuertas. Así, las salidas s2 hasta sn tienen iguales tiempos de de_
mora de propagación. El circuito de dos niveles pará el arrastré de salida
c'' no se demuestra en Ia Figura b-4. Este circulto puede derivarse fácil-
mente por el método de ecuación sustitución como ie hizo anteriormente
(ver Problema 5-4).

5-3 S U M A D O RD E C I M A L

!.u. computadores o calculadoras que realizan operaciones aritméticas


directamente en el sistema de números decimales representan números
decimales en la forma de binarios codificados. un sumador para tal
com-
t€6
sEc. 5-3 S U M A D O RD E C I M A L 1 6 7

putador debe usar circuitos aritméticos que aceptan números decimales


codificados y presentan resultados en el código aceptado. Para suma bi-
naria, fue suficiente considerar un par de bits significativos al tiempo'
conjuntamente con el arrastre anterior. Un sumador decimal requiere un
mínimo de nueve entradas y cinco salidas, ya que se requieren cuatro bits
para codificar cada dígito decimal y el circuito debe tener un arrastre de
entrada y uno de salida. Por supuesto,hay una gran variedad de circuitos
de suma decimal que dependen del código usado para representar los dí-
gitos decimales.
El diseño de un circuito combinacional de nueve entradas y cinco sa-
Iidas por el método clásico requiere una tabla de verdad con 2e :512 entra-
das. La mayoría de las combinaciones de entrada son condiciones de no
importa, ya que cada entrada de código binario tiene seis combinaciones
que son válidas. Las funciones de Boole simplificadas por el circuito pue-
den obtenerse por un método de tabulado generado por un computador y el
resultado podría ser probablemente una conexión de compuertas formando
un patrón irregular. Un procedimiento alterno, es sumar los números con
circuitos sumadores completos, teniendo en cuenta el hecho de que no se
usan seis combinaciones en cada entrada de 4 bits. La salida debe ser
m o d i f i c a d a d e t a l m a n e r a q u e s o l a m e n t e a q u e l l a s c o m b i n a c i o n e sb i n a r i a s ,
válidas del código decimal, se generen.

Sumador BDC

C o n s i d é r e s eI a s u m a a r i t m é t i c a d e d o s d í g i t o s d e c i m a l e s e n B D C , c o n u n
arrastre posible de un estado anterior. Como cada dígito de entrada no
e x c e d ea l á s u m a d e s a l i d a n o p u e d e s e r m a y o r q u e 9 + 9 + 1 : 1 9 , siendo
el 1 en la suma, el arrastre de salida. Al suponer que se aplican dos dígitos
BDC a un sumador binario de 4 bits, el sumador formará la suma enbina'
rio y producirá un resultado que puede variar entre 0 y 19. Estos números
d e c i " m a l e ss e l i s t a n e n l a T a b l a 5 - 1 y s e m a r c a n c o n s í m b o l o s K , Z * , Z r ,
Z¿ y 2,. K es el arrastre y los s\scritos bajo la Ietra Z representan los
pÁ* s,' 4, 2 y 1 que deben ser asignados a los cuatro bits en el códig<r
blC. La primera óolumna en Ia tabla Iista las sumas binarias a medida
que aparec;n en las salidas de un sumador binarío de 4 bits. La suma de
salida de dos dígítos decimales debe representarse en BDC y debe apa-
recer en la forma listada en la segunda columna de la tabla. El problema
es encontrar una regla simple por medio de la cual el número binario en la
primera columna puede convertirse a la correcta representación de dígi-
tos BDC del número en la segunda columna.
Al examinar el contenido de la tabla, es aparente que cuando la suma
binaria sea ig¡al o menor que 1001, el correspondiente número BDC es
idéntico y por tanto no se necesita conversión. Cuando el número binarir,r
e s m a y o r q u e 1 0 0 1 s e o b t i e n e u n a r e p r e s e n t a c i ó nB D C n o v á l i d a . L a s u m a
d e l b i n a r i o 6 ( 0 1 1 0 )a I a s u m a b i n a r i a I o c o n v i e r t e a l a r e p r e s e n t a c i ó nB D C
correcta y también produce el arrastre de salida requerido.
El circuito lógico que detecta Ia corrección necesaria puede derivarse
de las entradas de la tabla. Es obvio que se necesita una corrección cuando
168 L O G I C AC O M B I N A C I O N A
CLO N M S I Y L S I CAP. 5

Ia suma binaria tiene un arrastre de salida K:1. Las otras seis combina-
ciones desde 1010 hasta 1111 que necesitan una corrección tienen un 1 en
la.posiciónzr. Para distinguirlosdel númerobinario 1000y 1001que tam-
bién tienen un 1 en la_posiciónzr, se especificará
más adólante[ue z, ó
zt debentener un 1. La condición para que una correccióny un anastre
de salida pueda ser expresadapor *.dio d. u.,u función de Boole:

C: K + Z B Z 4 +Z 8 Z 2
cuando c: l, es necesarioagregar0110a Ia suma binaria y suministrarun
arrastre de salida a Ia siguienteetapa.
I
Tabla 5-1 Deducciónde un sumadorBDC

Suma binaria S u m aB D C Decimal

K z8 z4 z2 zl C ,s8 s4 s2 ,sr
0' 0 0 0 0 00000 0
0 0 0 0 I 00001 I
0 U 0 I 0 00010 2
0 0 0 I I 00011
0 0 I 0 0 00100 A

0 0 I 0 I 00101 5
0 0 I I 0 00110 6
0 0 I I I 00lll 7
0 I 0 0 0 01000 8
0 I 0 0 I
I 01001 9
0 0 l0 r000 0 r0
0 0 ll r000 I ll
0 00 l00l 0 t2
0 0l l00l I l3
0 r0 l0l0 0 l4
0 rl l0l0 I l5
I 0 0 00 l0ll 0 ló
I 0 0 0l l0tl I t7
I 0 0 t0 rl00 0 l8
I 0 0 ll 1100 I l9

lJn sumador BD.c. es un circuito que agrega dos dígitos BDC en para-
lelo y produce un dígito suma en BDC. unsrimador gbc dene incluir
Ia
c o r r e c c i ó n l ó g i c a e n s u c o n s t r u c c i ó n i n t e r n a . p a r a a g r e g a r0 1 1 0 e n l a
suma
binaria, se usa un segundo sumador binario de 4 bils óo*o ." muesrra
en
la Figura 5-6. Los dos dígitos decimales, conjuntamente con
un arrastre
de entrada, se agregan primero en el sumadoi binario de 4 bits
superior
para producir la suma binaria. cuando el arrastre de salida
es igual u
no se agrega nada a la suma binaria. cuando es igual a 1 se agrega "u.o,
el bi-
nario 0110 a la suma binaria por medio del sumadór binario
de ? bits lnre_
Sumando Sumando
nI

!
' ,1

Entrada
Salida de Sumador binario de 4 bits de arrastre
arrastre
28 24 22 zl

Bit de
arrastre
de saiida

Sumador binario de 4 bits

l'igura 5-6 Diagramade bloquede un sumadorBDC

sumador binario superior


rior. El arrastre de salida generado a partir del
puede ignorarse porque Ju ü i"ro.-ación ya disponible en el terminal de
arrastre de salida.
Cada uno de los su-
El sumador BDC puede construirse con tres CI'
madores de 4 bits u. función MSI y Jas tres compuertas para la lóe]c1
""u
decorreccióncaben"""""pastillassl.sinembargo,elsumadorBDC
de propagación
se obtiene en un .i..,-,ito úSt.- Para alcanzar demoras
i n c l u y e l o s c i r c u i t o s n e c e s a r i o sp a r a
más cortas, un sumador MSI BDC
El circuito sumador para la co¡rección no nece-
io. u.rurtr"s posteriores.
sumadores completos y este circuito puede optimi-
sita todos los cuatro
zarsedentro de una Pastilla de CI'
decimales necesita
Un sumador paralelo decimal que suma n dígitos
salida de una etapa debe co-
á" rrrrrru'doresBDC. El arrastre de
"nectarse
"t;;;t la siguiente etapa de mayor orden'
al arrastre de entrada de

*El CI TTL tipo 82583es una sumadorBDC'


169
5 _ 4 C O M P A R A D OD
RE M A G N I T U D E S

-'., . :--paracronde dos númeroses una operaciónque determina


r"cr e: ma-\'orqu€' menor que o igual a otro si un nú_
'"¿¿n:itrdes un circuito número. Un comparadord.e
combinaciónal_q-u..o-pululoL,t-".os, A y B
r determinasus magnitudesrerativas.Bi
resurtádod; L comparaciónse
especificapor medio de tres variables binarias
A: B, ó A<8. luá-i"Ji*, cuando A > B,
El circuito para comparar dos números de
. n bits tiene 22, entradas
en la tabla de verdad y se vuerve muy complicado
aun pu.u n : 3. por otra
parte, como es de sospechar,un circuito
comparadortiene cierta cantidad
de regularidad. Las funciones digitaies que poseen
una reguraridadinhe-
rtntt bi0ndufinidg$u"J"r,J,r"lu.." po-rmediode procedimiento
un algo_
iltlltlr0
sit0utt¡tlontrá
su¿*,,i"n"lu
tl;;[;;;; J ;;;;;;;l;
que especifica un conjunto
de pasos, lo"s cuales du' uru solución al
p r o b l e m a s i s e s i g u e n . S e i.finito
lustrará éste método deduciendo un
para el diseño de un comparador de argoritmo
magnitud de 4 bits.
El algoritmo es una apricación dir:ecta
á" ;; p.t"ear-r"nto que usa
una persona para comparar-ras magnitudes
"rr.ro rerativas^de dos números. con_
sidérese los números A y B cada
4 dígit.s y escríbase los coefi-
cientes de los números en orden significativn "or.
dJr""r,áe"t" a" la siguiente
manera:
A : A,A,A,Ao
B : BrB2BrBo
donde cada suscrito de letra representa
uno de ros dígitos der número. Los
dos números son iguales si toáos t,or-pu.",
de números significativos son
i g u a l e s ,e s d e c i r s i - 4 1 :
p: ., ir:"Éj , At: Bt y Ao:.8u. Cuando los
números son binarios ros dígitos son
1 ó 0 y ra relación de igualdad para ca_
de bits puede .*pré.u.." lógicamente
con una furrción de equiva-
[X"Tl
x, : A,B,+ A'iB,¡ i : 0, 1,2,3
donde x¡:l solamente si el par de bits en la posición
l s o n i g u a r e se s d e c i r
si ambos son unos o ceros.
La igualdad de dos números A y B se indica
en un circuito combina_
cional por rrfedio de una variable binaria
ae saliaa q;; ;; designa con el
símbolo (A: B). Esta variable binaria
es igual a 1 si los números de entra_
da A y B son iguales; de lo contra.lo
s".á igual a 0. para que exista esta
condición de iguardad, todas las ,rarialle.
;:;;ü; ."i'i?rul", a 1. Esto
produce una operación AND
de todas las va¡iables:
(A:B):xrxrxrxo
la variable binaria (A -- B) es igual a
1 solamente si todos los pares de dí-
gitos de los dos números son izuáles.
Para determinar si A es mlyor o menor.qug_B
se inspeccionan las mag_
nitudes relativas de.los pu.".. á" dígitos
significativo, clesde
la posición significativa más arta. siios "o-"rrr"ndo
dostígiñr"" ig""i"r, se compara
t70
F
itI
il
i
sEc. 5-5 DECODIFICADORES
I71

I el siguiente par de dígitos siguientes menos significativos. Esta compara-


ción continúa hasta que se encuentre un par de dígitos desiguales. Si el
correspondiente dígito de A es 1 y el de B es 0, se concluye que A > B. Si
e l c o r r e s p o n d i e n t ed í g i t o d e A e s 0 y e l d e B e s 1 s e t i e n e q u e A 1 8 . L a
c o m p a r a c i ó n s e c u e n c i a l p u e d e e x p r e s a r s el ó g i c a m e n t e p o r l a s d o s s i g u i e n -
tes funciones de Boole:

(A > B): 4Éi * xrArB'r* xrxrArB', * x3xrxrAsB', i.


¡l

(A < B) : A ' z B t I x l A ' r B 2 r x ' r x r A 'r B , * x r x r x r A ' o B o


l.
los símbolos (A > B) y (A < B) son variables de salida binarias que son ig'tra-
I les a 1 cuandoA> B ó A < B respectivamente.
I
La ejecución con compuertas de las tres variables de salida derivadas
il
es más simple de lo que parece ya que tiene cierta cantidad de repetición. D
Las salidas "desiguales" pueden usar las mismas compuertas que se ne- ñ
cesitan para generar una salida "igual". EI diagrama lógico del compara-
dor de magnitud de 4 bits se muestra en Ia Figura 5-i.* Las cuatro ¡ de
salida se generan con circuitos de equivalencia (NOR-exclusiva) y se apli-
can a una compuerta AND para dar la variable binaria de salida (A:B).
Las otras dos salidas usan las variables f para generar las f'unciones de
t Boole listadas a continuación. Esta es una configuración de multinivel y
como se puede ver tiene un patrón regular. El procedimiento para obtener
circuitos comparadores de magnitud para números binarios de más de
cuatro bits debe ser obvio para este ejemplo. EI mismo circuito puede
usarse para comparar las magnitudes relativas de dos dígitos BDC.

5-5 DECODIFICADORES

Cantidadesdiscretasde informaciónse presentanen sistemasdigitales


con códigos binarios. Un código binario de n bits es capaz de representar
hasta 2" elementos dif'erentesde información codilicada. Un decodífica-
dor es un circuito combinacional que convierte Ia información binaria de
n líneas de entrada a un máximo de 2n líneas únicas de salida. Si la in-
formación decodificada de n bits tiene combinaciones no usadas o de no
importa, la salida del decodificador tendrá menos de 2' salidas.
Los decodificadores presentados aquí se llaman decodificadores en
l í n e a d e n a m . E n d o n d e m 1 2 " . S u p r o p ó s i t oe s g e n e t a r 2 " ( o m e n o s )
términos mínimos de n variables de entrada. EI nombre decodificador se
usa conjuntamente con cierto tipo de convertidores de código tal como el
decodificadorBDC a siete segmentos (ver Problema 4-l4l'
Como ejemplo, considérese el circuito decodificador en línea de 3 a 8
de la Figura 5-8. Las tres entradas se decodifican en ocho salidas y cada
salida representa uno de los términos mínimos de las variables de 3 en-
tradas. Los tres inversores generan el complemento de las entradas y cada
una de las ocho compuertas AND generan uno de los términos mínimos. Una

*El
TTL tipo 7485 en un comparador de magnitud de 4 bits. Tiene tres entradas más
para conectar los comparadores en cascada (ver Problema 5-14).
Figura b-Z Comparador de magnitudes de 4 bits

aplicación particular de este decodificador sería una conversión binaria


a octal. Las variables de entrada podrían representar un número binario
y las salidas représentarían los ocho dígitos en el sistema de numeración
octal. Sin embargo un decodificador en línea de 3 a 8 puede ser usado para
decodificar cualquier código de 3 bits para genera. ocho salidas, unu para
cada elemento del código.
La operación del decodificador será clasificada más adelante a partir
de las relaciones de entrada salida listadas en la Tabla 5-2. obsérvese
172
Do - ' r:'

Figura b-8 Decodificador en línea de 3 a g

Tabla b-2 Tabla de ve¡dad del decodificador


de línea
de3a8

Entradas
xyz Do Dt D2 D3 D4 Ds D6 D1

000 10000000
001 01000000
010 00100000
0l I 00010000
r 00 00001000
l0l 00000100
r l0 00000010
I ll 00000001

173
I74 L O G I c Ac o M B I N A C I o N A L
coN MSI Y LSI CAP. 5

que las variables de salida son mutuamente exclusivas ya que solamente


una de las salidas es igual a 1 en cualquier momento. La línea de salida
cuyo valor corresponde a 1 representa el término mínimo equivalente al
número binario que se presenta en las líneas de entrada.*

EJEMPLO 5-2.. Diseñar un decodificador BDC a decimal.


Los elementos de información en este caso son los diez dígitos
decimales representados por el código BDC. El código en sí mismo
tiene cuatro bits, por tanto, el decodificador debería tener cuatro
entradas para aceptar el dígito codificado y las diez salidas para
cada uno de los dígitos decimales. Esto dará un decodificador de
4 a l0líneas de BDC a decimal.
No es necesario diseñar este decodificador ya que se puede
encontrar en la forma de cI como una función MSI. De todas ma-
neras se va a diseñar por dos razones: primero dará un conoci-
miento de Io que se debe esperar de tal fünción MSI; segundo,
esto constituye un buen ejemplo para mostrar las consecuencias
prácticas de las condicionesde no imoorta.
como el circuito tiene diez saúdas, sería necesario dibuiar
diez mapas para simplificar cada una de las funciones de sariáa.
Hay seis funciones de no importa que deben considerarse para la
simplificación de cada una de las funciones de salida. En vez de
dibujar diez mapas, se dibujará solamente un mapa y se escribi-
rán cada una de las variables de salida D,, hasta D". dentro de
su cuadrado de término mínimo, de la manera mostrada en la Fi-
gura 5-9. Hay seis combinaciones de entrada que nunca ocurren
de tal manera que se marcan los cuadrados de ios términos míni-
mos correspondientes con X.
Es responsabilidaddel diseñador decidir cómo tratar las con-
diciones de no importa. se asume que ha decidido usarlas de tal
nanera que se simplifican las funciones al número mínimo de

,l
_]:
on nl rr rn
ll\

D,, Dl D\ D2

"t,, i.
0t D4 D\ D1 Db

X X X X

Dr De X X

Y
Figura 5-9 Mapa para simplificar un decodificador BDC a decimal

lEl CI tipo 74138 es un decodificador en línea de 3 a 8. Se construye con compuerras


NAND. Las salidas son los compleme¡rtos de los valores mostrados en la Tatla b-2.
II S E C .5 - 5

literales. D¡ Y Dt no pueden combinarse con ningún térmrno


mínimo de no importa. D2 puede combinarse con el término míni-
mo m r,, de no imPorta Para dar:
D E C O D I F I C A D O R E SI 7 5

Dz: x'Yz'

E 1 cuadrado con D,, puede combinarse con otros tres cuadrados


de no importa para dar:

Ds: wz

se ob-
Usando los términos de no importa para las otras salidas,
tiene el circuito mostrado en ia Figura 5-10. D e e s t a m a n e ra los
tárminosdenoimportacausanunareducciónenelnúmerode
entradas en Ia mayoría de las compuertas AND'
la minimiza-
un diseñador cuidadoso debería investigar el efecto de
ción anterior. A p e s a r d e q u e b a j o l a s c o n d i c i o n e s d e o p e r a c i ó n normal las
seis combinacionós i n v á l i d a s n u n c a o c u r r e n . ¿ Q u é p a s a r í a s i h ay una falla
y ocurren? un análisis del circuito de la Figura 5-10 m u e s t r a que las seis
combinaciones no válidas de entrada p r o d u c i r á n l a s s a l i d a s listadas en
la Tabla 5-3. El lector p u e d e m i r a r l a t a b l a y d e c i d i r s i e i d i s e ñ o es buencr

I o malo.

Do: w'r' )"':'

D | : w'x'Y'i

Dr: r'Y:,'

Dl:x')z

I
DB: t ''

I
Figura 5-1O Decodificador BDC a decimal
Tabla 5-3 Tabla parcial de ve¡dad para el circuito de la Fizura 5-10

Entradas Salidas
wxyz Do Dt D2 D3 D4 D5 D6 D7 D8 Ds

0 0010000010
I 0001000001
0 0000100010
I 0000010001
0 0000001010
I 0000000101

otra decisión de diseño razonable podría ser el hacer todas las sali-
das iguales a 0 cuando ocurre una combinación de entrada no válida.* Es-
to requeriría díez compuertas AND de cuatro entradas. Se deben considerar
otras posibilidades pero de todas maneras no se deben tratar las condicio-
nes de no importa indiscriminadamente, sino que se debe tratar de inves-
tigar su efecto una vez que el circuito esté en operación.

Configuración de circuitos con lógica combinacional

un decodificador produce 2" términos mínimos de n variables de entrada.


Como cualquier función de Boole puede expresarse en suma de términos
mínimos en la forma canónica, se puede usar un decodificador para gene-
rar los té¡minos mínimos y una compuerta oR externa para formár la Juma.
De esta manera cualquier circuito combinacional con n entradas y m sa-
lidas puede configurarse con un decodificador en línea de n a 2n y m com_
puertas OR.
El procedimiento para configurar un circuito combinacional por medio
r1 codificador y compuertas oR requiere que las funciones de Boole
4",
del circuito se expresen en suma de términos mínimos. Esta forma puede
obtenerse fácilmente de la tabla de verdad o por expansión de las funcio-
nes a su suma de términos mínimos (ver Sección 2-b). Luego se escoge un
decodificador que genere todos los términos mínimos de las n variables de
ent¡ada. Las entradas a cada compuerta oR se seleccionan de las salidas
del decodificador de acuerdo a la lista de términos mínimos en cada función.

EJEMPLO 5-J: construir un circuito sumador completo


con un decodificador y dos compuertas OR.
De la tabla de verdad del sumador completo (sección 4-3) se
obtienen las funciones para este circuito combinacional en suma
de términos mínimos:

S(",.y,z) : >(1,2, 4, i)
C ( * ,y , z , ) : ) ( 3 , 5 ,6 , 7 )
*
El CI tipo 7442 es un decodificador BDC a decimal. Las salidas seleccionadas
están
en el estado de 0 y todas las combinaciones inválidas darán una salida de solo unos.

176
ig
iq
'rt

$
rl

decofificador
-' 3x I

Figura 5-11 Configuración de un sumador completo a partir de un decodificador

Como hay tres entradas y un total de ocho términos mínimos se


necesita un decodificadoren línea de 3 a 8. Su ejecución se mues-
tra en Ia Figura 5-11. El decodificador genera los ocho términos
mínimos de x, y, z. La compuerta OR para la salida S forma Ia suma
de los términos mínimos 1,2, 4 y 7. La compuerta OR para la salida
C forma la suma de los términos mínimos 3, 5, 6 y' 7.

Una función con una lista Iarga de términos mínimos requiereuna


compuerta OR con un gran número de entradas. Una función F que tiene
una lista de ft términos mínimos puede expresarse en fbrma de complemen-
to F con 2" -k términos mínimos. Si ei número de términos mínimos de una
función es mayor que 2"/2 entonces F' puede expresarse con menores tér-
minos mínimos que los que necesita F. En tal caso, es ventajoso usar una
compuerta NOR para sumar los términos mínimos de F'. La salida de un¿
compuerta NOR genera una salida normal F.
El método del decodificador se puede usar para eiecutar cualquier
circuito combinacional. Sin embargo su realización se debe comparar con
otras configuraciones posibles para determinar la mejor solución. En aigu-
nos casos este método podría dar la mejor combinación, especialmente si
I o s c i r c u i t o s c o m b i n a c i o n a l e s t i e n e n m u c h a s s a l ñ d a sy s i c a d a f u n c i ó ' d e
salida (o su complemento) se expresa con una pequeña cantidad de tér-
minos mínimos.

Demultiplexores

Algunos CI se construyen con compuertas NAND. Como una compuerta


NAND produce una operación AND con una salida invertida, es más eco-
nómico generar los términos mínimos del decodificador en su forma comple-
mentada. La mayoría si no todos los CI decodificadores, incluyen una o más
entradas de actiuqcídn (enable), para controlar la operación del circuito.
Un decodificador en línea de 2 a 4 con una entrada de activación y construi-
do con compuertas NAND se muestra en la Figura 5-12. Todas las sali-
das son iguales a 1 si la entrada de activación E es 1, no importando los
valores de las entradas A v B.Cuando la entrada de activación es igual a
177
( a) Diagrama lógico. (b) Tabla de verdad

Figura 5-12 Un decodificador de línea 2 a 4 con ent¡ada activadora (E)

0, el circuito opera como decodificador con salidas complementadas. La


tabla de verdad lista estas condiciones. Las X debajo de A y B son condi-
ciones de no importa. La operación normal del decodificador ocurre sola-
mente con E:0 y las salidas se seleccionancuando su estado es 0.
El diagrama de bloque del decodificador se muestra en la Figura
5-13(a). El circuito pequeño en la entrada E indica que el decodificador
se activa cuando E:0. El pequeño círculo a la salida indica que todas
Ias salidas están complementadas.
Un decodificador con una entrada de habilitación puede f'uncionar
como demultiplexor. IJn demultipLexor es un circuito que recibe informa-
ción por una sola línea y trasmite esta información en una de las 2" líneas
posibles de salida. La selección de una línea de salida específica se con-
trola por los valores de los bits de n líneas de selección. El decodificador
de Ia Figura 5-12 puede funcionar como demultiplexor si la línea E se toma
como línea de entrada de datos y las líneas A y B como líneas de selección
tal como se muestra en Ia Figura 5-13(b). La sola variable de entrada E

Do Do

decodificador Dl demultiplexor Dl
2x4 2x4
D2 u2

D3 t)-

E
Act ivación
Selección
(a) Decodificador con activado¡ (b) Demultiplexor

Figura 5-13 D i a g r a m a s d e b l o q u e para el circuito de la Figura 5-12

178
I-
:a

,i
sEc.5-5 I79
DECODIFICADORES

tiene un camino a todas las salidas, pero la información de entrada se diri-


ge solamente a una de las líneas de salida de acuerdo al valor binario de
l a s d o s l í n e a s d e s e l e c c i ó nA y B . E s t o p u e d e v e r i f i c a r s e d e l a t a b l a d e e s t e
circuito mostrada en la Figura 5-12(b), Por ejemplo si la selección de las
líneas AB: I0 la salida D2 tendrá el mismo valor que Ia entrada E, mien-
t r a s q u e l a s o t r a s s a l i d a s s e m a n t i e n e n e n 1 . C o m o l a s o p e r a c i o n e sd e c o -
dificador y demultiplexor se obtienen del mismo circuito, un decodificador
con una entrada de activación se Ilama un decodít'icador/demultiplexor.
Es la entrada de activación la que hace al circuito un demutiplexor; el de-
codificador de por sí puede usai-corripüertas AND, NAND y NOR.
Los circuitos decodificador,/demultiplexor pueden conectarse con-
juntamente para formar un circuito decodificador mayor. La Figura 5-14
muestra dos decodificadores de 3 x 8 con entradas activadoras conectadas
para formar un decodificador de 4 x 16. Cuando w :0, el decodificador
superior se habilita y el otro se inhabilita. Las salidas del decodificador
inferior son todas ceros y las ocho salidas superiores generan los términos
m í n i m o s 0 C C 0a 0 1 1 1 . C u a n d o u : 1 se invierten las condiciones de habili-
tación; el decodificador inferior genera los términos mínimos 1000 a 1111,
mientras que las salidas del decodificador superior son todas ceros. Este
ejemplo demuestra la utilidad de las entradas activadoras de los CI. En
general, Ias líneas activadoras son una característica conveniente para
conectar dos o más CI con el propósito de expandir la función digital a una
función similar con más entradas y salidas.

Figura 5-14 Un decodificador de 4X16 const¡uido con dos decodificadores de 3x8

Codificadores

lJn codificador es una función digital que produce una operación inversa
a Ia del decodificador. Un codificador tiene 2" (o menos) líneas de entrada
v n líneas de salida. Las líneas de salida generan el código binario para las
I80 L o G I c A c o M B I N A C I o N A Lc o N M S I Y L S I
CAP. 5

2n variables de ent¡ada. Un ejemplo de un codificador


se muestra en la
Figura 5-1s. El codificador octál a binario
consisteu., oÁo entradas,una
para cada uno de los ocho dígitos y tres
.ariaa, pai"-;;;;;r, er número bi_
nario correspondiente.Este-se-"orrrtruy" con conpuertas
oR, cuyas entra-
das se determinan a partir de la tabla de verdad
J"d" ;; tl r"utu b_4. Los
bits de salida de bajb orden e rorr-f.i los
dígitos octales de ent¡ada son
impares' La salida y, l para ros dígitos octales 2,8,6 ó 7. Lasalida
":
l para los dígitosoctales-4, ¡ es
5:6 ó z.i.üóteseq;;.t;;"; conectaa ningu_
nl.cgmprerta oR; la salida binaria debe sef
sólo"cerosLn este caso. una
salida de sólo ceros se obtiene también cuando
todas las entradas sean
cero' Esta discrepanciapuede resolverseagregando
indicar el hecho áe que tádas las entradas una salida más para
no son ceros.
.El-c"o{ificadoren la Figura 5-15 asume que solamenteuna línea de enj
trada puede
ser igual
_1.1en cualquie-r
no tienesignificado..
;il;;";";;*#f#ilT:ü;i;
Nótesequ. él circuitotieáeocho;;r;;;.=';"Jili],
tene¡ 28 :2b6 combinaciones de entrada po.ibi;..
s"iá-."t" ocho de es_
tas combinacionestienen significado. Las otras
combinaciones
vv¡¡rv¡rrqu¡! son condi-
ciones de no importa.
Los codificado¡es de este tipo (Figura 5-15)
no se encuentran en
clrya que se pueden construir rácilmente co¡r
compuertas oR. El tipo de
codificador que se encuentra en la forma d"
sru¿" es el codi-
"i;;;;;l"-
ficadol de prioridad.* Estos codificadores establecen d"
entrada *r-lá"j"-a;
-para asegurar que solamente la línea du ru más alta
prioridad se codifica. Así, en la Tabla "rrliaal-i" es
5-4, si la prioridad dada a una
entrada con un número s'scrito mayor con respecto
a un numero suscrito
menor, entoncessi ambosDz y Ds son lógica 1-simultáneamente,
será 101 porque D". tiene urr" -uyo. prloridad la salida
."bt" b;. por supuesto,
la tabla de verdad de .r' codificado"ráe prioridad
es diferénte de la Tabla
5-4 (ver Problema5-21).

x: D¿i Dtl D6rD|

t : D2i_D'* Dul O,

z: D1lDrl D5l D,

Figura 5_lb Codificador octal a bina¡io

'Por
eiem¡rlo el CI tipo 24149.
Tabla 5-4 Tabla de verdad de codificador octal a binario

Entradas
Do Dl D2 D3 D4 Ds D6 D.l

10000 0 00 0 00
01000 0 00 0 0l
00100 0 00 0 l0
00010 0 00 0 ll
00001 0 00 00
00000 I 00 0l
00000 0 l0 l0
0 0l ll
1 00000

5-6 MULTIPLEXORES

Multiplexar significa trasmitir una gran cantidad de unidades de infor-


mació; por un nú*e.o pequeñode canaleso líneas.IJn.multiplexor digitaL
es un circuito combinacional que seleccionainformación binaria de una

t de muchas líneas de entrada pára dirigirla a una sola línea de salida. La


selecciónde una línea de entrada en particular es controlada por un con-
junto de líneas de selección. Normalmente hay 2" Iíneas de entrada y n
iín"u, de selección cuyas combinacionesde bits determinan cuál entrada
se selecciona.
un multiplexor de 4 líneasa I línea se muestra en la Figura 5-16.cada
una de las cúatro líneas de entrada Io a Ir, se aplican a una entrada de
una compuerta AND. Las líneas de selecciónsr Y s6 se decodificanpara
seleccionáruna compuerta AND en particular. La tabla de función en la fi-
gura lista el camino de entrada a salida para cada comiinación posible de
tit* d. las líneasde selección.Cuando esta función MSI se usa en el diseño
de un sistema digital ésta se representaen la forma de diagrama de bloque
como se muestra en la Figura 5-16(c).Para demostrarla operacióndel cir-
cuito' considéreseel caso cuando srso:10' La compuerta AND asociada
con la entrada 12 tiene dos de sus entradas iguales a 1 y una tercera entra-
da conectada a 12. Las otras tres compuertas AND tienen al menos una
entrada igual a 0 lo cual hace su salida igual a 0. La salida de la compuerta
OR es igual al valor de /2 generando así un camino de la entrada
"ñot" ala salida. Un multiplexor se llama también un selector de
seleccionada
datos ya que seleccionauna de muchas entradas y guía la información bi-
naria a la línea de salida.
Las compuertas AND y los inversoresen un multiplexor se asemejana
un circuito decodificadory sin embargoellos decodifican las lineas de selec-
ción de entrada. En"general, un multiplexor de 2" a I Iínea se construye
con un decodificador de n a 2" agregándolé2" líneas de entrada, cada una
para cada compuerta AND. Las salidas de las compuertas AND se aplican
,rttu sola compuerta OR para generaruna salida de 1 línea. El tamaño del
"multiplexor se Lspecifica por el número 2" de sus líneas de entrada y de la
t8l
Entradas Salida

Selección

( c ) Diagrama de bloque

(a) Diagrama lógico ( b ) Tabla de funcion

Figura b-16 Un multiplexor en línea de 4 a 1

sola línea de salida, implicando así que contiene n líneas de selección.


un
multiplexor es a menudo abreviado como MUX.
como en los decodificadores, los cI m*ltiplexores pueden tener una
entrada de activación para controrar Ia operación de la unidad.
-binario cuando la
entrada de activación esté en un estado dado, Ias salidas se inha_
bilitan o cuando está en el otro estado (el estado de habilitación)
er cir-
cuito funciona como un multiplexor normal. La entrada de habilitación
o
activación (algunas veces llamada strobe) puede ser usada para
expandir
dos o más cI multiplexores a un murtiplexor digitar co" .r., g."r,
número
de entradas.
En algunos casos se encapsulan dos o más multiplexores dentro de
u n c I . L a s e n t r a d a s d e s e l e c c i ó ny a c t i v a c i ó n e n l o s c I d e m ú l t i p l e u n i d a d
pueden ser comunes a todos los multiplexores. como ilustración
se mues_
tra en la Figura 5-17* un cI multiplexor cuádruplede 2líneas a 1línea.
Este tiene cuatro multiplexores cada uno de los cuales puede seleccionar
u n a d e d o s l í n e a s d e e n t r a d a . L a s a l i d a y , p u e d e s e r s e l e c c i o n a d ap a r a
s - e ri g u a l a A t ó B r . D e m a n e r a s i m i r a r , l a s a i i d a y , p o d r í a t e n e r e r
valor
d e á . . . ó B ¿ y a s í s u c e s i v a m e n t e .u n a l í n e a d e s e l e c c i á n d e e n t r a d a ,
s, es
suficiente para seleccionaruna de dos líneas en todos los cuatro multiple_
xores. La entrada de control E habilita los multiplexores en el
estado 0 y
los inhabilita en el estado 1. Aunque ei circuito contiene cuatro
multiple_
xores se podría pensar que es un circuito que selecciona una en
un pui d"
*
Este es similar al circuito integrado tipo 74157.

182
Tabla de lunción

É's Salida Y
lx todo 0
00 s e l e c c i ó nA
0l s e l e c c i ó nE

s
( s e l e c c i ó n)

L
(habilita)

Figura 5-17 Multiplexores cuádruples en linea de 2 a I

4 líneas de entrada. Como se ve en la tabla de la función, la unidad se


selecciona cuando E:0. Entonces, si S:0 las cuatro entradas A tienen
una vía hacia las salidas. Por otra parte, si S: I se seleccionan las otras
cuatro entradas B. Las salidas serán todas ceros cuando E:1 sin tener en
cuenta el valor de S.
EI multipl€xor es una función MSI muy útil y' tiene una multitud de
aplicaciones. Se usa para conectar dos o más füentes a un solo destintr
entre las unidades del computador y es útil para construir un sistema de
bus común. Estos y otros usos del multiplexor se discutirán en capítulos
posteriores conjuntamente con sus aplicaciones particulares. Aquí se de-
muestran las propiedades generalesde este elemento y se muestra cóm()
puede ser usado para ejecutar una función de Boole.
t83
Ejecución de una función de Boole

se habría demostradoen la sección anterior que


el decodificado,puedJ,
ser usado para configurar una función ge-Boore-
;rol."t" una compuerta ,
oR externa. un rápido vistazo al multiprexái-á. i'" ir-igrr"
5-16 revera que,
es esencialmenteun decodificadorcon una compuerta
oR v" ái.p"""ilr;. i;;
términos mínimos fuera del decodificad' q;.:;;-;
pueden con_.)
trolarse con las líneasde entrada. Los términ". "-.iáÉ".."
-i"i-oli;;;;;;i;;ffi :
se con la función que. se está ejecutando se
r.*g." l"liendo sus líneas ,
de entrada correspondientes,iguátes a 1 y aque¡os
términos mínimos no i
incluidos en la función se inhaÉilitan al- ú""r'i;;
i;"*'a'"."trilñ;ñ
a cero' Esto presenta un método para
configurar cuarluier función de ¡
Boole de n variabres ñltTire*o, a"'il' u-i]^si., embargo, es
posiblehacer algo meJor _":¡
que :;
eso. ,
.
si se tiene una función de Boole de n -¡ I variables
se toman n de estas
variablesy se conectana las ríneasa"..te.ci¿r,
áü'.riiiprexor. La varia_
ble restante de la
-función se usa p"." tr. entradas del murtiplexor. si A
es esta sola variable, las entradas del multipl."-
..]..'Jg.n pur" ser A ó
A' ó | ó 0. Mediante un concienzudouso
dé cu"iro'valores para las
entradas y conectando ras otras variables "sto,
a r", ú;;;;- de selección, se
puede configurar cuarquier función ae goole
.o; u;-;;ltiple*or. De esta
es
fgtp" -posible genetát cualquier función de n * 1 variabres con un mul_
tiplexor de 2." a l.
Para demostra¡ este procedimientocon un
ejemproconcreto,considé-
rese la función de tres vaiiables:

F ( A ,B , C ) : X 1 , 3 , 5 , 6 )
La función puede ser configu¡ada con un
multiplexor de 4 a ._como se
muestra en la Figura 5-1g.Dos de las variabrer
aíó." frii.u'a las líneas
de selecciónen eseorden, es decir, b s"
conects I s1 y c ase. Las entra-
das del multiplexor son 0,.1, ,l y Á',.-clundo
BC : oo rá .rtia" F: 0 ya que
Io :0. Por tanto, ambosd¿.irri"á.*ín"iiros
mo_: A,B,C, y mn: AB,C,pro-
ducen una salida 0, ya que la salida es 0 cuando
BC: 00 sin tener en cuen-
t a e l v a l o r d e A . ; C u a n d bB C : 0 t , l a s a l i d a¡ =
ambostérminos mínimosryt_:^A,B,C ^u: AB,C i;" o*1, :,. por tanto,
i producenuna salida de 1
ya que la salida es 1 cuandoBc :0r sin
tener en cuentaer varor de A. cuan_
do BC:10 la entrada /, es seleccionada.como
A se conectaa esta entra-
da, la salida será igual á 1,soramentepara el
término mínimo ma:ABC,,
pero no para el término.mínimorn2:A,BC,,
debido qu"¿,: t,'entonces
A 0 como r, : 0 se tiene enton"". F: 0. Finalmente " cuandoBC: rl
= I se
seleccionala entrada r, . como A' se conectaa
esta entrada, ra salida será
igrral a 1 solamente para el término minimo ,{ :
t;e;; no para rnz :
ABC. Esta información se sumariza en la Figuru
s-rsol,-ücr"l
' -- ra tabla
de verdad de la función que se requiere ejecütar. . " ""
La anterior discusión muestrá por análisis que
er multiplexor confi-
gura la función requerida. se representará
ahora un procedimiento generar
para configurar cualquier función de Boole
de n vaiiabll.- un multi_
plexor de 2"-1 a 1. "o.,
184
00 0
Io
001
It MUX 010
v'
r 4xl 0l.l
13 J1
r 0. 0
s6
l0t
l l0
ltl

(a) Configuración del multiplexor (b) Tabla de verdad

(c ) Tabla de configuración

Figura 5-18 ConfigurandoF (A, B, C ) : t (1,3, 5, 6) con un multiplexor

Primero se expresala función en su forma de suma de términos míni-


mos. Se asume que la secuenciaordenadade variables escogidaspara los
términos mínimos es ABCD . . ., donde A es Ia variable de Ia extrema iz-
quierdaen una secuenciaordenadade n variablesy BCD ... son los n-1
variables restantes. Se conectan las n - 1 variables a las líneas de selec-
ción del multiplexor con B conectadaa una línea de selecciónde mayor
orden, C a la siguiente línea menor de seleccióny así sucesivamentehasta
la últinia variable la cual se conecta'a la línea de seleccióri'demás bajo
orden s6. Considérese la variableA. Como esta variableestá en la posi-
ción de más alto orden en una secuenciade variables,será complementada
en los términos mínimos o hasta (2"/2) - 1 los cuales comprendenIa pri-
mera mitad en Ia lista de los términos mínimos. La segundamitad de los
términos mínimos tendrán su variable A sin complementar.Para una fun-
ción de tres variables,A, B, C se tiene ocho términos mínimos. La variable
A se complementaen los términos mínimos0 a 3 y no se complementaen los
términosmínimos4a7.
Lístese las entradas del multiplexor i bajo ellas los términos mínimos
en dos columnas.La primera fila incluye todos los términos mínimos en los
cuales A es complementaday la segundafila todos los términos mínimos
con A no complementadade la manera mostrada en Ia Figura 5-18(c).En-
ciérreseen un círculo todos los términos mínimos de Ia función e inspec-
ciónesecada columna separadamente.
Si los dos términos mínimos en una columna no están en círculo aplí-
quése0 a la entrada correspondientedel multiplexor.
185
186 L O G I C AC O M B I N A C I O N ACLO N M S I Y L S I CAP.5

Si los dos términos mínimos están en un círculo aplíquese 1 a la entra-


d a c o r r e s p o n d i e n t ed e l m u l t i p l e x o r .
S i e l t é r m i n o m í n i m o i n f e r i o r e s t á e n c e r r a d oe n u n c í r c u l o y e l s u p e r i o r
n o l o e s t á a p l í q u e s eA a l a e n t r a d a c o r r e s p o n d i e n t ed e l m u l t i p l e x o r .
S i e l t é r m i n o m í n i m o s u p e r i o r e s t á e n c e r r a d oe n u n c í r c u l o y e l i n f e r i o r
n o l o e s t á a p l í q u e s eA ' a l a e n t r a d a c o r r e s p o n d i e n t ed e l m u l t i p l e x o r .
I
Este procedimiento se desprende de las condiciones establecidas durante I
el análisis previo.
La Figura 5-18(c) muestra la configuración de la función de Boole:
Ili
F ( A ,B , C ) : > ( 1 ,3 , 5 ,6 )
de la cual se obtienelas conexiones
del multiplexorde la Figura5-18(a).
N ó t e s e q u e B d e b e c o n e c t a r s ea s r y C a s , , .
No es necesarioescoger la variable de la extrema izquierda de la se-
cuencia ordenada de una lista de variables para las entradas del multi-
plexor. De hecho, se pueden escogercualquiera de las variables para las
entradas del multiplexor si se tiene en cuenta la modificación de la tabla
de ejecución. Supóngase que se va a configurar la misma función con un
multiplexor, pero usando las variables A y B para la línea de seleccións,
y so, y la variable C para las entradas del multiplexor. La variable C se
complementa en los términos mínimos pares y no se complementa para los
i m p a r e s y a q u e e s I a ú l t i m a v a r i a b l e e n l a s e c u e n c i ad e l a s v a r i a b l e s I i s t a -
das. El arreglo de las dos filas de términos mínimos en este caso debe ser
como se muestra en Ia Figura 5-19(a). Encerrando en un círculo los tér-
minos mínimos y usando las reglas establecidas anteriormente se obtienen
las conexiones del multiplexor para la configuración de la función como se
ve en la Figura 5-19(b).
En forma similar, es posible usar cualquier variable de la función en
Ias entradas del multiplexor. Se pueden formular varias combinaciones
para configurar una función de Boole con multiplexores. De cualquier ma-
nera, todas las variables de entrada a excepción de una, se aplican a las
líneas de selección. La variable restante o su complemento ó 0 ó 1 se apli-
can a las entradas del multiplexor.

Io
/r MUX
Io It 12 13
r.
, 4xl
C, 0 : 4-7d
C coot 13 Jr Jo

( a ) Tabla de configuración (b) Conexióndel multiplexor

Figura 5-19 Configuración alterna p a r a F ( 4 , B , ( ' ) : I (1,3,5,6)


1,,

ll

t.
MLjX
r, r )
8r I
l1
A, I,
A
It,

/r .f: \l .!r,

Figura 5-20 C o n f i g u r a c i ó nd e F ( A , B , C , D l : I ( 0 . 1 ' ; 1 , 4 '8 , 9 ' 1 5 r

EJEMPLO 5-4; Ejecutar la siguiente función coll utr mul-


tiplexor:
F ( A ,B , C , D ) : > ( 0 ,l , 3 , 4 ,8 , 9 ,1 5 )
Esta es una f'unción de cuatro variables y por tanto se neceslt¿t
Se
un multiplexor con tres líneas de selección y ocho entradas'
e s c o g ea p l i c a r l a s v a r i a b l e s B , C y D a l a s l í n e a s d e s e l e c c i . r " r .L ¿ r
pri-
tablá ds configuración es la mostrada en la l'igura 5-20. l,a
mera mitad de los términos mínimos e s t á I l a s o c i a d g sc ( ) n A ' ¡ ' l a
S e g u n d am i t a d c o n A . B n c e r r a n d c l e n u n c í r c u l o l o s t é r m i n o s n rl-
nimos de la función y a p l i c a n d o l a s r e g l a s p a r a e n c ( ) l l t r a r l ( , s \ ' ¿l-
lores p a r a l a s e n t r a d a s d e l m u l t i p l e x o r , s e o b t i e n e e l c i r c u i t rr
mostrado.

C o m p á r e s e a h g r a e l m é t o d o d e l m u l t i p l e x o r c 1 ¡ t re l m é t o d o d e l c o d i t i -
cador paia configurar los circuitos combinacio¡ales. El método del decodi-
sólo
ficadoi requiere .,na comprrerta OR para cada función de salida, más
se necesitÁ un decodificaáor para generar todos los térmings m í n i m o s ' El
método del multiplexor usa unidades de menor tamaño p e r t ) r e q u l e r e ull
s a l i d a . P o d r i a 5 ' s ¡ ¡ ¿ 2 o t t n b l ea s u m i r q ue
multiplexor para cada tunciórl de
c o l l u n a p e q u e ñ a c a n t i d a d d e s a I i c l a s se
los circuitos combinacionales
p u e d a n r e a l i z a r c o n m u l t i p l e x o r e s . L o s c i r c u i t o s c o m b i t l a c i o n a l e sc ( ) n m u -
del
c h a s f ' u n c i g n e sd e s a l i d a p r o b a b l e m e n t e u s a n m e n o s C I c o n e l m e t ¡ c l o
decodificador.
para lir
A u n q u e l o s m u l t i p l e x o r e s y d e c o d i f i c a d o r e ss e p u d i e r a n u s a r
c o m b i n a c i o n a l e s , d e b e t e t r e r s e e n c u e n t a que l()s
ejecución de los circuiios
decodificadores s e u s a n p r i n c i p a l m e n t e p a r a d e c o d i f i c a r l a i n f b r maciti¡
lexorei para fbrmar un camino selecto e¡tre múltiples
ü i r r u r i u y , l o s m u l t i p^destino.
i¡,entu. y ,r., solo .Se deberían considerar cuando se diseñan pe-
187
r
188 L O G I c Ac O M B I N A C I O N ACLO N M S I Y L S I CAP. 5

queños circuitos combinacionales especiales que no se consiguen como


funciones MSI. Para los grandes circuitos combinacionales con múltiples
entradas y salidas, hay un componente de CI más adecuado y este se pre-
senta en la siguiente sección.

5-7 M E M O R I AD E S O L O L E C T U R A( R O M )

Se vió en la Sección 5-5 que un decodificadorgenera los 2n términos mí-


nimos de las n entradas variables. Colocandolas compuertasOR para sumar
los términos mínimos de las funcionesde Boole se podrá generarcualquier
circuito combinacional.Una memoria de solo lectura (ROM) que viene de
Read Only Memory) es un. elemento que incluye el decodificadory las
compuertas OR dentro de una sola cápsula de CI. Las conexionesent¡e las
salidas del decodificadory las entradas de las compuertas OR pueden espe-
cificarse para cada configuración particular "programando" la ROM. La
ROM se usa a menudo para configurar un circuito combinacionalcomplejo
en una cápsulade CI y así eliminar Ios cablesde conexión.
Una ROM es esencialmenteun dispositivo (o acumulador) de memoria
en el cual se almacena un conjunto fijo de información binaria. La infor-
mación binaria debe especificarsepor el usuario y luego enclavarseen Ia
unidad para formar el patrón de interconexiónrequerida.Las ROM vienen
con enlacesinternos especialesque pueden esta¡ fusionadoso abiertos. La
interconexión deseadapara una aplicación particular requiereque ciertos
enlaces estén fusionadospara formar los caminos del circuito necesarios.
Una vez que se establezcaun patrón para una ROM, este permaneceráfijo
aunque se haga un corte de corriente y luego se restablezca.
Un diagrama de bloque de una ROM se muestra en la Figura 5-21.
Este consisteen n líneas de entrada y m líneas de salida. Cada combina-
ción de bits de las variables de entrada se llama una direccírín.Cada com-
binación de bits que sale por las líneas de salida se llama una palabra. EI
número de bitr por palabra es igual al número de líneas de salida m.Una
dirección es esencialmenteun número binario que denota uno de los tér-
minos mínimos de n variables. El número de direccionesdiferentesposi-
bles con n variables de entrada es 2". Una palabra de salida puede ser
seleccionadapor una dirección única y como hay 2" direccionesdiferentes

n entradas

¡n salidas

Figura 6-21 Diagrama de bloque de una ROM


i
h'l

sEc. 5-7 M E M O R I AD E S O L O L E C T U R A( R O M ) 189 H


:il
*l
ljl
f
¡l
Él
enunaRoM,hay2"palabrasdiferentesquésediceque.estánacumula.
salida, en cualquier
áu, u" la unidad. iu puiuU.udisponibleen las líneasde
aeperiá" del valor de la dirección aplicada a las líneas de
momento aado,
de palabras 2" y el núme-
;;1;;d". una ÉOú se caracterízapor el número
se usa debido a la similitud
."-á"-¡it. por palabra m. Esta teiminología que se
fu -á-o.iu de solo lectura y la memoria de lectura-escritura
""tr.
presentaen la Secci6n7-7.
en 32 palabrasde 8
Considéreseu"u iiOü de 32 X 8. La unidad consiste
salida y 32 palabras
bits cada una. Esto ,ig"ifi"u que hay ocho líneas de puede aplicar-
una de las cuales
distintas almacenadasi' la urridud, cada que está pre-
.r-u fu. Iíneas de salida. La palabra particular seleccionada
partir 4" l^1tcinco líneas de
sente en las líneas á" .ufiao se determinan a porque 2s :
Hay solume'te cinco entradasen una ROM de 32X 8
direcciones o términ.s
32 y con .l.r"o uuii"bles se puede especificar32
""ii"a".
para cada dirección de entrada hay una pala-bra,únicaseleccio-
mínimos.
00000, se'selecciona la palabra
nada. Así, si una Jireccl¿n de entrada es entrada
de salida. si la dirección de
número 0 y esta up"t."" ." las líneas de sa-
palabra número 31 y se aplica a las líneas
es 11111,se seleccionala que pueden
lida. Entre ta prim"iu-y'tu tttti-a hay otras 30 direcciones
seleccionarotras 30 Palabras'
se determina del
El número ¿" Jut"¡tut direccionadasen una ROM
n Iíneas de entrada para especificar 2" pala-
hecho de que r" r;;l;
veces por el núm_ero total de bits que
bras. una ROM se especificaalgunas
de 2048bits puede
contiene, el cual ,"ia Z" x -. Éo, ejemplo, una ROM
significa que la
á.g".,irut." .o-o Sii pututtu. de 4-biti cada una. Esto

Términos mínimos
Direccción de entrada

0
I

2
decodificador
5x32

128 enlaces +

Fr f1 13

Figura 5-22 Const¡ucciónlógica de una ROM de 32x 4


190 L O G I C A C O M B I N A C I O N A LC O N M S I Y
LSI CAP, 5

unidad tiene 4 líneas salida y 9 ríneas de entrada para especificar


. l n ú.de
2 s: 5 1 2 p a l a b r a sE m e r ot o t a r d e b i t s e n r a u n i d a l e s 5 1 2 X 4 : 2 . 0 4 g .
Internamente,la ROM es un circuito combinacio.,ui
.u., compuertas
AND conectadascomo decodificadory un número
de compuertasoR igual
al número de salidas de la unidad. La Figur
a !-22muestrauna construcción
lógica interna de una RoM de g2a¡. Lis
cinco u;rñi;; de enrradase de_
codifican en 32 líneas por medio de 32
compuertasAND y 5 inversores.
cada salida del decodiiicador.ep.".".,tu
uno de los términos mínimos de
una función de cinco variabies.óada una de
ras 32 direccionesselecciona
una y sólo una salida der decodificador.La
direcciónes un númer. de 5
bits aplicado a las entradasy er tJrmir.ro
mínimo seleccionado por fuera
del decodificadores er marcado .on 'u-u.o-á".i-ái'.qriralente.
32 salidas del decodificadorestán conectadas "i Las
por medio de errocesa cada
compuerta oR. solamente cuatro de
estos se muestran en el dia_
grama pero realmentecada compuerta ".riucu.
oR tiene á1";tr;;. y cada entrada
pasa a través de un enraceque puede
estar cortadosi así se desea.
La RoM es u-na configuración de dos niveles
términos mínimos. No tiene qrrusu. una configu.u"i¿., de suma de
"r,-fo.-u
Áñó-oR, pero puede
ser cualquierotra posibleconfiguraciónde
tármino. -í.,i-o* de dos nive_
les. El segundonivel es normarinenf" ,,.,,
conexión de rógicacabreada(ver
Secc_ión 3-7) para facilitar la fünción de los enlaces.
Las RoM tienen muchas aplicacionesimportantes
sistemas de computadoresdigitaüs. su en el diseño de
uso para ra configuraciónde cir-
cuitos combinaciona-res- es justamente una de eüs apricaciones.
otros usos de las RoM-complejos se'prásentarien otras partes del ribro conjunta-
mente con aplicacionesparticulares.

C o n f i g u r a c i ó nd e l ó g i c a c o m b i n a c r o n a l

Del diagrama lógico de-la RoM, es claro que


cada salida producera su-
ma de todos los té¡minos mínimos de n variables
de urrtruáu.nucuérdeseque
una función de Boore puede ser expresada
en forma d;-*ini-u,
.;rrru de términos
mínimos' Al romper,ros enlaces.de aqueilos
términos que no se
incluyen en la función, cada salida,le-ia
RoM puedehacerrepresentarra
función de Boole de una de las va.iables
de sariáa u,, combina_
cional. Para un circuito combinacionarde "n "ii"uito
n .ntruaá. v'.'suriaa. se nece_
sita una ROM de 2.
mación de la RoM. El l,^-.La ruptura de los enlaces,é ,"liur" a la progra_
diseñadornecesita.olu-*i"-urpá"ifi.ur una tabla
del programa RoM que da la info.mación para
los caminos necesariosen
la RoM. La programaciónactual ur-u.r pro""dimiento
del material (hard_
ware) que sigue las especificaciones ristadas en la tabl; áe programación.
Para aclarar er procesoes necesa¡ioun ejemplo
específico.La tabla
en la. Ficu{g.5-23_(a) un circuito combinacionalcon
9:-uutlud,
dos entradas y dos salidas. Las ".p".ifi.,
frnciones de Boole p".a"" expresarseen
suma de términosmínimos:

F , ( A , ,A ) : > ( 1 ,2 , 3 )
Fr(Ar, Ao): >(0, 2)
H
ti
*
t;
';
t;

'i

z¿

¿C

a
:
F
'i

9a

O-:

óN
C,^

(J bc

t9l
192 L O G I c Ac o M B I N A C I o N A Lc o N M S I Y L S I CAP. 5

Cuandose configuraun circuito combinacionalpor medio de una ROM, las


funciones deben expresarseen suma de términos mínimos o mejor aún por
una tabla de verdad. Si la salida de las funcionesse simplifica, se encuen-
tra que el ci¡cuito necesita solamente una compuerta OR y un inversor.
obviamente, este es un circuito combinacionalsimple para ser ejecutado
con una RoM. La ventaja de las RoM es su uso en circuitos combinacio-
nales complejos.Este ejemplo solamentedemuestrael procedimientoy no
debe considerarseen una situación práctica.
La ROM que configura el circuito combinacionaldebe tener dos en-
tradas y dos salidas de tal manera que su tamaño deberá ser 4 X 2. La
Figura 5-23(b) muestra la construcción interna de una ROM. Es necesa-
rio determinar cuál de los ocho enlacesdisponiblesdeben rompersey cuá-
les deben dejarse sin tocar. Esto puede hacersefácilmente de las funciones
de salida listadas en la tabla de verdad. Aquellos términos mínimos que
especificanuna salida de 0 no deben tener un camino a la salida a través
de una compuerta OR. Así, pera este caso particular la tabla de verdad
muestra tres ceros y sus correspondientesenlaces con las compuertas OR
que deben quitarse. Es obvio que se debe asumir que un circuito abierto
a una compuerta OR se comporta como una entrada de 0.
Algunas ROM vienen con un inversor despuésde cada una de las com-
puertas OR y como consecuenciase especificaque inicialmente tienen todos
0 en sus entradas. El procedimiento de programaciónde tales ROM re-
quiere que se abran los enlaces de los términos mínimos (o direcciones)
que especifiquenuna salida de 1 en la tabla de verdad. La salida de la com-
puerta oR complementa la función una vez más para producir una salida
normal. Esto se muestra en la ROM de la Figura b-28(c).
El ejemplo anterior demuestrael procedimientogeneralpara ejecutar
un circuito combinacionalcon una ROM. A partir del número de entradas
y sahdas en el circuito combinacional,se determina primero el tamaño de
la ROM requerido.Luego se obtiene la tabla de verdad de programaciónde
la ROM; no se necesitaninguna otra manipulación o simplifieación. Los
ceros (o unos) en las funcionesde salida de la tabla de verdad especifican
directamente aquellos enlaces que deben ser removidos para producir el
circuito combinacionalrequeridoen la forma de suma de términos mínimos.
En la práctica, cuando se diseña un circuito por medio de una ROM,
no es necesariomostrar enlaces de las conexionesde las compuertasin-
ternas dentro de la unidad como se hizo en la Figura 5-23;lo cual fue mos-
trado para propósitos de demostración solamente. Todo lo que el diseñador
tiene que hacer es especificar la ROM (o su número asignado) y dar la
tabla de verdad de la ROM como en la Figura 5-23(a).La tabla de verdad
da toda la información para programar la ROM. No se necesita un dia-
grama interno que acompañe la tabla de verdad.

EJEMPLO 5-5.' Diseñar un circuito combinacional usando


una ROM. El circuito acepta un número de 3 bits y generaun nú-
mero binario de salida igual al cuadrado del número de entrada.
El primer paso es deducir la tabla de verdad para el circuito
combinacional. En la mayoría dé los casoses todo lo que se nece-
üH
¡l

Tabla 5-5 Tabla de verdad para el circuito del Ejemplo 5-5 I


ii

:.4

Entradas Salidas i?

At Ao 85 84 83 82 Bt Bo

0 0 000000 0
0
0 I 000001 I
0
I 0 000100 4
0
I I 001001 9
0
0 0 010000 l6
I
0 0ll00l 25
I I

I 0 100100 36
I
ll000l 49
I I t

^2 ^
ñl ro

A2 At Ao Fr F2 F3 F4
0 00 0000
0 0l 0000
0 l0 000I
ROM 0 ll 0010
8x4 00 0100
0l 0ll0
10 l00l
Ft F2 F3 F4 1l ll00

D
Bs B ^ B3 B2 Bl

(a) Diagramade bloque (b) Tabla de verdadde la ROM

de la ROM del Ejemplo5-5


Figura 5-24 Configuración
verdad más
sita. En algunos casosse puede encajar una tabla de
p"i" r" ROM usándo ciertas propiedades I.u.tabla de
;"Ñ; -ttt
La Tabla 5-5 es la tabla de ver-
uerd"d dél circuito combinacional'
se necesitan las tres entra-
aáa p"r" el circuito combinacional.
ralidas para acomodar. todos los números posibles.
il ;l-[ tres
S. que la saliáa Éo siempre igual a la entrada Ao de tal
manera"otu que no es necesariogenera-r86 c9n la ROM.ya que es
",
es
ig";i; i.ta lrariuble de entrada' Sin embargo' la salida B'
ó, d" t"l manera que siempre es conocida' Se necesita
dos
g"""iut sólamente cuatro entradas con una ROM; las otras
"i"*p*
debe tener
3e obtienen fácilmente' El tamaño mínimo de la ROM
ocho
tres entradas y cuatro salidas. Las tres entradas especifican
la ROM debe ser 8X 4. La
p"fu¡ru, de taÍ maneraque el tamaño de
con ROM se muestra en la Figura 5-24' Las tres
i""fig*".i¿n
Las
er,traáas especifican ocho palabras con cuatro bits cada una.
de los clrcuitos combinacionales son igrrales a
;l;;; d". ,"lidur
193
194 L o c r c Ac o M B t N A c t o N Ac Lo N M S ty L S t cAp. 5

0 y Au. La tabia de verdad de Ia Figura 5-24 especificatoda Ia


información necesaria para programar la RoM y el diagrama de
b l o q u e r ¡ ¡ u e s i r e l a s c o n e x i o n e sr e o u e r i d a s .

Tipos de ROM

Los caminos necesarios en una RoM pueden ser programados de dos ma-
neras diferentes. La primera se llama programación por mascara y la hace
e l f a b r i c a n t e d u r a n t e e l ú l t i m o p r o c e s od e f a b r i c a c i ó n d e l a u n i d a á . E l p r o -
cedimiento para fabricar una RoM requiere que el cliente llene la tábla
de verdad según lo que se desea que la RoM satisfaga. La tabla de verdad
debe ser entregada en una forma especial suministrada por el fabricante.
Muy a menudo, se entrega en cinta de papel o tarjetas perfbradas en el
formato especificado en la hoja de datos de una RoM parficular. El fabri-
cante hace Ia máscara correspondiente para que los caminos produzcan
unos y ceros de acuerdo a Ia tabla de verdad del cliente. Este procedimien-
to es muy costoso ya que el vendedor le carga al cliente una tarifa especial
por hacerle una RoM con máscara. Por esta razón, Ia programación con
máscara es económica solamente si se van a fabricar grandes cantidades
del mismo tipo de configuración de ROM.
Para pequeñas cantidades, es más económico usar un segundo tipo
d e R o M l l a m a d o m e m o r í a p r o g r a m a b L ed e s o l o l e c t u r a o p R o M ( d e p . o g r a -
mable read-only memory). cuando se ordenan, las unidades pRoM .onti.-
nen ceros (o unos) en cada bit de las palabras almacenadas. Los enlaces
en el PROM se rompen por medio de pulsos de corriente a través de los
terminales de salida. un enlace roto define un estado binario y uno no
roto representa el otro estado. Esto le permite al usuario programar Ia
unidad en su propio laboratorio para lograr la relación deseáda*entre las
direcciones de entrada y las palabras almacenadas. Comercialmente se
obtienen unidades especiales llamadas programadores de pVoM para faci-
litar este procedimiento. De todas formas, todos los procedimientos para
programar las RoM son procedimientos de los materiales (hardware) aun-
que se use la palabra programación.
EI procedimiento de los materiales para programar RoM o pRoM es
irreversible y una vez programados el patrón dado es permanente y no
puede alterarse. una vez que se ha establecido un patrón de bits se debe
descartar la unidad si se quiere cambiar el patrón de bits. Un tercer tipo
d e u n i d a d e s l a l l a m a d a P R O M b o r r a b l e o E p R o M ( d e e r a s a b r ep R o M ) .
Las EPROM pueden ser recuperadas a su valor inicial (todos unos o todos
ceros) aunque se hayan cambiado previamente. cuando una EpRoM se
coloca bajo una luz ultravioleta especial por un periodo dado de tiempo, Ia
radiación de onda corta descarga los puentes internos que sirven de con-
tactos. una vez borrada la RoM regresa a su estado inicial para ser re-
programada. Ciertas RoM pueden ser borradas con señales eléctricas en
v e z d e l u z u l t r a v i o l e t a y s e l e s l l a m a a l g u n a s v e c e sR O M e l é c t r i c a m e n t e
o l t e r a b l eo E A R O M .
La función de una RoM puede interpretarse de dos maneras diferen-
tes. La primera interpretación es la de una unidad que configura cualquier
circuito combinacional. Desde este punto de vista, cada terminal de sálida
t!?
{i

SEC.5-B A R R E G L OL O G I C OP R O G R A M A B L(EP L A ) 195


1
s e c o n s i d e r a s e p a r a d a m e n t ec o m o u n a s a l i d a d e u n a f ' u n c i ó n d e B o o l e e x -
presada .n .,,Áu de términos mínimos. La segunda interpretación consi-
fijo
hera Ia ROM como una unidad de almacenamiento que tiene un patron
de c a d e n a s d e b i t s l l a m a d a s p a L a b r a s .V i s t o d e e s t a f o r m a , l a s e n t r a d as
especifican una dírección pata una palabra específica a l m a c e n a d a q u e s e ir
l a R O M d e l a F i g u r a 5 - 2 4 t i e n e t r e s 1
upii.u luego a las salidas. Por ejemplo,
,f
líneas de dirección las cuales e s p e c i f i c a n o c h o p a i a b r a s a c u m u l a d a s d e l a
manera dada en la tabla de verdad. Cada palabra tiene cuatro bits de
Iongitud. Esta es Ia razón por Ia cual se le ha dado a la unidad ei nombre '::q
d e " m e m o r i a d e s c , l o I e c t u r a . l l t l p ¡ n t t r i os e u s a c o m u n m e n t e p a r a d e s i g n a r
u n a u n i d a d d e a l m a c e n a m i e n t o .L e c t u r o s e u s a p a r a i m p l i c a r q u e e l c o t r - ;
tenido de una paiabra especificada por una dirección en una unidad de
almacenamiento se localiza en los terminales de salida. Así' una ROM es
una unidad de memoria con un patrón fijo de palabra que puede ser leídtr
bajo la aplicación de una dirección dada. El patrón de bits en la ROM es
permanente y no puede cambiarse durante la operación normal'
Las ROM se usan extensamente para ejecutar circuitos combinacio-
nales complejos directamente de sus tablas de verdad. Son muy útiles para
convertir á".rtt código binario a otro (tal como ASCII a EBCDIC 9 vice-,
versa), para funciones aritméticas como multiplicadores, para mostrar
caracteres en un tubo de rayos catódicos, y en cualquier otra aplicación
que requiera un gran número de er,tradas ¡,'salidas. Se emplean tambiérl
en el dlseño de unidades de control de los sistemas digitales. Como tales,
s e u s a n p a r a a l m a c e n a r p a t r o n e s f i j o s d e b i t s q u e r e p r e s e n t e nu n a s e c u e n -
c i a d e v á r i a b l e s d e c o n t r o l n e c e s a r i o sp a r a h a b i l i t a r l a s d i f e r e n t e s o p e r a -
ciones en el sistema. Una unidad de control que utiliza una ROM para
almacenar infbrmación de control binario se llama una unidad de c'tntrttl
m í c r o p r o g r a m a d a .E l C a p í t u l o 1 0 t r a t a r á e s t e t e m a e n m á s d e t a l l e s .

5-8 L O G I C OP R O G R A M A B L(E
ARREGLO PLA)

Un circuito combinacional puede tener ocasionalmente condiciones de ntr


importa. Cuando se configura con una ROM una condición de no importa
se convierte en una dirección de entrada que nunca ocurre. Las paiabras
en las direcciones de no importa no necesitan ser programadasy pueden
dejarse en su estado original (todos ceros o todos unos). El resultado es
qr. no todos los patrones de bits disponibles en la ROM se usan, lo cual
se considera como un desperdiciode equipo disponible.
Considéresepor ejemplo, un circuito combinacional que convierte utr
código de tarjeta de 12 bits a un código alfanumérico interno de 6 bits, co-
rno J" lista en Ia Tabla 1-5. El código de tarjeta de entradas consiste en
1 2 l í n e a s d e s i g n a d a sp o r 0 , 1 , 2 , . . , 9 , 1 1 , 1 2 . E l t a m a ñ o d e I a R O M p a r a
c o n f i g u r a r e l ó o n v e r s o r d e c ó d i g o d e b e s e r 4 0 9 6X 6 , y a q u e h a y 1 2 e n t r a d a s
y O salidas.Hay solamente 4? entradas válidas para el código de tarjeta
y el resto de cómbinaciones son condiciones de no importa. Se usan así
iolamente 47 palabras de las 4096 disponibles. Las 4049 palabras restantes
no se usan y se desperdician.
Para aquellos casos en los cuales el número de condiciones de no im-
porta es excesivo, es más económico usar un segundo tipo de componente
I96 L O G I C AC O M B I N A C I O N ACLO N M S I Y L S I
CAP. 5

LSI Ilamado arreglo Iógicoprogramabreo pLA (viene d,eprogramabre


rogic
arrayl. un PLA es similara una RoM en concepto;sin embargo pl,A;lo
el
produce la decodificacióncompleta de las variáblÁ y no genera
todos los
términos mínimos como en una RoM. En un pLA, eidecodificador
se rem-
plaza mediante un grupo de compuertas AND, cada
una de las cuales pue-
den ser programadaspara generar un término'producto ¿e-las
variables de
entrada. [,as compuertasAND y oR dentro del pLA se fabrican inicialmen_
te con enlaces entre ellas. Las funciones específicasde Boole se
ejecutan
en la forma de suma de productos al abrir los enlaces adecuadosy
d;ja; ú;
conexionesdeseadas.
un diagrama de bloque de un pLA se muest¡a en la Figura 5-25.
Este
consiste en n entradas, rn salidas, ft términos de producto y rn términos
de
sunra. Los términos de producto constituyen un grupo de á compuertas
y los términos de suma co-nstituyenun g,upo ae"-'comprr"rtu. AND
oR. Los en-
laces se colocan ent¡e todas las entradá, ,, y ,us valores complementados.
otro grupo de enlaces en ros inversores de salida p"r-ii" q"e se genere
la
función de salida o en la forma de AND-oR o ü forma AND-O:R inver_
tida. con el enlace del inve¡sor en su rugar, se "r,puentea dando
una configuraciónAND-OR. cuando se rompe elinlace el"l'irr.r"rro. inversor se vuel_
be parte del circuito y la función se configuraen la forma AND-oR
inve¡_
tida.
EI tamaño del PLA se especificaoor el número de entradas,
el número
de términos de producto y el número de salidas (el número
de términos de
suma es igual al número de salidas). Un típico pLA tiene
16 entradas,4g
términos producto y 8 salidas.* El número de enlaces programados
es
2 ¡ t x k * h x m f r n m i e n t r a sq u e l o sd e l a R O M s o n2 ,
x;.'
La Figura 5-26 muestra una construccióninterna de un pLA
específi-
co. Tiene t¡es entradas,tres términos producto y ao.
Tal pLA es
muy pequeñopara encontrarsecomercialmente;se presenta "utiáus.
aquí solamente
para propósitode demostración.cada entrada y su
tomplemento se conecta
por medio de enlacesa las entradas de todas las compueitas-eN¡.
Las sali_
{as -de-las compuertas AND se conectan por medio de enlaces a cada entra-
da de las compuertasoR. se suministran dos enlacesmás con los
inversores
de sa.lida' Al romper los enlaces seleccionadosy dejar olro.
rugar, es
posible,ejecutar configuracionesde funcionesde Éoolé ".r de suma
en la fbrma
oe productos.
De la misma fo1la que la ROM, el pLA puede ser programablepor
máscara o programablepor el usuario (programaciónde óu,opol. con
un

& términos ¡n términos


producto suma
(compuertas (compuertas
AND) oR)

Figura b-2b Diagrama de bloque del pLA


*El
CITTL tipo 82S100.
o

(!

.ir

!6
\o

a .-/

;:-
6o

<?
F¡ O.
qE

)!z :

tri'6
6
¡r '=

b¡E
llI

197
198 L O G T CCAo M B | N A C | O NCAOL NM S ty
LSt
C A p .5
PLA programable por máscara,
el cliente debe entregar una
gramación der pLA al fabricante tabla de pro_
Est.a tabra.se,r.u
producir un pLA hecho puru io, el fabricante para
ui-"tl'nte con to. rnrernos requeri_
dos enrre las enrradas
v'las.áliá"]. u " . " g r " i r _"; u
; ;-"i ' o . pLA disponible
se llama arregto tógryo
iroer"iitt"2n ,t ,o,ip, fi,Te field prosram_
:i"b^1:-tlqt"
arrav.).nt .pie p""J" ser.programuao " po. tde
-H;;ñil.iu0o.",
oe crerros procedimientosrecomendadás. usuariopor medio
"i comerciales
de materiales (hardwa..l pu.u-
u.u.-"on¡u.rta-e.,te-"o., ciertos F'LA.
Tabla de programadel pLA

El uso de un PLA debeser considerado


q u e t i e n e nu n g r a n n ú m e r o para los circuitoscombinacionales
d e e n t r a J a sy s a r i d a s E
. s s u p e r i o ra u n a R o M
para circuitos que tienen
un gran ^i^rro de condici,onls
El ejemplo presentadou .oniinuu"io" de no importa.
PLA' Manténgaseen mente cuando ¿"-r.r*;;; se programa un
se obse.rve el ejemploque tal circuito
sencillo no necesitaun pLA
vu ñ su configuraciónpuedeejecutarse
económicamente con compuertasSSI. más
considéresera tabla d" ;;.;;J'd-el
en la Figura E-27(a).Aunque circuito combinacionalmostrado
ñóu rá.'i,]""l"rrs en la fbrma
de suma de términos mínimos ""u
un pLA, "o.,rigu." r". r,i"."i"res
de suma de productos. cada t¿i,'ino en ra forma
¿""otrriñ-,ia
p.;;;;r';;^ü'u"p.".ron requiere
una compuerta AND. como
el número.d" pLA es
finito, es necesariosimplificar-u "o-puu.l".^año en un
r"""i¿" ñi",_" de términos
de producto nara poder m-i;i;";"i ";;-;il;
r,,i-"ro de compuertas AND usadas.
l":'J:'Ut"¡'ffiT*1$;; ,1,-"ia" productos
."'oüii""".,derosma-
Ft: AB' + AC

Fz: AC + BC

Hay tres términosde productodistintos


AB" AC v BC. El circuiro ri";;-;.;";nrradasen estecircuito cc¡mbinacionar:
la Figura b-26 puede y dos salidas;asÍ el pLA de
;";; ;;;g".u.
rrs.arse
La programación-qe-l pLÁ .ig"iii"u que "rt"-.rr"rliJ ""*¡inacional.
se especificanlos caminos en
su patrón AND-oR-Nor. una taÉla
de programaáe pLA típica se muestra
en la Figura 5-27(c).Esta consist"
t.". columnas. La primera columna
lista los rérminos de producto-;;;¿;i;"-ente.
"r,
cifica los caminos necesariosentre ras-l.rtradas La ,"g";í; columna espe_
y las compuertasAND. La
terceracolumnaesnecificalos caminos
-r"-^il"riü"
entre las_ compuertás AND y las oR.
Bajo cada variable de salüa,
una v (verdadero)si ra función
debe complementarsecon el i.r,u"rro,
de salida. Los términos de,Boole lis_
tados a la izquierda no son parte de
la tabra; ;;^i;;;uyen solamente
como ¡eferencia. "ll;.
Para cada término producto,se
marcan las entradascon 1,0, ó - (guión).
si la variable en
tildada), la va¡iable"11it.-i"g i,."a""t" aparece en su forma normal (no
de..entrada
rece complementada(tirdada) "o..".po.rai"rrt" ." ^u.i;;;; ." 1. si apa_
r" -u."i un 0. Si la variabreestá ausente
"on
A R R E G L OL O G I C OP R O G R A M A B L (EP L A ) 199
sEc. 5-8

e n e l t é r m i n o p r o d u c t o s e m a r c a c o n u n g u i ó n . C a d aentradas
t é r m i n oyp rlaso d c,m-
uctose
entre las
asocia con una .o-prrarü AND. Los caminos
puertas AND se ru columna llamada entradas.un 1en la
"!p;^fi;;¡u:o Ia correspondienteentrada
columna de entraoal-s;;;ili"" Ln camino desde producto. un 0 err la
que forma el término
a la entrada ¿" ru
"o*pir"ilu-AND Éa*i'o entre la entrada correspondiente
columna de entrada;;;;ift;";
complementaday t" de la compuerta AND' Un guión no especifica
"rri."d" los que quedan forman los
conexión. Los enlaces adecuadosse rompen.y
ü Figura 5--26-Se asurne que los
caminos deseadoscomo se muestra "n
terminales abiertos ;;1"";";;"erta AND se óomportan como una entrada
de 1.
L o s c a m i n o s e n t r e l a s c o m p u e r t a s A N D y o R s e e s p e ccon i f i cunos
a n b apara
jolasco
se marcan
lumn'rs llamadas sat'idas.Las variables de salida de la
f'unción' En el ejemplo
aquellos términos pr"J".t" que formulan la
Figura 5-27 se tiene:
F, : AB, + AC
producto 1 y 2 y
de tal forma que Ft 'i¿r-i"" se marca con un 1 para los términos
producto g. Cudu término producto que tiene
con un guión Para el IJ

,{
\------Y---,

00 00 L
0l 00 ¡'1 =AB,+AC
l0 00
ll 0l
l0 B
00
OI 1l
l0 00
l1 I
1l
(a) Tabla de verdad
,{ I

\_---r--J
C
¡:. -_AC + BC
(b) SimplificaciónPormaPa

l'érmrno Entradas Salidas


producto ABC F, F)

AB, I 10 1
AC l ll l1
3 1l -l
BC
TT TiC

(c) Tabla de Programa del PLA

Figura 5-27 Pasos necesarios en la configuración del PLA


200 L O G I C AC O M B I N A C I O N ACLO N M S I Y L S I CAP. 5
j,
un 1 en la columna de salida requiere un camino desde la compuerta AND
correspondientehasta la compuerta de salida OR. Aquellos marcados con
un guión no especificanconexión. Finalmente una salida V (verdadera)
indica que el enlace a través del inversor de salida permaneceen su lugar
y un c (complemento)indica que el enlace correspondienteestá roto. Los
caminos internos del PLA para este circuito se muestran en Ia Figura 5-26.
Se asume que un terminal abierto en una compuerta OR se comporta como
un 0 y que un corto circuito a través del inversor de salida no daña el cir-
cuito.
cuando se diseña un sistema digital con un PLA no es necesariomos-
trar las conexionesde Ia unidad como fue hecho en la Figura b-26.Todo lo
que se necesitaes una tabla de programacióndel PLA mediante la cual se
puedeprogramarel PLA para dar los caminos adecuados.
cuando se configura un circuito combinacionalcon pLA, se debe ha-
cer una investigación cuidadosa para poder reduci¡ el número total de
términos producto ya que un PLA podría tener un número finito de térmi-
nos AND. Esto puedehacersesimplificando cada función al mínimo número
de términos. El número de literales en un término no es importante ya que
se tienen disponibles todas las variables de entrada. Los valore. ue.áa-
derosy de complementode la función debensimplificarsepara ver cual se
puede expresar con menos términos producto y cual produce términos
producto que son comunesa otras funciones.

EJEMPLO 5-6.. Un circuito combinacionalse define nor las


funciones:
Ft(A,B, C) : )(3, 5,6,7).
F 2 ( AB, , C ) : ) ( 0 , 2 , 4 , 7 )

configúreseel circuito con un PLA de 3 entradascuatro términos


productoy dos salidas.
Las dos funciones se multiplican en los mapas de la Figura
5-28. Ambos valores verdaderosy complementosde Ia función se
simplifican. Las combinacionesque dan un número mínimo de
términos producto son:

Fr: (B'C' + A,C, + A,B,),


Fz: B'C' + A'C' + ABC

Esto produce solamente cuatro términos producto diferentes:


B'C' , A' C' , A'B' y ABC. La tabla programadel pLA paraestacombi-
nación se muestra en la Figura 5-28. Nóteseque la salida F, es la
salida normal (verdadera)aunquese marque una c bajo ella. Esto
es debidoa que Fí se generaantes del inversor de salida. El inver-
sor complementala función para producir F, a la salida.

El circuito combinacionalpara este ejemplo es muy pequeñopara una


configuraciónpráctica con un PLA. Este se ha presentadoaquí solamente
B B

A)' I o{ I I
L L
--_-J -_
L C
F1=AC+AB+BC FI.=8,C,+A,C,+ABC

B
I

U 0 0 0 0

,{ 0 ,tI 0 0
-r--/ \____Y_/
L

F i = s ' c ' + A ' C ' +A ' B ' Fi=B'C+A,C+ABC

Tabla de prog¡ama de un PLA


Términos Entradas Sali{as
productos A B C Ft F2
B,C, I -00 ll
A,C, 1 0-0 ll
A'8, 5 00 l-
ABC 4 tll -l

CT ttL

Figura 5-28 Solucióndel Ejemplo5-6

para propósitos de demostración. Un PLA típico comercial tiene más de 10


entradas y cerca de 50 términos producto. La simplificación de las funcio-
nes de Boole con tantas variables debe llevarse a cabo por medio del méto-
do de tabulado u otro método de simplificación a base de computador. Aquí
es donde el programa de computador puede ayudar al diseño complejo
de Ios sistemas digitales. El programa del computador debe simplificar
cada función del circuito combinacional y su complemento al mínimo nú-
mero de términos. El programa selecciona el número mínimo de términos
diferentes para cubrir todas las funciones en su forma verdadera o de
complemento.

5-9 N O T A SC O N C L U Y E N T E S

Este capítulopresentauna variedadde métodosde diseñopara los circui-


tos combinacionales. También presenta y explica un número de circuitos
MSI y LSI que pueden ser usados para diseñar sistemas digitales más

201
t¿
202 L O G I c Ac o M B I N A c I o N A LC o N M S I Y L S I CAP. 5 .

complicados. El énfasis aquí fue sobre Ia lógica combinacional MSI y las


f ' u n c i c ¡ n e sL S L L a s f u n c i o n e s d e l a l ó g i c a s e c u e n c i a l M S I s e d i s c u t i r á n e n
e l c a p í t u l o 7 . E l p r o c e s a d o ry c o n t r o l M S I y l a s f u n c i o n e s L S I s e p r e s e n -
tarán en los capítulos 9 y 10. Los componentes del microcomputador LSI
se iritroducirán en el Capítulo 12.
Las funciones MSI presentadas aquí y otras disponibles comercial-
mente se describen en los libros de especificaciones o catálogos. Los libros
d e C I c o n t i e n e n d e s c r i p c i o n e se x a c t a s d e m u c h o s M S I y o t r o s c i r c u i t o s
integrados. Algunos de estos libros de datos se listan en las ref'erencias
que se darán más adelante.
Los circuitos MSI y LSI pueden usarse en una variedad de aplicacio-
nes. Algunas de estas aplicaciones fueron discutidas a lo largo de este
capítulo, algunas fueron incluidas en problemas y otros serán encontradas
en capítulos siguientes conjuntamente con sus aplicaciones particulares.
Los diseñadores recursivos pueden encontrar muchas otras aplicaciones
que se ajusten a sus necesidades particulares. Los fabricantes de circuitos
integrados publican numerosas notas de aplicación que sugieren la utili-
zación posible de sus productos. Una lista de notas de aplicación puede
obtenerse escribiendo a los fabricantes directamente o sólicitándola di-
r e c t a m e n t e a s u s r e p r e s e n t a n t e sl o c a l e s .
A,-

R E F ER E N C I A S

t.
Yu.lo'-M. M., computer S-ysfemArchitecture. Englewoodcriffs, N. J.: prentice-
Hall, Inc., 1976.
z- M o r r i s , R . L . , y J . R . M i l l e r , e d s . , D e s l g ni n g w i t h r r L Integratedcircuits.
Nueva Yo¡k: McGraw-Hill Book Co., 1921.
3 . Blakeslee,T. R., Digítal Design with standlrd MSI and LSI. Nueva york: John
Wiley & Sons, 19?5.
A
Barna A., y D. I. Porat, Integrated Circuíts in Dígitat Electronics.Nueva york: -t-
John Wiley & Sons, 1973.
5 . I,.9, s. c., Digital Circuíts and Logic Design, Englewoodcliffs, N. J.: prentice-
Hall, Inc.,1976.
SemiconductorManufacturersData Books (consultar la última edición):
(a) The TTL Data Booh for Design Engineers.Dallas, Texas: Texas Instru-
m e n t s ,I n c .
( b I T h e t r ' a i r c h i l ds e m í c o n d u c t o Tr T L D a t a B o o k .M o u n t a i n V i e w , c a l i f . : F a i r -
child Semiconductor.
( c l D i g i t a t I n t e g r a t e dC i r c u i t s . S a n t a C l a r a , c a l i f . : N a t i o n a l s e m i c o n d u c t o r
Corp.
( d ) S i g n e r i c sD i g i t a l , L i n e a r , M O S . S u n n y v a l e ,C a l i f . : S i g n e t i c s .
(e) MECL Integrated circuits Data Booh. Phoenix, Ariz.: Motorola semicon-
t
ducto¡ Products,Inc. JI

( f ) R C A s o l i d s t a t e D a t a B o o hS e r i e s .s o m e r v i l l e ,N . J . : R C A s o l i d s t a t e D i v .
PROBLEMAS
5-1. Diseñe un convertidor de código de exceso 3 a BDC usando un circuito MSI
de sumadores completos de 4 bits.
5-2. Usando cuatro circuitos MSI, construya un sumador paralelo binario para
sumar dos números binarios de 16 bits. Marque todos los arrastres entre
ios circuitos MSL
5-3. Usando 4 compuertas OR-exclusivas y un circuito MSI de sumadores comple-
tos de 4 bits, construya un sumador sustractor paralelo. Use una variable
de selección de entrada V de tal manera que cuando V:0, el circuito suma
y cuando V: t, el circuito resta. (Sugerencia: use la sustracción por com-
plementode 2.)
5-4. Deduzca la ecuación de dos niveles para el bit de arrastre de salida C, mos-
trado en el generador de bit de arrastre posterior de la Figura 5-5.
5-5.' (a) Usando el procedimiento de configuración AND-OR invertida descrito en
la Sección 3-7, demuestre que el bit de arrastre de salida en el sumador
completo puede expresarse como:

C¡+t : Gi + PiCí : (Ci Pi + GiCi)'

(b) El CI tipo 74182 es un circuito MSI generador de bit de arrastre poste-


rior que genera los bit de arrastre conjuntamente con las compuertas
AND-OR invertida. El circuito MSI asume que los terminales de entrada
tienen los complementos de G, P y de Cr. Deduzca las funciones de
Boole para los bits de arrastre posteriores Cr, C, y C¿ en este CI. (Su-
gerencia: use el método de ecuación sustitución para derivar los arrastres
en términos de C,')
5-6. (a) Redefina la programación y generación de los arrastres de la siguiente
forma:

P': A' * B'


G¡: A,B,

Demuestre que el arrastre de salida y la suma de salida de un sumador


completo se convierte en:

C¡*r: GiGi + Pi)': G,+ PiCi


E:(P,ci)@c,
(b) El diagrama lógico del primer estadodel sumador en paralerode 4 bits
como se configura en el CI tipo 74288y se muestra en la Figura pb_6.
Identifique los terminales Pj y Gi, como se definieronen (a) y demuestre
que el circuito puedeconfigurarun sumadorcompleto.
(c) Obtenga los arrastres de salida C., I C, en función de pi, pl, p!, Gí,
G;, C;, y C1 en la forma de AND-OR invertida y dibujeel circuito de arras-
tre posterior de dos niveles para este circuito integrado. fsugerencia:
use el método de ecuación-sustituciónde la forma como se hizo en el
texto al deducir la Figura 5-4, pero usandola función AND-OR invertida
d a d ae n ( a ) p o r C , * , . 1

203
rl
Figura P5-6 Primeraetapade un sumadorparalelo

5-7.!, (a) Asuma que la compuerta oR-exclusiva tiene una demora de propagación
de 20 ns y que las compuertasAND y OR tienen una demora de propaga-
ción de 10 ns. ¿Cuál es el tiempo total de demora de propagaciónen el
sumador de 4 bits de la Figura b-5?
(b) Asuma que C5 se propagaen el recuadrode la Figura b-b al mismo tiem-
po que otros bits de arrastre (ver Problema 5-4).¿Cuál será el tiempo de
demora de propagacióndel sumador de 16 bits del Problema 5-2?
l.
5-8. Diseñe un multiplicador binario que multiplique un número de 4 bits B:
b3b2btbo por un número de 3 bits A -- ararao para formar el producto
C : c 6 c 5 c a cca2 c t c o . E s t o p u e d e l o g r a r s ec o n 1 2 c o m p u e r t a sy d o s s u m a d o -
res paralelos de 4 bits. Las compuertasAND se usan para formar los produc-
tos en pares de bits. Por ejemplo, el producto de o6 y b6 pueden generarse
sacando la función AND de o¡ con ó¡. Los productos parciates formados por
Ias compuertasAND se suman con los sumadoresparalelos.
5-9., ¿Cuántas entradasde no importa hay en un sumadorBDC?
5-10. Diseñe un circuito combinacionalque genereel complementode 9 del dígito
BDC.
5-11. Diseñe una unidad aritmética decimal con dos variables de selección,vt y
vo y dos dígitos BDC, A y B. La unidad debe tener cuatro operacionesarit-
méticas que dependen de los valores de las variables de selección de la ma-
nera como se muestraa continuación.

Función de salida
00 A + 9's complementode B
0l A+B
l0 I * lO's complementode B
ll A + | (agreguelaA)

use funciones MSI en el diseño y el complementador de 9 del problema b-10.


5-12. Es necesario diseñar un sumador decimal de dos dígitos representados In
un código de exceso 3 (Tabla 1-2). Demuestre que la corrección después de
sumar los dos dígitos con un sumador binario de 4 bits es de la siguiente
,1,
manera:

204
,
P R O B T E M A S 205

(a) El arrastre de salida es igual al bit de arrastre del sumadorbinario'


( b ) S i e l a r r a s t r ed e s a l i d a : 1 , a g r e g a r0 0 1 1 '
( c ) S i e l a r r a s t r ed e s a l i d a : 0 , a g r e g a r1 1 0 1 '
Construyae]sumadorcondossumadoresbinariosde4bitsyuninversor.
5 . 1 3 , D i s e ñ e u n c i r c u i t o q u e c o m p a r e d o s n ú m e r o s d e 4 b i t s A y B , p a r a c o nys t a t a r
si A: B
s i e l l o s s o n i g u a l e s .E l c i r c u i t o t i e n e u n a s a l i d a ¡ ' t a l q u e ¡ : l
r:0 siA+ B.
de 4 bits similar
5-14. EI circuito integrado74L85 es un comparadorde-nrggnitud
internos
al de la Figura i-7, exceptoque tiene tres entradasmás y circuitos
que configur"., uqniuuiente lógico mostrado en la Figura P5-14. Por medio
"1 de mayor
de estos circuitos integrados, se pueden comparar los _números
longitud .o.r".iu, los'comparadoies en cascaáa.Las salidasA<B' A> B y
A: B de "l
una etapa que contenga bits menossignificativos.quese conectana
e t a p aq u e
l a s c o r r e s p o n d i e n i eesn t r a d a sA < 8 , A > B y A : B d e l a s . i g u i e n t
más significativos. La etapa que manipula los bits menos sig-
manipula bits
en Ia Figura 5-?. Si se usa el
nificativos debe ser có-o el circuito -o.t."áo
debe-aplicar un 1 a la entrada A: B y un 0 a las entradasA <B
cl74L85,se
bits menos significativos.usando
i ,q, n á" .r ci qie r.rariprrlalos cuatro
un circuito .o*o .i de la Figura 5-7 y un cI ?4L85,obtengaun circuito para
circuito'
comparar dos números de 8-bits. Justifique la operación del

^3
A<B
12

Al

Ao
C ircuito
dela A>B A>B
Figura 5-7
B3
B2

Bl

Bo A=B

A<B

A>B

A=B
I
al CI tipo 74L85
lógicamente
Figura P5-14 Circuitoequivalente

, 5-15. Modifique el decodificadorde BDC a decimal de la Figura 5-10 para obtener


inválida'
una salida de sólo ceros cuando ocurra una combinaqión de entrada
/5-16. Diseñe ün convertidor de código BDC a exceso3 con un decodificador BDC
a decimal Y cuatro comPuertasOR.
fun'
b-lTY'Un circuito combinacionalse define por medio de las tres siguientes
ciones:

Ft: x'/' * ryz'


Fz:x'*Y
Fr: xy * x'y,

Diseñe un circuito con un decodificador y compuertas externas.


y'o-18. Un circuito combinacional
se define por medio de las dos sizuientes fun-
clones:
F,(x,y) : >(0,3)
Fr(x,y) : >(1,2, 3)
Configure el circuito combinacional por medio del decodificador mostrado
en
la Figura 5-12 y compuertas NO-y externas.
r 5-79. Construya un decodificador de 5x 32 con cuatro decodificadores
demulti-
plexores de 3 x 8 y un decodificador de 2 x 4. Use la
construcción de diagrama
de bloque de la Figura b-14.
t 5-20. Dibuje el diagrama lógico de un decodificador demultiplexor
de 2 a 4 líneas
usando solamente compuertas NO-O.
5-21' Especifique la tabla de verdad de un decodificador de prioridad
de octal a
binario. coloque una salida para indicar que al -.r,o. unu
de ras entradas
es 1. La tabla puede ser listada con b filas-y algunas de las
entradas pueden
tener valores de no importa.
5-22. Diseñe un codificador de prioridad de 4 a 2 líneas. Incluya ¿_-
una salida E para
indicar que al menos una de las entradas es 1.
5-23. Configure la función de Boole del Ejemplo 5-4 con un multiplexor
de g x 1 con
A' B y l) conectados para seleccionar ias líneas s2, sr y s6 respectivamente.
5-24. Configure el circuito combinacional especificado en el problema
5-1T con
un doble multiplexor de 4 a 1 línea, una compuerta o y un inversor.
5-25. Obtenga un multiplexor de 8x I con un doble multiplexor
de 4 a 1 línea con
entradas de habilitación (enable) separados pu.o .o., Iíneas de
selección
comunes. Use la construcción por diagrama de bloque.
5-26. configure un circuito sumador completo con multiplexores.
5-27. La RoM de 32 G conjuntamente con ra línea 20 como se muestra
" en la Fi-
gwa P5-27 convierte un número binario de 6 bits a su A
correspondiente nú-
mero BDC de 2 dígitos. por ejemplo, er binario 100001se convierte
al BDC
011 0011 (decimal 83). Especifique la tabla de verdad para la ROM.

23 22 2l

ABCD

32x6ROM
Ft F2 F3 Ft Fs

\___Y-_i L____T____-_J

l0r 100
Figura P5-27 Conversorde binario a decimal
206
PROBLEMAS 2O7

que
5-28. .Pruebe que una ROM de 32 X 8 puede usarse para configurar un circuito
de un número de 5 bits de entrada con Bo : Ao !
genere ei cuadrado binario
É, : 0. Como en la Figura 5-24(a). Dibuje el diagrama de bloque del circuito
y lirt. las primeras y últi*u. entradas de la tabla de verdad de la ROM.
5-29.,7¿Qué tamaño de ROM se usaría para configurar:
(a) Un sumador sustractor BDC con una entrada de control para seleccio-
nar entre Ia suma Y la resta?
(b) un multiplicador binario que multiplica dos números de 4 bits?
(c) unos multiplexores dobles de 4 a 1línea con entradas de selección co-
munes?
/ remplaza con una
S-gO/ Cada inversor de salida en el PLA de la Figura 5-26 se
OR-exclusiva. Cada compuerta OR-exclusiva tiene dos entradas.
compuerta
la compuerta oR y la otra entrada se
una entrada se conecta a Ia salida de
por medio de enlaces a una señal equivalente a cero o uno' Demues-
conecta
tre cómo ."leccionu. la salida verdadera,/complemento en esta configuración'
que
S-gf l Deduzca la tabla de programación del PLA para el circuito.combinacional
el número de términos
eleva al cuadrado ,r., iú.n".o de 3 bits. Minimice
producto. (Ver la Figura 5-24 para la configuración con ROM equivalente')
de código de
5-32. Liste la tabla de programación del PLA para el convertidor
BDC a exceso 3 definido en la Sección 4-5'

t
á

Lógica
secuencial

I
I
t,l

6- 1 INTRODUCCION
Los circuitos digitales hasta ahora consideradoshan sido combinacio-
nales, es decir, las salidas en un instante dado de tiempo son enteramen-
te dependientes de las entradas presentes en ese mismo tiempo. Aunque
cada sistema digital debe tener circuitos combinacionales,la mayoría de
los sistemas encontradosen la práctica incluyen también elementos de
memoria, los cuales requieren que el sistema se describa en términos de ¡
la lógica secuencial.
Un diagrama de bloque de un circuito secuencialse muestra en la
Figura 6-1. Este consiste en un circuito combinacionalal cual se le co-
nectan elementosde memoria para formar un camino de realimentación.,
Los elementosde memoria son capacesde almacenar información binaria
dentro de ellos. La información binaria almacenada en los elementos de
memoria en un tiempo dado define el estado del circuito secuencial.El
circuito secuencial recibe la información binaria de las entradas exter-
I nas. Estas entradas, conjuntamentecon el presenteestado de los elemen- i
tos de memoria, determinan el valor binario de los terminales de salida.
También determinan la condición de cambio de estado en los elementos {
de rnemoria. El diagrama de bloque demuestra que las salidas externas -t
en un circuito secuencialson una función no solamente de las entradas
externas sino del presente estado de los elementos de memoria. El si-
guiente estado de los elementos de memoria es también una función de
las entradas externas y del estado presente. Así, un circuito secuencial
se especifica por medio de una secuencia de tiempo de las entradas,
salidas y estadosinternos.
Hay dos tipos de circuitos secuenciales.Su clasificación depende
del tiempo de sus señales.Un circuito secuencialsincrónico es un siste-
ma cuyo comportamiento puede definirse a partir del conocimiento de
sus señales en instantes discretos de tiempo. El comportamiento de un
circuito asincróníco depende del orden en que cambien las señales de
entrada y puedan ser afectadas en un instante dado de tiempo. Los ele-
mentos de memoria comúnmente usados en los circuitos secuencialesasin-
crónicos son mecanismosretardadoresde tiempo. La capacidad de memoria
de los mecanismosretardadoresde tiempo se debe al hecho de que la señal
208
Entradas
Circuito
combinacional

Figura 6-1 Diagrama de bloque de un circuito secuencial

gasta un tiempo finito para propagarse a-través del dispositivo. En la prácti-


;", ietardo de propágacién interna de las compuertas lógicas es de una
"t
duración suficientó pltt" producir el retardo necesario,de tal manera
"o-o
fisicas de rétardo de tiempo puedan ser despreciables.
il; i;. unidades
Ér, los sistemas asincrónicos tipo compuerta, los elementos de memoria de
ü¡lisot" 6-1 consisten en compuertas lógicas €uyos retardm de,propagación
;;.tlút"" la memoria reqn"iid". Así, un circuito secuencial asincronico
puede tomarse como un ciróuito combinacional con realimentación. Debido
a la realimentación entre las compuertaslógicas,un circuito secuencialasin-
puede a veces volverse inestable. El problema de inestabilidad im-
po"" Á""rtas dificultades al diseñado¡. Por tanto, su uso no es tan común
"Jtti"o
como en los sistemas sincrónicos-
un sistema lógico secuencial sincrónico, por definición, puede usar
señales que afecten"los elementos de memoria solamente en instantes de
;ü;p. discreto. Una forma de lograr este propósito es usar pulsos de
duración limitada a través del sistóma de tal manera que la amplitud de
un pulso representelógica 1 y otra amplitud de pulso (o la ausencia de un
pulso) représente lógica 0. La dificultad con un sistema de pulsos es que
iuufq"i"i par de pn-l.or que lleguen de fuentes separadas independientes
a las entradas dé la misma compuerta mostrarán retardos no predeci-
bles de tal manera que se separaiátt los pulsos ligeramente, resultando
una operaciónno confiable.
Los sistemas lógicos secuencialessincrónicos prácticos usan ampli-
tudes fijas tales coñro niveles de voltaje -de para las señales binarias' La
sincronización se logra por un dispositivo tiempo llamado generadcir
maestro de tiempo genera un tren periódico de pulsos de reloj- Los
"l "rrál
se distribuye.r
pulsos de reloj-memori" través del sistema de tal manera que los
rotr "
afectadas solamente con la llegada del pulso
ilementos de
de sincronización. En la práctica, el pulso de reloj se aplica a las com-
¡pnetta*
-iequeriaos AND conjuntamente con las ieñales que especifican los cambios
en los élementos de memoria. Las salidas de la compuerta AND
pnLd"n trasmitir señales solamente en los instantes que coinciden con
ia llegada de los pulsos de reloj.r Los circuitos secuenciales sincrónicos
q,r" ,íu¡ pulsos dó reloj en las entradas de los elementos de memoria se
liaman círcuitos secuencialestemporizados. Los circuitos secuenciales
temporizados son el tipo más comúnmente usado. No presentan proble-
¡¡ur d" inestabilidad y su temporización se divide fácilmente en pasos
discretos independientés, cada uno de los cuales se considera separada-
mente. Los circuitos secuencialesque se discuten en este libro son ex-
clusivamentedel tipo temporizado.
209
2IO L O G I C AS E C U E N C I A L
CAP. 6

Los elementosde memoria usados en los circuitos secuencialestem-


porizados se llaman flip-flops. Estos circuitos son celdas
binarias cafa_
ces de almacenar un bit de información. un circuito flip-flop tiene
áos
entradas, una-para el valor normar.y rrqo para el valor cbmplemento
del
bit almacenado en é1. La informacién binaiiá p""¿" ."to, á ,r., flip flop
en una variedad de formas, hecho éste, que determina diferentes -tipos
de flip-flops. En la siguiente secciónse examinan varios tipos de flip-flops
y se definen sus propiedadeslógicas.

6-2 FLIP-FLOPS

un circuito flip-flop puede mantener un estado binario indefinidamente


(siemprey cuando se esté suminist¡ando potencia
al circuito) hasta que
s,e cambie por una señal.de e¡trada para cambiar estados.
La principal
diferencia entre varios tipos de flip-fiops es el número de entradas
que
poseeny la manera en la cual las entradas afectan el
estadobinario. ios
tipos de flip-flops más comunesse discuten a continuación.

Circuitobásicode un flip-flop
se mencionó en las secciones 4-7 y 4-g que un circuito flip-flop
puecre
construirse con dos compuertas NAND o dos compuertas NoR.
Estas
construccionesse muestran en los diagramas lógicos de las
Fig*. o-i
y 6-3. cada circuito forma un frip-flop iá.i"o deicual
,e p,r"ae construir
u.nomás complicado.La conexión de acoplamientointercruzado
de la sa-
lida. de una.
.compuertaa ra entrada de ü otra ."";;i;;; un camino de
realimentación. Por esta razón, los circuitos se clasifican
como circuitos
secuencialesasincrónicos.cada frip-flop tiene dos salidas, y
entradas S (seú) y R (res-e.t). Q e, y dos
Este-tipo de flip-flop ,; iümu fúp_ftop RS
acoplado directamenteo bloquead,orSR (sR latctr). La, ietra.,R y
s ron
las iniciales de los nombres en inglés de las entra¿as-ireset,set).
Para analizar la operación del circuito de la Figuru o z se
debe re-
cordar que la salida de una compuerta NoR es 0 ; ;;;rq"ier
entrada es
1 y que la salida es 1 solamente cuando todas las entradas
sean 0. como
punto de partida asúmaseque la entrada de puesta
; ;;" (set) es 1 y
que la entrada de puesta a cero (reset) sea 0. óo-o
ú la compuerta2 tiene
una entrada de 1, su salida Q'debe ser 0, lo cual colocaambas
entradas

;-J-1" (puesta
a
l0 l0
00 l0 ( d e s p u édse S : 1 , 8 : 0 )
0l 01
00 01 (después
de S: 0, .R: 1)
:-J-L, (puesta o,
au l¡ 00
(a) Diag¡ama lógico (b) Tabla de verdad

Figura 6-2 Circuito flip-flop básico con compuertas NOR


E

I
FL|P-FLoPS 2l I
sEc. 6_2
f
q
l!
de la compuerta 1a 0 para tener la salida Q como 1. Cuando la entrada
de puesta a uno (set) vuelva a 0, las salidas permanecerán iguales ya
que la salida Q permanece como 1, dejando una entrada de la compuerta
2 -e n t . E s t o c a u s a q u e I a s a l i d a Q ' p e r m a n e z c a e n 0 l o c u a l c o l o c a a m b a s
entradas de la compuerta número 1 en 0 y así la salida Q es 1. De la mis-
ma manera es posible demostrar que un 1 en la entrada de puesta a cero
(reset) cambia Ia salida Q a 0 y Q'a 1. Cuando la entrada de puesta a cero
cambia a 0, las salidas no cambian.
cuando se aplica un 1 a ambas entradas de puesta a uno y puesta a
cero ambas salidás I y Q' van a 0. Esta condición viola el hecho de que
las salidas Q y Q' son complementos entre sí. En operación normal esta
condición debe evitarse asegurándose que no se aplica un 1 a ambas en-
tradas simultáneamente.
Un flip-flop tiene dos entradas útiles. Cuando Q : 1 y Q' : 0 estará en
el estado áe púesta o uno (o estado 1). Cuando Q:0 y Q': 1 estará en el
estado de puósta a cero (o estado 0) . Las salidas Q y Q'son complenientos
entre sí y se les trata como salidas normales y de complemento respecti-
vamente. El estado binario de un flip-flop se toma como el valor de su salida
normal.
Bajo operación normal, ambas entradas permanecen en 0 a no ser que
el estado del flip-flop haya cambiado. La aplicación de un 1 momentáneo
a Ia entrada de puesta a uno causará que el flip-flop vaya a ese estado.
La entrada de puesta a uno debe volver a cero antes que se aplique un 1
a la entrada dg. puesta a cero. Un 1 momentáneo aplicado a la entrada de
puesta a cero causará que el flip-flop vaya al estado de borrado (o puesta
á cero). cuando ambas entradas son inicialmente cero y se aplica un 1a
la entrada de puesta. a uno mientras que el flip-flop esté en el estado de
puesta a uno o se aplica un 1 a la entrada de puesta a cero mientras que
ut ftlp-ftop esté en él estado de borrado, quedarán ias salidas sin cambio.
Cuando sl aplica un 1 a ambas entradas de puesta a uno y de puesta a
cero, ambas ialidas irán a 0. Este estado es indefinido y se evita normal-
mente. Si ahora ambas salidas van a 0, el estado del flip-flop es indeter-
minado y depende de aquella entrada que permanezca por mayor ttempo
en 1 antes de hacer Ia transición a 0.
El circuito flip-flop básico NAND de Ia Figura 6-3 opera con ambas
entradas normalmente en 1 a no ser que el estado del flip-flop tenga que
, cambiarse. La aplicación de un 0 momentáneo a la entrada de puesta a

'_lr
9 l-JS(puestaauno)

( d e s p u édse S : 1 , f i : 0 )

0 (después
de S: 0, fi: 1)
I
:l-J-"*uestaace
I (a) Diagrama lógico (b) Tabla de verdad

Figura 6-3 Circuito flip-flop básicocon compuertasNAND


212 L O G T C AS E C U E N C I A L CAP. 6

uno, causaráque Q vaya a 1 y Q' vaya a 0, llevando el flip-flop al estado


de puesta a uno. Después que la entrada de puesta a uno vuelva a 1, un
0 momentáneoen la entrada de puesta a cero causará la transición al esta-
do de borrado (clear). Cuando ambas entradas vayan a 0, ambas salidas
irán a 1; esta condición se evita en la operación normal de un flip-flop.

I
Flip-flop FS temirorizado
I
1
El flip-flop básico por sí solo es un circuito secuencialasincrónico.Agre- I
gando compubrtas a las entradas del circuito básico, puede hacerseque
el flip-f'lop responda a los niveles de entrada durante la ocurrencia del
pulso del reloj. El flip-flop RS temporizado mostrado en la Figura 6-a(a)
consiste en un flip-flop básico NOR y dos compuertasAND. Las salidas
de dos compuertas AND permanecen en cero mientras el pulso del reloj
(abreviado en inglés CP) sea 0, independientementede los valores de
entrada de S y rt. Cuando el pulso del reloj vaya a 1, la información de
las entradas S y .B se permite llegar al flip-flop básico. El estado de pues-
ta a uno se logracon S: 1, R:0 y CP: 1. Para cambiarel estadode pues-
ta a cero (o borrado) las entradasdeben ser S:0, R: I y CP: 1. Con
S : 1 y R: I, la ocurrenciade los pulsosde reloj causaráque ambassalidas
vayan momentáneamentea 0. Cuando se quite el pulso, el estadodel flip- J
flop será indeterminado, es decir, podría resultar cualquier estado,

QQ+I\
o 0 00
0 0l
C 0 l0
(Pulsos 0 ll
de reloj) 00
01
10
(a) Diagrama lógico ll

(c) Tabla ca¡acterística

SR

V 'l

tl
I
o1 !I lx
tr
w
rftfl
*_l--
rlr Q(t+t):s+R,o
SR:0
CP
(b) Símbolográfrco (d) Ecuación característica

Figura 6-4 Flip-flop .BS temporizado


E
ts
hl

sEc. 6-2 FLIP-FLOPS213 P


ii;
dependiendode si la entrada de puesta a uno o la de puesta a cero del
ftii-¡1op básico, permanezcael mayor tiempo, antes de la transición a 0 ü
:i
- final del pulso.
al
Ei símÉolográfico del flip-flop RS sincronizadose muestra en la Fi- $

gor¿ O-¿(¡).Tieñe tres entradl.' S, R y CP. La.entrada CP no se escribe F


Ir
pequeño
á""tro deí recuadro debido a que se reconoce fácilmente por un !,]

irianguto. E! triángulo es un símbolo para el indicador.dinámico denota


y $
¿
¿" que el"nip-flop respondea una transición del reloj de entrada E
"i-fr"Efr"
o flanco de subida de una senai de un nivelWGTlnario) a un nivel-alto tt

(1 binario). Las salidas del flip-flop se marcan con Q y Q', dentro del re- H
cuadro. Se le puede asignar át lip-nop un nombre de variable diferente
Áu"q"" ," ur.rib" u.t" Q dentro del recuadro.En este caso Ia letra esco-
;id;;"t; la variable del ilip-flop se marca por fuera del recuadrov a Io largo
áe ta tír,ea de salida. El eitadó del flip-flop se determina del valor de su
salida normal Q. Si se deseaobtener ei complementode la salida normal,
no es necesariousar un inversor ya que el valor complementadose obtiene
directamentede la salida Q'.
La tabla característicadel flip-flop se muestra en la Figura 6-4(c).
Esta tabla resume la operación de1 flip-flop en forma-.detabulado. Q es
el estado binario del flip-flop en un tiempo dado (refiriéndose,aI es.tado
I presente),las columnas S y B dan los valores posiblesde las entradas y
'O pulso de
t¿+ 1) !s el estado del flip-flop despuésde la ocurrenciade un
reloj (refiriéndoseal siguiente estado).
-La
ecuación caracierística de un flip-flop se deduce del mapa de la
Figura 6-4(d). Esta ecuaciónespecificael valor del siguiente estado como
un"a función del presente estado y de las entradas. La ecuación caracte-
rística es una expresiónalgebraicápara la información binaria de la tabla
característica.Lós dos estádos indeterminadosse marcan con una X en
la relación
-0 ya que pueden resultar como 1 o como 0. Sin embargo
el mapa,
Sn : aéUeinctuirse como parte de la ecuación caracteústica para espe-
que S y E no puedenser iguales a 1 simultáneamente'
-__:ttt""t
Ftip-flopD
El flip-flop D mostrado en la Figura 6-5 es una modificación del flip-flop
BS sincronizado.Las compuertasNAND 1 y 2 forman el flip-flop básico y
las compuertas 3 y 4 las modifican para conformar el flip-flop RS- sincro-
nizado. La entrada D va directamente a la entrada S y su complemento É
r:
se aplica a la entrada R a través de la compuerta5. Mientras que el pulso 11
de rólo¡ de entrada sea un 0, las compuertas 3 y 4 tienen un 1 en sus sá- $
lidas, independientemente del valor de las otras entrad_as.-nlto ":!4 -9g tr
l¿
acuerdo á ios requisitos de que las dos entradas del flip-flop básico-N{ND ér

(Figura 6-3) permanezcaninicialmente en el nivel de 1. La entrada D se


corñpr,r"ba dürante la ocurrencia del pulso de reloj- Si es 1, la salida de la
t
ja

(a no E
compuerta 3 va a 0, cambiando el flip-flop a!. estado-de puesta a uno
;;¡ó"; ya esté
"tr
cambiando el flip-flop
é." estado). Si es 0, la
al estado de borrado.
salida de la compuerta 4

El flip-flop tipo D recibe su nombre por la ha.bilidad de trasmitir


va a 0,
H
"datos" a un flip-flop. Es básicamente un flip-flop RS con un inversor en
(a) Diagrama lógico con compuertas NAND

a:

cP
Qr't - l¡'-'¡1
(b) Símbolo gráfico (c) Tabla caracte¡istica (d) Ecuación ca¡acterística

Figura 6-5 Flip-flop D temporizado

la entrada ft. El inversor agregadoreduce el número de entradas de


dos
a uno' Este tipo de se llama algunas vecesbloqueadorD con com-
-flip-flop
puert.aso flip-flop de bloqueo.La entrada Cp se le da a menudo
la desig_
nación variable G (de gate) para indicar que esta entrada habilita el flifr-
flop de bloqueopara hacer posible que los datos entren al mismo.

6-5(b). La tabla característicase lista en la parte (c) y la ecuació.r;;.á;-


terística se deriva en la parte (d). La ecüación característica muestra
que el siguiente estado del flip-flop es igual a la entrada D y
es indepen-
diente del valor del presenteeÁtado.

F l i p - f l o pJ K
un flip-flop JK es un refinamiento del flip-flop -RSya que el estado inde-
terminado del tipo fis se define en el tipo ix. tá, entradas ./ y K se
comportan como las entradas v n para poner a uno o cero (set ó clear)
I
al flip-flop (nóteseque en el flip-¡leo-¿¡4 la letra J re u.u para la entrada
d,epuesta o u,noy la_.letraK para ra entrada d.e puestaa' cero¡. cuando
ambas entradas se aplican a J y K simultánea.n"r,i", el flip-flop cambia a
su estadode complemento,esto es, si Q : 1 cambiaá q:0 y viceversa.
^ un flip-flop oIl( sincronizadose muestra en la Figüra 6-6(a). La salida
Q se aplica con K y cP a. una compuertaAND de tal manera que el flip-
flop .seponga a cero (clear) dura4te un pulso de reloj ,olamente si
previamente.De manera similar la salida e fue 1
e' se aplica con J y cp a una
compuertaAND de tal manera que el flip-flop .e p-ong"a uno con un pulso
de reloj, solamentesi Q, fue 1 préviamente.
como se muestra en la tabra característicaen la Figura 6-6(c), el
flip-flop JK se comporta como un flip-flop RS excepto
v ¡i ,Lun
"rrurráo"r
214
E
ia
ii
&
g
p
fl
¡!

(a) Diagrama lógico


.l
IK
o 00 1l l0

tl
000
001
0

I -T
tr l
l-'
EH
0r0 o- ltl -l
011 t-
100
rll 101
1r0
K
CP Q ( r+ t ) - t Q ' + K ' Q
111
(b) Símbolográfico (c) Tabla característica (d) Ecuación característica

Figura 6-6 Flip-flop JK temporizado

ambos 1. Cuando J y K sean 1, el pulso de reloj se trasmite a través de


una compuerta AND solamente;aquella cuya entrada se conecta a la sa-
lida del flip-nop la cual es al presenteigual a 1. Así, si Q: 1, Ia salida de
la compuertaAND superior se convertirá en 1 una vez se aplique un pulso
y el flip-flop se ponga a cero' Si Q' : 1 la salida de la compuerta
de reloj -convieite
AND se e.t t y el flip-flop se pone a uno. En cualquier caso, el
estadode salida del flip-flop se complementa.
Las entradas en el símbolo gráfico para el flip-flop Jl( deben marcarse
I
I con una J (debajode Q) y K (debajode Q'). La ecuacióncaracterísticase
da en Ia Figura 6-4(d) y se deduce del mapa de la tabla característica.
Nótese que debido a Ia conexión de realimentación del flip-flop JI(,
la señal cP que permaneceen 1 (mientrasque J:K:1) causarátransi-
ciones repetidás y continuas de las salidas despuésde que las salidas
hayan siáo complementadas.Para evitar esta operación indeseable,los
prri.o. de reloj deben tener un tiempo de duración que es menor que la
á.-otu de propagación a través del flip-flop. g.!" .es-*na restricción, ya
que la operación*del circuito dependedel ancñb-dé lós pulsos. Por esta
razón los flip-flóps JI{ nunca se construyen como se muestra en la Figura
6-6(a).La restricción del ancho del pulso puedeser eliminada con un maes-
tro esclavo o una construcción activada por flanco de la manera discuti-
da en la siguiente sección. El mismo razonamiento se aplica al flip-flop ?
I presentado a continuación.
I 215
(a) Diagrama lógico

tl
5Tr {i
ll
CP
(b) Símbolográfico (c) Tabla ca¡acterística
Q ( t+ t ) . - r Q ' + - r ' Q
(d) Ecuación característica
I
Figura 6-7 Flip-flop ? temporizado

. Flip-flop f

El flip-flop ? es la versión de una entrada, del flip-flop Jr(. como se mues-


tra en la Figura 6-7(a),el flip-flopJse obtiene de un tipoJK a la cual se le
unen las dos entradas. El nombre 7 se deriva de la habilidad del flip-flop
de variar ("toggle") o cambiar estado. Independientementedel preiente
estado del flip-flop, este asume el estado de complemento cuando ocurre
el,pulso de reloj mientras que la entrada ? esté en lógica 1. El símbolo,la
tabla característicay la ecuación característicadel flip-flop ? se mues-
tran en la Figura 6-7, partes (b), (c) y (d) respectivamente.
Los flip-flops introducidos en esta secciónson los de tipo más común
comercialmente.Los procedimientosde análisis y de diseño desarrollados
en este capítulo se aplican a cualquier flip-flop sincronizadouna vez que
se haya definido su tabla característica.

6-3 D I S P A R OD E L O S F L I P - F L O P S( T R I G G E R I N G )

El estado de un flip-flop se,varía debido a un cambio momentáneoen la


señal de entrada. Este cambio momentáneose le llama disparo (trigger)
y la transición que lo causa se dice que dispara el flip-flop. Los flip-lops
asincrónicos,tales como los circuitos básicos de la Figura 6-2 y 6-8, re-
quieren un disparo de entrada definido por un cambio de niuel de señal.
216
S E C6. . 3 D I S P A RDOEL O SF L I P - F L O( T
PRS I G G E R I N2G1)7

Este nivel debe regresarsea un valor inicial (0 en el flip-flop a base de


NOR y 1 en aquella a base de NAND) antes de aplicarieel segundodis-
paro. Los flip-flops sincronizadosse disparan por medio de pul.sos.Un
pulso comienza a partir de su valor inicial de 0, va momentáneamentea Jii¡'il
1 y despuésde un corto período,regresaa su valor inicial 0. El intervalo
de tiempo que ocurre desde la aplicación del pulso hasta que ocurra la
transición de salida, es un factor crítico que requiere investigación pos-
terior.
Como se ve en el diagrama de bloque de la Figura 6-1, un circuito se-
cuencial tiene un camino de realimentaciónentre el circuito combinacional
y los elementosde memoria. Este camino puede producir inestabilidad si
las salidas de los elementosde memoria (flip-flops) están cambiandomien-
tras que las salidas del circuito combinacionalque van a las entradas de
los flip-flops esténsiendosometidasa disparopor el pulso del reloj. El pro-
blema de..tie_,mpo puede ser prevenido si las salidas de los flip-flops no
corrlienzana cambiar hasta que el impulso de entrada haya retornadoa 0.
Para asegurartal"operación,-un flip-flop debe tener un ietardo de propa-
gación de la señal desdela entrada hasta la salida, en exceso,con respecto
a la duración del pulso. Este retardo es comúnmentemuy difícil de con-
trolar si el diseñador dependetotalmente del retardo de propagaciónde
las compuertas lógicas. Una forma de asegurar el retardo adecuado es
incluir dentro del circuito del flip-flop una unidad de retardo fisico que
tenga un retardo igual o mayor que la duración del pulso. Una forma muy
buena de resolver el problema de temporización por realimentación es_
hacer el flip-flop sensiblea Ia transicióñ del pulso en vez de la duración
del pulso.
Un pulso de reloj puede ser positivo o negativo. Una fuente de reloj
positiva permaneceen 0 durante el intervalo entre los pulsos y va a 1 du-
rante la ocurrencia de un pulso. El pulso pasa por dos transiciones de
señal: de 0 a 1 y el regresode1 a 0. Como se ve en la Figura 6-8, la transi-
ción positiva se define comoflanco positiuo y la transición negativa como
flanco negatiuo. Esta definición se aplica a los pulsos negativos.
Los flip-flops sincronizadosque se introdujeron en la Sección 6-2 se
disparan durante el flanco positivo del pulso y el estado de transición
comienzatan pronto como el pulso alcanza el nivel de lógica 1. EI nuevo
estado del flip-flop puede aparecer en los terminales de salida mientras

Pulso positivo Pulso negativo

tt
tl
tt
II
Flanco Flanco Flanco Flanco
positivo negativo negativo positivo

Figura 6-8 Definición de la t¡ansición de un pulso de reloj


218 L O G I c AS E C U E N C I A L CAP. 6

que el pulso de entrada sea 1 todavía. Si las otras entradas del flip-flop
cambian mientras que el pulso sea 1, el flip-flop empezará a responder a
esos valores nuevos y puede ocurrir un nuevo estado de salida. Cuando
esto pasa, la salida de un flip-flop no puede ser aplicada a las entradas de
otro flip-flop cuando ambos sean disparados por el mismo pulso de reloj.
Sin embargo, si se puede hacer que el flip-flop responda al flanco positivo
(o negativo) de transición solamente, en vez de la duración total del pul-
so, entonces se puede eliminar el problema de la múltiple transición.
Una manera de hacer que el flip-flop responda solamente al pulso de
transición es usar un acoplamiento capacitivo. En esta configuración, se
inserta un circuito fiC (resistencia-condensador) en Ia entrada de reloj
del flip-flop. Este circuito genera un pico en respuesta al cambio momen-
táneo de la señal de entrada. Un flanco positivo emerge de tal circuito
con un pico positivo y un flanco negativo con un pico negativo (spike). La
activación de los flancos se logra diseñando el flip-flop para ignorar un
pico y dispararse con la ocurrencia del siguiente. otra forma de lograr el
disparo de los flancos es el uso de un maestro esclavo o flip-flop de disparo
por flancos como se discute a continuación.

X Flip-flop maestro esclavo

Un flip-flop maestro esclavo se construye con dos flip-flops separados.


un circuito sirve como maestro y el otro como esclavo y el circuito com-
pleto se trata como un flip-flop maestro esclauo. EI diagrama lógico de un
flip-flop maestro esclavo RS se muestra en Ia Figura G-9. Esta consiste
en un flip-flop maestro, un esclavo y un inversor. Cuando el pulso de reloj
CP es 0, Ia salida del inversor es 1. Como el pulso de entrada de reloj
del esclavo es 1, el flip-flop se habilita y la salida Q es igual a Y mientras
que 8' se iguala a {'. El flip-flop maestro se inhabilita debido a que CP:0.
cuando el pulso de reloj se convierte en 1, la información en las entradas
externas R y s se trasmiten al flip-flop maestro. El flip-flop maestrd sin
embargo, se aísla por el intervalo en que el pulso esté en un nivel de 1, ya
que la salida del inversor es 0. Cuando el pulso regresa a 0, el flip-flop 1
Y

FLIP.FLOP MAESTRO ESCLAVO

Figura 6-9 Diagra.'.a lógico de un flip-flop maest¡o esclavo


CPN

Figura 6-lO Relaciones de tiempo de un flip-flop maestro esclavo

maestrd se aísla, Io cual previene que las entradas externas lo afecten.


El flip-flop esclavo irá al mismo estadoque el maestro.
Las ielaciones de tiempo mostradas en la Figura 6-10 ilustran la
secuencia de eventos que oculren en un flip-flop maestro esclavo. Asú-
mase que el flip-flop está en el estado de puesta a cero antes de la ocu-
rrenci; de un pulso, de tal manera que y: 0 y Q : 0. Las condicionesde
entrada son S : 1, R : 0 y el siguiente pulso de reloj debe conmutar el
flip-flop al estado de puesta a uno con Q: 1' Durante la transación del
pui.o d" 0 a 1, el flip-f1opmaestro se pone a uno y conmuta Y a.í. El flip-
ilop esclavono se afecta debido a que su CP es 0: Como el flip-flop maes^tro
es un circuito interno, su cambio de estado no se nota en las salidas Q y
regresea 0, la información del maestrose permite pa-
Q,. Cuando el pulso
-haciendo 'la
sár al esclavo la salida externa Q: 1' Nótese que entrada
externa S puede cambiarseal mismo tiempo que el pulso va a través de la
transición á" utt flanco negativo.Esto se debe a que una vez que CP alcan-
ce el 0, el maestrose inhabilita y sus entradas R y 5- no tienen influencia
hasta que el siguiente pulso de reloj ocurra. Ento-nces,en un flip-flop
maestro esclavo, es posiüle variar la salida y la információn de entrada,
con eI mismo pulso de reloj. Se debe tener en cuenta que la entrada S po-
dria venir de la salida de otro flip-flop maestro esclavo que fuera conmu-
tado con el mismo pulso de reloj.
El comportamientodel flip-flop maestro esclavoya descrito determina
que los cambios de estadoen todos los flip-flops coincide con la transición
del flanco negativo del pulso. Sin embargo,algunos flip-flops maestro es-
clavo de CI cambian los estadosde salida en la transición del flanco posi-
tivo de los pulsosde reloj. Esto ocurre en Ios flip-flops que tienen un inver-
sor adicionál entre el terminal CP y la entrada del maestro. Este tipo de
flip-flops son disparadoscon pulsos negativos (ver Figura 6-8), tales que
el-flanóo negativo del pulso afecta al maestroy el flanco positivo afecta al
esclavoy a los terminales de salida.
La combinación maestro esclavo puede contruirse para cualquier tipo
de flip-flops agregandoun flip-flop ES sincronizadocon un reloj invertido
pu." fot*ár un ésclavo. Un ejemplo de un flip-flop JK maestro esclavo
construido con compuertas NAND se muestra en la Figura 6-11. Este
consiste en dos flip-flops; las compuertas t hasta 4 forman el flip-flop
219
Figura 6-11 Flip-flop JK temporizadomaestro esclavo

maestro y las compuertas5 hasta 8 forman el flip-flop esclavo.La infor-


mación presenteen las entradasJ y K se trasmitó al flip-flop maestro en
el flanco positivo del pulso de reloj y se sostieneallí haita que el flanco
negativo del pulso de reloj sucede,despuésdel cual se permite pasar has-
ta el flip-flop esclavo.El reloj de entrada es normalmente0, lo cual man-
tiene las salidas de las compuertasr y 2 en el nivel de 1. Esto previenea
l¡s entradas J y K de afectar el flip-flop maestro. El flip-flop Lsclavo es J
del tipo fts temporizadocon el flip-flop maestro que suministia las entra-
das y el reloj de entrada invertido por la compue.ta 9. cuando el reloj es
0, la salida de la compuertag es 1 de manera que la salida e es igual á y
y. Q'es igual a Y'. cuando ocurre el flanco positivo de un pulso dJreloi, el
flip-flop maestro se afecta y puede conmutár estados. El flip-flop
se aísla durante el tiempo en que el reloj esté en el nivel t,-debido "..iáuo
a que
la. s.alid-a!e ]a gompuerta 9 suminist¡a un 1 a ambas entradas del flip-fiop
básico NAND de las compuertas 7 y 8. cuando el reloj de entrada tég.".L
a 0, el flip-flop maestro se aísla de las entradas J y K y el flip-flop
va al mismo estadodel flip-flop maestro. ".Jluuo
considéreseun sistema digital que contenga muchos frip-flops maes-
tro esclavo, con las salidas de algunos flip-flops conectadosa las entradas l
de otros. Asúmase que las entradas del pulso áe reloj a todos los flip-flops
están sincronizados(ocurren al mismo fiempo). Al comienzode cada pül-
so_de reloi, algunos de los elementos maestro cambian de estado,
iero
todos_losflip-flops de salida permanecenen sus valores previos. Después
que el pulso de reloj regresea 0, algunas de las salidas cambian de estado,
pero ainguno de estos estados nuevos tienen un efecto en cualquiera de
los elementos maestro hasta el siguiente pulso de reloj. Así, los estados
de los flip-flops en el sistema pueden cambiarsesimultáneamenteduran-
te e I mismo pulso de reloj, aunque las salidas de los flip-flops se conectan
a las entradas de otros. Esto es posible porque el nuévo éstado aparece
en los terminales de salida solamente despuésque el pulso de reloj haya
cambiadoa cero. Por tanto el contenidobinario á" un lip-nop puedótrás-
ferirse al segundo y el contenido del segundo trasferiise ál'primero y
ambas trasferenciasocurren durante el misnio'pulso de reloj.
220
Flip-flop disparado Por flanco
Otro tipo de flip-flop que sincroniza los cambios de estado durante una n
transición de pülso de reloj es el flip-flop disparado por flanco (edgg-
triggered flip-flop). En este tipo de flip-flop, las transiciones de salida
$
o.,rñ"tt en un nivel específicodel pulso de reloj. Cuando el nivel de entra-
ff
da del pulso excede este umbral, se cierran las entradas y el flip-flop es
por tanlo inactivo a cambios posterioresen las entradas hasta que el pul- f
so de reloj regresea cero y ocurra otro pulso. Algunos flip-flops disparados
por flanco causan una transición en el flanco positivo del pulso y otras
causatruna transición en el flanco negativo del pulso. H
El diagrama lógico de un flip-flop tipo D disparado por flanco positivo
se muestra en la Figura 6-12. Este consiste en tres flip-flops básicosdel
tipo mostrado en la Figura 6-3. Las compuertas ryAND 1 y 2 constituyen
u.t flip-flop básico y las compuertas 3 y 4 otro. El tercer flip-flop básico
H
qne las compuertas 5 y 6 suministra las salidas del circuito.
"ó*ptende
ias entrádas S y R del tercer flip-flop básico deben mantenerseen lógica
1 para que las salidas permanezcanen sus valores estables.Cuando S: 0
y
v n: 1, la salida va al estadode puestaa uno con Q: 1' CuartdoS: 1
n: O, la salida va al estadode puesta a cero con Q: 0. .Las salidas S y R
se determinan de los estados de los otros dos flip-flops básicos. Estos dos
flip-flops básicos responden a las entradas externas D (datos) y a CP
(pulso
'' de reloj).
La operaóióndel circuito se explica en la Figura 6-13 donde las com-
puertas i-¿ se redibujan para mostrar todas las transiciones posibles.
Las salidas s y fi de las compuertas 2 y 3 van a las compuertas5 y 6 como
se muestra en la Figura 6-12, para suministrar las salidas actuales del
flip-flop. La Figura 6-13(a) muestra los valores binarios de las salidas de
lal cuátro compuertascuando CP:O. La entrada D bien podría ser igual


:t i *t
i.f
:4
,4
"q
i ir
i.i


lll

iil
|' ¡;
Figura 6-12 Flip-flop tipo D disparado por flanco positivo
I.f

221 i.
r,t¡


ig

H
(a) Con CP:0

(b) Con CP:1

Figura 6-lS Operación de un flip_flop tipo D disparado por flanco


t
a 0 ó 1. En cualquier caso, un cp de 0 causa que las salidas
de las com-
puertas 2 y 3 vayan a 1, haciendo s: R:1, ro cual constituye ra condi-
ción para la salida de estado estabre. cuando D : 0, la compuerta 4
tiene
una_salida-de 1 Io que causa que la salida de la compúerta 1 váya a
0. cuan-
do D: 1, la compue¡ta 4 irá a 0, lo cual causará q"e lu sarida
de la com-
puerta 1 vaya a 1. Estas son las dos condiciones posibles
cuando con el
terminal cP en 0, se habilitan y cambian las salidas del flip-flop
sin im-
portar cual es el valor de D.
Hev un tiempo definido, llamado el tiempo de establecimiento durante
.
el cual se debe mantener la entrada D a un valor constante antes
de la
aplicación del pulso. El tiempo de establecimiento lguut al retardo de
propagación a través de las compuertas 4 y 7 ya que". d'n
un"cambio en D cau-
222
I
ü
¡
,.
sEc. 6-3 D I S P A R OD E L O S F L I P - F L O P fSf R I G G E R I N G ) 2 2 3 :j
.ir
ahora que
sa un cambio en las salidas de esas dos compuertas. Asúmase :
liu-po de establecimiento y que, la entrada CP
D no cambia durante
"t r" áibo¡u en la Figura 6-13(b). si D:0 cuando
se torna 1. Esta situación
a 0' Esto
CP se convierta en 1, entoncesS permanecerá1 pero-R cambiará
q;; la salidl del flip-flop Q vaya a 0 (en la Figura 6-12)' Si ahora
;.";i
hay un cambioLn la entrada D, la salida de la compuer-
ár.".rt" bp:t,
iu ¿ p".*"r,"""rá i (",tttque D vaya a 1)' ya que una de las entradas
"r, 0. Solamente
á; lr'compuerta viene áe R-, la cual se ha mantenido en
reapare"" 0, ia salida de Ia compuerta 4 puede cambiar;
cuando CP
p"i"- "r,
ámbas n V S se convierten en 1, no permitiendo ningún
""tá"ce. embargo hay un tiempo definido,
i"r"¡i" en la salida áel"flip-f1op. Sin
el cual no puede se-r-cambiado por la
if"-áá" el tiempo leiort"ni*ieito,
áe la aplicación de la transición del flanco positivo
.nlrr¿" D después
propa-
;"ii áel pulró. El tiempo de sostenimientoes igual al- retardo de
que R se co¡t-
gación de la compuerta á, ya que-se debe tener seguridad
de la compuerta 4 en 1, inde-
vierta en 0 para poder mantenér la salida
pendientementedel valor de D.
en 1,
si D: l cuando cP:1, entoncess cambiaa 0 pero R permanece
cambio en D' mien-
lo cual causaque la salida áel flip-flop Q vaya a 1' Un
en 1 por la
lr". Cp: 1 no altera S y R porquu la compuerta1 se mantiene
u-6". R y S irán a 1 para prevenir
señal 0 de S. Cuando CP u"yu á "r.o,
que la salida sufra algunoscambios'
de
En suma,.nutáo-.t pulso del reloj de entradahace una transición
de D se trasfiere a Q' Los cambios en D
flan"o móvil'positivo,
"t-u"to. de 1 no afectarán a Q' Sin
cuando CP se -a.,tie'e en un valor estable
la salida,
embargo,r'u tru.,.i.lln del pulso de flanco negativo no.afectará
;;prco Io hará CP:0. Entonces, los flip-flops disparados
;;;;
",rundo
poi nu".ol eliminan cualquier problema de realimentaciónen los circuitos
esclavo'
I""u".r"iul"s de la misma manera que lo hace el flip-flop maestro
d" y dasostenimiento deben tenerse en consi-
Ei;i";pr
".t"bi""imiento
deraciónal usar este tipo de flip-flop'

tI Cuando se usan diferentes tipos de flip-flops en el- mismo circuito


."".r"*i"I, se debe estar seguro que todos los flip-flops hacen
ción al mismo tiempo es decir, durante el flanco
ii"" á"f pulso. Aqriellos flip-flops
ira.rrición de polaridad adobtadá,
que
pueden
se

doles inversoresen los reloies de óntrada. Un procedimiento


positivo
comporten
cambiarse
o el
opuestamente
fácilmente
Ia transi-
flanco nega-
a la
agregán-
alterno es
ambos pulsos positivos y negativos medio de un inver-
I suministrar
;;;t t luego aplicar' los púlro. posiiivos a los flip-flops
fl".,"o negativo y loi pulsos negativos
-(por-
a los
que se disparan
flip-flops que se
I dura.,te
"f
disparan durante el flanco positivo, o viceversa' .--{r.
I E n t r a d a sd i r e c t a s

I Los flip-flops
tradas
disponiblesen cápsulasde cI vienen algunas veces con en-
^".p""iul".-para
puesta a uno o cero del flip-flop de manera asin-
crónica. Estas entira¿u.." Ilaman d.epuesta a Ltnodirecta
y de puestoo ,rro- áirecta (direct clear). Ellas afectan
íalor positivo (o
"ugutiuol
de la señal de entrada sin que
el
(direct preset)
flip-flon e.n e|
sea necesarioel
Entradas
Tabla de función t
Salidas
I
BorradoiReloj J K oo' I
t
XXX 0l I
.1.00 I
No cambio
J0l 01 I
tl0 l0 i
+ll Conmuta

Figura 6-14 Flip-flop JK con entrada di¡ecta de puesta a cero

pulso de reloj. Estas entradas son útiles para


lrevar todos los flip_flops a
su estado inicial antes de empezarsu operación
temporizáda.por ejemplo,
cuando se suministra potencia por primera
vez, ,rr, .i.t"-a digital el
estado.de los flip-flops es indete¡minado. Br
i"L-"pt" i''de puestaa cero
llevará a todos los.flip-flops a un estado iniciar
de-cÁ ¡, er interruptor
de-comienzo (start) empezará la operació"
¿" t.*por^iiado del sistema.
El interruptor de puesta a cero debe "limpiur"
toái.-iá, nip-rops asin_
crónicamentesin la necesidadde un pulso.
Fl símbolo gráfico de un flip-frof,maestro esclavocon
puesta a cero directa se muestra en la Figura una entrada de
6-14. La entrada de reloj o
cP tiene un círculo debajo del pequeño"triárwlo páru-'i'ai.ar I
que las
salidas cambian durante la transicün negativi
del pulso. (La ausencia
del pequeño círculo indicaría un flip-flop dt;ñ"d"
h"r,.o positivo).
&
La entrada de puesta a cero directa tióne tambiénfr.*
un pequeño cí¡culo
para indicar que, normalmente, esta entrada
debe mantenerseen 1. si {
la entrada de puesta a cero se mantiene en 0,
cero independientemente de otras entra.das alr priri
el flip-flop permanece en I
áá' .eto¡. La
" Las l.o.,-.o.,aición tabla
especificala operaciónder ci¡cuito.
¡
9:_1_1:ió.
rmporta que indican que un 0 en la entrada directa- de no
de puesta a cero in_
II
habilita todas las entradas. Solamente cuando l
la entáda de puesta a I
cero es 1 tendría efecto la transición negativa
drl ,;i;i-"n las salidas. :
Las salidas no cambian si J: X : O. et nipl¡oo
cuando J:K:1- Algunos flip-flop. pu"du' i""".
se complementa
"";;";;t"."¡ij., un"
I
directa de puesta u u.,o la cuai po,i" lá salida entrada
camente. A a;^A lr, 0) asincróni_ l.
";
cuando las entradas sincrénicas directas están presentes
flop maestro esclavo,deben en un flip_
al maestroy al esclavopara
poder superponersea las otras "rt". entradas
"ore"tadas
y al reloj. Una entrada directa
de puesta a cero en el flip-fl op JK -a"stro
esclavo de la Figura 6-10 se
conecta a las entradas de las óompuertas1, 4 y g.
una entrada de puesta
en el flip-flop D de disparo por flanóo d; i" Fig;^
1 :ero
a las entradasde las compuertas2 y 6. á-rz ," conecta

6-4 A N A L I S I SD E L O S C I R C U I T O S
SECUENCIALES T EM P OR I Z A D O S
t
El -comportamientode los circuitos secuenciares
se determina de las en_
tradas, las salidas y ros estados de los flip-flops.
224
Ambas entracrasv el J
sEc. 6-4 A N A L I S I SD E L O S C I R C U I T O S E C U E N C I A L ETSE M P O R I Z A D O S 225

siguiente estado son una función de las entradas y el presente estado.


El análisis de los circuitos secuencialesconsiste en obtener una tabla o
un diagrama de la secuenciade tiempo de las entradas, salidas y estados
internos. Es posible escribir expresionesde Boole que describan el com-
portamiento de los circuitos secuenciales.Sin embargo, estas expresio-
nes deben incluir la secuenciade tiempos necesariadirecta o indirecta-
mente.
Un diagrama lógico se reconocecomo el circuito del circuito secuen-
cial si este incluye flip-flops. Los flip-flops pueden ser de cualquier tipo
y el diagrama lógico puede o no incluir compuertascombinacionales.En
ósta sección,se introduce primero un ejemplo de circuito secuencialtem-
porizado y luego se presentan varios métodos para describir el comporta-
miento de los circuitos secuenciales.Un ejemplo específicose usará a lo
largo de la discusión para ilustrar los diferentesmétodos.

U n e j e m p l o d e u n c i r c u ¡ t os e c u e n c i a l
Un ejemplo de un circuito secuencialtemporizadose muestra en la Figu-
ra 6-1S.Tiene una variable de entrada, una variable de salida y dos flip-
flops temporizadosRS llamados A y B. Las co4exionesrealimentadasde
las salidas de los flip-flops a las entradas de las compuertasno se mues-
tran en el dibujo para facilitar el trazado del mismo. En vez de ello, se
reconocenlas conexionespor su letra marcada en cada entrada. Por ejem-
plo, la entrada marcada ¡' en la compuerta1 designauna entrada del com-
plemento de ¡. La segundamarcada A designauna conexión a la salida
normal del flip-flop A.
Se asume que hay disparo por flanco negativo en ambos flip-flops y
en la fuente que produce la entrada externa ¡. Por tanto, las señalespara
.r l-'
t----) I r'

B'-_-.1-/

Figura 6-15 Ejemplo de un circuito secuencialtemporizado

l
L
226 LoGIcA SECUENCIAL
CAP. 6

un estado presente dado


.es.tándisponibles durante el tiempo en que se
determina un pulso de reloj y el siguiente, en cuyo momento el circuito
pasa al siguienteestado.

Tabla de estado

La secuenciade tiempo de las entradas,salidas y estadosde los


flip-flops
pueden enumerarseen una tabla de Lá ta¡ta Je estado puru ut
circuito de-la Figura 6-15 se muestra en"rtodo.*
la Tabla 6-1. Ella consisteen tres
seccionesllamadas estudo presente, estado siguiente y ,oluo.
El estado
pre-sentedesigrralos estadosde los flip-flops antes
de iu o"r..run.ia de un
pulso
.de reloj. El estado siguiente muestra ros estados de los flip-flops
despuésde
.la aplicación del purso de reloj y la secciái-de salida lista los
valores de las variables de sálida durante él presenteestado.
Las seccio-
nes de estado siguiente y de sarida tienen dos columnur,
,rnu para r : 0
y Ia otra para r: 1.
Tabla 6-1 Tabla de estado para el circuito de la Fizura 6_15

Estadosiguiente Salida

Estadopresente x:0 x:l x:0 x: I

AB AB AB

00 00 0l 0 0
0l ll 0l 0 0
l0 l0 00 0 I
ll l0 lt 0 0

La deducción de la tabla de estado comienza a partir de


un estado
inicial asumido. El estado inicial de la mayoría de lás
circuitos secuen_
ciales prácticos se define como el estado .ori .".o. .o toJá.
los nrp-flops.
Algunos circuitos secuencialestienen un estado inicial
diferente i,
nos no.tielen ninguno-.
.En cada caso, el análisis puede comenzara partir"rg,;-
de-cualquier estado arbitrario. En este ejemplo, ,"
derivando la
tabla de estadocomenzandocon el estadoiniciai OO. "o*i""ra
. cuando el presenteestadoes 00, A : 0 y B: 0. Del diagrama lógico, se
gllT"u que con los flip-flops e_ngero j r : 0, ninguna de las .o.rrirr"rtu,
AND produce una s_eñalrógica 1. por tánto, ei ,igu"i-"ie
u*t"¿o p"ñ;;"¿;
sin cambiar. con AB: 00 y ¡ : 1, la compuerta2 produce
una señal rógica1
en la entrada S del jlip-lop B^V t".compuerta 3 produceuna
señal lógica 1
en la entrada R del flln-flor. cuando un pulso au'r.toj áirp"lu
lo. flip-"flops,
{ se pone a cero y B se pone a uno, pioduciendo a .iñii""t" estado 01.
Esta información se lista en la primera'fila de la tabla aá u.tuao.
*Los
libros de teoría de los circuitos de conmutación llaman
slcidn Ellos reservan el nombre tabla de estado a una tabla
a esta tabla tabla de tran-
con estados internos representa-
I
dos por símbolos arbit¡arios.
SEc.6.4 DELOSCIRCUITOS
ANALISIS 227
TEMPORIZADOS
SECUENCIALES

De manera similar, se puede deducir el siguiente estado comenzando


a partir de los otros tres estados presentesposibles. En general, el si-
guiente estadoes una función de las entradas,el estadopresentey el tipo
áe flip-flop usado. Con flip-flops RS por ejemplo,se debe recordarque un 1
en la entrada s pone en 1 el flip-flop y un 1 en la entrada R lo pone a cero
independientementedel estado anterior. Un 0 en ambas entradas S y fi
deja el flip-flop sin cambio, mientras que un 1 en ambas entradas s y R
demostraríaun diseño malo y una tabla de estadoindeterminada.
Las entradas para Ia sección de salida son más fáciles de deducir.
En este ejemplo,la salida y es igual a 1 solamentecuandox:1, A:I y
B: 0. Poi tanto, las columnas de salida se marcan con 0, excepto cuando
el estado presentees 10 y la entrada r: 1, para la cual y se marca con
un 1.
La tabla de estado de cualquier circuito secuencialse obtiene por el
mismo procedimientousado en el ejemplo. En general,un circuito secuen-
cial con m flip-flops y n variables de entrada tendrá 2- filas, una para I

cada estado. Lut tócciotte. del siguiente estado y de salida tendrán cada
una 2" columnas,una para cada combinaciónde entrada. I
Las salidas externas para un circuito secuencial pueden venir de
compuertas lógicas o eleméntos de memoria. La sección de salida en el
estaáo estable es necesariasolamente si hay tres salidas de las compuer-
tas lógicas. Cualquier salida externa tomada directamente de un flip-
flop se lista en la columna de presenteestado de la tabla de estado. Por
tanto la sección de salida de la tabla de eslado puede ser excluida si no
hay salidas externasde las compuertaslógicas.

D i a g r a m ad e e s t a d o

La información disponible en la tabla de estado puede representarsegrá-


ficamente en un diagrama de estado. En este diagrama se representaun
estado por un círculo y la transición entre estadosse indica por líneas
dirigidas que conectan los círculos. El diagrama de estado del circuito
seculencialde la Figura 6-15 se muestra en la Figura 6-16. El número bi-
nario dentro de cada circuito identifica el estado representadopor el

00
r/1
t/0

-\ ol l0
o/o
0/0
ll

/0

Figura 6-16 Diagrama de estado para el circuito de la Figura 6-15


228 LOGTCASECUENCIAL
CAP. 6

circulo. Las líneas dirigidas se marcan con dos números


binarios separa_
dos por /. El valor de entrada que causa la transición
de estado se mar-
ca primero; el número en seguida del símbrl"
,, á" á-i Jato, de la salida
durante el presente estado. por ejempro, la línea
¿irigi¿" del estado 00 a
01 marcada r,/0, significa que el óircüito secuencial
.r1¿1n el estado pre_
sente 00 mientras que.r 1.y y:0 y que al finalizar el-siguientep"f.á
-
reloi, el circuito va al siguiénie a.
estádo 01. una línea dirigida que conecta
un círculo a sí mismo, indica que no hay cambio
;; ;J;á". oi ¿iágr"-"
de estado suministra la mismá informaóión que
la ta¡la ¿e estado y se
obtiene di¡ectamentede la Tabla 6_1.
No hay diferencia entre una tabla de estado y
un diagrama de estado
excepto en la fo¡ma de la presentación. La tabla
á. es más fácil de
deducir a partir de un diágrama de lógica "rt"á.
J;á; ; J Jüsr"-, de estado
se desprende directamente de la tabra "d"
E-i
-y;;gr"-a de estado
{3 ""1. vista pictórica de las transiciones de";;";;.'
estado está en una forma
disponible para interpretación binaria de la operación
diagrama de estado s" usa del circuito. El
-"r,rráo como la especificación de diseño
"
inicial de un circuito secuencial.

E c u a c i o n e sd e e s t a d o
una ecuación de estado (también conocida como
una ecuación de aprica_
ción)
.e.s.ula expresión algebraica que especificalas condicionespara Ia
transición de estado de.un flip-flop. bt lu¿o i"q"Lrd"
i""l;;;"""i0í{;.1
ta el estado siguiente d€l flii-flop y el lado a".""rro-""á
que especifica las condiciones del presente tr.ci¿n de Boole
estado que hacen el siguiente
estado igual a 1. una ecuación de estado
.i-ilu.'"; f;^" a una ecua_
ción característica,de un ", que especifica
excepto
_flip-flop,
del siguiente estado en té¡minor a" ta. variables'de las condiciones
enirada externas y
otros valo¡es de los flip-flops. La ecuación
de estados.áLriu" directamen-
te de la tabla de estadó..por_ejemplo,la e^cuación_de estadoil"lJh'i3:ii;;
A se-deriva por inspecciónde la'Ta'bla 6-1. De
f"" .i'oi""ies columnas de
estado,se nota que el flip-flop A va al estado
-t Ecuatri
s ; ; - ; ; "uáces:
d " ; . o r cuando
e s a r s e ¡:0
v A B : 0 1 ó 1 0ú 1 1 'o . 1 y " a ! r : 1 v AB.:11
braicamenteen la ecuaciónde estadáde la siguie.rt"-.rr"rráru, alge-

A(t + l): (A,B + AB, t AB)x, * ABx


El lado derechode la ecuaciónde estadoes una función
de Boole para un
estadopresente. cuando esta función es ig'al
a 1, ü ocurrencia de ros
pulsos-de reloj causa que el flip-flop A
tóngu lisui";" estado de 1.
cuandouna tunción "r
a 0, el iutso de?újüi;;;;'queA
siguiente estado de,0."*-iry"I izquierdo de la tengael
Fr-lado ..";;ió;;;ntifica los flip_
flops por un símbolo de letra r"guido de una
il.ig";;ió" en función de
tiempo (t + 1), para enfatizar que"este valor ,",
,t"in"áao por el flip_flop,
un pulso posterior de la secuencia.
La ecuación de estado es una función de Boole
con un tiempo inclui-
do' Es aplicable solamente en ros circuitos .""r,,"rr.i"i"s I
áe reloi, ya que
A(t + t) se define para que cambie de valor
ü ¿"1 pulso de
reloj en instantes discretosde tiempo. ""; ";;;;.,ii"
0
I
A1l
l
-
it

A ( t - l ) : B x ' + ( B * x ' )A B(t-l)-A'x-(A'!x)B


(a) - B x ' - : -( B ' x ) ' A (b) : A t xi (Ax')'B

Figura 6-17 Ecuacionesde estado para los flip-flops A y B

La ecuación de estado de un flip-flop A se simplifica por medio de un


mapa como se muestra en la Figura 6-17(a). Con algrrna manipulación
algebraica,la función puede expresarsede la siguiente forma:

A(t + l): Bx' + (B'x)'A

Si se deja que Br': S y B'x: R, se obtienela siguienterelación:


A(t + l): , S+ R ' A

la cual es una ecuación característicade un flip-flop RS IFigura 6-4(d)].


Esta relación entre Ia ecuación de estado y las ecuacionescaracterísticas
del flip-flop puede justificarse por inspección del diagrama lógico de la
Figura 6-1b. En esté se ve que la entrada S del qip-flop A es igual a la
función de Boole Bx'y la entrada ft es igual a B'x. Sustituyendo estas
funciones en la ecuación característica del flip-flop' dará como resultado
la ecuaciónde estado para este circuito secuencial.
La ecuaciónde estadopara un flip-flop en un circuito secuencialpue-
de deducirse de una tabla de estado o de un diagrama lógico. La deduc-
ción de una tabla de estado consiste en obtener Ia función de Boole es-
pecificando Ias condicionesque hacen el siguiente estado del flip-flop un
t. l-u deducción a partir de un diagrama lógico consiste en obtener las
funcionesde las entiadas del flip-flop y sustituirlas en Ia ecuación carac-
terística de la misma.
La derivación de la ecuación de estado del flip-flop B a partir de una
tabla de verdad se muestra en el mapa de la Figura 6-17(b).Los l marca-
dos en el mapa son las entradas presentesy las combinacionesde entrada
que causanque el fiip-flop vaya al siguienteestadode 1. Estas condiciones
se obtienen directamente de la Tabla 6-1. La forma simplificada que se
obtiene en el mapa se manipula algebraicamentey la ecuación de estado
que se obtiene es:

B(r+t):A'x+(Ax')'B fl
:Fi
:t¡ j
La ecuación de estado puede derivarse directamente a partir del '¡Il

diagrama lógico. De la Figura 6-15 se observaque la señal para Ia entrada if


S a"etnip-¡óp B se generapor Ia función A'x y la señal para la entrada R
229
23O LOGICASECUENCIAL CAP. 6

por la función A¡'. SustituyendoS:A'¡ y R:Ax' en la ecuacióncarac-


terística del flip-flop RS dada por:
B(/+l):,S+R'.8
se obtiene la ecuación de estado derivada anteriormente.
Las ecuaciones de estado de todos los flip-flops, conjuntamente con
las funciones de salida, especifican totalmente un circuito secuencial.
Ellas representan,algebraicamente,la misma información que representa
una tabla de estado en forma tabular y un diagrama de estado representa
una forma gráfrca.

F u n c i o n e sd e e n t r a d a d e u n f l i p - f l o p

El diagrama lógico de un circuito secuencialconsisteen elementosde me-


moria y compuertas. La clase de flip-flops y la tabla característicaes-
pecifican las propiedadeslógicas de los elementosde memoria. Las inter-
conexionesentre las compuertas forman un circuito combinacional y se
pueden expresar algebraicamentecon funciones de Boole. Así, un cono-
cimiento del tipo de flip-flops y una lista de las funciones de Boole del
circuito combinacional darán toda la información necesariapara dibujar
el diagrama lógico de un circuito secuencial.La parte del circuito combi-
nacional que genera las salidas externas se describealgebraicamentepor
las funciones de salidq del circuito. La parte del circuito que genera las
entradas de Ios flip-flops se describealgebraicamentepor un conjunto de
funciones de Boole llamadas funciones de entrada del flíp-flop o algunas
vecesecuocionesde entrada.
Se adoptará la convención de usar dos letras para designar una va-
riable de entrada de un flip-flop: la primera designa el nombre de las
entradas y la segundael nombre del flip-flop. Como un ejemplo, considé-
rese las siguientesfunciones de entrada de un flip-flop:
JA:BC'x*B'Cx'
KA:B+y
JA y KA designan las variables de Boole. La primera letra en cada una
denota la entrada J y K respectivamentedel flip-flop JK. La segunda
letra A es el símbolonombre del flip-flop. El lado derechode cada ecuación
es una función de Boole para la córrespondientevariable de entrada del
flip-flop. La configuraciónde las dos funciones de entrada se muestra en
el diagrama lógico de la Figura 6-18. El flip-flop JI( tiene un símbolo de
salida A y dos entradas marcadasJ y K.EI circuito combinacionaldibu-
jado en el diagrama es la configrración de una expresiónalgebraicadada
por las funciones de entrada. Las salidas del circuito combinacional se
designan por JA y KA en las funciones de salida y van a las entradas J y
K del flip-flop A.
De este ejemplo, se observaque la función de entrada del flip-flop es
una expresión algebraicapara un circuito combinacional.La designación
de dos letras es el nombre de una variable para una salida de un circuito
combinacional. Esta salída se conecta siempre a la entrado (designada
por la primera letra) del flip-flop (designadopor la segundaletra).
Hil
ü
J

B
C'

Figura 6-18 Configuración de las funciones de entrada de un flip-flop


J A : B C ' x ,* B ' C x ' y K A : B ¡ Y

El circuito secuencialde la Figura 6-15 tiene una entrada r, una en-


trada y y dos flip-flops RS denotadórpo. A y B.El diagrama lógico-pu_ede
..i-..pó."do aüebráicamente con cuatro funciones de entrada del flip-
flop y una función de salida del circuito como sigue:
SA: Bx' RA: B'x
SB: A'x RB: Ax'
l: AB'x

Este conjunto de funciones de Boole expecifica totalm^enteel diagrama


las
r¿gico. Las variables sA y RA especificanel flip-flop RS llamado A;
SB y RB especifican un segundo flip-flop_ RS denotado por B' La
""?i"¡f".
,"ri"¡r" y denota la salida. Las expresiones de Boole para las variables
parte del circuito combinacionaldel circuito secuencial.
Las funcionesde entrada del flip-flop constituyen una forma algebrai-
".p".in.á"
secuen-
ca convenientepara especificarun diagrama lógico de un circuito
a partir de la primera letra de la
cial. Ellas impúcan el tipo de flip-flop
variable de entrada y especifican completamdnte el circuito combinacio-
en
,r"i qrr" maneja et tilp-ftop. El tiempo no se incluye explícitamente
pero éstá comprendidb a partir de la o-peración del pulso
estas ecuaciones
un
de reloj. Es conveniente algunas veces especificar a.lgebraicamente
de salida del circuito y funciones de
cucuito secuencial con funci*ones
entrada del flip-flop en vez de dibujar el diagrama lógico'

6.5 R E D U C C I O ND E E S T A D O SY A S I G N A C I O N X

El análisis de los circuitos secuencialescomienza de un diagrama de cir-


cuito y culminan en una tabla de estadoo diagrama. El diseño de un cir-
cuito secuencialpaite de una serie de especificaciones y culmina en un
+
áiug*^" Iógico.Los procedimientosde diseño se presentan comenzando F
por la Seccién 6-?. Esia sección incluye ciertas propiedadesde los circui-
io. ,".,t"rr.iales que pueden ser usados para reducir el número de com- ii
puertas y flip-flops durante el diseño. ;!
.ll
*Esta sección se puede omitir sin perder continuidad' :{
i¡i
231 ,1

!¿

rf,
*i
ü
H
1.
-¡l
Reducción de estado

Cualquier procedimiento de diseño debe considerar el problema de mini-


mízar el costo del circuito final. Las dos reducciones de costo más obvias
son las reducciones en el número de flip-flops y el número de compuertas.
Debido a que estos dos ítems son los más obvios, se han estudiado e inves-
tigado extensamente. De hecho, una gran porción del objetivo de la teoría
de conmutación trata la manera de buscar algoritmos para minimizar el
número de flip-flops y compuertas en los circuitos secuenciales.
La reducción del número de flip-flops en un circuito secuencial se
conoce como lo reducción de estado del problema. Los algoritmos de re-
ducción de estado tratan con los procedimientos para reducir el número
de estados en la tabla de estado mientras mantiene los requerimientos de
entrada-salida externos sin cambio. Como m flip-flops producen 2^ es-
tados, una reducción en el número de estados podría (o no podría) resultar
en una reducción en el número de flip-flops. Un efecto impredecible en la
reducción del número de flip-flops es que algunas veces el circuito equi-
valente (con menos flip-flops) podría requerir más compuertas combina-
cionales.
Se demostrará la necesidad de reducción de estado con un ejemplo.
Se comienza con un circuito secuencial cuya especificación se da en el
rliagrama de estado de Ia Figura 6-19. En este ejemplo, solamente las se-
cuencias de entrada-salida son importantes; los estados internos se usan
solamente para suministrar las secuencias requeridas. Por esta razón, los
estados marcados dentro de los círculos se denotan por símbolos de Ietras
en vez de sus valores binarios. Esto es en contraste a un contador binario,
donde la secuencia de valores binarios de los estados en sí mismos se
toman como salidas.
Hay un número infinito de secuencias de entrada que puede ser apli-
cado al circuito; cada uno dará como resultado una secuencia única de
salida. Como ejemplo, considérese la secuencia de entrada 01010110100
empezando por el estado inicial o. Cada entrada de 0 ó 1 produce una sa-

Figura 6-19 Diagramade estado

232

¡
sEc. 6-5 REDUCCION
O E E S T A D O SY A S I G N A C I O N 2 3 3

lida de 0 ó 1 y causa que el circuito vaya al siguienteestado.De este dia-


grama de estado, se obtiene la salida y secuencia de estado para una
secuenciadada de entrada como sigue: con el circuito en el estado inicial
o, una entrada de 0 produce una salida de 0 y el circuito permaneceen el
estadoo. Con el estadopresenteo y una entrada de 1, la salida es 0 y el
siguiente estado,es b. Con el estado presente b y una entrada de 0, la
salida es 0 y el siguiente estado es c. Continuando este proceso,se encon-
trará que la secuenciacompleta es como sigue:

estadoaabcdeJÍCfga
entrada0l0l0ll0l00
salida 0 0'0 0 0 I I 0 I 0 0

En cada columna, se tiene el estado presente,el valor de Ia entrada y el


valor de la salida. El siguiente estado se escribe encima de la siguiente
columna. Es importante tener en cuenta que en este circuito los estados
en sí mismos son de importancia secundariaporque el interés primordial
son las secuenciasde salida causadaspor las secuenciasde entrada.
Asúmase ahora que se tiene un circuito secuencial cuyo diagrama
de estado tiene menos de siete estadosy se deseacompararlo con el cir-
cuito cuyo diagrama de estado se da en la Figura 6-19. Si se aplican se-
cuencias de entrada directas a los dos circuitos y ocurren salidas idén-
ticas para todas las secuenciasde entrada, entoncesse dice que los dos
circuitos son equivalentes (en lo que se refiere a la entrada-salida)y se
pueden remplazar entre sí. El problema de Ia reducción de estado es en-
contrar maneras de reducir el número de estadosen un circuito secuen-
cial sin alterar las relacionesde entrada-salida.
Se procederáa reducir el número de estadosde este ejemplo. Primero,
se necesita una tabla de estado; es más convenienteaplicar los procedi-
mientos para la reducción de estadosaquí que en los diagramasde estado.
La tabla de estadodel circuito se lista en la Tabla 6-2 y se obtiene directa-
mente del diagrama de estado de la Figura 6-19.

Tabla 6-2 Tabla de estado

Estado siguiente Salida

Estadopresente x:0 x:l ¡:0 x:l

a a b 0 0
b c d 0 0
c a d 0 0
d e f 0
e a f 0
f c Í 0
o a f 0
234 LoGIcA SECUENCIAL CAP. 6

Un algoritmo para la reducción de estado de una tabla de estado es-


pecificada completamente se da aquí sin prueba alguna: "Se dice que dos
estados son equivalentes si, por cada miembro del conjunto de entradas,
ellos dan exactamente la misma salida y envían al circuito al mismo esta-
do o a un estado equivalente. cuando dos estados son equivalentes, uno
de ellos puede quitarse sin alterar las relaciones de entrada-salida".
se aplicará este algoritmo a Ia Tabla 6-2. observando la tabla de ver-
dad, se escogen los estados presentes que van al estado siguiente y que
tienen Ia misma salida para ambas combinaciones de entrada. Los estados
g y e son dos de tales estados; ellos van a los estados a y f y tienen las sa-
Iidas de 0 y l para ¡:0 y r:l respectivamente.Por tanto, los estados
g y e son equivalentes y se puede eliminar uno. El procedimiento para
quitar un estado y de remplazarlo por un equivalente se demuestra en
Ia Tabla 6-3. La fila con el estado presente g se tacha y el estado g se rem-
plaza por el estado e cad.a vez que apatezca en las siguientes columnas
de estado.

Tabla 6-3 Reduciendo la tabla de estado

Estadosiguiente Salida

Estadopresente x:0 x:l x:0 x:l

a a b 0
b c d 0
c a d 0
d e fd I
e a ld I
Í te f I
g a f I

El estado presente/ tiene ahora las entradas siguientes e y f y las


salidas 0 y 1 para ¡:0 y r: 1 respectivamente. Los mismos estadossi-
guientes y las salidas aparecenen la fila con el estado presente d. por
tanto, Ias entradas f y d son equivalentes,el estado / puede quitarse y
remplazarsepor d. La tabla reducida final se muestra en la Tabla 6-4. El
diagrama de estado para la tabla reducida consiste en solamente cinco
estadosy se muestra en la Figura 6-20. Este diagrama de estado satisface
las especializacionesoriginadas de entrada-saliday producirá la secuen-
cia de salida requeridapara una secuenciadada de entrada. La siguiente
lista deducida del diagrama de estadode la Figura 6-20es para la secuen-
cia de entrada usada previamente.Se nota que resulta la misma secuencia
de salida aunque Ia secuenciade estadoes diferente:

estado a a b c d e d d e d e
entrada 0 I 0 I 0 I I 0 I 0 0
salida 0 0 0 0 0 I I 0 I 0 0
sEc. 6-5 D E E S T A D O SY A S I G N A C I O N
REDUCCION 235 T

De hecho, esta secuencia es exactamente la misma que se obtuvo de la
Figura 6-19, si se remplaza e por g y d por f .

Tabla 6-4 Tabla de estado reducida H


Estado siguiente Salida

Estado presente x:0 x:l x:0 x:1

a a b 0 0
b d 0 0
0 d 0 0
d e d 0 I
e d 0 I

Figura 6-2O Diagrama


de estado
¡educido

De cualquier forma, la reducción de siete a cinco estadosno reduceel nú-


mero de flip-flops. En general, la reducción del número de estados de una
tabla de estado se espera que resulte en un circuito con menos equipo.
Sin embargo,el hecho de que una tabla de estado haya sido reducida a
menos estados no garantiza un ahorro en el número de flip-flops o el nú-
mero de compuertas.
Vale la pena notar que la reducción en el número de estadosde un
circuito secuencial es posible si se interesa solamente en las relaciones
externas de entrada-salida. Cuando las salidas externas se toman direc-
tamente de los flip-flops, las salidas deben ser independientes del número
de estados de que se apliquen los algoritmos de reducción de estados.
El circuito secuencialde este ejemplo fue reducido de siete a cinco
estados. En cada caso, la representación de los estados con componentes
r
ilt
F]
E1
fisicos requieren que se usen tres flip-flops, porque m flip-flops pueden $l
FI
representar hasta 2- estados diferentes. Con tres flip-flops, se pueden ht
formular hasta seis estados binarios denotados por los números binarios
000 hasta 111,con cada bit designandoel estadode un flip-flop. Si la tabla
de estado de la Tabla 6-2 se usa, se deben asignar valores binarios a los F
siete estados: el estado restante no se usa. Si se usa la tabla de estado
H
t
236 L o G I c AS E C U E N C I A L CAP. 6

de la Tabla 6-4, solamente cinco estadosnecesitan asignación binaria y


quedarían tres estados sin usar. Los estados sin usar se tratan como
condicionesde no importa durante el diseño del circuito. Como las com-
binacionesde no importa por lo general ayudan a obtener una función de
Boole más simple, de manera parecida el circuito con cinco estadosnece-
sitará menos compuertas combinacionalesque aquella con siete estados.
De cualquier forma, la reducción de siete a cinco estadosno reduce el nú-
mero de flip-flops. En general, la reducción del número de estadosde una
tabla de estado se esperaque resulte en un circuito con menos equipo. sin
embargo, el hecho de que una tabla de estado haya sido reducidá a menos
estados no garantiza un ahorro en el número de flip-flops o el número de
compuertas.
Asignación de estado
El costo de Ia parte de circuito combinacionalde un circuito secuencial
puede reducirse usando los métodos de simplificación conocidos para los
circuitos combinacionales.sin embargo,hay otro factor, conocidocomo el
problema de asignaciónde estado,que entra en juego para la minimización
de las compuertascombinacionales.Los procedimientosde asignaciónde
estado tienen que ver con los métodos pára la asignación de valores bi-
narios o estados de tal forma que se reduce el costo de los circuitos com- ¡
binacionales que accionan los flip-flops. Esto es particularmente útil
cuando se obse¡va un circuito secuenciala partir dé sus terminales ex-
ternos de entrada-salida. Tal circuito puede seguir una secuencia de
estados internos, pero los valores binarios de los estados individuales
podrían no tener ninguna consecuenciatodo el tiempo en que el circuito
produzca la secuencia seguida de salidas pat" u.rá secuencia dada de
entradas. Esto no se aplica a los circuitos cuyas salidas externas se to-
man directamente de los flip-flops con secuenciasbinarias totalmente
especificadas.
Las alternativas de asignación de estado binario disponiblespueden
ser demost¡adas conjuntamente con el circuito secuencial especifrcado
en la Tabla 6-4. Recuérdeseque, en este ejemplo, los valores binarios de
los estados son inmateriales durante el tiempo en que su secuencia man-
tenga las relaciones de entrada-salida adecuadas.Por esta razón, cual-
quier asignación de número binario es satisfactoria siempre que a cada
estado se le asigrre un número. Tres ejemplos de asignacionés binarias
posibles se muestran en la Tabla 6-b para los cinco estados de la tabla
reducida. La asignación 1 es una asignación binaria directa para la se-
cuencia de estados desde a hasta e. Las otras dos asignacionesse escogen
arbitrariamente. De hecho, hgy 140 asignaciones dife.etrter para este
circuito (11).
La Tabla 6-6 es la tabla de estado reducida con la asignación binaria
1 sustituida por las letras de los cinco estados.* Es obvio que una asig-
nación binaria diferente resultará en una tabla de estado con valorJs
binarios diferentes para los estados, mientras que las seleccionesde en-
trada-salida permanecen iguales. La forma binaria de la tabla de estado
se usa para deducir la parte del circuito combinacional del circuito se-
*Una
tabla de estado con asignación binaria se llama algunas veces tabla de trarwición.
Tabla 6-6 Tres asignacionesbinarias de estado posibles

Estado Asignación t Asignación2 Asigrración3

a 001 000 000


b 010 010 100
0ll 0ll 010
d 100 l0t l0l
e l0l lll 0ll

Tabla 6-6 Tabla de estado reducido con asignación bina¡ia 1

Estado siguiente Salida

Estado presente x:0 x:l x:0 x:l

001 001 010 0 0


0r0 0ll 100 0 0
0ll 001 100 0 0
100 l0l 100 0 I
l0l 001 100 0 I

cuencial. La complejidad del circuito combinacional obtenido, depende


de la asignacióndel estadobinario escogido.El diseño del circuito secuen-
cial preséntadoen esta sección se completa en el Ejemplo 6-1 de la Sec-
ción 6-7.
Varios procedimientosse han sugerido para llevar a una asignación
binaria particular entre las muchas disponibles. El criterio más común
es que lá asignaciónescogidadebe resultar en un circuito combinacional
simple para las entradas del flip-flop. Sin embargo, hasta el momento, no
hay- procedimientos de asignación de estado que garantice-nun costo mí-
nimo de un circuito combinacional.La asignaciónde estadoes uno de los
problemas desafiantes de la teoría de conmutación. El lector interesado
puede encontrar mucha literatura completa y creciente de este tópico.
Las técnicas para tratar con el problema de asignaciónde estadose salen
del objetivo de este libro.
6 - 6 T A B L A S D E E X C I T A C I O ND E L O S F L I P - F L O P S
Las tablas características para varios flip-flops fueron presentadas en la
sección 6-2. una tabla caracteústica define la propiedad lógica del flip-
t flop y caracteriza completamente su operación. Los flip-flops de circ-uito
integiado se definen algunas veces por una tabla caracteústica tabulada
de manera diferente. Esta segunda forma de las tablas caracteústicas
para los flip-flops RS, JK, D y T se muestran en la Tabla 6-7. Ellas repre-
ientan la misma información que las tablas característicasde las Figu-
ras 6-4(c) hasta 6-7(c).
La Tabla 6-7(c) define el estado de cada flip-flop como función de sus
entradas y su estado previo. Q(t) se refiere al presenteestadoV Q(¿* 1)
237

I
L-
Tabla 6-7 Tablas característicasdel flip-flop

QQ+I)

QU)
0
I

@) JK
l

(c) D (d) 7"


al estado siguientedespuésde la ocurrenciade un pulso de reloj. La tabla i
característicadel flip-flop RS muestra que el siguiente estadoLs igual al I
presenteestadocuando las entradasS y R son ambas0. Cuando la entrada
-E es igual a 1, el siguiente pulso de reloj pone a cero el flip-flop. cuando
la entrada s es igual
I "l siguiente puljo-de reloj pone a t et rtip-nop. La
I
interrogación para el "siguiente estado cuando ambos s y ft seán iguales
a 1 designa simultáneamenteun estado siguiente indeterminado.
_ !a tabla del flip-flop JK es la misnia que la del RS cuandá se rernplaza
J y K por s y ,B respectivamente,exceptoen el casoindeterminado.iuan-
do J y K son ambos igualesa 1, el estadosiguientees igual al complemento
del presenteestado,es decir, Q(r+ 1): e'ú1. nt siguienteestadodel flip-
flop -D es completamente dependiente de la entrada-D e independiente dLI
estado presente.El siguiente estado del flip-flop ? es el mismo que el es-
tado presentesi ?:0 y complernentandosi f : f .
La tabla característicaes útil para el análisis y la definición de la
operación del flip-flop. Esta especificael estado siguiente cuando las en-
tradas y el estado presente se conocen.Durante p.o."ro de diseño se
conocepor lo general la transición del presente estado "l al siguiente y se
desea encontrar las condiciones de entiada del flip-flop qu; lu
transición requerida. Por esta razón, se necesita .rtrá ta-blu-que"u.r.".,
liste las
entradas necesariaspara un cambio de estadodado. Tal lista se llama una
tabla de excitación.
^ _La Tabla 6-8 presentalas tablas de excitación de los cuatro flip-flops.
cada tabla consisteen dos columnas,e{r¡ t eG+ 1), y una columnapára
cada entrada para mostrar cómo se logra la transíción requerida. Hay
cuatro transiciones posibles del presente estado al siguiente.
-cuatro Las condi-
ciones de entrada requeridas para cada una de las transiciones
se derivan de la información disponible en la tabla característica. El
símbolo X en las tablas representala condición de no importa, es decir,
no importa que la entrada sea 1 ó 0.
238
Tabla 6-8 Tablas de excitación de los flip-flops

QQ) QQ+I) QQ) QQ+I)

0 0 0
I 0 I
0 I 0
I I I

(a) RS O) /,K

QQ) QQ+I) QG) QQ+I)

0 0 0 0
0 0
I 0 I I
0 I
0 I 0 I
I 0
I I I 0
I I
(c) D (d) r

Flip-flop FS
en la Tabla 6-8(a)' La
La tabla de excitación del flip-flop RS se muestra
primera fila muestr" nip-noP estado 0 en el tiempo Ú' Se desea
á;j;;i;";
"f
el estado o-áu"Ñ¿, de^la ocurrencia del pulso. De Ia tabla ca-
"l "l
el flip-flop no cam-
racterística, se encuent.a que si S y X son ambos 0,
entradas v S x rteben ser 0' Sin embargo'
biará estado. Por t";;;;;;úas
;;t;;;il rl se hace'ñ ,r,t I ocurre el pulso' vq qYe resulta dejan-
""uttdo permane-
;; ;i-hi;-flop en el estado 0. Así, R puede ser 1 ó 0 v 9l flip-flop
por tanto, la entrada debajo de R se marca
;;J;^eI estadoo en ¿*1.
por la condiciónX de no imPorta'-
Si el flip-flop en ei estado0 y se deseaque vaya al estado 1' en-
".la la única forma
torr"J. u pur?i, ¿L tá iatta característica, se encueltra. o^g.e
á ; ú ; ; . ; Q t r + 1 ) i g u a l a 1 e s h a c e rs : 1 y R : 0 . s i e l f l i p - f l o pv a a t e n e r
:
u.r. trur,rüiór, d"t 1 al estado0 se debe tener S: 0 y R 1'
".luao en un flip-flop es estar en el
La última .""á;;ió" ;; ;;;dt ocurrir
e s t a d o l y p e r m a n e c e r e n e s e m i s m o e s t a d o . C i e r t a m e n t e R dser
e b0e ós e1'r 0
S.debe
ya que no se requl"t"-p"""t a 0 el flip-flop' Sin embargo
estado1; si es 1 se llevará
Si es 0, el flip_flop no cambia y permanecéen el
elflip.flopalestadolcomo."d"."u.Así,sselistacomounacondición
de no importa.

E l f l i P - f l o PJ K
en la Tabla 6-8(b)'
La tabla de excitación para el flip-flop JK se muestra
presente y estado siguiente t91"..0' la entrada J
Cuando ambos estado
i" K puede sór 0 ó 1. Similarmente cuando
debepermar,""", .rJól
""t*aá
239
2& LOGICASECUENCIAL
CAP. 6

el.estado presentey siguiente sean l, la entrada


K debe permaneceren 0
mientras que la entrada
_J luede ser 0 ó r. si.l-irip-ñáp ,,rua tener una
transición del estado O^areitado r, J debe
s* i*"i'I r l" o,r. la entr¿.¡la
Jpone a I el flip-flop. Sin embargo,la entrada.ipr"J"-.ár
la condiciónJ: l pone a uno et fiip_nopcomo 0 ó 1. si K:0,
se requiere;si K: ly J:1,
el flip-flop se complementa y va ¿ót estado 0 al
esta-Jo-i-to.,'o se requiere.
De esta manera la entrada K se marca con
una condición de no importa
para la transición de 0 a 1. para una
transición del estado 1 al estado0,
se debetener K:1ya que la entradaf pr"" o;iñ;;:h"p. pero, la en_
trada J puedeser 0 ó 1, comoJ:0 no tiene efecto, " y J:l conjuntamente
:oT r(: 1 complementael flip-flop con una transición resultante del es_
tado 1 al estado 0.
La tabla de excitació.nder flip-flop JK ilustra la
ventaja de usar este
tipo al diseñar los circuitos secul.,ciar".. ni r,""h;
á;;"" tiene tantas
condicionesde no importa- indica que los circuitos
comb]nacionalespara
las funciones de entráda deben ser^más simples
debido a que las funcio_
nes de no importa simplifican usualmentela iunción.

Flip-flopD
La tabla de excitación para u.n fli!-flop tipo
D se muestra en ra Tabla
6-8(c). De la tabla. característica,f"ú¡i O_Z(c),
* ;;;"qre el siguiente
estado es siempre igual a la entrada D i;á¿p;"ai"nl"'a"r estado pre_
s e n t e .P o r t a n t o , D d e b e . s e 0
r s i e { r a 1 ) - "t i e n e t u ; ; ; ; - ó , y 1 s i
tiene que ser l, independientementedel valor "' e(¿+t)
de Oirll--
Flip-ftopf
La tabla de excitació" p1rq el flip_flop ? se
muestra en la Tabla 6_g(d).De
la tabla característica,-Tabrao-?(d),-seencuentra
que cuando la entrada
T:1 el estadodel flip-flop-."
cuando T:0 er estadodel
flip-flop permanece sin cambiar."o-pl"-enta,
poi tanto cuando el
estado del flip-flop
debe_permanecer igual, el requerimiento es que T:0. cuando
-' el estado
del flip-flop debe cómpiu-""tái.", i á"¡" .". iguui
u 1".'
Otros flip-flops
El procedimiento de diseño que se va a describir
en este capítulo puede
ser usado con cuarquier flip-flop. Es necesarioque
." la tabla
característica del flip--flop,
-La "orror."
de la cual es posible desarrollar
tabla de excitación. una nueva
iabla a" se ;;;;;es para deter_
minar las tuncionesde ent¡ada der"*"it""ión
nip-¡oo, ;;" "."
;;;;ü;; en la sisrien-
te sección.

6-7 PROCEDIMIENTD
OE D I S E Ñ O

El diseño de un circuito secuenciartemporizado


comienza
-lógico
a partir de un
conjunto de especific-rciones
y curmina en un diug.u;á
de funciones de Boole de las cuares se puede o una lista
obt"u.re.et a'iagrama lógico.
qq
,H
:fi

SEC. 6-7 P R O C E D I M I E N TOOE D I S E Ñ O 241 ;i:


-i

i;
En contraste con el circuito combinacional,el cual está especificadocom- ii

pletamente por una tabla de verdad, un circuito secuencialrequiere una :]


iabla de veriad para su especificación.El primer paso en el diseño de los
j

circuitos .e".tettóialeses obtener una tabla de estado o una representa-


I

.i¿r, tal como un diagrama de estado o ecuacionesde estado'


"qrri.rulente
Un circuito secuencialsincrónico se hace de flip-flops y compuertas
combinacionales.El diseño del circuito consiste en escogerlos flip-flops
y luego encontrar una estructura de compuertas combinacional, la cual,
tonjuntamente con los flip-flops, produce un circuito que copa las carac-
teisticas enunciadas.Et ntmero de flip-flops se determina por el núme-
ro de estadosnecesariosen el circuito. El circuito combinacionalse deriva
de la tabla de estado por los métodos presentados en este capítulo. De
hecho, una vez que el tipo y número de los flip-flops se determinen, el
p.o""ro de diseñó envuelve una trasformación del problema del circuito
iecuencial al problema del circuito combinacional. De esta manera Ias
técnicas de diseño de los circuitos combinacionalespueden aplicarse'
Esta sección presenta un procedimientopara el diseño de los circui-
tos secuenciales.Áunque su propósito es servir como guía al principiante,
este procedimiento púede acortarse con experiencia. Este procedimiento
," ,nirrir.rira medianie una lista de pasosconsecutivosque se recomiendan
como sigue:
1. se establece la descripción en palabras del comportamiento del
circuito. Esto puede acompañarsepor el diagrama de estado, un
diagrama de tiempos, u otra información pertinente'
2. De la información dada del circuito se obtiene la tabla de estado.
3. EI número de estados puede reducirse por los métodos de reduc-
ción de estados si el circuito secuencial puede caracterizarsepor
las relaciones de entrada-salida independientes del número de
estados.
4. Se asignan valores binarios a cada estado si la tabla de estado
obtenida en los pasos2 ó 3 contienensímbolosde letras'
5. se determina el número de flip-flops necesariospara asignar una
letra a cada una.
6. Se escogeel tipo de flip-flops que se va a usar.
?. A partir de las tablas de estado,se deduce la excitación del circui-
to y las tablas de salida.
8. usando un mapa o cualquier otro método de simplificación, se de-
duce las funcionesde salida del circuito y las funcionesde entrada
del flip-flop.
9. Se dibuja el diagrama lógico.
Las especificaciones en palabras del comportamientodel circuito asu-
men que ef lector está familiarizado con la terminologíalógica digital. Es
.,ece.árioque el diseñadoruse su intuición y experienciapara llegar a- la
correcta interpretación de las especificacionesdel circuito, porque las
descripcione.ótt palabras pueden ser incompletas e inexactas. Sin em-
242 L O G I C AS E C U E N C I A L CAP, 6

bg1so,una- vez que se haya establecidotal especificacióny se haya obte-


nido la tabla de estado, es posible hacer usó del procedimiento formal
para diseñar el circuito.
La reducción del número de estadosy la asignaciónde valores bina-
rios a los estados fueron discutidos en la secci¿n o-s. En los ejemplos que
sisqe-nse^asume que el número de estados y su asignación binaria
nocida. como consecuencia,los pasos 3 y i a"t diJe¡o no se conside¡an ". "o-
en las discusionessubsecuentes.
Ya se ha mencionadoantes que el número de flip-flops se determinan
por el número de estados. un circuito puede tener estádosbinarios sin
usar si el número total de estadoses menor que 2^. Los estadosno usa-
dos se toman como condicionesde no importa durante el diseñode la parte
del circuito combinacionaldel circuito.
El tipo de flip-flop que se va a usar puede incruirse en las especifica-
ciones del diseño o puede dependeren aquello que está disponible al dise-
ñador. Muchos sistemas digitales se construyen totalmente con flip-flops
Jrl porque ellos son los más versátiles y disponibles. cuando hay muchas
clasesde flip-flops disponibles,es aconsejableusar el flip-flop BS o D para
aplicaciones que requieren trasferencia de datos (taies óomo registros
de desplazamrento).El tipo T para aplicacionesque incluy"tr
tación (tales como contadoresbinarios), y el tipo JK para aplióaciones
"o*plu-u.r-
generales.
La información de salida externa se especificaen la sección de sali-
da de la tabla de estado. De ella podemosdeducir las funcionesde salida
del circuito. La tabla de excitación del circuito es similar a la de los flip-
flops individuales, excepto que las condicionesde entrada son dictadas
por la información disponible en el presente estado y las columnas del
estado siguiente de la tabla de verdad. El método para obtener la tabla
de excitación y las funciones simplificadas de enfrada del flip-flop es
mejor ilustrarlo con un ejemplo.
se desea diseñar un circuito secuencial temporizado cuyo diagrama
de estadose da en la Figura G-21.El tipo de flip-flóp usado es el Jr(.
El diagrama de estado consiste en cuatro estádos con valores bina-
rios ya asignados.como las líneas designadasse marcan con un solo dí-
gito binario sin una ,/, se concluye que hay una va¡iable de entrada v

Figura 6-21 Diagrama de estado


sEc.6-7 P R O C E D I M I E N TOOE D I S E Ñ O

ninguna variable de salida. (El estado de los flip-flops puede considerarse


como las salidas del circuito.) Los dos flip-flops necesariospara represen-
tar los cuatro estadosse designancomo A y B. La variable de entrada se
designar.
La tabla de estado para este circuito, derivada del diagrama de es-
tado, se muestra en la Tabla 6-9. Nótese que no hay sección de salida
para este circuito. se mostrará ahora el procedimiento_ para obtener la
y
iabla de excitación la estructura de la compuerta combinacional.
La derivación dé la tabla de excitación se facilitará si se reordenala
tabla de estado en forma diferente. Esta forma se muestra en la Tabla
6-10, donde el estado presentey las variables de entrada se reordenanen
la fórma de tabla de verdad. El valor del estado siguientepara cada esta-
do presente y las condicionesde entrada se copian de la Tabla 6-9. La
tabia de excitación del circuito es una lista de condicionesde entrada
del flip-flop que causan las transiciones de estado requeridasy es una
función aef tipo de flip-flop usado. Como este ejemplo especificaflip-flops
JI(, se necesitancolumnas para las entradasJ y K del flip-flop A (denota-
das por JA y KA) y B (denotadaspor JB y KB).

Tabla 6-9 Tabla de estado

Estado siguiente

Estado presente x:0 x:l

00 00 0l
0l 10 0l
l0 l0 ll
ll ll 00

La tabla de excitación para el flip-flop JK fue derivada en la Tabla


6-8ft). Esta tabla se usa ahora para deducir la tabla de excitación del
circuito. Por ejemplo,en la primera fila de la Tabla 6-10se tiene una tran-
sición del flip-flsp A de 0 en el presenteestado a 0 en el estadosiguiente.
En la Tabla 6-81b)se encuentra que los estados de transición de 0 a 0
requierenque la entrada J:0 y la entrada K:x. Así 0 y X se copian en
Ia primera-fila bajo JA y KA, respectivamente.Como la primera fila mues-
tra también la tránsición del flip-flop B de 0 en el presenteestadoa 0 en
eI siguiente estado, 0 y X se copian en la primera columna bajo JB y !<4.
La ségundafila de la Tabla 6-10 muestra una transición del flip-flopB de
O en él presenteestado a 1 en el siguiente estado. De la Tabla 6-8(b) se
encuentra que una transición de 0 a 1 requiereque Ia entrada J: t y la
entrada K: x. Así 1 y X se copian en la segundafila bajo JB y KB res'
pectivamente. Este pio"e"o se continúa para cada fila de la tabla de
verdad y para cada flip-flop con las condiciones de entrada especificadas
Tabla 6-10 Tabla de excitación

Entradas de los circuitos ü


Salidas del circuito
combinacionales ¡
combinacional I

I
Estado Siguiente
presente Entrada estado Entradas de los flip-flops

JA JB KB
00 0 00 OXOX
00 I 0l OXIX
0l 0 l0 IXXI
0l I 0l OXXO
r0 0 l0 XOOX
l0 I ll XOIX
ll 0 II XOXO
ll I
I 00 XIXI

en- la Tabla 6-8(b) copiadasen la fila correspondientedel flip-flop parti-


cular considerado.
. . Hágase una pausa y considéresela información disponible en una
tabla de excitación tal como la Tabla 6-10.se sabeque un'circuito secuen_
cial consiste en un número de flip-flops y un circuito combinacional.La
Figura 6-22 muestra los dos flip-flbp. iK-tr"""sarios p"r" circuito y un
rectángulo_para representarel circuito combinacionál. E,"r claro del
dia-
grama-de
-bloqueque las salidas del circuito combinacional vayan a las
entradas de- los flip-flops y a las salidas externas (si se especiiica).
Las
entradas del circuito combinacional son las entradas externas y los
lores de estado presentesde los flip-flops. sin embargo,las funciones
va_ I
de
Boole que especificanun circuito combinacionalse derivan de una
tabla
de-verdad que muestra las relacionesde entrada-salidadel circuito. La
tabla- de verdad que describe el circuito combinacional es disponible en
la tabla de excitación. Las entradas del circuito combinacio.rál,.
cifican bajo el presenteestado y las columnas de entrada, las solidos "rp"-
iel
circuito combinacional se especifican bajo las columnas de entrada
de
los flip-flops. Así, una tabla de excitación trasforma un diagrama
de es-
tado a ia tabla de verdad necesariapara el diseño de la parte del circuito
combinacionaldel circuito secuenciai. )
l,as funciones de Boole simplificadas para el circuito combinacional
pueden ahora derivarse.Las entradas son las variables A,
B y r; las sali-
das son las variablesJA, KA, JB y KB. La información dó la tabla
de ver-
dad se trasfiere a los mapas de la Figura 6-23,donde se derivan las
cuatro
funcionessimplificadas de la entrada de los flip-flops:

JA : Bx' KA: BX
JB:x KB: AOx
244
Salidas
A' externas
(ninguna)
A Circuito
B' combinacional
B

Figura 6-22 Diagrama de bloque del ci¡cuito secuencial

Bx B
-lr--^-T0-
A 0
0 I X X x X
I
All
l,
X x x X I

x
tA: Bx' KA -- Bx

I v X X x lj - 1

x X X X

lB:x KB:A@x

Figura 6-23 Mapas del circuito comhinacional

El diagrama lógico se dibuja en la Figura 6-24y consisteen dos flip-flops,


dos compuertas AND, una compuerta de equivalencia y un inversor. I
Con alguna experiencia,es posible reducir la cantidad de trabajo en- il
)14
vuelto en el diseño del circuito combinacional. Por ejemplo, es posible 5

obtener la información para los mapas de la Figura 6-23 directamente de


la Tabla 6-9 sin tener que derivar la Tabla 6-10. Esto se hace repasando
sistemáticamentecada estado presentey la combinaciónde entrada en la
245
Figura 6-24 Diagrama lógico del circuito secuencial

Tabla 6-9 y comparándola con los valores binarios del siguiente estado
correspondiente. Las condiciones de entrada necesarias, como se espe-
cifican por Ia excitación de los flip-flops en la Tabla 6-8, se determinan
entonces. En vez de insertar el 0, 1 ó ¡ así obtenidos en la tabla de excita-
ción, se pueden escribir directamente en el cuadrado apropiado del mapa
apropiado.
La tabla de excitación de un circuito secuencial con m flip-flops, fr
entradas por flip-flop y n entradas externas consiste en m * n columnas
para el estado presente y las variables de entrada y hasta 2-+" filas lis-
tadas en alguna cuenta binaria conveniente. La siguiente sección de esta-
do tiene m columnas, una para cada flip-flop. Los valores de entrada de
los flip-flops se listan en mh columnas, una para cada entrada de cada
flip-flop. Si el circuito contiene j salidas, la tabla debe incluir j columnas.
La tabla de verdad del circuito combinacional se toma de la tabla de exci-
tación considerando el estado presente m + n y las columnas de entrada
como entradas, y los valores de entrada del flip-flop mk+j y las salidas
externas como solldos.

Diseño con estados no usados

Un circuito con m flip-flops puede tener 2- estados. Hay ocasiones cuan-


do un circuito secuencial puede usar menos que este máximo número de
estados. Los estados que no se usan en la especificación del circuito se-
cuencial no se listan en la tabla de estado. Cuando se simplifican las fun-
ciones de entrada de los flip-flops, los estados sin usar pueden ser trata-
dos como condiciones de no importa.

EJEMPLO 6-1.' Completar el diseño del circuito secuencial


presentado en la Sección 6-5. Use la tabla de estado reducida con

246
Tabla 6-11 Tabla de excitación para el Ejemplo 6-1

Estado Estado
presente Entrada siguiente Entradas de flip-flops Salidas

ABC ABC SA RA SA RB SC RC

001 0 001 0 x 0 X XO 0
001 I 0l0Oxl 0 0l 0
010 0 011 oxx 0 l0 0
0r0 I 100 l 0 0 OX 0
0ll 0 001 0 x 0 XO 0
0ll t
100 I 0 0 0l 0
100 0 10tx00 X l0 0
100 1 100x00 X OX I
l0l 0 001 0 I 0 X XO 0
l0l I 100x00 X 0l I

la asignación 1 tal como se da en Ia Tabla 6-6. El circuito debe


usar flip-flops RS.
La tabla de estado de la Tabla 6-6 se redibuja en la Tabla
6-11 en la forma conveniente para obtener la tabla de excitación.
Las condiciones de entrada del flip-flop se deriva de las colum-
nas del estado presente y del siguiente estado de la tabla de es-
tado. Como se usan los flip-flops RS es necesario referirse a la
Tabla 6-8(a) para las condiciones de excitación de este tipo de
flip-flop. A los tres flip-flops se les da los nombres de las variables
A, B y C. La variable de entrada es r y la variable de salida es y.
La tabla de excitación del circuito suministra toda la informa-
ción necesaria para el diseño.
Hay tres estados sin usar en este circuito: los estados bi-
narios 000, 110 y 111. Cuando se incluye una entrada de 0 ó 1 con
estos estados no usados se obtienen seis términos mínimos, de
no importa: 0, 1, 72, 13, 14 y 15. Estas seis combinaciones binarias
no se listan en la tabla de verdad bajo el estado presente y la
entrada y se tratan como términos de no importa.
La parte del circuito combinacional del circuito secuencial
se simplifica por medio de los mapas de Ia Figura 6-25. Hay siete
mapas en el diagrama, seis mapas son para simplificar las fun-
ciones de entrada para los tres flip-flops RS. El séptimo mapa es
para simplificar la salida y. Cada mapa tiene seis X en los cua-
drados de los términos mínimos de no importa 0, l, 2, 13, 14 y 15.
Los otros términos de no importa en los mapas provienen de las :i
X en las columnas de entrada dr-.I flip-flop de la tabla. Las fun-
.t:
ciones simplificadas se listan bajo cada mapa. El diagrama lógico
I
obtenido de estas funciones de Boole se dibujan en la Figura 6-26. l,

i''

Un factor olvidado hasta este momento en el diseño es el estado ini-


c i a l del circuito secuencial. Cuando se le da potencia a un sistema digital t:i

i
247
C
Cx
AB 00 0t ll l0

r-
X ^ X t4 tl I

el
["

L'o
0l

X
t-;
t^

l¿ !_)
X
;1
Y
i" Y v

U
Y A X

L_J

RA=Cx SB = A'B'x
SA=Bx

^ X

X A X Y
F I

f-T E
il|
'l x I

A
I
l^
g JJ
x Y A ^
X X x x I X ^ rl
I

RB=BC+Bx .tc = x'

x ^

r; ¡ A

Li r_J
.v=Ax

Figura 6-25 Mapas para simplificar el circuito secuencialdel Ejemplo 6_1

por primera vez, no se conoce en qué estado se fijará el flip-flop. Es cos-


tumbre suministrar una entrada maestra de puesta a uno lmastei:re.set)
cuyo propósito es iniciar los estadosde todos los flip-flops ep el sistema.
Típicamente, la maestra de puesta a uno es una senal aplicada a todos
Ios flip-flops asincrónicos antes de 'comenzar las operaciónestemporiza-
das. -En la mayoría de los casos los flip-flops se llevan a 0 por medió de la
señal maest¡a de puesta a 0, pero algunos serán puestos a 1. por ejemplo,
el circuito de la Figura 6-26puede inicialmente ponersea 0 con un estado
ABC:001, ya que el estado000 no es un estadoválido para este circuito.
248
Figura 6-26 Diagrama lógico para el Ejemplo 6-i

¿Pero qué pasa si el circuito no se pone a cero con un estado válido


inicial? O lo que es peor, ¿qué pasa si debido a la señal de ruido o cual-
quier otra razón imprevista, el circuito se encuentra en uno de estos es-
tados inválidos? En este caso es necesario asegurar que el circuito
eventualmentevaya a uno de Ios estadosválidos para regresara la ope-
ración normal. De otra manera, si el circuito secuencial circula dentro
de los estadosinválidos, no habrá manera de llevarlo de nuevo a la secuen-
cia intentada de las transiciones de estado. Aunque se puede asumir que
esta condición indeseablesupuestamenteno ocurre, un diseñador cuida-
doso puedeprevenir que esta situación nunca ocurra.
Se había expresadopreviamente que los estadossin usar en un cir-
cuito secuencialpuedenser tratados como condicionesde no importa. Una
vez que se diseña el circuito, los m flip-flops en el sistema puedenestar en
cualquiera de los 2- estadosposibles. Si algunos de estos estadosse to-
maran como condicionesde no im¡rorta, el circuito puede ser investigado I
i
para determinar el efecto de estos estadossin usar. EI estado siguiente i
de los estados inválidos pueden determinarse del análisis del circuito.
De todas maneras, es siempre acertado analizar un circuito obtenidn de
un diseño, para asegurar que no se cometan errores durante el proceso.
249
2fr L O G I C AS E C U E N C I A L CAP.6

EJEMPLO 6'2: Analízar el circuito secuencial obtenido en


el Ejemplo 6-1 y determinar el efecto de los estados sin usar.
Los estadossin usar son 000, 110 y 111. El análisis del circui-
to se hace por el método esbozado en la Sección 6-4. Los mapas de
la Figura 6-25 pueden ayudar también en el análisis. L' que se
necesita aquí es comenzar con el diagrama del circuito de la Fi-
gura 6-26 y derivar la tabla o el diagrama. si la tabla de estado
derivada es idéntica a la Tabla 6-6 (o la parte de ra tabla de esta-
do de la Tabla 6-11), entonces se sabe que el diseño es correcro.
En suma, se debe determinar los estados siguientes de los esta-
dos sin usar 000, 110y 111.
Los mapas de Ia Figura G-2b pueden ayudar a encontrar el
siguiente estado de cada una de las entradas sin usar. Tómese,
por ejemplo' el estado sin usar 000. si en este circuito, por alguna
razón, se encuentra en el presente estado 000, una entrada .r:0
trasferirá a otro (o al mismo) estado siguiente. Se investigará
primero el término mínimo ABCx:0000. De los mapas, se ve que
este término mínimo no se incluye en ninguna función excepto
para SC, es decir, la entrada de puesta a uno del flip_flop C. por
t-a1to, los_flip-flops A y B no cambiarán pero el flip_fiop C se pon-
drá.a 1. como el presente estado es ABC:000, el .igui"trt" estado
será ABC:001. Los mapas mostrarán también que el término
mínimo ABCx:0001 se incluye en las funciones para SB y RC.
Por tanto B se pondrá a uno y c se pondrá comenzando
c o n A B C : 0 0 0 y p o n i e n d o a u n o a B , s e o b t i e"n e"u.o.
el sizuiente esta-
do ABC:010 ( C y a s e h a p u e s t o a c e r o ) . L a i n v e s t i g a c i ó nd e l
mapa para la salida y demuestra que y será paru estos dos
términos mínimos. ""to
El resultado del procedimiento de análisis se muestra en el
diagrama de estado de la Figura 6-27. El circuito opera como se ha
diseñado, siempre y cuando esté dentro de los 001, 010,
011, 100 y 101. si alguna vez se encuentra en uno "rtudo.
de los estados

Figura 6-27 Diagrama de estado para el circuito de la Fizura 6_26


sEC. 6-8 D l s E Ñ OD E C O N T A D O R E S 2 5 1

inválidos 000, 110 ó 111, irá a alguno de los estados válidos en unc
de Ios dos pulsos siguientes. El circuito será así de autocomienzo
y autocorrección ya que eventualmente irá a un estado válido a
partir del cual continuará operando de acuerdo a lo requerido'
Una situación indeseable hubiera ocurrido si el estado si-
guiente de 110 para r: t hubiera sido 111 y el estado siguiente
de 111 para r : 0, 110. Entonces, si el circuito comienza de 110 ó
111, circulará y se mantendrá entre estos dos estados para siem-
pre. Los estados no usados que causan tal comportamiento inde-
seable deben ser evitados; si se detecta su existencia, el circuito
debe ser rediseñado. Esto puede hacerse más fácilmente espec.i-
ficqn{o un estado siguiente válido para cualquier estado sin usar
que se haya encontrado circulando entre estados inválidos.

6-8 DISEÑO DE CONTADORES

Un circuito secuencial que pasa por una secuencia preestablecida de esta-


do_sdespués de Ia aplicación de pulsos se llama un contador. Los pulsos de
eni.ada, Ilamados pulsos de cuenta, pueden ser pulsos de reloj, o ellos
pueden originarse en una fuente externa y pueden ocurrir en inltervalos
óstablecidos de tiempo o aleatoriamente. En un contador, Ia secuencia de
estados puede seguii una cuenta binaria o cualquier otra secuencia de
estados. Los contadores se encuentran en la mayoría de los equipos que
contienen lógica digital. Ellos se usan para contar el número de ocurren-
cias de Un evento y se usan para generar Secuenclas cte tlempo para Con-
t r o l a r l a s o p e r a c i o n e se n u n s i s t e m a d i g i t a l .
De las diferentes secuencias que un contador debe seguir. Ia secuen-
cia binaria directa es la más simple y la más directa. Un contador que
s i g u e I a s e . c u e n c i ab i n a r i a s e l l a m a c o n t a d o r b i n o r i o . U n c o n t a d o r d e n
-I.
bits consiste en n flip-flops y puede contar en binario de 0 hasta 2"
Como un ejemplo, el diagrama de estado de un contador de 3 bits se mues-
tra en la Figura 6-28. Como se ve en los diagramas de estado indicados
dentro de los círculos, Ias salidas de los flip-flops repiten Ia secuencia de
cuenta binaria con un regreso a 000 después de 111. Las líneas dirigidas

Figura 6-28 Diagrama de estado de un contador binario de 3 bits


252 LoGIcA SEcUENCIAL
CAP. 6

entre círculos no se marcan con valores de entrada-salida


como en otros
diagramas de estado. Recuérdeseque las transiciánes
Je estado en dos
circuitos secuencialestemporizadosocurren durante
un pulso ¿" ,aroj;
los. flip-flops permanecenen sus estados pr"r""i".-,i-no
pulso. Por esta razón,,el pulso de o".rrre ningún
.reloj variable cp ;; áirr.." explícita_
mente como una variabre de/entrada en
un diagrama de eltado o tábra de
estado.Desdeeste punto-de/vista,el diagrama"d;;t"d;"de
un contador
no tiene que mostrar valores de entrada"-salida
i; l;;go de las líneas
dirigidas. La única entrada al circuito es el pulso"
de cuenta, y las salidas
se especificandirectamente con los estados
iresentes J; l;. itip-nops. oi
siguiente estado del contador dependeenteramente
de su estado presente
y la transición de estado o..,rr. cada vez que
ocurre el pulso. Debido a
esta propiedad, se es.pecificacompletamente un contadoi
por medio de
una lista de secuencia-de cuenüo, es decir, la ...ua".iá-
de los estados
binarios que se le suceden.
La secuenciade cuenta de un contador binario de B
estadosse da en
Ia Tabla 6-12. El siguiente número en la secuenciarepresenta
el siguiente
estadoalcanzadopor el circuito despuésde Ia aplica;ió";;ipulso
de cuen-
ta. La secuenciade cuenta .e repite ,r.r" u", haya
alcanzado el último
valor, de tal manera que el estadb 000 es el estaáo
.ig;;rrt" despuésde
111. La secuenciade cuenta da toda la informaci¿"
p"ru diseñar
el circuito. No es necesarioristar los estados.igui".rt", """E."ri" una
columna
s.eparada- porque se puede leer del número siguiénte .r, ü"r,
...u.ncia. EI
diseño de contadoressigue el mismo procedñnientoque--aquel
esbozado
en la Sección 6-7, exceptoque la tabla de
i;;; obtenersedi-
rectamentede la secuenciade cuenta. "*"it".iá"
Tabla 6-12 Tabla de excitación para un contado¡ binario de t¡es
bits

Secuenciade cuenta Entradas del flip-flop

A2 Al Ao TAz TA, TAo


0 00 0 0
0 0l 0 I
0 l0 0 0
0 ll t
t I
00 0 0
0l 0 I
t
l0 0 0
ll I I

La Tabla 6-12 es la tabla de excitación para el contador


binario de 3
bits. Se les da designaciones de varia¡re. ¿r, ¿, ;";;; los tres flip-
flops. Los contadoresbinarios se construyen más
érió;"rrle-ente con flip_
flops ? (o flip-flops J.If c9n V K unidasi. La excitació"'á"f
! nip-nop para
las entradas ? se deriva de ra iabla de excitación der
flip-flop T y por ins-
pección de Ia transición de estado de una cuenta
dada (estadopresente)
sEc 6-8 D I S E Ñ OD E C O N T A D O R E S 2 5 3

a la siguiente bajo ellqrfestado siguiente). como ilustración, considérese


es 001
tas e.rtiadas del i'lip-flfp'pr.u Ia fila 001. El estado presenteaquí
cuenta en la secuencia. Com-
i"t riguiu"te es 01ó, el'cúal es la siguiente y-así lo hace TA':
que A2 va de 0 a 0;
ir"i""¿lestas dos cuentas' se nota cuando ocu-
;;;;;0 porqueel flip-flop A2 debé permanecer sin cambiar
p,rlto de reloj. Á' vá de 0 a 1; y así ?Ar se marca con un l porque
;;;
"; if"p debe ser complementadoe1 el siguiente pulso de reloj. De ma-
,i nip y
.,.ru ,i-ilur A0 va de 1 a 0, indicando que esta puede complementarse,
columna con el estado presente 111
así TA6 se marca con un 1, La última
AI
." *Ápuru con la pii*"tu cuenta 000 la cual es su estado siguiente.
los unos a todos los ceros, se requiere que todos los tres
;;.;t- á" to¿ot
flip-flops se comPlementen.
Las funcion"r á" é"1tuda de los flip-flops de las tablas de excitación
lis-
se simplifican en los mapas de la Figura 6-29. Las funcionesde Boole
cada mapa especifican la parte de circuit. combinacional del
i"au. il"¡
se obtiene un
contador. Incluyendó estas funciones con los tres flip-flops,
ái;ilr; lógico del contador de la manera mostrada en la Figura 6-30'
un cont*adorcon n flip-flops puede tener una secuenciabinaria de
menos d,e 2" números. Un contador BDC cuenta Ia secuenciabinaria
desde 0000 hasta 1001 y regresa a 0000 para repetir la secuencia.otros
puede no ser
contadorespueden .eg.,ir urru .".uuttcia arbitraria, la cual
la secuenciábinaria iirecta. De todas fbrmas, el procedimiento de diseño
cuenta se lista y la tabla de excitación se
es el mismo. La secuenciade
comparando una cuenta presente con la siguiente cuenta listada
"úti"""
^11

I I

A-rLI I I I I I

4O

TA, =AtAo TAt = Ao TAo=1

Figura 6-29 Mapas para un contador binario de 3 bits'

Pulsos
de cuenta

Figura l-3O Diagrama lógico de un contador binario de 3 bits


2g L o G I c AS E C U E N C I A L
CAP, 6

bajo ella. Una secuencia de cuenta tabulada siempre asume


una cuenta
repetida, de tal forma que el estado siguiente de la última ehtrada
es la
primera cuenta listada.

EJEMPLO 6-J.. Diséñeseun contadorque tenga una secuen-


cia repetida de seis estadoscomo Ia listada én la T"abla6-rg.
En esta secuencia,ros flip-flops B y c repiten la cuenta bi-
naria 00, 01, r0 mientras que ei flip-flop A alterna entre los
estados
0 y l cada tres cuentas.La secuenciadecuenta paraA, B,
C no
es binaria-directa y los dos estados011 y.111 no se usan. La
es-
:oC:"gr.ude los_flip-flopsJI( resulta en una tabla de excitación de
la Tabla 6-13.Las entradasKB y KC tienen soramente
1v X en

Tabla 6-13 Tabla de excitaciónpara el Ejemplo 6-3

Secuencia de cuenta Entradasdel flip-flop

JA JB JC
0 00 OXOXIX
0 0 ll OXIXXI
0 l0 IXXIOX
00 XOOXIX
0l XOIXXI
l0 XIXIOX

sus columnas, de tal, manera que esas entradas sean


siempre l.
Las otras funciones de entrada de los flip-flops p""J""
,i*priri
carse usando té¡minos mínimos 3 y T
de no
i m p o r t a . L a s f u n c i o n e s s i m p l i f i c a d a i s o n": ó - o - " o r r d i " i o r r " .

JA:B KA: B
JB:C KB:I
JC: B, KC: I

EI diagrama lógico del contador se muestra en la


!.igura
6-31(a). como hay dos estadossin usar, se analiza
el circuito
para determinar su efecto. El diagrama de
estado así obtenido
se dibuja en la Figura 6_81(b).Si eI circuiro por
algur, mllivo va
a un estadb inválido, el siguiente purso de cuenta"ro
t.u.fi".. u
uno de los estados váridos y continúa contando correctamente.
fuí, el contador se autoinicia. un contador autocomenzante
aquel que puede comenzar en cualquier estado y es
alcanzarla secuenciade cuentanorÁal. "u".rtrruÍmenre
(a) Diagrama lógico del contador

(b) Diagrama de estado del contador

Figura 6-31 Solución al Ejemplo 6-3

6-9 D I S E Ñ OC O N E C U A C I O N EDSE E S T A D O

Un circuito secuencial puede diseñarse por medio de ecuaciones de estado


en vez de una tabla de excitación. Como se muestra en la Sección 6-4, una
ecuación de estado es una expresión algebraica que da las condiciones
para el siguiente estado como una función del estado presente y las va-
.iubl". de entrada. Las ecuaciones de estado de un circuito secuencial
expresan en Iorma algebraica Ia misma información Ia cual es expresada
en forma tabular en la tabla de estado.
El método de la ecuación de estado es conveniente cuando el circuito
se haya especificado en esta forma de la tabla de estado. Este es el méto-
do prlferido cuando se usan los flip-flops D. !l método puede ser algunas
veces conveniente de usar con flip-flops JK. La aplicación de este proce-
dimiento en los circuitos con f'lip-f'lops RS o ? es posible pero encierra una
255
256 L o G r c As E c u E N c t A L
cAp. 6
cantidad considerable, de manipulación
algebraica. Aqur se mostrará la
aplicación de este
-método u tá* lir"rrrros secuenciales
p ó JK. El pu"1t.decomienro"""'"uau
casoestu
del flip-flop de¡ivado e" tu S""ci;; ""uu"illu:3:""11,j1?:;
ü.

Circuitos secuenciales con flip_flops


D
La ecuación característica del
flip-flop D se deriva en la Figura
6_s(d):

QQ+t):D I
Esta ecuación estable"",.qu" er siguiente
I
valor presentede su sarida ¿ est¿do del flip-flop es igual al
v-ü-i"aependiente
estado' Esto sisnifica que ra* enrradu. a"i áto. del presente
pa.u el siguienteestadoen Ia
bla de estadosón exactamentelas ta_
mismas que ras'entradas,. por tanto,
no es necesarioderivar las condiciones
t'abla de excitación porque esta información de^".,truau--á"r"nip_noppara la
columnasdel siguienteestado. está disponible ya en las
por ejemplo,la tabla de excitación
-,-Tó*":",
gurente de la Tabla 6-10. La si-
columna de estado para A tiene
que la columna para el sigurente cuatro unos, de la misma manera
;hd" d; t. p; ;;.;;", esre circuito
co,' flip-flop. D,.se escribe-n tu..*u.innes de estadoy se fbrma
crón con ellos a las entrada. D la ecua_
"o.."rpondientes:
A(t + r) : DA(A,B, x) : >(2,4,s,6)
B ( t + l ) : D B ( A ,B , x ) = > ( 1 , 3 , 5 , 6 )

donde DA y DB son las funcionesde


entrada de los flip-flops para los flip-
B, respectivamente, t il; i,rr,",o., se expresa como la suma de
fl:or 1.t
los cuatro términos mínimos. Las funcio"u. .i;;i;¡;ias
nerse por medio de dos mapas de ^r,u. pueden obte-
tres variables. irrrr"ionessimplifi-
cadasde entrada al flip_flop son:

DA = AB'* Bx,
DB:A'x*B,x+ABx,

Si hay estadossin usar en el circuito


secuencial, deben considerarse
'd;-;;
conjuntamente con ras entrada*
términos mínimos de no i-portu "o-o- "o-binaciones importa. Los
a.i- o¡teniáos ñ;";" rr*r.u para sim_
plificar las ecuacionesde estat;
¿ i;; firnciones,i" del flip_flopD.
"nirrau
EJEM,LO 6'4: Diséñeseun circuito secuencial
flip-flops A, B, C y D. Los u.lu¿o. con cuatro
siguientesd;C,'¿ y D son igua-
les a los estadospresentes¿. ¿,
¿ v-ó .".p".ii#Ll"r". El estado
sis'iente de A ei iguar a ru ciñ-"*ór"riu;i;i;.-u"iuao.
deCyD. presentes
A partir del enunciadodel problema,
primero las ecuacionesde estado es convenienteescribir
para el circuito:
sEc.6-9 D I S E Ñ OC O N E C U A C I O N E D
SE ESTADO 257

A(t+l):COD
B(t+r):A
C(t+t¡:3
D(t + l): C
Este circuito especificaun registro de corrímientopor realimen-
tación (feedbackshift register). En este registro, cada flip-flop
trasfiere o desplaza su contenido al siguiente flip-flop cuando
ocurre un pulso de reloj, pero el siguiente estado del primer flip-
flop (A en este caso) es alguna función del estado presente de
otros flip-flops. Como las ecuacionesde estado son muy simples,
el flip-flop más convenientede usar es el tipo D.
Las funciones de entrada del flip-flop para este circuito se
toman directamente de las ecuacionesde estado, con la siguiente
variable de estado remplazadapor la variable de entrada del flip-
flop:
DA:C@D
DB: A
DC: B
DD: C

El circuito puede construirse con cuatro flip-flops D ¡' una com-


puerta OR-exclusiva.

E c u a c i o n e sd e e s t a d o c o n f l i p - f l o p sJ K *
La ecuación característica para el flip-flop JI( se deriva en la Figura
6-6(d):.
e Q+ t ) : ( J ) e ,+ ( K , ) e
Las variables de entrada J y K se encierran en paréntesis, de tal manera
que no se confunda los té¡minos AND de la ecuación característica con la
convención de dos Ietras las cuales se han usado para representar las
variables de entrada de los flip-flops.
El circuito secuencial puede derivarse directamente de las ecuaciones
de estado sin tener que dibujar la tabla de excitación. Esto se hace por
medio de un proceso de apareamiento entre la ecuación de estado para
cada flip-flop y la ecuación general característica del flip-flop J1(. El pro-
ceso de apareamiento consiste en manipular cada ecuación de estado
hasta que esté en la forma de ecuación característica. Una vez que se hace
esto, las funciones para las entradas J y K pueden ser extractadas y sim-
plificadas. Esto debe hacerse para cada ecuación de estado listada, y su
nombre de variable de flip-flop A, B, C, etc., debe remplazar Ia letra Q en
Ia ecuación característica.

tEsta parte puede


omitirse sin pérdida de continuidad.
258 LoGIcA SECUENCIAL CAP. 6

Una ecuación de estado dada para e (¿+ 1) puede expresarsecomo


función de Q y Q'. A menudo,o Q o Q'o ambasestáríanausentesen la ex-
presión de Boole. Es necesarioentoncesmanipular la expresiónalgebrai-
camente hasta que Q v Q'se incluyan en las posibilidádesque pueder"t
encontrarse.

EJEMPLO 6-5; Diseñar un circuito secuencialcon los flip-


flops JI( para satisfacer las siguientesecuacionesde estado:

A(t + l): A'B'CD + A'B'C + ACD + AC'D'


B(t + l): A'C + CD' + A'BC'
C(t+t):3
D(t + l): D'
Las funciones de entrada del flip-flop A se derivan por este
método rearreglandola ecuación de estado y apareándolácon la
ecuacióncaracterísticade la siguientemanera:
A ( t + t ) : ( B , C D + B , C ) A ,+ ( C D + C , D , ) A
: (J)A' + (K')A

De ia igualdad de estas dos funciones,se deducen las funciones


de entrada del flip-flop A como:

J : B,CD + B,C: B,C


Y: (CD + C'D')' : CD' + C,D

La ecuación de estado para el fl,ip-flop B puede rearreglarse


de la siguientemanera:
B(t + l) : (A,C + CD,) + (A,C,)B

Sin embargo, esta forma no es adecuadapara aparearla con la


ecuación característicaporque la variable B, está faltando. Si a
la primera cantidad en paréntesisse le aplica la función AND con-
juntamentecon (B'*B), la ecuaciónpermaneceigual, pero con la
variableB' incluida. Entonces:
B(t + t): (A'C + CD,)(B,+ B) + (A,C,)B
: (A,C + CD,)B,+ (A,C + CD, + A'C,)B
: (J)8, + (K,)B

De Ia igualdad de estas dos funciones,se deducen las funciones


de entradapara el flip-flop B:

J: A,C + CD,
y: ( A ' C + C D , + A , C , ) ,: A C , + A D
REFERENCIAS259

como
La ecuación de estadopara el flip-flop C puede manipularse
sigue:
C ( r + t ) - - S '- B ( C ' + C ) : B C ' + BC
: ( J ) C '+ ( K ' ) C

Las funciones de entrada del flip-flop C son:


J:B
K: B'
puede ser
Finalmente, la ecuación de estado del flip-flop D
para el propósito de apareamiento de la siguiente
manipulada

D(t+,,_:!r,,r:r,,
manera:

i ,i rrl
lo cual da la función de entrada:
J:K:l
y
Las tünciones de entrada derivadas pueden acumularse
listarseconjuntamente.Laconvencióndedosletrasparadesig-
narlauu,iabt"deentradadelflip-flop,nousadaenlaanterior
derivación, se usa a continuación:

JA: B,C KA: CD,+ C,D


JB: A,C + CD, KB: AC, + AD
JC: B KC: B'
JD: I KD: I

alterno pa-
El procedimiento de diseño introducido aquí es un método
de entrada del flip-flop del circuito secuencial
ra determinar las trrr"lont.
flip_¡1oo, JK. parc usar este procedimiento cuando un
;;^"d" se usan
es nece-
ái;g;;-" de estado o tábla de estado se especifica inicialmente,
por el procedimiento esbo-
,urñ q"" Ias ecuaciones de estado se deriven
de la ecuación de estado para encon-
,uao u" la Sección 6-4. El método
trar las funciones dá l"tr"d" del flip-flop puede extenderse para cubrir
de no importa'
estados sin usar los cuales se considéran como funciones
la forma de una ecua-
Los términos mínimos de no importa se escriben en
que estén en la forma de la ecuación
ción de estado y se -a.,ipulan Éasta
particular considerado' Las funciones J y
característica para el flii-flop
mínimos
K en Ia ecuación de estado denó importa se toman como términos
importa cuando se simplificutt lu. funciones de entrada de un flip-
de no
flop particular.

R E F ER E N CI A S

1. Marcus, M. P., Suitching Circuits for Engineer.s, 3a. ed' Englewood Cliffs'
N.J.: Prentice-Hall, 1975.
2@ L o G t c As E c u E N c t A L
cAp. 6
2 Mccluskey, E. J.,_Introciuctionto
the Theory of ,switching círcuits. Nueva
York: McGraw-Hill Book Co., 1965.
' swítching Theory, dos volúmenes.Nueva york:
s*f i#; .E'' John wiley and
n M', Bosic swítcrting circuít Theory.Nueva york:
f;;;*r' The Macmilran co.,
5 ' H i l l , F ' J ' v G . R . p e t e r s o n ,I n t r o d . u c t i o n , t o _ s w í t c h i n g
srgn. Nueva york: John Wiley and Son., T h e o r ya n d L o g í c a rD e _
fgZ¿.
6' Givone,D. D., Introduction to suitching
Hill Book Co., 1920.
Circuit Theory. Nuevayork: McGraw_ J
t
ff#"¿;l''
suítching and Finite Automata Theorv.
Nueva york: McGraw-Hill
I
I
8 LosicatDesig,t
of Dígitatcomputers.
l'i',it!?l,Yi#e Nuevayork:Johnwiley
9 Paull, M' c'y s' H. unger,"Minimizing
t h e _ N u m b eor f s t a t e s i n I n c o m p l e t e l y
specified Sequenriars*itching Fr;;;;;;.;;.'IRE
úers,Vol. EC-8, No. 3 (setiemblergSgl, Trans.ár-linr^rro,c compu_
áSO_OO.
1 0 . Hartmanis, J', "on the.state fusignment problem
IRE Trans. on Electroní, Co^putír.r,-ü"i. for sequential Machines L,,
BC-fo, No. 2 gunio 1961),Ib| -68.
1 1 . Mccluskey, E' J' y S.. H. unger, "A
Note on the Number of Internar Assign-
ments for sequential circuits". 1áE Trans.
in Etectroniccomputer,vol. EC-g,
No. 4 (diciembre1959),439-40.

PROBLEMAS
6-1' lógicode un flip-flop -RStemporizadoconcuatrocompuer-
|;SntirtLtma
6-2' Dibujeel diagramarógicode un flip-flop
D temporizadoconcompuertas AND
v NOR.
6-3' Demuestre que el frip-flopD temporizado de la Figura6-5(a)puedesimplifi_
carseen una compuerta.
6-4' considere un flip--flop JK' es decir un
flip-flop JK con un inversor entre la
entrada externa K' y la entrada interna
K.
(a) Obtengala tabla característica
del flip-flop.
(b) Obtengala ecuacióncaracterística.
(c) Demuestreque atando las
dos entradas externas entre sÍ se forma
flip-flop D. un
6-5' un flip-flop con.entradan1inciq11de puesta
a uno, tiene entradasde puesta
a.uno v de puesta a cero. Esta difiere ^d"
r;flip-¡i;;;;;;;;"".ional en que
uno y a cero simultáneamente, et tiip-nop
;H""ffi.a comá resultado ,u pá.,-
(a) Obtenga ," ,ilti...:i1.1.:i.r].1 y ecuación característica de un flip-flop
con dominio de puesta a uno (set_dominate).
(b) obtenea el diagrama lógico
de un flip-flop con dominio de puesta a
asincrónico. uno
P R O B L E M A S2 6 1

6-6. obtenga el diagrama lógico de un flip-flop JK maestroesclavocon compuer-


tas AÑD y NOR. Incluya una provisiónpara ponera uno y a ceroel flip-flop
asincrónicamente(sin reloj).
6-7. Este problema investiga la operacióndel flip-flop JK maestroesciavoa tra-
vés de la transición binaria en las compuertasinternas de la Figura 6-11.
Evalúe los valores binarios (0 ó 1) en las salidas de las nueve compuertas
cuando las entradas del circuito van a través de la siguientesecuencia:
(a) CP:0, Y:0, Q:0 YJ:K:r.
(b) Despuésde que CP vaya a 1 (Ydebe ir a uno; Q permaneceen 0).
(c) Despuésde que CP vaya a 0 e inmediatamentedespuésJ iráa 0 (Q debe
ir a 1; Y quedasin afectarse).
(d) Despuésde que CP vaya a 1 de nuevo (Y debe ir a 0).
(e) Despuésde que cP vaya de vuelta a 0 e inmediatamentedespuésde eso
K v a y a a 0 ( Q d e b ei r a 0 ) .
(f) Todos los pulsos que se sucedenno tienen efecto siemprey cuandoJ y
K permanezcanen 0.
6-g. Dibuje el diagrama lógico (mostrandotodas ias compuertasde un flip-flop
D maestroesclavo.Use compuertasNAND.
6-9. Conecte un terminal de puesta a cero (clear) asincrónicoo las entradasde
Ias compuertas2 y 6 del flip-flop de la Figura 6-12.
(a) Demuestreque cuando el terminal de puesta a cero es 0, el flip-flop se
pone a cero y permaneceasí independientemente de dos valores de las
entradasCP y D.
(b) Demuestreque cuando Ia entrada de puesta a cero es 1, no tiene efecto
en las operacionesnormalestemporizadas.
6-10. El sumador completode la Figura P6-10recibe dos entradasexternasr y y;
Ia tercera entrada z viene de la salida del flip-flop D. El arrastre de salida
(carry output) se trasfiere al flip-flop en cada pulso de reloj. La salida ex-
terna S dá la suma de x, y y z. Obtenga la tabla de estadoy el diagrama
de estadodel circuito secuencial'

Figura P6-10

6-11. Deduzca la tabla de estado y diagrama de estado del circuito secuencial de


la Figura P6-11. ¿Cuál es la función del circuito?
262 L O G I C AS E C U E N C I A L
CAP. 6

Figura P6-ll
6-12. un circuito secuencialtiene cuatro flip-flops A, B, c y D y
una entrada ¡.
Este se describe por medio de las siguie.,tes .c,racio.reri

A(t + t): (CD, + C,D)x + (CD + C,D,)x,


B(t + t¡: 1
C(t+t):B
D(t+t):C
( a , obtenga la secuenciade estados cuando
r: r, comenzarrdodesde el
e s t a d oA B C D : 0 0 0 1 .
( b ) obtenga la secuenciade estadoscuando r:0
comenzandodesdeel es-
t a d oA B C D : 0 0 0 0 .
6-13. lln circuito secuencialtiene dos flip_flops(A B), dos entradas y y,
V r y una
salida z. Las funcionesde entrada-aetitip-rtóp yiu. r"".iones de
salida del
circuito son las sizuientes:

JA:xB+y,8, f,q : xy'B'


JB: xA, K B : x y '+ A
z: xyA * x,y,B
Obtengael diagrama lógico, la tabla de estado, el diagrama de estado y las
ecuacionesde estado.
6-14. Reduzca el número de estados en la siguiente tabla de
estado y tabule la
tabla de estado reducida.

Estado siguiente Salida


Estado
presente x:0 x:l x:0 x:l
a JI 0 0
b dc 0 0
c Je 0 0
d 8a I 0
e dc .0 0
f lb I I
I sh 0 I
h ga I 0
PROBLEMAS 263

6 . 1 5 ' C o m e n z a n d o c o n e l e s t a d o o d e l a t a b l a d e e s t a d o e n e l P r o de
b ] eentrada
ma6-14,en.
la secuencia
cuentre la secuencia de salida generada con

01110010011.

6-16.RepitaelProblema6.lsusandolatablareducidadelProblema6-14.De-
de salida'
muestre que se obtiene la misma secuencia
6 - | T . s u b s t i t u y a l a a s i g n a c i ó n b i n a r i a - 2 d e l a T a b l a 6 - S a l o s asignación
e s t a d o s e nbinaria
l a T a b l3.
a
6_4 y obteng^ l;t?;i; de estado binario. Repítalo con la

6-13.obtengalatabladeexcitacióndelflip-flopJK'descritaenelProblema6-4.
6-19.obtengalatabladeexcitacióndeunflip-flopcondominiodepuestaauno
(set-dJminate) descrita en el Problema 6-5'
y una salida. Ei diagrama de es-
6-20. un circuito secuencial tiene una entrada
iu riguru p6-20. Diseñe un circuito secuencial con (a)
tado se muest;;;
ifio-¡oo. ?, (b) flip-flops 'RS v (c) flip-flops Jl('
6 - 2 | . D i s e ñ e e l c i r c u i t o d e u n r e g i s t r o d e 3 b i t s q u e c o n v i e r t e - e l n ia
ú mentrada
e r o a c u ¡:
m u .1'
duj cuando
lado en .f ,.gi.irl a su valo"r de complemeto
Losflip-flopsdelregistrosondeltipofisT'Esteflip-floptienetresentradas:
d o s e n t r a d a s t i e n e n c a r a c t e r í s t i c a s R s y u n a t i e n e . c a r a c t e r í s t i c a sentrada
T.Las
entradas nS *.-"ü" pu* f.á.f"tir el nú"mero de 4 bits cuando una
para la conversron'
}: 1. Use la entrada ?
6.22.RepitaelEjemplo6.lconIaasignaciónbinariaSdela'|abla6.5.Uselos
flip-flops JK.
6-23. Diseñe un contador BDC con flip-flops JK'

0/0

001

0/0

I/1

r00 ll

0/o
t/r 0/0 / /oto

010/
lt/

000

Figura P6-20

6.24.Diseñeuncontadorquecuentedígitosdecimalesdeacuerdoalcódigo2'4'
2, 1, (Tabla 1-2)' Use fliP-floPsT'
la siguiente secuenciabinaria
G-ru. Diseñe los contadoresbinarios que tienen
!' repetida. Use fliP-floPs JK'
i
2il L o G I c AS E C U E N c I A L

(a) 0, 1,2
CAP 6
J
(b) 0, 1, 2, 3, 4
(c) 0, 1,2,3, 4, b,6
6-26. Diseñe un contador-con la siguiente
s e c u e n c i ab i n a r i a : 0 , 1 , l i , 2 , 6 , 4 , 5 , i y
repetición. Use flip_flops r?S.
6-27' Diseñe un contador con la siguiente
s e c u e n c i ab i n a r i a : 0 , 1 , J , i , 6 , 1 y repe-
tición. Use flip-flops ?.
6 - 2 8 ' D i s e ñ e u n c o n t a d ' r - - c - o nl a s i g u i e n t e
s e c u e n c i aL ¡ i n a r i a : 0 , 4 , 2 , 1, 6 y repeti-
ción. Use flip-flops J1(.
6-29. Repita el Ejemplo 6-5 usando flip-flops
D.
6-30' Verifique el circuito obtenido en el Ejemplo
6-b usando el método de ra tabla
de excitación.
6-31' Diseñe el circuito secuencial descrito por
medio de las siguientes ecuaciones
de estado. Use flip-flops JK.

A(t + l): xAB+ yA,C+ ry


B(t + l): xAC+ y,BC,
C(r+ l): x'B+ yAB,
6-32' (a) Deduzca las ecuacionescle estado para
el circuito secuencialespebifica-
do en la Tabla 6_6,Sección6-5. Liste lo.stérminos
a.,"l.rp".ta. (b) Deduzca
las funcionesde ent_radade ros flip-frops
a partir de ras ecuacronesde esta-
do (v ros términos_deno importa) ,"un¿o
ei método ;b.;;;" en el Ejemplo
6-5. Use flip-flops JK.
Registros,contad o res
y unidad de memoria
¡i"¡i1.,f..',.r

.='

7-1 INTRODUCCION

Un circuito secuencial temporizado consiste en un grupo de flip-flops y


compuertas combinacionales conectados para formar un camino de reali-
mentación. Los flip-flops Son esenciales porque, en su ausencia, el circuito
se reduce a un circuito puramente combinacional (siempre y cuando no
haya un camino de realimentación). Un circuito con flip-flops solamente
se considera un circuito secuencial aun en la ausencia de compuertas
combinacionales.
un circuito MSI que tiene celdas de almacenamiento dentro de él es
por definición un circuito secuencial. Los circuitos MSI que incluyen flip-
flops .r otras celdas de almacenamiento se clasifican comúnmente por la
función que ellas realizan en vez de por el nombre "circuito secuencial".
Estos circuitos MSI se clasifican en una de tres categorías: registros,
contadores o memorias de acceso aleatorio. Este capítulo presenta varios
registros y contadores obtenibles en la forma de CI y se explica su opera-
ción. La organiZación de la memoria de acceso aleatorio se presenta tam-
bién.
IJn registro es un grupo de celdas de almacenamiento binario capaz de
retener información binaria. Un grupo de flip-flops constituyen un registro
ya que cada flip-flop es una celda binaria que acumula un bit de informa-
ción. Un registro de n-bits tiene un grupo de n flip-flops y tiene capacidad
de acumular cualquier información binaria que contiene n bits. Además
de Ios flip-flops, un registro puede tener compuertas combinacionales que
ejecutan ciertas tareas de procesamiento de datos. En su definición más
general, un registro consiste en un grupo de flip-flops y compuertas -que
afectan su transición. El flip-flop retiene información binaria y las com-
puertas controlan cuándo y cómo se trasfiere la nueva información al re-
gistro.
Los contadores se introdujeron en la Sección 6-8. Un contador es
esencialmente un registro que pasa por una secuencia predeterminada
de estados después de la aplicación de pulsos de entrada. Las compuer-
tas en un contador se conectan de tal manera que se produce una secuen-
cia preestablecida cie estados binarios en el registro. Aunque los contado-
\
266 REGISTRoS
co, N T A D o R E SY U N I D A DD E M E M o R I A CAP 7

res son un tipo especial de registro, es común diferenciarlos dándoles un


nombre especial.
Una unidad de memoria es una colección de celdas de almacenamiento
conjuntamente con los circuitos asociados necesarios para trasferir la
infbrmación de entrada y salida. Una memoria de acceso aleatorio (RAM)
difiere de una memoria de solo lectura (ROIVI) en que una RAM puede
trasferir la información acumulada hacia afuera (lectura) y también es
capaz de recibir nueva información para almacenamiento (escritura). Un
nombre más adecuado para tal memoria podría ser memoria de Lecturu
y escritura.
t
Los registros, los contadores y las memorias se usan externamente
en el diseño de sistemas digitales en general y computadores digitales en
particular. Los registros pueden usarse también para facilitar el diseño
de circuitos secuenciales. Los contadores son útiles para generar variables
de tiempo para temporizar y controlar las operaciones en un sistema digi-
tal. Las memorias son esenciales para almacenar los programas y los datos

I
en un computador digital. EI conocimiento de las operaciones de estos
componentes es indispensable para la comprensión de la organización y
diseño de los sistemas digitales.

7-2 REGISTROS
varios tipos de registrosestándisponibles
en circuitosMSI. El circuito
más simple es aquel que consiste en flip-flops sin ninguna compuerra ex-
terna. La Figura 7-1 muestra tal registro construido con cuatro flip-flops
tipo D y un pulso de reloj común de entrada. El pulso de reloj de entrada,
cP, habilita todos los flip-flops de manera que Ia información disponible
al presente en las cuatro entradas pueda ser trasferida al registro de 4
bits.'Las cuatro salidas pueden ser cateadas para obtener Ia información
acrrmulada en el registro.

I3

Figura 7-1 Registro de 4 bits

La forma en que los flip-flops de un registro se disparan es de supre-


ma importancia. Si los flip-flops se construyen con compuertas retenedo-
ras tipo D (gated D-type latches) como en la Figura 6-5, la información
presente en la entrada (D) de datos se trasfiere a la salida Q cuando el
habilitador (cP) es 1. cuando cP va a cero, la información que estaba
267
REGISTROS
sEc.7-2

presenteen la entrada de datos justamente antes de la transición es re-


ienida en Ia salida Q. En otras palabras los flip-flops son sensiblgt*u lu
que.CP: t'
á"r*i¿" dei pulso, y el registro"e ttabihta durante el tiempo
qrr" .urponde á la duración del pulso se comúnmente
Un registro _llama
;;*p;;;;t ,"irn"doíi (gated latch), v la enlrada CP se marca con la
uu.iuUt" G (en vez de CF). los retenedoresson útiles para almacenamiento
un destino ex-
i""rp"ráf de Ia información binaria que se va a trasferir a
el diseño de circuitos secuenciales que tienen
terno. No se deben usar en
conexiones
-- de realimentación.
en el
C;;" ,e e"pliá-"n la Sección6-3, un flip-flop puedeser usado
y cuando sean sen-
¿ire¡o áe circuüOs selue-nciálestemporizadossiempre
la duración del pulso. Esto signi-
.rbi;r'a la transiciO"'Oripút.q u., ueZde
ii;;"" los flip-flops en ei registro debenser del tipo de.disparopor flanco
;';;;;r;;i"f!t".'N".malmJnte no es posibledistinguir en un diagrama
i¿gü'.;6"d"';" flip-flop es un retenedor de compuerta, se dispara por
gráficos de las tres son
flanco ó es maestro erclávo, porque los símbolos
ig";i;. La distinción debe hácersea partir del nombre dado a la unidad'
a duración de pulso se.llaman por lo gene-
ü;;;;p" de flip_flopssensibles
(l;tch), mientras que un grupo de flip-flops sensiblesa
ral-un retenedor
a" p"f.i, se llaman ,n ,"gittro.* Un registro puede ser siempre
i¡;".i.i¿l
hace con cuidado con el fin
remplazadopor un ,"tenedor, si el remplazose
nunca vayan a otras entradas
á" á."gururr. qu" las salidas del retenedor
deflip.flopsqueesténactivadasconelmismopulsoderelojcomún.Err
que cualquier grupo de
iu, ai...,.iones subsiguientes,se asumirá siempre
son
hip i"ñ dibujados ónstituye un registro v que !od9s los flip-flops
el registro es sensible
del tipo de disparo por flanco o maestro "."luub. Si
(latch)'
u-tu arr.u"ión del ptiro' será tratado como un retenedor

R e g i s t r oc o n c a r g a e n P a r a l e l o
como la
La trasferenciade nueva información a un registro se denomina
carga del registró. si-!-g!os los bits del registro se cargan simultáneamen-
q.r" lu carga_se hace en paralelo.Un
;;;;";" "bpse dice
sio pulro de'reloj,
p"fr. a la entrada a"t .egi.tto de _la Figura 7-1 cargarátod¿s
iu. entradas en paralelo. En esta configuración,el pulso de reloj
"pfi"ado
debe aislarse del terminal CP si el contenido del registro se debe dejar
"rruiro
sin cambio. En otras palabras, Ia entrada CP actúa como una señal de
habilitación Ia cual co.ttrola la carga de la nueva información al registro'
Cuando CP va a 1, la información de entrada se carga al registro. Si 9P
p.t-u"".. en 0, el contenido del registro no cambia. Nóteseque el gampio
de estadoen la entrada ocurre en el flanco positivo del pulso. Si el flip-flop
cambia de estado en el flanco negativo, habrá un pequeñocírculo debajo
del símbolo de triángulo en la entrada CP del flip-flop'
La mayoría de Tos sistemas digitales tienen un generadorde pulsos
pul-
de reloj maestro que suministra un tren de pulsos de reloj. Todos los
flip-flops y registros en el sistema. El
*or ¿. reloj se upii.un a todos los
*Por 7 ' 1 1 7 5e s
ejemplo el cI tipo 7475es un retenedo¡ de 4 bits, mientras que el cI tipo
un registro de 4 bits.
268 REGISTROS.
CONTADORES
Y UNIDAD
DE MEMORIA CAP.7
generadorde pulsos de reloj maestro actúa como
una bomba que suminis-
tra un ritmo a todas las partes del sistema. una seiral de
control separada
decide e.ntoncesqué pulso de reloj específicotendrá un
erectoen un regis-
tro particular. En tal sistema, los pulios de reloj debenser,
con¡untamente
con la señal de control, aplicadosá un, .o-pueit, AND pár" qu"
ra salida
de esta última se aplique al terminal cp d;l ."gi.f.o-r;;trado
gura 7-1. cuando la señal de control es 0, la saliáa en la Fi_
de la compuertaAND
será 0 y la información almacenadaen el registrop..Áun.cárá
sin cambiar.
Solamentecuando la señal de control 1, er pulso de reloj p".u.l fo, '{
la compuertaAND y llegará al terminal -u¡t
". cp pára.iru l" nu"uu información
s€ cargue al registro. Tal variable de controi se lllma terlÁinaL
de control
de carga.
El colocar una compuerta AND en.el camino de los pulsos
de reloj
significa que la lógica se ejecuta con pursos de reloj. Ei-ágr"gu,
compuer-
tas lógicas produce
.retardos_de propagaciónentre ér g"*?"a", ¿er prrl.o
maestro y las entradas de reloj de los flip-flops. para "sincronizarcomple_

I
Carga

Figura 7-2 Registro de 4 bits con ca¡ga en paralelo


sEc. 7-2

tamente un sistema es necesarioaseg¡rarseque todos los pulsos de reloj


REGISTROS269 tf
f
llegan al mismo tiempo a todas las entradas de todos los flip-flops de-tal
,rruLr".uque todas cambian simultáneamente. Al ejecutar lógica con pulsos
de reloj se introducen demoras variables que pueden sacar al sistema de
sincronlsmo. Por esta razón, es aconsejable(pero no necesariosiempre y
cuando la demorano se tenga en cuenta) aplicar pulsosde reloj directamen-
te a todos los flip-flops y controlar la operacióndel registrocon otras entra-
das, tales como las entradasS y ft de un flip-flop RS.
Un registro de 4 bits con un terminal de control de carga a base de
flip-flops ñs .. muestra en la Figura 7-2. El terminal cP del registro re-
ciüe pul.os sincronizadoscontinuos los cuales se aplican a todos los flip-
flops. El inversor en el camino de CP causa que todos los flip-flops se dispa-

Carga

}H
t.it
ir
ii{
l;1
l5 i

rti-
,li ¡
uti
Borrado l+
lir
¡t

Figura 7-3 Registro con carga en paralelo con flip-flops D $


rli

H
:3
270 R E G I S T R o Sc,o N T A D o R E SY U N I D A D D E M E M o R I A CAP, 7

ren por el flanco negativo de los pulsos entrantes. El propósito del inversor
es reducir la carga del generador de pulsos maestros. Eslo es debido a que
el terminal CP se conecta solamente a una compuerta (el inversor) en vez
de a las entradas de las cuatro compuertas qne .e hubieran podiáo nece-
sitar si las conexiones se hubieran hecho directamente a loi terminales
cie reloj de los flip-flops (marcados con pequeños triángulos).
El terminal de borrado (clear) o de puesta u ceio va a un terminal
especial en cada flip-flop a través de una compuerta separadora no inver-
sora (noninverting buffer gate). Cuando este terminal va a 0 el flip-flop
se borra asincrónicamente. La entrada de puesta a cero se usa p"ru il"rrui
al registro a ceros antes de la operación en cadencia. La entredá de puesta
a cero debe mantenerse en 1 durante las operaciones normales tempori-
zadas (ver Figura 6-14).
El terminal de carga pasa a través de una compuerta separadora (para
reducir la carga) y a través de una serie de compuértas ANb va a los-ter-
minales I y s de cada flip-flop. Aunque los pulsos de reloj están presentes
continuamente, en el terminal de carga que controla la óperación del re-
gistrc. Las dos compuertas AND y el inversor asociado con cada terminal
1 determinan los valores de ^R y s. si el terminal de carga es 0, ambos R
y s son cero, y no ocurrirá cambio de estado con ningún pulso de reloj.
Así, la señal del terminal de carga es una variable de controi la cual puedl +
prevenir cualquier cambio de información en el registro siempre qué esté
su señal en 0. Cuando el control de carga vaya a l-. las entradas 1, hasta
1., especificarán qué información binaria se carga al registro en el siguien-
te pulso de reloj. Para cada 1 que sea igual a 1, las entradas del flip-flop
c o r r e s p o n d i e n t e ss o n s : 1 , R : 0 . Para cada 1 que sea igual a 0, lás en-
t r a d a s d e l o s f l i p - f l o p s c o r r e s p o n d i e n t e ss o n S : 0 , n : 1 . Así, el valor de
la entrada se trasfiere al registro, si el terminal de carga es 1, el terminal
'Je borrado es 1, y el pulso de reloj pasa de 1 a 0. Este tipo de
trasferencia
se llama trasferencia de carga en paraLelo porque todos los bits se cargan
simultáneamente. Si la compuerta separadora asociada con la entrada de
carga se cambia a una compuerta inversor, entonces el registro se carga
cuando el terminal de carga es 0 y se inhibe cuando es 1.
un registro con-carga paralela puede ser construido con flip-flops D
como se muestra en la Figura 7-3. Los terminales de reloj y de borradó son
los mismos que antes. cuando el terminal de carga i, lu, entradas 1
s-etrasfieren al registro en el pulso siguiente de reloj. "." Cuando el terminal
de carga es 0, las entradas del circr.¡ito se inhiben y ios flip-flops D se car-
gan con su valor presente, manteniendo así el contenido del iegistro. La
conexión de realimentación en cada flip-flop es necesaria cuarráo se usa
del tipo D ya que el flip-flops tipo D no tiene una condición de entrada de
"no cambio". La entrada D determina el siguiente estado de la salida con
cada pulso de reloj. Para dejar la salida sin cambiar, es necesario hacer
la entrada D igual a la salida presente Q en cada flip-flop.

Configuración con lógica secuencial

Se trató en el Capítulo 6 que un circuito secuencial temporizado consiste


en un grupo de flip-flops y compuertas combinacionales. Como los resistros
Valor de estado siguiente

Registro
C ircuito
combinacional
Salidas

Figura 7-4 Diagrama de bloque de un circuito secuencial

es convenientealgunas
están disponiblesfácilmente como circuitos MSI,
un registro como parte d.e.un circuito secuencial'un dia-
-áá'Utoqrr"
veces emplear
de irn circuito secuencial que usa u¡ registro se muestra
;;;;" y las entradas externas
:;il risr;\-a. El estado presente del registro
y los valores. de las salidas
determinan el siguienle estaio del registro"
el siguiente estado
externas. Parte del ci."uito combinaciánal d-etermina
valor del estadodel circui-
y la otra parte generála. sulidas. El siguiente
óott un pulso de reloj' Si el registro
to combinacionalse cargaen el registro si el
te dJbe establecer a 1; de otra manera'
tiene un terminal ¿" li.gu,
el siguiente
registro no tiene t".-i.,"i á" ."rgu (como en la Figut&'i-'t\,
pulso.de reloj'
valor del estado será trasferido automáticamenteen cada puede
un circuito secuencial
La parte de ciicuito combinacionalde 5'
de losrnétodos discutidos en el capítulo
ser ejecutada por.""rq"i.t"
con ROM' o con trn arreglológico
Se puedeconstruir;;;;;*p";rtas.SSI
registro,es posible reducir-el diseño de un
o-ár"rrá¡i" tplnl.-ü.u"ao^un conectadoa un registro'
cicuito secuencialal de un circuitó "o-'bittu.ional
cuya tabla
EJEMPLO 7-I: Diseñar un circuito secuencial
de estadose lista en Ia Figura 7-5(a)'
42. una en-
La tabla de estado eJpecificados flip-f loPSA r Y
y' Ét tiguiente.estado e información de sa-
trada r y una
".t.uáa la tabla:
iidu ." o"bti.tt" directamentede
A,(t + l) : )(4, 6)
Ar(t + l) : )(1, 2,5,6)
y(Ap Az,x) : )(3, 7)
A" At y
Los valores de términos mínimos son para las salidas
presente y las variables de entrada' Las
r, i". ."^i"s son el estado
para el siguiente v la salida pueden ser simpli-
il;;io".;
"*iráo
ficadaspoi medio de maPasPara dar:
At(t + l): Aé'
A z Q+ l ) : Az@x
l:Azx
EI diagramalógicose muestraen la Figura 7-5(b)'
271
Estado Entra Estado
presente da siguiente Salrda
At A2 x At A2 v
000 00 0
001 0l 0
010 0l 0
011 00 I
100 l0 0
l0l 0l 0
ll0 ll 0
lll 00 I

(a) Tabla de estado


(b) Diagrama lógico

Figura 7-b Ejemplo de configuración de un circuito secuencial

Tabla de verdad de la ROM

Di¡ección Salidas
r23 123
000 000
001 010
010 010
0ll 001 I I
100 100
l0l 010 2 2
rl0 rl0
lll 001
3 3

Figura 2-6 Circuitosecuencial


queusaun registroy una ROM

EJEMPLO Z-2: Repítase el Ejemplo T_1 p€ro úsese ahora


una ROM y un registro.
La ROM puede usarse para configurar el circuito combina_
cional y el registro suministiará los nfo-nops. El número
de en-
tradas de la RoM es igual ar número ae nii-rtops más
el número
de ent¡adas externas. El número de saridas de ia RoM
es igual
al nilmero de flip-flops más el número de salidas externas.
En este
caso se tienen tres entradas y tres salidas de ra RoM;
de tar for-
ma que su tamaño puede ser de g x 3. La configuración
se muestra
en la Figura 7-6. La tabla de verdad de la RdM
es idéntica a la
tabla de estado."o." .,entradas,,
:":t_4o presente" y especifican-
do la dirección de la RoM y él "estado.ig,ri".,tr;y
las,,salidas,,
que especifican las salidas de la RoM. Los
valores del estado si_
g'iente deben ser conectadosde las salidas
de la RoM a las en_
tradas del registro.

7-3 R E G I S T R ODSE D E S P L A Z A M I E N T O
Un registro capaz de desplazar su información binaria
hacia la izquierda
o hacia la derecha se llama registro de desplazamiento.
ia confieuración
272
sEc.7-3 R E G I S T R OD
SE DESPLAZAMIENTO
273

lógica de un registro de desplazamiento consiste en una cadena de flip-


flops conectados en cascada, con la salida de un flip-flop conectado a ia
entrada del siguiente. Todos los flip-flops reciben un pulso de reloj común
el cual causa el deplazamiento de un estado al siguiente.
El registro de desplazamiento más sencillo es aquel que usa solamente
flip-flops como se muestra en la FiguraT-i.La salida Q de un flip-flop dado,
se conecta a la entrada D del flip-flop a la derecha. Cada pulso de reloj
desplaza el contenido del registro un bit en posición a Ia derecha. La en-
trada seríal determina qué va en el flip-flop de la extrema izquierda duran-
te el desplazamiento. La salida seriaL se toma de la salida dei flip-flop de
la extrema derecha después de la aplicación de un pulso. Aunque este re-
gistro desplace su contenido a la derecha, si se voltea la página se observa
que el registro desplaza su contenido a la izquierda. Así un registro de
desplazamiento unidireccional puede funcionar como un registro de des-
plazamiento a Ia derechao a Ia izquierda.
El registro en la F'igura 7-7 desplaza un contenido con cada pulso de
reloj durante el flanco negativo del pulso de transición. (Esto es indicado
por el pequeño círculo asociado con la entrada de reloj en todos los flip-
flops.) Si se requiere controlar el desplazamiento de tal manera que ocurra
solamente con ciertos pulsos pero no con otros, se debe controlar el ter-
m i n a l C P d e l r e g i s t r o . S e m o s t r a r á m á s a d e l a n t e , q u e l a s o p e r a c i o n e sd e
desplazamiento pueden ser controladas a través de las entradas D de los
flip-flops en vez de a través del terminai CP. Si se usa el registro de la
Figura 7-7 se puede controlar el desplazamiento por medio de una com-
puerta AND como se muestra a continuación.

Trasferencia en serie

Se-,dice que un Si;!e-¡4e digital operq en modo serie cuando la información


seJrasfieie.y,g.e ^á"ipu1á-un bit ea cadá iiempo. EI conte"iaó a" un"re-
gistro se trasfiere a otro desplazando los bits de un registro al siguiente.
La información se trasfiere bit a bit, uno cada vez desplazando los bits
del registro fuente hacia el registro de destino.
La trasferencia en serie de la información del registro A al registro B
se hace con registros de desplazamiento, como se muestra en el diagrama
de bloque de la Figura 7-8(a). La salida serial (S0) del registro A va a la
entrada serial (SI) del registro B. Para prevenir la pérdida de información
almacenada en el registro fuente, al registro A se le hace circular su infor-
mación conectando la salida serial a su terminal de entrada serial. El con-

Entrada Salida
serial serial

Figura 7-7 Registro de desplazamientcr


274 R E G I S T R O SC,O N T A D O R E Y
S U N I D A DD E M E M O R I A CAP. 7

tenido inicial del registro B es desplazado hacia afuera a través de su


salida serial y se pierde a no ser que se desplace a un tercer registro de
desplazamiento. La entrada de control de desplazamiento determina cuán-
do y cuántas veces se desplazan los registros. Esto se hace por medio de
la compuerta AND que permite pasar los pulsos de reloj a Ios terminales
CP solamente cuando el control de desplazamiento es 1.
Supóngase que los registros de desplazamiento tienen cuatro bits cada
uno. La unidad de control que supervisa la trasferencia debe ser designada
de tal forma que habilita los registros de desplazamiento por medio de la
señal de control, para una duración de tiempo fija igual a cuatro pulsos
de reloj. Esto se muestra en el diagrama de tiempo de la Figura 7-8(b). La
señal de control de desplazamiento se sincroniza con el reloj y cambia su
+
valor justamente después del flanco negativo del pulso de reloj. Los si-
guientes cuatro pulsos de reloj encuentran la señal de control de despla-
zamiento en el estado 1, de tal manera que Ia salida de la compuerta AND
conectada a los terminales CP, producen los cuatro pulsos Tr, Tr, Tz y
?r. El cuarto pulso cambia el control de desplazamiento a 0 y los registros
d e d e s p l a z a m i e n t os e i n h a b i l i t a n .
Asúmase que el contenido binario de A antes del desplazamiento es
1011 y que el de B es 0010. La trasferencia en serie de A a B ocurrirá en

Reloj

Cont¡ol de
desplazamiento

(a) Diagrama de bloque


I
I

I
Cont¡ol de
d6plazamiento

* [LfLfLft
Tl T2 T3 T4

(b) Diagrama de tiempo

Figura 7-8 Trasferencia en serie del registro A al registro B


SEC.7-3 R E G I S T R OD
SE DESPLAZAMIENT2
O7 9

muestra en la Figura 7-10. El bit de arrastre del sumador completo se tras-


fiere al flip-flop D. La salida de este flip-flop se usa entonces como arrastre
de entrada para el siguiente par de bits significativos. El contenido de los
dos registros de desplazamiento se desplaza a la derecha por un período
de un tiempo palabra. Los bits de suma de Ia salida S del sumador comple-
to pueden ser trasferidos a un tercer registro de desplazamiento. Des-
plazando la suma a A mientras que los bits de A se desplazan hacia el ex-
terior, es posible usar un registro para almacenar el sumando y los bits
de suma. La entrada serial (SI) del registro B es capaz de recibir un nú-
mero binario nuevo mientras que los bits de suma se desplazan hacia afue-
ra durante la suma.
La operación del sumador en serie es como sigue. Inicialmente, los
registros A almacenan el sumando, el registro B almacena el otro suman-
do y el flip-flop de borrado se lleva a 0. Las salidas seriales (SO) de A y B
suministran un par de bits significativos para el sumador completo en r y
y.La salida Q de los flip-flops da el arrastre de entrada z. El control de
desplazamiento a la derecha habilita ambos registros y el flip-flop del bit
de arrastre; de esta manera, en el siguiente pulso de reloj ambos registros
se desplazan a la derecha, el bit suma de S entra en el flip-flop de la ex-
trema izquierda de A, y el arrastre de salida se trasfiere al flip-flop Q.Ei
control de desplazamiento a Ia derecha habilita los registros por un núme.
ro de pulsos de reloj iguales al número de bits en los registros. Para cada
pulso de reloj sucesivo, se trasfiere un bit suma nuevo a A, un nuevo bit
de arrastre a Q y ambos registros se desplazan una vez a la derecha. Este
proceso continúa hasta que el control de desplazamiento a la derecha se

Desplazar
de¡echa
ap

Figura 7-1O Sumador en serie


2& REGISTRoS
C,o N T A D o R E S
Y U N I D A DD E M E M o R I A CAP.7

inhabilita. Así, se lleva a cab. la suma pasando cada par


de bits coniu.-
lamente con ei arrastre previo a través de un circuitci sumador
compieto
sencillo y trasfiriendo ia suma, un bit a ia vez, al registroA.
s i e l n ú m e r o n u e v o t i e n e q u e a g r e g a r s ea i c o n t e n i d o d e l r e s i s t r o
;{.
este número debe ser trasferido primero en serie al registro É.
Repitienclo
el proceso u.a vez más se agregará el segundo númeio ar ,úmeri
previo
en A.
comparando el sumador en serie con el sumador en paralelo
descritr.r
e n . l a s e c c i ó n 5 - 2 , s e n o t a n l a s s i g u i e n t e s d i f ' e r e n c i a s .E l
sumador en pa-
ralelo debe usar re.gistros con capacidad de carga en pararelo,
que el sumador serial usa registroi de desplazam]ento.
mientras
b-l-,rú.¡".n cie cir-
&
cuitos del sumador completo en er sumadoi en paralelo es igual
al númercr
de bits en los números binarios, mientras qrr" él sumador
en serre requie-
re soiamente un ci¡cuito sumador completo y un flip-flop para
el arrastre.
I'')xcluyendo los registros, el sumado. er.rpaialelo
es un'circuito combina-
cional, mientras que el sumador en serie es un circuito
secuencial. El cir-
cuito secuencial en el sumador serial consiste en
un circuito sumador
completo y un flip-flop que acumula el arrastre de salida.

I
Esta es una ope-
r.ació.nen serie típica porque ei resurtado de una operaci¿"
de un tiempo
de bit, puede depender no soramente en las entradai p.".."t..
sino en Ias
entradas previas.
Para mostrar que las operaciones de un tiempo der bit
. en los computa-
d . o r e se n . s e r i e r e q u i e r e n u n c i r c u i t o s e c u e n c i a l , s e d i s e ñ a r á
el sumador se_
rial considerandoel circuito secuencial.

EJEMPLO 7-3.. Diseñar un sumador en serie usando el pro-


cedimiento de lógica secuencial.
Primero se debe estipular que dos registros de desplazamien-
to están disponibles para almacenar los números binaiios que
se
agregan serialmente. Las salidas seriales de ios registros
se de-
signan con las variables r y -1. El circuito secuencia"iqu"-."
rru u
diseñar no incluirá registros de desplazamiento,se colocaran
mas
tarde para mostrar la unidad completa. El circuito secuenciar
adecuado tiene dos entra-das, x y
,- que suministran un par de
b.its s^ignificativos, una salida s que"genera los bits ,;-u
t ót rtip_
flop Q para almacenar el arrastre. EI estado p..runt,
áu"q rrr,ni-
nistra.el valor presente del arrastre. El pulso áe reloi q.r,
airpturu
el registro habilita el flip-flop e para cargar el arrástre
nuevo.
Este arrastre es usado con el siguiente par de bits en x y y.
La
3!13 de estado que especifica el circuito secuenciar se da en ra
Tabla 7-3.
El. estado presente de Q es el valor presente del arrastre (car_
ry) El arrastre presente en Q se ugrega conjuntamente
con Ias
entradas r y y para producir el bit suáa en la salida S. EI
siguien_
te estado de Q es equivalente al arrastre de salida. Nótese que
las entradas de la tabla de estado son idénticas a ras
entradas
en la tabla de verdad del sumador completo excepto que el arras-
tre de entrada (input carry) está ahorá presente en el estado
o
"tabla 7-3 Tabla de excitación para rrn sumador en serie

Estado Estado FJip-flops


presente Entradas siguiente Salida de entrada

a JQ KQ

0 000 0 OX
0 010 I 0x
0 100 I
I OX
0 lll 0 IX
I 00Ó I X1
I 0ll 0 XO
I i0l 0 XO
I lll I XO

y el arrastre de salida (output carry) está ahora en el estado


siguiente de Q.
Si se usa un flip-flop D para Q, se obtiene el mismo circuittl
que el de la Figura 7-10 debido a que los requerimientos de la en-
trada D son los mismos que los valores del siguiente estado. Si
se usa un flip-flop JK paru Q, se obtienen los requerimientos de
excitación de entrada listados en la Tabla 7-3. Las tres funciones
de Boole de interés, son las funciones de entrada del flip-flop para
JQ v KQ y la salida S. Estas funciones se especificanen la tabla
de excitación y pueden ser simplificadas por medio de los mapas:

Figura ?-11 Segunda forma de un sumador en serie

2Bl
JQ: ,y
KQ:x'y':(x+y)'
S:x@y@e

como se muestra en la Figuru 7-!r, el circuito consisteen tres


compuertasy un flip-flop JK. Los dos registrosde desplazamiento
se incluyen también en el diagrama para mostrar el sumador com-
pleto en serie. Nóteseque la salida s es una función no solamente
de r y y sino también del estadopresentede Q. EI siguienteestado
de Q es una función de valores presentesde r y ), que resultan de
las salidas en serie de los registrosde desplazamiento.

7-4 C O N T A D O R E SD E R I Z A D O

Los contadoresMSI vienen en dos categorías:contadoresde rizado y con-


tadoressincrónicos.En un contadorde rizado, la transiciónde salida del
flip-flop sirve como fuente para disparar los otros flip-flops. En otras pala-
bras las salidas cP de todos los flip-flops (con excepciónde la primeraI
se disparan no por los pulsos de entrada sino por la transició. q.te ocurre
en los otros flip-flops. En un contador sincrónico, los pulsos de entrada se
aplican a todas las entradas CP de todos los flip-flops. El cambio de estado
de un flip-flop en particular es dependientedel estado plesente de otros
flip-flops. Los contadoresMSI sincrónicosse discuten en la siguiente sec-
ción. Aquí se presentan algunos contadorescomunes de rizado MSI v se
explica su operación.

Contador binario de rizado

un contadorbinario de rizado consisteen una conexiónen serie de flip-


flops complementarios(tipo 7 ó JK), con Ia salida de cada flip-flop
"o.r."-
tado a la entrada cP del siguiente flip-flop de mayor orden. El ?tip-nop
que almacena el bit menos significativo recibe los pulsos de cuenta ,1"
trada. EI diagrama de un contador de rizado binaiio de 4 bits se muestra"t--
err la F-igura7-12. Todas las entradas J y K son iguales a l. El pequeñ,r
círculo en la entrada CP indica que el flip-flop se complementaduiante Ia
transición del flanco negativoo cuandr¡la salida a la cual está conectada

Figura 7-12 Contador binario de rizado de 4 bits

282
.E
r¡t
Tabla 7-4 Secuencia de cuenta para un contador binario de rizado
i1
i:
I
Secuencia de cuenta Condiciones para complementar los flip-flops

A4 A3 A2 AI

0000 ComplementarAt
0001 ComplementarAt A . l irá de 1 a 0 y complementaA2
0010 ComplementafA,
00ll ComplementarA, A l irá de 1 a 0 y complementa A2 ;

0r00
f-\^l ComplementarA,
A 2 irá de 1 a 0 y complementa.4,3

0 I 0 -'lo C o m p l e m e n t a r A , A l irá de 1 a 0 y complementa A,


0l f Complementar At
0lll Complementar At A I irá de 1 a 0 y complemerti: 1,, ;
I A 2 i r á d e 1 a 0 y c o m p l e r n e r i i aA 1 :

^A^l
1000 y así sucesivamente
A3 irá de 1 a 0 y complemenra,4,

va de 1 a 0. Para entender la operación de un contador binario, se debe'


hacer referencia a la secuenciade cuenta dada en la Tabla 7-4. Es obvio
que el bit de más bajo orden A, debe ser complementado con cada pulso
de cuenta. Cada vez que A, va de 1 a 0, este complementa Ar. Cada vez
q u e 4 2 v a d e 1 a 0 , e s t e c o m p l e m e n t a , 4 3 y a s í s u c e s i v a m e n t e .P o r e j e r n -
plo. tómese la transición desde la cuenta 0111 hasta 1000.Las flechas en
Ia tabla enfatizan las transiciones en este caso. A, se complementa con
el pulso de cuenta. Como .41 va de 1 a 0, este dispara 42 y lo complemen-
ta. Como resultado, A2 va de 1 a 0, lo cual a su turno complementa A,. A.¡
va de 1 a 0, Io cual complementa Ar. La transición de salida de A.,,.si se
conecta al siguiente estado, no dispara el siguiente flip-flop ya que ésta va
desde 0 hasta 1. Los flip-flops cambian cada uno a su tiempo en rápida
cadencia y la señal se propaga por el contador a manera de rizo. Los conta-
d o r e s d e r i z o s e l l a m a n a l g u n a s v e c e s c o n ¿ o d o r e sa s i n c r ó n i c o s .
Un contador binario con una cuenta invertida se llama un contador
bínario decreciente. En este contador la cuenta binaria se disminuye en 1
con cada pulso de cuenta de entrada. La cuenta de un contador decrecien-
te de 4 bits comienza con el binario 15 y continúa con las cuentas binarias
7 4 , 1 , 3 ,1 2 , , 0 p a r a p a s a r d e n u e v o a 1 5 . E l c i r c u i r o d e l a F i e u r a T - 1 2f u n -
c i o n a r á c o m o u n c o n t a d o r b i n a r i o d e c r e c i e n t es i l a s s a l i d a s s e t o m a n d e
los terminales complementados Q' de todos los flip-flops. Si sólo están dis-
ponibles las salidas normales de los f lip-flops, el circuito debe ser modifi-
cado ligeramente de la forma descrita a continuación.
Una Iista de una secuencia de cuenta de un contador binario decre-
ciente muestra que el bit de menor orden debe ser complementado con
cada pulso de cuenta. Cualquier otro bit en la secuenciaes complementa-
do, si el bit previo de menor orden va de 0 a 1. Por tanto, el diagrama de
un contador binario decreciente se ve de la misma forma que el de la Figu-

283
2A REGISTROS
C,O N T A D O R E Y
S UNIDADDE MEMORIA CAP. 7

ra 7-r2, teniendo en cuenta que todos los flip-flops se disparan con ei


flanco positivo del pulso. (EI pequeñocírculo en la entrada CP debeestar
ausente.) Si se usan flip-flops de disparo por flanco negativo, entonces la
entrada cP de cada flip-flop debe estar conectadaa Ia salida Q' del flip-
flop anterior. Entonces cuando Q vaya de 0 a 1, Q, irá de 1 a 0 y se comple-
mentará el siguienteflip-flop como se requiere.

Contador BDC de rizado

un contador decimal sigue una secuenciade diez estadosy regresaa 0 des-


pués de Ia cuenta de 9. Tal contador debe tener por Io menos cuatro flip-
+
flops para representar cada dígito decimal, como un dígito decimal se
representapor medio de un código binario con cuatro bits al menos. La
secuenciade estadosen un contador decimal se deduce del código binario
usado para representarun dígito decimal. Si se usa BDC, la secuenciade
estadoses como se muestra en el diagrama de estado de la Figura ?-18.
Esto es similar a un contador binario, excepto que el estado despuésde
1001 (código para el dígito decimal 9) es 0000 (códigopara el dígilo deci-
mal 0).

@-o-@-@-@
ir
it
@-@-@-@*@
Figura 7-13 Diagrama
de estado
de un contador
BDCdecimal

El diseño para un contador de rizado decimal o para cualquier conta-


dor de rizado que no siga la secuenciabinaria no es un procedlmientodi-
recto. Las herramientasformalesdel diseño lógico puedenservir solamente
com-ouna guía. Un producto satisfactoriamenteacabadorequiere la inge-
nuidad e imaginación del diseñador.
El diagrama lógico de un contador de rizado BDC se muestra en la
Figura 7-14.* Las cuatro salidas se designanpor el símbolo Q con un sus-
crito numérico igual a la cargabinaria del bit correspondienteen el código
BDq Los flip-flops se disparan en el flanco negativo,es decir, cuando la
señal cP va de 1 a 0. Nóteseque la salida de Q' es aplicada a las entradas
cP de ambas Qz y Qs y Ia salida de Qz se aplica a la entrada cp de
Q+. Las entradasJ y K se conectana una señal permanentede 1 a las sa-
lidas de los flip-flops como se muestra en el diagrama.
un contador de rizado es un circuito secuencialasincrónicoy no pue-
de ser descrito por ecuacionesde Boole desarrolladaspara desóribir cir-
cuitos secuencialestemporizados.Las señales que afectan la transición
*Este
circuito es similar al CI tiDo 7490.
Figura 7-14 Diagrama lógico de un contador de rizado BCD

del flip-flop dependen del orden en el cual cambian de 1 a 0. La operación


para las
á.i .o"tua". puede ser explicada por una lista de condiciones
dl los flip-flops. Estas condiciones se deducen del diagrama
irarrriciones
Iógico y del conocimiento de cómo opera un flip-flop Jll. Téngase en cuenta
:\ y se po-
cu"attaola entrada CP va de 1 a 0, el flip-flop se pone a uno si J
ne a cefo si K:1, se complementa s i J : K - - 1 , y s e d e j a s i n c a mbiosiJ:
K--0. Las siguientes soi las condiciones para la transición de estado de
cada flip-flop:

1. Qr se complementa en el flanco negativo de cada pulso de cuenta.


2. Q2 se complementa si Q, :0 y Q' va de I a 0' Q: se borra si Qt
:1YQr vadela0'
3. Qn se complementa cuando Qz va de 1 a 0'
4. Qe se complementa cuando QnQ,r : 11 y Qr va de 1 a 0' Qt se bo-
rrasiQ, óQ2 es0YQr vadela0'

Para verificar que estas condiciones resultan en Ia secuencia reque-


rida por un contadoi de rizado BDC, es necesario verificar que las transi-
Pulsos
de conteo L-rL-n-[
Ql

n,o o [--l-ln o IT--'_lo -r--l

Q4

o o o -j--!---qji I
Or o o tg

Figura?-lsDiagramadetiempoparaelcontadordecimaldelaFiguraT-14

285
Qs Qa Q2 Q1 Qa Q¿ Qz Qt

I o 2 dígito lo
I
dígito too dígito

Figura 7-16 Diagrama de bloque de un contador BDC decimal de 3 décadas

ciones del flip-flop sigan ciertamente una secuencia de estados como se


especifica por el diagrama de estado de la Figura ?-13. Otra manera de ve-
rificar la operación del contador es deducir el diagrama de tiempo para
cada flip-flop de las condiciones listadas anteriormente. Este diagrama
se muestra en la Figura 7-15, con los estados binarios listados después de
cada pulso de reloj. Q1 cambia de estado después de cada pulso de reloj.
Q2 se complementa cada vez gue Qr va de I a 0 durante el tiempo en que
Q, :0. Cuando Q¡ se vuelve 1, Q2 permanece en 0. Qn se complementa
cada vez eue Qz va de 1 a 0. Q* permanece en puesta a cero durante el
tiempo en que Q, ó Q, es 0. Cuando arnbas Qz y Q* se convierten en 1,
Q, se complementa cuando Q, vaya de I a 0. Q¡ se pone a cero en Ia
siguiente transición de Q, . .l
EI contador BDC de Ia Figura 7-14 es un contador en década, ya que
cuenta desde 0 hasta g. Para contar en decimal de 0 hasta 99 se necesitan
dos contadores en década. Para contar desde 0 hasta 999 se necesitan tres
contadores en década. Los contadores multidécada pueden construirse
conectando ios contadores BDC en cascada, uno para cada década. Un
contador de tres décadas se muestra en la Figura 7-16. Las entradas de
la segunda y tercera décadas vienen de Q* de la década previa. Cuando
Qs en una década va¡ra de 1 a 0, esta dispara la cuenta para la década
contigua de mayor orden mientras que su propia década va de g a 0. Por
ejemplo, Ia cuenta siguiente a 399 será 400.

7.5 CONTADORES SINCRONICOS

Los contadores sincrónicos se distinguen de los contadores de rizado en


que los pulsos de reloj se aplican a las entradas o terminales cP de todos
los f'lip-flops. El pulso común dispara todos los flip-flops simultáneamente
en vez de una a la vez en cadencia como en un contador de rizado. La de-
cisión de cuándo se debe o no complementar un flip-flop se determina de
los valores de las entradas J y K en el momento del pulso. Si J:K:0, el
f l i p - f l o p p e r m a n e c es i n c a m b i o . S i J : K : I e l f l i p - f l o p s e c o m p l e m e n t a .
Un procedimiento de diseño para cualquier tipo de contador sincró-
nico fue presentadoen la Sección 6-8. El diseño de un contador binario de
3 bits se llevó a cabó en detalle y se ilustra en la Figura 6-30. En esta sec-
ción se presentan algunos contadores típicos MSI sincrónicos y se explica
su operación. Se debe tener en cuenta que no hay necesidadde diseñar un
contador si se puede encontrar en la forma de CI comercial.
286
Contador binario

El diseño de contadores binarios sincrónicos es tan simple que no es ne-


cesario pasar por un proceso de diseño lógico secuencial riguroso. En un
contador binario sincrónico, se complementa el flip-flop en la posición de
menor orden con cada pulso. Esto significa que las entradas J y K deben ,
mantenerse en la lógica 1. un flip-flop en cualquier otra posición se com-
plementa con un pulsq siempre y cuando todos los bits en las posiciones
d" tnenot orden sean iguales a 1, porque los bits de menor orden (cuando
están dados en 1) cambiarán a 0 en el siguiente pulso de cuenta. La cuen-
ta binaria dice cuando el siguiente bit de mayor orden debe ser comple-
mentado. Por ejemplo, si el estado presente de un contador de 4 bits es
A ABAI,A:: 0011, la siguiente cuenta será 0100. At se complementa
siempre. 4, se complementa porque el estado presente de Ar:1. A¡ se
complementa p o r q u e e l e s t a d o p r e s e n t e d e A 2 A r : 1 1 . P e r o A r n o s e com-
plementa por el estado presentede A|A2A¡:011, Io cual no dará una con-
dición de solo unos.
L o s c o n t a d o r e s ' b i n a r i o ss i n c r ó n i c o s t i e n e n u n p a t r ó n r e g u l a r y p u e d e n
fácilmente ser construidos con flip-flops conrplementados y compuertas'
'1
EI patrón regular puede verse claramente del contador de bits ilustrado
en ia FiguruT-ll. Los terminales CP de todos los flip-flops están conecta-
áár á fuente de pulsos de reloj común. La primera etapa A' tiene J y K
igual a"ü1 si el contadbr está habilitado. Las otras entradas J y K son iguales
a 1 si todos los bits previos de menor orden son iguales a 1 y se habilita la
cuenta. La cadena de compuertas AND generan la lógica necesaria para
Ias entradas J y K en cada etapa. El contador puedeexpandirsea cualquier
número de etapas; cada etapa contendrá un flip-flop adicional y una com-
puerta AND que da una salida de 1si todas las salidas de los flip-flops
previos son 1.
Nótese que los flip-flops se disparan con el flanco negativo del pulso.
Esto no es esencial aquí como lo fue en el contador de rizo. El contador po-
dría haberse disparado en el flanco positivo del pulso'

Contador binario creciente-decreciente

E n u n c o n t a d o r b i n a r i o s i n c r ó n i c o c r e c i e n t e - d e c r e c i e n t ee l f l i p - f l o p e n l a
posición de menor orden se complementa con cada pulso. un flip-flop en
iualquier otra posición se complementa con un pulso siempre y cuando to-
dos los bits de menor orden sean iguales a cero. Por ejemplo, si el esta-
d o p r e s e n t e d e u n c o n t a d o r b i n a r i o d e 4 b i t s c r e c i e n t e - d e c r e c i e n t ee s
A l A 3 A 2 A t : 1 1 0 0 , l a c u e n t a s i g u i e n t e s e r á 1 0 1 1 .A , s i e m p r e s e c o m p l e -
menta. A, se complementa porque el estado presente de A, :0. A¡ se
complementa porque el estado presente de ArAl :00. Pero Aa no se com-
plementa porque el estado presentede A, A2At:100, el cual no es una
condición de soio ceros.
U n c o n t a d o r b i n a r i o c r e c i e n t e - d e c r e c i e n t ep u e d e s e r c o n s t r u i d o c o m o
se muestra en Ia Figura 7-17, excepto que las entradas de las compuertas
AND deben venir de las salidas complementadasde Q' y no de las salidas
287
_i

t- 6.ú

c
a

r.
¡-
!

<,J

288
o

o
4

(,
@

¡.
L

b!

6:x
< úr ;o j

289
2 9 O R E G I S T R OCSO, N T A D O R Y
E SU N I D A DD E M E M O R I A C A P .7
t
l
normales Q de l.s flip-flops previos. Las dos operaciones se pueden
com-
binar en un circuito. un contador binario d" contar hácia arriba o
hacia abajo se muest¡a, en la Figura T-1g. Los" ufiip-flops pu, r empleados en este
circuito pueden considerarse como flip-flops JK coi los terminales J
v K
unidos entre sí. cuando la entrada del cóntrol creciente es 1, el circulio
cuenta hacia arriba, ya que las entradas ? se determinan a partir de los
valores previos de las salidas nori:iales en
e. cuando la entráda del con-
trol decreciente es 1, el circuito contará hácia abajo, ya que las salidas
complementadas Q' determinan los estados de las eniradás ?'. cuando
a m b a s s e ñ a l e s c r e c i e n t e y d e c r e c i e n ú es o n 0 , e l r e g i s t r o n o c a m b i a
de es-
t a d o p e r o p e r r n a n e c ee n l a m i s m a c u e n t a .

Contador BDC

un contador BDC cuenta en binario decimal codificado desde 0000 hasta


1001 y de vuelta a 0000. Debido al regreso a 0 después de la cuenta
de g,
un contador BDC no tiene un patrón regular como el contador binario
di-
recto. Para diseñar el circuito de un contador sincrónico BDC es necesa-
rio pasar por un procedimiento de diseño como el discutido en Ia
Sección
6-8.
L a s e c u e n c i ad e c u e n t a d e u n c o n t a d o r B D C s e d a e n l a T a b l a 7 - 5 . L a
excitación para los flip-flops ? se obtienen de la secuencia de cuenta.
Una
salida y se rnuestra también en la tabra. Esta salida es igual a
1 cuanclo
el contador de estado presente es 1001. De esta manera,
v'p.,"de habilitar
la.cuenta-de
-la siguiente década de mayor orden mientias que el mismo
pulso cambia la presente década de 1001 a 0000.
Las funciones de entrada del flip-flop de la tabla de excitación pueden
ser simplificadas por me_diode los mapár. Los estados sin
usar pára los
términos mínimos 10 a 1b se toman como términos de no importa.
Las fun-
ciones simplificadas se listan a continuación:

TQt: I
rQz: QáQ'
TQq: QzQt
TQa: QaQt + QoQrQt
y : QeQt

El circuito puede dibujarse fácilmente con cuatro flip-flops z, cinco com-


puertas AND y una compuerta OR.
Los contadores sincrónicos BDC pueden conectarse en cascada para
lbrmar un contador para los números decimares de cualquier longitud. La
c o n e x i ó n e n c a s c a d as e h a c e c o m o e n I a F i g u r a T - 1 6 e x c e p t o q u e l a s a l i d a
1,
debe ser conectada a la entrada de cuenta" de la décadá siguiente de má-
vor orden.
Tabla 7-5 Tabla de excitación para un contador BDC

Secuencia de cuenta Entradasdel flip-flop Arrastre de salida

Qa Qo Qz Qt TQa TQo TQz TQt

0000 0001 0
0001 00ll 0
0010 0001 0
00ll 0lll 0
0100 0001 0
0l0l 0011 0
0ll0 0001 0
0lll llll 0
1000 0001 0
l00l 1001 I

Contador binario con carga en paralelo

Los contadores usados en los sistemas digitales a menudo requieren una


condición de carga en paralelo para trasferir un número binario inicial
antes de la operación de conteo. La Figura 7-19 muestra el diagrama lógi-
co de un registro que tiene una característica de carga en palalelo y puede
operar también como un contadol.* La entrada de control de carga, cuan-
do es igual a 1, inhabilita la secuencia de cuenta y causa la trasf'erencia
de datos 1' hasta 1., a los flip-flops 41 hasta Aa respectivamente. Si la
entrada de carga es 0 y la entrada del control de cuenta es 1, el circuito
opera como un contador. Los pulsos de reloj causan entonces cambios del
estado de los flip-flops de acuerdo a la secuencia de cuenta binaria. Si
ambas entradas de control son 0, los pulsos de reloj no cambian el estado
del registro.
El terminal de salida del arrastre se convierte en 1 si todos los flip-
flops son iguales a l mientras se habilita Ia entrada de cuenta. Esta es una
condición para complementar los flip-flops que almacenan el bit siguiente
de mayor orden. Esta salida es útil para expandir el contador a más de
cuatro bits. La velocidad del contador se aumenta si se genera el arrastre
directamente de las entradas de todos los flip-flops en vez de ir a través
de una cadena de compuertas AND. De manera similar, cada flip-flop se
asocia con una compuerta AND que recibe todas las salidas de los flip-
flops anteriores diréctamente para determinar cuándo el flip-flop debe
ser complementado.
La operación del contador se resume en la Tabla l-6. Las cuatro en-
tradas dé control: borrado, CP, carga y cuenta determinan el siguiente
estado de salida. La entrada de borrado es asincrónica y cuando ésta es
0, causará que el contador sea puesto a cero, independientemente de la
presencia de los pulsos de reloj de otras entradas. Esto se indica en la
*Esto
es similar pero no idéntico al CI tipo 74161.
292 REGISTRO
CSO,N T A D O RYE S
U N I D A DD E M E M O R I A C A P ,7

tabla por medio de las entradas X, Ias cuales sirnbolizan las condiciones
de no_importa para las otras entradas, bien sea que su valor sea 0 ó 1. La
entrada de borrado debe ir al estado de 1 para Las operaciones temporiza-
das listadas en las siguientes tres entradas en ia tabla. con las eniradas
de carga y, cuenta iguales a 0, las salidas no cambian bien sea que se apli-
que un pulso en el terminal CP o no. ttna entrada.de carga
d e 1 - c a u s au n a
trasf'erencia de las entradas /1 a 1., al registro durant'e el flarrco posi_
ti.'o de un pulso de entrada. La información de entrada se carga a
un re-
giritro a pesar del valor del terminal de cuenta, porque la entracla
de cuenta
se inhibe cuando el terminal de carga es 1. Sl ei terrninal de cuenta se
mantiene er.r 0, Ia entrada de cuenta controla la operación del contador.
l,as salidas cambia' a Ia siguie'te cuenta binaria, en la transición
dei
flanc'positivo de cada pulso de reloi, pero no ocurre ningún cambio
de
estadc si la entrada de cuenta es 0.
El contador de 4 bits mostrado en la Figura 7-19 puede encapsularse
en un ci. Se necesitan dos cI para la construcción clé un contador
de g
b i t s : - c u a t r o c I p a r a u n c o n t a d o r d e 1 6 b i t s y a s í s u c e s i v a m e n t e .E l a r r a s -
tre de salida de u;: cI debe ser conectadoal ierminal de cuenta del cI que
almacena los cuairo bits siguientes de mayor orden del contador.
Los contadores con la característica áe carga en paralelo que tienen
un número especifico de bits son muy útiles en el disóño de ioi sistemas
digitales. Más tarde se tratarán como registros con carga y característi,
cas de incremento. La función de incremento es u.ru op"ru"ión que agrega
1 al contenido presente del registro. Al habilitar el control de cuentá
d.-u-
rante el período de un pulso de reloj. er contenido del registro
se puede
incrementar en 1.
un contador con- carga en paralelo puede ser usado para generar cual-
quier número deseable de secuencias de cuenta. un co'lador
de r\ módu-
los (abreviado en inglés mod N) es un contador que pasa por una secuencia
repetida de N cuentas. Por ejemplo, un contadór binarió de 4 bits
es un
contador de 16 módulcrs(mod-16 counter). Un contador BDC es un conta_
d o r d e 1 0 m ó d u l o s ( m o d - t O c o u n t e r ). E n a l g u n a s a p l i c a c i o n e s , s e p u e d e .
no estar interesado ccn ios ly' estados particulare. qúe uru el contaáor
de
\' ¡nódulos. Si este es el caso, entonce; el contador con carga en paralelo
puecte usarse para co;rstruir cualquier cc¡ntador de l/ módulos, siendo
ly'
c'ralquier valor escogirio. Esto se explica en el siguiente ejemplo.

EJEMPLa z-4: construir un contador de 6 módulos usando


e l c i r c u i t o M S I e s p e c i f i c a d oe n l a F i g u r a 7 _ l g .
La Figura 7-20 muestra cuatro maneras en las cuales un con-
tador con carga en paralelo puede usarse, para generar una
se_
cuencia de seis cuentas. En cada caso el contro-l de cuenta se
lleva a 1 para habilitar la cuenta por medio de los pulsos en
la
entrada cP. Se usa también el hecho de que el control de
carga
inhibe la cuenta y que la operación de borrado es independiente
áe
otras entradas de control.
_ La compuerta AND en la Figura r-2a@) detecta Ia ocurrencia
del estado 0101en la salida. cuando el contador está en este esta_
do, la entrada de carga es habilitada y todos los ceros de entrada
il

Figura 7-19 Contadorbinario de 4 bits con cargaen paralelo

Tabla 7-6 Tabla de función para el contadorde Ia Figura 7-9

Borrado CP Carga Conteo Función

.-:
X x X Borrar a 0
X 0 0 No cambiar i,u
1 I X Cargar entradas
:
t 0 I Contar siguienteestadobinario

r- l
ZJJ i, r
T1

kt
294 R E G I S T R OC
SO, N T A D O R EYS U N I D A DD E M E M O R I A CAP 7
i
se cargan al registro. Así, el contador pasa por los estados binarios
0 , 1 , 2 , 3 , 4 y 5 p a r a r e g r e s a rl u e g o a c e r o . E s t o p r o d u c e u n a s e c u e n -
cia de seis cuentas.
La entrada de borrado del registro es asincrónica es decir,
que no depende del reloj. En la Figura 7-20(b), la compuerta NAND
detecta la cuenta de 0110, pero tan pronto ocurra esta cuenta, el
registro se borra. La cuenta 0110 tiene oportunidad de permane-
cer por algún tiempo porque el registro va inmediatamente a cero.
Un pico momentáneo ocurre en la salida 42 cuando la cuenta va
de 0101 a 0110 e inmediatamente a 0000. Este pico momentáneo
puede.ser indeseable y por ello no se recomienda esta configrra-
ción. Si el contador tiene una entrada de borrado sincrónica, es
posible borrar el contador con el reloj después cle ocurrir Ia cuen-
ta 0101.
En vez de usar las primeras seis cuentas,se puede desear
escogerlas últimas seis cuentas desde 10 hasta 1 5 . E n e s t e c a s o
es posible tomar ventaja del arrastre de salida para cargar un

A
A3 ''¿ Al A ^ ^A3 A
Al

Cuenta: I Cuenta: 1
Borrado - I +Carga: 0

CP CP

Entradas- 0
Las entradas no tienen efecto
( a ) E s t a d o sb i n a r i o s 0 , 1 , 2 , 3 , 4 , 5 ( b ) E s t a d o sb i n a r i o s 0 , 1 , 2 , 3 , 4 , 5

A4 A3 A) A1
AA A. A
Al

Cuenta: I
Contador de Contador de
la Fig. 7-19 Borrado - I la Fig. 7-19

14 13 12 Il CP

t0l0 0011
(c) Estadosbina¡ios10,11,12.13,14,l5 ( d ) Estados binarios 3, 4, 5, 6,

Figura 7-2O Cuatro maneras de confizurar un contador de 6 módulos


usando un contador con carga en paralelo
S E C U E N C ID
AE 295
ST I E M P O

número en el registro. En la Figura i-20(c), el contador conietlza


con la cuenta 1010 y continúa hasta 1111. El arrastre de s¡lida
generado durante el último estado estable habilita el ct¡ntrt'l de
u ,s e l c u a l c a r g a e n t o n c e s l a e n t r a d a q u e s e e s t a b l e c e a 1 0 1 ( ) .
i u r g" É
p o s i b l e t a m ¡ i ¿ n e s c o g e rc u a l q u i e r c o n t a d o r i n t e r m e d i O d e
seis estádos. El conLador de 6 módulos de la Figur¿ l-l{'trd' pasa
p o r l a s e c u e n c i ad e c u e n t a 3 , 4 , 5 , 6 , ? y 8 . C u a n d o s e l c ' g r ai a ú l t i -
m a c u e n t a 1 0 0 0 , l a s a l i d a A * v a a 1 y s e h a b i l i t a e l c r - , t ' t t r odl e
c a r g a .E s t o c a r g a a l r e g i s t r o e l v a l o r 0 0 1 1 y l a c u e n t a b i n . r n a c o n -
tinúa a partir de este estado.

7 - 6 S E C U E N C I ADSE T I E M P O
s n u n s i s t e m a d i g i t a l s e p r o d r r c ee n l a u l i i -
L a s e c u e n c i ad e l a s t . ' p e r a c i o n e e
dad de control. L-A."unidadde con_trol que superviza las operactotresen un
sistema dieital Cóiiilsti.ia normalmente en señales de tiemp<' que deter-
m i n á " i a s ó c u e n c i a c l e t i e m p o e n l a c u a l s e e j e c u t a n l a s o p e r a c i c , t r e sL' a s
s e ó u e . r ó i a ld e t i e m p o e n l a u n i d a d d e c o n t r o l p u e d e n g e n e r a r s ef á c i l m e n t e
por medio de co¡t¿dores g registros de desplazamiento.Esta sección de-
muestra el uso de estas funciones MSI en la generación de señales de
tiernpo para la unidad de control.

Generación de un tiemPo de Palabra


requerida
Primero, se muestra un circuito que genera la señal de tienlpo
L a t r a s f e r e n c i a e t r s e r i e d e la infbr-
;' r^o; ;u " i ;ó"n' m o d o d e o p e r a c i ó n " . t . " i i e .
fue discutida en l a S e c c i ó n 7 - 3 , c o n u n e j e m p l o i l u s t r a d o e n la Fi-
g . d e c o n t r o l e n u n c o m p u t a d o r e n s e r i e d e b e generar
g"." r La unidad
d e pulsos
ina señol de tiempo de palabra que permanezca por un número
La señal de'
iÁuf"^t ul l-,ú-".o'de bits en los iegistros de desplazamiento'
generada por medio de '-tn contador que cuen-
ti"-po de palabra puede ser
ta el número requerido de Pulsos.
generada
Asitmase que una se¡al de tiempo de palabra que va 1 i9t.
F i g u r a 7 - 2 ( a ) muestra
debe permanecer por un período de ocho pulsos. La
I n i c i a l m e n t e u n c o n t ador de
un circuito contador que realiza esta tarea.
il bits se borra a 0. Unl señal de c o m i e n z o p o n d r á a c e r o e l f l i p - f l o p Q' La
s u m i n i s t r a e l c o n t r o l d e t i e m p o d e p a l a b r a y tam-
salida de este flip-flop
e l c ó n t a d o r . D e s p u é s d e u n a c u e n t a d e o c h o p u l s o s , e l f l i p -f'lop
bién habilita
d e l a F i g u r a 7 - 2 1 ( b )de
;; ;";; a cero y e va a 0. Ei diagrama rle tiemp.
L a s e ñ a l d e c o m i e n z o s e s i n c r o n i z a con
-rri.tru lu op".u.iór, del circuito.
p o r un p e r í o d o d e u n p u l s o d e r e l o j ' , D e s p u é s - d e q Y uq
el reloj y permanece
c o n t a d o r c o m i e n z a a c o n t a r l o s p u l s o s d e r e l o j ' C u a n d o el
." po"!á u 1,
" i d e p a r a d a
.o¡tudi,. alcanza la cuenta de ? (binario ll1). enviará una señal
parada se convier-
a la entrada de puesta a celo del f'lip-flop. La señal de
siguiente
l e e r " ,t d e s p u é sd e l a t r a n s i c i ó n p o r t l a n c o n e g a t i v o d e l n t r l s o 7 . E l
¡"-;"ir,j cambia el contadcir al estado 000 y también borra a Q. Ahora
;;il
ei conlador s e h a b i l i t a ,- e l t i e m p o d e p a l a b r a p e r m a n e c e e n 0 ' N ó tese que
p e r í o d o d e o c h o pulsosr'
ei control de tiempo de palabra permanecepor ull
296 REGISTRO
CSO,N T A D O RYE S
U N I D A DD E M E M O R I A C A P .7

Nótese también que l.a señal de parada en-


este circuito puede usarse para
comenzar otro contror de cuenta de parabra
en otro circuito justamente
cuando se usa la señal de comienzo en este
circuito.

Señales de tiempo

Fln.un modo paraielo de operación, un


solo pulso de reloj puede especificar
el tiempo durante el cuai puede ejecutar lu op".ació.r.-Lu'.il''iaua
de control
gn u.tt sistema digital que opera en el modo e., pa.ululo-d"b" g".r..ar
l-e1de seña-
que permanecen por un solo p.rioao á.
-tiempo ;"1;;, pero esras se-
ñaies de tiempo deben distinguirse entre sÍ.
Las señales de tiempo que controlan la secuencia de operaciones
en un
sistema d-igital pueden ser generadas con un registro
de desplazamiento o
un contador con un decodificador.un cr¡ntadorhe
a n i t L oe . u n . e g i . t r o d e
desplazamiento circular con sólo un flip-flop qu. ." porr""u
,.ru en un tiem-
po particular y todos los demás .e ponótr u
ce.o. El solo bit se desplaza de
un flip-flop a otro para prodúeir la-secuencia de señales
de tiempo. La Fi_
gura 7-22(a) muestra un registro de desplazamiento
de ¿-bit. conectados
a un contad.r de anillo. El valor inicial del registro
e s 1 0 0 0 ,l n proJu""
la variable 7',i. Fll solotit se desplaza a la de'rechu " u a l de
pulso reloj
y circula de nuevo de z, a 7,,. óada flip-flop
está "o"
en "uáu cle r, una
vez cada cuatro pulsos de reloj y produce una de "l-".tuao
las cuatro señales de tiem_

Comienzo Control del


tiempo de
palabra

Contador Habilita¡ cuenta


de 3 bits

(a) I)iagrama del ci¡ct¡ito

c"
2

C o mi e n z o J

Pa ¡ada

| .-Tiempo
? de pala[ra . g prrlsos*l-

(b) f)iag¡ama de tiempo

Figura 7-21 Generación de un control de


tiempo de palabra
para operaciones en serie
sEc.7-6 SECUENCIAD
S E fI'MPO 297
F
po mostradas en la Figura i-22(c). Cada salida se convierte en 1, después
de la transición por flanco negativo de un pulso de reloj y permanece en 1
durante el siguiente pulso de reloj.
Las señales de tiempo pueden ser generadas también por habilitación
continr¡a de un contador de 2 bits que pasa por cuatro estados dif'erentes.
El decodificador mostrado en la Figura i-22(b) decodifica los cuatro esta-
dos del contador y genera la secuencia requerida de las señales de tiempo.
:
Las señales de tiempo, una vez que se habiliten por el pulso de reloj,
suministrarán pulsos de reloj de múltiple fase. Por gjemplo, si I¡, se apli-
ca con CP a una compuerta AND, la salida de la compuerta generalos pul-
sos de reloj de un cuarto de frecuencia de los pulsos de reloj maestros. Los
pulsos de reloj de múltiple fase pueden ser usados para controlar diferen-
tes registros con diferentes estados de tiempo.
Para generar 2" señales de tiempo, se necesita o un registro de des-
plazamiento con 2" flip-flops o un contador de n bits con un codificador
de n a 2" líneas. Por ejemplo, 16 señales de tiempo pueden ser generadas
con un registro de desplazamiento de 16 bits conectados a un contador de
a n i l l o o c o n u n c o n t a d o r d e 4 b i t s y u n d e c o d i f i c a d o rd e 4 a 1 6 l í n e a s . E n e l
primer caso, se necesitan 16 flip-flops. En el segundo caso. se necesitan
cuatro flip-flops y 16 compuertas AND de 4 entradas para el decodifica-
dor. Es posible generar las señales de tiempo con una combinación de re-
gistro de desplazamiento y un decodificador. De esta manera. el número
de flip-flops es menor que en un contador de anillo y el decodificador re-
quiere solamente compuertas de 2 entradas. Esta combinacion se llama
algunas veces un contedor Johnson.

Contador Johnson

Un contador de anillo de ft-bits circula un solo bit por los flip-flops para
suministrar A estados distinguibles. El número de estados pueden doblar-
se si el registro de desplazamiento se conecta como un contador de anillo
de final conmutado (switch-tail ring counter). Un contador de anillo de
de final conmutado es un registro de desplazamiento circuiar con la salida
complementada del último flip-flop conectado a Ia entrada del primer flip-
flop. La Figura 7-23(a) muestra tal registro de desplazamiento. La conexión
circuiar se hace de la salida complementada del flip-flop del extremo de-
recho a la entrada del flip-flop del extremo izquierdo. El registro desplaza
su contenido una vez a la derecha con cada pulso de reloj y al mismo tiem-
po, el valor complementado del flip-flop E se trasfiere al flip-flop A. Comen-
zando de un estado de borrado, el contador de anillo de final conmutado
pasa por una secuencia de ocho'estados de la manera Iistada en la Figura
7-23(b). En general un contador de anillo de final conmutado de A-bits pa-
sará a través de una secuencia de 2ft estados. Comenzando en 0, cada ope-
ración de desplazamiento inyecta unos por la izquierda hasta que el regis-
tro se llene de sólo unos. En las secuencias siguientes, se inyectan ceros
por la izquierda hasta que el registro se llene con 0.
Un contador Johnson es un contador de anillo de final conmutado de
A-bits con 2k compuertas decodificadoras para suministrar salidas para
2É señales de tiempo. Las compuertas decodificadoras no se muestran en
(al Contadorde anillo lvalrlr inicial = 10001

To Tt T) T3

Decodificador
2x4

Habilita
cuenta

(b) Contador y decodificador

a"

a,

n l--l
tl
T2 -,

( c ) S e c u e n c i a d e c u a t r o s e ñ a l e sd e t i e m p o

Figura 7-22 Generación de señales de tiempo

298
1r

(a) Contador de anillo de final conmutado de 4 estados

Número Salidasde flip-floPs C o m p u e r t aA N D r e q u e n d a


de la secuencia A B C E para la salida

I 0000 A'E'
2 1000 AB'
J 1100 BC'
4 lll0 CE'
5 llll AE
6 0l1l A'B
'7 B'C
00ll
8 0001 C'E

requerida
deconteoy decodificador
(b) Secuencia
Figura 7'23 Construcciónde un contadorJohnson

columna de la tabla. Las


a ;p e r o s e e s p e c i f i c a n e n l a ú l t i m a
! a F i g- .uor*ap "?e-r2t 3
o.to AND listadas e n I a t a b l a , u n a v e z c o n e c t a d a sa l c i r c u i t o ,
completa;án la construcción del contador .Iohnson. Como cada compuerta
se t a b l l i t a d u r a n t e u n a s e c u e n c i a d e e s t a d o p a r t i c u lar, ias salidas de las
c o m p u e r t a s g e n e r a r á n o c h o s e c u e n c i a sd e t i e m p o e n cadencia'
La decodificación de un contador de anillo de final conmutado de
de tiempo sigue un patlón regular. El
k-bits para obtener 2h secuencias
tomando las salidas normales de los flip-
estado de sólo 0 se decodifica
extremos. Todos los otros estados se decc'difican de un pa-
füps de los dos
la secuencia 7
ltá-" uáVu.ente de 1, 0 ó 0, 1 en la secuencia. Por ejemplo
los flip-flops B y. C' La. salrda decodifi-
ii".r" ,r. patrón adyácente b, 1
".t salida normal
cada se obtiene entonces toáando el complemento de B ¡' 1a
de C, ó B'C.
encuen-
ja del circuito en la Figura'i-23(al es que, sr se
u n a d e s v e n t a-desconocido,
tra en un estado persistirá en pasar de un estado no válido ii
éstado r'álido. Esta dificultad
a otro y nunca encontrará un óamino a un
no
;";á; Jer corregida modificando el circuito para er-itar esta condición :'
j

prócedimiento de corrección es desconectar la salida del flip-


áeseable. IJn t
fl;t C que va u tu D del flip-flop C, y a cambio habilitar la entrada
""t.uaa
del nip-¡1oo C por medio de la función:*

*Esta es la maneraquese haceen el CI tipo'{022'


299
DC:(A+C)B
\
donde DC es la funci_óndel frip-floppara la entrada D
del flip-frop c.
Los contadoresJ.ohnsonpuedón ser construidos con
cualquier núme-
ro de secuenciasde tiempo. Er núme.o de frip-fiáp;;;;;;;"s
es la mitad
del número de señalesdé tiempo. El número d" ;"-;;;;;;s
decodificado_
ras es igual al número de señaiesde tiempo y solamente
se emplean com-
puertasde 2 entradas.

7-7 LA UNIDAD DE MEMORIA

Los registros de un computador digital pueden ser clasificados


der tipo
operacionalo de almacenamiento.un circuito op"rii¡o"ol
.rpu, de acu_
mular información binaria en sus flip-flops ".
I iiene compuerras
combinacionalescapacesde realizar taieas d" pro"..á*iento
"a"-á. ae datos. un
registrod,ealmacenamientose usa solamentepara el almacenamiento
-or.a" tem_
poral de la información binaria. Esta i"ror-".iá"
ser alterada
cuando se trasfiere.hacia adentro y afuer" á.l ;ñri]'u'" ""
unidad de
memoria es una colección de registros de almacen";;;¿"
conjuntamente
con los circuitos asociados necesariospara trasferir
información
adentro y afuera de los registros.Los registrosde almacenamiento hacia
en una
unidad de memo¡ia se llaman registrosdé memoria
La mayoría de-los registrosen un computadordigitar
son registrosde
memoria, a los cualesse t¡asfie¡e la információnpara
ál-á""r,u-iento y de
Ios cuales se obtiene la información necesariapara pro""ru-iento.
.t com-
parativamente se encuen-tranpocos registros'operaci;";i;.
procesadora.cuando se lreva á cabo .I pro.".u'-i;;;il; en Ia unidad
datos, la infor-
mación de
-los registrosseleccionados en la unidad de memoria se trasfiere
gri.merga tos registros operacionalesen l" ;;iJ;d Los resur-
tados intermedios y finaies que se obtienen en los;;";;;"r".
registrosoperacionales
se trasfieren de nuevo.a los registrosde memoria
selecáonados.De manera
similar, la información binaria recibida de los
de entrada se
almace-naprimero en..los registros de memoria. La "r"-á"Jo.
información trasferida
a los elementosde salida re tomu de los registrosen
la unidad
-i"gi.tros
de memoria.
. .El componenteque forma las celdas Éinarias a" rá. en una
unidad de memo¡ia debe tener ciertas propiedadesbásicas,
de las cuales
las más importantes son: (1) debe tener una propiedad
dependientede dos
estados para la-representaciónbinaria. (2) d'ebé.., p"q.i.¡o
(3) el costo por bit de almacenamientodebe en tamaño.
ser lo -¿i ü4o posibre.(4) el
tiempo de accesoal registro de memoria ¿eb" .ei ;;;;;üi.-ente
rápido.
Ejemplosde componentesde unidad de memoriason los
núcleosmagnéticos,
los cI semicondubtoresy las superficiesmagnéticas
de las cintas, tambo-
res y discos.
una unidad de memoria almacena información bina¡ia
en grupos lra-
m1d9spalabras, cada palabra se armacenaen un registro
de memoria. una
palabra en la memoria es una entidad de n bits qu."."
-u.ven hacia aden_
tro y afuera del almacenamientocomo una unidad'.u"u putuu.a
puede representarun operando,una instrucción, de memoria
o un gr"p" aa caracteres
3@
S E C .7 . 7 L A U N I D A DD E M E M O R I A3 0 '

alfanuméricos o cualquier información codificada binariamente. La comu-


nicación entre una unidad de memoria y lo que la rodea se logra por medio
de dos señales de control y dos registros externos. Las señales de control
especifican la dirección de la trasferencia requerida, esto es, cuando una
paiabra debe ser acumulada en un registro de memoria o cuando una pa-
iabra almacenada previamente debe ser trasferida hacia afuera del registro
de memoria. Un registro externo especifica el registro de memoria particu-
lar escogido entre los miles disponibles; el otro especifica la configuración
de bits particular de la palabra en cuestión. Las señales de control y los
registros se muestran en el diagrama de bloque de la Figura 1-21.
El regístro de direcciones de memoria especifica la palabra de memo-
ria seleccionada. A cada palabra en Ia memoria se Ie asigna un número
de identificación comenzando desde 0 hasta el número máximo de palabras
disponible. Para comunicarse con una palabra de memoria específica, su
número de localización o dírección se trasfiere al registro de direcciones'
Los circuitos internos de la unidad de memoria aceptan esta dirección del
registlo y abren los caminos necesarios para seleccionar la palabra busca-
¿al Un iegistro de dirección con n bits puede especificar hasta 2" pala-
bras de memoria. Las unidades de memoria del computador pueden tener
un rango entre 1.024 palabras que necesitan un registro de direcciones de
10 bits, hasta 1.048.576:220 palabras que necesitan un registro de direc-
ciones de 20 bits.
Las dos señalcs de control aplicadas a la unidad de memoria se llaman
de lectura y escritura. Una señal de escritura especifica una función de
trasferencia entrante; una señal de lectura especifica una función de

UNIDAD
DE MEMORIA

lectu ra
n palabras Señales
m bits por palabra de control
escntura

Registro separador
de memoria

ent¡ada salida
Información

Fig.ura 7-24 Diagrama de bloque de una unidad


de memoria mostrando su cornunicación con lo
oue Io ¡odea
3 0 2 R F G I S T R OCSO, N T A D O RYE S
U N I D A DD E M E M O R I A C A P ,7

tr¿rsferencia saliente. Cada una es referenciada por la unidad de memoria.


Después de aceptar una de las señales, los circuitos de control interno den-
tro de la unidad de memoria suministran Ia función deseada. Cierto tipo
de unidades de almacenamiento, debido a las características de sus com-
ponentes, destruyen la información almacenada en una celda cuando se lea
el bit de ella. Este tipo de unidad se dice que es una memoria de lectura
destructible en oposición a una memoria no destructible donde la informa-
ción permanece en la celda después de haberse leído. En cada caso, la infor-
mación primaria se destruye cuando se escribe Ia nueva información. La
secuencia del control interno en una memoria de lectura destructible debe
proveer señales de control que puedan causar que la palabra sea restaura-
da en sus celdas binarias si la aplicación requiere de una función no des-
tructiva.
La información trasferida hacia adentro y afuera de los registros en
la mernoria y al ambiente externo, se comunica a través de un registro co-
mún llamado (buffer register) registro separador de memoria (otros nom-
bres son registro de informacíón y registro de almacenamiento). Cuando
Ia unidad de memoria recibe una señal de control de escritura, el control
interno interpreta el contenido del registro separador como Ia configura-
ción de bits de la palabra que se va a almacenar en un registro de memoria.
Con una señal de control de Lectura, el control interno envía la palabra del
registro de memoria al registro separador. En cada caso el contenido del
registro de direcciones especifica el registro de memoria particular refe-
renciado para escritura o lectura. Por medio de un ejemplo se puede resu-
mir las características de trasferencia de información de una unidad de
memoria. Considérese una unidad de memoria de 1.024 palabras con ocho
bits por palabra. Para especificar 1.024 palabras, se necesita una dirección
de 10 bits, ya que 2to : I.024. Por tanto, el registro de direcciones debe
contener diez flip-flops. El registro separador debe tener ocho flip-flops
para almacenar los contenidos de las palabras trasferidas hacia dentro y
afüera de Ia memoria. La unidad de memoria tiene 1.024 registros con
.I.023.
números asignados desde 0 hasta
La Figura 7-25 muestra el contenido inicial de tres registros: el regis-
1r,¡ de direcciones de memoria, (MAR: memory address register) el regis-
tro separador de mem,rria (MBR: memory buffer register) y el registro de
memoria direccionadc' por MAR. Como el número binario equivalente en
l"{AR es el decimal 42, el registro de memoria direccionado por el MAR es
uno con un número de dirección 42.
L a s e c u e n c i a d e o p e r a c i o n e s n e c e s q r i a sp a r a c o m u n i c a r s e c o n I a u n i -
dg-{ de memoria para propósitos de traiferir una palabra hacia afuera diri-
gida al MBR es:

1. Trasferir los bits de dirección de la -palab¡a seleccionada al MAR.


2. Activar la entrada de control de lectura.

Ei resultado de la operación de lectura se ilustra en la Figura 7-26(a).La


información binaria almacenada hasta ei presente en el registro de memo-
ria 42 se trasfiere al MBR.
D i r e c c i o n e¡s
0-1023 Unidad
|
I de memoria

43
0000101010 42 0-l0lll0
4l
Registro de direcciones
de memoria (MAR) 40

10010010

Registroseparadorde memoria(MBR)

Figura 7-25 Valoresinicialesde los registros

La secuencia de operaciones necesarias para almacenar una nueva


palabra a Ia memoria es:

1. Trasferir los bits de dirección de la palabra seleccionada al MAR.


2. Trasferir los bits de datos de la palabra al MBR'
3.-Activar la entrada de control de e.scr¿tura'

El resultado de Ia operación de escritura se ilustra en Ia Figura 7-26(b)'


Los bits de datos ¿ef VtgR se almacenan en el registro de memoria 42.
En el ejemplo anterior, se asume una unidad de memoria con Ia propie-
dad de leciurá no destructiva. Tales memorias pueden ser construidas
con CI semiconductores. Ellas retienen la información en el registro de
memoria cuando el registro se catea durante el proceso de lectura de ma-
nera que no ocurre peraiaa de información. Otro componente usado común-
mente en Ias unidaáes de memoria es el núcleo magnébico. Un núcleo mag-
nético tiene la característica de tener lecturas destructivas, es decir,
pierde
'Ejemplosla información binaria almacenada durante el proceso de Iectura'
de memorias de semiconductores y de núcleos magnéticos se pre-
sentan en la Sección 7-8'
Debido a Ia propiedad de lectura destructiva, una memoria de núcleos
magnéticos debe tener funciones de control adicionales para reponer la
puláb.u al registro de memoria. Una señal de control de lectura aplicada
u ,,rru -e-"riu de núcleos magnéticos trasfiere el contenido de la palabra
direccionada a un registro externo y al mismo tiempo se borra el registro
de memoria. La secuencia de control interno en una rnemoria de núcleos
magnéticos suministra entonces señales apropiadas para causar la recu-
peráción de la palabra en el registro de memoria. La trasferencia de infor-
'mació"
de una memoria de núcleos magnéticos durante una operación de
enQ
í tinidad r
I
"".*-l
O.memoria
i oe memorla
I
I
I
MAR = 42 0ll0lll0 MAR = 42 10010010

MBR 01r0lll0 MBR 10010010

(a) Operación de lectura (b) Operaciónde escritura


Figura 7-26 Trasfe¡encia de inf<¡rmacióndu¡ante l a s o p e r a c i o n e s
de lectura y escritura

Iectura se ilustra en la Figura 7-27. una


operación de lectura destructiva
trasfiere la palabra seleccionada al MBR pf."
áu¡u de merrroria
con puros ceros. La operación de memoria nor-ui "r-r"ái.tro
requie-re que el conteni_
do de la palabra seleccionada permanezca en
la me'moria después de la
operación de lectura..por tanto, es necesario pasar
p_ ;;" operación de
recuperación que escribe el valor del MBR
u" ,"ii.lrJ-d" ^"-oria se_
leccionada. Durante la operación de recuperación, "t los contenidos
y el MBR deben permanecer invariables_ del MAR
una entrada de control de escritura aplicada a
una memoria ,le núcleos
magnéticos causa una trasferencia de infbrmación
comá- se muestra e., la
Figura 7-28. Para trasferir la nueva información
a un registro seleccionado,
9e de!9 primero borrar la inforrnación anterior borrando todos los bits de
la palabra a 0. Después de hacer lo anterior, el
conteniáo á"1 n4gn se pue-
de trasferir a la palabra seleccionada. El MAR no
debe cambiar durante la
operación para-asegurar que la misma parabra
..i"""]""ra; q;-;;"il;
borrado es aquella que recibe la nueva información

Unidad
Uniüad
de memoria
de memoria
MAR = 42 0l10llr0 00000000 0ll0l I I 0

MBR Cualquier cosa 01t01110 0l l0l I 10

Inicial Lectura destructiva Contenidorestaurado


Figtra 7-27 T¡asferencia de información en una memorla
de núcleos magnéticos
du¡ante una operación de lectura

304
Unidad Unidad Unidad
de memoria de memoria de memoria
MAR = 42 0r101110 00000000 r0010 010

MBR 10010010 r0010010 100 i0010


Inni icci ai la l Palabra de borrado Palabra de escritura

Figura 7-28 l'rasferencia de información en una memoria de núcleos magnéticos


durante una operacion de escrrrura

una memoria de núcleo magnético requiere dos medios ciclos para leer
o escribir. EI tiempo que se toma la memoria para cubrir los doi medios
ciclos se llama tiempo de un ciclo de memoria.
E l m o d o d e a c c e s od e u n s i s t e m a d e m e m o r i a s e d e t e r m i n a p o r e l t i p o
de componentes usados. En una memoria de acceso aleatorio. se debe oen-
sar que los registros están separados en el espacio, con cada registr., n"rj-
pando un lugar espacial particular en una memoria de núcleos magnéticos.
E n u n a m e m o r i a d e a c c e s os e c u e n c i a l , l a i n f o r m a c i ó n a l m a c e n a d a e n a l s ú n
medio no es accesibleinmediatamente pero se obtiene solamente en ciertos
intervalos de tiempo. Una unidad de cinta magnética es de este tipo. Cada
lugar.de la memoria pasa por las cabezasde lectura y escritura a la vez,
pero la información se lee solamente cuando se ha logrado la palabra soli-
citada. El tiempo de acceso de una memoria es el tiempo requerido para
seleccionaruna palabra o en la lectura o en la escritura. En una memoria
de acceso aleatorio, el tiempo de acceso es siempre el mismo a pesar del
l u g a r e n e l e s p a c i o p a r t i c u l a r d e l a p a l a b r a . E n u n a m e m o r i a s e c u e n c i a l ,e l
tiempo de acceso depende de la posición de la palabra en el tiempo que se
solicita. Si la palabra está justamente emergiendodel almacenamienlo en
e l t i e m p o q u e s e s o l i c i t a , e l t i e m p o d e a c c e s oe s j u s t a m e n t e e l t i e m p o n e c e -
sario para leerla o escribirla. Pero, si la palabra por alprna razón está en
l a ú l t i m a p o s i c i ó n , e l t i e m p o d e a c c e s oi n c l u y e t a m b i é n e l t i e m p o r e q u e r i d o
para que todas las otras palabras se muevan pasando por los terminales.
A s í , e l t i e m p o d e a c c e s oa u n a m e m o r i a s e c u e n c i a l e s v a r i a b l e .
L a s u n i d a d e s d e m e m o r i a c u y o s ' c o m p o n e n t e sp i e r d e n i n f o r m a c i ó n a l - '¡.
m a c e n a d a c o n e l t i e m p o o c u a n d o s e c o r t a e l s u m i n i s t r o d e e n e r g í a ,s e d i c e {,,
q u e s o n u o L á t i l e s . U n a u n i d a d d e m e m o r i a d e s e m i c o n d u c t o r e se s d e e s t a :'.
categoría ya que sus celdas binarias necesitan potencia externa para man- ,
I
I
tener las señales necesarias. En contraste, una unidad de memoria no vo-
látil, tal como un núcleo magnético o un disco magnético, retiene la infor-
mación almacenada una vez que se haya cortado el suministro de energía.
Esto es debido a\que la infbrmación acumulada en losrcomponentes magné-
ticos se manifigstan por la dirección de magnetizacion, la cual se retiene
cuando se cor*,a la energía. una propiedad no volátil es deseable en los'
computadores'digitales po.q.," muchás programas útiles se dejan perma-

;"j
3A6 REGISTRoS
co, N T A D o R E SY U N I D A DD E M E M o R I A CAP. 7

nentemente en la unidad de memoria. cuando se corte el suministro de


energía y luego se suministre, los programas almacenados previamente y
otra información no se pierden pero continúan acumulados en la memoria.

7-8 EJEMPLOS DE MEMORIA DE ACCESO ALEATORIO

La construcción interna de dos tipos diferentes de memorias de acceso


aleatorio se presentan en fbrma de diagramas en esta sección. La primera
se construye con flip-flops y compuertas y la segunda con núcleos magné-
ticos. Para poder incluir toda la unidad de memoria en un diagrama, se
debe usar una capacidad de almacenamiento limitado. Por esta razón,
Ias unidades de memoria presentadas aquí tienen una pequeña capacidad
de 12 bits arreglados en cuatro palabras de tres bits cada una. Las merno-
rias de acceso aleatorio comerciales pueden tener una capacidad de miles
de palabras y cada palabra puede estar en un rango de 8 a 64 bits. La cons-
trucción lógica de las unidades de memoria de gran capacidad serían una
extensión directa de la configuración mostrada aquí.

Memoria de circuito integrado

La construcción interna de una memoria de acceso aleatorio de m pala-


bras con n bits por palabra consiste en m X n celdas de almacenamiento
binario y la lógica asociada para seleccionar las palabras individuales. La
celda de almacenamiento binario es el bloque básico de construcción de
una unidad de memoria. La lógica equivalente de una celda binaria que
almacena un bit de información se muestra en ia Figura 7-2g. Aunque se
muestra que la celda incluye compuertas y un llip-flop, internamente se
construye con dos transistores que tienen múltiples entradas. Una celda
de almacenamiento binario debe ser muy pequeña para poder comprimir
tantas celdas como sea posible en la pequeña área disponible en la pastilla
de circuito integrado. La celda binaria tiene tres entradas y una salida.
La entrada de selección habilita la celda para lectura o escritura. Las en-
tradas de lecturaT/escritura determinan la operación de Ia celda cuando
esta es seleccionada. Un 1 en la entrada de lectura,/escritura fbrma un
camino del flip-flop al terminal de salida. La información en el terminal de
entrada se trasfiere al flip-flop cuando el control de lectura,/escritura es
0. Nótese que el flip-fiop opera sin pulsos de reloj y que su propósito es
almacenar la información de bits en la celda binaria.
Las memorias de circuitt¡ inregrado tienen algunas veces una sola
línea para el control de lectura y escritura. Un estado binario en la sola
Iínea especifica una operación de lectura y el otro estado especifica una
operación de escritura. Además, se incluyen una o más líneas de habilita-
ción para suministrar medios de seleccionar el cI y para expandir varias
pastillas a una unidad de memoria con un gran número de palatrras. La
construcción lógica de un CI RAM se muestra en la t'igura 7-30. Este con-
siste en 4 palabras de 3 bits cada una para un total de 12 celdas binarias.
L o s p e q u e ñ o sr e c u a d r o s m a r c a d o s B C r e p r e s e n t a nu n a c e l d a b i n a r i a , y l a s
t r e s e n t r a d a s y u n a s a l i d a e n c a d a B C s o n e s p e c i f i c a d a se n e l d i a e r a m a
d e l a F i g u r a 7- 2 9 .
Selección

Entrada Salida

L ectu ra,/esc rit u ra

(a) Diagrama lógico

Selección

Entrada Salida

Lectura,'' escrttura

(b) Diagrama de bloque

Figura 7-29 Celda de memoria

Las dos Iíneas de entrada de direcciones pasan px)r un decodificador


de
interno de 2 a 4 líneas. El decodificador se habilita con una entrada
habilitación de memoria. Cuando la habilitación de memoria e s 0 , t o d as
las salidas del decodificador son 0 y ninguna de ias palabras en memoria
de
s e s e l e c c i o n a n . c o n I a h a b i l i t a c i ó n d e m e m o r i a e n l . s e s e l e c c i o n au n a
ias cuatro palabras, dependiendo del valor de las dos lÍneas de direccio-
palabra
nes. Ahora, con el control de lectura,/escritura en I. los bits de Ia
pasarán por las 3 compuertas OR hasta los terminales de
,.t...io"uda
salida. Las cóldas binarias no seleccionadas p r o d u c e n 0 e n l a s e n t r a d as
y no tienen ef'ecto en las salidas' Con el control de
de las compuertas OR
iectura/escritura en 0, la información disponible en las líneas de entrada
s e t r a s f i e r e a l a s c e l á a s b i n a r i a s < l e l a p a l a b r a s e i e c c i o n a d a .L a s c e l d a s
por sgs
b i n a r i a s n o s e l e c c i o n a d a se n l a s o t r a s p a l a b r a s s o n i n a b i l i t a d a s
e¡tradas de selección sus y v a l o r e s p r e v i o s p e r m a n e c e n s i n c a m b i a r' Con
h a b i l i t a c i ó n d e m e m o r i a e n 0 , e l c o n t e n i d o d e t o d a s l a s celdas
ei control de
en Ia m e m o r i a p e r m a n e c e s i n c a m b i a r i n d e p e n d i e n t e m e n t e d e l v a l or del
control de lectura'/escritura.
Un CI RAM se construye internamente con celdas que tienen una
c a r a c t e r í s t i c a d e O R a l a m b r a d o . E s t o e l i m i n a l a n e c e s i d a dd e c o m p u e r t a s
307

¡'¡ I
i-r:'l
Entrada
de datos

Palab¡a 0

D1
Entradas
de dirección decodi-
ficador
2x4

lJl

Hal¡ilitación
de memoria
Lectura,, escritura

Figura
"ixT?;.
7_3O Memoria de circuito intesrado

oR en el diagrama. Las líneas de sarida externas pueden fbrmar


también
liigica alambradapara facilitar Ia conexiónde do.';;;; pastillas de cI
para formar una unidad de memoria con un gran número
dé palabras.
M e m o r i a d e n ú c l e o sm a g n é t i c o s

una memoria de núcleos magnéticosusa núcreosmagnéticospara


almace-
nar información binaria. [Jn núcleo magnético ,r" toroide en forma de
rosquilla hecho de material magnético. En contraste
", .or--rrn flip-flop de
semiconductoresque necesita solamente una cantidad física
tal como el
voltaje para su operación, un núcleo magnético emplea Jres
cantidades
308
H
R:
SEC. 7.8 E J E M P L O SD E M E M O R I AD E A C C E S OA L E A T O R I O3 0 9

fisicas: corriente, flujo magnético y voltaje. La señal que excita el núcleo


es un pulso de corriánte en utt alambre que pasa a través del núcleo. La
információn binaria almacenada se representapor la dirección de| flujo t.'
magnético dentro del núcleo. La información binaria de salida se extrae
de un alambre que encadenaal núcleo, en la forma de un pulso de t'oltaje.
La propiedad fisica que hace un núcleo magnético utilizable para al-
macenamientobinario es su reversiónde histérisis, mostrada en la Figura
?-31(c).Esta es un gráficode la corrienteversusel flujo magnético1'tiene
la forma de una figuia cuadrada.Con cero corriente,un flujo que puede.ser
positivo en direcclón (hacia la izquierda) o negativo (hacia Ia derecha)
p".-un""" en el ¡úcleo magnetizado.Se usa una dirección, por ejemplo ia
magnetizacióna la izquierda, para representarun 1 y Ia contraria para
representarun 0.
un pulso de corrienteaplicado al alambre que pasa por el núcleo puede
cambiar la dirección de magnetización.Como se ve en la Figura 7-31(a)'
la corriente en dirección hacia abajo produce el flujo en dirección hacia la
derecha, causandoque el núcleo vaya al estado de 0. La Figura i-31Q1
muestra las direccionesde la corriente y el flujo para almacenar un 1. EI
cambio que toma el flujo cuando se aplica el pulso de corriente se indica
por medio de flechas en el circuito de histéresis.
Leer la información binaria almacenadaen el núcleo es mu!' complica-
do por el hecho de que el flujo no puedeser detectadocuando no está cam-
biando. Sin embargosi el flujo está cambiandocon respecloal tiempo, este
induce un voltaje én el alambre que enlazael núcleo' AsÍ, la lectura puede
llevarse a cabo aplicando una corriente en la dirección negativa como se
muestra en Ia Figura 7-32. Si el núcleo está en el estado 1. la corriente
invierte la dirección de magnetizacíóny el cambio resultante de flujo pro-
duce un pulso de voltaje en el alambre sensor.Si el núcieo aún está en el
estado 0j la coniente negativa deja al núcleo magnetizadoen la misma
dirección, causando una pequeña distorsión del flujo magnético lo- .cual
producirá un voltaje ¿e sati¿a muy pequeñoen el alamb¡e sensor.Nótese
que esta es una lectura destructiva ya qu€ Ia corriente de lectura regresa
.i.-pr" el núcleoal estadode 0. El valor almacenadopreviamentese pierde'
La Figura 7-83 muestra la organizaciónde una memoria de núcleos
magnéticosque contiene cuatro palabras con tres bits cada una. Compa-
FIujo

q o*-
Corriente
' Cor¡iente
Corriente

negativa positiva
Almacenar0 (b) Almacenar 1 (c) Figura de histéresis

Figura 7-31 Almacenamientó de un bit en un núcleo magnético

i¿,
310 REGISTRoS
co, N T A D o R E SY U N I D A DD E M E M o R I A CAP, 7
$
rándola con Ia unidad de memoria de CI de la Figura 7-30, se nota que Ia
celda binaria es ahora el núcleo magnético y los álambres que lo encade-
nan. La excitación del núcleo se logra por medio de un pulso de corriente
i
generadopor un circuito accionador (DR: Driver). La información de sa-

J
lida pasa por un amplificador sensor (sA: Sense Amplifier) cuyas salidas
ponen a uno los flip-flops en el registro separador. Cada núcleo está enla-
zado por tres alambres. El alambre de palabra es excitado por un acciona-
dor de palabras y pasa por tres núcleos de una palabra. El álambre de bits
es excitado por un accionador de bit y pasa a través de cuatro núcleos en
la misma posición de bit. El alambre sensor enlaza los mismos núcleos que
el alambre de bits y se aplica a un amplificador sensor que conforma el
pulso de voltaje cuando se lee 1 y rechaza la pequeña distorsión cuando
se lee 0.
I
I

Durante una operación de lectura, un pulso de corriente accionador


de palabra se aplica a los núcleos de la palabra seleccionada por el decodi-
ficador. La corriente de lectura está en la dirección negativa (Figura T-32)
y causa que todos los núcleos de la palabra seleccionada vayan al estado
l
de 0 independientemente del estado anterior. Los núcleo. q,ru contienen
un I previamente cambian su flujo e inducen un voltaje al alambre sen-
sor. El flujo de los núcleos que contenía un 0 no cambia. El pulso de vol-
taje en el alambre sensor de los núcleos con un 1 previo se amplifica en el
amplificador sensor y pone a uno el flip-flop correspondiente en el registro
separador.
. - Durante la operación de escritura, el registro separador mantiene la
información para ser almacenada en la palabra especiiicada por el registro
de direcciones. Se asume que todos los núcleos de Ia palabrá seleccionada
están inicialmente borrados, es decir, todos están en el estado de 0 de tal
manera que aquellos que necesiten un 1 deben sufrir un cambio de estado.
un pulso de corriente se genera simultáneamente en el accionador de pa-
labra por el decodificador y en el accionador de bits cuyo flip-flop del ie-
gistro separador correspondiente contiene un 1. Ambas corrientes están
en la dirección positiva, pero su magnitud es solamente la mitad de la ne-
cesaria para cambiar el flujo al estado 1. Esta corriente media. en sí misma.
es muy pequeña para cambiar la dirección de magnetización. pero la suma
de dos medias corrientes es suficiente para ca-Eiar la dirección de mag-
netización al estado de 1. tln núcleo cambia al estado de 1 solamente ii
Voltios

Alambre
sensor

Tiempo
Corriente
de lectura Salida de alambre sensor

Figura 7-32 Lectura de un bit de un núcleo magnético


H
:

=.&
orc
x@

6p
@o

D.R: Accionado¡
SA: Amplificador
sensor

Entrada de
direcciones
Información
de entrada

Registro
separador

B1 82 83
lnformación de salida

Figura 7-33 Unidad de memoria de núcleos magnéticos

3tl
312 R E G I S T R OC
SO, N T A D O R EYS U N I D A DD E M E M O R I A CAP. 7

hay una coincidencia de dos medias corrientes de un accionador de pala-


bra y un accionador de bits. La dirección de magnetización de un núclecr
no cambia si este recibe solamente media corriente de uno de los acciona-
dores. EI resultado es que la magnetización de los núcleos se cambia al es-
tado de 1 solamente si los alambres de palabra y bit se interceptan, esto
es, solamente en la palabra seleccionada en la posición de bit en Ia cual
el registro separador es un 1.
Las operaciones de lectura y escritura descritas anteriormente son
incompletas, porque la información almacenada en Ia palabra seleccionada
se destruye por el proceso de lectura y la operación de escritura trabaja
adecuadamente sólo si los núcleos están borrados inicialmente. Como se
menciona en la Sección 7-7 Ia operación de lectura debe estar seguida por
otro ciclo que restaura los valores previamente almacenados en los núcleos.
Una operación de escritura está precedida por un ciclo que borra los nú-
cleos de la palabra seleccionada.
La operación de restauración durante el ciclo de lectura es equivalente
a Ia operación de escritura, lo cual, en efecto, escribe la información previa-
mente leída del registro separador de vuelta a la palabra seleccionada. La
operación de borrado durante un ciclo de escritura es equivalente a una
operación de lectura la cual destruye la información almacenada pero pre-
viene la información leída de llegar al registro separador, al inhibir al am-
plificador sensor. Los ciclos de restauración y borrado se inician normal-
mente por el control interno de la memoria, de tal manera que la unidad de
memoria, parece al mundo exterior, como que tiene una propiedad de lec-
tura no destructiva.

REFERENCIAS

]. The TTL Data Book for Design Engineers.Dallas, Texas: Texas Instruments,
Inc., 1976.
Blakeslee,T. R., Dígital Design with Standard MSI and LSI. Nueva York: John
Wiley & Sons,1975.
3. Barna A. y D. I. Porat, Integrated Circuits in Digital Electronics. Nueva York:
John Wiley & Sons, 1973.
A
Taub, H. y D. Schilling, Digital Integrated Electronics. Nueva York: McGraw-
Hill Book Co., 1977.
5 . Grinich, V. H.y H. G. Jackson,Introduction to Integrated Electronics. Nueva
York: McGraw-Hill Book Co., 1975.
6 . Kostopoulos,G. K., Digital Engineering.Nueva York: McGraw-Hill Book Co.,
1975.
7 . Scott, N. R., Electronic Computer Technology.Nueva York: McGraw-Hill Book
Co., 1970,Capítulo 10.
Kline, R. M., Digital Computer Design. EnglewoodCliffs, N.J.: Prentice-Hall,
Inc., 1977,Capítulo 9.
PRO BLEMAS

7-l El registro de la Figura ?-1 t,rasfiere la información de entrada a los flip-flops


cuando la entrada CP pasa por una transición de flanco negativo. Modifique
el circuito de tal manera que la información de entrada se trasfiera al regis-
tro cuando un pulso de reloj pasa por una transición de flanco negativo, te-
niendo en cuenta que la entrada de control de carga es igual al binarit¡ 1'
no El registro de la Figura 7-3 carga las entradas durante una transición ne-
gativa de un pulso de reloj. iQué cambios internos son necesarios para que
las entradas sean cargadas durante el f'lanco positivo del pulso?
r -t). verifique el circuito de la Figura ?-5 usando los mapas para simplificar las
siguientes ecuaciones de estado.
7-4. Diseñe el circuito secuencial cuya tabla de estado está dada a continuación
usando un registro de 2 bits y compuertas combinacionales.

Estado Estado
presente Entrada siguiente

00 0 00
00 I 0l
0l 0 l0
0l I 0l
l0 0 10
l0 I ll
ll 0 l0
ll I 0l

7-5. Diseñe un circuito secuencialcuyo diagrama de estado esté dado en la Fi-


gura 6-27uslndo un registro de 3 bits y una ROM de 16x 4.
7 -6. El contenidode un registrode desplazamientode 4 bits es inicialmente 1101.
El registrose desplazaseis vecesa la derecha,con la entradaen seriesiendo
101101.¿Cuál es el contenido del registro despuésde cada desplazamiento?
7 - 7 . ¿Cuál es la diferenciaentre la trasferenciaen serie y en paralelo?¿Quétipo
de registro se usa en cada caso?
? - 8 . EI registro de desplazamientobidireccionalde 4 bits de la Figura 7-9 se en-
capsuladentro de una pastilla de CI.
(a) Dibuje un diagrama de bloque de un CI most¡ando todas las entradas
y salidas.
(b) Dibuje un diagrama de bloque usando tres CI para producir un registro
de desplazamientobidireccionalde 12 bits.
7-9. EI sumadbr en serie de la Figura 7-10 usa dos registrosde desplazamiento
de 4 bits. El registroA retiene el númerobinario 0101y el registroB retiene
0111.El flip-flop del arrastre Q se borra inicialmente. Liste los valoresbina-
rios en el registroA y el flip-flop Q despuésde cada desplazamiento.
?-10. ¿Qué cambiosson necesariosen el circuito de la Figura 7-11para convertir-
Io a un circuito que resta el contenidode B al contenidode A ?
313
314 R E G I S T R OC
SO Y SU N I D A DD E M E M O R I A
, NT;ADORE CAP. 7

?-11. Diseñe un contador en serie; en otras palabras determine el circuito que


debe ser inclurdo externamente con el registro de desplazamiento para poder
obtener un cr,¡ntador que opera en serie.
i-12. Dibuie el diagrama de un contador de rizado de 4 bits binario usando flip-
flops que se disparan con el flanco positivo.
7-13. Un flip-flop tiene una demora de 20 ns desde el momento en que su entrada
CP va de 1a 0 hasta el momento en que se complementa su salida. ¿Cuál es
la demora máxima en un contador binario de rizado de 10 bits que usa estos
flip-fl,rps? ¿Cuál es Ia frecuencia máxima con que puede operar el contador
confiablemente?
?-14. ¿Cuantos flip-flops deben ser complementados en un contador binario de
rizado de 10 bits para alcanzar Ia sigriente cuenta después de 0111111111?
7-15. Dibuje el diagrama de un contador decreciente binario de rizado de 4 bits
usando flip-flops que se disparan en (a) transición de flanco positivo y (b)
transición de flanco negativo.
7-16. Dibuje un diagrama de tiempo similar a aquel de la Figura 7-15 para el con-
tador binario de rizado de Ia Figura 7-12.
7-17. f)etermine el siguiente estado para cada uno de los seis estados no usados
en el contador de rizado BDC de la Figura 7-14. ¿Es el contador autocomen-
zante?
?-18. El contador de rizado demostrado en la Figura P7-18 usa flip-flops que se
disparan en la transición de flanco negativo de la entrada CP. Determine
la secuencia de cuenta del contador. ¿Es el contador autocomenzante?
7-19. ¿Qué pasa al contador de la Figura 7-18 si ambas entradas creciente y de-
creciente son iguales a I al mismo tiempo? Modifique el circuito de tal ma-
nera que cuente hacia arriba si ocurre esta condición.
?-20. Verifique ias funciones de entrada del flip-flop del contador BDC sincrónico
especificado por ia Tabla 7-5. Dibuje el diagrama lógico del cont¡rdor BDC e
incluye una entrada de control de habilitación de cuenta.
T 21. Diseñe un contador BDC sincrónico con flip-flops JK.
; -22. Muestre las conexiones externas de cuatro contadores binarios de CI con
carga en paralelo (Figura 7-19) para producir un contador binario de 16 bits.
Llse un diagrama de bloque para cada CI.
1-23. Construya un contador BDC usando un circuito MSI de la Figura 7-19.

Pulsos de
cuenta

Figura P7-18 Contador de rizadcr


P R OB L E M A S 3 I 5

7-24. Construya un contador de 12 módulos usando el circuito MSI especificado


en la Figura 7-19. Dé cuatro alternativas.
?-25. usando los dos circuitos MSI especificados en la Figura 7-19, construya un
contador binario que cuente desde 0 hasta el binario 64.
?-26. Usando la variable de parada de Ia Figura ?-21 como señal de comienzo cons-
truya un segundo control de tiempo de palabra que permanezca pK)run período
de 16 pulsos de reloj.
i-27. Demuestre que un contador binario de n bits conectado a un decodificador
de n a 2" líneas es equivalente a un contador de anillo con 2" flip-flops.
Dibuje los diagramas de bloque de ambos circuitos para n:3. ¿cuántas se-
ñales de tiempo se generan?
?-28. Incluya una entrada de habilitación para el decodificador de Ia Figura 7-22(b)
y conéctela a los pulsos de reloj. Dibuje las señales de tiempo que se generen
ahora a las salidas del decodificador.
7-2g. Complete el diseño del contador Johnson de la Figura 7-23 mostrando las
salidas de las ocho señales de tiempo.
T-30. (a) Liste los ocho estados no usados en el contador de anillo de finai conmu-
tado de la Figura ?-23. Determine el siguiente estado para cada estado no
usado y *,¡"*ir" que, si el circuito se encuentra en un estado inválido, este
no regresa u ,rtt e*tudo válido. (b) Modifique el circuito como se recomienda
en el texto y demuestre que (1) el circuito produce la misma secuencia de
estados como la listada en la Figura 7-23(b), y (2) el circuito alcanza un es-
tado válido de cualquiera de los estados no válidos.
?-31. Construya un contador Johnson con diez señales de tiempo'
i 32. (a) La unidad de memoria de ia Figura 7-24 tiene una capacidad de 8.192
palabras de 32 bits por palabra. ¿Cuántos flip-flops se necesitan para el
registro de dirección de memoria y el registro separador de memoria? (b)
¿Cuántas palabras contendrá Ia unidad de memoria si el registro de direc-
ción tiene 15 bits?
?-33. cuando el número de palabras que se van a seleccionar es muy grande, es
conveniente usar una celda de almacenamiento binario con dos entradas de
selección: una entrada de selección X (horizontal) y una Y (ve¡tical). Ambas
X y Y deben ser habilitadas para seieccionar la celda'
(a) Dibuje una celda binaria similar a la de la Figura i-29 con las entradas
d e s e l e c c i ó nX y Y .
(b) Demuestre cómo pueden ser usados dos decodificadores de 4x 16 para
seieccionar una palabra en una memoria de 256 paiabras.
i-34. (a) Dibuje un diagrama de bloque de la memoria de 4x 3 de la Figura 7-30,
mostrando todas las entradas y saiidas. (b) Construya una memoria de 8X 3
que usa dos de estas unidades. Use una construcción de diagrarna de bloque.
?-35. Se requiere construir una memoria con 256 palabras, 16 bits por palabra or-
ganizada como en la l'igura 7-33. Los núcleos están disponibles en una matriz
de 16 filas y 16 columnas.
(a) ¿Cuántas matrices se necesitan?
(b) ¿Cuántos flip-flops hay en los registros de dirección y reparación?
(c) ¿Cuántos núcleos reciben corriente durante el ciclo de lectura?
(d) ¿Cuántos núcleos reciben al menos media corriente durante un ciclo de
escritura?

;i.
Lógica d e trasfe rencia
entre registros

8 -1 I N T R O DU C C I O N

Un sistema digital es urt sistema lógico secuencialconstruidocon flip-flops


y compuertas.Se ha mostrado en los capítulos anterioresque un circuito
secuencialpuede ser especificadopor medio de la tabla de estado. Para
especificarun sistema digital extenso,con una tabla de estado,sería muy
dificil, si no imposible,porque el número de estadossería demasiadogran-
de. Para sobreponeresta dificultad, se diseñan invariablemente los siste-
mas digitales usando una alternativa modular. El sistema se subdivide
en subsistemasmodulares, cada uno de los cuales realiza algún trabajo
funcional. Los módulos se construyena partir de funcionesdigitales tales
como registros,contadores,decodificadores,multiplexores, elementosarit-
méticos y lógica de control. Los diferentes módulos se interconectan con
datos comunesde control para formar un sistema de computador digital.
Un'módulo sistema digital típico sería la unidad procesadorade un com-
putador digital.
La interconexiónde las funcionesdigitales para formar un módulo sis-
tema digital no puede describirsepor medio de técnicas combinacionales
o de secuenciaslógicas. Estas técnicas fueron desarrolladaspara descri-
bir un sistema digital a nivel de compuertay flip-flop y no son apropiadas
para describir el sistema a nivel de función digital. Para describir un
sistema digital en términos de funciones tales como sumadores,decodifi-
cadoresy registros,es necesarioemplear una notación matemática de alto
nivel. El método de lógica de trasferenciaentre registroscopa esta nece-
sidad. En este método, se seleccionanregistroscomo los componentespri-
mitivos de un sistema digital en vez de las compuertasy los flip-flops como
en la lógica secuencial.En esta forma es posible describir de una manera
precisa y concisa el flujo de información y las tareas de procesamiento
entre los datos acumuladosen los registros. La lógica de trasferenciade
registrosusa un conjunto de expresionesy afirmaciones,las cuales tienen
una similitud con las afirmacionesusadas en los lenguajesde programa-
ción. Esta notación presenta las herramientasnecesariaspara especificar
un conjunto prescrito de interconexionesentre varias funciones digitales.
316
sEc. 8-1 I N T R O D U C C I O3N1 7

Una característicaimportante de presentacióndel método lógico de tras-


férenciaentre registroses que está relacionadomuy de cerca a la forma en
que
- la genta prefiere especificarlas operacionesdel sistema digital.
LoJ componentesbásicos de este método son aquellos que describen
un sistema digital a partir del nivel operacional.La operaciónde un sis-
tema digital se describede mejor manera especificando:

1. El conjunto de registrosen el sistema y sus funciones.


2. La información en código binario almacenadaen los registros.
3. Las operacionesrealizadasa partir de la información almacenacia
en los registros.
4. Las fun'cionesde control que inician Ia secuenciade operaciones.

Estos cuatro componentes forman la base del método de lógica de


trasferencia entre registros para describir sistemas digitales.
lJn registro como se define en la notación de lógica de trasferenciaen-
tre registros,no solamente implica un registro, parecido al definido en el
Capítulo 7, si no que abarca también todos los otros tipos de registros,
talés como registros de desplazamiento,contadoresy unidades de memo-
ria. Un contador se consideracomo un registro cuya función es incremen-
tar en 1 la información almacenadaen é1. Una unidad de memoria se con-
sidera como una colección de registros de almacenamientodonde se va a
almacenar la información. Un flip-flop por si solo se toma como un regis-
tro de 1 bit. De hecho,los flip-flops y las compuertasasociadasde cualquier
circuito secuencialse llaman registro, al usar este método de designación.
La información binario almacenadaen los registrospodría ser núme-
ros binarios, números decimales binarios codificados,caracteresalfanu-
méricos,control de información ó cualquier informaciónbinaria codificada.
Las operacionesque se realizan mediante los datos almacenadosen los
registros, dependedel tipo de datos que se encuentren. Los números se
mánipulan con operacionesaritméticas, mientras que el control de infor-
macién se manipula por lo generalcon operacioneslógicastales como acti-
vando o borrando bits específicosdel registro.
Las operacionesrealizadascon los datos almacenadosen los registros
se llaman microoperacíones. Una microoperaciónes una operaciónelemen-
tal que puede ser realizada en paralelo durante un períodode pulso de re-
loj. El resultado de la operaciónpuede remplazar la información binaria
pievia de un registro o puede ser trasferido a otro registro. Ejemplos de
microoperacionesson: desplazar,contar, sumar, borrar y cargar. Las fun-
ciones digitales introducidas en el Capítulo 7 son registrosque configuran
microoperaciones. Un contador con carga en paralelo es capaz de realizar
el incremento de las microoperaciones y la carga.Un registro de desplaza-
miento bidireccional es apto para realizar microoperacionesde desplaza-
miento a la derecha o a la izquierda. Las funcionesMSI combinacionales,
introducidas en el Capítulo 5 pueden ser usadas en algunas aplicaciones
para realizar microoperaciones. Un sumadorbinario en paralelo es útil para
iealizar la microoperaciónde suma (add) a partir de los contenidosde los
dos registros que retienen números binarios. Una microoperaciónrequiere
3 1 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

solamente un pulso de reloj para su ejecución, si se hace la operación


en
paralelo. En los computadorer en .e.ie, una
microoperación requiere un
número de pulsos igual al tiempo de palabra en el sisiema.
Este últi-o
igual al número de bits en los registros de desplaza.triu.tto que ".
trasfieren
la información en se¡ie mient."r q.ru la microoper""i¿; ;;
ejecuta.
. L a s f u n c i o n e s. d e . c o n t r o l q u e i n i c i a n l a s e c u e n c i a d e o p e r a c i o n e sc o n -
sisten de señales de. tiempo qué le dan secuencia a Ias operáciones
una por
una. ciertas condiciones que dependen de los resultados'de la,
ope.a"ioi".
previas pueden determinar también el estado de las
funciones de control.
una función de control es una variable binaria qu. .., un
estado binario
inicia una operación y en el otro inhibe la operación.
- El propósito de este capítulo es introdücir en detalle los componentes
del método de lógica de trasferencia entre registros. El capítulo
introduce
una notación simbólica para representar registros. para operaciones
espe_
cíficas en los contenidos de los registros y para especificar
-algunas funciones de
control. Esta notación simbólica .e llama ieces lenguaje de tras_
ferencia entre registros o lenguaje descriptiui de material dil c'omputador
(register-transfer language or computer hardware
description language).
El. lenguaje de tra.sferencia entre iegistros adoptado aqui pretende
ser el
más sencillo posible. Debe tenerr" ei sin e-ba.go, que no existe
simbología normalizada para el lenguaje ".,errta,
de irasferen"iu ?rt." registros y
f'uentes diferentes adoptan convenciones diferentes.
fJna afirmación en un
-renguaje de trasferencia gntre registros consis-
te de una función de control y ,rna lista de microopericio""..
t,u función de
control (la cual puede ser omitida algunas veces) especifica
la condición
de co_ntrol y secuencia de tiempos paü ejecutar la lista
á" -r".ooperacio-
nes...Las microoperaciones especifióan las operaciones etemerrtates
que se
realizan con Ia infbrmación almacenada e.r lo. registros.
Los tipos de mi_
crooperaciones encontradas más a menudo en los- sistemas
algitat". pr_,e_
den clasificarse en cuatro categorías:

1. Microoperacio'es d,e trasferencia entre registros que no


cambian er
contenido de la información cuando la iniormación binaria
se mue_
ve de un registroa otro.
2 . L a s m i c r o o p e r a c i o n e sa r i t m é t i c a s r e a l i z a n a r i t m é t i c a
con los nú_
meros almacenados en los registros.
3' Las_microoperaciones lógicas realizan operaciones tales
como AND
y oR con el par de bits individuares aimacenados
en los registros.
4' Las microoperaciones de desprazamiento especifican
operaciones
para ios registros de desplazamiento.

Las secciones 8-2 hasta 8-4 definen un conjunto básico de microope-


r a c i o n e s . S e a s i g n a n _ s í m b o l o se s p e c i a l e sa l a s m l c r o o p e r a c i o n e s
en el con-
junto y cada símbolo se muestra asociado
con los'materiales digitales
correspondientes que configuran Ia microoperación establecida.
Es impor_
tante tener en cuenta que la notación rógica de trasferencia
entre."giri.n,
'se relaciona directarnente con los registros y
Ias funciones digitalés que
esta define y no pueden separarse delllos.
-n

sEc. 8-2 T R A S F E R E N C IEAN T R ER E G I S T R O S3 1 9

Las microoperaciones ralizadas con la operación almacenada en los re-


gistros depende del tipo de datos que residen en los registros' La informa-
ói¿n bittaiia encontrada comúnmente en los registros de los computadores
digitales
- puede clasificarse en tres categorías:
1. Datos numéricos tales como números binario o decimales binarios
codificados usados en los cálculos aritméticos.
2. Datos no numéricos tales como caracteres alfanuméricos u otros
símbolos binarios codificados usados en aplicaciones especiales.
3. Códigos de instrucciones, direcciones y otra información de control
usada para especificar los requerimientos de procesamiento de da-
tos del sistema.

Las Secciones 8-5 hasta 8-9 tratan sobre la representación de datos


n u m é r i c o s y s u r e l a c i ó n c o n l a s m i c r o o p e r a c i o n e sa r i t m é t i c a s . L a S e c c i ó n
8-10 explica el uso de las microoperaciones lógicas para el procesamiento
de datos no numéricos. La representación de los códigos de instrucción y
s u m a n i p u l a c i ó n c o n m i c r o o p e r a c i o n e s ,s e p r e s e n t a e n l a s S e c c i o n e s 8 - 1 1
y 8-12.

8-2 TRASFERENCIAENTRE REGISTROS

Los registros de un sistema digital son designados por letras mayúsculas


(algunas veces seguidas de números) para denotar la f'unción del registro.
Por ejemplo, el registro que retiene una dirección para Ia unidad de me-
moria se llama comúnmente registro de direcciones de memoria y se desig-
na como MAR (memory address register). Otras designaciones para el re-
gistro son A, B, Rl, R2 e IR. Las celdas o flip-flops de un registro de n bits
se numeran en secuencia desde t hasta n (o desde 0 hasta n - 1) comen-
zando desde la izquierda o desde la derecha. La Figura 8-1 muestra cuatro
maneras de representar un registro en la forma de diagrama de bloque. La
forma más común de representar un registro es por medio de un rectángulo
con el nombre del registro dentro de él de la manera mostrada en la Figura
8-1(a). Las celdas individuales pueden ser distinguidas como en (b), cada
celda con su respectiva letra y número suscrito. La numeración de las cel-
das de derecha a izquierda puede ser marcada en la parte superior del
rectángulo como en el registro MBR de 12 bits en (c). lln registro de 16

A
,
n8 A. A. I A3 ^)
A I
ñl

(a) Registro A (b) Se muestran las celdas individuales

I6

MBR PCtÍt) | PC(L)

(c) Numeración de celdas (d) Porcionesde registro

Figura 8-1 f ) i a g r a m a d e b l o q u e d e los registros


324 L o G I c A D E T R A S F E R E N C IEAN T B ER E G I S T R o S CAP. 8

bits se divide en dos partes en (d). Los bits 1a 8 se designan por medio de
la letra L (viene de low) y los bits 9 a 16 se les asigna la letra H (viene de
high). El nombre del registro de 16 bits es PC. El símbolo PC(H) se refiere
a las ocho celdas de mayor orden y PC (L\ se refiere a las ocho celdas de
menor orden del registro.
Los registros pueden especificarse en el Ienguaje de trasferencia entre
registros con una afirmación declaratoria. Por ejemplo, los registros de la
Figura 8-1 pueden definirse con las afirmaciones declaratorias tales como:

DECLARE REGTSTER A(8), MBR(12), pc(t6)


DECLARE SUBREGISTER PC(L): PC(l-8), PC(H) : PC(9-t6)

Sin embargo, en este libro no se usarán proposiciones de declaración para


definir los registros; en vez de ello los registros se mostrarán en Ia forma
de diagrama de bloque como en la Figura 8-1. Los registros mostrados en
un diagrama de bloque pueden convertirse fácilmente en proposiciones de
declaración para propósitos de simulación.
La trasferencia de información de un registro a otro se designa en
forma simbólica por medio del operador de remplazo. La proposicién:

A<_B

denota la trasferencia del contenido del registro B al registro A. Esta de-


signa un remplazo del contenido de A por lo contenido en B. Por definición,
lo contenido en el registro fuente B no cambia después de la trasferencia.
Una proposición que especifica una t¡asferencia entre registros im-
plica que los circuitos están conectados entre las salidas del registro fuen-
te hasta las celdas de ent¡ada del registro de destino. Normalmente no se
requiere que ocurra esta trasferencia con cada pulso de reloj, sino sola-
mente bajo una condición predeterminada. La condición que determina
cuando ocurre la trasferencia se llama función de control. Una función de
control es una función de Boole que puede ser igual a 1 ó 0. La función de
control se incluye en la proposición como sigue:

x'Tr: A <__
B

La función de control se determina con dos puntos. Esta simboliza las ne-
cesidades que la operación de trasferencia puede ejecutar por medio de
los materiales, solamente cuando la función de Boole x'Tr:1, es decir,
cuando la variable ¡:0 y la variablede tiempo Tt:1.
Cada proposición escrita en el lenguaje de trasferencia de registros
implica una construcción con materiales para configurar la trasferencia.
La Figura 8-2 muestra la configuración para la proposición escrita ante-
riormente. Las salidas del registro B se conectan a las entradas del regis-
tro A, y el número de líneas en esta condición es igual al número de bits
en los registros. El registro A debe tener una entrada de control de carga
de tal manera que pueda habilitarse cuando la función de bontrol es 1.
'cj

il

RegistroB

FiguraS-2Configuraciónconcomponentesdelaproposiciónx,T'..A_B

entrada adi-
Aunque no se muestra, se asume que.el registro A tiene una
de reloj. La función de
cional que acepta pulro* continuos sincronizados
de un inversor y una compu€rta AND. Se asu-
control se genera por medio
que la unidad de control que genera la variable de tiempo T1
*" i"-¡i¿i
A'
.u-ri.r".o'iza con los mismos pulsos dé reloj que se aplican al registro
activa durante un período de pulso de
La función ¿, .o.,iroi p.r-u.r"""
igual a 1) y la trasferencia ocurre
."lo¡ 1.,rundo la variable de tiempo es
d.r.átti" la siguiente transición de un pulso de reloj'
lista¡
Los símbolos básicos de la lógica de trasferencia de registros se-
8-1. Los registros se denotan por letras mayúsculas y los nú-
en la Tabla
para dis-
meros pueden estar coniiguos a las letras. Los suscritos se usan
Los paréntesis se usan para
tinguir las celdas individuales del registro.
Lá flecha denota una trasferencia de
aefinir una porción de un registro.
y lu di."""ión de la misma. Dos puntos terminan una función
l"iá.*u.i¿"
de control y i, Se usa para separar dos o más operaciones que se eje-
"o-u
cutan al mismo tiempo. La proposición:
Tt: A<-8, B<-A

de dos
denota una operación de intercambio que trasfiere los contenidos
pulso de reloj común. Esta operación simultánea es
registros durante un
los .ugirt-r con flip-fiops maestro esclavo o por disparo de
po"ri¡tu en
flanco.
- de
Las llaves cuadradas se usan conjuntamente con la trasferencia
palabra de memoria y el registro ence-
memoria. La letra M designa una
para la memoria'
rrado dentro de las llaves Juadradas significa la dirección
Esto se explica en más detalle a continuación'
de dos
Hay ocasiones cuando el registro de destino recibe información
tiempo. Considérese dos propo-
fuentes pero evidentemente tro Ll -it-o
siciones:
Tt: C<-A

Tsi C<-B

A va a ser tras-
La primera línea establece que el contenido del registro
u n a v a r i a b l e d e t i e m p o 71. La segunda
ferido al registro C cuando ocurre
mismo registro de destino que la primera pero con un
proposición usa el
321
Tabla 8-l Símbolos básicos de la lógica de trasferencia entre
resistros

Símbolo Descripción Ejemplos


Letras (y numerales) Denota un registro A, MB& R2
Suscrito Denota un bit de un registro A z ,B e
Paréntesis( ) Denota una porción de un registro PC(H), MBR(OP)
Flecha * Denota una trasferencia de información A<-B
I)os puntos : Termina una función de control x'Ts:
Coma , Separa dos microoperaciones A<_B,B<-A
Llaves cuadradas [ ] Especifica una dirección para una
trasferencia de memoria MBR + MIMARI

registro fuente diferente y una variable de tiempo diferente.


La conexión
de dos registrosfuente al mismo registro de aesiino pu.a" hacersedi-
r€ctamente, pero requiere un circuito multiplexor para"o seleccionar
entre
dos caminos posibles. EI diagrama de bloque del ii.cuilá qr"
configura
las dos proposicionesse muestra en la Figura g-8. p".ul.gi.tro.
con cua-
tro bits cada uno, se necesita un multipl"exorde z a t liTeas
cuádruple,
similar al mostrado previamente en la Éigura b-12 pára seleccio'ar
el .e_
gistro-A o el registro B. Cua,ndo Ts: I ie selecciona
el registro B, pero
cuando Tt: I se seleccionael registroA (porque ?u debe.ei o
c,ru.rdo?,
es 1). El multiplexor y la entrada de cargá dei registro c se habilita
cada
vez.que ocurra Tt ó 75. Esto causa una trasferenciade información
del
registro fuente seleccionadoal registro de destino.

Bus de trasferencia

A menudo un sistema digitar tiene muchos registrosy se debe proveer


de
caminos para trasferir información de un registro u otro. considérese
por

Multiplexor
cuádruple
Habilitar 2xl
MUX (Figura5-17)

')
T.

Il

Figura 8-3 Uso de un multiplexor para trasferi¡ información


de dos fuentes a un solo destino

322
323
N T R ER E G I S T R O S
T R A S F E R E N CEI A
sEc. 8-2 it

como
ejemplo los requerimientos de trasferencia entre los tres registros
8-4. Hay seis líneas de datos y cada registro re-
.á -rrertra en ia Figura
multiplexó para selecóionar entre dos fuentes. Si cada registro
é"1.r. r"
y tres multipiexores.
áá.,siste de n flip-flop., huy necesidad de 6 n líneas
A medida qrru u,r^.rria'el número de registros, aumertta el número de mul-
tipiu*or". y el número de l í n e a s d e i n t e r c o n e x i ó n . S i s e restringe la tras-
ferencia a uno a uno, el número de caminos entre los registros, pueden
donde la
."¿n.it.u considerablemente. Esto se muestra en la Figura E-5'
común a través de
,uiiáu y entrada de cada flip-flop se conecta a la línea
interruptor. Todos los interrup-
un circuito electrónico que actúa como un
trasferencia'
tores están abiertos normalmente hasta que se requiera una
Para una trasferencia de F, a F3 , por ejemplo, se cierran los interrupto-
y S] para formar el camino requerido' El esquema puede ser exten-
raa S,
- - a io,,.girt.os
dido con n flip-flops, y este requiere n Iíneas comunes.
la información
Un grup; de alambres a'través áe Ios cuales se trasfiere
binaria ñlt u ¡it, un bit a la v e z e n t r e r e g i s t r o s s e l l a m a . b u s . Para la tras-
paralelo, el número de líneas en el bus es igual al número de bits
rerencia en
al sistema de
lo. regisiros. La idea de un bus de trasferencia es análoga
"" lado para el otro' En vez de
i.u.porte""entral usado para llevar gente de un
privado para ir de un lugar a otro. se usa un
que'cada viajero use traiporte
que esté dispo-
sistema de bls y los viajeros espelan en fila su turno hasta
nible el trasporte.
y uu
IJn sistema de bus común puede construirse con multiplexores
pueda seleccionarse pol
registro de destino para que el bus de trasferencia
seleccionan un registro fuen-
,"Eaio de un decodiiicador. Lo. multiplexores
para
l" pu.u el bus y el decodificador selecciona un registro de destino
desde el bus. La construcción de un sistema de
trasferir la infoimación
para cuatro registros se dibuja en la Figura 8-6. Los cuatro bits en Ia
bus
-i.áu posición sijnificativa de ios registros pasan a_través de un multi-
multi-
;i.;;; á. ¿ u 1 líñea para formar una línea de bus. Solamente dos
uno para dos bits significativos de
plexores se muestran en el diagrama:
y uno para dos bits significativos de mayor orden. Para re-
*".rol. orden

Figura 8-4 Trasferencia entre tres reglstros :t


{
.t'{

(¡{
irr
1.1

;
1

Figura 8-5 Trasferencia a través de una línea común

:-
í:l
Seleccionar

RegistroD

n LINEAS DE BUS
LíneaNo.1

Figura 8-6 Sistema de bus para cuatro registros

324
q
sEc. 8-2 T R A S F E R E N C IEAN T R ER E G I S T R O S3 2 5

gistros de n bits, se necesitan n multiplexores para producir un bus de


n líneas. Las n líneas en el bus se conectan a n entradas de todos los re-
gistros. La trasferencia de información de un bus a un registro de destino
se logra activando el control de carga de ese registro. El control de carga
particular activado se selecciona mediante las salidas del decodificador
cuando se habilita. Si el decodificador no se habilita, no se trasferirá nin-
guna información, aunque los multiplexores coloquen el contenido de un
registro fuente en el bus.
Para ilustrar lo anterior con un ejemplo particular, considérese Ia si-
guiente proposición:
C<_A

La función de control que habilita esta trasferencia debe seleccionar el


registro A para el bus y el registro C para el destino. Las entradas de se-
lección de los multiplexores y el decodificador deben ser:

Fuentede selección: 00 (losMUX seleccionan


losregistrosA)
: 10
Destinoseleccionado (el decodificador el registroC)
selecciona
Habilitación decodificador: 0 ( e l d e c o d i f i c a d o rs e h a b i l i t a )
i

En el siguientepulso de reloj el contenidode A, localizadosobreel bus, se


cargael registro C. l¡

Trasferenciade memor¡a

La operación de una unidad de memoria fue descrita, en la Sección 7-7.La


trasferencia de información a partir de un registro de memoria al exterior
se Ilama operación de lectura. La trasferencia de la información nueva a
un registro de memoria se llama la operación de escritura. En ambas ope-
ra¿iones, el registro de memoria seleccionado se especifica por medio de
una dirección.
Un registro de memoria o palabra se simboliza por medio de Ia letra M.
El registro de memoria particular entre los muchos disponibles en una uni-
dad de memoria se selecciona por medio de la dirección de memoria duran-
te la trasferencia. Es necesario especificar la dirección de M cuando se
escriben proposiciones de trasferencias de memorias. En algunas aplica-
ciones, solamente un registro de direcciones se conecta a los terminales
de direcciones de Ia memoria. En otras aplicaciones, las líneas de direc-
ción forman un sistema de bus común, para permitir que muchos registros
especifiquen una dirección. Cuando se conecta solamente un registro a Ia
dirección de memoria, se sabe que este registro especifica la dirección y
que se puede adoptar una convención que simplifica Ia notación. Si la letra
M aparece por sí sola en una proposición, designará siempre un registro
de memoria selecciorado por la dirección que está al presente en el MAR.
De otra rnanera, el registro que especifica Ia dirección (o la dirección en
sí) se encerrará entre llaves cuadradas después del símbolo M.
326 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

considérese una unidad de memoria que tenga un solo registro de di-


recciones MAR como se muestra en la Figura g-?. El diagrama muestra
también un solo registro separador de memoria MBr? usaáo para trasfe-
rir datos hacia adentro y afuera de la memoria. Hay dos operaciones de
trasferencia de memoria: lectura y escritura. La opéración de lectura es
una trasferencia de un registro M de memoria seleccionado al MBR. Esto
se designa simbólicamente por medio de la proposición:

R: MBR <- M

R es la función de control que inicia la operación de lectura. Esto causa Ia


trasferencia de la información al MBR del registro seleccionado de memo-
ria M especificado por la dirección en el MAR. La operación de escritura
es una trasferencia del MBR al registro de memoria ieleccionado M. Esto
se designa por medio de la siguiente proposición:

W: M <- MBR

I4l es la función de control que inicia la operación de escritura. Esta última


causa una trasferencia de la información del MBR al registro de memoria
M s e l e c c i o n a d op o r l a d i r e c c i ó n p r e s e n t e e n e l M A R .
tiempo de acceso de una unidad de memoria debe estar sincronizado
I Pt
los pulsos maestros de reloj en el sistema que dispara los registros del
-i'iai\ 1'", icon
procesador. En rápidas el tiempo de acceso debe ser menor que
{1 lnemorias
i ¡),
o igual a un período de pulso de reloj. En memorias lentas, podría ,", nu-
"',1'r l' cesa"rroesperar por un número de pulsos de reloj, para que'se complete
la
Ltrasterencra. .bjn memorias de núcleos magnéticos, los registros dei proce_
sador deben esperar para que el tiempo dé ciclo áe me*'oria ." .o-pl"t".
Para una operación de lectura, el tiempo de ciclo incluye Ia restauración
de ia palabra después de la lectura. pára una operaci¿n de escritura, el
tiempo de ciclo incluye el borrado de Ia palabra de memoria después dé la
lectura.
En algunos sistemas, la unidad de memoria recibe direcciones y datos
de muchos registros conectados a los buses comunes. Considérese el cu.o
dibujado en la Figura 8-8. La dirección a la unidad de memoria viene de
un bus de dirección. Se conectan cuatro registros a este bus y cualquiera
puede suministrar una dirección. La salida áe la memoria puede ir
a cual_
quiera de los cuatro registros, los cuares se seleccionan por medio
de un
decodificador. La entrada de datos a la memoria viene dei bus de datos. la

Unidad
de memoria

Figura 8-7 unidad de memoria que se comunica con dos registros externos
q
S E C .8 - 3 M I C R O O P E R A C I OANREIS S D E D E S P L A Z A M I E N3T2O7
T M E T I C ALSO. G I C AY

cual selecciona uno de los cuatro registros. Una palabra de memoria se


especifica en tal sistema por medio del símbolo M seguido por un registro
encerrado en llaves cuadradas. EI contenido del registro dentro de las
Ilaves cuadradas especifica la dirección de M. La trasferencia de infbr-
mación del registro 82 a una palabra seleccionada de memoria por la di-
rección en el registro A1 se simboliza por medio de la proposición:

W : M l A t f < -8 2

E s t a e s u n a o p e l a c i ó n d e e s c r i t u r a , c o n e l r e g i s t r o A 1 e s p e c i f i c a n d ol a d i -
rección. Las llaves cuadradas después de la letra M dan el registro direc-
cionado usado para seleccionar el registro de memoria M. La proposición
no especifica explícitamente Ios buses. Empero, ésta implica las entradas
de seiección requeridas por los dos multiplexores que forman los buses de
dirección y de datos.
La operación de lectura en una memoria con buses puede especificarse
de manera similar. La proposición:
R : B 0< - M l A 3 l

simboliza una operación de lectura de un registro de memoria cuya direc-


ción está dada por 43. La información binaria que sale de la memoria se
trasfiere al registro 80. De nuevo, esta declaración implica las entradas
de selección réqueridas por el multiplexor direccionado y las variables de
selección Dara el decodificador de destino.

8-3 M I C R O O P E R A C I O NAERSI T M E T I C A LSO Y


, GICAS
DESPLAZAMIENTO
,
Las microoperaciones de trasferencia entre registros no cambian el conte-
nido de infórmación binaria, cuando ésta pasa del registro fuente al regis-
tro de destino. Todas las demás microoperaciones cambian el contenido
de la infbrmación durante la trasferencia. Entre todas las operaciones
posibles que pueden existir en un sistema digital, hay un_conjunto básico
áel cual iodás Ias demás operaciones pueden obtenerse. En esta sección
se define un conjunto de microoperaciones básicas, su notación simbólica
y los materiales digitales que las configuran. Se pueden definir otras mi-
trooperaciones con símbolos adecuados, si es necesario, para amoldarse
a una aplicación particular.

Microope raciones a ritméticas

L a s m i c r o o p e r a c i o n e sa r i t m é t i c a s b á s i c a s s o n : s u m a r , r e s t a r , c o m p l e m e n -
tar y desplázar. Los desplazamientos aritméticos se explican en la Sección 'Iodas
8-? conjuntamente con el tipo de representación en datos binarios.
las demás opelaciones aritméticas pueden obtenerse de una variación o
secuencia de estas microoperaciones básicas.
Entradas

Lectura
Bus de Unidad
dirección de
memoria
Esc¡itura

Salidas Bus de Catos


Selección

Carga

Selecci<ín

Decodi-
Selección ficador
de destino

Figura 8-8 Unidad de memoria que se comunica con


múltiples registros

La microoperación aritmética se def.ine por la proposición:

F<-A-I B

la-cual especificauna operación de sumo. Esta


e s t a b l e c eq u e e l c o n t e n i d o
del registro A se va a sumar al contenido del regist.o
¡, vlu .u-u se tras-
fi.ere al registro i.. para configurar ra proposióión,
. se ,equie.e., tres re-
gistros, A, B y F y la fünción digital que
realiza la operación de suma, tal
como un sumador en pararelo. Las otras
operacio.es aritméticas básicas
se listan en la Tabla 8-2. La sustracción aritmética
implica Ia disponibili_
dad de un sustractor paralelo binario compuesto
de circuit's susrractores
cornpletos conectados en cascada. La sustracción
se configura a menudo
328
?
S E C ,8 - 3 S D E D E S P L A Z A M I E N3T2O
T M E T I C ALSO. G I C AY
M I C R O O P E R A C I OANREIS 9

por medio de la complementación y suma como se especifica por la siguiente


proposición:

F<-A+8+l

E es el símbolo para el complemento de 1de B. Al agregar1ai complementof c


'
de 1, dará el complemento de 2 d,eB. Agregando A al complemento de 2 de \
B, se produ cirá A menos B.'i
Las microoperaciones de incremento y decremento se simbolizan por
una operación de más uno ó menos uno ejecutadas con los contenidos del
registro. Estas microoperaciones se configuran con un contador creciente
o decreciente respectivamente.
Debe haber una relación directa entre las proposiciones escritas en
un lenguaje de trasferencia entre registros y los registros y funciones di-
gitales que se necesitan para su configuración. Para ilustrar esta relación,
considérese las dos proposiciones:

Tzi A<-Al B
Ts: A<-A * |

Tabla 8-2 Microoperaciones aritméticas

Designación
simbólica Descripción

F<_A + B Contenido de A más B se trasfiere a F


F<-A _ B Contenido de A menos B se trasfiere a F
B<_E Se complementa el registro B (complemento de 1)
B<-E+l Formar el complemento de 2 del contenido del registro B
F<-A+E+l A más el complemento de 2 de B se trasfiere a F
A<-A+l Incrementar el contenido de A en 1 (cuenta creciente)
A<-A-l Decrementar el contenido de A en 1 (cuenta decreciente)

RegistroB

¡umaoor f

paralelo
(Fis.5-1)

S uma¡
T2 RegistroA
Incrementa¡ ( F i e .7 - 1 9 )
Ts

Figura 8-9 Corifiguración para las microoperaciones de suma e incremento


\
330 LOGICA
DETRASFERENC
EINAT R ER E G I S T R o S C A P .8

La variable de tiempo T2 inicia una operación para sumar el contenido


del registro B al contenido presente de A. La variable de tiempo ?, incre-
menta el registro A. EI incremento puede hacerse fácilmente con un con-
tador y la suma de dos números binarios puede generarse con un sumador
en paralelo. La trasferencia de la suma del sumador en paralelo al registro
A puede activarse con una entrada de carga al registro. Esto indica que
el registro es un contador con capacidad de carga en paralelo. La confi-
guración de las dos declaraciones se muestra en el diagrama de bloque en
la Figura 8-9. Un sumador paralelo recibe información de entrada de los
r e g i s t r o sA y B . L o s b i t s s u m a d e l s u m a d o r p a r a l e l o s e a p l i c a n a l a s e n t r a -
das de A y la variable de tiempo T2 carga la suma al registro A. La varia-
ble de tiempo ?, incrementa el registro habilitando la entrada de incre-
mento (o entrada de conteo como en la Figura 7-19).
Nótese que las operaciones aritméticas de multiplicación y división
no están listadas en Ia Tabla 8-2. La operación de multiplicación puede ser
*, y
representada por el simbolo lu división por un /. Estas dos operacio-
nes son operaciones aritméticas válidas pero no se incluyen en el conjunto
básico de microoperaciones. El único lugar donde estas operaciones pueden
considerarse como microoperaciones es un sistema digital en donde se
configuran por medio de los circuitos combinacionales. En tal caso, las se-
ñales que ejecutan estas operaciones se propagan a través de las compuer-
tas, y los resultados de Ia operación pueden ser trasferidos a un registro
de destino por medio de un pulso de reloj, tan pronto se propagan las seña-
les de salida a través del circuito combinacional. En Ia mayoría de los
computadores, la operación de multiplicación se ejecuta con una secuencia
de microoperaciones de suma y desplazamiento. La división se ejecuta con
una secuencia de microoperaciones de resta y desplazamiento. Para espe-
cificar la configuración de los materiales en tal caso, se requiere una lista
de proposiciones que usan microoperaciones básicas de suma, resta y des-
plazamiento.

Microope raciones lógicas

Las microoperaciones Iógicas especifican operaciones binarias para una


cadena de bits almacenados en los registros. Estas operaciones conside-
ran cada bit en los registros separadamente y lo tratan como una variable
binaria. Como ilustración, Ia microoperacióndel OR exclusivo se simboliza
por medio de Ia proposición:

F<_A@ B

Esta especifica una operación lógica que considera cada par de bits en los
registros como variables binarias. Si el contenido del registro A es 1010 y
el del registro B 1100, Ia información trasferida al registro F es 0110:

l0l0 contenidode A
I 100 contenido de B

0l l0 contenido de F .-A O B
q
'q

S E C .8 - 3 S D E D E S P L A z A M T E t \3r O
T M E T I C ALSO, G I C AY
M I C R O O P E R A C I OANREIS 31

Hay 16 operaciones lógicas diferentes posibles que pueden reaiizars¿


con dos variables binarias. Estas operaciones lógicas se listan en la Taoi¿
2-6. Todas Ias 16 operaciones pueden expresarse en términos de A\D. OR
y complemento. Se adoptarán símbolos especiales para estas tres micro-
operaciones para distinguirlas de los símbolos correspondientes usados
para expresar funciones de Boole. El símbolo v se usará para demostrar
una microoperación OR y el símbolo A para denotar una microoperación
AND. La microoperación complemento es la misma que el complemento de
1 y usa una barra encima de la letra (o letras) que denotan el registro.
Usando eqtos--símbo.los, es posible diferenciar entre una micrgoperación
lógr_cay una función de control (o"de Boole). Los símbolós para las cuatro
microóperaciónes lógicas se sumarizan en Ia Tabla 8-3. Los últimos dos
símbolos son para las microoperaciones de desplazamiento expuestas a
continuación.

Tabla 8-3 Microoperaciones lógicas y de desplazamiento

Designación
simbólica Descripción

A<_F Complementatodoslosbits del registroA


F<-A\/ B MicrooperaciónO R lógica
F<_A \B MicrooperaciónAND lógica
F<_A@B MicrooperaciónOR exclusivaIógica
A<-shlA a la izquierda
RegistroA de desplazamiento
A <-shr A a la derecha
RegistroA de desplazamiento

Una razón muy importante para adoptar un símbolo especialpara la


microoperaciónOR es diferenciarel símbolo * cuandose usa como un más
aritmético en una operaciónlógica OR. Aunque el símbolo * tiene dos sig-
nificados,"?s pbsible distinguirlos notando cuando ocurren los símbolos.
Cuancloeste símbolo se presenta en una microoperación,denota un más
aritmético. Cuando ocurre en una función de control (o de Boole) denota
una operaciónlógica OR. Por ejemploen Ia declaración:
Tr+Tr: A<-A*B, C<-D\/F

el { entre Tr y Tz es una operación OR entre dos variables de tiempo


de una función de control. EI * entre A y B especificauna microoperación,
de suma. La microoperaciónOR se distingue por el símbolo V entre los re-
gistrosD y F.
Las microoperacioneslógicas pueden configurarsefácilmente con un
grupo de compuertas.EI complementode un registro de n bits se obtiene
de n compuertasinversoras.La microoperaciónAND se obtiene de un gru-
po de compuertasAND, cada una de las cuales recibe un par de bits de los
dos registrosfuente. Las salidas de las compuertasAND se aplican a las
entradas del registro de destino. La microoperaciónOR requiereun grupo
de compuertasOR dispuestasde manera similar.
M i c r o o p e r a c i o n e sd e d e s p l a z a m i e n t o !F

Las microoperacionesde desplazamientotrasfieren la información


l
binaria
entre registrosen los computadoresen serie. Se usan taÁui¿.,
."
dores en paralelo para operacionesaritméticas, lógicas "o-puiu-
de control. Los
registrospueden trasferirsea la izquierda o a l; de;e;ha.v
No hay símbolos
convencionalespara las operacionesde desprazamiento.En
estó ribro, se
adoptan los símbolosconvéncionalespara las operacior,.,
á" desplazamien_
to. 4n este libro, se adoptanlos símbolosshl y,ar p".u-r"s
operaciones de
desplazamientoa la izquierda y a la derecha.á.pu.tiuá-r't..^po.
.juÁpr,o,
A <- shl A, ,B<_ shr .B

son dos-microoperaciones que especificanun desplazamientode 1 bit a la


izquierda-del registro A y r bit á Ia derechaa.r'r"gi.l;á-g.
Br símborode
g:be ser el mismo en ambos lados de Iu fl.""h; ;;-o .r'u operación
:t^*l:,:
oe lncremento.
Mientras los bits. de un registro se desplazan,los flip-frops extremos
reciben iiiformación de ra entrad" .ó.-ü-nl-nrp-ñ"p'e*tre-o ettá en
"n
la posición de extrema izquiérda áéi"-ie"giltro, duünte^ una operación de
desplazamientoa la derechá.yen la posición de extrema izquierda
durante
una operaciónde desplazamientoa la izquierda. La információn
t¡asferida
a los flip-flops extremosno se especificapor los símbolos
siL y rhr. por tan_
to, una proposición de una microoperaciónde desplazamiento
debe estar
acompañadacon otra microoperaciónque especificael valor
de la entrada
en serie del bit trasferido al flip-flop .itr.-ó. por ejemplo:

A <--shlA, A, <_An
e-sun desplazamiento-.circular
que trasfiere el bit de la extrema izquierda
desde An hasta el flip-flop ae ta extrema derecha
¿,.-n. manera si-
milar:

.B<- shr B, An <- E


es una operaciónde desplazamientoa la derecha con el
flip-flop de la ex_
trema izquierda A" recibiendoel valor del registro f a"
i ¡it.
8-4 P R O P O S I C I O N ECSO N D I C I O N A L E S
DE CONTROL
Es
,conveniente algu.nasveces especificar una condición de control por
med-iode una proposicióncondicional en vez de una función
de control de
Boole. una proposiciónde control condicional se simboliza por
medio de
una proposición de si-entonces-portanto de la siguiente
manera:
P: sl (condición)entoncesImicrooperación(es)]
por tanto I microoperación(es)]

La proposición se interpreta de manera que si la condición


de control, es-
tablecida entre paréntesis despuésde la palabra r;, es u"laua.ru,
enton-
332
SEC. 8-4 S O N D I C I O N A L E SD E C O N T B O ' 3 3 3
PROPOSICIONEC

ces se ejecuta la microoperación (o microoperaciones t encerrada entre


paréntesisdespuésde la pálabra entonces. Si la condición no es verdadera'
se ejecuta la microopetu.iótt listada después de la. palabra pc)r tanto. De
cualquier forma, la función de control P debe ocurrir para cuaiquier evento
qu" ." haga. Si la partepor tanto f.alta,entoncessi la condición no es ver-
dadera-rro*se ei6Cütanada'
-"'Lilpioposición
de control condicionales más una corrveniencia que
,r,a ,receridad. Esta habilita la escritura de proposiciones mas claras que
son más fáciles de interpretar por la gente. Puede ser reescrita por una
proposiciónconvencionalsin la forma si-entonces-portanto'
Como ejemplo, considéreseIa proposiciónde control condicional:

? z : s i ( C : 0 ) e n t o n c e (sF * 1 ) p o r t a n t o( F * 0 r

Se asume que F es un registro de 1 bit (flip-flop) qr¡e puedeser puesto a 1


o borrado. Si el registro C es un registro de 1 bit, Ia afirmacion es equlva-
lente a las dos proposicionessiguientes:

C'Tr: F<- I
CTt: F<--0

Nótese que la misma variable de tiempo puedeocurrir en dos tuncionesde


control separadas. La variable C puedeser 0 ó 1; por tanto soiamenteuna
de las ,oi"rooperu.ionesse ejecutan durante T2 , dependiendodel valor
de C.
si el registro c tiene más de un bit, la co¡dición c_: 0 significa que
todos tos ¡itl ae C debenser 0. Al asumir que el regisuo f' tiene cuatro bits
Cr, Cr, Cz y Ca la condición para C:0 puede ser expresadacon una
funcióir de Boole:

x : CíClCáCl: (C, + c2 + c3 + cl)'

La variable r puede ser generadacon una compuerta \oR. usando la de-


finición de r como ." ..Iublu"ió, la proposicióndel control condicional es
equivalentea dos ProPosiciones:

xTr: F <- I
x'Tr: lf<- 0 .; .l

¡
,i
La variable¡: 1 si C:0 peroes igual a 0 si C I 0'
Cuando se escribenproposicionesde control condicional,se debe tener
parte
en cuenta que la proposiiión establecidadespuésde la palabra sl, es
de la función de cbntrol y no parte de la proposiciónde microoperación.La
condición debe establecerse claramente y debe poder configurarsecon un
circuito combinacional.

.: 'i
.'.'
8-5 DATOS BINARIOS DEL PUNTO FIJO

La información binaria encontrada en los registros representa datos o in-


.r-ormaciónde control. Los datos son operando-sy otros^elementos discretos-
de información con los cuales se opera para lograr los resultados requeri-
dos. La información de control es un bit o g*lpo de bits que especifican
Ias-operaciones que se van a ejecutar. una u"iaa¿ de info¡mación
de con_
trol almacenada en los registros de computador digital se llama instruc_
ción. y es un código binario que especifica las opeia"io.r". que se van
a
realizar con los datos acumulados. Los códigos dé instrucción y su repre-
sentación en los registros se presentan en la Sección g-11. Al final de^las
siguientes secciones se presentan algunos tipos comunes de datos y ¡/
su
representación.

Representación del signo y el punto radical

Un registro con n flip-flops puedc almacenar un número binario de n bits;


cada flip-flop repres_entaun dígito binario. Este representa Ia magnituá
del número pero no da información acerca de su signo o la posición de"lpun-
to binario. El signo se necesita para operacioneÁ aritméiicas yu q.ré ."-
presenta cuando el número es positivo o negativo. La posición del punto
decimal es necesaria para representar enteros, fracciones o números en-
teros y fraccionarios mezclados. +
El signo de un número es una cantidad discreta de información que
tiene dos valores: más o menos. Estos dos valores pueden ser represen-
tados por un código de un bit. La convenció-nqs representar un más cor .r.,
0 y u.n menos.con un L Para representaru.t númÁro binario con signo, se
necesitan n: k + 1 flip-flops, k de ellos para la magnitud y uno para alma- I
cena¡ el signo del número.
La representación del punto binario se complica por el hecho de que
éste se caracteriza por una posicíón entre los dos flip-flops en el registio.
Ha}' dos maneras p-osibles de especificar la posición iel
iunto binario en
un registro: dándole una posición de punto /ryo o empleando una represen-
tación de punto flotante. El método del punto fijo aiume que el prr.,to bl-
rario está siempre fijo en un posición. Las dos posiciones más uJadas son
' L' un punto binario en el extremo izquierdo clel registro para
hacer del
sumero almacenado una fracción, y (2) un punto binario en el extremo del
registro para hacer del número almacenado un entero. En ambos casos el
punto binario no es_visible físicamente, pero se asume a partir del
hecho
de que el número almacenado en el registro se trata .,.r, fracción o
como un entero. La representación del punto flotante"ornó usa un segundo re-
gistro para aimacenar un número que designa la posición del punlo
binario
en el primer registro. La representación áel punto flotante ie explica en
l a S e c c i ó n8 - 9 .

Números binarios con signos

cuando un número binario de punto fijo es positivo, el signo se representa


como 0 y la magnitud por un número binario positivo. cua-ndo el número
es
334
1
sEc.8-5 S E LP U N T OF I J O3 3 5
D A T O SB I N A R I OD

njgglyg el signo se representa por un 1 y el resto del número puede ser


répiásariiado por cualquiera de Las tres maneras siguientes. Estas son:

1. Signo-magnitud.
de 1.
2. Signo-complemento
de 2.
3. Signo-complemento

En la representación de la magnitud del signo, ésta se representa por un


número binario positivo. En las otras dos representaciones, el número es-
tará en complemento de 2 ó de 1. Si el número es positivo, las tres repre-
sentaciones son iguales.
Como ejemplo, el número binario 9 se escribe a continuación en tres
modalidades. Se asume que se dispone de un registro de 7 bits para alma-
cenar el signo y la magnitud del número.
+9 -9

Signo-magnitud 0 00100r I 001001


S i g n o - c o m p l e m e n t o d e l0 0 0 1 0 0 1 I ll0ll0
S i g n o - c o m p l e m e n t o d e 20 0 0 1 0 0 1 I ll0lll

Un número positivo en cualquier representacióntiene un 0 en el bit de la


extrema izquierda para un más, seguidode un número binario positivo. Un
número n"gutino silmpre tiene un 1 en el bit de la extrema izquierdapara
un menos, pero los bits de magnitud se representanen forma diferente.
En la repreientación de signo-magnitud,estos bits son el número positi-
vo; en la representacióndel complementode 1, estos bits son el comple-
ménto del nümero binario; y en Iá representacióndei complementode 2, el
número está en su forrna de complementode 2.
La clara representacióndel signo-magnitudde - 9 se obtiene de * 9
(0001001).o^pi"rn".,tando solamente el bit del .signo' La reprresentación
de signo-compiementode i de - 9 !" obtiene gomplementandofodos.los
bits de 00g1001(+g), incluyendoel bit del signo- La representación de
signo-co¡nplemento de 2 se logra obteniendoel complementode 2 del núme-
ro positivo, íncluyendosu bit de signo.

Suma aritmética

La razón para usar la représentaciónde signo-complementopara los nú-


meros tt"gátinot se hará aparente una vez se consideren los diferentes
pu.o, p"tá formar la suma de dos números con signo. La representación
de signo-magnitud es la que más se usa en los cálculos cotidianos. Por
^det +iS V -3b son representadoscon un signo seguidopor la magni-
ejemplo,
tud númeio. Para sumar estas dos funciones' es necesariorestar Ia
magnitud menor de la magnitud mayor y usar el signo del número mayor
-23): - 12' EI
corio el signodel resultado,es decir 11-23)a 1-35): - (35
3 3 6 L o G I c AD E T R A S F E R E N C
EINAT R ER E G I S T R o S

proceso de sumar dos núme¡os con signo, cuando los números


cAP. 8

negativos
I
están representados_9n-la forma de signo-magnitud, requiere que se
com-
paren estos signos. Si los dos signos no son iguales, se
óo*pu.án las mag-
nitudes relatir-asde los números y luego se resta el menor-del mayor.
ñs
necesa¡io determinar tamtlién el signo del resultado. Este es
un proceso
q u e r e q u r e r e u n a s e c u e n c i a d e d e c i s i o n e sd e c o n t r o l d e l a
misma que cir_
cultos que puedan co-mparar, sumar y restar números, cuando ."
con materiales digitales. "orrfigu.u
compárese ahora el procedimiento anterior con el procedimiento que
forma la suma de dos números binarios con signo, los números ne-
g a t i r o - r e s t á n r e p r e s e n t a d o se n l a f o r m a d e c o m p l e".ru.rdo
mento de 1ó 2. Estos
procedimientos son muy simples y pueden fo¡mularse
de la sizuiente ma_
nera:

5u¡no representada por signo-complementr¡ de 2. La suma de dos nú-


meros binarios con signo y los números negativos representados
por sus complementos de 2 se obtienen de Ia suma de dlos números
con sus bits de signo incluidos. se descarta el arrastre en el bit
más significativo (signo).
.\umo representada por sígno-complemento de 1. La suma
de dos nú-
meros bina¡ios con números negativos representados por sus
complementos de 1, se obtienen de la suma de dos númeios, con
sus bits de signo incluidos. si hay un arrastre del bit más signi-
ficativo (signo), el resultado se incrementa en 1 y el arrastrJ se
descarta.

Los ejemplos numéricos para la suma con números negativos,


repre-
sentados por su complemento de 2, se muestran a continuáción.
Nóiese
que dos números negativos deben estar inicialrhente
representad,ospor
s, complemento de 2 y que la suma obtenida después
de ü adición estará
s i e m p r e c o n l a r e p r e s e n t a c i ó na d e c u a d a .

+ 6 0 000110 6 I il1010 F
-r+
+ 9 0 001001 + 9 0 001001

+15 0 00lllr +3 0 0 0 0 0 1-1,

+6 000110* 9 I Il0lll
,+
9 ll0lll ¡ 9 l Il0lll

3 I llll0l * rt 18 I l0lll0 \

Los dos números de los cuatro ejemplos se suman, con


sus bits de
signo incluidos. cualquier arrastre del bit de signo se descarta y
los resul_
4
sEc S-5 D A T O S B I N A R I O SD E L P I J \ T O F , ] 33-

tados negativos se producen automáticamente en la forma de compien:e:.:


de 2.
Los cuatro ejemplos se repiten a continuación con los números nega-
tivos representados por su complemento de 1. El arrastre del bit de signo
se regresa y agrega al bit menos significativo (arrastre final lleva final de
reinicio).

+6 0001l0 6 l lll00l
+
+9 001001 +9 0 001001

+15 0 00llll

C':
+3 0 00001l

+6 0001l0 9 I ll0ll0

9 I l0ll0 9 I I10110

3 I llll00 t}tt00
¡tt -
\-l
-18 I l0l l0l

La ventaja de la representación en la fbrma de signo-complemento de


2 sobre la forma signo-complementode 1(y la forma signo-magnitud) es
que la primera contiene solamente un tipo de cero. Las otras dos repre-
sentacionestienen ambas un cero positivo y un cero negativo. Por ejem-
plo, agregándo * 9 a - 9 en la representación de complemento de 1, se
obtiene:

+9 0 001001
-9 I ll0ll0
-0 l llllll

y e l r e s u l t a d o e s u n c e r o n e g a t i v o , e s d e c i r , el complemento de 0 000000
(ceropositivo).

IJn cero con su bit de signo asociado aparecerá en el registro en una de


las siguientes formas dependiendo de la representación usada para núme-
ros negativos:
338 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 I
CAP. 8

+0 -0
En signo-magnitud 0 0000000 l 0000000
En signo-complemento
de 1 0 0000000 l illllll
En signo-complemento
de 2 0 0000000 ninguna
Ambas representaciones de signo-magnitud y complemento
de 1 tienen
asociadas con ellas la posibilidad de "r.r negativo. La representación
del "".o un cero positivo.
.signo-complemento de 2 tiene solamente Esto ocurre
debido a que el complemento de 2 de 0 000000 ("".n pá.itiro)
0 000000 y
puede ser obtenido del complemento de 1
m á s t ( e s d e c i . 1 1 1".1 1 1 1 * 1 ) t e -
niendo en cuenta que se descarta el arrastre
final o lleva final de reinicio.
El rango de los números enteros binarios q"" pr"aarr^r".
u"orrrodados
en un registrode n:&+t u r t e s - r ( 2 É - 1 ) , d o n d e s e r e s e r v a n& b i t s p a r a
el. número y un bit para el signo. u.r regisiro
s ¡it, lu.a" almacenar
números binarios en el rango á" *
12, _ 1) : -+"o" 127. Sin embargo, como la
representación de signo complemento de 2 tiene
soramente un cero, debe
acomodar un número_más que las otras dos represe";¿;;;;r.
considérese ¡
la representación de los números mayores y menores:

Signo Signo
I
complemento de 1 complemento de 2
*126:0 llllll0 - 126: I 0000001
r 0000010
+127:0 lllllll -127 : I 0000000 l 0000001
+ 128(imposible) - 128(imposible) I 0000000
En la representación
.de signo-complementocre 2, es posibre representar
- 128 con ocho bits. En general, la representaciónde sig.ro-complemento
de 2 puede acomodarnúmeros en er rango
- I y n es el número de bits en + (20- 1) a - 2k, d.ond.e
h: n
el registro.

Sustracción aritmética

La sustracción de dos números binarios con signo,


cuando los números
negativosestán en la f913g de complementode i,
.i ;;t;imple y puede
exponersecomo sigue:.obténgaseel complementode
z dél susiro"Á¿b6r_
cluyendo el signo de bit) y súmeseaL minuend,o(incruyenio
et bit de sig)o).
Este procedimientohace uso der hecho que ;"; ;ñr;;;ón de resta pue_
de cambiarsea una operaciónde suma si!eeliigno ¿et^.ust.aerrdo
se cambia.
Esto se demuestrapor Ias siguientesrelaciones(B es er sustraendo):

(!A)-(-B):(t.q)+(+r)
(t¿) - (+ B) : (tA) + (_ B)
cambiar un número positivo a un número negativo
se hace fácilmente to-
t"1q9 el complementode 2 (incluyendo el blt a"
sig.,oj. Lo contrario es
también verdad, por.queel complementodel
ro a su valor original. ar núme-
"o."pi"."É"1á'.Jgr".u
S E C .8 - 6 S O B R E C A P A C I D3A
39D

L a s u s t r a c c i ó n c o n n ú m e r o s e n c o m p l e m e n t od e 1 e s s i m i l a r . e r c e D l { '
por el arrastre final o lleva final de reinicio. La sustraccion con signtr-n,-g-
nitud requiere que solamente el bit signo del sustraendo se complemente.
La suma y resta de los números binarios en la representaciónde signo-
magnitud se demuestra en Ia Sección 10-3.
Debido a que el procedimiento más sencillo para sumar ¡' restar nú-
meros binarios con números negativos lo constituye la forma de signo-
complemento de 2, la mayoría de las computadoras adoptan esta represen-
tación sobre la forma más familiar de signo-magnitud. La razón por la cual
e l c o m p l e m e n t o d e 2 s e e s c o g e ,e n v e z d e l c o m p l e m e n t o d e 1 . e s p a r a e v i t a r
el arrastre final o lleva final de reinicio v la ocurrencia de un cero negativo.

8-6 SOBRECAPACIDAD

Crrando dos números con n dígitos cada uno se suman y la suma ocupa
n f 1 d í g i t o s , s e d i c e q u e h a y u n d e s b o r d a m i e n t o p o r s o b r e c a p o c i d o d .E s t o rf
es verdadero para los números binarios o números decimales con o sin i
signo. cuando se hace una suma con lápiz y papel, una sobrecapacidad
no ,rtt problema ya que no hay limitaciones por el ancho de la página I

para ". escribir la suma. Una sobrecapacidad es un problema en un computa-


dor digital ya que las longitudes de todos los registros, inclul-endo todos
los registros de memoria son de longitud finita. Un resultado de n -t I bits
no puede acomodarse en un registro de longitud normalizada n. Por esta
razón, muchos computadores comprueban Ia ocurrencia de la sobrecapaci-
dad y cuando esto ocurre, ponen a 1 el flip-flop de sobrecapacidad para que
el usuario verifique.
un sobrecapacidad no puede ocurrir después de una suma si un núme-
ro es positivo y el otro es negativo ya que agregando un número positivo a
un número negativo produce un resultado (positivo o negativo), el cual es
menor que el mayor de los dos números originales. Una sobrecapacidad
puede ocurrir si los dos números se suman y ambos son positivos o ambos
negativos. Cuando se suman dos números representados en signo-magni-
tuá, se puede detectar fácilmente una sobrecapacidad por el arrastre o el
número de bits. Cuando se suman dos números representados en signo-
complemento de 2, el bit signo se trata como parte del número pero no ne-
cesariamente indica una sobrecapacidad.
El algoritmo para sumar dos números representados por signo-com-
plemento de 2, como se ha establecido antes, produce un resultado inco-
rrecto cuando sucede una sobrecapacidad. Esto ocurre debido a que una
sobrecapacidad de los bits del número cambian siempre el signo del resul-
tado y se causa una respuesta errónea de n bits. Para observar cómo ocu-
rre esto, considérese el siguiente ejemplo: dos números binarios con signo
35 y 40 se almacenan en dos registros de ? bits. La capacidad máxima del
r e g i s t r o e s ( 2 8 - 1 ) : G 3y l a c a p a c i d a d m í n i m a e s - 6 t j : * 6 4 . C o m o l a s u -
ma de los números es ?5, esta excede la capacidad del registro. Esto es va-
ledero si los números son ambos positivos o negativos. Las operaciones en
binarios se muestran a continuación conjuntamente con los dos últimos
arrastres de la suma:
3 4 O 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

arrastre: 0 I arrastre: l0
+35 0 10001I -35 I 0lrl0l
+40 0 10r000 -40 I 0l 1000

*75 0 l l0l0l

En amb.s casos, se observa que el resultado de T bits, que debería ser po-
s i t i ' t ¡ . e s n e g a t i v o o v i c e v e r s a . o b v i a m e n t e , l a r e s p u e s t ab i n a r i a e s i n c o -
rrecta v el algoritmo para sumar números binarios representados en la
to¡ma de complemento de 2, como se ha establecido antes, falla en producir
: e s u l t a d o s c o r r e c t o s c u a n d o o c u r r e u n a s o b r e c a p a c i d a d .N ó t e s e q u e s i e l
arrastre que se ernana de la posición del bit de signo se toma como el signo
del ¡esultado, entonces los 8 bits de la respuesta serán correctos.
Lina condición de sobrecapacidad puede ser detectada observando el
rrrasire c lo posición del bit del signo y el arrastre de la posición del bit
oel signo. Si estas dos categorías no son iguales, se producen condiciones
' i e s ' r b ¡ s c ' ¿ p a c i d a dE. s t o s e i n d i c a e n e l e j e m p l o a n t e r i o r e n e l c u a l s e m u e s -
I fan explícitamente las dos categorías. El Iector puede tratar varios
e,emplos de números qué no producen una sobrecapacidad para observar
cue estos dos arrastres se convertirán ambos en 0 ri 1. Si estos se aplican
a u n a c o m p u e r t a O R e x c l u s i v a , s e d e t e c t a r á u n a s o b r e c a p a c i d a dc u a n d o
i ¿ ls a l i d a d e i a c o m p u e r t a e s 1 .
La suma de dos números binarios con signo, cuando se representan
Lrs numeros negativos en la forma de signo y complemento de 2, se confi-
gi.rracon funciones digitales como se muestra en la Figura 8-10. El registro
.f aimacena un sumando con su bit de signo en la posición ,4". EI regis-
t r o B ¿ r l m a c e n ae l o t r o s u m a n d o c o n s u b i t d e s i g n o e n B n . L o s d o s n ú m e -
r o s s e - q u m a np o r m e d i o d e u n s u m a d o r e n p a r a l e l o d e n b i t s . E l c i r c u i t o
sumador completo (FA) en la etapa n (los bits de signo) se muestra explí-
citamente. El arrastre que va a este sumador completo es C, . El arrastre

Figura 8-lO Suma de números en signo-complemento de 2


sEc.8-7 AR
DESPLAZAMIENTO S I T M E T I C O3S4 l
1
.t
. l

que sale del sumador €S C,11. La función OR exclusiva de estos do= arras- r
tres se aplica a un flip-flop de sobrecapacidad V. Si despues de ia sun-ra. I
V:0, entonces la suma cargada en A es correcta. Si y:1. hav una :''hre-
capacidad y la suma de n bits es incorrecta. El circuito mt'st¡ado en ia .:
F i g u r a 8 - 1 0 p u e d e e s p e c i f i c a r s ep o r m e d i ó d e l a s i g u i e n t e p r . p r 5 ¡ 6 ¡ q ¡ '
¡
T: A<-A+8, V<-C,OC,*t I
1
L
I
Las variables de la declaración se definen en Ia Figura 8-10. \otese que las
variables C, y Cn+r no representan registros, ellas representan arras-
tres del sumador paralelo.

8-7 AS
DESPLAZAMIENTO RITMETICOS

Un desplazamiento aritmético es una microoperación que mueve un nú-


mero binario con signo a la izquierda o a la derecha.Un movimiento arit-
mético a la izquierda multiplica un número binario con signo por 2. Un
movimiento aritmético a la izquierda divide el número por 2. Los despla-
zamientos aritméticos deben dejar el signo sin cambio al3rno ¡'a que el
signo del número permanece igual cuando se multiplica o dir ide por 2.
El bit de la extrema izquierda de un registro almacena el bit del signo
y los bits restantes almacenan el número. La Figura 8-11 muestra un re-
gistro de n bits. El bit A" de la extrema ezquierda mantiene el bit del
signo y se designa como A(S). Los bits del número se almacenan en la par-
te del registro designada por A(N). A1 se refiere al bit menos significativo,
An , se iefiere a la posición más significativa de los bits del numero, y A
se refiere al registro entero.
n n- I I n

,4(S)l AW\ Registro A

Bit del Bits del número


sigrro

Figura 8-ll Registro que define A para desplazamientos aritméticos

Los números binarios de punto fijo pueden ser representados de tres


maneras diferentes. La manera de desplazar el número almacenado en un
registro es diferente para cada representación.
Considérese primero un desplazamiento aritmético a la derecha que
divide el número por 2. Este puede simbolizarse por cualquiera de las si-
guientes proposiciones :

A(N)<-shrl(N), An-t+0 parasigno-magnitud


l
A <- shrA, l(S) <- l(S) para signo-complemento 2)
de 1 o signo-complemento

En la representación de signo-magnitud, el desplazamiento aritmético a


la derecha requiere un movimiento de los bits del n{rmero con un 0 colocado
342 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

en la posición más signiiicativa. Ei bit del signo no se afecta. En la repre-


sentación de signo-complementode 2 ri de 1. todo el registro se desplaza
mientras que el bit del signo permanece inalterado. Estri se debe a que pa-
ra un número positivo se debe colocar un 0 en la posicirin más significativa
y para un número negativo se debe colocar un 1. Los sisuientes eiemolos
numéricos ilustran el procedimiento.

Númeropositivo * 12: 0 0l 100 *6: 0 001l0


Signo-magnitud - 12: I 0l 100 -6: I 00110
S i g n o - c o m p l e m e n t od e 1 - 12: I l00i I -6: I I l00l
Signo-complementode2 -12: I 10100 -6: I I l0l0

En cada caso el desplazamientoaritmético a la derecha del 12 produce un


6 sin alterar el signo. Para números positivos, el resultado es ei mismo en
t o d a s l a s t r e s r e p r e s e n t a c i o n e s .u n n ú m e r o e n s i g n o - m a g n i t u d , p o s i t i v o ,
n e g a t i v o , o c u a n d o e s d e s p l a z a d o ,r e c i b e u n 0 e n l a p o s i c i ó n m á s s i g n i f i c a -
tiva. La posición más significativa recibe ei bit del signo en las dos repre-
s e n t a c i c i n e sd e s i g n o - c o m p l e m e n t o .E l ú l t i m o c a s o e s l l a m a d o a l g u n a s v e c e s
d e s p L a z a m i e n t ac o n e x t e n s i ó n d e s i g n o .
considérese ahora el desplazamiento aritmético a ia izquierda que
multiplica el número por 2. Este puede simbolizarse por cualquiera de ias
s i g u i e n t e s p r o p o s i c i o n e s:
A(N) <- shll(N), A, <-0 para signo-magnitud

A < - s h lA , A, <- A(S) p a r a s i g n o - c o m p l e m e n t od e I


A<-shlA, Ar<-0 para signo-complemento de 2

E n l a r e p r e s e n t a c i ó nd e s i g n o m a g n i t u d , I o s b i t s d e l n ú m e r o s e d e s p l a z a n
a la izquierda con un 0 colocado en la posición menos significativa. En ia
cle signo-complementode I todo el registro se desplaza v el bit del signo
s e c o l o c a e n l a p o s i c i ó n m e n o s s i g n i f i c a t i v a . E I s i g n o - c o m p l e m e n t od e 2 e s
. i m i l a r . e x c e p t o q u e u n 0 e s d e s p l a z a d oa l a p o s i c i ó n m e n o s s i g n i f i c a t i v a .
C ' o n s i d é r e s ee l n ú m e r o 1 2 d e s p l a z a d o a l a i z q u i e r d a p a r a p r o d u c i r 2 4 :

Número positivo 0 0l100 0 11000


Signo-magnitud l 0l100 I 11000
Signo-complementode1 I 1001I I 001l1
Signo-complementode2 I 10100 l 01000
un número desplazadoa la izquierda puede causar que ocurra un des-
bordamiento por sobrecapacidad.LIna sobrecapacidadocurrirá despuésdel
desplazamientosi existe la siguiente condición r¿nte.s
del desplazarniento:
An-l : I para slgno-magnrtuct

A,@An_1:l para signo-complemento de 1 o signo-complemento de 2:


q
sEc.8-8 D A T O SD E C I M A L E S3 4 3 ,.j
I

En el caso de signo magnitud, se desplazay desapareceun 1 de la posición ,


más significativá. En el caso de signo-complemento, ocurrirá la sobrecapa- i

cidad si el bit de signoA,:A(s), no es igual al bit más significativo.con-


sidéreseel siguiente ejemplo numérico con númerosde signo-complemento
de 2: 1

Valor inicial 9: 0 l00l Valor inicial -9: I 0l l0 I


't

desplazamiento -2: I 0010 desplazamiento 1-2: 0 ll0l


a la izquierda a la izquierda

El desplazamiento a la izquierda debería producir 18, pero como el signo


original se pierde, se obtiene un resultado incorrecto con una inversión de
s i g n o . S i e l b i t d e s i g n o d e s p u é sd e l d e s p l a z a m i e n t o n o e s e l m i s m o q u e e l
-signo
bit de d e s p u é s d e é 1 , o c u r r i r á u n a s o b r e c a p a c i d a d .E l r e s u l t a d o c o -
rrecto será un número de n + 1 bits, con el bit de la posición (n + 1) conte-
n i e n d o e l s i g n o o r i g i n a l d e l n ú m e r o e l c u a l d e s a p a r e c i ód e s p u é sd e l d e s p l a -
zamiento.

8-8 D A T O SD E C I M A L E S

La representación de números decimales en los registros es una función


del código binario usado para lepresentar un dígito decimal. Un código
decimal de 4 bits, por ejemplo, requiere cuatro flip-flops para cada dígito
decimal. La representación de * 4385 en BCD requiere al menos i7 flip-
flops: un flip-flop para el signo y cuatro para cada dígito. Este número se
representa en un registro con 25 flip-flops de la siguiente manera:

+0043 85

0000000000 I 0000 I I I 0000 I 0 I

Al representar los números en decimal, se desperdicia una cantidad


considerable de espacio de almacenamiento, ya que el número de flip-flops
n e c e s a r i o sp a r a a l m a c e n a r u n n ú m e r o d e c i m a l e n c ó d i g o b i n a r i o e s m a y o r
que el número de flip-flops necesarios para su representación binaria equi-
v a l e n t e . T a m b i é n , l o s c i r c u i t o s r e q u e r i d o sp a r a r e a l i z a r a r i t m é t i c a d e c i m a l ,
son mucho más complejos. Sin embargo, hay algunas ventajas en el uso de
la representación decimal, principalmente porque los datos de entrada y
salida del computador son generados por personas que siempre usan el
sistema decimal. Un computador que usa representación binaria para ope-
raciones aritméticas, requiere conversión de datos de decimal a binario
antes de realizar cálculos. Los resultados binarios se deben convertir de
nuevo a decimales para Ia salida. Este procedimiento consume tiempo;
v a l e I a p e n a u s a r l o e n l a s i t u a c i ó n e n q u e l a s o p e r a c i o n e sa r i t m é t i c a s s e a n
enormes, como en el caso de aplicaciones científicas. Algunas aplicacio-
nes, tales como procesamiento de datos de negocios, requieren pequeñas
cantidades de cálculos aritméticos. Por esta razón, algunas computadoras
344 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

realizan cálculos aritméticos directamente con datos decimales (en código


binario) para así eliminar la necesidadde conversióna binario y de nueio
a decimal. Los sistemasde computadoresde gran escala comúnmentetie-
nen componentes para realizar cálculos aritméticos en representación
binaria y decimal. El usuario puede especificar mediante instrucciones
programadas,si el computador va a realizar cálculos en datos binarios o
decimales.Un sumadordecimal se introdujo en la Secciónb-3.
Hay tres maneras de representar números decimales negativos de
punto fijo. Ellas son similares a las tres representaciones
de un número
binario negativo, exceptopor el cambio del radical:

1. Signo-magnitud.
2. Signo-complemento
de 9.
3. Signo-complementode 10.

un número decimal_positivose representapor un 0 (para el más) seguido


por Ia magnitud del número para todas las tres représentaciones. EJ con
respecto a Ios números negativos que difieren lal representaciones.El
signo de un número negativo se representapor un 1 y lá magnitud del nú-
mero es positiva en la representaciónde signo-magnitud. En las otras
dos representacionesla magnitud se represettlapo. ál complementode g
y de 10.
El signo de un número decimal se toma argunasvecescomo una can-
tidad de_4 bits para estar acorde con la repre*sentación de 4 bits de los
dígitos. Es costumbre representarun más con cuatro ceros y un menos
con el equivalente g, es decir, 1001.En esta forma todos los pro-
PP9 ¿"
cedimientos desarrolladospor los números de signo-complementode 2 se
aplican también a los números de signo-compleirentoaé ro. La suma se
hace agregandotodos los dígitos incluyendo Lt aigito del signo y descar-
tando el arrastre final o ileva finar de reinicio. por e:jemplo, 3Tb (_ 240)
+ +
se hace con la representaciónde signo-complementoaL rb ae la siguientó
manera:

o 375
f

9 760
0 135

E_
] ? el segundonúmero representaun menosy 260 es el complementode
10,de"" Se
^240. .detectauna sobrecapacidad".r "ttu representacióna partir
del uR exclusiva de los arrastres que entran y salen de la posición áe los
dígitosdel signo.
, Las operacionesaritméticas decimales pueden usar los mismos sím-
bolos que las operacionesbinarias siemprey óuandola base de los números
se entienda como 10 en vez de 2. La proposición:

A<-A+B+l
SEc, 8-9 DATOS DEL PUNTO FLOTANTE345

puede usarsepara expresarla adición del número decimal almacenadoen


q.l registro A con el complementode 10 del número decimal en el registro
B. B en este casodenota el complementode 9 del número decimal. Los des-
plazamientosaritméticos son aplicablestambién a los números decimales
exceptoque un desplazamientoa la izquierda correspondea la multiplica-
ción por 10 y un desplazamientoa la derecha a 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
procedimientos aritméticossimilares.
Si la adopción de símbolossimilares para Ias operacionesbinarias y
decimales no 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 programa de 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 siguiente manera:
sisnol punto decimal inicial _l
signo
I

primer registro
E
segundoregistro
(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
346 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

02601000

coeficiente
E
xponente

representa el número + .2601000X 10-a : * .000026010000, Ios cualesprodu-


cen cuatro ceros de más a la izquierda. Por otra parte, el siguiente conte-
nido:

t2601000

coeficiente exponente

representa el número - .2601000X10t2: - 260100000000, lo 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 representarse de la siguien-
te manera:

signo¡- punto binario inicial r SIEI]O


tt t

0100111000

coeficiente exponente

El registro del coeficientetiene 10 flip-flops: una para el signo y nueve pa-


ra la magnitud. Asumiendo que el coeficiente es 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 .100111000X 10r00 (recuérdeseque 10roo en binario es
equivalenteal decimal 2a).
S E C .8 . 9

I l l p u n t o d e c i m a l s e i n t e r p r e t a e n l a r e p r e s e n t a c i ó nd e u n
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érese por ejemplo, un computa-
dor que asume representación de ettteros para el coeficiente y base 8 para
e l e x p o n e n t e .E l n ú m e r o o c t a l + 1 7 . 3 2 : + 1 1 3 2 X 8 ' ' 2 s e v e r á c o m o s i g u e :

srgno srgno
t f

-t
l0r732l
Punto octal 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-rs en representación de punto flotante re-
quiere primero una aiineación del punto del radical, ya que ia parte expo-
I

3 4 8 L o G I c AD E T R A S F E R E N C
EINAT R ER E G I S T R o S cAP. 8
I
nencial debe hacerse igual antes de que los coeficientes se sumen o resten.
Esta alineación se hace desplazandoun coeficiente mientras 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és de 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 S N 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-


a cabo
ficada predeterminada. El tablero dó ajedrez y las fichas para Ilevar
alguna forma de representación de la
un juego por computador requiere
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
en algún
á. Jru.r".unáu pr."det preparar la información binaria codificada
y trasferir dicha información de y a las
order, ,eqrrerido por la mémoria
operaciones lógicas y de desplazamiento permiten
unidades externas. Las
,-rrru de realizar tareas de manipulación de datos para ayudar
"upu"idad
en el proceso de tomar decisiones.
indi-
Las microoperaciones lógicas son muy útiles para manipular bits
registro o un grupo de bits que conforman un
viduates almacénados en un
dadó. Las operaciones lógicas pueden cambiar
símbolo binario-codificado
valores de bits
uu1o.". de bits, eliminar un grupo de bits, o agregar nuev,os
los bits de un re-
en un registro. Los siguientes ejemplos muestran cómo
gistro se Lanipulan poi lógi"a y microoperaciones de-desplazamiento. como
iógi"a que están prealmacenados en la me-
ina funció., de opeündos de
moria.
tllt o un
La microoperación oR puede ser usada para poner a uno un
grupo seleccionado de bits en un registro. Las relaciones de Boole ¡ + l: I
binaria r a p l i c a d a a u n a c o m puerta
i ,'+ 0: r determinan que la variable
un 1, produ"".,l 1 independientemente d e l v a l o r b i n a r i o d e r ; pero,
bR
" o . , 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 de ¡'
cuando se aplica a una
al aplióar a una compuerta OR un bit dado A, de un registro con un
Así,
previo. Consi-
t, ós po.ibte poner a 1el 6lt a, sin tener en cuenta el valor
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


pre-
Áu'ár orden. Ñ aplicar a una compuerta OR este valor con el valor
1 los cuatro bits de mayor orden de A pero
senie de A, es posible poner a
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-
y ¡'1
leccionado cle bits de un registro. Las relaciones de Boole ¡.0:0
: ¡ implican que la variable b i n a r i a f u n a v e z a p l i c a d a c o n - u n 0 a u n a 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.
un
Cuando este operando se aplica conjuntamente con los contenidos de
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 IE
A N 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


d e . u n r e g i s t r o . L a o p e r a c i ó n A N D s e l l a m a algunas veces una operación
de
moscora porque enmascara o remueve todos l o s u n o s d e u n a p o r c i ó n s e l e c -
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 enmascarar primero los bits y luego aplicar 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 ui e r e n :

0lr0 0t0l A
0 0 0 0l l l l B1
0000m A<-Af¡Bl
y luego se agrega el nuevo valor:

00000t0l A
I 1000000 B2
t r 0 00 1 0 1 A<-A\ut Bl

La operación de máscara es una microoperaciónAND


¡, la operaciónde in-
serción es una microoperación OR.
L a - m i c r o o p e r a c i ó n x o R ( o R - e x c l u s i v a ) p u e d e u s a r s ep a r a c o m p l e m e n -
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és
de 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.¿
t o d o s l o s b i t s d e A . S i e l c o n t e n i d o d e A s e a p l i c a c o n s i g om i s m o a u n a
com-
puerta OR-exclusiva, se borrará el registro ya que ¡
O ¡ : 0:
D A T O SN O N U M E , a t c o s3 5 ! I
I
s E c ,8 - 1 0

0l0t 0l0l A
\g
.r.
0 1 0 10 l 0 l A
0000 0000 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
c o m p r o b a n d o s i e l r e g i s t r o e s i g u a l a 0 . S u p ó n g a s eq u e s e r e q u i e r e d e t e r -
m i n a r s i e l b i t 4 e n e l r e g i s t r oA e s 0 ó 1 :
l0lx0l0 A
0001000 B
000x000 A<-BAA

EI bit marcado r puede ser 0 ó 1. Cuando todos los demás bits estan enmas-
'i 4
carados con el operando en B, el registro A conte¡drá sólo cerc's ei bit
hubiera s i d o 0 . S i ¡ i t 4 o r i g i n a l m e n t e f u e u n 1 . e s t e b i t p e r m a n e c e r á e n
" t s i e l b i t c u a t r o
1. Comprobando si el contenido de A es 0 ó no se determina
fue0ó1.
Si cada bit del registro debe comprobarse para 0 ó 1, es mas convenlen-
orden,o
te desplazar el registio a la izquierda y trasferir el bit de mavor
t"gi"tt" especia"l de 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
palabra'
caracteres es una clperación que une dos o más caracteres ell una
Dispersar es la operación inversa que Separados o_más c a r a c t e r e s alma-
en una pulrbr^ a caracteres individuales. c o n s i d é r e s e l a a grupa-
.*iaor
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 s A SCII'
.i¿" ¿" dígitos ÉOC qn" se
,qSCII para los dígitos 5 y 9 se. obtiene de la Tabla
El código áe caracter"r
mayor
i-S. Cuáu uno contiene siete bits v se coloca un 0 en la posición de
5 s e t r a s f i e r e a l r e gistro
orden como se muestra a continuación. El carácter
n o t i e n e n n i n g ú n uso ,1
i, V
" f
g al registro B. Los cuatro
para una represenración B D C , d e
b
m
i t s
a n
d
e
e
r
m
a q
a
u
y
e
o r
s
o
e
r d
d
e
e
n
s e n m a s c a r a n . E l agru- q
e l re- ,{
pá-i*tá ¿e ¿ o s d í g i t o s B D C e n e l r e g i s t r o A c o n s i s t e e n d e s p l a z a r .J
I

gi.tro A cuatro ,r""é, u la izquierda (con ceros colocados en las posiciones


el conteni-
áe bits de menor orden) y luego aplica'do a una compuerta OR
a

do de los registros:
AB :
' ¡i¡

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

AND con0000 1111 00000l0l 0000l00l


DesplazarA a la izquierda 01010000
cuatr0veces
A<-_A\/ B 0 l 0 l l 0 0 l : B C D5 9
352 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ífica una y otra vez. Un computador digital es un sistema digital para
propósitos generales capaz de ejecutar varias operaciones y además, puede
recibir instrucciones sobre Ia secuencia específica de operacion". qrr" debe
realizar. El usuario de un computador puede controlar el proceso pór medio
de un programü, es decir, un conjunto de instrucciones qL"
".pe"ifican
operaciones, operandos y la secuencia en la cual el procesamiento
las
tiene que
ocurrir. La tarea de procesamiento de datos puede ser alterada simplernén-
I
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 operaciones de 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 operaciones usadas. 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 353
C O D I G O SD E I N S T R U C C I O N
l
i
I

sidérese un computador que usa 32 operaciones distintas, una de ellas


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 10010 asignada a la operación de
suMA, cuando el código de operación 10010 es detectado por la unidad de
control, se aplica una señal de comando a un circuito sumador para sumar
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
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
1
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
contenór no solámente una parte de operación sino también una dirección ;á
ri
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 ü
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. ,N

Formatos de códigos de instrucción

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


gular simbolizando los bits de la instrucción a medida que ellos aparecen fl
én la. palabras de la memoria o en un registro de contro,l. Los bits de la H
instrucción se dividen algunas veces en grupos que subdividen la ins-
trucción en partes. A cada grupo se le crea un nombre simbólico tal como
H
g
parte del cóáigo de operación o parte de una dirección. Las diferentes par- u3
tes especifican diferentes funciones para la instrucción y cuando se mues-
tran juntas constituyen un formato de código instrucción.
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 i
,r.ui puru operaciones tales como "sumar el operando al con-
"tpecifi"u. \
tenidó presente del registro" o "trasferir el operando al registro proce-
'i
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-

'-i

C ódigo-operacirin (a) Implícito

('ódrgooperacion Operand" (b) Operandc inmediato


I

(-ódigo-operacion Dirección
a"f operanclo ( c ) D i r e c c r ó nd i r e c t a
I

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

rando que puede almacenarse en Ia memoria de alguna manera. La direc-


c i ó n d e e s t e o p e r i ¡ n d oe ' l a m e m o r i a s e i n c l u y e e n r a i n s t r u c c i ó 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ón puede 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 onerando al
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 direcciones 45 y 4G, hay una instrucción de dirección directa


q u e e s p e c i f i c al a o p e r a c i ó 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 operando a trasferirse al registro A, es el al-
macenado en 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 una parte de dirección que da Ia dirección del ope-
rando. Para evitar la confusión al decir la palabra ..dirección', tantas
354
q
Directión -- - Memoria O p e r a ci r , n
{ii

cod-oPer: i 4*R
fiü
i

cod-oper: 2 A. Operando

0010100 operando: 44'

cod-oPer: 3 A. MlDirecciónl

0 r 0 0 0 1l 0 dirección - 70

0 0 0 1I 1 0 0 operando: 28'

Figura 8-13 Representación de Ia memoria de instrucciones

veces, es costumbre referirse a la dirección de memoria como una "loca-


lización". Así la instrucción de dirección directa se almacena en las locali-
zaciones 45 y 46. La dirección del operando en la 46 y' el operando está
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-
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 s m 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 .
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-
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 instrucciones y formatos de códigosde instrucción'
En este punto, se debe reconocerla relación entre una operoción y una
microoperación de la manera aplicada a un computador digital. Una opera-
ción se especifica pol 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.
,r
pár cada instrucción en la memoria, que especificauna operación, el .T
I
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 q s u e S e n e c e s i l a np a r a l a d
'7
configuración de los componentes de un código de operación específico. r
!

.-l
t'-

ril
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
está res_
tringida por los materiales disponibles dentro der computador.

Macrooperaciones versus microoperactones

Hay ocasiones en que es conveniente expresar una secuencia de micro-


operaciones en 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 alguna operación de
trasferencia entre registros, para que ésta".p."ifi.an
última sea"ejecutáda por los
componentes del computador.
Al observar una declaración de trasferencia entre registros aislada-
mente no se puede decir si é.sta representa 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ón se 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 ejecución de la proposición por.medió
^d" de
los componentes, requiere d.s o más funcior-,". control, .e io*u.á iu
proposición como una microoperació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 de la Figura g-t3 simbolizada
por medio de la proposición:

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ón de 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 reconoce
como 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
!

S E C .8 . 1 2 RE N C I L L O3 5 7
D I S E Ñ OD E U N C O M P U T A D O S

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 deseada por 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 especificaciones iniciales 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 OS
RE 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 CE
I 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


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
l a m e n r o r i a . E l r e g i s t r o s e p a r a d o r d e m e m o r i a M B R a r m a c e n ae l c o n t e n i d o
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 decodificador asociado con 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-
r r a r s e e n c u a l q u i e r m o m e n t o p a r a c o m e n z a r u n a n u e v a s e c u e n c i ad e s d e 1 , , .
El PC pasa por una secuencia de cuenta paso a paso y causa que el
c o m p u t a d o r d é l a s i n s t r u c c i o n e s s u c e s i v a sa l m a c e n a d a s p r e v i a m e n t e e n l a
m e m o r i a ' R l P C s i e m p r ea l m a c e n a l a d i r e c c i o n d e l a s i z u i e n t ei n s t r u c c i ó ¡
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 l
ttI MA[t v se inicia un ciclo de lectura de menioria. EI PC se incremer]ta en
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
j
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 ,

f "*-l
Decodificador
de operaciones

f f l

I)ecodificador f ^l
de t iempo

Figura 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
q
.
Tabla 8-4 l,ista de registros para un computador sencilio

Número
Símbolo de bits Nombre del registro Función

MAR ó Registro de di¡ección de memoria Almacena direccionesde memoria


MBR 8 R e g i s t r o s e p a r a d o rd e m e m o r i a Almacena contenidos de palabras de memoria
A 8 Registro A Registro procesador
D
8 Registro R Registro procesador
PC 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
IR 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 n n c , ' r r i cr '!rr , r
7' 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 O P R D C a r g a rO P R D . a , A .4 * OPRD
0000001
I . LDA ADRS Cargarel operandoespecificado.1 - I1[ADRS]
oor ADRS 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


d e n u e v o e n l a T a b l a 8 - 5 . C o m o h a y o c h o b i t s e n e l c ó d i g o d e o p e r a c i ó n ,e s
posible especificar hasta 256 operaciones dif'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
s i g l a M O V ( m o v e ) s e e s t a b l e c ep a r a l a o p e r a c i ó n d e l c o d i g o b i n a r i o c o r r e s -
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 especificar con 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
c o n j u n t a m e n t e c o n s u c ó d i g o d e o p e r a c i ó n c o r r e s p o n d i e n t es e a l m a c e n a -
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.
E s t a d e s c r i p c i ó n e n p a l a b r a s n o e s m u y p r e c i s a . L a s p r o p o s i c i o n e sl i s t a -

L.
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 precisa y concisa de


cada instrucción.
- un computador con solamente tres instruccionesno es muy útil. Se
debe asumir que este computador tiene muchas más instruccionL. ,.r.rqrr"
se considerentres de ellas. un programaescrito para el computador,. ul-
macena en Ia memoria. Este programa consiste de muchas instrucciones,
pero de vez en cuando la instrucción usada será 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 inicializarse con lo contenido en la pri-


mera dirección del programa gJ.ugggaadeen la memoria. cuando .. u.tirru
el. interruptor de "comienzo",Tá secueniia del computadorsigue un 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 para prepararlapara la siguien-
te dirección en secuencia.El código de opeiación sé trasfiere del M-BR al
I,R donde es decodificadopor el control. bsta secuenciase llama ciclo de
enuío de instrucción, ya que ésta saca el código de operaciónde la me-
moria y lo coloca en un registro de control. Las variatles de tiempo, fu,
tt y tz que salen del decodificadorde tiempos se usan como funcionés
de control para darle secuenciaa las microopéraciones para 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 r e 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

. Se-asumeque el contador de tiempo ? comienzaa partir del valor 000,


el cual produce una variable de tiempo úe que sale dél decodificador.Ei
-reloj
registro 7 se incrementa-con cada pulso de y automáticamentepro-
duc.e-l-asiguiente variable de tiempo en la secüencia.Las tres primeras
variables de tiempo ejecutan las secuenciasde microoperaciónlas cuales
pueden simbolizarsepor medio de la proposiciónde macrooperación:

IR <- MIPC), PC <_PC * |

Esta estableceque la palabra de memoria especificadapor la dirección en


el PC se trasfiere al 1,? y luego se incrementá eLpC. La restricción de los
componentesen el computadorsencillo es que 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 microoperaciones.otra restricción
de los materiales es que.el PC no puede incrementarsemientras que su
valor se use para suministrar la dirección para una lectura de memoria.
solamente despuésde que se complete una operación de lectura puede
S E C .8 - 1 2 RE N C I L L O3 6 /
D I S E Ñ OD E U N C O M P U T A D O S

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-
nan en Iá secciónde control a partir del código de operacióndecodificado'
E s t e e s t á d i s p o n i b l ed e l a s s a l i d a sQ , ,i : L , 2 , g , . . . e n e l d e c o d i f i c a d odre
operación.

Ejecución de 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 hace qt:1.
La ejecuciónde esta instrucción requierela microoperación:
4J{ A <-R,Ie-0

fuí, cuando Qt : I en el tiempo ¿3, el contenido de R se trasñere al regis-


tro A y el registro de 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ódigo de operaciónde la sigrrienteinstrucción en secuen-
cia. Recuérdeseque?C se incrementadurante el tiempo fr, de manera
que mantiene Ia áirección de la siguiente instrucción en secuencia.
:
La instrucción LDI OPRD tiene un códigode operaciónque hace92
1. Las microoperaciones que ejecutan esta instrucción Fon:

Qzti MAR <- PC trasferir direccióndel operando

¿ztci MBR <- M, PC <- PC * | Ieerel operandgincrementarPC

eztsi A <- MBR, T <-0 trasferir el operando,pasaral ciclo de envío.

Las tres variables de tiempo que siguen el ciclo de envío mientras QueQz
: i i""" el operandode la memoria y lo trasfieren al registroA' Como el
operando está en un lugar de la memo¡ia en seguida del código de opgl-
.i¿n,.u lee de la memo"riaa partir de la dirección especificadapor "!!C.
nl operandoleído al MBR se trasfiere entoncesa A. Nótese qu9 ef P.c se
incrementa una vez más para prepararlo para 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 trasferir la siguientedirecciónde instrucción


(ADRS) incrementarPC
Q{q: MBR<-M,PC<-PC * I leer DIRECCION,
Q{s: MAR <- MBR trasferir dirección del operando

{:
362 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 Ieer el 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és del código de operación. comó el pc fué incrementado
en f
durante el ciclo de envío éste mantiene la dirección donde se almacena ,
el
ADRS. El valor del ADRS se lee de la memoria en el tiempo
ú¡. Se incre-
menta PC durante este tiempo para prepararlo para el
ciclá de envío de la
siguiente instrucción. En el tiempo i., se trasfiere el valor
, der ADRS del
M B R a l M A R . c o m o e l A D R S e s p e c i f i c al a d i r e c c i ó n a " i o p . r u n a o ,
una lec-
tura de memoria durante el tiempo ün causará que el operando
se esta_
blezca en el MBR. El operando dei Un;n se t.asfie.e ai ."fi.t.o
A y el con-
trol regresa al ciclo de envío.
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 fas cuales se lee el
código de ope-
ración hacia el 1R. Las microoperaciones que se ejecutan
durante"el tiempo
f3 dependen del valo^r del código de operaóión in H"v tres funciones
de "r,
_control que son funciones áe ú3, p".o q, ó q,"r ó q, p*a" ser igual a
1 durante ts . La microoperación paiticulár ejecitadá"
alu.arrte el t"iempo
f3, es aquella cuya función de corÍtroi correspbndiente
tiene una variable
g que es igual a 1. Lo mismo puede decirse delas
otras variables de ti";p;.
.. Un computador práctico tiene muchas instruccio"e, y cada instruc-
ción requiere un ciclo
.de envío para reer un código de ope-ración.Las mi-
crooperaciones necesarias pa¡a la ejecución de lás instrucciones
particu_
lares se especifican medianle las variabies de tiempo
t ;;;1" q, particular,
l : 9 t 1 , 2 , 3 , . . . , 2 b 5 , q u e s u c e d ee s t a r e n e l e s t a d o i d ' u r a n t ee s t e t i e m p o .
La lista de funciones de control y las microoperacio"Á-pulu
un computa-
dor práctico deberían ser mayores que las mostradas en la
Tabla g-6. ob-
viamente, el simple computador no ,r., elemento práctico, pero usando
solamente tres instrucciones se pueden ", demostrar ciaramente las funcio_

Tabla 8-6 Proposiciones de trasferencia entre resrstros


para un computador sencillo

ENVIAR ,0. MAR <_ PC


¡1. MBR<-M,PC<_PC+l
.2. IR <- MBR
MOVER A<-R,T<-0
4 tlt:
CARGA INMED. Qztt: MAR <- PC
q2.4, MBR <--M, PC <_ PC + I
.t2.5. A <-.MBR, T <_O
CARGAA A q3,3. MAR <_ PC
Qttc: MBR<_M,PC<_PC*I
, t3 . 5 . MAR <- MBR
4zlai MBR<_ M
Qzh: A <_ MBR, T <-.0
s[c. 8 12 RE N C I L L O3 6 3
D I S E Ñ OD E U N C O M P U T A D O S

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 demostrado justarnente que la lógica de
t r a s f ' e r e n c i ae n t r e r e g i s t r o s e s u n m é t o d o c o n v e n i e n t e p a r a e s p e c i f i c a r I a
secuencia de 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 conveniente para 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
c o m p u t a d o r s e n c i l l o a p a r t i r d e l a l i s t a d e 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
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ón MAR - 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& LoctcA DETRASFERENC
ETNAT 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. cudá;;,:1,
eisiguiente
pulso de reloj trasfiere el contenido del pc al
MAR. Las variables binarias
que causan que rr sea 1 vienen de los decodificadores
de operación de
tiempo de la unidad de control.
Hay ocho microoperaciones diferentes listadas en la Tabla g-6. para
cada microoperación distinta, se acumularán las funciones
de control aso-
ciadas y se aplicarán conjuntamente a una compuerta oR.
El resultado es
como se muestra en la Tabla g-7. Las funcionei de control
obtenidas para
cada microoperación se forman en una ecuación de la variable
binariá r,,
!: r, 2, . , 8. Las- ocho variables x pueden ... g"rr".udu. fácilmente con
las compuertas AND y OR pero no se úarán aquí.
El diseño de un computador senciilo se puede obtener de la informa-
ción de trasferencia entre registros dada en la Tabl a g-7. El
diagrama de
bloque diseñado se muestra en ra Figura g-16. Aquí se tienen
de nuevo los
siete registros, la unidad de memoria y los dos'decodificadores.
Además,
hay un recuadro marcado "circuito combinacional". El bl,oqrre
del circuito
combinacional genera las ocho funciones de controi,
i rr"rt" rr, de acuer-
do a la lista de funciones de control de la tabla. t as'ru"ciones
de control
habilitan la carga e incrementan las entradas de varios
registros. un re-
gistro que recibe información de dos fuentes necesita
.r., ..'ültiplu*o, pur"
seleccionar entre los-dos. Por ejemplo, el MAR recibe información
del MBR
o del PC' EJ multiplexor asociádo con el MAR trasfi"..
del pC
c u a n d o s u l í n e a s e l e c c i o n a d a e s u n 1 ( r , : 1 ) p e r o t r a"is f "o"t"nido
iere el contenido
d'el MBR cuando la línea seleccionada es 0. Esto es
debido a que rr :0,
cuando xz:1, p€ro 12 inicia la entrada-de carga ¿u¡
uin, du ,nur,"." qrr.
el óontenido del MBR pasa por el multiplexor hásta
u,qnl. !I contador de
tiempo ? se inc¡ementa con cada purso de reroi; .in "t
cuando xz : I
se borrará y colocará a 0. "-nffi,
registros y otras funciones digitares especificadas en
la Figura
8-16 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


x2: Q3t5: MAR <_ MBR
xt- tt+ q2t4+ %t4: PC<-PC+I
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

Ql Qz Qt
"y ó
^

.x1 x5
x5
Circuito
x2
combinacional
x3 x7

x4 tl ta ¡o

Incrementar

Figura 8-16 Diseño de un computador sencillo

365
366 LOGICA
DETRASFERENC
EINAT R ER E G I S T R O S C A P ,8

puede construirse con compuertas SSI. En un computador


de gran tamaño,
e-st_a_
_parte se configura eficientemente con un arreglo iógico programablé
(PLU),

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 ¡An r c h í t e c t u r e E
. n g l e w o o dc l i f f s , N . J . : p r e n t i c e _
H a l l . I n c . .1 9 7 6 .
I (-hu. \'., Computerorganízutiortand Microprograrnming.Englewood
cliffs, 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.s. Boston, Mass.: Allyn y Ba-
con,1971.
+ B e l l , c . G y A . N e w e l l , c o m p u t e r 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
\-ork:McGraw-HillBookCo.,19?1.
' " . H i l l , F . y G . P e t e r s o nD
, i g i t a t s ] ' s t e 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,1973.
6. Rartee,T. C., I. L. Leb_ow S. Reed,Thertryand Desígnof Di¿]itaL Muchines.
lL
Nueva York: McGraw-Hill Book Co., 1g62.
i. t^9mputer,Special Issueon computer Hardware Description Languages, l
vol. ?,
N o . 1 2 ( d i c i e m b r et,9 T 4 ) .
8. computer, Special Issue on 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-
c r 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
362
PROBLEMAS

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 decodificador de destino. La
"variable
ean e se usa para habilitar el decodificador'
(a) Establezca las trasferencias que ocurren cuando las variables de selec-
(3) 11100;(4) 01101'
ción s1s¡d,d¡e son iguales a: (1) 00010: (2) 01000;
(b) Dé los valores de las variables de selección de las siguientes trasferen-
c i a s :( 1 ) A ' B : ( 2 ) B ' C ; ( 3 ) D ' A '

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

de ia
8 - 7 . Las siguientes trasferencias de memoria se especifican para el sistema
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.

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

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
en pa-
Muestre la configuración del sistema usando un contador con carga
ralelo.

g-10. Muestre los componentes necesarios para config.rrar las siguientes mlcro-
operaciones lógicas:
3 6 8 L o G I c AD E T R A S F E R E N C

(a) Tr: F<-A ¡\B


EINAT R ER E G I S T R o S CAP. 8
I
(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 dibujada en ia Figura ?-g en forma


sim_
bólica. Sea s la función de control de deiplazamiento]Asumaque s se habi
lita por un períodode cuatro pulsos.

8-13. Muestre los elementosy.materiales que configuran la siguienteproposición.


Incluya las c,rmpuertaslógicas para la función-de controi

xl'To* T, + x'yT2: A <-A + B

8-14. un sistema digital.tiene tres registros: AR, BR y pft. Los tres flip-flops
su-
ministran las funcionesde control del sistema. s es un flip-flop'el cual
es
habilitado por una señal externa para comenzar la operaciónáel sistema;
F y R se usan para dar secuenciaa las microoperacio.r...u., cuarto flip-flop,
!, se pone a 1 por el sistema digital utta uei se complete la operación.La
función del sistema se describe por medio de las siguientes operaciones
de
trasferencia entre 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 ( - 4 2 ) - ( -


1 3 )e n b i .
nario usando:
(a) Representaciónen signo-complemento de 1.
(b) Representaciónen signo-complemento de 2.

8-16. Los números binarios listados a continuación tienen un bit


de signo en la
posición de extrema izquierda y si son. negativos se representan
en comple_
mento de 2. Realice las operacionesaritméticas indica'das,usando
los aigo-
ritmos de suma y resta enunciados en el texto. compruebe sus
resultados
haciendola aritmética con númerosdecimares.quiu"tu'.,t...

( a )0 0 l l l 0 + l l m l 0 (e) 0l0l0l - 0001II


(b) 0l0l0l + 000011 (0 001010 - lll00l
(c) lll00l + 001010 G) lll00l - 001010
(d) l0l0n + ll1000 (h) l0l0l I - l00ll0
'1
P B O B L E M A S3 6 9
¡l
!E
ll
8-1?. ¿Cuál es el rango de los números que pueden ser acomodados en un registro T
de 16 bits cuando los números binarios se representan en:
,l

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

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 )( - 6 5 ) + ( - 7 8 ) (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ón entre (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 representaciones diferentes, 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'

la
8-20. Dos números en representación de signo-complemento de 2 se suman de
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 < - s h rA , An<- An@ V


producirá siempre la suma correcta dividida por 2 hubiese o no ocurrido
una sobrecapacidad en la suma original'

8-21. Represente + 149 y - 1?8 en BDC usando ia representación-de signo-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 representados en 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
y
en signo-complemento de 10. un signo positivo se representa por un 0
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

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

8 23. Un número binario de punto flotante cle 36 bits liene 8 bits más el signo para
ei exponente. El coeficiente se asume como una fracción normajizáda.-Los
núrneros en el r:oeficiente y 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 s s 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. R e p r e s e n t ee l n ú m e r o ( + 3 1 , 5 ) r 0 c o n u n c o e f i c i e n t e e n t e r o n o r m a l i z a d o d e
l 3 b i t s y u n e x p o n e n l e c l e? b i t s c o m o :
( 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 (asuma base de g).
( c i I . r . n ú ¡ n e r o h e x a d e c i r o a i b 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
16).

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
. etermine el operan-
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 valor de 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 necesitan para 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 puede ser
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 . M f d i r e c c i ó n l* R
donde ^R puede 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
de
8 bits cada una.
P R O B L E M A S3 i I
i
I
,s 1,-.
(a) ¿,Cuál debería ser el rrúmero de bits rle los cinco primeros registr.
tados en ia ]'abia 8-4?
(b)¿Cuántaspalabrasdememoriaserequierenparaalmacenarlainstruc.
ción:

LDA A/)Ti.S

como se esPecifica en la Tabla 8-5?


ia ins-
( 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
temporalmenfe
trucción. El registro /i puedá ser usado p¿rra almacenar
parte de una dirección'

g-31. una instruccron inmediata para un simple computador definida en ia Figura


se especifica de
8-14 tiene un código de operación 00000100. La instrucción
Ia siguiente manera:

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

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 e ps 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
cleoperación Mnemónico Descripción F-uncion

l'¿ * n
00000010 ADI OPRD SumareloperandoaA AeA +OPRD
00000011 ADA ADRS SumarRaA AeA +MIADRSI

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

9- 1 INTRODUCCION

una unidad procesadoraes aquelra parte de un sistema digital


o un com-
putador digital que configura las operacionesen el sistema. "Está
por un número de registrosy de funcionesdigitales que "o,,'p"".lu
conforman micro- /
operacionesaritméticas, lógicas, de desplaámiento y trasferencia.
La
unidad de procesose llama una unidad,centrar de procesoo cpu,
se combina con una unidad de control que supervi.á lu ,"",r.rrcia "rrrrráo
de micro-
operaciones.Este capítulo versa sobre ia orgánizacióny diseño
de la uni_
dad del procesador._Elsiguiente capítulo trata de ia ló;ic; de diseño
de la
unidad de control. En el capítulo 11 se demostrarata orlani zacióny
diseño
de un computadorCPU.
El número de registrosde una unidad procesadorava¡ía desdeun
re-
gistro procesadorhasta 64 registros o más. Álguno.
*En antiguos
vienen con "o-putadores
-un registro procesadorsolamente. ulgund casosun sistema
digital puede emplear un registro procesadorsencill]op"., p*po.itos
espe-
ciales. sin embargo, como los registros y otras funciones drsñ;ñIo",'"".i,;
bajo costo cuando se construyen co.t circlitos integrados, todós los
tadores recientes emolean un gran número de iegistrás procesador", "o,,,p,r-
y
canalizan la información entre ellos a través de bus."escomunes.
una operación puede-_serconfigurada en una unidad de procesocon
una microoperaciónsencilla o con una secuenciade microoperáciones. por
ejemplo la multiplicación de dos númerosbinarios almacenadosen dos
re-
gistros puede ser configu¡adacon un circuito combinacionalque
realiza la
operación por medio de compuertas. Tan pronto como las señáles." propu-
gan a través de las compuertas, el producto estará disponible y puede i
ser
trasferido a- un registro de destino con un pulso de relój sencillo. Alterna_
tivamente, la operaciónde multiplicación puederealizarsecon una secuen-
cia de -microoperaciones.de zuma y desplazamiento.El método escogidopara
la configuración determina la cantidad y tipo de componenies
de la unidad
de proceso.
372
sEc. 9-2 N E L P R O C E S A D O R3 7 3
O R G A N I Z A C I OD
1
,!:

Todos los computadores,exceptolos muy grandesy rápidos.conllgur¿:. q


las operacione.patticipantes por medio de una secuenciade micrc'rpera-
cionei. De esta manera, el procesadornecesita tener solamente circutto'
que configuren las microoperacionesbásicas simples tales como sumar ]'
desplararlOtras operaciones,tales como multiplicació¡, 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ítulo 8. La unidad de control se diseña
para dar seculncia a las microoperaciones que 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í'
"tt o ¡,LU. Para realizar una microoperación,el control
dad. basícaaritmética
canaliza la fuente de información de los registros hasta las entradas del
ALU. El ALU recibe la información de los registros y 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 registros de 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 desplazamiento se 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 enteramente aritmética y lógica.
un computador cPU debe manipular no solamente datos sino también
códigosde instrucción y direccionesque vienen de la memoria. El registro
que almacena y manipula el código de operaciónde instruccionesse consi-
dut, .o-o parte de la unidad de control. Los registrosque almacenan direc-
ciones son lncluidos alg¡nas veces como parte de la unidad de procesoy la
información de direccionesse procesapor un ALU común. En algunos com-
putadores, los registros que almacenan direcciones son 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ño de una unidad aritmética lógica
particular se lleva a cabo para mostrar el proceso de diseño usado en la
iormulación e implementación de una función digital común capaz de 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 procesador para 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 algUnasveces como


eI cánql de datos del CPU porque el procesadorformula los canales de tras-
ferencia de datos entre los registros de la unidad. Los diferentes caminos
374 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 compuertas que abren los ca-
mlnos necesariosy cierran otros. Una unidad procesadorapuede diseñarse
para satisfacerun conjunto de canales de 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 procesadormuy limitado. La abertura de los canaleso caminos de
datos se logra por medio de decodificadoresy circuitos combinacionales
que comprendenla secciónde control de la unidad.
En una unidad procesadorabien organizada,Ios canales de datos se
forman por medio de busesy otras líneas comunes.Las compuertasde con-
trol que formulan los canales de datos son esencialmentemultipleiores y
decodificadorescuyas líneas de selecciónespecificanel camino iequerido.
El procesode información se hace medianteúna función digital .uyo
canal de datos puede ser especificadopor un conjunto de variables
"o-ür,de se-
lección comunes.una unidad procesadóraque tiene una organizaciónbien
estructurada puede usarse en una gran cántidad de operaciones.si se
construye dentro de un circuito integrado,se hará disponiblepara muchos
-diferente.
usuariosya que para cada uno se puede tener una aplicación
En esta sección, se investigan varias alternativás para organizar una
unidad procesadorapara propósitos generales.Todas'las organizaciones
emplean un ALU común y un registro de desplazamiento.Las diferencias
en las organizacionesse manifiestan principalmente en la organizaciónde
los registrosy sus canalescomunesal ALU.

Organización del bus

cuando se incluye un gran número de registrosen una unidad de proceso


es más eficiente conectarlos por medio de buses comunes o arreglailos co-
mo_una memoria pequeñaque tiene un tiempo de accesomuy rápido. Los
registros se comunican entre sí no solamenle por la trasferenciá directa
de datos sino también cuando se realizan varial microoperaciones.En la
Figura 9-1 se muestra una organización con bus para crr"tto registros pro-
^for-
cesadores.cada registro se conecta a dos multiplexores (MUX) p"ru
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
"i
determina la operaciónparticular que se va a realizar. Las microoperacio-
nes de desplazamiento se configuran en el registro de desplazamiüto. El
resultado de la microoperación pasa 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 entradas de 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 terminales para trasfe¡ir datos de un
destino externo. una entrada del multiplexor A ó B puede recibir datos de
los elementos que lo rodean cuando es necesario trásferir clatos externos
a la unidad de proceso.
Unidadaritmétrca
lógica(ALU)

Registrode desPlazamiento Selectorde


desplazamiento

Salida de datos

Figurag-lRegistrosprocesadoresyALUconectadospormediodebusescomunes

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

La operaciónde los multiplexores, ios busesy el decodificador


de des-
tino se explica en la.seccióng-2 conjuntamentectn la Figura g-6.
y el registro de desplazamientose discuten más El ALU
tarde en este capitulo.
ulu unidad procesadora puedetener más a".rrui.o.lgistros. La cons-
trucció¡r de un procesadorcon bus organizadocon más rlgistros
requiere
multiplexores mayores y decodificadoi; de otra forma sería
similar a ia
organizaciónpresentadaen la Figura 9_1.
La unidad de control que supe.visaer sistema de bus procesador
ge el flujo de información a través del ALU seleccio.rando diri-
los diferentes
componentesde'la unidad. Por ejempropara realizar la microoperación:

Rl<_R2+R3

el control debe suministrar variables de selecciónbina¡ias a las


siguientes
entradasde selección:
.,
/
1. SelectorMUX A: colocael contenidode R2 en el bus A.
2. selectorMUX B: colocael contenidode R3 en el bus B.
3. selectorde función ALU: generala operaciónaritmétíca
At B.
4' selector de desplazamiento:para la trasfe¡enciadirecta
de la salida
del ALU al bus de salida S (ningun desplazami""lol.
5' Selector de destino del decodificador:trasfiere el contenido
del bus
SaRl.

Las cinco variables selectivasde cont¡ol debenser generadassimultá-


neamentey deben estar disponiblesdurante
un intervaló de pulso de reloj
común. La información binaria de los dos regisTrosfuente ." p.opug"
a tra_
vés.de las compuertascombinacionalesen lós multiplexores,
el^Aiu y el
registro de desplazamientohasta el bus de salida y u 1". ent¡adas
del re_
gistro de destino durante gn intervalo de pulso de reloi, la
información bi_
naria en el bus de salida iitrasfiere al .Ri cuand" *;;;nta
el siguiente
pulso de reloj. Para lograr-una rápida respuestade tiempo,
se construye el
ALU con circuitos generadores de-arrastreposteriory et .egistro de desptá-
zamientose configuracon compue¡tascombinacionales.
cuando se encapsu-la en un cI, la unidad procesadorase llama algunas
vecesregisúroy unidad lógica aritmética o RÁLu (registerand arithmetic
logi.c.unit). Algunos fabricanteslo llaman un micriprá""r,odo, de un grupo
de.bits..El prefijo micro se refiere a un tamaño fisiá -,ry peq,reno
del cir-
cuito integrado en el cual se incluye el procesador.El
s;"io d,e bits se re-
fiere al hecho de que el procesadot p.t"áu ser expandidl í u.,a
unidad de
proceso con un gran número de bits usando un grupo de
cI. por ejemplo,
un microprocesadorde-un grupo de 4 bits contiéne registros AL"u pará
v
manipular datos de 4 bits. Dos cI de éstol pueden .é,
construir una unidad procesadorade g bits. pára un procesador ir.u
"o*Éirruau,
de 16 6i;,
es necesariousar cuat¡o circuitos integradosy coneciarlosen cascada.
Ei
arrastre de salida de un ALU se conectáal arrastre de entrada del siguien-
te ALtl de mayor orden y la salida en serie y líneas de entrada de los re-
\
1.
S E C .9 - 2 O R G A N I Z A C IDOENLP R O C E S A D O3 R
77 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 microprocesadores y 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 procesadores a 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 seleccionado por 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-
cesadores por 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 designarse como 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
378 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] leer.R3al registroB
Tt: MÍ00ll<-AI B ejecutaruna operaciónen el ALU
y trasferir el 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

Memoria tapón
Di¡ección
o de borrado

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 N E L P R O C E S A D O R3 7 9
ORGANIZACIOD

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

DirecciónA DirecciónB
Memoria tapón
o de borrado
Habilitación Habilitar
WE ME
escritura (WE) 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ón A y a la dirección B, en cuyo casoapareceráuna palabra idéntica


en ambos registrosA 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ón B especí-
fica siempre el registro de destino. La Figura 9-B no muestra un camino
para datos externos de entrada y salida, pero pueden ser 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 puede ocurrir cuando se está escribiendoia nueva infor-
mación en la memoria. La entrada del reloj controla las operacionesde
lectura y escritura en memoria por 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 purso de reloj se muestra en
el diagrama.
cuando el terminal de reloj es 1, los retenedores
Ay B se abren y acep-
tan la información que 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 memoria y se colocanen los registroi A y B respectiva-
mente. La operación en el ALU se realiza con los datos aima."nádo. .r,
A y B.cuando el terminal del reloj va a 0, los ¡etenedores se 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
palabra de memoria definida por la dirección B. Así una microoperación:

Rl+-Rl+R2

puede hacersedentro de un período de un pulso de reloj. El registro de


memoria Rl debe especificarsecon 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 unidades procesadorasseparanun registro de otros y se le llama


regi'stroacumulador, abreviadoAC o registroA. El nombre dé este registro
se deriva del procesode adición aritmética que se encuentraen los
tadores digitales. El procesode sumar muchos númerosse lleva a cabo "ñr,p.r-
al-
macenando inicialmente esos números en otros registros procesadoreso
en la unidad de memoria del computadory borrandoél ucnrnuludora 0. Los
númerosse agreganal acumuladoruno a uno en orden consecutivo.El pri-
mer número se agregaa 0 y la suma se trasfiere al acumulador.El ..gurrdo
número se agregaa los contenidos del acumulador y la suma formaáa de
nuevo remplaza su valor previo. Este procesose continúa hasta que todos
los númerosse agregany se forma la suma total. Así, el registro .,acumula"
la suma paso a paso haciendo sumas 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 registro acumulador en una unidad de procesoes un registro mult,-
propósito capaz de realizar no solamente la 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 registros procesadores.En 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ón puedeprovenir
de otros registros procesadoreso directamente de la memoria principal
del computador.El- registro A suministra la otra fuente de información al
ALU poi el terminal A. El resultadode una operaciónse trasfiere de nuevo
al registro A y se remplaza su contenido previo. La salida del registro A
puedJ ir a un destino externo o a los terminales de entrada de otros regis-
tros procesadores o unidad de memoria.
irara formar la suma de dos números almacenadosen los registros pro-
cesadores,es necesario agregarlosen el registro A usando la siguiente
secuenciade microinstrucciones:
Tti A <-0 borrar A
Tz:A<-A*Rl trasferir Rl a A
Ts: A<-A 1R2 agregarR2aA

Entrada de datos

Registros procesadores
Selección o
fuente B 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

El registroA se borra primero. El primer número


en ft1 se t¡asfiereal regis-
tro A agregandoal actual conteniáo de ceros de
A. El segundonúmero en
R2 se agregaal valor presente de A. La ,rr,,'" foi*"d;;
para otros cálculos o puede ser t¡asferida A debe usarse
a su de.ti"o-req.rerido.

9-3 UNIDAD LOGICAARITMETICA

una unidad lógica aritmética (ALU) es una función


multioperación digital
de lógica combinacional.Esta pn"á" rearizar;; ;";i;;
de operaciones
aritméticas básicas"yun- conjunio de operacionesrogiüs-
Er ALU tiene un
número de líneas de serecció_n para .utu""iorr"i ;;'ó;;.ión particular
de la unidad. Las líneasde selecciónse decodific";
¡";;;;el ALU de ma_
nera que las & variabres de serecciónpueden
hasta 2; ;;;;;
cionesdiferentes. ".p."irt"u.
La Figura g-5 muestra-eldiagrama de bloque de
un ALU de 4 bits. Las
cuatro entradas de datos de A sé combinan ü"
lur;r;;; entradas de B
para generar una operaciónen las salidas
F. El terminal de selecciónde
modo.s, distingue entre las operaciánesaritméticas
y lógicas. Las dos
entradas de selección de función sr y so especifican
la operaciónaritmé-
tica o lógica que se va a generar.Con tres váriables
de selicción es posible
especificar cuatro operacionesaritméticas (con
s, en ,r.,'estado) y cua-
tro operacioneslógicas-(.cons2 en el otro estado).
Los arrastres de entra-
da y salida tienen significado.otu-"trt..¿rrr"rrt.
,r'u aritmética.
El arrastre de entrada en la posición menos sigaificativa
"i"rá"i¿" de un
se usa muy a menudo como una cuenta variabre ALU
de ülección que puededo_
blar el número de operacionesaritméticas. De
u.tu -rrrlru, es posible ge-
nerar cuatro operacionesmás, para un total
de ocho ope.acionesarit_
méticas.
IJn diseño de un ALU típico se llevará a cabo
en tres etapas.primero,
será emprendidoel diseño ds la secciónaritméticu.
s"gu"ao, debe conside_
rarse el diseño de la sección lógica. Finalmente,
d"b";;-;;áificarse la sec_

A4 A3 A2 Ar 84 nr nr-d,
J2 (Selección de modo)

Unidad lógica aritmética st


(ALU) (Selección de función)
(Arrast¡e de salida) s0

Ft Ft F2 f.l (-.
..D (Arrastre de entrada)

Figura g-5 Diagrama <te bioque 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

ElcomponentebásicodelasecciónaritméticadeunALUesunsumador
de cir-
purri"lo. Ur, .,r-"dár en paralelo se construye con un número
"r,
ABAB

cin=o

F=A+B Í'=A+B+l

(a) Suma (b) Sumaconarrastre

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 :i
1.
(e) Trasferir A (f) Incrementa¡,4

,4 A1l I's I All I's

Cou, ci' =o

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

grupo
Figura 9-6 Operaciones obtenidas mediante el control de un
de entradas de un sumador en paralelo
3U 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

cuitos sumadorescompletosconectados
en cascada(ver sección s-2). con-
trolando la entrada de datos al sumador
p"*rl,lá, rs posible obtener
diferentes tipos de operacionesaritméticas. ""
r," Tis"."-ó-é' -.r".t.a las ope_
racionesaritméticas obtenidas cuando un grupo
de entradasa un sumador
en paralelo se controlan externamente.El
iriá"ro a" bi; er sumadoren
paralelo puedetener_cualquier valor.
El u.."rtr" á";;;;1" "" c¡n pasa al cir_
cuito sumadorcompretoa-la posiciónáel bit
.";;r;ñilativo. El arrastre
de.salida
,cou,provienedel círcuito rüuao, completode la posicióndel bit
más significativo.
La suma aritmética se rogra cuando un grupo
número binario A, el otro coniunto de entradás de entradas recibe un
recibe un número bina¡io
B y el arrastre de entrada se mantiene en
0. Esto se **.tru en la Figura
9-6(a).Haciendo Cr" :1como en la Figura
9_6(b),;; o".i¡f. agregar1a la
suma en F. considé¡ese ahora el efectó a"
entrada B' cuando-c,n 0',la-saridap.áa*" "o-ói"tr.:;J", los bits de la
r ¡]il'E; cual es la suma
de A más el complementode 1 de B. Agregando
t , ..iu-iu,'a y haciendo
Cn : I se obtiene F: A+ B'+ t lá
ru .;;; más el comple_
mento de 2 de B- Esta es"""r}.Jáu""
simiür ;E"p";;;l¿"'a"
-operación
se descartael arrastre dó salida. si se colocan sustracción si
sólé;";;;; los terminalesB,
se obtiene F: A * 0: A, lo cuar trasfiere
la entrada A ala sali¿a F. Agre-
gandoun 1a Ci' comoen la Figura g-6(f),
se obtienep:i+1 ro cual es la
operaciónde incremento.
La condición ilustrada en la Figura g-6(g)
colocarátodos los 1 en los
terminales B. Esto produce la oper"ación
de"'decre^""tá"r:A_1. para
mostrar que esta condición e. u.ru operación
de decremento,considérese
un sumador en paralelo con n circuiios
sumadores
arrastre de salida es 1_ésterepresenta-"1,;;";;;,;ñ;" completos. cuando el
consistede un 1 seguidopo. r, ."ro.. Restando Z, en binario
I di í;,^ le obtiene 2n -r,
lo cual en binario ,r.r núm"ro de n unos. suma ndo 2, - | a A
F:A+2" - r : 2 " ". se obtiene
ne F: A-r. Pa¡a hacer t A - 1 . s i s e " u f r i m e e l a r ¡ a s t r ed e s a r i d a2 n s e o b t i e -
una demostración numérico, sea
n:8y A:9. Entonces: """-"1"":"r"pro
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

Quitando el arrastre de salida 2":2b6, se obtiene g:g- 1. Así,


decrementadoA en 1 agregándoleun número se ha
binario con sólo unos.
,circuito que contróla la entrada B para suministrar las funciones
ilustradas en la Figura g-6 se llaman elemento
urr¿iáLÁlcompremento,
uno,/cero.Este circuito se ilustra en la Figura g
z. iá.-¿"s líneas de se_
lección sr Y so controlan la entrada de cadalerminal
¿- niáiugrama mues-
tra una entrada típica designadapor B, y una
rutiáu a"",g.ru¿u por y-.
Fn una aplicaciónt1pr1u,hay"n circillo. pu.u i :
r, 2, . , n. como se mues-
tra en la tabla de la Figura g-7, cuandoambos,u'r
rr, .Lu" igualesa 0, la
s a l i d a Y ¿ : 0 , i n d e p e n d i e n t e m e ndt ee l v a l o r
d;'É,.'b;;;1" srs.:01 la
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 .
C u a n d o s ¡ s o: 1 1 , a m b a s c o m p u e r t a s e s t a r á n a c t i v a s y Y , : B r + 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,/complemento,


uno,/cero

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

Selector Y Sa!ida
de función iguala igual a Función

J¡ Jg Ctt

000 0 F:A Trasferir A


001 0 F-A+l lncrementar A
010 B F:A+B AgregarB a A
0ll B F:A+B+l AgregarBaAmás1
100 E F:A+E Agregarel complementode 1
deBaA
E F:A+E+l Agregarel complementode 2
d,eB aA
0'- Todounos F:A-l DecrementarA
I Todo unos F:A Trasferir A
Cou,

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

Este ejemplo demuest¡a la factibilidad de construir un circuito arit-


mético por medio del sumador en paralelo. El circuito combinacional,que
debe ser adicionado en cada etapa entre las entradas externas A, y'Bi y
las entradas del sumador en paralelo x, y y,, es una función de las'opera-
ciones aritméticas que van a ser configu¡adas.El circuito aritmético áe la
Figura 9-8 necesita un ci¡cuito combinacional para cada etapa especifi-
cada por 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 etapa j, 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

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
investigar-el efecto de un arrastre de salida, se expandeel circuito aritmé-
tico de la Figura 9-8 a n bits de manera que Co't : 1, cuando la salida del
I
circuito es igual o mayor que 2". La Tabla 9-2 lista las condicionespara
tener un arrástre de salida en el circuito. La función F : A tendrá siempre
el a¡rastre de salida igual a 0. Lo mismo se aplica a la operaciónde incre-
i
mento F: A{ 1 excepto cuando pasa de una condición de sólo 1, a una
condición de sólo 0, en cuyo tiempo se produceun arrastre de salida de 1.
Un arrastre de salida de 1 despuésde una operaciónde adición denota una
condición de sobrecapacidad. Este indica que la suma es mayor que o igual
a 2" y que la suma consistgde n * 1 bits.
La-operaciónF: A+B agregael complementode 1de B a A. Recuér-
desede la Sección 1-5 que el complementode B puedeexpresarsearitméti-
camente como 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


tando el arrastre de salida 2" de este resultado dará:
:1' Qui- ¡
.
''r
rl
t,, I
F:A-B-l
l: :l
lo cual es una sustraccióncon bit prestado.Nótese que 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 es el 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


de función aritmética si

J¡ Ss Cin

00 0 F:A Cqsl €s siempre 0


001 F:A+l A:2n - | Cout:1 y F:0 si A:2" -l
0r0 F:A+B (A+B)>2" Ocurre sobrecapacidad si C.u¡ : 1
0ll F:A+B+l (A+B)>(2"-r) Ocurre sobrecapacidad si Cou¿: 1
100 F:A- B-r A>B Si Co,r :0, entonces A < B Y
F: complemento de 1 de(B - A)
l0l F:A-B 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)
lr0 F:A-l A +0 Cuut: 1, excepto cuando A: 0
lll F:A Cs¡¿es sienpre 1

387
388 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ón para el arrastre de salida cuandoF : A+ B + 1 puedede-


ducirse de manera similar. B a t es el símbolopara el complementbde z de
B. A¡itméticamente, ésta es una.operaciónqué produce ui número
igual a
2" - B. El resultadode la operaciónpuede
"*pr"é"..u "o^o,
F:A+2-B:2+A_B

Si A¡8, entonces
\ l - n ¡ > 0 y F 2 2 " , d e m a n e r aq u e C . , u:,1 . R e m o v i e n _
do el arrastre de salida 2' se obtiene:

F:A-B

l1 ""ll es una_operaciónde sustracción. si a pesar de que A<B entonces


(A-.8) <0 y F<2'para que Cout:0. El resultado
a r i t m é t i c op a r a e s t a
condición puedeser expresadocomó:

F:2-(B-A)

lo.cual
.es el conplementode 2 de B-A. Así, la salida de la sustracción
aritmética es correctasiemprey cuandoA > É. ru,utiau ¿-A
si B; Á,
pero-el circuito genera el complemento de 2 le este
T,a operaciónde decrementose obtiene
- 1. El arrastre de salida es s-iempre d; tr'"ir-"ro.
:;;"i2" _I):2^ +A
1 exceptocuando A:0. sustrayendo
1de O-da-1y - 1 e n c o m p l e m e n tdoe 2 á s 2 " - i ; l
cualesun número
con sólo unos. La última entrada en la Tabla s-i g"""t;i: (2" - 1) +A + 1
:2" + A. Esta operacióntrasfiereA
a F y aa ur,"a.raJre de salida de 1.

Diseño de otros circuitos aritméticos

El diseño de cualquier circuito aritmético que generaun conjunto de ope-


raciones_básicas puede llevarse a cabo siguiéndJel procedimientoenuncia-
do en el ejemplo previo. Asurniendo q,rJ tod"" las operacionesdel grupo
puerien-ser generadaspor medio del sumadot p"r"i"lo, se comienza ob-
teniendo un diagrama de función como en la Figura
"n 9-6. Del diagrama de
función se obtiene una tabla de función que rela"cionalas entradaé del cir_
cuito
.sumador completo a las entradas externas. A partir de la tabla de
fi¡nción se obtienen
-las compuertas combinacionalesque deben ser agrega-
das a- cada etapa del sumador completo. Este procedii"i""to se demuestra
con el siguienteejemplo.

C' =0

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


(a) Especificación de la función
q
¡]

J
A.
' - l
Ci¡cuito
combinacional

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

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

(c) Tabla de verdady ecuacionessimplificadas

Figura 9-9 Deducción de un circuito sumador,/sustractor

EJEMPLD 9-I; Diseñar un circuito sumador,/sustractorcon


el
una variable de seleccións y dos entradasA y B' Cuando s:0
c i r c u i t o r e a l i z aA + B . C u a n d o s : 1 e l c i r c u i t o e j e c u t aA - B L o-
mando el complemento de 2 de B.
La deducóión del circuito aritmético se ilustra en la Figura
g-g. El diagrama de función se muestra en la Figura 9-9(a). Para
parte de"suma,se necesita C,. :0' Para la par,t9d9 sustracción
la -"""etit"
t" el coáplementode B y C'^:1' La tabla de función se
iirtu la Figura 9-9(b). Cuando s:0, X, Y Y, de ca.dasumador
"r, debJn ser iguales a las entradas externas A, Y Bt 19!
""r"pf"t"
;;i;;""te. C u a n d ós : 1 , s e d e b et e n e r X ¡ : A t v Y ¡ : B l ' E I
(b)
Iio.tt" de salida debe ser igual al valor de s. El diagrama en
muestra la posición del circuito combinacional en una etapa típi-
ca del circuito aritmético. La tabla de verdad en (c) se obtiene lis-
ü"á; los ocho valores de las variables de entrada binarias. La
r"fiá" X, se hace igual a la entrada A, enocho entradas'-La sa-
Itd;Í es isuat u É, pur^ las cuatro entradas cuando s: 0' Esta
"complem"ttto
lgrif al d" B, pata las últimas cuatro entradas
".
.rr"ñdo s : 1. Lás funciones de Áalida simplificadas para los cir-
cuitos combinacionalesson:
X¡: A,
Y,:8,@s
389
Cout

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

El diagrama del circuito sumador sustractor de 4 bits se muestra


en la Figura 9-10. Cada entrada B, requiereuna compuerta OR-
exclusiva.La variable de seleccións va a una entrada de cada com-
puerta y también al arrastre de entrada del sumador en paralelo.
El sumador/sustractor de 4 bits . puede ser construido con dos
CI. Un CI es el sumadoren paralelo de 4 bits y el otro es un CI de
compuertasOR-exclusivascuádruples.

9-5 D I S E Ñ O D 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 cada bit como una variable binaria. La Tabla 2-6 lista lG
operacioneslógicas que pueden ser realizadas con dos variables binarias.
Las 16 operacioneslógicas pueden ser generadasen un circuito y seleccio-
nadas por medio de cuatro líneas de selección.Como todas las operaciones
lógicas pueden obtenersepor medio de operacionesAND, OR y NOT (com-
plemento),podría ser más convenienteemplearun circuito lógicojustamen-
te con esasoperaciones.Para tres operacionesse necesitan dos variables de
selección. Pero dos líneas de selección pueden seleccionar entre cuatro
operacioneslógicas, de manera que se escogetambién la función OR-ex-
390
q
0
*.

I
F,= A, t B, OR
MUX
Fi=Ai@Bi XOR
2 F,= A¡8, AND
F ¡ =A i NOT

3 Selección

(a) Diagrama lógico (b) Tabla de funció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étodo más simple y directo de diseñar un circuito lógico se mues- "l
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, ,:1
OR-exclusiva,AND y NOT. Las dos variablesde selecciónen el multiplexor I

seleccionanuna de las compuertasde la salida. La tabla de función lista la


lógica de salida generadacomo una función de dos variablesde selección.
El circuito lógico puede ser combinadoen el circuito aritmético para
producir una unidad lógica aritmética. Las variables de selecciónsr y so
pueden hacersecomunesa ambas seccionessiempre y cuando se use una
tercera variable de seleccións2 para diferenciar entre los dos. Esta con-
figuración se ilustra en la Figura 9-12. Las salidas de los circuitos lógicos
y aritméticos de cada estado pasan 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 hacerse inhibiendo todos los arrastres de entrada de los circuitos
del sumador completo del sumador en 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 resultado será:

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

Operación
J2 sl J0 X, Y, C, F , : X , @ Y , Operación requerida

100 Ai 0 0 F¡: A¡ 'l'rasferir


A OR
l0l A¡Bi0 F,: A,@B, XOR XOR
ll0 Ai B,' 0 Ft: A,OB, Equivalencia AND
rll .4i10 F': A! NOT NOT

Esta expresiónes válida debido a la propiedadde la operación


oR-exclusi_
va.r o o: ¡. Así, con el arrastre de salida d,ecada etápa igual
a 0, los cir-
cuitos del sumador completo generanIa operaciónoR-exciusiva.
considéreseel circuito aritmético de ia Figura g-g. El valor
de r pue-
de seleccionarsepor medio de dos variables aá r.r*"i¿n que
sean iguales
a 0, 8,, B', o 1. El valor de X, es siempreigual a la entraáa
A,. La Tabla
9-3 muestra las cuatro operacioneslógicas obtenidascuando la
tercera va_
riable de seleccións2:1. Esta va¡iable de selecció";bliá
a que c, sea
igual a 0 mientras,gye rr J s' escogenun valor parti"irlu,
d"
cuatro operacioneslógicas obtenidas por esta configüraciónson x.'i",
la irasfe_
rencia, la oR-exclusiva, la equivalenciáy el compleniento.La
terceraentra_
da es la operaciónde equivalenciaporque:

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


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

A,@l:Ai
392
q
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

La tabla tiene una columna más la cual contienela lista de las cuarr,
operacio_neslógicas que se van a incluir en el ALU. Dos de estas operacrc,_
nes, la oR-exclusiva y el NoT están disponibles.La preguntaque áebe
ser
contestadaes de si es posible modificar el circuito árit"m¿tico-demanera
que generelas funcioneslógicas oR y AND en vez de las funciones
de tras_
ferenciay equivalencia.Este problema se investiga en la siguientesección.

9-6 D I S E Ñ O D 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

En esta secciónse diseña un ALU con ocho operacionesaritméticas y cua-


tro operacioneslógicas. Las tres variables de selección sz.sr y .s,,selec-
cionan ocho operacionesdiferentesy el arrastre de entrada c* se ,r.u pu.u
seleccionarcuatro operacionesaritméticas adicionales.Con s; :0, las va-
riables sr y so conjuntamente con Cln, seleccionanlas ochos operaciones ¡
aritméticas listadas en la Tabla 9-1. Con s, : 1, las variables y ,o ,"-
leccionanlas cuatro operacioneslógicas oR, oR-exclusiva, AND",y ñor. I
1
El diseñode un ALU es un problemade lógica combinacional.Debidoa
que la unidad tiene un patrón regular, ésta puede fraccionarseen etapas ,
idénticas conectadasen cascadapor medio de los arrastres. Se puede di- .t

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. i
c
1
2. Determinar las operacioneslógicas obtenidas del circuito aritméti- 1
'I
co en el paso 1, asumiendoque los arrastres de salida de todas las
etapasson 0.
i
3. Modificar el circuito aritmético para obtener las operacioneslógicas
requeridas. I
El tercer paso en el diseño no es un procedimientodirecto y requierecierta
cantidad de ingenuidad por parte del diseñador. No hay guru.rtíude que
se pueda encontrar una solución o que Ia solución use el -itrno número de
compuertas.El ejemplo presentadoaquí demuestrael tipo de pensamiento
lógico que-se requierealgunas vecesen el diseño de sistemasdigitales.
se debe tener en.cuenta que se disponede varios ALU en óI
lados. En un casopráctico, lo que se debe hacer es buscar un ALU"r,"upr,r-
adecua-
do o unidad procesadoraentre los circuitos integrados que se obtienen
comercialmente.Pero, la lógica interna del CI seleccionadodebehaber sido
diseñadopor una personafamiliarizada con las técnicas de diseño lógico.
_ La solución para el primer paso del diseñose muestra en la Figuia 9-g.
La s<¡luciónal segundopaso de diseño es presentadoen la Tabla g-3. La
solución para el tercer paso se deducea continuación.
394. DISEÑO
LOGICO
DE PROCESADORES 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
9ua¡d9 szsrs':110. La unidad de esta manera genera una salida d:
Ai O Bi pero se requiere
_generar la operación RñO F¡: AiB,. Se puld"
investigar la posibilidgd 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, óuan-
"o.,
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 iguales a 0 porque BiB,,:0. El resultado obtenido es la


operaciónAND que se requiere.La conclusión es que, si A, se aplica con
Bj a una función OR cuando s2srs':110, la salida generala óperación
AND.
El ALU final se muestra en la Figura 9-18.solamente las dos etapasse
dibujarr, pero el diagrama puede extenderse fácilmente a más etapas. Las
entradas a cada circuito sumado¡ completo se especificanpor medio de las
funcionesde Boole:

X¡: A¡ + srsisiB,* srsrs'oBi


Y , : s o B*, s r B i
Zt: s'2Ct

Cuando sz :0, las tres funcionesse reducena:

X,: A,
Y , : s o B+, s r B i
Z,: C,

las cuales son 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
.q

!
.!
l


.:
': 1

Figura 9-13 Diagrama lógico de una unidad lógica aritmética (ALU)

395
3 9 6 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
I
La. salida d es igual a X¡ @ { y produce las operacionesoR-exclusiva
y de complementocomo se especificáen la Tabl" g-g. cada A,
con B, se
aplican a una función OR cuandos2s1s6 :110, para producir lá operación
oR como se ha discutido antes. caaa a, óon Bi sé aplióan a una función oR
cuando s2srso:110 para producir una operaciónAND como se ha ex-
plicado previamente.
_ !". 12 operacionesgeneradasen el ALU se sumarizan en la Tabla 9-4.
La función particular se sele-ccionapor medio de s2, sr, so y C,.. Las
operacionesaritméticas son idénticas a aquellas listádas para el circuito
aritmético. El valor d9 c,. para las cuatro funcioneslógicasno tienen efec-
to en la operaciónde la unidad y aqueilasentradas." á"r"u' con X de no
importa.
Tabla 9-4 Tabla de función para el ALU de la Fizu¡a g_13

Selección
J2 J¡ Salida Función
0 0 0 0 F:A Trasferir A
0 0 0 I F:A+l IncrementarA
0 0 I 0 F:AtB Suma
0 0 I I F=A*B*l Suma con arrastre
0 0 0 F:A-B-l Restacon préstamo
0 0 I F:A-B Sustracción
0 I 0 F:A-l DecrementarA
0 I I F=A Trasferir A
I 0 0 X F:AVB OR
I 0 I X F=A@B OR-exclusiva
I I 0 X F:AAB AND
I I I X F=f ComplementarA

9-7 REGISTRO
DE CONDICION
Las_magnitudes relativas de dos núme¡os pueden ser dete¡minadasres-
tando un número de otro y luego combinando ciertas condiciones de los
bits en la diferenciaresultante. Si los dos númerosestán sin signo las con-
diciones de los bits de algún interés, son el arrastre de salida y un resul-
tado posible de cero. si los dos números incluyen un bit de signo en la
posiciónde mayor orden, las condicionesprincipálesde los bits, so-nel signo
del resultado, una indicación de cero y una cbndición de sobrecapacidád.
Es -conv-eniente algunas vecessuplementarel ALU con un registro de con-
dición donde se almacenan aquellas condicionesde los bits para análisis
posterior. El estado de los bits de condición se llama algunas vecescódí-
go de condición de los bits o bits indicadores
La Figura 9-14 muestra un diagrama de bloque de un ALU de g bits
con un registro de condición de 4 bits. Los cuatro bits de condición se sim-
bolizan por medio de c, s, z y v. Los bits se ponena uno ó cero comoresul-
tado de una operaciónrealizadaen el ALU.
sEc,9-7 D E C O N D I C I O N3 9 7
REGISTRO

1 . El bit C se pone a uno si el arrastre de salida del ALU es I y' se pc,ne


a cero (borrado)si el arrastre de salida es 0.
2 . El bit S se pone a uno si el bit de mayor orden del resultadoen Ia
salida del ALU (bit del signo) es 1y se pone a cero (borrado)si ei
bit de mayor orden es 0.
.J. El bit Z se pone a uno si la salida del ALU contienesólo cerosy se
pone a cero (borrado)de otra manera. Z:1 si el resultado es cero
y Z:0 si el resultado es diferente de cero.
4 . El bit V se pone a uno si la OR-exclusivade los arrastres Cs Y Cs
es 1y de otra manera se pone a cero (borrado). Esta es la condición
de sobrecapacidadcuando los números están en la representación
de signo-complemento de 2 (ver Sección8-5). Para el ALU de 8bits,
V se pone a uno si el resultadoes mayor que 127o menor que - 128.

Los bits de condición pueden comprobarsedespuésde una condición


de operaciónpara determinar ciertas relacionesque existen entre los va-
lores de A y B. Si el bit V se pone a uno despuésde la adición de los dos
númeroscon signo, éste indicará una condición de sobrecapacidad. Si Z se
pone a uno despuésde una operaciónde OR-exclusiva indica que A: B.
Esto es así porque ¡ @ r:0 y la OR-exclusivade dos operandosigualesda
un resultadode sólo ceros,los cualesponen a uno el bit Z. Un solo bit de A
puede comprobarsepara determinar si es 0 ó 1, al enmascarartodos los
bits excepto el bit en prueba, para luego comprobar el bit de condícíón Z'

Selección

Registro de
condición

C- Arrast¡e
S- Signo
Z- Cero
V- Sobrecapacidad

Figura 9-14 Activación de los bits en un registro de estado


398 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
I
Por ejemplo,sea A: 101¡1100donde ¡ es el bit que se va a comprobar.La
operaciónAND de A con B:00010000 producirá un resultado000¡0000.Si
¡ : 0 e l b i t d e c o n d i c i ó ns e p o n ea u n o p e r os i r : 1 e l b i t z s e b o r r ay a q u e
el resultadoes cero.
La operación de comparación es una sustracción de A menos B, ex-
cepto que el resultadode la operaciónno se trasfiere al registro de desiino,
pero los bits de condición se afectan. El registro de condición suministra
entoncesla información acerca de las magnitudesrelativas de A y B. Los
bits de condición que se van a considerar'dependen de si se toman los dos
númeroscon signo o sin él en la representaciónde complementode 2.
considéresela operaciónA - B hecha con dos númerosbinarios sin sig-
no. Las magnitudes relativas de A y B pueden determinarse de los valorés
trasferidosa los bits de condición cl v z. si z: 1 se sabeque A: B ya que
A-B:0. S i Z : A s e s a b eq u eA + 8 . D e l a T a b l a9 _ 2s e t i l n e q u e C : 1 s e
t i e n e q u e c : 1 s i A > B y c : 0 s i A < 8 . E s t a sc o n d i c i o n eess t á nl i s t a d a s
en la Tabla 9-5. La tabla da en su lista otras dos condiciones.para que A
s e am a y o rp e r on o i g u a l a B ( A > B ) s e d e b et e n e r c : l y z:0. comoc se
pone a uno cuando el resultado es 0, se debe comprobar z para asegurarse
que el resultadono es 0. Para que A seameno.queó igual a il(¿.Bi el bit
C debeser 0 (paraA<B) o el bit Z debeser 1 (párae: n¡. La Tabla g_5lis_
ta también las funcionesde Boole que debeniatisfacersepara cada una de
las seis relaciones.
. Algunos computadoresconsideranel bit c como el bit de préstamodes-
pués.deun_aoperaciónde sustracciónde A-8. un bit de préitamo no ocu-
rre si A zB pero un bit extra debe serprestadocuandoe ia. La condición
para el bit de préstamo es el complementodel arrastre de salida obtenido
cuando se hace la sustracción,tomando el complementode 2 de B. por esta
razón un procesadorque considerael bit c como el bit de préstamodespués
de una sustracción, complementaráel bit c despuésde la sustracción u
operaciónde ccimparar,ión y denotará este bit comó préstamo.
considéreseahora la operaciónA - B hecha dor númerosbinarios
c:onsigno cuando los núrnerosnegativos están en "on la forma de complemento
de_2. Las magnitudes relativas de A y B pueden ser determinadásde dos
valores trasferidosa los bits de condición 2, s y v. si z: I se conoceque
A : 8 , c u a n d oz : 0 s e t i e n e q u e A + 8 . s i s : 0 , e l s i g r r od e l r e s u l t a d oe s

Tabla 9-5 Bits de condición despuésde la sust¡acción


de los números sin signo (A - B)

Estadodel bit Función


Relación de condición de Boole

A>B C:l y Z=0 CZ'


A>B c:l C
A<B C=0 C'
A<B C:0oZ:l C,+ Z
A:B Z:l Z
A+n Z:0 z'
SEC.9.8 DEUN REGISTRO
DISEÑO C 399
DEDESPLAZAMIEf
u
positivo de manera que A debe ser_mayor que B. Esto es verdad sl n¡- :.:"
io¡.".upu.idad y y:0. Si el resultado se desbordapor sobrecapaciciaci st
obtendü un resultadoerróneo. Fue mostrado en la Sección 8-5 que una co¡-
dición de sobrecapacidad cambia el signo del resultado.Por tanto, si 's : i
y V-- 1 esto indióa que el resultado deberíahaber sido positivo y por tant(-'
A debeser mayor que B.
A
La Tabla-g-elista las seis relacionesposiblesque puedenexistir entre
d e V e n c a d ac a s o P
' a r a q u e A - B
V f V t o t v a l o r e sc o r r e s p o n d i e n t e s? , S V
sea mayor que pero no igual a cero (A> B), el resultadodebeser positivo o
áii".u"iu de Como"u.,resultadode cero dará un signo positivo, se debe
ur"goruque el bít z es 0 para excluir la posibilidadde A:8. Para A>-B
"e-.
u* *fi"i"rrte comprobar un signo positivo cuando no ocurre sobrecapacidad
re-
o un signo negativo cuando o"rrrtl una sobrecapacidad.Pan A < B, el
sultado debe ser negativo. Si el resultado es negativo o cero'
A<8. Las funcionei de Boole listadas en la tabla expresanlas condiciones
se tiene que
iI
del bit de condición en forma algebraica. ¡
(A-B)
II
Tabla 9-6 Bits de condición después de la sustracción de números t'!
en signo-comPlemento de 2
I

Relación Estado de los bits de condición Función de Boole

A>B Z:0 y (s:0,v:0ó s:l,I/:l) z'(som


A>B S:O,V:0ó S:l,V:r ,soz
A <B S:l,V:0ó S:0,V:l S@V
A<B s:1, I/:0ós:0,v:lóZ:r (s@v)+z
A:B z:r Z
A+B z:0 Z'

9-8 DE DESPLAZAMIENTO
D I S E Ñ OD E U N R E G I S T R O

La unidad de desplazamientoadjunta a un procesadortrasfiere la salida


la
Jel ALU al bus dé salida. La unidad de desplazamientopuedetrasferir
sin un desplazamiento o puede desplazar l"
información directamente il-
precaución
formación a la derechao a la izquieida. Se debe tener alguna
para que algunas vecesno haya tiasferencia del ALU al bus de salida. El
"Jesplaramientopioduce la microoperaciónde desplazamiento
i"girtr'" ¿"
comúnmenteno disponibleen un ALU'
un circuito ob"io para un registro de desplazamientoes un registro_de
a"rptu"u*iento bidireccional iurga pa.álelo. La informacióndel ALU
"o., ".t
;;;á;;; ;;sferida al registro en p-aralelópara luego.desplazarlaa la de-
;*ü a la izquierda. Ei esta configuraciónse necesitaun pulso de reloj
pulso
pái" f" trasferenciaai .egist.o de desplazamientoy se necesitaotro
"
desplazamiento. ñstos dos puisos son agregados al pulso necesario
;;;
"i desplazamientoal registro de
iu." t.u.f"ri,. lu i.rformación del registro de
destino.
4@ D I S E N OL O G I C OD E P R O C E S A D O R E S
CAP. 9

La trasferencia de_un registro fuente a un registro


de destino puede
hacersecon un pulso.de reloj si se configuru ,"gi.tio"aJ'a".ptrzamiento
con un circuito combinacional. En un re"gistro"rau á".ptur"-ienio
de lógi;;
combinacional,las señalesdel ALU al büs a" propug"ra' por las
compuertas sin la necesidadde r¡n pulso de reloj.
"uriáu'."
por tantó ei t'icó prriso
de reloj necesarioen el sistema del procesadoreá p"r; ;;;;;,
los datos del
bus de salida al registrode destino.
IJn registrode desplazamientode lógica combinacionalpuede
construir_
s: coll multiplexores como se muestra lu Figura g-15. Lls dos variables
de selecciónHt ! ilo aplicadas a los "ttcuatro ñultiplexores seleccionanel
tipo de operaciónen el registro de desplazamiento.Co"
A,/10:00 no se
ejecuta_ndesplazamientosy las señales de F van ¿lr""iu-"rte
-rrrr" a las líneas
de s,. Las dos siguientes variabres de selección causan
op"rución de
desplazamientoa la derechao-la izquierda. C"u"áo-irn"r':11,
los multi_
plexoresseleccionanlas ent¡adas conectadasa 0 y.o-olrru
secuencialas
salidas de s son también iguales a 0, bloque""¿ó r" trári.r"rr.i"
de infor_
mación del ALU al bus de salida. La 'tabia g-z sumaiiz" 1,
op..u"ión del
registrode desplazamiento.
_ El diagrama de la Figura g-15 muestra solamentecuatro estadosdel
registro de desplazamiento.Este último por supuestodebe consistir
de n
estados en un sistema con n líneas en-paralélo. Las entradas 1,
e 1.
sirven como entradas-deserie para la primera y última durante un
desplazamientoa la derechao a la izquierda réspectivame'ie."táp", ot.u varia-
ble de selección puede se: emplead" pltu especificar que irá a I, e 1,
du-
rante el desplazamiento.- Por ej-emplo,una tercera variable de seletciória,
cuando está en un estado puede selecciona¡ un 0 para la entrada en ,
serie

Salida
se¡ial Salida
serial

04 13 .t2 ,Sl

Figura g-15 Registro de desplazamiento de 4 bits a base de lógica combinacional


q
Tabla 9-7 Tabla de función para el registro de desplazamiento

Hl Ho Operación Función

0 0 S <- F Trasferir F a S (ningun desplazamientor


0 I ^S<- shr F DesplazarF a la derechahacia S
I 0 S <- shl F DesplazarF a la izquierda hacia F
I I S<--0 Trasferir0aS

durante el desplazamiento.Cuando H2 está en el otro estado la informa-


ción puede circularse conjuntamentecon el valor del bit de condición. De
esta manera un arrastre producido durante una operaciónde suma puede
desplazarsea la derecha a la posición del bit más significativa de un re-
gistro.

9-9 UNIDAD PROCESADORA

Las variables de selecciónen la unidad procesadoracontrola las microope-


racionesejecutadasdentro del procesadordurante cualquier pulso de reloj
dado. Las variables de seleccióncontrolan los buses,el ALU, el registrode
desplazamientoy el registro de destino. Se demostraráahora por medio de
un ijemplo cómo las variables de control seleccionanlas microoperaciones
en una unidad procesadora.El ejemplo define una unidad procesadoracon-
juntamente con todas las variables de selección.Luego se discutirán las al-
ternativas de las variables de control para algunas microoperacionestí-
picas.
Un diagrama de bloque de una unidad procesadorase muestra en la
Figura 9-r6(a). Este consiste de siete registros Rl hasta R? y el registro
de condición. Las salidas de los siete registrosvan a través de dos multi-
plexorespara seleccionarlas entradasdel ALU. La entrada de datos de una
luente externa se seleccionatambién con los mismos multiplexores.La sali-
da del ALu pasa a través de un Iegistro de desplazamientoy luegova a un
grupo de terminales de salida externos.La salida del registro de desplaza-
miento puede trasferirse a cualquiera de los registros o a un destino ex-
terno.
Hay 16 variables de selecciónen la unidad y su función se especifica
por una palabra de control en la Figura 9-16(b). La palabra de control de
16 bits cuando se aplica a las variables de selecciónen el procesador,espe-
cifica una microoperacióndada. La palabra de control se divide en seis
campos,con cada campo designadopor una letra. Todos los campos,excepto
C¡. tienen un código de tres bits. Los tres bits de A seleccionanun registro
fuente para la entrada en la parte izquierdadel ALU. El campoB es el mis-
mo, pe;o seleccionala fuente de información para la entrada derechadel
ALU. El campo D seleccionaun registro de destino. El campoF conjunta-
mente con el bit etr C1, seleccionanuna función en el ALU. El campoH se-
leccionael tipo de desplazamientoy el registrode desplazamiento.
401
Datos de entrada

registros
RlaRT

Selector
de destino

Registrode condición

Registro de
desplazamiento

Datos de salida

(a) Diagrama de bloque

1 e l0 ll12 13 141516
B D F lCr H

(b) Palabra de control

Figura 9-16 Unidad procesadoracon variables de control

Las funciones de todas las variables de selecciónse esDecificanen la


Tabla 9-8. El códigobinario de 3 bits listado en la tabla espe;ificael código
para cada uno de los cinco camposA, B, D, F y H.El registroseleccionado
por A, B y D es aquel cuyo número decimal es equivalenteal númerobina-
rio en el código.Cuando el campoA ó B es 000,el correspondiente multiple-
xor seleccionala entrada de datos. Cuando D:000, no se seleccionaregis-
tro de destino. Los tres bits en el campo F conjuntamentecon el arrastre
de entrada C;a, surluristran las 12 operacionesdel ALU de la maneraespe-
402
\

UNIDADPROCESADOR&
^3
sEc. 9-9 I

para F:A' En
cificada en la Tabla 9-4. Nótese que hay dos posibilidades
d

y
,rr ."ro el bit de arrastre C se boria en el otro caso se pone a 1 (ver Tabla
e-2).
9-16
Tabla g-g Funciones de las variables de control para el procesadorde la Figura

Función de las variables de selección

F con I con
Código
B D C,.: 0 Cn: I H
binario

000 Datosentr. Datossal- N i n g . A, C <-0 A+l No desplazamiento


001 RI RI nl A+B A+B+1 Despl. a la der., /^ : Q
R2 R2 R2 A_B_I A-B Despl. alaizq., It:O
010
I R3 R3 R3 A-l A,C<-l 0 al bus de salida
0l
100 R4 R4 n4 AVB
l0l R5 R5 R5 A@B Circular a la der. con C
n6 Ró R6 AAB Circular a la izq. con C
l l0
lll R7 R7 R7 T

especifica-nlas
Las cuatro primeras entradas del código en e-l campo H
d. la Tabla 9-?. Una tercera variable de se-
opuru"iá"* á. d".pi"ráLi"trto I' ó
un 0 para las entradas de serie I, e
lección se usa pu," se
"'p".ificar C. Por conveniencia
,rn-a..pt"ramiento ci-rála. con el bif de arrastre crc y a
con arrastre como
á.*ig"á un desplazamientocircular a la derecha right-shift
(crc: circular
la izquierda como .ir. n"to"ces la declaración
with carry; clc: circular left-shift with carry):
R<-crcR

I es una abreviación de la proposición:

R +- shr R, Rn<- C, C +- Rt

Rsedesplazaa|aderecha,subitme{lgssignificativoR.vaaCyelvalor
a.-C uu a la posición del bit más significativo Rn'
Se necesita J" .onirol de 16 bi[s para especificaruna mi-
gene-
lá unidad de proceso. La manera más eficiente de
",'|'p"Iil;á
"rooñ"tu.lá;;|* tattiot bits es almacenarlas en una unidad de
rar palabra. d.
"orrlrJf;; d,e control donde están almacenadas
memoria que funciona como rnemoria
palabras de control se lee
todas las palabras de control. La secuencia de
de la memoria de a palabra para-iniciar la secuenciadeseada
";t;i;;I"bra se llama micropro-
de microoper".iorr"..-ütt" tip" de or'ganizaciónde control
el Capítulo10'
i*Áot¡¿i y se discute en más detalle en
"'-";" á"-"""tio1 pu1" una microoperación dada puede ser deriva-
iálát.á en la Tabla 9-8' La
da directamente¿e-ür-""tüúr.t de seleccién definidas
microoperaciónde sustracción:
Rl<-Rl- R2
& DIsEÑoLoGIcoDEPRocEsADoRES
cAP.9
especificaftl para la entrada izquieida
del ALU, R2para la entrada dere_
cha del ALU. A - B para,l" op"r""iór, d"iÁLü;;i"*o'T;o;zamiento
el^registrode.desprazamiento Rr paia para
v r";i.;;?;'d;.;i;". De ra Tabra
9-8 se deriva la palabra de control "r esta operación
óuru qu" sea
0010100010101000:
A BD q,H F
001 0 r 0 001 0 r 0 r 000
Las palabras de control para esta microoperación
y algunasotras se listan
en la Tabla 9-9.
La operaciónde comparar es similar a la
microoperaciónde sustrac-
ción, exceptoque la diferencia no se tr".n"."
;**;;;'ie ¿e.tirro y sola_
mente los bits de condición se afectan. El "f de destino D
campo en este caso
debe ser 000. La trasferencia de ,Rau ns
ryc,ri"re una operaciónALU F : A.
La fuente A es r(x) v el destino D esrói.
.oru porqlu el ALU _nr.¿J,g" á".ii"J.io" B podría ser
::¡l:T"_t ü;; Este campo se marca con 000 en la
tabla por convenienciapero-cuarquier ";
otro códigoá" úil;;dría
Para trasferir la enrrada de datos á ná,-Já"b";;;;i:000 ser usado.
leccionar la entrada exte¡na D:110 para para se_
I seleccionarel registro de des-
tino' De nuevo el valor de.B-n_o_irnp"_rt" y la función ALU es F:A. para
s a c a ¡d a t o sd e R 7 s e h a c eA : 1 1 1 n : g 0 0 ( ó 1 1 1 ) .L a o p e r a c i ó nd e A L U
F: Lcoloca la informaciónde nZal i
bus de salida.
Es necesarioalgrrnasvecesborrar o po.ru.
a 1 el bit de arrastre antes
de-una
-operacióncirculjrr_de despla"amie'to. n.io-pu"áu-¡r.".se con un
códigode selecciónde ALU 0000ó'01ri.
co' el ñ;.;;;;igo se tiene el bit
c bo*ado v con el segundoel bit c *l lu tr"Jr"r"""iá"ñi"-nr,
carnbia el contenido.áel c*0 no
,registro, p".o borrará c y v. Los bits de selección
A y s se afectan de ifual -"netá.'si ni:
o entoncesz se ponea 1, de otra
manerase borrará. El bit s se pone a uno con
el valor delbii-signo en ^R1.
El pulso de reloj, que,disiara el registro de
destino trasfiere también
los bits de condición dei ALU at.egi.tro'¿e
condición.t;.;it, de condición

Tabla g-9 Ejemplos de microoperaciones para


un procesador

Palabra de control
Microoperación F C¡n Función
Rl+--Rl-R2 001 0t0 001 010 I 000 Sustrae¡ R2de Rl
R3-R4 0ll 100 000 010 I 000 Comparar RBy R4
R5 <--fi4 r00 000 l0l 000 0 000 Trasferir R4 a R5
Itó <-.Entrada 000 000 ll0 000 0 000 Entrada de datos a g6
Salida <- R7 ul 000 000 000 0 000 Salida de datos de.RT
Rl<-¡Rl,C<-0 00r 000 001 000 0 000 Borrar el bit de arrastre C
R3 <- shl R3 oil 0ll 0ll t00 0 010 trsspl¿pr a la derechaR3 con.L : 0
Rl<-crcRl 001 001 001 100 0 l 0 l C i r c u l a r a l a d e r .R l c o n b i t d e á r r a s t r e
R2<-0 000 000 010 000 0 0l I Borrar.R2
j!
sEc. 9-9 U N I D A DP R O C E S A D O R ^4 O 5

son afectadosdespuésde las operacionesaritméticas. Los bits de condicion


C y V se dejan sin cambiar durante una operaciónlógica ya que esosbits
no tienen significadopara las operacioneslógicas.En algunosprocesadores
es costumbreno cambiar el valor del bit de arrastre C despuésde una ope-
ración de incrementoo decremento.
si se quiere colocar el contenidode un registroa un registrode despla-
zamiento sin cambiar el bit de arrastre, se puede usar la operaciónlógica
OR con el mismo registroseleccionadopara las entradasA y B del ALU. La
operación:

R<-R!R

no cambia el valor del registroR, sin embargo,colocael contenidode R a las


entradas del registro de desplazamientoy no cambio los valoresde los bits
decondiciónCyV.
Los ejemplos en la Tabla 9-9 discutidos hasta ahora usan el código 000
de selecciónde desplazamientopara el campo H, para indicar una opera-
ción de no desplazamiento.Para desplazarlos contenidosde un registro se
debe colocar el valor del registro en el registro de desplazamientosin ha-
cerle ningún cambio al ALU. La proposiciónde la microoperaciónde des-
plazamientoa la izquierda:

R3 <- shl R3

especificael código para la selecciónde desplazamientopero no el código


para el ALU. El contenidode R3 puedecolocarseen el registrode desplaza-
miento para especificaruna operaciónOR entre .R3y el registromismo. La
informaóión desplazadaregresaa R3 si ft3 se especificacomo el registro de
destino. Esto requiereque los camposde selecciónA, B y D tengan el có-
digo 011 para R3, que el código de función del ALU sea 1000para la opera-
ción oR y que el selector Il de desplazamientosea 010 para el desplaza-
miento a la izquierda.
El desplazamientocircular a la derechacon arrastre del registro R1 se
simboliza por medio de la proposición:

Rl<-crcRl

Esta proposiciónespecificael códigodel registrode desplazamientopero no


el códigopara el ALU. Para colocarel contenidode R3 en los terminales de
salida del ALU sin afectar el bit C se usa la operaciónOR como se hizo an-
teriormente.De esta manera no se afecta el bit C en la operacióndel ALU,
pero puedecambiarsedebidoal desplazamientocircular.
El último ejemploen la Tabla 9-9 muestra la palabrade control para bo-
rrar un registro a 0. Para borrar el registroR2, se hace que el bus de salida
contengasólo ceroscon.FI:011. El campode destinoD se haceigual al có-
digo del registro R2.
Es obvio a partir de estos ejemplos que muchas otras microoperaciones
pueden generarseen la unidad procesadora.Una unidad procesadora con
un conjunto completo de microoperacioneses un elemento de propósito ge-
406 DISEÑO
LOGICO
DE PROCESADORES C A P .9
I
neral que puede adaptarse a muchas aplicaciones. El método de trasfe-
rencia entre registros es una herramienta conveniente para especificar las
operaciones en forma simbólica en un sistema digital que emplea una uni-
dad de proceso para propósitos generales" El sistema se define primero
con una secuencia de proposiciones de microoperación en el método de no-
tación de trasferencia entre registros o en cualquier otra notación disponi-
ble de trasferencia. Una función de control se representa aquí no por una
función de Boole sino por una cadena de variables binarias llamadas palabra
de control. La palabra de control para cada microoperación se deriva de la
tabla de función del procesador.
La secuencia de palabras de control para el sistema se almacena en la
memoria de control. La salida de la memoria de control se aplica a las va-
riables de selección del procesador. Leyendo consecutivamente las pala-
bras de control de la memoria, es posible darle secuencia a las microopera-
ciones del procesador. Así, todo el diseño puede hacerse por medio del
método de trasferencia entre registros, el cual en este caso particular se
refiere al método de la microprogramación. Este método para controlar la
unidad procesadora se demuestra en la Sección 10-5.

9 - 1 O D I S E Ñ OD E L A C U M U L A D O R

Algunasunidadesprocesadoras
distinguenun registrode otrosy lo llaman
registro acumulador. La organización de una unidad procesadora con un
registro acumulador se muestra en la Figura 9-4. El ALU asociado con el
registro puede ser construido como un circuito combinacional del tipo dis-
cutido en la Sección 9-5. En esta configuración, el registro acumulador es
esencialmente un registro de desplazamiento bidireccional con carga en
paralelo el cual es conectado a un AL[I. Debido a la conexión de retroali-
mentación de la salida del registro a una de las entradas en el ALU el re-
gistro acumulador y su lógica asociada, cuando se toman como una sola
unidad, constituyen un circuito secuencial. Debido a la anterior propiedad
un registro acumulador puede ser designado por técnicas de circuitos se-
cuenciales en vez de usar un ALU de circuito combinacional.

Ci¡cuito
combinacional Variables de control

Ent¡adas de datos

Figura 9-17 Diagrama de bloque del acumulador


--E
sEc.9-10 D I S E Ñ OD E L A C U M U L A D O R 4 O 7

El diagramade bloque de un acumuladorque forma un circuito secuen-


cial se muéstra en la Figurag-17. El registroA y el circuito combinacional
asociado constituyen un circuito secuencial. El circuito combinacional
.e*plaru al ALU pero no puede separarsedel registro ya que éste es sola-
menie la parte def circuito combinacionaldel circuito secuencial.EI regis-
tro A se irata algunas veces como el registro acumulador y se denota al-
gunas vecespor eI símboloAC. Aquí, el acumuladorse refiere al registroA
! .,n circulto combinacionalasociado.Las entradas externas al acumu-
iado, son las entradas de datos de B y las variables de control que deter-
"
minan las microoperaciones del registro. El siguiente estadodel registro A
es una función dé un estado presentey de las entradas externas.
En el Capítulo ? se consideraronvarios registrosque realizan funcio-
nes específi""Átul". como la carga en paralelo, las operacionesde despla-
zamiento y el conteo. El acumulador es similar a estos registrospero es
más generálya que éste puede realizar no solamentelas funcionesanteric-
,", .ino tamLién otras operacionesde procesamientode datos. Un acumu-
lador es un registro de multifunción que por sí mismo puederealizar todas
las microopericionesen la unidad procesadora.Las microoperacionesin-
cluidas en un acumulador dependende las operacionesque deben incluirse
en el procesadorparticular. Para demostrar el diseño lógico de un registro
operaclonalde multipropósito tal como un acumulador se diseña el circui-
tó con nueve microoperaciones. El procedimientoenunciadoen esta sección
puede ser usado para extender el registro a otras microoperaciones.
El conjunto áe microoperaciones para el acumuladorse da en Ia Tabla
9-10. Las variables de control pr hasta pe son generadaspor los circuitos
y
iógi"o. de control deben ser consideradas como funciones de control que
inician las operacionescorrespondientesde trasferencia entre registros.
El registro A es un registro fuente en todas las microoperacioneslistadas.
En es*enciaéste representael estado presentedel circuito secuencial.El
registro B se usa como un segundo registro fuente para microoperaciones
qu"enecesitan dos operandos.El registro B se asume que está conectado al

Tabla 9-lO Lista de microoperaciones de un acumulador

Variable
de control Microoperación Nombre

Pt A<_A+ B Sumar
Pz A <-0 Borrar
Ps A e-.f Cornplementar
Pq A<-A \B AND
Ps A<_A\/ B OR
Pe A<-.A@B OR-exclusiva
Pt A <-shr A Desplazara la derecha
Ps A +-sl:JA Desplazara la izquierda
Ps A<-A*l Incremento
Si (A : 0) entonces(Z: l) Comprobarel cero
4 O 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

acumulador y suministra las entradas al


circuito secuencial.El registro
de destino para todas
^las-microop"ru"ione. es siempre el registro A. La
nueva información trasferida a A constituye
el .igri.rit. estadodel ci¡cuito
secuencial.Las nueve varigbles de controi
r" .on"riá"rá.,lam¡ién como en-
t¡adas al circuito secuencial.Estas variabres
son mutuamente
v solamente una variabre debe ser h;bili;;il;il#ürre
"*.]"v*r",
reloj. La última entrada en la Tabla 9-10es un pulso de
una declaraciónde control con_
dicional- Esta produce un 1 binario u'u variable de salida z, cuandoel
contenido d_elregistro A es 0, es decir,
"r, .rrunao lo.
liiil¡oo. del registro
están borrados.

P r o c e d i m i e n t od e d i s e ñ o

El acumuladorconsistede n etapasy-n flip_flops


Ar, Ar, ..., A, nume_
radas consecutivament. desde'r" ó.i.iiiir-¿'" lu extrema iz_
quierda. Es convenientera "o-"nru.rdo
partición ael a"umuíJ;;-;; ; etapassimilares
compuesta cada una dg u.l flip_flop denotado
¿,, entrada de da_
tos denotadapor B, y- ra rógica combi.racionar "orno
asociadá"na flip-flop. En
el procedimiento de diseño que sigue se considerasolamente "o., "r una etapa tí_
pica i teniendo en cusrta qué un a-cumulador
d"; bit. ;;;siste de n etapas
parai:I,2, . . . , n . C a d a e t a p aA , s e i n t e r . o r r e . t uu . r r - r l u p "
a su derechay a ta A,+.r suizqúierd;-i;;;i;;;;;; a, , vecina
no tienen vecinasa un ! A, y taúltima
_lado y debeprestárserésatenciónispeciar. El
tro se diseñaráusandoflip_flópsdel iipo./f. regis_
C a d a v a r i a b l ed e , c o n t r o l ' p ,j : f , 2 , . . . , g inicia una microoperación
particular. Para que.la t.r,g"
-opera-ciór, significado .. á.¡" ;;;
solamenteuna variable de controt ,e r,á¡itiá "".d;;
variables de contror son excluy".rt"r- *rrtrramente, a"ao. como las
"" ""}"liJes posibre separai el
circuito combinacionalde u'u ót^p" en circuito.
Á.rro.i., uno para cada
microoperación.Así, el acumulador se d"b" áilidr-;;-;';;pas
y cada una
se debe secciona¡en aqueilos circuitos_quese
necesitanpara la microope-
ración. De esta manera, se.puede simpliiicar
ai."ao conside_
rablemente.una vez que lás dife¡entespiezas "i;;;;;'iu
se disenen separadamente,
será posible cambiarlai pata obtener una etapa
típica del
-- acumulador y
luegocambiar las etapasen un acumulado¡
"o-pf"tá.---
. Aql"gar B a A (pr): La microoperaciónde suma se inicia cuando
la variable de control pr es t. Esta párte ael
acumulaá- pr"a" usar un
sumador en paralelo_compuesto de circuitos ."-"¿or"r-.lir,pleto. como fue
hecho con el ALU. El sumadorco-mpletoen cada
etapa i aceptarácomo en-
tradas e.l estat presentede A,, la'entrada ¿e
áat-J¡, i"r bit de arras_
tre. previo c¡. El bit suma generadoen el sumad;;;;;i"to
debeser tras_
al,flip-flop A, v el ariastre au rutiau c,., ;rb;-;;i;.".."
ferido,
de entrada en la siguienteetapa. ut arrastre
La construcción interna de un circuito sumador
completo puede ser
simplificada si se consideraque ésta opera como parte
de un ci¡cuito se_
cuencial. La tabla de estadode rr.r.,r-udo.
como un circuito secuencial,se muestra en la""ÁprJt",-"""i¿o se considera
Figirra g-1& ñl ,"1"; d; fi;:
-".1;Jo-;refente
flop A, anterior al pulso de reloj expecifica
en el cir-
"l
sEc.9-10 O I S E Ñ OO E L A C U M U L A D O R4 O 9

cuito secuencial.El valor de A, despuésde la aplicación de un pulso de


reloj especificael siguiente estado. El siguiente estado de A, es una fun-
ción de sus estadospresentesy entradas B, y C,. El estado presente )
las entradasen la tabla de estadocorrespondena las entradasdel sumado¡
completo.El estadosiguientey la salida C¡a1 corr€spondea las salidas del
sumador completo. Pero como éste es un circuito secuencial,A, aparece
en ambas columnas de estadopresentey siguiente.El siguiente estado de
-{, da el bit suma que debetrasferirseal flip-flop.
\
Las entradas de excitación para el flip-flop JK se listan en las colum-
t nas JA, y KA,. Estos valores se obtienen por el método enunciado en la
Sección6-7. Las funcionesde entrada del flip-flop y las funcionesde Boole
para la salida se simplifican en los mapas de la Figura 9-18. La entrada J
del flip-flop A, designadacomo JA, y la entrada K del flip-flop A, desig-
nada como KA, no incluyen la variable de control pt. Estas dos ecuacio-
nes deben afectar el flip-flop solamente cuando pt esté habilitada, por
tanto debenaplicarsea una función AND con la variable de control pt. La
parte del circuito combinacionalasociadacon la microoperaciónde suma
puedeser expresadacon tres funcionesde Boole:
JA,: 3,6,'r, + BiC¡t,
KA,: B,C,'p,+ BiC¡t,
C¡*t: AiBi + AiCi+ BiCi

Las primeras ecuacionesson idénticas y especificanuna condición para


complementarA,. La tercera ecuación genera el arrastre de la siguiente
etapa.

Estado Estado Entradas de


presente Entradas siguiente flip-flops Salida
Ai Bi ci Ai JAí KAi C¡*t
0 00 0 OX 0
0 0l I IX 0
0 l0 I IX 0
0 tl 0 OX I
I 00 I XO 0
I 0t XI I
I l0 0 XI I
I ll I XO I

Bi

I X X X I

A ., L
{ X X A
w
x I I
g--J

L,¡

JA¡=B¡C'¡+BiC¡ KAí= Bic'i + B'íCi C¡*1=A,B, + AiCi + Bici

Figura 9-18 Tabla de excitación para la microoperación de suma


4IO 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

Borrar (pz't: La variable de control p, borra todos los flip-flops en


el registro A. Para causar esta transición en el flip-flop JK se necesita
solamenteaplicar la variable de control p2 a la entrada K del flip-flop. La
entrada J se asumirá como 0 si nada se aplica a ella. Las funcionesde en-
trada para la microoperaciónde borrado son:
JA,: g
KA,: P,

Complementar (pa ): La variable de control p, complementa el


estadodel registroA. Para causar esta transición en un flip-flop Jl( se ne-
cesita aplicar p3 a ambasentradasJ y K:
JA¡: PI
KA': pt

AND (pn): La microoperaciónAND se inicia con la variable de con-


trol p. . Esta operación forma la operación lógica AND entre A, y B, y
B¡ B¡

Ai

JA¡' O KAi B'i

(a) AND

Entradas de

lA¡,=3' KAi'-- O

o) oR

Estado Estado Entradas de
presenteEntrada siguiente los flip-flops
TAi KA¡

OX
tX
X0 I A¡: Bi KA¡:3'
XI

(c) OR-exclusiva

Figura 9-19 T a b l a s d e e x c i t a c i ó n para las microoperaciones lógicas


I
sEc. 9-10 DISEÑO DEL ACUMUi-ADOF ¿: i

t r a s f i e r e e l r e s u l t a d o a A , . L a t a b l a d e e x c i t a c i ó n p a r a e s t a o p € r a c r L ) ns E
da en la Figura 9-19(a). La siguiente etapa de A, es l solamente cuancitr
B, y el estado presente de A, sea igual a 1. Las funciones de entrada dei
flip-flop, las cuales se simplifican en Ios mapas, indican que la entrada /r
del flip-flop se habilita con el valor del complemento de .B,. Este resultado
puede ser verificado de las condiciones listadas en la tabla de estado. Si
B, : I el estado presente y siguiente de A, son iguales de manera que el
flip-flop no tiene que sufrir un cambio de estado. Si B, :0, el siguiente es-
tado de A, debe ir a 0 y para lograrlo se habilita la entrada K del flip-flop.
Las funciones de entrada para la microoperación AND deben incluir las va-
riables de control que inician esta microoperación:

JA,: g

KA,: Bipa

OR (p, ): La variable de control p" inicia la operación lógica OR en-


tre A, y B, con el resultado trasferido a A,. La Figura 9-19(b) muestra
la deducción de las funciones de entrada del flip-flop para esta operación.
Las operaciones simplificadas en Ios mapas indican que la entrada J está
habilitada cuando B, : l. Este resultado puede ser verificado a partir de la
tabla de estado. Cuando B¡:0, el estado presente y siguiente de A' son
iguales. Cuando B¡ : l, la entrada J se habilita y el estado siguiente de A,
se convierte en 1. Las funciones de entrada para las microoperaciones OR
son:

JA, : B¡tt
KA,: g

OR-exclusiva (po ): Esta operaciónforma la OR-exclusiva lógica en-


tre A, y B¡ y trasfiere el resultado a 4,. La información pertinente para
esta operaciónse muestra en la Figura 9-19(c).Las funcionesde entrada
de los flip-flops son:
JA, : B¡t6
KA,: B¡tu

Desplazamiento a la derecha (pt ): Esta operación desplazael con-


tenido del registro A una posición a la derecha. Esto significa que el valor
del flip-flopA¿ar, €l cual está una posición a la izquierda de la etapa i, debe
ser trasferido al flip-flop A¡. Esta trasferencia se expresa por medio de las
funcionesde entrada;

JA,: A,*tp,
KA,: Ai*tpt

D e s p l a z a m i e n t o a l a i z q u i e r d a ( p ¡ ¡) : E s t a o p e r a c i ó n d e s p i a z a e l
registro A una posición a la izquierda. Para este caso el valor de A, r , el
4 12 D I S E Ñ OL O G I C OD E P R O C E S A O O R E S CAP. 9

cual está una posición a la derecha de la etapa i, debe ser trasferido a Ai.
Esta trasferencia se expresa por medio de las funciones de entrada:

JA, : A,-rps
KA': A"-tPa

rncremento (ps ): Esta operación incrementa el contenido del regis-


tro A en uno; en otras palabras, el registro se comporta como un contaáor
binario asincrónico con pe habilitando la cuenta. un contador sincrónico
de 3 bits se muestra en la Figurag-20. Este es similar al contador de la Fi-
gura 7-17 de la Seccién 7-5 donde se discute en detalle la operación de los
contadores binarios sincrónicos. Del diagrama, se observa que cada etapa
se complementa cuando un arrastre de entrada E,:1. Cada etapa genera
también un arrastre de salida 8,11 para la siguiente etapa de la izquierda.
La primera etapa es una excepción ya que ésta se complementa con ét ttaui-
litador de cuenta pn. Las funciones de Boole de uná etapa típica pueden
ser expresadas de la siguiente manera:

JA,: E,
KA,: E,
E,*r: E,A, i:1,2,...,n
Et:Ps

E I arrastre de entrada E, a la etapa, se usa para complementar el flip-flop


A cada etapa genera un arrastre para la siguiente, aplicando la función

Et: ps
L--- ----J

Figura g-2O Contador binario sinc¡ónico de 3 bits


T
S E C .9 . 1 O D E LA C U M U L A O O4A1 3
DISEÑO

AND al arrastre de entrada y a A¡. El arrastre de entrada que va a la pri-


mera etapa es E1 y debe ser igual a la variable de control pe la cuai habi-
lita la cuenta.

comprobación del cero (z)z La variable z es una salida del acumu-


lador usaáo para indicar un contenido de cero en el registro A' Esta salida
es igual al blnario 1 cuando todos los flip-flopl se hayan borrado. cuando
,rr, ñip-flop se borra, su salida complementada Q' es igual a 1. La Figura 9-21
-uu.[ru lás primeras tres etapas del acumulador para comprobar un conte-
nido de Cudu etapa genera una variable z¡¡y &l aplicar la función
"".oi.
AND a la salida complementada de A¡ Y a una variable-de entrada z,.I)e
esta manera una cadena de compuertas AND a lo largo de todas las etapas
indicará si todos los flip-flops están borrados. Las funciones de Boole para
una etapa típica pueden ser expresadas de la siguiente manera:
-
¿i+l
-- .-i ^ ^t ' i:1,2,..,,n
zt: I
Zr+l: Z

La variable Z se convierteen 1 si Ia señal de salida de la última etapa2,. t


es 1.

Una etapa del acumulador

Una etapa típica del acumulador consistede todos los circuitos que fueron
deducidáspara las microoperaciones individuales. Las variables de control
p1 hasta pn rotr excluyenles mutuamente de manera que los circuitos Ió-
!i.or puedenser combinadoscon una operaciónOR. Com-
Éinandotodas las funcionesde entrada para las entradasJ y K del flip-flop
"or.l.pondientes

Etapa 3

Figura 9-21 Cadena de compuertas AND para comprobar el contenido


de ceros en el registro
Fz Borrra¡
P3 Complementar

% AND

Ps oR

Po OR-exclusiva

" ¡| |
P.t Desplazamiento
a la derecha

PB Desplazamiento
a la izquierda

Incremento
Figura g-22 Una etapa tipica del acumulador
D l s E Ñ oD E ' ,i -c l - \ t u * : l ' : :' '
s E c .9 - 1 O

de entracia cle B'" '¿


A, se produce un conjunto compuesto de funciones
para un estado tíPico:
E'
JA,: B,Cipr* B,'C¡tr+p3+ B,ps-f B'pu+ A'*tPt *A'-''p'+
KA, : B,C,'p, + BiC¿t, * Pz * pt + BiPq * B,pot A''*tPt
+ A:-tPs * Ei

Cadaetapaenelacumuladordebegenerartambiénlosarrastresparala
siguiente etaPa:
C+r: AiBi+ AiC¡+ BiCi
E,*r: E,A,
zr*r: z,A',

se muestra
El diagrama lógico de una etapa típica.de un.ac.umulador de Boole
la configúracián directa de las funciones
en la Figurag-22. n-r1u que incluye
""
Iistadas anteriormente.El diagrama es un circuito compuestoLos diferen-
los circuitos indirriáualesasocádos con cada microoperación'
lu. entradasJ y K del
tes circuitos se combinan con dos compuertasoR er-t
flip-flop A'.
de control p1 hasta
cada etapa del acumulador tiene ocho entradas La variable de
posibles'
ps eue indican unu a" Ias ocho microoperaciones la opera-
primera etapa para h^abilitar
control p" se apliá ,álu-"rrtu a la entradas en el
la enlrada 8,, háy olras seis
ción de incrementou-ir*¿. de las en- i
B que suministran
circuito. B, es el bi; áe datos de los termi'áles
tradas al acumulador. c¡ es el arrast-rede entrada
de Ia etapa previa a .la 1
A,,, vienl de iá salida del flip-flop que está una posición a la de- I
{
derecha. I
r e c h a y A , l l v i e n e a " t n i p - n o p q u ' u t t á u n a p o s i c i ó n ayl a i zse
el arrastre ae errtruJapurá tu bpétu.ión de incremento
mar la cadena pu* d"i"""ión áe

-e. cero. El circuito tiene cuatro salidas: A,
q uusa
i e r para
d a ' { ltor-
tj
1
u.--iu-rulidu a"inii iiáp,-ó;;'
es el arrastre de incremento para Ia siguiente
"1
urru*tre para la siguiente etapa, E'*1
etapa y. z¡aI €s para la si- 1
t
u ru iñ;i;;a;, pára formar"la cadena para la detección de cero. 1
g"r""ü"t"|"
{
1
Acumulador comPleto I
l
U n a c u m u l a d o r c o m p l e t o c o n n b i t s r e q u i e r e n e s t a d o s cla o nFigura
ectado sencas-
9-22'
mostrado en
cada con cada etáfí^"á"t."i""ao el ciicuito
aplicadasa cada eta-
Todas las variabll! de control exceptopn deben_ser
y salidat-"'-t"ti" etapa deben estar conectadasen
pa. Las otras entradas
i".*¿u para formar un acumuladorcompleto' ----r completose
acumulador
La interconexiónentre etapaspara fot-ar un Cada bloque
la Figura 9.23.
ilustra en el acum,,t,ao, de 4 bits mostradoen g-zz- nt número de Ia
circuito de la Figura
en el diagr"*",;;;;.;ta-ei
p a r t e s u p e r i < l r c l e c a d a b l o q u e r e p r e s e n t a i a p o s i c i ó n d e b i t epi
n e l a l::
cumula-
dor. Todos io. nro-qrres ;;;ii"" ocho variablés cle control pr l]:tu )
otra-qseis ent,radasy cuatro salidas en cada
;;il";--Je-.eloj del cp. Las
o
o

!
f l sv .oi
ü !4

i r58e

'rv\r{\

N,3 i-
NV\IQ

NU\QJ

d ,s" rv Í\ )kr. ] \

-É -
\J\ta
ú

<l
q"*.(r.{ao{
N
s
l b
N l ) \ f ¡ J I

l\ oco

ú-

<.9

416
) R O B L E M A S4 / 7

bloque son idénticas a aquellasde una etapa típica, exceptoque el suscrito


i se remplazarrl el númeroparticular en cada bloque.
El circuito tiene cuatro entradasB. La cadenade detecciónde cero se
obtiene conectandolas variables z en cascada,con el primer bloque que
recibe una constantebinaria 1. La última etapa en esta cadenaproduce la
variable de detecciónde cero Z. Los arrastresde la suma aritmética se co-
nectan en cascadacomo en los circuitos del sumador completo.La entrada
en serie para la operaciónde desplazamientoa la izquierda,va a la entrada
A6 la cual correspondea A,-t en la primera etapa. La entrada en serie
para la operaciónde desplazamientoa la derecha,va a la entrada A, la
cual correspondea A,+t en la cuarta y última etapa. La operaciónde in-
crementose habilita con la variable de control Pg €n la primera etapa. Los
otros bloquesreciben el incrementode arrastre de la etapa previa.
El número total de terminales en un acumuladorde 4 bits es 25 inclu-
yendo los terminales para las salidas A. Agregandodos terminales más
para la fuente de poder el circuito se puedeencapsulardentro de un CI que
tenga27 ó 28 patillas. El número de terminalespara las variablesde control
puedenreducirsede 9 a 4 si se agregaun decodificadoren el CI. En tal caso,
la cuenta de las patillas del CI puedenser reducidasa 22 y el acumulador
puede ser extendido a 16 microoperaciones sin agregarpatillas externas.

REFERENCIAS

1. Mano,M. M., ComputerSystemArchítecture.Englewood Cliffs,N.J.: Prentice-


Hall. Inc..1976.
2. The TTL Data Bookfor DesignEngíneers.Dallas,Texas:TexasInstruments,
I¡c., 1976.
3. The Am2N0BipolarMícroprocessor Famíly Data Booh.Sunnyvale,Calif.: Ad-
Inc.. 1976.
vancedMicro Devices.
4 . Sobel,H. 5., Introduction to Digital ComputerDesign.Reading,Mass.:Addison-
WesleyPublishing Co., 1970.
5 . Kline, R. M., Digítal ComputerDesign.EnglewoodCliffs, N.J.: Prentice-Hall,Inc.,
1977.
o . Chirlian, P. M., Analysisand Design of Digital Círcuits and Computer Systems.
Champaign,Ill.: Matrix Publishing, Inc., 1976.

PROBLEMAS
9-1. Modifique la unidad procesadorade la Figura 9-1 de manera que el registro
de destino seleccionadosea siempre el mismo registroque se seleccionacon
el bus A. ¿Cómoafectaesto al númerode multiplexoresy al númerode líneas
de selecciónusados?
9-2. Un procesadorcon un bus organizado como en la Figura 9-1 consiste de 15
registros.¿Cuántaslíneasde selecciónhay en cada multiplexor y en el deco-
dificador de destino?
9-3. Asuma que cada registroen la Figura 9-1 es de 8 bits de largo. Dibuje un dia-
grama de bloque detallado para el recuadro marcado MUX que seleccionael
4IB D I S E Ñ OL O G I C OD E P R O C E 5 A D O R E S CAP. 9

registro para el bus A" Muestre que Ia selección puede hacerse con ocho mul-
tiplexores c¡e4 a 1 iínea.
9-4. una unidad procesadora emplea una memoria tapón como en la Figura 9-2.
El procesador consiste de 64 registros de ocho bits cada uno.
(a) ¿Cuál es el tamaño de la memoria tapón? (scratchpad memory)
(b) ¿Cuántaslíneasse necesitanpara la dirección?
(c) ¿Cuántaslíneashay para los datos de entrada?
(d) ¿Cuál es el tamaño del MUX que seleccionaentre la entrada de datos y
la salida del registrode desplazamiento?
9-5. Muestre un diagrama de bloque detallado para la unidad procesadorade Ia
Figura 9-4 cuando las entradasB vienen de:
(a) Ocho registros procesadoresque forman un sistema de bus.
(b) Una unidad de memoria con direccionesy registrosseparadores.
9-6. El ALU de 4 bits de la Figura 9-5 se incluye dentro de un cI. Muestre las co-
nexiones entre tres cI para conformar un ALU de 12 bits. Asigrre los arras-
tres de entr¿:day salida en el ALU de 12 bits.
9-7' El CI TTL ti¡xr 7487es un elemento de 4 bits verdadero,/complemento,ceto/
uno. Una etapa de este CI se muestraen la Figura P9-?.

Bi

Figura Pg-? Circuito verdadero,/complemento,


uno/cero

(a) Deduzca las f'unciones de Boole para las salidas { como función de las
entradas ,B,, s, y s¡ "
(b) Dibuje la tal¡ia de verdad para el circuito.
( c ) Dibuje una r..ablade función (similar a aquella mostrada en Ia Figura 9-z)
y verifique la operación del circuito.
j-.q' Modifique el circuito aritmético de la Figura 9-8 incluyendo una tercera va-
riable de selección s2. Cuando sz : 1 el circuito modificado es idéntico al
circuito original. Cuando s¿ :0, todas las entradas A a los sumadores com-
pletos son inhibidas y se colocan ceros de remplazo.
(a) Dibuje el diagrama lógico de una etapa del circuito modificado.
(bt Haga un análisis similar a aquel de la Figura 9-6 para determinar las
ocho operaciones cuando s: :0.
(c ) Liste las nuevas funciones de salida en forma de tabla.
9-9. Dete¡mine las operaciones aritméticas obtenidas en ocho bloques de la Figura
9-6, sr en cada caso la entradaA se cambia aF(complementó de¿).
9-10. Diseñe un ci¡cuito aritmético con una variable de selección s y dos entradas
de datos a y B. cuando s : 0, el circuito realízala operación de suma F : A+
B. Cuando s:1, el circuito realiza la operación de incremento F:A* 1.
T
P R O B L E M A4
S' I9

9 - 1 1 . L a s u s t r a c c i ó nb i n a r i a d i r e c t a F : A - B p r o d u c eu n a d i f e r e n c i ac o r r e c t as i
A > 8 . ¿ C u á lp o á r i " s e r e l r e s u l t a d o s i A < B ? D e t e r m i n el a r e l a c i ó ne n t r e e l
resultaáo obteniJo en F y el bit de préstamo en Ia posiciónmás significati'a'
g-12. Diseñe un circuito aritmético con dos variablesde selecciónst Y so que ge-
neralassigulentesoperacionesaritméticas.Dibujeeldiagramaiógicodeuna
etapa tíPica.

sl S6 Ctr:o Crn: I

0 F=A+B F:A+B+l
0 F:A F:A+l
I F:E F: E+r
I F:A+E r:l+E +l

g-13. Diseñe un circuito aritmético con dos variables de seleccións1 ! s¡ Qu€


lógico de
;;;;; ru. .leul."i.s operacionesaritméticas. Dibuje el diagrama
una etapa flplca'

Jl s0 Cr': o C¡: I

0 F:A F:A+l
0 F:A-B-l F:A-B
I F:B-A-l F:B-A
I F:A+B F:A+B+l

g-14. Las siguientes relacionesde la operación oR-exclusiva fueron usadaspara


derivai ias operacioneslógicasde la Tabla 9-3'
(a)xO0:x
(b)xOl=x'
(c)xOY':xOY
Pruebe que estas relacionesson válidas'
g-15. Deduzcaun circuito combinacionalmínimo que generetodas las 16 funciones
ló;i;;. listadas lu Tublu 2-5. Use cuatro ,ráriablesde selección.Sugerencia:
".r normales del
UJe ur multiplexoi áe 4 x 1 invertido, es decir, use las entradas
multiplexor c-omo las líneas de selecciónpara la unidad lógica.
con la variable
9-16. Modifique el circuito aritmético de la Figura 9! en u¡ AlU
de selecciónde modo s2' Cuando sz : 0' ¡'l'U es idéntico al circuito arit-
ALU generaias "t funciones lógicas de acuerdoa la
mético. Cua.tdo rr:1,'el
siguientetabla:

S2 sl S6 Salida Función

0 F:AAB AND
I F:A@B XOR
0 F:AVB OR
I F__A- NOT
4 2 O D I S E Ñ oL o G l c o D E P R o c E S A D o R E S
CAP. 9

9-17. una unidad lógica aritmética es similar a la mostradaen la Figura g-18,


ex_
cepto que las entradasa cada circuito sumadorcompletoestánte u.,ru.ho
las siguientesfuncionesde Boole: "
X,: A,B¡ + (s2s\s[)'A,+ s2s1si_B¡
Y, : ssB,+ s,Bi(s2s,si)'
21 : s2C¡

Determinelas 12 funcionesdel ALU.


9-18. La operaciónrealizadaen un ALU es F: A+B
@ más el complementode 1
d e8 ) .
(a) Determineel valor de salida F cuandoA:8. Permita que
esta conclición
pongaa uno un bit de condiciónE.
(b) Determine,que l a - . c o n d i c i óC
n o u t : l . p e r m i t a q u e e s t a c o n d i c i ó np o n g aa
uno el bit de condición C.
(c) Deduzcauna tabla para las seis relacioneslistadas
en la Tabla 9-5 en tér-
minos de las condicionesde los bits de condición E y c definidos
ante_
riormente.
9-19. [-Ina unidad de proceso.tieneun registro de condición
de diez bits, uno para
cada una de las condicioneslistadas en las Tablas g-s s-0. (Las
v condicio_
nes.iguales y desigualesson comunesa ambas tablas.)"Dibuje
un diagrama
lógico mostrando las compuertasque van de las salida. á.iÁt
u a los diez bits
del registro de condición
9-20' Dos númerosco1 signo-¡eagreganen un ALU y su suma
se trasfierear regis-
tro R. Los bits de :ondición s (signo)y v (sobrecap..r¿rJise
pruebe afectanduran-
te, la trasferencia. que la suma puede dividirse ahora por 2 de acuerdo
a Ia proposlclon:

R<-shrR, r R , < - S@ /

donde R, es el bit de signo (posición extrema izquierda) del registro r?.


9-21. Agregueotro multiplexor al registro de desplazamientode la Figura
9-1b con
dos líneas de selecciónseparadasGr y Go. Este multiplexor se usa para
es-
pecificar la entrada en serie .fr durante la operación de desplazamiento
a Ia
derechade la siguiente manera:

Gl Go Función

0 Colocar ceros a 1.
I Hacer un desplazamiento ci¡cular
0 Hacer un desplazamiento circular con arrastre
I Coloque el valor de S O Vpara el desplazamiento aritmético
(ver Problema 9-20)

Muestre la conexión del multiplexor entie el registro de condición y


el despla-
miento.
9-22. El selector de desplazamiento I/ deñnido para el procesador
de la Figura 9-16
tiene tres variables Hr, H, y fr6. Las dos últimas variables de selócción
se
E
PROBLEMAS421

usan para el registro de desplazamiento especificado en la Tabla 9-7. Diseñe


el circuito asociado con la variable de selección H2 .
9-23. Especifique la palabra de control que puede ser aplicada al procesador de la
Figura 9-16 para configurar las siguientes microoperaciones:

(a) R2<-Rl+ I ( e )R l < - s h r R l


(b) R3 <- R4 + R5 (l) R2 <- clc R2
(c) R6 <-R6 (g) R3 <- R4 O R5
(d)R7<-R7 - I (h) Ró <- R7

9-24. Es necesario calcular el valor promedio de cuatro números binarios sin signo
almacenados en los registros R1, R2, R3 y fi4 del procesador definido en la
Figura 9-16. El valor promedio se debe alrnacenar en el registro 85. Los otros
dos registros en el procesador pueden usarse para resultados intermedios.
Se debe tener cuidado de no causar sobrecapacidad.
(a) Dé Ia lista de la secuencia de microoperaciones en forma simbólica.
(b) Liste las palabras de control binarias correspondientes.
9-25. La siguiente secuencia de microoperaciones se realiza en el acumulador defi-
nido en la Sección 9-10.

ptt A* F
ps: A<-A*l
pi A<-A* B

P{ A-l
ps; AeA * |

(a) Determine el contenido de A después de cada microoperación si inicial-


mente A : 1101 y la entrada B: 0110.
(b) Repita (a) con las condicionesiniciales A:0110 y B:1101.
( c ) R e p i t a ( a ) c o n l a s c o n d i c i o n e s i n i c i a l e s A : 0 1 1 0y B : 0 1 1 0 .
(d) Pruebe que la anterior secuencia de microoperaciones realiza (A-B)
si A >.B, o el complementode 2 de (B-A) si A <8.
9-26. Usando flip-flops JI( diseñe una etapa típica de un registro A que realiza la
microoperación de sustracción :

pio: A<-A-B

Use los circuitos sumadores completos (Sección 4-4) con bits de préstamo de
entrada y salida K, y K,+ t.
9-27. Usando flip-flops JI( diseñe una etapa típica de un registro que realice Ias
siguientes microoperaciones lógicas :

pfii A<-A\/B NOR

pnt A<-A¡\B NAND


ptti A +- AO B Equivalencia
4 2 2 D I s E Ñ oL o G l c o D E P R o C E S A D o R E S CAP. 9

9-28. Deduzca las operaciones de Boole de una etapa típica de una microoperación
de decremento:

pt¿i A<-A-l

9-29. Usando flip-flops tipo ? diseñe un registro de 4 bits que ejecute la microope-
ración de complemento de 2:

P: A<-f +l

Del resultado obtenido, muestre que, una etapa típica puede ser expresada
por las siguientes funciones de Boole:

7-4,: p¿ i:1,2,3,...,n
E¡*t: Ai + Ei
Et:0

9-30. Un acumulador de 4 bits realiza 15 microoperaciones con variables de control


Pt a Ptr . El circuito se encapsulaen un CI con sólo cuatro terminales dispo-
nibles para seleccionar la microoperación. Diseñe un circuito (dentro del Ci)
que se deba agregar entre los cuatro terminaies y las 15 variables de control.
Incluya una condición de no operación.
T

Diseño de lógica
d e control

10-1 INTRODUCCION
Muchas instalaciones
El procesodel diseño lógico es Yna,tarea compleja'-
rle computador automatizado para
desarrollan varias t¿.niü. de diseño para el siste-
iJil"t .r proceso¿"-áir"no. Sin embargo las especificaciones
áe procedimientos álgorítmicos para lograr las tareas
*á--V lf áé.urrollo y re-
i"q,rátiA"" de procesamiento de datos no pueden ser automatizados
q.rie.".t un razonamientomental del diseñador humano'
=---L;parte
de -"vá.-á".áno y creatividad del diseño es el establecimien-
t" d;;ú;liuo, ¿. direño y la iormulación de algoritmos y procesamientos
una cantidad
p"* f"gr- lo, objfiiuos"enunciados. Esta taréa requiere
considerabl. a. e ingenuidadpor parte.del.disenador'Un algo-
algo-
,llÁo-"" rr' pro."dl*iento para óbtutt"t una solución al problema.Un
"*puriuncia
para configurar el con una
ritmo diseñodo ,r., pro"ódi-iento -problema
""
pi"ru auau de equipo. Él desa.tollo dei algoritmo diseñado no puede comen-
;;;úú qrr" diseñadoresté segurodé dos cosas'Primero, el problema
untra -".to. dtbe
"i cJmpletamente' Segundo'^sedebe asumir
par-
u'u inicial del equipopára conformarel procedimiento'A
"o-ptenderse
"onfigoración la disponibilidad de equipo busca
li.-¿"f eriunciado dei ptoble*i v ¿" -se
medianteun
una solución y se foi."i un algoritmo. El algoritmo se-enuncia
finito de pasosde procedimientosbien definidos'
almacena
La informacién binariá encontradaen un sistema digital se
"tt-..o
y puede ser constituida por datos
en un procesadoro ,ági.l.or de memoria
elementos discretos de información
o información de control. Los datos son
por microoperaciones. La información de control suminis-
!,,";;;ipulan
ira señales de mandos para especificar la secuencia de microoperaciones'
i,u tJgi"" de diseno áe'un .irtema digital es un procesopara deducir los
circuitos digitales q""-.*li""n datos á" pto"-tu-ientos y de circuitos di-
gitales que iuministran señalesde control'
sincró_ni-
La temporir".ián á.1oáos los registrosen un sistema digital
maestros' Los
co se controla por medio de un generadorde pul'qosde.reloj sistema,
y los registros en el
p"rro. a" reloj se upii.un a todos*los flip-flops
Los pulsos con-
i""i"V""a" tos nip-hops y registros-en-láunidad de control'
*tñ¡iá" e"l estado de un registro a no.ser que el registro
tinuos de reloj que controlan
"o
," i,Áiiit" por l" ;;;i ¡" control. Las variábles binarias,
423
424 D I S E Ñ OD E L O G I C AD E C O N T R O L
cAP. 10

las variables de seleccióny las entradas de habilitación de lo,sregistros,


se generanen la unidad de control. Las salidas de la unidad de conirol se_
leccionan y habilitan la parte del procesadorde datos del sistema y tam-
bién determinan el siguienteestadode la unidad de control en sí miima.
La relación entre -la unidad de control y el procesadorde datos en un
s_istemadigital se muestra en la Figura tO-t. Lá parte del procesadorde
datos puede ser una. ulida_d procesadora de propósito general, o puede
l
consistir de registros individuales y funciones áigiiales aJociadai. Ef con-
trol inicia todas las microoperacionesen el pro"cesamiento de datos. La
lógica de control que generalas señalespara dar secuenciaa ras
microope-
racionesen un circuito secuencialcuyoJ estadosinternos indican las
fün_
ciones de control del sistema. En un tiempo dado, el esiado de control
secuencial inicia un conjunto de microoperacionespreseleccionadas.
El
control.secuencialpasa siguiente estadoo inicia otras microoperaciones
-el
dependiendode las condicionespresentesy otras entradas. Así, ;l circuito
digital que actúa como la lógicá de control suministra una secuencia
de
tiempo-de_señalespara iniciar las microoperacionesen la
farte del proce-
sador de datos del sistema.
El diseño de un sistema digital que requiereuna secuenciade
control
co;nienza
-conla suposiciónde ta disponibilidad d" de tiempo. Se
diseña cada variable en la secuenciapor medio de un ""ri"bi".
estadoy luegose for_
Ta. .un diagrama de estado- o una representación equival"ni. p"r" ta tran-
sición entre estados.Paralelamente con el desarróllo ár- i" ,""u"ncia
de
control se hace una lista. de microoperacionesque se u".r- iniciar, para
cada estado de control. si el sistema es muy complicadopara " un diagrama
de.estado,puede ser convenienteespecificarenteü-".,t"-J sistema por
er
método de trasferenciaentre registios por medio de las funciones
de con_
trol y las proposicionesde microóperaciánes.
La secuenciade control y las relacionesde t¡asferenciaentre registros
pueden deducirsedirectamentede la especificación p"i"lru.
en del proble_
ma. Sin_embargo es conveniente algunas veces usar una
representación
intermedia para describir la .""rr".r"1" necesariade operaciones
del siste_
ma. Dos representaciones, útires en el diseño a" .iri"Á",
------ que necesitan
control, son los diagramasde tiempo y los flujog.u-u..

Entradas Datos
externas de ent¡ada

Lógica P¡ocesador
de control de datos
Condiciones
del status

Salida de datos

Figura 1O-l Interacción entre el cont¡ol y el procesador de datos


sEc.10-1 I N T R O D U C C I O4N2 5

Un diagrama de tiempo clarifica la secuenciade tiempo y otras rela-


ciones entre las diferentesseñalesde control del sistema. En un circuito
secuencialcon reloj, Ios pulsos de reloj sincronizan todas las operaciones
incluyendo las señalesde transición en las variables de control. En un sis-
tema asincrónicouna señal de transición en una variable de control puede
causarun cambio a otra variable de control. Un diagramade tiempo es muy
útil en un control asincrónico ya que provee una representaciónilustrati-
va de los cambios requeridosy las transiciones de todas las variables de
control.
Un flujograma es una manera convenientede especificarla secuencia
de pasosde procedimientoy formas de decisión para un algoritmo. Un flu-
jograma para un algoritmo diseñado usaría normalmente los nombres de
las variablesde los registrosdefinidosen la configuracióninicial del equipo.
Este traslada un algoritmo de su enunciadoen palabras a un diagrama de
flujo de información que enumera la secuenciade operacionesde trasferen-
cia entre registros conjuntamente con las condicionesnecesariaspara su
ejecución.
Un flujograma es un diagrama que consiste de bloques conectadospor
medio de líneas directas. Dentro de los bloques se especificanlos pasos
procedimentalespara configurar el algoritmo. Las líneas directas entre
bloques indican el camino que se va a tomar de un paso procedimentalal
siguiente. Se usan dos tipos mayores de bloques: un bloque rectangular
indica un bloque de función dentro del cual se listan Ias microoperaciones.
Un bloque en forma de diamante es un bloque de decisióndentro del cual se
lista una condición actual dada. Un bloque de decisióntiene dos o más ca-
minos alternos y el camino que se toma dependedel valor de la condición
de estadoespecificadadentro del bloque.
Un flujogramaes muy similar a un diagramade estado.Cada bloque de
función en el flujograma es equivalentea un estadoen un diagrama de es-
tado. El bloque de decisiónen el flujogramaes equivalentea la información
binaria escrita por conducto de las líneas dirigidas que conectandos esta-
dos en un diagrama de estado. Como consecuencia,es convenientealgunas
veces expresar un algoritmo por medio de un flujograma del cual se puede
deducir el diagramade estadode control.
En este capítulo se presentan cuatro configuracionesposibles para una
unidad de control. Las diferentes configuracionesse presentan en forma de
diagrama de bloque para darle énfasisa las diferenciasen organización.Se
demuestran entonces varios procedimientos disponibles para el diseño de
control lógico analizandoejemplosespecíficos.
El diseño de la lógica de control no puede separarsedel desarrollodel
algoritmo para resolver un problema de diseño. Sin embargo,la lógica de
control se relaciona directamente a la parte del procesadorde datos del
sistema que éste controla. Como consecuencia,los ejemplospresentadosen
este capítulo comienzan con el desarrollo de un algoritmo para configurar
el problema dado. La parte del procesamientode datos del sistema se dedu-
ce entoncesdel algoritmo enunciado. Solamentehasta que se haga lo an-
terior se puedeprocedera mostrar el diseñodel control que da secuenciaal
procesadorde datos de acuerdo a los pasos especificadospor el algoritmo.
1 O - 2 O R G A N I Z A C I O ND E L C O N T R O L

una vez que se haya establecidola secuenciade control se puede diseñar


el sistemasecuencialque configuralas operacionesde control. Como el con-
trol es un circuito secuencial,éste se puede diseñar por el procedimiento
lógico secuencialenunciadoen el capítulo 6. sin embargo,este método es
poco práctico en Ia mayoría de los casosdebido al gran ñúmero de estados
que el circuito de control puede tener. Los métodosde diseñoque usan es-
tados y tablas de excitación pueden usarse en teoría, pero en la práctica
son engorrososy dificiles de manejar. Además, los circuitos de control ob-
tenidos por este método requieren por lo general un número excesivode flip-
flops y compuertas,lo cual implica el uso de compuertassSI. Este tipo de
configuraciónes ineficiente con respectoal número de CI que se usan y al
número de alambres que deben ser interconectados.El principal objetivo
del diseñode lógica de control debeser el desarrollode un circuito que con-
figure la secuenciade control deseadade una manera lógica y directa. El
esfuerzode minimizar el número de circuitos tenderíaa producir una confi-
guración irregular, lo cual haría dificil para cualquier personadiferente al
diseñador,el reconocimientode la secuenciade eventospor los cualespasa
el control. Como consecuenciapodría ser dificil dar servicio y mantener el
equipocuando está en operación.
Debido a las razonescitadas anteriormente los diseñadorescon expe-
riencia lógica usan métodospara el diseño de lógica de control que pueden
ser consideradoscomo una extensión del método lógico secuencialclásico
combinado con el método de trasferenciaentre registros.En esta sección
se considerancuatro métodosde organizaciónde control.

1. Método de un flip-flop por estado.


2. Método del registrode secuenciay el decodificador.
3. Control PLA.
4. Control del microprograma.

Los primeros dos métodos resultan en un circuito que debe .rsa, ci.-
cuitos SSI v MSI para la configuración.Los diferentescircuitos se inter-
conectan con alambres para formar una ¡ed circuito de control. una uni-
dad de control configuradacon elementos sSI y MSI se denota como un
control a base de materiales interconectados.Si se necesitanalteraciones
o modificaciones,los circuitos se deben alambrar de nuevo para cumplir
con Ias nuevas especificaciones. Esto es en contraste al pLA o controi de
microprogramael cual usa un elementoLSI tal como un arreglo lógico pro-
gramableo una memoria de solamentelectura. cualquier alteracióno modi-
ficación en el microprogramade control puede lograisefácilmente sin cam-
biar de alambrado removiendola RoM de s,t baie y colocandootra RoM
programada para copar las nuevas especificaciones.
se explica ahora en términos generalescada método. Las seccionessub-
siguientesde este capítulo tratan con ejemplosespecíficosque demuestran
el diseño detallado de las unidadesde cóntrbl de lós cuatro *étodo..
426
--'
I
I Método de un flip-flop por estado
r
Este método usa un flip-flop por estado en el circuito secuencial de control.
Solamente se pone a uno un flip-flop en un tiempo dado, Ios demás se ponen
a cero. Se hace programar un solo bit de un flip-flop a otro bajo el control
de la lógica de decisión. En tal arreglo cada flip-flop representa un estado
y se activa solamente cuando el bit de control se trasfiere a éste.
Es obvio que este método no usa un número mínimo de flip-flops para
el circuito secuencial. De hecho, éste usa un número máximo de flip-flops.

t Por ejemplo un circuito secuencial con 12 estados requiere un mínimo de


cuatro flip-flops porque 23 <12(21.
cuito de control usa 12 flip-flops para cada estado.
Aun por medio de este método el cir-

La ventaja de un flip-flop por método de estado es la simplicidad con


la cual se diseña. Este tipo de controlador puede diseñarse por inspección
a partir de un diagrama de estado que describe la secuencia de control. A
primera vista, parece que este método aumentará ei costo del sistema ya
que se necesita un mayor número de flip-flops, pero, este método ofrece
otras ventajas que no son aparentes a primera vista. Por ejemplo, éste ofre-
ce un ahorro de esfuerzos en el diseño, un aumento en la simplicidad opera-
cional y una disminución potencial en los circuitos combinacionales reque-
ridos para configurar el circuito secuencial completo.
La Figura 10-2 muestra Ia configuración de una lógica de control se-
cuencial de cuatro estados, que usa cuatro flip-flops tipo D: un flip-flop por
estado 7,, i:0, I,2,3. En cualquier intervalo de tiempo dado entre dos
pulsos de reloj solamente un flip-flop es igual a 1, el resto será igual a 0. La
transición del estado presente al siguiente es una función del presente f
que es 1 y de ciertas condiciones de entrada. El siguiente estado se mani-
fiesta cuando el flip-flop anterior se borra y el nuevo se pone a uno. Cada
una de las salidas del flip-flop se conecta a la sección de procesamiento de
datos del sistema digital para iniciar ciertas microoperaciones. Las otras
salidas de control mostradas en el diaglama son una función de las 7 y de
las entradas externas. Estas salidas pueden también iniciar microopera-
ciones.
Si el circuito de control no necesita entradas externas para su caden-
cia, el circuito se reduce a un circuito de desplazamiento simple con un solo
bit que se desplaza de una posición a la siguiente. Si la secuencia de control
debe repetilse una y otra vez, el control se reduce a un contador de anillo.
[Jn contador de aníllo es un registro de desplazamiento con la salida del
último flip-flop conectado a la entrada del primer flip-flop. En un contador
de anillo el solo bit se desplaza continuamente de una posición a la siguien-
te de una manera circular. Por esta razón el método de un flip-flop por es-
t a d o s e l l a m a a l g u n a s v e c e su n c o n t r o l a d o r d e l c o n t a d o r d e a n i L l o .

Registro de secuencia y método del decodificador

Este método usa un registro para darle secuencia a los estados de control.
El registro se decodifica para suministrar una salida por cada estado. El
circuito tendrá 2" estados y el decodificador 2n salidas, p ra n flip-flops
427
Otras salidas de control

Condiciones
de entrada
exte¡nas

Lógica
de decisión

Figura 1O_2 Lógica de cont¡ol con un flip_flop por estado

en el registro de secuencia.por un registro de 4 bits puede estar


en cualquiera de los 16 estados._ejemplo,
ún decodificad"or de ¿x iO tendrá 16 sali_
d.as,unl para cada estadodel registro. Tanto.i
*gi.trá'd-Jsecuencia como
el decodificadorson componentesMSI.
La Figura 10-3 muestra la configuraciónde una lógica
de control se-
cuencial de cuatro estados.El registro de secuencia
tie-ne-dosflit fl;p, ;
el decodificadorestablece
.salidas separadaspu."
tro. La transición al siguiente
."gi._
"ud,á""rir¿o
estaáo en el registr" ".r'"r es una
,*,rencia
funcion del estadopresentey de las condicionesá"
las salidas del decodificadoiestán de alguna ¡";;;;irp."ibl"., como
""tiu¿u-e*ternas.
u, conve_
nrente usarlas como variables de estado presente en
vez de usar directa_
mente las salidas de los flip-flops. otras salidu, q.r" ,or,-irr.r"io.,
presente ¡' de las entradas ex-tern¿spueden inüiar del estado
microoperacionesen
adición a las salidasdel decodificador.
si el circuito de control de la Figura 10-3 no necesitaentradas
nas, el registro de secuenciase reduJe a un contador que exter_
continuamente
428
I
Otras salidas de control

Lógica Registro
de decisión de secuencia

Estado presente

Figura 1O-3 Lógica de control con registro de secuencia y decodificador

hace secuenciaspor los cuatro estados.Por esta razón, el método es lla-


mado algunasve¿esun método d.ecodificador contador. Este método y el de
contador de anillo se explicaron en el Capítulo ? y conjuntamenteen la
Figura 7-22.

Control del PLA

El arreglo lógico programablefue introducido en la Sección 5-8. Se había


mostrad-o ái"trá sJcción que el PLA es un componenteLSI que puede
cualquier circuito combinacionalcomplejo-El controi del PLA
cánfigurar".r
es eséncialmentósimilar al registro de secuenciay al método del decodifi-
cador excepto que todos los circuitos combinacionalesse configuran con
un PLA, incluyóndo el decodificadory la lógica de decisión.Bs posible re-
ducir el'númeró de CI y el número de alambresde interconexión,usandoun
PLA para el circuito combinacional.
LL Figura 10-4 muestra la configuraciónde un controlador PLA. Un
registro de*secuenciaexterno estableceel estado presentedel circuito de
co*ntrol.Las salidas PLA determinan cuáles microoperacionesdeben ini-
ciarse dependiendode las condicionesde entrada externas y del eslado
presente del'registro secuencial.Al mismo tiempo, otras salidas del PLA
determinan el estado siguiente del registro de secuencia.
El registro de secuenciaes externo al PLA si la unidad configurasola-
mente ciróuitos combinacionales.Sin embargohay algunosPLA disponibles
que incluyen no solamentecompuertassino flip-flops dentro de la unidad'
Éste tipo"de PLA puedeconfiguiar un circuito secuencialespecificandolas
uniones que deben conectarsea los flip-flops de la misma manera que se
especificaronlas uniones de las compuertas.
429
Condicir¡nes
I
Iniciar
de entrada
mic¡o-
externas
operaciones

Figura lO-4 Lógica de control pLA

Control del microprograma

El propósito de.'Ia unidad de control es iniciar una serie de pasos secuencia_


les de microopefaciones. Durante cualquier tiernpo dado se deben
iniciar
ciertas operaciones mientras que otras p"r-urr"""., latentes. Así, las va-
riables de cont¡ol en un tiempo dado pueden ser representadas por
una
cadena de 1 ó 0 llamada parabra de coitror. como tÁles,
clichas parabras
de control pueden ser programadas para iniciar las diferentes componentes
en el sistema de una manera organizada. {Jna unidad de control .,ru-
r i a b l e s d e c o n t r o l s e a l m a c e n a n e n u n a m e m o r i a , s e l l a m a n u n i d a".ryu.
d de con-
t.roLmicroprogramada. cada palabra de contror de memoria se llama
micro-
instrucción y una secuencia de microinstrucciones se Ilama mlcroprogramo.
corno poco se necesitan las alteraciones der microprograÁ., tu mlmária
de
control puede ser una RoM. El uso del microprog*.ná comprende la ubica-
ción de todas las variables de control en palabris de la RdM para
usarlas
por medio de las unidades de control a tiavés de operaciones
sucesivas de
lecturas. El contenido de la palabra en la RoM en una dirección
dada es-
pecifica las microoperaciones del sistema.
LIn desarrollo más avanzado, conocido como mic¡oprogramaci ón diná-
-:lco permite cargar inicialmente
un microp¡ograma a pártii de una consola
ie computador o de una memoria auxiliai tál como un disco magnético.
Las unidades de cont¡ol que usan microprogramación dinámica
' - ; r . a. r e m o r í a e"mplean
de control en la cual se puede eicribír (wcM: writablé con-
i:o1 memory). Este tipo de memoria puede se. usada para
escribir (o cam-
el
1r-ar microprograma)-pero se usa mayormente para lectura. una RoM, un
PLA o un wcM cuando se usan en,rna unidad de control se los
trata cómo
m e m t ) r . adi e c ' o n t r o l .
_ La Figura 10-.5ilustra la configuración general de la unidad de control
de microprograma. La memoria de control se asume como
una ROM dentro
de la cual se almacena permanentemente toda la información
de control.
El registro de control de las direcciones de ^e-o.ia-L.pu"ifi"u
la palabra
de control leída de la memoria de control. se debe t".r".'"r,
.rrenta que una
RoM opera como un circuito combinacional con el valor de
la dirección co_
430
Generador de Controldel Memoria
la dirección registrode de control
direcciones (ROM)
siguiente

Lnformación de la siguiente dirección

Figura l0-5 Lógicade controldel microprograma

m o e n t r a d a y l a p a l a b r a c o r r e s p o n d i e n t e c o m o s a l i d a . E l c o n t e n i d o d e lque
a
p..-ur,""" en los alambres de salida por el tiempo
;;1"ú;;;peóificaia No se nece-
;f ;ü, de la di.ección pur*u.tece en el registro de dirección.
en una memoria áe acceso aleatorio. Una palabra
sita señal de lectura como
al registro 1eqT3dor,,si el registro de
á"" ,ái. ¿. la RoM i"¡. trurrurirse esté aún en uso' Si
direccionescambia *i.rirár- qte la palabia de ROM
cambio en dirección y una palabra de
pueden ocurrir simultáneamenteun
nOn¿ no es necesarioun registro
--- separador'
representauna mrcrolns-
ia putabra leída de una memoria de control para
o más microoperaciones
trucción. La microiittt""ti¿" especificauna las operaciones' la
qt" t" ejecuten.
los componentesdei sistema' Una vez de
unidad de control d;;;á.;.;-inar la siguiente.dirección.l,a ubicación
la siguiente Ini".oinrtt,tcción podríu '"t-lu siguiente-ensecuenciao podría
nece-
ser ubicada en otrol;;;;;; lu *"*otiu de control. Por esta razón es
para c-ontrolar la generación
sario usar algunos¡ilr" de la microinstrucción
La siguiente dirección
de Ia dirección para la siguiente microinstru..iótt. de entrada externas.
.", i"Á¡i¿";;; ii""ió" de las condiciones
ñ"* la siguiente dirección es com-
Mientras se ejecutari^ru.Ái.tooperaciones,
putada en et circui;;;;;.;;e;t.de,t, siguiénte dirección v luego trasferida
de direccionespara
(con el siguiente p"i.|-á. reloj) al_regi-tro de control
La ionstrucción detallada del generador
leer la siguiente -r.ioi".lr"."ién.
particular'
á" f" tidi"nte dirección dependede la aplicación -esp^ecíficos del diseño de
EI resto a. .ápñ-1i ;;;" sobre'ejemplos
".t. 10-3 demuestra el método
lógica de control. El;;i;.r,"jemplo.en la Sección
y lá Sección.10-4 presenta el mismo ejemplo con
de un flip_flop p", ejemplopara
"i"áá L; Sección 10-6 usa un segundo
un control ,-rri.roprüriiuá". y la Sec-
y de-codificador
demostrar .l *¿toij á.i r"gittto de secuencia 9l 10-5 v
ejemplocon un PLA' Las Secciones
ción 10-7.o'riguruii;;gdil más detalle.
en
10_gconsideranel'r"átáá?,A" .o'trol del microprograma \

1o-3coNTRoLDECoMPoNENTESALAMBRADoS-EJEMPLoI

E s t e e j e m p l o d e m u e s t r a e l d e s a r r o l l o d e u n a l g o r i t m o d e d idiseño
s e ñ o .para
Secomien.
lospasosdel
,i ioi t" proposicióndel problemay se prqce{gcon cinco
se lleva a cabo en
obtener la lógica de co.,tiol del sistemá. El diseño
pasoscorisecutivos.
431
432 O I S E Ñ OD E L O G I C AD E C O N T R O L

l. Se enunciael problema.
cAP. 10 I
2. Se asumeuna configuracióninicial
del equipo.
3. Se forrnula el algoritmo.
4. Se especificala parte del procesador
de datos.
5. Se diseña la lógica de control.

una configuración inicial del equipo


es necesariapara poder formular el
algoritmo diseñadoen términos áeimétodo
de trasferenciaentre registros.
El algoritmo se formura por medio á"ih":"g."-;ü;rilin""
de microoperaciones r" secuencia
del sistema.u;; u"r. qu"_." tónga ia lista
raciones se pueden escogerfunciones aigiiare, de microope_
.
guración' En esencia, para su confi_
erto suministra ti pa.t" """L".iá. de datos del
sistema. El cont¡ol se diseña entoncespara ;;;;;;;;.a
darle ,."ulrr"i" a las microope_
racio_nes-
requeridasen el procesadorde datos.
La lógica de control deducida en Lsta sección
es un control de compo_
nentes alambrad.s por el método de un
flip-flop poi-uJ"ao. El sistema
digital presentadoaquí se usa de
en'la .i$;u'te sec"ion para de-
mostrar un ejemplodel control microprogramado.
"rr"uo

E n u n c i a d od e l p r o b l e m a

En la secciónt-u.^:1nuncia,un.algoritmo
para la adicióny sustracciónde
los números binarios de.punto fijo"cuando
l;;;;,o;;;;lugatirros están en
la forma de signo-complémentoá.
t.-iil;;áur"*" áüiri"Jl con
rnateriales la adición v sustracción áe "o'ng,rrar
drJ de punto fijo
representadosen forma de signo-magnitud.";;;;-ü;iio.
S" p""¿"lsJr aritmética com_
siemprey cuandJer ,"s-uli"aofinai;;t ;;
*ilT:f" formade signo_
La suma de dos números almacenados
en -los registrosde longitud fi-
nita podría resultar en una suma que
rrel registro excede r" de almacenaje
en un bit. El nit ." dr¡e que "upá"iá"á
-'ircuito debe venir crc,nun flip-flop
"*it"-pu* utmac""ri"-;;;';;*."capacidad. Er
'" por sobrecapacidad. J¡ii J" desbordamien_

C o n f i g u r a c i ó nd e l e q u i p o

Los dos números binarios con signo al ser


sumadoso restadoscontienen
n bits. Las magnitudesde los contienenu: r--l-a¡ts y se alma_
"riile.os
cenan.en ros resistrosA y B. Los bits de sig"o se
flops A. ,r'8.. ia Figura 1o-6;;rtta en los flip_
los registros "l-u"i'u'
y el equipo asociado.
El ALU realiza las opéracionesaritméllcas y el registroE de 1 bit sirve como
nto sobrecapácidad.El ;;;.r*;"
l:o^9: salida der ALU se rrasfiereal E.
se asume que los dos número! y sus signos
tt"r, tiasferidos a sus
y que el resuttádo-¿" ü "i¿á
fgt:l::.I:specrivos
ros reglstrosA ]' 4.. Las dos señales á.ia airpo'ible en
"p"iá"ij"el
de entrada
las operacionesde suma (go) y resta (q"). especifican
".,
La variable "orrt.ol
de salida ¡ indica
,f
Signo Magnitud

Sobrecapacidad q" (Sumar)

tr q. (Restar)

r (Qperación
terminada)

Figura lO-6 Configuración parael sumador-sustracto¡


del registro

el final de la operación.La lógica de control se comunica con los circuitos


que la rodean a través de las variables de entrada y salida. El control re-
conoce la señal de entrada eo ó e" y suministra la operación requerida.
l Una vez finalizada la operación, el control informa a los circuitos exteriores
con la salida r que la suma o diferencia está en los registrosA y A" y el
tt,
I
bit de sobrecapacidad está en E.

t Deduccióndel algoritmo
La representaciónde números por medio de signo-magnitudes familiar
debido a que se usa para los cálculos aritméticos a lápiz y papel. El proce-
dimiento de sumar o restar dos números binarios con signo a lápiz y papel
es muy simple y directo. Una revisión de este procedimientopodría ser útil
para deducir el algoritmo diseñado.
Se designala magnitud de dos númerosA y B. Cuando los númerosse
suman o restan algebraicamentese encuentra que hay ocho condiciones
diferentes para considerar,dependiendodel signo de los números y de la
operaciónrealizada.Las ocho condicionespuedenexpresarseen forma com-
pacta de la siguientemanera:
(*¿)n(ta)

Si la operaciónaritmética especificadaes la sustracción,se cambia el signo


de B y se suma. Esto se hace evidente a partir de las relaciones:
(t¿)-(+a¡:?.s)+(-B)
(tA)- (-B): (*,¿)+ (+¡)
Lo cual.reduce el número de condiciones posibles a cuatro, a saber:

(tl) + (t¡)

y el
Cuandolos signosde A y B soniguales,se agreganlas dosmagnitudes
signodel resultadoes el mismoque el sigro común.Cuandolos signosde
43s
434 D I S E Ñ OD E L O G I C AD E C O N T R O L CAP, 10

A y B no son iguales,se resta el número más pequeñodel mayor y el signo


del resultadoes el signo del número mayor. Esto es evidentea partir de las
siguientesrelaciones:

SiA>.8 sil <a

(+A)+ (+B): +(A+ B)


(+A) + (-B) : +(A - B) : -(B - A)
a:
(-A)+(+r¡: -(A-B):+(B-A)
(-A)+ (-B): -(A+ B)

El flujograma de la Figura 10-7 muestra cómo se puede configurar una


sustracción y una adición con signo magaitud con el equipo de la Figura
10-6. Se inicia una operación con la entrada q, o la entrada eo.La entra-
da q" inicia una operación de sustracción de manera que se complementa
el signo de B. La entrada qo inicia una operación de suma y el signo de B
se deja sin cambiar. El siguiente paso es comparar los dos signos. El bloque
de decisión demarcado con A" : B" simboliza esta decisión. Si los signos
son iguales se sigr,repor el camino demarcado por el símbolo : ; de otra ma-
nera se toma¡á el camino marcado por el símbolo + . El contenido de A se
suma al contenido de B y la suma se trasfiere a A en el caso de símbolos
iguaies. El valor del arrastre final en este caso es una sobrecapacidad de
manera que se hace el flip-flop E igual al arrastre de salida C",, . EI circuito
irá a su estado inicial 3,'la salida ¡ se convierte en 1. EI signo del resultado
en este caso es el mismo que el signo original A, de manera que el bit de
signo se deja sin cambiar.
Las dos magnitudes se restan si los signos no son iguales. La sustrac-
ción de las magnitudes se hace agregando A al complemento de 2 de B. No
debe ocurrir sobrecapacidad si los dos números se sustraen de manera
que E se lleva a 0. Un 1 en E indica que A>By el número en A es el resul-
tado correcto. El signo del resultado es igual de nuevo al valor original de
4'. fln 0 en E indica que A <8. Para este caso es necesario formar el
complemento de 2 del valor en A y el complemento del signo en ,4,. El com-
plemento de 2 de A puede hacerse con una microoperaciónA*Á* 1. Sin
erirbargo se requiere usar el ALU del Capítulo 9 y este ALU no tiene la ope-
ración de complemento de 2. Por esta razón el complemento de 2 se obtiene
de las operaciones de complemento e incremento que están disponibles en
el ALI-I.

Especificación del procesador de datos

El flujograma del algoritmo lista todas las microoperaciones para la parte


del procesador de datos del sistema. Las operaciones entre A y B pueden
hacerse con el ALU. Las operaciones con A", B" y E deben ser iniciadas ,]
con variables de control separadas. La Figura 10-8(a) muestra el procesa-
dor de datos con las variables de control requeridas. como se había men-
T

A-A+E +l
'F * C ' o u t

Figura lO-7 Flujograma para la adición y sustracción en signo-magnitud

cionado antes el ALU viene del Capítulo 9 donde se especifica su tabla de


función en la Tabla 9-4. Este ALU tiene cuatro variables de selección de la
manera que se ilustra en el diagrama. La variable L carga Ia salida del ALU
al registro A y también el arrastre de salida a E. Las variables -t-,z y ¿¿)
com-
plementan B" y A, y borran E respectivamente.
El diagrama de bloque de la lógica de control se muestra en la Figura
10-8(b). El control recibe cinco entradas: dos de Ios componentes externos
y tres del procesador de datos. Para simplificar el diseño se define una
nueva variable S:
S:lrOB,

435
'_-€
I
(Tabla 9-4)
ALU

,*E L (Carga)

(a) Registrosprocesadores
de datosy ALU

,t (Estado inicial)

s2 (Selección demodo)

s1
(Selecciónde función)
s0
LóBica
.,
- .
de control C¡ (Arrastre de entrada)
L (CargarAyEdelALU)
y (ComplementarB")

z (ComplementarA,)
p (Borra¡ E) -

(b) Diag¡amade bloque


del control

Figura l0-g Diagrama de bloque del


sistema

Esta 'ariable da er
de,ra com.paración
fi.lr'^1dg
esigual -.onde signo. La
entre dos bits
a t si losdos,ic";.-;;
lffii:"r'r'o,*"r1*1""" positivoso negativos
isuul".y
El control .r-i':'::l1mbos ".
cionat,;úi;;il;Ji:i:iülÍ"T,:iiiü#,.1:Tüi:iJJ"ffi
de selecciórs'¡' s''
en fo
y c,.' iu.-oi.-"..",r"t"o
saridas;;,
,"r.,,,i;1ff;
el procesadár
dl aátár .áLJi" los registros
en el diagr"-u. au.,queno se
4?6 "üJitt",
T
sEc. 10-3 C O N T R O LD E C O M P O N E N T EASL A M B R A D O S - E J E M P L O1 437

muestra en el diagrama, Ias salidas de la lógica de control deben estar co-


nectadas a las coirespondientesentradas en el procesadorde datos. Ahora
que se ha especificadóel procesadorse puede diseñar la lógica de control
del sistema.

Diagrama de estado de control

El diseño de un control con materiales interconectadoses un problema de


lógica secuencial.Como tal, podría ser convenienteformular el diagramade
eslado del control secuencial. Los recuadros de control en el flujograma
pueden ser consideradoscomo estadosdel circuito secuencialy los recua-
dros de decisión como condicionesdel siguienteestado.Las microoperacio-
.r", qr" deben ser ejecutadas en un estado dado se especifican dentro del
,..rr"d.o de función. Las condicionespara la transición del siguienteestado
se especificandentro del recuadrode decisión o en las líneasque se conec-
tan ütre dos recuadros de función. Aunque se puede formular esta relación
entre un flujograma y el diagrama de estado, la conversión entre una for-
ma y otra nó és únicá. En consecuencia,diferentes diseñadoresproducirán
diferentes diagramas de estado para el mismo flujograma y cada cual puede
ser una correctarepresentacióndel sistema.
Se comienzaaiignando un estado incial ?6 al controlador secuencial.
Se determina luego lá transición a otros estadosTr, Tz, Tz Y así sucesiva-
mente. Para cadá estado se determinan las microoperacionesque deben
iniciar el circuito de control. Este procedimientoproduce el diagrama de
estado para el controlador conjuntamente con una lista de operacionesde
trasferencia entre registros, las cuales deben ser iniciadas mientras que
el circuito de control esté en todos y cada uno de los estados.
El diagrama de control y las correspondientesoperacionesde trasfe-
rencia entre registros se deducen en la Figura 10-9. La información para
este diseño se toma directamentedel flujograma de la Figura 10-7y las va-
riables definidas en el diagrama de bloque de la Figura 10-8. El estado de
control inicial es ?o. Mientras que el control esté en ese estado la varia-
ble ¡ se debehacer igual a 1. Esta variable es 0 en todos los demásestados'
Durante el tiempo en que Qo y Q, sean 0, el control permaneceráen su es-
tado inicial. Si q" se convierte en 1 el control realizará una operaciónde
sustracción al pasar al estado ?1. En este estado el bit de signo B, se
complementa. El control pasa al estado T2 para sumar los dos números.
-Else convierte en 1 el control irá directamenteal estado Tz .
Si q,
.iguiette estado despuésde T2 dependede los valores relativos de
los bits dé signo, los cuales se determinan a partir de la variable S. Si los
símbolos fuerán iguales, S será 0 y el control pa.saráal estado ?3. En este
estado, las dos mágnitudes se suman y se pone a uno el bit de sobrecapaci-
dad. Úna vez que ie haga lo anterior el control pasaráa su estado inicial.
si los signos són diferentes, s es 1 y el control pasará del estado ?2 al es-
tado ?4. En este estado las dos magnitudes se sustraén obteniendo el
complementode 2 de B. El arrastre final se trasfiere a E durante la sustrac-
ción y el control pasaráal estado ?u.
Qo=0

qa Sumar
Qs Restar
S=0 Signosiguales
S= I Signosdiferentes
E Arrast¡e de salida

(a) Diagrama de estado


I
Salidas de control

J2 Jt Jo C, L .t, z ^

Io: Estado inicial ,r = I 100 000000


Tr:B,*8, 000 000100
Tr: nada 000 000000
T3:A+A +B,f -C.,,, 000 101000
To:A+A +8+1,6-Cu,, 001 0t1000
15:I,+0 000 000001
Tu:A-A 0ll 10t000
Tj.A+A+1..4r-,1, 000 0ll0l0

(b) Secuenciade t¡asferenciasdel resist¡o

Figura 1o-g Diagrama del estado de cont¡ol y secuencia


de microoperaciones

438
I

sEc.10-3 C O N T R O LD E C O M P O N E N T EASL A M B R A D O S - E J E M P L O1 4 3 9

Se debe tener en cuenta que el arrastre final del ALU se trasfiere a E


con un pulso de reloj. Esto sucedecon el mismo pulso de reloj que causaque
el control vaya del estado Ta al Tr. Aunque se muestre la operación:
E <- Cou,
que
conjuntamentecon la variable ?, esta operaciónno s€ ejecuta hasta
1a operación,el con-
á".rrr" el pulso de reloj. Una vez que este pulso-ejec-ute
trol se encontraráen él estado ?r. Por tanto el valor de E pata el ar-rastre
final, no debe constatarsesino hasta que el control alcance el estado ?t '
El valor de E se constata para determinar las magnitudesrelativas de A y
B. Si E : 1, esto indicará que A > B. Para'estecasoE debeborrarsepara así
completarla operación.si E: 0, estoindicará que A < B. El.control irá a los
estaáosTo y T¡ para complementarA y A,. Nótese que _Ese borra mien-
tras que ei éo.ttioi esté en él estado ?u. Esto se hace con E igual a 1 ó 0 ya
que tiatar cle borrar un flip-flop que esté en 0 Io dejará de todas maneras
ü O. S" debe notar también que E se borra con el pulso de reloj que causa
que el control se salga del estado ?u. Se debe tener en cuenta que despejar
É y trasferir el contiol al estado To ó T6 se hace con un pulso de reloj co-
mún sin problema. El valor original de E en el tiempo ?, determina el si-
guiente utt"do aunque este flip-flop se borre mientras que el pulso de reloj
pase
' por una transición de flanco.
Óebe ser manifiesto con este ejemploque la interpretaciónde un flujo-
grama podría resultar en un diagrama de estado diferente para la misma
iógi"u áe control. Esto es aceptablesiempre y cuando las restriccionesde
loJ materiales se tomen en consideracióny el sistema funcione de acuerdo
a las especificaciones.Por ejemplo, en vez de comprobar E en el ti-empo?5
se hubiéra podido escogereL comprobar Co,t en el tiempo ?1 . Si Co', es 1,
el control pasaráal estado ?, parrr despejarE. si éste es 0, el control pue-
de ir directamenteal estado ?0, s n considerarel estado ?u ett este caso.

D i s e ñ o d e l c o n t r o l a b a s e d e c o m p o n e n t e sa l a m b r a d o s

Las salidas de control son función de los estadosde control y se listan en


la Figura 10-9(b).Estas salidas se definen en el diagrama de bloque de la
Figura 10-8(b).Los valores para las variables de seleccióndel ALU se de-
teiminan a partir de la Tabla 9-4. La variable L (cargarA) debeser igual a
1 cada vez que la salida del ALU se trasfiera al registroA. De otra manera
l, es 0 y las salidas del ALU no tendrían efecto sobre el registro. Para dise-
ñar el óontrol de este sistema se necesitadiseñar el diagrama de estadode
la Figura 10-9(a)y dotarlo de las salidas de control como se especificanen
la Figura 10-9(b).
El control puede diseñarseusando un procedimientoclásico lógico se-
cuencial. Este procedimientorequiereuna tabla de estadocon ocho estados,
cuatro entradasy nueve salidas. El circuito secuencialque se va a deducir
de cada estado no será fácil de obtenel debido a la gran cantidad de varia-
bles. El circuito obtenido, usando este método, puedetener un número mí-
nimo de compuertas, pero tendrá un patrón irreg¡lar y será muy dificil de
analizar e.t el ca.o de que ocurra una falla. Estas dificultades son elimina-
das si se diseña el control por el método de un flip-flop por estado.
44O DISEÑO
DE LOGICA
DECONTROL

[Jna organización del control que use un flip-flop por estado tiene la
C A P .1 0 I
característica conveniente de que el circuito p.rede deducirse directamen-
te del diagrama de estado por inspección. No ie necesitan tablas de estado
o excitación si se usan flip-flops D. Recuérdese que ei siguiente estado de
un flip-flop n es una función de la entrada D y és independiente del esta-
do presente. como el método requiere un flip-fiop po. .ud" estado, se esco-
gen ocho flip-flops D y se marcan sus salidas Tu, Tr, Tr, .
, Tr. Lu
dición p€ra poner a ulo un flip-flop dado se especiiica-en el.diagrama" ode
rr_
estado. Por ejemplo, el flip-flop 7, se pone u u.rb con el siguientJpulso de
reloj si Tt:t ó si I. : I y qo: 1. Esta condición puede áefinirse con la
función de Boole:

DT2: q o T o+ T ,

donde D?2 designa la entrada D del flip-flop ?2. De hecho, la condición


para.poner a 1 flip-flop se obtiene de la condición especificada por
las líneas
de dirección que van.a un estado de flip-flop dado y que a.u ue, se aplican
conjuntamente con el estado previo def lip-¡oo u función AND. si tuy
más de una lí'ea de dirección que va a un éstado, ""u todas las
condiciones
{9ben aplicarse a una función oR. usando este pto"edi-ie.rto para otros
flip-flops, se obtienen las funciones de entrada dadas en la Tabla 10-1.
Inicialmente, el flip-flop ?o se pone a uno y las demás se bor¡an.
F)n
un tiempo dado solamente una entráda D estará en el estado
1 mientras
que las demás se mantienen en o. El siguiente pulso
de reloj pone a uno el
flip-flop cuya entrada D es 1 y borra toi demás. rot
si al presente
To:1, entonces si e. y q " : 0 , l a e n t r a d a D d e ?"¡"-fió
_ 0 .i,"i¿ f y el siguien_
te pulso dejará el flip-flop ?o en el estado 1. si durarite el intervalo
entre
los dos puls-osq" .e convierte en 1, ra entrad a D de ?e
cambiará a o pero
la entrada D
* f, será l,.de manera que el siguiente"p.ri.o po.a.a a uno
Tt
-y a cero ?0. Las funciones de entiada a"f nip-nolp-ro., -ut.,"mente
excluy-entesy solamente un flip-flop puede ponerse u ,"o'un
tiempo dado
y los demás se borran porque sus entiada, D son ""
ceros.
Se necesita especificar las salidas de control corlo una función de los
estados de los flip-flops. Esto se hace con las entradas de Boole dadas en
la Tabla 10-1. Estas funciones de Boole se obtienen por inspección de la Fi-

Tabia l0-l Funciones de Booie para control

Funcionesde entrada de flip-flops Funcionesde Boolepara el control de salida

D T 6 = q ' " q ! T s +T 3 + E T s + T j x:To


DT,: q,Ts sz: To
DTl: q"Ts* T1 si:TotTu
DT_.: 5'7.- so: T, + Tu
DTa: ST2 Cin: T4 + T.r
DT5: Ta L=Tt+7|4+76+77
DTu: ¿'7t /:Tt
DT1: T5 z:Tt
w:Ts
I

t-
tt
sEc. 10-4 C O N T R O LD E L M I C R O P R O G R A M A 4 4 1

gura 10-9(b). Por ejemplo la salida I debe ser l durante los estados ?3,
Tr,7,., ó ?r. Estas variables son disponibles en las salidas de los flip-flops.
Lo que se necesita aquí es una compuerta OR de 4 entradas para generar
el control de salida ,L
El circuito para la lógica de control no se dibuja pero se puede obtener
fácilmente de las funciones de Boole en la Tabla 10-1. Este circuito puede
ser construido con ocho flip-flops D, siete compuertas AND, seis compuer-
tas OR y cuatro inversores. Nótese que cinco salidas de control se toman
directamente de las salidas de los flip-flops.

1O-4 CONTROD
L EL MICROPROGRAMA

En un microprograma de control, las variables de control que inician micro-


operaciones se alrnacenan en la memoria. La memoria de control es común-
mente una ROM ya que la secuencia de control es permanente y no necesita
alteración. Las variables de control almacenadas en la memoria son leídas
una a una para iniciar la secuencia de microoperaciones del sistema.
Las palabras almacenadas en la memoria de control son microinstruc-
ciones y cada una de ellas especifica una o más microoperaciones para los
componentes en el sistema. [Jna vez que se ejecutan estas microoperacio-
nes, la unidad de control debe determinar la siguiente dirección. Por tanto,
unos pocos bits de la microinstrucción se usan para controlar la generación
de la dirección para la siguiente microinstrucción. Así una microinstruc-
ción contiene bits para iniciar microoperaciones y bits para determinar Ia
siguiente dirección para la memoria de control en sí misma
Además de la memoria de control, una unidad de control de micropro-
grama debe incluir circuitos especiales para seleccionar la siguiente direc-
ción como se especifica por la microinstrucción. Estos circuitos y la confi-
guración de los bits de microinstrucción almacenados en la memoria varían
de una unidad a otra. En vez de profundizar en todas las posibilidades en-
contradas en las diferentes situaciones se escoge aquí introducir el con-
cepto de microprograma por medio de un ejemplo simple.
La lógica de control que se va a diseñar es para el sumador-sustractor
de signo-magnitud desarrollado en Ia sección anterior. El control a base de
componentes conectados, diseñado en la Sección 10-3 será remplazado por
un control de microprograma que se va a diseñar a continuación. Téngase
en cuenta sin embargo que el sistema digital considerado aquí es muy pe-
queño para un controlador de microprograma y en la práctica un control a
base de componentes conectados debe ser más eficiente. La organización
del control de microprograma es más eficiente en sistemas mayores y com-
plicados.
Un estado en la memoria de control se representa por la dirección de
una microinstrucción. Una dirección para la memoria de control especifica
una palabra de control dentro de una microinstrucción. El control que se
desea diseñar se especifica en la Figura 10-9. Como hay ocho estados en el
control se escogeuna memoria de control con ocho palabras que tienen las
direcciones 0 hasta 7. La dirección de Ia memoria de control corresponde al
número suscrito bajo las ? en el diagrama de estado.
I

442 D I S E Ñ OD E L O G I C AD E C O N T R O L cAP.10

La inspección del diagrama de estado revela que la secuencia de direc-


ciones en el control del microprograma debe tener 1as siguientes cualidades:

1. Provisión para la carga de una dirección externa como resultado de


la ocurrencia de las señalesexternas eo y e".
2. Provisión para la sucesión consecutiva de direcciones. i

3. Provisión para escoger entre dos direcciones como una función de


los valores presentes de las variables de condición S y E. I
Cada mic¡oinstrucción debe contener un número de bits para especificar
l a m a n e r a e n q u e s e s e l e c c i o n al a n u e v a d i r e c c i ó n . II
Configuración de los materiales

La organización de la unidad de control del microprograma se muestra en


la Figura 10-10. La memoria de control es una RoM de g palabras por 14
bits. Los primeros nueve bits de una palabra de microinstrucción conlienen
las variables de control que inician las microoperaciones. Los últimos cinco
bits suministran información para seleccionar la siguiente dirección. El
registro de direcciones de control (CAR: Control Address Register) al-
macena la dirección de la memoria de control. Este registro recibé un valor
de entrada cuando se habilita su control de carga; dá otra manera se in-
crementa en 1. Un CAft es esencialmente un contador con capacidad de
carga en paralelo.
Los bits 10, 11 y 12 de una microinstrucción contienen una dirección
para el CAR. Los bits 13 y 14 seleccionan una entrada para un multiplexor.
El bit 1 suministra la condición de estado inicial denotada por la váriabie
r y también habilita una dirección externa cuando e, o eo es igual a 1. se
estipula que cuando ¡: 1 el campo de dirección de la microinstrucción debe
ser igual a 000. Entonces si q" : 1, la dirección 001 está presente en las en-
tradas del CAR, pero si eo: l,la dirección 010 se aplica al CAfi. Si ambas
.1. y Qo son cero, la dirección cero de Ios bits 10, 11 y 12 es aplicada a las
entradas del CAfi. De esta manera la memoria de control se mantiene en la
di¡ección cero hasta que una variable externa se habilite.
E l m u l t i p l e x o r ( M U X ) t i e n e c u a t r o e n t r a d a s q u e s e s e l e c c i o n a nc o n l o s
¡i¡s 13 -v 14 de la microinstrucción. Las funciones de los bits seleccionadas
p - r e l m u l t i p l e x o r s e t a b u l a n e n l a F i g u r a 1 0 - 1 0 .S i l o s b i t s 1 3 y 1 4 s o n 0 0 , s e
s e l e c c i o n au n a e n t r a d a d e m u l t i p l e x o r q u e e s i g u a l a 0 . L a s a l i d a d e l m u l -
tipleror es 0 ¡'la entrada de incremento al CAft se habilita. Esta confizura-
c i ó n i n c ¡ e m e n t a e l c A R p a r a e s c o g e rl a s i g u i e n t e d i r e c c i ó n e n s e c u e ' n c i a .
u n a s a l i d a d e I e s s e l e c c i o n a d ap o r e l m u l t i p l e x o r c u a n d o l o s b i t s 1 3 y 1 4
son iguales a 01. La salida del multiplexor es 1y la entrada externa se car-
g a a l c Á f t . L a v a r i a b l e d e c o n d i c i ó n s e s s e l e c c i o n a d ac u a n d o l o s
bits 18 v
14 son iguales a 10. Si s : 1, la salida del multiplexor es 1 y los bits de di-
-cAr?
rección de la microinstrucción son cargadosal (si seiiene r:0). si
s : 0 , l a s a l i d a d e l m u l t i p l e x o r e s 0 y s e i n c r e m e n t a e l c A R . c o n l o s b i t s 1 3y
1 4 i g u a l e s a 1 1 r e s e i e c c i o n al a v a r i a b l e d e c o n d i c i ó n E y e l c a m p o d e d i r e c -
ción se carga al cA,? si E: r; pero el cAR se incrementa si B: 0. Así. el
___-\

5
':1 \ 6
7

9
b! 'o

['o
I
Dirección
6
l"
l.12

Selección
f ',
I
O
[14

Bits de ROM Función de seleccióndel MUX


13 14
00 Incrementarel CAR
0l Cargar la entrada al CAR
l0 Cargar las entradasal CAR si S : 1, incrementarel CA^Rsi S : 0
ll Cargarlas entradasal CAR si B: 1, incrementarel CA.Rsi E: 0

Figura 10-10 Diagrama cie bloque de control del microprograma

443
4t't D I S E Ñ OD E L O G I C AD E C O N T R O L cAP. 10

multiplexor permite al_control escogerentre dos direccionesdependiendo


del valor del bit de condiciónseleccionado.

El microprograma

Una vez que se establecela configuraciónde la unidad de control del micro-


programa la tarea del diseñadores generarel microcódigopara la memoria
de control. Fl,stageneraciónde código se llama microprográmacióny es un
procesoque determina la configuraciónde bits para cadá una de lás pala-
bras en la memoria de control. Para apreciur eite proceso,se deduciiá el
microprogramapara el ejemplodel sumador-sustractor.La memoria de con-
trol tiene ocho palabrasy cada palabra contiene 14 bits. para microprogra-
mar la memoria de cont¡ol se debe determinar los valoresde los ¡its ae"las
ocho palabras.
El método de trasferenciaentre registrospuede ser adoptadopara de-
sarrollar un microprograma.La secuenciade microoperaciónpuedé ser es-
pecificada con declaracionesde trasferenciaentre régistros.ño hay nece-
sidad de listar las funcionesde control con las variabiósde Boole yu qrr"
este caso, las variables de control son las palabrasde control almacenadas".,
en la memoria de control. En vez de una función de control, se especifica
una dirección con cada proposiciónde trasfe¡enciaentre registros.La direc-
ción asociada con cada proposición simbólica correspondéa la dirección
donde la microinst¡ucción es almacenadaen la memória. La secuenciade
una dirección a la siguientepuedeser indicada por medio de proposiciones
de control condicionales.Este tipo de proposiciónespuede usp""ifi"u. u'a
dirección a la cual va el control depenáietrdod" las condicionesestableci-
das. Así, en vez de pensar en términos de 1 ó 0 que debenser agregadosa
cada microinstrucción,es más convenientepensar en términos dé simbolos
en el método de trasferenciaentre registros.una vez que se ha establecido
el microprogramasimbólico, es posible trasladar las proposicionesde tras-
ferenciaentre registroso su forma binaria equivalente.
El microprogramase da en forma simbólica en la Tabla 10-2.Las ocho
direccionesde la RoM se listan en la primera columna.La microinstrucción
Tabla lO-2 Microprograma simbólico para la memo¡ia de control

Dirección
deROM Microinstrucción Comentarios
0 x : 1 , s i ( q " : 1 ) e n t o n c e s( v a a 1 ) , s i ( q , : 1) Cargar0 o direcciónexterna
entonces (va a2), si (q, Aq, : g¡
entonces (va a 0)
1 B, <- B-, g" : 1, comenzarsustracción
2 If (S : l) entonces (va a 4) e " : l , c o m e n z asr u m a
3 A<-A*B,E<-Couuvaa0 Sumar magnitudesy regreso
4 A<-A*E+t,¿*Co,,, Sustraermagnitudes
5 Si (¿: 1) entonves (va a 0). E .-0 Operaciónfinalizadasi E: 1
6 A<-A- E: 0, complementarA
7 A+A*1,A,+A-,,vaaO Terminado, regresara la
dirección0
"l

sEc.10-4 C O N T R O LD E L M I C R O P R O G R A M A 4 5

simbólica en la
que debe ser almacenada en cada dirección se da en forma
Los comentarios se usan para clarificar las proposiciones
.="*f,á; .;irr-ru.
La direcciótt o e" equivalente al estado ini-
de trasferencia entre tegistros.
s a l i d - ax : L . L a s i g u i e n t e d i r e c c i ó n d e p e n d e d e los valo-
cial y produce una
proposiciones de control
,".- áu'fu, variables externas e" y eo. Las tres
proposición de ua o después
condicional en esta microinstrucción-usan una
que si la-con-
áe la palabraentonces. Su significado-se interpreta de manera
a la dirección escrita después de la palabra
dición se satisface el control*va
en ia dirección
,o-o. n"i, si arnbos Q, y Qo son cero el control permanece
pu.u' repetir lu -iótoi"ttrucción. Si q, o qo son 1, el control va a la
""ro
dirección 1 ó 2 resPectivamente.
Las proposiciónes de control condicional en las otras microinstrucciones
a sin una con-
usan las"u"riubl"r de condición s y E.La proposición de ua
la dirección indi'
dición adjunta, especifica una alteinativa incondicional a
que va a la dirección cero
.uá". pot ejemplo, va a cero significa el control
presente' pi n9 una proposición
después de ó¡ecuta. la microinsirucción \av
de ua a en lá microinstrucción, esto implica que la siguiente microinstruc-
ción se toma de la siguiente dirección de Ia secuencia. También, si la condi-
¿".p"¿s de una proposición si no se satisface, el control va a Ia siguien-
"i¿"
te dirección en la secuencia.
Las microinstrucciones asociadas con las ocho direcciones se deducen
Las mi-
directamente de las especificaciones de control de la Figura 10-9'
croinstrucciones listadas son idénticas a aquellas listadas en la Figura
de
10-9(b). La proposición de control condicional especifica la secuencia
estado de la Figura 10-9(a)' Nó-
direcciones como se da en el diagrama de
? en
tese que cada número de dirección es igual al número suscrito hajo las
el diágrama de estado. Debe ser obvio que las proposiciones de control con-
de es-
dicionál presentan una manera diferente de especificar el diagrama
puede ser
tado. Esto muestra que el método de trasferencia entre registros
usado para especificar un circuito secuencial'
Ei microprograma en la Tabla 10-2 se hubiera podido deducir directa-
para especi-
mente del flulogiama de la Figura 10-7. Este flujograma se usa
diseñar. Aunque
iica. et algoriimo para el sistéma que se está tratando de
parece necesitar muchos pasos inter-
el microprograma desarrollado aqui
q,ru fue hecho así para propósitos de la
,rr"dio., ." d"ebeterrer en cuenta
"tto
el concepto del microprograma no.hay
.rpti.u.i¿". Una vez que se entienda-
un micro-
,"rdi prru .ro poder especificar el algoritmo directamente como
estado. Una vez que
progr";u simbélico, sin la necesidad.del diagrama de
equipo para el proc_esador de datos y
ie üu e.tablecido la configuración del
se puede désairoilar el algoritmo por medio de
el control del micráprog."l-u
un microprograma.
el
La desifnación simbólica es un método conveniente para desarrollar
de una manera que la gente pueda leer entender. y Pero ésta
.rrl.-projr"ira
memoria de
no es la manera como el microprograma e. almacenado en la
traducirse a binario porque ésta
control. El microprograma simbótióo debe
L,a traducción se hace dividiendo los bits
es la forma como va i lu -"^o.ia.
en sus partes funcionales llamadas compo.s. A.quí
de cada microinstrucción
la palabra
se tienen tres partes funcionales, los bits t hasta 9 especifican
:niciar las microoperaciones. Los bits 10 hasta 12 especifi-
de control para
Tabla l0-3 Microprograma binario para la memoria cre control

Salidasde ROM
f)irección
x Ju .rl Jo C,n Ly z tr
de ROM Se lección
t2 3 4 5 6 t 8 9 l0 lt t2 13 t4
0 00 r 0 0 0 0 0 00 0 000 0l
0 0l 000000100 010 0l
0 IO 0 0 0 0 0 0 00 0 r00 l0
0 ll 0 0 0l 0 100 0 000 0l
00 0 010 I 100 0 l0l 0l
0l 0 0 0 0 0 0 00 i 000 il
l0 0l I I 0 100 0 lll 0l
ll 000011010 000 0l

can un campo de dirección y los bits 13 y


14 seleccionanuna entrada del
multiplexor. Por cada microlnstru."ión qu.
se rista en forma simbólica se
deben escogerlos bits adecuados;; i;r
camposde microinstruccióncorres-
pondientes.
La forma binaria equivalentedel microprograma
I-as direccionespara ra memoria á" .o"ttol se da en la Tabla 10-8.
RoM ,u lirtr" en binario. Er
contenido de cada palabra de RoM se
da tambl¿"-;;;i;"rio. Esta tabra
constituye la tabra de verdad necesariapara programar
ra RoM.
Los primerosocho bits en cada paiabra
RoM dan la palabra de contror
que inicia las microoperacion-es
directamentede la Figura 10_9(bi.
".p""irifuáár.'E;;;;;r".J. a" bit se toman
iá* ,:ttt_o. en cada patabra
de las proposiciánu,áu co.,t.or "i;";Li;;
condicionalen el prog.ama
.13#f:J"ducen
En la di¡ección000,se tiene 01 parail
que una direcciónex^terna qampode serecciónEsto permite
r" .".gué c¡n;i;;;;';",gual a 1. De orra
nranerala dirección000se trasfieie a]"lcAR.
o" ü ai*"ür,",1,r1, campode
selecciónde la microinstrucción.* or
v J. Jr."*i¿" es"l010.A par_
tir de la tabla en la Figura 10-10,se e.r-cue.rtru "t "u.rrpoque el pulso del reloi que ini-
c i a i a m i c r o i n s t r u c c i ó r _ 8 " : - 8 , ' ( y uq . r uy : 1 )
también
oe direcciónar cAR- La'siguilntu .tii"roin.trucción t r a s f i e r ee l c a m p o
que sare de la RoM
sera aquella almacenadaen la dirección
010. EL ;";ü;eieccionado en la
iirrec:ion 001 podría^habe¡seescogidocomo
00. Esto hubiera
---^ causadoun
rflL.remento en el CAr?para luegoiia la direcciónOfO.
La inspecciónde los .u*po.".de selección
.n to. úit, 13y 14 muestraque
cuandoesosdosbits seaniguálesa 01, er campo
de direcciónestá en la nue-
va dirección.cuando estosdosbits sean10,
se selecciona la variabrede con_
dición s -r'cuandosean 11 la variable¿.
Én ,iili-o. áo, casos,la si_
guiente dirección es aquella especificada
-sien el".to.campo de dirección si el bit
de condiciónseleccion"doe. isurr u l.
el bit de condiciónseleccionado
es igual a 0, la sizuiente direJción es la
siguiente en ."",r".,.iu ya que el
CAft se incrementa.
46
=
1O-5 CONTROL DE LA UNIDAD PROCESADORA

La configuración con rnateriales de Ia unidad de control del microprograma


usada en la sección anterior es adecuada para el ejemplo particular consi-
derado. En una situación práctica, la organización de los materiales de una
unidad de control del microprograma debe tener una configuración de pro-
pósito general para adaptarse a una gran cantidad de situaciones. Una
unidad de control de microprograma debe tener una memoria de control
suficiente como para almacenar microinstrucciones. Se debe hacer provi-
sión para incluir todas las variables de control posibles en el sistema y no
solamente para controlar un ALU. El multiplexor y los bits seleccionados
deben incluir todos Ios demás bits de condición posibles que se quieran
comprobar en el sistema. Se debe tener una provisión para aceptar una di-
rección externa para iniciar muchas operaciones en vez de dos operaciones
solamente tales como suma y sustracción.
La principal ventaja del control del microprograma es el hecho que una
vez que se ha establecido la configuración de los materiales no debe haber
necesidad de cambios posteriores de las conexiones entre los componentes.
Si se quiere establecer una secuencia de control diferente para el sistema,
todo lo que se necesita es especificar un conjunto diferente de microinstruc-
ciones para la memoria de control. La configuración con los materiales no
debe cámbiar para las diferentes operaciones; el único cambio debe ser el
microprograma que reside en la memoria de control.
Para demostrar la propiedad general de la organización del micropro-
grama se expandirá la configuración de los componentes para incluir el
control de toda una unidad de proceso. Una unidad plocesadora de propósi-
to general se introdujo en la Sección 9-9. Al referirse a la Figura 9-16, se
nota que la unidad procesadora tiene siete registros, un ALU, un registro
de desplazamiento y un registro de condición. Se selecciona una microope-
ración con una palabra de control de 16 bits. Los bits para una palabra de
control dada pueden ser formulados del código binario que se Iista en la
Tabla 9-8.
Una organización del microprograma para controlar la unidad proce-
sadora se muestra en la Figura 10-11. Esta tiene una memoria de control
de 64 palabras, con 26 bits por palabra. Para seleccionar 64 palabras se ne-
c e s i t a u n a d i r e c c i ó n d e 6 b i t s . P a r a s e l e c c i o n a r8 b i t s d e c o n d i c i ó n s e n e c e -
sitan 3 líneas de selección para el multiplexor. Un bit de la microinstrucción
s e l e c c i o n ae n t r e u n a d i r e c c i ó n e x t e r n a y e l c a m p o d e d i r e c c i ó n d e l a m i c r o -
instrucción. Sumando los 16 bits para seleccionar la microoperación en el
procesador se requiere un total de 26 bits por cada microinstrucción.
La unidad procesadora se incluye en el diagrama para mostrar sus co-
nexiones a la unidad de control del microprograma. Los primeros 16 bits
seleccionan la siguiente dirección para el control del registro de direccio-
nes. Los bits de condición del procesador se aplican a las entradas del mul-
tiplexor. Se usan los dos valores normal y de complemento excepto pala el
bit de sobrecapacidad V. La entrada 0 del MUX 2 se conecta a una constan-
te binaria la cual es siempre 1. La entrada de calga al CAr? se habilita,
cuando esta entrada es seleccionada por medio de los bits 18, 19 y 20 en la
microinstrucción. Esto causa una trasferencia de información desde Ia sa-
447
I
I
a
Campo de pq
:v
dirección l6
!';:* Memo¡ia de
Di¡ección 17
u!; ! control
externa o.;! l8
c ¿ " ¡E 64Y.26
o9
vo t0
t1

26

t¡l

M U X] Selección

0t23156.

ICC,ZZ'SS'V

Bits de
Unidadprocesadora
condición
(Figura9-16
v
T a b l a9 - 8 )

Salida
Figura lO-11 Cont¡ol del microprograma para
la unidad procesadora

lida del MIJX r ar cAR. La entrada ar


cAR es una función del bit 1T de la
microinstrucción.si el bit 1? es 1, el crn,u"iu.
ái direcciónde ra
microinstrucción.si el bit 1? es cero*.u.gu "uñ"áu externa
una dirección ar CAR.
La dirección exte¡na es con.el propósitá
¿ó ini"iu. ur,;^;;;" secuencia de
microinst¡uccionesque pueden espiclnca.s€por
los componentesexternos.
El bit de condición (o su
"ompl"áe.,io) ,ut"""iof;á, ilñ, Uit. ta, tg, 20
de la microinstrucción puede .". iguui'u 1 ó 0. La dirección de entrada
cargaal cAr? si el bit seleccionado-es se
1, pero er cAR." i.,"."-".,ta si el bit
seleccionadoes 0.
Para construir microprogramascorrectos
es necesarioespecificarexac-
tamente cómo el bit de condición es afectado
po, .uJu LiJ.ooperación e.,
el procesador.Los bits S (signo) y Z- (cero)
esián afectadospor todas las
448
-5
sEc.10-5 C O N T R O LD E L A U N I D A D P R O C E S A D O R A 4 9

operaciones.Los bits C (arrastre)y V (sobrecapacidad)


no cumbian después
de las siguientesoperacionesdel ALU:

1. Las cuatro operacionesOR, AND, OR-exclusivay complemento.


2. Las operacionesde incrementoy decremento.

Para las demásoperaciones, el bit de arrastre del ALU va al bit C del regis-
tro de condición. El bit C se afecta también despuésde un desplazamiento
circular con operaciónde arrastre.

Ejemplode microprograma

Se puede demostrar por medio de un ejemplo, cómo se escribe un micropro-


grama para configurar una microoperación. Una microoperación inicia una
secuencia de microinstrucciones en Ia memoria de control. Esta secuencia
constituye una rutina de microprograma para ejecutar la macrooperación
especificada. Una macrooperación se inicia por una dirección externa que
aporta la primera dirección en la memoria de control para la rutina de mi-
croinstrucción. La rutina se termina con una microinstrucción que carga
una nueva dirección externa para comenzar a ejecutar la siguiente macro-
operación.
La macrooperación que se desea configurar cuenta el número de unos
almacenados actualmente en el registro procesador R1 y alista el registro
procesador R2 con ese número. Por ejemplo, si 111: 00110101, la rutina del
microprograma cuenta los cuatro unos almacenados en el registro y coloca
en el registro R2 el número binario 100.
Aunque el microprograma puede deducirse directamente del enunciado
del problema, sería conveniente construir un flujograma que muestre Ia se-
cuencia de microoperaciones y vías de decisión. El flujograma para el mi-
croprográma se muestra en la Figura 10-12. Se asume que la rutina del
microprograma comienza en la dirección 8. El registro R2 y el bit C (arras-
tre) se Ilevan primero a 0. Se examina entonces el contenido de R1. Si éste
es 0 esto significa que no hay unos almacenados en él; de esta manera la
rutina del microprograma finaliza con R2 igual a 0. Si el contenido de R1
no es 0, ello indica que hay algunos unos almacenados en é1. El registro R1
conjuntamente con el arrastre se desplaza de manera circular cuantas ve-
ces sea necesario hasta que se trasfiera un 1 a C. Por cada 1 que se detecta
en C, se incrementa el registro R2 y luego se comprueba si /?1 es igual a 0.
Esté círculo se repite hasta que se hayan contado todos los unos de R1. Nó-
tese que el valor de C es siempre 0 cuando se circula con 1o contenido en R1.
La rutina del microprograma en forma simbólica se presenta en Ia Ta-
bla 10-4. La rutina comienza en la dirección 8 borrando el registro R2. La
microinstrucción de la dirección 9 borra el bit C y pone a uno el bit Z si el
registro El contiene sólo ceros. Esto se hace trasfiriendo el contenido de
R1 así mismo a través del ALU. La microinstrucción en la dirección 10 com-
prueba los, valores del bit Z. Si éste es 1, es un ind-icio de que el registro R 1
contiene sólo ceros y la rutina se termina aceptando una nueva dirección
externa para comenzar a ejecutar otra macrooperación. Si Z no es igual a
Comienzo (di¡ección 8)

ircular R1 con arrastre

Rl+R2+l

Figura 10-12 Flujogramapara contarel númerode unosen el registro-81

1el control continúa con Ia dirección 11. El desplazamientocircular a la


derecha con arrastre (crc) coloca el bit menos significativo de Rl en c. Lue-
go se verifica el valor de C. Si éste es cero el control regresa a la dirección
11 para circular de nuevo hasta que c se convierta en 1. cuando c:1 el
control pasa a la dirección 13 para incrementar R2 y luego regresará a la
dirección 9 para comprobar el contenido de ft1 para cada uno de los estados
cero.
El microprograma binario se da en la Tabla 10-b. Los 16 bits para la pa-
labra de control que seleccionan las microoperaciones del procesador-se
deducen de la Tabla 9-8. De hecho, la mayoría de las palabras de control
listadas fueron explicadas en la sección 9-9 conjuntamente con la Tabla
9-9. Los bits selectores del multiplexor seleccionan las entradas de los dos
multiplexores. El bit 17 es 0 en la dirección 10 para seleccionar una di¡ec-
ción externa. En los demás casos es 1 para seleccionar el campo de direc-
ción de la microinstrucción. cuando los bits 18, 1g y 20 son 000 la siguiente
dirección se determina directamente del campo de direcciones. Cuando
estos bits son 011, éstos seleccionan el bit Z para el MUX 2. Si Z: 1 se
4fr
u
Tabla lo-4 Microprograma simbólico para contar el núme¡o de unos en Rl

Dirección
de ROM Microinstrucción Comentarios

8 R2+-0 Borrar el contador ¡rl2


9 Rl<-Rl.c<-0 Borrar C, ponera 1 los bits de condición
t0 Si (Z:1) entonces Acabarsi R1 : 0
(va a la direcciÓnexterna)
ll Rl<-crcRl Circular ft1a Ia derechacon arrastre
t2 Si (C : 0) entonces(va a 11) Circular de nuevosi C :-0
l3 R 2 < - R 2* l , v a a 9 furastre: 1, incrementarR2

Tabla 1O-5 Microprograma binario para contar el número de unos en /?1

Contenidodel ROM

Dirección Selectorde microoPeraciÓn Selector Campo de


de ROM ABDFH de MUX dirección

l6 17 20 2l 26

001000 000 000 010 0000 0ll 00 0 001001


001001001 000 001 0000 000 00 0 001010
001010001 001 000 1000 000 0l I 000000
00101I 001 001 001 1000 l0l 00 0 001100
001100001 001 000 1000 000 010 00101I
0 0 1 l 0 l 010 000 010 0001 000 00 0 001001

trasfiereuna direcciónexternaal CAR' Si Z:0 se incrementael CARy la


siguiente dirección será la siguiente en la secuencia.La microinstrucción
urr"ludir"..ión 12 seleccionaei complementodelbit de arrastreo C'. Si C:
0, entonces C':1y el campo de dirección(binario1011)setrasfiereal CAR'
Si C : 1, entoncesC' : 0 y el CAR se incrementapara dar 13para la siguien-
te dirección.
El lector familiarizado con la programaciónde máquina o lenguajeen-
samblado para un computador, se dará cuenta que escribir programases
muy similár a escribir programasde lenguajede máquina para un computa-
dor. fuí, el concepto d" *ic.optograma es un procedimiento sistemático
para disólar la unidad de contról de un sistema digital. Una vez que se ha-
ya establecidoel formato de la microinstrucción, se hace el diseño esc¡i-
Liendo un microprograma,el cual es similar a escribir un programapara un
computador. Poi esia razón, el método del microprogramase refiere algunas
vece; como firmware para distinguirlo del método de los materiales (hard-
ware o llamado también control de componentesconectados)y el concepto
de softwarelo cual constituye un métodode programación'
451
1 O - 6 C O N T R OAL B A S ED E C O M P O N E N T E S
C O N E C T A D O S - E J E M P L2O

El ejemplopresentadoen esta seccióndernuestrael desarrollode un segun-


do algoritmo aritmético y de un método diferente para diseñar la lógicá
de
control. como en el ejemploanterior, se desarrollaprimero el algoritiro, di-
señado conjuntamente con la configuración de los materiales, pira la parte
procesadoradel sistema. Despuésde que se haga esto se formulan
las es-
pecificacionesde la lógica de control dól sistemi.
La organizacióndel control escogidapara este ejemploes el método del
registro de secuenciay del decodificador.En la siguieniesecciónse
diseña
la lógica de control por medio de un FLA. Este ejEmplodemuestrala rela-
ción directa que existe entre el registro de secuenciay el Á¿to¿o del deco-
dificador y su correspondienteconiiguraciónde contról pLA-

E n u n c i a d od e l p r o b l e m a

se deseadiseñar un circuito aritmético que multiplique dos números


bina-
rios de_pu¡to fijo representadosen la forma signt-magnitud. El producto
obtenido de la rnultiplicación de dos númerosii".ii* ."vas magnitudes
consisten-deá bits, podría tener hasta 2ft bits. El signo áe cada*número
ocupaun bit adicional.
. La multiplicación de dos númerosbinarios de punto fijo representados
en la forma signo-magnitudse hace con rápiz y papét meaüte sumas
suce-
sivas.y desplazamientos.Este proceso.u ilrr.l.á áu ,rrru *"¡o, -"r,"ra
con
un ejemplo numérico. sea la multiplicación de los dos ,r,i-"ro, binarios
10111y 10011:

23 10111 multiplicando

l9 10011 multiplicador
10111
10111
00000 +
00000
10111

437 I l0l l0l0t producto

- Este procesoconsisteen obse¡varsucesivamentelos bits del multipli-


cador con el bit menos significativo en primer lugar. si el bit del multipli-
cador es 1 se copia el multiplicando; de lo contiario se copian sólo ceros.
Los núme¡os escritos en líneas sucesivas se desplazan ,.n" posición a la
izquierda del número previo. Finalmente, r" ag.eg"n los númerosy su suma
forma el producto.
452
f
SEC. 10.6 C O N T R O LA B A S E D E C O M P O N E N T EC
SO N E C T A D O S - E J E M P L2O 453

El signo del producto se determina de los signos del multiplicando y


multiplicador. Si son iguales el signo del producto será más. Si son diferen-
tes el signo del producto será menos.
Cuando el proceso anterior se hace en una máquina digital es conve-
niente cambiar un poco el proceso. Primero, en vez de tener circuitos digi-
tales que almacenen y sumen simultáneamente tantos números binarios
como unos haya en el multiplicador, es conveniente tener circuitos para Ia
suma de dos números binarios únicamente y sucesivamente acumular los
productos parciales en el registro. Segundo, en vez de desplazar el multipli-
cando a la izquierda, el producto parcial se desplaza a la derecha lo cual da
como resultado el colocar al producto parcial y al multiplicando en las posi-
ciones relativas requeridas. Tercero, cuando el bit correspondiente del
multiplicador es 0, no hay necesidad de agregar ceros al producto parcial
ya que no se alterará su valor. El ejemplo numérico previo se repite aquí pa-
ra clarificar el proceso de multiplicación propuesto:

multiplicando: l0lll
multiplicador: l00l I

1er.bit multiplicador: 1, copiar el multiplicando l0lll


desplazamiento a la derecha para obtener el primer
producto parcial 0 1 0 1II
2o. bit multiplicador: 1, copiar el multiplicando l0lll

agregar el multiplicando al producto parcial previo l000l0l


desplazamiento a la derecha para obtener el segundo
producto parcial 1000101
3er. bit multiplicador: 0, desplazamiento a la derecha
para obtener el tercer producto parcial 0l000lci
4o. bit multiplicador:0, desplazamientoa la derech¿,
para obtener el cuarto producto parcial 001000101
5o. bit rnultiplicador: 1, copiar el multiplicando l0lll
agregar el multiplicando al producto parcial previo l l0l l0l0l
desplazamiento a la derecha para obtener el 5o. producto
parcial : producto final 0l l0l10101

C o n f i g u r a c i ó nd e l e q u i p o

La configuracióndel registropara el multiplicador binario se muestra en la


Figura 10-13.El multiplicando se almacenaen el registroB, el multiplicador
se almacenaen el registro Q y el productoparcial se forma en el registroA.
El signo del multiplicando está en 8., el signo del multiplicador está en
Q, y el signo del producto se forma en 4.. El flip-flop E almacenael arras-
tre de salida despuésde la adición de B y A. Los dos númerosque se van a
multiplicar consistende n bits. Uno de estosbits contieneel signo y los res-
tantes k: n - 1 contienen Ia magnitud del número. El contadorP se prepa-
Mult i p l i c a n d o

tr RegistroB

fplluur,iori-0,
I I cador
t
RegistroA
t ""-"""o
I q, (Multiplicar)
Producto

Figura 1O-13 Registrospara el multiplicador bina¡io

ra con una cuenta o número binario igual al número de bits en la magnitud


del multiplicador. Este contador se decrementadespuésde la formaclón de
cada nuevo producto parcial. Cuando el contenidodel contador llegue a ce-
ro, el producto estará formado en los registrosA v Q y se ruspettderáel
proceso.
La lógica de control permaneceen su estadoinicial hasta que la varia-
ble q,, se convierta en 1. El control realizará entoncesla mu^ltiplicación.
-si
La suma de A y B forma un productoparcial que se trasfierea ¿. hay un {
arrastre producto de la suma, se trasfiere a E. El producto parcial en A y
el multiplicador en Q son ambos desplazadosa la áerechu.únu u", qu" .L
haya realizadoel desplazamientoa la derechade A y e, se trasfiere un bit
del producto parcial a Q mientras que se desplazattIo.-tit. de una posi-
e
ción a la derecha.De esta manera el bit de la extrema derechaáel registro
Q, designadocomo Q,, almacenasiempreer bit del multiplicador,ef cual
debeser inspeccionadoen seguida.

D e r i v a c i ó nd e l a l g o r i t m o

El flujograma del multiplicador binario se muestra en la Figura 10-14.Ini-


cialmente-el multiplicando_está B y el multiplicador erie. sus signos
_en
correspondientes están en B, y 8". El procesodó multiplicación se in-=icia
cuandoe^:r.Se comparanlos dos símbolospor medio de una compuerta
oR-exclusiva. Si los dos signosson igualesla operacióncon la oR-exclusiva
produce un 0 el cual se trasfiere a A,, para dár un más para el producto.
Si los signosson diferentesse trasfiere un 1 a A", para dár un signo nega-
tivo para el producto.Los registrosA y E se borran y el contadorde secuón-
cia P se lleva a un númerobinario A, el cual es igual al númerode bits en el
multiplicador.
En seguida se cae en un bucle que continúa formando los productos
parciales. Se compruebael bit multiplicador en e, y si se encueñtraigual
a 1 se agregael multiplicando en B al productoparcial presenteen A. Cual-
quier arrastre de la adición se trasfierea E. El productóparcial en A se deja
sin cambiar si Qr :0. se incrementael contadorp independientemente dll
4g
Estado inicial

A"-B-qO^
¡ 1- 0 , E - 0
P-k

A-A+.B,Cuur+É-
P-P-l

AQ-shrEAQ,E+0

Figura lO-14 Flujograma para un multiplicador binario

valor de Q1. Los registrosA, Qy E de desplazanuna vezala derechapara


obtenerel nuevoproductoparcial. Esta operaciónde desplazamientose sim-
boliza en el flujogramaen forma compactapor medio de la proposición:
AQ * shrEAQ, E <*0

EAQ es un registro compuesto,hecho de los registrosE, A y Q. Si se usan


símbolosindividuales para los registros,se puededescribir la operaciónde
desplazamientopor medio de las siguientesmicrooperaciones:

I <--shr A, Q.<- shr Q, A¡ <- E, Q* - A¡, E <- 0

Ambos registrosA V Q se desplazana la derecha.La posiciónde la extrema


izquierda de A designadacomo 4,, recibe el arrastre de E. El bit de la ex-
trema izquierda de Q ó Qo recibe el bit que está en la posiciónde la extre-
ma derecha de A en A1 y se borra E. Se trata entoncesde un desplaza-
miento largo del registro compuestoEAQ con un 0 colocadoen la posición
de la extrema izquierda localizadaen E.
455
456 DISEÑO
DE LOGICA
DECONTROL C A P .1 0

El valor del contador P se comprueba después de la formación de cada


producto parcial. Si P no es cero, se repite el proceso y se forma un nuevo
producto parcial. El proceso finaliza después dól produlto parcial A cuando
P:0. Nótese que el producto parcial formado A r" desplazaa Q bit a
bit para eventualmerte remplazar el multiplicador.
" . , El prodücto final estará
disponibie en A y Q con A conteniendo loi bits más significativos y
e los
menos significativos. El signo del producto estará en A"".

Especificaciones del control

El algoritmo diseñado
-dado en el flujograma puede especificarse más preci-
samente por medio del diagrama de estado y una lista de operaciones de
trasferencia entre registros. Se ha hecho mención previamente al hecho de
que la conversión del flujograma al diagrama de esiado no es única. El flu-
jograma debe considerarse como una formulación preliminar
del algoritmo.
El diagrama de c<lntrol de estado, conjuntamente con su lista de mlcroope-.
raciones, es más preciso ya que toma en consideración las restricciones
de los componentes del sistema.
La secuencia de control de las operaciones se define en la Figura 10-1b.
El control tiene cuatro estados y las operaciones de trasferencia entre re- d
gistros de cada estado se listan a continuación del diagrama de estado. El
control permanece en un estado inicial ?,, hasta
eu€ go, se convierta en
1. Pasará luego al estado ?¡ para inicializar los registroi ¿,, n y p y for-
ma-rel signo del producto. El control pasa luego allstado r,.E"..i" r.-
tado se decrementa el registro P y el contenido áe B se agrega a A si
e, : 1,

qr. Multiplicar
P, = lstP=0
e,=Osif+O

Pr=0

(a) Diagrama de estado

Tr. Estado inicial


Tt: lr-8, úQs,A+0.¿ -0.1,-k
'-Cou,
QtT2: A*A+B,f
T.: P-P-1
Tt -40-shrEAQ.t-+0-

(b) Secuencia de trasferencias del registro

Figura lO-15 Diagrama de estado de control y secuencia


de microoperaciones del multiplicador
E
SEC. 1O-6 C O N T R O LA B A S E D E C O M P O N E N T EC
SO N E C T A D O S - E J E M P L2O 457

de lo contrario A se deia sin cambiar. Las dos funciones de control en el


tiempo ?, son:

QtTz: A<-A+B,E-Co,,
Tz: P<-P-l

La segunda proposición se ejecuta siempre, cuando Tz :1,. La primera pro-


posición se ejecutaen el tiempo ?2 solamentesi Q, - 1. Así, sepuede incluir
una variable de condición (Q, en este caso) con una variable de tiempo
para formar una función de control. Nótese que es conveniente decrementar
P en el estado 7r, de manera que su nuevo valor se pueda comprobar en el
estado ?¡.
El control pasará a ?,3 después de ?2. En el estado ?3 el registro
compuesto EAQ se desplaza a la derecha y el contenido de P se comprueba
para buscar ceros. La variable binaria P. es 1 si el registro P contiene sólo
ceros, de lo contrario P. es cero. Si P. : 1 se termina la operación y el con-
trol pasa al estado inicial. Si ¿ - 0 el control pasa al estado 7'2 para for-
mar el nuevo producto parcial. Nótese que P se refiere al contenido del re-
gistro mientras que P. es la variable binaria.

Especificación del procesador de datos

La parte del procesador de datos del sistema puede derivarse de la lista de


microoperaciones de la Figura 10-15(b). Un diagrama de bloque del proce-
sador de datos se muestra en la Figura 10-16. Un sumador en paralelo se
agrega entre los registros A y B para formar la suma, la cual es trasferida
al registro A. El signo del producto se forma mediante una compuerta OR-
exclusiva y la variable binaria P. se genera con una compuerta NOR. Las
salidas de la lógica de control inician las microoperaciones para el procesa-
dor de datos. La variable T, carga el signo del producto a A. y el número
h a P y borra los registros A y E'. La variable ?2 decrementa el registro P
y si Qr :1se generala variable,L, la cual carga la suma del sumador en pa-
ralelo a A y E. La variable ?3 desplaza A V Q a la derecha y borra E. La
variable ?o no tiene efecto sobre el procesador de datos ya que solamente
indica que el sistema está en su estado inicial.
Las entradas a la lógica de control son las señales externas q- y las
dos condicionesde status P, y Qr. Las salidas son Tr, Tr, L y Tr. Aun-
que no se muestran en el diagrama, estas salidas deben estar conectadas
a las correspondientes entradas en el procesador de datos. La compuerta
AND que genera la variable .L se muestra separadamente, aunque ésta sea
parte de la lógica de control.

Diseñodel circuitode control

La lógica de control para el multiplicador binario se especifica en el diagra-


ma de estado de la Figura 10-15. El diagrama de estado tiene cuatro esta-
dos y dos entradas. Se necesitan dos flip-flops y un decodificador de 2 x 4
D I S E Ñ OD E L O G I C AD E C O N T R O I cAP. 10

para configurarlo por medio del registro de secuencia y el método dei deco-
dificador. Aunque éste es un ejemplo sencillo, el procedimiento enunciado
a continuación se aplica a situaciones más complicadas de la misma forma.
Se comienza con la tabla de excitación del circuito secuencialdado en
l a F i g u r a 1 0 - 1 7 ( a ) .L a p a r t e d e I a t a b l a d e e s t a d o s e o b t i e n e d i r e c t a m e n t e
del diagrama de estado. Las condiciones de entrada de los flip-flops son pa-
ra dos flip-flops Jl( demarcadas G, y Gr. Nótese que la tabla de excitación
tiene entradas.de no importa en la mayoría de las ent¡adas. Nótese también
que un estado presente se lista más de una vez si éste tiene dos o más
condiciones de estado siguiente. Las variables To hasta T3 se listan
conjuntamente con las variables binarias para identificación. Las excita-
ciones de entrada a los flip-flops se obtienen directamente a partir de Ia
tabla de excitación del flip-flopJIl como se muestra en la Tabla G-8(b).
EI circuito secuencial puede ser diseñado de la tabla de excitación por
medio de un procedimiento clásico. Este ejemplo tiene un pequeño número
de estados y entradas; en la mayoría de aplicaciones de lógica de control,
el número de estados y entradas es mucho ma!'or. La aplicación del método
clásico requiere un cantidad excesiva de trabajo para obtener las funciones
de entradas simplificadas para los flip-flops. El diseño puede ser simplifica-
do si se tiene en consideración el hecho de que las salidas del decodificador
están disponibles para ser usados en el diseño. En vez de usar las salidas
de los flip-flops como condiciones de estado presente, se podría usar Ias sa-
lidas del decodificador para entregar esta información. Si las salidas del
d e c o d i f i c a d o rs e d e s i g n a n p o r m e d i o d e l a s v a r i a b l e s T o , 7 , , ? 2 , T3 es-
tas variables pueden ser usadas para suministrar las condiciones de estado
presente del circuito.
Se podría decidir el obtener estas funciones directamente de la tabla
de excitación, en vez de usar los mapas para la simplificación de las funcio-
nes de entrada de los flip-flops. Aunque puede que no se logre un circuito
minimizado, el posible desperdicio de algrnas compuertas se recompensa
con el tiempo ahorrado. Por ejemplo, de la tabla de excitación se nota que
la entrada J de G2 (designada como JG2 en la tabla) debe recibir un 1
binario solamente cuando la salida presente del decodificador es Tr. La
entrada K de G¿ debe recibir un l-cuando la salida del decodificad-or es
T3 siempre y cuando P, : l. Estas observaciones pueden escribirse en
forma algebraica como:

JGr: 7
KG,: T'P,

En todos los demás casos, ambas entradas J y K de G2 recibirán un 0 y el


estado del flip-flop no cambiará. Esto es acepta[le porque todas las demás
entradas debajo de JG¿ y KG¿ tienen ceros o X de no importa.
De manera similar, es posible derivar las funciones de entrada del flip-
flop para Gr por imposición a partir de la tabla de excitación. Las funcio-
nes de entrada así obtenidas son:

JGr- Toq^* T,
KGr: 1
!
SEC. 10.6 SO N E C T A D O S - E J E M P L2O
C O N T R O LA B A S E D E C O M P O N E N T EC 459

La raz6n para que KG1 sea siempre 1 es que todas las entradas en Ia tabla
para esta variable de entrada son 1 ó X.
No se puede estar seguro de que las funciones hayan sido simplificadas
de la mejor manera posible cuando se derivan las funciones de entrada por
inspecciones, partiendo de la tabla de excitación. Por esta razón se debería
analizar siempre el circuito para asegurar que las ecuaciones derivadas pro-
ducen en efecto las dos transiciones de estado requeridas de la manera es-
pecificada en la tabla de estado.
El diagrama lógico de la lógica de control se dibuja en la Figura 10-17
(c). Este consiste de dos flip-flops G, y G¿ y un decodificador. Las sali-
das del decodificador se usan para obtener el siguiente estado del circuito
de acuerdo a las funciones de Boole listadas en la Figura 10-17(b). Las sali-
das del controlador deben estar conectadas a la parte del procesador de
datos del sistema de la manera mostrada en la Fizura 10-16.

?, (Decrementar)
?r (Carga)

Borrar ?r (Borrar)
I (Cargarsuma)
13 (D.esplazamiento
derecha)

Lógica
de control
Q 1 T 2= L

Figura 1O-16 Procesado¡ de datos para un multiplicador binario


Estado Estado
presente Entradas siguiente Entradas del flip-flop
G2 Gl Q^ P, G2 Gl JGz KGz JGt KGt
00 OX 00 OX OX
to 00 IX 0l OX IX
Tl 0l XX l0 IX XI
T2 l0 XX ll XO IX
T3 ll XO l0 XO XI
T3 ll XI 00 XI XI
(a) Tabla de excitación

JG2: T1 KG2: T3P"


JG1 : Tuq^ * T2 KGr: 1

(b) Funciones de entrada del flip-flop

rl

T2

(c) Diagrama lógico

Figura 1O-17 Diseño del control para el multiplicador binario

4@
1O-7 CONTROL DEL PLA

se ha visto de los dos ejemplos presentados en este capítulo que el crs.r


de un ci¡cuito de control es esencialmente un problema de diseño de ic'g'-
c a s e c u e n c i a l . E n l a S e c c i ó n 7 - 2 s e m o s t r ó q u e u n c i r c u i t o s e c u e n c i a lp u e d e
ser construido mediante un registro conectado a un circuito combinacional'
En Ia Sección 5-8 se investigó el arreglo lógico programable y se demostró
que puede usarse para configurar cualquier circuito combinacional. Es po-
slble ento.rces disóñar un circuito de control con un registro conectado a
El
un PLA simplemente remplazando el circuito combinacional con el PLA'
registro opera como un régistro de secuencia que determina el estado del
y del
co"ntrol. Ot pt ¡, ," p.ogruioa para suministrar Ias salidas de control
estado siguiente para dar secuencia al registro'
El diseño de una unidad de control con un PLA es muy similar al dise-
ño que usa Ios métodos de registro de secuencia y decodificador. De hecho,
el registro de secuenciu u--bo. métodos es el mismo. La diferencia de
los rñétodos es la forma "t
en que se configura la parte lógica combinacional
del control. El PLA remplazá esencialménte el decodificador y otros circui-
tos lógicos de decisión necesarios para la configuración d_elos componentes'
de-
L " o r g a n i z a c i ó n i n t e r n a d e t É t A s e p r e s e n t ó - e n l - a , s e c c i ó n5 - 8 . S e
cómo óbtener la tabla del programa del
mostró también en dicha sección
lector que sería conveniente repasar dicha sección para
PLA. Se advierte al
PLA'
asegurar que se entiende ef significado de Ia tabla de programa del
pln son "programados" de acuerdo a las
Los* caminos internos dentro aet
especificacionesdadas en la tabla de programa'
Bl diseño de un control PLA requiele que se obtenga la tabla de estado
del circuito. El método del PLA debe usarse si Ia tabla de estado contiene
muchas entradas de no importa, de lo contrario es más ventajoso usar una
ROM en vez de un PLA. La tabla de estado da esencialmente toda Ia in-
iormación requerida para obtener la tabla de programa del PLA (o la tabla
de verdad de la ROM).

Tabla 1O-6 Tabla de estado para el ci¡cuito de control

Estado Estado
presente Entradas siguiente Salidas

G2 Gl 4^ P" Qt G2 Gl ToTtT2LT3

OOOXX 0 010000
OOIXX 0 110000
OIXXX 001000
IOXXO 100100
IOXXI l00ll0
IIXOX 0 0 0 001
IIXIX 0 0 0 001

461
462 D , S E \ OD E L O G I C D
A EC O N T R O L
C A P .1 0

Para cie¡'iostrar el procedimiento con un ejemplo,


considérese el circui_
to de c,,nrroi para el multiplicador binario prur".riJ;;;-l"
sección previa.
L a s e s p e c r f i c a c i o n e s . d e . c o n t r opl a r a e l
* r i t l p r^obti".,"
i.uáoi úi.rurio se dan en la
A¡rartir de estainformaciónr" ru lu¡lu
Ltryl:
la -tu-b.¡il estadopresentese determinaa partir de los de esradode
l0.P;
lacra
flip_ftoo.
1'G- Las variables de entrada para er circuito a"
s o n q , , , p , ""y
Q,. El siguiente estado.dq G, ""ntr"l
-v.C, puede ser una función de una de
las e.ntradas o puerle-ser independ"ir"t"
a" cualquier entrada. Si una variá-
o^e de entrada no influye en él estado siguiente,
jmporta' Si ei siguiente se marca con una X de no {
estado es una función a" particular, el
estado presente se repite en la tabla y a los "*".rtrada
,isu-i;es se les asignan
diferentes valores binarios. La tabla lista también
".t"io, todas las salidas
trol como una función del estado presente y de con-
de las condiciones de entrada.
Nótese que la entrada Qr no afecia al siguiente
estado sino soramente de-
termina el valor de la salida .L cuando tá
satiáa-if lsuur u r.
El diagrama de bloque del control pLA se *"Átru".
(a). El PLA se conectaál registro de .'., tu rigu.a 10_1g
secuenciacon dos flip_flopsGt y G¿.
Las entradas al PLA son loJvarores del estadopresente
der registro de se-
cuenciay las tres ent¡adasexternas.Las salidas'd;i piA;eneran
siguientepara el registro de secuenciay ias variables el estado
á"-üriau de control.
El estadopresente_delregistro de secuénciu,
cionesde entrada determinan en un tiempo dado-los con las condi_
"o.r¡.r.1";;;;"
valoresde salida y del
el registro de seculncia. El sisui".,1" p,rr.o de reloj
lnlcla las "j:ig:::*
i:*i:",:: mlcrooperaciones especificadaspor las salidás y trasfiere el esta_
do siguiente a.l rbgistro a" ruóu"t
";.-E;í;,;-rrr-1." nuevo estado de
control y posiblesvalores de entrada diferentes.Ci;l iin "i
parte de lógica combinacionalde ,rr, actria como la
;;;;;"lluru las
sa^lidasde contror y los valores del siguiente
"ir",ritá
á"i,"!irt.o ".,t."gar
de secuen_
cra. ".t"J"
un PLA se especificapor medio der número
de entradas,el número de
términos de prrducto y el número de salidas. prr;;rt"-;;;
entradas v siete salidas. El número ae .. tienen cinco
-- t¿rÁi"o, ;;;ár; es una fünción
riel circuito que se deseaconfigurar.
La tabla de orogramadel pLA se puedeobtener
de la tabla de eitaáo ri" directamentea partir
procedimientosde simplificación.
La tabla de programader pLA """u.ia-;i;f
.n iu rigu.a 10-1g(b)especificasiete té¡mi_
nos producto, uno para cada fila en la Jabla
d, ;t;J;:;os terminares de
entrada y salida se marcan con números y
ras variables aplicadas a esas
terminales numeradasse indican en el diág;";;-;ü;.
rios no constituyenparte.de la tabra pero se Los comenta_
incl.ry"n purá
De acuerdoa las reglasestableciáasen la ""laraciones.
secci¿n'á-gJna conexiónpa_
ra un camino de pl,A.se indica por medio a"
guiá; ijll" ta tabla. Las
X en la tabla de es!a!9 designanlus co"dicio"".'¿. "" ,,o'i*pirta y no impli-
can conexiónpara el pLA. Los 0 en las corumna, a. ."liáu'i"dican también
no conexionesa las compuertasoR dentro
del pLA. Lu
bla de estadoa una tablá de program" á!r pie;;*-.,"rolu, *u"rrión de ra ta_
columnasde entrada y los 0 é" iá. col.r*r,as L". X de las
de saridá r" a guiones
y las demás entradaspermaneceniguales.
Nótese ñ lá,"á-uu., ar pLA
son las mismas que las del presente"estado y tu, ""tradas
la tabla de es_
".,trua;;;
..----'
I

(a) Diagrama de bioque

Término Entradas Salidas Comentarios


del producto t2345 | 23 4 5 6 7

I 000- l- To: l, 4^:0


2 001- -l I - To: l, q^: I
0l l- - I Tt:l
4 l0 0 ll I - Tz:r, Qt:0
5 l0 I ll I I Tz:1. L:1. Qt:l
6 ll-0 l- I Tt: l, P,:0
7 I l*l I Tt: I' P,: I

(b) Tabla del programa PLA

Figura 1O-18 Control del PLA para un multiplicador binario

tado. Las salidas del PLA son las mismas que las del siguiente estado y las
salidas de la tabla de estado.
El procedimiento para diseñar la lógica de control con un PLA debe ser
evidente a partir de este ejemplo. De las especificaciones del sistema se ob-
tiene primero la tabla de cstado para el controlador. El número de estados
determina el número de flip-flops para el registro de secuencia. El PLA se
conecta al registro de secuencia y a las variables de entrada y salida. La
tabla del programa del PLA se obtiene directamente de Ia tabla de estado.
La unidad PLA en un control PLA puede visualizarse como una memo-
ria de control que almacena información de control para el sistema. Las sa-
lidas del registro de secuencia conjuntamente con las entradas externas,
podrían considerarse como una dirección para tal memoria de control. Las
salidas suministran una palabra de control para el procesador de datos y
la información del estado siguiente especifica un valor parcial para la si-
guiente dirección en Ia memoria de control. Desde este punto de vista un
control PLA puede clasificarse como una unidad de control de microprogra-
ma con el PLA remplazando la ROM para la memoria de control. Sin embar-
4& DISEÑO
DE LOGICA
DECONTROL cAP. 10

go, la organrzación de los dos métodos es diferente


aunque hay una cierta
cantidad de similitud entre el pLA y los métodos de
control del micropro-
grama.
Los ejemplos ce controi introducidos en este capítulo demuestran
cua-
tro métodos de diseño de lógica de control. Estos ná
deberian considerarse
Ios únicos métodos posibles. un diseñador recursivo
¿eue ,e. capaz de for-
mular una configuración de co_ntrolpara adaptarse a
una aplicatión pu.li
cular._Esta configuración puede de una combinación de métodos
o puede constituir una organización"o.rrirti.
de cont¡ol diferente de los qrre .e hu.,
presentado aquí.
El diseño de ia lógica de control para un computador
digital sigue del
Tfmo procedimiento que se enuncia én este capítulo. El papel del control
del microprograma en la organización de un computador
de propósito gene-
ral se presenta en la siguiente sección. El capít'Já-
ii-p.".""ta un diseño
detallado de un computador digital y muestra cómo
configurar su unidad
de control por medio del método de cónexión a" .o*po"á"ll'.,
método del
PLA y el método del microprograma. "l

1O-8 SECUENCIADO
DRELMICROPROGRAMA
una unidad de control de.microprogramadebe visualizarse
como compues-
ta-de dos partes: la memoriade cóntiol que almacenalas microinstrucciones
y los circuitos asociadosque controlan ia generació;
d" ia srguientedirec_
c.ión._
La parte de generaciónde dirección ,é llu*u ulgu.rug,
ue"es secuencia_
dor de microprograma vista de que da la secuencii-Jul".
9n microinstruc_
cionesen la memoria de control. un secuenciadorde microprograma
puede
construi¡secon circuitos MSI para adaptarsea una aplicación particuür.
Sin-embargo,de la misma -utre.u que se encuentrandisponibles
en cI las
unidadesprocesadoras para propósitósgenerales,se encuéntranlos cI para
los secuenciadorespatu propósito. gen"er"l", uá""rruá;, p"."
la construc_
ción de las unidadesde c-ontroldel riicroprograma.para garantizar
un am-
plio rango.de aceptabilidad un secuenciadorde
cI debe suministrar una
organizacióninterna que pueda adaptarsea un amplio ,u"go-Jr-"Jri.""i"l
nes.*
un secuenciador de microprograma unido a la memoria de
control ins-
pecciona ciertos bits de la microinstrucción,
de los cuales se determina la
srguiente dirección para el control de la memo¡ia. un secuenciador
típico pre_
senta ias siguientes características de secuencimiento
de direcciones:
1. lncrementa la dirección presente para la memoria
de control.
2' Se ramifica a una di¡ección como se especifica
en el campo de direc-
ción de Ia microinstrucción.
3. se ramifica a una dirección dada, si el bit de condición
especificado
es igual a l.

*Algunos
s e c u e n c i a d o r e sc o m e r c i a l e s s o n C I t i p o g X 0 2 ( S i g n e t i c s )
940g (Fai¡child) y 2910
( A d v a n c e d M i c ¡ o D e v i c e sr .
- a

sEc. 10-8 S E C U E N C I A D ODRE L M I C R O P R O G R A M A 465

4. Trasfiere el control a una nueva dirección de la maneraespecificada


por una fuente externa.
5 . Tiene la facilidad para hacer subrutinas con llamadasy ¡etornos.
En la mayoría de los casos se leen las microinstrucciones de la memo-
ria de control en sucesión. Este tipo de secuencia puede lograrse fácilmente
incrementando el registro de dirección de la memoria de control. En algunos
formatos de microinstrucción, cada microinstrucción contiene un cámpo
de dirección aún para direcciones secuenciales. Esto elimina Ia necesidád
de incrementar el registro de dirección de la memoria de control porque el
campo de dirección disponible en cada microinstrucción especifica la di-
rección de la siguiente microinstrucción. En cada caso, se debe dejar la
alternativa de ramificarse a una dirección que esté por fuera de la secuen-
cia normal.
El control debe trasferirse de vez en cuando a una microinstrucción
no secuencial, de manera que el secuenciador debe suministrar la capaci-
dad de ramificarse a cualquiera de las dos direcciones dependiendo áe si
el bit de condición es 0 ó 1. La manera más sencilla de lograr lo anterior es
ramificándose a la dirección especificada por el campo de dirección de la
microinstrucción si el bit de condición especificado es igual a 1 o si no pa-
sar a la siguiente dirección en secuencia si el bit de condición es igual a 0.
Esta configu¡ación requiere la capacidad de incrementar el registro de di-
rección.
El secuenciador trasfiere una nueva dirección para que la memoria de
control comience a ejecutar la nueva microoperación. La dirección externa
trasfiere el control a la primera microinstrucción en una rutina de micro-
programa que ejecuta la macrooperación especificada.
Las subrutinos son programas usados por otras rutinas para lograr una
tarea dada. Las subrutinas pueden llamarse desde cualquier pu.rto dentro
del cuerpo principal del microprograma. Frecuentemente muchos micropro-
gramas contienen secciones idénticas de código. Las microinstrucciones
pueden conservarse usando subrutinas que usan secciones comunes de mi-
crocódigo. Los microprogramas q.r" .,run subrutinas deben tener una pro-
visión para almacenar direcciones de retorno durante una llamada de iub-
rutina y restaurar la dirección durante una subrutina de retorno. Esto
puede lograrse colocando la dirección de retorno en un registro esppcial y
luego ramificarse al comienzo de la subrutina. Este registrá especiáüpuede
entonces convertirse en la fuente dej dirección para alistar el registro de
dirección para el regreso a la subrutina principal. La mejor maneia de or-
ganízar un archivo de registro que almacene direcciones para llamadas de
subrutinas y que regrese, es usar una pila (LIFO) último en entrar primero
en salir. La organízación de la pila y su uso en las llamadas de subrutina y
regreso se explica en mayor detalle en la Sección 12-5.
El diagrama de bloque de un secuenciador de microprograma se mues-
tra en la Figura 10-19. Este consiste de un multiplexor que selecciona una
dirección de cuatro fuentes y la dirige al registro de dirección de control.
La salida del cAR suministra la dirección para la memoria de control. El
contenido del cA¡R se incrementa y aplica al multiplexor y al archivo de
registro de la pila. El registro seleccionado de la pila se determina por me-
Di¡ección Di¡ección de
externa (EXA) bifurcación (BRA)

I I 3
"0
MUX
J0

Registrode
direcciónde
control ( CA,R)

Registro
indicadorde
la pila (SP)
f'l
o
Incremento o

Dirección de salida

Tabla de función
12ItIoT J¡ Jg Operación Comentarios
X O O X 0 CAR <_ EXA Trasferir la dirección externa
X O I X I CIR <- SR T¡asferir de la pila de registro
X I O X 0 CAR <--CAR + I Inc¡ementar dirección
0ll0 0 CAR <_ CAR + I lncrementar dirección
0lll I CAR <_ BRA Trasferir dirección de bifurcación
rlr0 0 CAR <_ CAR + I Incrementar dirección
llll I CAR <- ARI, SR <_ CAR + I Bifurcar a Ia subrutina

Figura 1O-19 Organizaciónde un secuenciadorde microprogramatípico

dio del registro indicador de la pila (stack pointer). Las entradas 10,.fr
e 12 especifican la operación para el secuenciador y la entrada ? es el pun-
to de prueba para el bit de condición. Ei registro de dirección puede llevar-
se a cero para iniciar el sistema y los pulsos de reloj sincronizan la carga a
los registros.
La tabla de función listada en el diagrama especifica la operación del
secuenciador. Las entradas Iy e I¡ determinan las variables de selección
para el multiplexor. Una dirección externa (EXA) se trasfiere al CAR cuan-
do .1110:00. La trasferencia del registro de Ia pila (S.R) ocurre cuando
466
sEc.10-8 S E C U E N C I A D OO
RE L M I C R O P R O G R A M A 467

ItIo:Ol y el CAR se incrementacuando ItIo:1O. Las entradas T e I,


no-tienen efeCtodurante estas tres operaCiones y Se marcan con entradas
X de no importa. Cuando hlo:11, el secuenciadorejecuta una operación
de ramificación condicional dependientedel valor del bit de prueba en ?.
Si 12 es también igual a 1, la operaciónes una llamada condicional a la
subrutina. En cadicaso, el cA,R se incrementa si el bit de prueba ? es 0.
La dirección de ramificación (BnA) se trasfiere al cAR si ?:1. Así, con
ItIo :11, el secuenciadorse ramifica al BRA si el bit de condición en ? es
igull a I o incrementael CAft si el bit de condiciónes cero.La direcciónde
rámificación normalmente viene del campo de la dirección de la microins-
trucción.
La llamada de subrutina condicional (Ir:1) es similar a la ramifica-
cióncondicional(.fz:0),exceptoquelaprimerauselapilaylaúltimano.
La dirección almacenadaen la pila durante una llamada de subrutina se
toma del dispositivo de incremento. Este es la siguiente dirección en se-
cuencia y es llamada la di.recciónde regreso.La dirección de regresose
trasfiere de nuevo al CAR con una operación de regreso a la subrutina
( / 1 / o: 9 1 ¡ '
La operacióndel registrode la pila y el indicador de pila (stack pointer)
será entendidade mejor manera despuésde leer la Sección12-5.Un registro
pila (o memoria) es similar a la unidad de memoriaexceptoque la direcciól
para la pila se determina a partir del valor en el registro del indicador de
pit" (.t""t pointer register).El accesoa la pila está en la secuenciade úl-
limo en entiar primero en salir y se controla incrementandoo decrementan-
do el indicador de la pila. Inicialmente el indicador de pila se borra y se dice
qve apunta a la dirección 0 en la pila. La escrituro o la trasferenciade in-
formación a la pila se llama insercíón (push). Esto consistede escribir la
información de óntrada en la pila en la dirección especificadapor el indi-
cador de pila para luego incrementar el registro del indicador de pila. De
esta manera se trasfiere información a la pila y el indicador de pila indica
el siguientelugar libre en la pila. La lectura o la trasferenciade información
haciá afuera de Ia pila se llama socar (pop). Esta consistede decrementar
primero el registrodel indicador de pila y luego leer el contenidodel regis-
lro (o palabra) especificadopor el nuevo valor del indicador de pila.
Una llamada de subrutina se ejecutacuandoI2I1I¡:111 y ?:1. Es-
ta causa una operaciónde socar de la pila (push-stack)y una ramificación
a la dirección especificadapor el BRA. Esto se configura almacenandopri-
mero el valor incrementadodel CAR a la pila. Cuando el pulso de reloj CP
pasa a través de una transición de flanco positivo, la direcciónBRA se tras-
?iereal CAR y se inhibe la entrada de lectura a la pila. El registrodel indi-
cador de la pila se incrementa posteriormentecuando CP pasepor su tran-
sición de flanco negativo. Esto se ilustra en la Figrrra 10-20(a).
El regresode la subrutina se ejecuta cuando ItIo:01. Este causauna
operaciónde sacarde la pila y una ramificación a la dirección almacenada
en la cima de la pila. Esto se configura decrementandoprimero el registro
indicador de la pila en la transición del flanco negativodel CP. EI valor en
la pila, dado por la dirección contenida al presenteen el indicador de pila.
se lee y trasfiereal CAR en la transición del flanco positivo del CP. Esto se
ilustra en la Figura 10-20(b).Nóteseque el cAB se disparadurante el flan-
Escribi¡ CAR +
en la pila
'll
CAR+BRA 5P€SP+\
(a) Sub¡utina de llamado (insertara la pila)
/r1,1o?: ffll

Leer de
t Y""1:"
lraappi lraa
t
I I
SP+JP- | C A R- , ! R
( b ) R e g r e s od e l a s u b r u t i n a ( s a c a r d e l a p i l a )
I,1o : 01

l'igura 1o-20 operaciones de la pila en el secuenciado¡ de microprograma

co positivo y sP durante ei flanco negativo de un pulso de reloj. El indica-


do¡ de la pila (sP) se incrementa deipués de la tiasferenciaál
cafi y ,.
decrementaantes de trasferirseal CAR^.

O r g a n i z a c i ó nd e l C p U m i c r o p r o g r a m a d o

un computadordigital consistede una unidad procesadora


central (cpu),
una unidad de memoria y un dispositivo de entiada-salida.
El cpu p,r"dó
ser clasificadoen dos seccionesfuncionalesi"ie.uctil;
dife¡entes.una
es la,secciónde procesoy ra otra es la secciónde
control. una unidad pro-
cesadoraes un dispositivo para construir la sección del procesador
del cPU. El secuenciador_ -útil
del *i"rop.og.uma es un elemento conveniente
para construir un control der-microprogramapara
el cpu. Se va a desarro-
liar ahora un comnutador cpu para irostrar la
utilidad del secuenciador
ciemicroprogramadefinido en la irigura 10-19.
. Lin diagrama de.bloquede un c"omputadormicroprogramadose muestra
en la Figura 10-21.consisre de una unidad d.
;;;;;ü áos unidadespro_
c'esadorasun secuenciador.demicroprograma,una
','ariasfuncionesdigitales memoria de contráf y
Es.ta configuraciónpued.
computadorsencillo que fue diseñadoen la secci¿" "".y "á-parada con el
s:g clyo aiagramade
b;4ue se da en la Figura g-16.
La unidad de memoria almacena las instruccionesy
datos suministra-
dos por el usuario a_travésde un dispositivo de entradá.
El procesadorde
datos manipula los datos y el procesaáorde direccio.r",
,rrurripuralas direc-
ciones recibidas de la mémoria. Los dos procesadores
pueden combinarse
en una unidad, pero alg'nas veces es convenient.
*"pu.".t* ;;;;;;;;
suministrar un bus dife¡entepara la dirección
de la memoria. una instruc-
468
T

Procesador de direcciones Dirección


Unidad
Contador de programa de memoria

Registro de dirección
de memoria

Registrode instrucción

Bttl4:I Secuenciador
del
condrcron
microprograma
L (Figura 10-19)

Memoria de control
(ROM)

I -Selector de secuencta
SL -Selector MUX
BRA -Dirección debifurcación
MC -Control de memoria
PS -selector del Procesador
DF -CamPo de datos

Figura lO-21 Organización del computador microprogramado

469
47O D I S E Ñ OO E L O G I C AD E C O N T R O L cAP.10

ción extraída de la memoria durante un ciclo de entrega o envío (fetch)


pasa al registrode instrucción. Los bits del códigoinstruc-ciónen el registrá
de instrucción especificanuna macrooperaciónpara la memoria de control"
A menudo se necesitauna trasformacióttde código para convertir los bits
del código de operaciónde una instrucción a la dirección de comienzopara
la memoria de control. Este códigode trasformaciónconstituye una función
de planimetría y puedeser config'rada con una RoM o un pLA. El concep-
to de planimetría presentaflexibilidad para agregarinstrucciorr", o -r"--
instruccionespara la memoria de contrbl cu"ndJ se presentela necesidad.
La dirección generadapor la función planimétrico de trasformacióndel có-
digo se aplica a la entrada de la dirección externa (EXA) del secuenciador.
La unidad de control del microprogramaconsistedel secuenciadorde
la Figura 10-19,una memoria de contról para almacenar microinstruccio-
nes, un multiplexor y un registro canalizador(pipeline register).El multi-
plexor..selecciqna uno de los muchosbits de y lo áplica a la entra-
da (p¡ueba) ? del secuenciado¡.una de las "o.ráióió.,
entradas del multiplexor es
siempre 1 para presentar una operaciónde información incondicional. El
registro canalizadorno es siempre necesarioya que las salidas de la memo-
ria de control van directamentea las entradu. áu control de varias unida-
des en el cPU. El registrocanalizador,sin embargo,incrementala velocidad
de la operaciónde go-ntrgl.Este permite que se góne.ela siguientedirección
y que cambie la salida de la memoria de contro[ mientras
{ue la palabra de
control corriente en el registro canalizador inicia las micóoperaiiones da_
das por la presentemicroinstrucción.
- un posible formato de microinstrucción para la memoria de control se
ilustra dentro del registro canalizador. El cámpo I consistede tres bits y
suministra la información de entrada al secuenciador.El campo S.L selec-
ciona el bit de condiciónpara el multiplexor. El campoB¡tA es el campode
dirección de la microinstrucción que suministra uná dirección de bifurca-
ción (BfiA) al secuenciador.Estos tres camposde la microinstrucciónpre-
sentan información al secuenciadorpara dele¡minar la siguiente direcóión
para la memoria de control. El secuenciadorgenerala siiuiente dirección
y la memoria de control lee la siguiente micróinstrucción"mientrasque
se
Ylyan ejecutando las microoperacionespresentesen las otras unidadés del
CPU.
Los otros tres camposen la microinstrucciónson para controlar las mi-
crooperacionesen la
-unidad del procesadory de memoria. El campo de la
memoria de control (MC) controla al procesádorde direccionesy lás opera-
9lol9s-d9lectura y escrituraen la unidád de memoria.El campoáe seleáción
(PS) del procesadorcontrola las operacionesen la unidad dei procesador
de
datos. El último campo es el campo de datos (DF) usado para introducir
constantesal microprocesador. El procedimientopara introducir datosal sis-
tema a partir de la memoria de control es una téónica frecuentementeusada
en muchos sistemas de microoperación.Las salidas del campo de datos pue-
den usarsepara preparar regisfros de control e introducir datos en los régis_
tros-del procesador.Por ejemplo, se puede agregaruna constante del
de dat-osal_registro procesadorpara lncrementar su contenido por un""ripo val'or
específico.otro uso del campo de datos es poner un contado¡ de secuenciaa
un valor constante. El contador de secuenciase usa para contar el número
\!

REFERENCIAS 471

(loop), como se requiere


de vecesque se pasa por un bucle de microprogfmq
---
usualmenie .tt iu tniitta de multiplicación o división'
Ú"u vez que la configuraciónde los materialesdel cPU microprograma-
¿o .. el-disónadorlo puedeusar para constTir una cualquiera
se formula
de las muchas .o"fig"rá"io.re* de computadoi posibles. Primero
".tu¡I.r."n,
para el computador y luego se escribe el micropro-
iu inrt*".ión estabücida
para la ,rr"rrroii" de control. Se puede cambiar el microprogramaen la
!iu*"
;;;;tiu de control si se desea un computador diferente con un conjunto
los materiales si
diferente de instrucciones. No se t-te.".lt"tt cambios en
computador, ya que el cambio se hace so-
."r"¡iu" las especificacionesdel
ROM. Esto implica quitar la presente ROM
lamenteen Ia memoii" á".o"t.ol
J. .n Uu." para cambiarla por otra con un microprograma-diferente'
se mues-
La construcciónde un cPU a partir de componentesLSI como
pará definir el conjunto de ins-
tra en la Figura tO-Zl, presenta la libertad
computador. Se debe tener en cuenta, sin em-
i-"aiorr"" d"eun .i.i"*u de
disponibles contienen un CPU completo
bargo, que los .ir.,ri-t*-ltriegrados
En
dentro de una .ofu .áp."f* ñste tipo de CPU se llama microp,rocesodo.r'
*ñláptocesador en vez de un CPU hecho bajo pedido se
el caso de usar
"" instrucciones fijas del microproce-
debe estar de acuerdo con el conjunto de
.uáo, En olrar palabo". ,' microprocesador_es CPU ya listo,
lTr
"r.ogido.
u,' c-on"junto fijo de initrucciones de computador. Un CPU microprogra-
"o" bajo pediao es una unidad flexible que permite la formulación
mado hecho
particular. Los microproce-
áu i""t."..ionel adecuadaspara una aplicación
sadoresse discuten en el Capítulo 12'

REFERENCIAS

1 . Mano, M. M., Computer SystemArchitecture. EnglewoodCliffs, N. J.: Prentice-


Hall, Inc., 1976.
2 . Rhyne,Y . "I ., Fundamentalsof Digital SysúemsDesign.EnglewoodCliffs, N' J.:
Prentice-Hall,Inc., 1973.
J. chu, Y., computer organizationand Microprogramrning.Englewoodcliffs, N. J.:
Prentice-Hall, Inc., 1972.
4 . Mick, J. R. y J. Brick, MicroprogrammingHandbooh.Sunnyvale,calif.: Advance
Micro Devices,Inc., 1977.
5 . Bípolar Mícrocornputer conr,ponentsData Booft. Dallas, Texas: Texas Instru-
ments, Tnc., L977.
6 . Agrawala,A. K.y T. G. Rauscher,Foundationsof Mícroprogramrning. NuevaYork:
Academic Press. 1976.
7 . SigneticsField PrograrnmableLogic Array: An Application Manual. Sunnyvale,
Calif.: SigneticsCorp., 1977.
8. Clare, C. R., DeslgningLogíc Systems lJsíng State Machines. Nueva York: Mc'
Graw-Hill Book Co., 1973.
9. Alexandridis,N. A., "Bit-sliced Microprocessor Architecture", Comp¿fer,Vol. 11.
N o . 6 , ( j u n i o 1 9 7 8 )p, á g s . 5 6 - 8 0 .
PROBLEMAS
10-1. (a) Muestre que el control del contadorde anillo de la Figura T-22(a)
I
es un
caso especial de un flip-flop por cada control de estado dibujado en la Figura
10-2.Indique cómo el r''ltimo puede reducirseal primero. (bj Muestre qu"e
el
contadory el control del decodificadorde la Figuü 7-22(b).. ,rn."ro especial
de un registro de secuenciay control de decoáificador'cámose dibuja en la
Figura 10-3.Indique cómo el úrtimo puede reducirseal piirn..o.
10-2. ¿Cuál es Ia diferenciaentre un control de conexionesde materialesy
el con-
tro-l del microprograma?¿cuáles son las ventajasy desventajasde cada
mé_
todo?
10-3. El sistemasumador-sustractor diseñadoen la sección 10-3usa un ALU. Re_
dibuje el diagrama de bloque de la Figura r0-g sin usar un ALU. En vez
de
ello use el circuito sumadorsustractorde la Figura 9-10y un registro
con las
característicasde complementar,incrementary cargar. Revise las salidas
de
control de la Figura 10-9(b).
10-4' Repaseel flujograma de la Figura 10-? para buscar si podría resultar
un cero
negativoal final del cómputo.un ceronegativoocurre.i ¿: o y A" :
1.
10-5. Diseñe un sistema digital q_uesume y reste dos númerosbinarios
de punto fijo
representados en la forma de signo-complemento de 2. Incluya una indicación
de sobrecapacidad.
10-6' Reviseel diagramade estadode control de la Figura 10-9para
constatarsi el
valor de cou, se compruebaen el tiempo T, en riz a..o-f-bur el valor de E
en el tiempo ?u.
10-7' El número de estadospara el control de la Figura 10-9puede
reducirse si la
variable s se usa conjuntamente con q, y
a, para d-eterminarel estado
siguientedespuésdel estadoinicial. ramtl¿n, ér ..gi.tro a p".a" ser
comple_
mentadodurante el estadomismo en que E se borra'si E,seincluye."
t" jrr.,-
ción de control para la operación de cómplemento. Demuestreque un sistéma
sumador sustractor puede ser configuradócon seis estadosJe control.
10-8' Derive las funcionesde_entradapara los flip-flops 8,,
A" y E de la Figura
10-8(a).Use flip-flops Jl(.
10-9. Diseñeel control esp_ecificado por el diagramade estadode la Figura 10-1b(a)
por el método de u¡ flip-flop por estado.liurr¡e el diagrama
lógicoisando .oo,-
puertas y cuatro flip-flops D.
10-10.obtenga-
]na se,eun_da lista para el microprograma binario de la Tabla 10-3,
usando00 para los bits de RoM 18 y 14 ."du".r., que se incrementaincondi_
cionalmenteel CAR.
10-11.Diseñe el circuito de entrada de la Figura 10-10remplazando
las compuertas
AND asociadascon eo y e" con un multiplexor dual de i i .on entrada de
habilitación. "
ro-L2.La unidad de control de microprogramade ta Figura 10-10
conjuntamente con
el procesadorde datos asociado de la Figura tó-s(a), * ;;" para sumar y
restar dos númerosbinarios en representu.ló., d. ,ig";-.or";l;mento
de 2. Los
bits de signo residen-enla posición del bit a. tu."*i.r"á-ilq"i.ra"
de los re_
gistros A y B. como los signos.seincluyen con A y g, no
hay-necesidadde A"
y B" y la variable s. En cambio, p"t-it".u qu. s ..á
el flij-flop que almace'-
na el arrastre C, que^va en la posición del bit de signo, áá
l" *"rr"ra que .O
almacenaal arrastre c¿+r: c.u, que sale de ta posiclln'¿.l
ilrt de signo'.su-
472
s
PROBLEMAS 473

ponga que las variables y y z usan las dos señales de control que ponen a uno
ó u el flip-flop de sobrecapacidad V. Si ocurre una sobrecapacidad, V es
".ró a uno con ia variable del control y. Si no ocurre una sobrecapa.cidad,
puesta
se borra V con la variable de control z.
(a) Escriba el microprograma en la forma simbólica.
(b) Liste la tabla de verdad de la ROM en binario.
10-13.Dé una microiñstrucción en forma binaria para la memoria de control de Ia Fi-
gura 10-11 que mantenga el sistema en un bucle de no operación siempre que
ia dirección externa sea igual a la dirección donde se localiza la microinstruc-
ción en la memoria. Los valores que van al registro de condición no son impor-
tantes.
10-14. Escriba un microprograma en la forrna simbólica para el sistema de la Figura
10-11que el signo del número almacenado en el registro R1. El nú-
''-'eroeitá "ortrp.rróbu
en lá presentación de signo-complemento de 2. Si el número es posi-
tivo, se divide por 2. Si es negativo se multiplica por 2. Si ocurre una sobreca-
pacidad, R1 se lleva a 0.
sin siglo alma-
10-15. Escriba un microprograma que compare dos números binarios
el número menor se borra enton-
cenados en R1 y nz."nt registro que contiene
números.on igoui"., se borran ambos registros. Use el sistema
ces. Si los dos
de microprograma de la Figura 10-11'
números bina-
-- - - El procesador de Ia Figura 9-16 se usa para multiplicar dos
10-16.
y producto
rios'sin signo. El multipiicando está en 81, el multiplicador en R3 el
y Eiíegistro R4 almacena un número binario igual al número
se forma .., Rz R3.
de bits en el multiplicadoi. Describa el algoritmo en la forma de flujograma.
d.
10-17. Liste el contenido de los registros E, A, Q y P (Figura 10-16) después- 9199
pulso de reloj durante el pro-cesode multiplicación de las dos magnitudes 10111
(multiplicando) y 10011 (multiplicador)'
Ia variable Qr
10-18. El diagrama de estado de control de la Figura ro-15(a) no-usa
se usa como
.o-o ünu condición de transición de estado. En vez de ello, Qr
el
parte de la función de control en la lista de registros de trasferencia. Diseñe
condición en el diagrama de
control de manera Que Qr aparezca como una
que pala
estado y que se elimine de la lista de funciones de control. Muestre
este caso.l di"g."tn" de estado debe tener al menos cinco estados.
en e.l
10-19. Determine el tiempo que se toma procesar la operación de muitiplicac^ión
tiene k
sistema digital desc.iio en Ia Figura 10-15. Asuma que el registro Q
bits y que él intervalo entre dos pulsos de reloj es ú segundos'
? y un de-
10-20. Diseñe la lógica de control de la Figura i0-16 usando dos flip-flops
codificador.
con carga en
10-21. Cambie el registro P de la Figura 10-16 a un contado¡ creciente
paralelo. La éntrada ?, no incrementa el registro P. ¿,Cuál es el valor inicial
que debe cargarse a P en el tiemPo ?1 ?
base r
10-22. pruebe que la multiplicación de dos números de n dígitos en cualquier
da un poroducto de no más de 2n dígitos de longitud. Muest¡e que esta decla-
dise-
ración implica que no puede ocurrir sobrecapacidad en el multiplicador
ñado en la Sección 10-6.
registro de
10-23. Diseñe el control especificado en la Figura 10-9 por el método de
secuencia y decodificador. Use los tres flip-flops JK, G3, Gz I Gt'
secuen-
10-24.Diseñe el control especificado en la Figura 10-9 usando un registro de
cia y un PLA. Liste la tabla de programa del PLA'
Multiplicador

l"-l
Producto

l-;l Lógica
de control
Qn

P+P+B
A+A-l

Figura PIO-25 Multiplicaciónpor sumassucesivas I


10-25.La configuracióndel registroy el flujogramadei sistemadigital que multiplica
dos números binarios sin signo por el método de la adición repetida se mues-
tra en la Figura P10-25.
(a) Convénzaseusted mismo que el sistemamultiplica el contenidode A y B
y coloca el producto en el registro P.
(b) SeaA:0100 y B:0011. Pasandopor los pasosdel flujograma,demuestre
que el sistemaregresaa su estadoincial, con el registroP conteniendoel
producto 1100.
(c) Dibuje un diagrama de estado para el control y liste las trasferenciasde
registro que van a ejecutarseen cada estado de control.
(d) Dibuje el diagrama de bloque de Ia parte del procesadorde datos.
(e) Diseñe el control por el método de un flip-flop por estado.
10-26.Las siguientes operaciones de trasferencia entre registros especifican un
control del tipo de cuatro estados de registro de secuenciay decodificador.
G es un registro de secuenciade 2 bits y 7,,, Tt, Tt I ?3 son las salidas
del decodificador.

xT6: G<-G+l
!To: G <- l0
zT¡: G<-ll
T 1* T 2 * 7 3 : GeG+l

(a) Dibuje el diagramade estadodel control.


(b) Diseñe el registro de secuenciacon flip-flops Jl(.

474
-l!

x=0

Figura PIO-27 Diagramade estadode controlpara el Problema10-27

10-2?.una unidad de control tiene dos entradasx y y y ocho estados.El diagrama


de estado de control se muestra en la Figura Pl0-27.
(a) Diseñeel control usando8 flip-flops D.
(b) Diseñe el control usandoun registro,un decodificadory un PLA'
10-28.El diagrama de estado de una unidad de control sC muestra en la Figura
P10-28. Tiene cuatro estadosy dos entradas f y y. Diseñe el control por el
método de registro de secuenciay decodificadorcon los dos flip-flops JK, G2
Y Gr.
(a) Use las salidas del decodificador como condicionesde estadospresentes.
(b) Use las salidas de los flip-flops como condiciones de estadospresentes.
compare los dos resultados y comente las ventajas y desventajasen ca-
da caso.
10-29.El registro canalizador de la Figura 10-21tiene una salida adicional demar-
cada P pa.racontrolar la polaridad de la entrada 7 en el secuenciador.Cuando
P:0 el valor del bit de condiciónseleccionado por SL se aplica a la entrada
T. Cuando P:1, el complementodel bit de condiciónseleccionado se aplica
aT.

x=l.v--l

Figura PfO-28 Diagrama de estado de control para


el Problema 10-28

475
476 D I S E Ñ OD E L O G I C AD E C O N T R O L

( a I ¿Qué se logra por medio del


control de polaridad p r
(b) Diseñe el circuito que debe ser
c<¡locadoentre el multiplexor seleccionado
por S.L y la entrada de prueba 2,.
10-30. El computador microprogramado de la
Figura 10-21 tiene un registro de con-
t r o l d e d i r e c c i ó n ( c A R ) d e n t r o d e l s e c u e n c i a d o ry
el.egistro canarizador
IPLRI en la salida de la memoria de contror. La
velócidad d"eoperación puede
meJorarsesi se usa solamente un registro. compare
tu u"rociaua a. op"ü.ion
comparando las demoras de propagación enco.,trad;.;;;J"
se usa el sis-
tema:
( a ) Un CAr?sin un PlR.
( b ) Un PLR sin un CAr?.
:

Diseño de comPutadores

ffi
11-1 INTRODUCCION

ge-
Este capítulo presenta un computador digital pequeño para propósitos
nerales a partir de sus especificaciones funcionales para culminar con su
diseño. Aunque el computádor es pequeño, está muy lejos de ser útil. Su fi-
nalidad u. -.ry limitaáa cuando se compara con sistemas comerciales elec-
trónicos de prócesamiento de datos, aunque incluye especificaciones funcio-
para
nales suficiéntes para demostrar el proceso de diseño. Es adecuado
construir en el laboratorio con CI y el producto terminado puede ser un
sistema útil capaz de procesar datos digitales''
Ei computador consiste de una unidad procesadora central, una unidad
de memoria y una unidad teleimpresora de entrada-salida. El diseño lógico
de la unidad procesadora centrai será derivado aquí. Las otras dos unida-
des se asumen como elementos disponibles con características externas
conocidas.
Bl diseño de los materiales de un computador digital'puede derivarse
y diseño
en tres fases interrelacionadas: diseño del sistema, diseño lógico
y propie-
del circuito. El diseño del sistema versa sobre las especificaciones
áud". g"nurales del sistema. Esta tarea incluye el establecimiento de un
y
objetivó de diseño filosofia de diseño, Ia formulación de las instrucciones
áái y Ia investigación de su factibilidad económica. Las espe-
"oáp"tador, por el diseña-
cificaciües de iá estructura del computador son traducidas
de los materiales del sistema' El di-
áor t¿gi.o para lograr la configuración
lo. de los diferentes circuitos
seño áel óircuito- especifica
"o-pottentes de po-
iJgi."., .itcuitos de memoria, equipo electromecánico y suministro
es enorme-
teicia.'El diseño de la parte de los materiales del computador
(software) el cual
mente influenciado po. el sistema de programación
parte integral del
,rormalmente se desairolla al tiempo y constituye una
sistema de comPutador total.
debe
El diseño áel computador digital es una tarea complicada. No se
cubrimiento de todos lós aspectos del diseño en un solo capítulo'
..puo. el

*Las instrucciones para el computador son un subconjunto de las instrucciones en cl


computador PDP-8.

477
478 D I S E Ñ OD E C O M P U T A D O R E S
c A P . 11

Aquí interesael sistemay el diseño rógico de un computador


digital peque-
ño cuyas especificaciones se formulan á" u.r" *u"ao'urultraria"para'poder
estableceruna configuraciónmínima para una máquina muy pequeña,
que-práctica.El procedimientoenunciadoen este ápit"lo p"éd"'.", aun-
riiit en
el diseño lógico de sistemasmás complicados.
El procesodel diseñose divide en seis fases:

1'
!, descomposición.delcomputador digital en registrosque especi-
fican la configuraciór,g".,"rál del sisteáa
2' La especificaciónde las instruccionesdel computador.
3. La formulación de los circuitos de tiempo y de control.
4. La lista de operacionesde trasferencia entre registros
para ejecutar todas las instruccionesde computadir. necesaria

5. El diseñode la seccióndel computado¡.


6. El diseñode la seccióndel control.

El proceso de diseño se lleva a cabo por medio de las listas


tabuladas que
sumarizan las especificacionesy op""""ione" en for-u
La sección
del procesadorse define por *óaió del diagram;ñbd; "o-p""t". que consiste de
registros y multiplexores. Se asume que el l*ecto¡tiene iniormación
suficien-
t-emra remplazar los bloques en el dlagrama con circuitos
MSI. La sección
de control se diseña para cada uno dü los tres métodos
enunciados en el
Capítulo 10.

11.2 C O N F I G U R A C I O ND E L S I S T E M A

La configuracióndel computadorse muestra en la Figura


11-1.cada broque
representaun registro, ercepto por la unidad de merioria,
el gerre.^do;áei
reloj-maestroy la lógica de confrol. Esta configuración
se'suponeque satis_
face la estructura del sistema final. En una sit"uacionpra"ii.u,
el diseñador
comienza con una configuración tentativa de un ,irt"rri"
v i" modifica cons_
tantemente durante el proceso de diseño. El nombre
a" f"¿u registro se
escribedentro del bloque, conjuntamentecon la designación
paréntesis. simbórica en
El generadordel reloj maestro es una f'uente de pulsos
por lo generalun oscilador,el cual genera de reloj común,
un tren periódicode pulsos.A es_
tos pulsos se les da mayor capacidad por medio dé
y se dis_
tribuyen por todo el sistema. óada pulso debe lregar";pú¡i.adores
á"a" nip-flop y regis-
tro,al mismo tiempo. El llevar ros reiardos u tu ,.rñ*u "
rrr" p"u¿" necesitarse
indirectamente de manera que la diferencia
en retardos de trasmisión es
unifo¡me por todas partes. La frecuencia de ro. p"i*
la velocidadcon la cual opera el sistema.Se asume función de
""*irrru de 1
una frecuencia
gaciclo, la cual da un pulso cada milisegundo. me-
Esta f¡ecuenciade pulso se
escogepara tener un número redondo y evitar problemas
propagaciónen los ci¡cuitos. de los ¡eta.dos áe
La unidad de mem_oria tiene una capacidadde 4.096palabrasde 16 bits
cada una. Esta capacidades suficientementelarga p"ru L., procesosignifi_
T

Unidad de memoria
4.096 palabras
16bits,/palabra
Registrode
direcciónde
memoria(MAR) Registro separador
de memoria (B)

E Registroacumulado¡
(A)

E
I Registrode | | Registrode I
Generador de l' e
- -n t r a d a ( N ) l l."lj94j
pulsos de reloj
maestros

Figura l1-l Diagrama de bloque del computador digital

Tabla 1l-l Lista de registros para el computador

Designación Número
simbólica de
Nombre' bits Función

A Registroacumulador 16 Registroprocesador
B Registro seParadorde memoria 16 Retieneel contenidode la Palabra
de memoria
PC Contador de Programa 12 Retiene la dirección de la siguiente
instrucción
MAR Registrode dirección de memoria 12 Retiene la dirección de la
palabra de memoria
I Registrode tnstrucción 4 Retiene el códigode operacióncorriente
E Flip-floP de extensión 1 Extensión del acumulador
Flip-flop de búsqueda 1 Controla búsqueda y ejecutaciclos
F
S Flip-floP de comienzo-Parada 1 Detieney comienzael comPutador
G Registrode secuencia 2 Entrega señalesde tiemPo

N Registrode entrada 9 Retieneinformación del dispositivo


de entrada
U Registrode salida I Retieneinformación del dispositivo
de salida

479
I
a
4ffi D I S E Ñ OD E C O M P U T A D O R E S
C A P . 11
i
l
cativo. Se puede usar un tamaño menor si se desea construir un computa-
dor en el laboratorio bajo restricciones económicas. Son necesarios
doce
bits de una instrucción para especificar la dirección de un operando,
el cual
deja cuatro bits para la parte de la instrucción. El tiempo de acceso
de la
memona se asume que
9s menor que 1 milisegundo de manera que la pala_
bra puede leerse o escribirse durante el intervaio entre dos pulsos de
reloj.
La parte del computador digital que se va a diseña. ," d"..o-pon"
subunidades de registro. Los siguientes parágrafos explican por qué "i
cada
registro es necesario y qué función realiza. Una lista de registros y
una bre-
'e descripción de s ',s func-ionesse presenta en la Tabla 1l-1.
Lo; registros
que alrnacenan palabras de memoria son de 16 bits de longitud.
Aq"uellos
que alrnacenan una dirección son de 12 bits de longitud. "otro.
."gl.r.o,
tie'nen un número diferente de bits, dependiendo de sü función.

Registro de dirección de memoria


y regtstro separador de memoria

El registro de dirección de nremoria, MAR, se usa para direccionar


luga-
res de_memoriaespecíficos.Er MAR se carga del contador del programa (p-c)
cuando una instrucción se va a leer de lá memoria y de los 12 bits
-".roá
significativos del registro B, cuando un operando r. rru a leer
de la memo-
¡ia.. El registro separador de memoria B aimacena la palabra leída
o escrita
e.r ia m,emoria. La parte de operación de una palabra de instrucción
coloca-
da en ,8, se trasfiere al registro I y la parte de Ia dirección se
deja en el
registro B para ser trasf'erida al MAR. una palabra de operando
óolocada
en e1 registro B se hace accesible para op".u"ión con el ."gi.t.o A.
La pala-
bra que va a ser almacenada en Iá memoria debe r". al ,egiri;b
antes de iniciar una operaeiónde escritura. "urgldu

Contador de programa

EI. contador de programa PC almacena la dirección de la siguiente


instruc_
cron para ser leída de la memoria. Este registro pasa por.riu r"..,".rcia
de
conteo paso a paso y causa que el computador lea instrucciones sucesivas
alr¡acenadas previamente en la memoria. cuando el p.ograma llama
una
t¡asferencia a otro lugar con el fin de evitar la siguienie i"nstrucción
en se_
r-:ut'ncia.se modifica el PC al mismo tiempo, causa-ndoque el programa
con-
tinúe a partir de un lugar de memoria que está fuera de la secuencia
de
co.rteo. Para leer una instrucción, el contenido del pc se trasfiere al
MAR
y. se inicia la operación de lectura. Ei contador del programa
se incrementa
siempre en 1 mientras que la operación de escritura de"memoria lee
la ins-
trucción presente. Por tanto, la dirección de la siguiente inst¡ucción,
mayor
una unidad qu9
!a que está siendo ejecutada un u:l pro""sador, está siempre
disponible en el PC.

Registro acumulador

EI registro acumulador A es un regisircr procesador que opera


con datos pre-
viamente almacenados en la mem,lria. Este registro se usa para
ejecutar
'El

S E C 1. 1 - 2 CONFIGURAC NI S T E M4A8 7
DIEOLS

la mayoría de instruccionesy para aceptar datos del dispositivode entrada


o trasierir datos al dispositivo de salida. El registroA conjuntamentecon
el registroB componenel cuerpode la unidad procesadora.del computador'
Aunque la mayoría de los sistemas procesadores de datos incluyen más re-
gistrós para la unidad procesadora,se ha escogidoincluir solamente un
ácumuládor,para no complicar el diseño. Es posible configurar solamente
la operaciór,á. r,r*u con un simple acumulador con elementoaritmético.
Otrás operacionesaritméticas tales como sustracción,multiplicación y di-
visión pueden ser configuradascon una secuencia de instrucciones que
forman una subrutina.

Registro de instrucción

El registro de instrucción 1 retiene los bits del código de operaciónde la


instrucción corriente. Este registro tiene solamente cuatro bits ya que el
código de operaciónde las instruccioneses de cuatro bits de longitud' Los
bits tel cóáigo de operaciónse trasfieren al registro / a partir del registro
B, mientras que la párte de dirección de la instrucción se deja en B. La par-
te aet código de operaciónse debe sacar del registro B ya que una lectura
de un operándode la memoria al registro destruirá la instrucción retenida
previamente.La parte de operaciónde la instrucción es necesariapara que
ól control determinequé se le va a hacer al operandoque se ha leído.

R e g i s t r od e s e c u e n c i a

El registro de secuenciaG es un contadorque producelas señalesde tiempo


puta él computador.El registro G es decodificadopara suministrar cuatro
variablesde tiempo para la unidad de control. Las variablesde tiempo con-
juntamente con otrai variables de control, producen las-funcionesde con-
irol que inician todas las microoperacionesdel computador'

Flip-flopsE,FVS

cada uno de estosflip-flops se consideranun registrode un bit. El flip-flop


E es una extensión áet régistro A. Se usa durante las operacionesde des-
plazamiento, recibe el arraitre final durante la suma y ademáses un flip-
ilop qu. puede simplificar las operacionesde procesamientode datos del
compütadbr.El flip--flopF distingue entre los ciclos de búsqueda(fetch) v
de eJecución.Cuando F es 0, la palabra leída de la memoria se trata como
una instrucción. Cuando F es 1, la palabra se trata como un operando.S
es un flip-flop de parada e inicio que puedeborrarsepor medio del control
del programa-ymanejarsemanualmente.Cuando S es 1, el computadortra-
baja de acu"táo u una secuenciadeterminadapor el programaalmacenado
lu tn"-oria. cuando s es 0, el computadordetienesu operación.
"n
R e g i s t r o sd e e n t r a d a Y s a l i d a

El dispcsitivo de entrada-salida (I,zO) no se muestra en el diagrama de


bloque de Ia Figura 11-1.Se asume como una unidad de teleimpre3oracon
482 D I S E Ñ OD E C O M P U T A D O R E S cAP. 1 1

un teclado y un impresor. La teleimpresoraenvía y recibe información en


serie. Cada paquetede información tiene ocho bits de un códigoalfanumé-
rico. La información en serie de un teclado se desplazaal registrode entra-
da. La información en serie de un impresor se almacena en el registro de
salida. Estos dos registrosse comunican con la teleimpresoraen seiie y con
el registroacumuladoren paralelo.
El registrode entrada N consistede nuevebits. Los bits 1 a g almace-
nan información de entrada alfanumérica; el bit 9 es un bit de control lla-
mado indícador de entrada (flas). El bit indicador se pone a uno cuando
está disponible un nuevo caracter de un dispositivo de entrada y se pone
a cero cuando el caracter es aceptadopor el computador.El bit indicádor
es necesariopara sincronizar la baja velocidada la cual operael dispositivo
de entrada comparadacon la gran velocidad de los circuitos del computa-
dor. El procesode trasferenciade información es como sigue. Inicialmente
se borra el bit indicador en Nn . Cuando se oprime una tecla del teclado,el
código de 8 bits se desplazaal registro de entrada (N, -Ns). una vez que
se termine la operaciónde desplazamiento,el bit indicador en Nn se pone
a 1. EI computadorcompruebael bit indicador; si éste es 1, el óoaigb ae
caracter del registro N se trasfiere en paralelo al registroA y el bit indica-
dor se borra. una vez se haya borrado el registro indicador, se puede des-
plazar el nuevocaracteral registroN al oprimir otra tecla.
El registro de salida u trabaja de manera similar pero la dirección del
flujo de información se invierte. Inicialmente, el indicádor de salida en u.
se pone a 1. El computadorcompruebael bit indicador; si éste es l, un có-
digo de caracter del registro A se trasfiere en paralelo al registro de salida
(ur.* ue) y el bit indicador un se borra a 0. El dispositivode salida acep-
ta la información codificadae imprime el caracter correspondiente;cuanáo
se complete la operaciónse pone a 1 el bit indicador. El computadorno car-
ga un nuevo caracter al registro de salida, cuando el indicador es 0, porque
esta condición indica que el dispositivo de salida está en procesode impri-
mir el caracterprevio.

11-3 I N S T R U C C I O N ED
SE C O M P U T A D O R

El número de instruccionesdisponiblesen un computadory su eficiencia


en resolverel problemaentre manos,es una buena indicación de lo bien que
el diseñador del sistema previó la aplicación que se requeríade la máquina.
Los sistemas de cómputo mediano y de gran escala,pueden tener cienios de
instrucciones, mientras que la mayoría de computadorespequeñoslimitan
la lista a menos de 100. Las instrucciones se deben escogeicon cuidado pa-
ra imprimir las característicassuficientes del sistema con el fin de resolver
un amplio rango de problemas de procesamientode datos. Los requerimien-
tos mínimos de tal lista deben incluir una capacidad para almacenar y
cargar palabras de la memoria, un conjunto suficiente de operacionesarit-
méticas y lógicas, algunas propiedades de modificación de direcciones,
bifurcación incondicional, bifurcación bajo condiciones de prueba, propie-
dades de manipulación de registro e instrucciones I/O. Lá lista áe i.r"-
trucciones escogidaspara el computador pretende ser la mínima requerida
para un procesadorde datos práctico pero restringido.
xf

Signo Magnitud (números negativos en complemento de 2)

l6 IJ l4 l-l t2 ll 10 9 8 7 6 5 A
3 2 i

(a) Operandoaritmético

Palabra lógica

l6 t5 l4 l3 12 ll t0 9 8 7 f) 5 A
3 2

(b) Operandológico

Caracter Caracter

(c) Datos
Datosde entrada,/salida
entrada,/saltda

Figura ll-2 Formatosde datos

La formulación del conjunto de instrucciones para el computador va


mano a mano con la formuláción de los formatos para datos y palabras de
instrucciones. Una palabra de -memoria consiste de 16 bits. Una palabra pu9-
de representar una unidad de datos o una instrucción. Los formatos de
palabias de datos se muestran en la Figura 11-2. Los datos para las ope-
raciones aritméticas se representan por un número binario de 15 bits con
un signo en la posición del bit décimo sexto. Se asume que los números están
en su-equivalente de complemento de 2. Las operaciones lógicas se realizan

Operación Dirección

l3 l2 10 9 8 7 6 ) ^ 2
l6 l5 t4 ll

(a) Instrucción de referencia de memoria

Código0110 Tipo de operación de registro o prueba

t6 l5 t4 l-l r2 ll t0 9 8 7 6 5 4 3 2 I

(b) Instrucción de referenciade registro

Código0111 Tipo de operación de entrada-salida o prueba

6 5 ^
l6 15 l4 13 l2 ull0 9 8 7 J

(c) Instrucción de entrada,/salida

Figura l1-3 Fo¡matos de instrucción

483
4U D I S E Ñ OD E C O M P U T A D O R E S c A P . 11

con bits individuales de la palabra, con el bit 16 tratado como cualquier


otro bit. cuando el computador se comunica con un dispositivo vó, la
información trasferida se considera compuesta de caracterés alfanuméricos
de 8 bits. Dos de estos caracteres pueden acomodarse en una palabra de
computador.
Los formatos de palabras de instrucción se muestran en la Figura 11-3.
I a parte operativa de la instrucción contiene cuatro bits; el significado de
los i2 bits restantes depende del código de operación encontrado. una ins-
trucción d,e referencia de memorio usa los 12 bits restantes para especificar
una instrucción. una instrucción de referencia de registro implica ü.ra ope-
ración o prueba con el registro A o el E. No se necesita un operando de la
memoria; por tanto, los 12 bits menos significativos son usados para especi-
ficar la operación o la prueba que se va a ejecutar. una instrucción de refe-
rencia de registro se reconoce por el código 0110 en la parte de operación.
Similarmente una instrucción de entrada-salida no necésita una referencia
para la memoria y se reconoce por el cédigo de operación 0111. Los 12 bits
restantes se usan para especificar el dispositivo particular y el tipo de ope-
ración o prueba realizada.
Solamente cuatro bits de la instrucción están disponibles para el códi-
go de operación. Parecería que el computador está resiringido á un máximo
de 16 operaciones diferentes. Sin embargo, como las instrucciones de refe-
rencia de registro y de entrada-salida usan los 12 bits restantes como par-
te del gódigo de operación, el número total de instrucciones puede e*"édut
de 16. De hecho, el número total de instrucciones escogido para el compu-
tador es 22.
De las 16 diferentes operaciones que pueden ser formuladas con cuatro
bits. solamente ocho pueden ser utilizadas por el computador, porque el bit
de la extrema izquierda de todas las instrucciones (bit 16) es si-empre 0.
Esto deja abierta la posibilidad de agregar nuevas instrucciones y aumen-
tar la capacidad del computador, si se desea.
Las seis instrucciones de referencia de memoria para el computador se
listan en la Tabla 11-2. El diseño simbólico es una pulub.u de tres letras y

Tabla l1-2 Instrucciones de referencia de memoria

Código
hexa-
Símbolo decimal Descripción Función

AND 0 m* AND aA A<-A ¡\M*


ADD lm Sumara A A <- A + M, E <- A¡rastre
STO 2m Almacenaren A MeA
$Z 3m Incrementary omitir si M<-M + l,si(M+ l:0)entonces
es cero (PC +- PC + l)
BSB 4m Bifurcar a una subrutina M<-PC+5000,PC<-m*l
BUN 5m Bifurcar incondicionalmenteP C < - m
*¡n
es la parte de dirección de la instrucción. M es la palabra de memoria direccionada oor m
-|{

S E C .1 1 . 3 INSTRUCCION
DE S
COMPUTADO
48R5

representa una abreviación que va a ser usada por programadores !'usua-


rios cuando se escriben programas simbólicos para el computador. EI códi-
go hexadecimal listado es un número hexadecimal equivalente al código
binario adoptado por el código de operación. Una instrucción de referencia
de memoria usa un dígito hexadecimal (4 bits) para el código de operación;
los tres dígitos hexadecimales restantes (12 bits) de la instrucción repre-
sentan una dirección designada por la letra m. Cada instrucción tiene una
breve descripción en palabras y se especifica más precisamente en Ia co-
lumna de función con una proposición de macrooperación. Una clarificación
de cada instrucción se da a continuación, conjuntamente con una explica-
ción de su uso.

AND de .4

Esta es una operaciónlógica que ejecutauna operaciónAND a los paresde


bits correspondientes en A, con la palabra M de memoria especificadapor
la parte de dirección de la instrucción. El resultadode la operaciónse deja
en el registroA, remplazandosu contenidoanterior. Cualquier computador
debe tener un conjunto básico de operacioneslógicaspara el manipuleo de
los datos no numéricos.Las operacioneslógicasmás comunesque se encuen-
tran en las instruccionesdel computadorson el AND el OR, el OR-exclusivo
y el complemento.Aquí se usa solamenteel AND y el complemento.Este
último se incluye como instrucción de referenciade registro.Estas dos ope-
racioneslógicasconstituyen un conjunto mínimo del cual se puedenderivar
todas las demásoperacioneslógicasporque el AND y el complementojun-
tos, forman la operaciónNAND. En la Sección4-7 se observóque ésta es
una operaciónuniversal de la cual se puede obtener cualquier otra opera-
ción lógica.

SUMAR a / (ADD)

Esta instrucción agregael contenido de Ia palabra M de memoria, especifi-


cada por la parte de dirección de la instrucción al contenido presentedel
registro A. La suma se hace asumiendoque los números negativosestén
en su forma de complementode 2. Esto requiereque el bit de signo se agre-
gue de la misma forma que se agregantodos los demásbits. El arrastre de
salida provenientede la posición del bit de signo se trasfiere al flip-flop E.
Esta instrucción, conjuntamente con las instrucciones de referencia de
registro, es suficiente para escribir programas para configurar todas las
demás operacionesaritméticas. La sustracción se logra complementando
e incrementandoel sustraendo.La multiplicación se logra sumandoy des-
plazando. El incremento y desplazamientoson instruccionesde referencia
de registro.
La instrucción ADD (sumar) debe ser usada para cargar una palabra
de la memoria al registroA. Esto se hace borrandoel registroA con la ins-
trucción CLA de referenciade registro (definidaen la Tabla 11-3).La pala-
bra requeridase descargade Ia memoria agregándoleal registroA previa-
mente borrado.
ALMACENARen ,4 (STORE)

Esta instrucción almacenael contenidodel registroA en la palabra de me-


moria especificadapor la dirección de instruóción. Las tres instrucciones
de referenciade memoria se usan para manipular los datos, entre la pala-
bra d9 memoria y el registro A. Lás tres instruccionessiguientesson ins-
trucciones de control que causan un cambio en la secue".rcia normal del
programa.

lncrementary omitir en caso de cero flSZ)

La instrucción de incrementar y omitir es útil para la modificación


de di_
rección y para contar el número de vecesque se ejecutaun bucre de progra-
ma..un número negativoalmacenadopreviamentóen la memoria en la
di-
recciónrn se lee por medio de la instruCciónISZ. Este númeroseincrementa
en 1 y se almacenade nuevo a la memoria.La instrucción siguientees
omi-
tida si despuésde ser incrementadael número llega a cero.Áí, final del
bucle de programa,se coloca una instrucción ISZ seguidade una "l instruc-
ción de bifurcación que incondicionalment" í"yu al comienzodel
IBUN)
bucle del programa.Si el número almacenadono llega á cero, el programa
regresade nuevo a ejecutar el bucle. si éste llega a"cero, la siguient"e
ins-
trucción (BUN) es omitida y el programa continúa ejecutandoinstruccio-
nes despuésdel bucle del programa.

B i f u r c a c i ó ni n c o n d i c i o n a l( B U N )

Esta instrucción trasfiere el control incondicionalmentea la instrucción


en el lugar especificadopor la parte m de la dirección. Recuérdeseque el
contador del programa retiene la dirección de la siguiente instrucción que
se va a leer y ejecutar.Normalmenteel pc se increrirentapara dar la direc-
ción de la siguienteinstrucción en secuencia.El progr"rrrudo.tiene la pre-
rrogativa de especificarcualquier otra instruccién luera de la secuencia
usando la instrucción BUN. Esta instrucción le dice al computador que
tome la parte m de la dirección y la trasfiera ar pc. La dirección de la si-
guiente instrucción que se va a ejecutarestará ahora en el pc y es aquella
que antes era la parte de la dirección de la instrucción BUN
La instrucción BUN está listada con las instruccionesde referencia
de memoria porque necesitauna parte m de dirección. sin embargo,no ne-
cesita una referenciade la memoria para tener accesoa una pálabra de
memoria (designada
-porel símboloM), como se requierepor otras instruc-
cionesde referenciade memoria.

B i f u r c a ra l a s u b r u t i n a( B S B )

Esta instrucción es útil para la bifurcación a la parte de una subrutina


de
programa. cuando se ejecuta, ésta almacena la dirección de la
siguiente
inst¡ucciónen secuencia, la cual estáalmacenadaal presenteen el p? llla-
mad,adirección de retorno), en la palabra de memoria especificadapor la
parte de dirección de la instrucción. También almacenael códigod" lp".u-
486
E
SEC. 11-3 I N S T R U C C I O N EDSE C O M P U T A D O R4 8 7

ción del BUN (hexadecimal5) en el mismo lugar de la memoria.El contenido


de la parte m de la dirección más 1 se trasfiere al PC para comenzarIa eje-
cución del programa de la. subrutina en esta parte específica. Una vez se
haya ejecut"ao-¡" subrutina, el control se trasfiere al programade llamado
'poi medio de uná instrucción BUN colocadaal final de la subrutina.
El procesode bifurcación a la subrutina y el regresoal programade lla-
mado sé muestra en la Figura 11-4por medio de un ejemplonumérico espe-
cífico. El programade llamado está ahora en Ia posición32. El programade
subrutina comienzaen la posición 65. La instrucción BSB causa una tras-
ferenciaa la subrutina y lá última instrucción en la rutina causauna bifur-
cación de regresohaciala posición33 en el programade llamado. El ejemplo
numérico ttt l" Figuta 11-4muestra una instrucción BSB en la posición32
con una parte m dó la dirección igual al binario 64. Mientras que se ejt:cuta
esta instrucción el PC almacena la dirección de la siguiente i:':.::ii'.ilcioi:r
en secuencia,la cual es 33. La instrucción BSB realiza la macrooperación
(ver Tabla 11-2):
M<-PC+5000. PC<-m*l

El contenidodel PC más el hexadecimal5000(códigopara el BUN) son tras-


feridosa la posición64. Esta trasferenciaproduceuna instrucción BUN 33.
La parte de la dirección de la instrucción se incrementay se coloca en el
PC- El PC almacenael binario equivalentea 65 de manera que el compu-
tador comienzaa ejecutar la subrutina en esta posición.La última instruc-
ción en la subrutina es BUN 64. Cuando esta instrucción se ejecute, el
control se trasfiere a la instrucción en la posición 64. Pero en la posición
64, hay una instrucción que se bifurca de regresoa la dirección 33. La di-
Memoria
Dirección
(dec)
I
+
JI 0 1 0 0 00000l 000000 BSB64
33

m=64 0l0l 000000I 0000I B U N3 3


m+l=65
It
Subrutina
I

)
0l0l 00000I 000000 BUN 64

Figura 11-4 Demostración de una instrucción de bifurcación a la subruttna


488 D I S E Ñ OD E C O M P U T A D O R E S
cAP. 11
rección almacenadaen la posición 64 por
la instrucción BSB tendrá la di-
rección de regresopropia, no importando
dónde ;;;tl";.trucción BsB
localizada.De esta mane.a, ."gr".o u ta
su¡ruii.rá-.. .iÁp.e a una posi-
ción un lugar mavor.que la "l
posic"iónde la instiu";¿;B's-ñ. Nótese que
númerode la dirección de la inst¡ucción BUN el
r"""li"r¿"áf rinal de la sub_
rutina debe ser siempre igual al número de ra
direcciJ" a""a" se almacena
temporalmentela dirección de regreso,el cual
.. o¿
""-".ü'"uro.
Instruccionesde refere,nciade registro

Las 12 instrucciones referenciade registro


-de para el computadorse listan
en la Tabla 11-8. cada instrucción á" ,;?;-rl.,i.il;;;c*;;5
de operación0110 (hexadecimal€) ri".," un código
V contiene un solo 1 en uno de los 12
bits restantesde la instrucción. eÁtá. lnstrucciones
se especificancon cua_
tro dígitos hexadecimalp^s, los cuales representan todos los 16 bits
palabra de instrucción. Las p.imera, de una
.iéte irr.truc"ione.-r"alizan una ope-
ración sobre los registros 'q y o y se explic""
p;;-;;-;;i*-. r,". siguientes
cuatro instrucciones de om.isión
iskip) s€ usan para control del programa
condiciona-dopor ciertos bits ¿e'cor,áici¿n. paü
trucción el PC se incrementa en 1 de nuevo. siguiente ins_
",,,i;i;-l;
El primer incrementoocurre
cuandose lee la instrucción actual. De esta
-rn.ü la siguienteinstrucción
leída de la memoria está dos posicionesmás
arriba de la posición de la pre-
senteinstrucción(omisión).
Los bits de condición para ras instrucciones
de omisión son el bit de
signo en A, el cual está en ei,nip-flop Ata
! la condicián-áu.".o paraA ó E.
si la c.ndición de sratus
instrucción en secuencia; de-de'ig.,ado';iá pru.;;t;;-;; ;;;¿" la siguiente
otia ma.reru a partir
de la siguiente instruccián en r..u"".iá, "i_ "o,,'p.ri"¿", """tinúa
debido a que er pc no se incre_
menta.

Tabla 11-3 Instrucciones de referencia de ¡egist¡o

Código
hexa-
Símbolo decimal Descripción
Función
CLA 6800 Borrar A A <-0
CLE 6400 Borrar E E <-0
CMA 6200 ComplementarA A <-.4
CME 6100 Complementar,E E<--E
S H R 6080 Desplazara la derechaAy E I <--sh¡ A, A6<- E, E <- A1
SHL ó040 Desplazara la izquierdaAy E I < - s h lA , A 1 < - E , E < - A 6
INC 6020 IncrementarA A<-A*l
SPA 6010 Omitir conA positivo :0)entonces (pC<- pC +
!l(Ar6 l)
SNA 6008 Omitir conA negativo :1) entonces
9ifÁ,o (PC<-PC + t)
SZA ó004 Omitir conA cero
SZE 6m.2 Omitir con E cero li ft:0) entonces(pC <--pC + t)
S-it¿: 0) entonces(pC <- pC + l)
HLT 6001 Detenerel computador s<--0
E
s E c . 11 - 4 SINCRONIZACION DE TIEMPO Y CONTROL 489

La instrucción de detención (halt) se colocapor lo generaial ñnal ie


un programasi se deseadetener el computador.Su ejecuciónborra el t-Irp-
flop de parada y comienzo para evitar operacionesposteriores.

l n s t r u c c i o n e sd e e n t r a d a - s a l i d a

El computador tiene cuatro instruccionesde entrada-salidaque se listan


en la Tabla 11-4. Estas instruccionestienen un código de operación0111
(hexadecimal7) y cada una contiene un 1 en solamenteuno de los 12 bits
restantesde la palabra de instrucción. Las instruccionesde entrada-salida
se especificancon cuatro dígitos hexadecimalescomenzandocon 7.
Tabla 11-4 Instrucciones de entrada-salida

Código
hexa-
Símbolodecimal Descripción Función
SKI 7800 Omitir con el indicador de entrada Si (No : l) entonces (PC <- PC + l )
INP 7400 Introducir aA A t - a + N 1- s , N e < - 0
SKO 7200 Omitir con el indicador de salida Si (Un : l) entonces(PC <- PC + r)
OUT 7100 SacardeA Ut-a+ A1-s,Ue<-0

La instrucción INP trasfiere el caracter de entrada de l/ hasta A y


borra también el indicador de entrada en Ns. La instrucción OUT tras-
fiere un código de caracter de 8 bits desdeA hasta el registro de entrada y
también borra el indicador de salida en [/s . Las dos instrucciones de
omisión compruebanlos indicadoresde condición correspondientes y cau-
san una omisión de la siguiente instrucción si el bit indicador es 1. La ins-
trucción que se omite es una instrucción BUN. La instrucción BUN no se
omite si el bit indicador es 0; ésta causa una bifurcación de regresoa la
instrucción de omisión para comprobar de nuevo el indicador. Si el bit
indicador es 1 se omite la instrucción BUN y se ejecuta Ia operaciónde en-
trada o salida. Así, el computadorpermaneceen un bucle de dos instruc-
ciones (omisión en indicación y bifurcación de regresoa la instrucción an-
terior) hasta que el bit indicador sea puestoa uno mediante un dispositivo
externo. La siguiente instrucción en secuenciadebe ser una instrucción
de entrada o salida.

1'I-4 D E T I E M P OY C O N T R O L
SINCRONIZACION

Todas las operacionesdel computadorestán sincronizadaspor un generador


de tiempo maestro cuyos pulsos de reloj se aplican a todos los flip-flops del
sistema. Además,está disponible cierto número de variables de tiempo en
la unidad de control para darle secuenciaa la operaciónen el orden ade-
cuado. Esas variables de tiempo se designan como ü6, tt, tz y t3 y se
muestran en la Figura 11-5.Los pulsos de reloj ocurren una vez cada mi-
crosegundo(¡¿s).Cada variable de tiempo es de 1¡^rsde duración y ocu-
rre una vez cada 4 ¡rs. Se asume que el disparo de los flip-flops ocurre
490 D I S E Ñ OD E C O M P U T A D O R E S c A P . 11

durante el flanco negativode los pulsosde reloj. Se puedecontrolar el pulso


de reloj específicoque dispara el registro, aplicando una de las variables de
tiempo al terminal de entrada de habilitación de un registro dado. Las va-
riables de tiempo se repiten continuamente de manera que f6 aparezca
despuésde ü3. Cuatro variables de tiempo son suficientespara la ejecución
de cualquier instrucción en el computadorque consideramosaquí. En otras
situacionespodría ser necesarioemplear un número diferente de variables
de tiempo.
Se asumeque el tiempo de accesode memoria es menor que 1 ¡rs. Una
operaciónde lectura o escritura de memoria puedeiniciarse con una de las
variablesde tiempo cuandoésta se ponga alta. La operaciónde memoriase
completaráen el momento en que llegue el pulso siguientede reloj.
El computador digital opera con pasos discretos controladospor las
señalesde tiempo. Una instrucción és leída de la memoria y ejecutadaen
Ios registrospor medio de una secuenciade microoperaciones.Cuando el
control recibe una instrucción, éste genera las funciones de control ade-
cuadaspara las microoperaciones requeridas.En Ia Figura 11-6se muestra
un diagrama de bloque de la lógica de control. Una instrucción que se lee
de la memoria se coloca en el registro B separadorde la memoria. La ins-
trucción tiene un código de operaciónde 4 bits, designadopor el símbolo
OP. Si ésta es una instrucción de referenciade memoria tendrá una parte
de dirección designadapor el símboloAD. El código de operaciónse tras-
fiere siempre al registro de instrucción /. El código de operaciónen .I se
decodificaen ocho salidas eo - et, siendo el número suscrito igual al códi-
go hexadecimalpara la operación.El registroG es un contadorde 2 bits que
cuenta continuamentelos pulsos de reloj, durante el tiempo en que el flip-
flop S, de comienzo-parada, esté puestoa uno. Las salidas del registroG se
decodificanen cuatro variables de tiempo to - te. El flip-flop F distingue
entre los ciclos de búsqueday de ejecución. Otras condicionesde status
son necesariaspara determinar Ia secuenciade control. Las salidas de los
circuitos de lógica de control indican todas las microoperacionespara el
computador.El diagramade bloquede la lógicade control esútil para visua-
lizar la unidad de control del computador,cuando se derivan las operacio-
nes de trasferenciaentre registrosdurante el procesode diseñode la lógica.
La red de lógica de control es un circuito combinacionalque consiste
de una conexión aleatoria de compuertas.Su configuraciónconstituye un
control de elementosinterconectados.Se verá en la Sección11-7que la par-
te de control del computadorpuedeconfigurarsecon arregloslógicosprogra-
mables. La configuracióndel PLA remplaza la red lógica de control, como
también los decodificadoresde operacióny sincronízación.En la Sección
11-7se muestra que el control puede ser configuradoparcialmentecon una
unidad de microprograma.La configuraciónde control del microprograma
remplazaráIa red de lógica de control, Ios dos decodificadores y los registros
Iv G.
1 1 - 5 E J E C U C I ODNE I N S T R U C C I O N E S
Hasta el momento se ha considerado el diseño del sistema del computador.
Se ha especificado Ia configuración del registro, el conjunto de instruccio-
qF
's

->l i r¿s >l

Pulsosde
reloj (CP)

t,

Figura 1l-5 Señales de tiempo del computador

16 13 rl
BQP) I BIAD)

Funciones de contro
para rnrclar
microoperaciones

:codificad
de tiempo

Otras condiciones
de status

Figura l1-6 Diagrama de bloque de la lógica de control

491
492 D I S E Ñ OD E C O M P U T A D O R E S c A P . 11

nes del computador, una secuencia de tiempo y la configuración de la uni-


d a d d e c o n r r o l . E n e s t a s e c c i ó n , s e c o m i e n z á c ó n l a f a s e " d ed i s e ñ o d e l c o m -
putador. El primer paso es especificar las microoperaciones conjuntamente
con las funciones de control necesarias para ejecutar cada instrucción de
máquina.
Las operaciones de trasferencia entre registros describen de una for-
ma concisa el proceso de trasferencia de información dentro de los registros
del computador. cada proposición de la descripción consiste de uná fun-
ción de control, segui_dade una coma, seguida de una o más microoperacio-
nes con notación simbólica. La función de control es una función de Boole
cuvas variables son las señales de tiempo to - tt, la operación decodificada
Q - Q; y ciertas condiciones de los bits de condición. Las microoperacio-
nes son especificadas de acuerdo con la notación simbólica definida en el
método de trasferencia entre registros.
una vez que se active el interruptor de comienzo, la secuencia del com-
putador sigue un patrón básico. Una instrucción cuya dirección está en
el
PC se lee de la memoria. su parte de operación se trasfiere al registro I y
el PC se incrementa en 1 para prepara.la para la dirección de la "siguientl
instrucción. Si la instrucción es del tipo róferencia de memoria, poJría ser
necesario accesar de nuevo la memoria para leer el operando. Asíj las pala-
bras leídas de la memoria al registro B pueden ser lnstrucciones o datos.
Elflip-flop F se usa para distinguir entre los dos. cuando F:0, la palabra
leída de la memoria,se interpreta como una instrucción y." hi""'que el
c o m p u t a d o r e s t á e n e l c i c l o d e b ú s q u e d ad e l a i n s t r u c c i ó n . ó u a n d o F : 1 , l a
palabra leída de la memoria se toma como un operando y se dice que
el cóm-
putador está en el ciclo de ejecución.

Ciclo de búsqueda (fetch)

una instrucción se lee de la memoria durante el ciclo de búsqueda. Las re-


laciones de trasferencia entre registros que especifican este proceso son:

F'to: MAR <- PC


F',tr: B <- M, PC <- PC + |
F'tr: I <--B(OP)

cuando F-0, las señales de tiempo to, tt y ü2 inician una secuenciade


operaciones que trasfieren el contenido del PC al MAR, inician una Iectura
de memoria, incrementan el PC y trasfieren el código de operación de la ins-
trucción al registro 1. Todas las microoperaciones se ejecutan cuando la
función de control es de lógica 1 y cuando ocurre un pulsó de reloj. Las mi-
crooperaciones en los registros y la trasferencia de la palabra de memoria
a B son ejecutadas durante el flanco negativo del pulsó de reloj. Esto ocu-
rre justamente antes del momento en que la variable de tiempo especifi-
cada va a cero.
El código de operación en el registro 1 se decodifica en el tiempo úr.
E l s i g u i e - n t ep a l o d e p e n d ed e l v a l o r d " q , , l : 0 , 1 , . . , 7 , q u e p r o d u c áu n ' 1
a la salida del decodificador. Si la salida decodificada es una instrucción de
'I E J E C U C I O ND E I N S T R U C C I O \ E S 4 9 3
SEC. 1-5

referencia de memoria, se puede necesitar un operando. Si no. se puecie e'e-


cutar la instrucción durante el tiempo ú3.
La instrucción BUN y las instrucciones de referencia de registros e
instrucciones de entrada-salida no necesitan un segundo acceso de la nre-
moria. El computador tiene que pasar a un ciclo de ejecución para accesar
de nuevo la memoria, cuando se encuentra con un código de operación 0, 1,
2, 3, ó 4. Esta condición se detecta a partir del decodificador de operación,
el cual causa una trasferencia al ciclo de ejecución, poniendo F a 1:

F'(qo * Qt * ez * qt * qo)tt: F<- I

Las operaciones comunes de trasferencia entre registros durante el ciclo


de búsqueda se listan en la Tabla 11-5.

Tabla ll-5 Operaciones de trasferencia entre registros durante el ciclo de búsqueda

F'to: MAR e PC Trasferirla direcciónde instrucción


F'lt'. B <- M, PC <- PC * I Leer la instrucción, incrementar PC
F'tz'. r <- B(oP) Trasferir código de operación
F'(qo + et * Qz + q3 + q)t3: F <- | Ir a ejecutar ciclo
4stt'. PC <* B(AD) Bifu rcar incondicionalmente (BUN)
Qot{ Ver Tabla 11-8 Instrucción de referenciade registros
q7t 3. Ver Tabla 11-9 Instrucciónde entrada-salida

Las instrucciones BUN tienen un código de operación 5 y su corres-


pondiente salida del decodificador de operación €s gs. Esta instrucción no
necesita un operando de la memoria, aunque esté listado como una instruc-
ción de referencia de memoria. Esta especifica que la siguiente instrucción
se tome de Ia posición dada por la parte m de la dirección. La parte de di-
rección de la instrucción está en B(AD) en el tiempo ú3 del ciclo de bús-
queda. La instrucción puede ejecutarse durante el ciclo de búsqueda en ese
tiempo:

Qst{ PC <- B(AD)

No hay necesidad de incluir F en Ia función de control porque el único tiem-


po en Que Q; puede ser 1 es durante el ciclo de búsqueda. La microopera-
q,ru ejéóula la instrucción especifica una trasferencia de los bits t has-
"iOn
ta 12 del registro B al PC. La siguiente variable de tiempo después de f3 es
siempre ü¡. Como F permanece en 0 para esta instrucción, el computador
t"g.eiu al comienzo del ciclo de búsqueda para leer la instrucción dada por
el PC.
Las instrucciones de referencia de registros son reconocidas a partir de
la salida del decodificador qo y las instrucciones de entrada-salida de qt.
Como estas instrucciones requieren solamente una microoperación más pa-
ra su ejecución, ellas se pueden determinar en el tiempo ú3 durante el
ciclo de búsqueda.Este hecho se indica en la Tabla 11-5. Las microopera-
ciones específicas se listan en tablas posteriores.
Ciclo de ejecución

El flip-flop F es igual a 1 du¡ante el ciclo de ejecución. Las cuatro variables


de tiempo que ocurren durante el ciclo realizan las microoperaciones para
ejecutar una de las instrucciones de referencia de memoria. La instrucción
q u e s e v a a e j e c u t a r s e e s p e c i f i c ap o r m e d i o d e l a v a r i a b l e q , , i : 0 , r , 2 , 8 ,
4 disponible para el decodificador de operación. La parte de dirección ¿ó la
instrucción estará en los bits 1 a 12 del registro B, simbolizado B(AD), al
final del ciclo de búsqueda. Esta dirección Je trasfiere al MAR al comienzo
del ciclo de ejecución para servir como la dirección de memoria para la
palabra de memoria subsecuente:

Fto: MAR <- B(AD)

Las instrucciones que necesitan un operando de Ia memoria son el AND


( g o ) , A D D ( q , ) e I S Z ( q 3 ) . L a s o t r a s d o s i n s t r u c c i o n e sS T O ( q z ) y
BSB
(qn) almacenan un valor en la memoria y son ejecutadas
du¡ante iá siguien-
te operación de lectura de memoria:

F(qo + qt * qz)tt: B <- M

La instrucción decodificada particular se ejecuta con las variables de tiem-


w tz y f3. En el tiempo f3 se borra el flip-flop F para que el computador
regreseal ciclo de búsqueda:
,
Ftr: F<_ 0

La siguiente variable de tiempo después de ú3 es üe. pero como ahora F


es igual a 0, por tanto la siguiente función de control es F,ún. Esta es la
primera función de control en el ciclo de búsqueda. Así, después
de ejecutar
la instrucción corriente, el control regresa siómpre al clclo ie btsquéaa pa-
ra leer la siguiente instrucción cuya di.ección eitá en el pC. Las operacio-
nes comunes realizadas durante el ciclo de ejecución se listan en lá Tabla
11-6.
Las cinco instrucciones de referencia de memoria y sus correspondien-
tes operaciones de registro se listan en la Tabla 11-?. Estas instrucciones
son ejecutadas cuando F:1 y con las variables de tiempo t2 y ts, La
operación decodificada q, determina la instrucción particular que só eje-
cuta.

Tabla 1l-6 Operaciones comunes para el ciclo de ejecución

Fts: MAR <- B(AD) Trasferir parte de Ia dirección


F(qo+qr*qr)tr: B<_M Leer el operando
F(t2 + t): Ver Tabla 11-7 Ejecutar la instrucción de referencia
de memoria
Ft3:. F <-0 Regresaral ciclo de búsqueda
Tabla 1l-? Ejecutar las inst¡ucciones de referencia de memona

AND Fqot3l A<-A ¡\B MicrooperaciónAND


ADD FqJ3'. A <- A + B, E <- Arrastre Microoperaciónde suma
Fqzt2i B<--A Trasferir A aB
STO
M<_B Almacenar en Ia memoria
Fq2t3:
F%t2i B<-B+l lncrementar Ia Palabrade memoria
ISZ
Fqlt3: M<-B Almacenar de nuevoen la memoria
Fq3B"t3:. PC<.PC+I Omitir si B. : 1 (B: 0)
de regreso,
BSB Fq4tz: B(AD) <- PC, B(OP) <--0101, Trasferir a la dirección
trasferir Ia dirección al PC
PC <- MAR
Almacenar la dirección de regreso,
Fq4t3: M<-B,PC<-PC+I
incrementarla direcciónen el PC

variablesde tiempo
Las instruccionesAND y ADD se ejecutancon las
El operandode
f3, áüneü€ pueden t.rru, t".-u"riables t2 como--remplazo'
de tiempo tv' La opera-
la memoria ha sido liasferido a B con lá variable
ahora entre los registros B y A'
.i¿l .or.".porrdie.rte puJe ejecutarse de A a la
La instrucción SiO espécifica una trasferencia del contenido
fueron trasferidas al MAR con Ia
putu¡* áe memoriu y
",ry".'direcciones primero a B la ope-
variable de tiempo ro. ñf contenido de A se trasfiere es-
B a la palabra de memoria
ración de escritura tiasfiete el contenido de
pecificadaPor MAR:
Fq2tzi B <-- A

Fqrtr: M <- B

La instrucción ISZ se ejecuta con las siguientes microoperaciones:


Fqrtr: B<-B* I

Fqrtr: M <- B
FqrB"tr: PC <- PC + | B,:lifB:0
el tiempo úr (ver
La palabra de la posición M fue colocadaen B durante y
t2 el nuevo valor
Tabla 11-6). El registro B se incrementa en el tiempo
este tiempo el MAR
se almacena una ur" *ár r" la memoria. Durante todo
de M. Recuérdese
no cambia, ¿. -"r,.ru Ñe especificasiempre la dirección
puede in"r"*.ntada cuando esté locali-
-D;t"
ñ" ;;; ñlabra de ,rr"iiorü'"o "". procesador donde se
zada en la memoria. ser trasferida a un registro
el conteo. Mientras que el número incrementado se almace-
p""á"
":..rtar t;;;;"b; su valor en B; si es 0' se incrementa el PC pata
na en la memoria,
B" usada en la última
causar una omisió.r-a-"rrtt" instrucción. La variable
proposiciónes una de detecciónde cero y es igual al binario 1 si el
"uiififu ceros'
registro B contiene un número de solo en el
La instruccl¿r,gSf ;. la instrucción disponiblemás.complicada sigue:
U.ra formu po.iUf" de ejecutar esla instrucción es como
"o-prrt"áot. 495
Fqotr: B(AD) <_ pC, B(Op)<__
0101,pC <_MAR
Fqotr: M <_ B, pC <__
pC + |

La dirección de regresodisponibre
en el-pc se trasfiere a la parte
cióndel registro'J de direc_
1 "ódiq;óióü'e'uxl
de operación del mismo ." i."rñ;;;;r; partedel código
reg-istro. Recuérdese.que el
MAR contiene registro de dirección
la p1{e de i" ¿ir"".l?" de la iJrt.*"i¿i
La trasferenciadei MAR ar pc;;i;; iesignada wr m.
io anterior se hace duranle u ae la t.asie*""i"'a" m al pc. Todo
gresose almacenaen la memoria de tiempo tr. Ladirección de re-
"".*üil
e' Li tiempo ¿r. eí pcre incrementa
esre tiempo de manera.quela instrucción en
ciclo de búsquedaestaráé" U p".l"i¿" q.ru.u l"u^aiür,t" el siguiente
m * 1..
Instruccionesde referencia entre
registros
Las microoperaciones de registro que ejecutan las instrucciones
cia de registrosse ristan en"ra Tabra de referen_
tl-g.
en el terminal de salida go del á*"¿in."ao.E.tu. i".ñ";i;;es se reconocen
durante el tiemp<,ú, der i,i.r" au a" of".";tó" ; son ejecutadas
¡,iJqu"-au.p". ." define una
nueva variable r: eatz y se usa ",í"i""r*Jiu
en io.r^asr"r r"""i""uJ'L
ferenciaentre registror. Íil ."rto de re-
¿"'r"J rr.,"ior".-a";;;; "o.,tror
se determinan
a partir de uno de sus bits en et regi.iio
B; ;i;;i;;;;; resto de ra ins_
trucción permanecearmacenado
.""Áá tlempo. por ejemplo,ra instrucción
cLA tiene el código.tt"r"a.".i-ár o'gdd,
.uar correspondeal códigobinario
01i0 10000000 0000..-Ercódigo ae "l
opeiación.u d."oiiii"l'"-pu.ti. del regis_
1t es igual a qu. El bir 12"en
:.:
o. .f::ro-l_,queejecuta esta instru""iZ., b;l; J;;ii; o,ru la función
"l-rláIt,o :
Las prlmerassiete instrucciones ". ,e6tsB1z rBtz.
de refeiencia-entre'iegistros ejecutan
las operacionesde borrado,
el registro A ó E. Las sig'ienñ;;;;; ;"roi;;;;il;;",T incremento en
"";;ü;";;";
ir,rt.,i""ron;";;; insrruccionesde
Tabla 11-g Ejecución de ras instrucciones
de referenciaentre registros

r : Qatt
CLA rB12: A <-0
CLE Borrar A
rB1¡: ,g<-0
Borrar E
CMA 18¡6: A<_A- ComplementarA
CME rBe: E<_E ComplementarE
SHR TB¿: I <--slr¡A, A6 <- E, E <__ A, Desplazara la derechaA v E
SHL rB7: I < - s h lA , A 1 < _E , E < _A ¡ 6
INC Desplazara la izquierdaA v E
rBu: A<-A*l IncrementarA
SPA rB5Aiu: P C < - . P C + I
Incrementar pC si A espositivo
SNA rBaA16: P C < _ P C + I
SZA IncrementarPC si A es negativo
rB3A,: P C < _ P C + 1
Incrementar pC si A es cero
SZE rB2E,: P C < - P C + I
IncrementarpC si E escero
HLT rBy: S+-0 Borra el flip-flop de comienzoy parada
E
SEC, 11-6 D I S E Ñ O D E L O S R E G I S T R O SD E C O M P L T - I ) C = J:-

o m i s i ó n e j e c u t a d a ss o l a m e n t e s i s e s a t i s f a c e n l a s c o n d i c i o n e s c S ' . & r , , - r i . c : :
La omisión de una instrucción se logra incrementando de nuevo P(' ace=--.
del incremento que se hace en el tiempo üt (ver Tabla 11-5). Ei e.i¿ü,
del bit de condición para la omisión se convierte en parte de la funcron ce
c o n t r o l . A s í , e l a c u m u l a d o r e s p o s i t i v o s i 4 1 o : 0 y n e g a t i v os i A r , , : 1 . E .
símbolo A, es una variable binaria igual a 1 cuando el registro A contiene
sólo ceros. E' es igual a 1 cuando el flip-flop E contiene 0.
La instrucción de parada (halt) borra el flip-flop de comienzo y parada
S y detiene la secuencia de tiempo. El registro de secuencia G para de con-
tar mientras que su valor sea 0. Esto causa que el computador esté latente
con fe siempre a la salida del decodificador de tiempo. Como F es.también
0, la función de control F'úo es la única que se produce mientras que el com-
putador esté inactivo. Esta función de control trasfiere el contenido del PC
al MAR continuamente (ver Tabla 11-5). Esta trasferencia continua se pue-
de tolerar cuando el computador hace una parada latente. Si esto es inde-
seable se pueden quitar los pulsos de reloj de| MAR y de la misma manera
prevenir que esta trasferencia ocurra cuando S: 0. El computador puede
recomenzar cuando se active el interruptor de "comienzo", el cual pone a 1
el flip-flop S. Esto causa que los pulsos de reloj alcancen la secuencia del
registro G y comiencen a producir Ias otras variables de tiempo.

Instruccionesde entrada-salida

Las microoperaciones de trasferencia entre registros que ejecutan las cua-


tro instrucciones de entrada-salida se listan en la Tabla 11-9. Estas ins-
trucciones son reconocidas en el terminal de salida qt del decodificador
de operación y se ejecutan durante el tiempo ú3. Se define una nueva va-
riable p: ez ¿3 y se usa en todas las funciones de control de entrada-sali-
da. Las funciones de control para estas instrucciones contienen un solo bit
del registro B, el cual es parte de la definición del código de instrucción. Las
dos instrucciones de omisión dependen del estado de las condiciones de los
bits indicadores N" y Ug.

Tabla 1l-9 Ejecución de las instrucciones de entrada-salida

P : 4tlt
SKI pBeNs: PC<-.PC+I lncrementarPC si el indicadorde No : 1
INP pBti A t - a < - N ¡ - s ,N 9 < - - 0 AlimentarA, borrar indicador
SKO pBrcUe: PC<_PC+I InprementarPC si el indicadorde salidaU,, : I
OUT pBs: U t - a + A ¡ - s ,U e < - 0 Extraer de A, borrar indicador

11-6 D I S E Ñ OD E L O S R E G I S T R O S
DE COMPUTADOR

El diseño de un sistema digital sincrónicosigueun procedimientoprescrito.


A partir del conocimientode las necesidades del sistemase formula una red
de control y se obtiene una lista de operacionesde trasferenciaentre re-
gistros del sistema. Una vez que se haya derivado esa lista, el resto del
498 DtsEño DE CoMPUTADORES cAP l 1

diseño es directo. Algunas instalapionesutilizan técnicas de automatiza-


ción para el diseño de computadorparalraducir las proposicionesde tras-
ferencia entre registros a un diagrama de circuitos compuestode circuitos
integrados.
La Sección 11-5 especificalas proposicionesde trasferenciaentre re-
gistros para el computadoren cinco tablas separadas.Las entradas en las
tablas consisten de funciones de control y microoperaciones.La lista de
funciones de control presenta las funciones de Boole para las compuertas
en la red lógica de control. La lista de microoperaciones da una indicación
del tipo de registros que deben escogerse para el computador. Aunque estas
tablas son suficientespara completar el diseño lógico del sistema, podría
ser convenienteredistribuir la información en las tablas de una maireramás
convenientedurante el procesode configuraciónactual.

O p e r a c i o n e sd e r e g i s t r o

Para determinar el tipo de terminal de control que se debe tener en cada


registro es necesarioobtener una lista de microoperacionesque afecten ca-
da registro separadamente.Esto puede lograrserepasandolas tablas de Ia
Sección 11-5y escogiendoaquellas proposicionesque cambien el contenido
de un registro en particular. Esto se aplica también a las operacionesde
Iectura y escritura en la unidad de memoria. Por ejemplo,una operaciónde
iectura de memoria se simboliza con la microoperación:
B<_M

La proposiciónindica también que el contenido del registro B cambiará el


valor. Esta proposiciónse encuentra dos veces en la lista de microopera-
ciones.En la Tabla 11-5,se encuentracon la función de control F'ü1 y en la
Tabla 11-6con la función de control F(qo + Qt*es)¿r. Como ambasfun-
cionesdé control producenla misma operación,se puedencombinarcon una
OR para dar la proposieión:

R : F'tt + F(qo,* q, * q.r)tr: B <- M

El símbolofi se usa por convenienciapara desigrrarla operaciónde lectura


con una sola variable de control de Boole. El símboloigual despuésde R de-
signa su igualdad con las funcionesde control listadas.
Este procesose repite para la operación de escritura en memoria y para
todos los registros del computador. El resultado es como se muestra en la
Tabla 11-10.A cada función de control listada en ia tabla se le a-.ignaun
nombre de variable de control. Las variables de una sola letra no son nece-
sarias, pero ayudan a acortar las expresionesalgebraicasdel control de en-
trada de los registros. En la mayoría de los casosse asigna a la variable de
control una letra subíndice idéntica a la letra mayúscula reservadapara
simbolizar el registro correspondiente.Las variables de control comunes al
mismo registro se distinguen por subíndices numéricos diferentes.
La Tabla 11-10se deriva directamentede las Tablas 11-5a 11-9.El re-
gistro al cual perteneceuna microoperaciónse reconocepor la presencia de
s E c . 11 - 6 D I S E Ñ OD E L O S R E G I S T R OO
SE C O V P r ' : : ^ :

un símbolo en el lado izquierdo de la flecha. Para reconocer las rc.c¡:.-;'..


raciones que pertenecen al registro A se repasan las operaciones ilstaca-'
en las Tablas 11-5 hasta 11-9 y se escogen las que tienen una A como re$:-
tro de destino. Las microoperaciones para los otros registros se obtienen
de manera similar. Si la microoperación ocurre más de una vez' las funcio-
nes de control correspondientes se aplican a una OR para producil la fun-
ción de control compuesta.
Las operaciones ;para el flip-flop E deben separarse de las operaciones
para el tegist.o A, aúnque ellas se habían listado conjuntamente en las ta-
ñlas anteiiores. La operación de desplazamiento circular a la derecha' por
ejemplo, se enuncia en la Tabla 11-8 como:

rBs: I <- shrA, Arc<- E, E <- A,

Nótese que r es una variable igual a Qats Y rB, se le asigna una varia-
ble de control or. En la Tabla 11-10 bajo el registro A se tiene:

q5 : rB8:. ,4 <- shr A, A6<- E

el cual es parte de la operación de desplazamiento que cambia el contenido


de A. Debajo del flip-flop E se tiene:

a, - rBr: E <- Ay

lo cual muestra Ia parte de la operación de desplazamiento que cambia el


flip-flop E. Así, la variable au de control del desplazamiento a la derecha,
desplaia el contenido de A a la derecha y coloca el valor de E en el bit de la
extiema izquierda de A. Trasfiere también el bit de la extrema derecha de
AaE.
La secuencia del registro G no tiene ningunas microoperaciones lista-
das en las tablas previas. Este registro se muestra en la Figura 11-6 como
un contador cuyos pulsos de reloj se habilitan por medio del flip-flop s de
comienzo y parada. Esto se incluye en la Tabla 11-10 con Ia proposición:

S: G<-G+l

Diseño del computador

La lista de microoperaciones dadas en la Tabla 11-10 suministra la informa-


ción necesaria para diseñar los registros del computador. Las operaciones
que Se van a realizar en cada registro se demuestran claramente en las
proposiciones listadas. Por ejemplo, el contador del programa PC tiene tres
microoperaciones:

ctt PC<-PC+l

czt PC <- B(AD)

bzi PC <- MAR


Tabla l1-lO Microoperaciones pa¡a los registros

Memoria de control
R-F'tt+F(qo * q1* q)t¡ Be-M Leer de memoria
Il=F(qz+ q t * q+)t{ M<--B Escribir en memoria
ReerstroA
at : Fqo!3: A<--A ¡\B AND
a2: Fq1t3: A<_A } B Sumar
a^ = rBp; A <-0 Borrar
ar: rBPi A<-r Complementar
a, : rBgi I <- shrA, A6<- E Desplazamientoa la derecha
au: rB7: I <-shlA,A1<- E Desplazamientoa la izquierdr
a1 : 186: A<-A*l Incremento
as : pBli lr-¡- {r-¡ Trasferencia
Registro B
b¡: Fq2t2: B+-A Trasferencia
b2 = Fq3tr: B<-B+l Incremento
b3 = Fqol2: B(AD) <- PC, B(Op) +- 0i0l Trasferencia
Registro PC
ct : F'tt
+(q$, * q)Ft,
+@ya\a+ B4Arc
+ B3A, + B2E')r
+(BnNe * BrcU)p: PC<-PC+I Incremento
c2: qst3: PC <- B(AD) Trasferencia
b3 = Fq4t2: PC <-_MAR Trasferencia
Registro MAR
dt : F'to: MAR <_ PC Trasferencia
d, = Fls: MAR <- B(AD) Trasferencia
Registro I
it : F'tz: r <- B(oP) Trasferencia
Flip-flop E
e 1: r B ¡ r : E <-0 Borrar
e2: rBe: E.- E Complementar
a2 : Fq1t3: -E <--arrastre Trasferencia
a5 : rBs: E+-A1 Desplazamientoa la derech
a6: rB7: E <- A¡6 Desplazamientoa la izquie:
Flip-flop F
i: F'(qo* qt* qz
+ % + q)t3i F<-l Ponera 1
fr: Ft3: F <-0 Borrar
Flip-flop S
s¡ : r-B¡: s <-0 Borrar
Registro G
.S: G < - - G+ I Contar
Registro Li
u, = PBe: Ur-ae A1-s,U9<-0 Trasferir
Registro N
as: pBn: .Ay'e
<_ 0 Borrar
F

s E c . 11 - 6 D E L C O M P U T A D O R5 O l
D I S E Ñ OD E L O S R E G I S T R O S

Este registro debe tener condicionesde incrementoy trasferencia.Se puede


configurar por medio de un contldor con carga en paralelo del tipo mostra-
do en Ia Figura 7-19.Como el PC recibeinformaciónde entrada de dos fuen-
tes, éste requiereun multiplexor para seleccionarentre dos entradas,como
se explica en asocio con la Figura 8-3. Los otros registros se diseñan de
manerasimilar.
El diagrama de bloque que muestra los tipos de registros necesarios
para el computadorse da en la Figura 17-7.La unidad de memoria se inclu-
ye también para mostrar su conexión al procesador.La lógica de control
presentatodas las variables de control de los registros.El diseño de la ló-
gica de control se discute en la siguientesección.Las variables de control
que .e generanen la unidad de control son aplicadasa los registrosde la
manera que se indica en el diagrama. Además de los registros,el procesa-
dor usa cuatro multiplexores para seleccionar de dos o más fuentes. Todos
los registros y multiplexores son funciones MSI dispohibles en circuitos
integrados normales. Los tres flip-flops E y F y S y su correspondienteló-
gica combinacionaldebe diseñarsecon compuertasSSI y con flip-flops.
Todos los registros en el computador excepto el registro A requieren
terminales de entrada de control de carga, incremento o de carga e incre-
mento juntos. Se puede escogerel uso de un contador MSI con carga en
paralelo para todos los registros.De esta manera se podría tener un inven-
tario de un circuito integrado normal para los registros.Un componente
comercial posiblees el CI tipo 74161.Este circuito MSI contieneun conta-
dor de 4 bits con una carga en paralelo y un terminal de entrada de borrado
asincrónico. Los terminales de entrada de borrado de los registros pueden
conectarsea un interruptor de puesta a cero maestro en el computador pa-
ra borrar todos los registros asincrónicos antes de las operacionescon reloj.
Los registrosde 12 bits, el PC y el MAR necesitantres CI y el registroB de
16 bits-, cuatro CI. Los registros I y G pueden configurarse con un solo CI
cada uno. El contador de 4 bits de CI puede convertirsea un contador de
2 bits para G por el métodoenunciadoen la Sección7-5 en asociocon la Fi-
gura 7 -20.
El registro A es el más complicado porque realiza todas las tareas de
p.o""r"-iunto del computador. Este registro es un registro acumulador del
iipo diseñado en Ia Sécción 9-10 y puede usar la configuraciónmostrada
etr l" Figota 9-22. Puede configurarsetambién con un registro de desplaza-
miento bidireccional con la carga en paralelo como se muestra en la Figura
?-g, conjuntamentecon un ALU del tipo discutido en la sección 9-6. una
mejor fórma sería usar un circuito acumulador MSI tal como el CI tipo
745281.Cuando se configuracon un ALU o acumuladorde CI, la unidad de
control debe generar las variables de control correspondientespara selec-
cionar las microoperacionesrequeridas en el ALU. Estas serán diferentes
de las funciones áe control definidas por la unidad de control en este di-
seño.
El registro de entrada N y el registro de salida U pueden ser parte de Ia
interconexión normal de una teleimpresora. Los circuitos integrados que
hacen interconexión con una unidad teleimpresora están disponibles co-
mercialmente y se les llaman a menudo trasmisores-receptores asincróni-
cos uniuersales (universal asynchronous receiver-transmitters abreviado
Btse

0l
s
MUX

B tt-rc

Registro 1

Salidas de cont¡ol

Cargar
ul-

Figura ll-7 Diagrama de bloque detallado der comnutador

UART). Tal circuito integrado incluye un circuito de entrada y


de salida
dentro de la unidad conjuntamente con dos indicadores
necesariospara
sincronizarla trasferencia.
Tres de los multiplexores de la Figura 11-7seleccionanentre
dos fuen-
tes de entrada. El terminal de entradá número 1 del MUX
se selecciona
cuando el terminal de entrada de selecciónmarcado.or, ,r.r"
s es 1. cuando
s:0 se selecciona el terminal de entradanúmero0 del MUi. El multiplexor
asociadocon el registro B tiene tres fuentes de entrada.
Las variables de
selección sr y so determinan la entrada seleccionada.
cuando ambas lí-
neas de selecciónson 0, la entrada seleccionadaproviene pc. La señal
¿ul
-ür-anece
i? de lectura de memoria hace so:1 *i""i."r'q""-1
, en 0
502
:l

s E c . 11 - 7 D I S E Ñ OD E L C O N T R O T5 O 3

(porqueb,:0 cuandoR:1). La entradanúmerol del MUX se seleccrr-'na


' ''
,nedilnte la entrada que proviene de la unidad de memoria, cuando r
de control b1 produce la selección sr.
01. De manera similar la variable
: 10 la cual causala selección del contenido del registro A'
EI computador entero mostrado en la Figura 11-? p-uedeencapsularse
dentro de un solo cI para formar un microcomputador.un microcomputa-
del
dor de CI típico l-rorllrálrrr".rtetiene característicasnuevas en la sección
más pequeñT maJor parte de la
p.o"""udor, pero i.,cÑ" ,rrru memoria !?
es comúnmente del tipo ROM. El diseño interno
memoria de un compuiador
á" l" del *i.ro"o*putador requiere que la lógica del computador-se
J"fi.ru"ap.nla
,rn conjunto dé funcioneJ de Boole que espccifican todas las
"on y flip-flops en el sistema. Las funciones de Boole que configu-
presentado
ran cada registro erii sistema pueden deducirsepor el método
"o*p""rtu,
g-ro para el diseñ-o de los registros en términos de funciones
en Ia Secci¿n
de Boole.

11-7 D I S E Ñ OD E L C O N T R O L
para los
La unidad de control del computadorgeneralas variablesde control y la
."gi.tro, y unidad d" -"rno.iu . Hay i+ variables de control diferentes
11-10 como funciones de control' En el
mayoríade ellas se listan en la Tabia
métodos para el diseño de la lógica de con-
capítulo to se presentarontres
trol: el control alamb.ráo., el contr-olPLA y el control del
-i"rop.og.u-". """
l,u-rrrriiad de control del computador puede ser diseñada
"o-po"entes
usandb cualquierade estostres métodos'

C o n t r o l c o n c o m p o n e n t e sa l a m b r a d o s

LaorganizacióndecontrolpresentadaenlaFigurall-16esesencialmente
del registro
,rrru o".g^nlración con componentesalambrados por el ^método
de secuencia G en este casoes un
á" ,u"rr""rr"iay decodificadór.El registro
y ui d""oáificador de tiempo entrega cuatro estados de control
"o.r1uaá, ."gundo d_ec9{i.fi,cador se usa para el código de opera-
pái"-.i ,iit"rrru. Un
de control ge-
ción almacenadoen-el-.-"gi*tto/. El bloque de la red-delógica
nera todas las funcionesde control para el computado¡'-
comple-
La configuru.iá" a" ¡" red de lógica de contiol en la Figura 11-6
componentes alambrados. Esta configuración
ta el diseño del control con
las 24 funciones
consiste de las .o-p,r".t". combinacionales que genelan
listadas e'n la Tabla 11-10. Las funciones de Boole listadas como
de control
Boole de las cuales se
funciones de cont.oi especificanlas ecuacionesde
Este circuito no se dibujará aquí
ñ$ deducir el circuito combinacional.
las 24 funciones de Boole que definen las variables
i"ro prr"d, obtenersede
á e c o n t r o lR , W , a l h a s t aa s , b r , b r , b r , c r , c 2 , d r , d , ' í " e " € z ' f t ' f z '
sr Y ur.

Control por PLA


y
El control por PLA es similar al método de registrode secuencia decodifi-
cador, excepto que todos los circuitos combinacionalesse configurandentro
fu4 D I S E Ñ oD E c o M P U T A D o R E S
cAP 11

del PLA. Los dos decodificadoresse incluyen dentro


-nirrri^".o
de la configuración
del PLA -\'a que ellos son circuitos combinácionales.
de salidas
de control es 24. El número total de terminales de entrada pLA
es también
24. un PLA de 24 entradasv 24 salidaspgequ
en
de cI comercial. Por esta iazón,la unidad de "ocontiof
".tuiairponible "¿pr.,lá
á-Jbedistribuirse de
tal m_anera que pueda configurarsecon un número mínimo de pLA.
cI
L na forma de repartir el control es de acuer¿ou tus lublas
de función
presentadasen la sección 11-5.Las proposicionesde
trasferenciaentre re_
gistrosde esta secciónse listan en lás Tablas 11-bhaJa
1l-g. El control
PLA repartido de acuerdoa estas tablas se muestra en la Figura
11-g.Es_
ta configuraciónremplaza el control de los componentesalambrados
de la
F i g u r a1 1 - 6 .
La Figura 11-8 muestra tres pLA y dos registros para la
unidad de
control. Los dos decodificadores no son necesariosaquí yá q.r. se configuran
dentro del PLA. Nótese qu€ no hay conexionesde üs .utüa.
a" .rurlquiul
PLA a las entradasdel registro de secuenciaG. una conexión
de realimen_
tación no es necesariaporque el registro G es un y el siguiente
11ado se predetermina a partir dJ la secuenciade "orrtuJo.
cuenta continua. El
.PLA 1 configura las variabiesde control listadas iu-iu-¡tu 11-b(ciclo Je
búsqueda)y la Tabla 11-6 (operacionescomunespara "" el ciclo de ejecución).
Estas variablesde control dependende las variaÉles¿"
til-po G, el código
de operaciónde ry el control áel ciclo en F. El pi,li;;"¡ig".u
las funciones
de control listadas en la Tabla 11-7 (ejecuciónde las instrucciones
de refe_
rencia de memoria). Estas funcionesdé control tienen
las mismas variables
de.entrada que en el pLA l con ra adición de ra variá¡te'¡irraria
8.. Re-
cuérdeseque B. es una variable binaria igual a 1 cuanJo
el registroB con-
tiene sólo ceros.
El tercer PLA genera las funciones de control de referencia
gistros y de entrada-salidalistadas en las Tablas entre re-
rr-á v iig. Estas funcio-
nes de control tienen dos variablescomunes:
r: eatz para las operacionesde referenciaentre registros.

p : htz para las operacionesde entrada_salida.

Estas dos variables comunesson generadasen el pLA 1 y se aplican


como
entradasal PLA 3. Las otras entrádasal tercer pLA provienen -' del registro
B (bits l-t2) y de otras condicionesdel bit de condiclón.
La variable de control c1 incrementa el contador á" p.ogr"-a.
Esta
variable de control se genera en todos los tres pLA. L;; ires
salidas de_
ben combinarsecon una compuertaexterna oR para p.oJ,r"i.
una sola sali-
da. Esta.sa.lida.seaplica al tórminal de entrada de incrementodel pc.
La derivación de las tabras de programapara los tres pLA
completa el
diseño del control. La tabla de p.ogi"-", aet ÉL^q r p""a.
obt..r".." a partir
de las funcionesde control rist;da; en las Tablas ri-s
v ri-0. Estas funcio-
nes se repiten de nuevo en la Tabla 11-11por conve.riencia.
Algunas de las
funcioneshan sido simplificadas para ser ágregadasen
la iabla de progra-
ma. Por ejemplo la variable de control de lec'tuü n r"" ri.tJa
originalmen_
te como:
-Tt
R: F'tt+ F(qo+ qr* qr)t,

Las variables de salida decodificadrrsgo, gr y ez son una función de


las variablesen el registroI y puedenser simplificádasde la siguientema-
nera:

4o t Qt * Qt: I;I;Ií + 4I;It + IíI2I.: IíIt + I:I;

c.omoel PLA acepta las variables.I en vez de las variablesq


es más conve_
niente usar la función de dos términos en vez de una
de tres términos. La
variable de control /r se simplifica de una manera similar.
Las otras varia_

/.- lI dl Bl a3

L' l> cl to el

\) R Btz A4

F ¡r Arc PLA 3 e2
Grl fl "z as
Tablas
4) C2 E 11-8 a6
11-9
Q1 u9 4.1

fz ,'9 sl

L a.l

'I-t ^
PLA 2 "'
It bl

F rabla w
tt-7
G2 b2

Gt b3

Bz cl

Figura l1-8 Control PLA para computador

tu5
Tabla 1l-11 Funciones de control para el pLA t

dt : F'to: MAR <_ PC


cr : F'ti PC<.PC+I
R: F'tt + F(IíIt + Illi)tr: B<_M
it : F'tz: r <- B(oP)
"ft: F'(I!+ IiI)t': /fl<_ I
cz: qst3i PC <- B(AD)
dz: Fto: MAR <- B(AD)
ft: F4: F<- 0
r : q6t3: Registrode referencia
P : 4ttt: Entrada-salida

bles de Boole necesitan una traducción de la designación f a un estado en


el registro de secuencia G y de la designación q ai código de operación co-
rrespondiente en el registro 1.
L a t a b l a d e p r o g r a m a p a r a e l P L A I s e d a e n l a T a b l a 1 1 - 1 2 .E l p L A t i e -
ne 6 entradas, 12 términos producto y 10 salidas. Las entradas para G, y
G ' , s o n 0 0 , 0 1 , 1 0 y 1 1 y c o r r e s p o n d e na l a s v a r i a b l e s d e t i e m p o t ¡ . t ¡ , t 2
,
)' t¡ respectivamente. La entrada para 1, , I.¿ e 1, es un número binarió
igual al valor del suscrito i en q, a no ser que se simplifique la función. Nó-
tese que el registro 1 tiene- cuatro bits pero 1o no se usa ya que siempre es
0. El procedimiento para obtener una tabla de program, pt,R a partir de un
conjunto de funciones de Boole se explica en la Selción b_g.
. La tabla de programa para el PLA 2 puede derivarse de manera simi-
lar. pero no se incluye aquí. El tercer pLA requiere 12 términos AND y una
compuerta oR de 6 entradas (para generar la variable de control c, ). Esta

Tabla 1l-12 Tabla de programapara el pLA 1

Termino Entradas Salidas


del
13 12 ItFG2Gl dtctRir.fic2d2hrp
Pr o d uc t o
r-00 0 l- F'to
j-00 I _I ;-
l -
F',tt
30110 I l- FIiIll
400-10 I l- FIáritl
5-01 0 -l F'tz
6001 I
I
F'Iát3
7-0001 I F'r;rít3
8l0l-l I -l .r5,3
9-10 0 Fto
lo-ll I -l Ftt
ll I I 0 _ I I 4ott
12 lll-l I -l 4ttz
sEc. 11-7 D l s E Ñ o D E L C O N T R O Lf i 7

parte del control puede configurarse más económicamente con compuertas


'SSl
o con un arreglo de compuertas programables a voluntad (FPGA, field-
programmable gate array). El FPGA es similar al FPLA field-programma-
ble logic array) en concepto, excepto que contiene solamente compuertas
AND programables. Un FPGA típico tiene 9 compuertas AND o (NAND)
q,re 16 entradas comunes.* Se requieren dos circuitos integra-
"o-parten
dos FpGA para remplazar el PLA B en Ia Figura 11-8. En Ia compuerta OR
externa puede combinarse con otras líneas que generan la variable c1.

Control del microprograma

La organización de la unidad de control para el computador es más adecua-


da paia el control del PLA que para el control del microprograma' principal-
-".rt" por la forma como fueron formuladas originalmente las instrucciones
de refeiencia entre registros. La configuración del control del microprogra-
ma que se va a desariollar aquí, configura las funciones de control para el
ciclo de búsqueda y las instrucciones de referencia de memoria. Las opera-
ciones de referencia de registro de entrada-salida pueden configurarse más
eficientemente con un conirol de componentes interconectados o un control
PLA.
El control del microprograma no necesita los registros I, G y F. El códi-
go de operación está en B(OP) y al final del ciclo de búsqueda puede ser
usado para especificar una dirección de macrooperación para la memoria
de conirol sin necesidad de un registro 1. Las variables de tiempo geneladas
en el registro de secuencia G pueden ser remplazadas por una secuencia de
pulsos d"e reloj que leen microinstrucciones consecutivas de la memoria de
control. La traslerencia del ciclo de búsqueda al ciclo de ejecución puede
hacerse en la memoria de control por medio de una microinstrucción de bi-
furcación, la cual trasfiere el control al siguiente ciclo sin usar el flip-flop
F. La configuración del control de microprograma que se va a desarrollar
aquí remplaáa todo el control de componentes interconectados de la Figura
1 1 - 6 ( e x c e p t op o r e l r e g i s t r o B ) '
Repasandólas Tablas 11-5, 11-6 y 11-7 se nota que todas las microins-
trucciones pueden secuenciarse incrementando la dirección de la memoria
de control, excepto cuando se va a ejecutar una instrucción de referencia
de memoria particular o para regresar al ciclo de búsqueda. Un rutina par-
ticular de instrucción dé referencia de memoria puede ser accesible con
una dirección de macrooperación externa. Si se comienza el ciclo de búsque-
da a partir de la direccién 0, es posible bifurcarlo al ciclo de envío borrando
el registro de dirección de la memoria de control CAR. Por tanto, la parte de
secuéncia de dirección del control del microprograma necesita solamente
tres operaciones:

1. Incrementar el CAR para leer Ia siguiente microinstrucción en se-


cuencia.
2. Borrar el CAR para iniciar el ciclo de búsqueda'

*El
CI tipo 82S103 de Signetics.
5O8 DrsEÑo DE COMPUTADORES c A P . 11

3. Entregar Ia trasformaciónde bits del B(OP) a una dirección externa


del CAR (control memory addressregister).

Un control de microprogramapara el computadorse muestra en la Fi-


gura i1-9. La memoria de control ROM tiene 32 palabrasde 7 bits cada una.
Los primeros cuatro bits se codifican para producir 16 combinacionesde
bits, cada uno para cada función de control. Aunque el computadortiene
24 funcionesde control 16 son suficientespara generar aquellas funciones
de control asociadascon el ciclo de búsqueday las instruccionesde referen-
cia de memoria. En vez de usar 16 bits de ROM para especificar16 salidas,
se escogeusar solamente4 bits y decodificarlosmediante un decodificador
de 4 a 16 líneas para producir hasta 16 variables de salida distinguibles.
Este esquemaahorra bits de ROM pero requierede un decodificadorexter-
no. Este limita también Ia capacidadde las microinstruccionesporquesola-
mente se puede especificaruna función de control en cualquier microins-
trucción dada.
La parte de secuenciamientode direccionesde la unidad de micropro-
grama no requiereun multiplexor para seleccionarlas condicionesdel bit
de condición. Hay solamenteun bit de condición que se debe considerary
se mostrará más adelante cómo puede incluirse en un circuito externo. No
hay necesidadpara un campo de dirección en la microinstrucción porque
no se presentan necesidadesde bifurcación excepto para el regresoal co-
mienzo del ciclo de búsquedao Ia trasferenciaa un registro de dirección.
Los últimos tres bits de la microinstrucción determinan la siguientedirec-
ción. El bit 7 incrementael control del registrode dirección. El bit 6 borra
el CAR, lo cual causa un regresoal ciclo de búsqueda.El bit 5 carga una
dirección externa al CAR. La dirección de entrada debe contener 5 bits
porqueel ROM tiene 32:25 palabras.Tres de estosbits vienen de la parte
del registro B que retiene el código de operación.Los últimos dos bits son
siempre iguales a 11. Esta es una trasformaciónde código de los bits del
códigode operaciónde la instrucción a una dirección externa de la memoria

[ncrementar

Cargar entrada

Figura ll-9 Unidad de control del microprog¡ama para el computador


s E c . 11 - 7 D I S E Ñ OD E L C O N T R O L

de conlrol. Esta trasformacióncausa que la instrucción AND, cuyo código


de operaciónes 000, cambie a una dirección del CAR ig.ral a 00011.La ins-
trucción ADD se trasforma de 001 a 00111y así sucesivamentehasta una
instrucción de entrada-salidacuyo código de operaciónes 111 y cuya tras-
formación de dirección es 11111.El bit más significativo en B(OP) no se
usa porque es siempre 0.
La unidad de control del microprograma,mostrada en la Figura 11-9,
es muy simple y requieresolamentetres circuitos MSI. Debido a su simpli-
cidad no ut'*rry flexible y como se muestra subsecuentemente requierecir-
cuitos adicionaiesputu uttu configuracióncompleta de la unidad de control'
Las microinstrucciones para el ciclo de búsqueda y de ejecuciónde las
instruccionesde referencia de memoria se listan en las Tablas 11-5, 11-6y
11-7.Las microoperaciones para los registros ,I y F no son necesariasya que
esos registrot .to se usan. Las microoperacionesrestantes y sus funciones
de cont"rolcodificadasse listan en la Tabla 11-13.Los primeros cuatro bits
de una palabra ROM en la memoria de control producen 16 combinaciones
y cada combinación especificauna microoperación.Las combinacionesde
áóIo y sólo uno. tto inicia una microoperación.Las otras 14 combina-
se decodificanpara entregar variables de control para las microope-
""to.
ciones
racioneslistadas. La salida del decodificador14 inicia la operaciónde es-
critura en memoriaM *B y también especificaun control condicionalpara
incrementar el PC dependiendode la variable Bz.La razón para repetir es-
tas dos microoperaciones en una microinstrucción se clarificará más tarde.
Nótese que la rtri".oopur"ciónde escritura de memoria se inicia con la sali-
da 11 dei decodificadór y la variable de control que incrernenta el PC está
disponible de la salida 2 del decodificador.
Tabla l1-13 codificación de losbits de RoM para las microoperaciones

Bits de ROM Salidadel Función


| 2 3 4 decodificadordecontrol Microoperación

0000 0 Ninguna
0001 I dl MAR <_ PC
0010 2 C1 PC<--PC+I
0011 n B<_M
0100 4 C2 PC <- B(AD)
0l0l 5 d2 MAR <- B(AD)
0l l0 6 r Operaciónde referenciaentre registros
0l l l 7 p Operaciónde entrada-salida
1000 8 A¡ A<.A ¡\B
l00l 9 A2 A <- A + B, E <--arrastre
l0l0 l0 bl B <-.4
l0l I ll W M<_B
I100 t2 b2 B<-B+l
1l0l IJ b3 B(AD) <--PC, B(OP) <- 0101,PC <- MAR
I I l0 t4 ,:, M <- B,si(8, : l)entonces(PC +- PC + l)
llll l5 Ninguna
I

Tabla 11-14 Tabla de ve¡dad del ROM para el control del microprograma

Instruccion Direc- S a l i d a sd e l R O M Designaciónsimbólica


ción del
ROM 234 56 M ic rooperaciones Sizuiente dirección

B U S Q L ' E D A 0ün0 000 r 001 MAR <_ PC CAR <- CAR + I


00001 0 0 r l 001 B<-M CAR <_ CAR + I
00010 0 0 r 0 100 PC<_PC+I CAR <-228(OP)+ 3

.{\D 0001l 0l0l 001 MAR <- B(AD) CAR <_ CAR + I
00100 001l 001 B<-M CAR <_ CAR + I
00101 1000 010 A<-A \B CAR <--O
001l0 0000 010 Ninguna C A R< - O
\L \TA 00lll 0l0l 001 MAR +- B(AD) CAR <_ CAR + I
01000 0 0 1 l 001 B<_M CAR <- CAR + I
01001 l 0 0 l 010 A <- A + B, E <- arrastre C A R< - O
01010 0000 010 Ninguna C A R< _ O
0 l 0 iI 0l0l 001 MAR <- B(AD) CAR <- CAR + I
0l100 l0l0 001 B<_A CAR <- CAR + I
0 ll 0 l l0r I 010 M<--B C A R< - O
0lll0 0000 010 Ninguna CAR <_ O

0lllt 00 MAR <- B(AD) CAR <- CAR + 1


10000 00 B<_M CAR <_ CAR + I
r000t 00 BeB+l CAR <_ CAR + 1
r0010 M <- B,si (8. : l) enton- C A R < - O
i
I
ces (PC <- PC + l)
t00lI 00 MAR <- B(AD) CAR <_ CAR + I
10r00 00 B(AD) <- PC, PC <-MAR CAR <_ CAR + I
l0l0l 00 M<_B CAR <- CAR + I
l0ll0 PC<-PC+I CAR <_ O
BUN 0100 010 PC <- B(AD) CAR <_O
0000 010 Ninguna CAR <--O
0000 010 Ninguna C A R< _ O
0000 010 Ninguna CAR <_O

R E G I S T R O l 1 0 lr 010 Operaciónde registro C A R< - O


il 100 0 0 0 0 010 Ninguna C A R< - O
il l0l 0000 010 Ninguna CAR <--O
nll0 0000 010 Ninguna C A R+ - 0
r/o Operaciónde C A R< _ O
ent¡ada-salida

510
5 1I
D E LC O N T R O L
DISEÑO
S E C .1 1 - 7

la Tabla 1l-1-1'
El microprograma para la memoria de control se da en
programar el RoM. Hay 32 palabras
Este es también ta ta¡tá de verdad para
cáda palabra se es¡recifican en la ta-
d" ñOM; la dirección y contenido-de
en nueve rutinas que muestran las microinstruc-
üfu. f,u tabla se subdivide
para
ciones que pertenecen al ciclo de búsqueda y las microinstrucciones
La columna de la
;j;;;;"r= ;"áu ,rrru de las instrucciones de computador.
en forma simbólica y la
ierig.u"ió., simbólila presenta el microprograma
secuencia de direcciones para el CAR'
mtcroopera-
El ciclo de búsqueda comienza con la dirección 0. Las tres
tu rutina de búsqueda trasfieren el contenido del
ciones consecutiva*'."
pc ul MAR,leen la instrucción al registio B e incrementan el PC. En la
a 1. El mismo pul-
áir"c"i¿r, 2 (0010) el bit 5 de Ia microinitrucción es igual
so de reloj que incrementa el PC también ejecuta la microoperación:

CAR <-228(OP) + 3

bits se despla-
B(OP) contiene los tres bits del código de operación. Estos
(multiplicando por 22 ) y el.binario 3 (11) se
,ur, ¿o¡t"-ente a la izquierda
dirección pará el CAR. La dirección recibida en el
agrega para formar una
la tabla y el control
cAR trasfiere el control a una de las rutinas listadas en
la instrucción específica. La configuración de esta
.""1i".1" ejecutando
trasformación de código se ilustra en la Figura 11-9' ^- ,
para cada instruc-
Esta configuración asigna cuatro palábras de ROM
I,/O. Por ejemplo, la instrucción ISZ tiene
ción, excepto para iÁ i"J."l.ión
que ejecuta esta instruc-
.i de operación 011. El comienzo de la rutina
el binario 0 1 1 1 1 ' L a s cuatro
., uri¿ en lá dirección 4X 3+ 3: 15 la cual es
. i ¿"¿Aigo y No
las direcciones 15, 16, 17 18.
palabras RoM para esta rutina están en
la dirección 19 porque esta dirección contiene
!" p,r"¿" usar lá pulubru de
fu ñri-"tu -i.tol".l.ucción para la rutina BSB' Como no hay capacidad de
se puede bifurcar a una
bifurcación en esta unidad áe microprograma, no
p"r"¡*deRoMnousada;portantocadarutinadebecompletarsecon
c u a t r o m i c r o i n s t r u c c i o n e so m e n o s '
La di-
La rutina AND puede configurarse con tres microinstrucciones.
t r a s f i e r e a l M A R , e l o p e r a n d o s e l e e d e la me-
rección de la instru""ió.r..
moriaaByseuj"""tulamicrooperaciónANDentrelosregistrosAyB.La
(00101) tiene el bit 6 igual a 1'
última microinstrucción en la d^irección 5
para co-
ñ.io que el CAfi se borre y el control regresea la dirección 0
"u".u Las primeras dos microinstrucciones
menzar de nuevo el ciclo de búsqueda.
que el cAft se in-
de Ia rutina AND tienen el bit r iguat a 1, lo cual causa
palabra de está rutina en la dirección 6 no se usa' Esta
cremente. La última
ya que se debe especificar_a-lgopara la tabla
;"1;b;" no puede dejarse vacía p^alabraes no especi-
á" ,r".dua d^elROM. La mejor ,''u.r"ra de ocupar esta
ñ"u, *i"roop.ru"io.,., en loá bits t hasta 4 y bo.tut el C-AR con el bit 6' De
falta y la memoria de control se encuentra en Ia
esta maneru, ai oarrr.a una
y regresará al ciclo
dirección 6 no se ejecutará ninguna operación el control
de búsqueda.
La ins-
Las rutinas de ADD y STO necesitan tres microinstrucciones'
palabras disponibles en la rutina. La
trucción BSB usa todas Ias cuatro
s o l a m e n t e u n a m i c r o i n s t r u c c i ó n . T J n a i n s t r u c c i ón
instrucción BUN necesita
512 OISEÑO
DECOMPUTADORES
c A P . 11

de referencia de registro inicia una variable


de control r, la cual puedeser
usaoa conJuntamente con un bit en el registro
B para iniciar una de las
operaclones especificadas. Lo mismo se
aplica a la instrucción (I,/O) de
entrada-salida.
La rutina ISZ necesitacuatro microoperaciones y una operacióncondi-
cionai dependientedel.valor d9 Esta impone
4,. un problemaya que sola-
mente.havcuatro parabrasde Rofuf disponiblesp";";;;;-;tina y la confi_
¡r.rracióndel microprogramano tiene racilidad ;";;;Ja,
ú"
bit de condición. Este probremapuede resorverse-i.;iú;;;" estadoder
"t microope_
dos
racionesy una microinstruccióny comprobando
el bif á" con una
compuerta AND externa. para co*pe.r.u, esta "o"¿i"i¿n
configuración no ortodoxa
se agregaun circuito externo ré ilustra en la Fifrrra 11_10.El decodi_
"o-o de salidas pá.u
licador RoM tiene dos terminales
l, Jp"L"i¿" de escritura
de memoria M * B: uno en la salida 11 y el otro
en la sarida 14. Esas dos
salidas se aplican y.ra compuerta oR-externa
común. El terminal ? ;;;";J;;gar una salida
de salida 14 der decodificadó,." r,uúitita durante
cuarta microinstrucciónde la rutina ISZ. Esta."ii¿","-"piica la
puerta AND externa con el bit de condición a una com_
B. p;;;;;;¿r-.i, ru función de
control de incrementodel pc. La salida 2 del
décodifi.uáo, tam_
bién un incrementodel pc. Algunas ae-tasoperaciones "rpecifica
en ras instrucciones
de referenciaentre registro y dé entraáa-salida
especificaniguarmenteesta
operación.Las tres salidas deben aplicarse
a una compue¡taoR para con_
formar una sola salida para incremu.,t". .t pc.
Las r y p del deco_
dificador del ROM se usan conjuntamente
con otras";;1;;i;;
condicionesdel bit de
condición para generar las variábles de contror
restantespara el computa_
dor' Esas variables de control pr"d".r .", generadas
.or, .-, configuración
externa de componenteso con un pLA taf como
se i;Ji";;" el diagrama.

Inc¡ementa¡ el PC
Control de
componentes
Operaciónde registro rnte¡conectados
6
Decodificador , Operación de ent¡ada-sali Operaciones
ROM Po de
PLA 3 de registro y
la Figura 11-8 ent¡ada-salid¿

Figura 11-lO C i r c u i t o s a d i c i o n a l e s p a r a un cont¡ol de


microprograma

1 1 - 8 C O N S O L AD E L C O M P U T A D O R

Cualquier computadortiene un panel de control


o consola con lnt,erruptores
y lámparas para permitir comunicación
manual y visual entre el operador
-l

S E C .1 1 . 8 C O N S O LD
A E LC O M P U T A D O5R
/3

y el computador. Esta comunicación es necesaria para comenzar la opera-


ción del computador (bcntstrapping) y para propósitos de mantenimiento.
Para completar se enumera un conjunto de funciones de la consola útiles
para el computador aunque no se muestren los circuitos necesarios para
configurar estas funciones.
Las lámparas indican al operador la condición de los registros del com-
putador. La salida normal de un flip-flop conectado a una lámpara indica-
dora causará que la lámpara alumbre cuando el flip-flop se pone a 1 y se
apague cuando el flip-flop se borra. Los registros cuyas salidas van a ser
o b s e r v a d a se n l a c o n s o l a d e l c o m p u t a d o r s o n : A , B , P C , M A R , 1 , E , F y S .
Cuando se muestra el número total del flip-flop se encuentra que es nece-
sario 63 lámparas indicadoras.
Un conjunto de interruptores y sus funciones para la consola pueden
incluir lo siguiente:

1. Dieciséis interruptores de "palabra" para establecer manualmente


los bits de una palabra.
2. Un interruptor de "comienzo" para preparar el flip-flop S. La señal
de este interruptor borra el flip-flop F, Nn, Us V el registro G.
3. El interruptor de "parada" para borrar el flip-flop S. Para asegurar
que se complete esta instrucción la señal que viene del interruptor
se aplica conjuntamente con la función de Boole (F* qs I qa * qz *
qt)tz a una compuerta AND antes de que se aplique para el borra-
do de Ia compuerta S.
4. Un interruptor de "cargar dirección" para trasferir una dirección
al registro PC. Cuando se activa este interruptor, el contenido de
los 12 interruptores de "palabra" se trasfieren al PC.
5. Un interruptor de "depósito" para almacenar manualmente palabras
en la memoria. Cuando se activa este interruptor, el contenido del
PC se trasfiere al MAR y se inicia el ciclo de memoria. Después de
1 ¡rs, el contenido de los 16 interruptores de "palabra" se trafieren
al registro B y se incrementa el PC en 1.
6. Un interruptor de "exposición" para examinar el contenido de la
palabra en la memoria. Cuando se activa este interruptor, el conte-
nido del PC se trasfiere al MAR, se inicia un ciclo de memoria y se
incrementa el PC en 1. El contenido de la palabra de memoria es-
pecificado por la dirección en el PC, está en el registro B y puede
verse en las correspondientes lámparas indicadoras.

Para asegurarse que el computador no esté funcionando cuando la ener-


gía se aplica, el flip-flop S debe tener un círculo especial que lo force a una
posición de borrado inmediatamente después de aplicar energía a la má-
quina.

REFR IAS
E ENC
1. Mano, M. M., Computer System Architecture. Englewood CIiffs, N.J.: Prentice-
Hall. Inc.. 1976.
514 D I S E Ñ OD E C O M P U T A D O R E S c A P . 11

2 . Small ComputerHandboofr.Maynard, Mass.: Digital Equipment Corp., 1973.


I . u e v a Y o r k :J o h n W i l e y
B o o t h ,T . H . , D i g í t a l N e t w o r k sa n d C o m p u t e rS y s t e m sN
& S o n s .I n c . . 1 9 7 1 .
H i l l , F . J . y G . R . P e t e r s o nD, i g i t a l S y s ú e m .H and Design.
s :a r d w a r eO r g a n i z a t i o n
\ueva York: John Wiley & Sons,Inc., 1973.
I Bell, C. G., J. Grasony A. Newell, Designing Computersand Digital Sysúems.
\{aynard, Mass.: Digital Press,1972.
Kline, R. M., Digítal ComputerDesign.EnglewoodCliffs, N.J.: Prentice-Hall,Inc.,
79i7.
Soucek, 8., Minícomputers in Data Processingand Simulafion. Nueva York:
J o h n W i l l e y & S o n s ,I n c . , 1 9 7 2 .

PROBLEMAS
11-1. Repas. ,^ ,.rnjunto de instrucciones del computador diseñado en este capítulo
(Tablas 11-2, 11-3 y 11-4) y haga la lista de las instrucciones útiles para:
(a) trasferencias entre la memoria y el acumulador;
(b) trasferencias entre la entrada-salida v el acumulador:
(c ) manipulaciones aritméticas;
(d) operaciones lógicas;
(e) operaciones de desplazamiento;
(f) decisiones de control basadas en condiciones de estado;
(g) subrutina de bifurcación y regreso.
ll-2. Dé una lista de instrucciones para que el computador ponga a uno el flip-flop E.
11-3. (a) Haga una lista de la secuencia de instrucciones para que el computador
ejecute un desplazamiento aritmético a la derecha de un número almacenado
en el acumulador. El número está en la representación de signo complemento
de 2. (b) Repita lo anterior para un desplazamiento aritmético a la izquierda.
Indique cómo se detecta una sobrecapacidad.
11-1. Muestre que la lista de instrucciones obtenidas en el Problema 11-1(d) cons-
tituye un conjunto suficiente para configurar todas las 16 operaciones lógicas
listadas en la Tabla 2-6.
11-5. (a) Escriba una secuencia de tres instrucciones que se almacenen en los lu-
gares de memoria l, 2 y 3. Ellas deben constatar si hay un caracter en un
dispositivo de entrada y si es así, trasferirlo al acumulador. (b) Escriba una
secuencia de tres instrucciones que se almacenen en los lugares de memoria
5, 6 y 7. Ellos deben constatar si el dispositivo de salida está desocupado y si
es así, trasferir un caracter del acumulador.
11-6. El computador descrito en este capítulo no tiene una indicación de sobreca-
pacidad después de sumar dos números con siglo. Asuma que los dos números
agregados con la instrucción ADD están en la representación de signo com-
plemento de 2. Describa un algoritmo en forma de flujograma para un progra-
ma de computador que sume dos números y detecte una sobrecapacidad.
ll-7. El programa siguiente es una lista de instrucciones en código hexadecimal.
El computador ejecuta las instrucciones comenzando por Ia posición hexade-
cimal 100.
516 D I S E Ñ OD E C O M P U T A D O R E S cAP. t 1

Código
Simbolo hexadecimal Descripción Función

ORA 8m OR con A A<_A\/ M


XRA 9m OR-exclusiva con A A<_A6M
S\['P Am IntercambiarA con A<_M,M<_A
la memoria
SUB Bm RestarA de la memoria A<-.M _ A
BSA Cm Bifurcar y conservar la A<-PC,PC<-m
dirección en A
BPA Dm Bifurcar con A positivo si (l > 0)entonces(PC <--m)
BN,d Em Bifurcar con A negativo si (r ( 0)entonces(PC <- m)
BZA Fm Bifurcar si A es cero si (r : 0)entonces(PC<--m)

11-13.El computad,.,rdiseñadoen este capítulo usa un flip-flop F para distinguir


entre los cicl{)s de búsqueday ejecución. Este flip-flop no se necesita si ef re-
gistro de secuenciaG es un contador de 3 bits y su decodificadorentregaocho
señales de tiempo, üo hasta ¿7. El registro G puede borrarse ran pronlo
como se complete la ejecución de la instrucción. (Esta es la forma como fue
diseñadoel control en el computadorsencillo de la Seccióng-12.)
(a) Revise las Tablas 11-5,11-6y 11-zpara estar de acuerdocon este nuevo
esquemade control.
(b) Determine el tiempo de ejecuciónde cada instrucciónincluvendoel tiem-
po de búsquedade la instrucción.
11-14.Haga una lista de las proposicionesde trasferencia entre registros para Ia eje-
cución de las instruccionesque se listan a continuación.Asuma que el com-
putador no tiene un flip-flop F, pero que el registro de secuenciaG tiene 16
variables de tiem¡n fo hasta úr". El registro G debe borrarse cuando se
completela ejecuciónde la instrucción. El ciclo de búsquedapara el compu-
tador es ahora:

toi PC <_ MAR


tti B<_M,PC<_PC+1
tzi r <- B(oP)

cada una de las siguientesinstruccionescomienzanel ciclo de ejecucióna


partir de la variable de tiempo t3. La última proposiciónincluye la micro-
operaciónG.- 0.

Código
Símbolo hexadecimal Descripción Función
SBA 8 m SubstraerdeA A<_A _ M
ADM 9 m Agregara la memoria M <- A + M (A no cambia)
BEA A m Bifurcar si A es igual S i ( A : M ) e n t o n c e s( P C * m )
(A no cambia)
P R O B L E M A5S17

11-15.Compare las proposicionesde trasferencia entre registros del registro A lista-


das en Ia Tabla 11-10con el acumuladordiseñadoen la Sección9-10.Diseñe
una etapa típica del registro A para el computador usando el procedimiento
esbozadoen la Sección9-10.Incluya el circuito para la variableA, de detec-
ción de cero.
11-16.Dibuje las compuertaslógicas que generanlas funcionesde control ot has-
ta a, para el registroA (Tabla 11-10).
11-17.Comenzandopor Ia proposiciónde trasferenciaentre registrosdada en la Ta-
bla 11-10para el flip-flop E derive las funcionesde entrada de Boole para E.
Use un flip-flop JK.
11-18.Una manera de simplificar un circuito cuandose usa el método de trasferen-
cia entre registros es usar los caminos comunes mientras se desarrolla la
lista de proposiciones.Para ilustrar con un ejemplo particular considereel
multiplexor para la entrada del PC en la Figura 11-7.Este multiplexor no
seríanecesariosi se puederemplazarla proposición:

PC <- MAR

por la proposición:

Fqat2; PC <- B(AD)

en la instrucción BSB de la Tabla 11-7.Explique por qué puedehacerseesto


y cómo resulta en la eliminación del multiplexor del diagramade bloque del
computador.
11-19.Un contado¡de 4 bits con carga en paralelo se encapsulaen un circuito inte-
grado. ¿Cuántos CI se necesitan para construir los siguientesregistrosde
computador:PC, MAR, Iy G?
11-20.Diseñe el registro G del computadorusandoun contadorde 4 bits con carga
en paralelodel tipo mostradoen la Figura 7-19.
11-21.Dé una lista de la tabla del programadel PLA 2 de la Figura 11-8.
11-22.Cambie la instrucción AND del computadora una instrucción OR y modifi-
que el microprogramade la Tabla 11-14para que esté acorde.Asignela micro-
operaciónOR a la salida 15 del decodificadoren Ia Tabla 11-13.
11-23.Cambie la instrucción BSB del computadora la instrucción BSA definida en
el Problema 11-12.Modifique el microprogramade la Tabla 11-14para estar
acordecon ese cambio.La codificaciónde los bits de ROM en la Tabla 11-13
puedennecesitarun cambio también.
11-24.Diseñeuna unidad de control de microprogramapara un computadorque con-
figure el ciclo de búsqueda y ejecución de las instrucciones de referencia de
memoria listadas en Ia Tabla 11-2y el Problema 11-12.Incluya dos salidas
para la referencia de registros y las operacionesde entrada-salida,
Diseño del sistema
del
microcomputador "'ffi
T**-
12-1 TNTRODUCCTON

Un sistema digital se define por los registrosque contiene y las operacio-


nes que hace con la información binaria almacenadaen ellos. Una vez que
se ha especificadoun sistema digital, el papel del diseñadores desarrollar
los materialesque configuran la secuenciarequeridade operaciones.El nú-
mero de microoperaciones diferentesde un sistema dado es finito. La com-
plejidad para el diseño es una secuenciade operacionespara lograr Ia tarea l
necesariade procesamientode datos. Esta abarca la formulación de las
funciones de control o el desarrollodel microprograma.Una tercera alter-
nativa es usar un microcomputadorpara configurarel sistema digital. Con
un microcomputador,la secuenciade operacionespuede formularsecon un
conjunto de instruccionesque constituyen un programa.
Un sistema digital puedeser construidopor medio de los circuitos MSI
tales como registros,decodificadores,ALU, memoria y multiplexores. Tal
sistema hecho a Ia medida tiene la ventaja que se ajusta a las necesidades
de una aplicación particular. Sin embargo,un sistema digital construido
con circuitos MSI podría requerir un gran número de circuitos integrados.
Sin embargo,cualquier modificación que pueda necesitarse,una vez haya
sido construido el sistema, se debe lograr por medio de cambios de alam-
brado entre los componentes-
Algunos sistemas digitales son adecuadospara el diseño del LSI con
componentestales como la unidad de proceso,el secuenciadordel micro-
programay la unidad de memoria. Estos sistemaspuedenser microprogra-
mados para adecuarsea especificaciones requeridas.El método del micro-
programa opera a nivel de trasferencia entre registros y debe especificar
cada microoperaciónen el sistema. La organízacióndel LSI microprogra-
mado usa menos CI que la configuracióncon MSI.
El número de CI puede reducirseaún más si el sistema digital es ade-
cuado para ser construido con componentesLSI del microcomputador.Es-
tos componentespueden ser clasificadospor funcionesde la siguiente ma-
nera:
1. Un microprocesador,
el cual es una unidad central de proceso(CPU)
en una pastilla LSI.
encapsulado
518
sEc.12-1 T N T R O O U C C T O N5 / 9

2. La memoria de acceso aleqtorio (RAM) y la rnemoria de sólo lect:t.c


(ROM) o circuitos integrados que pueden combinarse para formar
cualquier tamaño de memoria necesaria para una aplicación.
ll. Las unidades programables de interconexión cuya función es inter-
conectar entre el CPU o la memoria una amplia variedad de disposi-
tivos de entrada y salida.

El usuario puede interconectar esos componentes LSI para formar un sis-


tema de microcomputador que se ajuste a las necesidades del diseño y que
reduzca drásticamente el número de CI.
Un microprocesador combinado con los módulos de memoria y de inter-
conexión se llama microcomputador. La palabra micro se usa para indicar
el pequeño tamaño fisico de los componentes integrantes. La segunda parte
de la palabra en microprocesador y microcomputador es lo que realmente los
diferencia. Procesador se usa para indicar aquella sección del sistema, la
cual ejecuta las funciones básicas para realizar instrucciones y procesar da-
tos de la manera especificada por el programa. Esta parte se llama usualmen-
te el CPU. El término microcomputador se usa para indicar un sistema de
computador de pequeño tamaño consistente de tres unidades básicas: CPU,
memoria e interconexión de entrada-salida. El microprocesador se encap-
sula comúnmente en un CI y se llama pastilla de microprocesador. Un micro-
computador se refiere, en la mayoría de los casos, a una interconexión con
componentes LSI. Por otra parte, algunas pastillas microprocesadoras in-
cluyen dentro de la cápsula no solamente el CPU sino una parte de la me-
moria. Tal componente LSI se llama algunas veces microcomputador de una
cápsula.
Un microcomputador puede ser usado como un computador para propó-
sitos generales de bajo costo, para proporcionar capacidades similares a
aquellas de cualquier otro sistema de computador. Aunque ésta es una apli-
cación importante, no es la que se quiere enfatizar. En muchas aplicaciones,
el microcomputador se usa como un sistema general para propósitos espe-
ciales para proporcionar las operaciones de trasferencia entre registros del
sistema. Este tiene la ventaja que pocas cápsulas LSI remplazan una gran
cantidad de circuitos MSI que serían necesarias para generar estas opera-
ciones. Otra ventaja es que las operaciones de trasferencia entre registros
para el sistema pueden especificarse con un programa. El programa de una
aplicación para propósitos especiales es inalterable y por esta razón puede
ser almacenado en una memoria de sólo lectura. Una vez que un programa
fijo reside en una ROM no hay diferencia de comportamiento entre un sis-
tema digital y el diseño con base en los materiales para un cliente.
La característica más importante del microcomputador es que un siste-
ma digital para propósito especial, de aplicación única, puede ser diseñado
para escribir un programa para un computador digital para propósitos gene-
rales. La ejecución de los programas fijos e inalterables causa que el micro-
computador se comporte de una manera preestablecida, justamente como
se comportaría un sistema digital correspondiente basado en MSI. Este
método de diseño digital no era económicamente factible de configurar, an-
tes del desarrollo de los componentes de microcomputador pequeños 1' de
bajo costo.
5 2 O D I S E Ñ OD E L S I S T E M AD E L M I C R O C O M P U T A D O R cAP.12

EI programa almacenado en la parte de la ROM de un sistema de mi-


crocomputador es un programa de computador que no necesita alteracio-
nes. Como la RAM es una memoria volátil, al cortar el suministro de poten-
cia ¡' activarlo de nuevo, se destruye la info¡mación binaria almacenada en
ella. La ROM es una memoria no volátil y el programa almacenado en ella
está disponible cada vez que se le suministre potencia. Por esta razón, la
parte de ROM de un sistema de microcomputador se llama también la me-
moria de programa.
En este punto se debe distinguir entre un microprograma y un micro-
computador. Aunque ambos usen la palabra micro, el primero se deriva del
concepto de las microoperaciones mientras que el segundo se refiere al ta-
maño pequeño de los componentes. Ambos usan una ROM para almacenar
un programa que especifica las operaciones en el sistema. Un microprogra-
ma almacenado en la memoria de control configura la unidad de control en
el CPU. Las instrucciones almacenadas en un microcomputador pueden ser
consideradas como macrooperaciones para el CPU en vez de microinstruc-
ciones para los registros de proceso. Además, el microprograma con palabras
se refiere a la forma como se ha configurado la unidad de control. Un micro-
computador es un computador de tamaño pequeño cuyo CPLI puede o no te-
ner una unidad de control de microprograma.
El microcomputador de bajo costo y pequeño tamaño ha cambiado la
di¡ección del diseño lógico digital. En vez de realizar un grupo de operacio-
nes de trasferencia entre registros por funciones de control o un micro-
programa, se realizan funciones lógicas especificando un conjunto de ins-
trucciones, las cuales se almacenan en una ROM y se ejecutan en el CPU
microprocesador. Este método de diseño puede ser clasificado como un mé-
todo Lógicoprogramable ya que las operaciones secuenciales son especifica-
das con un programa almacenado en la memoria.
El microprocesador es un componente central en un sistema de micro-
computador. La cantidad y tipo de memoria en el sistema, Io mismo que la
naturaleza de las unidades de interfase de I/O que se usan son una fun-
ción de Ia aplicación particular. El programa fijo que reside en la ROM de
un sistema de microcomputador particular es también dependiente de una
a p l i c a ci ó n e s p e c í f i c a .
El diseño de un sistema de microcomputador puede ser dividido en dos
partes: diseño de materiales y diseño de programación. El diseño de los ma-
teriales consiste en la conexión de los componentes fisicos para producir
un sistema digital completo. El diseño de la programación trata del desa-
rrollo de los programas para una aplicación particular. Escribir programas
para un microcomputador es esencialmente igual que hacerlo para cualquier
otro computador. La única diferencia es que ei programado¡ de microcom-
putador debe estar familiarizado con la configuración de los materiales y
debe tener en cuenta los problemas asociados con la aplicación particular.
Escribir programas para un computador establecido para propósitos gene-
rales incluye por lo general procedimientos de cómputo que requieren muy
pocos conocimientos de la construcción de los materiales del computador
en sí, en caso de que los haya.
Este capítulo abarca los aspectos dg los materiales de los microcompu-
tadores sin tener en consideración los problemas de programación. Escribir
a

sEc. 12-2 O R G A N I Z A C I OD
NE L M I C R O C O M P U T A D O R

programas para un microcomputador es similar a escribir un microprogra-


ma para la memoria de control, excepto que se debe usar el conjunto de ins-
trucciones para el microprocesador comercial seleccionado. El estudio del
diseño de los materiales es un tema que por sí solo podría llenar todo un
volumen.
En este capítulo se definen primero varios componentes de un sistema
de microcomputador y la forma como se comunican entre sí. La organiza-
ción del microprocesador típico se presenta entonces y sus operaciones
internas y externas se explican. Algunas características importantes co-
munes a todos los microprocesadores son discutidas. Se muestra entonces
la organización de Ia sección de memoria y se explican varios tipos de uni-
dades de interconexión usados comúnmente en el diseño de sistemas de
microcomputadores.

1 2 - 2 O R G A N I Z A C I ODNE L M I C R O C O M P U T A D O R

Un sistema típico de microcomputador consiste de un microprocesador más


memoria y una interconexión I/O. Los diferentes componentes que forman
el sistema están enlazados por medio de buses que trasfieren instrucciones,
datos, direcciones e información de control entre los componentes de CI' La
Figura 12-1 muestra el diagrama de bloque de un sistema de microcompu-
taáor. Típicamente el microcomputador tiene un solo microprocesador. Si

Microprocesador

Bus de Líneas Bus Bus


direcciones de control liO de datos

Figura 12-1 Diagrama de bloque del sistema de microcomputador


522 D I S E Ñ OO E L S I S T E M AD E L M I C R O C O M P U T A D O R cAP.12

se incluyen varios procesadores, se tiene entonces un sistema multiproce-


sador. el cual es una posibilidad válida. Un número de cápsulas RAM y
ROM son combinadas para formar un tamaño dado de memoria. Las unida-
des de interconexión se comunican con dispositivos externos a través del
bus I,'O. En un tiempo dado el microprocesador selecciona una de las uni-
dades por medio del bus de direcciones. Los datos se trasfieren de la unidad
seleccionada al microprocesador vía el bus de datos. La información de con-
trol se trasfiere usualmente por medio de líneas individuales, cada una
especificando una función de control particular.
El propósito del microprocesador es suministrar un cPU que interprete
códigos de instrucción recibidos de la memoria y ejecutar operaciones arit-
méticas, lógicas y de control basadas en datos almacenados en registros
internos, palabras de memoria o unidades de interconexión. EI micropro-
cesador contiene un número de registros, una unidad lógica aritmética,
una unidad de tiempo y una lógica de control. Externamente, éste entrega
un sistema de buses para trasferir instrucciones, datos e información de
control hacia los módulos conectados con é1. Las operaciones internas de
un microprocesador típico y las funciones de las líneas de control se des-
criben en la Sección 12-3.
La memoria de acceso aleatorio es una memoria del tipo de lectura-es-
critura y consiste de varios CI conectados entre sí. La RAM se usa para
almacenar datos, parámetros variables y resultados intermedios que nece-
sitan renovación y que están sujetos a cambio. La ROM consiste de un
número de CI y se usa para almacenar programas y tablas constantes que
no están sujetas a cambio una vez que se haya terminado la producción
del sistema del microcomputador. El método de conectar pastillas de me-
moria al microprocesador se describe en la Sección 12-6'
Las unidades de interconexión presentan los caminos necesarios para
trasferir información entre el microprocesador y los dispositivos externos
de entrada y salida conectados al bus l/O. El microprocesador recibe in-
formación de condiciones y datos de los dispositivos externos por medio de
la interconexión. Este responde enviando información de control y datos
para los dispositivos externos por medio de la interconexión. Esta comuni-
cación se especifica por medio de instrucciones programadas que dirigen
Ios datos por medio del bus en el sistema del microcomputador. Los dife-
rentes módulos de interconexión disponibles en los microcomputadores y
su operación se presentan en la Sección 12-7.
La comunicación entre las compuertas LSI en el microprocesador se
lleva a cabo vía el bus de direcciones y el de datos. El bus de direcciones es
unidireccional desde el microprocesador a otras unidades. La información
binaria que el microprocesador coloca en el bus de direcciones especifica
una palabra de memoria particular en la RAM o ROM. El bus de direcciones
uia para seleccionar una de las diferentes unidades interconectadas al
"e
sistema o a un registro particular de una unidad de interconexión. Una pa-
labra de memoria y un registro de interconexión pueden distinguirse asig-
nando una dirección diferente a cada uno. De manera alterna, una señal de
control puede usarse para especificar si la dirección en el bus es para una
palabra áe -emotiá o para un registro de interconexión. El número de líneas
disponible en el bus de direcciones determina el tamaño máximo de memo-
-l

sÉc. 12-2 523


ORGANIZACIONDELMICROCOMPUTAOOR

ria que puede ser acomodadoen el sistema. Para n líneas, el bus de drrec-
cionéepuede especificarhasta 2" palabras de memoria. La capacidadtrp:-
ca de ún bus de direccionesde un microprocesadores 16, para tener una
capacidadmáxima de memoria de 216:65.536 palabras.La cantidad de me-
mória empleadaen un sistema de microcomputador dependede la aplicación
particulai y a menudo es menor que la máxima disponible en el bus de di-
recciones.
El bus de datos trasfiere los datos del microprocesa$ora la memoria
o interconexióny viceversa,la cual es seleccionadapor el bus <1e_direccio-
nes. El bus de áatos es bidireccional, lo cual significa que la información
binaria puede fluir en cualquier dirección. Un bus de datos bidireccional
se usa para ahorrar patillas en un circuito integrado. Si la unidad no usa-
ra un 6us bidireccional sería necesariocolocarle terminales de entrada y
salida, separadosen la cápsula del circuito integrado.El número de líneas
'
en el bus de datos del mióroprocesadorvaría entre 4 y 16 siendo 8 líneas el
más común.
tras-
u, grupo separadode buses de datos y de dir-eccioneses la vía de
La ventaja de este
ferencia .o-úr, encontrada en los microprocesadores.
p,t"d" una palabra en la
esquema es que el microprocesador .seleccionar
memoria v trásferir la palábra de datos al mismo tiempo. Algrnos micropro-
I \ un bus tomún el cual es multiplexado en tiempo, para tras-
puede
ferir direccioneso datos. Por ejemplo, una baria de 16 líneas comunes
""*udor"r-usan
16 bits seguida de una palabra de
usarse para trasferir una dirección de
escrita en la memoria. La ventaja de este es-
datos de 16 bits que va a ser
quema es que se necesitan menos patillas y aún- así los datos pueden ser
uso
de 16 bits áe longitud. La desventaja estriba en el tiempo perdido en el
secuencialdel bus común y la necesidadde un retenedor externo para re-
tener la dirección de la memoria. Algunos microprocesadores _c-omparten
solamentepu.t" d"t bus del sistema eñtre datos y direcciones.un bus de
y
16 líneas puede usar 8 líneas bidireccionales para trasferencia de datos
16 líneas iu." tt".f.rencia de direcciones.Esto requiere compartir el bus
de datos iu q"" la dirección se divide entre las 8 líneas del bus de datos
I y las 8 líneasrestantesdisponibles.
En vez de usar la cápsulamicroprocesadora como la que se muestra en
la Figura 12-1,en algunas aplicaciones se remplaza estebloquecon una cáp-
sula microcoáputadora. Típicamente una cápsula microcomputadoracon-
tiene un CPU con 64 palabias de RAM y 1.024palabrasde ROM, todo en-
capsuladoen el circuiio integrado.Tiene ademásalgunascaracterísticasde
interconexión. Si el sistema digital que se va a diseñar no requiere más
memoria o característicasde interconexión adicionales,entoncesel siste-
ma microcomputadorpuede construirse con una sola cápsula,componente
microcomputadora.De esta manera, esta cápsula puede usarse como un
.olnpo.r"ni" de bajo costo y escasotamaño para una aplicación indepen-
diente. La mayoríá de las cápsulasmicrocomputadoraspueden ser.expan-
didas con RO-M externa, RÁM y característicasde interconexión para
sub-
. Droducir una aplicación de control más poderosa.En las discusiones
f ;lg,riente., la memoria y la interconexión estarán separados del C-PU, pero
debe tenerseen cuenta que algo de memoria e interconexión puede ser in-
cluido dentro de la cápsula de CI que contiene el CPU'
5 2 4 D r s E ñ oD E Ls t s r E M AD E LM t c R o c o M p u r A D o R cAP.12

Para facilitar el desarrollo de los sistemas digitales para propósitos


espccialespor medio de un microcomputador, muchás fuenies ofiecón una
unidad microprocesadoracompleta en un solo tablero impreso. El micro-
pmcesador,un grupo de CI ROM, RAM y de interconexiónconjuntamente
ccn otras cápsulasMSI y SSI, necesariaspara la construcciónde la unidad
de mic¡ocomputador,se montan en un solo tablero impreso.Los terminales
de los CI se conectanpor medio de alambresimpresospara formar una uni-
dad microcomputadoracompleta. Al usuario se le da accesoa la inter-
conexión de los dispositivos l/O por medio de los contactos del conec-
tor del tablero. El conector tiene otros contactos para acomodar todos los
busesde información y permitir expansiónexterna de memoria y de inter-
conexiónal tablero. La expansiónde memoria e interconexiónse encuentran
disponibles en tableros impresosya fabricados.

Separadordel bus

El sistema de buses de un microprocesadorse configura comúnmente por


medio de separadoresdel bus (bus buffer) construidos con compuertas de
\ tres estados.Una compuertade tres estadoses un circuito digital que tiene
tres condicionesa la salida. Dos de las entradas son señalesequivalentes
al binario 1 ó 0, como en las compuertasconvencionales.El tercer estado
se llama el estadode alta impedancia.Este último se comporta como si la
salida estuviera inhabilitada o "flotara", lo cual significa que no puede
afectar ni ser afectadopor alguna señal externa en el terminal. El circuito
electrónicode una compuertade tres estadosse explica en la Sección13-5
conjuntamentecon la Figura 13-16.
El símbolo gráfico de una compuerta separadora de tres estados se
muestra en la Figura I2-2. Esta tiene una entrada normal y una entrada de
control que determina el estadode la salida. Cuando la entrada de,control
es igual al binario 1, la compuerta se comporta como un separadorconven-
cional con la salida igual a la entrada normal. Cuando el terminal de con-
trol es 0 se inhabilita la salida y la compuertapasa al estadode alta impe-
dancia, sin tener en cuenta el valor de la entrada normal. El estadode alta
impedancia le imprime a la compuerta de tres estados una característica
no disponible en otras compuertas.Debido a esta característicase puede
conectar un gran número de compuertas de tres estados a alambres para
formar un bus común de líneas sin causar efectosde carga. Sin embargo,en
un tiempo dado no puede estar más de una compuerta en estado activo.
Las compuertas conectadas deben ser controladas de manera que sola-

Entrada no¡mal A Y:AsiC:1


Y sehabilitacuandoC : 0
Entrada de cont¡ol C

Figura l2-2 Símbolo gráfico para una compuerta separadorade t¡es estados
sEc. 12-2 ORGANIZACIONDEL MICROCOMPUTADOA 525

mien-
mente una compuerta de tres estados tenga acces-oal bus de líneas
tras que las otrás compuertas estén en el estado de alta impedancia.
de bus para
ú., bus bidireccional puede construirse con separadores
línea del bus bidireccio-
controlar la direcciól á"f nir:" de información' Una
i; ng"iá fZ-g. El bus de control tiene dos líneas de
nal se muestra de
""
p"ru t"-ti"r?át""cia de entrada y so para la trasferencia
*ñó*-;, esta-
selección controlan los dos separadores de tres
salida. Esas líneas áe se
dos. Cuandos¡:1;;;:0 el separadorinferior se habilita y el supe-rior
Esto forma una vía para
inhabilita al pasar a un estado dL alta impedancia. su-
ild;;", de Lntrada-prwerriettes del bus para pasar por el separador
Cuando s, : 1 y s, 0' el separador superior
perior y pasar trrago -
"t-.i.tema. Esto forma
í"-fr"¡iflt" y el inferior pasa a un estado de alta impedancia- que pasan por
purá lo. datos dé salida provenientes del sistema y
,"" puede inha-
"i" superlo*.Ñu"1" bus de líneas. La línea de bus
la compuerta sepa-
"f ambos, lo cual coloca a ambos
bilitarse haciendot,-t .t, igual a cero
para prevenir cualquier trasferencia
radores en estado d"""it" impedancia
de información de o entrada a tiavés del bus de líneas' Esta condi-
""lidu el bus común para
ción debe existir cuando una fuente externa esté usando
dos líneas de selecciónpueden
comunicarsecon algún otro componente.Las
externos conectados al bus del es-
!' ser usadas p"r^ irrrár-a, u lo" *ódnlo.
en un momento dado de tiempo'
;;d" ;; ef cuaf está el bus bidireccional
la capacidad de carga de un bus de micro-
En la mayoría de los casos
á""ir, p.r"d" soportar un número reducido de
p-"..áao, e."li*itáái
""
Cuando eI bus se conecta a un gran número de unidades
i"rg".-".t"rnas.
Ia capaciáaá d"
-d"l del microprocesadordebe ser reforzadacon
"*iEirru.,
separadores bus los cuales se pueden encontrar en la forma
""rg"
de entrada y
de cI. Además, cualquier componente qu" iiette terminales
"*t"..ro.
microcompu-
."fiJ" ."pu."ao., debó estar conectadoal sistema de bus del
de separadores de bus externos para poder.aislar el compo-
;;il;p.i-edio
de micro-
nente cuando no se L*iá .o*,r.ticando con el bus. Así, un sistema
.rece*ita-rnu' u -u""¿o separadores de bus externos entre el
;;;p";"¡"r
t St y entre ciertos componentes LSI
microprocesadory ;;;";p.nentes
y el sistemade bus común.

Controlde salida

Línea del bus


bidireccional

Control de entrada

Bus habilitado
Control s i (alta imPedancia)
de bus .r0

Figura l2-3 Separador de bus bidi¡eccional


1 2 - 3 O R G A N I Z A C I ODNE L M I C R O P R O C E S A D O R

Para garantizar un amp.lio.rango de aceptabilidad,un microprocesador


de-
be tener una organizaciéninterna adecuadapu." .rn" gu-u amplia de apli-
caciones.Las organizacionesde los microprócesadores-comerciáles difieren
entre sí, pero ellas tienen la propiedad común de una unidad procesadora
central. como tal, ellas son capacesde interpretar códigosd.elnstrucción
recibidosde la memoria y de realizar tareas de procesam"iento
de datos es_
pecificadospor un programa. Ellas respondená los comandosde control
externos y generan señales de control para ser usadas por módulos ex-
t ernos.

Conjunto típico de señales de control

La operación adecuadade un microprocesadorrequiere que se presenten


ciertas señaiesde cont¡ol y tiempo para lograr funcioneséspecíficasy que
otras señalesde E:ontrolsean medidaspara determina¡ el estadodel micro_
procesador.un conjunto típico de líneasde control disponiblesen la mayo-
ría-de los microprocesadores se muestra en la Figuruiz-q. para compleiar
el diagrama se muestra también el bus de datos,ll bus de direccionesy el
terminal de entrada de la fuente de poder a la unidad. Las necesidadeide
potencia de un microprocesadorparticular se especificanpor el nivel de
v'ltaje y consumo de poder que debe suministrar.L puru op"i", el cI.
El terminal de entrada del reloj es usado pot microcomputador para
generarpulsos de reloj de multifase y produciisecuencias
"i de tiempo y lo.r-
trol para las funciones Aigunos microprocesadoresrequieren un
-internas.
generadorexterno de pulsos de reloj para producir los pulsos. En
este caso
Bus de datos

Fuente de poder

Ent¡ada del reioj Salida del reloj


Poner a ce¡o

Petición de interrupción
Microprocesador Reconocimientode interrupción
Petición de bus
Bus garantizado

Lectura

Escritu¡a

Bus de dirección

Figura 12-4 Señalesde control en un microprocesador

526
sEc. 12-3 O R G A N I Z A C I O N D E L M I C R O P R O C E S A D5O2F7

ei reloj de salida lo produce el generador de reloj en vez del microprocesad"r


en sí. Algunas unidades generan el pulso de reloj dentro de sí, pero requie-
ren un .ii.tul externo o circuito para controlar la frecuencia del reloj' Lc''
pulsos de reloj son usados por los módulos externos para sincronizar sus
óperaciones con las operaciones del microprocesador.
El terminal de puesta a cero o reset se usa para reposlcronar o rnlcrar
el microprocesador áespués de haber activado la potencia o en cualquier
momentó en que el usuario quiera comenzar el proceso desde el principio.
El efecto de la señal de puesta a cero es iniciar el microprocesador, forzando
una dirección dada al contador del programa. El programa comienza la eje-
cución con la primera instrucción en esa dirección. La manera más simple
de iniciar una puesta a cero es borrar el contador del programa y comenzar
el programa deide la dirección cero. Alg¡nos microprocesadores responden
a la señal de puesta a cero trasfiriendo el contenido de un lugar de memoria
específico al óontador del programa. El diseñador debe almacenar Ia direc-
ción de comienzo del programa en el lugar de memoria adoptado'
La requisición de interrrupción (interrupt) al microprocesador, vierl
típicamente de un módulo de interconexión para informar al microprocesa-
dár que esté listo para trasferir la información. Cuando el rnicroprocesador
recib-euna requisición de interrupción, suspende la ejecución del programa
corriente y se bifurca a un programa que sirve de módulo de interconexión.
Al completar la rutina de servicio, el computador regresa al programa pre-
vio. La facilidad de interrupción se incluye para producir un cambio en la
secuencia del programa como resultado de las condiciones externas. El con-
cepto de interrupción y el método de responder a una requisición de inte-
rrupción se discute en la Sección 12-5.
El terminal de entrada de bus-request (requisición del bus) es una re-
quisición al microprocesador para suspender su operación y llevar todos los
É.,.", u su estado de mayor impedancia. Una vez reconocida la requisición,
el microprocesador responde habilitando la línea de salida de control de
garantía de bus (bus-granted). Así, cuando un dispositivo externo desea
Irasferir la información directamente a la memoria, éste solicita que el mi-
croprocesador abandone el control del bus común' Una vez que el bus sea
intrabititado por el microprocesador el dispositivo que originó la requisición
toma control sobre el bui de direcciones y datos para conducir las trasfe-
rencias de memoria sin Ia intervención del procesador. Esta característica
se llama acceso directo de mernoria y se discute en la Sección 12-8.
Lectura y escritura son líneas de control que informan el componente
seleccionado por el bus de direcciones de la dirección de la trasferencia es-
perada en el bus de datos. La línea de lectura informa a la unidad seleccio-
nada que el bus de datos está en el modo de entrada y que el procesador
aceptaiá datos del bus de datos. La línea de escritura indica que el proce-
sad-or está en el modo de salida y que los datos válidos están disponibles
en el bus de datos. Cuando los buses están inhabilitados, las dos líneas de
control estarán en el estado de alta impedancia; así, la unidad externa que
controla los buses puede especificar las operaciones de lectura y escritura.
Existen otras posibilidades para el control de los buses. El bus de di-
recciones puede sei controlado con una línea adicional para indicar si la
dirección é* pa.u una palabra de memoria o para una unidad de intercone-
528 D I S E Ñ OD E L S I S T E M AD E L M I C R O C O M P U T A D O R
CAP.12

xión. otra posibilidad es combinar las líneas


de control de rectura y escri_
tura en una línea que se denomina R/w.
cuando f i;ái;u
lectura y cuando es 0 indica escritura. "*1ulí.r"u
una segunda línea de"*control es
necesaria para indicar cuándo una dirección
váriáa está en el bus de di¡ec-
ciones de mane¡a que los componentes.externos
respondan a ra línea R,/w
solamente cuando se solicita trrru dirección váliáa,
"o.,
Las señales de control enumeradas. en la Fisu; 12-4 constituyen un
conjunto mínimo de funciones de control pa.a
;;;;rñrocerador. La ma_
yoría de los microprocesadores tienen
características de control adiciona-
les para funciones especiales. uniaades
diferentes pueden usar nombres
numéricos diferentes para funciones
de control idénticos y no necesaria_
mente los nombres usados aquí.

E j e m p l od e C p U

Para apreciarlas ta¡easrealizadas.por un microprocesador,


tructivo investigarla organización puedeser ins-
internade una tlpi ca.La Figura
12-5muestra el diagrama de bloque de una unidad""iaáJ
procesadoracentral en-
cerrada dentro de u.na.cápsulamicroprocesadora:'
E;;;;;u-ente cuenta
con un bus de datos bidireccionar,un bus
¿e ¿irecciones-]-rrr, ,r.i-uro de rí_
neas,decontrol. Aquí se muestran soramente
las líneasdá control asociadas
con la t¡asferenciaen el bus. El bus d*.aato,,";;;;g""-il
bolo DBUS y consistede ocho tí"ear.ia información medio del sím_
conlenida en las ocho
líneas se.llama byte u octeto, el cual constituye
un nombre para denotar
una palabra de 8 bits. El bus de direccionesdesi-gnado
poi-J-*i*bolo ABUS,
consistede 16 líneas para especificar2t6
.:64K'(i: i.ó2;i dire"cio.,e. frl
sibles. Así, el micropr-ocesadores d"
"upu, ,rrru unidad de
memoria de G4K bytes. "orou.ri.u.."-*í
Internamente, el microprocesadortiene seis
registros procesadoresde-
marcados B hasta G, un régistro acumulador
fi, la letra A y
un registro temporal
.7- Estos registros son de g!q"!c"qáá
bit"s á" ro'"gitra y pueden
acumular un byte. El ALU opu.u-"o.rlos datos
y T y el
resultado de_la operación se trasfiere a A o a "r-u""""aos en ¿
través de un bus interno a
cualquiera de los seis re,gistrosprocesador".. nil";;.;;
le con¿ición re_
tiene el bit de condiciónde una operacióntal como
rinal del ALU,
el valor del bit de signo y la indicación de resurtado "l""rr"rt* nr código de
operación de una instrucción se trasfiere al registro "..ál
¿"-ir,.trrr".ión (.IR),
donde se decodifica para determinar la secuencia
de microoperacionesne-
cesaria para ejecutar la instrucción. El_tempori zador y
contror supervisa
todas las operacionesinternas en el CPU y las líneas
de cont¡ol externas
en el microprocesador.

al microprocesado¡
8080,/85
exceptoque los registrosF y G se llaman
"r;.}iffi%'j:t
*El
registro de condición fue discutido en la
Sección 9_2.
I
, Bus de datos
t bidireccional
(DBUS)

+I
8il
Separadores
de datos

Bus internode 8 bits

Multiplexor

i(eg Reg rstro Registro B C


de instrucción
temporal (7') de cor L d i c i ó n
(/R ) D E

c
Contado¡ de
ú programa (PC )
Decodificador e
A U Indicador
de instrucción
de pila (SP)
Registro de
Registro di¡ección (4fi )
acumulado¡
(A) Temporizador +H+ L---->
J

control 16 9 8
Separadores de
direcciones
Otras WR RD
Iíneas (escri- (lec-
de cont¡ol tura) tura) (ABUS)
Busdedirección

Figura 12-5 Diagrama de bloque del microprocesador

Los separadoresde direccionesreciben la información de tres fuentes:


(SP)-y
el contador del programa (PC), el indicador de pila o stack pointer
el registrode direci"iones(AR). El PC mantiene la dirección de memoria de
la iñstrucción corriente del programa y se incrementa después de c-ada
búsquedade instrucción. El ÁR .u usa para almacenamientotemporal de
las áireccionesque se leen de la memoria. Las funcionesde estosdos regis-
tros serán clarificadas cuando se describan las secuenciasde operaciones
del cPU. SP se usa conjuntamentecon una pila de memofia,ysu función se
en la Sección ri-5. El bus de direccionespuederecibir información
"-pfi*
de direccionamientode un par de legistros procesadores. Se puedenformar
tres pares para conformar una dirección de 16 bits. Estos se demarcancon
los simbolós de registros combinadosBC, DE y FG. Cada registro proce-
sador contiene 8 bits y cuando se combina con el adyacente,conforma un
par de registrosde 16 bits. Es convenientealgunas vecesdividir los tres
529
5 3 O D I S E Ñ OD E L S I S T E M AD E L M I C R O C O M P U T A D O R cAP. 12

registrosde 16 bits PC, SP y Aft en dos partes. El símbolo11 designalos 8


bits de mayor orden y el símbolo,L los g bit. d" menor orden. Así PC (,L) se
refierea los bits 1a 8 del PC y pC (ll) se refierea los bits 9 a 16.

C i c l od e m e m o r i a

La unidad de memoriaconsistede RAM y RoM. Esta se conectaal micro-


procesadorpor medio de los buses de direccionesy datos y el control de
lectura y escritura. Esta se muestra esquemáticamenteen la Figura 12-6.
un ciclo de memoria se define como el tiempo que se requierepara tener
accesoa la memoria con el objeto de leer o escribir un byte.

de direcciónABIIS\
Bus de datos (DBUS )
Micro- Memo¡ia
procesador Lectura (.RD ) (RAM o ROM)
Escritura ( WB )
(para la RAM solamente

Figura 12-6 Comunicación ent¡e el microprocesador y la memorla

En el ciclo de lectura, el microprocesador


colocauna direcciónen ABUS
y habilita la línea de control RD. La memoria respondeleyendoel byte y
colocándoloen el DBUS. El microprocesadoraceptáel byte y lo trasfiereá
un registro externo. Para expresar el ciclo de lectura simbólicamentese
asume que la dirección viene del AR y el byte de datos se trasfiere al re-
gistroA:

ABUS <- AR, RD <- I dirección en el bus para lectura


DBUS <--MIABUS] l a m e m o r i a l e ee l b y t e
A <- DBUS, RD <- 0 el byte se trasfiere a A

Primero, el microprocesadorcoloca la dirección de memoria en el ABUS e


informa a la memoria que hay una dirección válida disponiblepara lectura.
La memoria respond_e RD leyendoel byte en la dirección daáa por ABus
7l
y colocándolaen DBUS. El microprocesadortrasfiere entoncesei byte del
DBUS a A. Al mismo tiempo la señal de control .RD se inhabilita indicando
el final de la trasferenciade memoria.
- Las tres operacioneslistadas anteriormentepueden combinarseen una
sola proposición:
A <- M IARI

Esta es la operación de lectura que trasfiere el byte de memoria direcciona-


d<rpcrr el AR al registro A.
\

sEc. 12-3 O H G A N I Z A C I ODNE L M I C R O P R O C E S A D O R 3Jt

En el ciclo de escrítura, el microprocesadorcoloca una dirección en


ABUS y un byte de datos en DBUS. Al mismo tiempo se trabilita Ia línea
WR. L; memória respondea WR escribiendoel byte del DBtlS en un lugar
de memoria especificádopor la dirección en ABUS. Este procesopuedeser
explicadosimbólicamente:

ABUS <_AR, DBUS <- A, WR <- I


M I A B U S ] + - -D B U S , W R < - 0

Este proceso establece que el contenido- del registro A se trasfiera


al bYte
es posible escribir esta
de mámoria en la dirección dada por AR' De nuevo
operación con una proposición compuesta:

MIAR) <-A

Las trasferencias de memoria al microprocesador deben estar acordes


señales dd
con ciertas relaciones de tiempo que deben existir entre las
y la información de Ios buses. Estas relaciones de tiempo son espe-
control
por formas de onda de tiempo que incluyen en las unidades
cificadas -se
.á-po"""i"s con las especificaciones del producto. El intervalo de tiempo
interna del
de un ciclo de memoria es una función de la frecuencia de reloj
y el tiempo de acceso de la memoria. Una vez que el micrr¡-
-i"-pto""rador
prt."-rfi"r envía la dirección, éste espera una respuesta dentro de un in-
del inter-
ie.valo dado de tiempo. una memoria capaz de responder dentro
directamente por el ciclo
uuto ¿. tiempo del procesador puede ser controlada
de memoria del microProcesador.
podúa to-
Si el micropro".üdo. se comunica con una memoria lenta,
mar más tiempo el acceso de la memoria que el intervalo de tiempo Rerm-i-
.i¡tu- putu pod., ,rru. memorias lentas el microprocesador debe ser capaz de
demorar la trasferencia hasta que se complete el acceso de la memoria. Una
iot*u es expandir el período del reloj del microprocesador es reduciendo
la frecuenciá del reloj p".u q.t" se ajuste al tiempo de acceso de la memoria.
Álg.rno. microprocesádor"r uien"tt con un terminal de control especial, lla-
mído ,"ady, (listo) para permitir que la memoria coloque su propio tiempo
(listo)
de ciclo dé memoria-. Si él microprocesador no recibe la señal ready
áe la memoria, después de enviai Ia dirección, entrará en un estado de es-
duranté el tiempo en que Ia línea de ready (listo) esté en el es-
iiri tiart¡,
pasa
i"do O. Cuando se complete-el accéso de la memoria, la línea de ready
ai estado 1 para indicar que la memoria está lista para una trasferencia
específica.

Secuenciamiento del microprocesador

La secuencia y control en el microprocesador determina la secuencia de


trasferencias a través de los buses internos y externos, el ALU y los regis-
tros procesadores. Durante el ciclo de búsqueda, el corttrol lee un código de
operáción de la memoria y Io deposita en un registro de instrucción. La ins-
trucción se clei:odifica y se traslada a actividades de procesamiento espe-
532 D I S E Ñ OD E L S I S T E M AD E L M I C R O C O M P U T A D O R cAP.12

cíficas. Las referencias posteriores a la memoria dependen del código de


operación decodificado.Asúmase que todos los códigos de operación con-
sisten de ocho bits y se almacenanen un byte de metoria. Las operadores
son también de un byte de longitud porque el bus de datos es de bcho bits
de longitud. una dirección se especificacbn dos bytes o 16 bits. considérese
ahora tres instruccionesde suma con rongitudesdiferentesde formato.
r. sumar B o A. Esta es una instrucción para sumar el contenido del
registro B al contenido presentedel acumulador. Toda la informa-
ción necesariapara especificarla instrucción está contenida dentro
de un código de operaciónde un byte.
2. sumar eI operandoinmediato o A. Esta es una instrucción que su-
ma un operandoal contenido presentedel acumulador. El byte aet
operandose colocaen ia memoriasiguiendoel byte del códigod" op"-
ración. Esta instrucción ocupa dos bytes de memoria.
3. sumar eL operandoespecificadopor una dirección o A. Esta es una
instrucción que suma un byte almacenadoen alguna parte de la
memoria al co¡rtenidopresente del acumulador. La dirección del
operandose coloca en la memoria siguiendo el byte del código de
operación.Esta instrucción ocupa tres bytes de memoria,yu qrrl"1",
direccionesen sí mismas ocupan dos bytes.

_ El formato y la funcit'rnde las tres instruccionesse sumarizan en la


Tabla 12-1.cada instrucc;ióntiene al menosun byte para el códigode ope-
ración. La unidad de control se diseñapara reconoce.el número dé bytes^en
una instrucción particular del código de operacióndecodificadodel primer
byte.
La representaciónde memoria de las tres instruccionesse ilustra en
la Figura l2-7. La primera instrucción se asumeubicada en el lugar g1 con
un código de operaciónde 8 bits asignadosarbitrariamente. Las otras dos
instruccionesocupan dos o tres bytes respectivamente.La dirección de la
primera instrucción es 260 y se determina del número binario de 16 bits
en
los lugares85 y 86:
(0000000100000100)2: (260)¡s
EI operandopara esta instrucción se muestra localizadoen la memoria en
el lugar 260. En una aplicación típica, las tres instruccionesresidirán nor-
Tabla l2-l Tres instrucciones típicas de un microprocesador

I¡strucción Byte I Byte 2 Byte 3 Función

SumarB y A Código de
A<_A* B
operación
Sumar el operando Código de Operando A?A +byte2
en turno y A operación
Sumar el operando Código de Mitad de Mitad de
especificado por una operaciórr mayor menor A<- A +M [dirección
dirección y A orden de orden de
a dirección a dirección
't

Contenido
binario de
la memoria
Dirección decimal --1

lnstrucción de 1 byte 8I 10000000 Op-code para agregar B a A


l0 Op-code para agregar el operando en turno
I 10001 yA
faz
Instrucción de 2 bytes {
183 Operando

laq Op-code para sumar el byte de memoria y A


I
Instrucciónde 3 bVtesI 85 Mitad de mayor orden de la dirección
I
1 8 6 00000I 00 Mitad de menor orden de Ia dirección

8',l 0 1 0 1 0 1 0 1S i g u i e n t e o p - c o d e

2 6 0ol o o o r r rOperando
o

Figural2-?Representacióndelamemoriadetresinstruccrones

malmente en la ROM, mientras que el operandoen el lugar 260 estaráen la


RAM. Este operandodebe residir en Ia RAM porque debe asumirseque su
valor está sujeto a cambio durante el cálculo. De otra forma si el valor del
"cambia,
operandono no habrá necesidadde asociarlocon una dirección.
Refiriéndosea la Figura 12-5para los nombresde los registrosy buses,
para
se puede hacer una lista de la secuenciade operacionesnecesarias
procesarcada instrucción. se asume que el contador del programa contiene
inicialmente81.

Sumar B o A:
IR <--MlPCf, PC <- PC + 1 leer el código de oPeración

T<_B trasferir B a T

A<_A*T sumar T a A

La primera línea representael ciclo de búsquedapara-leere1códigode ope-


*"i¿" al registro de sustracción. La operacióndecodificadaespecificaun
regist.o proósador; de manera que el cbntenido de B se trasfiere a T y la
ofrración de suma se realiza en el ALU. Nóteseque el PC se ha incremen-
tado y contieneahora el número 82.
ia instrucción de un byte se ejecuta con un ciclo de memoria porque
todos los operandosresiden en los registros del procesador.-Si un operando
resideen lá memoria,es necesarioacclsar la memoriapara leer el operando.
533
534 D I S E Ñ OD E L S I S T E M AD E L M I C R O C O M P U T A D O R cAP. 12

Sumar el operandoinmediato a A:
IR <- M[PC], PC <- PC + 1 leer el código de operacrón
T <- M[PC]. PC <- PC + | leer el operando
A<-A * T sumar el operando a A

La primera línea representa el ciclo de búsqueda una vez más. El PC se in.


crementa para que contenga la dirección 83. En esta dirección se lee el ope
rando de la memoria y se coloca en ? para ejecutar la suma en el ALtl.
si la instrucción contiene la dirección del operando, el microprocesador
debe pasar por cuatro ciclos de memoria para ejecutar Ia instrucción.

Sumar a A el operando especificado por una dirección:

IR <- M[PC], PC <--PC + | Ieer el código de operación


AR\H) <- MIPC\, PC <- PC + | leer el primer byte de la dirección
AR(L) <- MlPCl, PC <- PC + | leer el segundo byte de la dirección

T <- MIAR] leer el operando

A<_A*T sumar el operando a A

La parte de la dirección de la instrucción se almacena temporalmente en el


registro de dirección (AR). La dirección de 16 bits formada en el AB se usa
entonces para leer el operando.
No se requiere un gran número de ciclos de memoria en los microproce-
sadores porque consumen gran cantidad de tiempo de proceso. Este es uno
de los factores limitantes de la velocidad de los microprocesadores de 8 bits
con direcciones de 16 bits. El número de accesos a la memoria puede ser
reducido si se usa el bus de datos de 16 bits. Los microprocesadores de 16
bits requieren menos referencias a la memoria comparados con los micro-
procesadores de 8 bits. Aunque se ha escogido describir la operación de un
microprocesador de 8 bits, la operación con un bus de datos de 16 bits po-
dría ser similar, tomando en consideración las diferencias en longitudes de
las palabras usadas por los registros del procesador y las palabras de me-
moria.

12-4 INSTRUCCIONES
Y MODOS
DE DIRECCIONAMIENTO

La estructura lógica de los microprocesadores se describeen los manuales


de referenciasuministradospor el fabricante.un manual para un micropro-
cesadorparticular describe la organizacióninterna en el CPU, la función
de todos los terminales de entrada y salida y los registrosprocesadores
dis-
ponibles desdeel punto de vista del usuario. El manual describetodas las
instruccionesdisponiblesen el computadory explica sus funciones.Demues-
I
sEc. 12-4 I N S T R U C C I O N EYS M O D O S D E D I R E C C I O N A M I E \ - :

tra también cómo los bits de condición son afectadospor cada instrucc. :.
El código interno para cada instrucción se lista en binario, octal ¡'he¡ac¿-
cimal. En la mayoría de los casosse adopta un código equivalenteoctai -
hexadecimal porque estos códigos necesitan menos dígitos que la represen-
tación binariá. Cuando se escribeun programapara un computadorse asig-
na a cada instrucción un nombre simbólico para identificarlo.
Los nombres simbólicos y códigos asignadosa las instruccionesusa-
das en un microprocesadorson diferentes de los nombres y códigos usados
en un microprocésadordiferente aun para instruccionessimilares. Por esta
razón, el usuario debe estudiar y recordar el conjunto de instrucciones y
sus nombressimbólicos cada vez que se usa un microprocesadordiferente.
Aunque el grupo de instrucciones de diferentes microprocesadoresdifieren
de uno a o[.o, hay ciertas instruccionesque realizan operacionesbásicas
y que son incluidas en todos los microprocesadores.

Conjunto básico de ¡nstruccionesde un microprocesador

Las instrucciones del microprocesadorpueden clasificarse en tres tipos


diferentes.

1. Instruccionesde trasferenciaque mueven datos entre registros,pa-


labras de memoria y registrosde interconexiónsin cambiar el con-
tenido de la información binaria.
2. Instrucciones de operación que realizan operacionescon los datos
almacenadosen los registroso palabrasde memoria.
3. Instruccionesde control usadospara probar el estado de las codifi-
cacionesen los registrosy causarun cambio en la secuenciadel pro-
grama dependiendode los resultados.

El conjunto de instruccionesde un microprocesadorparticular especifica


las operacionesde trasferencia entre registros y decisionesde control que
están presentesen el sistema del microcomputador.Un programa espe-
cífico para un microcomputadores equivalente a especificarla secuencia
de operacionespara un sistema digital particular que sea config¡rado por
el microcomputador.
Las instrucciones de tipo trasferencia en los microprocesadores son
indicadas por diferentes nombres. Una instrucción de mouimienüo (move)
causa una trasferenciade datos desdela fuente hasta su destino. La fuen-
te o el destino puede ser un registroprocesadoro un lugar de memoria' Las
instruccionesde carga (load) y almacenar (store) son similares en la ins-
trucción de movimiento excepto que se refieren normalmente a trasferen-
cias a la memoria y al acumuladory viceversa.La instrucción de intercam-
bio (exchange)cambia la información entre dos registroso entre un registro
y una palabra de memoria. Las instruccionesde insertar (push) y sacar
(pop) trasfieren datos entre los registros procesadoresy la pila de memo-
ria.-Las instruccionesde entrada y salida trasfieren datos entre los regis-
tros procesadoresy los registros de interconexión.
5 3 6 D t s E ñ oD E Ls t s r E M Ao E L M t c R o c o M p u r A D o R cAP.12

Las instrucciones de ripo operativo ejecutan operacionesaritméticas


y. dc desplazamientoentre los registrosprócesadores o palabras de memo-
ria- Ellas ponen a coro, a uno o complementanlos bits de condición o bits
indicadores.Las instruccionesde opeiacióntípicasson sumar,restar,AND,
oR, complementary poner a uno .l bit de arrastre. La mayoría de las ins-
truccionesde tipo operativocambian también los bits de condiciónen el
registrode condición del procesador.
Las instrucciones
-de tipo control rienen caracte¡ísticaspara tomar
decisionesy cambiar el camino tomado por el programa cuandó se ejec"ia
en el computador.Las instruccionesse almacen"n.r, lugaresde memoria
consecutivosy se ejecutanuna detrás de otra en secuenciá.el programador
agregauna instrucción de control cada vez que el control debe-seitrasferi-
do a una instrucción que esté fuera de Ia secuencianormal. Las instruccio-
nes de control pueden ser condicionaleso incondicionales.Una instrucción
de control condicional causa una bifurcación de la secuenciade programa
normal solamente cuando se detecta una condición de estado ..p.óín.*.
Una inst¡ucción de control incondicional causauna bifurcación incóndicio-
nal. La bifurcación de la secuenciadel programanormal se logra cambiando
el contador del programa de manera que ?rte .ontenga la dirección de la
instrucción que esté próxima a ejecutarse.
. Hay tres tipos de instruccionesde contror ¡' cada tipo puedeser condi-
cionalo incondicional:

1. Instruccionesde salto o bifurcación.


2. Instruccionesde llamado y regresoa Ia subrutina.
3. Instruccionesde omisión.

T,aspalabrassaltar o bifurcar se usan igualmentepara implicar lo mismo y


algunas vecesse usan para denotar modos diferentesde áireccionamiento.
Estas instruccionesestán asociadascon una dirección que especificadón-
de se debe hacer el salto o la bifurcación. Las instruccionesde subrutina
de llamado y de regresose explicarán en la siguientesecciónconjuntamente
con la pila de memoria.una instrucción de sálto ,r omisión (skip) es la que
evita la siguiente instrucción en secuencia.Al colocar una inslrucción de
bifurcación incondicional enseguidade una instrucción de omisión o salto,
es posible hacer una bifurcación a uno de dos lugaresposibles,dependien-
do del-valor especificadode la condición del bit dé status.

l n s t r u c c i o n e sp a r a e l m i c r o p r o c e s a d o r

El número de instrucciones diferentes en un microprocesadorparticular


puede variar entre 50 y 250. Estas instrucciones deLen ser estudiadasv
memorizadaspor el usuario quien escribelos programaspara el microcom-
putador. Una lista parcial de instruccionesfoimuladas para el microproce-
sador de la Figura 12-5se presentaen la Tabla 12-2.Eslas instruccionesse
Tabla l2-2 Lista parcial de instruccionespara el microprocesador

Códigc Símbolo
hexa- de la
decimal instrucción Descripción ¡ uncron

78 MOV A,B Mover B haciaA A<_B


3E MVI A,D8 Mover el operandoinmediatoa A A<_DE
7E MOV A, FG Mover haciaA con registroindirecto A <- MIFGI
11
MOV FG, A MoverA con registroindirecto MIFGI<- A
3A LDA ADI6 CargarA directamente A <- MlADlíl
?') STA AD16 AlmacenarA directamente M \ A D 1 6 l < -A
0l LXI FG, DI6 Cargar el par de registros FG + D16
inmediatamente

80 ADD B Sumar B a A A<-A 1B


C6 ADI D8 Sumarel operandoinmediatoa A A<_A+D8
86 ADD FG Sumar a A con registroindirecto A<-A+MlFGl
90 SUB B SustraerI deA A+-A - B
AO ANA B AND B yA AeA \B
BO ORA B ORBvA A<-A\/ B
04 INR B IncrementarB B<-B+l
05 DCR B Decrementa¡B B<-B-l
03 INX BC Incrementarel par de registrosBC BC<_BC+I
OB DCX BC Decrementarel par de registrosBC BC<_BC_I
2F CMA ComplementarA A<-r
07 RLC RotarA a la izquierdacon arrastre A<-clcA
OF RRC RotarA a la derechacon arrastre A<-crcA
37 STC Ponera i el bit de arrastre c<- I

c3 JMP ADIó Saltar incondicionalmente P C < _A D I 6


DA JC ADI6 Saltar si existearrastre S i ( C : 1 )e n t o n c e s
(PC <- ADr6)
C2 JNZ ADI6 Saltar si existevalor diferentea cero S i ( Z : 0 ) e n t o n c e s
(PC + ADt6)
CD CALL ADI6 Llamar subrutina PiIa <- PC,
P C < _A D I 6
c9 RET Regresode la subrutina pC <- pila
76 HLT Detenerel procesador

'A :
registroacumulador;B: registroB; FG :par de registrosF y G; fif :par de re-
gistrosB y C; D8: operandode datos de 8 bits (1 byte); D16- operandode datos dc 16
b i t s ( 2 b y t e s ) ; 4 D 1 6 : d i r e c c i ó nd e 1 6 b i t s ( 2 b y t e s ) .
5 3 8 D I S E Ñ OD E L S I S T E M AO E L M I C R O C O M P U T A D O R CAP, 12

dividen en tres seccionespara dar ejemplos de instruccionesdel tipo de


trasferencia,operacióny control.
El código hexadecimal listado en la tabla es un número de 2 dígitos
equivalenteal código de operaciónde 8 bits asignadoa la instrucción. (La
representaciónde 4 bits equivalentepara los 16 dígitos hexadecimalesestá
dada en la Tabla 1-1.) El nombre simbólico de cada instrucción es una de-
signaciónde 2 a 4 letras seguidasde uno o dos símbolosde un registro,un
operandoo una dirección de memoria. La columna de descripciónexplica la
instrucción en palabrasy la columna de función define la instrucción pre-
cisamentecon una proposiciónde trasferenciaentre registros.Nótese que
las instrucciones de computador especifican macrooperacionespara él mis-
mo y pueden ser simbolizados con proposicionesapropiadas por el método
de trasferencia entre registros. Sin embargo, por razonesprácticas, las ins-
trucciones de computador se escriben con símbolos específicoscomo en la
segunda columna de la tabla. Estos símbolos especialesson asignadospor
el fabricante del computador y tienden a ser diferentes en los diferentes
computadores.
Las primeras cuatro instruccionesde la Tabla 12-2 son instrucciones
de movimiento y trasferencia de información de una fuente a un destino
dado. Las siguientesson instruccionesde carga y almacenajeque logran
un objetivo similar. Un número representativode instruccionesdel tipo ope-
rativo se listan en la segundaparte de la tabla. En la última secciónse da
la lista de varias instruccionesde control.
La instrucción de mover con registro indirecto:

MOV A, FG
simboliza la operación de trasferencia entre registros A *MlFGl. Es-
ta trasfiere al registroA el byte de memoria, cuya dirección está en el par
de registrosFG. Esta es llamada instrucción indirecta de registro ya que
el par de registrosFG especificanla dirección del operandoen vez del ope-
rando en sí.
La instrucción de carga inmediata:

LXI FG, DI6


simboliza la operaciónde trasferenciaentre registrosFG *D 16 dondeD16
es un número de 2 bytes que puederepresentaruna dirección. Esta instruc-
ción puede ser usada para trasferir una dirección al par de registrosFG.
Cuando se usa de esta manera el par de registrosFG constituyen un con-
tador de datos o un indicador que señala una dirección de memoria donde
se almacena el operando.FG puedeser incrementadocon la instrucción de
incrementodel par de registros:

INX FG
la cual simbolizala operaciónde trasferenciaentre registrosFG*FG*7.
De esta manera, el contador de datos o indicador puede ser incrementado
para indicar las direccionesconsecutivasen la memoria donde el progra-
mador almacenauna tabla de bytes de datos consecutivos.
t
sEc. 12-4 I N S T R U C C I O N EYS M O D O S D E D I R E C C I O N A M I E N T O 539

Las instrucciones de operación contienen las operacionescomunes


aritméticas, lógicas y de desplazamiento.Nótese que hay más instruccio-
nes del mismo tipo que puede.t ser formuladas si se especifica uno de los
cinco registro. p.o""üdores C, D, E, F o G en vez del registro específic-o
B. Simil'armente, una instrucción que especifica un par de registros P|9de
.ei á.rplicada usándo uno cualquieia de los tres pares de registros posibles
BE, DE o FG.
Las últimas seis instruccionesen Ia tabla son instruccionesde control'
Las instrucciones de salto y llamado necesitan una dirección de 16 bits
simbolizada AD76. Las diretciones de regresoo paro son instruccionesde
un byte. Aquellas que incluyen el símbolo AD76 o D16 son instrucciones
de trls bytes y uqrr-ella.qrr" rr.un el símbolo D8 son instrucciones de dos
bytes. Todas ias demás son instrucciones de un byte especifiqueno no un
registro.
La mejor manera de apreciar un conjunto de instrucciones de un com-
prrt"áát es escribir programas que realicen tareas de procesamiento de
datos significativos. Lot ptogtamas escritos para el sistema de microcom-
putadoriequieren el mismo razonamientológico al escribir_ microprogramas
puru ,r.r sisiema digital como se vio en el ejemplo del Capítulo 10.

Modos de direccionamiento

El código de operaciónde una instrucción especificala operaciónque va a


,e, e¡e"itada despuésde haberse leído de la memoria y colocadoen la uni-
dad áe control aét CpU. La unidad de control debe saberdónde encontrar
al operandocon el cual se va a ejecutar la operación. Los operandospueden
estar localizadosen los registrosde procesoen palabras de memoria o en
los registros de interconexión. La forma como son determinados los operan-
dos dúrante la ejecución del programa se determina a partir del modo de
direccionamientode la instruóción. En computadoresgrandes'el modo de
direccionamientode una instrucción se especificacon un código binario
de la misma forma como se especificael códigode operación.En los micro-
prccesadoresde 8 bits, el primer byte de una instrucción es un código bi-
nario combinado que especifica la operación y el modo de la instrucción'
Una vez colocadoéste byte en el registrode instrucción, durante el ciclo de
búsqueda es interpretado por el control para determinar no solamente la
opeüción que debé ser ejecutadasino también la forma como se van a loca-
lizar los operandos.
En la Tabla 12-1se puedeencontrarun ejemplode tres modosde direc-
cionamientopara la misma operación.La tabla define tres tipos de modos
puede
de direccionamientopara la instrucción sumar a A. La operación
referirse a un registro, u.r operando inmediato o a un operando específico
"
para una direccién de'memoria, si ésta se especificade-mododiferente.un
iot"p"tuao. puede usar una gran variedad de modos de direccionamiento
pur" lu misma operación para emplear diferentesmanerasde localizar ope-
randos. Para el usuario sin experiencia, la variedad de modos de direccio-
namiento en algunos computadores puede parecerexcesivamentecomplica-
da. Sin embargó,la disponibilidad de diferentesesquemasde programación
5 4 O D I S E Ñ OD E L S I S T E M AD E L M I C R O C O M P U T A D O R cAP. 12

dan al programador con experiencia la flexibilidad de escribir programas


que son más eficientes con respecto al número de instrucciones y tiempo de
ejecución.
Se han discutido algunos modos de direccionamiento en los ejemplos
anteriores y se sumarizan aquí como referencia.

Modo implícito: En este modo se especifica el operando implícita-


mente en la definición de la instrucción. Las instrucciones de este tipo son
instrucciones de 1 byte. Por ejemplo, la instrucción "complementar el acu-
mulador" es una instrucción en modo implicado porque el operando en el
registro acumulador está implícito en la definición de la instrucción.

Modo de registro: En este modo los operandos están en los registros


que residen dentro del CPU. Las instrucciones del modo de registro son
instrucciones de 1 byte y puede ser ejecutadas dentro del cPU sin nece-
sidad de hacer referencia a las memorias para los operandos.

Modo indirecto de registro: En este modo la instrucción especifica


un registro o un par de registros en el procesador cuyo contenido da la di-
rección del operando en la memoria. Este modo usa instrucciones de 1 byte
aunque el operando esté en la memoria. Antes de usar una instrucción de
modo indirecto de registro, el programador debe asegurarse que la dirección
del operando se coloque en el registro procesador con una instrucción pre-
via de tipo trasferencia. una referencia al registro es equivalente a eÁpe-
cificar una dirección de memoria.

Modo inmediato: En este modo el operando se especifica en la direc-


ción en sí. En un microprocesador de 8 bits se coloca el operando en la me-
moria inmediatamente después del byte del código de operación. Una
instrucción de modo inmediato que tiene un operando de 8 bits es una ins-
trucción de 2 bytes. una con un operando de 1G bits es una instrucción de
3 bytes.

Modo de direccionamiento directo: En este modo el operando resi-


de en Ia memoria y su dirección está dada directamente en Ia parte de di-
rección de la instrucción. Una instrucción directa consiste de tres bytes en
un microprocesador de 8 bits con direcciones de 16 bits. En computadores
con palabras de memoria mayores, la parte de dirección se combina con la
operacióir y los bits del código de modo para unir toda la instrucción en una
palabra de memoria. La mayoría de las instrucciones de modo directo asu-
men que los otros operandos residen en los registros procesadores. Si hay
más de un operando que resida en la memoria, la instrucción debe incluir
direcciones adicionales para especificar sus posiciones.
Algunos microprocesadores de 8 bits con direcciones de 16 bits tienen
modos de direccionamiento directo que requieren solamente un byte para
especificar una dirección. Tales microprocesadores dividen los 216 bytes
de mernoria en bloques llamados páginas. A cada página se le asigna usuai-
!

SEC.12.4 E SM O D O SD E D I R E C C I O N A M I E N T C Y '
I N S T R U C C I O NY

mente 256 bytes de espaciode memoria consecutiva.Una página en ia ¡ie-


moria se especificaco; Ios ocho bits de mayor orden de una dirección. Los
8 bits de méno¡ orden dan el byte dentro de la página. Así, una memoria cie
64K puede dividirse en 256 páginas de 256 bytes cada una. La primera pa-
girru r" llama página 0 y la riltima página 255. Por medio del esquem" 4" p-l-
directo de di-
firru. u. posibietesarrollar algunas variacionesen el modo
reccionamiento.

Direccionamiento de la página cero: Este es similar al modo de di-


reccionamientodirecto excepto que Ia parte de la dirección de la instruc-
ción contiene solamente1 byte. Esta es una inst¡ucción de 2 bytes con un
.ugo"Jo byte especificandolos ocho bits de menor orden de la memoria de
diieccionei. LoJ ocho bits de mayor orden de la dirección se asumen como
ceros.Esto restringe el rango de las direccionesa los 256 bytes menoresde
memoria (0-255)los cualesdefinen Ia página0.

Direccionamiento de página presente: Este modo asume que el


operandoreside en la memoria dentro de la misma página de memoria que
lá instrucción que la usa. Como el contador del programa retiene siempre
la dirección de ia siguiente instrucción, sus ocho bits de mayor orden con-
tienen también el número de página presente.Este modo de direccionamien-
to usa instruccionesde 2 byleJ con una parte de dirección de 8 bits. La
dirección del operandot" obti"tte del número de página encadenadocon la
putll ¿" dirección de la instrucción. La dirección de 16 bits del operando
se calcula a partir de:

PC(N + AD\

dondePC (H) denota los ocho bits de mayor orden del PC y ADS los 8 bits
de dirección de la instrucción. El resultadoes una dirección de 16 bits con
el PC (Il) dando los primeros8 bits y ADS los 8 bits restantes'

Direccionamiento relativo: Este es similar al modo de direcciona-


miento de página presenieexceptode que no es sensiblea los límites de las
páginas. Una instiucción de modo relativo es una instrucción de 2 bytes
co" el segundobyte que especificaun número con signo en el rango entre
- 128 y + tZl. E.stose lográ representandoel número en la forma de signo
compiementode 2. La dirección de 16 bits del operandose calcula aglegan-
do el contenidode 16 bits disponiblesal presenteen el contadordel progla-
ma a la dirección de 8 bits con signo en la instrucción. Si esta última se
denota comoAD8 el cómputode la direcciónpuedesimbolizarsecomo:

PC + AD8

Esto requiereque el operando(o el lugar donde Ia instrucción relativa de


- 128bytes separadode.la
bifurcación traifiere el control) esté enire I27 y
dirección de la siguienteinstrucción. Los límites de la páginano tienen nin-
gonu en el modo relativo porque todos los 16 bits del contador
del "o.rr"".r".r.iu
programa se usan en el cálculo.
g2 DISEÑODEI- SISTEMA DEL MICROCOMPUTADOR cAP.12

La parte de la dirección de una instrucción sq.usa por la unidad de


control en el cPU para obtenerel operandoa partir áe la memoria. Algunas
veces esta dirección es la del operando,pero otras es una dirección"de la
cual se calcula la del operando.Los computadoresusan otros modosde di-
reccionamientopara calcular la dirección de un operando.para distinguir
entre las dif'erentesdireccionesque intervi".r"n el cálculo, se debeáis-
tinguir entre las direccionesdadas en la instrucción".r y la dirección actual
usadapor el control cuando se ejecuta la instrucción. La dirección del ope_
rando o la di¡ección donde se bifurque el control en respuestaa un salto,
una bifurcación o una instrucción dé llamado, se denomina dirección efec_
f¿¿'o.En la instrucción de modo directo, la dirección efectiva es igual á la
parte de dirección de la instrucción. En el modo relativo la direcc"ión
efec-
tiva se ca.lculaa partir del valor en el pc más la parte de la dirección
de la
instrucción.
El cálculo de la dirección efectiva para los últimos cuatro modosde di-
reccionamientodiscutidos anteriormentese listan en la Tabla 12-3.En la
tab.lase da la lista de otros cinco modos de direccionamientoencontrados
comúnmente en los microprocesadores(y en computadoresde gran tama-
ño). El símbolo AD16 denota una dirección de 2 Lytes y ADg áenota una
direcc_iónde 1byte. PC es el contador del programiv xR es un registroín-
dice. Xx es un registro del cPU usado '''n"ho. computadorespaia alma-
cenar direcciones.La dirección almacenada "n en Xft púede ser referenciada
con una instrucción de modo indicado. Una inst¡ucóió.r .e coloca inicial-
mente en el Xrt por medio de una instrucción del tipo trasferencia.El cálcu-
lo de la dirección efectiva en cada modo se especificaen la tabla con una
expresiónde cómputo del registro.La dirección efectiva de cómputo se usa
para accesarla memoria a fin de leer un operandoo convertirseén la direc-
ción de bifurcación en una instrucción dei tipo de control. Los otros modos
de direccionamientolistados en la tabla se explican a continuación.

Tabla 12-3 Cálculo de la dirección efectiva para varios modos de di¡eccionamiento

Modo de Dirección
di reccionamiento efectiva Comentarios

Directo AD 16 Parte de la direcciónde 16bits de la instrucción


Página cero AD8 Parte de la direcciónde 8 bits de la instrucción
Páginapresente PC(H) + AD\
Los 8 bits de mayor orden del PC encadenados
enADS
Relativo PC + AD8 Contenidodel PC másAD8 con signo
Indexado XR + ADI6 Contenidodel Xr? más AD 16
Registrobase XR + AD8 Contenidode Xr? másAD 8
Indirecto M\AD16l Direcciónalmacenadaen el lugar dadopor AD 16
Indirecto-indexado MIXR + ADS\ Direcciónalmacenadaen el lugar (XR
+ ADg)
Indexado-indirecto MÍADS) + XR Direcciónalmacenadaen el lugarADg
más el
contenidode X/i
sEc.12-5 P I L A .S U B R U T I N A SE I N T E R R U P C I O N gs

Direccionamiento indexado: Las instrucciones en este modo con-


tienen 3 bytes con los últimos dos conformando una dirección de 16 bits.
La parte d-eIa dirección de la instrucción se agregaal valor presentealma-
ádo en el registro índice para obtener la dirección efectiva. El registro
""t
índice se incrementa a menudo o se decrementapara facilitar la ejecución
de los bucles del programa y tener acceso a tablas de datos almacenados
en la memoria.

Direccionamiento de registro base: Este es similar al modo de di-


reccionamientoindexado, excepto que la parte de dirección de la instruc-
ción consiste de un número de bits que es menor que el número de bits
requeridos,para una dirección completa. La dirección efectiva se calcula
agregandoei contenido de un registro índice a la dirección parcial en Ia
iñstrucción. El registro usado en el modo se llama a menudo registrobase
en vez de registrJíndice. El registro base retiene una dirección base y la
dirección truncada en la instrucción especificaun desplazamientocon res-
pecto a la direcciónbase.

Direccionamiento indirecto: En este modo la parte de la dirección


de la instrucción especificala dirección donde se almacena la dirección
efectiva. El control Íee la parte de la dirección de la instrucción y la usa
para direccionar la memoriá con el fin de leer la dirección efectiva.La me-
moria debe ser accesadade nuevo para leer el operandosi la instrucción es
ü>\ \\¡n sp:*.,ss . R s \r is=t.rsqoii:o &c tis ca<ttcl --ta- {rlqeoión efeotirr a eq
fu áiti".ié" de bifurcación la cual es trasferida al PC '
de direccio-
Direccionamiento indirecto indexado: Este es un modo
e;;"pt" que la parte de dirección de la instrucción se
namiento indirectol
la dirección donde
;;;ñ ;i .o"t""i¿J á"i i"gittlt" índice para d€terminar
aimacenala dirección efectiva en la memoria'
sJ --
--
üi"-procesadores específicos emplean varios modos de direcciona-
de direccio-
miento, pero muy ,ur"-urrt. una unidád tiene todos los modos
namiento enumerados aquí. Para poder escribir programas para un micro-
es necesarió el tipo de instrucciones disponibles y
computador
"ono""t-
ertur total*ente familiarizado con los. modos de direccionamiento usados
en el microprocesador.

12.5 P I L A , S U B R U T I N A SE I N T E R R U P C I O N

Una característica útil incluida en la mayoría de los computadores es una


pifu ¿" memoria llamada también lista de último en entrar primero en salir
que acumula infor-
ii.ifOl. Una pila es un dispositivode almacenamiento
mación de tal manera que ei ítem almacenado de último sea el primer ítem
recuperado.La operación de la pila se compara a menudo con una pila de
bandejas.La última bandeja en la pila es la primera que se quita.
una pila es muy útil para una serie de aplicacionesy su organización
conlleva característicasespecialesque facilitan muchas tareas de proce-
samiento de datos. Por ejémplo, una pila se usa en algunas calculadoras
il4 D I S E Ñ OD E L S I S T E M AD E L M I C R O C O M P U T A D O R
cAP.12

electrónicasy computadorespara facilitar la evaluación


de las expresiones
aritméticas. su uso.en el mióroprocesadorestá ¡iri;iil;i-.u
,o"yoría para
el manejo de subrutinase interrupciones.nn.rtu,.?.i¿;.,
explica la ope_
¡ación de una pila y se
-restringeia discusión
tradas en microprocesadores.
ábricacionesencon_
" "qr"iü,

Pila de memoria

una pila de memoria es esencialmenteuna parte de la


unidad de memoria
accesadapor una d.irecciónque siempre se incrementa
pués del accesode la memoti" pJ t"gi.tro que o decrementades-
almacena la direcció; pa;
la pila se ltama indicador de..!apita (,í?) deÉiao; q;;;;";tor
indica siem-
pre al ítem superior de la pila. Las áos operacion*
d"-1"'¡l".on Ia inser_
ción y desecho de los ítems. La operación de inserció"-.i
ltu,oá ;;;;;;,
fryúl v se pu.ede.pensarcomo el résulrado d; r;ñJ;;,rn"i,rruo írem sobre
la parte superior de ia nila. r.a operaciónde desecio
se llaÁa sacor (pop) y
puedepensarse.u--1:l resurtadóde quitar o
sacar il.- ¿. -u".i"íuá
i! nila salga. sin embargonada.seempuja o ." ru"" ar "" de memoria.
Estas operacionesse simuran incrementandoo ¿uar"*"rrándo ""u'piru er registro
del indicador de la pila.
se debe tene¡ en cuentaque una pila debe ser colocada
dent¡o del mi-
croprocesadorsin necesidadde referirsea la memorlu.
e, ál casose cons-
tlyve.la pila con regisrrosy se re llama pira de ,ii¡itiol.
pila de registrosse limita por el número de ,"si.t-, ni-tama¡o de una
q"l éite contiene.una
pila de memoria pue.d:ctecet y o"rput to¿o
ei..p".iá J"-iru-o.i" si es ne-
cesario.se explicará la organizacíónde la pila á."*i""¿"
que ésta reside
en la memoria. La misma órganización se aplica
a la -.¡-*utu"
pila de registros, ex-
cepto que las operacionesde invención y áerechá
.. dentro del
microprocesado¡ sin hacer referenciaa la memoria.
La F'igura12-8muestra una porción de una unidad
de memoria organi_
zada como.unapila. El registro indicado¡ a" fu pifulspl-ui_"""rr"
rner. binario cuyo valor es igual a la dirección un nú_
¿"r ii"i" q"e*Lstaal presente
en la parte superior de la pira. Tres ítems son
armacerrádo.ar presenteen

Memoria

Inserta¡: .tP €.tp + I r- Dirección


ItlSPl + trggg Y
m*4

Sacar: DBUS * MíSP\


m*3
Sp-Sp- I Indicador do
pila (SP) m*2
m*l
m

Figura l2-8 Operacionesde la pila de memoria


s E c .1 2 - 5 P I L A "S U B R U T I N A SE I N T E R R U P C I O N i l S

la pila:-A, B y C en direccionesconsecutivas m, rn+ly m+2 respectiva-


mente. El ítem C en la dirección rn +2 está en la parte superiorde lá pila de
manera que SP contengaahora m + 2. Para quitar el ítem superiorse saca
parte de la pila leyendo el item de la direcci6n m * 2 y decrementandosp.
El ítem B pasaráahora a la cima de la pila debido a que el sp contiene la
dirección m + l. Para insertar un nuevo ítem se empuja la pila aumentando
el sP y escribiendoun nuevo ítem en la parte superior dé la pila. Nótese
que el ítem c ha sido leído pero no ha sido fisicamente removido. Esto
no importa en lo que respectaa la operación de la pila porque cuando se em-
puja la pila se escribeun nuevo ítem en la cima de lá piia independiente-
mente de lo que estabaanteriormente.
La posición del indicador de pila en un microprocesadorpuede encon-
trarse en el diagrama de bloque de la Figura l2-5. El sP puedeespecificar
una direcciónpara Ia memoriapor medio del bus de direccionamiento-. ABUS.
Los datos trasferidos a la pila de memoria y al microprocesadorpasan a
través del bus de datos DBUS. Para escribir proposicionesde traslerencia
entre registros significativos para las operacionesde la pila, se asume que
los datos se trasfieren de y al registro A.
La operaciónde insertar A se define por las proposiciones:
^lP +--SP * I
MlsPl +-A
el sP se incrementa para que se indique al siguiente lugar vacío de la pila.
El contenidodel registroA se colt¡caen DBUS, el contenidode sp se
en ABLls y se inicia la operaciónde wR (escritura).Esto inserta el "oloca
conte-
nido de A en la cumbre de la pila y el SP indica eselugar.
La operación de sacor de A se define por medio de las proposiciones:

A <- MlsP)
.SP<_SP _ I
El contenidodel SP se colocaen ABUS y se inicia una operaciónde 8D (lec-
tura). La memoria lee la palabra es una direccióndada y la colocaen DBUS.
El microprocesadoracepta la palabra del DBUS y la trasfiere al registro A.
El SP se decrementapara que indique el byte de una dirección inferior, el
cual estará en la cima de la pila.
Las dos operacionesde insertar y sacar de la pila son (1) un accesoa
la memoria por medio del SP y (2) la actualizacióndel SP. Dependiendode
la organización de la pila se determina cuál de las dos operacionesse hace
primero y si el SP se actualiza por medio del incrementoo del decremento.
En la Figura 12-8la pila crecepr aum.entode la dirección de memoria. La
pila puede hacersecrecer disminuyendo las direccionesde memoria como
se muestra en la Figura 12-9.En tal casoel SP se decrementapara la opera-
ción de insertar datos a la pila y se incrementa para sacar datos. Una pila
puede ser organizada de manera que el SP indique el siguiente lugar uacío
por encima de la pila. En este caso la secuenciade operacionesde actuali-
zación del SP y accesode memoria deben ser intercambiadas. Esta última
configuración fue demostradaen la Figura 10-20para la pila de registros de-
finida en la Figura 10-19.
546 D I S E Ñ o D E L S I S T E M AD E L M I C R O C O M P U T A D O R cAP. 12

El indicador de Ia pila se carga con un valor inicial por medio de una


instrucción det tipo trasferencia.Este valor inicial debe ser la dirección de
la base de una pila asigrradaen la memoria. De aquí en adelante,el SP se
incrementa o decrementaautomáticamenteen cada operaciónde insertar
o sacar datos de Ia pila. La ventaja de una pila de memoria es que el proce-
sador puede referirsea ella sin tener que especificaruna dirección ya que
la dirección está siempre disponible y actualizada automáticamenteen el
indicador de la pila. Así, un procesadorpuede hacer referenciaa una pila
de memoria sin especificaruna dirección. Por esta razón, las instrucciones
que incluyen operacionesde pila se llaman de dirección ceroo instrucciones
implícitas.

Subrutinas

Una subrutina es una secuenciaque contiene en sí instruccionespara eje-


cutaq una tarea dada. Durante la ejecución normal del programa, puede ser
llam'6{a la subrut.ina para ejecutar su función muchas vecesen varios pun-
tos del programaprincipal. Cada vez que se llame una subrutina, se ejecuta
una bifurcación o salto al comienzode la subrutina para comenzara ejecu-
tar un conjunto de instrucciones.Una vez se haya ejecutadula subrutina
se hace una bifurcación o salto de regresoal programaprincipal. Debido a
que la bifurcación de una subrutina y el regresoal programa principal es
una operación común, todos los procesadorescontienen instrucciones eS-
pecialespara facilitar la entrada a la subrutina y el regreso.
La instrucción que trasfiere el control a la subrutina es conocidacon
diferentes nombres. Los nombres más comunes usados son subruüina de
ttrOmado, subrutina de salto y subrutína de bifurcación.Una instrucción de
subrutina de llamado consiste de un código de operación conjuntamente
con la dirección que especificael comienzode la subrutina. La instrucción
se ejecuta mediante el logro de dos tareas: (1) El control se trasfiere al
comienzode la subrutina. (2) La dirección de la siguienteinstrucción en el
programa de llamado se almacena en un lugar temporal de manera que la
subrutina conozcaa dónde regresar.La última instrucción de cada subru-
tina, comúnmente llarnada regresode la subrutina tras{tere el control a Ia
instrucción en el programa de llamado cuya dirección fue almacenadaori-
ginalmenteen un lugar temporal.
Los microprocesadores usan Ia pila para almacenar la dirección de re-
greso cuando se manipulan las subrutinas. Esto se logra insertando la di-
rección de regresoa la pila cada vez que se llama una subrutina. La instruc-
ción de regresode la subrutina se logra al sacar de la pila la dirección de
regreso que se leerá y se trasferirá al control del programa en esta direc-
ción.
La Figura 12-9 demuestra,por ejemplo, el procesode las llamadas de
subrutina y regresoen un microprocesadorde 8 bits. Se muestran tres par-
tes separadasde la memoria: el programa principal, un programa de subru-
tina y una pila de memoria. El computadorejecutaahora el programaprin-
cipal con el PC indicando la instrucción en el lugar 3500.El programade
subrutina comienzaen el lugar 2673y la parte superiorde la pila se especi-
--q
sEc. 12-5 P I L A ,S U B R U T I N A SE I N T E R R U P C I O N g7

fica por el SP en la dirección 7803. Esto se muestra en la Figura 12-9(a)


con todas las direccionesconformadascon valores hexadecimales.La ins-
trucción de llamado de subrutina, tiene asociada con ella, una dirección
de dos bytes y cada byte ocupa un lugar de memoria. La última instrucción
de la subrutina en el lugar 2686tiene un código de operaciónde la instruc-
ción de regresode la subrutina. La cima de la pila contieneahora un byte
(designadopor el hexadecimal46), pero esto no es tan importante para la
discusiónpresente.
La ejecuciónde la instrucción de la subrutina de llamado en el progra-
ma principal se lleva a cabo de la siguiente manera: (1) La dirección aso-
ciada con la instrucción (2673)se trasfiere al PC. (2) La dirección de regre-
so al programa princrpal (3503)se inserta a la pila. El resultado de estas
dos operacionesse muestran en la Figura 12-9(b).El PC indica el lugar
2673,el cual es Ia direcdión de la primera instrucción en la subrutina. La
dirección de regreso3503se inserta a la pila y ocupa dos bytes de memoria.
El computadorcontinúa ahora la ejecuciónde las instruccionesen el pro-
grama de subrutina ya que el PC indica la primera instrucción de la sub-
rutina.
Cuando la última instrucción de la subrutina es alcanzadaen la direc-
ción 2686,el computador ejecuta una instrucción de subrutina de regreso
sacandolos dos bytes superioresde la pila y colocándolosen el PC. La si-
tuación se ilustra ahora en la Figura 12-9(c).El PC tiene ahora la dirección
3503y continúa la ejecucióndel programaprincipal y el SP regresaa una
posicióninicial.
El microprocesadormostrado en la Figura l2-5 ejecuta la instrucción
de llamado de subrutina pasandopor cinco ciclos de memoria y seis opera-
cionesinternas:

IR <- MIPCf , PC <- PC + | leer código de operación

AR(H) <- MlPCl, PC <- PC + | leer el primer byte de la dirección


AR(L)<- MlPCl, PC <- PC + | leer el segundobyte de Ia dirección
sP<-sP- l, M[sP]<-PC(H) insertar el primer byte de Ia dirección
de regreso
sP<-sP- l, M [sP]<-PC(L) insertar el segundo byte de la dirección
de regreso
PC +- AR bifurcar a la dirección de la subrutina

La instrucción de regreso de la subrutina se ejecuta con tres ciclos de me-


moria y la actualización del PC y el SP:

IR <- MlPCl, PC <- PC + | leer el código de operacrón

PC(L) +- MlSPl, SP <- SP + I sacar el segundo byte de la dirección

PC(H) <- MISPI, SP <- SP * r sacar el primer byte de la dirección


ONo
€€ao€
rrrr

r

v)
I ¿
vo
AE
f¡l a

r € r
cl al

9 Qa
ac!

a L X;
L

q oE
a r .9í
cd
: ' t9s ¡t
ó Ea
o 'a c¡
€ :€
l,
; b3
d t¡l b¡
oo
C ct -/ OL
h q vt 6 o 6 h r,
o o 6 m m m ó -, o No

l6
I


al r
O

I a

o U) .J2

L
I

g8
----r

sEc.12-5 P I L A ,S U B R U T I N A SE I N T E R R U P C I O N g g

La ventaja de usar
.una pila para-almacenarla dirección de regresoes
que al llamar la subrutina, la dirección de regreso." i".urtu hacia la pila
automáticamentey el programadorno tiene qüe tratá.
á reco.dar la di¡ec-
ción donde se almacena Ia dirección de regreso.si se llama
por medio de una subrutina corriente, se inserta otra subrutina
la nueva dirección de ¡e_
greso,ala pila y así sucesivamente.La instrucción
de."gt".o de la subru-
tina hace sacar automáticamentede la pila p;r;
ra di¡ección de
regresodel último programa que ra ilamó. fui, la "bt";;
.;úr;;i"" que existe es
siemprela última subrutina que fue llamada.

Interru pción

El conceptode interrupción de programase usa para manipular


una varie-
dad de problemasque surgen a-raiá de la secueri.i" J"ip."grama
normal.
La interrupción del programa se refie¡e a la trasferencia
de control de un
programa que está trabajando corrientementea otro programa
de servicio
como resultadode una señal de control generadaexternañente.
una de ras
entradas de control en er_microp.o""ruJo,de la Figura-ii-¿
," denomina
interrupción (interrupt). cada móduro de inter"o.r"*rá.r
u. de inte-
rrumpir la operación normal de los microprocesadores.u^i.ri.tru.rdo
"up"" una
señal en su terminal de entrada de control. La interrup"io' pu"a.
ser una
requisición de servicio o un reconocimientodel serviciá realizado
anterior-
mente por la interconexión. I
-considéresepor ejemplo, el caso del-m_icrocomputador
I
que está proce- ¡¡
sando un gran volumen de datos, parte de los cualás serán
enviadosa una
impresora. El microprocesadorp*r-uduenviar un byte
varios intervalos de pulso.de reloi, pero ello le podiía
á"-¿uto, dentro de
to-". al impresor el
equivalentede muchospj]so1de ieró¡ del proceüd;;,;;;;-primir
I
ü
t
-nt actual_
mente el caracter especificadopor bytl de datos. p.o""r"dor podría
entoncespermanecer "i
.latentg en esperade qg9 el impresor pueda u"eptu,
el siguiente byte de datos. si hay ü.,u de interrupción disponi_
ble,.el microprocesadorpuede ""puóidad
üyte Je J"t"r"ll""go
"tr.riu, "" continuar
realizando otras tareas de procesamiento de datos. cuando"el út;;;; ,ü
esté dispuestoa acepf'arel siguiente byte ¿e aato. ¿J" p""au
hacer una
peticiór de
-interrupción por medio de ia entra¿" Jui .oniror de interiuy
ción. cuando el microprocesadorreconozcala interrupciJ",
¿rt" suspende
el programa que está trabajando-al.presentey se bifurca
o salta a un pro_
grama de.servicio que erviará el siguiente ¡yte
ae datos. una vez q"; ."
haya enviado el byte impresor, él p.o"".ádo. ."g.".u ul p.ogruma que
,al
fue interrumpido mientras que se está imprimiendo e"r
caracter.
El procedimientode interrupción es en principio
muy similar a un lla_
mado de subrutina, excepto qué l" bifurcaáión
in¿iráJu por una señal
externa en vez de una instrucción en el progr"*". "r Cor"o ln
ta subrutina
de llamado, una interrupció' almacena lá ai."."".i¿"
au'r"ug."uoen la pila.
una instrucción de Ilamado de subrutina contiene
la dirección
ción de la sub¡utinu. gr el,procedimientode i"t"r..rp"ioirl"tu de bifurca_
bifurcación para la rutina dé servicio álbu ,u. r;;--i;;;;áa air"""ión de
p.r, los mate-
riales (circuitos). La forma como un ni.ropro"-"."á;;;.ü"
la dirección
-

5 5 o D I S E Ñ oD E LS I S T E M A
D E LM I C R O C O M P U T A O O R C A P .1 2

de bifurcación en respuesta a una petición de interrupción varía de una


unidad a otra. En principio hay dos métodos de lograr esto. El uno es llama-
do interrupción uectoríal y el otro interrupción no uectorial. En una inte-
rrupción no vectorial, la dirección de bifurcación es un lugar fijo en la me-
moria o se almacena en un lugar fijo en la memoria. El ciclo de interrupción
almacena la dirección de regreso del PC a la pila y luego prepara al PC ala
dirección de bifurcación predeterminada. En una interrupción vectorial,
Ia fuente de interrupción en sí misma suministra la información de bifur-
cación al microprocesador. Esta información, trasferida por medio de la
barra de datos se denominará uector de interrupción- El ciclo de interrup-
ción almacena primero la dirección de regreso, contenida en el PC, dentro
de la pila. Si el vector de interrupción es una dirección, el microprocesador
lo acepta de la barra de datos y lo trasfiere ai PC. En algunos microproce-
sadores se asume que el vector de interrupción es una instrucción de lla-
mado de subrutina. El microprocesador acepta Ia instrucción proveniente
del bus de datos y la coloca en el registro de instrucción para proceder a
ejecutarla.
El regreso de la rutina de servicio al programa interrumpido original
es similar a un regreso de subrutina. La pila se hace sacar la dirección de
regreso almacenada previamente allí para trasferirla al PC.
Un microprocesador puede tener líneas de entrada de interrupción sen-
cillas o múltiples. Si hay más fuentes de interrupción que terminales de
entrada de interrupción en el microprocesador se procede a conectar a una
compuerta OR dos o más fuentes para formar una línea común para el mi-
croprocesador. Una señal de interrupción al microprocesador puede origi-
narse en cualquier momento durante la ejecución del programa. Para asegu-
rarse que no hay perdida de información, el microprocesador reconoce la
interrupción solamente después de que la ejecución de la instrucción co-
rriente se haya completado y si el estado del procesador la garantiza. La
Figura 12-10 muestra una configuración de interrupción vectorial posibie.
El diagrama muestra cuatro fuentes conectadas a una OR para conformar
una entrada simple de petición de interrupción. El microprocesador tiene
dentro de sí un flip-flop de habilitación de interrupción (IEN) que puede
ser puesto a uno o cero con instrucciones del programa. Cuando IEl/ se po-
ne a cero o se borra se desecha la petición de interrupción. Si IEN se pone
a uno y el microprocesador está al final de la ejecución de una instrucción,
el microprocesador reconoce la interrupción habilitando IN?ACK. La f'uen-
te de interrupción responde a INTACK colocando un vector de interrup-
ción en DBUS. El flip-flop IEN controlado por programa permite al progra-
mador decidir si puede usar la facilidad de interrupción o no. Si hay una
instrucción para borrar el flip-flop /EN dentro del programa, significa que
el programador no quiere que el programa se interrumpa. (IEl/ se borra con
la señal de puesta a cero). Una instrucción para poner a uno lEN indica que
la facilidad de interrupción será usada mientras que el programa esté en
marcha. Algunos microprocesadores usan un bit de interrupción enmasca-
rado en el registro de condición en vez de un flip-flop .IEly' separado.
Asúmase que el vector de interrupción suministrado al bus de datos
es una dirección de 8 bits. El microprocesador responde a una requisición
de interrupción haciendo las siguientes operaciones:
Fuentede interrupción Microprocesador

Final de
inst¡ucción
de ejecución

(I\TACA')
errupclo
Reconocimiento
de interrupción

Habilitación
de interrupción

Vector de
interrupción

I.\TACK

Figura l2-1O Configuración de la interrupción vectorial

sP<-- sP + l, MIÍP]<- pc(H) empujar el primer byte de la dirección


de regreso
.sP<- sP + l, M[.sP] <- PC(L) empujar el seg'ndo byte de la dirección
de regreso
INTACK <- 1 habilitar el reconocimiento de interrupción
PC(H)<-0, PC(L)<- DBUS trasferir la dirección vector al pC
IEN <_O inhabilitar interrupcionesposteriores

De esta manera la fuente de interrupción puedeespecificarcualquier direc-


ción vector entre 0 y 255 para servir como dirección de bifurcación a una
rutina de servicio. IEN se borra para inhabilitar interrupcionesposterio-
res. EI programador puede poner a uno lEN en el programa de áonde es
adecuadohabilitar interrupcionesposteriores.
El regresode una interrupción es similar al regresode un subrutina.
se sacan valores de la pila y la dirección de regresose trasfiere al pc.

I n t e r r up c i ó n p r i o r i t a r i a

En la anterior discusión,se ha tratado un método para generaruna direc-


ción vector de una rutina de servicio para interrup;ión. si t solamente
una fuente capaz de solicitar servicio se conocela fuente de la"yinterrupción
y el programa de se¡vicio puede empezarinmediatamentela rutina de ser-
vicio. A menudo, se les permite a muchos dispositivosoriginar peticiones

551
552 D I S E Ñ o D E L S I S T E M AD E L M I C R O C O M P U T A D O R cAP. 12

de interrupción y la primera tarea de una rutina de interrupción es iden-


tificar la fuente de la interrupción. Hay también la posibilidad de que va-
rias fuentessoliciten el servicio de petición simultáneamente.En este caso,
el programade servicio debe decidir cuál fuente va a servir primero.
El método más común de manipular múltiples interrupcioneses comen-
zar la rutina de servicio haciendoun sondeode las interconexionesa fin de
identificar aquella que ha generadola requisición. La rutina de servicio
prueba cada fuente en secuenciapara buscar si Ia señal de interrupción
está activada. Una vez se haya identificado una interrupción se descartan
las demás interrupcioneshasta que se haya completadouna rutina de ser-
vicio para una fuente particular.
lJna interrupcíón prioritaria es un sistema de interrupción que esta-
blece una prioridad sobre varias fuentes para determinar cuál condición
se va a setuir primero, cuando llegan dos o más requisicionessimultánea-
mente. El establecer la prioridad de las interrupciones simultáneas se
puede lograr mediante la programacióno por conformaciónde los materia-
ies. Por el método de la programaciónhay solamenteuna dirección vector
para todas las interrupciones.El programa de servicio comienzaen la di-
rección vector y sondealas fuentes de interrupción en secuencia.El orden
en el cual se prueban las fuentes determina Ia prioridad de cada petición
de interrupción. La fuente de mayor prioridad se prueba primero y si su
señal de iñterrupción está activada el control se bifurca a otra rutina de
servicio para esta fuente. De lo contrario, se prueba la siguientefuente en
prioridad y así sucesivamente.Así, la rutina de servicio inicial para todas
las interrupcionesconsiste de un programa que prueba las fuentes de in-
terrupción en secuenciay que se bifurca a una de las muchas rutinas de
servióio. La rutina de servicio particular alcanzadapertenecea la fuente
de mayor prioridad dentro de todas las fuentes que pueden interrumpir el
procesador.
Las técnicas de programaciónpueden, en teoría, manipular cualquier
número de fuentes de interrupción o cualquier nivel de prioridad sofistica-
da. En la práctica, si hay muchas fuentes de requisición de interrupción,
el tiempo rlquerido para sondearlaspuedeexcederal tiempo disponiblepa-
ta setui. el dlspositivol/O, con el fin de buscar la interrupción apropiada.
En esta situación, una unidad externa de interrupción prioritaria confor-
mada con materialespuede usarsepara aligerar el proceso.
Una unidad de interrupción prioritaria conformadacon materialesfun-
ciona como una encargadade todo en un conjunto con sistema de interrup-
ción. Esta acepta peticionesde interrupción de muchas fuentes,determina
cuál de las requisicionesentrantes es la de mayor prioridad y envía una
interrupción al procesadorbasada en esta determinación.Para mejorar la
velocidad de la operación,cada fuente de interrupción tiene una dirección
vector propia para accesardirectamentea su propia rutina de servicio' De
esta manera, no se necesita sondeo debido a que todas las decisiones se
establecenen la unidad de interrupción prioritaria conformadacon mate-
riales.
El circuito que configura la función de prioridad conformadacon mate-
riales es un codífícadorde prioridad. La lógica de este codificadores tal
que si llegan dos o más niveles de entrada al mismo tiempo, entoncesIa
sEc. 12-5 p
PtILLA
A,,S U B R U T I| N A SE I| N T E R R U P C ITOONN 5 5 :

entrada que tenga la mayor prioridad será la primera. La salida de un co-


dificador de prioridad genera una dirección parcial para que el vector de
interrupción suministre la dirección de bifurcación. La tabla de verdad de
un codificadorde prioridad de cuatro entradasse da en la Tabla l2-4. Las
{ "n. la tabla designanlas condicionesde no importa. La entrada .Ie tiene
la prioridad mayor; de manera que dependiendoder valor de las otias en-
tradas, cuando esta entrada es 1 la salida genera la direcciórrry:00. rr
tiene el siguiente nivel de prioridad. La salida es 01 si It : I y sl se tiene
1o:0, independientementede los valoresde las otras dos entradas de me-
nor prioridad. La dirección parcial para 12 se generasolamentesi las en-
tradas de mayor prioridad son 0 y así sucesivamentede manera decrecien-
te en la gama de prioridades.Los niveles de prioridad dicen si las entradas
de menor nivel generansus propias direccionesparciales solamentesi to-
das las entradasde mayor orden no están solicitando servicio.Una petición
de interrupción R es generadapor el microprocesador solamentecuandouna
o más entradas solicitan una interrupción. Si todas las entradas son cero,
la salida B se convierteen 0 y la dirección parcial no serásignificativa por-
que no será usadapor el microprocesador.Comúnmenteun microprocesádo.
no tiene más de cuatro fuentesde interrupción. Un codificadordé prioridad
con ocho entradas,por ejemplo,generaráuna dirección parcial de ires bits.
-. L?.dirección parcial que sale del codificadorse nrá p".u conformar la
dirección vector para cada fuente de interrupción. po¡ ejemplo,la dirección
vector entregada al bus de datos despuésde un ¡econocimiento de interrup-
ción puedeser de la siguienteforma:
:
I
000xy000

donde r y y son los bits de entrada del codificadorde prioridad. Los bits
particulares ry trasferidospertenecerána Ia fuente de interrupción de ma- i
yor prioridad. Mediante este procedimiento el codificador de prioridad
puede.especificaruna de cuatro direccionesde bifurcación posibles.Cada
dirección vector especificala dirección de comienzode una rutina de ser-
vicio de 8 bytes en los 32 bytes inferioresde Ia memoria.

Tabla l2-4 Tabla de verdad del codificador de prioridad

Entrada Salidas
(Fuentede
(Dirección (Peticiónde
interrupción)
parcial) interrupción)
Io Il I2 I3 xy R

I XXX 00 I
0 IXX 0t I
0 0lx l0 I
0 001 ll I
0 000 XX 0
t-

12-6 O R G A N I Z A C I O ND E L A M E M O R I A

Un microprocesador debe comunicarsecon las memoriasRAM y ROM para


Ieer 1' escribir información binaria tal como instrucciones,datos y direccio-
nes. El tamaño de la memoria adjunta al microprocesadordependedel
número de inst¡uccionesy bytes de datos, necesariospara una aplicación
particular. Un microprocesadorpuede tener un bus de direccionescon 16
líneas para acomodar64K bytes de memoria. En muchas aplicaciones,la
cantidad de memoria necesariapuede ser menor que 64K bytes. Las pas-
tillas RAM y ROM vienen en una gran variedadde tamañosy las pastillas
individuales deben interconectarsepara formar el tamaño deseadode me-
moria.

PastillasRAM y ROM

Una pastilla RAM es más adecuadapara comunicarsecon el microprocesa-


dor si tiene una o más entradas de control para seleccionary habilitar la
unidad bajo pedido. Una característicaconvenientees un bus de datos bi-
direccional para evitar el agregar separadoresdel bus externos entre la
RAM y el bus de datos. El diagramade bloquede una pastilla RAM adecua-
da para las aplicacionesde microcomputadorse muestra en la Figur{12-11.
La capacidadde la memoria es 128palabrasde 8 bits cada una. Esta requie-
re una dirección de 7 bits y un bus de datos bidireccional de 8 bits. Las
entradas de lectura y escritura especificanla operaciónde memoria y los
dos terminales de entrada de control para la selección de pastillas (CS)

Selector1 de pastilla csl


Selecto¡2 de pastilla ast
Lectu¡a Dn ll8 x 8 Bus de datosde 8 bits
RAM
Escritu¡a WR
Di¡ecciónde 7 bits AD7

( a ) Diagrama de bloque

CSI CS2 RD WR Función de memoria Estadodel bus de datos


0 0xx Inhibir Alta impedancia
IXX Inhibir Alta impedancia
000 lnhibir Alta impedancia
001 Esc¡ibi¡ Introducir datosal RAM
0lx Lee¡ Saca¡datosde la RAM
IXX Inhibir Alta impedancia

ft) Tabla de función

Figura l2-11 Pastilla RAM típica

5g
sEc. 12-6

la pastilia cuando ésta es selecccionada ¡rcr e'


son para habilitar :.911T":t" para
^f"a'ciil;;
microprocesador'La áitp""i¡ifiaad de-más de una entrada de control
l;á"""dificación de las líneas de direcciones'
seleccionarla pastilla
cuando se usan t"t;;.;;;irr"t el microcomputador'Las entradas de
lectura y escritura .. .oilul.,un algunas_
"" vecesen una sola línea denomina-
da R/W. Cuando .. ';i;;;i;;; ü"pastilla' los dos estadosbinarios de esta
i;;;'";;.ifican las dos operacionesde lectura v escritura'
r2-1r(b) especificala opera-
La tabra de tunJi"o'n"iriu¿uen Ia Figura solamentecuando
,n operación
ción de la pastilla nlil.- L^ unidad "rtí l a s e g u n d av a r i a b l ed e s e -
c s z : u . i,-tu-
"^uu.rr.olocada e n c i m a d e
cs1:1y
Iección indica o,r. está habilitada cuando ésta es 0. si las
""i."¿" no se habilitan o si éstas son habili-
entradas de seieccró" a" i"- p"stilla la memoria se inhibe y su
y
tadas pero las entradas de léctura escritura'
impedancia'Cuando CS1:1 y
bus de datos estaru .n un estadode alta
en un modo de lectura o escritura'
e-SZ:0 se puede .oio.u. la memoria
almacenaun byte del bus de datos
cuando wR está h";;lir"d".-la memoria de la dirección. cuandp
en el lugar especitrcadopor las líneas á" ""ttuau se colocaen el
.ont.rriao Jettyte seleccionado
se habirita tu.r,,r"jJ:ñd.l operación de la memoria
y wR la
bus de datos. I_". ..iui". a. nb "o.rt.ótu" con el bus de da-
á.t ¡"t asociados
de la misma forma ;;;1".-*p"iadores
tos bidireccional.
de una manera similar'
Una pastilla RO\f se Lr¡ganizaexternamente puede
Sin embargocomc, !. pu.a. tlet totatttente,el bus de datos
""""'nófj =uitdu Et Jiugtu,Ina.de bloqu^e-de una pastilla
solamenteser un ;;t''Jt es
ROM se muestra ;;; i;.::;-il r:.. Para"el mismo tamaño de pastilla
porquelas celdas binarias ex-
posibletener mas b;;.;; liólr que de RAM
Eenos t'put¡-q"á i" ü n¡u' Por esta razón el
l"-us en Ia RO\l ocupan -tí"
RAM tiene
diagrama especihca nOff ¿e ;iU byies' mientras que la
solamente128b¡'te= uno cual-
ROM especifican
Las nuevelineasde ci'recc:onen Ia pastilla
terminales entradade
quierade los srz utie=-".-",t"udo^t "t' !llu' lgdot
de selecciónde pa*iilia ieoe:' ser CS 1: 1
y eg':0 Ra¡aqueoperela uni-
impedan-
dad. De lo el bus cie ciatosestará en un estadode alta
.j. lectura o escritura debido a que
cia. No huy"o.,t.".io.
,,".".iJ"J;;; .o,-,rtotde
la pastilla median-
cuando se habilita
la unidad puede Ieer s..,ia..e:'re'A..r.
telasdosentradasdese'ecc:o:l'áP8r€ceenelbusdedatoselbyteselec-
cionadopor las lÍneasde ci::eccion'

Selector 1 de Pa.stilla

Selector 2 de Pastilia
de datos de 8 bits

Dirección de 9 bits

Figura l2-12 Pastrlla RO\1 tiPtca


M a p a d e d i r e c c i o n e sd e m e m o r i a

El diseñadorde un sistema de microcomputadordebe calcular la cantidad


clememoria necesariapara una aplicación particular y asignarlaa la RAM
o a la ROM. La interünexión entre la memoria y el microprocesador se es-
necesaria y el tipo
tablece entoncesde acuerdo al tamaño de la memoria
ár p"rtiir". RAM y RoM disponibles.El direccionamiento de la memoria
que especifiquela dirección
;;.á; ser establecido po, medio 9-" "lu tabla
á. -"*o.iu asignada a cada pastilla. La tabla llamada mapa de direcciones
de memoria es una ,"pr"tenta"ión ilustrativa del espacio de direcciones
asignadopara cada pastilla en el sis-tema.
para demostrariocon un ejemplo,asúmaseque el sistema microcompu-
tador necesitabl2bytes de RAM t 512 bytes de ROM. Las pastillas RA!!
y ROM que se van a usar se esplcifican en las Figuras 12-71y 12-12.El
Lupá ¿. dirección de memoria para esta config'ración se muestra en la
f"üt" 12-5.La columna de componenteespecificasi se usa una pastilla
nÁU o ROM. La columna de dlrección héxadecimalasigna un rango de
ái]"."io"". equivalenteshexadecimalespara cada pastilla. Las líneas del
bus de direccionesse listan en la tercerá columna. Aunque haya 16 líneas
en el bus de direcciones,la tabla muestra solamente 10 líneas porque las
otras 6 no Seusan en este ejemploy se asumencomo cero' Las pequeñasr
¡"¡"-f"" líneas del bus de áireócionesdesignanaquellas.líneasque deben
sei conectadasa las entradasde direccionesde cada pastilla. Las pastillas
RAM ti".r.n 128 bytes y necesitan7 líneas de dirección. La pastilla ROM
tiene b12 bytes y tr"."rltu 9 líneas de direccién. La r se asigna siempre a
las líneas ael ¡us de menor orden: líneas t hasta ? para la RAM y líneas 1
h;á o para la RoM. Es necesariodistinguir ahora_entrecuatro pastillas
RAM asignandoa cada una direccionesdiferentes.Para este ejemplo par-
ticular sJ e.coge¡ las líneas del bus 8 y 9 para representarcuatro condi-
par
ciones binarias diferentes.Nótese que se puede escogercualquier otro
de líneas de bus sin usar, para este propósito. La tabla muestra claramente
q.re la. 9 líneas del bus á" -rr,or orden constituyen un espacio de memoria
tu R{IVÍ igual a n :|L2bytes. La distinción entre Ia direcciónde la RAM
y la ROM .é hu"" con otra iínea de bus. Para este propósito se escogela li-
"n
nea 10. cuando la línea 10 es 0, el microprocesadorseleccionauna RAM y
cuando la línea es 1 éste seleccionala ROM.

Tabla l2-5 Mapa de dirección de memoria para el microcomputador

Bus de dirección
Dirección
hexadecimal 10987654321
Componente

RAM I 0000-007F 0 00 x x x x xx
RAM 2 0080-00FF 0 0lxxxx xx x
RAM 3 0100-017F 0 l0xxxx xx x
RAM 4 0180-0lFF 0 llxxxx xx x
ROM 0200-03FF I xxxxxx xx x

556
sEc. 12-6 oRGAN|ZAC|ON
DE LA MEMORTA 557

La dirección hexadecimal equivalente para cada pastilla


^bus se obtiene
mediante la información contenida en Ia asignacióndel de direcciones,
Las líneas del bus de direccionesse subdividen en dqs grupos de cuatro
bits cada uno, de manera que cada grupo puedu .". ."p.:"sentado con un
dígito hexadecimal. El primer dígito h-exádecimal repiesenta las líneas
1.s-t0 v es siempre cero. El siguiente dígito hexadecünal ,eprrserrta las
líneas 9-12 pero las líneas 17 y 12 son siempre 0. El rango de direcciones
hexadecimalespara cada componentese determina p".u lu. r asociadas
con éste. Estas r representanun número binario qu-epuede variar entre
todos cerosy todos unos.

C o n e x i ó nd e l a m e m o r i a a l m i c r o p r o c e s a d o r

Las pastillas RAM y RoM son conectadasal microprocesadora través de


busesy de direcciones.Las líneas de menor orden en el bus de direcciones
seleccionanel byte dentro de las pastillas y otras líneas dentro del bus de
direccionesseleccionanuna pastilla particular por medio de las entradas
de selecciónde las mismas. La conexiónde las pastillas de memoria al mi-
croprocesadorse muestra en la Figura 12-13.Esta configuraciónda una
capacidadde memoria de 512bytes de RAM y 512bytes de RoM. Esta con-
figura el mapa de memoria de la Tabla 12-5.cada RAM recibe los T bits de
menor orden del bus de direccionespara seleccionaruno de los 12g bytes
pasables.La pastilla RAM específicamenteseleccionadase determina a
partir de las líneas8 y 9 del bus de direcciones.Esto se hace por medio de
un decodificadorde 2x4 cuyas salidas van a las entradar ósl en cada
pastilla de RAM. Así, cuando las líneasde dirección 8 y 9 son igualesa 00,
se seleccionala primera pastilla RAM. Cuando 01, se seleccionala segun-
da pastilla y así sucesivamente.Las salidas RD y wR del micropro"".ádo.
son aplicadasa las entradasde cada pastilla RAM.
La selecciónentre la RAM y la RoM se logra por medio de la línea de
bus 10. Las RAM son seleccionadascuando el "¡it en esta línea o v ru,
RoM cuando este bit es 1. La otra entrada de selecciónde pastilla ". én la
RoM se conectaa la línea de control RD paru que se habiliie la pastilla
RoM solamentedurante la operaciónde lectura.^Las líneas del bus 1-g se
aplican a las direccionesde entrada de la RoM sin pasar por el decodifi-
gqdgs.Flste asigna las di¡ecciones0-511a la RAM y stz 1023a la RoM.
El bus de datos de la RoM tiene solamentecapacidadde " salida mientras
que el bus de datos conectadosa la RAM p.reá" trasferir información en
ambasdirecciones.
_ El ejemplo mostrado es una indicación de la complejidad que puede
existir entre las pastillas de memoria y el microp.o."."do.. Entre'mrís pas-
tillas se.conecten se requieren más decodificadoiesexternos para seleccio-
na¡ las pastillas. El diseñador debe establecerun mapa de memoria que
asigae direcciones a las diferentes pastillas de las cuales se determinun i".
conexionesnecesarias.Como los microprocesadores se comunican también
con unidades de interconexión es necesariode la misma manera asignar
direccionesa cada interconexión. La comunicaciónentre el microproc"esa-
dor y la interconexiónse discute en la siguientesección.
F

Microprocesador
Busdedirecciones

ló-l I l0 9 8 7_t RD WR

Decodificador
3210

cil
csi
lrR"R^
Ku uaros
R-t i
h,R
AD7

csl
cs:
lt!"n-
¡tu Datos
IAM ;
WR
ADl

csl
CTJ
RD l,f; ! o"t*
hJR
AD7

csl
cS2
RD 128x8 ¡u¿o.
RAM 4
WR
AD7

cst
CN
1 5 1 2x 8
I nou
I eos
)
Figura 12-13 Conexión de la memoria al microprocesador

558
1 2 - 7 I N T E R C O N E X I OD
NE E N T R A D A - S A L I D A

Una pastilla de interconexiónes un componenteLSI que provee el enlace


de interconexión entre un microprocesadory un dispositivo I,/O. Cuando
está en el modo de salida de datos, la interconexiónrecibe información bi-
naria del bus de datos al ritmo y modo de trasferencia del microprocesador
y la trasmite a un dispositivo externo al ritmo y modo de trasferenciadel
dispositivo.La interconexiónse comporta de manera similar en el modo de
entrada de datos, exceptoque la dirección de trasferenciaestá en la direc-
ción opuesta.Una interconexiónconsistede un número de registros,lógica
de seleccióny circuitos de control que configuran las trasferenciasreque-
ridas. La lógica de interconexiónse incluye a menudo dentro de una pasti-
lla RAM o ROM para proporcionarun componenteLSI que incluya condicio-
nes de memoria e interconexióndentro de una pastilla de CI.
La mayoría de los componentesLSI pueden ser programadospara aco-
modar una variedad de combinacionesde modosde operación.El micropro-
cesador, por medio de instrucciones de programa, trasfiere un byte a un
registro de control dentro de la unidad de interconexión.Esta información
de control coloca la interconexión en uno de los modos posibles disponibles
para un dispositivo particular, al cual está unida. Cambiando el byte de
control es posible cambiar las característicasde la interconexión.Por esta
razón las unidadesde interconexiónLSI se llaman a menudoprogramables.
Las instruccionesque trasfieren la información de control a una interco-
nexión programable son incluidas en un programa de microcomputador y
puedeniniciar la interconexiónpara un motio particular de operación.
Los fabricantes de microprocesadorescomplementan sus productos con
un conjunto de pastillas de interconexiónadecuadaspara la comunicación
entre el microprocesadory una variedad de dispositivos de entrada y sa-
lida normalizados.Los componentesde interconexiónse diseñanusualmen-
te para operar con un bus del sistema microprocesador particular sin ningu-
na lógica adicional diferente de la decodificaciónde direcciones.Hay una
variedad de componentesde interconexión de uso comercial y cada uno
puede ser clasificado en una de las cuatro categorías:

1 . Una interconexión periférica en paralelo trasfiere datos entre el


microprocesadory el dispositivo periférico.

2 . Una interconexión de comunicaciónen seríe convierte los datos en


paralelo del microprocesadora datos en serie para la trasmisión y
convierte los datos en serie entrantes a datos en paralelo para ser
recibidos por el microprocesador.

ó . Una interconexión dedicada especial es construida para comuni-


carse con un dispositivo particular de entrada y salida o puede ser
programada para operar con un dispositivo particular.

4 . Una interconexiónde accesodirecto de memoria (DMA) se usa para


trasferir datos directamente entre un dispositivo externo y la me-
moria. Los separadoresdel bus en el microprocesadorson inhabili-
559
5 6 0 D t s E ñ o D E L S T S T E M AD € L M T C R O C O M P U T A D O R cAP. 12

lados y pasan al estado de alta impedancia durante la trasferencia


D MA .
Las unidades de interconexión comercialespueden tener nombres di-
ferentesque los que aquí se listan. Más aún, las característicasinternas y
externas varían considerablemente de una unidad comerciala otra" En está
sección, se discuten las característicascomunes de los componentesde
interconexióny se explican en términos geDeraleslos diferentesmodos de
trasferenciaque tienen. La trasferenciade accesoa la memoria se discute
en la siguientesección.

C o m u n i c a c i ó nc o n e l m i c r o p r o c e s a d o r

Los grandescomputadoresusan muy a menudobusesseparadosen el cpu


para comunicarsecon la memoria y la interconexiónl/O.lJn bus I,/O de
los grandes computadoresconsiste de un bus de datos y uno de direccio-
nes similar al bus que se comunica con la memoria. El bus de datos I/o
trasfiere los datc¡ a los dispositivos exte¡nos y viceversay el bus de di-
recciones I/O st usa para seleccionar un dispositívo I/O particular a
través de su interconexión. El número de líneas de direccionesen un bus
I,/o es menor que un bus de memoria porque hay un menor número de
unidades I/O paru seleccionarque palabras en un sistema de memoria.
un microprocesadortiene un límite para el número de terminales que
pueden ser acomodadosdentro de una pástilla de CI. No hay suficienies
patillas en una pastilla de microprocesadores para suministrar busessepa-
rados para comunicarseseparadamentecon la memoria y el l/O.Invaria_
blemente todos los microprocesadoresusan un sistema de bus común para
seleccionarpalabras.de.memoria y unidades de interconexión. Si una pas-
tilla de interconexióntiene un número de registros,cada uno se seleccíona
por medio de sus prop,as direcciones de la misma manera que se selecciona
una palabra de memoria. El bus del microprocesador no distingue entre un
registro de interconexión y una palabra áe -emoria. Es responsabilidad
del usuario, por medio de instruccionesdel programa,especificarla direc-
ción apropiada que seleccioneuno u otro. Háy áos *a.tetas de asignar las
direccionespara seleccionarlos registros de memoria e interconexión.un
método es el llamado I/O con mapa de memoria y el otro es el llamado
I/O aislado.
En el método I,/o con mapa de memoria, el microprocesadortrata el
registro de interconexióncomo parte del sistema de memoria. La dirección
originada para los registros de interconexión no puede ser usada para pa-
labras de memoria,reduciendoasí el espaciode memoria disponible.En una
organizaciónl/o con mapa de memoria no hay instrucciónesde entrada
y salida-porque el microprocesadorpuede manipular los datos l/o qie
¡esiden en los registros de interconexión con las mismas instruccion"* qu"
se usan para manipular los lugaresde memoria. Cada interconexiónse ór-
ganiza como un conjunto de registros que responden a los comandos
de
lectura y escritura en el espaciode direóción nbrmal del microprocesador.
Típicamente se reserva un segmento del espacio de direcciones total para
los registros de interconexión pero en general pueden estar localizados en
sEc. 12-7 I N T E R C O N E X I ODNE E N T R A D A - S A L I D A 561

cualquier dirección, siempre y cuando no haya una palabra de rnemoria


que correspondaa esa dirección"
La organización de los I,/o con rnapa de memo¡ia es conveniente para
sistemasque no necesitenespaciodisponible de memoria de las líneas del
bus de direcciones.un microprocesadorcon un bus de datos de 16 bits,
que requiereuna memoria menor que 32K puedeusar otras 32K direcciones
disponiblesdel bus para accesarlos registrosde la interconexión.Una con-
figuración específica para un I/O con mapa de memoria puede configu-
rarse modificando ligeramentelas conexionesde dirección mostradasen la
Figura 12-13.La línea de dirección 11 del diagrama no se usa para accesar
la memoria. Se dejará ahora que esta línea distinga entre la memoria y la
interconexión,de manera que cuando el bit de la línea sea 1, el bus de di-
reccionesseleccioneuna memoria de palabra y cuando el bit sea 0 seleccio-
ne un registro de interconexión. Para lograr esta nueva condición se debe
aplicar a una compuertaAND cada línea que va al CS 1 en las RAM y ROM
de la Figura 12-13con el bit de la línea 11 de dirección.Las entradasde se-
lección de pastilla de todas las unidadesde interconexióndebenestar con-
dicionadasal valor del complementode la línea 11, adem¡ísde la dirección
asigrrada.
con la organizacióndel l/o aislado, el microprocesadorespecificaen
sí mismo cuando la dirección en el bus de direccioneses para una palabra
de memoria o para un registro de interconexión. Esto se hace por medio de
una o dos líneasde control adicionalesque se fabricarrcon el microprocesa-
dor. Por ejemplo, un microprocesadorpuede tener una línea de control de
salida marcada M/Io. cuando Milo:1 esto significa que la dirección
del bus de direccioneses para una palabra de memoria. Cuándo M/IO:0,
la dirección es para un registrode interconexión.Esta línea de control debe
ser conectadaa las entradas de selecciónde RAM, ROM y de las pastillas
de interconexión,de la misma manera que la línea 11 del bus fue conectada
en el ejemplo previo para el caso del l/O con mapa de memoria.
En la organización l/O aislada, el microprocesadordebe entregar
instruccionesde entrada y salida diferentesy cada una de ellas debe aso-
ciarse con una dirección. Cuando el microprocesador busca y decodificael
código de operaciónde una instrucción de entrada y salida, éste lee la di-
rección asociadacon la instrucción y la colocaen el bus de direcciones.Al
mismo tiempo hace la línea de control M / IO igual a 0 para informar a los
componentesexternos que esta dirección es para una interconexión y no
para la memoria. Asi, durante un ciclo de búsquedao un ciclo de ejecución
de referenciade memoria, el microprocesadorhabilita el control de lectura
o escritura y lleva la línea M/IO a 1. Durante la ejecuciónde una instruc-
ción de entrada o salida, el microprocesadorhabilita el control de lectura o
escrituray lleva la línea M /IO a 0.
El método I,/O separado, aísla la memoria y las direcciones l/O de
maneraque no se afecteel espaciode memoria por la asignaciónde la direc-
ción de la interconexión. Debido a este aislamiento, todo el espacio de
direccionesdisponiblepor el bus de direcciones,no es afectadopor el direc-
cionamiento de la interconexión, como en el método de I,/O con mapa de
memoria.
I n t e r c o n e x i ó np e r i f é r i c a e n p a r a l e l o

una interconexión periférica en paralelo es un componenteLSI que pre-


senta un camino para trasferir información binaria en paralelo éntré
el
microprocesadory el di,qpositivoperiférico. una pastilla de interconexión
contiene normalmente dos o más puertos I/O qúe se comunican con
uno
o más dispositivosexternosy una interconexiónsencilla para comunicarse
con el sistema del bus del microprocesador.El diagrama'debloque
ar rrrr"
rnte¡conexiónperiférica típica_en paralelo .. -rr".t." en la Figr.rral2-r4.
Este consistede dos puertos. cada puerto tiene dos registros,un bus I/o
de 8 bits y un pa( de l(neas denorninadas üe entoce. Li operación a\mace-
nada en el registro de control especificael modo de operació" det p""rlá.
El puerto del registro de datos se usa para trasferir dátos al bus dé datos
y al bus I/ O y viceversa.
La interconexiónse comunica con el microprocesador a través del bus
de datos, el selector de pastilla y el control de lectura,/escritura.se debe
agregarun circuito externo (usualmenteuna compuertaAND) para detec-
tar -la dirección asignadaa la interconexión. EstL circuito habilita Ia en_
trada de selecciónde la pastilla cuando se seleccionala interconexiónpor
medio del bus de direcciones.Las dos entradas de selección del registro
r?s 1 y RS 2 se conectanusualmentea las líneas de menor orden del b"usde

Bus
de datos

Registrode
datospuerto;1

Líneas de enlace

Selector de
pastilla y
RI) control de
lecturaT/
h,R
escritura
lnterrupción <
Puesta
Líneas de enlace
a cero

Registro seleccionado
XX Ninguno - El bus de datosen alta impedancia
00 Registrode datospuertoA
0l Registrode control puertoA
l0 Registrode datospuertoB
ll Registrode control puerto B

Figura l2-14 Diagrama de bloque de la inte¡conexión periférica en paralelo

562
S E C .1 2 - 7 I N T E R C O N E X IDOENE N T R A D A - S A L I D A 5 6 3

direcciones. Estas dos entradas seleccionan uno de los cuatro registros en


Ia interconexión, como se explica en la tabla que acompaña el diagrama. El
contenido del registro selector se traslada al microprocesador por medio
del bus de datos cuando se habilita la entrada RD. El microproceiador car-
ga un byte al registro seleccionado por medio del bus de datos cuando se
habilita la entrada wR. La salida de interrupción se usa para interrumpir
al microprocesador y la entrada de reposición es para pone. a cero la inter-
conexión una vez que se suministre potencia.
El microprocesador inicia cada puerto trasfiriendo un byte a su re-
gistro de control. Al cargar los bits adecuados a un registro de control en la
iniciación del sistema, el programa puede definir el modo de operación del
puerto. Las características del puerto dependen de las unidades comercia-
les usadas. En la mayoría de los casos, cada puerto puede ser llevado a un
modo de entrada o salida. Esto se hace al trasferir los bits en el registro de
control que especifican la dirección de trasferencia en los separadores del
bus que accionan el bus I,/O bidireccional. En adición, el puerto puede
hacerse funcionar en una variedad de modos de operación. Los tres modos
de operación encontrados en la mayoría de las pastillas de interconexión
son:
1. Trasferencia directa sin línea de enlace.
2. Trasferencia con enlace.
3. Trasferencia con enlace usando interrupción.

Una interconexión se lleva al modo de trasferencia directa cuando el


dispositivo conectado al bus l/o está siempre listo para trasferir infor-
mación. Las líneas de enlace no se usan en este modo y algunas pastillas
de interconexión tienen un modo de programación para convertir estas lí-
neas en líneas de trasferencia de datos. La trasferencia directa puede ope-
rar en un modo de entrada o salida. En el modo de entrada una ope.ación
de lectura trasfiere el contenido del bus l/O aI bus de datos del micropro-
cesador. En el modo de salida, una operación de escritura trasfiere el óon-
tenido del bus de datos al registro de datos del puerto seleccionado. El byte
recibido se aplica entonces al bus l/o. Las trasferencias de entradá o
salida directas son útiles solamente si los datos valederos pueden residir
en el bus I,/O por un tiempo largo, comparado con el tiempo de ejecución
de la instrucción en el microprocesador. Si los datos I,/o pueden ser va-
lederos por un corto tiempo, la interconexión debe operar en el modo de
enlace.
Las líneas de enlace son usadas para controlar la trasferencia entre
dos dispositivos que operan asincrónicamente entre sí, es decir cuando no
comparten un reloj común. El enlace es un proceso usado comúnmente y no
está restringido para hacer interconexión con pastillas solamente. Dos lí-
neas de enlace, conectadas entre un dispositivo fuente y uno de destino,
controlan las trasferencias informándose entre sí de la condición de la tras-
ferencia por medio del bus común. El dispositivo fuente informa el destino
por medio de una de las líneas de enlace cuando se tiene información vale-
dera en el bus. EI dispositivo de destino responde inhabilitando la segunda
línea de enlace cuando ha sido aceptada la información del bus. La Fizuru
5& D I S E Ñ OD E L S I S T E M AD E L M I C R O C O M P U T A D O R CAP. 12

12-l-1muestra dos líneas de enlace en cada puerto. una es una línea de sa-
lida ¡' la otra de entrada. Es costumbrereferirsea estas líneas con símbo-
los. pero los símbolos adoptadosson siempre distintos en las diferentes
unidadescomerciales.Debido a la variedad de símbolosusadospara desig-
na¡ esas líneas, se prefiere no adoptar un símbolo sobreotro sino referirs-e
a las dos líneas como la línea de enlace de salida o entrada. La línea de
enlace de entrada pondría a uno un bit en el registro de control dentro de
la interconexión.Este bit será llamado indicador,teniendoen cuenta que
el registro que retiene el bit indicador (el registro de control en este caso)
puede ser leído por el microprocesadorpara comprobarla condición de
la
trasferencia.El bit indicador se bo¡ra automáticamenteen la interconexión
despuésde una operaciónde lectura o escritura asociadacon el correspon-
diente registrode datos.
La secuenciade enlace detallada para una pastilla comercial de inter-
conexiónse especificacon el diagrama de tiempo que acompañalas especi-
ficaciones dei producto. Debido a la varied"á ¿é procedímientosque se
encuentranen la práctica, sería mejor explicar el rnétodode enlace en tér_
minos generales,sin preferenciapor un método específico.La trasferencia
con enlace dependede si el puerto está en el modó de entrada o salida de
información.
E' el modo de enl¿cede salida, el microprocesadorescribeun byte en
el registro de datos del puerto de interconexión.La interconexiónhábilita
la línea de enlacede salida para informar al dispositivoexternoque un byte
valedero-está disponible en el bus I,/o. cuándo el dispositivo externo
aceptael byte del bus l/O, éstehabilita la línea de enlacede entrada. Ello
pone a uno el bit indicador en el registro de control. El microprocesador
lee el registroque contiene el bit indicador para determinar si la trasfe¡en-
cia fue completa. si es así, el microprocesadór puedeescribir un nuevo byte
al registro de datos del puerto de lnterconexión. Al escribir datos en un
puerto dado se borra automáticamenteel bit indicador asociadocon la tras-
ferencia de salida. El procesopuede repetirsepara dar salida al siguiente
byte.
En el modo de enlace-de.entrada,el dispositivoexterno colocaun byte
en el bus r/o y habilita la línea de enlace áe la entrada de interconexián.
La interconexióntrasfiere el byte a su registro de datos y pone a uno un
bit indicador en el registro de control. El- microprocesadárlee el registro
que contiene el bit indicador para determinar si ie requiereuna trasferen_
cia de entrada. Si se pone a uno el bit indicador, el ,rri".opro.".ador lee el
byte del registro de datos del puerto y borra el bit indicador. La interco-
nexión informa entoncesal dispositivo conectadoal bus r/o a través de
la línea de enlace de salida, que el nuevo byte puedeser acáptado.una vez
que el dispositivo de salida ha sido informádo áu q,r" la intérconexiónestá
lista, puede iniciar la trasferenciadel siguientelyte nauititando de nuevo
el enlacede entrada.
En el método de enlace anteriormente descrito, el microprocesador
dgpe ]eei periódicamenteel registro de control para comprobai Ia condi-
ción del bit indicador. si hay un número de puertósconectádosal micropro-
cesador,sería necesariohacerlesun muestréoen sucesiónpara determinar
aquellos que requierenuna trasferencia.Esta es una op"r*"iór, que consu-
l

sEc. 12-7 I N T E R C O N E X I ODNE E N T R A D A - S A L I D A 565

me tiempo-y que puede ser evitada si se inicia la interconexiónpara que


opere en el modo de interrupción. La salida de interrupción mosirada
en
la Figura 12-14se usa.entoncespara solicitar una interiupción del micro-
procesador.La mayoría de unidades comercialespresentur .r.ru
línea de
interrupción separada.paracada puerto en la interconexión. cada vez que
se pone a uno un indicador en el puerto, la petición de inte¡conexiónque
peqteneceal puerto se habilita automáticamentepara informar
al micro_
programadorque se va a inicia¡ la trasferencia.El microprocesador
respon-
de a la señal de interrupción
_delpuerto que solicitó la acción y trasiiere
el byte de datos al registrode datoJdel puerto de intercone*iOny-uiceversa.

I n t e r c o n e x i ó nd e c o m u n i c a c i ó ne n s e r i e

un dispositivo I,,'o puedetrasferir la información binaria en paralelo o en


serie. En la trasmisión en paralelo, cada bit de información usa una línea
separadade manera que los n bits de un ítem pueden ser trasmitidos si-
multáneamente. Por ejemplo, un dispositivo perúérico paralelo puede tras-
mitir una palabra de 16 bits, todos al tiempo, a travéé de dos iuses de g
bits de la interconexiónperiférica.en paralélo. En la trasmisión en serie,
los bits de una palabra son trasmitidoÁ en secuencia,bit a bit a través dé
una sola línea. La trasmisión en paralelo es más rápida pero requieremu-
chas líneas. Esta se usa para diitancias cortas y donde la veiocidad es
importante. La trasmisión en serie es lenta pero menoscostosaya que sola-
mente requiere una sola línea. La información binaria trasmitida desde
terminales remotosa través de cables telefónicosu otro medio de comuni-
cación e9 d-eltipo serie porque sería muy costososuscribir o renrar un gran
númerode líneas.Ejemplosde terminalés de comunicaciónson los teletfros,
los terminales de cirr v los disposiiitor a" cómputo ,L-ot".
La información binaria en ierie trasmitida a un terminal consistede
caracteres de códigos binarios. Los caracteres pueden representar informa-
ción alfanuméricao caracteresde control. Los caracteres'alfanuméricos son
trasmitidos como un te-xto e incluyen las letras del alfabeto, los dígitos de-
cimales y un número dc símbolos gráficos tales como el punto, et áris y ta
'de
coma. Los caracteresde control se usan para la distribución la impre_
sión o para especificarel formato der mensajetrasmitido. El númerode bits
asigrradosa cada código de caracteres pueáe estar entre cinco y ocho de-
pendiendodel terminal.
El diagrama de bloque de una interconexiónde comunicaciónen serie
se muestra en la Figura 72-15.Este funciona como un trasmisor o como re-
ceptor y puede ser programado para operar er una variedad de modos de
trasmisión. La interconexiónse inicia para un modo de trasferenciaen se-
rie particulq por medio-deun byte de control, el cual se cargaa su registro
de control. El registro de trasmisión acepta un byte de datoJ del micópro-
cesador a través del bus de datos. Este byte se trasfiere a un registró de
des.pl_azamiento para una trasmisión en .eiie. La parte de recepcióInrecibe
la.información de se¡ie en otro registro de desplazámientoy cuando se acu-
mula un byte de dat-oscompleto, éste se traifiere al registro receptor. EI
*para
microprocesadorpuede seleccionar el registro receptor leer el byte
Registro de
Trasmisión
d e s p l a z a-
mlento

Registro
de control

RD Selector de
pastilla y
l1/R control de
lectura
e sc r l t u r a

Puesta
a cero

Registro seleccionado
Ninguno
Registrotrasmisor
Registrode controi
Registro receptor
Registrode condición

Figura 12-15 Diagrama de bloque tipico de una interconexión de


comunicaciónen serie

por medio del bus de datos. Los bits del registro de condición se usan para
poner a uno los indicadores de entrada y salida y para detectar ciertos
errores que pueden ocurrir durante la trasmisión. El microprocesador pue-
de leer ei registro de condición para constatar el estado de los bits indica-
dores y para determinar si cualquier error puede ocurrir.
Las líneas de selección de pastilla y de lectura,/escritura' se comuni-
can con el microprocesador. El terminal de entrada de selección de pastilla
(CS) se usa para seleccionarla interconexión. El selector de registro (,RS)
se asocia con los controles RD y WIi. Dos registros aceptan información
durante una operación de escritura y los otros dos suministran informa-
ción durante Ia operación de lectura. El registro seleccionado es entonces
una función de la condición de RD y WR como se muestra en la tabla que
acompaña el diagrama.
El trasmisor y receptor tiene una entrada de reloj para sincronizar la
razón de los bits al cual se trasfiere la información en serie. La línea de
datos de trasmisión se conecta a un receptor remoto y Ia línea de datos re-
cibidos vienen de un trasmisor remoto. Si el reloj está conectado al terminal
remoto, se dice que la trasmisign es sincrónico. Si el reloj no está compar-
tido con el terminal remoto se dice que la trasmisión es asíncrónica.

566
SEC. 12-7
I N T E R C O N E X I ODNE E N T R A D A - S A L I D A
567
En el modo serial sincrónicode
trasmisióner trasmisorremotoy
.y el receptorcompa.rtenel reloj local
Los bits.""^"""i"a"s desdeel
misor a intervaloó iff{: "o-,in. tras_
g," ,1"-_r" ¿"turlir"¿;';;;;i
sos de reloj' como er receptor. rirmo de los pur_
comparte
éste acepta los bits al mismo ritmo ¡r1 ryloj "o-ir., con el trasmisor,
ier ."i"j. E;'l;i.á]-,.i0" asincrónica.
las dos partes no un reloj común. Los pulsos de reloj
.comparten
sor de interconexión del trasmi-
t.a.t t"""pio.-úon
que especificara rata de trasfeiencia alimentadi;^;i ,;-" del reloj iocal
del t..Áirriá" remoto
al cual está conectadala i"tu.""l."l?". "á_rrni.u"ión
un probremacomún asociado
u.ru trasmisión en serie trata crela
demarcaciónde caracteresen una"o.r
y receptor pueden.estarprogramados cade'a ;";t-";;""'fir.. El trasmisor
lara reconocerel núme¡o de bits en
cada caracte¡ en el t".*i"uit.-olJ]p".o'urrece
tar el primer bit en allí el problema de detec-
.cadacaract"t-á" manera que una cuenta pueda comen_
siguiente cu.a"te..
r.f i;.{{;.r" ilj caracteres
áL:.*n:.ff,Í serie,
depende estén
ciaessincrónico
o::fi;1;ill"en A" ,i aet.asfe.el_
En
"t--oao
la trasmisión en serie sinc¡ónica,
caci ón, I lamadocaractera", ¡n r rli un caracter d,econtroL d,ecomuni_
tedesincro"i,u"láo il, Á;:'.; ;":Ll':::"":. ::
enrre
el t*..i.". ? iir:;lT::nilf,";..illáf",i;
códigoAscrr de 7 bits se-il;iTti
mássignificativa, b'd;-;;;;;;;";ü, en ra posición
00010110.cuando "t "".u.t.r*.i;;ó;;." uri;";a; ;;";';i'código de 8 birs
el t.asmiso;;;;i;;""
-ilr"*" a enviar.u.u"t.l". de 8 bits éste
envía varios caracteres
-sincrónicás
dena continua inicial a" úii.'"""práau envía el mensajeactual. La ca_
caracter sincrónico. E_notras putáb.u., oo. er receptores analizadapor el
compruebalos últimos.ocho bits .con ggda o,rr"o J" reloi, el recéptor
,""iüia*.
bits del caracter .::1":::i-.i";""d;l si ?.tir^"á ll.,"uurdu., con los
anterior de mavor orden .o-prrr"bu acepra un bit más, rechazael bit
v d. ;;;;; iá. íirr-T- ocho bits reci_
bidos por un cáracter a. éi".i"íir]ill p.ro se repite
de reloj v bir recibid".il;;";;;.;;;""",c.a a".pro. de cada pulso
una vez que se hava detect"a?, urr caracter de sincronismo.
rr sincronismo,el receptorha_
brá demarcadoun caracter.o" "rracter,de
uqui-un adelante er receptorcuenta cada
ocho.bits y los aceptaco_mo un .oio
pru€ba dos caracteresde Comúnm"rrl"r receptorcom_
sincronismo "u*"t"r.
l:t o" ri" ir .;il."rcarac
ter¿..i,,..o
cleuna señalde ruido en ra línea. i;o.li,l
::i:::.i,Ti"il':l ff.li,:T;
""*rrJo'J
inactivoy no tiene sln trur-i.or está
tinua de caracteresT:*l_;;l;;j;;üg 'El. ".uu.go,
enviar,ésteenvíauna cadenacon_
de sincroni.-o. receptor reconocetodos los
teres de sincronismo como una carac_
condición p"." .i""rá"llár"u línea y pasa
a un estado ratente sincrónico.
E;;;; eitado, tu. ¿o. .r'idades mantie_
nen sincronismomientras no
se esté co-rr.ri"undo ningún
El procedimientonormar antes mensaje.
interconexión de comunicaci¿. descrito indica que el trasmisor en una
.i""r¿"lca se ha diseñadopara
racte¡esde sincronismo-al enviar ca-
tru.-irión y tam|ién cuando
hay caracteresdisoonibl". a"i'-j"iápii"".u¿or.
"o,'i""ro-J"'lu no
nexión de comunicaciónsincr¿nica'Je"be. El recepr,oren una interco_
en caracteresy debe poder identificar demarcarocho bits consecutivos
como et caracrer de sincronir;;. cierto*
"¿Jiñ'á"""u.u"r"r"s
¿;;;do el recepi;-. tales
;";;";"" ros ca¡acre_
5 6 8 D I s E Ñ oD E LS I S T E M A
D E LM I c R o c o M P U T A D o R cAP.12

res de sincronismo,se usan éstospara mantenerel sincronismocon el tras-


misor, pero los caracteresde sincronismono se envían al microprocesador.
El procedimientonormal para demarcar caracteresdurantJ la trasmi-
sión asincrónicaes enviar al menos dos bits adicionalescon cada caracter.
Estos bits adicionalesson llamadosbits de parada y d.ecomienzo.por ejem-
plo, una unidad de teletipo usa un código de caratter de g bits pero envía
11 bits por cada caracte¡ trasmitido. El primer bit es el bit de iomienzo.
Este está seguidopor los 8 bits del caracter y luegopor los dos bits de pa-
rada. La convenciónen este terminál es que petmatteóeen el estado1 cuan-
do no se trasmiten caracteres.El primer bit ós siempre0 y representael bit
de comienzopara indicar el principio de un caractei. El ieceptor puedede-
tectar el bit de comienzocuando la línea va de 1 a 0. un reloj en ei receptor
conocela raz6n de trasferenciay el número de bits del caracter que se es-
peran. Despuésde que se reciban los 8 bits de caracteres,el receptorcom-
prueba los dos bits que están siempreen el estado1. La longitud de tiempo
que la línea permaneceen el estado de 1 (parada)dependede la cantidád
de tiempo requeridopara que el terminal seiesincronióe.un teletipo requie-
re dos bits de parada. otros terminales usan justamente un bit áe paiada
y algunos uno y medio tiempo de bit para el períodode parada. Lá línea
permaneceen el estado t hasta que se trasmita otro carácter. La Figura
12-16muestra los 11 bits del caracter típico del teletipo. Despuésde que
los dos bits de parada han sido trasmitidos, la línea pnedeir a ó, indicando

Bit de o L:.^
' + 8 b i t s d e i n f o ¡ m a c i ó¡nr r+r v r r u q L r u r r ,"'uo, +
comlenzo de parada

Figura 12-16 T¡asmisión asincrónica en serie de un caracter

un bit de parada para un nuevo caracter. La línea permaneceráen el esta-


do 1 si no sigue otro caracter inmediatamente.
El procedimientonormal antes descrito indica que el trasmisor en una
interconexión de comunicación asincrónica agregaios bits de comienzoy
parada antes de la trasmisión en serie. El reCep[ordebe reconocerlos bits
de comienzo y parada para demarcar el caractór. El receptor puede aislar
los bits de información para trasferir al microprocesador.
Los procedimientos de demarcación normalizados son incorporadoscon
una interconexiónde comunicaciónen serie.La interconexióndé comunica-
ción en serie puede ser solamenteasincrónica,sólo sincrónica o ambas co-
sas.

C o m p o n e n t e sd e i n t e r c o n e x i ó nú n i c o s

Además de los-componentesde interconexión que trasfieren información en


paralelo o en serie, se puede encontrar en uso comercial otras pastillas de
sEC. 12-8
A C C E S OD T R E C T O
DE MEMORTA 569
interconexiónque-son dedicadas
a ra aplicación de interconexiónparticu_
lar. Atsunas de ellas r" li;;;;;olltj,,uaci¿n,

Controlador de disco floppy


Interconexióndel tablero y el teclado
Controlador de prioridad de inte¡rupción
Temporizadorde intervalo
Interconexiónperiférica universal

El controladorde disco-flo-ppyes una


da para controlar un pequeñ_oa'isp"sitiuo -pastilra de interconexióndiseña-
¿" en disco mas_
nético llamado discofioppy. ili;;;;;;nexión "r*á"r*-i"r,to
da para hacer un ¡arriib"¿e r""-r"riri, de rableroy tecladoes adecuá_
á"-r"l.rrpt".J."our" detectar un
accionamiento v para accionar
;;ú1.*" á";;;;;;i;;iii nr-¿rica o arfa_
numérica. El controlador de prioriáua
"" d";;;;;"]ári'i".irita el manejo
intgl¡pción para establecer prioridad;
!e.-la
rnterrupción para el. microprocesado¡. t;il;r,iir", un vector de
u" ¿;;ór;;;il; intervalo es un
contador programable que pued" rli pr"purado
para contar un intervalo
9r9*.:11*ry v,paral"tuiru-pit-ir ,,,i".opro."r"áor-"u"ndo
er conrador
arcanzauna cuenta preestablecida.
una interconexié¡rperiféric-a;niversal
túa como un procesador'r/o...1ü'"1 es un componenteLSI que ac_
.irr;;ópü]ñ;;. su propiopro_
cesador,la lógica de control, R4M
una pastilla microprocesadora. ; nOU v L ;ñ";;.sos se parecea
su n:ncio' es manipurar ras operaciones a
los dispositivos,I7o de I
¿JiJ; que ver con los procedimientos i
"" "r, de
almacenad;;t" partedeRoM ai lu i'tur"á..,.ii. ¡¡
I
;:f¿:,t""; ll,f,f,,::**a
vo
spa
rticur"*. "i:,ii,:l :': r:H""ÍlJ::l.#: I;,* 3H¿i,1,1:
sl.,y_:*
Í
es supervisadopor er program? que
esencia,ésta es .r.ta configuraciónde
"'
se-ejecuta;; ;1";;"procesador.
En
y el dispositivo de interco"nexii" Jo, p.o""r"dores con el sistema cpu I

esclavooperandoen pararelo.
""iuJr.ur ;
1 2 - 8 A C C E S OD I R E C T O I
DE MEMORIA
$
lt
La trasferenciade datos.
.entre un dispositivo de almacenamientomasivo,
tal como el disco magnético n
o cinta mlgnética y el sistema de
memoria
limita a menudo -.
-ru u"to"iá"J ¿"r"mic.op.ocesador.Desconectandose
procesadordurante tal er
_trasferencia
maneje la trasferenciadirectame"té l-de¡ando que er dispositivo periférico
á ü memoria mejorarÍara velocidad
la trasferenciay se i.aría el ;il"-";s de
eficiente. Esta técnica de trasfe-
rencia se llama DM¡ (accesodi.;;;'á"
memoria). Durante la trasferen_
cia DMA el procesadorestará i;;;;;
i" -".,"." que no tenga contror del
bus del sistema. un controlador DMA "iara
acciona io.' uu."". mane¡ar la
trasferenciadirecramenteenrre.el dispositi";
El microprocesadorse puede hacei que quede ;;;:;;'| lu *.rnori".
neras. El método más común inactivo de muchas ma-
tr"¡iiitui lo. br;r;;i;;;. una señai de
".
570 D I S E Ñ OD E L S I S T E M AD E L M I C R O C O M P U T A D O R CAP. 12

control especial. La Figura 12-17 muestra clos señales de control usadas


para la trasferencia DMA. EI terminal de entrada de requisíción de bus
(Br? ) en el estado 1, es una petición al microprocesador para habilitar sus
buses. El microprocesador termina la ejecución de su instrucción presente
¡' luego coloca sus buses, incluyendo la línea RD (lectura) y WR (escritura)
en un estado de alta impedancia. Cuando esto se hace, el procesador coloca
la salida de bus garantizado (BG) en el estado 1. Durante el tiempo en que
BG : I el microprocesador estará inactivo y su bus inhabilitado. El proce-
sador regresa a su operación normal después de que la línea BR regrese a 0
haciendo regresar su línea BG a 0 e inhabilitando los buses. La línea de
requisición de buses se denomina algunas veces comando de retención y la
garantía de bus como un reconocimiento de retención (hold acknowledge).
Tan pronto como BG: 1, el controlador DMA puede tomar el control
del sistema de buses para comunicarse directamente con la memoria. La
trasferencia puede hacerse para todo un bloque de palabras de memoria,
suspendiendo la operación del procesador hasta que sea trasferido todo t'{
bloque. La trasferencia puede hacerse palabra a palabra entre ejecuciones
de instrucciones del microprocesador. Tal trasferencia se llama toma de
ciclo (cycle stealing). El procesador solamente demora su operación por un
ciclo de memoria para permitir la trasferencia I/O directa de memoria
para tomarse un ciclo de memoria.

Microprocesador
Requisición AB US
de bus
DB US Alta impedancia
(inhabilitado)
Garantía RD siBG: I
de bus
I4JR

Figura 12-17 Señales de control para la t¡asferencia DMA

El controlador DMA necesita los circuitos usuales de una intercone-


xión para comunicarsecon el microprocesador.Además necesitaun regis-
tro de direcciones,un registro contador de bytes y un grupo de líneas de
direcciones.El registro y líneas de direccionesse usan para comunicación
directa con el sistema RAM. El registro contador de palabrasespecificael
número de palabras que van a ser trasferidas.La trasferenciade datos se
hace comúnmenteen forma directa entre el dispositivo periférico y la me-
moria bajo control del DMA.
La Figura 12-18muestra el diagramade bloque de un controladorDMA
típico. La unidad comunica con el microprocesadorvía el bus de datos y
Iíneasde control. Los registrosen el DMA son seleccionados para el micro-
procesadorpor medio de unas líneas de direcciones,habilitando CS (selec-
ción de pastilla) y RS (selecciónde registro).Las líneasRD y WR en el
DMA son bidireccionales. CuandoBG :0, el microprocesador se comunica
con el registro DMA a través de la barra de datos para leer o escribir en los
Bus de ciireccirin

Separadores
del bus
de di¡ección

Registro
de dirección

Registro
de cuenta
WR de bytes
Lógica de
BR controi
Registrode
BG control

Puesta Requisición DMA


a cero
Reconocimiento DMA
lnterrupción
Lectura z"esc¡itura

Figura l2-18 Diagrama de bloque del controlado¡ DMA

registros DMA. cuando BG : l, el DMA puede comunicarse directamente


con la memoria especificando una dirección en el bus de direcciones y acti-
vando su control RD o wR. El DMA se comunica con un dispositivo perifé-
rico externo y a través de las lí'eas de requisición y reconocimiento.
El controlador del DMA incluye tres iegistros: un registro de dirección,
un registro contador de bytes y un registro de control. El registro de direc-
ciones contiene 16 bits que especifican ra posición deseada én la memoria.
Los bits de la dirección pasan a través cle un separador de buses y van a pa-
rar al bus de direcciones,. El registro de direcciorres ,e incrementa después
de cada trasferencia de byte DMA" El registro ctxrtador cle bytes ut-'a""-
ra el
.número de bytes que se van a trasférir. Este registro se decrementa
después de la trasferencia de cada byte y se compruebán internamente los
ceros. El regist,ro de control especifica el mc¡do de trasferencia, bien sea
hacia la memoria (escritura) o hacia afüera cle ella (lectura). Todos los
registros en el DMA actúan para el microprocesador como una intercone-
xión Iz'o' Así, el procesador puede leer o escribir en ios registros DMA
bajo el programa de control, vía el bus de datos.
E i D M A s e i n i c i a p r i r n e r o p o r e l m i c r o p r o c e s a d o r .D e s p u é s d e e l l o e l
DM-A
-comienza y continúa la trasferencia de datos entre la memoria y la
unidad periférica hasta que se trasfiera un bloque completo. El procesá de
inicio es esencialmente un programa que consiste ds instruccio.es
I,..(J
r t r u ei n c l u y e n l a d i r e c c i o n D M A ¡ r a r a s e l e c c i o n a r l < l sr e g i s t r o s p a r t i c u i a r e s .

571
572 D I S E Ñ OD E t S T S T E M AD E L M I C R O C O M P U T A D O R CAP. 12

El microprocesadorinicia el DMA enviando la siguienteinformación a tra-


vés del bus de datos:
1. La dirección de comienzodel bloque de memoria dondelos datos es-
tán disponibles(para lectura) o donde los datos están almacenados
(para escritura).
2. La cuenta de byte, la cual es el númerode bytes en er bloque de me-
moria.
3. Los bits de control para especificaruna trasferenciade lectura o
escritura.
4. Un bit de control para iniciar el DMA.
La dirección de comienzose almacena en el registro de direccionesDMA.
La cuenta de byte, se almacena en el registro áe cuenta de bytes DMA y
los bits de control son almacenadosen el registrode control dei DMA. un;
vez qr¡e se inicie el DMA, el microprocesadordetiene la comunicacióncon
el DMA a.no ser que reciba una señal de interrupción o si éste quiere com-
probar cuántos bytes han sido trasferidos.
La posición del controlador DMA entre otros componentesen un sis-
tema de microcomputadorse ilustra en la Figura 12-1g.El microprocesador
se comunica con el controladorDMA por medio del bus de datos y direccio-
nes como con la unidad de interconexión.El DMA tiene sus propia, direc-
ciones las cuales activan las líneas CS y BS. El microproce.udo,inicia el
DMA medianteel bus de datos.IJna vez que el DMA r""lb" el bit de control
para iniciar, puede comenzar la trasf'erenciaentre el dispositivo periférico
y el sistemaRAM.
. Quald_oel dispositivoperiféricoenvía una requisiciónal DMA, el con-
trolador DMA activa su línea BR para informar ai procesadorla liberación
del bus de buses.El microprocesadorrespondecon .u línea BG informando
al DMA que sus busesestán inhabilitados.El DMA colocaentoncesel valor
corriente de su registro de direccionesen el bus de direcciones,inicia la
señal BD o wR y envía un reconocimientoDMA al dispositivoperiférico.
El dispositivo periférico coloca entoncesun byte en el bus de datos
(para escritura) o recibe un byte del bus de datos (para lectura).
Así, el
DMA controla la operaciónde lectura y escritura y *u-ini.tra la dirección
para ia memoria. La unidad periférica puede comunicarseentoncescon el
!AN{ por medio del bus de datos para lá trasferenciadirecta entre dos uni-
dadesmie.tras que el procesadorse inhabilita normalmente.
Para cada byte que se trasfiere el DMA incrementa su registro de di-
reccionesy decrementasu registrode cuenta de byte. si el regisiro de cuen-
ta de byte no llega a cero, el DMA compruebala línea de réquisiciónque
viene del periférico. Para un periférico de alta velocidad, esta línea será
activada una vez se haya completadola trasferenciaprevia. se inicia en-
tonc-esuna segundatrasferencia el procesocontinúá hasta que se haya
-y
trasferidotodo el bloque. si la velocidad del periférico -"rror, la línea áe
requisición DMA puede presentarseun poco tarde. En". este caso, el DMA
remueve la línea de requisición de bus áe manera que el microprocesador
pueda continuar la eiecución del programa. cuando el periférico requiere
una trasferencia,ei DMA solicita los busesde nuevo.
Interrupción Microprocesador

BG

BR
Direc- Di¡ec-
D WR ciones Datos RD llR ciones Datos
Control
de lectura

Control de escritura

Bus de direcciones

RD WR Direc- Datos
ciones
CS
RequisiciónDMA
RS
Controlado¡DMA Dispositivo
BR
periférico I

Lectu¡a ,/escritura
BG t
I
l
¡
t
Figura 12-19 TrasferenciaDMA en un sistema de microcomputador try

I

;
si el registro contador de bytes llega a cero, el DMA detiene cualquier
trasferenciaposterior y remueve la requisición de bus. Este informa tam-
bién al microprocesadorde la determinaciónpor medio de una requisición
de interrupción. cuando el microprocesadorresponde a la inteirupción
DMA, lee el contenido del registro de cuenta de byte. El valor de cero de
este registro indica que todos los bytes fueron trasferidos sucesivamente.
El microprocesadorpuede leer este registro en cualquier otro momento y
comprobarel núme¡o de bytes ya trasferidos.
a7?
574 D I S E Ñ oD E L S I S T E M AD E L M I c R o c o M F U T A D o R
CAP, 12

L-n controlador DIVIA puede tener más de un canal. En este caso.


cada
canal trene un par de señales de contror de requisición/reconair"i;;;;
L)\lA,r se conectan a dispositivos periféricos sepárado*.úau
canal tiene
rarn'r.ien su registro de dirección propio y registró de cuenta
de byte dentro
cier D\1A. una prioridad entre los cánalLs puede ser establecida
áe manera
que los canales con mayor prioridad sean se¡vidos
antes que los canares
.i',n menor prioridad.
La trasferencia I)IVIA es muy útil en muchas aplicaciones clel
sistema
ire mlcrocomputador. Esta se usa para una trasferencia
rápida de informa_
r i L ) n e n i r e l o s d i s c o s f l o p p y o l o s c a s s e t t e sd e c i n t a m a g n e i i c a y
el sistema
RAM' Es útil además para comunicación con los sisterias te¡minales
inte-
ractivos, que tienerr pantallas cRT o con pantallas de televisión
usadas para
juegos de video. Típicamente una imagen
-renovadade lo mostrado en la pantalü se
retiene en una memoria que puede ser bajo el control d'el procesa-
dor. El contenido de la puede ser trasfeiiclo a la pantalü perió-
-memoria
dicamente por medio de la trasfereñcia DMA.
_ una aplicacién potencial para el DMA, es en un sistema rnultiprocesa-
dor que forma una red de dos o más procesadores. La comunicación
entre
procesadores puede mantenerse con una memoria compartida
qrra prr"á"
ser accesada por todos los procesadores.El DMA ., ,r., -étodo
conveniente
para trasferir informacién entre la memoria común y {
los diferentes proce-
sadores de la red.
1

R E F ER E N C I A S

i' Peatman,J- 8., Microcomputer-BasedDesign. Nueva york: McGraw-Hill


Book
C o . ,1 9 7 7 .
2. Klingman, 8.K., MicroprocessorsysúemsDesign.Englewoodcliffs, N.J.: pren-
t i c e - H a l l .I n c . . 1 9 7 ? .
3. Hillburn, J. L. y P. N. Julich, Microcomputers/Microprocessors: Hard.wore,
software,and Applications.Englewoodcliffs, N.J.: prentice-Hall. Inc.. 19?6.
4. soucek, 8., Microprocessorsand Mícracomputers.Nueva york: John
wiley. c
Sons,1976.
5. osborn, A., An Introduction to Microcomputers,volume I: Basic concepts.py¡r-
keley, Calif.: Adam Osbornand Associatés,19?6.
Éi. osborn, A., An Introductíon to Microcomputersvolume 2: some
Rear products.
Berkeley,Calif.: Adam Osbornand Associates,lg1?.
7. McGlynn, D. R., MicroprocessorsTechnorogy,Architecture and, Apprícation-,.
Nueva York: John Wiley & Sons,Inc., 1926.
8. Intel 3()80Microcomputer sysferns IJser'sManuol. santa clara, calif.:
Intel
Corp., 1975.
9 . wakerly, J. F., "MicroprocessorInput/output A¡chitecture',. computer, yol.
1 0 ,N o . 2 ( f e b r e r o1, 9 ? ? )p, á g s . 2 6 - 3 3 .
1 0 . cosley, J.y s.vasa, "Block rransfer with DMA AugmentsMicroprocessor
Effi-
ciency". ComputerDesign,Vol. 16, No. I (enero,tgiil, p¿gs.St_Ab.
PROBLEMAS

papel presta cada


l2-1. ¿cuál es la diferenciaentre una RAM y una ROM? ¿Qué
,tttu an un sistema microcomputador?
bidirec-
l2-2. ¿Porqué es el bus de datos en ia mayoría de los microprocesadores
cional mientras que el bus de direcciones es unidireccional?
12-3. Los microprocesadores se catalogantípicamentecomo de 4, 8 ó i6 bits. ¿Qué
significa el número de bits?
12-4. un bus de datos de un microprocesador tiene 16 líneasy su bus de rJireccio-
que puede
nes contiene fZ líneas.¿Cuál es la máxima capacidadde memoria
al microprocesador? ¿cuántos byles se pueden almacenal en
ser conectada
la memoria?
12-5. ¿cuál es la diferenciaentre un microprocesadc¡r y un microcomputador? ¿cuál
y pastilla
es la diferenciaentre un microcomputadorde una sola pastilla una
mic roprocesadora?
con termi-
12-6. considereun componenteLSI de 8 bits (memoriao interconexión)
y salida separados y ningún separador de buses
nales de datos áá entrada
I;sando .rrro. ."p".udores extérnos de t¡iestado, muestre cómo los
interno.
deben ser conectados a un bus
terminalesde entrada v üti¿" del componente
de datos bidireccional.
12-?. Un microprocesador de 16 bits tiene un solo bus de 16 bits, el cual está com-
partido para trasferir una dirección de 16 bits o una palabra de datos de 16
debe estar
tit.. n"ptlqrr" po. qué un retenedor de dirección externa o registro
y las entradas de direcciones de la memoria' Formu-
entre el microprocesador
entre el mi-
le un conjuntoposiblede señalesde control para la comunicación
..opro...ádo. y' lu *u,',oria. Haga una lista de la secuenciade trasferencias
put" uttu lectura o escritura de memoria'
c (arras-
12-8. ¿Qué contendránel registro acumuladorA y los bits d€ condición
tre), s (sig:no), z (""roi y v (sobrecapacidad) despuésde cada u'a de las si-
(?2)ro'
guientesinstrucciones?Él valor inicial del registroA en cada casoes
que todts los bits de condición se af'ectan después de una operación
L,r-u
a r i t m é t i c ao l ó g i c a '
( a ) S U M A R e l o ¡ r e r a n d ion m e d i a t o( C 6 ) , 0 '
( b ) S U M A R e l o p e r a n d oi n m e d i a t o( 1 E ) ' o '
(c) Aplicar una función AND al operandoinmediato (8D)'n'
(d) Aplique una función OR-exclusivadel acumuladora sí mismo'
de la se-
12-9. Especifique el número de bytes en cada instrucción y haga la lista
cuéncia de trasferencia def registro que ejecuta las siguientes instrucciones
de la Tabla 12-2.
(a) STA ADl6 AlmacenarA directamente M \ A D I 6 l < - A
(b) ADD FG Sumar con un registro A<-A+MfFGl
indirectamente
(c) SUB B SustraerB de A A+-A-B
(d) rNR A IncrementarA A+-A*l
*AI)16i
(e) JC ADl6 B i f u r c a c i ó ns i h a y a r r a s t r e S i ( C : 1 ) e n t o n c e s( P C

12,10.Repasela lista de instnrccionesde la Tabla 12-2e indique si las instruccrc'


nes ocupan uno, dos o tres bYtes'
575
5 7 6 o I S E Ñ oD E LS I S T E M A
D E LM I c R o c o M P U T A D o R cAP.12

12-11.La primera instrucción listada en Ia Tabla L2-2es una instrucción


de movi-
miento que trasfiere el contenido de B a A. ¿cuántas instruccionesequiva_
lentes hay para trasferir el contenidodel regiJtroRl a R2 dondeRt o.R2
es
uno de los registros_
A, B, C, D, E, F o G? El registro fuente puede ser el mis-
mo que el registro de destino.
12-12.La Tabla 12-1 lista tres instrucciones de sumar a A con diferentes modos
de
direccionamiento. Expanda la tabla para que ésta incluya ios siguientes mo_
dos de direccionamiento:
(a) Direccionamientode página cero.
(b) Direccionamientorelativo.
(c) Direccionamientoindexado.
Haga la secuencia de las operacionesnecesariaspara procesar cada instruc-
ción.
I2-13.ql códigode operaciónde una instrucción se almacenaen el lugar
de memoria
(7128)r6'El siguientebyte de memoria contiene (FB),0.
¿Dónde debe estar
almacenadoel operandoen la memoriasi la instrucción'iieie el modosiguien-
te de direccionamiento?
(a) Direccionamientode página cero.
(b) Direccionamientode página presente.
(c) Direccionamientorelativo.
12-14.Haga una lista de trasl'erenciasde memoria necesariaspara procesar
una ins-
trucción en modo de direccionamientoindirecto cuando la instrucción es
un
tipo de control (por ejemplo,salto incondicional).
¿cuántos ciclos de memo_
ria son necesarios?
1l-ii. ñgunos microprocesadores vienen con una pila registro interno (capacidad
\\nr\lrilr\ üer\tru üe \e past\\\a üe\ mrcroprocé*"do..btros conrienen un regis-
tro indicador de pila con accesoa la memoriapara la pila. Discuta las venta-
jas y desventajasde cada configuración.
12-16.Si usted está familiarizado con una calculadoraelectrónicaque usa una pila
para evaluar expresionesaritméticas, explique cómo opera el mecanismo de
la pila cuandose calcula Ia expresión3 X 4 + b X 6.
12-17'Una dirección de regresode subrutina puedeser almacenadaen un registro
índice en vez de una pila. Discuta las ventajas y desventajasde esta óonfi-
guración.
r2-18, La parte superior de la pila contiene 5A y el siguiente byte hacia abajo de la
pila es 14 (todos los númerosestán en hexadecimal). El indicador de pila con-
tiene 3456. Una subrutina de llamado al lugar de instrucción 67AE (trós bytes)
está localizadaen la dirección de memoria 013F. ¿Cuálesson Ios contenidos
del PC, SP y la pila:
(a) Antes de que la instrucción de llamado sea ejecutada?
(b) Despuésde que la instrucción de llamado sea ejecutada?
(c) Despuésdel regresode la subrutina?
(d) Después del segundo regreso de la instrucción de la subrutina seguida
de aquella en (c)?
12-19.¿cómo podría darse una secuenciaa un programa que necesita dos pilas de
memoria mantenidas a través del prngrama con un microprocesadorque tiene
solamente un indicador de pila?
PROBLEMAS 577 \

12-20.¿Cuál es Ia diferencia fundamental entre el llamado de subrutina y una requi-


sición de interrupción? ¿Es posible usar una pila de memoria común para
ambos?
12-21.Un microprocesadorresponde a una requisición de interrupción insertando
a la pila no solamente [a dirección de regresosino también el contenido del
regis[ro procesadorque puede ser afectado mientras se atiende la interrup-
ción.
(a) Haga una lista de aquellos registros de Ia Figura 12-5 cuyos contenidos
deben ser insertados hacia la pila.
(b) ¿Cuántos ciclos de memoria se tomarían ahora para ejecutar una requi-
sición de interrupción?
12-22.Obtenga el circuito del codificador de prioridad de cuatro entradas cuya ta-
bla de verdad se especificaen la Tabla 12-4'
12-23.Derive la tabla de verdad de un codificador de prioridad de 8 entradas.
12-24.Especifiquelas cuatro direccionesvector (en hexadecimal)_cuando r y y de
la Tabla 12-4son los bits 4 y 5 del byte de menor orden. Todos los demásbits
del byte son 0. El byte de mayor orden es siempre FF.
lZ-25.@) iCuántas pastillas RAM de 128X8 son necesariaspara configurar una
memoria con capacidad de 2.0'A bytes?
' ' ¿Cuántas líneas del bus de direcciones pueden ser usadas para accesar
(b)
).0¿A by¡gs de memoria? ¿Cuántas de estas líneas serán comunesa todas
las pastillas?
(c) ¿Cuántas líneas deben ser decodificadaspara la selección de pastilla?
Especifique el tamaño de los decodificadores.
12-26.un microprocesadorusa pastillas RAM de una capacidadde 1.024x 1.
(a) ¿Cuántas pastillas son necesariasy cómo podrían conectarsesus líneas
de direccionespara conformar una capacidad de memoria de 1.024bytes?
(b) ¿Cuántas pastillas son necesariaspara conformar una capacidad de me-
moria de 16K bytes?
12-27.tJnapastilla ROM de 1.024X 8 bits tiene cuatro entradas de seleccióny opera
.or, ú.r" fuente de poder de 5 voltios. ¿Cuántas patillas son necesariaspara
una pastilla de CI? Dibuje un diagrama de bloque y asigne nombres a los ter-
minales de entrada y salida de la ROM.
12-28.Expanda el sistema de memoria de la Figura 12-13a 4.096 bytes de RAM y
¿.090bytes de RoM. Haga la lista del mapa de direccionesde memoria e in-
dique qué tamaño de decodificadoresson necesarios.
l2-zg.Vn microprocesadorusa una pastilla RAM de 25q_X8 y pastillas ROM de
i.OZ¿x A.tst sisie-a á" -i.tofro"esador necesita 2K bytes de RAM, 4K bytes
de ROM y cuatro unidades áe interconexión, cada una de cuatro registroa.
Se usa una configuracíónl/O con mapa de memona.A los dos bits de ma-
para la RoM
vor or¿e" del bus-dedireccionesse les asigna 00 para la RAM, 01
y l0 para los registros de interconexión.

(a) ¿Cuántaspastillas RAM y ROM son necesarias?


(b) Dibuje un mapa de direcciones de memoria para el sistema'
(c) Dé un rango de direccionesen hexadecimalpara la RAM, ROM y la inter-
cone¡ión.

'J
F

5 7 8 D I S E Ñ OD E L S I S ' T E M AD E ¡ - M
. ICROCOMPUTADOF cAP.12

12-30. t,n microprocesador de 8 bits tiene un bus de direcciones de 16 bits. Las pri-
meras 15 líneas de ia dirección son usadas para seleccionar un banco de me-
moria de 32K bytes. Los bits de mayor orden de la dirección se usan para
seieccionar un registro que recibe el contenido del br¡s de datos. Explique
cómo se puede usar esta configiración para extender la capacidad de memo-
ria del sistema a 8 bancos de 3K bytes cada una para un total de 256K bytes
de memoria
12-i11,La interconexión de ia Fizura 12-14 se conecta a un t¡us de di¡ecciones de un
microprocesador. Ei registro de datos del puerto A es seleccionado con una
dirección hexadecimal XXXC, donde las X pueden ser cualquier número.
(a) ¿Cómo deberían ser conectadas las líneas de direcciones al terminal de
entrada (CS) de selección de pastiiia?
(b) ¿Cuáles son las direcciones hexadecimales que seleccionan los otros dos
registros en la intercc¡nexión?
12-32.¿Cuál es la diferencia entre trasferencia directa y una trasferencia con en-
Iace en una rnterconexión periférica en paralelo?
l2-33. ¿Cuál es la dif'erencia errtre una trasferencia en serie sincrónica y asincróni-
ca de inforr..racirinen líneas de comunicación de larga distancia?
12-34. Considere ia posrbilidad de conectar un número de microprocesadores a un
grupo de buses de datos y direcciones comunes. ¿Cómo se puede establecer
una trasferencia de información ordenada entre los microprocesadores y la
memoria común?
Circuitos integrad os
d igitaIes ¡. ';l;at' :l ';

:ri-i:

1 3 -1 TNTRODUCCTON

Fl circuito integrado (cI) fue introducido en la Sección


1-9, y las diferen-
tes familias digitales fueron discutidas en la sección 2-g.
Este capítulopre_
senta los circuitos electrónicosbásicosen cada familia-iogica
aigitat it v
analiza su operacióneléct¡ica. se asume un conocimiento
básico de elec_
trónica.
Las familias lógicas digitales de cI son consideradas
aquí como:
RTL Lógica de transistor y resistencia
DTL Lógica de transistoresy diodos
12L Lógica de inyección integrada
TTL Lógica de transistor y transistor
ECL Lógica de emisor acoplado
MOS Semiconductor de óxido de metal
CMOS Semiconductorde óxido de metal complementado
Los dos primeros, RTL y DTL, tienen soramente
significadohistórico,
ya que se usan muy raramente en nuevos
diseños.La RTL fue la p.ime.a
familia comercialque fuera usada extensamente.se incluye
presentaun punto de partida útil para explicar aquí, porquere-
las operácio'esbásióasde
las compuert¿r_s digitales. Los circuitos DTi han .iá" i"-pi"zados gradual_
mentepor TTL. De hecho,la TTL esuna modificació"
a" iu'"á*puerta DTL.
La operaciónde la compuertaTTL serámás fácil ¿"
despuésde ha_
ber discutidola compueltaDTL. Las características ""iu"á"i
d; iii;ECL y cMos
fueron presentadasen la sección 2-g. Esas familias
tienen un gran nume_
ro de circuitos MSI y LSI. I'L y MoS se usan principalmenre
para cons-
truir funcionesLSI.
El circuito básicode cada faqi-li_alógica digital de cles
una compuerra
NAND o NoR. Este circuito es el bloqu! principal de const"rr"ción
dei cual
579
5N CIRCUITOS
INTEGRADOS
DIGITALES cAP. 13

se puedenobtener funcionesmás complejas.Un retenedor,RS se construye


con dos compuertasNAND o dos NoR conectadascola a cola. un flip-flop
maestro-esclavo se obtiene de la interconexiónde cerca de diez compuertas
basicas.un registro se obtiene de la interconexiónde flip-flops y compuer-
tas básicas.cada familia lógica de cI tiene disponible un catálogodi los
gmpos de circuitos integradosque contienen varias funcioneslógicas digi-
taies. Las diferenciasen las funciones lógicas disponiblesde cada familia
iógica, no son tan acentuadasen las funcionesque logran, como en las ca-
¡acterísticasespecíficasde la compuertabásica de la cual se ha construido
la función.
Las compuertasNAND y NoR se definen normalmentepor las funcio-
nes de Boole que configuran en términos de las variablesbinarias. Cuando
se analizan como circuitos electrónicos,es más convenienteinvestigar sus
relacionesde entrada-salidaen términos de dos niveles de voltaje: un nivel
olto (H) y un nivel bajo (L), (ver Figura 2-10).Las variablesbinarias toman
Ios valores 1 y 0. cuando se adopta la lógica positiva, se asigna el valor de
I al nivel de voltaje alto y el binario 0 al nivelde voltaje bajo. Apartir de la
tabla de verdad de una compuerta NAND de lógica positiva, ." d"dn"" .,
comportamientoen términos de niveles altos y bajos, como se estableceen
la Figura 13-1. El comportamientocorrespondientede la compuerta NoR
se estableceen la misma figura. Estas proposicionesdeben sei recordadas,
)'a que se usarán durante el análisis de todas las compuertasen este ca-
pítulo.
Las diferentes familias lógicas digitales son usualmente evaluadas
comparandolas característicasde la compuertabásica en cada familia. Las
característicasmás importantes fueron discutidas en la Sección2-g. Estas
se listan aquí como referencia.

Entra-
das Salidas Compuerta NAND
xy (a) Si cualquier ent¡adaestábaja (L)
su salidaseráalta (H).
LL H (b) Si ¿odoslas entradasestánaltas (H)
LH H la salidaestarábaja (L).
HL H
HH L ,-l-L'
Entra-
das Salidas Compuerta NOR
xy (a) Si cualquierentradaesalta (H)
Ia salida esbaja (L).
LL (b) Si ¿od¿slas entradasson bajas (L),
la salidaesalta (H).
LH L
HL L '-ñ-'
HH L v-1-/

Figura 13-l Condicionesde entrada y salida para


las compuertas NAND y NOR de lógica positiva
sEc. 13-2 CARACTERISTICA
DSE L T R A N S I S T O R
BIPOLAR 581

l. tr'an-out o capacidad de carga, especifica er número de cargas nor-


males que pueden accionarse co.t ia salida de la compuertaiin me-
noscabo de su operación normal. una carga normal se define como
Ia corriente que fluye en la entrada de ,r.ru de la mis-
ma familia. "o-p.rerta
2. Di'sipación de potencio es la-potencia consumida por una compuerta,
la cual debe ser suministrada por la fuente de poder.
3. Retardo de propagación es el tiempo de retardo de transición pro-
medio para que la señal se propague de la entrada a la salida, cuan-
do las señales cambian en valor.
4. Margen de ruido es el límite del voltaje de ruido que puede estar
presente sin menoscabo de la operación adecuada dei circuito.

El transistor de juntura bipolar (BJT), es el transistor familiar de jun-


tura npn o pnp. En contraste, el transistor de efecto de campo (FETi, se
dice que es unipolar. La operación del transistor polar depen¿l aer flujo
de
dos tipos de portadores: electrones y huecos. un iransistór unipolar depen-
de del flujo de un tipo de portador mayoritario que pueden ser electrones
(canal n) o huecos cinco familias lógicas listadas
previamente, RTL, lcg1al¡rl._Las_primeras
DTL, TTL, ECL e I2L, usan transistores üipolares. Las
últimas dos familias lógicas Mos y cMos usan un tipo de transistor
uni-
polar llamado transistor de efecto de campo semiconductor
de óxido de me-
tal, abreviado MoSFET o Mos como apóstrof'e.Se comenzará describiendo
las características del t¡ansistor bipolar y las compuertas básicas
usaclas
familias lógicas bipolares. Se explicará la operación del transistor
9l^lT
MOS en asocio con sus dos familias lógicas.

13-2 CARACTERISTICD AS EL t
T R A N S I S T OB
RI P O L A R I
I
Esta sección está dedicadaal repasodel transistor bipolar, como se aplica I

a circuitos digitales. Esta información se usará para ét unílirir del ciicui-


to básico en las cinco familias lógicas bipolares.Los transistoresbipolares
puedenser del tipo Í
?pl o pnp.Además, éllos están construidos g.r-"- t
nio o material de silicón semiconductor.Los transistorescI, sin "o' It

son hechoscon silicón y son comúnmentedel tipo npn. "-Tu.go, il

Los datos básicosnecesariospara el análisis de tos circuitos digitales,


pueden ser obtenidos por inspección de las curvas típicas características
del transistor de silicón npn de emisor común, mostraáoen la Figura ts-i.
El circuito en (a) es un simple inversor con dos resistenciasy un transis-
tor. La corriente marcada r. fluye a través de Ia resistenciaR" y el co-
lector del transistor. La corriente 1, fluye a través de la resisiencia R,
y la base del transistor. El emisor se conectaa tierra y su corriente Ir !
I, * Io' El suministro de voltaje está entre vrc y- tieira. La entrada es-
tá en-treV, y tierra. y la salida entre V, y tierra.
se asume una dirección positiva para las corrientesde la manera in-
dicada. Esas son las direccionesen las cualesfluye la corriente normalmen-
(a) Circuito inve¡sor

tc
(mA.¡
0,6
l'c ('
R; 0,5
u,4
0.:i
It : fi,ZmA
V'.r,(V)

(b) Caracteristica rle labase


(c ¡ üaracterística
delcolector
de t.ransistor del transislor
Figura 1l)-2 (l:rracteristir:as ciel t¡ansistor
de siiicón npn

te en un transistor npn. Las corrientes de


colector y base,I" e 1, son
positivas cuando fluyen ar transistor. La
corriente deí .I, es posi-
trva c*ando fluye fuera del t¡ansistor, cre la
manera ;;*; "-r.o, .r" inelica pr.rria
fleciia e' el terminal clel er'isor" El sírnbolo
v;." signid;a ia cuiaa de vol-
ta-ie dei colector al emisor y es.siempre positiva.
corresp.ndientemente,
\'",, es la caída de voltaje-en la ju'tu.á base
emisor- ñsta juntura se
polariza directarncnte cuando vnr, *u positivo.
s. p"i"riá inversamente
cuando lr'r, es negatrvo.
La característica gráfica base emisor se muestra
en la Figura rB-2(b).
Esta es-una gráfica de v"r, versus 1,,. si el voltaje
bure es menilr
que 0,6 v'- se-diceque el transistor está en corte y
n o f l u y e"-i.o.
corriente de ba-
se. c'uando la juntura base emisor está polariáda
¿ire"t"*errte con un
voltaje mayor que 0,6 v, ei transistor condu u fo'
,"*;u"ru a subir m'y
rápido, mie-ntras eue "u
transistor de conducción.v¡¿ cambia muy poco. El voltaje J i",D) través der
raras veces éxóede 0,g V. "
Las características gráficas coiector emisr-¡r,conjuntamente
con la linea
de carga se muestran en la Figura 13-2(c).cuanclo ü;,
* " " o r q u e ( ) , 6v .
el transistor está en corte cotr 1, : 0 y fluye una " r Aespreciable
en
"o."¡""t"
582
sEc. r 3-2 CARACTERISTICA
DSEL TRANSISTOR
BIPOLAR 583

el colector. El circuito colector emisor se comporta entoncescomo un clr-


cuito abierto. En la región actíua, el voltaje de colector V", puede estar
entre 0,8 V y V... La corriente de colector I" en esta región puede ser
calculada para ser aproximadamenteigual a l"hrr, donde h., es un pa-
rámetro del transistor llamado la gananciade corríentedc. La corriente de
colector máxima no dependede Iu, sino del circuito externo conectadoal
colector. Esto es debido a que Vc¿ es siempre positivo y su menor valor
posible es 0 V. Por ejemplo,en el inversor mostrado,se obtiene el máximo
1,' haciendo Vrr: 0 para obtener I¿ : Vsg/R¿.
Se ha establecidoque 4:hr¿Ia en la región activa. EI ¡Ltrámetro
ho" varia ampliamente sobre el rango de operacióndel transistor, ;*;¡1¡sg
aún útil de usar un valor promedio para propósitos de ar¡ái:¡r's-fl,rr un
rango de operacióntípico, hp, es alrededor de 50, pero bajo tieria:; condi-
ciones podría bajar hasta 20. Se debe tener en cuenta que la cc¡"¡'ientede
base 1, puede aumentarsea cualquier valor deseable,pero en Ia corriente
de colector 1. está limitada por parámetros de circuitos externos. Cq.,mo
consecuencia.se puede llegar a una situación donde herl" es mayor que
Ic. Si esta condiciónexiste, se dice que el transistorestá en la región de
saturacíón. fuí, Ia condición para saturación se determina a partir de la
relación:
1."
t,>ü

donde 1.. es Ia máxima corriente de colector que fluye durante la satu-


ración. l.o no es exactamente cero en Ia región de saturación, pero nor-
malmente está cerca de 0,2 V.
Los datos básicos necesarios para analizar circuitos digitales de tran-
sistores bipolares son listados en la Tabla 13-1. En la región de corte, Vo.
es menor que 0,6 Y, V", se considera un circuito abierto y ambas corrien-
tes son despreciables. En la región activa, V'u" está cerca de 0,7 V, V(.E
puede variar en un rango grande e 1. puede calcularse como función de .Iu.
En la región de saturación, Vru a duras penas cambia pero Vr" cae a
0,2 V. La corriente de base debe ser lo suficientemente grande para satis-
facer la desigualdad listada. Para simplificar el análisis, se asume que Vrn,
: 0 , ? V s i e l t r a n s i s t o r e s t á c o n d u c i e n d o ,b i e n s e a e n l a r e g i ó n a c t i v a o d e
saturación.

Tabla 13-1 Parámet¡os típicos de un transistor de silicón npn

Región Vae(Y)' vcs (Y) Relación corriente

Corte < 0,6 Circuitoabierto Is: lr-Q


Activa o6-o7 > 0,8 I¿ = hpsls
Saturación 0,7- 0.8 0,2 Ia > Ics/hFE
*Se
asume que Bo, es 0,7 V si el transistor está conduciendo en la región acriva ,r
de saturación.
5U CIRCUITOS
INTEGRADOD
S IGITALES cAP. 13

El análisis de los circuitos digitales puedetomarse usandoun procedi-


miento prescrito: para que cada transistor en el circuito determine si su
v' es menor que 0,6 v. si es así, el transistor está en corte y el circuito
colector emisor se consideraun circuito abierto. Si vr" es mayor que 0,6
V, el transistor puede estar en Ia región activa o de sáturación. caicúlese
la corriente de base,asumiendoeue Vr, :0,2 V. Luego calcule el valor má-
ximo posible de la corriente de colector 1.., asumiendoV", : 0,2 V. Estos
cálculos estarán en términos de los voltajes aplicadosy los valores de las
resistencias.Entonces,si la corriente de base es lo suficientementegrande
para que Iu 21", /h¡r, se deduce que el transistor está en la región de
saturación con v.u : o,2 v. sin embargo,si ]a coniente de basees menoÍ y
la relación anterior no se satisface, el transisto¡ está en la región activa y
se recalcula la corriente de colector 1" usando la ecuación I":hrrl;.
Para demostrar lo anterior con un ejemplo, considéreseel circuito il-
versor de la Figura 13-2(a)con los siguientesparámetros:

Rc: I kQ Vcc : 5 V (voltajede suministro)


Rs:22kQ H : 5V (voltajedealto nivel)
h", : 50 L : 0,2V (voltajede bajo nivel)

Con el voltaje de entrada V,: L:0,2 V, se tiene que Vr, < 0,6 V y el
transistor está en corte. El circuito emisor colector se comporta como un
circu_ito
abierto;de maneraque el voltajede salida V":5 V=Ii.
. C_onel voltaje de entrada V, : H: 5 V, se deduceeue V¡, > 0,6 V. Asu_
miendoque Vr, :0,7 se calcula la coniente de base:

V' - V"": !--o-7


,^ -
-D o'195
mA
Rs zrd:
La corrientemáxima de colector,asumiendoVc¿:0,2 V es:

, L- _D- V r r - V r r - 5 - o 2
Rc ffi:4'8mA
Se compruebaentoncesla saturación:

: ," ,
0,1e5 o,oe6mA
E: #:
y-se encuentra que la inecuaciónse satisfaceya que 0,195> 0,096.se con-
cluye que el transistorestá saturadoy que el voltaje de salida v.:v"":
0,2 V: ¿. Así el circuito se comportacomo un inversor.
El procedimientodescrito anteriormenteserá usado de manera extensa
durante el análisis de los circuitos en las siguientessecciones.Esto se ha-
rá por medio del análisis cualitativo, es decir, sin escribir las ecuaciones
numéri-cas-específicas.El análisis cuantitativo y los cálculos específicos
serán dejadoscomo ejerciciosen la sección de pioblemas, al finai de este
capítulo.
SEC. l3-3
C | R C U I T O SR T L y D T L Sgs
Hay ocasionesdonde no solamente
fos t¡ansistores,sino también ros
diodos se usan r?:^:,^._r"_-". U" aiüo J;¡;'."";""struye
transistor con el"" colector conectaáo
¡iqi;;lq;. de un
a l" ¡".", en la Figura
13-3(a)'El símbolousadoputu "oÁ;;";;;;.a
se muest¡a en la Fig'ra rB-3(b).El
diodo se comporta esenciaiment. "i-áioao
il;;;;;ü;"'"-i'.o. de un rran-
sistor. La característicagrrfi;;--;.t*da""-" ¡; e-n la
a la característicade un i.""rirt".. Figura 1B_B(c),es similar
ée*pued" qu" el dio_
do está inactivo v no condu"i.;a;
ción directa, vr, es menor que 0,6
.;;d" ;, "o""i;i;;;;r,"",
;;i;; ¿" l"ii"¡" de polariza-
v. cuando er diodo conduce,ra corrien-
te I, fluve en la dirección most¡aa"
r" ñig"*-iáládi,'] u, o"r*".,"""
ce¡ca de 0,7 V' Se debe agregar.,"" ""
tÁi"."ncra exte¡na para limitar la
rriente en el diodo co-
constantecomo fracción .que."o""a".é, vu-lu. su voltaje permanecebastante
de voltio.

ID
(mA)

(a) T¡ansistor adaptadopara


usa¡secomodiodo

ID vD(v)
-
lo-+{-o 2
+,,
vD
{
l
(b) Símbolográficodel diodo :
(c) Ca¡acte¡ísticadel diodo
Figura lB-3 Símbolo del diodo de silicón y características
¡
13-3 C I R C U I T O SR T L Y D T L
I
Compuerta básica RTL

El circuito brísicode.rafamiria lógicadigital


RTL es la compuertaNoR mos-
trada en la Figura 13-4. cada se asocia con una resistenciay un
transistor. Los colec.toresde los"""tr"ár-
transistoresestán conectadosa la salida.
Los niveles de voltaje para el .it""iio .o"
0,2 v para el niver bajo y de 1 a
3,6V para el nivel alto.-
El análisis de la compuertaRTL es muy
simprey sigueel procedimien-
to esbosadoen la sección anterior. si-
c,ruiq,,,i". ur,í.u¿'u-á" lu compuerta
RTL es alta. el correspondientetransistor
se lleva a satu¡ación.Esto cau_
sa que la salida sea baja independientemente
de la entrada de los otros
transistores. si todas las entrádas están
ur;á., ó,2 v',^'ál*i.u.r.i.tor esta_
rá en corte, poreue VBE<0,6 V. Esto
que la salida del circuito sea
alta hasta u"lrcá.." ai".raror d"i ;I"t".j"""rrr"
de suminis tro vr". Esto confirma
las condicionesesrablecidasen lá f-i-ñá
rB_l para la compiuertaNOR. No_
teseque el margende ruido para ra
a" I"n"l'ü"¡"'"Jóru - o,r: 0.4 \-.
"ñtr"¿u
vr, = 3,6Y

Y=(A+B+Ct'

Figura 13-4 CompuertaNOR básica RTL

La capacidadde carga (fan-out) de la compuertaRTL está limitada al


valor del voltaje de salida cuando está alto. A medidaque la salida estécar-
gada con las entradas de otras compuertas,se consumemás corriente por
la carga. Esta corriente debe fluir a través de Ia resistenciade 640 o. Un
cálculo simple (ver Problema 13-1) demostrarási h¡" cae a 20, el voltaje
de salida caeráa 1 V más o menoscuando la capacidadde carga es 5. Cual-
quier voltaje por debajode 1 V en la salida, pudiera no accionarel siguiente
transistor en saturación como se requiere.La disipación de potencia de Ia
compuerta RTL es cerca de 12 mW y el retardo de propagaciónpromedia
25 ns.

C o m p u e r t a s b á s i c a sD T L

El circuito b¿ísrco
en la familia lógica DTL es la compuertaNAND mostrada
en Ia Figura 13-5. Cada entrada'está asociadacon un diodo. Los diodos y
la resistencia de 5 kQ forman una compuerta AND. El transistor sirve

5ka
Pnt D)

Figura 13-5 CompuertaNAND básica DTL

586
S E C1. 3 - 3 CI|RRCCUUI TI O
C T SO S R T T ; E
D gr r. ,
como amplificadorde cor¡ientemientras que invierte la
señal digitai. Los
dos nivelesson 0,2 v para el nivel bajo y entre 4 y b v para
er ni'ei aito.
El análisisde la compuertaDTi debeestar ¿"
a las condicio_
nes listadas en la Figurg i3-1 para la compuertaNAND. ""ri".Á
Si
puerta de entrada está baja, e.r 0,2 v, el corresp""Ji""t"áiodo cuarquier com-
conduceIa
cor¡iente a través de !'i. y la resistenciade 5 K o de entrada.
je en el punto P es igual a1 voltaje de entrada El volta-
d,e0,2v -e. u"u caídade dio_
do de 0,? V. para un total de 0,é v. para que el transistor
comiencea con-
ducir, el voltaje en el punto p debe .ob."paru, r; p";;;;;l
de una caída
Vuo en Q1más dos caídasen los diodos Dt-y D2, ó fr¡¡:1,8
V. Comoel
voltaje en P se mantiene en v po. el di,odoáe e.rtradaque conduce,el
_0,g
transistorestaráen corte y el voltaje de salida estaráaltá,
en b v.
si todas ias entradasde las compuertasson altas, el transistor
se lleva
a la región de saturacjg"- ELvoltaje de p es atro.u rguaf u
v", ,.a, las dos
caídasa través de ros_diodosD 1 y ti 2, ó 0,7x B : 2,1vl como todas las entra_
das estánaltas en s V y :2,iY,los diodos¿e á"traJu re-polarizaninver_
Y"
samentey dejan de conducir. La corriente de base es iguaf a la diferencia
de co-rrientesque fluyen en las dos resistenciasde 5;i; y
para llevar el transistora saturación(ver problema tt-t.'b"" es suficiente
el transistor
saturado,la salida caea v,., de 0.2 v, lo cual es un niver ba¡o pa.a
la com-
puerta.
I,a disipaciónde,poderde-una compuertaDTL es
cercade 12 mwy el
retardo de propagaciónpromedia 30 ns. El margen d" .rrido
u. cerca de 1 V
y la capacidadde cargaes tan alta y cercanaa g como seaposible.
La capa-
cidad de carga de la compuertaDTL está limitadu po, tu áiriente
máxima
que puedefluir en el colector del t¡ansistor saturadb (ver problema
13_B).
I-a capacidadde cargade la compuertaDTL puede
ser aumentadacam-
biando uno de los diodosen el circuifo basepor un transistor
como se mues-
t¡a en la Figura 13-6.rl:l transistor el se mantieneen la regiónactiva
cuan-
do el transistor de salida e2 se satura. como
el circuito
modificado puede suplir una cantidad de corriente "o.rr"".r""rr"ia,
de base mayor al tran-

\'= (AItC)'

f
t
l
¿:
I
¡l

Figura l3-6 Compuerta modificade DTL


¡
IJ
I
588 CIRCUITOS
INTEGRADOD
S IGITALES
CAP. 13

sistor de salida. El transistor de salida puede soportar una cantidad


ma-
yor de corriente del colector antes de ir a saturación.Parte
de la corriente
de colector viene de los diodos conductoresen las compuertasde
carga
cuando Q2 está saturado.Así, un aumento de la corriente saturada perm"i-
-.ible de c-olectorpermite ser conectadacon más carga a la salida,
ü cual
aumenta la capacidadde carga (fan_out)de la compu"erta.

L ó g i c a d e h i g h - t h r e s h o l-dH T L

Hay ocasionescuando los circuitos digitales debenoperar en un


ambiente
que produce señalesde ruido muy altás. para operar en
tales circunstan-
cias, hay una clase-de_ compuerta,tipo DTL, ¿i.po"i¡ü q"e poseeun um-
bral alto de inmunidad al.ruido. Es,t9'tipode compuerta,e'llu*u
compuerta
lógica de umbral atto (high-threshold-loli"l
tfff lj
La compuertaHTL se muestra en lu Figr.^ ís-r. comparándola
con la
compuerta DTL modificada_dela Figura 13-6, se nota que
el suministro
de voltaje se ha elevadoa 15 V y que.J.rru,rr, áiodo z"nei (z)
en vez de un
diodo normal. El diodo Zene. iiene la característicade mantener
je constantede G,9V cuandose polariza inversamente. un volta-
Para que la salid-ade e2 conduzca,el emisor de 1 debe ilevarse
e
potencial de una caída v"" más el voltaje fijo del zeier a un
de 6,9 v, para un
total de 7,5 V. El nivel bajo para la compuertapermanece en
0,2 Vj pero el
nivel alto es cerca de lb V. con la entraha d,eti,z v, la basede
en
0,9 V y Q2 está en corte. La señal de ruido debe ser -uvoiq"" e1'éstá
T,b v para
cambiar el estado de Q2. con todas las entradas en 15 V, el transistor
de
salida Q2 se satura. La señal de ruido debe ser -uvo. qrr" i,b v (en
ra di-
rección negativa) para desactivar el transistor. Así, ei margen
de ruido
de la compuertaHTL es cerca de ?,5 v para ambosnivelesde voltaje.

/<'c = 15 v

Figura 13-7 Compueria high-threshold_logic (HTL)


,13-4
L O G I C AD E I N Y E C C I OINN T E G R A D (AI ' L )

La lógica de inyección integrada es la farnilia lógica digital más reciente


para ser introducida comercialmente. Su principal ventaja es la densidad
alta de compactación de las compuertas que se puede lograr de una área
dada de una pastiila semiconductora. Esto permite colocar más circuitos
en una pastilla para formar una función digital compleja. Como consecuen-
cia, esta familia se usa principalmente para funciones LSI. No es disponible
en cápsulas SSI que contienen compuertas individuales.
La compuerta básica I2L es similar en operación a una compuerta
RTL con varias diferencias mayores: (1) La resistencia de base usáda en
Ia compuerta RTL se remplaza completamente en la compuerta I2L. (2t
La ¡esistencia de colector usada en la compuerta RTL se remplaza por un
transistor pnp que actúa como una carga para la compuerta IrL. (3) Los
transistores I2L usan múltiples colectores en vez de los transistores indi-
viduales usados en RTL.
El diagrama esquemático de la compuerta básica I2L se muestra en
la Figura 13-8. Tiene un transistor npn, Q 1, con colectores múltiples para
las salidas. El circuito base tiene un transistor pnp, ?1, conectado al-vol-
taje de suministro vuu. De la misma manera que otras familias lógicas,
la compuerta lógica básica I2L no puede ser analizada cuando está sola.
se deben mostrar sus interconexiones a otras compuertas para que tenga
algún sentido.
La Figura 13-9 muestra la interacción de la compuerta básica formada
por Ql y Tr con otras compuertas en la entrada y la salida. se puede ver
que un colector de Q2 suministra la entrada a la compuerta básica. El tran-
sistor 71 en la compuerta básica actúa como una carga que inyecta co-
rriente al colector de Q2. Uno de los colectores de Ql actúa como una salida
de la compuerta básica y se conecta a la base de QB. El transistor ?3, conec-
tado a la base de Q3, actúa como una carga para inyectar corriente al co-
lector de Q 1 en la compuerta básica. La compuerta básica actúa aquí como
un inversor y su circuito equivalente se muestra en la Figura 13--g(b) . El
usar colectores múltiples y un transistor pnp en vez de uná resistencia de
carga, resulta un método más eficiente de construcción, -mái
ya que reducen el
área de la pastilla necesaria para reducir el empaque de circuitos. El

V " s: 7 , 5 Y

Salidas
Entrada

I'igura l3-8 Compuerta básica I2L 1

589 I
{
F

l'eB

T
73_^
,-t
=
(b) Circuito equivalente

(a) CompuertainversorQ 1

Figura 13-9 Conexiónde otras c o m p u e r t a s a l a s e n t r a d a s


y salidas de una compuertabásica I J L

(ArB)'=A'B'

( A + B ' ) '= A ' B

(a) Diagrama lógico

Corriente de
inyección

(b) Diagrama del circuito

Figura l3-lo Conexiones típicas entre compuertas I2L

590
(TTL) 591
DETRANSISTOR.TRANSISTOR
LOGICA
SEC,13-5
a la base de una com-
transistor PnP, a pesar de que se muestra conectado
ñ carga de colector para todas las demás com-
puerta dada, actúa ;;;;
puertasque se conectana estabase'
a otras compuertasconfor-
La compue"" Oi.i." I2 L cuando se conecta
en el diagramadel circuito
ma una función r¿gil"'icin. nrto ,u demuestra
qy" circuito confiSrra' es
mostradoen la Figuru i¡-fO' La función lógica 9i
13-10(a),la cual
gráficós en la Figura
dibujada con símbolosde compuerta y inversor' Esto se
NOR un
muestra la interconexión de áo' "o"'pt"rtas qr, q2 y Q3, como se muestra en
complementacon t....o-prertas I21,, también para
se muestran
la Figura i3-10(b).^;".-;;;";istores Ae sailda
e.qrr.*l-."L"l""i""tores de Q1v- Q2 están conectadospara for-
completar por el transistorQ2'
"l
mar una función \óIi. L" eotrada.a e. coÁptementada
de Q3 v Q1 se conectan juntós para.formar una segundafun-
Los colecto¡s,s
corriente de inyección
ción NOR. La base de cada transistor ttptt."óib.-.la emisoresdel tran-
*ultipi"."1 y 1'2.Los
de los transistorespü¿.."f.clot para facilitar la cons-
pnp
sistor npn .. .on..iu'.,1 i" ¡ur. del tránsistor
trucción.
(TTL)
1 3 - 5 L O G I C AD E T R A N S I S T O R - T R A N S I S T O R
ligera mejora de la compuerta
La compuertaoriginal básica TTL fue una
TTI' p.rgcluió tt agregaronmejoras adi-
DTL. A medida q".-ü^-t"t"ofosíu
cionaleshasta tal il;"";;;".ti" r"."iri" ló[ica se convirtió en el tipo más
Iiay muchas.versiones(o series)
usadopara el diseñode sistemasdigitales.
y cáracterísticasde cinco versio-
de compuertu, ¡¿.iJuJ'C'ii- i;. nJmbres
con su retardo de propaga-
nes aparece''e,' la-Tablu t3-2, conjuntam-ente velocidad-potenciaes
¿e dirlpaii¿" a"'potencia. El producto
;tó"; ñ;;".
laé compuertasbásicas. Este es
un parámetro importánte para comparar
y la disipación de potencia medida
un producto ¿.f ."i"ráo-á"-propugu.ión
parámetroes-unacifra deseable'
en picojoules(pJ). Ú" u"to' balo pa'a este
dado puede lograrsesin disi-
Dorqueindica q.,. * retardo d. p.opugucián
pacón de potenciaexcesivao viceversa'
La compue.tulii normalizada fue Ia primera versión en la familia
TTL.Estacompuertabásicafueconstruidacondiferentesvaloresderesis-
.i
t e n c i a s p a r a p r o d u c i r c o m p u e r t a s c o n b a j a d i s i p a c i ó n o m á s a l t agrande-
velocidad.
saturada depende
El retardo ¿u p.op"?u.ió"-á; una familia lógica de tiempo
I
y constantes
mente de dos f""ú;a; ;i;mpo de almacenamiento r
J
Tabla 13-2 VersionesTTL y sus característici' jli

t
Producto tI
propagación Disipaciónde velocidad- i
potencia (mW) ( p J )I
i a (p'J
potencla ¡
Abreviatura (ns)
Nombre
l0 l0 100
TTL normalizada TTL
LTTL JJ I JJ
TTL bajo poder r32
HTTL 6 22
TTL alta velocidad
STTL J l9 )I
TTL SchottkY 19
LSTTL * 9,5 2
TTL SchottkYbajo Poder
5 9 2 C I R C U I T O ISN T E G R A D ODSI GT A L E S cAP. 13

, R C . R e d u c i e n d oe i t i e m p o d e a i m a c e n a m i e n t o s e a u m e n t a e l r e t a r d o d e p r o -
pagación. Reduciendo los val{-¡resde ia resistencia en el circuito, se reducen
las c,onstanrtes de tierrqo R(' s .r ¿-tlr\e\ña e\ retards deqropaqariórr. Psr
s u p u e s t o , s e s a c r i f i c a u n a c i r s . p a c : ' , ni e p o t e n c i a a l t a y a q u e l a s r e s i s t e n -
cias bajas requieren mas corriÉn:t oe .a t'uente de ¡roder. La velocidad de
la compuerta es inversamente prL,D_:(-:,::al al retardo de propagación.
En la compuerta TTL cie bar¿ ¡:ercia los valores de las resistencias
son mayores que en la compuena l ::::alizada para reducir la disipación
de potencia, pero se aumenta e.:¿:-'-:.:, cie propagación.En Ia compuerta
T T L d e a l t a v e l o c i d a d , l o s v a l o r e ¡ i = . - r s r e s i s t e n c i a ss e d i s m i n u y e n p a r a
reducir el retardo de propagacion. x: :. aumenta la disipación de poten-
c i a . L a T T L S c h o t t k y e s I a ú l t i m a n e i , : a e ¡ r l a t e c n o l o g í aq u e e l i m i n a e l
t i e m p o d e a l m a c e n a m i e n t o d e l o s r r a : . : . s t L J r e se v i t a n d o q u e v a y a n a s a t u -
ración. Esta versión aumenta la ve.:c^caci de operación sin un aumento
excesivo en la disipación de potencia La'e¡sión TTL Schottky de baja
potencia sacrifica un poco de velociciai para reducir la disipación de po-
tencia. Es más o menos igual a la TTI- :r,,,:'nalizadaen retardo de propaga-
ción, pero tiene solamente un quinr.-, ce ci:stpación de potencia. Tiene el
mejor producto de velocidad-potencia ]' comrI consecuencia, se convirtió en
la versión más popular para diseños nue\',,s.
Todas las versiones TTL están disp,nib,es en paquetes SSI y en for-
mas más complejas como funciones \lSI I LSI. Las diferencias en las ver-
siones TTL no están en las funciones drgltales que ellas conforman, sino
en los valores de las resistencias y el tipo de rransistores que usan su com-
puerta básica. En cualquier caso-las compuertas TTL en todas las versio-
nes vienen en tres tipos diferentes de configuraciones de salida.

1. Salida de colector abierto.


2. Salida de poste totémico.
3. Salida de tres estados (o triestado).

Estos tres tipos de salidas serán considerados en asocio con la descripción


del circuito de la compuerta básica TTL.

Compuerta con salida de colector abierto


La compuerta básica TTL mostrada.en la Figura 13-11 es un circuito modi-
ficado de la compuerta DTL. Los emisores múltiples en el transistor Q1
están conectados a las salidas. Estos emisores se comportan la mayoría
del tiempo como los diodos de entrada en la compuerta DTL ya que ellos
forman una juntura pn con su base común. La juntura base colector de Q 1
actúa como otro diodo de juntura pn correspondiente a D 1 en la compuerta
DTL (ver Figura 13-5). El transistor Q2 remplaza al segundo diodo D2, en
la compuerta DTL. La salida de la compuerta TTL se toma del colector
abierto de Q3. una resistencia conectada a v"" debe agregarse externa-
mente al paquete de cI para que la salida "hale" hacia el nivel alto de vol-
taje, cuando Q3 está en corte; la salida actúa como circuito abierto. La
razón para no colocar la resistencia internamente, será discutida poste-
riormente.
B

Figura lB-ll CompuertaTTL de colectorabierto

Los dos niveles de voltaje de la compuertaTTL


son 0,2
"J. v para er nivel
bajo y de 2,4 a b V para el nivel alto. El circuito
b;i;; .r'u compuerra
NAND. si cualquiei entrada es baja, la corresponñ;;;
sor en Q1 está polarizadadirectameníe.Fl.lvoltáj";i;l;" f,r't.rra base emi-
de Q1 es igual
al voltaje de entrada de 0,2 v más una caída v,"n
aá o,l üJ o,g V. para que
Q3 comiencea conducir, el camino desdeor üá".t"-ol'a"ná.onrepone¡se
potencial de caídaen.n diodo en la juntura pn al
d,ebasecolectorde e1y dos
caídas v.Q.gó Sx0,6: r,a V. Cá-o L-t;.. á"
!;t, se mantiene
la señalde entrada, la Áaridadel transisio. ,,oel
en 0,9 v por"1Qt
p.r"ae conducir
y se pone en corte. El nivel de salida estará
alto si una resistenciaexterna
se conecta entre la salida y V"" (o un circuito
abie¡to si no se usa la
resistencia).
si todas las entradasson artas,ambos
e2v eB conduceny se saturan.
El voltaje de basede el es igual a la caídaa" íori"¡ultr""¿.
pn de basecolecto¡_más de la juntura
dos caídasV"".en ezv e5,;;; o menos0,Zx
3:2,r v. como todas ras saridasrorrllt .
v -ávJ*. or"l,¿ v, las juntu-
ras de base emisor de^Q1están todas polarizadas i"""iul".,te. Cuando el
transistor de salida 19-satura (contando q"" art" ii""" un camino de
QB
corriente),el voltaje de salida será menor que 0,2
V. Esto confirma las con_
dicionesde la operaciónNAND.
En el análisis anterior, dice que la juntura de
-se base colector de
actúa como-una juntura de diodo pn. Esto es verdaderoen la condicióne1 de
estadoestable. Sin embargo,durante la transición
de corte, e1 no exhibe ¡;
reaccióndel t¡ansistor resultante de una reducción I

gación. cuando todas las entradas están ,i-i"tu.ao de propa_ j


I
altas v "., urru ¿" las entra-
das se lleva a un nivel bajo, ambos ""u"aoa conducir.
i
eiv es empiezan
momento, la juntura de corectoide En este
e1 se polariza i.ru".rr-"rte y er emisor
I
se polariza directamente,de manera qru transistor el^.,rá -o-"ntánea-
1

mente a la región activa. La corriente de colector


"l de ei"i""" de la basede
Q2 y quita rápidamenteel excesode ca.ga almace.,aáaen "i
I
e2 durante un I
t

I
5 9 4 . c I R C U I T o SI N T E G R A D o SD I G I T A L E S cAP. 13

estado de saturación previo. Esto causa una reducción en el tipo de alma-


cenamiento del circuito comparado con la entrada tipo DTL. El resultado
es una reducción del tiempo de desactivación de la compuerta.
La compuerta TTL de colector abierto operará sin una resistencia ex-
terna cuando se conecta a las entradas de otras compuertas TTL, aunque
esto no se recomiende, debido a la inmunidad al bajo ruido que se encuen-
t¡a. Sin una resistenciaexterna, la salida de la compuerta será un circuito
abierto cuando Q3 esté en corte. Un circuito abierto a una entrada de una
compuerta TTL se comporta como si tuviera una entrada de nivel alto (pero
una pequeña cantidad de ruido puede cambiar esto a un nivel bajo). cuan-
do Q3 conduce, su colector tendrá un camino de corriente entregado por la
entrada de la compuerta de carga a través de v." , ia resistencia de 4 k e
y la juntura baseemisor polarizada inversamente.
Las compuertas de colector abierto se usan en tres aplicaciones princi-
pales: accionamiento de una lámpara o relevo, conformaciónde lógica alam-
brada y para Ia construcción de un sistema de base común. una salida de
colector abierto puede accionar una lámpara a través de una resistencia
Iimitada. cuando ia salida es baja, el transistor saturado e3 forma un ca-
mino para la corriente que prende la lámpara. Cuando Ia salida del transis-
tor está inactiva, la lámpara se apaga porque no hay un camino para la
corriente.
si las salidas de varias cornpuertasTTL de colector abierto se conec-
tan juntas con una sola resistencia externa, se constituye una AND lógica
alambrada. ll,ecuérdeseque la función AND de lógica positiva da un nivel
alto si todas ias variables son altas, de lo contrario la función es baja. Con
salidas de compuertas de colector abierto conectadas entre sí, la salida
común es alta solamente cuando todos los transistores de salida estén en
c o r t e ( o a l t o ) . S i u n t r a n s i s t o r d e s a l i d a c o n d u c e ,é s t e o b l i g a i a s a l i d a a u n
estado bajo.
La lógica alamb¡ada realizada con compuertas TTL de colector abierto,
se dibuja en la Figura 13-12. La forma física en (a) muestra cómo deben ser
conectadas las salidas a Llna resistencia común. El símbolo gráfico para tal
c r ¡ n e x i ó n - q ed e m u e s t r a e n ( b ) . L a f u n c i ó n A N D f b r m a d a a l c o n e c t a r l a s d o s
e n ' ; r a d a sj u r r t a s s e l l a m a f u n c i ó n A N D a l a m b r a d a . L a c o m p u e r t a A N D s e
tir'i--ujacon iíneas que van desde el centro de la compuerta para distinguir-
i:l ile una compuerta convencional. La compuerta AND alambrada no es una
c()mpuerta física, sino solamente un símbolo para designar la función obte-
nrda de Ia conexión que se indica. La función de Boole que se obtiene del
circuito de la Figura 13-12es la operación AND de las salidas de las dos
compuertas NAND:

Y : (AB)' .(CD)' : (AB + CD),

Se prefiere Ia segunda expresión ya que muestra una operación que se trata


c o m ú n m e r . r t ec o m o u n a f u n c i ó n A N D - O R - I N V E R T ( v e r S e c c i ó n 3 - 7 ) .
- Las compuertas de colector abierto se conectan conjunrament,e para
formar un bus común. En cualquier momento, todas las salidas de Ia óom-
puerta se conectan al bus excepto una que debe mantenerse en su estado
alto. La compuerta seleccionada ¡,ue..de ser elegida en su estado alto o bajo,
ñ
(
D

{ a ) C o n e x i ó nf i s i c a ( b ) Símbolo gráfico de la
lógica alambrada
F i g u r a 1 3 - 1 2 A N D a l a m b r a d a d e dos cornpuertas de colector
abie¡to (ca),
\' : (AB - ('t) )'

dependiendo de si se quiere trasmitir un 1 ó 0 al bus. Los circuitos


de con_
trol deben ser usados para seleccionar la compuerta particular que
acciona
el bus en un momento dado.
La Figura 13-13 muestra la conexión de cuatro fuentes conectadas
a
una línea de bus común. cada una de las cuat¡o entradas acciona un inver-
sor de colector abierto y las salidas de los inversores se conectan juntas
para formar una sola línea de bus. La figura muestra que
tres de las entra-
d a s s o n _ 0 ,l o c u a l p r o d u c e u n 1 , o u n n i v ó l a l t o e n e l b u s . L a c u a r t a
entrada,
1.,, puede trasmitir ahora información por medio de la línea de
bus común

vcc

t
I
:
i

I&
f

Figura 13-13 Compuertas de colector abierto que forman una


Irrea de l,us r'omun

5v5
5 9 6 C I R C U I T OI N
STEGRADO
DSIGITALES C A P .1 3

al inversor 5. Recué¡deseque una operación AND se realiza con lógica alam-


brada. Si 4 : 1, la salida de la compuerta 4 es 0 y la operación AND alam-
brada produceun 0. si 14:0, la salida de la compuerta 4 es 1y la operación
A\D alambrada produce un 1. Así, si todas las demás salidas se mantienen
en i -r' la compuerta seleccionada puede trasmitir su valo¡ a través del bus.
El valor t¡asmitido es el complemento de 1r, pero el inversor b en el extre-
mc, de recepción puede invertir fácilmente ia señal de nuevo y hacer y : I¿.

Salida tipo poste totémico

La impedancia de salida de una compuerta es normalmente resistiva más


una carga capacitiva. La carga capacitiva consiste de la capacidad del tran-
sistor de salida, la capacidad de las compuertas de carga y cualquier otra
capacidad perdida del alambre. cuando la salida cambia del estado bajo al
alto, el transistor de salida de la compuerta va de saturación a corte y la
capacidad de carga total, C, se carga exponencialmente desde el nivel de
voltaje bajo hasta el alto, con una constante de tiempo igual a RC. para la
compuerta de colector abierto, -R es una resistencia externa marcada RI,.
Para un valor de operación típico de C:15 pF y B.:4 kO, el retardo
de propagación de una compuerta TTL de colector abierto durante el tiem-
po de desactivación, es 35 ns. Con un circuito de arranque actiuo que rem-
place la resistencia ,t¡. de arranque pasiuo, el retardo de propagáción se
reduce a 10 ns. Esta configuración, mostrada en la Figuru i3-14,-se llama
una salida tip poste totémico porque el transistor Qa eÁtá "encima" de e3.
La compuerta TTL con la salida de poste totémico es igual a ra compuer-
ta de colector abierto, excepto por el transistor de salida Q+ y el diodó D r.
cuando la salida Y está en el estado bajo, Q2 y QB son llevados a satura-
ción como en la compuerta de colector abierio. El voltaje en el colector de
Q 2 e s l ' r " ( Q 3 ) + V I E ( Q 2 ) ó 0 , 7+ 0 , 2 : 0 , 9 V. La salida Y: VcE(Qg)
vrr=5Y

Figura 13-14 CompuertaTTL con salida


tipo poste totémico
sEc.13-5 L O G I C AD E T R A N S I S T O R . T R A N S I S T (O- N
RL 53:

:0,2 V. El transistor Q4 está en corte porque su basedebeestar a una cal-


dav"" más una caídaen un diodo ó 2x0,6:1,2 v, para empezar.acondu-
cit. ó"o-o el colector de Q2 se conecta a la base de Q4, el voltaje de este
último es solamente 0,9 V en vez de 1,2 V requeridosy por tanto Q4 está en
corte. La razón para colocarun diodo en el circuito, es suministrar una caí-
da de voltaje di un diodo en el camino de salida y asegurarseque Q4 esté
en corte con Q3 saturado.
Cuando lá salida cambia al estadoalto porqueuna de las entradascae
al estadobajo, los transistoresQ2 v Q3 se ponen en corte.-Sin embargo,l1
salida p".*án"." momentáneamónte baja debidoa que el voltaje a través del
pronto como
consensadorde carga -Q4no puedecambiar instantáneamente'Tan
Q2 esté en corte, cónduce porque su base está conectada a Vcc PoI
medio de la resistenciade 1,6 [ f¿. l,a corriente necesariapara cargar el
condensadorde carga,causaque Q4 se sature momentáneamente,el voltaje
de salida se incrementa con una constante de tiempo BC. Pero R en este
caso es igual a 130 0, más la resistenciade saturación de Q4, más la re-
sistenciatel diodo para un total de 150 0. Este valor de R es mucho más
pequeñoque la resiitencia pasiva de arranqueusada en.un circuito de co-
i""ior abierto. Como corr.".rrett"ia,la transición de un nivel bajo a un nivel
alto es mucho más rápida.
A medida que la carga capacitiva se acumula, el voltaje de salida au-
la coriiente en ?¿ disminuye, llevando el transistor a la región
menta y-A"í,
activa. .r, contraste con otros transistores,Q4 está en la región actiu-a
cuando está en la condición de estadoestable.El valor final del voltaje de
salida es entonces5 V, menos una caída V¿" en Q4, menos la caída en el
diodo Dlo sea,3,6v. El transistor Q3 va al corte muy rápidamente,pero
durante el tiempo de transición inicial, ambos Q3 V Qa conduceny se in-
duce un pico de corriente desde la fuente de poder. Este pico de corriente
genera tüido u.t el sistema de distribución del suministro de potencia'
Óuando el cambio de estado es frecuente, el pico de corriente transiente
aumenta la necesidad de corriente de la fuente de poder y la disipación de
potencia promediodel circuito aumenta-
La cánexión de lógica alambrada no se permite con circuitos de salida
de poste totémico. Cuando dos circuitos de poste totémico se conectanjun-
tos, con la salida de una compuertaalta y la salida de la segundabaja, la {\:
cantidad excesivade corripnte exigida puede producir suficiente calor pa-
ra dañar los transistoresdel circuito (ver Problema 13-7).Algunas compuer- I!
tas TTL son construidas para soportar la cantidad de corriente que fluye
bajo esta condición. En cualquier caso, la corriente de colector en la com-
pulrta baja, puede ser lo suficientemente alta para desplazar al transistor
á la región y producir una salida de voltaje en la conexiónalambra-
da mayor que "óti.'"
0,8 V, lo cual no es una señal binaria válida para la compuerta
TTL.

Compuerta TTL SchottkY

Como se ha mencionadoanteriormente,una reducciónen el tiempo de alma-


cenamiento resulta en una reducción del retardo de propagación. Esto se
debe a que el tiempo necesariopara que el transistor pase a saturación,
F

D ISG I T A L E S
I NST E G R A D O
598 CIRCUITO C A P '1 3

retarda el cambio del transistor de la condición de conducción al corte. La


saturación puede ser eliminada colocando un diodo Schottky entre la base
¡' ei colector de cada transistor saturado en el circuito. El diodo Schottky
se torma por la juntura de un metal y un semiconductor, en contraste con
un diodo convencional, el cual está formado por la juntura de un material
:emiconductor tipo n y tipo p. EI voltaje a través del diodo Schottky con-
cluctor es solamente 0,4 V, en comparación a 0,? V en un diodo convencional.
La presencia de un diodo Schottky entre Ia base y el colector, previene al
transistor de ir a saturación. El transistor resultante es llamado transistr¡r
>thottky. EI uso del transistor Schottky en un TTL, disminuye el retardo
:srrsrr-¡u-ih¡\lrS-utrñr-rr;r¡¡ái;rr>rifrs¡x>-l-errtra.
La compuertaTTL Schottky se muestra en la Figura 1B-1b.Nóteseel
símbolo especialusado para los transistoresy diodos Schottky. El diagra-
ma muestra todos los transistores como del tipo Schottky excepto Q4. Se
hace una excepción de Q4 porque no se satura sino que permaneceen la
región activa. Nótese también que los valores de las resistenciashan sido
reducidospara disminuir más el retardo de propagación.
Además de unos transistores Schottky y resistenciasde menor valor,
el circuito de la Figura 13-15incluye otras modificacionesno disponibles
en la compuerta normalizada de la Figura 13-14.Dos transistoresnuevos,
Q5 v Q6 han sido agregadosy los diodos Schottky se colocanentre el termi-
nal de entrada y tierra. No hay un diodo en el circuito de poste totémico.
Sin embargo,la nueva combinación de Qb y Q4 aún producen las caídas
vrr, necesariaspara prevenir Q4 de conducir cuando la salida está baia.

Figura 13-15 CompuertaTTL Schottky


--- 5-:': \
SEC 13-5 L O G I C AD E T R A N S I S T O R - T R A N S I S T O R

Esta combinacióncomprendeun seguidorde emisor doble llamadopc' lL;-


lington. Este par produceuna gananciade corriente alta y una reslstenci¿
e*t'remadam".rt"ü"¡u. Esto es exactamentelo que se necesita durante e,
."-¡iá bajo a alto de la salida, resultando en un aumento del retardo de
propagación.
' -
Lás diodosen cada entrada mostradosen el circuito, ayudan a eliminar
cualquier zumbido que pueda ocurrir en las líneas de entrada. Bajo condi-
¿;;; transientesdl iniercepción, las líneas de señal apareceninductivas;
esto conjuntamente con la óapacitanciaparásita, puede causar oscilación
á" .e¡alér o zumbidos.Cuandó la salida de la compuertacambia de un es-
iaao atto al bajo, la forma de onda del zumbido en la entrada, puede causar
.rirr"l", por debajo de tierra, en el rango de 2- 3 v dependiendode la longi-
tud de ü lítt"u. Los diodos conectadosa tierra ayudan a eliminar este zum-
bi-do,yu que conducentan pronto como el voltaje negativo excedaa 0,4 v'
Cuatráoei nivel negativo .ó li-itu, también el zumbido positivo se reduce.
La característicade-losdiodoslimitadores,al limitar los efectosde la línea,
ha sido muy útil ya que todas las versionesde compuertasTTL los usan.
La resiátenclaaef emisor de Q2 en Ia Figura 13-14,ha sido remplazada
en la Figura 13-15por un circuito que consistede un transistor Q6 y dos
resistenclas.El efecio de este circuito es reducir los picos de corriente,dis-
cutidos previamenteal activarlo. EI análisis de este circuito, que ayuda-a
reducir !l ti"-po de propagaciónde la compuerta,es un poco complicado
para ser presentadoen esta breve discusión-

f Compuerta de tres estados

como se ha mencionadoantes, las dos salidas de las compuertasTTL con


estructuras de poste totémico, no pueden ser conectadascomo en las sali-
das de colector abierto. Hay sin embargo,una clase especialde compuerta
tipo poste totémico que peimite la conexión alambrada de las salidas con
¡
el prlpósito de formár un sistema de bus común. Cuando una compuerta ¡
ff l á" salida tipo postetotémico tiene estapropiedad,se le llama compuer-
ta de fres estados(o triestado).
una compuertade tres estadostiene tres estadosde salida: (1) un es-
tado de bajo nivel cuando el transistor inferior del poste totémico está con-
duciendo y el superior está en corte; (2) un estadode nivel alto cuando el
transistor"superiórdel poste totémico está conduciendoy el inferior está
en corte y (3) un tercer estado en que ambostransistoresdel poste totémi-
co esténlnactivos o en corte. El tercer estadopresentaun circuito abierto
o un estado de alta impedancia, el cual permite una conexión alámbrica
directa de muchas salidas a una línea común. Las compuertasde tres es-
tados eliminan la necesidadde las compuertasde colector abierto en la
configuracióndel bus.
ia Figura 13-1G(a)muestra el símbolo gráfico de una compuertasepa-
radora de tres estados.Cuando la entrada de control C e; alta, la compuer-
ta se habilita y se comporta como un separadornormal con una salida igual
al valor binario de entiada. Cuando la entrada de control es baja, la salida
es un circuito abierto que presentauna impedanciaalta (el tercer estador
independientementedei nalor de la entrada A. Algunas compuertasde tres I
W CIRCUITOS
I N T E G R A D OD
SIGITALES
cAP. 13

estadosproducen un estado de alta impedancia cuando la línea


de
control
es alta. Estq se muestrasimbólicamenteen Ia Figura--rg-rot¡1.
-inversor 'eÍ .qq"i .,
tienendoscírculospequeños,uxo parala salidadel y otropara
indicar que la compuertase habilita cuando C está baja.
EI diagrama del circuito del inversor de tres estadosse muestra en Ia
Figura 13-16(c).Los transistoresQ6, Q7 y Q8, asociadoscon la entrada de
control forman un circuito similar a la compuertade colector abierto. Los
transistoresQl- Q5, asociadoscon la entrada de datos forman un circuito
TTL de poste totér4ico. Los dos circuitos se conectan juntos por medio del
diodo D1. Como en'el circuito de colector abierto, el transistor Q8 se pone
en corte cuando la entrada de control en C está en el estadode bajo nivel.
Esto previeneal diodo D 1 de conducir y también al emisoren Q 1 conectado
a Q8 que no tiene camino de conducción.Bajo esta condición,el transistor
Q8 no tiene efectoen la operaciónde la compuertay la salida de Y depende
solamentede la entrada de datos en A.
Cuando la entrada de control es alta, el transistor Q8 conducey la co-
rriente que fluye de V", a través del diodo D 1 causa que el transistor Q8
se sature. El voltaje en la base de Q5 es igual ahora al voltaje a través del
transistor saturado Q8 más la paída de voltaje en un diodo o 0,9 V. Este
voltaje desactiva Q5 y Q4, ya que es menor que dos caídas yBr. Al mismo
tiempo, la entrada baja de uno de los emisoresde Q 1, fuerza al transistor
Q3 (y Q2) a ponerseen corte. Así se inactivan ambos Q3 V Qa en el poste
totémico y la salida del circuito se comporta como un circuito abierto con
una impedancia muy a\ta d,esa\id,a.
Un bus de tres estados se conforma alambrando varias salidas de tres
estadosjuntas. En cualquier momento dado, solamenteuna entrada de con-
tro\ se habi\ita mientras que \as otras sa\idas están en eI estado de alta
irnpeüancia. Laúnic,a camluelta que no esté en el estado de alta impedancia,
puód. trasmitir informaciónbinaria a lo largo de} bus comün. Se debetener
extremo cuidado, que todas las compuertas excepto una, estén en eI tercer
estado; de lo contrario se tend¡ía una condición indeseableque tiene dos
salidas activas tipo poste totémico conectadasjuntas.
Una característica importante de la mayoría de compuertas de tres
estados,es que el retardo de habilitación de la salida es mayor que el re-
tardo de inhabilitación de salida. Si un circuito de control habilita una
compuertae inhabilita otra al mismo tiempo, la compuertainhabilitada se
coloóaen un estadode alta impedanciaantes de habilitar la otra compuer-
-cbmpuertas
ta. Esto elimina la situación de que ambas estén activas al
mismo tiempo.
Hay uná pequeñacorriente de fuga asociadacon la condición de alta
impedancia ett una compuerta de tres estados. Er4pero, esta corriente es
tan pequeñaque se pueden conectar hasta 100 salidas de tres estadospara
formar una línea de bus común.

13-6 L O G I C AD E E M I S O R A C O P L A D O( E C L )

La lógica de emisor acoplado(ECL) es una familia lógica digital no satu-


rada. Como los transistoresno se saturan, es posible lograr un retardo de
propagaciónde 2 ns y aún por debajo de 1 ns. Esta familia lógica tiene el
r\ l':AsiC:Alto f\ I':A siC:B¿r_
A 1> l'altaimpedancia A 1>o-- Y a l r ai m p e d ¿ : ; . ¡
4 si C: Bajo vn si C: Alto
t-
c¿ C-
(a ) Compuertaseparadora
de (b) Compuertainversorade
tres estados tres estados

Entrada
de datos

¡
¡tI
1:

Entrada
de control
t
¡l
i:

(c ) Diagramadel circuitopa¡ael inversor


de tres estadosde (b)

Figura l3-16 CompuertaTTL de tres estados

a1-J I
ffi2 I N T E G R A D o SD I G I T A L E S
CIRCUITOS cAP. 13

menor retardo de propagación que cualquier otra familia y se usa principat-


mente en sistemas que requieren una velocidad alta de operación. Su in-
munidad al ruido y disipación de potencia, sin embargo, son los peores de
todas las familias lógicas disponibles.
un circuito básico típico de la familia ECL se muestra en la Figura
13-1i. Las salidas entregan ambas funciones oR y NoR. cada entrada es-
ta conectada a la base del transistor. Los dos niveles de voltaje son -0,8
\- para un estado alto y cerca de - 1,8 V para un estado bajo. El circuito
consiste de un amplificador diferencial, una red polarizada compensada por
temperatura y voltaje y una salida de seguidor de emisor. Las salidas del
emisor requieren una resistencia de desangre para que fluya la corriente.
Esto se obtiene mediante la resistencia de entrada -R¡ de otra compuerta
similar o de una resistencia externa conectada a una fuente negativa de
r oitaje.
El circuito polarizado interno compensado por temperatura y voltaje,
entrega un voltaje de referencia al amplificador diferencial. El voltaje de
polarización V¡¡ se establece en - 1,3 V, el cual es el punto intermedio
de Ia variación lógica de la señal. Los diodos en el divisor de voltaje conjun-
tamente con Q6, conforman un circuito que mantiene un valor constante
\',," a pesar de los cambios de temperatura o suministro de potencia. Cual-
quiera de las entradas de la fuente de poder se pueden usar como tierra.
Sin embargo, el uso del nodo V". como tierra y V¿" como - b,2 Y, da
como resultado una mayor inmunidad al ruido.
Si cualquier entrada en la compuerta ECL está alta, el transistor co-
rrespondiente conduce y Q5 se pone en corte. Una entrada de -0,8 V causa
que el transisto¡ conduzca y coloque - 1,6 V en los emisores de todos los
transistores (la caída Vu, en los transistores ECL es 0,8 V). Como VBa:
1,3 V el voltaje de base de Q5 es solamente 0,3 V más positivo que su emisor.
Q5 está en corte porque su voltaje Vr" necesita al menos 0,6 V para comen-
zar a conducir. La corriente en la resistencia R"2 fluye hacia la base de
Q8 (siempre que se tenga una resistencia de carga). Esta corriente es tan
pequeña que solamente ocurre una caída de voltaje despreciable a través
de R,.r. La salida OR de la compuerta está a una caída V", por debajo
de tierra o -0,8 V, lo cual constituye el estado alto. La corriente fluye a
trar'és de R,.r y el transistor que conduce causa una caída de cerca de
1 \- por debajo del nivel de tierra (ver Problema 13-9). La salida NOR está
a una caida Vu" por debajo de este nivel, o sea en - 1,8 V, lo que cons-
t i t u y - e e l e s t a d od e n i v e l b a j o .
Si todas las entradas están en nivel bajo, todos los transistores de sa-
lida se ponen en corte y Q5 conduce. El voltaje en el nodo de emisor común
está a una caída V¡¡; por debajo d,e V"" ó -2,1 V. Como la base de cada
entrada está en el nivel bajo de - 1,8 v, cada juntura de base emisor tiene
solamente 0,3 V y todos los transistores se ponen en corte..R,.2 consume
corriente a través de Q5 dando como resultado una caída de voltaje de cerca
de 1 V, haciendo que la salida OR esté a una caida V", por debajo de este
valor en - 1,8 V, o sea el nivel bajo. La corriente en .R. , es despreciable y
la salida NOR estará a una caida Vu" por debajo de tierra en -0,8 V, o
s e a e l n i v e l a l t o . E s t o v e r i f i c a l a s o p e r a c i o n e sO R y N O R d e l c i r c u i t o .
6
EH

ñv
.t 3z

TO
' ót 9 - !

a
:! ^ |
ú.9 o i i

5 € E: E i I
c<)EEi31
6'¡
I r¡

R: : I
t

v\ rr

¡-

^¡r

!
¿
t
603
II
I
t
(A+B)'+(c+D)'=
l(A+BXC+D)\'

I ---I-.q- (/4+ B)' NoR


B---l_/-U+B\ oR

(A+B)(C+D)

(a) Compuertaaislada (b) Combinaciónalambradade


doscompuertas

Figura 13-18 Símbolosgráficosde las compuertasECL

El retardo de propagaciónde la compuertaECL es 2 ns y Ia disipación


de potencia es 25 mw. Esto da un producto velocidad-poderde 50, el cual
es áproximadamenteel mismo que el TTL Schottky. El margende ruido es
.e.cá de 0,3 V y no es tan bueno como el de la compuertaTTL. Es posible
una alta capacidadde carga en Ia compuertaECL, debido a la impedancia
alta de entiada del amplificador diferencial y la impedanciabaja de salida
del seguidorde emisor. Debido a la extrema velocidad de las señales,los
alambies externos actúan como Iíneas de trasmisión. Con excepción de
alambres cortos de pocos centímetros,las salidas ECL deben usal cables
coaxialescon un acabadoresistivo para reducir las deflexionesde Ia línea.
El símbolográficopara la compuertaECL se muestra en la Figuta 13-18
rar. Hay dos salidasdiiponibles:una para la función NoR y la otra para la
función OR. Las salidas de dos o más compuertasECL, puedenser conec-
tadas conjuntamentepara formar lógica alambrada. Como se ve en Ia Figu-
ra 13-18(b),una conexiónalambradaexterna de dos salidas NOR produce
una función OR alambrada.tlna conexiónalambradainterna de dos salidas
oR se usa en algunas cI ECL para producir una AND alambrada (algunas
vecesIlamada lógica dot-AND). Esta propiedadpuedeutilizarse cuando las
compuertasECL se usan para formar las funciones OR-AND-INVERT y
OR-AND.

13-7 DE OXIDO DE METAL (MOS)


SEMICONDUCTOR

El transistor de efectode campo (FET) es un transistor unipolar' ya que su


operacióndependedel flujo de un solo tipo de portador. Hay dos tipos de
tiansistores áe efecto de campo: el transistor de juntura de efecto de cam-
po (JFET) y el semiconductor de óxido de metal (MOS). El primerose usa
ón circuitos lineales y el último en circuitos digitales. Los transistores
MOS puedenser fabricadosen menor área que los transistoresbipolares.
Lá estructura básica de un transistor MOS se muestra en la Figura
13-19.El MOS de canal p consistede un substrato ligeramenteinyectado
con material de silicón de tipo n. Dos regionesse inyectan fuertementepor
difusión con impurezastipo p para formar la fuente y el drenaje.La región
entre las dos seccionesde tipo p sirven comocanal. La puerta es una placa
metálica separadapor el canal mediante un dieléctrico aislado de dióxido
604
SEC. 13-7 SEMIC
COON
NDDUUCCTTOO
DRR
E OXIDO
OD E M E T A LL{ M O S )) f f i !

de silicón. Un voltaje negativo (con respectoal substrato) en la puerta


causaun gampoeléctrico inducido en el canal, lo cual atrae ios portuJo.".
de tipo p del substraro.A medj{a que aumenta la magnit,rá ¿"t ;rlr.J;-;;.
gativo en Ia puerta; la regióJrdebajode ella acumula ñás portadores
po.rti-
vos, aumenta la conductividad y la corriente fluye de la fuente al drenaje,
siemprey cuando haya una diferencia de voltaje entre esosdos terminatés.
. H"I cu-atrotipos básicosde estructuras Mos. El canal puede .., aui
tipo p ó n dependiendode si los portadores en su mayoría deban ser
huecos
o electrones.El modo.de-operaciónpuede ser por o empo-
brecimiento (depletion),dependienAó¿et estado aef "n.iqrru.i*iento
calal- con cero voltaje
de puerta. si el canal al comienzoestá ligeramenteinyeci"do impurezás
tipo p (canal difundido), el canal de conlucción se produce con "o' un voltaje
cero de puerta y el dispositivo se dice que opera en el modo d,eempobreíi--
míento. En este modo.la co*iente fluye a no ser que el .""u1
cido por un campo aplicado a la puerta. s_ila regián por debajo "rt¿.lip"üi.-
de t"
se deja sin cargainicialmente, el canal debeserit aucido po, ár ."-pó f,reÁ
á. t"
puerta antes de que la corrientefluya. Así, la corrientedei
canal es árrrique_
cida por el voltaje de la puerta y tai dispoÁitivose dice que áp.r"
el modo
de enriquecimíento. "n
La fuente es el terminal a través del cual la mayoría de los portadores
entran la barra. El drenajees el terminal a través dei cual la maybríade los
portadoresdejan la barra. En un Mos de canal p, el terminal fúente
se co_
necta al substrato y el voltaje negativo se aplióa al terminal de drenaje.
cuando e,l_v-oltaje de puerta e*ta pó. encima del voltaje-áe u*bral v, k;;-
ca de -2 V), no fluye corriente en el canar y el camino del drenaju lu
fuente es como un circuito abierto. cuando el voltaje de puerta es suficien- "
temente negativo por debajo de vr, se forma un cattai y los portadores
tipo p fluyen de la fuente al drenaje. Los portadorestipo son positivos y
i
correspondena un flujo de corriente positivo desdela ruente al i.en"¡e.- "
En el Mos de canal n, el terminal fuente está conectadoal substrato
y se aplica un voltaje positivo al terminal de drenaje. cuando el volúje
á;
la puerta está-pordebajodel voltaje de umbral v, (cercade 2 V), ,,o ituy.
corriente en el canal. cuando el voltaje de puerta es suficientementepoii-
tivo sobre lr pa'' formar el, canal, lós poriadores de tipo n fruyen áe Ia
puerta al drenaje. Los portadorestipo N son negativos,ios cualós
corres-
ponden a un flujo de corriente positño de drenajá a fuente. El voltaje um-
bral puedevariar entre 1 y 4 V dependiendodel
iroceso particular usado.

puerta ( - ) pue¡ta ( * )

susbstratotipo n substrato tipo p

(a) canal p (b) canal n

Figura 13-19 Estructura básica de un transistor MOS


6 0 6 C I R C U I T O SI N T E G R A D O D
S IGITALES C A P . J3

Los simbolos gráficos de los transistores MoS se muestran en Ia Figu-


ra 13-20. El símbolo aceptado para el tipo de empobrecimiento es aquel con
líneas interrumpidas entre la fuente y el drenaje. En este símbolo, el subs-
trato puede ser identificado y se muestra conectado a la fuente. Se usará
un srmbolo alterno que no incluye el substrato; en este símbolo, se coloca la
ilecha en el terminal fuente para mostrar la dirección del flujo de corriente
: '::.¿, (desde la fuente al drenaje en el canal p y desde el drenaje a la
:jente en el canal n).
Debido a la construcción simétrica de la fuente y el drenaje, el transis-
: -,r \los puede ser operado como un dispositivo bilateral. Aunque se opera
:-.rrmalmente, de manera que los portadores fluyen de fuente al drenaje, hay
c.rcunstancias en que es conveniente permitir un flujo de portadores del
orenajea la fuente (ver Problema 13-12).
una ventaja del dispositivo Mos es que puede ser usado no solamente
como un transistor sino como una resistencia. Una resistencia se obtiene
dei Mos polarizando permanentemente el terminal de puerta para con-
ducción. La relación del voltaje fuente drenaje a la co¡riente del canal de-
termina el valor de la resistencia. Diferentes valores de resistencias pue-
den ser construidas durante la fabricación, fijando la longitud y un"h.,ru
del canal del dispositivo MOS.
Los tres circuitos lógicos que usan dispositivos MoS se muestran en
la Figura 13-21. Para un MoS de canal n, el voltaje de suministro vro es
positivo (cerca de 5 V) para permitir que la corriente positiva fluya deÍ dre-
naje a la fuente. Los dos niveles de voltaje son una función del voltaje de
umbral vr . El nivel bajo es cualquier valor entre cero y vr y el nivei alto
varía entre v, y vro. Las puertas de canal n usan comúnmente lógica
positiva. Los circuitos Mos de canal p usan voltaje negativo paru vr,,,
para permitir que fluya Ia corriente positiva cesde Ia fuente al drénaje. iós
dos niveles de voltaje son ambos negativos por encima y debajo del voltaje

I
de umbral v, . Las compuertas de ánal p ,r."., gunrrulrrr..rté lógica posi-
ti va.
EI circuito inversor mostrado en la Figura 13-2i(a) usa dos dispositivos
Mos. Ql actúa como la resistencia de carga y Q2 como un dispositivo acti.-
vo. La resistencia de carga Mos tiene su puerta conectad.a a vrru man-
teniéndola así en su estado de conducción. Cuando el voltaje de entrada
está bajo (por debajo de Vr), Q2 se pone en corte. Como QL está siempre
conduciendo, el voltaje de salida está cerca de vrr. cuando el voltaje de
entrada es alto (cerca d" vr), Q2 conduce. La corriente fluye desde vr,,
a través de la resistencia de carga Q1 y luego Q2. La geometría de dos diJ-

drenaje ¡) drenaje I)
rJ rl I I
r, --l I puerta --l ' h r; ---.] |
, ! J
PuertaJ F+t substrato
"l *l r---1 substrato
*i
I
fuente .S fuente ,t

(a) canal p (b) canal n

Figura 13-20 Simbolos para transistores MOS


>'
+
s
>-

Z
a

(,
é

T
II
ó ,'
-
¿
.l!

G
S AR
:
Z':
> 7!
v
I
I
5U
tc-- ¿ |rl ¡.or ñ
| ¡4
.¡.-r
rl
J- Ll I
| F á

It tTt lT T Q
óó !

\q

ffi7
@8 c I R c U I T o S I N T E G R A D o SD I G I T A L E S
cAP. 13
positivos Mos debe ser tal que la resistencia
de e2, cuando está condu-
ciendo.es mucho menor que la resistenciade
el puiu *""tuner ra sarida y
a un_r'oltaje por debajode V,.
La compuerta NAND mostrada en la Figura 13-21(b)
usa transistores
emisores' Las entradas A y B deben r", u*i". dt;;á."
que todos los
transistoresconduzcany.causenque la.salida .u po"g"'"it".
enrrada estaja, el tra.nsisto.rco.respo.rdientl.;-ñ;;';n..corte si cualquier
y la sarida
será alta. De nuevo, la resistencia en serie r¡.maaa p";
lo. ,ú.p".i;i;;;
\1oS _a_ctivos, debe ser me_norque la correspondientea la resistencia
carga Mos. La compuertaNoR, mostrada .n r" rigui"*tá-zt(.), de
sisto¡es en paralelo. si usa tran_
_c-ualquierentrada_es atia, -son co*espon_
diente co.nducey la salida "-r-li""ri.tor bajas,
b"¡". si todas tas e.,tra¿a.
"r en corte y la
ios transistoresactivos estarán todos
sarida
".tu.¿ "1t".
13-8 M O S C O M P L E M E N T A D O( C M O S )

Los circuitos Mos complementadosobtienen ventaja


del hecho de que am-
bos dispositivosde n y p puedenser fabricadosen el mismo substra-
:-ar3l
to. Los circuitos cMos cór,iiáte' de ambos tip".-a.
iispositivos MoS
interconectadospara fo¡mar funciones lógicas.
El circuito básico es el in-
versor' que consiste de un transistor de ca'al
tipo p y un transistor de
canal tipo n, como se muestra en la Figural}_22(a).
El terminal de la fuen-
te del dispositivo de canal p está en vo, y er
terminal de la fuente del
dispositivo de canal n está a tierra. pi"uálo,
i;-t;;-il.de estar entre
f 3 v f 18 v. Los dos niveles de voltaje son 0 ü pa#.iiiuur
para el nivel alto. bajo y vro
Para comprenderla operacióndel inversor,.se debe
repasarel compor-
tamiento del transisto¡ MOS de la seccionprevla:

I . El Mos de canal n conducecuando su voltaje


de puerta a fuente es
positivo.
2 . El MOS de canal p conducecuando su voltaje
de puerta a fuente es
negativo.
3' cualquier tipo de dispositivo se pone en corte
cuando su voltaje
de puerta a fuente es céro.

considere ahora la operacióndel inversor. cuando


ambas puertas están en potencial cero. La su entrada es baja
entrada r.t¿-, -voo con res-
pecto a la fuente del di.spositivode canar p y;
ó ü ;;-i"Jp".to a ra fuente
del dispositivo de canar n. Er resulJuáoei que
el dispositiio a" canal p se
active y el dispositjvg d.ecanar n.se-ponga
en corte. Bajo estascondiciones
hay un camino de baja impedanciadesdJ v'
hasia l";iü" y un camino
de impedancia muv alta desde la.aliaa halsia
tieria.-por'ianto el voltaje
de salida .e acer"á al nivel ;ttr y,*;üo
condicione.-.,á.-ales
-y-l, de carga.
cuando la entrada es a.lta, ambas'pu*itá. están
en vr; situación se
invierte: el disnositivode.canar p *u pn"" en
corte y er de canar n conduce.
El resultadoe. gu* la salida ." al nivel bajo de 0 V.
ó;i;;
voo

I
l*o
-l
'"-1_.,
r-
-
Y=A'

F"
a :
( a ) Inversor

v = (AB),

Y=(A+B)'

(b) CompuertaNAND
(c) CompuertaNOR

Figura 13-22 C i r c u i t o sl ó g i c o sC M O S

En cada caso un transistor está conduciendornientras q\re el otro está


en corte. Debido a que un transistor siemprese pone en cort;, la disipación
de potencia dc del circuito cMos es extremadamentebaja, del oráen de
10 nw. El mayor drenajede potenciaocurrecuandoel circuito cMoS cam-
bia ce es:ad-
La l:s-.car:\f OS se especificausualmentepara una sola operaciónde
surc:::::::'-i:. -:. :¿:e., de 5 - 15 \-, pero algtrnoscircuitospuedenoperara
3 \''- ¿ -: ¡ . - p € : ¿ r, o s C \ l O S c o n g r a n d e sv a l o r e sd e s u m i n i s t r od e v o l -
t a j e r : : i - : r" ' - : : - ¿ : . - : i i s i p a c i ó n d e p o t e n c i a .E l t i e m p o d e r e t a r d od e
propa:ac.-:.i-s:-.--.:ie -.'e. margende ruido mejoracon el aumentode vol-
taje oe sj-":::s::: de pr,¡s¡q1¿.El retardo de propagacióndel inversores
cerca de 25 ns. El margen de ruido es usualmentecerca del 40%del valor
del voltaje de suministro Voo. Las ventajas del CMOS, disipaciónbaja
de potencia, excelenteinmunidad al ruido, alta densidadde empaguey un I
amplio rango de voltajes de suministro, Io hacen un fiierte contendoÍ como t
norma popular para una familia de circuito digital. í
t
Otras dos compuertasbásicasCMOS son mostradasen la Figura 13-22. i
!
Una compuerta NAND de dos entradas consiste de dos unidades tipo p en
paralelo y dos unidadestipo n en serie, como se muestra en la Figura 13-22 t
fi
I
6IO C I R C U I T O SI N T E G R A D O SD I G I T A L E S
cAP.13

(br. Si todas las entradas están altas, ambos transistores


de canal p están
en corte v ambos transistores de canal n en conducción. La salida
tiene
una rmpedancia baja- con respecto a tierra y produce un estado
bajo. Si
c ' a l q u i e r e n t r a d a e s b a j a , e l t r a n s i s t o r a s o c i á d ód e c a n a l n s e p o n e
en cor_
te'el t r a n s i s t o r a s o c i a d od e c a n a l p c o n d u c e .L a s a l i d a s e a c o p l a & y o ,
' pasa al estado alto. Las compuertas NAND de múltiples
entradas pJe-
oen lbrmarse colocando números iguales de transisto.r. d. tipo p y
tiio n
en paralelo y serie respectivamente en un arreglo similar al mostrado
en la
Figura t3-22(b).
una compuerta NoR de dos entradas, consiste de dos unidades de
tipo
n en paralelo y dos unidades-de tipo p en serie, como se muestra
en la Figu-
ra l:)'-22(c).cuando todas las entradas están bajas, ambas
unidades"de
canal p están en conducción y ambas unidades de canal n en corte.
La sa_
iida se acopla I V,,,, y pasa al estado alto. Si la entrada
es alta, el tran-
srstor asociado de canal p se pone en corte y el de tipo n se
activa. Esto
conecta la salida a tierra causandortna .alidá de baio nivel.

R E F ER E N C I A S

Taub, H. y D. Schilling, Digitar Integrated Erectronics.Nueva york:


McGraw-
Hill BookCo., 1977.
') G , r i n i c h v, . H . y
H . G . J a c k s o nI,n t r o d u c t i o nt o I n t e g r a t e dc i r c u i t s .N u e v ay o r k :
McGraw-Hill Book Co., 1975.
Morris, R. L. y J. R. Miller, Eds., Designing with rrL Integrafec circurüs.
Nue-
va York: McGraw-Hill Book Co., 19?1.
1. Garret, L. S., "Integrated-circuit Digital Logic Famiries". IEEE spectrum (oc-
tubre, noviembre,diciembre.lg70).
De Falcq_J. A., "cornparison and uses of rrl, circuits". computer
Design(fe-
b r e r o .1 9 7 2 ) .
Rlrcrd'w. R. Jr., MEC_L system Design Handború. phoenix, Ariz.:
Motorola Se-
miconductorProducrs lnc., Ig72.
Data Booh Ser¿esSSI)-2058: COS /MOS DigitaL Integrated.Circutts,
Somervi_
l l e . N . J . : R C A S o l i d S t a t e D i v i s i o n .1 9 7 4 .

PROBLEMAS
13-1. (a) Determine el voltaje de salida de nivel alto de la
compuerta RTL para una
capacidad de carga de b. (b) Determine el voltaje de entrada
mínimo ."q.ru_
rido para llevar un transistor RTL a saturación cuando
hrc:20. (c) De los
resultados en (a) y (b), determine el margen de ruido
d" iu" RTL
cuando la entrada es alta y la capacidad de carga 5. "o-prrerta
l3-2. Demuestre que el transistor de salida de la
compuerta DTL de la Figura 13_5
pasa a saturación cuando todas las entradas
están altas. Asuma qu" hrr:29.
l3-3. conecte la salida y de la compuerta DTL mostrada
en la Figura 13_5a N en-
tradas de otras compuertas similares. Asuma que el transist-or
de salida está
saturado y que su corriente de base es 0,44 mA. Asuma h,, _ZO.
P R O B L E M , A S6 1 1

(a) Calcule la corriente en la resistenciade 2 ko.


(b) Calcule Ia corriente que viene de cada entrada conectada a Ia compuerta.
(c ) Calcule Ia corriente de colector total en el transistor de salida como una
función de -\'.
r d , Encuentre el valor de N que mantenga el transistor en saturación.
' e , .fiual es la capacidad de carga de la compuerta?

1 j l - 1 . D : ¡ :irtr ia interconexión de compuertas I2L para formar un decodificador


Cr-
{.:¡ra que todas las entradas de Ia compuerta TTL de colector abierto de la
c. -. -^
l:l-11están en el estadoalto de 3 V.
-n-
te:mine los voltajes en la base, colector y emisor de todos los transis-

i:=.ne e l m í n i m o h o , . d e Q 2 q u e a s e g u r eq u e e l t r a n s i s t o r s e s a t u r a .
: -.¿ -a corrientede basede Q3.
:-: que el hou mínimo de Q3 es 6,18. ¿Cuál es la corriente máxima
:,:¿de ser tolerada en el colector para asegurar la saturación de Q3?
-.. es el valor mínimo de 8,. que puede ser tolerado para asegurar Ia
::acion de Q3?
.¿ndo los transistores de salida actuales de dos compuertas TTL de
r, r abierto, demuestre(por medio de una tabla de verdad) que cuando
)nectados conjuntamente a una resistencia externa ! V,,", la cone-
r..-:, c¿bieada produce una función AND. (b) Pruebe que los dos inversores
- T L oe colector abierto cuando se conectan juntos producen una función NOR.

=-: 'r conectados para formar una lógica alambrada. Para visualizar por qué
::i r: prohibido, conecte dos de tales circuitos y deje que la salida de una
. ::püerta esté en el estado alto y Ia salida de la otra compuerta en el estado
-:- Demuestre que la corriente de carga (la cual es la suma de las corrien-
-.". :. :==¿ ', colector del transistor saturado
Q4 de la Figura 13-14) es cerca
:: - - a =pare este valor con la corriente de carga recomendada en el
- _\
-' : . : = : - i : : - - : : t - . : . J . : i : ! , n e s .h a g a u n a l i s t a d e l o s t r a n s i s t o r e s q u e e s t á n
:- . *i : : - : . . - _ : : ¿ . : a n c o n d u c i e n d oe n l a c o m p u e r t a T T L d e t r e s e s t a -
: - : . . . f ¡ - : " - ' - 1 6 r c ' . ( P a r a Q l V Q O s e r i a n e c e s a r i ol i s t a r ) o s e s t a d o s
::r.:r: t:rr::.:i l¿ .as ,iunturasde base emisor y base colector).
: -- -3:. l is ra-la ¡ .-1es baja.
'
: I -.:.: =. ¡ara ¡ .{ esalta.
.! ! ud¡luv ! Yb drlo.

4,Cuai es el estado de la salida en cada caso?


l3-9. Calcule la corriente de emisor /, a través de r?, en la compuerta ECL de la
Figura 13-17 cuando:
(a) Al menos una salida está alta en - 0,8 V.
(b) Todas las entradas están bajas en - 1,8 V.
Asuma ahora que Ic: In. Calcule la caída de voltaje a través de Ia resisten-
cia de colector y en cada caso y demuestre que se requiere cerca de 1 V.
13-10. Calcule el margen de ruido de la compuerta ECL.
612 C I R C U I T O SI N T E G R A D O D
S IGITALES
cAP. 13
13-11'usando las salidas NoR de dos.compuertas
ECL, demuestreque cuando se
conectanjuntas a una resistenciaexterna y a un
voltaje negativo de sumi_
nistro, la conexiónalambradaproduceuna fúnción
OR.
13-12.EI transistor MoS es bilateral, es decir que
la corriente puede fluir de la
fuente al drenajeo viceversa.usando esta propiedad,
derivá un circuito que
configure Ia función de Boole:

Y=(AB+CD+AED+CEB),

usandoseis transistoresMOS.
13-13'Demuestre el circuito de la compuerta
NAND de cuatro entradas usando
t r a n s i s r o r e sc M o s . ( b ) R e p i t a r o a n t e r i o rp " . "
un"."-;;;;" NoR de cua-
tro entradas.
Apéndice

R E S P U E S T AAS P R O B L E M AS
SE L E C C I O N A D O S

C ap í t u l o 1

0, t,2, 10,I l, 12,20,2r,22,100,l0l, 102,I10,nt, n2, t20,tzl, t22,2n,20t.


l-: (a) 1313,1022t0
@) 223,n3t4.s2
(c) 1304, 336313
( d )3 3 1 , 1 3 7 0 6
I -3. ( 1 0 0 0 2 l . l l l.l. . \ ; ( 3 3 2 2 . 2()5o0; 5 . 3 .3.3. ) r ; ( 3 1 2 . 4 )( rF;A . 8 ) ¡ 6 .
l-4. I 100.0001; l00lI100010000; 1010100001.001 I I; I I I I l00lI10.
l-5. 2,53125;46,3L25;
I17,75; 109,825.
l-ó. decímal binarío o ct a L hexadecimal
225,225 I I 1 0 0 0 0 1 . 0 0t 1 0 I0 l I 341.t6314 81.399
215,75 I l0l0l I l.l l0 327.6 D7.C
403,9843 ll00l00ll.llllll 623.77 l93.FC
10.949,8125 l 0 l 0 l 0 l l 0 0 0 l 0 J .l 0 t 25305.64 2AC5.D
\
l-7. (a) 73,375 i
rit
ti'
o) 151 ';:
(c) 78,5
.i
(d) 580
(e) 0,62037 :{
I
(D 35 ,
(e) 8,333
(h) 260

l-8. C o m p l e m e n t o d e l0: 1 0 1 0 1 01;0 0 0 1 1 11;1 1 1 1 1 0 ;1 1 1 1 1: 1 1 1 1 .


Complementode 2: 0101011;1001000;1111111;10000:00000.

613
614 APENDICE

l-9. Complementodeg : 86420;90099;09909;89999;99999.


Complementode 10: 86421;90100;09910;90000:00000.
I - 1 0 . ( 1 75 ) n .
l-14. (a) Seistablas posibles.
@) Cuatro tablas posibles.
l-li. ( a ) 1 0 0 00 l l 0 0 0 1 00 0 0 0
(b) lon l00l 0t0l 00ll
( c ) l l l 0 l l m 0 0 1 00 0 0 0
(d) l0000ll 0l0ll00
I - 1 7 . 0 0 0 00
, 0 0 10 , 0 1 0 0, 0 1l , 0 t 0 0 ,0 1 0 1 0, 1 1 0 0, l l l , l O u , 1 1 0 0 l,l 0 l , l l l 0 .
r - 1 8 . 0 0 0 0 10, 1 1 1 00, 1 1 0 10, 1 0 1 10, 1 0 0 0l,0 l l 0 , l 0 t 0 l , l 0 0 l l , 1 0 0 0 0l l, l l l .
1 - 2 0 0 0 0 ,0 0 1 ,0 1 0 ,1 0 1 ,1 i 0 , 1 1 1 .r e p r e s e n t a n d0o, I , 2 , 8 , 4 , 5 , r e s p e c t i v a m e n t e .
l - 2 1 . D o sb i t s p o r c l a s e c, u a t r ob i t s p o r n ú m e r o ,J : 1 0 1 1 ,
e: 1100K , : 1101.
t-23. (a) 000000000000000100100lll
(b) 0m0 000000000010 l00l 0l0l
( c ) l l l 0 0 l l l i l 1 0 1 0 0 0i l l l 0 l 0 l
1-24. (a) 59? en BCD
b\ ZASen exceso3
(c) No válido para el código242I d.ela Tabla 1-2
(d) FG en alfanumérico
1-25. 00100000001 l0l0 : l0l000l l0l l.
+ 1000001
l-26. L: (A + B) . C .

C a p í t u l o2

2-1. conjunto cerrado,asociativa,conmutativa,distributiva; la identidad


para f
l
e s 2 ; l a i d e n t i d a dp a r a . e s0 ; n o h a y i n v e r s o s .
2'2. Todoslos postuladosse satisfacenexceptoel postulado5; no hay complemento.

2-5. (a)
"
(b) x
\c) y
(d) z(x + y)
(e)o
(f) ¡("t + n)

2-6. (a) A'B' + B(A + C)


(b) BC + AC'
R E S P U E S TAA S
PROBLEMA
SSE L E C C I O N A D6O/ S
.;

(c)A+CD
(d\ A + B,CD

2-7. (a) I
b) B'D', + A(D + BC',)
(c) I
(d) (A' + B) (C + D)

2 - l l . ( b ) . F: ( - r ' + - r " ) ' + ( x + y ) ' + ( y * z ' ) ' t i e n es o l a m e n t e o p e r a d o O r eRs y N O T '


( c ) F : Í ( ' t - ) ' ' ( r ' y ' ) ' ' ( y ' z ) ' l ' t i e n e s o l a m e n t eo p e r a d o r eAs N D y N O ' l ' .
2 - 1 2 . ( a ) ? ' r: A ' ( 8 " + C ' )
(b)rz:A+BC:Tíl
2 - 1 3 . ( a ) ) ( 1 , 3 , 5 , 7 , 9 ,l l , 1 3 , 1 5 ) : ¡ 1 9 , 2 , 4 , 6 , 8 ,l 0 ' 1 2 '1 4 )
(b) >(1, 3, 5, 9, 12, 13,l4): II(0, 2, 4, 6,7, 8, 10, I I, 15)
(c) X0, l, 2, 8, 10, 12, 13, 14, 15) : ¡13, 4, 5, 6, 7, 9, ll)
(d) >(0, 1, 3, 7) : rI(2, 4, s, 6)
( e ) > ( 0 , l , 2 , 3 , 4 , 5 , 6 , 7 ) , n i n g ú nt é r m i n o m á x i m o
(0 >(3, 5. 6, 7) : lI(0, 1,2, 4)

2-14. (a) n(0, 2,4, 5,6)


o ) n ( 1 , 3 , 4 , 5 , 7 , 8 , 9 , 1 0 ,1 2 ,1 5 )
(c) )(1, 2,4, 5)
( d ) > ( 5 ,7 , 8 , 9 , 1 0 ,l l , 1 3 ,1 4 ,1 5 )
2-18. F -- x @y : x'y + r/'; (dual de F) : (x' + y)(x + y') : ü * x'y' : p'.
2-20. F: xl * xz * yz.

r
I

Capítulo 3

3-1. (a) y
@) ABD + ABC + BCD
(c) BCD + A'BD'
(d) wx * w'x'y
3-2. (a) ry + x'z'
b) c'+ A'B
(c) a' + bc
(d)ry+xz+yz

3-3. (a)D+B'C
b) BD + B'D' + A'B or BD * B'D' + A'D'
(c) ln' * k'm'n i
(d) B'D', + A',BD + ABC', I

(e) xy' * x'z I wx'y '


6I 6 A P E N DI c E

3-4. ( a ) A ' B ' D ' + B ' C ' D ' + A D ¡ E


I
(bI DE + A'B'C + B'C'E'
(cI BDE,+ B,CD,+ B,D,E, + A,B,D, + CDE,

3-_( ta) Ft: n(0,3,5,6); Fr: n(0, 1,2,4)


(b) Fr : x'y'z I x'yz'+ ry'z'+ xyz; F2:
ry + xz * yz

I
(c) F, : (x + y + z)(x + y' + z,)(x, + y + z,)(x, + y, t z\;
F2:Q+y)(x+z)(y+z)
_.-6 (a) v
o) (B + C',)(A+ B)(A + C + D) t
(c) (w + z')(x' + z')
3-7 (a) z' + xy : (x + z')(y + z')
@) C'D + A'B'CD'+ ABCD':(A + B,+ D)(A,+ B+ D)(C+ D)
(C,+ D,\

I
( c ) A ' , C ' , +A D ' , + B ' , D ' , : ( A ' + D ' ) ( C ' + D ' ) ( A+ B ' + C ' )
( d ) B ' D ' , + A ' , C D ' , +A ' B D : ( A ' + B ' ) ( B+ D ' ) ( B ' + C + D )
(e) w'z' * aw'x * a'wz : Q:' + w')(w' + z)(w + x * z,)(a I w * z,)
3-8. (a) ¡

v L,

z' )

j
z'

3 - 9 . ( a )F , : A + D ' E ' + C D ' : ( A , D + A , C , E ) ,


o) rz: A,B' + C'D' + B'C' : (BD + BC + AC)'
3-ll. (a)r: BD + D'(AB'C'+ A,B,C)

3-12. (a) (A' + B' + C')(A+ B' + C + D,)(A + B + C, + D,)


(b) (c + D)(c, + D,)(A + B)(A' + B')
3-13. AND-AND --+AND, AND-NAND -+ NAND, NOR-NAND --+OR,
NOR-AND--; NOR, OR-OR - OR, OR-NOR -+ NOR, NAND-NOR
-+ AND, NAND-OR --+NAND.

3-15. (a)r: I
( b )F : CD'+ B'D'+ ABC'D
3-ló. (a)r: A'C + B'D'; A'(C + D'XB' + C)
(b) x'z' * w'z; (w' + z')(x' + z)
( c ) A C + C E ' + A ' C ' D ; ( A ' + C ) ( C+ D ) ( A + C , + D , )
o r A C * C D ' + A ' C ' E ; ( A ' + C ) ( C+ E ) ( A + C , + E , )
(d) A'B + B',E'; (A' + B')(B + E')

3-17. (a) B'(A + C' + D')


(b) A'D + ABC'
(c) B'D + B'C + CD
R E S P U E S TA
A SP R O B L E M A S
SELECCIONADO
6S17
3 - 1 8 . F : ¡ ' - \ + r z ( n e c e s i t ac u a t r o
NAND); F:
(x,_tz)(x*y)(necesita
cuatroNORr.
3-19. d- ABC,DE+AB,CDE,+
ABCD,E.
3-20. B'D'(A' + C) +,BD(A, +_C,);IB,
+ D '( A , + C , ) l I B + D , ( A , + C ) l ;
[D' + B(A,+ c,)]tD+ n,fÁ;i c)i¡.
3'21. Í.g : x'yz' * w,y,z * rvry,z,.
3-24. (a) r= A,CEF,G,
O) F: ABCDEFG + A,CEF,G, + BC,D,EF
(c) ¡': A'B'c,DEF' + A'BC'D'E
+ cE'F + A'BD'EF

Capítulo 4

+1. Entradas: a, b, c, d.
Salidas: F = abc + abd + bcd + acd *
a,b,c, 4 a,c'd, + a,b,d,
* b'c'.d';F = fI(3, 5, 6, 9, 10,12) (no
puedeser simplificada
sucesivamente).
+2. Entradas: 4 3 ,A 2 ,A t .
Salidas: 8 6 t oB r ; B , = / A t ; B z : 0 ;
\ = A i A 2 ;B o : A { A 2 A , 3
+ ALA); 85 = A3(A1+ A); 86 =
AzAz.
+3. Salidas: w, x,L z; w : asarb¡br;x = ag,obt
+ arb¡b,s
/ = aúobi * asa1b1+ a6b,sb1 * a(rafts;2 : asbo.
U. Salidas: ,:
x,y, z; ¡ - a¡br * apsbs * búsas;
y : aia:sb,+ aib¡b,s+ a,raob\bo .{
t;
+ arbib,6+ a¡a,sbi* apsbú,
2 : a s b ' o +a o b o .
+5. Entradas: A, B, c. D. ,+
Salidas: t p , x , ! , z i t o : A , B , C , ;x _ B C ,
,t
't
+ B,C;y _ C; z : D,. É,
+6. Entradas: A, B, C. D. t¡
Salidas: FoFtF2Fr;Ft : D; Fz: CD, +
¡
C,D; \ - (C + D) I
t
B' + BC,D,; Fa = (B + C +
D)A, + AB,C:,D,.
+7. Entradas: F8F4F2Ft.
i
ft
Salidas: ,sss4s2sr LeL¿LzLr; rl
ll
l0t 100
.i
lc= 4:.Se: 0;Lr= Lt: FiSr: F z iS z= l t r ¿ i ü
S¿=4.
+8. Entradas: A, B, C, D.
Salidas: F=AB+AC.
4-ll. Entradas: A, B, C,D.
Salidas: w , x , y , z iw : A B + A C , D , ; :
x B,C + B,D + BC,D,:
y:CD'+C'D;z=D.
6 18 A P E N D I C E

+12. Entradas: A, B, C,D.


Salidas: w,x,y,z;w: A;x: A'C + BCD+ A'B + A'D
Y : A C ' D ' + A ' C ' D + A C D + A ' C D ' O fY : A C ' D '
+ B'C'D + ACD + B'CD':Z : D.

4 - 1 3 . E n t r a d a s : w ,x , y , z .
Salidas: E ABCD; E: w x + w y ;A : w x ' y ' ;
lor loo
B : w,x + xy; C : w,y + wry,; D : z.

4-14. Entradas: A, B, C, D (tableroen blanco para combinacionesde bits de


entrada inválidos).
Salidas: a: A'C + A'BD + B'C'D'+ AB'C'
b: A'B' + A'C'D' + A'CD+ AB'C'
c: A'B + A'D + B'C'D'+ AB'C'
d: A'CD' + A'B'C + B'C'D' + AB'C' + A'BC'D
e: A'CD'+ B'C'D'
f : A,BC,+ A,C,D,+ A,BD,+ AB,C,
s: A'CD' + A'B'C + A'BC' + AB'C'
(Total de 21 compuertasNAND)

4-15. Circuito sumadorcomoleto.

4-16. Circuito sumadorcompleto.

4-19.

+20. F = ABC'+ A'B + B' : A'+ B'+ C ' ( d o s c o m p u e r t a sN O R ) .

4-21. (a) Sumador completo, I'1 es la suma, F, es el bit de arrastre.


O) r: A'B'C' + A'BC+ AB'C + ABC' ,

4-28. Variablesde entrada:A, B, C, D, variablesde salida: w, x, y, z.


w : A, x : A@ B,y : r@ C,z : y O D.

4-29. C: x O y @ z @ P ( t r e sc o m p u e r t a sO R - e x c l u s i v a s ) .
\E-\R,\a\\\\\R,\\\\A$.\\\alatt\\\\\\\

l)

t.,

(;

- - l

:3

- - -e Figura 5-2 exceptoque 8: 1101.


- , = : r a O R - e x c l u s i v a s e u s a p a r a l i r r m a r e l c o m p l e m e n t od e 1 d e R
''
: r - - ' . e n td
o e 2 s e o b t i e n e a g r e g a r - r dIo V ¿ r la r r a s t r e d e e n t r a d a .

- P r G t + P 4 P r G 2+ P 4 P 3 P 2 G+t P 4 p 1 p ) p t C t .

( J : . P .* G ; C ; P ; + G i C ; G í P í + C i G ; G í C í ) '

P.+ GiP;+ G\C:Pí+ G;G;G;C',t)',

i-

: : : . . . : r ¡ ..:r . , f r , . r : , - r r i s a l i d a S .: \ , . \ ' r , , \ r , . \ ,

- .:... las diez compuertas AND requieren cuatro entradas ,,quivalentesa


- :r:'nlinos mínimos desde¡n,, hasta m,,.

. j ' r . . ; . - - ): : ( 0 , l , 6 ) .
. : - , , : . , I. ; ) : : ( 4 , 5 ) ( u s e c o m p u e r t a s \ O R t
i ' . , \ . . f. : ) : : ( 0 , l,6,7): F, + mr.

l - n t r a d a s : I ) \ )I ) | D . )D , ; s a l i d a s : . r , . r ' , E . I ) r i o r i d a d d a d a a l a e n t r a d a c o t t É r
: - . u m e r od e s u s c r i t o m a y o r .

'. : Dt + Dt. ! : D1 + D1D), E: D o - { -D l + D 2 + D . ' .

:,: 1 , ,h a s t a I t : C ' , 1 , C ' , 0 ,C ' , C ' , 0 , C


1 9 i a ) 1 0 2 4x 5
( b ) 2 5 6) <8
tct 1024x 2
620 A P E N D I C E

C ap í t u l o 6

6-4. 0J Q( + r): JQ' + K'Q


0 0 0 0
0 0 I 0
0 I 0 I
0 I I I
0 0 0
0 I I ,l
I 0 0
I t I

6-5. .tD Q0+t):s+R'0


0 0 0 0
0 0 I 0
0 I 0 I
0 ¡ I
0 0 I
0 I 0 ,]
I 0 I
I I I

6-7. Salidadelacompuerta:2 3 4 5 6 7 g 9
(a) I l0l I 00 I I
0 o)
I l0 I r0 I 0
(c) l l0 0 rl 0 I
(d) 001 ll 0 0
(e) l0l 00 I
(f) l0l l0 0 CP:l
l0l 00 I CP:0

6-r0.

00/0 n/0 tt/l


oI/ 1 01/o
t0/1 \z -r
\,
:v t 0/ 0

o0/ | Entradas::y
Salida: s

6-l l. Un contadorcon una secuenciarepetida:00, 01, 10.

6-12. ¡ : 1; la secuenciabinaria es: 1, g, 4, 2, g, 12,6, 1I,5, 10, 1g,


t4, IE,7, B.
¡ : 0 ; l a s e c u e n c ib
a i n a r i ae s :0 , g , 1 2 , 1 4 , 7 , 1 1 ,1 8 ,6 , J , g , 4 , 1 0 , 5 , 2 , 1 .
\
.D

+
:,
6-13. .¡i

Salida :
i
P.S. Estadosiguiente
r/:00 xY:01 x/: l0 xY:ll ry:u 4 :01 D': 10
AB AB AB AB AB
0 0r 0 t
00 I 0 0 0 I I 0 I
I 0
0l 0 I 0 I I 0 I I I 0 0l 0
l0 I 0 I 0 0 0 I 0 0 0 0l l

ll I 0 I 0 I 0 I 0 I 0 ol I

A(t + D:xB t v'B'A'+ yA + x'A; B(t + l): xA'B'* x'A'B+ yA'B

6-14.

a fb
b da
d ga
I fb
c gd

6-15. Estado: a l b c e d g h I C h a
Entrada: 0 l I l00l00l I
Salidas: 0 1 0 0 0 1 I l 0 l 0

ó-16. Estado: afbabdgdggda


Entrada: 0l I l00l00l I :
Salidas: 010001I l0l0
I
6-18. J K', QQ+I) QQ) QQ+I) JK'

00 0 0 OX
0l QQ) I IX
l0 Q'Q) 0 XO
ll I I XI

6 -1 9 . SDR QQ+I) QQ) QQ + I) SDR

00 QQ) 0 0 0x
0l 0 0 I IX
l0 I I 0 0l
ll I I I
x o \ cuulqui.."
I x)

6-20. (a) TA: A + B'x; TB: A + BC'x + BCx' * B'C'x':


TC=Ax*Cx*A'B'C'x'
622 APENDICE

(b)Sl : A'B'x; M: A; SB: A * C,x,; RB: BC,x* Cx,.


SC : A,B,x, + Ax; RC : A,x
( c )J A = B,x,KA: l;JB: A + C,x,,KB:
C,x * Cx,;
JC : A,B,x, + Ax, KC : x; y : A,x
6-21. (A :23, B :22, C^=2t,? : Z);
TA : (D + C + B)x;
rB: @ + C)x; TC: Dx; ró: O.
6-22. JA : x, I(A : x,;JB : Ax,,KB :
l;JC : Bx + Ax,KC = Bx,.
6 ' 2 3 . J _ Q - aQ
: pzQo .Iet: e^,e: Jez: eáet Jet: I
KQt: Qt Keo:b,tj, iór: e, Ket = |

6 _ 2 4 .1 2 4 2 1 1 . :, A : B C D + A , B ; T B :
LA B C DI, CD + A,BiTC : D + A,B;
TD: t.
6-25. (a) J¿ : B, KA : t; JB : A,, KB :
I
(b)JA : BC,JB : C,JC : A,
M:t,KB:C,KC:l
(c) t¿ : BC,JB : C,JC : B, + A,
KA:B,KB:A+C,KC:I
6-26. SA : BC, SB : B,C SC: A,
RA: BC RB: AB RC: B
:
6-27. TA A @B; TB: B O C; TC :
AC + A,B,C,
6 - 2 8 .J A : B ' JB:A+C JC:A,B
KA: I KB: I KC: I
6-29. DA : A,B,C + ACD + AC,D,
DC : B

I
DB: A,C + CD,+ A,B DD: D,
6-31.JA: yC + ry JB: xAC JC: x'B + yAB,
KA : x' + y,B, KB : A,C + x,C + yC, K C : A ' B ' +
xB * y,B,
6-32. (a) A(t + l) : AB,C,x, + A,BC,x
+ A,BCx + AB'C'x + AB,Cx.
B(t + l): A'BC'x'* A,B,Cx.
C(t+ l): A'B,Cx,+ A'BC,x,+A,BCx,+
AB,C,x,+AB,Cx,.
d(A, B, C, x) ::(0, l, t2, 13,14,15)(términos
de no importa).

Capítulo 7

7-1. Use una compuertaNAND externa.


7-2' (a) cambie er inversor asociado
con cp en una compuertaseparadora,o (b)
use flip-flops que se disparen en el flanco
negativo.
7-4. A(t + t): AB' + Bx';B(t + l): x.
7-9. I :0010,00011 , 0 0 0|,0 0 ;
e: l. l. t. n
R E S P U E S T A SP R O B L E M ASELECOof.TAoOS
S 623

7-10. D = ¡O y @ Q;JQ : x'y;KQ: G' + y)'


7 - 1 3 . 2 0 0n s r5 M H z .
l-i4. Diez flip-flops seráncomplementados.

7 - 1 1 . l 0 l 0 + 1 0 l l - - +0 1 0 0 lll0 -> llll -+ 0000


1100+ 1l0l ----, Autocomenzante )

tl
7-18 000+ 001+ 010--+0l l*+100 |
¡
lOl-J zl l0r zl I1., No autocomenzante

7-21.JQt: KQt -- l.
JQz: KQz: QtQ;'
JQq: KQ¿: QtQz.
J Q a : Q t Q z Q ¿K; Q a : Q r
7-30. (a) Estados no usados (en decimal): 2 4 5 6 9 l0 ll 13
Estado siguiente (en decimal): 9 l0 2n413 5 6
ó)2--+9--+4--+8 8 es un estado válido
l0-+13-+6--+ll-+5-->0 0 es un estado válido

7-32. (a) t3,32


@) 32,768
7-35. (a) l6
o) 8, 16
(c) ló
(d) 16 + 255k donde A es el número de 1 en la palabra a ser almacenada'

Capítulo8 I
:
a la derechaconentradaen serier y controlde
8-3. Un registrode desplazamiento :
desplazamiento P.

8-5. (a) (l) 8 <- A; (2)A <- B; (3) C <- D; (4) BUS<- B
(b) (l) 01000; (2) 10010;(3)001l0
decodificador
8-'l operación direcciónMUX datosMUX de destino

(a) escritura l0 lt
(b) lectura II t0

8-9. Un contador de modo 9 que cuenta los estados binarios desde 0 |rasta 8.

8 - 1 2 . S : A < - s h r l , . Be s h r B , B n < - A p A n r - A y

8-14. PR forma el producto de B,R y A.R mediante sumas sucesivas del contenido de
BR un número de veces igual número en AR. La multiplicación comienza cuan-
do S se convierte en 1 v termina con D: 1.
624 APENDICE

8-16. (a) 000000


(b) 0l1000 (24)
1c.¡000011(3)
(d) t00olt (_29)
(e) 001I l0 (14)
(0 0r000r(17)
( e )l 0 l l l l ( - 1 7 )
(h) 000101 (5)
6-lE (l) (a) Sobrecapacidad porque la suma es mayor que 127
O)cs:l,cr:s
(c) El signo es negativo
(d) Sobrecapacidadporque Cs O Cr: ¡
(e) Sobrecapacidadpor inversión de signo
8-23. (1 - 2-26¡ 'a 2zss y 2-2s6.
E - : 4 . ( 1 0 5- l ) x l g e e y 19*rs.
8-25. coeficiente exponente /
(a) 0 llllll000000 0001I l
o) 0 0lnlllm000 000010
(c) 0 000llllll000 00000r
8 - 2 6 .( a ) A < - - A @ B con B:l0ll0l00
@)A<-A\/B con B:00100100 o llllll0l
8-21. A <- A /y E.

8-28. (a) 8
o) ló
(c) ó5,536
(d) 8,388,607

6-31. Q¿tl MAR<- pC


Qctc: i{BR. <- M, pC <_ pC + |
Qqts: R <- MBR, T <-0

Capítulo9

9-2. Cuatro líneas de selecciónpara cada uno.

9-4. (a) 64 x 8 RAM


(b) ó
(c) 8
(d) 8 multiplexoresde 2X 1 cada uno.

i--
R E S P U E S T AAS P R O B L E M A SS E L E C C I O N A D O S
625

9-7. lc)

9-8 r . r ,j r c n = m 0 0 0 0 C , 10 0 1 0 0 0 1 I 0100 0l0l 0l l0 0l I L

F=0000 00ql B 8+l E E+t llll 0000.

9 - 9 . ' a ) F = B + ,4 B más el complementode 1 de B


,it F = B + f + | Bmáselcomplementode2deB
l C l f =i + A- t complementode I de (A + B) menosuno
rd) F =A + B complemento de 1 de (A + B )
(e) F = f complemento de 1 de A
(0 F : F + l complemento de 2 de A
(c)F = A - - l complemento de 1 de A menos uno
(h) F : A- complemento de 1 de A

9-10. X¡ : A¡i Y¡ : s'B¡i Ci, : s.


9-l l. ¡: complementode 2 de (B - A) y el arrastreocurre si A < B.
9-12. X¡: A,(s\ + ro); Y¡ : B,s'rs's
+ Bisr.
9 - 1 3 . X ¡ : A ¡ ( s l+ s o )+ A i s p ' ¡ ;Y , : B , s 1 + 8 i s i s 6 .
9-16. Let x: s2s\sí¡,y: s2s¡si.

X¡: x'A¡ + AiBi * yB,; Y¡: 4ro + Bitry'; Z, : s'2C,.

9'17. Lo mismo que la Tabla 9-4 con las variablesde selecciónoR v AND inter-
cambiadas.

9-18.(a) E:1siF:todosl
(b)C:lsíA.>B
(c)A>8siC:l A <8siC:0
A>BsiC: I o E:l A:8siE: I
A<BsiC:0 y E:0 A+AsiE:0
9-24. R5 <- R | + R2 R6 <- crc R6
R 5 < - c r cR 5 R5 <- R5 + R6
R6 e--R3 + R4 R5 e- crc R5
9-26. JA¡ : M¡ = B¡Kiprc+ Bi K¡trc;{,*r : A; Bi + A;Ki + BiKi.
donde K, es el arrastre de entrada y K,+r el arrastre de salida.
9-27. JA¡ : B¡'p1¡* pn * Bipn; KA¡: p' * B¡t¡2+ Bip1.
9 - 2 8 . J A , : K A , : E i i E i + t : E i A i ;E t - p u .
Capitulo 10

l0-4' r]n ceronegativoocurrirá despuésdel cárculode ( -A)


+ ( + B) si A: B. Esto
p u e d ee v i t a r s eb o r r a n d oA " s i A : 0 c u a n d oA > B .
l0-8. JB,: y3": y; JA": KA": z; JE : L C o u rK; E : L C [ u r + w .
f0 - 9 . D T o : q ^ T o+ P , T 3 ;D T 1 : Q ^ T o iD T 2 : T , + p l T r ; D T 3 : z2.
l0- 12. (a) 0 Lo mismoque la Tabla 10-2
I A < - A + E * l . S e C n ,E * C , * , , i r a 3
2 A < _ A + B , S < _ c - nE, < _ C n + t
3 S i ( E : 1 ) e n t o n c e s( i r a 6 )
4 S i ( S : 1 ) e n t o n c e s( i r a Z )
5 V . 0 ,i r a 0
6 S i ( S : 1 ) e n t o n c e s( i r a 5 )
7 V*1,ira0
l0-13. Una microinstruccióncon 26 ceros.
1 0 - 1 4 .I
Rl<_Rl,c<__0
Si (S : 1) entonces(ir a 4)
2
3
.Rl<-crcRl,iraS
4
Rl<-shlfil
5
Rl+-Rl
S i ( S : 1 ) e n t o n c e s( i r a g )
6
7
Rle-O -
8
La siguienterutina comienzaaouí

1 0 - 1 9 .2 t ( l + k ) .
10-20. TGt : Q^ + T[; TG2: T1 * p,73.
l 0 - 2 1 . C o m p l e m e n t do e 2 d e A .

I
10-22. (r'- l ) ( r , - l ) < ( r r ^ - l ) p a r a r > -2 .
10-23. JG1 : q,Ts + S'Z:2* Ta * T6; KG, : 1
JG2: q"Ts+ Tt+ E'75: KG2: ST2+ T3+ T1
JG, : 57¡ KG3: ETs + Tj
1 0 - 2 5 T o : - r : 1 , s i( g . : 1 ) e n t o n c e(si r a ? 1 ) d e l o c o n t r a r i o ( i r a
?6)
Tti P<-0, ir a I,
Tt: Si (¿ : 0) entonces(ir a ?e ) de lo contrario(ir a ?¡
)
T z : P e . p * B , A < _A_ _ l , : - a T 2
l A - 2 6 . ( b ) J G t : ( x + z ) T o+ T 2 ;K G , : 1
JG. : (y + z)76 .r Ti KG2: T3

Capítuto 11

ll-3. (a) CLE (b) CLE


SPA SHL
CME s o b r e c a p a c i d a dE
, s¡iA 6
SHR
626
527
R E S P U E S T AAS P R O B L E M A SS E L E C C I O N A D O S

I l-5 I u g ar (b) lugar

I SKI 5 SKO
: BU\I BL\ 5
3 INP 1 OUT

ll-6 O c u r r e u n a s o b r e c a p a c i d a ds i l o s s i g n o s d e los dos númerosson igrales pel a


ei srgno del resulcado es diferente'

l1-7. ( b ) \ ' a l o r d e A - - ( 0 0 1l ) 1 6: ( 1 7 ) r o

I1-8. PC .\,1.4R B A I
{\D 022 083 B8F2 A832 0
BU\ 083 021 5083 A937 5
II-9. E A B PC
cLA I 0000 6800 022
cLE 0 A937 6400 022
cMA I 56C8 62W 022
sHR I D49B 6080 022
sNA I A937 6008 023

ll-10. ll ¡rs.
I l-l l. (a) Fqtt2: '4 + A * B, E + arrastre
Fqrt3E:.4e4*l
(c) Debe detectar el cero positivo y negativo

ll-12. ORA Fqstt: B +- M SUB Fqrtf. B<-M, A<-r


Fqstt: A+-Af B FqtJ2'. A<-A+l
SWP Fq6t;. BeM Fq1/3: A<.A18
Fqrct2i A+8, BeA BSA Qottl A * PC. PC* B(AD)
Fqrct3 M <- B BPA qtrA\utr: PC <- B(AD)

l1-13. (b) Instrucción: AND ADD STO ISZ BSB Br-rN REG r/O
Tiempo(¡rs): 6 6 5 7 5 444

I l-14. SBA puede hacerse de diferentes maneras:


(a) use el procedimiento definido en el Problerna 9-25;
(b) cambie A y B, luego complemente y sume;
(c) forme el complemento de 2 en B como en el Problema 9-29'
ADM ¡gts: MAR <- B(AD)
Qgla: B <- M
?stsi A <-- B, B <- A
Qstti A<-A*B
4sttt A <- B, B <- A
Qstz: M <- B, G <- 0

ll-17. JE: ez* Ca2* Aro5* A1uau.


KE : et + e2+ C'a2 * A\a5 * A\6a6.
frr

628 APENDICE

i l-19. Un total de 12CI.

Capítulo 12

l2-3. La anchura del bus de datos.


l2-4. 4.096palabras,8.192bytes.
l2-8.ACSZV
(a)381000
\,@)900101
\(.)oooolo
(d)0000r0

12-9. (a) 1R <- MIPCI, PC <- PC + | O) IR <- MlPCl, PC <- PC + 1


AR(H) <- MlPCl, PC e PC + | T <- MIFGI
AR(L)<-- M[PC], PC <- PC + 1 A <- A * T
MIAR] <- A
(c) 1R <- MlPCl, PC <- PC + | (d) 1R <* MlPCl, PC <- PC + |
T<--B A<-A+l
A<-A+T+l
(e) 1R +--MIPC| PC <- PC + |
S i ( C : 0 ) e n t o n c e s( P C - P C r 2 , i r a b ú s q u e d a )
AR(H)<- M[PC], PC+ PC + 1
AR(L) <- MÍPC), PC e PC + |
PC <-.AR

t2-n. 49.
12-12. (b) Relativo:Instrucciónde dosbytes, A <- MIFC + AD8].
IR <- MlPCl, PC e PC + |
AR(L) +- MlPCl, PC <- PC + |
Si AR (8) : 0 entoncesAR (H \ * todos 1
AR<. PC + AR
T <- MIARI
A+-AlT

l2-r3. (a) 00Fn


(b) TIFB;(c)7r25

1 2 - 1 4 .C i n c o c i c l o sd e m e m o r i a .
12-18. PC SP Pila

(a) 0l3F 3,{56 5A, 14


a) 67AE 3A'58 42,0t,5A, 14
(c) 0142 3456 5A, 14
(d) r45A 3A54 l

12-21. (a) PC, A, B, C, D, E, F, G, registro de condición.


(b) Diez ciclos de memoria.
r
R E S F U E S T A SP R O B L E M ASSE L E C C I O N A D O
6 2S9

1 2 - 2 2 .x : Ióli:.r: I{i+ I o l j : R : 1 0 + 1 r+ 1 2 + I 1 . .
1 2 - 2 4 . F F m . F F 0 8 .F F l 0 . F F l 8 .
t2-25. (a) l6
(b) ll,7
( c )4 , 4 x 1 6
t2-26. (a) 8
(b) 128pastillas de 16 gruposde 8 pastillas cada uno. Los gruposson selec-
.
cionadoscon un decodificadorde 4 x 16.
12-27. 24 terminales.
12-28. 32 pastillas RAM con un decodificadorde 5 x 82. ocho pastillas RoM con un
decodificadorde 3 x 8. use la línea 13 para 032. Rango de direcciones:0000-
OFFF para la RAM; 1000- 1FFF para la ROM.
12-29. (a) 8, 4
(c) RAM: 0000-07FF; ROM: 4000-4FFF; interconexión: 8000- 800F

C a p í t u l o1 3

13.1. (a) 1,05V


(b) 0,82V
(c) 0,23V
l3-2. Is :0,44 mA, Ics : 2,4 mA
l3-3. (a) 2,4mA
ft) 0,82mA
@) 2,a+ 0,82N
(d) 7,8
(e) 7
r3-5. (b) 3,53
(c) 2,585mA
(d) 16 mA
(e) 300 O
l3-9. (a) 4,62mA
(b) 4 mA
l 3 - 1 0 . 0 . 3v .
l'a

Ind ice

Acceso aleatorio. 306 Bifurcación.486.536


Acceso directo de memoria. 56g a la sub¡utina, 486
A c c e s os e c u e n c i a l , 3 0 5 condicional,S36
Acumulador, 380-406 incondicional.486.b36
Adición,6 Binario,2
con signo complemento de 1, 536_3? Bipolar,58l
con signo complemento de 2, 3;16 BIT, 16
con slgno magnitud, 432-41 Bit de arrastre,397-98
en serie,278-82 Bit de comienzo,568
paralela, 160-61 Bit de parada,568
Adición decimal, 345 Bit de paridad, 19 r
Agrupar, 351 Bit de signo,396-9?
A l a m b r e s e n s o r .3 1 0 7
Bit indicador.996.564
Algebra de Boole, 36, 4l BJT,581
de dos valores, 39 Bloqueador,267
definición, 36-39 tipo D, 214
postulados, 42 tipo SR, 210
prioridad <iel operador, 43 Bloqueadorcon compuerta,214
propiedades, 40 Borrado,2l I
simplificación,
46-48 Borrado del Bit, 350
teoremas,41-42 Bus,323-24
Algoritmo, 170,423 bidireccional,525
Algoritmo diseñado, 423 para el microprocesador,
522-23
Al macenamiento binario, 27 Bus de datos,522-23
ALU, 373-77,382-83 Bus de direcciones,522-23
diseño del, 391-96 Bus de tres estados,599
A m p l i f i c a d o r s e n s o r ,3 1 0 Bus direccional,525
A\D, 27 Bus I/ O,522-23
A\D alambrado. 97. 594 Byte,528
A\D-OR.INVERTIDA, 98
Aritmética binaria, 4
Arrastre,123 Cadena de caracteres, 348
A¡¡astre de entrada, 384 Calculadora,3
Ii
A¡rastre de salida. 382. 387-88 Caminode datos,373
bit de condición del, 397-98 gatillado del, 374
Arrastre ñnal. 13 Campo,37
A¡rast re posterior, 164-65 Capacidadde carga,581
generador de, 165 CápsulaROM,554-55
Arreglo lógico programable, 195 Catacter,2l
;{ Caracter de sincronismo,567
con lógica de control, 429,461-64
programable en el campo, 198 Característica,345
.1 tabla de programación del, 198-201 Caracte¡ísticadel diodo.585
i
ASC III. 21-22.s67 Cargaen paralelo, 270,276,2gl
Asigrración de estado, 236 Celdabinaria.23
Ceronegativo,16,33?
ct,62
Base del número,5 Ciclo de búsqueda,360-492
Base del transistor, 581 Ciclo {e ejecución,361-494
BDC. 17 t
Ciclo de escritura.303.531

630 l
-_-..--.-.-"..--<_

,\O¡CE
\l
631

Ciclo de lectura. 302.530 Compuerta, 29-30


Ciclo de memoria.305.530 Compuerta AND, 29
toma del, 571 Compuerta de colector abierto, 592-96
C ircuito aritmético. 383 bus común de la, 595
diseñodel, 3&{-86,388-89 lógica alambrada de la, 594
Ci¡cuito combinacional,120-21 Compuerta de poste totémico, 596
análisis del. 133-35 Compuerta de tres estados, 599-600
o l s e n ol.z l - I Z Z Compuerta NAND,59
Circuito de conmutación,28 símbolos gráficos, 90
Circuito dig¡tal,584 Compuerta NOR,59
Circuito lógico,390 símbolos gráficos, 90
diseñodel, 390-93 Compuerta OR, !9
C i ¡ c u i t oM S I , i 6 0 - 2 0 1 Compuerta separadora, 58-6 I
Ci¡cuito NAND de multinivel, 136 Compuerta separadora de bus, 524-25
C i r c u i t oN O R . 9 4 - 9 6 Compuerta universal, 139-144
análisis del 146-49 Compuertas de circuito integrado, 63-64
multinivel. 144-46 Compue¡tas lógicas, 529-58
Circuito NOR de multinivel, 144 Compuertas lógicas digitales, 58, 59
C ircuito secuencial.208.225 Computador,2-3
análisis,224-30 diseño del, 357 -ffi, 477 -503
asincrónico,208 Computador análogo, 2
con temporización, 209-224 Computador digital, 2-3, 478-489
diseñodel, 240-46
'sincrónico,
Condiciones de no importa, 103
208 Configuración de las funciones de Boole, 45-46
Circuitos integradosdigitales,62, 579 con AND-OR-INVERT, 95-101
Circuitos LSI, 160-201 con NAND,90-94
Ci¡cuitosNAND,90-94 con NOR,94-98
análisis,141-46 con OR-AND-INVERT, 98-101
multinivel, 136-40 producto de sumas, 86-89
Ci¡cuitos secuencialestemporizados,2W' 224 suma de productos, 86
cMos,62,579,608 Configuración de dos niveles,87, 96-98
, circuitoslógicos,609 Conjunto cerrado, 40
Codificadorde prioridad, 180,552 Consola de computador, 512
Códigobinario, 16 Constante de tiempo, 591
Códigocargado,18 Contador, 251
Códigocondicional,396 auto comenzante, 254
Códigode excesotres, 17 BDC.284.290
Códigode instrucción, 352 binario, 282-287
Códigode operación,352,532 diseño del, 251-55
Códi go de tarjeta, 21-22 Johnson,297
Códigog¡ay, 20 N. módulo- 292
Códigohexadecimal,485,538 rizado.282
Códigoreflejado,20 sincrónico, 286
Códigos,16-22 Contador asincrónico, 283
Códigosalfanuméricos,20-21 Contado¡ autocomenzante, 254
ASC II,22 Contador BDC, 284-290
códigode tarjeta, 22 Contador bina rio, 251, 282, 287
E B C D I C , 2 2" con carga en paralelo, 291
Códigosbinarios, 16-22 Contador creciente decreciente. 283. 287
alfanuméricos,20-22 Contador de anillo, 297
decimal,17 final conmutado, 297
Códigosde detecciónde errores,19
Códigosdecimales,17-18 Contador de datos, 538
Contado¡ de N módulos, 292
Coeficiente,345
Coincidencia,S6 Contador de rizado, 282
Colector,582 Contador del programa, 359
Comandode retención,570 Contador Johnson, 297
Comparador,170 Contador sincrónico, 286
Compa¡adorde magnitud, 120,205 Control conectado o alambrado. 426
Comparar,398-404 diseño del. 439-458. 503
Complemento,38-56 ejempio det,431-452
de una función, 48-49 Cont¡ol condicional, 332
Complementode bit, 350 Control del microprograma, 426, 430, 441
Complementos, 11-12 del computador,SCT-12
sustraccióncon. 12-15 del CPU,468-71
Componentes LSI,518 del o¡ocesador. 447-49
Comprobarparidad, 153 ejemplo, ¡t41-46
6.12 tNDtcE

(lrrntrol del Pl,A, 126,429,461 Ecuaciones de entrada, 230


e j e m p l o , 4 6 1 - 6 4 ,5 0 3 - 0 7 Electrónica, 579
Control del procesador, 447 Elemento de identidad, 36
Controlador del contado¡ de anillo, 42? Elemento verdadero,/complemento, uno,/cero,
Conversión binaria a decimal, 206 385
Conversión de basede números, 7-9 Emisor,581
Conversión entre códigos, 130-162 Enlace,562
C o r r e c c i ó nB D C , 1 6 7 traslerencia con, 56ll-64
Corriente.58l Entrada de carga, 2?0
( l P ( ¿ ' e rP u l s o s d e r e l o j ) Entrada directa de puesta a cero,223
C P L i , 3 7 2 ,5 2 8 Entrada en serie,273
Cristal, 527 EPROM, I88
Cuadrados adyacentes,77-81 Equivalencia, 56-59
Escritura, 301
Datos decimales,343 E s c r i t u r a d e m e m o r i a ,3 0 : t
I)atos no numéricos. 348 Estad<¡, 20fl
Decimal codificado ón binario, 18 F l s t a d od e a l t a i m p e d a n c i a , 5 2 5 , 5 7 0
Decodificador,171 Estado de esp€ra,53l
BDC a decimal, 174-75 Estado inválido, 249
BDC a siete segmentos,155 Estado no usado, 246
con entrada de activadora, 178 Estado presente,226
c o n f i g ' u r a c i ó n ,1 7 6 Estado siguiente, 226
I J e c o d i f i c a d o rr d e m u l t i p l e x o r , 1 7 8 Exponente, 346
lJecremento, 329
U e m U l t l p l e X o r ,1 / i
D e s p l a z a m i e n t o a r i t m é t i c o , 3 41 FA {r cr Sumadorcompleto¡
Desplazamiento circular, 403 F a m i l i a s l o g i c a sd e C I , 6 2 , 5 8 9
Dragrama de estado,227 característicasde, 69-70
Diagrama de estadode control, 437-39 niveles de voltaie. 6b
Diagrama de secuencia de tiempo, 30, 424 Fet
Diagramade Veitch, 75-114 F l a n c c r n e g a t i v o , 2 7 7- 1 8
Diagrama de Venn, 44 F l a n c o p o s i t i v o ,2 1 7 - 1 8
Diodo, 584 FIip-flop,210
Dip,31 circuito básico del, 2lC
D i r e c c i ó n ,3 0 1 ecuación característica, 214
Dirección de bifurcación, 469 tabla caracteristica, 214
D r r e c c i ó nd e m e m o r i a , 3 0 1 temporizado, 212
Dirección de retorno, 467,547 acopladodirectamente, 210
Di rección directa, 354-55, 540 entradas directas del, 223
l)irección efectiva, 542 tipo D, 213
Di ¡eccionamiento indexado, 543 de disparo por flanco,22I
Direccionamiento indirecto, 543 tabla de excitación, 237-39
Di reccionamiento relativo, 541 fünciones de entrada, 230
Disco Fioppy,569 tipo JK, 214
D i s e ñ od e l c i r c u i t o , 4 7 7 maestro esclavo,218
D i s e ñ o d e l s i s t e m a ,4 7 7 tipo RS, 212-13
D i s e ñ o l ó g i c o ,4 7 7 disparo del, 216
Diseño iógico de control, 423 tipo T, 216
D i s e ñ o l ó g i c o d e l p r o c e s a d o r ,3 7 2 Flip-flop D, 213
Disipación de potencia, 68, 581 disparo por flanco, 221
Disparo.2l6 F I ip-fl op disparado por flanco, 221 -23
D i s p a r , ,d e l o s f l i p f l o p s , 2 1 6 Flip-flop JK,2l4
Disposit ivo de entrada, 3 maestro esclavo,218
D i s p o s i t i v od e s a l i d a , 3 F l i p - f l o p : n a e s t r o e s c l a v o ,9 1 8 - 2 0
Drenaje. 605 Flip-flop RS, 212-13
DTL,5;9 Flip-flop T, 216
compuerta básica,586 F lip-fl op tempo rizado, 212
compuerta modificada, 587 Flujograma, 425
Ilualidad,4l Flujo magnético,309
Formas canónicas,49-54
conveisión entre, 53-54
EAROM, 188 Fo¡mas no degeneradas, 9?-98
EBCDIC, 21-22 Formas normalizadas, 54-55
ECL,62,579 Formato de datos, 483
compuerta básica de, 600 Formato de instrucción, 353, 483, 532
Ecuación de estado,228 FPLA, 198
diseño de, 225 Fuente, 605
-

INDTCE 633

F u n c i ó n d e B o o l e .{ ¡ ' 1 9 [- L (cr-¡nt.l
c o m p l e m e n t od e . 1 S ' 1 9 interconexión de. 59()
confiS'uración.16-1i I O aislado de, 560-61
simPlilia , cllrl {;'li. ;i Implicación.56-57
t a b l a c l e\ c r d . r d . - l Í i Implícito, 3ó{. 5.1t)
F u n c i ó n d e c o n t r o l . 3 1 8 .3 2 0 h r c r e m e n t o ,l l 2 9
¡ ¡ ¡ 1 ¡ l i ¡ i 1 , ¡ 1 ¿; ¡1|:.3 2 I n d i c a c i ó n d e c e r o . ; l 9 t i - 9 7 ,4 0 8
F u r . r c i o tp. ia r . t i i . 1 ¡ 1 Indicador, 538
F u n c i o t r d e p l a n i m e t r í a ,4 7 0 Indicador de pila, 5.1i1-44
F u n c i o n e sd e ' n t r a d a , 2 l l 0 Indicador de polaridad, 66
F u n c i o n e sd e e q u i v a l e n c i a ,l ' 1 8 - 5 : l I n d i c a d o rd i n á m i c o , 2 1 3
F u n c i o n e sL S I : Inlbrmación binaria, 317
a c c e s od i r e c t o d e m e m o r i a , 5 6 9 - 7 ' 1 Inlormación discreta, 1
arreglo Iógico programable' 195-98 Inhibición,56-57
i n t e r c ¡ r n e x i odne c o m u l r i c a c i o n en serie. Instrucción de movimiento, 535
;-r6á-68 I n s t r u c c i < i n d e o m i s i ó n , 1 U 9 ,5 3 6
interconexiirn de entrada l- salida, Instrucción de salto, 536
á 5 9 - 6 0 ,5 6 9 I n s t r u c c i o n e s d e c o m p u t a d o r , 3 5 3 ,4 8 2 ,5 3 ?
i n t e r c o n e x i ó np e r i l é r i c ae n p a r a l e l o , tipos de. 1135
á62-6ó Instrucciones de entrada-salida, 484-488
m e m o r i a d e a c c e s oa l e a t o r i o , 3 0 0 - 3 1 2 ' Instrucciones de referenciade memoria,
55'1-55 '183-84
m e m o r i a d e s o l o l e c t u r a , l f l 8 - 9 5 .5 5 5 - 5 6 Instrucciones de relerenóiade registros,
microcomputador, 521-24 483, 48¡l
m i c r o p r o c e s a d o r ,5 2 6 - 3 0 Instrucciones de tipo de control, 535
m i c r o p r o c q s a d o rd e u n g r u p o d e b i t s , Instrucciones de tipo operativo, 5ll5
; ] 7 7 ,: 1 7 9 Instrucciones de tipo trasferencia, 5llir
receptor. trasmisor, asincrono, 501 Integración a escala mediana, 32
s e c u e r i c i a d o rd e l m i c r o p r o g r a m a , 4 6 4 - 6 8 I n t e g r a c i ó n a g r a n e s c a l a ,3 2
u n i d a , l p r o c e s a d o r a ,2 6 8 - 7 7 ,4 0 1 - 0 6 Integración en pequeña escala,32
u n i d a C p r o c e s a d o r ac e n t r a l , 4 6 8 - 7 1 , Interconexión de entrada y salida, 559-69
4 9 9 - i ; 0 3 ,5 2 8 - 3 0 Interconexión en serie,565
F u n c i o n e sM S I : Interconexión periférica, 562
acumulador,'106-17 Interconexión periférica en paralelo, 562
codificador, i77-80 I n t e r c o n e x i ó n p r o g r a m a b l e , 5 1 9 ,5 5 9
c o d i f i c a d o r d e P r i o r i d a d , 1 8 0 ,5 5 2 Interrupcrón,549
comparador de magnitrrd, 170-71 prioridad de la, 551
c o n t a d o r , J o h n s o n ,2 9 7 Interrupción vector, 550
c o n t a d o r e s ,2 8 2 - 9 2 Inverso, 37
decodificador, lTl-?2 Inversor, 39
d e m u l t i p l e x o r e s ,1 7 7 - 7 8
g e n e r a d o rd e a r r a s t r e p o s t e r i o r , 1 6 4 - 6 5 L e c t u r a , 3 0 l , 3 2 6 - 2 7 ,5 2 6 , 5 3 0
m e m o r i a d e a c c e s oa l e a t o r i o , 3 0 0 - 3 1 2 , Lectura de memoria, 304
554-55 Lectura destrt¡ctiva, 303
m e m o r i a d e s o l o l e c t u r a , 1 8 8 - 9 5 ,5 5 4 - 5 5 L e n g u á j e d e r e g i s t r o s ,3 1 8
multiplexor, 181-83 Ley asociativa, 36
r e g i s tr u , 2 6 5- ? o Ley conmutativa, 37
registro de desplazamiento, 399-401, Ley distributiva, 37
272-78 Libro de datos, 201-02
s e p a r a d o rd e b u s , 5 2 4 - 2 5 Lifo, 465
sümador BDC, 167-69 Literal, 97
sumador binario, 161-62 L ó g i c a a l a m b r a d a , 5 9 4 ,6 0 4
u n i d a d a r i t m é t i c a l ó g i c a , 3 9 2 - 9 3 ,3 9 3 - 9 4 Lógica binaria, 26-27
definición de, 27
Ganancia de corriente DC' 583 Lógica combinacional, 120
Garantía de bus, 570 c o n d e c o d i f i c a d o r e s ,1 7 6 - 7 7
Gene¡ador de paridad, 153 con MSIy LSI, 159
Cenerador de reloj, 478 con multiplexores, 184-85
con PLA, 198-201
Habilitación de interrupción, 551 con ROM, 190-93
Habilitación de memoria, 308 Lógica de diodos y transistor (uer DTL)
Habilitar (o activar), 177,182 Lógica de emisor acoplado (uer E CL )
HTL,508 L ó g i c a d e i n y e c c i ó n i n t e g r a d a ( ¿ ' e ¡I r L )
L ó g i c a d e r e g i s t r o s ,3 1 6
I,,,O AISLADO, L ó g i c a d e r e Á i s t e n c i ay t r a n s i s t o r ( u e r R T L )
I' L,62, 589 Lógica de transistor-transistor, (uer TTL)
compuerta básica de, 589 Lógica de umbral alto, 588
-1'

I
634 INDICE

Lógica negativa,64-66 Microprocesador(cont.)


simbolos gráficos, 66 conexiónde memoria,557-58
Lógica positiva, 64-66 instruccioned,S34-39
Lógica secuencial,208 organizacióndel, 528-30
'
configuración,270-72 secuenciamiento del, 531-34
de cont¡ol, 426 señalesde cont¡ol, 526-28
sistemadigital, 316 Microprocesadorde un grupode bits, 3?6-79
LSI, 32 Microprograma, 430,444,449
Microprogramasimbólico,444
Lleva final de reinicio, 14 Minuendo,6
Modo de empobrecimiento,605
M (uerPalabrá de memoria) Modo de enriquecimiento,605
Macrooperación,356 Modo de registro,540
Macrooperaciones lógicas,318-330 Modo inmediato,540
Manipulación algebraica,47-48 Modosde di¡eccionamiento,539
Mantisa,345 de páginace¡o,541
Mapa de direccionesde memoria,556 de páginapresente,541
Mapa de Karnaugh, 75 directo, 540
Mar,302 implicado,540
Margende ruido,69,581 indexado,543
Máscara,350 indirecto,543
MBR,302 inmediato, 540
Memoria: registrode, 540
accesoaleatorio,305 registrobase,543
accesosecuencial, 305 registroindirecto,549
circuito integrado,306-08 relativo,541
2 puertas,379 MOS.62.579
lectura solamente,188-95 compuertabásica,606-08
!i
núcleosmagnéticos, 308-312 MOS complementado (uer CMOS)
& pila de, 544 MSI,32
tafin,377 Multiplexor, 181
r+ tiempo de acceso,305 configuracióncon, 184-85
*, volátil, 305 Multiplexor digital, 181
* Memo¡ia de circuito integrado,306-08 M u l t i p l i c a c i ó n , 64, 5 2
.' Multiplicaciónbinaria,452
li Memo¡iade control,430
que sepuedeesc¡ibir, 430 Multiplicador,6, 453
Memoria de dospuertos,379-80 Multiplicando,6, 453
Memoriade núcieosmagnéticos, 303,308-312 Multiprocesador, 522,574
llf emoriade sólolectu¡a,188 MUX (uerMultiplexor)
con lógicacombinacional,190-94
en lógicade control, 430,443,469, 508 NAND.56-60-61
tabla de verdad.193 NOR,56-60
tipos de. 194-95 N O R e x c l u s i v o5. 6 - 5 9
Nfemoiiadei programa,520 Normalización.347
Memoriatapón.377 NOT,27
Memoriavolátil, 30s Notasde aplicación,
Métodoclásico,160 Númeropolarizado
Métodode McClusky-Quine,105 Númerosbinarios,4-6
Métododel mapa,75 complementode, 1
versionesalternas,113,114 complementode.2
Métododel tabulado,105 conversiónde,7-9
Microcomoutador, 521-24 Númerol decimales.4
Mic¡oinstiucción.430 conversióna binario,7-9
campode. ,1.15 complementode 9, 12
Microoperaci¡in.317 complementode 10,1l
aritméti.ta.327 Númeroshexadecimales, 5-6
desplazarpiento, 332 conversióna binario,10
lógica,330 Númerosoctales,6
trasferenciaentreregistros,319 conversióna binario,9
Microoperación aritmética,318-329 conversióna decimal,8-9
Microoperación de desplazamiento, 318, Operación,355
332 Operaciones de registro,498
aritmética,341 Operaciones lógicas,55-57 )
lógica,352 Operadorbinario,36
Macrooperaciones lógicas,318-330 Operadorde remplazo,320
Microprocesaclor, 526 oR,54
comnnicaciónI i O, 560-61 O R . A N D - I N V E R T I D O .9 8
tNDtcE 635

OR+¡cius:r':. i64i Registro base (conf. )


confrg;:ac:r:..1.1r3
É . . 1 : . c : o n e^- +
{ .i - i :
di¡eccionamiento del, 548 r i'' 1l I'
O r g a : r l z : c : o n c i em e m o r l a . ó 5 4
Registro canalizador. 4?0 j
O r g a n l z a c : o nd e l b u s . 3 i + Registro de almacenamiento, 300
Registro de condición. 396
O r g a n : z a c: o : , d e i c o n t r o l , 4 2 6 - 3 1 Registro de desp^la-zamiento(s h i ft er r, 374-7á
O r g a n r z a c : o n d e l p r o c e s a d o r ,B ? 3 orseno del. 3gg
Registrode desplazamiento (shifter register),
Página cero,5.ll 272
. Págrna presente,541 bidi¡eccional, 2?6-7g
Palabra.188,300
^ .concarga en paralelo,276_7g
P a l a b r a d e c o n t r o l , 4 0 1 .4 3 0 Hegistro de dirección. B0l
Palab¡a de memoria. SiF Registro de dirección de control, 442
Palabra lógica,352' Registro de direcciones de memória, g0¡. ¿g0
lógica negativa, 64-66 ¡(eglstro de instrucción, 359,491
lógica positiva, 64-66 íeglst¡o cle memoria, 800, 925
Pan!_alla de siete segmentos, 155 Registro de salida, .f{it -g2
Par Darlinston. Sgf Registro indice. b42
Par de registros. 529 Registro indirecto, bg8. bSg
Pastilla.3l Registro secuenciador.'427
Pastilla de hilera doble. g1
Pastilla de microcomputador, 5lg -- .ejemplo de control, 452_60
Keglstro separador de memoria. 903, 4g0
l'astllla plana, 31 Keg¡stro acumulador, 380, 480
Pastilla RAM, Sb4-55 diseño del. 406-17
P i l a . 4 6 5 .5 4 4 Registros de ent¡ada, 481-g2
Pila de memoria. 544 R e g r e s od e l a s u b r u t i n a , 5 4 6 - 4 9
Pila de registro.46b Reloi. 526
Pila inseriada, 467.549-46 Reloj'maestro, 2Og.478
PLA, 195 Representaciónde signo
Polaridad lóeica.65
Poner a cero.'52? R e q u i s i c i ó n d e . i n t ' e r r u p c i ó n .5 2 2 - b S O
ñequtslclon del bus. 570
Poner a uno el bit P. 34g R e s i s t e n c i a .5 8 1
Postulado. 36 R e t a r d o . d ep r o p a g a c i ó n , 6 8 , 5 g l
Postulados de Hunt ington, 3g Keverslon de hlstéresls.309
.l'restar. 127 Rom programable, 1g4
Primerós implicados, 105 Rom (uer Memoria de sólo lectura)
e s e n c i a l e s .l l 2 RTL,579
Prioridad del operador.43 compuerta básica de, 5g5
P ¡ o c e s a d o rd e d a t o s , 4 2 4
Producto de sumas. bS-86
Sac.ar de Ia pila, 468.544-46
Producto de términos máximo\, b3
Sallda en serie, 273
Producto normalizado. 50 Secuenciade tiempo. 2gb
Producto velocidad potencia, 591 S e c u e n c i ad e t i e m p o y c o n t r o l , 4 8 9 - g 0
P¡om. 194 secuenclado¡.466
arrastre,
162 Secuenciador del microprograma. 464
F*ll;r8:# S e g u l c t o rd e e m i s o r . 6 0 0
Puesta a cero, 210
Selección de memoria, 306
Pulsos de reloi, 20g S e l e c c i o nd e p a s t i l l a . 5 5 4
Punto fiio. 334 Selector de dátos, 18i
Punto flótante, 34b
normalizado, 347 lemiconductor de óxido de metal (uer MO S )
Señal binaria, 28-29
Punto radical, 334 Señal de alto nivel. 63. 580
Señal de bajo nivel, 63,580
Radical. b Señalde listo,531
R a í z b a s e ,5 S e ñ a l e s d e t i e m p o . 2 9 6 .4 9 I
Ralu, 376 Separadorde bus. 524-25
Ram.519 Signo complemento de 1. 335
R a m d e C I , 3 0 6 .5 b s Signo complemento de 2. 33b
R e c o n o c i m i e n t od e i n l e r r u p c i ó n . 5 2 7 ,5 5 0 _ 5 1 Signo complemento de g, 331
¡reoucclon oe estado.231
Signo complemento de 1ó,344
R e g i ó na c t i v a , 5 8 2
S i g n o m a g n i t u d , 4 3 2 - 4 1 .3 3 b
Región de satu¡ación. 5g3
S i s t e m ad i g i t a l . l - 2
Registro,23-24,266
S o b r e c a p a c i d a d ,3 3 9
^ .concarga en paralelo, 267 bit de condición. 396-97
K e g r s tr o a c u m u l a d o r . 3 8 0 - 4 9 0 Sondeo. 552
d i s e ñ od e l , 4 0 6 - 1 7
SSI,32
R e g i s t r o b a s e .5 4 3
Subrutina de llamado. b46-4g
636 INDICE

Suma aritmética, 335-3E Tipo de circuito integrado(cont.):'


Suma binaria, 336 74157 r82
Suma de productos,55-86
Ir
't
Suma de términos mínimos,51
Sumaen se¡ie.'278
74161
74175
74182
nr
267
165
Suma normalizada,S0 74194 276
Sumador, 745281 501
BDC,167 74283 161
binario, 160 8080,/95 528
complementode 2, 340 8X02 464
completo,125-27 82583 169
decimal, 166 825100 196
en serie.279 9408 4U
medio, 123-24
paralelo.161
signo magnitud,432-41 Toma de ciclo,5?0
SumadorBDC, 167-69 Trasferencia,56-57
Sumadorbinario. 161 Trasferenciade bus,392
Sumador'compleío;126 Trasferenciade memoria,325
Sumadordecimal, 166 TrasferenciaDMA, 559,5?1-74
Sumadormedio, 123 Trasferencia en paralelo, 26?-68
Sumadorparalelo, 160-61 Trasferenciaen ierie, 273
con arrastre poste¡ior, 1&5-66 Trasferencia entre registros, 24-26,.B1g
Sumadorsustractor,388-90,432-41 TrasferenciaI,/O directa, 563
Sumando,6 Trasfbrmaciónde código,'469, 5I I
Sust¡acción,6,387 Transisto¡,581
con sigrrocomplementode 2, caracteristicas,53l
con signomagnitud, ci¡cuito del, 582-85
Sustractor,l2? Transistor de juntura, 581
completo,128 Transistor M O S, 605-607
medio, 128 Transistor Schottky, 598
Sustractorcompleto,128 T¡asmisión asincrónica,567-68
Sust¡actol medio,128 Trasmisiónsincrónica,566
Sustraendo,6 Tri estado,599
"tTL,62,579,591
Tabla de estado.226 colectorabierto,592
Tabla
'fabla de estadode control, 499-461 Schottky, 70,597
'Iabla de excitación,237-39 serie1400,63
de verdad,27-28-43 normalizada,70,591
Tabla del programadel PLA, 198-2 tres estados,599
faDlerode clrcultosrmpresos,524 postetotémico, 600
I elermpreso¡a.481 TTL Schottky,70,592,598
TeletiDo.568
Tmrema de De Morgan.42-45-49
Término del producto. ' i96 UART,5O2
T é r m i n om á i i m o , 5 0 Un flip-flop por estad,o,427-29
T é r m i n om í n i m o , 5 0 ejemplo,439-41
Tiempode acceso, 305 Unidad a¡itméticalógica,(uerALU)
Tiempo de bit, 276 Unidad de control,503-512
Tipo de circuito inregrado: llnidad de memoria,300-306
10102 64 ejemplos,306-312
1010; 64 Unidad multiplicadora,452-460
2901 379 Unidadprocesadora, 401
2910 464 controlde,447
4002 64 Unidad procesadora central,372, 528
4002 64 Unipolar,581
4022 299
7400 64
7404 64 Varidble binaria,2T
7442 176 Variablede Boole,38
74i5 267 Variablede tiempo,358
7485 r7l VLSI,32
74185 205 Voltaje,582
7487 418 \¡oltajeumbral,605
7490 284
74138 174
;.1148 180 X O I t ( r ' e rO R - E x c l u s i v o )

También podría gustarte