'Al

-

-7 JTAL ,

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 TWNICA: ~ N AGUST~NSUAREZ 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*mkditoi: P & Jamm Wuction editor: ]en* W m

1

*eE

.sherep C o o d m

editor: hrbnr'i

-

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¿ib.

m
A

lisr d

i o

o m e i d o sin auborización por d t o del

1 % resa I a @a edición en espaiiol pubiicada por: PRENTICE HALL ~ A N O ~ C A N A ~ , Q , .

DEüECH05 RESERVAWS

Atlacomuioo Nfim. 5 0 0 - 5 O Pisa Col. Zndustrial A m 53519, Naucalpan de J u h z , Edo. dc Mexiw ISBN M w 6 0 . 3 6 1 4 de la Nacional la Indushia Editorial, M. N a: MiembroEfiglish Language Edition P u b W by
Cgmara

¿e

h la' '4

'ItP

b

Original

Copyright O 1993 Al1 Righb Reswvd

by Prentice Hall Lrsc.

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 26 Ffip jlqv dispnrado por -el glnnco

T a b l a s #d'W

28

1-7 Circuitos secuencialk Ecuacbnes de &a& de Ios jlip fropc Tabla de estado 31 Diagrama de estado 33 Ejemplo de -diseffo 34
"

30

1

2-1

2-2

Circuitos integrados Decodificadores

2-3

DecodiJcad~ de eompmia NAND Expancidn del demdi$imdm 48 Cod$cadores 49 Multiplexom

2-5

B&gistn>s & c o ~ i e n t o Registro de -miento bidimcional con carga
+la 56 Contadores binarios
Unidad de memoria Memariadewmwv&t& Menimin d i o de ¡dura Tipos de ROM 66 Problemas Referencias
m n k m q m 3
i

2-6
2-7

I.u

&4
EX

63
65

I
!
1

m

CAP~TUD TRES

Representacihn de datos
3-1

Tipos de datos Sistmw numéricoc

m

w

72
76

RqmenWndecrnial
3-2
Rqmentach alfanurn&m Comp~tos CompktoI d 79

. -.

3-4 3-5

81 R e s b de n i I m sin signo Rép-tadh de'*piuitofijo ) i l P R e p r e s e n M de enteros 83 unhetia 84*-a34#9 Resfa arifmética 85 ha--SobrgIt~jo 85 -~ Y L Rqmsmtación del punto fijo den'nral Representación con p.unto.flotante
Otros códigos bina&

1

* 1

3-6

C6digo Gray 89 Okm d i g m decimales 90 Otros digas dfirnr~mdrh 92 Cbdigos de detección dé emir - 1 Problemas mReferencias

1

w
m

d

-

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 h r d w r e TI 7 Algunas aplicaciónts 118 Microoperaciones de corrimiento Implantación dd hardwre 122 Unidad de corrimiento 16glco aritmétiao Problemas
Referencias

44
4-7

C A P ~ W CINCO )

Organización y. diseño bhim&

a*.
1

cogpu@doras
133

Códigos de instrucción d Organkiún de un programa almacenado

Direcchrntento indirecto 134 Regisb computadora d M Canal m d n del 6istema 137 itll E & Instrucciones de computadora Versatilidad del conjunto ¿e i 7 i s f r u c E i o m .143 Temporhci6n y control

+

F r .

Ciclo de instrucci6n

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 l a itzstrucción A N D n AC 255 Ejecución de la imtrucdn ADD a AC 155 LDA: C a r p a AC 156 STA: ~ l m & r AC 156 BUN: Brinco irnondichal 156 BSA: Brimr y guardar Ea dirección de ~m 157 r s ESZ: Incrementa y b r i w si es c m 258 %grama 05flujo & mnfrol 159 a

b3

u!

a

M p c i ó n completa de computadora D k i b de una computadora Msica C m ~ l ú ~ k w n t 270 d 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 s u & y Mg¿w 175 m r~ Problemas Referiencias

CAP~%EO SUS

Prograrnaci6n básica de la computadora
6-1
6-2

63

n , 64

Intducción 1 ALenguaje de máquina kmaje ensamblador Regias &l lenguaje 189 Un ejemplo 191 Tdu& nb i d 391

h . H . '
A
a ;

6-5

64

ñqwmentaci6n de un programa simb6lico en la memo& 1 M P r i m m pasa& 195 -44 Segunda pncnr3a 197 A q' Ciclos del programa 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

a

W 4~&-*&-.-~ 2 9 8 6-7

Subditinas

6-8

Pardmtros de subrufina y enlace de datos Programación de entrada-salida M n n i p u h h & aaracteres 215 ~nt&pc& del programa Problemas, 217 Referencias

.-*#m'

211

m ' . !

Ci
. .

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 Fmto&i h mbuim235 Mjdnstnmbm sirnMicns 238

7-4

Dkfio de la w d a d de control Semmciador de r n h p r o p ~ Problemas ReferenQas

246

wi
-a

1

i

!l
U P OCHO ~

Unidad centrál de pmcesamiento

Organizacibn general de los registros Palabra de control 258 ,, EjempZm de miciionperaciones 25'1 fi Organizad611de 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 Fhnatos de las instrucciones Instruccioñes de tres direccionq 273 Insfmc+nes de d ~ d siwahs 273 Instruccbes de u m di=& 274 Imtrumhes de wro direcciones 274 Instrucctones RISC 275 -0s de direccionamiento

258

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
Control del programa

288

Bits de condicim de es& 291 Instrucciones de brinco condicionnl 293 295 Llamada y retomo de mbrutim Intemqckh &l p r v m a 297 Tipos de intnmpcbm 299 Computadora de conjun'b de instrucciones reducido WSC)

300

CarsicterEsticas CISC
Camterbtbs RISC

301

302 Ventanas & registros bslap& RlSC I de 8exkeIey 306 Problemas Reíerencias .,t

&#3m $ 33 ti--' k m !-

WPW,~VE F;aralelismoy procepniento de vector
9-1 Procesamiento paralelo b 9-2 A r q a paralela Cdrtsideracidnes generales 9-3 Línea paraiela aritmética 9-4 h paralela de instnimone6 Ejemplo: L f m puhlela de instrucciones de m h 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 Carga pospuesta o rehrdudu 339 ' Transferencia pospuesta o retardada **"

* .r*rr
w
w

r

9-7

Amgio de procesadot S K M D A~10dr.pmcnadamnSl~0 M' Arreglo de p m + SIMD 350 Problemas

cA~h"LzL0 DIEZ
Aritmttica de computadoras

10-1 10-2

Introducción Suma y mta

11-2 Dispositivos periféricm Caructers nlfanu&s ASCII Interface de entrada-salida Canal de E/S y rnúdulos de i nt* E/S versus canal de rnenrcirin 409 412 414' . t .. 377 tt Operaciones aritmdtieas de punto flatante Consiikrncidnes hfiiaas 378 Corofigumcibn de registros .. mur'** - a bdn! CAP~~ULQ ONCE Organizaci6n de entrada-salida 11-1 .xii contenla0 10-3 357 Suma y resfa con &tos d~ mpititd Eon signo Implantación de kardware 358 Algoritmo dev hardwm 359 &tos ds complemeittu a 2 Suma y resta con signo 361 Algoritmos de multiplicaci6n ImpIantadn de hardwre para datos de mgnitud m signo 363 Algaifme de hnrdwire 36# 366 ~ l & h t o & m t i f t i p ¡ W n ije . . 381 -m Suma y resta 382 m Multipl-n 384 106 Divish 386 Unidad aritmktica decimal Sumador BCD 389 Resta BCD 391 K" e w? 4 aia? ----'7f 10-7 Operaciones aritméticas decirnies R.Bmth 372 Sobreflujonldividk 374 Algm'lmo hardware 375 m signo Otros algoritmos 10-5 rfe W . W! Suma y m t a 395 CL Multipliuwión 397 Diarisidn 399 Opacimres & punto flPtante 4~ Problemas Referencias & .

primero en wlir 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 Prioridad de interrupci6n 428 114 11-5 Prioridad de m i h a de margaritas Interrupc$n de priotPdad paral& Cod~@dor de prioridad 440 Cich de intmpcidn 4-41 Rutinas de p ' q p m a d n 442 Operacions inicd y fuinl W 11-6 439 437 Acceso directo a memoria @MA) C o n M o r DMA 446 Tmnsf.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 DOCE Organizacidn de la memoria 22-1 12-2 Jerarquia de Ia memoria Memoria principal CJ.ce de comunkwibtt mfnrrwra 425 Buffer prUnero m enirar.rf. de RAM y de ROM 481 483 Mapa de direcci6n & memoria .~~ xiii 11-3 Transferencia a s h n a de daC o n t d de habilitación 419 Remm'mimfo mutua 420 Trnmfeencia d l asfntnrro~ul 423 Int.eremh D2MA 448 11-7 h c e a d o r de entrada-salida (iOP) Comunhci6n CPU-IOP .

cnché 503 Inicklizacibn del.ca& 504 + +' " ' 1 ' : I\ -. -4 Multipmcesadores 13-2 Características de multiprocesado~5rnichir. l .min 505 Mnpeo % e ! direccih &ando pdgin& 507 Tabla de @@m de mwia'usociatim 509 Sustitucidn de @@M 510 Circuiteria de 'adminictracibn'de la memoria Mapeo de &+m segmentadn 5a Ejemplo numkrico Protección de memoria Problemas Referencias 9 13-1 *m CAP~TULQ TRECE 1 w..--. Discos mpéflcos Cinta mugtdticn .i Ugim dr c&ncLiniM 492 m ~ c i & nde t Ieclura 495 Operacián de esmmSura 495 ' .Conmutador de barra de cruz ~ernork rnultipuerto' 5 3 ' 0 3i j l n t n m i b n de hipercub 13-3 ' ñed de mrnuhcidn de efsipns múltiples 532 535 Arbitraje enfre procesadores Canal del sistemu 537 Procedimiento de arbitraje serhl 5Pr 5 3 9 ~ Ldgica de arbitraje paralelo Algoritmos de arbitraje dindrnim S2 7rn-w- . I 12-5 Memd& ea& ~apeo'asociativo 498 ' M d p directo 499 ivbpeo de m j r m t o ' o i b Escritura en la .dm --+ 1 .=-=a . .s de interconixi(in Caml común de tiempo compartido E528 531 .. -. 126 12-7 Memoria virtual Espacio de direc.Memoria auxiliar 1 q. 489 & i --' U4 Memoria asociativa 2 Organización de l u circüitmía 490 ~1-i ?..ciotzpmiento y espdí5u de mm. . 12-3 '6 m e .

Soluciones al probIm de c o h m h de mchd Pmblemas Referencias Condkhnes p r a incoherencia 547 549 .13-4 13-5 Comunicaci6n y sincronhcibn entre procesadores Sincronuandn entre -es 545 Exclus& mutiut m sm@m 545 Coherencia de cachd .

w nal. Por lo tanto. * ? * * y de la memoria. * de una computadora elemental.u YIL. disefío y progra1. -a material y hacer mAs clara su presentaci6n.b .-tan la org&ci&n y arquitectura de Ias unidades f u n c i o d qaradas 1 1 de la computadora di@. . *I = it ' . . * r 1* En esta tercera edici6n e l materiai está organizado como en la segunda y muchos de los temas no cambian. e n f a b d o loa kmas más avanzados. E l capitulo 13 aclara el concepto de multiprmesamiento. Los capítulos del 8 a l 10 examinan la l'l.. P * ~ T! . ? .3 .ñ e l capitulo 13. N ' .' Y ! 1111 iI U f.1 7 1 . LQS últimos seis capítulos pre . la computadora que incluye un conjunto d u c i d o de inetnicciones m. Se apegaron dos novedades: el w t I . 'i*- .. = .rirt* macibn de una computadora digitar simple. Dos mimes tratan acerca de 4. acerca del procesamiento por arquitectura paralela y vedores. . L m capitulas del 5 a l 7 muestran 1. . .- w 4 .. 4 necesario para e l conmimiento bhsico de ía organizacibn.# S : .. E l libro se h e r e primero al material más sencillo y dapub aborda temas m á s avanzados. y . i 1. El diseño de computadoras a n a k el desarrollo de la circuitwfa de . E i capítulo 5 se revi& par completo para simpWar y hacer más chro e1 ll1 . la tercera d c i b n ofrece b. I + l - 1 I 1. -huevos temas en relaci6n con fa segunda edieih Todos los capítulos. tomando en consideraddn un cierto conjunto de ~ c . capitulo 9. I~UI a El libro proporciona e l conocimiento básico necesario para comprender -. I a organización de las computadoras studia l a manera en que se 1 1 . 1 excepto dos (el 6 y e l lo). # . Sin embargo. 11< '? & 1 ' . M :- 4 ' J 1 e v7 1 . en detalle los pasos que debe recorrer un d i i d o r para preparar las basea . Los capítulos del 1 al 4 ' + presentan los diferentes componentes digitales que se usan en la organiza. *.a n / . acerca de multipmdores. La arquitedura de computadoras se interea por la e1 * l a 7 estructura y desempeño de los diferentes m 6 d h funcionales de la computadora y cómo interacthn para atender las necesidades de proeesamiaito del i~it: ' usuario..- m). cmectan los componentes de la circuipara formar un sistema computacb S a*-. a I 1 .'i .! cibn y diseíio de computadoras digitales. 1 l computadoras. " Hiy 1 Este libro trata de ia arquiwtura de5computadoras ?'de la organización y diseno de computadoras. se han revisado por completo para actualizar el .' S . ' f' 1 .-. I 1- 19. ' . . .4. . " la operacibn de h cimiitería de computadoras digitales y cubre los tres temas asociados con la circuiterfa de computadoras. N a 'i 3> N a "r .. 1 r organizacibn y arquitectura de l a unidad de procesamiento centrd LQS capítulos 11 y 12 estudian la organizacibn y la arquitectura de entradadda. . .1 . los primeros siete capitulos cubren el Riaterial . .

Los capitulas del 1 al 3 pueden saltarse si el 1-r está familiarwdo con eI dis&o 1 6 e diitaL Las~ente~unahe~~&htemasqueaecubmeneada capitulo. E l capítulo 4 introduce un lenguaje de transferencia de registros y mueskra cbrno se usa para expresar mierooperaciones en forma simb6lica. multipiexomI regis~ u m f a d m s y ~ ~ ~ d i & & s s e u m a r m o ~ c o m h d 6 n para el d k k de unidades más grandes en Im capitulo9 siguientes. Se dqmoila una unidad aritmtfica-lúgii y de corrimiento compuesta para demostrar e l disefío de la circuitería de las mimooperaciones más . . sin embargo. 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 . Proporciona los a n k e d e n b n-nm para comprender los c h i b a digitales que se van a presentar. El capitulo 3 muestra cómo se repmmtan en forma binaria b s diversos tips de datos que se encuentran en las computadoras digitales.a mediante un lenguaje propio de la &m desarroliamos un lenguaje senciilo de transkrencia varias operaciones de computapor completo la relaci6n del i6n de la &tería y El libro no plantea un eonocirniento previo de la circuiterla de mmputadoras y el material puede entenderse sin nhgh requisito previo. Cubre el Algebra booieana. d d e se esfablecen I ~ mviswne E que m hicieron a l a tercera ediE l 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 .P iones y las mciones ae conrroi en fonna simb6lic. Aunque 3a computadora es aericilIa comparada m las mmputadoras comerciales. alguna expiencia en la progromacin de lenguaje ensamblador con unn miuncomputadora facilitar&Ia comprwisi6n del material. la computadora bhica utiliza el mismo conjunto I . no obstante. m E 1 CapihSh 5 p m t a la organización y e l d i o de una computadora digital básica. lbgicas y de corrimientu. en los qistroe de l a computadora. % ! definen SfmboIcxs paza microoperaeiones aritméticas. S e enfatiza la repmentaci&nde 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. abarca suficientes posibilidades funcionales para mostrar la capacidad de un dispodtivo de propbsito v a l con programas almacenados. El capitulo 2 explica en detalle la aperaci6n iópca de los componentes digitah más m u n a incluye decudifndofes. los circuitos combinatonos y secuenciales.

Re* en detalle el diseño de la unidad de control. Se muesh cbmo los procesadures RISC pueden ejecutar instrucciones de ciclo 6nic0. El capitulo 7 intduce el concepto de microprogramaci6~Ademdq desarrolla una unidad c a de control m ~ a r n a d o para . b seccih presenta. Se considera Ia arqui-a paralela aritm4tica y de ihstrucciones. El capitulo 9. E l 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. Hace una relacidn de las instrucciones m8s comunes que se encuentran en las computadoras. Se explica el concepto de arquitectura paralela y se muestra con varios ejemplos cómo puede acelerar e l procesarnimto. resta. Se analizan las operacionm bhsicas de un ensamblador de cbdigo simb6lico a un programa b i r i o equivalente. es nuevo en la tercera edición (el material sobre operaciones aritmdticas 'de la segunda dici6n se pas6 al capihdo 10). multiplicaci6n y divisi6n y muestra los procedimientos para implantarlos con circuiterla digital. transfe- . El capitulo 8 trata acerca de la unidad de p-iento cmtral (CPU). E l capitulo 10 p m t a los algorihos arihdticos para suma. Ilustra diferenb formatos de instrucciones. . incluyendo h circuitsofa para el secuenciador de microprograma. a1 usar una conducción de instrucciones eficiente junto con técnicas de carga y transfewncia de control del programa propuestas. E l capitulo 11 analiza las tecnicas que usan !as computadoras para comunicarse m dispositivos de entrada y salida. Se explica mediante ejemplos k reIación entre programas binarios y d i g o simbúlico. LDS algoritmos r e 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. acerea de p-miento de F t o r y por arquitectura paralela. Explica ia operaci6n de una pila de memoria y se muestran algunas de sus apiicaciones. Se introduce el procesamiento de vedo= y se muestran ejemplos de operadones de punto flotante usando procedimientos paralelos. la computadora con conjunto reducido de instniccion.ejemplos de programación para varias tareas de p t o de datos. mostrar un ejemplo de cbmo escribir un micrw6digo para un conjunto de instrucciones tipico. e l estudiante podrá comprenda el -1 :i1 id -m funeionarniento interno de las computadoras digikles. Se presentan unidades de interface para mostrar cómo interachh el p-dm con los perif&kos extern a Se explica el pmdhiento para transferencia asincrona de d a b senales o paralel. para números binarios de punto flotante y para n6mem binarios codificados en dmimales (BCD). junto con una explicacidn de su funci6n. pero su o q p i z a c i h 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.(m) y analiza sus caracterZsticas y ventajas.A n a h cuatro modos de transhcia: E/S programada.de instrucciones de la xgunda edicih. Se desamoflan p&i&ntos pqa ndmeros de punto fijo de complemento a 2 con signo y de magnitud con signo. La W . Se presentan.junto con diversos modos de dkccionamiento.

Este libm también es conveniente para e l autoaprendizaje. Explican en detalle la orgmizaci6n y la operaci6n de las meme rias asociativas. Analiza la neeesldad de arbitraje entre prmaadores. Midkiff. M. al profesor Cem Ersoy. mmpuesta de memoria c a e . de de lavensidad Gemge Mason. como un curso de organizacibn y diseño de computadoras.ecto a memoria y el uso de pnxemdores de entradadida. de1 Instituto Politémico de V i a . memoria principal y memoria auxiliar como d b magnéticos. pzesenta varias estnictuqs de inbconexih. Cada capitulo incluye un conjunto de problemas y una lista de referencias. M i gratitud a aquellas personas que tevisaron el texto. acceso dii. al repasar el capítulo 4 y +u& cubrir lo^ capítulos del 5 al 13.y cientfms que necesitan adquirir conacimientos básicos de la circuiteda de arquitectura de computadoras. al profesor Karan Watson de la unirnidad de Texas ABrM.con la arquitectura y e l dis&o de circ2uitería de computadoras. para ingen i e .-Algunos de los pmbIerna8 sirven fomo ejercicios para el material cubierto en el capitulo. SE explica el problema de la coherencia de cachk. ilustra h e proeedimientos para trmmbibn de datos mides. Asimismo. Algunas partes del libro pueden usarse de diversas maneras: como un primer curso sobre ciGcuitería de computadoras al cubrir los capltuios del 1 ai 7. comunicaci6n y s h n i z a a b n . de la miversidad de lowa. j u n t o con algunas posibles aolucione3. las opaciona aritm&tias (capítulo lo). Otros son de naturaleza m4s compleja y pretenden ofrecer una manera de practicar en la-mlucidn de problemas asociados. en K a n w City. en particular al p b i Thomas L Casavant.rmcia iniciada por intmmpción. que cubm las cinco unidades funcionales de las computadoras digihles. la entrada-salida {capitulo 11) y la memoria (capltulo 12). Con ejemplos espedñaos. y al profesor Scott F. de Ia universidad polit&ka de Brookly". al profesor Upkar Varshney. E l libro ea eanvdente para un c m de sistemas de circuitería de computadora. como un curso en organbción y arquikhira de computadoras. mediante la representacihn de los requisitos de circuitería para un sistema de una memoria caché y una memoria vithiat E i capitulo 13 demibe Ias caracte~ticasbásicas de los multiprocesadores. de la a 1 universidad de Missouri. con conmimientos previos de d i o de l ó g i c a digital. al incluir el controI (capitulo 7). al profesor Murray R BerWtz. Por otra parteg introduce el concepto de administracibn de memoria. El sapihdo í2 presenta el concepto de jerarquia de memoria.Morris Muno . en las Areas de ingeniería eléctria y mmputacional o ciencias de la informática. la unidad de procesamiento (capitulas 8 y 91.

Las primeras computadoras electr6nicas di@akj desarrolladas a finaIes de los años 40. Por la restricci6n flsica de las componentes y porque la 16gica humana tiende a ser binaria (por ejemplo. Estos valores se procesan internamente por componentes que puedm mantener un número limitado de estados discretos. De esta apbcacibn ha surgido el término computadora digital. por ejemplo. se usaron principalmente para c6mputos numbricos. 9. l o s 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. La informaci6n bit . 2 . Los &@tos decimales O.. h s computadoras digitales emplean el sistema r(urn6rico binario. A un digito binario s e le llama bit.EN ESTE CAP~"~WO 1-1 1-2 Id 1 4 1-5 1-6 1-7 Computadoras digitales Compaertas 16gieas Algebra booleana Simplificación por mapas Circuitos wmbinatorios Flip-flqs ~Circuitossecuenciales 1-1 Computadoras digitales La computadora digital es un sistema digitai que ejecuta diversas tareas de computación. que tiene dos dígitos: O y 1. En este caso los elepentos discretos son los dí@toB.. .. proporcionan 10 valores discretos. 1. proposiciones de cierto o falso. las computadoras digitales funcionan mbs confiablemente si d o se usan d o s esMos. h palabra digital implica que la información en la computadora se representa por variables que toman un número limitado de valores discretos. s io n o ) . En la grActica.

pero el compilador que traduce el programa en lenguaje de alto nivel a lenguaje de mequina es un programa de sistema. En contraste con los niimeros decimales comunes. Se distinguen de los programas de aplicación escritos por el usuario con el prop6sito de resolver problemas particulares. como el inglk y el francés. Los datos que son manipulados por el programa constituyen la base de datos. como los dígitos decimales o las letras del alfabeto. Un sistema de computadora se subdivide a veces en dos entidades funcionales: hardware y software. este mismo grupo de siete bik representa la letra K cuando se usa junto con un c6digo binario para las letras del alfabeto. Con diversas técnicas de codificaci611. En otras palabras. A los programas incluidos en un paquete de software de sistema se les c o n a como sistema operativo. Por ejemplo. los grupos de bits en una computadora digital sirven para representar muchas cosas diferentes. los números binarios constituyen un sistema en base 2 con dos dígitos: O y 1. El software del sistema de una computadora consiste en una colecci6n de programas cuyo propbito es hacer un uso m6s efectivo de la computadora. ademis del hardware. Esto es similar al concepto de que las mismas letras de un alfabeto se utilicen para construir diferentes lenguajes. sino tambikn otros símbolos discretos. El hardware de computadora consta de todos los componentes electrbnicos y dispositivos electromecánicos que comprenden la entidad física del dispositivo. A una secuencia de instrucciones para computadora se le llama programa. El equivalente decimal de un número binario se puede encontrar expandiendo éste en una serie de potencias en la base 2. El cliente que compra un sistema de computadora necesitaría. l o s grupos de bits desarrollan conjuntos completos de instrucciones para ejecutar distintos tipos de cómputos. Por ejemplo. Un sistema de computadora está compuesto por su hardware y el software del sistema disponible para su uso. Usando juiciosamente los arreglos binanos y diversas tkcnicas de dificación. que emplean el sistema en base 10. 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. El software consiste en ¡as instrucciones y l o s datos que la computadora manipula para ejecutar las diversas tareas de procesamiento de datos.2 C M ~ O NO Circuitos de 16gici se represen-9 en las computadoras digitales en grupos de bits. se puede hacer que los grupos de bits representen no s61o los números binarios. 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. Sin embargo. cualquier software dispc- . Tambih puede representar un cbdigo de control para especificar alguna decisi6n Mgica en cierta computadora digital.

Se le llama memoria de acceso aleatorio (RAM. Cuando se trata del hardware de la computadora. E l tema se considera a veces desde tres diversos puntos de vista. 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. t i ' L 1 . impresoras. Su funcibn es compensar las diferencias que existen entre las necesidad. Lcw dqositivos de entrada y salida conectados a la computadora incluyen teclados.del usuario y la &pacidad de1 hardware. La memoria de la computadora almacena las instrucciones y los datos. El hardmre de la computadora se divide por lo general en tres grandes partes. varios registros para almacenar los datos y cirmitos de control para leer de la memoria y ejecutar instrucciones. E l procesador de entrada/salida (XOP. terminales. unidades de diseos magndticos y otros dispositivw de comurticaci6~ Este libro proporciona el conocimiento básica para entender las opraciones del hardware de un ~istema de computadora. central processing unit) contiene una unidad aritmdiica y 16giea para la manipulaci6n de datos. El softwam del sistema es una parte hdispe~l~able del sistema total de la computadora. como se muestca en Ia figura 1-1. La organizacidn de la c o m p u h d m w refiere a h manera en que los componentes operan y la forma en que se conectan para formar el sistema de la computadora. La unidad central de procesamiento (CPU. dependiendo del interés del investigador. input output prcicessor) contiene circuitos e l d n i c o s para comunicarse y controlar la transferencia de información entre la computadora y el mundo exterior. 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 proponfaFigura 1-1 Diagrama de bloque de rina mmput%doradigital.S E C C ~ ~1 N 1 Computadores digitsles 3 orgaeizaci6n de la complrfadora nible necesario para k operaci6n eficaz de la computadora. es costumbre distinguir entre lo que se refiere a la organizacihn de computadora. su diseño y arquitectura.

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. Por ejemplo. es tarea del disefiador desarrollar e l hardware para el sistema. La 16gica binaria I t a de las variables biarias y con las operaciones que asumen iin significado 16gico. Ia d p u l a c i b n y el procesamiento de la infomacibn binaria. En los capfhiIos del 5 al 7 se cubren los pesos que el disenador debe transitar para diseñar y7prograrnar una computadora digital elemental. en cualquiera de loe dos estados reconocidos. 1-2 Compuertas 16gicas La informacibn binaria se repregenb en las computadoras digitales por cantidades físicas llamadas sdahs. En los sistemas de computadora digital se utiliza por l o 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. el conjunto de instrucciones y las M i c a s para kcionamiento de memoria. Una vez que se formulan las especificaciones de la computadora. El diseño de la computadora se ocupa de h determinaci611de qué hardware debe usarse y c6mo deben conectarse las partes.5 volis para representar e l O binario. Este aspecto del hardware se conme a veces como impfantaciún de la cimput&ra. Las teminales de entrada de los circuitos lbgicos aceptan señaies binarias de 3 y 0.5 voltios para representar la entrada y saIida binarias correspondientes a 1 y 0. en forma algebraica o tabular. ta arqtdtectitua de la computadova se ocupa de la estructura y comportamiento de la computadora desde el punto de vista del usuario. La manipulación de la informacibn binaria se hace mediante circuitos 16gicos llamados wmpilertas.5 volts y los circuitos responden en las terminales de salida con h l e s de 3 y 0. E l de la arquitectura de un sistema de computadora a ocupa de las especificaciones de los varios mbdulos funci* nales. Los dos estados representan una variable biaria que puede ser igual a 1 o a O.4 NO Circuitos de -1 digital E l d&& & la compufadma se ocupa del diseito del hardware de la computadora. Este libro trata de los tres temas asociados con el hardware de la domputadora. La relación de entrada/salida de las variables . Sirve para describir. tales como los procesadores y la memoria. Las compuertas son bloques de hardware que producen sefiales del 1 o el O binarios cuando los requerimientos lógicos de entrada son satisfechos. Incluye los formatos de i n f o M n . En los capftulos 12 y 12 presentamos la organhaci6n y a r q u k h r a del proeesador de entrada salida y la unidad de memoria. Los capitula 8 y 9 tratan de la arquitechira de la unidad central de procesamiento. Las sefiales eléctricas tales como los voltajes existen en todas partes de la computadora. respectivamente. una computadora digital en particular puede emplear una sefial de 3 volb para representar el 1 binario y 0. y de estructurarlos conjuntamente en un sistema de computadora.

El símbolo de operaci6n algebraica para la funci6n AND (Y) es el mlsmo que el simbolo de multiplicaci6n de la aritmética ordinaria. un acoplador que utiliza 3 voltios para el 1 biario producirii una salida de 3 voltios cuando la entrada sea de 3 voltios. esto es. mismo que el valor binano de su entrada.respectivamente. La funci6n NAND es el eomp~emento de la funcibn AND (Y). Un acoplador no produce una funci6n 16gica particular. similar al de la suma aritm4tica. Por ejemplo. La designacih NAND se deriva de abreviar NOTAND. ya que el valor biario de su saiida es el. Un simbolo de kihgu10 por s í mismo designa un acoplador o registro intermedio. Estas condiciones tambih se especifican en la tabla de verdad para la compuerta AND. y la salida es siempre el complemento de la función AND u OR. de otra manera. . la salida es O. las funciones algebraicas y las tablas de verdad de las ocho compuertas 16gicas s e listan en la figura 1-2. El circulo en la salida del símbolo gráfim de un inversor designa un complemento 16gico. La tabla que muestra i a salida x es 1 6610 cuando la entrada A y la entrada B son ambas 1. la salida es 1 si la entrada A o la entrada B o ambas entradas son 1. Este circuito sirve nada m8s para la amplificacibn de h potencia. que consiste en un shbolo gr4fim AND (Y) seguido de un circulo. la salida es 1 si y s61o si todas las entradas son 1. y por defmici6n. E l circuito inversor invierte el sentido lbgico de la señal binatia. Las compuertas AND (Y)pueden tener mas de dos entradas. La compuerta MOR es el complemento de la compuerta OR (O) y lleva un simbolo grsifico OR seguido de un chulo. El simbolo a l e r a i c o que se utifua para el complemento 16gico es símbolo de prima ('1 o una barra sobre la variable. y por definicihn. Podemos usar un punto entre las variables o bien concatenar las variables s i n ningh símbolo de operaci6n entre ellas. 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.acomose indica con su simbolo grdfico.circuito hversor NAND NOK binarias para cada compuerta puede representarse en forma tabular por una tabiu de &d. de otra manera. tos nombres. k salida es O. El principal. Las compuertas OR (O) pueden tener mbs de dos entradas. la salida es 1 si la entrada A y la entrada B son ambas igual a 1. 10s símbolos grAfieos. Ia c~mpuertaOR {O) produce la funcibn 0 R (0) inclusivo. mientras que la barra &re la htra se resma para designar una micmoperaci6n complemento como se define en el capitulo 4. prop6sito del aeoplador es manejar a otras compuerkas lo cual requiere una cantidad de potencia mayor. Sin embargo. En este libro usamos el simbolo de prima ('1 para el complemento 16gico de una variable binaria. Tanto la compuerta NAND como la NOR pueden tener mas de dos entradas. Produce la funcidn NOT o complemento. la salida es 1 si cualquier entrada es 1. El símbolo algebraico de h funcibn OR (O) es + . la cantidad de potencia elgctrica necesaria a l a entrada del acoplador es mucho menor que la potencia producida a la salida del mismo.

"" x a'AB $. .m U N Cirmib de lsgiea digital Shhh Nombre @ ! Fuaci6a dgebrnb Tabla tde wrM ANP nx ". #=A NAND 0 B x x = [AB)' . . * e". OR A B - x=A+B 3 1 0 m tnwm Buhr A+-.* .Y -m 1 1 1 0 NOR * B x xr(A+B)' $ 1 1 0 Mi ~ l t l s i w i x=A@B " 3 x (xa) x = A B0 +AB' t 1 0 1 1 1 0 MOR exc1wim w a oequltnihk B A . ?=(m+ P xm A'B'+AB Figura 1-2 CompuertasMgicas digitales.* .

Por lo tanto. Como se muestra en la figura 1-3{a). es igual a O para todas las demás combinaciones.La compuerta OR exclusiva (XOR)tiene un símbolo gc6fieo similar aI de l a compuerta OR. las variables de la funci6n se toman como . La funci6n F es igual a 1 para aquellas combinaciones diagrama ldgtco donde x = 1 o yz = 01. Las tres operaciones lbgicas basicas son AND. paréntesis y signos de igualdad.-Hay un inversor para i a entrada y para generar su complemento f. y sólo rara vez se encuentran con tres o m8s entradas. podemos decir que F es igual a 1 si x = o s i yz = 01. OR y complemento. Asi.excepto por una iínea cuma adicional del lado de la entrada. esto es. Hay una compuerta AND (Y) para el término y'z. La relacib entre una funci6n y sus variables binarias se puede rep-tar en una tabla de verdad. Un nombre mh apropiado para la operaci6n XOR sería la funci6n impar. OR y operaciones complemento como s e muestra en la figura 1-2. su salida es 1 s i un número impar de entradas es 1 . La salida de esta compuerta es 1 . Pero decir que y' = 1 es equivalente a decir que y = O ya que / t es el complemento de y. 1-3 kgebra booleana trata de las variables binarias y las operaciones 16gieas. una compuerta OR se usa para combinar los dos términos. Las variables se designan con letras como A. Una hinci6n b o o l e m puede transformarse de una e x p m i h algebraica a un diagrama ldgico compuesto de AND. Para representar una funci6n en una tabla de verdad necesitamos una lista de las 2" combinaciones de las n variables binarias. Considere. 8. E 1 diagrama ldgico para F se muestra en la figura 1-3(b). Las compuerbs OR (0) exclusivo y NOR exclusivo se encuentran comúnmente disponible con dos entradas. En un diagrama ldgico.El NOR exclusivo es e l complemento del XOR. por ejemplo. F es igual a O. l función booleana E 1 AIgebra boohna h d d n boolea~a tabla de vedad La función F es igual a 1 si x es 1 o si tanto y' como z son igual a 1. como lo indica el drculo en su símbolo gcáfim. La funcibn XOR tiene su propio sImbolo algebraico o puede expresarse en tCrminos de AND. en una funcibn XOR de tres entradas (impar). Para un valor dado de las a variables. los simbolos de operaciones l6gicas. la funci6n booleana puede ser 1 o O. x y y. la salida es 1 si s610 una entrada es 1 o si ias tres entradas son 1. de otra manera. si cualquiera de Ias entradas es 3 pero excluye la combinacidn cuando ambas entradas son 1. O R y compuertas inversas. Una función bmleana puede expmrse algebraicarnente con variables bmrias. La salida de esta compuerta es 1 sblo si ambas entradas son igual a 1 o ambas entradas son igual a O. hay ocho combinaciones distintas posibles para asignar los bits a las tres variables x. y y z.

3 Tabla de verdad Fig~1 u4 @:. . Una funei6n booleana especificada por una tabla de verdad puede expresarse algebraicamehte~de muchas imaneras diferentes. Encontrar circuitos m6s simples para ia misma función. Todas las identidades de la tabla pueden probarse por medio de las tablas -de verdad. m . Expresar @n' f o m algebraica la relacibn de entrada/calida de los diagrams16gicos. Las primeras d o identidada muestran la relación besica entre una sola variable y si conjuneidn de las constantes binarias 1 v O.X' = xy = Y o m ~ d .a (15) (x +y)' = x'y' (17) (x')' = x (8j f X.A U Tabla de verdad y d i p a m albgic~ para f = r - 16gim + fz. s r (12) x(yz) = (xy)z (14) x 3. cr TABLA 1-1 Identidades básicas de Mgebra booleana (1) x + o = x (2) x . 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. E l propósito del Algebra booleana es facilitar el afi5lisis y el diseño de los circuitos digitale. 2. La tabla' 1-1 enlista Ias identidades mAs biisicas del álgebra booleana. primero debemos estudiar las capacidades de manipulación del Algebra booleana.A u 3. Expresar en fonna'algebratca la relaci6n de la tabIa de verdad entre las variables binarias. 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. yx = ( x y)(z (16) (xy)' = x' y' + + + z) .o =9 ( ~ ~ z + x ~ = I p)x+yay+x (11) x + ( y + z ) = (x +'y) (13) #(y + E) = ry + . Para ver c6mo se hace esto. Proporciona una herramienta pr6ctica para: 1 .$-lm -.

La última identidad afirma que si una variable se complementa dos veces. De la identidad 5 de la tabla 1-1 encontramos que x + x = x. Por ejemplo. Andlogamente.C'D + AB' + C'D Si x = AB' CD. Análogamente. considere k siguiente expmidn algebraica hleana: AB' 4. NOR y N Figura 1 4 i h sfmboloei g r á i i ~ ~ para a la compuerta NOR Figura 1-5 l h sfmbolos grAficw para la compuerta NAND. Así la expresibn puede reducirse a sólo dos t é r m i n ~ M' teorema de DeMorgait tas + + C'D + A'B + C'D = AB' + C'D El teorema de DeMorgan es muy importante al tratar con las mpuerw Afirma que una compuerta NOR.Por esta raz6n las compuertas NOR y NAND tienen dos distinb shbolos grS~cos.Las siguientes cinco identidades (9 a 13) son similares a las del algebra ordinaria. una funci6n NAND puede expmrse por o ($ + ?J). Las identidades eniktadas en k tabla se aplican a variables solas o a las funciones b l e a n a s expresadas en tdrminos de variables binarias. uno obtiene el valor origina1 de la variable. que se tratan abajo. El sfmbolo AND invertido para la compuerta NOR se sigue del teorema de DeMorgan y de la convenci6n de que los &culos pequeiíos denotan mpI&entaci6n. En lugar de representar una compuerta NOR con un simbolo g r & OR (O)seguido de un circulo.como se muestra en las *ra 14 y 1-5. que representa la funcibn (x + y)' ea equivalente a la funcih x'y'. podemos reprexatarlo por un simbofo gráñco AND precedido de clrculoa en todas sus entradas. t a s identidades 15 y 16 se llaman teoremas de DeMorgan. pero es muy íttil en la manipuhción de expresiones hleanas.la expresi6n puede escribirse como x + x. . La identidad 14 no s6 aplica en el 4igebra ordinaria.

Requiere sólo cuatro compuertas en lugar de las seis del circuito de Figura l-ó l hdiagrama ldgicos para la misma W n hleana. L a expresi6n puede simplificarse usando e l áigebra booleana.10 m UEJO Circuitos de lógica digital la compuerta NAND tiene dos símbolm distintos. considere el diagrama 16gico de la figura ld(a). Para ver cómo se emplea la manipulacibn del 4lgebra booleana para simplificar circuitos digitales. Cada término corresponde a una compuerta yl a compuerta OR forma l a suma lógica de los tres téminos.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. Se necesitan dos inversores para complementar A' y C'. La salida del circuito puede expresarse algebraicamente como sigue: F = ABC + ABC' + A'C m. El diagrama 16gico de Ia expresidn simpIiicada se dibuja en la figura l-6(b). P . como s e muestra en la figura 13. F = A13C + ABC' T A'C = AB[C + C ' ) i.

el complemento de una función puede derivarse por medio del teorema de DeMargan. . C y la salida F. .+ A- F = AB + C'D' + B'D F'= ( A 1 +B')(C + D)(B t D') *-a.T. f -1 h r u -- PII 1-4 Simplificación por mapas UlIni y& =S e 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. considere la siguiente expresibn y su complemento 1 Y . Esto se hace a ' cambiando todas Ias operaciones de OK a operaciones AND y todas las operaciones AND a operaciones O R y luego complementando cada variable literal individual. m p * L . Los dos circuitos son equivalentes y producen la misma relaci6n de tabla de verdad entre las entradas A. El mgtodo de WI . A h -&' A -Del teorema general de IkMorgan podemos derivar un prdimiento s h 1 mrtlmiple para obtener el complemento de una expresión algebraica. B. Note que el complemento de C ' es C . 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. Sin embargo. ta represen'tacibn de la tabla de verdad de una M 6 n es Cinica. + xj + x. La expresión puede simplificarse por medio de las relaciones bAsicas del Algebra booleana. Como un ejemplo. mapas proporciona un procedimiento sencillo y directo para simplificar las b expresiones h1eanas. Cuando la funci6n se expresa en forma algebraica.. ) x. La forma general del teorema de DeMorgan puede apresarse como sigue: ( x ~ X ~ X ~ .m h expresibn complemento se obtiene intercambiando las operaciones AND y OR y complementando cada variable individual. ' f x. ~= .la figura 19(a). p r o la funci6n puede aparecer en muchas formas difermtes cuando se expresa algebraicamente. ese procedimiento es algunas veces difícil porque carece de -las especificas para p r e d d cada paso sucesivo en el proceso manipulativo. Este m & d o puede considerarse como un arregio wfi? pict6rica de h tabla de vedad que permite una interpretacibn fkil para para expresar algebrah3 h escoger el número rnhimo de t4minos necesa~ios . 1-- .

Los 2 ' téminos mínimos se listan con un número decimal equivalente para una referencia f d d . la tabla de verdad de la figura 1-3 contiene ocho términos minimos. E l método de mapas se conoce también como mapa de Karnaugh o mapa K Cada combinación de variables en la tabla de verdad se llama Mrmino mínimo. El mapa es un diagrama hecho de cuadros. B y C . ios mapas de funciones de dos. que puede obtenerse del 1 en el segundo renglón concatenada m el 01 de la segunda columna. en la esquina del mapa. Imi thninos mhimw ausentes de la lista s o n los que producen O para la funcibn.12 cAPmno&O Circuitos de lógica digitd t6rtnino mínimo mente la funcih. E l término mínimo representada por un cuadrado se determina por ias asignaciones b i n a h de las variables. el t6rmino mfnimo 5 en el mapa de tres variables es 101 en binario. Los nombres de las variables se enlistan a ambos lados de la línea diagonal. y cada uno de éstos representa un término minimo. b s cuadrados correspondientes a los términos 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. Por ejemplo. tres o cuatro variables se muestran en la figura 1-7. i m términos mínimos que producen 1 para l a funcibn se enlistan en su equivalente decimal. 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. es posible derivar expresiones algebraicas alternas para la funci6n. 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. de las cuales se selecciona la más conveniente. La variable con símbolo de prima (complementada) aparece en i a mitad restante de l o s cuadrados. 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. Reconociendo los diversos patrones y combinando los cuadradas marcados con unos en el mapa. Cada variable den. equivalentes a los 2" números b h r i m obtenidos de n bits. con A y C sin primas y . a lo largo de las orillas izquierda y superior del mapa. El sirribo10 sigma representa i a suma de los términos minimos que siguen en parénmis. Los ceros y los unos marcados a la largo de cada renglbn y cada columna designan el valor de las variables. Cuando se expresa en una tabla de verdad una función de n variables tendri T témiinos m i n h . Por ejemplo. El número de cuadros en el mapa de ñ variables es 2". Este término mínimo r e p p senta un valor para las variables binarias A. Una funcidn boofeana es igual a f.de las Uaves contiene la mitad de los cuadrados del mapa donde la variable aparece sin dmbolo de prima ('). Por ejemplo.

a B con prima (eeb es. AB'C). c) D Mapa de cuatm variabb -a- . . 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 ejemplos muestran el uso de1 mapa para simplificar funciones boolearw. . los cuadrados de las cuatro esquinas de un mapa tambih pueden considerarse como adyacentes. Lo mismo se aplica a los cuadrados superior e inferior de una columna. Como multado. excepto por una variable.N A 1 a ~ 1 4 S i m p l i f i d por mapas 4 v C b ) . Por otro lado. el término mínimo 5 en e l mapa de cuatro variables representa un tkrmino & o para cuatro variables. 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. los cuadrados de los exttemos del mismo renglón horizontal pueden también considerarse adyacentes. De acuerdo c m esta definici6n de ser adyacente. que aparec'e compIementada en un cuadrado y sin complementar en e l cuadrado adyacente. Los grupos de cuadrados adyacentes combinados pueden compartir uno o más cuadrados con uno o más grupos.m&igun - W Mapas para funcione de dos. los términos m í n i m o s de cuadrados adyacentes en el mapa son id& adyacentes ticos. El número binario contiene los cuatro Wts O101 y el término correspondiente que reprewnta es A'BC'D. m y cuatro variables. Estos grupos deben contener un número de cuadrados que sea una potencia entera de 2. ios cuadrados que contengan unos se combinan en grupos de cuadrados adyacentes.Mapa de hv & b h y .

t v Los cinco téminos mínimos están marcados con wios en los cuadradcorrespondientes del mapa de tres variables que se muestra en la figura 1 9 . L m cuatro cuadrados en la primera y cuarta columnas son adyacentes y representan el ténnino C'. - figura í-9 Mapa para F(A.5. * A L baww Figura 1 4 Mapa para F ( k B. C)= Z (O. La expresión algebraica simplificada para l a M b n es el OR de los das términ= EL segundo ejemplo simPl%ca'la siguiente función booleam .6). 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'. - r p m** dul . C) = E (3. Esta columna pertenece tanto a B come a C y produce el término BC. I h cuadrados adyacentes se combinan en la tercera columna.4. 4. . C 67). 8. asl que producen el término AC'.En el primer ejemplo simplificaremos la funcibn booleana E i mapa de tres variables para esta funci6n se muestra en la figura 1-8. .Hay cuatm cuadrados marcados can ntuneros &os que produce un 1 para la M b uno. 6 y 7 y se reconde la figura 1 7 @ ) . A i ~ A . cada cual para los términos n . 2. Los cuadrados wtantes marcados con 1 prbme~ ~ L 1 ~ * ~ c . ~ c d l d l i i . Estos cuadradoe pertenecen a los os minimos 3.

D)= C (O.8. tomados como grupo. El prucdmiemto para obtener h exptesión He producto de sumas se sigue.10) m el mapa cubierta por esta función de cuatro variables comiste de las madrados marcados con unos en la figura 1-10.2 6. Lrw h5rminos de productos son tdrmincris con AND y la sumde116ta el 08 de estos términos.9.mínimo 4 cen al término mhhor5 y pueden combinarse con e k cuadrado del término para producir e l ténnino AB'. = C' + a'' El Wrcer ejemplo necesita 'unmapa de cuatro variables.9.SCUdN 1 4 Simpliiicacióri por mapas 15 . de Ias propiedades básicas del AIgebra bmlieafiaiL Los unos del mapa Figura 1-10 Mapa para F(A. Esto ee rpodble porque esto8 cuatro cuadrados m adyiteentes cuando el mapa se consWera con las orillas superior e inferior. La funci6n contiene unoe en las cuatro esquinas que. D)= Z (O. ta funcidn simplificada es -Y ~implif icaci6n de producto de sumas L a s &presiones booleanas derivadas de los mapas en los ejemplos anteriores se expresaron en forma de suma de productos.10). 1 . Con una rnodificacibn menor. t o s dos unos a la izquierda dei renglon supmibr 8e combinan con los dos unos a la izquierda de l a hileta húwiar para que den el t é n i n o B ' C ' .. ta funci6n simpmcada es 9 El 4. izquierdh y de& toedndose. .G. la forma de producto de sumas puede obtenerse de un mapa. P(A. Las sumas son tbrminos O R y el producto denata el'AND de estos términos. P. C. Algunas veces es conveniente obtener f expresibn d@aira' para la función en una forma de producto de suma.& 6. B. 1. El 1 *stanhen el cuadrado del tremitto minitn~ 6s e combina con el término mInimo 2 para dar el término A'CD'. dan el t4rmUio B'D'.C e 4 i 1 r a F = BID' ~ + B'C' + A'CD' .8.

complemento de F ' . como se muestra en el diagrama. obtenemos el complemento de la funcibn. 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. Queremos simplificar l a 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 l o tanto denotan el complemento de F. obtenemos la funci6n complementada simplificada: a4 . t " F' = AB + CD + BD' Toman& el. &tenemos la funci6n simplificada en la hfrna de producto de sumas: 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 i w a 1-12. La mejor m e r a de mostrar mto es con un ejemplo. Si marcamos los cuadrados vacíos con c e m ~ y lo^ combinamos en grupos de cuadrados adyacentes. Los cuadrados no marcados con 1 representan los h r ú n o s mínimos que producen O para la funah. F.representan los t h h o s minios que prcdueen 1 para la funci6n. expresión de suma de productos se implanta en la figura . Tornando el complemento de F ' produce una expresibn para F en la forma de producto de sumas.

Otra vez. La segunda compuerta NOR se dibuja con el sfmbolo @fim de k figura 1-4(b). los dos círculos Pueden quitame y e l diagrama resultante es equivalente al que muestra en la figura 1-12(a). así que no s e incluyen inversores. Hay ocasiones donde no importa s i la funci6n produce un O o un 1 para un M i n o mínimo dado. y el diagrama asi obtenido es equivalmte al que se muestra en la figura 1-12(b). Anhlogamente. La misma funci6n es implantada en la figura 1-220 en la forma de producto de sumas con un grupo de compuertas OR. decimos que no nos importa cuál pueda ser la gatida de la . En cada caso se supone que Ias variables de entrada están directamente disponibles en su complemento. una para cada uno de: ios términos AND. E l 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. Los dos dyulos en la misma lhea designan e l doble complemento. N 6 k e que l a segunda compuerta NAND se dibuja con el símbolo grsfico de la figura 1-5(b}.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 !Figura 1-12 Diagrsmas Id@ F = ( A ' + ~ '(C'+D')V'+D) ) c m compuertas AND y OR 1-12(a) con un grupo de compuertas AND. una expresidn de prcducta de sumas puede implantarse con compuertas NOR como se muestra en l a figura 1-13(b). Una expresión suma de productos puede implantarse con compuertas NAND como se muestra en la figura 1-13(a). una para cada uno de los b4miinos 0R.6n sea igual a 1 o O. h s compuertas OR se conectan a uaa compuerta AND única cuando esun en la forma de producto de sumas. Condiciones "no importai' Los unos y ceros del mapa representan los téminos mínimos que h a m que la funci.Ya que la funci6n puede ~r un O o un 1 . Hay tres Iíneas en e l diagrama con &culos en ambos extremm. Las salidas de las compuertas AND se conectan a las entradas de una compuerta OR iinica. Las salidas de las compuertas OR se conectan a las entradas de una compuerta AND Suiica. y puesto que (x')' = x. h s compuertas AND se conectan a una compuerta OR única cuando están en la forma de la suma de productos. los dos &culos a ambos ladm de cada h e a pueden quitarse.

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.% 6 ) - . puede suponerse que las X sean O 0 1 . Las términos minimae de F se marcan con unos. considerese la simiente funcidn b e a r i a importa": F(A.L X L . B. producen O para la funcibn. C) = (O. enlistados con d prod&en un O o un 1 para la funcibn.. Además. cualquiera que dé la expresibn m á s simple. la X no se necesita s i no contribuye a la simplificaci6n de la funcidn. .--- A- m-&- t é m i n o s mínimos "no importa". El mapa se muestra en la figura 1-14. En cada caso. funci6n para este t4rmino mínimo.- 3 La=-- . la elección depende &lo de la simplifiación que ejemplo. . L L . "cuandose e w o p cuadrados adyacentes para la funcibn en e l mapa.a) Con wmpuertas NAND 1 F 1 -. Los demás tkrmintw mhimos. 4 y 7. No es Figura 1-14 Ejemp10 de mapa eon condicionen "no importam. Estas condiciones "no importanproporcionan una simpljficición adicional de la expresihn algebraica. 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 e l mapa.

las m variables 'W --'--" ~ ldr d e salida b i a s van a un destino externo. -.en comparacibn la expmibn obtenida previamente. . Nótese también que si los -tenminos mínimos "no importa" 1 y 3 no hubiesen sido induidos con los % o s . función se determina completamente una vez que las X se asignan e l mapa a los unos o a los ceros. En la figura 1-15. E n cualquier momento dado. que requiere d o una compuerta AljD (Y) y una compuerta OR (O). Adbqbut8!dtb&P 1-5 Circuitos combinatorios r .a ' nwe'mm incI& bdas a algana de las -.2 y 6 y de los términos &irnos "no importa" 1 y 3. La expresidn simplificada es i 1 0 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. 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. Las n de bloqaw variables de entrada W r i a s vienen de una fuente extema. E l 1 restante para el término mínimo 6 m combina con el término mínimo 2 para obtener el tdrmino BC'. m q u e sf todos 1& m. Lm. representa la funci6n bookana . Un circuito mmbirrato~o transforma la infor- . los valores binarim de las salidas son una combinación binaria de las entradas. diagramu se muestra un diagrama de bloques de un circuito combinatorio. El .2 5 *""*- 'Un circuito combinatorio es un arreglo de compuertas lógicas con un conm .A a a i d - b t a eonsiste de los t4rmintis mínimo9 originales 0. la expresihn Bynplificada para F sido u F c Q n - wL i Y" A'C' + BC' Esto requerida dos compuertas AND y una compuerta OR. Esto se escogi6 así porque esta a s i v i 6 n produce la exgmión booleana más simple.Al los h r i i n o s mhimos "no-importa" 1 y 3 m los unos en el primer renglón obtenemos el término A'. y entre éstas hay una interm-exihn de compuertas lógicas. AsI la expreaibn .Wmho mhimo 5 no se incluye en la M b n . . c m .d u n t o de entradas y salidas.incluir > X. Puesto que los t h n h o s m h h o s 1 .

adlisls El andlisis de un circuito combhatorio comienza con un diagrama de circuito lgico determinado y cuImina con un conjunto de funciones booleanas o una tabla de verdad. . Un circuito combinatorio puede-se tambh con m funciones booleav ~ G . Los circuitos combinatorios se emplean en las computadoras digitaks pata generar decisiones de control bina* y para proporcionar los componentes digitales requeridos para el procesamiento de datos. 4. 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. Se traza el diagrama 16gico. Uii circuito d i n a t o r i o 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.una pot cada variable de salida.las funciones booleanas simplificadas para cada salida. 2 Se asignan símbolos literales (letras) a las variables de entrada y salida. 3. El procedimiento comprende h a siguientes pasos: C 1. diseño El d k d o de &mito&combinatorios parte del planteamiento verbal del problema y termina con iin diagrama de cirruito lbgiro. Si el circuito digitai va 'acompaiiado de una explicacibn verbal de su funQ6n. La tabla de verdad enumera los valores biarios de salida correspondientes a cada una de las 2' combinaciones de entrada. Se obtienen. Estos circuitos sirven como b8sic~ de ~ construcción para ciscuítos a r i t d b s más complicados.M S . las funciones booleanas o la tabla de verdad es suficiente para la verificacibn. Si la funclbn del circuito eskl en hvetigaci6n.h binaria de los datos de entrada dadm a los datos de salida requeridos. L a capacidad para correhcionar una tabla de verdad o un conjunto d 4y A de funciones hleanas con una brea de pmxwniento de infonaci6n es d r a un arte que se adquiere con la experiencia. 5. A - - Para demostrar el M o de h c i m u b combinatorios presentarnos dos ejemplos de circuitos atitm&ticossimples. Se establece e1 problema. Se deriva la tabla de verdad que define la relacidn entre entradas y d a s .m variables de d d a Rgura 1-15 Diagrama de bloque con circuito comb'mbria maci. Cada función de salida se expresa en términos de las n variables de entrada.

' = x ~ i. Uno que ejecuta la suma de tras bits (do6 b i b ~ignificativoo y el acarreo previo) s e llama sumador completo o total. Consiste de tres entradas y dos salidas. Las dos salidas son necesarias porque la isuma aritmética de tres dígitos bhrios fluctilia entre O y 3 y e l 2 o e l3 binario.. necesitan dos dígitos. a menos que ambas entradas sean 1 .ddoiahab&dddc = ~ o . Es necesario especificar dos variables de salida porque la suma de 1 + 1 es el binario 10. menos sign&cativo de la suma. Las dos salidas se designan por los simbolos ' S (por suma) y C (por acarreo). representan los dos bits lid significativos a sumarse. representa el acarreo de la -icibn menos significativa previa. la salida S representa el bit menos significativo de la suma. . que tiene &S ¿@tos. La tabla de verdad para el sumador completo se muestra en Ia tabla 1-2. El nombre anterior proviene del hecho de que s e necesitan dos semk+ufnadorespara implantar un sumadoc completo. Consiste de una compuerta XOR y una compuerta AND. - --- -- Figura 1-36 Semisumador. ia tercera enkada.Los - . La salida C es O. Dos de las variables de entrada. La variable binaria C da el acarreo de salida. Un circuito combinatorio que ejecuta la suma de dos bits s e llama un semisumadar. Lns funciones booleanas para las dos salidas pueden obtenerse directamente de la tabla de verdad: C . & 9 * * t 1 & b& b ~ S = x ' ~ + x ? / . denotadas con x y y. La tabla de verdad para el sernisumador se muestra en la figura 1-16(a). z. 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. Lis variables de entrada de un semisumador se llaman bits sumando y c&umando. 1 A a - El)diagrama lógico se muestra la figura 1 1 6 @ ) . a) Tabla de verdad b)D+m+o . aumaaor compiero io btau El sumador compieto ea m circuito combinatorio que forma la suma aritm& tiea de tres bits de entrada. Las variables de salida se llaman suma y acarreo. L a variable binaria S da el valor del bit .+misumador El circuito aritm6tico digital más simple es el de la suma de dos dígitos binarios.

un a de 3.. Lns cuadrados comunos para la salida C pueden combinarse en una variedad de maneras.. Zios unas en los cuadrados para 10s mapas de S y C se determinan dkedanwnte de los t&nninos mínimos en l a tabla de verdad. ¿Lasalida C tiene. si dos o tres entradas son igwles a 1.mmpieto Entiadas Salidas d - B:d . Una expresi6n posible para C -a C = Ay + (x'y + q ' ) z 6Y Pigun 1-17 Mps para semisumadbr. . Los mapas de la figura 1-17 sirven para encontrar las expresiona algebraicas para las dos variables de salida. Pero ya que la salida es 1 cuando un 4 -----número impar de entradas es 1 .22 c&ITlLO UNO CtmJtos de lógica digital TABLA 1-2 Tabia de wrdad pat.variabIes (véaae lo establecido al final de la s ~ d 6 n 1-21.adyacentes. Los cuadrados con unos para la salida S no e combinan en grupos de cuadrados . la salida S es igual a 1 cuando sblo una entrada es igual a 1 o cuando las tres entradas son iguales a 1. E l valor de ias vafiables $e aaiida s e determina de la suma aritmktiea de los bits de entrada. S es una función impar y representa la Aci6n XOR de las.a sumad~. & o &1' renglones baja las variables de &bada deignan todas las posiñles rrvn 9d I! combinaciones que pueden tener las variables binarias. Cuando todos l o s bits de entrada son 0.

el sumador completo (FA) se designara por un diagrama de bloque como se muestra en la *figura 1-18@). que produce un tren periodico de pulsos de reloj. cimrttos secuedale6 Las elementos de -hacenamiento ernpkadas en los circuitas semenmluj ciales con reloj se llaman flip-flopp. Los circuitos secuenciales stncronos emplean seiiales que afectan las elementos de almacenamiento s610 en instantes discretas de tiempo. Un flipflop es una celda binaria capaz '*. donde las 'salidas para cualquier tiempo dado son enteramente dependientes de las entradas que estén presentes en ese tiempo. ya que raramente maüieptan problemas de inntabilidad y i u LL . 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.temporizaci6n le dexompone f4cihente en pisos dSsmetos independientes. El tipo más común de circuitos secuenciales es el tipo sínmno. La a-d ' circuitos -endales shcronos con reloj son de los que m6s se emplean en la prbctica. Aunque es probable que cada sistema digital tenga un circuito combinatoh. Los circuitos digitales eonsideradus hasta aqyi han sido combinatorios.DhQona cuenta de que x'y + xy' = x @ y o incluyendo la expresi6n para la saiida S. L - .en los rapltulos subdguientes. la mayor parte de los sistemas encontrados en la practica tambidn incluyen elementos de almacenamhto que requieren que e l sistema se describa en t&mhos de circuitos secuenciales. N6tese que el circuito del sumador completo consta de dos semisumadores y una compuerta OR Cuando l o usemos . cada iuio de los cuales puede considerarse separadamente. 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. L a sincronizaci6n I d se logra con Un dispositivo de tiempo llamado generador de pulso de reloj.

Tiene tres entradas. Si tanto S como R son O durante la transicih de d o j .y una para el valor complementario del bit almacenado en 41.Si S = O y R = 1.dependiendo de los retrasos de tiempo internos que ocurran dentro del circuito. la salida Q s e "reinicia" o barra en O. .d Figura 3-19. R (reinicio o borrado) y C (para reloj). Abajo se presentan l o s tipos m k comunes de flipfbps. Si S = 1 y R = O cuando C cambia de O a 1 . Cuando tanto S como R wm Iguak a 1 . la salida es impdecihle y puede ser O o 1. la salida no cambia. Si S = R = O. la salida del circuito no puede cambiar independientemente de cuáles sean J w valores de las entradas S y R. S i no hay un señai en l a entrada de reloj C. para designar una mtrada dimímica. la salida Q se inicia en 1 . Las columnas de S y R dan los valores bimrios de las dos entradas. Hay un pequeiio triángulo enfrente de la letra C . y a veces también tiene una salida compIernentada. una para el valor normal . Si S = 10 y R = 1 cwiido C cambia de O a 1. . almacenar un bit de información. 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. La operaci6n del flip-flop es como si'gue. La tibla característica mostrada en Ia figura 1-190 resume la operacidn del flipflop SR en forma tabular. e l flip-flop va d estado 1 {inicio}. de m ' m Flipflop SR a r z i m# El símbolo grsfico del flipflob SR se muestra en la figura 1-19(a). la que se indica con uh círculo en la otra terminal de salida. Un flipflop mantiene un estado binario hasta que es dirigido por un pulso de reloj para que cambie de estado. 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). -- - . Tiene dos salidas. Q{t $ 1) = Q@]. una transici6n de reloj no produce un cambio de estado Iesto es. La diferencia entre los diversos tipos de fiipflops está en e l número de entradas que posean y la manera en la cual las entradas afeetan el estado Finario.+. 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. Si S = 1 y R = O. . S (de i n i c i o ) . el flipflop va al estado O (rwiicio). mipfiop SR. Tiene una saIida Q .

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.puhs de reloj--do S = R = 1 ya que produce un estado siguiente indekmimdo. pero si D = O. La condici6n "sin cambio" puede llevarse a cabo deshabilitando la seiial de reloj o retroalimentando la salida en Ia entrada.Las entradas J y K se comportan como las entradas S y R para iniciar y reiniciar el fiip-flop. E l fiipfeop SR no debe &ir 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. se usa rara vez en la practica. Cuando las entradas J y K son ambas igual a 1. El simbolo gráfico y la tabla característica del flip-flop D se muestran en la figura 1-20. Aunque el flip-flop D tiene la ventaja de tener sólo una entrada (excluyendo a C). Esta condicih indeterminada hace al flipflop SR diflcü ¿e manejar y por 10 tanto. Nótese que no existe una condicibn de entrada que deje el estado del flip-flop D sin cambio. La entrada D se muestra durante la ocurrencia de una transici6n de reloj de O a 1. 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 r e l o j pasa a través de una transición de O a 1. tiene Ia desventaja de que su tabla caracteristica no tiene una condición Q(f + 1) = Q(t) "sin cambio".De la tabla característica notamos que el siguiente estado Q(t + 1) se determina de la entrada D. respectivamente. de manera que los pulsos de reloj conserven inalterado el estado del flip-flop. una transición de r e l o j alterna las salidas del fliprfl~p a su estado complementario. Q ( t + 1) Limpiar a O Establecer en 1 b) Tabla c n m c t d s t k . Figura 1-20 Flip-flop R. Si D = 1. la salida del flip-flop va al estado O. la salida del flipflop va a1 estado 1.

ei1mte a Ia entrada S (inicio} del flipflop SR. foggle).El fiipfiop T.1) = Q'(t) cuando tanto J como K s o n igual a 1. se obtiene del tipo JK mando las entradas J y K se conectan para proporcionar una entrad'a $ica designada por T. tiene sólo dos condicioms. np-flop T uentra en l* libros de texto es e l fiipflop otro tipo de f l i ~ b p que T (de complemento. Estas condiciones pueden expresarse 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. que se muestra en la f p r a 1-22.La figura 1-21 muestra el simbolo g r á k y la tabla caracterlstica del flipfbp IK. y la entrada K es equivalente a la entrada 8 ( r e i n i c i o ) . . Cuando T = 1 U = K = 1) una transici6n de reloj complementa el estado del flip-flop. Este @p-flop. Figura 1-22 Flipflop T. el flipflop JK tiene una ccmdici6n complementaria Q(t 4. La entrada J es equiv. Cuando T = O (/ = K = 0)una transicibn de reloj no cambii el &tado del flip-ficp.por lo tanto. En lugar de la mndicih indeterminada.

pulsasi.mnegativo .tLansici6n positiva.eI reloj esta en el niwl 1. Cuando el nivel4 d d pulso de entrada excede este nivel de umbral.en el cual la entrada D debe permanecer en un valor constante antes de la transición. en el cual la entrada D no debe cambiar despuCs de la transición positiva. La transieibn de reloj positiva efectiva incluye un tiempo mínimo llamado el tiempo de esfablecimimto. positiva e) Fiiphp D activado por ibnoo positiva de reloj negativa b) F l i p h p D activado por h . üi valor en la entrada D ae transfiere a la salida Q cuando d reloj hace una. del nIoj e l borde. en el nivel O o en una transición del nivel 1 d nivel O. Ls figura 1-23@) muestra d shbolo gr6fm correspondiente y el diagrama de tiempos para un fiip-flop D disparado por el flanco negativo. Esbo denota comportamiento disparado por el borde neptivo. La transicibn positiva efectiva es pcir lo general una f r a d n muy pequeiIa del periodQ total del pulso de reloj. Figura 1-23 Flipflop activado por Flanco. La salida no puede cambiar cuando . E l símbolo gráfico incluye un círculo de negaci6n e~rentede1 indicador dh8&o de La entrada C . y un tiempo definido llamado tiempo. . de retencidn. En &e caso el flip-flop -nde a la t r d b n de Ia señal dd reloj del n i v e l 1 al nivel O. La figura 1-23{al muestfa ia &tal del pulsa ae reloj en un flip-flop D disparado por e l borde positivo. 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). las entradas se -en de manera que el fiip-flop no responde a d i o s adicionales de las wtradas hasta que e l pulso de reloj regresa a O y m pulso. las transiciones de la salida m n a un nivel específim del pulso de reloj. E n este tipo de flip-flop.

TABLA 1-3 Tabla de excitación para cuatro Eiip-flopc *OOP JK Flip-fiop T . Estas entradas son útiles para llevar los fiipflops a un estado inicial antes de su operación cronornetrada. Estas entradas por para iniciar o borrat el fiipflop en forma asincrólo genaal se llaman preinicio (preset) y 'borrar [clear) y dedan al fip-flop en e l nivel negativo de la S-1 de entrada sin necesidad de un pulso de reloj. 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. Este tipo de circuito consta de dos flip-&s.1) y wia columna para cada entrada para mostrar cómo se alcanza la transici6n requerida. 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. 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 .q. Fa tabla 1 3 enlista las tablas de excita& para lm cuatro tipos de flipflop Cada bbia consta de dos oolumnas. La tendenaa es alejarse del uso del fiip-flop mo-esclavo y acercarse a los flipflops disparados por el flanco. Ei mdhdo es que la saiida cambia durante la trmsiciian de la h l del r e l o j de 1 a O.flfpflo~ ~mo*w~lawo *" a Otro tipo de fiipflop que se usa en algunos sistemas es el fiipflop amessclavo. al nivel fiiegativo del re1. i m fiipflops disponibles en c h i t c s integrados proporcionarh a veces terminales de entrada dca. Hay cuatro transiciones posibles del estado presente Q(t) al estado siguiente Q(t + 1 ) . TabIas de excitacibn Las tablas caracteristicas de los flip-Aóps especifican el estado siguiente cuando se conlas entradas y el estado presente. Q(t) y Q(k i.

1-7 Circuitos secuenciales Un circuito secuencid es una interconexión de fiipfiops y compuertas. Puesto que la transición requerida -4 eri cuaiquier caso. Adeds. 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.P Diagrama de blque de un circuito s e d 1 &mono con reioj. puede incluirse cualquier n-ro de flip-flops. La compuertas por si mismas constituyen un circuito mbinatorio. no tiene importancia si la entrada del flipflop es O o 1. 3 1 diagrama de blques de un circuito secuencia1 sincm nizado por el d o j se muestra en la figura 1-24. la transicien del estado p m b de O a l i n estado siguiente de O puede Uevarse a cabo haciendo que h a 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 a t é hrrado). se aplican a las entradas del circuito combinatorio y determinan el comportamiento del cjrcuita. La r a h de las m n d i c i m ' ' n o importa" de las tablas de excitad6n es que h y dos maneras de ilevar a cabo la trmicibn requerida.Las con'diciones de entrada regueridas para cada una de estas transiciones se derivan de la infonnaci6n disponible en las tablas caracteristias. pero cuando se incluyen junto con los flipfiops. el estada siguiente de T o s fipflops es también una funcidn del ~tado presente y de las entradas externa As& un circuito secuencia1 se A Figura 1-2. en un flipflop JK. e]. En ambos m J debe sw O. Consiste en un circuito combinatorio y un niimem de fíipfiops sincronízados por el reloj. E s t e 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. . o ea lo d s conveniente. E l shbolo X en las tablas representa una condicibn "no importa" esto es. las safidas del circuito combinatorio van a las salidas externas y a las entradas de los flipflops. a su vez. Por ejemplo. Las salidas de los fiipflops. el bloque del circuito combinatorio recibe seiíales binarias de las entradas exkmas y de las salidas de los flipflops. circuito completo se clasifica como un circuito secuencial. En general. pera K S O en el primer caao y 1 en el segundo. 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. Como se muestra en el diagrama.

Las compuertas AND. tenemos dos ecuaciones de entrada) daignadas DAy ag. en la figura 1-25.matar el nombre de la variable de la ecuacidn de entrada y un subíndice para designar e l slmbolo escogido para la salida del flipflop. La p m del circuito combinatorio que genera las entradas a los fipflops ~e descrhn por medio de un conjunto de expresiones bmleanas -das ecuaciones de entrada del flipfiop. salidas externas y estados b W o s de los flipflop intemm. ni'm d d ~ E-cuacioneede entrada de los fiip-floppUn ejemplo de un circuito secuencia1 se muestra en la figura 1-25.compuertas OR y el inversor forman la parte I&gicacombinatoria del circuito. Así. La primera letra de cada símbolo denota la I I L t l + q a m -- eeuaddn de entrada . Adoptamos la n o m a de usar eI &bolo de entrada del fipflop para d. Tiene una variable de entrada x. una variable de salida y y dos flipflops D cronometrados. tfts intemonexiones entre las compuertas del circuito eombinatorio pueden especiücam por un conjunto de expresiones bleanas.especifica por una secuencia de tiempos de hs entradas extemas.

en-. rotuladas estado presente. ta tabla consta de cuatro secciones. la transicidn del estado presente al estado siguiente se aetiva por la presencia de una &al de reloj.las eamcions de entrada son funciones booleanas para Ias variables de entrada del flipflop y pueden deducirse por inspeeeidn del circuito. Tanto las salidas como el estado msiguiente mn funciones de las entradas y del estado presente.entrada D de un fiipflop D. L a seccibn de estado estadd peseti k siguiente muestra los estados de los qflip-flaps un periodo de reloj despuk edrido rigrrhte a un tiempo f + 1 . ia tabla de estado paxa el circuito de la figura 1-25 se muestra en la tabla 1-4. Un &mito secuencia1 se espeeifica pw una tabla de estado que relaciona las salidas y i. L a variable con subíndice es d nombm de una variable binaria para la salida de un circuito rombinatorio. los estados siguientes como una funci6n de las entradas y de los estados L u presentes. 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. Tabh de estado El comfiorhmiento de un ciEcuita secuencia1 se detemina por sus entradas. La secci6n del estado presente muestra los estados de los flip-flops A y B en cualquier tiempo t. En circuitos menciales sincronizados por reloj. esfado siguiente y salida. Puesto que la salida de la compuerta OR se conecta a la entrada D del flipflop A. E & salida siempre se coneda a la entrada de un flipflop. 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. h derivacibn de una tabla de e6tado consiste en listar primero todas las combinaciones b i i r i a s posiiles del ahdo presente y las entradas. En ' . ta seccidn de salida da el valor de y para cada estado presente y condición de entcada.La letra del subíndice es el nombre del símbolo del flipfl~p. La sección de entrada da un valor de x para cada estado p m t e posible. 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 e a .una expresibn booleana para un circuito combiitorio. que es una funcidn de la variable de entrada y el estado de los flipflops. s p salidqs y el estado de los fiipfbps.

. 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. h i & . D e manera similar. n variables d e entrada y p . la ecuación de entrada para el sflip-flop 33 es / f Dg = A'x E l 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. lo mal hace que DAsea igual a 1...Salida A Entrada siguiétite' x A B B Y este caso tenemos & combinadones binarias &l QOO al 111.variables de salida conbendrg m columnas para el estado p-te. La ecuación de entrada para e l 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. Por l o tanto. La transición del estado presente al estado siguiente ..TABLA Tabla de atado para el c k d t o de la'figura 1-25 &&do Esbdo . Los valores del estado siguiente se deducen entonces del diagrama lógico o de las eeuacioqes de entrada. n columnas para las entradas. ta columna de +didase deriva de la ecuacibn de salida tabla de fstado La tabh de estado de cualquier circuitu 8ecuenciaI se obtiene por el prmecihimb seguido en <esteejemplo. En generai. Esto ee muestra en l h tabla de estado con tres unas bajo la columna para el estado siguiente de A. m columnas para e 1 estado siguiente y p columnas para las salidas. un circuito aeruencial con m flip-fiops. Las columnas para el mtado preente y las entradas se combinan y bajo btas listamos las 2'- . ocurre despuh de la aplicación de la sefial de reloj.

No hay diferencia entre la tabla de estado y el diagrama de estado. La tabla de estado es mAs fácil de obtenerse de un diagrama lbgico dado. excepto por la manera de presentación. el estado se representa con un circulo y la transicibn entre estados se indica con lineas que conectan b s círculos. .-- b * combinaciones b i n d s de O a 2m" 1. Una línea que conecta a un círculo consigo mismo indica que qo ocurre n b g h cambio de estado. La misma transición de reloj puede cambiar el valor de entrada. El diagrama de estado da una vista gráfica de las transiciones de estado y es la forma adecuada para l a interpretación humana de1 funcionamiento de un circuito. diagrama de etado proporciona la misma infonnacidn que la tabla de estado y se obtiene directamente de la tabla 1-4. - Diagrama de estado diaprna de estado . la salida se vuelve 1. Por ejemplo. En esk tipo de diagrama. Esta infoma&n se obtiene del diagrama de estado a l o largo de las dos líneas que salen del circulo que representa el estado 01. el circuito pasa al estado siguiente 01. EI número binario dentro de cada circulo identifica el estado de les Gp-flops. La uiformaci6n disponiñle en una tabla de estado se puede representar grgficaniente en un diagcama de estado. Por ejemplo. El valor de entrada durante e l estado presente se etiqueta primero y el número que s i p a la diagonal da la salida durante e l estado presente. l a salida permanece en O. la seilida es O. pero si I a entrada se queda en 1. E l diagrama de estado del circuito secuencia1 de la figura 1-25 ae muestra en la figura 1-26. Las líneas de conexión s e rotulan con dos números binarios separados por una diagonal. el diagraFimra 1-26 Diagrama de estado de un circuito eecuendal. Si la entrada cambia a O. h s columnas del estado siguiente y las salidas son funciones . significando que cuando el circuito secuencia1 e s a en el estado presente 00 y la entrada es 1 .El. Despuds de una transici6n de reloj.. y e l diagrama de estado se deduce directamente de la tabla de esfado.del estado presente y de b s valores de entrada y se derivan directamente del circuito o de las ecuaciones booleanas que deal circuita. la iínea que conecta del estado 00 al 01 se rotula l/O.

Si x = O. la salida es O &tras la entrada perma-a en 1 . Figura 1-27 Diagrama de estado para contador bimrio. partiendo del estado M. EI contador bbinario necesita dos flip-flops para representar los dos bits. Este circuito wencial no tiene salidas externas y por lo tanto 6610 el valor de la entrada se etiqueta en el diagrama. el cual causa8que el recuento se repita. 0 1 . . El diagram a de estado se convierte entonces en una tabla de estado. E1 estado del circuito permanece sin s u d o x = O. ~olrtador &ario.1 0 .27. 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. D e la tabla de estado obtenemos la informacibn para conocer el diagrama del circuito 16gico. E 1 diagrama k dibuja para mostrar que los estados del circuito siguen el recuento binario con tal de que x = 1. El procedimiento de disefio consiste en traducir primero las especificaciones del ci~cuito a un diagrama de estado. el estado del circuito permanece sin cambio.m de estado de la figura 1-26 muestra claramente que. E l estado siguiente de 11 es 00. El estado de los flip-flops se cbnsidera como la salida del contador. El diagrama de estado para e l circuito secuencia1 se muestra en la figura 1. Ejemplo de diseño El procabiento para diseñar circuitos secuenciales se demostrará con un ejemplo específico. 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. 11 cuando la entrada externa x sea igual a 1. La entrada x es la variable de control que especifica cuándo debe proceder el recuento. Queremos disehr un circuito secuencia1 sincronizado por reloj que pase a travds de una secuencia de estados binarioe repetidos 00.

W 1 H . Ya que el primer renglhn tambibn muestra una transici6n del flipfiop B de O en e l estado presente a O en el estado siguiente. Asl 1 y X se copian en el segundo renglbn bajo JB y Kg.A Estado acaial üstado Entrada d m t e Enlradas de fipfbp B x A B JA h JB KB . + + TABLA 1-5 Tabla de dtaci6n para mnbdor b a r i o . Este proceso s e cunhtía para cada rengl6n de la tabla y para cada flip-flop. 3 empleamos flip-flops JK. Por ejemplo. en e l 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. rYa tabla de ewrritacidn hemos asignado el simbolo x a la variable de entrada. Ahora asignamos los simbolos A y B a las salidas de los dos flip-flops.. con las condiciones de entrada que se especifican en la tabla 1 3 copiadas en el renglbn apropiado del flipflop particdar que se considera. 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.respectivamente.El segundo renglbn de lajtabla 1-5 muestra una transición para el f i i p fiop B de O en el estado presente a 1 en el estado siguiente.-. Así O y X se copian en el primer rengl6n bajo JA y Kk respectivamente.flop JK especificado en la tabla 1 3 s e usa ahora para obtener la tabla de excitación del circuito secuencial. I.as entradas de asta tabla se obtienen directamente del diagrama de estada. puede transferirse del diagrama de estado a la tabla de estado. La tabla de excitad611del circuito aecuencial ea una extensi6n de la tabla de estado. Las entradas de flip-flop A se designan por JA y KA y del flipflop B p r JB y Kg. necesitarno5 columnas para las entradas J y K de cada flipflop. Esta extensión consta de una lista de excitaciones de entrada de los flipflops que causen las transiciones de estado requeridas.*F@ 9 ~4 . como función del &ado p m t e y de la entrada x. El estado siguiente de A y B. s e copian O y X en la primera hilera bajo JB y Kg. La tabla de exeitaci6n para el flip. Las primeras cinco columnas de la tabla 1-5 constituyen la tabla de estado. 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. Las condiaones de entrada de los flipflops son función del tipo de flip-flop usado.

Nbtese que las'entradas y K deteminan el y una compuerta siguiente estado del contador cuando ocurre la &al de reloj. 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. n columnas para las entradas y m columnas para el estado siguiente. A s í . la tabla de estado consistirá en m columnas para e l -do p-k. Así. Para m flipaops y n entradas. Las salidas del circuito combinatorio se especifican bajo las columnas de "entrada del flip-flop". Procedimiento de disefio E l diseiilo de los circuitos secuenciales sigue el outline descrito en el ejemplo anterior.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. E i comportamiento del circuito se formula primero en un diagrama de estado. 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. Lns partidas que enlistan ias entradas del circuito combinaborio se especEcan bajo h e alumnas de "estado8 presente" y "entrada" en la tabla de excitaci6n. esto es. notamos que las salidas del circuito cqmbinatorio deben ir a ias cuatro entradas Jh Kh JB y &. una S-1 de reloj no tiene efecto. La i n f o m c i h de la tabla de excitación se transfiere a los mapas?de la figura 1-28. Las salidas son las variables Jh Kk JB y &. Además. H n h e r o de entradas para el circuito se especifica a l o largo de las h a s dirigidas entre los círculos. El número de renglones en la tabla ser& hasta de 2"+". las entradas al circuito combinatoriu son la entrada externa x y los valores de estado presente de los fiipflops A y B. un renglh para cada una de las combinaciones binarias del estado . Del diagrama de bloques de la figura 1-24. el estado del flip-flop no cambia. lias entradas son las variables A. 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. cuando x = O. Si tanto J como K son igual a 0.de donde se derivan las cuatro entradas de fiip-flop simplificadas: E i diagrama l&&o se dibuja en la figura 1-29 y mmta de dos flipfhps JK (Y). Asignamos entonces letras para d-ignar todos los flipflops y las variables de entrada y salida. y procedemos a obtener la tabla de estado. pueden obtenerse ahora las funciones booleanas simplificadas para el circuito combinatoria. Sabemos que un circuito secuencial consiste en un número de fiipflops y un circuito combinatorio. B y x.Analicemos ahora i a informach disponible en Ia tabla de excitaci6n como en Ia tabla 1-5.

.m~". .{. . -* I B B m' md X X i:w.- m . 1 Y i x *amy . 1 KB= x Figura 1-28 Mapas para circuita wmbinatorio de y t a d o r .' Y . bu i r i i i m rWm % ' .eau .-í1 JL- J 4->C Q - B B kw Figura 1-29 Diagrama 16gioo de un contador b i i o de 2 bits. Q A a . .

junto con los flip-flops. 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 e l circuito combinatono. El procedimiento para obtener el diagrama Mgico del conjunto de ecuaciones de entrada de los flip-flops es un proceso directo. el circuito combinatorio también puede contener salidas externas. las funciones booleanas para las salidas extemas s e obtienen de la tabla de estado mediante las técnicas del disefío del circuito combinatorio. conlas 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. tas salidas de los flipflops se consideran a menudo como partes de las salidas del circuito secuenciaI.De la información disponible en esta tabla e inspeccionando las transiciones del estado presente al estado siguiente en la tabla de estados. Liste la tabla de verdad de una funcibn XOR (impar) de tres variables: x=A6B@C. Primero dibuje los flip-flops y rotule todas sus entradas y salidas. se m g e e l tipo de fip-flop que vaya a usarse en el circuito.presente y las entradas. a. En seguida. Cada ecuaci6n de entrada de flip-flop especifica un diasama lógico cuya salida debe conectarse a una de k c entradas del flip-nop. El circuito combinatorio obtenida de esta manera. Finalmente. En tal caso. Determine por medio de una tabla de verdad l a validez del teorema de DeMorgompara tres variables: (ABC)' = A' + B ' + C'. La tabla de verdad para la parte del circuito combinatorio del circuito secuencia1 estA disponible en la tabh de excitacidn. 1-1. Un conjunto de maciones de entrada de los flip-flops especifica un circuito secuencid en forma algebraica. A'B + AC + ABC' + ABC . A'BC d. obtenemos la eminf~maci6n para h s condiciones de entrada de los flip-flops en la tabla de excitación. L a tabla de estado se extiende entonces a l a tabla de excitaci6n incluyendo las columnas para cada entrada de cada flipflop. Sin embargo. constituye el circuito secuencial. Entonces dbuje el circuito combinatorio de las expresiones booleanas dadas en las ecuaciones de entrada de los flipflops. 1-2 1-3. Para cada renglón Iistamos el siguiente estado como se espeeifrca por el diagrama de estado. Simplifique las siguientes expresiones usando Algebra holeana. ta tabla de excitacidn para el tipo de flipffop en activo puede encontrarse en la tabla 1-3. AB + AB' c. A +AB b.

c. O ) = (3. ~~undiagrama16gicodela~6n~plificadayeomparedn~~0 total de compuertas con el diagrama de la parte @).t A'D) (AB' + CD') Siguiendo el teorema de DeMorpn. C ) = S ( 0 . F(A.C.B.y.9. F { A . 14 Simplifique las siguientes expresiones usando &lgebra booleana: a.14 1-5.de producto de sumas. b . 2 . Dibuje un diagrama 16gico por medio de la expresi6n booleana original.7) (1. @) compuwtas NOR. Dibuje el diagrama lbgiw con (a) compuerh ANDOR.5. AB + A(CD CD') b.6.6. F(A.10.11.2. . 4 . (A + B)'(A' + 8')' = O b .3.10. Muestre que F F' = 1 . a.3. Simplifique la expmsi6n al@raia mediante el hlgebra booleaila. F(A. 3 .15) 1-12. C.D)=~(O.7) d.8.7. x'z' + y'z' yz' + xy b .z) = (3.13.15) Simplifique la~sigui&ntes exprwiones en (1) forma de suma de productos y en @) £0. y. F(x. 2 + + F(A. AC' B'D 1.1.A'CD + ABCD Simplifique las siguientes funciones booleanas en h n n a de suma de productos por medio de un mapa de cuatro variables. C . Dada la funci6n booleana F = xy'z + x'y'z + xy a W t e la tabla de verdad para la W n .z) = 2 (0. B. B. C.C.8. s .7. D)= (0.5. F(x.11.4.6. Simplifique las siguientes funciones booleanas en l a forma de producto de sumas por medio de un mapa de cuatro variables.7) b .14.2.D) = 2 (0. variables.15) d. D I = 2 (4. Simplifique las siguientes funciones h l e a n a s mediante mapas de tres e.7. B .2.11. z) = 19. 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- + m + 1-6.6. a. B .y. b.15) b. @) compuertas NANX).5. F(A.2. 6 ) Simplifique las siguientes funciones bleanas por medio de mapas de cuatro variables. 1-11. A + A'B + A'B' = 1 Dada Ia expresibn booleana F = x'y + ryz': a Obtenga una expresión algebraica para el complemento F.5. Dibuje el diagrama lógico con (a) compuertas OR-AND. (BC' .4. M u e s b que F F' = 0.13. C. e. 2 1-10. F(x. muestre que: a.1& 15) e.1.7.

00. Muestre que un flip'flop JK puede eonve~rsea un flip-flop D con un inversor entre las entradaa 1y K.z) = 2 (2. Usando la informaci6n de la tabla característica del flip-fiop JK enlistada en la figura 1-21(b). 1-19. 11 y m ua d m fepetici6n. =rfB +xA . M DA = x f l l + X A i ) l s (B. Las ecuaciones de entrada de los flip-flops y la salida del circuito son como sigue: S . . el estado de los fiip-flops no cambia. 1-14. Una función de mayoría se genera en un circuito combinatorio cuando la d i d a es igual a 1si las variables timen más unos que ceros. dos entradas: x y y.6 o 7 la salida binaria es uno menos que la entrada. y y r y las tres salidas A. oidm-db-~&dcmdosBipflopsJK:AyB. m 1-20. 1-17. el s l circuito pasa a havh de transicion.esde W a 11 s 10 a 01 y de vuelta a 00. DiseAe un circuito combinatorio con tres entradas x.y.5.ydosentrridas:E -m m y X.11. 1-16.6n. Este e~ un circuito secuencia1 con dos flipflop y una enhada x.3. el circuito permanece en el mismo estado a de1 valor de x. muestre que S puede expresarse como el XOR de tres variables de enbada. el circuito pasa a havk de transiciones de estado de M1a 01 a 10 a 11 y de vuelta a 00. Cuando la entrada binaria sea 4. L e n & de estado es 11. D M í e un cantador d-dente de-dosbits.3 4 &A F(w. Luego. Tabule l a tabla de estadm. B y C. De otra manera la salida es O.7. Un circuito secuencial tiene dos flip-flop D: A y E.M 1-15. t i T .I-n.x. Según la tabla 1-2.14.a ---- .4. Cuando E = I y x = O. Cuando a = 1. y repeticián.M . deduzca la expresi6nh l e a n a para la salida S (suma) de un sumador completo en forma de suma de productos.5. y una salida z. Cuando x = O. por una operacibn algebraica. Si E = O. 1 1-18.15) 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. deduzca la tabla de exdtaa6n para el flipflop JKy compare su respuesta con la tabla 1-3. . Q # d l i k @ > C * i Y am -iH z=B a. Cuando E = 1 y x = 1 .y W -epetiC. Diseñe una funY6n de mayorfa con tres entradas. Dibuje el diagrama ldgico del circuito. 10. t ! . 01.6. b .

. NJ: htice Hall.. Digitnl Design Principlec and P r a c t b . G. DigitaI h i g n .Referencias 41 1 .FundamtaIc oJ Lo@ Design.. F. Foresman. 5. Ward. R S.CmnpuiutOon Sttuctures. S. lntroduetim fo Logic Design. F . NJ: Prentice Hall. MN: West Publishing. J. Intrwluction to Switdring Tkory nnd Logical D e s i . S. 1990. C. Nueva Y o k MeGraw-Hill. 2. 1985. .. Eriglewood Cliffs. . Cambridge. terma edici6n.H. Nueva York: JohnWiley. y G. Paul. St. Glenview. 1991. Englewood Cliffs. k Scoft. Roth. H. Shiva. Petermn... 1990.M. tercera edid6n. 1 m . Haistead. Hiii.. 1981. Sandige. 7. Jr. y R. s e p d a edici6n. 1 9 8 8 . 4 . Wakerly. hilano. 3. M. A . Mdm Digifef Decign. MA: M T h . J. R. 6 .

liamado m ~ ~ ' t que o contiene . Las diversas compuertas se conectan dentro del microcircuito para formar los circuitos requeridos. Conforme la tecnología de Ios circuitos inwgrados va mejorando.EN ESTE cAP~TULO 2-1 2-2 2-3 C k c u h integrados 24 2-5 2-6 Deeodificadores ~ulfíplexores Registros de eorfifFliento Cmtadores binarios Unidad de memoria R e & - 2-7 2-1 Circuitos integrados Los circuitos digittaies se construyen con cikuitos integrados. Cada CI tiene una designad611numérica i m p m en la superficie del paquete. La diferenciación entre los micmcircuitos que tienen ' m a s cuanlas compuertas internas y aquellm que tienen cientos o . i m componentes electrónicos para las compuertas digitdes. E i 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. el número de compuertas que pueden fabricarae en un solo rnicrocircuito ha aumentado consideqablemente. El microcircuito ce monta en un encapsulado de cerhica o de pldstico y las conexiones se sueMan con finos alambres de o r o . 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 integrados que fabrica.a terminales externas para formar el circuito integrado. Un circuito intqpdo (abreviado C I ) es un pequefio cristal de silicio semiconductor. para su identificaci6n.

el número de compuertas es de tenninales dispo&les en el menor que ID y <se circuito integkddo. La tecnoIogía de circuitos se conoce como fumilia Idgim digital.my-largesale intepfion) contienen miles de compuertas en un sol^ encapsulado. Suelen ejecutar funciones digitales elementales q d c a s como ocurre con los d e codificadores. NOR o NOT. Por l o p e r a l . - . los sumadores y los registros. Estos inciuyen sistemas digitales. Las siguientes son las m á s populares. l o s dispositivos VLSI han revolucionado la tecnología del diseno para s i s e mas de computadora. b s dispositivos de infsgracidtt m e#& peque% (SSI. scala d i a n a (MSI.da para d i i t i v o s de ECL MOS. LQS componwites eleck6nicos que se emplean en la rmtmcei6n dd circuito b4sico sirven de o d h a d o para ciar nombre a l tecnologia: Muchas familias 16gicas diferentes de h i t o s integrados ' s e han introducido comercialmente. la fmüh ECL tiene ventajas en sistemas que . E l circuito básico de cada tecnología es una compuerta NAND. sino también por la tecnologfa de circuitos a la que pertere cen. mediana y gran e s c h . small-scale infegratiarr) contienen distintas compuertas independientes en un solo encapsulado.m ' SSI - f' MSZ y l % -: inte@aci6n a pequeña. medium-sale los dispositivo integra&#) timen de 10 a 200 compuertas en un solo encapsulado. circuitos de memoria y m6dd~s programables.. . TTL miles de dhs se ham con una ~ e f e f m h pwstablh. Las entraelas y salidas de las compuertas se conectan directamente a las terminales $el encapsulado. Metal 6xido semiconductor metáiico Metal &ido hiemiconductor complementario k h M P -d *. y la familia CMOS es preferible en sistemas que r6qfiikren bajo consuma de e n e . Cada familia lógica tiene su d i o circuito eleckóriico bdsico sobre e l que se dXseÍían circuitos dietales y funciones m8s complejas. la familia MOC es apropiada para circuitos que necesitan una alta densidad de componenb. large-sude infegratim) contienen entre 200 y unos cuantos d e s de compuertas en un solo encapsulado. tos circuitos integrados digitales se clasifican no &lo por su funcionamiento I6gic0. Los dispositivüs de integracm m escala gran& (LSI. dando a los diseiiadores l a capacidad de crear estructuras que no eran tan econhicas anteriormente.m- LB' requieren fumb~mientode aIta velocidad. Los dispositivos de integra& m escala muy grande (VLSI. Los ejempl? son las matrices de memoria grande6 y los circuitcs integrados para mici~~omputadma complejos.A La familia lógica 'iTL ai l a m b popular y Sr funcionado muchos a y se considera como norma. Debido a su pequeiío W o y su baja costo. CMOS Ldgica de transistor 'transistor Aioml ' a BI Ldgica de emisor acoplado k d . como procesadores.

Al MOS de canal p se le conoce como PMOS y al de canal n como NMOS. 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. La familia ihgica de emisor acoplado (ECL) proporciona los h i t o s dital. El voltaje de la fuente de alimentaci6n para los circuitos 'ITL es de 5 v o l t i o syT o s dos niveles I6ghs maproximadamente de O y 3.Hay divems variaciones de la familia además de la T T L ~~tándar. Para entender la organizaci6n y el diseino de las computadoras digitales.de más alta v e l d d en forma integrada. Un d i g o binario de n bits es capaz de . la TTL Schottky. l a TTL Schotkky de baja potencia. Los transistores de Ias compuertas ECL funcionan en un estado no saturado. como electrones (canal n) o huecos (canal p). Posteriormente los didos fueron =plaza& por hnsistors para mejorar el funhmdento del c h i t o . Por sus muehas ventajas. "1-a de di&transiskir". la TTL de baja potencia. NMOS es el que se usa c o m h e n t e en circuitos con un solo tipo de transistor M . Fstos componenb proporcionan un cat41ogo de unidades funcionales. Las ventajas más importantes de Ios CMOS sobre los bipolares son la alta densidad de integrad611de los circuitos. E1 trar. Esto estA en contraste con el transistor bipolar de las compuertas TTL y ECL. o sea. 2-2 Decodif icadores Las cantidades discretas de informaci6n se representan en las computadoras digitales con chdigm b i r i o s . ta ECL se aplica en sistemas como supercomputadoras y procesadores de seiiales donde es esencial la alta velocidad. y la TT L Schorcky a v m & i . Por esta razbn. la compuerta básica NAND. condicibn que p d f e alcanzar retrasos de propagau611de 1 a 2 nanosegmdos.Esta tecnología se llamaba IiTL (diodetransistor logic). p r l o que el nombre de la familia Idgica se cambi6 a '1ágica transistor-tmnsistoi'. como la TTL de alta velocidad. donde ambos portadores existen durante el funcionamiento normal.5 voltios.ECL La familia 1 a tran~istor-transistor (7TL}fue una evulucibn de una bmmlogía previa con base en diodos y transistores para. los circuitos integrados sirven exclusivamente para proporcionar los diversos componentes digitales necesarios en el diseiio de los sistemas de computadora. los componentes mas basicos se introducen en este capitulo con una explicación de sus propiedades 16gicas. digitales y elementales empleadas comúnmente como bloques básicos de construcci6n en el diseño de computadoras digíWes.sistor metal dxido semiconductor (MOS) es unipolar ya que depende del flujo de un solo tipo de portador.encontra& en los circuitos integrados. ta tecnologia del MOC complementario (CM06) tiene transistores PMOS y NMOC conectados de modo complementario en todos los circuitos. es muy importante familiarizarse con 1 m diversos componen.

. los tres inversores proporcionan el comple mento de h e entradas y cada una de las ocho compuwtas AND. Un decodificador tiene n entradas y m salidas y tambi& se le denomina un dedifiador de n X m. LAS variables de entrada representan un número binario. Las k s entradas de datos Aw Al y A2 se d e ~ o d ~ c a en n ocho saiiddas.Su pmpósitii es generar 2' (o menos) cumbinaciones binarha de las n variabIes deentrada. y las saiidas. los &O digitos del sistema numhrico octal. genera una de las combinaciones binads. Sin embargo. m Componentes ditales repmxnhr hasta 2 ' elementos distintos de informaci6n codificada.46: -. h decodificadores p~esentadmen esta secci6n se llaman d d i f i c a do= de n a m heas. uii decodifimder de 3 a 8 líneas puede decdificar cuaIquier e6digo de 3 bits para proporcionar ocho salidas. 'enlas lque cada una repmsgta una de las combinaciones de las tres variables binarias de entrada. En la figura 2. donde m 5 T. . el decodificador puede tener menas de 2' salidas. Un d e c e 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 2 F salidas únicas Si la informaci6n codificada en n bits tiene combinaciones de bits no usada. una para cada combinaci6n A e l código binano . Una aplicari6n particular de este d d i f i c a do? & la conwrsidn de binario a mbl.1 se muestra el diagrama 16gim de un d d i i c a d o r de 3 a 8 líneas.

entrada de habititacfiín Las decodificadores comerciales inc1uyen una o m2is entradas de habilitaci6n para controlar el funcionamiento del circuito. Uabifitaaón . El ddificador se habilita o activa cuando E B igual a O. . ningu- . . . el decdicador funciona en forma normal. El funcionamiento del decodificador puede aclararse por medio de la tabla de verdad listada en la tabla 2-1. En la figura 2-2 se muestra un decodificador de 2 a 4 líneas con una entrada de habilitación construida con compuertas UAND. ' AN'D. Cuando el circuito se desactiva. Las X de la tabla designan las condiciones "no importatt. El decodificador de la figura 2-1 tiene una entrada de habilitacihn. .-. 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. todas las salidas son iguales a 0.El circuito funciona con salidas complementadas y una entrada de habiiitacibn E complementada. las otras tres saIidas son iguales a 1.se construyen con compuertas NAND en lugar de * - _. Ya que una compuerta NAND produce la operad611 AND con una salida invertida. hay siete salidas que s o n igual a O y &lo una igual a 1. . In salida cuyo valor es igual a O representa el niimero binario equivalente en las entradas Al y A& E 1 circuito se desactiva cuando E es igual a 1.- . resulta más económico generar las salidas del decodificador en su forma complementada.. Cuando la entrada de habilitad611E es igud a O. Como se indica en la tabla de verdad. (8 .. Fmtradas Salidas ! ? A v Decodificador de compuerta NAND I A l p o s decodificadores.. E. - -1 . Cuando la entrada de habilitaci6n es igual a 1. a pesar de los valores de las otras tres entradas de datos. Para cada c o m b i c i h de entradas p i b I e . a pesar de las valores de las otras dos entradas.. TABLA 2-1 Tabla de verdad para el d d i f i c e d o r 3 a 8 líneas . E i dedficador se activa o se habilita cuando E es i d a 1 y s e desactiva cuando E es igual a O. d o una salida es igual a O en cualquier momento.

b) Tabla de verdad Figura 2-2 Decodicador de 2 a 4 heas mcompuertas NAND. Dos demdificadores de 2 a 4 líneas se combinan para Iograr un decodificador de 3 a 8 heas. el decodiicador se deshabilita y todas sus salidas atdn en d nivel 0 . el decodificador inferior se habilita y el s u se d&abilita. el deeodicador superior se habilita y e l inferior se desactiva. Expansión del decodificador Hay ocasiones en que se necesita un decodificador de cierto tamaño. Cuando E es @ a i aO . pero d o están disponibles los más pequeiios. Las salidas del decodificador inferior se vuelven inactivas con todas las salidas en O. ~d . Las salidas del decodificador superior generan las salidas de la Doa la Dy dependiendo de los valores de Al y A. Cuando Ap = 1. La entrada de habilitaci6n puede activarse can un nivel de señal O o con 1. Cuando esto ocurre es posible combinar dos o más decodificadores con entradas de habilitaci6n para formar un decodificador mayor. La figura 2-3 muestra cómo los decodificadores con entradas de habilitacibn pueden conectarse para formar un decodificador mayor. Se supone que cada dmdificador se habilita cuando su entrada E es igual a 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. Los dos bits menos significativos se conectan a ambos decodificadores. Así. La salida del dedíñcador inferior genera los equivalentes birios D4al D7. l3n general un decodificador puede funcionar con salidas complementadas o s i n complementar. si se necesita un decodificador de 6 a 64 heas. es posible construirlo con cuatro decodificadores de 4 a 16 líneas. na de las salidas se selecciona y todas las salidas son iguales a 1 . Cuando A2 = O. (cuandoAa = O). 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. ya que estos números binarios tienen un 1 en la posición AZ.

h salida es A. T i e n e ocho erttradas. Estas condiciones pueden expresarse por las siguientes funciones booleanas: e m i s r& ~ . El codificado? puede implantarse con compuertas O R (O) cuyas entradas s e determinan directamente de l a tabla de verdad.. .= A. pero con m6s entradas y salidas.+ D64-D. i D.3 Demdificador 3 X 8 construido con dos d d f h d o 2~X da E l ejemplo demuestra la utilidad de i a entrada de habilitaci6n de los decodificadares o de cualquier otro componente lógico combinatario. * El edificador puede implantarse con tFes compuertas OK.+ D. Codificadores Un codlficador es un c h i t o &@tal que ejecuta Ia operacidn inversa de un demdificador.= D. una para cada digito &al. Las heas de salida gmeran un c6digo binario correspondiente al valor de entrada binario.Figura 2. cuya tabla de verdad se da en la tabla 2-2. Las entradas de habilitación w n una caracterlstica práctica para intemnedar dos o m8s circuitos con el propósito de ampiiar e l componente digital para una funci6n similar. D.+ D. Condiciones similares se aplican las otras dos salidas. Un ejemplo de un codificador es e l eodificador de octal a binario.+ D. = 1 ' el dfgito oml de entrada es 1 o 3 o 5 o 7. el circuito no tiene significado. 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 . Un codificador tiene 2" (o menos) heas de entrada y n Iheas de salida.r e A.

Un muitiplexor de 4 a 1 h e a s se muestra en la figura 2-4. 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. considere el caso cuando S1S2 = 1 0 . La selecci6n de una línea de datos de entrada particular para la salida s e determina por un conjunto de entradas de &ccidn. EI multiplemr de 4 a 1 líneas de figura 2 4 tiene seis entradas y una salida. Cada una de las cuatro entradas de datos de Io a 1% se aplica a una entrada de la compuerta AND. Las otras tres compuerbs AND (Y) tienen por lo -08 una entrada igual a O.TABLA 2-2 Tabla de d a d paia codificador oetai a bmario Entradas Salidas n7 D e D s D 4 4 D z Di Do A 2 Ai AO muitipkor Un multiplexor es un circuito combinatorio 'que recibe informaci6n binaria de una de 2" líneas de da. Esta es una tabla excesivamente larga y no se mostrará aquf. Las salidas de las compuertas AND. Una manera más practica de describir el funcionamiento de los multiplexores es por . Las dos entradas de selmi6n SIy So se decodifican para seleccionar una compuerta AND particular. Para demostrar e l funcionamiento de1 circuito. La salida de la compuerta OR (O) es ahora igual al valor de proporcionando asl un camino desde la entrada seleccionada a h salida. ya que seis variables de entrada pueden tener Z6 combinaciones binarias. La compuerta AND (Y) asociada con la entrada I2 tiene dos de sus entradas iguales a 1 . lo que hace sus salidas iguales a O. La tercera entrada de la compuerta se conecta m 1. se aplican a una compuerta QR única para proporcionar la salida iinica.de entrada y la dirige a una h a de saiida Cinica. U n a tabla de verdad que describa al circuito necesitará 64 renglon~.

En general.Figura 2-4 selector Be datos A@&* dm medio de wia tabla de funci6n. La tabla de funcibn para el multiplexor se muestra en la tabh 2-3. 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. Las comptiertas AND y las inversoras del multiplexor semejan un circuito demdificador. ya que selecciona una de muchas entradas de datos y conduce la infomci6n binaria a Ia salida. BT multiplexor tambih se llama selector de datos. la entrada Il tiene un camino a la salida Y.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. Esto Unplica que tambih contiene n Iííeas de =lección de entrada. y en verdad d d i f i c a n las iheas de seleccibn de entrada. y de modo similar para las otras dos combinaciones. h abreviatura comrin del multiplexor es MUX 4 -- Multiplexor 4 a 1 Uneas 1 *L VFIIA -4 - TABLA 2-3 Tabla de fumbnes para multiplexor 4 a 1 lfneas L . la salida Y es igual a la entrada Ion Cuando las entradas de se1ecci6n son iguales a 01.A SeIeccibn S1 Salida so Y .

la unidad se habilita cuand&E = 1. Las d d a s tienen tcdas cero a F cuando E = O. 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. las salidas se deshabilitan. 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. q ~ n * ~ i L . el &cama de bloques de un multiplexor cu4dniple de 2 a 1 heas se muestra en la figura 2 5 . Como una ilustracidn. a pesar de los valores de S.i . si S = 1. Por otro lado. las cuatro entradas B se aplican a las salidas. La entrada de habilitadbn E debe estar activa para el funcionamiento normaL A pesar de que el circuito contiene cuatro multiplexofes. Entonces.7 b) Tabla de functwies . El circuito tiene cuatro multiple xores. . Como s e muestra en la tabla de funci613. La salida Yo puede seleccionarse para que venga de las entradas A. y cuando está en el estado activo. la salida Y.- --- -- . cada uno capaz de seleccionar una de dos beas de entrada. las cuatro mtradas A tienen camino para las cuatro salidas. el circuito funciona como un nli m 3 4 h R* 4- multiplaor nomial. Cuando la entrada de habiilitaci6n está en el estado inactivo. los multiplexores pueden tener una entrada de habilitacihn para controlar el funcionamiento de l a unidad. puede tener el valor de Al o Bu y así sucesivamente. o BI De modo simjiar. ~ ~ * ~ < d l m a ~ p Figura 2 4 Multiplexom Mit8druples 2 a 1 líneas. Las entradas de seleccidn y de habilitación en una conatruccibn de unidades múltiples suelen ser comunes a todos los multiplexores. En algunos casos dos o mis multiplexores se encuentran en un solo circuito integrado. tambikn podemos pensar en 61 como en un circuito que selecciona una de dos h e a s de datos de 4 bits. si S = O.Así como sucede en los decodificadom.

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. donde cada flip-flop es capaz de .Un registro es un grupo de fip-flops. En su definici6n más amplia. sin compuertas m x k m a s . La figura 2 4 muestca tal registro construido con cuatro flip-flops *e ---D. un registro puede tener compuertas combinatorias &que ejecuten ciertas tareas de prwaamiento de datos.Amacenar un bit de informaci6n. Divmw tipos de registros están disponible6 en el comercio. . ia entrada c o m h 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 2 6 Registro de 4 bits. 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..flops. l l r d-Además de los fiip. El registro más simple es aquel que a compone sólo de flip-flops.

ta entrada de carga en el registro determina la accih que va a tomarse con cada pulso de reloj. la conexibn de retroalimentacibn de ia salida a la entrada es necesaria porque los flip-fiops D no tienen una eondici6n "sin cambio". Se requiere m e n o s 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."la entrada para borrar debe m t e nerse en 1 Iógco durante la operaci6n sincronizada por reloj normal. En la figura 2-7. La transferencia m t d a de carga . la entrada D determina el estado siguiente de la salida. es necesario hacer la entrada D igual al valor presente de su salida. Las cuatro salidas pueden mostrarse en cualquier momento para obtener la informaci6n binaria alrnaeenada en e l registro.Una sefía1 de control separada se debe usar para decidir qug pulso de reloj especifico tendrá un e k t o en un registro particdar. 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. los datos en las cuatro entradas se transfieren a1 registro con la siguiente transieihn ~ i t i v a del pulso de reloj. todos los flipfiops se borran en forma ashcrona. Para dejar la salida sin cambio. Los pulsos de reloj se aplican a todos los Bap-flops y los re@troa del sistema. decimos que l a carga se hizo en paralelo. Cuando la entrada de carga es 1. La transferencia de nueva inhmacl6n a un registro se llama carga del regkfro. las entradas de datos se i n h r ' b e n y las entradas D de 10s flip-flops se conectan a sus salidas. Cuando la entrada de carga es O . 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. en paralelo. tas entradas C r e c i h pulsos de reloj en todo momenh. 1 La entrada para borrar es útil para borrar e1 registro a ceros antes del funcionamiento sinmaizado por reloj. Nótese que los pulsos de reloj se aplican a las entradas C todo d tiempo. Con cada pulso de reloj. Nótese que la sefia1 de reloj habilita (activa) la entrada D pero la entrada borrar es independiente del reloj. L a entrada de carga determina si el pulso siguiente aceptar& h nueva infomaci6n o dejará la informaci6n en el registro intacta. La entrada para borrar va a una terminal especial en cada flipflop. Una k'ansiel6n de rebj aplicada a las entradas C del registro de la figura 2-4 cargar4 las cuatro entradas de 1. Si t d o s los bits del registro ae cargan simultAneamente con una transici6n de pulsa de d o j común.m miga di? registro s e transfieren al registro de 4 bits. La compuerta de acoplamiento en la entrada de reloj reduce el requisito de potencia del generador de reloj. a 1. Cuando esta entrada va a O. En esta confguradón el reloj debe -se en el h i t o s i el contenido del registro debe pmanecer sin cambio. El reloj amo actria como una bomba que suministra pulsos constantes a todas las partes del sistema.

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. de información de las entradas a los registros se hace simul&eamente con los cuatro bits durante una finita transicidn de pulso. con .¿ 13 M o f Figura 2-7 Registro de 4 bib con carga paralela. La configuracidn 16gica de un registro de corrimiento consta de una cadena de flip-flops en cascada.

La m W swiaI determina qu4 va en la posición de la extrema izquierda durante el corrimiento. t la salida de un flipflop conectada a la entrada del siguiente flip-flop. 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. S i n embargo. como se muestra en la figura 2-8. 1 . con cuando menos alguna opexacibn de co&ento. Esto puede hacerse inhibiendo el reloj de la entrada del registro si no -queremos el corrimiento. El reloj es común a todos los flip-flops. 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. El registro de corrimiento mas geheral tiene todas las capacidades litadas abajo. La calida w r k l se toma de la salida del fiipflop de la extrema derecha. 3. Una entrada para pulsos de reloj para sincronizar todas las operaciones. i u i -D Q-r. operacidn de corrimiento a la derecha y un linea de entrada serial asociada con el corrimiento a la derecha. Cada flipflop recibe pulsos de r e l o j comunes que inician e l desplazamiento de una etapa a la siguiente. Cuando se usa e1 regism de corrkni~to de la figura 2-8. E l registro de corrimiento más simple posible es aquel que usa s61o flip-flops.entrada sedal . A veces es necesario controlar el corrimiento para que ocurra en ciertos pulsos de reloj pero no en otros. Una operacidn de corrimiento a la izquierda y una línea de entrada serial asociada con el corrimiento a la izquierda. 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 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. 2 Una. e e-D $ QC -> > C -> C -> Salida serial 4 ~ M**q$m Reloj = - . Otros pueden tener algunas de stas capacidades. La salida de un fiip-flop dado se conecta a la entrada D del flip-flop que esta a su derecha. i L 2 -' c.

la informacidn binaria de cada entrada lo a la I3 se bansfiere al correspondiente f i p . Esta condici6n forma una trayectoria de la salida de cada flip-flop a la entrada del mismo flip-fiop. 2. 1 . Un registro de corrimiento bidireccional de 4 bits con carga paralela se muestra en la figura 2-9. Esto causa una operacidn de corrimiento a la derecha.4. Cuando SISo= 1 0 . 6. se selecciona la entrada de datos O de cada multipfexor. N6tese que según la manera en que se dibuja el diagrama. supongase que ea necesario transmitir una cantidad de n bits entre dos puntos. Las dos entradas de selección S1 y So ~eleccionanuna de las entradas de datos del multiplexor para el flip-flop D. Cuando el modo de control SISO= 00. n keas de salida en paralelo. Cuando SISO = 01.f l ~resultando . resulta una operaci6n de corrimiento a la izquierda. La siguiente trmicibn de reloj transfiere a cada flip-fiop el valor b h r b que conteda previamente. Un estado de control que deje la informacibn en d registro sin cambio aun cuando los pulsos de reloj se apliquen continuamente.ias líneas de selemi611 controlan el modo de operacibn del registro de acuerdo con la tabla de M 6 n que se muestra en la tabla 2-4. transfiriéndose los datos de la entrada serial al fiipfiop A. Si la distancia enhe la fuente y el destina es muy grande. Cada etapa consta de un flipflop D y un multiplexar de 4 x 1. y no o c m un cambio de estado. mientras que la operacidn de corrimiento a la izquierda causa que el contenido del registro se desplace en l a direcci6n -.3. 2. en una operaci6n de carga en paralelo. 5. la terminal marcada con un 1 en cada multiplexor tiene una trayectoria a l a entrada D del correspondiente fiip-flop. Una opera& de carga en paralelo y n h e a s de entrada asociadas con la transferencia en paralelo. m Los registros de corrimiento se utilizan comúnmente para la interfaz de sistemas digitales situados remotamente unos de otros. ascmdente. la operaci6n de corrimiento a la derecha desplaza los contenidos del registro en la dirección descendente. Por ejemplo. resultará TABLA 2 4 Tabla de funciom para los registros de la figura 2 9 Control de modo O O O 1 O 1 1 1 S i n cambio Desp+zamiento ñ la derecha {abajo) Desplazamiento a la izquierda (arriba) Carga paralela . 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 . y e l contenido de cada flipfiop Al transfiriéndose al flip-flop Ai para i = 1. Cuando SISO= 11.

r . w .~ mbces e I dato desde la &ea de salida 'acep'bard datO en f m a serial en e l registro de desplazaI d.. E l miento a trav&d& su:Iínea de entrad.* -. tra&&tir n bits en paralelo.m usar n 1 para.. serial. . Puede ser más .í.tansmite . r n 4 ~u o h una d d h e a . E k a n s m b r carga %el dato de n bits en paralelo en un x~bp(ymc do e m i m h t ~ .costo .. Cuando la totaiidad de los n -.y transmitir la informaci6n en forma serial un bit cada vez.

E l diseño de 10s contadores binarios puede llwarse a cabo por el procedimiento esbozado en la secci6n 1-7 para los circuitos secuenciales.1. 2-6 Contadores binarios A un registro que al aplicarse pulsos de entrada pasa a trav6 de una m e n c i a de estados predeterminada SE l e llama contador. tos p u h s de entrada pueden ser pulsos de d'oj o pueden originarse de una fuente externa. (c) complemaitando el bit de tercer orden porque los primeros dos bits de O111 son unos. 0011.unos. Por ejemplo. 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. U n contador que sigue la secuencia de niuneros binarios se llama contador binario. como 0000.bits se acumula pueden tomarse de las salidas del registro . notamos que el bit de menor orden se complementa despuds de cada cuenta y todos los demas bits se complementan de una cuenta a la siguiente s i y s6Io si los bíts de menor orden son iguales a 1. 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. y así. y (d) compIementando el bit de cuarto orden porque los tres primeros bits de O111 son todos .Lis entradas C de todos los flip-flops reciben el . Además. Así. M301. De las diversas secuencias que puede seguir un contador. el contador puede controlarse con una entrada de habiiitación que pi ia o apague al contador s i n quitar la sehl de reioj de los flip-flops. 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. la cuenta binaria de O111 (7)a 1000 (8) se obtiene (a) complementando el bit de menor orden. 0010. Los contadores binarios shcronos tienen un pamn regular. Pueden ocurrir a intervalos regulares o akatoriamente. Pasando a través de una secuencia de números binarios. Un contador binario 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. como pue'de verse en l a figura 2-10. de O a T . sucesivamente. Un circuito 'contador empleará usualmente flip-flops con capacidades complementarias. La salida de un flip-flop no cambia si J = K = O. @) complementando el bit de segundo orden porque e l primer bit de O111 es 1 . Los contadores se encuentran en casi todos 10s equipos que contengan 16gica digital. 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. Tanto los fiip-flops T como JK tienen esta propiedad. la secuencia binaría directa ks ia más simple y Ia más directa.enparalelo.

La cadena de compuertas AND (Y)generan la 16gica requerida reloj comiin. se complementa cuando su contador se habilita y d reloj pasa a través de una transici6n positiva. La primera etapa A. - y K se mantienen en O y la salida del contador no cambia.Relol Figura 2-10 Contador binario sincrono de 4 bits. 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. Si la habilitacibn de contea es 0. todas las entradas .

Si las entradas de carga y de borrado son ambas O y la entrada de incremento es 1. tos datos de entrada se cargan en los flipflops =do la entrada de control de drga es igual a 1. TABLA 2-5 Tabla de fuiiciones para el regktm de Ia figura 2-11 - - p p Rdoj Limpieza Carp O O O O O Incremento O Opwaciún - ? 7 ? i - 1 x 1 x x Sin cambio Incremento de cuenta en 1 Entradas de carga lo a 13 Limpieza de salidas a O incremento Los contadores con carga en paralelo son muy ÚtiIes en el d i s e ñ o de computadoras digitales. el contenido de un registro pude incremhtarse en uno. i a entrada de incremento controla la operaci6n del contador y las salidas cambian a la siguiente cuenta bharia para cada tradcibn positiva del r e l o j . cuando es igud a 1 . El control de carga de entrada. El acarreo de salida sirve para extender el contador mis etapas. el circuito funciona como un contador binario. 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). borrando así todos los flipflops con la siguiente transicibn de reloj. Con ias entradas de borrad?. .E i registra se borra a O sin que el control de borrado considere los valores de las entradas de carga e incremento.para las entradas 1 y K. teniendo cada etapa un flip-flop adicional y una compuerta a 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. con tal de que el borrado se deshabilite. La operación de inmmmfo suma uno a l contenido de un registro. Si las entradas de borrado y carga se mantienen en O 16gie0. Habilitando la entrada de condurante un periodo de reloj. Cuando es igual a 1 la entrada de borrado lleva todas las entradas K a 1 .puede borrarse a ceros en-sincroníacon e l reloj. B1 funcionamiento del circuito se resume en la tabla 2-5. aun cuando se apliquen pulsos a las terminales C . las salidas no cambian. En capítulos subsiguientes nos referimos a ellos como registros con operaciones de carga e incremento. pero la entrada de incremento puede ser O o 1 . carga e incremento todas en O.

.

b memoria almacena infomacibn binaria en grupos de bits que se denominan palabras. las celdas de la memoria pueden accesame para la transferencia de informacih en cualquier p i c i d n aleatoria deseada. K es igual a 2 1 ° . hasta 2' . La comunicaci6n entre una memoria y su ambiente se logra mediante iíneas de entrada y salida de datos. uno o mds caracteres #Y . Una palabra de memoria es un grupo de números 1 y O que puede representar un número. seleccionan una palabra particular. que comienza en cero y continúa con 1 . Memoria de acceso aleatorio En la memoria de acceso aleatorio (RAM). M (mega) o G (giga). & tadora~utiiizan palabras cuyo número de bits es un múItiplo de 8. A cada palabra en la memoria se le asigna un número de identificacibn. llamado una direccibn. Un p p o de ocho bits se denomina byte. 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. La capacidad de las memarias en las computadora~ comerciaIes por lo general se define como la cantidad totaI de bytes que pueden almacenarse. por l o tanto. sin importar la ubicaci6n física de las celdas en la memoria: de ahí el nombre de "acceso aleatorio". 64 K es igual a Z16. Las memorias de las computadora~ pueden tener desde 1024 palabras.malfanuméricos o cualquier otra infomci6n en ddigo binario.1 donde k es la cantidad de líneas de dirección. Un decodificador dentro de la memoria acepta esta diraibn y abre las trayectorias necesarias para seleccionar los bits de la pahbra lespecificada. una palabra de 16 bits contiene dos bytes. donde se hecesitan 32 bits de direccionamiento. Una palabra en la memoria es una entidad de bits que se introducen o sacan de1 almacenamiento como una unidad. y una palabra de 32 bit5 está fomada de cuatro bytes. 2M es igual a 221y 4G: es igual a 232. 2. Se utilizan dos tipos principales de memoria en los sistemas de computadoras: memoria de acceso aleatorio RAM (random-access memory).SECU~N 2-7 Unidad de memoria 6Q 2-7 Unidad de memoria W 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. llamadas Uneas de direccionamiento. Se acostumbra denominar la cantidad de palabras (o bytes) de una memoria can una letra K (kilo). Unas h e a s especiales de entrada. al aplicar la T direccibn binaria de k bits a las iíneas de direcci6n. M es igual a 2m y G es igual a y. y memoria de s61o lectura ROM cread-only memory). Esto es. un código de imtrucci6r1. 3.por l o tanto. l o cual requiere una direcci6n de 10 bits. líneas de selecci6n de dirección y lheas . hasta Z 3 ' palabras. La mayor parte de las memorias de las compu. Se seI'ecciona una palabra específica en la memoria. el proceso de ubicar una palabra en la memoria es igual y requiere la misma cantidad de tiempo.

Aplicar la direccibn binaria de la palabra deseada a las Uneas de direccionamiento. l o s circuitos internos de la memoria proporcionan la funcibn deseada. 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 n b e r o binario de k bits que ~peeifica una palabra particular elegida entre las palabras disponibles dentro de la memoria. ~ ' . la efial de escritura especifica una operacibn de transferenda de entrada. Activar la entrada de . Un diagrama de bloque de una unidad RAM se muestra en la figura 2-12. iriiw La unidad de memoria tomarZi los bits que se e n & & & disponibles en las heas de datos de entrada y los almacenarA en la palabra que especifica las l í í s de direccionamiento. Aplicar la direccibn binaria de la palabra deseada a las líneas de dirercionamiento.* ti 1 deent~ada ae datos k Uneas de d l w m Esnitula Unidad de memoria de 2k prilabras y H bits por pdabra ii I ~ de salida B de datas t .! t J ~ ~ 3 . ! . Las dos entradas de control especifican la direcci6n de transferencia que se desea.escritura. Los pasos que deben seguirse para que una nueva palabra se almacene en la memoria son los siguientes: 1. A. Los pasos que deben realizarse para sacar una palabra almacenada en la memoria son los siguientes 1. Las dos operadmes que puede ejecutar una memoria de acceso aleatorio son la lectura y la escritura. Activar la entrada lechrra. . Al aceptar una de estas señales de control. Las n h e a s de entrada de datos proporcionan l a infonnaci6n que se va a almacenar en la memoria. Y la &al de lectura e6pedica una opexacibn de transferencia de salida.a C M ~ O Componentes digitales operaciones tik lecturaY de control que especifican la dirección de la transferencia. Aplicar los bits de los datos que deben almacenarse en la memoria a las lheas de entrada de datos. 2 . Figura 2-12 Diagrama de bloque de memoria de acceso aleaborio (RAM).

La informacibn binaria que s e va a almacenar. que se pueden programar para una configuración especifica. y líneas de salida. -k líneas de entrada de direcdbn ROM i n x 71 (m= Zk} ri líneas de ~alida de datos . la cual es especificada por el diseñador. Memoria de s6l0 lectura Como su nombre l o indica. Corno se muestra en el diagrama de bloque de la figura 2-13. 1 - La unidad de memoria tomarA los bits de la palabra que ha seleccio- -. porque . Las unidades de s61o Iectura vienen con fusibles electrónicos internos es-les.en cualquier momento las líneas de salida proporcionan en forma autorpátjca los n ROM =' lis d . La ROM no necesita una h a de control de lectura.. Una ROM m x n es un arreglo de celdas binarias organizadas en m palabras de n bits cada una. En tanto una RAM es un dispositivo de propdsito general cuyo contenido puede alterarse durante e1 proeeso computacional. Lb i ' l i -" Figura 2-13 Diagrama de b i o q u & % m O e &o ledura.SKC~N 2 7 Unidad de memoria 65 M m. m? integra en la unidad para formar el patrbn de interconexi6n requerido.m -d. una para cada bit de la palabra. una ROM está limitada a leer palabras que están ahcenadas de manera permanente dentro de la unidad. permanece dentro de la unidad. Una vez que s e estabiece el pakón. 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. 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. no tiene la posibilidad de escritura. una ROM tiene k h e a s de entrada de direcci6n para seleccionar una de zk = m palabras de memoria.mi& la W ó n y. El cankmida de la palabra seleccionada no cambiará después de que se lea. aun cuando la corriente se apague y se encienda de nuevo. d . una memoria de sólo lectura (ROM) es una unidad de memoria que sólo ejecuta la operacibn de lectura.lds aplicará en las h a s de salida de datos.

llamada memoria de sólo lectura programble o PROM. Un fusible fundido define un estado O binario y un fusible intacto da un PROM . Una unidad de control que utiliza una ROM para almacenar información de control binario se llama una unidad de control rnicroprogramada. Como tal. Cuando se emplea en un sistema de computadora como una unidad de memoria. Las ROM tienen un amplio campo de aplicaciones en el diiño de sistemas digitales. Cuando se hace un pedrdo con estas condiciones. de acuerdo con la tabla de verdad del cliente.hace la mascarilla correspondiente. 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. De manera basica. Una ROM también se emplea en el diseño de unidades de control para computadoras digitales. 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 ROM genera una relación entradasalida especificada por una tabla de verdad. la programacibn por mascarilla s61o es econ6mka s i 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. puede complementar cualquier circuito combinacional con k entradas y n salidas. La primera. El procedimiento para fabricar una ROM requiere que el cliente llene la tabla de verdad que desea que satisfaga la ROM. una ROM se construye en forma interna con decodificadores y un conjunto de compuertas OR No hay necesidad de proporcionar posibilidades de almacenamiento como en una RAM porque los vaIores de las bits en la ROM = qan de m e r a permanente. 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. se realiza por la compafiía que produce el semiconductor durante la parte final del proceso de fabricación de h unidad. Los fusibles de las PROM se funden al aplicar pulsos de corriente por Ias terminales de salida de cada direcci6n. Por esta radn. 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. programacidn por mascnrilla.bits de la palabra seleccionada par el valor de direcci6n. Tipos de ROM tos programas o datos que se requieren en una ROM pueden programarse de tres diferentes maneras. 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. Este tema se analiia con mayor detalle en el capitulo 7. De hecho. la ROM se utiliza para almacenar prsgramas f i j o s que no van a alterarse y para tabhs de constantes que no estan sujetas a cambia. Como tal. con el fin de producir un grupo de unos y ceros. El fabricante.

b) mmpwrhs O R d u s i v a s de dos enbadas. Cuando una EPROM s e coloca bajo una luz ultravioleta especial durante un cierto periodo. Los siguientes son circuitos integrados de tipo l T L que proporcionan tales funciones. con carga paralela y borrado sincrono. g) flipflops JK con reloj. C. . aunque se utilice la palabra programar. L m TI'L S I vienen sobre todo en encapsulados de Ude 14 terminales. eI patr6n que se fija es permanente y no puede alterarse. Un tercer tipo de ROM disponible se llama PROM bombk (erasable PROM o EPROM). ccri borrado ashmno. En el comercio hay disponibles instrumentos especiales llamados programadmes de PROM para facilitar este prmeso. cu6drupla. estado 2 1 . L. Rcgisko de desplazamiento bidireceiona!. En cualquier caso. a. Esto permite que los usuarios de las PROM obtengan en sus propios Iabomtorios la relaci6n dewada entre direcri~nesde W a y @abras almacenadas. Utilice diagramas de bloque similares a la figura 2-3. Contador binario de 4 bias t i p ~ C i 74163. Se reservan 2 termínales para alimmtaci6n y las otras 2 terminales se utilizan para terminales de entrada y salida.EEPROM 1 binario. c) compwaas O R de tres entradas. El procedimiento de hardware para programar las ROM y las PROM es irreversible y. multiplexom.de 2 a 1 b e a s de tipo CI 7457. d. si contiene los siguientes t i p de cimiik m a) inversores. M i f i e a d o r e s de 2 a 4 líneas de tipo C I 74155 duales. con cuatro decodificadores de 3 a 8 líneas. tas EPROM pueden reestructurarse hasta su valor inicial aunque antes se hayan fundido sus fusibles. Una vez que se ha establecido un patr6n de bits. f) compuerhs NAND de d o entradas. con carga paralela. b . Estas se llaman PROM borrables eléctriuznzente (eiectricdly erasubfe PROM o EEPROM). Ciertas PROM pueden borrarse con señales eléctricas en lugar de luz ultravioleta. las EPROM regresan a su estado inicial y pueden reprogramarse con un nuevo conjunto de palabras. una vez programado.CI MSl realizan fundmes digitales básí~s como d d X c a d o r s . Despu€s de borrarse. todos l o s pmesos para programar PROM son de hardware.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. con habilitacidn y un ddificador de 2 a 4 lineas. ~CuBntos circuitos se incluyen en un encapsulado de esas características. de 4 bits t i pC I 74194. la unidad debe desecharse s i se va a cambiar e¡ patr6n de bits. ? 2-3* Construya un dacodificador de 5 a 32 líneas. Multip1wres. d) compuertas AND de cuatro entradas. 4 s t r o s y contadores. e) eompuertas NQR de cinco entradas. la radiacibn de onda corta descarga las compuertas internas que sirven como fusibles.

¿Cual es la funci6n de la compuerta de acoplamiento en la entrada de reloj del regis@ de -lafigura 2-71 2-11. b) 0011111111F . Modifique el d d i f i c a d w de la figura 2-2 para que el circuito se active 2-5. d i o con compuertas NOR. ¿Cuál es l a 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 4. Utilice d i a g m a s de bloque para los tres multiplexares. Explique la operaci6n del registro mdicado.de reloj de un generador. 2-10. Dibuje el d2agrama de control de unos multiplexores duales de 4 a 1 llneas y explique su aperaci6n mediante una tabla de funciones. Enliste la secuencia de estados de las cuatro fipflops después de cada d~plazamiento comenzando en un estado de 1000. a. 2-16. Dibuje un diagrama de bloque de CI que muestre todas las entradas y salidas.¿CuM es el contenido de registro dspu& de cada desplamniento? 2-33. Construya un rnultip1exor"de16 a 1 líneas can das multiplexors de 8 a 1 7 líneas y uno de 2 a 1 Jfneas. El registro de desplazamienta bidireccionai de cuatro bits eon carga paralela que se m m k a en la figura 2-9 se incluye en un encapsuladoCI. Dibuje un diagrama de blque utilizando 2 C I para producir un registro de desplazamiento bidirecclonal de d o bits w n carga paralda. Dibuje e l 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 Does igual a M Establezca un p d i m i e n t o que distinga estos dos casos. 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. El registro se desplaza seis veces a la derecha con una entradaserial que es de 101101. senalec.Dibuje el diagrama lbgico de un derodikador de 2 a 4 líneas.Incluya una enhda de habilitación. Incluya dos terminales para proporcionar alimentaci6n. 2-12. b.La otra entrada de la compuerta AND proporciona un control de carga paralela. El contenido de un registro de cuatro bits a a1 principio 1101. Una\ enhada de la cornpub AND recibe los pul. Un cantador de anillo es un registro de desplazamientocomo el de la figura 2-8 con la salida serial conectada a la entrada serial. Incluya una opci6n de un borrado sincrono en el registro con carga paralela de la figura 2-7. 2-15. ~Cudntosfiipflops se complementarán en un contador binario de 10 bits para' alcanzar la siguiente cuenta despues de: a) 1001100111. 2-14. Haga una tabla de verdad difirada. cuando E = 1 y s e dmctive 'cuando E = 0.

Roth. Englewwd Cliffs. Nueva York: McGraw Hill. Mano. G. 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. 2-20. 2-19. H .A. y G. J. Digital Design Principia md Practices.M.ed. NJ:Prentice Hau. Las siguientes unidades de memoria son especificadas mediante la cantidad de palabras por e l n h e m de b i t s por palabra. Wakerly. cuántos CI de memoria de 128 X 8 se nemsitan para proporcionar una capacidad de memoria de 4096 X 141 Dado un CI de ROM de 32 x 8 con una entrada de habilitación. Carnbridge. Utilice un diagrama de blque para cada contador de cuatro bits. y R. 2-21.Uodern Digital Bsign. S t Paul. 2 . . 3a. 4. Fumhmkil of Logic D e s e .2-17. por qmplo. 2-18.R. Especifique la cantidad de bytes que pueden aimaccnarse en las memorias que se enlistan en e l problema 2-19. MN:West Publishing. Ward. 7. M . NJ: Prentice Hall. muestre las conexiones externas necesarias para construir una ROM de 128 X 8 con cuatro C I y un decodificador. 1988. Engle-wmd Cliffs. Shiva. b) 64K X 8. lnlroductim to Switching Thwry and Loglcal Decip. C. MA:MiT Preas. Dkital D e s i . Hill. Muestxe las conexiones entre cuatro contadores binzwios $e cuatro b i t s wn carga paralela (figura 2-11) para producir un contador b i i o de 16 bits con carga paralela. Una ROM de 4096 X 8 bits tiene dos entradas de habilitacibn y opera con una alimentaci6n de 5 volts. 2. Glenview. Muestre de manera especifica el circuito para un contador que divida entre 10 u t i h d o e l contador de la figura 2-11 y una compuerta AND externa. S . S.. 1 9 9 1 . . 6. ~Cu61itas terminales se necesitan para e l encapsulado del circuito integrado? Dibuje un diagrama de bloque y asigne un nombre a todas las terminales de cntrada y salida en la ROM. Jr. 2-23.S . F ..J. . H.3a. c) 16M X 32. Sandige. 8: Scott.. ed. Foresman. .. 5 .ed. Nueva York JohnWiley. 2-22. 3. 1990. 1990. 2981. Peterson. 1985. un contador que cuente de 0000 a N y de regmo a MXW]. R. .d) 4G X 64. . ~Cuintas líneas de direccionamiento y b a s de datos entrada-salida se necesitan en cada caso? a) 2K X 16. Halstead.Computatimr Struclwra. F. tnfroduction to L q i c Desip. 1990. 1.

se r e p m t a n en los registros de la computadora en forma de c6digo binario. En las computadoras digitales la informaci6n binaria se almacena en la memoria o en los registros del pmsador. 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. En este capitulo presentamos los tipos de. 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. excepto los números binarios. Lios datos son n h e ros y otra infannaci6n en &digo biriario sobre los que se realizan operaciones para conseguir los resultados computacionales requeridos. y 3) otros símbolos discretos que se utilizan con pr~phitos específicos. 2) letras del alfabeto que se utilizan en el procesamiento de datos. Los registros contienen datos o infomaci6n de control. Todos los tipos de datos. Esto es porque los registros están formados de .EN ESTE CAP~TULO 3-1 3-2 Tipos de datos Complementos Representaci6n con punto fijo Reprwntaci6n con punto flotante Mnw códigos binarim Códigos de detmci6n de error 3-3 3-4 3-5 36 3-1 Tipos de datos . Los tipos de datos que se encuentran en los registros de las computadoras digitales pueden clasificarse en algunas de lás siguientes categorías: 1) númem que se utilizan en cai1culcs aritméticos.

4 en notación mtal se convierte a decimal como sigue: . 1. Las n b e r o s se representan con una serie de símbolos de digito. los s i s m s octaI (raíz 8) y k u d e c i m ~ (tah f 16) son -importantes en el trabajo de las computadora~digitalk Loo ocho simbolos del sistema &tal son 0. 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. decimal Sistemas numéricosi Un sistema numérico de h e . 6. La serk de dígitos 724. es la forma que se ha adoptado. esto es. 7. más 2 decenas. 6 y 7. 3. Un númem de base r puede cónveal sistema decimal w n el que estamos farrdiiarizados al obtener la suma de los digitos ponderados de acuerdo a su posicihn. El sistema numgrico bimrio utiliaa la base 2 . ' > . Por ejemplo. Las.E . o rak r. La interpretacián de la serie de digitos 101101 que representa la cantidad octaf hexadecimal Para apreciar la diferencia entre números de base diferente. Sin embargo. 1 . C. F corresponden a los números decimales 10. 11. C. en especial el sistema. E y F. 7 centena8. D . 8 y 9. B.4. m5s 4 unidades. m á s 5 dkimm. 2 3. tos diez símbolos son 0. los últimas seis símbolos son idénticos a las letras de1 alfabeto y en ocasiones pueden causar ' conlusibn. 14.decJmalm u e . es un sistema que utiliza diferentes simbolos para los digibos r. 2. En foma similar cada nihne~o decimal puede interpretarse para encontrar la cantidad que representa. respec'hvamente. 9. 1. B.utiliq para realizar cálnilos aritmCticos. 5. 13. 8. e1 sistema de números decimales que se usa en forma cotidiana emplea el sistema de base lo. 4. 12. 15.736. 4.16 shbotos del sisiema hexadecimal sbn O. El sistema de nilimeros binarios es el sistema más-na#d para utilizar en una computadora digital. Por eiem~lo.. Para determinar la cantidad que representa el niunero es necesario multiplicar cada dígito por u n a potencia entera de r y despub formar l a suma de todos los dfgitos ponderados.flip-flops y Ios flipflops son dispositivos de-dos estados que pueden almacenar solamente grupos de números 1 y O. 7. Pero en ocasiones es conveniente emplear diferentes sistemas numéricos. 5. Desafortunadamente. los bimboXos A. Los dos símbolos de dígito que se utilizan son O y 1. los digitos se encerrarh entre paré&ds y la ba6e del nfimero se insertará cbma subíndice. Cuando se acostumbra representar digitos hexadecimales. 5. 6. A.se . D . 3. Por ejemplo.5 se interpreta para representar la cantidad . 2.

La parte entera se convierte al dividir 41 entre r = 2 y obtener un cociente entero de u] y un residuo de 1. Esto se repite hasta que la parte fraccional es O o hasta que el número de digitos obtenido da una apmximaci6n conveniente. La W r a 3-1 muestra estos prdimientos. 5 ) i o E l 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.0000 (4lllO ~(10IM1l2 E0. La nueva fraccidn (sin el entero) se multiplica de nuwo por 2 para obtener un nuwo entero y una nueva fraccibn. F m d h = 0.6875 2 0. las dos partes se combinan para proporcionar l a conversi6n total requerida. 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.6875 en binario se realiza al se paca^ el ntimero en su parte entera 41 y su parte fracdonal .6875)10 = (101001-1011)* .1 01 1)2 (41.6875 Eniero = 4 1 1 0 5 o 2 1 1 O o 1 mi o 0. 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 .óB75. üe nuwo eI cociente s e divide entre 2 para obtener un nuwo d e n t e y un residuo.6875.5000 x 2 1. Los coeficientes de b s 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.7200 x 2 m x 2 1. ia conversibe del decimal 41. = (0. b Por dItimo. Este proceso se repite hasta que d cociente enteni sea O.6875). La parte fracciona1 se cpnvierte al multiplicarla par r = 2 para obtener un entero y una fracción. ta conversión de una fracci6n decimal a una reprsentación de base r se consigue niediante multipliciciones sucesivas por r y la acurnulacidn de los dígitos enteros que se obtienen. se tealiza separando e l n h e r o en sus partes enteras y fra&les y convirtiendo cada una de ellas por separado. Figura 3-1 Conwrsi6n del d&cima141.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 = ( 4 7 8 . a binario.

Comenzando con el bit de orden inferior. consideremos un registro 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. L a conversi611de binario a hexadecimal es similar. octal y hexadecimal juegan una parte importante en las computadoras digitales. i a tabla 3-2 lista unos cuantos nCimeros hexadecimales y su representaci6n en registros en forma de c6digo binaria. Como =8y 9 = 16.74 ~ h u L . el número binario almacenado en el registro es el equivalente del número decimal W99. Despuh. A cada digito octaI se le asigna un c6digo de 3 bits. según se muestra en la figura 3-2.Como un número binario está formado por series de números 1 y O. A cada grupo de tres bits se le asigna su equivalehte a octal y se coloca en la parte superior de1 registro. Supongamos que la configuracih de bit que se almacena en el registro es como la que se muestra en la figura 3-2. el registro de 1 6 bib puede utilizarse para almacmar cualquier nlmeiro binario de O a 2 1 6. octal y hmradecimal. . el &digo binario se obtiene al asignar a cada digito hexade Figura 3-2 Conversi6n a bimrio. 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. En el ejemplo particular que se muestra. forma un grupo). La serie de digitos hexadecimales que se obtiene representa el equivalente hexadecimal del número Enario. dividimos el registro en grupos de tres bits cada uno (el decirnosexto bit. cada digito octal corresponde a tres dígitos biarios y cada digita hexadechal corresponde a cuatro dígitos binarios. 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. excepto que los bits se dividen en grupos de cuatro. I a tabla 3-1 representa una lista de unos cuantos números actales y su representacidn en registros en forma de ddigo Liario. wgdn 1 0 especifican las entradas de los primeros ocho dígitos en la tabla. Por qemplo. TRES 0 Rep-taQh de datos NUMeros octales y hexadecimales Las conversiones desde y hacia representaciones binaria. e l 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. La serie de dígitos octales que se obtiene representa el equivalente octal del número binario. El código binario se obtiene mediante el procedimiento que s e expiic6.1 . El digito hexadecimal que corresponde a cada grupo de cuatro bits se escribe debajo el registro. Aquí. D e igual manera. 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. por sí solo.

Por ejemplo. Al comparar los números wtales y hexadecimales codificados en b i i rio con su equivalente en número binario. 1 Númwos &tales codificados m biiario Niimera a t a 1 codificado &uivalente octal m i binario decimal O 1 2 3 4' 5 000 001 010 011 o 1 2 3 Cbdigo para un d igilo octal T 1 0 0 101 110 4 5 6 7 111 6 7 1 cima1 el código de cuatro bits que se lista en LIS primeras 16 entradas de la tabla. el número binario 1111 1111 1111 tiene 12 digitos.& N s i Tipos de datos 75 TABLA 3 . encontramos que la combinacihn de bits en las tres representaciones es exactamente la misma. El equivalente wtal en código binario de 99 decimal es 001 100 011 ye l hexadecimal en código binariu del 99 decimal es O110 0011.binarios ser6 necesaria una larga serie de digitos binarios. Es mbs convenienk especificar el co~itcnido de dos registros por su equivaleiik =tal o hexadechal. Para especificar e l contenido de registros rn&ante sus valo. Si dejamos de considerar los ceros a la izquierda cn estas tres representaciones binarias.se conviertev en binario da como resultado 1100011. Esto debe ser así por la conversidn directa que existe entre 10s nSimeras binarios y los =tales o hexadwhales. Los registros en una computadora digital coiitienen muchos bits. Puede expresarse en número octal como 7777 . 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). Por ejemplo. La cantidad de &gitm se reduce a un tercio de b i t s en la deii0minaci6n octal y en un cuarto en la den0minaci6n hmcadeciml. i m importank de tudo esto es que una serie de números 1 y O almacenados en un registro puede representar un número binario. el n h e r o 99 decimal cuartdur. encontramos que Ia combinaci611 de sus bits es idgntica.

b s númews decimales.TABLA 3-2Nhermhexadecimales codificada en binario 5 6 7 8 9 10 C6digo para iin dígito hexadecimal (cuatro dlgitos) o en h w d b a l como FFF (tres dlgitos). por lo pneral. se introducen a la computadora como caracte xes alfanum6rims en código binarh. pueden contener de seis a ocho hits para cada dígito decimal. Lw manuales de computadora siempre seleccionan la dcnominacidn octol o hexadecimal para -pacificar e i contenido de l o s mgistros. Una manera de ame giar este conflicto es convertir en números biniirios todos los números decimales de entrada. S i n embargo. 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. permitir que la computadora efectúe todas las operaciones aritméticas en binario y después convierta b s resultados binarios a decimales para que el usuario los comprenda. Cuando los números decimales se usan para cálculos aritmkticos internos se convierten en códigos binarios con cuatro bita por dlgito. de los que se hablad m á s tarde. . Estas códigos. también es posible que la computadora realice operaciones aritmeticas directamente con números decimales siempre y cuando estén en forma codificada.

pero cuando se representa en BCD. Por ejemplo. En ocasiones se usan otros c6didos decimales. 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. 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 m 1 D O 1 0 Código para iin digito decimal I . donde a cada elemento se le asigna una de las siguientes combinaciones de bits 00. 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. Un conjunto de d i o elementos requiere un código de 3 bits. Pueden obtenerse muchos c6digos diferates al arreglar cuatro bits en 10 combinaciones distintas.cbdip binario Un código bhario es un grupo de n bits que adopta hasta 2" combinaciones distintas de números 1 y O y donde cada combinación representa un elemento del conjunto que se codifica.lO u 1 1 . cuando se convierte ahniímero bharioi el número decimal 99 se representa con la serie de bits 1100013. Por ejemplo. un conjunto de cuatro elementos puede representarse mediante un código de 2 bits. pero seis de sus combinaciones no se asignarh. Este c6digo particular se llama decimal codificado en binario (binary-coded decimal) y por 10 general se representa con su abreviatura BCD. y unos cuantos de ellos se muestran en la secci6n 3. Los 20 &@toa decimahs constituyen un conjunto de esa naturaleza.5. se vuelve 1001 1001. un conjunto de 16 elementos requiere un código de 4 bits y así sucesivamente. Un código binario que distingue entre 10 eIement08 debe contener d menos cuatro bib.3. 01. Es muy importante comprender la diferencia entre la conversi611 de números decimales biiarios y la cud@uci6ir biilarin de ndmeros decimales.

ASCII 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. Es necesario comprender que las cddigos binarios $610 cambian los slmbolos.. . los digitos decimales y unos cuantos caracteres especiales se listan en la tabla 3-4. es probable que se descubra que representa cierto tipo de informacibn cudificada en lugar de un iiúmero binario. tos códigos binarios desempeñan un papel importante en las operaciones de las computadoras digitales. . ' . Un conjunto de camcteres a!fianuméricos es un conjunto de elementos que induye 106 10 dfgitos decimales. Los cádigos binarios para las letras mayúsculas. como las notas musicales y las piezas de ajedrez en sus posiciones sobre un tablero. En la tabh 3. l 3te capítulo -se reláciona con la representaci6ii de <os datos. 3-2 Complementos Los complementos se utilizan eii las computadorns digitales para especificar h operaci6n de resta y para Ia manipulacióii 16gica. Lis operaciones especificadas para computadoras digitaks deben considerar cl significado de los bits ahacenados en el reghtro para que las oyeracioiies se efectúen en operadores del mismo tipo.En el primer caso. el número por si mismo es igual. Pueden formularse a discreción c6digos binarios para cualquier conjunto de elementos. 0010. El código binario alfaiiumdrico estAndar es el ASCII (American Standard Code for Informa tibn Iiiterchange). como $ .9 y los simbblos BCD 0001. . e = . Al realizar una inspmi6n aleatoria de los bits de un registro de computadora. e l c6digo binario necesitar4 seis bits y en el &gunda caso. siete bits. 011. Una lista completa de los caracteres ACCTT se proporciona en la tabla 11-1. Los códigos de instrucciones se analizan en el capitulo 5. Los códigos binsrios tambien se usan para formular instrucciones que especifican iiiformación de control para la computadora. Obserw que lós dlgitos decimales en ASCTI pueden convertirse a BCD al quikar los tres bits de orden superior. 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). 0. . tos cddigos deben estar en binario porque los registros s61o pueden contener informaci61i binaria.. las 26 letras del alfabeto y cierta cantidad de caracteres especiales. no el significado de cuaIquier elemento que representen. 1001 estA en los símbolos que se utilizan para representar los dfgitos. +.78 m m RepresentBcih de datos representa por los sirnbolos de dígitos con b s que estamos familiarizadm. Existen dos tipos de . 1 . el cual utiliza siete bits para codificar 128 caracteres.2 .3 se Listan unos cuantos n h e m s decimales y su representaci6n en BCD.

Cuando e1 valor de h base r se sustituye en e l nombre. lO" rep-ta un número que está formado por un 1 único seguido de n ame.1 = 9999 En coiisecuencia el complemrriito a nnQrneros 9 de un número decimal x obtiene al restar cada digito de 9. .w - Complementos 79 TABLA 3-4 Código est$ndar norteqericanq para intercambiode informaci6n (ACCII) Código Carácter binano Cariicter Cddigo 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 complem t o a (r l ) .1 e un nnCunerri r e p m t a d o por n nueva Por e+nplo. Ahora.elcwn~btoa(r-1)&N se dehe como (r" .1) . Por ejemplo. - colnplenfettto a 9 El wmplemento (r -1) Woun~Nenbsserque~ndfgibos.1) .N.Para los n h a m dezimak r = 10 y r .1 = 9. por Io que el comphehto a n ú w m 9 de N es (10" . 10" . con n = 4 tenemos lo4 = 1000 y le .N. los dos tipos se denominan complemento a 2 y a 1 para los números binarios ye l complemento a números 10 y a 9 para los niuneros decimales.

546700 corpiplemmto a 10 complemmto a 2 Complemento a (r) El complemento a r de un nifmero N de n digitos en base r se define como In . El complemento a 10 de 246700 es 753300 y se obtiene al no alterar los dos ceros. y al restar los otros tres digitos de 9.N = [r" . Por l o hnto.12389 = 87610. Por I o tanto. el complemento a 1 de un número binari. se obtiene restando cada dígito de 1. El complemento del complemento es P . Después se restaura e I punto de base en el ndrnero cnmplementado y en la misma posición relativa.N. Tambibn vale la pena mencionar que el complemento del complementa nos devuelve el nilmero con su valor original.1). el complemento a nCimeros 9 de 5467M3 es 999999 .1 = 1. En las ddinicianes anteriares se condder6 que los números no tienen un punto de base. De nuevo.(f' . e l complemento a 10 del n h e r o decimal 2389 es 7610 4. Si el número N original contiene un punto de base. y después al sustítuir los 1 con O y los O con 1 en los demds bits con mayor valor. por l o que e l comple mento a 1 de N es (2" .N j 1 . Para los números binarios. con n = 4.80 CAP~TUU~ TRES Representación de datos compbmento a 1 = 453299 y e1 complemento a 9 de 12389 es 99999 . Por lo tanto. 2 ' .1) notamos que el complemento a r se obtiene agregando 1 al compIementa a (Y . El complemento a niheros (r . y despub m t a r de 9 las digitos significativos mayores. Por ejemplo. E 1 complemento a 2 de 1101100 es 0010100 y se obtiene A l no mdificar los dos O de orden menor ni ei primer 1 y. e l cual es e l complemento a 10 de N. Al compararlo con el complemento a (r .1. Sin embargo. respectivamente. El complemei-itoa números 2 del n h e r o binario 101100 es O10011 + 1 = 010100 y se obtiene al a m a r 1 al valor del complemento a 1. después. El complemento a r de N es r" . r = 2 y r .1) .1) .N ) = N l o cual proporciona e l n h e m original.1) porque rn . tambidn puede formarse al no alterar los O a lii derecha. Por ejempIo. tenemos z4 = (10000)~ y z4 .N. debe quita= de m e r a teniparal para que forme los compiementos a r o a (r . . e l complemento a 1 de 1011OO1 es OlOOllO y e l complemento a 1 de 0001111 es lllOMH3.N.1 = 7611 se obtiene al agregar 1 al valor del complemento a 9. resta? a 1 0 el primcr digito significativo diferente de O. De igual manera. e l complemento a 1 de un nfimero binario se forma al cambiar los 1 a O y los O a 1. la resta de un digito binario de 1 provoca que d 'bit cambie de O a 1 o de 1 a O. Como 10" es un número representado por un 1 al que le siguen n ceros entonces 10" . 2" este representado por un número binario que está formado por 1 seguido por n ceros.1) de los números octales y hexade cimales se obtiene restando cada digito de 7 o de F (el número decimal 151.N cuando N # O y O cuando N = O. al sustituir con 1 los O y con O los 1 en los otros cuatro bits con mayor valor. al restar 7 de 10. el complemento a 2 puede formarse 01 no alterar los O ni el primer 1.1 = (1111)2.1 es un número binario represwntado por 1 .

Si M 2 N. 3.mal Resta de nbrneros sin signo El m W o directa de recta que se enseña en las escuelas primarias utiliza el EAl .13250 = 59282. la suma no puede tener un acarreo final y es igual a tn . concepto de préstamo.d b La r q u e s t a es el número negativo 59282 = al compIemento a 10 de 40718.-.. L -h U1)ü 4 3 acarreo final de que se descarta = -100000 Respuesta = 59282 jit4uprtrbain#mf4edl** d Ahora consideremos un ejemplo con M < N. r ' I ' Como estamos manejando nbmems sin signo. Cuando trabajamos con I Pl m papel y lápiz.(N .---- M m = d el complemento a números 10 de N = Suma = m 4 -m ri No hay acarreo final. negativo m n signo.-w =' + 86750 = 159282 72532 ? . Si M < N. la suma producirá un acarreo final r" que se descarta y lo que queda es e l resultado M . La resta 13250 . La respuesta negaac# ' tiva se reconoce por la ausencia de acarreo final y de resultado comple m ' a mentado.ay lo5 -. Cuando restamos con mmplementos. Al utdizar el prcrcediiento con comple m t o s . 2. .M). Para obtener la respuesta en una forma familiar. tenemos .72532 produce e l número negativo 59282.N (N # O) en base r pude r e d i r s e de la siguiente manera: acarreo final 1 . no hay manera de A obtener un nSimero sin signo en el segundo ejemplo. Esto parece ser m8s sencillo cuando las personas ejecutan restas con lápiz y papel.N. U' 1 + 27468 40718 13250 d . es necesario tomar el complemento a r de la suma y colocarle un signo negativo. reconocemos que i a respuesta debe cambiarse a un nCimero m6i J a P i ) . La xesta de dos números M sin signo de pn dígitos . El complementa a númem 10 de 13250 es 86750. Esto daM+(r"-lV)=M-N+?. lo cual es el complemento a r de (N . consideremos la resta 72532 . Por lo tanto: ~3gpjo * M Suma = el complemento a números 10 de N .. Cuando la resta s e realiza con equipo de mmputaci6n digital este mdtodo parece ser menos eficiente que el método que utiliza compIementos. - - Por ejemplo. En este método tomamos prestada una unidad de una posiciBn con mayor valor cuando el dígito del minuendo es menor que el resta digito correspondiente del sustraendo.M). Sumar el minuendo M al complemento a r del sustraendo N.

La convencibn es hacer que e l bit del signo sea igual a O para b s niimeros Positivos y 1 para las negativos. para representar enteros negativos. Al usar los dos n b m s binarios X = lOlOIOO y Y = 1000011. El rn&todo de punto fijo considera que el punto binario esiá siempre fijo en una posici6n.Y = o(310001 X el complemento a 2 de Y + Y = complemento de niimews 2 de X = Suma = + 0101100 llOllll 1m11 No hay acarreo tinal.L a resta por complemento se realha can números binarios de una manera simiiar. 3-3 = compIemento de números 2 Representación de punto fija Los enteros positivos. utilizando el mismo procedimiento que se acaba de detallar.X utilizando el compIemento a 2: = 10101OO = O111101 suma = 10010001 daechando el acarreo final de 2' = -1000Mfa7 Respuesta: X .Y y Y . La posicibn del punto biirio se necesita para representar fracciones. l o cual incluye e l signo de un número. ta respuesta es el número negativo 0010001 de 1101111. un ntímero negativo se señala con un signo de menos y un número positivo con un signo de más. un número puede tener un punto b i a r i o (o decimal). Como consecuencia. En cualquier caso. pueden representarse como núme ros sin signo. el punto binario no estA punto haina pt&# o &. enteros o nheros que mezclen enteros y fracciones. es costumbre representar e l sipo con un bit que se coloca en la posici6n al extremo izquierdo del n6mero. Las dos posiciones que se usan con mayor frecuencia son: 1) un punto binario en e l extremo izquierdo del registro para convertir el n h e r a almacenado en una fraccidn. incluyendo el cero. . y 2) un punto biario en el extremo derecho del registro para convertir el número almacenado en un entero. Sin embargo. L a representación del punto binario en un registro es complicada porque se caracteriza mediante una posicibn en el registro. Debido a las limitaciones del equipo de c6mput0. efectuamos l a resta X . Además del signo. 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. necesitamos una notacibn para valores negativos. las cornputadoras deben representar todo con números 1 y O. En la aritmética simple.

+ En representacibn de magnitud de signo En representaci6n de mmpiemento de números 1 de signo En repfesentacihn de complemento de números 2 de signo 1 OOQlllO 1 1110001 1 1110010 't" La repmntaci6n de magnitud de sipo de . Se utiliza m u y rara vez para operaci~nes aritmdticas excepto en algunas computadoras antiguas. En las otras dos wresentaciones. 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 operad611de complemento . por lo tanto.bhario es positivo. L a representación de punto flotante se analiza en Ia siguiente secci6n. 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. incluido . E l complemento de 1 implica dificultades porque t i m e dos xspresentaciones del O (+ O y . notarse que cada uno de los ocho bits del registro debe tener un valor y. Rqesentación de magnitud de signo. el ndrnero negativo sie representa con el complemento a 1 o 2 de su valor positivo.14 se obtiene de + 14 al complementar s61o e l bit de sipo. Por lo tanto.O). el signo se representa con O y la magnitud por un n h e i o .de magnitud de signo de un número negativa esta formada por la magnitud y un signo negativo. Representacidn de enteros Cuando un ndmem. El sistema de magnitud con signo se utiliza en i a aritmética simple pero es temible cuando se emplea en la arihnktica mputacional. 3. hinario positivo. h 1 La representacih. en gmeral se utiliza el complemento con signo.14 se obtiene al complementar todos los bits de + 14.el bit de sipo.SEEU~NM Representaa6n de punto fijo 83 presente en realidad pero su presencia se supone porque el número almacenado en e l registro se trata como una . 2 Representaci6n ¿e complemento a números 1 con signo. La q m t a c i 6 n de complemato a 1 . debe inserta@@O m las posiciones más significativas del bit de signo. consideremos el número 14 con signo que se almacena en un registro de 8 bits.fracci6n o como un entero. 14 se r e p b wri un bit de signo de O en la posicidn de la extrema izquierda =pido por el equivalente binario de 1 4 ~ 0 1 1 1 0Debe .Aunque sólo existe una manera de representar + 14. Cuando el ndmero es negativo. lrkmoros con signo . Representacibn de complemento a 2 con sieno.14 con d o bita. éxiskn tres diferentes maneras de representar . el signo se representa con 1 pera el resto del número puede representarse en cualquiera de las tres siguientes maneras: 1 . 4 del signo de . Como ejemplo. incluyendo su bit de hsigno. La r e ) ) m b c i ó n de cornphent~a 2 con signo se obtiene al tomar el complemento a 2 del nQmera positivo.

7. inc1uyendo los b i b de signo.12 y esto se hace al restar la magnitud m6s pequefia 25 de la mayor 37 y utilizando e l signo de 37 para el resultado. Suma aritmbtica dos números en el sistema de magnitud con signo sigue las reglas de la aritmdtica simple. es necesario convertirlo a un niimero positivo para colocarlo en una forma más familiar. resultados negativos están de manera automática en su Forma de complemento a 2. reconocemos que el número negativo original es igual a .(37 25) = . 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 contraste. Si los signos son iguales. incluyendo sus bits de signo.7. El $igiiiWe iiifisis de la aritmética bina% con signo se refiere exclusivamente a l a representacibn de complementa de 2 con signo de números negativos. Para determinar el valor de un número n ~ a t i v o cuando está en forma de eompIernento de 2 con signo. la regla para sumar nirmems en el sistema de complemento de 2 coh signo no requiere una comparación o sustracci6n. Por ejemplo. Por ejemplo. Cualquier acarreo de la posición de bit con signo s e descarta y los. Su complemento a 2 es 00000121. El procedimiento es muy simple y puede definirse como sigue: sumar los dos ndmeros. La suma de + - suma de eompleme~toa 2 %n 2ada uno de 10k cuatro casos. La forma de complemento de la repmsentacibn de números negativos resulta extraña a las personas acostumbradas al sistema de magnitud con signo. y descartar cualquier acarreo de la pmici6n ' de bits de signo (extrema izquierda). sólo una suma y un complemento. e l niimero binario con signo 1 1 1 1 1 O O 1 es negativo porque el bit de la izquierda es 1. Debe considerarse que los nrimeros negativos deben estar al principio en su complemento de 2 y que s i la suma que a e obtiene después de l a adici6n es negativa esta en su forma de complemento de 2. Los ejemplos numericos para la suma se mu-an enseguida. restamos la magnitud menor de la mayor y l e damos al resultado e l signo de l a magnitud m& grande.84 -O Representación de datos I@$c8. Por lo tanto. la uperaci6n que se realiza es siempre una suma. S i los signos son diferentes. . el cual es el equivalente binario de -t.37) = . agregamos las dos magnitudes y le damos a la suma el signo comtín. (+ 25) (.

el bit a la extrema izquierda siempre representa el signo y los nfimeros negativos están en forma de complemento a números 2. Por lo tanto. 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 e l resultado. Sobrefluja Cuando dos números de n digitos cada uno se suman y el recultado ocupa n + 1 dlgitos. El usario o programador debe interpretar los resultados de tal suma o resta en f o m diferente. La resta se cambia a suma al tomar e l complemento a 2 del sustraendo (. 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 . las computadoras sólo necesitan un circuito común para manejar ambos tipos de aritmdtica.13) para que d&(+ 13). Se elimina el acarreo de la posición del bit de signo.11110011. En f o m binaria esto es 11111010 + OM301101 = 100000111. se detecta un sobreflujo del acarreo final en la posicidn nias significativa.13) = + 7.33 Repm* de punto fijo 85 resta de complmmto u 2 Resta dbnhtica La resta de dos números binarios con signo cuando los niimeros negativos estan en su forma de complemento a 2 es muy simple y puede explicarse como sigue: se toma e l complemento a 2 del sustraendo (incluyendo el bit de signb) y se suma al minuendo (incluyendo el bit de signo). Cuando se suman dos ndmeros sin signo. Por esta razbn. decimos que ha ocurrido un sobreflujo. muchas computadoras detectan cuando sucede un sobreflujo y se establece un flip-flop correspondiente para que la sittiacidn pueda ser verificada por el usuario. Considere la resta de (. En binario con ocho bits esto se escribe 11113010 . En el caco de números con signo. Este procedimiento surge del hecho de que una operaci6n de resta puede cambiarse a una operaci6n de suma s i se cambia e l signo del sustraendo. Vale la pena anbbr que los números binarios en e l sistema de complemento a 2 con signo se suman y restan mediante las mismas reglas baisicas de suma y resta sin signo. Un resultado que contenga n + 1 bits no puede acomodarse en un registro con una longitud estándar dé n bits.6) . El sobreflujo es un problema en las computadoras digitales porque eI ancho de los registros es finito. Al eliminar el acarreo final obtenemos b respuesta correcta O O O O O 1 1 1 (+ 7). ya sea que se considere que los números son con signo o sin signo. Lo opuesto tambiCn es cierto porque el complemento de un número negativo en su forma de complemento produce el número positivo equivalente.(. c Pero el cambio de un número positivo a negativo se consigue con facilidad al tomar su complemento a 2.

86

CAP~TULO TRES

Repremtaci6si de datos

n h e r o s 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 n h e r o s 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

dekccion as

sobreflujo

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. Puede detectarse una condición de sobxefhjo al observar e l acarreo 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 exclusiva, se deMrA un sobreflujo cuando la salida de la compuerta = igual. a 1.

Representacidn de1 punto fijo dechal i a 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

m

L &

necesita para almacenar un nlmero decimaa en código binario es mayor que el nfimero de bitc que se n e c e s i t a para su representaci6n binaria equivalente. A d d s , los circuitos requeridos para ejecutar arihktica decimal son &S complejos. S i n embargo, existen algunas ventajas en la utilización de la repiresenhcibn decimal porque la entrada y salida de datos de la computadora 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 operaciones aritm@icas directamente con los dato? decimales (en un &digo binario) 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 -unsigno menos con d equivalente de BCD del 9,el cual es 1001, E i sistema de magnitud con signo es dificil de utilizar en computadoras. E l 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 1 0 de un número BCD, tomamos primero e l complemgnto a 9 y después un uno al digito menos significativo. E l 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, incluyendo el digito de signo y descartando el acarreo final. Obviamente, esto supone que todos los números negativos están en su forma de complemento a 10. Consideremos Ia suma (+ 375) + (- 240) = 1- 135 realizada en el sistema de complemento a 10 con signo.

E l 9 en la posie6n a I a izquierda del @a

número indica que es negativo. 9760 es el complemento a 10 de 0240. Se suman b s dos números y e lacam 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

#d J $

p.M'-'
d h
i.rr

fi

L 1

f

2 L a resta de números decimales en el sistema de complemento a 10 con igual que en d caso de las' números binarios. Hay que tomar 4 el complementa a 10 del sustraendo y agregarlo al minuendo. Muchas computadoras tienen hardware especial para ejecutar cAlculos aritméticos en forma &ta con los números dedtnales en BCD. El usuario de la computadora pude apecifica~ mediante instrucciones programadas que las operaciones aritméticas se ejecuten ron números decimales en forma directa, s i n m r que mnvertir1os a bhrios.
os i n signo es

#*!Y yd
'

m
w

3-4

Representación con punf o flotante
dos partes.

IA r e p r e ~ ~ t a d bcon n punta flotante de un número tiene

La

maiitisa
eqvotimte

primera parte representa un ntimero del punta fijo con signo llamado mantisa. La segunda parte representa la posici6n del 'punto decimal (o binario) 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:

* WWWp $ rJ1 -* C
-,>-

-

m '

Fraccih Exponente 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 s e interpreta m o una representacibn de un ndmero en la siguiente forma:

S610 la mantisa m y erexponen& e s e xepresénh3Z manera fisica en el registro (incluyendo sus signos). L a 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:

~1*h&a;t~ m r
-Ld. 2

d-4
r C i

abrega
a ~

A~racci6n
I

01001110
~

Expomte
~ ~

W d n

* * La fracci6n tiene un O en la p1ci6n a la extrema izquierda para denotar que
, , n

es posttlva. E l punto binario de la fracci6n está después de¡ bit de signo pero

no aparece en el registro. El exponente tiene e l nGmero binario equivalente + 4. número de punto flotante es equivalente a

m x F = +(.1001110)2 x Z + '
nomaftzacibn

Se dice que un númer~ de punto flotante e s a 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 p r o 000% no lo está. Sin considerar la posicidn en la que se asume e l 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 l a izquierda y descartar los primeros O para obtener 11010000. h tres cambios multiplican el número por 2 = B. Para mantener e l 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 precisi6n 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 e l 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 m 6 9 complejos. Sin embargo, la representación de punto flotante es esencial para los c~lculoscientíficos por los problemas relacionados con l a escala que aparecen con 10s dlculos de punto f i j o . Muchas computadoras y todas las calculadoras electrónicas timen implícita la capacidad de ejecutar operaciones aritm&ticasde punto flotante. Las computadoras que no tienen hardware para cáiculos de punto flotante tienen un conjunto de subrutinas para ayudar al usuario a programar problemas cientificos con números de punto flotante. Las operaciones aritm6ticas con números de punto flotante se analizan en l a 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 alfanumé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&digoGray Los sistemas digitales pueden procesar datos s6lo de manera discreta. Muchos sistemas físicos proporcionan salida continua de datos. ius datos

m
c6digo p y

deben conve* a su forma djgital antes de que puedan ser utilizados por una computadota digital, La infonnacih continua o ansloga se convierte a su forma binaria mediante un convertidor and&@co/digital. E i código binan o 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. I a 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 sepentos y a cada segmento se l e asigna un número. Si se hace que segmentos adyacentes correspondan a n h e r m en &digo Grag adyacentes, s e 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 w e n c i a s 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 bario decimal

Código binado

Equivalente decimal

TABLA 3 4 Cualro c 6 d i p Masdiferenks para el dfgib decimal

Digito decimal

BCD 8421

Gray con
2421

D e exceso 3 exceso 3

1010
Combim dones de bit sinusal.

1011 1100
1101 1110
1111

O101 O110 O111 lo00
1001 1010

0000

0000

O001 0010
1101 1110

O001 0011
1 M ) I ) 1 0 0 1

1111

1011

autocomphtaria

c6digo ponáerado

cddigo con =eso de I

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 anotan simbolos de dfgitos decimales. Por ejemplo, decir que 1001 1110 es un n b e r o 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 i a dificultad que s e encuentra cuando 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 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. E 1 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 decimal 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

I

pueden corregirse pero se señala su p-cia. E l p d i m i e n t o usual es observar l a 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. ' l l n 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 3-7 se muestra un mensaje de tres bits.y dos bits de paridad posible. El bit 'l? P (impar) se eüge de m e r a que haga la suma de todos los 1 (entodos los cuatro bits) un n h o impar. E l 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 e l 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 e l 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 l o s 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 l a paridad adoptada. El &todo de paridad detecta la presencia de uno, tres, o cualquier cantidad impar de errores. N o se detecta un numero par de errores. Las redes generadoras y comprobadoras de paridad son circuitos 16gicm 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 s i , 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~TULOTRES Representación d e 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 transmitir 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ónosi la paridad de los cuatro bits recibidos es par, porque la información binaria transmitida era impar origliialmente. La salida del comprobador 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 complementar 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

Indicación de error

, ( P I i Y

Generador de paridad

Comprobador de paridad

Problemas

95

En el ejemplo anterior es evidente que pueden implantarse generadores y comprobadores de paridad par con funciones 0 R exclusivas. Las redes de paridad iml necesitan una NOR excIusiva en la salida para complementar la función.

3-3

3-2
A3-3. 34.

Convierta los siguientes n h e r o s binarios a decimales: 101110; 1110101 y 110110100. Convierta los siguientes niltmems con las bases indicadas a decimales: (12121k (431015; (501, y (198),,. Convierta los siguientes números decimales a bimrios: 1231; 673 y 1998. Convierta las siguientes nCuneros decimales a las bases indicadas.
a. 7562 a octd.

b . 1 9 3 8 a hexadecimal.
C,

1 % a binario.

Convierta el. n h e m hexadecirnal F3A7C2 a binario y &l. ¿Cuál es la raíz de 10s nheros s i la solucibn a la eeuacihn cuadrstica ~c, -Ti--- 1 0 ~ + 3 1= O ~ S X = ~ Y X = ~ ?
J .

3 6 ,

r d v m 3-7icU

dblF
3-8.

-+m

Muwtre el valor de todos los bits de un registro de 12 bits que contiene la 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). Muestre k conf@raEi6n de bits de un registro de 24 bits cuando su conte nido w t a e l decimal equivalente de 295: a) en binario; b) en BCD;c) en A utilizando ocho bits con paridad par.
Escriba su propio nombre en ACCII utilizandoun 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. Descifre el siguiente código A S C E lMllOl0 1OO1111 1001000 1OO1110 0 1 0 m 1OOO1OO 1OO1111 lOOOlOl Obtenga el eomplem~to a 9 de ios siguientes nfimeroc decimales de ocho &@tos: 12349876; 00980100;90009951; y 0 0 0 0 0 0 0 1 0 .

4

3-10.

3-11.

- -12,
3 l 3 .
3-14.

Obtenga el complementa a 10 de 1 - siguientes números decimales de seis dígitos: 123900; 090657; 100000; y Q00000.
Obtenga los c o m p h e n b a 1 y 2 de los siguienenkm ndmerasbinarios de ocho di@- 10101110: 10000001; l N M N € W ; 00000001; y 00000000. Ejecute la resh con I w 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.rrn0 TRES 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 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. 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. 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) 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? Represente el número (+ 46.5),, como un número binario de punto flotante con 24 bits. La mantisa de fracción normalizada tiene 16 bits y el exponente 8. 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. 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. 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. Represente el número decimal 3984 en el código 2421 de la tabla 3-6. Complemente todos los bits del número codificado y muestre que el resultado es complemento a 9 de 3984 en el código 2421. 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

3-16.

3-17.

3-18.

3-19.

3-20.

3-21.

3-22. 3-23.

3-24.

3-25.

y A. Sandige. G. F . Logical Design nnd Computer Urguniui tion. Mano. 5.. . iaqholz. Englewaad Cliffs. I. 3a. Readiig. Ed. Computation Structtires. Ward.Petercon. Tomek. Glenview. E n g l e w d Cliffs. 1989. NJ:Prentice Hall. Halstead.H. 1988. MA: Addison-We ley. Paul.. M.H. NJ:Prentice Hall. 1981.. 2. Rockville. .. Elemmts aJComputer Organimtwn. DigM D e .. 1981. MA:MlT Press.} 1. Mhfern Digifal Design. 8. S. y D es impar.. MN:West Publishing. 7 . Futndametttals ofi@ &S@. 3. 1890. Carnbridge. B. 6 . Francioni. M D Computa Scienee Press. H . R. . 1 9 8 1 . A.= y @ r. Nuwa York JohnWdey. Intlvrduction fo Logic h i g n . J. Kandel. J. 1990. R S. Hill. G. C 3-26. y R. 1 0 .St. intmduction to Computer Orgnniurtton. Foresman. 1983.. Compruebe que x = 1sólo cuando el número total de 1 en A. Ro* C. 9. 4. 1991. II: b i t . Wakerly. y G. (tos circuitos de la figura 3-3 utilizan paridad impar. 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. Ed. M. F. M.J. Nueva York: JohnWiley. ItitrPduction tu Switching Theoty and Logical Dssign. Micmmptrter Architecture and Prrrgraitrniing. Chipa. S. 1985. Jr.2a M. Nuwa York: McGraw-Ha. 3a. Lewin.

Las operaciones que se ejecutan sobre los datos almacenados en los registros se llaman microoperaciones. Algunos ejemplos de microoperaciones son despla- nricrooperación . decodificadores. Los diferentes módulos están interconectados con los datos y las trayectorias de control comunes para formar un sistema de computadora digital. El diseño de sistemas digitales utiliza de manera invariable un enfoque modular. El resultado de la operación puede sustituir la información binaria anterior-de un registro o puede transferirse a otro. Los sistemas digitales varían en tamaño y complejidad desde unos cuantos circuitos integrados hasta un complejo de computadoras digitales interconectadas e interactivas. Los módulos digitales se definen mejor por los registros que contienen y las operaciones que realizan sobre los datas que almacenan. elementos aritméticos y lógica de control.EN ESTE CAP~TULO 4-1 4-2 4-3 4-4 4-5 4-6 4-7 Lenguaje de transferencia de registros Transferencia de registros Transferencias de bus y de memoria Microoperacioncsaritméticas Microoperacioneslógicas Microoperaciones de corrimiento 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. Una microoperación es una operación básica realizada sobre la información almacenada en uno o mas registros. Los módulos se construyen a partir de componentes digitales como registros.

2. La secuencia de rnicrooperaciones que se realizan sobre la informaci6n binaria almacenada en los registros. EL lenguaje de transferencia de registros que se adopta aquí se considera lo m8s sencillo posible. Es una herramienta conveniente para describir la organizaci6n interna de las computadora~ digitales de una manera precisa y concisa. para que no sea dificil de memorizar. La denominaci6n sirnbdlica que se presenta en este capitulo w optimizeirii en capltulos posteriores para . al explicar cada qeracibn en palabras. B conjunto de iégistros que contiene y sus funciones. E s 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. E l control que inicia l a secuencia de microoperaciones. L a palabra "lenguaje"se toma prestada de 1. un mnhdor con carga paralela puede realizar las mirrooperaciones de incremento y carga. La organizad611 interna del hardware de una computadora digital se define m+r. al e$p&ificak. borrar y cargar. En seguida d ~ m ol o ss símbolos para diferentes tipos de microoperaciones y al mismo tiempo dwribiremos el hardware asotiado con el que se pueden llevar a cabo. las micrmperaciones planteadas.100 C A P ~ ~ JCUATRO M Transferda de registro y micmopera~iones mr. un registro de desplazamiento bidireccional puede realizar las microoperaciones de desplazamiento a la derecha y a la izquierda. El t b i n o "transferencia de registros" implica ia disponibilidad de circhitos 16gikos de hardware que puedan efectuar una micmperaci6n definida y transferir el resultado de la operaci6n al mismo o a otro registro. IA notacidn simb6lica que se utiliza para describir las transferencias de microoperaciones entre registros se llama lenguaje de transferencia de regictros. m l. Un lenguaje de transferenlcia de registros es un sistema para expresar en forma simb6lica. un lenguaje natural. Algunos de los componentes digitales que se presentaron en d ~apitulo -2 sun registros que sirven para realizar microoperaciones. E l uso de símbolos en lugar de una expiic 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. da& - Es posible ~ p i f i c a r la secuencia de microoperaciones en una computadora. Por ejemplo.programadores. 3. pero este procedimiento por l o general representa una extensa explicaci6n descriptiva. D e igual manera. Un lenguaje de programaci6n es un p d i m i e n t o para escribir símbolos con el fin de especificar cierto p m computacional. Tambih puede usarse para facilitar el proceso de diseñar sistemas digitales. es un sistema para escribir simbolw y combinarlos en palabras y enunciados para la comunicación entre personas. las semencias de microoperaciones entre los registros de un m6dulo digital. rodar. lenguaje de transferencia de rsgistros *m M -a 5. como el ingk. + . quienes aplican este t6nnho a los lengaajes de programacibn.

para denotar la funci6n del registro. 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). consisten en variaciones de b s detalles más que en el propósito general 4-2 Transferencia de re& tros ~rnitsjhnda de regisfrss Los registros de computadora e s & representados por letras mayúsculas (en ocasiones seguidas de niimems). 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. puede señalarse en la parte superior de la caja. el registro que contiene una direcci6n para la unidad de memoria. La manera mbs común de representar un registro es mediante una caja rectangular con e l nombre del registro dentro. E l nombre del registro de 16 bits es PC. las microoperacianes y las funciones de control que describen la organización interna del hardware de las computadorras digitales. tos bits individuaIes pueden distinguirse como en e l ejlnp10 ( b ) . La transferencia de información de uii registra a otro se representa en forma simbólica mediante un operador de sustituci6n El enunciado Figura 4-1 Diagrama de bloque de un regish. por lo .SECCIm 42 Transferencia de registros 101 especificar las transferencias de registros. Otros nombres para registros son PC (contador de programa). Por ejemplo. R1 a) Registra R I 7 6 5 4 3 2 1 0 b ) Aspxto de Ice bits Individuales c) Numeración de bita d) Dividido en dos partes . comenzando desde O eii la p i c i 6 n de Ia extrema derecha y aumentando los números hacia la izquierda. Se puede apmder con facilidad otra sirnbología una vez que se familiariza uno con este lenguaje. Los flip-flops individuales en un registro de n bits están numerados en una secuencia de O hasta n .1. La numeraci6n de bits en un registro de 16 bit. La figura 4-1 muestra la repxesentacihn de registros en forma de diagrama de bloque.en 2 partes en e l ejemplo (d).general se llama un registro de direccionamiento de memoria y se designan las letras MAR por sus siglas en inglés (rnemoy address register). porque la mayoría de las diferencias entre b s lenguaje de transferencia de registros. como en la figura 4l(a). IR (registro de instruccibn) y R1 (registro de pmesador). como se muestra en el ejemplo (c). Un registro-de 16 b i t s se divide .

la . Las n salidas del registro R1 están conectadas a las n entradas del registro R2. Como se muestra en el diagrama de ternporización. Aunque la condición de control P se activa hediatamente después del tiempo t. P puede regresar a O en e l tiempo t + i. Se sustituirá por un n h e m real cuando se conozca eI tamaño del rrgistro. Debe notarse que el reloj no se incluye como una variable en los enunciados de transferencia de registros. La letra n se usar4 para indicar cualquier cantidad de bits para e l registro. el emhido del registro fuente R1 no cambia después de la transfe rencia. La siguiente transicidn positiva de1 reloj en el tiempo t + 1 encuentra activa la entrada de carga y las. Cada enunciado escrito en notacián de transferencia de registros implica una estnictura de hardware para realizar la transferencia. entradas de datos de I D se cargan a su vez en el registro en paralelo. P se activa m la secci6n de control mediante el flanco ascendente de un p u b de reloj en el tiempo t. Se considera que la variable de control esta sincronizada con el mismo reloj que se aplica al regish. En ocasiones es conveniente separar las variables de control de la operaci6n de transfemcia de registros al especificar una función de cmfrol.102 CAP~TULO CUATRO Transferencia de registro y microoperaciones denota una transferencia del contenido del registro R1 al registro R2. El registro R2 tiene una entrada de carga que activa la variable de control P. Una funcibn de control es una variable holeana. Normalmente. la transferencia ocurrird con cada transicidn de pulso de reloj mientras P permanece activa. Por defini- ddn. de otra manera. Designa la sustituci6n del contenido de R2 por el contenido de R1. Esto puede mostrarse mediante un enunciado si. deseamos que la transferencia ocurra s610 bajo una condición de control predeterminada. 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. L a funcián de control se incluye en e1 enunciado como sigue: La condición de control se termina con un signo de dos puntos. Se considera que todas las transferencias ocurren durante una transicibn de flanco de reloj. La figura 4-2 muestra el diagrama de bloque de la transferencia de R1 a R2. Representa l a necesidad de que la operaci6n de transferencia sea ejecutada s61i por el hardware si P = 1. que es igual a O o a 1. entonces ( i f f h ) Si (P = 1) entonces (R2 +~ 1 ) Fmdh de control donde P es una &al de control que se genera en la seceibn de control.

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. Los registros es& representados por letras mayCisculas y los nCimems pueden estar despub de las letras. siempre y cuando T = 1. y se deben proporcionar trayectorias para transferir infomacibn de un registro a otro. 4-3 Transferencia de canal v de memoria Una computadora digital típica tiene muchos regiskm. Se usa una coma para -arar dos o m& operaciones que se ejecutan al mismo tiempo. Esta operación simultiínea siempre es posible con registros que tienen flip-flops activados con flancos. transferencia real no ocurre hasta que se activa el registro mediante la siguiente transición positiva del reloj en el tiempo t 1. El enunciado + representa una operacibn que intercambia d contenido de dos registros durante un pulso de reloj común. La flecha significa una transferencia de informacibn y su direccibn. La cantidad de alambres ser4 excesiva si se usan líneas separadas entre cada .SBCCI~N T r a n s f e d a de canal y de memoria 103 L a tmmferencia ocurre aqiii- b) Diagrama de temprización Figura 4-2 Transferencia de Rl a R2 cuando P = 1. LQS símbolos bAsicos de la notaci6n de transferencia de registros se listan en la tabla 41.

de l o s multipIexores. de $atas O. una para cada bit de un . . Eh genetal. el Bils. para producir un bus común de n líneas. U ~ 'seilales S de c0%01 determinan cu4l registro selecciona el bus durante cada transferencia d e registro particular. en el qu@ cada uno tiene cuatro mtradas de datos. ' 1 R2(0-7).' selecidtl de bus registro y >todos los qtros que wnforman el sistema.Cada registro tiene cuatro bits. Las dos b e a s de dmci6n SIy So estdn conectadas a las entradas de seldi6n de los cuavfo mrlltiplexo&. be i&$l danera se &cciona el registro B si SISO = 01 y asf sucesivamente La tabla 4-2 muestra e l registro que decciona el bus para cada uno de los cuatro valores-binaribs po6ibTes de las heas 'de seletci6n. R1 + R2 - ' 1' -' m . y dos entradas de detci8sr S i y Para no cohplicar el &@ama c m 16 líneas que se cruzan mtfe S I . El bus está formado de 4 multipIexores 4 X 1. numerados del O al 3. es un sistema de canal (bus)común. .h s énfradas de datos O de los cuatro multiplexores se seleccionan y se aplian a las salidas que forman el bus.m# A R ~ TransfefPnda de registro y mkrooperacimes . bus común .etiquetas para mohhar 'las conexiones de las salidas de los registros a . el MUX O hace funcibrlar d multiplexor sobre 'los cuatro bits 17 de los'registms. U n a manera de consmir un sistema de bus común es con muItiplexe res. 'un s i s t m de bus hará füncihnai el multipiexm sobre k ieghtros de n 6its cada uno. utilizamos. RZ(L) R2 + R1 R2 + R1. 'Lá construcci6n de un sistema de bus para cuatro registros se muestra en la figura 43. Un esquema mAs eficiente paka transkerif la infopani6n entre los registros. el MUX 1 hace funcionar el multiplexor sobre 10s cuatro bits 1 de los registros y sucede igtial para tlos otros dos bits.Por qernplo. Por lo tanto. R2 tetras . de1 O al 3. La ' . Esto hace que las líneas del bus reciban el contenido del registro A dado que las salidas de este regiptro 5 t h con~tadas a lps entradas.la4 entradas -de los multiple~&. Las' aiatto lheas de seleccidn escogen lm'ntatro bits de bn registro y los -transfieren eri el bus comdn de cuatro heas. 81 bits & la d s m a posición significativa m cada a las dtradas de datos de un rnulkiplemr para formar tina lhed eii. la salida 1 del registro A está conectada a la entrada O del MUX 1 porque esta entrada se etiqueta Ai. en una configura"ci6h de registros rniiltip6.TABU Sfmbd~ 4 1 S 1 - W s h para transferencias de registros Descripción - Ejemplos MAR. mediante las cuales se transfiere hformaci6n binaria una a la vez. Los rnultiplexo~e6 seleccionan el q i s t r o fuente. Una estFuctura de bus mnsb-de un conjunto de líneas comunes. Caarido &So = 00. reeistwi. cuya informaci6n biaria se col6ka d'espuks en el bus.Representa iIn registro Representa parte de un registra Represenb transferencia de infmacibn Separa dos microoperaciones & iiumerales) Paréntesis ( ) flecha Cama.

uno para cada hea en el bus.s m b f i r 4-3 Transferencia de 4y de memoria 105 S1 - t . 3 0 Figura 9-3 Sistema de bus para cuatro registra. E 1 tamafío de cada multiplexw debe ser k X 1 dado que hace funcionar d mdtiplexor sobre k iíneas de datos. 4 A2 4X 1 + 4x1 CO BD AO 1 DZ Di Do ttt 3 2 1 c z CI ftt 2 1 c o I BZ BI Bo A i Ao t t -t. Cada mdtiplexor debe tener &o üneas de entrada de datos y tres heas de selwci6n para hacer funcionar el mdtipIaor sobre un bit significativo en los mho registros. necesita 16 muitiplexoms.. s o- * - = lbeas + Buscom6n de cuatro .. l a cantidad de bits en cada registro. Por ejemplo. ' 3 2 1 0 3 ttt 2 1 0 O .. D2 C 2 82 1 Di CI BI A I LXi 1. TABLA e 2 Tabla de furifi6n para $1 bus de la f i e l 4-3 St SO Registro seleccionado . * 3 4x1 -+ 0 4X 1 2 1 1-1 A2 . un bus comdn para 8 registros de 16 bits cada uno. cantidad de multiplexom que se necesitan para construir el bus es igual a n.

como en una compuerta convencional. A partir de este enunciado. Entrada normalA Salida Y = A si C = 1 Alta impedancia si C = O Enhada de control C . La entrada de control determina el estado de la salida. w a entrada namd y una entrada de conbL. compuerfa de tres estados a" 'mpedancin acoplador Canal de bus de tres estados Puede construirse un sistema de bus con compuertas de tres estados en lugar de mtiltiplexoreg.s e ha selecQonado. Una compuerta de tres estados es un circuito digftal que exhibe tres estados. el disefiador sabe cuales seildes de control deben activa. se habita la salida y la compuerta actúa como cualquier acoplador convencionaL donde la salida es igual a la entrada normal. Dos de los estados son sefiales equivalentes a los números 1 y O 16gicos. lo que significa que la salida está dmnectada y no tiene importancia 16gica. la salida se deshabilita y la compuerta va a un Figura 4 4 S ú n b o l ~ gráfiw para un amplador de tres estados. Cuando se incluye e1 bus en e l enunciado.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 e l control de carga del registro de destino particular que. El. gansfecencia directa. Cuando la entrada de control es igual a 1. como una AND o NAND. Las compuertas de tres estados pueden realizar cualquier procedimiento ldgica convencional. El tercero es un estado de alta impednncia. al activar su entrada de control de carga. y el contenido del bus se carga en d e t r u RI. S i sabe que el bus existe . El enunciado 6imb6lico para una transferencia de bus puede mencianar el bus o su presencia puede estar impiícih en el enundada. E l estado de alta impedancia acNa como un circuito abierto. h transferencia de registros se representa de la siguiente manera: El cohtenido del registro C se coloca en e l bus. Se distingue de una de acoplamiento normal porque tiene . Sin embergoi b que se usa con mayor k u e n c i a en e l disefio de un sistema de bus es la compuerta de acoplamiento.q el sidterna puedg ser conveniente m o s m &lo la.para producir la transferencia por el bus.slmbala gdfics de una compuerta de acoplamiento de tres estados se muestra en la figura 44. Cuando la entrada de control es O.

utiiizando acopladores de tres estados. Cuando l a línea habilitada está activa.la que no disponh otras compueiitas. Una manera de asegurar que no está activa más de una entrada de control en cualquier mommto dado. 3 - S . mdor 2x4 1 2 . una mayor cantidad de salidas de compuerta de tres estados. todas sus cuatro salidas son O.) Las entradas de control a los acopladores deteminan cu&lde las cuatro entradas normales se cainunicard con la Unea del bus. y la línea del bus se halia en estado de alta impedancia. medite alambm. mientras loe demág se mantienen en estado de alta impedancia. (Esté tipo de conexión no puede realizarse con compuertas que no tienen salidas de tres estados. uno de l o s acopladores de tres estados estar4 activo. se pueden conectar. Los acopladores conectados deben controlarse para que sólo un acoplador de tres estados tenga acceso a la linea del bus. En cualquier momento dado no puede estar activo más de un acciplador. Para construir un bu9 comGn para cuatro registros de n bits cada uno. Una cuidadosa iiivestigacibn revelar6 que la figura 4 5 es otra manera de construir un multiplexor 4 x 1 . Debido a ella. s i n peligrosos efectos de carga. dependiendo del valor binario en las entradas de selecci6n de1 decodificador. El estado sistema de bus de alta imipdatxia de una compueFta de t w estados pmparciona una caractedstica especial de-. Ltnea de bis para al bit O A0 B o 4 6 Do -'{WjIltar 4w i í i q . sin codderai el valor de la entrada nomial. es mediante el uso de un decdificador corno se muestra en el diagrama. porque los cuatro acopladores están inhabili&dos. 8necedtams n circuitos con cuatro Figuta 4-5 Lfnea de bus con acoplado? de tres estados. ta mnstmcci6n de un sistema de bus con acopladores de tres estados se muestra en la figura 4-5. porque el circuito puede sustituir el multiplexor en la figura 4-3.SECCaSN 4-3 Transferencia de canal y de memoria 107 estado de a l h impdanda. Cuando la entrada habilitada del decodificador B O. Las salidas de cuatro acopladores s e conectan juntas para fonnar una h a &e bus h k a .

La operaci6n de escritura puede derlararse en forma simMlica como eigue: Esto provtiea una transferencia de informaci6n de R1. Los datas se transilererr a otro registro. simbolizado por DR. llarnado registro de datos. 4-4 Microoperaciones aritméticas Una microoperacibn es una operacidn elemental efectuada con 10s datos almacenados en los registros. La operaci6n de escritura transfiere e l contenido de un registro de datw a una palabra de memoria M. Sólo se necesita un decodificadm para s e k i o n a r entre los cuatro ~gistros. La transferencia de. cada salida común produce una de las h a s para e l bus comtín para un total de n líneas.La operación de lectma puede declararse como sigue: leer memoria d b i r monta Esto provoca una transferencia de informacibn dentro de DR. Las microoperaciones que se encuentran con mayor frecuencia en las computadoras didtales se clasifican en cuatro c a t e gorías: . Es necesario especificar la direccidn de M cuando se escriben operaciones de transferencia de memoria. Una palabra de memoria se "pmentard con la letra 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. llamado re@m de direccionamiento y simbohdo por AR. desde la palabra de memoria M seleccionada m e d i t e la direccibn en AR.108 C M ~ I L O CUATRO Transferencia de registro y miuooperaciones acopladores en cada uno. se selecciona mediante la dirección de memoria durante Ia transferencia. Transferencia de memoria La operaci6n de una unidad de memoria se dexribió en la seccibn 2-7. La palabra de memoria particular. Considemos una unidad de memoria que recibe la direccibn de un registro. h transferencia de nueva UifomaciCin para abcenarse m la memoria se h a operaci6n de mritura. entre las muchas disponibles. como se muestra en la figura 4-5.informaci6nde una palabra de memoria al ambiente extemo se llama operación de l e t w a . Cada p p de cuatro acopladores recibe un bit si'@cativo de los cuatro registros. Esto se realizar4 encerrando la direccibn en paréntesis cuadrados despugs de la letra M. dentro de la palabra de memoria M seleccionada por la dirección en AR.

Las micmoperaciones aritméticas bdsicas son suma. pero no se incluyen en el conjunto básico de rnicmperaciones. 2. registro Rl se suma al contenido del registro R2 y que la suma se transfiere al registro R3. 4 Microoperaciones de corrimiento que ejecutan operaciones de corrimiento sobre los datos almacenados en los registros. Las otras miraciones aritmdticas bAsicas s e listan en la tabla 43. El único lugar donde estas operaciones pueden considerarse como hicrooperaciones ea en un sistema . Estas dos son operaciones aritm4ticas vhlidas. En lugar de usar el operador menos. Las operaciones aritm&tkasde multiplicar y dividir. Los otros tres tipos de micmoperaciones cambian el contenido de la informaci6n durante la transferencia. La microoperaci6n aritmética definida por el enunciada especifica una microoperaci6n de suma. mediante la compIementaci6n y la suma. Microoperaciones aritméticas que ejhtan operaciones aritmCticas 1 sobre datos num&ricosalmacenados en los registros. no se Estan en la tabla 43.KL Las microoperaciones de incremento y decremento se representan m e diante las operaciones más-uno y menos-uno. Para implantar este. decremento y corrimiento. Estas microoperaciones se implantan con un circuito combinacional o con un contador binario descendente. La mimooperación de transferencia de registros se analizó en la sección 4-2. 3. Micmperaciones 16gicas que ejecutan operaciones de manipulacibn de bits sobre.1 . produce e1 complemento a 2.datos no numéricos ahnacenados en registros. respectivamente. Dedara que el contenido del.enunciado con hardware n-itamos tres registros y el componente diital que ejecuta la operacibn de suma. Los corrimientos arith+ticos se explican m 6 9 tarde junto con la&rnicmperaciones de corrimiento. En esta seccidn presentamos un conjunto de microoperadiones aritmkticas. resta. La resta se lleva a cabo con mayor frecuencia. Este tipo de m i c ~ a c i 6 n no cambia el contenido de la infomci6n cuando la infomiacibn b h r i a pasa del registro fuente al registro destino. Sumar el contenido de R1 a l complemento a 2 de R2) es equivalente a R1 . podemos especificar la resta mediante el siguiente enunciado: R2 es el simbolo para el compIemento a 1 de R2. Micrmperaciones de transferencia de registros que transfieren Mor-' maci6n binaria de un W t r o a otro. incremento. En las dos siguientes secciones presentamos las microoperaciones l6gicas y de corrimiento. Sumar 1 al complemento a 1.

" Un suma* biqasio de n bib necesita n sumadores completos.. - . Para ~pec2icarel hardware en un caso así. El acarreo de entrada al sumador biharb es Cpy el acarreo de salida es Ca. La figura 4-6 muestra la interconexi6n de cuatro sumadores compl&os o FA por sus siglas én inglés para proporcionar uri sumador binario de cuatro bits. suniador chplefo .Descripcibn El antMdo de £21 m t s R2 transferido a R3 El contenido de R l menm R2 transferido a 83. En tal caso.que realizan estas operaciones se propagan por las compuertas y e l resultado de h operacibn se transferir a un registro destino mediante un pulso de reloj. tan pronto. camo k semíal de salida se propaga por el circuito combinatsrio. reiita y corrimiento (vCase el capfhilo 1 0 ) . mayoría de Ias computadoras. las *=. 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. los bits de suma requeridw. En :la. Las salidas S de los sumadores completos. donde se ejsutan pediante un circuito ~mbinatorio.d emic?nidode R2 (negar) RI más el complemento a 2 de R2 (resta) Imcmentar el eonienido de R1 en uno Dcmmaniar d contenido. con el acarreo de salida de un gumador compIeto conectado aI acarreo de entrada del sipiente sumador completo. B sumador binario se construye con circuitos sumadoy completos conectados en cascada. L a s bits sumandos de A y los bits sumandas de B se íden&can mediante niimeros suscritos de derecha a izquierda. L a dichibn se ejeqta . figital. la operaci6n de multipliea$ín se efectqa con una secumcia de microoperaciones de suma y de conimiento. El c+Uito Gital que forma la suma aritmbtica de dos bits y un acarreo' previo se 1 1 sumador completo (vbase la figura 1-17). Camplemm€ard contenido de R2 (complemento a 1) Complementar n 9.con secuencia de miemperaciones de resta y de corrin+nto. co'n gl O suscrito denotanao el bit de menor orden. E31 acarreo de salida d@e -da sumador .wmple. se necesita una lista de enunciados que utilicen las microoperaciones bdsicas de suma. Los n bits de m a d o r binrrario .de Rl en uno ' .toestá conectado al acarreo de entrada del siguknte sumadur completo de nivel superior. Los acarreos &tán mríectados en una cadena que fecorre los sumadores completos. El Cireuito digital que genera la suma aribnetica de d& niimeros binarios de cualquier longitud w h a sumador binario.

S2 SI F i g a n 4 4 Sumador biiario de 4 bits. E 1 complemento a 1 se puede obtener con invemres y se puede agregar 1 a la suma mediante el acarreo de entrada. La entrada de modo controla la operación. Un circuito amador sustractor de 4 bits se mueitra en la figura 47. El complemento a 2 puede obtenerse al tomar el ct>mptementoa 1 9 agregar 1 al par de bits menos significativo. Cuando M = O e1 circuito es un Figura 4-7 Sumador surttractor de 4 bite.un registro Sumador sustractor binario La resta de números bhanos +puederealizarse en forma m6s conveniente por medio de mmp1ementos. y los n bib de datos para las B entradas provienen de b€roregistro (por ejemplo R2). s e g h se anaiiib en la swri6n 3-2.B puede realizarse al tdmar el complemento a 2 de B y sumarlo a A. Las operaciones de suma y resta se pueden combinar en un circuito corrifin al incluir una compuerta OR exclusiva con cada sumador completo.Recuerde que la resta A . ia suma pude transferirse a un tercer Wistro o a alguno de los registros fuente (R1 o R2). datos para h s entradas A provienen (de. A2 swmadw -tMctor Bt A3 Bz 81 AI . sustituyendo su coiiknido previo. (po~ ejemp10 Rl).

E l circuito recibe los cuatro bits de A. la transición del pulso de reloj incrementa el contenido del registro en uno. 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 n h e r o binario 1111. En la figura 4-8 se muestra el diagrama de un incrementador de circuito combinacionaI de 4 bits. Todas las entradas B s e compleM = 1. El circuito ejecuta la operación A m8s el complemento a 2 de 0. Cada vez que la habilitacibn de cuenta está activa. Esta microoperaci6n se efechía con facilidad con un contador buiario (véase la figura 2-10). Esto puede Iograrse mediante semisumadores (vhse la figura 1-16)conectados en cascada. está conectada al I 16gico y la otra entrada esta conectada al bit menos significativo del número que se va a incrementar. menos significativo. Para ndmeros sin signo esto da A .B si A r B o el complemento a 2 (B . si un registro de 4 bits tiene un valor binario 0110. Las sumadores completos r e c M el valor de B. Cuando .C A P - C U A M Transferencia de registro y mimoperaciones sumador y cuando M = 1 el circuito se convierte en un sustractor.E. tenemos B @ 1 = B ' y C. = 1 mentan y se suma un 1 mediante el acarreo de entrada. HA por sus siglas en inglh. Una de las entradas al semisumador. tenemos B @ = B. Por ejemplo. Incrementador binario La micmoperaci6n para incrementar ~ u un m 1 a un número en un registro. El acarreo de salida de un semisumador estb conectado a una de las entradas del semisumador del siguiente orden más alto. Para números con signo el resultado es A . b i o también hace que !as salidas de So a S3 vayan a O. Cada compuerta OR exclusiva recibe una entrada M y una de las entradas de B. A 2 Al . siempre y cuando no exista sobreflujo. pasara a O111 después de incrementarse. a A.A) si A < B. Cuari'do M = O. Figu-ra4-8 Imrernentador binario de 8 bits. Puede haber ccasiones en que la micrmperacidn de 7 r - incremento deba realizarse con un circuito combinatorio independiente de m inerementadm un registro en particular. el acarreo de entrada es O y e l circuito ejecuta A mAs B.

Las otras entradas reciben el número que se va a incrementar por acarreo de l a etapa anterior. TI'L) y la señal del 1 16gicw puede generarse a través de un inversor cuya entrada sea 0. Los otros acarreos se conectan de una etapa a la siguiente. al extender el diagrama para que incluya n sernisumadores. Circuito aritmético circuito adtmdtico acarreo de entrada Las microop. Las otras dos qntradas de datos estAn conectadas al O 16gico y al 1 Iógico. Existen dos entradas de cuatro bits A y B y una salida de cuatro bits D. Cada una de las cuatro entradas de B está conectada a las entradas de datos de los multiplexores. Al controlar las entradas de datos al sumador.El circuito del diagrama 4 8 puede ampliarse a un incrernentador binario de n bits.menos signifkativo debe tener una entrada conectada a1 1 16gicu.Tiene cuatro circuitos sumadores completos que constituyen el sumador de 4 bits y cuatro multipIexores para elegir diferentes operaciones. E l O 16gico es un valor de voltaje f i j o (O volts para circuitos integrados. Las entradas de datos de los multiplexores tambign reciben e l complemento de B .Las cuatro entradas de A van directamente a las entradas X del sumador binario. El diagrama de un circuito aritmético de 4 bits se muestra en la figura 4 9 . D=A+Y+C. La salida del sumador binario se calcula en la siguiente suma a r i h & tia TABLA 4 4 Tabla . Los cuatro muItiplexores se controlan mediante dos entradas de selecci6n SIy So. E l componente bAsico de un circuito aritmético es el sumador paralelo. es posible obtener diferentes tipos de operaciones aritmgticas.detunción de circuito arihdiico Entrada Y Salida . - Siimar Sumar con acarreo k t a r con pr&tnmo Restar Transferir A Incremcntnr A Dcxrcmentar A Transfmir A . E l bit .eracionesaritmkticas listadas en la tabla 4 3 pueden implantarse en un circuito aritmbtico compuesto. E l acarreo de entrada Cm va al acarreo de entrada del FA en la posición menos significativa.

S14 M P f i U D CUATRO Tmnsfemda de registro y microoperaciones Figura # Circuitoaritmgtim de 4 b i b . .

l o c g l es equivalente a una resta de A . Estas operaciones consideran cada bit de r e g i s b en forma separada y las tratan corno vaddbles binarias.E n el segundo caso el valor de A. $i Cm = 1 . Cuando Cm = O. Esto ea +valente a una rwta con petarno. Cuando Cm = 1 . &ando Si$ = 0 1 . Esto es porque un numero con s61o digitas 1 es igual al complemento a 2 de 1 (el complemento a 2 del biiiario E001 es 1111). es posible generar las oeho mlcrooperaciones arihéticas que se lrstan en la tabla 4-4. En e l primer caso tenemas una transferencia directa de la entrada A a la salida D. Al controlar el valor de Y . 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 l o s registros. = 1. &to prduce A + el complemento a 2 de B. Cuando SISO= 11. C i y a l a O o 1. e l cual puede ser igual a O O 1. las entradas de B ya no se toman en cuenta. siempre que la variable de control P = l. Sea el con& nido de R1 1010 y el contenido de R2 11W.B. Por ejemplo. A .=OyD=A+1 cuando C. se incmnenta en 1 . todos los grupos de 1 e insertan en las entradas Y del sunaador para produe la operaci6n de decremento D = A .e l valor de B se aplica a las entradas Y del sumador. entonces D = A + B + 1. la salida D = A + B + 1 . Sumar un niimiero A al complemento a 2 de 1 produce F = A -t.B. Las micmpe'aciones 16gidaa especifican operaciones binarias para arreglos de bits almacenados m registms.L a micmperación OR-exclusiva mencionada antes representa la operacidn 16gica: & & "- . Como un ejemplo numérico considere que cada registro tiene 4 bits.suma resta immentar deerementar % donde A es e l número binario de 4 bits en las entradas X y Y es el número binario de 4 bits en k s entradas Y del sumador binario. La salida se ~0nvi~enD=A+O+C. Nótese que el símbolo + en la ecuaci6n anterior -menta un más gritmktico.1 cuando Cm = O.B . l o mal p d u c e una transfemck directa de la entrada A a la salida D. Ia d i d a D = A + B. Ambm casos ejecutan la microoperacibn de suma con o sin el acarreo de entrada. porque d o hay siete rnicrooperacioñes disthbs en el circuito aritmético. Cuando SISO= 10.ktodaD=Acuand0C.1 +' 1 = A. entonces D = A . Nbtese que l a microopración D = A se genera dos veces. ecto es.1. su. Cm es el acarreo de entrada. complemento a 2 de 1 = A .lugar todos los grupos de O se h s e q t a n en las entradas Y. Si Cm= O. Cuando SISO= 00. Si Cm = 1 . con las dos entradas de selecci6rt SIy So y hacer a . y en .d ciompl-to B x aplica a ias mtra¿as Y del sumador. entonces D = A 4.1.

tiene dos si@hdoB. Se adoptarán simbolos especiales para las micrqeraciones 16gicas. pero son muy iitiles para manipulacibn de bits de datos binanos y para tbmar decisiones 16gicas. Se usará e l símbolo v para denotar una rnicrooperaci6n OR y el shbolo A para denotar una micrmperaci-6n AND. Cuando duma en una funcih de control (o booleana)i denoM una operaci6n OR Nunca la usaremos paca repmtar una miampmaci6n OR Por ejemplo. es igual a la operacidn OR-exclusiva bit a bit sobre pares de bits en R2 y valores previos de R1. de una y a c i 6 n OR l&gka. Cuando a p a m a en una mhmpaci6n signifiará un d e a r i t d i c o . despuds de la ejecución de la microoperaci6n. Lista de daooperaciones 16gcas Existen 16 operaciones 16gkas diferentes que pueden ejecutarse con dos variables bharhs. Otra tazón para adoptar dos conjuntos de símbolos es la posibilidad de distinguir el slmbolo + . pibk disth@los al identifirar dbnde murre el sfmbo10. para diferenciarlas de l a símbolos correspondientes que se utilizan para expresar funciones bmleanas. Pueden dekrminatise de addas las tablas de verdad p i TABLA 4-5 Tablas de v d a d para las 16 funciones de dos variables . en el enunciado e l sínitalo + entre P y Q es una operaci6n OR entre dos variables binarias de una funcibn de control. Al usar símbolos diferentes. AND y complementar. El símbolo entre R2 y R 3 especifica una microoperación de suma. será posible diferenciar una operaci6n lógica y una funri6n de control (o booleana).6 CAFfIULO CUATRO Transferencia de registro y microoperaciones 1100 O110 1010 Contenido de R1 Contenido de R2 Contenido de R1 después de P = 1 E i contenido de R1.Aunque el símbolo 4. La miaoopexación OR estd representada por ei sfmbolos especiales - + simbolo V entre los regigtrcrs RS y R6. cuando se usa para r e p m t a r un mAs aritmbtico.OR. Las micrmperacion~I6gicas se usan rara vez en chputos cienWieos. L a miaooperacf6n complementar es k i misma que el complemento a 1 y utiliza una barra en la parte superior del slmbolo que defibta el nombre del registro.

cada una de las 16 columnas que van de la F. AND.m Fttodos F ~ A V F Complementar A Fu = (XY )' F. = 1 N Establk t d o s a dígitos 1 dlgitos 1 . ias 16 funciones booIeanas de dos variables x y y w expresan en forma abebraica en la primera columna de la tabla 4-6. N6tese que las funciones están determinadas a partir de las 16 combinaciones binarias que pueden asignarse a F. implantacidn de hardware L a implantacibn de microoperaciones 16gicas por medio de hardware requier e que se inserten compuertas lbgicas para cada bit o par de bits en el registro para ejecutar las funciones 16gicas requeridas. la mayoria de . TABLA 4-6 IX~CMI? mkwperaciones 16gicas Funci6n boolmna Microopación Nombre Limpiar FO = O Fa = xu K =XY' F a =x Fe0 F+AAB AND ' F+AAB F+A F. OR. = X ' Y &=Y Fb=x$y F.ias computadoras utiiizan 6610 cuatro. Aunque existen 16 microoperaciones lhgicas. de las cuafes se pueden derivar d a s las dern6s.. a la F15 representa una tabla de verdad de una función booleana posible para las dos variables x y y. Las 16 microoperaciones 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.XOR (OR-exclusiva) y complementar. 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 s e trata como una variable b i r i a y la microoperacidn se ejecuta en Ia serie de bits almacenados en el registro.=x+y F+XAB FtB F+A@B F+AvB TrñnsfmirA Transferir B OR exclusiva F& = (X + y)' F+A NOR F +AFtB NOR exclusiva Complementar B OR FS = {x @y)' Fa =y' F*r x + Y' FU = x' E F U = X ' + ~ F ~ A F-XVB F 4 .bles que se obtienen c m dos variables binarias según se muestra en i a tabla 4-5. 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.En esta tabla.

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..2 . -Para un circuito lógico con pt bits. Algunas aplicaciones Las micmperaciones 16gkas son muy útiles para manipular bits individuales con una parte de una palabra almacenada en un registro.l6gico. Pueden usarse para cambiar valores de bit.1. tas variables de selecci6n se aplican a todas las etapas. el diagrama debe repetirse n veces donde i =: 0. borrar un grupo de bits.. Cada una de las mafm operaciones lógicas se genera por una compuerta que ejecuta la 'lbgica q d e r l d a . o insertar nuevos valores de bits en un'registro. de bit que tienen O en B. 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. E s t o no afecia a las pasidone. Las salidas de las compuertas s e aplican a las entradas de datos del multiplexor. La operaci6n & inicio selecb'w lleva a 1 lm bits del registro A donde hay uno^' mr&pdiaiks en d mgistm B..T m C U A ~ Tm&mda de registra y mimperaciom S 1 S o O m Salida &=AA3 Operaclbn . En una aplicacibn tipica.1.Ei O O AND OR XOR T 1 E=AvB E=A@B 1 1 O 1 E=A Complemento b) Tabla de función a) Diagrama lbgiro Figura M V Una etapa un dmiito.n . Las dos entradas de seleccibn SI y So seleccionan una de las entradas de datos del multiplexor y dirigen su valor a la salida. c i m i ' t aI ¿ @ o La figura 4-10 muestra una etapa de un circuito que genera las cuatro microoperaciones 16gicas básica8 E s t á fofrriado de cuatro compuertas y un multiplemr. El siguiente qemplo numérico hace m6s clara esta opacibn: inicio selectivo . 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). El diagrama muestra una etapa típica con subindices i.

La r n i c m p raci6n 16giea correspondiente es La operari6n mtrnas~~arar es ssimüar a l a aperacidn de limpieza selectiva. por lo tanto los bits correspondientes de A se llevan a 1. El ejemplo anterior siwe como una tabla de verdad porque tiene las cuatro combinacion~s posibles de dos variables b m a r i a s . Por ejemplo: 1010 0010 A antes S (operando ldgico) A después Nuwamente.1100 1110 1010 A antes B (operando lbgieo) Adqués compiemento selectivo Lns dos bits de B del extremo izquierdo w n unos. No afecta las posiciones de bits que tienen ' O en B. b s dos bits de A con sus ceros correspondientes en B permanexn sin alteraciones. 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. con lo cual se complementan los bits correspondientes de A.los dos bits del extremo de B son unos. los dos bits de la extrema izquierda de 3 son unos. . lía microoperacibn OR puede para lievar a 1 o iniciar los biis de un registro de manera selectiva. Uno de estos dos bits ya estaba en 1 y el otro se cambi6 de O a 1. La operación de wmplemenlo selebtivo afmta a los biks en A donde están los unos mrsespondientes en B.lógico) A despds limpieza selectiva Asimismo. Uno puede deducir que la operación booleana ejecutada en los bits individuales es AB'. la micmperacibn exclusiva-OR se puede utilizar para complementar selectivamente los bits de un registrador. 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. Por ejemplo: - 1010 E O110 A antes B (operando. IA operacihn l i m p i a selecfiw (selectiw-cfeur) despeja a O los bits en A 6610 donde b y a unos correspondientes en B. por l o que los bits correspondientes de A se borran hácia 0. excepto que h s bits de A se borran sólo hay O correspondientes en . Por l o tanto.

O110 1010. Por ejemplo. y pbcas proporcionan una instrucci6n que ejecute la miaooperacl6n para limpieza selectiva.dos bits corrqmndienb son ambos O o a m b 1. . La operación enmascarar es una microoperaci6n AND. 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. A antes S (insertar) 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. 1. Para sustituir los cuatro bits del extremo izquierdo por el valor 1001 primero enmascaramos los cuatro bits que no deseamos: O110 1010 0000 1111 0000 1010 A antes B (enmascarar) A después de enmascarar y despuCs se inserta el nuevo valor: 0000 1010 1001 OOaO 1001 10lO. Despub se verifica el mdhdo de todo$ O para detennhar s i los dos n5meros eran iguales. supongamos que un registro A contiene mho bits. La operaci6n se realiza rnyante una microoperacidn OR exclusiva según se muestra en el siguiente ejemplo: Cwnda A y B son @S. La operacidn insertar introduce un nuevo valor en un grupo de bits.120 CAP~IULO CUATRO T m f e m i a de registro y microoperaciones B. como se aprecia en el siguiente ejemplo num4rko: 1010 1100 1000 A antes B (aperando lógim) 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. & cudyk caso la operación QR exclusiva p d u c e un O. La operación enmascarar es rn&'&nveniente para u s a que la operacibn de limpieza selectiva porqiie la mayoria de las computadoras proporcionan una instrueci6n AND. Los dos bits de la extrema izquierda pemaneeeh halteradas porque los bits conkspondienfes de B son unos.

4-6 Microoperacibnes de corrimiento comrrimiento ldglco ia~ microoperaciones de corrimiento se usan para la transferencia serial de datos. TABLA 4-7 Miaooperaciones de desplazamiento codmiento citrular Rcprclsentt. El bit transferido a la posición extrema por la entrada serial se considera que es O durante un corrimiento 16gico. Existen tres tipos de &entos: 16gic0. El contenido de un registro puede correrse a la izquierda o a la derecha. la infomci6n transferida mediante la entrada serial determina el tipo de corrimiento. Adoptaremos los símbolos por sus sigIas en inglks. Un corrimiento 16gico es aquel que transfiere un O por la entrada serial. La notaci6n simbólica para las mimperaciones de corrimiento se muestra en la tabla 4-7. El corrimiento circular (tambih conocido como operaci6n de rotacidn) hace circular los bits del registro por los dos extremos s i n pérdida de infonnacidn. 16gicas y de procesamiento de datos. el primer flip-flop recibe su informaci6n binaria &e la entrada serial. shl y shr para las microoperaciones de corrimiento 16gico a la izquierda y corrimiento lógico a la derecha. El símbolo de registro debe ser igual en ambos lados de la flecha.aci6nsimb6lica Descripcibn RtshlR R tshr R R tcil R R +cir R R tashl R R +ashr R Corrimiento a la izquierda del registro R Corrimiento a i a derecha del registro R Conimiento circular a la izquierda del registro R Comimiento cimilar a la derecha del registro R Corrimiento aritmktico a la izquierda de R Corrimiento aritmUico a la derecha de R . circular y arihdtim. Durante una operacidn de corrimiento a la d e r h la entrada serial transfiere un bit a 'la posid611de Ia extrema izquierda. 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 corrimiento circular a la izquierda y para el corrimiento circular a la deredia. Durante una operación de corrimiento a fa izquierda la entrada serial recorre un bit a la posici6n de l a extrema derecha. Al mismo tiempo que se recorren los bits. 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 i a derecha del contenido del registro R2. respectivamente. También se utilizan junto con operaciones aritmgticas.

&be el bit de R. i~ @ m 4-11 muestra un registro tlpiw de n bik E i bit R. y otro para iniciar Figura 4-11 kplazamiwito aritm6ticoa la derecha.ci#hJW W T R O T r a n s f e d a de registro y m i c r o o p e r a ~ codmiento aritmético .cambia su valor después del c~rrimiento. E31 bit de signo es O para Iws números positivos y 1 para los negativos.. -I de la p k % ne x mntiene el bit de signo. = O.. -2 Puede usasse un ftipfiop V. . pero si V.b s ni'imens ne~ativos estirt en su forma de complemento a 2. = 1. de sobreflujo para detectar un sobreflujo en un corrimiento a la izquierda arihética. antes del corrimiento. E 1 signo se invierte si el bit en R. ~~ . R. debe transferirse dentro del flip-fi~p de sobreflujo con e! mismo pulso de reloj que ejecuta el corrimiento del registro. V. El bit de la extrema izquierda en al W t t o contime 4 bit de signo y los bits retantes contienen el número. . Un co~rqirnienta m$tdtico p u q micrqqxracibn que recorre un n h e r o binarh con signo a la d e h a o a la izquierda. Por b tante Ri-2 queda igual. R.enparalelo y después ejecutar el cotrimiento 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. I R ~ 1- R "~ -2 1 R 1 Ro Bit de signo ..y así suceivarmente para las otms bits en e1 re@m E i bit en & se pierde. . no hay sobreflyjo. Ocurre un sobreflujo después de un corrimiento aritmktico a la izquierda si. El corrimiento arihnktico a la iquierda inserta un O en Ro y recorre todos los otros bits a la izquierda.-. Implantaci6n del hardware Una opci6n posible para una unidad de corrimiento serla un registro de corrimienb direceional con % a p ~ a l e l a(véase la figura 2-91. . L i informaci6n puede t r a n s f e b a l registra . Esto sucede s i la multiplicaci6n por 2 provoca un sobreflujo. Un corrimiento aritmético a la izquierda multiplica uri ndmero binario con signo por 2 Un corrimiento arihdtico a l a derecha divide el número entre 2. Ei corrimiento aritmético a fa derecha no m&ca d signo y recorre el n h m {incluyendo el bit de signo) al a derecha. -1 no es igual a R. es el bit maS si@ afivo del n h m y 4 ea e l bit menos sip%eakiva. Las corrimientos aritm&ticos deben dejar el bit del s i p sin modifmciones porque el signo del número sigue siendo e l & 6 m cuando se multiplica o divide por 2. &.. al %do. El bit inicial & -l se pierde y se sustituye con el bit de R. Si V. hay un sobrefiujo y una inversibn de signo despuh del corrimiento.

O m H3 Entrada / serial (lb) .. S O MIJx 0 IR Al AI A3 A2 -S \ kr- -H2 i 1 IL ' - ! .. Salida H o Hi Ao A2 -1 S Hz H3 . de H. Cuando la en*ada de selemi611es S = O. las datas de enbada se desplazan a la demha (abajo en el diagrama). d m h a '@d. Hay dos entradas serides. Esto necesita &lo un pulso de reloj para cargar el valor con corrimiento dentro de un registro. S I O I MLX N O A0 -4 1 A1 3 Q : MUX A2--A3 -ffs I I Tabla de funci6n Seleccionar 1 . unatrpara el corrimiento a la izquierda (iL ) y la otra para elLcrgmhimtoa la . 4-U.de cmimiento un circuito combinacionaL D e &a mnera el c o n w d o de un mgbtm el que tiene que ejecutar el mmmiento se colma primepa en un b w común cuya>salida esti5 conectada al circuito & corrimiento ~ombinatoqioy después el número can el corrimiento se carga otra vez en sl. mgifitro.para corrimiento de 4 bits.sic muestra:enk figura.. - Figa K& 4 4 2 Cirtuito mmbinacional. de A. En una unidad procesadora con muchos registros es más eficiente impl@ar la operaqihn. entradas de datos. a As y cuatro saiidas de datos.cimrito de corrimimto el corrimiento. El circufto de 4 bits tiene cuakro . Puede construirse un circuito combinatorio para corrimiento con multip1mxa e n . Entiada secial (IR) - Sei~lunat O pra el mrrimfmto la derecha 1 para el corrimiento a i a izqiiierda (arriba) . a H3.

tem computacionales emplean cierta cantidad de = gisiros de almacenamiento conectados a todas las unidades operacionales comunes.124 C U A ~ Transferencia de registro y mi-peraciori~ Cuando S = 1 . y se abrevia ALU F:igura 4-U Una etapa de la unidad de corrimiento aritrdtica-16gica. Las dos entradas seriales pukden controlase mediante otro multiplexor para proporcionar los tres tipm de desplazamiwto posibles.y salidas necesita n rnulfiplexores. los datos de entrada se desplazan a la izquierda (arriba en el d3agrama). la cual se denomina unidad arihn4tica-l6gica. 4-7 Unidad de córrlmiento lógico aritmético En lugar de tener registros individuales ejecutando Ias microaperaciones en forma directa. Un circuito por corrimiento con n entradas de datos . La tabla de h c i 6 n en la figura 4-12 muestra cuAl entrada va a cada salida despugs del corrimiento. los sis. S3 I shl 1 .

El a c a m de salida Ci. Las mi. Una etapa de una unidad de corrimiento aritméti-lbgico se muestra en la figura 4-13.l de una etapa aribnbtica dada debe . puede ejecutarse durante un .crqmaciones de c o ~ m t con o frecuencia se ejmtan en una unidad separada. ~~ TABLA 4-8 Tabla de fur1ci6n para una unidad de mrrimiento Iógica aritmdtica Selecci6n de la operación 0 O O O O O O O O O 0 O O O O 0 O O O 0 O 1 1 O O 1 1 1 O O O 1 1 1 1 O 1 O O 1 1 O O 1 1 O 1 O 1 X X 1 1 1 x x O F = A Transferir A 1 F=A+l Incrementar A O F=A+B Sumar 1 F=A+B+lSumarconacarreo O F =A + Restarconmtamo 1 F=A+B+lRestar O F=A-1 h m e n t a rA 1 F=A Transferir A x F=AAB AND x F=AVB OR X . y S.SECCI~N 4 7 Unidad de corrimiento 16gieo a r i h d t b 125 ' (arifhrnefic logie unit).conectarse al acarreo de entrada Ci de l a siguiente etapa en secuencia. 16gicos y de corrimiento que se presentaron en las secciones anteriow pueden combinarse en una ALU con variables de selecci6n comunes. para la operación de corrimiento a la izquierda. y So. La ALU es un circuito combinabrio. Los datos en el multiplexor s e seleccionan con entradas S. Las otras dos entradas de datos d multiplexor Feciben entradas Ai.* para la operación de corruniento a la derecha y Al. el cual proporciona una variable de ~Ieceihn para las operaciones aritm&ticas. El circuito de la figura 4-13 debe repetirse n veces para una ALU de n bits. Para ejecutar una micmoperaci6n.período de un pulso de reloJ. F=A@B XOR x F=A Complementar A x F=shrA Conhiento a la derecha A den& de F x F=sbiA C d m k n b a la izquierdoA dentro de F . El acarreo de entrada a la primera etapa es el acarreo de entrada C . N6kse que el diagrama muestra s61o una etapa tlpica. Un muItiplexor 4 X 1 en la salida selecciona entre una salida aritmbtiea Eiy una salida 16gica en Hi. Se selecciona una micrwperacibn parkicular con las entradas S. por lb que toda Ia operación de transferencia de regisdesde los fuente por la ALU y hasta dentro del registro destino. E l subhdice i repmenta una etapa tlpica.registro destino. pera en ocasiones h unidad de corriwenta forma parte de Ia ALU general. Las entradas Al y BI se aplican a las unidades aritmkticas y lógicas. tos circuitos aritméticos. el contenido de 10s qistm especificados se colma en ]mhs enbdas de la ALU m ú hLa ALU ejecuta una operaci6n y el resulbdo se transfiere d .

Las otras tres entradas de sekcibn no afectan al corrimiento.d. . *.126 cAPtnno CUATRO Transferencia de registro y micrmperacimes .es.ecuatro regis-. Muestre el diagrama de blque del h a r d w a ~ (similar a la figura 4-2a) que Implsrnta. y dos operaciones de despbmiento. cada r e g i h tiene um'lon@hidde ocho bits: las transferencias requeridas sbn dietadbs p r hahm Varídblizs de demprizaa6n Toa Tgde l a manera siguiente 4 3 . R5. RO. Las wiid.& conectadas mediante multiplex<res de 4 a 1 líneas a las entiadag de un quinto registro. So. El circuito cuya iuiica etapa est6 especificada en la figura 4-13 proporciona ocho opwaciones aritmhticas. muestre las c o ~ o n e que s deben induirse para proporcionar una t r a ña de las salidas del regisb C a las-entradasdel registro A. Cada operación se selecciona con las cinco variables S.igual a 1en cualquiermomento. Dibuje un diagrama de bloque que muestre la implantaci6n de hrdware de las tra~fcrencias de registros.R1. &l.R2 y R3.E 1 acarreo de entrada no a k t a durante las operaciones 16gicas y se marca con letras X que representan ' ' n o importa" Las dos altimas son operaciones de corrimiento y se selecciomztci con S3SI = 10 y 11.rnienbas que las otras km son iguales a O.elsiguiente mmciabo de bansfeeticia demgisim: 2 . S* S.R3) 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. Represente el siguiente enunciado de control condicional por medio de dos enunciados de transferencia de registros con funciones de control. S i (P= 1) entonces (Ri M. lo que sipifia que &lo una variable es. ias siguientes cuatro son operaciones ldgicas (véase figura 410) y se seleccionan con S3Sz = 0 1 .qs. incluya las d o n e s necesarias de las cuatro variablesde temporizaci6n a ias entradas de selecci6n de los rnultiplexores y a la entrada de carga del registro R5. Las primeras mho son operaciones aritmétiras (v6ase tabla 4)y se seleccionan con SS2= OQ.y Cm E l acarreo de entrada Cmse utiliza para seleccionar sólo una aperaci6n aritmética. cuatro operaciones 36gicas. Las variables de temporización san mutuamente exclusivas. La tabla 4-8lista las 14 operaciones de la ALU.R2)además si (Q= 1) entonces (R1.dado.

Una computadora digitai tiene un sistema de bus común para 1 6 registros de 32bits cada uno. Explique la operad6n de memoria en cada caso. Considere los siguientes enunciados de transferencia de registros para dos registros de 4 bib RI y R2.Inciuya las compuertas 16gi~s para la W i b n de control y un diagrama de bloque para e l contador binario coq una entrada de habilitaeibn de cuenta. 44. y. el contenido de M se agrega al contenido RI si x = 1.) 4-9.4-5. [Recuerde que ei sfmbola +representa una operacidn O R en una funci6n de control o booleana perosepresenta un mas aritmCtim en una microoperaci¿n. Incluya las compuertas ldgicas para la funci6n de control. muestre cómo las variables de control x y T deccionan . En el diagrama. Muestre el hardware que implqnQ el siguiente enunciado. MIAR] +R3 c. R 2 t M [ A R ] b. Cada v a que la vaiable T = 1 . 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= . Dibuje un diagrama de sistema de bus similar al que se muestra en la figura 4-5. 4 1 0 . y un multiplator cuidruple de 2 a 1 líneas que seleccione las entradas a R l . donde AR y BR son dos registros de n bits y X. a. que muestre la implantad6n de hardware de los dos enunciados. Utilice diagramas de bloque para los dos registros de 4 bits. R5 t M [ R S j Dibuje el diagrama de bloque de hardware que implanta los siguienb enunciadas: 4-7. ~ Q u k tamafio de multiplexores se necesita? c ¿Cuántosmultiplexores hay en el bus? Los siguientes enunciados de transferencia especifican una memoria. a. y z son variables de control. E l bus está construido con multiplexores. un sumador de 4 bits.las entradas del multiplexor y la entrada de carga del registro R1. 4-8. o el contenido R2 se transfiere a Rl s i x = O. iCuántas entradas de selecci6n hay en cada multiplexor? b. Dibuje un diagrama 4-11. y utilice acopladores de tres estados y un d d f i c a d o r en lugar de los multiplexores.

' 4-12. 11111101 &i9. NOR y NAND. NOX exclusiva. 4-37. Considere que e l circuito aritrnktim.. Utilice d a variables de seIeaci6n. tll1OllOl b . Mussbe las ronexiorres entre dos CI tales para formar un circuito ariimitico de 8 bits. E 1 circuito genera las cuatro operaciom aritm6tim ~igtienles junto con el acáireo de entra-daC. O 1 D =A D =A . Dibuje e l diagrama 16gico para b dw primeras ehpas.S .1(dmentar) + B (sumar) D = A + 1 (incrementar) D = A '-t. &ve 4 1 8 . de 4 bits de Ia figura 4 9 ect8 en un emapsuiado Q. S. CR y DR inicialmente tienen los siguimtw valomx . + 1 (restar) 416.Determine el operando B 'y la microopwacibn IIógiea que se va a ejecutar para cambiar el valor enA a: a. BR.uncircuito combinacional que seleccione y genere cualquiera de las 16 funciones lbgicas que se listan en la tabla 4-5. 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. 4-13 414 Diseiíe un circuito combinatmio de 4 bits que decremente. 1 Incremmte R l donde R1 es'un contador con carga paraida y R2 es un registro de 4 bits..1 CAFhWD CUATRO Transferencia de regjstro y - micmoperaciones X: x'y: A1 + R l + A2 'Suma RZ a R l X l c R I +. E l registro A contiene e l binario de 8 bits 11011001. h r ~ s h de s 8 bita AR. S . . m un circuito digitai que realid las cuatro operaciones iógicas de OR exclusiva. Muestre el diagrama lógico de una etapa tipica. El circuito curnador-sustractor d e > hfigura 4-7 tiene los siguientes valores para el modo de entrada M y las entradas de datos A y B. utilizando cuatro circuitos sumadores completas. determinelos valores de las salidas: S. y C. En cada caso.

y dete& si existe un sobreflujo.CmnputerArchiQcture: A Quantitative Appn>ach. Ed. y G. 1984.IR=1.. 1988. Booth.L .Computer E q i m r i n g : htnrduwre D e s i p . 6.Referencias 129 Determine los vdores de 8 bits en cada registro despuks de la ejecución de la siguiente semencia de microoperaciones. L. Ptentice Hall. 423. T .inaementar BR Restar CR de AR 4Zl. Digitrrl Spkns: Hardmre OrganUathm and Design. . Mano. Compiiter Architecture attd Orgunhtion. 1988. rl-22.eIL=O? tQu6 error contienen los siguientes enunciados de transferencia de registros7 2. ünglewood Cliffs. 3a.determine el valor del registro despud de un corrimiento aritm&tieo a la izquierda. 1 9 8 7 . . J. Haya. 5 .Hennessy. Nueva Yark: MeGrawHiU.CR 4-20. AR+AR + BR CR +Cñ A DR. 3a Ed. ¿Cuál es el valor del registro después de un corrimienta aritmgtico a la derecha? Comenzando can e l número inicial 10011100. 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. CA: Morgan Kaufmann Publishers. BR +BR AR +AR . J. Un registro de 8 bits contiene el valor binario 10011100. ¿CuM H el valor de la salida H en la figura 412 si l a entrada A es 1001. F . Comenzando de un valor de R = 11011101.F. . 4 l-iiil. Nuwa York: John W i . D. Intduetion to Computer Engineering. M. San M a b .R Pekrwn.. Patterson. y J. 1990.Nueva York JohnWiiey.M. 2a Ed. A. +1 Sumar BR a AR Aplicar AND DR a CR. 3.S = 1.

y D . Nueva York: HarperCollins Publishers. S . Tomek. y R. 2a M. Rockville. Nueva York: Maraw-HiU. Computatbn Structures. The Art oJDigitnl Design. N: Prefite Hall.. . koasw.O ~ ~ ~ Trardemmh 1 x 0 de registro y micrmpraciones 7 . Modern Digital Desip. 1990.Cambridge. S. 1987. 1991. Wad. R ..Cwnputer Design m d Archikture. 8. C.A.E. 1990. Shiva. . 1 1 . P.H. Halstead. 9. G . F. EngIewod Cliffs. 10. Sandige.MA:MiT h . 1981. 1. M I 2 Computer Science P r s . 2a Ed. rjtfrodflction lo Computer Organiuitim. Jr.. Winkcl..

el diseño de la computadora.EN ESTE CAP~TULO 5-1 -- 5-2 5-3 5-4 5-5 5-6 5-7 5-8 5-9 5-10 J Wb Códigos de instrucción Registros de computadora Instrucciones de computadora Temporización y control Ciclo de instrucción Instrucciones de referencia a memoria Entrada-salida e interrupción Descripción completa de una computadora Diseño de una computadora básica 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 registros. 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. operandos y la secuencia mediante la cual tiene que ocurrir el procesamiento. además. la estructura de temporización y control. La computadora digital de propósito general puede ejecutar varias microoperaciones y. en detalle. La organización de la computadora se define mediante sus registros internos. . tiene la ventaja de ser lo suficientemente simple para mostrar el proceso de diseño sin demasiadas complicaciones. Un programa es un conjunto de instrucciones que especifican las operaciones. Después se lleva a cabo. Aunque la computadora básica que se presenta en este capítulo es muy pequeña en comparación con las computadoras comerciales. La organización interna de un sistema digital está definida por la secuencia de microoperaciones que ejecuta sobre los datos almacenados en sus registros. y el conjunto de instrucciones que utiliza.

cddigo de i~sfnrecibn Un c6digo de instrucción es un grupo de bits que instruye a l a computadora sobre cbmo ejecutar una operacihn especlfrca. un c6digo de insteucci6n debe mpecXcar no &lo la operaci6n. porque especifica un conjunto de micróoperaciones. La parte operativa de un c6digo de instruccibn especifica la operaci6n que se va a realizar. Los c6digos de instrucciones y 10s da. desplazar y complementar. Bnbp. Una operación es parte d~ una instniccibn almacenada en la memoria de la computadora. La computadora lee cada instrucción de la memoria y la coba en un registra de control. En este punto. d igual que el relgistro o la palabra de memoria donde se va a . Cuando este código de operacidn se decodiica en la unidad de control. consideremos una computadora con 64 operaciones diferentes. La capacidad de almacenar y ejecutar instmcciones. inbwppta el c W i binario de fa instrucci6n y procede a ejecutarlo m H i una m c i a de mierooperaciones. es la propiedad más importante de una computadora de uso general.en partes y cada una tiene una inkrpretacidn propia. Esta o p e r d n debe ejecutarse sobre algunos daalmacenados en los regisdel procesador o en la memoria. -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. debemos reconocer la relaci6n entre una operacidn de computadora y una micrmperación.132 QNCO OxganIzadOn y d i i de aompuhdcirrps La h a de pmemniento de datos puede alterarse al especificar un nuevo programa con iristrueciones diferentes o especificando las mismas instrucci* nes c m otros datos. La parte más cdd@ de operacibn baisica de un c ó d i i de instnxd6n es su parte de operacitan. Por lo general. Para cada código de operaci6n. sino también los registros o las pahbras de la memoria donde se van a encontrar los operandos. multiplicar. el concepto de programa almacenado. Como ejemplo. El c6digo de operacibn debe estar formado de por lo menos n bits para un conjunto dado de 2" (o menor) operaciones diferentes. Por esta razbn. 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. se divide . Cada computadora time un conjunto de instrucciones rinico. el cuntrol envía una secuencia de micrmpraciones n d a r i a s para la implantacibn del hardware de la operaci6n especificada. E1 código de operaci6n consta de seis bits. con una c~nfigurad6nde bits 110010 adgmda a la operación ADD. Es un &digo binario que le dice a la computadora que ejecute unaoperacihn e6pecifica. EI código de operaci6n de una instniccibn es un grupo de bits que define operaciones como sumar. Por l o bto. la computadora emite seiíales de control para leer un operando de la memoria y sumar el operando a un registro del procesaiior.se almaman en fa memoria. una de las cuales es la operación sumat (ADD).el control. h p u 6 s emite una secuencia de seAaIes de control para ficiar inicrooperaciones en los registrus internos de la computadora. a veces un código de operación se denomina macrooperacibn. restar. La unidad de control recibe la instrucci6n de la memoria e interpreta los bits de &digo de h operacidn.

En este capitulo elegimos un cddigo de instniccih particular para explicar la organizacih y el d k f i o bisico de las computadoras diitales. IA direccibn de memoria b dice al control dbnde encontrar un operando en la memoria. Pueden es@carse palabras de memoria en los c6digas de insttucción mediante sus direcciones.almacenar el sesultado. 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 . Pueden especificarse regishas 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 "componer" el ckdip binario de instrucciones. Este operando se lee en la memoria y se utiliza como los datos que se van operar o junb con b s datos almacenados en el registro del pmesador. Orgnnizaci6n de un programa almacenado. La figura 5-1 muestra este tipo de organizaci6n. y cada computadora tiene su propia formato de c6digo de instniceiones particular. Las instrucciones e s t h almacenadas en una secci6n de la memoria y los datos en otro.formulan los formatos de código de instrucciones y especifican la arquitectura de la computadora. 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. Los disefiadores de computadoras . La primera parte especifica l a operaci6n que se va a ejecutar y la segunda especifica unsi dirección.

E i control lee una instrucci6n de 16 bits de la parte de programa de la memoria. Está colocada en la direccibn 22 en la memoria. Una instruccibn de direccionamiento directo se muestra en la figura S-m). Si almacenamos cada c6digo de instnicci6n en una palabra de memoria de 16 bits. Como ejemplo de s t a configuración. las operaciones como borrar {limpiar) AC. Después ejecuta la operación especificada por e l ckligo de operaci6n. puede usarse el resto de los bits de -iiMstrucci6n para otros propbsitos.134 C A M O CINCO Organización y di* de computadoras una d k c i & n . El caigo de operacihn especifica una instrucci6n de suma ADD. S i una operacibn de un código de instnicci6n no necesita un operando de la memona. La instruccibn en la direccidn 35 que se muestra en la figura 5-2(c) tiene un bit . complementar AC e imrernentar AC' operan sobre l o s datos almacenados en el registro AC. Para =tos tipos de operaciones. Está formado de un código de aperacibn de 3 bits. una dimci6n de 12 bits.necesitan un operando de la memoria. y la parte de dirección es el equivalente biario de 457. Direccionamiento indirecto es conveniente utilizar Ios bits de direccionamienta de un cddigo de instrucción no como direccibn s*o como el operando real. El control encuentra la operaci6n en la memoria en Ia direccihn 4 7 y la suma al contenido del AC. Cuando la segunda parte de un c6digo de inshucci6n especifica un operando. L a s computadoras que tienen un registro de procesador único por lo general l o nombran acumulador y lo etiquetan AC. por lo que la instnicci6n se reconme como una instmccibn de direccionamiento directo. L a operaci6n se ejecuta con el operando de la memoria y el contenido de1 AC. dado que 212 = 4096. No. se dice que la instmcción tiene un operando inmediato. en la cual se encuentra la direccibn del operando. en el cual los biís de l a seffuida parte de la instmcci6n representan la dirección de una palabra de memoria. E l bit I es 0. Cuando la segunda parte especifica la d k c i 6 n de un operando se dice que la instniecibn tiene un direccionamiento directo. consideremos el formato de d i go de instrucci6n que se muestra en la figura S-2(a). acumdd~r (AQ y 12 bik para especificar la diréccibn de un operando. Se puede utilizar un bit del d i g o de instrucci6n para diferenciar entre un direccionamiento directa y uno En ocasiones instrucctdn inmediir tu indirecto. Por ejemplo. tenemos disponibles cuatro bits para el código de operacidn para especificar una de 16 operaciones pmible8. y un bit de modo de direccionamiento indimto representado por 1. 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. El bit de modo es O para un direccionamiento directo y 1 para un direccionamiento indirecto. Esto contrasta con una tercera posibilidad ilamada dimionarniento indirecto. no se necesita la segunda parte del d i g o de instrucción (del bit O al 11) para especificaruna d k i ó i i de memoria y puede utilizarse para especificar otras operaciones para la computadora.

La instnicci6n de direccionamiento indirecto necesita dos referencias a la memoria para buscar un operando. 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. s e reconoce como una instrucción de diteccie namiento indirecto. la segunda es para el operanda mismo. Por 10 tanto. El control va a la direccihn 300 para encontrar la direcci6n de1 qxrando. En la computadora que se presenta en este capitulo se utüizan los modos de direccionamiento directo e indirecto.Memoria Memoria Operando w Operando (b) Direccionamientodirecto (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 . Por lo tanto. El operando encontrado en la direcci6n 1350 se suma despub al contenido de AC. La parte de direccibn ec el equivalente binario de 3 0 0 . L a direccibn del operando en este caso es 1350. La primera referencia se necesita para leer la direccibn del operando. 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 . la d M 6 n efectiva en i a instrucción de la figura S-2(b) es 457 y en Ia instrucción de la figura 5-2(c) es 1350. d i m i d a efecfba de modo 1 = 1.

del procesador y no en la memoria. También es necesario proporcionar un registro en la unidad de control para almacenar el código de inshcci6n despuds de que se lee de la memoria. El registra acumulador (AC) es un registro de procesamiento de prop6+to general.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. las instrucciones de computadora se almacenan en posiciones de memoria consecutivas y se e j e c u h de manera secuencial. Despugs continúa leyendo la siguiente instrucción en secuencia y h ejecuta y así sucesivamente. El registro de datos (DI?) contiene el operando que se lee de la memoria.IR PC TR INP. 5-2 Registros de computadora -. Se utiliza el registro temporal (TR) para contener 10s datos temporales durante el procesamiento. Este tipo de GecuenUa de instrucciones necesita un contador para calcular la dirección de la siguiente instmccibn despub de que se temina la ejecución de la 'instrucción presente. TABLA 5 1 Lisia de regisbs para la computadora bisica Silnbolo Cantidad Nombre del registro Contiene operando de la memoria Contiene la d i m i 6 1 1para Ia memoria Regisiro de pfoceaador Contiene d d i g o de instruccidn Contiene L direccidn de instruccihn Contiene datos temporales 16 Registro de da toa 12 Registro de d i r ~ i 6 n 16 Acumulador de registra de bits DR AR AC . OUTR 16 Registro de instnitcibn 12 Coritador de programa 1 6 ~~temparal 8 Regish de enbada 8 Registro de calida Conti& carde enhada Contiene cadcter de salida . - Por lo general. E l control lee una instnicci6n de una diiecci6n especifica de la memoria y la ejecuta. La computadora necesita los registros del prmsador para manipular datos y un registro para contener una direccihn de memoria. La unidad de memoria tiene una capacidad de 4 0 % palabras y cada palabra contiene 16 bits. 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. Se necesitan doee bits de una palabra de instnicci6n para especificar la direccibn de un op. como se hace en las computadoxas cómerciales. Esta$ necesidades dictan la configuraci6n del registm que se muectra en la figura 5-3.& colocarse kn un regiStra . una a la vez. IA ir@ruccidn que se lee de l a memoria se coloca en el registro de instniccibn (IR).indirecto se utiliza como un apuntador a un arreglo de d a k El apuntador pu.

. se toma el contenido del PC eomala direcci6n para la m e m o r i a y se inicia un ciclo de lectura de memoria.J Bus c m & del sistema La computadora básica tiene ocho registros. El contador de programa (PC) 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. Despub el PC se incremmta en uno. La parte de dkcci6n de una instrucci6n de tiansferencia dei programa se transfiere al PC para convertirse en la direeci6n de la siguiente instrucción. a menos que se encuentre una 'instnicción de transferencia del programa. para que contenga la dipcci6n de h sipiente instrucci6n e n & Se usan dos registros para entrada y salida E l registro de entrada ( W R ) mi& un carácter de 8 bits de un dispitivo de entrada.(quese presentar4 en+lasección 5-4). contador de programa IPC) E i registro de direcGonamiento {M) de la memoria tiene 12 bits porque dste es el ancho de.unad i d 6 n de memoria. La cantidad de l í í s aerA exeesiva si s e hacen . Para leer una instrucci611. El e s t r o de salida (OUTR]contiene un carade 8 bits para un dispositivo de salida. una unidad de memoria y una unidad de control . Deben proporcionarw trayectorias para Wsferir firmaci6n de un registro a otro y entre Ia memoria y el registro.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. El PC recore una secuencia de conteo y hace que la computadora lea instruccbnes 6ecuenhles almacenadas previamente en la memoria. Las palabxas de instruccibn se leen y se ejecutan en secuencia. Una instrueei6n de transferencia del programa =licita una transferencia a una instruccih no consecutiva en >elprograma.

INPR está mnectado para proporcionar infomacibn al bus pero OUTR sólo puede recibir informacibn desde el bus. pero la d i k h de memoria está conectada a AR. tienen 12 bits cada uno porque coniienen direcciones de memoria. AR y PC. La conexidn de l o s registros y de i a memoria de la computadora bdsica a un sistema de bus común se muestra en la figura M .AC. Por ejemplo. No hay transferencia de OZfTR a cualqiiiera de 10s"gtros regktrw. La salida especifica que se seIecciona para las líneas del bus en cualquier momento dado. Las 16 llrieas $ e l 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. I R y TR. Hsto'se debe a que TNPR recibe un car4cter desde un disposiDivo de entrada que despugs se transfiere a AC.Dos registros. el niímero que está adelante de la salida de DR es 3. . y So. La memoria coloca su salida de 16 bits en el bus cuando se activa la entrada de lectura y Sfi. INR (inckrnentar) y CLR (borrar). La operacih incrementar se consigue al habilitar la entrada de cuenta en e l contador. Por lo tanto. Cuando el contenido de AR o PC se aplica al bus comtin de 16 bits. EI n h e r o que se encuentre adelante de cada salida muestra el equivalente decimal de la seleceibn binaria requerida. Las salidas de 16 bit9 de DR se colocan en Ias Uneas de1 bus cuando SaSISo = 011 parque este e s 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 l a memoria. tos cuatiro biQ mfis significativos se establecen en O. Hemos mostrado en la secci6n 4-3 c6mo construir un sisde bus común utilizando multiplexoreso compuertas de buffer de tres estados. Cinco registros tienen tres entradas de control: LD (cargar). Al utilizar un regbtro iinico para direccionamiento se elimina la necesidad de ~~. Cuando AR o PC reciben informacibn del bus.So = 111. siempre debe utiliizarse AR para especificar una direecibn de memoria. la memoria recibe el contenido del bus cuando se activa su entrada de escritura. El registro particular cuya entrada LD (cargar) está habilitada recibe los datos del bus durante la siguiente transici6n del pulso de reloj. 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. OUTR m i b e un carácter de AC y 16 envía* a un dispositivo de salida. S .138 CINCO Organización y d i d o de computadoras c a w r ILD) ' dime&& de memorfa 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. está determinada por el valor.biiario de las variables de seleccidn S. 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. Los datos de entrada y de salida de Ia memoria están condados al bus comdn. sdlo E transfieren al registro los 12 tiits menos significativos.Este tipo de registro se muestra en la figura 2-7. Las salidas de siete registros y de la memoria están conectadas al bus c m ú n . C u a b regisiros tienen 16 bits DR. Dos registros tienen una sola entrada LD.

.-.- Figura M Registros 6 la f a m p u b b a básica conectados a un bus c o m k . . .

Las 16 entradas de AC provienen de un circuito lógico y sumador. Se utiliza para efectuar microoperaciones de registro como el complemento AC y el corrimiento . Por ejemplo. todo durante este mismo ciclo de reloj. No se necesita un operando de la . 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. Una instrucción de referencia a memoria utiliza 12 bits para especificar una dirección y 1bit para especificar el modo de direccionamiento I. Puede especificarse el contenido de cualquier registr~para la entrada de datos de la memoria durante una operación. excepto AC. habilitando la entrada LD (cargar) de DR.140 C A P ~ CINCO O Organización y diseño de computadoras un bus de direcciones. 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). 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. 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. las dos microoperaciones pueden ejecutarse al mismo tiempo. Este Circuito tiene tres conjuntos de entradas. Un tercer conjunto de entradas de 8 bits viene del registro de entrada INPR. Cada formato tiene 16 bits. como sumar DR a AC o aplicar AND de DR a AC.AC. Las dos transferencias ocurren durante la llegada de la transición de pulso de reloj al final del ciclo de reloj. 5-3 formato de insfrucción Instrucciones de computadora La computadora básica tiene tres formatos de códigos de instrucción. Las entradas de DR y AC se utilizan para microoperaciones aritméticas y lógicas. De igual manera. I es igual a O para una dirección directa y a 1 para una dirección indirecta (véase la figura 5-2). que de otra manera sería necesario. Esto puede hacerse al colocar el contenido de AC en el bus (con S2S$o = 100). cualquier registro puede recibir. los datos de la memoria después de una aperaci6n de lectura. 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. Una instrucción de referencia al registro especifica una operación o una prueba del registro AC. La operación de INPR y OUTR se explica en la sección 5-7. Las instrucciones de referencia a registros se reconocen mediante el código de operación 1 1 1 con un O en el bit de la extrema izquierda (bit 15) de la instrucción. Otro conjunto de entradas de 16 bits viene del registro de datos DR. según se muestra en la figura 5-5. Un conjunto de entradas de 16 bits viene de las salidas de AC.

Si los tres bit^ del código de operacibn en Ias posicioaes de Ia 12 a la 14 no m iguales a 111. 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. Sin embaxgo. Las instnzcciones para la computadora se listan en la tabla 5-2. De igual forma.1-0) @) lnstmcdón de referencia a registro Figura 5 5 Formatos de inshucciónde la computadora básica. Nbtese que el bit de la posicibn 15 del código de instrucci6n esta representado mediante el slmbolo 1. La representación simbólica es una palabra de tres letras y signifika una abre viahira destinada a los programadores p los usuarios. el ndmero total de inqtnicciones escogidas para l a computadora básica es igual a 25. la instrucci6n ea del tipo de referencia a registro. pero no se utiliza como un bit de modo cuando el d i g o de operacibn es igual a 111. Si el código de operacibn de 3 bita es igual a 111. Si el bit es 1. Si este bit es O. 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. cddip hexadedrnal S510 se utilizan tres bits de la instruccibn para el &dig6 de operacibn. por lo tanto las otros 12 bits se-utilizan para especifmr la operaci6n o prueba que se. l k hecho. tos 12 bits restantes w utiIizan para espedfiear el tipo de operacidn de entrada-salida o la prueba ejecutada.va a ejecutar. 61 código hexadecimal es igual al nhero hexadeciial del c6digo binario utüizado para la instnrc- . E l tipo de instrucci6n se reconoce mediante el control de computadora de los cuatro bits en las posiciones de la 12 a la 15 de 1 s instnrccibn. C memoria. la cantidad total de instrucciones puede exceder de ocho. el control revisa el bit en I a posición 15.s E c a h M I n s t n i c c h de computadora 141 (a) Instruccibn de refemda a memoria 15 12 11 Q 1 1 I 1 O í+imUndeqim (CWigodeopr~b=l11. la referencia es del tipo de entcada-salida. Puede parecer que la computadora est6 limitada a un máximo de odio operaciones distintas. la instrucci6n es del tipo de referencia a memoria y el bit de la posici6n 15 se bma como el modo de direccionamiento 1.

Los otms digitos hexadeci- . donde cada digito h-decima1 es equivalente a cuatro bits. Cuando I = 1 .142 mmmmco . Las instruceibnes con referencia a registro utilizan 16 bits para especificar una ope~aci6n. El Bltimo bit de la instrucción estzi representado por el símbolo 1. A1 mar el equivalente hexadecimál reducihia los 16 bits de un cddigo de instrucci6n a cuatro dlgitos. dddo que e l dtimo bit es O. 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. porque e l dltimo bit ea 1 . rrJa OUT SKI SKO ION IOF F400 F2íN FlOO Fb80 F040 Introducir un canleter en AC Sacar qn cadcter d e d e AC Brincar hndera de entrada Brincar s i hay bandera de salida Intempcibn encendida Inkwpci6n apagada cih. Cuando I = O. el dígito hexadeeimal equivalente de los altimos cuatro bits de la uistrud6n vhda de 8 a E.Lee cuatro bits de la extrema izquierda son siempre 0111. .&ii rmh*folllar * & ~ I ' & Y ~ h. y diseñu de computadoras TABLA 5-2 I n s ~ n e de s la computadora básica C6diga hexadedmal Sfmbolo 1=O I= 1 Descripcibn AND ADD LDA STA Oxxx lm BUN BSA 2xxx 3xxx 4 ~ x Cxlrx ~ Brincar en forma incondiciona1 &ux Apiicar la h c i b n AND de la palabm de memoria a AC %m Sumar la palabra dememoria a AC Axxx Cargar la palabra de memoria a AC Biatx AImacenar el contenido de AC en la memoria 5 m 6~xx ISZ CtA D m Brincar y guardar la direccidn de retorno Exxx Incrementar y brincar s i hay un cero Borrar AC CLE CMA CME cm a n u c Borrar E Complementar AC Complementar E Circular a la d e m b AC y E C i r c u l a r 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 . Una instrueci6n con referencia a memoria tiene una parte de direcci6n de 12 bits. lo mal es el equivalente al hexadecimal7. las iiltimm cuatro bits de una instnicci6n tienen un digito Irexadecimal equivalente de O a 6.FWJ SPA SNA SZA SZE HLT .

Por ejemplo. . Las instmcciones de entradasalida tambfi utiliqn todos los 16 bits para espe~ificaauna operacidn. Por l o tanto. 3. ADD. pueden compararse dos números y.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.instrucciones que deben incluirse en una computadora. 2 Instruacianes par3 mover información hacia y desde la memoria y las registros del prwesador. Las instrucciones ktadae en la tabla 5 4 constituyen un conjunto mhim a que propomiona todas las posibilidades ya mencionadas. se u t i h para cambiar la secuencia en la cual se ejecuta el programa. Los programas y los datos deben transferirse a la memoria. Se dice que el conjunto de instrucciones está completo si la computadora incluye la suñciente cantidad de imtrucciones e n cada una de las siguien'tes categorlas: 1 . Hay una instruccidn aritmética. Vematiiiciad del conjunto de instrucciones Antes de investigar las operaciones que ejecutan k s htmcciones. el equivalente al hexadecimal P. Las instrucciones de entrada y salida se necesitan para la comunicación entre la computadora y el usuario. L m últimos cuatro bi& son siempre 1111. pueden usarse para corrhimtos aritméticos. tales como las instrucciones de transferencia del programa. CIR y C I L . instrucciones aritméticas. 16gicas y de corrimiento. el usuario podrA mover la infoimari6n entre estas dos unidades. y dos instrucciones relacionadas. L a posibilidad de tomar deeisionw es i u i hportante a de las computadoras digitaies. La multiplicaci6n y la . Las instrucciones para circular. complementar AC (CMA) e incrementar AC (INC)). puede ser necesario proceder en forma diferente de si el segundo es mayor que eI primero. analicemos el tipo de . si el primero es mayor que el segundo. y los d t a d o s de los c4lculos dehn transferirse de vuelta a3 usuario. 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.4. al igual que para cualquier otro tipo de mdmierito deseado.m mal& proporcionan e l equivahnk binario de los 1i2 bits restan&. hstmcciones de control del programa. 16gieas y de corrimiento proporcionan capacidad compuZacion~1 para procesar el t i p de datos que el usuario puede emplear. Las instrucciones de control de programa. Las instrucciones aritmdticas. . 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 romputarse. Instrucciones de entrada y saiida. junto con instrucciones que verifiquen las condiciones de estado.

selogra d i t e compuerta^. A l usar una cantidad hitada de instrucciones es posible mostrar eI diseño lógico de la computadora. Un conjunto de instrucciones más completo hubiera hecho el diseño demasiado complejo. entradad de &ntrol en los registros del v d m .s de conha1 se en la midad de mtrol y proporcionan entradas de control para los multiplexores deI bus común. pulsos d ~ j control por cnbleado todos(1 .icciones como restar.registros de l a computadora básica estA controlada por un generador de *laj maestro.Mover informaci6n de la memoria a AC se consigue con la inshci6n aargar AC (LBA). de instrucciones de computadora que se incluyen en la mayorla de las cornputad~ras codales. y mimaperaciofles para d acumulador.principios Msicm de la organizacf6n y d i d o de la computadaza s i n liegar a detalles complejos en ex-.de1sistema. proporcionan posibilidades para transferir el control del programa y la verScaci6n de las condiciones de astado. en detaue. hfomación de AC a la memoria se hace eón la instrucci6n de almacenar AC (STA). Las instm&ne de entrada (iNF') y d i d a (OUT) hacen que se transfiera infonnari6n entre la computadora y l o s dispositivos externos. Las programas se presentan en el. Pasar. junto con las cuatro instrucciones de salto. tipos principales de organizadmes de controk control por cableado y control dcroprogramado. no es eficiente porque con frecuencia las operaciones utilizadas no se ejecutan con rapidez. flip-ibps.el estado de un qistro. multiplicar. Las seiIa1e. En el capftulo 8 ae v t a una lista completa. la resta y el corrimiento. Se propuso este a d l i i s porque se debe considerar primero la unidad de control y comprender su mgmhción interna. BSA e TS2. De esta manera es posible mostrar 1 . capitula 6 junta con otros ejemplos de programaci6n para la computadora basica. Existen dos. mqlementm AC (CMA) y borrar o limpiar AC (CLA). En la organhci6n por cableado la i6gica de coníml . Existen tres o p e r a c i m ~ k. a menos que el regiska t é habxlitada mediante una seaal de control. Puede demostrarse que con k aperacibn NAND es' pmible efectuar todas las otras operaciones 16gicas con dos variables (las cuales s e lictan en la tabla 4-6).icas: N . 0 R y OR exclusiva.Los pubos de reioj no cambian . Las nperaciones AMD y complementar proporcionan una operación NAND. Las instrucciones de transferencia BUN. Estas operaciones deben programarse en la computadora básica. incluymdo los de la unidad de cront~01. Los piilsos de reloj se aplican a todos :lw fiipfiop~ y registros.divisibn puedm ejecutarse usando la e w . deedificadores y La tempriZaci6n de . Un conjunto de instnicciones eficiente incIuir4 hstn. Aunque el conjunto de instnidmes para la mputadora básica está completo. la f u n & r n de cada imtruccih que w lista m k tabla 5 2 y las microoperaciones necesarias para su ejecuci6n se presentan m las seccionei de la 5-5 a 1 s 5-7.

Por ejemplo. E lb i t 15 de la instruecidn se transfiere a iy flipfloprepresentado por el sfmbolo 1. consideremos e l caso en que SC se incrementa para proporcionar las Miales de temporizaci6n Ta. Te en secuencia.eloj . Ai principio. Un control pgr cablegdo. El contador secuencial de 4 bík puede '. E f diagrama de temporizaci6n de la figura 5-7 muestra la relacibn de tiempo de Las 'wlialff de control. Tb T2.de temporizacidn de To a TI5. y los bitg de . necesita . la inhftadbri d e m í r o l está aImachacia * m uria memoria de mnkruL La memoria de control esta programada para iniciar la secuencia de m i a m p e raciones requerida. La posicibn /de %e& e s t r o en e l sistema de bus comtln se M i c a en la figura 5-4. El contador secuencial. do&e estd dividido en tres partes: el bit 1.decimai en el suhfndice es equivalente al valor binado del c6digo de &&e$n correspondiente. b diversos componentes. D e v a en cuando. s i el d M 4 va a modificarse o ~ b b . E l contador secuencia1 SC responde a la transición pmffiva d e ! reloj. cuando se considere en detalle e l diseiYs de ~~om~ubdora.' B t & fopmado por dos decodificadaresi rin contador secuencia1 y cierta cantidad de compuertas lbgicas de control.controI niimpmgmmah ~+tiáad d~control atros circuitos digirales. h s bis de O al 21 src ~ E C W en hr.W . 31 diagrama de bloque de Ia unidad de mtrol e muetra en la figura . b cual a su vez activa la señai de tempor%ii&i&n Todel decdifmCIor. Esto tiene la ventaja de que puede utiüzarse para producir itn m 4 0 de operacib 26pid0.1). ae derivara la lfigica aiteq. el contador se borra a O.e¡ c&trot microprogramado cualquier cambio o modificadaes puede hacerse actwüzando el p m en h memoria de mn~rol. Esto se expresa en foma simb6üca mediante el enuncido. U J ~unidad de control micropm gmtm@f?'ara una cohputadora similar se presentir en el capitulo 7. To es^ activa durante un ciclo de . SC mede( ingkrrtmtarse a l i m p h en forma sincrona (vbase el contador de ¡ a figura Zl. Una instruccidn leida de la hiqoria se c~loca en el registro de la instnicci6n presente (IR).rLas acho saIidas de este decodificador se representan d a * los símbolos & a 3l número .O a 11. T3. d.' Em &~=secciBn se presenta un control p r caljlmdo para la computadora Mstca. haciendo que la siguiente seiíal de temporizacidn activa sea To. En el tiempo T* SC se km a O si lesK activadi la salida Da del decodificador.de las wqipuertas de control. e l contadar s e incrementa para pmpo&onar la secuencia de seilales de tempoWú6n del decodificador 4 X 16. 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 3dXo8. Después. egmo indica su nombre. el e M i o de operacih. ~ t r u c c i 6 n presntei se muestra de nuevo en la figura 5-6. XA mayor parte del tiempo. &la oq@zaci6n micrqprogramada.Conkai'@bhiario del O ai 15. la entrada CLR de SC está activa. E l e la . La primera trattsieibn del reloj borra SC a O. Las didas dei contador se d e c o d f i n en 16 señales.cambios en la instaiaci6n de cabi+de e n h . y .wqpuektas ldgicas de control.

SC se incremehta con cada transici6n de reloj positiva. ( N 6 M la relación entre la &al de temporizacidn y l a transicibn de reloj positiva correspondiente.&ras entradas Salidas de mnml tttt 1 1 . a menos que su entrada CLR esté activa. La salida D3del decodificador de operaci6n se activa al . las sefiales de temporizacib? continuarh con TS T6hasta TE y de regreso a Toa L a s últimas tres ondas de h figura 5-7 muestran c6mo se borra SC cuando D3T4 = 1.~rif~emenb W) Bwrar (CLR) bloj Figura 5a Unidad de control de la computadora bhica. Li transición de reloj positiva Tpen el diagrama activará solamente aquellos registros cuyas entradas de control estdn conectadas a la señal de temporizaciBn T .) Si SC no se borra. Esto produce las secuencias y señales de temporizaci6n Tw Tp Ta Ti T4y así sucesivamente. según s e muestra en el diagrama.146 CA-O Organización y d i - de computadoras 1 1 1 1 .

Esta relaci6n de temporización no es vilida en muchas computadoras porque el tiempo del ciclo de memoria. En la siguiente transición de reloj positiva (la marcada con Tpen el diagrama) el contador se pasa a O.h m . Un ciclo de lectura o de escritura se inic-iar6 con un flanco ascendente de una seÍia1 de temporizacibn. Para facilikr la presentacih. final de la s&aI de temporizadón T2 Cuando l a seííal de temporimci6n T4 x activa. r - Figufa 5-7 Ejemplo de d a l e a de temporizaci6n de control. 1. Esto hace que ce active la M a l de ternprización Toen I lugar de Tg. consi- . también lo hace la salida de la compueita AND que implanta la funcibn de control D3T4EBta &al se aplica a la entrada CLR de SC. un ciclo de lectura o de m i t u r a iniciado por una señal de temporizaci6n se temiinard cuand~el siguiente pulso de reloj llegue a su posici6n de transición positivi. C. que podria activarse si SC s e incrementara en lugar de borrarse. se usar4 la transicibn de reloj para cargar Ia palabra de memoria en un registro. De acuerdo con esta suposición. En tal caso es necesario proporcionar ciclos de espera en el procesador hasta que este disponible la palabra de memoria. por lo general dura más que el ciclo del reloj del prwesador. Se considerará que e l tiempo de un ciclo de memoria es menor que un tiempo de ciclo de reloj. Despu&..

paso 1 para buxar. TI. D u r a n t e este tiempo. En la computadora básica cada ciclo de instmcci6n consiste en las siguientes fases: 1 . el contador de programa PC estái cargado can la d h c i 6 n de la primera instrucci6n del programa. Despuds dk cada pulso de reloj. Buscar . La transferencia real no murre hasta el final del ciclo de reloj. Para comprender pof completo la operaeion de la computadora. E l siguiente ciclo de reloj tiene a TI activo y Toinactivo. Por ejemplo. Cuando se termina el paso 4. Las mkrooperaciones para las fases de búsqueda y decodificaci6n .habilita l a entrada LD (cargar) de AR. ~ e c a d i l i ~ laainstrueeibn. 5-5 Ciclo de Instrucci6n Un programa residente en la unidad de memoria de l a computadora estA fomiad&por una secuencia de instrucciones. E l programa se ejecuta en la computa'$ora rebtrlendo un del0 para cada instmcci6n. 4.ucci6n de la memoria. y as1 sucesivamente. para que las d a l e s de t~empoporizaci6nrecorran una secuencia To. proporcionandb 'una señal de temporizaci6n codificada TD. el contenido de-PC se coloca dentro del bus (con S$. A su vez. Este proceso continúa en forma indefinida a menos que se encuentre una instniccihn HALT (alto). = 010) y &. cuando el reloj Uega a una hansitidi positiva. T .+ deraranos que un periodo de espera no e a necesario en la computadora bdsica. To. SC se incrementa en uno. + PC especifica una transferencia del contenido de PC a AR. s i estA activa la sefial de temporizaci6n Toa Tpestá activa durante todo un intervalo de ciclo de reloj. el control rqresa al. k r l a direcci6n efectiva de la memoria si la instrucción tiene una dimci6n indirecta. Ejecutar la insQ~cci6n. 2. el enunciado de transferencia de 4 .una instt. ~ 3.S. El contador secuencia1 SC se borra a 0 . AR . es crucial entender la relacibn de temporizaci6n entre la transición de reloj y las &ec de temporización. Esta misma tansici6n -de reloj positiva inrrementa el contador secuencia1 SC de 0000 a 0001. decodificar y ejecutar Ia siguiente instrucci6n. Besqueda y decodificacihn AI principio. cada ciclo de instrucción se divide en UM SBZIE& de subciclos o fases.

2. 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. con la transicibn de reloj asociada a la s e h l de temporización Tp A i mismo tiempo. Colocar el contenido del PC dentro del bus al hacer que las entradas de selecci6n de bus S$lSD sean iguales a 010. Transferir el contenido del bus a IR al habilitar la entrada LD de IR. se debe aplicar ^a S-1 de temporizaci6n Topara obtener la siguiente conexi6n: . La siguiente transici6n de reloj inicia Ias operaciones de leer e incrementar porque TI= 1 . . 2 Colocar e1 contenido de Ia memoria dentro del bus al hacer que S$. Transferir.pueden esp~cificmse mediar& lw siguientes enunciados de transferencia de registro. 1.. En el tiempo Ta. = 111. N 6 b e que SC se herementa deapub de cada pulso de reloj para producir l a 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. Incrementar PC al habilitar la entrada INR de PC. La siguiente transicibn de reloj inicia la transferendia de PC a AR porque T g = 1. es necesario transferir la direcci6n del PC a AR durante la transicibn de reloj asociada con la sefial de temporlzaci6n To. registro de instniccibn presente IR. Como 4 1 0AR estd conectada a las entradas de dkeccionamiento de la memoria. Para cumplir el segundo enunciado T. es necesario usar la 4 de kmporizaci6n . PC se incrementa en uno a fin de preparar para la dhixci6n de la siguiente instruccidn en el programa. Con e lf u i de proporcionar l a trayectoria de datos para Ia transferencia de1 PC a AR. se decodifica el código de operaci6n en IR. 1.S. Habilitar la entrada de lectura de la memoria. se coima la instrucción de leer de la memoria en el.con el fin de proporcionar las conexiones siguientes en el canal del sistema de bus. 4. 3.Despuks. el contenido del bw a AR al habilitar la entrada LD de AR.

AR A E- 1 I PC :2 m t = LD 5 m 0 1 h s comían Figura 5-8 Transferencias de registro para la fase de biisqueda.porque hay otras funciones de control que iniciardn operaciones similares. la memoria y las entradas de seTecci5n del bus. Durante e l tiempo T3 la unidad de controI determina el tipo de instruc- .TI S2 - To SI Bus L Unldad de rnemdria Direcdn II = so 7 h r . TIa las entradas de control de los registros. En e l diagrama se incluyen mriltiple compuertas OK de entrada. La figura 5-8 duplica una parte del canal del sistema de bus y muestra. c6mo están conectadas Toy Determinadbn del tipo de instrucción La señal de temporizaci6n que est4 activa después de la decodifkacidn es T3.

la Figura 5 9 Tabla de flujo para el ciclo de instrricci6n (configuracibn inicial). E l diagrama de flujo de la figura 5 9 presenta una configuracih inicial para el ciclo de insttucci6n y muestra cbm~ d control detemiina e l tipo de hstrueei6n despub de l a ddificaci6n. ta salida del decodificador D7es. Los tres tipos de instniccibn p i b k de. que se dispone en la cornputadora básica se especifican en la f i a 5-5. Por l a figura 5 5 determinamos que s i 4 = 1 . I e I R ( 1 5 ) Ir (Regiiiiro o ]/O) = 1 = 0 (Merenda a memorla) 1I 1I @/O} = 1 (indlrwto) = 1 1r T i Ir T3 L r T3 1 Ir T3 Q€cuhrla inslruccion de entmda-salida SCtO Ejmtar 1a Instniccibn de refmncla a registro SC+O AR t MARI 11 Nada II i$xutar la iMnruccibn de referencia a memoria SC+O 1I .igual a 1 si el código de operacihn es igud a1 111 binario.ci6n que se acaba de leer de la memoria. P C t P C + 1 11 T2 CMigo de op-ción de decodificaci6n en IR(12-14) M tIR(0-11). AR t PC f T IRc-MIAR].

no escribirembs el enunciado SC *SC f 1.in4tAcci6n debe W dé1 tipo de referéricia a registro 'o de entrada-salida.D711T3: Ejecutar una instrucci6n de referencia &%: Ejecutar una instrucción de entrada salida . - . el cual está ahora disponible en el f l * i p " f i o I. Int dirección efettiqa de h memoria. Entonces es necesarlo leer. 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. incluiremos el enynciado SC 0. La microoperacibn para la condici6n de direccionamiento indirecto se puede &presentar mediante e! I direccibfl fnd+ecta enunciado de transferencia de registros Al principio AR cbntíene la parte de duecci6n de h instrucci6n.Puede ejkutarse una instnicci6n &e referencia a registro o de entrada-salida mediante el reloj asociado con la señal de brnporbaci6n T3. b p u & s . b s tres tip& de instrucciones se subdividen en cuatro hayectorias separadas. Adoptaremos la n o h a de que si SC s e incre&nta. tamos una instru~ci6nde referencia a mdofia con m direccionamiento ' h d h t o . En la siguiente e i 6 n se explican las instrucciones de refemcia a memoria. pero estar6 implícito que el Antro1 pasa a ia siguiente señal de temporizaci6n en secuencia. se habita la entrada LD de AR. I a palabra en la dirección proporcierrada por AR se lee de la memoria y se colma en el bus común. el c6digo de bperaci6n debe ser:una de b s otros siete valores de 000 a 1'18. para recibir la d k c i 6 n indirecta que reside en los 12 bits menos significativos de la palabra de memoria.Después de ejecutarse la uistnicci6n. Si ernharo. el contador secuencia1 SC debe incrementar& cuando D1?T3= 1. -- - Cuando se-encuenirauna instrucciin de referencia a mkoria con I = O no es necesario hacer nada porque la direccibn efectiva ya est6 en AR. -e~peificando una insfrucci6n de 'refemncB a memoria. . Las imtructiones de entrqda-salida se incluyen eri la Secci6n 5-7. Cuando se va a borrar SC. Las transfemcias de registros necesarias para la ejecuci6n de las btrucciones de referencia a registros se presentan -enesta secci6n.p Si V7 = 0 e I = 1. La o p r a c i h seleccionada se activa con l a transicibn de reloj asociada con l a seña1 de temporizaci6n T3 Esto puede representarse como sigue: lT3: AR + M [ARJ Dj11T3: Nada . 'Despu4s d control r&vih e l valor del primer bit de la irrstnicci6n. Esta direcci6n se utiliza durante la instrucci6n de Iechira de meborla. para que pueda continuarse la ejeeuai6m de-la instrucici6n de referencia a memotia con la variable de temporización 1 . Si '& =' O.

) = O) entonces (PC PC + 1) Brincar si es positivo Si (AC(15) = 1)entonces (PC + PC + 1) Brincar si e s negativo Si (AC = O) entonces (PC PC + 1) Brincar s i AC es cero S i (E O) entonces (FC + PC t 1) Brincar s i E es cero S . da e l b M o equivalente O111 1OOO 0000 axio.Insbcciones de referencia a registros El control reconoce las instrucciones de referencia a registros cuando D7 = 1 e' 1 O. CME rB. e l cual. E r.: SNA rB. SZ4 rB. A i asignar el símbolo Bl al bit i de IR.: iNC rB. Por ejemplo.: SPA rB.corrimiento circular e incrementar sobre los registros AC o E. representaremos con el símbalo r.. shr AC.ACb5) E. [el bit en IR (0-11) que especifica la operacidn] r: SC CMA CiL rB.O (S es un flip-flop de inicioalto) Detener la computachm t AC - t O O Borrar SC - + - + . El primer bit es un cero y es equivalente a P. Estos 12 bits estiin disponibles en IR(0-11). compiementa~. la instruccibn CLA tiene él cddigo hexadecimal 7800 (vdase la tabla 5-Z). . AC(0) E.: rB.AC@)C h I a r a la deredia AC + shl AC.: Y&: SZE m i ' rB. todas las fimcionea de control ce pueden representar con sencillez mediante rB. E l 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 I a ejecucih de una inshucci6n de rbferencia a registro se termina en el tiempo T3.r2. Tambibn s e transfirieron a AR durante e l tiempo .por uno de los bits en i R (0-11). La Instrucci6n de brinco se ejecuta al TABLA 5-3 Ejecución de instuccionesde referencia a registro D71rT3 = r (comírn a todas las instmcciones de referencia a registro) IR(i) = B. por conveniencia. Los siguienb tres bits constituyen el código de operación y s e reconocen de la salida del decodificador &. Estas instrucciones s e 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. Estas i n s ~ c c i ~ n e utflizan s los b i t s del O al 11 del caigo de instrucci6n para especificar una de las 12 instrucciones. CIR Y& CLE CLA Y&. Las hnciones de csntrol y las micmperaciones para las instnicciones de referencia a registro se listan m la tabla 53. E t . E l 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. La función de control s e disthgue. Las siguientes cuatro instrucciones provocan un brinco de la siguiente instrucción en rmuencia cuando se satisface una condición esbb1ec:ida. AC('i5) Cinnilar a la izquierda AC AC+1 incrementar AC S i (AC(15.: rB.: Borrar AC E O Borrar E AC + A 7 CarnplementarAC E+E Complementar E AC t .

E e C . que la función de las instrucciones de referencia a memoria puede definirte m forma precisa mediante la notaci6n de transferencia a registros. La di=ci6n efectiva de I a instruccidn estd en e l registro de direccionamiento AR y se colocb ahí durante la señal de Zemporkri6n TZcuando I = O o durante la serial de temporizacibn T3cuando I = 1. e n la cual se Iistan las instrucciones. PC+AR + 1 M[AR]c-'M[AR]+ 1 . Al revisar la tabb 5-2. enconkamos que algunas tienen una d d p c i b n ambigua. el fiip-fiop itiicio-alto d e h iniciarse eñ forma manual. Si MIAR] + 1 = O entonces PC c . 5-6 Instrucciones de referencia a memoria d i m i d n eJectfata 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.incrementar PC una vez mAs (ailemZis. La salida decodificada Di para i = 0 .1 . Las enunciados de con& de condicibn deben reconcomo pafte. La insfrucci6n FKT borra un flip-flop de inicioalto S y detiene e l funcionamiento de1 contador secuencial. la &plicaci&nde una insímcci6n con palabras es extensa y no hay espacio disponible en la tabla para su explicacidn. La tabia 5-4 lista las siete instrucciones de referencia a memoria.incrementa durante la fase de b b q e d a 'eir d tiempo Td. 4. AC es positivo cuando el bit de signo en AC(í5) = O. 2. .Para restalilla opwacih de la computadora. Ahora mostrammae. es negativo cuando ACt15) = 1.deAC es cero (JC = 0) todos los flip-flops del registro son c m . 3. por i o generaI. ACt@kIR] M[AR] tAC PC+AR M[Al?l+$T. ts ejecución mal de la inatrucción en e l canal del sistema de bus requerirá una secuencia de microoperaTABLA M Tnshucciories de referencia a memoria Decodificad~r Shbolo de operación Dpsc~ipci6n eW1ica AND 4DD LDA STA Do *'DI Dz D 3 BUN BSA ISZ D k D s a AC +AC A MIAR] AC*-AC + M[AR]. L a ejecucidn de las instrucciones de referencia a memoria comienza con la señal de temporizacihn T4 La descripci6n simbólica de cada instrucci6n s e especifica en la tabla en M nos de notaci6n de transferencia de registros. Esto se debe a que. 5 y 6 del decodificador de operacibn que pertenece a cada instrucción se incluye en la tabla. El contenido . se .de las cd¿lciones de control.

5. Después de que se busea la instnioeidn en la memoria y se decodifica. Esto es porque los datos almamad= en l a memoria no pueden procesame en forma directa. E * C M SC + O Se usan otra vez las mismas dos seílales de temporizacibn. T4y Tg pero con el decodificadar de operacibn DIen lugar de Do el cual se utilizó para la inistrucmn AND. a l transferir el cohtrol a l a seiíal de Wporizacibn To para comenzar un nuevo ciclo de instruccibn. Ahora explicamos la operacih de cada instrueei6n y hacemos una h t a de las funciones de control y microaperaciones necesarias para su ejecucibn.6 Instruccimm de referencia a memoria ciones. Ejeaci6n de la instnieei6n AND a AC Esta es una instruccidn qkejecuta la operacibn l&gicaAND sobre pares de bits en AC y la palabra de memoria especificada mediante la dirección efectiva. . La transicibn de r e l o j asmiada con la señal de temporhci6n T4transfiere 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 funcibn de control para 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. los datos deben pasarse de l a memoria a un registm donde pueden ser operados sobre circuitos lbgiros. El resultado de la operaci6n w transfiere a AC. Las mictooperaciones para 'qsuhrla instrueddn son DITi: DR + M[AR] 4%:AC + A C f DR. Al final de esta seccibn se presenta un diagrama de flujo que resume todas las mimooperaciones. La suma se transfiere dentro de AC y el acarreo de> salida Cd se transfiere al flip-flop E [extenssn del acumulador). 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 l a instrucción de referencia a memoria. Las micmperaciones que ejecuta e~ta~instmccibn son: 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. L a misma transicidn de reloj pasa SC a O.

eeei6n de la siguiente instruccih en h secuencia del programa. 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 e l tiempo de un ciclo de reloj. Después ce busea y se ejecuta la siguiente instrucción de la direccih de meinoria proporcionada por d nuevo valor en PC. podemos ejecutar. primero a necesario llevar la palabra de memoria a DR y después transferir el contenido de DR a AC. Por lo tanto. Debe recordarse que PC contiene la inshucci6n de l a dimcibn que se va a leer de l a memoria en el siguiente ciclo de instFuccidn. STA: Almacenar AC üsta inskucci6n almacena el contenido de AC en la palabra de memoria especificada por la dhecu6n efectiva. La iristnicci6n BUN permite que el programador especifique una instrucción fuera de secuencia y se dice que el programa se brinca de manera incondicional. PC se inere~enta en el tiempo TI para prepararlo para la dii. .LIJA: Cargar a AC Esta instrucción transfiere la palabra de memoria especificada por h dirección efectiva a AC. 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. Como la salida de AC se aplica al bus y la entrada de datos de la memoria estA conectada al bus. Las microoperaciones necesarias para ejerutar esta instnicci6n 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 bus h s t a AC. Al mtableeer SC a Q se transfiere el control a To. SC +O BUN: Brinco incondicional Esta instrucci6n transfiere el control del programa a la instniccibn espeeificada por d i i 6 n efediva. esta uistnicci6n con una micreeracibn: QT4: M[AR] t AC. El circuito sumador y Iógico m i b e informad6n de DK la cuaI puede transferirse a AC. Al no condar el bus a hs entradas de AC pakmos mantener un ciclo de reloj por micrmperaci6n. La raz&npara no conectar el bus a Ias entradas de AC es el retraso que se encuentra en el circuito sumador y 16gico.

La instmcci6n BSA ejecuta Ia siguiente operacihn numérica: de esta operacidn se muestra en la parte @) de la figura.insktuccibn en secuencia (la cual esta disponible en PC) dentro de una pmiei6n de la memoria especificada por la direcci6n efectiva. dimccidn d t ptnmo 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. Después de las fases de biiaqiiaquda y dwdificación. El regreso al programa original (y la di~eccibn 21) se consigue Figura 510 Epplo de la ejecuci6n de la instruccidn BSA. Esta operación se especificb en la tabla 5-4 con la siguiente transferencia de registro: M [ A R ] t PC. que es la direccidn de la siguiente inshzieci6n en el programa (demiminada dirección de refmo). Cuando se ejecuta. La dimci6n efectiva mAs uno se transfiere'despuésa PC para seniir como la direccibri de la primera hstrucci6n en la subrutina.uivalentebbrio de 135. AR contiene la direcci6n efectiva 1% Esta se muestra en la parte (a) de la figura. La d'wocibn de retorno 21 se almacena en la localidad de memoria 135 y e l control continúa con d programa de subnitina que comienza desde la direeei6n 136. Memoria O BSA Memoda E 1 resultado 135 O BSA 135 Siguiente instrucción Sigifente i ~ ~ ~ t r u m b 1 S~ibrutina I 1 BUM 135 . K + AR +1 . PC contiene 21. la instruccibn BSA almacena la di&& de b siguiente.!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. El bit 1 es O y la parte de la dirección de la instnicci6n time el eq.

en un regÍstra de procesador o en una porción de la memoria Ikrnada pila (stack). El programador por lo general almacena un número negativo (en complemento a 2) en la palabra de memoria. si (DR = 0) entonces (PC + PC t . colma el a t e n i d o del PC dentro del bus. Por lo general. donde encuentra la dimi6n 21 que se guardb antes.PC se incrementa en uno para saltar la siguiente instnicci6n en el programa. es necesario leer la palabra dentro de DR. Esto se hace con la siguiente -uencia de micmoperaciones: D6T4: DR D6T5:DR DR + 1 D6Td MIAR] + DR.la instrucción BUN. 13n ese momento. La operacidn de escribir eñ m e m o r i a $e tmpleb y AR se incrementa cuando ocurre la siguiente trawición de reloj. SC t O .mediante una instrucción BUN mind-ta. Cuando se ejecuta esta btmcd6h d mnml regresa a l a fase indimta para leer la dire&& kktim en la lkalidad 135. -15:úando se ejecuta . PC se incrementa en 1. y habilita la entrada iNR de AR. La inskucci6n BUN indirecta al final de la subrutina ejecuta la función que se denomina retomo de la subrutina. AR t AR D5T5: PC + M . ISZ: Incrementa y brinca s i es cero Esta insinicci6n incrementa la palabra especificada por la direccihn efectiva y. la inetniai6n BSA debe ejecutarse con una ~ e n c i de a dos microopraciones: D5T4: M[ARJ + PC. eventualmente alcanza el valor de cero. colocada al h a 1 de la subrutina. la dirección de retorno asociada con una subrutina se dmaana. por lo que el' control sigue ejecutando la instrucci6n en la direccibn de retorno. si el valor incmnentado es igual a O . Como no es posible incrementar una palabra dentro de la memoria. Como =te valor negativo se incrementa una y otra vez en uno. la imhxei6n BSPr ejecuta la hnci6n que se denomina llamada a subrutina. El siguiente cfcio de la instnrcci6n encuentra PC rion el valor 2 1 . En la mayoría de las mputadoras comerciales. incrementar DR y almacenar otra vez la palabra en la memoria. la direcci6n efecti'va 21 se 'transfiere a PC.MIAR] + 11. No e~ posihle ejecutar lai operacibn de la Instmcci6n BSA en un ciclo de mloj m d o s e u t i l i el bus del sistema de la computadora bgsica. E l bus se utiliza en T5para transferir eI contenido de AR a PC. Para usar en h a adecuada. SC + O +1 La a e ñ d de tmprhaci6n Tk inicia una operad611de escribir en memoria. Esto se analiza más adeiante con mayor detalle en la secci6n 8-7. l a memoria y d bus.

Las funciones de control s e i d c a n eh la parte superior de cada bloque.I DR +MIAR] tr DR t M [MAR] D0T5 r DlT5 AC 1 ' DR D2T5 M [AR] t AC SCtO ACtACADR SCtO ACtAC+DR E tCd SCtO i - SCtO BUN 85A ISZ nb7 I r D6T6 M [M] t DR Si (DI? = 0) Entoiraep(PCtPC+ 1) sc4-o . una de las males Diagrama de flujo de control En la figura 5-11 se muestra un diagrama de flujo que muestra Figura 5-11 Tabla de flujo para instrucciom de referencia a memoria. Esto se indica en el diagrama de flujo mediante seis trayectorias diferentes. Instruccibn k r e f e ~ l a pmemorla ' AND AaI3 11 LDA STA lf Do4 ir 11134 Ir D 2 T d lr 4T.SECU~ 5 4 instrucciones de referencia a memoria 159 todas las micmperaciones para la ejecucidn de las siete instrucciones de referencia a memoria. Las microoperaciones que s e ejecutan durante los tiempos T4 T5 O T6 dependen del valor del &digo de la operacihn.

Para mostrar la mayor park de b s reque bientos bdsicos para comunieacibn de entrada y salida. L a información serial para la impresora se almacena en el registro de salida OUTR. Las instrucciones y los datos almacenados en la memoria deben pmvenir de algún dispositivo de entrada. s e ejecuta un corrimiento sobre un ckiigo alfanumérico de 8 bits dentro de INPR y la bandera de entrada FGI se inicia regisiro de entrada . En cada caso. La bandera de entrada de 1 bit FGI es un flipflop de control. Cuando se oprime una tecla en el teclado. Los multados computacionales deben transmitirse al usuario mediante algún dispositivo de salida. Estos dos registros comunican en forma serial con una interfaz de comunicaci6n y con el AC en paralelo. el contador secuencia1 SC se barra a O can la Siltima señal de temporizacibn. Configuraci6n de entrada-salda La terminal envía y recibe información serial. La computadora puede disefiarse con un contador secuencia1 de 3 bits. Esto provoca una kransdel control a la señal de temporizaci6n To para q w qomience el siguiente ciclo de instruccibn. 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. L a organizacibn de la entrada-salida se analiza más adelante en el capítulo 11. El p m s o de transferencia de informaci6n es como sigue. La interfaz que transmite recibe información serial del teclado y la transmite a INPR. N6tese que d o necesibrnos siete h l e s de temporización para tar la instnicci6n m 4 9 larga @ Z ) . La configuración de entrada-salida se muestra en Ia figura 5-12. h s computadoras comerciales incluyen muchos tipos de dispositivos de entrada y salida. Al principio. La informacidn serial del teclado se cambió dentro del registro de entrada INPR. Cada cantidad de informacibn tiene ocho bits de un c6digo alfanumérico. 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. L a operacibn de la interfaz de comunicación cena1 se explica en la secci6n 11-3.toma eI control después de que se d e c d i c a la instrucci6n. La interfaz que recibe acepta infomaci6n de OUTR y la envía en forma serial a la impresora. utilizaremos como ejemplo una unidad tednal con un teclado e impresora. Ia bandera de entrada FGI s e desactiva a O. El registro de entrada INPR consta de ocho bits y contiene inforrnaci6n de entrada alfanum~rica. Una computadora no puede tener un propósito 6til a menos que 8e comunique con un ambiente externo. La bandera es necesaria para sincronizar la diferencia de la velocidad de temporizacibn entre el dispositivo de entrada y la computadora.

no puede cambiarse la infonnacih en INPR al oprimir otra teda. imprime el carácter correspondienk. La computadora comprueba el bit de la bandera. para comprobar los bits de bandera. y cuando se S e i n a la operaci6n activa FGO en 1. El d i s p o s i t i v o de salida acepta la infomacibn codificada. Mientras la bandera estd en uno. h computadora no carga un nuevo car-r en OUTR cuando FGO es O porque esta condición indica que el dispwitivo de salida s e encwntra en el pniceso de imprimir el carácter. la infomci6n de INPR se t r d r e en paraielo dentro de AC y FGI se reinicia a O. E l registro de salida OUTR funciona en forma similar pero la d-bn del flujo de irdoma& está invertida. ta computadora comprueba el bit de la bandera. la infonnaci6n de AC se transfiere en paralelo a OUTR y FGO se desactivá a O. y para controlar la opci6n de interrupci6n. Instrucciones entradaealida Se necesitan irlstrucciones de ehtrada y salida para transferir información hacia y d d e el registro AC. si es 1. Una vez que se desactiva la bandera. puede i n t r a d u b informacihn nuwa dentro de N P R al oprimir otra teda. Ai principio l a bandera de salida FGO se activa m 1. si es 1 .= Interfaz OUTR - - r Teclado L Int& transmiswa registm de salidri en 1. Las instrucciones de entrada-salida .Registros de *computadora Y fl~pnops I m p m o r a .

.

.

PC s e inicia en 1 .para que no puedan murrir m& intermpciohes hasta que se haya atendida la solicitud de i n b mipcidn de la bandera. y. Cuando el control danza la seítal de temporhci6n Toy encuenha que R = 1 . Despuk el control inserta l a localidad 1 dentro del PC y a b i l i t a IEN y R . E i programador ha colocado previamente un programa de sewicio de entrada-salida en Ia memoria comenzando en la direccibn 1120. . una pila de memoria. Supongamas que ocurre una interrupci6n y R se inicia en 1 mientras el control está ejecutando la instrucción en la direcci6n 255. una instruccibn BUN 1120 m la dirección 1. Esto se muestra en la figura 514(a). o una posici6n de memoria Aquí la localidad de memoria en la direccibn O como l u w para almacenar la dirección de retorno.Ciclo de instruccibn ir O =I Ciclo de intemipA6n 1 I n s i d n para busmr y demdtlicar dlrm3ón de retorno en la posicibn O Almacenar M [O] +. y R se rrinicia a O. En este momentu) la d k & n de retorno 256 está en PC. Un ejemplo que mwtra l o que sucede durante d ciclo de intenipci6n aparece en la figura 5-14.PC Ejecutar Instnicci6n I W f m r a la posicibn 1 PCc1 I IEN t O R t O =O ir 7 1 R t l I f 1r 1 ' 3 r f Figura 5 4 3 Tabla de fiujo para el d o dc intcrrupiów un registro de proceaador. prmede ewi el ciclo de hkmrpciibn. +ea. El contenido del PC(256)se ahnacaa en la localidad de memoria O.

La direccidn efectiva esta en la p i c i 6 n b y es la dirección de retorno que se almacm6 ahi durante el ciclo de interrup- cibq previo.Memoria (a) Anta de la Miempclón (b) W p u b dd ciclo de intempci6n Figura 5-14 Ejemplo del &lo de interrupcibn. Esto se muestra en la figura 5-14(b). Una vez que hace esto. Al comienzo del siguiente cicIo de inshuccibn. 8e ejecuta la insEtucci6n ION para activar IEN en 1 (para habiiitar interrupciones posteriores). determina cual bandera está en uno y después transfiere la información de entrada o salida requerida. la instrucci6n que se lee de la memoria esta. E1 ciclo de interrupcidn se inicia d q u & de l a última fa= de ejecucibn sí el fiip-flop R de interrupción es igual a 1. Despub de que esta instrucciSn se lee de Ia memoria durante b fase de búsqueda. 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. Esta instrucci6n se coloca al final del programa de servicio de entrada-&ida.de brinco indbzto. el control va a la fase indirecta (porque I = 1) para leer la direcci6n efectiva. con una parte de dimi611de O. Esto puede suceder con cualquier transici6n de rdoj excepto cuando las . ta ejecuadn de h instrucci6n B ü N indirecta da como resultado l a colocaci6n dentro de FC de la dimi6n de retorno en h localidad 0. en l a dirección 1 porque &te es e l contenido de PC. y e l programa regresa a la posici6n en la cual fue interrumpido. Este programa cornprueba las banderas. &te flip-flop se activa en 1 si IEN = 1 y si FGI o FGO son iguales a1 . Ciclo de int-pcibn Ahora esbmos preparados para listar ks enunciados de tractshcia de registros para el ciclo de intmupci6n. La Xnstrucci6n que regresa a h computadora al Iugar original en el proarama p b i p a l es una in$tnirni6n.

El control regresa a la &al de temporización Todespuds de que SC se borra a O.'I'G. la computadora qecuta un ciclo de intempci6n. la compubdora ejecuta un ciclo de instruccibn. El inicio del siguiente cielo de insItriccidn tiene la condicibn RT. la direeeibn de retorno & almacena en la memoria en I a posicibn O y PC se carga a O. Si la initrucci6n de referencia a memoria. La kercera sefial de temporizacibn incrementa PC a 1 . incluyendo un ciclo de intermpci6n para la computadora básica. Con la segunda seiZEal de temporizaci6n. y el contenido de PC es igual a 1. y el contenido de PC se transfiere al reghtro temporal TR. la computadora comprueba primero si existe una direcci6n indirecta y despuk continúa ejecutando la . 5-8 diagrnma de flujo Descripción completa de una computadora para in compwtudorn brisica En la figura 5-15 se muestra e l último diagrama de flujo del ciclo de instrucción. Si R = 1 . En lugar de d o usar las d a l e s de temporizaci6n To. Za razbn para hacer esto es que el tiempo en que se ejecuta la instruccidn y SC se borra a O.166 W m Organizacih y diseiio de computadoras sefíalesde temporizacibn Tw Tb o T2estZln activas. R y SC a O . y el'control regresa a Toa b n a r SC a O. Después el control recorre un ciclo de instrucci6n que busca y ejecuta l a instnickión BUN en la lacalidad 1. Esto puede hacerse con la siguiente secuencia de micmpraciones: + Durante la primera M a l de temporización se borra AR a O. Si R = O. modifica a la posición de memoria 1. A esto se a p k a la funci6n AND con IEN y r0'. E1 ciclo de interrupción almacena la di-n de retorno (disponible en PC) dentro de h posici6n de memoria O. desactiva IEN y R. Ahora modificaremos las fases de bdsqueda y decodificacidn del ciclo de instniccibn. D e otra manera s i R = 1. el control reromera un cicIo de instrucci6n. Tp y 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. La condici6n para activar el fipflop R en 1 puede expresarse con el siguiente enunciado de transferencia de registro: TJTí Ti(lEN)(FGI + FGO): R +1 B i símbolo modifiacidn de la frise de búsqueda entre FGI y FGO en la huici6n de control representa una funcibn OR 16gica. E i flipflop de interrupcihn R puede iniciarse en cualquier momento durante las fases indirecta o de ejecucibn. el control recorre una fase de biisqueda s610 s i R = 0. y desactiva IEN.

SEC-

5 8 DeSajpih

compieta de una computadora

167

Inicio

SCtO.IEN t 0 , R t O
I

(Ciclode lnstruccibn)

=O

= 1 (Ciclo de inwrrupcibn)

1r

RTo

1

r

RTD

AZP+PC
9 f

I
R ' TI M
R' TZ

AR+O.TR+PC
1

RTI

IRcM[ARJ,PCtPC+l
11

[AR] t TR, PC t O

1
P C t P C + 1, IEN+O RtO,SC+O

RT2

AR+IR(O-ll), ItIR(15) Do ..-D7 t k d i c a r iR (12 - 14)
I

u
~istrooI/O)= 1

=O

( R e f e m a memorla)
I

9 f

f

Q/O)

=1

=O

(directo)

"

DflT3

" W'T3
Ejecutar

1

'

D'TI T3

lr

Db71*T3

Ejecutar
la instrucción de

A R t M[AR]

Nada 1

la instruccibn de:

eniradasalida

refereocia a regiritm
~(tabh 53)
i r

( t z i b h A 5 )

Ejmiar

la instrumibn de referencia a memorla (tabla $11)
11

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 entradasalida, 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, l o s enunciados de transferencia de registros describen de manera concisa la organización interna de la computadora basica. Tambibn proporcionan la informaci6n necesaria para el diMo de los circuitos 16gicos de l a 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 lita de rnicrwperaciones especifica el tipo de entradas de control necesarias para los registros y la memoria. Un lenguaje de transferencia de registros es ú t i l no 5610 para d e i r la organizaci6n interna de un sistema digítal, sino también para especificar los circuitos 16gicos necesarios para su -o.

59

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 operati611de 3 X 8 y un d d i c a d o r de temporizaci&nde 4 X 16 5. Un bus c o m h de 16 bits
ha

6 . Compuertas 16gicas de control 7. U n circuito sumadm y lñgico conectado a la entrada de AC

f -

Ia unidad de memoria es un componente estándar que puede obtener .secon facilidad en el mercado. L m 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 c o m h puede construirse con dieciséii 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.

+b

m 5-9
TABLA M Funcionts de $~ntroI - a c i w

U de una mnpuiadma
para la -putadora básica

169

Reciipaar
Decodificar
intempei6n

R'To:

R'TI:
R'T2:

D;ITa:

ARcPC (RtMfAR], P C ~ P C +1 DO,. .. , D,t J h d & c a r IR(12-14) AR +aR[o-ll), 2 tfR(1S) AIP tM [AR]

indireda:
T8T;T;(IEN)(FCJ+FGO): R t l RFo: mto, TR+PC
RTi: RTz:

M [ A R ] t T ñ , PC+O PC-PC+l, I E N t O , R t O , S C t O

-

R e f e a memoria.

AND

DpTd: &TJ:

ADD
IDA
STA BUN

& T . : 4T5: AC+AC+ DR, E t C d SCrO 4T4: DR +MIAR] 4T5: A C t D R , SC+O DaT,: M[AR]+AC, SC +O

DR +M[AR] ACtACADR, S C t O DR+M[ARJ

D4T4:
:

PG-AA,

BSA
ISZ
~efefenda' de registro:

4Ts:

D 6 T . :
DsTs: &Te:

MIAR] +PC, AR *AR + 1 P C t A R , SCcO DR +MIAR] DR +DR + 1 M(AR] tDR , Si (DR = O) E ~ ~ ~ w (PC Ec s PC
1,2,
,111

SCtO

+ 11,

SC +U

CLA

CLE
CIR

m.4
CME

&~'Ts r tR{iI=$,(i=O, SCt.0 AC+O Eco

toda5 las hkuccinmwi de & &
. 6

a qistros)

dC +E

ca
INC SPA SNA SZA
SZE

E+E ~ c t s h AC, r A C { l S ) c E , 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) If(AC =O) e n PC+PC + 1) if ( E = O) entonces ( P C t P C + 1)
S60

WLT

Entrada-saiida:

INP OUT
SW SKO ION IOF

Mj= p (oomh ida^ las instnikbrm de enbada-salida) IR@) = W (i= 6,7,8,9,10,11) p: SCtQ p i ¶ j i : AC(CL7)t l N P R * FGl t O pBio: OUTR +AC(&7), FGO +O ~ B P : If(PGT=l)entonces(PCtPZ:+l) n (PCtPC 1 ) pBa: If (FGO= 1) e pB,: IENtl

+

pB6:

@N+O

1 0' ii

C A -

UNW

Organhci6n y d

i de computadoras

finihd di! cm*ol

Compuertas lbgiclas de control E I 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 demdiiado-, e l 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 e l 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 c ade 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 e l 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 .

Los regis-

Control de registros y memoria 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 derivar l a 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 informaci6n de un registro o de la memoria a AR. E l contenido del registra fuente de la memoria se coloca en el bus y e l contenido del bus se transfiere a AR al habilitar la entrada de control LD.E l cuarto enunciado b r r a 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

1 n

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. Las c m puertas 16gichs de m n b l 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 5 4 para encMtrar 10s 'wnm:ciados que especifican una operacidn de lectura. ta operacirin 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
l a s 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 m i r o l asdadas con AR.
12

M e 1 bus

' r

AR

12
r

Hacia el bus

S i utiihmas un ffipflop J.K para IEN, la compuerta de control I6gica ser& coma la que aparece en la figura 5-17.

ñ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 l a estructura de compuerh que debe estar activa para wleccionar el registro o la memoria para e l 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

Control de un bus común

Con el fin de determinar l a 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 l o s 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: Codificadorpata drcuibde 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 l o tanto, l a 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 e l registro AC se muestran en la figura 5-19. E l 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.
L

MulilpIexorde
Codifidor
L

: Si entradas de :so selección debus

$10 D h ñ 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 = D71rT3y BI1 = IR(11). La aalida de la compuerta AND que genera e s b fund6n de control s t s l conectada a la entrada CLR del registro. D e 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 e n 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
figui5-29 EPtrudum de ?puerta
-de

para controIar LD, INR y CLR de AC.

e l sumador

Y~W ' Do

'9

m
INR
CLR

t6 :hacia

el bus

Re101

AND

b
DI

=

4 Ts
P
Bll

DR

INPR
M M

SHR

SHL

INC

CLR
8 1I

aparece en la figura 2-11.A l tevisar esa figura notamos que cada etapa tiene un fipffop JK,dos compuertas O R ,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 s e .habilita la entrada LD, las 16 entradas 1, para i = O, 1 , 2, ., 15 se transfiewn a AC (0-15).

dmft~ WmtlllfOr
y Idglco

Una etapa del c h i t o lbgico y smador consta de siete compuertas
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 pronen de las salidas de las compuertas marcadas con el mismo nombre simbólico de la figura 5-20. Por ejemplo, la entrada marcada ADD en la figura 5-21 está conectada a I a 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 e l bit correspondiente eii el registro de datos de DR{$ Za operaci6n ADD se obtiene al usar un sumador biario similar al que s e muestra en la figura 4-6.Una etapa del sumador u t i l i z a 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 un bit indirecto, un código de operación, tuta de d i g o de registro para eswficar uno de 6P regisirosy una parte de dired&

v.

a ¿Cuántos bits hay en e l 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 formatode palabra & dirección e indique la cantidad de bits en
cada parte.

5-2

53:

-

cuántos bits hay en Ias entradas de datos y de direccibn de ia memoria? ¿Cuál ES i a 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 fmde traer un operando al registro del procesador? las siguknh entradas de controI estrin activas &-I el sistema de bus que se m w t m en la fipra 5-4. Para cada caso,especifique la trmshencia de m@sttuque se ejtxutd durante la siguitransiQ6n de reloj.
c.

a . l

1

b .

1 E. J d O

1 O O

1 O O

IR

Ler

PC
DR AC

Escribir:
m

-

m

0

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)e1valor binario que debe apiimm a Ls enbidas de deecibui de bus Sz, Siy Sd 2) el registro cuya entrada de control LD debe estar activa (si es que hay alguna}; 3) una opmacíón de w r a o d t u r a (sim nnecesita) y 4) la opemcibn en el circuito sumadar y 16gim { s i hay algtrml).

a a+FC
b. IR tM[AR]

r. M[AR)t-TR
d. AC t D R , DR c A C (mlízadas en forma simdtánea]

PC.5-5. DR. Espefifique una secuencia de m i ~ o o ~ a c i o nque e s *ten la operaci6n a.se activa w n la transici6n de reloj positiva a h a d a c m T. Muestre el contenido en hexadecimal de los registm PC.El antenido de la memoria . 1011 W1O O1W b. 5 Una instnicci6n en la direcci6n 021 en la computadora básica tiene I = O. El antenido de PC es m. 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).El contenido de la memoria e n la dirección 7FF es EA9FFE l contenido de la memoria en la direcci6n A9F es OC35. Para cada una de las siguientes idmcciorm de 1 6 bib.o~ el &digo hexadecimal de cuatro bits y explique msus propias palabras cuái instnic ci6n va a ejecútar.AR. E. Explique por qué no pude e j m cada una de las siguientes rniaoop raciones durante un soio p& de reloj en el gistema que se muestra en la figura 5 4 . DR. O 1 1 1 0000 0010 0000 5-7.Repiia 11 veces más. Di3 tD R + AC + TR w 1 e. 5-10. El valar inicial de PC B d hmadecimalO21. I R t M [ P C ] 5-6.de referwicia a regish. IR y SC de la computadora basica cuando se bu= y qecuta una instrucción indirecta iSZ de la memoria. a. (AC no cambia) Considerelos formatos de Inclmceión de la mpu&dora básia mostrados en la figura 5-5 y la lista de instruccionesproporcionada en la tabla 5-2. Muestre el contenido de 10s registros dspués de l a transición positiva de d a pulso de M5-12.AR. Repita el problema seis v más comenzando con un abdigo de opera& de o h instruccidn de referencia a memoria. El contenido de PC en la computador~Mcica es 3AF (todos los niirnerasestan en hexadechal). una para cada r e @ h y un 91611 para cada eñai de temporizaúón. e IR en hexadeeimal d v u & de la ejmci6n de Ia instnicci6n CLA. E i wtenidp de AC es 7EC3. Determine el contenido de AC. OOO1 0000 OOIQ 0309 b . Analice el ciclo de instmccii5n y determine el contenido de los siguiente registros al fural de la fase de ejecuci6n: PC. 5-8. ~Cuáies son las doshtnicciones necesarias en la computadora W e a para iniciar e l flip-flop E en 12 Dibuje un diagrama de twnporizacih similar a la figura 5-7 considerando que SC se borra a O en el tiempo T3 s il a s e h l de eonbl CCp &A activada. E l contenido de AC e n la computadora básica es el hexadecimal A937 y el valor wchl de E'es 1. La fibra de memoria en la direccÍ6n E& contiene el operando B8F2 y el contenido de AC es A937.AR. prop0rci. AC+ AC c. E i contenido de la memoria en la diieeci6n C35 es Pqofcione la -&a en una tabla con cinco columnas. 5% C. comenzando desde mida una de las instrucciones.AC e IR.

La palabra de memoria en la d i 6 n 003 contiene el operando BSF2 y el coniddo de AC ES A937. El contenido de AC en la computadora básica es e l hexadecimal A937 y d d o r inicial do E'# 1. para iniciar el flipflop E en l? Dibuje un diagrama de temporizaa6n similar a la figura 5-7 considerando que SC se borra a O en el tiempo Tas ii a seifal de control C7está activada. $ d e s son las dos instrucciones neeecarias en la computadora wca 5-8. comenzando desde cada una de laa instrucciones de referencia a r@b.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. Repita e l problema &S veces más comenzando m n un &digo de opaei6n de otra instniOn6n de reíerencia a memoria. W r m h e1 contenido de AC. un d i g o de operacih de la insbmión AND y la parte de la direm6n igual a 083 (todoslos niimeros d n en hexad&al). A C t AC + TR c. DR. IR tM [PC] b . Para cada una de las siguientes instrucciones de 1 6 bits. a. se activa con la transición de reloj positiva &da con T1. El contenido de la memoria en la dhcci6n C35 m FSFñ Pmporcione la respuata en una tabla con &ICO columnas.A C e IR. DR +DR + AC (AC no cambia) 5 6 . DR. Repita 11 veces más. Especifique u~ secuencia de micrmperacioneei que ejeniten la operación.AR. 1 2 . Ardite el delo de instnicci6n y detemine el contenido de los sieentes registros al final de la fase de ejeeuei6n: PC. proporcione el código hadecimal de cuatro bits y explique m n BUS propias palabras 4 instruc ci6n M a ejmtar. El valor inicial de PC es el h a d e c i d 0 2 1 . una para d a y un renglón para =da seííai de temporimei6n. El contenido de la memoria en la direcrtbn 7FF es EASF. Explique por qu& no puede ejecutarse cada una de las siguientes microop raciones durante un solo pulso de reloj e ne l sistema que se muestra en la figura 5 4 .E. 5-7. Muestre el contenido de los registros despuésde la transicih positiva de cada pulso de 5 9 . e IR en hestadecimal después de la ejecución de la instnicci6n CLA. 5-11. Muestre el contenido en hexadecimal de los registros PC. PC. 5-12 El contenidode PC en la computadoraW c a es 3AF (todus los númerosestán en hexadecimal).M. 5 1 0 . M ] . E l conaenido de la memoria en la direcci6n A9F es QC35.AR. Considere los formatos de imLnied6n de la'compubdoraM c 4 i mostrados en la figura 5-5 y h Esta de instruccione proporcionada en La tabla 5-2. E l contenido de PC ES 7PF. El cantenido de AC es Q contddo de la memoria . Una instrucci6n en la direecidn O21 en b computadora básica tiene I = O.M.

S. a menos que la instnidn especifique un cambio en su contenido. AC. EA es la dirección efectiva que reside en AR durante el tiempo TJ. . a. en l a direccidn 3AF es 932E. Agregueminstntcci6nde-aFegihaICSZ:btCTRy brincar a la sipiente instrucci6n si hay un cero. i0i ACtAC@M[EA] M [ & I ] t M [ E A ] f AC AC+AC . y el contador s e c u d CC en binario al h l del ciclo de instrucci6n Considere que ias primeras seis de rek. M [ M ] t A C If (M[4AJ = AC) e n [PC+PC + 1) If (AC > O) entonces O R exclusiva a AC Sumar AC a la memoria Restar en memoria de AC Intercambiar AC y la memoria 1 3 si hay s i p de igual [PC+EA) Brincar s i AC es positiva y diferente de cero Haga los siguienb cambios a l a computadora Msica.Ustd puede utilizar TR pam a i m a c e ~ el r contenidade AC en forma temporal o pude intemb'ir DR y AC. Considere que el circuito sumador y 16gieo de l a 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. Sustituya la instnieeibn TSZ con una instnicci6n que cargue un nilmero dentro de CTR. A p p e un al sisbma de bus C i R (registro de mQ] que se seleccionará eon S$. 1. c. SImbolo -hcihdmMiia IkcripPSn en palabras XQR ADM SUB 000 001 010 XCH SEQ 011 lOJ BPA 5-14. Proporcione la 6ecuencia necesaria de enunciados de hansfereneia de regispara decutar d a una de las inrshccioneslistadas c o d o con i a temporizaa6n T . k resta debe hacerse utilizando el complemento a nfimems 2 del susbaendb al complementar e incrementar AC. l . AR. e X R en hexadecimai y l mvalores de E. e Dirección LDC CTR +M Illireccih] 3.Anaiice la ventaja de este cambio. DR. Muestre la m a 6 n binaria que a d h r i en AC niando se *te k instmcci6n. E i contenido de la memoria en la d i d ó n 9AC es 8B9F. . ' de la computadora W e a que se listan en la tabla S 4 se van a cambiar a las instrueeim especificadas m la tabla siguiate. 2 .513.M[EAJ AC tM [ E A ] .El contenido de la memoria en la d i 6 n 32E a 094C. ¿Cuáles la instnaccibn que se buscará y se ejecutara dspuh? b . Nótese que e l valor de AC no debe modificarse. = 000. Proporcione el contenido de los registros PC.

TR {de 16 bib cada uno) y AC. FonnuJe un p d r m i e n t o para recuperar y ejewiar ~iristniccioms para e i a computadora. entradas de direcaón y entradas de emtpol p m leer y escribir como en la figura 2-12.8 bits. 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.si es neceario) para apegame a esta con& guraabn. ¿Cuálesd e h ser las das Glrimas instruacion& del programa de salida? 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): 5-r9. IR (de 8 Wis cada m).) b . $ 1 6 ..Comience a partir de la señal de temprizaci6n TI 5-17. a. UM eomputa$ora utiliza una memoria de 65. La unidad de m e d a de la computadomWsiea que se mueira en la figura 5-3se va a m b i i a una memoria a. Una insmiccibn de reterencia a memoria palabxas: un &digo de operaci6n de 8 bits (unapalabra) y una d i d b n dq 16 bits (en las sigiiiente~ dos palabras). 1 5-18. 3 8 4palabras. No hay un bit indirecto. Se ejecuta después de que l a computadora reconoceuna interrup56n mando FGO se convierte en 1 (mientras IEN = 1). Dris instruMone8 s e guardan en una palabra de memoria y hay dispuible un e t r o de inshmiones de 40 bits en la unidad de conkml. Dibuje la hplantiiei6n de hardware de R y la memoria en toma de diagrama de . (No utilice un bus consta de comh.DR. Todos los operandos son de . 40 bits por palabra. Un programa de salida reside en la memoria comenzando en la dirección 2300.536palabras con 8 bits en cada palabra. SX 1 6 . salidas de datos.5-15. las m i a m p m i o n e s durante los tiempos T% T3(y T. XI: R *-M[AR] RtAC Xi 1 6 : MIAR1 + R X &: Lee la palabra de memoria d e n b de R T m f e r i r AC a R Emibic R a la memoria L a meqioria tiene entradas de datas. \ a Dibuje un diagrama de bloque de la computadora que muestre la memoda y los registros como en la figura 5-3. ¿Qué instnicci6n debe colocarse en la direcaón 1? b . Una computadora d i t a l time una W a d de memoria con capacidad de 1 6 . requirimdo una direeabn de 16 bits. E i 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 ] .AR. E lf o m t o de i n s t r u c c i ó n de la refemnaa a memoria que se muaka en la figura 5 4 a ) no cambia para 1 = 1 (direcci6n indirecta) donde l a parte de d i d b n de la inshcdón se proporciona mediante los 16 bib de la palabra que sigue a la ~ ~ 6Modiqw n . Tiene l o s siguientes *w: PC. 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.

Muestre c6mo las frinciones de control X. Muestre la Ibgica completa de los flipflops de interrupci6n R en la computadora básica. 5-24. 5.Intduction %oCompuler Enginwing. 5-20. 2. Utilice un fip-fiop ]K y minimice el 5-21.A. puede genmarse con una compuerta AND y una compuerta OR Derive la expresión booleana para la estructura de compuerta que borra e l contador secuencia1 CC a O. F. 3. E.d incluye en e l diagrama y las entradas de ledura y d i u r a de memoria. McNamara. 1 9 8 ' 7 . T .operacionesque van a ejecutarsemn un Gpflop F (el cual m se usa en la eompuíadora Msicra) sewipifiean mdante las siguientes enunciados de tramferencia depgklxo: : 1 flI:f + O zT2: F tF SS: F +G ActivarFal BorrarFaO Complementar F Transferir el valor de G a F D e &a manera.. 3a M. NJ: P r e n b Hall. 1 . número de compuertas. el contenidode F no debe cambiar.Nueva York JohnWiley. las entradas de selemi611 de los multipleK O que ~ uste. G. Booth. . Hüi. Dibuje el diagrama 16gico que muestre las conexiones de las compuertas que forman las funciones de control y las entradas del fiip-flop F. Computer En@'-n8. 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). y G . 199l.. . h s . Derive las compuertas de control asociadas con el contador de programa PC en l a eomputadora bAsica. E n g W Cliffs. C. Gibson. PIIA:Digital M. Denve las compuertas de control para la entrada de escritura de la memoria en la computadora básica. G. Nueva York JohnWiley.J. C m p t e r Systm Conceptsand h i g n . 3a M. Minimice el nGmero de compuertas. 1884. Digibl Syctems: ihrdware m i u r t i o n atd Lksigts.L . Be& C. 5-22 5-23. Mudge y J. Bedford. 5-25.1980. J.R Peterson. Ufilice un Bipflop JK y minimice e l número de compuwb~.bloque. a & seleccionan l a entrada de control de carga de R. Derive la expresi6n h l e a n a para q (véase la tabh 5-7) M w h e que x.

182 cAPrnno Organización y dieeiio de computadoras 6. D . E¿. M. 1987 10. CmpW Archiiecture: A A n t i f n t k Appmch. y L. . Prosser. . S. Chiva. Reading.Computer Enghming: Mmre Decign. CA:Morgan Kaufmann Ilublishm. MA:Addim Wesley. Nueva York: HarpeeCollins Publishers. 2a Bd. 7.H m y . 1990. C m p t Design ~ atta Arclnit~hre. Patterson. 8. 1991. 1988. Englewd Cliffs. G.y D. NJ:Prentice Hall.A. Lewin.E. Mano. Prentice Hall.. ! % m Matm. 9.Winkel. P. 2a.P . 1983. H . M. Tke At3 qfüigital Design. Englewood C l i .Logie mign and Camputer Orgmbtmn. M.

Emibir un programa para una computadora consiste en ~ ~ c aenr . porque los das a ~ influye" b m o en d otro. si no e~ que imposible. El software se mfie~ea los programas que están .quienes se i n m en la arquitec tma de la computadora d&n conocer tanto l a con10 el softwm. ~~. E s posible conocer difemnks aspectos de programación de computadora s i n 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.as F'rogrd6n de entrada-saüda 6-1 Introducción Un sistema de computadora total incluye tanto circuiteria (knrdwre] como progmw&n (sopzlMtre). 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. Es preferible escribir programas con los símbolos m á s familbre3 del conjmto de caracteres alfandricos.InIrduEQbn Lenguaje de máquina ZRnguaje d B L d o r E 1 eqsqbiador C i c h del programa Pmpmaa6n & operaciones aritm&aw y lógicas subnltiri. una secuencia de instrucciones de dquina. El hardware consta de ios componentes físicos y tado el equipo asociado. forma direda o i n d i t a .&ritos para la: computadora. Sin embargo. ~~ . a programas binarioa que reconozca el hardware. Como consecuencia. existe la necesidad de traducir los programas simb6licos orientado8 al usuario.

mitéstra su r$aci6n con la r e p m k i h de htrucciones de hardwara l a 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. En el modo indirecto. 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. A cada uistnicci&n asigna un shbolo de tres letras para facilitar h egcritura de programas simbólicos. ~~ m m o Un pwama S iyia lista de instrucciones . la variación es de O a 6. L ~ otras B 18 instniecione tienen un &digo de ope~aci6n de 16 bits. y una dirección de 12 b i t s . El d d d o m que se usa en la columna de &mipci& denata la d h c b efectiva. Por ejemplo. E 1 primer dígito de una instrucción de entrada* es siempre F. E l primer dígito de una instruccibfl de referencia a registro es siempre 7.de modo y el &ligo de opwacibn.184 b p m a ¿ ó n -. Una instnicci6n de referencia a memoria tiene tres partes: un bit de modo. un c 6 d i g ~ de o p r ~ de 9 ires Pits.de la computaba co~jutito de insfrircciones frIi pmgmma d t a por eI u s d o puede serhydqadienk o dependenqw corre su progama. Kiten varios tipos de b g i ~ a j e s de pmgra~nati6nque uno puede . l a utilidad de las diversas imtmcciones de máquina se demuestran mediante v+mplos de pmpmaci6n básica.cEnuna 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.~ = ~ .una tarea de procesamiento de datos. Las primeras siete instnicciones son de referencia a memoria y las otras 18 son de referencia a registros y de entrada-salida. cuya organizaci6n de hardwa~ se exploró en e l capitulo 5. 'es posible explorar la relación en& un programa y las operaciones de la circuikria que ejecutan las instrucciones.m e r a . Las 26btrucciones de I a computadora bAsica se repiten en la tabla 6-1 para proporcionar una referencia &cil para los ejemplos de programaci6n que siguen. La letra M hace refemcia a 4 palabra de memmia (operando) que se encuentra en la direcci6n efectiva. El primerdigito hexndechal de ruia instrucci6n de referencia a memoria incluye el bit.l. un programa & de la wmputérdma &#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 % n d a T + & m c l i pKrrviri~de la computadora cbpmible en la instalacibn p d & . ius otros tres digito~ espe5fi-n la direcci6. El c ó d i i pwa cada instrucci6n se lista como un número h d e c i m a l de cuatro d @ b . ~ " ~ ~ ~ ~ * ~ n i n c e p ^ d e p r o g e a m a c i 6 n .o enunciados para dirigir a la computadora con el pmpbito de que ejecute . El conjunto d e inshucciones de ia computadora básica. t)e esta . Pera d ~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 s e utih.

Cada instrucción . I = CLA CLE CMA CME CIR CIL INC SPA SNA . 3.altar si hay un cero Bmrar AC h rE Complementar AC Complemehtar E Cimlar a la de&& E y AC Circular a la izquierda E y AC I m m e n t a r A€. Código binario.324 SZE HLT INP OUT SKI SKO ION TOF escribir para una computadora. Los programas 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.' El usuario emplea shboIos (letras.SímboIo AND ADD Código hexadecimal Aplitar AtJI3 M a A c Sumar M a AC. 'Los programas escrit~~ para una computadora pueden estar en una de las siguientes categorfas: 1 . nfirneros o caracteres especiales) para la parte de opera*. LDA STA BZM BSA . Cbdigo ci&lh. 2 CMgo wtul o hexad~imal. Este es una secuencia de instrucciones y operandos m b w o que lista la representación exacta de instrucciones conforme aparecen en la memoria de la computadora. la parte de direcci41i y las otras partes del de irwtniccibn. BrJncar si AC e s positivo Brincarsi AC esnegativo Brincar s i AC es cero Brincar s i 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. %arrear aE t k g m AC desdeM Almacenar AC en M Brincar en forma.inmdiciona1 a rn Salvark~dereiomoen m y ramificaram + 1 Jn~renaentar m y s. Este es una traduccihn equivalente del código binario en representación octal cr hexad-l. pero ésta &lo puede ejecutar programas mando esGn representados de manera @terna en f o m binaria.

E l pfograma e s t á d t o & una gecuencia de enunciados establecid& de manera m a a como las personas prefiemn pensar cuando r~uelvenun probl&. de &quina es un programa binario de categorfa 1. Lmtpjm I& p r q m r d h & dfo nivel. Como un d l a d o r traduce los los. cada enunciado d& traducirse a una secuencia de Manes b k u j s antes de que la computadora pueda ejecutarlo. E i programa. Elfnplezl sImbo108 y formatos orientad= a un problema. L w j e üe máquina Habhdo con rigor.. La primera columna proporciona la posición de memoria (en binari~)~ de cada instnzcci4n u operando.186 m-~~básica de Ia cwrputadora simbólica pude üad~cim a una instniecibn codificada en binario. Esb son lenguajes v i a l e s ~ W para reflejar W los procedhient&sutilizados en la 80Iua6n I q u a j e msamblador deunprob~enlugardeh~endd~~odelacimiiteda de la computadora.que traduce un programa de lenguaje de alto nivel ce Uama m n p i M r . un propma de lenguaje. Ahori usarmios la computadora bhsica para ilustrar la relacihn entre los lenguajes b i r i o y ensamblador. Un ejemplo de un lenguaje de programación de alto nivel w F#tran. . Debido a l a equivalencia simple enentre las repreientacioms M a s y octal o hexadecimal. Esta traducción se hace mediante un programa especial llamado ensarnbhhr. un lenguaje ensamblador se considera como un lenguaje a nivel de rndquina. E. Consideremos e l programa biiario listado en la tabla 6-2. La segunda columna lista eI contenido binario de estas localidades de memoria. Debido a la pelacidn de uno a uno entre una instrucdón kibblica y su equivalente binario. 4.) El programa puede almacenarse en la porción de la memoria india d a y la computados puede ejecutarlo después -comenzando desde la direccibn O. este lipa de propmas simb6licas se denomina programa de lenguaje enmb*. S i e d q p . ea costumbre denominar a la categoría 2 ccmio tienguaje de Mgquina. i a ckaiterfa de la computadora ejecutar4 estas instrucciones y TfiBLA 6 2 Piiograrna binario para sumar dos n h e m Localidad . (La localidnd es la h c i 6 n de la palabra de memoria en que se almacena la instniccibn. importante establecer la diferencia con la parte de di~eccibn de la instruccibn misma.

E l programa de la tabla 6-4. e debe tener en menk que cada dígito hexadecimal deke convertirse a su n h e r o de cuatro bits equivalente cuando se introduce e l programa en I a computadora. ta ventaja de egcriiir prop.SECU~N6 2 j e de máquina 187 TABLA 6-3 Programa hexadecimal para sumar das nhems - Localidad htrucci6n ~ddigo he*adedmal realizará Ia t a r e a que se pretende. sin embargo. la circuiterfa de l a computadora sólo reconoce este tipo de código de instrucciones. Es conveniente usar la representacidn hexadecimal. Escriir 16 bita para cada instrucción es tedioso porque hay demasiados digitos. N o obstante. conservan su valor hexadecimal. N 6 h que la TABLA 6 4 Pmgiama con digas de operstcih simbólichp hlidad OW 001 instniccibn Comentarios LDA 004 ADD STA 006 002 1 004 005 HLT 0053 m 9 OlMO 006 Cargar el priínero operando dentro de AC Sumar el. Podernos reducir k cantidad de digitcrs por instruccibn si escribimos el equivalente odal del c6digo binario. Por otra patte.ramas binariqs en forma octal'ohexadecirnal equivaiente debe s e r evidente a partir de este ejemplo. una persona que observe este programa' tendrsi dificultades en comprender que se consigue cuando se ejecute e l programa.segundosprando a AC h a c e n a r iamsuma en la posici6n 006 Detener la compufadora Primer operando d o operando {negativo) Almamnar la suma aquí . podemos reducir cada instmcci6n a cuatro dígitas si ekribimbs el c6dQo hexadecirnal equivalente &mo se muestra en la tabla 6-3.utik los nombres de instrucciones simbólicos (listados en la tabla 6 1 ) en lugar de su equivalente b h r i o o hexadecimalL Las partes de direccibn de las instrucciones de referencia a memoria. Esto requerirh seis digitos por instrucci6n. al @al que las operandos. Sin embargo.

Las siguientes tres heas tienen direcciones simbblicas. DEC 03 DEC -23 DEClO c. deben convertirse a binario en r e p m t a c i b n de mmpiemento a 2 con signo. Ndtese que todos loe comentarios están precedida por una diagonal. Después del sImbolo DEC se especifican operandos decimales. por l o general. esto es la posición de memoria de la siguiente instrucci6n. la posicidn de los v a n d o s numéricos no se conoce hasta que se llega al final del programa. Los simbolos ORG. tos números pueden ser pwitivos o negativos pero.. La kaducci6n de este programa Fortran a un programa binario . que indica e l h a 1 del programa. La operacidn aritmktica para los dos números se especifica mediante un enunciado simple. 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. como consecuencia. Lxw dos valores para A y B pueden especificarse mediante an enunciado de entrada o mediante un enunciado de datos. estamos mAs familiarizados con los números decimales que con sus equivalentes hexadecimales. E l programa en Fortran equivalente para surnar dos números enteros se lista en la tabla 64. 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 hexadmimal por una direccibn shb6lica y cada operando hexadecimal por un operando decimal. El programa de la tabla 6 5 es el programa de lenguaje ensamblador para sumar dos nítmems. Sus valores se especifican porque están presentes como una etiqueta m la primera columna. 5 Programa de lenguaje d l a d o r para sumar dos números ORG O LDA A ADDB STA C HLT /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 A. B . m /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. E s t o es conveniente porque. Ademis. Su propbsito es especificar un origen. si son negativos. tos programas si&lims sop más fdciies de manejar y. llamados seu&instrucciones. E l simbolo 0RG seguido por un niimero no es una uistniccidn de rndquina. DEC y END.188 SEI~ Programación básica de h computadora TABLA 6 . mientras ae % e un programa no se conoce con exactitud la posicibn de los operandos num&ricosen la memoria. La última línea tiene el símbolo END. L a inclusión de una columna para comentarios sirve para explicar la funci6n de cada instrucción. se definen en la siguiente sección.

por b general. Por l o tanto. 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 queeldldorpueda ~ l a e o m o e t i q u e t a E 1 campo de instrucción en un programa de lenguaje emamblador puede m a r algunas de las siguientes opciones: .TABLA é 4 P m g p a Portran para sumar dos n h e m IHTEGEW IIi DRTR EWD A . La unidad basica de irn programa de l m p j e mamblador es una lEnea de d g ~El. El+campode c m t a r t o puede estar vacío o incluir un comentario. 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 c 6 d i p . dtmdbn iIjnbblJEa o especificar una d i i b n simb6lica. Las regb para escribir un programa en lenguaje ensambladar se documentan y publican en manualque.doso~. Una~~limcEaistadeuno.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 tabh&2 nla 63 Lenguaje ensamblador Un lenguaje de programación se define mediante un conjunto de reglas. y d q u 6 derivar la -en& de instrucciones binarias que forman la 8uma.d~paralms~y~ para la stima. El campo de etiqueta puede s t a r vacío puedenserletrason~ñlpmpmadorpuedeeiq$aifbrmaatbi~el ~ l o . Cada llnea de un prugram de l e n p j j emamblador se arregla m 5 Reglas del lenguaje h d a sC B en t m colum- Mh ~ ~ a m p especifieaFi la S&hk -6n.peronomaSde~ ~ & a n ~ Q p ~ ~ d e b e s e r u n a i e @ l o s d o s 1 . &ara fomulamnos las reglas de un lenguaje d l a d o r para & i r programas ~ U C O de S la computadora básica. Casi cada computadora comercial tiene su propio lenguaje ensamblador. Los usuarios deben apegarse a todas las reglas de fomiato del lenguaje si desean que sus programas se traduzcan en forma correcta. 8'3 Bi C Br-23 C=A+B consistemssignartresW&desdemanoria. tiene disponib1es el fabricante de la com~ubdora. 2 El campo de instrucci6n especifica una instrucción o una seudoinstrucci&nde mdquina. 3. un p~ compilador b d u e 1 .

190 m W m a d h bhica de la computadora 1.quepuede estar p-teono. . .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. Esta localidad debe definirse en alguna . la l h P a q ? l w e n ~ U M i h s ~t o dd e k~b L a p d $ e l s h h 1 0 1 eipiiicri una k i s h d ú n de ~ o n a m k n t h odkch Una no-MRX se define como una instrucción que no tiene una parte de d k i 6 n . 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 seudoinstrucciones que reconace el ensamblador.' bhdor recon-n muchas otras instrudeiones. . es la L Si I d a m k . 2. l$plpi - CLA nwMRI d W 6 n d i i t a Mü ADD OPR ADD FTR X - dhwcj6n indirecta MRI sePrdoinsMh .u& de O&. Una instrucci6n de referencia a memoria 0 .mloca al final del p-ama para informar al ensamblador que termina el prog~ama. l 3 posible u a h r ORG más de una vez en un de un q m e n t o de memoria.) La seudoinstnieei6n ORG (origen) informa al ensambladat que l a w a c i b n u operando en la siguiente h e a va a colocarse m la p i c i 6 n de la memoria espdicada por e l número que está desp. Una insheci6n da referencia a memoria. Para poder traducir un pmpma de Ienguaje ensamblador a un programa binario es abso1ukmente necesario que cada direccibn simMica que se menciona en 4 campo de i n s h d 6 n deba ocurrir nuwamente en el campo de eüweta.Las otras doa seudoinstaicciones especifican la base del operando y le dicen al emambhdor cbgto m v & el número listado a bhario. R trercw. Una instni& de dmmcia a memoria m p a dm o t m s h b I o s -mdospor~d~Elptimerodebeserunsimbolodebesl~quedefiraaun ~deopergci6nMRIdehtabla~1.61segundaesuna~6n~lia. E l slmbolo END . (Otros programas de lenguaje ensam. como ADD. parte del programa porque aparece de nuevo como una etiqueta m la' primera columna. En seguida se muestran los simbolos que pueden colocarse en el campo de instrucci6n de un programa. Una no-MRI se reconoce en el campo de instniccibn de un p m p m a mediante alguno de los S-la de t m letras que x htan en i a tabla 6-1 para las instrucciones de referencia a registro y de entradadda. stnbolo. Una dirección simb6lica en el campo de inatnicci6n +ea la k m lidad de memoria de un operando. Una instnid6n de refemwia a registro o de entradadida (no MRI): 3. Una seudoin8tru0~ibn con o s i n operando. ia letra 1 pude estar presente o m. d e b estar después de la &recci6n &rMiica. programa para + m se.

Se convierte a n h e m binario en repmtau6n de m p l e mento a 2 con s i p o porque hemos &abkido que todos los niimeros negativos conserven su forma de complemento a Z C m d o s e toma e l complemento a 2 dei sustraed (al mmplementar e incrementar AC).cci6n ORG para definir el origen del programa en la posicibn de memoria (1W)16. T m ¿e las swdoinstrueel final del programa. tas siguientes seis líneas definen instnieciones de máquina. se d i z a r a una resta entre dos ndmems. . y la última Cuando el programa s e traduce a código binarb y la computadora l o qecuta. y las tíltimas cuatro tienen seudohs~ccíones. El sustraendo es un número negativo. ciones wpeúGon operandos. Los comentarios se insertan s61o para explicar y no se consideran durante el ~~ proceso de traducción a b i r i o .23) = 83 + 23 = 106. La w t a se ejecuta al sumar el minuendo del compIwrrento a 2 del swtraendo. pero s il o tiene debe estar precedido por una d a i m para que el d l a d o r reconozca el comiaizo de un campo de c ~ n e n h i o Los . Comenzando desde la primera línea.TABLA 6-7 Mniaón de-&instrucciones Sirnbolo Información para el ensamblador ORO N E l niirnao hexadecimal N en la localidad de memoria para la instnrmi6n o e1 operando listada en la linea siguiente. Esta nos dice que co- . END DEC N HEX N Denota el fin del ptógrama simbblico NGmm decimal con signo N para convertirse en binario Nfimero hexadecimal W para convertir= en biario El tercer campo de un programa está reservado para comentarios. 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 d e m ~ & a memoria. La primera lima tiene la seudoinstni. son útk para explicar e l programa y para comprender el pmcdhiento detallado que realiza el programa. Las tareas que ejecuta el ensamblador se m p r e n d e r h mejor si realizamos primero la traduceihn en papel. Una h e a de código puede tener o no m comentario. encontramos una seudoinstrucción ORG. Un ejemplo 131 p r o p m de la tabla 6-8 es un ejemplo de un programa de lenguaje ensamblador. 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-mequivalerite.2 3 se convierte en + 23 y la diferenQa es 83 + (complemento a 2 de . Traduccihn a binario ensambtador La traducción del programa simb6Kco a biario se hace mediante un programa especial Iiamado mntblador.

Al venfiear la tabla 6 1 encontramos que el prirher digito h-decimal de la. DE. Luego asignamos piciones m c i a i a can paraeadaUneade~quetmgaunainstnmióndedquinau~perando .192 c&nm SEIS Programa& M i e a de l a computadom TABLA 6-8 Programa del Ienguaje ensmbiador para reshr dm nnQmwos ORG 100 LDA SUB CMA /Origen del programa en la posicibn 100 /Cargar d sustmendo a AC /Complementar AC /Inmmentar AC mc m. Cuando las dos partes de la instrucción se ensamblan obknemo~ el ckiigo hexadecimal 2107. Como no tiene la Ietra I. la d k x b . El prriceso de traduecidn puede simplificacse s i examinamos el progama s h M h completo dm veces. la asignad611 de p i c i o n e d&nirá e l 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. Por 1 0 tanto. No se hace ninguna traducci6n durante el primer examen.h e x a * de la iLIShZ1Cb6PL WiA debe ser 107. ADD MIN STA DIF KLT DñC83 DE€ -23 HBXO /Sumar el minuendo a AC /Almacenar la difmcia /Detener la computadora / Minuendo /Sustraendo BND /La diferencia esta almacenada aquí /Fin del programa sirnbúlico tabla de símbolos de bad& rnencemos el programa b h r i o de la direccibn 1 O O hexadecimal. el primer bit del código de ingtnicción debe ser O. instnrcción debe ser 2 E l valor biraario de l a parte de direccibn debe obtmem del súnboio de dixeaci6n SUB. meontramos que el título SUB de la lfna 9 corrqmde a l a ~ i c de h la memorLa 107. La -da línea time dos stnbolos. SUB. Examhmos la columna de etiqueta y encontramos este simbolo en h Unea 9. Debe ser una instruccih de refmcia a memoria para estar colocada en la localidad 100. 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 . Dos iíneas del programa simbblico espacifican operandos decimales con la seudo~trueci6n DBC Una tereera q e c i f t c a un cero mediante una swdoinstrucd6n HEX (también podA usarse DK). 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.E l decimal 83 se convierte en binario y se d w a en i a p i c i b n 106 de su equiva!ente hewdeeimat El decimal .traducir. El equivahte hexadechal del niunero binatio se coloca en l a posicidn 107. El nombre M l i c o de la opaci6n es LDA. en la tabla 6-9.23 es un númem negativo y convertirse en bina50 en f o m de e o m p b t o a 2 con signo. asigpmps la posicibai 1 M 3a l a primera hsbu& despuBe de ORG. E ! simbolo END a i @ h el final dei programa shb6Zico y nos dice qw ya no hay limas por . P a r a 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 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.

de LDA de la tabla 61 y el valor hexadecimal de SUB de la tabla de shbo1os de dirección que aparece arriba. Por ejemplo. (A ORG y a END no se les asigna una posición num6rica poque no reprwmtan una -instnreei:6n o un operando. y el segundo examen se Uama segun& pasada. Para este p p m . la hea de c6dXgo LDA Clls se traduce durante e l segundo examen al obtener e l valor hexadecimal. SUB. Cuando el programa enmbiador t m i n a la traduccibn de sfmbolos a binarios.a m c h m cada vabr c o n 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 . la tabla de stmbolo de d h c i 6 n es romo s i g u e m SUB DIF 106 107 108 h a n t e el segundo examen del programa simb6lico hacemos referencia a la tabla de símbolos de direcci6n para determinar e l valor de W i 6 n de una instnicci6n de referencia a memoria. . Desp&.TABLA 6-9 Listado. el primer examen se llama primera pasada. CMA ADD M i N STA D E m T DEC 83 DEC -23 HEX O END hasta el final del programa.dd d u c i d o de. DIF.) Cuando se owmina el primer examen . ensamblamos las dos partes en una instrucci6n hexadeeimal de cuatro dfgiim. la tabla &8 Codigo hexadecimal Pdci6n Contenida Programa dmbdlico ORO 100 LDA SUB mc MIN. El c6digo hexadecima1 puede convertirse con facilidad en binario si deseamos conocer exactamente d m o reside este programa en la memoria de la computadora.

El usuario telea el programa simb6lico en una terminal. Esto hace que "elcarro"retome a su W 6 n inicial para comenzar a k c h r una nueva h . El bit de orden superior es siempre O y los otros siete bits se +an median& ASCII. EI d i a d o r reconoce un d i g o CR como el final de una línea de d i g o . el programa simbbiiso dek almacenarse en memoria.- r r b r r i rcriih Cadcter Código Cadcter C6digo Cadcter - C6digo 6 7 8 9 espacio ( + i1 CR . El ensamblador es un programa que opera &re cadenas de caray produce una interpretaci5n biaria equivalente Representacibn de un programa simbbüco en la memoria el p m de ensamblado. El equivalente hexadecimal del conjunta ¿e carase lista en Ia tabla 610. El programa shnM~co de entrada se Uama prqgrattra fuente y el programa binario que resulta se llama programa objeto. su repmntacibn en la memoria debe utilizar un código de caracteres alfanuméricos. Como el programa está formado por Antes de comenzar -- símbolos. 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 l a 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. Se utrliza un prcigrama cargador para introducir los caradel programa &¡Mlico en la memoria. TABLA 6-10 Código de carackes hexadecimah .6-4 El ensamblador Un ensambfador es un programa que acepta un programa de lenguaje simb6lico y produce su lenguaje de &quina bhario equivalente. En la mputadora Msica cada carBcter se " p m t a mediante un código de 8 bits.

E l título Pi3 ocupa dos palabras y t e & con el código & coma (X). El ensamblador no considera todos los caracteres del campo de comentarios y contính la comprobaA6n en busca de un c6dip a Cuando encuentra este cddigo sustituye el c6digo de espacio despub del Q1timo s&lo m b S í n m de d i g o . LDA SUD 1 Palabra de memoria Símbolo C6digo hexadecimal Representación binada finea de código Una h e a de c6digo se aimacena en posiciones de memoria mnsecutivas con dos caracteres en cada posici6n. la siguiwite línea de -0: PL3. (m. genera una tabla que relaciona todos los. S i la h e a de &diso tiene un comentario. E i ensamblador examina esta entrada dos vexs para producir el programa binario equivalente. Zs entrada para el programa m b l a d o r es el programa de lenguaje siihb6lico en A X I i del usuado. Los slmboloa de opraci6n y direeci6n se terminan con un espacio y el final de la Unea se reconoce mediante e l código CR. el m b l a d o r lo reconoce mediante e l d i g o para una diagonal ( 2 F ) . según se muestra en fa tabla 6-11. Un símbolo de etiqueta se termina con una coma. Durante 4 primera pasada. El campo de instniecibn en la lima de c6dJgo puede tener uno o mds shbolos.quetermina con d c6digo de retorno de carro ( O D ) . El programa binario constituye la saIida generada por el eaisamblador. Pueden almacenarse dos caracteres en cada paiabra porque una palabra de memoria tiene una capacidad de 16 bits.TABLA 611 Represmhdn de computadora de la iinea de código FL3. Cada símbolo termina con el c6digo para espacio excepto el iiltimo símbolo. sImbo1a de dkecci6n definidos por el usuario con su valor binario equivalente. Un ensamblador de dos p a q examina todo el programa simbólico dos veces. el ensámblador utiliza una Primera pasada . L a traduccibn a bhrios se hace durante 4 segunda pasada Para dar seguimiento a la dirección de las instrucciones. Por ejemplo. LDA SUB 1 a t á almamada en siete localidades de memoria consecutivas. Ahora describknos de manera breve las b e a s principales que debe ejecutar e l ensambbdor durante e l proceso de traducci6n.

La seudoinstrucción ORG inicializa el contador de posición para el valor de la primera posición. LC se inicializa al principio en O. Si la línea tiene una seudoinstrucción END. Para evitar una ambigüedad en el caso de que no estuviera ORG. Como las instrucciones están almacenadas en posiciones secuenciales. el ensamblador establece el contador de posición en O desde el principio. el ensamblador comprueba el símbolo del campo de instrucci6n. El contenido de LC almacena el valor de la localidad de memoria asignada a la instrucción u operando que se procesa en este momento. el ensamblador termina la primera pasada y regresa para la segunda. el ensamblador inicializa al LC en el número que sigue a ORG y regresa a procesar la siguiente linea. contador de poskibn (LC) palabra de memoria llamada cont~dor de pcnsicibn (LC).196 C ~ SEIS Programación O básica de la computadora Primera pasada 3. evisat la siguiente línea de cádiga Sí Almacenar el símbolo en la tabla de slmhlos de dirección junto con el valor de LC No It ala segunda pasada I u Incrementar LC Figura 6-1 Diagrama de flujo para la primera pasada del emsamblador. se almacena en la . Las tareas que ejecuta el ensamblador durante la primera pasada se describen en el diagrama de flujo de la figura 6-1. el contenido de LC se incrementa en 1 después de procesar cada línea de código. Si contiene una seudoinstrucción ORG. Se analiza una línea de código simbólico para determinar si tiene una etiqueta @or la pmencia de una coma). Si la línea de ckligo no tiene una etiqueta.) Si la línea de código contiene un titulo. (Nóteeseque una línea con ORG o END no debe tener un titulo.

el simbolo no puede inberpretarse. SUB y DIF. MM. Cualquiex símbolo que se encuentre en el programa debe estar disponible como entrada en alguna de estas tablas. Despues tC se incrementa en 1 y se procesa una nueva lfnea de código. . Asignamos los siguientes nombres a las cuatro tablas: 1 . Un procedimiento de b&queda en tabla a una hÚque& de entradas de tabla para deteminar si una opción e c a coincide con una de las que se encuentran en la tabla. E i ensamb M r uWia cuatro tablas. E 1 programa tiene tres &mimes simbólicas. el ensarnblador genera la tabla de di&oneg simbblicas que se lista en la tabla 6. Cada shbolo de etiqueta s e almacena en dos posiciones de memoria y temina con una coma. las localidades de la memoria se llenan con el &digo para espacia Se almacena en la siguiente posición de memoria secuencia1 e l valor que se encuentra en LC mientras se p n b a la h e a . No se almacena nada en la tabla s i no se encuentra un título. tabla de diredonea simbólicas junto con su ntimero binario equivalente. 4 TabIa de símbolos dg d M 6 n . Para el programa de la tabla 6-8.deetiqueta -contrado y constituye l o s datos de saiida que genera el ensamblad~r durante la primera pasada. 2' Tabja MRI. m p d v a m m k ia tabla de d i i o n e s simbblicas ocupa t r e palabras para cada sfmbolo. Segunda pasaida tbqwda en tabla Las instrucciones de rndquina se traducen durante l a segunda pasada m e diante p d m i e n t o s de b ú s q d a en tabla. de otra manera. esperifkado mediante el contenida de L€. Si la etiqueta contiene menos de tres caracteres.107 y 108. Estos sirnbolos repmentan d W o n de ~ 12 bits equivalentes a las hexadecimales 106.TABLA M2 Tabla de 6 w de para el programa en la tabla BS Rep-tad6n Palabra de mema shblo o &C)* Wfgo hexadecimal binaria '*(tCj Representa e l contenida del contador de localidades. ~a6k no-MRi. Tabia de seudoig&mcciones.12.

La tabla de símbolo de direcci6n se genera durante la p a pasada del proceso de ensamblado. por lo que el ensamblador llega de inmediato al campo de instmcci6n y prwede a comprobar el primer &&al0 que se encuentra. S i no se encuenka el sZmbo10 en esta tabla. Después se analizan las iíneas de c6dig0. El primer bit de la instmi&6n se inicia en O o 1 . Ins tareas que ejecuta el ensamblador durante la segunda pasada se describen en d diagrama de flujo de la figura &-2 L€ se i n i c i a l i z a al principio en O. Si el simbola que se encuentra no es una 9wdoinstrucci611. DEC y HEX. Una instruccibn de referencia a memoria se espdfica mediante dos o tres símbolw. Cada entrada guia al ensamblador a una subrutina que prmesa la seudoin6brueción cuando se encuentra en el programa. Uno de tales errorea puede ser un simbolo no vaido de c6digo de mdquina que se detecta porque no estA presente en hs tabhs MRI y no-MRI. E l ensamblador busca estas tablas para encontrar el símbolo que se procesa en ese momento con el fin de deteminar su valor biario. END. Una coincidencia con ORG envía al ensamblador a una subnitina que establece L C en su valor inicial. dependiendo de si la letra I wtá ausente o pmente. La tabla no-MRI contiene los simbolos para las 18 instruccione~ de referencia a registro y de entrada-salida y su c6digo binario de 16 bits equivalente. E l ensamblador almacena el c6digo de instrucción de 16 bib dentro & la palabra de memoria especificada por LC. el ensamblador se dirige a la tabla MRI. E 1 ensamblador . que puede estar pmente o no. Una tarea importante del ensamblador es comprobar los posibles errores en el programa simbólico. No se consideran las etiquetas durante la segunda pasada. El contador de posición s e inaementa y se analiza una nueva h e a . El q m d o símbolo es una direeci6n simbólica y el tercero. Primero verifica la tablri de seudoinstnicción. Una coincidencia can END tennina el proceso de traducción. L a direeeih simbólica se convierte en binario al buscar en la tabla de diiciones simbólicas.El contador de Localidades se incrementa y el ensamblador avanza a procesar la siguiente línea. una por cada vez. Se enaambhn las tres p a m de1 código de instrucción binario y d"pu& se ahcenan en La localidad de memoria -cada por el contenido de L C . La tabla MRI contiene los siete s ~ l o de s la instruccibn de referencia a memoria y s u código de operaci6n de 3 bita equivalente. Cuando se encuentra un simbolo en la tabla M R I . Una mmdoinstnicci6n de operando produce urna conversi611del operando a b i n a r i o . el emamblador s e dirige a la tabla n o . es la letra 1 . Esto se llama dingn&fko de m. Un símbolo que se encuentra en la tala na-MRI corresponde a una instrueeidn de referencia a registro o de entrada-salida. Este operando se coloca en la posici6n de memoria especificada por el contenida de LC.el ensambhdor extrae su caigo de 3 bits equivalenh y l o inserta en los bits del 2 al 4 de una palabra.diapdstim de -r Las entradas de l a tabla de seudoinstniccwnes son los cuatro sImbo1os ORG. El contador de posici6n se incrementa después en 1 y el ensamhlador continúa analizando Ia siguiente h e a de &ligo.

.Figura 6 2 Diagrama de flujo para la segunda pasada del ensambiador.

se le puede permitir al usuario utilizar un número o un simbolo para especificar una direccibn. 2. podemos -mostrar las funciones U i e m de un compilador al analizar el proceso de traducir e l propama anterior a un programa de lenguaje ensamblador. Conforme el lenguaje de ensamblador se vuelve más sofisticade.100nhneros enteros. en cada ocasión con un operando A@ diferente para cada J = 1 . 6-5 CjcJos del programa Un nclo de ptbgrama es una secuencia de instrucdones que se ejecutan m u b v~~ cada wasi6n con un conjunto diferente de datos.. Un programa de &tema que traduce un programa escrito en un lenguaje de programacibn.100.no puede traducir tal simbolo porque no conme su valor binario equivalente. alto nivel (corno el anterior) a un programa de lenguaje de mAquina s e llama wmpilndo~Un compilador es un programa más mmplidado que un ensamblador y requiere d conocimiento de programaci6n de sistemas para comprender por cmpleto su operación. Los ciclos de programa se especifican en Fortran mediante un enunciado DO (hacer). Debe enfatizarse que un ensamblador practico es mucho m69 complicado que e l que e explid aquí.bCo apame como una etiqueta. el ensamblador imprime un mensaje de error para informar al programador que su programa simb6lico tiene un error en una línea de c6diga espe&&. En ese caso. ' M e nacurrir otros errores y un ensamblador practico debe d-rh e imprimir un mensaje de emr para cada uno. E i siguiente es un ejemplo de un programa Fortran que forma la suma de . . . Por ej-10. Un compihdor puede utilizar un lenguaje ensarnblador como un paso ihkrmedio m l a traducción o puede traducir el programa en forma directa a b b r h r t e j . cornpiiadw El enuqdado número 3 se ejecuta 100 veces. No obstant e . e l ' w m a emadlador se hace más complicado. La mayorfa de las computadoras l e dan a l programador mapr flexibilidad para escribir programas en lenguaje ensamblador.. También pueden especificafse muchas otras 6eudoinstrucciones para facilitar J a tarea de programacibn. Puede ocurrir otro error si e l programa tiene una direcci6n shrkdlica qUe+lamp. Muchos ensambladores le permiten al usuario 4 c a r una d b x i 6 n mediante una expqesi6n acitmttica. El ensamblador no puede t m d d la lima de cddiw h r m a adema& poque e l equivaIente bina150del símbolo ho ~e en@rará & I la tabla de M n e s &licas generada durante la p h e m -da.

=o m 0 ORG 1 5 0 DEC 75 /Primera d i d ó n de operandm /Esta posicibn b t á m a d a para un apuntador /Constanfe p a r i d a b d w inicializado /Esta psidbn ests e r v a d a para un contador /ta sumh a á alnia-da aquf JE1 origen de tos operandos es HEX 150 /- DEC 23 END /Ultimo operand. E i valor de los opermdo~ está determinado a partir de un enunciado de entrada (no listado en d programa). m SUM. H i primer enunciado del programa Fortran es un enuiciado DIMENSIUN. Supongamos que e f compilador resma localidades. Si fueran del tipo real. el compihdor hubiera *tenidoque reservar posiciones para niuneros de punto flotante y generar insfrucciones que ejmtaran la aritmgtica resultante c m datoe de punto flotante. que eerpecifiea d or@m de ~ Q Soperanda El primer y el último operando se listan con un número decimal especifico..0 /Fin del programa slmbbiico . astos dos enunciados no son ejecutables y son similares a las swdoinstruaeiones de im lenguaje ensambiador. E I compiladcm d o mserva el espacio de TABLA 613 Programa simb61'ico &a "I sumar 1MI números Línea - LUP* ORG 100 D A ADS STA PTR LDA NBR STA CTR =A ADDPTRI I s z m /El origed del programa es HEX 100 /Cargar primera d i d h de operandos /Aiilma&nasen apunhdor /Cargar menos 100 /Almacénar*n a t a d o r /Borrar el acumulador E2 ADS. 0uN LOP STA HLT m 1 5 0 m 0 ' DEC-100 j ~ k c e n a suma r m. del pmpma 201. PTR. Este enunciado instruye al compilador para reservar 100 palabras de memoria para 100 operandos. aunque estos valores no se conocen durante la compilaci6n. El segundo enunciado infama al m p i h d o r que los números son enteros.6 ~ 65 CM-. Estas palabra$ de memoria reservadas se listan en b iíneas de la 19 a la 118 en d programa traducido de la tabla 6-13. Esto se aealka mediante la seudoinstrueti6n ORG en la línea 18. las localidades de la (150)16 a la (1B3)16para los 100 operandos.

La suma que se forma en e l acumuIador se almacena en SUM y la computadora se detiene. También m a r 4 una posici6n de memoria representada por SUM {en la ünea 17) para almacenar ei valor de esta variable cuando termine e ldo. Algunos compiladores traduciráin el enunciado SUM = O dentro una instrucci6n de máquina que inicialice l a posicin SUM a cero. E l compilador producirá una instnicci6n en la línea 6 para borrar el AC. por lo que su valor cambia al de la dirección dd siguiente operando secuencial. el operando de la psici6n 150 se suma al acumulador. Por claridad.en hs líneas de la 2 a b 5 para inichlhar el ciclo de programa. Después se hace una referencia de esta posicihn cada vez que se ejecuta el enunciado P o ndmero 3. Un mpilador más inteligente comprender4 que la suma puede formarse en el acumulador y d o el resultado f m l puede almacenarse en la posici6n SUM. por lo que la computadora rieg~esa a repetir e l &do una vez más. Despu6 la posici6n PTR e incrementa con la instnicci6n rSZ de la h a 8. e l programa s e ramificard a una localidad en la cual continuará ejecutando el resta del programa o brincar&al principio de otro programa. La cantidad de vece3 que el ehundado de Furtran deh ejecuta= es 100. si no es c m . Cuando esta localidad se d b i o n a indirectamente l a computadora considera el contenido de FT'R como 14 cbcci6n del operando. Después e l nCimero . Al indhr el enunciado DO se traduce en las instrucciones de las heas 2al a 5 y las constantes en h s heas de la 13 a la 16. se almacena . La iínea 7 especrfica una instnrcci6n ADD hditecta parque tiene el simhlo 1. Cuando d valor del contador Uega a cero. Por l o tanto.100 se transfiete a la posicibn CTR Esta pwicibn acbla como un contador y su contenido se incrementa en 1 rada vez que se ejecuta el ciclo de programa. Como resultado. La direccibn del: primer operando ( 1 8 0 5 0 )se almacena en l a localidad ADS . Esto corresponde a establecer Am en A(1). en realidad. la computadora no brinca a la siguiente instruM6n. Los números de iííea del programa simbólico son & l o para referencia y no forman parte del programa simb6lico traducido. La dirección del primer operando se transfiere a la posicih M'R.enla Iinea 13. EI ciclo de programa especificado mdiante el enunciado DO se traduce a la secuencia de instrucciones que se listan en las ffneas de la 7 a la 10. La posicibn CTR se irmementa en la h e a 9 y. Cuando la posición CTR alcarm cero (dapub de que e l ciclo m ejecuta 100 veces).Programación básh de 1a -putadora en la memoria y los valores se in~rtan despu&scuando se ejecuta un enunciado de entrada de datos. La d b i b n del operando actual se almacena en la localidad PTR. se brinca a la siguiente insbucci6n y la computadora ejecuta Ias instrucciones de las llneas 11 y 12. N ó b e que ISZ en la iííea 8 se utiliza simplemente para sumar datos . La instrucci6n que viene a continuación es una instnic&n de transferencia o brinca (BUN) al principio del ciclo. se inserta aquf la instrucción de detener.100 en la posici6n NBR Después el compilador genera las inslnicciones.estai!&n compietadas las 100 operaciones y e l programa dejar&el ciclo.

para formar un ciclo de programa. La implantaci6n de software da como rsultado programas m& largos. Como ejemplo. Esta d ó n muestra la implaritación de software para unas cuantas operaciones ariñnéticas y lógicas. 'Las operaciones implantadas mediante un conjunto de instnicciones que constituyen un programa se dice que se implantan mediante pqamaci6n. Como la direccibn es un número positivo. Otras contienen un conjunto m á s pequeño de i n s ~ o n e s de hardware y s e apoyan mas en el trabajo del software para muchas ope'aciones. Algunas computadoras ejecutan una operaci6n dada con una instrucci6n de mdquina. Algunas computadoras proporcionan un conjunto amplio de instrucciones de hardware' diseñadas para acelerar las tareas comunes. Pueden desarrollarse programas para cualquier opación &€mética y no s6Io para datos binarios de punto fijo sino también para d a b decimales y de punto flotante. junto con la operaci6n de direccionamiento indirecto. Cuando los registros del procesador se utilizan como apuntadores y contadores reciben el nombre de registros fndice. consideremos ias cuatro operaciones aritmdticas bdsicas. Otras. multiplicar y dividir. . El apuntador sefiala la d k i b n del operando actual y ei contador controla la cantidad de veces que se ejecuta el ciclo del programa. El programa de let tabla 6-13 introduce la idea de un apuntador y un contador que pueden usarse. Las operaciones que m se incluyen en el conjunto de instrucciones de mBquina deben implantarse mediante un programa. 66 Programación de operaciones dtm4ticas y lógicas La cantidad de inshucciones d i i i b l e s en una computadora puede ser de unos cuantos cientos en un sistema grande o de unas cuantas docenas en pequeño. nunca ocurrirg un b b . La implantacibn de hardware e a d s costosa por los circuib adicionales dos para efectuar l a operación. La implantacidn de hardware de operacima aritmkticas se estable en el capitulo 10. En este ejemplo utilizamos dos posiciones de memoria para eshs funciones.contador de apuntador 1 al apuntador de direcadn PTR. Hemos mostrado en la tabla 6-8 un programa para restar dos nberos.En las computadoras cor~d s de un registro de praxsador. tanto en cantidad de instrucciones como en tiempo de qecución. restar. otro como contador. Algunas compuutadoras tienen instrucciones de miquina para sumax. es posible utiihr un registro de procesador como apuntador. h programas para otras ~ c i o n e aritméticas s pueden desamIlarse de mane ra similar. Los registros índice ae analizan en la secci6n &5. otras pueden n-itar una gran cantidad de instrucciones de mequina para ejecutar la misma operacibn. Las operaciones que se efeckhn con una iqstrucci6n de máquina se dice que se realizan mediante la circuiterla. y un tercero como acumulador. como la computadora básica.9610 tienen una instrucción aritmdticat ADD (sumar). uno .

e SELS Pro&ramaci6n bsiaPca de la computadora S contiene el multiplicando Ymntie~ el mdtipiicador P forma el producto Ejeniplo con cuatru digiiae si@flcativwi Figura M Diagrama de flujo para un programa de muitipli& .

El valor final de P forma el producto. h s sumas intermedias se liaman productos parciales porque contienen un número parcial hasta que se suman todos los números. Para simplifiear el programa. para que su producto no exceda la capacidad de la palabra de 16 bits. Esto se hace borrando E. una por cada bit significativo del multiplicador. Después s e ejmta un corrimimb del valor de X una vez a la izquierda' al cargarlo dentro de AC circulando a la izquierda E y AC. El bit multiplicador puede verificarse si se transfiere al registro E. para almacenar la sumas intermedias. Es posible modificar e l programa para que considere los signos o utilice números de 16 bits.3. El programa de la tabla 6-14 lista las instrucciones para multiplicar dos nrlmeros sin signo. Este bit almacenado en E es el de orden menor del multiplieador. Si es 1 . Como se muestra en eI ejemplo numérico en P . Al principio la posición X contiene el multiplicando y la posici6n Y contiene e l multiplicador. Cuando se multiplican. el rnulkiplicando X se suma al producto parcial P. Tambih suponemos que los dos ni5meros buiarios tienen no m8s de ocho. el proceso de multiplicaci6n consiste en verificar los bits del multiplicador Y y sumar e l multiplicando X tantas veces como dlgikos 1 existan en Y. no consideramos el bit con signo y asumimos sólo niheros positivas. Ia computadora puede utilizar númeroa c m ocho bits significativas para conseguir un producto de hasta 16 bits. Si es O. representada por P. pero debe incluirse cuando . el producto parcial no cambia. Como se muestra en el ejemplo de la figura 6. Como la computadora d o puede agregar dos ndmems al mismo tiempo. El diagrama de flujo de k figura 6-3 muestra el procedimiento paso a paso para programar la operaci6n de multiplicaci6n. E l valor de X se recorre a la izquierda despuds de comprobar cada bit del multiplicador. E i ciclo se repite ocho veces al incrementar h e i c i 6 n CiX y verificarcuando alcanza a cero.8 y la localidad P ' se tioma a cero. cargando el valor de Y dentro de AC. E l programa para multiplicar das nberos se basa en el procedimiento que utilizamos para multiplicar números con papeI y Ibpiz. reservamos una posici6n de memoria.e l producto parcial comienza en cero. Cuando el contador llega a cero. el productb contiene ocho bits significativos. haciendo circular a la dereeha E y AC y aImacenando el número dwplazado de regreso a su posici6n Y. dado que el valor de X se ha recorrido a la izquierda de una línea a la siguiente. Se establece un contador CTR en . el producto resultaría de 31 bits de longitud y ocuparía dos palabras de memoria. bits sqpíicativus. el progrhma deja el ciclo con el producto almacenado en P. S i n embargo. L a inicializaci6n no se lista.Programa de multipliacih Ahora desarrollemos un programa para multiplicar dos ndmera. El multiplicando X se suma al contenido de P para cada bit del multiplicador Y que es 1. E l programa tiene un ciclo que se recorre ocho veces. El ejemplo num&rico tiene n h e r o s con cuatro bits significativos. Ahora verificamos el valor de E.

flujo. BUN o m BUN m0 LDAX ADD P STA F CLñ 1 /Almamar multipficador desplamdo SVerificar si el bit e s cero /El bit uno. es necesario que se agregue . e inieilizar la localidad P a cero. E l pmgrsma mismo es directo y sigue los pasos que se listan en e l diagrama de.ecisidn. iniciaIizaci6n consiste en traer el multiplicando y el multiplicador a las localidades X y Y. Por l o tanto. Este ejemplo ha mostrado que si una computadora no tiene una instruai6n de máquina para una operad&^ requerida. correspondiente se presenta en la seccibn 10-3.das n3imero5 wp. mflltiplitiando recomdo jlnmemenlar contador /El contado?no es cero. ir a UNO /El bit es m.8. Cuando se caliila un producto parcial. el resultado es un producto de 32 bits qué debe almacenarse &ndos palabras de memoria. LDAX a I[Szm STA X BUN LOP x. La.cialhn.i ra m C e r o /Cargar multiplicando /Sumar a l producb parcial IAl~lrpiaeenar producto p.ucial /Borrar E /Cargar muf tiplicando /Corrimiento a la izquierda /Almacenat. m H L T b DE€-8 H m OOOF T W B HEXQ m se carga dekitro de k computadora.i-m 206 w Prngram- M& de & I computadora TABLA &a4 Prbpma para m d i i p I ' i . hemos mostrado la implanhcibn de software para la operaci6n de ' multiplicación. Si 'Bstas no se ini. Se &e que un niímero aima:cenado e Í i dos palabras de memoria tiene doble pi. Y.Jjois c~mentarimp h n ayudar a seguir el procedimiento paso a el programa paw. la operacibn puede programarse mediante una w e n c i a de Instrqcciones de mAquina. p. detener /Esta posicibn sirve como contador /El multiplicando se almacena aqui [ E i multiplicador se almacena aqui /El producto se forma aquf ZRO. ta jmplantaQ6n de hardware. respecc tiva-& inicializar el contador a . Suma de'doble preci6$n Cuando se multiplican des números de 16 bits sin signo. ORG 100 m s m LDA Y @mar E /Cargar mul tiplicador /Transferir bit multipIi*cador aE STA Y ONE. el programa puede comer con datos incorrectos. =petir ciclo JEi ceintiidor es m o .

Un programa que forma l a operacibn OR de do4 operandos 16gicm A y B es como sigue: + .A superior y acarreo /Sumar B superior /Almacenar en C superior M. las 16 v c i o n e s 16gicas pueden integrarse mediante software parque cualquier funci6n lógica puede implantarse usando las operaciones AND y complemataf. a. EI AC se limpia y el bit en E se circula dentro de la posici6n menos significativa de AC. La aegunda expresibn rontiene sólo operaciones M y complemdar. BH. CMA y CLA. Operaciones 16gicas La computadora básica tiene tres instrucciones de máquina que ejecutan operaciones Idgicas: AND.E 1 programa se lista en la tabla 6-15. e1 cual es tambibn un niimero de doble precisi6n. las dos parb de orderi menor se suman y el a c a m se transfiere a E. el programador puede dewar emplear números de doble prixisi8n y ejecutar la aritmética con operandw que ocupen dos paiabras de memoria. la operadbn OR no gstá disponible como una instrueción de mSiqulna en i a computadora básica. Uno de los números de doble precisi6n se coloca en dos localidades de memoria consecutivas. HLT /Posicih de los operandos m. Ahora desarrollamos un prugrama que suma dos números de doble precisión. Por ejemplo. Para mayor exactitud. donde AL contiene los 16 bits de orden menor. AL y AH. Por el teorema de DeMorgan reconocemos la relación x y = @'y')'. BL.~ ~ ~ c i ó n m d e o ~ TABLA 6-15 Programa para sumar dos n b m de doble precisión D A AL ADD BL STA CL CZA CrL ADD AH ADD B H STA & /Cargar A inferior /Sumar B inferior. AL. La 'insfniEci6ri LDA puede conside rarse como una operacibn lógica que transfiere m operando lógico dentro de AC. En la 8ecciBn 44 listamas 16 opwaciones lhgicas diferentes. aarrear E /Almacenar en C inferior /Limpiar AC /Circular para llevar el acarreo a AC(16) /Su. - un nhmero de doble precisi6n al multiplicando sobre el que se ejecuta un corrimiento. Las dos porciones de orden mayor se suman después al acarreo y la suma de doble preeisih se almacena en CL y CH. E i otro número ae coloca en las localidades BL y B H .

Operaciones de corrimiento Las operaciones de corrimiento circular son instrucciones de máquina en la computadora bisica. Para la computadora biaica hemos adoptado la repremntacibn de complemento a 2 con signo. Las reglas para los corrhientos aritméticos se &tan en la se~cibn M. Esto se consigue con fadidad al h m a r y al hacer circular AC y E. para una operacihn l w c a de corrimiento a la derecha necesitamos las dos instrucciones. E l programa para el corrimiento aritmetico a la derecha requiexe que estableE en el mismo valor que el bit de signo y b circulea la derecha. El corrimiento ldgico necesita que los ceros se agreguen a las posiciones de los extremos.m8 m Fqmnxih W c a de l a computadora LD R 0 Cargar primer operando A Comp1ementax para obtener A CM A S T A T M P Almacenar en ima localidad temporal Cargar segundo operando B LD A B CMA Complementar para obtener AND TNP ~plicsrlafunci~m AND~onA~anobtenerAAB CM A Complemenbr de nuevo para obtener A V B Las otras operaciones lógicas pueden efectuarse mediante software de manera similar. Pero el mismo bit de signo se recorre a la posicibn del bit de orden superior dd número. Estos dos corrimiento6 pueden programarse con una cantidad pequeña de instrucdones. C LE CIR Para una operacibn 16gica de despiazamimb a la izquierda necesitarnos las dos instrucciones CLE CIL Los corrimientos ariídticos dependen del tipo de repmtacidn de niimems negativos. por lo t a n e CLE /Limpiar E a O SPA /%ltar si AC es positiio. Por lo tanto. Los otros corrimientos de interés son los corrhimtos Idgims y aitmdticos. Para un corrimiento aribn&tiro a la derecha es necesario que no se altere e 1 bit de signo en la posicibn de la extrema izquierda. E pemanece en O .

Si bs dos valores son iguales. Esto presenta el problema de cómo hacer que la subrutirta reconozca a que Iokalidad regresar. Después de que ce ejecuta l a subrutina se hace un brinco de regreso al programa principai. el n h e r o que se obtuvo excedió la capacidad de AC. en la parte principal del programa se ejecuta un brinco al comienzo de la subrutina. Con una operacidn circular. una misma parte del código puede escribir= una y otra vez en cüfemntes partes de un progtama. etablecer E en 1 CIR /Circular E y AC Para el corrimiento aritmética a la izquierda es n e o que el bit que se suma en la posicibn menos significativa sea 0. es necesario almacenar la dirección de regreso de alguna manera m la computadora pAra que la subrutina sepa adonde regresat. En la cumputadora básica. Entonces es n-río comparar el bit de signo con el mismo valor de E despuds de la operaci6n. Un sobreflujo indica que el número en el que no se ejecut6 el corrimiento era demasiado grande. S i no son iguales. todas ias computadoras proporcionan instnicciones especiales para facilitar la entrada y el retorno de una subrutínst.CHE IAC es negativo. Tal operación podría haberse hcIuido como una instnicci6n de maquina en la computadora. Una subrutina consta de una m e n t i a completa de instrucdones que realiza una brea dada. Con frecuencia. Por 10 tanto. El programa de k i Zabla 616 comienza por cargar el . Para explicar cbmo se utiliza h iristruceibn escribamos una subrutina que ejecute ei eorrimienb del mntenMo . Cuando se multiplicó por 2 (mediante el conirniento). Un conjunto de insmcciones comunes que pueden usarse muchas veces en un programa se llama una subrutina. Como ia llamada a una subrutina y e l ~+bmo al programa princip d es una p a r i 6 n mmtín. Cada vez que se usa F a subrutina. existe una ventaja obvia si las instrucciones mmmm se escriben una sola vez. se forma una subrutina para realizar esta W. En lugar de repetir el código cada vez que se necesita. Rmwiwr una palabra cuatro vm& eli una operación fitil para prmesar ntlmems decimaks codüicados en binario o caracteres alfanum6 ricos. E l bit de signo no d e k cambiar durante esk corrimiento. el bit de signo se muwea E. el enlace del pmgrama principal y una subnitina es una instnicci6n BSA (brinca y guarda la dirección de retorno). Puede haun llamado a la subnitina desde cualquier parte del p-ma principal. Esfo se hace con facilidad al limpiar E antes de la operaci6n circular a la izquierda. el c o m e n t o aritmético se efectub en forma C D I W C t a . ocurri6 un sobreflujo.del acirmulador cuatro veces a la izquierda. porque muchas localidadea &tes del programa principal pueden llamar a la misma subrutina. Como no está incluida.

La subnitina SH4 debe =tomar a la h l i d a d 102 después de que finahe su m .210 ctvfrum Pmgramad6n bdisica de la computadora TABLA 6-16 Programa para mostrar el mde subnihas ORG 100 LDA X BSA 5H4 STA X LDA Y BSA SH4 STA Y m T HEX 1234 /Programa principal /cargar x /Ramificar a subrutina /Almacenar ndmero desplazado /&rw y /Otra vez a subrutina /Almacenar n 6 m m dqlazado /Subnitina para d e s p b a la iquiada 4 /Almacenar la direccibn de retorno aquí /Circular a la izquierda una vez /Circular a la izquierda por cuarta vez /ktabiemr AC(l3-16) en cem HEX 4321 /Real pragtama principal /Cubrir el operando valor de X dmtro de AC. Esta ami611 ha guqdado h dimcibn de retarno y la subrutina s e ejecuta ahora comenzando en la posicih 10A (porque este es el conaenido de PC en d siguiente ciclo de b68queda). La siguiente imlmccí6n que se encuentra a BSA SH4. La Uistnicción BSA esta en la lacalidad 101. Para realizar una operación de desplazamiento lógico bs cuatro bib de orden menor deben iniciarse en c e r o . E l cálculo de l a subrutina circula el c o n ~ de o AC cuatro v a la izquierda. l a unidad de ccmtrol almacena l a direccibn de retomo 1 Q 2 dentro de la posici6n. también transfiere el valor de SH4 + 1 al contador del programa.Cuando se ejecuta la instruccihn BSA. Después de que se ejenita esta instniccióq La b l i d a d de memoria 109 contiene el equivalente binario del hexadecÍmai 102 y el contador de p q m ma contiene el equivalente binario del hexadechd IOA.ddinida por la M 6 n simb6b SH4 (la cual es 109).Esto se hace al enmascarar FPPO con e l contenido de AC. Una operacibn de enmamar es una operaciht AND lbgica que borra los bits de AC donde el operando enm9warado err cero y deja 10s bib de AC sin cambio &ando los bits del operando de enma8mramiento aon 1. .

Lo que se enmtn5 en h posicidn 52. Parhetm~ de subrutina y enlace de datos Cuando se llsnna a una sukmtina. el programa principal debe transferir los datas con los que s e desea que trabaje h subrutfna. Se lleva a efecto una instniccibn de @tomode la subnitina medianfe un brinco a la dirección que se almacena en momento en el registro d e Iridice. E 1 acumulador puede usarse para un pahmetro de entrada único y un pardmelro de salida único. Cm frecuencia ias datos se colman en . E l operando r x cargó a AC antes de la llamada. Después se recurre un nuwo n~mero hasta AC desde la p o s i c h Y y se hace otra llamada a la subrutina. Otra forma de tramkrir datos a una sub~tinaes mediante la memoria. es n e o que la subrutina teqp acceso a los datos desde e l programa que la solicita y para regresar los resultados a ese programa. Muchas computadoras tienen mdltiples registros de procesador y a algunos de ellos se l~ asigna el nombre de registros indice. Esta vez la lwalidad Sq4 contendrá la dimi6n de retorno 105 porque ahora 6ta es la posicihn de la siguiente instruqibn despuk de BSA. El programa principal continiia al almacenar el número con el corrimiento dentro de la posicibn X. En este ejmpb observamas que la primera localidad de memorib de cada subrutina sirve como un enlace entre el programa principal y ia subrutina. por lo generaL se emplea un registro hdice para realizar el enlace a subrutina. La subrutina recorrió el número y I o dej6 ahi para que l o aceptafa el programa principal. L a direccibn a la cual se brinca La computadora no es SH4 sino el valor que se encuentra en la posicidn SH4 porque &a es una instruccih de dimccionamiento indirecto. La instmcei6n BSA ejecuta una operación que por lo general se llama Ilrimadri de subrutina. Esto se consigue mediante la instniccibn de brinco indirecto. Una instrucci6n de llamada a subrutina almacena la dirección de retorno en un egistro fndice. Se ejecuta el mrrimimito en e l nuwo operando y la subrutina regresa al programa principal en la pasici6n 105. con una direccidn simb6lica idéntica a la que se usó para el nombre de la subrutina. En las computadoras con mdltiples registros de prm&dm se puden transferir &S parámettrw de esta manera. En general. E l procedimiento para Uamar a una subrutina y r e t o m a r al programa principal se denomina mlam a subnitina. ' L acomputadora retorna para ejecutar la instmccibn de la pmici6n 102.La última instruccibn de la subrutina regresa a la computadora al programa principal. La dltuna instruceibn de la subrutina ejecuta una operación que por lo general se llama retorno de subruiina. E n el ejemplo anterior los datos se transfirieron mediante el acumulador. Es frecuente que e l procedimiento usado en la computadora Msica para una llamada a subrutina w encuentre en computadoras con un m10 registro de procesador. En tales computadoras.14 es la dirección de retorno 102 que s e almacenó antes ahí mediante la instrucci6n BSA.

la d i 6 n de retorno siempre pmprciona . la prbera Localidad e n la subrutina con* qi nJmep 2 0 2N 6 .soli&ud. qime en este w. No hay que olvidar que Ia posición OR c o n h et nhnero 202.TABLA 617 P r o g r q para mmbq el a p a q u e de parámetm ORG 200 LDA X BSA OK STA Y m 3AF6 HLT ' /Cargar el primer operado dentro de AC . El d a operando-= aImacena en la posicibn 202 despuk de la instrucci6n EEA. Puede usarse el acumulador para transferir yn .la informaci&nde enlace para transferir datos entre el.gpecando y.202 no es h h i 6 n de retorno: sino Ip +ción del q m d o pand do.operaci& OR al coriiplemqhr e l i primer operando en AC y almacenado en la.-Elprimar q e ~ a n d o k p&ici6n X se carga a AC.programa principal y la subniW. El otro operando se inserta en la./Llama a la subrutina OR /El egundo operando está almcenado aquf /La suhtina retorna agui X/ Y. En cualquier caso. Como ejemplo.para recibir el resultado. . e coloca k primera d i d 6 n del blque en ia lwdidad de memoria después de la. mm 5 m 0 m 0 CMA /E1 pdmer oprandoíesu almacenado aquf /El resultada esta almacenado aqui XS~bmtina~QR ~CompI-im~r @raer operando /Almacenar en posicibn temporal /Cargar segundo operando /Gimpleme$ar -do operando )Aplicar AhTD al primer opgrando complementada /&mplem&hr utra vez para obtener OR /Iirciementardirecdi5n de retorno IRetomr al p s o g r a m prirrdpal /Alihamamiehto terhporal orC STA TMl' LDA OR I CMA w/ AND TMP CMA EZ OR BWN OR I EEXO m pmicionee de mmn& . lwalidad kmparal TMPi El segundo operando se carga dentro de AC mm$ante una instrucción indimta en la posicibn OR.Cuando Ia instmcci6n hace mferencia a ella en forma indirecta. La subnitina comienza a gecutar la. Una vez que . p i c i 6 n despub de la ínstruc@ón B S k E~to se muestra en el programa de la tabla 6-17.sucede i a b d a . elo @ de la p i r i h 202 . cons~erwno~ una subrutina que ejecuta la operacin QR lógica.después de:la ktm& También pueden colocarse en uii blque de a h c e m d e n b . Deben transferirse dos operandos a la subrutina y la subnitina debe retomar el tiesdtado de la opsraci6n. En seguida..

STA FT2 1 ISZ m 1 JSZ m ISZ m BUN LOP BUMMVEI - . Es& operaiido-se GiipiekenbY despuCs se le aplica La funciSn AND con ei operando almacenado en TMP. donde este ubicada la siguiente instnicción.. pueden colocarse en un bloque de almacenamiento y después se utilmr6 la diFecci6n del primer blque corno parhetro de enlace. Esto se logra al incrementar la poski6n OR con b instrucci6n I S Z .0 LDA MVE 1 STA m 1 /Programa principal /Ramificar a subrutina /Primera direwibn de datos fuente /Primera dlmci6n de datos destino /Número de datos por mover [$ubruiina MVE /Traer la direccibn de tuente /Almacenar en primer apuntador /Incrementar direccibn de retorno /Traer direccibn destino /Almacenar m segundo apuntador /incrementar dirección de retorno /Traer nítmero de datas j Almacenar en confadar /Incrementar dlrecci6n de retorno /Cargar datos fuente /&naceriar en destino /Incrementar apuntador fuente /Incrementar apuntador destino /Iswementar contador /Repetir 16 veces /Retornar a programa principal m. .que se cdcubron. Para estas localidades también debe inrrementarse la primera localidad en la subrutina a n b del retorno.. Al complementarse e1 resultado se forma la operacihn OR. El retorno de la subrutina debe manipulam para que el programa principal ccmtinde desde la posioibn 203. m. rsz MVE WP. TABLA 618 Subrutina para mover un bloque de datos BSA MVE HEX 100 H E X m DEC -16 HLT mx. Isz MVE LDAFTlI LDA MVE 1 STA PT2 ISZ MVE LDAMVEI STA m m. El programa solicitante puede reservar una o m65 localidades para que la subrutina devuelva 19s resultad.Ahora la lmaiid~dOR contiene el ndmeia 203 y üna instrucci6n BUN indirecta provaca un retorno al lugar adecuado. La subnitina ¿& incrementar la direcci6n de retorno aimacenada en su primera localidad para cada operando que exime del programa solkihte. S i hay una gran cantidad de datos por transferirse. m. EB psibie tenef mas de un operafido después de la instruccibn BSA. se carga a AC.

introducir carácter OUT /Escribir carácter STA CHR /Almacenar carácter HLT CHR. El dispositivo de salida detecta el código binario y escribe el carácter correspondiente./Bandera = O. BUB CIF . brincar para comprobar de nuevo INP /Bandera = 1 . los datos requeridos están en el bloque que comienza desde la posición 200. HEX 0057 /El carácter es "W" . El retorno hacia el programa principal es a la instrucción HLT. ramificar para comprobar de nuevo /Bandera = 1. Se salta la siguiente instrucción si el bit de la bandera de entrada es 1.214 -O SEIS Programación básica de la computadora En la tabla 6-18 se lista una subrutina que transfiere un bloque de datos que comienzan en la dirección 100 a un bloque que comienza con la dirección 200. La instrucción SKI comprueba la bandera de entrada para ver si hay disponible un carácter para la transferencia. El tamaiio del bloque es de 16 palabras. Un carácter codificado en binario entra a la computadora cuando se ejecuta una instrucción INP (entrada). La tabla 6-19(a) lista las instrucciones necesarias para introducir y almacenar un carácter en la memoria. Cuando la subrutina completa su operación. b) Sacar un carácter LDA CHR COF. La instrucción INP transfiere el carácter codificado en binario hacia AC TABLA 6-19 Programas para introducir y sacar un carhcter a) Introducir un carácter SKI /Comprobar bandera de entrada CIF. La primera parte de la subrutina transfiere los tres parámetros 100. Un carácter codificado en binario se transfiere al dispositivo de salida cuando se ejecuta una instrucción OUT (salida). sacar carácter HLT CHR. Los símbolos son cadenas de caracteres y a cada carácter se le asigna un código de 8 bits para que pueda almacenarse en la memoria de la computadora. 200 y -16 desde el programa principal y los coloca en su propia posición de almacenamiento. El contador asegura que s610 se muevan 16 datos. La primera introducción es una llamada a la subrutina MVE. SKO BUN COF OUT /Almacenar carácter aquí /Cargar carácter dentro de AC /Comprobar bandera de salida /Bandera = O. Los datos se transfieren haeia y desde sus bloques mediante el uso de dos apuntadores. 6-8 Programación de entrada-salida Los usuarios de la computadora escriben programas con símbolos que están definidos mediante el lenguaje de programación empleado.

TABLA 6-20 Subrutina para introducir y guardar junb dos c a r a e m m 2 . De esta manefa. Cuando la bandera cambia a 1 . el usuario se asegura de que ocurra la transfemfcia correcta. Una de fales t m s puede reunir dos caraen una palabra. Primero se carga d car6cter a AC. SKr BUN m /Entrada de subnitina /Introducir primer d c t e r /Recorrer a la iaquierda cuatro veces / a la izquierda cuatro vem8s / I n d u c i r egundo cai-ach INP OUT BSA SH4 BSA SH4 SCD. Para impWIo. Manipulacibn de caracteres Una computadora no es s61o una computadora sino tambih un manipulador de sXmbo105. Si es O. Si la insmcción SKI encuentra el bit de bandera en O. . Una unidad temhai que comunica en forma directa con tina computadora no eel carácter cuando se oprime una k l a . NNBh que la subnitina SH4 (tabla 6-16)se solicita dos veces para e o e r el acumulador ocho veces hacia la izquierda.es necesario enviar una instrucción OUT para la impmra. E&o es conveniente porque cada caricter w p a 8 bits y una palabra de memoria contiene 16 bits.(0-7). Como el dispositivo de entrada es mucho d s lento que h computadora. DespuQ se comprueba la bandera de saiida. La tabla &19@) lista las instrucciones necesarias para escribir un carácter almacenado inicialmente en la memoria. la computadora permanece en . Esta insttucci6n es un brinco para retomar y comprobar el bit de bandera otra vez. El programa de la tabla 620 l i s t a una subrutina b d a MZ que introduce dw caracteres y los "&mpacaU en una palabra de 16 bib. FST. ta palabra empacada permanece en el acumulador. . Los caractem d f i e a d o s en binario que tepresentan simbolos pueden manipularse mediante instrucciones de computadora para realizar diveraas tareas de procesamiento de datos. u & se escribe el cadctei mediante la instruccibn OUT. se transfiere el carhcter del acumuiador a la impresora. SKI BUN SCD INP OUT BUN i N 2 1 /Retomar .las dos htmcciones del ciclo se ejecutarán muchas vecw antes de que se transfiera un carácter al acumulador. se ejecuta fa siguiente instrucción en secuencia.unciclo de dos instrucciones comprobando el bit de bandera.

El programa utiliza un apuntador para llevar un registro de la posici6n achtalmente vacía en el buffer.posici&n FEF). No se u t i k un contador en el programa. Esta es una operación que busca en una tabia para TABLA 6-22 Programa para cumparar dos palabras LDA WD1 /Cargar primera palabra /Formar complemento a 2. N6tese que se solicita la subrutina IN2 de la tabla 6-u) para introducir y empacar los dos caracteres.- BUN UEQ BUN EQL /Brincar a rutina "diferente" /Brincar a rutina "igual" .macenarpalabradedoblecatackrenelbuffer /Incrementar apuntador /Ramificar para i n d u c i r rnhs caracteres /Primera direccibn de buffer /Pasieibn para aputitador ADS. E l programa simbólico que se imprime se inbduce por el dispositivo de entrada y se almacena en posiciones de memoria consecutivas en el buffer. m. En una situacibn prsctica podría ser necesario limitar el tamaiío del buffer y podría usarse un contador pwa este prop6sito.C A P h L O SEIS Pr@gmrnacih básica de La computadora TABLA &2i Prqpma para almacenar caracteres de enkda en un buffer LOP. El primer cardckr doble se almacena en la p~sici6n 500 y todrw los caracteres se almacenan en posiciones secuenciales. empacar dos caracteres en una palabra y almacenarlos en el buffer. A l analizar la segunda pasada del ensamblador en la seccidn 6 4 se mencion6 que una de las operaciones m6s comunes de un ensamblador es una bdsqueda en tabla. La primera dirección del buffer es 500. m. E) programa que se lista en la tabla 6 2 1 puede utilizarse para introduur un psograma sirnbbiico desde el teclado. por lo que los caracteres se leer& mientras están dispanibIes o hasta que el buffer llega a la posición O (despuéa de la. LDA STA PTR BSA IN2 STAmI ISZ PTR /Cargar primera direccibn del buffer fiUN LOP HLT /Inicializar apuntador /Ir a la subrutina IN2(tabla 6-20) /Al. HEX 5&3 HEXO En el análisis del ensamblador considerd que e l programa simbhlico está ahacenadu en un bloque de localidades adyaqtes de la memoria que se denomina comQnmente bufer. /Sumar segunda palabra /SaItar s i AC B cero CMA INC ADD WD2 SZA m.

i . si no reside otro programa en la memoria. El ciclo de espera que comprueba la bandera mantiene ocupada la computadora con una tarea que emplea una gran cantidad de tiempo. esto inicia una rutina de ~ervicio para la transferencia de entrada o salida. La opción de interrupcihn es dtil en un ambiente de multiprogramaci6n cuando residen dos o mas programas en ia memoria al misms tiempo. Cuando una bandera esta activada en 1. 1La comparacih se realiza al formar el complemento a 2 de una palabra (como si fuera un niunero) y al sumarla en forma aritmktica a la segunda palabra. h p u & se ejecuta k inskmcción de la ledidad 1. Cuando ocurre una coincidencia. Si el multado no es cero. Es obvio que. la computadora puede ocuparse en ejecutar otras tareas útiles. i a computadora no tiene nada qué hacer.) La opcibn de intwnrpci6n permite que el programa principaI avance hasta que el dispositivo de entrada o salida active su bandera como lista. Si no se usa la opcibn de inkrrupcidn. el ensamblador recupera el valor binario equivalente. La btkqueda termina cuando ocurre una coincidencia o cuando ninguno de los simbolis coincide. El programa que corre debe incluir una uisttucci6n T O N para atender la interrupción. En la tabla 6 2 2s e lista un programa para comparar dos palabras. las palabras no aon iguales. así que bien puede comprobar las banderas. la computadora completa la ejecuci6n de Ia btn-icri6n en procm y despuk reconoce la interrupción. El mltado de esta acci6n es que la direceibn de retorno se almacena en la locaiidad 0. Este tiempo de espera puede eliminarse si se utiliza la opci6n de interrupcidn para notificar a la computadora cuando está activada una bandera. aunque dos o más programas pueden residir en Ia memoria. lia función de la opcibn de intempcih es cuidar h transferencia de datss de uno o mAs programas mientras otro programa se ejecuta en ese momento. a rutina de servicio puede almacenarse en cualquier parte de i a memoria siempre que . (131 intemrptor de mcmdido' de la computadora podría también apagar la intermpci6n. Xnterrupcibn del programa El tiempo de ejmsci6n de programas de entrada y salida se f o m sobre todo del tiempo que necesita la computadora para esperar al dispositivo externo para que active su bandera. La ventaja de utilizar la interrupción es que la transferencia de infmaci6n se inicia cuando hay una sdicitud de un dispositivo externo. La búsqueda puede realizarse al comparar d símbolo dado con cada uno de b s slmbols ahcenados en la tabla. el programa debe incluir una instruccibn IOF para apagarh. Por lo general los otros programas esperan datos de entrada o salida. las dos palabras son iguales y ocurre una coincidencia. El programa puede servir como una subrutina en un programa de b-ueda de tabla.saber si contiene cierto símbolo. Mien tras tanto. Si el resultado es cero. S6Lo puede ejecutarse un p&ama en un momento dado.

Esta es la dwcci6n de retorno almacenada ahí durante el ciclo de in-p ción. Habilitar la @6n de interrupción. La pmicibn 1 tiene una instrucción de brinco al inicio de la rutina de semicio SRV. Salvar el contenido de los registros del procesador. 3. primero las banderas de entrada y después las banderas de salida. D a r servicio al dispositivo q y a bandera está activada. La rutina de servicio de la intempci6n ejecuta las seis tareas mencionadas. Como la rutina de servicio puede utilizar estos registros. IA parte listada del programa principal tiene una instruccibn ION que habilita 11a intermpcibn. Se atiende primero el dispositivo cuya prioridad es mayor y despub al que tiene una prioridad menor. p'ogfama. Regresar al programa principal. E l eontehido de lm regisiros del p m ' d o r ante de la intemupcih y despuk del retorno al programa prindpal debe ser el dsmo. Supongamos que ocurre una interrupci6n mientras la computadora ejecuta la instrucci6n de la localidad 103. . 6. La posici6n O 'se reserva para la direcci6n de retorno. La rutina de ervicio debe tener inshcciones para ejecutar las siguienb m a s : 1 . (Estos son los únicos registros del procesadar de la computadora bAsica. de otra manera el programa principal puede ejecutarse con error. Si una o ambas banderas están activadas.) Las banderas se verif~canen forma secuencial. donde se interrumpi6. 5. es necesario ''~lvar" su contenido al principio de la rutina y "recuperarlo" al h l . Esto habilitad interrupciones posteriores mientras h computadora ejecuta el programa prineipat' L a opci6n de intampci6n no debe habilitarse hasta que se carga la d M h de retorno en el contador del Un ejemplo de un programa que da semicio a una interrupci6n se lista en la tabla 6-23. se trmfiete un grupo de d a b hacia o desde el buffer de memoria correpandiente. A n b de retomar al programa principal. se m p e r a el contenido previo de E y AC y se habilita la opcidn de intemipci6n última instnicci6n provma un b a la dicecei6n almacenada en la localidad O. los dispositivos sori atendidos uno a la vez.4 6 n básica de Ia computadora una fransfemcia al comienza de l a rutina se almacene en la localidad 1. 2 Comprobar cual bandera está activada.218 SELS . La r u h de centicio dek habitar la inkrrupcibn antes del retorno al programa principal. Por l o tanto1 el programa principal continuad desde la posicibn 104.una intemupci6n inhabilita la opci6n de más intemp dones. El ciclo de i n k mpcibn almacena el equivalente bharia del hexadecimal 104 en la posici6n O y brinca a la posicibn 1 : IA instmcci6n de brinco a la posici6n 1 envía a la computadora a la rutina de servicio a la interrupci6n SRV. 4 Rmperar el contenido de lm registros del procesador. Los contenidos de AC y E se almacenan en posiciones especiales. Aunque pueden advarse dos o m8s banderas al mismo tiempo. La secuencia mediante la cual se mprueban bs banderas dicta la prioridad asignada a cada dispositivo. La aparición de.

las fuentes de interrupcibn no se limitan a transEerencias de entrada y salida.S E C U & 68 Pmpmación de entrada-~~lida 219 TABLA 6-23 P m p m a para dar m i c i o a una intemipcibn BUN SRV CLA ION LDA X ADD Y STA Z /Diretcibn de retorno almacenada aquí /Brincar para dar servicio a rutina /Parte. . SE. como para procesar v r e s internos o candiciona de alarma especial. trada /Imprimir cadcter /Aimamnarlo en buffer de entrada /Incrcmcntar apuntador de entrada /Comprobar bandera de salida /Lahñndcra esth apagada. d d programa que se ejecuta /Encender opcibn de interrupcibn /La inlerrupcibn ocurre aquí /El programa retorna ñqul despub de la interrupción STA SAC cm STA SE SKI BUN M /Intemimpir servicio a la nitina /Almacenar contenido de AC /Almacenar contenido de AC /Mover E dentro de AC(1) /Almacenarcontenido de E . introducir cardcter OUT STA PTl 1 ISZ PT1 SKO BUN m LDA m I OUT ISZ m QL LDA SE LDA SAC ION BUNZI(OI SAC. salir /Cargar carhcter de buffer de salida /CarActcr de salida /Incrementar apuntador de salida /Rcstaiirrir vaIor de AC(1) /Corrimiento a E /Restaiimr contenido de AC /Habiliiar internipcibn /Retornar a1 programa principal /AC csbí slmacenado aquí / E esU almacenado ñqul /Apuntadar de buffcr de entrada /Avuntador de buffer de salida Una computadora típica puede tener muchos m6s dispositivos de eny salida conectados a la opción de interrupci6n. Pueden usarse interrupciones con otros pmp6sitos. m. comprobar siguiente bandera /La bandera eskA activada. En la seccibn 11-5 puede encontrarse un análisis m& a n p l i ~ de las interrupciones y algunos conceptos avanzados reladonadds con este importante tema. Además. /La W w a estd apagada. Rl.

Liste el programa de lenguaje ensarnblador (de las instrucciones biirias equivalentes) generado mediante un mmpilador del siguiente programa Fortran.PC. CLA ADQ 016 BUN 014 HLT AND 017 BUM 013 C1A5 9 3 1 3 6 -2 El siguiente programa es una lista de instrucciones en c6digo hexadecid. Muatre el contenido de AC.e IR (en hexadecimal) aI finai.abajo est&n en hexadecimal. despub de que +ute sada instnrcci6r~Todos los nifmeroei Estados. ~ Q u contienen d AC y la palabra de memoria en la dkción 103 cuando se detiene la computadora? 6-3.C SlJll=SUH+DIF . L a computadora ejecuta las inctrucciom comenzando m la dirección 100. E 1 siguiente programa estA almacenado en la unidad de memoria de l a cumpukidorabásiria. SUM = O SUM-SUli+A+B DIF = DIF . Considere variables enteras.m : S Pqmm&n básica de Ia computadora ó-l.

Demuestre cdmo pueden almacenarse en memoria las tablas MRI y no-m.B > 0. 64. a. Liste el programa traducido en hexadecimal. >LQuB sucede durante la primera pasada del ensamblador (figura 6-1) si la Ilnea de c6digo que tiene una seudoinstrucei6n OR o END también tiene una etiqueta? Modifique el diagrama de flujo para incluir un mensaje de error si ocurre esta. 6-10. Muestre que se necesitan las cuatro palabras de memoria para almacenar la línea de d i g o y pmprcionar su contenido binario. a. Modifique el diagrama de flujo de la figura 6-2 para que incluya un mensaje de error cuando una direeeibn simb6liea no esté definida mediante una etiqueta. infoma d ensambladar que va a quedar l i W un bloque de 10 (decimal) loalidada.6 4 6-5. b t ee l d i g o hexadwimal del programa traducido. Una llnea de código en un programa de lenguaje ensamblador es como sigue: DEC -35 a. 9 . Por ejemplo. b . .comenzando desde la localidad A. Esto es si& al enunciado de Fo&mn DIMEMIDN A(10). 6-8. c. Explique en palabras qu4 realiza el siguiente progcama cuando se ejecuta.. al enunciado 20 si A . cido y proporciona su contenido binario. 6-11. ¿Puede usarse la letra 1como una d i d d n simbbliea en el programa de lenguaje ensamblador definido por la computadora básica? Justifique la respuesta. th Muestre que una palabra de memoria almacena el &digo b i i r i o tradu6-7. ~Guá1 es el valor de la posición CXR cuando se detiene la computad~ra? b. Obtenga la tabla de direcciones simbblicas generada para el programa de la tabla 613 durante la primera pasada del ensamblador. La ~eudoinstruc~i6n 3SS N @ ] q u einiciado mdiaate un símbolo)en ocasiones se emplca para reservar N palabras de memoria para un ggnipo de operandos.B <O. y al enunciado 30 si A .B = O. 612. Iddifique el diagrama de flujo de la figura 6-1 para procesar '&a seudoinstruccibn. b t e el programa del lenguaje onsambladot (de las instruccimea binarias equivalentes)generado mediante un mmpilador para el siguiente enunciado ZF: El programa brinca al enunciado 10 s i A . la línea de d i g o 6 . Liste la tabla de direcciones simbb1ieas que se obtiene durante la primera pasada del mnibtdor.

que borre a O el contenido de las posiciones hexadecimalesde la 500 a la 5FF. Por ejemplo. el programa evalúa el producto al sumar 5 cuatro veces. Escriba un programa para restar dos números de doble precisión. cada uno con 16 bits significativos. Escriba un programa que evalúe la OR lógica exclusiva de dos operandos lógicos. Escriba un. a la instrucción BSA le siguen el susbraendo y el minuendo. utilizando un apuntador y un contador. En el programa que se llama. Escriba un programa para multiplicar dos números positivos mediante un metodo de suma repetida. El programa de multiplicación de la tabla 6-14 no está inicializado. El producto debe ser de precisión única y en representación de complemento a 2 con signo si es negativo. Agregue las instrucciones necesarias para inicializar el programa. para multiplicar 5 X 4. o 5 + 5 + 5 + 5.programa para la operación de corrimiento aritmético a la izquierda. con el fin de obtener un producto de doble precisión sin signo. La diferencia se .Escriba un programa para multiplicar dos números positivos sin signo. el ciclo se recorrerá 65536 veces. Brinque a OVF si ocurre un sobreflujo. Muesbre que si el programa se ejecuta de nuevo comenzando de la posición 100. Escriba una subrutina para restar dos números. Después de que se ejecuta una vez el progama. Escriba un programa para multiplicar dos números de signo con números negativos que están al principio en representación de complemento a 2 con signo. . la posición CTR se quedará con cero.CAP~TULO SEIS Programación básica de la computadora ORG 100 CLE CLA STA CTR LDA WRD SZ A B U N ROT ROT 1 BUN STP CIL SZE BUN AGN BUN ROT CLE ISZ CTR SZA BUN ROT HLT HEX O HEX b2CI END AGN 1 STP CTR 1 WRDl Escriba un ciclo de programa.

5 . Coniputer Pmgrarnming and Ardritecture: Ihe VAX-11. 1980. a la instnrcci6n BSA le siguen dos parAm&ros:la direcci6n de comienzo del blaqrie y e l número de paiabras en e l bloque. A.E l tamaño del bufler es de (512). y R H. palabras..d programa lo transfiere a los bib de1 O al 7 de la posición LNE sin afectar los bits del 8 al 15. NJ: Prentice Hall. Nuwa York M d r a w Hi11. Wfod. Escriba un programa para desempacar dos caracteres de la posici6n WRD y almacenarlos en los bits del O al 7 de las posiciones CH1 y CH2.A.. Ed. contiene &lo 1. H . N. Ley. Nueva York John Wiley. k i b a una subrutina para circular E y AC cuatro veces a la derecha. 1987. 6-27. 3a. 6-22. ~ d m quedan o los contenidos de AC y E despub de que se e j w t a la subrutina? Escriba un programa para aceptar caracteres de entrada. 1. B. l b & . Ed. Obtenga un diagrama de flujo para un programa que compruebe un código CR (hexadecimal O D ) en un buffer de memoria. 1980. E n g l e w d Cliffs. NJ: Prentice HaU. MA: üigital Press. W ~ b una a subnitina para complementar cada palabra en un bloque de datos. S i el AC contiene e 1 hexadecirnal O 7 K y E = 1.. S i el buffer tiene un sobreflujo la computadora debe detenerse. Gray. E n g l e w d Cliffs. C. Gibcon. Introd~ictionlo Computer Engineering. E l buffer contiene dos c a r a c t e m por palabra. Computer S y s t m Conceplc and Design. 6-26.devuelve al programa principal en la tereera p i c i 6 n despub de la instrucci6n ESA. 6-25.L . 6-28.W. M. Cuando se encuentra el c6digo para CR. Los bits del 9 al 15 deben contener ceros. 2. . Jr. 1984. T . Gear. Traduzca la nitina de servicio SRV de la tabla 6-23 a su d i g o hexadecimal equivalente. 6-23. Computer Organimtion and Programming. El dispitivo de salida se atiende 9610 si la posici6n MOD contiene únicamente diitos 0. k i b a una rutina de servicio de interrupci6n que ejecute todas las funciones nqueridas pero que el dispositivo de entrada atendido & l o si una posición espxial. La primera direcci6n del buffer ea (400).EAkhouse. 3. Introduction tu Computer S p W . 1991. . En el programa que se llama. MOD. Considere que la rutina esta alrnamda comenzando d d e la posicibn 200. 3a. 4. empacar dos caracteres en una palabra y almacenarlos en posiciones wnsecutivas en un buffer de memoria. G. ó-24.

NJ: M t i c e %U. Ed. Ed. MA:Addison Wesley. Ed. M. A.G . Englewood Cliffs. MimKDrnpufer Architecture and hgramming. 10.u EAPfTUkO SEIS Programaci6n básica de la computadora 6. S . 7.Winkel. Englewood Cliffs. 1981. Shiva. Struchired Compute? ürganizntion. 1983. 1990. H . NJ: Prentice H d . 8.Reading. Proaser. . 1991. J. 1987. E. b g k h i g n and Cmpufer Orpinitim. S. h i n . Wakerly. . P. 3a. 2a. . h. TIse Art of DigitaI Design. Tanenbaum. F .y D. Nueva York: HarperColiii PubIishws. 9. Nueva York: JohnWiley.Comptiter Design m d Archilpcture. F .

La micrdprogramaci6n es una segunda altemativa para dheñar la unidad de control de una mrnpubdora digital. El ~ t a d o activo de la variable de control puede ser el estado 1 o el edtado 0. En un sistema organizado con bus. Cuando se halla en un estado binarid se ejecuta la microoperaci6n correspondiente. La complejidad del sistema digítal se deriva de la cantidad de secuencias de micrmperaciones que x ejecutan.1 ' J EN ESTE CAP~TULO 7-1 7-2 7-3 7-4 Memoria de control Secuencia de la h i b n Ejemplo de un mimoprograma D i j o de la unidad de ~ontrol 7-1 Memoria de control La función de la unidad de control en una canputadora digital es iniciar secuencias de microoperaciones. mientras otras q~edaninactivas. se van a iniciar ciertas microoperaciones. El principio de micropgramaci6n es un m M o elegante y sistemático para controlar las secuencias de dcmoperaciones en una computadora digital. las seirala de control que especifican micmperaciones son grupos de bits que seleccionan las trayectorias en los multiplk* res. Cuando la circuitería genera seibles de control por medio de t h i m s de diseño lógico ~nvencion& se dice que la unidad de control es por circuiterh. h unidad de control inicia una serie de pasos -&les de rnicroope raciones. Durante cuaIquier momento. decodificadores y unidades 16gicas arh&tieas. Una variable de control en estado binario opuesto no cambia el estado de las'regktroc en el sistema. La cantidad de tipos de operaciones dife rentes que estdn disponibles en un sistema dado es finita. Las variables de control pueden . según la aplicacidn. La funcibn de controI que especifica una microoyieraci6n es una variable binarh.

para evaluar la dirección efectiva. Como no se necesitan alteraciones del microprograma una vez que la unidad de control está en operación. dentro de la cual se almacena toda la información en forma permanente. El uso de un microprograma implica la colocación de todas las variables de control en palabras de ROM para que las use la unidad de control a través de operaciones de lecturas sucesivas. El microprograma consta de instrucciones que especifican diferentes señales de control interno para la ejecución de microoperaciones de registro. Las unidades de control que utilizan la microprogramacibn dinámica emplean una memoria de control en la que se puede escribir. Este tipo de memoria puede utilizarse para escribir (para cambiar el microprograma) pero. Cada instrucción de máquina inicia una serie de microoperaciones en la memoria de control. La configuración general de una unidad de control microprogramada se muestra en el diagrama de bloques de la figura 7-1.de la memoria principal puede variar cuando se manipulan los datos y cada vez que se cambia el programa. Las palabras de control pueden programarse para realizar diferentes operaciones sobre los componentes del sistema. La memoria principal estli disponible para que el usuario almacene programas. El contenido de la palabra en ROM en cierta dirección especifica una microinstrucción. El contenido . La memoria de control se considera como una ROM. El contenido de las palabras en la ROM es fijo y no puede alterarse mediante la programación simple porque no es posible escribir en la ROM. la memoria de control puede ser una memoria de sólo lectura (ROM).226 C A ~ SIETE O Control microprogramado palabra de control f microinstruccidn microprograma \ memoria de control representarse en cualquier momento mediante una cadena de dígitos 1 y O.ejecutar la operación específica mediante la instrucción y i n de repetir el ciclo para retornar el control a la fase de búsqueda con el f para la siguiente instrucción. Una memoria que es parte de una unidad de control se denomina memoria de control. Una secuencia de microinstrucciones constituye un microprograma. se utiliza para lectura. por ejemplo. Cada palabra en la memoria de control contiene una microinstrucción. Una computadora que emplea una unidad de control microprogramada tendrá dos memorias separadas: una memoria principal y una memoria de control. desde un disco magnético. La microinstrucción especifica una o más microoperaciones para el sistema. El registro de direccionamiento de la memoria . por lo general. Las palabras en ROM se vuelven permanentes durante la producción de la unidad.' Una unidad de control cuyas variables de control binario se almacenan en la memoria se llama unidad de control microprogramada. El programa del usuario en la memoria principal está formado por instrucciones de máquina y datos. la memoria de control contiene un microprograma fijo que el usuario ocasional no puede alterar. que se denomina palabra d e control. Un descubrimiento más avanzado conocido como microprogramación dinámica permite que un microprograma se cargue al principio desde una memoria auxiliar. para . En contraste. Estas microinstrucciones generan las microoperaciones para llevar a cabo la bfisqueda de la instrucción en la memoria principal.

ta palabra de control y la informaci6n de la siguiente direccibn se toman de la memoria de controI. dependiendo de las entradas del secuenciador. Una vez que se ejecutan estas registro de lineas operaciones. transferir una diremi611externa o cargar una direcci6n inicia1 para iniciar las operaciones de control. El sistema puede operar en el registra de datos de control al aplicar una d a fase del reloj al registro de d-onamiento.SEJCCX~N 7-1 Memoria de control 227 Palabra de Eontd Enrrada =terna + J H G H T H T \ Generador de W t m de dimiwiti Memoria de la d i d b n wsiguiente iador) Registm de I registro d~ Wormadbn. L a direccibn siguiente también puede ser una funci6n de condiciones de entrada externa. Esta configuraci6n requiere un reloj de dos fases. porque determina la secuencia de direccibn que se lee en la memoria de control. Ya que permite la ejecucibn de las rnicrmperaciones especificadas mediante la palabra de control simultáneamente con la generacihn de la siguiente microinstruccidn. Mientras se ejecutan las microoperaciones se calcula la siguiente dimxi6n en el circuito generador de la direccidn siguiente y despub s e transfieren al regstro de direccionamiento de control para leer la pr6xima microjnstmcci6n. una microinstniccibn contiene bits para iniciar microoperaciones en la parte del pmcesador de datos y bits que determinan la secuencia de direccibn para la memoria de control.siguiente instrucci6n en ocasiones se llama un secuencindor de micropmgrama. Las funciones tipicas de un menciador de microprograma son incrementar el registro de direccionamiento de control en 1. direccibn de control de controI especifica la direccihn de la microinstrucci6n y el registro de datos de control contiene la microhstrucci6n que se lee de la memoria. . donde se aplica una de éstas al registro de díreccimarniento y l a otra a1 registro de datos. La direccidn de la siguiente instnicei6n puede especificarse de varias maneras. La posicidn de la instruccián siguiente puede ser la más pr6xima en secuencia a puede ubicarse en cualquier otra parte en la memoria de control. el contra1 debe determinar la siguiente d i c i b n .de la direccjbn siguiente Figura 7-1 Organización de control microprograrnada. es necaario utilizar algunos bit5 de la microinstrucci6n presente para controbr la generacihn de la direcci6n de la siguiente microinstruccibn. cargar una direccih de la memoria de control en el registra de direccionamiento de control. El registro de datas de control contiene la rni~~0imtmcci6n pmmte mientras que la siguiente dirección se calcula y se lee en la memoria. El registro de datos en ocasiones se denomina registro de arquitectura pmlela (pipeline) u paralelo. La micruinstrucci6n contiene una palabra de control que especifica una o más micmoperaciones para el prricesador de datos. Por esta radn. Por lo tanto. E l generador de l a .

La configuraci6n de la circuikría no debe cambiarse para diferentes operaciones. cada grupo espeeüica una . L a principal ventaja dd control micropmgramado es que. lo único que debe cambiame es el rnicroprograma que reside en la memoria de control. por 10 tanto no utilizamos un registro de datos de control. La circuitería que controla la secuencia de la dirección de la memoria de control debe poder euenciar las microínstrucciones dentro de una rutina y poder transferir el control d d programa de una a otra. y rutina. Esta direccidn. con el valor & la direcci6n como entrada y la paIabra correspondiente como sdida. nb Se carga una dhcci6n inicial en el registro de direccibn de control d m d v nhm e mando se enciende la computadora. en bnto su valor de dirección se encuentra en el registro de direcci6n. Para apreciar la secuencia de la direcci6n en una unidad de contmI de programa. Un ejemplo de control de Iineas internas pam una computadora simple se presenta en la aeceidn 54. Debe mencionarse que la mayorla de las computadoras que se basan en e1 concepto de arquitectura de computadora con conjunto de instrucciones reducido (m) (vhase la secci6n 8-8)utilizan el mntro1 por circuitería en lugar de una memoria de control con un mimoprograma. enumeremos tos pasos que debe seguir el control durante la ejecucidn de una ittstrucci6n de computadora. Si desparnos establecer una secuencia de control diirente para el sistema. por b general. Los otros dos componentes: el secuenciador y la memoria de control son circuitos combinatorios y no necesitan un reloj. Control de iínew internas 7-2 Secuencia de la direccion tas ~roinstnzcuones . es la de la primera microinstmcci6n que activa la rutina de bdsqueda de instrucci6n.No hay que olvidar que una ROM opera como un -- circuito combinatorio. no hay necesidad de cambios' posteriores.se almacenan en la memoria de control en grupos. No se necesita d a 1 de lectura como en una memoria de acceso aleatorio. El contenido de la palabra especificada en ROM permanece en hs Iineas de salida. Cada pulso de r e l o j ejecutara las rnicrooperaciones especificadas d i a n k la palabra de control y tambikn transferid una nueva direccibn al registro de direcei6n de control. Cada instrucci6n de. el registro de d k i 6 n es el único componente en el sistema de control que recibe pulsos de reloj. una vez establecida la confiracibn de la k u i t e r f a . todo l o que necesitarnos hacer es especificar un conjunto de miccoinstnicciones diferentes para la memoria de control. ti L a rutina de bdsqueda puede sscuenciarse al incrementar el registro de direccionamiento de control por medio del resto de sus microinstrucciones.mmputadora tiene su propia rutina de microprograma en la memoria de control para generar las miamperaciories que ejecutan la instrucción. D e esta manera. En el ejemplo que sigue consideramos un reloj de una sola fase.

El siguiente paso es-generar las mimperaeiones que ejecutan la instrucdh que se trajo de Ia mmoria. En resumen. Un proceso de mapeo de los bib de la instruccidn a una . En seguida.y Ioe registros del procesador. la men'oria de control m n e la rutina que determina la dkeccibn efectiva del operando. Cuando se M n a la rutina de c4lcuh de direccidn efectiva. La rnic~~instrucción en la memoria de control contiene un conjunto de bits paTa iniciar micmperaciones en las registros . pero en ocasiones la secuencia de microoperaciones dependerA de los valores de ciertos bits de estado. la cual está ~wndicionadaal estado de los bits de modo de la operación.dirección para una memoria de control 4. 3. i m microprograma3 que.emplean subrutinas requerirán un registro interno para almacenar la d i d 6 n de retorno. la inatmEi6n está en el registro de instrucción de 12L computadora. Una opcián para ilamar y regresar solicitud de una subrutina y retorno.mapeo Al f i l de la rutina de búsqueda. b a transformación de bits de1 código de instrucción a una diremi611en la memoria d e conkm1 donde se Iocaliaa la rutina se denomina proceso de mapeo. Una vez que se llega a la niti a querida. las microinstrucciones que ejecutan la instniccibn pueden uenciarse al incrementar el registro de diicionarniento de conMI. h d i i d n del operando está disponible en el registro de direccionamiento de la memoria. tas direcciones de retorno no pueden almacenarse en RQM porque no es posible escribir en la unidad. Cada instrucci6n tiene su propia rutina de micropmgrarna almacenada en una cierta posici6n de la memoria de control. Cuando se termina la ejecuci6n de la instrucci6n. Un procedimiento de mapeo es una regla que transforma e 1 cMgo de instnimi6n en una direcci6n de memoria de control. Esto se consigue al ejwutar una miuuiinstrucci6n de brinco incondicional a la primera d i c i 4 n de la rutina de búsqueda. las posibilidades de secuencia de direcci6n que se requieren-en la memoria de control son: EL Incrementar el registro de direccionamiento de control. 'Transferencia de control del programa condicional o incondicional. el control deke retomar a la rutina de biíqueda. como un direccionamiento indirecto y los registros índice. Una instrucci6n de máquina puede tener bits que especifiquen diferentes modos de direccionamiento.en la memoria de conkm1 mediante iina mic~oi~strucei6n de brinco. Puede lograme una rutina de c8lculo de direccin ektiva. L a figura 7-2 muestra un diagrama de bloques de una memoria de control y la circuitería a w i a d a necmaria para seIeccionar la direcci6n de la siguiente microinstrucci6n. b s pasos de la rnicrooperaci6n que se van a generar en l~ q i s t r o s del procesador dependen de la parte del d i g o de operacidn de la instrucción. dependiendo de las condiciones de los bits de estado.

La transferencia de control condicional se obtiene al usar una parte de la microinstmcci6n para seIeccionar un bit de estado especifico con e l fin de dekqinar su condicih. El incrementador incremmta el contenido del registro de dhccbnamiento de control en uno. IA dirección de retorno para una subrutina se almacena en un registro especial cuyo valor se utiliza despub. El diagrama muestra cuatro trayectorias diferentes de ias que recibe la dirección el registro de direccionarniento de contra1 (CAR). DireEcion de transferencia de control . cuando d rnicroprograma desea retornar de la subrutina.de la computadora y otros hits para especificar e l método con e l que se obtiene l a siguiente direccibn. Se transfiere una dilección externa a la memoria de control mediante un circuito 16gico de mapeo. para seleccionar la microinstrucci6n siguiente en secuencia. Figura 7-2 Celección de una direcci6n para la memoria de control. La transferencia de control del programa se consigue al esp~ificar la direcci6n en uno de los campos de Ia microinstmccibn.

Los bits de estada para este tipo de brinco son los que estin en la parte del ckiigo de operacidn de la instmcciófi Por ejemplo. Las condiciones de estado son bits especiales del sistema que proporciona ínfomaci6n de parhetros. el registro de direccionamiento se incrementa. hace que Ia dimcidn del brinco se cargue en el registro de dirwctonamiento de control en forma incondicional. controlan las decisiones de transferencia condieional que SE generan en la 16gica de trmsfemcia de control. Estos tres bits p"po"0nan las variables de selecci6n para d multiplexor. de otra manera es O. de otra manera. l o que q u i e r e una direccibn de siete bits. Para cada c6digo de qperaci6n que ahí se encuentre existe una rutina de microprogra- . En esta configuración. Consideremos además que la memoria de control tiene 128 palabras. los bits de modo de una instfucci6n y las condiciones de estado de entrada o salida. IA circuiteria de 16gica de transferencia de control puede implantarse de diversas maneras. Una referencia a este bit.Transferencia condicional La 16gica de transferencia de control del programa o brinco de la figura 7-2 bita especiales proporciona posibilidades de toma de decisiones en la unidad de control. Esto puede lograrse al fijar el valor de un bit de estado de la entrada del mdtiplexor para que siempre sea igual a 1. el bit de signo de un número. tiene un c6digo de operaci6n de cuatro bits que puede especificar hasta 16 instrucciones diferentes.con un multiplexori Supongamos que hay ocho condiciones de bit de estado en d sistema. Se usan tres bits en Ia microinstrucci6n para especificar cualquiera de uno a ocho condiciones de bik de estado. Una salida 1 en el multiplexor genera una sefial de control para transferir la direeeidn de1 brinco de la microinstrucci6n al registro de direccionamiento de control. Una salida O en el multiplexor provoca que se uicremente d registro de diremibn. junto con el campo en la microinstmcci6n que especifica una direccibn de transferencia. una computadora con un formato de hstmcci6n simple. la informacihn en estos bits puede probarse y se pueden iniciar acciones con base en su condicibn si su valor es 1 o O. Si el bit de estado que se se1eociana está en 1. dependiendo del valor del bit de estado que se seleccione. Una iristmcción de transferencia incondicional puede obtenerse al cargar la direccibn de ramificación de la memoria de control en el registro de direccionamiento de control. Los bits de estado. el microprograma sigue una de dos trayectorias posibles. Esto puede logra. como l a que se muestra en la figura 7-3. La mAs sencilla es probar la condicibn especificada y brincar a la d i i 6 n indicada si se cumple una condición. mediante las h a s de seleccih dei bit de estado de la memoria de control. la salida del multiplexor es 1. como el acarreo de un sumador. Mapeo de las instrucciones Existe un tipo especial de transferencia de control cuando una microinstmcci6n specifica un brinco a la primera palabra de la memoria de control donde se ubica una rutina de rnicroprograma para una instrueci6n.

S i utiliza mepos de las cuatro instruccionesr las posiciones de memoria que no se usan p i d a n estar disponibles para otras rutinas. S i la rutina necesita m8s de ectas cuatro mstnicciones puede utilizar las direcciones de l a 1000000 a la 1111111. En esta configuración. Puede programarse la intermnexibn de las entradas.& mimoprograma con capacidad de cuatro microinstrucciones para cada imtruccih de computadora.Este m a p consiste en colocar un O en el bit más significativo de la dirección.Unafunción de mapeo que puede expresarse en términos de expresiones ?maleanas pude incrementarse en forma conveniente con un PLD.rna en i a memoria de confrd que ejecuta la microinstmeci6n. al usar una ROM para espee%car la funcidn de mapeo. Un proceso de mapeo simpk que convierte al código de operaci6n de 4 biis en una direccidn de 7 bi@ para la memoria de control se rnueetra en la figura 7-3. El concepto de un PLD es similar al de la ROM. cornpueria8 O R g salidas como en una ROM. cuatro bits de cbdigo de operacidn y borrar los bits menos signscativas del registro de direccionamiento de control. al transferir los. De esta manera. Se puede ampliar este concepto a una regla de rnapeo mis general. >compuertasAND. los bita de lar instruccidn v i f i c a n la dimci6n de una ROM de mapeo. Puede Ilamarise una suhruka de cualquier punto desde el . Esto proporciona una rutina . u Submthas h s subrutinas son paagramas que utilizan otras rutinas para realizar una tarea partrcuiar. El concepto de mapeo proporciona flexibilidad para agregar inabrucciones para la memoria de contra+ ronforme surge la necesidad. excepto que utiliza compuertas AND y OR con fusibles electr6nicos internos. El contenido da la ROM de mapeo proporciona los bits para el registro de direccionamiento de contro1. la rutina de microprograma que ejecuta la instntcci6n puede coIocarse en la posicibn que se desee en l a memoria de!contmI. En ccasiones la funcibn de mapa se obtiene mediante un circuito integrado llamado dispositivu lógico progr-amable o PLD. .

Consta de dos unidades de memoria: una memoria principal para almacenar instrucciones y datos y una memoria de control para almacenar el micropm grama. b k a generacih de código se llama microprogramacih y es un proceso similar a la programacibn de lenguaje de miiquina convencional. el registro de datos DR y el registro acumulador AC. 1La unidad de control tiene un registro de direccionamiento de control CAR y un registro de subrutina SBR. L a funci6n de estos registros es similar a los de la computadora baisica que se present6 en el capítulo S (vease la figura 5-3). p m r a en salir (LIFO). Los nicroprogramas que utilizan subrutinas deben tener una parte para almacenar la direcci6n de retorno durante una llamada a subrutina y restablmr la dirección durante un retorno de subrutina. la secuencia de microinstrucciones necesarias para generar la dirección efectiva del operando para una instrueei6n es c o m h a todas las instrucciones de referencia a memoria. a w p o principal 7-3 Ejemplo de un microprograma Una vez ue se establece la cmfiguracibn de una computadora y su unidad de contra micr~programadu. el e t r o de direccionamiento AR. . L a mejor manera de estmcturar un registro de archivo que almacena direcciones para subrutinas es organizar los en una pila (stack) del tipo Úitimo en entrar. La computadora que s e usa aqui es-similr pero no iddntica a la computadora bisica que se present6 en el capftulo 5. e n se m u e s t r a en la figura 7-2. muchos microprogramas contienen secciones de c6digo idbnticas. Esto puede lograrse al colocar la salida incrementada del regiskm de direccionamiento de control en un registro de subrutina y al brincar al comienzo de la subrutina. El registra de la subrutina puede convertirse entonces en la fuente para transferir la dirección para e1 retorno a la rutina principal. Por ejemplo. 9 ' Configuracibn de la computadora El-pmgrama de bloque de una computadora se muestra en la figura 7-4. Se asoeian cuatro registros con la unidad del procesador y dos con la unidad de controI. El uso de una pila en ilarnadas y regresos a subrutina se explican con mayor detalle en la sección 8-7. Esta =uencia podfla s e r una subrutina que se solicite en cualquier rutina para ejecutar el dlculo de dire4411efectiva. as tarea del diseibdor generar el microc6digo para la memoria de corttrol.registra de subrutina del microprograma. Para apreciar este prweso. Pueden ahorrarse microinstrucciones al emplearse subrutinas que ~rtilizansecciones comunec de microcódigo. Con frecuencia. Los regisiros del prpcesador son el contador de programa PC. aqui presentarnos una computadora digital simple y c6mo se programa. La memoria de control y sus registros se organizan como una unidad de control mkroprogramada.

no por el bus común. N6tese que la memoria recibe su direceibn de AR. PC a de la memoria. Los datos de entrada m i t o s en la memoria provienen de DR. lbgira y de corrimiento realiza micmperaciones con datos de AC y DR y coloca el multado en AL. PC &lo puede recibir infomiaci6n de AR.fomato de inshccibn La transferencia de informaci6n entre los registros del procesador se realiza mediante mdtiplexores. Á R puede recibir informacibn de PC o DR. El formato de in6tmccii de computadora aparece en h figura 7S(a). Consta de tres campos: un campo de 1 bit ara direccionamiento indimcto . La unidad arih&tica.y los datos que se I m en la memoria sblo pueden ir a DR. DR puede recibir infomaci6n de AC.

El ampo BR e c a el tipo de transferencia de contror que ae usarb. La instruccidn ADD suma el contenido del operando que se encuentra en la dirección efectiva al contenido de AC. Para no complicar el ejemplo de microprogramaci6n. El p~ograma pasa a ejecutar la siguiente insbccih si AC no es negativo. fomtato de mhin+cidn Formato de las rnicrohtrudones El formato de microinstruccibn para la memoria de control se muestra en la figura 7-6. a q d 9610 se consideran cuatro instrucciones. El . un c6dig. La figura 7-5(b) lista cuatro de las 16 instrucciones posibles de referencia a memoria.o de operaci6n de 4 bits y un campo de dXxecci6n de 11 bits. Los tres campos F1. La instnicciBn BRANCH provoca un brinco a la direcci6n efeetiva si el operando en AC es negativo. La hstmceibn STORE transfiere el contenido de AC a la palabra de memoria wp&if~cnda p ' rla direcci6n efectiva. b s 20 bits de la microhtrumi&n se dividen en cuatro parties fundonal~. D e b e recordarse que pueden incluirse otras 12 qmaeiones y cada iristru~ei6n debe mic~aprogramarse mediinte el p d i m i e n t o que se mipestra enseguida.a) Formato de una imtruocibn BRANCN o001 SI~C<O)CP~~ (PC M ~+ C SEA) EA wi la dirección efwkiva b ) marro hsirurxiones de computadora Figura 7-5 ~lnstruacionesde computadora. E 1 campo CD 6eIdona las condiciones del bit de estado. representado por 1 . Después se moshr6 que cada instruM6n de computadora debe microprogramarse. La instrucci6n EXCHANGE inkrtambia los datos entre AC y b palabra de memoria espeOfdada por la dirección efectiva. E?y M especifican micmperaciones para la computadora. AC es negativo si su bit de signo (el bit a la extrema izquierda del registro) es un 1 .

.ooperaciones de tipo transfe~enciau N b n cinco letras. Las microoperaciones se auhdividen en tres campos de tres bits cada uno. al mismo tiempo.le asigna un símbolo para us~rseen un micropmgrama simbólico.CD:CondIcibn para transferencia o brinco BR: Qmpo de transferencia AD: Campo de d l d h Figura 7 6 Formato de d i g o de miminstnicci6n (20 bits).p r l o que una referencia a CD W (o el aimbolo U)siempre encontrará verdadera la mndicidn. = 100) time el shbdo DRTAC. lo cual rep-ta una transferencia de DR a AC. uno o más de los campos usar&el código binario 000. una microinstmcci6n puede especificar dos rrilcrooperaciones simultáneas de F2 y M y ninguna de El. y las dos lltunas letras representan el registro destino. la mimperacibn que especifica la transferencia AC+DR. Por ejemplo. Como ejemplo. El campo de condición CD consta de dos bits que están codificados para espeUFwr condiciones de bits de cuatro esbdos. como c e muestra en la tabla 7-1. Esto proporciona un total de 21 micwoperaciones. campo AD contiene una direccibn de memoria.m6s miuooperaciones confiicibas. Es irnpofinte cqmprender que no pueden especificarse de manera simult4nca dos o . El campo de dirección es de 7 bits porque la memoria de control tiene 128 = 2' palabras. la tercera es siempre una T . S i se usan menos de tres microoperaciones. L a primera condich es siempre un 1 . No pueden elegim m8s de tres operaciones para una microinstrucci6n. que significa sin operacibn. Por ejemplo. ~ @ se n listan en la tabla 7-1. un campo de microoperaci6n 010 M31 W I no tiene sentido porque especifica la operacidn para cambiar AC a O y restar DR de AC. una para cada campo. Cuando . Cada microoperación de la habla 7-1 se define con un enunciado de transferencia & registros y *. Las primeras dos letras representan el registro fuente. Las tres bits en cada campo se codifican para especifiar siete operaciones distintas. Todos los símbo1m de mia. Dp + M [AR] Y PCc-PC4-1 con F2 = 100 cdnF3=101 campo de condin'óp Entonces los nueve bits de los cqmpos de la micmqeraci6n serfin 000 100 101.

subruiina) CAR (2-5) +DRCll-141. 01 a m p ~1 4 U 1 S Z DR(1S) slC(1S) 1Q 11 AC=Q Tmnsfmncia incondicional Bit de direccih indirecta Bit de signo de AC Valqr. CAR(0.D R -k 1 DR(0-10) +P% F3 000 001 010 O11 Micmpemcibn 1 0 0 1 0 1 110 111 Ninguno AC+AC@DR AC+A% AC+-NAC AC+shrAC PC+PC+l PC'+AR Resernado NOP XQR COM SHL SHR INCPC AIETPC Comentarios ixi.Ninguno A C t A C t DR AC+D A C c A C -t 1 WOP ADD CLRAC INCAC AC+-DR AR tDR(&lO) AR t-PC M[&R] DR DRTAC DATAR PCTAR WRITE Ninguno A C t A C DR A C t A C V DR AC-AC A DR - NOP SUB AND READ ArnR INCDR PCTDR Simbolo DR +MIAR] DR c A C D R .I -6) +O + .mroen AC Función BR M I 01 1 0 11 Slmbolo JMP CAU. RET MAP CAR +AD si la condicidn = 1 CAR +CAR + 1 s i la d i c i ó n = O CAR +Mm+ SBR CvPA + 1 si la condicidn = 1 CAR+aR I siIadici6n =O CAR +SER (Retorna de.

Esto provoca la transferencia de la direccibn de retorno de SBR a CAR.1 . Microinstrucciones simb6licas Los slmbolos definidos en la tabla 7-1 pueden utilizarse para especificar microinstrucciones en forma simbblica. Se utiSua junto con el campo de direccionamiento AD. micrmperaciones. dos o tres simbolos separados por comas. Una etiqueta temiina con un signo de dos puntos (:). para seleccionar la direccibn de la siguiente microinstnicci6n. cuando anotemos programas en forma simbólica. de los definidos en la tabla 7-1. BR y AD. De oka manera. Se consigue el mapeo de los bits del código de operaci6n de la instrucci6n a una d i m i b n para CAR cuanda el campo BR es igual a 11. se transfiere Ia siguiente direccihn del campo AD al registro de diteccionamiento de control CAR. CAR se incrementa en 1.san independientes de los valores de los campos CD y AD. el control ejecuta una opmaci6n de brinco JMP (la cual es similar a una transferencia de control). Este mapeo aparece en ]a figura 7-3. proporciona una operacidn de transferencia inmndicionaL El bit indirecto 1 está disponible en el bit 15 de DR después de que lee una instnicci6n de la memoria. ejecuta una llamada a subrutina (CALL). El campo de transferencia BR consta de dos bits. y cuando BR = 01. L a manera m8s sencilla y directa de formular un lenguaje ensamblador para un m i c m p ~ m a es definir shbolm para cada campo en la microinstrucción y proporcionar a los usuarios la posibilidad de definir sus propias direcciones simbólicas. CD. E l valor O.238 CIETE Control microprogramado campo de transfwericia esta mndicibn se utiliza junto con el campo de transferencia BR. E l retorno de la subrutina se consigue con un campo BR igual a 10. El bit de signo de AC proporciona el siguiente bit de estado. representado por 2. 1 . tos campos especifican la siguiente información. S y Z para los wtrabits de estado. excepto en que una microinstrucci6n de llamada almacena la dirrccibn de retorno en e l registro de subrutina SBR. Un qnsamblador de microprogram es similar en su concepto a un ensamblador de computadora convenci~nal.que se lee una imstniccibn de la memoria. e n se define en la secci6n 6-3. Cada micmhstnicci6n simbblica se divide en cinco campos etiqueta. Cada línea del microprograma del lenguaje ensamblador define una rnicroinstniccibn simb6lica.es una variable hinaria cuyo valor es igual a 1 si todos los bits de AC son iguales a cero. Un microprograma simbólico puede traducirse a su equivalente binario mediante un ensambladar.campo BR . Z El campo de rnicrooperacisnes consta de uno. t a s dos operaciones son idénticas. Si la mnditi6n del bit de estado especificada en el campo CD es igual a 1. Leis operaciones de salto y llamada dependen del valor del campo CD. Utilizaremos los símbolos U. cuando BR = 00. Como se muestra en la tabla 7-1. No puede . N6tese que las dos iiltimas condiciones del. Los bits del código de operaci6n están en DR (11-14) despu4s de. El campo de la etiqueta puede estar vado o especificar una d M & n simbolica.

3. S o 2 . Como no hay disponible un &gistro de inserucci6n. la cual tambidn debe aparecer como etiqueta. h s iiltimas M paIabras pueden usarse para cualquier otro propósito. La rutina de %&queda Ls memoria de control tiene 128 palabras. El campo AD espéciftca un valor para el campo de dirección de Ia microhstrueci6n en una de tres maneras posibles: a . E1 ensambladar traducir&esto a nueve ceros. 5. ORC Tambikn utilizaremos la seudoinstnicci6n ORG para definir el origen. El campo BR contiene uno de 10s cuatro slmbolos definidos en la tabla 7-1. o la primera diieccidn. de una rutina de microprograma. 4. Usando las La direcci6n de Ia microinstrucci6n se transfiere de PC . las cuales se calman en la~mmoríade control de las direcciones M. 1. E 1 campo CD tiene una de las letras U. E l siñibolo NOP se utiliza cuando la microinstnicci6n no tiene microoperaciones. Cuando e l campo BB contiene un símbolo RET o MAP.6S y 66. y cada palabra contiene 20 bits.un simbolo de campo F. lo cual es equivalente a la direccidn binaria 1000000. Por l o tanto. Con una d i m i 6 n simMlica. el simbolo ORG 64 informa al ensambladar que coloque la siguiente microinstrucci6n en la memoria de control de la dirección decimal 64. c. el campo AD se deja vacio y d ensambhdor b convierte a siete ceros. h s microinstnicciones necesarias para la rutina búsqueda son biisqwda y dwodijkucidn a AR y después se lee I a instruccibn de la memoria dentro de DR. b rutina de btisqueda necesita estas microinstrucciones.La parte de dirección se transfiere a AR y d @ u & se transfiere e l control a una de las 16 xutinas al mapéar una parte del c6digo de operacidn de la instrucci6n de DR dentro de CAR. Para mimoprogramar b memoria de conho1 es n ~ s a r i o determinar los valores de bit de cada una de las 128 palabras. el cdigo de insfíuccih permanece en DR. b .campo de dirercidn haber & de. tas primeras 64 palabras (direcciones -(J a 63) las van a ocupar las rutinas para las 16 instrucciones. Una posici6n de inicia conveniente para la rutina de búsqueda es la dirección M. Con el símbolo NEXT para representar la direccihn siguiente en secuencia.

En cada rutina debernos proporcionar micminstrucciones para evaluar la direccibn efectiva y ejecutar la instrucción. la cual es la direccidn de inicio para Ia rutina ADD en la memoria de control.. . 60. Por ejemplo. ! % acostumbra ecribir microprogramas en forma simbblica y . utilizar un programa ensamblador para obtener una traduccihn a binario. respectivamente. La primera dimi611 para la rutinas BRANCH y STORE son O O001 0 0 (el decimal 4) y O O010 00 (el decimal 8).dqpu4s. El modo de direccionamienbs Micropxogama simbólico . la microinstmcci6n MAP transferirá a CAR la d k c i b n 000000Q.Esto proporciona cuatro palabras en la memoria de control para cada rutina. La ejecuci6n de la tercera mfcrainsthcci6n (MAP) en la rutina de búsqueda da como resultado un brinca a la dimcibn Oxxxx00. INCPC DATAR U JMP U U JMP MAP NEXT NEXT La traduccibn del micraprqrama simbólico a binario p d u c e el siguiente rnicroprograma binario. 16. l a qresentaci6n simb6lica es útil para exribir m~cropmprztrnasen un fomnato del nguaje ensamblat e almacenarse en dor. La representaci6n de Eransfe rancia de registros muestra las operaciones de transferencias de registros internas que implantan cada miczoinstrucci6n. La mpresentaci6n binaria es el contenido real que de la memoria de control. si la instmccidn es una ADD cuyo código de operaciSn es 0000. DireEcián binaria ' ~ 1 'F2 M CD BR AD Las tres microinstnicciones que constituyen la rutina de bdsqueda se han ihtado en tres representaciones di8ferentes. La primera direcci6n para las otras 13 rutinas está en los valores de dirección 12.ronvmdones del lenguaje ensambIador definidas antes. donde xxxx son los 'cuatro bits del código de operacibn. 2 0 . pdemos wribir e l m i q r o g r a m sÍmb6lico para Ia rutina de recuperaci6n como sigue: FETCH : ORG 64 PCTAR READ.. tos valores de bit se obtienen de la tabia 7-1.

AC será menor que cero si su signa es negativo. Pueda usarse menos palabras de h memoria de control si se almacenan en una subrutina hs micr&nslfucciones para e1 direccionamiento indirecto. no murre el brinco y la siguiente micrainstrucei6n provoca un retorno a la rutina de búsqueda sin alterar el contenido de PC. i a tabh tarnbikn muestra d microptagrama simb6lico para la rutina de búsqueda y la's submtinas de microinstruccibn que ejecutan cuatro instrucciones de computadora. ocurre un brinco indirecto I N D R a y la direccibn de retorno (la direccibn 1 en este caso) está almacenada en e l registro de subrutina SBR. E i contenido de AC s e transfiere a DR. La primera microinslnicci6n lee el operando de la memoria en DR. La nitina BRGNCH en la tabla 7-2 comienza por comprobar el valor de S. La subrutina INDRCT tiene dos microinstrucciones: INDRCT : READ DRTAR U U JMP RET NEXT Recuerde que un direccionamiento indirecto considera la parte de direcci6n de la instmcci6n como el lugar donde se almacena la direccibn efectiva más que la dimti6n del operando. Esta subrutina. se coloca exactamente después de la rutina de búsqueda. La instrucci6n BRANCH debe provucar un brinco a la direecibn efectiva si AC < O. El retorno de la subrutina @ET) transfiere la direccibn de SBR a CAR y. l a cual después se transfiere a AR. retorna a la segunda microinstrucci6n de la rutina ADD. cmsidmos que la microinstnicci6n MAP al final de la rutina de búsqueda provacó un brinco a la direccibn 0. ia ejecucibn de la ítistrucci6n ADD se realiza mediante las microinstrucciones de las direcciones 1 y 2. Si S es igual a 1. Para apreciar c6mo ocurre la transferencia y retorno de b rutina indiwQ. por l o tanto. donde está almacenada la rutina ADD.1 a O. lo cual se detecta cuando el bit de estado S es 1. la primera microinstrucci6n JMP transfiere el control a l a posición OVER La rnicroinstrucci6n de esta posici6n solicita l a rutina INDRCT s i 1 = 1. simboiizada mediante INDRCT.indirecta está asociado con todas las instrucciones de referencia a memoria. i~ segunda microinstmcci6n ejecuta una microoperaci6n de suma con el contenido de DR y AC y después regresa al comienzo de la rutina de búsqueda. La primera microinstrucción en la rutina ADD solicita la subrutina INDRCT. Se irtida una operación de escribir en -la memoria para almacenar el contenido de DR en una localidad especificada mediante'la dirección efectiva en AR. Por lo tanto. Si i = 1. tiene que accesarse la memoria para obtenqr la direcci6n efectiva. La nitina 5TOlU3 vuelve a utilizar la subrutina INDRCT s i I = 1. Si S es igua. condicionada al estado del bit 1. como se muestra en la tabla 7-2. Despu4s la dirección efectiva se transfiere de AA a PC y d rnicroprogra'ma regresa a la rutina de biisqueda. .

en DR. Este intercambio es posible cuando los registros san del tipo activado por £isnw. di vi di^. que se encuenlra ahora . Las palabras de memoria de conhol de Ia 69 a la 127 pueden usarse para este pq%sito.Las instrucciones como multiplicar. l$ tabla 7-2 contieIie una lisb parcial del mimoprograma.pbiaones 69 a la 1 2 7 .sehan m i c q x ~ a m a d o cuatro de las 16 instrucciones de computadora posibles. DRTAC WREE CALL JMP JEulS J M P INDRCT NEXT NEXT FETCH rd mm: INDRF:: ORG 64 PcTAR W. Tampoco se han u&do las palabras de memoria de control en las . N&be Si510 .INCPC DRTAR READ DRTAR U J M F N E X T U JUP NEXT 0 MAP U JMP NEXT U RET La mtina MCHPrNGE lee el operando de la d i m i b n efectiva y lo c o b a en DR Ei contenido de DR y AC se in-bia en l a terma microinstruccihn. E l contenido original de AC. .TABLA 74 Microprograma simb6lioo (parcial) ADD: ORG O NOP READ ADD NOP NOP NOP 1 CAIa. y otras que mqpierert una larga secuencia de micmapmacio~leg~ necesitaran h6s de cuatro micminstrucriones parq su ejecución. se almacena de r e p w en la ihemoria. (vbase l a figura 1-23). U U S JMP NEXT FETCH OVER FETCH INDRCT FETCH INDRCT JMP JMP JMP CALL JMP 'I W OVER: A R n c ORG 8 STORE: U X U 1 NOP ArnR WRITE U U JMP JMP w NEXT FETCH ORG 12 EXCHANGE: NOf f U U U READ ACTDR. LNDRCX.

TABLA 7-3 Mianprograma binario pata memoria de control (parcial) u. Nótese que la direcci6n 3 no tiene equivalente del microprograma simbóiii porque la rutina ADD sblo tiene h. Aunque . 1 y 2. El microprogratna sirnbolico debe traducirse a binario ya sea mediante un programa ensamblador o que lo realice e l usuario si el mimoprograma es lo suficientemente simple como en este ejemplo.S E C ~ 7-3 N Ejemplo de un micioprograma 243 Microprograma binario El rnicroprograma simb6lico es una foma conveniente .1 rbii ~il-mci~" Microrrutjna Decimal O Binaria ADD 3 BRANCH 1 2 4 5 6 7 STORE 8 9 1 0 11 12 13 14 15 EXCHANGE . FETCH INDRCT 64 10000M) 110 000 65 66 67 68 1000001 lOOOOl0 1OOOO11 000 100 100 000 000 00 101 MW) m 00 00 1OOOOO1 101 000 000 000 000 1OOOlOO 101 00 00 00 11 00 10 1OOOO1O 0000000 lOOO100 0000000 ia forma bina& equivalente del microprograma se lista en la tabla 7-3.es micrbhtrueeiones en las M m e s 0. Pero esta no es la m e r a en l a cual se almacena un microprograma en la memoria. El contenido binario de cada microinstruccibn se deriva de los ~únb. h s di~ecciones para la memoria de control se próporcionan en decimal y b i i r i o .010~ y 9us valores bimrios equivalentes se definen en la tabla 7-1.para escribir m i c m programas de manera que las personas puedan leerlo y comprenderlo. la siguiente rutina comienza en la direccibn 4.

Una memoria de contrnl en la que se puede es~ribir la flexibilidad para elegir en b n n a dinámica el conjunto de instrucciones de una computadora al cambiar e l microprograma bajo el control del prmesador. la lista binaria de microprograma proporciona la tabla de verdad para fabricar la unidad. P&OB hahr especificado &lo dígitos O en la palabra porque esta posicihn nunca se utilizar6. El microprograma binario que se lista en la tabla 7-3 especifica el 7-4 Diseño . ser4 prhetico saltar a la direcci6n 64. la ROM se sustituye con una RAM. es necesario generar un nuevo microp~~)grama y "enmascarar" una nueva ROM. Para modificar el conjunto de instrucciones de la computadora. debe especificarse al* valar binario para cada palabra en la memoria de control. S i embargo. Los diferentes campos que se encuentran en los formatos de instrucci6n proporcionan bits de control para iniciar microoperaciones en el sistema. También aumenta el tiempo de retardo de . la mayoría de los sistemas programados utilizan una ROM para la memoria de control porque es mas barata y mis rápida que una RAM y también para prevenir que un usuario ocasiona1 cambie la arquitectura del sistema. y cada campo define una funci6n separada y distinta. si ocurre algún error no detectado o s i KM señal de ruido establece CAR para el valor de 3. la cual es el comienzo de M memo* de contrul - . Cada campo requiere un decodificador para producir las e l e s de control correspondienws. bit6 especiales para especificar la manera en que se va a evaluar la siguiente instruccibn y un campo de dirección para transferir el control del prugrama. La ROM est4 hecha de I C que pueden reemplaza= cuando es necesario y sustituirse por otm.dela unidad de control Los bib de la microinshuccibn por lo genera1 se dividen en campos.la dhwcidn 3 no se usa. Cuando se utiliza una ROM para la memoria de control. Sin embargo. Los bits de la ROM se fijan una vez que se funden los enlaces internos durante la producción 'de la circuiterla. ia ventaja de emplear una RAM para la memoria de control es que el microprograma puede alterarse de manera sencilla al escribir un huevo patrón de dígitos 1 y O s i n recurrir a procedimientos de fbncación.La anterior puede retirarse e insertarse una nueva en su lugar. - ihi A b I contenido'de la paIabra de la memoria de control. Este mdtodo d u c e e l tamaño de Iw bik de rnicroinstrucción pero necesita hardware adicional externo a la memoria de control. Puede reducirse la cantidad de bits de control que inician micmperaciones al agrupar variables mutuamente exclusivas en campos y cdificar los 'bits k de cada campo para proporcionar 2k micmperaaiones. Si se utiliza una memoria de control en la que s e pueda escribir. Este proceso de fabricaci6n consiste en crear una mascarilla para Ia ROM con el fin de que produzca los dígitos 1 y O para cada palabra.

Cada &o de los tres campos de la ~croinstr. Las ~ Q d a s de loa decodificadores e s & conectadas a las entradas convenientes en la unidad de procesador. mostró en el ejemplo de pmgramacibn de Ia. Fl 1' 1' F2 lr P3 Derodificsdor 3 x 8 7 6 5 4 3 2 1 0 1 Desorlifkador 3 x 8 7 6 5 4 3 2 1 0 t t t' ADD DRTAC ttt m s de PC - 16gi y de corrimiento do DA (O. del campo de la microoperacibn se dividen en tres campos de tres bits cada una.ocho salidas. IA salida de la memoria de m t m l de cada s&campo dek dediticpara que proporcione las.secci&n anterior. cuando F1 = 101 @hario S ) . Cada una de estas salidas debe conectarse al .distintas rnicrooperaciones. La d d i i c a c i 6 n de 10s bite de control se. b fipya 7-7 muestra las tres deico. Los nueve bits. la siguiente Figura 7-7 13erodlCicaci6nde campos de micrmperacibn.Por ejemplo.ueci6n disponible en ese momento en la salida de I a memoria de control 'se decodifica con un decodificador 3 X 8 con el fin de propor&nar.dificadoresy algunas de les conexiony que deben hacerse a partir de sus salidas.SEC~QN P-8. según se e s ~ i &ca en la kbla 7 1 .10) 1t ir ir Seleccionar 41 -- O 1 Multiplexores = WoY .huito pnv&& para Miciar l a microoperaci6n ~~IT@SporidigIte.. D k i b de k unidad de control 245 ¿ecodi&ad~xgs de campos F las sehales de ~~ntr01 porque deben propagarse por los circuitos de decodificacidn.c.

un secuenciador de circuitos integrados debe proporcionar una organizacidn interna que pueda adaptarse a un amplio rango de aplicaciones. las secuenciadores comerciales induyen dentro de la unidad una pila de registro interno que se usa para el almacenamiento temporal de direcciones durante solicitudes de subrutina y ciclo de rnicroprograma. La unidad de corrímiento lbgico aritmetico puede di&rse como en lm figuras 5-19 y 5-20. L a parte de seleccibn. las &lidas 5 y 6 del decodificador FI están conectadas a la entrada de carga de AR. Para garantizar un amplio-rangode aceptabilidad. De igual manera. La lBgica de siguiente direcci6n del secuenciador determina la direeci6n fuente específica que se va a cargar dentro del registro de control de direccidn. La elecci6n de la direcci6n fuente s e guía mediante los bits de informaci6n de la direcci6n siguiente que recibe el secuenciador de la microinstrucci6n presente. Sin embargo. Las otras salidas de los decodificadores que están asociadas c m una operacibn AC también deben conectarse a la unidad de corrimiento ldgico aritmbtico en forma similar. como se muestra en la figura 7-7. Puede construirse un secuenciador de mimoprograma con funciones digitales que w? ajusten a una aplicacidn particular. estas entradas pwveridrdn ahora de las salidas de loa decodificadores asociadas con los símbolos AND. tambih hay secuenciadores de ppop6sib general convenientes para la con* tniccibn de unidades de control de micropropma. La transferencia a AR ocurre can una transici6n de pdso de reloj sólo cuando* estiin activas las salidas 5 o 6 del decodificadox. El propósito de un menciador de microprograma es pmntar una direcci6n a la memoria de control con el fin de que pueda lee= y ejecutarse una microinstrucci6n. cuando F 7 = 110 @ i r = 6. ADD Y DRTAC. para que cuando una de e k s esté activa. respectivamente. al igual que existen grandes unidades ROM disponibles en encapsulados de circuitos integrados. En lugar de utilizar compuertas para generar las seHales de control marcádas mediante los shbolos ADD.Cbrno se muestra en la figura 7-7.) hay una transfemcia de PC a AR {representado mediante PCTAR).de direccidn se llama muenciador de microprograma. L s otras salidas del decodifkador que inician transferencias entre registros deben conectarse en fomia similar. Los muitipIexores seleccionan la información de AR cuando está activa la salida 5 y de PC cuando estd inactiva la salida 5. Idgfcn y de com'mhnto m. y DR en la figura 5-19. . Algunos secuenciadores proporcionan un registro de salida que puede funcionar como el registro de direcci6n para h memoria de control. Semenciador de dcroprograma Los componentes básicos de una unidad de control minoprogramada son la memoria y ios circuitos que deccionan la direcci6n siguiente.246 m m Control micmpmgramado trnnsicih de pulso de reloj transfiere el contenido de DR (0-10) a AR (representado por DRTAR en la tabla 7-1). se transfxera a AR la informacibn de los multiplexores.

1 Externa . El djagrama de bloque del semendador de microprograma se muestra m la figura 7-8. El contenido de CAR se i n m e n t a y se aplica a una de las entradas del multiplexor y al registro de subrutina SBR. Hay das multiplexotes en el circuito.S E ~ 7-4 N EiseM de la unidad de control 247 Para mostrar la estructura interna de un secuenciador de microprograma típico analizamos una unidad particular que es conveniente para usarse en eI ejemplo de computadora de micmpmgrama desarrollado en la ~ecci6n anterior. La memoria de control se ínciuye en el diagrama para mostrar la interacih entre e l secuenciador y la memoria conedada a 41. E l primero selecciona una direecibn de las cuatro fuentes y le marca una ruta hacia dentro del registro de direccibn de control CAR. de la salida de SBR y de una fuente externa que Figura 7-8 wuenciadw & micrqprogramp r a una memoria de mnhol. La salida de CAR proporciona la direecibn para la memoria de contral. Las otras tres entradas al multiplexor número 1 provienen del campo de diremi611de la miminstrucción presente. El segundo multiplexor prueba el valor de un bit de wtado wleccianado y el resultado de la prueba se aplica a un circuito 16gico de entrada.

y tres salidas. la entrada número 2 del multiplexor se. Una operaci6n de salvar (push) en la pila (stack) y leer de la pila (pop). Las entradas 1. TABLA 9-8 Tabla de vedad de lbgica de entrada para un secuenciador de rnicroprograma Camp Entrada MUX 1 S.diseño de I6gfca de entrada mapea la instmcci6n. Si el bit seleccionado es igual a 1. seIeccionan una de las direcdones4uente pafa CAR. So. varías subrutinas pueden estar activas al mismo tiempo. Nbtese que cada una de las cuakro entradas. e l sewenciador puede proporcionar hasta ocho operacienes de secuenciamiento de direccl6n.microinstnicci6n elecciona uno de los bits de estado en el segundo rnulkiplexor. El registro de subru- 5. l a variable T (pmeba) es igual a 1 . E l valor T. al igual que la sftlida de MUX 1. con SISO = 10. h s vaiores binarios de las variables de selección determinan la trayectoria del multiplexor. es igual a O. y T. El circuito 16gico de entrada en la figura 7-8 tiene tres entradas. habilita la entrada de carga en SBR. almacena y recupera la direcci6n de retorno durante las microjnstrueciones de Uamada y regreso. La 16gica de entrada en un secuenciador particular determinará el tipo de operaciones disponibles en la unidad.& BE 44tT CargarSBR L . junto con un apuntador de pila. p o r l o tanto. contiene una dirección de 7 bits. Las variabIes So y S. transferir o hacer saltar. Por ejempb. . Los valores de bit para Sly So se determinan de la función citada y de la trayectoria en el multiplexor que establece la transferencia requerida.selecciona y etablwe una trayectoria de transferencia de SBR a CAR. de otra manera. E l campo CD C~adicibn)de la.llamar y retornar de subrutina. Con tres entradas. D e esta manera. 1. Aunque el diagrama muestra un registro de subrutina tbica. y L. cargarcuna direcci6n extema. La tabla de verdad para el circuito Ibgico de entrada se muestra en la tabla 74. y otras operaciones de secuenciamiento de d i i i n . La funci6n liskada :en cada entrada se definid en la tabla 7-1. Algunos secuenciadores cometnales tienen tres o cuatro entradas ademdis de la entrada T y. Las operaciones de secuenciador tlpicas son: incrementar. La variable 1 . 1. saivar (en) o leer (de) la pila. van a un circuito 16gico de entrada. proporcionan un mayor rango de operaciones. junta con los dos bits del campo BR (brincar). e Io s o n iw'ticas a los valores de bit en el campo BR. un secuenciador típico teridrh de cuatro a ocho niveles de profundidad.

N6:tese que e l circuito incrementador del secuenciador de la figura 7-8 no es un contador construido con flipflops. b) microinstnieei6n.. 7-1 7-2 7-3 74 ?* ¿Cual es la difapnciá entre. Una entrada m la primera etapa menos significativa debe ser igual a 1 y próporeionar la operaci6n de incrementar en uno.E l acarreo de salida de una etapa debe aplicarse a l a entrada de la siguiente.un.Problemas 249 tina se cargamn el valor incrementado de CAR durante una microinstnicción dicitada (BR = 01) siempie p cuando se satisfaga la condición del bit de estado (T = 1).micmpmd~r y un microprograma? iEs p i b l e diar u n d c m m d o r sin un mimpmpma? ¿Todas las computadora~ son rnicroprograrna&s también como microp&m? Explique h difemwh entre m í m l de amiiteda y control LES +bIe hkr un m W 1de WbRia-o con UM menwriade aintrol? Defina l o siguiente: a) microoperacibn. 10 ns para iransferir la mieroinshccibn al registro de datos de ejecutar 4 s dcr6cperaciongs requerGas que se e s @ ~ontroI~y 40 m h n mediantela palabra de m n ~ l . ia ~rgafúzaclbn dk control rnictoprogramadaque se muestra en la figura 7-1 tiene los s i ~ u i m i b tiempos da ?baso de propagación 40 ns para generar h siguiente d i d h . ~Cu4nbs bik hay en el campo ~d&&t de transferencia de control y en el campo d e s e l d i ' . Puede usam"Ia tabla de verdad para obtener las funciones booleanas simplificadas para el circuito 16gico de entrada: El circuito puede construirse con tres compuertas AND. una compuerta OR y un inversor.L mi~ ~ t i e a e ~ c a m g o s m ~ ~ ~ ~ ~ c a m p s d e ~ a & ~ ~ t l a i a i 1 a. ~ C u A esll a d x i m a frecuencia de reloj que puede utilizar el control? iCuáI sería la frecuencia de reloj si no se usa el regism &%'datos de control? EI &tema c@e se m w t m mla figura 7-2 utiüza una d de mníd de 1024 pala& de 32 bib d a m. 18 ns para para. sino un circuito combinatorio construido con compuertas. - . Puede diseñarse un incrementador de circuito combinatorio al poner .transferir la direcci6n al q i s b de direcciona~m de ~ control.en cascada una serie de circuitos semisumadores (véase la figura M).~40 ns para accesztr la ROM de memoria de control. c) rnimpmgrama: d) m i d i p .

ARTPC. DRTAC. RDD : RERD 1 CALL JRP INDR. proporcione la primera d i d 6 n de mieroinstruceibn para el siguiente c6digo de operacióm: a) ODIO.& estado? e. . ~Cdntos bits hay en cada una de las c u a b mízadas que se m u como ~ entradas a los midtiplexores? c. .250 SIETE Control microprograrnado b . E l &ligo de aperacibn tiene seis bits y la memoria de control tiene 2043 palabras. WlUTE 7-l3 Suponga que cambiamos la rutina ADD que se lista en la tabla 7-2 a las siuuienh dos microinstruocion~. b) 1011. ~Cpántsis bits quedan para seleccionar como entradas para l o s mdtiplexom? 74 i a memoria de control de la figura 7-2 tiene 4096 palabras de 24 bit6 cada una. convierta las siguientes rnicrooperaciones simbólicas a enunciados de transferencia de registros y a binario. DRTAC c.! FETCH ADD sería la subrutina iNDR. a. INCPC b .en que pueda transferirse la informaci6n de fuentes mb!tiples a un destino común? Utilizando la tabla 7-1. Formule un procedimiento de mapm que proporcione ocho microinskrucciones eomutivas para cada rutina. a. ACTDR. c ) 1111. cuántos bits hay en e l registro de direccionamiento de contraf? b .S i hay 16 bits d e estado en el sistema. 7-9 7-10 7-11 Explique &m& puede hacerse el mapeo de un c6digo de instmcci6n a una direcci6n de microinstrucc86n mediante una memoria de d o lectura.!? 7-19 U El swiente es un mimoprograma simb62ico para una instrueei6n en la computadoca defiriida en la m i 6 1 17-3.¿Cuál es la ventaja de -te m o comparado con d de la figura 7-3? ¿Por qué necesitamos los dos multipIexores de la configuracibn de k d w a r e de computadora que se questra en la figura 7-4? ¿Hay otra rnanera. ¿Cuántaseniradas hay en cada muitiplexor y cuánta& multiplexo~ se nece- sitan? 7-7 Y-ü Utilizando el procedimiento de m a p d b t o en la figura 7-3. proporcione el campo de microoperaci6n de 9 bits para las siguienb microopadones: 7-12 Utilizando la tabla 7-1. ~ d n f o bits s de 16gica de transferencia se utilizan para seleccionar un bit. READ.

Espdfique la opetaribn realizada cuando se ejecuta Ia instrucción. Utiüce eJ elmata de microinshcci6n de la secci6n 7-3. Convida las cuatrc8h i d n s h d m a su f o m binaria equivalente. Tradtízcalo a un microprograma simbólico coma en la tabla 7-2.) ) Slmbo10 CMigo de operacidn Funci6n cimbblica Descripcibn AND Restar Sumar a memoria AND SUB O1OO A C t A C A M [ E A ] ADM BTCL B Z SEQ BPNZ O101 AC +AC . ) da) b . (N6tese que AC no debe cambiar de valor a menos que la i-cción especifique un 4 1 en AC. M b a el mhpmgrarna simb6Iico para cada rutina como en la tabla 7-2.M [EA] O110 M [ E 4 ] +M [ E A ] + AC 0111 A C e A C r\ M W ~ lOiM Si (AC = O) entonces (PC+EA) 1 O O J S i (AC = MEA])entonces (PC+PC 4. La computadora de l a secci6n 7-3tiene el siguiente microprograma binarim a . ( B w u e 7-16 Sume las instrucciones si~uienies a la mmputadora de la seccidn 7-3 (EA es Ia direeQ6n efectiva).1 ) 1010 S i (AC > O)entonces (PC+EA) Borrar bit Borrar si AC cero Brincar si es igual BrincarsiespoBitivo ydifermfedeoero 7-17 Eccriba una rutina de mimpqrama simb6lieo para Ia instnicci8n ICZ (incremmtar y brincar i i cero) definida en el capitulo 5 (tabIa 54).ORG 40 NOP NOP IOP ARTPO S Z f U JMP FETCH JHP CaLL JMP FETCH INDRCT FETCR 7-15 a. N6tese que la condici6n de estado DR = O no está disponible en el campo C D de la . b . Liste todas 19s fallas @bis cuando e l microprograma ce ejecute en la computadora. ectá en la d i r e c c i ó n 64 y SNDRCT en la dirección 6 7 .

(polaridad)en la mbroinstrumi6n de la memoria de control. kmde una palabra de control para la microoperaci6n. brincar a AD s iT=O Brincar a AD en forma incondicional IncrementaT CAR en forma incondicional Brincar a AD s iT=1 . p r o cuando D = 1 .2 cAPlTiL0 Control rnicroprogramado 7-18 computadora definida en 4 a &6n 7-3. LQU& realiza el control de polaridad P? . S .Sin embargo.Cuando D = O. y un circuito para corrimimto con ocho opemcioms. Una entrada a la compuerta proviene de la salida de prueba del multiplexor. Consi& que la Mgica de entrada del secuenciador de minoprograma de la figúra 7-8 tiene c u a b entradas 1% ly ID T (prueba). La otra enkadaa la compuertaproviene de un bit etiquetado P. Exriba las rutinas de mimprogfama simbblico para las instrucciones BSA @rimar y salvar direccibnj definidas en el capítulo 5 (hbla 54). incrementar CAR si T = O O Weitar subnitina si T = 1. Dice* el circuito lógico de entrada utilizando una cantidad mínima de campuettas. Soy L. 7-19 7-20 7-21 7-22 Muestre cómo van a conectar las salidas 5 y 6 del decodificador F3 en la figura 7-7 al contador de programa PC. Modifique el incrementadoral incluit una entrada de control D. La salida de la ~~mpuerta va a la entrada T de l a Ibgia de entrada. una ALU (unidad ari tmbtiea-16giea) con 32 operaciones.Minimice Ia cantidad de dcroinstrucciones.y tres salidas.Las operaciones que m van a ejecutar en la unidad e listan en la siguiente tabla. c. ~Cusntas mtc~~~peraciones pueden especificarse en una micminstrucci6n? Una computadora tiene 16 regis-. b . O O O O O 1 O 1 O 1 1 1 O 1 O O 1 7-23 1 incrementar CAR si T = 1. Espeafique h cantidad de bits en cada campo de la palabra de mntrol y proporcione un esquema de dificaabn general. Muestre cbmo.pue¿e dividise un campo de m i a m p a c i h de 9 bits en m microinstrueei6n de subcampos que especifiquen 46 microoperaciones. a. usted puede intercambiar AC p DR y comprabar si AC = O con e1 bit 2. t d o s conectados a un sistema de bus común. el circuito se inctementa en dos. incrementar CAR s i T =O 1 Retomar de subrutina en forma incondicional 1 Map&r direccibn externa en forma incondicional 7-24 Diseñe un incrementpdor de circuito combinatono de 7 bits para el aecuenciador de prugrama de la figura 7-8 (vhse la figura 4-8). Utilice el formato de microinsttucddn de la secci6n 7-3. Inserte una compuerta 0 R e x c l ~ i v a entre el MUX 2 y la lbgica de entrada de la figura 7-8. el circuito se inc&menta en uno. Muestre los bits de la palabra de control que especifican la operaü6n R4 R5 + R6.

NJ: Prentice Hall.lo.H . MN:West Publishing. . 1 . Langhalz. 1986 3. Vol. M. UA: AddLsonWesiey. 1WO.. hah I W .. Gordine. E n g i e w d Cliffs. Reading. 7. y A. Ed. W . Chandra. A. . M. 1989. Dasgupta. Ward. G. S A. Kandel. . V.Englewood Cliffs..1.. J . Tanenbaum.Zaky. Ed. fhmputer Archifecttrrehitand Qrgnniznth. Vranesic. E n g l e w d Ciiffs. Paul. 5. 2a. NJ: Prentice Hall. J r . St. 2a. . 1983. M a d e r n Computer ArchiteEfure. 1989. y R. 1888. m t a t h Structures.Nueva York: Maanülan. S. Mano. 11. Ingie Decign and Computer Organization.F.J.Nueva York: McGraw-Hiil. 4. N ] :Prentice Hall. 6 . Ed. W. 1988.C. 1990. Nueva York: John Wüey. G. Cmputer Arehitature: A Mollert~Synthesis. M. Rafiquzzaman. CompuferOrgmbtion: HardawrdSofkwrre. 2. S. Cámbridge. Francioni. h i n . 9. Gnglewwd C l i . Strrrctured Computer Organiurtion. y R H. 3a.Cmpufer OrpñiraCion and Ardritecture. G . NJ: Prentice Hall. Computer Engirtering: Hardwre Desip. Nueva York:MrGraw-Hill. Hamacher. 1989.. Computer Orguniurteon. 3a. G. 2a. M. E l m b qf Computer Organiuitioñ. Ed. 1988. 8. Hays. Z. Ed. StaIiings. H a h d . y S.

El conjunto de registros almacena datos intermedios ' que se usan durante la ejecución de las inst"tiicciones.EN ESTE CAP~TULO Introducción Organización general de los registros Organización de una pila Formatos de las instrucciones Modos de direccionamiento Transferencia y manipulación de los datos Control del programa Computadora de conjunto.. La unidad aritméticalógica (ALU) lleva a cabo las microoperaciones requeridas para ejecutar las instrucciones. Control Conjuntode registros t 1 Unidad aritmetica ldgica (ALU) .de instrucciones reducido (RISC) 8-1 CPU Introducción L a parte de la computadora que ejecuta el grueso de las operaciones de procesamiento de datos se llama unidad de procesamiento central y se denomina CPU. La unidad de control supervisa la transferencia de información entre los registros e instruye a la ALU sobre cuál operación ejecutar. Figura 8-1 Componentes principales de una CPU. La CPU está formada de tres partes principales. como se muestra en la figura 8-1.

En los capftulos S y 7 se desarrollaron ejemplos del diseño de unas CPU simples. Los registros se comunican uno con el otro no m510 para transferencia directa de datos. l~mitoo de ihstrucciones. direcciones de retorna. LA última sección presenta el concepto de computadora can conjunto de instrucciones r e c i d 9 i (Rzsc). 8-2 Organizaci6n general de los registros En los ejempl~sde prograrriacih del capítulo 6 hepos mostrado que se necesitan laalidades de memoria para almacenar apuntadores. representa la eleccEon de la circuitería para implantar las instrucciones de m8quina. e hstrucciones y la organizaci6n general de los registras J. es necesario proporcionar una unidad común que pueda ejecutar d a s las micmoperaciones a r i h & t i a s . Un Wte donde el -dar de la computadora y el programador aprecian la misma nráqirina es i a parte de Ia CPU asociada con eI conjunto de instrucciones. Por I o tanto. resultados temporales. contadores. Despds presentamos los tipos de fomtos de instrucciones disponibles. en gran parte. . los modos de di-onamiento que se u pam recuperar datos de la memoria y las instrucciones típicas incorporadas pot lo reguiar en las computadoras. En wasiones se define la arquitectura de la comp&tdwa c o m la estnicima y el desempefio de la computadora desde el punto de vista del prograplacbr que utiliza instrucciones de ienp a j e de &*a. E l diseíto de una CPU es una tarea que. la estructura de memoria. Este c&pítulod 4 la arganizaci6n y arquitectura de la CPU con énfa& en el punto de vista del usuario de la computadora.256 cAP~TCRX~ -0 Unidad eerifral de p t o La CPU realiza div~rsas funciones dictadas p a el tipo de instrucciones que se incorp~ran en la computadora.. E i f o inüu e l a . el conjunto de instruccione de k computadora proporciona las especificaciones para el d i d o de h CPU.! g~ el p m d o r . el tipo de datos que soportan las instrucciones y la funci6n que reaZXza cada instnicci6n. Es m8s conveniente y eficiente almacenar -tos valom intermedios en registros de procesador. y productos parciales durante la mdGplicaci6n. El usuario que programa la computadora en lenguaje ensamblador o de n 8 p k a debe tomar en cuenta el conjunto de registros. Desde el punto de vista del diseñadw. lógicas y de corrimignk. sjnD también mientras ejecutan diversas micrmperaciones. Tener que hacer referencia a localidades de memoria para esas aplicaciones representa una respetable inversión de tiempo porque el acceso a memoria es la operaci6n que consume m6s tiempo en una computadora. Cuando se incluye una gran cantidad de registros en la CPU es más eficiente conectarlos mediante un canal de sistema común. la CPU. modos de M ~ h $ m h tel ~cijnjdto . be manera breve describe cómo los registros se comunican m la ALU mediante buses y explica la opaaci6n de la pila (stack) de memoria.

.Reloj Entrada a) Diagrama de bloque b ) Faiabra de mtd Figura M bnjunto de registros c m ALU mnuín.

2. Las líneas de selecci6n en cada mdtiplexor eligen un registro o los datos de entrada para e l canal particular. La unidad de control que opera el canal del s i s de la CPU elige el flujo de información a través de los registros y la ALU al seleccionar los diversos componwtes del sistema. Para conseguir un tiempo de respuesta rápido. la ALU se construye con circuitos de alta velocidad. canal de silida dentro de R1. Los canales se imphntan con mdtiplexores o mmpuertas de tres estados. el control debe proporcionar variables de selecci6n binarias a las siguientes enttq&s del selector: 1 . 4. segiln se mwtra en la d 6 n 43. Selector de MUX A (SELA): para colocar e l contenido de R2 dentro del canal A. cuando ocurre l a siguiente transici6n de reloj. Wecbr de destino del decodificador (SELD): para transferir el mnt d d o del. la Xrifomación binana del canal de salida se transfiere a R1. El decodificador activa una de las entradas de carga de registro y. proporciona una trayectoria de transferencia entre los datos del canal de salida y las entrad* del registro destino seleccionado. Los datos de los dos registros fuente se propagan por las compuertas en los multiplexores y la ALU al canal de salida y dentro de las entradas del registro destino. por 10 tanto. E l multado de la microoperación estA disponible para datos de salida y también va a las entradas de todos los registros. Selector de MUX 0 (SELB): para colocar el contenido de R3 dentro del canal B. La operaci6n dekmhada en la ALU estable la miampación aritica o 16gica que se va a ejecutar.258 c a l de sistema 0 Unidad central de p e e n t o Una organización de canal para siete registros de CPU se muestra en la figura 8-2 La salida de cada registro esu conectada a dos multiplexores (UUX) para f o m r los dos canales A y B. Por ejemplo. para ejecutar la operacih. %lector de operación (OPR) de la ALU: para proporcionar la suma ariknétia A + B. El registro que recibe la informaci6n del canal se selecciona mediante un decodificador. k p u g s . tos canales A y B forman Ias entradas a una unidad aritmética 16gica común (ALV. todo durante el intervalo de ciclo de reloj. Tres campos contienen tres bits paz* de c o ~ h l .2 0 Consta de cuatro campos. Las cuatro variables de seIecci6n de control se generan en la unidad de control y deben estar disponibles al comienzo de un cielo de reloj. 3. Paiabra de control Existen 1 4 entradas de seieccibn binaria en l a unidad y su valor combinado una de conkd La palabra de control de 14 bits esa definida en la figura 8 .

En algunos casos. L a ccdWaci6n de las selecciones de registro se e c a en la tabla 81. El c6digo binario de 3 bik que se lista en la prim&a columna de la tabla especifica el c6digo binario para cada uno de los h s campos. La palabra de control para una microoperacibn dada . no selecciona un registro de destino pero el contenido de salida está disponible en la salida externa. El campo OPR tiene cinco bits y cada operación se designa con un nombre simbdlico. La ALU proporciona operaciones aritméticas y Ihgicas. Cuando SELD = 000. La tabla de b c i 6 n para esta ALU est$ listada en la tabla 4-8. Los tres bita de SELA se1eccionan un registro ALU fuente para la entrada A de l a ALU. El circuito de cwmmiento puede colacarse en la salida de la ALU para ofecer una posibilidad de postcorrimiento o en la salida de la ALU para bruidar una posibilidad de postcomirniento. la CPU debe proporcionar operaciones de corrimiento. En la sección 4-7 se d i h 6 una unidad arih4tica 16gica y de corrimiento. L a tres bits de SELD selec&& un mghtro destino usando el dwodificador y sus siete salidas de carga. Ejemplos de microoperadones Se necesita una palabra de control de 14 bits para especificar una microop raci6n en la CPU. Cuando SBLA o CELB es 000. El registro seleccionado mediante los campos SELA.BZ ~rgamjmcih generai de los m+tm 259 TABLA 8-1 Codificad6n de campo de seIecci6n de registro C6digo ' . ia codificacibn de las operaciones de la ALU para la CPU se toma de la secci6n 4 7 y está q d i c a d a en la tabla 8-2. Los tres bits de SELB se1eeci6nan un rrgisttro i a entrada B de la ALU. SELB y SELD es aquel cuyo niimero decimal es equivalente al núme~obinario del c a p . binario SELD Entrada Entrada Ninguno R1 l 7 2 R3 R1 R2 R3 R1 R2 R3 R4 R4 R5 RB R7 R4 R5 R6 R7 R5 R6 R7 cada uno y uno tiene cinco bits. las operaciones de corrimiento se incluyen con la ALU. el multipiexor correspondiente selecciona los datos de entrada exkmlos. Las cinco bits de OPR seleccionan una de las operaciones en la: ALU. Cuando se aplica una palabra de control de 14 bits a las entradas de se1ecci6n se especifica una microoperación particular. AdemBs.

e s 010 O11 001 QQ101y se obtiene como s i p .ALU. y una. se obtiene de l a lista de codificación en las Wlas 8-1 y 8 2 . se especgca la palabra de c o n b l mediante las cuatro campos y el valor binaria c?rwspondiente pan cadq campr. opraci6n ALU que rmte A .R1 para d q j s k p des.TABLA W Codificación de operaciones de la ALU Transferir A Incrementar A Sumar 3. Para estw .fivafs de la3 variablw de seZeeci6n. SELB R3 Símbolo: R2 011 Palabra de c~ntrol: Campo: SELD OPR R1 001 SUB 00101 4paJqbra. Asignamos 000 a cualquier campo que no se utiliza cuando se formula la palabra de control binaria. el sarnpo B se marca con un guión. R3 para la entrada B de la ALU. la micrmperaci6n de resta que giropgrcione el enunciado especifica RZ para la entrada A de la ALU. h. SEL& . B RestarA 3 Decremenfar A Aplicar la h c i b n AND de A y B Aplicar la funcidn O R de A y B Aplicar la funcibn XOR de A y B Complementar A R w m r a la Derecha A Recorrer a la izquierda A TSFA INCA - ADD SUB DECA AND OR XOR COMA SHRA SHLA puede de. pero no se selecciona ninguno de los registros para aceptar los datos. Por ejemplo.tino. aunque puede usarse cualquier otro número binado.B. Las micr0pp"aciones de incremento y transf-eia no utilizan l a entrada B de 4. La operaci6n . Para colocar el mW¿o de un registro & las terminales de salida ponmos el tontddo del e t r o en la entrada A de Ia ALU.decontrol pam esfa micmoperación y m a s cuantas otras se listan en la tabla 8-3. Por b tanto. palabra de control binario para la microoperaci6n de resta .

' R4 SUB OR XNCA TSFA R5 TJFA TSFA SHLA R 4 t s h i R4 R5t0 R4 R5 RS XOR- TSFA de la ALU colma' los datos del registro.P' &Salida &R2 . Una unidad de memoria que almacena palabras de mtcoI denomina memoria de control. en las terminales de Alida. La operación de una pjla puede compararse a un racimo de charolas. A partir de estos ejemplos. Puede borrave un registro a O con una operación 0 R exclusiva. En Ia figura 7-8 se muestra una unidad de coiitrol microprogramado.Salida *Entrada Rl E Entrada - R3 R5 R1 R4 R6 E ? Ninguno Ningnr. 8-3 Oqanizaci6n de una piia Una característica útil que se incluye en la CPU de la mayoría de las computadoras es irn skck o. es evidente que pueden generarse otras muchas mimooperaciones en la CPU. ta dtim charola que se coloca en la parte superior de la pila es la primera que se vuelve a tomar. Upa pila es un dispositivo de almacenamiento que guarda informaai6n de -manera que el artículo que se almacena al iiltimo es el primero que se recupera. Este tipo de control se denomina control microprogramado. a través de la ALU. En las computadoras digitales. Ia pila es emcialmente una unidad de memoria con un registro de direccionamiento que s61o puede contar {desp & de que un valor inicial se carga dentro ella). La manera más eficiente para generar 'palabras de control con una gran cantidad de bits es almacenarlas en una unidad de memoria.. La palabra de control binaria para la CPU vendr6 de Ias salidas de la memoria de control marcadas con "mimooperacionestt. primero en salir (LTFO).k 3 R2 R4tR4VR5 Rd R6GR&+i R6 m R7eA. Esto se debe a que x @ x = 0 .E E C U d ~ & 5 ~ ó n d e i r n a p i i a261 TABLA 8-3 Ejemplos de micrwpmcimespara la Ci?U MiCraoperqci6n SELA SELB SELD OPR Paiabra decontrol ~ 1 + ~ 2 . piia a lista iiltim~ en entrar. A l leer palabras de control consecutivas de la memoria. El registro que contiene . es posible iniciar la secuencia deseada de microopexaciones para la CPV. ta transferencia directa de entrada a salida se consigue con &a palabra de control que tiene &lo i r o s (al hater 000 el campo B).

La operaci6n de escrituxa se llama "empujar" @ush) porque puede pensarse que es el resultado de "empujar"un nuevo dato sobre la parte superior. Las dos operaciones de una piIa son la inserci6n y el borrado de datos. Al revés de una piIa de charolas en Ia cual la charola misma pude sacarse o insertarse. figura 8 3 muestra la organizacibn de una pila de registros de M palabras. Xs. Estas operaciones w simulan al incrementar o decrementar e l registro del apuntador de ia pila.262 aptciitador de pila ( ~ 3 ~ 0 Unidad central de p i o la d i r e e c i b n para la pila se Uama apuntador de pila (SP)porque su valor siempre apunta la localidad en la parte superior de la pila. se ejecuta una Figura 8-3 Diagrama de bloque de una pila de 6 4 palabras. los registros flsicos de una pila esten siempre disponibles para lectura o escritura. La operación de borrado o recuperacibn s e llama ?botart' @op) porque puede pensarse que es el resultado de quitar un dab para que salga despedido de la pila. Es el contenido de la palabra lo que se inserta o borra. E 1 dato C est6 en la parte superior de la pila. Sin embargo.en ese orden. El registro del apuntador SP de la pila contiene un niimero binario cuyo valor es igual a la direccibn de la palabra que en ese momento estfi en la parte superior de la pila. Para recuperar el dato superior. por l o que d contenido de SP es ahora 3. nada se empuja ni s e hace saltar en una p l a de computadora. Se colocan tres datos en la pila: A. B y C. Pila de registro Puede colocarse una pila en una parte de una memoria grande o puede organizarse como un conjunto de una cantidad finita de palabras de memoria o regis-. .

no puede exceder un número mayor de 63 (111111 err biario). e l apuntador de piIa contiene 6 bits porque 26 = M. cuando la pila está Uena. En una piIa de 64 palabras. VACIO se activa en 1 y se borra LLENO a O. Cuando 63 se incrementa en 1. Se b o m un nuevo dato de l a pila s i la piia no &á vacía (si VACIO = O) la qxracidai de pop consiste en la siguiente m de microoperaooneS: hacer saltar . s e inserta un nuwo dato con una instrucción push de "empujar". El último dato es& almacenado en la didirecci6n 0. Esto no importa porque cuando se accesa a la pila se escrike un nuevo dato en su lugar. resultado es 111111.ecci6n 1. el úitimo dato se almacena en la localidad O. es obvio que la pila no puede etar vacía. al incrementa SP y emibir una palabra en la siguiente posición más alta de la pila. Al principio se borra SP a O .Si SP llega a O. N6tese que e l dato C se ley6 pero no se quít6 fisicamente. DR es el registro de datos que contiene los datos binarios que se van a escribir o leer de la pila. El dato B esta ahora en la parte superior de la pila porque SP contiene la direecibn 2. Una operacidn de escritura de memoria inserta la palabra dade DR a la parte superior de la pila. por lo que se adiva VAUO a O. La instruccibn push se implanta con la siguiente secuencia de microoperaciones: + SP+SP + 1 M [SP] tDR hcrementar apuntador de piia Escribir datos en la parte superior de l a pila S i (SP = O) entonces(FULL e l ) Comprobar si la pila estA Uena Indicar que l a pila no está vacía EMTY 6 0 El apuntador de pda se incrementa para que apunte a la direcci6n de la siguiente palabra wpexior. D e igual manera cuando 000MX3 se decmnenta en 1. e ) . Si h pila no está llena (si LLENO = O). para que SP apunte a la palabra en la direcci6n O y la pih se marque como vacia y no como llena. Para insertar un nuwo dato se ejecuta una instniccidn "push". la pila estA Uena de datos y se activa LLENO en 1.N 89 Organktci6n de4- pila 2 a empujar instrucci6n pop en la pila al leer l a palabra de memoria en la direccibn 3 y decrementar el contenido de SP. después de incrementar SP. Ndtese que SP contiene la dirección de la parte sup~rior de la pila y que M[SP] representa la palabra de memaria especifiida mediante la dirección dísponible actualmente en SiJ. El primer dato almacenado en la piia est5 en h dll. El registro de un bit LLENO se activa en 1. e l resultado es O porque 111211 1 = lMMOOO en b h i o . Corno SP tiene sólo seis bits. ya no hay mgistros ~ c i o s la pila. y el registro dk un bit VACIO ae activa en 1 cuando la pila estA vacia de datos. Si se escribe un dato en la pila. Una vez que se almaun dato en la Iocalidad O. Esta condici6n se alcanza si el dato de la parte superior antes de la última operaei6n de empujar está en la lacalidad 63 y.P d o puede acomodar los s e i s bits menos significativm. pero C.

En esta configuración. W c a que ~ la pih no estA liena . El &o Pih de memoria Una pila puede existir como una unidad única.Se inserta un nuevo dato con la imbnicci6n de push.SP= O) entonces (EM'IT +l) Comprobar si la pila e s t á vacla F w L +o --. SP cambia a 112111. Una vez que se lee este dato. N o estan previstas curnpmbaciom del limite de la pila. SP se utiliza para ejecutar inszrniceiones pugh o pop en datos que se guardan o se recuperan en la pila. m 0 Unidad ceríaal de pmcesamiento DR +MISU SP+SP . P C se utiiiza durante la frise de bfisqueda para leer una instrucci6n. 4. L palabra de la duecci6n O wibe el Último dato en la pila. Se rediza la implantacidn de una pila en la CPU al asignar una parte de memoria A una operacibn de pila y al usar un registro de pracesador como un apuntador de pila. La figura 8-4 muestra parte de una memoria de computadora dividida en tres segmentos: p r e gramas. El contadas de programa PC apunta a la dirección de la siguiente instruccibn en el programa. Después. el cual es el valor inicial de SP. AR se utiliza en la fase de ejetución para leer un operando. ejecuta una iizstrucci6n cuando L L W = 1 a una pap.264. por lo que se activa V&JQ en 1 . El apuntador de pila SP apunta a la parte superior de la pila. El registro de diremi611AR apunta a un arreglo de datos. N6tese que si una instrucci6n pop lee e l dato de la localidad Q g después $P p e decrementa. el valor inicial de SP es 4001 y la pila crece con Ls direcciones decrecientes. el segundo se almacena en la direccibn 3999.0. y l a úitima direcicibn que puede usarse para la pila es 3000. - da h i kb ALA -- ~iperior de l a piIa se . Los tres registros estan conectados a un canal de direcciones c o m h y cualquiera puede proporcionar una direccibn para la memorla. SP se decrementa y alcanza el ~alm. cuando VACIO = 1.lee en DR. datos y pila. Como se muestra en la figura 84.pila está vacía. se demementa e l a p i a d o 1 de &. Esta condición se> alcanza si el dato que se ley6 estaba en la pasici6n 1. el primer dato a b c e m d o en l a pila esti en h d k c i b n 4000. Por lo tanto.1 L&r dato de la parte superior de h pila DecremenQr el apuntador de pila Si'(. 4 cual es el equivalente . como se presenta en la figura 8-3 o puede implantarse %en una memoria de acceso aleatorio conectada a una CPU. Consideramos que el dato en la pila se comhica con el registro de datos DR. N6tese tambi&n que se p4ucirA una opaci6n errónea s i se.Si su valar alcanza 0.al decimal 63. de la manera siguiente: .

SECCI~N 88 Orgdmci&r de una pila 265 Dirección Unidad de memoria Figtira 8 . 4 Memoria de computadora con sqpentas de programa. Una operad611 de escritura en la memoria inserta la palabra de DR dentro de la parte suprior de 1$ pila. Se recupera un nuevo dato can u n a instrucción push. Ei apuntador de pila se decrwnenta para que apunte en la direcci6n de la siguiente palabra. datm y pila. de la manera siguiente: .

En la figura 8-4 la pila crece al decmmentar la direccibn de memoria. Los lhites de la pila pueden c*omprobarse al usar dos registros de procesador: uno que contenga el lfmite suprior (m este caso 3000) y el otro que contenga el limite inferior (en a t e caso 4001). Las dos rnicxd~peracionesnecesarias para las operaciones push o pop son: 1) un a c c e ~ l a memoria a travgs de SP y 2) k actualizacibn de SP. La pila puede construirse para crecer al incrementar la direcci6n de memoria como en la. En tal caso.f i w a 8-3. Depende de la orgarhción de la pila determinar cuA1 de las das operaciones se realiza primero y s i se actualiza SP incmentando o decrementando. Consideremos ia siguiente expresión arih& tica simple.266 m OCHO Unidad central de prow%miento Iúnites de Ia pila El dato superior se lee de la pila a DR. Un quntad~x de pila se carga con un valor inicial. Este valor inicial debe ser h. E l apuntador de piIa se incrementa despub para apunbr al siguiente data en la pila. para evaluar esta expresihn aritmética es necesario calcular el producto A * B. almacenar este p d u c t o mientras se calcula C * D y despuk sumar los dos productos. donde cada operador escrito e s K entre los operandos. Notácidti polaca inversa Una srga&aci& de pila es muy ekienk para evaluar expresiones aritméticas. Las expresiones aritmdticas comunes se escriben en nofación i n t m fija. En lo sucesivo SP se incremmta o se decrementa en forma automAtica con cada operacan de push o pop. Puede construirse una pila para que SP apunte ti la siguiente posicihn vacfa arriba de la parte superior de la pila. Muchas mmputadoxas no tienen hardware para verificar e l sobreflujo de la püa @la lierra) o sobreflujo inverso {pila vacia). La ventaja de una pila de memoria es que la CPU puede hacer referencia a ella sin tener que especificar una direccián.dirección inferior de una pila asignada en la memoria.El signo de más est4 entre los dos producFos. D q u & de una operaci6n de push. El método matemdtico común de escribir expresiones aritmbtias i m pone dificultades cuando las evaMa una computadora. En este ejemplo apmiamas que para evaluar expresiones aritmdticas en notacihn interna fija es necesario a n a b r la expresión en todas sus partes para determinar d l operaci6n ser4 la siguiente en ejecutarse. El asterisco (que significa multiplicaci6n) está colacado entre dos operandos A y B o C y D. se incrementa SP para la aperacidn de push y 8e deuemwiki para la operacibn de pop. En este caso. porque la M 6 n siempre estA disponible y se actualiza en forma autamatica en el apuntador de pila. debe intercambiarse la secuencia de microoperaciones. se compara SP con eI +tro de lfnvte superior y después de una operacidn pop SP se compara con el registro deli lfmite inferior. .

A B y sustituhus A. Cantinde analizando la expresibn y repita el procedimiento para cada operador encontrado hasta que no haya m8s operadotes. La expresi6n se escribe en n o t a c a polaca invem como H evalda como sigue: rastrear la expresidn de izquierda a derecha. La nofaci6n postm'urfija. B y * por el prcducto para &tener y * dende (A * B) es una cantidad dnim' que s e bbtiene del producto. Quite los dos operandw y el operador y wstittiyah por e l número que se obtiene de1 resultado de l a operaci6n.SFKCI~N 83 &gank%dón de una püa 267 E l matemdtico polaco Lukasiewicz mostró que las expresiones aritmb ticas pueden r e p m t a r s e en notaciótr frjn previa.previos son C y D. Los siguientes ejempIos mueshan las tws 'épmtaciones: +B AE + A +A& Notacin interna fija Notaci6n polaca o previa fija Notacidn polaca inversa o posterior fija La notacidn polaca inversa es una forma adecuada para la manipulacidn de la pila. Esta mp=ta&n. denominada notaci6n polaca inversn (ñPN) colma el operador después de los operandos. Cuando w encuentra un operador.e encuentran en d lado izquierdo dd operador. Esta jerarquía dicta que primero ej&utemos todas las operaciones aritm& ticas dmtio. Para la expresi6n anterior encontramos el operador * después de A y B.de los padntesis internos. La conversicin de nobcidn interna fija a notaci6n poiaca inversa debe considerar la jerarquia operacional adoptada para la notacibn interna fija. después las de los paréntesis externos . con RRN frecuencia denominada notaci6n polacnI coloca el operador antes de los operanda.por lo que ejecutamos C * D y obtenemos una instnicci6n con dos operandos y un opekdor: * H siguiente -radar com~wdn ri RPN es + y los dos operandos que S& van a sumar san los dos p r o d w I asi que mimamas las dm cantidades para obtener el mltado. E l sfguiente operador es m y sus d& operado. ejecute Ia aperaci6n con los dos operandos que . Ejecutamos la 0peraeiSai.

E n una calculadora. Evaluacibn de las expresiones aritméticas La notacibn polaca inversa. combinada con un arreglo de pila de registros. La expresión convertida es: dentro de paténtesis (A + B) y (23 + E). L a pila es particularmente útil para manejar problemas grandes y complejos que repre-tan cadenas de c4lcuIos. Este procedimiento se emplea en algunas caIculadoras electrdnicas y tambih en algunas computadoras. Se basa en el hecho de que cualquier expresibn aritmética puede expresarse en notaci6n polaca sin paréntesis. Consideremos la expresidn: h r a evaluar la expresión primero debemos ejecutar las operaciones aritm& ticas expresi6n dentro de los padntesis cuadrados. En es& punto nos queda: donde (A + B) y (D . Después debemos calcular la Al proceder de izquierda a derecha primero sumamos A y 3.t El son cada uno un nijunero úniw que se obtiene de la suma. La multiplicaci6n de C * (D + E ) debe realizarse antes de la suma de porque la multiplicacibn tiene precedencia sobre la suma. El inicio de una operación depende de si tenemos una calculadora o una computadora. Estos dos números se multiplican y ei producto se suma a F . es la m e r a más eficiente que se conoce para evaluar expresiones aritmdticas. Los dos operandos para el siguiente * son C y I D + E). El * final produce la multiplicaci6n de los dos &minos. En una computadora deben iniciarw m e d i a n t e instrucciones que contengan un campo de o p e r a 6 (no se necesita campo de dirección). Las siguientes micf~operacie nes se e j m h con l a pila cuando se introduce una operacibn en una calculadora o se emite mediante el controI en una computadora: 1) los dos omrandos supeciom de la pila se utilizan para la operación.. La expresión puede convertirse a notacien polaca inversa sin usar paréntesis. La iiltima operad611es la multiplicacibn de los t h i n o s entre paréntesis y paréntesis cuadrados. y 2) se lee el . después sumamos D y E. se introducen Los operadores mediante el teclado. al considerar la jerarquía de operaciones. I . to consiste en convertir primero la expresidn aritmética E l pra su notación polaca inversa equivalente.268 cAPfnno -O Unidad central de procesamiento y que realicemos las operaciones de multiplicaci6n y división antes de las operaciones de suma y resta. Los operandm se escriben (push) dentro de la pila en el arden en el cual aparecen.

Por l o tanto. Al analizar la expresi6n de izquierda a derecha encontramos dos operandos. se waliia la expresibn en el orden apropiado y el resultado final permanece en Ia parte superior de l a pila. *. Las computadoras que utilizan una CPU organizada con pila proporcionan un programa del sistema para ejecutar la conversi6n para el usuario. La dltima operación produce una suma aritmktica de los dos números superiores en la pila para obtener e l resultado final de 42. convierten todas las expresiones aritméticas a notación polaca de todas maneras. operm'ones de pila Ahora consideremos las operaciones de b pila que se muestran en la figura 8-5. se escr1h el número 3 dentro de la pila.rr w p w n (3 * 4) aP4 & + (5 * 6) En notacidn polaca mversa. Las calculadoras cientificas que emplean una pila interna requieren que el usuario convierta las expresiones aritméticas a notacibn polaca inversa. Rimero. reemp-do los dos operandos ori@Ies. Al escribir los operandos dentro de la p las operaciones como se definid. por lo que ellos se escriben dentro de la pila. Despues se l e e la pila y el producto se coloca en la parte superior. Figura 8-5 Operacienes de piia para evaiuar 3 4 + 5 * 5.@p) de la pils y el resultado de la operacidn sustituye el operando i l a continuamente y ejecutar inferior. el siguiente shholo es eI operador de multiplicaci6n Esto provoca una multiplicaci6n de los dos datos superiores'en la pila. sin considerar la organizacidn de su CPU. porque este es el mktodo mBs eficiente para traducir expresiones aritmbticas a instrucciones de lenguaje de máquina. Cada caja representa una aperaci6n de la piia y las flechas siempre sefialan a la parte superior. EI siguiente ejemplo nurndrice puede clarificar este procedimiento. despds el número 4. en esencia. En wguida encontramos los dos operandos 5 y 6. Considere la expfesibn aritmdtica . La mayoria de los compiladores. ta operación de la piia que resulta del siguiente sustituye estos dos números por su producto.m & M ~xganizacih de una pila 269 dato . * . w expresa como -mi.

U n caknpo de direcci6n que represeata una direcci6n de mmoria o un registro de procésador. Los campos más comunes que se encuentran en los formatos de instrucciones son: l. una computadora tendrA varios formatos de c6digos de'instrucciones. Normalmente el formato de una instrucci6n se muestra en una caja rectangular que simboliza los bits de la instruccidn conforme aparecen en la palabra de memoria o en un registro de control. especificaii su formato en c6digo binario y proporcionan una definición precisa de cada instrucci6n.Una funci6n de la unidad de control dentro de la CPU es interpretar cada c6digo de instrucción y proporcionar las funciones de control necesarias para procesar la in~trucci6n. Un campo de modo que especifica la manera en que se determina el operando o la dirección efectiva.270 C - OMO Unidad centi:al de prowsamienb una CW organizada con pila puedie ser m8s eficiente en algunas apliracionm :que una CPU sin pila. como sumar. Los bits que definen el campo de modo de una instrucci6n especifican diversas alternativas para escoger las operandos de la direcci6n dada. 3. Los bits de la instruccibn se dividen en grupos llamados campos. incluyendo los registros de procesador disponibles y sus posibilidades 16gicas. complementar y corrimiento. TambiGn listan todas las instrnicciones que se implantan con hardware. 8-4 FomaOos de las instnicciones Normalmente las estructuras flsica y 16gica de la computadora se describen en los manuales de referencia que se proporcionan con e l sistema. Tales manuales explican la construcci6n interna de I a CPU. Por lo general. Lus diferentes modos de direccionamiento que se han formulado para las computadoras digitales se presentan en la secci6n 8-5. El campo de c6digo de operacibn de una instruccibn es uii grupo de bits que define varias operaciones de pracesadar. h s operaciones especificadas mediante instrucciones de computadora se ejecutan sobre algunos datos almacenados en b memoria o en registros de procesador. por ejemplo un campo que proporciona el nhmero de corrimientos en una instnicci6n de tipo corrimiento. En esta sección. Un campo de código de operacibn que especifica la operaci6n que se va a ejecutar. Las operandos que residen en I a memoria se especifican . Las operacionec mas comunes dispoi-iibles en instrucciones de computadora se listah y analizan en la secci6n M. 2 . restar. En wasiones se emplean otros campos especiaIes bajo ciertas circunstancias. presentamos el campo de dirección de un formato de instruccihn y consideramos el efecto de incIuir múltiples campos de direcci6n en una instrucción.

U n a $imccidn de registro es un n b a a binnrio de k bits que define uno de 2k registros en la CPU. ta mayoría de las computadoras caen en uno de tres tipos de arganizaci6n de. Organizacibn de acumulador i'mlco. Las computaddras con miilriples registros de procesador utikan la instrucción de mover con un nemhico MOV para reprecentar una instnicci6n de trangferencia. la instnicci6n . Por lo tanto. L a instrucci6n ADD en este caso da como resultado la operacibn AC AC + M[XJ. Por ejemplo. Por 10 tanto. Los operandos que residen en un registro de procesador se especihcan con una direcci6n de registro. Un ejemplo de una organizaci6n de tipo acumulador es ¡a computadora básica presentada wi e l capitulo 5.Por lo W o . 2 Organización de registro general.CPU: l . La cantidad de campos de dirección en la Vistnieci6n puede reducirse & tres a dos si el registro destino es igual a uno de los registros fuente. la iristmcci6n que especifica una suma arihdtica se define mediante una iiistrucción del lenguaje ensamhlador como ADD X + donde X es la direcci6n del operando. B3 pera representar la operación R1 + IC2 + R3. Todas las instrucciones se ejecutan con un registro de acumulador relacionado. Las computadoras pueden tener instrucciones de diferentes tamaiios que contengan una cantidad variable de direcciones. R 2 . El formato de instrucci6n en este tipo de computadora utiliza un campo de direccibn. Por b tanto. una C m con 16 registros de procesador del RO a1 R15 WdrA un campo de direcEi6n de r e g i s t r o de 4 bits.SECCI~N M Fomtos de las instniccionec di-& de +sFro mediante sus direcciones de memaria. Un ejemplo de un tipo de organizací6n de registro general se presentd en la figura 7-1. El formato de instrucci6n en -te tipo de computadora necesih tres campos de direcci6n de registro. representad el registro R5. Por ejemplo. La cantidad de campos de direcciones en el formato de instrucCi6n de una computadora depende de i a organizacibn interna de sus registros. la instrucci6n para una suma aritmktica puede es~ribime en lenguaje ensamblador como RDD Rlr. e l nhero binario 010'1. Organizacihn de pila. AC es el registro acumulador y WXJrepresenta la palabra de memoria que se localiza en la dirección X. la instnicci6n ADD RltfB2 repxesentarh h operacibn R1 + Rl + R2. 3. Sólo necesitan especificarse las &&dones de registro para R1 y R2 en ata iÍishucci6n.

uno de los males es un registro acumulador. Entonces. Cada campo de direcd6n puede especificar un registro de procesador o una palabra de memoria. Como consecuencia.ts instrucciones de tipo operaei6n no necesitan un campo de dirección en las computadoras organizadas con pilas. las instrucciones que transfieren datos entre los siete registros . La instrucci6n BDD en una computadora con pila consta de un solo c6digo de operacibn sin campo de direccibn.R1. al igual que las instrucciones de carga y almacenamiento. PUSH X escribir4 la palabra de la direcci6n X a la parte superior de la pila. La CMJ organizada /con pila se precentó en la figura 8-4 Las computadora~ con organizacidn de pila envían instrucciones PUSH y POP las cuales requeririan un campo de d k d d n . Todas las instrucciones aritmi5ticac y ldgicas.del procesador tienen un formato que contiene dos campos de direccibn de registros. las instrucciones de tipo de transferencia neceitan dos rampas de direcci6n para especificar la fuente y el destino. e l procesador tiene algunas de las caracteristicas de un tipo de registro general y algunas de las de un tipo acumulador. computadoras combinan caracteristicas de más de una estructura oanizacional. e l psocesador intel 8QW tiene un apuntador de pila e . dependiendo de la computadora en particular). por lo que estas instrucciones sólo tienen un campo de direccidn. Esto se debe a que h operación se ejecuta sobre los dos datos que están en la parte superior de l a pila. los suma y escribe (push) la suma dentro de la pila.-utilizan el registro acumulador. No es necesario especificar operandos con un campo de direcci6n porque es implícito que d o s están en la pila. Por ejemplo. Además. Las computadoras de tipo de registro general emplean dos o tres campos de dirección en su formato de instrucciones.. Algunac. Posee dos campos de d i m i & . uno para el registro R1 y el otro para la dhxci6n de memoria X. Por l o tanto l a instrucci6n .M [ a . Esta operacibn lee (pop) los dos números superiores de la pila. LA mayoría de las computadoras caen en uno de estos tres tipos de organizacibn que se acaban de describir. L. Una btnireiún representada mediante especificaría la aperaci6n R1 + R1 4.RZ "pmenta Ia transferencia R1+ R2 {o E 2t . El apuntador de piia se actualiza en foma antomAtica. Por otra parte. el micraprocesador Intel 8080 tiene sfete registros de CPU.272 CMfTUW OCHO Unidad mtral de procesamiento nov RL.

Lns formatos de instnxcciones en la computadora C y k están W d o s a trec c a m p de 6 n de registro o a d a campos de d i d h de m g k o y a un campo de -6n de memoria. E i programa para evaluar X = (A -i-l?) * {C 23) es como sigue: + . C y D y e l multado deben almacenarse en h memoria en h difeceión X. Para dar una ejemplo de la influencia de la cantidad de direcciones sobre los programas >decomputadora. MOV para la operacibn de tipo transferencia.instniccionq push y pop desde una pila de memoria. En d a s . La ventaja del forrnato de tres direcciones es que produce a la brevedad programas cuando wdJa expmiones aritm6tiCas. AQD RlirAIB ADD EUL RZ. las cual= son caracterkticas de una CPU ownizada con pila.uno. E l símbolo WA]representa el operando en la dirección de memoria que se simboliza mediante A. y LDAD y STORE para transferencias hacia y desde la memoria y e1 registro AC. L a desventaja B que las instrucciones de cddigo binario q u k p e n demasiados biks para especificar t m direcciones. evaluaremos el siguiente enunciado aritmético utibdo m . B] * {C + D). bmbién cada campo de dirección puede specificar un registro de pwcesador o qna palabra de memoria. el pn>sesador no @ne iq@ruccionesde tipo de direccionamiento cero. Cf D 82 X r RZir R2*-H[C] + H[D] M[X] +RS*R2 RI+H[A] + M[B] Se considera que la-computadora tiene dos registros de pmesador. R1 y R2. z. En *+da. SUB MUL y DIV para las cuatro operaciones aritméticas. dos a tres instrucciones de direccionamiento. S i embargo. Inshcdonea de dos díreccionqs Las instruccioties de dos direcciones zsonlas d s comunes en las computadoraa comerciales. Un ejempb de uaa computadora comercial que utrliza instrucciones de tres direcciones es la C+t 170.eia de registros de cada instrucción. Consideraremos que las operandos es las direcciones de n i e m r í a A. s e muestra el programa en lenguaje ensamblador que evalúa X = (A i. Emplearemos los slmbalcs ADD. instrucciones de tres direcciones Las computadoras con formato de instrucci6n de tres. B. junto con comentarios que explican la operaci5n de transferen.direcciones pueden utilizar cada campo de direcci6n para especificar un registro de procesador o un operando de memoria.

D R2r82 XrRb MDL MOV Rl+RL+M[B] R2+M[C] R Z e R 2 + M[D] RI+Bl*R2 H[XJ+RIi La instnrccibn MOV mueve o transfiere e l operando hacia y desde la memoria y 10s registros del procesador. hshcciones de una direcci6n tas instnicciones de una direcci6si utilizan un registro acumulador (AC) irnpiícito para toda la mmipuhci6n de datos. Instnicciones de cem direcciones Una computadora organizada con pila no utiliza un campo de direcci6n para las instrucciones ADD y MUL.BB)* (C + D)es todas las LORD ADD STORB EOAD R AC+B[A] RCtA[C] B T C . + HIB] M[T]+AC AC+H[CJ ADD MUL STORE de memoria. El siguiente programa muestra d m o se 4 i r 6 X = (A B) * (C D)para una computadora organizada con pila. las instrucciones PUSH y POP necesitan un campo de direeci6n para especificar e l operando que comunica con la pila. Sin embargo. en =te ejemplo no l o tomaremw en cuenta y consideramos que AC contiene el resultado de El programa para waiuar X = (A i.C RI+M[A] R2. Sin embarga.) + + PUSP PUSH a C r o s t ~ TOS+B TOSt(A P~SH B ADD + B) TOStC . E l primer símbolo listado en una instruce transfiere e1 resultado de la ci6n se considera fuente y destino. A RlrB R2. D T X RCg-AC + H[D] AOtAC*M[T] M[X]bAC Todas las operaciones se realizan entre e l registro AC y un operando T es la diwc86n de una localidad de memoria temporal necesaria para almacenar el resultado intermedio.274 KHO Unidad central de pracesamiento MOV ADD HOV ADD RI. Para la multiplicacibn y división se necesita un segundo registro. adonde s operación. (TOS significa la parte superior de la pila.

El modo de direccionamiento especifica una regla para interpretar o modificar el campo de dwcci6n de la . e instnieciones de tipo computaciond que poseen tres direcciones donde d a s especifican registros de procesador. La manera en que eligen los operandos durante la ejecución del programa depende del modo de direccionamiento de la instrucción. Un programa para una CPU tipo RE€ consta de instrucciones LOAD y STORE que tienen una memoria y una direcci6n de registro.Todas las otras instrucciones se ejecutan dentm de los registros de la CPU s i n transferir* a la memoria. es necesario convertir la expresi6n a motaci6n polaca inversa. E s t a operacl6n debe realizarse mbfe algunos datos almacenados en registcos de computadora o en palabras de memoria.TOS+D T O S + ( C 4-D ) TOSt(C+D)*(R+B) POP X H[XJ +TOS Para evaluar expresiones a r i t d i c a s en una computadora con pila. PUSH ADD MUL Instrucciones RI SC Las ventajas de una arquitectiira de computadora con conjunto de instrucciones reducido (RISC) se explica en la secci5n 8 8 . E 1 nombre "dkecci6n cero" se da a este t i p de computadora por la ausencia de un campo de direccibn en las instrucciones computacwdes. El conjunto de instnicciones de un procesador RlSC tipico está limitado a w las instrucciones cargar y almacenar c u d o hay comunicaci6n entre la memoria y la CPU. E31 campo de operaci6n de una instruccidn especifica 4 opexaci6n que se va a ejecutar. LOAD LOAD LOAD LOAD ADD ADD ñUL ' R1i +I[A] RZ+H[B] R3 +N [ C ] R4+H[D] STOBE R l + R l i + R2 R3 +B3 + A 4 R1i +R$* R3 N[XJ +RIi Las instrucciones de carga transfieren los operandos de la memoria a registras de la CPU. El resultado de los c6lculos se guarda despuks en la memoria con una inshucci6n de almacenar. El siguiente es un programa para evaluar X = (A i B) * (C + D). Las operaciones de sumar y muItiplícar se ejecutan con datos en los registros sin acceder a la memoria.

se combinan dos o m8s modos de direccionamiento en una insbruccibn. PC coagene la direeoi6n de la siguiente instrucción que s e va a ejecutar y se incrementa cada vez que se recupera una instrucción de la memoria. Otras computadoras utilizan un c6digo binario único que representa la operaci6n y el modo de la instrucción. Las computadora~utilizan técnicas de modo de direccionamiento para acomodar una o las das siguientes consideraciones: 1. El c6diga de operaci6n la operadón que se va a ejecutar. como se hace con e l caigo de op"aci6n. El campo de modo se utiliza para ubicm los +randas necesarios para la operarihn.276 0 Unidad ~entra1 de p m m i e n t o instrucci6n anta de que se haga la refehcia real al operando. in&aci6n de datos y reubicación de programas. Ejecutar la insmicción. Para comprender 10s diferentes modos de direecionamiento que se presentarh en esta sección. Puede haber o no un campo *dedireccionamiento en la instrucción. que lleva un registro de las instrucciones del programa almacenado en la memo&. En algunas computadoras el modo de direccionamiento de la instnicci6n se especifica con un código biario diitititd. puede representar una di~eccibnde memoria o un tegistm de próeesadot. Reducir la cantidad de bits en el campo de direccionamiento de la iastnicci6n. contadores para control de ciclo. el modo de dinxcionamiento de h instnicci6n y la posici6n de los operandos. 2. 3. Si hay uno. ta unidad de control de una computadora estd M a d a para recorrer un ciclo de instrucciones que se divide en t r e s faprincipales: 1 . La disponibilidad de los modos de dlreccionamiento proporciona al programador con experiencia en lenguaje ammbiador la flexibiiidad para escribir programas mas eficientes en relacibrr con la cantidad de instrucciones ye l tiempo de ejecu~i6n. es imperativo e n h d e r el ciclo de operaci6n bAsh de la computadora. Pueden definirse instrucciones con &&so$ madd de direccionarniento y. Un ejemplo de un € b m t o de hshuccibn con un campo de modo de direccionamiento distinto se muestra en la figura 84. 2. como se . en ocasiones. Además. contaáor de programa IPC) ampo de modo Hay un registro en la computadora llamado contador de programa o PC. La decodificacibn realizada en el paso 2 determina la qxraci6n que se va a ejecutar. Después la computadora ejecuta la instniccihn y regresa al paso 1 para hacer l a búsqueda de l a siguiente instrucción en secuencia. Búsqueda de i a instrucci6n de la memoria. Proporcionar al usuario versatilidad de programacidn al ofrecer facilidades como apuntadores a memoria. Decodificar la instrueci6n.

Se seieccioni el registro particular de un campo de registro en la insfrkcidn. la inctrueci6n puede tener mAs de un campo de d i d b n . el programador debe asegurarse . Un campo de operando contiene el operando real que se va a usar jmto con la operacibn especificada en la insttucci6n. Aunque la mayorfa de las m & de d i d n a m i e n t o modifican e1 campo de dimccihn de la instrucción. Modo implícito: En este modo se especifican los qperandos en forma implícita en la definicibn de la inst'nicci6n.. Cuando el campo de direcci6n especifica un registro de prccesador se dice que la instnicción estii en modo de registro. Un campo k bik puede especificar cualquiera de 2k registros. al registro seleccionada contiene la d i ci6n del operando en lugar del operando mismo. Ahtes de utilizar una instrucción de modo indirecto par registro. la instrucción "complementaracumulador"es una instmcci6n de modo implícito porque e l operando en el registro dk acumulador est5 impliako en la definicibn de la instrucci&n. Modo dé registro: En este modo. una instrucci6n de modo inmediato tiene un campo de operando. Se mencionb antes que el campo de direcci6n de una instrucci6n puede especifkar una palabra de memoria o un registro de pmesador.SECU~NM Modos de direEcionarniento 277 analiz6 en l a seccibn anterior. En tras palabras. Modo indiregto por registro: En este modo la instrucción especifica un registro en' la CPU cuyo contenido proporciona la direccidn del operando en la memoria. Modo Direaibn I w n campo de modo. Son los modm hnplfcito e inmediato. Modo inmediato: En este modo se especifica el operando en la instrucción misma: En otras palabras.D e hecho todas las instrucciones de referencia a registro que utilizan un acumulador son instrucciones de modo implícito. Por ejemplo. Las instrucciones de modo inmediato son ' Útiles para inicializar registMs en un valor constante. en lugar de un campo de d i r d 6 n . los operandos están en registros que residen dentro de la CPU. Figura 3 4 Formato de instru~iones Las instrucciones de direccidn cero en una computadora organizada con pila son hstrucciones de modo implícito parque esth implícito que los operandas estdn en la parte supetior de la pila. hay dos modos que no necesitan el campo de dirección. y cada campo de direccibn puede estar asociado con su propio modo de direccionamieno particular.

Entonces uría referencia al registro es equivalente a especificar una d h x i 6 n de memoria. excepto en que e l registro se ipcremenb o decremenka despu& (o antes) de que su valor se utilice para a-r la memoria. Es Ia direccidn en que e l control se transfiere en respuesta a una instmccidn de tipo brinco. .ede +direecibnpara accesar la memoria una vez m As con e l fin &-&le leer la dimci6n efedtlva. pero en ocasiones es sbla una direccidn desde la cual se calcula la di~ecci6ndel operando.part. La dimi6n efectiva es la direccibn del operando en una inshuccidn de tipo cornputacional. es necesario incrementar o decremenfar el registro despuks de cada acceso a la tabla. Modo de direccionamiento indirecto: En =te modo. algupas computadoras incorporan un modo especial que incremenb o d e crementa en forma automática el contenido del registro después de cada acceso de datos. fijado mediante el modo de difeccionamiento proporcionado. ' . Para poder diferenciar los distintos modos de direccionamiento es necesario distinguir entre la parte de dirección de la inctmcci6n y la dirección ef-ctiva utilizada por e l rontxol cuando ejecutit la instruccidn. direccibn efedivu Modo de autoincremento o autodecremento: Este es similar al modo de registro indirecto. Esi una instrucci6n de tipo brinco el campo de dirección especifica la d h i 6 n de transferencia de control del programa real. Cuando la direccibn almacenada en el registro hace referencia a una tabla de datos en la memoria.i de moda de xegistm indimdo es que e1 campo de direccibn de la iristrumi6n utiltza menos bits para seleccionar un registro de los que necesitaría para especificar una diremi611de. El m& de direccionarniento indirecto también se explica e n la d n 5-1 junto con la figura 5-2. el campo de direccibn de la inskucci6n proporciona la dimtibn en que se almacena la direcci6n fectiva en la memoria. La unidad de control en la CPU utiliza el campo de direccibn para obtener e l operando de la memoria. Esto puede lograrse al usar la instruccibn de incrementar o decrementar. memoria en forma directa. Ya hemos defiriido dos modos de direccionamienta en el capíhiio 5. como este es un requisito común. En ocasiones el valor que se proporciona en e l campo de direccibn es la direccibn del operando. La ventaja de una instaicci6.278 -0 Unidad central de pmesamiento de que la dimcihn de memoria del' operado está colacada en e1 registro del prmesador con u n a instru& previa. Se resumen aquí para que sirvan de referencia. La direecibn ejectiva s e define como la &mi611de memoria obtenida del dlculo. El control recupera la instrucci6n de la memoria y tiliza su. Modo de direcdonamiento directo: En este modo la d i m i b n efectiva es igual a la parte de direcci6n de la instnicci6n. Sin embargo. E i operando reside en memoria y su d i i c i 6 n la proporciona en forma directa el campo de direccibn de i a instrucción.

N6tese que si una instrucci6n de tipo índice no incluye un campo de direcci6n en su formato. la instrucci6n se convierte al modo de operaci6n de indirecto por registro. La distancia entre la direcci6n inicial y la dimci6n del operando es el valor del índice h a c e n a d o en el registro de indice. La inctniccibn en Ia posici6n 825 se lee de la memoria durante la fase de reniperacilin y el contador de programa se incrementa en uno a 826. este modo el contenido de un registro fndicese suma a la parte de d h x i 6 n de l a instruccibn para obtener la diici6n efectiva. . Cada opando del arreglo &e almacena en la memoria m relaci6n con la direcci6n inicial. Esto es 24 posiciones de memoria adelante de la dirección de la siguiente hhucci6n. En cualquier caso tenemos un modo de dimcimamiento diferente que se utiliaa para una aplicación distinta. Cuando se suma este número al contenido del contador de prugrama. Modo de di~eccionamiento relativo: En este modo el contenido del cantador de programa se suma a la parte de dirección de la instruccibn para obtener la direccián efectiva. El registro índice es un registro de CPU especial que contiene un vaBr índice.el contenido de [registro de CPU E l registro de CPU utilizado en el cdcuio puede ser el contador de programa.En estos modos la direccidn efectiva se obtiene del cdlculo siguiente d k c i 6 n efectiva = parte de direccidn de la instrucci6n -t. el resultado produce u n a direccibn efectiva cuya posición en la memoria es &tiva a la dirección de la siguiente uistmcción. Un campo de direcci6n de h instnicci6n define la dirección inicial del arreglo de datos en la memoria.Unos cuantos modos de diicionamiento requieren que el campo de dimcci6n de 1a instmcci6n se sume al contenido de un registro especifico en la CPU. Con frecuencia se utrliza el direccionamiento relativo con instrucciones de tipo brinco. El registro índice puede i n m mentar= para facilitar el acceso a operandos consecutivos. consideremos que e l contador de programa contiene el número y que i a parte de direcci6n de la instruccibn conkiene el número 24. Esto da como resultado un campo de direcci6n más pequefio en el formato de la instnicción porque la dirección relativa puede especificarse con una cantidad de bits menor en comparacibn con la cantidad de bits que se necesitan para r e p m t a r la direccih de memoria completa. E 1 ciilculo de dreccibn efectiva para el modo de direecidn relativa es 826 + 24 = 850. cuando la direccidn del brinco está en el Brea que m i e a la palabra de la instrucci6n misma.Cualquier aperando en el arreglo puede accesarse con la misma instruccidn siempre y cuando el registro Modo de direccionamienfo indexado: En indice contenga el valor de índice correcto. ta parte de direcci6n de la instruccibn por lo general es un número con signo (en representacibn de complemento a 2) el cual puede ser positivo o negativo. un registro de índice o un registro base. Para hacer más claro con un ejemplo.

Modo de didonamiento de xegistro base: En este modo. e l contenido de un registiro base se suma a la parte de direcci6n de la instnicci6n para obtener la dirección efectiva. En el modo inmediato Ejemplo numénce Para mostrar las diferencias entre los diferenv modos. L2t diferencia entre los dos modos está en la manera que se usan mAs que en la manera en que se calculan. h inshmi6n de dios paiabras m la d k i 6 n 200 y 201 es una iilstmccih "cargara AC" con un campo de diPecci6rr igual a 500. y la segunda palabra especifica la parte de la dirección. excepto en que e l registro se denomina ahora registro base. En las computadora~con muchos registros de procesador.inctrucci6n especifica e l código de operacibn y modo. veremos e l ejemplo de los modos de direccionamiento sobre Ias instrucciones que se definen en la figura 87. jd J . Se considera que un ~registmíndice contiene un n~mero de índice que se relaciona con la parte de d W 6 n de h insf-nicd6n. Se considera que un registro base contiene una dkcú6n base y que el campo de direccibn de la instrucción proporciona un desplazamiento en relacibn con esta direcci6n base. en I q p r de registro de indice. El cantenido del registro de procesador R1 es m. Esto es similat' al modo de direccionamiento indexado. Cuando se mueven datm y programas de un segmento: de memoria a atra. PC tiene e l valor 200 para . En d modo de direccionamiento directo la direccidn efectiva es la parte de la direccidn 508 de h instniecih y el operando que se va a cargar dentro de AC es 800. cualquiera de los registros de la CBU pueden contener el número de Endice. Con un registro base los p e valores. En tal caso. La primera palabra de la .280 m OMP Unidad mtrd de procesamiento Algunas c~rmputad~ras dedican m r e g i s t r o de CPU para que funcione exclusivamente como m registro indice. D e rnanera hplicita este registro participa cuando se utiIiza una inshcci6d de modo índice. Para cada modo posible calculamos la direcei6n efectiva y el operand o que debe cargarse dentro de AC. como se requiere en los sistemas de multiprogramacibn. y el contenido de un registro hdice XR es 100. AC recibe e I operando despu4s de que se ejecuta h instnicci6n.direccionamiento de registro base se utiliza m las computadoras para facilitar la locaikaci6n de las. m recuperar esta instcucclbn. e l registro debe estar especificado en forma explícita en un campo de registro dentro del formato de instruca6n. programas en memoria.de desplazamiento de h s instrucciones no tienen que cambiar. los valores de d i i b n de b s instrucciones deben reflejar esle cambio de posición. El campo de modo de la instruccibn puede especificar uno de varios modos. S610 e l valor del registro base requiere una a c ~ ~ c i para 6 n reflejar e l comienzo ¿e un nuevo qmenta de memoria. E 1 modo de . La figura lista unas cuantas direcciones pertinentes y muestra el contenido de la memotia en cada una de ellas.

Por lo tanto. + + . E l operando que se carga en AC es. igual al contenido de R1 y el operando cargado en AC es 7ílO. la direcci6n efectiva es 8 0 y el operando es 300. --hkrirn Memoria Figura 8-7 Ejemplo nurn6ricq para modas de diceccionamiento.de autodecremento decrementa R1 a 399 antes de la ejecuci6n de la instrucci6n. ahora W . La tabla 8-4 lista los valores de la direccihn efectiva y el operando cargado en AC para los nueve d o s de direccionamienta. @ n este caso no hay una dimi611 efediva. (N6tese que e l valor eri PC. la direccibn efectiva es 500 202 702 y el operando es 325. (En este caso la direcci6n efectiva es 201.) En e l modo indirecto de registro la dirqci6n efectiva es 400.) el modo indirecto se almacena la direcci6n efectiva de la memoria en la direcci6n 500. En e l modo de registro el operando está en R1 y se carga 400 dentro de AC. E l modo . la segunda palabra de la instrucción se toma como el operando m á s que como direccih por lo que se carga 500 dentro de AC. En el modo relativo.) En el modo de índice la dirección efectiva es XR + 500 = 100 + 500 = 600 y el operando es 900. despds de la fase de recuperaci6n y durante la fase de ejecución es 202. excepto en que R1 se incrementa a 401 despu& de la ejecuci6n de b instnicciñn.* 6 SEWI~N C L T Modos de di-ionamiento 281 u. El modo de autoincremento es igual que el modlo indirecto de registro.

Las operaciones reales disponibles en el conjunto de instnicci* nes no.son muy &rentec de una computadora a otra. aun para la misma instruccidn. El canjunto de operaciones básicas dispnibles en una computadora tipita = e1 objeto que se cubre eri esta semi613y la siguiienk. Instrucciones de control de programa.y de corrimiento. Instrucciones de manipulaciBn de datos. E l conjunto de instrucciones de una computadora particdar d e t e d a . Las instrucciones de control de programa proporcionan posibilidades de toma de decisiones y cambian la trayectoria que toma un programa cuando se ejecuta en Ia computadora. ta mayor parte de instrucciones de computadora pueden clasificarse en tres categorhs: 1 . si no es que todas las computadaras incluyen en su repertorio de instmccionq. 3. aun para la misma operaci6n. Las instrucciones de transferencia de datos producen una transferencia de datos de una localidad a otra sin cambiar el contenida de la informaci6n binaria. fio que sucede es que las asignaciones de d i g o binario y e l campo de d i g o de la operaci6n son diferenb en diversas computadaras. No obstante.282 W OQIO Unidad--al de p~wesamienbo TABLA &4 Lirta tabular de un ejempIo numhrico Modo de direccionamiento Direccionamiento directo DirecciSn efectiva 500 201 Contenido de AC Operando inmediato Dimciommiento indirecto Direccionamiento relativo Direccionamiento indexado Registro Indirecto por registro Autoincrcmento Autodmento 800 702 000 - 1400 400 399 8-6 Transferencia y manipulacibn de los datos confunto de operaciones hdsfcas Las computadoras proporcionan un amplio conjunto de instrucciones para dar al usuario Ia flexibilidad de realizar diferentes tareas cornputacionales. 2. Tambih puede suceder que el nombre shwlico asignado a instrucciones en la notaci6n de lenguaje ensamblador sea diferente en varias computadoras. Las instrucciones de manipulaci6n de datas son las que realizan operaciones arihn&ticas. hay un conjunto básico de operaciones que gran parte. El conjunto de instrucciones de diferentes computadoras varía de una a otra sobre todo en la manera en que los operandos se determinan de las campos de direcciones.lbgicas . Instrucciones de transferencia de dms.

WH I N OUT PUIMi. bebe recordarse que las instrucciones que se listan en Ia tabla 8-5.s de d a m entre registros de C??U y la.LD ST MOV InkrmmbLr Entrada . entre registros de+ pr<rcesadar y etibda a . Tambi4n s e ha usado para transfere0cia.Lainshccí611exchadge iintercaltibiar) cambia la informaci6n entre dos registros o un registro y una palabra de memoria.ioria. con frecuencia están asociada's C o n diversos modós de direccionamiento.a+qipbi Sai1L.las aperacim de transferencia de regisws y controla las decisiones disponblw para el usuario. ". La tabla 8-5 proporciona una lista de ocho instrucciones de transferencia de datos que se u&n en muchas computadoras. clda. L a instrucción load (cargar) se ha usada principalmente para designar una transferencia de memoria a un registro de pragramaci61-1.5 Xns&uccionesde transhncia & datós tipica Cargar Alrnamr kilovet . el nemónico para m . . que en Ias tabhs sipuientes en esta seccibn. -:r l.instruccidn storg (alnrncennr) representa una transfev c i a de un registrp de p m o r a 1%m. del p~ocesador y memoria. Algunas nomias del lenguaje ensaniblador modifican 14símbolo nembnico para diferenciar entre los diversos modos de direccionamiento.&wderenciade los datas Zlag instruccione*de transferencia de datos mueven datos de un lugar en la computadora a olm:~iTi sambiir e l contenids de IPS datos. TABLA 8. Por ejempla. Las hj "struc$"es input (intruducir) y output [sacar) transfieren datos entre registros del prwesadqr y tepinales de entrada o saiida. Las transferencias más comunes son enhe registros. Las instrucciones push (empfir) y pop (snlfar) transfiere0 datos entm registros del procesador y una pila de memor'ia. La instrucci6n mov (rnuver) se ha usado en las ca~putadorascon -istrw rnGltiples de CPU para designar una transferencia de un a otro. La. al igual . . I@ruccbnes de . piemoria o entre dos palabras de memoria. Debe recoda* que dihrentes computadoras usan nem6nicos distintw para el mismo hombre de instrucción. A cada instruccibn le acompaña un nembnFm.a~ Ciilida POP .salida y entre loa mismos registros del procesadoic. por lo general un acumulador.

A su vez e l modo de autodecremento utilizaría un signo de menos. R1 es un registro de procesador. R1. ADR r e p m t a una direccibn. Para poder escribir programas del lenguaje ensambladar para una computadora es necesario conocer el tipo de instrucciones disponibles y tambibn e s t a e s t a r familiarizado con Ios modos de direccionamiento utilizados en la computadora particular. Instnicciones de manipulación de los datos L a s instrucciones de manipulación de datos ejecutan operaciones sobre los datos y proporcionan las posibilidades computacionales para la computad* . El carácter B simboliza una ditwei6n indirecta.2@ m ~ M O Unidad central de procesamiento TABLA &ú Ocho modos de direccionamientop r a la inhducción cargar Convencirin en Modo ensambladar Transfmncia de registros AC + - Dimcionamicnto di=& Lo ADR Direccionamiento indirecto LD @ADR Direccionamiento rehtivo LD SADR Operando inmediato LD #N= Diretcionnmiento indexado LD ADRW) IM[dDR] AC +- M[M[ADm AC +M[PC AC 4 NBR A C A M[ADR + ADR] + +1 Registro Indirecto por registro Aytoincirmento LD R1 LD (Rl) LD [R\)+ XR] A C . Como ejemplo. Por ejemplo. El modo de registro se simboliza al proporcionar el nombre de un registro de procesador.M[RI]. En el modo indirecto por registro. consideremos la instrucci6n cargar d ammulador cuando se usa con ocho modos de diteccionamiento d i f e m ~ . Una instrucci6n de modo indexado se reconoce por un registro que se coloca entre paréntesis despuCs de la dirección simb6lica.M[R1] AC c. E 1 caracter $ antes de una dirección hace el direccionamiento relativo al contador de programa PC. Otras normas del lenguaje ensamblador utilizan un carácter especial para asignar el m d o de direccionarniento.R1 /'" cargar de inmediato se convierte en LDI. el nombre del regisffo que contiene la dimcci6n de memoria se encierra entre paréntesis. y AC es el registro acumulador. El modo de autoinaemeito s e distingue del modo indirecto por regictro al colocar un signo de mas después del registro entre padntesis. NBR es un ndmero u operando. La tabla 8-6 muestra la convenci6n recomendada del lenguaje ensarnblador y la transferencia real que se logra en cada caso. En cualquier casa. e l modo inmediato se reconoce por un signo # colocado antes del operando.R1 AC *. b importante es entender que cada histnicci6n puede ocurrir con diversos modos de direccionamiento. El carhcter # precede al operando en una instruccibn de modo inmediato. X es un registro de índice.

La mayoría de las computadoras proporcionan instrucciones para las cuatro operaciones. instrucciones aritmeticas 2 inskmcciones 16gkas y de manipulaci6n de bits. Instrucciones aritmdticas las cuatro operaciones aritméticas básicas son suma. . Si embargo. En la tabla 8-7 se proporciona una lista de las instrucciones aritm4ticas tipicas. Algunas computadoras pequeñas dlo tienen las instrucciones suma y.de una ALU y un cirt~to de corrimiento como se muestra en la figura 8-2. resta. Las instruaiones & M p .SECQ~N 8 4 Tradxencia y manipulación 285 ra. También deben traerse los operandos a los registros del piocesadar. a instmcciona de corrimiento Una lista de instrucciones de manipukaei6n de datos M parecera mhrho a la lista de micrmperaciones que se proporcionó en el capituIo 4. La instnieci6n de incrementar suma 1 al valor almacenado en un TABLA 8-7 Imttwiones arilméticas tipicas Nembnico lncremcntar Pmmentar Sirmar . L a s ctrátro operaciones ariticas basicas son suficiente^ para formular salucionss a problemas científicos cuando se expresan en términos de mCtodos de análisis numbrico.deacuerdo con las reglas del morir>de direccionamiento de i&tnicci6n. INC DEC ADD ResHr M~ilti~Iicar Dividir Sirmar con acarreo R c s ~ ron r ~rbtarno N e r (complemento a 2) SUB mv MUL ADDC SUBB MEG .recordarse que cuando se ejecuta tal instrucdbn. & c i S n de datos en una computadora tipica se dividen por l o general en tres tipos bdsicw l . la computadora d e k recorfer la fase de remperaci6n para leer su valor de código binario de la memoria. debe. resta. tal vez. E l 6 1 h o paso e s ejecutar la instnrccibn m el procesador. multiplicación y división. Este último paso s e implanta mediante microoperaciane. según se explic6 en el capitulo 4 o por medio. Algunas de las instrucciones aritméticas necesitan circuitos especiales para su impIantaci6n. La multiplicaci6n y ¡a divisi6n deben generarse mediante subrutinas del software.

instnrcciones Ihgicas y de manipulación de bits Las instrucciones ldgicas ejecutan operaciones binarias sobre series de bits almacenadas en registros. datos binarios o derimales. cuando se ejecutan en regishos de pr~esador. Algunas computadoras proporcionan operaciones de hardware de doble precisi611.es que un número binacio que contiene &lo digiba 1. produce un ndmero con sólo digitm 1 cuando se decrementa. invirtiendo en forma efectiva el signo de un enkm cuando se representa en forma de complemento a 2 con signo. Mediante una aplicación adecuada de las .286 MFílWB m 0 Unidad central de prriwsamieniw registro o palabra de memoria. ae incluyen en la definicidn del código de operación. Los diferentes tipos de datos se presentaron en el capítulo 3. punto flotante y arihktica decimal se desarrollan en el capitulo 10. Un flip-flop especial de acarreo se utiliza para almacenar el acarreo de una operaci6n. multiplicar y d h i d i pueden estar dispadbles para diferentes tipos de datos.en las d e s el tamaño de cada operando es de dos palabras de memoria. produce un resultado de 9610 agitas O cuando se incrementa. restar. En seguida. La instruecidn para decrementar resta 1 de un valor ah4cenado en un registro o palabra de memoria. se muestran los nemdnicos para tres instrucciones de suma que especifican tipos de datos diferentes. La cantidad de bits en cualquier -tro es de extensi6n finita y. Un niimero con &lo díatos 0. ia instrucción "sumar con acarreo" realiza la s u m a de dos operandos más el valor del acarreo dd c2ilculo previo. Una caracteristica comiin de las operaciones de incremenhr. por lo tanto. la inshueci6n "restar con prktamo" resta dos palabras y un préstamo que puede haberse producido de una operación de resta previa. datos de preciaibn h i c a o de doble precisi6n. los resulhdw de las operaciones aritrn6ticas son de precisibn finita. ADD 1 ADDF ADDD Sumar dos niimeros enteros de punto flotante Sumar dos números de punto flotante Sumar dos n b e r o s decimales en BCD Los algoritmos para operaciones con enteros. Una instruccibn aritrnbtica puede especificar datos de punto fijo o flotante. iipo ds d a h Las hstrucciones sumar. L a s instrucciones lógicas consideran en forma separada cada bit del operando y b tratan como una variable booleana. 'los tipos de datos que se considera que están en los registros dei p m d o r durante h ejecuci6n de estas operaciones aritméticas. No es extraño encontrar computadoras con tres o más instrucciones de suma: una para enteros binariost una para operandm de punto flotante y una para operandas decimales. La instntccibn negar forma el complementa a 2 de un numero. Son útiles para manipular biis individuales o un grupo de bits que represente información en c6digo binario. La mayoría de Ias computadoras pequeñas proporcionan instrucciones especiales para facilitar la arihngtiea de doble precisi6n. De igual manera.

Aunque realizan operacbonm hleanas. La instnicci6n 0 R se u tiliza para activar un bit o un grupo seleccionado de bits de un operando. Existen tres operaciones de manipulacibn de bits posibles: un bit seleccionado puede borrarse a 0. La instrucci6n AND se utiliza para borrar un bit o un grupo seleccionado de bits de un operando. Para cualquier variable booleana x. Par lo tanto. Algunas instrucciones I6gicag y de manipulación de bits típicas s e Ustan en la tabla M . porque enmascara o inserta O en una parte seleccionada de un operando. activarbe en 1. las relaciones xbO = O y xbl = x dictan . las relaciones x + 1 = 1 y x + O = x dictan queana variable binaría a la que se le aplica 0 R con un 1 produce un 1. la instnieci6n AND puede utilizarse para b~rrar bits de un operando en forma selectiva al aplicar AND ai operando con o h operando que tiene O en las posiciones de bit que deben borrarse. Por l o tanto. la htnidón O R puede utikarse para ackiva~ TABLA ü-ü h t n i c E i w 16giaii y de manipdaci6nde bits tipicas desactivar bits sebccionados activar los bits' seleccio~ados Bomr Complementar Aplicar la funci6n AND Apliar la furici6n OR Aplicar la funci6n. OR y XOR producen las operaciones 16gicas correspondientes sobre los bits individuales de las operandos. es posible cambiar los vabres de bits. Las instrucciones AND. La instruccibn AND t'ambign se llama máscara.OR exclusiva Desactivar a Acti~.- CLR C O M AND OR XOR CLRC SETC COMC Compkmentar a c a m Habiliwr intemi@&n IXd~ñG~itar i n e i 6 n E 1 DI . o puede compJementarse.que una variable binaria a la que se le haya aplicado un AND con un O produce un O . La instrueribn de borrar hace que e l operando especificado se sustituya con 0. Para cualquier variable booleana x.m a . pero la variable no cambia de valor cuando se le aplica un AND con un 1 .instrucciones Igicas. La instrucci6n complementar produce el complemento a 1 al invertir todos los bits del operando. Por lo general. deben considerarse que las instmccianes ejecutan operacb~es de manipulaci6n de bits cudndo se usan en instrucciones de computadora. emplear un grupo de bits o insertar nuevos vahres de bib m los operandos almacenados en registros o palabras de memoria. se aplican las tres instrucciones 16gicas para hacer &lo esa. p e w la variable no cambia cuando se le aplica OR eon un O.

u Q 0: = x. pero no cambia en vdlof cuando se le aplica XOR con un O. El corrimiento lbgico inserta un O al de la posici6n final de bit. Instrucciones de corrimiento Las instrucciones para recorrer e l contenido de un operando son muy ames y se ~fkecertcon frecuencia en diversas variaciones. E 1 bit de signo se desplaza a la TABLA 8-9 L i s W o n e s de coerimiento tipicas Nombre Nembnico Corrimiento a la derecha lbgico SHR Corrirnieritoa la izquierda lbgico SHL Corrimiento a la derecha aritmktico SHRA Corrimiento a la izquierda ariim&tico SHLA Rotar'a la derecha ROR Rbtar a l a izquierda ROL Rotar a la defecha mediante acarrea RORC Rotar a la izquierda mediante acarreo ROLC . Las instrucciones de arrimiento pueden especificar conirnientos 16gicos. t o s corrimientos son operaciones en las cuales l o s bits de una palabra se recorren a la izquierda o derecha. Estas reglas se proporcionan en la d 6 n 4-6. L . el corrimiento puede ser a la derecha o a la izquierda. a c t i v m a complementarse eon las instruccioneis aprbpiadas. al aplicar OR con otro operando con dígitcw 1 en las p d o n w de bits que deben activarse: m 1. 1319 la tabla 8-8 se induym algunas otras-'~~l~trucciones de manipulaciijn de bits. btmccibn XOR se ut. . La tabla 8-9 lista cuatro tipos de instrucciones de corrimiento.Bto se debe a Ia relaci6n hiena x @ 1 = x' y .iliza para complementar bits de un operando en f a m a &&va. Otro ejemplo es un fip-ílop que controla la opción de inkrrupci6n y se habilita o deshaMita mediante instrüccioríes . loe c o ~ e n aritméticos b se apegan a h s reglas para los ntimeros de complemento a 2 can signo. La instrucci6n aritm6tica de corrimiento a Ia derecha debe preservar el bit de signo en la posicih al extremo izquierdo. a posicidn final es el bit al extremo izquierdo para el corrimiento a la derecha y el bit al eximmo derecho para el coirimiento a la izquierda. la. El bit que sé recorre al extremo de la palabra determina el tipo de corrimiento que utiliza. Por lo general. De igual forma. En la k c i b n 4 5 se muestran ejemplos numbrims de las tres operaciones lógicas. En -lquier caso. m a variable binaria se complementa mando se le aplica XOR cbn un 1 .completar los bits s e ~ m d o i biis de un operanrto en f o m dwtiva. Los M Y s individual@ [como los de un acarreo) pueden borrarse. Por b tanto.de manipulación de bits. aritmdticos u operaciones de tipo rotatorio.

1 corrimientOs. toda en una sola instrucci6n.dec6digo de operación. Los bit6 recorridos en un extremo de la palabra no se pierden en un desplazamiento ldgiao. Por esta r&n muchas computadoras no proporcionan una instrucción distinta de corrimiento aBtm&tico a la izquierda cuando ya está di&pom%ie la inchccibn de coxrimiento lb@eo a la izquierda. Las instrucciones-de rotacibn producen un carrimiento circular.bit de acarreo trata al bit de acarreo como una extensidn del registro cuya palabra se está mtando. Cuando se procesan en la CPU.recorre todo el registro a Ia izquierda. Esta es una operación de combnhfo a la derecha en la que el bit final permanece igual. un tipo de instrucci6n de contra1 de programa. 8-7 Control del.programa Las instrucciones siempre se almacenan en localidades de memoria sucesivas.computadoras tienen un formato de carapo múltiple para las instrucciones de corrimiento. La instmcci6n de corrimiento aritmgtico a l a izquierda inserta O en l a posici6n final y es idéntica a la instrucción I6gica de corrimiento a la izquierda. pero e l bit de signo no cambia. una instnicci6n de rotaci6n a la izquierda a Bav6s del acarreo transfiere e1 bit de acarreo a la posicidn de bit a la extrema derecha del registro. la direccibn y la cantidad de corrimientos. pero se hacen circular hasta d otro extremo. Un formato de código de instruccibn posible de una instnicdbn de desplazamiento puede incluir cinco campos de la manera siguiente: nP REG TYPE RL COUNT Aquí OP es e l campo . Con tal formato es posible especificar el tipo de corrimiento. Un campo contiene el código de operaci6n y los otros especifican e l tipo de corrimiento y la cantidad de veces que se va a recorrer un operando. . el control retorna al ciclo de recuperaci6n con d contador de programa que contiene la dirección de la siguiente instrucción de m e n c i a . Después de Ia ejecucibn de una instrucci6n de transferencia de datos o de manipulacibn de datos. el contador de programa se incrementa para que contenga la direcci6n de la siguiente instnicci6n en secuencia. al mismo tiempo. Por l o tanto. Cada vez que se recupera una instruccibn de la memoria. Algunas. LR es un campo de 1 bit que especifica un corrimiento a la denecha o a la izquierda y COUNT es un campo de k bits que especifica hasta 2k . Por otra parte. 'l"YPE es un campo de 2 bits que espeeifiea las cuatro diferentes tipos de corrimientos. REG es una direccidn de W t r o que especifica la posici6n del operando.c ~ mw ó Conkol ~ del programa 289 derecha junto con el resto dd número. transfiere la posici6n de la extrema izqukrda al acarreo y. La inslnicci6n de mtaci6n a través .del . las instrucciones se recuperan de localidades de memoria consecutivas y se ejecutan.

S i no se cumple la condici6n.290 C m0 Unidad ~ e n t t ade i procesamiento cuando se ejecuta.a ejecutar. TABLA 8-10 Znshucciones de control de programa tipicas Transferir Saltar omitir BR JMP SKP CALL Retornar RET Comparar (mediante resta) Probar (al aplicar la funci6n AND) TST Llamar . puede cambiar e1 valor de la ditemi511en el contador del progra~na y prov~ar que se altere el flujo de control. E l cambio en el valor del contador del . k t siguiente instnteci6n provendrai de la 1ocaIidad ADR. las instrucciones de contra1 de pmgraha ~pecifican condiciones para alterar eI contenido del contador de programa. Como d contador de programa contiene la dirección de la instrumidn que se va . La instnicci6n de transferencia condicional especifica una condición. tal como un brinco si es positivo o brinco si es cero. el contador de programa se e q a con la direeei6n de brinco y se toma la siguiente h s W i de e& dhxi6n. ias uistrucciones de transferencia del corrtrol y brincar pueden ser condicionales o incondicionales. En otras palabras. Una instnicci6n de transferencia incondicional produce un brinco a la clkccici6n especificada sin ninguna mndicibn. prograrria como resultado de la ejeucibn de una instruccibn de control de programa provoca m "ruptura"en la sezilentia de ejecuci6n de instrucciones. Por lo general. mientrae que las instrucciones de transferencia y manipdaci6n de datos especifican condiciones para operacioneS de procesamiento de datos. siguiente localidad en secuencia. el contador de programa no d i a y la siguiente instnicci6n se torna de la . pero en ocasiones se utilizan para denotar modw de dmcianamiento diferentes.. Cuando se ejecuta provoca una trmsferencia del valor de ADR m el contador de programa. donde ADR es un nombre simb6lico para la dirección. Esta es una caracte~isticaimportante en las computadoras digitales. Las instrucciones de transferir el coním1 y brincar se usan en forma intercambiable y representan I o misma. porque proporciona un coritmol sobre el flujo de ejecueibn de un programa y h pmibitidad de transferir él control a diferentm segmentos de1 programa. h transferencia del control es una instrucci6n de una direcci6n. S i se cumple la condicidn. Está escrita en lenguaje emmblador como BR ADR. Algunas ~struccioriias de control de programa típicas se listan en la tabla 8-10.

'. Su daempefío e imphntaci6n se analizan m6s adelante en esta secci6n. E I bit S (signo) se activa en 1 si el bit de orden m á s allo F. es 1. un par de instrucciones de brinco y transferench del control provocan un brinco si no se cumple la condicih. En otras palabras. El bit Z (cero)se activa en 1 si la salida de la ALU contiene dio ceroe. una indicacibn de cero y una condición de sobreflujo. pero no se conserva el resultado de la operaci6n. Se desactiva a O s i el acarreo es O. L2ia instrucciones de comparar y probar no cambian la secuencia del programa en forma directa. Z X3I bit C (acarreo) se activa en 1 si d acarreo final C. se desactiva en O si el bit es O. Las instrucciones de llamada y regreso se utilizan junto con subrutinas. Primero se anabrA la generacidn de estoa bits de estado y después mmtramos cbmo se utilizan en instrucciones de brinco condicional. e~ 1. además de lo que se incrementa durante la fase de recuperación. 3. Bits de condiciones de estado En ocasiones es conveniente complementar el circuito de la ALU en la CPU con un registro de estado en que puedan almacenarse los bits de condiciones de estado para un anelisis posterior. Una instnrcci6n de brinco condicional brincara la siguiente instrucción si se cumple una condici6n. se activan ciertos bits de condiciones de estado como resultado de la operacibn. Los bits de estado de interks son el bit de acarreo. Si la condicibn no se cumple. donde el programador inserta una instnicci6n de brinco incondicional. S i n embargo. Una instrucción de comparar ejecuta una resta entre dos operandos. Esto se logra al incrementar el contador de programa durante la fase de ejecucibn. el bit de signo. Están listadas en la tabla 8-10 par su aplicaci6n al estable cer condiciones para instrucciones de brinco condicional subsecuentes. Por lo t a n t o . mientras una sola instnicci6n de brinco condicional produce una transferencia si se cumple la condicidn. S. Los cuatro bits de estado se representan mediante C. Se desactiva a O de cualquier otra manera. De igual manera i a instrucci6n de probar ejecuta el AND Ibgico de dos operandos y actualiza ciertos bit5 de estado sin mantener el resu1tado ni cambiar los operandos. el control avanza a la siguiente instmccihn en secuencia. La figura 8-8 muestra eI diagrama de bloque de una ALU de 8 bits con un registro de estado de 4 bits. 2. Z y V.La instnrcci6n de brinco no necesita un campo de direcci6n y por l o tanto es una b t r u c c i h de direccibn cero. 4. Lus bits de estado tambi6n se llaman b i t s de d i g o de condicidn a bits de bandera.Zns bits se activan o dsactivan como resultado de una operacidn ejecutada en la ALU. El bit V (sabreflujo) se activa en 1 si la O R exclusiva de los dtimos dos acarreos es igual a 1 y de cualquier otra manera se desactiva a . Z = 1 si la salida es cero y Z = O si la d i d a es d i t e de cero.

V = 1 d la. Esto se debe a que x @ x = O. lo cual activa e3 bit 2. donde x es e l bit que se va a comprobar-. sea A = 101x1100.ron signo. Esta es la condición para un sobrefiujo cuando los números negativos están . Puede gemrdrse la. S i 2 = O.1.enmmplements a . S i R activa el bft P despues de h suma de dos números. indica que A = B. pero ei xx' =. F7-F0 11 A h r n p r o h r una salida O 11 . y la OR exclusiva de dos operandos iguales proporciona icn resultado de 5610 nilimeros 0. O. se desactiva el bit 2 pue$ el resultada es diferente de cero.'8 Ir c 7 ALU de 8 bits cg 1i AL F.enO o 1 al m a m a r todos los bits excepto el bit en cuestión y después d c a r el bit de estado 2. e~ aetiva el bit de estado 2 .1'8 I I . '8 lr Salida F Figuta m Bits de registro de estado. salida e s mayor que 127 o menor que 228. La operaci'bn AND de A con B = OUOlOOOO @uce un resultado OOOxMH10. optaci6n AND con la ~ ~ c c i 6TEST 1 i que se lista en l a tabla 8 1 0 .la sección 33). indica una m d i c i n de sobreflujo. Por ejemplo. S i Z se activa después de una operaci6n OR exclusiva. Para la AUI de 8 bik.si debe mantenerse el corthido onginsI de A. - + heden verificarse los bits de estado despues de una operación ALU para determinar *ciertas mlaciones que existen entre lm valores de A y B.2 (véaw . . Puede verificarse un bit dnico en A para determinar s i está .

acarreo y BNC es brincar cuando no hay acarreo. el control continúa con la instnicci6n que sigue.1 ri **L dw = m rrk BZ BNZ BC BNC BP BM BV BNV Brincar si hay cero Brincar si nb hay -o Brincar si hay acarreb bimt si~nomhay acarreo B-sihayundgnomh Brincara hay irn signo menos Brincar si hay sobdujo . El bit de acarreo se utiliza para comprobar si hay un acarreo de la posici6n de bit más significativa de la ALU. Si no.iones para comparar con signo (A Eriqcñr si es. e s mayor o igual . salto) y una abreviatura del nombre de la coqdici6n. programa mas comunes. se inserta la letra N (no) para definir el estado 0. E l bit de estado cero se utiliza para probar si el resultado de una operaci6r en la ALU es igual a cero o no. interrumpe. También se wa junto con las instrucciones de rotaci6n para verificar el bit más significativo recorrido de un registro dentro de la posici6n de TABLA 8-31 Instrucciones de tmnsfereneia de mn&iI.B) A>B A 2 3 BLE BE BNE brincar si es menor que U'rincars i es menor O igual Brincar s i es igual Brincarsi es Bifbmfe ' A<B A I B A=B A f B .~ndicional -7 -m-' Nemónico eondicihde tmnsfqncia Condición probada 2 . S i la condicihn planteada es cierta.= & N 8 7 CmtRi1 del programa 293 instrucciones de brinco condicional La tabla 8-11 proporciona tfna lista de las iIptrucciones de transferencia del control del. se transfiere el cmtrol del programa a l a dirección especificada por la instrucci6n.mayor que Brincar M. Las instrucciones condicionais pueden a a ~ ~ i a r s tambidn e con las instrucciones del tipo de control de programa brincar. llamar o retornar. Cuando se usa e l estado de condici6n opuesta. Por lo tanto BC es brincar en el. Cada nem6nico estA formulado con la letra B (por branch. Brincarsi no hay sobrduio Z=O C= 1 C=O S=O S=1 V= 1 V=O Condiciones para comparar sin signo (A B) BHI Brincar si es mayor A> B BHE Brincar si es mayor o igual A 2 B BLO Brincar si' es'menor A<B BLOE Brincñr si es menor o igual A S B BE Biincar si es igual A=B BNE Brincarsi e sdifhte A+B - BGT BGE BLT Condic.

El ranga de números con signo esU entre + 127 y .B. La resta de d a nSimeros es igual. Nbtese que utilizamos las palabras d s alta y miis baja para denotar las relaciones entre nCimeros sin s i p y mayor y menor que para números con signo. ta resta en decimal es 240 . digamos sl . S = O repmenta un sipo positivo y S = 1 un signo negativo. El resultado de l a operaci6n no se transfiere a un registro destino.E l número sin signo más grande que puede acomodarse en 8 bits es 255. Sin embargo. ta magnitud relativa que se muestra bajo la columna de condición probada. Como se dijo antes. Lsis condiciones especificas que se van a probar dependen de si los dos nilmeros A y B se van a considerar con signo o sin signo. Por l o tanto. este no es el caso porque cada uno debe considerarse en forma separada. la ALU toma e l complemento a 2 de B y lo suma a A. Sean A = 1 1 1 1 O O O O y B = 00010100.13. C = 1 porque hay un acarreo de I a última etapa. La tabla 8-11 proporciona una lista de tales ins:mcciones de transferencia condicional. Las instrucciones que producirsn una transferencia de control despubs de esta comparación . $amo se muestra en l a figura 8-8. como se explica en el siguiente ejemplo n d r i c ~ .ejemplo num6tieo acarreo. E l bit de sobreflujo se u t h junto con operaciones aritmbticas realizadas sobre números en rep-ntacibn de complemento a 2 con signo. parece igual para los números con signo y s i n signo.128. Para ejecutar A . debe recordarse que estas dos instrucciones de brinco condicional pueden utilizarse para verificar el valor del bit mbs significativo ya sea que rep-te un signo o no. Entonces 240 > 20. V = O porque Im últimos dos acarreos son iguales a 1 y Z = O porque el resultado es diferente de O. La hstruccibn de comparar actualiza el bit de estado según se muestra. Ia instrucción de comparar ejecuta una resta de dos operandos. S = 1 porque el bit a la extrema izquierda ea 1. ya sea que no tengan signo o estén en 'epresentaci6n de complemento a 2 con signo (véase el capitulo 3). el equivalente decimal de A es 240 y el de B es 2 0 . pero se afectan los bits de estado.20 = 220. El registro de estado proporciona información acerca de la magnitud relativa de A y B. Consideremos una ALU de 8 bits. Sin embarga. en la tabla. un brinco sobre más comprueba un bit de signo en O y un brinco sobre menos comprueba un bit de signo en 1. Estas dos relaciones tambih pueden derivarse de que el bit de estado C es igual a 1 y el bit Z es igual a O. tenemos que A > B y A f B. Por l o tanto. Algunas computadoras proporcionan instrucciones de transferencia del control del programa condicionales que pueden aplicarse exactamente después de la ejecución de una instniccidn de comparar. el resultado bmrio 11O111OO S el equivalente del decimal 220. El bit de signo refleja d estado del bit más significativo de la salida de la ALU. Si consideramos números sin signo.

saltar a subrutina. BLE @rimar s i es menor o igual) y BNE (brincar si es diferente'}. un procesados que considera al bit C como un préstamo despuk de una resta. Despu& de que se ha ejecutado h subrutina. Debe notarse que las instrucciones BNE y BNZ (brincar si no es cero) son identicas. Esto se debe a que e l signo de A es negativo y 11110000 es e1 complemento a 2 de @M10000. se hace un brinco de retorno al programa principal. comphentar8 eI bit C después de sumar el complemento a 2 del sustraendo y denotar que este bit es un préstamo. e1 cual e a el equivalente decimal de + 1 6 . + Llamada y retorno de subrutina Una subrutina es una secuencia completa de instrucciones que ejecuta una cierta tarea eomputacional. Si consideramos números con sighq el equivalente de A es -16. Como (-16) < (+20) terkmos que A B y A # B. Los mis comunes son llamar subnifina. V = O (no hay sobreflujo) y Z = O (no hay cero). Una instrucci6n de llamado a subnitina consta de un d i g o de operaci6n junto con una dimibn que especifica el comienzo de la subrutina. 295 BH6 (brincar si es mayor o igual) y BNE (brincar s i es diferente}. Algunas computadoras consideran el bit C como un bit de préstamo después de una operaci6n de resta A . Durante la ejecucibn de un programa puede solicitarse que una subrutina ejecute su funcb5n muchas veces en diferentes puntos de1 mismo programa. Con este ejemplo. ia resta en decimal es (-16) . pero debe prestarse un bit de la siguiente posicibn m á s significativa si A < B.(+20) = -36. Las instrucciones que provocardn una transfereircia de control después de esta comparacibn son: BLT (brincar si es menor que).SEMWa7 Control del programa son I3Hí (brincar s i es mayor). La instrucci6n que transfiere e l control del programa a una subrutina se conoce con nombres diferentes.B. al tomar el complemento a 2 de B. De igual manera. Cada vez que se solicita una subrutina. No ocurre un préstamo s iA 2 B. La magnitud relativa de dos nrimeros con signo puede determinarse de los valores de S. se ejecuta un brinco o transferencia de control al comienzo de i a subrutina para comenzar a ejecutar su conjunto de instmcciones. Se ejecuta la . El resultado binario 11011100 (el complemento a números de 8010010Q). Estas dos relaciones tambien pueden derivarse de que los bits de estado S = 1 (negativo).E l equivalente decimal de 3 es 20. L a candici6n para un préstamo es el complemento del acarreo que se obtiene cuando se realiza la resta. Cada una estA repetida tres veces en la tabla 8-11 para hacerla mas cbra y completa. V y Z (véase d problema 8-27). Por esta razún. tramfenr a submtina o tran$erir y guardar direccián. es el equivalente del decimal -36. Ias dos instrucciones BE (brincar si igual) y BZ (brincar si es cero) también son idénticas. resulta obvio que Ia magnitud relativa de dos núme ros sin signo puede determina= (despubs de una instrucci6n comparar) de los valore de bits de estado C y Z (vkase el problema 8-26).

las direcciones de retorno secuencides pueden salvarse ¿&m de la pira. Algunas k almacenan en la primera posici6n de memoria de subrutina. la nueva direccidn de retorno s e salva dentro de la pila.296 C A F0 ~ Unidad central de procesamiento jnstrucei6n al reaiizar dos operaciones: 1) s e almacena la direccibn de la siguiente instrucci6n disponible en el contador de programa (la dirección de retorno en una posicibn temporai. y así sucesivamente. El programador no tiene que preocuparse o recordar d6nde sa dmacen6 i a direccibn de rctorno. algunas mas en un registro de procesador y otras en una pila de memoria. Diversas computadoras utilizan una posici6n temporal diferente para almacenar la direcci6n de retorno.h y el contenido de su parte superior se transfiere al contador de programa. transfiere la direccibn de. La última instrucci6n de cada subrutina. destruye l a .retorno de la posici6n temporal dentro del contador de programa.para la dimcidn de retorno es que cuando se solicitan subrutinas sucesivas. La ventaja de utilizar una pila. Esto da como resultado usa transferencia del control del programa a la instrucci6n cuya direca6n se almacenaba originalmente en la pmici6n temporal. De esta manera. Una subrutina remrsim es una subrutina que s e solicita a sí misma. otras en una posicidn fija en la memoria. Una llamada de subrutina se implanta con ias siguientes microoperaciones: Decrementar apuntador de pila Salvar el contenido de PC sobre la pila Transferir contrw>1 a subnitina Si se solicita otra subrutina mediante la actual. La instrucción que hace retornar de la dltima subrutina se realiza mediante las microoperaciones: PC t M I S P ] SP +SP + >1 Recuperar la pila y transferir a incrementar apuntador de pila PC A¡ utilizar una pila de subrutina. Ia circuiteria almacena en forma autodtica todas hs direcciones de retorno en una unidad. Si 9610 se utiliza un registro o localidad de memoria para almacenar la dición de retorno y la subrutina recumiva se solicita a s i misma. E1 retorno de la instrucción de subrutina lee (pop) la pi. por lo general liamada ret~rno de la subrutina. La manera mis eficiente es almacenar la direcci6n de retorno en una pila de memoria. para que la subrutina sepa a d6nde retomar y 2) se transfiere el contcol al comienzo de l a subrutina. el torno es siempre al programa que solicitd la última vez una subrutina.

Normalmenter inrIuye los bits de estado de la última operacibn de la ALU y especiEica las interrupciones que han permitido ucurran y si l a CPU está operando en . excepto por tres diferencias: 1) por l o general la interrupción se inicia mediante una sefial externa o interna más que por la ejecuci6n de una instrucción (excepto para una intempci6n de programa. Esto no es deseable porque s e destruye XOCmaci6n vital. p a i i i k de estado & programa E i conjunto de todas las condiciones de bit de estado en la CPU se denomina en ocasiones una palaha die estado de p r o p m o PSW (PVogram sfafus m d ) . El control retorna aI programa original después de que se ejecuta el programa de servicio.E 1 contenido de1 contador del programa. como se explica m A s adelante). y 3) un procedimiento de intempci6n por 10 general almacena toda la itúormaci6n necesaria pasa definir el estado de h CPU en lugar de sólo almacenar e l contador de programa. Cuando se utiliza una pila.regi&os del procesador. & @ S de que se ha interrumpido un. I11 prodimiento de interrupcibn es. El estado de la CPü al final del ciclo de ejecucih (cwndo se reconme la intermpcibn) está determinado por: ' 1 . Este problema puede resolverse s i se emplean diferentes localidades de almacenamiento para cada utilizadhn de subnitina mientras otra utilización de nivel más ligero estd activa todavía. muy similar a una solicitud de subrutina.de ciertas condiciones de estado. El c o n W u . 3.programa y se ha ejecutado la mtina de servicia. Esto resuelve eI problema de la subrutina reamiva porque Ja siguiente subrutina que sale es siempre la utima subrutina que se wlicit6.a PSW se almacena en un registro de hardware separado y contiene la informaci6n de estado que caracteriza a b CPU.SBCCION 87 Control del programa 297 b c i 6 n de . Interrupción> d d programa El concepto de interrupeibn de programa se utiliza para manqar diverproblemas que surgen de la secuencia de programa narmaL La internipcibn de p m g r m se refiere a l a transferencia del control de programa de un programa que com en cierto momento a otro programa de servicio. la CPW retorna al mismo estado exada que tenia cuando ocumb la intempcián. El contenido de todos 1 .retorno anterior. S6io de esta manera el progrma interrumpido podrh reanudar exactamente como si nada hubiera ocurrido. 2) Is d k c i 6 n dd programa de servicio de interrupcibn la determina la c i r c u i k í a y no el campa de dirección de una instrucci6n. cada ckcci6n de retorno puede saIvarse dentro de la pila sin destruir ningún valor previo. como resultado de una soücitud generada en forma externa o interna. en principio. Estos tres conceptos de p m d i miento se detallan en seguida. 2. T.

el control va a un ciclo de interrupción de hardware. la interrupcidn de hardware proporciona su propia dirección. Algunas computadoras &lo almacenan el contador de programa cuando responden a una intempci6n. La mayoh de las computadoras d i o almaeI contador de programa y la FSW. Algunas computadoras asignan una localidad de memoria para cada intempcibn posible. Justo anbes de pasar a la siguiente fase de recuperacidn. cuando e l programa cambia del modo usuario al supervisor (o viceversa) en respuesta a una intempcibn. no es necesario almacenar el contenido de los registros de procesador porque cada modo utiliza su propio conjunto de registros. Muchas computadaras tienen un sistema operativo residente que controla y supervisa todos los otros programas en la computadora. el control comprueba cualquier señal de interrupción. La 6 1 t h inshucci6n en el programa de servicio es wia instnrcci6n de retomo de interrupcibtt. Ciertas instrucciones tienen privilegios y d o pueden ejecutarse en este modo. E l modo en el cual esta operando la CPU en cualquier momento dado lo d e t e k ~ a n los bits de estado especiales en la PSW. Durante a t e ciclo el contenido de PC y PSW se salva dentro de la pila. E1 p d h i e n t o de hardware para prwesar una interrupci6n es muy similar a l a ejecucibn de una instruccih de solicitud de subrutina. El programa de servicio debe entonces incluir instrucciones para almacenar el contenido de estado y registro antes de que se utilicen estos recursos. existen dos conjuntos de registros de procesador dentro de la computadora. Cuando la CPU ejecuta un programa que es parte del sistema operativo. la cual dirige a la CPU a la rutina de servicio deseada. La B U no responde a una interrupcibn hasta el final de una ejecución de instruccibn. El programa de servicio puede ejecutarse ahora. &o para cada modo CmT. La direccidn inicial de la rutina de servicio la determina h circuiteria en lugar de un campo de dire&dn de una instnicci6n. Si &á @ente una. Algunas computadoras asignan una localidad de memoria en donde se transfieren siempre las interrupciones. Después se carga la direcci6n de transferencia para la intempibn particular al PC y se carga una nueva PSW dentro del registro de estado.Bn algunos casos. la CPU debe poseer alguna forma de prodimiento de hardware para seleccionar una direccibn de transferencia del control para dar servicio a la interrupci6n. comenzando de la direccibn de transferencia y con un d a CPU 10 especifica la nueva PSW. S610 unas cuantas computadoras aImacenan e l contador de programa y todo el contenido de lw registros y del registro de estado en respuesta a una interrupcih. se hace leer la .298 CAPfiULo -0 Unidad central de prmesamiento modo srrpemlsor un modo supervisor o de usuario. se dice que estA en modo de supervisor o de sistema. D e esta manera. En cualquier caso. Cuando se ejecuta esta instrucción. Por l o general la CPU está en e l modo usuario cuando ejecuta programas de usuario. E1 estado de la CPU se salva a una pila de memoria y la direccibn inicial de la rutina de servicio se transfiere a1 contador de programa. En ocasiones. La rutina de m i c i o debe determinar despuk qué h e lo que produjo la interrupci6n y proceder a darle servicio.

La interrupcidn de programa es una insmccibn de solicitud espcial que se comporta como una interrupción más que como intpr*rrpc#ri rle Programa . excede su tiempo asignado. Las interrupciones internas también s e llaman trampas. las interrupciones internas o e h á n en el mismo lumr cada vez. Las interrupciones internas son sincrocon el programa en tanto que las externas no la son.S E C Q8 ~7 Control del p-ma 2. dispositivos de E/S que tenninan transferencia de datos. se restablece el estado de la CPU y el programa original puede continuar su ejecución. Una kkmpci6n por falla de energía puede tener como su rutina de servicio a un programa que transfiere el estado completo de la CPU a una memoria no wolbtil en los pocos segundos anteriores a una falla de energía. Las interrupciones internas surgen debida a la utiüzaci6n ilegal o errónea de una instrucci6n o datos. Por l o hnto. La PSW se transfiere al registro de estado y la direcci6n de retorno a1 contador de programa. Algunos ejemplos de las interrupciones provocadas por condiciones de e r r o r htemas son los sobreflujos de registro. de un circuito que monitorea la fuente de alrmentacibn o de cualquier otra fuente externa. Tipos de interrupciones Existen tres tipos principales de intermpcionea que producen una detenci6n en la ejecucibn normal de un programa. L a diferencia entre las interrupciones interna y externa es que la interna se inicia por alguna andici6n excepcional causada por el programa mismo. Interrupciones de programa Las interrupcion& extemas provienen de dispositivos de entrada y salida @/S). Las interrupciones externas dependen de condiciones inde pendientes al programa que se ejecuta en w e momento. Las interrupciones internas y externas se inician a partir de &ales que o c en I a circuitería de la CIiU. y violaeihn de la protecci6n. Algunos ejemplos de lo que produce interrupciones externas son dispositivos de E/S que solicitan transferencia de datos. por lo tanto.99 pila para recuperar fa FSW anterior y la d h a i 6 n de retorno. Intenvpciones extemas 2 Intempciones internas 3. estas condiciones de error ocurren como resultado de una terminaci6n prematura de h ejecuci6n de una Xnstrucci6n. Si el programa s e vuelve a ejsnihr. tiempo transcurrido de un evento o una faUa de energía. desbordamiento de pila. de un dispositivo de temporizacibn. El programa de seruicio que procesa la interrupción interna determina la medida correctiva que se debe tomar. Puede ocurrir una intemipcibn por tiempo transcurrido de un programa que esté en un ciclo que no termina y que. Una interrupcibn de p'ograrna se inicia al ejecutar una instruccibn. un d i g a de operaci6n no vdlido. Por lo general. Se clasifican de la manera siguiente: 1 . más bien que por un evento externo. intentar dividir entre cero.

Ei conjunto de instrucciones elegido para¡ una computadora particular determina la manera en que se construyen los programas de lenguaje de máquina. El programa que solicita debe pasar l a info~maci6n ai sistema operativo con el fin de especificar Ia tarea particular solicitada. las instns. se solicita el modo supervisor mediante una instrucción de solicitud de supkrvisor. 8-8 Computadora de conjunto de ins-tmcciones reducido (IRXSC) Un aspecto importante de la arquiktura de computadoras es el diseño de conjunto de iñctrucciones para el pmc-dor. Cuando se necesita una transferencia de entrada o salida. CISC (complex instructian set amputer). tas computadoras tambih emplean diversos tipos de datos y una gran cantidad de modos de direccionamíentrr. El 'usomAs coniún de l a intempkibn de programa se asocia con una instrucci6n de llamada de supemisor. Un programa escrito por un usuario debe correr m el modo usuario. Una computadora con una gran cantidad de instnieciones se cIasifíca como una computadora coa miunto de imtrucciontos m p l e i p .programa a implantacionec de hardware. El programador puede utilizarla para iniciar un pmcedimimto de inkmpdón en cualquier pimto que se desee del programa. Esfa ínstnicción proporciona medios para cambiar el modo de usuario de C W al modo supervisor. Muchas mmputadbras tienen conjuntos de instrucciones que incluyen más de 100 y.300 GMT!iL@ OMO Unidad emht de procesamienb una solicitud de subtutina. forzados sobre todo por la neresldad de minimizar la circuikría utiliiada para implantarlos. la adición de instrucdanes que facilitaban l a traducci6n de programas e n lenguaje de alto nivel a programas de lenguaje de m6qirina y la baqueda para desamollar maquinas que-trasladaranfunciones de implantaciones de. un procedimiento de transferencia de entrada o salida complejo. par ejemplo. S610 ciertas operaciones pueden asignarse al modo supervisor en la computadora. en ocasiones. L a tendencia hacia la complejidad de la circuikría de computadora la produjeron varios factores. Conforme la ckuiterk digital se hizo mas barata con la aparici6n de los circuitos Integrados. tanto >m cantidad como en complejidad. pudieran ejecutarse cbn mucha mayor rapidez dentro de la CPU. muchos disefiadores de computadora recomendaron que las máquiiias utilizaran menos instrucciones con f6rmulas sencillas para que. Al principio de los aiim mhenfa. Este ttpo de computadoras se clasifica como mrnpufaiIoms de conjunto de instrumiones . Las primeras computa- asc m Rlsc doras t e n í a n conjuntos de htruccions pequeños y simples. sin tener que utilizar la memoria con tanta frecuencia. Esta instnicci6n pmduce una interrupci6n de programa que almacena el estado anterior de i a CPU y trae una nueva PSW que pertenece al mcdo supervisor. miis de 200 instrucciones. como el mejoramiento de los modelos existente para proporcionar m8s aplicaciones al cliente.cciones de computadora tendieron a aumentar.

Características CISC E i dkiio de u n conjunto de instrucciones para una computadora debe considerar no 6610 f6rmulas de lenguaje de mAquina.SECU~N M Computadora de conjunto Be instrucciones reducido 3 M reducido. La traducción de programas de alto nive]. Otra caracteristica de la arquitectura ClSC es la incorporaci6n de formato~ de instrucciones de tamafio variable. S i n embargo.a programas de lenguaje de máquina se realiza mediante un progama compilador. La tarea de un compilador es generar una secuencia de instrucciones de máquina para cada enunciado de lenguaje de alto nivel. la dispe nibilidad de otros modos de operaciones tiende a simplificar l a compilacidn de lenguajes de aIto nivel. Algunos ejemplos de las arquitecturas CISC son la computadora VAX de Digital Eqtaipment Carporatian y Ia IBM 370. Para guardar formatos de instrucciones variables en una palabra de memoria de longitud fija se necesitan circuitos qeciales de demdificaci6n que cuenten 10s bytes dentro de Ia palabra y separen las instrucciones de acuerdo con la longitud de sus bytes. Las instrucciones que necesitan operandos de registro pueden tener dio dos bytes de longitud. sino también Iw requerimientos internos en i a utiIizaei6n de lenguaje de programación de alto nivel. Una razón para la tendencia a proporcionar conjuntos de instrucciones complejos es el deseo de simplificar la compikcibn y mqorar el desempefio general de la computadora. se necesita m á s circuiterh lógica para implantarlos y soportarlos. en tanto la segunda instnicci6n necesita una palabra m8s un byte en la siguiente. l a primera instmccibn mupa la mitad de una palabra. En resumen. Las instrucciones en un procesador CISC típico proporcionan Ia manipulación directa de los operandos que residen en la memoria. una tistrucci6n ADD puede especificar un operando en la memoria mediante un direccionamiento de hd'ice y un segundo operando en ia memoria por medio de un direccionamiento directo. Por ejemplo. En esta d 6 n pmentamos las principales características de Ias arquitecturas CISC y RISC y despu6s d conjunto de instrucciones y el formato de instrucciones de un pmcesador. pero las instrucciones que necesitan direcciones de memoria pueden . conforme se incorporan m8s instnicciones y modos de direccionamiento en una computadora.instrucciones de mAquha que integren los enunciados en forma directa. El propósito esencial de una arquitectura USC es intentar proporcionar una única instmi6n de máquina para cada enunciado que estC emita en un Iwiguaje de alto nivel.necesitar cinco bytes para incluir todo el c6digo de la instrucci6n. las principales caracteristicas de la arquitectura CISC son: . y esto puede producir que los cálculos se hagan lentos. La tarea s e simplifica si existen . Aunque los procesadores CISC tienen instrucciones que sólo utilizan registros de procesador. Si la computadora tiene palabras de 32 bits (cuatro bytes). Puede incluirse en la instruccibn otra localidad de memoria para almacenar la suma. RTSC (reduced btniction set mmpukr). Esto requiere tres referencias de memoria durante la ejecucibn de la hstruccibn.

Pueden incluirse otros modos de direecionamiento.0 mQ Unidad c e n t r a l de p t o 1. la longitud de las instrucciones puede Fijarse y alinearse en palabras contiguas. tambsn puede hacerse m á s sencilla la 16gica de control. En el capitulo 5 se presenta un ejemplo de contmI de circuíkda. 2. como los operandos inmediatos y e l modo relativo. Una gran cantidad de in~tFucciones.-1' 302: cMrWL. 6. Todos los cálculos se bcen entre los datos almacenados en los registros del prticesador. es preferhle un control de circuiterfa sobre uno rnicroprogramado. A1 usar un formato de instrucciones simple. - . 3.' 3. 7. junto con la unidad de control de la computadora Msica. principales características de un proresador RlSC son: 1 .en' usen con frecumda.Instrhccion& qué ejecu. el control puede accesar simultáneamente el código de operaci6n y los campos de registro del c6digo de I a htrucci6n. 4. Para operaciones m63 rápidas.deexhsi6n vafiablb. de longitud fija. Formatol de instrucriones decodificados ion facilidad.' . Relativamente pocas insthiecion&. Por b tanto. 5. Control pot circuiteria en lugar de rnicroprogramado. El acceso a memoria limitado a instrucciones de carga y alrnacenamiento. Aigmas . por l o p e r a l de 100 a 250. Ejecudbn del ciclo de instruccidn Única. . Un aspecto importante del formato de instniccidn RTSC es que resulta fzicii de derodificar.regisde la CPU. especializadas y que no se 2. CwacterfsticasRISC El concepto de la arquitectura RISC signifita un intento para reducir el tiempo de ejecucidn aI simplificar el conjunto de insttucciones de la computadora. E n el capítulo 7 se presentan ejemplos de control rnicroprogramado.operaciones realizadas dentro de 1 . Se usan unos cuantos modos de direccionamiento porque casi iodas las inshcciones tienen registros de direccionaM'1ento simple. por l o general de 5 a 20 modos diferentes. Los resultados se transfieren a la memoria mediante instrucciones almacenar. El pequdo conjunto de instruccionec de un procesador RTSC tipico consiste principalmente en operaciones registro a registro. Formatos de instruccione8 . Todas las . A l simpiificar las instrucciones y su f k a t o . 5. Relativam&Q p o s modos de direccionamiento. y &lo tiene las operaciones cargar y almacenar para accesar la memoria. Una gran cantidad de m d o s de didonamiento. hbtnicciones que mariipiilm operandos en la aemaria. Cada operando se introduce al pmesador con una instrucci6n cargar. Esta caracterbtica de arquit-tura simplifica ef conjunto de instrucciones y estimula la optimizacki de la manipulaci6n de qistros.

tos d u & s que muestran un mdinúenta mejorado pa& la arquitectura RISC no esbblecm l a diferencia entre los e W . a veces se a d n c m procesadores RMC una gran cantidad de registros en la unidad de pmcsadenta. Uso de m a s de re@kcm traslapados para acelerar la h a d a y retorno de p r o c ~ ~ .de relaj. trasmite lm resultados al pmgrama solicitante y. Una instrwci6.nivel a programas de lenguaje de máquina. programa restablece 1 9 valo. Por esa razbn. aunque tambib pueden existir en arquitecturas no RISC. Después de un retomo Be procedimiento. y pasar pardmehm y rwultados son operacior~a que con~umen tiempo. es que los registras pueden transferir irzfomau6n a otros registros mucho más rhpido que la transferencia de idoqaci6n hacia y desde la memoria.n cargar o almacenar puede requerir dos ciclos de reloj porque el acceso a memoria toma d a tiempo que las operaciones de registro. se pueden minimizar lae operaciones al conservar en registros los operandos a los que se a d e con mayor frecuencia. Una . una llamada de prwedimimtq produce una secuencia de instruccbnes que @ d a n valo.c~nducto de instrucciones en BXCC se p-ta en la secci6n 9-5. El. Soporte de compilador para &aducción &&te de programas de lenguaje de alto . el.de regis-. dkspués de que se expIica el concepto de conducaOn y saturaci611de línea. Esto se l a p al hacer simuitheamente las fases. En.registros en el w d m relativamente grande. & comimte'kner una gran cantidad de registros para almacenar los resultados intermedios y para optimizar las referencias de operandos. 3. d ~ c a c i ó n y ejecucibn de dos o tres instni+na. la siguiente mxi6n se explica el uso de ventanas de regisbs trsisiapadoe cuando se transfiere el control de programas después de una solicitud de prrpcedimhto.del conjunto reducido de instruceianes y h s e f m de un archivo de regi~tros grande. Paralelismo de indrucriones eficiente. pasan pdmetros que necesita e l pmcedimiesito y. Guardar y restablecer registros. a diferencia del almacenamiento en memoria. 4. Za ventaja del a l m a ~ t en o registros.cantidad de.M Computadora de-oonjunb de instrucci- reddo m m3 Una característica de loa p r d m s e s su capacidad para e j e cuhf una Uisku&ión por c i c l o .Cuando se traduce a lenguaje de .solicitan w subcwtina que ejecute el cuerpo del procedmto. 2. En acasimw se (atribuyen'a RISC un paraielisma eficiente y otras cuantas características. 3 s a h r M n de I k u gsr Ventanas de regktros traslapados lenguajes de pgramacihn de db nivel o m m n con frecuencia llamadas y stomos de aprwdhientos. retorna de Ia subrutina. miiquina. u d un proredhhb denominado paralelismo. dvpu&s.de registco anteriores. Otras caracteristicas que se le atribuyen a la arquitectura RJSC son: 1 . de mpera&n. Debido a eso. Algunas En .

Cada solicitud de procedimiento activa una nueva ventana de registros al incrementar un apuntador. Los registros comunes se utilizan para e l intercambio de parsmetros y resultados entre procedimientos adyacentes. que consiste en un conjunto de registros del archivo de registrohlpara que la use el nuevo procediiento. supongamos que el procedimiento A solicita el procedimiento B. El sistema tiene un total de 64 registros. Mwkse que los registros R10 al R15 son comunes a Ios procedimientos A y D. En cualquier momento dado. El procedimiento B utiliza l o s registros lmales del R32 al R41 para el almacenamiento de variables locales. L o s regístros traslapados comunes permiten que se pasen parámetros y el movimiento real de datos. Como ejemplo. Si el procedimiento B solicita el procedimiento C. Los registros locales se utiliian para las variables locales. mientras que e l enunciado de retorno decrementa el apuntador y produce l a activaci6n de Ia ventana anterior. B concepto de wntanas con registros traslapados se ilustra en la figuxa 89. Esto elimina la necesidad de guardar y restablecer las valom de los registros.304 -O Unidad centra1 de proceSamienia computadoras proporcionan bancos de xegistros múltiples y a cada pmcedimiato se le asigna su propio banco de registros. C y D. Los registros altos del procedimiento llamado se sobreponen a los registros bajos del procedimiento llamado. B. A 1 0 está activa una ventana de registro con un apuntador que la seiiala como activa. el procedimiento A almacena los parAmetros para el procedimientb 3 en estos registros. Los otros 64 registros s e dividen en cuatro ventanas para alojar b s procedimientos A. Una caractefstica de algunos proeesadores E U X es que utilizan uentanas de rqistrus traslapados para ofrecer e l paso de parametros y evitar la necesidad de guardar y restablecer valores de registros. Cada ventana de registros consta de 10 registras locales y dos conjuntos de seis registros comunes a las ventanas adyacentes.por lo que las cuatro ventanas tienen una organización circular en donde A es adyacente a D. Algunas computadoras utilizan la pila de memoria para almacenar los parámetros que necesita el procedimientoi pexa esto requiere un acceso a memoria cada vez que se accesa la pila. Los registros de1 $26 al R31 son comunes a los dos procedimientos y. por lo tanta. Cada solicitud de procedimiento activa una nueva ventana de re@stras al incmentar el apuntador. las parhmetros se transfieren en forma automdtica del procedimiento que Uama al llamado. . Cuando el procedimiento B está listo para retornar al 'final su computaci611.el programa almacena los resultados de estos dlculos en los registros del R26 al R31 y transfiere de vuelta la ventana de registros al pmcediiiento A. Las ventanas para procedimientos adyacentes tienen registros traslapados que comparten para proporcionar el paso de parámetros y resultados. Los registros del RO a1 R9 son registros globales que contienen parsmetros que comparten todos b s procedimientos. y por l o tanto. pasará los paraimetros por medio de los registros del R42 al R47. Cada solicitud de procedimiento prcduce la asignacibn de una nueva ventana.

s!xcI6w M Computadora de conjunto dehslauceiimes rdhcido (m) 3 f l 5 .

La cantidad total de registros necesarios en el p-ador: En el ejemplo de la figura 8-9 h e m a s que G = 10. e l formato de instruccibn puede especificar un registro de pracaador con un campo de registros de 5 bits. La XüSC 1 de Berkeley es una CPU de circuitos integrados de 32 bits. 16 y 32 bits.L = 10. Los 32 q i s t r o s en cada ventana tienen una otganizaci6n similsir a la que se muestra en k figura 8-9. Tiene un formato de instrucci6n de 32 bits y un total de 31 instrucciones. Berkeley. seis registros bajos traslapados y seis registros altos traslapados. C = 6. Tiene un archivo de registros de 138 registros ~ J Jun arreglo de 10 registras globales y 8 ventanas de 32 registros cada una. Direeeionamiento de registros. Existen tres modos de diredonamiento Wm. y el archivo de registros consta de (10 + 6) X 4 + 10 = 74 registros.datos de 8. l o s 10 registros globales RO al R9 están disponibles para todos los procedimientos. Cada procedimiento en h fqpra 8 9 tiene disponible un total de 32 registros mientras ehtá activo. RlSC 1 de Berkeley Uno de los pmq proyectos que pretendi6 mostrar las ventajas de la arquitectura ñiSC se mostr6 en la Universidad de California. Esto inelup 10 registros globales. En general.306 cAetrrno -0 Unidad aentral de p-miento Como se mencion6 antes. Soporta direccion. y direccionamiento relativo al PC para instrudones de transferencia o brinco. 10 registros locales.de 32 bits y. Con posibles otros esquemas de ventanas de registros de tamaño fijo y cada una puede variar en el hmafio de la ventana de registro y en el tamafio de todo el archivo de registros. El tamaño de la v e n t a es 10 + 12 + 10 = 32 registros. Siete de . y W = 4. La figura 8-10 mue8tta los formatos de instrucciones de 32 bits utilizados para instnrcciones de n@stro a e s t r o y de acceso a memoria. operando inmediato. la organizaci6n de las ventanas de registros tendrii las siguientes relaciones: Cantidad de registros globales = G Cantidad de registros locales en cada ventana = L Cantidad de registros comunes a las dos ventanas = C Cantidad de ventanas = W La cantidad de registros disponibla para cada ventaaa se calcula de l a manera sipuienk. Como s61o se accesa un conjunto de 32 registros en una ventana en cualquier momento dado.

El carhpo COND sustituye el campo Rd para instrueclones de brinco y se u t i l i para especifiieari yna de ' 1 6 condiciones de brinco posibles. el campo Rd de S bits selecciona uno de los 32 registros como destino para e l resultada de la operacibn. S los bi en el cWgo de operacidn especifican una opsrari6n y eI ocbvo indica si s e a c t u a i í í los bits de estado despuk de una oyeración ALU. los 5 bits de orden menor de S2 especifican otro registro fuente. La operación se ejecuta con los datos eapedicados en los c a * p Rs y S2. pero l a segunda fuente puede s e r un registro o un operando inmediato. Las instrucc W de acceso a memoria utiliza Rs para especificar una direcci6n be 32 bits ea un registra y S2 para especificar un deplazamiento. S2 especifica uoa constank de 1 3 bits de signo extendido. Se han agrupado en tres categorhs. Las 31 instrucciuqes de la RICC 1 se listan en la 'tabla 812. Lns simbolos bajo las columnas del código de operaci6n y operando se utilizan cuando se d- . Rs es uno de los r e g s i w fuente.'Si e l bit 13 de la instrudbn es O. por lo que puede utilizarse en cualquig campo para especificar una cantidad de cero. 16gicas y de corrimiento. Si el bit 13 de la instzucci6n es 1. El registro RO m n t h a &lo n h e r 0 ~ O. 8 5 5 1 13 b) Modo dc W t r o inmediato: (SZmpeclfica un opmndo) 8 5 c) Modo relativa a P C : 19 Figura 8-10 Fomata de Instruccionesde la REC 1de Berkeiey. Par l o tanto. Las instnrcciones de d p u l a c i 6 n de datos ejecutan operaciones arítrndticas. E l tercer formato de instntcci6n tombím Ios tres i I i l h ~ farnpos para fo-1: una direcci6n relativa de diecinueve bits Y y se il(sa sobg todo con las instrucciones brincar y llamar. Para instrucciones de registro a registro. la instnicci6n tiene un formato de tres direcciones.&g computado^ de ccuij~to de k t n i c c i s n e ~ reducido 307 Caigode opr- Rd 5 Sin usar 8 5 1 8 I S2 5 a) Mado de regislro: (S2especifím un registro) 31 24 23 1 9 18 14 13 12.

S2.Y Rd.Rd SLL Rs.ws) Rd.Rd Rd +RE r\ S2 AND Rs.Rd Rd*M[& S21 LDSU (Rs)BZ.Rd R d t S 2 .fmbiar ventana Retomar p cambiar ventana PC+Pc+Y Rd +Pi2 PC'+& + S2 CWP+CWP .S2.CCmP R&+E RErn .Rcl Rd +&:acarrear a $2 Instniccion~ de transferencia de dalos LDL (Rs)M.R~ . PCi-RP m W R CALL C-AZLR m) Cm.(R$S2 Rd RdtY M[& M[& + s2. s 2 Rd 1 CWp-CWP+l %.Rd .(Jb)S2 Rd.Rd SRA Rs.S2.Rd RS.Rd Rd + M [ h + S21 WSS (RskS2.1 Rd PC P C t P C IT CWPt-Cwp 1 K + R d +S2 + m CALLINT - 3 2 d .Rd Rd tR r El3 S2 XOR Rs.Rd Rd + M [Rs S21 - - - Resta de M I Restar mn a c ñ m Restar i n v c ~ o Rcsiar mn acarreo Aplicar la luncidn AND Aplicar la funcibn OR Aplicar la funcibn OR excliisiva Corrimiento a la izquierda Corrimiento a la derecha Ibgico Corrimiento a la derecha aritmékico + LDHI + Carga larga Carga corta sin signo Carga corta con signa Carga by te sin signo Carga byte con signo m Sr3 STB GETPSW PU'T'Ps~ Rd.S2 Acarrco Rs.R s Rd S2 l b .S2. ~d t Rs.SS.Y R&.S2.Rd Rd +lZF acarrear a S2 Ad c m a c a m r a 5 2 SRL ñs. TABLA 6-12 Conjunto de inrtruccionesde la RISC I de BPrkeley -digo de . Rd.S2.M. Rd +M[& + S21 LDBU (Rs)M.S2.S2.S2 ~d ' pC tRd S2 CWp+m+ 1 + -1 Deshabilitar interrupciones Habilitar inkrrupclonm Obtener el fdtimo PC GTLPC .Kd M*Rs + S2 ~ + s2 r + ~ c a r n ? a Silmar con acarreo Sima d c enteros RdtRs-S2 Rd +RF .palabra de estado M[lb1+S2]+Rd Rd +PSW M PSWtRd Inshcciones de ccrntrol d e .Rd Rd +M[& + S 2 1 LDBS (Rs)S2.SZ.1-Rd -t.308 GMIIJW -O Wdad m a l de .Acarrco Rs.Rd Rs.SZ.[Rs)SZ w.~pwacifinOperanda Tnmf~erencia de pgistrw Dcwripcibn hsimcciones de nranipulacibn de datos ADD ADDC SUB SUBC SUBR SUBCR &. p m p q CONI). a] +Rd Carga alto inmediato Almacenar largo Almacenar corto Almacenar byte Cargar palabra de estada Inicializar . .Rd Rd +Rs V S2 OR Rs.Y + S2 Brinco condicional Brinco relativo llamar a subnifina y cambiár verrtana Llamar a relativa y c3.

W siguientes m n ejemplos de cómo se cargan instrucciones larga6 con diferentes modos de direccionamiento. N6we que t d a s las instrucciones tienen tres operandos. Las btruccion.es de cargar y almacenar mueven los datos entre un F9 v g i s t r o y una memoia.Las instrucciones de palabra larga operan eIi dabs de 32 bits. cargar acomodan datas con o sin ?signode 4 bib. d &'lo reduce a un modo iridirecto. La operacibn incrementar se tealiza al sumar una constante 1 a un regi~tro. La tercera instruccidn Mi* t d o s los números O del registro RO par3 producir un tipo de instrucción de .direccionamiento directo.SECCI~N w Computadora de conjunto de instrucciones reducido (RXSC) 309 --.XliSO'i 8 2 3 R 2 3 +A22 R Z 3 +RZZ + R21i + L50 (Mover) Cargainmediata f 1 incrementar ADDROiR21irR22 ADDRC1. Las instrucciones de control de pmgrwa operan con el contador de programa PC para controlar la secuencia del programa. Por ejemplo.#15Q. Las inst~~+ones. A. tres instrucciones de almacenamiento y dos instrucciones que transfieren la palabra de estado del programa EW.2. La s8gunda fuente $2 p u d e ser un registro o un operando inmediata. apuntadores usados junto con las ventanas de registro y otra información que detemina el estado de la C m . La segunda insfruccidn utüiza un desplazamienta O. es posible transferir el contenido de un registro o de una constante dentm de otro registro. Aunque parece existir un modo de direcaionamienha de registro. en las instrucciones de transferencia de datos.RS LDL (R22)#01RS LDL (RO)#SOOaRS RS+M[R22]+lSU R5+iY[R22] RStfl[SOíl] La direccibn &fha en la primera instmccidn se evalúa a partir del contemido dd m@stm R22 mAs un desplakmiento de 150. T-@ M h tren proprnas de lenguaje ensamblador.mAs desplazamiento. L s instrudiodes de &ansfetencia de datos constan de seis instrucciones de carJa.>el cual siempre contiene números O. Hay dos instruccio- . R23 ADD R2.R.E l registro que contiene la PSW contiene el estad^ de la CPU e incluye el contador de programa.?2 Y : - ADDRZZt#litR22 R22+R21 R22-150 R22tR22 4 Al usar el registro RO. Las columnas de transferencia de mgktmis y descripcibn explican la instrucci6h en notación de transferencia de wgMm y m palabras. byte) o 16 bits Ipaiabra coW). tambi6n es posible el diree~ionamiento directa e indirecto por registros.R21i. los bits de estado de l a ALU.PD R22 r. por regish. representado mediante d -signo #. consideremm la instncdh ADD y c6mo pude ut%zarwparaejecutar divemas operacionec. LDL{R22)#150.

utarAn en el procesadar de k figura'&Z w n d o se apliquen las sigubb potlabras de mtml de 14 bits. RI+R2+R3 R5+R5 . ~Cuáuitasentradas y saIidas hay en la ALU para datos. un retraso de 20 ns en el decalificador de destino y 10 ns para sineronizar los datos dentro del registro de destino. 00101~00101 b . ¿Cual es el tiempo del cielo mínimo que puede utilizarse para el reloj? Especifique la palabra de control que deba aplicarse al procesador de 1a figura 8-2 para implantar les siguientes micrwperacions. ¿CuBntas entradas de selecci6n se necesitan para e l MüX A y el MUX B? c. 8-Z E I canal del sistema de la hgwa 8-2 tiene los siguientes tiempos de retraso de propagación: 30 ns para que las seilales se propaguen por los multiple xores. Una CPU organizada con un anal simiIar a la de la figura 8-2 tiene 16 regisiros con 32 bits -da uno. EEEz m r m 1 o e. Las instrucciones llamar y retomar utilizah un ~ g i s t r a de apuntador de ventana actual CWP (mrrent window pohtez) de 3 bib que apunta a la ventana de fegistms activa en ese momento. 8-3. CWP se decrementa en uno para apuntar a la ventana de registro de nivel inmediato inferior.hay en el canal A. R4tR4 Entrada S 4 Determine las micm~racionas que se 4ec. ¿Cuantasentradas y salidas hay en el derodicador? d.1 6 +shl R1 + b . a. a. Una utilii un direccionamiento índice más desplazamiento. 11110001110 . a ~Cudntos multiplexores. incluyendo acarreos de entrada y alida? e. Después una instruccidn de retorno CWP se incrementa en uno para retomar a la ventana de registros previa. C. 8-I. una ALU y un dedifiador de destino.310 m m 0 Unidad central de pxoeesamiento nes de brincar y dos in~trucciones de liarnada. c. que ALU tiene 3 5 operacion~. d. la ~ g u n d a utiliza un modo relativo a PC m d valor 'Y de 19 bits como la direcoi611relativa. Formu1e una palabra de control para el s i s ~considerando . y cuál es el tamaiio de =da uno? b. 80 hs para qerutar la dperdci6n ADD en l a ALU. Cada vez que el programa dicita un nuevo prmedhiento.

Una computadora tiene instrucciones de 32 bits y direcciones de 12 bits. ¿Cuaintos datos hay en la pila s i : 8-6. Un contador de d t u r a WC contiene 8 1 1 . la d l d b n para escribir en la memoria.OC4 en la pila de l a f@ra 8-3. &7. Sea SP = OW. Esto significa que SP puede inicializarse a 4000 en la figura 8 4y el primer dato en la pila se almacena en la posici6n 4WO. ¿LLENO = O y VACIO = l? Una pila estd organizada de m e r a que SP siempre apunte a la siguíente posicibn vada en la pila. ~ c u h t a s immieciones de una d W 6 n puedkn formularse? Escriba un p&arna para evaluar el enunciado adméíico: . bn contador de ledura RC contiene la direcci6n par1 leer de la memoria. 8-10. Convierta las siguientes expresione aritmhticas de notaci6n polaca inversa a interna fija. . Convierta las siguientes expresiom aritmitieas de notad611interna fija a polaca inversa. 8 1 2 .y VAClO = O? b . a ¿LLENO = 1 .8-5. Convierta la siguiente expresib n h i c a aritdtiea a notaci6n polaca inversa y muestre las operaciones de pilq para evaluar el resultado numérico. 8-8. Si hay 250 ir&truccioxm de das dimriones. p h e r o en salir (RFO) tiene una organiza& de memoria que almacena informa& de manera que el dato que se almacena primero e s d primero que se recupera. Muestre cómo opera UM memoria FiR3 con tres contadores. Un conhdor de ahacaamiento disponiblelMC indica la cantidad de palabras almacenadas en FIFO. Liste las mimooperaciones para las operaciones push y pop. Un sistema primero & e n & .ASC se h e m e n t a para cada palabra almamada y sed t a para cada dato mpetado.

un campo de registro o dirección para especificar uno de 60 registros de procesador y una dirección de memoria. El campo de dirección de la instrucción (almacenado en W +1)está representado mediante el símbolo Y. (¿Por qué debe. indexado Un tipo de instrucción de brinco de modo relativo está almacenado en la memoria en una dirección equivalente al decimal 750. 8-14. d. Un registro índice contiene el valor X. El operando utilizado durante la ejecución de la instrucción está almacenado en una dirección representada por Z. Despub muestre que el valor binario en PC más la dirección relativa calculada en la parte b es igual al valor binario de 500. Determine el v a l ~binario r en PC después de la fase de recuperación y calcule el valor binari~ de 500. 8-1. Al usar una computadora de registro general con instrucciones de dos direccionamientos. indirecto c. 1 2 C A P ~ XHO ~ ~ O Unidad central de procesamiento 8-13. b. Una instrucción de dos palabras está almacenada en la memoria en una dirección representada por el símbolo W. 8-18. Especifique el formato de las instrucciones y la cantidad de bits en cada campo si la instrucción está dentro de una palabra de memoria. Al usar una computadora d e registro general con instrucciones de tres direccionamientos.estar el número en forma de complemento a 2?) c. un campo de modo para especificar uno de siete modos de direccionamiento. b) un tipo de transferencia de control del programa. a.3 . El brinco se hace a una dirección equivalente al decimal 500. El campo de dirección tiene el valor 400. 8-15. ¿Cuántas veces hace referencia la unidad de control a la memoria cuando recupera y ejecuta una instruceón de modo de direccionamiento indirecto si la instrucción es: a) tipo computacional que requiere un operando de la memoria?.6.pode dirección relativa de la instrucción (en decimal)? b. ¿Cuál debe ser el valor del cam. Detsrmine el valor de dirección relativa en b m r i o utilizando 12bits. Refiera cómo se calcula Z de las otras direcciones si el modo de direccionamiento de la instrucaión es a. Un . a. ¿Cuál debe ser el campo de dirección de una instrucción de modo de direccionamiento indexado para hacerla igual que una instrucción de modo indirecto por registro? Una instrucción está almacenada en la localidad 300 con su campo de dirección en la localidad 301. c. La unidad de memoria de una computadora tiene 256K palabras de 32 bits cada una. relativo d. La computadora tiene un formato de instrucción con cuatro campos: un campo de código de operación. Al usar una computadora de tipo acumulador con instrucciones de un direccionamiento. Al usar una pila organizada c ~ rcero t instrucciones de aperación de cero direccionamiento cero. 8-17. directo b.

a. b . b) inmediato c) relativo. b . Cada vez. e. 8-20.R1 contiene e l número 200. d Aplique Ia funci6nAND del operando m e d i a t o 8D a R. Evalúe la direesi6n efectiva si el modo de didonamiento de la instrucci6n es: a) directo. Realice la resta (-68) . Cdderando uria computadora de 8 bits. Los nhmeros siguientes tambi&nestán en hexadecimal. OR. Recorra a la izquierda el binario -83 e indique si hay un sobreflujo. Repregente los siguientes nheras con signo en binario utilizando ocho bits. y XOR can las dos series binarias 1M)11100 y 101Q1010. la suma (-83) + (+68) en binario e interprete el resultado obtenido. -83. Determine los valores de los bits de estado C. &Qu& operaci6n debe ejecutarse con el fin de: a. rnudtte la sum de prehsi6n múItiple de los dos n sin signo . 8-23. 8-21. e) indexado con R1 como e1 w@stro~-de pmmsador regisfm Sndice. Un registro de 8 bits contiene el valor 01111011 y el bit de acarreo es igual a 1.de 32 bits que se listan en seguida. Dado el valor d e 16 bits 1001101011001101. 8-26. Rmlie la I 6 g i e ~AND. E l vdor inicial del registro R. utilizandok sutiwi con Instnicciom de acarreo. Complementar 10s ocho bits de enmedio? 8-22. Aplique 1 a funci6n O R exclusiva R con R. Demuestre que el circuito etiquetado "verificarsi hay una salida cero" en la figura 8-8 es una compuerta NOR de 8 bits. h s números Sin s w o A y B se cqqparan al restar A B. Sume el operando inmediato C6 a R. Ejecute ias OChD operaciones de corrimiento proporcionadas por las instniceionea que se l5stan en la tabla 8-9. +68. Realice &24. en cada cam es e l hexadecimal 72. C. 8-19. inicie de1 vaIor inicial que se dio en esta pregunta. c R e t e el operando inmediato 9A de R.(+a) en bina& e indique si hay cobreflujo. Recorra a la derecha el binario -68 una vez y proporcione el valor del número recorrido en diximal d. Z y V (figura 8-8) despuds de cada una de las siguientes htrucciones. E l bit de estado de acarreo se coxisidwa como un bit de pdstamo después de una inctrucúón comparar en la mayoda de las computadoras comercia~es. a. S. por ]o hnb c = - . d) indirecto por registro. 6 3 . & . Activar a 1 los últimoa ocho bits? c. Borrar a O los primeros ocho bits? b. Una computadora de 8 bits tiene un registro R. Sume el operando inmediato 1E a R. Cada byte se expresa como un niimero hemdecimaI de dos d fgitos. &E.

(Vhse también la tabIa.ei w r r e un sobreflujo.B (SBl/r=OriyZ=O 4. Los bits de estado S.. - Dos nCrmeros c o n signo A ) . Ee aecemrio disebr un cirquita digital con cuatro entradas C. una para cada una de.h ~igno.14 CAPfrvLo "-0 Unidad central de proce9amiento 1s i A < B. iepresmtados en forma de complemento aDm 4sigit85. hs condiciones de transferencia de controI listadas en los problemas 8-26 y 8-27.Z y V y 10 salidas. Sume Iris d& ndfikros biiar'ias e interprete la suma considerando que Iwfi&& sud: il sin 5 1 p y 4 con signo. 'b.según 8e especifica en la tabla p a r 4 problema:&%.los$its de-C y 2. una compuerta XOR y cinco inversores.errnImiWlii egnitctd telativa de A y B a partir de la inspeccidn de los bits de estado. (Las condiciones igual y desigual s6fi 'eiihunes a ambad tablas.)s A<@ AS$ A =B ACB . Cs@<v=o (S@Vj=I ~dYv)=loz=I z=1 Z=O equivalente decimal de cada número considerando 'f}no tienén riigno y 2 ) . Muatre que puede dekminam la m a @ M relativa de A y B de-hh s p d n d e . - ~elacihn bndici6nde l o s bits de estado 1 A3.) '8-27.que hay pude det.) Demuwtre que . Z y V semkivari!o dwotivm~depndiendp del resultado de la operación w 6 k ino&~si6i3. W i i n Ia tabla 8-11. riendasigno.E.&ll.) - Tabla para el probIema 8-26 Relaci6n CodCrQn<de los bits de estado 8-28.s=paran al =bar i 4 B.) Dibuje el diagrama 16gico del circuito utilizando dos compuertas OR. Praporúone el . S . @e: a. wmo se especifica en seguida.

B y actualizar los bits de estado. Z. b. 1 e intel 386 son ejemplos de computadoras con La IBM 370. c. ¿Antes de qué se recupera la instrucción solicitar de la memoria? . Despuds lee una nueva PCW de la memoria a partir de una posición proporcionada por una dirección de interrupción representada por IAD.ones de transferencia de control condicional de la tabla 8-11 que tendrán una condición verdadera. Sean A = OlOOOOOl y B = 10000100. ¿Después de qué se ejecuta la instrucción de llamada? c. G a. Determine el valor de los bits de estado S.B y actualizar los bits de estado. El contenido de 1. ¿Qué contienen PC y la parte superior de la pila a. S y V después de la suma. a. Mermine los valores de los bits 'de estado C (préstamo) y Z. La primera dirección del programa de servicio se toma de la memoria en la posición IAD +l. b. Liste la secuencia de microoperaciones para el ciclo de interrupción. una instrucción de llamada a subrutina y una interrupción de programa? Proporcione cinco ejemplos de interrupciones internas y cinco ejemplos de interrupciones externas. Sean A = 01000001 y B = 10000100. ¿Cuál es la diferencia entre una interrupción de programa y una llamada . a. Evalúe la diferencia e interpfete el resultado binario. Liste las instrucci. d. Liste las instrucciones de transferencia de control condicional de la tabla 8-11 que tendrán una condición verdadera. Liste la secuencia de microoperaciones para el retorno de la instrucción de interrupción. . El programa en una computadora compara dos númeras con signo A y B al ejecutar la resta A . Liste las instrucciones de transferencia de control condicional de la tabla 8-11 que tendrán una condición verdadera. parte superior de una pila de memoria es 5320. Z y V. El contenido del apuntador de pila SP es 3560. Evalúe la diferencia e interprete el resultado binario. b. El programa en una computadora compara dos números sin signo A y B al ejecutar ima resta A . c. Compare los formatos de instrucción variable de una de estas computadoras con el formato de instrucción de longitud fija que se usa en IüSC T. b. ¿Después del retorno de la subrutina? &Cuálesa n las diferencias básicas entre una instrucción de transferencia de control. VAX 1 formatos de instrucciones variables.a subrutina? Una computadora respondea una señal de solicitud de interrupción al salvar pila el contenidode PC y la palabra de estado de programa PSW dentro de $la actual.Determine las valores de los bits de estado C. Una instrucción de llamada a subrutina de dos palabws se localiza en la memoria en la dirección 1120 seguida por el campo de dirección de 6720 en la localidad 1121.

6. Prentice Hall. C ~ p u k P r r o p p n i ñ g and Arckit&hw: 2 ' 7 ~ VAX-11. Co"mputadora1 Computadora 2 Computadora 3 Registros globales Registros locale8 Registra comunes Cantidad de ventanas D-ag. Bbrrar un rgistro a O e.8ms. opera&orw..C 2 ~ . Gear.ir p m s . G.Ed. ~ i r i p u f tOkgmia#tjoh? v &rrlWre/Sqhwre. 2. Ninguna aperaci6n Escriba las i~trucciones de R I X 1en lenguaje ensamblador que p d u c i r h un brinco a la d M i 6 n 3200 si e1 bit de estado Z (O) es igual a 1. .Ed. 2a. MA: Dígib. 17. P . a. 2. l s ' @ . iW. 7. $ . Decrementar un registro b . &ayv M.Eckiwge. Usando el modo inmedigto b .. A: C.C. ~angholz. Ha. d. J. Cmpter Qrgawkationund hqrmm~tling. Usando un modo de direccionamiento relativo (considere que PC = 3400) 1.1 m . lX. W. a. 10 10 6 8 8 16 16 8 4 16 8 16 Proporcioneun ejemplo de instrucciona de &1que ejecutenlas siguientes 8-39. 3a. y A. E n g l e w d CMfs. Tres computadoras utilizan ventanas de registro con las siguientes características.riU:. Ekm.znts pJComputer Orpnization. g k drehjfecka S D U ~computn ~ systems. .lhtrod~~&m to Compter'Sysl.wtiwm. R M . f 9 % . 5. 4. a. ' v r w i c ~ S.W . a. Hays. Complementar un registro c Negar un registro d. h. -Ar&hture wrd Grgwidq. Nueva Y & Má=mw-i-W 1983.2aQE Computer Qrganihmz. Dividir un n5mm con signo entre 4 f. Godhe. .. N u m Vork: MGraw-%iB. Kaadel. b y . .k. M. dppjatt. H. y R.h g l e w d Cliffs. V .Nueva York: McGraw- -. F&E.-G i . kmti&&El: Í8@.o~~. B. wlwQod a ! & . 1 % w. Englewood Qiffs. .' Hamch'er.. Determine el tamafio de Ia ventana y la cantidad total de regisen cada mmpatadriia. 4.316 Unidad central de p~icesarniento 8-37. Ed. 1 w .j Ml*hi. i WPrentii &u.

16. M. Zse. . Nueva York. H.. 1988. 15. Rafiquzzaman. . Ed. Paul." IEEE Compufer. NJ: Prentice Hall. EngIewood Cliffs. Nueva York: McGraw-Hill. y R. NJ: Prentice Hall. D. Co~tyuter Hardmre/SoWre Architecture. M. Halstead. W. A. 1981. Ward.. 1986.G..C. Englewood Cliffs. NeweU.. 3a. Computer Archiiechrre: A Quantitative Appmch. y C. Stallings. 1 8 . Hall. MN: West Publishers. St. 14.Hemessy. "AW RTCC. MA:MiT h . S.htice 9. 12. San Mateo.. y J. CA: Morgan K a u f m a ~ kiblishers. D . 199D. 19.. D .. pp. Patterson. 10. Chandra. MD: Computer Science Pms. Tanenbaum. Englewood Cliffs. Intmfuctioii to Computer Organizatiun. NJ: Prentice HaH. 1990. Patirson. M. W. Sequin. c o n i @ ~ i i . . Pollard.H . W l a & 1 9 8 1 ) . 822. E n g l e w d Ciiffs. . A. ~ie E n g l e w d Cliffs. I. W. Rockville. 1982. S. 1990. D.H. Nk Prentice Hall. 1990. 1990. 20. W e r n Cmtrputer Architeeture. Tornek. Murray..Bell y A. L. y B.A. 11. y R. . Computatiofi Struct ums. Cambridge. Computer Organiaztion and Architeehw. L. 13. 1988. ññiArc7titecture. Siewiorek. Jr.M . Structurd Computer Orpnization. 2a.A.. Compukr Strilcturec: Principk and Emmph. Toy. 17. Computer Engin~ring: Hardware D e . Septiembe de 1982. Mano. Conrpirter and DkitaI System Architecture.

ta cantidad de circuiterla aumenta con e l procesamiento paralelo y. S i n embargo. la cantidad de p-nto que puede lograrse durante un cierto intervalo de tiempo. Además. un sistema de procesamiento paralelo puede ejecutar prosesamienta concurrente de datos para conseguir un menor tiempo de ejmuci6n. puede leerse la siguiente instrucción de la memoria. con 6 1 . los descubrimientos tecnológicos han reducido el costo de la circuiteria a un punto en donde las técnicas de procesamiento paralelo son eron6micamente factibls. . tarnbih el cmto del sistema. E i sistema puede tener dos o más ALUS y ser capaz de ejecutar dos o más instrucciones al mismo tiempo. E 1 propbito del procesamiento paralelo es acelerar las posibilidades de prmesamiento de la computadora y aumentar su eficiencia. Por ejemplo.EN ESTE wfTUL0 9-1 9-2 9-3 94 9-5 9-6 9-7 besamiento paralelo A r q u i t e c t u F a paralela Línea paralela aritmbtica Línea paralela de instrucciones Arquitectura paralela RICC Procesamientovectorial Arreglo de pmcesador S'IMD 9-1 Procesamiento paralelo El procesamiento paralelo es un término que se usa para denotar un grupo de técnicas significativas que se usan para proporcionar tareas sirnultArms de procesamiento de datos con el fin de aumentar la velocidad computaciw nal de un sistema de computadora. esto es. el sistema puede tener dos o más procesadores operando en forma concurrente. En lugar de p-ar cada instrucci6n en forma secuencia1 como en una computadora convmcional. mando se ejecuta una instrucción en la ALU.

mlenttas que los registras con m g aparaIela o ~9. ' ' MuiUplicdci6nde punuofloeanie r Divipi5n de puntoflotante " * - . r Suma-mtade w f l - - .eri f~wa &al -hit a la vez. Por éjmplo. Los registros de corri&@qer&t. E l procesamiento paralelo se establece al distcibi&t 1 b datos en^ la@unidades funcionales miütiples.eiasmediante el tipo de @gis~r& ijue4utilizan. 16gicas y de corrimiento pueden separarse en tres unidades y dividirse los operandos a cada una.ri @mLlusbib de l b palabra en forma shdtdnea. ~ f i d F + UF pdentoipralelo a un nivel m8s alto de complejidad al h d = % e ' s IonHm1es que ejecuten Operanbna idhticao Q difqqbs. .El procesamiento pwwo pmde cangiderarse desde diversos niveles de . las op&adones adtmeticas. eistinguhw entre operaciones seriales y para]. bajo la supervisi611de una unidad de control.de m e r a simd&@. A la memoria + ñqiistmde pmadw w * .cornplqi&d: &-el n i w d m& bajq. Figura 9-1 Procesadar con unidades funcionds miiltiples..

en el flujo de datas o o ambo%. uría organlzacih inultihi6iml esti! seda con una unidad de control &ompl~$h $&a. El sumador y el multiplicadof de enteros ejecutan las opera~iones aritm4tkas ton f i h & o s mitim~.unidades M&d& que m paralelo. ion fnriependientes una de otra. dependiendo de *la opwaci6n respeci%tcada. kmfsrría Instmc&n de la unidad de control. cootdinar todas la$ actividades entre los diversos componentes.de una computadora única que contiene una unidad.de datos d t i p l e (MIMD) SISD representa la o@nizaciGn . pbr lo que puede recomme uh nthliem rhiehttas otrb Ge incrementa. pueden . I.el procesridor constibyen un flujo de datos.Las instni~ionas.uniúilass fintiihdJes mtiii$piIes ta figura 9-1 muestra u m manera posible de separar la unidad de ejecutik en ah~. Za operacibn normal de una computadora es recuperar instrucciones de la memoria y ejecutarlas en e l p r e a d o r . b s operandos eh los registrds s ' e aplican a una de las unidades. La aperacib . Las operacie nes ejecutadas -sobreIlm datos m . paralela pude logtarse mediaiike unidades funcionales múltiples o mediante u n arquitectura paraleh. flujo . Lri -unidad de memoria compartida debg contener >~6ddos. En este caso el pmmiepito. de incremento. fliljp . La clasificaciún de FIpn divide a las computadora~en cuatro grupos principales de la manera siguiente: m Flujo de Fiuj~ de Flujo de Huj'? de instruccih Único.se ejecutan en forma m e n c i a l y el sistema puede o no tener posibilidades de procesamienko paralelo. Una clasificaci6n presentada por M. SMD r e p r e s a t a una orgadzacihn qrre incluye muchas unidades de procesamiento bajo la qmvisión de una unidad cte control cornk. pera operan sobre diferentes eonjuritos de datos. Todas las unida de s. Todos 1 s p-Ores r & i . Fiynn considera la orgmi~ci6n de un sistema de computadora mediante la cantidad de instrucciones y unidad= de datos que se manipulan m forma simultánea. flujg datqs h i c o (SISD) instruccí6ii ~i&Co~-&jode 'datos múltiple (m) instruccibn mLltiple.ejecutada en dada unidad fundonai se-hdica en cada bloque del diagrama. Por l o genaal. J.A~ ~etaciones de puntb flokante se separan eri kres c i d h s que operan en par#lelo. Las operaciones 16gicas de mmimiento p . tina unidad de procesador y una unidad de memoria. Puede considerarse a partir de la organbci6n interna de 106 procesadores.la memoria constituye un pujo de insfrucciunes. desde i a estrudura de interconexión entre los procesadores o desde el flujo de informacl6n a travds del sistema. múliltipIes para 'que -pueda comunicarse con .. . La secuencia de instrucciones leída de. Existen varias maneras de clasificar el procesamiento paralelo.dedatos iInieo (MISD) instmcci6n mdltipie. El procesamiento paraldo puede m r i r en el flujo de instrucciones. mediante l a instiurrci6n asodada con los operandos.ejecuhme en forma concurrente sobre dfferentes d a b . de control.

que s e presentan en el capitulo 13. Es caracbistico de las heas que varios cálcuios puedan estar en proceso en distintos segmento& al mismo tiempo. Cada q p e n t o ejecuta un procesamiento parcial. El nombre "hea" implica un flujo de infonnacibn similar a una iínea de ensamblado industrial. Los registros proporcionan aislamiento entre cada ceso . La simultaneidad de los cailculos es posible al asociar un registro con cada segmento en k iínea. y cada subprose ejecuta en un segmento dedicado especial que opera en forma conaurente con los otros segmentos. E 1 procesamiento de vector se relaciona con los c4lculos que implican vectores y matrices grandes. E 1 resultado obtenido del cálculo en cada "gm@o s e transfiere al siguiente segmento en la línea. Exúatba las características de desempeño del sistema de computadora mis que sus interconexiones estructeiraks y operacionales. La estructura MiSD es s61o de interés tebrica porque no se ha construido h g h &terna prd~tico uiiLizmdo esta organhaciQn.datos han recorrido tados los segmentos. En este capitulo consideramos el procesamiento paralelo bajo los sitodos guientes temas principales: l. 9-2 Arquitectura p d e l a ta arquitectura paralela o de lineas paralelas (pipline] es una técnica m la que se descompone un prtrceso secuencia1 en subaperadones. ' IA dasiffmción de n y n n depende en la d ' b c i a en& d de$mpeno de l a unidad de control . Un tipo de procesamiento paralelo que no entra en la dasificaci6n de Flym es la arquitectura paralela @ipe-line)Las Sinicas dos categorías utilizadas de esta clasificaddn son los procesadores de arreglo SIMD. dictado por la manera en que se divide la tarea.y el de la unidad de procesamiento de datos. El resultado final se obtiene despuh de que 1 . La mayoría de los sistemas de multicomputadoras y multiprocesador pueden clasificarse en esta cateprh. Arreglo de procesadoma El procesamiento por arquitectura paralela es una técnica de implantaci6n en donde las suboperaciones aritmdticas o las faws de un ciclo de instntccibn de computadora w traslapan en su ejecuci6n. Procesamiento por arquitectura paralela Z P m c d e n t o de v-r 3. L a ocganjzación MIMD se refiere a un sistema de computadora~ capaz de procesar múltiples programas al mismo tiempo. Una línea puede considerarse como un conjunto de segmentos de procesamiento por el que fluye informacidn binaria. Los procesadores de arquitectura paralela ejecutan cálculos sobre a q l m de datos grandes. analizados en la secci6n 9-7y MIPVPD.322 cAPmnoNUEVE Paralelismo y pnxesamiento de v e c b los prwesadores simultáneamente.

E l multiplicador y el sumador son circuitos Figura S2 Ejemplo de ptmesamienio p d e l o . Supongamos que deseamos ejecutar las operaciones multiplicar y sumar combinadas con un flujo de n ú m m Cada suboperaci6n se va a implantar en un segmento dentro de la h e a . La organizacibn de la linea se mostrara mediante un ejempIo simple. Tal vez la m e r a más simple de apreciar la arquitectura de luieas paralelas es imaginar que cada segmento consta de un registro de entrada seguido de un circuito combinatorio. como se muestra en la figura 9-2 D e R1 a R5 son registros que reciben nuevos datos con cada pulso de reloj.segmento para que cada uno pueda operar sobre datos distintos en forma un demplo simultánea. El registro contiene los datos y el circuito combiitorio ejecuta la subope~aci6n en e l segmento particular. Cada segmento tiene uno a dos registros y un circuito combinatorio. Se aplica un reioj a todos los registros después de que ha transcurrido un tiempo suficiente para ejecutar toda la actividad del segmento. Al B 1 ci . La d i d a del circuito combinadonal m un segmento dado se aplica al registro de entrada del siguienk segmento. D e esta manera la irdormaci6n fluye por la Unea un paso a la vez.

E m I tercer pulso de reloj opera sobre los tres segmentos en forma simultánea.con d a b s nuwos en cada pulso de reloj. ~denhode Rl y m. l*R44. B : * l R . y B. transfiere C. El primer pulso de reloj hanskm .R2 dentro de R3. Esto sucede en tanto fluyan nuevos datos denh del sistema. el reloj debe continuar hasta que emerge la iriltima salida de la línea. Las suboperaciones ejecukadps en c d a segmento del conlas siguientes: RI+Ai. de reloj pbciuce una nueva salida y mueve los & k m un paso adebnte en la lhea. hhltiplicar E introducir Ci Sumar Ci al aroducto + ~4 m &e0 ~+tm se cargan. h TABLA P1 Contenido de l e g i s b en e l ejemplo de arquitectura paralela Ji*Bi Az* Bn A3*B3 + Ci + Cz + C3 Al* B q C 4 As*& + C s A** 3 6 + C 6 AI* B. + Consideraciones generales Cualquier operación que puede descomponerse en una secuencia de suboperaciones de aproximadamente la misma complejidad. El sepndo pul. Se necesitan tres pul&&de e l o j para llehhr la lhea y recuperar la primera salida de ES.Ai y Bl. transfiere el producb de R I y R2 dentro de R3. + C. i i a &nica es eficiente para . Coloea a A. Cuando ya no hay datos de e n k h disponibles. rel~j trans8ere:d p d h * de-R1 y. puede implantarse mediante un pcoeesador de arquitectura paralela. y B3 dentro de R 1 y R2. De ahf en a d h t e . R2?3.de. dentro de R4 y coloca la suma de R3 y R4 dentro de R5. cada ciclb.ducto son A'. R4+ Ci ~5-33 Ft+ue.ir A. csmbinatorios. E 1 mismo pulso de reloj tramfie~e & y B~ dentro de R1 y R2. El efecto de cada pulso de reloj se muestra m la tabla 9-1. y Gl$entro de R4.

sólo se necesita un p"1ado de reloj para obtener una salida. se ilurba en la f i g u ~ 9-3. porque existen ke a . E l diagrama espacio-tiempo de un conducto cori c u a b segmentos se muestra m la figura 9-4. el segmmto '2. La primera tarea TImcdhun tiempo igual a ktP paga coiqdetar su operacibn. p t a tqmpleiar-todas hs opciones e~ 4 + (6 . egkn e iIidic~-en el &&rama.t R 3 + S4 + R4+ A - - Figura 9-3 k e a paralela & cuatro segmentos. D e ahí adelante. E l diagrama muestra seis tareas de Ia TIa la T . Por ejemplo. Ims n4--1tareas restanb emergen de la h e a a una wlwidad de una +ama p ~ d r c b de reloj y se termhrAn después de un .1) = 9 ciclos de reloj. .arquitectufa paraleía puede ilustrarse mediante un diagrama espacio-tienipo.Por lo tanto. La. Este &S un diagrama que muestra Ia utilizacidn del %menta como una funcibn del tiempo. &$lento consta de un circuito comhiaiiicisnd si que ejecuta rina subopraci6n sobre e l flujo de datos que fluyen por la U ~ E L b segmenws se separan mediante registros Ri que cbntien8h 'lb$ resultados inkrmedfos entre las etapas. El eje horizontal muestra el tiempo en ciclos de reloj y el eje verticai proporciona el número de qpnento. La informacidn fluye entre dapaa adyacentes baja el control de ua reloj comilin aplicado a todos tarea los regis!ms en forma simultánea.repetir la misma tarea muchas veces con dikwtes wnjunw de . Ri+ 1 S2 + R1 t S3 . diagrama espacio-tiempo de-pefid de la . Al continuar de esta manera la primera tarea TIse completa despuks del cuarto ciclo de1 reloj. el diagrama deyfigura 9-4 muestwcuawi &qfrri&bs y seis tireas. El tiempo r e q d d o . Al princip'o. la Unea completa una tarea en cada ciclo de reloj. LOb opnandos recorren los cuatro s e g m e n t m en uns secaenda fija Ca6. prlmer Giclo de reloj.1) 'cidosde reloj. ejecutadas en t u a m egmentos. m4 Entrada " F SI C . No importa cuantos segrnentm existan en el sistema.aqueIlas aplicaciones que necesitan.e@mctura general de una línea de cuatro qpentoi. Ahora ~ ~ ~ s i ~ n icaso o sen ~ donde e l selutiiiza una línea de k segmentos para ejecutar n tareas con un tiempo de ciclo de reloj t.tiempo igual a (n . para compkhr n tareas utilizando una bezi de & se ntos & : n d í m k + "($t . l'a tarea TIse maneja mediante el segmento k hqm& del. una vez que la linea está llena.enla %ea. Defjnimos una tarea como la operaci6n total ejecutada &do w recorren 'todos Ios Begrnentos en l a Ift~ea.datqs. estii ocupado can T p mientras que e l segmento 1 est4 oreupdu con la tarea T2.l)t..

la aeeleracibn se reduce a: Esto muestra que la miixima acelemci6n tddca que puede pmporcionar un d u d o es k. la aceleracibn se convierte en: + S i consideramos que el tiempo que se necesita para procesar una tarea es igqd m una arquitectura paralela y en una no paralela.y k n . + . para completar cada tarea. E l sistema de arquitetura paralela necesitad (k + tn .tiempo para iínea paralela. A continuación considemm una unidad de arquitectura no paralela que ejecuta la miama operad611y requiere un tiempo igual a f.l)fp = (4 99) X u] = 2060 ns para terminarse. Para hacer más claro el s i e c a d o de la rielaeión de aceleracidn.. Sea t.88. El tiempo total requerido para n tareas es n f . IA aceleradn de un prmesamimto por arquitectura paralela sobre un procesamiento no paralelo equivalente se define mediante la relacih: Conforme aumenta h cantidad de tareas.1 se aproxima a1 valor de n. Considemndm que f. L a relaci6n de aceleración es igual a 8M30/2060 = 3. en donde k es la cantidad de segmentos en e l conducto. n se vuelve mucho más grande que k . tendremos f.1 . = €4 = 4 X 20 = 80 m. Bajo esta condici6n. = 20 ns e l tiempo que s e necesita para pmu>cesar una operación en cada segmento.Figura 9-4 Diagrama &acio. = k$ Al incluix esta supo&i&n. Consideremos que la tiene k = 4 segmentos y ejecuta n = 100 tpras en m c i a . un sistema de arquitectura no paralela necesita nktp = 100 X 80 = 8tMO ns para completar las 100 tareas. consideremw el siguiente ejemplo numérico.

en donde están cmeados en paralelo amtro h i t o s idénticos. En l o que se refiere si la v w d a d de operacidn esta es equivalente a una línea con cuatro segmentus. lo cual es igual al número de segmentos era el conducto. Ademiis no siempre es correcko considerar que un circuito de arquitectura tiene el mismo r e k : de ~ tiempo que un &mito con ~~a paralela equivalente. como en una Unea.Corsforme auentai d n r o de tareas. Esto provoca que los otros segmento8 desperdicien tiempo mientras esperan el siguiente ciclo de reloj. porque se u t i h Ja misma instrucción para T r a r sobre datos múltiples en paralelo. por lo general puede ~onstruirsepor completo como un circuito combinatorio. Los diferentes segmentos pueden requerir tiempos diferentes para completar su suboperacih. Para duplicar la ventaja de velocidad tebrica de un proceso paralelo mediante unidades funcionales mdltiples. N 6 W que el circuito de cuatro unidades de Ja iigura 9-5. Esto se ilustra m la figura 9-5. la acderaci6n se acercarA a 4. N o obstante. Debe elegirse e l c i c l o de reloj para que iguale el titiempo de retraso del segmento con el máximo t i e m p o de propagación. la acelaacibn se toma 60/2Q = 3. Si consideramos que t. En lugar de operar con los datos de entrada en secuencia. Existen varias razones por las que una arquitectura pardela no puede operar a su máxima velocidad &rica. los circuitos paralelos aceptan cuatro conjuntos de datos de entrada en forma simultánea y ejecutan cuatro tareas al mismo tiempo. . MuScos de los W t r u s inhmdios no se en un M t a de una sola unidad d cual. constituye una organhcián de instmcci6n hita. Cada circuito P ejecuta la misma tarea de un circuito con arquitectura paralela equivalente. es nexsario construir k unidades idénticas que operarán en pacalelo*Esto implica que puede esperarse que un pr-dor de arquitectura paralela de k segmentos iguale el desmpeíío de k copias de un circuito de arquitectura no paralela equivalente bajo condiciones de operad611iguales. k técnica de arquitectura paralela proporciona una operacibn más +da que una secuencia puramente serial. = 60 n s . datas múltiples (SIMD). aunque nunca se b p por m m p h la dima velocidad Urica.

Se comparan los exponentes al restarlos para determinar su difeencka. Comparar los exponentes. Una línea aritméticas divide una operación aritmética en suboperaciones que se ejecutan en los segmentos de la línea. Alinear [Ias fnantisas. . Una línea de insfwmiones !opera sobre un flujo de inst~ucciones al sobreponer las fases de recuperación. Ndhnalizar el resultado. un multiylicador de arquitectura paralela es un arreglo multiplicador como el que se describe en la figura 10-10. en tanto que a y b son los exponentes.tmética 9-3 Por lo general. Puede ejecutarse la suma y resta de punto flotante en cuatro segmentos. 4. La diferencia entre exponentes determina cuántas veces debe ejecutarse un corrimienko a la derecha sobre la mantisa asociada con el exponente menor.suboperaciones. Se usan para implantar operaciones de punto flotante.328 CAP~TULO NUEVE ParaIeEsmo y procesamiento de vector Existen dos áreas de dieefio de computadoras en las que es aplicable la organización paralela. Debe notarse que el clorrimknto debe estar disefiado como 'un circuito combina- -m m . como se muestra en la sección 10-5. Los registros etiquetados R se colocan entre los segmentos para almacenar los resultados intermedios. Las entradas para la línea sumadora de punto flotante son dos números binarios normalizados de punto flotante. a PPICIILi - 1 . Las operaciones de p~opagaciSn de punto flotante se descomponen con facilidad 'en. En esencia. Ahora mostmremos un ejemplo de una unidad paralela para suma y resta de punto flotante. pero se usan algunas variaciones para reducir el tiempo de ejecución de las suboperacimes. Esto se apega al próeedimiento delineado en el diageama de flujo de la figura 10-15. 2. c m sumadores especiales diseñados para minimizar el tiempo de acarreo mediante los producbos parciales. 3. como se muestra en la figura 9-6. En las siguientes secciones se ejcplican los dos tipos de líneas. se encuentran unidades aritfnéticas dk arquitectura paralela en computadoras de gran velocidad. Sumar o restar las mantisas.decodificación y ejecución del ciclo de instrucción. 4 + ? ! Línea #paralelaari. b t o provoca un alineamiento de las dos mantisas. Las suboperaciones que se ejecutan en los cuatro segmentos son: -- . Se escoge el exponente mayor como el exponente del resultado. A y B son dos fracciones que representan las mantisas. multiplicación de números de punto fijo y cálculos similares encontrados en problemas científicos.

SECCI~N 9-3 Línea paralela aritmética 329 a Exponentes b Segmento 2 : Segmento 3 : segmento 4: Figura % Arquitectura paralela para suma y resta de'punto flotante. .

9 que el sumadar no paraielo. la mantisa de la suma o diferencia s e recorre a la derecha y el exponente se incrementa en 1. - Esb-alinea las dos mantisas bajo e l misma exponente. el sumador paralelo tiene una aceleracidn mayor 320/110 = 2. la cantidad de números O significativos en la mantisa determina el número de conhientas a la izquierda y la cantidad que debe restarse del exponente. Pqr simplicidad utilizamos números decimaies. 3. s u ~ t r a c b tincremenkador ~. EI siguiente segmento z r x o m a la derecha la mantisa de Y para obtener: . . Consideremos los dos números de punto flotante normalizado& Se restan los dos exponentes en e l primer segmento para obtener 3 . como el exponente del resultado. sunador. = t3 -it. En este caso. .torio para reducir el tiempo de corrimiento. t3 = 100 ns. E s k o se hace aI ~ o x r e a r la derecha una vez la ~antisa e kmmentar el alponente en 1 para obtener l a suma normalizada. i t2 + t3 + t4 + t. y decrementador con circuitos combinatorio. f2 = M ns. corrimien. = t. Si ocurre un sobreflujo. t4 = 813 ns y que los registros de interfaz tienen un retraso de f. E 1 resulkado se normaliza en el segmento 4.2 = 1. En la linea paralela de punto flotante se implantan el comparador. Las dos rnanfisas se suman o restan en el segmento 3. Se escoge el exponente más grande. = 10 Se ~ l m i o n a d ck10 de reloj para que sea 1. aunque Ia figura 9-6 hace derada a números binarios. = 320 ns. tendra un retraso t. Cuando ocurre un sobreflujo. Supongamos que los retrasos de tiempo de los 4 segmentos son ti = 60 ns. Un sumador-sustractor de punto flotante equivalente no paraido. = 1 1 0 ns. i a suma de las dos mantisas en el segmento 3 produce la suma: Se ajusta l a suma al normalizar el resultado para que tenga una fracción con un primer d@to diferente de IE. El siguiente ejemplo numérico puede achrar las suboperaciones que se ejecutan en cada segmento.b..

evitardn que la línea paralela de iristrucciones funcione a s u vel&dad máxima. ' . en espera que lo decodifique y procese el segmento de ejecución. El registro intermedio actiia como una cola de la qye el control obtiene las instrucciones para la unidad de ejecucibn. i a cmtpbcioms m hsbmmíones compleja reotras fases a d e d s de las de tecuperacibn y +ci6n para p m t por completo una insbudh ñ n el easo mi4s general. provocando que un segmento r e hasta que o t r o termine su c o m u n i c a ubn. Una línea paralela de instrucciones lee inshuccionea ronseativas de la memoria mientras. c s c b L * El procesamient~por h e a paralela puede ocurrir en el flujo de datos y también en e l flujo de instnicciones. en otros segmentos. . se resuelven los conflictos de acceso a memoria al usar m). puede colwarse un flujo de instnicciones en una cola. Dos o d s segmentos pueden requerir el acceso a la memoria al mismo tiempo. Por ejemplo. El mecanismo de formaci6n de colas con flujos de nin&u&nes proporciona una manera eficiente para reducir e l tiempo promedio de acceso a memoria para leer instrucciones. la unidad de aonhol.Deeodificar i a instrucción. Par l o tanto. 5. hede imphkarse el segmento de recuperaci6n de XIlk tniaciones mediante un registro intermedio (buffer) primero en entrar. L los operandos de h memoria. Existen Éiertas diuc&& q u . Las instrucciones se hsertm en el registro intermedio FZFO para que puedan ejecutarse en un &quema primero en entrar. primero en salir. una instnicci6n de modo de registro no necesita un &culo de d i c i ó n efectiva. el contd Uncrementa el contador de programa y utiliza su valor de d i c i 6 n para leer instnicciones consecutivas de la memoria. Una pmibk di~pesibn asociada con tal un brinco fuera de secuenkuema es que una insmiccibn puede cia. se eiecutarr instnicciones anteriores. . En ocasiones. primero en s a h Este es un tipo de unidad que forma una cola en lugar de una pila. debe vaciarse h línea y deben descartarse todas las instnic ciones que s e han leido de la memoria después de la instnicci6n de brinco.. 1 . 6. 3. Segmentos diferentes pueden necesitar tiempos diferentes para actuar sobre la información que ilega. . la computadora m i t a prmesar d a inst n i d 6 r i con l a siguiente secuencia de pasos. Consideremos una computadora~on una unidad de recuperacibn y una unidad de ejemcibn de instrucciones d k h d a para proporcionar una lhea de dos segmentos. 2 . Cuando h unidad de ejecuci6n no e s t i usando la memoria. Almacenar el multado. inicia la siguiente fase de recuperaci6n de instniccions. Cuando hay espacio en e1 # e g & ~intermedio FEO. En tal caso. :Ejecutar la instnicei6n. R m p r a r la instrucci6n de la memoria. Cakuiar la &recci6n efectiva. en el lugar adecuado. Se saltan algunos segmentos pata &&as operaciones.9-4 Línea paralela de instrucciones t .

E l diseno de una línea paralela de iristruccime =A m6s eficiente s i se divih.memo* par$ qc-w 4s insbgcgiones y los datos en mbdulos separados. Dé esta Manéra. Ejemplo: Línea parlela d e . y de h m m como se ejecuta. el ciclo\.de instrucciones en xgmentas de igual duracibri. Además. j .unsegmento la decodificaci6n de la instrwci&n y el ~ $ 1 4 de0 la & i i 6 n ektiva. El tiempo que. funci6n depende de la instrucción .das can&s. pueden leer& en forma simultánea una palabra de instrudbn y una palabra d~ datas de dos mdduloc diferentes. ~ h s ~ c c i o nde e s cuatro segmentos Consideramos que pueden combharse a . consideremos que la mayoria de las i n s ~ ~ o n whcan es e l multado en un registro de A I Figura 9-7 hquitectura paralelg de Uüde cua@ scgmcntm.de .neelesltacada p a paral terminar su. .

Por lo tanto. 2. Figura 9-8 Temporización de línea paralela de instrucciones. La figura 9-7 muestra como puede procesarse el ciclo de instrucciones en la CPU con una línea paralela de cuatro segmentos. De vez en cuando. los cuatro segmentos se representan con un símbolo abreviado. 1 . En ese caso. DA es el segmento que decodifica la instrucción y calcula la dirección efectiva. cuando está disponible la memoria. Después. FI es el segmento que recupera una instrucción. La figura 9-8 muestra la operación de la línea paralela de instrucciones. En el diagrama. En un circuito aritmético separado puede calcularse la dirección efectiva para la tercera instrucción y. De igual manera. para que la ejecución de la instrucción y el almacenamiento del resultado puedan combinarse en un segmento.SECCI~N 9 4 Línea paralela de instrucciones 333 procesador. la línea paralela reinicia a partir de la nueva dirección almacenada en el contador del programa. 4. FO es el segmento que recupera el operando. una instrucción en la secuencia puede ser del tipo de control de transferencia del programa que produce un brinco fuera de la secuencia normal. El tiempo en el eje horizontal se divide en pasos de igual duración. hará que se "vacíe" la línea paralela y vuelva a iniciar a partir de un nuevo valor de dirección. se terminan las operaciones pendientes en los últimos dos segmentos y se borra toda la información almacenada en el registro intermedio de instrucciones. la siguiente instrucción en secuencia se ocupa en recuperar un operando de la memoria en el segmento 3. Mientras se ejecuta una instrucción en el segmento cuatro. Esto reduce la línea paralela de instrucciones a cuatro segmentos. pueden recuperarse y colocarse en una localidad del registro intermedio FIFO la cuarta instrucción y todas las subsecuentes. EX es el segmento que ejecuta la instrucción. pueden traslaparse y estar en proceso hasta cuatro suboperaciones en el ciclo de instrucciones. 3. . cuando se reconoce una solicitud de interrupción.

CmjZrClos de recurso$. Si w da la transhcias .provocados al a la memoria dos gegmentos diferentes. separadas.normal.DA de las otras instrucciones. e n el ~ p w i t DA n . Tan pronto com~.seb hodifica esta hímmi6n en el segmento DA m e3. En auSencia de una instnicci6n de .la hstmicción recuperada antes. puede ocurrir una dependencia de direccibn. en e l paso 4. De igual manera. hasta que se. mediante una instmcci6n anterior en el segmento EX.uí$za~ memorias de instrucciones y de datos sepawdw.den rgsolverge al .~&erencia. existen tres dhultades principales que provocan que una iínea de instruccbnw se apam de su operacibn. Por ejemplo. Si no i da la . cmflict~e de condwto Se considera qge el pr.X. cada segmento *pera m b imshuc. 2.el opera~do para la hstruccihn 2 se -pera en ei &en@ FQ. ~ 8dfmmtes. '3. Por l o tanto. la segunda. hasta que d . q m t EX ~ haya knnhad~ su operacibn. Gran parte de estos conflictos pue.Puede o& QQO retram en la línea si 4 segmento EX necesita almaqmar 4 respltadg de la ct-ación en la aiemoria de datos mientras el segmento FQ w i t a recuperar . una insbfucci6n en el segmento FO puede necesitar un operando que se está generando.s de instrucciones y datos . pero éste todavía no está disponible.se nwa hstruqci6n en e1 paso 7.un operando. producen difrcuttades de hnsferencia de control a partir de instrucciones que modifican el valor cid FC. Ocurre una rolisi6n cuando no puede avanzar una instrucei6n porque ciertas . Ocurre una dependencia de datos mando una Xnstrucci6n necesita datos que todavfa na est& disponibles. e decodifka la instnicri6n 3 y en-dsegpenta se m p e r a & la memoria la instrucción 4. al mismo tiempo. se 4-b la inskrucWr) m q y n e n t ~ .instrucción debe esperar a que la primera instnicci6n le deje disponibles los datos. en en momento.Por l o tanto.mmado~ time nwwx!ia. puede uwme . . al mismo tiempo. Surgen conflictm de depen&ncia de &tos cuando u n a uistrucción depende dd resultada de una anterior.instnicci6n de transferencia de control en el paso 6. ' En general. Sugongzm~s que k h í p i i 6 n 3 es yna ipstmi&n de transferencia de control. 1 .ejecuta la . +pu&(: la k a paralela. co&úa la efeeucibn hasta que se encencyehtca una nueva htmmi6n de trawfmncia de control.por +bque pude avanar la l~peracibn en FI y FO. Dependencia de los datos Una dificultad que puede producir una degradaci6n del desempeño en una línea paralda de instrucciones se debe a una posible coIisi6n de datos o direcciones. e1 segmento FO debe e s p p r . paao 4 se detiene b transferencia de Fi a...trans£erencia de control.. en d pasa 4.Pne$.instruccionesprevias no terminan sus operaciones. En ese caso. cuando no puede calcularse una direccidn de operando porque .

Un verificador vsrifica&res es circuito que . utiliza hardyare especial para detectar un comfiiqto y despu4s evitarlo pl direccinnar b s datos mediant e trayectorias espwiaIes entre segmentos de la Ilnea. Este enfoque mantiene la secuencia de programa al usar hardware. Este m6todo s e cafgp pclspuesta de~~omina carga psPwstEi O retardoda. eR la siguiente seccibn se presenta un ejemplo de este prwe. Manejo de las instrucciones de transferencia de control Uno de los problemas priiicipales al operar uii conjunto de instrucciones es la aparicidn de instrucciones de transferencia de control.mdquina. el acceso del operando en la memoria &be retras. auatrcs de operandos Qt~. una instrucción cQn modo de direccionarniento indirecto por registro no puede avanzar a recuperar e l operando si l a instrucci6n anterior esth cwgando la dirección en e l registro.no e@ disponible la informacidn que necesita el modo de direccionamiento. pasa el resuhado dimctamente la entrada de la ALU. Una transferencia incondicional siempre altera el fiuja secuencia1 de1 programa al cargar e l coiitadar de programa con la direcci6n objetivo. cirmitos E l mbtqdo más d b t o es h r t a r circuitos vertjímdores.direcci6~ querida. si se necesita como fuente en la siguiente instrucción. En una instruccidn condicional. La detección de esta situaci6n hace que la iiistrucci6n cuya fuente no estd disponible se mtrw suficientes ciclos de reloj para evitar el omfiicto. L s computadoras w n arquitectura paralela enfrentan tales conflictos de dependencia de datos de divasas maneras. E l compilador para tales computadoras est& &&a40 para .atécnica. para insertar los retrasos requwidos.necesario al retrasar l a carga de . la circuikria comprueba el operando d e s h a y.&ieiito.hasta que está disponible la. el controI selecciona l a direccibii objetivo si se satisface la rogdicibri o la siguiente instrucció~i secuencia1 si no se satisface. la responsabilidad para resolver los probJ9as de connictos de datos. Por ejemplo en lugar de transferir un resultado de la . Como se mencion6 antec. llamada a w i ~ c ede oprnndos. Por lo h t o ..ALU a un registro destino.detecta ktnicciones cuyos operandos fuente son destinos de instrucciones que se encuentran m6s adelante en la línea.los datos en confiicta por medio de la inserci6n'de instrucciones de no coperación. Las computadoras con . Este rnktcrdo necesita trayectorias de hardwmm a&cioililIes por medio de multiplexores y el circuito que detecta el cmflicto.detectar un conflicto de datos y reordenar las instrucciones conforme sea. sin accesas el archivo de registros. produciendo dificultades en la aperacibn de l a Iinea paralela de instrucciones. la instrucción de transferencia de control interrumpe la secuencia narmaI del flujo de instrucciones. Un procedimiento empleado en algunas carnputadoras es proporcionar 4 campitador que @aduceel lenguaje de programacibn de alto nivel a un pmgrarna de lenguaje de . Una instruccidn de trarisferencia de coiitrol puede ser condicional o incondicional. Por ejmplo.

registro de r#tlpifi~~~ción objetivo arquilectura partilela emplean d h t e s técnicas de hardware para minimimr la degradaÚ6n . que se mantiene en e l segmento de remperaci6n de instruceisnes de Ia linea paralela. En ese momento. El BTB es una memoria asociativa (v&ase la secci61112-4) incluida en el segmento de recuperación de la lhea. la línea paralela conkin$a a partir de ia lashucci6n objetiva de la transferencia. decodifica una iastrucci6n de transferencia. Este es un pequefio archivo de registros. sin interru~iones. Si está eíi el BTB. Una variante del BTB es el registro deciclo. Ambas se guardan hasta . la ventaja de este esquema es que las inshmiones de transferencia de control que han ocurrido con anticipci6m 6 disponibles con fadidad en la iííea. sln tener quemaccesar la memoria hasta que se retira el modo de ciclo con la transferencia de control final. se almarena por compleito en el registro de ciclo. En este prdimienpof el pmxsador detecta las instrucciones de transferenria de control y reordena la secuencia de código de lenguaje de mdquina al ihsertar'instniceiones iitiles que conservan s i n interrupciones la operaci6n de la línea paralela. Una exknsi6n de este p d i miento es c~ntimuar la muperaci6n de insbmccciones de ambos lugates hasta que se tome la detisi611 de la transferencia. incluyendo todas ias trmferencias. Otra posibilidad es usar un wghfro de ratrnFcación objetivo (branch target buffer. se puede dispdner de la inshrucci6n en forma directa y la recuperacibn roh anticlpatibn cantinúa a partir de la nueva trayectoria. El ciclo de programa puede ejecutarse en forma directa. También almacena unas cuantas htrcicciones que se encuentran despiiés de la instruccidn objetivo de la trmsfemcta. busca I a memoria asociativa BTB para la dlmd6íi de la Instrucci6n.del desempeño provocada por las instruccioiies de transferencia de control. Cuando l a hea. Cuando se detecta un ciclo de prcrgrama.que se ejecuta la transferencia. la línea paralela cambia a un nueva ciclo de instrucciones y almacena la instrucci6n objetivo en el m. Una maner'a de manejar una transferencia condicibnal es recuperar con anticipacibn la ciireccih objetivo. Si la condición de la transferencia se cumple. Una arquitectura paralela con prediccibn de transfe@ncie de control utiliza cierta(kgica adicional para predecir el resultada de una instruccin de transferencia condicional antes de que se ejecute. Cada entrada en el BTB consiste en la instnicci6n de transferencia recuperada con anticipaci6n y la instrucc"i6n objetivo para esa transferencia. Otro pmcedbiento que utilizkn algunas computadoras es la prediddtr de trrinsf~enck de wntrot y tinm praieh. además de la instmccibn que sigue a la transferencia. Un ejemplo de transfe- . flujo de imskuccianes de la secuencia de programa correcta. de muy aIta velocidad. BT3). el control seleccima el. Un procedimiento usado en la mayoría de las procesadores RTSC es la trmferench -!a O retardada. Una predicci6n correcta elimina ei tfempo perdido causado por el proceso de transferencia de control. Despub. la Iinea paralela empieza a recuperar con anticipaci6n el flujo de instrucciones de la trayectoria predicha. Si la instrucci6n na estd en el BTB.

No es posible esperar que cada instrucción se recupere de la memoria y se ejecute en un ciclo de reloj. En realidad. En la siguiente secci6n se p m t a m ejemplo de transfemch de control pospuesta. rencia retardada es la iriserci6n de w a instnicci6n de no operación d w & de una iristnacei6n de transferencia de conSro1. las iristrucciones de transferencia de datos e s t h limitadas a bs instrucciones cargar y almacenar. Eiitre las caracteristicas que se le atribuyen a RTSC está la capacidad . al requerir sólo un d o de reloj. durante h ejecución de la instniccibn de no ope~ati6n. E l a s instrucciones utilizan un dimcioiiamiento Mirecto por registros. en tanto la S E utiliza muchos segmentos en su arquitectura paralela y e i . Puede usarse la sencillez del conjunto de instrucciones para implantar una linea paralela de instrucciones con un número pequeílo de operaciones y que cada una se ejecute en un ciclo de reloj. 9-5 Arquitectura paralela RISC En la seccibn 8-8 se present6 la computadora con conjunto reducido de histrucciones (RISC). Como se meiicionb mi la = & n &8. lo que se hace es empezar cada instrucción con cada ciclo de reloj y mediante su arquitectura paralela el procesador logra e l prophito de una ejecuci6n de instruccibn en un solo ciclo. Puede usarse un tercer segmento para almacenar el resultado de la operacidn de la ALU en un registro destino.segmento mis grande requiere dos o &S ciclos de reloj. Un segmento . la decodificación de la operaci6n puede ocurrir a1 mismo tiempo que la selecci6n de registro. gran parte de Ias máquinas TUSC u t h dos canales separados con dos memorias: una para almacenar hs iiistmccioiies y otra para almacenar l o s datos. .recupera la hstrucci6n de la memoria del programa y el otro segmento ejecuta la instrucci6n en la ALU. Como todos los operandos estsin en registros. necesitan tres o cuaba etapas en e l egme~ito. una de las principales ventajas de la IUSC es su capacidad para ejecutar instrucciones a una velocidad de una por ciclo de reloj. Por 10 tanto. ejwidn& fnstmcctión eii un solo cid0 En la arquitectura RISC. Debido al formato de instrucciones de longitud fija. Esto hace que la computadora recupere la b c i n nbjetivo.deusar un conjunto de instrucciones eficiente. En algún momento. Para evibr mnElietos entre un acceso a memoria con el fin de recuperar una instrwcibn y cargar o almacenar un operando. Por lo general. las dos memorias pueden opwar a la misma velacidad que el reloj de la CPU y se denominan memorias cach6 (véase la sección 126). La ventaja de la R15C &re la CICC (computadora con conjunto de hstsucciones complejo) es que la RTCC puede h e r segmentos paralelos. l o que permite tener un flujo continuo del conducto. no es necesario calcular una dirección efectiva o recuperar operandos de la memoria. Todas las instrucciones de manipulacibn de datos tienen operaciones pgistro a registro. J a línea paralela de instrucciones puede implantarse con dos o tres segmentos.SECU~N $5 hquite&ma paralela 3 i S C 33'1 .

La ALU se utrliza para tres funcione diferentes. El seginento B dirige la laida de la ALU a uno de tres destinos. Ejecuta una operaci6n para una instrueci6n de madpulaci6~ de datos. ra. Las instrucciones de m k a l de transferentia del programa utilizan valores de registro y una constante para evaluar. Consideremos a b r a la operación de hardware para dicha computadp. Ejemplo: Unea paralela de instrucciones de tres segmentos Uh conjunto +pico de instrucciones para un prúcesador MSC se a l i s t a en b tabla 8-E.por transferencias de control. L o s siguientes ejemplos muestran como un compilador puede oplimizar el programa del lenguaje de d q u i n a para compensar los conflictos de la arquitectura paralela. La unidad del pme6ador m s t a de un namero de registros y una unidad aritmBtlca 16gica (ALU) que ejecuta las operaciones ariúnéticas. maltia la direecibn efectiva para una instruccibn de emga o heen. la cual se transfiere a un registro o al contador de programa PC. El ciclo de imstrucei6n puede dividirse en tres suboperaciones e implantarse m tres segmentos: 1 : Recupmci6n de instnicci&n A . ta secci6n de control recupera la instntccí6n de la memoria del programa dentro de un registro de instnrcci6n. dependiendo de la instrucci6n codificada. Operaci6n de la ALU E : Ejwufar instruccidn El zepento 1 recupera la instruccibn de la memoria del programa.aWentci o calcula la direcci6n de traderencia para una ~ ~ c c i Q n de transferencia de control del programa. ias instrucciones de transferencia de datos son Mstrucciones de aarga y almacenamiento que utilizan una direcci6n efectiva obtenida de la suma del contenido de dos registros o . los prmesadores RlSC se basan en la eficiencia del cornpiiador para detectar y minimizar los retrasos que se encuentran con estos problemas. 16gkas y de corrimiento. la direecibn de transferencia. . La instru~ción se decod&a y se ejecuta una operacih ALU en el segmento A.En esta hhla apreciamos que existen tres tipos de instrucciones. ias instrucciones de rnanipulaci6n de datos operan sobre los datos en l o s registros del procesador. La instnicci6n se decodifica al mismo tiempo que se seleccionan b s registros necesarios para la ejecuci6n de la instrucción.suporte de cowi~or Otra caracterlstica de la RISC es el soporte que proporciona e l compilador que traduce él programa de lenguaje de alto nivel en un programa de lenguaje de m6quirra.de un registro y un desplazamiento constante proporcionado a la instrucci6n. Se usa una memoria de datos para cargar o almacenar los datos de un registro seleccionado en el archivo de registros. T h lugar de diseliaf hardmre para manejar las dificultad& e i a d a s con conflictos de datos y pérdi&c. dependiendo de la imstrucci6n decodificada.

Transfiere el d t a d o de la operaci6n ALU dentra de un ~ g i s t r o destino en e l d v o de registras. Transfiere h direccih efectiva a una memoria de datos para cargar o alnacenar o transfiere la dirección de transferencia al contador del programa.
Carga pospuesta o retardada Cansideremos ahora la opefacibn de lae .cuatro instrucciones siguien&

S i Ia hea paralela de tros mgmentos avanza sin intermpciona, habrd un conflicto de datos en la instnicci6n 3 porque el operando en R2 todada no está disponible en e l segmento A, Esto puede apreciarse a partir de la temporizacibn de h lhea paralela que se muestra en la figura 9-9a. El segmento E m el d o de reloj 4 se enmentra en d proceso de colocar los
Figura 9-P Toilporizaeih de tlnea p d e h de.im . t o s .

340

CAP~TULONUCVE Paralelismo y procesamiento de vector

datos de la memoria dentro de R2. El segmento A en el ciclo de reloj 4 está utilizando los datos de R2, pero el valor en R2 no será correcto porque todavía no se ha transferido de la memoria. Depende del compilador asegurarse que la instrucción después de la instrucción cargar, utiliza los datos recuperados de la memoria. Si el compilador no puede encontrar una instrucción útil para ponerla después de la carga, inserta una instrucción no operación (no-op). Este es un tipo de instruccik que se recupera de la memoria pero que no tiene operación, por lo tanto, gasta un ciclo de reloj. Este concepto de retardar la utilización de los datos que se cargan de la memoria se denomina carga pospuesta o retíardada. La figura 9-9(b) muestra el mismo programa con una instmcción n m p insertada después de cargar a la instrucción R2. El dato se carga dentro de R2 en el ciclo de reloj 4. La instrucción sumar utiliza el valor de R2 en el paso 5. Por lo tanto, la instrucción no-op se utiliza para avanzar un ciclo de reloj con el fin de compensar el conflicto de datos en la línea paralela. (N6tese que no se ejecuta ninguna operación en el segmento A durante el ciclo de reloj 4, o en el segmento E durante el ciclo de reloj 5.) La ventaja del enfoque de carga retardada es que el compilador se hace cargo de la dependencia de datos y no la M t e r í a . Esto da como d t a d o un segmento de hardware más simple porque no tiene que comprobar si el segmento del registro que se accesa es válido o no.

Transferencia pospuesta o retardada
Como en la figura 9-8 se mostró que una instrucción de transferencia de control pospone la operación de la línea paralela hasta que se recupera la instrucción en la dirección de la transferencia, en la sección anterior se analizaron varias técnicas para reducir los retrasos por transferencia de control. El método más usado en la mayoría de los procesadores RISC es apoyarse en el compilador para definir las transferencias, con el fin de que se efectúen en el momento apropiado en la línea paralela. Este método se denomina trancferencia pospuesta o retardada. El compilador para un procesador que utiliza transferencias retardadas está diseñado para analizar las instrucciones antes y después de la transferencia y volver a arreglar la secuencia del programa al insertar instrucciones útiles en los pasos retardados. Por ejemplo, el compilador puede determinar que las dependencias de programa permitan que una o más instrucciones anteriores a la transferencia de control se muevan dentro de los pasos retardados después de la transferencia de control. Estas instrucciones se recuperan despues de la memoria y se ejecutan mediante la línea paralela, en tanto la instrucción de transferencia de control se ejecuta en otro segmento. El efecto es el mismo que si se ejecutaran las instrucciones en su orden original, excepto que ya no existe el retardo de la transferencia de control. Depende del compilador encontrar instrucciones útiles para colocarlas después de la instrucción de transferencia de control. Cuando esto no es posible el compilador puede insertar instrucciones no-op.

'H programa eXi la figura PIOp) se vuelve a a q l a r al colocar las histrucd~ae~ de sumar w resthr despueS de la imfrueeion de transfermcia de control y no antes, como en el programa original. U n a revisión de la temporizacibn de la h e a paralela muestra'que PC ests actualizado al valor de X en el ciclo de reloj 5, pero las hstrucciones de sumar y restar se recuperan de la memoria y se ejecutan en la e n & deseada. En otras palabras, si h instrucción cargar &iiS en Ia d M d n 101 y X es igual a 350, la bttucci6tr de tran&&n& de control & v e r a de la dirección 103. La instniccibn de sumar se recupera de la d-ión 104 y se ejecuta en el ciclo de reloj&: Fa btniccilin de restar se reapek de Ia direcci6n 105 y se ejecuta en el &lo de reluj 7, C m d vdor de X s e transfiere a PC con el ciclo de reloj 5 en e l segmenta E, la inetniceibn recuperada de ia memoria en el ciclo de h l ~ 6 j proviene de la W i n 350, la cual es la instrucción de la dimi5611de t r ~ ~ c h .
9-6

Procesamiento vectorial

Existe m tipo de problema computacional que est6 más alla de h capacidad de una computadora convencional. E$te problema se caracteriza por el hecho de que requiere una gran cantidad de c4ldos que le tomar4 a una computadora convencional días o inclusa semanas para terminar. En muchas aplicaciones científicas y de inpiería el pmbkma ptreEk formularse en térmims de vectores y matrices qize se prestan a procesamiento de
vectoEi.
aplicaciones

Las computadoras con posibiidades de procesamiento de vectores ti* nen demanda en aplicaciones especializadas. Las siguients son Areas de aplicacibn representativas, en las cuales el prccwmiento de vectores es de la mayor importancia.

h d k i o n e s climatol6gicas a largo plazo Exploraciones petroliferas Análisis de datos sfsmicos Diagn6stieo rn&dico Simulaciones de aemdin4mica y Weio espacial Sistemas expertos y de inteligencia artificial Mapeo de los genes humanos Prmaaniento de imlgenes

Sin computadoras de avanzado diseño, muchos de 1 - cálculos requeridus no pueden l i q m a cabo! dentro de un tiempo razonable. Para conseguir el nivel querido de desempeño de calidad es necesario utilizar la circuitería mas rapida y mnfiabIe y aplicar p d m i e n t o s innovadores de técnicas de
procesamiento.paraldo y de vectores.

Operaciones .devectoxea Mu,&os problemas dentificos requieren operaciwes ari tm6ticas sobre arreg l a de niheros grandes. Por 10 general, estos números se formulan como vktores y matricei de números &'punto flotante. Un vector es un conjunto ordenado de un za?egIo de uná dimensidh de coniunb de datos. Un vector V ¿e longitud n se representa corno un vector lileal mediante V = [VIV2 Vg VA. Puede reprewntarse como un vector de columna si los conjuntos de datos se enlistan en una columna. Una computadora secuencia1 convencional pude procesar gieranda uno a L vez. En consecuencia, las operaciones sobre vectms deben dividirse m cAiculus simples con vartables suswit-, El elemento Videl v q h r V se m b i e como V(I)y e l indice 1 se refiere a una direcci6n de memoria o registro en donde se almacena el n8mero. Para examinar la diferencia entre un procwdor escalar convencional y un procesador de vector, considere el siguiente ciclo DO de Fortran.

...

i

I

Este es un pr~gr& de longitud 100 para sumar dos vectores A y B para pwdutir un vector C! Estp .se implanta en lbguaje .demhquina mediante la siguiente .secuencia de qperqciones: Imitialize 1 = U 20 Reaa.A(I). Read B ( 1 ) Skore C(1) = A " ( 1 ) t B ( 1 ) Iatcrement 1 = 1 f . 5 If 1 5 300 go to a0

Continue
Esto constituye un ciclo .de programa que lee un parde operandos de los m g l & A y B y ejecuta una suma ton m t o fiarnk. La variable de control del ciclo se actualiza después y los pasas se xepiten 100 veces. Una, computadora capaz de procesar mediante vectores elimina la sobrecarga asocihda con el tiempo que se necesita para recuperar y ejecutar ias instrucciones en ei ciclo del programa. Permite que s e especifiquen operaciones con una sola m c c i 6 n de vecfbr, d& l a form

la instnicci6n'de vector incluye la dimci6n inicial de los operandos, la longitud de los vectores y la operación que se va a ejecutar, todo en una htru'kci6n compu-ta. La suma.* m k m m m sumador de punto flotante de arquitectura paralela, similar al de l a figura 9-6. Un fomto posible para una htmrcibn de <vectorse muestra en la *a 9 . 1 1 . h c h l m e n t e , es una i n s w e i 6 ~ de tres direcciones en donde

344.

~Aetrvre

Paralelismo y pmeesamiento de v e r
.

.
Lnngitud de m t o r

adigude
0 -

DhemMnh hrente 1

W h nh e
fuente 2

Direamnbase deaüno

o vechr. Fignia 9-11 Fommte & insmwión para p ~ i a i m t de

tres campos. especifican la direccibn base de los operandos y un campo Micional propotciona la Iongitud de los conjuntos .de datas en los vectores. Bstó 6bnsideta que lo$ operaddas del vecbr &Iden eti la memoria. Tambikn es posible diseñar el pmsador con una gran cantidad de registros y almacerrar todos los operandos en registros antes de la operacibn de suma. En ese caso, la dWd'6n base y l a longitud en la. instmcci6n del vector espei€im un grupa de registros de CPU.

Mdtiplicacidn de matriz La multiplicad6n de rn4tri-z es una de las operaciones compulacionales m6s
intensivas que se ejecutan en las computadoras con procesadores de vector. La mdiiplimci6n de dos mittrices n X n consta de operaciones de 2 productm internos o d. opemcime multipi3carsumar. Una m a t r i z n X m de números tiene n renglones y m - b l m a s y @ d e ' c6nsideram que constituye un conjunto de n vedore de tengl6n o unanjunto de m vactores de columna. Considemos por ejmnp10, l a multiplicraeión de dos matrimi 3 X 3 A y B.
41 di2 'rii, k z [&) - d n
m

Jy
aa

&ti

bit

bts

~ i i C*

~ 1 3

b . ' / i n a b cn [hi. £h b d =

cp

c L 3

cs

cd

. La

p@yc@ 6) qq una mtrk 3 .X 3 ~upsdmmtos -tAn mlacionados ,ionL los ~1wientw &A :y. B n 4 9 s r b 4 p r d e t ~mkrno: 'i
l

,L.

,
t!

,

* h r+@o8 B) número en e l p c k . w l ó n y la primera columna de la matriz C se calcula con i = 1, j = 1 , para obtener
,L

,,',

I

'

)l. m ' ' .L , , . j , . ,,reqi;lierci . : y (Ite8pub da: i n : i l i i C l l en O) tres sumas Ila c&dad b f e i l de rnioltipUwipx~s suqa~ queridas para calcu.h.;@ prod~b; .&.la, matriz .es9 ' X. 9 Bsf. S i .,&nsideram i a operacidn , ,global de ~ m d ~ x a cc-f: m a N~b nriro UW bpem'rián acumulativa, el
,
' i
m

.'

,

P

I

,.

*

u 'd h 2 pmducb de dos matrices n X

M

n requiere

r? o p c i o n e s de multiplicar-su-

mar. El edhlo consta de n2 praductos internos, en: donde cada producto interna r+uiete n operaciones de inultipfica~surnar, considerando que c se inicializa eh O arites de cakhlar cada elemento en la matriz producto. En general, el pbdukto h t h o consta de la suma de k tdrminos de producto de la forma:

En uria aplicacidn tipka k puede ser igual a 100 o incluso a 1000.El cáicuio de producto interno eri un pmcesador de vector de arquitectura paralela se muestra en la &gura 9-12.L o s valores de A y B están en la memoria o en registros & procesadw. Se considera que, la línea paralela del multiplicador d;! punta fl&ante y la Enea paralela del sumador de punto flotante tienen cuatro segmen'tos cada uno. Todos 16s re&istrasde sepentos en el multiplicador y erl el sumador se iniciaSuan en O. Por lo tanto, la salida de1 sumador es O para los primeros ocho ciclos, hasta que están llenas ambas líneas. Los páres Al y B1 se ínfroducen y multiplican a una velocidad de un par por cido. Después & 1 % primeros cuatro ciclos, el producto comienza a sumarse a'la salida de1 sumador. Durante las cuatro ciqios sQuientes se suma O a los productos que entran a la h e a del sumador. Al final del octavo cido, los primeros cuatro prductos A, B1hasta Ap Bq estitn en los cuatro segmentos del sumador y los siguientes cuatro productos de As B5 a Ag Bs están en los segmentos de multiplicador. Al comienzo del noveno ciclo, la salida del sumador es Al Bl y Ia salida del mult.$licador es A5 Bg. Por lo tanto, el noveno ciclo comienza la suma A, BI + A5 B5 en la h e a sumador. E 1 dbcimo ciclo comienza la suma A2 B2 + A, Bg y aai sucesivamente. Este patr6n divide

la suma en cuatro &mes

de la maneea siguiente:

Fwnte
B

Figurai9-12 Lima paralela para calcular un producto interno.

UMparalela dei m u i ~ d o r

Línea paralela del aumador

Cuando Xa no hay más téminos de producto par sumar, el sistema inserta cuatro ,ceros en la lbea del multiplicador, Entonces h línea del sumador tendrd pproduckaparcial en cadq uno de sus cuatro segmentos, que csmesp~nden. a las cyatr~ .sumas que se listan en los cuatro renglones de l a f - u a a n antpripr. Deipyds, se s w n lag cuatro $urnas parciales para formar la suma final.

Memoria entrelazada
Los procesadores de vecfor y de arquitectura paralela con frecuencia requieren acceso sirnult~~eb a la memoria desde dos Q mZts fuentes. Una l i paralela de instnicci6n puede requerir 4 mntperaci6n de una instrucci6n y un operando al rnisrn~tiempo desde dos segmei~tpsdiferentes. De igual manera, una Ibea aritmhtica, por lo general, requiere que se introduzcan dos o mds operandos en i a linea, al mismo tiempo. En lugar de usar dos canales de mgmoria para acceso sirnultEtneo, puede dividirse l a memoria en varios módulos conectados a canales de direcciones y de datos comunes. Un mi5dulo de memoria es un arreglo de memoria junto con sus propios registros de datos y. direcciones. La figura 9-13 muestra una unidad de memoria con hatro módulos. Cada arregio de memoria tiene su propio registro de d i r ~ c i 6 n AR y registro de datos DR. Los registros de d ' í i b n reciben información de un cawl de direcciones común y los registros de datos cpmuñican con un canal de datos bidireccional. Pueden utilizarse los
Pi&ra 9.13
&&&de d i d w

OrgariízacXn de mcmoria de módulos múltiples.
8 8

,

-

-

11

ti

t

1

AR
lr

A R
lf

AR
lr

AR
1

'
de

Arreglo de
memoria

Amglo de

Vria
1i

Arreglo de
, memoria

memoria

1

t
DR

ir
DR

t
DR
L l r

1

DR
J,

r

CanaI de da-

dos bits menos significativos de la dhecci6n para diferenciar entre 10s cuatro m6dulos. E l sistema modular permite que un m6dulo inicie un acceso a memoxia mientras otros m6dulos están en proceso de leer o m i i r una palabra y cada módulo puede cumplir una solicitud de memoria independiente del estado de Iw otros.m6dulos. La ventaja de una memoria modular es que pennite la utilizacibn de una técnia llamada e n h k d o . En una memoria entrelazada, se asignan diferentes conjuntos de d k c w n e ~ a diferentes m6dulos de memoria. Por ejemplo, en um sistema de memoria de d w módulos, las direcciones pares pueden estar en .unmQdulo y-las direcciones impares pueden estar en otro. Cwndo la cantidad de módulos es una potencia de 2, 10s bits menos significativos de la direccidn seleccionan un m6dulo de memoria y Ios bits w t a n t p s repmxntan la posici6n especifica que se va a accesar dentro del msdulo seleccionado. Una memoria modular es útil en sistemas con procesamiento de vector y de arquitectura paralela. Un prwesador de vector que uliliaa una m e m d entrelazada de n canales, puede recuperar n operandos de n m6ddos diferentes. Al entrelazar d acceso a h memoria, el tiempo de ciclo de memoria efectivo g u e reducirse en un facMr cercano a la cantidad de m6dylos. Una CPU con línea paralela de instruccicines puede aprovechar los m 6 d u b de memoria múltiples para que cada segmento en la línea pueda accesar la memoria en forma independiente del acceso de los otros -entos.

Sugercompuhdoras
A una computadora comercial con instrucciones de vector y operaciones
arih&ticas de punto flotante de heas paralelas se le denomina supmompu-

tadora. tas supercomputadoras son mAquinas de aILo rendimiento muy poderosas que se #usansobre todo pwa cálculos ciwitificos. Para acelerar la ~peracibn, b s componentes se juntan para minimizar h distancia que tienen que recorrer las señales ekctr6nicas. Lns supercomputadoras también utilizan técnicas egpiales para evitar e l calor en los circuitos y prevenir que se
quemen debido a su proximidad. El conjunto de instruwi~nade las supercornputadoras contiene las instrucciones de tyansferencia de datos, manipulaci6n de datos y transferencia de control del programa de las computadoras convencionales. Esto se aumenta mediante instrucciones que procesan vectores y combinaciones de escalales y vectores. Una supercomputadora es un sistema computacional que se reconoce por su alta velocidad de cblculo, sus sistemas de memoria grandw y rápidos y un uso amplio de procesamiento paralelo, Est4 equipada con unidades funcionales miíliiples y cada unidad tiene su propia configuraci6n de arquitectu'ra paralela. Aunque Ia 'supercomputadora maneja aplicaciones de prop6sito p e r a l que se encuentran en todas las otras computadoras, está optimizada sspecff icamenie para el tipo de

~~1~11 n11~i6ricm 05 que invo1ucran vectores y matrices de números de punto fIotante. Las supercomputadoras no son eonvehierrtes pata procesamiento cotidiano normal de una instalaci6n de computadora típica. Su uso se limita a ciertas aplicadones científieaas, como pfedicci6n numérica del clima, análisis de ondas sísmicas e Uwestigacih espacial. Se usan en foma limitada y su

mwdado taffibh

é~ pe-qdla dtMds. a S I a l b pmiu. Una medida u t k d a para evaluar mmputadoras, es su capacidad para ejecutar cierta cantidad de operaciones de punto flotante por segundo, que se denomihan fiq. El término meggups se iitilUa para representar millones de flops y gi&ops para representar mil millones de flops. Una supercom-

4

putadora típica tiene un fiempo de ciclo bAsico de 4 a 20 ns. Si e l procesador puede calcular una operación de punto flotante por línea paralela cada ciclo, tendrá Ia capacidad de ejecutar de S0 a 250 megaflops, Esta velocidad s e sostendria desde el momento en que se produce la prímera respuesta y no incluye e l tiempo de i n i c i 6 n de las h e a s paralelas. Za primera supercomputadora desarrollada e n 1976 es la Cray-l. Utiliza el procesamiento de vector con 12 unidades fuhcionaIes distintas en paralelo. Cada iinidad funcional estA dividida para p m a r los datos de entrada a trav4s de una línea paralela. Todas las unidades funcionales pueden operar en forma concwnte con operandos ahcenados en una gran cantidad de registros ( d s de 150) en l a CPU. Puede ejecutarse una operación de punto flotante sobre dos conjuntos de operandos de 64 bits, durante un ciclo de reloj de 12.5 ns. Esto nos da una velocidad de 80 megaflops durante el tiempo que se procesan Ios datos a travgs de las líneas paralelas. Tiene una capacidad de memoria de cuatro millones de palabras de 64 bits. La memoria se divide en 16 bancos, en donde cada'banco tiene un tiempo de acceso de 50 ns. Esto signfica que cuando se accesan los 16 bancos en forma sirnultanea, la velocidad de transhencia de memoria es de 320 millones de palabras por segundo. La investigacibn acerca de la Cray amplió su supercomputadora a una configumd6n de multipr~cesador llamada Cray X-MP y Cray Y-MP. La nueva supercomputadora Cray 2 es doce v más poderosa que la Cray 1 en el modo de p m m i e n t o de vettor. Otro modelo inicial de supercomputadora es la Fujitsu VP-200.Tiene un pmcesador. ewalar y un procesadbr de vector que pueden operar en forma mmrrente. Como en las supercompukadoras Cray, se utiiizan una gran cantidad de registros y de unidades funcionales múltiples para habilitar las operad~m de vector de registro a registro. Existen cuatro lííeas paralelas de ejecucidn en el procesador de vector y, cuando operan en forma simultghea, pueden procesar hasta 300 megafIops. ia memoria principal tiene 32 millones de palabras conectadas a l o s registros de vector m e h k heas pardehs de carga y almacenamiento. I;a VP-200tiene 83 instrucciones de vedor y 195 instnicdmes escalares. La mEts reciente VP 2MHl utiliza un ciclo de reloj de 3 . 2 ns y r e dice que a su máxima capacidad pude procesar cinco gigaflops.

9-7 Arreglo de procesador SIMD
Un arreglo de procesador es un procesador que ejecuta cAlcu1os sobre arre glos de datos grandes. E 1 gmino se utiliza para hacer referencia a dos tipos diferentes de procmadores. Un areglo di? procesudor mwcludo es un pmesador auxiliar conectado a una computadora de prop6sito general. Pretende mejorar el de&mpeiIo de la computadora anfitribn en tareas de cdlmilos num&iicose6pecfficos. Un arreglo & proctbtih SlMD (single instruction, multipk data) es un procesador que tiene una orgariizacián de instniecibn
dnica, datos múltiples. Manipula matrucciones de vedor mediante miiltiples unidades hciona~es que responden a una instrucci6n común. Aunque ambos tipos de procesadores de arreglo manipulan vectores, su organizaci6n interna es diferenie.

Arreglo de procesador conectado Un tureglo de pmsador conectado ~ t diseñado á como un periférico para una computadora anfitriona convencional y su prop6sito es mejorar el desempefio de la computadora al proporcionar pi'ocesamiento de vector
para aplicaciones cientfficas complejas. Produce un alto rendimiento mediante el procesamiento paralelo con miiltiples unidades funcionales. incluye m unidad aritmCtica que contiene uno o más sumadores y multiplicadareb de punto flotante de arquitectura paralela. El usuario puede programar el arreglo de p-esador para que d&cabida a diversos problemas aritm&ticoscomplejos. La figura 9-14 muestra la int&onexih de un arreglo de procesador conectado a una computadora anfitriona. La computadora anfitriona es una computadora comercial de prop6sito general y el procesador conectado es una terminal conectada a una computadora anfitriona. E l arreglo de procesador está conectado por medio de un controlador de entrada-salida a la computadora y la computadora l o trata como una interfaz externa. t o s datos para el proeesador conectado se transfieren de la memoria principal a una memoria local mediante un canal de alta velocidad. La computadora de propósito general sin e l procesador conectado atiende a los usuarios que
Figura 9-14 Arreglo de proeesador conedad0 con compuiadora anfihlona.

-

Computadora de pro*Uom

*

k i t d a de
wbadagalida
T

.

, ArregIodep&ador

cmezhdo

W p a i

-=

Memoria de veioddad alta a canal de mmwrh
Memonlalocal

Un diagrama de bloque genecal de un arreglo de procesadar se muestra en la figura 9-15.El sistema con el procesador conectado satisface las necesidades para aplicaciones aritmt5ticas com- plejas. E l objetiv~ del procesador de arreglo conectado es proporcionar posibilidades de mdpulaci6n de vector a una camputadora convenciar. en donde cada uno tiene una memoria l c a l M. Arreglo de procesador SIMD Un arreglo de procesador SIMD es una computadora con mUltiples unidades de procesamiento que operan en paralelo. La unidad de control maestro dirige las apmaci~nes en los elementos del procesador. cuando se conecta a una computadora VAX11. Las instrucciones de pE. las unidades de procesamiento e s t h sincronizadas para ejecutar la misma operaci6n bajo el control de una unidad común. el FSP-lM/MAX de Hoating-Point Sysaumenta el poder de dlculo de la VAX a 100 megaflups. Cada elemento del procesador incluye una ALU.al a una fracci6n del costo de las supercomputadoras. por l o que proporcionan una organizacidn de flujo de instnicciones ficol flujo de datos m~ltiple(SIMD). Por ejemplo. una unidad aritmética de punto flotante y registros de trabajo.I Unidad de mmd m a e s m U MI -l m 41 M 2 m m M 3 11 a m p a i PEn W 1 .350 mParalelismo y praoesamiento de vector necesitan proceqamiento de &tos convenciq~al. Contiene un conjunto de elementos de procesamiento (PE) idénticos. L a memoria principal se utiliza para almacenamiento del programa. A l p o s fabsicantes de procesadores de arreglo conectado ofrecen un modelo que puede conectarse a diversas computadorae anfitridn. La funci6n de ¡ a unidad de control maestro ea decodificar las instrucciones y deteminar &no SS van a ejecutar.

Esta computadora ya no está en operación. Los componentes de ci están almacenados en localidades fijas en cada memoria local. Los procesadores SIMD son computadoras altamente especializadas. El procesador de arreglo SIMD más conocido es la computadora ILLIAC N. 2. n. Determine la cantidad de ciclos de reloj que se necesitan para procesar 200 tareas en una arquitectura paralela de seis segmentos. La misma tarea puede procesarse en una arquitectura paralela de seis segmentos con 9-3. en partes de 64 palabras. 3. . con el fin de controlar el estado de cada PE durante la ejecución de instrucciones de vector. causando que la suma se realice en forma simultánea. . Cada PE utiliza operandos almacenados en su memoria local. Los operandos de vector se distribuyen a las memorias locales antes de la ejecución en paralelo de la instrucción..desarrollada en la Universidad de Illinois y fabricada por Burroughs Corp. La unidad de control debe dividir los vectores con longitud mayor de 64. Dibuje un diagrama espacio tiempo para una arquitectura paralela de seis segmentos que muestre el tiempo que se necesita para procesar ocho tareas. En ciertos cálculos científicos es necesario ejecutar la operación aritmética (Ai + B. Liste el contenido de todos los registros en la arquitectura paralela para i = 1 a 6. Sobre todo son convenientes para problemas numéricos que pueden expresarse en forma de vector o de matriz. Las instrucciones de vector se transmiten a todos los PE en forma simultánea. 9-2. Cada PE tiene una bandera que se activa cuando el PE está activo y se desactiva cuando está inactivo. no son muy eficientes en otros tipos de cálculos o para trabajar con programas de procesamiento de datos convencionales. la unidad de control maestro almacena los iésimos componentes ai y bL de A y B en la memoria local M ipara i = 1. supongamos que un arreglo de procesador contiene un conjunto de 64 PE.)(Ci + Di) con una serie de números. 4. Un sistema no paralelo necesita 50 ns para procesar una tarea. Esto asegura que sólo están activos durante la ejecución de la instrucción aquellos PE que necesitan participar. Después transmite la instrucción sumar de punto flotante ci = ai + bi a todos los PE. la unidad de control selecciona la cantidad correcta de PE que van a estar activos.. Primero. 9-4. consideremos la suma de vector C = A + B. Por ejemplo. Si se va a procesar una longitud de vector menor que 64 conjuntos de datos. Sin embargo. 9-1.. Por ejemplo. Especifique una configuraciónpara realizar esta tarea. Se usan esquemas de enmascaramiento. Esto produce la suma del vector deseado en un ciclo de suma.Problemas 351 control de programa y escalares se ejecutan en forma directa dentro de la unidad de control maestro.

4 .382 CAlWüíD NUEVE Paralelismo y procesamiento de vecbr b * 9-5. El retardo de los registros de interfaz t. Expiique cuatro posibles -quemas de circuitería que puedan usarse en una líhk parakla de instrucciones para minimizar la degradaclbn del rendimiento provocada por las instrucciones de transferencia de control del programa. ¿Cuántos segmentos hay en la í í m ? c Si el retraso de propagad6n en eada. i 9 9-7. + Xlod . d. ¿cuál es el tiempo pkmedio que se n d t paca multiplicar dos nheros de punto fijo en la'lhea? E l retardo de los euatrq segmentos en la &ea paralela de la figura % es el siguien@:t. ~ C des l el-tiempomhimo de a& de reloj que -puedeutiihme? b. a . a. =SO n s . ='5 m.siguientes tiempos de r de la memoria dentro propagaci6n: 40 para los operandosque van a k de los registro Rl.no paralelo puede ejecutar la misma operaci6n al quitar R3 y 324. 'Determine la ~ a z 6 n de aceleracibn de la arquitectura pardela pam IN t a m . y tp= 45 m. Suponga que la primera instrucción enipieza en el paso 1 en la ltnea paralela utilizada en la figura 9-8: Especifique cual. ~Cbrno podcmos reducir el tiempo total a aproximadamente la mitad del timp calculado en la parte a? iC&w.~ C u h t a s compuertas A N D hay en cada segmento y qu6 tamaño de s.gueafecta a dos enteros binarios de ocho bits..umador se necesita? b.Fonnule unzr Unea paralela de instrucciones de &s t o s para una computa$ora. t3= 95 m. un ciclo de reloj de 10 ns.. p E. &@fique las operaciones que se van a ejecutar en cada segmento. $i = 30 m. 99. Un &ana.¿Cuál es l a máxima aceleración que pude C Q I ~ S ~ ~ & M ? L21 arquitectura paralela de la figura 9. . 940.Úiaríam^os el sumador de punlo flotante de Enea paralela de la figura 9-6 para sumar 100 nilimeros de punto Elatante Xl+ X2+ X3+ .arquitecturaparalela para 10 tareas y vuelva a hacerlo p a p a 100 tareas. M d w las c w b instnicciones en el prapma siguiente. S mpara la transferencia denb de m R 3 y 15 ns para sumar 10s dos n 1 ~ ~ d e n t de ro H. 85 ns para la sefía1 que se va a propagar por el mdtiplicador.sumas 100 pares de nilmerus en la Enea? b . .opÍddciones se ejecutan en los cuatro segmentas durante el p c o 4.segmentoes de 30 ns.como se muestra en Ia figura 10-10. 9-13. ~Cuái es l a máxima aceleracibn que puede l v ? E s necesario disekr una Iinea paralela para un multiplicador de punto fijo . Cada segmento contiene varias compuertas AND y un sumador binario similar a un arreglo multiplicador. 9-8. cuánto tiempo se necesitaría pa. cuánta se necesitar& pma m d t i p k y sumar los operandos sin w la arquitectura paralela? c C W e la ademei4nde l a .2 *e los .

. # Pamllei Pimessing Architmture ami VLS1 Ebrdwre. A. Suponga que cada procesador utiliza un cicb de 40 m. ¿Cuánto tiempo se necesita para llevar a cabo estos cblculos? Considere una computadora con cuatro procesadores de punto flotante de arquitectura paralda. a. E l problema se calcula en una computadora que puede ejecutar 100 megaflops.cuando se usa para evaluar el producto de dos matrices 60 >C #? ¿Cuhntas productos internos hay y cuántos ciclos de reloj se necesitan para evaluar la matriz dd producto? Asigne direcciones a un arreglo de datos que s e va a almacenar en la memoria descrita en la Iigura 9-13. Vol. cuántas operaciones mdtipliear-sumar se necesitan. 1989. 1989. Propwcione un ejemplo de un progama que produzca una $rdida por transferencia de control en la línea paralela de tres segmentos de la secci6n 9-5. ~Cubintos términos de produeto hay en cada p d u c t o interno y cuántos peoduatos intefnos deben evaluarse? b. Proporcione un ejemplo que utilice carga reardada con la línea paralela de tres segmentos de la seccidn 9-5. Considefe la muldplicaci6n de d a matrices 40 X 40 utilizando un proc=dor de vecbr.Loaa ADD IWC STORE RL+M[3LZ1-RS+R2 H[3331 R3+R3 1 M[31i4]+R3 + + Proporcione un ejempb de un programa que produzca un conflicto de dabs en la Knea paralela de tres segmentos de la seccitrn 9-5. DKegama. Un c&lcula de predicci6n del d i requiere 250 mil millones de operaciones de punto flotante. Englewd C W . S. 2. Dasgupta. Proporcione un ejemplo que utilice transferencia de control del programa -dada con la l h a paralela de t m ~gmentos de i a seceibn 9-5. Computer Arckitectare: A A d e r n SptIresis.para ea!cuhr la matriz del producto? ~Cuintos ciclos de reloj se necesitan para procesar un producto interno en la línea paralela de Ia figura 9-12. 2 Nueva York John Wilegr. ¿Cuánto tiempo se necesita para ejecutar 400 operaciones de punto flotante? ¿Existe una diferencia si se llevan a cabo las mismas operaciones usando un procesador de una sola línea paralela can un ciclo de 10 ns? 1 . NJ: h t i c e Hall. L .

47-55. J.No. San Mateo. D .. 1990. Briggs. Stane.H. D . 6.Computer.. 1 (Enero WW). PaWson. G. Englewood Cliffs. "Reducing h e BranchPenaltiesin Pipeline Processors".Coflpkr. H w a n K. y A. Cotilputer Design and drckikhm.A. 1988. High-Ptqhmnce Computer Architature. L989. 4. 1990. No.354 -NUEVE Paralelismo y p-miento de vector 3. 6-22. 12. \ 1840. d 2a. Vol. . 21. . y J.pp. Pollard. Englewood CliEfs.Reading. E n g i e w d Ciiffs.A. 1990. .CoiFnputw Sysfemf Concqts snd Design. Computer Architechire and ParaEIeI P w s s i n g . Lee.H : . A. MuItipmessm. K F . J.Hennessy. 4 . J. N: Prentice Hall. 11.C m p u f & A r c h i ~ e a n OrgnnhtCon. 2a. Vol.J. 1 7 . . F . Kain.Ardu'tectnre:A QuanfitatiwAkproach. R. ed. 10. "BranchPredidon Strategiee and Branch Target Buffer Design". D ..Nueva York: McGraw-Hill. 1984. IvlA:AddisonW d e y . . Carrputet. 2. Gibson. Englewood Cliffc. 7. L. NJ: Prentice Hall. 7 (Julio l W ) pp. Tabak. 8. Hays. L. .J. Lilja.. m t h . 1991. NJ:Pientice Hall. 9. ~ y p. S . CompMer Ardritsctirre: S@~~oftware and hlmdware. Vol. Ctl: M o r p Kaufrnann Publishers. Nueva York: McGraw-Hili. NJ: l'rentiee Hall.

ESTE C ~ U O 1ü-1 10-2 le3 104 10-5. Los niimeros negativas pueden estar en repremmtaci6n de un complemento de signo o de magnitud de sipo. Una instnicci6n aritrndtica puede e s w c a r datos binarios o decimales y en cada caso los datos pueden d a r en forma de punto fijo o flotante. Los niimeros de punto fijo pueden tqresmtar e n k m o fracciones. multipHtaci6n y dfvisibn. 1 10-7 Introducd6n Sumayresta Aigoritmm de mdLipIicaci6n Algoritmos de divisi6n Operaciones aritrnéíicas de punto flotante Unidad ariWerr decimal Operaciones aritméticasdecimal- Las instrucciones aritméticas en las computadoras diiitales manipulan los datos para producir los resuItados necesarios para la solucibn de problemas computacionales. El pmcesador aritmé!ica es muy simple s i sblo se incluye una instrucción de . Estas instrucciones ejeaitan c6lcuIos aritm6ticos y son responsables de la mayor parte de la actividad para el procesamiento de datos en una computadora. El tipo de d a b que se considera residen en los registros del procesador durante la ejecuci6n de una instruccidn aritmética se especifica en la definición de la instrucci6n. D e estas cuatro operaciones básicas es posible formular otras operaciones aritmgticas y resolver problemas científicos mediante mktodm de anUiis numérico. Un procesador aritmético es la parte de una unidad de procesador que ejecuta operaciones aritmkticas. Las cuatro operaciones arilmkticas biisieas son suma. resta.

Por lo general.-ir con el fin de . Los pasos de decisión se indican dentro de cajas en forma de diamante. resta. . U n metodo conveniente para presentar algoritmos es un diagrama de flujo.sumar bhria de punto fijo. Este conocimiento es vahoso & d o lag operaciones van a implantarse mediante hardware.epresentaci6n de magnitud con signo. y para comparar los signos y las magnitudes de los números.el d i h d o r debe. 2. complemento a 1 cun signo o complemento a 2 con signo. Cuando los números negativos estin en representación de magnitud con signo. el algoritmo es ligeramente mAs complicado y su implantación requie re circuitos para sumar y mtar. la myoría de las computadoras usa la representacibn de magnitud con signo .realizar la operaci6n y lograr un resultado correcto. Sería mAs complwdo si incluyera las cuatro operaciom aritm&cas para datos binarios y decimales en representaciones de puto fijo y flotante. de las cuales surgen dos o más trayectorias Jternativas.estar fmilidzado por completo con la secuencia de pasris que se van a . Datos binarios de punto fija en r. tin algoriho contendrá: varios pasos de procedimiento que dependen del resultado de los pasos anteriores. Los pasas computacionales se especifican en el diagrama de flujo dentm de cajas rectangulares. porque para su implantaci6n 9610 necesita un sumador binano paraleb. Este es un algoritmo simple. Para operaciones de punto flotante. La solución de cualquier problema que está definida mediante un número finito de pasos de procedrmiento bien definidos se denomina algoritmo. Consideramos la suma. &ten tres maneras de representar números binarios negativos de p u b fijo: magnitud con signo. En este capitulo desamHamos los diferentes algaritmos aritméticos y mostramos el p d i m i e n t a para obtenerlos con hardware digital. La mayoría de las computadoras utiliza la reprem~taci6n de complementa a 2 c m signo cuando ejecutan operaciones aritméticas con enkm. 10-2 Suma y resta . 3. Datos binarias de punto fijo en representaci6n de complemento a 2 con signo.en código binario WD). Sin embargo. rnultiplicaci6n y divisida paza los siguientes tipos de datos: 1 . Cuando nos maeiPlaron a ejecutar las operaciones aritmkticas bisicas aprendimos la representadhn de magnitud de signo. En la seci6n 3-3 se definid un algoritmo para la suma de dos números binaríos de punto fijo cuando los nhneros negativos están en su representaci6n de complemento a 2 con signo. 4 Datos decimales . Datos biarios ¿e punto 8flotante. Como se mencionb w la seccibn 3-3.

dependiendo de los signos y de las operaciones ejecutadas. Cuando los niimeros con signo se suman o restan. N o significa que no puede usarsg aritmdtiea cpmplementaria en un paso intermedio.opefa~i6n aritmbtica. Por ejeppl% es conv@mte emplear . En otras palabras. Las otras c~lumnas en la tabla muestran la operación real que se va a ejecutar con la magnitud de los núnwms. Representemos la magnitud de los dos números mediante A y B. Ea importante wordar que la represmtacibn adoptada para los niunerus n ~ t i v o se s wfiei.deresta con. una vez más. La Última columna se necesita para evitar un cero negativo. a l igual que la diferencia final.ritm$ticacompIementaria cuando se ejecuta iyra operacidn .a. para datos representados en complemento a 2 con signo. cuando se restan dos números iguales. lápiz dos números binarios con signo es simple y directo. TABLA 10-1 Suma y resta de niimpros de magnitud de signo Operación Sumar magnitudes Restar magnitudes Cuando A > B CuandoA < B Cuando A = B .i t o s en un paso intermedio no altera que Ia representacidn sea en magnitud con signo. el multado debe wr +O y no -O. encontramos que existen ocho condicioncs diferentes por considerar. para Suma y resta con datos de magnitud con signo I a representaci6n de números en magnitud con signo nos resulta familiir magnitud porque se usa en los eálculos arihdticos cotidianos.SEcmNlrrL suma y resta 357 En a t a aemi6n desarrullamos 1 w algoritmos de suma y resta para datos representados en magnitud de signo y. Mientras el minuendo y d sustrzyndo iniciales estén en forma de magnitud con sipo. El procedimiento para sumar y restar con papel y. Estas condiciones se lisbn en la primera columna de la tabla 10-1. e l hecho de que se hayan u~do c o m p M .e a Ja mpsmtacibn de los M e r o s en los registros antes y después de la ejecuci6n de h . Un repaso de este prodimiento ser&útil para derivar el algoritmo de hardware. números en representación de magnitud con signo.

se necesita un sumador paralelo para ejecutar la microoperacibn A + B. y Bs como entradas. Segundo. wk B de A y haga positivo el signo del resultado. y B. La figura 10-1 muestra un diagrama de bloque de la circuikria para implantar las operaciones de suma y resta. se n-ita un circuito comparador para establecer si A > B. con A. eso se puede evitar si el resultado se transfiere a A y A. Tercero. Una investigación cuidadosa de las alternativas reveIa que el uso del complemento a 2 para la resta y la comparacibn es un procedimiento eficiente que requiere sólo un sumador y un cornplementador. donde puede comprobarse para determinar las magnitudes relativas de los dos ndmeros. El resultado de la operación puede transferim a un tercer registro: sin embargo. Segundo. los dos flip-flops que contienen 1m signos compondienles. Primero. Sean A y B los dos n h e m s que contienen la magdtud de los nfimeros y A. L a resta se realiza al sumar A al complemento a 2 de B. Consideremos ahora la impIantaci6n de hardware en los algoritmos anteriores. Escoja el signo de resultado para que w igual a A si A > B o el complemento de signo si A B. se necesitan dos circuitos sustractores paralelos para ejecutar las micmoperacianes A . Por lo tanto. compare las magnitudes y reste e1 nrimero mds pequeño del m6s grande. un sumador y dos sustracbles. el resultado de una cornparacidn puede determinarse del acarreo final después de la resta. Si las d i magnitudes son iguales.A. Este procedimiento requiere un comparador de magnitud. El acarreo de salida se transfiere al flip-flop E. El procedimiento que se va a seguir para signos idhticos en el algoritmo de suma es el mismo que para s@m diferentes en el algoritmo de r e s t ay viceversa. sabemos que la resta puede realizarse mediante complementai. mme las dos magnitudes y agregue e1 signo de A al resultado.algadtmo de sum ( d a ) Los dgoritmos para la suma y la resta se derivan de la tabla y pueden definirse de la manera siguiente (las paiabras dentro de paréntesis deben usarse para el algoritmo de resta): AlgmAtmo de suma (resta): cuando los signos de A y B son idénticos (diferentes).B y B . y sumar. o A < B. y B. puede encontrarse un procedimiento diferente que requiera menas equipo. Los dos algoritmos son similares. A y A. juntos forman un registro acumulador. hplantaci6n de hardware Para efettuar las d& operaciones aritmLticas con hardware. el flipflop AVF de sobreflujo de suma contiene e1 bit de sobreflujo cuando . A = 3. ConsM de los registros A y B y de loa fiipflops con signo A. Cuando los signos de A y B son diferentes (idénticos). primero es necesario que los dos n5. S i n embargo. Primero.mestén almacenados en registros. excepto por la comparación de signo. Puede determinarse la relaci6n de signo a partir de una compuerta OR exclusiva.

algoritmo de hardware se presenta en h figura 10-2. signos idknticw dictan que se sumen Ias magnitudes. signos diferente determinan que se sumen las magnitudes. complemento a 2 de BI l o cual es equivalente a l a resta A . los signos son idénticos. la salida de B se transfiere al humador. Los dos signos A. El complementador consta de compuertas OEl exclusivas y el sumador paralelo se forma de circuitos sumadores completoc. + Algoritmo de Iiardware E I diagrama de fiuja para e . se comparan mediante una compuerta OR exclusiva. y B. Para una operación de restar. Ei valor de E se transfiere al füpflop AVF de sobreflujo de 6uma.B. don* EA es un registro que combina E y A: ' E lacarreo en E después de la suma. el acarreo de entrada es 1 y la salida S = 1 A + B + 1. Se restan las dos ma&tudes si los signos son diferentes para una oprakibti de súmr o idénticos para una opera&n de restar. Esto es igual a A más el. Cuando M = O . en el capíhilo 4. Para una opaci6n de sumar. dependiendo del estado del control de fiado M. el acarreo de entrada es O y la sazida del sumador es igual a la suma A B. El registro A proporciona otras microoperaciones que pueden necesitarse cuando especificamos la secuencia de pasos en e l algoribno. La auma de A y B se realiza m d h t e d siimador paralelo.Figura lb1 -are para suma y mta de magnitud con signo. Si la salida de la compuerta es O. como se muestra en la figura 47. La salida S (suma)del sumacbr se aplica a la entrada del r e g i s t r o A. La seiial M se aplica bnbib d aacarreo de entrada del m d m . El complementador proporciona una salida de B a el complemento de B. el eomphnmto a 1 de B se apfica al sumador. Cuando M = 1 . Se restan las . tas magnitudes se suman con una microwperaciSn EA + A + B. se suman A y B. si es 1. constituye un mbreflujo s i es igual a 1. los sipo5 son diferentes.

!'. ' . 8 r . : i i . . r . . > :'n . por lo que circuitos para las microoperaciones de corn~krnentar se obtiene 'el complemento a 2 a partir de estas dos microoperaciones. .e . .1 1 1 . el signo A. . si se restan los números. .J:*I ' .-N ' 8 1 Figura 10-2 Diagrama de flujo para las operacianes sumar y restar. sobreflujo.. . A+A+1 A.:.. .' 8 h i ' ' . ILIL V I J e.. .. 1 : . 1. 1. 1 ....II...& '1 I .11: ' 8 .. .' . En . V d . r..aendo en B Sumando en A Adendo en B . .A. A. . 8 f complementar e incrementar -p.. +A " A&#& . . magnitudes al sumar A al complemento a 2 de B...~ V. 8 m t: i i 1 .' . . .. .. A 1 . .si.L2 . . 1 8 . Esta operación puede realizarse con una microo'peración A c A + 1. 8 A<B 1 .i. . Sin embargo.: ..'d .# . T. I r " . .. ' : . consideramos que el registro A tiene e incrementar.. + O 1 . 1. de modo que AVF se borran a O. : r . 1 J.l.. .t.CAP~TULO DIEZ Aritmética de computadoras -eraci6n Restar *ración Sumar h 1 . . .~... '.l.. +A. 1 . ' . ii-". i : .d. .--' 8 l . debe hacerse positivo para evitar un cero negativo. . r .. ..:' 8 C! .. r.. t .1 . . Un cero en E indica que A c B. +.1 1. .~'.. . .' Si este número es O. . ! !~t+mi'. + *f I e. No puede ocurrir un .. Para este caso es necesario tomar el complemento-a 2 en A.l k. : '817 8 ..". h . . '%1! 8. .. / J . Un 1 en E indica q u A ~ r B y que el número en A es el resultado correcto. .') .. .

para obtener e l signo correcto. Esta es la misma configuraci6n de la figura 10-1. todo el número e n h a a e representa en su forma de complemento a 2. La suma de dós números en forma de complemento a 2 con signo consiste en sumar 10s ntímenis con los bits de s i p o tratados de la misma manera que los otros bits en el niimero. el signo de1 multado es eZ complemento de1 signo original de A. Se descarta un acaireo de la posición de bit de signo. S i el hit de signo es 1. E l efecto de un sobrdujo sobre la suma de dos números de complemento a 2 con signo se analiza en la w i h n 3-3. cuando A < B. N6tese que 11011111 es e l complemento a 2 de O O l O O O O 1 y viceversa. 4-33 se representa corno DOlOOOOl y -33 como 11011111. Complemen*y sumador paralelo .. decimos que ha ocurrido un cobreflujo. a e presentaron en la secci6n 3-3. Suma y resta con datos de compfemmto a 2 con signo La representacidn de mímeros en complemento a 2 con signo. Por lo tanto. Cuando los dos acarreos se aplican a una compuerta OR exclusiva. Cuando se suman dos númer~s de n dígitoc cada una y la suma ocupa n 1 digitos. junto con los algoritmos aritm&tlmspara la suma y h mita. La configuración de registros para la implantacih de hardware se muestra en la figura 104. Entbnce es n h a r i o camplmentar A. E l bit de la extrema izquierda de un ntlmem binario representa el bit de signo: O para positiva y 1 para negativo. a vdor fina1 de E es inmaterial. La resta consiste en tomar primero el complemento a 2 del sustraenda y despuh sumado al minuendo. por lo que no se requiere un cambio en 4. + Figura 10-3 Hardware para s u m a y resta de complemento a 2 con signo. Se resumen en esta seccidn para una referencia fácil. 2 Suma y resta 3 3 ' 6 1 otras trayectorias del diagrama de flujo. El multado final se encuentra m el registro A y su signo en A. valor en AVF proporciona una indicación de sobreflujo.O N 1 0 .Sin embarga. el signo del resultado es igual al signo de A. se detecta el &reflujo cuando la saiida de la compuerta es igual a 1. Puede detecta= un sobreflujo al inspeccionar los dos 6 1 ~ 0 acarreos s de la suma.

La operacidn de resta se logra al sumar el contenido de AC al complemento a 2 de M. se descarta el a c a m a ~ .que los bits de signo no esqn separados del resto de los registros. se activa en. ~ salida. E i flip-flop V de sobrefluja. E 1 algoritmo para sumar y restar dos números binarios en representauh de complemento a 2 con si= se muestra e n el diagrama de flujo de Ia figura 10-4.. Por esta r d n . En este caso. Debe verificarse si ha ocurrido un sobreflujo durante esta operaci6n porque los dos números sumados podrían tener el mismo signo. en lugar de la de magnitud c o n sipo. B 1 bit de sobreflujo V se activa en 1 si la OR exclusiva de los dos iiltimos acarreos es 1). E l programador debe recordar que. Los dos bits de signo se suman o se restan junto con los otros bits en e l complernentador y en el sumador paralelo. y en casa contrario s e desactiva aO . El bit de la extrema izquierda en AC y BR representa los bita de signo de los números. excepto Figura I W Algoritmo pata sumar y mstw números en rrprrsentacidn de c~mplemmb a 2 con signo. Al comparar este algoritmo c o n su contraparte de magnitud con signo. La suma SE obtiene a l siimar el contenido de A C y BR (incluyendo sus bits de signo). Nombramos AC (acumulador) al registro A y EiX al registro B. . Tomar d c~mplemento a 2 de BR tiene el efecto de cambiar un número positivo a negativo y viceversa.1 si hay sobreflujo. que nos resulta m8s familiar. si ocurre un sobreflujuI aparwaA un resultado errSm en el registro AC. notamos que es mucho m4s sencillo sumar y restar números si se mantienen kis números negativos en su representacidn de complemento a 2 . las computadoras adoptan esta representacidn.

el producto parcial se morre a la derecha. el . S i son iguales. de otra manera se copian ceros. es conveniente cambiar un poco el proceso. en lugar de proporcionar registros para almacenar y sumar en forma simultánea la misma cantidad de números binarios que la que hay en el multiplicador. Segundo. Si el bit del mdtiplicador es un 1. 10 qpe & como resultado ia colocacibn del producto parcial y del mulfiplicando en las posiciones relativas requeridas. Éstos dos registros junto con los registros A y B se muestran en la figura 10-5. no hay necesidad de silmar todos los números O al producto parcial porque esto no alterarh su valor. Tercero. @timo. en lugar de ejecutar un corrimiento del muItiplicando a la izquierda. Este proceso se ilustra mejor con un ejemplo numérico. BI multiplicador se almacena en el registro Q y su s@o en Q . se copia el multiplicando. -do el bit correspondiente al multiplicador es O. Primero.10-3 Algoritmos de multiplicación La multiplicación de dos números binar& de punto fijo en repre~entaci6n de magnitud con signo se hace con papel y lápiz mediante un proceso de operaciones de corrimiento y suma sucesivas. 23 19 - 10111 x 10011 Multiplicando Multiplicador 10111 o m + 00000 10111 IQlf1 437 110110101 Producto E l proceso consiste en buscar primero en los bits sucesivos del multiplicador. es conveniente propordonat un $rimador para la suma de s61o dos números binarios y acumular sucesivamente los productos parciales en un registro. se s u m a n los números y su suma forma e l producto.bit menos significativo. S i son diferentes. El signo del producto se determina a partir de los signos del multiplicando y el muitipli~dar. el signo del producto es positivo. El . el signo del vp@ucto es negativo: Implantación de hardware para datos de magnitud con signo Cuando s e efectúa la multiplicacián en una computadora digital. Los números copiados en iííeas sucesivas se recorren una posicih a l a izquierda a partir del número a n k i ~ r Por . La chuiteria para la multiplieaciSn consiste en el equipo que ce rnuestra en i a figura 10-1 más dos registros.E l cbntador secuencia1 SC se inicializa al phcipio en un número igual a la cantidad de bi! en el multiplicador.

y O se recorre m dentro de E. La suma de A y B forma un producto parcial que se transfiere al' registro EA. E i praducto parcial y e l muitiplicador se recorren a la derecha. y Qw respectivamente. Despues del corrimiento. Como un operando debe almacenaSus signos correspondientes estdn en 'La figura 1 0 4 es un diagrama de flujo del algoritmo de multiplicaci6n en "' hardware. el multiplicando está en B y el multiplicador en Q. contador se d e c m n t a mediante 1 despu4s de formar cada producto parcial. Al principio.xecorriendo los bits del multiplicador una posición a la derecha. Aqui wamos Y' mnoidemndo que los operandm se tmnsf~ren a los registros de una unidad de lh memoria que tiene palabras de n bits.E se recorre dentro d e n l ap'bsieión mbs sigriificativa de A. . . Los registros A y E se borran y el contador -m&l (SC) se inicializa en un ntímero igual a la cantidad de bits del multiplicador. Cuando el contenido del contador llega a O. El bit menos significativo de A se recorre a la posición m8s significativa de Q.-G u d s m o dentro de Q. el bit de 4 . De esta manera. '* O * F 5 ' B. Este corrimiento se representar4 m e d i t e el enunciado shr EAQ para designar el corrimiento a la derecha que se muestra en la figura 10-5. Figura 1D. Se comparan los signm y A y Q se activan para que correspondan al signo del producto. A l principio.(bit a la extrema derecha) e. Alg[~rítmo de hardware . el multiplicando e s a en el registro B y el multipücador en Q .se forma el producto y d proceso s e detiene. el mal ea el que debe inspeccionarse despues. IwF ya que se almacenará un producto de doble Longitud en los registros A y Q. un bit del producto parcial hace lo .S Hardware para la operaci6n multipliw. e l fiip-fiop a la extrema derecha en el registro Q w d representado mediante Qw contendr2i el bit del rnultiplicador.

Figura l M Diagrm de flujo para la qxmci6n' multiplicar. la palabra lo ocupar4 el signo y la magnitud . Nótese que el producto parcial formado en A se recorre d e n b de Q un bit a la vez y. eventualmente. Si diferente de O.B1p m c se ~ detiene ~ mando SéI = O. Dsspués.de. S i es un 1 . sustituye al multiplicador. Se decrementa ei contador secuencia1 en 1 y se comprueba su nuevo valor. El pducta*finalest6 disponible con su signo. Qespu&s de l a iniciailiza~ib~ se prueba el bit de orden inferior del multiplicador en Qa. un bit . no ee hace nada. se ejecuta un commiento a la derecha en el registroJAQ una ~ez. consistirá en n .1 bits. Si es un O. para formar el nuevo producto pareial. el multiplicando en 8 se suma al producto parciai p-te en A. el proceso se >repitey se forma un nuevo pxoduct~ p a h l .

odejario s i n cambio. ppuede d i z a como ~ M X 2 ' .=l. donde A contiene )os bib mas significativos y Q contiene los bits menos significawos. Como d t a d o . sumar B -doproaucto .2 = 14. = O. e l producto puede obtenal ejecutar el corrimiento del multiplicando binarío m cuatro veces a la izquierda y cesta una vez M recorrido a la izqukda: Como en todos los q u e m a s de multiplicaci611. sino &lo corrimiento y ue una S& de digitos 1 en el multiplicador de una 1 ponderación de bit de 2 a una ponderaci6n T puede katarse como 2 2m.LA 10-2 EjempIo numérico para multiplicador binario '. restarse. E u m . Antes del corrimiento. E i n~mer~i puede como 2h1 . de acuerdo con las siguien- + -te6 .mmarB. Quintopd~parciaI &mmx EAQ a la derecha Prod~ct~ final en AQ = 0ll01i010l Aigoritmo de multiplicacibn de Booth El al8oritmo de Booth proporciona un procedimiento para multiplicar enteros binarios en representaci6n de complemento a 2 con signo. Recorrer EAQa laderecha Q. E Primer producto pardal 'Etac01 EAQ a l q derecha Q.en A y Q . El ejemplo nmbrico anterior se repite en la tabla 10-2 para hacer m8s claro eI pracesa de mdt~plicacibn con hardware.2"' = 2 ' -' 2 = 16 .M x 2'. Recorrer EAQ a la!derecha Qa = @RecorrerEAQaladefecha Q. Por ejemplo. = 1. donde M es el multiplicando y 14 el muitiplidr. rn = 1). Opera con base en que las series de números O en el multiplicador no requieren suma. puede sumarse el muItip1icando al producto parcial. MultiplIcaduren Q Qa= 1. Por l o tanto. e l número binario O01110 (+14) tiene una serie de digitos 1 de $ 2' (k = 3. -B.el aigoritma de Booth r e q u i e un examm dé losqbits del multiplicádor y ejecutar un corrimiento del producto patciaI. I a multiplicación M X 14. El procedimiento sigue los pasos delineados en la tabla de flujo.

representa el bit menos significativo del multiplicador en el registro QR. BR y QR. El multiplicando se resta del producto parcial cuando se encuentra el primer 1 menos swcativo en una serie de digitos 1 en el multiplicador. significa que se ha encontrado el primer 1'en una serie de ellos. igual a la cantidad de bits en eI rnultiplicador. Por ejemplo. . 2 El multiplicando se suma al producto parcial cuando se encuentra e l primer O (siempre y cuando exista un 1 anterior) en una serie de dígitos O en el multipIicador. Para mostrar esta diferencia. El diagrama de flujo para el algoritmo de Bwth se muestra en la f i r a 10-8. excepto en que los bits de signo no están separados de1 resto de los registros. significa que se encontró el primer O en una serie de Figura 10-7 Hardware para el algosirno de Booth.y en QW1. . un multiplicador igual a -14 se reprem~taen complemento de nlmeros 2 como 110010 y se trata como -z4 + 2' .como AC. E I producto parcial no cambia cuando el bit multiplicador es idént i c o al bit multiplicador anterior.Si los das bits son iguales a 1 0 . renombrarnos los registros A.2' = -14. Q. La implantaddn de hardware del algoritmo de Bmth requiere la configuración de registros que se muestra en la figura 10-7. Se conecta un flip-flop extra Q . a Q R para facilitar urm ddble hspecci6n de bit del multiplicador. Esto requiere una resta del multiplicando del producto parcial en AC. El algoritmo funciona para multiplicadores positivos o negativos en repmtaei6n de complemento a 2 Esto se debe a que un rnultiplicador negativo temtixia c m una serie de dígitos 1 y a que la Ciltima operacidn será una resta de la ponderaci6n adecuada. 3.1. respectivamente. B y Q. Si los dos bits son iguales a 01. Esto es similar a la figura 105. Se inspeccionan l o s dos bits del multiplicadar en Q. AC y el bit extra QM1se inicializa a O y el contador secuencia1 SC se inicializa en un niimero n.

~igoritmo de Booth para rnultiplicaci6n de números de complemento a 2 con .368 CAP~~VLO D~EZ Aritmética de computadoras Multiplicar Multiplicando en BR C-) Figura 10-8 signo.

el producto parcial no cambia. Esta es una manera rápida de multiplicar dos números porque sólo necesita el tiempo para que las señales se propaguen a través de las compuertas y formen el arreglo de multiplicación. Un ejemplo numérico del algoritmo de Booth se muestra en la tabla 104 para n = 5. TABLA 10-3 Ejemplo de multiplicación con el algoritmo de Booth 1 O 1 1 O 1 Inicial Restar B R ashr ashr Sumar B R ashr ashr Restar B R ashr Arreglo multiplicador Comprobar los bits del multiplicador uno a la vez y formar productos parciales es una operación secuencial que necesita una secuencia de microoperaciones de suma y corrimiento.. una condición que excluye un sobreflujo.+3. Esta es una operacibn aritm6tica de corrimiento a la derecha (ash) que recorre AC y QR a la derecha y deja sin cambiar el bit de signo en AC (véase la sección 4-6).+l es el bit de signo original del multiplicador y no debe tomarse como parte del producto. La multiplicación de dos números binarios puede hacerse con una microoperación mediante un circuito combinatorio que forma los bits del producto todos a la vez. El producto de 10 bits aparece en AC y QR y es positivo. No puede ocurrir un sobreflujo porque la suma y resta del multiplicando siguen una a la otra. los dos números que se suman siempre tienen signos opuestos. Como consecuencia. El siguiente paso es recorrer a la derecha el producto parcial y el multiplicador (incluyendo el bit Q. Sin embargo. Nótese que el multiplicador en QR es negativo y que el multiplicando en BR también lo es. un arreglo multiplicador requiere una gran . El contador secuencia1 se decrementa y el ciclo computacional se repite n veces. Cuando los dos bits son iguales. Presenta la multiplicación paso por paso de (-9) X (-13) = + 117.SECCI~N1@3 Algoritmos de multiplicación 369 ellos. El valor final de Q. Esto requiere la suma del multiplicando al producto parcial en AC.

de otra manera produce un O. produce un 1 d los dos son dígitos 1 .parcial. Como se muestra en el diagrama.p d w b . El primer producto parcial se fonna al multiplicar s10 por blb& La muitiplicaci6n de das bits y b. El segundo producto parcial se forma al multiplicar al por bxboy se korre una posicihn a la izquierda. e1 pI. Esto es idhtico a una operacih A i N D y puede loparse con una compuerta AND.9 Arreglo muiüplicador 2 . . Para observar c6mo puede implantarse un arreglo multiplicador con un c i ~ u i t o combinatorio consideremos la multiplicaci6n de das números de 2 bits.multiplicadoi!son al y a. Por lo general. Los bits del mu1tiplicando son bf y & los bib del. La salida binaria en cada nivel de las compuertas ) b A N D se suma en paralelo con el producto del nivel anterior para -formar un nwyo. E i 61th~ nivel da el producto. A un bit del multiplicador se aplica la función AND con cada bit del multiplicando en tantos niveles como bits ~ieexistm en el multiplicador. y el producto es CH~CO. hay más bits en los productos parciales y será necesario utilizar sumadores completos para producir la suma.no resutí6 costeable hasta el d e d o de los circuitos integrados. N6tese que el bit menos significativo del producto no tiene que seeomc un s m d o r porque estA formado por la salida de la primera compuerta AND. """ Puede construizsse un muJkiplicador binario de circuito combinatorio eori m á s b h en una forma h i l a r . E3 c2 cl X 2 bita. Los dos productos parciaies se suman con dos circuitos semisumadores (HA). por esta d n . como se muestra en la figura 10-9.cantidad de compuertas y. Para los a-iflfm bits del mdtipbador j y h bits del multiplicando k necesitamos j x k m . Figura lO.mer producto parcial se foma mediante dos compuertas M.

compuertas AND y-Cj sumadow de.multiplicador mediant e a f l y p Como k = 4 y j = 3. naesitamoe 12 compuertas AND y doe sumadores de4 bib p m .lograr prudwto de siete bita.$& para &tener un producto de j + k bik Coma d o ejemplo.. - . mnsidesemos m chuitb md tiplicador que m d t i p h un n h r o bharb de cuatro bits con un número de tres bib. E l diagrama lógico del multiplimdox se muesm en la fipca 10-10. Repxle~~ntem el multiphando mediante b&&lbo y d.

Los cinco bits más signX1cativos del dividendo se comparan con e l divisor. Ndtese que el resuhado proporciona un cociente y un residuo. En cualquier caso el divisor se recorre una vez a la derecha. La diferencia se denomina residuo parcial porque la división podb habeme detenido aquf para obtener un cociente de 1 y un miduo igual al residuo parcial.10-4 Aigoritmos de división I La divhi6n de dos números b i r i o s de punto fijo en representación de magnitud m signo se hace con papel y lápiz mediante un proceso de operaciones de comparar. Como el n h e r o de S bits es menor que El. El nhmm de 6 bils m mayor que B. de magnitud con signo Cuando = efectúa la divipi6n en una computadora digital. ~n lugar de ejecutar un corrimiento sobre el divisor a la derecha.para e1 bit del d e n t e en i a sarta pici6n arriba del dividendo. dentro dd divisor. El divisor B consta de cinco bits y el dividendo A de diez bits. Si d residuo parcial es mayor o jgual que e l divisor. es conveniente cambiar el proceso ligeramente. El prmesb contuiaa al comparar un residuo parcial con el divisor.ei6n de Hardware para dato. Si el miduo parda es menor que el divisor. corrimiento y resta sucesivas.rrcwrerBabdcxefha Residuo2 S R d d w Rnal Divisor Ejemplo de divisih binatia. Despub a recorre e l divisor una vez a la derecha y se resta del dividendo. Después se recorre el divisor a l a de& y se resta del residuo parcial. probamos de nuevo al tomar los seis bits mds significativos de A y comparar este nh-mo con B. e1 dividendo o residuo parcial se recorre a la izquierda. introducir 1 e nQ R&d~ocB.dcltetiene5bita 6bibdehrB Recrirrer B a la d d y regtar. La división b i r i a es m6s sencilla que i a divisi6n decimal parque los dígitos del cociente son 1 o O y no hay necesidad de estimar &tas veees cabe el dividendo del producto parciaJ. el bit del cociente es igual a 1. con lo que se dejan los dos n b e r o s en h posición relativa .introducir~enQ Rgiduo < B. II Jal Dividendo A 5bits¿eA<B. el bit del cociente es O y no se neeecita una resta.ín~ucirOenQ. por l o que colocamos un 1.introdudrOmQ knpluit. E l proceso de divlsión se ilustra mediante un ejemplo numérico en la figura 10-11. bcm&Bab~ymtux.

= 1.A y Q El dividendo se recorre a la izquierda y el divisor se resta al sumar su valor de complemento a 2 .'dejarQ=O Sunriir 8 Resta&t*siduo Bh' U Q SmqrS + X E= 1 m i z a r Qm= 1 d.. Ahora se ejecuta.requerida. s e queda como O (insertadv durante e l corMento).MQ &imatB+i E=Od+Qn=o Sumar B RWF -en@ residuo NoconaidemE k i d m en A: . y el residuo parcial se recorre a la iquieda para W t i r el proceso. Después el valor de B se suma para Figura 1 W Ejemplo de divisi&n& b con hardware digital.000. Si E = O. DivisorB. La resta puede loparse a l sumar A al complemento a 2 de B. h p d s la información acerca de las magnitud= relativas está disponible a partir del a w m ñnal.1. La información acerca de la magnitud relativa está dispe nible en E. s i g d b que A 2 B. y se pietde e1 valor anterior de E.~El divisor se almacena en d registro B y el dividendo de dable IongituB se alniaeena en los regis. 8 + 1=01111 DMdenda B A l MQ Sqmr B +1 E=l shl EAQ aunar$ + 1 Sumr B + 1 En 1 m Q n = l EAQ E = D. Un bit de cociente 1 se inserta en Q. L a c'lreuiteda para implantar la operaEi6n de división es iddntiea a l a que se requiere para la multiplicación y constas de ius componentes que se muestran en h figura 10-5. un commiento a la izquierda d registro EAQ cuando se inserta un O en Q. esto significa que A < B por lo que el cociente en Q. El ejemplo numérico se repite en la figura 10-12 para hacer mais c b el proceso de divisi6tr p"puestci. Si E = 1 .

ejemplo de la figura 10-11. Lo llarnacemos un flipflop de sobreflujo al dividir y lo titularemos DVF. A partir del. Esto no es un problema d o se trabaja con papel y Upiz. La apadci6n de un sobreflujo al dividir puede manejarse de diveraas maneras. también se recorren los bits del cociente y. Deben incluirse provisiones para asegurar que se detecte e s t a condici6n ya sea por la circuitería o programaci6n de la computadora.ra para almacenar el sexto bit. Esta condición de sobreflujo al dividiu d e b evitarse en operaciones de computadora normales. restablecer el residuo p d l en A a su valor previo. Esto ocurre porque cualquier dividendo ser4 mayor o igual al divisor. En d p a s computadoras. Cuando el dividendo es dos veces más largo que el divisor. Esto se debe a que la longitud de los registros es finita y no contendri un nSimero que exceda la longitud estándar. Para observar esto. a . tenemos que considerar el signo del resultado y una posible condici6n de sobreflujo. puede definirse k condicidn para un sobrefiujo de l a manera siguiente: ocurre una condición de sobreflujo al dividir s i la mitad de los bib de orden superior del dividenda constituyen un número mayor que o igual al divisor. es reqponsabiiidad de los programadocomprobar si D W está activo después de cada instrucci6n de dividir. Después se puede llamar a una subrutina que tome una medida c o d v a . el cual es igual a cero. Sobreflujo al dividir La operacición de divisibn puede dar como resultado un cociente con un sobrefiujo. el signo del cociente es mAs.-. porque todo el cociente ser4 demasiado largo para transferirse a una unidad de memoria que time palabras de longitud esthdar. o en una combinaci6n de las das. el d e n t e esti m Q y el residuo final en A. consideremos un sistema que tiene registros de 5 bits. Nótese que. El signo del residuo es igual al signo del dividendo. El residuo parcial se recorre a l a izfierda y d p n se repite una vez m68 hasta que se forman todos los bits del miente. pero es crítico cuando la operacibn se implanta con hardware. E i signo del cociente se determina a partir de los sipm de1 dividendo y del divisor. por lo que el bit de sobteflujo requerirá un flipfhp ext. se detecta la mndici6n de wbreflujo cuando se activa un flip-flop -al. notamos que d cociente estar& formado de seis bits si b s c h bits m á s significativos del dividendo constituyen un nSunero mayor del divisor. mientras el residuo parcial se kcorre al a izquierda. Antes de mostrar el algoritmo en forma de diagrama de flujo. S i los dos signos son iguales. Otro problema asociado con la divisibn es que debe evitarse UM dhisibn entre cero. L a co$ición de sobreflujo al dividir tambih cuida esta condici6n. Si son diferentes*el signo es menos. Utiharnos un registro que contenga el divisor y dos registros para contener al dividendo. El cociente se va a almacenar en un registro estándar de 5 bits. Por lo general. esto es de la misma longitud que los registros. después de cinco corrjmientw.

Si A 3. El signo del resulta& se transfiere a CS.E l dividendo está en A y Q y d divisor en B. Si el bit recorrido dentro de E 1. la aparici6n de un sobreflujo al dividir detenia l a computadora y esta condición se denominaba d e t m d n al dividir. Algoritmo de hardware El algoriímo para dividir en hardware sis muestra en el diagrama de flujo de La f g w a 10-13. Como en la mdtiplicaci&n.operacibn se termina en h a prematura. no ocurre un sobreflujo al dividir. b mejor manera de evitar un sobreflujo al dividir es usar datos de punto flotante En la d 6 n 10-5 veremos que un desbordamiento al dividir puede manejarse con mwha d e z si los números e s a en su represmtadbn de punto flotante. Se prueba una condici6n de sobreflujo al restar d divisor en B de la mitad de los bits del dividendo almacenados en A. Como e l registro A no alcanza el bit de orden superior del dividendo (e1 cual m t á en E).consideremos que los operandos se transfieren a los registras de una unidad úe memoria que tiene palabras de n bits. s u valor es EA . La intempcibn hace que la computadora suspenda el programa achiaI y se ilame a u m rutina de servicio que tome una medida correctiva. Se inicializa una constante dentro del contador secuencia1 S@ para especificar l a cantidad de bits en el cociente. Sumar este valor al complemento a 2 de'$ da como wdtada: - E 1 acarreo de esh suma no se transfkra a . En este caso.1 bits. para que sea parte del'cociente. para el bit del cociente.como poner una nueva escala a los datos para evitar el sobreflujo. Detener la-operaciónde la computadora no es recomendabl&porque consume tiempo. E s i &seamos que E permanezca en 1.1 bits.r " ' . La divigih de las magnituh comienza al ejecutarse un corrimiento del dividendo en AQ a la izquierda con el bit de orden superior recorrido a E. S i A 2 3. se activa el fip-flop DVF del sobreflujo al dividir y la.un d@to 1 seguida de n 1 bita mientras que B consta &lo de n . La medida comctiva m& comfm es quitar d programa y escribir un mensaje de error explicando la M6n por la que nocpdra completarse el programa. por 10 que EA consta de. se ocupará para el signo un bit de la palabra y la magnitud mnstard de n . E n la mayoría de las computadoras el p r m ~ e n t o se basa en proporcionar una solicitud de interrupción cuando M establece DVF. . sabemas que EA > B. En algunas computadoras antiguas. por lo que el valor de1 dividendo se restablece al sumar E a A. Como un operando debe almacon su signo. B debe restarse de EA y debe insertarse un 1 eri Q. Después es responsabilidad del usuario que escribid ei programa volver a fijar la escala de los datos o tomar cualquier otra medida correctiva.

&te proceso se repite una vez más con e l registro A que contiene el residuo parcial. dejamos un O en Q. -4e4 -1 ghl EAQ =1 lr =o EA+A+~+I EA+A+8+1 A+A+B+I =1 =O A>B A<B 1 f tf . S i E = 1.Si la operaci6n de corrLninto a la izquierda inserta un O dentro de E. y el número original e =tabla al sumar B o A. -u& de n .complemento a 2 y el acarreo se transfme a E.. se activa en 1. Si E = O. la magnitud del cociente se fonna en el registro Q y el rksiduo se encuentra en el registro A. significa que A 2 B. . w resta el divisor al sume su valor de . (el O w insertó durante e1 corrimiento). Y EA + A + & DYF+ 1 YA>B Ei4*A+B DVFtO &+r t A 4 SC I SCtSC.Operación diiHdir J nlvfdir magnltudw L 1 SC+n Q . En el último caso.ei d u o figura f 0-13 üiagrarna de flujo pam la operaci6n dividir.1 =O -7L & - +o PIN (dlvidlr e-@) en 8. El signo del . significa que A B. por lo tanto Q.1 veces.

este número se recorre a la kquierda (o se multiplica por dos) y B ce vuelve a restar. Hay disponibles otroe dos m6todm para dividir númefos. en el m&todode no restablecimiento. La manera más común e s especificarlos mediante un enunciado de dechaci6n real.B. residuo parcial d e k x e s t i i b h para obtener el residuo parcial correcto. B no se suma si la diferencia es negativa pero. Durante el siguiente ciclo. El residuo parcial se recorre a la izquierda y Ios nifmeros se vuelven a comparar.era un 1. se resta B de A. s i A r B. Este proceso ahorra el paso de suinar e l divisor si A . S i A < B no se hace nada. pero quiere una 16gica de controI especial para mordar el resultado anterior. El d t d o de mrnparadn y el m h d o de m r&f&k&kzfo. A partir del diagrama de flujo en h figura 9-11. Esto da 2(A 0 + B) . En el metodo de no m establecimiento. lo cual es igual que el ejemplo anterior.B. La primera vez que se morre d dividendo. I o s cuales s e especifican m e d i t e un enunciado de declaración mfem. Este d + d o s e obtiene en ei mgtodo de no restablecimiento al dejar como esta A . debe miam B. Otxos aigorlhnos &toda de ~fahiecitrrknto &todo E i mdtodo de hardware que r e acaba de describic se denomina mdtodo de wsfableeinihto. En el d t o d o de cmmparaa6nl A y B s e comparan antes de la operaci6n de resta. Cualquier computadora que tenga un c~mpiladar para el lenguaje de prognimatl6n de aIto nivel debe tener I a posibilidad de manejar operaciones aritmdticas de punto flotante. y el signo del residuo en 4es igual al signo origind del dividendo.B. Después.B) + B = 2A . Si no hay circuitei-ia disponible para las operacionés. se recorre a ia izquierda la diferencia negativa y después se suma B. en lugar de eso. b razdn de este nombre es que se mtablece el residuo pardal al sumar el divisor a i a diferencia negativa. Por lo tanto. Con mucha f m e n c i a se incluyen las operaciones en la brcuikrb uiferna.B. B se resta si el vaior anterior de Q. el número s e recorre a la izquierda y B se s m para dar 2(A . notamos que las operadona ejecutadas son A . el compilador debe diseña* con un paquete de subrutinas de enum'adu de dechneidn . concidexlemos el caso en el cual A 2: B.B + B.B = 2A . Para apreciar por qué es posible sta. La comparaci6n puede determinarse antes de la resta al inspeccionar el acarreo final del sumador paralelo antes de su transferencia al r e g i s t r o E. En el siguimte ciclo. esto es B se resta y después se suma para restablecer A. pero se suma si el valor anterior de Qnera un O y no se quiece un resfabbiertto del residuo parcial. & comparad6n y no ~stablecttn iento 10-5 Overaciones aritméficas de vunto flotante Muchos lenguajes de programacibn de alto nivel tienen una opcibn para especificar números de punto flotante.SECU6N 105 Operacimes aribdlkas de punto flotante 377 cociente es@ en Q. si el atimo bit del cociente es O. Tambih. en oposici6n a números de punto fijo.

Concideranos una computadora con palabras de 48 bits. - -.1).53m x 109. el que R incluye en la mayoda de las computadom es mucho más eMmk que el método de ptoa. lo cual es aproximadamente. ' l a m x f m&- - dc Un nfimero de punto flotante se normaliza si el primer número m8s si@ficativo de la mantisa es diferente de cero. Por ejemplo. eI rango de los mímeros ente. de punto flotahte ser&1(F. La repmsentaci6n de punto flotante aumenta e l rango de números que pueden alojarse en un regrstro dado. . Re esta manera. Esto es aproximadamente igual a lo1'.1 = 2047. Los 48 bits pueden usarq para rep-tar un número de punto flotante con 36 bits para la mantisa y 12 para e1 exponente.1 0 ' 7 el'cual es un n m muy granida La mantisa puede alojar 35 bits [excluyendo el signo) y si se considera como un entero puede almacenar un número tan grande cdmo ( p .25 se r e p m t a en un se interpreta parsi t'epmsmtoir el número de punto flotante: . Un cero no puede nomalizarse porque no tiene un d@to diferente de cero. el cual es equivalente a un número dechal de diez dígitos.registros de la computadora consta de dos partes: una mantisa m y un exponente e. la mantisa contiene la entidad máxima posible de clígitps significativos. Como debe reservarse un bit para el signo. +1014. ' Consideracionesbásicas La reprwntacih-de datos de pmto flotante se introdujo en la sección 3-4. Se T e p e senta en punto Botpnte mediante Lodos O en La mantisa y en e l exponente. Al considerar la repmtaci6n de fracci6n para la mantisa y a l tomar 10s dos bits de signo en consideraci6n. par l0Jtanto: -.11. consideremos una t"prsentaci6n de fracci6n y una raíz de 10. ia posicidn del punto de base y el valor de la base r se asumen y no se inciuyen en los registros.--T.ramas y la QKuiWa de punto flotante sólo se omite en las muy pequeñas. Un númera de puto flotante en los . un expon&& de 11 bit6 (excluyendo"susigno) y el hecho de que 2" . e l de niimeros que pueden alojarse es: &te n-em se deriva de una fracci6n que contiene 35 n~meros1. el con m = 53725 y e = 3 y n i u n a dechal 537. qwbwros h mantisa pwde ser una fraccioii o ün 'itero.pmto flotante. h s dos partes r e p m t a n un n b e m obtenido de multiplicar m v e m una iafz r elevada al valor de e. Aunque el'M o de programas es m8s caro. E I númep m8s grande que puede alojarse S aproximadamente.

puede sumarse la mantk: . E l alineamiento se ejecuta al alinear una mantisa mienhs se ajusta su expw nente. el corrimiento a la izquierda produce una perdida de los d í g i h s mAs significativos. en tanto que el primer mktodo puede producir un e-.exponente. Una micm wmputadora de 8 bits puede utilizar cuatro palabras para representar un ndmera de punta flotante. Despuds de que se hace estu. al recorrer la suma una vez a la derecha e incrementar el exponente.. Un sobreflujo puede col'rregirse con facilidad.S E C C I1 ~M Operaciones aritméii~as de punto flotante 379 Las computadoras con longitud. y su ejmci6n requiere más tiem~oy un hardware más complejo. porque las partes de los o m8s exponentes deben v o l v a iguales antes de sumar o restar las mantisas. Cuando se restan dos nheros. la suma puede contener un dfgito de sobrefiujo. Cuando se almacenan las mantisas en registros. /. hasta que es igual al otro . segundo m6todo es preferible porque & l o reduce la exactitud. Fara sumar o restar dos números. primero es necesario alinear e l punto de . Podemos recorrer el primer número tres posiciones a la izquierda o el segundo número tres posiciones a la derecha. el resdtado puede hhtener una mayoría de nheros O significativos. Las op-er&neg aritmficas con ni'tneros de punto flotante son miís campUca¿as. como se muestra en el siguiente ejemplo: .punto f l o t a n t e .que con niuneras de punto fijo.de palabras m á s cortas utilizan dos pdabras para rep-tar un número de. E l corrimiento a la derecha p d u c e una pérdida de b dígib ms ~ L v o sE l . Consideremos la suma de los siguientes n6meros de punto flotante: + . Cuando se su* dos mantisas normalizadas. E l pr~edimiento de alineamiento usual es recorrer a la derecha la mantisa que tiene el exponente d s pequefio una cantidad de lugares igual a l a dihmcia entre los exponentes.lS0000 x 10-' Es necesario que los dos exponentes wan iguales antes de que puedan sumarse las mantisas.base. Se reserva una palabra de ocho bits para el exponente y los 24 bits de las otras tres palabras se utilizan para la mantisa.

utiiizamoe niuneros decimal. Otra ventaja es que el exponente polarizado miis pequeño posible contiene sólo números 0. se eviQ que el bit de signo sea una entidad -arada. La ventaja de los exponentes polarizados es que &lo contienen n ú m ras positivos.Se dice que un número de punto flotante que tiene un O en la posicibn m8s significativa de la manb.por b que l o s dos tipos pueden compartir los mismos registros y circuitos. para que internamente todos los exponenles sean positivos. De esta manera. La mta de 50 proporciona los valores negativos en d rango de -1 a -50. internamente. Paxa nomializar un número que contiene un sobreflujo inverso. tiene un s~breujo inziw50. La multiplicacibn y la divisi611 de punto flotante no necesitan un alineamiento de las mantisas. se representan los exponentes en los registros como números positivos en el rango de 00 a 99. En el ejemplo anterior. Puede formarse el p d u c t o al multiplicar las dos mantisa~y sumar los exponentes. Las operaciones ejecutadas con los exponentes son comparar e incrementar (para alinear las mantisas). En la mayoría de las computadoras. es necemrio recorrer a la derecha das veces para obtener X lo3. La divisi611se realiza al dividir las mantisas y restar los exponen&.para mostrar algunos de los conceptos que deben comprenderse cuando se trabaja con . Los exponentes negativos se representan en los registros en el rango de 49 a 0 0 . Las operaciones ejecutadas con las rnantisas son las mismas que con los números & punto f i j o . Consideremos un exponente que varía de -M a 49. En esta representacibn. Por lo tanto. Como consecuencia. En h s eje+s anteriores. La resta de 50 prupocciona los valares positivos de 49 a O. Un cuarto tipo de q m t a c i 6 n que se emph en muchas de las computadora~ se conoce como exponente polarizado. puede utilizarse un comparador de magnitud para apreciar i a magnitud relativa durante el alineamiento de la mantisa. De esa manera la representacibn de punto flotante de O ec una mantisa O y el exponente mAs pequeño posible. sumar y restar @ara multiplicar y dividir) y decrementar (para nomalizar el resultado). El e x p nente puede qresentflrse eri cualquiera de las tres formas siguientes: magnitud de * o J magnitud de complemento a 2 con signo o complemento a 3 con signo. se representa mediante dos *tos (sin signo) al sumarle una polarizaci6n de 50. H registro del exponente contiene el número e + 50. Las exponentes positivos en registros tienen e l rango de números de 99 a SO. es necesario recorrer l a mantisa a la izquierda y decrementar el exponente hasta que aparezca un digito diferente de cero en 1s primera posicih. se ejecuta un pmdimienb de nomalizaci6n despub de cada operacibn para asegurar que todos lw resultados est2in en su forma normahada. El siguiente ejemplo puede hacer m8s claro @te tipo de representaciones. donde e es el pxponente real. L a polarbación es un n~ímero positivo que se suma a cada exponente mientras se forma el número de punto flotante. es m8s senciUo comparar su magnitud relativa sin preocuparse por sus signos.

B y b. IA parte del exponente utiliza d símbolo de letra m i n h l a eomspondienk. La org&aci6n de registros para operaciones de punto fiotante se muestra en l a figura 10-14. no tienen un bit de sipo . A y a. Q y q. Existím €res registros. Rl diagrama muestra en forma explícita el bit más sigdkativo de A etiquetado mediante Al. * Se considera que cada número dé punto flotante tiene una m t i s a en representación de magnitud con signo y un exponente polarizado. La diferencia estftba en la manera m que se manejan lbs exponentés. 1 o miamos ~ regfstros y el mismo sumador para bs operaciones de punto fijo..mismos conceptos se aplican tambih a lm Mmerqs bhrim. y una magnitud que está en A. Como %la general. Por l o tanto. Para los exponentes se utiliza un sumador paralelo 7 baseparado.SECCI~N 10s Operaciones arihn6ticas Be punto flotante 3 8 ! l nameMs de punto flotante Es obvib que 1 . El bit en esta p i c i 6 n debe ser un 1 para e l número que va a nomializarae. AC y QR. para procesar h s m h s se usan. Ln parte de la mantisa time los mismos simbolos de letras rnayCiscub que la repmentaci6n de punto fijo. Un simiador paralelo suma las dos mantisas y t r a d k e el resultado p* a A y e l a c a r m a E. el registro B R s e subdivide en B. ' C o ~ ~ a c i de 6 n registros La confi'gurahón de re!ghtros para operaciones de punto flotante es muy similar a la dmrita para operacioaes de punto fijo. el AC time una mantisa cuyo signo está en A. Rgura 10-14 Registros para aritméüca~ de punto fiotanb.Cada registro & subdivide en dos pattes. Nbtese que el sfmbolo AC representa todo el registro. Los dpitmos d&arrollados en esta sección son para n h m binarioa. y QR en Q. E1 exponente s t A en la parte del' registro r e p m t a d a por el símbolo de la letra a minúscula. esto es. Como los exponentes están pala-dos. i a concatena96n de A. D e igualmanere. La ari&& d k c i r n a l de computadora se analiza en la m i b n siguiente. BR.

Si los exponentes son dkentes. I a s nfineros de los registros esten .mueven de v a la unidad de memoria estan siempre normalizados.4Cy. Micompk g i e n t w su signo. y ei v&r ea AC es el resultadotado Si AC es igual a cero. no se considera un sobreflujo de exponentes. El n h á o de la mantisp 1 tomar8 como Una fraccidrz. todos los operandos de punto flotante que se '*@-q -. 3. Si ninguna de los números es igual a cero. el resuitado también puede ser cero. pamms a $ecutar Ia operaci6n aritmética. duran@ la multiplicación y la divisi6n. el resultado puede estar sin normalizar. 4. Los exponentes tambikn s e conectan a un comparador de magnitud que proporciona ires salidas binarias para indicar su magnitud relativa. inicialmente. Si los dos exponentes son iguah. El.puntobinario reside a la *uierda de la parte de magnitud.salidas que indican su magnitud relativa. Se considera que los números de punto flotante s q tan grandes que es muy remota la posbihdi?d. E l algoritmo puede dividirse m cuatro parta consecutivas. procedemos a alinear las rrimths. s is e van a restar los mhems. 'rcr Se considera que. doptamoc una representación de fracciones. pero se repremtan como una cantidad positiva polarizada.wmprobamos Ios ceros en un principio y. s i es necesario. diagrama de flujo para sumar o restar dos números bmriw de pwto flotante se muestra en la £ i p a D15. se termina opaci6n. El mrnpqadqr de mapitud conectado a los exponentes a y b proporciona kes . La suma por diferencia S forma en e l AC. E l procedimiento de nomalizaci6n asegura que el resultado es@ normalizado antes de su transferencia a memoria. Ihbe realizarse el aíineamienb de las mantisas antes de su operacihn. transferirnos el c o n W o & BR a . Comprobar l a p-cia 2.la m a @ b con e l exponente menor se dwplaza a la derecha y s e . Sumar o restar las rnantisas. En l u ~ a r de comprobar l a presencia de ceros durante el proceso de normalizaci611. Si BR es igual a cero. . de ceros. Para evitar es@ problqas. Después de que se suman o restan Ias mantisas. Normalizar el resultado. Si se u c i a este nWiero durante el c3lcul0. 1 .normaliados. y por esta razbn.deun sobreflujo de exponente. Confome . se normalizad el n suItado. se termina el p m .! distinto. los dos operandos de punto flotante estan en AC y en BR. Después de cada operaci6n arimi&tica. No puede normalizam un número de punto flotante que es cero..a B O . -- --JW@ a * 'Suma y resta mlr Durante la suha o resta. La r e p ~ q t a c i 6 n eritera para punto fiotatrte pmducqciertos problemas en el establ-ento de escalas. para que se considere qqe el . Aiinear las mantims.

SECCI~N 1~

Opraciones aritmt5ticas de

punto flotante

383

1

'

IL

Figura 1&15

Sumri y resta de nhmms de p u t o flotante.

incrementa su exponente. Este pmceso se repite hasta que los dos exponente8
m iguales.

u

La suma y resta de las dos mantisas es idéntica al aigoriho de suma y resta de punto fijo que se presentó en e l figura 10-2. La parte de magnitud se suma y se resta dependiendo de la operaci6n y de los signos de las dos mantisas. Si murre un sobreflujo cuando se suman las magnitudes, se transfiere al flipflop E. Si E es igual a 1, se transfiere eI bit a A, y todos los otrcis bits de A se re&rren a la -a. &be intrementarse el expcmenk para mankmer e l n W m corredo. En este caso, no puede ocurrir un sobreflujo inverso porque la m a n b original que no se recorrió durante el alineamiento ya estaba en una posici6n normalizada. Si se restaron las magnitudes, el resultado ser6 un cero o podría tener un sobreflujo inverso. Si la manüsa es cero, todo el número de punto flotante en AC se hace cero. De otra manera, la mantisa debe tener al menos un bit que sea igual a P. La m a n b time un sobreflujo inverso si el bit más significativo en la posicidn Al es O. En ese caso, la mantisa se recorre a la izquierda y se d-enta el exponente. Se comprueba de nuevo el bit m Al y e l prcceso se repite hasta que es igual a 1 . Cuando A, = 1, se normaliza l a m a n h y se completa la yeraci6n.
b

--_

I

Mdtipliacih La multiplicación de dos números de punto flotante requiere que multipliquemos las mantisas y sumemos ios exponentes. No es necesaria una comparación de exponentes o alineamiento de rnantisas. La multiplicacibn de las
manse ejecuta de la misma manera que con e l punto fijo para proporcionar un producto de doble precisi6n. La respuesta de doble precisi6n se utiliza en los números de punto fijo para aumentar la exactitud del producto. En el punto flotante, el rango de la rnantk de precisibn única, combinado con el exponate, por l o general es lo bastante acertado para que se mantengan &lo números de precisidn única. Debido a eso, se tomarán juntos la mitad m A s significativa de bits del producto de la mantisa y d exponenk para formar. un pmducto~ de punto flotante de precisibn única. E l .aIgoritmo de multiplicación puede subdividirse en cuatro partes:

'

1

I

L Comprobar la presencia de ceros.
2. Sumar los exponentes. 3. Multiplicar las mantisasl 4. Normalizar e l producto.

Los pasos 2 y 3 pueden hacerse en forma simuItánea s i se dispone de suma& separados para las mantisas y los exponentes. En la figura 10-16 se muestra el diagrama de f l u j o para la multiplicación de punto flotante Se comprueban los das operandos para detemiinar s i contienen un cero. Si algún opando es igual a 4 el producto en AC se inicializa

m IM

0peracim-marhndticas de punto flotante

385

m O y la cyemcibn se temina. S i ninguno es igual a O el proceso continúa con la suma deexponentes, El exponente del snultiplicadox está en q y el ssumador está entre los wpomenb a y h Esnwwario ímderir, los exponentes de q a a, sumar los dos exponentes y kansferir la suma a a. C m ambos exponwib se pohriFigura 10-16 Multipliuiuón d e - n w - m de plinto flotante.

Multiplicar manüsa

shl AQ
U'@-

1

=1
f

Y

i1

m

386

cwimm~ DIEZ Mhética de.eomputad~ras zan mediante la suma de u n a constante, h suma de exponentes tendrii doble polariaaci6n. El exponente polahdo mrikto para el producto se obtiene al restar el n h e m de pab de la suma. .. La mulkiplicab6n de las mantkshsehace como en el caso del punto fija, ron d producto residiendo en 34 y Q.No puede ocurrir un sobreflujo durante Ia rnultiplicaci6r1, par lo que no es necesario comprobar.
N

El producto puede tener un sobrefiujo inverso, por lo que se comprueba el bit d s sipificativo m A. S i es 2, el producto ya está normalizado. Si es O, se recorre a la izquierda la mantisa en AQ y s e decrementa el exponente.
Nbtese que d o se necesita un corrimiento de nomlizacibn. El multiplicador y el multiplicando estaban nomializados originalmente y contenían fracciones. E l operando normaIizado mAs pequeiio es 0.1, por lo que el producto m& pepueiío posible es 0 . 0 2 . Por b tanto, súlo puede presenkuse un O en el extremo significativo. Aunque .la mitad de orden inferior de la mantisa está en Q, no la tilizamos para el producto de punto flotante. %lo se toma el valor de AC omo producto.

P

Divisi6n
La divisi611 de punto flotanie requiere que se resten los exponentes y se dividan las mantisas. La divisibri de mantisas se hace como en e l punto fijo, excepto que el dividendo tiene una mantisa de precki6n única que se coloca en AC. Recuade que el dividendo de la mantisa es una fracción y no un entera. Para representar enteros, un dividendo de precisión única debe colocarse en el registro Q y debe borrarse el registro A. ~ Q S ceros de A estin ai a i z y d a del punto binario y no son significativos. En representaci611 de fracciones, se coloca un dividendo de pmisión única en el. registra A y se b m a d registro (2. Las ceros de Q e~tán-ah &echa del-p-mo binario y no son significativos. La prueba del sobreflujo al dividir es igual que en la representacidn de punto fijo. Sin embargo, con números de punto flotante, el sobreflujo al dividir no implica problemas. S i el dividendo es mayor que o igual al divisor, se recorre a la derecha la fraccibn del dividendo y su exponente se incrementa m 1. Para operandos normalizados esta es una operacibn suficiente para asegurar que no ocurrirA un sobreflujo al dividir la mantisa. La operaci6n ankrior se denomina alineamiento del dividmído. La divisi611de dos ntímeros de punto flotante normalizados dará camo multado un d e n t e normalizado, siempre y cuando se realice un alineamiento del dividendo antes de la divisih. Por b tanto, a diferencia de otras operaciones, el cociente que se obtiene después de ia divisibn no necesita una normalizaci6n. El algoritmo de divisi611puede subdividirse en cinco partes:
1 . Comprobar la existencia de ceros. 2 Inicializar los registros y evaluar el signo.

alineamiento de1
dividendo

3. A b e a r el dividendo. 4. Restar los exponentes. 5. Dividir las mantisas.

En la figura 10-17 se muestra el diagrama de flujo para la divisi6n de punto flotante. Se comprueban los dos operandos para saber si hay ceros. Si e1 divisor es cero, indica uh intento -pr dividir entre cero, que e s una operaci6n ilegal. Se termina la operacibn con un menaaje de error. Un proeedimienko alternativo sería establecer e l cociente de Q R en el n-ctmero más positivo posible ( s ie l dividendo es positivo). O el número más negativo posible (si el dividendo es negativo). Si ei dividendo en AC es cero, el cociente en Q R se hace cero y termina la ~peracibn. Si b s operandos no son cero, avanzamos para determinar e1 signo del cociente y almacenarlo en Qs, El signo del dividendo en A, no se afecta para que sea el signo del residuo. E 1 registro Qtse borra y el contador secuenciaI SC se inicliza en un número igual a La cantidad de bits en e l cociente. El alineamiento del dividendo es similar a h prueba del sobreflujo al dividii h operaci6n de punto fija El aheamiento adecuado requiere que el dividendo de la fraecihn sea menor que el divisor. Se comparan las dos fracciones mediante una prueba de resta. El acarreo en E deterpiina su magnitud relativa. Se restablece l a fraccibn del dividendo a su valor original al sumar el divisor. Si A 2 B, es necesario recorrer a la derecha A una vez e incrementar el exponente del dividendo. Como ambos operandos están normalizados, este alineamiento asegura que A c B. Despub, se resta el exportente divisor del exponente dividendo. Como ambos exponentes estaban polarizados originalmente, la operación de resta proporciona la diferencia s i n el polo. Despub se suma e l polo y e l resultado w z transfiere a 4 , porque el cociente se fom6 en QR, Se divide la magnitud de las mantisas como en e l caso del punto flotante. Después de la operaci6r1, e l cociente mantisa reside en Q y el residuo en A. El miente de punto flotante ya está normalizado y reside en QR. El exponente del residuo debe ser igual al exponente del dividendo. El punto binario para la mantisa residuo se encuentra a (n - 1) posiciones a la izquierda de A,. Puede convertirse el residuo en una fraccibn normalizada al restar n - 1 del exponente deI dividendo y a1 recorrer y demementar hasta que e l bit en Al sea igual a 1. Esto no se muestra en el diagrama de flujo y se deja codio ejercicio.

10-6 Unidad aritmetica decimal
El usuario de una computadora prepara datos con números dechales y r e c k resultados en forma decimal. Una CPU con una unidad aritmética-lúgica puede ejecutar rnicrooperaciones aritméticas con datos binarios. Para ejecutar operaciones aritméticas-con>datoadecimales, e necesario convertir

m..,

C'

SECCI~N 10-6 Unidad aritm6tica decimal

389

*

,

b s números decimales de entrada en binarios, para ejecutar todos los - cálculos con números binarios y convertir el resultado en decimal. Este puede ser un método eficiente en aplicaciones que requieran una gran cantidad de cálculos y una cantidad relativamente más pequeña de datos de . entrada y salida. Cuando la aplicación solicita una gran cantidad de entradas - y salidas y un número relativamente más pequeño de cálculos aritméticos, es- nids conmiente hacer la aftm6tica Hrterna de manera directa con los números decimales. Las computadoras capaces de ejecutar aritmética decimal deben almacenar los datos decimales en forma de código binario. b Después se aplican los números decimales a una unidad aritmética decimal ! tI capaz de ejecutar microoperaciones aritméticas decimales. a Las calculadoras electrónicas utilizan invariablemente una unidad arit1 1 mética decimal interna, debido a que las entradas y salidas son frecuentes. No parece existir una razón para convertir los números de entrada del teclado en binario y volver a convertir los resultados exhibidos en decimales porque este proceso requiere circuitos especiales y también necesita más tiempo para ejecutarse. Muchas computadoras tienen hardware para cálculos l o aritméticos con datos binarios y decimales. Los usuarios pueden especifi-, ' car mediante instrucciones programadas si desean que la computadora ejecute los cálculos con datos binarios o decimales. Una unidad aritmética decimal es una función digital que ejecuta . microaperaciones decimales. Puede sumar o restar números decimales, por 1! lo regular, al formar el complemento a 9 o 10 del sustraendo. La unidad , ,, acepta números decimales codificados y genera resultados en el mismo código binario adoptado. Una unidad aritmética decimal de una sola etapa t . consta de nueve variables binarias de entrada y cinco variables binarias de salida, porque se necesita un mínimo de cuatro bits para representar cada dígito decimal codificado. Cada etapa debe tener cuatro entradas para , un dígito sumando, cuatro entradas para el otro sumando y un acarreo de . ,.8lU#. 1 .L. ' " entrada. Las salidas incluyen cuatro terminales para el dígito de suma y uno para el acarreo de salida. Por supuesto, existe una amplia variedad de '' configuraciones de circuito posibles, que dependen del código utilizado para I I , , ~ representar los dígitos decimales. .

-- --

11

-

-

++

-

2

p

T

1,)'

'lA'

J.)-

-,

. , ,n

'r

lb

5..

. , 7 ) , ,- m . ) Sumador BCD " '.
f
l f

2

,

'S,

' I

11'

J .

1 1 ~ 1I ,

11

n

'

S

1

1 ,

,rl
l .

rr

17.2

"
I 4 I
Y

' 4

" "

VL

8

'l-

tb

Consideremos lb '&%unaaritmética dos dígitos decimales en BCD, junto con ." "!"' -*11 un posible a c a r d de una etapa bnterior. Como cada dígito de entrada no , I J,- , , t , , . excede de 9, la d&a de salida n6'6uede ser mayor que 9 + 9 + 1 = 19, el .,l .. I~ 1 " 1 en la suma es un acarreo de entrada. Supongamos que se aplican dos ' h1 ' * dígitos BCD a un sumador binario de 4 bits. El sumador formará. la suma ' , , . "'. en binnrio y producir&"&$ iesultado que puede variar de O a 19. Estos números binarios se listan en la tabla 10-4 y se etiquetan mediante los -* (.it>n*- símbolos K, Zg, Zp,Z2 y Z1. K es el acarreo y los subíndices bajo la letra Z 1' 11 r ' ' - representan las ponc+xgcipes 8 4, 2 y 1 que pueden asignarse a los cuatro 'tnr: I.t>lI. '1 , ', -1 c,
-#\.J.

r

''

,J~,CII,?,

?'

)

"
+

L,

1Ig

8

(

.

TABLA 1 W Detivaci6n de un wmador BCD
Sumadorbinario
Sumador BCD

K

Z e

&

Za

21

C

S 8

Sub

SE

SI

Decimal

O O

"
0 0
0 0 '

O
0

O
0 1 0
1 0

O
1
0

O
0
0

O
0
0

Q
0 0 1
0 1

Q
0
1

O
1 O 1 0
1

O
1

o
0 0

o

0 1
1

1 0
1

0 0
0

0 0 0 0 0 l

1 0
0

2 3 4
5

0 o

1

0 0 O

0 1 l

1 0 O

1 0 O

1 0 l

o 0 O

1 1 1 O

1 1 0 O

0 1 ~ l

6 7 0 8 9

~

bits en el código BCD. La primera columna en la tabla lista las sumas b i i r i a s conforme aparecen en las salidas del sumador binariu de cuatro bits. La suma de salida de dos ndrneros hcimaks debe representarse en BCD y debe aparecer en b forma que se lista en la segunda columna de la tabla. E l protilema es encontrar una regla simple mediante la cual pueda convertirse el número binario de la primera columna en la representacidn correcta de dígito BCD del n h e m de l a segunda columna. Al examinar e l wntenido de la tabla, es evidente que cuando la suma binaria es @al que o menor que 1W1,e l número BCD correspondiente es idéntico y, por lo tanto, no es necesaria una conversión,Cuando la suma binaria es ,mayor que 1001, obtenemos una representacidn BCD no válida. Lii suma'de binario 6 (0110) a la suma binaria la convierte en la repremtaci6n BCD correcta y tambib praduce un acarreo de salida, conforme s e requiere. Un método para, sumar nCimeros decimales en BCD sería emplear un sumados binario de cuatro bits y ejecutar la operaci6n aribktica de un dígito a l a vez. El par de &@tos BCD de orden inferior se suma primero para

mmó~ i~ Unidad aritmética decimctl

391

producir una suma binaria. Si el resultado es igual que o mayor que 1010, se corrige al sumar 0110 a la suma Kmaria. Esta segunda operacidn producid en forma automákica un acarreo de salida para el siguiente par de dígitos
significativos. E l &+te par de *tos de orden superior, junto con e l acarreo de entrada, se suma después para pruducir su suma biiria. Si el resultado es igual que o mayor que 1010, se corrige al sumar 0110. E l p d i m i e n t o se repite hasta que se suman todos los dígitos dmimales. E L circuito 16gico que detecta la correcci6n necesaria puede derivarse de las entradas de tabla. Es obvio que se necesita una correeei6n mando la suma binaria tiene un acarreo de esalida K = l. Las otras seis combinaciones de 1010 a 1111 que necesitan una cormi6n tienen un 1 en la pmici6n Z& Para distinguirlas de los b&m 1000 y 3001, que también tienen un 1 en la picibn Zw ~ ~ además que c2 ,o &<deben s tener un 1. la condición para una correccidn y un hcarreo de salida puede expresarse mediante la expresi6n bmleana:

Cuando C = 1, es necesario sumar 0310 a la suma b i a r i a y proporcionar un acarreo de saiida para la siguiente etapa. Un sumador BCD es un circuito que suma dos dígitos BCD en paralelo y produce un digito de suma también en BCD. Un sumador BCD debe incluir la 16gira de correccibn en su construcci6n interna. Para sumar O110 a la suma biñaria, ,utilizamos un segundo sumador binario de cuatro bits, como se muestra en la figura 10-18. t o s dos dígitos decimales, junto con el acarreo de entrada, se suman primero en el sumador binario de 4 bits superior, para producir la suma binaria. Cuando el acarreo de salida es igual a O, no se suma nada a la suma binaria. Cuando es igual a 1, se suma el bina& O110 a l a suma bina& mediante e l sumador binario de cuatro bits inferior. Puede ignorarse e I acarreo de saiida generado por e1 sumador binario inferior, porque proporciona informaci6n ya disponible en la terminal de acarreo de salida. Un sumador paralelo decimal que s u n a n dígitos decimales necesita n etapacde sumador BCD, con el acarreo de salida de una etapa conxtado al acarreo de entrada de Ia siguiente etapa de arden superior. Para conseguir retrasas de propagación d s cortos, los sumadores BCD incluyen los circui~QS necesarios para acameos antiapados. Adeds, el circuito sumador para la corrección no necesita los cuatro sumadoras completos y este circuito wuede optimizarse.

Resta BCD
Una resta d ' i t a de dos números dmimales requerir4 tui circuito sustractor diferente, de alguna manera, de un sumador binario, 13s mas prActico ejecutar la reta al tomar el complemento a 9 o 1 0 del suatraendo y sumarlo al

392

CAP~TLILO DIEZ

Aritmética d e computadoras

Adendo

Sumando

fnu
hacia afuera

JIMIIO ~its Sumado11 ' ' ae ' 4 "
"

I

Lz -

Acarreo

I

de entrada

Acarreo de salida

1
rtrn

Sumador binario de 4 bits

I

d

"-

::&Ez;:~d
J

d

inl

Figura 10-18 Diagrama de bloque de un sumador BCD. ~,.I*.IlIY YIrnY-, m# A U U I C I '1 m t w j ,1...l-r ir* i
*y.

d

minuendo. Como el BCD no es un código autocomplementano, no puede obtenerse d complemento a 9 al complementar cada bit en el código. Debe formarse mediante )un circuito que reste cada dígito BCD de 9. El complemento a 9 de un dígito decimal representado en BCD puede obtenerse al complementar los bits en la representación codificada del dígito, siempre y cuando se incluya una corrección. Existen dos métodos de corrección posibles. En el primero, se suma el binario 1010 (decimal 10) a cada dígito complementado y al acarreo descartado después de cada suma. En el segundo método, se suma el número binario 0110 (decriinal 6) antes de que se complemente el dígito. Como un ejemplo numérico, el complemento a 9 del BCD O111 (decimal 7) se calcula al complementar primero cada bit para obtener 1000.Al sumar el binario 1010 y descartar el acarreo, obtenemos O010 (decimal 2). Mediante el segundo método sumamos O110 a O111 para obtener 1101. Al complementar cada bit, obtenemos el resultado requerido de 0010. Complementar cada bit de m ncimero binario N de cuatro bits es igual a restar el número de 1111 (decimal 1 5 ) . %mar el equivalente binario del decimal PO proporciona 15 - N + 10 = 9 - N + 16. Pero 16 significa el

.

S0

S4

S2

S1

MUI

I rn

.o

1.

SECCI~W

106 Unidad ariimCtica decimal

393

acarreo que se descarta, p r l o que el rbwltado es 9 - N, conforme se w c e i b a . Sumar el equivalente binario del decimal 6 y después cornpl+ mentar proporciona 1 5 - ( N + 6) = 9 - N, queves10 que s e necesita. El complemsnb a 9 de+und.@to BCD también puede obtenerse me diante un circuito combinaeionaL Cuando se conecta este circuito a un sumador BCD, el resdtado es un sumador/sustraetor BCD. Representemos el dÍgito del ~usbmdo[a del sumando) mediante las cuatro variables bina& B , B,, BB y Bi. Sea M un bit de m d o que controla la operación sumar/mtar. Cuando M = O, s e suman los dos digitos; cuando M = 1 se restan los digitos. Sean las variables bidrías x& x* q y x, las salidas de c h i t o complementado^ a 9. Mediante ima revkibn de Ia tabla de verdad para el circuito, puede observarse (vgase e l problema 10-30) que B1 pude complementarse; B2 está siempre igual en f o p a de compIemmto a 9, como e n el & @ t o origid; x4 es 1 cuando la OR exclusiva de B1 y B4 es 1 ; y x8 e s1 cuando BS, B4 p B2 -- (WXI. L a s funciones boo1eanas para el circuito complemenhdor a 9 son: xi=BiM1+BiM - --T.
'

I t l m xz = Bz ~4 = B4M1 ( B i B l + B4B3M

+

Q=

BBM'

+ &&&M
M
= O. Cuando

M

A partir de estas ecuadorres obmvamos que X = 3 c d o =1 , las salidas x producen e l complemento a 9 de B.

Figura lb19 Una etapade una unid9 arhéüca decimal.

pero les daremos una interpretacibn dlferente. Por conveniencia. El mddo M controla la operaci6n de la unidad. Consiste en un surnador BCD y un complementador a 9. ~ + f i . Ellacarreode saiida Ckl de-etapa debe ccnahnc a l ata-m de entrada Cf de la siguiente etapa de arden superior. A1 sumar 1 al complemento a 9 se prcduce e l comple_mento a 10. siempre y cuando interpretemos los símbolos de la microoperaci6n en forma adecuada. Para números con n &&os decimales necesitamos n etapas como &a.A B 1 representa una transferencia de la suma decimal formada al sumar el + + TABLA 10-5 Shh108 de miaoo~&raciones arihn4ticas decimales A+A + B Sumar *@ros derimales y transferir la suma dentro de A Complemento a dígitas 9 de E E Contenido de A mls complemento a Qt+Qt + 1 dfgitos 10 de B dentro de A ~ t .+ ihammmtarnberoBCDenQt dsh A -Commiento d 4 al a áerecha del registro A dshlA Corrimiento decimal a ia izquierda del registroA . pueden usarse los mismos diagramas de flujo para ambos tipos de datos. para números decimales.enla figura 10-19. excepto por una Siera modificación en los algoritmos de multiplicacibn y división. Con M = O las. utilizaremos b s mismos sfmbolos para microoperaciones aritmdticas binarias y decimales. Las salidas brmdn l a suma de A m8s el complementa a 10 de B. 10-7 Operadones aritdticas decimales Los algoritmos para las operaciones4 aritméticas mn datos decimales son similares a los algaritmos para las operaciones correspondientes de datos binarios. apirddR d w Una etapa de una unidad aritmgtica decimal que puede sumar o restar das digitos BCD se muestra . las didas S forman la suma de A d s el complemento a 9 de B. Cada grupo de cuatro bits representa un digito d&aI y debe tomarse como una unidad cuando se ejecutan microoperaci~nes decimales. lo cual es equivalente a una operacibn de resta si w descarta el acarreo de la iiltima etapa. . Los números decimales en BCD se almacenan en Ios registros de la computadora en grupos de cuatro bits. Como se muestra en la tabla 1 M una barra cobre el símbolo de la Letra del registro repmenta el complemento a 9 del número decimal almacenado en el registro. De heeha. 14L mejor manera de retar los dos nSimems decimales es dejar M = 1 y a p h r un 1 al acarreo de entrada C1de la primera etapa. Por lo tanto. el símbolo A +..s a l i h S fonh2ui lasuma de A y B! Con M = 1 .+N-? .

El patr6n de bits de los doce flip-flops es: La micmoperacih dshr A ejecuta un corrimiento en el nhnero decimal un digito a la d d a para "proporcionar'0786. uno a la vez. loa dígibs se aplican a un W o sumador ECD en f o m serial. Un contador decimal va de iOD1 a 0 0 . seria mejor adophr un dmblo~ diferente para'el comphénto a 9. El rnktodo paralelo utiliza una unidad aritm& tica dechal compuesta de tantos sumadores BCD como dfgitos hay en el ndmero. A un corrimiento decimal a la derecha o izquierda. L a suma se forrha al ejecutar un corrimiento de los niimms decimales por e l sumador BCD. El uso de símbolos idhticos para e l c o m p b t o a 9 y el complemento a 1 puede resultar confuso si se emplean ambm tipos de datm en el mism~ sistema. mientras se transfieren los bits de cada dígito d i c a d o . efi paralelo. Como un ejemplo num&rIro. Los datos binarh deben mnplear un sumador b i r i o y un complementada. cuando se incrementa. como se muestra en la figura 10-19. Un contador b h a h recorre 16 esbdm. como se muestra en 4 figura 10-20. de 0000 a 1001 y de regreso a 0000. Si & l o s e está conside rando un tipo de datos. una para cada . L a suma se forma en paralelo y 6610 requiere una microoperacih Iln el métado de * t o serial y bit paralelo.Este corrimiento S sobre los cuatro bib y cambia el contenido del registro a: Suma y res@ El algoritmo para suma y resta de niuneras binarios de magnitud con signo se aplica también a los números decimales de magnitud con signo. incrementar 6 decrementar uh registro es igual paraJbin&os y decima1% excepto en la cantidad de estados que se permite que tenga eI registro. En este caso. dado que 9 es eI última contea.1emento a 10 con signo.el simbolo se aplicada a i tipo de datos que se usa. . el algoritmo para nameros de complemento a 2 bbrios con signo se aplica a lw números decimales de cony. le antecede la letra d para indicar un corrimiento sobre los cuatro bits que contienen los dígitos decimales. esta confiracion requiere k mici00peraciones. consideremos un qistro A que contiene el decimal 7860 en BCD. siempre y cuando interpretemos 10s símbolos de la microoperaci6n en forma correcta.* contenido original A al complemento a 10 de B. h s datos decimales deben emplear una unidad arihbtica decimal capaz de sumar los números K D y formar el complemento a 9 del sustraendo. Para k digitos decimales. del 0000 to 1111. un contador binarlo cubre una secuencia de 1111 a 0000 cuando se decrementa. Un contador decimal recorre 1 0 esbdw. De igual manera. De igual manera. 'Los datos decimales pueden sumarse en tres diferentes formas.

I 0 0 0 0 0 0 1 1 Sumando Surm S FA CAdda I I 1I I I 1L I I l t Figura 1 0 7 i lTres maman de ~umarnilrrserwrddmaimz .1 O 1 Q.

3 / 3 . consiste en comprobar la suma binaria. Un mdtiplicador decimal tiene digitos cuyo valor flucth de O a 9. analizada en la seccibn 10-6. se suma el multiplicando al producto parcial si e l bit multiplicador es 1. d d comparten todos los dígitoet. quiere una cantidad mhima de equipo pero es muy lento. m w o paralelo e sd~ido pero d t a una gran cantidad de sumado~es.dy bit paralelo $610 mpiere un sumados BCD.corrimiento digital. En el caso decimal. La suma binaria formada despu4s de cuatro corrimientos. excepto par la manera en que se forman los productos parciales. la suma binaria se corrige al sumarle O110 y generar un acarreo para el siguiente par de dlgitos. El métdo totahente setlal. en los que Figura 10-21 Reghfros para multiplifación y divisibn a-knética decimal. mientras que un multiplicador binario sólo tiene dígitos O y 1. Esta operación puede realizarse al sumar el mItjplicando al producto parcial una cantidad de veces igual al valor del digito muItiplicador. d ~ b e cmgirse dentro de un dlgito BCD vblido. Es m6s h t o que e l método pardeb por el tiempo que se para desplazar IQSdigitos.Consideramos aquí niimeros de cuatro dígitos. En el caso binario. S i es mayor o igual que 1010. Multiplicad6n La multiplicaci6n de ndmeros decimales de punto fijo es simüar a la de números binarios. Esta correcci6n. La organizaci6n de're&tros para la multiplicacih decimal se muestra en la figura 10-21. El método de digita. los bits se recorren uno a la vez por medio del sumador mmplel~. por todo el sumador serial. el multiplicando debe multiplicarse por el dIgito del multiplicador y sumarse el resultado al producto par-.

A. La unidad aritmética BCD suma los cinco digitos en paralelo y colma la suma en e1 registro A de cinco dígitos. es f ~ m el x complemehto a 4 del divisor cuando se resta de un residuo parcial. El dígito menos significativo en el registro Q de repmxnta mediante Qp Este dígito puede incrementarse o cada decrementarse. E l pmp6sito del dfgito B. y se coba la rniapitud del operando en Figura 1&22 Diagrama de flujo para multipliEaa6n decimal.total de 15 bits por número. . El propdsito del e o t A. y cada uno tiene un flip-flop de signo correspondiente A. denominados mediante 4 y Bw que pmporcionan una extensibn de un digito m4s a los registros. B y Q .aaw c a i &Lh. Un bit (el signo) se transfiere a B. . y Q. B. durante la multiplicacibn. El acarreo final va al flip-fiop E. Los q i s b A y B tienen cuatro bits rnds.d dlgito ocupa cuatro bits. es alojar un sobreflujo o mientras swna el multiplicando a l p d u & parcial. Un operando decimal que proviene de Ia memoria consta de 17 bits. para un.b q 8 . Existen tres registros. durante i a divisihn.

Despub s e eneúentfa el miduo en el registro A y el cociente está en e l registro Q. El acarreo en E determina la magnitud relativa de A y B.que es lo querido. como A.los 16 bits inferiores de B. i h esta manera. Esta coloca un O en A. Se comprueba QLuna vez más y ce repite el proceso hasta que es igual a O.-pués se repite el proceso k veces para formar un producto de doble Z~ngituden AQ. Se repite este p m hasta que la . El dígito del cociente en QLse incrementa una vez y e1 divisor se resta de nuevo. excepto por h manera en que se f m n los bits del cociente. Al principio s e borran tanto E. El algoritmo de muItiplicaci6n decimal se muestra en la figura 10-22. se suma el divisor para restablecer el residuo parcial y QL se queda en O. pero se suma e1 divisor para restablecer el residuo positivo. se resta el divisor del dividendo o residuo parcial. el digito del cociente no s e iocremenh. Si E = 0 .N o * consideta el valor de E. En el método de divisibn-restablecer. significa que A 2 B.Si es diferente a O. con su dígito más significativo colocado en A. se borran los registros A y Be y el contador secuencial SC se inicializa en un número k igual a la cantidad de &@tos en el multiplicadoi. Se comprueba e1 dfgito de arden inferior del multipIícador m QL. excepto que.. El algofitmo de divisidn decimal se muestra en la figura 10-23.Es simiir al algoritmo con datos binarim.resta produce una diferencia negativa que se reconoce cuando E es O. y puede variar su valor de O a 9. Después. En =te caso. el produtto parcial y el multiplicador se recorren una vez a la derecha. Ensepida.el residuo parcial ':va'Vmtro del divisor. del registro A. y transfiere e1 siguiente digito del multiplicador a QL. s e sestab1we el residuo correcto al sumar el divisor. De esta manera. los dlgifos del cocieñte pueden tener chalquiera de diez valores de O a 9.to multiplicador. e e suma una vez el multiplicando en B al produdo p a r d en A y se decrementa Qt. pero excluye la que produjo la diferencia negativa.s i m a que A < B. se resta e l divisor al sumar su valor de comphento a 10. E 1 dividendo (o residuo parcial) se recorre a la izquierda. División L a divisidn decimal es similar a la divisi611binaria. S iE = 1 . tantas vmxs cpmo sea necesario. . Cualquier dgito de sobreflujo temporal residid en A. ihspués. Cuando ocurre esto. Al principio. el muitipkando en B se suma al produdo p a m d una cantidad de veeea igual a i 1U8. (insertado ahí duranfe el cofrimiwito). E1 resultado de Ia operacidn tambmbién tiene 17 bits de longitud y no usa la parte A. t o s bits del residuo parcial y del cociente se recorren una vez a la izquieda y e l praceso -se repite k veces para formar k dígitos de cociente. su valor de complemento es 9. El dfgito en e1 cociente d e j a la cantidad de restas acumuladas.Como Be se limpi6 al inicio. . hasta que se produzca un residuo negativo. por supuesto. el dígito del a t e n t e se hace igual a la cantidad de veces que .

Operacionesde punto flotante tas operaciones aritméticas de punto flotante decimales siguen los mismos pxocediiientos que las operaciones bbarias. . L a s algoritmos de la secci6n 103 pueden adaptarse para datos decimales. microoperaci6n.Dividir (Q cociente esta en a) Agura 10-23 D i a m a de flujo para divisi6n decimal. . La multiplicaci6n y divisibn de las mantisas deben hacerse mediante los métodos ya descritos. siempre y cuando se interpreten en forma correcta los shbolos de la.

@dipM&Cel iil$o&nd para sumar dos n W o s en r@q@ad&nd i l e ~ f $ e m b " a 2 &n signo. c: A W - 10-4.f-ud' c m 48r(s. En w ' a b h s .ds X:Utr'nCrmwo p b s i t h so representa como O + X . OllM1 1. narhm& n -X se rqresarita como ~ ~ .& i d & d ~ ~ i ? ~ ~ t (5. 0 101101 .ahboJps gperdj~ad0sfL wpip~?ie:be: qw la suma (+X) f {*Y) puede&~m%fsa :24 sumar i o s : e r ~ incluyendo s sua bits de signo y descartand~el acarreo hacia afuera de la posicibn de hit de signo.&riJuyenda d sQno). 9.aig@itnoaand@m ' d d a m los siguientes números de magni. 3W.~ . ~ @determine b.-lL Ejerirte las wacioiies z t e s con n & binarir* y mn niimems negativos en representad& complemento a 2 con signo.l. Marque cada baybctofih indlddial en e1 diagrama de flujo de la f i p r a lb2 m&dhhun n h e r o y despu4stindique.. Utilizando estos .Q>+ . .'OllIl$ b . 2011Q c. ' Considere los n r l r n q ~ s bjn?&s cuapdo e s t h en repreaentacidn de crrmplsmwito a 2 coa signo.b.1 0 1 m b e.9olWbjg alcpmpm& 'bs~a$nrreo hacia s adentro y h a & afuera % 3 .la trayectoria general que toma el. E 1 bit a la .b T m 1 . (+.ex@ew kqgi&. Cada n h r o tiene n bifs: u w para el sipo p k : = n. de la piccbn de bit de signo. ~ ~ . Utiliee + + - .~-&-@d$rl d. 1. . Muestre & dp&edin&&~tod r d%~/6n di1Zobrefi ujd que m s t e en bmpioGr. i tiiilf~ . k &gte:& q p e m c i D . utilizando sdlo ".q. O OUW83. funciona en .ka e i -el b i t ~ s i complenia ~ 3.8 P' d siek b i t s ~ a ~ ~ a a & l ~ o h e m ~ i I r l ~ En ~ cada n acaso. donde el O significa el bit de y %la magnitud de k kits. r p F e n Q r cada r&tem. s .con s w o cwmdotserestan las mapjtudes mediante hs operaciones A+AyE&+-A*B: 10-2. En reaaa eawi p r & w ó n eel valor de AVF.\w si&m@ phmerosqeprenta el bit de signo. .E " bib qa.+) b* 6 q : + J-%). si k y un . gata la m B @ i i h $ Vn .O' lb110 L n -L 2 . p 10liO'.l q Gltimm a ~ r w sno .(-q+ (rb)= -15 m n mimeras binarios en ~e~resentacirin de caplemento a 1 con signo. O 01111 d.

a .E. tistelarrpresentaciónpl~adetodoslw~tesde64a~. Un numero b W o de punto flotante tiene siek bits para un exponente phrfiada. Q y SC (como en la tabla 10-2) durante el proceso de multipüeaei6n de dos nrimeros binarios. Derive un algoriimo en forma de diagrama de flujo para la comparaciónde dqs niimera blnatim con signo.b) OMXlllll entre 0011 (utilice un dividendo de acho bits). despuzs de la resta de dos exponentes polarizados.&vi$6n de b m a b de punto fijo sin mtablcimiento. Demu&re que puede UWW un comparador de magnitud de s i * bits pmacompamb~tudrrlativade~dosexpmbes. c . Muestre e l rnntaido de los q i s t r o s E. Sugieraunprocedimiento d f i c a d o para detectar un sobreflujo cuando s e utilizan números de complemento a 1con signo. Compruebe que la muhipli~ci6n de dos nheros de n dígitos en base r proporciona un producto no mayor de Zn dígitoc de longitud. m a M v e un aigaritmo en forma de diagrama de flujo para el método de . Demuesb que &e enunciado implica que no puede ocurrir un sobrefiujo en la operaci6n de mu~tipiicaci6n. Q y SC (como en la figura 10-12) durante e1proceso de divisidn de: a) 101OM)ll entre 1 0 1 1 .delos tegis. En ambos casos. l a constante utihzida para polarkm es 64. Demuectre que al sumar B después de la operacibn A + + 1 restablece e l valor origiinal de A. A. Diseííe un arregl~ mdtiplicador que funcione sobre dos números de cuatro bh. mando los números negativos estiIn en repmentación de complemento a 2 eon signo: 1 I . después de la suma de dos exponente p h r k d a s .de computadoras b .No se induyen Ios signos. despuk de una d&$i6n? I . el multiplicando + 15. b . es necesario sumar 64 para tener una diferencia de exponentes polarizados. ~ Q u k debe hacerse con el acarreo final? 11 s o r qt$ debe s e rigual el signo del residuo al del dividendo. Derive un alpritma para evaluar la raiz cuadrada de un n h e m binario de punto Ej. M u m el eontenida. Considere registras de Unco bits que contengan los números con signo. fiemuestfe que. Muestre el groepa de multiplicacib paso por paso utilizando el algoritmo de Booth (como en la tabla 10-3) cuando se multiplican los siguientes números binarios. Utüice mmpuertas AND y sumadores binarios. A. Derive un algoritmo en forma de d i i m de flujo para sumar y restar dos nilmeros binarios de punto fijo cuando los níunems negativos están en reprmntacibn de complemento a 1 con signo. 1 1 1 1 1 (multiplicando) y 10101 (multiplicador). d Demuestfe que. es necesario restar 64 para tener una suma de exponentes polarizados.

Demucsire que no puede haber uh sobreflujo de mantisa después de una * & n de mthltipbción 4 Demueahk que Ia divisibn de dos-nthefosnormakmdos de punto flotante con manSeas b a c t h a g siempre d e como multado un &te normalizado.S~6cutre&. E it e de h su& (o d b c i a ) a igual a las e x p m t e m8s @ e s . derive un algoritmo en brma de diagtama de flujo para alirbeat las m a n h y colel exponente mayor enLel AC. a= opnci6rrdE aur n d d e mrnplemento a 2 mn w 1 0 2 1 . e d e r a n d o eqm~entes pdiarizadas y tomando mi cuenta que % l o puede recorreme AC.1 ) . 1 W .&rrna eantiddd de lugares igual a la d i h e d a entre ios exponente. se usa e n & número más grande para determuiar el &tsdo. E l ' t o para a h a u mantisasdurantela suma o r d a de ni5meroa d e s i t e ppe+de&qne 4. E ~ e o q i o ~ ~ ~ k h a g d w a r e u n ~ u j o o u d u j o inverr#. '"pp~apdp6&flrq'p del 8ugokivdeapmehtesi el es más negativo que el nhnem m g r s ' m u e A a que puede alojanse en ei registro. (n -1) debe sumarse al pradwbde qwmk en el AC. b . de bits de h m a n h e n un n h e m binario de punto 1 0 c m Sea n la ca~tldad Botank. S i u p i a de m m i l a mmtisa de d m a m de p b= . Modilique el ~ ~ ~ den la +a e m 1 5 ~al incluir l un contador a secuen~ d S C q u e ~ b l a ~ & ~ b . Al revisar y comparar para de bita de izquierda a derecha f 0-19. Cuando sealinean bmdhwdurante la suma o mta..hmtisaconel menor m reame p r Wpleta fuera del registro.Z r 10-23. La mantisa debe ser una fracción ' i u s aipritmos a las *apaeigtbes'aride punto flotante m la '-ióm 1W no la @Ididid de sobreflujo o sobreflujo inverm del'expmte. d * y mando & m d k un alineamiento del dividendo antes de i a o p m d h de divid& I I Atriplik e1 diad i flujo de la figura 10-17 para pmporeionar un resid20 d e l otante normaliic el AC. 1 d~tepuedeser~que~n~tl. i a manga siguienk m h r rl expo nente más ppeiío d d mayor y r a la derecha fa m t k que tiene d -te más peq. p r o b e l m a s J e & b h iriL. r Rivlr km ires dhgqpiw de f l " p y m n h .n&ujo de explente. . la difeiencia . R e p i t a . C i e l n d m e m d e ~ b es mayor que n 1 . - 'Exz . . Para w h c @ de e n t m a &mws& que sise utiiii m de p d i n bnica. y h dhhibit ! k i la cantidad de bits en la parte de mapitudde k mantupa (n . Sin utllinrat un í 5 h m d o r de magnitud. s L p h 10-W para mhems bharidsde magnitud con signo.dupanbe ia d t i p .Wanb una b . -J 4 10. .deteqmmtp. 1024. dónde puede muL un mb.

Es wesario diseiiar un oumadbr para dos digitos decimales reprei código de e ~ r tres . m ? I 1 2 % ... Q y SC durante i a multiplipd6n y b) 999 X 199.? &hwb $~wf$$do *..c@$perlg que se utülza para la sumq y resta de dos nilimeros d w 4 -?negativ~ en . 1 e m . -i Uldl?. ? . b 1 . 8 .h&ica &ecimakd&tres etapas y muestre e6mo se .mbrdujo. Dibuje ei d*a& 1'6gim. (n . . biste MOS les bits de entrada y de salida de la n unidad. UtilPzando übiw & d i & ciicuitk combicionales. Mue&rBd -contenido de lm A.implantaestaoperakih. II &o .. .h i w y r e s t a de dos Números n ~ ~magnibddeon t a ~ ddp . p r 1107 e i p p y el acarreo de gsta suma. p d u & d t a d a s mrredd 'I . b . a W t i n 0 8 aritm&& 8e iunto flotante en l a &10-5 de 1 .~ se en l a ff&ua. ' &muestre que el sumador bit&...Wia"Ea'gura ~ t m 1O 2 1es cero al final de: a) la khkiüpUaühdermia1.Demu&re -. B. Si el acarreo de saW = 1 . En me I a . . ~mE.32 M v e el circuitop a w w eornplementador a 9 cuando los d í @ hd-es . 10-27.. . M g W 4 .sle m. . (tabla 3-6). . derive las hui.l. bom Q. 'Demuesireque 673 &5ú pude calcularse al sumar 673 al complemento a U3de 356 y-de-mr elatafteu~fd. c 3 el acarreode q d a =+O. wmw de wlida es igriaI d -a sin carregir. .ie'ios ' . e ~uiJ&rnfl~j~.repmmtaaón de complemento a 10 Idique cdmo se . . summ W 1 1 . .'. cfo* b o o f F~ a ~el com$lem&nta:dora 9 BCD de la figura 10-19.&tech un . de una: unidad1 ari. .e Indiquecomo w detecta 10-28. dslelplal (+a 10-22) de: a)+X 4 como el rnuitiplicador. . .lWr'bue$trequed ~ ~ b A. Dibuje el diagrama de bloques 1. +. de cuatm bits inferior de la figura 10-1 puede suatituirse con m d d o r completo y0d&semisumadores. bniea. * t q y tome~l :iWS. . '. l ¿Cuáles Ia ~ ventaja de~ ud&r k t e z e i lugar de BCD? 10-29. Q y SC durante la divisibn decimal (figum'iü-23)de 36W/32.. Considere regisim de .1) debe restaredJ dividendo de exponente cuando se . t d g í ñ k &pifia en la figura 10-22 y b ) la divisibn ~~. 10. . . . C o m h registrae de dos dlgib. . Demuestre que la correcseyts¿o& a .km rrgiahosy4. seq?-tan w c&hgo . DetnuestreqÚe el &dor de exceso t mp i d e constniime eon 7 suma-u\ ' dores mf"ip1ebs y dos @ve&#.b . ci6v desp* d dos dfgim eoq un sumador bimrio de cuatro bits es oomp sigue: a. lisie ebmo d& interpretarse d a dnhlo d e n n i ~ a d h .dabsbim&sa M&. - que si se u t i i i a d v i d d de mantisa de precisibn Muestrela d~~ d ~ ~ . ..lC)-23. E. . 1WU. que seva 9 a W p r a l a . Derive al algoritmo del diigraqa de Aujo y prueix unos n&em para a v e m e m e que el algorihno ' c o i signo.(tabb Una entrada de mntrol de ~ q de p $se ~ pel dígito o no.

4. Hap. Zaky. 3a. CompirterArchi&re ami Organiration.. Vranesic. V. . H . 1 m . Cmpukr Afifkmdic in Thmy and Practice. Cavanagh. Nueva York JohnWiley. Kuliiih.-1 Systemii IrnpiemntaFion. G. 2. C m p t e r Organiuition. y G :R Petemn. 1980.1979. 4. NJ:Prentie Ha11. Ed. Hamacher. 1979. y W..J. Z.Nuwa York McGraw-Mil. Decimal Arithmetic.Computer Atr'thmetk. Nueva York: Aeademic Prws. 6..1976. . Schrnid. Digiftzl Gwpfer Arithmetif. . 1990. Hill. J. 3a Ed. .l. Nuwa York JohnWiiey.L. 8. Englewwd mi. Nueva Ywk McGraw-Hiii. J. y S. 1 M 3. J. G. K . 2a. 1987. Digiktl Systm: rúlrduwire Orgmtlzntion and h i g n . G. 7. C. Hwang. .Miranicer. Nueva York: John W i . F. Nueva York: MeGraw-Hili. V. Ed. F . W. F . Blaauw.

Por otra p r & ila-un&d .c a -m m B1. i 6 n d 3 ' . Una computadora mb Gene n3nigiui pm$slto sin k capacidad de recibir informaci6n de urm fuente exPwna y d& h&& b multados de manera r~mprensibl~ medio m& familiar de introdtikir'ihfoima~nkn una computadora ' .*. denominado B/S. & e p ~ ~ e n t o ~ c e n ta ra uri l dispositivo extremadamente 1 ' fáp& capaz c k ejecut2u. .d o de comiinxcaciófi eficiente && el sistema central y el mbhte extemo. subditema de entrada-salida de una computadora. p~oporcim u n . d e 1 A--diiammh @M) P-dor de dtr'ada4ida @ O P ) d d i ' .para el ushrio.es a través de un Wiado tipo máquh' ' & &tr. que permite a una p w m htrodudr uifo&8ti dhTidrice en fomh direda Cada v a que se oprime una l a . EN WTE CARfTUW tivo vos I n e e e de rrqf&ia ! - m . i m pmgtamas' gr datos debren introducirse a la memoria de Irí .computadora para su p ~ ~ ty he o miiltados " que se obtienen de los C~ICUIDS hben grabarse o q$trarse.operacidma muy alta Velocidad. Xn veIoeiW más alta pibb pah ihtroducir informaEi'6ñ de esta depende de kvelmidad para elear de una pwsona.. Cuando se handñeie.a-un plocesador h f o r m c i h de enhada mediante un tedado lento. . i a tie4nihd envía un c d c t w cudificado en binario a la computadora. w&na de datos M d w d e framkml& ~ ~ d interrup&n~.

E l CRT contiene un caiión electFdnico que envía un haz de electrones a una pantalla fosforescente al frente del tubo. de matriz..a cualquier pwki5n en la pantalla. 11.hv$s del t e e W : = t r w t a la mputadora m . opesjtr en b q de 8q&jez.cantidad de programas y datm. W. d .Tnpr.& c. pero los más populares'titW8-un 'tubo de rayos catódicos (CRT). E i texto se transfiere a .pntie*neu n ' d h a cqm 1 .w . LOBperif&ícw que proporcionan a h c e n a miento &liar paia el Usiema p? cintas y discos magn&ticos. deben p m a r a M con ariWpaeibn u n ag .dad. Para producir un patr611en l a pantalla.-~ynpu:kd~~a.UIM memoria ! Mdmtw de. como discos.Una .. *o... e l papel de. Los rqpnjtores d e .bloqpe de h ib$?m~w P M P D * ~ Un w @ o ~ p -k f e .&gné~'ess.carmkres colocadas en la o . -. -pitores es un cursar qye marca la~ ~ m.. p~tr6n viswb.6 insertad n el siguiente'carácter en la pantalla. 4.~ Entre i a ~ ~ ~ m8s M comunesS =tAn los teclados. cci+quier linea. ddesde los se h a n i * 8.que. Ha y tres tipos b 8 ~ h ~ d i 1~ daw. . mientras espera que el pps+40r~~estwd iiegue la irúomiacidn. Los periféri'cm sixí dihpz1sitivirs efectromecAnico$ y eleetromagn&ticosde cierta comple jidad.bmer por el tub. El monitor puede . una rejilla dentro del CRT recibe un voltaje variable que hace . dw la pvtj!k a .m~.upr: puede w v . Fn q un Wla* como clisposüivo de entrada y una panfalla como dispositivo de &da. i m m a s d&qwac&m: de mawb.t-p.simuWm. d e . Estos dispositivos están diseñados para leer hformaci6n hacia adentro o afuera de la unidad de memoria a n t e un comando de la C m y..text~editado se almacena .@aqsfieredespués a L a memoria de la ''c~mph&i@d Bg L a r ve i W d . m mates + 'd * ! t l : = tsrde. m p t a & r acomo8 .. &ka uq.gpod~ !deb w e . r w. -. .el .M mtziem . +$npmorade rnargada.mmor. .. sobre un .de. sin entrw:en d-lles de BU con$thicci&ninterna. los mo~@~res .mcacarA~brC l a meda gira a la posici6n se !m m . h s &ha de edicibn agregan . l q r a n h$ocaciór). . k s resul@dusde los programas tarnbikn .dmcien& que aparezca en la pantqiIa . La . %B . . =@dada de la..con la pantalla y la haga brillar en punm ~ l e c c i o ~ d o íLas s . ~ & i o n a T un 6 breve análisis de su funcionamiento. w n base en la p i c h del. . El haz puede desviarse en forma horizontal y vertical..mayor park 44. o . fa Wormacié del . for. -le6 ' h o m n t a k y verticales desvW e 1 3 b a y:l o ham.h Wrmbal. de @ circunferm&. Los dispositivos de entrada o saIida conectados a la computadora tambi4n Q + ' m el llaman &@Qs..'&y diferentes tipos de mo~tores de video. Consismonitor y kclado . d i & se . .*r una computadora de manera eficiente. b.& donde todos-b r c a r a c m inhoduci. sie r o ~ ~ W a ' q u son e parte del sistema total de la computadora. -Ia. . b ~ .. En ql.A~ .Mir .h. earfickr úni~%~wia palabrq o.la. dispmitivbi que están bq<> co~tml directo de la computadora e s t h conectadoe en linea. video son los p e r i M h de uso mds común.y i m p q r a s .q9eIeJ. A q f se .resulbdos. y deben ha*-rse a m& de almacenamiento como discm o cintas .@ de Ata v~IorT.de puntos y laser.mrwteds@ . a una impresora para proporcionar ypa d i d a inprqu&.

yde los dispitivos conectados a eiia. L. & dispgtivtw de entrada y salida que comunican con las personas y la computadora.contra la cWa:Le de matrhlde puntos &tiene un conjunto de puntos n lo:largo del de+lmpM6m. seria ~mkibitiva entrar en detalles de h a htconexiones necesaFias entre la computadora y 'cada perifkrico.1 . En este capiSu10 be presentan ciertas M c a s comunes . Despuk. d& proporcionarse un m h d o para captar las condkiofies de estado del proceso y enviar Males de control al procesa . m u m 8 a 1 0 largo de un mecanismo esfaciomio de lectura-emiturd. una impresora de matriz de S X 7 puntos que imprime 80 caracteres por línea tiene varias lineas horizontales y cada una consta de 5 X 80 = 4(30 puntos. los canvertidones analgicos-digitales y equipo diverso de adpuisici6n de datas. zippiada y-dmpuékuh imán. que se coptroIe. * cinta ~qagriéticq disco magnhtiw f . La oqy$mción de entrada-salida una computadora es una W 6 n del tamaño. El a c h se consigue al mover un .mecanismo ae lecturassc@ura sobre una pis'h en la superficie magnetizada.w utilizan principalmente para almacenar archivos he datos: por ejemplo.Por ejempIo. Como cada periférico se comporta eri forma d i h a t e de los demás. la oprime . Las computadoras se utilizan para controlar varios p m s en tiempo real. &as cintas tnagn&cq. I a difepciadenfre un sistema cande y pequeÍ@ depende en gran parte de la qantidad de b i t e r í a que tiene &pqn$k l+twmputadora para comunicarp e con unmdes periMcas y la ca~kidad~de Nféricos conectados al sistema.arb mayoría de los p e r ~ ~ ~ S " Caractexes alfariuméricos ASCW L . confonne Ia cinta. Cada punto pude impon & . Sobre todo. Es und de Id rn6todoa :más baratos y lentos para . el patrón se 'transfiere sobre el papel i p l que en una máquina copiadora. depndiertdo de los mm&r&especificos que es& impresos en la lúiea. el registro de l a n6mina de una compania. almacenar y' tiene k ventaja de que las ~intas pueden quitarse cuando no se usan: 'Las discos magn&tic& t i & siiperficies 'rotatorias de alta velocidad. Para tales aplicaciones. procediientas de ensamblado en Wea y p m s quimieo~ e Xnduatriales. El accew es secuencigd y consta de registros que pueden accesarse uno despuks de otro. de la computadora'. como provisidn de partes de máquinas. juntb mn su como memoria auxiliar. Otros dispositivos de entrada y 'salida que se ennientran en sistemas de computadora son los gmikadores digitah. los lectores de caracteres óptima y mapdticos. los d i se tiM. por l o general s e relacionan con l a transferencia de informa- . Las cintas y discos se anaIizan mérs adelante en la wcibri 12-1.jzan para el almacenamiento de grandes cantidad* de programas y datqe.- ' &. hhptewra hser utiliza'un tanibor fotogrbfico rotatorio que se emplea para-imprimir las-imágenes de caracteres. Na?odas las e n t r a b provienen de pemnas y no todas das salidas están dirigidas a eiias. !con u b cubierta de material ma@tico. al que =-aplica itna corriente.

.h-!~nir! m . .- .? '1 I . / -3 M ' N O I m n O 1 ' 1 DEL - '.< = ! '.. C M i o Estannr-. a * GS i .y% .. ..i io de...: Separador de mgistm de unidad " ' Separador l y h r . 4 b q r % m! ir=. .. ' > '-SP - Aimentacibn de forma FS Retornodecarro G S Teda de maykuhs oprimida RS T & de m a m s sin oprhIrUS Espacio DEL -. a S . 4 DLE DCI l. ..m Rs *. -. . . ~ ) n -ri./ I1 . . . ' N 8 1 - A II ' Q a . h g x 101 1010 ~11001 LF FF S I E.: . El &digo ario eatirrdar para los mractems &ar~um&icos es el ASCiI por sus siglas en inglés (leneriEan Sandsld Codefor Informafion Jnterchnge. ~idn alfanumérica hacia y desde e1 dispitivo y la computadora. S K L I \ *'*A l - k 1 { I +.. .I SO . 1 . . .01 0110 O111 iOoQ ENQ ACK NAK. DC2 DC3.i&rmación (American Standar Y - SQH S'IX i ETX OlOO . Y z . SYN 'CAN S & ' 1 T ' c S dhw t e U f X J j v w BEL rn IW FS SUB . . .Escape de enlace de datos _Controlde &positivo 1 b b l de dispositivo 2 1 Control de dispitivo 3 '~ontrol de dispositivo 4 ~Reconwimiento negativo 7rriactivos i n c m Fin d& blque de hgnsrnisibn ComienzD de texto ~ i ae n texto Fin de h8misconsulta helar P h de medio FF S I m. ~ .r~i'.. h s . ! . Sustttuto 4bpe sep&dor de archivo Separador de grupo .ii. l 1 f. EOT n C 4 01.- 1 . .

tabulación horizontal (horizontal tabulation. Los afectadores de formato son caracteres que controlan la distribución de la impresión. especiales como % Los 34 caracteres de control se representan en la tabla ACCII con nombres abreviados. El código ASCII contiene 94 caracteres que pueden imprimirse y 34 caracteres que no se imprimen y que se utilizan para diversas funciones de control. *. Los periféricos conectados a una computadora necesitan enlace de comunicación especial para funcionar como una interface con la unidad de procesamiento central. El ASCII es un código de 7 bits. en divisiones como párrafos y páginas. Los caracteres imprimibles consisten en 26 letras mayúsculas de la A a la Z. como retroceso (backspace. Se listan de nuevo debajo de la tabla con sus nombres funcionales.SECCI~N 11-2 Interface de entrada-salida 411 byte dar Norteamericano para Intercambio de Información). Los siete bits del código se representan mediante bl a b7. renglón 0001). Incluyen caracteres como separador de registro (record separator. RS) y separador de archivo @le separator. BS). la letra A se representa en ASCII como 1000001 (columna 100. HT)y retorno de carro (cawiage return. algunas impresoras reconocen los caracteres AXII de 8 bits cuando el bit más significativo se desactiva en O. puede emplearse el octavo bit para indicar la paridad del carácter del código binarie 11-2 Interface de entrada-salida La interface de entrada-salida proporciona un método para transferir información entre dispositivos de almacenamiento interno y de E/S externas. Los 128 caracteres adicionales de 8 bits con el bit m6s significativo activado en 1 se . los son inicio cte texto (start o cuales se utilizan para enmarcar un mensaje de texto cuando se transmite por un medio de comunicación. dependiendo de la aplicación. FS). y 32 caracteres . utilizan para otros símbolos. STX) y fin de texto (end o f text. los 10 números del O al 9. El bit extra en ocasiones se utiliza para otros propósitos. Por lo tanto. separadores de información y caracteres de control de información. los caracteres ACCII se almacenan uno por byte. Cuando se utiliza en la comunicación de datas. Existen tres tipos de caracteres de control: afectadores de formato. pero la mayoría de las computadoras manipula una cantidad de 8 bits como una unidad única llamada byte. Los caracteres de control se utilizan para direccionar datos y formar el texto impreso en un formato preestablecidu. donde b7 es el bit más significativo. Por ejemplo. y $. CR). como el alfabeto griego o una fuente de tipo cursivo. con mucha frecuencia. ETX). Incluye los controles de máquina de escribir común. Algunos ejemplos de caracteres de control f text. 26 letras minúsculas. Por ejemplo. Los caracteres de control de comunicación son útiles durante la transmisión de texto entre terminales remotas. Utiliza siete bits para codificar 128 caracteres como se muestra en la tabla 1 1 1 . El propósito del enlace de comunicación es resolver las diferencias . Los separadores de información se utilizan para separar los datos.

porque :&-'comufücantanto con el canal del práesador roxrnarcm kl diqmsit9Vo pBrico.. .-lL!*. .-a! l . @e mn dispwitivm. es menor que lá vel~ídad de-tramferemia de la CFU y. ..0 ..cada periférico.( ' ' . ' v de o gentrada-aalida. 1 . i : . &. . ..del fmrh-de la :paIabfaleÉila &U y en la inemoria.sun dkpilifok ehtmmecánicas y debromagnéticos ysu manera de 6peraei@i7es dikmt~te a la de la CPU y la memoria. --.. a .r. loi s@hnas de'tomputadara incluyen componentes &e dimitería' e$&dea erifre h 'EPU los peri@ricos para supemisaz y ~ & u ~ ~ n t d ha r~ las trdr&cias Tdemtrada y salida.-l. en . 4 ! # &e +g.. i * I . . 3.. + l. -11 . Y ' ' '.'. -e puede . - -1. n - .I a I . Las diferencia5 qua existen principales mn.lo tantoI8puede querirse una m d 6 n ~ d e .. .2 La *iddad de & a d e & x h de datos ¿e los perifdricos. ~ b r e w ~ d e s e f & h + -.-: . ii i Iiah I DimCih Control .+! . fii~& li-1 ~'C&h& n . de $/S a d .-. W &dip:de daW y 10s hmmtod en las pWirQ. J : '.. . . .. Adedm ~e a d a 2 dispsitivo puede tener su propio controlador que aup e h las apaci~nes del rne&iisrno paizimlar en*& piférico.la computadora central y . .l. ~ ~ i b'. Canal de EIS y módulos de interface . * L . irate* . por l o general...elethdnicos: Rax. ~r Un enlace d e ~ r ~ d c a c i 6 n M t éritre í p h el 'prceesadory varios periférico8 s e <mueípth m la figura 11-1t E i canal. .h e a s de datos.. . 4 k Las modús de opación de tos peiWddo&hn diferentes uno de otro y cada ttno~d& estar ^confro~o para i i b 'perturbar La operación de otros p e f i M m éoaktadói a la C m . Estos comp~¡nwit&~~&:llanian nrlefam. . TAXI @-. . n' l.L. m '. . . beas S e 2 . . . 2 Para resorver estas diferendas..de E/Si :conha de. '. r Q m . . I - . '. j .. f i d t a r & m meranlsmo de sincronizaci6n.. .icos son diferentes . 1 .

activa B2L. son inhabilitados por su interface. Una i n t e r f e puede recibir cuatro tipos de. Cada dispmitivo p&iw tieaie~asociada-urna unidad de interface.denomina un comando de E/S y es.o~ de irn-ra w hace carpdel movimiento de papel. disposiiko particular. el procesador mIwa una d h d 6 n da dispositivo en E s .líneas del canal y e l dispositivo que controla. Todois los perifdricos c u y a s .cada psrifQlco :redi< su propia secuencia distin#a.Se clasificgn como contml. bterpreta paria e l . Estos m r e s se representan al activar bib en un +tro de estado que el procesador pueda leer en ciertos inktv&s.k i o n e s no corresponden a la direccibn en el canai.d periférico e informarle que hacq? Pon rjempla l a unidad de a t a q g n C t i w puede instruirse para que w a m c la un registro.periférico. -a que. Se . dimxionamiento.. trayectoria entre las . estado.del. eonhi.de& m i o m i e n t o . m posible que La eomputadqra quiera coqvobar el.lsupervim la transfewck entre. Al W m a tiempo que queda &pmible la Ldirefci6n en las h a s de .' 1 9TI* e coinando de US # S de direcci6n y lfneas de contrd Se emplean eldisco mgndtieo.un c6digo de funci6n en ias üneas de control. salida de datos y conundo @ ssitroí .&eas . htrueci6n que . Uriea wnectada al canal de WS contiene un decdidkerdor de direecibn que monitorea ias. la-tenm~rizaci6n de l a impresi6n y h seleccib de los caracteres que se imprimen.de comandos d. Por ejmpl~. La intwpmtacibn del comando depende del perifériio que d i d o n a el prwesador.w ejecuta m i a interface y estb conectada a la unidad periférica. que ae mg i b e del canai de E/$ y las.comand* . .d p e d é r b y el pmtesador. el procesador propordona .Se emite w mmndo & . ~ Cuando la interface detecta BU propia direccib.. e 1 para aCtiv+r*. el ~1~ntro1ad. . E l c6digo db W a ' e . ~ pueden ~ i a . La cinta ma@th uUsa en algumas computadoras~para e l almacenamiento de zespaldos. 1~ .perifkriw y .-l?ok ejmpio.= rebobine o para que empiece a moverse: hacia adelanh E l :~omamdo de control particular que se emite d p & ..h s& hionarniento. Cada periférico tiene su pmPi~. Cada hterfare deoodifíca h ~ ~el mntkol . es datos de salirfa entrada de datos. etado dd p&érico antes:de que se inicie una transfeeenrk D ~ b x t S e : h . la impresora y la krminali&ea& cualquier computadora de p r e i t o general. Cada . . mmir uno o m68 errores que detecta la Interface.periféricoy prop~rciwia sdíales pata el conhdor del . una.en m c i a .utiliza un ~ ~ i c r ~ de d esfado o para p h r divwsas condiciones de *do en la jntmfwe y un pevi~Bco. .TambiBn sincrDniza el flujo de datos y . ~ C o un ~ ejemplo o s con una unidad de cisW La computadora c c m k m a mwer la cinta al emitir c m .LaLite&ce ~ h i o n a d a responde al código de función y avanza a ejecutarlo. 1 ( : + . El canal de E/S del prwesador se conecta a todas las interfaees del periférico. dependiendo de su modo de operación. Un controlador puede alojarse en forrna separada o puede integrarse ffsicamente con el periférico. Un :GBM& de salida I &&S hace que la jntmíace mpmcia transfiriendo &@S dei m a l a uno de sus ~ i s t r o s . . Para comunicar~e+wn iui.wntm~dor que opera el djs~ositiviodectmmecanico particular.

y e l otñ> para las EfS. En -este casa Ia Interface redbe datos del pedérico y los :coloca en su registro intermido. comdn para hnsferir hfomaci6n entre la m&oria Q rlre EX9 y la rCPU. 1 . 3. ' . u * un canal. 1 T I ' . La inkface coloca dos datos sobre las beas de datos. el pr~cesador en* ua mqmdmde salida de daba ia interface responde a Agll la direcd6m y al comando y+kansfiere ia ialomaci6n de las lineas de datos . El IOP se comunica también min 1 . tu10 para accesar la memoria. _ .zw e l p h d o r monitomi el estado de la anta ingdtnk un ~ d o O d stda c Cuandoila dnta s t á si k poski6n mrrectr. Esto se hace eili mputadoras' qiie dr&rui.diépidvw & enataáa y silida m e d i t e un canal de E/S separado.de procesamS~nb central &lW). ]En seguida. U U h r dm canales separadas. i P n 2 i .. msus &edsR&. direeeiorm y Ifnea8 de control de lectura/escritura. m . d a d . FM&O de un car(al de memoria.wemus E%S mapeada en memoria . Existen m m e r a s que pueden dlizar los canales de la computadora para m u n i e a r s e con la memo* y las B/S: ' '1 U HS ve- . E l p+ib del IOP es pqomionar una aqector$ inidepndbnte. xi Abhas &mputado~.d canal de E/S.HS aisiada.del canal. m m p w d o r de. 1 En el prima mdtodo. & U r un canal común pah memoria y E/C pero tener h e a s de control separadh~ para cada u&... En la seccibn 11-7 -anahmo8 con m a p r detalle lav h u O n del IOP. 1 .para la transferencia de h h r 0 % I.. &-'y beas de &iiYtril. .El ~xucwadar vedbs i las &tos disponibles mediante un lrorrmaru$ode estados y después envh un m a n d a de entrada de datos. wo para la memoria y el o b para las Ef3. : . Utiliear un canal común para memorWy E/S con Uneae de control c o m w e s .l3/S separado (ID promsorr IUP) ademds de la . h~difer&>iaentre una tramfemncia . d a b que se van a almacenar. rmsteidn -ea& &positivas externos y 'Ea memoria interna. El prowsador de E / & l a a* masionei3 s e denomina a a d de t i & & . a su W t r o intermedio' fbuffer).:el pmesadoc debe comucon la unidad de+memoria. el canal de memoria contime datos. donde el procesador Ios un ammdo de mtroL Desp&. ntetnotia'se comunica con la B U y el NOPl por. ' e de & n h & .A I canal de memoria Memás de+comuniaarse con .su espacio de E/S. E l cbthnth de mhdn de &os es lo bpuesto al dk salida de datos. la c o r n p u l d ~ Ziene ~ conjuntm de canales de datus. de control y de direcciones indépendientes. )la interface comunica con e l controlador de la a t a y envfa b. Comd . m r a .

en general. la C m tiene ' h h c c i o n e s distintas de entrada . En una organizacih da E/S mapeada en La memoria. 10 cual ereduce el rango de direccioh de memoria disponible.leetyra o esmituia. La CPU puede manipular datos de B/S que Siden en'+tras de_interface con la misma instruccih que se iaSiIii para.de d M 6 n n &pafa palabra de memoria wpara un registro de interface al. Bsto permite a la . se pueden coimar en cualquier direcci6n mientras no existe t i d i & .y saW. habilita Ia lfnea de control de lectura de E/S @ara entrada) o de qxritura de E/S (para salida).mina EJS m irt~kce como parte del sistema de memoria. Este es d caso de las computadoras que emplean 6610 un conjunto de SeAales de . S de memoria y una & a m h c i e de E/S se reconoce mediante h e a s de l&um y ewrihíra sízparadgs.un registro de interface y n b para una palabra de memoria. se reserva w w t o del e6paaio de diredunamiento total para registroe de interface pero. no hay instrucciones especificas de entrada o salida. La computadora trata a un registro de rnpeada & ~a . las líneas de control Mwu y E/S whsm se habiütaii(durailteuna transferada de E/S. Esto informa a I*. Esta configuracih se denop & &e n h.. 'La otra 'alternativa e s utilizar el mismo espacio de direcdonimiento para 'memo&' y E/S.: - \ . coloca la d Í c i 6 n de memoria en las lfneas de direccidn y habilita la línea de ccm-tro1 de iectura de memoria o de escritura de memoria. manipular palabras de memoria.)s. Al mismo tiempo. Por otra parte. porque cada q. Esto informa a los componentes externos conectad~s al canal comdn que h direcci6n en las i í í s de direcciún es para . Cada interface se organiza como un eoqjunto de registros qiie responden a peticiones de lechira y escritura en el +tia de diredonamiento normal. D e manera típica. cuando la CPU recupera una instrucci6n o i d operando de la memoria. L a CPU-espei:iicab si la dirección en las lineas N a* r. Las líneas de control de lectura de m & y E S U ~ ~ U M memurh ' ~ ~ so habilitan 'durmte ' m transferencia a meididria. Cuando la CPU reciipera y decodifica e1 caigo de operacidn de una instniccidn de entrada-salida. Esta corifiguraci6n aisla todas las direcciones de interface de E/S de las direcciones asignadas a memoria y se denomina método de E/S aislada para asignar direcciones en un canal común. EIS aislada En Ia configuraci6n E/S a&&. tiene su propio espacio de . Las direcciones asignadas para ntmwria registros de interface no pueden utilizarse para palabras de memoria. y cada iina de estas instmccione s e asocia con la direccidn de un registro de interface. mmpentes externos que la direccibn es para una palabra de memoria y no-para una interface de E/S.instrucción dentro de las Uneas de dirección comunes.lec@ra y escritura y no hacen diferencia entre direcciones de memoria y E. El mgtodo E/S aislada separa memoria p la6 drrecciones de E/S para que 10s valores de h dirección de memoria no se afecten con la asignación de dirmciones de interface.uiia pqiabra de m r i a que responda a L a misma d k c & ~ Las c~)rnputado~s~ con E/S mapeada en memoria pueden utilhr iristntccPo~ -de tipo meniork para accesar datos de E/S. coloca la dirección asociada con la . direccionamientb.haMíat una o dos meas posibies de . memoria.

b i d - 'd'e'd I d . E'emplo de interface WS. . 1:. puedo d i EIS ..leer: y escribir en h memoria pueden. Con las E/S mapeadas en memoria todas las instruc.que hacen referencia a mem~ria tambidn e s # hdisponibles para E/S. . . - . Canal de datos 4 " - m . . . : a . cioqp. .es que las instrucciones de q g a y a ~ ~ e n a n ) i e a t o . utilizarse para introducir y sacar datos de 1 .deuna i n t e q h c e de B/S se muestre en forma de diagrama de bionuF 9k figura 11-2. J n eje(nplo . - Ala CPiJ . En una computadorii tipicai hay mas instnicciones de referencia a memoria que . m . computadora utilizar ias. ~ i ~ ui1-2 r i ' Ejernpl6 de unidad &e ln&&& de E/S. . . . L a wmtaja . .. ' pwmA - . .registros de E/S.q~ismas instmccionm para trsuisfererina ae entrada&la o para transferencia &m-oria. ..Consta de dos registros de datos Uamados puertos. htru+ones de E/S. . u ~ dpara a s .

sólo introducirá datos. Otro bit del registro de estado puede indicar que ha ocurrido un error de paridad durante la transferencia. Los datos de E/S hacia y desde el diposibivo pueden transhime al puerto A o al puerto B. Por ejemplo. el contkol y la información de estado se realizan siempre mediante el canal de datos común. s610 sacará datos. En un sistema como este. Una unidad de disco magnético transfiere datos en ambas direcciones pero no al mismo tiempo. respectivamente. se conectan a las dos líneas menos significativas del canal de direcciones.-. debe proporcionarse un circuito (por lo general un decodificádor) para detectar la dirección asignada a los registros de la interface. La interface puede operar con un dispositivo de salida. Las entradas de selección de integrado y de selección de regisaro determinan l n a dirección asignada a la interface. Lectura de E/S y escritura de EkS son dos líneas de control que especifican una entrada o salida. El registro de control recibe información de control de la CPU. con un dispositivo de entrada o con un dispositivo que requkre tanto entradas como salidas. control o información de estado se determina del registro particdar de la interface con el que se comunica la CPU. Los cuatro registros comunican en forma directa con un dispositivo de E/S conectado a la interface. y si da servicio a un lector de caracteres. Al cargar los bits apropiados dentno del registro de control. la información de estado se recibe del registro de estado y los datos se transfieren hacia b s registros de los puertos A y 8. Por ejemplo. un registro de control. ppr lo general.. Estas dos entradas seleccionan uno de los cuatro registros en la . CS) cuando se. i ~ E C ~ I ~ N . El canal de direcciones selecciona la unidad de interface por medio de la entrada de selección de integrado y de las dos entradas de selección de registros. Las dos entradas de selección de registro RS1 y RSO. acopladores de canal y circuitos de temporización de control. Pueden darse instrucciones a una unidad de cinta magnética para que rebobine la cinta o para que se arranque con un movimiento hacia adelante. En forma externa. El circuito habilita la entrada de selección de integrado (chip select. Los registros de la interface comunican con la CPU por medio del canal de datos bidireccional. selecciona la interface mediante el canal de direcciones. Los bits en el registro de estado se utilizan para condiciones de estado y para registrar errores que pueden ocurrir durante la transferencia de datos. el puerto A puede definirse como un puerto de entrada y el puerto B como un puerto de salida. por lo que la interface puede utilizar líneas bidireccionales. Si la interface está conectadh a una impresora. La diferencia entre datos. Se pasa un comando a l dispositivo de EJS al enviar una palabra al registro apropiado de la interface. la transferencia de datos. un bit de estado puede indicar que el puerto A ha recibido un nuevo conjunto de datos del dispositivo de E/S. La interface se comunica con la CPU mediante el calla1 de datos. no se necesita el código de función en el canal de B/S.1-Interface 1-2 de entradasalida - --L . la interface y el dispositivo de E/S conectados a ella pueden colocarse en diversos modos de operación. un registro de estado. porque el comando se envía al registro de control.Por lo tanto.

En la mayoria de los casos. y la unidad que recibe cQmo el destino. p r medio de una de-las unidades para indicar a la otra unidad &da tiene que ocurrir la trandamcia. La ttamfereneia de dabs asínc~gna enbe dos unidades independientes requiere que se transmitan &lales de control.lade M a r a de..estrobosc6picoy 4 metudo de reconocimiento de transferencia de datos asineron~s no.por ~ ~ ~ -ún.las dos unidsh es sincrona. pulso & kbilitacidn' Una manera de copepir esto es mediante un pulw de habilitación ( e s b W i E a ) proporcionado .un sistema digital se hcmnkin mediante pulsos de reloj pr(?~grcionados.registras de la CPU. por ejemplo la CPU y h i n k k de EjS. se@p se e s p d c a .. la CPU es la unidad fuente durante una bderenciqdesalidao dee9PZhnayeslaunidadd&im duranteuna tmmk rieneia de entrada o de lwturq. 11-3. wlecckonado se traxlsfkre a la CPU mediante el canal de datos .418 apfmm m c 6 O r g m i z d b de entrada-salida interface. ~ < . b. opaciones i p m s en. pulso de relaje1designan dos unidades.ng). M utwan ampliamente em n u m m orasiones que q u i e m la transferencia de datos entre dos unidades independientes. secuencia de control durante una transkmcia as-na depende de si la transferencia la inicia la &dad unidad destino. Ei método de pulso. k r ejemplo. la tmpo~eibn i n m 4 enJc3idairnidad ind-ente de l a otra. D e hecho. Otro m W o muy gene-do es ac~mpafíar cada conjunto de datos . Este tipo de acuqdo entre dos unidades independimks se conoce como r e m m ' m h t o rnwbo httdshsk.. L o ~ s p u h de 1reloj se apkm a todos lca registros dentro de una unidad y todas las transferePiáas de datos entre +trog in-os en forma s h d á n e a durante el han+ -'de un. En ese caso. entre las unidades que se camunicgn para W c a r eJ momento en el cual se estan transmitiendo datos. Tmkxencia asbcrona de datos Las. l. La CPU transfiere infmmaci6n tiinaria al =gis& seleccionado m d h k el cana1 de datos cuando la habsta la entrada E/S &!ma. S i los registros de la bjterface c o m p r h un reloj coma q n los .se Iimitan a las transfemcias de E/S.. Se acostumbra ~ p e d i c a r la transferencia yíncrona m t dos ~ unidel4e~independientes mediante un diapama de temp~rhd6nque m u ~ t r a la rela~i6nde temporhacián que debe existir entre las +les: de qntroj y &s d a s (en lm canales. La unidad que recibe e l conjunto de datos m p n d e con otra &al de control para reconocer la -6n de l e datos.EiS. Bn general consideramw h unidad .que transmite como Is fuente. se dice que las dos unidasqn ashcmms una.cuando se bahilih .= dice que la tr+ & &re . cwtenido del regist~o. que en ese caso utiliza su pmpi~ m i 9 para sus registros intemm.en l a tabla que acompaña al diagrama. El.que se transfiere con una #Mde control que M i c a Ip pnpmcia de &tos en el canal. de la otra Este enfque s e utiliza con mucha bemenda en l a mayoria de l m s i s m de eo~putadora. indwdientes una de la otrsi.

uifotmando a : la fuente que proporcione los datos. D e manera tlpica. Con frecuencia la unidad destino utiliza un flanco descendente del p u b de ih h'mb habilitación para transmitir el contenida del canal de datos a sus regiairos JR . El canal de dam lleva la información binaria de la unidad fuente a la unidad destino. Habrá disponibles nuevos datos vdlidos a610 degpu6 de que se vuelva a habilitar el pulso de control de habiiitacih. . En este caso.Control de habfitacihn E l método de control de habilitación (estroboscópico) de transferencia 'asincrona de datos emplea una línea de control única para temprizar cada transferencia. i ~ f r . para asegurar qui los datos se e s t a b b en un valor regular. E l estrobosmpio es una h e a hita que informa a la unidad destino cuándo está disponible en e l canal una ppiabra de datos vAlida. La unidad fuente i r F . primero la unidad fuente coloca los datos en el canal de daDespubs de mun 'b'teve retraso.. h h e r r t e activa el pulso de habilitaci6n. la unidad destino activa d pulso de habilitación. figura 1 1 4 Pulso de habiltadón iniciadopo* fuente &a traqskmicia de datos. La unidad h t e o la. unidad destino pueden activar el pulso de habilitacibn. la fuente no tiene que cambiar l a Inforrnacidn en el canal de da-. . el canal tiene heas miiltiples para transferir un b p o palabra completos. La figura 114 nuestra una tcansfetkmcia de datos iniciada 'por la unidad destino. t internos. el W o de que la seiial de habilitacidn esté ddab'itada indica que el canal de datos no contiene datos vbtliclos. L a figura 11-3(a) muestra una transferencia iniciada por la fuente. ~ . L a infomci6n en el canal de datm y la sehl de habilitación se quedan en estado activo durante un &di ki . La fuente quita los dakm del ranai en un breve periodo previo a la deshabilitaeibn del pulso de habitaei61~ En mlidad. tiempo suficiente para permitir que la unidad destino z e c h los datos. Como 8e muestra en e l diagrama de temporizacibn de la figura 1 1 3 @ ) . .

la m4 es la canal de da& La tramferemía de = S i r a la que se acaba de describir. d montrol de escritura de memoria de la CPU a una unidad de memoria.. una unidad . la cual es el destino. Por &-m&jmPlo.. La CPU está siempre a cargo de os canales e i h m a a las unidadeslexkmas. el pulso de habilitacid controla en realihd medbntebpulsos-de reldj en b CPU.c6mo transferir datos. m econ~cimiento+~K rrP del mktado bbilitacih es la unidad fuente que inicia la no m m a de saber si la unidad ha recibido en . de líneas de recanocimiento mutuo. en este caso la CPU. Por l o general.-L. h &%ente.tiempo muchas computadoras.ara . - B. + . d 1 *S a bu& .h i u b . datos deben ser vAlid08 y permanecer ea el canal e l tiempo suficiente que k unidad destino ios acepte. . k transferencia de datos entre F a inrrface y un d+positivo @e E/S es controlada por un conjun&. Desl i a unidad destino habilita el pulso. coloca una piabra en el canal y le informa a a unidad de memoria. e l pulso de habilitad611de la figura 11-4 puede ier una sefiaI de eontkol de lectura de memoria de la CPU a una unidad de nemoria. La fuente quita los datos del canal espu& de un intervalo de . la CPU. iniciá h operacibn de lectura para informar a !liga memoria. i i i d & iniciado m datino . Puede utiiiime otra vez e l flanco kendente del pulso de LabilitaciGn para activar un registro destino. que ésta es una operacidn de a w i t u r a .. D e igual manera. bansíemcia de datos.desventaja de que tramfemcia tiene destino realidad los datos que col& en el canal. E l destino.De igual manera.e l pulso de habilibci6n de la f e a 113 debe ~ e una r s e M de .- !1 canal de datos.

&tos ncqtados. mmP1etafr&'ia . la cual invalida las datos en e l canal. de la fuente al destino. La unidad destino activa la señal de dalos aceptados des@& de que acepta los datos del canal. @b9 'Ia el-6n de su estado inicial. N 6 t e que la secuencia de eventqs m ambos casos sería iddntica si ' brlsli&erd&05%~&ial &e &m& p*h1dnt9d como el komplemento de datos dmpfdbs. .pueIv. la unidad fuente deshabiiita su seiial de datos vblidos. La uriidad fuente inicia la transferencia al colocar los datos en el canal y habilitar su mial de datos válidos. La fipra 11-5 muestra el pmcedhiento de transferencia de datos cuandolo'inicia la fuente. Ik liec* !a única dif&cia en& la h&cia iniciada por la fuente y ia iriiciada par d dbtiiió. .la transferencia no puede saber si la unidad fuente ha colocado . La v e i ~ d a d a e transferencia está determinada por la unidad d s lenta.~msferench' de &tos. La utiliza la unidad fuente para informar a la unidad destino si hay datos viilidos en d canal.+EI diagrama de twipocizaci6n muestra el+intercambiode señales entre l a d o s .este problema al introducir una segunda seiIal de control prop~ona una respuesta a la unidad que inicia la conlml de dos líneai 131 principio bbtm del d b p d o de recondmhto mutuo de dos líneas de transferencia de da. la unidad hente n o 4 : b l l o c a datos en el canal hasta que recibe la &al preparada pira datos de la unidad destino. no &. En este caso. E l error puede detectarse' m d h k un m&&is& de ~hPO fmmmwido.Este esguerq pemite re€f%s& arbitrarios de un estado al siguiente y que cada unidad pes@sida apu propia vekidad de transferencia de datos. ue p e r a l a unidad fuente y. N6tese que el nombre de la sefial generada por la unidad destino s e ha cambiado a prepara& pura &os. + ---4 .S i m a unidad & delectuo&. &E dos h a s de recanocimiento mutuo son &tos mílidos.el procedimiento de recow cimiento mutuo sigue el mismo patrdn que en el caso iniciado por la unidad fuente. con el fin de que refleje su nuevo significado.& h k los datos en el canal. WoWa m e s de. El mgtodo de reconocimiento mutu~~handshake). control está en la diceeeihn opuesta. que produce una desha que inicie ~~.es el siguiente. La trhsferencia que utiliza lfneas dq reconocimiento mutuo iniciada por la unidad destino mudm en la figura 114. después Ia wiidad destino deshabilita su señal de datos a c q ~ o y s el sistqa a su estado inicial. De ahi ert adelante. La utiliza la unidad d & h o para irífoqar la fuenSes i puede aceptar datos. generada por la unidad estino. En seguida. para aceptar nuevos datos al dehabilitar su se-1 de datos acqofados. La secuencia de control durante la transferencia depende de la unidad que inicia la transferencia. E l qhema de d ~ & h i é n t 6 ' m u t u opropqiona un alto grado de 'flex3bdi&d1:y &fiabilidad $orque' bl &r&o &be de una transferencia de datos' w bdsa & I .midade&la rwuencia de eventos listada en la parte (c) muestra los cuatro estados posibles que puede tener e1 sistema en cualquier momento. Una h e a de control estA en la misma dired6n que el flujo de datos en e l m a l .. ia unidad fuente no envh lw datos siguientes hasta decpués que la unidad destino muestra su disponibilidad. i aparticipacidn dctiva de ambas unidad.

.. ~:J v fi-attc . 1 t . batosaceptadm & r k + q r .l . Si la seiIal de recormhiento mutuo que proviene del &kho no =ponde dentro de un cierto tiempo.~:)! ~ r d !d.7!h Tcnsk&a iniaadapc kmkuüiizando remnocimiento muhm. iiii fiI > L . ~.i 7 Figura 1 1 5 u:.d. .t.a iri 9 1 1 ~ t .L ---. r ~ 3 " 8 .Ir.:IA. l ~ b p ~ ! f i ihi~¡q:.. t + . t#n. t t .*. . La &tal de tiempo transcurrido puede utilizarse para interrumpir e l .:. ( l t . Lrn . por lo tants.. wk . ' . . -* tdl' T . c . (a)Dlrgnmakbloqm~!iy . .t u ~ .Jy.j a l b m .. * ++- : i w tdc i..*=a r r m d l Ir r r .- '. I .~:ir-p ~ . . . t >¿ .1 i -iii.+. 1 . . m ' )LEC &. i . para ejecutar una rutina de que realice una acción de recypación de econveriente.+iigib IL. p v d o ry. .id 1 . .?#Av ~ p il 4 t .1! : L ) R !&ll4:it? ~ L. I j ~ t ~ r & ~ ~ 3 I . -.1 ~dofi't:. .::.* ' A " " 6.r .SIa! m 'm F i . I ~ . ~ ~ .:r-.~tn-~ t .h:r. n r i .-~ l L b 1 4 t q .i I : ¡ 4.i f8.i - -' . l a unidad ednsidera que ha mrrido un error... ... I L / T ~ ~ I ~ : i a GP . *S: v. : .l. La &l de h p o transcurrido se implanta mediante un reloj interno que inicia un tiempo de conteo cuando la unidad habilita una de sus e l e s dé control de recon+knto. r 1 - 1 ui3di j l . i :i l .lq$~ II 16. . ~ i j + . .-h la 9 --. 5 A -. - t s a n s b c b de d a b p no se qompleta dentro de un tiempo paedebmhdo.h.la> e 1 b-. . 4 . ! 1- .r td.fl: . b r 1 .- L ! L.rAA -!.f~m< .. j 3 ~ 2 : . f .:-a..

Transferencia seriJ asinaona . Acepku datm de c w l .- I U Canal de da' .se envla en secuencia uno a la vez. cada bit en el mensaje tiene ¡$u prkpia trayectoria y todo el merwaje se transmite al mismo tiííp'o. 3 1 . Este método requiere el uso de un par de conductores o un conductor y una ..5) diagrsma de tem- d 1 1 x136irw Unldaad& . Canal de data . qdl .a J ~ l b S P s f e F e t l & a s ~ d e d a a o s4 E 3 S. DeshaWütar Livdhr'datw m osrnd ( 6 Wl). -29 . 3 Wgmm de bloque I I . . En la transferencia de datos serial cada bit en el mensaje.a 4 T l Y :IFrTd!I i -a ' r b g IiP A 4 . La m h c i a de datos entre &S unidades puede hacerse en fomia paraJela o serial: En la transmisidn de datos paralela. . Esto' d@&i qué uii mensaje de n bií5 debe transmitirse a travk de n trayectorias conductoras separadas. c) ~eaienci de eventm Deehabilitat&m d i & . ' L .m I iRrR tu Unldad fuente CbhrdabaCwaL Hab&lar&hdl&3. Figura 114 TrmimrKh iniciada pS* destino u t i M o m z o n d e n i o mutuo.

Tamaiih se ü h i i para distancias cortas y mando la velocidad a imprtante.. Despu& de.Cuando nodse =ti enviando un carkter. es siempre O y se utiliza y r a ipdim. . La tran8misibn serial e a d s l ~ t pero a es menos cara porque * s61o req& u n pt?r de . bit de cuando la línea retorna al estado 1. S :siempre 1 . 3. La convención es que el transmisor está en el estado 1 cuando no s e transmiten caracteres. utilizada en niuchas terminales interaZvVas -&pIfea bits especiales que se insertan en ambos extremas del c6digq de_carAckr.analiza más adelante en la secci6n 11-8. E l primer bit. En f o m peri6dica se transmiten &he de sina-ci6n entre las dos unidades para mantener sus doies en sincronía uno cortc~l m. 2. La transmisibn paralela es más rapida pero requiere muchas heas. . Lbs-bib de c a x a c k siempre van después del bit de inicio.d comienzo de un carácter. e a ~ d ~ c t p r e ~ ' La tramdsi6rr serial puede ser shcrona o asíncrona. l. 4. . Un cadcter kansmitido pude-qektatlo el reeptar a partir del con* cimiento de las reglas de trapismisi6n: -. .b b&ia cuando está disponible y la lima estd desocupada cuan do. En la 11-7se mu-a un * l o de este formato.^ hay inhmci6n por transmitir. Uamado e l bit de paro. la misma frecuencia. ias dos unidades comparten urdecuencia de reloj c o m h y los bits se transriiiten en PbMa c&ntjnwa la velocidad 'que dictan los puIsos de reloj. se detecta un . La iniciaci6n de una trammisián de&ar&cter se detecta a partir del bit de i n i c i a 4 cual es siempre 0.En h ttansmisibn ashcrona. por al menos un tiempo eorrespnndknte a un bit. la línea se mantiene en el '&a& 1.Ir . cada unidad es manejada por un reloj -aradade. tierra comi5n. liarnado el bit de inicio. sblo se envia infinfqmnrrnci. l o s bits del carActer y los bits de paro.asinnvma - bit de inicio . E l ú l h o bit. en la cual \os bits deben transmitirse en forma continua para conservar suicronizada la frecuencia de reloj en ambas unidades. Una témiea seria4 de transmisihn asíncrona de datos. En la transmisidn sinmona. En Ia transmisidn serial de larga distancia.2ue se transmite e l Bltimo bit de cardcter.. La trans' misi6n serial shcrsna ?.Con esta técnica. Esto contrasta con la informacibn sh~zon&. cada carácter consta de tres partes: un bit de inicio.

Cada vez que se una teclaAuna terminal mvía 11 b i t a en forma serial a lo largo de una línea.y dos bits de paro. E1 meptor acepta el mensaje &al de 11 bits de Ia lhea del @lado e introduce 4 &digo de c-+ter de 8 bits dentro de la computadora. E l diagrama 'de bloque de miaintedacé de &nunicación El .09 m s . Los bib bit de prim de paro &@n siempre en el estado 1 y marcan el fin del cara* para dar a entender el estado desocupado o de espera.Al usar estas reglas.par segundo. El receptor conoce la velocidad de transferencia de los bits y la cantidad de bits de carackm que debe aceptar.1s para la transferencia.. Tal circuito wdmomuia una i&bw@e de comunicacidn a s f m a reaptmdmlssmim mfmno univtml (universal awnchvonoics S . ~igunas terminal. La interface de Ia terminal consta de un trzmmbr y un receptor. Para imprimir un carácter en la impresora. d e k recibirse un mensaje de 11 Mts a través de otra línea. pero las temínales más nuevas utilizan s ó l o un bit.demtmL E l +tro transmisor h t e d a w d+e comunfmci6n asfkmna .tiempo para un bit ea 9. B t á n disponibles circuitos integrados diseiiados en forma q x c f i c a para proporcionar la interface entre la computadora y terminales interactivos similares. m ~ de ~bit. Funciona-*emo transmisor y v t o r . La k e a permanece en el estado 1 hasta que se transmite otro carácter. se. Como se van a transmitir 11 velocidad en b d i o s bibt se s a k que el .elechmnecAnicas antiguas utxlizan dos bits de paro. Cada caracter transmitido coqsta de un bit de inicio. La velocidad m bnudios se define como la velocidad a la cual se transmite informacih serial y es equivalente a la transfemcibS de datos en bits por segundo. Un reloj en el receptor examina la línea en los tiempos de bit dnwnientes. para que el transmiso~ ye l ~ q t o puedan r volverse a sincronizar. Como ejemplo. Al final del catacter. El transmisor acepta un caracter de 8 bits de la computadora y p d e a enviar un mensaje serial de 11 bits a través de la lInea de la im~resora. Después de que se trmsmiten los bita de' caracteres. La interface se inMallzia 'para .enmn un6 o dbs bits de paro.mmodo de tfanshmW partidar mediante un byte de +eonholytese carga dentro de sir reghtro. consideremos la transmisión aerial de una terminal cuya velocidad de transfekcb es de 10 caracteres . El tiempo que la linea permanece en este estado depende de l a canti¿ad de tiempo requerida por el equipo para volve& a sincronizar.para total de 11 bits. J asinc~ma seunirihue% tra 'enl a figura 11-8. Diez caracteres por segundo con un formato'de 11 bits tiene una velocidad de transferencia de 110 ba'ltdiw ta ferminal tiene un teclado +y una impresora. el receptor puede detectar el bit de inicio mando la Enea pasa de 1 a O. Dcho bits de informaci6r1. i3l & m p de paro awgura que no Ilegarb un carActer nuwo durante uno o das 1 i e . la h e a ae conserva en el estado 1 por un período de al menw uno o dos tiempo8 correspondientes a un bit. 10 caracteres por segundo significan que cada carActer n w i & 0.

anelsogistm~e~~doseutilVan . a &ha w. 1 o 1. . m mm1 I -9 . e m r e a ' p p ..dehtegrhdg y . . X@rd'tl-& r.ainpa~Uta.b ~ .de h CPU a bvds del anal de datos. acqta..&Jm4i.. (Slegie-de-0 *. buitwqdeI¿/S - . . .La Wil pude k el mgistra de estado para ooqprqlqrel @o de h sI s i b de k a n k a y ~ e b m h a si r ha ocurrido algún . .sei.de lectura y d t w a reoeptora recibe infomci6n . . R@m* I d . L a parte i dmtM $e ~ t r @&o o de corrimhto y. ~ s & m W g ~ y p ~ r . F 4 sbeas. de broqte d e h a i n l u h a b p i i de ~~n - islnamu..&imd*regEBCro = ' RS .w - . cuanda se a-ula un byte de datos completo.. &te byte & comiden~ pam trammisibn serial.wurrir dwmb la tmwnhih. RD' . .&qLwntrol d-esa:kifjn. @ kamk un: m@m de de&w. 'I . Terhp- control Le-de B/S . c i ~ . se transfiere al registro receptor. 1 '- Registrode a Recibir da- ~ * 1 ~ ' ' 1 '..La CPU puede deecimar que el registro recepbr lea el byte a trav~del~ana~d~lo.

En seguida.registrg de estado y comprueba la bander? y.La agrada de decd6n de inkgrado (CS) Be u t i l i z a para sehionar la interface a -v€s del canal de direcciones.=CPtOf coiriunican con la CPU. Una vez que re ha detwtado un bit de-&ici~.el registro Qammimr. . sin los bits de inicio y de al@ La banda@en el registro de stada se activa para indicar que el q i s t r o Ceceptar está &no. según . xegistrw son & l o de escritura y dos son d i o de lectura. lee los datus d4 registro mxptor. Después*de i & i r los bits.de una intwhee de tammhdh ashcrona se inicializa mediante i a CPUi al enviar un byte sil registro de mnhL E 1 procedimiento de inichlhcibn coloca la interface en un modo de operación wpecífico porque define ciertos parhmetros.puede ka~~mitiise el mdcter un bit a la vez . La opracibn. Elbcarácter se trsnsfiere en paralelo del registro trawmiwr al iregistro de desplammiento y e agrega la cantidad apppia* de bi# de alto al registm de corrimientod k p u é s se marca vacío . ta operación de la parte :de transmisor de la inkrfaee B la siguiente. Se dice que l a interface es de registm dbble porquepuede cargarse un nuevo carkkr tan pronto comed anterior comienza la transmisi6n. s i pt+ activa. La sekabn .dealto. 4 .que cornpnieba iq inke$a@ durante la transmi- m). La interface ver$.y la interface desactiva la bandera para marcar h o e l qbtro.. el . cualquiera emm posibles durante la transmisibn " activa bita apropiados en el . en paralelo. se t m h m el cardcter. ~ t vado á reeisho tmmimr. &ra.. cuántos bita hay en cda~sadder/ la. establecida. ta entrada de m h n de &#os estA en el atado 1 cuando la h e a está inactiva. como la velwidad en baudios que se va a utiiizar.decisión de generar una comprabacih de. La U ? U a lee eL registro. se lista en la tabla que acompaña al diagrama.res emm p o s % ! . ' la interface comprueba la paridad y los Pi+g. b CPY lee. al colmar b d a t o s en el mgistro de codmiento a la velocidad de baudios ' mpecificada. la paridad y eithtos bits de alto se -den a cada car$&'r:: Das bits en d r&strobde mtadq re usan como banderas. El confml receptor monitorea la línea de r e q d b n d i datos en busca de una -1 d para dekctar h ocurrencia de M bit de W o . de estado y comprueba la bandera para obsemar si . El primeic hit en el registro de corrimienh de1 transmisor se activa m O para generar un bit de inicio. La CPU puede transferir otro carácter al registro transmisor. El registro seletcionado es una porción del vahr RS g de 1 w estados RD y WR.de mgistro (ES) s e asocia con los contrales de lectura (RD) ydtura Ros. despuds de comprobar la bandera en el -m@tro de estado.de &tos. l o s bits de &&r que entran se colocan en el de corririoiento en donde se reconen a la velcieidad de baudio . 'f. S i está vado.registro de estade La CPU puede leer el registro de estado en cualquier momento para comprobar s i han ocurrido erro=. 1 La opera& de -h -parte mqptora de h interface es similar. la CPW transfiere un carácter al registro transmisor. del regis@ de .comhimto al registro de mceplci6n. Un bit ae utiliza para indicar 8i 4 registro &ansmisor está vado y otro se emplea para indicar 1 el registro wceptor mta Ileno.

Por lo tanto. I = 1. a n .~ mueva una posición a la derecha junto con los datos. puede aceptar datos de la unidad fuente a una velocidad de transferencia y 1 lq enviar los datos a la unidad destino a otra velocidad. . La característica importante -.'. 1 11 1.de caracteres en el flujo de datos recibido.-# . II~. sión son el error de paridad. La misma transición de reloj activa '. 4 .> . El FIFO . Cuando se coloca entre dos unidades. I r J l .. . 8 .. . . lb . F. corrimiento. . hacia la salida. 8 .. .t. . I . El buffer FIFO apila los datos conforme llegan y los entrega en el mismo orden cuando se necesitan.. 1 Fi+l en 1 y desactiva Fi en O. pero que i ! r: el tiempo entre esos arribos es suficientemente largo para que la unidad ..*p: . I G figura 11-9. Ivelocidad lenta y después vaciarse a una velocidad más rápida. Si la fuente . * J . 1 1 . 3 ..< 1 1 . 6 ) ~ . uno para cada registro. de control con flip-flops Fi.. . se genera un pulso de reloj que hace que el registro A ' r J. Un error de posición ocurre . -17 ~ ~ ' l ~ ~ j í ~ ~ S - L :l. r -. Un error de paridad ocurre si la cantidad de dígitos 1 en los datos 1 'recibidos no corresponde a la paridad correcta.- . ' L .. i registro receptor antes de que el siguiente quede disponible en el registro de . .. el FIFO .:m. 1 . 1 r . M . Si la unidad fuente es . . .(. . a * .lrl. ..-. el búffer puede llenarse con datos a una . d 1 m 8' A S 7 S J ~ I. . Un error de superposición ocurre si la CPU no lee el carácter del . primero en salh ' 8 . 3. Los errares de e&anearnimto dan c6m6 Multado una p4fdida . t. destino vacie alguna o toda la información del buffer. . . Un O en Fi indica que el registro correspondiente no contiene datos 1 .. el FiFO es útil para aquellos casos en donde :.l " Fhl se reactiva ($i+l= 1). válidos. n S O . 4l.I forma asíncrona. Esto provoca que la bandera de control se 2 ' r. i = 1. Consta de cuatro registros de 4 bits RI. I . 2.ir . -h.. I I * e ' ' f 11. " .C~ puede almacenar cuatro palabras de cuatro b i t s cada una. . . Puede aumentarse la rI ... El registro de control dirige el movimiento de datos por los registros. Cada vez que el bit Fi del registro de control está activado (Fi = 1) y el bit .. CA-O o= Organización de entrada-salida . . > ' ' v : El diagrama lógico de un buffer FIFO típico 4 X 4 se muestra en la r ~ q . + = j S L i y . indica que :n una palabra de datos de 4 bits está almacenada en el registro RI correspon. ' puede aumentarse la cantidad de palabras al elevar la cantidad de registros.. 1. mientras existan posiciones i . . -! # S I ... { . : Bufhprimero en entrar. 3 j' l. 8 . ' * 1--1 r~ 8 . ..:. . .cual se introdujeron al buffer.. . . l Un buffer primero en entrar. L< manera que el primer dato que entra es el primero que sale.a ' nin los datos fuente arriban en grandes cantidades que llenan el buffer.!I . Un búffer FIFO tiene terminales de entrada y salida separadas. t . . se mueven hacia abajo del FiFO. 7.' .! f l ~ R(1 + 1) acepte los datos del registro RI. FIFO) es una unidad de memoria d e localidades adyacentes que almacena información de -. . cantidad de bits por palabra al elevar la cantidad de bits en cada registro y . Y . - P I N . 1-~. . J . 2. es más rápida que el destino. 3.4 y un registro . 1 : . -rnr .. =+ Un flip-flop Fi en el registro de control que está activo en 1.. 8 1 ' + *.~. primero en salir Prst-in. I . 3rd-out. I . s i a . Los datos en el registro I t r c n ~ ii / J. el error de configuración y el error de superposición. t S > i no se detecta el número correcto de bits de alto al final del carácter rsecibido. e 9 7 d . un buffer lb r FiFO puede ser útil en algunas aplicaciones cuando se transfieren datos en I .~II .428 l. J T .. de este buffer es que puede introducir y sacar datos a dos velocidades . rjri I.: frJ diente. 4.4 . m llf.' 7 más lenta que la unidad destino.-I'c 1..! diferentes y que los datos de salida están siempre en el mismo orden en el ..

- ií ... . 4 # ~ ~ 8 . 8 . Esto ocurre cuando se desactiva el primer flip-flop .. . I . 2 -S . . t. Borrado maestro Figura 11-9 Diagrama de circuito de buffer FIFO 4 X - ' S I . .: vacías adelante de él. F1-- - . A Reloj 1 4 A Reioj 1 : 11 4 1 I 1 i + L A-' 8 .. I1. 1 s .. . . . Se utiliza un borrado general maestro para .. Esta operación de avance se detiene cuando los datos alcanzan el registro RI con el siguiente flip-flop Fi+l activado en 1 o cuando alcanzan el último registro R4. 1 .i) A 1 0 1 0 Reloj 1 . i r A -LB .: C !Iseñal entrada preparada.I ' I Entrada de datas . . .f. - - R1 7 11 1 11. '. 'i' < # : I r & . d J m '8- R 1 Fí m Borrar 4 Entrada preparada -11- '' '' I .. * t Registro de 4 bits . inicializar todos los flip-flops del registro de control en 'O. .I c l t. S : . . .indicando que e1 registro RI está vacío. T J .. ~3 R4 C + c - Registro de 4 bits . Se insertan datos dentro del buffer siempre y cuando esté habilitada la . . ' . L 7 < . F1. l 7' I - 'I A ' ! L . > m ! . L R2 J . Se cargan los datos de las líneas . C Registro de4Mw i ' Registro d e 4 bits -de Salida datos ! l v 7 4 Ir w 0 A 1 Reloj .(' . ' F .#T . ' I Insertar h P I - I. 1 .. I ( L..I 4. . '.

de transferencia La irúormacibn binaria recibida de un dispositivo externo por lo general se Almacena en la memoria para su pmesa&ento posterior. otros transfieren los datos directamen& a y de la unidad de memoria. Algunos modos utilizan la CPU como una trayectoria intermedia. Nótese que las dos lineas de control entrada preparada e insertar constituyen un par de heas de reconocimiento mutuo initiadas por el destino. La CYU s61o ejecuta las ihstrucciones E/S y puede aceptar los datos en forma temporal. Accesa directo a memoria @MA) EIS programada Las operacion~ de E/S programadas son e 1 resultado de instrucciones de ELS escritas en e l programa de la computadora. i a infomacibn transferida de la computadora central a un dispositivo externo se origina en unidad &-memoria. La linea de control siida preparada est6 habilitada cuando se activa el último flip-flop de control F4.930 W ONCE Chgarhcibn de entrada-salida de entrada al habilitar el reloj en R1 mediante la línea de control insertar. Cada transferencia de datos se inicia mediante una instmcci6n en el progzama. Si el FIFO está vacfo. permanece activa y la linea entrada preparada permanece en el estado O. y esa misma unidad deshabilita la señal de control borrar. la transferencia es M i y desde un registro de CPU o aerMco. Los datos en RI se transfieren dentro de R2 y se desactiva F1. Esto habilita la línea entrada p r p r a d a . ta unidad destino acepta los datos de salida de R4. Sólo después de que la sefial borrar regresa a O pueden moverse l o s datos de R3 dentro de R4. Se necesitan otras instrucciones para transferir los datos hacia y desde la CPU y la memoria. E/S programada 2. . El mismo reloj activa F. l. pero la fuente o destino final es la unidad de memoria. La transferencia de datos entre la computadora central y los dispositivos de E/S puede manejarse en diversos modos. indicanda que las entradas esfdn ahora disponibles para otra parabra de datos. Esta desactiva Fq. S Ee i m esta lleno. El procesa de avancB comienza siempre y cuando eR2 estg vado. E/S iniciada por intempción 3. rl H - Y 11-4 Modas.haciendo que se deshabiiite la salida preparpda. h datos recorren la pila de registros hasta d extremo de salida. lo que indica que e1 FIPO est& ahora ocupado y no puede acepta? mAs datos. Por lo general. no habrdi datos en R3 y F4 permanecerá en estado inactivo. lo cual indica que los datas en la salida ya rio son vAlidos. N6tese que las dos Imeas de control salida prqarada y borrar constituyen un par de líneas de reconwimiento mutuo iniciadas por la fuente. lo cual deshabilita el control mhda preparada. La transferencia de datos de y a perifkrims puede manejarse en uno de tres modos posibles. indicando que hay datos válidos en el registro de salida R4.

la computadora se divide en tres módulos separados: la unidad de memaria. es necesario que la CFU monitoree la interface para ver cuándo puede volveme a ha= una transferencia. Puede evitarse al usar una opeidn de interrupción y comandos espdales para informar a la interface que emita una reíial de solicitud de interrupcibn mando están disponibles los datos del dispodtivo. el DMA solicita ciclos de memoria mediante el canal de me moria. la CPU detiene un momento la tarea que está procesando. Una vez que se inicia una transferencia de datos. el DMA transfiere los datos directamente a la memoria. la CPU y el IOP. La CPU inicia la transferencia al proporcionar a la interface la direcci6n inicial y la cantidad de palabras necesarias que se van a transmitir y despuds avanza a ejecutar otras tareas. Ejemplo de EíS programada En el mdtodo de E/S programada. En ese lapso. la interface sigue monitoreando dispositivos. E l WP puede manejar muchos periféricos a travds de un DMA y la opci6n de interrupción. la CPU puede avanzar a ejecutar owo programa. Cuando e l controlador de memoria concede la solicitud. l a transferencia DMA se analiza con mayor detalle en la sección 11-6.Transferir datos bajo e l control del programa requiere que la CPU &ice un monitorea constante de periféricos. el dispositiva de E/S no tiene acceso directo a la memoria. Mientras tanto. La CPU d o retrasa su operacibn de a c e a memoria para permitir la transferencia directa de E/S a memoria. Como la velocidad de los perifgricos por lo general es menor que la velocidad del procesador. Este es un proceso que consume bastante tiempo porque mantiene ocupado el pmcesadox en forma hmxsaria. ta transferencia de datos bajo E/S programada es entre la CPU y un periMrico. iti t e m p d d n IOP En el mbtodo de E f S programada. En e l acceso directo a memoria. Cuando la interface determina que el dispositivo está preparado para transferencia de datos. Una transferencia de un dispositivo de E/S a memoria . Muchas computadoras combinan la 16gica de interface con los requisitos para acceso directo a memoria en una unidad y h llaman procesador de E/S IOP. las transferencias a memoria de E/S no son frecuentes en cornparacibn con el acceso a memoria del pmcesador. ~ Q S procesadores E/S se presentan en 1a sección 11-7. la interface transfiere datos hacia adentro y hacia afuera de la unidad de memoria por medio del canal de memoria. genera una solicitud de interrupción a la computadora. Con tal sistema. Cuando se detecta la señal de interrupcibn externa. observar en detaIIe todo b que acontece (enla unidad de interface y en el dispositivo de E/S. la CPU permanece en un ciclo de programa hasta que la unidad de E/S indica que está preparada para transferencia de datos. transfiere e l control a un programa de servicio para procesar la transferencia de E/S y despuk regresa a la tarea que ejecutaba originalmente. lkpende de las instrucciones programadas y ejecutadas en la CPU. (DMA). Cuando se hace la transferencia.

E s t á -rito un programa para la computadora con el fin de comprobar la bandera en el registro de estado. entones. Se considera que el dispositivo estii enviando . la CPU lee los datos del registro de dabe. Cuando esti4 disponible un byte de datos. dependiendo de c6mo están disefiados los circuitos de l a interface.432 cAPfnno ONCE oqankaci6n de entrada-sdida requiere que la CPU ejecute varias instrucciones. para determinar si se ha colocado un byte en el registro de datos mediante el dispositivo de E/S. E l dispositivo transfiere bytes de datos uno a la vez. Un diagrama de f l u j o del programa que debe escribirse para la CPU. Esto se apega al procedimiento de reconocimiento mutuo establecido en la figura 113. Esto se hace al leer el registro de estado dentro del registro de Ia CPU y comprobar e1 valor del bit de bandera. pero no transferiri otro byte hasta que la interface deshabilite la línea de datos aceptados. conforme están disponibles. La interface adiva un bit en el registro de estado que denominaremos bit de "bandera"o bit F. Si Ia bandera es igual a 1. Ahora el dispositivo puede deshabilitar la línea de datos vblidos. Eeuihua de 3/SL r Datm aceptados * F = Bit &-huiera Figura 11-10 Transferencia de datos de dispositivo E/S a CPU. U n ejemplo de transferencia de datos de un dispositivo de E/S por medio de una interface a la CPU se muestra en la figura 11-10. e l siguhtcs byte de datos. Una vez que se desactiva La batuda. Pueden necesitarse otras instrucciones para verificar que están disponibles los datos del dispositivo y para contar b cantidad de palabras transferidas. l a interface d~habilital a linea de datm acepta& y el dispositivo puede transferh. incluyendo una instrueci6n de entrada para transferir los datos del dispositivo a la CPU y una uistrucú ó n de almacenamiento para transferir los datos de la CPU a la memoria. se muestra en la figura 11-11. L a interface acepta el byte en su registro de datos y habilita l a límea de datos aceptados. el dispositivo l o colma en e l canal de E/S y habilita su línea de datos V A M O S . ihpués. la Cmr o la interface de8activan e l bit de bandera a O .

-6~ 11-4 Modos de bansferem5a 433 Ir r ZRer registro de datos l f Comprobar bit de bandera 1r =0 =1 11 Leer registro de estado 11 Transferir datos a memoria 11 no s i 11 Figura 11-11 Diagrama de flujo para programa de CPU para inkwlucir datos. 3. 2 Comprobar e l estado del bit de bandera y transferir el control al paso 1 si no está activado o a1 paso 3 si l o está. Leer el registro de estado. . una secuencia de bytes que debe abcenarse en la memoria. La transferencia de cada byte requiere de tres instrucciones: 1 . Leer el registro de datos.

La manera en que el procesador &%e la d k c i ó n de transferencia a la rutina de servicio varíq de una unidad a otra. es permitic que la interface informe a la computadora cuando esté lisb para transferir datos. existen dos m4todos para lograr esto.000 veces entre cada transferencia. La CPU se desvía de l o que esta haciendo para atender la transferencia de entrada o salida. Esto es equivalente a un byte cada 10000 micro-sepndos. Esta informaci6n se llama el vecfor de intm~pci6n. Mientras la CPU estd corriendo un programa común no comprueba la bandera. Este modo de transferencia utiliza la opcibn de interrupcibn. Una tarea c o m h de proaama.E/S programada es particularmente útil en computadoras pequeñas de baja velocidad o en sistemas que &Sin dedicados a monitorear un dispositivo en forma continua. En principio.434 CAPmmmcs Organizacr6n de entrada-salida . la computadora retoma al programa previo para continuar lo que estaba haciendo antes de la interrupción. La CPU está gastando tiempo mientras comprueba la bandera en lugar de hacer alguna otra tarea de procesamiento Ú t i I . Sin embargo. En una intermpci6n sin vector. la fuente que interrumpe proporciona la información de l a transferencia a la computadora. la direcci6n de transferencia de control del programa e asigna a una posici6n física en la memoria. 131 m4tcdo de. La diferencia en la velocidad de transferencia de informacih entre la CPU y el dispositivo de E/S hace ineficiente este tipo de transferencia. Esto significa que la CPU comprobará la bandera 10. EIS iniciada por intenrupcibn Una alternativa para que la CPU no tenga que monitorear en forma constante la bandera. l b una intempcibn con vector. . En otras computadaras el vector de interrupción es una direcci6n que . Consideremos que el dispositivo de entrada transfiere sus datos a una velocidad promedio de 100 bytes por segundo. Un programa que almacena caracteres de entrada en el búff~rque utiliza las instnicci&es definidas en el capitulo 6 se lisfa en Ia tabla G21. La CPU responde a la señal de interrupeibn al almacenar la diFecci6n de retorno del contador de programa dentro de una pila de memoria y despuh transferirse el control a una rutina de servicio que procesa la transferencia de E/$ requerida. cuando se activa la bandera. Para apreciar por qu4 es ineficiente. Después que termina la transferencia.qi6n de E/S es transferir un bloque de palabras de un dispositivg ~. En algunas computadoras el vector de intemipcibn ES la primera dirección de la rutina de servicio de E/S. Uno se llama i n t m p ' d n con M o r y el oim i n t m p d n sin wctor. consideremos una computadora tipica que puede ejecutar las das instrucciones que leen el registro de estado y camprueban ¡ a bandera en un micro-segundo. se interrumpe momentáneamente el avance de la computadora con el programa actual y se informa que se ha activado i a bandera.E/S y ~ a l m a c e n w f a en s un buffer de memoria. Cada byte se lee en el registro de la C P U y despuh se transfiere a la memoria con una instnrccibn de almacenar.

algunos procedares también salvan dentro de la pila la paiabra "deestado del procesador (PSW) y cargan una . Sin embargo. se proporciona entonces un comando de control para ejecutar una funcibn de dispositivo. Como se analizó en la secd6tl 8-7. con el fin de determinar cuándo estd Esto para transferencia de datos. 10s fabricantes proporciorian rutinas de E/S para lbs periféricos estandar como parte del sistema de computadora. Las rutinas de E/S est8n disponibles como proce&rmientos de sistemas operativos y el usuario hace referencia a las rutinas establecidas para especificar el tipo de transferencia requerido. como detener la cinta o imprimir caracteres. Una vez que está preparado. En la secci6n 11-5 se muestra un sistema de intempci6n con vector. En la transferencia DMA. L a mayoría de los sistemas operativos contienen diversas programas de E/S para soportar la línea de perifkricos particular que se ofrece para Ia computadora. En las transferencias controladas por intempci6nJ los programas de E/S deben enviar comandos al periférico para interrumpir cuando estb preparado y para dar servicio a la interrupci6n cuando m r r a .los programas de E/S deben inicializax el canal de DMA para comenzar su operacibn. la CPU no puede comemar la transferencia a menos que e l dispositivo t é preparado para comunitarse con la CPU. En algunos casos. La disponibilidad del dispositivo puede determinarse de una kfial de intempcibn. E i control por programa del equipo de entrada-salida es una empresa compleja. la informati611se transfiere dato a datu hasta terminar. sin entrar a detallados programas en lenguaje de miquina. L a CPU responde a la solicitud de intempibn al almacenar la dirección de retorno del PC dentro de una pila de memoria y despuks el programa se transfiere a una rutina de servicio que procesa la transferencia solicitada. Por lo general. rutitta de E/S Consideraciones de pxogramaci6n E I ariiifhis anterior se relaciond con la ckuiteria necesaria para lograr la interface de dispositivos de E/S hacia un sistema de computadora. h s rutinas h E/S deben emitir comandos de control para activar el perifdrico y para comprobar el estado del dispositivo. 11-5 Prioridad de interrupci6n ta transferencia de datos entre i a CFU y un dispositivo de E/S la inicia la CPU. Con frecuencia las traasferencias están acompafíadas de mmprobacibn de errores y otros pasos iitiles. Una computadora tambidn debe tener rutinas de programaci6n para controlar los perif6ricos y para la transferencia de datos entre el procesador y los perif& ricos. Por esta razdn.sEC&N 1 1 5 Prioridad de intempdh 435 apunta a una posición en la memoria en la cual se almacena la direcci6n inicial de la rutina de servicio de E/S. se incluyen dentro del sistema operativo.

Aquí na consideramos la PSW para no complicar el analbis de las interrupciones de E/S. También existe la posibilidad de que varias fuentes soliciten servicio en forma simultánea. Se asignan niveles de internipci6n de alta prioridad a solicitudes que. Una -unidad de prioridad de intemipcidn de circuiterfa funciona como un administrador general en un ambiente de sistema de interrupciones. La rutina de servicio particular alcanzada. El sistema también puede determinar cuales condiciones se permiten para interrumpir a la computadora mientras se da servicio a otra interrupción. cada fuente de intermpci6n tiene su propio vector de interrup- . En este caso. dekrmina cuál de las solicitudes que 1Iegan tiene la prioridad m á s alta y emite una solicitud de intempci6n a la computadora con base en esta determinaci6n.idad de i n f m p c i b r r es un sistema que establece una prioridad entre las diversas fuentes para determinar quk condición ae va atender primero cuando llegan al mismo tiempo dos solicitudes. el sistema debe dkdir tambih a cual dispositivo atender primero. pertenece al dispositivo de prioridad mas alta entre todos los dispositivos que interrumpieron a la computadora.prioridad de intewupcibn encuesta nuwa PSW para la rutina de servicio. Puede establecerse la prioridad de interrupciones simultáneas mediante programación o circuiterla. si se posponen o interrumpen. el control se transfiere a una rutina de servicio para esta fuente De otra manera. s i su señal de interrupción este activada. Por lo tanto. si hay muchas interrupciones. La desventaja del mdtoda de programaci6n es que. En una aplicaci6n típica. Se prueba phmero la fuente de prioridad más alta y. prueba la fuente con Ia siguiente prioridad hacia abajo y asf sucesivamente. el tiempo requerido para *gistrarlas puede exceder el tiempo disponible para atender el dispositivo de E/S. Los dispositivos con trarw ferencias de alta velocidad como discos magnéticos reciben una alta prioridad y los dispositivos lentos como los teclados reciben baja prioridad. pueden producir consecuencias serias. se conectan varios dispositivos de E/S a la computadora. En esta situaci6n. puede utilimse una unidad de circuito de prioridad de inkmpci6n para acelerar la operacibn. En este mhtodo existe una dirección de transferencia de control común para todas las interrupciones y el programzr cuida que Ias interrupciones comiencen en Ia direccibn de transferencia y registra las fuentes de inkrrupci6n en secuencia. Se usa un procedimiento de "encuesta" para identificar la fuente de prioridad más alta por medio de programacibn. Una priot. la rutina de servicio inicial para i d a s las interrupciones consiste en un programa que prueba las fuentes de intempci6n en secuencia y transfiere el control a una de varias rutinas de servicio posibles. E I orden en la cual se prueba detemina la prioridad de cada internipci6n. y cada dispositivo puede originar una solicitud de interrup ci6n. Cuando dos dispositivos interrumpen Ia computadora al mismo tiempo. Acepta solicitudes de interrupción de muchas fuentes. I a computadora atiende al dispositivo con mayor prioridad. Para acelerar la operd6n. La primera tarea del sistema de interrupción es identificar la fuente de la interrupcidn.

La &l de reconocimiento pasa al siguiente dispositivo por medio de Figura 11-12 Inteaupfi6n con prioridad por cadena de margaritas. I3ispitlvo 2 : PI Po 1 - MBpositlvo 3 PI m - AIsiguienie dhposftivo Y .por los dispositivos de prioridad inferior hasta e l dispositivo con la m6s baja prioridad. El dipasitivo con la prioridad más al& E coloca en la primera posicibn. Cuando no está pendiente ninguna interrupcibn. la ünea de interrupci6n va al estado de nivel bajo y habilita la entrada de interrupci6n en la CPU.delpmesador 1L VAD 1 MspIdvo 1 :PI PO A VAAD 2 I ' YAD 3 i . la línea de interrupción permanece en el estado de nivel alto y la CPU no reconoce interrupciones. E s b es equivalente a una operación OR lógica negativa. Prioridad de cadena de margaritas El rndtodo de cadena de margaritas (daisy chain) de establecer prioridad consiste en una conexi6n serial de todos los dispositivos que solicitan una internipci6n. C a d de datoe.ci6n para accesar en forma dwcta su propia nitina de servicio. Si cualquier dispositivo tiene su señal de inkrmpci6n en el estado de nivel bajo.WWd - de iritwudon - : INT CPU h m w i m h b de fnterrupdbn U INTACK . Unea de solicitud de htempcidn es común a todos los dispositivos y forma una conexión de 16gica alambrada. La CPU responde a una solicitud de hternipci6n al habilitar la Iinea de reconocimiento de intermpci6n. no se necesita el registro porque todas las decisiones Ias establece la unidad de circuiM de prioridad de interrupcibn l a función de prioridad de eimiitería puede establecerla una sonexión serial o paralela de heas de interrup c h . que se coloca al iiltimo en la cadena. Por l o tanto. La. E3I dispositivo 1 recibe esta señal en su entrada de prioridad PI). seguido. Este m b d o de conexi6n entre tres dispositivos en h CPU se muestra en la figura 11-12. La conexihn serial también se conoce como el d o d o de cadena circular.

Entanceb. La salida del ffip-flop RF recorre un inversor de colector abierto.0 ONCE Organkción de entrada-wlida direecidn de wector h salida de prioridad (PO)s610 d el dispositivo 1 no está solicitando una interrupción. transmite la &al de reconocimiento al siguiente dispositivo al colocar un 1 en su salida PO. La figura 11-13 muestra la 15gica interna que debe incluirse dentro de cada dispositivo cuahdo estA conectado en un equema de cadena de margaritas. para que la CPU la utilice durante el ciclo de intemipcibn. S el dispositivo 1 tiene una interrupcidn pendiente.cmhJL. es menor su prioridad. E 1 arreglo de cadena de margaritas le da la prioridad mis alta al dispositivo que recibe' la señal de reconocimiente de intempcih de l a CPU. El dispositivo activa su &pflop RF cuanao desea interrumpir a la CPU. el dispositivo con P1 = 1 y PO = O es el que tiene la prioridad m& alta y que ~Iicita una interrupcibn y este dispositivo coloca su direccidn de vector (VAD) 'enel canal de datos. Un dispositivo con un O en su entrada PI genera un O en su salida PO para informar al dispositivo con la siguiate prioridad más baja que ha bloqueado la señal de r&onocimienb. Un dispositivo que solicita una i n b mpci6n y tiene un 1 en su mhada PI acepta b señal de reconocimiento al colocar un O en su salida PO. Si e l dispositivo no tiene interrupciones pendientes. bloquea la señal de reconocimiento del siguiente dispositivo al colwar un O en su salida (PO. Entre d s lejos esti el dispositivo de h primera posicl6n. un Figura 11-13 Una etapa del arreglo de prioridad de cadena de margarita. PI ' I W t u d de dfreEd6ar M &plitivo 1 Salida de prioridad i S Q RF PO -R 7 - Solicitud de interrupción a CW .Por lo tanto. procede r inserta su propia direccih de vector (VAD) de interrupción. dentro del cana1 de datos. VAD Entrada de prioridad.

El dispositivo está activo cuando PI = 1 y RF = 1. recibe la prioridad m6s alta. se reconoce una interrupci6n &lo si el programa activ6 en 1 su bit de mascara corregpondiente. mediante la señal de interrupción de cada dispositivo. entonces PO = 1 y se deshabilita la direccidn del vedor. se aplican a una compuerta AND para producir las cuatro entradas hacia un codificador de prioridad. El d i c a d o r de prioridad genera dos bits de la direccibn de vector. seguida por una lectora de caracteres y un teclado. La 16gica de prioridad para un siskma de cuatro fuentes de interrupcibn se muestra en la figura 11-14. Se considera que cada dispositivo tiene su propia d i d 6 n de vecter d i s W . También puede proporcionar una opcibn que permita que un dispositivo de prioridad alta interrumpa la CPU mientras se atiende un dispositivo de prioridad menor. PO y la línea de habilitación a la VAD S Q ~ iguales a O. Además del regis& de interrupcih. IEN)para proporcionar un control general subre el si~tema de interrupciones. cuyo propósib es controlar el estado de cada solicitud de interrupcibn. la cual se transfiere a la CPU. La señal de mmnocimiento de i n m p c i d n (INTACK) de la CPU habjlita l o s b u f k dd cana3 en el registro de salida y se coloca una direccidn de vector VAD dmm . Cada bit de interrupcidn y su bit de mascara correspondientes. La impiesora tiene la siguiente prioridad. B1 programa puede habilitar %odahabilitar el flip-flop de habilitacibn de h k m p c i h (intmpt enable. Idgicn de prioridad Inkmpci6n de prioridad paralela El m W o de interrupción de prioridad paralela utiliza un registro cuyos bits se adivan en forma wparada. Puede programarse el registro de mAscara para deshabilitar interrupciones de prioridad menor mientras s e esta atendiendo un dispositivo de prioridad más alta. Otra salida del mdificador activa un flip-flop de estado de intwnifi6n @T) cuando ocurre una inteirypcibn que no está enmascarado. Mediante instrucciones de programa. Se desactiva el flip-flop RF despu& de un retrasa suficiente para asegurar que la CPU ha recibido la dfrec-ch de vector. De esta manera. Bta condici6n colma un O en PO y habilita la h i 6 n del vector para el canal de datos. como es un dispositivo de alta velocidad. Consta de un registro de interrupcibn cuyos b i t s individuales se activan mediante condiciones externas y se desactivan mediante instrucciones de programa. Si PI = O. Esta mdici6n pasa la señal de reconocim i e n t o al siguiente dispositivo a través de PO. Las salidas de IST que recibieron la h u 6 n AND con IEN proporcionan una señal de Hiterrupi6n común para h CPU. Si PI = 1 y R F = O. es posibl~activar o desactivar cualquier bit en el registro de &&ara. El registro de msscara tiene l a misma cantidad de bits que el registro de interrupcibn.circuito que proporciona la lógica de alambrado para la h e a de interrupci6n comiin. E l disco magn6tic0. h prioridad se establece de acuerdo con la posicidn de los bits en el registro. el circuito puede incluir un registro de mAscara. sin considerar el valor de RF.

440 ONCE Orgmh66n de entrada-salida Figura 11-14 Ckuiterfa ae prioridad de intempci6n. del canal de dAhora explicaremos el circuito M c a d o r de prioridad y después analiarqno6 la interaccibn entre el controlador de prioridad de interrupcibn y la CPU. si dos o m8s entradas . Codificador de prioridad El codiflcador de prioridad es un circuito que -implanta la funci6n de p r b ridad. La 16gica del codiiicador de prioridad es que.

Por ejemplo. I1 tiene el siguiente nivel de prioridad. por lo que se marcan em condicimw no significativas. L a entrada Io tiene la prioridad mayor. una computadora tendí8 más de cuatro fuentes de interrupción.1. 2. Si todas las entradas son 0. y 3 a los vectotes de interrupción para los cuatros &positivos de E/S. E l bit IEN controiado por programa le pennite al . "' * - lie. se desactiva XST a O y las otras salidas del codificador no se utilizan. Por ejemplo. La tabla de verdad de un dificador de prioridad de cuatro entradas se proporciona en la tabla 11-2.O 1 1 1 1 x x o + + +1 . sin considerar l o s valode las entradas de prioridad menor. Las funciones booIeanas listadas en la tabla especifican la 16gica interna del codificador. un codificador de prioridad con ocho entradas generará una salida de tres bits. Cuando IEN se desactiva. + J. sin considerar el valor de las otras entradas. ( I S T ) = I.114 Prioridad de uiWru@~ 441 TABLA 11-2 Tabla de verdad de codiñcador de prioridad Entradas 10 11 I z 13 x Salidas y TST Funciones booleanas x = I'. 1. por lo tanto. i. cuando esta entrada es 1.gan al mismo tiempo. Se genera I a salida para I2 6610 si las en~adas de prioridad mayor son O. y así sucesivamente hacia abajo en el nivel de prioridad. Se activa el estado de interrupción (1ST) 9610 si una o mAs entradas son iguales a 1. La salida del ccdificadox de prioridad se utiliza para que forme parte de la direcciSn de vector con cada fuente de mtempci6n. Ciclo de intemipci6n El ffipflop IEN de habilitacin de intmupci6n que se muestra en la figura 11-14 puede activarse a desactiva* mediante iastniccimes de programa. la d M 6 n de vector puede formarse al agregarse ceros a las salidas x y y del codificador. Por lo general. la salida genera una salida xy = 00. La salida es O1 si Il = 1 siempre y cuando lo = O. E610 ~e debe a que la direcci6n de vedor no se transfiere a la CPU cuando IST = O . la entrada que tiene la prioridad mayor tendrá preferencia.I{ y = ILI.i. o O 0 0 i O 0 0 x f 0 0 x X 1 0 0 1 1 1 .Las letras X en la tabla representan condiciones no signiicativas. Con esta selección se le asignan los números b'inarios 0. la CPU no considera la solicitud de intermpci6n que proviene del IST. Puede asignacualquier valor a los otros bits de la direcci6rt de wctor.

. Durante d ciclo de internipci6n la CPU ejecuta la siguiente secuencia de mierooperaciones: SP tSP . Si alguna de ellas e s igual a O. Si ambas IEN e IST son iguales a 1 . Después reconoce la intempci6n al habilitar Ia línea INTACK ia unidad de prioridad de interrupción responde coIocando un vector de intempci6n único dentro del canal de datos de la L a CPU transfiere la d k c i 6 n de vedar dentro del PC y desactivan IEN antes de pasar a la siguiente fase de búsqueda. Duran& 6 siguiente fase de búsqueda.1 Deaementadar apuntador de pila M[SP]+PC Salvar PC dentro de la pila ' N A C K t1 Habilitar reconocimiento de internipci6n Transferir dwcci6n de vector a PC K+ V m IEN +O Dehabilitar interrupciones paskriom ir a recupera la instrucci6ri 1La CPU salva la direccidn de retgrno en PC dentro de la pila. La pila que se muestra en el diagrama se usa para almacenar la direcci6n de retorna despub de cada interrupción. significa que el usuario no dque su programa se interrumpa. Una instrucci6n para activar XEN indica que la opci6n de interrupción se usará mientras corre el programa actual.programador elegir entre usar o no b opcibn de intemipci6n. L a figura 12-15 mu-tca el programa que debe residir en la memoria para manejar el sistema de interrupciones. Si se ha insertado una instniccibn en e l programa para desactivar IEN. programa de servicio - . Ptlhfinal de cada ciclo de interrupci6n la CPU comprueba IEN y la seiial de intermpcibn de IST. el control continúa con la siguiente instnicdbn. ta computadora tambi6n debe tener rutinas de programaci6n para atender las solicitudes de inkrcupci6n y para controlar los xegistros de la ciruiitería de interrupcibn. Cada dispositivo tiene su propio programa de servicio que puede alcamrse medite instrucci6n de brinco (JMP) almacenada en la direccibn asignada al vector. la instrucci6n que se leed de la memorig serh la que esté localizada en la direcci6n de vector. La mayoría de las computadoras incluyen eircuiterla interna que desactiven IEN a O cada vez que el procesador reconoce una intemipcibn. Rutinas de pmgramaci&n Un siskeq de prioridad de interrupciones es una combinaci6n de técnicas de circyiteria y programación. hemos analizado los aspectos de la circuitería de un sistema de prioridad de interrupciones. Hasta aquí. E 1 nombre simbblico de cada &m q m t a la direccih inicial del programa de servicios. la CPU pasa a un ciclo de intemipci6n.

Al final del ciclo de instrucción. Para proporciomr un ejemplo espcffico consideremos que el teclado de Uitmupci6n mientras la U?Uejecuta la instnicci6n en la l@&d 7 4 9 del programa princip91. la coriiiputdora va a un ciclo de interrupción. Esto retorna el control a la rutina KBD para que continde atendiendo el teclado. ta última instrucción en cada rukina*esun retorno de la instrucción de interrupción. Se considera que el tiempo para dar servicio a una intermpciai de alta priorgad es corto en comparacidn con la velocidad de activa su bit . Ahora supongamos que e l disco activa su bit de h b m p c i h cuando la CPU ejecuta la instnteci6n en la dirección 255 en el programa KBD.CMICI~N 115 Prioridad de intempci6n 443 Memoria -mas de servicio de E/S 0 1 JMP DISK J M P m wrvlcio a d k o rnagnétim 2 JMP RDR JMP KBD pmgiama prindpa! 3 t "1 -1 Programa para dar semido a impresora en línea P m p m a para dar servicio a h o r de m e r e s hograma w dar wrvWo a teclado Pila 256 750 Figura 11-15 kograme. u q dispositivo de prioridad mayor puede interrumpir a un dispositivo de prioridad menor. la tíl*a htruccián recupera la dirección de retorno de la pila y retorna el coqtrol al programa principal en Ia dirección 750. Salva la d k c i & nde retorno 750 en la pila y. produciendo urva trmfemnuia de control a la-i u . la instruccihn de retorno se recupera de la pila y coloca 256 en el PC. h J d e interrupción KBD.la dirección S 6 se wlva dentro de l a pila y d control se hansfiere al programa de servicio DISK. Al final del progrwa KBD. después acepta la diremi611 de v d o r 0000M)ll del canal y la transfiere al PC. Por lo tanto. Cuando termina el programa de servicio del disco. La instnicci6n en la localidad 3 se ejecuta después.simaoensdoen memoria para atender interrupciones.

4.Despuks. 2. se activa la habilitación de intempcibn IEN para permitir que otras interrupciones (de prioridad mayor) y la computadora procedan a atender la solicitud de intempcibn.de1dispositivo de baja prioridad. El contenido de los registros de p m d o r se salvan porque puede necesitarlos el programa que se ha interrumpido d q u é s de que e l control retorne a &l. Recuerde que la habilitacibn de interrupcibn TEN se desactiva al f m l de un ciclo de intempci6n. Activar el bit de habilitaa6n de inkmtpci6n IEN. La secuencia fmal de cada rutina de servicio de interrupcidn debe contener instnicciones para controlar la circuitería de interrupci6n de la siguiente manera: 1 . la prioridad puede cambiarse si se desea.444 0 - Oxgankación de entrada-salida transferencia. Reactivar los kts de prioridad de nivel menor en el registro de cubierta. Operaciones inicial y final Cada rutina de servicio de interrupción debe tener un conjunto de operacio- nes inicial y final para controlar los registros en e l sistema de cimiterla de interrupci6n. Activar el bit de habilitacidn de interrupción IEN. Desactivar los bits del registro de máscara de prioridad inferior. Aunque a las fuentes de intempci6n de prioridad menor se les asignan bits de ndmero mayor en el registro de mAscara. Este flip-flop se debe activar de nuevo para habilitar solicitudes de intemipcidn de Prioridad mayor. 2 Recuperar el contenido de los registros del pxocesador. 5. por lo que no ocurre ninguna pérdida de información. 3. 4. porque el programa puede utilizar cualquier configuraci6n de bits para el registro de máscara. Proceder con la rutina de servicio. . Desactivar e l bit en el registro de intwrupci6n que pertenece a la fuente que ha sido atendida. 3. Desactivar el bit de estado de interrupcibn IST. El bit de estado de internipci6n de& desactivarse para que pueda volverse a activar cuando ocurra una interrupcibn de prioridad mayar. pero no antes de que se hayan deshabilitado h s intempciones de prioridad menor. Los bits del registro de dscara de nivel inferior (incluye el bit de la fuente que interrumpid) se desactivan para evitar que estas condiciones habiten la interrupci6n. Salvar el contenido de los registros del procesador. La secuencia inicial de cada rutina de servicio de inkrrupci6n debe contener instrucciones para controiar la cimitería de intmupcidn de la siguiente mera: 1. 5. Restablecer la direcciBn de retorno dentro del PC y establecer IEN.

figura Am . La circuitería puede salvar dentro de fa pila el contenido de los registros del procesador antes de transferir d control a la rutina de servicio. Un a . Un controlador DMA funciona sobre los canales para manejar la transferencia en forma directa entre' el dispositivo de E/S y la memoría. irl: d e s deshabilitar los canales mediante señares de control e s ~ i a l e s La . de otra manera. La circuiteria puede hacer en forma a u b matica algunas de las operaciones generaieg de gestidn. es posible reducir el tiempo entre la mpci6n de una interrupcidn y la ejecución de las instrucciones que atienden l a hm'te de interrupción. No son parte de1 propio programa de servicio pero son esenciales para procesar interrupcic~ nes.11-16 -muestra dos e l e s de mtrol en la CPU que facilitan la transferencia solidtud de canal DMA. También se le pueden asignar otras operaciones iniciales y finales. Esta técnica de transferencia se llama acceso diredo a memoria (Direcf Memoy Access. el canal de datos. m La C W puede cokarse en un estado inactivo de diversas maneras. E s t o se hace al insertar las instrucciones adecuadas al principio y al final de cada rutina de servicio. con h e n c i a está limitada por la vel-idad de la CPU.Debe activarse el bit en el registro de intempci6n que pertenece a l a fuente de l a intempcibn para que esté disponible de nuevo cuando la fuente requiera otra interrupción.' m d t o d o c o m h que se usa con mucha frecuencia en los micxoprocesado~. Cuando esta entrada activa. Zns bitc de prioridad menor en el registro de mdscara (incluyendo el bit de la fuente que se está interrumpiendo) se activan para yIver a habilitar sus interrupciones. N6tese que la cimiterla debe diseñarse para que no ocurran interrupciones mientras se ejecutan los pasos 2 al 5. y las lineas de lectura y d t u r a u . El retorno al programa interrumpido se consigue al cargar la dirección de retorno en el PC. DMA). puede perderse la direcci6n de retomo y la infonnaci6n de los registros de mascara y de1 procesador puede ser ambigua si se reconoce una instruccibn mientras se ejecutan las operaciones en este paso. Quitar la CPU de la trayectoria y permitir que e l dispositivo periférico maneje en roma directa los canales de memoria mejw rada Ia velocidad de transferencia. Todas las operaciones generales pueden implantarse mediante prograrnaci61-1. 11-6 Acceso directo a memoria ( D m ) La bnsfemcia de datos entre un dispositivo de almacenamiento rhpido como un disco magnktico y la memoria. De esta manera. la CPU termina la ejecución de la inshucción actual y coloca el canal de direcciones.inicialmente se desactiva IEN y máis tarde se reactiva despub de que se transfiere la dirección de retorno h PC.Durante una transferencia DMA. tas operaciones final y inicial que acabamos de listar se denominan operacimres generales de gestión o quehaceres dodsticos. la CPU está inactiva y no tiene el control de los canales de memoria. Por esta raz611.E l conbolador DMA utiliza la &bada de solicitud de anal (BR) para a_\ 4 -solicitar a la CPU que entregiie el control de los anales.

Cuando BG = 1. + Acopladores de canal de direcciones Selección de DMA Selección de registro Registro de dirección Registro de cuenta de palabras Escribir Solicitud de canal Cesión de canal Interrupción Lbgica de WR control Registro de control 1 de E/S Figura 11-17 Diagrama de bloques de controlador DMA. urop b lr n . Los bits de direccionamiento van a través de búffers al canal de direcciones. la CPU puede comunicarse con los registros de DMA por medio del canal de datos para leer de o escribir en los registros DMA. la CPU ha entregado los canales y el DMA puede comunicarse directamente con la memoria al especificar una direcci6n en el canal de direcciones y activar el control RD o WR. El registro de direccionamiento se incrementa después que cada palabra se transfiere a la memoria. El registro de direccionamiento contiene una dirección para especificar la localidad deseada en la memoria.. Este registro se decrementa en uno con cada transferencia de palabras y realuia una prueba interna en busca de cero. Los registros en el DMA se seleccionan mediante la CPU por medio del canal de datos al habilitar las entradas de selección de DMA (DS) y de selección de registros (RS). El controlador de DMA tiene tres registros: un registro de direccionamiento. Todos los registros en el DMA aparecen ante la CPU W Y " . La unidad se comunica con la CPU mediante el canal de datos y las líneas de control. Las entradas lectura (RD) y escritura (write. WR) son bidireccionales. 1 intempdbn 4 Solicitud de DMA Reconocimiento de DMA L La figura 11-17 muestra el diagrama de bloque de un controlador de DMA típico. DMA se comunica con el periférico externo mediante líneas de solicitud y reconocimiento al utilizar un procedimiento preestablecido de reconocimiento mutuo. Cuando la entrada de cesión de canal (BG) es O. un registro de cuenta de palabras y un registro de control.e m4 ( 1 0 - irlñncs'UM . El registro de control especifica el modo de transferencia. * nl NI o.SECCI~N11-6 Acceso directo a memoria (DMA) 447 Canal de direcciones de datos I e Acopladores del canal de datos . d h f m . El registro de cuenta de palabras contiene la cantidad de palabras que se van a transferir.

*. informando a la CPU que ceda los canales. L. - 113 m ~.l I . La CPU inicializa el DMA por medio del canal de datos. . Cuando el di*spositivo periférico envía una solicitud al DMA.n~ Lí l. . .. .. r .--. s6lo que reciba una señal de internipción.- tb. La dirección de la r11.en un sistema I ! c l . LI1 r 4 S m! .l...448 CAP~WLO ONGE OrganizAciSn de entrada-salida como registros de interface de E/S. v i ~~i+Jr. d'rreccionamiento dentro del canal de dirección...' . I ~ ~ I : son lheas de entrada que permiten a la CPU comunicarse con los registros I-''. puede comenr . . .l > Da posición del controlador DM enke los otrdki ~com~onentes ..! 'JI~-:~ envía un reconocimiento DMA al dispositivo periférico. el DMA empieza . S IA l! : # .a:' ~: 1 RD y WR en el controlador DMA son bidireccionales.-1 r- dentre de 10s registros DMA bajo el contr~l de programa mediante el canal r I !- - 7 ..a La CPU responde con su línea BG. la CPU puede leer o escribir de datos..' 4..( ( '..rill 13 . .. RD y WR c .. ' E. Primero. informando al DMA que sus canales ' : 1 están deshabilitados.y continúa la transferencia de datos entre la memoria y la unidad periférica hasta que se transfiere un bloque completo.#. r 1 .Y . d e memoria en donde están disponibles los datos (ppp lectura) o donde se van a almacenar los datos . ' J J 1 1'8..i.. . .. Por lo tanto.l $ dirección inicial del I ) l t e .. :-'. 1-1 Una vez que el DMA recibe el comando de control de inicio..I.r'1 1 l d ~ r a n g f e r e n c i a ~ ~ ~ r. --3. .\ 8 r : . Un control para especificar el modo de transferencia como de lectura : o de escritura. e* Ir(-[ . Cuando BG = O. . 1 -. .-gr escritura). Después el DMA pone el valor de su registro de t ~ mm-n ? . .wll .I I I ~ I I !S- . . Un control para iniciar la transferencia DMA.. . 1' .cidn es esencialmente un programa que consiste en instrucciones de E/S . la CPU inicializa el DMA. ñIr i l ----! 2. .-. .1 ~frl-l.~! ii n 1 1 ~ ' - t . qpe es el número de palabras en el bloque de memoria..-.. . El proceso de inicializa-. .b a r ... . . (para La cuenta de palabras..<$ . .-a CPU inicializa el DMA al enviar la siguiente información por el canal de _ _ .U I ~ ~. . ~ zar la transferencia entre el dispositivo periférico y la memoria. .--* datos: . 3.. L'L ' .< N . L -. o que desee comprobar cuántas palabras se han transferido.I..... líneas DS y RS. activa la señal RD o WR y + ciw. La cuenta de palabras se almacena en el registro de cuenta de palabras y la información de control en el registro de control. fiiYi'i8 1 18.# a e computadora se ilustra en la figura 11-18:'La CPU se comunica con el irr18 7 C f g DMA mediante los canales de dirección y de datos como con cualquier r. .. el contro.. RD y W R son líneas d e salida del Ir. la cual activa las li.-le. . El DMA tiene su propia dirección.* l . La dirección inicial se almacena en el registro de direccionamiento. 1 . Cuando BG = 1. .-. - ]--N ..~ jc r 7 9 internos del DMA. Después de eso.i t 4pi .*: '7 lms lador de DMA activa la línea BR. A-' ! I . Nótese que las líneas .. - 1 . la CPU detiene la comunicación con el DMA.. -f. ' . transferencia depende del estado de la línea BG.. que incluyen la dirección para seleccionar registros DMA particulares. 8 1. .i t -13 J S a. . j l . t. Una vez que se inicializa el DMA..I. 1 I n i z T . 1 1 unidad de interface.7 S . La d C ..> S I v.. . p.

el DMA incrementa su registro de direccionamiento y decrementa su registro de cuenta de palabras. En seguida. la unidad periférica puede comunicarse con la memoria por medio del canal de datos para una transferencia directa entre las dos unidades mientras la CPU está momentáneamente deshabilitada. Cuando el dispositivo periférico recibe un reconocimiento de DMA. Por lo tanto. Si la . coloca una palabra en el canal de datos (para escritura) o recibe una palabra del canal de datos (para lectura). controlador DMA a la memoria de acceso aleatorio para especificar la operación de lectura o escritura para los datos.RS = BR BG Controlador de acceso directo amemoda Solicitud DMA Dispositivo penifbrico de E/S Interrupción Figura 11-18 Transferencia de DMA en un sistema de computadora. Por cada palabra que se transfiere. el DMA controla las operaciones de lectura o escritura y proporciona la dirección para la memoria.~ ~ ~ ~11-6 1 6Acceso 1 4 directo a memoria (Dh4A) 449 - : Interrupción + BG CPU * BR RD Memoria de acceso aleatorio WR Dirección Datos ri RD WR Dirección Datos Control de leaura t 1 1 ir t 1 Selección de dirección Control de escritura 7 Canal de datos + 7 y i A Canal de direcci6n A 7 RD + DS Y Y Rec6nocimiento DMA 4 Y WR Dirección Datos -.

Tambih es ú t i l para actualizar la pantalla en una terminal interactiva. D e manera típica. En esta cdiguración. el sistema de computadora puede dividirse en una unidad de memoria y vaRm procesadores que comprenden la CPU y uno o más IOP. La CPU puede leer este registro en cualquier momento para comprobar la cantidad de palabras que ya se han transferido. El valor cero de este registro indica que todas las palabras se transfirieron exitosamenk. cada canal time un par de sefíales de control para señales de solicitud y reconocimiento que est4n conectadas a dispositivos perifkrims separados. S i la velocidad dei perifhrico es mas lenta. Si el registn. la h e a de solicitud DMA puede venir un poco mis tarde. y el prweso continda hasta que se ha transferido todo el bloque. el DMA deshabilita la h e a de solicihd de canal para que la CPU pueda continuar ejecutando su programa. lee el contenido del registro de cuenta de palabras. Un p-doi que comunica eon berminales remotas por teléfono y otros medios de comunicacibn en forma serial se Ilama un procesador de c o m h c i 6 n de datos (DCP). Cada IOP atiende tareas de entrada y salida. Cuando la CPU responge a la intempcidn. puede clasificam como un procesador con capacidad de acceso dirwto a memoria que comunica con dispitivm de E/S. Tambibn informa a la CPU de la terminación mediante una interrupcibn. mediante una transferencia de DMA. una imagen de la pantalla de la t a n h a 1 se conserva en la memoria y puede actualizarse bajo el control del programa. Puede establecerse una prioridad entre los canales @ra que los canales con alta prioridad sean atendidos antes que los canales de priaridad menor. el DMA comprueba la linea de solicitud que proviene del @rico. la línea estarA activa tan pronto como se termine la transferencia previa. 4 11-7 Procesador de entrada-salida (LOP) En lugar que cada interface se comunique con la CPU. Se utiliza para transferencias rApidas de informaei6n entm discos magn&cos y memtF na. eI DMA detiene cualquier transfemcia posterior y retira su solicitud de canal. E1 contenido de la memoria puede transferirse a l a pantalla en forma periódica. una computadora puede inco'p~ar uno o m b p-dores externos y asignarla la tarea de cornunid h c b w n k con todos los d"p0sitiv0~E / S . Un controlador DMA puede tener m6s de un canal. En este caso. En este caso. relevando a la CPU de los "quehacexesdo&tieos" que involucran las mnshencias de E/S. Cada canal también puede tener su propio registro de direcciondento y registro de menta de palabras dentro del controlador DMA. Cuando el periférim solicita una transferencia. Un prr>cesador de enhadasalida (IOP}. de cuenta de palabras llega a cero. .menta de paIabras no alcanza cero. e l DMA vuelve a solicitar los canales. Para un dispositivo de alta velocidad. Despuk se inicia una segunda transferencia. l a transferencia DMA es muy útil en muchas aplicaciones.

Después de que los datos 'se reúnen en una palabra de memoria. . excepto que esta diseñado para manejar los detalla del p t o de E/S. una palabra de salida tFansferida de l a memoria al X O P w ditige del IOP al diqmativo de salida a la velocidad del dispositivo y a sil capacidad de bits. "robar" un c i c l o de memoria de la CPU. E l B Unidad de memorla - 4 Y = enuadasddm WP) m d w de Canal de E/S Figura 11-19 Diagrama de bloque de una computadara con prmesador de E/% Los formatos de datos de ios dispositivos pe&rims difieren de ioe formatos de datos de la memoria y la CPU.El IOP debe estructurar palabras de datos de muchas fuentes difemtes. . .pmwaniierrto de WS E i IOP es sidar a una CPU. El IOP proporciona una trayectoria para traneferencia de datos con diversos dispositivos pmWic08 y la unidad de memoria. se transfieren del IOP directamente dentro de la memoria a). Por ejemplo. el IOP puede buscar en memoria y ejecutar sus propias instn-iccionea Las instrucciones T O P están qecíficamente disefiadas para facilitar las transferencias de E/S. A diferencia del controlador de DMA. puede ser necesario tomar cuatro byks de un dispositivo de entrada y guardarloa en una palabra de 32 bits antes de la transferencia a memoria. lógica. Por b general. La unidad de memoria ocupa una posicibn ~entral y puede comunicarse con cada p-dor mediante acceso directo a memoria. En lo sucesivo el IOP opera en forma independiente de la CPU y contintra transmitiendo datos de dispositivos externos y la memoria. que debe s e r inicializado por completo por la CPU. I m datos se reúnen en el IOP a la veiddad del dispositivo y a ia capacidad de bits mienkas la CPU ejecuta s u propio pmgrama. L a CPU es responsable del prmesamiento de datos necesarios en k solución de tareas eomputaciortales. D e igual manera.kas tareas de pmmmientob como aritmética. la CPU tiene i a tarea de inicializar un programa de E/S. k a n s f e d de control y traducci6n de cbdigo. El diagrama de bloque de una computadora con dos procesadores se muestra en l a figura 11-19. Además. el IOP priede ejecutiir o.

L a secuencia de operaciones puede realizarse como se muestra en el diagrama de f l u j o de la figura 11-20. Las instrucciones que un IOP lee de la memoria en ocasiones se denominan comandos. Este es un ejemplo simplificado que omite muchos detalles operativos para un panorama de los conceptos básims. La CPU hace referencia a la palabra de estado en la memofia para decidir quR hacer enseguida. Se asigna a la CPU la tarea de iniciar d a s las operaciones. la unidad de memoria actúa como un centro de mensajes en donde cada procesador deja información para el otro. A su vez. Las palabras de comando constituyen e l programa para e l IOP. comandos el IOP solicita la efbci6n de la CPU mediante una interrupci6n y responde a la solicitudes de la CPU al colocar una palabra de' atado en una localidad determinada de 1 . 1a CPU es el amo que dirige mientras el IOP es bn pmesador esclavo. Si todo d t á en orden. En k mayorla de sistmas rompuhclo~b81~. En computadoras a mala muy grande.La comurllcacidn entre el IOP y los dispositivos conectados a él es similar al metodo de'transferencia decmtrol del programa. De cualquier manera una instnrccidn y un comando tienen funciones similares. En muchos casos.La CPU envía una instmcci6n para probar la trayectoria de IOP. i a manera en la c u ~se l comunican la CPU y'el IQP depende del nivel de sofisticaci61-1 incluido 'en el sistema. Por ejemplo una eon-dici6n que sobmarga de IOP. cada procesador es independiente de lbs demas p cualquiera puede iniciar una operad6n. Las instrucciones de CPU proporcionan operaciones para iniciar una transfenmcia de E/S y también para probar condiciones de estado de E/S mcesarias para t m c decisiones sobre varias actividades de E/S. Comunlcaci6n CPU-IOP L a comunicacl6n entre la CPU y el IOP puede tornar diferentes formas. para distinguirlos de las instrucciones que lee la CPU.Cuando se desea una oizeracidn de E/S. Los comndos son preparados por programadores experimentados y s e almacenan en I a memoria. E 1 IOF responde al insertar una paIabra de estado en la memoria para que la CPU h compruebe. p r o las instnieciones de E/S se ejecutan en e l IOP. que se examinar4 después. la CPU envía la instruccibn para comenzar . iin programa de la CPU. memoria. Los bits de la palabra de estado Mitan la condición del IOP y d dispditivo de E/S. dependido de la computadora particular considerada. dispositivo oCupado con otra transferencia o dispositivo preparado para una transferencia de E/S. L a comunicación con la mhoria es similar al métcdo de a directo a memoria. La CPU informa al IOP dBnde encontrar los comandos en la memoria cuhdo es hora de ejecutar el programa E/S. Para apreciar la operacibn de un IOP típico. mostraremos un ejemplo especifico del mgtodo con e1 que se comunican la CPU y e l TOF. la C W informa al IOP d6nde encontrar el programa de E/$ y despues deja los detalles de la transferencia a1 IOP.

enviar htmcci6nde inici b E/S al IOP L m el pmgrama IOP La CW continúa . Ambos programas hacen referencia a la memoria mediante una transferencia DMA.La CPU v n d e a la inferrupci6n a l emitir una htnrccibn para leer d estado de1 IQP. Ahora la CPU puede continuar con otro programa mientras el IOP está ocupado con el programa de EtS. El IOP responde al calocar el contenido de s u xeporte de estado dentro de una locaiidad de memoria especffica. aim z Conducir tmmferendaa de E/S usando DMq: preprar reporte de wtado a una pdd4n de memorla para una iraderienda correcta la transferencia de E/S. La palabra de estado indica si ha terminado la transferencia o s i ha ocurrido cuaiquier emir durante eiia. Cuando el IOP termina la ejecuci6n de su programa. ia direcci6n de memoria recibida con esta instniccibn le dice al I O P en dónde encontrar su programa. De . envía uqa solicitud deirikrrupci6n a h CPU.-W~BB del IOP ' ~ z p i o h r tray&rla del IOP r - ~ ~ p ~ f w i r p a h b r de a atado a upa localidad de memoria Si el eetaüo wtil b m .

En ese caso. selector y bloque rnultipIexor. se denomina a n a l . la CPU determina si l a operacibn de E/S ha terminado satisfactoriamente s i n errores. direccidn del canal y diici6n del dispositivo. detener dispositivo. El canal multiplexor puede conechrse a varias dispositivos de velocidad lenta y media y puede operar con varios dispositivos de E/S en forma simultánea. El canal de bloque multiplexor combina las carackkticas de los canales multiplexor y selector. como las diseos magnéticos. Existen t r e tipos de canales: multiplexor. De igual manera. la velocidad de Ia CPU puede deteriorarse porque con frecuencia tendr4 que esperar que el IOP conduzca transferencias de memoria. La CPU puede comprobar el c6digo de condición en k PSW para determinar el resulado de i a operacibn de B/S. También establecen uno de cuatro c 6 d i p de condici6n en un registro de pmsador llamado palabra de estado del procesador (PSW). L a figura 11-21 muestra los formatos de palabra asociados con la operacidn del canal. El formato de instrucci6n de E/C tiene tres campos: c6digo de operaci6n. El significado de los cuatro cbdigos de Canal de WS IBM 370 E l procesador de E/S en la computadora IBM 370 . El T O P y la CPU compiten por el uso de la memoria. probar canal y almacenar identificaci6n del canal Los canales direocimados responden a cada una de las instrucciones de E/S y las ejecutan. cada canal puede estar conectado a varios dispositivos y a cada dispositivo se le asigna una dwcu6n. El canal selector está diseñado para manejar una operacibn de E/S a la vez y se usa normalmente para controlar un dispositivo de alta velocidad. El sistema de computadora puede tener varios canales y a cada uno se le asigna una direcci6n. borrar E/S. E l código de operacibn específica una de ocho instrucciones E/S: iniciar E/S. aIgunas unidades que son riipidas. probar E/S. detener E/S. Una configuraci6n de sistema de computadoras típico incluye vanos canales y cada uno de ello5 está conectado a uno o m á s dispositivos de E/S.completo a diferencia de un canal multiplexor. pueden u t i l i z a r una aprkiable cantidad de los ciclos de memmia disponibles. pero todas las transferencias de E/S pueden c o n d u h en un bloque de da. iniciar envio raipido de Ef S . Proporciona una conexión a varios dispositivos de alta velwidad. La CPU se comunica en fonna directa con los canales por medio de heas de control dedicadas e indirectamente por medio de h a s de almacenamiento reservadas en la memoria. que sólo puede transferir un byte a la vez. Sin embargo.la inspeceibn de ios bits en la palabra de estado. El 1OP cuida todas ias transferencias de datos entre varias unidades de E/S y la memoria mientras la CPU prwesa otro programa. por l o que se h i t a el n b e r o de dispositivos que pueden estar en operación por el tiempo de acceso a la memoria. En la mayoda de los sistemas no es posible saturar la memoria mediante dispositivos de E/S porque la velocidad de estos es mucho menor que la de la CPU.

El campo de clave es un mecanismo de protección utilizado para evitar el acceso no autorizado por parte de un usuario a la información que pertenece a otro usuario o al sistema operativo. El formato de la palabra de comando del canal se muestra en la figura 11-21(c). El campo de cuenta proporciona la cuenta residual cuando se terminó la transferencia. El campo de comando especifica una operación de E/S y los bits de bandera proporcionan Figura 11-21 Reiaci6n de formatos de palabra. especifican si el canal o el dispositivo están ocupados. El campo de cuenta mostrará cero si la transferencia se terminó exitosamente. La diferencia entre las instrucciones iniciar E/S e iniciar envío rápido de E/S es que la última requiere menos tiempo de CPU para su ejecución. hace referencia a la localidad 72 de la memoria para la dirección de la primera palabra de comando del canal (CCW). si hay interrupciones pendientes. E/S de ia IBM 370 a) Formato de instrucciones de E/S Clave Dirección Estado Cuenta b) Formato de palabra de estado del canal Código de comando Dirección de datos Banderas Cuenta (c) Formato de palabra de comando del canal . Pero. Siempre está almacenado en la posición 64 en la memoria. El formato de la palabra de estado del canal se muestra en la figura 11-21(b). si la operación de E/S comenzó exitosamente y si se almacenó una palabra de estado en la memoria por medio del canal. si son operacionales o no. en general. El campo de dirección de datos especifica la primera dirección de un búffer de memoria y el campo de cuenta proporciona la cantidad de bits que participan en la transferencia. El campo de estado identifica las condiciones en el dispositivo y el canal y cualesquiera errores ocurridos durante la transferencia.SECCI~N11-7 Procesador de entrada-salida (IOP) 455 condición es diferente para cada instrucción de E/S. cuando el canal recibe una de estas dos instrucciones. El campo de dirección de la palabra de estado proporciona la dirección de la última palabra del comando utilizada por el canal.

La segunda bandera se activa en 1 en la segunda palabra de comando para especificar "encadenamiento de comandos". Consta de tres palabras de comando.456 c ~ f n n ONCE o Organización de entradaalida información adicional para el canal. El canal le informa a la unidad de cinta que comience a insertar un intervalo de registro en la cinta y avance a leer la siguiente palabra de comando de la memoria. Leer en reversa. Detectar. La priiiíera produce una transferencia dentro de una cinta magnética de 60 bytes desde la memoria comenzando en la dirección 4000. Cuando todas las banderas son igual a cero. como rebobinar una cmta o pasicionar un mecanis. Escribir. Leer. Se usa para iniciar una operación que no implica transferencia de datos. 2. en este caso. Aquf el campo de dirección de datos especifica la dirección de la siguiente palabra de comando que va a ejecutar el canal. El campo de comando corresponde a un código de operación que ]especifica uno de seis tipos de operaciones E/S: 1. Da como resultado la cambinación de 60 bytes de la primera palabra de tomando con los 20 bytes de su sucesor dentro de un registro de 80 bytes. 3. Le informa al canal qie transfiera su palabra de estado de . la cinta. Sic utiliza en lugar de una instrucción de brinco. canal a la localidad de memoria 64. Controlar. 5. Le informa al canal que la siguiente palabra de comando utilizará el mismo dispositivo de E/S. Transferir datos de un dispositivo de E/S a la memoria. aunque se utilizaron dos secciones de memoria. Los 80 bytes se escriben en cintas sin ninguna separación o salto. 6. Leer una cinta magnética cuando se mueve en reversa. Las seis banderas en cada palabra de control especifican ciertas interrelaciones entre las palabras de comando. Las siguientes dos palabras de comando ejecutan una función similak con una porción diferente de la memoria y de cuenta de bytes. Después se escriben los 40 kytes de la tercera palabra de comando en una cinta como un registro separado. 4. mo de acceso a disco. La primera bandera se activa en 1 en la primera palabra de comando para especificar "encadenamiento de datos". Transferir datos de la memoria a un dispositivo de E/S. Transfw'r en el canal. TABLA 11-3 Ejemplo de programa de canal de IBM370 - Comando P Dirección Banderas Cuenta Escribir en cinta Escdbir en cinta Escribir en cinta 4000 6000 3000 100000 010000 000000 60 20 40 . Un ejemplo de un programa de canal se muestra en la tabla 11-3. significa terminar las operaciones de E/S para el dispositivo de E/S particular.

En seguida. Esta palabra contiene la direaci6n inicial del programa de d de E/S. t Un mapa de la memoria que muestra toda la informaci6n -ente para el pcemmiento de E/8 se üus& w la figura 11-22. La operación comimm cuando el propma de la. B1 B/S va después a la posicióo de memoria 72 para obtener una palabra de direación de y a l . d canal avanza a ejecutar el programa es+ficada mediante 1 w paUras de m a n d o de canal.Unidad de memorfa Palabra de estado tiel canal 64 Figura 11-22 PACi6n de la i n f o d 6 n m la memoria operaciones de E/S de ia 1BM 370.O U encuentra una instrucción de iniciar de E/S. E l canal construye iana palabra de estado durante la t r a n s h c i a y la almacena en .

La CPU 8086 inicia una operación de E/S al construir un mensaje en la memoria que describe la función que se va a ejecutar.458 CAP~TULOONCE Organización de entrada-salida la posición 64. operaciones de transferencia condicional e incondicional y posibilidades de llamar y retornar subrutina. El esquema de comunicación consta de secciones de programa llamadas "bloques". IOP de Intel8089 El procesador de E/S Intel8089 está contenido en un encapsulado de circuito integrado de 40 bits. Proporciona una transferencia de datos eficiente entre dos componentes conectados al canal de sistema. Dentro del 8089 hay dos unidades independientes llamadas canales. El 8086 funciona como la CPU y el 8089 como el IOP. ejecuta las funciones de E/S requeridas y ejecuta el programa de canal conveniente. El conjunto de instrucciones incluye instrucciones de transferencia de datos generales. La línea de selección la utiliza la CPU para seleccionar uno de los dos canales en el 8089. el IOP 8089 tiene 50 instrucciones básicas que pueden operar sobre bits individuales o sobre bytes. las cuales se almacenan en la memoria como se muestra en la . excepto que el conjunto de instrucciones se escoje en forma específica para proporcionar un procesamiento eficiente de entrada-salida. En contraste con el canal IBM 370. y notifica a la CPU cuando ha terminado. El conjunto también incluye instrucciones especiales para iniciar transferencias de DMA y emitir solicitudes de interrupción a la CPU. que Intel denomina "multicanal". El IOP puede ejecutar programas de manera similar a la CPU. Cada canal combina las características generales de una unidad de procesador con las de un controlador de acceso directo a memoria. La CPU prepara el área de mensaje y la señala el IOP al habilitar la línea de atención del canal. operaciones aritméticas y lógicas básicas. emite una solicitud de interrupción a la CPU. Cuando ocurre una interrupción. como E/S a memoria. Un sistema de microcomputadora que utiliza el par de circuitos integrados 8086/8089 se muestra en la figura 11-23. Cuando el canal ha terminado su programa. La CPU comunica con el IOP al habilitar la línea de atención al canal. El IOP lee el mensaje. El IOP 8089 lee el mensaje de la memoria. El IOP obtiene la atención de la CPU al enviar una solicitud de interrupción. memoria a memoria o E/S a E/S. realiza la operación. la CPU puede hacer referencia a la posición de memoria 64 para la palabra de estado. El 8089 está diseñado para funcionar como un IOP en un sistema de microcomputadora en donde el microprocesador 8086 se utiliza como CPU. Las dos unidades comparten una memoria común mediante un controlador de canal conectado a un canal de sistema. o sobre palabras de 16 bits. El IOP utiliza un canal local para comunicarse con diferentes unidades de interface conectadas a dispositivos de E/S. que sólo tiene seis comandos de E/S básicos. La CPU y el IOP se comunican uno con el otro al escribir mensajes mutuos en la memoria del sistema.

La dirección del bloque de control se pasa a cada canal IOP durante la inicialización. La bandera ocupado indica si el IOP está ocupado o preparado para ejecutar una nueva operación de E/S. al igual que un apuntador de dirección a su bloque sucesor. Cada bloque contiene información de control y parárnetros. La CPU especifica una palabra de comando de canal (CCW) para indicar el tipo de operación requerida del IOP.sECCI~N11-7 Procesador d e entrada-salida (IOP) 459 figura 11-24. Bloque de control Bloque de parametros Dirección Ti3 m Bloaue de tareas Direcci6n PB Direcci6n de memoria Cuenta de bytes k c i 6 n dispositivo Pista y m o r Estado A de IOP Figura 11-24 Posición de la información en memoria para operaciones de E/S en el sistema de rnicrocomputadora Intel8086/8089. La CCW CPU 8086 4 c 1 1 Controlador de canal 1 - Sistema de canal Unidad de memoria I IOP 8089 4 V Canal local 1 b Interface Ld b Dispositivo de entrada Dispositivo de salida mm3up4 ?\3 rib -' miih U Figura 11-23 Diagrama de bloque del sistema micrpprocesador Intel8086/8089. .

Aquí. El IOP responde a la señal de atención del canal al colocar la dirección del bloque de control dentro de su contador de programa. El IOP hace referencia al bloque de control y activa la bandera de ocupado. 5!i 11-8 Comunicación serial Un procesador de comunicación de datos es un procesador de E/S que distribuye y recoge datos de muchas terminales remotas conectadas mediante el teléfono y otras limeas de comunicación. La dirección del dispositivo especifica el dispositivo de E/S particular que se va a usar. el IOP almacena sus bits de estado en la localidad de la palabra de estado del bloque de parámetros e interrumpe la CPU. El bloque de paráimetros aontiene datos variables que el programa IOP debe utilizar para realizar su tarea. censores digitales o una opción de computación remota. Con el uso de un procesador de comunicación de datos. Entonces checa la operación en la CCW. Cuando se termina la operación de E/S. Los parámetros listados en la figura 11-24 son convenientes para transferencia de datos hacia o desde un disco magnético. la CCW se parece más a una instrucción de E/S que especifica una operación para el IOP. El bloque de tareas contiene el programa real que se va a ejecutar en el Ii3P. suspender operacibn. Una red de comunicación puede contener cualquiera de una amplia variedad de dispositivos. La CPU puede hacer referencia a la palabra de estado para comprobar si la transferencia se ha completado satisfactoriamente. El IOP comienza a ejecutar el programa en el bloque de tareas utilizando la información en el bloque de parámetros. La memoria de dirección especifica la dirección inicial de un buffer de memoria. Los números del canal y sector ubican los datos sobre el disco. la CPU lleria la información en el bloque de parámetros y escribe un comando de "comenzar operación" en la CCW. en el 8089 no tiene el mismo significado que la palabra de comando en el canal de IBM. La CPU y el IOP trabajan juntos por medio de los bloques de control y de parámetros. Después de que se han inicializado bloques de comunicación. Es un procesador de E/S especializado diseñado para comunicar directamente con redes de comunicación de datos. La cuenta de bytes proporciona la cantidad de bytes que se van a transferir. Ce transfieren las direcciones PB (bloque de parámetros) y TB (bloque de tareas) dentro de los registros IOP internos. como impresoras. y parar programa de E/S. como iniciar operación. la CPU continúa con otro programa. la CPU habilita la señal de atención del canal para informar al IOP que comience su operación de E/S. reanudar operación. La CPU obtiene el uso de la memoria compartida después de comprobar la bandera de ocupado para asegurarse que el IOP está disponible. Después.CAP~~W'LO ONCE Organización de entrada-salida 1íIP 1 t . Las entradas en el bloque de parámetros depende del dispositivo de E/S. dispositivos interactivos de exhibición visual. la computadora puede dar servicio a fragmentos de cada demanda de red de manera intercalada y . Después.

Es obvio que e l procesador también debe comunjcarse con la CPU y Ia memoria de la misma manera que cualquier procesador de EIS. Un procesador de coneunicacidn de datos se comunica con cada terminal por medio de un solo par de cabIes. D e esta manera. Este tipo de interface es simiIar a la unidad de interface de comunicaci6n ashcrona presentada en la figura 11-8.SECCI~N 11-8 Cmunimci6n serial 461 por lo tanto tener un desempeño aparente de servir a muchos usuarios a la vez.Un módern convierte las seííales digitales en tonos de audio que s e transmiten por líneas telefbnicas y también convierten tonos de audio de la línea a señales digitales para el uso de la mdquinzi. la computadora puede operar eficientemente en un ambiente de tiempo compartido. dependiendo del mgtodo de transmisibn de la terminal remota.denominan conjuntos de mddem datos. La información de control y de datos se transmite de manera serial con el resulbdo de que la velocidad de transferencia es mu&o máis lenta. L a tarea del procesador de comttnicación de datos es transmitir y recoger informaci6n diiital hacia y desde cada terminal. la lfnea de comunicaci6n contiene s610 10s bits de datos a partir de los cuales debe obtenerse la informacidn de reloj. como 'se muestra en la figura 11-7. Los dispmitivos de alta velocidad utilizan l a transmisi6n slncmna para &tener esta eficiencia. sicopladores adsticos o rnddems (de "modulador-demdulador"). Los convertidores se . debe utilizarse alguna forma de conversihn. Se utilizan varios esquemas de modulricibn al igual que diferentes grados de medios de comunicacibn y velocidades de transmisi6n. Todos los periMricos comparten e l canal común y lo m'& utilizan para transferir información h a c i a y deede el procesador de E/S. Una Línea de comunicaci6n puede estar conectada a una interface síncrona o asíncrona. La sincronizaddn de la secuencia la consigue el . S i n embargo. Un procesador de E/S se comunica con los de datos h i r i i pmiféricos a traves de un canal de E/S común que consta de muchas líneas I de datos y de control. h s módems utilizados en la transmisi611 sincrona tienen relojes internos que se inicializan a la frecuencia que se están transmitiendo los bits en la línea de comunicación. Una interface asíncrona recibe datos seriales con bits de inicio y paro en cada carkter. La manera en que esten conectadas ias terminales remotas a un procesador de comunicación de datos es mediante líneas telefbnicas u otras opcioneg de comunicaci6n privadas o púbIicas. la transmisi6n sírtcrona no utiliza los blts de inicio y paro para delimitar los caracteres y por lo tanto usa el enlace de comunicacibn de manera mas eficiente. s e necesita que los relojes en los rnúdems transmisor y receptor estén sincronizados en todas las ocasiones. La diferencia m á s notable entre un procmdor de E/S y un procesadar procssador de de comunicaci6n de datos es la manera en la que el procesador se comunica comunicad¿n cbn 10s dispositivos de E/S. Para una operacibn adecuada. Como las líneas de comunicacidn ataban diseiradas originalmente para la comunicaciSn de canal y las computadoras se cotrtunican en téminos de señales digitales. determinar si la informacibn es de datos o de control y responder a todas las solicit~desde acuerdo a procedimientos establecidos con anticipaci6n.

en la cual cada carkter puede enviarse en forma separada con sus pmpios b i t s de inicio y paro. Todo el bloque se transmite con caracteres de cm401 -les al comienzo y al final. cada ear6cter tiene un bit de paridad que debe verificar el receptor. L a estación receptora calcula la LRC conforme recibe caracteres y h compara con la LRC transmitida. La interface o terminal en el lado transmisor también utiliza la infomddn de reloj de su m6dem.que ha ocurrido un error durante la trmmisibn si el caracter i m p r e s o no es igual a la tecla que se ha oprimido. @ t e caracter se llama una wmprobaci6n de redundancia longitudml (longitudid r e d d a n c y check.c a m El procesador mcomn 10s caracteres transmitidos del teciado a la computadora y loa retransmite a la impresora terminal. W C i p l e x a dúpiex completa Una h e a s f m p k transmite informa&n s ó b en una d í i 6 n . CRC). Las LRC calculadas deben ser iguaies para que los mensajes no contengan error. E l modem transfiere los datos recibid= junto con ei reloj a l a unidad de interface.de . Otra mCtodo utilizado para comprobar errores en la transmbi6n es la comprobad611 de redundancia cíclica (ciclyc. Ia transmisión s h m a debe enviar un mensaje continuo para mantener h s i n nizacibn. Cualquier cambio de secuencia que puede. & t e tipa de c6digo es conveniente para detectar errores de ráfaga que ocurren en el cmal de comunicacibn.esta manera.ocurrir entre los relojes transmisor y receptor se ajusta continuamente al mantener e1 reloj receptor en la frecuencia del flujo de bits que Uega. Puede detectarse un error al comprobar k paridad en cada cardcter recibido.dundfancy check. LRC) y es h acumulaci6n de las OR exclusivas de todos los caracteres recibidos. Pueden kmmi* datos entre dos puntos en tres modos diferentes: sítnphx. le informa a quien envia que retransmita el mismo bloque de nuevo. A diferencLa de la transmisi6n asincrona. Después de que se envfa el bloque completo. Este es un c6digo de polinomi0 que se obtiene de l o s bits de mensaje al pasarlos a traves de un registro de corrimiento retroalmentado que contiene varias compuertas OR exclusivas. Si el receptor encuentra un error en el bloque transmitido. O t r o procedimiento utilizado en terminales asinmnas en las que interviene un operador humano es escuchar el eco de 1.trans-a de bloqw CRC de W que ocurren en los datos reciiidos. Los caracteres de control al inicio del bioque proporcionan la informaci6n necesaria para separar los bih que 1Jeganen caxacterw individuales.6n de datos p o q w el receptor no puede comunicarse con el transmisor para módem receptor de las fransiciones . E l operador debe darse cuenta . en l a cual se transmite un bloque de caracteres completo. Este modo se utiliza rara vez en comunicaC. se mantiene la misma velocidad dedbits en el transmisor y en el receptor. En la transmisi6n sinmona. De. del bloque. Una de las huicionw de1 psocesador de comunicaci6n de d a b es verificar la presencia de errores de k'ansrnisi6n. E i pensaje consta de un grupo de bits transmitidos en forma seniencial coma un bloque de datos. el transmisor envía un carácter más que constituye una paridad sobre la longitud del m e n s a j e .

asegurarse que todos los mensajes pasen en forma correcta sin errores y manejar todas las funciones de control implícitas en una secuencia de transferencias de datos. Es un código de 7 bits en el que se usa un octavo bit para paridad. los diez ntímeros y una variedad de símbolos especiales. ríi m Protocolo orientado a caracteres El p~otocolooi-ientado a caracteres se basa en el código binario de un conjunb de caracteres. Estos son el protocolo orientado a caracteres y el protocolo orientado a bits. Los caracteres gráficos incluyen las letras maflsculris y minúsculas. El propb sito de un protocolo de enlace de datos es establecer y terminar una conexión entre dos estaciones. Estos caracteres & listan en la tabla 11-4.SECCI~N11-8 Comunicación serial 463 dúplex completo protocolo indicarle la aparición de errores. arreglar la prueba en un formato deseado y para la distribución de la página impresa. Las líneas de comunicación. Cada carácter tiene m código de 7 bits y se hace referencia a él mediante un símbolo de tres . Esto puede lograrse mediante iin enlace de cuatro cables con un par de h e a s diferentes dedicadas a cada dirección de transmisión. Un sistema de transmisión semidúplex es uno que puede transmitir en ambas direcciones pero sólo pueden transmitirse los datos en una dirección a la vez. un circuito de dos líneas puede soportar comunicación dúplex completa si el espectro de frecuencia se subdivide en dos bandas de frecuencia no sobrepuestas para crear canales de recepción y transmisión separados en el mismo par de líneas físico. Una transmisión dúplex completa puede enviar y recibir datos en ambas direcciones simultheamente. de los cuales 95 son gráficos y 33 son de control. de acuerdo a las técnicas de ordenamiento de mensajes. En la tabla 11-1 puede encontrarse una lista de los caracteres ASCII. Los ejemplos de transmisión símplex son la programación de radia y televisión. el papel de los modems se invierte para habilitar la transmisión en sentido opuesto. El código que se usa con mayor frecuencia es el AKII (código estándar norteamericano para intercambio de información). Un profocolo de control de enlace de datos es un conjunto de reglas que siguen las computadoras y terminales interconectadas para asegurar la transferencia de información ordenada. Los protocolos se dividen en dos categorías principales. Los caracteres que rontrolan la transmisión se llaman caracteres de control de comunica&. Alternativamente. Cuando termina la transmisión en una dirección. Una situación común es la de un modem que actúa como el transmisor y otro como receptor. El tiempo requerido para cambiar una línea semidúplex de una dirección a otra se llama tiempo de vuelta. La transferencia de información ordenada en un enlace de datos se consigue mediante un pmfocolo. Los caracteres de control se utilizan para dirigir datos. identificar al transmisor y al receptor. los módems y otro equipo utilizado en la transmisión de información entre dos o más estaciones se denomina enlace de datos. El código tiene 128 caracteres. Se necesitan un par de cables para este modo.

En a t e estada. aunque no se comunique infomaci6n significativa. L . El papel de carActc?r en el control de l a transmisidn de da. La serie continua de bits iniciales que acepta ei receptor se comprueba en busca de un carácter SYN. cuando e l transmisor está desocupado y no tiene ningunos caracteres de mensaje que enviar. Una vez que se detecta un cariícter SYN. ante la acwrencia de un corrimiento circuiar. El car6cter S Y N sirve como un agente de sincmnizaci6n entre el transmisor y e l receptor. Cuando d transmisor empieza a enviar caracte res de 8 bits. el receptor comprueba los tililtimos 8 bits recibidos. envía primero unos cuantos caracteres. un campo de texto y . con cada p h de reloj. Cuando se utiliza el código AXII de 7 bits con un bit de paridad impar en la posicidn m8s significativa. D e ahí en adelante el receptor cuenta cada 8 bits y los acepta como un sólo cadcter. el car6cter SYN asignado time el d i g o de 8 bits OOOlOllO que tiene la propiedad que.464 cAetruLo ONCE Organización de entrada-salida TABLA 1 1 4 Caracteres MQl de conhl de ~omunicacibn Cbdigo S i m S i m ' b o l o Significado Funcibn SYN SOH STX ETX EOT ACk NAK ENQ El3 DZE Iriaclivo sirlaono kricia de enealmado inicio de texto Pin de texta Fin de trammisi6n Reconocimiento Reconocimiento negativo comulta F i n de bloque de transmisibn lhape de enlace de datos Establece sincronismo Encakado de mensaje de bloque Antecede un bloque de texto Termina un bloque de texto Concluye una bansrnisión Reconwimiento afiiativo Reconacimiento negativo Cmsdasilataminaleatáencendida Fin de bloque de datos Cmicter de control ~speciai ~adcter SYU h a s . Esto se repite despuds de cada pulso de reloj y después de cada bit recibido hasta que se reconwe un caracter SYN. y despuhs envh el mensaje real. el receptor comprueba dos caracteres S Y N consecutivos para que no exista i a duda que e l primero ocurri6 como resuitado de una señal de ruido en la iínea. Si no coinciden los bits del carActer SYN e l receptor acepta el siguiente bit y rechaza el bit anterior de orden superior y vuelve a comprobar los riltimos 8 bits recibidos en busca de un cardcter SYN. Por l o general. las dos unidades son sinanas en bits y caracteres. emplea una serie continua de caracteres SYN. En otras palabras.se explica m fomia breve en la columna de fumih de la tabla. se repite a sí mismo &lo despuh de un ciclo de 8 bits completo. o s mensajes s e transmiten por el enlace de datos con un formato establecido que consiste en un campo de encabezado. receptor reconoce estos caracteres como una cmdiión para sincronizar la línea y pasa a su estado inactivo síncrono. Además. El. el receptor ha "armado"un caracter.

Cada carActer. Un formato de mensaje típico para un protocolo orientado a caracteres se muestra en la figura 11-25. &pués de b s caracte~s S Y N está e l encabezado. E 1 último campo es un caracter de comprobaci6n de bloque (block check character. la respuesta es un recanocimiento positivo utilizando eI carActer ACK. CRC). El campo de texto termina con J carActer ETX. En este ejemplo particular. el receptor responde con un cadcter de reconocimiento negativo (NAK). Se utilizan los dos caracteres SYN para. Si la BCC transmitida no coincide con l a BCC calculada por e l receptor. BCC) utilizado para la comprobacibn de error. 1. El encabezado comienza con e l carhcter SOH y continúa con dos caracteres que especifican la d i i b n de la temimi. un campo de compmbacián de error. Los dos caracteres S Y N aseguran la sincmnizaci6n adecuada al inicio del mensaje. se transmite en forma serial como un c6digo binario de 8 bits que consta de un c6digo ASCU de 7 bits más un bit de paridad impar en l a octava posición más significativa. Q caracter STX termina el encabezado y comunica . Cuando la üCC transmitida coincide con la que calcula e l receptor. incluyendo los caracteres de control. LRC) o una comprobaci6n de redundancia cíclica (cyclic redundancy check. La comunicaci6n con l a unidad de memoria y h CPU es similar a cualquier procesador de 'B/S. Ejemplo de kansmisibn Para apreciar la funci6n de un procesados de comunicacibn de datos. es una comprobacibn de redundancia Iongitudinal (longifudinal redundancy check. El carácter STX te& el encabezado y significa e l comienzo de la transmisidn del texto. Por 10 regular. p r o en g e n e d pueden tener cualquier conjunto de dos o mbs caracteres grAficoe. h lobservar este mensaje s e descubre que hay varios caracteres de control que se usan para la formación del mensaje. veamos m d k t e un ejemplo especifico el &todo con d cual se comunican una terminal y el procesador. direcci6n es T4. Un mensaje tipico que podrla envía= de una terminal al procesador se lista en la tabIa 11-5.SYN SYN SOH ñncabezado STX Tato ETX BCC Figura 11-25 Formato de mensaje ítpico para protwolo dentado a caracteres. sincronizar el receptor y el transmisor. ta parte de texto del mensaje es variable en longitud y puede contener malesquiera caracteres ASCII. ES1 receptor acepta el mensaje y calcula su propia BCC. Lo normal es que se intente retransmitir varias veces anks de que se conside que h h e a está defectuosa. El encabezado consiste en uifomauón de direccidn y control. excepto los caracteres de control de comunicaci6n. Despuk eI mensaje se retransmite y se vuelve a comprobar. que comienza con cariicter SOH (inicio de encabezado).

Después de dos caracteres SYN. S i los dos coinciden. Los caracteres individuales para este mensaje no se listan en la tabla porque ocuparían demasiado espacio. El siguiente carkter después de ETX es una comprobación de redundancia longitudinal (LRC). se envia de r e p m a la terminal un reconocimiento positito. el proeesador comprueba la paridad en cada carkter y ta&iQi calcula la paridad longitudinal. e l procesador m o c e el mensaje p * con un c d c t e r ACK. a n a h el mensaje y prepara un mensaje de t a t o para responder a l a solicitud. La CPU envía una instniccih al procewdor de municación de datos para que ende el mensaje a la terminal. Los datos de texto que nos interesan aquí son "solicitar EI balance la cuenta 1234". lo transfiere dentro de la memoria e inkrrumpe la CPU. S i no coinciden ae retorna a la terminal un reconbcimiento negativo (NAK) que iniciaría una retransmisi6n del mismo bloque. E l p m a d o r de comunicación de datos recibe este masaje y avanza a a n a k l o . Cuando la CPU reconme la interrupción. Sin embargo. debe recordarse que cada carActer m el mensaje tiene un código de 8 bits y que cada bit se transmite en forma serial.TABLA 11-5 - Transmisi6ai iípica de una termimi a proceaadar C6digo ShMo SYN SYN Comentarios Primer e c t e r s h n i z a d o Segundo sincxonizado SOH T 4 Inicio de encabezado I a ddrxeccibn de la terminal es T4 Inicio de bans-6n de texto STX ~ ~ de sddo de la cuenta h El texto d enviado BB y soiidtud para responder md sddo de ]a cuenta 1234 1011 m11 O011 o100 1000. m i b e los caracteres. El carácter de control El"X significa la terminación de h c a r a c m de texto. 1234 K m LRC Fin de transmisi6n de texto Carácter de paridad longitudirtal el comienm de la transmisión de texto.0011 O111 OIWIO No. Cada bit en este cadcter es un bit de paridad calculado de todos los bits en la misma columna en la sección de código de la tabla. En i a tabla 11-6 se lista una =puesta pica del procesador a la krminal. La LRC calculada se compara con el carActer LRC recibido. La línea continua inactiva con un carkter SYN Mmtrhs . Si el procesador encuentra que el mensaje no tiene errores. Usa la terminal T4 y almacena el texto asociado con el mensaje.

Mientras el procesador cuida esta terminal. El mensaje de texto informa a la terminal que el balasice es $100. E l procesador amgIa en el formato apropiado el mensaje recibido de la CPU al insertar los caracteres de contro1 n m n m antes y despub del texto. ia wlddad de las k m h a b motas es atmmkwnte h t a en comparación con la ve-d del proce wdor. Esta propiedad permite mdtiplexar a muchos usuario8 para eonsegiiir una mayor efectividad en un -S de tiempo compartido. Se calcula un carActer LEC y se envla a la temiinal. SYN SOH T 4 hllneaestáinacava Iniciodeencabezado L a dirección de la terminal es T4 I n i c i o de transmisi6n de texto STX El twto enviado EY una respata de la computadora proporcionandoel saldo de la cuenta ETX L E Fin de transmisi6n de texto Carácter de pandad longitudid en espera de la respuesta. ce m i t a cierta cantidad de tiempo para recibir y rewiir un d & r de 8 bita Durante esbe tiempo el pmxsador está r n u l t i p l ~ o todas las o t m líneas de comunicadh y atien$e a cada una por hma. también está a p d o procesando otras tenninalea. También permite que muchos usuarioe operen simuitheament mientras w atiende a cada uno de d o s a velocidades comparables a la respwta humana n o d E l protorola orientado a c a r a c m = desam1i6 originalmente para comunicarse con teclados. Camo los se en fomia s e r i a l . El mensaje tiene e l encabezado SOH y l a djreccibn de la tenninal T4. Si la terminal responde con un cargcter NAK.TABLA 116 T W i ó n M p h de p m d o t a temimi SYN SYN ACK SYN Primer cariícter sincronizado cargcter sincconizado E l procesad01 mmmce ei mensaje -o La línea inactiva .. impresora y dispositivos de arhiiirión visual que utilizan Transparencia de datos . d procesador xetransrnite el mensaje.

se han desarroIIado otros protorolo3-para hacer d s eficiente la transrnisibn de datos transpawtes. Si es otro patr6n DLE. el transmisor inserta otro patrón de bits DLE después de él.carbcter RLE &lo caracteres alfanuméricos. rr?lF. por ejemplo cuando dos computadoras remotas envlan programas y datos una a la otra por un canal de comunicaci6n. Esto se debe a que el receptor interpretar8 de manera errónea cualquier patrón de 8 bits que pertenezca a un cargcter de control de comunicaci6n. Lograr la transparencia de datos mediante el carsicter DLE no es eficiente y resulta complicada de implantar. Por ejemplo. Si murre el patr6n de bits DLE OOOlOOOO en la parte de texto del mensaje. LDS mensajes m organhn en un fonnato especial llamado cuadro. se detecta el comienzo de un encabezado del cari5cter doble D E SOH. La transferencia de datos se consigue en b s protocoIos orientados a caracteres al insertar un cariicter DLE {data link escape. Un patr6n de bib arbitrario en e l mensaje de1 texto se convierte en un problema en el protocolo orientado a caracteres. El receptor quita todos los caracteres DL. Después el receptor debe contar la cantidad de bytes recibido6 para Uegar al final del campo de texto. Esta característica requiere que la lágica de reconocimiento de caracteres del receptor se apague para que Ios patrones de-datos en el campo de texta no SE interpreten accidentalmente como informacibn de control de cornunicaci6n. el receptor lo considera como parte del texfo y continúa recibibndolo. Esto sucede. - Protocolo orientado a bits E1 protorolo orientado a bits no utiliza caracteres en su campo de control y es independiente de cualquier o particular. Además . P d t e la transmisi6n de un flujo de bib serial de cualquier longitud sin implicar límites de caraderes. Un protocalo utilizado por Digital Equipment 'Corporatian emplea un campo de cuenta de bytes que proporciona l a cantidad de bytes en el mensaje que sive.E y después comprueba el siguiente paMn de 8 bits. Cuando la longitud de la parte del texto del mensaje es 'variable y contiene bits que se van a tratar sin ninguna xekrencia a algún código particular. el r e q t o r tonía el siguiíente patrbn de 8 bits como un caracter de control de comumicacibn. se dice que contienen datos transparentes. si los datos binanos en la parte del texto del mensaje tiene el patr6n de 8 bits 100M1011. D e otra manera. Conforme se amplió el campo de comunicación de datos# se h a necesario transmitir información biaria que no fuera texto AXII. El protocalo que se ha usado coxr mayor fwmertda para resolver el problema de transparencia (y otros prdblemas asociados con el protocolo orientado a caracteres) es el protocolo dentado a bi'b. Por lo tanto. y el campo de texto se termula con el cadcter doble DLE E I X . escape de enlace de datos) antes de cada cardeter de control de copunicación. Por lo tanto. el receptor interpretar& &te como un car6cter ETX y considerar4 que se ha alcanzado el fin del campo de texto.

La estación que tiene la responsabilidad para el enlace de datos y que emite los comandos para controlar el enlace se llama la estación primaria. Al final del cuadro puede seguir otro cuadro. Se dice que la línea está en estado inactivo cuando ocurren 15 o más números 1 consecutivos. La longitud máxima depende de la condición del canal de comunicación y su capacidad para transmitir mensajes largos sin error. Si no se intercambia información. El campo de comprobación del cuadro es una secuencia CRC (yclic redundancy check. Un cuadro comienza con una bandera de 8 bits 01111110 a la que le sigue una secuencia de dirección . Este Figura 11-26 Formato de marco para protocolo orientado a bits. control de enlace de datos de alto nivel) adoptado por la International Standards organizadon. El SDLC (synchronous data link control. el transmisor envía una serie de banderas para conservar la h e a en estado activo. otra bandera o una secuencia de números 1 consecutivos. Un cuadro debe tener un mínimo de 32 bits er. El campo de información no se limita en formato o contenido y puede tener cualquier longitud. y el ADCCP (admnced data dañmun2catio~contml p~ocedure. control de enlace de datos síncrono) utilizado por IBM. Los protocolos orientados a bits consideran la presencia de una estación primaria y una o más estaciones secundarias.tre dos banderas para alojar la dirección. El HDLC (high-leve1 data link control. Todas las comunicaciones en el enlace de datos son de la estación primaria a una o más de las estaciones secundarias o de la estación secundaria a la primaria. Cuando dos cuadros están uno tras el otro. Los límites del cuadro los determina un número especial de 8 bits llamado bandera.y control. la dirección y el control. la bandera que interviene es simultáneamente la bandera final del primer cuadro y la bandera inicial del siguiente.procedimiento avanzado de control de comunicación de datos) adoptado por el American National Standards Institute son ejemplos de protocolos orientados a bits. un cuadro contiene los campos de dirección. La otra es una estación secundaria. control y comprobación de error. El formato del cuadro para el protocolo orientado a bits se muestra en la figura 11-26. comprobación de redundancia cíclica) que se usa para detectar errores en la transmisión. los campos de comprobación del cuadro.SECCI~N 11-8 Comunicación serial 469 bandera de ocho bits inserción de cero del campo de información. el protocolo orientado a bits utiliza un método llamado inserción de O. Para evitar que ocurra una bandera a la mitad de un cuadro. Se envían algunos cuadros con ciertos mensajes de control sin un campo de información. Cualquier enlace de comunicación de datos implica al menos dos estaciones participantes. Bandera 01111110 Dirección 8bits Control 8bits informacióncualquier cantidad de bits Comprobaci6n Bandera decuadro O I ~ l I 1 1 0 16 bik . La bandera de terminación le indica a la estación receptora que los 16 bits que recibió constituyen los bits CRC.

El receptor siempre quita un O después de una sucesión de cinco números 1. avanza cuando se comprueba un cuadro y se encuentra que no contiene Figura 11-27 Formato de ampo de control en proPorolo orientado a bits. N . Cuando una estad611 s e a m h i a transmite un cuadro. E l campo de control viene en ires formatos diferentes. Se usa un número 1 en el bit menos significativo de un byte para reconocer d último byte de direccibn Despu& del campo de direcci6n esta el campo de control. la dirección le dice a la estacibn primaria cual eshción secundaria originb el cuadro. Despub de la bandera esa el campo de direccih que utiliza h estación primaria para designar la dirección de la estaci6n secundaria. Esta cuenta la proporciona la menta de recibo N. Una wtaci6n que recibe cuadros 8eeuenciados cuenta cada marco sin error que recibe. Como c o ~ e n c i a j.a d s se transmite un paMn 01111110 entre las banderas inicial y final. como se muestra en la figura 11-27. El formato de transferencia de infarmaci6n se utiliza para h transmisi6n de datos ordinarios. Un campo de dirección de 8 bits puede especificar hasta 256 direcciones. Cada cuadro transmitido en este formato contiene cuentas de envio y recibo. La cuenta N. Para hacer esto. Una estacibn que transmite cuadros en secuencia cuenta y numera cada cuadro. se desactiva m O el bit menos sigruficativo de un byte de dwcción si le sigue otro byte de direacibn. Por lo tanto el patrón de bits O111111 se transmite como O l l l l l M y el receptor lo restablece a su valor original al quitar el O que le sigue al quinto nilunero 1. Algunos protmlos arientados a bits permiten que se use un campo de direccidn ampiiado.470 cApfivrx> ONCE W c i d e i de entrada-sabia c a v o de control requiere que la eshcibn que transmite inserte un O despuk de que se sucedan cinco números 1 continuos.Kedhlr menta P/F E -binario tinal / . Esta cuenta la proporciona la cuenta de envío N. Enviar cuenta N.

a la entrad4 CS de la primera unidad de y la sexh llneade diFemdnesiá m& a la entradaCSde la sexta unidadde interface. Mwstre el circuito externo que debe mneetapseentre la direcci6n de E/S de 8 bits de la CPU y las enkadas C$. comunican condiciones preparado u ocupado y reportan errores en la numeracibn de cuadros. el bit P se activa en 1. se u t i l i z a el bit P/F para determinar &do ha terminado la transmisi6n de datos de una estaci6n. A esto le sigue un bit P/F y una recepcibn de menta de cuadro de secuencia. L a estacibn primaria utiliza el campo de control para +car un comando para una estacibn secundaria.13. Se usan para ayudar en la transferencia de infomaci6n porque confirman la aceptacibn de lcs cuadros anteriores que Uevan infonnaci6n. Cada cuadro que envía la estación primaria a la estacibn secundaria tiene un bit de P inactiv~en O. L . a la estaci6n que transmite. pero se denomina F (final) cuando transmite una estaci6n secundaria.errors. Cuando la estaci6n secundaria envía e l último cuadro. . colmar las estaciones en modo desconectado y otras operaciones de control de enlace de datos. 11-1. Sleis unidadea de interface del t i p ~ Q se R mumtra en la figura 11-2 m m c h d a s a una CPU que utilia una dirección de E/S de 8 bita Cada una de las seis entradas dedeceih de inte@a¿o (CS) está conectada a una h de di& diferente. el formato sin numerar porque los dos primeros bits son Se 11.RS1 y RSO de la interface. el campo P/F ae Iiama P (poll. Los cuadros del formato supervisor no contienen un campo de informaci6n. la línea de M ó n de orden superior es& wnectada. activa el bit F en l. reportar errores de procedimiento. después Ia estad& secundaria responde con una cantidad de cuadros en la cual el bit F se desactiva en O. La estaci6n secundaria la utiliza para indicar el cuadro transmitido final. 1 1 2 Las diredones asignadas a cuatro registros de h interface de E/S de l a figura 11-2 son iguales al equivalente bmario de 12. Cuando la estacibn primaria tennina y está preparada para que responda a la estacibn secundaria. La estaci6n secundaria utiliza el campu de control para transmitir una respuesta a la estaei6n primaria. Las cuadros de formato sin numerar se emplean para iniciaIizar funciones de enlace. Por lo m . ' El f b a t o supervisor del campo de control se reconoce porque los dos primeros bits son 1 y O. El receptor mnfinna que se han aceptado los mareos de informacibn numerada al retornar s u cuenta N. Por lo tanto. encuesta) cuando transmite la estacihn primaria. m cinco bits de c6digo disponibles en este formato puede especificar hasta 32 comandos y respuestas. Los dos bits siguientes indican d tipo de comando. La estaci6n primaria utiliza el bit P/F para encuatar a una estad611 secundaria que solicite que inicie la transmisi6n.14 y 15. Por lo tanto.

La línea de reconocimiento de entrada de interface se etiqueta STB (habilitación.. 11-10. 11-8. b. Formule diagramas de temporizacibn para l-ra y escritura utiIizando un pulso de habilitacidn READ y un pulso de habilihci6n WRlTE. periférieos que produzcanuna salida aceptablepara 11-3. Dibuje un diagrama de ternporizaci6n para l a transferencia de reconmia miento mutuo. c. Obtenga un diagrama de flujo de secuencia de eventos para la kademncia del dispitivo a la interface y de la interface a la CPU. Diiujje un diagrama de flujo que d d b a la -enda de operacionew en la parte transmisora de la interface. ¿Cuál es la diferencia. estroboscopio)y la Ilnea de reconocimiento de saljda de interface se denomina IW (buffer de entrada ileno). C.a . Las dos Iíneas de direcci6n de orden menor estan conectadasa las M 1 y RSO de bs seis unidades de interface. .entre E/S independiente y E/S mapeada en memoria? ¿Cuáles son Ias ventajas y desventajas de cada una? 114. 11-5. la interface y e l dispositivode E/S junto w n las hterconexionespertinentesentre las tres HA unidades. Indique si los siguienke constituyen comandos de control. Omitir la siguíente instrucci6n si ~ t activa á la bandera. 2 1 1 7 . Una señal de nivel bajo en Si3 carga datos vi! del canal de E/S dentro del registro de datw de la interface. . . h a . Leer interface de registro de estado. incluya un espacio entre los nombres y un punto despub de una inicial del wgundo nombre. . Dibuje un diagrama de bloques que m e g h e la CPU. 11-4. Comprobar si está preparado el dispositivo de E/S. Buscar cierto tegistm e i una cinta magdtica. -I --" . Proporcione al menos aeis condiciones de estado para la especificación de bits individuales en el regisw de estado de una interface de comdcacibn asíncrona. . Eacrih su nombre completo en ASCn utühndo 8 bits por carsckr y con el bit de la extrema izquierda siempre O. . La interface de eomunieacih asincrona que se muetra en la figura 11-8 está conectada entre tma CPU y una impmra. Una unidad de interface comercial utiliza diferentes nombres para las líneas de reconocimiento a*ciadac con la transferencia de datos del . cuando la CPU envia caracteres que se van a imprimir. Una señal 4 de nivel alto de i3F indica que la interface ha aceptado los datos. de estado o de traasferencia de dabas. l w a . Una CPU con un reloj de 20 Mhz esta conectada a una unidad de memoria cuyo tiempo de acceso es de 40 nc. 11-9. Induya la directi6n en el diagrama de tempari_zau6n. & A dispositivo de E/S dentro de la unidad de interface. IBF va a nivel bajo despues de una señal de Lectura de E/S por parte de i a CPU cuands Iee e l registro de dabs. a. e.d. Determine la direcci6n de 8 bits de cada registro en cada interface. b. Idover papel impreco para %ciar en siguiente página. Liste cuatro dispositiv~s que la comprenda una p w n a . .

Trammisi6n &al asinmons con un bit de alto. Determine un procedimiento para especifiw y limpiar el bit de bandera. ¿Cuál es Ia ventaja bhsica de utilizar transferencia de datos iniciada por InterrupEihsobre la transferencia bajo eI wntrol del programa sin interrup aones? En la mayoría de las computadoras se reconoce una internipcibn &lo despuh de la ejecuci6n de la instnieeih. Transmisibn serial aslncrona con dos bits de alto. $3 bCiffer está lleno? ' c ¿El bilffer contiene dos datos? a. después que e1 dispositivo 2 ha enviado una solicitud de interrupei6n a la CPU. Considere la posibilidad de noxr la internipci6~1 en cualquier momento durante la ejecuci6n de la instnieci6n. a ¿Cuánto tiempo se necesita para llenar un buffer vado cuando m > n? b. Usando la conñguraci6n establecida en el problema 11-16. c.fkujo(similara la de la figura 11-11) parad programa de CPU para sacar datos. b . Se inserta i n h c i 6 n denkm de un búffer FiFO a una velmidad de m bytes por segundo. Muestre un diagrama de bloques similar a la figura 11-10 para la transferencia de datoa de la CPü a la interface y despuds a un dipositivo de E/S. ¿Cuántos caracteres por segundo pueden ixansmiürse sobre una línea de 1200 baudios en cada uno de los siguientes modos?(Considereun &diga de caracteres de ocho bib). Proporcione la secuencia de operaaones internas cuando se borra un dato de la FiFO y se inserta despuh un nuevo dato. salida preparada y los bits de control del F1 a1 F4 en la figura 11-9cuando: ¿Ell y 5 f f e restá vado? b. La información se borra a una velocidad de n bytes por qundo. L a máxima capacidad de bdffer es k by@. a. Transmisidn s&al dincrona.interfaceesta conectada a upia terminal que neeesita un bit de alto? Liste los bib en el registro de paridad niando se trasmite h letra W utilizando ASCII con paridad par. Analice la dificultad que puede surgir.F$JQ = 0011. ¿Qu& sucede en i a interrupcibn de prioridad de lazo de margaritas que se muestra en la figura 11-12cuanda el dispositivo 1 soiicita una interrupción. pero antes de que la CPU responda con el reconocimiento de interrupci6n7 . ~Cuálw son los vakres de entrada preparada.Problemas 473 tCdnt& bits hay en el registro de oorrimiento transmisor de la figura 118 cuando la . obtenga un diagama de. ~Cudnta tiempo se necesita para que se vacíe un búffer lleno cuando m < n? c ¿Seneeesifa el brlifkr FIFO s i m = n? L a s bits en el registro de control de la FZtY)que se muestra en la figura 11-9 son F.

La CPU recupera y ejecuta instrucciones a una velocidad de un rnill6n de instrucciones por segundo. ¿Por q d son bidhccionales las líneas de conkm1 de lectura y escritura en un controlador DMA? ¿Bajo qu& condiciones y para qu& propósito se utilizan como entmdas? @ajo qu& condiciones'y para qué propósito se usan como salidas? 11-28.77. Las palabras se. mb .J t h -A - 11-21. ¿Cuáles pasos de programaci6n se requieren para comprobar cuando una fuente interrumpe a la computadora mientras todavía está siendo atendida mediante una solicitud de interrupei6n previa de la misma fuente? 11-27.que describa la comunicación de canal CPU-E/S en la IBM 370. . Considere que las t r e s q z del codificador de prioridad se utilizan para proporcionar una d i d d n de vector de la forma 1 0 1 w .Explique e6mo puede establecerseuna rioridad en el programa de servicio 'm -4 de intemipri6n.robe de ciclo. I a transferencia es mediante DMA. ~Porqug kamfereneia de memoria? 11-31. 11-23.derive las expresiones booleaw listadas en la tabla 11-2 para el edificador de prioridad. . Obtenga la tabla de verdad de un d%cadorde prioridad 8 X 3. ~ Q u 4 debe hacerse en la figura para hacer que los cuatro valores VAD sean iguala al equivalentebinario de 76. Prupotelone los valore inicialesque debe transferir la CIW al controlador DMA. como se muestra en la figura 11-18. a. Es necesario transferir 256 palabras de un disco magnético a una seccibn de memoria que comienza en la dirección 1230. Liste las ocho direcciones de vector. -m 0 * . 11-32 L a direcci6n de una terminal conectada a un procesador de comunieaci6n de da& ronda de dos letras del alfabeto o una letra y uno de diez números. una cimiitería de interrupcibn de prioridad paralela para un sistema -w con ocho fuentes de interrupcibn m r m t i l 11-24. . 11-29. Un controlador DMA transfiere palabras de 16 bits a la memoria utilizando el . Dibuje un diagrama de flujo similar a la de la figura 11-20. i C ~ h t a direcciones s diferentes Pueden formularse? 6Y .e ~ u ltL1 a la entrada de las primeras dos palabras. Dibuje el diagrama lúgico del circuito. comenzando con la de más alta prioridad. 11-25. 11-22 Utilizando técnicas de disefio de c h u i b s mmbinacionales.Gwisidere una computadora s i n eircuitería de interrupci6n de prioridad.78 y 79 11-26.a una rutina de intwrupci6n común.ensamblan de un dispositivo que g i trasmite caracteres a una velocidad de 2M0 caracteres por segundo. Cualquiera de muchas fuente3 puede interrumpir a ia computadora y cualWW-1 &quier solicitud de inhrupcibn da como resultado e l aimacenamiento de la d d b n de retorno y la transferencia . Propbcione la cuenta paso a paso de las acciones que se toman durante I1 . ¿Cuánto se frenara la CPU debido a una transferencia DMA? el DMA tiene prioridad sobre la CPU cuando ambos solicitan una 11-50.

y F. 2a. PoUard. Compufer Arckitechre: A Quantifatizre Appoach. Nueva Ymk JohnWiley. S . J. Briggs. 2a. 1134. Gorsline. F . W e r n Computer Archikhcte. . L a terminal responde sl o no. Un erúace de comunicación de datos emplea el ptmolo controlado por caracteres con t r a n s p a d a de datos.Chandra. H . 1988. MN: West Publishing. 3. utilizando el ear&ckr D L B . 1985. Nueva York: McGraw-W. 11-35.A. y B. 8. Nueva York McGraw-m. K.en e l protocolo orientado a bits.A. Hwang. Liste un procedimiento de linea y la meentia de caracteres posibles para la comunicaci6n entre un proeesador de comunicacibn de datos y una terminal remota. Compukr Vesign md Ardiitactuw.. Nueva York: JohnWiley. 1 9 8 7 . NJ: Prentice Hall. 1. . 1 9 9 0 . 1 0 . E l mensaje de texto que envía el trasmisor entre SiX y FIX es como sigue: DLE S T X DLE DLE ETX DLE DLE ETX DLE ETX cuál es el valor binario de los datos del texto transparente? ¿Cuál es la cantidad mínima de biis que debe tener un cuadro en el protocolo orientado a bits? 11-36. 1 1 .A. S t . 1 9 9 0 . y J. DigItaI Systm: hlnrdware Orgatiktion and Design. . R a f i q m m n . San Mateo... 1970.d. A. . 1981. Hemessy. cuando se trasmite un cero seguido