Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

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 &#3m 
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

Mais conteúdos dessa disciplina