Subido por Raul Eduardo Gonzalez

Arquitectura de Computadoras - Morris Mano

Anuncio
Contenido
lr
t
I
PREFACIO
v l
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
y octales 9
1-4
Númeroshexadecimales
-5
Comolementos I I
-6
Códigosb¡nar¡os | 6
Almacenamiento
de binariosy regislros 23
-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
z-l
2-2
2-3
2-4
2-5
2-6
2-8
Def¡n¡ciones
lógicas 36
del álgebrabooleana 38
Definiciónaxiomática
Teoremasbásicosy propiedadesdel álgebrade
Boole 4l
Funcionesbooleanas 45
Formascanónicay normalizada 49
Otrasoperacioneslógicas 55
Compuertaslógicas digitales 58
Familiasde circuitosintegradoslógicodigitales 62
Referencias 70
Problemas 7l
36
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
3-1
3-2
3-3
3-4
3-5
3-6
3-7
3-8
3-9
3 -1 0
3-11
3 -1 2
L O GI C A C O MB I N A C I O N A L
4-1
4-2
4-3
4-4
4-5
4-6
4-7
4-8
4-E
75
E l m é t o d od e l m a p a 7 5 ,
Mapas de dos y tres variables
7Sr/
M a p a d e c u a t r ov a r i a b l e s g O
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
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
E j e c u c i ó nc o n N A N D y N O R
Sg
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
C o n d i c i o n e sd e N O i m p o r t a
I 03
E f m é t o d od e l t a b u l a d o I O s
D e t e r m i n a c i ó nd e f o s p r i m e r o s
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
| ||
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
fntroducción | 20
P r o c e d i m i e n t od e d i s e ñ o
| 2l
Sumadores 123
Sustractores | 27
C o n v e r s i ó ne n t r e c ó d i g o s
l30
P r o c e d i m i e n t o d e a n á "i sf i s
| 3g
C i r c u i t o sN A N D d e m u f t i n i v e
l | 36
C i r c u i t o sN O R d e m u ¡ t ¡ n ¡ v á i
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
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
| 60
5-3
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
| 70
5-5
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 )
188
5-8
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 )
195
5-9
Notas concluyentes 20l
R e f er e n c i a s 2 0 2
Problemas 2O3
120
159
I
I
CONTENIDO
LOGICA
SECUENCIAL
6-1
6-2
6-3
6-4
6-5
6-6
6-7
6-8
6-9
8-4
8-5
8-6
8-7
8-8
8-9
8 -1 0
8-11
8 -1 2
265
lntroducción 265
Registros 266
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
C o n t a d o r e sd e r i z a d o 2 8 2
C o n t a d o r e ss i n c r ó n i c o s 2 8 6
S e c u e n c i ad
se tiempo 295
L a u n i d a dd e m e m o r i a 3 O O
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
8-1
8-2
8-3
208
fn t r o d u c c i ó n 2 0 8
F l i p - lf o p s 2 l O
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
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
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
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
P r o c e d i m i e n t od e d i s e ñ o 2 4 0
D i s e ñ od e c o n t a d o r e s 2 5 1
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
7-1
7-2
7-3
7-4
7-5
7-6
7-7
7-8
v
lntroducción 3 | 6
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
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
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
D a t o sb i n a r i o sd e l p u n t o f i j o 335
S o b r e c ap a c i d a d 3 3 I
Desplaza
m i e n t o sa r i t m é t i c o s 3 4 1
D a t o sd e c i m a l e s 3 4 3
D a t o sd e l p u n t o f l o t a n t e 3 4 5
D a t o sn o n u m é r i c o s 3 4 8
C ó d i g o sd e i n s t r u c c i ó n 3 5 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
316
--
V¡
9
CONTENIDO
D I S E Ñ OL O G I C OD E P R O C E S A D O R E S
9-1
9-2
9-3
9-4
9-5
9-6
9-7
9-8
9-9
9-10
10
1O-7
10-8
11
Introducción 372
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
U n i d a d l ó g i c aa r i t m é t i c a 3 8 2
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
D i s e ñ od e l c i r c u i t ol ó g i c o 3 9 O
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
Registro de condición 396
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
Unidadprocesadora 4Ol
D i s e ñ od e l a c u m u l a d o r 4 0 6
Referencias 417
Problemas 417
D I S E Ñ OD E L O G I C AD E C O N T R O L
1 O -1
1O-2
10-3
10-4
10-5
1O-6
Introducción 423
O r g a n i z a c i ó nd e l c o n t r o l 4 2 G
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
C o n t r o ld e m i c r o p r o g r a m a 4 4 1
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
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
C o n t r o ld e l P L A 4 6 1
S e c u e n c i a d od
r el microprograma 464
Referencias 471
Problemas 472
D I S E Ñ OD E C O M P U T A O O R E S
1 1 -1
11-2
11-3
11-4
11-5
11 - 6
11-7
11 - 8
372
Introducción 477
C o n f i g u r a c i ó nd e l s i s t e m a 4 7 8
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
Sincronización
de tiempo y control 4Sg
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
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
D i s e ñ od e l c o n t r o l 5 O 3
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
423
431
477
CONTENIDO
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
12-1
12-2
12-3
12-4
12-5
12-6
12-7
12-8
13
518
lntroducción 5l8
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
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
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
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
O r g a n i z a c i ó nd e l a m e m o r i a 5 5 4
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
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
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
13 - 1
13-2
13-3
13-4
13-5
13-6
13-7
13-8
vii
579
Introducción 579
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
C i r c u i t o sR T L y D T L 5 8 5
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
(TTL) 591
Lógica de transistor-transistor
(
E
C
L) 600
L ó g i c ad e e m i s o r a c o p l a d o
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
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 conceptos básicos usados en el diseño y análisis de los sistemas digitales e introduce 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 aplicaciones de diseño del sistema digital. Cubre todos los aspectos del sistema digital desde los circuitos de compuertas electrónicas hasta la estructura 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 verd 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 almacenada 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 internas 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 imporante para el diseñador lógico, familiarizarse con los diferentes componenviii
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 nueva 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 embargo, 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 representar información en componentesdigitales. El sistema de númerosbinarios se explica y se ilustran los códigosbinarios para demostrar la representació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 deducen las compuertasdigitales disponiblesen Ia forma de circuitos integrados 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 simplificar 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 sumarizan en forma de tabla para una referenciafácil.
Los procedimientosde diseño y análisis de los circuitos combinacionales 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 combinacional. A menudo se explican funcionestales como sumadorei paralelos,
decodificadoresy multiplexores, y se ilustra con ejemplossu uso en el diseño de circuitos combinacionales.La memoria de sólo lectura (RoM) y el
arreglo lógico programable(PLA) son introducidos y se demuestrasu utilidad 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 digital. Se definen símbolos para trasferencia entre registros, microoperaciones aritméticas, lógicas y de desplazamiento. Se cubren en detalle los diferentes tipos de datos almacenados en los registros de los computadores.
Se usan algunos ejemplos típicos para mostrar cómo se presentan las instrucciones de computador en forma binaria codificada y cómo las operaciones especificadas por instrucciones pueden ser expresadas con proposiciones 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 computadores digitales. Se discuten alternativas para organizar una unidad procesadora 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 componentes encontrados comúnmente en los procesadores, tales como registros 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 diagrama 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 circuitos 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 pequeño. Los registros en el computador son definidos y se especifica el conjunto de instrucciones del computador. La descripción del computador se
I
PREFACIO
xi
formaliza con las proposicionesde trasferencia entre registros que especifican 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 procesadora de datos del computador. Las funciones de control en la lista de proposiciones 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 modos de direccionamiento.La operaciónde una pila y el manipuleo de las
subrutinas e interrupciones,se cubre desdeel punto de vista de los materiales. 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 independiente. 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 courputadores 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 circuitos 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,basadoen los Capítulos3 y 7 hasta el 12. (3) Como una introducción a la configuració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 material presentadoen este libro. El método clásico ha sido predominanteen el
pasadopara describir las operacionesde los circuitos digitales. Con el advenimiento 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 construcció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 representación del sistema digital. La transición del método clásico al de trasferencia 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'uncional 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 sistema 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 digitales 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íficos, 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, procesamientos de datos comerciales y de negocios, control de tráfico aéreo, dirección espacial, campo educacionaly en muchas otras áreas' La propiedad más impactante de un computador es su generalidad.Puede seguir
una serie de instrucciones, llamadas programa, que operan con datos dados. 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, voltímetros digitales, contadores de frecuencia, máquinas calculadoras,y
rnáquinasteletipos. Típico de un sistema digital es su manejo de elementos discretos de información. Tales elementos discretos pueden ser impulsos eléctricos, Ios dígitos decimales,las letras de un alfabeto, las operacionesaritmé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 aplicació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 digitales está restringido al uso de señalesbinarias debido a la baja confiabilidad de los circuitos electrónicosde muchos valores. En otras palabras
puede ser diseñado un circuito con diez estadosque use un valor de voltaje discreto.para cada estado, pero que tenga pocq confiabilidad de operació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 componentesy 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 valores 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 inherente 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 (nombres), dígitos (salarios) y símbolosespecialestales como g. Por otra parte, un
científico investigador podrla observar un procesocontinuo pero anotar solamente cantidades específicasen forma tabular. El científico estará cuantificando sus datos continuos. Cada número en su tabla constituye un elemento 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 computador 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 proceso 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 significativamente 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 sistema 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 computadordigital manipula las variables en su forma natural.
Procesador
o unidad
aritmética
Almacenador
o unidad
de memoria
Dispositivos
de entrada
y control
Dispositivos
de salida
y control
digital
debloquede un computador
Figura l-1 Diagrama
Un diagrama de bloque del computador digital se muestra en Ia Figura.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 especificado por el programa. La unidad de control supervisa el flujo de información entre las diferentesunidades. Dicha unidad recupera las instrucciones una a una del programa acumulado en la memoria. Para cada
instrucción, ella informa al procesador a fin de ejecutar la operación específica de la instrucción. Tanto el programa como los datos se almacenan
en la memoria. La unidad de control supervisael programa de instrucciones, 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 computador digital que tiene como elemento de entrada el teclado y como elemento de salida una pantalla numérica. Las instrucciones son trasferibles 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
aparato más poderosoque
una calculadora; puede usar muchos.otros"disposiíivÁ
áe entraü y salida,
puede realizar nó solament"
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
de módulos digitales.
Para poder óomprender"¡" opl.""ioi
de cada má-"ü digital es necesario
tener lbs conocimientosbásicos de
los."rst"-*
áigül!, , a" su comportamiento. La primera mitad ae
este.ribro versa ,iúr" ,r.t"mas digitales
en general proporcionandolos conocimiento"
puru su diseño.,
La segundamitad del libro trata
"""".iio.-"oauto*
sob¡e ros direil.,tes
de un com_
putador digital' su operacióny
,u diseRo.r,m
operaciona_
les de la unidad de memoria só explican
en el "".""t"rísticas
T. La organización
y diseño de la unidad de proceso
.capíturo
.Jir"tu"
-en el capítulo g. varios métodos
para diseñar la unidad de cont¡ol
sslnrroduc; ;;;i'ó;píruro
10. La orga_
-ffi
'3
deun computa
dái
;ü
t;
r
r"ffi';#rueñosep.*.,iü
:i":f lr?,i,T
1T
un procesadorcombinado con la
unidad de control
nente llamado uní.dad.centrard" pri"ro
.formaun compoo cpu. ú" ciri-,
encapsuladoen
una pastilla de circuito integradá
,e de'o- i"; ;;;r;;ror"rodor. La
uni_
dad de memoria, de ra mism; i;;;q;;'i;ñ;';;"".'ltror,
la interco_
nexión entre el microprocesgao-f
io* elementosde éntrada y sarida,
puede
ser encapsulada dentio de ra pÁtiit"
a"f -i"i";;";;;il,
-de
o puede encon_
trarse en pastilras pequeñas
circuitos integrados. un cpu
combi_
nado con u'u -u.noiia y un
¿" i.,ter.o.r?¡ár,- ro.-".¿ un compu_
tador de tamaño nequeñóa"ro-in"a'o
"o"t.átm i c ro-c
ompui o-ii r'."
ru disponibi ridad
de los
aer -ic.o"o-ii,"r.ao"
h;
;;;;ñ"i"r,^"ao
"om'o.t"ttie"
t" tecnología
de diseño de los sistemas aigitái"i-permitiendo
al diseñador la libertad
de c¡ear estructuras que antes
eran antieconómicas.Los diferentes
ponentesde un sistema de
com_
microcomputador,r;;;;;;;i".,
.., el capítulo
Ya se ha mencionadoel hecho de que
un computadordigital manipula
elementosdiscretosde informa;i¿;;
que estos eÉmentos se p¡esentan
en
fo¡ma binaria. Los operando., .r.ldou
ros
ser expre_
sados en el sistema áe n.i*"io.-üI""rio..
.en
"¿r."l"r-p"eden
o;;-;;;;"íL.
aiscretos, in_
cluidos los dígitos_
r",u!.u.".rru'
con códigos binarios. Er
,deci*"1".,
procesamientode datos
se lleva a cabo por medio ¿e los
álementoslógicos
binarios, usando señales¡irra.ias.
iL- ca'tidades se acumulan en los
ele_
mentos de almacenamientobinario.
u.propo.itá"¿1".i.'.apítulo
es el de
introducir ros diferent_esconceptos
bi;uñr- ;;;;
^"*^" de referencia
;;".;
para un posterior estudio de los
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
a T unidades de mil, más 3 center,as,
;;"""nas, más 2 unidades.Las unida_
des de mil, las centenas,etc.,^sonpoJencias
de 10 implícitamente indica-
3r"g;,#rrosición
de roscoeficienies.
para .", ;á-;;;ctos, ?3e2puede
N U M E R O SB I N A R I O S
s E c .1 - 2
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 potencias de 10. El sislema binarío es un sistema numérico diferente. Los coeficientes del sistema de números binarios tienen dos valores posibles:
Ó y 1. cada coeficienteo, se multiplica por 2'. Por ejemplo, el equivalente 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 coeficientes multiplicados por potenciasde r:
en'rn + an-t'fn-l +
*a-t.
* az'r2+ at'r*
r-t + a-r' r-2 +'''
a¡
+ Q-^' r-^
Para distinguir los
Los coeficientes o, varían en valor entre 0 y r-1.
entre parénlos
coeficientes
se
encierran
números de bases- diferentes,
(con
en
excepción
la
usada
a
base
igual
suscrito
un
y
escribe
se
tesis
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
0 ', 7 ,'Es
2,3 y 4.
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,
-{
/
É
t
SISTEMAS EINARIOS
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 hexadecimalse listan en la Tabla 1-1.
Las operacionesaritméticas con números en base r siguen las mismas 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 irultiplicación de los nrlmerosbinarios:
sumando: l0l l0l
s u m a n d o :+ l 0 0 l l l
minuendo: l0l I0l multiplicando; l0l I
sustraendo:-l00lll multiplicador: xl0l
suma:
diferencia: 000110.
l0l0l00
l0l I
0000
l0l I
producto:
Tabla
1-1
ll0llt
Números con dife¡entes bases
Decimal
(base10)
Binario
(base2)
Octal
(base 8)
Hexadecimal
(base 16)
00
0l
02
03
M
05
06
07
08
09
l0
ll
t2
l3
t4
I5
0000
0001
00r0
00
0l
02
03
04
05
06
07
l0
ll
t2
0
I
2
00rr
0r00
0l0l
0ll0
0lll
1000
l00l
r0l0
l 0 lI
I 100
Il0l
lll0
lllt
IJ
l4
l5
ló
l7
J
4
5
6
7
8
9
A
B
C
D
E
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,
C O N V E R S I O NEENST R E
NUMEROD
S E B A S ED I F E R E N T E 7
S E C .1 - 3
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 minuendo. (Una lleva en el sistema decimal agrega 10 al dígito del minuendo). La multiplicación es muy simple. Los dígitos del multiplicador son
siempre 1 ó 0. Por tanto, los productos parciales son iguales al multiplicando o a 0.
ES
N T R EN U M É R O SD E B A S ED I F E R E N T E
1-3 CONVERSIONE
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 ejemplo:
(10,375)r0
( 1 0 1 0 , 0 1 l ) z : 2 3+ 2 t + 2 - 2 + 2 - 3 :
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 siguiente 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 conversió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 cociente 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 siguiente manera:
Cocíente
entero
residuo
T: ,O
I
,
,o"ürr!!:
do: I
+= ro
at=0
0
-l =
2-
az: 0
;:2
'\
+
I
2
4l:
\
id
?
i
SISTEMAS BINARIOS
CAP. 1
cocLente
entero
residuo
coefíciente
-2:
2
dq:0
_I :
2
ds:
I
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 conveniente, de Ia siguiente manera:
entero
4l
20
l0
5
?
I
0
residuo
I
0
0
I
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 suficiente precisión. Los coeficientes del número binario se obtienen
de los enteros de la sizuiente manera:
\
0,6875x2:
0,3750x2:
0 , 7 5 0 0 x2 :
0,5000x2:
,oolrr::!t,
entero
fr"::r"!
0,3750 ¿-r = I
+
I
0,7500 a-z=0
+
0
0,5000 a -t: I
+
I
0,0000 a _c: I
+
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 hastar-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 Ejemplos 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
u crrui.o dígitos binarios. La conversiónde binario a octal se
co"..esponde
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
2
6
I
5
'3
pgsgrg
J_11
7
4
0
), : (26153,7406)
r
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
I
I
t_J
/
2C
L__J
l__l
6B
I!
EI
)': (2C68,F2),u
F2
El dígito hexadecimal correspondiente para cada grupo de dígitos
bina'valores
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 procedimiento inverso al anterior._ cada dígito octal se convierte a un equivalente 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
J-l_L
E_L gE Eg Ig t
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
directamente 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
hexadecimalresy 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 comunicació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.
cuando 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.
COMPLEMENTOS I I
sEc. 1-5
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
O paraN:0' El
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
Ia situación:
mejor
comprender
a
ayudará
numérico
siguiente ejemplo
El complementode 10 de (52520)16es I05 -52520:47480.
El número de dígitosdel número es n:5.
es l-0,3267:0,6733.
El complementode 10 de (0,3267)1e
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 significativos inalterados, restando el primer número diferente de cero menos
significativo de 10 para luego sustraer el resto de dígitos más significativos 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
I
I
|2
S I S T E M A SB I N A R I O S
CAP. 1
El complemento de 9 de (52520)r0 es (tOt - I-52520):9999952520: 47479.
Como no hay parte fraccionaria,entonces10--:100
:1.
El complementode 9 de (0,3267),nes (1-tO-+ -0,3267):0,99990.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
:
0
1
0
0
1
1
.
101100)2
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 decimal 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 desprende 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 complemento 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 correspondiente 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 sustracció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.
I3
COMPLEMENTOS
sEc. 1-5
(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
72532- 3250.
I-5.' Usando el complemento de 10, sustraer
M =72532
N : 03250
72s32
+
complementode 10 de .lf : 96750
96750
lleva final -+ L/OgZgZ
respuesta: 69282
EJEMPLO
l-6.' Sustraer: (3250- 72532)rc.
03250
M: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:
N:
1010100
1000100
l0l0l00
-r
complementode 2 d e N : 0 1 1 1 1 0 0
lleva finul--- I
0llll00
0010000
respuesta: I00[lA
(b)
M:
N:
1000100
l0l0l00
1000100
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,
(b) (M+r, -N)(r,
siM)N,
siM(N
o
En el caso (a) la respuestaes positiva e igual a M - N, y se obtiene directamente 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 exactamente 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 calcularse de la siguientemanera:
1. Se agregael minuendoM al complementode (r-i) del sustraendo N.
2. Se inspeccionael resultado en el Paso 1 y la ..lleva" finai.
(a) Si apareceuna "lleva" final se agrega1al dígito menossignificativo (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 siguientesejemplosilustran este procedimiento:
EJEMPLO
plementosde
I-8.' Repetir los Ejemplos 1-5 y 1-6 usando com-
M :72532
N: 03250
complemento de 9 de N :96749
(a)
72532
+
96749
/-t@
lleva final de reinicio
respuesta: 69282
*
[__--',
69282
\
sEc.1-5
COMPLEMENTOS I5
(b)
M:03250
N :72532
complemento
de9 de N : 27467
ninguna lleva
03250
+
27467
___Jh07n
respuesta: - 69282: - (complementode 9 de 30717)
EJEMPLO
mento de 1.
I-9; Repetir el Ejemplo 1-7 usando el comple-
M: l0l0l00
N: 1000100
complemento de 1 d e 1 { : 0 l l l 0 l l
(a)
lleva final de reinicio
l0l0l00
0lll0ll
000llll
I
0010000
respuesta: 10000
(b)
M: 1000100
r/ : l0l0l00
complemento de 1 de N : 0 l 0 l 0 lI
ninguna lleva
r000100
0l0l0l I
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 desventajas 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 significativo 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."lleva" 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:
-r
I 100
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 computadoresse 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¡iente 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 muchos otros elementosdirectos de información. Cualquier elementodiscreto
de información específico entre un grupo de cantidades puede ser representado 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 siguientescornbinaciones 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. Algunas 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ódigo 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 codifican solamente diez dígitos, las seis combinacionesrestantesno se usan
ni seasignan.
Aunque el número mínimo de bits, necesariospara codifica¡ 2" cantidades 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 particular, 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 cuat¡o bits. Se puede obtene¡ numerosos códigos dife¡entes rearreglando
cuatro o más bits en diez combinacionesposibles.Varias de estas posibilidades se muestran en la Tabla 1-2.
Tabla l-2
Códigosbinarios para dígitos decimal€s
Digito
decimal
( B D C)
u2\
Excesoa 3
u.2-l
0
I
2
3
4
5
o
'l
0000
0001
0010
001I
0100
0l0l
0 tl 0
0lll
r000
t 00l
001I
0100.
0101
0 ll 0
0lll'
1000
l00l
l0lü
l0lI
I100
0000
0llt
0 ll 0
0l0l
0lm
l 0 lI
l0l0
l00t
r000
llll
8
9
(Biguinario)
5043210
0000
0001
0010
001I
0100
l 0 lI
I 100
I l0l
lll0
l l
010000
|
0100010
0100100
0101000
0l 10000
100000r
1000010
1000100
1001000
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+
1:6.
B1*_l:l,t:."ltg.
Ds posrDreasrgrar ca¡gas
ne,gativasa un código decimal, tal como
se
muestra.en el código 8, a,
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."
-o"t.ados
en la
tabla son el 2421y el b043210.U"
""-.gJ- ¡u usado
á""i_ái q,]""J"
en
al_
"Oaig,
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 .
jl-.'j"$":ir:jffi
o"",,lli,l"l"u'jff
J:'::"r",::T,"?,J:t'"""11r1':T
li":
datos, el usuario gusta dar los datos
j*i."i.
f;;;;
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"
cuatro ele'a""iaules
mentos de almacenamientobinario. Los n,i-".o.. ;;;;""..
se convrenen
cuando las operacionesaritméticas ." hr"un-lnt".numente
:..1i1*
con
numeros representadosen binario. Es posible
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,
."
"t y
da igual a 1100b1011
",rundo
dígitos
bina:j:ri:rl"_1^lirrio
rrus. or mrsmo nume¡o representadoalternamente
"on"i"t" en
"i, código BóC,
ocupa
paracada.digrrd
, 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
cuatro el g y los
ultrmos cuatro el 5.
. 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"
¡ir"
obtenidos
d-ela conversiónson dígitos binarios. L",
ú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
ha
*... ejemplo,
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;
;;;JrÁ-il.yo.".
que g, la
conversióny Ia codificación son completamente
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,
áecimal 13 con
BDC es 00010011.
"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
12, et BDC parece
- - _ el? "m¿is
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
?, ,,, "l B,¡,
autocomplementarios,esto es que el compremento
de 9 der núme¡o decimal
se obtiene fácilmente cambianáot"" .á.;;
;;
por más. Esta
;ñ;il
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 comprenderse 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. Cualquier 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 trasmisió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 pronunciado 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 convertir 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 puede ser encont¡ada en Ia Sección 4-9.
!¿
r
Tabla l-3
Generacióndel bit de paridad
(a) Mensaje
P (impar)
(b) Mensaje
P (pari
0000
0001
00r0
001I
0r00
0 1 0|
0 ll 0
0l
1000
l00l
l0l0
l 0 lI
I 100
1
0
0
0000
0001
0010
001I
0100
0l0l
0ll0
0lll
1000
t 00l
l0l0
l 0 lI
| 100
Il0l
nl0
0
1
I
0
I
0
0
l0l
I l0
l
I
0
I
I
0
0
I
I
0
I
0
0
I
ll
I
I
0
0
I
0
I
I
0
El código reflejado
Los sistemas digitales pueden ser diseñados para procesa¡ datos solamente 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
0000
0001
001I
0010
0ll0
0lll
0l0l
0100
l100
I l0l
llll
l 0
l0l0
l0l I
lml
1000
Equivalentedecimal
0
I
2
3
4
5
6
'l
8
9
l0
ll
t2
t4
t5
plo una compañía de seguros con millones de clientes pueden usar un
computador digital para procesarsus historias. Para representarel nombre 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 variaciones 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 trasmisión de info¡mación digital) dio lugar a códigosalfanumé¡icosde siete y
ocho bits. Uno de estos códigoses conocidocomo ASCII (American Standard Code fo¡ Information lnterchange: Códigonormalizadoamericanopara el intercambiode información)iot¡o es conocidocomo EBCDIC (Extended
BCD InterchangeCode: Código de intercámbioBDC aumentado).El código 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 mediante tarjetas perforadas,los ca¡acteresa-lfanuméricosusan un código bina¡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
C a r a c te ¡
B
C
D
E
F
G
H
I
J
K
L
M
N
o
P
a
R
s
T
U
X
Y
z
0
I
2
3
4
5
0
'l
8
9
espacio
(
+
$
)_
Códigointemo
6.bits
uoolgo
L odlgo
AS CII
?-bits
EBCDIC
8-birs
0t0 001
010 010
010 0
010 r00
0t 0 r 0 l
010 I l0
010 l
0lt 000
0l l 001
100 001
100 010
t00 0tI
100 100
100 l0l
100 I l0
100 Il I
l0l m0
t 0| 0 0 1
0 0r0
Il0 0ll
I l0 100
I l0 r0l
Il0 ll0
ll0 lll
llt 000
ll I 001
lm 0001
100 0010
100 001I
100 0100
100 0r0l
100 0l l0
1000lll
100 1000
r00 l00l
100 l0r0
100 101
|
t00 llm
100 I tol
100 Il t0
100 l l
r0r 0000
l0l 0001
l0l 0010
l 0 l 0 0 1I
l0l 0100
r0l 0l0l
I0l 0ll0
l0l 0lll
l0l l0ü)
t0 l l 0 0 l
l0l l0l0
000
000
000
000
000
000
000
000
001
00r
000
001
0r0
0l I
100
l0r
l r0
I Il
m0
001
l r0 000
0ll 011
I lt I00
010 000
I o t 0 lI
l0 t 100
0lI 100
100 000
I l0 001
ll I 0
001 0rl
I 100 0001
l 100 0010
I 100 001I
I 100 0100
r 100 0 1 0|
I 100 0 l t 0
I100 0 l
| 100 1000
l l m 1001
I l 0 l 0001
I l 0 l 0010
I l 0 l 00
I l 0 l 0100
I l0l 0l0l
l 1 0 l 0ll0
Il0l 0lll
I l 0 l t000
I l 0 l t 00l
l ll0 ml0
l I 0 001I
I l 0 0100
l r0 0l0l
l l 0 0 ll 0
Códisode taljeta
12-bits
t2,1
1))
1) 1
12,4
12.6
t2,7
12,8
t2,9
lt,t
11,2
I1,3
I t,4
I1,5
I 1,6
11,7
I1,8
I 1,9
lll0
lll0
lll0
0 r
r000
t 00l
o,2
0,3
0,4
0,5
0,6
0,1
0,8
0,9
0l I
0lt
0l l
0
0l I
0lI
0lI
0ll
0l I
0l I
0000 I I Il
0001 l l
0010 l l l l
001I Illl
0100 l l l t
0l0l
ll
0ll0
ll
0llt
llll
1000 r l ll
t00l
ll
0000
0001
0010
00ll
olm
0l0l
0ll0
0llt
1000
l00l
0
I
2
3
4
5
6
7
8
9
010
0t0
010
010
010
010
010
010
0t0
010
0lr
0000
I n0
1000
l o tI
0100
l0l0
r00l
l l0l
llll
l r00
Il0l
m00
l0l I
I l0r
| I l0
lot I
I100
Il0l
0000
0001
l0
lll0
no perforado
t2.8,3
12,8,5
12,8,6
I1,8,3
I1,8,4
I1,8.5
0100
0100
0100
0100
0l0t
0r0|
0t0l
0l l0
0l r0
0l l0
0l
ll
0,1
0,8,3
8,6
T
A L M A C E N A M I E N TD
OE E I N A R I O SY R E G I S f R O S 2 3
SEC ]7
perforadosen las columnas adecuadas.Un hueco se sensacomo 1ó su ausencia 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 perforació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 continuación:
100001rml l0 0l l0@ r00l0l l10000010100l00ll0 0l0l0l
1.7
espacio D
N
JOH
OE
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 informació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 entrada 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:
0 0 0 0 I
I
I
0 0
0 0 I
I
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 binario, 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 combinaciones 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 interp¡eta el contenido del registro como cuat¡o dígitos decimales repr€sentados 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 representa 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 memoria (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 registro 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 ent¡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 menos 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 caracter 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 reji.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 binaria, 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 convenientemente 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 unidad 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 unidad de procesomóstrada, consiste en tres registros,R1, R2 y R3 conjuntamente 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 regist¡os de memoria almacenan información y están incapacitadospara procesar 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
suma binaria
01001000 r l
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 registro R3 puedeser trasladado a los registrosde memoria.
Los últimos dos ejemplos demuestranla capacidaddel flujo de informació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 correspondiente capacidad de manipulación. El tema de los registros y las operaciones 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 variables asumen pueden llamarse de diferentes maneras (por ejemplo, uerdadero 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
ó xy:z leído "x y y es igual
de un operador.Por ejemplo,Í'!:z
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
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 ,
¡:f
entoncee
s :0.
operación se representapor un apóstrofe (algunas veces
Esta
3. NOT:
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 ent 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_sumarespectivamente. 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 variable aritmética designaun número que puede consistir en muchos dígitos 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
0
0
I
0
0
0
l
I
x y
00
0l
l0
ll
0
I
I
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".
en
pares. El resultadode la operaciónde cada
"rráláose lista
"o*binan
en una coseparada.Las tabrai de verdad d" Áñó,
"o-¡i"ácián
llrlu
oii;"ñóT
se listan en la
Estas tabras demuestranclaramentelas definiciones
de lps ope::?jlj:t
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 demuestra 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 elemento activo tal como un transistor conduciendo
(interripto,
o en
"...uao)
Fuente
de voltaje
Fuente
de voltaje
(a) Inte¡ruptoresen se¡ie- AND lóeica
Figura
28
L
l-4
(b) Interruptoresen paralelo- OR lósico
ci¡cuitos de interrupción que demuestran la lógica
binaria
f
Voltios
Tolerancia
permitida para
la lógica 1
Lógica l nominal
La transiciónocur¡e
entre estosIímites
Tolerancia
permitida para
la lógica0
Lógica 0 nominal
-0,5
Figura
l-5
Ejemplo de señalesbina¡ias
corte (interruptor abierto). En vez de cambiar manualmente el interruptor el circuito de interrupción electrónico usa señalesbinarias para controlar el estado de conducción o no conducción del elemento activo. Las
señaleseléctricas tales como voltajes o corrientesexisten por todo el sistema 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 específicas.
Compuertaslógicas
Los circuitos digitales electrónicosse llaman circuitos lógicosya que con
las entradas adecuadasestablecen caminos de manipuleo lógico. Cualquier 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
dosentradas
(b) CompuertaOR de
dos entradas
a---.fA
BcL)-
F - ABC ,$
G: A* B -¡c + D
Bjf
(d) CompuertaAND de
tres ent¡adas
Figura
(c) CompuertaNOT
o inversor
(e) CompuertaOR de
cuatro entradas
Símbolos para los circuitos lógicos
l-6
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óndiciones de las entradas lógicas. Nótese que se han usado cuatro nombres 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 denominaalgunasvecescomocjrcuito 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-? conjuntamente 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 produce una señal de lógica 0 si cualquier entrada es de lógica 0. La compüerta 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
_v
o,
ofTlo
o
o.f--Tl o
AND: ;r . y
OR:¡*y
NOT: ¡'
Figura
30
l-7
o
o
fr
W
señales de entrada-salida para las compuertas (a), (b) y (c) de la Figura l-6
I N T E G R A D O S3 I
CIRCUITOS
1-9
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.
:,ara
',,s describir
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 semiconjuct'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 circuito integrado. Los circuitos integrados difieren de otros circuitos elecde elementosdiscretos en que los componentesindit¡ónicos compuestos
-CI
no pueden ser separadoso desconectadosy que el circuito
viduales del
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 pastillas 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 microprocesador 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 ventajas y beneficios comparados con los circuitos electrónicos con componentes 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 sistemasdigitales 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éndolos 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 internamente 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"doseñáles binar'ias y se hacen de compuertas digitales interconictadas. Aquí se tratará 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 considerablemente.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 integración pequeña (ssD.* Para poder calificar como un elemento de integración mediana (MSI)* el circuito integrado debe cumplir una función
lógica c-ompletay tener una complejidad de 10 a 100 compuertas. un elemento-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"rtas 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 conjtrucció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 ent¡adas externas o salidas pero nunca a las entradas o salidas de las compuertas 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.: PrenticeHall, 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,
1.
Capítulo
19?3,
Prentice-Hall. Inc.,
PROBLEMAS
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.
(c) (367)' v (715)a
( a ) ( 1 2 3 0 ) +Y ( 2 3 ) ¿
(
d ) ( 2 9 6 ) t zY ( 5 7 ) t z
( b ) ( 1 3 5 , 4 ) 6v ( 4 3 , 2 ) o
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:
1-1.
(a)
(b)
(c)
(d)
El
El
El
El
decimal 225,225a binario, octal y hexadecimal'
a decimal, octal y hexadecimal'
binario 11010111,110
octal 623,77a decimal, binario y hexadecimal'
hexadecimalzAC5,D a decimal, octal y binario'
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.
l-7.
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 sustracció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úmerosdecimales, determine_todaslas tablas posibles de tal manera que el complemento 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ígitos 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 binario 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" posició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
significa su conl-24. El estadode un registrode 12 celdases 010110010111.¿Qué
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 operadores, 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 elementos, 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 operadorbinario 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
D E F I N I C I O NLEOSG I C A S3 7
sEc.2-1
(x*Y)+z : ¡*(Y*z)
Paratoda x,Y, z €S
3. Ley conmutatiDo. Se dice que un operador binario * en un conjunto 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
propiedad:
la
si existe un elemento e € S con
e*x:
x*e:
paratodax€S
x
Ejemplo: El elemento 0 es un elemento de identidad con respecto
,-3, -2, -7,
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
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 identidad 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 elem 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 opeiadó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.
define la división, es decir, a.l/a
El inverso multiplicativo de 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ílgebra 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 demostró que las propiedades de los circuitos de conmutación eléctricas biestables 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.
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 comp l e m e n t od e ¡ ) t a l q u e : ( a ) x + x ' : 1
V ft) x.x':0.
(b) *
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 ordinaria (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 deducirse (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 constituyen 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 familiarizadas con el álgebra ordinaria. Aunque no se puede usar algunos conocimientos derivadós del álgebra ordinaria para tratar con álgebra de Boole,
el principiante debe ser muy cuidadoso de no sustituir las reglas del álgebra 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
que las variables tales como a, b, c, etc., usadas en el álgebra
-i.ni.ur
ordinaria son símbolos que se establecen para los números reales. Similarmente 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 representen 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 operadores, satisfaga los seis postulados de Huntington.
Se pueden formular muchas álgebras de Boole dependiendo de la escogencia 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 aplicaciones 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 elede Ia
mentos B: I 0, 1f , con reglas para los operadores binarios * y
(La
regla
operador.
de
manera como se muestra en las siguientes tablas
postulado
5):
para
del
verificación
para el operador complemento es
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 demosoVer por
ejemplo, Hohn (6) Whitesitt
(7), o Birkhoff y Bartee (4)
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
I
0
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 result 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
(b)l.l:l
0+l:l*0=l
l'0:0'l:0
lo cual establecelos dos elementosde identidad 0 para f
de la manera como se definen en el postulado2.
y 1 para .
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 dernostrarse 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 demostrar que esevalor es el mismo que (¡.y) + (x.z).
rYz
000
001
010
0l
I
100
l0l
ll0
lll
y+z
x'(y + z)
x'y
x'z
(x.y) + (x. z)
0
I
I
I
0
I
I
I
0
0
0
0
0
0
0
0
0
0
0
I
I
0
0
0
0
0
0
0
l
I
I
I
I
l
U
0
0
I
0
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.
\
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 conjunto 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 equivalente al operador NOT. Así, el álgebra de Boole ha sido definida de una manera 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 "álgebra 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ógica binaria" en la Sección 1-8. De aquí en adelante se omitirá el adjetivo bivalente 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 principio 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
l
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 familiarizarse con ellas tan pronto como pueda. Tanto los teoremascomo los postulados se listan en paresy cada relación es dual con la que está apareada.
Los postuladosson axiomas básicos de la extructura algebraicay no necesitan prueba. Los teoremas deben probarsea partir de los postulados.
Las pruebas de los teoremas con una variable se presentan a continuación. En la parte derecha se lista el número del postulado que justifica
cada paso de la prueba.
i
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' * /'
O)
Teorema 6, absorción
(a) x + A : x
(b) x(r + y): x
TEOREMA l(a): ¡ * x: x.
x+x:(x*x).1
: (x + x)(-r * x,)
:x*xx,
:x*0
-x
TEOREMA l(b): ¡. r:
del postulado:2(b)
5(a)
4(b)
5(b)
2(a)
.,r.
x-x:xx*0
:xx+xx'
: x(x * x')
: x. l
:x
del postulado:2(a)
50)
4{a)
5(a)
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)
: (x + x')(x + l)
:x*x'.1
: x'* x'
:l
TEOREMA 2(b): ¡.0:
del postulado:2(b)
5(a)
(b)
2(b)
5(a)
0 por dualidad.
TEOREMA 3. (Í )' : x.. Del postulado5, se tiene ¡
I x, : I y x. x,
:0, io cual define el complementóde r.
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 :
:
:
:
-
del Postulado2(b)
del Postulado4(a)
del Postulado3(a)
del teorema2(a)
del postulado 2(b)
x' I I xY
x(l * y)
x(Y + l)
x. I
x
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 comprueban para arrojar resultados idénticos para todas las combinaciones
posibles áe los variables integrantes. La siguiente tabla de verdad verifica el primer teorema de absorción.
xy
0
0
I
I
0
I
0
I
x+ xy
0
0
0
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)'
I
0
0
0
x'y
I
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 expresiones déntro de un paréntesis deben ser evalUadasantes de otras operaciones. 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
CAP. 2
LOGICAS
A L G E B R AD E B O O L EY C O M P U E R T A S
(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 complemento) 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ómese por ejemplo el círculo designado r. Si estamos dentro del círculo, se
Ahora bien,
y cuando estamos fuera de él se dice que r:0.
dice que ¡:1
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
La Figura 2-3 ilustra la ley distributiva
círculo r y por tanto ¡*¡-r':.r.
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
Figura
2-1
2-2
Diagrama de Venn de dos variables
liustración del diagrama de Venn x:
ry + r
.r r--->l'--\
f f a \ t+\
I
.\
1
:li;tl
l:,
I
\ #\FZ\{
\./
\\l
_/-
.¡ (.r' ¡)
Figura2-3IlustracióndeldiagramadeVennparalaleydistributiva
intersección entre el círculo f
área que pertenece a x)' o rz'
2-4
con el área que contiene y ó 2 es la misma
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
OR y
binarios
operadores
dos
formada cán variables binarias,
de
dado
valor
un
Para
igual'
ysigno
".p.ñ¿"
el
paréntesis
-Consid¿resé
AÑD, el operadorNOT, el
de
la
función
por
ejemplo
1.
ó
p-t"á"'t"t
0
.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
exuna
como
representada
Boole
de
función
una
es
Et e;emplo anterio'r
por
mep.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
column^a
unabinarias
n
variables
las
y
ceros de
combinacionesde r.ro,
a 1 ó 0'
igual
es
la
función
cuales
para
las
-á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.
!, y -- I
x:
cuando
1
solamente
a
mlestra que la función i, es igual
F' :0' (Nóteseque la afirmación
i ):0. Para cualquierotra'combilnación
:
Considéresela siguiente función:
que
0.)
z
decir
:1
a
es equivalenie
z'
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 ,
combinaciónse
última
y
191'La
001
en las filas
mas cuatro filas y ít:Ot
para
hacer Fr:1.
óombinaciones
cinco
hay
u¡i"u también páíu-r: i. A"i,
función:
la
considérese
io-o tercer ejemplo,
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.
a
continuación:
y
considera
se
que
F3
mismo
45
Tabla
2-2
Tablas de verdad para F, :
ry2,, Fz: x * y,z,
x'y,z * x,yz * A,, !
Fa: ry,+ x,z
Ft:
Fl
000
001
010
0ll
100
r0l
ll0
lll
F2
00
0l
00
00
0l
0l
ll
0l
F3
F4
00
ll
00
00
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
de unos y ceros se
pueden obtener fácilmente para cada fila
de los n,imerosbi.rario. contando 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:
e"f.esio' algebraica
íHuv
única para una función de Boole^dáa? n"
""upulutrur,
¿Es posibre
encontrar dos expresionesalgebraicaspara especificar
"t.",
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 ambastienen 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 algebraica a.un diagrama lógico óompuestoa"
oR y NoT. La
realización de las cuatro funciónes introducidas
"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
de complemento. (El
ll-I:::"r
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-obtenerfunciones 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)
(b)
Fr - ,xr-¿
.
F3 :x'Y'2. +.r'-): ir)'
(c)
(d)
Figura
F2
2-4
F4 -
xr'*
'r'z
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
compuertay cada término seentrada u
il."";
""du def ,rúmeó de literales y el número de tér";á La minimi zación
compuerta.
menos componentes'No es
minos dará como ," ,rltu¿o un circuito con
tieunl¡o, simultáneamente.Por lo regular se
siempre posible *i";;i;;;
el criterio de
limitará
se
momento
el
Por
nen disponiblesotros.'it"'io''
de literales. Posteriormentese discutiminimización a la -l"iÁir".ión
5. EI número de literales en una función
rán otros criterios
""'.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 familiaiescon 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
de una función
puede derivarse algehraicamentedel teorema
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)'
: A,X,
= A' .(B + C)'
: A, . (8,C,)
= A'B'C'
hágaseB+ C: X
del teorema5(a) (De Morgan)
sustitúyaseB+ C: X
del teorema5(a) (De Morgan)
del teorema4(b) (asociativo)
Los teoremas de De- Morgan para cualquier número
de variables se parecen al caso de las dos.variabiesy pu"d"rr,a.ri*i."
por Justitucionessucesivas similares al método usadó én la dórivaci¿n
tiecha anteriormente.
Estos teo¡emas pueden generalizarsede la siguiente
;;;;",
\
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
sEc.2-5
+F)':A'B'C'D'-".F'
(A+B +C+ D+'''
:
+
B
' + C' + D' + "' +F'
(ABCD''' F)' A'
La forma generalizada del teorema de De Morgan expresa que el comp_lemento de una función se obtiene intercambiandolos operadoresAND y OR
y complementandocada literal.
EJDMPLO 2-2: Encuéntrese el complemento de las funciones F1 : x'yz' + x'y'z Y Fz: x(y'z' *yz\' Aplicandoel teoremade
De Morgan tantas veces como sea necesariose obtienen los complementosde la siguientemanera:
Fi : (x'yz' * x'y'z)' : (x'yz')'(x'y'r)' : (x + y' + z)(x + y + z')
y z ) ) ' = x ' + ( y ' t ' + y z ) ': x ' + ( y ' z ' ) ' ' ( y z ) '
Fi:lx(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 literal. 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 ) .
cadaliteral: r' + (y ¡ z)(l' t z') : Fí'
Complemenlando
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 combinadas con la operación AND; como cada variable puede aparecerde cualquier 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érrninos 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
x Y z
00
00
0l
0l
l0
l0
ll
ll
0
I
0
I
0
I
0
I
Término
x'y'z'
x'yz'
Designación
mo
ml
m2
l7l3
xy'z'
m,
m5
m6
xyz
tlt7
Términosmáximos
Término
Designación
x+y+z
x+y+z'
x+y'+z
x+y'+z'
x'+y+z
x'+y+z'
x'+y'+z
x'+y'+z
Mo
Ml
M2
M3
M4
Ms
M6
M1
la Tabla 2-3 para tres variables.Los númerosbinariosde
0 a z^ -r se listan 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
cada
variable tildada o no tildada, darán 2" combinacionesposibles
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
"uáu
i¡- üIi".
.el.correspondientebit es 0 y tildada .i ;; "o.,
;;" cada término
máximo es el complementode su cor¡espondiente
términá mínimo y viceversa.
una función de
-Boole puede ser expresadaargebraicamentea partir
de una tabla de verdad
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 ¿"
mínimos
resultaen /, : 1, se tiene:
".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
'Algunos
mui m,
textos definen un término máximo (maxterms) como un término
oR de n variables 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érmino máximo y término minimo.
50
2-4
Tabla
xy
z
Funciones de tres variables
Funciónft
Función/2
0
I
0
0
I
0
0
I
0
0
0
I
0
0 0 0'
t
00
010.
I
0l
100
101
I l0
lll
i
I
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érminos).
Cánsidéreseahora el complementode una función de Boole. Este puede 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 álgebra de Boole: cualquier función de Boole puede expresarsecomo un producto 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
funció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¡iables 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érminos 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
siguiente 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-
FORMAS CANONICAY NORMALIZADA 53
s E c .2 - 5
mos de la función. Las letras entre paréntesisa continuación de la F forman 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 convié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 aparezcan 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 siguiente 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
II
I
t
I
I
I
i
i
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)
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¡
Esto es, el término máximo con suscrito j es un complemento
de un término mínimo con el mismo suscritoj y vióeversa.
, El último ejemplo demuestra Ia óonversiónent¡e una función expresada como una suma de términos mínimos a su equivalente
como producto de términos máximos. con- un. arg'umentosimilar se
mostrará que la
conversiónentre el producto de términos máximos y
ü **"
de los tér_
minos mínimos es similar. Se estableceahora
pro""¿imiento de conversión general. Para hacer la conversión de "" rir-"
lanónica a otra,
intercámbieselos símboros
v II y lístese""u
que fal_
I
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.
máximos es
-función.
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 variables complementadaso no.
otra forma de expresar ras funciones de Boole es la forma
normarizado. En esta configuraiión, los términos que forman la
función deben con_
I
s E C .2 - 6
LOGICAS 55
OTRAS OPERACIONES
Hay dos tipos de formas
tener uno, dos o cualquier número de literales'
de sumas'
producto
y
el
productos
,roitnufir"¿as: la suma de
que contiene térmiBoole
de
expresión
una
es
prod,ucto's
La suma de
o más literales cada uno' La
nos AND llamados t¿rÁi"ot producto.de uno
estostérminos. un ejemplo
de
denota la apti"áciá" ¿"'ru función oR
sun-¿a
es:
productos
de
suma
á. tr.tu función eipresada en
Ft: !' * xy * x'Yz'
uno' dos y tres literales
Esta expresión tiene tres términos producto de
operación oR'
una
efecto
en
es
respectivamente'Su suma
;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érmii"io. Cada término puede tener cualquier
nos OR, llamados tirÁ¡'iát
,Át
áenota la aplicació1 de 11 función AND a
;;;á;;;;
mero de literales.
de una expresión en producto de sumas es:
ttt-inos. Un
"j.-pto
".to*
Fz: x(Y'+ z)(x'* Y * z'* w)
y cuatro literales cada
La expresióntiene tres términos suma de uno, dos
palabrasproducto y
las
de
uso
El
uno. El producto
p-roducto
"pltación-AND.
d;id" ; la simi¡t,ud de la operación AND y el
sutna se establece"r'"ü
la suma
con
OR
áiitÁ¿t]"" (multipl'iácián) y la similitud de lá operación
aritmética (adición).
UnafuncióndeBoolepuedeSerexpresadaenunaformanonormalizada.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
parentesis:
quitar
el
para
la ley distributiva
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
y
x'y
de
!+y'respectivamente'
t y y, ellas iorman las funciones Poole
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"l'
p.ri""t"
las funciones AND y OR son solamente dos del total de
instrucmuy
Sería
primarias.
do, variables
;ilr";; posibles for-udu.
"o.,
sus,propiedades'
investigar
e
funciones
14
tivo encontrar las otras
i;t- i6 f,r.t"iott"s"formadásóon dos variables
Las tablas d"
;;
";;á;d
la Tabla 2-5. En esta tabla, cada una de las 16
binarias x y !,." ri.f""
po""
una tabla de verdad de una función
columnas Fo a F,r-i"prr.."tan
se
las funciones desible para las dos u"rüb1"" dadas x y y'Nótese.que
pueden ser asigque
terminan a partir d; l;. 16 combinaóiott". binarias,
operador'
símbolo
un
nadas a F. Algunas de las funcionesse muestran con
y
represenFt
AND
para
una
verdad
pói ej"-plo, F, .upr*enta la tabla de
I
Tabla 2-5
Y
Fo Ft
v
00
0l
l0
ll
Símbolo
operador
0
0
0
0
0
0
0
I
Tablas de verdad para las 16 funciones
de dos variables binarias
F2
F3
F4
F5
F6
F7
Fs Fs Fto
F,,
F,z F,¡
Ft.
F,,
0
0
I
0
0
0
I
I
0
t
0
0
0
I
0
I
0
I
I
0
0
I
I
I
I
0
0
0
I
0
I
I
I
I
0
0
I
I
0
I
I
I
I
0
I
I
I
I
o
+
ú
f
I
I
0
0
I
I
0
I
0
c
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 expresadas algebraicamente.pormedio
"*ude expresio.ru.
a"- go;lJ]'n.to se puede
ver en la primera columna ae la
rabiá 2-6. Las expresionesde Boole
lis_
tadas están simplificada.
-i"iÁJ".r?,...o
de rite¡ares.
"t
Aunque cada función puede
.",
en t¿rminou de ros operadores de Boole AND, oR v ñot,
"rp""."dapara
no poder asignar símboros
operadores especiales para expresa¡
";-itü;;"ón
las otras funciones. Tales símbolos
operadoresse listan
t" ."guiráu
¿" r" i"¡l"l_0.
si., embargo,
"rt
"ol-ürru
Tabla 2-G Expresionesde Boole para
16 funciones de dos variables
Funcionesde Boole
Fo:0
Ft=x!
Fz = xy'
Ft: *
F¿ = x'Y
Fs: /
F6= xy'+ x'y
F 1: x I y
Fr: (x + y)'
Fg= xy * x'y'
Frc: /'
Ftt=x1y,
F,, : ,,
Fn:x'*y
Ftq: (ry)'
4s=l
Símbolo
operador
x.y
x/v
y/,
x@y
x+y
xIv
xoy
v'
x Cl
x'
x)l
xlv
Nombre
Nulo
AND
Inhibición
Trasferencia
Inhibición
Trasferencia
OR-exclusiva
OR
NOR
Equivalencia*
Complemento
Implicación
Complemento
Implicación
NAND
Identidad
*Equiualenciaesconocidatambiéncomoigualdad,Ñ.
56
Comentarios
Constantebinaria 0
ryy
r pero noy
x
y pefo no ¡
v
r óy perono ambas
xóy
No-OR
r igual ay
Noy
Siy entonces.r
No¡
Si r entoncesy
No-AND
Constantebinaria 1
sEc.2-6
LOGICAS 57
OTRAS OPERACIONES
oRtodos los símbolos nuevosimostrados, con excepción d9J símbolo de la
digitales'
los.diseñadores
parte
de
por
exclusiva O, no.ott á. uso común
su corresponCada una de las funcionesen la Tabla 2-6 se lista con
simple. Las
forma
de
función
su
que
explica
diente nombre V .ot"""l"tio
listadas pueden subdividirse en tres categoias:
io n
""io""s
1. Dos funcionesque producen una constante0 ó 1'
y tras2. Cuatro funciones con operacionesunarias de complemento
ferencia.
3. Diez funciones con operadoresbinarios que definen ocho operaciones 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 complementoprobinaria 'complemenio
de cada una de las variables. A Ia función que es
á"."
y.a
"f
rg";l ; lá váriable de entrada se le ha dado el nombre de trasferencia
formanla
que
de
compuertas
a
través
y
es
trasferida_
d"" t" variable x ó
(inhidos
binarios,
operadores
ocho
los
De
valor.
su
cambiar
sin
flnción
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
variables
dos
las
que
es
l,cuando
función
una
es
igo"l u 1. La equivalencia
es'decir, cuando ambas son cero o ambas son 1. La OR-exclu.;;ig""I..,
la ¡"nción de equivalencia son complelrentarias entre sí. Esto puede
;i;;;
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 funPor está razón la función de equivalencia
iio.r", se complementan
"i. es decir oR-exclusiva NOT.
"ti.ó
NoR-exclusiva,
menudo
a
llama
-se
ñ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€radores 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 )'
del
en
términos
y
NOT
por ejemplo, para posteriormentl definir AND, OR
álgebra
el
para
introducir
razones
ob.t"trt", estas son buenas
iti-üto.'Nó
y "lo-t"
de BOOIede la fOrma que se ha hecho. LOs Conceptos"a.nd", "or"
49"lógicalr
ideas
para
expres_ar
a
día
día
genie
los
usa
y
la
son familiares
álgebra
del
doble
naturaleza
la
reflejan
Huntington
postuiadosie
lo.
;Á,
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 operaciones lógicas es de interés práctico. Los factoresque van a ser valorizados 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ógicas. 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 normalizadas;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 designada 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 amplificació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 indica 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 transistores y ademásporque las funciones de Boole pueden llevarse a cabo fácilmente 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 oRexclusiva de la manera como indica un pequeñocírculo áel lado de la salida
del símbolo gráfico.
58
Nombre
AND
OR
Función
algebraica
Símbolo
gráfico
x-----ñ
|
v -------l-/
i--1-\
F:x*v
'
0
0
0
I
00
0l
l0
ll
F:x./
)-F
Tabla de
verdad
0'|
0
I
'l F
.Inversor " ->Separador
F
0lt
F:x',
ll0
' --)-.
F:x
x-----ñ.
NAND
I
)'-----l-/
F_-F
F:(xy)'
NOR
¡ =-ñ.
I
, -----1-/
>--F
F:(x+y)'
oR-exclusiv¿
x --\1]-
(xoR)
v-+l-/
x
NoR-exclusiva
Jf\_.
o
y---lLJ-
F
F:
ry' I x'/
:x@Y
00
0l
l0
ll
I
0
0
0
00
0l
l0
ll
0
I
I
0
ri
'
F : ry + x'y'
:xoy
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
"o-puárü
si la operaci¿n
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
y
(x + y) * z:
conmutativo
, + (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
compuertaspueden expandirse para más de dos entradas si se tiene en
cuenta que la operació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
se debe
tener en cuenta el co¡recto rso del paréntesis pu." i-piitrr
""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
(xtry)l,z+ x(y!z)
del operador NO_O;
I
'____ñ.
I ___z -----l-./
x--ñ
I --{
z ---L_./
(.r r r, *:)
)o_
(a) CompuertaNOR de tres entradas
(.r.r'z)'
p-
(b) CompuertaNAND de tres entradas
A
B
C
-F = |(ABC)' ' (DE)'l' ABC + DE
(c) Compuertas NAND en cascada
Figura
2-7
Compuertas NOR en cascada y de multi-entrada
y compuertas NAND
debeescribircuito 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 muesLa segundaexpresión se obtiene del teorema de De Morgan'
por medio
productos
de
suma
en
expresión
una
,"ilii^,
tru q.,1 se puede
las compuertas
de co*prrertas NAND. Posteriormente se tratará sobre
y
4-8'
3-6,4-7
Secciones
las
en
NOn
NAND v
conmutaLas compuertasQR-exclusiva y de equivalencia-son ambas
Sin
entradas'
dos
de
a
más
tivas y asociativ". y' prr-aen extánderse
comunes
son
no
multientrada
de
las compuett"i OR-"*clusiva
"-¡urÉo
de-ior ciicuitos. En efecto, aun una función de
desde el punt' O"
"i.ü
.r..rut*ente con otro tipo de compuertas' Así'
-íunciones
dos entrad". ,"
"orr"i.rry"
debe modificarse cuando se expande a
la definició., a"
""iu.
decir, es igual
más de dos variables.La función oR-exclusiva es impar, es
impar de unos' La funa 1 si las variabler-d" á"1."¿a tienen un número
vaen una función por' es decir' es -igual a 1 si las
de
construcción
La
ceros'
"quivalencia
par
de
"i¿n-¿"
riables de entrada tienen un número
F=Yoy@z
(a) Usando compuertas de dos entrad¿
--t{-\.
".t ____#
---H-/
z
>-
t' = Y +.1'+ :
(b) Una compue¡tade tres entradas
0
0
0
0
00
0l
l0
tl
00
0l
l0
ll
0
I
I
0
I
0
0
I
(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
"ruru,'uni"
si solamenteuna entracraes
igual a 1 o si todas las entrádas son igual
a
1, es decir, cuando el número total de unos
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"'*
integra_
dos. Después de haber tratado varias compuertas
"i.cuitos
lógicas
digitales
en la
sección.anterior, se está en posición de presentar
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 comelect¡ó.ri"u. ,r.ád"s en la construcción de circuitos básicos-seusan para
determinar el nombre de la familia lógica. Hav muchas familias ió;ü;d"
circuitos integradosdigitalesque
han sido introducidos comercialménte.
Aquelras que han alcanzadobuena
popularidadse listan a continuación.
TTL
ECL
MOS
cMos
I:L
Lógica de transistores (transistor-transistor
logic)
Lógica de acoplamiento de emisor (emitter-coupled
logic)
Semiconductorde óxido de metal (metal-oxide
semiconductor)
semiconductorde óxido de metal complementario
(complementary metal_oxide semiconductor)
Lógica de inyección integrada (integrated_injection
logic)
La TTL tiene una lista extensa de funciones
digitales y es comúnmente la familia lógica más popular. La
ECL .; ;.;-"";-sistemas que re_
"r"
qureren operacionesde alta velocidad.
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
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
siónalaspropiedadesgenerales'delasdiferentescompuertasencrrcul.
comercialmente'
los tran;;:'i"t" g;"dfs disponibles
con l1 qü. puedatt:"t -f1b-tl:udos
urtu'áJ"tiá;e
ru
u
Debido
dg: fuyiliás se usan principalmente^-nllf
sistorescon MOS ; I;il;t;.
BCL v 9y9S se usanen las
i;milias
LSL Las ;;;'t;
TTL,
funciones
d. .o.npnertasMSI v. SSI. Las com;;;'ñ;o
LSI y
compuertas
un número pequeñode compuer";';;
SSI son uq""ff"t'q"e contienen
puertas
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'
una' ya
cada
entradas
de dos
puede alojar solamente cuatro tornptt"tt"t
una
3 patiila^sexternas: dos para entradas v
que cada compu"tti ;;t;tit;
restantes
patillas
totai de 1.2patillas' Las dos
para la salida,.p"; á;;;;
circuitos'
a
los
potencia
se usan para el 'u-i]litt'o de
2-9' Cada circuito
SSI se muestran eT la Figura
Algunos
patillas se nuLas
"i,c"iiot
pa*till" d9 f,a o 16 pati[as'
está encapsrrluao
las coney
especifican
se
"'i""'iu
at la pastilia
nteran a lo largo d; bt*¿5; üáát
del circuito
áentro
áib":udas
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 decircuitos integrados TTL. se_distinguen_comúnmente
numérica
designación
t,u
s¿óo v z"+oo.
"o" nrr*¿ri.u^i'"-t'.orrro ra .e.ie
signación
numerados
están
int"g.udo.
de la serie ?400 implica que los "ir'Ñár
TTL
fabricant"ei^ti"""" clrcuitos integrados
7 400,7 40I, Z¿Ozetc.''Ñ*""1
serie
la
como
¿t"ignu"io""t tuméti"ut tales
iilu'*i"'
disponibles
"o,,
n*J"tffi;ra
ssl. El ?404viene con cua2-9(a) ilustra dos circuitos TTL
marcados v¿6' y
terminales
io.
tro compuertas ÑÁNO de 2 entra¿"..
un voltaje
la fue.ntedel poder que requieren
GND son p"r" r""'p"inf*
-a"
de 5 voltios para la adecuadaoperaclon'
La Figura
t" a"1g"a 99-9 la serie 10'000'
-gcL.
El tipo ECL;;;;;;;"
compuertas
cuatro
con
El" 10102viene
2_g(b) muestra ¿"""";r."ii""
ECL pry{e tener dos entradas,
que
.o-p.r"*u
la
NoR de 2 entradas. ñót"."
oR, (pin 9 del circuito
r""ción
pu"u-ü
una para la función Ñon y Ia otra
tres compuertas ORcontiene
i0i0?
i.,i"gr"ao
integrado 10102).iii .ir*iil
da Ia
üri¿"t á" t"a" compuerta' La otra
h;;á"t
exclusiva, .n.*tJtui;
tres
tienen
EcL
Las compuertas
función ¿" NOn-e*"jrr".i.r"'o ó"iualencia.
por lo geconectan
t"
v""'
i
terminales ot" t'iilil.itt'o-JJn9a"t-1"
- 5'2 voltios'
de.
voltaje
un
a
v*
í" v
;'";;;i;t
4000se muestran en la Figura 2-9(c)'
Los circuit*'ai{ób'i"-iá-."ri"
de cuatro entradas
d"t ;;;ÑJl"'
ry91
Solamente ." pr't"iut' á"orro¿u'
seis circuid";;iil.";'
ñtit"tio"
en el 4002 ¿"¡ia"?l'
dos
tienen
integrados
"tl-o-tg,::ntiene terminales
tos separador". &Jfi"r). Ámbos circuitos
marcado V" requiere
l"tirinat
nr
sin uso, *ur."ai"Ñ?'(tá
"o"e*i¿"i'
g a t5 íoltios y vss comúpmente-seconecta
un voltaje au .rr*i.riJro d"
a tierra.
l
r
vcc
t4 13
vcc
t4
23456
13
7
Tie¡ra
740<t-Seisinverso¡es
34s67
Tierra
7400-Cuatro compuertasNAND de dos entradas
CompuertasTTL
vccz
16 t5
vccz
tó 15
8l
vre
vcct
vcct
Vte
NC
10102-cuatro compuertasNoR de dos entradas 10107-Tres
compuertasoR_exclusiva,/NoR
(b) CompuertasECL
voo
t4
NC
16
13
123456.7
NC
13
12
34567
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
zss
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óoÁá ..
oiro'ü;;;b:,
senta lógica r v
De".ignan asignadasa la lógica'
"r
dr; tipos -de-señiles
dos valores lógicos ;;;";;;
de Bóle, un intercambio de
alge,ra
el
e-n
bido al principio ¿""i""á".fia"d
á"-"""a1 resulárá en una función dual'
la asignación de un
""f"t
binaria mostrada en la Figura
considérese to, áo, ualores de la señal
que el. otro ya que tienen que ser diferentes
2_10.un valor debe .;; -;y;.
como H (High) y el nivel
para poder distinguir"ñ.'Oá"ignl.. .t "l*í alü
asignaciónde la lógica.
para
la
bajo como ¿ (l,owl. ñ;;-d*;il;rnativas
Valor
señal
Valor
lógico
Valor
señal
Valor
lógico
0
(b) Lógica negativa
(a) Lógica Positiva
Figura
tipo de lógica
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;
el cual se define e"lsistema de lógica
Fisura 2-10(a)v -ái""i"
Ia
ilustrada
manera.
la
1
de
gica
ró
i-ü;;-r;r;;"tar
_en.
d"J;*;r^;i
nesattua'
lósica
de
sistema
"ií"íel
define
ñigri""i_to(b) poT -;ái; áái .""t se
señay negatiuosno-son adecuadosya que ambas
Los términos pos¿¿¿uos
lo
señales
las
es Ia polaridad de
les pueden r", po"iiüt'o-"?g"ti"T'ry;
lógicos
valores
los
de
l;;i;; ;i;" la asignación
que determina el ,*r.;i
ielativas.de las señales'
amplitudes
las
a
á.-u.rr".do
de datos de los circuitos integraLas hojas t¿."iJ". áI-;.;;;il;.;.ión
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
ní ta Tabla 2-7 se listan los voltajes
las asignacior,". po.iiiá i *t+i"i
para tres familias de circuitos integrados
de nivel alto (I{) V nl.r"f Éajo-(L)
Tabla 2'7
Niveles HyL
Tipo de familia Voltaje de
tuente (V)
de CI
TTL
ECL
CMOS
5
Vcc=
5
'2
V¿¿:
Voo:3-I0
en las familias de CI lógicos
(V)
Nivel alto de.'/oltaje(v) Nivel bajo de voltaje
Rango
3,5
2,4- 5
-0,95- -0,7 -0,8
Vpo
Voo
TíPico
0,2
0 - 0,4
-1,9- -1,6 -1,8
0
0-0,5
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
es
el que se usa más comúnmente.r,"
ü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
a
de ser de dos voltajes ,,egutivos"Li"
-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.
seinffi',-"X;i:l S,f:"ffll"dá"'-;;'j" üri*'*,i ",f ] negativa
Después del anterior planteamiento,
se hace necesariojustifica¡ los
símbolos lógicos usados p". rárintegrados mostrados en la Figura 2-9' Tómeseoor ejemplo,una"ll;;;".
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
de
la
compuerta
dada en la hoja de especificaciones
se muestra en la Figura 2_II(d. Esto
especificael
Tabla de ve¡dad en
té¡minosdeHyL.
(b) Diagrama de blooue
de la compuerta
x---ñ
lF_:
/______1.
( c ) Tabla de verdad
para la lógica
positiva;
H:T,L:0.
(e ) Tabla de verdad
de lógica negativa
L:r,H:0.
Figura
2-11
'
(d) Símbolográficopara la
compuertaNAND de
lógicapositiva.
( f ) Símbolográficopara
ra compuertaNOR
de lógicanegativa.
Demostración de lógica positiva y
lógica negativa
sEC.2-8
L O G I C OD I G I T A L E S 6 7
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 de
onarcomo
compuertaNOR dependiendo la asiguna
ó
como
NAND
compuerta
una
nación de la Polaridad'
lógica positiva cort
La tabla de verdad de Ia Figura 2-11(c) asume
de verdadde
tablas
las
con
verdad
de
lalablá
y L:0. nf .oriilr*
H:t
EI símNAND'
compuerta
una
tlqt-t-d"
la Figura 2-5, se reconoceque se
lógica positiva se muestra en
bolo gráfico p"r" .,.ru-.omiuerta .NAND de
y e. similar a la que se ha adaptadopreviamente'
i"^ñiEirr"- z_-111¿¡
lógica positiva a esta compuerAhora, 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
indicadór de polaridad en las eneste
de
cador d,epolaridad,.\l'Or*"".iq
la
lógica ttág"iiuu se asignáal terminal' Así'
tradas y salidas i"di;-ñ;-ia
o
positiva
Iógica
de
como NAÑD
misma compuerta fisica puede funcionar"o
completaes
diagrama
el
en
dibujado
como NOR ae rogiá neiativa. El uno
pát".i¿ud que el disenador desea
J"
i;-i;";:;ñ;til
dependient"
mente
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
ii"i* q"" la NAND ie lógica
es la mism"
AND y OR o entre las compuertas
"ornp,r.irJ
relación es válida e,,t'e las compuertas
casosi seasume lógica necualquiár
n1
oR-exclusiva y la il";ñI"*i".
necesarioincluir el triángativa en cualquie, te'mi"ul de entrada o safida es
lo l"rgo-del terminal. Algunos diseñadores
gulo indicador de p"i;;ili;d
"
p"t" fi'.ifit"r el diseño de los circuitos digidigitales usan esta i""""""1¿"
las compuertasNOR y NAND. En este
tales cuando." ururi!*.iu.i"u"i""te
recurrirá a otros métodos para haIibro no se usará esia simbología pero se
cI presentados
v Ñon Nótese oue lg¡
cer diseños
positiva' se
lógica
de
gráficos
se muestran con sus simbolos
2-9"o-i*J.;ÑiÑ"D
en la Figura"or,
se hubiera
si
negativos
lólicos
.i*¡olos
hubieran podido *;;;;;-;;"
""r
deseado.
negativa y viceversa'es esenLa conversiónde lógica positiva a lógica
ceros y ceros a unos en Ias
a
cialmente una operación que cambia-unos
que esta-operación produce
a
Debido
entradas V satidas á.'i" J"-p"erta.todos los termlnales de una polaridad a
una función dual,
"i ".t"¡¡^de
otradaráelmismoresultadoquetomareldualdelafunción'EIresultadode".t""orrro"r.iórr".quetodasrasoperacio
nes.ANDseconviertena
d.b" olvidar el incluir el indiAd"-á", ;;
-;;
operacioneson v-ri.L""r.".
ne"é
i;; símbolos gráficos cuando se asume lógica
cádor de polaridad
*u"uÉi
de polaridad I 9l
pequeño triángulo que representa un indicador
efectos simitienen
pequeño círculo.qrr" tép'""enta una to*ple-"tttación
el uno
pueden.remplazarse
por
tanto'
lares, pero srgnrrrcadosdiferentes,
un
es
diferente.
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
son fu.r'orri,
-*u.g"r,
disipación de poder,
de ruido. Se expli_
{ego1a de propagación y
cará primero las propiedades
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érmino 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
carga" se listan comúnmentepara uná familia de circuitos digitalás
nor_
malizados. Estas reglas especificanla máxima cantidaá de cJrga p".Áisible 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 expresa con un númer<¡.
_ Las capacidadesde fan-out de la compuertadeben considerarsecuando 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 tenerse 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 transrclon de programaciónde una señal de la entrada a la salida,
cuando las
I
i
SEC.2.8
L O G I C OD I G I T A L E S 6 9
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
salida'
la
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
serie de to'opu"tt"t' Lu 'u-u de'
salidas pasan po'
t" ¿"-ora total de propagación
"""
propagación u t."u¿t de las compuertas "t
comde operaciónes 'importante' cada
del circuito' cu"nál l^ *fotiaád
digital
circuito
y
el.
''ni"i-o demora á"-piopug"ción entre las entradas
puerta debe tener,ri" p"qrr"na
t"tit
¿"
debe tener ,r. .tt-ut
"""
"o*p""ifut
t t"Lt"Tt3ff;adas
digitales se aplidigitales en ra mayoría de los circuitos
To{a1 aquellas compuercan simultan""*""t? a mát de una -compuerta'
de entradas externas constas que reciben .ul"""truáas exclusivamenteLas compuertasque reciben
del circuito.
primer
tituyen el primer ;r;i';;l¿gica
u¡a salida de una compuertadel
de
partir
a
al menos una entrada,
y
manera
el segundo nivel de -t^óq1ca de
nivel de lógica, "t- to"tiá"'an en
propagay
top"'"iot"s' La demora total de
por
similar para los niveles tercero
compuerta
Aé*ot" d.epropagacl"l 9:^t"
is";i;lu
ción del circuito
númeel
en
reducción
"t
crrcuito'.Así, una
el número de niveles lógicosen eI
*drr".ió-n de la demora de
,""rrtüJá'onu'
como
dirá
ro de niveles lógicos
propagaLa 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
de
o: ::d:^Tl:gadoa raseñar
vortaje
a la
indeseable'
áigit"t que no cause un cambio
entrada de un
El
considerarse.
que
debe.r
"i""it"
;;tJ;
d;
salida del circuito. Hay dos tipos
sede
t" los niveles de voltaje
.rr¡¿s (DC) cp ti"'"dJ poi-rt.á"tui"tiá"
que puede,ver creado por otras
,trutorio
prrt*
ñal. El ruido cA ?;ó;"-';i
una
es el término usado para denotar
señales conmutadi;.-A"l; et ,ui¿o
haLa
normal'
una tt¡ut de operación
señal indeseablesuperimpuestaa
de
ambiente
un
en
lá"n"uitl¿ad
bilidad de los circuitos para operar "o"exprese
El margende ruido
ruido es importaniJ';;;;¿h..^aplicaciones. señal dJ ruido que puede ser
-¿*iÁu
la
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
d" ta,
-la
muchas versiones;; Til
Los
lógicos'
CI
de
familias
g".r"rut""-d" ias
tabla da tu"
"uruJi"ri.t[u.
valoreslistadosSontepresentativosco,'baseenlacomparación.Para
o ut"ión los valores puedenvariar'
familia
.""fq"l"t
de la familia
normalizada fue la primera versión
La compue,," fii
progresado.
ha
u *"¿ia" qrre'tu tecnología
;;"r*
TTL. S.
la deque
reducen
innovaciones
"g.ug"io;e";;;'a;
t"" ltti*".
La TTL Schottü
de
asignación
de
aumento
en un
mora de propagación pero que '"t"iiá
j
--á
r
Tabla
Familia de
CI lógico
TTL normalizada
TTL Schoftky
TTL Schottky de
baja potencia
ECL
CMOS
2-8
Características de familias
de CI lógicos
Fan-out
Disipaciónde
potenciaen (mW)
l0
l0
20
25
50
Demora de
propagación(ns)
l0
22
l0
2
25
0,t
l0
2
25
J
Margen de
ruido (V)
0,4
0,4
0,4
o9
3
potencia' La versión.TTr
Schottky de baja potencia sacrifica
alguna
ve_
á'.p""ü;: frt",,"iu.Esraúlrimarienerqmic_o
l"J*i::.i-1111"1'.i"
demora
depropagaci¿;
;;;;' i'rt #triihil.T"H':HÍi:"J:,ilT,?;
oe potenciabastanteredücida.
Ef ran-outa" r"
uuirion'irr,
-;i;;;
es I0 pero ra versióJrscnottlv
normarizada
á.
J":"
po,"n"i,
un fan-outde 20.
Bajo ciertas condicionesi".-'"ti"."u.rrio_n",
p"i;;
i"n., un tán_out
de 20. El margen
O":_0,4V, conun valortÍpicode lV.
1: Tid;,..L":",
delaramiii"
Éór.'".l; ;;;;;",1" Non.Laventaja
*o""11,"'#if""3;"*
-;; á;; rJpa
gación..erg,,ái
,,eis
ionesá" Eü'fi :;:X ?"""ii,1,f
-d"
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
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
icl
,irr"."l"?ir'",r"
todas las famirias v. es un-úrti-o
verocidadde
r"*io
para sistemasrápidos.
El circuito ¡¿sico-¿e cüóé;;'r.,u"r.o.
^La
con er cuai se pueden construir las compuertasxrxo
v-ñoñ
ventaja especialdel cMos
es su
""."::Ll:i"",,,1.,1
"
.;:
o*
io"".,.t¿ii.u,
*3;Ím*, " _u,,;es,
""iai"
ü"'iffi"::,;
"o¡,Tff;;:?,
despreciab.le
p.o*"áiu
rV iJwr. curndo la
v, ;;;
señal':t]",i^YoS
lo
hav.
unadisipacián.d"
p.i;;;;
ai.,i.'rri
;r#T.tilf JT'ri?.*,iilrrii
cual el
circuito está 'd;
.expues;;.--Ei';ffiero ristado en la tabla es un valor
tipico de la disipaciór
;;i";i"'iir¿-i"a
en ras compuerrascMos.
La mayor desvenrajade las
cnros
.u^-uiiu
;;;;r"
ción' Esto sigrrifica que.no.
de propaga_
"..
es práctico usarlas
,rrt"-u". que requieren
operacionesde arta velocidad.'
""
io.""pur¿-etros--.".á.r"rlrri.*
compuerra cMos dependen
para ra
¿el uortaii vuo de-1af;;;;;;.
poder que se
use' La disipación de potenciá
^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"
40iz det valo¡ dól
s:t;:il:"tttro
REFE
RENCIAS
t
#a':'
70
G'' An Inuestígation
of theLawsof Thought.Nuevayork:
Doverpub..
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
lndependent.PostulatesfortheAlgebraofLogic'''
" .Huntington,E.V.,..setsof5
iiá"t.Árn. Math' Soc', Vol' (1904)'288-309'
Algebra' Nueva York: McGraw4. 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.:MotorolaSemiconductor Products,Inc.' 1972'
1
- 0.RCASolídStateDataBookSerjeslCOs/MOsDigitatlntegratedCircuit'.
S o m e r u i l l eN
, ' J . : R C A S o l i d S t a t eD i v ' ' 1 9 7 4 '
PROBLEMAS
básicas (con¡unto cerrado asociativa, conmutativa,
¿Cuál de las seis leyes
son cumplidas Por el Par de oPeradoy
distributiva)
inversa
áe identidad,
ies bir.,arioslistadosa continuación?
.10
|
2
2-2.Demuestrequeelconjuntodelostreselementosl0'1'2lylosdosoperad 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
onstlcuál de los postulados
tuyen el álgebrJ ¿"' S""it' EtluUtt"u
no se cumple.
2-S.Demuestrepormediodetablasdeverdadlavalidezdelossiguientesteoremas del álgebra de Boole'
2-4.
( 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'
Repita el Problema 2-3 usando ios diagramas
2-S.simplifiquelassiguientesfuncionesdeBoolealmenornúmerodeliterales.
(d) zx + zx'Y
@) xy + ry'
(b) (x + Y)(¡ + Y')
(c) ryz * x'Y 1 ryz'
(e) (l + B)'(A' + B')'
(f) Y(wz'I wz)* ry
72
I
A L G E B RD
AE BOOLE
Y COMPUERTA
S GICAS
LO
2-6. Refuzga- las siguientes expresiones
de Boole al
tado
al frente de cada una áe ellas.
(a) ABC + A,B,C + A,BC + ABC,
+ A,B,C,
I
I
CAP. 2
número de literales solici_
(b) BC + AC' + AB + BCD
(c) [(CD| + A], + A + CD + AB
(d) (A + C + DXA + C + D')(A + C' +
D)(A + B')
a cinco literales
a cuatro literales
a tres literales
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.
2-9.
Dadas dos funcionesde Boole F, y
Fr:
(a) Demuestre^quela función
de Boole
!: F:*F2, obtenida al aplicar la
función OR a las dos funcionÁ
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
aplicar la
función AND a las dos funcionesl
contiene to. t¿r-i'o. mínimos comunes
a ambas Ft ! F,
Obtengala tabla de verdad de la siguiente
función:
F:xl+ry,+y,z
2 10' Ex'rese
ulas
2-ll.
funciones de Boole simplificadas
del problema 2-6 con compuer_
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
00
0l
0t
IO
t0
tl
ll
2-13.
r0
l0
t0
0l
0t
0l
0l
0t
las siguientesfuncionesen suma
de términos mínimos y producto
9-*f1....
d
. ¡t é r m i n o sm á x i m o s .
(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
I
I
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
entre la forma canónica y
dif'erencia
Ia
es
2-15. ¿Cuál
ós la forma que se obtrel
;;.t;Cuál
de Boole de n variamínimos de una función
términos
los
rodos
de
, ,a. ;::*a
bles es 1'
para n : ó'
(a) Pruebe la anterior afirmación
para una prueba general'
(b) Sugiera un procedimiento
iuiJ'" un¿o'1:Hl;ji ¡ ll,"m"l"i:'ff "l:'""1" iJT;
ó.Iarormap'"'r'''
""iü
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
,r, ilJt:il:ilres
v asosonconmutativos
y de equivalencia
oR_exclusiva
ciativos'
(c) El operadorNAND no es asocratrvo'
no son distributivos'
(d) Los o*'"áot"t NOR y NAND
l si Ia madigital c'uyasalida es
mayorista:t:l
medio de
Por
0'
compuerta
Una
:i"tito
2-20'
son l. De
¡uriáa,será
entradas
las
de
voría
"i;i;;;"i"
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
¿ ' d e . B o o l elal l función'
evadaacabocon
de
una compue'ta mayotitaria
"tit"átt'
lisOR-exc!il:" O" 3 entradas z'
d" yq'd'".dde,l^a,comPlerta
r'
de
1'y
la-tabla
!srifique2-21'
Ia lil;"d" las ocho combinaciones
tada en Ia rigura 2-8(c)' Eaga. z - - x @ Y @ z '
Y luegoF:A O
E v a l ú ee : r " é i
enpastillast^ti:XliltÍ";iXffiilil
;
2'22.
¿¿LEl sSIdeTTL vienemavormente
deeste
;::*Sl¡jl'."i'il;;;st-iila
Hill'"T
l¿nji*:f,*í,US;:.i;'
compuertas?
de
tipo
tt-tigoit"t"
si t";;i;;;
estilo
de 2 entradas'
(a) Compuertas OR-exclusivas
entradas'
3
de
(b) ComPuertasAND
{
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
puertas separada
224u";"i;-,,,""#'üiirJiliJllli;
cornpue
$j"i,lx..":ñffi:.ñtHtilitt",",""..#fri1
Simplificación de
funciones de Boole
3-1
:ffi
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 cabo 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 simplificadas 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 proceso 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 aquellos 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
reconocer
Al
normalizada.
la
forma
en
una función
puede .ui
"*pt..uda
el usuario puede derivar expresiones algebraicas altervarios patrones,
,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 tildada 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 variables. 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
Figura
3-2
(b) ¡ * y
Representaciónde las funciones en un mapa
En la Figura 3-3 se ilustra un mapa de tres variables. Hay ocho términos 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 cuadrado asignadoa m, correspondea la fila 1 y columna 01. óuando se con76
m
i
0
ma
m
m
I
m-
)
3
m1
m
2
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 ejemplo, m, y m, están en dós cuadrados adyacentes. La variable y
está tildada 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 adyacentes 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 funció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érmino a un número binario para luego marcar 1 en el cuadrado corres77
)'
'A-
lrt--
1
0
t,
rl¡
t
tr
-_Ll
r'l
+
3-1;r'-r'z
+ xJ-'2:r''\'+ 'x'\''
+ r'l'z'+ xJ-'z'
Figura 3-4 MapadelEjemplo
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 cuadrado 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 columnas 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 manera, 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 indican en el mapa por medio de dos rectángulos,cada uno conteniendo 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ínimos 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 cuadradosadyapara inclúir este y otros casossrmilares. Esto se logra considerany
""ntur
do el mapa como un dibújo en una superficiedonde los bordesizquierdo
adyacentes'
cuadrados
para
formar
sí
entre
derechoJe tocan
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 definició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á:
yz * xz,
f:
I
I
y
va
tl
0
i
0
0
¡
t , -it
x) |
t
l_1_.1l r
I
+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 adyacentes 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
F:
i
I
3-3.. Simplificar la función de Boole:
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 literales 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
medio) y se obtienen los cuadrados001 y 011. Nótese que al enmarcar los unos con cuadrados es posible encontrar un uno ya
II
A
0
I
All
t
C
Figura 3 - 6
Mapa del Ejemplo 3-3 A'C + A'B + AB'C + BC : C + A,B
80
CAP. 3
DE BOOLE
S I M P L I F I C A C I ODNE F U N C I O N E S
colocado en el término anterior. En este ejemplo, el segundo término 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 cuadrado adyacenteque ya ha sido usado una vez. Esto es permisible y aun deseableya que la combinación de los dos cuadradosda
el término A'B mientras que el término mínimo sencillo representado 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
0
J
I
(
' 1 ' , --t-'-T
I
lr
t
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 muestra en Ia Figrrra 3-8. En (a) se listan los 16 términos mínimos y los cuadrados 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 entre 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 tercera fila y la segunda columna representa el término mínimo m 13.
;
t
)
I
0l
t
ml
m"
^z
ma
m5
m1
mo
m
m
t,
12
m8
-t
15
l3
mrl
mg
(a)
^14
n' lo
ll
l0
w'x'y':,' w'x'y'z v)'x' y: w ' x ' \
0 1 tt'xy' a
"t
w'xy'i
II I wxy'a' w-r)'rl
I
\9'.xya w'.ryz'
w.ry:
I
rrxyl
t ' y ' : wx't'z wf'yz v'.r'yi'
( b.)
Figura 3-8 Mapade cuatrovariables
La minimización, por medio del mapa, de una función de Boole de cuatro 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 cuadrados adyacentesde la misma forma que m3 y mt. La combinación de
cuadradosadyacentes,útil durante el procesode simplificación, se determina 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 literales.
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 simplificar 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 pueden combinarseentre sí para dar un término simplificado. Deben
combinarse como dos o cuatro cuadrados advacentes. Entre ma81
ü
FS=--
r
0l
I
I
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 izquierda 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
F:
3-6: Simplificar la función de Boole:
A'B'C' + B'CD' + A'BCD'+ AB'C'
El área, en el mapa, cubierta por esta función consisteen los cuadrados marcados con unos en la Figura 3-10. Esta función tiene
cuatro variables y como se ha expresadoconsiste en tres términos' 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 inferior, 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
3-4
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 ,
: B'D, + B,C,+ A,CD,
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
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 imprá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 cuadrado 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
CDE
ll
0
I
3)
2
6
'7
)
rj
I
f
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 ' /
B
fi
I
I
il'fi
4
;.:l
ü
8
^T
t
9
ll
l0
t4
l5
l-t
:'
.u
t2
il
{
ll
24
25
27
26
30
3l
29
28
l0
l6
t7
l9
t8
22
23
2l
20
q
¡.
1?
I
E
F
ü
tI
D
I
Figura
3-11
¡
¡
Mapa de cinco variables
83
I
fr
I
frr
DEF
A B C 000
000
0
001
8
00r
0l I
010
110 lti
3
2
6
u
t0
l4
,7
1 0 1 100
5
4
l3
l2
I
9
l5
\C
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
r 0 1 40
4l
43
/1
46
Á1
45
44
100
)-)
35
34
37
-to
0lt
a1
'c
1Z
38
39
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 columnas 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 Figuras 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 cercaní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 espejo. Por ejemplo, el término mínimo 31 en el mapa de 5 variables es adyacente 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
p
3-l
La relación entre el número de cuadrados adyacentesy el número
de literales en el término
Número
de
cuadrados
adyacentes
0
I
2
5
4
5
6
Número de literales de un término en un
mapa de n variables
2k
n-2
I
2
4
8
l6
32
g
1
n:3
2
I
0
I
0
n:4
n:5
4
3
2
I
0
5
4
3
2
I
0
n=6
6
5
4
2
I
0
n:7
7
ó
5
4
J
2
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 literales 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 literales.
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 cuaclradoscorrespondientes.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 respecto a la línea del centro. combinándolos con los otros dos cuad¡ados adyacentes,se obtiene el término AD,E. Los cuatro unos
e-n la fila superior son todos adyacentes y pueden ser combinados para dar el término A'B'E'. La función simplificada es:
F:
BE + AD,E + A,B,E,
85
iF
IF
li
\-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.
con una
pequeñamodificación se puede obtene¡ el producto
¿e'*rnu..
El procedimiento para obtener una función minimizada
en producto
se desprende-de las propiedades básicas de las funciones
* :"q"r
de
Boole. Los unos colocadosen los cuadradosdel ;ó";pise'ta'
ros términos mínimos de la función. Los términos mínimos
no incruidos en Ia
función denotan el comprementode una funció.
;; i"p."."ntr'
en un
t
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 obtiene 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áticamente 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)
B6
F:
B'D' + B,C, + A,C,D
E
'
I
f
F
CD
/B - !9-- e.l
-lr
0
;l
I'
^\
0
r--+
l0l
._
to-
t-,-]
00
OI
0
$
C
F
IE
t
lI
:¡j
il
I.
in
I 3.1
i]
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 muestra 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 complementando 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 producto de sumascon un grupode compuertasOR, una para cadatérmino OR'
Las salidas de las compuertasOR se conectana la$ entradas de una compuerta AND sencilla. En cada caso se asume que las variables de entrada
il"gutt en forma de complementode tal manera que no se necesitaninversotu"l El patrón de configuración establecido en la Figura 3-15 es la forma general 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 compuertas OR se conectana una sola compuertaAND en el caso de producto de
sumas. Cualquiera de las dos configuracionesforman dos niveles de compuertas. 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 simplificació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'
D'
A'
B'
,;,
D
(a)
F - . . . 8 ' D-' B ' C ': A ' C ' D
Figura 3-15
F - tA'
lhr
I B't t("
t l) ¡t.[]
Dt
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ínimos 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
0
I'
00
0l
0
I
0
f
0
11l
I
I
1
Figura 3-16
88
Mapa de la función de la Tabla 3-2
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 inicialmente 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 normalizadas. 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 compuertas 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 discutirá en la Sección4-7.
Para facilitar ldionversión a lógica NAND v NOR es convenientedefinir 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
I = ¡ ' r ' : ' = ( . r* t , * z ) '
F=(-r*-l +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
representar
3-17
Símbolos gráficos para las compuertas NAND ¡ ). _ -.
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:,loconvencional. El inversor AND es una alternativa conveniente que urrliza el teorema 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 denota 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
I
'd
.oq
F
@
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ónequivalente 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 productos 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 complementa 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 ambospuedenanularse. 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 compuertas 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 embargo, representauna relación más directa u I" u*pre.ión d]eBoole'que ejecuta.
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ácilmente 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 funció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 constituye un grupo de compuertas de primer nivel.
3. Dibujar una compuertaNAND en el segundoniver, (usandoel símbolo 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 nivel o ser complementado primero y aplicado como entráda a una
compuerta NAÑD del segundonivel.
EJECUCION
CON NAND Y NOR
sEc. 3-6
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 compuertas NAND. Recuérdeseque si se combinan los cerosen un mapa, se obtiene
la expresiónsimplificada del complementode la función en suma de productos. 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 variable de salida. Hay ocasionescuando el diseñadorquiere generarel complemento de la función para las cuales este método es más aconsejable.
EJEMPLO
tas NAND:
3-9.' Ejecutar la siguiente función con compuerF(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 muestran 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 normales y de complemento.Si sólo se obtienen en una forma será necesario 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 correspondientes 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 expresió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
0
0
0
F = r' jJ z' * x!.2'
F-'= x'.v*,rr" # :
\_YJ
(a) Simplificación del mapa en suma
de productos.
.X
_f
( b ) F = - r ' . r , ' -*- ' . r r ' : '
Figura s-19
{ c ) 1 . ' = ¡ ' . r '* x , l ' * :
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 producto. 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
de una función de Boole
puede derivarsede esta trasformáción.
EI .i-il;;;;l.ir"
.dÁuNexD de tres
pasoscon la diferencia.de
la expresiónsimplificada
.rru. en pro.que
ducto de.sumas y los términos de la.
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
A
B
B
p
C
C
F
F
D
f:'
(a)
Figura
94
C
D
E
(h)
3-2O Tres manerasde ejecutarF:
rcr
(A + B)(C + DrE
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
con compuertas NOR pofunción
la
á; ejecutar
una segund" ;":";;
para el complemento de la función "" li:91:l:
dría ser el usar f"
"ü.".1¿"
de dos niveles para F'- y una eJecucron
ejeiución
una
á" ."r""r. Esto dará
el caso dó necesitarsela salida F normal'
á" i*"
"n
"itJ".
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 funes necesariocombinai los ceros en el mapa
sumas simplificadas para
ción. para obtener ia erpre.ión en producto de
el mapa
de la función, es necesariocombinar los unos en
;i';;;pl;;ento
el prodemuestra
y luego complemen; I" funciór,. El siguiente ejemplo
cedimientopara una ejecucióncon NOR'
EJEMPL|S-10:EjecutarlafuncióndelEjemplo3-9con
compuertasNOR.
Priesta tunción se dibuja en la Figura 3-19(a).
El *;;';;
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
en producto
simplificada
la
función
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
una com.
requiere
z,
literal
solo
un
con
término
El
la Figrrra3-21(a).
Esta
cominversora.
prárt" Nón d"'""a sola entrada o compuerta
a la
z
entrada
la
puerta puede quitarse Para¿plicar directamente
nivgl'
segundo
fntrada de la óompuert-aNOR de
partir de la funu"" ."g";á;-?or-u de ejecució.,e. porible a
primero
combínese
caso
este
Para
surnas'
de
ción en práducto
los unos en el mapa con el fin de obtener:
F:
x'y'z'* xYz'
v
(¿)F+(x+1t¡1x'+y)z'
Figura 3-21
(b)F'= (¡ + -r'+ z) (x' * r" + z)
Ejecución con compuertas NOR
t-
Tabla 3-3
Función a
Caso simplificar
(a)
(b)
(c)
(d)
F
F'
F
F'
Reglas para la ejecución con NAND v NOR
Forma normal
de usar
Número
de
Ejecutarse niveles
con
de F
Como
derivarla
Sumade productos Combinelos unosen el mapa
Suma de productos Combinelos cerosen el mapa
Producto de sumas ComplementeF' en (b)
Productode sumas ComplementeF en (a)
NAND
NAND
NOR
NOR
2
J
2
J
Esta es la expresiónsimplificada en suma de productos. Se complementa 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 normalizadas 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 integrado_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 ejemplo, 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 compuerta 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
TTL de colector abier¡o
(AND.ORINVERSOR)
Figura
!-
(b) OR-cableado en compuertas ECL
( O R . A N DI N V E R S O R )
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 embargo, para propósitos de discusión se consideran los circuitos de la Figura
3-22 como ejecucionesde dos niveles. El primer nivel consisteen compuertas NAND (o NoR) y el segundonivel tiene una compuertasencilla ÁNn
(u oR). La conexión cableadadel símbolo gráfico se omitirá en las discusionessubsiguientes.
Formas no degeneradas
Es instructivo desde el punto de vista teórico encontrar cuantas combinacionesde compuertasde dos niveles son posibles. Se considerancuatro
tipos de compuertas:AND, OR, NAND y NOR. Si se asignaun tipo de compuertas para el primer nivel y uno para el segundose encuentra que existen 16 combinacionesposibles de formas de dos niveles. (El mismó tipo de
compuerta puede estar en el primer y segundo niveles como en utta é¡ec.rción con NAND-NAND). ocho de estas funcionesse les llama formas degeneradas.Esto puede verse de un circuito con compuertas y en el primer
nivel y una compuertaY en el segundonivel. La salida del circuito ei simplemente la función Y de todas las variables de entrada. Las otras ocho
formas no degeneradosproducen formas de ejecución en suma de productos o producto de sumas. Las ocho formas no degeneradasson:
AND-OR
NAND-NAND
NOR.OR
OR-AND
OR-AND
NOR-NOR
NAND-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 formas de la lista son duales entre sí.
Las formas AND-OR y OR-AND son las dos formas básicasde dos nivelesdiscutidasen la Sección3-5. Las NAND-NAND y NOR-NOR se introdujeron 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
¡.'t\sr
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
la forma AND-OR con una inversión hecha fror un pequeñocírculo a la salida 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 complementada 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 NANDAND, se muestraen la FiguraS-22con el fin de ejecutarla función AND-OR
invertida.
Una ejecucióncon AND-OR requiereuna expresiónen suma de productos. 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 forma 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
-1IA
v\
é:kffi
l\
z.=
zY
^z
--
O
N
u0
z
z
(!
¡
ll
,:
;l
v \
r
;!
t{ l1
f
IJ
99
J
I
I
+
z:ia
+
U
+
E
49
z
xz
ú
O
$
N
¡r
D'
z?
z
too
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
sEc.3-7
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
Forma
equivalente
no degenerada
Ejecución con otras formas de dos niveles
Ejecuta
la
función
Simplifique
F'
en
Para obtener
una salida
de
(b)*
(a,l
AND-NOR NAND-AND
OR-NAND
NOR-OR
AND-OR-INVERTIDA
OR-AND-INVERTIDA
Sumadeproductos
combinandolos
cerosen el mapa
Productodesumas
combinandolos unos
en el mapa y luego
complementando.
F
*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
*
!a
ry
-*
3-25
Otras ejecuciones de dos niveles
la cual está en la forma AND-OR invertida. Las ejecucionescon
AND-NOR y NAND-AND se muestranen la Figura 3-25(a).Nótese
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ónsimplificada 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 expresión se puedeejecutar la función en las formas OR-NAND y NOROR 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 obtienen 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 adecuadamente. Como resultado, no importa lo que sea la salida de la función para
estas combinaciones de variables ya que se garantiza que nunca ocurrirá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 requiere que la función sea cero. Pára diferenciar las condiciones de no importa 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 cubrimiento de una área mayor. En cada caso, la alternativa depende solamente 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 necesario incluir todas o algunas de las X sino aquellas que sean útiles 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
ya
"yi
00
0l
01
X
i-
0
r
0
ll
l0
ñ.t l
-l
X
0(
it
_'J
0
I
0
0
)1 ,f
t
0
I I
lr'1
0
0
I
( a ) C o m b i n a n d ou n o s y X
Figura
ll
0
F:
8_26
u'z +,,2
00
0l
I
X
0
tr
ol
0
loi
0l
io
_f
(b) CombinandocerosyX
I':z(u,
ly)
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
funció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)
{
\
rt
Lu! dos expresionesobtenidas en el
.
Ejemplo 3-12 dan dos funciones,
las cuales se pueden demostrar como algebrui"u**ü
iguutur. Este no es
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
"
respuestas 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"
minimizada:
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
E L M E T O D OD E L T A B U L A D O
3-9
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 selecció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 funciones 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 encontrar mediante una búsqueda muy cohpleta de todos los términos candidatos 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 litera les.
3-10
DETERMINACIO
DN
E LOSPRIMEROS
IMPLICADOS*
El punto de partida del método del tabulado es la Iista de términos mínimos que especifican la función. La primera operación de tabulado es buscar 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 apareamiento se repite para aquellos términos nuevos encontrados. Se continúa con el tercer y subsiguientes ciclos hasta el paso por un ciclo no
produzca nuevas eliminaciones de literales. Los términos restantes y todos los términos que no se aparearon durante el proceso, constituyen los
primeros implicados. El método del tabulado se ilustra por medio del ejemplo 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
CAP, 3
SE B O O L E
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
/06
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 soIamente un uno. La tercera, cuarta y quinta sección contienen
aquellos números binarios con dos, tres y cuatro unos respectivamente. 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 entre sí solamente por una variable, se pueden combinar y las variables 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 compara 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 excepto en una, se marcan a la derecha de ambos términos mínimos
g
I
i*'"tl,l;13:,x11""1-?i"i::?\?$"
ffit*'#'";';fi
(b) de la tabla. La variable eliminada durante el proceso de apareamiento se remplaza por un guión en su posición original. En
\
Tabla
Determinación de los primeros implicados para el Ejemplo 3-13
3-5
(b)
(a)
(c.)
u'x,y2
wxyz
w xyz
0, 1
o)
00000 - 0
0,2,8,10
0,8,2,10
- 0 - 0
- 0 - 0
0001
0010
0,8
-000
1 0 ,l l , 1 4 ,l 5
1 0 ,1 4 ,1 1 ,l 5
l-ll-l-
1000
2, l0
8, l0
0
0000
r
2
l0 1010
\/
-0 r 0 v
l0-0
f
\/
t0,ll
ll
t4
l0ll
lll0
15 llll
v
\/
\/
l0l
10,14 l - l
It. 15 r-l
1 4 .l 5 l l l -
0v
r v
\/
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 secc 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 para 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 sección necesitan compararse solamente si tienen guiones en la misma posición. Nótese que el término (000-) no se aparea con cualquier 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 apareamiento 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 primeros 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 coIumna (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 implicado 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 sencillo en la columna subsecuente. Así, las entradas no marcadas
(primeros-implicados) constituyen los términos dejados para formular la función. Para el ejemplo presente,Ia suma de los primeros 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
00
E
0i
1l
_ll
l0
Lr
'l
0l
t''{
II
il
tl
Tl
I'o
l
L'
I
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
proposito
9l Ejemplo B-18 fue escogido
"d. a
para d,ar una función simplificada
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¡
si ei nrimero del pri_
'potencia
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
ambosnúmeros
para demostrarque han sido usadosy escróalos
." 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 realiza de manera similar, excepto qu" .oi",'"nte se
comparan aquelrostért08
del Ejemplo 3-13
Determinaciónde los primeros-implicados
con notación decimal
Tabla 3-6
(b)
(a)
0v
(l)
0,2 (2) \/
0,8 (8) v
0 ,l
lv
2t/
8v
2, l0 (8)
(c)
0,2, 8, r0
0 , 2 , 8 r, 0
(2,8)
(2,8)
1 0 l, r , 1 4 ,l 5 ( 1 , 4 )
1 0 l, l , 1 4 ,l 5 ( 1 , 4 )
8, l0 (2)
l0
10,r l (r)
, t0, t4 (4)
ll
t4
l l, 15(4)
1 4 ,l 5 ( l )
15v
\
minos con el mismo número en paréntesis.El par de númerosen una secció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 están dados en notación decimal. Para convertir la notación decimal a binaria conviértasetodos los números decimalesen el término a binarios y
luego colóqueseun guión en aquellas posicionesdesignadaspor los números 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
función:
3-14: Determinar los primeros implicados de Ia
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 equivalente de un término mínimo se incluye con el propósito de contar 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)
000t
0r00
r
4
r000
8V
0ll0
l00l
l0l0
\/
^/
6 \/
9 f
l0 \/
0lll
r 0 lI
uv
illl
15v
t,9
4,6
(8)
(2)
8,9
8, l0
(2) v
6,7
9,lt
(t)
(2) \/
1 0 l, r
(r) \/
7. t5
(8)
ll, l5
(4)
(c)
8 , 9 ,1 0 n
, (1,2)
8 , 9 , 1 0l ,I ( 1 , 2 )
(r) v
7f
\
Pri meros-i mpl icados
Decimal
1 , 9( g )
4,6 (2)
6 , 7( t )
7, 15(8)
r l , 1 5( 4 )
8 , 9 , 1 0 ,I l ( 1 ,2 )
Binario
uxYz
_U 0l
0l -0
0l l-t
tl
llt
l0
Términos
w'xz'
w'xy
xyz
wyz
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 decimal 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
la pa_
_de
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 notación binaria a decimal se muestra en la parte i"re.ior
á" la tabla. Los primerosimplicadosencontradosson r,y,z,
u),x2,, tL,x.y,xyz,
wyz y wx'.
tto
t:
00
rtx
)'
0l
ll
!_l
00
t;
t-
't
0
.I
,J'
I'
l0
Ll_l
I
I
u''o'o r-'n'
Figura t",
" !?!i+", 1i.':i.j;:_,1;1,p:
La suma de todos los primeros implicados, dará una expresión algebraica válida para la función. Sin embargo esta expresión no es necesariamente la que contiene el mínimo número de términos. Esto puede demostrarse 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 derivados 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 Ejemplo 3-15.
3-15: Minimizar la función del Ejemplo 3-14'
BJEMPLO
El tabulado de los primeros implicados para este ejemplo se muestra 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 primer 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
f x'v'z
n/w'xz'
tp'xy
xyz
wyz
v wx'
l,9
4,6
6,7
7 t5
I l, l5
8,9,10,11
X
X
ll
X
X
X
X
X
X
X
mal del primer implicado en cada fila y convenientedar los términos mínimos contenidos en é1. una vlz se hayan marcado todas
las cruces se procederáa seleccionarun númeró mínimo de primeros 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
mínimo l está incluido en la iunción.
!_'J'z
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 implicado 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 contenga 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 sereccionados. 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
el
primer implicado ryz cubre ambos términos i"i"'i*".1-"r
po, t"rrto el seleccionado-Así se ha encontrado er .o"¡"tJ
-iíi-o
a"
primeros implicados cuya suma da la función
mlnimizada requerloa:
F:
tt2
x'y'z + w'xz' + wx' + xyz
E
ñ
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
F
ff
F
Las expresionessimplificadas deducidas en los ejemplos anteriores
estaban expresadasen la forma de suma de productos. El método del tabulado puede adaptarsepara dar una expresión simplificada en producto
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
inicial de términos mínimos. Esta lista contiene aquellos términos mínimos 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
lleva a cabo con los ce¡os de la función para terminar con una expresión
simplificada en suma de productos del complementode la función. Obteniendo 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érminos de no importa se incluyen en la lista de los términos mínimos cuando 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 importa no tienen que estar cubiertos por los primeros implicados seleccionados.
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 aplicaciones 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 secuencia binaria de código reflejadoa las filas y columnas diferentea la secuencia 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
ii,,
f,
r
6
F
ii
:'
':i
ri
¡i
ir
x
0l
Y
i
I
zf 1
L
00
0l
ll
0
2
6
I
J
7
00
l0
0
+
0l
5
I
5
lil
-v-'l
l
'7
J
q_J
I'o 2
v
(b)
(a)
Figura
6
Variaciones del mapa de t¡es variables
3-29
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 cuadrado 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 variaciones 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 procesos 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 reconocerAB
CD 0 0
0
0t
A
0l
__j_
ll
l0
t2
8
q
5
IJ
9
n
3
7
l5
il
l0
2
o
l4
l0
.{
--..-Y!----y-
t4
t2
i
6
,{
l3
7
9
ll
8
t0
J
\-J
BC
(a)
Figura
tt4
3-30
5
(b)
Variaciones del mapa de cuat¡o variables
0
l
S E C .3 - 1 2
CS
O N C L U Y E N T EISI 5
OBSERVACIONE
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 comparar 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 aplicaciones, 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 manipulación al problema. Sin embargo, existe una extensión del método del
tabulado para encontrar los primeros implicados de expresiones algebraicas 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 manipuleo 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.
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 Design,2a. ed. Nueva York: John Wiley & Sons,Inc., 1974,Capítulos6 y 7.
F
!16
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
_!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-iguientes 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 siguientes 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
siguientes 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
001
010
0ll
100
l0l
ll0
ltl
0
I
I
0
I
0
0
I
U
0
0
I
0
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) producto 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 compuertas 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 cuenta 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 cuenta 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 niv 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 condiciones 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 o n c o m p u e r t aN
s AND.
(c) f': B'D + B'C + ABCD
d:A'BD+AB'C'D'
3-18. Ejecute las siguientes funciones en compuertasNAND y NOR. Use solarnente cuatro compuertas.Solamentese cuenta con las entradas normales.
v/xz + tt".vz* .r'yz' * wxy'z
:
d w-t-z
F:
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 tabulado.
(;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)
: > ( 6 , 9 ,1 3 ,1 8 ,1 9 , 2 5 , 2 1 , 2 9 , 4 1 , 4 5 , 5 7 , 6 1 )
( c ) F ( A ,B , C , D , E , F )
3-25. Repita el Problema3-6 mediante el uso del métododel tabulado.
3-26. Repita el Problema 3-16(c)y (d) usando el método del tabulado.
i,
i.
3!
Lógica combinacionaI
4-1
INTRODUCCION
Los circuitos lógicos para los sistemas digitales pueden ser combinacionales 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 procesamiento de información específicacompletamentelógica por medio de un
conjunto de funciones de Boole. Los circuitos secuencialesusan elementos 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ódigosbinarios que representan las cantidades discretas de información. Estas variablei 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 expresaralgebraicamente 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 combinacionales. La solución de algunos ejemplos típicos dará una recopilaciónútil
de funciones elementales importantes para Ia comprensión de computadores digitales y sistemas.
Un circuito combinacional consisteen variables de entrada, compuertas lógicas y variables de salida. Las compuertaslógicas aceptan señales
120
n variables
de entrada
Figura
I
4-1
Diagrama de bloque de urr-circuito
m variables
de salida
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 requeridos. Obviamente, los datos de salida y de entrada se representanpor
medio de señalesbinarias, es decir, existen dos valores posibles,unorrepresentado 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 vecindad de un circuito combinacionalo en algún componenteremoto externo. Por definición, un registro externo no debe influenciar el comportamiento 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 valores de entrada binaria. Para cada combinaciónde entrada posible hay una
y sólo una combinaciónde salida posible.Un circuito combinacionalpuede
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 forma 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
de la variable binaria acumulada.
va"loresnormales y
"omple*entados
En el trabajo subiiguiente, se asume que cada variable de entrada aparece en dos terminales, suministrando simultáneamente los valores normales 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 columnas 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 determinan 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 entiada 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 especificaciones enunciadas se interpreten correctamente en la tabla de verdad. 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 produzca 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.mplifican 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 esLoger. 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) tiempo 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 accionamiento de cada compuerta. Como todos estos criterios no pueden satisfacerse simultáneamente y como la importancia de las condiciones obligatorias 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 comportamiento.
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 U M A D O R E IS2 3
S E C ,4 ' 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
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 ' '
i¿i suma
''rSde ros
,.:srrltado Se llama bit de qrrrslre (Acarre0). Cuando l')s il¡ltrtu't
- - ¡ ¿ ¡ ¡ 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
r tpl,'lu. lll
( 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
q
r
r
e
s
t
l
l
l
r
i r , i r : i ' i : 'rS, rd
o
s
s
e
u
s
¿
t
l
l
n6mbre del primero se deriva del hecho de
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
I
I
0
0
0
1
tll bit de arraslr* e:. r) ¿r n(; ser qrte ambas enl
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 .
u l. l,,i ;,t.id.,
.l
-fl-
)' --L-/
x'
l__ñ
-t'
IH
)"
'--ñ
tT
j'1_/
-
(-l] 1J
-L
(b) J - (r -,-.v)(r' { -y')
C: .r)
(a) .l : .r)' : .r')
C=xl
r
.I
.t
c;"
(d) S.(¡f
(c) S-(C*¡'y')'
r)'(.r'*r')
¿-:1-r',',v',)',
C:xy
Y
v
n'N
=i,*'
Figura
4-2
Varias configuracionesdel sumador medio
Las funciones de Boole simplificadas para las dos salidas pueden obtenerse directamente de una tabla de verdad. Las expresionessimplificadas en suma de productosson:
S:
C:
x,y i ry,
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 medio. 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 configuración en producto de sumas:
,S:(x+y)(x,+y,)
c:ry
124
125
SUMADORES
sEc. 4-3
para obtener la configuraciónde la Figura 4-2(c),se nota que s es la oRde s es el equivalentede ¡ y:' (secexclusivade r y y. El
"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 comnuerta 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
entradas y dos
en
tres
d" entrada. Este consiste
aritmética de treÁ
y
y representan
por
I
salidas. Dos de las variables de entrada denotadas
z representa
entrada
La
tercera
que
aglegan.
se
los dos bits significativos
necesitan
Se
significativa'
previa
menos
poiición
la
el bit de arraslre de
varía en
binarios
tres
dígitos
de
aritmética
suma
porque
la
dos salidas
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
001
010
0ll
100
l0l
110
lll
00
01
0l
l0
0l
l0
l0
ll
Las ocho filas debajo de las variables de entrada designantodas las combi*.ione. posibles <le unos y ceros que pueden tener esas variables' Los
d" las variables-de salidá se determinan por la suma aritméV
""o.
""ro,
tica de los bits de entrada. Cuando todos los bits de entrada sean ceros'
la salida es cero. La salida S es igual a 1 cuando solamenteuna entrada
H
H
+i
PI
n1
t.i
;t'.
I
.{ 0 0
0r
r
0
0
I
f .ll
I
.S
.r'r,':
-r'-l:'r .r)':'-
Figura
4-B
,rl,:
C - .rr. I .t.
\:
Mapas Ce un sumador comDleto
es igual a I ó cuando todas las tres entradas sean iguales a uno. La salida 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ísicamente. 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 binarios 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 cuadrados 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 expresionesde 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 comp 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 oRexclusiva 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
Figura
4-5
Configuraciónde un sumadorcompletoen suma de productos
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:
4-4
z ( x y ' + x ' y )* x y : x y ' z * x ' y z i x y
SUSTRACTORES
La sustracción de dos númerosbinarios pueden lograrsetomando el complemento del sustraendopara agregarloal minuendo (sección 1-b). Mediante 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 manera 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 significativo del minuendopara formar el bit de Ia diferencia.Si eL bit del minuendo 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
que resta dos bits y
produce su diferenc_ia.
Este también ti.n, unu salida que especifica
si se
ha prestado un 1' se designa bi; det
mi'ue'do con r y el bit del sustraendo 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_
O_ó:0, 1_6:1 y
"s-r,é
1-1:0.
El resultadose llama er bit d"'dl¡;;;;,se tiene 0_1,
y se hace necesa¡ioprestar un 1 der
siguiente
u 1 prestado
del estad<¡siguiente.mavor asresa 2 ar b;^á;i'-:;;;;;Hi"
"stráo-rnay"i.
misma forma
que en el sistema decimal un r,ú,o".o pre-stado
agrega10 al dígito der mi_
nuendo' Con el minuendoigual a 2laiiferen"i"
*L"riJit"
2-I:I.
El sustractor medio necesitá ¿o. .uiiáu..
"r,diferencia
una salida genera la
y se designamediante el símbolo D.
la segundasalidi aesignaaacomo B
(B viene de Borrow), generala
señal bi.raria que informa al siguiente
estado que se ha prestado un uno. r," lu¡ia
de verdad para las reraciones de
de un sustractor medio se puede dérivar
de la siguienre
ffj;:Í;ir"'ida
00
0l
l0
ll
0
I
0
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:
B:
x,y | ry,.
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-ir,u".rdo, el sustraendoy el bit de
_y
arrastre o bit prestado respectivamente.
r,". ¿o. *liJ"., ñ'v B, represen-
E
S U S T R A C T O R E S1 2 9
SEC.4-4
H
lii
s:
s.
tan la diferencia y la salida del bit prestadorespectivamente.La tabla de
verdad para este circuito es Ia siguiente:
000
001
010
0ll
100
l0l
ll0
lll
00
ll
lt
l0
0l
00
00
ll
i
i
Las ocho filas debajo de las variables de entrada designantodas las combinacionesposiblesde unos y cerosque puedenadoptar las variablesbinarias. 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.
y z : 0 1 , s e t i e n er - y - z : 0 l o
P a r ar : I y
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 sustractor completo se derivan de los mapas de la Figura 4-6. Las funcionessimplificadas 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 similitudes, es posible convertir un sumador completo a un sustractor
0
0
;
0
t.
r'{ I
l-
-R
I r tl
L{---++
f
I
I
t
tr
¡{l
+
7.
D:
x'y'zl
x'yzl
Figura
7.
xy'z' *
4-6
xyz
B:x'y+x'zrya
Mapas para un sumadsr completo
-I
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 elementos discretosde información da como resultado el uso de códigosdiferentes 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 correspondiente 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 especí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
dígito decimal, debe habe¡ cuatro variables de entrada y cuatro variables
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
BDC
0
0
0
0
0
0
0
0
I
I
0
0
0
0
00
0l
t0
ll
00
0l
l0
ll
00
0l
Salida
código exceso3
0
0
0
0
0
I
I
I
I
I
ll
00
0l
r0
0
0
0
0
I
tl
00
0l
l0
ll
00
I
I
C O D I G O SI 3 I
ENTRE
CONVERSIO
S E C .4 . 5
!
r
F
de bits de las cuales se listan 10 en la tabla de verdad. Las seis combinaciones de bits no listadas para las variables entrada son las combinaciones de no importa. Como ellas nunca ocurren, se tiene la libertad de asignar 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 funció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 obteniCD
AB OO
00
ol
-ll
C
'lo-
CD
LB
lt
00
I
01
t)
0
r-l
ta
I
II
I
(
^l'
x
^
X
I' l_l
]' ^j
ll
L
CD
B
B
I
,l
AI
Ir
lll
-T
I
^
I
t
'\
I
t
Figura
=
lxl
D
B'C - I]'D
4-7
L
CD
00
ll
0l
rl
[.]
I
I
D
\'-CD iC'D'
D
D'
I
lx
l-r
I
X
^
X
I
lB
rl
0l
J'^u
ll
I
f-
'l it
^
^
A
I
I
^
f
I
I'
D
BC'D'
v¡'-. A
BC
BD
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:
y:
D',
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 variab 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
4-6
*i
DE ANALISIS
PROCEDIMIENTO
F:
El diseño de los circuitos combinacionalescomienzacon las especificaciones 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 circuito combinacionales de cierta manera el procesoinverso. Este comienza
diagrama lógico dado y culmina con un conjunto,de funcionesde
"" una"tabla dJverdad o una explicación verbal de la operacióndel
"o"
Bool",
circuiio. Si el diagrama lógico que se va a analizar se acompañadel nombre 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'
El primer paso en el análisis es asegurarseque.el circuito dado sea
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 elementos 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 combinacional, 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 procesamiento 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 compuertas 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 compuertasmarcadas 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 variableJ de entrada solamente,por sustitución repetida de las funciones definidas anteriormente.
El análisis del circuito combinacionalen la Figura 4-9 ilustra el procedimiento propuesto.Se nota que el circuito tiene tres entradasbinarias,
133
':
ri
il
rf
it ¡i
ii
il
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 compuertas 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 forman 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 recoA
B
C
A
B
(-
B
C
B
C
Figura
4-9
Diagrama lógico para el ejemplo de análisis
DO
E ANALISTS 135
PROCEDIMIENT
S E C .4 . 6
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 algebraicamente.
La derivación de la tabla de verdad para el circuito es un proceso directo 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ímbolos arbitrarios.
l
li
3. Obténgase la tabla de verdad para las salidas de aquellas compuertas 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 previarrente 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 entradas 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 complemento 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 combinaciones 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 completo 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
000
00r
010
0tl
r00
l0l
rt0
lll
0
0
0
I
0
I
I
I
T3
Tl
0
I
0
0
0
000
0ll
0ll
000
0ll
000
000
r0l
Fl
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 marcan 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 funció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 entradas (intencionalmenteo por error) se tendrá presente una salida binaria. 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.determinació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
ABCD
I
I
I
I
I
I
I
I
0
0
I
I
0
I
0
I
0
I
SaLidas
x
0
0
0
0
I
I
0
0
I
I
0
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 salidas 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 corresponden 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 compygflls NAND y NOR en vez de compuertasAND y OR. Las compuertas
NAND y NoR son más comunesdesdeel punto de vilta del materiai (trardware) 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 cualquier sistema digital se puede configurar con ella. Los circuitos combinacionales y secuencialespueden construirse también con esta compuerta
ya que el circuito flip-flop (el elemento de memoria usado más frecuentemente en los circuitos secuenciales)puedeconstruirsea partir de dos compuertas 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.
AND, OR y NOT con compuertasNAND
La configuraciónde las operaciones
se muestra en la Figura 4-10.La operaciónNOT se obtienede una compuerta NAND de una sola entrada, lo cual constituyeotro símbolopara el inversor. La operación AND requiere dos compuertasNAND. La primera produce
la AND invertida y la segundaactúa como un inversor para producir la salida 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érminos de AND, OR y NOT y convertir las funcioncsa lógicaNAND. La con-
NOT (inversor)
AND
( A ' , B ' ) ' ,A
: * u
Figura 4-1O
oR
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 operaciones 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 BooleMé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 bloque. 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 equivalente, como se da en Ia Figura 4-10 y sustitúyasepara cada compuerta 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éntese la variable de entrada correspondiente.El nuevo diagrama
lógico obtenido es la configuración con compuertas NAND requerido.
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 inversoresde 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 inversoresy cinco compuertas NAND de dos entradas con sus respectivos
númerosdentro del símbolo de Ia compuerta.El par de inversoresconectados 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 quita 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 necesarias 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
B
A
R
(''
(a) ConfiguraciónAND-OR
C
D
R
A
A
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 Figaru 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 invert40
N A N D D E M U L T I N I V E L' 4 '
CIRCUITOS
sEc. 4-7
soresen cascada.Las tres entradasexternasE, A y B' que van directamente a los inversoresse complementan y se quitan los correspondientesinversores. 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 (compuerta 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
y su complementoya que la conversiónhace que se comentrádas-normáles
plementen ciertas variables de entrada.
El método del diagrama de bloque es algo aburrido de usar ya que requiere 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 dificil 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álisiJdel 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
qul la lógica
diferencia
-se NAND requiere una aplicación repetida-del teo"t
demostrará la deducción de la función de Boole
rema de De Morgan.
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 diagr"*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
con símbolos aritméticos. Segundo se derivan de las funciones
-"r."tt
""
para
las salidas de las compuertas que reciben solamente entrade Boole
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 derivadas 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)
Deducción de la tabla de verdao
El procedimiento para obtener I^. tabla de verdad directamente de un diagrama 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 compuertas 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, column a s - d o n d eB : \
y c:0
y se llena el resto de las filas de T, conunos. Seguidamente 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, obtener 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
t
{
5
Tabla
4-3
Tabla de verdad para el circuito de la Figura 4-13
f
T2
0000
0001
0010
00ll
0100
0101
0ll0
0lll
1000
l00l
l0l0
l0ll
ll00
ll0l
lll0
llll
T3
T4
0
0
0
I
I
I
I
I
0
0
0
l0
l0
l0
l0
ll
ll
l0
l0
l0
l0
t0
0l
0l
0l
0l
0l
0
I
I
I
0
l
I
AB
00
Il'
0l
I
t
D
F:AIJTI.JC,_ACt)
Figura 4-14
cuales F
será:
es igual
Deducciónde F a partir de la Tabla 4-3
a 1. La expresión
F:
simplificada
que se obtiene
del mapa
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
SU
Es conveniente algunas veces convertir un diagrama lógico NAND a
de
procedimiento
para
el
facilitar
AND-OR
ló_gico
equivalente diagrala
143
{
I44
LOGTCACOMEINACTONAL
CAP. 4
análisis. Al hacer esto, la función de Boole puede derivarse
muy fácilmente
mediante el uso del teorema de De Morgan. La conversión
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.
alternos
para la compuerta NAND. Estos símborosse repitieron
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--------{
c----l_J
*-¡
(a) AND invertido
Figura
4-15
ABC i
A---{
é--4_z
)-¿'
- B' - C
, ,nurr'
(b) OR invertido
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 correspondientes 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,
I
r
L'
D'
l
B'.
A
B
(a) Diag¡ama lógico NAND
D
B'
A
B
(b) Sustitución de símbolosOR invertido
en nivelesalternos
D
B
A
B
( c ) Diagrama lógicoAND-OR
Figura
¿---l
t
4-16
Conversiónde un diagramalógico NAND a AND-OR
NOT (inversor)
ffA'
A:
B
(A' -r B')'- AB
OR
AND
B
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"
en la sec_
crón previa para las compuertas
"".i-iiut
"l;;"ül;i""io?llo"u¿o
NANID.
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 complemé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
en el diagrama rógicode la
Figura 4-18(a).Por cada-c"-p""ii" óh
." 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-*
".
e.te e¡emptoes igual
l"_-o*rtas NOR
numerg d:.:l-p.""fras
"i adicional
AND_OR
*á. .r. inve¡so¡
1-l
a la salida
(compuertaNoR 6). En general el núme¡o
au
necesa¡ias
para la ejecución de funciones ¿e Boolá
"o*p,,,"iü.-ñon
es iguar
;,1;;;
de
compuertas
AND-OR exceptopor un inversor o"".ion"l."Lo "i
a.,terio. J válido siempre
y cuando se cuente con ras entradas
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 procedimientos 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
D
A
u
C'
(a) ConfiguraciónAND-OR
Sustituyendolas funcionesNOR
equivalentesde la Figura 5-19
^
B,
C
(c) ConfiguraciónNOR
Figura 4-18
C o n f i g u r a c i ód
ne F - A ( B + C D ) + B C ' c o n
c o m p u e r t a sN O R
marcan las salidas de varias compuertas con símbolos arbitrarios. Mediante varias sustitucionesse obtiene la variable de salida como función
de las vaiiabhs de entrada. Para obtener la tabla de verdad de un diagrama lógico sin primero deducir la función de Boole, se forma una tabla hat47
148
CAP. 4
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
de verdad de salida. La función de salida
en cadena hasta obtenrri"Lui"
¿r lu forma T : (A+ B', +C)" de tal made una compuertaNOR trpü;,
para T se m.arca con un 0 para aquellas combiüiutru ¿.
;;t;^*;
".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
en la
mostrados
NOR
AND_OR, se usan ior"i-iofor"para las "o-pr*itu*
NOR
compuerta
para
una
símbolo noimal
Fizura 4-1g. La OR i"";id"
". "l
convenienle que utiliza el teorema
alternativa
;'i;';,Ñó"f;;td;-;;-;;;
que
convención de pequeños círculos en las entradas
á.'b;^Iü'";;-;l;
denotan comPlementación'
, 4_ _ _ _ _ _ S .
3-J
'o
tA_B+cy
E-
{ a) OR invertida
Figura
4-19
a-ñ
--
A'B'c' -\A-B-CI
(b) AND inve¡tida
Dos símbolospara una compuerta NOR
diagramaAND-OR se
La conversiónde un diagrama lógico NOR a un
l;. .i-bolo. de OR invertida a AND inverI"Jü;;
logra ¡xrr medio ¿u
""
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
Figu'7!-?\tld"
la
en
muestra
se
Este procedimiento
para la
Elsímbolo
lógico NOR en t"l *-"ár*ierte a un diagrami¡,NO-On.
observar
Al
invertida'
AND
un
a
."-ñiu
;;"";;;;;-""
en el nivel 3 y dos en dl
"f',iiti-á "l""liál.u
los diferentesniveles, se encuentrauna "o-p""*"
como se muestra
símbolos
de
cambio
un
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
las variablesde entradacorrespondientes,
;;;;ü*;;lado
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
e u n a s oen
l alae n t r a d a
sedmuestra
tanto se elimina.El diagramalógicoÁÑó-on
Figura4-20(c).
4-9
OR EXCLUSIVA
LAS FUNCIONES
Y DE EOUIVALENCIA
iv"l'-Y:,
ivav.deequ
ffiHi:" ffitl;
La oR-exclus
X1
$".1"ff
#:"3.t"?.
que realt:
binarias
oPeraciones
;"
|e,
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 equivalencia) con tres o más entradas. Sin embargo las compuertas OR-exclusiva 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
CAP. 4
L O G I C AC O M B I N A C I O N A L
Solamenteun número limitado de funcionesde Boole se puedenexpresar exclusivamenteen términos de operacionesOR-exclusivaso de equivalencia. Empero, estas funciones resultan a menudo durante el diseño de
sistemas digitales. Las dos funciones son particularmente útiles en operacionesaritmé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 numé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 representan 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 manipulación algebraica:
A@
Boce,
+A,
',,(cD,
+c,D)
1,,u,
: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
lc
I
l
0l
0l
I
I
I
^1
1
I
I
ll
I
lu
l
I
D
F-AaBfiCeD
(4,
Figura
4-22
D
F .= A ABOCAD
(b)
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 equivalentes 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 funcié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 muestra 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 completo (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
A
BC
00
0l
0
I
All
t
Á
BC
00
0
I
All
I
t
C
(a)
l:-A@B0c:
L
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 operació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 circuito que generael bit de paridad en un trasmisor se llama generadorde
paridad; el circuito que compruebala paridad en el receptorse llama comprobador 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 compuertaspueden 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
de tres bits
Figtra
4-24
(b) Comprobador de paridad imPar
de cuatro bits
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 corresponde 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 permanente0 y1a salida se marca P, la ventaja estriba en el hecho de
mente en lógica
"circuiios
pueden ser usados para generación de paridad y
q* u-bor
comprobación.
Es obvio del presenteejemplo que los circuitos de generacióny comp.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 compuertas de equivalenciay de OR-exclusiva'
153
,
Tabla
4-5
Comprobación de la paridad impar
Cuatro bits recibidos
Comprobacióndel
error-paridad
C
00
0t
t0
ll
00
0l
l0
ll
00
0l
l0
ll
00
0l
10
ll
I
0
0
I
0
I
I
0
0
I
I
0
I
0
0
I
REFERENCIAS
Design.EnglewoodCliffs, N. J.:
Rhyne, Y. T., Fundamentalsof Digital S)'.stem.s
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.Eng 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
f
I
PROBLEMAS I 55
4-2.
4-3.
4-4.
(a) Obtenga Ia tabla de verdad.
(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 geneDiseñe un circuito combinacional que acepte un número de tres bits
de
entrada'
número
del
al
cuadrado
igual
salida
de
binario
número
re un
bits para
Es necesario multiplicar dos números binarios, cada uno de dos
por
representados
números
dos
Ios
Asuma
binarios.
en
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
Repita el Problema 4-3 para formar la suma (en vez del
números binarios.
que repreDiseñ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
entrada'
de
número
2
del
de
y cuya salida es el complemento
por 5 una entrada en dí4-7. Diseñe un crrcuito combinacional que multiplique
ser también en BDC.
debe
La salida
gito decimal representada en BDi.
líneas de entrada sin
las
de
pueden
obtenerse
que
las
salidas
Demuestre
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
poco
combinación
una
tengan
entradas
las
cuya .alida sea lógica 1 cuando
código.
en
el
usual
medios y una com4-g. configure un sustractor completo con dos sustractores
Duerta oR.
sustractor
4-10. Demuestre cómo un sumador completo puede ser conveitido a un
inversor'
circuito
un
de
completo con Ia adición
4-5.
del códi4-11. Diseñe un crrcuito combinacional que convierta un dígito decimal
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
para
la
apropiadas
genera
salidas
y
las
BDC
en
acepta un número decimal
selécción de segmentos en un indicador usado para mostrar el dígito decimal'
segLas 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.
H
'l
fr
il
ii
I56
CAP. 4
LOGICACOMBINACIONAL
a
rll s l l,
.l , l.
| | lo
ll
-l
-l
_l t_ l:
lc
I
_l
t_tll
-t
I_-tt--l
_r_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
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
constituyen una paridad par.
'I 30' Ejecute las cuatro funcionesde Boole
listadas usando los tres circuitos sumadoresmedios (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
sque determina un circuito de bajo
baio costo. stn emoarJo, eL criterio
simplificación
a"ni'irse si se va a evaluar el éxito de la
-iii
;;'; il;;"'áLú.
combinacionales
circuitos
los
para
diseño
de
proc.di-iunto
i;g;"á;.
las compuertas neceen la secci ón 4_2 minimiza el número de
p.?r."ira"
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
la máyoría de lás compuertas de una
CI se vuelv"
".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
entre las . compuert,as ,en muchos
algunas de las i"t";;;;;;iones
usar tantas interconexiones
internas a la pastilla y es más económico
de conexiones entre panúmero
el
minimizar
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
uer.
elpnú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
este
en
simplificación
de
da. Además, la tabla áe verdad y el procedimiento
nú-"to de variables de entrada es
ti
método se vuelve -"v1t-pficado,
"l obtenido dice si debe ser configufinal
excesivame.rt" gru.,Jé. El circuito
cuales podrían
SSI'
'las.
rado con ,rnu .or,"*i¿n aleatoria de compuertas
y
cableado de interconegrande de cI
utilizar un número relativamente
u
n procedimiento de did
e
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
diseño
de
método
el
seguir
al
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 un
ma
il;;;;ilii;l
i""g""¡ á"r diseñador.El métodoclásicoconstituve
que se producen resulprocedimiento 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 diseñ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 comercialmente. 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 diseñoy al mismo tiempo se familiariza el lector con las funcionesMSI existentes. Es muy importante conocer las funciones MSI existentes no solamente 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 aplicarse directamente al diseño y ejecución de cualquier ciicuilo combinacional. 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,multiplexores' 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 á" aplicaciones. Su uso en la configuraciónde circuito"
descritos
"o*bittu"ionales
aquí es una de las muchas aplicaciones.
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
especí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:
Suscrito i
Arrastre de entrada
Sumando
Sumando
Suma
Arrastre de salida
Sumador completo
de la Figura 4-S
4321
0tl0
10ll
00ll
lll0
00ll
ci
Ai
Bi
^T
c,*,
u
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 arrastre. 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ónsignificativa dada es el arrastre de salida del sumador completo.Este valor se trasfiere 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 derecha 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 trasfiere en serie,uno a la vez a través del solo sumador completopara producir una cadenade bits salida de Ia suma. El bit de arrastre de salida acumulado 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 entrada 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 sumador 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 salida 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 terminales 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.Puede construirsea partir de las CI sumadorescompletosde 4, 2 y 1 bit conectando 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 funció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.
$
ill
ll.!
*
s3
Figura
5-1
s2
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 configuración simple y bien organizada.
La aplicación de esta función MSI al diseño de un circuito combinacional 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 equivalente 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 mostrado 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 aplicanC t . L a l ó g i c a1 y l a
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
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 inc 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 comt62
No seusa
L5
a.
Entrada
BDC
A2
^
^1
Salida de
e x c e s o3
¡
Bl
B2
B3
D
-
Figura
I
5-2
Ll
Convertidor de código de BDC a exceso 3
puertas antes que Ia suma de salida correcta esté disponible en Ios termide
irte, ¿" salid;. El tiempo de propagacióntotal es igual al retardo
nivede
por
número
el
multiplicando
propagaciónde una compuertatípica
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 estala
ble tan pronto como las señalesde entrada se apliquen al sumador.Pero
que
disesté
hasta
final
estable
estado
a
su
va
no
C.,
arrastre
entrada de
ponible c3 en su valoi de estado estable.De manera similar, c, tiene que
hasta C1' Así, irán la salida Sr y el
i, C, t así sucesivamente
;.;;.;;
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
puede
deducir del circuito del sumador completo. Este circuito es dese
¿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'
a todos los sumadorescompletosy depenEstas dos señalesio.t
"om,rnei
den solamentede los bits de entrada de los sumandos.La señal del arrastre de entrada, C,, se propagaal arrastrede salida, C¡+t a través de una
compuerta AND y una óompuerta OR, lo cual constituye dos niveles de comp""riu. Si hay cuatro sumadorescompletos en el sumador paralelo, la
niveles de compuertasdesde C1
salida de arrastre Cu tendrá 2X4:8
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 sumador 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 compuertas conectadas desde las entradas hasta las salidas. C, mo todas las
operaciones aritrnéticas se ejecutan con sumas Sucesivas. el ttempo compiendido 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 circuitos hsicos tengan un límite de su capacidad.' Otra solucion es Ia de aumentar 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 propagación del arrastre en un sumador paralelo. La técnica usada más extensamente 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 estado 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,) :
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
G 2 + P 2 G t+ P z P t C l
en
Como las funciones de Boole para cada arrastre de salida se expresan
de
nivel
un
con
configurada
ser
debe
fun¿ión
productos,
cada
suma de
de
compuerta; AND seguidas de una compuerta OR (o mediante dos niveles
con
se
configuran
Ca
NAND). Las tres fiinciones de Boole para C2, Ct Y
que
el generador del arrastre primario mostrado en la Figura 5-4. Nótese
prose
C',
hecho
propagarse;
de
para
y
C2
u
C,
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
P y G se
las
Todas
genera
G¡.
la
variable
AND
y
la compuerta
vari;ble 4
propagan
a través
se
Los
arrastres
compuértas.
de
.riueies
ios
generan en
*Un
AND-OR
generador de arrastre posterior es el CI tipo 74782. Se c-ompone de compuertas
: G + PC t.
ilnvertida. Tiene también dos salidas para generar Cs
t65
Generador
de bit de
arrastre
posterior
D
^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
aplican 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ácilmente 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
comt€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 binaria, 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 saIidas por el método clásico requiere una tabla de verdad con 2e :512 entradas. 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 pueden 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
siendo
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 ,
dígitos
que
dos
se
aplican
suponer
Al
salida.
de
el
arrastre
el 1 en la suma,
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
La primera óolumna en Ia tabla Iista las sumas binarias a medida
blC.
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 aparecer 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ígitos 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.
ciones desde 1010 hasta 1111 que necesitan
Las otras seis combina-
una corrección
tienen
un 1 en
la.posiciónzr. Para distinguirlosdel númerobinario 1000y 1001que tambié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.
Tabla 5-1
Deducciónde un sumadorBDC
Suma binaria
S u m aB D C
K
z8
z4
z2
zl
0'
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
I
I
0
0
I
I
0
0
I
I
0
0
0
I
0
I
0
I
0
I
0
0
0
0
0
0
0
I
I
I
I
U
0
0
0
0
0
I
I
I
I
0
0
0
0
l0
ll
00
0l
r0
rl
0
0
0
0
0
0
0
0
00
0l
t0
ll
I
I
,s8
00000
00001
00010
00011
00100
00101
00110
00lll
01000
01001
C
r000
r000
l00l
l00l
l0l0
l0l0
l0ll
l0tl
rl00
1100
s4
s2
Decimal
,sr
0
I
2
A
5
6
7
8
9
0
I
0
I
0
I
0
I
0
I
r0
ll
t2
l3
l4
l5
ló
t7
l8
l9
lJn sumador BD.c. es un circuito que agrega dos dígitos BDC en paralelo 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 binario 0110 a la suma binaria por medio del sumadór binario
de ? bits lnre_
I
n
Salida de
arrastre
Sumador binario de 4 bits
28
I
Sumando
Sumando
24
22
!
' ,1
Entrada
de arrastre
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
ya
disponible en el terminal de
puede ignorarse porque Ju ü i"ro.-ación
arrastre de salida.
Cada uno de los suEl sumador BDC puede construirse con tres CI'
función MSI y Jas tres compuertas para la lóe]c1
madores de 4 bits u.
""u
decorreccióncaben"""""pastillassl.sinembargo,elsumadorBDC
de propagación
se obtiene en un .i..,-,ito úSt.- Para alcanzar demoras
n
e c e s a r i o sp a r a
c
i
r
c
u
i
t
o
s
l
o
s
i
n
c
l
u
y
e
más cortas, un sumador MSI BDC
no nececo¡rección
para
la
sumador
El
circuito
io. u.rurtr"s posteriores.
puede optimiy
circuito
este
completos
sumadores
cuatro
sita todos los
zarsedentro de una Pastilla de CI'
decimales necesita
Un sumador paralelo decimal que suma n dígitos
etapa debe couna
de
salida
á" rrrrrru'doresBDC. El arrastre de
orden'
mayor
de
"nectarse
etapa
"t;;;t
siguiente
la
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
-'., . :--paracron
de dos númeroses una operaciónque determina
si un nú_
r"cr e: ma-\'orqu€' menor que o igual a otro
número. Un comparadord.e
'"¿¿n:itrdes un circuito
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
cuando A > B,
luá-i"Ji*,
A: B, ó A<8.
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
argoritmo
para el diseño de un comparador de
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
rerativas^de dos números. con_
"rr.ro
sidérese los números A y B cada
4 dígit.s y escríbase los coeficientes 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
I
DECODIFICADORES
I71
sEc. 5-5
el siguiente par de dígitos siguientes menos significativos. Esta comparació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:
4Éi * xrArB'r* xrxrArB', * x3xrxrAsB',
:
(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
(A > B):
I
t
il
i
los símbolos (A > B) y (A < B) son variables de salida binarias que son ig'trales a 1 cuandoA> B ó A < B respectivamente.
La ejecución con compuertas de las tres variables de salida derivadas
es más simple de lo que parece ya que tiene cierta cantidad de repetición.
Las salidas "desiguales" pueden usar las mismas compuertas que se necesitan para generar una salida "igual". EI diagrama lógico del comparador 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 aplican 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
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íficador 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 informació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 entradas. 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).
i.
¡l
l.
I
il
D
ñ
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 -
Figura
Tabla
b-2
b-8
' r:'
Decodificador en línea de 3 a g
Tabla de ve¡dad del decodificador
de línea
de3a8
Entradas
xyz
Do
000
001
010
0l
I
r 00
l0l
r l0
I ll
10000000
01000000
00100000
00010000
00001000
00000100
00000010
00000001
Dt
D2
D3
D4
Ds
D6
D1
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 maneras se va a diseñar por dos razones: primero dará un conocimiento 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 escribirá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 Figura 5-9. Hay seis combinaciones de entrada que nunca ocurren
de tal manera que se marcan los cuadrados de ios términos mínimos correspondientes con X.
Es responsabilidaddel diseñador decidir cómo tratar las condiciones 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
D,,
Dl
D\
D2
ll\
"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
D E C O D I F I C A D O R E SI 7 5
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ínimo m r,, de no imPorta Para dar:
Dz:
x'Yz'
E 1 cuadrado con D,, puede combinarse con otros tres cuadrados
de no importa para dar:
Ds:
I
wz
se obUsando los términos de no importa para las otras salidas,
m
a
n
e
ra los
e
s
t
a
D
e
tiene el circuito mostrado en ia Figura 5-10.
tárminosdenoimportacausanunareducciónenelnúmerode
entradas en Ia mayoría de las compuertas AND'
la minimizaun diseñador cuidadoso debería investigar el efecto de
d
e
o
p
e
r
a
c
i
ó
n normal las
l
a
s
c
o
n
d
i
c
i
o
n
e
s
q
u
e
b
a
j
o
p
e
s
a
r
d
e
ción anterior. A
h
ay una falla
p
a
s
a
r
í
a
s
i
o
c
u
r
r
e
n
.
n
u
n
c
a
¿
Q
u
é
i
n
v
á
l
i
d
a
s
seis combinacionós
que las seis
m
u
e
s
t
r
a
y ocurren? un análisis del circuito de la Figura 5-10
listadas en
s
a
l
i
d
a
s
l
a
s
p
r
o
d
u
c
i
r
á
n
combinaciones no válidas de entrada
d
i
s
e
ñ
o es buencr
y
s
i
e
i
d
e
c
i
d
i
r
l
a
t
a
b
l
a
p
u
e
d
e
m
i
r
a
r
la Tabla 5-3. El lector
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
wxyz
Do
0
I
0
I
0
I
Dt
D2
D3
Salidas
D4 D5 D6
D7
D8
Ds
0010000010
0001000001
0000100010
0000010001
0000001010
0000000101
otra decisión de diseño razonable podría ser el hacer todas las salidas iguales a 0 cuando ocurre una combinación de entrada no válida.* Esto requeriría díez compuertas AND de cuatro entradas. Se deben considerar
otras posibilidades pero de todas maneras no se deben tratar las condiciones de no importa indiscriminadamente, sino que se debe tratar de investigar 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 generar 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 salidas 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 funciones 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
-'
Figura
5-11
3x I
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 muestra 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 complemento 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érminos 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 aigunos 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érminos 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 económico generar los términos mínimos del decodificador en su forma complementada. 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 construido con compuertas NAND se muestra en la Figura 5-12. Todas las salidas 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.
Figura
5-12
(b) Tabla de verdad
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 condiciones de no importa. La operación normal del decodificador ocurre solay las salidas se seleccionancuando su estado es 0.
mente con E: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
El pequeño círculo a la salida indica que todas
se activa cuando E:0.
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 informació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 controla 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
decodificador
2x4
Dl
D2
Do
demultiplexor
u2
D3
t)-
E
Act ivación
Selección
(a) Decodificador con activado¡
Figura
178
5-13
Dl
2x4
(b) Demultiplexor
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
I-
:a
,i
I79
DECODIFICADORES
sEc.5-5
tiene un camino a todas las salidas, pero la información de entrada se dirige 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, mient 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 decodificador de por sí puede usai-corripüertas AND, NAND y NOR.
Los circuitos decodificador,/demultiplexor pueden conectarse conjuntamente 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
se invierten las condiciones de habilim í n i m o s 0 C C 0a 0 1 1 1 . C u a n d o u : 1
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 entradas 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
¡ es
":
l para los dígitosoctales-4,
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
una salida más para
indicar el hecho áe que tádas las entradas
no son ceros.
.El-c"o{ificadoren la Figura 5-15 asume que solamenteuna línea de enj
trada
puede
ser igual
;il;;";";;*#f#ilT:ü;i;
_1.1en cualquie-r
no tienesignificado..
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"
*r-lá"j"-a;
entrada
-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,
la salida
será 101 porque D". tiene urr" -uyo. prloridad
."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:
Figura
'Por
5_lb
eiem¡rlo el CI tipo 24149.
Codificador octal a bina¡io
D1lDrl D5l D,
Tabla
5-4
Tabla de verdad de codificador octal a binario
Entradas
Do
D2
D3
10000
01000
00100
00010
00001
00000
00000
00000
1
5-6
t
Dl
D4
Ds
0
0
0
0
0
I
0
0
D6
00
00
00
00
00
00
l0
0l
D.l
0
0
0
0
00
0l
l0
ll
00
0l
l0
ll
MULTIPLEXORES
Multiplexar significa trasmitir una gran cantidad de unidades de informació; por un nú*e.o pequeñode canaleso líneas.IJn.multiplexor digitaL
es un circuito combinacional que seleccionainformación binaria de una
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 conjunto 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 figura 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 circuito' 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 entrada 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
igual al valor de /2 generando así un camino de la entrada
OR es
"ñ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 binaria 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 selecció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
Y
Selección
( c ) Diagrama de bloque
(a) Diagrama lógico
Figura
b-16
( b ) Tabla de funcion
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.
cuando la
-binario
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 circuito 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
lx
00
0l
Salida Y
todo 0
s e l e c c i ó nA
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
las cuatro entradas A tienen
Entonces, si S:0
selecciona cuando E:0.
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 demuestran 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íó."
las líneas
frii.u'a
de selecciónen eseorden, es decir, b s"
conects I s1 y c ase. Las entradas 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,producen una salida 0, ya que la salida es 0 cuando
BC: 00 sin tener en cuent 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¡ =
i;" o*1, :,. por tanto,
ambostérminos mínimosryt_:^A,B,C ^u: AB,C
producenuna salida de 1
i
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 entrada, 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 configura 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
0
00
Io
It
r
MUX
4xl
13 J1
001
010
0l.l
r 0. 0
v'
s6
l0t
l
l0
ltl
(a) Configuración del multiplexor
(b) Tabla de verdad
A
(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ínimos. Se asume que la secuenciaordenadade variables escogidaspara los
términos mínimos es ABCD . . ., donde A es Ia variable de Ia extrema izquierdaen una secuenciaordenadade n variablesy BCD ... son los n-1
variables restantes. Se conectan las n - 1 variables a las líneas de selecció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
la variableA. Como esta variableestá en la posiorden s6. Considérese
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 primera 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 funció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).Enciérreseen un círculo todos los términos mínimos de Ia función e inspecció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 entrad 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 .
Este procedimiento se desprende de las condiciones establecidas durante
el análisis previo.
La Figura 5-18(c) muestra la configuración de la función de Boole:
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 secuencia ordenada de una lista de variables para las entradas del multiplexor. 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érminos 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 manera, 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 aplican a las entradas del multiplexor.
Io
/r
C,
C
Io
It
0
:
12
coot
13
MUX
4xl
r.
4-7d
13
( a ) Tabla de configuración
Figura
,
5-19
Jr
Jo
(b) Conexióndel multiplexor
Configuración alterna p a r a F ( 4 , B , ( ' ) :
I
(1,3,5,6)
I
I
Ili
1,,
ll
t.
MLjX
r, r
)
8r I
l1
A,
I,
A
It,
/r
Figura
5-20
C o n f i g u r a c i ó nd e F ( A , B , C , D l :
EJEMPLO
tiplexor:
I
.f:
\l
.!r,
( 0 . 1 ' ; 1 , 4 '8 , 9 ' 1 5 r
5-4; Ejecutar la siguiente función coll utr mul-
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
pritablá ds configuración es la mostrada en la l'igura 5-20. l,a
A
'
¡
'
l
a
c
(
)
n
a
s
o
c
i
a
d
g
s
e
s
t
á
I
l
mera mitad de los términos mínimos
n
rlt
é
r
m
i
n
o
s
l
o
s
c
í
r
c
u
l
o
e
n
u
n
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
\
'
¿ll
(
,
s
p
a
r
a
e
n
c
(
)
l
l
t
r
a
r
r
e
g
l
a
s
l
a
s
y
a
p
l
i
c
a
n
d
o
nimos de la función
c
i
r
c
u
i
t
rr
e
l
o
b
t
i
e
n
e
s
e
m
u
l
t
i
p
l
e
x
o
r
,
d
e
l
p
a
r
a
e
n
t
r
a
d
a
s
l
a
s
lores
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 decodisólo
ficadoi requiere .,na comprrerta OR para cada función de salida, más
m
í
n
i
m
o
s
' El
se necesitÁ un decodificaáor para generar todos los térmings
ull
p
e
r
t
)
r
e
q
u
l
e
r
e
método del multiplexor usa unidades de menor tamaño
q
ue
a
s
u
m
i
r
5
'
s
¡
¡
¿
2
o
t
t
n
b
l
e
P
o
d
r
i
a
s
a
l
i
d
a
.
multiplexor para cada tunciórl de
se
I
i
c
l
a
s
s
a
d
e
p
e
q
u
e
ñ
a
c
a
n
t
i
d
a
d
u
n
a
c
o
l
l
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
que l()s
e
n
c
u
e
n
t
a
t
e
t
r
e
r
s
e
d
e
b
e
c
o
m
b
i
n
a
c
i
o
n
a
l
e
s
,
ejecución de los circuiios
i
n
f
b
r
maciti¡
l
a
p
a
r
a
d
e
c
o
d
i
f
i
c
a
r
p
r
i
n
c
i
p
a
l
m
e
n
t
e
s
e
u
s
a
n
decodificadores
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.
.Se deberían considerar cuando se diseñan pei¡,entu. y ,r., solo
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 presenta 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 especificarse 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 informació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 combinación de bits de las variables de entrada se llama una direccírín.Cada combinació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érminos mínimos de n variables. El número de direccionesdiferentesposibles 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
M E M O R I AD E S O L O L E C T U R A( R O M )
sEc. 5-7
189
enunaRoM,hay2"palabrasdiferentesquésediceque.estánacumula.
salida, en cualquier
áu, u" la unidad. iu puiuU.udisponibleen las líneasde
a las líneas de
aplicada
la
dirección
de
valor
del
aeperiá"
momento aado,
2" y el númepalabras
de
;;1;;d". una ÉOú se caracterízapor el número
la similitud
a
debido
usa
se
."-á"-¡it. por palabra m. Esta teiminología
que se
lectura-escritura
de
y
memoria
la
fu -á-o.iu de solo lectura
""tr.
presentaen la Secci6n7-7.
en 32 palabrasde 8
Considéreseu"u iiOü de 32 X 8. La unidad consiste
y 32 palabras
salida
bits cada una. Esto ,ig"ifi"u que hay ocho líneas de
puede
aplicarcuales
las
de
una
distintas almacenadasi' la urridud, cada
preque
está
seleccionada
particular
palabra
.r-u fu. Iíneas de salida. La
de
líneas
partir 4" l^1tcinco
sente en las líneas á" .ufiao se determinan a
:
porque
2s
8
Hay solume'te cinco entradasen una ROM de 32X
términ.s
o
direcciones
""ii"a".
32 y con .l.r"o uuii"bles se puede especificar32
pala-bra,únicaselecciouna
hay
para
entrada
de
dirección
cada
mínimos.
la palabra
se'selecciona
00000,
nada. Así, si una Jireccl¿n de entrada es
entrada
de
la
dirección
si
salida.
de
número 0 y esta up"t."" ." las líneas
de salíneas
las
a
y
aplica
se
31
número
palabra
es 11111,se seleccionala
pueden
que
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
2" palapara
especificar
n Iíneas de entrada
hecho de que r" r;;l;
bits que
de
total
por
núm_ero
el
veces
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
decodificador
2
5x32
128 enlaces +
Fr
Figura 5-22
f1
13
Const¡ucciónlógica de una ROM de 32x 4
H
:il
*l
ljl
f
¡l
Él
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
2 s: 5 1 2 p a l a b r a sE
. l n ú.de
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.
Las
32 salidas del decodificadorestán conectadas
"i
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
de suma de
términos mínimos. No tiene qrrusu. una configu.u"i¿.,
"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
en el diseño de
sistemas de computadoresdigitaüs. su
uso para ra configuraciónde circuitos combinaciona-reses justamente una de eüs apricaciones.
otros usos de las RoM-complejos
se'prásentarien otras partes del ribro conjuntamente 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 suma 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.
l,^-.La ruptura de los enlaces,é ,"liur" a la progra_
mación de la RoM. El
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;
c
'i
z¿
¿C
E
a
:
F
'i
9a
O-:
óN
C,^
(J
t9l
bc
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 encuentra 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 combinacionales complejos.Este ejemplo solamentedemuestrael procedimientoy no
debe considerarseen una situación práctica.
La ROM que configura el circuito combinacionaldebe tener dos entradas 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 necesario 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 compuertas OR y como consecuenciase especificaque inicialmente tienen todos
0 en sus entradas. El procedimiento de programaciónde tales ROM requiere 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 compuerta 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 compuertasinternas dentro de la unidad como se hizo en la Figura 5-23;lo cual fue mostrado 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 diagrama 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
I
Tabla de verdad para el circuito del Ejemplo 5-5
ii
:.4
At
Ao
0
0
I
I
0
0
I
0
I
0
I
0
I
t
0
0
0
0
I
I
I
I
^2
I
0
^
84
85
0
I
4
9
l6
25
36
49
000000
000001
000100
001001
010000
0ll00l
100100
ll000l
ro
ñl
0
0
0
0
ROM
8x4
F2
Bs B ^
Bo
Bt
82
83
A2 At
Ft
i?
Salidas
Entradas
F3
F4
B3 B2
Bl
(a) Diagramade bloque
00
0l
l0
ll
00
0l
10
1l
Ao
Fr
F2 F3 F4
0000
0000
000I
0010
0100
0ll0
l00l
ll00
D
(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
I.u.tabla de
propiedades
p"i" r" ROM usándo ciertas
-ttt
;"Ñ;
de vertabla
la
es
5-5
Tabla
La
uerd"d dél circuito combinacional'
entratres
las
necesitan
se
aáa p"r" el circuito combinacional.
posibles.
números
los
todos
para
acomodar.
ralidas
tres
il
;l-[
siempre igual a la entrada Ao de tal
que la saliáa Éo
S.
",
"otu que no es necesariogenera-r86 c9n la ROM.ya que es
manera
es
i.ta lrariuble de entrada' Sin embargo' la salida B'
ig";i;
necesita
Se
es
conocida'
que
siempre
ó, d" t"l manera
dos
"i"*p*
g"""iut sólamente cuatro entradas con una ROM; las otras
tener
debe
3e obtienen fácilmente' El tamaño mínimo de la ROM
ocho
tres entradas y cuatro salidas. Las tres entradas especifican
La
4.
8X
ser
debe
ROM
la
p"fu¡ru, de taÍ maneraque el tamaño de
tres
Las
5-24'
Figura
la
en
con ROM se muestra
i""fig*".i¿n
Las
er,traáas especifican ocho palabras con cuatro bits cada una.
a
igrrales
son
combinacionales
clrcuitos
los
de
;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 maneras 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 fabricante hace Ia máscara correspondiente para que los caminos produzcan
unos y ceros de acuerdo a Ia tabla de verdad del cliente. Este procedimiento 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 facilitar este procedimiento. De todas formas, todos los procedimientos para
programar las RoM son procedimientos de los materiales (hardware) aunque 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 contactos. una vez borrada la RoM regresa a su estado inicial para ser reprogramada. 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 diferentes. 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!?
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
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 consifijo
hera Ia ROM como una unidad de almacenamiento que tiene un patron
e
n
t
r
a
d
as
l
a
s
f
o
r
m
a
,
e
s
t
a
d
e
V
i
s
t
o
p
a
L
a
b
r
a
s
.
l
l
a
m
a
d
a
s
d
e
b
i
t
s
c
a
d
e
n
a
s
de
q
u
e
s
e
a
l
m
a
c
e
n
a
d
a
especifican una dírección pata una palabra específica
t
r
e
s
5
2
4
t
i
e
n
e
F
i
g
u
r
a
l
a
d
e
l
a
R
O
M
upii.u luego a las salidas. Por ejemplo,
l
a
d
e
a
c
u
m
u
l
a
d
a
s
p
a
i
a
b
r
a
s
o
c
h
o
e
s
p
e
c
i
f
i
c
a
n
líneas de dirección las cuales
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
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 combinacionales 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
PLA)
L O G I C OP R O G R A M A B L(E
ARREGLO
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, corno 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 importa es excesivo, es más económico usar un segundo tipo de componente
{i
1
ir
1
,f
'::q
;
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 remplaza mediante un grupo de compuertas AND, cada
una de las cuales pueden 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
AND
y los términos de suma co-nstituyenun g,upo ae"-'comprr"rtu.
oR. Los enlaces 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ífico. 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 entrada 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
producto
(compuertas
AND)
Figura b-2b
*El
CITTL tipo 82S100.
¡n términos
suma
(compuertas
oR)
Diagrama de bloque del pLA
o
(!
ú
o
o
N
o
@
.ir
!6
\o
a .-/
6É
;:6o
<?
F¡
O.
qE
)!z :
Tó
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
tabla de pro_
gramación der pLA al fabricante
Est.a tabra.se,r.u
io, el fabricante para
producir un pLA hecho puru
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_
arrav.).nt .pie p""J" ser.programuao
" po. tde
:i"b^1:-tlqt"
-H;;ñil.iu0o.",
usuariopor medio
oe crerros procedimientosrecomendadás.
"i
comerciales
de materiales (hardwa..l pu.uu.u.-"on¡u.rta-e.,te-"o., ciertos F'LA.
Tabla de programadel pLA
El uso de un PLA debeser considerado
para los circuitoscombinacionales
q u e t i e n e nu n g r a n n ú m e r o
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
de no importa.
El ejemplo presentadou .oniinuu"io"
¿"-r.r*;;;
se programa un
PLA' Manténgaseen mente cuando
se obse.rve
el ejemploque tal circuito
sencillo no necesitaun pLA
vu ñ su configuraciónpuedeejecutarse
más
económicamente
con compuertasSSI.
considéresera tabla d" ;;.;;J'd-el
circuito combinacionalmostrado
en la Figura E-27(a).Aunque
ñó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
en ra forma
de suma de productos. cada t¿i,'ino
¿""otrriñ-,ia
p.;;;;r';;^ü'u"p.".ron
requiere
una compuerta AND. como
el número.d"
pLA es
en
un
finito, es necesariosimplificar-u
"o-puu.l".^año
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:
y dos salidas;asÍ el pLA de
la Figura b-26 puede
;";; ;;;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
aparece en su forma normal (no
i,."a""t"
tildada), la va¡iable"11it.-i"g
de..entrada
." 1. si apa_
rece complementada(tirdada) "o..".po.rai"rrt" ." ^u.i;;;;
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 )
sEc. 5-8
199
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 rlas
o d c,muctose
entre las
asocia con una .o-prrarü AND. Los caminos
ru columna llamada entradas.un 1en la
puertas AND se
Ia correspondienteentrada
"!p;^fi;;¡u:o
columna de entraoal-s;;;ili"" Ln camino desde
producto. un 0 err la
término
el
que
forma
a la entrada ¿" ru
"o*pir"ilu-AND Éa*i'o entre la entrada correspondiente
columna de entrada;;;;ift;";
de la compuerta AND' Un guión no especifica
complementaday t"
"rri."d"
los que quedan forman los
conexión. Los enlaces adecuadosse rompen.y
5--26-Se asurne que los
Figura
ü
caminos deseadoscomo se muestra "n
AND se óomportan como una entrada
terminales abiertos ;;1"";";;"erta
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
la
de
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
se marca con un 1 para los términos
de tal forma que Ft 'i¿r-i""
que tiene
g.
producto
término
Cudu
producto
con un guión Para el
IJ
,{
\------Y---,
00
00
00
0l
l0
1l
00
l1
00
0l
l0
ll
00
OI
l0
1l
L
¡'1
=AB,+AC
B
I
(a) Tabla de verdad
,{
I
\_---r--J
C
¡:. -_AC + BC
(b) SimplificaciónPormaPa
l'érmrno
producto
I
l
AB,
AC
BC
3
Entradas
ABC
10
ll
1l
Salidas
F)
F,
1
l1
-l
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
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 circuito.
cuando se diseña un sistema digital con un PLA no es necesariomostrar 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 hacer 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érminos 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.áaderosy 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
funciones:
5-6.. Un circuito combinacionalse define nor las
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 paraestacombinació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 inversor 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
j,
B
B
I
A)'
L
o{
L
I
I
I
-_
--_-J
C
FI.=8,C,+A,C,+ABC
L
F1=AC+AB+BC
B
I
U
,{
0
0
0
,tI
0
0
0
0
\____Y_/
-r--/
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
productos A B C
B,C,
A,C,
A'8,
ABC
I
1
5
4
-00
0-0
00
tll
Sali{as
Ft F2
ll
ll
l-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 funciones de Boole con tantas variables debe llevarse a cabo por medio del método 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 circuitos 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
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
t¿
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 comercialmente 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 aplicaciones. 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 utilización posible de sus productos. Una lista de notas de aplicación puede
obtenerse escribiendo a los fabricantes directamente o sólicitándola dir 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.: prenticeHall, 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
Nueva Yo¡k: McGraw-Hill Book Co., 1921.
Integratedcircuits.
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:
John Wiley & Sons, 1973.
5 . I,.9, s. c., Digital Circuíts and Logic Design, Englewoodcliffs, N. J.: prenticeHall, Inc.,1976.
SemiconductorManufacturersData Books (consultar la última edición):
(a) The TTL Data Booh for Design Engineers.Dallas, Texas: Texas Instrum 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 T
r 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 semiconducto¡ Products,Inc.
( 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 .
-t-
t
JI
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 completos 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 complementode 2.)
5-4.
Deduzca la ecuación de dos niveles para el bit de arrastre de salida C, mostrado en el generador de bit de arrastre posterior de la Figura 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:
5-5.'
C¡+t :
Gi + PiCí : (Ci Pi + GiCi)'
(b) El CI tipo 74182 es un circuito MSI generador de bit de arrastre posterior 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. (Sugerencia: 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 arrastre 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 propagació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 tiempo 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?
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 productos 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?
l.
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 operacionesaritméticas que dependen de los valores de las variables de selección de la manera como se muestraa continuación.
Función de salida
00
0l
l0
ll
A + 9's complementode B
A+B
I * lO's complementode B
(agreguelaA)
A + |
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
manera:
204
,1,
,
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
medio
Por
P5-14.
Figura
la
en
mostrado
lógico
uqniuuiente
que configur".,
de mayor
"1
de estos circuitos integrados, se pueden comparar los _números
en cascaáa.Las salidasA<B' A> B y
.o.r".iu, los'comparadoies
longitud
"l
menossignificativos.quese conectana
bits
que
contenga
etapa
una
A: B de
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
sigmenos
bits
los
que
manipula
etapa
La
significativos.
más
manipula bits
el
usa
se
5-?.
Si
Figura
Ia
en
nificativos debe ser có-o el circuito -o.t."áo
entradasA <B
y
las
a
0
B
un
A:
entrada
a
la
1
un
debe-aplicar
cl74L85,se
bits menos significativos.usando
i ,q, n á" .r ci qie r.rariprrlalos cuatro
?4L85,obtengaun circuito para
y
un
cI
5-7
Figura
la
de
un circuito .o*o .i
circuito'
comparar dos números de 8-bits. Justifique la operación del
^3
A<B
12
Al
Ao
C ircuito
dela
Figura 5-7
B3
A>B
A>B
B2
Bl
A=B
Bo
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
BDC
decodificador
un
/5-16. Diseñe ün convertidor de código BDC a exceso3 con
a decimal Y cuatro comPuertasOR.
fun'
b-lTY'Un circuito combinacionalse define por medio de las tres siguientes
ciones:
t¡
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 funclones:
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
demultiplexores 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 Figwa P5-27 convierte un número binario de 6 bits a su
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
\___Y-_i
l0r
Figura P5-27
206
Fs
L____T____-_J
100
Conversorde binario a decimal
A
PROBLEMAS 2O7
que
5-28. .Pruebe que una ROM de 32 X 8 puede usarse para configurar un circuito
:
Ao
Bo
con
de
entrada
5
bits
!
de
número
de
un
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 seleccionar 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 comunes?
/
remplaza con una
S-gO/ Cada inversor de salida en el PLA de la Figura 5-26 se
dos entradas.
tiene
OR-exclusiva
compuerta
Cada
OR-exclusiva.
compuerta
y
otra
entrada se
la
oR
la
compuerta
una entrada se conecta a Ia salida de
Demueso
uno'
cero
a
equivalente
señal
a
una
enlaces
por
de
medio
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
términos
de
número
el
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
4-5'
BDC a exceso 3 definido en la Sección
t
á
Lógica
secuencial
I
I
t,l
6- 1
I
INTRODUCCION
Los circuitos digitales hasta ahora consideradoshan sido combinacionales, es decir, las salidas en un instante dado de tiempo son enteramente 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 conectan 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 externas. Estas entradas, conjuntamentecon el presenteestado de los elementos 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
en un circuito secuencialson una función no solamente de las entradas
externas sino del presente estado de los elementos de memoria. El siguiente 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 sistema 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 elementos de memoria comúnmente usados en los circuitos secuencialesasincrónicos son mecanismosretardadoresde tiempo. La capacidad de memoria
de los mecanismosretardadoresde tiempo se debe al hecho de que la señal
208
¡
i
{
-t
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áctiietardo de propágacién interna de las compuertas lógicas es de una
;",
"t
pltt" producir el retardo necesario,de tal manera
duración suficientó
"o-o
de rétardo de tiempo puedan ser despreciables.
fisicas
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
la memoria reqn"iid". Así, un circuito secuencial asincronico
;;.tlút""
puede tomarse como un ciróuito combinacional con realimentación. Debido
a la realimentación entre las compuertaslógicas,un circuito secuencialasinpuede a veces volverse inestable. El problema de inestabilidad im"Jtti"o
po"" Á""rtas dificultades al diseñado¡. Por tanto, su uso no es tan común
como en los sistemas sincrónicosun sistema lógico secuencial sincrónico, por definición, puede usar
señales que afecten"los elementos de memoria solamente en instantes de
discreto. Una forma de lograr este propósito es usar pulsos de
;ü;p.
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 predecibles de tal manera que se separaiátt los pulsos ligeramente, resultando
una operaciónno confiable.
Los sistemas lógicos secuencialessincrónicos prácticos usan amplipara las señales binarias' La
tudes fijas tales coñro niveles de voltaje -de
tiempo llamado generadcir
sincronización se logra por un dispositivo
periódico
de pulsos de reloj- Los
genera un tren
maestro de tiempo
"l
"rrál
de tal manera que los
sistema
del
través
se distribuye.r
pulsos de reloj-memori"
"
la llegada del pulso
con
solamente
afectadas
rotr
ilementos de
aplica a las comse
pulso
reloj
de
práctica,
el
la
En
sincronización.
de
los cambios
que
especifican
las
ieñales
con
conjuntamente
AND
¡pnetta*
-iequeriaos
AND
la
compuerta
de
en los élementos de memoria. Las salidas
con
que
coinciden
instantes
los
en
solamente
pnLd"n trasmitir señales
sincrónicos
secuenciales
circuitos
Los
reloj.r
pulsos
de
los
de
ia llegada
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 separadamente. Los circuitos secuencialesque se discuten en este libro son exclusivamentedel 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 secuencialestemporizados 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
-tipos
en una variedad de formas, hecho éste, que determina diferentes
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 salida. de una.
un camino de
.compuertaa ra entrada de ü otra ."";;i;;;
realimentación. Por esta razón, los circuitos se clasifican
como circuitos
secuencialesasincrónicos.cada frip-flop tiene dos salidas, y
Q
e, y dos
entradas S (seú) y R (res-e.t).
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 recordar 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"
:-J-L,
(puesta
a
o,
(puesta
au
l¡
(a) Diag¡ama lógico
Figura
6-2
l0
00
0l
00
l0
l0
01
01
00
( d e s p u édse S : 1 , 8 : 0 )
(después
de S: 0, .R: 1)
(b) Tabla de verdad
Circuito flip-flop básico con compuertas NOR
E
I
FL|P-FLoPS 2l I
sEc. 6_2
f
q
,
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 misma 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 entradas 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 respectivamente. 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 normalmente. Si ahora ambas salidas van a 0, el estado del flip-flop es indeterminado 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:
I
:l-J-"*uestaace
I
(a) Diagrama lógico
Figura 6-3
(b) Tabla de verdad
Circuito flip-flop básicocon compuertasNAND
1)
l!
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 estado 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
El flip-flop básico por sí solo es un circuito secuencialasincrónico.Agregando 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 puesta a uno se logracon S: 1, R:0 y CP: 1. Para cambiarel estadode puesta 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 flipflop será indeterminado, es decir, podría resultar cualquier estado,
QQ+I\
o
0 00
0 0l
0 l0
0 ll
00
01
10
C
(Pulsos
de reloj)
ll
(a) Diagrama lógico
(c) Tabla ca¡acterística
SR
V
I
o1
!
tl
lx
I
w
rftfl
*_l--
rlr
-¡
'l
tr
Q(t+t):s+R,o
SR:0
CP
(b) Símbolográfrco
Figura
6-4
(d) Ecuación característica
Flip-flop .BS temporizado
1
I
J
E
ts
hl
sEc. 6-2
I
FLIP-FLOPS213
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
al
- final del pulso.
Ei símÉolográfico del flip-flop RS sincronizadose muestra en la Figor¿ O-¿(¡).Tieñe tres entradl.' S, R y CP. La.entrada CP no se escribe
pequeño
á""tro deí recuadro debido a que se reconoce fácilmente por un
y
irianguto. E! triángulo es un símbolo para el indicador.dinámico denota
¿" que el"nip-flop respondea una transición del reloj de entrada
a un nivel-alto
"i-fr"Efr"
o flanco de subida de una senai de un nivelWGTlnario)
y
dentro del recon
marcan
se
Q',
flip-flop
Q
del
(1 binario). Las salidas
diferente
variable
de
nombre
un
lip-nop
át
puede
asignar
le
Se
cuadro.
Áu"q"" ," ur.rib" u.t" Q dentro del recuadro.En este caso Ia letra escola variable del ilip-flop se marca por fuera del recuadrov a Io largo
;id;;"t;
á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
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
(refiriéndoseal siguiente estado).
reloj
-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 caracterí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
el mapa,
-0 ya que pueden resultar como 1 o como 0. Sin embargo
para especaracteústica
parte
la
ecuación
de
:
como
aéUeinctuirse
Sn
que S y E no puedenser iguales a 1 simultáneamente'
-__:ttt""t
P
ii;
ü
:i
$
A¡
F
Ir
!,]
$
¿
E
tt
H
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- sincronizado. La entrada D va directamente a la entrada S y su complemento
se aplica a la entrada R a través de la compuerta5. Mientras que el pulso
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
acuerdo á ios requisitos de que las dos entradas del flip-flop básico-N{ND
(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
(a no
compuerta 3 va a 0, cambiando el flip-flop a!. estado-de puesta a uno
a 0,
4
va
la
compuerta
de
la
salida
0,
es
Si
estado).
ya
é."
esté
;;¡ó";
"tr
al estado de borrado.
cambiando el flip-flop
El flip-flop tipo D recibe su nombre por la ha.bilidad de trasmitir
"datos" a un flip-flop. Es básicamente un flip-flop RS con un inversor en
É
r:
11
$
tr
l¿
ér
t
ja
E
H
(a) Diagrama lógico con compuertas NAND
a:
cP
(b) Símbolo gráfico
Qr't (c) Tabla caracte¡istica
Figura
6-5
Flip-flop
l¡'-'¡1
(d) Ecuación ca¡acterística
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 flifrflop 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 independiente 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 indeterminado 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 flipflop .seponga a cero (clear) dura4te un pulso de reloj ,olamente si
e fue 1
previamente.De manera similar la salida
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
000
001
0r0
tl
EH
rll
011
100
101
1r0
CP
(b) Símbolográfico
111
(c) Tabla característica
Figura
I
I
I
I
6-6
00
0
I -T
o- ltl
-l
1l
tr l
l0
l-'
t-
K
Q ( r+ t ) - t Q ' + K ' Q
(d) Ecuación característica
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 salida 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
e.t t y el flip-flop se pone a uno. En cualquier caso, el
AND se
estadode salida del flip-flop se complementa.
Las entradas en el símbolo gráfico para el flip-flop Jl( deben marcarse
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(,
causarátransila señal cP que permaneceen 1 (mientrasque J:K:1)
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 maestro esclavo o una construcción activada por flanco de la manera discutida en la siguiente sección. El mismo razonamiento se aplica al flip-flop ?
presentado a continuación.
215
(a) Diagrama lógico
tl
5Tr
{i
ll
CP
(b) Símbolográfico
Q ( t+ t ) . - r Q ' + - r ' Q
(c) Tabla ca¡acterística
Figura 6-7
(d) Ecuación característica
Flip-flop ? temporizado
. Flip-flop f
El flip-flop ? es la versión de una entrada, del flip-flop Jr(. como se muestra 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 muestran 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, requieren un disparo de entrada definido por un cambio de niuel de señal.
216
I
D I S P A RDOEL O SF L I P - F L O( T
PR
S I G G E R I N2G1)7
S E C6. . 3
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 segundodisparo. Los flip-flops sincronizadosse disparan por medio de pul.sos.Un
pulso comienza a partir de su valor inicial de 0, va momentáneamentea
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 posterior.
Como se ve en el diagrama de bloque de la Figura 6-1, un circuito secuencial 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 cambiandomientras que las salidas del circuito combinacionalque van a las entradas de
los flip-flops esténsiendosometidasa disparopor el pulso del reloj. El propuede ser prevenido si las salidas de los flip-flops no
blema de..tie_,mpo
corrlienzana cambiar hasta que el impulso de entrada haya retornadoa 0.
Para asegurartal"operación,-un flip-flop debe tener un ietardo de propagació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 controlar 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 durante 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 transició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
tt
tl
Flanco
positivo
Pulso negativo
tt
II
Flanco
negativo
Figura 6-8
Flanco Flanco
negativo positivo
Definición de la t¡ansición de un pulso de reloj
Jii¡'il
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 pulso, 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 momentá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 completo 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
FLIP.FLOP MAESTRO ESCLAVO
Figura
6-9
Diagra.'.a lógico de un flip-flop maest¡o esclavo
1
Y
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 ocurrenci; 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 flipilop 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
paregresea 0, la información del maestrose permite
-haciendo
Q,. Cuando el pulso
'la
entrada
la salida externa Q: 1' Nótese que
sár al esclavo
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 alcance 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 podria venir de la salida de otro flip-flop maestro esclavo que fuera conmutado 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 esclavo de CI cambian los estadosde salida en la transición del flanco positivo de los pulsosde reloj. Esto ocurre en Ios flip-flops que tienen un inversor 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
agregandoun flip-flop ES sincronizadocon un reloj invertido
flip-flops
de
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 informació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 hasta el flip-flop esclavo.El reloj de entrada es normalmente0, lo cual mantiene 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
del tipo fts temporizadocon el flip-flop maestro que suministia las entradas 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 maestro esclavo, con las salidas de algunos flip-flops conectadosa las entradas
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ülso_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áneamentedurante 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ásferirse al segundo y el contenido del segundo trasferiise ál'primero y
ambas trasferenciasocurren durante el misnio'pulso de reloj.
220
J
l
Flip-flop disparado Por flanco
Otro tipo de flip-flop que sincroniza los cambios de estado durante una
transición de pülso de reloj es el flip-flop disparado por flanco (edggtriggered 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 entrada 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 pulso 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.
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
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 compuertas 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
n
$
ff
f
H
H
t¡
:t i *t
i.f
:4
,4
"q
i ir
i.i
iÉ
lll
iil
Figura
6-12
|' ¡;
Flip-flop tipo D disparado por flanco positivo
I.f
221
i.
r,t¡
lÉ
ig
H
(a) Con CP:0
J
(b) Con CP:1
Figura 6-lS
Operación de un flip_flop tipo D disparado por flanco
a 0 ó 1. En cualquier caso, un cp de 0 causa que las salidas
de las compuertas 2 y 3 vayan a 1, haciendo s: R:1,
ro cual constituye ra condició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. cuando D: 1, la compue¡ta 4 irá a 0, lo cual causará q"e lu sarida
de la compuerta 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 importar 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".
un"cambio en D cau222
t
d'n
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
tI
I
I
I
I
ahora que
sa un cambio en las salidas de esas dos compuertas. Asúmase
CP
que,
entrada
y
la
establecimiento
de
liu-po
D no cambia durante
cuando
D:0
"t
si
6-13(b).
Figura
la
en
r"
áibo¡u
se torna 1. Esta situación
a 0' Esto
CP se convierta en 1, entoncesS permanecerá1 pero-R cambiará
Si ahora
6-12)'
(en
Figura
la
q;; la salidl del flip-flop Q vaya a 0
;.";i
compuerde
la
salida
la
D,
hay un cambioLn la entrada
ár.".rt" bp:t,
i (",tttque D vaya a 1)' ya que una de las entradas
iu ¿ p".*"r,"""rá
"r,
0. Solamente
á; lr'compuerta viene áe R-, la cual se ha mantenido en
puede
cambiar;
4
Ia
compuerta
de
ia
salida
0,
reapare""
cuando CP
ningún
"r,
permitiendo
no
1,
ámbas n V S se convierten en
p"i"definido,
tiempo
hay
un
""tá"ce.
embargo
i"r"¡i" en la salida áel"flip-f1op. Sin
por la
el cual no puede se-r-cambiado
if"-áá" el tiempo leiort"ni*ieito,
positivo
flanco
del
transición
la
de
la
aplicación
áe
.nlrr¿" D después
propaáel pulró. El tiempo de sostenimientoes igual al- retardo de
;"ii
co¡tque
se
R
gación de la compuerta á, ya que-se debe tener seguridad
inde1,
4
en
compuerta
la
de
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
mienD'
en
cambio
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
prevenir
para
a
1
y
irán
S
R
u-6".
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
D
en
cambios
Los
de D se trasfiere a Q'
flan"o móvil'positivo,
Sin
"t-u"to.
a
afectarán
no
Q'
1
de
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á
disparados
flip-flops
los
Entonces,
CP:0.
Io hará
;;prco
;;;;
",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
consien
tenerse
deben
y dasostenimiento
d"
Ei;i";pr
".t"bi""imiento
deraciónal usar este tipo de flip-flop'
Cuando se usan diferentes tipos de flip-flops en el- mismo circuito
Ia transi."".r"*i"I, se debe estar seguro que todos los flip-flops hacen
negaflanco
el
positivo
o
ción al mismo tiempo es decir, durante el flanco
a la
opuestamente
que
comporten
se
ii"" á"f pulso. Aqriellos flip-flops
agregánfácilmente
pueden
cambiarse
ira.rrición de polaridad adobtadá,
alterno es
doles inversoresen los reloies de óntrada. Un procedimiento
de un invermedio
y
negativos
positivos
pulsos
ambos
suministrar
-(porque se disparan
;;;t t luego aplicar' los púlro. posiiivos a los flip-flops
que se
flip-flops
los
a
pulsos
negativos
y
loi
fl".,"o negativo
dura.,te
"f
viceversa'
o
positivo,
disparan durante el flanco
.--{r.
E n t r a d a sd i r e c t a s
disponiblesen cápsulasde cI vienen algunas veces con enLos flip-flops
^".p""iul".-para
puesta a uno o cero del flip-flop de manera asintradas
(direct preset)
crónica. Estas entira¿u.." Ilaman d.epuesta a Ltnodirecta
flip-flon e.n e|
el
y de puestoo ,rro- áirecta (direct clear). Ellas afectan
necesarioel
que
sea
sin
de la señal de entrada
íalor positivo (o
"ugutiuol
:
t
Tabla de función
Entradas
BorradoiReloj
J
XXX
.1.00
J0l
tl0
+ll
Figura
6-14
Flip-flop JK
Salidas
K
I
t
I
0l
No cambio
01
l0
Conmuta
I
I
i
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
una entrada de
puesta a cero directa se muestra en la Figura
6-14. La entrada de reloj o
cP tiene un círculo debajo del pequeño"triárwlo páru-'i'ai.ar
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.*
pequeño cí¡culo
un
para indicar que, normalmente, esta entrada
debe mantenerseen 1. si
la entrada de puesta a cero se mantiene en 0,
el flip-flop permanece en
cero independientemente de otras entra.das alr priri
áá' .eto¡. La
" Las l.o.,-.o.,aición tabla
especificala operaciónder ci¡cuito.
9:_1_1:ió.
de no
rmporta que indican que un 0 en la entrada directade puesta a cero in_
habilita todas las entradas. Solamente cuando
la entáda de puesta a
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
se complementa
cuando J:K:1Algunos flip-flop. pu"du' i""".
"";;";;t"."¡ij., un"
entrada
directa de puesta u u.,o la cuai po,i" lá salida
A
a;^A lr, 0) asincróni_
camente.
";
cuando las entradas sincrénicas directas están presentes
en un flip_
flop maestro esclavo,deben
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
á-rz ," conecta
a las entradasde las compuertas2 y 6.
6-4
I
oo'
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
El -comportamientode los circuitos secuenciares
se determina de las en_
tradas, las salidas y ros estados de los flip-flops.
Ambas entracrasv el
224
I
&
{
I
¡
II
l
I
:
I
l.
t
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 comportamiento de los circuitos secuenciales.Sin embargo, estas expresiones deben incluir la secuenciade tiempos necesariadirecta o indirectamente.
Un diagrama lógico se reconocecomo el circuito del circuito secuencial 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 secuencialtemporizado y luego se presentan varios métodos para describir el comportamiento 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 Figura 6-1S.Tiene una variable de entrada, una variable de salida y dos flipflops temporizadosRS llamados A y B. Las co4exionesrealimentadasde
las salidas de los flip-flops a las entradas de las compuertasno se muestran en el dibujo para facilitar el trazado del mismo. En vez de ello, se
reconocenlas conexionespor su letra marcada en cada entrada. Por ejemplo, la entrada marcada ¡' en la compuerta1 designauna entrada del complemento 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
t----)
l-'
I
r'
B'-_-.1-/
B
Figura
l
L
6-15
Ejemplo de un circuito secuencialtemporizado
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
"rtodo.*
circuito de-la Figura 6-15 se muestra en
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 secciones 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
Estadopresente
x:0
x:l
AB
AB
AB
00
0l
l0
ll
00
0l
0l
00
lt
ll
l0
l0
Salida
x:0
0
0
0
0
x:
I
0
0
I
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-.
"rg,;.En cada caso, el análisis puede comenzara partir
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
a esta tabla tabla de translcidn Ellos reservan el nombre tabla de estado a una tabla
con estados internos representados por símbolos arbit¡arios.
I
SEc.6.4
227
TEMPORIZADOS
SECUENCIALES
DELOSCIRCUITOS
ANALISIS
De manera similar, se puede deducir el siguiente estado comenzando
a partir de los otros tres estados presentesposibles. En general, el siguiente 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.
y
En este ejemplo,la salida y es igual a 1 solamentecuandox:1, A:I
cuando
0,
excepto
B: 0. Poi tanto, las columnas de salida se marcan con
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 secuencial con m flip-flops y n variables de entrada tendrá 2- filas, una para
cada estado. Lut tócciotte. del siguiente estado y de salida tendrán cada
una 2" columnas,una para cada combinaciónde entrada.
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 compuertas lógicas. Cualquier salida externa tomada directamente de un flipflop 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 binario 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
I
I
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 marca 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
y y:0 y que al finalizar el-siguientep"f.á
1.
a.
reloi, el circuito va al siguiénie
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
";;";;.'
estado está en una forma
{3 ""1. vista pictórica de las transiciones de
disponible
para interpretación binaria de la operación
del circuito. El
diagrama de estado s" usa
-"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-""á
tr.ci¿n de Boole
que especifica las condiciones del presente
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
las condiciones
_flip-flop,
del siguiente estado en té¡minor a" ta. variables'de
enirada externas y
otros valo¡es de los flip-flops. La ecuación
de estados.áLriu" directamente 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
algebraicamenteen la ecuaciónde estadáde la siguie.rt"-.rr"rráru,
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
tengael
siguiente estado de,0."*-iry"I izquierdo de la
..";;ió;;;ntifica
los flip_
Fr-lado
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 incluido' Es aplicable solamente en ros circuitos .""r,,"rr.i"i"s
áe reloi, ya que
A(t + t) se define para que cambie de valor
ü
¿"1 pulso de
reloj en instantes discretosde tiempo.
"";
";;;;.,ii"
I
0
I
A1l
l
A ( t - l ) : B x ' + ( B * x ' )A
- B x ' - : -( B ' x ) ' A
(a)
Figura 6-17
it
B(t-l)-A'x-(A'!x)B
(b)
:
A t xi
(Ax')'B
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):
Si se deja que Br':
Bx' + (B'x)'A
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 secuencialpuede deducirse de una tabla de estado o de un diagrama lógico. La deducción de una tabla de estado consiste en obtener Ia función de Boole especificando 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 caracterí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 marcados 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:
fl
B(r+t):A'x+(Ax')'B
La ecuación de estado puede derivarse directamente a partir del
diagrama lógico. De la Figura 6-15 se observaque la señal para Ia entrada
S a"etnip-¡óp B se generapor Ia función A'x y la señal para la entrada R
229
:Fi
:t¡ j
'¡Il
if
23O
LOGICASECUENCIAL
CAP. 6
por la función A¡'. SustituyendoS:A'¡
terística del flip-flop RS dada por:
y R:Ax'
en la ecuacióncarac-
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 memoria y compuertas. La clase de flip-flops y la tabla característicaespecifican las propiedadeslógicas de los elementosde memoria. Las interconexionesentre las compuertas forman un circuito combinacional y se
pueden expresar algebraicamentecon funciones de Boole. Así, un conocimiento 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 combinacional 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 variable 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 combinacionaldibujado 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 entrada y y dos flip-flops RS denotadórpo. A y B.El diagrama lógico-pu_ede
aüebráicamente con cuatro funciones de entrada del flip..i-..pó."do
de salida del circuito como sigue:
y
función
una
flop
RA: B'x
SA: Bx'
SB: A'x
l:
RB: Ax'
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;
por
La
B'
denotado
RS
flip-flop_
SB y RB especifican un segundo
para
las
variables
Boole
""?i"¡f".
de
expresiones
Las
,"ri"¡r" y denota la salida.
parte del circuito combinacionaldel circuito secuencial.
".p".in.á"
Las funcionesde entrada del flip-flop constituyen una forma algebraisecuenca convenientepara especificarun diagrama lógico de un circuito
de la
letra
primera
la
partir
de
a
cial. Ellas impúcan el tipo de flip-flop
combinaciocircuito
el
completamdnte
variable de entrada y especifican
en
,r"i qrr" maneja et tilp-ftop. El tiempo no se incluye explícitamente
pulso
del
o-peración
partir
la
de
a
pero
comprendidb
éstá
ecuaciones
estas
un
de reloj. Es conveniente algunas veces especificar a.lgebraicamente
de
y
funciones
circuito
del
salida
de
cucuito secuencial con funci*ones
lógico'
diagrama
el
dibujar
de
vez
entrada del flip-flop en
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 circuito y culminan en una tabla de estadoo diagrama. El diseño de un ciry culmina en un
cuito secuencialpaite de una serie de especificaciones
áiug*^" Iógico.Los procedimientosde diseño se presentan comenzando
por la Seccién 6-?. Esia sección incluye ciertas propiedadesde los circuiio. ,".,t"rr.iales que pueden ser usados para reducir el número de compuertas y flip-flops durante el diseño.
+
F
ii
;!
.ll
:{
*Esta sección se puede omitir sin perder continuidad'
231
i¡i
,1
;¡
!¿
rf,
*i
ü
H
1.
-¡l
Reducción de estado
Cualquier procedimiento de diseño debe considerar el problema de minimí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 investigado 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 reducció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^ estados, 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 equivalente (con menos flip-flops) podría requerir más compuertas combinacionales.
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 secuencias 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 aplicado 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 diagrama 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 encontrará 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 circuito cuyo diagrama de estado se da en la Figura 6-19. Si se aplican secuencias de entrada directas a los dos circuitos y ocurren salidas idénticas 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 encontrar maneras de reducir el número de estadosen un circuito secuencial 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 procedimientos 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 directamente del diagrama de estado de la Figura 6-19.
Tabla 6-2
Tabla de estado
Estado siguiente
Estadopresente
Salida
x:0
x:l
¡:0
x:l
a
b
c
d
e
a
b
d
d
0
0
0
f
c
o
a
0
0
0
0
0
0
0
c
a
e
a
f
f
Í
f
234
LoGIcA SECUENCIAL
CAP. 6
Un algoritmo para la reducción de estado de una tabla de estado especificada 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 estado 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 verdad, 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 saIidas 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 remplaza por el estado e cad.a vez que apatezca en las siguientes columnas
de estado.
Tabla 6-3
Reduciendo la tabla de estado
Estadosiguiente
Estadopresente
x:0
b
c
d
e
Í
g
x:0
x:l
a
c
a
e
a
a
Salida
x:l
0
0
0
I
I
I
I
b
d
d
fd
ld
f
f
te
a
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 estadossiguientes 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 secuencia de salida requeridapara una secuenciadada de entrada. La siguiente
lista deducida del diagrama de estadode la Figura 6-20es para la secuencia 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
D E E S T A D O SY A S I G N A C I O N
REDUCCION
sEc. 6-5
235
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
a
x:0
a
b
0
d
e
e
x:l
b
d
d
d
d
iü
H
Salida
Estado siguiente
Estado presente
T
x:0
x:1
0
0
0
0
0
0
0
0
I
I
de estado
¡educido
Figura 6-2O Diagrama
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 directamente 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
fisicos requieren que se usen tres flip-flops, porque m flip-flops pueden
representar hasta 2- estados diferentes. Con tres flip-flops, se pueden
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
siete estados: el estado restante no se usa. Si se usa la tabla de estado
r
ilt
F]
E1
$l
FI
ht
F
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 combinacionesde no importa por lo general ayudan a obtener una función de
Boole más simple, de manera parecida el circuito con cinco estadosnecesitará 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 binarios o estados de tal forma que se reduce el costo de los circuitos combinacionales que accionan los flip-flops. Esto es particularmente útil
cuando se obse¡va un circuito secuenciala partir dé sus terminales externos 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 toman 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 mantenga las relaciones de entrada-salida adecuadas.Por esta razón, cualquier 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 secuencia 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 asignación binaria diferente resultará en una tabla de estado con valorJs
binarios diferentes para los estados, mientras que las seleccionesde entrada-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
Estado
Asignación t
Asignación2
b
d
e
6-6
Asigrración3
000
100
010
l0l
0ll
000
010
0ll
l0t
lll
001
010
0ll
100
l0l
a
Tabla
Tres asignacionesbinarias de estado posibles
Tabla de estado reducido con asignación bina¡ia 1
Salida
Estado siguiente
Estado presente
001
0r0
0ll
100
l0l
x:0
001
0ll
001
l0l
001
x:l
010
100
100
100
100
x:0
x:l
0
0
0
0
0
0
0
0
I
I
cuencial. La complejidad del circuito combinacional obtenido, depende
de la asignacióndel estadobinario escogido.El diseño del circuito secuencial preséntadoen esta sección se completa en el Ejemplo 6-1 de la Secció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.
t
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 flipflop 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 repreientan la misma información que las tablas característicasde las Figuras 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
(c) D
(d) 7"
al estado siguientedespuésde la ocurrenciade un pulso de reloj. La tabla
característicadel flip-flop RS muestra que el siguiente estadoLs igual al
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
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.iuando J y K son ambos igualesa 1, el estadosiguientees igual al complemento
del presenteestado,es decir, Q(r+ 1): e'ú1. nt siguienteestadodel flipflop -D es completamente dependiente de la entrada-D e independiente dLI
estado presente.El siguiente estado del flip-flop ? es el mismo que el estado 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 entradas y el estado presente se conocen.Durante
p.o."ro de diseño se
"l
conocepor lo general la transición del presente estado
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 condiciones 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
l
i
I
I
Tabla
QQ)
6-8
Tablas de excitación de los flip-flops
QQ+I)
QQ)
QQ+I)
0
I
0
I
0
0
I
I
0
I
0
I
O) /,K
(a) RS
QQ)
QQ+I)
0
0
0
I
0
I
I
I
(c) D
0
I
0
I
QG)
QQ+I)
0
0
I
I
0
I
0
I
0
I
I
0
(d) r
Flip-flop FS
en la Tabla 6-8(a)' La
La tabla de excitación del flip-flop RS se muestra
estado 0 en el tiempo Ú' Se desea
nip-noP
primera fila muestr"
"l
"l
"f
de^la ocurrencia del pulso. De Ia tabla cael estado o-áu"Ñ¿,
á;j;;i;";
el flip-flop no camracterística, se encuent.a que si S y X son ambos 0,
rteben
ser 0' Sin embargo'
x
S
entradas v
biará estado. Por t";;;;;;úas
pulso'
qYe resulta dejanel
ocurre
vq
I
rl se hace'ñ ,r,t
;;t;;;il
permane""uttdo
0
ó
1
ser
puede
v
R
Así,
0.
9l flip-flop
;; ;i-hi;-flop en el estado
se marca
R
de
por
tanto, la entrada debajo
estadoo en ¿*1.
;;J;^eI
por la condiciónX de no imPorta'en ei estado0 y se deseaque vaya al estado 1' enSi el flip-flop
la única forma
".la
torr"J. u pur?i, ¿L tá iatta característica, se encueltra. o^g.e
R : 0 . s i e l f l i p - f l o pv a a t e n e r
á ; ú ; ; . ; Q t r + 1 ) i g u a l a 1 e s h a c e rs : 1 y
:
1 al estado0 se debe tener S: 0 y R 1'
u.r. trur,rüiór, d"t
es
estar en el
flip-flop
".luao
un
en
;;;dt ocurrir
La última .""á;;ió" ;;
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
la entrada J
t91"..0'
y
siguiente
estado
presente
Cuando ambos estado
cuando
ó
1.
Similarmente
puede
0
sór
K
i"
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
luede ser 0 ó r. si.l-irip-ñáp ,,rua tener una
_J
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
0 ó 1. si K:0,
la condiciónJ: l pone a uno et fiip_nopcomo
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
e(¿+t)
"'
tiene que ser l, independientementedel valor
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,
"orror."
de la cual es posible desarrollar
-La
una
nueva
tabla de excitación.
iabla a"
se
;;;;;es
para deter_
minar las tuncionesde ent¡ada der"*"it""ión
nip-¡oo, ;;" "."
;;;;ü;;
en la sisriente 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;á
o una lista
de funciones de Boole de las cuares se puede
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
En contraste con el circuito combinacional,el cual está especificadocompletamente 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
circuitos .e".tettóialeses obtener una tabla de estado o una representatal como un diagrama de estado o ecuacionesde estado'
.i¿r,
"qrri.rulente
circuito secuencialsincrónico se hace de flip-flops y compuertas
Un
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 caracteisticas enunciadas.Et ntmero de flip-flops se determina por el número 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 circuitos 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 reducció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 circuito y las tablas de salida.
8. usando un mapa o cualquier otro método de simplificación, se deduce las funcionesde salida del circuito y las funcionesde entrada
del flip-flop.
9. Se dibuja el diagrama lógico.
en palabras del comportamientodel circuito asuLas especificaciones
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-
;i:
-i
i;
ii
:]
j
I
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 obtenido 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 binarios 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
". "oen 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 usados 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 especificaciones 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
"o*plu-u.rtación (tales como contadoresbinarios), y el tipo JK para aplióaciones
generales.
La información de salida externa se especificaen la sección de salida 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 flipflops 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 binarios 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
P R O C E D I M I E N TOOE D I S E Ñ O
sEc.6-7
ninguna variable de salida. (El estado de los flip-flops puede considerarse
como las salidas del circuito.) Los dos flip-flops necesariospara representar los cuatro estadosse designancomo A y B. La variable de entrada se
designar.
La tabla de estado para este circuito, derivada del diagrama de estado, se muestra en la Tabla 6-9. Nótese que no hay sección de salida
para obtener la
para este circuito. se mostrará ahora el procedimiento_
combinacional.
la
compuerta
y
de
iabla de excitación la estructura
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 estado 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 (denotadas por JA y KA) y B (denotadaspor JB y KB).
Tabla
6-9
Tabla de estado
Estado siguiente
Estado presente
00
0l
l0
ll
x:0
00
10
l0
ll
x:l
0l
0l
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 transició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
Así 0 y X se copian en
requierenque la entrada J:0 y la entrada K:x.
Ia primera-fila bajo JA y KA, respectivamente.Como la primera fila muestra 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
combinacionales
Estado
presente
Entrada
Siguiente
estado
0
I
0
r0
0
I
0
l0
ll
ll
00
0l
l0
0l
l0
ll
II
00
I
I
I
I
I
Entradas de los flip-flops
JA
00
00
0l
0l
ü
¡
Salidas del circuito
combinacional
JB
KB
OXOX
OXIX
IXXI
OXXO
XOOX
XOIX
XOXO
XIXI
en- la Tabla 6-8(b) copiadasen la fila correspondientedel flip-flop particular 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
diagrama-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
va_
lores de estado presentesde los flip-flops. sin embargo,las funciones
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 estado 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 salidas son las variablesJA, KA, JB y KB. La información dó la tabla
de verdad se trasfiere a los mapas de la Figura 6-23,donde se derivan las
cuatro
funcionessimplificadas de la entrada de los flip-flops:
I
JA : Bx'
JB:x
244
KA: BX
KB: AOx
Salidas
externas
(ninguna)
A'
A
Circuito
combinacional
B'
B
Diagrama de bloque del ci¡cuito secuencial
Figura 6-22
Bx
A
0
I
All
l,
B
0
-lr--^-T0I
X
x
x
X
X
X
x
X
I
x
tA:
KA -- Bx
Bx'
I
v
X
X
x
x
X
X
X
lB:x
Figura 6-23
lj - 1
KB:A@x
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.
Con alguna experiencia,es posible reducir la cantidad de trabajo envuelto en el diseño del circuito combinacional. Por ejemplo, es posible
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
I
il
)14
5
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 especifican 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 excitació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 listadas en alguna cuenta binaria conveniente. La siguiente sección de estado 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 excitació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 cuando 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 secuencial no se listan en la tabla de estado. Cuando se simplifican las funciones de entrada de los flip-flops, los estados sin usar pueden ser tratados 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
Estado
presente
Entrada
Tabla de excitación para el Ejemplo 6-1
Estado
siguiente
ABC
ABC
001
001
010
0r0
0ll
0ll
100
100
l0l
l0l
6-11
0
I
0
I
0
t
0
1
0
I
001
0l0Oxl
011
100
001
100
10tx00
100x00
001
100x00
Entradas de flip-flops
SA
RA
SA
RB
0
x
0
oxx
l
0
0
x
I
0
X
0
0
0
0
0
0
I
0
X
X
X
X
Salidas
SC RC
0
0
0
0
0
0
0
I
0
I
XO
0l
l0
OX
XO
0l
l0
OX
XO
0l
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 columnas del estado presente y del siguiente estado de la tabla de estado. 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 información necesaria para el diseño.
Hay tres estados sin usar en este circuito: los estados binarios 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 funciones 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 cuadrados 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
X en las columnas de entrada dr-.I flip-flop de la tabla. Las funciones simplificadas se listan bajo cada mapa. El diagrama lógico
obtenido de estas funciones de Boole se dibujan en la Figura 6-26.
:i
.t:
I
l,
i''
Un factor olvidado hasta este momento en el diseño es el estado inic i a l del circuito secuencial. Cuando se le da potencia a un sistema digital
247
t:i
i
C
Cx
00
AB
0t
ll
l0
X
t-;
0l
t^
["
X
L'o
X
el
^
i"
;1
l¿ !_)
X
Y
rtl
t4
X
Y
v
Y
I
X
A
U
L_J
^
X
X
il|
f-T E
I
A
X
l^
X
SB = A'B'x
RA=Cx
SA=Bx
A
Y
X
-¡
'l
g
JJ
x
x
x
Y
I
F
I
x
I
A
^
X
^
rl
I
.tc = x'
RB=BC+Bx
x
^
r;
Li
¡
A
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 costumbre 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ónestemporizadas. -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 cualquier otra razón imprevista, el circuito se encuentra en uno de estos estados inválidos? En este caso es necesario asegurar que el circuito
eventualmentevaya a uno de Ios estadosválidos para regresara la operación normal. De otra manera, si el circuito secuencial circula dentro
de los estadosinválidos, no habrá manera de llevarlo de nuevo a la secuencia intentada de las transiciones de estado. Aunque se puede asumir que
esta condición indeseablesupuestamenteno ocurre, un diseñador cuidadoso puedeprevenir que esta situación nunca ocurra.
Se había expresadopreviamente que los estadossin usar en un circuito 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 tomaran como condicionesde no im¡rorta, el circuito puede ser investigado
para determinar el efecto de estos estadossin usar. EI estado siguiente
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
I
i
i
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 circuito 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 Figura 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 estado de la Tabla 6-11), entonces se sabe que el diseño es correcro.
En suma, se debe determinar los estados siguientes de los estados 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 pondrá.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 estado 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
""to
términos mínimos.
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,
"rtudo.
011, 100 y 101. si alguna vez se encuentra en uno
de los estados
Figura
6-27
Diagrama de estado para el circuito de la Fizura 6_26
D l s E Ñ OD E C O N T A D O R E S 2 5 1
sEC. 6-8
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 siguiente 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 siempre. Los estados no usados que causan tal comportamiento indeseable deben ser evitados; si se detecta su existencia, el circuito
debe ser rediseñado. Esto puede hacerse más fácilmente espec.ificqn{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 estado_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 ocurrencias de Un evento y se usan para generar Secuenclas cte tlempo para Cont 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 secuencia 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 muestra 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
o".rrre ningún
pulso. Por esta razón,,el pulso de
variable cp ;; áirr.." explícita_
.reloj
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 cuenta. 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.eparadaporque 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
obtenersedii;;;
rectamentede la secuenciade cuenta.
"*"it".iá"
Tabla
6-12
Tabla de excitación para un contado¡ binario de t¡es
bits
Secuenciade cuenta
A2
Al
0
0
0
0
00
0l
l0
ll
00
0l
l0
ll
Ao
Entradas del flip-flop
TAz
0
0
0
t
t
0
0
0
I
TA,
TAo
0
I
0
I
0
I
t
0
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 flipflops. 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 inspección de Ia transición de estado de una cuenta
dada (estadopresente)
D I S E Ñ OD E C O N T A D O R E S 2 5 3
sEc 6-8
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í
Comla
secuencia.
en
cuenta
i"t riguiu"te es 01ó, el'cúal es la siguiente
TA':
hace
y-así
lo
a
0;
0
que
va
de
A2
ir"i""¿lestas dos cuentas' se nota
ocucuando
cambiar
sin
permanecer
debé
A2
porqueel flip-flop
;;;;;0
l porque
un
con
marca
se
y
?Ar
así
1;
a
de
0
Á'
vá
reloj.
p,rlto
de
;;;
"; 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,
111
presente
estado
el
con
columna
así TA6 se marca con un 1, La última
AI
." *Ápuru con la pii*"tu cuenta 000 la cual es su estado siguiente.
tres
los
que
todos
requiere
se
los
ceros,
a
todos
unos
los
;;.;t- á" to¿ot
flip-flops se comPlementen.
Las funcion"r á" é"1tuda de los flip-flops de las tablas de excitación
lisse simplifican en los mapas de la Figura 6-29. Las funcionesde Boole
del
combinacional
circuit.
parte
de
la
especifican
mapa
cada
i"au. il"¡
un
se
obtiene
contador. Incluyendó estas funciones con los tres flip-flops,
6-30'
Figura
la
en
mostrada
lógico del contador de la manera
ái;ilr;
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
de diseño
procedimiento
el
fbrmas,
la secuenciábinaria iirecta. De todas
se
excitación
de
y
la
tabla
lista
se
cuenta
es el mismo. La secuenciade
listada
cuenta
la
siguiente
presente
con
cuenta
una
comparando
"úti"""
^11
A-rLI
I
I
I
I
I
I
I
4O
TAt = Ao
TA, =AtAo
Figura 6-29
TAo=1
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 secuencia repetida de seis estadoscomo Ia listada én la T"abla6-rg.
En esta secuencia,ros flip-flops B y c repiten la cuenta binaria 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
0
0
0
00
0
JB
JC
OXOXIX
OXIXXI
IXXIOX
XOOXIX
XOIXXI
XIXIOX
ll
l0
00
0l
l0
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
es
aquel que puede comenzar en cualquier estado y
alcanzarla secuenciade cuentanorÁal.
"u".rtrruÍmenre
(a) Diagrama lógico del contador
(b) Diagrama de estado del contador
Figura
6-9
6-31
Solución al Ejemplo 6-3
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étodo 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 procedimiento 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
Esta ecuación estable"",.qu" er siguiente
est¿do del flip-flop es igual al
valor presentede su sarida ¿
v-ü-i"aependiente
a"i áto. del presente
estado' Esto sisnifica que ra* enrradu.
pa.u el siguienteestadoen Ia
ta_
bla de estadosón exactamentelas
mismas que ras'entradas,. por tanto,
no es necesarioderivar las condiciones
de^".,truau--á"r"nip_noppara la
t'abla de excitación porque esta información
está disponible ya en las
columnasdel siguienteestado.
por ejemplo,la tabla de excitación
-,-Tó*":",
de la Tabla 6-10. La sigurente
columna de estado para A tiene
cuatro unos, de la misma manera
que la columna para el sigurente
;hd" d; t. p;
;;.;;", esre circuito
co,' flip-flop. D,.se escribe-n
tu..*u.innes de estadoy se fbrma
la ecua_
crón con ellos a las entrada. D
"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 flipB, 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
pueden obte^r,u.
nerse por medio de dos mapas de
tres variables.
irrrr"iones
simplificadasde 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*
importa. Los
términos mínimos de no i-portu "o-o"o-binaciones
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
con cuatro
flip-flops A, B, C y D. Los u.lu¿o.
siguientesd;C,'¿ y D son iguales 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.
presentes
deCyD.
A partir del enunciadodel problema,
es convenienteescribir
primero las ecuacionesde estado
para el circuito:
I
I
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 realimentació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 flipflop (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 flipflop:
DA:C@D
DB: A
DC: B
DD: C
El circuito puede construirse con cuatro flip-flops D ¡' una compuerta 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 proceso 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 simplificadas. 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 expresión de Boole. Es necesarioentoncesmanipular la expresiónalgebraicamente hasta que Q v Q'se incluyan en las posibilidádesque pueder"t
encontrarse.
EJEMPLO 6-5; Diseñar un circuito secuencialcon los flipflops JI( para satisfacer las siguientesecuacionesde estado:
A(t + l):
B(t + l):
A'B'CD + A'B'C + ACD + AC'D'
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 conjuntamentecon (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:
y:
A,C + CD,
( 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
la siguiente
de
apareamiento
de
propósito
para
el
manipulada
manera:
D(t+,,_:!r,,r:r,,
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óndedosletrasparadesignarlauu,iabt"deentradadelflip-flop,nousadaenlaanterior
derivación, se usa a continuación:
JA:
JB:
JC:
JD:
B,C
A,C + CD,
B
I
KA:
KB:
KC:
KD:
CD,+ C,D
AC, + AD
B'
I
alterno paEl procedimiento de diseño introducido aquí es un método
secuencial
circuito
del
flip-flop
del
entrada
de
ra determinar las trrr"lont.
parc usar este procedimiento cuando un
JK.
flip_¡1oo,
se usan
;;^"d"
es necede estado o tábla de estado se especifica inicialmente,
ái;g;;-"
esboprocedimiento
por
el
,urñ q"" Ias ecuaciones de estado se deriven
para
enconestado
de
la
ecuación
de
,uao u" la Sección 6-4. El método
del flip-flop puede extenderse para cubrir
trar las funciones dá l"tr"d"
de no importa'
estados sin usar los cuales se considéran como funciones
de una ecuaforma
la
Los términos mínimos de no importa se escriben en
la ecuación
de
la
forma
que
en
estén
ción de estado y se -a.,ipulan Éasta
J y
funciones
Las
particular
considerado'
característica para el flii-flop
mínimos
K en Ia ecuación de estado denó importa se toman como términos
de un flipentrada
de
funciones
lu.
simplificutt
se
cuando
importa
no
de
flop particular.
R E F ER E N CI A S
1. Marcus, M. P., Suitching
N.J.: Prentice-Hall, 1975.
Circuits for Engineer.s, 3a. ed' Englewood Cliffs'
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:
John wiley and
s*f
i#; .E''
n
M', Bosic swítcrting circuít Theory.Nueva york:
The Macmilran co.,
f;;;*r'
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
T h e o r ya n d L o g í c a rD e _
srgn. Nueva york: John Wiley and Son.,
fgZ¿.
6' Givone,D. D., Introduction to suitching
Circuit Theory. Nuevayork: McGraw_
Hill Book Co., 1920.
t
suítching and Finite Automata Theorv.
Nueva york: McGraw-Hill
ff#"¿;l''
8
l'i',it!?l,Yi#e
LosicatDesig,t
of Dígitatcomputers.
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
Trans.ár-linr^rro,c compu_
úers,Vol. EC-8, No. 3 (setiemblergSgl,
áSO_OO.
1 0 . Hartmanis, J', "on the.state fusignment problem
for sequential Machines L,,
IRE Trans. on Electroní, Co^putír.r,-ü"i.
BC-fo, No. 2 gunio 1961),Ib| -68.
1 1 . Mccluskey, E' J' y S.. H. unger, "A
Note on the Number of Internar Assignments for sequential circuits". 1áE Trans.
in Etectroniccomputer,vol. EC-g,
No. 4 (diciembre1959),439-40.
PROBLEMAS
6-1'
lógicode un flip-flop -RStemporizado
concuatrocompuer|;SntirtLtma
6-2' Dibujeel diagramarógicode un flip-flop
D temporizado
concompuertas
AND
v NOR.
6-3' Demuestre
que el frip-flopD temporizado
de la Figura6-5(a)puedesimplifi_
carseen una compuerta.
6-4'
6-5'
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
un
flip-flop D.
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
comá resultado ,u pá.,;H""ffi.a
(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
uno
asincrónico.
J
I
I
P R O B L E M A S2 6 1
6-6.
6-7.
obtenga el diagrama lógico de un flip-flop JK maestroesclavocon compuertas AÑD y NOR. Incluya una provisiónpara ponera uno y a ceroel flip-flop
asincrónicamente(sin reloj).
Este problema investiga la operacióndel flip-flop JK maestroesciavoa travé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
de dos valores de las
pone a cero y permaneceasí independientemente
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 externa 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:
e s t a d oA B C D : 0 0 0 1 .
( b ) obtenga la secuenciade estadoscuando r:0
t a d oA B C D : 0 0 0 0 .
r, comenzarrdodesde el
comenzandodesdeel es-
6-13. lln circuito secuencialtiene dos flip_flops(A B), dos entradas y y,
y una
r
V
salida z. Las funcionesde entrada-aetitip-rtóp yiu. r"".iones de
salida del
circuito son las sizuientes:
JA:xB+y,8,
JB: xA,
z: xyA * x,y,B
f,q : xy'B'
K B : x y '+ A
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
presente
Estado siguiente
x:0
a
JI
b
c
d
e
dc
f
I
h
Je
8a
dc
lb
sh
ga
x:l
Salida
x:0
x:l
0
0
0
I
.0
I
0
I
0
0
0
0
0
I
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.Dede 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
de estado binario. Repítalo con la
6_4 y obteng^ l;t?;i;
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 es6-20. un circuito secuencial tiene una entrada
p6-20. Diseñe un circuito secuencial con (a)
riguru
iu
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
pu* f.á.f"tir el nú"mero de 4 bits cuando una
entradas nS *.-"ü"
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
ll
r00
t/r
0/o
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
!'
JK'
repetida. Use fliP-floPs
2il
i
L o G I c AS E C U E N c I A L
CAP 6
(a) 0, 1,2
(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 ,
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
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 ,
ción. Use flip-flops J1(.
i y
repe-
1, 6 y repeti-
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):
B(t + l):
xAB+ yA,C+ ry
xAC+ y,BC,
C(r+ l):
x'B+ yAB,
6-32' (a) Deduzca las ecuacionescle estado para
el circuito secuencialespebificado 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 estado (v ros términos_deno importa) ,"un¿o
ei método ;b.;;;"
en el Ejemplo
6-5. Use flip-flops JK.
J
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 realimentació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 flipflops .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 operación. La organiZación de la memoria de acceso aleatorio se presenta tambié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 informació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 compuertas controlan cuándo y cómo se trasfiere la nueva información al registro.
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 compuertas en un contador se conectan de tal manera que se produce una secuencia preestablecida cie estados binarios en el registro. Aunque los contado-
\
266
REGISTRoS
, N T A D o R E SY U N I D A DD E M E M o R I A
co
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.
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 digital. Las memorias son esenciales para almacenar los programas y los datos
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 externa. 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 suprema importancia. Si los flip-flops se construyen con compuertas retenedoras 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
t
I
sEc.7-2
267
REGISTROS
presenteen la entrada de datos justamente antes de la transición es reienida 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
comúnmente
pulso
se
del
la
duración
á
qrr"
.urponde
_llama
Un registro
,"irn"doíi (gated latch), v la enlrada CP se marca con la
;;*p;;;;t
uu.iuUt" G (en vez de CF). los retenedoresson útiles para almacenamiento
un destino exi""rp"ráf de Ia información binaria que se va a trasferir a
que tienen
secuenciales
circuitos
de
el
diseño
terno. No se deben usar en
de realimentación.
conexiones
-en el
C;;" ,e e"pliá-"n la Sección6-3, un flip-flop puedeser usado
seny
sean
cuando
¿ire¡o áe circuüOs selue-nciálestemporizadossiempre
signipulso.
Esto
del
duración
la
.rbi;r'a la transiciO"'Oripút.q u., ueZde
los flip-flops en ei registro debenser del tipo de.disparopor flanco
ii;;""
no es posibledistinguir en un diagrama
;';;;;r;;i"f!t".'N".malmJnte
retenedor de compuerta, se dispara por
un
es
flip-flop
i¿gü'.;6"d"';"
gráficos de las tres son
flanco ó es maestro erclávo, porque los símbolos
dado a la unidad'
nombre
partir
del
ig";i;. La distinción debe hácersea
por lo genepulso
se.llaman
de
a
duración
de flip_flopssensibles
ü;;;;p"
sensiblesa
flip-flops
grupo
de
que
un
(l;tch),
mientras
ral-un retenedor
siempre
puede
ser
a" p"f.i, se llaman ,n ,"gittro.* Un registro
i¡;".i.i¿l
el fin
con
cuidado
con
hace
remplazadopor un ,"tenedor, si el remplazose
entradas
otras
a
vayan
nunca
á" á."gururr. qu" las salidas del retenedor
deflip.flopsqueesténactivadasconelmismopulsoderelojcomún.Err
que cualquier grupo de
iu, ai...,.iones subsiguientes,se asumirá siempre
son
dibujados ónstituye un registro v que !od9s los flip-flops
hip i"ñ
sensible
es
registro
el
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
simultáneamense
cargan
registro
del
los
bits
carga del registró. si-!-g!os
hace en paralelo.Un
q.r" lu carga_se
sio pulro de'reloj,
;;;;";"
"bpse dice
a"t .egi.tto de _la Figura 7-1 cargarátod¿s
a la entrada
p"fr.
"pfi"ado
entradas en paralelo. En esta configuración,el pulso de reloj
iu.
"rruiro
debe aislarse del terminal CP si el contenido del registro se debe dejar
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
en 0, el contenido del registro no cambia. Nóteseque el gampio
p.t-u""..
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
pulde reloj maestro que suministra un tren de pulsos de reloj. Todos los
El
sistema.
el
y
en
registros
flip-flops
*or ¿. reloj se upii.un a todos los
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.
*Por
268 REGISTROS.
CONTADORES
Y UNIDAD
DE MEMORIA
CAP.7
generadorde pulsos de reloj maestro actúa como
una bomba que suministra un ritmo a todas las partes del sistema. una seiral de
control separada
decide e.ntoncesqué pulso de reloj específicotendrá un
erectoen un registro 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
en
la Fi_
gura 7-1. cuando la señal de control es 0, la saliáa
de la compuertaAND
será 0 y la información almacenadaen el registrop..Áun.cárá
sin cambiar.
Solamentecuando la señal de control
pulso
1,
er
de
reloj
p".u.l fo,
-u¡t
la compuertaAND y llegará al terminal
". 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,
compuertas lógicas produce
¿er prrl.o
.retardos_de propagaciónentre ér g"*?"a",
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
REGISTROS269
sEc. 7-2
tamente un sistema es necesarioaseg¡rarseque todos los pulsos de reloj
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 directamente a todos los flip-flops y controlar la operacióndel registrocon otras entradas, 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 reciüe pul.os sincronizadoscontinuos los cuales se aplican a todos los flipflops. El inversor en el camino de CP causa que todos los flip-flops se dispa-
tf
f
Carga
}H
t.it
ir
ii{
l;1
l5 i
rti-
,li ¡
u
ti
l+
lir
Borrado
Figura
7-3
Registro con carga en paralelo con flip-flops D
¡t
$
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 necesitar 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 inversora (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 temporizadas (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-terminales 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 registrc. 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 siguiente 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 ent 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 cargan 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,
secuencial'un diacircuito
un registro como parte d.e.un
-áá'Utoqrr"
veces emplear
registro se muestra
que
u¡
usa
de irn circuito secuencial
;;;;"
y
entradas externas
las
registro
del
presente
El estado
risr;\-a.
:;il
y los valores. de las salidas
determinan el siguienle estaio del registro"
el siguiente estado
externas. Parte del ci."uito combinaciánal d-etermina
estadodel circuidel
valor
y la otra parte generála. sulidas. El siguiente
Si el registro
reloj'
pulso
de
un
óott
to combinacionalse cargaen el registro
si el
manera'
otra
de
a
1;
establecer
te
dJbe
tiene un terminal ¿" li.gu,
siguiente
el
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
secuencial
circuito
un
La parte de ciicuito combinacionalde
5'
capítulo
el
en
discutidos
de losrnétodos
ser ejecutada por.""rq"i.t"
trn arreglológico
con
o
ROM'
con
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 enLa tabla de estado eJpecificados flip-f loPSA r Y
de sainformación
e
y' Ét tiguiente.estado
trada r y una
".t.uáa
tabla:
la
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
Las
entrada'
de
y
variables
las
presente
r, i". ."^i"s son el estado
simpliser
pueden
salida
la
siguiente
v
para el
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
presente
Entra
da
At
x
A2
000
001
010
011
100
l0l
Estado
siguiente
At
A2
00
0l
0l
00
l0
0l
ll
00
ll0
lll
Salrda
v
0
0
0
I
0
0
0
I
(a) Tabla de estado
Figura
7-b
Ejemplo de
(b) Diagrama lógico
configuración de un circuito secuencial
Tabla de verdad de la ROM
Di¡ección
Salidas
r23
123
000
001
010
0ll
100
l0l
rl0
000
010
010
001
100
010
rl0
001
lll
I
I
2
2
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 entradas 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 forma 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
.,entradas,,
tabla de estado."o."
especifican:":t_4o presente" y
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 flipflops 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 entrada seríal determina qué va en el flip-flop de la extrema izquierda durante 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 registro 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 desplazamiento 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 flipflops.) Si se requiere controlar el desplazamiento de tal manera que ocurra
solamente con ciertos pulsos pero no con otros, se debe controlar el term 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 compuerta 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"registro 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 información conectando la salida serial a su terminal de entrada serial. El conEntrada
serial
Salida
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ándo 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 siguientes cuatro pulsos de reloj encuentran la señal de control de desplazamiento 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
+
L
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 trasfiere 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 completo pueden ser trasferidos a un tercer registro de desplazamiento. Desplazando la suma a A mientras que los bits de A se desplazan hacia el exterior, 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 afuera 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 sumando 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 extrema 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 paralelo debe usar re.gistros con capacidad de carga en pararelo,
mientras
que el sumador serial usa registroi de desplazam]ento.
b-l-,rú.¡".n cie circuitos 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 requiere soiamente un ci¡cuito sumador completo y un flip-flop para
el arrastre.
I'')xcluyendo los registros, el sumado. er.rpaialelo
es un'circuito combinacional, mientras que el sumador en serie es un circuito
secuencial. El circuito secuencial en el sumador serial consiste en
un circuito sumador
completo y un flip-flop que acumula el arrastre de salida.
Esta es una oper.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 procedimiento de lógica secuencial.
Primero se debe estipular que dos registros de desplazamiento están disponibles para almacenar los números binaiios que
se
agregan serialmente. Las salidas seriales de ios registros
se designan 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,ninistra.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 arrastre de entrada (input carry) está ahorá presente en el estado
o
&
I
"tabla
Estado
presente
7-3
Tabla de excitación para rrn sumador en serie
Entradas
Estado
siguiente
Salida
a
0
0
0
0
I
I
I
I
FJip-flops
de entrada
JQ
000
010
100
lll
00Ó
0ll
i0l
lll
0
I
OX
I
I
OX
IX
X1
XO
XO
XO
0
I
0
0
I
KQ
0x
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 entrada 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 completo 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 contadoressincrónicos.En un contadorde rizado, la transiciónde salida del
flip-flop sirve como fuente para disparar los otros flip-flops. En otras palabras 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 secció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 flipflops 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"
"t-trada. EI diagrama de un contador de rizado binaiio de 4 bits se muestra
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
282
7-12
Contador binario de rizado de 4 bits
.E
Tabla
7-4
Secuencia de cuenta
A4
A3
A2
ComplementarAt
ComplementarAt
ComplementafA,
ComplementarA,
f-\^l
0l
A l irá de 1 a 0 y complementa A2 ;
ComplementarA,
0 -'lo C o m p l e m e n t a r A ,
f
Complementar At
Complementar At
0lll
^A^l
1000
A . l irá de 1 a 0 y complementaA2
A 2 irá de 1 a 0 y complementa.4,3
0r00
I
Condiciones para complementar los flip-flops
AI
0000
0001
0010
00ll
0
r¡t
i1
Secuencia de cuenta para un contador binario de rizado
I
A l irá de 1 a 0 y complementa A,
A I irá de 1 a 0 y complemerti: 1,, ;
A 2 i r á d e 1 a 0 y c o m p l e r n e r i i aA 1 :
A3 irá de 1 a 0 y complemenra,4,
y así sucesivamente
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 complementa. 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 contad 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 decreciente 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 disponibles las salidas normales de los f lip-flops, el circuito debe ser modificado ligeramente de la forma descrita a continuación.
Una Iista de una secuencia de cuenta de un contador binario decreciente muestra que el bit de menor orden debe ser complementado con
cada pulso de cuenta. Cualquier otro bit en la secuenciaes complementado, 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 Figu283
i:
I
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 flipflop anterior. Entonces cuando Q vaya de 0 a 1, Q, irá de 1 a 0 y se complementará el siguienteflip-flop como se requiere.
Contador BDC de rizado
un contador decimal sigue una secuenciade diez estadosy regresaa 0 después de Ia cuenta de 9. Tal contador debe tener por Io menos cuatro flipflops 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 decimal 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 contador de rizado que no siga la secuenciabinaria no es un procedlmientodirecto. Las herramientasformalesdel diseño lógico puedenservir solamente
com-ouna guía. Un producto satisfactoriamenteacabadorequiere la ingenuidad 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 suscrito 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 salidas de los flip-flops como se muestra en el diagrama.
un contador de rizado es un circuito secuencialasincrónicoy no puede ser descrito por ecuacionesde Boole desarrolladaspara desóribir circuitos 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
diagrama
del
deducen
se
condiciones
Estas
flip-flops.
los
dl
irarrriciones
Iógico y del conocimiento de cómo opera un flip-flop Jll. Téngase en cuenta
:\ y se pocu"attaola entrada CP va de 1 a 0, el flip-flop se pone a uno si J
y
s
i
n
c
a
mbiosiJ:
s
e
d
e
j
a
K
1
,
s
i
J
:
ne a cefo si K:1, se complementa
estado de
de
para
transición
la
las
condiciones
soi
siguientes
K--0. Las
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 borrasiQ, óQ2 es0YQr vadela0'
Para verificar que estas condiciones resultan en Ia secuencia requerida por un contadoi de rizado BDC, es necesario verificar que las transi-
L-rL-n-[
Pulsos
de conteo
Ql
n,o o [--l-ln
o IT--'_lo
-r--l
Q4
Or o
o
o
o
o -j--!---qji
I
tg
Figura?-lsDiagramadetiempoparaelcontadordecimaldelaFiguraT-14
285
Qs Qa Q2 Q1
I o 2 dígito
Figura
7-16
lo
I
dígito
Qa Q¿ Qz Qt
too dígito
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 verificar 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, .
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 decisió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 secció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
.l
Contador binario
El diseño de contadores binarios sincrónicos es tan simple que no es necesario 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 complementa 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 cuenta binaria dice cuando el siguiente bit de mayor orden debe ser complementado. 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
A¡ se
siempre. 4, se complementa porque el estado presente de Ar:1.
s
e
comA
r
n
o
P
e
r
o
p
r
e
s
e
n
t
e
A
2
A
r
:
1
1
.
d
e
p
o
r
q
u
e
e
l
e
s
t
a
d
o
complementa
plementa por el estado presentede A|A2A¡:011, Io cual no dará una condició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
están conectaflip-flops
los
de
todos
CP
en ia FiguruT-ll. Los terminales
fuente de pulsos de reloj común. La primera etapa A' tiene J y K
áár á
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 compuerta 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 podrí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 todos los bits de menor orden sean iguales a cero. Por ejemplo, si el estad 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 complementa 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
6.ú
t-
c
a
O
r.
¡!
!¡
<,J
288
o
@
O
a
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
combinar en un circuito. un contador binario
d" contar hácia arriba o
pu,
hacia abajo se muest¡a, en la Figura T-1g. Los" ufiip-flops
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 control 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 est 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
directo. Para diseñar el circuito de un contador sincrónico BDC es necesario 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 funciones 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 compuertas 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
Secuencia de cuenta
Qa
Qo
0000
0001
0010
00ll
0100
0l0l
0ll0
0lll
1000
l00l
Qz
Qt
Tabla de excitación para un contador BDC
Entradasdel flip-flop
TQa
TQo
0001
00ll
0001
0lll
0001
0011
0001
llll
0001
1001
TQz
Arrastre de salida
TQt
0
0
0
0
0
0
0
0
0
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ógico 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, cuando 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 flipflops 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 flipflops 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 entradas 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 temporizadas 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 aplique 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 regiritro 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.-urante 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 cualquier número deseable de secuencias de cuenta. un co'lador
de r\ módulos (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 contador 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
Tabla 7-6
Borrado
Contadorbinario de 4 bits con cargaen paralelo
Tabla de función para el contadorde Ia Figura 7-9
CP
Carga
X
X
1
x
t
0
I
0
Conteo
X
0
X
I
Función
Borrar a 0
No cambiar
Cargar entradas
Contar siguienteestadobinario
.-:
i,u
:
r¡
r- l
ZJJ
i, r
T1
kt
294
i
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
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 permanecer 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 configrració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
Cuenta:
A
Al
I
Cuenta:
Borrado - I
+Carga:
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
AA
A.
A
Cuenta:
Contador de
la Fig. 7-19
14
13
12
A1
I
Borrado - I
Il
Contador de
la Fig. 7-19
CP
t0l0
0011
(c) Estadosbina¡ios10,11,12.13,14,l5
Figura
A)
Al
7-2O
( d ) Estados binarios 3, 4, 5, 6,
Cuatro maneras de confizurar un contador de 6 módulos
usando un contador con carga en paralelo
1
0
295
S E C U E N C ID
AE
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
i u r g" É
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 ( ) .
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 determ 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 demuestra 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
la infbrd
e
s
e
r
i
e
e
t
r
L
a
t
r
a
s
f
e
r
e
n
c
i
a
;' r^o; ;u " i ;ó"n' m o d o d e o p e r a c i ó n " . t . " i i e .
e
n la Fii
l
u
s
t
r
a
d
o
e
j
e
m
p
l
o
u
n
c
o
n
7
3
,
l
a
S
e
c
c
i
ó
n
fue discutida en
generar
d
e
b
e
s
e
r
i
e
e
n
g
.
c
o
m
p
u
t
a
d
o
r
e
n
u
n
c
o
n
t
r
o
l
d
e
La unidad
g"." r
pulsos
d
e
ina señol de tiempo de palabra que permanezca por un número
de'
La
señal
iÁuf"^t ul l-,ú-".o'de bits en los iegistros de desplazamiento'
que
'-tn
cuencontador
de
por
medio
generada
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.
muestra
7
2
(
a
)
F
i
g
u
r
a
debe permanecer por un período de ocho pulsos. La
u
n
c
o
n
t
ador de
I
n
i
c
i
a
l
m
e
n
t
e
un circuito contador que realiza esta tarea.
f
l
i
p
f
l
o
p
e
l
p
o
n
d
r
á
a
c
e
r
o
Q' La
c
o
m
i
e
n
z
o
il bits se borra a 0. Unl señal de
y
p
a
l
a
b
r
a
tamd
e
d
e
t
i
e
m
p
o
e
l
c
o
n
t
r
o
l
s
u
m
i
n
i
s
t
r
a
salida de este flip-flop
f
l
i
p
-f'lop
p
u
l
s
o
s
,
e
l
o
c
h
o
d
e
c
u
e
n
t
a
u
n
a
d
e
D
e
s
p
u
é
s
e
l
c
ó
n
t
a
d
o
r
.
bién habilita
7
2
1
(
b
)de
F
i
g
u
r
a
l
a
d
e
;; ;";; a cero y e va a 0. Ei diagrama rle tiemp.
con
s
i
n
c
r
o
n
i
z
a
s
e
c
o
m
i
e
n
z
o
d
e
s
e
ñ
a
l
L
a
-rri.tru lu op".u.iór, del circuito.
q
Y
uq
r
e
l
o
j
'
,
D
e
s
p
u
é
s
d
e
p
u
l
s
o
d
e
u
n
p
e
r
í
o
d
o
d
e
p
o
r
un
el reloj y permanece
el
C
u
a
n
d
o
r
e
l
o
j
'
p
u
l
s
o
s
d
e
l
o
s
c
o
n
t
a
r
a
c
o
m
i
e
n
z
a
c
o
n
t
a
d
o
r
." po"!á u 1,
p
a
r
a
d
a
"
i
d
e
.o¡tudi,. alcanza la cuenta de ? (binario ll1). enviará una señal
parada
convierse
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
a
y
borra
también
000
Q. Ahora
al
estado
¡"-;"ir,j cambia el contadcir
;;il
0
'
N
ó
tese que
p
e
r
m
a
n
e
c
e
e
n
p
a
l
a
b
r
a
d
e
e
l
t
i
e
m
p
o
h
a
b
i
l
i
t
a
s
e
ei conlador
,pulsosr'
p
e
r
í
o
d
o
o
c
h
o
d
e
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 eneste 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
señal-e1de
que permanecen por un solo p.rioao á.
pero esras se-tiempo
;"1;;,
ñ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 tiempo 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
Habilita¡ cuenta
Contador
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
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 estados 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 aplica con CP a una compuerta AND, la salida de la compuerta generalos pulsos 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 diferentes registros con diferentes estados de tiempo.
Para generar 2" señales de tiempo, se necesita o un registro de desplazamiento 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 decodificador. Es posible generar las señales de tiempo con una combinación de registro 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 requiere 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 doblarse 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 flipflop. 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 derecho 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 tiempo, el valor complementado del flip-flop E se trasfiere al flip-flop A. Comenzando 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 pasará a través de una secuencia de 2ft estados. Comenzando en 0, cada operación de desplazamiento inyecta unos por la izquierda hasta que el registro 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
F
:
(al Contadorde anillo lvalrlr inicial = 10001
To Tt
T)
T3
Decodificador
2x4
Habilita
cuenta
(b) Contador y decodificador
a"
a,
l--l
n
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
298
7-22
Generación de señales de tiempo
1r
(a) Contador de anillo de final conmutado de 4 estados
Salidasde flip-floPs
Número
de la secuencia A B C E
I
2
J
4
5
6
'7
8
C o m p u e r t aA N D r e q u e n d a
para la salida
0000
1000
1100
lll0
llll
0l1l
00ll
0001
A'E'
AB'
BC'
CE'
AE
A'B
B'C
C'E
requerida
(b) Secuencia
deconteoy decodificador
Johnson
contador
un
de
Figura 7'23 Construcción
columna de la tabla. Las
! a F i g- .uor*ap "?e-r2t 3
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
v
e z c o n e c t a d a sa l c i r c u i t o ,
u
n
a
t
a
b
l
a
,
I
a
e
n
AND listadas
o.to
Como cada compuerta
.Iohnson.
contador
del
completa;án la construcción
p
a
r
t
i
c
u
lar, ias salidas de las
e
s
t
a
d
o
d
e
s
e
c
u
e
n
c
i
a
u
n
a
d
u
r
a
n
t
e
t
a
b
l
l
i
t
a
se
e
n
cadencia'
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
final conmutado de
de
anillo
La decodificación de un contador de
patlón regular. El
un
sigue
tiempo
de
k-bits para obtener 2h secuencias
de los flipnormales
salidas
las
tomando
estado de sólo 0 se decodifica
de un padecc'difican
se
estados
otros
los
Todos
extremos.
füps de los dos
7
la
secuencia
ltá-" uáVu.ente de 1, 0 ó 0, 1 en la secuencia. Por ejemplo
decodifisalrda
y.
La.
C'
B
los flip-flops
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.
encuenja del circuito en la Figura'i-23(al es que, sr se
u n a d e s v e n t a-desconocido,
válido
no
estado
pasar
un
de
persistirá en
tra en un estado
dificultad
Esta
r'álido.
éstado
a otro y nunca encontrará un óamino a un
no
Jer corregida modificando el circuito para er-itar esta condición
;";á;
flipdel
salida
la
desconectar
es
corrección
de
prócedimiento
áeseable. IJn
D del flip-flop C, y a cambio habilitar la entrada
fl;t C que va u tu
""t.uaa
del nip-¡1oo C por medio de la función:*
*Esta es la maneraquese haceen el CI tipo'{022'
299
ii
:'
j
t
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úmero 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 compuertasde 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
".
iiene
compuerras
I
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
comparativamente se encuen-tranpocos registros'operaci;";i;.
en
Ia
unidad
procesadora.cuando se lreva á cabo .I pro.".u'-i;;;il;
datos, la información de
en la unidad de memoria se trasfiere
-los registrosseleccionados
gri.merga tos registros operacionalesen l" ;;iJ;d
Los resurtados 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
en tamaño.
(3) el costo por bit de almacenamientodebe
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, tambores y discos.
una unidad de memoria almacena información bina¡ia
en grupos lram1d9spalabras, 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
de memoria
puede representarun operando,una instrucción,
o un gr"p" aa caracteres
3@
\
L A U N I D A DD E M E M O R I A3 0 '
S E C .7 . 7
alfanuméricos o cualquier información codificada binariamente. La comunicació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 paiabra almacenada previamente debe ser trasferida hacia afuera del registro
de memoria. Un registro externo especifica el registro de memoria particular 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 memoria 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" palabras 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 direcciones 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
m bits por palabra
Señales
de control
escntura
Registro separador
de memoria
ent¡ada
salida
Información
Diagrama de bloque de una unidad
Fig.ura 7-24
de memoria mostrando su cornunicación con lo
oue Io ¡odea
U N I D A DD E M E M O R I A
3 0 2 R F G I S T R OCSO, N T A D O RYE S
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 dentro de la unidad de memoria suministran Ia función deseada. Cierto tipo
de unidades de almacenamiento, debido a las características de sus componentes, 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 información permanece en la celda después de haberse leído. En cada caso, la informació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 restaurada en sus celdas binarias si la aplicación requiere de una función no destructiva.
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 común llamado (buffer register) registro separador de memoria (otros nombres 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 configuració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 referenciado para escritura o lectura. Por medio de un ejemplo se puede resumir 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 regis1r,¡ de direcciones de memoria, (MAR: memory address register) el registro 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 dirigida 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 memoria 42 se trasfiere al MBR.
D i r e c c i o n e¡s
0-1023
|
I
Unidad
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 propiedad 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 manera que no ocurre peraiaa de información. Otro componente usado comúnmente en Ias unidaáes de memoria es el núcleo magnébico. Un núcleo magnético tiene la característica de tener lecturas destructivas, es decir,
pierde
la información binaria almacenada durante el proceso de Iectura'
'Ejemplos
de memorias de semiconductores y de núcleos magnéticos se presentan 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
de núcleos magnéticos trasfiere el contenido de la palabra
u ,,rru -e-"riu
registro externo y al mismo tiempo se borra el registro
a
un
direccionada
de memoria. La secuencia de control interno en una rnemoria de núcleos
magnéticos suministra entonces señales apropiadas para causar la recuperá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
í
"".*-l
O.memoria
I
MAR = 42
MBR
i
0ll0lll0
MBR
(a) Operación de lectura
Figura
7-26
I
I
I
MAR = 42
01r0lll0
r
tinidad
oe memorla
10010010
10010010
(b) Operaciónde escritura
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
del
MAR
y el MBR deben permanecer invariables_
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 puede 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
de memoria
MAR = 42
MBR
0l10llr0
00000000
0ll0l
I I 0
Cualquier cosa
01t01110
0l
I 10
Inicial
Figtra
304
Uniüad
de memoria
7-27
Lectura destructiva
l0l
Contenidorestaurado
T¡asferencia de información en una memorla
de núcleos magnéticos
du¡ante una operación de lectura
Unidad
de memoria
MAR = 42
MBR
Figura
0r101110
Unidad
de memoria
Unidad
de memoria
00000000
r0010
10010010
r0010010
100 i0010
Inni icci ai la l
Palabra de borrado
Palabra de escritura
7-28
010
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 oensar que los registros están separados en el espacio, con cada registr., n"rjpando 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 solicitada. 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 mantener las señales necesarias. En contraste, una unidad de memoria no volátil, tal como un núcleo magnético o un disco magnético, retiene la informació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-
'¡.
{,,
:'.
,
I
I
;"j
3A6 REGISTRoS
, N T A D o R E SY U N I D A DD E M E M o R I A
co
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 mernorias 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 construcció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 palabras 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 entradas 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 habilitació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 consiste 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
Salida
Entrada
L ectu ra,/esc rit u ra
(a) Diagrama lógico
Selección
Salida
Entrada
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
0
,
t
o
d
as
e
s
habilitación de memoria. Cuando la habilitación de memoria
memoria
palabras
en
ias
y
de
ninguna
las salidas del decodificador son 0
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
de
direcciolÍneas
las
dos
de
valor
del
palabras,
dependiendo
ias cuatro
palabra
nes. Ahora, con el control de lectura,/escritura en I. los bits de Ia
de
terminales
los
hasta
pasarán por las 3 compuertas OR
,.t...io"uda
e
n
t
r
a
d
as
l
a
s
e
n
p
r
o
d
u
c
e
n
0
salida. Las cóldas binarias no seleccionadas
de
el
control
Con
salidas'
las
en
ef'ecto
y
tienen
no
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
s
i
n
c
a
m
b
i
a
r' Con
p
e
r
m
a
n
e
c
e
n
p
r
e
v
i
o
s
y
v
a
l
o
r
e
s
e¡tradas de selección sus
celdas
l
a
s
t
o
d
a
s
d
e
c
o
n
t
e
n
i
d
o
0
,
e
l
e
n
m
e
m
o
r
i
a
d
e
h
a
b
i
l
i
t
a
c
i
ó
n
ei control de
v
a
l
or del
d
e
l
i
n
d
e
p
e
n
d
i
e
n
t
e
m
e
n
t
e
s
i
n
c
a
m
b
i
a
r
p
e
r
m
a
n
e
c
e
m
e
m
o
r
i
a
en Ia
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
decodificador
2x4
lJl
Hal¡ilitación
de memoria
Lectura,, escritura
"ixT?;.
Figura
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
almacenar 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
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
SEC. 7.8
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
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 almacenamientobinario 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!' complicado por el hecho de que el flujo no puedeser detectadocuando no está cambiando. 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 produce 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-
R:
t.'
FIujo
q o*Corriente
negativa
Almacenar0
Figura 7-31
Corriente
' Cor¡iente
positiva
(b) Almacenar 1
(c) Figura de histéresis
Almacenamientó de un bit en un núcleo magnético
i¿,
310
REGISTRoS
, N T A D o R E SY U N I D A DD E M E M o R I A
co
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 encadenan. La excitación del núcleo se logra por medio de un pulso de corriente
generadopor un circuito accionador (DR: Driver). La información de salida pasa por un amplificador sensor (sA: Sense Amplifier) cuyas salidas
ponen a uno los flip-flops en el registro separador. Cada núcleo está enlazado por tres alambres. El alambre de palabra es excitado por un accionador 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.
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 decodificador. 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
de 0 independientemente del estado anterior. Los núcleo. q,ru contienen
un I previamente cambian su flujo e inducen un voltaje al alambre sensor. El flujo de los núcleos que contenía un 0 no cambia. El pulso de voltaje 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 palabra por el decodificador y en el accionador de bits cuyo flip-flop del iegistro separador correspondiente contiene un 1. Ambas corrientes están
en la dirección positiva, pero su magnitud es solamente la mitad de la necesaria 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 magnetización al estado de 1. tln núcleo cambia al estado de 1 solamente ii
Voltios
Alambre
sensor
Corriente
de lectura
Figura 7-32
Tiempo
Salida de alambre sensor
Lectura de un bit de un núcleo magnético
$
i
J
I
I
l
H
:
=.&
orc
x@
6p
@o
N
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 palabra 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 accionadores. EI resultado es que la magnetización de los núcleos se cambia al estado 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 previamente 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 previene la información leída de llegar al registro separador, al inhibir al amplificador sensor. Los ciclos de restauración y borrado se inician normalmente 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 lectura 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: McGrawHill 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 registro cuando un pulso de reloj pasa por una transición de flanco negativo, teniendo 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 negativa 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
presente
00
00
0l
0l
l0
l0
ll
ll
Entrada
0
I
0
I
0
I
0
I
Estado
siguiente
00
0l
l0
0l
10
ll
l0
0l
Diseñe un circuito secuencialcuyo diagrama de estado esté dado en la Figura 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 encapsuladentro 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-5.
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 valoresbinarios en el registroA y el flip-flop Q despuésde cada desplazamiento.
?-10. ¿Qué cambiosson necesariosen el circuito de la Figura 7-11para convertirIo a un circuito que resta el contenidode B al contenidode A ?
7-9.
313
314
CAP. 7
Y SU N I D A DD E M E M O R I A
R E G I S T R OC
SO
, NT;ADORE
?-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 flipflops 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 contador 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 autocomenzante?
?-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 decreciente son iguales a I al mismo tiempo? Modifique el circuito de tal manera 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 construya un segundo control de tiempo de palabra que permanezca pK)run período
de 16 pulsos de reloj.
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.
i-27.
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 conmutado 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 estado 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 direcció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.
(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 organizada como en la l'igura 7-33. Los núcleos están disponibles en una matriz
de 16 filas y 16 columnas.
i-34.
(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 demasiadogrande. Para sobreponeresta dificultad, se diseñan invariablemente los sistemas 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, elementosaritmé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 computador digital.
La interconexiónde las funcionesdigitales para formar un módulo sistema digital no puede describirsepor medio de técnicas combinacionales
o de secuenciaslógicas. Estas técnicas fueron desarrolladaspara describir 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,decodificadoresy registros,es necesarioemplear una notación matemática de alto
nivel. El método de lógica de trasferenciaentre registroscopa esta necesidad. En este método, se seleccionanregistroscomo los componentesprimitivos 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 programació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 trasfé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 sistema 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 trasferenciaentre 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 memoria. Un contador se consideracomo un registro cuya función es incrementar en 1 la información almacenadaen é1. Una unidad de memoria se considera 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 registro 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úmeros binarios, números decimales binarios codificados,caracteresalfanumé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 informacién se manipula por lo generalcon operacioneslógicastales como activando o borrando bits específicosdel registro.
Las operacionesrealizadascon los datos almacenadosen los registros
Una microoperaciónes una operaciónelemense llaman microoperacíones.
tal que puede ser realizada en paralelo durante un períodode pulso de reloj. 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 funciones digitales introducidas en el Capítulo 7 son registrosque configuran
Un contador con carga en paralelo es capaz de realizar
microoperaciones.
y la carga.Un registro de desplazael incremento de las microoperaciones
para
microoperacionesde desplazarealizar
miento bidireccional es apto
MSI combinacionales,
Las
funciones
la
izquierda.
o
a
la
derecha
miento a
introducidas en el Capítulo 5 pueden ser usadas en algunas aplicaciones
Un sumadorbinario en paralelo es útil para
para realizar microoperaciones.
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
funciones de
-algunas
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
".,errta,
simbología normalizada para el lenguaje
de irasferen"iu ?rt." registros y
f'uentes diferentes adoptan convenciones diferentes.
fJna afirmación en un
-renguaje de trasferencia gntre registros consiste 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".ooperaciones...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 microoper 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 conjunto 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
T R A S F E R E N C IEAN T R ER E G I S T R O S3 1 9
sEc. 8-2
Las microoperaciones ralizadas con la operación almacenada en los registros depende del tipo de datos que residen en los registros' La informaói¿n bittaiia encontrada comúnmente en los registros de los computadores
puede clasificarse en tres categorías:
digitales
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 datos 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 memoria se llama comúnmente registro de direcciones de memoria y se designa como MAR (memory address register). Otras designaciones para el registro 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) comenzando 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 celdas 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
,
n8
A
A.
A.
A3
I
^)
A
(b) Se muestran las celdas individuales
(a) Registro A
I6
PCtÍt)
MBR
(c) Numeración de celdas
Figura
8-1
I
ñl
|
PC(L)
(d) Porcionesde registro
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 designa 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 implica que los circuitos están conectados entre las salidas del registro fuente hasta las celdas de ent¡ada del registro de destino. Normalmente no se
requiere que ocurra esta trasferencia con cada pulso de reloj, sino solamente 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 necesidades 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,
y la variablede tiempo Tt:1.
cuando la variable ¡:0
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 anteriormente. Las salidas del registro B se conectan a las entradas del registro 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 adiAunque no se muestra, se asume que.el registro A tiene una
La
función de
reloj.
de
cional que acepta pulro* continuos sincronizados
Se asuAND.
y
compu€rta
una
inversor
de
un
control se genera por medio
tiempo T1
de
variable
genera
la
que
control
de
que
la
unidad
*" i"-¡i¿i
A'
con los mismos pulsos dé reloj que se aplican al registro
.u-ri.r".o'iza
pulso
de
de
período
un
activa durante
La función ¿, .o.,iroi p.r-u.r"""
ocurre
y
trasferencia
la
1)
a
igual
."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 sey los númayúsculas
por
letras
se
denotan
registros
Los
8-1.
en la Tabla
para dismeros pueden estar coniiguos a las letras. Los suscritos se usan
para
se
usan
paréntesis
Los
tinguir las celdas individuales del registro.
de
trasferencia
una
denota
flecha
Lá
aefinir una porción de un registro.
función
una
puntos
terminan
Dos
misma.
la
de
y
lu di."""ión
l"iá.*u.i¿"
Se usa para separar dos o más operaciones que se ejede control y i,
"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
es
simultánea
operación
Esta
común.
reloj
pulso
de
registros durante un
de
por
disparo
o
esclavo
maestro
flip-fiops
con
.ugirt-r
los
po"ri¡tu en
flanco.
de
Las llaves cuadradas se usan conjuntamente con la trasferencia
encey
registro
el
memoria
palabra
de
memoria. La letra M designa una
para la memoria'
rrado dentro de las llaves Juadradas significa la dirección
a
continuación'
detalle
más
en
Esto se explica
de dos
Hay ocasiones cuando el registro de destino recibe información
propodos
Considérese
tiempo.
fuentes pero evidentemente tro Ll -it-o
siciones:
Tt:
C<-A
Tsi C<-B
A va a ser trasLa primera línea establece que el contenido del registro
71. La segunda
t
i
e
m
p
o
d
e
v
a
r
i
a
b
l
e
u
n
a
ferido al registro C cuando ocurre
pero con un
primera
que
la
destino
de
registro
mismo
proposición usa el
321
Tabla
8-l
Símbolos básicos de la lógica de trasferencia entre
resistros
Símbolo
Letras (y numerales)
Suscrito
Paréntesis( )
Flecha *
I)os puntos :
Coma ,
Llaves cuadradas [ ]
Descripción
Denota un registro
Denota un bit de un registro
Denota una porción de un registro
Denota una trasferencia de información
Termina una función de control
Separa dos microoperaciones
Especifica una dirección para una
trasferencia de memoria
Ejemplos
A, MB& R2
A z ,B e
PC(H), MBR(OP)
A<-B
x'Ts:
A<_B,B<-A
MBR + MIMARI
registro fuente diferente y una variable de tiempo diferente.
La conexión
de dos registrosfuente al mismo registro de aesiino
pu.a" hacersedir€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 cuatro 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
Habilitar
Multiplexor
cuádruple
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
rey
registro
cada
datos
de
líneas
seis
Hay
8-4.
.á -rrertra en ia Figura
registro
cada
Si
fuentes.
dos
entre
para
selecóionar
multiplexó
é"1.r. r"
y tres multipiexores.
áá.,siste de n flip-flop., huy necesidad de 6 n líneas
el número de mulaumertta
A medida qrru u,r^.rria'el número de registros,
restringe la trass
e
S
i
i
n
t
e
r
c
o
n
e
x
i
ó
n
.
d
e
l
í
n
e
a
s
tipiu*or". y el número de
registros, pueden
los
entre
número
de
caminos
el
a
uno,
ferencia a uno
donde la
."¿n.it.u considerablemente. Esto se muestra en la Figura E-5'
de
a
través
común
,uiiáu y entrada de cada flip-flop se conecta a la línea
interruplos
Todos
interruptor.
un circuito electrónico que actúa como un
trasferencia'
tores están abiertos normalmente hasta que se requiera una
interruptolos
se
cierran
por
ejemplo,
F3
a
F,
de
,
Para una trasferencia
puede ser extenesquema
El
requerido'
camino
el
para
y
formar
S]
raa S,
con n flip-flops, y este requiere n Iíneas comunes.
- - a io,,.girt.os
dido
la información
Un grup; de alambres a'través áe Ios cuales se trasfiere
b
u
s
. Para la trasl
l
a
m
a
.
s
e
r
e
g
i
s
t
r
o
s
e
n
t
r
e
v
e
z
binaria ñlt u ¡it, un bit a la
de bits
número
al
igual
es
bus
el
en
líneas
de
número
paralelo,
el
rerencia en
de
sistema
al
lo. regisiros. La idea de un bus de trasferencia es análoga
de
vez
En
otro'
para
el
lado
""
i.u.porte""entral usado para llevar gente de un
un
usa
se
otro.
a
lugar
un
para
ir
de
privado
que'cada viajero use traiporte
que esté disposistema 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
pol
pueda
seleccionarse
registro de destino para que el bus de trasferencia
fuenregistro
un
seleccionan
,"Eaio de un decodiiicador. Lo. multiplexores
para
l" pu.u el bus y el decodificador selecciona un registro de destino
de
sistema
un
de
La
construcción
bus.
el
desde
trasferir la infoimación
bits en Ia
Los
cuatro
8-6.
la
Figura
en
dibuja
se
registros
para
cuatro
bus
posición sijnificativa de ios registros pasan a_través de un multi-i.áu
multiá. ¿ u 1 líñea para formar una línea de bus. Solamente dos
;i.;;;
de
significativos
para
bits
dos
uno
plexores se muestran en el diagrama:
rePara
orden.
mayor
de
significativos
para
bits
y
dos
uno
*".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
324
Sistema de bus para cuatro registros
q
T R A S F E R E N C IEAN T R ER E G I S T R O S3 2 5
sEc. 8-2
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 registros. 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á ninguna 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 siguiente 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 selecció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 )
En el siguientepulso de reloj el contenidode A, localizadosobreel bus, se
cargael registro C.
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 opera¿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 unidad de memoria se selecciona por medio de la dirección de memoria durante la trasferencia. Es necesario especificar la dirección de M cuando se
escriben proposiciones de trasferencias de memorias. En algunas aplicaciones, solamente un registro de direcciones se conecta a los terminales
de direcciones de Ia memoria. En otras aplicaciones, las líneas de direcció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.
i
l¡
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 direcciones MAR como se muestra en la Figura g-?. El diagrama muestra
también un solo registro separador de memoria MBr? usaáo para trasferir 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 memoria 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:
-i'iai\ 1'",
i ¡),
"',1'r
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
icon
procesador. En
rápidas el tiempo de acceso debe ser menor que
lnemorias
{1
o igual a un período de pulso de reloj. En memorias lentas, podría ,", nul' 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
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
M I C R O O P E R A C I OANREIS
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 infbrmación del registro 82 a una palabra seleccionada de memoria por la direcció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 direccionado 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 direcció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
,
Y
, GICAS
M I C R O O P E R A C I O NAERSI T M E T I C A LSO
DESPLAZAMIENTO
Las microoperaciones de trasferencia entre registros no cambian el contenido de infórmación binaria, cuando ésta pasa del registro fuente al registro 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 mitrooperaciones 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
dirección
Esc¡itura
Unidad
de
memoria
Salidas
Bus de Catos
Selección
Carga
Selecci<ín
Decodificador
de destino
Selección
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 trasfi.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
9
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
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 digitales que se necesitan para su configuración. Para ilustrar esta relación,
considérese las dos proposiciones:
B
Tzi A<-Al
* |
Ts: A<-A
Tabla
8-2
Microoperaciones aritméticas
Designación
simbólica
Descripción
Contenido de A más B se trasfiere a F
Contenido de A menos B se trasfiere a F
Se complementa el registro B (complemento de 1)
F<_A + B
F<-A _ B
B<_E
B<-E+l
F<-A+E+l
A<-A+l
A<-A-l
Formar el complemento de 2 del contenido del registro B
A más el complemento de 2 de B se trasfiere a F
Incrementar el contenido de A en 1 (cuenta creciente)
Decrementar el contenido de A en 1 (cuenta decreciente)
RegistroB
¡umaoor
paralelo
(Fis.5-1)
S uma¡
T2
Ts
Figura
8-9
Incrementa¡
RegistroA
( F i e .7 - 1 9 )
Corifiguración para las microoperaciones de suma e incremento
\
f
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 ?, incrementa el registro A. EI incremento puede hacerse fácilmente con un contador 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 configuració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 variable de tiempo ?, incrementa el registro habilitando la entrada de incremento (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 operaciones 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 compuertas, 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ñales 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 especificar la configuración de los materiales en tal caso, se requiere una lista
de proposiciones que usan microoperaciones básicas de suma, resta y desplazamiento.
Microope raciones lógicas
Las microoperaciones Iógicas especifican operaciones binarias para una
cadena de bits almacenados en los registros. Estas operaciones consideran 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
31
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
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 microoperaciones 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
A<_F
F<-A\/ B
F<_A \B
F<_A@B
A<-shlA
A <-shr A
Descripción
Complementatodoslosbits del registroA
MicrooperaciónO R lógica
MicrooperaciónAND lógica
MicrooperaciónOR exclusivaIógica
a la izquierda
RegistroA de desplazamiento
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 significados,"?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 registrosD 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 grupo 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
Las microoperacionesde desplazamientotrasfieren la información
binaria
entre registrosen los computadoresen serie. Se usan taÁui¿.,
."
dores en paralelo para operacionesaritméticas, lógicas
"o-puiude 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
ser el mismo en ambos lados de Iu fl.""h; ;;-o .r'u operación
g:be
: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 similar:
.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, establecida entre paréntesis despuésde la palabra r;, es u"laua.ru,
enton332
!F
l
SEC. 8-4
PROPOSICIONEC
S O N D I C I O N A L E SD E C O N T B O ' 3 3 3
t encerrada entre
ces se ejecuta la microoperación (o microoperaciones
no es verdadera'
la
condición
Si
pálabra
entonces.
paréntesisdespuésde la
pc)r tanto. De
palabra
la.
de
después
listada
se ejecuta la microopetu.iótt
evento
para
cuaiquier
ocurrir
P
debe
de
control
función
la
forma,
cualquier
qu" ." haga. Si la partepor tanto f.alta,entoncessi la condición no es verei6Cütanada'
dadera-rro*se
-"'Lilpioposición
que
de control condicionales más una corrveniencia
que
claras
mas
proposiciones
de
la
escritura
habilita
Esta
,r,a ,receridad.
por
una
reescrita
gente.
ser
Puede
por
la
interpretar
de
fáciles
más
son
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 equlvalente a las dos proposicionessiguientes:
C'Tr: F<- I
CTt: F<--0
Nótese que la misma variable de tiempo puedeocurrir en dos tuncionesde
La variable C puedeser 0 ó 1; por tanto soiamenteuna
control separadas.
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 definición de r como ." ..Iublu"ió, la proposicióndel control condicional es
equivalentea dos ProPosiciones:
xTr:
F <- I
x'Tr:
lf<- 0
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
La
microoperación.
de
proposición
parte
la
y
de
no
de la función de cbntrol
un
con
poder
configurarse
y
debe
claramente
establecerse
debe
condición
circuito combinacional.
.; .l
¡
,i
.: '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 discretosde información con los cuales se opera para lograr los resultados requeridos. 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 representació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"lpunto 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 enteros 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 representados 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 almacena¡ 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 representación de punto flotante. El método del punto fijo aiume que el prr.,to blrario 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 registro 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
+
I
1
S E LP U N T OF I J O3 3 5
D A T O SB I N A R I OD
sEc.8-5
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 estará en complemento de 2 ó de 1. Si el número es positivo, las tres representaciones 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 almacenar el signo y la magnitud del número.
+9
Signo-magnitud
0 00100r
-9
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 positivo; en la representacióndel complementode 1, estos bits son el complemé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
de
bits de 00g1001(+g), incluyendoel bit del signo- La representación
númede
2
del
complemento
el
obteniendo
de 2 se logra
signo-co¡nplemento
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
ejemplo,
^det +iS V -3b son representadoscon un signo seguidopor la magninúmeio. Para sumar estas dos funciones' es necesariorestar Ia
tud
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
cAP. 8
proceso de sumar dos núme¡os con signo, cuando los números
negativos
están representados_9n-la forma de signo-magnitud, requiere que se
comparen estos signos. Si los dos signos no son iguales, se
óo*pu.án las magnitudes 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 neg 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 significativo (signo), el resultado se incrementa en 1 y el arrastrJ se
descarta.
Los ejemplos numéricos para la suma con números negativos,
representados 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
-r+
+
9
+15
0 001001
+
0 00lllr
+3
6
I il1010 F
9
0 001001
0 0 0 0 0 1-1,
9
I Il0lll
9
000110*
,+
ll0lll ¡
9
l Il0lll
3
I llll0l * rt
18
I l0lll0
+6
\
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_
I
4
D A T O S B I N A R I O SD E L P I J \ T O F , ]
sEc S-5
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 negativos 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).
0001l0
+
001001
+6
+9
+15
l lll00l
6
0 001001
+9
C':
0 00llll
+3
0 00001l
I
0001l0
9
I ll0ll0
9
I l0ll0
9
I I10110
3
I llll00
+6
¡tt
\-l
-18
t}tt00
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 representacionestienen ambas un cero positivo y un cero negativo. Por ejemplo, agregándo * 9 a - 9 en la representación de complemento de 1, se
obtiene:
+9
-9
0 001001
-0
l llllll
I ll0ll0
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úmeros negativos:
338
I
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
+0
CAP. 8
-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 á" *
127. Sin embargo, como la
12, _ 1) : -+"o"
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
complemento de 1
*126:0 llllll0
+127:0 lllllll
+ 128(imposible)
- 126: I 0000001
-127 : I 0000000
- 128(imposible)
Signo
complemento de 2
r 0000010
l 0000001
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
+ (20- 1) a - 2k, d.ond.e
h: n
- I y n es el número de bits en
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 tot"1q9 el complementode 2 (incluyendo el blt a"
sig.,oj. Lo contrario es
también verdad, por.queel complementodel
ar número a su valor original.
"o."pi"."É"1á'.Jgr".u
I
¡
S E C .8 - 6
39
S O B R E C A P A C I D3A
D
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,-gnitud requiere que solamente el bit signo del sustraendo se complemente.
La suma y resta de los números binarios en la representaciónde signomagnitud 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 signocomplemento de 2, la mayoría de las computadoras adoptan esta representació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
es verdadero para los números binarios o números decimales con o sin
signo. cuando se hace una suma con lápiz y papel, una sobrecapacidad
,rtt problema ya que no hay limitaciones por el ancho de la página
no
". escribir la suma. Una sobrecapacidad es un problema en un computapara
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 sobrecapacidad 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úmero 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-magnituá, se puede detectar fácilmente una sobrecapacidad por el arrastre o el
número de bits. Cuando se suman dos números representados en signocomplemento de 2, el bit signo se trata como parte del número pero no necesariamente indica una sobrecapacidad.
El algoritmo para sumar dos números representados por signo-complemento de 2, como se ha establecido antes, produce un resultado incorrecto cuando sucede una sobrecapacidad. Esto ocurre debido a que una
sobrecapacidad de los bits del número cambian siempre el signo del resultado y se causa una respuesta errónea de n bits. Para observar cómo ocurre 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 valedero 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:
rf
i
I
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
arrastre: 0
+35
+40
I
0 10001I
0 10r000
CAP. 8
arrastre:
-35
-40
l0
*75
I 0lrl0l
I 0l 1000
0 l l0l0l
En amb.s casos, se observa que el resultado de T bits, que debería ser pos 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 configi.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 regist 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
AR
DESPLAZAMIENTO
S I T M E T I C O3S4 l
sEc.8-7
que sale del sumador €S C,11. La función OR exclusiva de estos do= arrastres se aplica a un flip-flop de sobrecapacidad V. Si despues de ia sun-ra.
hav una :''hreV:0, entonces la suma cargada en A es correcta. Si y:1.
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:
V<-C,OC,*t
A<-A+8,
1
.t
. l
r
I
.:
¡
I
1
L
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 arrastres del sumador paralelo.
8-7
AS
RITMETICOS
DESPLAZAMIENTO
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 aritmé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 desplazamientos 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 registro 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 parte 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
I
n- I
AW\
,4(S)l
n
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 siguientes proposiciones :
A(N)<-shrl(N),
An-t+0
A <- shrA, l(S) <- l(S)
parasigno-magnitud
l
2)
para signo-complemento
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
I
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 representació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 para 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
-6:
I I l0l0
Signo-complementode2 -12:
I 10100
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 repres 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 < - s h lA ,
A, <-0
A, <- A(S)
A<-shlA, Ar<-0
para signo-magnitud
p a r a s i g n o - c o m p l e m e n t od e I
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 desbordamiento por sobrecapacidad.LIna sobrecapacidadocurrirá despuésdel
desplazamientosi existe la siguiente condición r¿nte.s
del desplazarniento:
An-l
:
I
A,@An_1:l
para slgno-magnrtuct
para signo-complemento de 1 o signo-complemento de 2:
q
D A T O SD E C I M A L E S3 4 3
sEc.8-8
En el caso de signo magnitud, se desplazay desapareceun 1 de la posición
ocurrirá la sobrecapamás significativá. En el caso de signo-complemento,
no es igual al bit más significativo.concidad si el bit de signoA,:A(s),
sidéreseel siguiente ejemplo numérico con númerosde signo-complemento
de 2:
-9: I 0l l0
Valor inicial
Valor inicial
9: 0 l00l
desplazamiento -2:
a la izquierda
I 0010
desplazamiento
a la izquierda
1-2: 0 ll0l
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
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 bit de
rrecto será un número de n + 1 bits, con el bit de la posición (n + 1) conten 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 flipflops: 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:
85
+0043
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 equiv 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 operaciones 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 aplicaciones, tales como procesamiento de datos de negocios, requieren pequeñas
cantidades de cálculos aritméticos. Por esta razón, algunas computadoras
,.j
I
,
i
1
I
't
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únmentetienen 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 cantidad 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
g, es decir, 1001.En esta forma todos los procon el equivalente
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 descartando 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
DATOS DEL PUNTO FLOTANTE345
SEc, 8-9
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 desplazamientosaritméticos son aplicablestambién a los números decimales
exceptoque un desplazamientoa la izquierda correspondea la multiplicació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 representació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ímbolosdiferentes para las operacionescon datos decimales.Algunas veces,las operaciones 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 programació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
I
punto decimal inicial
_l
signo
E
primer registro
(coeficiente)
segundoregistro
(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 significativo. 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 algunas veces mantisa o parte fraccionaria) y el contenido del segundo registro 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 representació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
02601000
coeficiente
CAP. 8
E
xponente
representa el número + .2601000X
10-a : * .000026010000,
Ios cualesproducen cuatro ceros de más a la izquierda. Por otra parte, el siguiente contenido:
t2601000
coeficiente
exponente
representa el número - .2601000X10t2: - 260100000000,
lo cual produce cinco ceros de más a la derecha.
En estos ejemplos, se asume que el coeficiente es una fracción de punto 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úmeros 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 exponente siempre contiene el número E + 50, E es el exponente actual. La sustracció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 exponente. Por ejemplo el número + 1001.110puede representarse de la siguiente manera:
signo¡- punto binario inicial
tt
r
t
SIEI]O
0100111000
coeficiente
exponente
El registro del coeficientetiene 10 flip-flops: una para el signo y nueve para 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.rdonde 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 computador 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
t
f
srgno
-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
coeficiente
1000010
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 materiales 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 requiere primero una aiineación del punto del radical, ya que ia parte expo-
I
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
nencial debe hacerse igual antes de que los coeficientes se sumen o resten.
Esta alineación se hace desplazandoun coeficiente mientras que su exponente 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 conjunto de símbolos que abarcan letras, dígitos y varios caracteres especiaIes. Un computador es capaz de aceptar caracf,eres 1en código binario),
almacenarlos en la memoria y realizar operaciones con los caracteres trasferidos 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 caracter 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ódigc. 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 consecutivos. 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 especificació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 adoptado 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 matriz de puntos en pantalla CRT (tubo de rayos catódicos) requiere una representació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-
I
D A T O S N O N U M E R I C O S3 4 9
sEc.8-10
lado o sistema de distribución de potencia usa información binaria codia cabo
ficada predeterminada. El tablero dó ajedrez y las fichas para Ilevar
de la
representación
de
forma
alguna
un juego por computador requiere
binario.
información en código
Las operaciones hechas principalmente con datos numéricos son trasf"."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 a las
de
información
dicha
y
trasferir
order, ,eqrrerido por la mémoria
permiten
y
de
desplazamiento
lógicas
operaciones
unidades externas. Las
de realizar tareas de manipulación de datos para ayudar
,-rrru
"upu"idad
en el proceso de tomar decisiones.
indiLas microoperaciones lógicas son muy útiles para manipular bits
un
que
conforman
grupo
bits
de
o
un
registro
viduates almacénados en un
pueden
cambiar
lógicas
operaciones
Las
dadó.
símbolo binario-codificado
valores de bits
uu1o.". de bits, eliminar un grupo de bits, o agregar nuev,os
bits de un relos
en un registro. Los siguientes ejemplos muestran cómo
como
de-desplazamiento.
gistro se Lanipulan poi lógi"a y microoperaciones
mela
en
prealmacenados
que
están
iógi"a
ina funció., de opeündos de
moria.
tllt o un
La microoperación oR puede ser usada para poner a uno un
¡
Boole
de
+ l: I
grupo seleccionado de bits en un registro. Las relaciones
c
o
m
puerta
a
u
n
a
r
a
p
l
i
c
a
d
a
binaria
i ,'+ 0: r determinan que la variable
r
;
pero,
d
e
b
i
n
a
r
i
o
v
a
l
o
r
d
e
l
un 1, produ"".,l 1 independientemente
bR
de ¡'
e
l
v
a
l
o
r
"
o
.
,
n
o
c
a
m
b
i
a
r
á
0
,
u
n
c
o
n
O
R
c
o
m
p
u
e
r
t
a
cuando se aplica a una
con un
registro
un
A,
de
dado
bit
OR
un
compuerta
una
a
aplióar
al
Así,
previo. Consit, ó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
pero
A
de
orden
mayor
bits
de
1
los
cuatro
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 sey ¡'1
leccionado cle bits de un registro. Las relaciones de Boole ¡.0:0
u
n
a
com0
a
v
e
z
a
p
l
i
c
a
d
a
c
o
n
u
n
f
u
n
a
b
i
n
a
r
i
a
: ¡ implican que la variable
pe¡;
de
binario
valor
del
independientemente
0
pioa.,cirá
un
puerta iXO
valor
io, .rruttdo se aplica con un I a una compuerta AND- no cambiará el
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
del
orden
mayor
de
bits
los
cuatro
borrará
AÑD,
registro a una compuerta
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
0l0l 0l0l
A
0 0 0 0l l l l
B
0000 0l0l
A <_ A A B
CAP. 8
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
t r 0 00 1 0 1
B2
A<-A\ut Bl
La operación de máscara es una microoperaciónAND
¡, la operaciónde inserció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
llll 0000
A
B
00100101
A<-A@B
Los cuatro bits de mayor orden de A se complementan después
de la operació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
compuerta 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 !
s E c ,8 - 1 0
0l0t 0l0l
A
0 1 0 10 l 0 l
0000 0000
A
I
I
\g
.r.
j
A*A@A
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
p
e
r
m
a
n
e
c
e
r
á
e
n
b
i
t
1
.
e
s
t
e
u
n
f
u
e
4
o
r
i
g
i
n
a
l
m
e
n
t
e
¡
i
t
S
i
0
.
s
i
d
o
hubiera
"
t
c
u
a
t
r
o
s
i
e
l
b
i
t
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 convenlenorden,o
te desplazar el registio a la izquierda y trasferir el bit de mavor
bit de
del
flip-ilop
el
llama
se
que
comúnmente
1
bit
de
especia"l
t"gi"tt"
puede
comprobarse
""
Después de cada dósplazamiento, el arrastre
;;.;;;.".
si es 0 ó 1 y se toma una decisión dependiendo del resultado.
Las operaciones de desplazamiento son útiles para agrupar o dispersar 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
c
a
r
a
c
t
e
r
e
s almaDispersar es la operación inversa que Separados o_más
l
a
a
grupac
o
n
s
i
d
é
r
e
s
e
en una pulrbr^ a caracteres individuales.
.*iaor
A
SCII'
p
r
i
m
e
r
o
c
o
m
(
,
.
c
a
r
a
c
t
e
r
e
s
i
n
t
r
o
d
u
j
e
r
o
n
.i¿" ¿" dígitos ÉOC qn" se
la
Tabla
de
obtiene
y
se.
9
5
para
dígitos
los
,qSCII
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
r
e
gistro
a
l
t
r
a
s
f
i
e
r
e
5
s
e
orden como se muestra a continuación. El carácter
n
i
n
g
ú
n uso
t
i
e
n
e
n
n
o
g
m
a
y
o
r
o
r
d
e
n
d
e
b
i
t
s
al registro B. Los cuatro
i, V
agruE
l
"
f
q
u
e
d
e
s
e
n
m
a
s
c
a
r
a
n
.
s
e
m
a
n
e
r
a
d
e
B
D
C
,
para una represenración
e
l red
e
s
p
l
a
z
a
r
e
n
A
c
o
n
s
i
s
t
e
r
e
g
i
s
t
r
o
e
l
e
n
B
D
C
d
í
g
i
t
o
s
¿
o
s
¿e
pá-i*tá
posiciones
las
gi.tro A cuatro ,r""é, u la izquierda (con ceros colocados en
el conteniáe bits de menor orden) y luego aplica'do a una compuerta OR
do de los registros:
AB
00u 0101
0 0 1 1l 0 0 l : A S C I I9
AND con0000 1111
00000l0l
0000l00l
DesplazarA a la izquierda
cuatr0veces
01010000
ASCII 5 :
A<-_A\/ B
0 l 0 l l 0 0 l : B C D5 9
,1
q
,{
I
.J
a
:
' ¡i¡
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 informació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 almacenados 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"
las
".pe"ifican
operaciones, operandos y la secuencia en la cual el procesamiento
tiene que
ocurrir. La tarea de procesamiento de datos puede ser alterada simplernénte especificando un nuevo programa con diferentes instrucciones o especificando 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 ejecutarla 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 programa 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 parte 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 operación tal como sumar, restar, multiplicar, desplazar y complementar. El
r:onjunto de operaciones de máquina formulados por un computador depende del procedimiento que se intenta Ilevar a cabo. El número total de bperaciones 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 instrucción es una función del número total de operaciones usadas. Debe consistir de por lo menos n bits para 2" (o menos) operaciones dadas diferentes. 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 suministrar las señales de comando adecuadas, a los destinos dete¡minados,
para poder ejecutar la operación específica. Como ejemplo específico, con-
I
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
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 operació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 también los registros donde los operandos se encuentran de la misma manera
que el regiitro donde el resultado se almacena. Estos registros deben especificarsé en un código de instrucción de dos maneras. Se dice que un
iegistro se especifica explícitamente si el código de instrucción contiene
biís especialei para su identificación. Por ejemplo, una, instrucción puede
contenór no solámente una parte de operación sino también una dirección
de memoria. Se dice que lrna dirección de memoria especifica explícitamente 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 operación, es decir, si el registro está implícito en la parte operativa del código.
l
i
I
1
+
;á
ri
ü
$
,N
Formatos de códigos de instrucción
El formato de una instrucción usualmente se dibuja en un recuadro rectangular simbolizando los bits de la instrucción a medida que ellos aparecen
én la. palabras de la memoria o en un registro de contro,l. Los bits de la
instrucción se dividen algunas veces en grupos que subdividen la instrucción en partes. A cada grupo se le crea un nombre simbólico tal como
parte del cóáigo de operación o parte de una dirección. Las diferentes partes especifican diferentes funciones para la instrucción y cuando se muestran juntas constituyen un formato de código instrucción.
considérese por ejemplo, los tres formatos de código instrucción especificados 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 instrucción de opérando inmediato, porque el operando sigue inmediatamente
después dé la parte del código de operación de la instrucción. Se puede
operaciones tales como "sumar el operando al con,r.ui puru
"tpecifi"u.
del registro" o "trasferir el operando al registro procetenidó presente
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-
$
fl
H
H
g
u
3
i
\
'i
'-i
:á
C ódigo-operacirin
('ódrgooperacion
(a) Implícito
I
Operand"
I
Dirección
a"f operanclo
(-ódigo-operacion
Figura
8-12
'Ires
(b) Operandc inmediato
( c ) D i r e c c r ó nd i r e c t a
fbrmatos posibles de instrucción
rando que puede almacenarse en Ia memoria de alguna manera. La direcc 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 operación: "trasferir el contenido del registro procesadorr? ál registro pro"".udor 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 almacenado 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 operando. Para evitar la confusión al decir la palabra ..dirección', tantas
354
q
Directión -- -
O p e r a ci r , n
Memoria
cod-oPer: i
{ii
fiü
4*R
i
cod-oper: 2
0010100
8-13
Operando
A.
MlDirecciónl
operando: 44'
cod-oPer: 3
Figura
A.
0 r 0 0 0 1l 0
dirección - 70
0 0 0 1I 1 0 0
operando: 28'
Representación de Ia memoria de instrucciones
veces, es costumbre referirse a la dirección de memoria como una "localización". Así la instrucción de dirección directa se almacena en las localizaciones 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 alternat 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 agruparSeen una palabra, y en algunos aun, se pueden agrupar dos o más instruccionesen 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 operació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.
pár cada instrucción en la memoria, que especificauna operación, el
s u e S e n e c e s i l a np a r a l a
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
configuración de los componentes de un código de operación específico.
,r
.T
I
d
'7
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 microoperaciones en una sola proposición. t'na proposición que requiere una
secuencia de microoperaciones para su configuración se liama una macrooperací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
macrooperació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
computador, ya que todas las instruccioner
alguna operación de
".p."ifi.an
trasferencia entre registros, para que ésta
última sea"ejecutáda por los
componentes del computador.
Al observar una declaración de trasferencia entre registros aisladamente no se puede decir si é.sta representa una macro o microoperación ya
que ambos tipos de proposiciones denotan alguna proposición
d^etrasferencia 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 proposición puede ser ejecutada con una función de control sencilla,
ésta répresenta una microoperación. Si la ejecución de la proposición por.medió
de
^d"
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 instrucció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
D I S E Ñ OD E U N C O M P U T A D O S
RE N C I L L O3 5 7
La proposición que simboliza la instrucción:
A<_R
es también una macrooperación porque el control tiene primero que leer el
código de operación en la dirección 25 para decodificarlo y reconocerlo. La
trasferencia entre registros en sí se ejecuta con una segunda función de
control.
El rnétodo de trasferencia entre registros es adecuado para describir
las operaciones entre los registros en un sistema digital. Se puede usar en
diferentes niveles de presentación si se tiene en cuenta que se interpreten
las proposiciones adecuadamente. Se puede usar específicamente para
Ias siguientes tareas.
1. Definir instrucciones de computador de una manera concisa por
medio de proposiciones de macrooperación.
2. Expresar cualquier operación deseada por medio de una proposición
de macrooperación sin ninguna relación con una confiSrración especí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 explicarse en palabras, pero cuando se define con proposiciones de macrooperación, puede establecerse Ia definición precisamente con un mínirno de
ambigúedad. El uso de otras proposiciones de macrooperación puede facilitar las especificaciones iniciales de un sistema y las proposiciones pueden usarse para simular el sistema cuando se desea comprobar la operació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 registros 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 trasferencia entre registros se usa en cada una de las cuatro tareas listadas
anteriormente. Esto se hace al definir y diseñar un computador muy sencillo.
RE N C I L L O
8 - 1 2 D I S E Ñ OD E U N C O M P U T A D OS
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 suficiente 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 contad 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 bor 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
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
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
I)ecodificador
de t iempo
Figura
8- l.l
f
f
f
^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
l
j
q
.
Tabla
8-4
l,ista de registros para un computador sencilio
t
Número
Símbolo de bits
MAR
MBR
A
D
PC
IR
7'
Nombre del registro
Función
ó
Registro de di¡ección de memoria
Almacena direccionesde memoria
8
8
8
8
8
3
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
Registro A
Registro procesador
Registro R
Registro procesador
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
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
(lenerador de secuencias
Contador de tiempo
Tabla
Código de operación
0000000r
00000010
0000001
I .
8-5
T¡es instrucciones para un computador sencilr ,
Mnemónico
Descripción
Fu n c i ó n
MOV R
MoverRaA
. 1* R
LDI
O P R D C a r g a rO P R D . a , A
.4 * OPRD
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 programadorespara 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 continuación establece para un número de dirección que el programador debe especificar 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,. ulmacena 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 primera 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 siguiente 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 memoria 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
ttt
trasferir dirección del cod. de operación
MBR <- M, pC <- pC * l
tz: IR <--MBR
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
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áticamenteproduc.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áencomunicarse 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
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
S E C .8 - 1 2
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 microoperacionesy funcionesde control que precedenal ciclo de enr'íose determinan 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 secuencia. 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 registro 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 enuío, pat" leer el código de operaciónde la sigrrienteinstrucción en secuencia. 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
instrucción
esta
que
ejecutan
Fon:
1. Las microoperaciones
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,
trasferir dirección del operando
Q{s: MAR <- MBR
I
{:
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 memoria 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 incrementa 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 lectura 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 control 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 operació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
"r,
de
_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 instrucción requiere un ciclo
.de envío para reer un código de ope-ración.Las microoperaciones 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 computador práctico deberían ser mayores que las mostradas en la
Tabla g-6. obviamente, 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.
¡1.
MOVER
CARGA INMED.
.2.
4 tlt:
Qztt:
q2.4,
.t2.5.
CARGAA A
q3,3.
Qttc:
, t3 . 5 .
4zlai
Qzh:
MAR <_ PC
MBR<-M,PC<_PC+l
IR <- MBR
A<-R,T<-0
MAR <- PC
MBR <--M, PC <_ PC + I
A <-.MBR, T <_O
MAR <_ PC
MBR<_M,PC<_PC*I
MAR <- MBR
MBR<_ M
A <_ MBR, T <-.0
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
s[c. 8 12
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 princip 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 regist 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 mic 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 combinan 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 trasferencia de PC hasta MAft. La configuración de los componentes de la proposició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
xt = te I Qztt * q{t:
CAP 8
fo * k, + qr)t,
La variable binaria rr se aplica a la entrada de carga
derMAR y las salidas 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 asociadas 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 informació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 acuerdo 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 registro 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
x2: Q3t5:
xt- tt+ q2t4+ %t4:
xt: xt + %t6i
xs: ezts + q3t7:
x6: Q¡t3i
x7-x5+x6:.
x¿ - t2i
MAR <_ PC
MAR <_ MBR
PC<-PC+I
MBR<- M
A <_ MBR
A<_R
T <-0
IR+- MBR
q
i
1
Incrementar
Direcciona¡
Memo¡ia
Cargar
^
"y ó
Ql
Qz Qt
x5
.x1
x2
Circuito
combinacional
x7
x3
x4
x5
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 Bacon,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,
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,
8-2.
t,rn valor constante puede ser trasf'erido a un registro aplicando
a cada ent¡ada una señal binaria equivaiente a lógica 1o lógica'0.
Muestre la confi_
¡¡ración de la trasferencia:
T:
6 3
BeA
I <-- I l0l0l l0
L-n registro de 8 bits tiene una entrada x. La operación del registro
se clesc 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
declaraciones. Los registros tienen 4 bits de loneitud.
To: A <- R0
T,:
A+Rl
l
362
PROBLEMAS
Tzi
Tti
A r- R2
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;
siguientes trasferenlas
de
selección
de
(b) Dé los valores de las variables
c i a s :( 1 ) A ' B : ( 2 ) B ' C ; ( 3 ) D ' A '
8-6
haóiUna unidad de memoria tiene dos entradas de control marcadas como
Figura
la
con
conjuntamente
(como
se
explica
l¡to, y Lectura/escritura
MBR
?-30).'Las entradas de clatos de memoria se conectan a uil registro
registro excomo 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
DiEl MBR suministra los datos para la operaciór"rde escritura en memoria.
que
nuesy
compuertas
multip,lexores
usando
bloque
buje un diagrama de
del MBR o la memoria. El sistema debe tener capacidad
tren la
"onJ*ión
para ejecutar las siguientes tres trasferencias:
W: M <- MBR
R'. MBR <- M
E: MBR <- EXR
escribir a la memoria
leer de la memoria
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
Tzt
Tl
8-9.
R2 <- R\
R2 <- R2
R2 <-0
considere un registro A de 4 bits con el bit A., en la posición más significativa. ¿Cuál es lá operación especificada por la siguiente declaración?:
AaC: A<-A+l
A¿'. A -0
en paMuestre la configuración del sistema usando un contador con carga
ralelo.
g-10. Muestre los componentes necesarios para config.rrar las siguientes mlcrooperaciones lógicas:
3 6 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
(a) Tr: F<-A ¡\B
(b) 7z: G<-C \/ D
(c) Ir: E <- E
8-11. ¿Cuál es la diferenciaentre estasdos proposiciones?
A*B:
F<-C\/D
C + D:
F<-A + B
8-12. Especifiquela trasferenciaen serie 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
suministran 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 aigoritmos 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
(b) 0l0l0l + 000011
(c) lll00l + 001010
(d) l0l0n + ll1000
(e) 0l0l0l (0 001010
G) lll00l (h) l0l0l I -
0001II
lll00l
001010
l00ll0
I
'1
P B O B L E M A S3 6 9
8-1?. ¿Cuál es el rango de los números que pueden ser acomodados en un registro
de 16 bits cuando los números binarios se representan en:
(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 algoritmo enunciaflo en el texto. Use ocho bits para acomodar cada numero conjuntamente con su signo:
( l ) ( + 6 5 )+ ( + 7 8 )
( 2 )( - 6 5 ) + ( - 7 8 )
(3) (+35)+ (+¿10)
(4) (+65)+ (-78)
(5) (-65) + (+78)
(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 correspondiente 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 desplacen aritméticamente una posición a la derecha (en todas las tres representaciones).
(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. Muestre que el desplazamiento aritmético a la derecha simbolizado por:
An<- An@ V
A < - s h rA ,
dividida por 2 hubiese o no ocurrido
correcta
suma
la
producirá siempre
una sobrecapacidad en la suma original'
8-21. Represente + 149 y - 1?8 en BDC usando ia representación-de signo-compleIn".,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 signocomplJmento de 10 es similar a los algoritmos para los números binarios representados 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
significativa'
posición
más
9
en
la
por
un
un sig r negativo
¡l
!E
ll
T
,l
3 7 O L o G I c A D E T R A S F E R E N CEI AN T R ER E G I S T R o S
CAP
(b) Aplique los algoritmos para los conjuntos decimales ( - 63g) (Tgb)
v
+
( 6 3 8 )- ( 1 8 5 r "
8 23. Un número binario de punto flotante 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 repres 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 asum 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 operand 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 registro 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 parre 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 siguiente 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.
I
P R O B L E M A S3 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' Remp 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
F-uncion
Descripción
l'¿
00000010
00000011
ADI
ADA
OPRD SumareloperandoaA AeA
AeA
ADRS SumarRaA
* n
+OPRD
+MIADRSI
de componentes
3-33. Dibuie un cliagrama de bloque mostrando la configuracior.r
de comiendel sistema especificado en ei Problema 8-14. Incluya una entrada
D'
(dor]ei
flip-fiop
para
el
/¡echo
y
de
salida
¿o para poner a I el flip-flop S una
i
I
Diseño fógico
de procesadores
9- 1
INTRODUCCION
una unidad procesadoraes aquelra parte de un sistema digital
o un computador digital que configura las operacionesen el sistema. "Está
por un número de registrosy de funcionesdigitales que
"o,,'p"".lu
conforman
microoperacionesaritmé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 microoperaciones.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
registro procesadorhasta 64 registros o más. Álguno.
antiguos
*En
vienen con
"o-putadores
ulgund
casosun sistema
-un registro procesadorsolamente.
digital puede emplear un registro procesadorsencill]op"., p*po.itos
especiales. 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,ry
canalizan la información entre ellos a través de bus."es
comunes.
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
registros puede ser configu¡adacon un circuito combinacionalque
realiza la
operación por medio de compuertas. Tan pronto como las señáles." propugan a través de las compuertas, el producto estará disponible y puede
ser
trasferido a- un registro de destino con un pulso de relój sencillo. Alterna_
tivamente, la operaciónde multiplicación puederealizarsecon una secuencia 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
/
i
sEc. 9-2
O R G A N I Z A C I OD
N E L P R O C E S A D O R3 7 3
Todos los computadores,exceptolos muy grandesy rápidos.conllgur¿:.
las operacione.patticipantes por medio de una secuenciade micrc'rperacionei. 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 aritmet*" á" 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
que no se incluyen en el conjunpara dar seculncia a las microoperaciones
to básico.
La función digital que configura las microoperacionescon la informació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 registros 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 muestra 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 considut, .o-o parte de la unidad de control. Los registrosque almacenan direcciones son lncluidos alg¡nas veces como parte de la unidad de procesoy la
información de direccionesse procesapor un ALU común. En algunos computadores, 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 diseñ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 realizar un gran número de microoperaciones.Otras funciones digitales consideradas 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 trasferencia de datos entre los registros de la unidad. Los diferentes caminos
1
,!:
q
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
son controlados supuestamentepor medio de compuertas que abren los camlnos necesariosy cierran otros. Una unidad procesadorapuede diseñarse
para satisfacerun conjunto de canales de datoi para una áplicación específica. El diseño de ul procesadorpara propósitoÁespecialesfue demostrado 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 control 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 selecció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 como_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^forcesadores.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 microoperaciones 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 informació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.
l
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 destino se explica en la.seccióng-2 conjuntamentectn la Figura g-6.
El
ALU
y el registro de desplazamientose discuten más
tarde en este capitulo.
ulu unidad procesadora
puedetener más a".rrui.o.lgistros. La construcció¡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
dirige el flujo de información a través del ALU seleccio.rando
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 circuito integrado en el cual se incluye el procesador.El
s;"io d,e bits se refiere 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 .é,
ir.u
construir una unidad procesadorade g bits. pára un procesador
"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 siguiente ALtl de mayor orden y la salida en serie y líneas de entrada de los re-
\
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
gistros de desplazamiento se conectan también en cascada. L'n microprocesador 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 discutirá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 almacenar información binaria para ser procesada en el ALU.
Una memoria tapón o de borrado debe distinguirse de la memoria prirrcipal del computador. En contraste con la memoria principal. la cual almacena instrucciones y datos, una pequeña memoria de una unidad de proceso
es meramente una alternativa irara conectar un número de registros procesadores 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 registros 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, correspondiendo 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 memoria y se carga al registro B. La selección se hace especificando las direcciones 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 registro 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 dirección puede especificarse con tres bits. Para realizar la operación:
Rl<--R2+R3
1.
i
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 lectura y corga. La función de control ?3 debe suministrar el código de funció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, seleccionar la salida del registro de desplazamiento para el MUX y activar la
entrada de escrituro de memoria. El símbolo M lxxxl designa una palabra de memoria (o registro) especificada por una dirección dada en el número binario xxx.
Entrada
de datos
Di¡ección
Memoria tapó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
ORGANIZACIOD
N E L P R O C E S A D O R3 7 9
sEc. 9-2
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 grupo 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 informació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 palaLras 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 durante 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 direcciones, una para el puerto A y otra para el puerto B. Los datos de cualquier 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
Habilitación
escritura (WE)
Figura
9-3
Memoria tapón
o de borrado
ME
WE
DirecciónB
Habilitar
memoria (ME)
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 habilitador de memo¡ia (ME: memory enable),se puedenescribir nuevosdatos 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 informació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 informació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 aceptan 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 respectivamente. 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á tra6ititado 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
"ñr,p.rtadores digitales. El procesode sumar muchos númerosse lleva a cabo
almacenando 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 primer 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.
O R G A N I Z A C I ODNE L P R O C E S A D O R3 E :
sEc. 9-2
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,mpuertas asociadascon un registro acumulador suministran todas las funcionesdigitales encontradasen un ALU.
La F.igura9-4 muestra el diagrama de bloque de una unidad procesadora 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 suministra 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 regiso unidad de memoria.
tros procesadores
irara formar la suma de dos números almacenadosen los registros procesadores,es necesario agregarlosen el registro A usando la siguiente
secuenciade microinstrucciones:
borrar A
Tti A <-0
Tz:A<-A*Rl
trasferir Rl a A
Ts: A<-A 1R2
agregarR2aA
Entrada de datos
Selección
fuente B
Registros procesadores
o
unidad de memoria
Salida de datos
,ligura
9-4
ProcessCc¡ con un registro acumulador
D I S E Ñ OL O G I C OD E P R O C E S A D O R E SC A P . 9
El registroA se borra primero. El primer número
en ft1 se t¡asfiereal registro A agregandoal actual conteniáo de ceros de
A. El segundonúmero en
R2 se agregaal valor presente de A. La ,rr,,'" foi*"d;;
A debe usarse
para otros cálculos o puede ser t¡asferida
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üsEr 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 cuatro operacioneslógicas-(.cons2 en el otro estado).
Los arrastres de entrada 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
ALU
se usa muy a menudo como una cuenta variabre
de ülección que puededo_
blar el número de operacionesaritméticas. De
u.tu -rrrlru, es posible generar 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,
Unidad lógica aritmética
(ALU)
Figura
g-5
Ft
F2
f.l
Diagrama <te bioque de un ALU
(Selección de modo)
st
s0
(Arrast¡e de salida)
Ft
J2
(-.
..D
(Selección de función)
(Arrastre de entrada)
de 4 bits
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
sEc. 9-4
ción aritmética de manera
ticas y lógicas.
9.4
que puedan realizarse ambas operaciones aritme-
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 cirpurri"lo. Ur, .,r-"dár en paralelo se construye con un número
"r,
ABAB
cin=o
Í'=A+B+l
F=A+B
(b) Sumaconarrastre
(a) Suma
F=A+B+l
F=A+B
(d) Sustracción
(c) A más el comPlemento
deldeB
AO
Lir
-
u
,{
F=A+1
r-n
(f) Incrementa¡,4
(e) Trasferir A
I
,4 A1l I's
All I's
ci' =o
Cou,
F
F ==AA--t l
(g) DecrementarA
Figura
9-6
F=A
(h) T¡asfe¡i¡A
grupo
Operaciones obtenidas mediante el control de un
de entradas de un sumador en paralelo
:i
1.
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). controlando 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
de entradas recibe un
número binario A, el otro coniunto de entradás
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"
los bits de la
entrada B' cuando-c,n 0',la-saridap.áa*" "o-ói"tr.:;J",
¡]il'E;
cual
es la suma
r
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
sustracción si
se descartael arrastre dó salida. si se colocan
sólé;";;;;
los
terminalesB,
se obtiene F: A * 0: A, lo cuar trasfiere
la entrada A ala sali¿a F. Agregandoun 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
Z, en binario
consistede un 1 seguidopo. r, ."ro.. Restando
I di í;,^ le obtiene 2n -r,
lo cual en binario
,r.r núm"ro de n unos. suma ndo 2, - | a A
se obtiene
- r : 2 " ".
F:A+2"
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 ne F: A-r. Pa¡a hacer
una demostración
numérico, sea
n:8y A:9. Entonces:
"""-"1"":"r"pro
I :
2n:t
2-|:
A+2n _l_l
0000 l00l : (9)ro
0000 0000:(256)10
illl
llll:(255)ro
0000 1000:(256+8)r0
Quitando el arrastre de salida 2":2b6, se obtiene g:g- 1. Así,
se ha
decrementadoA en 1 agregándoleun número
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 muestra 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 muestra 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
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
sEc. 9-4
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 completos (FA) constituyen el sumador en paralelo. El arrastre que va a la primera 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 sumadores 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 ilustrados en la Figura 9-6.
Bi
Figura
Tabla 9-1
Jg
Circuito verdade¡o,/complemento,
uno,/cero
Tabla de función para el circuito aritmético de la Figura 9-8
Y
iguala
Selector
de función
J¡
9-7
Sa!ida
igual a
Función
Ctt
000
001
010
0ll
100
E
F:A
F-A+l
F:A+B
F:A+B+l
F:A+E
E
F:A+E+l
0
0
B
B
0'I
Todounos
Todo unos
F:A-l
F:A
Trasferir A
lncrementar A
AgregarB a A
AgregarBaAmás1
Agregarel complementode 1
deBaA
Agregarel complementode 2
d,eB aA
DecrementarA
Trasferir A
Cou,
Figura
g-8
Diagrama lógico del circuito aritmético
Este ejemplo demuest¡a la factibilidad de construir un circuito aritmé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'operaciones 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 especificada 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-combinacional será dife¡ente si el circuito genera diferenles operacionesaritmé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
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 incremento 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
Este indica que la suma es mayor que o igual
condición de sobrecapacidad.
a 2" y que la suma consistgde n * 1 bits.
La-operaciónF: A+B agregael complementode 1de B a A. Recuérdesede la Sección 1-5 que el complementode B puedeexpresarsearitméticamente 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-
F:(2"-l)-(B-A)
el cual es el complementode 1 de B - A.
J¡
Ss
00
001
0r0
0ll
100
Efecto del a¡rast¡e de salida en el circuito aritmético de la Figura 9-8
Cou, :
Función
aritmética
I
Comentarios
si
Cin
0
Cqsl €s siempre 0
F:A
F:A+l
F:A+B
F:A+B+l
B-r
F:A-
(A+B)>2"
(A+B)>(2"-r)
A>B
l0l
F:A-B
A>B
lr0
lll
F:A-l
F:A
A +0
A:2n
¡
''r
rl
t,, I
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 conveniente expresarel resultadoaritmético como:
Selector
de función
i
.
F:A-B-l
Tabla g-2
I
- |
Cout:1 y F:0 si A:2" -l
Ocurre sobrecapacidad si C.u¡ : 1
Ocurre sobrecapacidad si Cou¿: 1
Si Co,r :0, entonces A < B Y
F: complemento de 1 de(B - A)
S i C o , r : 0 , e n t o n c e sA < B Y
F: complemento de 2 de (B * A)
Cuut: 1, excepto cuando A: 0
Cs¡¿es sienpre 1
387
l: :l
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 puedededucirse 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
:;;"i2"
_I):2^ +A
d; tr'"ir-"ro.
- 1. El arrastre de salida es s-iempre
1 exceptocuando A:0. sustrayendo
- 1 e n c o m p l e m e n tdoe 2 á s 2 " - i ; l
1de O-da-1y
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 operaciones_básicas
puede llevarse a cabo siguiéndJel procedimientoenunciado en el ejemplo previo. Asurniendo q,rJ tod"" las operacionesdel grupo
puerien-ser generadaspor medio del sumadot
p"r"i"lo, se comienza obteniendo 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 agregadas a- cada etapa del sumador completo. Este procedii"i""to se demuestra
con el siguienteejemplo.
E
C' =0
F = A ++BB
F=A+E +t=¿-g
(a) Especificación de la función
q
¡]
J
A.
' - l
B¡
Ci¡cuito
combinacional
C¡* I
(b) Especificación del circuito combinacional
00
0l
l0
1l
00
0l
l0
ll
00
0l
l0
ll
0l
00
ll
I0
X ¡ =A ¡
Y¡--B¡es
'm
(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
L
oA
B
e
j
e
c
u
t
a
c
i
r
c
u
i
t
o
e
l
s
:
1
c i r c u i t o r e a l i z aA + B . C u a n d o
B.
2
de
de
mando el complemento
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"
el coáplementode B y C'^:1' La tabla de función se
t"
9-9(b). Cuando s:0, X, Y Y, de ca.dasumador
Figura
la
iirtu
"r, debJn ser iguales a las entradas externas A, Y Bt 19!
""r"pf"t"
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
;;i;;""te.
(b)
Iio.tt" de salida debe ser igual al valor de s. El diagrama en
típietapa
una
en
combinacional
circuito
posición
del
muestra la
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 sau É, pur^ las cuatro entradas cuando s: 0' Esta
es isuat
Itd;Í
"complem"ttto
d" B, pata las últimas cuatro entradas
lgrif al
".
:
de Áalida simplificadas para los cirfunciones
Lás
1.
s
.rr"ñdo
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 ORexclusiva.La variable de seleccións va a una entrada de cada compuerta 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 operandosseparadamentey 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 seleccionadas por medio de cuatro líneas de selección.Como todas las operaciones
lógicas pueden obtenersepor medio de operacionesAND, OR y NOT (complemento),podría ser más convenienteemplearun circuito lógicojustamente 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-ex390
q
0
*.
I
MUX
F,= A, t B,
Fi=Ai@Bi
F,= A¡8,
F ¡ =A i
2
OR
XOR
AND
NOT
3 Selección
(b) Tabla de función
(a) Diagrama lógico
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 muestra en la Figura 9-11. El diagrama muestra una etapa típica desigrradapor
¿l suscrito i. El circuito debe repetirsen vecespara un circuito lógico de
n bits. Las cuatro compuertasgeneranlas cuatro operacioneslógicas OR,
OR-exclusiva,AND y NOT. Las dos variablesde selecciónen el multiplexor
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 configuració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 cuando 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
"l
,:1
I
Una etapa de un
circuito aritmético
Una etapg de un
circuito lógico
Figura
Tabla 9-3
J2
sl
100
l0l
ll0
rll
9-12
Combinando circuitos lógicos y aritméticos
operacionesrógicasen una etapa de un circuito aritmético
J0
X,
Y, C,
Ai
0
A¡Bi0
Ai B,'
.4i10
0
0
F , : X , @ Y , Operación
F¡:
F,:
Ft:
F':
A¡
A,@B,
A,OB,
A!
'l'rasferir
A
XOR
Equivalencia
NOT
Operación
requerida
OR
XOR
AND
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 circuitos del sumador completo generanIa operaciónoR-exciusiva.
considéreseel circuito aritmético de ia Figura g-g. El valor
de r puede 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_nes
ló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 cuatro operacioneslógicas. Las tres variables de selección sz.sr y .s,,seleccionan ocho operacionesdiferentesy el arrastre de entrada c* se ,r.u pu.u
seleccionarcuatro operacionesaritméticas adicionales.Con s; :0, las variables 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.
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 diseñ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 procedimientoalterno que usa la disponibilidadde un sumadorparalelo.
Los pasosde que se componeel diseñode un ALU son los siguientes:
1. Diseñar la sección aritmética independientementede la sección
lógica.
2. Determinar las operacioneslógicas obtenidas del circuito aritmético en el paso 1, asumiendoque los arrastres de salida de todas las
etapasson 0.
3. Modificar el circuito aritmético para obtener las operacioneslógicas
requeridas.
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,radecuado 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.
¡
I
1
,
.t
,'.,
i
c
1
1
'I
i
I
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 entrada 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,,
obtiene una salida:
se
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:
Cuando sz :0,
s'2Ct
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
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 explicado 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 efecto 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
9-7
J2
J¡
0
0
0
0
0
0
0
0
I
I
I
I
0
0
0
0
0
0
I
I
Salida
0
0
I
I
0
0
I
I
0
I
0
I
0
I
0
I
0
I
0
I
X
X
X
X
F:A
F:A+l
F:AtB
F=A*B*l
F:A-B-l
F:A-B
F:A-l
F=A
F:AVB
F=A@B
F:AAB
F=f
Función
Trasferir A
IncrementarA
Suma
Suma con arrastre
Restacon préstamo
Sustracción
DecrementarA
Trasferir A
OR
OR-exclusiva
AND
ComplementarA
REGISTRO
DE CONDICION
Las_magnitudes relativas de dos núme¡os pueden ser dete¡minadasrestando 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 condiciones de los bits de algún interés, son el arrastre de salida y un resultado 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 condició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 simbolizan por medio de c, s, z y v. Los bits se ponena uno ó cero comoresultado de una operaciónrealizadaen el ALU.
I
sEc,9-7
REGISTRO
D E C O N D I C I O N3 9 7
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.
El bit Z se pone a uno si la salida del ALU contienesólo cerosy se
.J.
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 2 (ver Sección8-5). Para el ALU de 8bits,
de signo-complemento
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 valores de A y B. Si el bit V se pone a uno despuésde la adición de los dos
Si Z se
númeroscon signo, éste indicará una condición de sobrecapacidad.
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
CSZV-
Arrast¡e
Signo
Cero
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
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, excepto 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 signo. 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éstamodespués.deun_aoperaciónde sustracciónde A-8. un bit de préitamo no ocurre 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)
Relación
A>B
A>B
A<B
A<B
A:B
A+n
Estadodel bit
de condición
C:l
y
c:l
C=0
C:0oZ:l
Z:l
Z:0
Z=0
Función
de Boole
CZ'
C
C'
C,+ Z
Z
z'
I
C 399
DEDESPLAZAMIEf
DEUN REGISTRO
DISEÑO
SEC.9.8
positivo de manera que A debe ser_mayor que B. Esto es verdad sl n¡- :.:"
st
io¡.".upu.idad y y:0. Si el resultado se desbordapor sobrecapaciciaci
que
co¡una
8-5
la
Sección
en
mostrado
Fue
obtendü un resultadoerróneo.
cambia el signo del resultado.Por tanto, si 's : i
dición de sobrecapacidad
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
P
a
r
a
q
u
e
A
B
c
a
s
o
'
c
a
d
a
V
e
n
d
e
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
Como"u.,resultadode cero dará un signo positivo, se debe
áii".u"iu de
"e-.
ur"goruque el bít z es 0 para excluir la posibilidadde A:8. Para A>-B
u* *fi"i"rrte comprobar un signo positivo cuando no ocurre sobrecapacidad
reo un signo negativo cuando o"rrrtl una sobrecapacidad.Pan A < B, el
que
tiene
se
sultado debe ser negativo. Si el resultado es negativo o cero'
A<8. Las funcionei de Boole listadas en la tabla expresanlas condiciones
del bit de condición en forma algebraica.
(A-B)
Bits de condición después de la sustracción de números
Tabla 9-6
2
de
en signo-comPlemento
Relación
Estado de los bits de condición
Función de Boole
A>B
A>B
A <B
A<B
A:B
A+B
Z:0 y (s:0,v:0ó s:l,I/:l)
S:O,V:0ó S:l,V:r
z'(som
,soz
S:l,V:0ó
S:0,V:l
s:1, I/:0ós:0,v:lóZ:r
z:r
z:0
u
iI
¡
II
t'!
I
S@V
(s@v)+z
Z
Z'
1
I
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
l"
puede
desplazar
o
desplazamiento
sin
un
ilinformación directamente
precaución
formación a la derechao a la izquieida. Se debe tener alguna
vecesno haya tiasferencia del ALU al bus de salida. El
para que algunas
"Jesplaramientopioduce la microoperaciónde desplazamiento
i"girtr'" ¿"
comúnmenteno disponibleen un ALU'
un circuito ob"io para un registro de desplazamientoes un registro_de
pa.álelo. La informacióndel ALU
iurga
a"rptu"u*iento bidireccional
".t
"o.,
;;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
pulso
necesario
al
agregados
puisos
son
dos
ñstos
desplazamiento.
;;;
desplazamientoal registro de
"i
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 "tt
cuatro ñ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 variable de selección puede se: emplead" pltu especificar que irá a I, e 1,
durante 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
Figura
g-15
13
Registro
de desplazamiento
.t2
de 4 bits
a base de lógica
,Sl
combinacional
q
Tabla
9-7
Tabla de función para el registro de desplazamiento
Hl
Ho
Operación
0
0
I
0
I
0
I
S <- F
^S<- shr F
S <- shl F
S<--0
I
Función
Trasferir F a S (ningun desplazamientor
DesplazarF a la derechahacia S
DesplazarF a la izquierda hacia F
Trasferir0aS
durante el desplazamiento.Cuando H2 está en el otro estado la informació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 registro.
9-9
UNIDAD PROCESADORA
Las variables de selecciónen la unidad procesadoracontrola las microoperacionesejecutadasdentro 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 procesadoraconjuntamente con todas las variables de selección.Luego se discutirán las alternativas 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 multiplexorespara seleccionarlas entradasdel ALU. La entrada de datos de una
luente externa se seleccionatambién con los mismos multiplexores.La salida 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 desplazamiento puede trasferirse a cualquiera de los registros o a un destino externo.
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,especifica 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 mismo, pe;o seleccionala fuente de información para la entrada derechadel
ALU. El campo D seleccionaun registro de destino. El campoF conjuntamente con el bit etr C1, seleccionanuna función en el ALU. El campoH seleccionael 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úmerobinario en el código.Cuando el campoA ó B es 000,el correspondiente
multiplexor seleccionala entrada de datos. Cuando D:000, no se seleccionaregistro de destino. Los tres bits en el campo F conjuntamentecon el arrastre
de entrada C;a, surluristran las 12 operacionesdel ALU de la maneraespe402
\
^3
UNIDADPROCESADOR&
sEc. 9-9
para F:A' En
cificada en la Tabla 9-4. Nótese que hay dos posibilidades
pone
a 1 (ver Tabla
se
caso
y
otro
,rr ."ro el bit de arrastre C se boria en el
e-2).
Tabla g-g
9-16
Funciones de las variables de control para el procesadorde la Figura
Función de las variables de selección
Código
binario
B
I con
F con
C,.: 0
D
Datosentr. Datossal- N i n g .
000
nl
RI
RI
001
R2
R2
R2
010
R3
R3
R3
I
0l
n4
R4
R4
100
R5
R5
R5
l0l
R6
Ró
n6
l l0
R7
R7
R7
lll
Cn:
I
A+l
A+B+1
A-B
A, C <-0
A+B
A_B_I
A-l
AVB
A@B
AAB
A,C<-l
H
No desplazamiento
Despl. a la der., /^ : Q
Despl. alaizq., It:O
0 al bus de salida
Circular a la der. con C
Circular a la izq. con C
T
especifica-nlas
Las cuatro primeras entradas del código en e-l campo H
de sevariable
tercera
Una
9-?.
la
Tabla
d.
opuru"iá"* á. d".pi"ráLi"trto
I' ó
e
I,
serie
de
entradas
para
las
0
un
lección se usa pu,"
se
conveniencia
Por
"'p".ificar
C.
,rn-a..pt"ramiento ci-rála. con el bif de arrastre
y
a
crc
como
arrastre
con
á.*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,
C +- Rt
Rn<- C,
Rsedesplazaa|aderecha,subitme{lgssignificativoR.vaaCyelvalor
a.-C uu a la posición del bit más significativo Rn'
J" .onirol de 16 bi[s para especificaruna miSe necesita
gene",'|'p"Iil;á
lá unidad de proceso. La manera más eficiente de
de
unidad
una
en
"rooñ"tu.lá;;|*
tattiot bits es almacenarlas
rar palabra. d.
almacenadas
están
donde
"orrlrJf;;
control
d,e
memoria que funciona como rnemoria
palabras de control se lee
todas las palabras de control. La secuencia de
a palabra para-iniciar la secuenciadeseada
de la memoria de
se llama micropro";t;i;;I"bra
de microoper".iorr"..-ütt" tip" de or'ganizaciónde control
Capítulo10'
el
i*Áot¡¿i y se discute en más detalle en
dada puede ser derivamicrooperación
pu1"
una
"'-";"
á"-"""tio1
iálát.á
en la Tabla 9-8' La
definidas
seleccién
de
da directamente¿e-ür-""tüúr.t
microoperaciónde sustracción:
Rl<-Rl-
R2
I
I
d
&
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
para
el^registrode.desprazamiento Rr paia
r";i.;;?;'d;.;i;".
v
De
ra
Tabra
9-8 se deriva la palabra de control
"r esta operación
óuru qu"
sea
0010100010101000:
A
001
BD
q,H
0 r 0 001 0 r 0 r 000
F
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 sustracció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
una operaciónALU F : A.
ryc,ri"re
La fuente A es r(x) v el destino D esrói.
_nr.¿J,g" á".ii"J.io" B podría ser
.oru porqlu el ALU
ü;;
Este campo se marca con 000 en la
::¡l:T"_t
";
tabla por convenienciapero-cuarquier
otro códigoá" úil;;dría
ser usado.
Para trasferir la enrrada de datos á ná,-Já"b";;;;i:000
para se_
leccionar la entrada exte¡na D:110 para
I
seleccionarel registro de destino' 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
i
F: Lcoloca la informaciónde nZal
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,
c*0 no
carnbia el contenido.áel
p".o borrará c y v. Los bits de selección
,registro,
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
Rl+--Rl-R2
R3-R4
R5 <--fi4
Itó <-.Entrada
Salida <- R7
Rl<-¡Rl,C<-0
R3 <- shl R3
Rl<-crcRl
R2<-0
F
C¡n
001 0t0 001 010 I
0ll 100 000 010 I
r00 000 l0l 000 0
000 000 ll0 000 0
ul 000 000 000 0
00r 000 001 000 0
oil 0ll 0ll t00 0
001 001 001 100 0
000 000 010 000 0
Función
000 Sustrae¡ R2de Rl
000 Comparar RBy R4
000 Trasferir R4 a R5
000 Entrada de datos a g6
000 Salida de datos de.RT
000 Borrar el bit de arrastre C
010 trsspl¿pr a la derechaR3 con.L : 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
0l I Borrar.R2
j!
U N I D A DP R O C E S A D O R ^4 O 5
sEc. 9-9
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 operación de incrementoo decremento.
si se quiere colocar el contenidode un registroa un registrode desplazamiento 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 operación de no desplazamiento.Para desplazarlos contenidosde un registro se
debe colocar el valor del registro en el registro de desplazamientosin hacerle ningún cambio al ALU. La proposiciónde la microoperaciónde desplazamientoa 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 desplazamiento 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 operación oR y que el selector Il de desplazamientosea 010 para el desplazamiento 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 anteriormente.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 borrar 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
neral que puede adaptarse a muchas aplicaciones. El método de trasferencia entre registros es una herramienta conveniente para especificar las
operaciones en forma simbólica en un sistema digital que emplea una unidad de proceso para propósitos generales" El sistema se define primero
con una secuencia de proposiciones de microoperación en el método de notación de trasferencia entre registros o en cualquier otra notación disponible 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 variables de selección del procesador. Leyendo consecutivamente las palabras de control de la memoria, es posible darle secuencia a las microoperaciones 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 discutido 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 retroalimentación de la salida del registro a una de las entradas en el ALU el registro 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 secuenciales 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
I
--E
D I S E Ñ OD E L A C U M U L A D O R 4 O 7
sEc.9-10
El diagramade bloque de un acumuladorque forma un circuito secuencial 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 solamenie la parte def circuito combinacionaldel circuito secuencial.EI registro A se irata algunas veces como el registro acumulador y se denota algunas 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 deterdel registro. El siguiente estadodel registro A
minan las microoperaciones
presentey de las entradas externas.
estado
dé
un
función
una
es
En el Capítulo ? se consideraronvarios registrosque realizan funciones específi""Átul". como la carga en paralelo, las operacionesde desplazamiento 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 acumulador es un registro de multifunción que por sí mismo puederealizar todas
las microopericionesen la unidad procesadora.Las microoperacionesincluidas 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 circuiEl procedimientoenunciadoen esta sección
tó con nueve microoperaciones.
puede ser usado para extender el registro a otras microoperaciones.
para el acumuladorse da en Ia Tabla
El conjunto áe microoperaciones
pe son generadaspor los circuitos
pr
hasta
9-10. Las variables de control
como funciones de control que
consideradas
y
ser
iógi"o. de control deben
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
Variable
de control
Pt
Pz
Ps
Pq
Ps
Pe
Pt
Ps
Ps
9-lO
Lista de microoperaciones de un acumulador
Microoperación
A<_A+ B
A <-0
A e-.f
A<-A \B
A<_A\/ B
A<-.A@B
A <-shr A
A +-sl:JA
A<-A*l
Si (A : 0) entonces(Z: l)
Nombre
Sumar
Borrar
Cornplementar
AND
OR
OR-exclusiva
Desplazara la derecha
Desplazara la izquierda
Incremento
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
es siempre el registro A. La
^las-microop"ru"ione.
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 ent¡adas al circuito secuencial.Estas variabres
son
mutuamente
v solamente una variabre debe ser h;bili;;il;il#ürre
"*.]"v*r",
un pulso de
reloj. La última entrada en la Tabla 9-10es
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
procedimiento
el
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, , vecina
a su derechay a ta A,+.r suizqúierd;-i;;;i;;;;;;
y taúltima
A,
!
no tienen vecinasa un
y debeprestárserésatenciónispeciar. El
_lado
regis_
tro se diseñaráusandoflip_flópsdel iipo./f.
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"
significado
.. á.¡"
-opera-ciór,
;;;
solamenteuna variable de
controt ,e r,á¡itiá
"".d;;
a"ao.
como
las
variables de contror son excluy".rt"r- *rrtrramente,
"" ""}"liJ
es 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 microoperació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
(pr):
a
A
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 entradas 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,
ut arrastre
de entrada en la siguienteetapa.
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.
se considera
como un circuito secuencial,se muestra en la""ÁprJt",-"""i¿o
g-1& ñl ,"1"; d; fi;:
Figirra
-".1;Jo-;refente
flop A, anterior al pulso de reloj expecifica
en el cir"l
sEc.9-10
\
t
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 funció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 columnas 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, designada como KA, no incluyen la variable de control pt. Estas dos ecuaciones 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
presente Entradas
Ai
Bi
0
0
0
0
00
0l
l0
tl
00
0t
l0
ll
I
I
I
I
ci
Estado Entradas de
siguiente flip-flops Salida
JAí KAi
Ai
0
OX
IX
IX
OX
XO
XI
XI
XO
I
I
0
I
0
I
C¡*t
0
0
0
I
0
I
I
I
Bi
I
A ., L
{
X
X
w
A
X
X
X
x
I
I
g--J
L,¡
JA¡=B¡C'¡+BiC¡
Figura
9-18
KAí= Bic'i + B'íCi
C¡*1=A,B, + AiCi + Bici
Tabla de excitación para la microoperación de suma
I
4IO
CAP. 9
D I S E Ñ OL O G I C OD E P R O C E S A D O R E S
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 entrada 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 necesita aplicar p3 a ambasentradasJ y K:
JA¡: PI
KA': pt
AND (pn): La microoperaciónAND se inicia con la variable de control 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
B¡
Estado Entradas de
Estado
presenteEntrada siguiente los flip-flops
TAi
OX
tX
X0
XI
KA¡
I A¡:
Bi
(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
KA¡:3'
I
DISEÑO DEL ACUMUi-ADOF ¿: i
sEc. 9-10
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 estado 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 variables 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 entre 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
el estado presente y siguiente de A' son
tabla de estado. Cuando B¡:0,
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 entre 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 contenido 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 registro 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 Figura 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 ttauilitador 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
D E LA C U M U L A O O4A1 3
DISEÑO
S E C .9 . 1 O
AND al arrastre de entrada y a A¡. El arrastre de entrada que va a la primera etapa es E1 y debe ser igual a la variable de control pe la cuai habilita la cuenta.
del cero (z)z La variable z es una salida del acumucomprobación
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 conteCudu etapa genera una variable z¡¡y &l aplicar la función
nido de
"".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 '
zt:
I
Zr+l:
Z
i:1,2,..,,n
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
individuales. Las variables de control
deducidáspara las microoperaciones
p1 hasta pn rotr excluyenles mutuamente de manera que los circuitos Iópuedenser combinadoscon una operaciónOR. Com!i.or
"or.l.pondientes
Éinandotodas las funcionesde entrada para las entradasJ y K del flip-flop
Etapa 3
Cadena de compuertas AND
Figura 9-21
de ceros en el registro
para comprobar el contenido
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:
JA,:
KA, :
B,Cipr* B,'C¡tr+p3+ B,ps-f B'pu+ A'*tPt *A'-''p'+
B,C,'p, + BiC¿t, * Pz * pt + BiPq * B,pot A''*tPt
E'
+ 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
funciones
las
de
directa
la
configúracián
en la Figurag-22. n-r1u
que incluye
""
Iistadas anteriormente.El diagrama es un circuito compuestoLos diferenmicrooperación'
los circuitos indirriáualesasocádos con cada
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 operapara
h^abilitar
etapa
primera
control p" se apliá ,álu-"rrtu a la
en el
entradas
seis
olras
háy
8,,
enlrada
la
ción de incrementou-ir*¿. de
enlas
B que suministran
circuito. B, es el bi; áe datos de los termi'áles
a
previa
etapa
Ia
de
.la
tradas al acumulador. c¡ es el arrast-rede entrada
que está una posición a la deflip-flop
del
salida
iá
de
vienl
A,,,
derecha.
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
q uusa
i e r para
d a ' { ltortj
z¡
el arrastre ae errtruJapurá tu bpétu.ión de incremento
-e. cero. El circuito tiene cuatro salidas: A,
mar la cadena pu* d"i"""ión áe
urru*tre para la siguiente etapa, E'*1
u.--iu-rulidu a"inii iiáp,-ó;;'
"1
etapa y. z¡aI €s para la sies el arrastre de incremento para Ia siguiente
para la detección de cero.
cadena
pára
formar"la
u ru iñ;i;;a;,
g"r""ü"t"|"
i
1
I
{
I
1
1
t
1
{
1
Acumulador comPleto
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
sencas9-22'
mostrado en
cada con cada etáfí^"á"t."i""ao el ciicuito
aplicadasa cada etaTodas las variabll! de control exceptopn deben_ser
estar conectadasen
deben
etapa
y
salidat-"'-t"ti"
pa. Las otras entradas
i".*¿u para formar un acumuladorcompleto'
----r
completose
acumulador
La interconexiónentre etapaspara fot-ar un
bloque
Cada
9.23.
Figura
la
ilustra en el acum,,t,ao, de 4 bits mostradoen
g-zzde Ia
número
nt
Figura
la
de
circuito
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)
;;;ii"" ocho variablés cle control pr l]:tu
dor. Todos io. nro-qrres
otra-qseis ent,radasy cuatro salidas en cada
;;il";--Je-.eloj del cp. Las
I
l
o
o
!
f l sv .oi
!4
ü
i r58e
'rv\r{\
N,3
NV\IQ
i-
o
NU\QJ
,s"
d
rv Í\ )kr. ] \
-É -
ú
\J\ta
<l
q"*.(r.{ao{
N
s
l b
I
N l ) \ f ¡ J
b¡
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 conectan 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 incrementose 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 incluyendo 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
sin agregarpatillas externas.
puede ser extendido a 16 microoperaciones
REFERENCIAS
Englewood
Cliffs,N.J.: Prentice1. Mano,M. M., ComputerSystemArchítecture.
Hall. Inc..1976.
Dallas,Texas:TexasInstruments,
2. The TTL Data Bookfor DesignEngíneers.
I¡c., 1976.
Famíly Data Booh.Sunnyvale,Calif.: Ad3. The Am2N0BipolarMícroprocessor
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
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 decodificador de destino?
9-3. Asuma que cada registroen la Figura 9-1 es de 8 bits de largo. Dibuje un diagrama de bloque detallado para el recuadro marcado MUX que seleccionael
9-1.
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 multiplexores c¡e4 a 1 iínea.
9-4.
9-5.
9-6.
9-7'
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?
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.
El ALU de 4 bits de la Figura 9-5 se incluye dentro de un cI. Muestre las conexiones entre tres cI para conformar un ALU de 12 bits. Asigrre los arrastres de entr¿:day salida en el ALU de 12 bits.
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 variable 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 completos 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
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
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
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
s
i
A > 8 . ¿ C u á lp o á r i " s e r e l r e s u l t a d o
en Ia posiciónmás significati'a'
préstamo
y
de
bit
F
el
en
obteniJo
resultaáo
g-12. Diseñe un circuito aritmético con dos variablesde selecciónst Y so que generalassigulentesoperacionesaritméticas.Dibujeeldiagramaiógicodeuna
etapa tíPica.
sl
Crn: I
Ctr:o
S6
F:A+B+l
F:A+l
F=A+B
F:A
F:E
F:A+E
0
0
I
I
F: E+r
+l
r:l+E
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'
F:A+l
F:A-B
F:B-A
F:A+B+l
F:A
F:A-B-l
F:B-A-l
F:A+B
0
0
I
I
I
C¡:
Cr': o
s0
Jl
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
lu Tublu 2-5. Use cuatro ,ráriablesde selección.Sugerencia:
ló;i;;. listadas
normales del
".r
UJe ur multiplexoi áe 4 x 1 invertido, es decir, use las entradas
lógica.
para
la
unidad
selección
de
líneas
las
c-omo
multiplexor
con la variable
9-16. Modifique el circuito aritmético de la Figura 9! en u¡ AlU
al
circuito arit:
idéntico
es
¡'l'U
0'
sz
'
Cuando
s2
modo
de selecciónde
"t
de
acuerdoa la
lógicas
funciones
ALU generaias
mético. Cua.tdo rr:1,'el
siguientetabla:
S2
sl
S6
0
I
0
I
Salida
Función
F:AAB
F:A@B
F:AVB
F__A-
AND
XOR
OR
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érminos 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
condicio_
v
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 registro R. Los bits de :ondición s (signo)y v (sobrecap..r¿rJise
afectanduranpruebe
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
especificar la entrada en serie .fr durante la operación de desplazamiento
a Ia
derechade la siguiente manera:
Gl
Go
0
I
0
I
Función
Colocar ceros a 1.
Hacer un desplazamiento ci¡cular
Hacer un desplazamiento circular con arrastre
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 desplamiento.
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
(b) R3 <- R4 + R5
(c) R6 <-R6
(d)R7<-R7 - I
( e )R l < - s h r R l
(l) R2 <- clc R2
(g) R3 <- R4 O R5
(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 definido en la Sección 9-10.
ptt
A*
ps:
A<-A*l
pi
A<-A*
P{
A-l
ps;
AeA
F
B
* |
(a) Determine el contenido de A después de cada microoperación si inicialmente 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 microoperació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 disponibles 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'automatizado para
computador
rle
desarrollan varias t¿.niü. de diseño
para el sistelas
especificaciones
embargo
Sin
.r proceso¿"-áir"no.
iJil"t
las tareas
para
lograr
álgorítmicos
procedimientos
áe
*á--V lf áé.urrollo
y rei"q,rátiA"" de procesamiento de datos no pueden ser automatizados
humano'
q.rie.".t
un razonamientomental del diseñador
=---L;parte
de -"vá.-á".áno y creatividad del diseño es el establecimien¿. direño y la iormulación de algoritmos y procesamientos
t" d;;ú;liuo,
una cantidad
p"* f"gr- lo, objfiiuos"enunciados. Esta taréa requiere
parte.
del.disenador'Un algoe ingenuidadpor
considerabl. a.
algo"*puriuncia
,llÁo-"" rr' pro."dl*iento para óbtutt"t una solución al problema.Un
una
con
el
para
configurar
ritmo diseñodo ,r., pro"ódi-iento
-problema
puede
comenno
""
diseñado
algoritmo
dei
pi"ru auau de equipo. Él desa.tollo
qrr"
diseñadoresté segurodé dos cosas'Primero, el problema
;;;úú
"i
cJmpletamente' Segundo'^sedebe asumir
untra -".to. dtbe
par"o-ptenderse
inicial del equipopára conformarel procedimiento'A
u'u
busca
equipo
de
disponibilidad
"onfigoración
la
-se
li.-¿"f eriunciado dei ptoble*i v ¿"
medianteun
una solución y se foi."i un algoritmo. El algoritmo se-enuncia
finito de pasosde procedimientosbien definidos'
almacena
"tt-..o
La informacién binariá encontradaen un sistema digital se
por datos
puede
ser
constituida
y
en un procesadoro ,ági.l.or de memoria
información
de
discretos
elementos
o información de control. Los datos son
La información de control suminispor microoperaciones.
!,,";;;ipulan
la secuencia de microoperaciones'
para
especificar
ira señales de mandos
es un procesopara deducir los
digital
.irtema
áe'un
i,u tJgi"" de diseno
datos á" pto"-tu-ientos y de circuitos dicircuitos digitales q""-.*li""n
gitales que iuministran señalesde control'
sincró_niLa temporir".ián á.1oáos los registrosen un sistema digital
Los
maestros'
co se controla por medio de un generadorde pul'qosde.reloj
sistema,
el
en
y
registros
los
p"rro. a" reloj se upii.un a todos*los flip-flops
Los pulsos coni""i"V""a" tos nip-hops y registros-en-láunidad de control'
que el registro
no.ser
a
registro
un
de
*tñ¡iá" e"l estado
tinuos de reloj
que controlan
binarias,
"o
variábles
Las
control.
¡"
," i,Áiiit" por l" ;;;i
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 tambié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
consistir de registros individuales y funciones áigiiales aJociadai. Ef control inicia todas las microoperacionesen el pro"cesamiento
de datos. La
lógica de control que generalas señalespara dar secuenciaa ras
microoperacionesen 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 procesador de datos del sistema.
El diseño de un sistema digital que requiereuna secuenciade
control
co;nienza
de tiempo. Se
-conla suposiciónde ta disponibilidad d"
diseña cada variable en la secuenciapor medio de un
""ri"bi".
estadoy luegose for_
diagrama
de
estadoo
una
representación
equival"ni.
p"r" ta tranTa. .un
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
externas
Datos
de ent¡ada
Lógica
de control
P¡ocesador
de datos
Condiciones
del status
Salida de datos
Figura
1O-l
Interacción entre el cont¡ol y el procesador de datos
l
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 relaciones 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 sistema 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ónilustrativa 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 flujograma 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 trasferencia 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 caminos 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 estado. El bloque de decisiónen el flujogramaes equivalentea la información
binaria escrita por conducto de las líneas dirigidas que conectandos estados 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 deduce entoncesdel algoritmo enunciado. Solamentehasta que se haga lo anterior 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 control 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 estados 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 obtenidos por este método requieren por lo general un número excesivode flipflops 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 configure la secuenciade control deseadade una manera lógica y directa. El
esfuerzode minimizar el número de circuitos tenderíaa producir una configuració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 experiencia 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 interconectan con alambres para formar una ¡ed circuito de control. una unidad 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 programableo una memoria de solamentelectura. cualquier alteracióno modificación en el microprogramade control puede lograisefácilmente sin cambiar 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 seccionessubsiguientesde 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
r
t
Método de un flip-flop por estado
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.
Por ejemplo un circuito secuencial con 12 estados requiere un mínimo de
Aun por medio de este método el circuatro flip-flops porque 23 <12(21.
cuito de control usa 12 flip-flops para cada estado.
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 ofrece un ahorro de esfuerzos en el diseño, un aumento en la simplicidad operacional y una disminución potencial en los circuitos combinacionales requeridos para configurar el circuito secuencial completo.
La Figura 10-2 muestra Ia configuración de una lógica de control secuencial de cuatro estados, que usa cuatro flip-flops tipo D: un flip-flop por
En cualquier intervalo de tiempo dado entre dos
I,2,3.
estado 7,, i:0,
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 manifiesta 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 microoperaciones.
Si el circuito de control no necesita entradas externas para su cadencia, 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 siguiente de una manera circular. Por esta razón el método de un flip-flop por est 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 secuencial de cuatro estados.El registro de secuencia
tie-ne-dosflit fl;p, ;
el decodificadorestablece
."gi._
.salidas separadaspu."
tro. La transición al siguiente
"ud,á""rir¿o
".r'"r es una
estaáo en el registr"
,*,rencia
funcion del estadopresentey de las condicionesá"
como
las salidas del decodificadoiestán de alguna ¡";;;;irp."ibl".,
""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.,
del estado
presente ¡' de las entradas ex-tern¿spueden inüiar
microoperacionesen
adición a las salidasdel decodificador.
si el circuito de control de la Figura 10-3 no necesitaentradas
exter_
nas, el registro de secuenciase reduJe a un contador que
continuamente
428
I
Otras salidas de control
Lógica
de decisión
Registro
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 llacontador. Este método y el de
mado algunasve¿esun método d.ecodificador
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 decodificador excepto que todos los circuitos combinacionalesse configuran con
un PLA, incluyóndo el decodificadory la lógica de decisión.Bs posible reducir 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 iniciarse 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 configurasolamente 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
I
Condicir¡nes
de entrada
externas
Figura
lO-4
Iniciar
mic¡ooperaciones
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 variables 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
.,rur 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 cont.roLmicroprogramada. cada palabra de contror de memoria se llama
microinstrucció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 ubicació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 especifica 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
e"mplean
' - ; r . a. r e m o r í a
de control en la cual se puede eicribír (wcM:
writablé coni:o1 memory). Este tipo de memoria puede se. usada para
escribir (o camel
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
la dirección
siguiente
Controldel
registrode
direcciones
Memoria
de control
(ROM)
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
en los alambres de salida por el tiempo
p..-ur,"""
;;1"ú;;;peóificaia
neceNo se
de la di.ección pur*u.tece en el registro de dirección.
;f ;ü,
palabra
Una
aleatorio.
acceso
áe
memoria
una
en
como
sita señal de lectura
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
y una palabra de
dirección
en
cambio
pueden ocurrir simultáneamenteun
separador'
--nOn¿ no es necesarioun registro
representauna mrcrolnsia putabra leída de una memoria de control
para
microoperaciones
más
o
trucción. La microiittt""ti¿" especificauna
la
operaciones'
las
ejecuten.
qt"
t"
los componentesdei sistema' Una vez
de
la siguiente.dirección.l,a ubicación
unidad de control d;;;á.;.;-inar
'"t-lu siguiente-ensecuenciao podría
podríu
la siguiente Ini".oinrtt,tcción
necelu *"*otiu de control. Por esta razón es
ser ubicada en otrol;;;;;;
generación
la
para
c-ontrolar
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.
condiciones
las
de
ii""ió"
.", i"Á¡i¿";;;
ñ"*
la siguiente dirección es comMientras se ejecutari^ru.Ái.tooperaciones,
siguiénte dirección v luego trasferida
putada en et circui;;;;;.;;e;t.de,t,
de direccionespara
(con el siguiente p"i.|-á. reloj) al_regi-tro de control
del generador
detallada
La ionstrucción
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
sobre'ejemplos
;;;"
.ápñ-1i
EI resto a.
el método
demuestra
10-3
".t.
El;;i;.r,"jemplo.en la Sección
lógica de control.
con
ejemplo
mismo
el
presenta
y lá Sección.10-4
de un flip_flop p",
ejemplopara
segundo
un
"i"áá
usa
10-6
Sección
L;
un control ,-rri.roprüriiuá".
y la Secy
de-codificador
demostrar .l *¿toij á.i r"gittto de secuencia 9l
10-5 v
Secciones
Las
ejemplocon un PLA'
ción 10-7.o'riguruii;;gdil
detalle.
más
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
cAP. 10
l. Se enunciael problema.
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""
r" secuencia
de microoperaciones
del sistema.u;; u"r. qu"_." tónga ia lista
de
microope_
raciones se pueden escogerfunciones aigiiare,
.
para su confi_
guración' En esencia,
erto suministra ti pa.t" """L".iá.
de datos del
;;;;;;;;.a
sistema. El cont¡ol se diseña entoncespara
darle ,."ulrr"i" a las microope_
racio_nesrequeridasen 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 demostrar 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_
*ilT:f"
siemprey cuandJer ,"s-uli"aofinai;;t
;;
formade signo_
La suma de dos números almacenados
en -los registrosde longitud finita podría resultar en una suma que
excede r"
rrel registro
de almacenaje
en un bit. El nit
." dr¡e que "upá"iá"á
Er
-'ircuito debe venir crc,nun flip-flop
"*it"-pu* utmac""ri"-;;;';;*."capacidad.
'" 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
en los flip_
flops A. ,r'8.. ia Figura 1o-6;;rtta
"l-u"i'u'
los registros
y el equipo asociado.
El ALU realiza las opéraciones
aritméllcas y el registroE de 1 bit sirve como
nto
sobrecapácidad.
El ;;;.r*;"
salida der ALU se rrasfiereal E.
l:o^9:
se asume que los dos número! y sus signos
tt"r,
tiasferidos a sus
y que el resuttádo-¿" ü
"i¿á
á.ia
airpo'ible en
fgt:l::.I:specrivos
ros reglstrosA ]' 4.. Las dos señales
"p"iá"ij"el
de entrada
especifican
las operacionesde suma (go) y resta (q").
".,
"orrt.ol
La variable
de salida ¡ indica
I
,f
Signo
Magnitud
Sobrecapacidad
q" (Sumar)
tr
q. (Restar)
r (Qperación
terminada)
parael sumador-sustracto¡
Figura lO-6 Configuración
del registro
l
tt,
I
t
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 reconoce la señal de entrada eo ó e" y suministra la operación requerida.
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
está en E.
bit de sobrecapacidad
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 procedimiento 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 compacta 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
(+A)+ (+B):
+(A+ B)
+(A - B) : -(B - A)
-(A-B):+(B-A)
(+A) + (-B) :
(-A)+(+r¡:
(-A)+ (-B):
sil <a
a:
-(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 entrada 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 manera 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 sustracció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 resultado 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 complemento 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 operació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 procesador 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
comal registro A y también el arrastre de salida a E. Las variables -t-,z y ¿¿)
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
s0
.,
-
LóBica
.
de control
(Selecciónde función)
C¡ (Arrastre de entrada)
L (CargarAyEdelALU)
y (ComplementarB")
z (ComplementarA,)
p (Borra¡ E)
-
(b) Diag¡amade bloque
del control
Figura
Esta 'ariable da er
l0-g
Diagrama de bloque del
sistema
de,ra com.paración
entre dos bits
-.onde signo. La
fi.lr'^1dg
esigual
lffii:"r'r'o,*"r1*1"""
El control .r-i':'::l1mbos
a t si losdos,ic";.-;;
positivoso negativos
isuul".y
".
cionat,;úi;;il;Ji:i:iülÍ"T,:iiiü#,.1:Tüi:iJJ"ffi
de selecciórs'¡' s''
,"r.,,,i;1ff;
y c,.' iu.-oi.-"..",r"t"o
fo
saridas;;,
en
el procesadár
dl aátár .áLJi"
4?6
"üJitt",
los registros
en el diagr"-u. au.,queno se
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 conectadas 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 recuadros 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 conectan ü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 forma 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í sucesivamente. 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 trasferencia 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 variables 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 variable ¡ 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 estado 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.
Si q,
-Else convierte en 1 el control irá directamenteal estado Tz .
.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 sobrecapacidad. Ú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 estado ?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 sustracción y el control pasaráal estado ?u.
Qo=0
qa
Qs
S=0
S= I
E
Sumar
Restar
Signosiguales
Signosdiferentes
Arrast¡e de salida
I
(a) Diagrama de estado
Salidas de control
J2
Jt
Jo C,
L
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
.t,
z
^
(b) Secuenciade t¡asferenciasdel resist¡o
Figura
438
1o-g
Diagrama del estado de cont¡ol y secuencia
de microoperaciones
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 mientras 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 común sin problema. El valor original de E en el tiempo ?, determina el siguiente utt"do aunque este flip-flop se borre mientras que el pulso de reloj
por una transición de flanco.
pase
'
Óebe ser manifiesto con este ejemploque la interpretaciónde un flujograma 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 puede 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 deteiminan 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 secuencial. 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 variables. 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 eliminadas si se diseña el control por el método de un flip-flop por estado.
44O
DISEÑO
DE LOGICA
DECONTROL
C A P .1 0
[Jna organización del control que use un flip-flop por estado tiene la
característica conveniente de que el circuito p.rede deducirse directamente 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 estado presente. como el método requiere un flip-fiop po. .ud" estado, se escogen ocho flip-flops D y se marcan sus salidas Tu, Tr, Tr, .
, Tr. Lu
rr_
dición p€ra poner a ulo un flip-flop dado se especiiica-en el.diagrama" ode
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
""u todas las
más de una lí'ea de dirección que va a un éstado,
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ó
.i,"i¿ f y el siguien_
_ 0
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 FiTabia
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
DT,: q,Ts
DTl: q"Ts* T1
DT_.: 5'7.DTa: ST2
DT5: Ta
DTu: ¿'7t
DT1: T5
x:To
sz: To
si:TotTu
so: T, + Tu
Cin: T4 + T.r
L=Tt+7|4+76+77
/:Tt
z:Tt
w:Ts
I
I
ttt
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 compuertas 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 microoperaciones se alrnacenan en la memoria. La memoria de control es comúnmente 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 microinstrucciones y cada una de ellas especifica una o más microoperaciones para los
componentes en el sistema. [Jna vez que se ejecutan estas microoperaciones, 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 microinstrucció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 microprograma debe incluir circuitos especiales para seleccionar la siguiente dirección como se especifica por la microinstrucción. Estos circuitos y la configuració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 encontradas en las diferentes situaciones se escoge aquí introducir el concepto 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 pequeñ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 complicados.
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 direcciones 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.
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.
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 .
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) almacena 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 incrementa 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 entradas 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 confizurac 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 carg 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
i
I
II
___-\
4
5
6
':1 \
7
8
9
b! 'o
['o
l"
l.12
Selección
I
[14
6
O
Figura
f ',
Función de seleccióndel MUX
Bits de ROM
14
13
00
0l
l0
ll
I
Dirección
Incrementarel CAR
Cargar la entrada al CAR
Cargar las entradasal CAR si S : 1, incrementarel CA^Rsi S : 0
Cargarlas entradasal CAR si B: 1, incrementarel CA.Rsi E: 0
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 microprograma 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 palabras en la memoria de control. Para apreciur eite proceso,se deduciiá el
microprogramapara el ejemplodel sumador-sustractor.La memoria de control tiene ocho palabrasy cada palabra contiene 14 bits. para microprogramar la memoria de cont¡ol se debe determinar los valoresde los ¡its ae"las
ocho palabras.
El método de trasferenciaentre registrospuede ser adoptadopara desarrollar un microprograma.La secuenciade microoperaciónpuedé ser especificada con declaracionesde trasferenciaentre régistros.ño hay necesidad 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 direcció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 condicionesestablecidas. 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 trasferenciaentre 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
Dirección
deROM
lO-2
Microprograma
simbólico para la memo¡ia de control
Microinstrucción
Comentarios
1
2
3
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)
B, <- B-,
g" : 1, comenzarsustracción
If (S : l) entonces (va a 4)
e " : l , c o m e n z asr u m a
A<-A*B,E<-Couuvaa0
Sumar magnitudesy regreso
4
5
A<-A*E+t,¿*Co,,,
Si (¿: 1) entonves (va a 0). E .-0
6
A<-A-
7
A+A*1,A,+A-,,vaaO
0
Sustraermagnitudes
Operaciónfinalizadasi E:
E: 0, complementarA
Terminado, regresara la
dirección0
1
"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
proposiciones
las
para
clarificar
se
usan
Los comentarios
.="*f,á; .;irr-ru.
estado inial
equivalente
o
e"
La
direcciótt
de trasferencia entre tegistros.
d
e los valod
e
p
e
n
d
e
d
i
r
e
c
c
i
ó
n
s
i
g
u
i
e
n
t
e
x
:
L
.
L
a
s
a
l
i
d
a
cial y produce una
control
de
proposiciones
,".- áu'fu, variables externas e" y eo. Las tres
o
después
ua
de
proposición
condicional en esta microinstrucción-usan una
que si la-conáe la palabraentonces. Su significado-se interpreta de manera
de la palabra
después
escrita
la
dirección
a
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
control va a la
qo
el
1,
son
Si q, o
pu.u' repetir lu -iótoi"ttrucción.
""ro
dirección 1 ó 2 resPectivamente.
Las proposiciónes de control condicional en las otras microinstrucciones
a sin una conusan las"u"riubl"r de condición s y E.La proposición de ua
indi'
dirección
la
dición adjunta, especifica una alteinativa incondicional a
cero
dirección
la
a
va
que
el control
.uá". pot ejemplo, va a cero significa
proposición
una
n9
presente'
pi
después de ó¡ecuta. la microinsirucción
\av
de ua a en lá microinstrucción, esto implica que la siguiente microinstrucció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 midirectamente de las especificaciones de control de la Figura 10-9'
la
Figura
en
listadas
aquellas
a
idénticas
son
listadas
croinstrucciones
de
10-9(b). La proposición de control condicional especifica la secuencia
Nó10-9(a)'
Figura
la
de
estado
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
conde
control
proposiciones
que
las
obvio
ser
Debe
estado.
de
el diágrama
de esdicioná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 directapara especimente del flulogiama de la Figura 10-7. Este flujograma se usa
Aunque
diseñar.
iica. et algoriimo para el sistéma que se está tratando de
pasos
intermuchos
parece
necesitar
el microprograma desarrollado aqui
propósitos
de la
para
así
hecho
q,ru
fue
,rr"dio., ." d"ebeterrer en cuenta
"tto
no.hay
microprograma
del
el
concepto
que
entiendase
.rpti.u.i¿". Una vez
un micro,"rdi prru .ro poder especificar el algoritmo directamente como
vez que
Una
estado.
progr";u simbélico, sin la necesidad.del diagrama de
datos y
de
proc_esador
para
el
equipo
ie üu e.tablecido la configuración del
por
de
medio
algoritmo
el
puede
désairoilar
se
el control del micráprog."l-u
un microprograma.
el
La desifnación simbólica es un método conveniente para desarrollar
ésta
Pero
y
de una manera que la gente pueda leer entender.
.rrl.-projr"ira
memoria de
no es la manera como el microprograma e. almacenado en la
porque ésta
binario
a
traducirse
control. El microprograma simbótióo debe
los bits
dividiendo
hace
se
L,a
traducción
es la forma como va i lu -"^o.ia.
A.quí
compo.s.
llamadas
partes
funcionales
sus
en
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 especifide control para
Tabla
l0-3
Microprograma
binario para la memoria cre control
Salidasde ROM
f)irección
de ROM
x
t2
0
0
0
0
00
0l
IO
ll
00
0l
l0
ll
Ju
.rl
Jo
C,n
3
4
5
6
0
0
0
I
0
0
r 0 0 0
000000100
0 0 0 0
0 0 0l
0 010
0 0 0 0
0l
I I
000011010
Ly
z
tr
8
9
l0 lt
0 00
0
0 00
100
100
0 00
100
0
0
0
i
0
000
010
r00
000
l0l
000
t
Se lección
lll
000
t2
13 t4
0l
0l
l0
0l
0l
il
0l
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óncorrespondientes.
La forma binaria equivalentedel microprograma
se da en la Tabla 10-8.
I-as direccionespara ra memoria á" .o"ttol
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
a" bit se toman
directamentede la Figura 10_9(bi.
".p""irifuáár.'E;;;;;r".J.
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
qampode serecciónEsto permite
que una direcciónex^terna
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
J. Jr."*i¿" es"l010.A par_
v
tir de la tabla en la Figura 10-10,se e.r-cue.rtru
"t "u.rrpo
que el pulso del reloi que inic 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 nueva 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 considerado. 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 propó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 provisió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 direcció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
que
se ha establecido la configuración de los materiales no debe haber
vez
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 microinstrucciones 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 microprograma se expandirá la configuración de los componentes para incluir el
control de toda una unidad de proceso. Una unidad plocesadora de propósito 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 microoperació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 procesadora 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 nec 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 conexiones a la unidad de control del microprograma. Los primeros 16 bits
seleccionan la siguiente dirección para el control del registro de direcciones. Los bits de condición del procesador se aplican a las entradas del multiplexor. 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 constante 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 sa447
I
I
a
Campo de
dirección
pq
:v
!';:*
Di¡ección
externa
u!;
o.;!
!
c ¿ " ¡E
Memo¡ia de
control
64Y.26
o9
vo
l6
17
l8
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
,ut"""iof;á, ilñ,
Uit. ta, tg, 20
"ompl"áe.,io)
de la microinstrucción puede
.". iguui'u 1 ó 0. La dirección de entrada
se
cargaal cAr? si el bit seleccionado-es
1, pero er cAR." i.,"."-".,ta si el bit
seleccionadoes 0.
Para construir microprogramascorrectos
es necesarioespecificarexactamente 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 registro 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 microprograma 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 microinstrucción. La rutina se termina con una microinstrucción que carga
una nueva dirección externa para comenzar a ejecutar la siguiente macrooperació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 secuencia de microoperaciones y vías de decisión. El flujograma para el microprográ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 (arrastre) 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 veces 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 Tabla 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 comprueba 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. Luego 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 palabra 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¡ección externa. En los demás casos es 1 para seleccionar el campo de direcció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
Dirección
de ROM
8
9
t0
ll
t2
l3
simbólico para contar el núme¡o de unos en Rl
Comentarios
Microinstrucción
R2+-0
Rl<-Rl.c<-0
Si (Z:1) entonces
(va a la direcciÓnexterna)
Rl<-crcRl
Si (C : 0) entonces(va a 11)
R 2 < - R 2* l , v a a 9
Tabla
1O-5
Microprograma
Borrar el contador ¡rl2
Borrar C, ponera 1 los bits de condición
Acabarsi R1 : 0
Circular ft1a Ia derechacon arrastre
Circular de nuevosi C :-0
furastre: 1, incrementarR2
binario para contar el número de unos en /?1
Contenidodel ROM
Dirección Selectorde microoPeraciÓn
ABDFH
de ROM
l6
001000 000
001001001
001010001
00101I 001
001100001
0 0 1 l 0 l 010
000
000
001
001
001
000
010
001
000
001
000
010
0000 0ll
0000 000
1000 000
1000 l0l
1000 000
0001 000
Campo de
dirección
Selector
de MUX
20
17
00
00
0l
00
010
00
0
0
I
0
0
2l
26
001001
001010
000000
001100
00101I
001001
trasfiereuna direcciónexternaal CAR' Si Z:0 se incrementael CARy la
siguiente dirección será la siguiente en la secuencia.La microinstrucción
ei complementodelbit de arrastreo C'. Si C:
urr"ludir"..ión 12 selecciona
de dirección(binario1011)setrasfiereal CAR'
el
campo
C':1y
0, entonces
Si C : 1, entoncesC' : 0 y el CAR se incrementapara dar 13para la siguiente dirección.
El lector familiarizado con la programaciónde máquina o lenguajeensamblado para un computador, se dará cuenta que escribir programases
muy similár a escribir programasde lenguajede máquina para un computador. 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 haya establecidoel formato de la microinstrucción, se hace el diseño esc¡iLiendo 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 (hardware 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 OA
L 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 segundo 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, diseñado conjuntamente con la configuración de los materiales, pira la parte
procesadoradel sistema. Despuésde que se haga esto se formulan
las especificacionesde 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 relación directa que existe entre el registro de secuenciay el Á¿to¿o del decodificador y su correspondienteconiiguraciónde contról pLAE 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
binarios 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
sucesivas.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 multiplicador con el bit menos significativo en primer lugar. si el bit del multiplicador 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
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
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 diferentes el signo del producto será menos.
Cuando el proceso anterior se hace en una máquina digital es conveniente cambiar un poco el proceso. Primero, en vez de tener circuitos digitales 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 multiplicando 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 posiciones 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í para clarificar el proceso de multiplicación propuesto:
multiplicando:
multiplicador:
l0lll
l00l I
1er.bit multiplicador: 1, copiar el multiplicando
desplazamiento a la derecha para obtener el primer
producto parcial
2o. bit multiplicador: 1, copiar el multiplicando
l0lll
agregar el multiplicando al producto parcial previo
desplazamiento a la derecha para obtener el segundo
producto parcial
3er. bit multiplicador:
0, desplazamiento a la derecha
para obtener el tercer producto parcial
4o. bit multiplicador:0, desplazamientoa la derech¿,
para obtener el cuarto producto parcial
5o. bit rnultiplicador: 1, copiar el multiplicando
agregar el multiplicando al producto parcial previo
desplazamiento a la derecha para obtener el 5o. producto
parcial : producto final
0 1 0 1II
l0lll
l000l0l
1000101
0l000lci
001000101
l0lll
l l0l l0l0l
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 arrastre 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 restantes 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 cador
I
t
t ""-"""o
I
RegistroA
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 cero, 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 variable 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 posie
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.Inicialmente-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 negativo para el producto.Los registrosA y E se borran y el contadorde secuóncia 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. Cualquier 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 simboliza 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 extrema izquierda de Q ó Qo recibe el bit que está en la posiciónde la extrema derecha de A en A1 y se borra E. Se trata entoncesde un desplazamiento 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
" . , El prodücto final estará
bit para eventualmerte remplazar el multiplicador.
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 precisamente 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 flujograma 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 registros 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 forma-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.
Tt:
Estado inicial
úQs,A+0.¿
lr-8,
'-Cou,
QtT2: A*A+B,f
T.:
P-P-1
Tt
-40-shrEAQ.t-+0-
-0.1,-k
(b) Secuencia de trasferencias del registro
Figura lO-15
Diagrama de estado de control y secuencia
de microoperaciones del multiplicador
d
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 proposició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 control pasa al estado inicial. Si ¿ - 0 el control pasa al estado 7'2 para formar el nuevo producto parcial. Nótese que P se refiere al contenido del registro 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 procesador 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 ORexclusiva y la variable binaria P. se genera con una compuerta NOR. Las
salidas de la lógica de control inician las microoperaciones para el procesador 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 paralelo 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. Aunque 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 diagrama de estado de la Figura 10-15. El diagrama de estado tiene cuatro estados 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 decodificador. 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 para 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 excitaciones 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 simplificado 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 salidas 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 estas 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 funciones 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 flipflop para Gr por imposición a partir de la tabla de excitación. Las funciones 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 producen en efecto las dos transiciones de estado requeridas de la manera especificada 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 salidas 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 salidas 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)
?r (Borrar)
I (Cargarsuma)
Borrar
derecha)
13 (D.esplazamiento
Lógica
de control
Figura
1O-16
Q 1 T 2= L
Procesado¡ de datos para un multiplicador binario
Estado
presente
G2
to
Tl
T2
T3
T3
00
00
0l
l0
ll
ll
Gl
Entradas
Q^
P,
Estado
siguiente
G2
OX
IX
XX
XX
XO
XI
Gl
00
0l
l0
ll
l0
00
Entradas del flip-flop
JGz
OX
OX
IX
XO
XO
XI
KGz
JGt
KGt
OX
IX
XI
IX
XI
XI
(a) Tabla de excitación
JG2:
JG1 :
T1
KG2:
T3P"
Tuq^ * T2
KGr:
1
(b) Funciones de entrada del flip-flop
T¡
rl
T2
T
L
(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 poslble ento.rces disóñar un circuito de control con un registro conectado a
El
un PLA simplemente remplazando el circuito combinacional con el PLA'
del
el
estado
que
determina
registro opera como un régistro de secuencia
y del
co"ntrol. Ot pt ¡, ," p.ogruioa para suministrar Ias salidas de control
registro'
al
para
secuencia
dar
estado siguiente
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,
u--bo. métodos es el mismo. La diferencia de
el registro de secuenciu
"t
que
se configura la parte lógica combinacional
en
forma
los rñétodos es la
el decodificador y otros circuiesencialménte
remplazá
PLA
El
del control.
tos lógicos de decisión necesarios para la configuración d_elos componentes'
deL " 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
del
programa
del
la
tabla
óbtener
cómo
mostró también en dicha sección
para
sección
dicha
repasar
que
conveniente
sería
lector
PLA. Se advierte al
PLA'
asegurar que se entiende ef significado de Ia tabla de programa del
pln
a las
acuerdo
de
son "programados"
Los* caminos internos dentro aet
programa'
especificacionesdadas en la tabla de
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 iniormación requerida para obtener la tabla de programa del PLA (o la tabla
de verdad de la ROM).
Tabla
Estado
presente
G2
Gl
OOOXX
OOIXX
OIXXX
IOXXO
IOXXI
IIXOX
IIXIX
1O-6
Tabla de estado para el ci¡cuito de control
Entradas
4^
P" Qt
Estado
siguiente
Salidas
ToTtT2LT3
G2
Gl
0
0
010000
110000
001000
100100
l00ll0
0
0
0
0
0
0
001
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:
l0.P;
la
lacra
-tu-b.¡il estadopresentese determinaa partir de los de esradode
flip_ftoo.
1'G- Las variables de entrada para er circuito a"
s o n q , , , p , ""y
Q,. El siguiente estado.dq
""ntr"l
G,
-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,
se marca con una X de no
jmporta' Si ei siguiente
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
de control como una función del estado presente y
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".
.'., tu rigu.a 10_1g
(a). El PLA se conectaál registro de
secuenciacon dos flip_flopsGt y G¿.
Las entradas al PLA son loJvarores del estadopresente
der registro de secuenciay las tres ent¡adasexternas.Las salidas'd;i piA;eneran
el estado
siguientepara el registro de secuenciay ias variables
á"-üriau de control.
El estadopresente_delregistro de secuénciu,
con las condi_
cionesde entrada determinan en un tiempo dado-los
"o.r¡.r.1";;;;"
valoresde salida y del
el registro de seculncia. El sisui".,1" p,rr.o de reloj
i:*i:",::
lnlcla las "j:ig:::*
mlcrooperaciones
especificadaspor las salidás y trasfiere el esta_
do siguiente a.l rbgistro a" ruóu"t
nuevo estado de
";.-E;í;,;-rrr-1."
control y posiblesvalores de entrada
"i
diferentes.Ci;l iin
actria como la
parte de lógica combinacionalde ,rr,
;;;;;"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"-;;;
.. tienen cinco
entradas v siete salidas. El número ae
-- t¿rÁi"o, ;;;ár;
es
una fünción
riel circuito que se deseaconfigurar.
La tabla de orogramadel pLA se puedeobtener
directamentea partir
de la tabla de eitaáo ri"
procedimientosde simplificación.
"""u.ia-;i;f
La tabla de programader pLA
.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;";;-;ü;.
Los comenta_
rios no constituyenparte.de la tabra pero se
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 implipLA.
can conexiónpara el
Los 0 en las corumna, a. ."liáu'i"dican también
no conexionesa las compuertasoR dentro
del pLA. Lu
de ra ta_
bla de estadoa una tablá de program" á!r pie;;*-.,"rolu, *u"rrión
L".
X
de las
columnasde entrada y los 0 é" iá. col.r*r,as
de saridá r"
guiones
a
y las demás entradaspermaneceniguales.
Nótese ñ
lá,"á-uu.,
ar pLA
son las mismas que las del presente"estado
""tradas
y tu,
la tabla de es_
".,trua;;;
{
..----'
I
(a) Diagrama de bioque
Entradas
t2345
Término
del producto
I
2
4
5
6
7
0000010l
l0
l0
ll-0
I l*l
|
0
I
-l
lll
ll
l-
23
Salidas
4 5 6 7
Comentarios
lI - I
To: l,
To: l,
Tt:l
Tz:r,
Tz:1.
Tt: l,
Tt: I'
I
I
I
I
I
4^:0
q^: I
Qt:0
L:1.
P,:0
P,: I
Qt:l
(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 obtiene 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 memoria de control que almacena información de control para el sistema. Las salidas 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 siguiente dirección en Ia memoria de control. Desde este punto de vista un
control PLA puede clasificarse como una unidad de control de microprograma 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 microprograma.
Los ejemplos ce controi introducidos en este capítulo demuestran
cuatro 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 formular 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.rrirti.
o puede constituir una organización
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 general 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
DR
ELMICROPROGRAMA
una unidad de control de.microprogramadebe visualizarse
como compuesta-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".
microinstruc_
9n
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 amplio 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 inspecciona 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 direcció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 .
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 memoria 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 direcció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 secuencia normal.
El control debe trasferirse de vez en cuando a una microinstrucción
no secuencial, de manera que el secuenciador debe suministrar la capacidad 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 pasar 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 direcció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 microprograma 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 microprogramas contienen secciones idénticas de código. Las microinstrucciones
pueden conservarse usando subrutinas que usan secciones comunes de microcódigo. Los microprogramas q.r" .,run subrutinas deben tener una provisión para almacenar direcciones de retorno durante una llamada de iubrutina 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 organí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 muestra 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-
a
Di¡ección
externa (EXA)
"0
I
Di¡ección de
bifurcación (BRA)
I
3
MUX
J0
Registrode
direcciónde
control ( CA,R)
Registro
indicadorde
la pila (SP)
f'l
Incremento
Dirección de salida
Tabla de función
12ItIoT
X O
X O
X I
0ll0
0lll
J¡
O X
I X
O X
rlr0
llll
Jg
Operación
Comentarios
0
I
0
0
I
0
I
CAR <_ EXA
CIR <- SR
CAR <--CAR + I
CAR <_ CAR + I
CAR <_ BRA
CAR <_ CAR + I
CAR <- ARI, SR <_ CAR + I
Trasferir la dirección externa
T¡asferir de la pila de registro
Inc¡ementar dirección
lncrementar dirección
Trasferir dirección de bifurcación
Incrementar dirección
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 punto de prueba para el bit de condición. Ei registro de dirección puede llevarse 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 cuando .1110:00. La trasferencia del registro de Ia pila (S.R) ocurre cuando
466
o
o
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,
y Se marcan con entradas
no-tienen efeCtodurante estas tres operaCiones
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 microinstrucción.
La llamada de subrutina condicional (Ir:1) es similar a la ramificació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 secuencia 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 úllimo en entiar primero en salir y se controla incrementandoo decrementando 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 informació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 indicador 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 regislro (o palabra) especificadopor el nuevo valor del indicador de pila.
Una llamada de subrutina se ejecutacuandoI2I1I¡:111 y ?:1. Esta causa una operaciónde socar de la pila (push-stack)y una ramificación
a la dirección especificadapor el BRA. Esto se configura almacenandoprimero 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 indicador de la pila se incrementa posteriormentecuando CP pasepor su transició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
(a) Sub¡utina de llamado (insertara la pila)
/r1,1o?:
t
I
SP+JP- |
Leer de
Y""1:"
lraappi lraa
5P€SP+\
ffll
t
I
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 indicado¡ 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 procesadoraes un dispositivo
para construir la sección del procesador
-útil
del cPU. El secuenciador_
del *i"rop.og.uma es un elemento conveniente
para construir un control der-microprogramapara
el cpu. Se va a desarroliar 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
memoria de contráf y
','ariasfuncionesdigitales
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 suministrados por el usuario a_travésde un dispositivo de entradá.
El procesadorde
datos manipula los datos y el procesaáorde direccio.r",
,rrurripuralas direcciones 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 instruc468
T
Procesador de direcciones
Dirección
Contador de programa
Unidad
de memoria
Registro de dirección
de memoria
Registrode instrucción
I
Bttl4:I
Secuenciador
del
microprograma
(Figura 10-19)
condrcron
L
Memoria de control
(ROM)
-Selector de secuencta
I
-Selector MUX
SL
BRA -Dirección debifurcación
-Control de memoria
MC
-selector del Procesador
PS
-CamPo de datos
DF
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 concepto 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 microinstrucciones, un multiplexor y un registro canalizador(pipeline register).El multiplexor..selecciqna
uno de los muchosbits de
y lo áplica a la entra"o.ráióió.,
da (p¡ueba) ? del secuenciado¡.una de las
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 memoria de control van directamentea las entradu. áu control de varias unidades 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 selecciona 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 bifurcación (BfiA) al secuenciador.Estos tres camposde la microinstrucciónpresentan 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 microoperacionesen la
-unidad del procesadory de memoria. El campo de la
memoria de control (MC) controla al procesádorde direccionesy lás opera9lol9s-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 sistema a partir de la memoria de control es una téónica frecuentementeusada
en muchos sistemas de microoperación.Las salidas del campo de datos pueden 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
.tt iu tniitta de multiplicación o división'
--usualmenie
Ú"u vez que la configuraciónde los materialesdel cPU microprogramael-disónadorlo puedeusar para constTir una cualquiera
¿o ..
se formula
".tu¡I.r."n,
de las muchas .o"fig"rá"io.re* de computadoi posibles. Primero
microproel
y
se
escribe
luego
para
computador
el
iu inrt*".ión estabücida
puede cambiar el microprogramaen la
Se
de
control.
para
la
,rr"rrroii"
!iu*"
de control si se desea un computador diferente con un conjunto
;;;;tiu
los materiales si
diferente de instrucciones. No se t-te.".lt"tt cambios en
se hace soque
ya
cambio
el
computador,
."r"¡iu" las especificacionesdel
ROM
presente
quitar
la
implica
Esto
ROM.
lamenteen Ia memoii" á".o"t.ol
J. .n Uu." para cambiarla por otra con un microprograma-diferente'
se muesLa construcciónde un cPU a partir de componentesLSI como
de insel
conjunto
pará
definir
tra en la Figura tO-Zl, presenta la libertad
emsin
en
cuenta,
tener
debe
Se
computador.
i-"aiorr"" d"eun .i.i"*u de
completo
CPU
un
contienen
disponibles
bargo, que los .ir.,ri-t*-ltriegrados
En
dentro de una .ofu .áp."f* ñste tipo de CPU se llama microp,rocesodo.r'
pedido
se
bajo
hecho
*ñláptocesador en vez de un CPU
el caso de usar
microprocedel
fijas
""
instrucciones
debe estar de acuerdo con el conjunto de
CPU ya listo,
En olrar palabo". ,' microprocesador_es
.uáo,
lTr
microprograCPU
Un
"r.ogido.
computador.
de
initrucciones
fijo de
u,' c-on"junto
la
formulación
permite
que
"o"
flexible
unidad
una
pediao
es
bajo
mado hecho
microproceLos
particular.
á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.: PrenticeHall, 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 Instruments, Tnc., L977.
NuevaYork:
6 . Agrawala,A. K.y T. G. Rauscher,Foundationsof Mícroprogramrning.
1976.
Academic Press.
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.
Architecture", Comp¿fer,Vol. 11.
9. Alexandridis,N. A., "Bit-sliced Microprocessor
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)
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 contro-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.obtengalista para el microprograma binario de la Tabla 10-3,
]na se,eun_da
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'.su472
I
s
PROBLEMAS
473
ponga que las variables y y z usan las dos señales de control que ponen a uno
el flip-flop de sobrecapacidad V. Si ocurre una sobrecapacidad, V es
ó u
".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 Figura 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 microinstrucción en la memoria. Los valores que van al registro de condición no son importantes.
10-14. Escriba un microprograma en la forrna simbólica para el sistema de la Figura
el signo del número almacenado en el registro R1. El nú10-11que
en lá presentación de signo-complemento de 2. Si el número es posi''-'eroeitá "ortrp.rróbu
tivo, se divide por 2. Si es negativo se multiplica por 2. Si ocurre una sobrecapacidad, R1 se lleva a 0.
sin siglo alma10-15. Escriba un microprograma que compare dos números binarios
se borra entonmenor
número
el
cenados en R1 y nz."nt registro que contiene
Use el sistema
registros.
ambos
se
borran
igoui".,
números.on
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
número
al
igual
binario
número
un
almacena
R4
y
Eiíegistro
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
de
el
diagrama
en
condición
control de manera Que Qr aparezca como una
que pala
estado y que se elimine de la lista de funciones de control. Muestre
estados.
cinco
este caso.l di"g."tn" de estado debe tener al menos
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 de10-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
el
valor inicial
es
P.
registro
el
¿,Cuál
paralelo. La éntrada ?, no incrementa
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 decladiseración implica que no puede ocurrir sobrecapacidad en el multiplicador
10-6.
ñado en la Sección
registro de
10-23. Diseñe el control especificado en la Figura 10-9 por el método de
Gt'
Gz
G3,
JK,
flip-flops
los
tres
I
secuencia y decodificador. Use
secuen10-24.Diseñe el control especificado en la Figura 10-9 usando un registro de
PLA'
programa
del
de
cia y un PLA. Liste la tabla
Multiplicador
l"-l
l-;l
Producto
Qn
Lógica
de control
P+P+B
A+A-l
Figura PIO-25 Multiplicaciónpor sumassucesivas
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 muestra 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:
!To:
zT¡:
T 1* T 2 * 7 3 :
G<-G+l
G <- l0
G<-ll
GeG+l
(a) Dibuje el diagramade estadodel control.
(b) Diseñe el registro de secuenciacon flip-flops Jl(.
474
I
-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 cada caso.
10-29.El registro canalizador de la Figura 10-21tiene una salida adicional demarcada P pa.racontrolar la polaridad de la entrada 7 en el secuenciador.Cuando
por SL se aplica a la entrada
P:0 el valor del bit de condiciónseleccionado
se aplica
T. Cuando P:1, el complementodel bit de condiciónseleccionado
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 cont 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 sistema:
( a ) Un CAr?sin un PlR.
( b ) Un PLR sin un CAr?.
:
*¡
ffi
Diseño de comPutadores
11-1
INTRODUCCION
geEste capítulo presenta un computador digital pequeño para propósitos
su
con
para
culminar
funcionales
nerales a partir de sus especificaciones
fiser
útil.
Su
de
lejos
muy
pequeño,
está
es
diseño. Aunque el computádor
eleccomerciales
sistemas
con
se
compara
cuando
limitaáa
-.ry
nalidad u.
trónicos de prócesamiento de datos, aunque incluye especificaciones funciopara
nales suficiéntes para demostrar el proceso de diseño. Es adecuado
puede
ser
un
producto
terminado
y
el
construir en el laboratorio con CI
digitales''
procesar
datos
sistema útil capaz de
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 unidades 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
propiey
del circuito. El diseño del sistema versa sobre las especificaciones
de un
establecimiento
el
incluye
áud". g"nurales del sistema. Esta tarea
instrucciones
las
de
formulación
Ia
diseño,
y
de
objetivó de diseño filosofia
y Ia investigación de su factibilidad económica. Las espeáái
por el diseña"oáp"tador,
cificaciües de iá estructura del computador son traducidas
El disistema'
del
materiales
los
de
áor t¿gi.o para lograr la configuración
circuitos
diferentes
los
de
lo.
seño áel óircuito- especifica
"o-pottentes
de poiJgi."., .itcuitos de memoria, equipo electromecánico y suministro
es enormeteicia.'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
capítulo'
solo
en
un
del
diseño
aspectos
lós
todos
de
cubrimiento
..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,
aunque-práctica.El procedimientoenunciadoen este ápit"lo p"éd"'.",
riiit en
el diseño lógico de sistemasmás complicados.
El procesodel diseñose divide en seis fases:
1'
2'
3.
4.
5.
6.
!, descomposición.delcomputador digital en registrosque especifican la configuraciór,g".,"rál del sisteáa
La especificaciónde las instruccionesdel computador.
La formulación de los circuitos de tiempo y de control.
La lista de operacionesde trasferencia entre registros
necesaria
para ejecutar todas las instruccionesde computadir.
El diseñode la seccióndel computado¡.
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
suficient-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"
i" modifica cons_
v
tantemente durante el proceso de diseño. El nombre
a" f"¿u registro se
escribedentro del bloque, conjuntamentecon la designación
simbórica en
paréntesis.
El generadordel reloj maestro es una f'uente de pulsos
de reloj común,
por lo generalun oscilador,el cual genera
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 registro,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*
función de
la velocidadcon la cual opera el sistema.Se asume
""*irrru de 1
una frecuencia
megaciclo, la cual da un pulso cada milisegundo.
Esta f¡ecuenciade pulso se
escogepara tener un número redondo y evitar problemas
de los ¡eta.dos áe
propagaciónen los ci¡cuitos.
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
E
Registroacumulado¡
(A)
I Registrode |
l' e
- -n t r a d a ( N ) l
Generador de
pulsos de reloj
maestros
Figura
l1-l
| Registrode I
l."lj94j
Diagrama de bloque del computador digital
Tabla 1l-l
Lista de registros para el computador
Designación
simbólica
Nombre'
Número
de
bits
Función
I
E
F
S
G
16 Registroprocesador
16 Retieneel contenidode la Palabra
de memoria
la dirección de la siguiente
Retiene
12
Contador de Programa
instrucción
Registrode dirección de memoria 12 Retiene la dirección de la
palabra de memoria
el códigode operacióncorriente
Retiene
4
Registrode tnstrucción
del acumulador
Extensión
1
Flip-floP de extensión
y ejecutaciclos
búsqueda
Controla
1
búsqueda
de
Flip-flop
1 Detieney comienzael comPutador
Flip-floP de comienzo-Parada
2 Entrega señalesde tiemPo
Registrode secuencia
N
Registrode entrada
9
U
Registrode salida
I
A
B
PC
MAR
Registroacumulador
Registro seParadorde memoria
Retieneinformación del dispositivo
de entrada
Retieneinformación del dispositivo
de salida
479
4ffi
D I S E Ñ OD E C O M P U T A D O R E S
I
a
C A P . 11
cativo. Se puede usar un tamaño menor si se desea construir un computador 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
lugares 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
colocada 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 palabra 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
continú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 instrucció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 previamente almacenados en la mem,lria. Este registro se usa para
ejecutar
i
l
'El
S E C 1. 1 - 2
DIEOLS
CONFIGURAC
NI S T E M4A8 7
la mayoría de instruccionesy para aceptar datos del dispositivode entrada
o trasierir datos al dispositivo de salida. El registroA conjuntamentecon
computador'
el registroB componenel cuerpode la unidad procesadora.del
más reincluyen
datos
procesadores
de
sistemas
Aunque la mayoría de los
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 divisió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 parte 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 conjuntamente con otrai variables de control, producen las-funcionesde condel computador'
irol que inician todas las microoperaciones
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 desplazamiento, recibe el arraitre final durante la suma y ademáses un flipilop 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 computadortrabaja 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 entrada. 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 almacenan información de entrada alfanumérica; el bit 9 es un bit de control llamado 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 computador. 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 indicador se borra. una vez se haya borrado el registro indicador, se puede desplazar 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 acepta la información codificadae imprime el caracter correspondiente;cuanáo
se complete la operaciónse pone a 1 el bit indicador. El computadorno carga 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 imprimir 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 para imprimir las característicassuficientes del sistema con el fin de resolver
un amplio rango de problemas de procesamientode datos. Los requerimientos mínimos de tal lista deben incluir una capacidad para almacenar y
cargar palabras de la memoria, un conjunto suficiente de operacionesaritméticas y lógicas, algunas propiedades de modificación de direcciones,
bifurcación incondicional, bifurcación bajo condiciones de prueba, propiedades 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
Magnitud (números negativos en complemento de 2)
Signo
l6
IJ
l4
t2
l-l
10
ll
9
8
7
6
5
A
7
f)
5
A
3
2
3
2
i
(a) Operandoaritmético
Palabra lógica
l6
t5
l3
l4
12
t0
ll
8
9
(b) Operandológico
Caracter
Caracter
(c) Datos
entrada,/saltda
Datosde entrada,/salida
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 pu9de 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 operaciones 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
Dirección
Operación
l6
l5
t4
l3
l2
10
ll
9
8
7
6
)
^
2
(a) Instrucción de referencia de memoria
Tipo de operación de registro o prueba
Código0110
t6
l5
t4
l-l
r2
t0
ll
9
8
7
6
5
4
3
2
(b) Instrucción de referenciade registro
Tipo de operación de entrada-salida o prueba
Código0111
l6
15
l4
13 l2
ull0
9
8
7
6
5
^
J
(c) Instrucción de entrada,/salida
Figura
l1-3
Fo¡matos de instrucción
483
I
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 instrucció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 operació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 especificar la operación o la prueba que se va a ejecutar. una instrucción de referencia 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 operación o prueba realizada.
Solamente cuatro bits de la instrucción están disponibles para el código de operación. Parecería que el computador está resiringido á un máximo
de 16 operaciones diferentes. Sin embargo, como las instrucciones de referencia de registro y de entrada-salida usan los 12 bits restantes como parte 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 computador 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 aumentar 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
Código
hexaSímbolo decimal
*¡n
AND
ADD
STO
$Z
0 m*
lm
2m
3m
BSB
BUN
4m
5m
l1-2
Instrucciones de referencia de memoria
Descripción
Función
AND aA
A<-A ¡\M*
Sumara A
A <- A + M, E <- A¡rastre
Almacenaren A
MeA
Incrementary omitir si
M<-M + l,si(M+ l:0)entonces
es cero
(PC +- PC + l)
Bifurcar a una subrutina
M<-PC+5000,PC<-m*l
Bifurcar incondicionalmenteP C < - m
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
R5
48
representa una abreviación que va a ser usada por programadores !'usuarios cuando se escriben programas simbólicos para el computador. EI código 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 representan 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 columna 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 explicació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 encuentran 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 operacioneslógicasconstituyen un conjunto mínimo del cual se puedenderivar
todas las demásoperacioneslógicasporque el AND y el complementojuntos, 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 operación lógica.
SUMAR a /
(ADD)
Esta instrucción agregael contenido de Ia palabra M de memoria, especificada 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 agregue 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 desplazando. 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 instrucción CLA de referenciade registro (definidaen la Tabla 11-3).La palabra requeridase descargade Ia memoria agregándoleal registroA previamente borrado.
ALMACENARen ,4 (STORE)
Esta instrucción almacenael contenidodel registroA en la palabra de memoria especificadapor la dirección de instruóción. Las tres instrucciones
de referenciade memoria se usan para manipular los datos, entre la palabra d9 memoria y el registro A. Lás tres instruccionessiguientesson instrucciones 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 programa..un número negativoalmacenadopreviamentóen la memoria en la
direcció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
omitida si despuésde ser incrementadael número llega a cero.Áí,
final del
bucle de programa,se coloca una instrucción ISZ seguidade una
"l instrucció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
instrucción (BUN) es omitida y el programa continúa ejecutandoinstrucciones 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 dirección de la siguienteinstrucción en secuencia.El progr"rrrudo.tiene la prerrogativa 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 siguiente 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 necesita una referenciade la memoria para tener accesoa una pálabra de
memoria (designada
-porel símboloM), como se requierepor otras instruccionesde 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? lllamad,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".u486
E
I N S T R U C C I O N EDSE C O M P U T A D O R4 8 7
SEC. 11-3
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 ejecució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 llamado sé muestra en la Figura 11-4por medio de un ejemplonumérico específico. El programade llamado está ahora en Ia posición32. El programade
subrutina comienzaen la posición 65. La instrucción BSB causa una trasferenciaa la subrutina y lá última instrucción en la rutina causauna bifurcació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 trasferidosa 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 computador comienzaa ejecutar la subrutina en esta posición.La última instrucció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 diMemoria
Dirección
(dec)
I
+
JI
0 1 0 0 00000l 000000 BSB64
33
m=64
m+l=65
0l0l
000000I 0000I
B U N3 3
It
Subrutina
I
)
0l0l
Figura
11-4
00000I 000000 BUN 64
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 direcció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 posición un lugar mavor.que la "l
posic"iónde la instiu";¿;B's-ñ. Nótese que
el
númerode la dirección de la inst¡ucción BUN
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
para el computadorse listan
-de
en la Tabla 11-8. cada
instrucción á" ,;?;-rl.,i.il;;;c*;;5
ri".," un código
de operación0110 (hexadecimal€)
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
de una
palabra de instrucción. Las p.imera,
.iéte irr.truc"ione.-r"alizan una operació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ü
siguiente ins_
trucción el PC se incrementa en 1 de nuevo.
",,,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 presenteinstrucció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
-de'ig.,ado';iá pru.;;t;;-;; ;;;¿" la siguiente
instrucción en secuencia; de
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
hexaSímbolo decimal Descripción
CLA
6800
CLE 6400
CMA 6200
CME 6100
S H R 6080
SHL ó040
INC
6020
SPA 6010
SNA 6008
SZA
ó004
SZE
6m.2
HLT 6001
Borrar A
Borrar E
ComplementarA
Complementar,E
Desplazara la derechaAy E
Desplazara la izquierdaAy E
IncrementarA
Omitir conA positivo
Omitir conA negativo
Omitir conA cero
Omitir con E cero
Detenerel computador
Función
A <-0
E <-0
A <-.4
E<--E
I <--sh¡ A, A6<- E, E <- A1
I < - s h lA , A 1 < - E , E < - A 6
A<-A*l
:0)entonces (pC<- pC +
l)
!l(Ar6
:1) entonces
(PC<-PC + t)
9ifÁ,o
li ft:0) entonces(pC <--pC + t)
S-it¿: 0) entonces(pC <- pC + l)
s<--0
E
SINCRONIZACION DE TIEMPO Y CONTROL 489
s E c . 11 - 4
La instrucción de detención (halt) se colocapor lo generaial ñnal ie
un programasi se deseadetener el computador.Su ejecuciónborra el t-Irpflop 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
Código
hexaSímbolodecimal
SKI
INP
SKO
OUT
7800
7400
7200
7100
11-4
Instrucciones de entrada-salida
Descripción
Función
Omitir con el indicador de entrada Si (No : l) entonces (PC <- PC + l )
Introducir aA
A t - a + N 1- s , N e < - 0
Omitir con el indicador de salida Si (Un : l) entonces(PC <- PC +
SacardeA
Ut-a+ A1-s,Ue<-0
r)
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 trasfiere 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
y cauomisión compruebanlos indicadoresde condición correspondientes
La
insindicador
es
1.
instrucción
si
el
bit
san una omisión de la siguiente
se
BUN
no
La
instrucción
que
instrucción
BUN.
se
omite
es
una
trucción
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 entrada o salida. Así, el computadorpermaneceen un bucle de dos instrucciones (omisión en indicación y bifurcación de regresoa la instrucción anterior) 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 adecuado. 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 microsegundo(¡¿s).Cada variable de tiempo es de 1¡^rsde duración y ocurre 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 variables 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 adecuadaspara 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 instrucció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 trasfiere 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ódigo hexadecimalpara la operación.El registroG es un contadorde 2 bits que
cuenta continuamentelos pulsos de reloj, durante el tiempo en que el flipflop 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 visualizar la unidad de control del computador,cuando se derivan las operaciones de trasferenciaentre registrosdurante el procesode diseñode la lógica.
La 
Descargar