Prévia do material em texto
-7 JTAL , ' A l -
ARQUITECTURA
DE COMPUTADORAS
TERCERA EDTCI~N
M.- Morris Mano
Universidad Estatal de Califoda
en LOS Angeles
TRADUCCI~N:
MIGUEL ANGEL MART~NU
SARMIENTO
~ S I ~ N TWNICA:
AGUST~N SUAREZ FERNANDEZ
Departamento de Ingeniería Ektrica
Universidad Aui6noma Metropolitana
Iztapalapa, Mdxico
M&- Argentina Brasil Colombia Costa &a Cbiie Ecuador
España Guatemala Panamá PerG Puerto Rico Uniguay *Venezuela
.Acquisiti*m kditoi: P& Jamm
Wuction editor: ]en* W m
*eE .sherep Coodm -
editor: hrbnr'i 1
MORRIS MANO: AXQWlX€TUM DE COMPUTADORAS 316d.
Traducido de la terreta d i del ingiés:
COMPUnR SYSTEM ARCkmEmuRE
Rohibida la repducción total o parcial ,de' esta obra, pc
e ¿ i b . m
lisr d i o o meido sin auborización por d t o del
A
DEüECH05 RESERVAWS 1% res- a Ia @a edición en espaiiol pubiicada por:
PRENTICE HALL ~ A N O ~ C A N A ~ Q . ,,
Atlacomuioo Nfim. 5 0 0 - 5 O Pisa
Col. Zndustrial A m
53519, Naucalpan de J u h z , Edo. dc Mexiw
ISBN Mw60.3614
a: Miembro de la Cgmara Nacional ¿e la Indushia Editorial, M. N h la' '4 'ItP
b Original Efiglish Language Edition P u b W by Copyright O 1993 by Prentice Hall Lrsc. Al1 Righb Reswvd
ARQUITECTURA
DE COMPUTADORAS
Prefacio
CAPfRiLO UNO
Circuitos de Idpica digital
1-2 Compuertas 16gicas
1-3 kgebra Booleana
Complemento de u~ui furzci6n 11
1-4 Smplificaci6n por tnapas
S i m p l t w n del producto de h s sumas
Condiciones "m h p h " 17
1-5 Circuitos combinatorios
Semisumadur 21
S u d w complefu (o total)
1-6 Flip flops
f l i p w SR . 24
Flip pcip D 25
Flip flop JK 25
FíipfZop T 26
Ffip jlqv dispnrado por -el glnnco 26
Tablas #d'W 28
1-7 Circuitos secuencialk
Ecuacbnes de &a& de Ios jlip fropc 30
Tabla de estado 31
Diagrama de estado 33 "
Ejemplo de -diseffo 34
1
2-1 Circuitos integrados
2-2 Decodificadores
DecodiJcad~ de eompmia NAND
Expancidn del demdi$imdm 48
Cod$cadores 49
2-3 Multiplexom
2-5 B&gistn>s & c o ~ i e n t o
Registro de -miento bidimcional con carga
+la 56
2-6 Contadores binarios mnkmqm3 I.u
2-7 Unidad de memoria i &4
Memariadewmwv&t& 63
Menimin dio de ¡dura 65 I E X
Tipos de ROM 66 m !
Problemas 1
Referencias
CAP~TUD TRES
Representacihn de datos
w
m
3-1 Tipos de datos
Sistmw numéricoc 72
RqmenWndecrnial 76 . - .
Rqmentach alfanurn&m
3-2 C o m p ~ t o s
C o m p k t o I d 79
Resb de n i I m sin signo 81
Rép-tadh de'*piuito fijo )ilP
RepresenM de enteros 83 1
unhetia 8 4 * - a 3 4 # 9 *1
Resfa arifmética 85 ha---
SobrgIt~jo 85 -- ~ Y L
Rqmsmtación del punto fijo den'nral
3-4 Representación con p.unto. flotante
3-5 Otros códigos bina&
C6digo Gray 89
1 d
Okm d i g m decimales 90 w
Otros digas dfirnr~mdrh 92 m
3-6 Cbdigos de detección dé emir 1-
Problemas m- -
Referencias
C A P W CUATRO
Transferencia de r k g h t ~ ~ y microoperaciones
mil
4-3 Transferencia de canal y de memoria
Canal de bus de tres mtados 106
T r n n s m de memoria 108
S u d o r sustractm binario 21'1
-1nmentadoT b i m h 112
Circuito arit rnético 113
4-9: Microoperaciones 16giras
Lista de micrqueracion& I @ h s
Implantsición de hrdwre TI 7
Algunas aplicaciónts 118
44 Microoperaciones de corrimiento
Implantación dd hardwre 122
4-7 Unidad de corrimiento 16glco aritmétiao
Problemas
Referencias
C A P ~ W ) CINCO
Organización y. diseño bhim& cogpu@doras
a*. 1
Códigos de instrucción d
Organkiún de un programa almacenado 133
Direcchrntento indirecto 134
Fr. Regisb + computadora
Canal m d n del 6istema 137 d M
Instrucciones de computadora itll E&
Versatilidad del conjunto ¿e i7isfrucEiom .143
Temporhci6n y control
Ciclo de instrucci6n b 3 u!
B d s q u d y decdjficanóff 248 A
Determinnción del tipo de instruccibn 150
Iris- de r.fera?cia a r @ t m 153
~trucciones de referencia a memoria
Ejecución de la itzstrucción AND n AC 255
Ejecución de la imtrucdn ADD a AC 155
LDA: Carpa AC 156
STA: ~ l m & r AC 156
BUN: Brinco irnondichal 156
BSA: Brimr y guardar Ea dirección de
~m 157 rs
ESZ: Incrementa y b r i w si es c m 258
%grama 05 flujo & mnfrol 159 a a
M p c i ó n completa de computadora
D k i b de una computadora Msica
C m ~ l ú ~ k w n t d 270
C o n t r o l d e ~ t w a s y m d 170
Cmrtrol&j7ipflopsilimiorrs 171
Cmtrol de un canal común 172
DiseAo de un +aundador 16gico
Control &l regisha AC 174
Circuito su& y Mg¿w 175 m r~
Problemas
Referiencias
CAP~%EO SUS
Prograrnaci6n básica de la computadora
6-1 Intducción
1 A- h. 6-2 Lenguaje de máquina
63 kmaje ensamblador
H.'
Regias &l lenguaje 189
Un ejemplo 191
Tdu& n b i d 391
, 6 4 n - ñqwmentaci6n de un programa simb6lico en la
memo& 1M
P r i m m pasa& 195 A -44
Segunda pncnr3a 197 A ;a q' a
6-5 Ciclos del programa
6 4 Programaci6n de operaciones aritmeticas
Prrrgnima & m u í t i p l i ~ 205 1
Suma de &le precisidn 206
operaciones 1 6 g - k 207
W 4~&-*&-.-~ 298- .-
6-7 Subditinas -*#m'
Pardmtros de subrufina y enlace de datos 211
6-8 Programación de entrada-salida
M n n i p u h h & aaracteres 215
~nt&pc& del programa
Problemas,
Referencias
217 Ci - m'.-! . .
7-3 Ejemplo de un m i c q q r a m a
C u n t J ~ d e l a c o m p u k r d o r a 233
F m t o & ih mbuim- 235
Mjdnstnmbm sirnMicns 238
7-4 Dkfio de la wdad de control
Semmciador de r n h p r o p ~ 246
Problemas
ReferenQas w i 1
- - a !l
i
U P ~ OCHO
Unidad centrál de pmcesamiento
Organizacibn general de los registros
Palabra de control 258 ,,
EjempZm de miciionperaciones 25'1 fi
Organizad611 de una pila
Pila de registro 262
Pila de memoria 264
Notbicibn polaca irmersa 266
E d u a c i d n de las expresiones aritrndticm 258
Fhnatos de las instrucciones
Instruccioñes de tres direccionq 273
Insfmc+nes de d ~ s d i w a h s 273
Instruccbes de u m di=& 274
Imtrumhes de wro direcciones 274
Instrucctones RISC 275
-0s de direccionamiento
Ejemplo numérico 280
Transferencia y manipulación de los datos
Instruccbnes de W f e r e n c i a de los htcs 283
Inshdones de mnnipulnción de los dafos 284
Instruccbms ariiméticas 285
Instrucciones 16gims y oie mnnfpukzcih de bits 286
Inshucbm de m i m h t o 288
Control del programa
Bits de condicim de es& 291
Instrucciones de brinco condicionnl 293
Llamada y retomo de mbrutim 295
Intemqckh &l p r v m a 297
Tipos de intnmpcbm 299
Computadora de conjun'b de instrucciones reducido WSC) 300
CarsicterEsticas CISC 301
Camterbtbs RISC 302
Ventanas & registros bslap&
RlSC I de 8exkeIey 306
Problemas
Reíerencias .,t
$ 3 3 m
ti--'
km-
-!
W P W , ~ V E
F;aralelismo y procepniento de vector
9-1 Procesamiento paralelo
9-2 Arq-a paralela
b *
.r*rr Cdrtsideracidnes generales
9-3 Línea paraiela aritmética w
9-4 h paralela de instnimone6 w
Ejemplo: L f m puhlela de instrucciones de mh
segmhtos 332
D+encUi de IÚs &tos 334
Manejo de las insh-s de fransfmch de
m h I 335
P 5 Arquitectura paralela RISC
Ejemplo: Línea paralela de instru&es de tres
segmentos 338 r
Carga pospuesta o rehrdudu 339 '
Transferencia pospuesta o retardada **"
9-7 Amgio de procesadot SKMD
A ~ 1 0 d r . p m c n a d a m n S l ~ 0 M'
Arreglo de pm+ SIMD 350
Problemas
cA~h"LzL0 DIEZ
Aritmttica de computadoras
10-1 Introducción
10-2 Suma y mta
xii contenla0
Suma y resfa con &tos d~ mpititd Eon signo 357
Implantación de kardware 358
Algoritmo dev hardwm 359
Suma y resta &tos ds complemeittu a 2
con signo 361
10-3 Algoritmos de multiplicaci6n
ImpIantadn de hardwre para datos de mgnitud
m signo 363
Algaifme de hnrdwire 36#
~l&hto & m t i f t i p ¡ W n ije .Bmth 366
m signo 372 -
Sobreflujonldividk 374 W
Algm'lmo rfe hardware 375 .. ... t
Otros algoritmos 377
tt
10-5 Operaciones aritmdtieas de punto flatante
Consiikrncidnes hfiiaas 378
Corofigumcibn de registros . 381 -m
Suma y resta 382 m
Multipl-n 384
Divish 386 e -
106 Unidad aritmktica decimalw?
Sumador BCD 389
K"
Resta BCD 391 4 aia? ----'7f
10-7 Operaciones aritméticas decirnies R. W!
Suma y m t a 395 CL
Multipliuwión 397
Diarisidn 399
Opacimres & punto flPtante 4~
Problemas
Referencias - &
,, m u r ' * *
a bdn!
C A P ~ ~ U L Q ONCE
Organizaci6n de entrada-salida
11-1 , Dispositivos periféricm
Caructers nlfanu&s ASCII 409
11-2 Interface de entrada-salida
Canal de E/S y rnúdulos de int* 412
E/S versus canal de rnenrcirin 414'
~~ xiii
11-3 Transferencia a s h n a de da-
C o n t d de habilitación 419
Remm'mimfo mutua 420
Trnmfeencia d l asfntnrro~ul 423
Int.rf.ce de comunkwibtt mfnrrwra 425
Buffer prUnero m enirar, primero en wlir 428
114 M d u s de trmfemch
Ejemplo & E/S p r o g r a d 431
€/S iniciacta por interrupción 434
Consider~ctonm & pmgramacidn 435
11-5 Prioridad de interrupci6n
Prioridad de m i h a de margaritas 437
Interrupc$n de priotPdad paral& 439
Cod~@dor de prioridad 440
Cich de in tmpcidn 4-41 -
Rutinas de p ' q p m a d n 442
Operacions in icd y fuinl W
11-6 Acceso directo a memoria @MA)
C o n M o r DMA 446
Tmnsf.eremh D2MA 448
11-7 h c e a d o r de entrada-salida (iOP)
Comunhci6n CPU-IOP - 452
Cana2 de E/S IBM 370 454
IOP de Intel 8889 458
11-8 Comunicaci6n serial
ProFocrofo orientado a caracteres 463
Ejemplo de t r a n s m W 465
Transpmcia de dalos 467
h W o &fado ú bits
Problemas
Referencias
CAP~TULO D O C E
Organizacidn de la memoria
22-1 Jerarquia de Ia memoria
12-2 Memoria principal
CJ. de RAM y de ROM 481
Mapa de direcci6n & memoria 483
12-3 Memoria auxiliar 1 m q.
Discos mpéflcos '- e
Cinta mugtdticn . 489 -&
i --' ,--.=-=a U4 Memoria asociativa 2
Organización de lu circüitmía 490
?.i Ugim dr c&ncLiniM 492 6 ~ 1 - i
m ~ c i & n t de Ieclura 495
Operacián de esmmSura 495 ' .
12-5 Memd& ea& ,, I -..,
~apeo'asociativo 498 ' +' " '
M d p directo 499
ivbpeo de m j r m t o ' o i b 1 '
Escritura en la .cnché 503 +
Inicklizacibn del.ca& 504 : -- .
126 Memoria virtual I\ , l .
Espacio de direc.ciotzpmiento y espdí5u de
mm,min 505
Mnpeo %!e direccih &ando pdgin& 507
Tabla de @@m de mwia'usociatim 509
Sustitucidn de @@M a 510
12-7 Circuiteria de 'adminictracibn' de la memoria
Mapeo de &+m segmentadn 5-
Ejemplo numkrico
Protección de memoria 1..
Problemas w , d m
Referencias --- +
*m CAP~TULQ TRECE 1 9 -4 Multipmcesadores
13-1 Características de multiprocesado-
13-2 ~5rnichir.s de interconixi(in E
Caml común de tiempo compartido 528
~ernork rnultipuerto' 53'0
. Conmutador de barra de cruz 531
' ñed de mrnuhcidn de efsipns múltiples 532 3 i j ln tnmibn de hipercub 535
13-3 Arbitraje enfre procesadores
Canal del sistemu 537
Procedimiento de arbitraje serhl
Ldgica de arbitraje paralelo 5Pr 5 3 9 ~
Algoritmos de arbitraje dindrnim S 2
7 r n - w -
13-4 Comunicaci6n y sincronhcibn entre procesadores
Sincronuandn entre -es 545
Exclus& mutiut m sm@m 545
13-5 Coherencia de cachd
Condkhnes pra incoherencia 547
. Soluciones al probIm de c o h m h de mchd 549
Pmblemas
Referencias
-. ' :S - f ' . , , , '? 1
, # ,, ' 1 N ' . ? 1 1 - < & ' , I + l - 1 I 1 . P * ~ T . ! , " H i y 1
, l l 1 ,- w 4 .' Este libro trata de ia arquiwtura de5computadoras ?'de la organización y
'i*- Y ! 1 1 1 1 iI diseno de computadoras. La arquitedura de computadoras se interea por la
e1 * l a 7 U estructura y desempeño de los diferentes m 6 d h funcionales de la compu-
tadora y cómo interacthn para atender las necesidades de proeesamiaito del
f. N i ~ i t : ' usuario, Ia organización de las computadoras studia la manera en que se
1 1 - . . a cmectan los componentes de la circui- para formar un sistema computacb
S a*- , = - b - w 'i nal. El diseño de computadoras a n a k el desarrollo de la circuitwfa de
3> ,a n / , 1 l computadoras, tomando en consideraddn un cierto conjunto de ~ c a ~
. N I~UI a El libro proporciona el conocimiento básico necesario para comprender -. - a "r " la operacibn de h cimiitería de computadoras digitales y cubre los tres
temas asociados con la circuiterfa de computadoras. Los capítulos del 1 al 4
' + presentan los diferentes componentes digitales que se usan en la organiza-
,,u - -:M YIL..! cibn y diseíio de computadoras digitales. L m capitulas del 5 al 7 muestran . 1, . *; en detalle los pasos que debe recorrer un d i i d o r para preparar las basea
4 ' * de una computadora elemental. Los capítulos del 8 al 10 examinan la
l'l.'i . 1 r organizacibn y arquitectura de la unidad de procesamiento centrd LQS
J capítulos 11 y 12 estudian la organizacibn y la arquitectura de entradadda,
* ? * * y de la memoria. El capitulo 13 aclara el concepto de multiprmesamiento.
it ' . 1 *I = El libro se h e r e primero al material más sencillo y dapub aborda temas
más avanzados. Por lo tanto, los primeros siete capitulos cubren el Riaterial
.i 1. 4 e necesario para el conmimiento bhsico de ía organizacibn, disefío y progra-
1. - rirt* macibn de una computadora digitar simple. LQS últimos seis capítulos pre
. a I 1 . - -tan la org&ci&n y arquitectura de Ias unidades f u n c i o d qaradas
1 1 de la computadora di@, e n f a b d o loa kmas más avanzados.
* r 1 - - * En esta tercera edici6n el materiai está organizado como en la segunda
y muchos de los temas no cambian. Sin embargo, la tercera d c i b n ofrece
b - v 7 . -huevos temas en relaci6n con fa segunda edieih Todos los capítulos,
1 . . 1 excepto dos (el 6 y el lo), se han revisado por completo para actualizar el
. , . -a 1- material y hacer mAs clara su presentaci6n. Se apegaron dos novedades: el
19. . 1 w t I I .' S . capitulo 9, acerca del procesamiento por arquitectura paralela y vedores, y
-3 .. - 4- ñ el capitulo 13, acerca de multipmdores. Dos mimes tratan acerca de
4.1 7 - 1. .- la computadora que incluye un conjunto ducido de inetnicciones m).
#, m. , , Ei capítulo 5 se revi& par completo para simpWar y hacer más chro e1
P
iones y las mciones ae conrroi
en fonna simb6lic.a mediante un lenguaje propio de la
&m desarroliamos un lenguaje senciilo de transkrencia
varias operaciones de computa-
por completo la relaci6n del
i6n de la &tería y
El libro no plantea un eonocirniento previo de la circuiterla de mmpu-
tadoras y el material puede entenderse sin nhgh requisito previo, sin
embargo, alguna expiencia en la progromacin de lenguaje ensamblador
con unn miuncomputadora facilitar& Ia comprwisi6n del material. Los capi-
tulas del 1 al 3 pueden saltarse si el 1-r está familiarwdo con eI dis&o
1 6 e diitaL
L a s ~ e n t e ~ u n a h e ~ ~ & h t e m a s q u e a e c u b m e n e a d a
capitulo, d d e se esfablecen I ~ E mviswne que m hicieron a la tercera edi-
El capitulo l i n a u e e los condmimtos básicos necesario^ para el
diseAo de digitales construidw con base en compuertas y flip-flop
d i . Cubre el Algebra booieana, los circuitos combinatonos y secuencia-
les. Proporciona los ankedenb n-nm para comprender los c h i b a
digitales que se van a presentar.
El capitulo 2 explica en detalle la aperaci6n iópca de los componentes
digitah más muna incluye decudifndofes, multipiexomI regis-
~ u m f a d m s y ~ ~ ~ d i & & s s e u m a r m o ~ d e
comhd6n para el d k k de unidades más grandes en Im capitulo9 siguientes.
. El capitulo 3 muestra cómo se repmmtan en forma binaria bs diver-
sos tips de datos que se encuentran en las computadoras digitales, en los
qistroe de la computadora. Se enfatiza la repmentaci&n de los números
que se emplean en operaciones aribdtieas y en la codificarihn binaria de
slmbolos usados en d p m d e n t o de datos,
El capítulo 4 introduce un lenguaje de transferencia de registros y
mueskra cbrno se usa para expresar mierooperaciones en forma simb6lica.
!% definen SfmboIcxs paza microoperaeiones aritméticas, lbgicas y de corri-
mientu. Se dqmoila una unidad aritmtfica-lúgii y de corrimiento com-
puesta para demostrarel disefío de la circuitería de las mimooperaciones más
.-m I
E1 CapihSh 5 p m t a la organización y el d i o de una computadora
digital básica. Aunque 3a computadora es aericilIa comparada m las mm-
putadoras comerciales, no obstante, abarca suficientes posibilidades funcio-
nales para mostrar la capacidad de un dispodtivo de propbsito v a l con
programas almacenados. Se usa un lenguaje de transferencia de registros
para describir la operaci6n interna de fa computadora y para especificar los
rqbitae para su d M o . la computadora bhica utiliza el mismo conjunto
de instrucciones de la xgunda edicih, pero su oqp izac ih de circuiterla
y d M o se han revisado por m m p k Al recorrer los pasos detallados del
diseño que se prem~tan en este capítulo, el estudiante podrá comprenda el
funeionarniento interno de las computadoras digikles.
El capitdo 6 utiliza las 25 inshmciones de la computadora básica para
mostrar técnicas que se usan en la programación con lenguaje ensamblador.
Se presentan,ejemplos de programación para varias tareas de p-to
de datos. Se explica mediante ejemplos k reIación entre programas binarios .
y d i g o simbúlico. Se analizan las operacionm bhsicas de un ensamblador
de cbdigo simb6lico a un programa bir io equivalente.
El capitulo 7 intduce el concepto de microprogramaci6~ Ademdq
desarrolla una unidad -ca de control m ~ a r n a d o , para mostrar
un ejemplo de cbmo escribir un micrw6digo para un conjunto de instruc-
ciones tipico. Re* en detalle el diseño de la unidad de control, incluyendo
h circuitsofa para el secuenciador de microprograma.
El capitulo 8 trata acerca de la unidad de p-iento cmtral (CPU).
Explica ia operaci6n de una pila de memoria y se muestran algunas de sus
apiicaciones. Ilustra diferenb formatos de instrucciones, junto con diversos
modos de dkccionamiento. Hace una relacidn de las instrucciones m8s
comunes que se encuentran en las computadoras, junto con una explicacidn
de su funci6n. La W . b seccih presenta. la computadora con conjunto
reducido de instniccion- (m) y analiza sus caracterZsticas y ventajas.
El capitulo 9, acerea de p-miento de F t o r y por arquitectura
paralela, es nuevo en la tercera edición (el material sobre operaciones arit-
mdticas 'de la segunda dici6n se pas6 al capihdo 10). Se explica el concepto
de arquitectura paralela y se muestra con varios ejemplos cómo puede
acelerar el procesarnimto. Se considera Ia arqui-a paralela aritm4tica y
de ihstrucciones. Se muesh cbmo los procesadures RISC pueden ejecutar
-1 instrucciones de ciclo 6nic0, a1 usar una conducción de instrucciones eficiente
:i1 - m junto con técnicas de carga y transfewncia de control del programa propues-
id tas. Se introduce el procesamiento de vedo= y se muestran ejemplos de
operadones de punto flotante usando procedimientos paralelos.
El capitulo 10 p m t a los algorihos arihdticos para suma, resta,
multiplicaci6n y divisi6n y muestra los procedimientos para implantarlos con
circuiterla digital. Se desamoflan p&i&ntos pqa ndmeros de punto fijo
de complemento a 2 con signo y de magnitud con signo, para números
binarios de punto flotante y para n6mem binarios codificados en dmimales
(BCD). LDS algoritmos re presentan m w t e diagramas de flujo que utilizan
d lenguaje de transfemia de registros para especificar la secuencia de
micmperaciones y decisiones de control requeridas para su implantación.
El capitulo 11 analiza las tecnicas que usan !as computadoras para
comunicarse m dispositivos de entrada y salida. Se presentan unidades de
interface para mostrar cómo interachh el p-dm con los perif&kos exter-
n a Se explica el pmdhiento para transferencia asincrona de d a b senales
o paralel- A n a h cuatro modos de transhcia: E/S programada, transfe-
rmcia iniciada por intmmpción, acceso dii.ecto a memoria y el uso de
pnxemdores de entradadida. Con ejemplos espedñaos, ilustra he proeedi-
mientos para trmmbibn de datos mides.
El sapihdo í2 presenta el concepto de jerarquia de memoria, mmpues-
ta de memoria c a e , memoria principal y memoria auxiliar como d b
magnéticos. Explican en detalle la orgmizaci6n y la operaci6n de las meme
rias asociativas. Por otra parteg introduce el concepto de administracibn de
memoria, mediante la representacihn de los requisitos de circuitería para un
sistema de una memoria caché y una memoria vithiat
Ei capitulo 13 demibe Ias caracte~ticas básicas de los multiprocesa-
dores. Asimismo, pzesenta varias estnictuqs de inbconexih. Analiza la
neeesldad de arbitraje entre prmaadores, comunicaci6n y shnizaabn. SE
explica el problema de la coherencia de cachk, junto con algunas posibles
aolucione3,
Cada capitulo incluye un conjunto de problemas y una lista de refe-
rencias.-Algunos de los pmbIerna8 sirven fomo ejercicios para el material
cubierto en el capitulo. Otros son de naturaleza m4s compleja y pretenden
ofrecer una manera de practicar en la-mlucidn de problemas asociados- con
la arquitectura y el dis&o de circ2uitería de computadoras.
El libro ea eanvdente para un c m de sistemas de circuitería de
computadora, en las Areas de ingeniería eléctria y mmputacional o ciencias
de la informática. Algunas partes del libro pueden usarse de diversas mane-
ras: como un primer curso sobre ciGcuitería de computadoras al cubrir los
capltuios del 1 ai 7; como un curso de organizacibn y diseño de computa-
doras, con conmimientos previos de d i o de lógica digital, al repasar el
capítulo 4 y +u& cubrir lo^ capítulos del 5 al 13; como un curso en
organbción y arquikhira de computadoras, que cubm las cinco unidades
funcionales de las computadoras digihles, al incluir el controI (capitulo 7),
la unidad de procesamiento (capitulas 8 y 91, las opaciona aritm&tias
(capítulo lo), la entrada-salida {capitulo 11) y la memoria (capltulo 12).
Este libm también es conveniente para el autoaprendizaje, para inge-
nie- y cientfms que necesitan adquirir conacimientos básicos de la circui-
teda de arquitectura de computadoras.
Mi gratitud a aquellas personas que tevisaron el texto, en particular al
p b i Thomas L Casavant, de la miversidad de lowa; al profesor Murray
R BerWtz, de Ia universidad polit&ka de Brookly"; al profesor Cem
Ersoy, de de lavensidad Gemge Mason; al profesor Upkar Varshney, de la
universidad de Missouri, en K a n w City; al profesor Karan Watson de la
unirnidad de Texas ABrM, y al profesor Scott F. Midkiff, de1 Instituto
a1 Politémico de V i a .
M. Morris Muno
EN ESTE CAP~"~WO
bit
1-1 Computadoras digitales
1-2 Compaertas 16gieas
Id Algebra booleana
14 Simplificación por mapas
1-5 Circuitos wmbinatorios
1-6 Flip-flqs
1-7 ~Circuitossecuenciales
1-1 Computadoras digitales
La computadora digital es un sistema digitai que ejecuta diversas tareas de
computación. h palabra digital implica que la información en la computa-
dora se representa por variables que toman un número limitado de valores
discretos. Estos valores se procesan internamente por componentes que
puedm mantener un número limitado de estados discretos. Los &@tos
decimales O, 1, 2, ..., 9, por ejemplo, proporcionan 10 valores discretos. Las
primeras computadoras electr6nicas di@akj desarrolladas a finaIes de los
años 40, se usaron principalmente para c6mputos numbricos. En este caso
los elepentos discretos son los dí@toB. De esta apbcacibn ha surgido el
término computadora digital. En la grActica, las computadoras digitales fun-
cionan mbs confiablemente si d o se usan dos esMos. Por la restricci6n
flsica de las componentes y porque la 16gica humana tiende a ser binaria
(por ejemplo, proposiciones de cierto o falso, si o no), los componentes
digitales que están restringidos a tomar valores d h t o s se restringen aún
mis a tomar s61o dos valores y -se dice que mn binaribs.
h s computadoras digitales emplean el sistema r(urn6rico binario, que
tiene dos dígitos: O y 1. A un digito binario se le llama bit. La informaci6n2 C M ~ O NO Circuitos de 16gici
se represen-9 en las computadoras digitales en grupos de bits. Con diversas
técnicas de codificaci611, se puede hacer que los grupos de bits representen
no s61o los números binarios, sino tambikn otros símbolos discretos, como
los dígitos decimales o las letras del alfabeto. Usando juiciosamente los
arreglos binanos y diversas tkcnicas de dificación, los grupos de bits
desarrollan conjuntos completos de instrucciones para ejecutar distintos tipos
de cómputos.
En contraste con los niimeros decimales comunes, que emplean el
sistema en base 10, los números binarios constituyen un sistema en base 2
con dos dígitos: O y 1. El equivalente decimal de un número binario se puede
encontrar expandiendo éste en una serie de potencias en la base 2. Por
ejemplo, el número binario lOO1011 representa una cantidad que puede
convertirse a un número decimal multiplicando cada bit por la base 2
elevada a una potencia entera como sigue:
b s siete bits 101011 representan un número binario cuyo equivalente
decimal ec 75. Sin embargo, este mismo grupo de siete bik representa la letra
K cuando se usa junto con un c6digo binario para las letras del alfabeto.
Tambih puede representar un cbdigo de control para especificar alguna
decisi6n Mgica en cierta computadora digital. En otras palabras, los grupos
de bits en una computadora digital sirven para representar muchas cosas
diferentes. Esto es similar al concepto de que las mismas letras de un alfabeto
se utilicen para construir diferentes lenguajes, como el inglk y el francés.
Un sistema de computadora se subdivide a veces en dos entidades
funcionales: hardware y software. El hardware de computadora consta de
todos los componentes electrbnicos y dispositivos electromecánicos que com-
prenden la entidad física del dispositivo. El software consiste en ¡as instruc-
ciones y los datos que la computadora manipula para ejecutar las diversas
tareas de procesamiento de datos. A una secuencia de instrucciones para
computadora se le llama programa. Los datos que son manipulados por el
programa constituyen la base de datos.
Un sistema de computadora está compuesto por su hardware y el
software del sistema disponible para su uso. El software del sistema de una
computadora consiste en una colecci6n de programas cuyo propbito es
hacer un uso m6s efectivo de la computadora. A los programas incluidos en - -
un paquete de software de sistema se les c o n a como sistema operativo. Se
distinguen de los programas de aplicación escritos por el usuario con el
prop6sito de resolver problemas particulares. Por ejemplo, un programa en
un lenguaje de alto nivel escrito por un usuario para resolver necesidades
de procesamiento de datos particulares es un programa de aplicacibn, pero
el compilador que traduce el programa en lenguaje de alto nivel a lenguaje
de mequina es un programa de sistema. El cliente que compra un sistema
de computadora necesitaría, ademis del hardware, cualquier software dispc-
SECC~~N 1-1 Computadores digitsles 3
nible necesario para k operaci6n eficaz de la computadora. El softwam del
sistema es una parte hdispe~l~able del sistema total de la computadora. Su
funcibn es compensar las diferencias que existen entre las necesidad- del
usuario y la &pacidad de1 hardware.
El hardmre de la computadora se divide por lo general en tres grandes
partes, como se muestca en Ia figura 1-1. La unidad central de procesamiento
(CPU, central processing unit) contiene una unidad aritmdiica y 16giea para
la manipulaci6n de datos, varios registros para almacenar los datos y cirmi-
tos de control para leer de la memoria y ejecutar instrucciones. La memoria
de la computadora almacena las instrucciones y los datos. Se le llama
memoria de acceso aleatorio (RAM, randam access memory) por la CPU
puede accesar cualquier parte de la memoria en forma aleatoria y recuperar
la infonnaci6n binaria dentro de un intervalo fijo. El procesador de entra-
da/salida (XOP, input output prcicessor) contiene circuitos e l d n i c o s para
comunicarse y controlar la transferencia de información entre la computado-
ra y el mundo exterior. Lcw dqositivos de entrada y salida conectados a la
computadora incluyen teclados, impresoras, terminales, unidades de diseos
magndticos y otros dispositivw de comurticaci6~
Este libro proporciona el conocimiento básica para entender las opra-
ciones del hardware de un ~istema de computadora. El tema se considera a
veces desde tres diversos puntos de vista, dependiendo del interés del
investigador. Cuando se trata del hardware de la computadora, es costumbre
distinguir entre lo que se refiere a la organizacihn de computadora, su
diseño y arquitectura.
La organizacidn de la compuhdm w refiere a h manera en que los
orgaeizaci6n componentes operan y la forma en que se conectan para formar el sistema
de la complrfadora de la computadora. Se supone que los diversos componentes están en su
lugar y la tarea es investigar la estructura organhciond para verXcar que
las partes de la computadora funcionen como se proponfa-
1
Figura 1-1 Diagrama de bloque de rina mmput%dora digital.
t i ' L
4 NO Circuitos de 1- digital
El d&& & la compufadma se ocupa del diseito del hardware de la
computadora. Una vez que se formulan las especificaciones de la computa-
dora, es tarea del disefiador desarrollar el hardware para el sistema. El
diseño de la computadora se ocupa de h determinaci611 de qué hardware
debe usarse y c6mo deben conectarse las partes, Este aspecto del hardwa-
re se conme a veces como impfantaciún de la cimput&ra.
ta arqtdtectitua de la computadova se ocupa de la estructura y compor-
tamiento de la computadora desde el punto de vista del usuario. Incluye los
formatos de i n f o M n , el conjunto de instrucciones y las Micas para
kcionamiento de memoria. El de la arquitectura de un sistema de
computadora a ocupa de las especificaciones de los varios mbdulos funci*
nales, tales como los procesadores y la memoria, y de estructurarlos conjun-
tamente en un sistema de computadora.
Este libro trata de los tres temas asociados con el hardware de la
domputadora. En los capitulas del 1 al 4 presentamos los distintos c o m p
rientes digltales usados en la organización y disefio de los sistemas de
eomputa'dora. En los capfhiIos del 5 al 7 se cubren los pesos que el disenador
debe transitar para diseñar y7prograrnar una computadora digital elemental.
Los capitula 8 y 9 tratan de la arquitechira de la unidad central de
procesamiento. En los capftulos 12 y 12 presentamos la organhaci6n y
arqukhra del proeesador de entrada salida y la unidad de memoria.
1-2 Compuertas 16gicas
La informacibn binaria se repregenb en las computadoras digitales por
cantidades físicas llamadas sdahs. Las sefiales eléctricas tales como los
voltajes existen en todas partes de la computadora, en cualquiera de loe dos
estados reconocidos. Los dos estados representan una variable biaria que
puede ser igual a 1 o a O. Por ejemplo, una computadora digital en particular
puede emplear una sefial de 3 volb para representar el 1 binario y 0.5 volis
para representar el O binario. Las teminales de entrada de los circuitos
lbgicos aceptan señaies binarias de 3 y 0.5 volts y los circuitos responden en
las terminales de salida con h l e s de 3 y 0.5 voltios para representar la
entrada y saIida binarias correspondientes a 1 y 0, respectivamente.
La 16gica binaria I t a de las variables biarias y con las operaciones
que asumen iin significado 16gico. Sirve para describir, en forma algebraica
o tabular, Ia d p u l a c i b n y el procesamiento de la infomacibn binaria. La
manipulación de la informacibn binaria se hace mediante circuitos 16gicos
llamados wmpilertas. Las compuertas son bloques de hardware que produ-
cen sefiales del 1 o el O binarios cuando los requerimientos lógicos de
entrada son satisfechos. En los sistemas de computadora digital se utiliza porlo general una variedad de compuertas lógicas Cada compuerta tiene un
simbolo gráfico distinto y su funcionamiento puede describirse por medio
de una expresibn algebraica. La relación de entrada/salida de las variables
NAND
NOK
binarias para cada compuerta puede representarse en forma tabular por una
tabiu de &d.
tos nombres, 10s símbolos grAfieos, las funciones algebraicas y las
tablas de verdad de las ocho compuertas 16gicas se listan en la figura 1-2.
Cada compuerta tiene una o dos variables de entrada binarias designadas
con A y B y una variable binaria de salida designada por x. compuerta
AND (Y) produce la función I6gica AND: esto es, la salida es 1 si la entrada
A y la entrada B son ambas igual a 1; de otra manera, la salida es O. Estas
condiciones tambih se especifican en la tabla de verdad para la compuerta
AND. La tabla que muestra ia salida x es 1 6610 cuando la entrada A y la
entrada B son ambas 1. El símbolo de operaci6n algebraica para la funci6n
AND (Y) es el mlsmo que el simbolo de multiplicaci6n de la aritmética
ordinaria. Podemos usar un punto entre las variables o bien concatenar las
variables sin ningh símbolo de operaci6n entre ellas. Las compuertas AND
(Y) pueden tener mas de dos entradas, y por definicihn, la salida es 1 si y
s61o si todas las entradas son 1.
Ia c~mpuerta OR {O) produce la funcibn 0R (0) inclusivo; esto es, la
salida es 1 si la entrada A o la entrada B o ambas entradas son 1; de otra
manera, k salida es O. El símbolo algebraico de h funcibn OR (O) es + ,
similar al de la suma aritm4tica. Las compuertas OR (O) pueden tener mbs
de dos entradas, y por defmici6n, la salida es 1 si cualquier entrada es 1.
circuito hversor El circuito inversor invierte el sentido lbgico de la señal binatia. Produce
la funcidn NOT o complemento. El simbolo aleraico que se utifua para el
complemento 16gico es símbolo de prima ('1 o una barra sobre la variable.
En este libro usamos el simbolo de prima ('1 para el complemento 16gico de
una variable binaria, mientras que la barra &re la htra se resma para designar
una micmoperaci6n complemento como se define en el capitulo 4.
El circulo en la salida del símbolo gráfim de un inversor designa un
complemento 16gico. Un simbolo de kihgu10 por sí mismo designa un acopla-
dor o registro intermedio. Un acoplador no produce una funci6n 16gica
particular, ya que el valor biario de su saiida es el. mismo que el valor
binano de su entrada. Este circuito sirve nada m8s para la amplificacibn de
h potencia. Por ejemplo, un acoplador que utiliza 3 voltios para el 1 biario
producirii una salida de 3 voltios cuando la entrada sea de 3 voltios. Sin
embargo, la cantidad de potencia elgctrica necesaria a la entrada del acopla-
dor es mucho menor que la potencia producida a la salida del mismo. El
principal, prop6sito del aeoplador es manejar a otras compuerkas lo cual
requiere una cantidad de potencia mayor.
La funci6n NAND es el eomp~emento de la funcibn AND (Y),acomo se
indica con su simbolo grdfico, que consiste en un shbolo gr4fim AND (Y)
seguido de un circulo. La designacih NAND se deriva de abreviar NOT-
AND. La compuerta MOR es el complemento de la compuerta OR (O) y
lleva un simbolo grsifico OR seguido de un chulo. Tanto la compuerta
NAND como la NOR pueden tener mas de dos entradas, y la salida es
siempre el complemento de la función AND u OR, respectivamente.
m U N Cirmib de lsgiea digital
Nombre
ANP
Shhh Fuaci6a Tabla tde
@ ! dgebrnb w r M
x a'AB nx "."" .$
m
OR B A- x = A + B 3
tnwm .* -m
Buhr A+-. # = A .*
NAND 0 B x x = [AB)' .Y 1 0 1
1 1 0
NOR
B *- x x r ( A + B ) ' $
Mi ~ l t l s i w i
(xa)
MOR exc1wim
oequltnihk
w a
. .-
1 1 0
x = A @ B
" x 3 x = A B + A B ' 0
1 0 1
1 1 0 t
A e", ?=(m+ B P x m A'B'+AB
* Figura 1-2 Compuertas Mgicas digitales.
La compuerta OR exclusiva (XOR) tiene un símbolo gc6fieo similar aI
de la compuerta OR, excepto por una iínea cuma adicional del lado de la
entrada. La salida de esta compuerta es 1, si cualquiera de Ias entradas es 3
pero excluye la combinacidn cuando ambas entradas son 1. La funcibn XOR
tiene su propio sImbolo algebraico o puede expresarse en tCrminos de AND,
OR y operaciones complemento como se muestra en la figura 1-2. El NOR
exclusivo es el complemento del XOR, como lo indica el drculo en su
símbolo gcáfim. La salida de esta compuerta es 1 sblo si ambas entradas son
igual a 1 o ambas entradas son igual a O. Un nombre mh apropiado para
la operaci6n XOR sería la funci6n impar; esto es, su salida es 1 si un número
impar de entradas es 1. Asi, en una funcibn XOR de tres entradas (impar),
la salida es 1 si s610 una entrada es 1 o si ias tres entradas son 1. Las
compuerbs OR (0) exclusivo y NOR exclusivo se encuentran comúnmente
disponible con dos entradas, y sólo rara vez se encuentran con tres o m8s
entradas.
1-3 kgebra booleana
E1 AIgebra boohna trata de las variables binarias y las operaciones 16gieas.
Las variables se designan con letras como A, 8, x y y, Las tres operaciones
h d d n boolea~a lbgicas basicas son AND, OR y complemento. Una función bmleana puede
expmrse algebraicarnente con variables bmrias, los simbolos de operacio-
nes l6gicas, paréntesis y signos de igualdad. Para un valor dado de las
variables, la funci6n booleana puede ser 1 o O. Considere, por ejemplo, la
función booleana
La función F es igual a 1 si x es 1 o si tanto y' como z son igual a 1;
de otra manera, F es igual a O. Pero decir que y' = 1 es equivalente a decir
que y = O ya que t/ es el complemento de y. Por lo tanto, podemos decir
que F es igual a 1 si x = o si yz = 01. La relacib entre una funci6n y sus
tabla de vedad variables binarias se puede rep-tar en una tabla de verdad. Para repre-
sentar una funci6n en una tabla de verdad necesitamos una lista de las 2"
combinaciones de las n variables binarias. Como se muestra en la figura
1-3{a), hay ocho combinaciones distintas posibles para asignar los bits a las
tres variables x, y y z. La funci6n F es igual a 1 para aquellas combinaciones
donde x = 1 o yz = 01; es igual a O para todas las demás combinaciones.
Una hinci6n boolem puede transformarse de una expmih algebraica
diagrama ldgtco a un diagrama ldgico compuesto de AND, OR y compuertas inversas. E1
diagrama ldgico para F se muestra en la figura 1-3(b).-Hay un inversor para
ia entrada y para generar su complemento f. Hay una compuerta AND (Y)
para el término y'z, una compuerta OR se usa para combinar los dos
términos. En un diagrama ldgico, las variables de la funci6n se toman como
3 Tabla de verdad U - 16gim
@:;$-lm F i g ~ u 1 4 Tabla de verdad y dipama l b g i c ~ para f = r + fz. - - -,A
las entradm del c h i t o y el símbolo de la variable de la funcibn se toma
como la salida del circuito.
El propósito del Algebra booleana es facilitar el afi5lisis y el diseño de
los circuitos digitale. Proporciona una herramienta pr6ctica para:
1. Expresar en fonna'algebratca la relaci6n de la tabIa de verdad entre las
variables binarias.
2. Expresar @n' fom algebraica la relacibn de entrada/calida de los
diagrams16gicos. - m-
u A 3. Encontrar circuitos m6s simples para ia misma función.
Una funei6n booleana especificada por una tabla de verdad puede expresarse
algebraicamehte~de muchas imaneras diferentes. Manipulando una expresidn
erpregibn booleatta bmleana de acuerdo con las reglas del dlgebra bmleana, se puede obtener
una expresibn @S simple que requiera menos compuertas. Para ver c6mo
se hace esto, primero debemos estudiar las capacidades de manipulación del
Algebra booleana,
La tabla' 1-1 enlista Ias identidades mAs biisicas del álgebra booleana.
Todas las identidades de la tabla pueden probarse por medio de las tablas
, - de verdad. Las primeras d o identidada muestran la relación besica entre una
sola variable y si conjuneidn de las constantes binarias 1 v O.
cr
TABLA 1-1 Identidades básicas de Mgebra booleana(1) x + o = x (2) x - o =9
( ~ ~ z + x ~ = I (8j X . X ' = o
p ) x + y a y + x xy = Y m ~ d s .
(11) x + (y + z ) = (x +'y) f r (12) x(yz) = (xy)z
(13) #(y + E) = ry + ;a (14) x 3. yx = ( x + y)(z + z)
(15) ( x +y)' = x'y' (16) (xy)' = x' + y'
(17) (x') ' = x
teorema de
DeMorgait
Las siguientes cinco identidades (9 a 13) son similares a las del algebra
ordinaria. La identidad 14 no s6 aplica en el 4igebra ordinaria, pero es muy
íttil en la manipuhción de expresiones hleanas, t a s identidades 15 y 16
se llaman teoremas de DeMorgan, que se tratan abajo. La última identidad
afirma que si una variable se complementa dos veces, uno obtiene el valor
origina1 de la variable.
Las identidades eniktadas en k tabla se aplican a variables solas o a
las funciones b leanas expresadas en tdrminos de variables binarias. Por
ejemplo, considere k siguiente expmidn algebraica hleana:
AB' 4- C'D + AB' + C'D
Si x = AB' + CD, la expresi6n puede escribirse como x + x. De la identidad
5 de la tabla 1-1 encontramos que x + x = x. Así la expresibn puede
reducirse a sólo dos términ~
M' + C'D + A'B + C'D = AB' + C'D
El teorema de DeMorgan es muy importante al tratar con las mpuer-
tas NOR y N w Afirma que una compuerta NOR, que representa la
funcibn (x + y)' ea equivalente a la funcih x'y'. Andlogamente, una funci6n
NAND puede expmrse por o ($ + ?J). Por esta raz6n las compuertas
NOR y NAND tienen dos distinb shbolos grS~cos, como se muestra en
las *ra 14 y 1-5.
En lugar de representar una compuerta NOR con un simbolo gr&
OR (O) seguido de un circulo, podemos reprexatarlo por un simbofo gráñco
AND precedido de clrculoa en todas sus entradas. El sfmbolo AND invertido
para la compuerta NOR se sigue del teorema de DeMorgan y de la conven-
ci6n de que los &culos pequeiíos denotan mpI&entaci6n. Análogamente,
Figura 14 ih sfmboloei grái i~~a para la compuerta NOR
Figura 1-5 lh sfmbolos grAficw para la compuerta NAND.
10 m UEJO Circuitos de lógica digital
la compuerta NAND tiene dos símbolm distintos, como se muestra en la
figura 13,
Para ver cómo se emplea la manipulacibn del 4lgebra booleana para
simplificar circuitos digitales, considere el diagrama 16gico de la figura ld(a).
La salida del circuito puede expresarse algebraicamente como sigue:
F = ABC + ABC' + A'C
Cada término corresponde a una compuerta m, y la compuerta OR forma
la suma lógica de los tres téminos. Se necesitan dos inversores para com-
plementar A' y C'. La expresi6n puede simplificarse usando el áigebra
booleana.
F = A13C + ABC' T A'C = AB[C + C') i- A'C
= AB + A'C
Nótese que (C + C') = 1 por la identidad 7 y AB 1 = AB por la identidad
4 en la tabla 1-1.
El diagrama 16gico de Ia expresidn simpIiicada se dibuja en la figura
l-6(b). Requiere sólo cuatro compuertas en lugar de las seis del circuito de
Figura l-ó lh diagrama ldgicos para la misma W n h l e a n a .
P
la figura 19(a). Los dos circuitos son equivalentes y producen la misma
relaci6n de tabla de verdad entre las entradas A, B, C y la salida F.
bl h -iWI '
complemento de una huicion
El complemento de una función F cuando sé expresa en una tabla de verdad
se obtiene intercambiando unos y ceros en los valores de F en la tabla de
verdad. Cuando la funci6n se expresa en forma algebraica, el complemento
de una función puede derivarse por medio del teorema de DeMargan. La
forma general del teorema de DeMorgan puede apresarse como sigue:
( x ~ X ~ X ~ . . . ~ , ) ' = x; f x; + xj + - + x;
m p * L . A h --
& ' A -Del teorema general de IkMorgan podemos derivar un prdimiento s h -
a 1 mrtlmiple para obtener el complemento de una expresión algebraica. Esto se hace
A- ' cambiando todas Ias operaciones de OK a operaciones AND y todas las
operaciones AND a operaciones OR y luego complementando cada variable
literal individual. Como un ejemplo, considere la siguiente expresibn y su
complemento 1 Y
F = AB + C'D' + B'D
F' = (A1+ B')(C + D)(B t D')
*-a-
h expresibn complemento se obtiene intercambiando las operaciones AND
,,m y OR y complementando cada variable individual, Note que el complemento
de C' es C. 1-- -- ,T. f -1 PII
h r u
1-4 Simplificación por mapas
La complejidad del diagrama lógico que implanta una funcibn bmleana se
relaciona directamente con la complejidad de la expresihn algebraica a partir
de la cual se implanta tal funcibn. ta represen'tacibn de la tabla de verdad
de una M 6 n es Cinica, p r o la funci6n puede aparecer en muchas formas
difermtes cuando se expresa algebraicamente. La expresión puede simplifi-
carse por medio de las relaciones bAsicas del Algebra booleana. Sin embargo,
UlIni ese procedimiento es algunas veces difícil porque carece de -las especificas
y & W I para p r e d d cada paso sucesivo en el proceso manipulativo. El mgtodo de
-. mapas proporciona un procedimiento sencillo y directo para simplificar las =S b expresiones h1eanas. Este m&do puede considerarse como un arregio e wfi? pict6rica de h tabla de vedad que permite una interpretacibn fkil para
3 h escoger el número rnhimo de t4minos necesa~ios para expresar algebrah-
12 cAPmno &O Circuitos de lógica digitd
mente la funcih. El método de mapas se conoce también como mapa de
Karnaugh o mapa K
t6rtnino mínimo Cada combinación de variables en la tabla de verdad se llama Mrmino
mínimo. Por ejemplo, la tabla de verdad de la figura 1-3 contiene ocho
términos minimos. Cuando se expresa en una tabla de verdad una función
de n variables tendri T témiinos m i n h , equivalentes a los 2" números
bhrim obtenidos de n bits. Una funcidn boofeana es igual a f. para algunos
téminps mhimos y O para otros. La informaci6n de una tabla de verdad
puede expresarse en forma compacta distando los equivalentes dechales
de aquellos térniinos núnimos que pdueen un 1 para la funci6n. Por
ejemplo, la tabla de verdad de la ñgura 1 3 puede expresarse como sigue:
Las letras en paréntesis indican las variables binarias en el orden en que
aparecen en la tabla de verdad. El sirribo10 sigma representa ia suma de
los términos minimos que siguen en parénmis. im términos mínimos que
producen 1 para la funcibn se enlistan en su equivalente decimal. Imi
thninos mhimw ausentes de la lista son los que producen O para la
funcibn.
El mapa es un diagrama hecho de cuadros, y cada uno de éstos
representa un término minimo, b s cuadrados correspondientes a los térmi-
nos m h h o s que producen 1 para 1a funci6n se marcan con un 1 y lm otros
se marcan con un O o se dejan vados. Reconociendo los diversos patrones y
combinando los cuadradas marcados con unos en el mapa, es posible derivar
expresiones algebraicas alternas para la funci6n, de las cuales se selecciona
la más conveniente.
ios mapas de funciones de dos, tres o cuatro variables se muestran en
la figura 1-7. El número de cuadros en el mapa de ñ variables es 2". Los 2'
téminos mínimos se listan con un número decimal equivalente para una
referencia f d d . Los números de término minimo se asignan en un arreglo
ordenado tal que los cuadrados adyacentes representen téminos m h h o s
que difieran por &lo una variable. Los nombres de las variables se enlistan
a ambos lados de la línea diagonal, en la esquina del mapa. Los ceros y los
unos marcados a la largo de cada renglbn y cada columna designan el valor
de las variables. Cada variable den- de las Uaves contiene la mitad de los
cuadrados del mapa donde la variable aparece sin dmbolo de prima ('). La
variable con símbolo de prima (complementada) aparece en ia mitad restante
de los cuadrados.
El término mínimo representada por un cuadrado se determina por ias
asignaciones b i n a h de las variables, a lo largo de las orillas izquierda y
superior del mapa. Por ejemplo, el t6rmino mfnimo 5 en el mapa de tres
variables es 101 en binario, que puede obtenerse del 1 en el segundo renglón
concatenada m el 01 de la segunda columna. Este término mínimo r e p p
senta unvalor para las variables binarias A, B y C, con A y C sin primas y
-N 14 S i m p l i f i d por mapas
adyacentes
D
y ., c) Mapa de cuatm variabb
a ~ l
A 1 4
v
C
b), Mapa de h v & b h
,m &igun W Mapas para funcione de dos, m y cuatro variables.
-a- -
a
B con prima (eeb es, AB'C). Por otro lado, el término mínimo 5 en el mapa
de cuatro variables representa un tkrmino &o para cuatro variables. El
número binario contiene los cuatro Wts O101 y el término correspondiente
que reprewnta es A'BC'D.
los términos mínimos de cuadrados adyacentes en el mapa son id&
ticos, excepto por una variable, que aparec'e compIementada en un cuadrado
y sin complementar en el cuadrado adyacente. De acuerdo cm esta defini-
ci6n de ser adyacente, los cuadrados de los exttemos del mismo renglón
horizontal pueden también considerarse adyacentes. Lo mismo se aplica a
los cuadrados superior e inferior de una columna. Como multado, los
cuadrados de las cuatro esquinas de un mapa tambih pueden considerarse
como adyacentes.
Una funcibn booleana r e p m t a d a por una tabla de verdad se grafica
en el mapa insertando unos en aquellos cuadrados donde la funcibn es 1.
ios cuadrados que contengan unos se combinan en grupos de cuadrados
adyacentes. Estos grupos deben contener un número de cuadrados que sea
una potencia entera de 2. Los grupos de cuadrados adyacentes combinados
pueden compartir uno o más cuadrados con uno o más grupos. Cada p p o
de cuadrados representa un ténnino aigebraico y el OR de estas términos
da una expmión algebraica simplificada de Ia función. Los siguientes ejem-
plos muestran el uso de1 mapa para simplificar funciones boolearw.
En el primer ejemplo simplificaremos la funcibn booleana
Ei mapa de tres variables para esta funci6n se muestra en la figura 1-8. Hay
cuatm cuadrados marcados can ntuneros uno, cada cual para los términos
&os que produce un 1 para la M b n . Estos cuadradoe pertenecen a
los os minimos 3, 4, 6 y 7 y se recon- de la figura 1-7@). Ih
cuadrados adyacentes se combinan en la tercera columna. Esta columna
pertenece tanto a B come a C y produce el término BC. Los dos cuadrados
restantes con unos en las dos esquinas del segundo rengldn son adyacentes
y pertenecen al mglbn A y a las dos columnas de C', asl que producen el
término AC'. La expresión algebraica simplificada para la M b n es el OR
de los das términ=
EL segundo ejemplo simPl%ca'la siguiente función booleam
Los cinco téminos mínimos están marcados con wios en los cuadrad-
correspondientes del mapa de tres variables que se muestra en la figura 1-9.
Lm cuatro cuadrados en la primera y cuarta columnas son adyacentes y
. representan el ténnino C'. Los cuadrados wtantes marcados con 1 prbme-
t v ~ ~ ~ * ~ r p i ~ ~ c l l i i . *
L 1 m** dul -c.- .A A,. A d d
L -
Figura 1 4 Mapa para F ( k B, C) = E (3. C 67).
b a w w
figura í-9 Mapa para F(A, 8. C) = Z (O, 2,4,5,6).
SCUdN 1-4 Simpliiicacióri por mapas 15
cen al término mhhor5 y pueden combinarse con ek cuadrado del término
.mínimo 4 para producir el ténnino AB'. ta funci6n simpmcada es
9 = C' + a''
El Wrcer ejemplo necesita 'un mapa de cuatro variables.
P(A, B. C, D) = Z (O. 1,2 6,8.9,10)
El 4, m el mapa cubierta por esta función de cuatro variables comiste de
las madrados marcados con unos en la figura 1-10. La funci6n contiene unoe
en las cuatro esquinas que, tomados como grupo, dan el t4rmUio B'D'. Esto
ee rpodble porque esto8 cuatro cuadrados m adyiteentes cuando el mapa se
consWera con las orillas superior e inferior, izquierdh y de& toedndose.
t o s dos unos a la izquierda dei renglon supmibr 8e combinan con los dos
unos a la izquierda de la hileta húwiar para que den el ténino B'C'. El 1
*stanh en el cuadrado del tremitto minitn~ 6 se combina con el término
mInimo 2 para dar el término A'CD'. ta funcidn simplificada es
F = BID' + B'C' + A'CD'
1 e r ~ a
4i -Y
~implif icaci6n de producto de sumas
Las &presiones booleanas derivadas de los mapas en los ejemplos anteriores
se expresaron en forma de suma de productos. Lrw h5rminos de productos
son tdrmincris con AND y la sumde116ta el 08 de estos términos. Algunas
veces es conveniente obtener f expresibn d@aira' para la función en una
forma de producto de suma. Las sumas son tbrminos OR y el producto
denata el' AND de estos términos. Con una rnodificacibn menor, la forma de
producto de sumas puede obtenerse de un mapa.
El prucdmiemto para obtener h exptesión He producto de sumas se
sigue, de Ias propiedades básicas del AIgebra bmlieafiaiL Los unos del mapa
Figura 1-10 Mapa para F(A, P,.G, D) = C (O, 1, & 6,8,9,10).
. C
representan los t h h o s minios que prcdueen 1 para la funci6n. Los
cuadrados no marcados con 1 representan los h r ú n o s mínimos que produ-
cen O para la funah. Si marcamos los cuadrados vacíos con cem~ y lo^
combinamos en grupos de cuadrados adyacentes, obtenemos el complemento
de la funcibn, F. Tornando el complemento de F' produce una expresibn
para F en la forma de producto de sumas, La mejor m e r a de mostrar mto
es con un ejemplo.
Queremos simplificar la siguiente función booleana tanto en la forma
de suma de productos como en la forma de produeto de sumas:
Los unos marcados en el mapa de h figura 1-11 representan los t4miinos
mhimm que producen unos paza la funcibh Los cuadrados marcados con
ceros repwentan ios términos mínimos no incluidos en F y por lo tanto
denotan el complemento de F. Combinando los cuadrados con unos nos da
la M 6 n simplificada en la forma de suma de productos:
F = B'D' + B'C' + A'C'D
Si los cuadrados marcados con ceros se combinan, como se muestra en el
diagrama, obtenemos la funci6n complementada simplificada:
a4 F' = AB + CD + BD'
- .
Toman& el. complemento de F', &tenemos la funci6n simplificada en la
hfrna de producto de sumas:
t "
F = (A' + B1)(C' + D1)(B' + DI
b . d i a g r a m 16@m de las dos expresiones simplificadas se muestran en
la f iwa 1-12, expresión de suma de productos se implanta en la figura
SMXI~N 1-4 S i m p m por mapas 17
-
a) Suma de 4- b) Roductm de suma
F = B'D' + B'C + A'C'D F = ( A ' + ~ ' ) (C'+D')V'+D)
!Figura 1-12 Diagrsmas Id@ c m compuertas AND y OR
1-12(a) con un grupo de compuertas AND, una para cada uno de: ios
términos AND. Las salidas de las compuertas AND se conectan a las
entradas de una compuerta OR iinica. La misma funci6n es implantada en
la figura 1-220 en la forma de producto de sumas con un grupo de
compuertas OR, una para cada uno de los b4miinos 0R. Las salidas de las
compuertas OR se conectan a las entradas de una compuerta AND Suiica.
En cada caso se supone que Ias variables de entrada están directamente
disponibles en su complemento, así que no se incluyen inversores. El patr6n
establecido en la figura 1-12 es la forma general por la cual cualquier
funci6n boofeana se implanta cuando se expresa en una de las fonnas
estándar. h s compuertas AND se conectan a una compuerta OR única
cuando están en la forma de la suma de productos; h s compuertas OR se
conectan a uaa compuerta AND única cuando esun en la forma de producto
de sumas.
Una expresión suma de productos puede implantarse con compuertas
NAND como se muestra en la figura 1-13(a). N6ke que la segunda com-
puerta NAND se dibuja con el símbolo grsfico de la figura 1-5(b}. Hay tres
Iíneas en el diagrama con &culos en ambos extremm, Los dos dyulos en
la misma lhea designan el doble complemento, y puesto que (x')' = x, los
dos círculos Pueden quitame y el diagrama resultante es equivalente al que
muestra en la figura 1-12(a), Anhlogamente, una expresidn de prcducta
de sumas puede implantarse con compuertas NOR como se muestra en la
figura 1-13(b). La segunda compuerta NOR se dibuja con el sfmbolo @fim
de k figura 1-4(b). Otra vez, los dos &culos a ambos ladm de cada h e a
pueden quitarse, y el diagrama asi obtenido es equivalmte al que se muestra
en la figura 1-12(b).Condiciones "no importai'
Los unos y ceros del mapa representan los téminos mínimos que h a m que
la funci.6n sea igual a 1 o O. Hay ocasiones donde no importa si la funci6n
produce un O o un 1 para un M i n o mínimo dado. Ya que la funci6n puede
~r un O o un 1, decimos que no nos importa cuál pueda ser la gatida de la
a) Con wmpuertas NAND
1F1
-., - - L X L . . L L - - 3- La=-- .--- A- m-&-
funci6n para este t4rmino mínimo. ios t h i n o s mínimos que pueden p m
ducy un O o un 1 para la funcibn se llaman condicianes "no U n p ~ k i " y se
marcan con una X en el mapa. Estas condiciones "no importan proporcionan
una simpljficición adicional de la expresihn algebraica.
"cuando se e w o p cuadrados adyacentes para la funcibn en el mapa,
puede suponerse que las X sean O 0 1, cualquiera que dé la expresibn más
simple. Además, la X no se necesita si no contribuye a la simplificaci6n de
la funcidn. En cada caso, la elección depende &lo de la simplifiación que
ejemplo, considerese la simiente funcidn b e a r i a
importa":
F(A, B, C) = (O,% 6 )
t éminos mínimos "no importa", enlistados con d prod&en un O o un 1 para
la funcibn. Los demás tkrmintw mhimos, 4 y 7, producen O para la funcibn.
El mapa se muestra en la figura 1-14. Las términos minimae de F se marcan
con unos, aquellos de d se marcan con X y los cuadrados restantes se
marcan ceros. Los unos y las X se componen en cualquier manera
práctica para incluir eI mayor número de cuadrados adyacentes. No es
Figura 1-14 Ejemp10 de mapa eon condicionen "no importam.
nwe'mm a
' incI& bdas a algana de las X, m q u e sf todos 1& m. Al
-,incluir los hr i inos mhimos "no-importa" 1 y 3 m los unos en el primer
> renglón obtenemos el término A'. El 1 restante para el término mínimo 6 m
combina con el término mínimo 2 para obtener el tdrmino BC'. La expresidn
simplificada es
i10 dbt m
F = A' + BC'
N&se que el término mlnimo ''no importa" 5 no se induy6 porque no
--m-contribuye a la simplificación de la expresibn, Nótese también que si los
-tenminos mínimos "no importa" 1 y 3 no hubiesen sido induidos con los
%os, la expresihn Bynplificada para F wL sido u
i Y"
F - A'C' + BC'
Esto requerida dos compuertas AND y una compuerta OR, en comparacibn
-cQn la expmibn obtenida previamente, que requiere d o una compuerta
AljD (Y) y una compuerta OR (O). ,, Lm. función se determina completamente una vez que las X se asignan
, el mapa a los unos o a los ceros. AsI la expreaibn
, -.A
representa la funci6n bookana - a
i d a
b ta eonsiste de los t4rmintis mínimo9 originales 0,2 y 6 y de los términos
&irnos "no importa" 1 y 3. El ,Wmho mhimo 5 no se incluye en la
M b n . Puesto que los thnhos m h h o s 1, 3 y 5 se espeeifiearon oomo
condiciones "no importa"!# hemos escogido ios términos m h h o s 1 y 3 para
producir un 1 y el término mCnima S para prcducic un O. Esto se escogi6
así porque esta a s i v i 6 n produce la exgmión booleana más simple.
A d b q b u t 8 ! d t b & P
- 2 5
1-5 Circuitos combinatorios *""*-
r- .cm
'Un circuito combinatorio es un arreglo de compuertas lógicas con un con-
m - d u n t o de entradas y salidas. En cualquier momento dado, los valores binarim
diagramu
de las salidas son una combinación binaria de las entradas. En la figura 1-15,
de bloqaw
se muestra un diagrama de bloques de un circuito combinatorio. Las n
'W --'--"
variables de entrada W r i a s vienen de una fuente extema, las m variables
~ l r d d e salida b i a s van a un destino externo, y entre éstas hay una interm-
-exihn de compuertas lógicas. Un circuito mmbirrato~o transforma la infor-
-
diseño
m variables
de d d a
Rgura 1-15 Diagrama de bloque con circuito comb'mbria
maci.h binaria de los datos de entrada dadm a los datos de salida requeri-
dos. Los circuitos combinatorios se emplean en las computadoras digitaks
pata generar decisiones de control bina* y para proporcionar los compo-
nentes digitales requeridos para el procesamiento de datos.
Uii circuito d inator io puede desctlbirse mediante una tabla de
verdad que muestre la relación buiaria entre las n variables de entrada y las
m variables de salida. La tabla de verdad enumera los valores biarios de
salida correspondientes a cada una de las 2' combinaciones de entrada. Un
v circuito combinatorio puede es- tambh con m funciones boolea-
~ G - M S , una pot cada variable de salida. Cada función de salida se expresa en
C términos de las n variables de entrada.
adl is ls El andlisis de un circuito combhatorio comienza con un diagrama de
circuito lgico determinado y cuImina con un conjunto de funciones boolea-
nas o una tabla de verdad. Si el circuito digitai va 'acompaiiado de una
explicacibn verbal de su funQ6n, las funciones booleanas o la tabla de
verdad es suficiente para la verificacibn. Si la funclbn del circuito eskl en
hvetigaci6n, es necesario interpretar la operación del hito a partir de las
funciones booleanas derivadas o de la tabla de verdad. El dxioo de tai
investigación se realiza si uno tiene experiencia y familiaridad con circuitos
digitales. La capacidad para correhcionar una tabla de verdad o un conjunto
d 4 y A de funciones hleanas con una brea de pmxwniento de infonaci6n es
d r a un arte que se adquiere con la experiencia.
El d k d o de &mito& combinatorios parte del planteamiento verbal del
problema y termina con iin diagrama de cirruito lbgiro. El procedimiento
comprende ha siguientes pasos:
1. Se establece e1 problema.
2 Se asignan símbolos literales (letras) a las variables de entrada y
salida.
3. Se deriva la tabla de verdad que define la relacidn entre entradas y
d a s .
4. Se obtienen. las funciones booleanas simplificadas para cada salida.
5. Se traza el diagrama 16gico.
A- - -
Para demostrar el M o de h c i m u b combinatorios presentarnos
dos ejemplos de circuitos atitm&ticos simples. Estos circuitos sirven como
b8s ic~~ de construcción para ciscuítos a r i t d b s más complicados.
+misumador
El circuito aritm6tico digital más simple es el de la suma de dos dígitos
binarios. Un circuito combinatorio que ejecuta la suma de dos bits se llama
un semisumadar. Uno que ejecuta la suma de tras bits (do6 bib ~ignificativoo
y el acarreo previo) se llama sumador completo o total. El nombre anterior
proviene del hecho de que se necesitan dos semk+ufnadores para implantar
un sumadoc completo.
Lis variables de entrada de un semisumador se llaman bits sumando
y c&umando. Las variables de salida se llaman suma y acarreo. Es nece-
sario especificar dos variables de salida porque la suma de 1 + 1 es el
binario 10, que tiene &S ¿@tos. Asignamos los shbolos x y y a las dos
variables de entrada y S (por suma) y C (para acarreo) a las dos variables
de salida. La tabla de verdad para el sernisumador se muestra en la figura
1-16(a). La salida C es O, a menos que ambas entradas sean 1. la salida S
C . representa el bit menos significativo de la suma. Lns funciones booleanas
9 & para las dos salidas pueden obtenerse directamente de la tabla de verdad:
**t a
1 & b & b - ~ S = x ' ~ + x ? / , ' = x ~
i . d d o i a h a b & d d d c = ~
o . 1 A -
El) diagrama lógico se muestra la figura 1-16@). Consiste de una com-
puerta XOR y una compuerta AND.
- .. aumaaor compiero io btau
El sumador compieto ea m circuito combinatorio que forma la suma aritm&
tiea de tres bits de entrada. Consiste de tres entradas y dos salidas. Dos de
las variables de entrada, denotadas con x y y, representan los dos bits
lid significativos a sumarse. ia tercera enkada, z, representa el acarreo de la
-icibn menos significativa previa. Las dos salidas son necesarias porque la
isuma aritmética de tres dígitos bhrios fluctilia entre O y 3 y el 2 o el 3 ,
binario, necesitan dos dígitos. Las dos salidas se designan por los simbolos '
S (por suma) y C (por acarreo). La variable binaria S da el valor del bit
. menos sign&cativo de la suma.La variable binaria C da el acarreo de salida.
La tabla de verdad para el sumador completo se muestra en Ia tabla 1-2. Los
- --- - -
Figura 1-36 Semisumador.
a) Tabla de verdad b)D+m+o
22 c&ITlLO UNO CtmJtos de lógica digital
TABLA 1-2 Tabia de wrdad pat.a sumad~.mmpieto
Entiadas Salidas
B:d . . .
d- rrvn 9d I!
&1' -&o renglones baja las variables de &bada deignan todas las posiñles
combinaciones que pueden tener las variables binarias. El valor de ias
vafiables $e aaiida s e determina de la suma aritmktiea de los bits de
entrada. Cuando todos los bits de entrada son 0, la salida S es igual
a 1 cuando sblo una entrada es igual a 1 o cuando las tres entradas
son iguales a 1. ¿La salida C tiene,un a- de 3. si dos o tres entradas son
igwles a 1.
Los mapas de la figura 1-17 sirven para encontrar las expresiona
algebraicas para las dos variables de salida. Zios unas en los cuadrados para
10s mapas de S y C se determinan dkedanwnte de los t&nninos mínimos en
-la tabla de verdad. Los cuadrados con unos para la salida S no e combinan
-a en grupos de cuadrados .adyacentes. Pero ya que la salida es 1 cuando un
4 -----número impar de entradas es 1, S es una función impar y representa la
Aci6n XOR de las,variabIes (véaae lo establecido al final de la s ~ d 6 n 1-21,
Lns cuadrados comunos para la salida C pueden combinarse en una varie-
dad de maneras. Una expresi6n posible para C
6Y
C = Ay + (x'y + q ' ) z
Pigun 1-17 Mps para semisumadbr.
DhQona cuenta de que x'y + xy' = x @ y o incluyendo la expresi6n para
la saiida S, obhernus las expresiones holeanas para eI sumador c o m p k
El diagrama 16gico del sumador completo se muestra en la figura 1-18.
N6tese que el circuito del sumador completo consta de dos semisumadores
y una compuerta OR Cuando lo usemos ,en los rapltulos subdguientes, el
sumador completo (FA) se designara por un diagrama de bloque como se
muestra en la *figura 1-18@).
Los circuitos digitales eonsideradus hasta aqyi han sido combinatorios, don-
de las 'salidas para cualquier tiempo dado son enteramente dependientes de
las entradas que estén presentes en ese tiempo. Aunque es probable que cada
sistema digital tenga un circuito combinatoh, la mayor parte de los sistemas
encontrados en la practica tambidn incluyen elementos de almacenamhto
que requieren que el sistema se describa en t&mhos de circuitos secuencia-
, les. El tipo más común de circuitos secuenciales es el tipo sínmno. Los
circuitos secuenciales stncronos emplean seiiales que afectan las elementos
I d
de almacenamiento s610 en instantes discretas de tiempo. La sincronizaci6n
se logra con Un dispositivo de tiempo llamado generador de pulso de reloj, - que produce un tren periodico de pulsos de reloj. Lus p u h de reloj a ' *
distribuyen i kavQ del sistema de manera P que los e1emenlor de alma-
=&- cenamiento se afectan s6lo con la llegada del pulso de iincmniraci6n. La a-d ' circuitos -endales shcronos con reloj son de los que m6s se emplean en
la prbctica, ya que raramente maüieptan problemas de inntabilidad y iu
temporizaci6n le dexompone f4cihente en pisos dSsmetos independientes, LL L -
cada iuio de los cuales puede considerarse separadamente.
cimrttos secuedale6 Las elementos de -hacenamiento ernpkadas en los circuitas semen- - mluj ciales con reloj se llaman flip-flopp. Un flipflop es una celda binaria capaz
de almacenar un bit de información. Tiene dos salidas, una para el valor
normal .y una para el valor complementario del bit almacenado en 41. Un
flipflop mantiene un estado binario hasta que es dirigido por un pulso de
reloj para que cambie de estado. La diferencia entre los diversos tipos de
fiipflops está en el número de entradas que posean y la manera en la cual
las entradas afeetan el estado Finario. Abajo se presentan los tipos mk
comunes de flipfbps.
'm
arzi -- m Flipflop SR m#
El símbolo grsfico del flipflob SR se muestra en la figura 1-19(a). Tiene tres +-
entradas, S (de inicio), R (reinicio o borrado) y C (para reloj). Tiene una
saIida Q, y a veces también tiene una salida compIernentada, la que se indica
con uh círculo en la otra terminal de salida. Hay un pequeiio triángulo
, - enfrente de la letra C, para designar una mtrada dimímica. El simbolo
indicador dinámico denota el hecho de que el flipflop responde a una
transid6n positiva (de O a 1) de la señal de reloj. ,
La operaci6n del flip-flop es como si'gue. Si no hay un señai en la
entrada de reloj C, la salida del circuito no puede cambiar independiente-
mente de cuáles sean Jw valores de las entradas S y R. S61a cuando la selial
de reloj cambia de O a 1 puede la salida afectarse de acuerdo con los vabres
de las entradas S y R. Si S = 1 y R = O cuando C cambia de O a 1, la salida
Q se inicia en 1. Si S = 10 y R = 1 cwiido C cambia de O a 1, la salida Q
se "reinicia" o barra en O. Si tanto S como R son O durante la transicih de
doj, la salida no cambia. Cuando tanto S como R wm Iguak a 1, la salida es
impdecihle y puede ser O o 1, ,dependiendo de los retrasos de tiempo
internos que ocurran dentro del circuito.
La tibla característica mostrada en Ia figura 1-190 resume la operacidn
del flipflop SR en forma tabular. Las columnas de S y R dan los valores
bimrios de las dos entradas. Q(t) es el estado binario de la d i d a Q en un
tiempo dado (referido como el estado Q(t + 1) es el estado binario
de la salida Q después de la ocurrencia de una transicibn de reloj (referida
como e1 estado siguiente). Si S = R = O, una transici6n de reloj no produce
un cambio de estado Iesto es, Q{t $ 1) = Q@]. Si S = O y R = 1, el flipflop
va al estado O (rwiicio). Si S = 1 y R = O, el flip-flop va d estado 1 {inicio}.
,d
Figura 3-19. mipfiop SR.
El fiipfeop SR no debe &ir puhs de reloj--do S = R = 1 ya que produce
un estado siguiente indekmimdo. Esta condicih indeterminada hace al
flipflop SR diflcü ¿e manejar y por 10 tanto. se usa rara vez en la practica.
Flip-flop D
El flip-flop D (datos) es una ligera modificaci6n del flipflop SR. Un flip-flop
SR se convierte a un flip-flop D insertando un inversor entre S y R y
asignando el símbolo D a la entrada única. La entrada D se muestra durante
la ocurrencia de una transici6n de reloj de O a 1. Si D = 1, la salida del
flipflop va a1 estado 1, pero si D = O, la salida del flip-flop va al estado O.
El simbolo gráfico y la tabla característica del flip-flop D se muestran
en la figura 1-20. De la tabla característica notamos que el siguiente estado
Q(t + 1) se determina de la entrada D. La relaci6n puede expresarse por
una ecuación característica:
Esto significa que la kalida Q del flip-flop recibe su valor de la entrada D
cada vez que la seííal de reloj pasa a través de una transición de O a 1.
Nótese que no existe una condicibn de entrada que deje el estado del
flip-flop D sin cambio. Aunque el flip-flop D tiene la ventaja de tener sólo
una entrada (excluyendo a C), tiene Ia desventaja de que su tabla caracteris-
tica no tiene una condición Q(f + 1) = Q(t) "sin cambio". La condici6n "sin
cambio" puede llevarse a cabo deshabilitando la seiial de reloj o retroalimen-
tando la salida en Ia entrada, de manera que los pulsos de reloj conserven
inalterado el estado del flip-flop.
Fiip-flop JK
Un flip-flop JK es un refinamiento del flip-flop SR en el sentido que la
condición indeterminada del tipo SR se define en el tipo JK. Las entradas J
y K se comportan como las entradas S y R para iniciar y reiniciar el fiip-flop,
respectivamente. Cuando las entradas J y K son ambas igual a 1, una transición
de reloj alterna las salidas del fliprfl~p a su estado complementario.
Figura 1-20 Flip-flop R.
Q ( t + 1)
Limpiar a O
Establecer en 1
b) Tabla c n m c t d s t k
La figura 1-21 muestra el simbolo g r á k y la tabla caracterlstica del
flipfbp IK. La entrada J es equiv.ei1mte a Ia entrada S (inicio} del flipflop
SR, y la entrada K es equivalente a la entrada 8 (reinicio). Enlugar de la
mndicih indeterminada, el flipflop JK tiene una ccmdici6n complementaria
Q(t 4- 1) = Q'(t) cuando tanto J como K son igual a 1.
np-flop T
otro tipo de f l i ~ bp que uentra en l* libros de texto es el fiipflop
T (de complemento, foggle). Este @p-flop, que se muestra en la f p r a 1-22,
se obtiene del tipo JK mando las entradas J y K se conectan para propor-
cionar una entrad'a $ica designada por T. El fiipfiop T, por lo tanto, tiene
sólo dos condicioms. Cuando T = O (/ = K = 0) una transicibn de reloj no
cambii el &tado del flip-ficp. Cuando T = 1 U = K = 1) una transici6n de
reloj complementa el estado del flip-flop. Estas condiciones pueden expresar-
se por una ecuacibn característica:
Flip-flqp disparado por el flanco
El tipo más común de flipflop que sirve para sincronizar eI cambio de
estado durante una transicidn de pulso de reloj es el flipfiop disparado por
e ! sin cambio
Limpiar en O
Ekkablecer en 1
CwnplemPniar
b) Tabla de cuaclerbtiws
Figura 1-21 Hip-fiop JK.
Figura 1-22 Flipflop T.
pulsasi, del nIoj
el borde. En este tipo de flip-flop, las transiciones de la salida m n a un
nivel específim del pulso de reloj. Cuando el nivel4 dd pulso de entrada
excede este nivel de umbral, las entradas se -en de manera que el fiip-flop
no responde a d i o s adicionales de las wtradas hasta que el pulso de
reloj regresa a O y m pulso. Algunos flipflop disparados por el
fianco tienen una transici6n en el flanco de bajada (transici6n de borde
positivo) y otras c a m una transici6n en el borde descendiente (transicibn
de flan& negativo).
La figura 1-23{al muestfa ia &tal del pulsa ae reloj en un flip-flop D
disparado por el borde positivo. üi valor en la entrada D ae transfiere a la
salida Q cuando d reloj hace una.tLansici6n positiva. La salida no puede
cambiar cuando .eI reloj esta en el niwl 1, en el nivel O o en una transición
del nivel 1 d nivel O. La transieibn de reloj positiva efectiva incluye un
tiempo mínimo llamado el tiempo de esfablecimimto, ,en el cual la entrada D
debe permanecer en un valor constante antes de la transición, y un tiempo
definido llamado tiempo. de retencidn, en el cual la entrada D no debe
cambiar despuCs de la transición positiva. La transicibn positiva efectiva es
pcir lo general una f r a d n muy pequeiIa del periodQ total del pulso de reloj.
Ls figura 1-23@) muestra d shbolo gr6fm correspondiente y el dia-
grama de tiempos para un fiip-flop D disparado por el flanco negativo. El
símbolo gráfico incluye un círculo de negaci6n e~rente de1 indicador dh8-
&o de La entrada C. Esbo denota comportamiento disparado por el borde
neptivo. En &e caso el flip-flop -nde a la t r d b n de Ia señal dd reloj
del nivel 1 al nivel O.
Figura 1-23 Flipflop activado por Flanco.
positiva
e) Fiiphp D activado por ibnoo positiva
de reloj
negativa
b) F l i p h p D activado por h-m negativo
f l fpf lo~ Otro tipo de fiipflop que se usa en algunos sistemas es el fiipflop
~mo*w~lawo amessclavo. Este tipo de circuito consta de dos flip-&s. El p h e m es el *" amo y responde al nhel p i t i v o del re14 el segundo es el d a v o y responde . al nivel fiiegativo del re1.q. Ei mdhdo es que la saiida cambia durante la
a trmsiciian de la h l del reloj de 1 a O. La tendenaa es alejarse del uso del fiip-flop mo-esclavo y acercarse a los flipflops disparados por el flanco.
im fiipflops disponibles en c h i t c s integrados proporcionarh a ve-
ces terminales de entrada para iniciar o borrat el fiipflop en forma asincró-
dca. Estas entradas por lo genaal se llaman preinicio (preset) y 'borrar
[clear) y dedan al fip-flop en el nivel negativo de la S-1 de entrada sin
necesidad de un pulso de reloj. Estas entradas son útiles para llevar los
fiipflops a un estado inicial antes de su operación cronornetrada.
TabIas de excitacibn
Las tablas caracteristicas de los flip-Aóps especifican el estado siguiente
cuando se con- las entradas y el estado presente. Durarrte el d M o de
los h i t o s secuenciales conocemos por 10 general h transición requerida
dei estado presente al estado siguiente quisidramos encontrar las eondicie
nes de entrada del flip-flop que causen la transición requerida. Por esta
raz6n necesibmos una tabla que enliste bs combinaciones de entrada reque
ridas para un cambio de estado dado: la tabla de excitaeih del flipflop.
Fa tabla 13 enlista las tablas de excita& para lm cuatro tipos de flipflop
Cada bbia consta de dos oolumnas, Q(t) y Q ( k i- 1) y wia columna para cada
entrada para mostrar cómo se alcanza la transici6n requerida. Hay cuatro
transiciones posibles del estado presente Q(t) al estado siguiente Q(t + 1).
TABLA 1-3 Tabla de excitación para cuatro Eiip-flopc
*OOP JK Flip-fiop T
Las con'diciones de entrada regueridas para cada una de estas transiciones
se derivan de la infonnaci6n disponible en las tablas caracteristias. El
shbolo X en las tablas representa una condicibn "no importa" esto es, no
tiene importancia si la entrada del flipflop es O o 1.
La r a h de las mndicim ''no importa" de las tablas de excitad6n es
que h y dos maneras de ilevar a cabo la trmicibn requerida. Por ejemplo,
en un flipflop JK, la transicien del estado p m b de O a lin estado
siguiente de O puede Uevarse a cabo haciendo que ha entradas J y K sean
iguales a O (para no obtener ningiln cambio) o dejando que J = O y K = 1
para barrar el flipflop (aunque ya até hrrado). En ambos m J debe sw O,
pera K S O en el primer caao y 1 en el segundo. Puesto que la transición
requerida -4 eri cuaiquier caso, marcamos la entrada K con una X "no
imporh" y dejamos que el a d o r +a O o 1 para la entrada K, o ea lo
d s conveniente.
1-7 Circuitos secuenciales
Un circuito secuencid es una interconexión de fiipfiops y compuertas. La
compuertas por si mismas constituyen un circuito mbinatorio, pero cuando
se incluyen junto con los flipfiops, e]. circuito completo se clasifica como un
circuito secuencial. 31 diagrama de blques de un circuito secuencia1 sincm
nizado por el d o j se muestra en la figura 1-24. Consiste en un circuito
combinatorio y un niimem de fíipfiops sincronízados por el reloj. En gene-
ral, puede incluirse cualquier n-ro de flip-flops. Como se muestra en el
A diagrama, el bloque del circuito combinatorio recibe seiíales binarias de las
entradas exkmas y de las salidas de los flipflops. las safidas del circuito
combinatorio van a las salidas externas y a las entradas de los flipflops. Las
compuertas en el a d t o combinatorio determinan el valor binario que va
a almacenarse en los fiipflops despubs de cada transicibn de reloj. Las
salidas de los fiipflops, a su vez, se aplican a las entradas del circuito
combinatorio y determinan el comportamiento del cjrcuita. Este p m
demuestra que las salidas externas de un circuito secuencia1 son funciones
tanto de las entradas externas como del estado presente de los flipfIops.
Adeds, el estada siguiente de Tos fipflops es también una funcidn del
~ t a d o presente y de las entradas externa As& un circuito secuencia1 se
Figura 1-2;P Diagrama de blque de un circuito s e d 1 &mono con reioj.
especifica por una secuencia de tiempos de hs entradas extemas, salidas
externas y estados b W o s de los flipflop intemm.
ni'm d d ~
IILtl+qa m
E-cuacionee de entrada de los fiip-flopp- - -
Un ejemplo de un circuito secuencia1 se muestra en la figura 1-25. Tiene una
variable de entrada x, una variable de salida y y dos flipflops D cronome-
trados. Las compuertas AND, compuertas OR y el inversor forman la parte
I&gica combinatoria del circuito. tfts intemonexiones entre las compuertas del
circuito eombinatorio pueden especiücam por un conjunto de expresiones
bleanas, La p m del circuito combinatorio que genera las entradas a los
fipflops ~e descrhn por medio de un conjunto de expresiones bmleanas
eeuaddn de entrada -das ecuaciones de entrada del flipfiop. Adoptamos la noma de usar
eI &bolo deentrada del fipflop para d,matar el nombre de la variable de
la ecuacidn de entrada y un subíndice para designar el slmbolo escogido
para la salida del flipflop. Así, en la figura 1-25, tenemos dos ecuaciones de
entrada) daignadas DA y ag. La primera letra de cada símbolo denota la
entrada D de un fiipflop D. La letra del subíndice es el nombre del símbolo
del f l ipfl~p. las eamcions de entrada son funciones booleanas para Ias
variables de entrada del flipflop y pueden deducirse por inspeeeidn del
circuito. Puesto que la salida de la compuerta OR se conecta a la entrada D
del flipflop A, escribimos la primera ecuación de entrada como
donde A y B son laa salidas de los dos flipfiops y x es la entrada externa.
La aegunda ecuaci6n de entrada se deriva de una compuerta AND tiniea
cuya salida se conecta a la entrada D del flip-flop B:
El circuito secuencia1 también tiene una salida externa, que es una
funcidn de la variable de entrada y el estado de los flipflops. Esta salida
puede especificarse algeb'raicammte por la expresión
y = A%' + Bx'
De este ejemplo notamos que la ecuaci6n de entrada del fiip-flop ea
.una expresibn booleana para un circuito combiitorio. La variable con
subíndice es d nombm de una variable binaria para la salida de un circuito
rombinatorio. E& salida siempre se coneda a la entrada de un flipflop.
Tabh de estado
El comfiorhmiento de un ciEcuita secuencia1 se detemina por sus entradas,
s p salidqs y el estado de los fiipfbps. Tanto las salidas como el estado
m siguiente mn funciones de las entradas y del estado presente. Un &mito
i ' secuencia1 se espeeifica pw una tabla de estado que relaciona las salidas y .
L los estados siguientes como una funci6n de las entradas y de los estados
u presentes. En circuitos menciales sincronizados por reloj, la transicidn del
estado presente al estado siguiente se aetiva por la presencia de una &al
de reloj.
ia tabla de estado paxa el circuito de la figura 1-25 se muestra en la
tabla 1-4. ta tabla consta de cuatro secciones, rotuladas estado presente,
en-, esfado siguiente y salida, La secci6n del estado presente muestra los
estados de los flip-flops A y B en cualquier tiempo t. La sección de entrada
estadd peseti k da un valor de x para cada estado p m t e posible. La seccibn de estado
edrido rigrrhte siguiente muestra los estados de los qflip-flaps un periodo de reloj despuk
a un tiempo f + 1. ta seccidn de salida da el valor de y para cada estado
presente y condición de entcada.
h derivacibn de una tabla de e6tado consiste en listar primero todas
las combinaciones bi ir ias posiiles del ahdo presente y las entradas. En
TABLA Tabla de atado para el c k d t o de la'figura 1-25
Esbdo &&do
,hi& Entrada siguiétite' Salida - - - -
A B x A B Y
este caso tenemos & combinadones binarias &l QOO al 111. Los valores
del estado siguiente se deducen entonces del diagrama lógico o de las
eeuacioqes de entrada. La ecuación de entrada para el flipfíop A es
1 valor del ~ t a d o siguiente de cada flipflop es igual a su valor de entrada
D en el estado presente, La transición del estado presente al estado siguiente
ocurre despuh de la aplicación de la sefial de reloj. Por lo tanto, el estado
siguiente de A es igual a 1 cuando el estado presente y los valom de
. . entrada satisfaen las condiciones Ax = 1 o Bx = 1, lo mal hace que DA sea
igual a 1. Esto ee muestra en lh tabla de estado con tres unas bajo la columna
para el estado siguiente de A. De manera similar, la ecuación de entrada
para el sflip-flop 33 es /
f Dg = A'x
El estado siguiente de B en Ia tabla de estado es igual a 1 cuando el estado
presente de A es O y la entrada x es igual a 1. ta columna de +dida se
deriva de la ecuacibn de salida
tabla de fstado La tabh de estado de cualquier circuitu 8ecuenciaI se obtiene por el
prmecihimb seguido en <este ejemplo. En generai, un circuito aeruencial
con m flip-fiops, n variables d e entrada y p .variables de salida conbendrg m
columnas para el estado p-te, n columnas para las entradas, m columnas
para e1 estado siguiente y p columnas para las salidas. Las columnas para el
mtado preente y las entradas se combinan y bajo btas listamos las 2'-
- -- combinaciones b i n d s de O a 2m" - 1. h s columnas del estado siguiente
y las salidas son funciones .del estado presente y de bs valores de entrada
b* y se derivan directamente del circuito o de las ecuaciones booleanas que
de- al circuita.
Diagrama de estado
La uiformaci6n disponiñle en una tabla de estado se puede representar
diaprna de estado grgficaniente en un diagcama de estado. En esk tipo de diagrama, el estado
se representa con un circulo y la transicibn entre estados se indica con lineas
. que conectan bs círculos. El diagrama de estado del circuito secuencia1 de
la figura 1-25 ae muestra en la figura 1-26. El. diagrama de etado propor-
ciona la misma infonnacidn que la tabla de estado y se obtiene directamente
de la tabla 1-4, EI número binario dentro de cada circulo identifica el estado
de les Gp-flops. Las líneas de conexión se rotulan con dos números binarios
separados por una diagonal. El valor de entrada durante el estado presente
se etiqueta primero y el número que s i p a la diagonal da la salida durante
el estado presente. Por ejemplo, la iínea que conecta del estado 00 al 01 se
rotula l/O, significando que cuando el circuito secuencia1 esa en el estado
presente 00 y la entrada es 1, la seilida es O. Despuds de una transici6n de
reloj, el circuito pasa al estado siguiente 01. La misma transición de reloj
puede cambiar el valor de entrada, Si la entrada cambia a O, la salida se
vuelve 1, pero si Ia entrada se queda en 1, la salida permanece en O. Esta
infoma&n se obtiene del diagrama de estado a lo largo de las dos líneas
que salen del circulo que representa el estado 01. Una línea que conecta a
un círculo consigo mismo indica que qo ocurre n b g h cambio de estado.
No hay diferencia entre la tabla de estado y el diagrama de estado,
excepto por la manera de presentación. La tabla de estado es mAs fácil de
obtenerse de un diagrama lbgico dado, y el diagrama de estado se deduce
directamente de la tabla de esfado. El diagrama de estado da una vista
gráfica de las transiciones de estado y es la forma adecuada para la inter-
pretación humana de1 funcionamiento de un circuito. Por ejemplo, el diagra-
Fimra 1-26 Diagrama de estado de un circuito eecuendal.
m de estado de la figura 1-26 muestra claramente que, partiendo del estado
M, la salida es O &tras la entrada perma-a en 1. La primera entrada
O después de una cadena de unos da una salida de 1 y transfiere el circuito
otra vez al estado inicial 00.
Ejemplo de diseño
El procabiento para diseñar circuitos secuenciales se demostrará con un
ejemplo específico. El procedimiento de disefio consiste en traducir pri-
mero las especificaciones del ci~cuito a un diagrama de estado. El diagra-
ma de estado se convierte entonces en una tabla de estado. De la tabla
de estado obtenemos la informacibn para conocer el diagrama del circuito
16gico.
Queremos disehr un circuito secuencia1 sincronizado por reloj que
pase a travds de una secuencia de estados binarioe repetidos 00, 01, 10, 11
cuando la entrada externa x sea igual a 1. E1 estado del circuito permanece
~olrtador &ario. sin s u d o x = O. Este tip de circuito se Urna contador binario de
2 bits porque la secuencia de estado es idéntica a la secuencia de m e n t o
de dos dígitrrs binarios. La entrada x es la variable de control que especifica
cuándo debe proceder el recuento.
EI contador bbinario necesita dos flip-flops para representar los dos bits.
El diagrama de estado para el circuito secuencia1 se muestra en la figura
1.27. E1 diagrama k dibuja para mostrar que los estados del circuito siguen
el recuento binario con tal de que x = 1. El estado siguiente de 11 es 00, el
cual causa8 que el recuento se repita. Si x = O, el estado del circuitopermanece sin cambio. Este circuito wencial no tiene salidas externas y
por lo tanto 6610 el valor de la entrada se etiqueta en el diagrama, El estado
de los flip-flops se cbnsidera como la salida del contador.
Figura 1-27 Diagrama de estado para contador bimrio.
. W 1 H , r Ya hemos asignado el simbolo x a la variable de entrada. Ahora ,*F@ asignamos los simbolos A y B a las salidas de los dos flip-flops. El estado 9 -- siguiente de A y B, como función del &ado p m t e y de la entrada x,
~4 puede transferirse del diagrama de estado a la tabla de estado. Las primeras
cinco columnas de la tabla 1-5 constituyen la tabla de estado. I;as entradas
de asta tabla se obtienen directamente del diagrama de estada.
tabla de ewrritacidn La tabla de excitad611 del circuito aecuencial ea una extensi6n de la
tabla de estado. Esta extensión consta de una lista de excitaciones de entrada
de los flipflops que causen las transiciones de estado requeridas. Las con-
diaones de entrada de los flipflops son función del tipo de flip-flop usado.
3 empleamos flip-flops JK, necesitarno5 columnas para las entradas J y K de
cada flipflop. Las entradas de flip-flop A se designan por JA y KA y del
flipflop B p r JB y Kg.
La tabla de exeitaci6n para el flip- flop JK especificado en la tabla 1 3
se usa ahora para obtener la tabla de excitación del circuito secuencial. Por
ejemplo, en el primer rengión de Ia tabla 1-5 tenemos una Iransicibn del
fiipflop A de O en el estado presente a O en el estado siguiente. En la tabla
1-3 encontramos que una transici6n de estados de Q(t) = O a Q(t + 1) = O
en un flipflop JK requiere contar con la entrada J = O y la entrada K = X.
Así O y X se copian en el primer rengl6n bajo JA y Kk respectivamente. Ya
que el primer renglhn tambibn muestra una transici6n del flipfiop B de O
en el estado presente a O en el estado siguiente, se copian O y X en la
primera hilera bajo JB y Kg. El segundo renglbn de lajtabla 1-5 muestra una
transición para el fiip fiop B de O en el estado presente a 1 en el estado
siguiente. De la tabh 1-3 encontramos que una transicidn de Q(t) = O a
Q(t + 1) = 1 requiere contar con la entrada J = 1 y la entrada K = X. Asl
1 y X se copian en el segundo renglbn bajo JB y Kg, respectivamente. Este
proceso se cunhtía para cada rengl6n de la tabla y para cada flip-flop, con
las condiciones de entrada que se especifican en la tabla 1 3 copiadas en el
renglbn apropiado del flipflop particdar que se considera.
TABLA 1-5 Tabla de dtaci6n para mnbdor b a r i o
Estado üstado Enlradas
acaial Entrada d m t e de fipfbp - - -
A B x A B JA h JB KB
Analicemos ahora ia informach disponible en Ia tabla de excitaci6n
como en Ia tabla 1-5. Sabemos que un circuito secuencial consiste en un
número de fiipflops y un circuito combinatorio. Del diagrama de bloques
de la figura 1-24, notamos que las salidas del circuito cqmbinatorio deben ir
a ias cuatro entradas Jh Kh JB y &. las entradas al circuito combinatoriu
son la entrada externa x y los valores de estado presente de los fiipflops A
y B. Además, la función booleana que especifm un circuito combinatorío se
deriva de Ia tabla de verdad que muestra la reiacihn entre entrada y salida
del' circuito. Lns partidas que enlistan ias entradas del circuito combinaborio
se especEcan bajo he alumnas de "estado8 presente" y "entrada" en la tabla
de excitaci6n. Las salidas del circuito combinatorio se especifican bajo las
columnas de "entrada del flip-flop". A& UM tabla de excitacibn transforma
un diagrama de estado en una tabla de verdad necesaria para e1 disefío de
la parte del circuito mbinatorio del circuito sxuencial.
Así, pueden obtenerse ahora las funciones booleanas simplificadas para
el circuito combinatoria. lias entradas son las variables A, B y x. Las salidas
son las variables Jh Kk JB y &. La in fomcih de la tabla de excitación se
transfiere a los mapas? de la figura 1-28, de donde se derivan las cuatro
entradas de fiip-flop simplificadas:
Ei diagrama l&&o se dibuja en la figura 1-29 y mmta de dos flipfhps JK
y una compuerta (Y). Nbtese que las'entradas y K deteminan el
siguiente estado del contador cuando ocurre la &al de reloj. Si tanto J como
K son igual a 0, una S-1 de reloj no tiene efecto, esto es, el estado del
flip-flop no cambia. Así, cuando x = O, las cuatro entradas de los fipflops
son iguales a O y el estado de los flipflops permanece sin cambio aun
cuando se apliquen continuamente los puisoei de reloj.
Procedimiento de disefio
El diseiilo de los circuitos secuenciales sigue el outline descrito en el ejemplo
anterior. Ei comportamiento del circuito se formula primero en un diagrama
de estado. El número de flipflops necesarias para el circuito se dete&
por la cantidad de bits listados dentro de los &culos del diagrama de estado.
H nhero de entradas para el circuito se especifica a lo largo de las h a s
dirigidas entre los círculos. Asignamos entonces letras para d-ignar todos
los flipflops y las variables de entrada y salida, y procedemos a obtener la
tabla de estado.
Para m flipaops y n entradas, la tabla de estado consistirá en m
columnas para el -do p-k, n columnas para las entradas y m columnas
para el estado siguiente. El número de renglones en la tabla ser& hasta
de 2"+", un renglh para cada una de las combinaciones binarias del estado
B eau *-, B m' m~".{;m md
I X X - - i:w, x
*amy
. 1-iY KB = x
Figura 1-28 Mapas para circuita wmbinatorio de ytador .
-1
bu iiim
r W m . .
% ' - ' Y Q A
ir
a JL-
.-í1
J Q - B
4->C
B
k w -
Figura 1-29 Diagrama 16gioo de un contador b i i o de 2 bits.
m .- .
presente y las entradas. Para cada renglón Iistamos el siguiente estado como
se espeeifrca por el diagrama de estado. En seguida, se m g e el tipo de
fip-flop que vaya a usarse en el circuito. La tabla de estado se extiende
entonces a la tabla de excitaci6n incluyendo las columnas para cada entrada
de cada flipflop. ta tabla de excitacidn para el tipo de flipffop en activo
puede encontrarse en la tabla 1-3. De la información disponible en esta tabla
e inspeccionando las transiciones del estado presente al estado siguiente en
la tabla de estados, obtenemos la eminf~maci6n para hs condiciones de entra-
da de los flip-flops en la tabla de excitación.
La tabla de verdad para la parte del circuito combinatorio del circuito
secuencia1 estA disponible en la tabh de excitacidn. Las columnas de estado
presente y entrada constituyen las entradas de la tabla de verdad. Mediante
la simplificación por mapas obbern~s un conjunto de ecuaciones de entrada
de los flipflops para el circuito combinatono. Cada ecuaci6n de entrada de
flip-flop especifica un diasama lógico cuya salida debe conectarse a una de
kc entradas del flip-nop. El circuito combinatorio obtenida de esta manera,
junto con los flip-flops, constituye el circuito secuencial.
tas salidas de los flipflops se consideran a menudo como partes de
las salidas del circuito secuenciaI. Sin embargo, el circuito combinatorio
también puede contener salidas externas. En tal caso, las funciones booleanas
para las salidas extemas se obtienen de la tabla de estado mediante las
técnicas del disefío del circuito combinatorio.
Un conjunto de maciones de entrada de los flip-flops especifica un
circuito secuencid en forma algebraica. El procedimiento para obtener el
diagrama Mgico del conjunto de ecuaciones de entrada de los flip-flops es
un proceso directo. Primero dibuje los flip-flops y rotule todas sus entradas
y salidas. Entonces dbuje el circuito combinatorio de las expresiones boolea-
nas dadas en las ecuaciones de entrada de los flipflops. Finalmente, con-
las salidas de los flip-flops a las entradas del circuito combinatorio y las
salidas del c i d t o combinatorio a las entradas de los flipflops.
1-1. Determine por medio de una tabla de verdad la validez del teorema de
DeMorgom para tres variables: (ABC)' = A' + B ' + C'.
1-2 Liste latabla de verdad de una funcibn XOR (impar) de tres variables:
x = A 6 B @ C .
1-3. Simplifique las siguientes expresiones usando Algebra holeana.
a. A +AB
b. AB + AB'
c. A'BC + AC
d. A'B + ABC' + ABC
14 Simplifique las siguientes expresiones usando &lgebra booleana:
a. AB + A(CD + CD')
b. (BC' .t A'D) (AB' + CD')
1-5. Siguiendo el teorema de DeMorpn, muestre que:
a. (A + B)'(A' + 8')' = O
b. A + A'B + A'B' = 1
1 4 Dada Ia expresibn booleana F = x'y + ryz':
a Obtenga una expresión algebraica para el complemento F.
b. Muesb que F m F' = 0.
e. Muestre que F + F' = 1.
Dada la funci6n booleana
F = xy'z + x'y'z + xy
a Wte la tabla de verdad para la W n .
b. Dibuje un diagrama 16gico por medio de la expresi6n booleana
original.
C. Simplifique la expmsi6n al@raia mediante el hlgebra booleaila.
d Enliste la tabla de verdad de la funci6n obtenida de la expresi6n
simplificada y muwtre que es h misma que la tabla de verdad en la
parte (al-
e. ~~undiagrama16gicodela~6n~plificadayeomparedn~~0
total de compuertas con el diagrama de la parte @).
1-6. Simplifique las siguientes funciones h l e a n a s mediante mapas de tres
variables.
a. F(x,y,z) = 2 (0,1,5,7)
b. F(x, y, z) = (1,2,3,6,7)
c, F(x,y , z ) = 2 (3,5,6,7)
d. F { A , B , C ) = S ( 0 , 2 , 3 , 4 . 6 )
19. Simplifique las siguientes funciones bleanas por medio de mapas de
cuatro variables.
a. F(A, B, C, DI = 2 (4,6,7,15)
b. F(A, 3, C, O) = (3,7,11,13,1& 15)
e. F(A, B , C , D) = 2 (0,1,2,4,5,7,11,15)
d. F(A,B,C,D)=~(O,2,4,5,6,7,8,10,13,15)
1-10. Simplifique la~sigui&ntes exprwiones en (1) forma de suma de productos y
en @) £0- de producto de sumas.
s. x'z' + y'z' + yz' + xy
b. AC' + B'D 1- A'CD + ABCD
1-11. Simplifique las siguientes funciones booleanas en hnna de suma de produc-
tos por medio de un mapa de cuatro variables. Dibuje el diagrama lbgiw
con (a) compuerh ANDOR; @) compuertas NANX).
F(A, B , C, D) = 2 (0,2,8,9,10,11,14,15)
1-12. Simplifique las siguientes funciones booleanas en la forma de producto de
sumas por medio de un mapa de cuatro variables. Dibuje el diagrama lógico
con (a) compuertas OR-AND; @) compuwtas NOR.
----a 4 &A
F(w,x,y,z) = 2 (2,3,4,5,6,7,11,14,15)
- 3 gimPG4ue M b n booleana F junto con las condiQones "no importa" d
en (1) forma de suma de productos y en (2) forma de pioduch de sumas.
1-14. Según la tabla 1-2, deduzca la expresi6n h l e a n a para la salida S (suma) de
un sumador completo en forma de suma de productos. Luego, por una
operacibn algebraica, muestre que S puede expresarse como el XOR de tres
variables de enbada.
1-15, Una función de mayoría se genera en un circuito combinatorio cuando la
d i d a es igual a 1 si las variables timen más unos que ceros. De otra manera
la salida es O. Diseñe una funY6n de mayorfa con tres entradas.
1-16. DiseAe un circuito combinatorio con tres entradas x, y y r y las tres salidas
A, B y C. Cuando la entrada binaria sea 4,5,6 o 7 la salida binaria es uno
menos que la entrada.
1-17. Muestre que un flip'flop JK puede eonve~rse a un flip-flop D con un
inversor entre las entradaa 1 y K. 1 -
1-18. Usando la informaci6n de la tabla característica del flip-fiop JK enlistada en
la figura 1-21(b), deduzca la tabla de exdtaa6n para el flipflop JK y compare
su respuesta con la tabla 1-3.
1-19. Un circuito secuencial tiene dos flip-flop D: A y E; dos entradas: x y y, y una
salida z. Las ecuaciones de entrada de los flip-flops y la salida del circuito
son como sigue: S .M
M DA =x f l l +XA
i ) l s (B. = r f B + x A
,M , t ! , t i T . Q # am
z = B
d l i k @ > C * i Y -iH
a. Dibuje el diagrama ldgico del circuito.
b. Tabule la tabla de estadm. m
1-20. D M í e un cantador d-dente de-dos bits. Este e~ un circuito secuencia1
con dos flipflop y una enhada x. Cuando x = O, el estado de los fiip-flops
no cambia. Cuando a = 1, L -en& de estado es 11, 10, 01, 00, 11 y
fepetici6n.
.I-n. oidm-db-~&dcmdosBipflopsJK:AyB;ydosentrridas:E
-m m y X. Si E = O, el circuito permanece en el mismo estado a de1 valor de
m u a x. Cuando E = 1 y x = 1, el circuito pasa a havk de transiciones de estado de M1 a 01 a 10 a 11 y de vuelta a 00, y repeticián. Cuando E = I y x = O, el sl circuito pasa a havh de transicion,es de W a 11 s 10 a 01 y de vuelta a 00, y d m W -epetiC;6n.
Referencias 41
1. Hiii, F. J., y G. R. Petermn, Intrwluction to Switdring Tkory nnd Logical Desi . , terma
edici6n. Nueva York: John Wiley, 1981.
2. hilano, M. M,, DigitaI h i g n , s e p d a edici6n, Eriglewood Cliffs, NJ: Prentice Hall,
1991.
3. Roth, C. H., FundamtaIc oJ Lo@ Design, tercera edid6n, St. Paul, MN: West
Publishing. 1985.
4. Sandige, R S,, Mdm Digifef Decign, Nueva Y o k MeGraw-Hill, 1990.
5. Shiva, S. G,, lntroduetim fo Logic Design, Glenview, k Scoft, Foresman, 1988.
6. Wakerly, J. F., Digitnl Design Principlec and P r a c t b , Englewood Cliffs, NJ: h t i c e
Hall, 1990.
7. Ward, S. A , y R.H. Haistead, Jr., CmnpuiutOon Sttuctures. Cambridge, MA: M T h ,
1m.
EN ESTE cAP~TULO
2-1 C k c u h integrados
2-2 Deeodificadores
2-3 ~ulfíplexores
2 4 Registros
2-5 Re&- de eorfifFliento
2-6 Cmtadores binarios
2-7 Unidad de memoria
2-1 Circuitos integrados
Los circuitos digittaies se construyen con cikuitos integrados. Un circuito
intqpdo (abreviado CI) es un pequefio cristal de silicio semiconductor,
liamado m ~ ~ ' t o , que contiene im componentes electrónicos para las
compuertas digitdes. Las diversas compuertas se conectan dentro del micro-
circuito para formar los circuitos requeridos. El microcircuito ce monta en
un encapsulado de cerhica o de pldstico y las conexiones se sueMan con
finos alambres de oro. a terminales externas para formar el circuito integrado.
Ei número de h i n a l e s puede fluctuar de 14 en un encapsulado pequeiio
de Q hasta 100 o más en m encapsulado mayor. Cada CI tiene una
designad611 numérica i m p m en la superficie del paquete, para su identifi-
caci6n. Cada proveedor publica un manual de d a b o un catálogo con la
descripcibn exacta y la informacibn necesaria acerca de los circuitos integra-
dos que fabrica.
Conforme la tecnología de Ios circuitos inwgrados va mejorando, el
número de compuertas que pueden fabricarae en un solo rnicrocircuito ha
aumentado consideqablemente, La diferenciación entre los micmcircuitos que
tienen ' m a s cuanlas compuertas internas y aquellm que tienen cientos o
- . - - miles de dhs se ham con una ~efe fmh pwstablh,da para d i i t i vos de
m ' -: inte@aci6n a pequeña, mediana y gran e s c h .
SSI - f' b s dispositivos de infsgracidtt m e#& peque% (SSI, small-scale infe-
gratiarr) contienen distintas compuertas independientes en un solo encapsu-
lado. Las entraelas y salidas de las compuertas se conectan directamente a
las terminales $el encapsulado. Por lo peral , el número de compuertas es
MSZ
h
M
LB'
menor que ID y <se de tenninales dispo&les en el
circuito integkddo.
los dispositivo scala d i a n a (MSI, medium-sale
integra&#) timen de 10 a 200 compuertas en un solo encapsulado. Suelen
ejecutar funciones digitales elementales q d c a s como ocurre con los d e
codificadores, los sumadores y los registros.
Los dispositivüs de integracm m escala gran& (LSI, large-sude infegra-
tim) contienen entre 200 y unos cuantos d e s de compuertas en un solo
encapsulado. Estos inciuyen sistemas digitales, como procesadores, circuitos
de memoria y m6dd~s programables.
Los dispositivos de integra& m escala muy grande (VLSI, my-large-
sa le intepfion) contienen miles de compuertas en un sol^ encapsulado. Los
ejempl? son las matrices de memoria grande6 y los circuitcs integrados para
mici~~omputadma complejos. Debido a su pequeiío W o y su baja costo,
los dispositivos VLSI han revolucionado la tecnología del diseno para s i s e
mas de computadora, dando a los diseiiadores la capacidad de crear estruc-
turas que no eran tan econhicas anteriormente.tos circuitos integrados digitales se clasifican no &lo por su funciona-
miento I6gic0, sino también por la tecnologfa de circuitos a la que pertere
cen. La tecnoIogía de circuitos se conoce como fumilia Idgim digital. Cada
familia lógica tiene su d i o circuito eleckóriico bdsico sobre el que se
dXseÍían circuitos dietales y funciones m8s complejas. El circuito básico de
cada tecnología es una compuerta NAND, NOR o NOT. LQS componwites
eleck6nicos que se emplean en la rmtmcei6n dd circuito b4sico sirven de
yl% o d h a d o para ciar nombre a l tecnologia: Muchas familias 16gicas diferentes
de h i t o s integrados 'se han introducido comercialmente. Las siguientes
son las más populares.
TTL Ldgica de transistor 'transistor Aioml
ECL Ldgica de emisor acoplado
' a BI
k d.
MOS. Metal 6xido semiconductor metáiico
CMOS Metal &ido hiemiconductor complementario
P-
d k .m- *.A
La familia lógica 'iTL ai la mb popular y Sr funcionado muchos a-
y se considera como norma; la fmüh ECL tiene ventajas en sistemas que
requieren fumb~miento de aIta velocidad; la familia MOC es apropiada
para circuitos que necesitan una alta densidad de componenb, y la familia
CMOS es preferible en sistemas que r6qfiikren bajo consuma de e n e .
ECL
La familia 1-a tran~istor-transistor (7TL} fue una evulucibn de una
bmmlogía previa con base en diodos y transistores para, la compuerta básica
NAND. Esta tecnología se llamaba IiTL (diodetransistor logic), o sea, "1-a
de di&transiskir".
Posteriormente los didos fueron =plaza& por hnsistors para me-
jorar el funhmdento del chi to , p r lo que el nombre de la familia Idgica
se cambi6 a '1ágica transistor-tmnsistoi'. Hay divems variaciones de la familia
además de la T T L ~~tándar, como la TTL de alta velocidad, la TTL de baja
potencia, la TTL Schottky, la TTL Schotkky de baja potencia, y la TT L Schorcky
a v m & i . El voltaje de la fuente de alimentaci6n para los circuitos 'ITL es
de 5 voltios y Tos dos niveles I6ghs m aproximadamente de O y 3.5 voltios.
La familia ihgica de emisor acoplado (ECL) proporciona los h i t o s
dital- de más alta v e l d d en forma integrada. ta ECL se aplica en
sistemas como supercomputadoras y procesadores de seiiales donde es esen-
cial la alta velocidad. Los transistores de Ias compuertas ECL funcionan en
un estado no saturado, condicibn que p d f e alcanzar retrasos de propaga-
u611 de 1 a 2 nanosegmdos.
E1 trar.sistor metal dxido semiconductor (MOS) es unipolar ya que
depende del flujo de un solo tipo de portador, como electrones (canal n) o
huecos (canal p). Esto estA en contraste con el transistor bipolar de las
compuertas TTL y ECL, donde ambos portadores existen durante el funcio-
namiento normal. Al MOS de canal p se le conoce como PMOS y al de canal
n como NMOS. NMOS es el que se usa c o m h e n t e en circuitos con un
solo tipo de transistor M-. ta tecnologia del MOC complementario (CM06)
tiene transistores PMOS y NMOC conectados de modo complementario en
todos los circuitos. Las ventajas más importantes de Ios CMOS sobre los
bipolares son la alta densidad de integrad611 de los circuitos, una técnica de
pmcesamien~ mas simple durante la fabricacidn y un funcionamiento más
econ6mico debido a su consumo de energía más bajo.
Por sus muehas ventajas, los circuitos integrados sirven exclusivamente
para proporcionar los diversos componentes digitales necesarios en el diseiio
de los sistemas de computadora. Para entender la organizaci6n y el diseino
de las computadoras digitales, es muy importante familiarizarse con 1m
diversos componen- encontra& en los circuitos integrados. Por esta ra-
zbn, los componentes mas basicos se introducen en este capitulo con una
explicación de sus propiedades 16gicas. Fstos componenb proporcionan un
cat41ogo de unidades funcionales, digitales y elementales empleadas común-
mente como bloques básicos de construcci6n en el diseño de computadoras
digíWes.
2-2 Decodif icadores
Las cantidades discretas de informaci6n se representan en las computadoras
digitales con chdigm birios. Un d i g o binario de n bits es capaz de
46: m Componentes ditales -. . .
repmxnhr hasta 2' elementos distintos de informaci6n codificada. Un dece
dificador de un circuito combinaborio que convierte la informaci6n b i a
de las n entradas d ~ d a s a un máximo de 2F salidas únicas Si la informa-
ci6n codificada en n bits tiene combinaciones de bits no usada, el decodifi-
cador puede tener menas de 2' salidas.
h decodificadores p~esentadmen esta secci6n se llaman d d i f i c a -
do= de n a m heas, donde m 5 T. Su pmpósitii es generar 2' (o menos)
cumbinaciones binarha de las n variabIes deentrada. Un decodificador tiene
n entradas y m salidas y tambi& se le denomina un dedifiador de n X m.
En la figura 2.1 se muestra el diagrama 16gim de un d d i i c a d o r de
3 a 8 líneas. Las k s entradas de datos Aw Al y A2 se d e ~ o d ~ c a n en ocho
saiiddas, 'en las lque cada una repmsgta una de las combinaciones de las tres
variables binarias de entrada. los tres inversores proporcionan el comple
mento de he entradas y cada una de las ocho compuwtas AND, genera una
de las combinaciones binads. Una aplicari6n particular de este d d i f i c a -
do? & la conwrsidn de binario a mbl. LAS variables de entrada representan
un número binario, y las saiidas, los &O digitos del sistema numhrico octal.
Sin embargo, uii decodifimder de 3 a 8 líneas puede decdificar cuaIquier
e6digo de 3 bits para proporcionar ocho salidas, una para cada combinaci6n
A e l código binano
entrada de Las decodificadores comerciales inc1uyen una o m2is entradas de habi-
habititac fiín litaci6n para controlar el funcionamiento del circuito. El decodificador de la
figura 2-1 tiene una entrada de habilitacihn, E. Ei dedficador se activa o
se habilita cuando E es i d a 1 y se desactiva cuando E es igual a O.
El funcionamiento del decodificador puede aclararse por medio de la
tabla de verdad listada en la tabla 2-1. Cuando la entrada de habilitad611 E
es igud a O, todas las salidas son iguales a 0, a pesar de los valores de las
otras tres entradas de datos. Las X de la tabla designan las condiciones
"no importatt. Cuando la entrada de habilitaci6n es igual a 1, el decdicador
funciona en forma normal. Para cada c o m b i c i h de entradas p ibIe , hay
siete salidas que s o n igual a O y &lo una igual a 1. La variable de salida
cuyo valor es igual a 1 representa al número octal equivalente al número
binatio que está disponible en las lheas de datos de entrada.
TABLA 2-1 Tabla de verdad para el d d i f i c e d o r 3 a 8 líneas
- .. - - - . . . . - - .
Uabifitaaón , Fmtradas Salidas
-!?Av- - - -1 .
_. - ( 8 .
Decodificador de compuerta NAND I * ' .,
A l p o s decodificadores. se construyen con compuertas NAND en lugar de
AN'D. Ya que una compuerta NAND produce la operad611 AND con una
salida invertida, resulta más económico generar las salidas del decodificador
en su forma complementada. En la figura 2-2 se muestra un decodifi-
cador de 2 a 4 líneas con una entrada de habilitación construida con compuertas
UAND. El circuito funciona con salidas complementadas y una entrada de
habiiitacibn E complementada. El ddif icador se habilita o activa cuando
E B igual a O. Como se indica en la tabla de verdad, d o una salida es igual
a O en cualquier momento; las otras tres saIidas son iguales a 1. In salida
cuyo valor es igual a O representa el niimero binario equivalente en las
entradas Al y A& E1 circuito se desactiva cuando E es igual a 1, a pesar de
las valores de las otras dos entradas. Cuando el circuito se desactiva, ningu-
b) Tabla de verdad
Figura 2-2 Decodicador de 2 a 4 heas m compuertas NAND,
na de las salidas se selecciona y todas las salidas son iguales a 1. l3n general
un decodificador puede funcionar con salidas complementadas o sin comple-
mentar. La entrada de habilitaci6n puede activarse can un nivel de señalO o
con 1. Algunos d d c a d o r e s tienen dos o más entradas de habilitaci6n que
deben miisfacer una condición 16gica dada para habilitar el circuito.
Expansión del decodificador
Hay ocasiones en que se necesita un decodificador de cierto tamaño, pero
d o están disponibles los más pequeiios. Cuando esto ocurre es posible
combinar dos o más decodificadores con entradas de habilitaci6n para for-
mar un decodificador mayor. Así, si se necesita un decodificador de 6 a 64
heas, es posible construirlo con cuatro decodificadores de 4 a 16 líneas.
La figura 2-3 muestra cómo los decodificadores con entradas de habi-
litacibn pueden conectarse para formar un decodificador mayor. Dos dem-
dificadores de 2 a 4 líneas se combinan para Iograr un decodificador de 3 a
8 heas. Los dos bits menos significativos se conectan a ambos decodifica-
dores. El bit mEis significativo se conecta a la entra& de habilitaci6n de un
decodificador y a través de un inversor a la entrada de habilitacidn del
otro decodificador. Se supone que cada dmdificador se habilita cuando su
entrada E es igual a 1. Cuando E es @ai a O, el decodiicador se deshabilita
y todas sus salidas atdn en d nivel 0. Cuando A2 = O, el deeodicador superior
se habilita y el inferior se desactiva. Las salidas del decodificador inferior
se vuelven inactivas con todas las salidas en O. Las salidas del decodifi-
cador superior generan las salidas de la Do a la Dy dependiendo de los
valores de Al y A. (cuando Aa = O). Cuando Ap = 1, el decodificador
inferior se habilita y el su- se d&abilita. La salida del dedíñcador inferior
genera los equivalentes birios D4 al D7, ya que estos números binarios
tienen un 1 en la posición AZ. ~d
Figura 2.3 Demdificador 3 X 8 construido con dos d d f h d o ~ 2 X da
El ejemplo demuestra la utilidad de ia entrada de habilitaci6n de los
decodificadares o de cualquier otro componente lógico combinatario. Las
entradas de habilitación wn una caracterlstica práctica para intemnedar dos
o m8s circuitos con el propósito de ampiiar el componente digital para una
funci6n similar, pero con m6s entradas y salidas.
Codificadores
Un codlficador es un c h i t o &@tal que ejecuta Ia operacidn inversa de un
demdificador. Un codificador tiene 2" (o menos) heas de entrada y n Iheas
de salida. Las heas de salida gmeran un c6digo binario correspondiente al
valor de entrada binario. Un ejemplo de un codificador es el eodificador de
octal a binario, cuya tabla de verdad se da en la tabla 2-2. Tiene ocho
erttradas, una para cada digito &al, y tres salidas que generan el número
binario comspondienk Se supone que sólo una entrada tiene un valor de
1 en cualquier momento; de otra m e r a , el circuito no tiene significado.
El codificado? puede implantarse con compuertas OR (O) cuyas entra-
das se determinan directamente de la tabla de verdad. h salida es A. = 1
' el dfgito oml de entrada es 1 o 3 o 5 o 7. Condiciones similares se aplican
las otras dos salidas. Estas condiciones pueden expresarse por las siguien-
tes funciones booleanas:
- m - .- A,= D, i- D,+ D,+ D,
i s ~ r& A,= D, + D,+ D64- D,
e * r e
El edificador puede implantarse con tFes compuertas OK.
TABLA 2-2 Tabla de d a d paia codificador oetai a bmario
Entradas Salidas
n7 De Ds D4 4 Dz Di Do A2 Ai AO
muitipkor Un multiplexor es un circuito combinatorio 'que recibe informaci6n binaria
de una de 2" líneas de da- de entrada y la dirige a una h a de saiida
Cinica. La selecci6n de una línea de datos de entrada particular para la
salida se determina por un conjunto de entradas de &ccidn. Un muitiplexor
de 2" a 1 tiene 2" h s ¿e datos de entrada y n líneas + selección de entrada
cuyas combinaciones de bits determinan qué datos de entrada se seleccionan
para la dida.
Un muitiplexor de 4 a 1 heas se muestra en la figura 2-4. Cada una
de las cuatro entradas de datos de Io a 1% se aplica a una entrada de la
compuerta AND. Las dos entradas de selmi6n SI y So se decodifican para
seleccionar una compuerta AND particular. Las salidas de las compuertas
AND, se aplican a una compuerta QR única para proporcionar la salida
iinica. Para demostrar el funcionamiento de1 circuito, considere el caso cuan-
do S1S2 = 10. La compuerta AND (Y) asociada con la entrada I2 tiene dos
de sus entradas iguales a 1. La tercera entrada de la compuerta se conecta
m 1; Las otras tres compuerbs AND (Y) tienen por lo -08 una entrada
igual a O, lo que hace sus salidas iguales a O. La salida de la compuerta
OR (O) es ahora igual al valor de proporcionando asl un camino desde
la entrada seleccionada a h salida.
EI multiplemr de 4 a 1 líneas de figura 2 4 tiene seis entradas y una
salida. Una tabla de verdad que describa al circuito necesitará 64 renglon~,
ya que seis variables de entrada pueden tener Z6 combinaciones binarias.
Esta es una tabla excesivamente larga y no se mostrará aquf. Una manera
más practica de describir el funcionamiento de los multiplexores es por
selector Be datos
Figura 2-4 Multiplexor 4 a 1 Uneas
1 *L
-4 - --
A@&*
V F I I A
d m
medio de wia tabla de funci6n. La tabla de funcibn para el multiplexor se
muestra en la tabh 2-3- ta tabla demuestra la -relaci6n entre las cuatro
entradas de datos y la salida h i c a como fumi6n de las entradas de 8elección
SI y S& Cuando las entradas de selecci6n son iguales a 00, la salida Y es
igual a la entrada Ion Cuando las entradas de se1ecci6n son iguales a 01, la
entrada Il tiene un camino a la salida Y, y de modo similar para las otras
dos combinaciones. BT multiplexor tambih se llama selector de datos, ya que
selecciona una de muchas entradas de datos y conduce la infomci6n
binaria a Ia salida.
Las comptiertas AND y las inversoras del multiplexor semejan un
circuito demdificador, y en verdad d d i f i c a n las iheas de seleccibn de
entrada. En general, un multiplexor de 2* a 1 lineas se construye con un
M i f i c a d o r de TI a Zn agregando a éste líneas de entrada y una salida
tinica. Esto Unplica que tambih contiene n Iííeas de =lección de entrada.
h abreviatura comrin del multiplexor es MUX
4 - L .A
TABLA 2-3 Tabla de fumbnes para multiplexor 4 a 1 lfneas
SeIeccibn Salida
S1 so Y
Así como sucede en los decodificadom, los multiplexores pueden tener
una entrada de habilitacihn para controlar el funcionamiento de la unidad.
Cuando la entrada de habiilitaci6n está en el estado inactivo, las salidas se
deshabilitan, y cuando está en el estado activo, el circuito funciona como un
multiplaor nomial. La entra& de habilitaci6n es iitil para ampiiar dos o
más mdtiplexores a un m u i t i p k ron un número mayor de entradas.
En algunos casos dos o mis multiplexores se encuentran en un solo
circuito integrado. Las entradas de seleccidn y de habilitación en una cona-
truccibn de unidades múltiples suelen ser comunes a todos los multiplexores.
Como una ilustracidn, el &cama de bloques de un multiplexor cu4dniple
de 2 a 1 heas se muestra en la figura 2 5 . El circuito tiene cuatro multiple
xores, cada uno capaz de seleccionar una de dos beas de entrada. La salida
Yo puede seleccionarse para que venga de las entradas A. o BI De modo
simjiar, la salida Y, puede tener el valor de Al o Bu y así sucesivamente.
Una h e a de d d 6 n de entrada S selecciona una de las iíneas en cada uno
de los cuatro muItiplexores. La entrada de habilitadbn E debe estar activa
para el funcionamiento normaL A pesar de que el circuito contiene cuatro
multiplexofes, tambikn podemos pensar en 61 como en un circuito que
selecciona una de dos h e a s de datos de 4 bits. Como se muestra en la tabla
de funci613, la unidad se habilita cuand&E = 1. Entonces, si S = O, las cuatro
mtradas A tienen camino para las cuatro salidas. Por otro lado, si S = 1,
nli las cuatro entradas B se aplican a las salidas. Las d d a s tienen tcdas cero
m a F cuando E = O, a pesar de los valores de S. 34h 4- .- --- - - -7
R* q ~ n * ~ i L - i , ~ ~ * ~ < d l m a~ p ~ ~
Figura 2 4 Multiplexom Mit8druples 2 a 1 líneas,
b) Tabla de functwies
Un registro es un grupo de fip-flops, donde cada flip-flop es capaz de
.,Amacenar un bit de informaci6n. Un registro de n bits es un grupo de n
m a Aip-flops y es capaz de almacenar cualquier información biiaria de n bits.
llrd -Además de los fiip- flops, un registro puede tener compuertas combinatorias
&que ejecuten ciertas tareas de prwaamiento de datos. En su definici6n más
amplia, un registro consta de un grupo de flip-flops y compuertas que
efectúan su transieibn. Los flipflops retienen la infonnacibn binaria y las
compuertas controlan cuándo y cómo se transfiere la nueva informaci6n ai
registro.
Divmw tipos de registros están disponible6 en el comercio. El registro
más simple es aquel que a compone sólo de flip-flops, sin compuertas
m e x k m a s . La figura 2 4 muestca tal registro construido con cuatro flip-flops * ---D. ia entrada comh de reloj dispara todus los fipflops en el flanco de'
subida de cada pulso y los d a b binarios disponibles en las cuatro entradas
Figura 26 Registro de 4 bits.
se transfieren al registro de 4 bits. Las cuatro salidas pueden mostrarse en
cualquier momento para obtener la informaci6n binaria alrnaeenada en el m registro. La entrada para borrar va a una terminal especial en cada flipflop.
Cuando esta entrada va a O, todos los flipfiops se borran en forma ashcrona.
1 La entrada para borrar es útil para borrar e1 registro a ceros antes del
funcionamiento sinmaizado por reloj."la entrada para borrar debe mte
nerse en 1 Iógco durante la operaci6n sincronizada por reloj normal. Nótese
que la sefia1 de reloj habilita (activa) la entrada D pero la entrada borrar es
independiente del reloj.
miga di? registro La transferencia de nueva inhmacl6n a un registro se llama carga del
regkfro. Si t d o s los bits del registro ae cargan simultAneamente con una
transici6n de pulsa de d o j común, decimos que la carga se hizo en paralelo.
Una k'ansiel6n de rebj aplicada a las entradas C del registro de la figura 2-4
cargar4 las cuatro entradas de 1, a 1, en paralelo. En esta confguradón el
reloj debe -se en el h i t o si el contenido del registro debe pmanecer
sin cambio.
Registro con carga paralela
La mayoría de los sistemas digitales tienen un generador de reloj amo que
suministra un tren continuo de p b de reloj. Los pulsos de reloj se aplican
a todos los Bap-flops y los re@troa del sistema. El reloj amo actria como una
bomba que suministra pulsos constantes a todas las partes del sistema. Una
sefía1 de control separada se debe usar para decidir qug pulso de reloj
especifico tendrá un ekto en un registro particdar.
En la figura 2-7, se muestra un registiro de 4 bits m una entrada de
control de carga que se dirige a travgs de compuertas y hacia las entradas
D. tas entradas C r e c i h pulsos de reloj en todo momenh. La compuerta
de acoplamiento en la entrada de reloj reduce el requisito de potencia del
generador de reloj. Se requiere menos potencia cuando el reloj se conecta a
una d a compuerta de entrada en lugar dd consumo de energía que se
requeriría para las cuatro entradas si no se usara el acoplador.
m t d a de carga ta entrada de carga en el registro determina la accih que va a tomarse
con cada pulso de reloj. Cuando la entrada de carga es 1, los datos en las
cuatro entradas se transfieren a1 registro con la siguiente transieihn ~ i t i v a
del pulso de reloj. Cuando la entrada de carga es O, las entradas de datos
se inhr'ben y las entradas D de 10s flip-flops se conectan a sus salidas. la
conexibn de retroalimentacibn de ia salida a la entrada es necesaria porque
los flip-fiops D no tienen una eondici6n "sin cambio". Con cada pulso de
reloj, la entrada D determina el estado siguiente de la salida. Para dejar la
salida sin cambio, es necesario hacer la entrada D igual al valor presente de
su salida.
Nótese que los pulsos de reloj se aplican a las entradas C todo d tiempo.
La entrada de carga determina si el pulso siguiente aceptar& h nueva
infomaci6n o dejará la informaci6n en el registro intacta. La transferencia
¿
13
Mof
Figura 2-7 Registro de 4 bib con carga paralela.
de información de las entradas a los registros se hace simul&eamente con
los cuatro bits durante una finita transicidn de pulso.
2-5 Registros de corrimiento
Un registro capaz de desplazar su información binaria en una o en ambas
direcciones se llama registro de corrimiento. La configuracidn 16gica de un
registro de corrimiento consta de una cadena de flip-flops en cascada, con
la salida de un flipflop conectada a la entrada del siguiente flip-flop. Cada
flipflop recibe pulsos de reloj comunes que inician el desplazamiento de una
etapa a la siguiente.
El registro de corrimiento más simple posible es aquel que usa s61o
flip-flops, como se muestra en la figura 2-8. La salida de un fiip-flop dado
se conecta a la entrada D del flip-flop que esta a su derecha. El reloj es
entrada sedal común a todos los flip-flops. La m W swiaI determina qu4 va en la
posición de la extrema izquierda durante el corrimiento. La calida wrkl se
. toma de la salida del fiipflop de la extrema derecha.
A veces es necesario controlar el corrimiento para que ocurra en ciertos
pulsos de reloj pero no en otros. Esto puede hacerse inhibiendo el reloj de
la entrada del registro si no -queremos el corrimiento. Cuando se usa e1
t regism de corrkni~to de la figura 2-8, el corrimiento puede controlarse
conectando el reloj a la entrada de una compuerta AND y una segunda
entrada de la compuerta AND puede cunkrolr entonces el corrimiento
inhibiendo el reloj. Sin embargo, es también posible proporcionar circuitos
extra para controlar la operacibn de corrimiento a través de las entradas D
de los flip-flops mhs bien que la entrada del reloj.
Regiskm de corrimiento 'bidireccional con carga paralela
Un registro capaz d& temr amimienbe en una sula d i 6 1 1 se llama +tro
de corrhiento unidireccional. Un registro que puede tener corrirnientos en
ambas direcciones se llama registro de corrimiento bidirecciomh Algwnos
registros de corrimiento proporcionan las entradas necesarias y las terminales
de salida para la transferencia en paralelo. El registro de corrimiento mas
geheral tiene todas las capacidades litadas abajo. Otros pueden tener algu-
nas de stas capacidades, con cuando menos alguna opexacibn de co&ento.
1. Una entrada para pulsos de reloj para sincronizar todas las opera-
ciones.
2 Una. operacidn de corrimiento a la derecha y un linea de entrada
serial asociada con el corrimiento a la derecha.
3. Una operacidn de corrimiento a la izquierda y una línea de entrada
serial asociada con el corrimiento a la izquierda.
- D Q - r , e - D Q- Salida
e $ serial
iL2 -' c. -> C -> C -> C
4 ~ i u i
M**- >
q$- m Reloj = - -
4. Una opera& de carga en paralelo y n h e a s de entrada asociadas
con la transferencia en paralelo.
5; n keas de salida en paralelo.
6. Un estado de control que deje la informacibn en d registro sin
cambio aun cuando los pulsos de reloj se apliquen continuamente.
Un registro de corrimiento bidireccional de 4 bits con carga paralela se
muestra en la figura 2-9. Cada etapa consta de un flipflop D y un multiplexar
de 4 x 1. Las dos entradas de selección S1 y So ~eleccionan una de las
entradas de datos del multiplexor para el flip-flop D. ias líneas de selemi611
controlan el modo de operacibn del registro de acuerdo con la tabla de
M6n que se muestra en la tabla 2-4. Cuando el modo de control SISO = 00,
se selecciona la entrada de datos O de cada multipfexor. Esta condici6n forma
una trayectoria de la salida de cada flip-flop a la entrada del mismo flip-fiop.
La siguiente trmicibn de reloj transfiere a cada flip-fiop el valor b h r b que
conteda previamente, y no o c m un cambio de estado. Cuando SISO = 01,
la terminal marcada con un 1 en cada multiplexor tiene una trayectoriaa la
entrada D del correspondiente fiip-flop. Esto causa una operacidn de
corrimiento a la derecha, transfiriéndose los datos de la entrada serial al
fiipfiop A, y el contenido de cada flipfiop Al -, transfiriéndose al flip-flop
Ai para i = 1, 2,3. Cuando SISo = 10, resulta una operaci6n de corrimien-
to a la izquierda, dirigiendose los otros datos de entrada serial al flip-flop
A3 y el contenido del flipfiop Ai + 1 transf~iéndose al fipflop Ai para i = 0,
1, 2. Cuando SISO = 11, la informacidn binaria de cada entrada lo a la I3 se
bansfiere al correspondiente f i p - f l ~ , resultando en una operaci6n de carga
en paralelo. N6tese que según la manera en que se dibuja el diagrama, la
operaci6n de corrimiento a la derecha desplaza los contenidos del registro
en la dirección descendente, mientras que la operacidn de corrimiento a la
izquierda causa que el contenido del registro se desplace en la direcci6n
ascmdente.
Los registros de corrimiento se utilizan comúnmente para la interfaz
de sistemas digitales situados remotamente unos de otros. Por ejemplo,
supongase que ea necesario transmitir una cantidad de n bits entre dos
m puntos. Si la distancia enhe la fuente y el destina es muy grande, resultará
TABLA 2 4 Tabla de funciom para los registros de la figura 2 9
Control de modo
O O Sin cambio
O 1 Desp+zamiento ñ la derecha {abajo)
1 O Desplazamiento a la izquierda (arriba)
1 1 Carga paralela
c o s t o usar n 1- para, tra&&tir n bits en paralelo. Puede ser más
, , . í . ,r
w . r n 4 ~ o u h una d d h e a . y transmitir la informaci6n en forma serial
un bit cada vez. E k a n s m b r carga %el dato de n bits en paralelo en un
m x ~ b p ( y m d e c o m i m h t ~ , , ~ tansmite m b c e s eI dato desde la &ea de salida
I d., El 'acep'bard datO en f m a serial en el registro de desplaza-
miento a trav&d& su:Iínea de entrad; serial. Cuando la totaiidad de los n
- - - - * - -. - -
bits se acumula pueden tomarse de las salidas del registro .en paralelo. Así,
el transmisor ejecuta una conversibn de paralelo a serial en los datos y el
receptor convierte los datos wriales que Uegan de vuelta a la transferencia
de datos en parallo.
2-6 Contadores binarios
A un registro que al aplicarse pulsos de entrada pasa a trav6 de una mencia
de estados predeterminada SE le llama contador. tos puhs de entrada pueden
ser pulsos de d'oj o pueden originarse de una fuente externa. Pueden ocurrir
a intervalos regulares o akatoriamente. Los contadores se encuentran en
casi todos 10s equipos que contengan 16gica digital. Se usan para contar
el rimero de ocurrencias de un evento y son útiles para generar señales
de tiempo al controlar la secuencia de operaciones en las computadoras
digitales.
De las diversas secuencias que puede seguir un contador, la secuencia
binaría directa ks ia más simple y Ia más directa. Un contador que sigue la
secuencia de niuneros binarios se llama contador binario. Un contador bina-
rio de n bits es un registro de n flip-flops y de compuertas asociadas que
sigue una secuencia de estados de acuerdo con la cuenta binaria de n bits,
de O a T - 1. El diseño de 10s contadores binarios puede llwarse a cabo por
el procedimiento esbozado en la secci6n 1-7 para los circuitos secuenciales.
Un pmedidento de diseño alterno más simple puede llevarce a cabo por
una inspección directa de Ia secuencia de estados que debe experimentar
para alcanzar yna cuenta binaria directa.
Pasando a través de una secuencia de números binarios, como 0000,
M301, 0010, 0011, y así, sucesivamente, notamos que el bit de menor orden
se complementa despuds de cada cuenta y todos los demas bits se comple-
mentan de una cuenta a la siguiente si y s6Io si los bíts de menor orden son
iguales a 1. Por ejemplo, la cuenta binaria de O111 (7) a 1000 (8) se obtiene
(a) complementando el bit de menor orden; @) complementando el bit de
segundo orden porque el primer bit de O111 es 1; (c) complemaitando el bit
de tercer orden porque los primeros dos bits de O111 son unos, y (d)
compIementando el bit de cuarto orden porque los tres primeros bits de O111
son todos .unos.
Un circuito 'contador empleará usualmente flip-flops con capacidades
complementarias. Tanto los fiip-flops T como JK tienen esta propiedad,
Recuerde que un flip-flop JK se complementa si sus entradas J y >K son
ambas iguales a 1 y el reloj pasa a travCs de una transicidn positiva. La salida
de un flip-flop no cambia si J = K = O. Además, el contador puede
controlarse con una entrada de habiiitación que pi ia o apague al contador
sin quitar la sehl de reioj de los flip-flops.
Los contadores binarios shcronos tienen un pamn regular, como pue-
'de verse en la figura 2-10. Lis entradas C de todos los flip-flops reciben el
Relol -
Figura 2-10 Contador binario sincrono de 4 bits.
reloj comiin. Si la habilitacibn de contea es 0, todas las entradas y K se
mantienen en O y la salida del contador no cambia. La primera etapa A. se
complementa cuando su contador se habilita y d reloj pasa a través de una
transici6n positiva. Cada uno de los otros flip-flops se complementa cuando
todos los flip-flops previos menos sigi~ifica tivos son iguales a 1 y e1 contm
se habilita. La cadena de compuertas AND (Y) generan la 16gica requerida
para las entradas 1 y K. El acarreo de salida sirve para extender el contador
a mis etapas, teniendo cada etapa un flip-flop adicional y una compuerta
AND.
Contador binano con carga en paraIelo
Los contadores que se emplean en los sistemas digitales muy a menudo
requieren capacidades de carga en paralelo para transferir el número binario
inicial previo a la operaci6n de conteo. La figura 2-11 muestra el diagrama
16gico de un contador binario que tiene una capacidad de carga en paralelo
y que tambikn. puede borrarse a ceros en-sincronía con el reloj. Cuando es
igual a 1 la entrada de borrado lleva todas las entradas K a 1, borrando así
todos los flipflops con la siguiente transicibn de reloj. El control de carga
de entrada, cuando es igud a 1, deshabilita la operaci6n de contao y causa
una transferencia de datos de ias cuatro entradas en paralelo a los cuatro
flipflops (con tal de que la entrada de borrado sea O). Si las entradas de
carga y de borrado son ambas O y la entrada de incremento es 1, el circuito
funciona como un contador binario.
B1 funcionamiento del circuito se resume en la tabla 2-5. Con ias
entradas de borrad?, carga e incremento todas en O, las salidas no cambian,
aun cuando se apliquen pulsos a las terminales C. Si las entradas de borrado
y carga se mantienen en O 16gie0, ia entrada de incremento controla la
operaci6n del contador y las salidas cambian a la siguiente cuenta bharia
para cada tradcibn positiva del reloj. tos datos de entrada se cargan en los
flipflops =do la entrada de control de drga es igual a 1, con tal de que
el borrado se deshabilite, pero la entrada de incremento puede ser O o 1. Ei
registra se borra a O sin que el control de borrado considere los valores de
las entradas de carga e incremento.
TABLA 2-5 Tabla de fuiiciones para el regktm de Ia figura 2-11
- - pp
Rdoj Limpieza Carp Incremento Opwaciún
-
? O O O Sin cambio
7 O O - 1 Incremento de cuenta en 1
? O x Entradas de carga lo a 13
i 1 x x Limpieza de salidas a O
Los contadores con carga en paralelo son muy ÚtiIes en el diseño de
computadoras digitales. En capítulos subsiguientes nos referimos a ellos
como registros con operaciones de carga e incremento. La operación de
incremento inmmmfo suma uno a l contenido de un registro. Habilitando la entrada de
con- durante un periodo de reloj, el contenido de un registro pude
incremhtarse en uno.
S E C U ~ N 2-7 Unidad de memoria 6Q
2-7 Unidad de memoria
Una unidad de memoria es un conjunto de celdas de almacenamiento junto
con los circuitos asociados que se necesitan para meter y sacar la infomaci6n
del ahacenamiento. b memoria almacena infomacibn binaria en gruposde bits que se denominan palabras. Una palabra en la memoria es una
entidad de bits que se introducen o sacan de1 almacenamiento como una
unidad. Una palabra de memoria es un grupo de números 1 y O que puede
representar un número, un código de imtrucci6r1, uno o mds caracteres
#Y ,m alfanuméricos o cualquier otra infomci6n en ddigo binario. Un p p o de
W -.& ocho bits se denomina byte. La mayor parte de las memorias de las compu-
tadora~ utiiizan palabras cuyo número de bits es un múItiplo de 8, por lo
tanto, una palabra de 16 bits contiene dos bytes, y una palabra de 32 bit5
está fomada de cuatro bytes. La capacidad de las memarias en las compu-
tadora~ comerciaIes por lo general se define como la cantidad totaI de bytes
que pueden almacenarse.
La estructura interna de una unidad de memoria estA especificada por
el número de palabras que contiene y la cantidad de bits en cada palabra.
Unas h e a s especiales de entrada, llamadas Uneas de direccionamiento, se-
leccionan una palabra particular. A cada palabra en la memoria se le asigna
un número de identificacibn, llamado una direccibn, que comienza en cero
y continúa con 1, 2, 3, hasta 2' - 1 donde k es la cantidad de líneas de
T
dirección. Se seI'ecciona una palabra específica en la memoria, al aplicar la
direccibn binaria de k bits a las iíneas de direcci6n. Un decodificador dentro
de la memoria acepta esta diraibn y abre las trayectorias necesarias para
seleccionar los bits de la pahbra lespecificada. Las memorias de las compu-
tadora~ pueden tener desde 1024 palabras, lo cual requiere una direcci6n de
10 bits, hasta Z3' palabras, donde se hecesitan 32 bits de direccionamiento.
Se acostumbra denominar la cantidad de palabras (o bytes) de una memoria
can una letra K (kilo), M (mega) o G (giga). K es igual a 21°, M es igual a
2m y G es igual a y; por lo tanto, 64 K es igual a Z16, 2M es igual a 221 y
4G: es igual a 232.
Se utilizan dos tipos principales de memoria en los sistemas de com-
putadoras: memoria de acceso aleatorio RAM (random-access memory), y
memoria de s61o lectura ROM cread-only memory).
Memoria de acceso aleatorio
En la memoria de acceso aleatorio (RAM), las celdas de la memoria pueden
accesame para la transferencia de informacih en cualquier p ic idn aleatoria
deseada. Esto es, el proceso de ubicar una palabra en la memoria es igual y
requiere la misma cantidad de tiempo, sin importar la ubicaci6n física de las
celdas en la memoria: de ahí el nombre de "acceso aleatorio".
La comunicaci6n entre una memoria y su ambiente se logra mediante
iíneas de entrada y salida de datos, líneas de selecci6n de dirección y lheas
a C M ~ O Componentes digitales
de control que especifican la dirección de la transferencia. Un diagrama de
bloque de una unidad RAM se muestra en la figura 2-12. Las n h e a s de
entrada de datos proporcionan la infonnaci6n que se va a almacenar en la
memoria, y las n lineas de datos de d d a proporcionan la informaci6n que
sale de la memoria. Las k lineas de direccionamiento proporcionan un
nbero binario de k bits que ~peeifica una palabra particular elegida entre
las palabras disponibles dentro de la memoria. Las dos entradas de control
especifican la direcci6n de transferencia que se desea.
Las dos operadmes que puede ejecutar una memoria de acceso aleatorio
operaciones tik son la lectura y la escritura. la efial de escritura especifica una operacibn
lectura Y de transferenda de entrada. Y la &al de lectura e6pedica una opexacibn de
transferencia de salida. Al aceptar una de estas señales de control, los
circuitos internos de la memoria proporcionan la funcibn deseada. Los pasos
que deben seguirse para que una nueva palabra se almacene en la memoria
son los siguientes:
1. Aplicar la direccibn binaria de la palabra deseada a las Uneas de
direccionamiento.
2. Aplicar los bits de los datos que deben almacenarse en la memoria
a las lheas de entrada de datos.
A. Activar la entrada de ,escritura. iriiw
La unidad de memoria tomarZi los bits que se en&&& disponibles en las
heas de datos de entrada y los almacenarA en la palabra que especifica las
líís de direccionamiento.
Los pasos que deben realizarse para sacar una palabra almacenada en
la memoria son los siguientes
1, Aplicar la direccibn binaria de la palabra deseada a las líneas de
dirercionamiento.
!. Activar la entrada lechrra.
Figura 2-12 Diagrama de bloque de memoria de acceso aleaborio (RAM).
,! t J ~ ~ 3 ; ~ ' .*
ti 1- deent~ada ae datos
k Uneas de d l w m Unidad de memoria
de 2k prilabras y H
bits por pdabra
Esnitula
t
i i I ~ B de salida de datas
S K C ~ N 2 7 Unidad de memoria 65
M
m, 1 - = '
d,
ROM
La unidad de memoria tomarA los bits de la palabra que ha seleccio-
-.mi& la W ó n y. lds aplicará en las h a s de salida de datos. El cankmida
de la palabra seleccionada no cambiará después de que se lea.
Memoria de s6l0 lectura
Como su nombre lo indica, una memoria de sólo lectura (ROM) es una
unidad de memoria que sólo ejecuta la operacibn de lectura; no tiene la
posibilidad de escritura. Esto implica que la informacibn binaria almacenada
en una ROM se hace permanente durante la producci6n del hardwam de la
d a d y no puede alterarse escribiendo diferentes palabras en dh. En tanto
una RAM es un dispositivo de propdsito general cuyo contenido puede
alterarse durante e1 proeeso computacional, una ROM está limitada a leer
palabras que están ahcenadas de manera permanente dentro de la unidad.
La informacibn binaria que se va a almacenar, la cual es especificada por el
diseñador, m? integra en la unidad para formar el patrbn de interconexi6n
requerido. Las unidades de s61o Iectura vienen con fusibles electrónicos
internos es-les, que se pueden programar para una configuración espe-
cifica. Una vez que se estabiece el pakón, permanece dentro de la unidad,
aun cuando la corriente se apague y se encienda de nuevo.
Una ROM m x n es un arreglo de celdas binarias organizadas en m
palabras de n bits cada una. Corno se muestra en el diagrama de bloque de
la figura 2-13, una ROM tiene k h e a s de entrada de direcci6n para seleccio-
nar una de zk = m palabras de memoria, y líneas de salida, una para cada
bit de la palabra. Una ROM en circuito integrado tambibn puede tener una
o más entradas de habilitacidn para ampliar la capacidad de la ROM en
varios encapsu1ados.
La ROM no necesita una h a de control de lectura, porque en cual- - -
quier momento las líneas de salida proporcionan en forma autorpátjca los n
lis d .m -d. - "
Lb i'li-
Figura 2-13 Diagrama de bioqu&%mO-e &o ledura.
-k líneas de entrada de direcdbn
ROM in x 71
(m = Zk}
ri líneas de ~alida de datos
PROM
bits de la palabra seleccionada par el valor de direcci6n. Como las salidas
son s61o una función de las saüdas presentes (las lineas de direccionamiento)
una ROM se clasifica como un circuito combinacional. De hecho, una ROM
se construye en forma interna con decodificadores y un conjunto de com-
puertas OR No hay necesidad de proporcionar posibilidades de almacena-
miento como en una RAM porque los vaIores de las bits en la ROM = qan
de m e r a permanente.
Las ROM tienen un amplio campo de aplicaciones en el diiño de
sistemas digitales. De manera basica, una ROM genera una relación entrada-
salida especificada por una tabla de verdad. Como tal, puede complementar
cualquier circuito combinacional con k entradas y n salidas. Cuando se
emplea en un sistema de computadora como una unidad de memoria, la
ROM se utiliza para almacenar prsgramas fijos que no van a alterarse y para
tabhs de constantes que no estan sujetas a cambia. Una ROM también se
emplea en el diseño de unidades de control para computadoras digitales.
Como tal, se utiliza para almacenar inforrnacidn codificada que representa la
secuencia de las variables de contra1 interno necesarias para hacer posibles
las diferentes operaciones en la computadora. Una unidadde control que
utiliza una ROM para almacenar información de control binario se llama una
unidad de control rnicroprogramada. Este tema se analiia con mayor detalle
en el capitulo 7.
Tipos de ROM
tos programas o datos que se requieren en una ROM pueden programarse
de tres diferentes maneras. La primera, programacidn por mascnrilla, se realiza
por la compafiía que produce el semiconductor durante la parte final del
proceso de fabricación de h unidad. El procedimiento para fabricar una
ROM requiere que el cliente llene la tabla de verdad que desea que satisfaga
la ROM. La tabla de verdad puede sujetarse a un formato especial que
proporciona el fabricante o a un formato especificado en un medio de salida
de computadora. El fabricante. hace la mascarilla correspondiente, con el fin
de producir un grupo de unos y ceros, de acuerdo con la tabla de verdad
del cliente. Este procedimiento es costoso porque el vendedor le cobra al
cliente una tarifa especial para' cubrir las gastos que origina el fabricar una
ROM particular. Por esta radn, la programacibn por mascarilla s61o es
econ6mka si se hace un pedido de una gran cantidad de ROM de la misma
configuracibn
Para pequeiias cantidades es d s econ6mico utilizar un segundo tipo
de ROM, llamada memoria de sólo lectura programble o PROM. Cuando se
hace un pedrdo con estas condiciones, las unidades PROM tienen todos sus
fusibles intactos, lo cual hace que aparezca un grupo de números 1 en todos
los bits de las palabras almacenadas. Los fusibles de las PROM se funden al
aplicar pulsos de corriente por Ias terminales de salida de cada direcci6n.
Un fusible fundido define un estado O binario y un fusible intacto da un
EEPROM
estado 1 binario. Esto permite que los usuarios de las PROM obtengan en
sus propios Iabomtorios la relaci6n dewada entre direcri~nes de W a y
@abras almacenadas. En el comercio hay disponibles instrumentos especia-
les llamados programadmes de PROM para facilitar este prmeso. En cualquier
caso, todos los pmesos para programar PROM son de hardware, aunque se
utilice la palabra programar.
El procedimiento de hardware para programar las ROM y las PROM
es irreversible y, una vez programado, eI patr6n que se fija es permanente
y no puede alterarse. Una vez que se ha establecido un patr6n de bits, la
unidad debe desecharse si se va a cambiar e¡ patr6n de bits. Un tercer tipo
de ROM disponible se llama PROM bombk (erasable PROM o EPROM).
tas EPROM pueden reestructurarse hasta su valor inicial aunque antes se
hayan fundido sus fusibles. Cuando una EPROM se coloca bajo una luz
ultravioleta especial durante un cierto periodo, la radiacibn de onda corta
descarga las compuertas internas que sirven como fusibles. Despu€s de
borrarse, las EPROM regresan a su estado inicial y pueden reprogramarse
con un nuevo conjunto de palabras. Ciertas PROM pueden borrarse con
señales eléctricas en lugar de luz ultravioleta. Estas se llaman PROM borra-
bles eléctriuznzente (eiectricdly erasubfe PROM o EEPROM).
2-1. L m TI'L S I vienen sobre todo en encapsulados de U de 14 terminales. Se
reservan 2 termínales para alimmtaci6n y las otras 2 terminales se utilizan
para terminales de entrada y salida. ~CuBntos circuitos se incluyen en un
encapsulado de esas características, si contiene los siguientes tip de cimii-
km a) inversores; b) mmpwrhs OR d u s i v a s de dos enbadas; c) compwaas
OR de tres entradas; d) compuertas AND de cuatro entradas; e) eom-
puertas NQR de cinco entradas; f) compuerhs NAND de d o entradas; g)
flipflops JK con reloj, ccri borrado ashmno.
? L. CI MSl realizan fundmes digitales básí~s como d d X c a d o r s , mul-
tiplexom, 4 s t r o s y contadores. Los siguientes son circuitos integrados de
tipo l T L que proporcionan tales funciones. Encuentre su dehpci6n en un
manual de datos 7 compáwlos con los componentes correspondientes que
se p m t a n en este capítulo.
a. Mi f i eadores de 2 a 4 líneas de tipo CI 74155 duales.
b. Multip1wres .de 2 a 1 b e a s de tipo CI 7457, cu6drupla.
C. Rcgisko de desplazamiento bidireceiona!, de 4 bits tip CI 74194, con
carga paralela.
d. Contador binario de 4 bias t i p ~ Ci 74163, con carga paralela y borrado
sincrono.
2-3* Construya un dacodificador de 5 a 32 líneas, con cuatro decodificadores de
3 a 8 líneas, con habilitacidn y un ddificador de 2 a 4 lineas. Utilice
diagramas de bloque similares a la figura 2-3.
4 . Dibuje el diagrama lbgico de un derodikador de 2 a 4 líneas, d i o con
compuertas NOR. Incluya una enhda de habilitación.
2-5. Modifique el dd i f i cadw de la figura 2-2 para que el circuito se active
cuando E = 1 y se dmctive 'cuando E = 0; Haga una tabla de verdad
d i f i rada .
Dibuje el diagrama 16$0 de un deccdScador de 8 entradas y tres salidas
cuya tabla de verdad es como la que proporciona Ia tabla 2-2 ¿Cuál es fa
salida cuando todas las entradas son iguales a O? ¿GuAl il ia lasalida cuando
fa entrada Do es igual a M Establezca un p d i m i e n t o que distinga estos
dos casos.
7 Construya un rnultip1exor"de 16 a 1 líneas can das multiplexors de 8 a 1
líneas y uno de 2 a 1 Jfneas. Utilice d iagmas de bloque para los tres
multiplexares.
Dibuje el d2agrama de control de unos multiplexores duales de 4 a 1 llneas
y explique su aperaci6n mediante una tabla de funciones.
Induya una compuerta AND de dos entradas con el registro de l a figura 2-6
y conecte la salida de la compuerta a las entradas de reloj de todos los
flip-flops. Una\ enhada de la cornpub AND recibe los pul- de reloj de
un generador. La otra entrada de la compuerta AND proporciona un control
de carga paralela. Explique la operaci6n del registro mdicado.
2-10, ¿Cual es la funci6n de la compuerta de acoplamiento en la entrada de reloj
del regis@ de -la figura 2-71
2-11. Incluya una opci6n de un borrado sincrono en el registro con carga paralela
de la figura 2-7.
2-12. El contenido de un registro de cuatro bits a a1 principio 1101. El registro se
desplaza seis veces a la derecha con una entrada serial que es de 101101. ¿CuM
es el contenido de registro dspu& de cada desplamniento?
2-33. ¿Cuál es la diferencia entre transferencia serial y paralela? Usando un registro
de desplazamiento con carga paralela explique d m o convertir datos de
entradas seriales en salidas paralelas y datos de entrada paralelos en salidas
senalec.
2-14. Un cantador de anillo es un registro de desplazamiento como el de la figura
2-8 con la salida serial conectada a la entrada serial. Enliste la secuencia de
estados de las cuatro fipflops después de cada d~plazamiento comenzan-
do en un estado de 1000.
2-15. El registro de desplazamienta bidireccionai de cuatro bits eon carga paralela
que se mmka en la figura 2-9 se incluye en un encapsulado CI.
a. Dibuje un diagrama de bloque de CI que muestre todas las entradas y
salidas. Incluya dos terminales para proporcionar alimentaci6n.
b. Dibuje un diagrama de blque utilizando 2 CI para producir un registro de
desplazamiento bidirecclonal de d o bits w n carga paralda.
2-16. ~Cudntos fiipflops se complementarán en un contador binario de 10 bits
para' alcanzar la siguiente cuenta despues de: a) 1001100111; b)
0011111111F
2-17. Muestxe las conexiones entre cuatro contadores binzwios $e cuatro bits w n
carga paralela (figura 2-11) para producir un contador biio de 16 bits con
carga paralela. Utilice un diagrama de blque para cada contador de cuatro
bits.
2-18. Muestre cbmo el contador binarin con carga paralela de la figura 2-11
puede usarse para que funcione como un contador de divisi6n por N,
por qmplo, un contador que cuente de 0000 a N y de regmo a MXW].
Muestre de manera especifica el circuito para un contador que divida
entre 10 u t i h d o el contador de la figura 2-11 y una compuerta AND
externa.
2-19. Las siguientes unidades de memoria son especificadas mediante la canti-
dad de palabras por el n h e m de bits por palabra. ~Cuintas líneas dedireccionamiento y b a s de datos entrada-salida se necesitan en cada
caso? a) 2K X 16; b) 64K X 8; c) 16M X 32; d) 4G X 64.
2-20. Especifique la cantidad de bytes que pueden aimaccnarse en las memorias
que se enlistan en el problema 2-19.
2-21. cuántos CI de memoria de 128 X 8 se nemsitan para proporcionar una
capacidad de memoria de 4096 X 141
2-22. Dado un CI de ROM de 32 x 8 con una entrada de habilitación, muestre las
conexiones externas necesarias para construir una ROM de 128 X 8 con
cuatro CI y un decodificador.
2-23. Una ROM de 4096 X 8 bits tiene dos entradas de habilitacibn y opera
con una alimentaci6n de 5 volts. ~Cu61itas terminales se necesitan para
el encapsulado del circuito integrado? Dibuje un diagrama de bloque y
asigne un nombre a todas las terminales de cntrada y salida en la ROM.
1. Hill, F. J. y G.R. Peterson, lnlroductim to Switching Thwry and Loglcal Decip, 3a. ed.
Nueva York John Wiley, 2981.
2. Mano, M. M., Dkital Des i . , 2. . ed. Engle-wmd Cliffs, NJ: Prentice Hall, 1991.
3. Roth, C. H., Fumhmki l of Logic Dese, 3a. ed. S t Paul, MN: West Publishing, 1985.
4. Sandige, R. S., Uodern Digital Bsign. Nueva York: McGraw Hill, 1990.
5. Shiva, S. G., tnfroduction to L q i c Desip. Glenview, 8: Scott, Foresman, 1988.
6. Wakerly, J. F., Digital Design Principia md Practices. Englewwd Cliffs, NJ: Prentice
Hau, 1990.
7. Ward, S. A., y R. H. Halstead, Jr., Computatimr Struclwra. Carnbridge, MA: MiT Preas,
1990.
EN ESTE CAP~TULO
3-1 Tipos de datos
3-2 Complementos
3-3 Representaci6n con punto fijo
3-4 Reprwntaci6n con punto flotante
3-5 Mnw códigos binarim
3 6 Códigos de detmci6n de error
3-1 Tipos de datos
En las computadoras digitales la informaci6n binaria se almacena en la
memoria o en los registros del pmsador. Los registros contienen datos o
. infomaci6n de control. La infomcibn de control es un bit o un grupo de
bits que se utilizan para especificar la secuencia de seirales de comando
necesarias para manipular los datos en otros qistm. Lios datos son n h e -
ros y otra infannaci6n en &digo biriario sobre los que se realizan operacio-
nes para conseguir los resultados computacionales requeridos. En este capi-
tulo presentamos los tipos de. datos M& comunes que se encuentran en las
computadoras digitales y mostramos c6mo los diversos tipos de datos se
representan en forma de código binario en los registros de computadoras.
Los tipos de datos que se encuentran en los registros de las computa-
doras digitales pueden clasificarse en algunas de lás siguientes categorías: 1)
númem que se utilizan en cai1culcs aritméticos; 2) letras del alfabeto que se
utilizan en el procesamiento de datos, y 3) otros símbolos discretos que
se utilizan con pr~phitos específicos. Todos los tipos de datos, excepto los
números binarios, se r e p m t a n en los registros de la computadora en
forma de c6digo binario. Esto es porque los registros están formados de
decimal
octaf
hexadecimal
flip-flops y Ios flipflops son dispositivos de-dos estados que pueden alma-
cenar solamente grupos de números 1 y O. El sistema de nilimeros binarios
es el sistema más-na#d para utilizar en una computadora digital. Pero en
ocasiones es conveniente emplear diferentes sistemas numéricos, en especial
el sistema,decJmal m u e .se .utiliq para realizar cálnilos aritmCticos.
' > ,
. .
Sistemas numéricosi
Un sistema numérico de h e , o rak r, es un sistema que utiliza diferentes
simbolos para los digibos r. Las nberos se representan con una serie de
símbolos de digito. Para determinar la cantidad que representa el niunero es
necesario multiplicar cada dígito por una potencia entera de r y despub
formar la suma de todos los dfgitos ponderados. Por ejemplo, e1 sistema de
números decimales que se usa en forma cotidiana emplea el sistema de base
lo. tos diez símbolos son 0, 1, 2 3,4, 5, 6, 7, 8 y 9. La serk de dígitos 724.5
se interpreta para representar la cantidad
esto es, 7 centena8, más 2 decenas, m5s 4 unidades, más 5 dkimm. En foma
similar cada nihne~o decimal puede interpretarse para encontrar la cantidad
que representa.
El sistema numgrico bimrio utiliaa la base 2. Los dos símbolos de dígito
que se utilizan son O y 1. La interpretacián de la serie de digitos 101101
que representa la cantidad
Para apreciar la diferencia entre números de base diferente, los digitos se
encerrarh entre paré&ds y la ba6e del nfimero se insertará cbma subíndice.
Por ejemplo, para mostrar la igualdad entre el n~hefa 4!5 decimal y binario
escribiremos (10110fh = (45)i0 qíiap
i nadCii Ademiis de los sistemas numéricos trinar10 y decimal, los s i s m s octaI
(raíz 8) y k u d e c i m ~ f (tah 16) son -importantes en el trabajo de las compu-
tadora~ digitalk Loo ocho simbolos del sistema &tal son 0, 1, 2, 3, 4, 5, 6
y 7. Las- 16 shbotos del sisiema hexadecimal sbn O, 1, 2, 3, 4, 5, 6, 7, 8, 9,
A, B, C; D, E y F. Desafortunadamente, los últimas seis símbolos son
idénticos a las letras de1 alfabeto y en ocasiones pueden causar ' conlusibn.
Sin embargo, es la forma que se ha adoptado. Cuando se acostumbra
representar digitos hexadecimales, los bimboXos A, B, C, D, E, F corresponden
a los números decimales 10, 11, 12, 13, 14, 15, respec'hvamente.
Un númem de base r puede cónve- al sistema decimal w n el que
estamos farrdiiarizados al obtener la suma de los digitos ponderados de
acuerdo a su posicihn. Por eiem~lo. 736.4 en notación mtal se convierte a
decimal como sigue:
SECCION M Tipos de da- 73
(7364 = 7 X B2 + 3 X 8' + 6 X 80 + 4 X 8-'
= 7 x M + 3 X 8 + 6 x 1 + 448 = (478.5)io
El número decimal equivalente al F3 hexagesimal se obtiene con d siguiente
cálculo:
wnuelersidn ¿a convedbn de decimal a su representad& equivalente en el sistema de
base r, se tealiza separando el nhero en sus partes enteras y fra&les y
convirtiendo cada una de ellas por separado. La conversibn de un entero
decimal en una repmtación de base r se maliza mediante divisiones
sucesivas entre r y la acumuiaci6n de los residuos. ta conversión de una
fracci6n decimal a una reprsentación de base r se consigue niediante mul-
tipliciciones sucesivas por r y la acurnulacidn de los dígitos enteros que se
obtienen. La W r a 3-1 muestra estos prdimientos.
ia conversibe del decimal 41.6875 en binario se realiza al se paca^ el
ntimero en su parte entera 41 y su parte fracdonal ,6875. La parte entera se
convierte al dividir 41 entre r = 2 y obtener un cociente entero de u] y un
residuo de 1. üe nuwo eI cociente se divide entre 2 para obtener un nuwo
d e n t e y un residuo. Este proceso se repite hasta que d cociente enteni sea
O. Los coeficientes de bs niimem binarlos se obtienen de los residuos y es
el primer residuo el que da el bit de orden W o r del número binario que
se conyIrü6.
La parte fracciona1 se cpnvierte al multiplicarla par r = 2 para obtener
un entero y una fracción. La nueva fraccidn (sin el entero) se multiplica de
nuwo por 2 para obtener un nuwo entero y una nueva fraccibn. Esto se
repite hasta que la parte fraccional es O o hasta que el número de digitos
obtenido da una apmximaci6n conveniente. tos coedicientes de la fracci6n
binaria se obtienen de los dígitos enteros y el primer entero que se calcula
es el dígito que se coloca junto al punto b-, Por dItimo, las dos partes
se combinan para proporcionar la conversi6n total requerida.
Figura 3-1 Conwrsi6n del d&cima141.óB75; a binario.
Eniero =41 F m d h = 0.6875
mi 0.6875 2
10
5
2
1
o
o m
o x 2
1 0.7200
O x 2
1 1.5000
x 2
1.0000
(4lllO ~(10IM1l2 E0.6875), = (0.1 01 1)2
(41.6875)10 = (101001 -101 1)*
74 ~ h u L . 0 TRES Rep-taQh de datos
NUMeros octales y hexadecimales
Las conversiones desde y hacia representaciones binaria, octal y hexadecimal
juegan una parte importante en las computadoras digitales. Como = 8 y
9 = 16, cada digito octal corresponde a tres dígitos biarios y cada digita
hexadechal corresponde a cuatro dígitosbinarios. la conversi6n de binario
a octal se consigue con faciiidad al dividir el n h e r o binario en grupos de
tres bits cada uno. Despuh, el dlgito octal que le corresponde se asigna a
cada grupo de bits y la serie de dígitos que se obtiene proporciona el
equivalente al octal del número binariu, Por qemplo, consideremos un regis-
tro de 16 bits. Físicamente se puede decir queh el registro está formado de 16
celdas de almacenamiento binario y que cada celda puede cantener un
número 1 o un O. Supongamos que la configuracih de bit que se almacena
en el registro es como la que se muestra en la figura 3-2. Como un número
binario está formado por series de números 1 y O, el registro de 16 bib puede
utilizarse para almacmar cualquier nlmeiro binario de O a 216 - 1. En el ejemplo
particular que se muestra, el número binario almacenado en el registro es el
equivalente del número decimal W99. Comenzando con el bit de orden
inferior, dividimos el registro en grupos de tres bits cada uno (el decirnosexto
bit, por sí solo, forma un grupo). A cada grupo de tres bits se le asigna su
equivalehte a octal y se coloca en la parte superior de1 registro. La serie de
dígitos octales que se obtiene representa el equivalente octal del número
binario.
La conversi611 de binario a hexadecimal es similar, excepto que los bits
se dividen en grupos de cuatro. El digito hexadecimal que corresponde a
cada grupo de cuatro bits se escribe debajo el registro, según se muestra en
la figura 3-2. La serie de digitos hexadecimales que se obtiene representa el
equivalen te hexadecimal del número Enario. El digito octal que corresponde
a cada grupo de tres bits se recuerda con facilidad después de estudiar las
primeras who entradas que se listan en la tabla 3-1. La compondencia entre
un dígito hexadecimal y su caigo de 4 bits equivalente puede hallarse en
las primeras 16 entradas de la tabla 3-2.
Ia tabla 3-1 representa una lista de unos cuantos números actales y su
representacidn en registros en forma de ddigo Liario. El código binario se
obtiene mediante el procedimiento que se expiic6. A cada digito octaI se le
asigna un c6digo de 3 bits, wgdn 10 especifican las entradas de los primeros
ocho dígitos en la tabla. De igual manera, ia tabla 3-2 lista unos cuantos
nCimeros hexadecimales y su representaci6n en registros en forma de c6digo
binaria. Aquí, el &digo binario se obtiene al asignar a cada digito hexade
Figura 3-2 Conversi6n a bimrio, octal y hmradecimal.
-&N si Tipos de datos 75
TABLA 3.1 Númwos &tales codificados m biiario
Niimera a t a 1 codificado &uivalente
octal mi binario decimal
O 000 o
1 001 1
2 010 2
T
Cbdigo
3 011 3 para un
4' 100 4 d igilo
5 101 5 octal
6 110 6
7 111 7 1
cima1 el código de cuatro bits que se lista en LIS primeras 16 entradas de la
tabla.
Al comparar los números wtales y hexadecimales codificados en b i i -
rio con su equivalente en número binario, encontramos que la combinacihn
de bits en las tres representaciones es exactamente la misma. Por ejemplo, el
nhero 99 decimal cuartdur. se conviertev en binario da como resultado
1100011. El equivalente wtal en código binario de 99 decimal es 001 100 011
y el hexadecimal en código binariu del 99 decimal es O110 0011. Si dejamos
de considerar los ceros a la izquierda cn estas tres representaciones binarias,
encontramos que Ia combinaci611 de sus bits es idgntica. Esto debe ser así
por la conversidn directa que existe entre 10s nSimeras binarios y los =tales
o hexadwhales. im importank de tudo esto es que una serie de números
1 y O almacenados en un registro puede representar un número binario, pero
esta misma serie de bits puede interprehrue: como la represenL=~ci&n de un
número octal en forma de código binario (si dividimos los bits en grupos de
tres) o como la rep-ntacióm de un ndmero hexadecimal en forma de
código binario (si dividimos -los bits en grupos de 'cuatro).
Los registros en una computadora digital coiitienen muchos bits. Para
especificar el contenido de registros rn&ante sus valo- binarios ser6 nece-
saria una larga serie de digitos binarios. Es mbs convenienk especificar el
co~itcnido de dos registros por su equivaleiik =tal o hexadechal. La canti-
dad de &gitm se reduce a un tercio de bits en la deii0minaci6n octal y en
un cuarto en la den0minaci6n hmcadeciml. Por ejemplo, el número binario
1111 1111 1111 tiene 12 digitos. Puede expresarse en número octal como 7777
TABLA 3-2 Nhermhexadecimales codificada en binario
5
6 C6digo
7 para iin
8 dígito
9 hexadecimal
10
(cuatro dlgitos) o en h w d b a l como FFF (tres dlgitos). Lw manuales de
computadora siempre seleccionan la dcnominacidn octol o hexadecimal para
-pacificar ei contenido de los mgistros.
Representación decimal
El sistema de números bina- es el más natural para una computadora pero
las personas estan acostumbradas al sistema decimal. Una manera de ame
giar este conflicto es convertir en números biniirios todos los números
decimales de entrada, permitir que la computadora efectúe todas las opera-
ciones aritméticas en binario y después convierta bs resultados binarios a
decimales para que el usuario los comprenda. Sin embargo, también es
posible que la computadora realice operaciones aritme ticas directamente con
números decimales siempre y cuando estén en forma codificada. b s núme-
ws decimales, por lo pneral, se introducen a la computadora como caracte
xes alfanum6rims en código binarh. Estas códigos, de los que se hablad más
tarde, pueden contener de seis a ocho hits para cada dígito decimal. Cuando
los números decimales se usan para cálculos aritmk ticos internos se convier-
ten en códigos binarios con cuatro bita por dlgito.
cbdip binario Un código bhario es un grupo de n bits que adopta hasta 2" combina-
ciones distintas de números 1 y O y donde cada combinación representa un
elemento del conjunto que se codifica. Por ejemplo, un conjunto de cuatro
elementos puede representarse mediante un código de 2 bits, donde a cada
elemento se le asigna una de las siguientes combinaciones de bits 00, 01,lO
u 11. Un conjunto de d i o elementos requiere un código de 3 bits, un
conjunto de 16 elementos requiere un código de 4 bits y así sucesivamente.
Un c6digo binario ten&& algunas combinaciones de bits no asignadas si el
número de elementos en el conjunto no es una potencia m6Itiplo de 2. Los
20 &@toa decimahs constituyen un conjunto de esa naturaleza. Un código
binario que distingue entre 10 eIement08 debe contener d menos cuatro bib,
pero seis de sus combinaciones no se asignarh. Pueden obtenerse muchos
c6digos diferates al arreglar cuatro bits en 10 combinaciones distintas. La
asigrwión de bits que se usa con mayor frecuencia para los dígitos decimales
es la que se Lista en las primeras 10 entradas de le tabla 3.3. Este c6digo
particular se llama decimal codificado en binario (binary-coded decimal)
y por 10 general se representa con su abreviatura BCD. En ocasiones se
usan otros c6didos decimales. y unos cuantos de ellos se muestran en la
secci6n 3.5.
'
Es muy importante comprender la diferencia entre la conversi611 de
números decimales biiarios y la cud@uci6ir biilarin de ndmeros decimales.
Por ejemplo, cuando se convierte ahniímero bharioi el número decimal 99 se
representa con la serie de bits 1100013, pero cuando se representa en BCD,
se vuelve 1001 1001. La Ú h diferencia entre un n h e r o decimal que se
TABLA 3-3 Númercw decimales codificados en bimrio (a)
Niimm Mmeros diecimíiles
codificados
en binario IBCDI
0000
m1
DO10
Código
para iin
digito
decimal
I
78 m m RepresentBcih de datos
ASCII
representa por los sirnbolos de dígitos con b s que estamos familiarizadm. 0,
1, 2.'. ., 9 y los simbblos BCD 0001, 0010, . . ., 1001 estA en los símbolos que
se utilizan para representar los dfgitos; el número por si mismo es igual. En
la tabh 3.3 se Listan unos cuantos n h e m s decimales y su representaci6nen
BCD.
Represenracion airanumetica
Muchas aplicaciones de computadoras digitales requieren d manejo de datos
que no 6610 estan formadas por números sino tambih por letras del alfabeto
y por ciertos caracteres especiales. Un conjunto de camcteres a!fianuméricos es
un conjunto de elementos que induye 106 10 dfgitos decimales, las 26 letras
del alfabeto y cierta cantidad de caracteres especiales, como $, +, e = . Tal
conjunto contiene entre 32 y M elementos (si s610 se incluyen ias letras
maySisculas) o entre 64 y 128 (si se incluyen tanb las mayúsculas como las
rnhkuhs). En el primer caso, el c6digo binario necesitar4 seis bits y en el
&gunda caso, siete bits. El código binario alfaiiumdrico estAndar es el ASCII
(American Standard Code for Informa tibn Iiiterchange), el cual u tiliza siete
bits para codificar 128 caracteres. Los cádigos binarios para las letras mayús-
culas, los digitos decimales y unos cuantos caracteres especiales se listan en
la tabla 3-4. Obserw que lós dlgitos decimales en ASCTI pueden convertirse
a BCD al quikar los tres bits de orden superior, 011. Una lista completa de
los caracteres ACCTT se proporciona en la tabla 11-1.
tos códigos binarios desempeñan un papel importante en las operacio-
nes de las computadoras digitales. tos cddigos deben estar en binario porque
los registros s61o pueden contener informaci61i binaria. Es necesario com-
prender que las cddigos binarios $610 cambian los slmbolos, no el significado
de cuaIquier elemento que representen. Lis operaciones especificadas para
computadoras digitaks deben considerar cl significado de los bits ahacena-
dos en el reghtro para que las oyeracioiies se efectúen en operadores del
mismo tipo, Al realizar una inspmi6n aleatoria de los bits de un registro
de computadora, es probable que se descubra que representa cierto tipo de
informacibn cudificada en lugar de un iiúmero binario.
Pueden formularse a discreción c6digos binarios para cualquier con-
junto de elementos, como las notas musicales y las piezas de ajedrez en sus
posiciones sobre un tablero. Los códigos binsrios tambien se usan para
formular instrucciones que especifican iiiformación de control para la com-
pu tadora. l3 te capítulo -se reláciona con la representaci6ii de <os datos. Los
códigos de instrucciones se analizan en el capitulo 5.
3-2 Complementos
Los complementos se utilizan eii las computadorns digitales para especificar
h operaci6n de resta y para Ia manipulacióii 16gica. Existen dos tipos de
w Complementos 79
TABLA 3-4 Código est$ndar norteqericanq para intercambio de informaci6n (ACCII)
-
Código Cddigo
Carácter binano Cariicter binario
100 m 1
100 ODIO
100 m11
100 0100
100 oioa
100 0110
100 Qlll
190 lo00
100 1001
1 0 lOlQ
100 1011
100 1100
100 1101
100 1110
100 1111
101 0000
101 Do01
101 0010
101 O011
la1 0100
101 O101
101 0110
101 O111
101 lo00
101 1 0 1
complementos para cada sistema de base r: el complemento a r y el comple-
m t o a (r - l), Cuando e1 valor de h base r se sustituye en el nombre, los
dos tipos se denominan complemento a 2 y a 1 para los números binarios
y el complemento a números 10 y a 9 para los niuneros decimales.
El wmplemen to (r -1)
W o u n ~ N e n b s s e r q u e ~ n d f g i b o s , e l c w n ~ b t o a ( r - 1 ) & N
se dehe como (r" - 1) - N. Para los n h a m dezimak r = 10 y r - 1 = 9,
colnplenfettto a 9 por Io que el comphehto a n ú w m 9 de N es (10" - 1) - N. Ahora, lO"
rep-ta un número que está formado por un 1 único seguido de n ame. 10"
- 1 e un nnCunerri repmtado por n nueva Por e+nplo, con n = 4 tenemos
lo4 = 1000 y le - 1 = 9999 En coiisecuencia el complemrriito a nnQrneros
9 de un número decimal x obtiene al restar cada digito de 9. Por ejemplo,
80 CAP~TUU~ TRES Representación de datos
el complemento a nCimeros 9 de 5467M3 es 999999 - 546700 = 453299 y e1
complemento a 9 de 12389 es 99999 - 12389 = 87610.
compbmento a 1 Para los números binarios, r = 2 y r - 1 = 1, por lo que el comple
mento a 1 de N es (2" - 1) - N. De nuevo, 2" este representado por un
número binario que está formado por 1 seguido por n ceros. 2' - 1 es un
número binario represwntado por 1. Por ejempIo, con n = 4, tenemos z4 =
(10000)~ y z4 - 1 = (1111)2. Por lo tanto, el complemento a 1 de un número
binari; se obtiene restando cada dígito de 1. Sin embargo, la resta de un
digito binario de 1 provoca que d 'bit cambie de O a 1 o de 1 a O. Por lo
hnto, el complemento a 1 de un nfimero binario se forma al cambiar los 1
a O y los O a 1. Por ejemplo, el complemento a 1 de 1011OO1 es OlOOllO y
el complemento a 1 de 0001111 es lllOMH3,
El complemento a niheros (r - 1) de los números octales y hexade
cimales se obtiene restando cada digito de 7 o de F (el número decimal 151,
respectivamente.
Complemento a (r)
El complemento a r de un nifmero N de n digitos en base r se define como
In - N cuando N # O y O cuando N = O. Al compararlo con el complemento
a (r - 1) notamos que el complemento a r se obtiene agregando 1 al
corpiplemmto a 10 compIementa a (Y - 1) porque rn - N = [r" - 1) - N j 1- 1. Por Io tanto, el
complemento a 10 del nhero decimal 2389 es 7610 4- 1 = 7611 se obtiene
al agregar 1 al valor del complemento a 9. El complemei-ito a números 2 del
nhero binario 101100 es O10011 + 1 = 010100 y se obtiene al a m a r 1 al
valor del complemento a 1.
Como 10" es un número representado por un 1 al que le siguen n ceros
entonces 10" - N, el cual es el complemento a 10 de N, tambidn puede
formarse al no alterar los O a lii derecha, resta? a 10 el primcr digito
significativo diferente de O, y despub mtar de 9 las digitos significativos
mayores. El complemento a 10 de 246700 es 753300 y se obtiene al no alterar
los dos ceros, al restar 7 de 10, y al restar los otros tres digitos de 9. De
complemmto a 2 igual manera, el complemento a 2 puede formarse 01 no alterar los O ni el
primer 1, y después al sustítuir los 1 con O y los O con 1 en los demds bits
con mayor valor. E1 complemento a 2 de 1101100 es 0010100 y se obtiene Al
no mdificar los dos O de orden menor ni ei primer 1 y, después, al sustituir
con 1 los O y con O los 1 en los otros cuatro bits con mayor valor.
En las ddinicianes anteriares se condder6 que los números no tienen
un punto de base. Si el número N original contiene un punto de base, debe
quita= de m e r a teniparal para que forme los compiementos a r o a (r - 1).
Después se restaura eI punto de base en el ndrnero cnmplementado y en
la misma posición relativa. Tambibn vale la pena mencionar que el comple-
mento del complementa nos devuelve el nilmero con su valor original. El
complemento a r de N es r" - N. El complemento del complemento es
P - (f' - N) = N lo cual proporciona el n h e m original.
resta
acarreo final
Resta de nbrneros sin signo m a l
EAl . . El m W o directa de recta que se enseña en las escuelas primarias utiliza el
- -
concepto de préstamo. En este método tomamos prestada una unidad de una
posiciBn con mayor valor cuando el dígito del minuendo es menor que el
digito correspondiente del sustraendo. Esto parece ser m8s sencillo cuando
las personas ejecutan restas con lápiz y papel. Cuando la resta se realiza con
equipo de mmputaci6n digital este mdtodo parece ser menos eficiente que
el método que utiliza compIementos.
La xesta de dos números M sin signo de pn dígitos - N (N # O) en
base r pude redirse de la siguiente manera:
1. Sumar el minuendo M al complemento a r del sustraendo N. Esto
d a M + ( r " - l V ) = M - N + ? .
2. Si M 2 N, la suma producirá un acarreo final r" que se descarta y
lo que queda es el resultado M - N.
3. Si M < N, la suma no puede tener un acarreo final y es igual a tn
- (N - M), lo cual es el complemento a r de (N - M). Para obtener
la respuesta en una forma familiar, es necesario tomar el comple-
mento a r de la suma y colocarle un signo negativo.
Por ejemplo, consideremos la resta 72532 - 13250 =59282. El comple- - menta a númem 10 de 13250 es 86750. Por lo tanto: -
M = 72532 - * el complemento a números 10 de N =' + 86750
~ 3 g p j o Suma = 159282
acarreo final de lo5 que se descarta = -100000
. - . a y - - - ---- . - w Respuesta = 59282
jit4uprtrbain#mf4edl**
U1)ü 4 3 d Ahora consideremos un ejemplo con M < N. La resta 13250 - 72532
?,L- produce el número negativo 59282. Al utdizar el prcrcediiento con comple m t o s , tenemos
- h M = 13250
el complemento a números 10 de N = + 27468
d Suma = 40718
m m 4-
No hay acarreo final. -
-m
d - d b La r q u e s t a es el número negativo 59282 = al compIemento a 10 de 40718.
r' U ' I 1 '
Como estamos manejando nbmems sin signo, no hay manera de
ri A obtener un nSimero sin signo en el segundo ejemplo. Cuando trabajamos con
I Pl m papel y lápiz, reconocemos que ia respuesta debe cambiarse a un nCimero
m 6 i JaPi). negativo m n signo. Cuando restamos con mmplementos, La respuesta nega-
ac# ' ' tiva se reconoce por la ausencia de acarreo final y de resultado comple
m a mentado.
La resta por complemento se realha can números binarios de una
manera simiiar, utilizando el mismo procedimiento que se acaba de detallar.
Al usar los dos n b m s binarios X = l O l O I O O y Y = 1000011, efectuamos
la resta X - Y y Y - X utilizando el compIemento a 2:
X = 10101OO
el complemento a 2 de Y = + O111101
suma = 10010001
daechando el acarreo final de 2' = -1000Mfa7
Respuesta: X - Y = o(310001
Y = 1 m 1 1
complemento de niimews 2 de X = + 0101100
Suma = llOllll
No hay acarreo tinal.
ta respuesta es el número negativo 0010001 = compIemento de números 2
de 1101111.
3-3 Representación de punto fija
Los enteros positivos, incluyendo el cero, pueden representarse como núme
ros sin signo. Sin embargo, para representar enteros negativos, necesitamos
una notacibn para valores negativos. En la aritmética simple, un ntímero
negativo se señala con un signo de menos y un número positivo con un
signo de más. Debido a las limitaciones del equipo de c6mput0, las cornpu-
tadoras deben representar todo con números 1 y O, lo cual incluye el signo
de un número. Como consecuencia, es costumbre representar el sipo con
un bit que se coloca en la posici6n al extremo izquierdo del n6mero. La
&, convencibn es hacer que el bit del signo sea igual a O para bs niimeros
pt&# P ositivos y 1 para las negativos,
punto haina o Además del signo, un número puede tener un punto b iar io (o deci-
mal). La posicibn del punto biirio se necesita para representar fracciones,
enteros o nheros que mezclen enteros y fracciones. La representación del
punto binario en un registro es complicada porque se caracteriza mediante
una posicibn en el registro, Existen dos maneras de especificar la posicibn
del punto binario en un registro: otorgarle una posición fija o emplear una
representación de punto flotante. El rn&todo de punto fijo considera que el
punto binario esiá siempre fijo en una posici6n. Las dos posiciones que se
usan con mayor frecuencia son: 1) un punto binario en el extremo izquierdo
del registro para convertir el nhera almacenado en una fraccidn, y 2) un
punto biario en el extremo derecho del registro para convertir el número
almacenado en un entero. En cualquier caso, el punto binario no estA
SEEU~N M Representaa6n de punto fijo 83
presente en realidad pero su presencia se supone porque el número almace-
nado en el registro se trata como una .fracci6n o como un entero. La
representacsn del punto flotante utiliza un segundo registro para almacenar
un número que designa la posici6n de1 punto decimal en eI primer registro.
La representación de punto flotante se analiza en Ia siguiente secci6n.
Representacidn de enteros
Cuando un ndmem,bhario es positivo, el signo se representa con O y la
lrkmoros con signo magnitud por un nheio , hinario positivo. Cuando el ndmero es negativo,
el signo se representa con 1 pera el resto del número puede representarse
, en cualquiera de las tres siguientes maneras:
1. Rqesentación de magnitud de signo.
2 Representaci6n ¿e complemento a números 1 con signo.
3. Representacibn de complemento a 2 con sieno.
h1
La representacih ,de magnitud de signo de un número negativa esta forma-
da por la magnitud y un signo negativo, En las otras dos wresentaciones,
el ndrnero negativo sie representa con el complemento a 1 o 2 de su valor
positivo. Como ejemplo, consideremos el número 14 con signo que se alma-
cena en un registro de 8 bits. + 14 se rep-b wri un bit de signo de O
en la posicidn de la extrema izquierda =pido por el equivalente binario de
14 ~ 0 1 1 1 0 . Debe notarse que cada uno de los ocho bits del registro debe
tener un valor y, por lo tanto, debe inserta@@ O m las posiciones más
significativas del bit de signo, Aunque sólo existe una manera de representar
+ 14, éxiskn tres diferentes maneras de representar - 14 con d o bita.
En representacibn de magnitud de signo 1 OOQlllO
En representaci6n de mmpiemento de números 1 de signo 1 1110001
En repfesentacihn de complemento de números 2 de signo 1 1110010
La repmntaci6n de magnitud de sipo de - 14 se obtiene de + 14 al
complementar s61o el bit de sipo. La q m t a c i 6 n de complemato a 1
4; del signo de - 14 se obtiene al complementar todos los bits de + 14, incluido
't" , el bit de sipo. La re ) )mbc ión de cornphent~ a 2 con signo se obtiene al tomar el complemento a 2 del nQmera positivo, incluyendo su bit de
h signo.
El sistema de magnitud con signo se utiliza en ia aritmética simple pero
es temible cuando se emplea en la arihnktica mputacional. Por lo tanto, en
gmeral se utiliza el complemento con signo. El complemento de 1 implica
dificultades porque time dos xspresentaciones del O (+ O y - O). Se utiliza
m u y rara vez para operaci~nes aritmdticas excepto en algunas computadoras
antiguas. El conyihmmto de 1 es Útil como una opaci6n 16gica parque el
cambii de 1 a O o O a 1 es equivalente a una operad611 de complemento
84 -O Representación de datos
I@$c8. El $igiiiWe iiifisis de la aritmética bina% con signo se refiere
exclusivamente a la representacibn de complementa de 2 con signo de
números negativos.
Suma aritmbtica
La suma de dos números en el sistema de magnitud con signo sigue las
reglas de la aritmdtica simple. Si los signos son iguales, agregamos las dos
magnitudes y le damos a la suma el signo comtín. Si los signos son diferen-
tes, restamos la magnitud menor de la mayor y le damos al resultado el
signo de la magnitud m& grande. Por ejemplo, (+ 25) + (- 37) = - (37 -
25) = - 12 y esto se hace al restar la magnitud m6s pequefia 25 de la mayor
37 y utilizando el signo de 37 para el resultado. Este ec un proceso que
requiere la comparación de los signos y las magnitudes para decpub realizar
una suma o una resta. (El procedimiento para sumar ndmeros binarios en
representaci6n de magnitud con signo se' describe en la secci6n 10-2) En
suma de contraste, la regla para sumar nirmems en el sistema de complemento de 2
eompleme~to a 2 coh signo no requiere una comparación o sustracci6n, sólo una suma y un
complemento. El procedimiento es muy simple y puede definirse como sigue:
sumar los dos ndmeros, incluyendo sus bits de signo, y descartar cualquier
acarreo de la pmici6n ' de bits de signo (extrema izquierda). Los ejemplos
numericos para la suma se mu-an enseguida. Debe considerarse que los
nrimeros negativos deben estar al principio en su complemento de 2 y que
si la suma que ae obtiene después de la adici6n es negativa esta en su forma
de complemento de 2.
%n 2ada uno de 10k cuatro casos, la uperaci6n que se realiza es siempre una
suma, inc1uyendo los bib de signo. Cualquier acarreo de la posición de bit
con signo se descarta y los, resultados negativos están de manera automática
en su Forma de complemento a 2.
La forma de complemento de la repmsentacibn de números negativos
resulta extraña a las personas acostumbradas al sistemade magnitud con
signo. Para determinar el valor de un número n ~ a t i v o cuando está en forma
de eompIernento de 2 con signo, es necesario convertirlo a un niimero
positivo para colocarlo en una forma más familiar. Por ejemplo, el niimero
binario con signo 11111OO1 es negativo porque el bit de la izquierda es 1. Su
complemento a 2 es 00000121, el cual es el equivalente binario de -t. 7. Por
lo tanto, reconocemos que el número negativo original es igual a - 7.
33 R e p m * de punto fijo 85
Resta dbnhtica
resta de La resta de dos números binarios con signo cuando los niimeros negativos
complmmto u 2 estan en su forma de complemento a 2 es muy simple y puede explicarse
como sigue: se toma el complemento a 2 del sustraendo (incluyendo el bit
de signb) y se suma al minuendo (incluyendo el bit de signo). Se elimina el
acarreo de la posición del bit de signo.
Este procedimiento surge del hecho de que una operaci6n de resta
puede cambiarse a una operaci6n de suma si se cambia el signo del
sustraendo.
c Pero el cambio de un número positivo a negativo se consigue con facilidad
al tomar su complemento a 2. Lo opuesto tambiCn es cierto porque el
complemento de un número negativo en su forma de complemento produce
el número positivo equivalente. Considere la resta de (- 6) - (- 13) = + 7.
En binario con ocho bits esto se escribe 11113010 - 11110011. La resta se
cambia a suma al tomar el complemento a 2 del sustraendo (- 13) para que
d& (+ 13). En f o m binaria esto es 11111010 + OM301101 = 100000111. Al
eliminar el acarreo final obtenemos b respuesta correcta OOOOO111 (+ 7).
Vale la pena anbbr que los números binarios en el sistema de comple-
mento a 2 con signo se suman y restan mediante las mismas reglas baisicas
de suma y resta sin signo. Por lo tanto, las computadoras sólo necesitan un
circuito común para manejar ambos tipos de aritmdtica. El usario o progra-
mador debe interpretar los resultados de tal suma o resta en f o m diferente,
ya sea que se considere que los números son con signo o sin signo.
Sobrefluja
Cuando dos números de n digitos cada uno se suman y el recultado ocupa
n + 1 dlgitos, decimos que ha ocurrido un sobreflujo. Cuando la suma se
ejecuta con papel y lápiz esto no es un problema porque no hay un límite
en el ancho de la -pAgina para anotar el resultado. El sobreflujo es un
problema en las computadoras digitales porque eI ancho de los registros es
finito, Un resultado que contenga n + 1 bits no puede acomodarse en un
registro con una longitud estándar dé n bits. Por esta razbn, muchas com-
putadoras detectan cuando sucede un sobreflujo y se establece un flip-flop
correspondiente para que la sittiacidn pueda ser verificada por el usuario.
La detecci6n de un sobreflujo despuk de la suma de dos números
binarios depende de si los números se consideran con signo o sin signo.
Cuando se suman dos ndmeros sin signo, se detecta un sobreflujo del acarreo
final en la posicidn nias significativa. En el caco de números con signo, el
bit a la extrema izquierda siempre representa el signo y los nfimeros nega-
tivos están en forma de complemento a números 2. Cuando se suman dos
86 CAP~TULO TRES Repremtaci6si de datos
nheros con sipo, el bit del signo se trata como parte del número y el
acarreo final no indica un sobreflujo.
Un sobreflujo no puede m r i r después de una suma si un número es
pwitivo y el otro negativo porque sumar un n6mero positivo a uno negativo
produce un resultado que es menor al mayor de los dos números originales.
Puede oeurrir un sobreflujo si los dw nheros que se suman son poeitivos
o negativa. Para ver cómo ocurre esto consider$mos el siguiente ejemplo,
Dos niimeios binarios con signo, + 70 y + 80,, están almacenados en
registros de ocho bits. El rango de números que puede acomodar cada
registro es de + 127 binario a - 128 binario. Como la suma de los dos
niimems es + 150, esto excede la capacidad del registro de ocho bits. Esto
es verdadero si los números son ambos positivos o negativos. La dos sumas
en binario se muestran enseguida junto con los últimos acarreos.
acarreos: O 1 acarreos: 1 0
+70 O lOOO110 -7Q 1 0111010
Debe considerarse que el resultado de 8 bits que de& haber sido positivo
tiene un bit de signo negativo y que el resultado de 8 bits que debía haber
sido negativo tiene un bit de signo positivo. Sin embargo, si el acarreo de
la posicibn de bit de signo se toma como el bit de signo del resultado, la
respuesta de 9 bits que se obtenga ser& correcta. Como la respuesta no puede
acomodarse dentro de 8 bits, decimos que ocurrió un sobrefluja.
dekccion as Puede detectarse una condición de sobxefhjo al observar el acarreo
sobreflujo hacia la posicibn de bit de signo y el acarreo de la posición de bit de signo.
Si estos dos acarreos no son iguales se produce una condici6n de sobreflujo.
Esto se indica en Ios ejemplos en los cuales los dos acarreos se muestran de
manera expllcita. Si los dos acarreos se aplican a una compuerta OR exclu-
siva, se deMrA un sobreflujo cuando la salida de la compuerta = igual. a 1.
Representacidn de1 punto fijo dechal
ia rapremtacidn de númenw decimales en mgistrw es una funcibn del
código binario utilizada para representar un digito decimal. Un código
decima1 de 4 bits necesita cuatro flip-flops para cada dígito decimal. La
representaci6n de 4385 en BCD necesita 16 füpflops, cuatro para cada digito.
El número se representar4 en un registro con 16 flip-flops de la siguiente
manera:
Al representar números en decimal estamos gastando una considerable
cantidad de espacio de almacenamiento porque d número de bits que se
- 6 ~ 3.3 RepreswtaciáPi de punto fijo 87
necesita para almacenar un nlmero decimaa en código binario es mayor que
el nfimero de bitc que se necesita para su representaci6n binaria equivalente.
A d d s , los circuitos requeridos para ejecutar arihktica decimal son &S
complejos. Sin embargo, existen algunas ventajas en la utilización de la
repiresenhcibn decimal porque la entrada y salida de datos de la computa-
dora son generadm por personas que utiSin el sistema decimal. Algunas
aplicaciones, romo las de procesamiento de datos de negocios necesitan
pequeñas cantidades, de dl& aritmgtieos en comparacidn con la cantidad
que se necesita para la entrada y salida de datos decimales. Por esta razón,
algunas computadoras y todas las calculadoras electrónicas realizan opera-
ciones aritm@icas directamente con los dato? decimales (en un &digo bina-
rio) y, por tanto, eliminan la necesidad de convertir a binario y de vudta a
decimal. Algunos sistemas de computadora tienen hardware para cAlculos
arih4ticos con datas tanto binarios como decimales.
La repreentación de números decimales con signo en BCD es similar
a la repmwntaeibn de números con signo en binario. Podemos utilizar el.
sistema de magnitud con signo con el que estamos familiarizados o el
sistema de complementa con signo. Por lo general, el signo de un número
decimal se reprmmta con cuatro bits para que sea congruente con el c6d0io
de 4 bits de los digitos decimales. Tambih se acostumbra designar un signo - mAs con cuatro ceros y -un signo menos con d equivalente de BCD del 9, el
m cual es 1001,
L& Ei sistema de magnitud con signo es dificil de utilizar en computadoras.
El sistema de complemento con-signo puedemr el de complemento a 9 o a
10, pero este último es el que ss utiliza con mayor frecuencia. Para obtener
el complemento a 10 de un número BCD, tomamos primero el complemgnto
a 9 y después un uno al digito menos significativo. El complemento a 9 se
calcula de la resta de cada digito de 9.
El procedimiento desarrollado para el sistema de complemento a 2 con
signo se aplica también al sistema de complemento a 10 con signo para
números decimales. La suma w realiza al agregar todos los digitos, inclu-
yendo el digito de signo y descartando el acarreo final. Obviamente, esto
supone que todos los números negativos están en suforma de complemento
a 10. Consideremos Ia suma (+ 375) + (- 240) = 1- 135 realizada en el
sistema de complemento a 10 con signo.
El 9 en la posie6n a Ia izquierda del @a número indica que es negativo.
9760 es el complemento a 10 de 0240. Se suman bs dos números y el a c a m
final se dacarta para obtener + 135. Por supuesto, los números decimales
dentro de la computadora deben estar en BCD, incluyendo ios cügitos de
signo, La suma se realiza con sumadores 8CD (véase la figura 10-18).
b m Q 2 L a resta de números decimales en el sistema de complemento a 10 con
#d J$ o sin signo es igual que en d caso de las' números binarios. Hay que tomar
p. 4 el complementa a 10 del sustraendo y agregarlo al minuendo. Muchas M '-' computadoras tienen hardware especial para ejecutar cAlculos aritméticos en
d forma &ta con los números dedtnales en BCD. El usuario de la compu-
h tadora pude apecifica~ mediante instrucciones programadas que las opera-
i.rr - ciones aritméticas se ejecuten ron números decimales en forma directa, sin
fi f m r que mnvertir1os a bhrios.
L 1
m 3-4 Representación con punf o flotante
#*!Y y d
' w IA repre~~tadbn con punta flotante de un número tiene dos partes. La
primera parte representa un ntimero del punta fijo con signo llamado man-
maiitisa tisa. La segunda parte representa la posici6n del 'punto decimal (o binario)
eqvotimte y se llama exponente. La rnantisa de punto fijo puede ser una fraccibn o un
entero. Por ejemplo, el número decimd $. 6132.789 ce rep-ta en punto
flotante con una fraccibn y un exponente como sigue: - -- ,>- m ' * WWWp Fraccih Exponente
$ rJ1 -* C 0.6132789 m * + 04
El valor del exponente indica que la posición real del punto decimal está
cuatro posiciones a la depecha del punto de~imaI~indicado en la fracción. Esta
repmtación es equivalente a la notaci6n científica + 0.6132789 X 10*q
El punto flotante sihpre se interpreta m o una representacibn de un
ndmero en la siguiente forma:
~1*h&a;t~r -L d. 2 m
S610 la mantisa m y erexponen& e se xepresénh3Z manera fisica en el
registro (incluyendo sus signos). La base r y la posicl6n del punto de la base
de Ia mantisa se asumen siempre: Las circuitos que manipulan los números
de punto flotante en registros se apegan a estas dos consideraciones para
proporcionar los tesdtados de cómputo correctos.
Un número binario de punto flotante se representa de manera similar
excepto que utiliza la base 2 para el exponente. Por ejemplo, el número
bLnario + 16jll.11 se representa con una fracción de 8 bits y un exponente
de 6 bits de la manera siguiente:
abrega A~racci6n E x p o m t e
d-4 01001110
r C i a ~ I ~ ~ ~
W d n * * La fracci6n tiene un O en la p1ci6n a la extrema izquierda para denotar que ,,-n
es posttlva. El punto binario de la fracci6n está después de¡ bit de signo pero
no aparece en el registro. El exponente tiene el nGmero binario equivalente
+ 4. número de punto flotante es equivalente a
m x F = +(.1001110)2 x Z+'
noma ftzacibn Se dice que un númer~ de punto flotante esa n m l i u i d o si el dígito
más sipifmtivo de h mantisa es diferente de cero, Par ejemplo, el niimero
decimal 350 está nomaiizado pro 000% no lo está. Sin considerar la
posicidn en la que se asume el punto de base en la mantisa, el número estA
nomializado d o si su dígito de la extrema izquierda es diferente de cero.
Por ejemplo, el número binario de 8 bits .00011010 no estd normalizado por
los tres primeros dígitos O que contiene. El número puede normalizarse al
cambiarlo tres posiciones hacia la izquierda y descartar los primeros O para
obtener 11010000. h tres cambios multiplican el número por 2 = B. Para
mantener el mismo valor para el número de punto flotante, al exponente
debe r e s m e 3. Los números normalizados proporcionan la máxima preci-
si6n posible para los n h m s de punto flotante. Un O no puede normalizarse
porque no tiene un digito diferente de cero. Por 10 peral , se representa el
punto flotante por Únicamente Q en la mantisa y en el exponente.
las operadones aritmkticas con números de punto flotante con mhs
complicadas que las que se ejecutan con punto fijo y su ejecucidn requiere
más tiempo y hardware m69 complejos. Sin embargo, la representación de
punto flotante es esencial para los c~lculos científicos por los problemas
relacionados con la escala que aparecen con 10s dlculos de punto fijo.
Muchas computadoras y todas las calculadoras electrónicas timen implícita
la capacidad de ejecutar operaciones aritm&ticas de punto flotante. Las com-
putadoras que no tienen hardware para cáiculos de punto flotante tienen un
conjunto de subrutinas para ayudar al usuario a programar problemas cien-
tificos con números de punto flotante. Las operaciones aritm6ticas con nú-
meros de punto flotante se analizan en la secci6n 10-5.
3-5 Otros códigos binarios
En d o n e s anteriores prem~tamas lw tipos más comunes de datos y cbdigo
binario que se encuentran en las computadoras digitales. En ocasiones, se
utilizan otros c6digos binarios para números decimales y caracteres alfanu-
méricos. Las computadoras digitales también emplean otros c ó d i p b i i r i o s
para aplicaciones especiales. En esta seccibn, se presentan unos mantos
cbdigos bina& adiciormh que se ennientran en las computadoras digitafes.
C&digo Gray
Los sistemas digitales pueden procesar datos s6lo de manera discreta.
Muchos sistemas físicos proporcionan salida continua de datos. ius datos
deben conve* a su forma djgital antes de que puedan ser utilizados por m una computadota digital, La infonnacih continua o ansloga se convierte a
su forma binaria mediante un convertidor and&@co/digital. Ei código bina-
c6digo p y no reflejado D d i g o Gray que se muestra en la tabla 3-5, se utiliza en
ocasion~ para los datos convertidos a digitaies. Ia ventaja del código Gray
sobre los nheros biiariw directos es que sólo cambia un bit conforme
avanza de un número al siguiente. En otras palabras, el cambio de cualquier
n h e m al siguiente en una secuencia se reconoce mediante un cambio de
solamente un bit de O a 1 a de 1 a O. Una aplicacibn tlpica del &ligo Gray
se presenta cuando los datos análogos se representan mediante un cambio
continuo de m pmicibn relevánte. La parte relevante se divide en sepen-
tos y a cada segmento se le asigna un número. Si se hace que segmentos
adyacentes correspondan a nherm en &digo Grag adyacentes, se reduce
la ambifledad cuando la posici6n relevante está en la línea que separa dos
segmentos cualquiera.
En ocasiones se utilizan contadores en código Gray para proporcionar
las wenc ias de temporizaci6n que controlan las operaciones en un sistema
digital. Un contador en c a g o Gray es aquel cuyos flip-flops recorren una
secuencia de estada según se especifica en la tabla 3-5. Los contadores de
c6digo.Gray eliminan la ambigüedad durante el cambio de un estado del
contador al siguiente porque s61o cambia un bit durante la transición de
estado.
Otros chdigos decimales
Los códigos binarios para digitos decinials necesitan un mínimo de cuatro
bits. Pueden formularse muchos ddigos difermtes a'l arreglar cuatro a m8s
bits en 10 posibles combinaciones diferentes. En la tabla 3-6 se muestran unas
cuantas posibilidades.
Ya se ha visto b que es un .BCD (decimal codificado en bhario). UtiIia
una asignacibn directa del equivalente binario del digito. Las seis combina-
TABLA 3-5 sigo Gray de 4 bits
mi@ w v a l e n k Código Equivalente
bario decimal binado decimal
cddigo con
=eso de I
TABLA 3 4 Cualro c 6 d i p Mas diferenks para el dfgib decimal
Digito BCD Gray con
decimal 8421 2421 De exceso 3 exceso 3
1010 O101 0000 0000
Combim 1011 O110 O001 O001
dones 1100 O111 0010 001 1
de bit 1101 lo00 1101 1M)I)
sinusal. 1110 1001 1110 1001
1111 1010 1111 1011
ciones listadas de bits que no se usan no tienen ningún valor cuando se
utiliza BCD, igual que la letra H no representa nada cuando se anotansimbolos de dfgitos decimales. Por ejemplo, decir que 1001 1110 es un
nbero decimal en BCD es como decir que 9H es un ndmero decimal en la
denominaai6n de signos conv&cional. Ambos casas tienen un signo invdiido
y por lo tanto repmsentan un número sin significado.
Una desventaja de utilizar BCD es ia dificultad que se encuentra cuan-
do se va a capturar el complemento a 9 del nhmero. Por otra parte, el
complemento a 9 se obtiene fácilmente con los códigos 2421 y de 3 en exceso
que se listan ea la tabla 3-6. Estos dos códigos tienen una propiedad
a u t o c o m p h t a r i a autbmmplementaEia que, significa que todos los complementos a 9 de un
niimero dechal, cuando se representan en una de estos cbdigos, se obtienen
con facilidad al cambiar Lm 1 a O y los O a 1. Esta propiedad es útil cuando
se realizan operadone arihnCticas en rep-tación del complemento con signo.
c6digo ponáerado E1 2421 es un ejemplo de un c6digo ponderado. En el que los bits se
multiplican por las posiciones indicadas y la suma de los bits proporciona
el dfgito decimaI. Por ejemplo, una combiiaci6n de bits 1101, cuando se
posiciona con los digitos 2421 respectivos, praporciona el equivalente deci-
mal de 2 X 1 + 4 X 1 + 2 X O + 1 + 1 = 7. Pueden asignarse al c6digo
BCD las ponderaciones 8421 y por esta razBn en ocasiones se les llama
c6digo Mil.
El código de exceso 3 es un código decimal que se ha utilizado en
computadoras anteriores. Este es un c6digo sin ponderacidn. Su asignación
pueden corregirse pero se señala su p-cia. El p d i m i e n t o usual es
observar la frecuencia de los errores. Si &tos ocurren al azar, h información
err6nea particular se transmite de nuevo; si ocurre w n demasiada frecuencia,
w verifica el sistema para encontrar la faila.
El c a p de detehcibn. de error que se utiliza con mayor fkuencia es
bit & paridad el bit de pridad. 'lln bit de paridad es un bit extra que se incluye con un
mensaje binario que hace h cantidad total de unos par o impar. En la tabla
I ' l ? 3-7 se muestra un mensaje de tres bits. y dos bits de paridad posible. El bit P (impar) se eüge de m e r a que haga la suma de todos los 1 (en todos los
cuatro bits) un n h o impar. El bit P (par) ,se elige para que haga la suma
de todw los 1 un número par. En cualquier caso la suma se realiza de
acuerdo al mensaje y al bit P. En cualquier aplicación particular, se adoptar4
uno u otro tipo de paridad. El esquema de paridad par tiene Ia desventaja
de contar con una combinación de bits en que todos son O, mientras que en
la paridad impar siempre hay un bit de 1 {de los cuatro que conforman el
mensaje y P). h b e recordarse que P [impar) es el complemento de P (par).
Durante la transferencia de infonnaci6n de una posici6n a otra el bit
de paridad se maneja como sigue. En el extremo desde donde se envh el
gmrrrrfor de prrntdad mensaje (en este caso tres bits) se aplica a un generadm de pridad, donde se
genera el bit de paridad querido. El mensaje, incluyendo el bit de paridad,
se transmite a su destino. En el extremo donde se reciben, todos los bits que
comprobador llegan (en este caso cuatro) se aplican a un comprobndur de pridnd, que
de patlfdd v d c a la paridad adecuada adoptada (impar o par). Se detecta un error si
la paridad comprobada no se apega a la paridad adoptada. El &todo de
paridad detecta la presencia de uno, tres, o cualquier cantidad impar de
errores. No se detecta un numero par de errores.
Las redes generadoras y comprobadoras de paridad son circuitos 16gi-
cm que se construyen con funciones OR exclusivas. Esto se debe a que, como
se mencion6 en la seccibn 1-2, la funci6n OR exclusiva de tres o más
+idn impar variables es por defrnicidn una función impar. Una funci6n impar es una
M ó n 16gica cuyo valor es un binario si, y 5610 si, un número impar de
TABLA 3-7 G e n d 6 n de un bit de paridad
Mensaje
XYz P (impr) P (par)
94 CAP~TULO TRES Representación de datos
variables es igual a 1. De acuerdo con esta definición la función P (par) es
la OR exclusiva de x, y, y z porque es igual a 1 cuando cualquiera o las tres
variables son iguales a 1 (tabla 3-7). La función P (impar) es el complemento
de la función P (par).
Como ejemplo, consideremos un mensaje de 3 bits que se va a trans-
mitir con un bit de paridad impar. En el extremo desde donde se envía, el
bit de paridad impar se genera mediante un circuito generador de paridad.
Como se muestra en la figura 3-3, este circuito está formado por una
compuerta OR exclusiva y una compuerta NOR exclusiva. Como P (par) es
la OR exclusiva de x, y, z y P (impar) es el complemento de P (par), es
necesario emplear una compuerta NOR exclusiva para la complementación
necesaria. El mensaje y el bit de paridad se transmiten a su destino, donde
se aplican a un comprobador de paridad. Ha' ocurrido un error durante la
transmisióno si la paridad de los cuatro bits recibidos es par, porque la
información binaria transmitida era impar origliialmente. La salida del com-
probador de paridad debe ser 1 cuando ocurre un error, esto es,, cuando el
número d e 1 en las cuatro entradas es par. Como la función OR exclusiva
de las cuatro entradas es una función impar, de nuevo necesitamos comple-
mentar la salida mediante el uso de una compuerta NOR exclusiva.
Vale la pena hacer natar que el generador de paridad puede utilizar el
mismo circuito .que el comprobador de paridad si la cuarta entrada se
mantiene en forma permanente en un valor O lógico. La ventaja de esto es
que puede usarse el mismo circuito para la comprobación y generación de
la paridad.
Figura 3 3 Detección de error con un bit de paridad impar.
Fuente
X
Destino
X
,(PIiY
Generador de paridad Comprobador de paridad
Indicación
de error
Problemas 95
En el ejemplo anterior es evidente que pueden implantarse generadores
y comprobadores de paridad par con funciones 0R exclusivas. Las redes de
paridad iml necesitan una NOR excIusiva en la salida para complementar
la función.
3-3 Convierta los siguientes n h e r o s binarios a decimales: 101110; 1110101 y
110110100.
3-2 Convierta los siguientes niltmems con las bases indicadas a decimales:
A- (12121k (431015; (501, y (198),,.
3-3. Convierta los siguientes números decimales a bimrios: 1231; 673 y 1998.
34. Convierta las siguientes nCuneros decimales a las bases indicadas.
a. 7562 a octd.
b. 1938 a hexadecimal.
C, 1% a binario.
J . Convierta el. n h e m hexadecirnal F3A7C2 a binario y &l.
36, ¿Cuál es la raíz de 10s nheros si la solucibn a la eeuacihn cuadrstica ~c,
-Ti--- - 1 0 ~ + 3 1 = O ~ S X = ~ Y X = ~ ?
r d v m 3-7ic- Muwtre el valor de todos los bits de un registro de 12 bits que contiene la
U dblF cantidad equivdente a 215 decimal m: a) bina'rio; b) octal edificado en
binario; e) hexadecimal codificado en binario; d) decimal codificado
-+- en bina50 (BCD). m 3-8. Muestre k conf@raEi6n de bits de un registro de 24 bits cuando su conte
nido w t a el decimal equivalente de 295: a) en binario; b) en BCD; c)
en A- utilizando ocho bits con paridad par.
4 Escriba su propio nombre en ACCII utilizando un d i g o de odio bits en que
el bit de la extrema izquierda siempre 0. Incluya un espacio entre los
nombres y un punto despuh de su segundo apellido.
3-10. Descifre el siguiente código ASCE
lMllOl0 1OO1111 1001000 1OO1110 0 1 0 m 1OOO1OO 1OO1111 lOOOlOl
3-11. Obtenga el eomplem~to a 9 de ios siguientes nfimeroc decimales de ocho
&@tos: 12349876; 00980100; 90009951; y 000000010.
- -12, Obtenga el complementa a 10 de 1- siguientes números decimales de seis
dígitos: 123900; 090657; 100000; y Q00000.
3-l3. Obtenga los c o m p h e n b a 1 y 2 de los siguienenkm ndmeras binarios de ocho
di@- 10101110: 10000001; lNMN€W; 00000001; y 00000000.
3-14. Ejecute la resh con Iw siguientes n h e r o s decimal= sin signo tomando el
complemento a Id) del siisbaendo.
a. 5250 - 132 b. 1753 - 8640
c 20-100 d. 1200 - 250
96 c~~f.rrn0TRES Representación de datos
3-15. Realice la resta con los siguientes números binarios sin signo tomando el
complemento a 12 del sustraendo.
a. 11010 - 10000 b. 11010 - 1101
C. 100 - 110000 d. 1010100 - 1010100
3-16. Realice las operaciones aritméticas (+42) + (-13) y (-42) - (-13), en binario
utilizando la representación de complemento a 2 con signo para números
negativos.
3-17. Realice las operaciones aritméticas (+ 70) + (+ 80) y (- 70) +(- 80) con
números binarios en representación de complemento a 2 con signo. Utilice
ocho bits para acomodar cada número junto con su signo. Muestre el
sobreflujo que ocurre en ambos casos, que los dos últimos acarreos son
diferentes y que hay un signo inverso.
3-18. Realice las siguientes operaciones aritméticas con los números decimales
utilizando representación de complemento a 10 con signo para números
negativos.
a. (- 638) + (- 785)
b. (- 638) - (+ 185)
3-19. Un número binario de punto flotante de 36 bits tiene ocho bits para el signo
del exponente y 26 bits más el signo para la mantisa. La mantisa es una
fracción normalizada. Los números en la mantisa y el exponente están en
representación de una magnitud con signo. ¿Cuáles son las cantidades
positivas más grande y pequeña que se pueden representar excluyendo el
cero?
3-20. Represente el número (+ 46.5),, como un número binario de punto flotan-
te con 24 bits. La mantisa de fracción normalizada tiene 16 bits y el
exponente 8.
3-21. En ocasiones el código Gray se llama código reflejado porque los valores de
los bits se reflejan en ambos lados de cualquier valor 2". Por ejemplo, como
se muestra en la tabla 3-5, los yalores de los 3 bits de orden menor se reflejan
sobre una línea dibujada entre el 7 y el 8. Usando esta propiedad del código
Gray obtenga:
a. Los números del código Gray para 16 hasta el 31 como una continuación
de la tabla 3-5.
b. El código Gray en exceso de 3 para los decimales de 10 a 19 como una
continuación de la lista en la tabla 3-6.
3-22. Represente el número decimal 8620 en: a) BCD; b) código de exceso 3; c)
código 2421; d) como un número binario.
3-23. Liste los 10 dígitos BCD con una paridad par en la posición a la extrema
izquierda (un total de cinco bits por dígito). Repita con el bit de paridad
impar.
3-24. Represente el número decimal 3984 en el código 2421 de la tabla 3-6. Com-
plemente todos los bits del número codificado y muestre que el resultado es
complemento a 9 de 3984 en el código 2421.
3-25. Muestre que la función OR exclusiva x = A @ B @ C @ D es una función
impar. Una manera de demostrar esto es obtener la tabla de verdad para
y = A @ B y para z.= C @ D y después formular la tabla de verdad para x
= y @ r. Compruebe que x = 1 sólo cuando el número total de 1 en A, B, C
y D es impar.
3-26. Derive los circuib para un generador de paridad de 3 bits y para un
comprobador de paridad de 4 bits utilizando un bit de paridad par. (tos
circuitos de la figura 3-3 utilizan paridad impar.}
1. Hill, F. J. y G. R. Petercon, ItitrPduction tu Switching Theoty and Logical Dssign, 3a. Ed.
Nueva York: John Wiley, 1981.
2. iaqholz, G., J. Francioni, y A. Kandel, Elemmts aJComputer Organimtwn. Englewaad
Cliffs, NJ: Prentice Hall, 1989.
3. Lewin, M. H., Logical Design nnd Computer Urguniui tion. Readiig, MA: Addison-We
ley, 1983.
4. Mano, M. M., DigM D e , 2a M. Englewd Cliffs, NJ: Prentice Hall, 1991.
5. Ro* C. H. Futndametttals ofi@ &S@, 3a. Ed. St. Paul, MN: West Publishing, 1985.
6. Sandige, R S., Mhfern Digifal Design. Nuwa York: McGraw-Ha, 1990.
7. Chipa, S. G., Intlvrduction fo Logic h i g n . Glenview, II: b i t , Foresman, 1988.
8. Tomek, I., intmduction to Computer Orgnniurtton. Rockville, M D Computa Scienee
Press, 1981.
9. Wakerly, J. F., Micmmptrter Architecture and Prrrgraitrniing. Nuwa York John Wdey,
1981.
10. Ward, S. A., y R. H. Halstead, Jr., Computation Struct tires. Carnbridge, MA: MlT Press,
1890.
EN ESTE CAP~TULO
4-1 Lenguaje de transferencia de registros
4-2 Transferencia de registros
4-3 Transferencias de bus y de memoria
4-4 Microoperacioncs aritméticas
4-5 Microoperaciones lógicas
4-6 Microoperaciones de corrimiento
4-7 Unidad de corrimiento lógico aritmetico
4-1 Lenguaje de transferencia de registros
Un sistema digital es una interconexión de módulos de hardware digital que
realizan una tarea específica de procesamiento de información. Los sistemas
digitales varían en tamaño y complejidad desde unos cuantos circuitos
integrados hasta un complejo de computadoras digitales interconectadas e
interactivas. El diseño de sistemas digitales utiliza de manera invariable un
enfoque modular. Los módulos se construyen a partir de componentes
digitales como registros, decodificadores, elementos aritméticos y lógica de
control. Los diferentes módulos están interconectados con los datos y las
trayectorias de control comunes para formar un sistema de computadora
digital.
Los módulos digitales se definen mejor por los registros que contienen
y las operaciones que realizan sobre los datas que almacenan. Las operacio-
nes que se ejecutan sobre los datos almacenados en los registros se llaman
nricrooperación microoperaciones. Una microoperación es una operación básica realizada
sobre la información almacenada en uno o mas registros. El resultado de la
operación puede sustituir la información binaria anterior-de un registro o
puede transferirse a otro. Algunos ejemplos de microoperaciones son despla-
100 C A P ~ ~ J M CUATRO Transferda de registro y micmopera~iones
lenguaje de
transferencia
de rsgistros
mr, rodar, borrar y cargar. Algunos de los componentes digitales que se
presentaron en d ~apitulo -2 sun registros que sirven para realizar microope-
raciones. Por ejemplo, un mnhdor con carga paralela puede realizar las
mirrooperaciones de incremento y carga; un registro de desplazamiento
bidireccional puede realizar las microoperaciones de desplazamiento a la
derecha y a la izquierda. m
La organizad611 interna del hardware de una computadora digital se
define m+r, al e$p&ificak. + .
l. B conjunto de iégistros que contiene y sus funciones.
2. La secuencia de rnicrooperaciones que se realizan sobre la informa-
ci6n binaria almacenada en los registros.
3. El control que inicia la secuencia de microoperaciones.
Es posible ~ p i f i c a r la secuencia de microoperaciones en una compu-
tadora, al explicar cada qeracibn en palabras, pero este procedimiento por
lo general representa una extensa explicaci6n descriptiva. Es m6s conveniente
adoptar una simboIogía conveniente para describir la secuencia de transb
rencias entre registros y las diferentes microoperaciones aritdticas y lbgicas
asociadas con las transferencias. El uso de símbolos en lugar de una expii-
c d n narrativa proporciona una manera organizada y concisa para enlistar
las secuencias de microoperaciones en los registros y las funciones de control
que las inician.
IA notacidn simb6lica que se u tiliza para describir las transferencias de
microoperaciones entre registros se llama lenguaje de transferencia de regic-
tros. El t b i n o "transferencia de registros" implica ia disponibilidad de
circhitos 16gikos de hardware que puedan efectuar una micmperaci6n de-
finida y transferir el resultado de la operaci6n al mismo o a otro registro.
La palabra "lenguaje" se toma prestada de 1- programadores, quienes apli-
can este t6nnho a los lengaajes de programacibn. Un lenguaje de progra-
maci6n es un p d i m i e n t o para escribir símbolos con el fin de especificar
cierto p m computacional. De igual manera, un lenguaje natural, como el
ingk, es un sistema para escribir simbolw y combinarlos en palabras y
enunciados para la comunicación entre personas. Un lenguaje de transferen-
lcia de registros es un sistema para expresar en forma simb6lica, las semen-
5; cias de microoperaciones entre los registros de un m6dulo digital. Es una
*m herramienta convenientepara describir la organizaci6n interna de las com-
putadora~ digitales de una manera precisa y concisa. Tambih puede usarse
M para facilitar el proceso de diseñar sistemas digitales.
- a EL lenguaje de transferencia de registros que se adopta aquí se considera
lo m8s sencillo posible, para que no sea dificil de memorizar. En seguida
d ~ m o s los símbolos para diferentes tipos de microoperaciones y al
d a & mismo tiempo dwribiremos el hardware asotiado con el que se pueden
llevar a cabo, las micrmperaciones planteadas. La denominaci6n sirnbdlica
que se presenta en este capitulo w optimizeirii en capltulos posteriores para
-
SECCIm 42 Transferencia de registros 101
especificar las transferencias de registros, las microoperacianes y las funcio-
nes de control que describen la organización interna del hardware de las
computadorras digitales. Se puede apmder con facilidad otra sirnbología una
vez que se familiariza uno con este lenguaje, porque la mayoría de las
diferencias entre bs lenguaje de transferencia de registros, consisten en
variaciones de bs detalles más que en el propósito general
4-2 Transferencia de re& tros
Los registros de computadora es& representados por letras mayúsculas (en
ocasiones seguidas de niimems), para denotar la funci6n del registro. Por
ejemplo, el registro que contiene una direcci6n para la unidad de memoria,
por lo .general se llama un registro de direccionamiento de memoria y se
designan las letras MAR por sus siglas en inglés (rnemoy address register).
Otros nombres para registros son PC (contador de programa), IR (registro
de instruccibn) y R1 (registro de pmesador). Los flip-flops individuales en
un registro de n bits están numerados en una secuencia de O hasta n - 1,
comenzando desde O eii la pici6n de Ia extrema derecha y aumentando los
números hacia la izquierda. La figura 4-1 muestra la repxesentacihn de
registros en forma de diagrama de bloque. La manera mbs común de
representar un registro es mediante una caja rectangular con el nombre del
registro dentro, como en la figura 4 l (a) . tos bits individuaIes pueden
distinguirse como en el ejlnp10 (b). La numeraci6n de bits en un registro de
16 bit, puede señalarse en la parte superior de la caja, como se muestra en
el ejemplo (c). Un registro- de 16 bits se divide .en 2 partes en el ejemplo (d).
Los blts dd O al 7 reciben el simboIo L (byte bajo) y los bib del 8 al 15 reciben
el simbolo H (byte alto). El nombre del registro de 16 bits es PC. El simbolo
PC (0-7) o PC (L) denomina el byte de orden menor y PC (ü-15) a PC (H)
designa al byte de orden mayor.
~rnitsjhnda La transferencia de información de uii registra a otro se representa en
de regisfrss forma simbólica mediante un operador de sustituci6n El enunciado
Figura 4-1 Diagrama de bloque de un regish.
c) Numeración de bita d) Dividido en dos partes
R1 I 7 6 5 4 3 2 1 0
a) Registra R b) Aspxto de Ice bits Individuales
102 CAP~TULO CUATRO Transferencia de registro y microoperaciones
denota una transferencia del contenido del registro R1 al registro R2. Desig-
na la sustituci6n del contenido de R2 por el contenido de R1. Por defini-
ddn, el emhido del registro fuente R1 no cambia después de la transfe
rencia.
Un enunciado que especifica una transferencia de registro implica que
estiin disponibles circuitos de Ia salida del registro fuente a la entrada del
registro destino y que el registro destino tiene capacidad de carga paralela.
Normalmente, deseamos que la transferencia ocurra s610 bajo una condición
de control predeterminada. Esto puede mostrarse mediante un enunciado si,
entonces (if-fh)
Si (P = 1) entonces (R2 + ~ 1 )
donde P es una &al de control que se genera en la seceibn de control. En
ocasiones es conveniente separar las variables de control de la operaci6n de
Fmdh de control transfemcia de registros al especificar una función de cmfrol. Una funcibn
de control es una variable holeana, que es igual a O o a 1. La funcián de
control se incluye en e1 enunciado como sigue:
La condición de control se termina con un signo de dos puntos. Representa
la necesidad de que la operaci6n de transferencia sea ejecutada s61i por el
hardware si P = 1.
Cada enunciado escrito en notacián de transferencia de registros impli-
ca una estnictura de hardware para realizar la transferencia. La figura 4-2
muestra el diagrama de bloque de la transferencia de R1 a R2. Las n salidas
del registro R1 están conectadas a las n entradas del registro R2. La letra n
se usar4 para indicar cualquier cantidad de bits para el registro. Se sustituirá
por un n h e m real cuando se conozca eI tamaño del rrgistro. El registro R2
tiene una entrada de carga que activa la variable de control P. Se considera
que la variable de control esta sincronizada con el mismo reloj que se aplica
al regish. Como se muestra en el diagrama de ternporización, P se activa
m la secci6n de control mediante el flanco ascendente de un p u b de reloj
en el tiempo t. La siguiente transicidn positiva de1 reloj en el tiempo t + 1
encuentra activa la entrada de carga y las. entradas de datos de ID se cargan
a su vez en el registro en paralelo. P puede regresar a O en el tiempo t +
i; de otra manera, la transferencia ocurrird con cada transicidn de pulso de
reloj mientras P permanece activa.
Debe notarse que el reloj no se incluye como una variable en los
enunciados de transferencia de registros. Se considera que todas las trans-
ferencias ocurren durante una transicibn de flanco de reloj. Aunque la
condición de control P se activa hediatamente después del tiempo t, la
SBCCI~N Transfeda de canal y de memoria 103
La tmmferencia ocurre aqiii-
b) Diagrama de temprización
Figura 4-2 Transferencia de Rl a R2 cuando P = 1.
transferencia real no ocurre hasta que se activa el registro mediante la
siguiente transición positiva del reloj en el tiempo t + 1.
LQS símbolos bAsicos de la notaci6n de transferencia de registros se
listan en la tabla 41. Los registros es& representados por letras mayCisculas
y los nCimems pueden estar despub de las letras. Se usan parhtesis para
&alar una parte de un registro al "peciñcar el rango de los bits o al otorgar
un nombre simbólica a una parte de un registro. La flecha significa una
transferencia de informacibn y su direccibn. Se usa una coma para -arar
dos o m& operaciones que se ejecutan al mismo tiempo. El enunciado
representa una operacibn que intercambia d contenido de dos registros
durante un pulso de reloj común, siempre y cuando T = 1. Esta operación
simultiínea siempre es posible con registros que tienen flip-flops activados
con flancos.
4-3 Transferencia de canal v de memoria
Una computadora digital típica tiene muchos regiskm, y se deben propor-
cionar trayectorias para transferir infomacibn de un registro a otro. La
cantidad de alambres ser4 excesiva si se usan líneas separadas entre cada
m # A R ~ TransfefPnda de registro y mkrooperacimes
- TABU 4-1 S-1- W s h para transferencias de registros
Sfmbd~ Descripción Ejemplos
tetras - - Representa iIn registro MAR, R2
& iiumerales)
Paréntesis ( ) Representa parte de un registra R2(0-7), RZ(L)
flecha Represenb transferencia de infmacibn R2 + R1
Cama, Separa dos microoperaciones R2 + R1, R1 + R2
. registro y >todos los qtros que wnforman el sistema. Un esquema mAs
1 '
. eficiente paka transkerif la infopani6n entre los registros, en una configura-
bus común
'
"ci6h de registros rniiltip6; es un sistema de canal (bus) común. Una estFuc-
tura de bus mnsb-de un conjunto de líneas comunes, una para cada bit de
un reeistwi, mediante las cuales se transfiere hformaci6n binaria una a la - . .
vez. U ~ S 'seilales de c0%01 determinan cu4l registro selecciona el bus
durante cada transferencia d e registro particular.
Una manera de consmir un sistema de bus común es con muItiplexe
res. Los rnultiplexo~e6 seleccionan el qis t ro fuente, cuya informaci6n biaria
se col6kad'espuks en el bus. 'Lá construcci6n de un sistema de bus para
cuatro registros se muestra en la figura 43. Cada registro tiene cuatro bits,
numerados del O al 3. El bus está formado de 4 multipIexores 4 X 1, en el
' 1'
-' qu@ cada uno tiene cuatro mtradas de datos, de1 O al 3, y dos entradas de
detci8sr Si y Para no cohplicar el &@ama cm 16 líneas que se cruzan
mtfe SI, utilizamos, etiquetas para mohhar 'las conexiones de las salidas de
los registros a .la4 entradas -de los multiple~&. Por qernplo, la salida 1 del
registro A está conectada a la entrada O del MUX 1 porque esta entrada se
etiqueta Ai. 81 bits & la dsma posición signifi-
cativa m cada a las dtradas de datos de un
m . ' rnulkiplemr para formar tina lhed eii. el Bils. Por lo tanto, el MUX O hace
funcibrlar d multiplexor sobre 'los cuatro bits 17 de los'registms, el MUX 1
hace funcionar el multiplexor sobre 10s cuatro bits 1 de los registros y sucede
igtial para tlos otros dos bits.
selecidtl de bus Las dos beas de dmci6n SI y So estdn conectadas a las entradas de
seldi6n de los cuavfo mrlltiplexo&. Las' aiatto lheas de seleccidn escogen
lm'ntatro bits de bn registro y los -transfieren eri el bus comdn de cuatro
heas. Caarido &So = 00, hs énfradas de datos O de los cuatro multiplexores
se seleccionan y se aplian a las salidas que forman el bus. Esto hace que las
líneas del bus reciban el contenido del registro A dado que las salidas de
este regiptro 5th con~tadas a lps entradas, de $atas O, de los multipIexores.
be i&$l danera se &cciona el registro B si SISO = 01 y asf sucesivamente
La tabla 4-2 muestra el registro que decciona el bus para cada uno de los
cuatro valores- binaribs po6ibTes de las heas 'de seletci6n.
Eh genetal, 'un s i s tm de bus hará füncihnai el multipiexm sobre k
ieghtros de n 6its cada uno, para producir un bus común de n líneas. La
smbf ir 4-3 Transferencia de 4 y de memoria 105
Figura 9-3 Sistema de bus para cuatro registra.
S1 -
so - * -
cantidad de multiplexom que se necesitan para construir el bus es igual a
n, la cantidad de bits en cada registro. E1 tamafío de cada multiplexw debe
ser k X 1 dado que hace funcionar d mdtiplexor sobre k iíneas de datos.
Por ejemplo, un bus comdn para 8 registros de 16 bits cada uno, necesita 16
muitiplexoms, uno para cada hea en el bus. Cada mdtiplexor debe tener
&o üneas de entrada de datos y tres heas de selwci6n para hacer funcio-
nar el mdtipIaor sobre un bit significativo en los mho registros.
TABLA e 2 Tabla de furifi6n para $1 bus de la fiel 4-3
Buscom6n
de cuatro
St SO Registro seleccionado
- -
t . = lbeas
+
.
* 4 x 1 -+ 4 X 1 + - 4 x 1
3 2 1 0 1-1 ;.; 1 LXi -1 ;; 1
D2 C2 8 2 A2 Di CI BI A I 4 CO BD AO
4 X 1
A2 A i Ao
I
DZ Di Do cz CI co
t t t f t t t t - t . t t t
3 2 1 O . 3 2 1 0 ' 3 2 1 0 3 2 1 0
BZ BI Bo
h transferencia de infamación de un bus dentro de uno de muchos
registros de destino se puede lograr al conectar las lineas de bus a las
entradas de todos lo registros de dstino y activar el control de carga del
registro de destino particular que- se ha selecQonado. El enunciado 6imb6lico
para una transferencia de bus puede mencianar el bus o su presencia puede
estar impiícih en el enundada. Cuando se incluye e1 bus en el enunciado,
h transferencia de registros se representa de la siguiente manera:
El cohtenido del registro C se coloca en el bus, y el contenido del bus se
carga en d e t r u RI, al activar su entrada de control de carga. Si sabe que
el bus existe .q el sidterna puedg ser conveniente m o s m &lo la. gansfecen-
cia directa.
A partir de este enunciado, el disefiador sabe cuales seildes de control deben
activa- para producir la transferencia por el bus.
Canal de bus de tres estados
compuerfa de Puede construirse un sistema de bus con compuertas de tres estados en lugar
tres estados de mtiltiplexoreg. Una compuerta de tres estados es un circuito digftal que
exhibe tres estados. Dos de los estados son sefiales equivalentes a los
números 1 y O 16gicos, como en una compuerta convencional. El tercero es
a" 'mpedancin un estado de alta impednncia. El estado de alta impedancia acNa como un
circuito abierto, lo que significa que la salida está dmnectada y no tiene
importancia 16gica. Las compuertas de tres estados pueden realizar cual-
acoplador quier procedimiento ldgica convencional, como una AND o NAND. Sin
embergoi b que se usa con mayor kuencia en el disefio de un sistema de
bus es la compuerta de acoplamiento.
El,slmbala gdfics de una compuerta de acoplamiento de tres estados
se muestra en la figura 44, Se distingue de una de acoplamiento normal
porque tiene . w a entrada namd y una entrada de conbL, La entrada de
control determina el estado de la salida. Cuando la entrada de control es
igual a 1, se habita la salida y la compuerta actúa como cualquier acoplador
convencionaL donde la salida es igual a la entrada normal. Cuando la
entrada de control es O, la salida se deshabilita y la compuerta va a un
Figura 4 4 Súnbol~ gráfiw para un amplador de tres estados.
Entrada normal A Salida Y = A si C = 1
Alta impedancia si C = O
Enhada de control C
SECCaSN 4-3 Transferencia de canal y de memoria 107
estado de a l h impdanda, sin codderai el valor de la entrada nomial. El estado
de alta imipdatxia de una compueFta de tw estados pmparciona una caracte-
dstica especial de-.la que no disponh otras compueiitas. Debido a ella, se
pueden conectar, medite alambm, una mayor cantidad de salidas de
compuerta de tres estados, sin peligrosos efectos de carga.
sistema de bus ta mnstmcci6n de un sistema de bus con acopladores de tres estados
se muestra en la figura 4-5. Las salidas de cuatro acopladores se conectan
juntas para fonnar una h a &e bus h k a . (Esté tipo de conexión no puede
realizarse con compuertas que no tienen salidas de tres estados,) Las
entradas de control a los acopladores deteminan cu&l de las cuatro entradas
normales se cainunicard con la Unea del bus. En cualquier momento dado
no puede estar activo más de un acciplador. Los acopladores conectados
deben controlarse para que sólo un acoplador de tres estados tenga acceso
a la linea del bus, mientras loe demág se mantienen en estado de alta
impedancia.
Una manera de asegurar que no está activa más de una entrada de
control en cualquier mommto dado, es mediante el uso de un decdificador
corno se muestra en el diagrama. Cuando la entrada habilitada del decodi-
ficador B O, todas sus cuatro salidas son O, y la línea del bus se halia en
estado de alta impedancia, porque los cuatro acopladores están inhabili-
&dos. Cuando la línea habilitada está activa, uno de los acopladores de tres
estados estar4 activo; dependiendo del valor binario en las entradas de
selecci6n de1 decodi ficador. Una cuidadosa iiivestigacibn revelar6 que la
figura 4 5 es otra manera de construir un multiplexor 4 x 1, porque el
circuito puede sustituir el multiplexor en la figura 4-3.
Para construir un bu9 comGn para cuatro registros de n bits cada uno,
utiiizando acopladores de tres estados, 8necedtams n circuitos con cuatro
Figuta 4-5 Lfnea de bus con acoplado? de tres estados.
Ltnea de bis para al bit O
A0
Bo
4 6
Do
4 w i í i
-
mdor 1 . -'{- q,, 2 x 4
2
WjIltar - S
3
108 C M ~ I L O CUATRO Transferencia de registro y miuooperaciones
acopladores en cada uno, como se muestra en la figura 4-5. Cada pp de
cuatro acopladores recibe un bit si'@cativo de los cuatro registros, cada
salida común produce una de las h a s para el bus comtín para un total de
n líneas. Sólo se necesita un decodificadm para s e k i o n a r entre los cuatro
~gis t ros .
Transferencia de memoria
La operaci6n de una unidad de memoria se dexribió en la seccibn 2-7. La
transferencia de.informaci6n de una palabra de memoria al ambiente extemo
se llama operación de l e t w a . h transferencia de nueva UifomaciCin para
abcenarse m la memoriase h a operaci6n de mritura. Una palabra de
memoria se "pmentard con la letra M. La palabra de memoria particular,
entre las muchas disponibles, se selecciona mediante la dirección de me-
moria durante Ia transferencia. Es necesario especificar la direccidn de M
cuando se escriben operaciones de transferencia de memoria. Esto se
realizar4 encerrando la direccibn en paréntesis cuadrados despugs de la
letra M.
Considemos una unidad de memoria que recibe la direccibn de un
registro, llamado re@m de direccionamiento y simbohdo por AR. Los
leer memoria datas se transilererr a otro registro, llarnado registro de datos, simbolizado
por DR. La operación de lectma puede declararse como sigue:
Esto provoca una transferencia de informacibn dentro de DR, desde la
palabra de memoria M seleccionada m e d i t e la direccibn en AR.
d b i r m o n t a La operaci6n de escritura transfiere el contenido de un registro de datw
a una palabra de memoria M, seleccionada por la direcci61~ Ahora conside
que los datos de enbada esiár~ en el registro R1 y que la dkmihn está
en AR. La operaci6n de escritura puede derlararse en forma simMlica como
eigue:
Esto provtiea una transferencia de informaci6n de R1, dentro de la palabra
de memoria M seleccionada por la dirección en AR.
4-4 Microoperaciones aritméticas
Una microoperacibn es una operacidn elemental efectuada con 10s datos
almacenados en los registros. Las microoperaciones que se encuentran con
mayor frecuencia en las computadoras didtales se clasifican en cuatro c a t e
gorías:
1. Micrmperaciones de transferencia de registros que transfieren Mor-'
maci6n binaria de un Wtro a otro.
2. Microoperaciones aritméticas que ejhtan operaciones aritmCticas
1 sobre datos num&ricos almacenados en los registros.
3. Micmperaciones 16gicas que ejecutan operaciones de manipulacibn
de bits sobre, datos no numéricos ahnacenados en registros.
4 Microoperaciones de corrimiento que ejecutan operaciones de corri-
miento sobre los datos almacenados en los registros.
La mimooperación de transferencia de registros se analizó en la sección
4-2. Este tipo de m i c ~ a c i 6 n no cambia el contenido de la infomci6n
cuando la infomiacibn bhria pasa del registro fuente al registro destino.
Los otros tres tipos de micmoperaciones cambian el contenido de la infor-
maci6n durante la transferencia. En esta seccidn presentamos un conjunto de
microoperadiones aritmkticas. En las dos siguientes secciones presentamos
las microoperaciones l6gicas y de corrimiento.
Las micmoperaciones aritméticas bdsicas son suma, resta, incremento,
decremento y corrimiento. Los corrimientos arith+ticos se explican m69 tarde
junto con la& rnicmperaciones de corrimiento. La microoperaci6n aritmética
definida por el enunciada
especifica una microoperaci6n de suma. Dedara que el contenido del. registro Rl
se suma al contenido del registro R2 y que la suma se transfiere al registro
R3. Para implantar este- enunciado con hardware n-itamos tres registros
y el componente diital que ejecuta la operacibn de suma. Las otras mi-
raciones aritmdticas bAsicas se listan en la tabla 43. La resta se lleva a cabo
con mayor frecuencia, mediante la compIementaci6n y la suma. En lugar de
usar el operador menos, podemos especificar la resta mediante el siguiente
enunciado:
-
R2 es el simbolo para el compIemento a 1 de R2. Sumar 1 al complemento a
1, produce e1 complemento a 2. Sumar el contenido de R1 al complemento
a 2 de R2) es equivalente a R1 - KL
Las microoperaciones de incremento y decremento se representan me
diante las operaciones más-uno y menos-uno, respectivamente. Estas microo-
peraciones se implantan con un circuito combinacional o con un contador
binario descendente.
Las operaciones aritm&tkas de multiplicar y dividir, no se Estan en la
tabla 43. Estas dos son operaciones aritm4ticas vhlidas, pero no se incluyen
en el conjunto básico de rnicmperaciones. El único lugar donde estas
operaciones pueden considerarse como hicrooperaciones ea en un sistema
Descripcibn
El antMdo de £21 m t s R2 transferido a R3
El contenido de R l menm R2 transferido a 83.
Camplemm€ar d contenido de R2 (complemento a 1)
Complementar n 9.d emic?nido de R2 (negar)
RI más el complemento a 2 de R2 (resta)
Imcmentar el eonienido de R1 en uno
Dcmmaniar d contenido. de Rl en uno
figital, donde se ejsutan pediante un circuito ~mbinatorio. En tal caso,
las *=,que realizan estas operaciones se propagan por las compuertas y
el resultado de h operacibn se transferir a un registro destino me-
diante un pulso de reloj, tan pronto. camo k semíal de salida se propaga por
el circuito combinatsrio. En :la, mayoría de Ias computadoras, la operaci6n
' .. de multipliea$ín se efectqa con una secumcia de microoperaciones de suma
y de conimiento. La dichibn se ejeqta .con secuencia de miemperaciones
de resta y de corrin+nto. Para ~pec2icar el hardware en un caso así, se
necesita una lista de enunciados que utilicen las microoperaciones bdsicas de
suma, reiita y corrimiento (vCase el capfhilo 10).
Sumador b-o
Para efectuar 'la micróoperaci&n de suma con hardware, necesitamos los
regisbrw que contengqn loi datos y el componente diqital que efectúe la
si-&a ari'h&ticA. El c+Uito Gital que forma la suma aritmbtica de dos bits
y un acarreo' previo se 11- sumador completo (vbase la figura 1-17). El
Cireuito digital que genera la suma aribnetica de d& niimeros binarios de
m a d o r binrrario cualquier longitud w h a sumador binario. B sumador binario se constru-
ye con circuitos sumadoy completos conectados en cascada, con el acarreo
de salida de un gumador compIeto conectado aI acarreo de entrada del
. sipiente sumador completo. La figura 4-6 muestra la interconexi6n de
suniador chplefo cuatro sumadores compl&os o FA por sus siglas én inglés para proporcionar
uri sumador binario de cuatro bits. Las bits sumandos de A y los bits
, -
sumandas de B se íden&can mediante niimeros suscritos de derecha a
izquierda, co'n gl O suscrito denotanao el bit de menor orden. Los acarreos
&tán mríectados en una cadena que fecorre los sumadores completos. El
acarreo de entrada al sumador biharb es Cp y el acarreo de salida es Ca. Las
salidas S de los sumadores completos, los bits de suma requeridw.
" Un suma* biqasio de n bib necesita n sumadores completos. E31
acarreo de salida d@e -da sumador ,wmple.to está conectado al acarreo de
entrada del siguknte sumadur completo de nivel superior. Los n bits de
S2 SI
Figan 44 Sumador biiario de 4 bits.
datos para hs entradas A provienen (de ,un registro (po~ ejemp10 Rl), y los
n bib de datos para las B entradas provienen de b€ro registro (por ejemplo
R2). ia suma pude transferirse a un tercer Wistro o a alguno de los
registros fuente (R1 o R2), sustituyendo su coiiknido previo.
Sumador sustractor binario
La resta de números bhanos +puede realizarse en forma m6s conveniente por
medio de mmp1ementos, s e g h se anaiiib en la swri6n 3-2. Recuerde que
la resta A - B puede realizarse al tdmar el complemento a 2 de B y sumarlo
a A. El complemento a 2 puede obtenerse al tomar el ct>mptemento a 1 9
agregar 1 al par de bits menos significativo. E1 complemento a 1 se puede
obtener con invemres y se puede agregar 1 a la suma mediante el acarreo
de entrada.
Las operaciones de suma y resta se pueden combinar en un circuito
corrifin al incluir una compuerta OR exclusiva con cada sumador completo.
swmadw -tMctor Un circuito amador sustractor de 4 bits se mueitra en la figura 47. La
entrada de modo controla la operación. Cuando M = O e1 circuito es un
Figura 4-7 Sumador surttractor de 4 bite.
Bt A3 Bz A2 81 AI
CAP- C U A M Transferencia de registro y mimoperaciones
sumador y cuando M = 1 el circuito se convierte en un sustractor. Cada
compuerta OR exclusiva recibe una entrada M y una de las entradas de B.
Cuari'do M = O, tenemos B @ = B. Las sumadores completos r e c M el
valor de B, el acarreode entrada es O y el circuito ejecuta A mAs B. Cuando
M = 1, tenemos B @ 1 = B' y C, = 1. Todas las entradas B se comple-
mentan y se suma un 1 mediante el acarreo de entrada. El circuito ejecuta
la operación A m8s el complemento a 2 de 0. Para ndmeros sin signo esto
da A - B si A r B o el complemento a 2 (B - A) si A < B. Para números
con signo el resultado es A - E, siempre y cuando no exista sobreflujo.
Incrementador binario
La micmoperaci6n para incrementar ~ u m un 1 a un número en un registro.
Por ejemplo, si un registro de 4 bits tiene un valor binario 0110, pasara a
O111 después de incrementarse. Esta microoperaci6n se efechía con facilidad
con un contador buiario (véase la figura 2-10). Cada vez que la habilitacibn
de cuenta está activa, la transición del pulso de reloj incrementa el contenido
del registro en uno. Puede haber ccasiones en que la micrmperacidn de
7 r - incremento deba realizarse con un circuito combinatorio independiente de
m un registro en particular. Esto puede Iograrse mediante semisumadores (vh-
se la figura 1-16) conectados en cascada.
inerementadm En la figura 4-8 se muestra el diagrama de un incrementador de circuito
combinacionaI de 4 bits. Una de las entradas al semisumador, HA por sus
siglas en inglh, menos significativo, está conectada al I 16gico y la otra
entrada esta conectada al bit menos significativo del número que se va a
incrementar. El acarreo de salida de un semisumador estb conectado a una
de las entradas del semisumador del siguiente orden más alto. El circuito
recibe los cuatro bits de A. a A, les agrega 1 y genera la salida iricrementada
en So a S3 El acarreo de salida C4 será s610 1 después de incrementar el
nhero binario 1111. bio también hace que !as salidas de So a S3 vayan a O.
Figu-ra 4-8 Imrernentador binario de 8 bits.
A2 Al
El circuito del diagrama 4 8 puede ampliarse a un incrernentador bina-
rio de n bits, al extender el diagrama para que incluya n sernisumadores. El
bit ,menos signifkativo debe tener una entrada conectada a1 1 16gicu. Las
otras entradas reciben el número que se va a incrementar por acarreo de la
etapa anterior.
Circuito aritmético
Las microop;eraciones aritmkticas listadas en la tabla 4 3 pueden implantarse
circuito adtmdtico en un circuito aritmbtico compuesto. El componente bAsico de un circuito
aritmético es el sumador paralelo. Al controlar las entradas de datos al
sumador, es posible obtener diferentes tipos de operaciones aritmgticas.
El diagrama de un circuito aritmético de 4 bits se muestra en la figura
4-9. Tiene cuatro circuitos sumadores completos que constituyen el sumador
de 4 bits y cuatro multipIexores para elegir diferentes operaciones. Existen
dos entradas de cuatro bits A y B y una salida de cuatro bits D. Las cuatro
entradas de A van directamente a las entradas X del sumador binario. Cada
una de las cuatro entradas de B está conectada a las entradas de datos de los
multiplexores. Las entradas de datos de los mul tiplexores tambign reciben el
complemento de B . Las otras dos qntradas de datos estAn conectadas al O
16gico y al 1 Iógico. El O 16gico es un valor de voltaje fijo (O volts para circuitos
integrados, TI'L) y la señal del 1 16gicw puede generarse a través de un
inversor cuya entrada sea 0. Los cuatro muItiplexores se controlan mediante
acarreo de entrada dos entradas de selecci6n SI y So, El acarreo de entrada Cm va al acarreo de
entrada del FA en la posición menos significativa. Los otros acarreos se
conectan de una etapa a la siguiente.
La salida del sumador binario se calcula en la siguiente suma a r i h &
t i a
TABLA 4 4 Tabla ,de tunción de circuito arihdiico
Entrada Salida
Y . D = A + Y + C ,
--
Siimar
Sumar con acarreo
k t a r con pr&tnmo
Restar
Transferir A
Incremcntnr A
Dcxrcmentar A
Transfmir A
S14 MPf iUD CUATRO Tmnsfemda de registro y microoperaciones
Figura # Circuito aritmgtim de 4 bib.
suma
resta
donde A es el número binario de 4 bits en las entradas X y Y es el número
binario de 4 bits en ks entradas Y del sumador binario. Cm es el acarreo de
entrada, el cual puede ser igual a O O 1. Nótese que el símbolo + en la
ecuaci6n anterior -menta un más gritmktico. Al controlar el valor de Y
. con las dos entradas de selecci6rt SI y So y hacer a C, i y a l a O o 1, es posible
generar las oeho mlcrooperaciones arihéticas que se lrstan en la tabla 4-4.
Cuando SISO = 00, el valor de B se aplica a las entradas Y del sumador.
Si Cm = O, Ia d i d a D = A + B. $i Cm = 1, la salida D = A + B + 1. Ambm
casos ejecutan la microoperacibn de suma con o sin el acarreo de entrada.
&ando Si$ = 01, d ciompl-to B x aplica a ias mtra¿as Y del sumador.
Si Cm = 1, entonces D = A + B + 1. &to prduce A + el complemento a 2
de B, lo c g l es equivalente a una resta de A - B. Cuando Cm = O, entonces
D = A 4- B. Esto ea +valente a una rwta con petarno, ecto es, A - B - 1.
Cuando SISO = 10, las entradas de B ya no se toman en cuenta, y en
. su.lugar todos los grupos de O se hseqtan en las entradas Y. La salida se
~ 0 n v i ~ e n D = A + O + C , k t o d a D = A c u a n d 0 C , = O y D = A + 1
cuando C, = 1, En el primer caso tenemas una transferencia directa de la
immentar entrada A a la salida D. En el segundo caso el valor de A, se incmnenta en 1.
Cuando SISO = 11, todos los grupos de 1 e insertan en las entradas Y
deerementar % del sunaador para produe la operaci6n de decremento D = A - 1 cuando
Cm = O. Esto es porque un numero con s61o digitas 1 es igual al comple-
mento a 2 de 1 (el complemento a 2 del biiiario E001 es 1111). Sumar un
niimiero A al complemento a 2 de 1 produce F = A -t. complemento a 2 de
1 = A - 1. Cuando Cm = 1, entonces D = A - 1 +' 1 = A, lo mal p d u c e
una transfemck directa de la entrada A a la salida D. Nbtese que la
microopración D = A se genera dos veces, porque d o hay siete rnicroo-
peracioñes disthbs en el circuito aritmético.
Las micmpe'aciones 16gidaa especifican operaciones binarias para arreglos
de bits almacenados m registms. Estas operaciones consideran cada bit de
reg isb en forma separada y las tratan corno vaddbles binarias. Por ejemplo,
la micrmpraci6n OR-exclusiva con el contenido de d a registros R1 y R2
se representa mediante el enunciado
& pk: R l + R1 - R2
&
"-
' Espedfica que 8e va a ejecutar una microoperacibn lógica en los bits
individuales de los registros, siempre que la variable de control P = l. Como
un ejemplo numérico considere que cada registro tiene 4 bits. Sea el con&
nido de R1 1010 y el contenido de R2 11W. La micmperación OR-exclusiva
mencionada antes representa la operacidn 16gica:
6 CAFfIULO CUATRO Transferencia de registro y microoperaciones
1010 Contenido de R1
1100 Contenido de R2 -
O110 Contenido de R1 después de P = 1
Ei contenido de R1, despuds de la ejecución de la microoperaci6n, es igual
a la operacidn OR-exclusiva bit a bit sobre pares de bits en R2 y valores
previos de R1. Las micrmperacion~ I6gicas se usan rara vez en chputos
cienWieos, pero son muy iitiles para manipulacibn de bits de datos binanos
y para tbmar decisiones 16gicas.
Se adoptarán simbolos especiales para las micrqeraciones 16gicas. OR,
AND y complementar, para diferenciarlas de l a símbolos correspondientes
que se utilizan para expresar funciones bmleanas. Se usará el símbolo v
sfmbolos especiales para denotar una rnicrooperaci6n OR y el shbolo A para denotar una
micrmperaci-6n AND. La miaooperacf6n complementar es ki misma que el
complemento a 1 y utiliza una barra en la parte superior del slmbolo que
defibta el nombre del registro. Al usar símbolos diferentes, será posible
diferenciar una operaci6n lógica y una funri6n de control (o booleana). Otra
tazón para adoptar dos conjuntos de símbolos es la posibilidad de distinguir
el slmbolo + , cuando se usa para r e p m t a r un mAs aritmbtico, de una
y a c i 6 n OR l&gka. Aunque el símbolo 4- tiene dos si@hdoB, pibk - disth@losal identifirar dbnde murre el sfmbo10. Cuando a p a m a en una
mhmpaci6n signifiará un d e ar i td ico . Cuando duma en una funcih
de control (o booleana)i denoM una operaci6n OR Nunca la usaremos paca
repmtar una miampmaci6n OR Por ejemplo, en el enunciado
el sínitalo + entre P y Q es una operaci6n OR entre dos variables binarias
de una funcibn de control. El símbolo + entre R2 y R 3 especifica una
microoperación de suma. La miaoopexación OR estd representada por ei
simbolo V entre los regigtrcrs RS y R6.
Lista de daooperaciones 16gcas
Existen 16 operaciones 16gkas diferentes que pueden ejecutarse con dos
variables bharhs. Pueden dekrminatise de addas las tablas de verdad pi-
TABLA 4-5 Tablas de v d a d para las 16 funciones de dos variables
bles que se obtienen c m dos variables binarias según se muestra en ia tabla
4-5. En esta tabla, cada una de las 16 columnas que van de la F, a la F15
representa una tabla de verdad de una función booleana posible para las dos
variables x y y. N6tese que las funciones están determinadas a partir de las
16 combinaciones binarias que pueden asignarse a F.
ias 16 funciones booIeanas de dos variables x y y w expresan en forma
abebraica en la primera columna de la tabla 4-6. Las 16 microopera-
ciones 16gicas se derivan de estas funciones al sustituir la variable x por el
contenido binario del registro A y la variable y por el contenido binario del
registro B. Es importante comprender que las Funciones bmleanas listadas
en la primera columna de la tabla 4-6 representan una reiaci6n entre dos
variables binarias x y y. ias microoperaciones ldgicas listadas en la segunda
columna representan una relaci6n entre el contenido binario de dos registros
A y B. Cada bit del +tro se trata como una variable b i r i a y la microope-
racidn se ejecuta en Ia serie de bits almacenados en el registro.
implantacidn de hardware
La implantacibn de microoperaciones 16gicas por medio de hardware requie-
re que se inserten compuertas lbgicas para cada bit o par de bits en el
registro para ejecutar las funciones 16gicas requeridas. Aunque existen 16
microoperaciones lhgicas, la mayoria de ,ias computadoras utiiizan 6610 cua-
tro, AND, OR, XOR (OR-exclusiva) y complementar, de las cuafes se pueden
derivar d a s las dern6s.
TABLA 4-6 IX~CMI? mkwperaciones 16gicas
Funci6n boolmna Microopación Nombre
FO = O F e 0 Limpiar
Fa = xu F + A A B AND
K = X Y ' F + A A B
Fa = x F+A ' TrñnsfmirA
F, = X ' Y F + X A B
& = Y F t B Transferir B
F b = x $ y F + A @ B OR exclusiva
F , = x + y F + A v B OR
F& = (X + y)' F+A NOR
FS = {x @y)' F +A- NOR exclusiva
Fa =y' F t B Complementar B
F*r E x + Y' F ~ A V F
FU = x' F ~ A Complementar A
F U = X ' + ~ F-XVB
Fu = (XY )' F 4 - m N-
F,, = 1 F t t o d o s Establk t d o s
dlgitos 1 a dígitos 1
Tm C U A ~ Tm&mda de registra y mimperaciom
- Ei
b) Tabla de función
a) Diagrama lbgiro
Figura M V Una etapa un dmiito ,l6gico,
cimi'ta I¿@o La figura 4-10 muestra una etapa de un circuito que genera las cuatro
microoperaciones 16gicas básica8 Está fofrriado de cuatro compuertas y un
multiplemr. Cada una de las mafm operaciones lógicas se genera por una
compuerta que ejecuta la 'lbgica qder lda . Las salidas de las compuertas se
aplican a las entradas de datos del multiplexor. Las dos entradas de seleccibn
SI y So seleccionan una de las entradas de datos del multiplexor y dirigen
su valor a la salida. El diagrama muestra una etapa típica con subindices i.
-Para un circuito lógico con pt bits, el diagrama debe repetirse n veces donde
i =: 0,1,2 ..., n - 1. tas variables de selecci6n se aplican a todas las etapas.
La tabk de funcibn en Ia figura 41O(b) lista 4s rnicrmperaciones lógicas que
se obtienen para cada mmbinaci6n de las variables de aeIeccidn,
Operaclbn
AND
OR
XOR
Complemento
S1 So
O O
m T
O 1
1 O
1 1
Algunas aplicaciones
Las micmperaciones 16gkas son muy útiles para manipular bits individua-
les con una parte de una palabra almacenada en un registro, Pueden usarse
para cambiar valores de bit, borrar un grupo de bits, o insertar nuevos
valores de bits en un' registro. Los siguientes ejemplos muestran c6mo se
manipulan los bits de un registro {representado por A) mediante rnimoop
raciones 16gicas como una funcibn de los bits de otro registro (representados
por B). En una aplicacibn tipica, el registro en A es un registro de un
pmwdor y los bits del registro B constituyen un operando lógico extraído
de la memoria y colocado en el registro B.
inicio selectivo La operaci6n & inicio selecb'w lleva a 1 lm bits del registro A donde hay
uno^' mr&pdiaiks en d mgistm B. Esto no afecia a las pasidone. de bit que
tienen O en B. El siguiente qemplo numérico hace m6s clara esta opacibn:
Salida
& = A A 3
E = A v B
E = A @ B
E = A
1010 A antes
1100 B (operando lbgieo) -
1110 A d q u é s
Lns dos bits de B del extremo izquierdo wn unos, por lo tanto los bits
correspondientes de A se llevan a 1. Uno de estos dos bits ya estaba en 1 y
el otro se cambi6 de O a 1. b s dos bits de A con sus ceros correspondientes
en B permanexn sin alteraciones. El ejemplo anterior siwe como una tabla
de verdad porque tiene las cuatro combinacion~s posibles de dos variables
bmarias. A pariir de la tabla de v e e d notarnos que los biis de A después
de la operacih se obtienen de la operacibn OR 16gica de los bits en B y de
los valores anteriores en A. Por lo tanto, lía microoperacibn OR puede -
para lievar a 1 o iniciar los biis de un registro de manera selectiva.
compiemento La operación de wmplemenlo selebtivo afmta a los biks en A donde están
selectivo los unos mrsespondientes en B. No afecta las posiciones de bits que tienen
O en B. Por ejemplo: '
1010 A antes
E B (operando. lógico)
O110 A despds
Asimismo, .los dos bits del extremo de B son unos, con lo cual se comple-
mentan los bits correspondientes de A. Este ejemplo puede servir también
corno tabla de verdad de la mal se puede deducir que la operación de
complemento selectivo es simplemente una micruoperacibn exclusiva-OR En
consecuencia, la micmperacibn exclusiva-OR se puede utilizar para comple-
mentar selectivamente los bits de un registrador.
limpieza selectiva IA operacihn l i m p i a selecfiw (selectiw-cfeur) despeja a O los bits en A
6610 donde bya unos correspondientes en B. Por ejemplo:
1010 A antes
S (operando ldgico)
0010 A después
Nuwamente, los dos bits de la extrema izquierda de 3 son unos, por lo que
los bits correspondientes de A se borran hácia 0. Uno puede deducir que la
operación booleana ejecutada en los bits individuales es AB'. La rn icmp
raci6n 16giea correspondiente es
La operari6n mtrnas~~arar es ssimüar a la aperacidn de limpieza selectiva,
excepto que hs bits de A se borran sólo hay O correspondientes en
120 CAP~IULO CUATRO T m f e m i a de registro y microoperaciones
B. La operación enmascarar es una microoperaci6n AND, como se aprecia
en el siguiente ejemplo num4rko:
1010 A antes
1100 B (aperando lógim) -
1000 A despu& de enmascarar
Los dos bits de A del extremo derecho se barran después de que los bits
correcpondienks de B son 0. Los dos bits de la extrema izquierda pemane-
eeh halteradas porque los bits conkspondienfes de B son unos, La operación
enmascarar es rn&'&nveniente para usa- que la operacibn de limpieza
selectiva porqiie la mayoria de las computadoras proporcionan una instrue-
ci6n AND, y pbcas proporcionan una instrucci6n que ejecute la miaoopera-
cl6n para limpieza selectiva.
La operacidn insertar introduce un nuevo valor en un grupo de bits.
Esto se realiza al enmascarar primero los bits y desputs aplica una h t k c -
ción OR sobre ellos con el valor requerido. Por ejemplo, supongamos que
un registro A contiene mho bits, O110 1010. Para sustituir los cuatro bits del
extremo izquierdo por el valor 1001 primero enmascaramos los cuatro bits
que no deseamos:
O1101010 A antes
0000 1111 B (enmascarar)
0000 1010 A después de enmascarar
y despuCs se inserta el nuevo valor:
0000 1010 A antes
1001 OOaO S (insertar)
1001 10lO. A despuds de la insercibn
La operacihn enmascarar es una microoperacidn AND y la operaci6n insertar
es una micrwperaci6n OR
La operaci611 limpiar compara las palabras en A y B y produce un
resultado de sólo dlgitos O si los dos números s m iguales. La operaci6n se
realiza rnyante una microoperacidn OR exclusiva según se muestra en el
siguiente ejemplo:
Cwnda A y B son @S, 1- dos bits corrqmndienb son ambos O o a m b
1. & cudyk caso la operación QR exclusiva pduce un O. Despub se verifica
el mdhdo de todo$ O para detennhar si los dos n5meros eran iguales.
4-6 Microoperacibnes de corrimiento
ia~ microoperaciones de corrimiento se usan para la transferencia serial de
datos. También se utilizan junto con operaciones aritmgticas, 16gicas y de
procesamiento de datos. El contenido de un registro puede correrse a la
izquierda o a la derecha. Al mismo tiempo que se recorren los bits, el primer
flip-flop recibe su informaci6n binaria &e la entrada serial. Durante una
operación de corrimiento a fa izquierda la entrada serial recorre un bit a la
posici6n de la extrema derecha. Durante una operacidn de corrimiento a la
d e r h la entrada serial transfiere un bit a 'la posid611 de Ia extrema izquierda.
la infomci6n transferida mediante la entrada serial determina el tipo de
corrimiento. Existen tres tipos de &entos: 16gic0, circular y arihdtim.
comrrimiento ldglco Un corrimiento 16gico es aquel que transfiere un O por la entrada serial.
Adoptaremos los símbolos por sus sigIas en inglks, shl y shr para las
microoperaciones de corrimiento 16gico a la izquierda y corrimiento lógico a
la derecha. Par qjemplo:
Rf t s h l R1
RZ+shr R2
son dos operaciones que especifican un corrimiento de un bit a la izquierda
del contenido del registro Rl y un corrimiento de un bit a ia derecha del
contenido del registro R2. El símbolo de registro debe ser igual en ambos
lados de la flecha. El bit transferido a la posición extrema por la entrada
serial se considera que es O durante un corrimiento 16gico.
codmiento citrular El corrimiento circular (tambih conocido como operaci6n de rotacidn)
hace circular los bits del registro por los dos extremos sin pérdida de
infonnacidn. Esto se consigue al conectar la salida serial del registro de
corrimiento a su entrada mial . U t d h m o s los símhlce di y cir para el corri-
miento circular a la izquierda y para el corrimiento circular a la deredia,
respectivamente. La notaci6n simbólica para las mimperaciones de corri-
miento se muestra en la tabla 4-7.
TABLA 4-7 Miaooperaciones de desplazamiento
Rcprclsentt.aci6n simb6lica Descripcibn
R t s h l R Corrimiento a la izquierda del registro R
R t shr R Corrimiento a ia derecha del registro R
R t c i l R Conimiento circular a la izquierda del registro R
R +cir R Comimiento cimilar a la derecha del registro R
R t a s h l R Corrimiento aritmktico a la izquierda de R
R +ashr R Corrimiento aritmUico a la derecha de R
ci#hJW W T R O Transfeda de registro y m i c r o o p e r a ~
codmiento Un co~rqirnienta m$tdt ico p u q micrqqxracibn que recorre un n h e
aritmético ro binarh con signo a la d e h a o a la izquierda. Un corrimiento aritmético
a la izquierda multiplica uri ndmero binario con signo por 2 Un corrimiento
arihdtico a la derecha divide el número entre 2. Las corrimientos aritm&ticos
. deben dejar el bit del s i p sin modifmciones porque el signo del número
sigue siendo el & 6 m cuando se multiplica o divide por 2. El bit de la
extrema izquierda en al Wtto contime 4 bit de signo y los bits retantes
contienen el número. E31 bit de signo es O para Iws números positivos y 1
para los negativos., b s ni'imens ne~ativos estirt en su forma de complemen-
to a 2. i~ @m 4-11 muestra un registro tlpiw de n bik Ei bit R,, -I de la
p k % n ex- ~~ mntiene el bit de signo. R,, ,, es el bit maS si@
afivo del n h m y 4 ea el bit menos sip%eakiva. Ei corrimiento aritmético a
fa derecha no m&ca d signo y recorre el n h m {incluyendo el bit de signo)
a la derecha. Por b tante Ri-2 queda igual, &, &be el bit de R,,-, y así
suceivarmente para las otms bits en e1 re@m Ei bit en & se pierde.
El corrimiento arihnktico a la iquierda inserta un O en Ro y recorre
todos los otros bits a la izquierda. El bit inicial & -l se pierde y se sustituye
con el bit de R, , , E1 signo se invierte si el bit en R, - cambia su valor
después del c~rrimiento. Esto sucede si la multiplicaci6n por 2 provoca un
sobreflujo. Ocurre un sobreflujo después de un corrimiento aritmktico a la
izquierda si, al %do, antes del corrimiento, R, -1 no es igual a R, -2 Puede
usasse un ftipfiop V, de sobreflujo para detectar un sobreflujo en un corri-
miento a la izquierda arihética,
Si V, = O, no hay sobreflyjo, pero si V, = 1, hay un sobrefiujo y una
inversibn de signo despuh del corrimiento. V, debe transferirse dentro del
flip-fi~p de sobreflujo con e! mismo pulso de reloj que ejecuta el corrimiento
del registro.
Implantaci6n del hardware
Una opci6n posible para una unidad de corrimiento serla un registro de
corrimienb direceional con %a p~a le la (véase la figura 2-91, Li informa-
ci6n puede t r a n s f e b al registra .en paralelo y después ejecutar el cotri-
miento a la derecha o la izquierda. En a t e tipo de configuracihn se necesita
un pulso de reloj para cargar los datos dentro del registro, y otro para iniciar
Figura 4-11 kplazamiwito aritm6tico a la derecha.
I
R ~ - ~ 1 R " - 2 1 R1 Ro
Bit de signo
el corrimiento. En una unidad procesadora con muchos registros es más
eficiente impl@ar la operaqihn.de cmimiento - un circuito combinacionaL
De &a mnera el conwdo de un mgbtm el que tiene que ejecutar el
mmmiento se colma primepa en un bw común cuya> salida esti5 conectada
al circuito & corrimiento ~ombinatoqio y después el número can el corri-
miento se carga otra vez en sl. mgifitro. Esto necesita &lo un pulso de reloj
para cargar el valor con corrimiento dentro de un registro.
cimrito de Puede construirse un circuito combinatorio para corrimiento con mul-
corrimimto tip1mxa e n ,sic muestra :en k figura. 4-U, El circufto de 4 bits tiene cuakro
, entradas de datos, de A. a As y cuatro saiidas de datos, de H,, a H3. Hay
dos entradas serides, unatrpara el corrimiento a la izquierda (iL ) y la otra
para elLcrgmhimto a la ,dmha '@d. Cuando la en*ada de selemi611 es S =
O, las datas de enbada se desplazan a la demha (abajo en el diagrama).
Figa K& 442 Cirtuito mmbinacional. para corrimiento de 4 bits.
Entrada
/ serial (lb)
Entiada -
secial (IR)
I
A0
A 1 1
A2---
S ' -
i
\
! . .
O m H3
Sei~ lunat -
O pra el mrrimfmto . la derecha
1 para el corrimiento a ia izqiiierda (arriba)
A3 -
S
--
O MLX
I
N O
4-
S Ho Hi Hz H3
..
1- S 0 IR Ao AI A2
O MIJx - H2
kr-
1 A l A2 A3 IL
-
3
Q: MUX
1 .. I I
Tabla de funci6n - ffs
Seleccionar Salida
124 C U A ~ Transferencia de registro y mi-peraciori~
Cuando S = 1, los datos de entrada se desplazan a la izquierda (arriba en
el d3agrama). La tabla de h c i 6 n en la figura 4-12 muestra cuAl entrada va
a cada salida despugs del corrimiento. Un circuito por corrimiento con n
entradas de datos .y salidas necesita n rnulfiplexores. Las dos entradas
seriales pukden controlase mediante otro multiplexor para proporcionar los
tres tipm de desplazamiwto posibles.
4-7 Unidad de córrlmiento lógico aritmético
En lugar de tener registros individuales ejecutando Ias microaperaciones en
forma directa, los sis,tem computacionales emplean cierta cantidad de =
gisiros de almacenamiento conectados a todas las unidades operacionales
comunes, la cual se denomina unidad arihn4tica-l6gica, y se abrevia ALU
F:igura 4-U Una etapa de la unidad de corrimiento aritrdtica-16gica.
S3 I
shl 1SECCI~N 47 Unidad de corrimiento 16gieo a r i h d t b 125
(arifhrnefic logie unit). Para ejecutar una micmoperaci6n, el contenido de 10s
qistm especificados se colma en ]mhs enbdas de la ALU múh La ALU ejecuta
una operaci6n y el resulbdo se transfiere d .registro destino. La ALU es un
circuito combinabrio, por lb que toda Ia operación de transferencia de regis-
desde los ~~ fuente por la ALU y hasta dentro del registro destino, puede
ejecutarse durante un .período de un pulso de reloJ. Las mi,crqmaciones de
c o ~ m t o con frecuencia se ejmtan en una unidad separada, pera en oca-
siones h unidad de corriwenta forma parte de Ia ALU general.
tos circuitos aritméticos, 16gicos y de corrimiento que se presentaron
en las secciones anteriow pueden combinarse en una ALU con variables de
selecci6n comunes. Una etapa de una unidad de corrimiento aritméti-lbgi-
co se muestra en la figura 4-13. El subhdice i repmenta una etapa tlpica.
Las entradas Al y BI se aplican a las unidades aritmkticas y lógicas. Se
selecciona una micrwperacibn parkicular con las entradas S, y So, Un muI-
tiplexor 4 X 1 en la salida selecciona entre una salida aritmbtiea Ei y una
salida 16gica en Hi. Los datos en el multiplexor se seleccionan con entradas
S, y S, Las otras dos entradas de datos d multiplexor Feciben entradas Ai,*
para la operación de corruniento a la derecha y Al, para la operación de
corrimiento a la izquierda. N6kse que el diagrama muestra s61o una etapa
'
tlpica. El circuito de la figura 4-13 debe repetirse n veces para una ALU de
n bits. El a c a m de salida Ci,l de una etapa aribnbtica dada debe .conectarse
al acarreo de entrada Ci de la siguiente etapa en secuencia. El acarreo de
entrada a la primera etapa es el acarreo de entrada C, el cual proporciona
una variable de ~Ieceihn para las operaciones aritm&ticas.
TABLA 4-8 Tabla de fur1ci6n para una unidad de mrrimiento Iógica aritmdtica
Selecci6n de la operación
0 0 0 0 O F = A Transferir A
O O O O 1 F = A + l Incrementar A
O O O 1 O F = A + B Sumar
O O O 1 1 F=A+B+lSumarconacarreo
O O 1 O O F = A + Restarconmtamo
O O 1 O 1 F = A + B + l R e s t a r
O O 1 1 O F = A - 1 h m e n t a r A
O O 1 1 1 F = A Transferir A
O 1 O O x F = A A B AND
O 1 O 1 x F = A V B OR
O 1 1 O X . F = A @ B XOR
O 1 1 1 x F = A Complementar A
1 O X x x F=shrA Conhiento a la derecha A den& de F
1 1 X x x F=sbiA C d m k n b a la izquierdo A dentro de F
126 cAPtnno CUATRO Transferencia de registro y micrmperacimes
El circuito cuya iuiica etapa est6 especificada en la figura 4-13 propor-
ciona ocho opwaciones aritmhticas, cuatro operaciones 36gicas, y dos opera-
ciones de despbmiento. Cada operación se selecciona con las cinco varia-
bles S, S* S, So .y Cm El acarreo de entrada Cm se utiliza para seleccionar
. sólo una aperaci6n aritmética.
La tabla 4-8 lista las 14 operaciones de la ALU. Las primeras mho son
operaciones aritmétiras (v6ase tabla 4) y se seleccionan con SS2 = OQ. ias
siguientes cuatro son operaciones ldgicas (véase figura 410) y se seleccionan
con S3Sz = 01. E1 acarreo de entrada no akta durante las operaciones 16gicas
y se marca con letras X que representan ''no importa" Las dos altimas son
operaciones de corrimiento y se selecciomztci con S3SI = 10 y 11. Las otras
tres entradas de sekcibn no afectan al corrimiento.
&l. Muestre el diagrama de blque del h a r d w a ~ (similar a la figura 4-2a) que
Implsrnta.el siguiente mmciabo de bansfeeticia demgisim:
2 . Las wiid.qs,d,e cuatro regis-, RO, R1, R2 y R3, es,& conectadas mediante
multiplex<res de 4 a 1 líneas a las entiadag de un quinto registro, R5.
cada r e g i h tiene um'lon@hid de ocho bits: las transferencias requeridas
sbn dietadbs p r hahm Varídblizs de demprizaa6n To a Tg de la manera
siguiente
Las variables de temporización san mutuamente exclusivas, lo que sipifia
que &lo una variable es. igual a 1 en cualquier momento.dado, rnienbas que
las otras km son iguales a O. Dibuje un diagrama de bloque que muestre la
implantaci6n de hrdware de las tra~fcrencias de registros. incluya las
d o n e s necesarias de las cuatro variables de temporizaci6n a ias entradas
de selecci6n de los rnultiplexores y a la entrada de carga del registro R5.
4-3. Represente el siguiente enunciado de control condicional por medio de dos
enunciados de transferencia de registros con funciones de control.
Si (P = 1) entonces (Ri *- R2) además si (Q = 1) entonces (R1- R3)
M. qué tiene que hacerse al sistema de bus de la figura 4-3 para que pueda
trsinsferir inbmaci5n de un registro a cualquier otro? En forma específica,
muestre las c o ~ o n e s que deben induirse para proporcionar una tra-
ña de las salidas del regisb C a las-entradas del registro A.
4-5. Dibuje un diagrama de sistema de bus similar al que se muestra en la figura
4-5, y utilice acopladores de tres estados y un d d f i c a d o r en lugar de
los multiplexores.
44. Una computadora digitai tiene un sistema de bus común para 16 registros
de 32 bits cada uno. El bus está construido con multiplexores.
a. iCuántas entradas de selecci6n hay en cada multiplexor?
b. ~Quk tamafio de multiplexores se necesita?
c ¿Cuántos multiplexores hay en el bus?
4-7. Los siguientes enunciados de transferencia especifican una memoria. Expli-
que la operad6n de memoria en cada caso.
a. R2tM[AR]
b. MIAR] +R3
c. R5 t M [ R S j
4-8. Dibuje el diagrama de bloque de hardware que implanta los siguienb
enunciadas:
donde AR y BR son dos registros de n bits y X, y, y z son variables de
control. Incluya las compuertas ldgicas para la funci6n de control.
[Recuerde que ei sfmbola +representa una operacidn OR en una funci6n
de control o booleana perosepresenta un mas aritmCtim en una microope-
raci¿n.)
4-9. Muestre el hardware que implqnQ el siguiente enunciado. Inciuya las com-
puertas 16gi~s para la W i b n de control y un diagrama de bloque para el
contador binario coq una entrada de habilitaeibn de cuenta.
4-10, Considere los siguientes enunciados de transferencia de registros para dos
registros de 4 bib RI y R2.
Cada v a que la vaiable T = 1, el contenido de M se agrega al contenido RI
si x = 1, o el contenido R2 se transfiere a Rl si x = O. Dibuje un diagrama
que muestre la implantad6n de hardware de los dos enunciados.
Utilice diagramas de bloque para los dos registros de 4 bits, un
sumador de 4 bits, y un multiplator cuidruple de 2 a 1 líneas que
seleccione las entradas a R l . En el diagrama, muestre cómo las variables
de control x y T deccionan ,las entradas del multiplexor y la entrada de
carga del registro R1.
4-11. Utilizando un contador de 4 bits con carga paralela como el de la figura 2-11
y un sumador de 4bits m o el de la figura dibuje un diagrama de bloque
que muestre cómo implantar los siguiente enunciad=
1 CAFhWD CUATRO Transferencia de regjstro y micmoperaciones
- X: A1 + R l + A2 'Suma RZ a R l
x'y: X l c R I +. 1 Incremmte R l
donde R1 es'un contador con carga paraida y R2 es un registro de 4
bits.
' 4-12. El circuito curnador-sustractor de>h figura 4-7 tiene los siguientes valores
para el modo de entrada M y las entradas de datos A y B. En cada caso,
determine los valores de las salidas: S, , S, S,, S, y C,.
4-13 Diseiíe un circuito combinatmio de 4 bits que decremente, utilizando cuatro
circuitos sumadores completas.
414 Considere que el circuito aritrnktim, de 4 bits de Ia figura 4 9 ect8 en un
emapsuiado Q. Mussbe las ronexiorres entre dos CI tales para formar un
circuito ariimitico de 8 bits,
4-15. Dkeí'ie un circuito aritmhtico con una variabIe de seIecci6n S y dos entradas
de d a 6 de n bib A y B. E1 circuito genera las cuatro operaciom aritm6tim
~igtienles junto con el acáireo de entra-da C, Dibuje el diagrama 16gico para
b dw primeras ehpas.
O D = A + B (sumar) D = A + 1 (incrementar)
1 D = A - 1 (dmentar) D = A '-t. + 1 (restar)
416, &ve .un circuito combinacional que seleccione y generecualquiera de las
16 funciones lbgicas que se listan en la tabla 4-5.
4-37. m un circuito digitai que realid las cuatro operaciones iógicas de OR
exclusiva, NOX exclusiva, NOR y NAND. Utilice d a variables de seIeaci6n.
Muestre el diagrama lógico de una etapa tipica.
4-18, El registro A contiene el binario de 8 bits 11011001. Determine el operan-
do B 'y la microopwacibn IIógiea que se va a ejecutar para cambiar el valor
enA a:
a. t l l 1 O l l O l
b. 11111101
&i9. h r ~ s h s de 8 bita AR, BR, CR y DR inicialmente tienen los siguimtw
valomx
Referencias 129
Determine los vdores de 8 bits en cada registro despuks de la ejecución de
la siguiente semencia de microoperaciones.
AR+AR + BR Sumar BR a AR
CR + Cñ A DR, BR + BR + 1 Aplicar AND DR a CR, inaementar BR
AR +AR - CR Restar CR de AR
4-20. Un registro de 8 bits contiene el valor binario 10011100. ¿Cuál es el valor
del registro después de un corrimienta aritmgtico a la derecha? Comen-
zando can el número inicial 10011100, determine el valor del registro
despud de un corrimiento aritm&tieo a la izquierda, y dete& si existe
un sobreflujo.
4Zl. Comenzando de un valor de R = 11011101, determine la secuencia de
valores binarios en R despub de un corrimiento lbgico a la izquierda
seguido de un corrimiento circular a la derecha y a continuacion
un corrimiento lbgico de la derecha y un corrimiento circular a la
izquierda.
rl-22. ¿CuM H el valor de la salida H en la figura 412 si la entrada A es 1001, S =
1,IR=1,e IL=O?
423. tQu6 error contienen los siguientes enunciados de transferencia de
registros7
2. Booth, T. L., Intduetion to Computer Engineering, 3a Ed. Nueva York John Wiiey,
1984.
3. Haya, J. F., Compiiter Architecture attd Orgunhtion, 2a Ed. Nueva Yark: MeGraw-
HiU, 1988.
4 l-iiil, F. J., y G. R Pekrwn, Digitrrl Spkns: Hardmre OrganUathm and Design, 3a. Ed.
Nuwa York: John W i , 1987.
5. Mano, M. M, Computer E q i m r i n g : htnrduwre Desip. ünglewood Cliffs, Ptentice
Hall, 1988.
6. Patterson, D. A,, y J. L. Hennessy, Cmnputer ArchiQcture: A Quantitative Appn>ach. San
M a b , CA: Morgan Kaufmann Publishers, 1990.
-O ~ ~ ~ 1 x 0 Trardemmh de registro y micrmpraciones
7. koasw, F. P., y D. E. Winkcl, The Art oJ Digitnl Design, 2a M. EngIewod Cliffs, N:
Prefite Hall, 1987.
8. Sandige, R. C., Modern Digital Desip. Nueva York: Maraw-HiU, 1990.
9. Shiva, S. G., Cwnputer Design m d Archikture, 2a Ed. Nueva York: HarperCollins
Publishers. 1991.
10. Tomek, 1, rjtfrodflction lo Computer Organiuitim. Rockville, M I 2 Computer Science
P r s , 1981.
11. Wad, S. A,, y R. H. Halstead, Jr., Computatbn Structures.Cambridge, MA: MiT h,
1990.
EN ESTE CAP~TULO - -
J W b
5-1 Códigos de instrucción
5-2 Registros de computadora
5-3 Instrucciones de computadora
5-4 Temporización y control
5-5 Ciclo de instrucción
5-6 Instrucciones de referencia a memoria
5-7 Entrada-salida e interrupción
5-8 Descripción completa de una computadora
5-9 Diseño de una computadora básica
5-10 Diseño de un acumulador lógico
5-1 Códigos de instrucción
En este capítulo presentamos una computadora básica y mostramos cómo
puede especificarse su operación con enunciados de transferencia de regis-
tros. La organización de la computadora se define mediante sus registros
internos, la estructura de temporización y control, y el conjunto de instruc-
ciones que utiliza. Después se lleva a cabo, en detalle, el diseño de la
computadora. Aunque la computadora básica que se presenta en este capí-
tulo es muy pequeña en comparación con las computadoras comerciales,
tiene la ventaja de ser lo suficientemente simple para mostrar el proceso de
diseño sin demasiadas complicaciones.
La organización interna de un sistema digital está definida por la
secuencia de microoperaciones que ejecuta sobre los datos almacenados en
sus registros. La computadora digital de propósito general puede ejecutar
varias microoperaciones y, además, puede recibir instrucciones acerca de la
secuencia específica de operaciones que debe realizar. El usuario de unq
computadora puede controlar el proceso mediante un programa. Un pro-
grama es un conjunto de instrucciones que especifican las operaciones,
operandos y la secuencia mediante la cual tiene que ocurrir el procesamiento.
132 QNCO OxganIzadOn y d i i de aompuhdcirrps
La ha de pmemniento de datos puede alterarse al especificar un nuevo
programa con iristrueciones diferentes o especificando las mismas instrucci*
nes c m otros datos,
-Una inshcci6n de compuhdora es un código binario que especifica
una secuencia de m i m o ~ c i o n e s para la computadora. Los c6digos de
instrucciones y 10s da- se almaman en fa memoria. La computadora lee
cada instrucción de la memoria y la coba en un registra de control.
Bnbp- el control. inbwppta el c W i binario de fa instrucci6n y procede
a ejecutarlo m H i una m c i a de mierooperaciones. Cada computadora
time un conjunto de instrucciones rinico. La capacidad de almacenar y
ejecutar instmcciones, el concepto de programa almacenado, es la propiedad
más importante de una computadora de uso general.
cddigo de i~sfnrecibn Un c6digo de instrucción es un grupo de bits que instruye a la com-
putadora sobre cbmo ejecutar una operacihn especlfrca. Por lo general, se
divide ,en partes y cada una tiene una inkrpretacidn propia. La parte más
cdd@ de operacibn baisica de un c ó d i i de instnxd6n es su parte de operacitan. EI código de
operaci6n de una instniccibn es un grupo de bits que define operaciones
como sumar, restar, multiplicar, desplazar y complementar. El número de
bits requerido para el código de operacibn de una instrucci6n depende de
la cantidad totd de operaciones disponibles en la computadora. El c6digo
de operacibn debe estar formado de por lo menos n bits para un conjunto
dado de 2" (o menor) operaciones diferentes. Como ejemplo, consideremos
una computadora con 64 operaciones diferentes, una de las cuales es la
operación sumat (ADD). E1 código de operaci6n consta de seis bits, con una
c~nfigurad6n de bits 110010 adgmda a la operación ADD. Cuando este
código de operacidn se decodiica en la unidad de control, la computadora
emite seiíales de control para leer un operando de la memoria y sumar el
operando a un registro del procesaiior.
En este punto, debemos reconocer la relaci6n entre una operacidn de
computadora y una micrmperación. Una operación es parte d~ una instnic-
cibn almacenada en la memoria de la computadora. Es un &digo binario
que le dice a la computadora que ejecute unaoperacihn e6pecifica. La unidad
de control recibe la instrucci6n de la memoria e interpreta los bits de &digo
de h operacidn. h p u 6 s emite una secuencia de seAaIes de control para
ficiar inicrooperaciones en los registrus internos de la computadora. Para
cada código de operaci6n, el cuntrol envía una secuencia de micrmpraciones
n d a r i a s para la implantacibn del hardware de la operaci6n especificada.
Por esta razbn, a veces un código de operación se denomina macrooperacibn,
porque especifica un conjunto de micróoperaciones.
La parte operativa de un c6digo de instruccibn especifica la operaci6n
que se va a realizar. Esta o p e r d n debe ejecutarse sobre algunos da-
almacenados en los regis- del procesador o en la memoria, Por lo b t o ,
un c6digo de insteucci6n debe mpecXcar no &lo la operaci6n, sino también
los registros o las pahbras de la memoria donde se van a encontrar los
operandos, d igual que el relgistro o la palabra de memoria donde se va a
almacenar el sesultado. Pueden es@carse palabras de memoria en los
c6digas de insttucción mediante sus direcciones. Pueden especificarse regis-
has del pmerador al wi$ar a k instnicci6n otro código binario de k bit.
que e s w i q u e uno de 2 r e g i s k m Exkten muchas variaciones para "com-
poner" el ckdip binario de instrucciones, y cada computadora tiene su
propia formato de c6digo de instniceionesparticular, Los disefiadores de
computadoras .formulan los formatos de código de instrucciones y especifi-
can la arquitectura de la computadora. En este capitulo elegimos un cddigo
de instniccih particular para explicar la organizacih y el dkf io bisico de
las computadoras diitales.
Orgnnizaci6n de un programa almacenado,
La manera m& simple de organizar una computadora es tener un registro
de prcieesador y un formato de código de instruwi6n con dos partea. La
primera parte especifica la operaci6n que se va a ejecutar y la segunda
especifica unsi dirección. IA direccibn de memoria b dice al control dbnde
encontrar un operando en la memoria. Este operando se lee en la memoria
y se utiliza como los datos que se van operar o junb con bs datos almace-
nados en el registro del pmesador.
La figura 5-1 muestra este tipo de organizaci6n. Las instrucciones e s t h
almacenadas en una secci6n de la memoria y los datos en otro. Para una
unidad de memoria con 4096 palabras necesitamos 12 bits para especificar
Pisun 5-1 Organización de un programa al-do.
Memoria
4ü96x 16
F m t o de instmión
134 C A M O CINCO Organización y di* de computadoras
una dkc i&n , dado que 212 = 4096. Si almacenamos cada c6digo de instnic-
ci6n en una palabra de memoria de 16 bits, tenemos disponibles cuatro bits
para el código de operacidn para especificar una de 16 operaciones pmible8,
y 12 bik para especificar la diréccibn de un operando. Ei control lee una
instrucci6n de 16 bits de la parte de programa de la memoria. Utiliza la parte
de direcci6n de 12 bits de la instrucci6n para leer un operando de 16 bits
de la porci6n de datos de la memoria. Después ejecuta la operación especi-
ficada por el ckligo de operaci6n.
Las computadoras que tienen un registro de procesador único por lo
a c u m d d ~ r (AQ general lo nombran acumulador y lo etiquetan AC. La operaci6n se ejecuta
con el operando de la memoria y el contenido de1 AC.
Si una operacibn de un código de instnicci6n no necesita un operando
de la memona, puede usarse el resto de los bits de -ii Mstrucci6n para otros
propbsitos. Por ejemplo, las operaciones como borrar {limpiar) AC, comple-
mentar AC e imrernentar AC' operan sobre los datos almacenados en el
registro AC. No, necesitan un operando de la memoria. Para =tos tipos de
operaciones, no se necesita la segunda parte del d i g o de instrucción (del
bit O al 11) para especificar una d k i ó i i de memoria y puede utilizarse para
especificar otras operaciones para la computadora.
Direccionamiento indirecto
En ocasiones es conveniente utilizar Ios bits de direccionamienta de un
cddigo de instrucción no como direccibn s*o como el operando real. Cuando
la segunda parte de un c6digo de inshucci6n especifica un operando, se dice
instrucctdn que la instmcción tiene un operando inmediato. Cuando la segunda parte
inmediir tu especifica la d k c i 6 n de un operando se dice que la instniecibn tiene un
direccionamiento directo. Esto contrasta con una tercera posibilidad ila-
mada dimionarniento indirecto, en el cual los biís de la seffuida parte de la
instmcci6n representan la dirección de una palabra de memoria, en la cual
se encuentra la direccibn del operando, Se puede utilizar un bit del d i g o
de instrucci6n para diferenciar entre un direccionamiento directa y uno
indirecto.
Como ejemplo de s t a configuración, consideremos el formato de d i -
go de instrucci6n que se muestra en la figura S-2(a). Está formado de un
código de aperacibn de 3 bits, una dimci6n de 12 bits, y un bit de modo
de direccionamiento indimto representado por 1. El bit de modo es O para
un direccionamiento directo y 1 para un direccionamiento indirecto. Una
instruccibn de direccionamiento directo se muestra en la figura S-m). Está
colocada en la direccibn 22 en la memoria. El bit I es 0, por lo que la
instnicci6n se reconme como una instmccibn de direccionamiento directo. El
caigo de operacihn especifica una instrucci6n de suma ADD, y la parte de
dirección es el equivalente biario de 457. El control encuentra la operaci6n
en la memoria en Ia direccihn 4 7 y la suma al contenido del AC. La
instruccibn en la direccidn 35 que se muestra en la figura 5-2(c) tiene un bit
Memoria Memoria
Operando
Operando w
(b) Direccionamiento directo (c) D i h a m i e n t o indinxto
Figura 5-2 Ejemplo de didonamiento directo e i n d i o .
de modo 1 = 1. Por lo tanto, se reconoce como una instrucción de diteccie
namiento indirecto. La parte de direccibn ec el equivalente binario de 300.
El control va a la direccihn 300 para encontrar la direcci6n de1 qxrando. La
direccibn del operando en este caso es 1350. El operando encontrado en la
direcci6n 1350 se suma despub al contenido de AC. La instnicci6n de
direccionamiento indirecto necesita dos referencias a la memoria para buscar
un operando. La primera referencia se necesita para leer la direccibn del
d i m i d a efecfba operando; la segunda es para el operanda mismo. Definimos la d i r m ' h
e f i c f b como la cüreccibn del operando en una instrucci6n del tipo de
computaci6n 0 la direccibn objetivo en una instruccibn de tipo transferencia
del programa. Por 10 tanto, la d M 6 n efectiva en ia instrucción de la figura
S-2(b) es 457 y en Ia instrucción de la figura 5-2(c) es 1350.
En la computadora que se presenta en este capitulo se utüizan los
modos de direccionamiento directo e indirecto. palabra de memoria que
contiene la dirección de un operando en una instrucción de d i ~ n a m i e n t o
indirecto se utiliza como un apuntador a un arreglo de d a k El apuntador
pu.& colocarse kn un regiStra .del procesador y no en la memoria, como se
hace en las computadoxas cómerciales.
5-2 Registros de computadora
-. -
Por lo general, las instrucciones de computadora se almacenan en posiciones
de memoria consecutivas y se e j e c u h de manera secuencial, una a la vez,
El control lee una instnicci6n de una diiecci6n especifica de la memoria y
la ejecuta, Despugs continúa leyendo la siguiente instrucción en secuencia
y h ejecuta y así sucesivamente, Este tipo de GecuenUa de instrucciones nece-
sita un contador para calcular la dirección de la siguiente instmccibn despub
de que se temina la ejecución de la 'instrucción presente. También es nece-
sario proporcionar un registro en la unidad de control para almacenar el
código de inshcci6n despuds de que se lee de la memoria. La computadora
necesita los registros del prmsador para manipular datos y un registro para
contener una direccihn de memoria. Esta$ necesidades dictan la configura-
ci6n del registm que se muectra en la figura 5-3. También se listan los
registros en Ia tabla 5 1 junto con una breve descripcihn de su funcidn y de
la cantidad de bits que contienen.
La unidad de memoria tiene una capacidad de 40% palabras y cada
palabra contiene 16 bits, Se necesitan doee bits de una palabra de instnicci6n
para especificar la direccibn de un op.erando. Esto deja tres bits para la parte
de operacibn de la instrucción y uri bit para especificar un direccionamiento
diwto s! un indirecta. El registro de datos (DI?) contiene el operando que
se lee de la memoria. El registra acumulador (AC) es un registro de proce-
samiento de prop6+to general. IA ir@ruccidn que se lee de la memoria se
coloca en el registro de instniccibn (IR). Se utiliza el registro temporal (TR)
para contener 10s datos temporales durante el procesamiento.
TABLA 51 Lisia de regisbs para la computadora bisica
Silnbolo
de registra
DR
AR
AC
.IR
PC
TR
INP.
OUTR
Cantidad
de bits Nombre del registro
16 Registro de da toa
12 Registro de d i r ~ i 6 n
16 Acumulador
16 Registro de instnitcibn
12 Coritador de programa
16 ~ ~ t e m p a r a l
8 Regish de enbada
8 Registro de calida
Contiene operando de la memoria
Contiene la d imi611 para Ia memoria
Regisiro de pfoceaador
Contiene d d i g o de instruccidn
Contiene L direccidn de instruccihn
Contienedatos temporales
Conti& car- de enhada
Contiene cadcter de salida
S E M ~ Registros de computadora 137
de 4Wá palabras
16 bits por palabm
Figura 5-3 Registros de la computadora básicsi y memoria.
Ei registro de direcGonamiento {M) de la memoria tiene 12 bits porque
contador de dste es el ancho de.una d i d 6 n de memoria. El contador de programa (PC)
programa IPC) tambih tiene 12 bits y contiene la dirección de la siguiente instntccin que
se va a Ieer de la memoria después de que se ejecute la instrucción presente.
El PC recore una secuencia de conteo y hace que la computadora lea
instruccbnes 6ecuenhles almacenadas previamente en la memoria. Las pa-
labxas de instruccibn se leen y se ejecutan en secuencia, a menos que se
encuentre una 'instnicción de transferencia del programa. Una instrueei6n de
transferencia del programa =licita una transferencia a una instruccih no
consecutiva en >el programa. La parte de dkcci6n de una instrucci6n de
tiansferencia dei programa se transfiere al PC para convertirse en la diree-
ci6n de la siguiente instrucción. Para leer una instrucci611, se toma el conte-
nido del PC eoma la direcci6n para la memoria y se inicia un ciclo de lectura
de memoria. Despub el PC se incremmta en uno, para que contenga la
dipcci6n de h sipiente instrucci6n -en&
Se usan dos registros para entrada y salida El registro de entrada
( W R ) mi& un carácter de 8 bits de un dispitivo de entrada. El e s t r o
de salida (OUTR] contiene un cara- de 8 bits para un dispositivo de salida.
.J
Bus c m & del sistema
La computadora básica tiene ocho registros, una unidad de memoria y una
unidad de control ,(que se presentar4 en+la sección 5-4). Deben proporcionar-
w trayectorias para Wsferir firmaci6n de un registro a otro y entre Ia
memoria y el registro. La cantidad de l í í s aerA exeesiva si se hacen
138 CINCO Organización y d i d o de computadoras
conexiones entre la salida de cada registro y las entradas de los o* ~~.
Un esquema mas eficiente para transferir infomci6n en un sistema con
muchos registros es usar un bus com6n. Hemos mostrado en la secci6n 4-3
c6mo construir un sis- de bus común utilizando multiplexores o compuertas
de buffer de tres estados. La conexidn de los registros y de ia memoria de la
computadora bdsica a un sistema de bus común se muestra en la figura M.
Las salidas de siete registros y de la memoria están conectadas al bus
c m ú n . La salida especifica que se seIecciona para las líneas del bus en
cualquier momento dado, está determinada por el valor.biiario de las
variables de seleccidn S, S, y So. EI nhero que se encuentre adelante de
cada salida muestra el equivalente decimal de la seleceibn binaria requerida.
Por ejemplo, el niímero que está adelante de la salida de DR es 3. Las salidas
de 16 bit9 de DR se colocan en Ias Uneas de1 bus cuando SaSISo = 011 parque
este es el valor binario de1 decimal 3. Las lheas del bus común están
conectadas a las entradas de cada registro y las entradas de datos de la
c a w r ILD) memoria. El registro particular cuya entrada LD (cargar) está habilitada
recibe los datos del bus durante la siguiente transici6n del pulso de reloj. la
memoria recibe el contenido del bus cuando se activa su entrada de escritura.
La memoria coloca su salida de 16 bits en el bus cuando se activa la entrada
de lectura y Sfi,So = 111.
Cuab regisiros tienen 16 bits DR, AC, IR y TR. Dos registros, AR y PC,
tienen 12 bits cada uno porque coniienen direcciones de memoria. Cuando
el contenido de AR o PC se aplica al bus comtin de 16 bits, tos cuatiro biQ
mfis significativos se establecen en O. Cuando AR o PC reciben informacibn
del bus, sdlo E transfieren al registro los 12 tiits menos significativos.
El registro de entrada I W R y el registro de salida OUTR tienen 8 bits
cada uno y comunican con las 8 bits menes significativas del bus. INPR está
mnectado para proporcionar infomacibn al bus pero OUTR sólo puede
recibir informacibn desde el bus. Hsto'se debe a que TNPR recibe un car4cter
desde un disposiDivo de entrada que despugs se transfiere a AC. OUTR
mibe un carácter de AC y 16 envía* a un dispositivo de salida. No hay
transferencia de OZfTR a cualqiiiera de 10s"gtros regktrw.
Las 16 llrieas $el bus c o m h reciben información de seis registros y de
la unidad de memda. Las lkeas del bus esth conectadas a las entradas de
seis registros y a la memoria. Cinco registros tienen tres entradas de control:
LD (cargar), INR (inckrnentar) y CLR (borrar). Este tipo de registro es
equivalente a un contador binario con carga paralela y borrado sincrónico
similar al que se muestra en la figura 2-11. La operacih incrementar se
'
consigue al habilitar la entrada de cuenta en el contador. Dos registros tienen
una sola entrada LD. Este tipo de registro se muestra en la figura 2-7.
Los datos de entrada y de salida de Ia memoria están condados al
dime&& bus comdn, pero la d i k h de memoria está conectada a AR. Por lo tanto,
de memorfa siempre debe utiliizarse AR para especificar una direecibn de memoria. Al
utilizar un regbtro iinico para direccionamiento se elimina la necesidad de
- - .- - . . -
Figura M Registros 6 la f a m p u b b a básica conectados a un bus c o m k
140 C A P ~ O CINCO Organización y diseño de computadoras
un bus de direcciones, que de otra manera sería necesario. Puede especifi-
carse el contenido de cualquier registr~ para la entrada de datos de la
memoria durante una operación. De igual manera, cualquier registro puede
recibir. los datos de la memoria después de una aperaci6n de lectura,
excepto AC.
Las 16 entradas de AC provienen de un circuito lógico y sumador. Este
Circuito tiene tres conjuntos de entradas. Un conjunto de entradas de 16 bits
viene de las salidas de AC. Se utiliza para efectuar microoperaciones de
registro como el complemento AC y el corrimiento ,AC. Otro conjunto de
entradas de 16 bits viene del registro de datos DR. Las entradas de DR y AC
se utilizan para microoperaciones aritméticas y lógicas, como sumar DR a AC
o aplicar AND de DR a AC. El resultado de una suma se transfiere a AC y
el acarreo final de una suma se transfiere al flip-flop E (el bit de extensión
de AC). Un tercer conjunto de entradas de 8 bits viene del registro de
entrada INPR. La operación de INPR y OUTR se explica en la sección 5-7.
Nótese que el contenida de cualquier registro puede aplicarse al bus y
piiede ejecutarse una operación en el sumador y en el circuito lógico durante
el mismo ciclo de reloj. La transición de reloj al final del ciclo transfiere el
contenido del bus al registro destino designado y la salida del sumador y
circuito lógico a AC. Por ejemplo, las dos microoperaciones
pueden ejecutarse al mismo tiempo. Esto puede hacerse al colocar el conte-
nido de AC en el bus (con S2S$o = 100), habilitando la entrada LD (cargar)
de DR, transfiriendo el contenido de DR a través del contenido del sumador
y circuito lógico hacia AC y habilitando la entrada LD (cargar) de AC, todo
durante este mismo ciclo de reloj. Las dos transferencias ocurren durante la
llegada de la transición de pulso de reloj al final del ciclo de reloj.
5-3 Instrucciones de computadora
formato de La computadora básica tiene tres formatos de códigos de instrucción, según
insfrucción se muestra en la figura 5-5. Cada formato tiene 16 bits. La parte del código
de operación de la instrucción contiene tres bits y el significado de los 13
bits restantes depende del código de operación que se encuentre. Una ins-
trucción de referencia a memoria utiliza 12 bits para especificar una dirección
y 1 bit para especificar el modo de direccionamiento I. I es igual a O para una
dirección directa y a 1 para una dirección indirecta (véase la figura 5-2).
Las instrucciones de referencia a registros se reconocen mediante el código
de operación 111 con un O en el bit de la extrema izquierda (bit 15) de
la instrucción. Una instrucción de referenciaal registro especifica una
operación o una prueba del registro AC. No se necesita un operando de la
s E c a h M Instnicch de computadora 141
Figura 5 5 Formatos de inshucciónde la computadora básica.
(a) Instruccibn de refemda a memoria
15 12 11 O
memoria, por lo tanto las otros 12 bits se-utilizan para especifmr la opera-
ci6n o prueba que se. va a ejecutar. De igual forma, una instmcci6n de
entrada-salida no necesita una referencia a memoria y se m n o c e por el
&digo de operaci6n 111 con 1 en el bit de Ia extrema izquierda de la
instnicci6n. tos 12 bits restantes w utiIizan para espedfiear el tipo de
operacidn de entrada-salida o la prueba ejecutada.
El tipo de instrucci6n se reconoce mediante el control de computadora
de los cuatro bits en las posiciones de la 12 a la 15 de 1s instnrccibn. Si los
tres bit^ del código de operacibn en Ias posicioaes de Ia 12 a la 14 no m
iguales a 111, la instrucci6n es del tipo de referencia a memoria y el bit de
la posici6n 15 se bma como el modo de direccionamiento 1. Si el código de
operacibn de 3 bita es igual a 111, el control revisa el bit en Ia posición 15.
C
Si este bit es O, la instrucci6n ea del tipo de referencia a registro. Si el bit es - 1, la referencia es del tipo de entcada-salida. Nbtese que el bit de la posicibn
15 del código de instrucci6n esta representado mediante el slmbolo 1, pero
no se utiliza como un bit de modo cuando el d i g o de operacibn es igual
a 111.
S510 se utilizan tres bits de la instruccibn para el &dig6 de operacibn.
Puede parecer que la computadora est6 limitada a un máximo de odio
operaciones distintas. Sin embaxgo, como las inskuccionws con mfereneia a
registro y de entrada-salida u t i h n loa 12 bits restantes como parte del
d i g o de aperiicidn, la cantidad total de instrucciones puede exceder de
ocho. lk hecho, el ndmero total de inqtnicciones escogidas para la compu-
tadora básica es igual a 25.
Las instnzcciones para la computadora se listan en la tabla 5-2. La
representación simbólica es una palabra de tres letras y signifika una abre
cddip hexadedrnal viahira destinada a los programadores p los usuarios. 61 código hexadecimal
es igual al nhero hexadeciial del c6digo binario utüizado para la instnrc-
Q 1 1 I 1 í+imUndeqim (CWigodeopr~b= l11 ,1 -0 )
@) lnstmcdón de referencia a registro
142 m m m m c o . . y diseñu de computadoras
TABLA 5-2 I n s ~ n e s de la computadora básica
C6diga hexadedmal
Sfmbolo 1 = O I = 1 Descripcibn
AND Oxxx &ux Apiicar la h c i b n AND de la palabm de memoria a AC
ADD lm %m Sumar la palabra dememoria a AC
LDA 2xxx Axxx Cargar la palabra de memoria a AC
STA 3xxx Biatx AImacenar el contenido de AC en la memoria
BUN 4 ~ x ~ Cxlrx Brincar en forma incondiciona1
BSA 5m D m Brincar y guardar la direccidn de retorno
ISZ 6 ~ x x Exxx Incrementar y brincar s i hay un cero
C t A
CLE
CMA
CME
cm
a
nuc
SPA
SN A
SZA
SZE
HLT
,&ii
rmh*folllar rrJa
OUT ~ I ' & Y ~ SKI * h.
& SKO ION
IOF
Borrar AC
Borrar E
Complementar AC
Complementar E
Circular a la d e m b AC y E
Circular a la izquierda AC y E
Inmmentar AC
Brincar la siguiente insttiicción si AC ea positiva
Brincar la siguiente instniccibn si AC es negativa
Bruic~r ra siguiente inshucci6n si AC es cero
Brincar la Bigu rente inatmccibn si E es O
Detener la computadora
,FWJ Introducir un canleter en AC
F400 Sacar qn cadcter dede AC
F2íN Brincar hndera de entrada
FlOO Brincar si hay bandera de salida
Fb80 Intempcibn encendida
F040 Inkwpci6n apagada
cih. A1 mar el equivalente hexadecimál reducihia los 16 bits de un cddigo
de instrucci6n a cuatro dlgitos, donde cada digito h-decima1 es equivalente
a cuatro bits. Una instrueci6n con referencia a memoria tiene una parte de
direcci6n de 12 bits. La parte de dkccionamiento está representada por tres
x y tiene validez para los ~ k e s digitos hexadecirnales que corresponden a la
dirección de 12 bits. El Bltimo bit de la instrucción estzi representado por el
símbolo 1. Cuando I = O, las iiltimm cuatro bits de una instnicci6n tienen
un digito Irexadecimal equivalente de O a 6, dddo que el dtimo bit es O.
Cuando I = 1, el dígito hexadeeimal equivalente de los altimos cuatro bits
de la uistrud6n vhda de 8 a E, porque el dltimo bit ea 1.
Las instruceibnes con referencia a registro utilizan 16 bits para especi-
ficar una ope~aci6n. Lee cuatro bits de la extrema izquierda son siempre
0111, lo mal es el equivalente al hexadecimal7. Los otms digitos hexadeci-
mal& proporcionan el equivahnk binario de los 1i2 bits restan&. Las
instmcciones de entradasalida tambfi utiliqn todos los 16 bits para espe-
m ~ificaa una operacidn. Lm últimos cuatro bi& son siempre 1111, el equiva-
lente al hexadecimal P.
Vematiiiciad del conjunto de instrucciones
Antes de investigar las operaciones que ejecutan ks htmcciones, analicemos
el tipo de .instrucciones que deben incluirse en una computadora. Una
computadora debe t e ~ e r un conjunto de instrucciones para que el usuario
pueda conatmir programas de lenguaje de compubdora con el fin de evaluar
cualquier función que se sepa que puede rompu tarse. Se dice que el conjunto
de instrucciones está completo si la computadora incluye la suñciente canti-
dad de imtrucciones en cada una de las siguien'tes categorlas:
1. instrucciones aritméticas, 16gicas y de corrimiento.
2 Instruacianes par3 mover información hacia y desde la memoria y
, las registros del prwesador.
3. hstmcciones de control del programa, junto con instrucciones que
verifiquen las condiciones de estado.
.4. Instrucciones de entrada y saiida.
Las instrucciones aritmdticas, 16gieas y de corrimiento proporcionan
capacidad compuZacion~1 para procesar el tip de datos que el usuario puede
emplear. La mayor parte Be la información binaria en una computadora
*tal está aImamda en la mernorh pem todos los cálculos se realizan
en los registros del procesadar. Por lo tanto, el usuario podrA mover la
infoimari6n entre estas dos unidades. La posibilidad de tomar deeisionw es
iui hportante a- de las computadoras digitaies. Por ejemplo, pueden
compararse dos números y, si el primero es mayor que el segundo, puede
ser necesario proceder en forma diferente de si el segundo es mayor que eI
primero. Las instrucciones de control de programa, tales como las instruc-
ciones de transferencia del programa, se u t i h para cambiar la secuencia
en la cual se ejecuta el programa. Las instrucciones de entrada y salida se
necesitan para la comunicación entre la computadora y el usuario. Los
programas y los datos deben transferirse a la memoria, y los d t a d o s de
los c4lculos dehn transferirse de vuelta a3 usuario.
Las instrucciones ktadae en la tabla 5 4 constituyen un conjunto mhi-
ma que propomiona todas las posibilidades ya mencionadas. Hay una ins-
truccidn aritmética, ADD, y dos instrucciones relacionadas, complementar
AC (CMA) e incrementar AC (INC)). Con estas tres instrucciones podemos
sumar y restar números binarioe cuando existen números negativos en
repre$mtaei@ del complemento a 2 con signo. Las instrucciones para circu-
lar, CIR y CIL, pueden usarse para corrhimtos aritméticos, al igual que
para cualquier otro tipo de mdmierito deseado. La multiplicaci6n y la
divisibn puedm ejecutarse usando la e w , la resta y el corrimiento. Existen
tres operacim~ k;icas: N, mqlementm AC (CMA) y borrar o limpiar
AC (CLA). Las nperaciones AMD y complementar proporcionan una opera-
ción NAND. Puede demostrarse que con k aperacibn NAND es' pmible
efectuar todas las otras operaciones 16gicas con dos variables (las cuales se
lictan en la tabla 4-6). Mover informaci6n de la memoria a AC se consigue
con la inshci6n aargar AC (LBA). Pasar. hfomación de AC a la memoria
se hace eón la instrucci6n de almacenar AC (STA), Las instrucciones de
transferencia BUN, BSA e TS2, junto con las cuatro instrucciones de salto,
proporcionan posibilidades para transferirel control del programa y la
verScaci6n de las condiciones de astado. Las instm&ne de entrada (iNF')
y d i d a (OUT) hacen que se transfiera infonnari6n entre la computadora y
los dispositivos externos.
Aunque el conjunto de instnidmes para la mputadora básica está
completo, no es eficiente porque con frecuencia las operaciones utilizadas no
se ejecutan con rapidez. Un conjunto de instnicciones eficiente incIuir4
hstn,icciones como restar, multiplicar, 0 R y OR exclusiva. Estas operaciones
deben programarse en la computadora básica. Las programas se presentan
en el. capitula 6 junta con otros ejemplos de programaci6n para la computa-
dora basica. Al usar una cantidad hitada de instrucciones es posible mos-
trar eI diseño lógico de la computadora, en detaue. Un conjunto de instruc-
ciones más completo hubiera hecho el diseño demasiado complejo. De esta
manera es posible mostrar 1- principios Msicm de la organizacf6n y d i d o
de la computadaza sin liegar a detalles complejos en ex-. En el capftulo
8 ae v t a una lista completa, de instrucciones de computadora que se
incluyen en la mayorla de las cornputad~ras c o d a l e s .
la fun&rn de cada imtruccih que w lista m k tabla 5 2 y las microope-
raciones necesarias para su ejecuci6n se presentan m las seccionei de la 5-5
a 1s 5-7. Se propuso este a d l i i s porque se debe considerar primero la
unidad de control y comprender su mgmhción interna.
La tempriZaci6n de todos( 1- registros de la computadora básica estA
pulsos d ~ j controlada por un generador de *laj maestro; Los piilsos de reloj se aplican
a todos :lw fiipfiop~ y registros.de1 sistema, incluymdo los de la unidad de
cront~01. Los pubos de reioj no cambian .el estado de un qistro, a menos
que el regiska -té habxlitada mediante una seaal de control. Las seiIa1e.s de
conha1 se en la midad de mtrol y proporcionan entradas de control
para los multiplexores deI bus común, entradad de &ntrol en los registros
del v d m , y mimaperaciofles para d acumulador.
Existen dos. tipos principales de organizadmes de controk control por
cableado y control dcroprogramado. En la organhci6n por cableado la
i6gica de coníml ,se logra d i t e compuerta^, flip-ibps, deedificadores y
control por
cnbleado
atros circuitos digirales. Esto tiene la ventaja de que puede utiüzarse para
producir itn m 4 0 de operacib 26pid0, &la oq@zaci6n micrqprograma-
da, la inhftadbri de mírol está aImachacia *m uria memoria de mnkruL
La memoria de control esta programada para iniciar la secuencia de miampe
raciones requerida. Un control pgr cablegdo, egmo indica su nombre, necesita
.cambios en la instaiaci6n de cabi+de enh, b diversos componentes, si el
controI d M 4 va a modificarse o ~ b b ; e¡ c&trot microprogramado cual-
niimpmgmmah quier cambio o modificadaes puede hacerse actwüzando el
p m en h memoria de mn~rol.' Em &~=secciBn se presenta un control
p r caljlmdo para la computadora Mstca. U J ~ unidad de control micropm
gmtm@f?'ara una cohputadora similar se presentir en el capitulo 7.
~+t iáad d~ control 31 diagrama de bloque de Ia unidad de mtrol e muetra en la figura
- W, 'Bt& fopmado por dos decodificadaresi rin contador secuencia1 y cierta
cantidad de compuertas lbgicas de control. Una instruccidn leida de la
hiqoria se c~loca en el registro de la instnicci6n presente (IR). La posicibn
/de %e& e s t r o en el sistema de bus comtln se M i c a en la figura 5-4. El
e la ,~trucci6n presntei se muestra de nuevo en la figura 5-6, d.
do&e estd dividido en tres partes: el bit 1, el e M i o de operacih, y los bitg
de .O a 11. El código de operacidn en los bits del 12 al 14 se d e c a c a con
~ ~ ~ i f i c a d o r 3 X 8. Las acho saIidas de este decodificador se representan
d a * los símbolos & a 3l número .decimai en el suhfndice es
equivalente al valor binado del c6digo de &&e$n correspondiente. El bit
15 de la instruecidn se transfiere a iy flipflop representado por el sfmbolo
1. h s bis de O al 21 src ~ E C W en hr; wqpuektas ldgicas de control. El
contador secuencial de 4 bík puede ';Conkai'@- bhiario del O ai 15. Las didas
dei contador se decodfin en 16 señales, de temporizacidn de To a TI5.
Después, ae derivara la lfigica aiteq.de las wqipuertas de control, cuando
se considere en detalle el diseiYs de ~~om~ubdora.
El contador secuencial. SC mede( ingkrrtmtarse a l i m p h en forma
sincrona (vbase el contador de ¡a figura Zl.1). XA mayor parte del tiempo, el
contadar se incrementa para pmpo&onar la secuencia de seilales de tempo-
Wú6n del decodificador 4 X 16. De v a en cuando, el contador se borra a
O, haciendo que la siguiente seiíal de temporizacidn activa sea To. Por
ejemplo, consideremos el caso en que SC se incrementa para proporcionar
las Miales de temporizaci6n Ta, Tb T2, T3, y. Te en secuencia. En el tiempo
T* SC se km a O si lesK activadi la salida Da del decodificador. Esto se
expresa en foma simb6üca mediante el enuncido.
Ef diagrama de temporizaci6n de la figura 5-7 muestra la relacibn de tiempo
de Las 'wlialff de control. El contador secuencia1 SC responde a la transición
pmffiva de! reloj. Ai principio, la entrada CLR de SC está activa. La primera
trattsieibn del reloj borra SC a O, b cual a su vez activa la señai de
tempor%ii&i&n To del decdifmCIor. To es^ activa durante un ciclo de ,eloj
146 CA-O Organización y di- de computadoras
1 1 1 1 .&ras entradas
Salidas de
mnml -
t t t t
~rif~emenb W)
Bwrar (CLR)
1 1-. bloj
Figura 5a Unidad de control de la computadora bhica.
Li transición de reloj positiva Tp en el diagrama activará solamente aquellos
registros cuyas entradas de control estdn conectadas a la señal de tempori-
zaciBn T, SC se incremehta con cada transici6n de reloj positiva, a menos
que su entrada CLR esté activa. Esto produce las secuencias y señales de
temporizaci6n Tw Tp Ta Ti T4 y así sucesivamente, según se muestra en el
diagrama. (N6M la relación entre la &al de temporizacidn y la transicibn
de reloj positiva correspondiente.) Si SC no se borra, las sefiales de tempo-
rizacib? continuarh con TS T6 hasta TE y de regreso a Toa
Las últimas tres ondas de h figura 5-7 muestran c6mo se borra SC
cuando D3T4 = 1. La salida D3 del decodificador de operaci6n se activa al
h .
m 1;
C . .
r -
Figufa 5-7 Ejemplo de d a l e a de temporizaci6n de control.
final de la s&aI de temporizadón T2 Cuando la seííal de temporimci6n T4
x activa, también lo hace la salida de la compueita AND que implanta la
funcibn de control D3T4 EBta &al se aplica a la entrada CLR de SC. En la
siguiente transición de reloj positiva (la marcada con Tp en el diagrama) el
contador se pasa a O. Esto hace que ce active la M a l de ternprización To en
I lugar de Tg, que podria activarse si SC se incrementara en lugar de borrarse.
Un ciclo de lectura o de escritura se inic-iar6 con un flanco ascendente
de una seÍia1 de temporizacibn. Se considerará que el tiempo de un ciclo de
memoria es menor que un tiempo de ciclo de reloj. De acuerdo con esta
suposición, un ciclo de lectura o de mitura iniciado por una señal de
temporizaci6n se temiinard cuand~ el siguiente pulso de reloj llegue a su
posici6n de transición positivi. Despu&, se usar4 la transicibn de reloj para
cargar Ia palabra de memoria en un registro. Esta relaci6n de temporización
no es vilida en muchas computadoras porque el tiempo del ciclo de memo-
ria, por lo general dura más que el ciclo del reloj del prwesador, En tal
caso es necesario proporcionar ciclos de espera en el procesador hasta que
este disponible la palabra de memoria. Para facilikr la presentacih, consi-
deraranos que un periodo de espera no ea necesario en la computadora
bdsica.
Para comprender pof completo la operaeion de la computadora, es
crucial entender la relacibn de temporizaci6n entre la transición de reloj y
las &ec de temporización. Por ejemplo, el enunciado de transferencia de + 4-
To; AR .+ PC
.
especifica unatransferencia del contenido de PC a AR, si estA activa la sefial
de temporizaci6n Toa Tp está activa durante todo un intervalo de ciclo de
reloj. Durante este tiempo, el contenido de-PC se coloca dentro del bus (con
S$,S, = 010) y &.habilita la entrada LD (cargar) de AR. La transferencia
real no murre hasta el final del ciclo de reloj, cuando el reloj Uega a una
hansitidi positiva. Esta misma tansici6n -de reloj positiva inrrementa el
contador secuencia1 SC de 0000 a 0001. El siguiente ciclo de reloj tiene a TI
activo y To inactivo.
5-5 Ciclo de Instrucci6n
Un programa residente en la unidad de memoria de la computadora estA
fomiad& por una secuencia de instrucciones. El programa se ejecuta en la
computa'$ora rebtrlendo un del0 para cada instmcci6n. A su vez, cada ciclo
de instrucción se divide en UM SBZIE& de subciclos o fases. En la computa-
dora básica cada ciclo de instmcci6n consiste en las siguientes fases:
1. Buscar ,una instt.ucci6n de la memoria.
2. ~ e c a d i l i ~ a ~ la instrueeibn,
3. k r la direcci6n efectiva de la memoria si la instrucción tiene una
dimci6n indirecta.
4. Ejecutar la insQ~cci6n.
Cuando se termina el paso 4, el control rqresa al. paso 1 para buxar,
decodificar y ejecutar Ia siguiente instrucci6n. Este proceso continúa en forma
indefinida a menos que se encuentre una instniccihn HALT (alto).
Besqueda y decodificacihn
AI principio, el contador de programa PC estái cargado can la d h c i 6 n
de la primera instrucci6n del programa. El contador secuencia1 SC se
borra a 0, proporcionandb 'una señal de temporizaci6n codificada TD.
Despuds dk cada pulso de reloj, SC se incrementa en uno, para que las
d a l e s de t~empoporizaci6n recorran una secuencia To, TI, T, y as1 sucesiva-
mente. Las mkrooperaciones para las fases de búsqueda y decodificaci6n
pueden esp~cificmse mediar& lw siguientes enunciados de transferencia de
registro.
Como 410 AR estd conectada a las entradas de dkeccionamiento de la
memoria, es necesario transferir la direcci6n del PC a AR durante la transi-
cibn de reloj asociada con la sefial de temporlzaci6n To. Despuks, se coima
la instrucción de leer de la memoria en el, registro de instniccibn presente
IR, con la transicibn de reloj asociada a la s e h l de temporización Tp Ai
mismo tiempo, PC se incrementa en uno a fin de preparar para la dhixci6n
de la siguiente instruccidn en el programa. En el tiempo Ta, se decodifica el
código de operaci6n en IR, el bit indirecto se transfiere al flip-fiop X y la
parte de la d k a b n de b instnicci6n se transfiere a AR. N 6 b e que SC se
herementa deapub de cada pulso de reloj para producir la secuencia Tb TI
Y TP . -
La figura 5-8 muestra c6mo se implantan los primeros dos enunciados
de transferencia de registro en el canal del sistema de bus. Con el fui de
proporcionar la trayectoria de datos para Ia transferencia de1 PC a AR, se
debe aplicar â S-1 de temporizaci6n To para obtener la siguiente cone-
xi6n:
1. Colocar el contenido del PC dentro del bus al hacer que las entradas
de selecci6n de bus S$lSD sean iguales a 010.
2. Transferir, el contenido del bw a AR al habilitar la entrada LD de
AR.
La siguiente transicibn de reloj inicia la transferendia de PC a AR porque
Tg = 1. Para cumplir el segundo enunciado
es necesario usar la 4 de kmporizaci6n T,, con el fin de proporcionar
las conexiones siguientes en el canal del sistema de bus.
1. Habilitar la entrada de lectura de la memoria.
2 Colocar e1 contenido de Ia memoria dentro del bus al hacer que
S$,S, = 111.
3. Transferir el contenido del bus a IR al habilitar la entrada LD de IR.
, 4. Incrementar PC al habilitar la entrada INR de PC.
La siguiente transici6n de reloj inicia Ias operaciones de leer e incrementar
porque TI = 1.
La figura 5-8 duplica una parte del canal del sistema de bus y muestra.
c6mo están conectadas To y TI a las entradas de control de los registros, la
memoria y las entradas de seTecci5n del bus. En el diagrama se incluyen
mriltiple compuertas OK de entrada, porque hay otras funciones de control
que iniciardn operaciones similares.
TI
S2
To SI Bus
so - - -
L - Unldad de rnemdria = 7
Direcdn
Determinadbn del tipo de instrucción
La señal de temporizaci6n que est4 activa después de la decodifkacidn es
T3. Durante el tiempo T3 la unidad de controI determina el tipo de instruc-
I I
h r .
1
2
5
AR
A
Figura 5-8 Transferencias de registro para la fase de biisqueda.
- E-
I
PC :
t
m
=
LD
m01
h s comían
ci6n que se acaba de leer de la memoria. El diagrama de flujo de la figura
5 9 presenta una configuracih inicial para el ciclo de insttucci6n y muestra
c b m ~ d control detemiina el tipo de hstrueei6n despub de la d d i f i c a -
ci6n. Los tres tipos de instniccibn p i b k de, que se dispone en la cornpu-
tadora básica se especifican en la f i a 5-5.
ta salida del decodificador D7 es. igual a 1 si el código de operacihn es
igud a1 111 binario. Por la figura 5 5 determinamos que si 4 = 1, la
Figura 59 Tabla de flujo para el ciclo de instrricci6n (configuracibn inicial).
AR t PC
-
f T
I R c - M I A R ] , P C t P C + 1
1 1 T2
CMigo de op-ción de decodificaci6n en IR(12-14)
M t IR(0 -11 ) , I e I R ( 1 5 )
I r
(Regiiiiro o ]/O) = 1 = 0 (Merenda a memorla)
1 I 1 I
@/O} = 1 (indlrwto) = 1
1 r Ti I r T3 r T3 Ir T3
L 1
Q€cuhr la
inslruccion
de entmda-salida
S C t O
Ejmtar 1a
Instniccibn de
refmncla a registro
SC+O
AR t MARI Nada
1
i$xutar la
iMnruccibn de referencia
a memoria
SC+O
I
1 1 I I
in4tAcci6n debe W dé1 tipo de referéricia a registro 'o de entrada-salida. Si
'& =' O, el c6digo de bperaci6n debe ser:una de bs otros siete valores de
000 a 1'18; -e~peificando una insfrucci6n de 'refemncB a memoria. 'Despu4s
d control r&vih el valor del primer bit de la irrstnicci6n, el cual está ahora
disponible en el fl*ip"fiop I. Si V7 = 0 e I = 1, tamos una instru~ci6n de
I referencia a mdofia con m direccionamiento ' h d h t o . Entonces es necesa-
rlo leer. Int dirección efettiqa de h memoria. La microoperacibn para la
direccibfl fnd+ecta condici6n de direccionamiento indirecto se puede &presentar mediante e!
enunciado de transferencia de registros
Al principio AR cbntíene la parte de duecci6n de h instrucci6n. Esta direc-
ci6n se utiliza durante la instrucci6n de Iechira de meborla. Ia palabra en
la dirección proporcierrada por AR se lee de la memoria y se colma en el
bus común. bpu&s, se habita la entrada LD de AR, para recibir la
d k c i 6 n indirecta que reside en los 12 bits menos significativos de la
palabra de memoria.
b s tres tip& de instrucciones se subdividen en cuatro hayectorias
separadas. La o p r a c i h seleccionada se activa con la transicibn de reloj
asociada con la seña1 de temporizaci6n T3 Esto puede representarse como
sigue:
lT3: AR +M [AR J
Dj11T3: Nada
.D7 11T3: Ejecutar una instrucci6n de referencia
&%: Ejecutar una instrucción de entrada salida
Cuando se-encuenira una instrucciin de referencia a mkoria con I = O no
es necesario hacer nada porque la direccibn efectiva ya est6 en AR. Si
ernharo, el contador secuencia1 SC debe incrementar& cuando D1?T3 = 1,
, - - para que pueda continuarse la ejeeuai6m de-la instrucici6n de referencia a
memotia con la variable de temporización 1;. Puede ejkutarse una instnic-
ci6n &e referencia a registro o de entrada-salida mediante el reloj asociado
con la señal de brnporbaci6n T3. Después de ejecutarse la uistnicci6n, se
horra SC a O y el control regresa a la fase de bFtsqueda con To = 1.
N 6 k e que d contador secuencia1 SC se incremenb o se borra a O con
cada i!kansicibn de reloj positiva. Adoptaremos la n o h a de que si SC se
incre&nta, no escribirembs el enunciado SC * SC f 1, pero estar6 implícito
que el Antro1 pasa a ia siguiente señal de temporizaci6n en secuencia.
Cuando se va a borrar SC, incluiremos el enynciado SC - 0.
Lastransfemcias de registros necesarias para la ejecuci6n de las b-
trucciones de referencia a registros se presentan -en esta secci6n. En la
siguiente e i 6 n se explican las instrucciones de refemcia a memoria. Las
- imtructiones de entrqda-salida se incluyen eri la Secci6n 5-7.
Insbcciones de referencia a registros
El control reconoce las instrucciones de referencia a registros cuando D7 = 1
e' 1 O. Estas i n s ~ c c i ~ n e s utflizan los bits del O al 11 del caigo de
instrucci6n para especificar una de las 12 instrucciones. Estos 12 bits estiin
disponibles en IR(0-11). Tambibn se transfirieron a AR durante el tiempo ;r2.
Las hnciones de csntrol y las micmperaciones para las instnicciones
de referencia a registro se listan m la tabla 53. Estas instrucciones se
ejecutan con la transición de reloj asociada con Ia variable de temporizaci6n
T3 Cada función de control necesita la relaci6n bmleana D7i'T3 la cual, por
conveniencia, representaremos con el símbalo r. La función de control se
disthgue.por uno de los bits en iR (0-11). Ai asignar el símbolo Bl al bit i
de IR, todas las fimcionea de control ce pueden representar con sencillez
mediante rB,. Por ejemplo, la instruccibn CLA tiene él cddigo hexadecimal
7800 (vdase la tabla 5-Z), el cual, da el b M o equivalente O111 1OOO 0000
axio. El primer bit es un cero y es equivalente a P. Los siguienb tres bits
constituyen el código de operación y se reconocen de la salida del decodifi-
cador &. El bit 11 en 1R es 1 y se reconoce de Blp La funci6n de control
que inicia la rnicrooperaci6n para esta instrucci6n es D71rTJBll = rBIp Ia
ejecucih de una inshucci6n de rbferencia a registro se termina en el tiempo
T3. El contador mencial SC se borra a O y el control regresa a buscar la
siguiente instniceibn con la seiial de temporizacibn Ta
Las primeras siete instrucdanes de referencia a registro ejecutan las
rnicrooperaciones de borrar, compiementa~, corrimiento circular e incre-
mentar sobre los registros AC o E. Las siguientes cuatro instrucciones
provocan un brinco de la siguiente instrucción en rmuencia cuando se
satisface una condición esbb1ec:ida. La Instrucci6n de brinco se ejecuta al
TABLA 5-3 Ejecución de instucciones de referencia a registro
D71rT3 = r (comírn a todas las instmcciones de referencia a registro)
IR(i) = B, [el bit en IR (0-11) que especifica la operacidn]
r:
CLA Y&,:
CLE rB,:
CMA rB,
CME rB;
CIR Y&
CiL rB,:
iNC rB,:
SPA rB,:
SNA rB,
SZ4 rB,:
SZE Y&:
mi' rB,:
SC t O Borrar SC
AC t O Borrar AC
E - O Borrar E
AC + A 7 Carnplementar AC
E + E Complementar E
AC t. shr AC, ACb5) - E, E r- AC@) C h I a r a la deredia
AC + shl AC, AC(0) + E, E t. AC('i5) Cinnilar a la izquierda
AC - AC+1 incrementar AC
Si (AC(15,) = O) entonces (PC PC + 1) Brincar si es positivo
Si (AC(15) = 1) entonces (PC + PC + 1) Brincar si es negativo
Si (AC = O) entonces (PC + PC + 1) Brincar si AC es cero
Si (E - O) entonces (FC + PC t 1) Brincar si E es cero
S .- O (S es un flip-flop de inicioalto) Detener la computachm
incrementar PC una vez mAs (ailemZis, se .incrementa durante la fase de
b b q e d a 'eir d tiempo Td. Las enunciados de con& de condicibn deben
recon- como pafte.de las cd¿lciones de control. AC es positivo cuando
el bit de signo en AC(í5) = O; es negativo cuando ACt15) = 1. El contenido
,de AC es cero (JC = 0) todos los flip-flops del registro son c m . La
insfrucci6n FKT borra un flip-flop de inicioalto S y detiene el funcionamien-
to de1 contador secuencial. Para restalil- la opwacih de la computadora,
el fiip-fiop itiicio-alto d e h iniciarse eñ forma manual.
5-6 Instrucciones de referencia a memoria
Para especificar las micraapraciones que se requieren para la qecucibn de
cada Instmcd&n, es necesario que la funci6n que se pretende ejecutar se
defina con pmisi6n. Al revisar la tabb 5-2, en la cual se Iistan las instruc-
ciones, enconkamos que algunas tienen una d d p c i b n ambigua. Esto se
debe a que, por io generaI, la &plicaci&n de una insímcci6n con palabras es
extensa y no hay espacio disponible en la tabla para su explicacidn. Ahora
mostrammae; que la función de las instrucciones de referencia a memoria
puede definirte m forma precisa mediante la notaci6n de transferencia a
registros.
La tabia 5-4 lista las siete instrucciones de referencia a memoria. La
salida decodificada Di para i = 0, 1, 2, 3, 4, 5 y 6 del decodificador de
operacibn que pertenece a cada instrucción se incluye en la tabla. La di=-
d i m i d n eJectfata ci6n efectiva de Ia instruccidn estd en el registro de direccionamiento AR y
se colocb ahí durante la señal de Zemporkri6n TZ cuando I = O o durante
la serial de temporizacibn T3 cuando I = 1. La ejecucidn de las instrucciones
de referencia a memoria comienza con la señal de temporizacihn T4 La
descripci6n simbólica de cada instrucci6n se especifica en la tabla en M-
nos de notaci6n de transferencia de registros. ts ejecución mal de la inatruc-
ción en el canal del sistema de bus requerirá una secuencia de microopera-
TABLA M Tnshucciories de referencia a memoria
Decodificad~r
Shbolo de operación Dpsc~ipci6n eW1ica
AND Do AC +AC A MIAR]
4DD * ' D I AC*-AC + M[AR], E e C , ,
LDA Dz A C t @ k I R ]
STA D3 M[AR] t AC
BUN Dk PC+AR
BSA Ds M[Al?l+$T, PC+AR + 1
ISZ a M[AR]c-'M[AR] + 1,
Si MIAR] + 1 = O entonces PC c
5.6 Instruccimm de referencia a memoria
ciones. Esto es porque los datos almamad= en la memoria no pueden
procesame en forma directa. los datos deben pasarse de la memoria a un
registm donde pueden ser operados sobre circuitos lbgiros. Ahora explica-
mos la operacih de cada instrueei6n y hacemos una hta de las funciones
de control y microaperaciones necesarias para su ejecucibn. Al final de esta
seccibn se presenta un diagrama de flujo que resume todas las mimoopera-
ciones.
Ejeaci6n de la instnieei6n AND a AC
Esta es una instruccidn qkejecuta la operacibn l&gica AND sobre pares de
bits en AC y la palabra de memoria especificada mediante la dirección
efectiva. El resultado de la operaci6n w transfiere a AC. Las micmperacio-
nes que ejecuta e~ta~instmccibn son:
La funcibn de control para esta htrucci6n utiliza el demdificador de ope
racibn Do porque la salida del decodificador estd activa cuando la instrucción
tiene una operaci6n AND cuyo valor de código binarib es 000. Se necesitan
dos d e s de temporizaci6n para ejecutar la insfmrci6n. La transicibn de
reloj asmiada con la señal de temporhci6n T4 transfiere el operando de la
-aria dentro de DR. La transicihi de reloj asrreiada con la siguiente señal
de ternporkciibn &nsfiere a AC el resultado de la operación lógica AND
entre el contenido de DR y AC. La misma transicidn de reloj pasa SC a O,
al transferir el cohtrol a la seiíal de Wporizacibn To para comenzar un
nuevo ciclo de instruccibn.
Ejecucihn &e la+instnrCnbn ADD a AC
Esta instruccibn suma el contenido de la palabra de memoria especificada
por la dked6n @fectiv¿i al valor de AC. La suma se transfiere dentro de AC
y el acarreo de> salida Cd se transfiere al flip-flop E [extenssn del acumula-
dor). Las mictooperaciones para 'qsuhr la instrueddn son
DITi: DR + M[AR]
4%: AC + A C f DR, E * C M SC + O
Se usan otra vez las mismas dos seílales de temporizacibn, T4 y Tg pero con
el decodificadar de operacibn DI en lugar de Do el cual se utilizó para la
inistrucmn AND. Después de que se busea la instnioeidn en la memoria y
se decodifica, sbln estará activa una salida del derodíficador de operación y
esa salida determina La secuencia de micmperaciones que sigue el control
durante la ejecución de la instrucción de referencia a memoria.
LIJA: Cargar a AC
Esta instrucción transfiere la palabra de memoria especificada por h direc-
ción efectiva a AC. Las microoperaciones necesarias para ejerutar esta ins-
tnicci6n son
Al revisar el canal del sistema de bus mostrado en la figura 5-4 notames que
no hay una trayectoria directa d d e el bushsta AC. El circuito sumador y
Iógico mibe informad6n de DK la cuaI puede transferirse a AC. Por lo tanto,
primero a necesario llevar la palabra de memoria a DR y después transferir
el contenido de DR a AC. La raz&n para no conectar el bus a Ias entradas
de AC es el retraso que se encuentra en el circuito sumador y 16gico. Se
considera que d tiempo que toma leer en h memoria y transferir la palabra
a travb del bus y el circuito sumador y 16gico es mayor que el tiempo de
un ciclo de reloj. Al no condar el bus a hs entradas de AC pakmos
mantener un ciclo de reloj por micrmperaci6n.
STA: Almacenar AC
üsta inskucci6n almacena el contenido de AC en la palabra de memoria
especificada por la dhecu6n efectiva. Como la salida de AC se aplica al bus
y la entrada de datos de la memoria estA conectada al bus, podemos ejecutar.
esta uistnicci6n con una micreeracibn:
QT4: M[AR] t AC, SC + O
BUN: Brinco incondicional
Esta instrucci6n transfiere el control del programa a la instniccibn espeeifi-
cada por d i i 6 n efediva. Debe recordarse que PC contiene la inshucci6n
de la dimcibn que se va a leer de la memoria en el siguiente ciclo de
instFuccidn. PC se inere~enta en el tiempo TI para prepararlo para la
dii.eeei6n de la siguiente instruccih en h secuencia del programa. La iris-
tnicci6n BUN permite que el programador especifique una instrucción fuera
de secuencia y se dice que el programa se brinca de manera incondicional.
Esta instnzccibn se ejecuta con una ~ ~ e r a c i 6 n :
La d-ihn efectiva de AR se transfiere por el bus comiln al PC. Al
mtableeer SC a Q se transfiere el control a To. Después ce busea y se ejecuta
la siguiente instrucción de la direccih de meinoria proporcionada por d
nuevo valor en PC.
!S~@N 5-6 Instrucciones de kfemwia a memoria 157
BSA: Brincar y guardar la direcci6n de retorno
Esta instniccibn es tltd para brincar hacia una porci6n del programa llamada
subrutina o procedimiento. Cuando se ejecuta, la instruccibn BSA almacena
la di&& de b siguiente, insktuccibn en secuencia (la cual esta disponible
en PC) dentro de una pmiei6n de la memoria especificada por la direcci6n
efectiva. La dimci6n efectiva mAs uno se transfiere'después a PC para seniir
como la direccibri de la primera hstrucci6n en la subrutina. Esta operación
se especificb en la tabla 5-4 con la siguiente transferencia de registro:
M[AR] t PC, K + AR + 1
Un ejemplo nurndrico que muestra cómo se usa esta instnicci6n con
una subrutina aparece en la figura 55-10. Se considera que la instnicci6n BSA
estd en la memoria en la dirección 20. El bit 1 es O y la parte de la dirección
de la instnicci6n time el eq,uivalente bbrio de 135. Después de las fases de
. biiaqiiaquda y dwdificación, PC contiene 21, que es la direccidn de la siguiente
dimccidn dt ptnmo inshzieci6n en el programa (demiminada dirección de refmo). AR contiene
la direcci6n efectiva 1% Esta se muestra en la parte (a) de la figura. La
instmcci6n BSA ejecuta Ia siguiente operacihn numérica:
E1 resultado de esta operacidn se muestra en la parte @) de la figura. La
d'wocibn de retorno 21 se almacena en la localidad de memoria 135 y el
control continúa con d programa de subnitina que comienza desde la
direeei6n 136. El regreso al programa original (y la di~eccibn 21) se consigue
Figura 510 Epplo de la ejecuci6n de la instruccidn BSA.
Memoria Memoda
O BSA 135
Siguiente instrucción
S~ibrutina
I
1
BUM 135
O BSA 135 1
Sigifente i ~ ~ ~ t r u m b
mediante una instrucción BUN mind-ta, colocada al h a 1 de la subrutina.
Cuando se ejecuta esta btmcd6h d mnml regresa a la fase indimta para
leer la dire&& kktim en la lkalidad 135, donde encuentra la dimi6n 21
que se guardb antes. -15:úando se ejecuta .la instrucción BUN, la direcci6n
efecti'va 21 se 'transfiere a PC. El siguiente cfcio de la instnrcci6n encuentra
PC rion el valor 21, por lo que el' control sigue ejecutando la instrucci6n en
la direccibn de retorno.
Por lo general, la imhxei6n BSPr ejecuta la hnci6n que se denomina
llamada a subrutina. La inskucci6n BUN indirecta al final de la subrutina
ejecuta la función que se denomina retomo de la subrutina. En la mayoría
de las mputadoras comerciales, la dirección de retorno asociada con una
subrutina se dmaana. en un regÍstra de procesador o en una porción de la
memoria Ikrnada pila (stack). Esto se analiza más adeiante con mayor detalle
en la secci6n 8-7.
No e~ posihle ejecutar lai operacibn de la Instmcci6n BSA en un ciclo
de mloj m d o se u t i l i el bus del sistema de la computadora bgsica. Para
usar en h a adecuada, la memoria y d bus, la inetniai6n BSA debe
ejecutarse con una ~ e n c i a de dos microopraciones:
D5T4: M[ARJ + PC, AR t AR + 1
D5T5: PC + M, SC + O
La aeñd de tmprhaci6n Tk inicia una operad611 de escribir en memoria,
colma el atenido del PC dentro del bus, y habilita la entrada iNR de AR.
La operacidn de escribir eñ memoria $e tmpleb y AR se incrementa cuando
ocurre la siguiente trawición de reloj. El bus se utiliza en T5 para transferir
eI contenido de AR a PC.
ISZ: Incrementa y brinca si es cero
Esta insinicci6n incrementa la palabra especificada por la direccihn efec-
tiva y, si el valor incmnentado es igual a O, PC se incrementa en 1. El
programador por lo general almacena un número negativo (en comple-
mento a 2) en la palabra de memoria. Como =te valor negativo se incrementa
una y otra vez en uno, eventualmente alcanza el valor de cero. 13n ese
momento, PC se incrementa en uno para saltar la siguiente instnicci6n en el
programa.
Como no es posible incrementar una palabra dentro de la memoria, es
necesario leer la palabra dentro de DR, incrementar DR y almacenar otra
vez la palabra en la memoria, Esto se hace con la siguiente -uencia de
micmoperaciones:
D6T4: DR t. MIAR]
D6T5: DR DR + 1
D6Td MIAR] + DR, si (DR = 0) entonces (PC + PC + 11, SC t O
S E C U ~ 5 4 instrucciones de referencia a memoria 159
Diagrama de flujo de control
En la figura 5-11 se muestra un diagrama de flujo que muestra todas las
micmperaciones para la ejecucidn de las siete instrucciones de referencia a
memoria. Las funciones de control se i d c a n eh la parte superior de cada
bloque, Las microoperaciones que se ejecutan durante los tiempos T4 T5 O
T6 dependen del valor del &digo de la operacihn. Esto se indica en el
diagrama de flujo mediante seis trayectorias diferentes, una de las males
Figura 5-11 Tabla de flujo para instrucciom de referencia a memoria.
Instruccibn k r e f e ~ l p a memorla '
AND AaI3 11 LDA STA
lf Do4 i r 11134
DR +MIAR]
Ir D2Td lr 4T.I
DR t M [MAR] M [AR] t AC
S C t O
tr D0T5
-
r DlT5 1 ' D2T5
A C t A C A D R
S C t O
BUN 85A ISZ
nb7
I r
D6T6
M [M] t DR
Si (DI? = 0)
Entoiraep(PCtPC+ 1)
sc4-o
A C t A C + D R
E t C d
S C t O
AC i- DR
S C t O
toma eI control después de que se decd ica la instrucci6n. En cada caso, el
contador secuencia1 SC se barra a O can la Siltima señal de temporizacibn.
Esto provoca una krans- del control a la señal de temporizaci6n To
para qw qomience el siguiente ciclo de instruccibn.
N6tese que d o necesibrnos siete h l e s de temporización para
tar la instnicci6n m49 larga @Z). La computadora puede disefiarse con un
contador secuencia1 de 3 bits. La razbn para utilizar un contador de 4 bits
para SC es proporcionar seÍta1es de tempohci6n adicionales para otras
instrucciones que se p m t a n en la sección de problemas.
Una computadora no puede tener un propósito 6til a menos que 8e comu-
nique con un ambiente externo. Las instrucciones y los datos almacenados
en la memoria deben pmvenir de algún dispositivo de entrada. Los multa-
dos computacionales deben transmitirse al usuario mediante algún disposi-
tivo de salida. h s computadoras comerciales incluyen muchos tipos de
dispositivos de entrada y salida. Para mostrar la mayor park de bs reque
bientos bdsicos para comunieacibn de entrada y salida, utilizaremoscomo
ejemplo una unidad tednal con un teclado e impresora. La organizacibn
de la entrada-salida se analiza más adelante en el capítulo 11.
Configuraci6n de entrada-salda
La terminal envía y recibe información serial. Cada cantidad de informacibn
tiene ocho bits de un c6digo alfanumérico. La informacidn serial del teclado
se cambió dentro del registro de entrada INPR. La información serial para
la impresora se almacena en el registro de salida OUTR. Estos dos registros
comunican en forma serial con una interfaz de comunicaci6n y con el AC
en paralelo. La configuración de entrada-salida se muestra en Ia figura 5-12.
La interfaz que transmite recibe información serial del teclado y la transmite
a INPR. La interfaz que recibe acepta infomaci6n de OUTR y la envía en
forma serial a la impresora. La operacibn de la interfaz de comunicación
cena1 se explica en la secci6n 11-3.
regisiro de entrada El registro de entrada INPR consta de ocho bits y contiene inforrnaci6n
de entrada alfanum~rica. La bandera de entrada de 1 bit FGI es un flipflop
de control. El bit de la bandera se activa en 1 cuando hay disponible
informacidn nueva en el dispositivo de entrada y se desactiva a O cuando Ia
computadora acepta la informacibn. La bandera es necesaria para sincro-
nizar la diferencia de la velocidad de temporizacibn entre el dispositivo de
entrada y la computadora. El p m s o de transferencia de informaci6n es
como sigue. Al principio, Ia bandera de entrada FGI se desactiva a O. Cuando
se oprime una tecla en el teclado, se ejecuta un corrimiento sobre un ckiigo
alfanumérico de 8 bits dentro de INPR y la bandera de entrada FGI se inicia
Registros de
*computadora
Y fl~pnops
Impmora
en 1. Mientras la bandera estd en uno, no puede cambiarse la infonnacih
en INPR al oprimir otra teda. La computadora comprueba el bit de la
bandera; si es 1, la infomci6n de INPR se t r d r e en paraielo dentro de
AC y FGI se reinicia a O. Una vez que se desactiva la bandera, puede
intradub informacihn nuwa dentro de N P R al oprimir otra teda.
registm de salidri El registro de salida OUTR funciona en forma similar pero la d-bn
del flujo de irdoma& está invertida. Ai principio la bandera de salida
FGO se activa m 1. ta computadora comprueba el bit de la bandera; si es
1, la infonnaci6n de AC se transfiere en paralelo a OUTR y FGO se desactivá
a O. El dispositivo de salida acepta la infomacibn codificada, imprime el
carácter correspondienk, y cuando se S e i n a la operaci6n activa FGO en 1.
h computadora no carga un nuevo car-r en OUTR cuando FGO es O
porque esta condición indica que el dispwitivo de salida se encwntra en el
pniceso de imprimir el carácter.
Teclado L
Instrucciones entradaealida
Se necesitan irlstrucciones de ehtrada y salida para transferir información
hacia y d d e el registro AC, para comprobar los bits de bandera, y para
controlar la opci6n de interrupci6n. Las instrucciones de entrada-salida
. = Interfaz OUTR
r
Int&
transmiswa
- -
Figura 543 Tabla de fiujo para el d o dc intcrrupiów
Ciclo de instruccibn O = I Ciclo de intemipA6n
i r 1
un registro de proceaador, una pila de memoria, o una posici6n de memoria
+ea. Aquí la localidad de memoria en la direccibn O como
l u w para almacenar la dirección de retorno. Despuk el control inserta
la localidad 1 dentro del PC y a b i l i t a IEN y R .para que no puedan
murrir m& intermpciohes hasta que se haya atendida la solicitud de i n b
mipcidn de la bandera.
Un ejemplo que mwtra lo que sucede durante d ciclo de intenipci6n
aparece en la figura 5-14. Supongamas que ocurre una interrupci6n y R se
inicia en 1 mientras el control está ejecutando la instrucción en la direcci6n
255. En este momentu) la d k & n de retorno 256 está en PC. Ei programa-
dor ha colocado previamente un programa de sewicio de entrada-salida en
Ia memoria comenzando en la direccibn 1120, y. una instruccibn BUN 1120
m la dirección 1. Esto se muestra en la figura 514(a).
Cuando el control danza la seítal de temporhci6n To y encuenha que
R = 1, prmede ewi el ciclo de hkmrpciibn. El contenido del PC(256) se
ahnacaa en la localidad de memoria O, PC se inicia en 1, y R se rrinicia a O.
I n s i d n para
busmr y demdtlicar
Almacenar
dlrm3ón de retorno
en la posicibn O
M [O] +- PC
Ejecutar
Instnicci6n
I
Wfmr a la posicibn 1
P C c 1
I
IEN t O
R t O
= O
i r 7 1
R t l
I f 1 r 1 ' 3 r f
Memoria
(a) Anta de la Miempclón (b) W p u b dd ciclo de intempci6n
Figura 5-14 Ejemplo del &lo de interrupcibn.
Al comienzo del siguiente cicIo de inshuccibn, la instrucci6n que se lee de
la memoria esta. en la dirección 1 porque &te es el contenido de PC. La
instrucci6n de brinco en Ia dkwibn 1 hate que el programa se transfiera al
programa de servicio de entrada-mlida en ia dimcidn 1120. Este programa
cornprueba las banderas, determina cual bandera está en uno y después
transfiere la información de entrada o salida requerida. Una vez que hace
esto, 8e ejecuta la insEtucci6n ION para activar IEN en 1 (para habiiitar
interrupciones posteriores), y el programa regresa a la posici6n en la cual
fue interrumpido. Esto se muestra en la figura 5-14(b).
La Xnstrucci6n que regresa a h computadora al Iugar original en el
proarama p b i p a l es una in$tnirni6n.de brinco indbzto, con una parte de
dimi611 de O. Esta instrucci6n se coloca al final del programa de servicio
de entrada-&ida. Despub de que esta instrucciSn se lee de Ia memoria
durante b fase de búsqueda, el control va a la fase indirecta (porque I = 1)
para leer la direcci6n efectiva, La direccidn efectiva esta en la p ic i6n b y
es la dirección de retorno que se almacm6 ahi durante el ciclo de interrup-
cibq previo, ta ejecuadn de h instrucci6n B ü N indirecta da como resultado
la colocaci6n dentro de FC de la dimi6n de retorno en h localidad 0.
Ciclo de int-pcibn
Ahora esbmos preparados para listar ks enunciados de tractshcia de
registros para el ciclo de intmupci6n. E1 ciclo de interrupcidn se inicia
d q u & de la última fa= de ejecucibn sí el fiip-flop R de interrupción es
igual a 1. &te flip-flop se activa en 1 si IEN = 1 y si FGI o FGO son iguales
a 1. Esto puede suceder con cualquier transici6n de rdoj excepto cuando las
166 W m Organizacih y diseiio de computadoras
sefíales de temporizacibn Tw Tb o T2 estZln activas. La condici6n para activar
el fipflop R en 1 puede expresarse con el siguiente enunciado de transfe-
rencia de registro:
TJTí Ti(lEN)(FGI + FGO): R + 1
Bi símbolo + entre FGI y FGO en la huici6n de control representa una
funcibn OR 16gica. A esto se a p k a la funci6n AND con IEN y r0','I'G.
modifiacidn Ahora modificaremos las fases de bdsqueda y decodificacidn del ciclo
de la frise de de instniccibn. En lugar de d o usar las dales de temporizaci6n To, Tp y
búsqueda T2 (como se muestra en la figura 5-9) aplicaremos la hnci6n AND con R' a
las tres señales de bemporizaci6n para que las fases de búsqueda y de
decodificaci6n se reconozcan de las tres funciones de control R'T& R'Tl y
R'T2. Za razbn para hacer esto es que el tiempo en que se ejecuta la instruccidn
y SC se borra a O, el control recorre una fase de biisqueda s610 si R = 0.
De otra manera si R = 1, el control reromera un cicIo de instrucci6n. E1 ciclo
de interrupción almacena la di-n de retorno (disponible en PC) dentro
de h posici6n de memoria O, modifica a la posición de memoria 1, y
desactiva IEN, R y SC a O. Esto puede hacerse con la siguiente secuencia de
micmpraciones:
Durante la primera M a l de temporización se borra AR a O, y el contenido
de PC se transfiere al reghtro temporal TR. Con la segunda seiZEal de
temporizaci6n, la direeeibn de retorno & almacena en la memoria en Ia
posicibn O y PC se carga a O. La kercera sefial de temporizacibn incre-
menta PC a 1, desactiva IEN y R, y el'control regresa a To a b n a r SC a O.
El inicio del siguiente cielo de insItriccidn tiene la condicibnRT, y el
contenido de PC es igual a 1. Después el control recorre un ciclo de
instrucci6n que busca y ejecuta la instnickión BUN en la lacalidad 1.
5-8 Descripción completa de una computadora
En la figura 5-15 se muestra el último diagrama de flujo del ciclo de
diagrnma de flujo instrucción, incluyendo un ciclo de intermpci6n para la computadora básica.
para in Ei flipflop de interrupcihn R puede iniciarse en cualquier momento durante
compwtudorn brisica las fases indirecta o de ejecucibn. El control regresa a la &al de temporiza-
ción To despuds de que SC se borra a O. Si R = 1, la computadora qecuta un
ciclo de intempci6n. Si R = O, la compubdora ejecuta un ciclo de instruc-
cibn. Si la initrucci6n de referencia a memoria, la computadora comprueba
primero si existe una direcci6n indirecta y despuk continúa ejecutando la
SEC- 5 8 DeSajp ih compieta de una computadora 167
Inicio
S C t O . I E N t 0 , R t O
I
(Ciclo de lnstruccibn) = O = 1 (Ciclo de inwrrupcibn)
1 r RTo 1 r RTD
AZP+PC I AR+O.TR+PC
9 f R' TI 1 RTI
I R c M [ A R J , P C t P C + l M [AR] t TR, PC t O
1 1 R' TZ 1 RT2
AR+IR(O-ll) , ItIR(15) P C t P C + 1, IEN+O
Do ..- D7 t k d i c a r iR (12 - 14) R t O , S C + O
I u
~ i s t r o o I / O ) = 1 = O ( R e f e m a memorla)
9 f I f
Q/O) = 1 = O (directo)
" DflT3 " W'T3 1 ' D'TI T3 l r Db71*T3
Ejecutar Ejecutar AR t M[AR] Nada
la instrucción de la instruccibn de:
eniradasalida refereocia a regiritm
(tzibhA-5) ~(tabh 53) i r 1
Ejmiar
la instrumibn de
referencia a memorla
(tabla $11)
1 1 Y
Figura 515 Tabla de flujo para la operación de una mmputadora.
instrucción decodificada de acuerdo con la tabla de fIujo de la figura 5-11.
Si Ia instrucci6n es de referencia a registro se ejecuta con una de las
microopmaciones listadas en la tabla 5-3. Si es una uistniccibn de entrada-
salida, se ejecuta con una de las micrmperaciones listadas en la tabla 5-5.
En lugar die utilizar un diagrama de flujo, podemos d d i r la operaci6n
de Ia computadora con una lista de enunciados de transferencia de registro.
Esto se realiza al a~umular todas las funciones de control y microoperaciones
en una tabla. Las entradas se toman de las. figuras 5-11 y 515, y las tablas
5-3 y 5-5.
Todas las funciones de control y micrmperaciones paka la computadora
sé m m e n en la tabla S-6. Bii la tabla, los enunciados de transferencia de
registros describen de manera concisa la organización interna de la compu-
tadora basica. Tambibn proporcionan la informaci6n necesaria para el diMo
de los circuitos 16gicos de la computadora. ias funciones de control y los
enunciados de control condicional que se listan en la tabla formuian las
funciones booleanas para las compue- en la unidad de control. La l ita de
rnicrwperaciones especifica el tipo de entradas de control necesarias para los
registros y la memoria. Un lenguaje de transferencia de registros es útil no
5610 para d e i r la organizaci6n interna de un sistema digítal, sino tam-
bién para especificar los circuitos 16gicos necesarios para su -o.
5 9 Diseño de una computadora básica
La computadora básica consta de los siguients componentes de hardware:
1. Una unidad de memoria con 4096 palabras de 16 bits cada una
2. Nuwe registros: AR, PC, DRf AC, IR, TR, OUTR, lWPR y SC
3. Siete flip-fiops: 1, S, E, R, IEN, FGI y FGO
4. Dos decodificadores: un decodificador de operati611 de 3 X 8 y un
d d i c a d o r de temporizaci&n de 4 X 16
5. Un bus c o m h de 16 bits
6. Compuertas 16gicas de control
h a 7. Un circuito sumadm y lñgico conectado a la entrada de AC
+b
Ia unidad de memoria es un componente estándar que puede obtener
.se con facilidad en el mercado. Lm registros son de1 tipo que aparecen en
la figura 2-11 y m similares al circdto integrado 74163: Las flipflops
pueden ser del tipo D o JK, como se describen en la sección 1-6. tos dos
decodificadores son componentes estandar sidlqres a los que se prexntan
en la m i 6 n 2-2. El sistema de bus comh puede construirse con dieciséii f- multiplexores de 8 X 1 en Luia conf~guración similar a la que aparece en la
figura 4-3. Ahora vamos a mostrar dmo dL&r las compuertas lógicas de
control. La siguiente secciin se refiere al &fio del circuito sumador y 16gico
d a d o c m AC.
m 5-9 U de una mnpuiadma 169
TABLA M Funcionts de $~ntroI - a c i w para la -putadora básica
Reciipaar R'To: A R c P C
R'TI: ( R t M f A R ] , P C ~ P C + 1
Decodificar R'T2: DO, . . . , D, t J h d & c a r IR(12-14)
AR +aR[o-ll), 2 tfR(1S)
intempei6n D;ITa: AIP t M [AR]
indireda:
T8T;T;(IEN)(FCJ+FGO): R t l
RFo: mto, TR+PC
RTi: M [ A R ] t T ñ , PC+O
RTz: PC-PC+l, I E N t O , R t O , S C t O -
R e f e a memoria.
AND DpTd: DR +M[AR]
&TJ: A C t A C A D R , S C t O
ADD &T.: DR+M[ARJ
4T5: AC+AC+ DR, EtCd SCrO
IDA 4T4: DR +MIAR]
4T5: A C t D R , SC+O
STA DaT,: M[AR] +AC, SC +O
BUN D4T4: PG-AA, S C t O
BS A : MIAR] +PC, AR *AR + 1
4 T s : P C t A R , SCcO
ISZ D6T.: DR +MIAR]
DsTs: DR + DR + 1
&Te: M ( A R ] t DR , Si (DR = O) E ~ ~ ~ w E s (PC c PC + 11, SC +U
~efefenda' de registro:
&~'Ts r toda5 las hkuccinmwi de && a qistros)
t R { i I = $ , ( i = O , 1,2, 6.. ,111
CLA
CLE
m.4
CME
CIR
ca
INC
SPA
SNA
S Z A
S Z E
WLT
Entrada-saiida:
INP
OUT
SW
SKO
ION
IOF
SCt.0
AC+O
E c o
dC +E
E + E
~ c t s h r AC, AC{ lS )cE , E +AC(O)
AC +shl AC, AC(0) + E , E cAC(15)
AC+AC + 1
If (AC(15) = O) entonces (PC +PC + 1)
Ef (AC(l5) = 1) entonces (PC +PC f 1)
I f (AC = O ) en- PC+PC + 1)
if ( E = O) entonces (PCtPC + 1)
S 6 0
Mj = p (oomh ida^ las instnikbrm de enbada-salida)
IR@) = W (i = 6,7,8,9,10,11)
p: SCtQ
pi¶ji: AC(CL7) t l N P R * FGl t O
pBio: OUTR +AC(&7), FGO +O
~ B P : If(PGT=l)entonces(PCtPZ:+l)
pBa: If (FGO = 1) en- (PC t PC + 1)
pB,: I E N t l
pB6: @N+O
1 0 ' CA- UNW Organhci6n y d i de computadoras
i i
Compuertas lbgiclas de control
finihd di! cm*ol EI diagrama de 'bloque de Ias compuehs 16@;ica$ de control se muestra en
la figura 54. tas en-6 de este c h i t o provienen de los dos demdiia-
do-, el f l i e p I y tos bita del O al 11 de IR. La5 otras entradas ldgicas de
control son: AC del O al W para comprobar si AC = O y para detedar el bit
de signo en AC(15); los bits DR del O al 15 para ebrhprobar si DR = O; y
los valores de los siete flipflaps.
Las salidas del circuito de l ó~ i ca de control son:
l. Señales para controlar las entradas de los nueve registros.
2. Ceiíales para cantrohr las entradas de lmtura y escritura de la
memoria.
3. %fíales para iniciar, borrar o complementar lm flip-flqs.
4. Wíab para S, SI y S, con el ñn de seleccioi.iar un +bu para el bus.
5. W l e s para controlar el circuito sumador y 16gh de AC.
Las es+cacwnes par8 las diversas d a l e s de control pueden obtenerse en
forma directa de la lista de enunciados de transferencia de registros en Ia
tabla 5 4 .
Control de registros y memoria
Los regis- de la computadora conectados a un sistema de bus común se
muestran en la figura 5-4. Las entradas del control de registro son LD
(cargar), INR (incrementar) y CLR (borrar). Supongamos que queremos de-
rivar la estructura de compuerta asociada con las entradas de m n t d de AR.
Revisamos la tabia 5-6 para encontrar todos los enunciados que no cambian
contenido de AR:
Los prberos tres enunciados specifican la transferencia de informa-
ci6n de un registro o de la memoria a AR. El contenido del registra fuente
de la memoria se coloca en el bus y el contenido del bus se transfiere a AR
al habilitar la entrada de control LD. El cuarto enunciado brra AR a O, El
Ziltimo enunciado incrementa AR en f . Las funciones de control pueden
combinarse en ,tres funciones booleanas como sigue:
SECU~N 5-9 Diseño de una computadora 1n
donde LD(AR) es la entrada de carga de AR, CLR(AR) es la entrada de
borrado de AR y iNR(AR) B la entrada de incrementar de AR. Lasc m -
puertas 16gichs de mnbl asociadas con AR se muestran en la figura 5-16.
En forma similar podemos derivar las compuerkas de control para los
otros registros a1 igual que la lbgica necesaria para controlar Ias entradas de
lectura y escritura de memoria. Las compuertas 16gicas amiadas con la
entrada de lectura de memo& se infieren al revisat la tabla 54 para
encMtrar 10s 'wnm:ciados que especifican una operacidn de lectura. ta ope-
racirin de lectura se reconoce por el símbolo t MrAN.
La salida de las compuertas kgicas que implantan la expresi6n booleana
deben conectarse a la entrada de Iechrra de la memoria.
Control de flipfiops únicos
las compuertas .de control pata los siete Bip-flops pueden determinarse de
manera similar. Por ejemplo, la tabh 5-6 muestra que IEN puede cambiar
como resultado de las dos instrucciones ION e IOF.
donde p = D71T3> y Y7 y B6 son 10s bik 7 y 6 de IR, respectivamente. Por
otra parte, al final del ciclo de interrupcidn IEN se tsorra a O.
Figura 5-16 Compuerta de mirol asdadas con AR.
12 12
M e 1 bus r' AR r Hacia el bus
Si utiihmas un ffipflop J.K para IEN, la compuerta de control I6gica ser&
coma la que aparece en la figura 5-17.
Control de un bus común
ñl bus c o m h de. 16 bita que aparece en la figura 5 4 se controla mediante
las entradas de ssleccibn S= SI y So. El n h r o denmal que aparece con cada
entrada de bus especifica el nfimero binario equivalente que debe aplicarse
a la entrada de seleccibn para elegir el ~egistro correspondiente. La tabla 5-7
especifica los númem binarios para S2S,So que seleccionan cada registro.
Cada ndmero binario está asociado con una variable booleana x, hasta x7,
que corresponde a la estructura de compuerh que debe estar activa para
wleccionar el registro o la memoria para el bus. Por ejemplo, cuando x, = 1,
el valor de S$iSo debe ser O1 y se seleccionara la salida de A R para el bus.
La tabla 5-7 se reconme como la tabla de verdad de un codificador biario.
La ubicaci6n del codificadar en las entradas de la lógica de selecei6n de bus
ce muestra en la figura 5-18. Las funciones boolenas para el codificador son
Con el fin de determinar la lógica para cada entrada de codifieador a
necesario encontrar las funciones del control que colocan los registros
correspondientes dentro del bus. Por ejemplo, para encontrar la 16gica que
hace x1 = 1, revisarnos todos los enunciados de transferencia de registros de
la tabla 5-6 y tomamos aquellss que timen AR como fuente.
Por lo tanto, la fqncibn booleana para x, es
Figura Sr17 Eniradas de control para IEN.
- IEN
TABLA 5-7: Codificador pata drcuib de e l& de bus
Ninguno
AR
PC
DR
AC
IR
TR
Memoria
Se selecciona la salida de datus de Ia m o r i a para el bus cuando x7 = 1
y S#lSD = 111. ta compuerta lógica que genera xr también debe aplicarse a
la entrada de lectura de la memoria. Por lo tanto, la funci6n booleana para
q es igual a la que se i n f w antes para la operad6n de lectura.
De manera similar podemos deteminar la 16gica de compuerta para los otros
registros.
5-10 Diseño de un acumulador lógico
Los circuitoe asociados con el registro AC se muestran en la figura 5-19. El
circuito sumador y l b g h tiene tres conjuntos de entradas. Un conjunto de
16 entradas proviene de las salidas de AC. Otro conjunto de 16 entradas
viene del registro de datos DR. Un tercer conjunto de ocho entradas llega
Figura 5-28 CodifiEiidor para entradas de w M ó n de bus.
MulilpIexor de
Si entradas de
so selección debus
L
Codifidor
L
:
:
$10 Dhño de un acumulador ihgico 175
de las funciones de contmI en la lista anterior. La función de control para la
mkmopmaci6n de borrar es r Bit donde r = D71rT3 y BI1 = IR(11). La aalida
de la compuerta AND que genera esb fund6n de control stsl conectada a
la entrada CLR del registro. De igual manera, la salida de la compuerta que
implanta la microoperación de incrementar está conectada a la entrada iNñ
del registro. Las otras siete operaciones se generan en el circuito sumador y
lgico y se cargan dentro de AC en el momento adecuado. Las salidas de
Ias compuertas para cada funci6n de control están marcadas con un nombre
simboliea. Estas salidas ae utilizan en el -o del circuito sumados y lógico.
Circuito sumador y lógico
El circuito w d o r y 16gco puede subdividirse en 16 etapas, donde cada
una comesponde a un bit de AC. La construcción interna del registro es como
figui 5-29 EPtrudum de ?puerta para controIar LD, INR y CLR de AC.
-de el sumador ' 9 -
Y ~ W ' -
t6 : hacia el bus
Do AND
b =
m
DI
4 DR
Ts
P INPR
Bll
M M
SHR
SHL
INC
CLR
81 I
INR
Re101
CLR
aparece en la figura 2-11. Al tevisar esa figura notamos que cada etapa tiene
un fipffop JK, dos compuertas OR, y dos compuertas AND, La entrada de
carga (LD) estái conectada a las entradas de las compuertas AND. La figura
5-21 muestra una de esas etapas de regisb AC (sin las compuertxts OR). La
'entrada esta etiquetada Ii p la salida AC(i). Cuando se .habilita la entrada LD,
las 16 entradas 1, para i = O, 1, 2, .., 15 se transfiewn a AC (0-15).
dmft~ WmtlllfOr Una etapa del c h i t o lbgico y smador consta de siete compuertas
y Idglco AND, una compuerta OR y un sumador completo (FA) como aparece en la
figura 5-21. Las entradas de las mpuertaB c m nombres simb6lieos pro-
nen de las salidas de las compuertas marcadas con el mismo nombre sim-
bólico de la figura 5-20. Por ejemplo, la entrada marcada ADD en la figura
5-21 está conectada a Ia salida marcada ADD en la f i i 5-20.
La operación AND se realiza al aplicar la función AND AC(i) con el
bit correspondiente eii el registro de datos de DR{$ Za operaci6n ADD se
obtiene al usar un sumador biario similar al que se muestra en la figura
4-6. Una etapa del sumador utiliza un sumador completo con los acarreos
de entrada y salida correspondientes. La transferencia de INPR a AC es s61o
para los bits del O al 7. h microoperaci6n de complementar se obtiene al
Figura 5-21 Una etapa del c h i t o surnador y 16gico.
DR (i) AC(i)
invertir e1 valor del bit en AC. La operaci6n de corrimiento a la derecha
transfieré el bit desde AC (i + 1) y la operación de desplazamienta a la
izquierda transkie el bit desde AC (i - 1). El circuito sumador y 16gico
consta de 16 etapas interconectadas.
5-2. Una mmp~tadora utiIiza una unidad de memoria con 2S6K palabras de 32
bits cada una. Un d i g o de instruccibn binario se almacena en una palabra
de memoria. La instnieci6n tiene cuatro v. un bit indirecto, un código
de operación, tuta de d i g o de registro para eswficar uno de 6P
regisiros y una parte de dired&
a ¿Cuántos bits hay en el e 6 d i de operación, la parte del d i g o de
@stM y 1s parte de -dk&ór?
b. D i j e el formato de palabra & dirección e indique la cantidad de bits en
cada parte.
c. cuántos bits hay en Ias entradas de datos y de direccibn de ia
memoria?
5-2 ¿Cuál ES ia diiewmh enbe wra instmicci6n de direcchamiento directo e
h d k t o ? @ ~ h t a s referencias a memoria se nwesitan para cada tipo de
ins~cci6n crin el fm de traer un operando al registro del procesador?
53: - las siguknh entradas de controI estrin activas &-I el sistema de bus que se
mwtm en la fipra 5-4. Para cada caso, especifique la trmshencia de
m@sttu que se ejtxutd durante la sigui- transiQ6n de reloj.
a . l 1 1 IR Ler -
b. 1 1 O PC - m
E. J O O DR Escribir : -
d O O 0 AC m Sumar
S 4 Las siguientea h n s h c i a s de regkos se van a ejecutar en e¡ sistema de
b figura 54. Para cada transferencia e8peciEique: 1) e1 valor binario que debe
apiimm a Ls enbidas de deecibui de bus Sz, Si y Sd 2) el registro cuya
entrada de control LD debe estar activa (si es que hay alguna}; 3) una
opmacíón de wra o d t u r a (si m nnecesita) y 4) la opemcibn en el circuito
sumadar y 16gim {si hay algtrml).
a a + F C
b. IR tM[AR]
r. M[AR)t-TR
d. AC t D R , DR c A C (mlízadas en forma simdtánea]5-5. Explique por qué no pude ejm- cada una de las siguientes rniaoop
raciones durante un soio p& de reloj en el gistema que se muestra en la
figura 54, Espefifique una secuencia de m i ~ o o ~ a c i o n e s que *ten la
operaci6n
a. I R t M [ P C ]
b. AC+ AC + TR
c. Di3 t DR + AC (AC no cambia)
5-6. Considere los formatos de Inclmceión de la mpu&dora básia mostrados
en la figura 5-5 y la lista de instrucciones proporcionada en la tabla 5-2. Para
cada una de las siguientes idmcciorm de 16 bib, prop0rci.o~ el &digo
hexadecimal de cuatro bits y explique m sus propias palabras cuái instnic
ci6n va a ejecútar.
a. OOO1 0000 OOIQ 0309
b. 1011 w1 W1O O1W
e. O111 0000 0010 0000
5-7. ~Cuáies son las dos htnicciones necesarias en la computadora Wea para
iniciar el flip-flop E en 12
5-8. Dibuje un diagrama de twnporizacih similar a la figura 5-7 considerando
que SC se borra a O en el tiempo T3 si la s e h l de eonbl CCp &A activada.
C, se activa w n la transici6n de reloj positiva a h a d a c m T,
5% El contenido de AC en la computadora básica es el hexadecimal A937 y el
valor wchl de E'es 1. Determine el contenido de AC, E, PC, AR, e IR en
hexadeeimal d v u & de la ejmci6n de Ia instnicci6n CLA. Repiia 11 veces
más, comenzando desde mida una de las instrucciones- de referwicia a
regish. El valar inicial de PC B d hmadecimalO21.
5-10. Una instnicci6n en la direcci6n 021 en la computadora básica tiene I = O, un
d i g a de operación de la instru46n AND y la park de la dirección igual
a 083 (todos los niirnema mtán en hexadechal). La fibra de memoria en
la direccÍ6n E& contiene el operando B8F2 y el contenido de AC es A937.
Analice el ciclo de instmccii5n y determine el contenido de los siguiente
registros al fural de la fase de ejecuci6n: PC, AR, DR, AC e IR. Repita el
problema seis v- más comenzando con un abdigo de opera& de o h
instruccidn de referencia a memoria.
5 Muestre el contenido en hexadecimal de los registm PC, AR, DR, IR y
SC de la computadora basica cuando se bu= y qecuta una instrucción
indirecta iSZ de la memoria. El antenido de PC es m. El contenido de la
memoria en la dirección 7FF es EA9FF El contenido de la memoria en la
direcci6n A9F es OC35. Ei contenido de la memoria en la diieeci6n C35 es
Pqofcione la -&a en una tabla con cinco columnas, una para
cada r e @ h y un 91611 para cada eñai de temporizaúón, Muestre el
contenido de 10s registros dspués de la transición positiva de d a pulso de
M-
5-12. El contenido de PC en la computador~Mcica es 3AF (todos los niirneras estan
en hexadechal). Ei wtenidp de AC es 7EC3. El antenido de la memoria
M. Explique por qu& no puede ejecutarse cada una de las siguientes microop
raciones durante un solo pulso de reloj en el sistema que se muestra en la
figura 54. Especifique u~ secuencia de micrmperacioneei que ejeniten la
operación.
a. IR t M [PC]
b. A C t AC + TR
c. DR + DR + AC (AC no cambia)
56. Considere los formatos de imLnied6n de la'compubdora Mc4i mostrados
en la figura 5-5 y h Esta de instruccione proporcionada en La tabla 5-2. Para
cada una de las siguientes instrucciones de 16 bits, proporcione el código
hadecimal de cuatro bits y explique m n BUS propias palabras 4 instruc
ci6n M a ejmtar.
5-7. $ d e s son las dos instrucciones neeecarias en la computadora wca para
iniciar el flipflop E en l?
5-8. Dibuje un diagrama de temporizaa6n similar a la figura 5-7 considerando
que SC se borra a O en el tiempo Ta si ia seifal de control C7 está activada.
12, se activa con la transición de reloj positiva &da con T1.
5-9. El contenido de AC en la computadora básica es el hexadecimal A937 y d
d o r inicial do E'# 1. W r m h e1 contenido de AC, E, PC, AR, e IR en
hestadecimal después de la ejecución de la instnicci6n CLA. Repita 11 veces
más, comenzando desde cada una de laa instrucciones de referencia a
r@b. El valor inicial de PC es el h a d e c i d 021.
5-10, Una instrucci6n en la direecidn O21 en b computadora básica tiene I = O, un
d i g o de operacih de la insbmión AND y la parte de la direm6n igual
a 083 (todos los niimeros d n en hexad&al). La palabra de memoria en
la d i 6 n 003 contiene el operando BSF2 y el coniddo de AC ES A937.
Ardite el delo de instnicci6n y detemine el contenido de los sieentes
registros al final de la fase de ejeeuei6n: PC, M, DR, AC e IR. Repita el
problema &S veces más comenzando m n un &digo de opaei6n de otra
instniOn6n de reíerencia a memoria.
5-11. Muestre el contenido en hexadecimal de los registros PC, AR, DR, IR y
SC de la computadora W i e a d o se busca y ejecuta una insbucdh
i n d M E2 de la memoria. El contenido de PC ES 7PF. El contenido de la
memoria en la direcrtbn 7FF es EASF. El conaenido de la memoria en la
direcci6n A9F es QC35. El contenido de la memoria en la dhcci6n C35 m
FSFñ Pmporcione la respuata en una tabla con &ICO columnas, una para
d a y un renglón para =da seííai de temporimei6n. Muestre el
contenido de los registros después de la transicih positiva de cada pulso de
M].
5-12 El contenido de PC en la computadora W c a es 3AF (todus los números están
en hexadecimal), El cantenido de AC es Q contddo de la memoria
en la direccidn 3AF es 932E. El contenido de la memoria en la d i 6 n 32E
a 094C. Ei contenido de la memoria en la d i d ó n 9AC es 8B9F.
a. ¿Cuál es la instnaccibn que se buscará y se ejecutara dspuh?
b. Muestre la m a 6 n binaria que a d h r i en AC niando se *te k
instmcci6n.
c. Proporcione el contenido de los registros PC, AR, DR, AC, e XR en
hexadecimai y lm valores de E, 1, y el contador s e c u d CC en binario
al h l del ciclo de instrucci6n
513. Considere que ias primeras seis de rek, ' de la computadora
Wea que se listan en la tabla S 4 se van a cambiar a las instrueeim
especificadas m la tabla siguiate. EA es la dirección efectiva que reside en
AR durante el tiempo TJ. Considere que el circuito sumador y 16gieo de la
figura 5-4 puede m k a r la operaci6n OR exclusiva AC + AC @ DR
Considere a d d que e1 circuito 16grm y sumdor no pude efechrar wr
forma dilecta la resta. k resta debe hacerse utilizando el complemento a
nfimems 2 del susbaendb al complementar e incrementar AC. Proporcione
la 6ecuencia necesaria de enunciados de hansfereneia de regis- para
decutar d a una de las inrshcciones listadas c o d o con ia tempori-
zaa6n T,. Nótese que el valor de AC no debe modificarse, a menos que la
instnidn especifique un cambio en su contenido. Ustd puede utilizar TR
pam aimace~r el contenida de AC en forma temporal o pude intemb'ir
DR y AC.
SImbolo -hcihdmMiia IkcripPSn en palabras
XQR 000 ACtAC@M[EA] OR exclusiva a AC
ADM 001 M [ & I ] t M [ E A ] f AC Sumar AC a la memoria
SUB 010 AC+AC - M[EAJ Restar en memoria de AC
XCH 011 AC t M [ E A ] , M[M] t A C Intercambiar AC y la memoria
SEQ lOJ If (M[4AJ = AC) en- 13- si hay s i p de igual
[PC + PC + 1)
BPA i0i If (AC > O) entonces Brincar si AC es positiva
[PC +EA) y diferente de cero
5-14. Haga los siguienb cambios a la computadora Msica.
l. A p p e un e al sisbma de bus C i R (registro de mQ] que se
seleccionará eon S$,S, = 000.
2. Sustituya la instnieeibn TSZ con una instnicci6n que cargue un nilmero
dentro de CTR.
Dirección LDC CTR +M Illireccih]
3. Agregueminstntcci6nde-aFegihaICSZ:btCTRy
brincar a la sipiente instrucci6n si hay un cero. Anaiice la ventaja de este
cambio.
5-15; La unidad de m e d a de la computadom Wsiea que se mueira en la figura
5-3 se va a m b i i a una memoria a, S X 16, requirimdo una direeabn
de 16 bits. El fomto de instrucción de la refemnaa a memoria que se
muaka en la figura 5 4 a ) no cambia para 1 = 1 (direcci6n indirecta) donde
la parte de d i d b n de la inshcdón se proporciona mediante los 16 bib
de la palabra que sigue a la ~ ~ 6 n . Modiqw las miampmiones
durante los tiempos T% T3 (y T, si es neceario) para apegame a esta con&
guraabn.
$16. UM eomputa$ora utiliza una memoriade 65,536 palabras con 8 bits en cada
palabra. Tiene los siguientes *w: PC, AR, TR {de 16 bib cada uno) y
AC,.DR, IR (de 8 Wis cada m). Una insmiccibn de reterencia a memoria
consta de palabxas: un &digo de operaci6n de 8 bits (una palabra) y una
d i d b n dq 16 bits (en las sigiiiente~ dos palabras). Todos los operandos son
de .8 bits. No hay un bit indirecto.
\
a Dibuje un diagrama de bloque de la computadora que muestre la
memoda y los registros como en la figura 5-3. (No utilice un bus
comh.)
b. Dibuje un diagrama que muestFe da posiaón en Ia memoria de una
instrueciSn ifpica do tres palabras y el operando de 8 bits correspon-
diente. I
c L i s t e l a ~ d e m i ~ p a r a m p e r a r u n a ~ n d e
referencia a memoria y colocar despub el ope~ando en DR. Comience a
partir de la señal de temprizaci6n TI
5-17. Una computadora d i t a l time una W a d de memoria con capacidad de
16,384 palabras, 40 bits por palabra. Ei formato dei d i g o de instruccibn
consta de 6 bits para la parte de b operaciónn y 14 bits para la parte de
direcci6n (no hay bit de modo M i ] . Dris instruMone8 se guardan en
una palabra de memoria y hay dispuible un e t r o de inshmiones de 40
1 bits en la unidad de conkml. FonnuJe un pdrmiento para recuperar y
ejewiar ~iristniccioms para eia computadora.
5-18. Un programa de salida reside en la memoria comenzando en la dirección
2300. Se ejecuta después de que la computadora reconoce una interrup56n
mando FGO se convierte en 1 (mientras IEN = 1).
a. ¿Qué instnicci6n debe colocarse en la direcaón 1?
b. ¿Cuáles d e h ser las das Glrimas instruacion& del programa de salida?
5-r9. ios enunciad? de bahsEerencia de registro para un registro R en la memoria
de una computadbra son los siguienb (las X son funciones de control que
ocurren en forma aleaforia):
XI: R *-M[AR] Lee la palabra de memoria denb de R
X &: R t A C Tmfer ir AC a R
Xi 16: MIAR1 + R Emibic R a la memoria
La meqioria tiene entradas de datas, salidas de datos, entradas de direcaón
y entradas de emtpol p m leer y escribir como en la figura 2-12. Dibuje la
hplantiiei6n de hardware de R y la memoria en toma de diagrama de
bloque. Muestre c6mo las frinciones de control X, a & seleccionan la
entrada de control de carga de R, las entradas de selemi611 de los multiple-
K O ~ que uste,d incluye en el diagrama y las entradas de ledura y d i u r a
de memoria.
5-20. h s .operaciones que van a ejecutarse mn un Gpflop F (el cual m se usa en
la eompuíadora Msicra) se wipifiean mdante las siguientes enunciados de
tramferencia depgklxo:
: 1 ActivarFal
flI: f + O BorrarFaO
zT2: F t F Complementar F
SS: F +G Transferir el valor de G a F
De &a manera, el contenido de F no debe cambiar. Dibuje el diagrama 16gico
que muestre las conexiones de las compuertas que forman las funciones de
control y las entradas del fiip-flop F. Utilice un fip-fiop ]K y minimice el
número de compuertas.
5-21. Derive las compuertas de control asociadas con el contador de programa PC
en la eomputadora bAsica.
5-22 Denve las compuertas de control para la entrada de escritura de la memoria
en la computadora básica.
5-23, Muestre la Ibgica completa de los flipflops de interrupci6n R en la compu-
tadora básica. Ufilice un Bipflop JK y minimice el número de compuwb~.
5-24. Derive la expresi6n h l e a n a para q (véase la tabh 5-7) M w h e que x,
puede genmarse con una compuerta AND y una compuerta OR
5-25, Derive la expresión booleana para la estructura de compuerta que borra el
contador secuencia1 CC a O. Dibuje el diagrama 16gico de la compuerta y
muestre cómo se conecta la salida a ¡as entradas I N R y CLR de SC (vQise la
figura 54). Minimice el nGmero de compuertas.
1. Be& C. G., J. C. Mudge y J. E. McNamara, Computer En@'-n8. Bedford, PIIA: Digital
M, 1980.
2. Booth, T. L., Intduction %o Compuler Enginwing, 3a M. Nueva York John Wiley,
1884,
3. Gibson, G. A, C m p t e r Systm Concepts and h i g n . E n g W Cliffs, NJ: P r e n b
Hall, 199l.
5. Hüi, F. J., y G. R Peterson, Digibl Syctems: ihrdware m i u r t i o n atd Lksigts, 3a M.
Nueva York John Wiley, 198'7.
182 cAPrnno Organización y dieeiio de computadoras
6. Lewin, M. H. Logie mign and Camputer Orgmbtmn. Reading, MA: Addim Wesley,
1983.
7, Mano, M. M, Computer Enghming: Mmre Decign. Englewood C l i , NJ: Prentice
Hall, 1988.
8. Patterson, D. A. y L. H m y , CmpW Archiiecture: A A n t i f n t k Appmch. !%m
Matm, CA: Morgan Kaufmann Ilublishm, 1990.
9. Prosser, P. P., y D. E. Winkel, Tke At3 qfüigital Design, 2a Bd. Englewd Cliffs,
Prentice Hall, 1987
10. Chiva, S. G,, C m p t ~ Design atta Arclnit~hre, 2a. E¿. Nueva York: HarpeeCollins
Publishers, 1991.
InIrduEQbn
Lenguaje de máquina
ZRnguaje d B L d o r
E1 eqsqbiador
C i c h del programa
Pmpmaa6n & operaciones aritm&aw y lógicas
subnltiri;as
F'rogrd6n de entrada-saüda
6-1 Introducción
Un sistema de computadora total incluye tanto circuiteria (knrdwre] como
progmw&n (sopzlMtre). El hardware consta de ios componentes físicos y
tado el equipo asociado. El software se mfie~e a los programas que están
.&ritos para la: computadora. Es posible conocer difemnks aspectos de progra-
mación de computadora sin xelacienarse con los M e s de cómo opera h
~~. También es posíble diseiiar parb de Ia circuikrla sin conocer las
pdbilida& de su softwarr, Sin embargo, quienes se i n m en la arquitec
tma de la computadora d&n conocer tanto la ~~ con10 el softwm,
porque los das a ~ b influye" m o en d otro.
Emibir un programa para una computadora consiste en ~ ~ c a r , en
forma direda o i n d i t a , una secuencia de instrucciones de dquina. b
instrucciones de máiquina dentro de la computadora forman un patr6n
binario con el que a lo$: usuariw les iesuEtrr difícil trabajar y entender, si no
e~ que imposible. Es preferible escribir programas con los símbolos más
familbre3 del conjmto de caracteres alfandricos. Como consecuencia,
existe la necesidad de traducir los programas simb6licos orientado8 al usua-
rio, a programas binarioa que reconozca el hardware.
184 bpma¿ón -,de la computaba
frIi pmgmma d t a por eI u s d o puede serhydqadienk o dependen-
& de la wmputérdma qw corre su progama. Por ejemplo, un programa
&#o wr Fortran eatilndar es indepdfenk de la máquina porque la mayoría
de las mmputadwas ~~ un -ama traductor que convierte el
programa Pbrkan &n%ndaT+m &clip Krrviri~ de la computadora cbpmible en
la instalacibn pd&, Pera d mmo ~rdjprna traductor es dependiente de
Ja másyuiha porque debe traducir el pmfpnw "Fortran a l c M i i binario recon*
&o por la cirqdkíi de h mphtadorri particular que se ut ih .
~ " ~ ~ ~ ~ * ~ n i n c e p ^ d e p r o g e a m a c i 6 n - ~ = ~
. mitéstra su r$aci6n con la r e p m k i h de htrucciones de hardwara la primera
parte pmenta la operaabn y eSentura básiis de un programa que traduce un
p q m m Stnwlico de usuario a un programa I i W eguivaimte El análisis
enfatiza Ioe mncqbos i m p r h b del traducbor más que los M e s de pducir
en realidad el p q m m mismo. la utilidad de las diversas imtmcciones de
máquina se demuestran mediante v- +mplos de pmpmaci6n básica.
co~jutito de El conjunto de inshucciones de ia computadora básica, cuya organiza-
insfrircciones ci6n de hardwa~ se exploró en el capitulo 5, se utiliza en este capítulo para
ilustrar mu&s de las W c a s que se usan con reguiaridad para programar
una computadora. t)e esta -mera, ' es posible explorar la relación en& un
programa y las operaciones de la circuikria que ejecutan las instrucciones.
Las 26btrucciones de Ia computadora bAsica se repiten en la tabla 6-1
para proporcionar una referencia &cil para los ejemplos de programaci6n
que siguen. A cada uistnicci&n asigna un shbolo de tres letras para
facilitar h egcritura de programas simbólicos. Las primeras siete instniccio-
nes son de referencia a memoria y las otras 18 son de referencia a registrosy de entrada-salida. Una instnicci6n de referencia a memoria tiene tres
partes: un bit de modo, un c6dig~ de o p r ~ 9 de ires Pits, y una dirección
de 12 bits. El primerdigito hexndechal de ruia instrucci6n de referencia a
memoria incluye el bit, de modo y el &ligo de opwacibn, ius otros tres
digito~ espe5fi-n la direcci6.l. cEn una instnicci6n de dirección indirecta el
bit de mmiq es 1 y el valor del primer dígito k d e c i m a l flucth entre 8 y
E. En el modo indirecto, la variación es de O a 6. L ~ B otras 18 instniecione
tienen un &digo de ope~aci6n de 16 bits. El c ó d i i pwa cada instrucci6n se
lista como un número hdecimal de cuatro d@b. El primer dígito de una
instruccibfl de referencia a registro es siempre 7. E1 primer dígito de
una instrucción de entrada* es siempre F, El d d d o m que se usa en la
columna de &mipci& denata la d h c b efectiva. La letra M hace refemcia
a 4 palabra de memmia (operando) que se encuentra en la direcci6n efectiva.
Un pwama S iyia lista de instrucciones .o enunciados para dirigir a la
computadora con el pmpbito de que ejecute ,una tarea de procesamiento de
datos. Kiten varios tipos de b g i ~ a j e s de pmgra~nati6n que uno puede
Código
SímboIo hexadecimal
AND
ADD
LDA
STA
BZM
BSA
,I=
CLA
CLE
CMA
CME
CIR
CIL
INC
SP A
SNA
,324
SZE
HLT
INP
OUT
SKI
SKO
ION
TOF
Aplitar AtJI3 M a Ac
Sumar M a AC, %arrear a E
t k g m AC desde M
Almacenar AC en M
Brincar en forma.inmdiciona1 a rn
S a l v a r k ~ d e r e i o m o e n m y ramificaram + 1
Jn~renaentar m y s.altar si hay un cero
Bmrar AC
h r E
Complementar AC
Complemehtar E
Cimlar a la de&& E y AC
Circular a la izquierda E y AC
Immentar A€,
BrJncar si AC es positivo
Brincar si AC esnegativo
Brincar si AC es cero
Brincar si E es cero
Detener la computadora
Introducir infomiacibn y borrar bandera
Sacar infmmaci6n y barrar bandera
Seilttu si la bandera de entrada esa activada
Spltar si la bandera de salida está activada
Hñbilhr la inkmpcibn
Deshabilitar fa intmmpci6n.
escribir para una computadora, pero ésta &lo puede ejecutar programas
mando esGn representados de manera @terna en f o m binaria, Los progra-
mas escritos en cualquier otro lenguaje deben traducirse a la representación
b i r i a de las instni&iones antes de que la computadora puedá ejecutarlos.
'Los programas escrit~~ para una computadora pueden estar en una de las
siguientes categorfas:
1. Código binario, Este es una secuencia de instrucciones y operandos
m b w o que lista la representación exacta de instrucciones confor-
me aparecen en la memoria de la computadora.
2 CMgo wtul o hexad~imal. Este es una traduccihn equivalente del
código binario en representación octal cr hexad-l.
3. Cbdigo ci&lh. ' El usuario emplea shboIos (letras, nfirneros o
caracteres especiales) para la parte de opera*, la parte de direc-
ci41i y las otras partes del de irwtniccibn. Cada instrucción
186 m-- ~~ básica de Ia cwrputadora
simbólica pude üad~cim a una instniecibn codificada en binario.
Esta traducción se hace mediante un programa especial llamado
ensarnbhhr. Como un d l a d o r traduce los los, este lipa de
Iquaje msamblador propmas simb6licas se denomina programa de lenguaje enmb*.
4. Lmtpjm I& p r q m r d h & dfo nivel. Esb son lenguajes v i a l e s
~ W W para reflejar los procedhient&s utilizados en la 80Iua6n
d e u n p r o b ~ e n l u g a r d e h ~ e n d d ~ ~ o d e l a c i m i i -
teda de la computadora. Un ejemplo de un lenguaje de programación
de alto nivel w F#tran. Elfnplezl sImbo108 y formatos orientad= a un
problema. El pfograma está d t o & una gecuencia de enunciados
establecid& de manera m a a como las personas prefiemn pensar
cuando r~uelven un probl&. S i e d q p , cada enunciado d&
traducirse a una secuencia de Manes b k u j s antes de que la
computadora pueda ejecutarlo. Ei programa, que traduce un programa
de lenguaje de alto nivel ce Uama mnpiMr . .,
L w j e üe máquina Habhdo con rigor, un propma de lenguaje, de &quina es un pro-
grama binario de categorfa 1. Debido a la equivalencia simple enentre las
repreientacioms M a s y octal o hexadecimal, ea costumbre denominar a
la categoría 2 ccmio tienguaje de Mgquina. Debido a la pelacidn de uno a uno
entre una instrucdón kibblica y su equivalente binario, un lenguaje ensam-
blador se considera como un lenguaje a nivel de rndquina.
Ahori usarmios la computadora bhsica para ilustrar la relacihn entre
los lenguajes b i r i o y ensamblador. Consideremos el programa biiario
listado en la tabla 6-2. La primera columna proporciona la posición de
memoria (en binari~)~ de cada instnzcci4n u operando. La segunda columna
lista eI contenido binario de estas localidades de memoria. (La localidnd es la
h c i 6 n de la palabra de memoria en que se almacena la instniccibn. E.
importante establecer la diferencia con la parte de di~eccibn de la instruccibn
misma.) El programa puede almacenarse en la porción de la memoria indi-
a d a y la computados puede ejecutarlo después -comenzando desde la
direccibn O. ia ckaiterfa de la computadora ejecutar4 estas instrucciones y
TfiBLA 6 2 Piiograrna binario para sumar dos n h e m
Localidad
SECU~N 62 -je de máquina 187
TABLA 6-3 Programa hexadecimal para sumar das nhems
-
Localidad htrucci6n
realizará Ia tarea que se pretende. Sin embargo, una persona que observe
este programa' tendrsi dificultades en comprender que se consigue cuando se
ejecute el programa. No obstante, la circuiterfa de la computadora sólo
reconoce este tipo de código de instrucciones.
Escriir 16 bita para cada instrucción es tedioso porque hay demasiados
digitos. Podernos reducir k cantidad de digitcrs por instruccibn si escribimos
el equivalente odal del c6digo binario. Esto requerirh seis digitos por ins-
trucci6n. Por otra patte, podemos reducir cada instmcci6n a cuatro dígitas
~ddigo he*adedmal si ekribimbs el c6dQo hexadecirnal equivalente &mo se muestra en la tabla
6-3. Es conveniente usar la representacidn hexadecimal, sin embargo, e debe
tener en menk que cada dígito hexadecimal deke convertirse a su nhero
de cuatro bits equivalente cuando se introduce el programa en Ia computa-
dora. ta ventaja de egcriiir prop;ramas binariqs en forma octal'o hexadecirnal
equivaiente debe ser evidente a partir de este ejemplo.
El programa de la tabla 6-4.utik los nombres de instrucciones sim-
bólicos (listados en la tabla 61) en lugar de su equivalente b h r i o o hexa-
decimalL Las partes de direccibn de las instrucciones de referencia a memoria,
al @al que las operandos, conservan su valor hexadecimal. N 6 h que la
TABLA 6 4 Pmgiama con digas de operstcih simbólichp
h l i d a d instniccibn Comentarios
OW LDA 004 Cargar el priínero operando dentro de AC
001 ADD Sumar el,segundo sprando a AC
002 STA 006 h a c e n a r iamsuma en la posici6n 006
1 HLT Detener la compufadora
004 0053 Primer operando
005 m9 -do operando {negativo)
006 OlMO Almamnar la suma aquí
188 SEI~ Programación básica de h computadora
TABLA 6.5 Programa de lenguaje d l a d o r para sumar dos números
ORG O
LDA A
A D D B
STA C
HLT
A, DEC 03
B, DEC -23
c, DEClO
m
/Origen del programa en la posicibn O
/Cargar operando de la posicidn A
/Sumar operando de la posicibn B
/Almacenar la suma en la p i c i b n C
/Detener la computadora
/Operando decimal
/Operando decimal
/Suma almacenada en la posicidn C
/Fin del programa simbólico
posici6n 005 tiene un operando negativo porque el bit de signo de la
posicih de la extrema izquierda es 1. La inclusión de una columna para
comentarios sirve para explicar la funci6n de cada instrucción. tos progra-
mas si&lims sop más fdciies de manejar y, como consecuencia, es prefe
rible escribir programas con slmbolm. Estos simbolos pueden convertirse a
su código binario equivalente al producir el programa binario.
Podemos ir un paso mas adelante y sustituir cada dirección hexadmi-mal por una direccibn shb6lica y cada operando hexadecimal por un
operando decimal. Esto es conveniente porque, por lo general, mientras ae
-%e un programa no se conoce con exactitud la posicibn de los operandos
num&ricos en la memoria. Si lm operando8 se colocan en la memoria d e
pués de las instrucciones y si no se sabe con anticipacidn el tamah del
programa, la posicidn de los v a n d o s numéricos no se conoce hasta que
se llega al final del programa. Ademis, estamos mAs familiarizados con los
números decimales que con sus equivalentes hexadecimales.
El programa de la tabla 6 5 es el programa de lenguaje ensamblador
para sumar dos nítmems. El simbolo 0RG seguido por un niimero no es
una uistniccidn de rndquina. Su propbsito es especificar un origen, esto es la
posición de memoria de la siguiente instrucci6n. Las siguientes tres heas
tienen direcciones simbblicas. Sus valores se especifican porque están presen-
tes como una etiqueta m la primera columna. Después del sImbolo DEC se
especifican operandos decimales. tos números pueden ser pwitivos o nega-
tivos pero, si son negativos, deben convertirse a binario en repmtac ibn
de mmpiemento a 2 con signo. La última línea tiene el símbolo END, que
indica el h a 1 del programa. Los simbolos ORG, DEC y END, llamados
seu&instrucciones,, se definen en la siguiente sección. Ndtese que todos loe
comentarios están precedida por una diagonal.
El programa en Fortran equivalente para surnar dos números enteros
se lista en la tabla 64. Lxw dos valores para A y B pueden especificarse
mediante an enunciado de entrada o mediante un enunciado de datos. La
operacidn aritmktica para los dos números se especifica mediante un enun-
ciado simple. La kaducci6n de este programa Fortran a un programa binario
TABLA é 4 Pmgpa Portran para sumar dos n h e m
IHTEGEW IIi B i C
DRTR A , 8'3 B r - 2 3
C = A + B
EWD
c o n s i s t e m s s i g n a r t r e s W & d e s d e m a n o r i a , d ~ p a r a l m s ~ y ~
para la stima, y d q u 6 derivar la -en& de instrucciones binarias que
forman la 8uma. Por lo tanto, un p~ compilador bdue 1- sfmbolcm
& l p r o g r a m a 1 F o ~ a l ~ v a h b ~ q u e s e l i s ~ e n l a tabh&2
6 3 Lenguaje ensamblador
Un lenguaje de programación se define mediante un conjunto de reglas. Los
usuarios deben apegarse a todas las reglas de fomiato del lenguaje si desean
que sus programas se traduzcan en forma correcta. Casi cada computadora
comercial tiene su propio lenguaje ensamblador. Las regb para escribir un
programa en lenguaje ensambladar se documentan y publican en manual-
que, por b general, tiene disponib1es el fabricante de la com~ubdora.
La unidad basica de irn programa de lmpje mamblador es una lEnea
de d g ~ . El lenguaje ezpdfm E define mediante un conjunta de reglas que
qxdm los $lmbolos que p d utllizame y &o pueden combame para
formar una Unea de c6d ip . &ara fomulamnos las reglas de un lenguaje
d l a d o r para &ir programas ~ U C O S de la computadora básica.
Reglas del lenguaje
Cada llnea de un prugram de l e n p j j emamblador se arregla en tm colum-
m 5 h d a s C B M ~ h ~ a m p especifieaFi la S&hk -6n.
1. El campo de etiqueta puede s t a r vacío o especificar una d i i b n
simb6lica.
2 El campo de instrucci6n especifica una instrucción o una seudoins-
trucci&n de mdquina.
3. El+campo de c m t a r t o puede estar vacío o incluir un comentario.
dtmdbn iIjnbblJEa U n a ~ ~ l i m c E a i s t a d e u n o , d o s o ~ , p e r o n o m a S d e ~
~ & a n ~ Q p ~ ~ d e b e s e r u n a i e @ l o s d o s ~
puedenserletrason~ñlpmpmadorpuedeeiq$aifbrmaatbi~el
~ l o . U n a ~ ~ l i c a e n e l c a m p d e ~ s e ~ m e d h t e
una~mnapara q u e e l d l d o r p u e d a ~ l a e o m o e t i q u e t a
E1 campo de instrucción en un programa de lenguaje emamblador
puede m a r algunas de las siguientes opciones:
190 m W m a d h bhica de la computadora
1, Una instrucci6n de referencia a memoria 0.
2. Una instnid6n de refemwia a registro o de entradadida (no MRI):
3. Una seudoin8tru0~ibn con o sin operando.
Una instni& de dmmcia a memoria m p a dm o tm s h b I o s -m-
dospor~d~Elpt imerodebeseruns imbolodebes l~quedef iraaun
~ d e o p e r g c i 6 n M R I d e h t a b l a ~ 1 . 6 1 s e g u n d a e s u n a ~ 6 n ~ l i a .
R trercw. stnbolo,quepuede estar p-teono, es la L Si I d a m k , la
l h P a q ? l w e n ~ U M i h s ~ d e ~
. . t o d k b L a p d $ e l
s h h 1 0 1 eipii icri una k i s h d ú n de ~ o n a m k n t o hdkch
Una no-MRX se define como una instrucción que no tiene una parte de
d k i 6 n . Una no-MRI se reconoce en el campo de instniccibn de un p m l$plpi p m a mediante alguno de los S-la de tm letras que x htan en ia - tabla 6-1 para las instrucciones de referencia a registro y de entradadda.
En seguida se muestran los simbolos que pueden colocarse en el campo
de instrucci6n de un programa.
CLA nwMRI
ADD OPR d W 6 n d i i t a Mü
ADD FTR X - dhwcj6n indirecta MRI
,primer simba10 de tres letras en cada h e a d+ ser uno de los símbolos
de instrucciones de la computadora y debe estar listado en la tabla &l. Una
insheci6n da referencia a memoria, como ADD, deb estar después de la
&recci6n &rMiica. ia letra 1 pude estar presente o m.
Una dirección simb6lica en el campo de inatnicci6n +ea la km-
lidad de memoria de un operando. Esta localidad debe definirse en alguna ,
parte del programa porque aparece de nuevo como una etiqueta m la'
primera columna. Para poder traducir un pmpma de Ienguaje ensamblador
a un programa binario es abso1ukmente necesario que cada direccibn sim-
Mica que se menciona en 4 campo de in shd6n deba ocurrir nuwamente
en el campo de eüweta.
s e P r d o i n s M h Una seudoinstrucclbn no es una irwwibn de dquina sino una
instrucción para el ensamblador que proporcione informaci6n acerca de
alguna parte de h traduccibxl En ia tabla 67 se listan cuatro seudoinstruc-
ciones que reconace el ensamblador. (Otros programas de lenguaje ensam- '
bhdor recon-n muchas otras instrudeiones.) La seudoinstnieei6n ORG
(origen) informa al ensambladat que la w a c i b n u operando en la siguiente
hea va a colocarse m la pic i6n de la memoria espdicada por el número
que está desp.u& de O&. l3 posible u a h r ORG más de una vez en un
. programa para +m de un qmento de memoria. El slmbolo END
se,mloca al final del p-ama para informar al ensamblador que termina
el prog~ama. Las otras doa seudoinstaicciones especifican la base del ope-
rando y le dicen al emambhdor cbgto m v & el número listado a bhario.
TABLA 6-7 Mniaón de-&instrucciones
Sirnbolo Información para el ensamblador
ORO N El niirnao hexadecimal N en la localidad de memoria para la
instnrmi6n o e1 operando listada en la linea siguiente.
END Denota el fin del ptógrama simbblico
DEC N NGmm decimal con signo N para convertirse en binario
HEX N Nfimero hexadecimal W para convertir= en biario
El tercer campo de un programa está reservado para comentarios. Una
h e a de código puede tener o no m comentario, pero si lo tiene debe estar
precedido por una diam para que el d l a d o r reconozca el comiaizo de
un campo de c ~ n e n h i o . Los ~~ son útk para explicar el programa y
para comprender el pmcdhiento detallado que realiza el programa. Los
comentarios se insertan s61o para explicar y no se consideran durante el
proceso de traducción a birio.
Un ejemplo
131 p r o p m de la tabla 6-8 es un ejemplo de un programa de lenguaje
ensamblador. La primera lima tiene la seudoinstni.cci6n ORG para definir el
origen del programa en la posicibn de memoria (1W)16. tas siguientes seis
líneas definen instnieciones de máquina, y las tíltimas cuatro tienen seu-
dohs~ccíones. Se han utilizado tres direcciones simb6Iícas y cada una está
htada en la columna I como una etiqueta y en la columna 2 como una
dimción o una inshmión de dem~& a memoria. T m ¿e las swdoinstrue-
ciones wpeúGon operandos,y la última el final del programa.
Cuando el programa se traduce a código binarb y la computadora lo
qecuta, se d i z a r a una resta entre dos ndmems. La w t a se ejecuta al sumar
el minuendo del compIwrrento a 2 del swtraendo. El sustraendo es un
número negativo, Se convierte a n h e m binario en repmtau6n de m p l e -
mento a 2 con s ipo porque hemos &abkido que todos los niimeros negativos
conserven su forma de complemento a Z Cmdo se toma el complemento a 2
dei sustraed (al mmplementar e incrementar AC), - 23 se convierte en + 23
y la diferenQa es 83 + (complemento a 2 de - 23) = 83 + 23 = 106.
Traduccihn a binario
La traducción del programa simb6Kco a biario se hace mediante un pro-
ensambtador grama especial Iiamado mntblador . Las tareas que ejecuta el ensamblador
se mprenderh mejor si realizamos primero la traduceihn en papel. La
traducid& del programa simbólico de la tabla 6-8 a su código binario
equivalente pude hacerse d examinar el programa y sustituir b símbol~s
por su código binano de rn5quh-m equivalerite. Comenzando desde la prime-
ra línea, encontramos una seudoinstrucción ORG. Esta nos dice que co-
192 c&nm SEIS Programa& Miea de la computadom
TABLA 6-8 Programa del Ienguaje ensmbiador para reshr dm nnQmwos
ORG 100
LDA SUB
CMA
mc
ADD MIN
STA DIF
KLT
m, DñC83
SUB, DE€ -23
DE, HBXO
BND
/Origen del programa en la posicibn 100
/Cargar d sustmendo a AC
/Complementar AC
/Inmmentar AC
/Sumar el minuendo a AC
/Almacenar la difmcia
/Detener la computadora
/ Minuendo
/Sustraendo
/La diferencia esta almacenada aquí
/Fin del programa sirnbúlico
rnencemos el programa bhrio de la direccibn 1OO hexadecimal. La -da
línea time dos stnbolos. Debe ser una instruccih de refmcia a memoria para
estar colocada en la localidad 100. Como no tiene la Ietra I, el primer bit del
código de ingtnicción debe ser O. El nombre M l i c o de la opaci6n es LDA.
Al venfiear la tabla 6 1 encontramos que el prirher digito h-decimal de la.
instnrcción debe ser 2 El valor biraario de la parte de direccibn debe obtmem
del súnboio de dixeaci6n SUB. Examhmos la columna de etiqueta y encontra-
mos este simbolo en h Unea 9. Para detmmhr su valor hexadecimal o h a -
mos que la ha 2 tiene una instrucd6n para la pdcibn 100 y las demás líneas
can una instmccibn de máquina con un o p a d o para piciones de
mepnoria m e m h h Al cmtar líneas, meontramos que el título SUB de la
lfna 9 corrqmde a la ~ i c h de la memorLa 107. Por 10 tanto, la d k x b
- hexa* de la iLIShZ1Cb6PL WiA debe ser 107. Cuando las dos partes de la
instrucción se ensamblan obknemo~ el ckiigo hexadecimal 2107, Las otras
iíneas que qrewntan instruccionw de máquina se traducen de manera
simiIar y su caigo hexadeQmal se b t a en la tabla 6-9.
Dos iíneas del programa simbblico espacifican operandos decimales con
la seudo~trueci6n DBC Una tereera qecif tca un cero mediante una sw-
doinstrucd6n HEX (también podA usarse DK). El decimal 83 se convierte
en binario y se d w a en ia p i c i b n 106 de su equiva!ente hewdeeimat El
decimal - 23 es un númem negativo y convertirse en bina50 en fom
de e o m p b t o a 2 con signo. El equivahte hexadechal del niunero binatio
se coloca en la posicidn 107, E! simbolo END a i @ h el final dei programa
shb6Zico y nos dice qw ya no hay limas por ,traducir.
tabla de símbolos El prriceso de traduecidn puede simplificacse si examinamos el progama
de bad& s h M h completo dm veces. No se hace ninguna traducci6n durante el primer
examen. S i h e n t e asipmm una posición de memoria a cada instniccih
de máquina y o p a d o . la asignad611 de p i c i o n e d&nirá el valor 'de
direcci6ñi de las eüquetas y f a d i h í el p m de traducción durante el
q u d o e~ameh Por k tanto, en la tabla 6-9, asigpmps la posicibai 1M3 a la
primera hsbu& despuBe de ORG. Luego asignamos piciones m c i a i a
paraeadaUneade~quetmgaunainstnmióndedquinau~perando
TABLA 6-9 Listado. dd d u c i d o de, la tabla &8
Codigo hexadecimal
Pdci6n Contenida Programa dmbdlico
ORO 100
LDA SUB
CMA
mc
ADD MiN
STA DE
m T
MIN, DEC 83
SUB, DEC -23
DIF, HEX O
END
hasta el final del programa. (A ORG y a END no se les asigna una posición
num6rica poque no reprwmtan una -instnreei:6n o un operando.) Cuando se
owmina el primer examen - a m c h m cada vabr con su niimem de p i 8 6 n
y fomatnos una tabla que defina el valor hmaddmal de cada direcci6n
s h M i e a . Para este p p m , la tabla de stmbolo de d h c i 6 n es romo
sigue
m 106
SUB 107
DIF 108
h a n t e el segundo examen del programa simb6lico hacemos referencia
a la tabla de símbolos de direcci6n para determinar el valor de W i 6 n de
una instnicci6n de referencia a memoria. Por ejemplo, la hea de c6dXgo
LDA Clls se traduce durante el segundo examen al obtener el valor hexa-
decimal, de LDA de la tabla 61 y el valor hexadecimal de SUB de la tabla
de shbo1os de dirección que aparece arriba. Desp&, ensamblamos las dos
partes en una instrucci6n hexadeeimal de cuatro dfgiim. El c6digo hexade-
cima1 puede convertirse con facilidad en binario si deseamos conocer exac-
tamente d m o reside este programa en la memoria de la computadora.
Cuando el programa enmbiador tmina la traduccibn de sfmbolos a
binarios, el primer examen se llama primera pasada, y el segundo examen se
Uama segun& pasada.
6-4 El ensamblador
Un ensambfador es un programa que acepta un programa de lenguaje
simb6lico y produce su lenguaje de &quina bhario equivalente. El progra-
ma shnM~co de entrada se Uama prqgrattra fuente y el programa binario que
resulta se llama programa objeto. El ensamblador es un programa que opera
&re cadenas de cara- y produce una interpretaci5n biaria equivalente
Representacibn de un programa simbbüco en la memoria
Antes de comenzar el p m de ensamblado, el programa simbbiiso dek
almacenarse en memoria. El usuario telea el programa simb6lico en una
terminal. Se utrliza un prcigrama cargador para introducir los cara- del
programa &¡Mlico en la memoria. Como el programa está formado por
símbolos, su repmntacibn en la memoria debe utilizar un código de caracteres
alfanuméricos. En la mputadora Msica cada carBcter se " p m t a mediante
un código de 8 bits. El bit de orden superior es siempre O y los otros siete bits
se +an median& ASCII. El equivalente hexadecimal del conjunta ¿e
cara- se lista en Ia tabla 610. A cada carácter le asignan d a dlgitos
hexad&Ies que pueden convertirse con facilidad a su &ligo de 8 bib
equivalente. La fdtÍína entrada de la tabla no imprime un carácter pero está
asdada con el movimiento fSm del cursar en la temtinaL El &digo para CR
se p d m cuando se oprime la teda de retorno. Esto hace que "el carro" retome
a su W 6 n inicial para comenzar a k c h r una nueva h. EI d i a d o r
reconoce un d i g o CR como el final de una línea de d igo . -- - - -
rrbrri r c r i i h TABLA 6-10 Código de carackes hexadecimah
Cadcter Código Cadcter C6digo Cadcter C6digo
-
6
7
8
9
espacio
(
+
1 -
i
- -
CR
TABLA 611 Represmhdn de computadora de la iinea de código FL3, LDA SUD 1
Palabra de C6digo
memoria Símbolo hexadecimal Representación binada
finea de código Una h e a de c6digo se aimacena en posiciones de memoria mnsecuti-
vas con dos caracteres en cada posici6n. Pueden almacenarse dos caracteres
en cada paiabra porque una palabra de memoria tiene una capacidad de 16
bits, Un símbolo de etiqueta se termina con una coma. Los slmboloa de
opraci6n y direeci6n se terminan con un espacio y el final de la Unea se
reconoce mediante el código CR. Por ejemplo, la siguiwite línea de -0:
PL3, LDA SUB 1
atá almamada en siete localidades de memoria consecutivas, según se
muestra en fa tabla 6-11. El título Pi3 ocupa dos palabras y te& con el
código & coma (X). El campo de instniecibn en la lima de c6dJgo puede
tener uno o mds shbolos. Cada símbolo termina con el c6digo para espacio
(m, excepto el iiltimo