P. 1
ARQUITECTURA DE COMPUTADORAS.pdf

ARQUITECTURA DE COMPUTADORAS.pdf

|Views: 2.583|Likes:
Publicado porYair Magaña

More info:

Published by: Yair Magaña on May 16, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

07/01/2015

pdf

text

original

'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

Bmth 372 Sobreflujonldividk 374 Algm'lmo hardware 375 m signo Otros algoritmos 10-5 rfe W . 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 . 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' . W! Suma y m t a 395 CL Multipliuwión 397 Diarisidn 399 Opacimres & punto flPtante 4~ Problemas Referencias & . 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. .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 .. t .

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.~~ 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. de RAM y de ROM 481 483 Mapa de direcci6n & memoria . 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.eremh D2MA 448 11-7 h c e a d o r de entrada-salida (iOP) Comunhci6n CPU-IOP .

.--.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.cnché 503 Inicklizacibn del. . 489 & i --' U4 Memoria asociativa 2 Organización de l u circüitmía 490 ~1-i ?. l . 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 .ciotzpmiento y espdí5u de mm.. 12-3 '6 m e .. -4 Multipmcesadores 13-2 Características de multiprocesado~5rnichir. -.dm --+ 1 .Memoria auxiliar 1 q..s de interconixi(in Caml común de tiempo compartido E528 531 .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- .=-=a . Discos mpéflcos Cinta mugtdticn .ca& 504 + +' " ' 1 ' : I\ -.i Ugim dr c&ncLiniM 492 m ~ c i & nde t Ieclura 495 Operacián de esmmSura 495 ' . 126 12-7 Memoria virtual Espacio de direc.

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 .

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

los circuitos combinatonos y secuenciales. Aunque 3a computadora es aericilIa comparada m las mmputadoras comerciales. 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. 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. 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. . la computadora bhica utiliza el mismo conjunto I . % ! definen SfmboIcxs paza microoperaeiones aritméticas. sin embargo. El capitulo 2 explica en detalle la aperaci6n iópca de los componentes digitah más m u n a incluye decudifndofes. 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 . alguna expiencia en la progromacin de lenguaje ensamblador con unn miuncomputadora facilitar&Ia comprwisi6n del material.P iones y las mciones ae conrroi en fonna simb6lic. lbgicas y de corrimientu. m E 1 CapihSh 5 p m t a la organización y e l d i o de una computadora digital básica.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. no obstante. El capitulo 3 muestra cómo se repmmtan en forma binaria b s diversos tips de datos que se encuentran en las computadoras digitales. 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 . 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. en los qistroe de l a computadora. Cubre el Algebra booieana. abarca suficientes posibilidades funcionales para mostrar la capacidad de un dispodtivo de propbsito v a l con programas almacenados. 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 .

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

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

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

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

t i ' L 1 . 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. 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. El hardmre de la computadora se divide por lo general en tres grandes partes. E l tema se considera a veces desde tres diversos puntos de vista. varios registros para almacenar los datos y cirmitos de control para leer de la memoria y ejecutar instrucciones. randam access memory) por la CPU puede accesar cualquier parte de la memoria en forma aleatoria y recuperar la infonnaci6n binaria dentro de un intervalo fijo. El softwam del sistema es una parte hdispe~l~able del sistema total de la computadora. es costumbre distinguir entre lo que se refiere a la organizacihn de computadora. La memoria de la computadora almacena las instrucciones y los datos. terminales. La unidad central de procesamiento (CPU. 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. Su funcibn es compensar las diferencias que existen entre las necesidad. central processing unit) contiene una unidad aritmdiica y 16giea para la manipulaci6n de datos. impresoras. dependiendo del interés del investigador.S E C C ~ ~1 N 1 Computadores digitsles 3 orgaeizaci6n de la complrfadora nible necesario para k operaci6n eficaz de la computadora. Cuando se trata del hardware de la computadora. Se supone que los diversos componentes están en su lugar y la tarea es investigar la estructura organhciond para verXcar que las partes de la computadora funcionen como se proponfaFigura 1-1 Diagrama de bloque de rina mmput%doradigital. Lcw dqositivos de entrada y salida conectados a la computadora incluyen teclados. E l procesador de entrada/salida (XOP. su diseño y arquitectura. como se muestca en Ia figura 1-1. Se le llama memoria de acceso aleatorio (RAM.del usuario y la &pacidad de1 hardware.

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

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

* . * e". ?=(m+ P xm A'B'+AB Figura 1-2 CompuertasMgicas digitales. OR A B - x=A+B 3 1 0 m tnwm Buhr A+-. #=A NAND 0 B x x = [AB)' .m U N Cirmib de lsgiea digital Shhh Nombre @ ! Fuaci6a dgebrnb Tabla tde wrM ANP nx ". . .* .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 ."" x a'AB $.

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

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

La identidad 14 no s6 aplica en el 4igebra ordinaria.C'D + AB' + C'D Si x = AB' CD. Análogamente. Andlogamente.la expresi6n puede escribirse como x + x. t a s identidades 15 y 16 se llaman teoremas de DeMorgan.Por esta raz6n las compuertas NOR y NAND tienen dos distinb shbolos grS~cos. En lugar de representar una compuerta NOR con un simbolo g r & OR (O)seguido de un circulo. 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. que representa la funcibn (x + y)' ea equivalente a la funcih x'y'.Las siguientes cinco identidades (9 a 13) son similares a las del algebra ordinaria. La última identidad afirma que si una variable se complementa dos veces. una funci6n NAND puede expmrse por o ($ + ?J). . considere k siguiente expmidn algebraica hleana: AB' 4. pero es muy íttil en la manipuhción de expresiones hleanas.como se muestra en las *ra 14 y 1-5. 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. 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. que se tratan abajo. uno obtiene el valor origina1 de la variable. podemos reprexatarlo por un simbofo gráñco AND precedido de clrculoa en todas sus entradas. El sfmbolo AND invertido para la compuerta NOR se sigue del teorema de DeMorgan y de la convenci6n de que los &culos pequeiíos denotan mpI&entaci6n. De la identidad 5 de la tabla 1-1 encontramos que x + x = x. Por ejemplo.

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

~= . 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. 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. Como un ejemplo.T. p r o la funci6n puede aparecer en muchas formas difermtes cuando se expresa algebraicamente. El mgtodo de WI . 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. 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. m p * L . 1-- . 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. ' f x. Sin embargo. considere la siguiente expresibn y su complemento 1 Y . Los dos circuitos son equivalentes y producen la misma relaci6n de tabla de verdad entre las entradas A. B. La expresión puede simplificarse por medio de las relaciones bAsicas del Algebra booleana. el complemento de una función puede derivarse por medio del teorema de DeMargan. ta represen'tacibn de la tabla de verdad de una M 6 n es Cinica.. C y la salida F. ) x. Note que el complemento de C ' es C .la figura 19(a).+ A- F = AB + C'D' + B'D F'= ( A 1 +B')(C + D)(B t D') *-a. 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 . mapas proporciona un procedimiento sencillo y directo para simplificar las b expresiones h1eanas. . + xj + x. . Cuando la funci6n se expresa en forma algebraica. 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.

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

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

6). C)= Z (O. A i ~ A . C) = E (3. * A L baww Figura 1 4 Mapa para F ( k B. 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'. cada cual para los términos n . Estos cuadradoe pertenecen a los os minimos 3.Hay cuatm cuadrados marcados can ntuneros &os que produce un 1 para la M b uno.En el primer ejemplo simplificaremos la funcibn booleana E i mapa de tres variables para esta funci6n se muestra en la figura 1-8. 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 . Esta columna pertenece tanto a B come a C y produce el término BC. 2. C 67). 8. 4.5.4. asl que producen el término AC'. Los cuadrados wtantes marcados con 1 prbme~ ~ L 1 ~ * ~ c . I h cuadrados adyacentes se combinan en la tercera columna. 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'. ~ c d l d l i i . . - r p m** dul . . - figura í-9 Mapa para F(A. 6 y 7 y se reconde la figura 1 7 @ ) .

9.& 6.G. 1 . Esto ee rpodble porque esto8 cuatro cuadrados m adyiteentes cuando el mapa se consWera con las orillas superior e inferior. El 1 *stanhen el cuadrado del tremitto minitn~ 6s e combina con el término mInimo 2 para dar el término A'CD'. Con una rnodificacibn menor. P.8. 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. Las sumas son tbrminos O R y el producto denata el'AND de estos términos.10) m el mapa cubierta por esta función de cuatro variables comiste de las madrados marcados con unos en la figura 1-10. dan el t4rmUio B'D'.10).SCUdN 1 4 Simpliiicacióri por mapas 15 . El prucdmiemto para obtener h exptesión He producto de sumas se sigue. D)= C (O.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'. 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 ' . tomados como grupo. C. Algunas veces es conveniente obtener f expresibn d@aira' para la función en una forma de producto de suma.8. La funci6n contiene unoe en las cuatro esquinas que. D)= Z (O.2 6. 1.C e 4 i 1 r a F = BID' ~ + B'C' + A'CD' . la forma de producto de sumas puede obtenerse de un mapa. Lrw h5rminos de productos son tdrmincris con AND y la sumde116ta el 08 de estos términos. = C' + a'' El Wrcer ejemplo necesita 'unmapa de cuatro variables. de Ias propiedades básicas del AIgebra bmlieafiaiL Los unos del mapa Figura 1-10 Mapa para F(A. izquierdh y de& toedndose. P(A. . B. ta funci6n simpmcada es 9 El 4.9..

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. Si marcamos los cuadrados vacíos con c e m ~ y lo^ combinamos en grupos de cuadrados adyacentes. F. Tornando el complemento de F ' produce una expresibn para F en la forma de producto de sumas. como se muestra en el diagrama.complemento de F ' . expresión de suma de productos se implanta en la figura . t " F' = AB + CD + BD' Toman& el. obtenemos la funci6n complementada simplificada: a4 . Los cuadrados no marcados con 1 representan los h r ú n o s mínimos que producen O para la funah. 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. &tenemos la funci6n simplificada en la hfrna de producto de sumas: F = (A' + B1)(C'+ D1)(B' + DI b .representan los t h h o s minios que prcdueen 1 para la funci6n. 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.

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

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

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

m variables de d d a Rgura 1-15 Diagrama de bloque con circuito comb'mbria maci. La tabla de verdad enumera los valores biarios de salida correspondientes a cada una de las 2' combinaciones de entrada. 3. 4. Si el circuito digitai va 'acompaiiado de una explicacibn verbal de su funQ6n. Se traza el diagrama 16gico. Estos circuitos sirven como b8sic~ de ~ construcción para ciscuítos a r i t d b s más complicados. 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.las funciones booleanas simplificadas para cada salida. 5. Se obtienen. Se deriva la tabla de verdad que define la relacidn entre entradas y d a s . El dxioo de tai investigación se realiza si uno tiene experiencia y familiaridad con circuitos digitales. las funciones booleanas o la tabla de verdad es suficiente para la verificacibn. Si la funclbn del circuito eskl en hvetigaci6n. Cada función de salida se expresa en términos de las n variables de entrada. Se establece e1 problema. A - - Para demostrar el M o de h c i m u b combinatorios presentarnos dos ejemplos de circuitos atitm&ticossimples. 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. 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. . 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. diseño El d k d o de &mito&combinatorios parte del planteamiento verbal del problema y termina con iin diagrama de cirruito lbgiro.una pot cada variable de salida.M S . es necesario interpretar la operación del hito a partir de las funciones booleanas derivadas o de la tabla de verdad. El procedimiento comprende h a siguientes pasos: C 1. 2 Se asignan símbolos literales (letras) a las variables de entrada y salida.h binaria de los datos de entrada dadm a los datos de salida requeridos. Un circuito combinatorio puede-se tambh con m funciones booleav ~ G .

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

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

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

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

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

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

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

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. 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. al nivel fiiegativo del re1. Este tipo de circuito consta de dos flip-&s.q. Q(t) y Q(k i.1) y wia columna para cada entrada para mostrar cómo se alcanza la transici6n requerida. La tendenaa es alejarse del uso del fiip-flop mo-esclavo y acercarse a los flipflops disparados por el flanco. 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. TABLA 1-3 Tabla de excitación para cuatro Eiip-flopc *OOP JK Flip-fiop T . i m fiipflops disponibles en c h i t c s integrados proporcionarh a veces terminales de entrada dca. Fa tabla 1 3 enlista las tablas de excita& para lm cuatro tipos de flipflop Cada bbia consta de dos oolumnas. 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. TabIas de excitacibn Las tablas caracteristicas de los flip-Aóps especifican el estado siguiente cuando se conlas entradas y el estado presente. Hay cuatro transiciones posibles del estado presente Q(t) al estado siguiente Q(t + 1 ) . Estas entradas son útiles para llevar los fiipflops a un estado inicial antes de su operación cronornetrada. 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 .

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

salidas externas y estados b W o s de los flipflop intemm.compuertas OR y el inversor forman la parte I&gicacombinatoria del circuito. en la figura 1-25. La primera letra de cada símbolo denota la I I L t l + q a m -- eeuaddn de entrada . Así. 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. ni'm d d ~ E-cuacioneede entrada de los fiip-floppUn ejemplo de un circuito secuencia1 se muestra en la figura 1-25. Las compuertas AND. tenemos dos ecuaciones de entrada) daignadas DAy ag.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. una variable de salida y y dos flipflops D cronometrados. 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. Tiene una variable de entrada x. Adoptamos la n o m a de usar eI &bolo de entrada del fipflop para d.

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

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

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

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

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

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

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

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

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

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

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

i m componentes electrónicos para las compuertas digitdes. liamado m ~ ~ ' t que o contiene . Las diversas compuertas se conectan dentro del microcircuito para formar los circuitos requeridos. el número de compuertas que pueden fabricarae en un solo rnicrocircuito ha aumentado consideqablemente. Conforme la tecnología de Ios circuitos inwgrados va mejorando. La diferenciación entre los micmcircuitos que tienen ' m a s cuanlas compuertas internas y aquellm que tienen cientos o . Cada CI tiene una designad611numérica i m p m en la superficie del paquete. El microcircuito ce monta en un encapsulado de cerhica o de pldstico y las conexiones se sueMan con finos alambres de o r o . Un circuito intqpdo (abreviado C I ) es un pequefio cristal de silicio semiconductor. 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. 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.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. para su identificaci6n.

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

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

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

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

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

Condiciones similares se aplican las otras dos salidas.+ D64-D. Un ejemplo de un codificador es e l eodificador de octal a binario. h salida es A. una para cada digito &al. Las heas de salida gmeran un c6digo binario correspondiente al valor de entrada binario.+ D. de otra m e r a . 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. 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. . 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.. = 1 ' el dfgito oml de entrada es 1 o 3 o 5 o 7. Un codificador tiene 2" (o menos) heas de entrada y n Iheas de salida. El codificado? puede implantarse con compuertas O R (O) cuyas entradas s e determinan directamente de l a tabla de verdad.+ D. pero con m6s entradas y salidas. Codificadores Un codlficador es un c h i t o &@tal que ejecuta Ia operacidn inversa de un demdificador. i D. Estas condiciones pueden expresarse por las siguientes funciones booleanas: e m i s r& ~ . cuya tabla de verdad se da en la tabla 2-2.= A. el circuito no tiene significado.Figura 2. T i e n e ocho erttradas.r e A.+ D. * El edificador puede implantarse con tFes compuertas OK.

Las salidas de las compuertas AND. lo que hace sus salidas iguales a O. U n a tabla de verdad que describa al circuito necesitará 64 renglon~. Un muitiplexor de 4 a 1 h e a s se muestra en la figura 2-4. Cada una de las cuatro entradas de datos de Io a 1% se aplica a una entrada de la compuerta AND. se aplican a una compuerta QR única para proporcionar la salida iinica. Esta es una tabla excesivamente larga y no se mostrará aquf. 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.de entrada y la dirige a una h a de saiida Cinica. Una manera más practica de describir el funcionamiento de los multiplexores es por . 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 . considere el caso cuando S1S2 = 1 0 . Para demostrar e l funcionamiento de1 circuito. Las otras tres compuerbs AND (Y) tienen por lo -08 una entrada igual a O. 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. La salida de la compuerta OR (O) es ahora igual al valor de proporcionando asl un camino desde la entrada seleccionada a h salida.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. Las dos entradas de selmi6n SIy So se decodifican para seleccionar una compuerta AND particular. La tercera entrada de la compuerta se conecta m 1.

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

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

Un registro es un grupo de fip-flops. Los flipflops retienen la infonnacibn binaria y las compuertas controlan cuándo y cómo se transfiere la nueva informaci6n ai registro. La figura 2 4 muestca tal registro construido con cuatro flip-flops *e ---D. un registro consta de un grupo de flip-flops y compuertas que efectúan su transieibn. l l r d-Además de los fiip. sin compuertas m x k m a s . 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.Amacenar un bit de informaci6n.. En su definici6n más amplia. . un registro puede tener compuertas combinatorias &que ejecuten ciertas tareas de prwaamiento de datos. Divmw tipos de registros están disponible6 en el comercio.flops. El registro más simple es aquel que a compone sólo de flip-flops. donde cada flip-flop es capaz de . 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.

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

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. La configuracidn 16gica de un registro de corrimiento consta de una cadena de flip-flops en cascada. con .¿ 13 M o f Figura 2-7 Registro de 4 bib con carga paralela.

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

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

í. serial.tansmite .~ mbces e I dato desde la &ea de salida 'acep'bard datO en f m a serial en e l registro de desplazaI d. r n 4 ~u o h una d d h e a .. Puede ser más .y transmitir la informaci6n en forma serial un bit cada vez.* -. Cuando la totaiidad de los n -.r . tra&&tir n bits en paralelo. w .m usar n 1 para.. 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 ~ .. E l miento a trav&d& su:Iínea de entrad.costo . .

de O a T . 0011. la cuenta binaria de O111 (7)a 1000 (8) se obtiene (a) complementando el bit de menor orden. M301.Lis entradas C de todos los flip-flops reciben el . (c) complemaitando el bit de tercer orden porque los primeros dos bits de O111 son unos. como 0000. La salida de un flip-flop no cambia si J = K = O. 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. y así.bits se acumula pueden tomarse de las salidas del registro . y (d) compIementando el bit de cuarto orden porque los tres primeros bits de O111 son todos . 0010. Pueden ocurrir a intervalos regulares o akatoriamente. 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.enparalelo.1. Los contadores binarios shcronos tienen un pamn regular. 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. Por ejemplo. tos p u h s de entrada pueden ser pulsos de d'oj o pueden originarse de una fuente externa. @) complementando el bit de segundo orden porque e l primer bit de O111 es 1 . la secuencia binaría directa ks ia más simple y Ia más directa. 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. 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. Un circuito 'contador empleará usualmente flip-flops con capacidades complementarias.unos. Así. 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. 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. Además. como pue'de verse en l a figura 2-10. 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. U n contador que sigue la secuencia de niuneros binarios se llama contador binario. Pasando a través de una secuencia de números binarios. sucesivamente. Tanto los fiip-flops T como JK tienen esta propiedad. Los contadores se encuentran en casi todos 10s equipos que contengan 16gica digital. 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. De las diversas secuencias que puede seguir un contador.

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

para las entradas 1 y K. La figura 2-11 muestra el diagrama 16gico de un contador binario que tiene una capacidad de carga en paralelo y que tambikn. En capítulos subsiguientes nos referimos a ellos como registros con operaciones de carga e incremento. El control de carga de entrada. 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. cuando es igud 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. aun cuando se apliquen pulsos a las terminales C . borrando así todos los flipflops con la siguiente transicibn de reloj.puede borrarse a ceros en-sincroníacon e l reloj. 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). 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 . 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 . las salidas no cambian. . el contenido de un registro pude incremhtarse en uno. Con ias entradas de borrad?. el circuito funciona como un contador binario. pero la entrada de incremento puede ser O o 1 . La operación de inmmmfo suma uno a l contenido de un registro. Si las entradas de carga y de borrado son ambas O y la entrada de incremento es 1. con tal de que el borrado se deshabilite. tos datos de entrada se cargan en los flipflops =do la entrada de control de drga es igual a 1.E i registra se borra a O sin que el control de borrado considere los valores de las entradas de carga e incremento. teniendo cada etapa un flip-flop adicional y una compuerta a AND. B1 funcionamiento del circuito se resume en la tabla 2-5. El acarreo de salida sirve para extender el contador mis etapas. carga e incremento todas en O. Si las entradas de borrado y carga se mantienen en O 16gie0.

.

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

y las n lineas de datos de d d a proporcionan la informaci6n que sale de la memoria. ~ ' . 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. Al aceptar una de estas señales de control. Un diagrama de bloque de una unidad RAM se muestra en la figura 2-12. Las n h e a s de entrada de datos proporcionan l a infonnaci6n que se va a almacenar en la memoria. Activar la entrada lechrra. Activar la entrada de .* 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 . Los pasos que deben realizarse para sacar una palabra almacenada en la memoria son los siguientes 1. Los pasos que deben seguirse para que una nueva palabra se almacene en la memoria son los siguientes: 1. 2 .a C M ~ O Componentes digitales operaciones tik lecturaY de control que especifican la dirección de la transferencia. ! . Las dos operadmes que puede ejecutar una memoria de acceso aleatorio son la lectura y la escritura. Las dos entradas de control especifican la direcci6n de transferencia que se desea.! t J ~ ~ 3 . Aplicar la direccibn binaria de la palabra deseada a las líneas de dirercionamiento. 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. Y la &al de lectura e6pedica una opexacibn de transferencia de salida. la efial de escritura especifica una operacibn de transferenda de entrada. Aplicar los bits de los datos que deben almacenarse en la memoria a las lheas de entrada de datos. . l o s circuitos internos de la memoria proporcionan la funcibn deseada.escritura. A. Aplicar la direccibn binaria de la palabra deseada a las Uneas de direccionamiento. Figura 2-12 Diagrama de bloque de memoria de acceso aleaborio (RAM).

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

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. Cuando se emplea en un sistema de computadora como una unidad de memoria. Una unidad de control que utiliza una ROM para almacenar información de control binario se llama una unidad de control rnicroprogramada. se realiza por la compafiía que produce el semiconductor durante la parte final del proceso de fabricación de h unidad. lo cual hace que aparezca un grupo de números 1 en todos los bits de las palabras almacenadas. puede complementar cualquier circuito combinacional con k entradas y n salidas. 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. El fabricante. Cuando se hace un pedrdo con estas condiciones. De manera basica. Por esta radn. 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. Un fusible fundido define un estado O binario y un fusible intacto da un PROM .llamada memoria de sólo lectura programble o PROM. Como tal. Los fusibles de las PROM se funden al aplicar pulsos de corriente por Ias terminales de salida de cada direcci6n. Las ROM tienen un amplio campo de aplicaciones en el diiño de sistemas digitales. Una ROM también se emplea en el diseño de unidades de control para computadoras digitales. De hecho. de acuerdo con la tabla de verdad del cliente. La primera. una ROM genera una relación entradasalida especificada por una tabla de verdad. programacidn por mascnrilla. 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. las unidades PROM tienen todos sus fusibles intactos. 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. Tipos de ROM tos programas o datos que se requieren en una ROM pueden programarse de tres diferentes maneras.hace la mascarilla correspondiente.bits de la palabra seleccionada par el valor de direcci6n. con el fin de producir un grupo de unos y ceros. 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. 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. El procedimiento para fabricar una ROM requiere que el cliente llene la tabla de verdad que desea que satisfaga la ROM. Como tal.

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

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

Ward.Computatimr Struclwra. C. 5 . . 1988. Carnbridge. . Peterson. 1 9 9 1 . 3a. 2. . 2-19. 1990.. Halstead. R. S . S.A. 7. 2-18.M. Una ROM de 4096 X 8 bits tiene dos entradas de habilitacibn y opera con una alimentaci6n de 5 volts. 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. 1990. 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. 3. MN:West Publishing. . . lnlroductim to Switching Thwry and Loglcal Decip. Dkital D e s i . 8: Scott. y R. 4. 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.2-17. ~Cuintas líneas de direccionamiento y b a s de datos entrada-salida se necesitan en cada caso? a) 2K X 16. Mano. H. Jr. Shiva. 2-20. Foresman. Fumhmkil of Logic D e s e . 1. Digital Design Principia md Practices. Nueva York: McGraw Hill. F. NJ: Prentice Hall. . y G. 2981. 2-21. Especifique la cantidad de bytes que pueden aimaccnarse en las memorias que se enlistan en e l problema 2-19. H .ed. Wakerly. 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. Nueva York JohnWiley. MA:MiT Preas. F ..d) 4G X 64. c) 16M X 32. J. G.. 1990. ed. ~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. Roth.R. 2-22. 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. Englewwd Cliffs. tnfroduction to L q i c Desip. 2-23. muestre las conexiones externas necesarias para construir una ROM de 128 X 8 con cuatro C I y un decodificador. S t Paul. 6. b) 64K X 8. Utilice un diagrama de blque para cada contador de cuatro bits.S . por qmplo. Engle-wmd Cliffs.ed. 1985.J. Sandige.3a. 2 . un contador que cuente de 0000 a N y de regmo a MXW].. Glenview.Uodern Digital Bsign. Hill. M .

y 3) otros símbolos discretos que se utilizan con pr~phitos específicos. 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. 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.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 . excepto los números binarios. 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. 2) letras del alfabeto que se utilizan en el procesamiento de datos. En este capitulo presentamos los tipos de. 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. Los registros contienen datos o infomaci6n de control. Todos los tipos de datos. 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. Esto es porque los registros están formados de .

La serk de dígitos 724. F corresponden a los números decimales 10. D . 8. 7. 14. 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.flip-flops y Ios flipflops son dispositivos de-dos estados que pueden almacenar solamente grupos de números 1 y O. los digitos se encerrarh entre paré&ds y la ba6e del nfimero se insertará cbma subíndice. es un sistema que utiliza diferentes simbolos para los digibos r.se . los bimboXos A. A.4 en notación mtal se convierte a decimal como sigue: . 6. o rak r. en especial el sistema. esto es. 3. 15. 1.5 se interpreta para representar la cantidad .16 shbotos del sisiema hexadecimal sbn O. 1. 9. 2. los últimas seis símbolos son idénticos a las letras de1 alfabeto y en ocasiones pueden causar ' conlusibn. más 2 decenas. 6 y 7. El sistema de nilimeros binarios es el sistema más-na#d para utilizar en una computadora digital. 2 3. D . 4. E y F. C. 4.decJmalm u e . tos diez símbolos son 0. El sistema numgrico bimrio utiliaa la base 2 . Los dos símbolos de dígito que se utilizan son O y 1. 2. Sin embargo. Las. C.E . m á s 5 dkimm. 6.4.utiliq para realizar cálnilos aritmCticos. 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. Desafortunadamente. e1 sistema de números decimales que se usa en forma cotidiana emplea el sistema de base lo. Las n b e r o s se representan con una serie de símbolos de digito. 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. 1 . 5.. ' > . 12. 5. 3. m5s 4 unidades.736. es la forma que se ha adoptado. 7 centena8. 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. 7. decimal Sistemas numéricosi Un sistema numérico de h e . Cuando se acostumbra representar digitos hexadecimales. Pero en ocasiones es conveniente emplear diferentes sistemas numéricos. 8 y 9. respec'hvamente. 5. B. B. 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. Por ejemplo. Por ejemplo. Por eiem~lo. 13. 11. En foma similar cada nihne~o decimal puede interpretarse para encontrar la cantidad que representa.

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. 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. La nueva fraccidn (sin el entero) se multiplica de nuwo por 2 para obtener un nuwo entero y una nueva fraccibn.5000 x 2 1. 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.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 . 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.6875 2 0. La parte fracciona1 se cpnvierte al multiplicarla par r = 2 para obtener un entero y una fracción. las dos partes se combinan para proporcionar l a conversi6n total requerida.6875)10 = (101001-1011)* . b Por dItimo.1 01 1)2 (41. ia conversibe del decimal 41. 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 . a binario. F m d h = 0. La W r a 3-1 muestra estos prdimientos. Este proceso se repite hasta que d cociente enteni sea O.6875 Eniero = 4 1 1 0 5 o 2 1 1 O o 1 mi o 0. üe nuwo eI cociente s e divide entre 2 para obtener un nuwo d e n t e y un residuo.óB75. Figura 3-1 Conwrsi6n del d&cima141. 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. = (0.6875). La parte entera se convierte al dividir 41 entre r = 2 y obtener un cociente entero de u] y un residuo de 1.6875 en binario se realiza al se paca^ el ntimero en su parte entera 41 y su parte fracdonal . Esto se repite hasta que la parte fraccional es O o hasta que el número de digitos obtenido da una apmximaci6n conveniente.7200 x 2 m x 2 1.

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

binarios ser6 necesaria una larga serie de digitos binarios. 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. 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. encontramos que Ia combinaci611 de sus bits es idgntica. Los registros en una computadora digital coiitienen muchos bits.& N s i Tipos de datos 75 TABLA 3 . 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. el n h e r o 99 decimal cuartdur. Es mbs convenienk especificar el co~itcnido de dos registros por su equivaleiik =tal o hexadechal. 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. el número binario 1111 1111 1111 tiene 12 digitos. Al comparar los números wtales y hexadecimales codificados en b i i rio con su equivalente en número binario. 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. 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. Puede expresarse en número octal como 7777 . Para especificar e l contenido de registros rn&ante sus valo. Por ejemplo. encontramos que la combinacihn de bits en las tres representaciones es exactamente la misma.

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

01.lO u 1 1 . Los 20 &@toa decimahs constituyen un conjunto de esa naturaleza. pero cuando se representa en BCD. 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. 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. Por ejemplo. y unos cuantos de ellos se muestran en la secci6n 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 . Por ejemplo. 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.5. un conjunto de 16 elementos requiere un código de 4 bits y así sucesivamente. donde a cada elemento se le asigna una de las siguientes combinaciones de bits 00.3. Es muy importante comprender la diferencia entre la conversi611 de números decimales biiarios y la cud@uci6ir biilarin de ndmeros decimales. Este c6digo particular se llama decimal codificado en binario (binary-coded decimal) y por 10 general se representa con su abreviatura BCD. cuando se convierte ahniímero bharioi el número decimal 99 se representa con la serie de bits 1100013. se vuelve 1001 1001. Un conjunto de d i o elementos requiere un código de 3 bits. Un código binario que distingue entre 10 eIement08 debe contener d menos cuatro bib. un conjunto de cuatro elementos puede representarse mediante un código de 2 bits. pero seis de sus combinaciones no se asignarh.

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

Para los n h a m dezimak r = 10 y r . 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. lO" rep-ta un número que está formado por un 1 único seguido de n ame.1) . Ahora. con n = 4 tenemos lo4 = 1000 y le .elcwn~btoa(r-1)&N se dehe como (r" . 10" .1 = 9. .1 e un nnCunerri r e p m t a d o por n nueva Por e+nplo.1) .N. Cuando e1 valor de h base r se sustituye en e l nombre.N. Por ejemplo.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 ) . - colnplenfettto a 9 El wmplemento (r -1) Woun~Nenbsserque~ndfgibos.1 = 9999 En coiisecuencia el complemrriito a nnQrneros 9 de un número decimal x obtiene al restar cada digito de 9. por Io que el comphehto a n ú w m 9 de N es (10" .

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

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

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

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

inc1uyendo los b i b de signo. La forma de complemento de la repmsentacibn de números negativos resulta extraña a las personas acostumbradas al sistema de magnitud con signo. S i los signos son diferentes. 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. y descartar cualquier acarreo de la pmici6n ' de bits de signo (extrema izquierda). . incluyendo sus bits de signo. reconocemos que el número negativo original es igual a . Los ejemplos numericos para la suma se mu-an enseguida. es necesario convertirlo a un niimero positivo para colocarlo en una forma más familiar.7. 7. agregamos las dos magnitudes y le damos a la suma el signo comtín. Cualquier acarreo de la posición de bit con signo s e descarta y los. Suma aritmbtica dos números en el sistema de magnitud con signo sigue las reglas de la aritmdtica simple. La suma de + - suma de eompleme~toa 2 %n 2ada uno de 10k cuatro casos.37) = . restamos la magnitud menor de la mayor y l e damos al resultado e l signo de l a magnitud m& grande.(37 25) = . El procedimiento es muy simple y puede definirse como sigue: sumar los dos ndmeros.84 -O Representación de datos I@$c8.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. el cual es el equivalente binario de -t. Este ec un proceso que requiere la comparación de los signos y las magnitudes para decpub realizar una suma o una resta. Su complemento a 2 es 00000121. 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. 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. Si los signos son iguales. Por ejemplo. resultados negativos están de manera automática en su Forma de complemento a 2. (El procedimiento para sumar ndmeros binarios en representaci6n de magnitud con signo se' describe en la secci6n 10-2) En contraste. Por lo tanto. (+ 25) (. la uperaci6n que se realiza es siempre una suma.

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

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.

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

decodificadores. El resultado de la operación puede sustituir la información binaria anterior-de un registro o puede transferirse a otro. Algunos ejemplos de microoperaciones son despla- nricrooperación . elementos aritméticos y lógica de control. Los sistemas digitales varían en tamaño y complejidad desde unos cuantos circuitos integrados hasta un complejo de computadoras digitales interconectadas e interactivas. El diseño de sistemas digitales utiliza de manera invariable un enfoque modular. Los módulos digitales se definen mejor por los registros que contienen y las operaciones que realizan sobre los datas que almacenan. Las operaciones que se ejecutan sobre los datos almacenados en los registros se llaman microoperaciones. Los módulos se construyen a partir de componentes digitales como registros.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 diferentes módulos están interconectados con los datos y las trayectorias de control comunes para formar un sistema de computadora digital.

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

como en la figura 4l(a).general se llama un registro de direccionamiento de memoria y se designan las letras MAR por sus siglas en inglés (rnemoy address register). para denotar la funci6n del registro. porque la mayoría de las diferencias entre b s lenguaje de transferencia de registros. el registro que contiene una direcci6n para la unidad de memoria. Un registro-de 16 b i t s se divide . 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). Otros nombres para registros son PC (contador de programa). 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 . 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). La manera mbs común de representar un registro es mediante una caja rectangular con e l nombre del registro dentro. Por ejemplo. Los flip-flops individuales en un registro de n bits están numerados en una secuencia de O hasta n .1. como se muestra en el ejemplo (c). tos bits individuaIes pueden distinguirse como en e l ejlnp10 ( b ) . las microoperacianes y las funciones de control que describen la organización interna del hardware de las computadorras digitales. puede señalarse en la parte superior de la caja. IR (registro de instruccibn) y R1 (registro de pmesador). por lo . 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.SECCIm 42 Transferencia de registros 101 especificar las transferencias de registros. Se puede apmder con facilidad otra sirnbología una vez que se familiariza uno con este lenguaje. E l nombre del registro de 16 bits es PC. La numeraci6n de bits en un registro de 16 bit.en 2 partes en e l ejemplo (d). 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. comenzando desde O eii la p i c i 6 n de Ia extrema derecha y aumentando los números hacia la izquierda. La figura 4-1 muestra la repxesentacihn de registros en forma de diagrama de bloque.

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

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

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

s o- * - = lbeas + Buscom6n de cuatro . 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.. uno para cada hea en el bus.. necesita 16 muitiplexoms. E 1 tamafío de cada multiplexw debe ser k X 1 dado que hace funcionar d mdtiplexor sobre k iíneas de datos. 3 0 Figura 9-3 Sistema de bus para cuatro registra. cantidad de multiplexom que se necesitan para construir el bus es igual a n. D2 C 2 82 1 Di CI BI A I LXi 1. 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. ' 3 2 1 0 3 ttt 2 1 0 O . * 3 4x1 -+ 0 4X 1 2 1 1-1 A2 .. TABLA e 2 Tabla de furifi6n para $1 bus de la f i e l 4-3 St SO Registro seleccionado . l a cantidad de bits en cada registro.s m b f i r 4-3 Transferencia de 4y de memoria 105 S1 - t . un bus comdn para 8 registros de 16 bits cada uno. Por ejemplo.

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

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

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

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

L a s bits sumandos de A y los bits sumandas de B se íden&can mediante niimeros suscritos de derecha a izquierda. 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. se necesita una lista de enunciados que utilicen las microoperaciones bdsicas de suma. Camplemm€ard contenido de R2 (complemento a 1) Complementar n 9. las *=. Las salidas S de los sumadores completos.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.de Rl en uno ' . camo k semíal de salida se propaga por el circuito combinatsrio. E31 acarreo de salida d@e -da sumador . 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). Los n bits de m a d o r binrrario . El Cireuito digital que genera la suma aribnetica de d& niimeros binarios de cualquier longitud w h a sumador binario. mayoría de Ias computadoras. - . Sumador b-o Para efectuar 'la micróoperaci&n de suma con hardware.toestá conectado al acarreo de entrada del siguknte sumadur completo de nivel superior. Para ~pec2icarel hardware en un caso así. los bits de suma requeridw. " Un suma* biqasio de n bib necesita n sumadores completos.. la operaci6n de multipliea$ín se efectqa con una secumcia de microoperaciones de suma y de conimiento. L a dichibn se ejeqta .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. figital. Los acarreos &tán mríectados en una cadena que fecorre los sumadores completos.Descripcibn El antMdo de £21 m t s R2 transferido a R3 El contenido de R l menm R2 transferido a 83. co'n gl O suscrito denotanao el bit de menor orden.con secuencia de miemperaciones de resta y de corrin+nto. donde se ejsutan pediante un circuito ~mbinatorio. suniador chplefo . reiita y corrimiento (vCase el capfhilo 1 0 ) . con el acarreo de salida de un gumador compIeto conectado aI acarreo de entrada del sipiente sumador completo. En tal caso. tan pronto. necesitamos los regisbrw que contengqn loi datos y el componente diqital que efectúe la si-&a ari'h&ticA.wmple. El acarreo de entrada al sumador biharb es Cpy el acarreo de salida es Ca. B sumador binario se construye con circuitos sumadoy completos conectados en cascada. En :la.

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

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

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

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

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

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

ias microoperaciones ldgicas listadas en la segunda columna representan una relaci6n entre el contenido binario de dos registros A y B. N6tese que las funciones están determinadas a partir de las 16 combinaciones binarias que pueden asignarse a F.XOR (OR-exclusiva) y complementar.m Fttodos F ~ A V F Complementar A Fu = (XY )' F.=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 . 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. cada una de las 16 columnas que van de la F..ias computadoras utiiizan 6610 cuatro. a la F15 representa una tabla de verdad de una función booleana posible para las dos variables x y y. 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. Aunque existen 16 microoperaciones lhgicas. 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. = 1 N Establk t d o s a dígitos 1 dlgitos 1 . 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. AND. 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. la mayoria de . OR.bles que se obtienen c m dos variables binarias según se muestra en i a tabla 4-5. de las cuafes se pueden derivar d a s las dern6s. = X ' Y &=Y Fb=x$y F. ias 16 funciones booIeanas de dos variables x y y w expresan en forma abebraica en la primera columna de la tabla 4-6.

Las dos entradas de seleccibn SI y So seleccionan una de las entradas de datos del multiplexor y dirigen su valor a la salida. o insertar nuevos valores de bits en un'registro. tas variables de selecci6n se aplican a todas las etapas. 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 .. Las salidas de las compuertas s e aplican a las entradas de datos del multiplexor.1. El diagrama muestra una etapa típica con subindices i.. En una aplicacibn tipica.T m C U A ~ Tm&mda de registra y mimperaciom S 1 S o O m Salida &=AA3 Operaclbn . el diagrama debe repetirse n veces donde i =: 0. Algunas aplicaciones Las micmperaciones 16gkas son muy útiles para manipular bits individuales con una parte de una palabra almacenada en un registro. La operaci6n & inicio selecb'w lleva a 1 lm bits del registro A donde hay uno^' mr&pdiaiks en d mgistm B. 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.1.l6gico.2 .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 . 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). 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. -Para un circuito lógico con pt bits.. 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. Pueden usarse para cambiar valores de bit. El siguiente qemplo numérico hace m6s clara esta opacibn: inicio selectivo .

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. por l o que los bits correspondientes de A se borran hácia 0. 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. con lo cual se complementan los bits correspondientes de A. No afecta las posiciones de bits que tienen ' O en B. 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. b s dos bits de A con sus ceros correspondientes en B permanexn sin alteraciones.los dos bits del extremo de B son unos. excepto que h s bits de A se borran sólo hay O correspondientes en . Por ejemplo: 1010 0010 A antes S (operando ldgico) A después Nuwamente. 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 .lógico) A despds limpieza selectiva Asimismo. Uno de estos dos bits ya estaba en 1 y el otro se cambi6 de O a 1.1100 1110 1010 A antes B (operando lbgieo) Adqués compiemento selectivo Lns dos bits de B del extremo izquierdo w n unos. A pariir de la tabla de v e e d notarnos que los biis de A después de la operacih se obtienen de la operacibn OR 16gica de los bits en B y de los valores anteriores en A. por lo tanto los bits correspondientes de A se llevan a 1. 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. Por l o tanto. 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. La operación de wmplemenlo selebtivo afmta a los biks en A donde están los unos mrsespondientes en B.

supongamos que un registro A contiene mho bits. Los dos bits de la extrema izquierda pemaneeeh halteradas porque los bits conkspondienfes de B son unos. O110 1010. La operación enmascarar es una microoperaci6n AND. & cudyk caso la operación QR exclusiva p d u c e un O. 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. 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. Por ejemplo. Despub se verifica el mdhdo de todo$ O para detennhar s i los dos n5meros eran iguales. 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. 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.dos bits corrqmndienb son ambos O o a m b 1. La operacidn insertar introduce un nuevo valor en un grupo de bits. 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.120 CAP~IULO CUATRO T m f e m i a de registro y microoperaciones B. La operaci6n se realiza rnyante una microoperacidn OR exclusiva según se muestra en el siguiente ejemplo: Cwnda A y B son @S. y pbcas proporcionan una instrucci6n que ejecute la miaooperacl6n para limpieza selectiva. .

4-6 Microoperacibnes de corrimiento comrrimiento ldglco ia~ microoperaciones de corrimiento se usan para la transferencia serial de datos. la infomci6n transferida mediante la entrada serial determina el tipo de corrimiento. El símbolo de registro debe ser igual en ambos lados de la flecha. También se utilizan junto con operaciones aritmgticas. 16gicas y de procesamiento de datos. El contenido de un registro puede correrse a la izquierda o a la derecha. shl y shr para las microoperaciones de corrimiento 16gico a la izquierda y corrimiento lógico a la derecha. 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. Existen tres tipos de &entos: 16gic0. La notaci6n simbólica para las mimperaciones de corrimiento se muestra en la tabla 4-7. circular y arihdtim.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 . respectivamente. 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. TABLA 4-7 Miaooperaciones de desplazamiento codmiento citrular Rcprclsentt. 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. Durante una operacidn de corrimiento a la d e r h la entrada serial transfiere un bit a 'la posid611de Ia extrema izquierda. Un corrimiento 16gico es aquel que transfiere un O por la entrada serial. Adoptaremos los símbolos por sus sigIas en inglks. El bit transferido a la posición extrema por la entrada serial se considera que es O durante un corrimiento 16gico. Al mismo tiempo que se recorren los bits. el primer flip-flop recibe su informaci6n binaria &e la entrada serial. Durante una operación de corrimiento a fa izquierda la entrada serial recorre un bit a la posici6n de l a extrema 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 . Si V. . 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. Ocurre un sobreflujo después de un corrimiento aritmktico a la izquierda si. -I de la p k % ne x mntiene el bit de signo. -2 Puede usasse un ftipfiop V. E31 bit de signo es O para Iws números positivos y 1 para los negativos.y así suceivarmente para las otms bits en e1 re@m E i bit en & se pierde. hay un sobrefiujo y una inversibn de signo despuh del corrimiento. El bit inicial & -l se pierde y se sustituye con el bit de R. Por b tante Ri-2 queda igual. R. El corrimiento arihnktico a la iquierda inserta un O en Ro y recorre todos los otros bits a la izquierda.b s ni'imens ne~ativos estirt en su forma de complemento a 2. = 1. al %do. E 1 signo se invierte si el bit en R. de sobreflujo para detectar un sobreflujo en un corrimiento a la izquierda arihética. no hay sobreflyjo. -1 no es igual a R. pero si V.cambia su valor después del c~rrimiento. 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. 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. Esto sucede s i la multiplicaci6n por 2 provoca un sobreflujo. antes del corrimiento. . . &. y otro para iniciar Figura 4-11 kplazamiwito aritm6ticoa la derecha.. i~ @ m 4-11 muestra un registro tlpiw de n bik E i bit R. debe transferirse dentro del flip-fi~p de sobreflujo con e! mismo pulso de reloj que ejecuta el corrimiento del registro.. L i informaci6n puede t r a n s f e b a l registra .. 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. . ~~ . V. 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.. I R ~ 1- R "~ -2 1 R 1 Ro Bit de signo . 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. &be el bit de R.-. es el bit maS si@ afivo del n h m y 4 ea e l bit menos sip%eakiva. En a t e tipo de configuracihn se necesita un pulso de reloj para cargar los datos dentro del registro. = O.enparalelo y después ejecutar el cotrimiento a la derecha o la izquierda. R.

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

los datos de entrada se desplazan a la izquierda (arriba en el d3agrama). los sis. y se abrevia ALU F:igura 4-U Una etapa de la unidad de corrimiento aritrdtica-16gica. 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. S3 I shl 1 . 4-7 Unidad de córrlmiento lógico aritmético En lugar de tener registros individuales ejecutando Ias microaperaciones en forma directa. Las dos entradas seriales pukden controlase mediante otro multiplexor para proporcionar los tres tipm de desplazamiwto posibles.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 salidas necesita n rnulfiplexores. la cual se denomina unidad arihn4tica-l6gica.

Una etapa de una unidad de corrimiento aritméti-lbgico se muestra en la figura 4-13. 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.* para la operación de corruniento a la derecha y Al. E l subhdice i repmenta una etapa tlpica. Un muItiplexor 4 X 1 en la salida selecciona entre una salida aritmbtiea Eiy una salida 16gica en Hi. el cual proporciona una variable de ~Ieceihn para las operaciones aritm&ticas.crqmaciones de c o ~ m t con o frecuencia se ejmtan en una unidad separada. y S. La ALU es un circuito combinabrio.período de un pulso de reloJ. Las mi. tos circuitos aritméticos.registro destino. Se selecciona una micrwperacibn parkicular con las entradas S. El a c a m de salida Ci. El circuito de la figura 4-13 debe repetirse n veces para una ALU de n bits.conectarse al acarreo de entrada Ci de l a siguiente etapa en secuencia. por lb que toda Ia operación de transferencia de regisdesde los fuente por la ALU y hasta dentro del registro destino. N6kse que el diagrama muestra s61o una etapa tlpica. puede ejecutarse durante un . Los datos en el multiplexor s e seleccionan con entradas S. 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 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 dos entradas de datos d multiplexor Feciben entradas Ai. para la operación de corrimiento a la izquierda.SECCI~N 4 7 Unidad de corrimiento 16gieo a r i h d t b 125 ' (arifhrnefic logie unit). y So. Para ejecutar una micmoperaci6n. El acarreo de entrada a la primera etapa es el acarreo de entrada C . 16gicos y de corrimiento que se presentaron en las secciones anteriow pueden combinarse en una ALU con variables de selecci6n comunes. ~~ 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 .l de una etapa aribnbtica dada debe .

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 .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. lo que sipifia que &lo una variable es.126 cAPtnno CUATRO Transferencia de registro y micrmperacimes . Las variables de temporización san mutuamente exclusivas. . S i (P= 1) entonces (Ri M.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. &l.rnienbas que las otras km son iguales a O. S* S. RO.& conectadas mediante multiplex<res de 4 a 1 líneas a las entiadag de un quinto registro. ias siguientes cuatro son operaciones ldgicas (véase figura 410) y se seleccionan con S3Sz = 0 1 . y dos operaciones de despbmiento.d. Cada operación se selecciona con las cinco variables S.es.R1.igual a 1en cualquiermomento.dado.R2 y R3. Muestre el diagrama de blque del h a r d w a ~ (similar a la figura 4-2a) que Implsrnta. 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. *. Dibuje un diagrama de bloque que muestre la implantaci6n de hrdware de las tra~fcrencias de registros.ecuatro regis-.y Cm E l acarreo de entrada Cmse utiliza para seleccionar sólo una aperaci6n aritmética. Las wiid. So. Las primeras mho son operaciones aritmétiras (v6ase tabla 4)y se seleccionan con SS2= OQ.R2)además si (Q= 1) entonces (R1. Represente el siguiente enunciado de control condicional por medio de dos enunciados de transferencia de registros con funciones de control.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. cuatro operaciones 36gicas. Las otras tres entradas de sekcibn no afectan al corrimiento. R5.elsiguiente mmciabo de bansfeeticia demgisim: 2 . El circuito cuya iuiica etapa est6 especificada en la figura 4-13 proporciona ocho opwaciones aritmhticas. La tabla 4-8lista las 14 operaciones de la ALU.

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

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

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

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

Después se lleva a cabo. 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. La organización interna de un sistema digital está definida por la secuencia de microoperaciones que ejecuta sobre los datos almacenados en sus 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. en detalle. Aunque la computadora básica que se presenta en este capítulo es muy pequeña en comparación con las computadoras comerciales. la estructura de temporización y control. el diseño de la computadora. . La organización de la computadora se define mediante sus registros internos. La computadora digital de propósito general puede ejecutar varias microoperaciones y. y el conjunto de instrucciones que utiliza. operandos y la secuencia mediante la cual tiene que ocurrir el procesamiento.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. además.

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

IA direccibn de memoria b dice al control dbnde encontrar un operando en la memoria. y cada computadora tiene su propia formato de c6digo de instniceiones particular.formulan los formatos de código de instrucciones y especifican la arquitectura de la computadora. Pueden especificarse regishas del pmerador al wi$ar a k instnicci6n otro código binario de k bit. La figura 5-1 muestra este tipo de organizaci6n. La primera parte especifica l a operaci6n que se va a ejecutar y la segunda especifica unsi dirección. Memoria 4ü96x 16 F m t o de instmión . Las instrucciones e s t h almacenadas en una secci6n de la memoria y los datos en otro. 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. Para una unidad de memoria con 4096 palabras necesitamos 12 bits para especificar Pisun 5-1 Organización de un programa al-do. Orgnnizaci6n de un programa almacenado. 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. Los disefiadores de computadoras . 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.almacenar el sesultado. 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. Pueden es@carse palabras de memoria en los c6digas de insttucción mediante sus direcciones.

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

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

La unidad de memoria tiene una capacidad de 4 0 % palabras y cada palabra contiene 16 bits. E l control lee una instnicci6n de una diiecci6n especifica de la memoria y la ejecuta. Despugs continúa leyendo la siguiente instrucción en secuencia y h ejecuta y así sucesivamente. 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 . una a la vez. Esta$ necesidades dictan la configuraci6n del registm que se muectra en la figura 5-3. 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 . las instrucciones de computadora se almacenan en posiciones de memoria consecutivas y se e j e c u h de manera secuencial. La computadora necesita los registros del prmsador para manipular datos y un registro para contener una direccihn de memoria.del procesador y no en la memoria.indirecto se utiliza como un apuntador a un arreglo de d a k El apuntador pu. como se hace en las computadoxas cómerciales. El registra acumulador (AC) es un registro de procesamiento de prop6+to general. El registro de datos (DI?) contiene el operando que se lee de la memoria. 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. 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.& colocarse kn un regiStra . IA ir@ruccidn que se lee de l a memoria se coloca en el registro de instniccibn (IR). 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.erando. 5-2 Registros de computadora -.IR PC TR INP. Esto deja tres bits para la parte de operacibn de la instrucción y uri bit para especificar un direccionamiento diwto s! un indirecta. - Por lo general. Se utiliza el registro temporal (TR) para contener 10s datos temporales durante el procesamiento. Se necesitan doee bits de una palabra de instnicci6n para especificar la direccibn de un op.

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

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

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

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

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

. las iiltimm cuatro bits de una instnicci6n tienen un digito Irexadecimal equivalente de O a 6. Cuando I = 1 .&ii rmh*folllar * & ~ I ' & Y ~ h. 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. lo mal es el equivalente al hexadecimal7. El Bltimo bit de la instrucción estzi representado por el símbolo 1.FWJ SPA SNA SZA SZE HLT . 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 . Los otms digitos hexadeci- .142 mmmmco . donde cada digito h-decima1 es equivalente a cuatro bits. dddo que e l dtimo bit es O. porque e l dltimo bit ea 1 . A1 mar el equivalente hexadecimál reducihia los 16 bits de un cddigo de instrucci6n a cuatro dlgitos. Las instruceibnes con referencia a registro utilizan 16 bits para especificar una ope~aci6n. Cuando I = 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. 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. Una instrueci6n con referencia a memoria tiene una parte de direcci6n de 12 bits.

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

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

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

Esto produce las secuencias y señales de temporizaci6n Tw Tp Ta Ti T4y así sucesivamente.~rif~emenb W) Bwrar (CLR) bloj Figura 5a Unidad de control de la computadora bhica. ( N 6 M la relación entre la &al de temporizacidn y l a transicibn de reloj positiva correspondiente. SC se incremehta con cada transici6n de reloj positiva.&ras entradas Salidas de mnml tttt 1 1 . 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.146 CA-O Organización y d i - de computadoras 1 1 1 1 .) Si SC no se borra. La salida D3del decodificador de operaci6n se activa al . a menos que su entrada CLR esté activa. según s e muestra en el diagrama. 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 .

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

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

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

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 memoria y las entradas de seTecci5n del bus. En e l diagrama se incluyen mriltiple compuertas OK de entrada. 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. La figura 5-8 duplica una parte del canal del sistema de bus y muestra.TI S2 - To SI Bus L Unldad de rnemdria Direcdn II = so 7 h r . Durante e l tiempo T3 la unidad de controI determina el tipo de instruc- .porque hay otras funciones de control que iniciardn operaciones similares. TIa las entradas de control de los registros.

Los tres tipos de instniccibn p i b k de. P C t P C + 1 11 T2 CMigo de op-ción de decodificaci6n en IR(12-14) M tIR(0-11). la Figura 5 9 Tabla de flujo para el ciclo de instrricci6n (configuracibn inicial). que se dispone en la cornputadora básica se especifican en la f i a 5-5.ci6n que se acaba de leer de la memoria. ta salida del decodificador D7es. AR t PC f T IRc-MIAR]. 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. Por l a figura 5 5 determinamos que s i 4 = 1 . 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.

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

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

E e C . Al revisar la tabb 5-2. AC es positivo cuando el bit de signo en AC(í5) = O. que la función de las instrucciones de referencia a memoria puede definirte m forma precisa mediante la notaci6n de transferencia a registros. Las enunciados de con& de condicibn deben reconcomo pafte. la &plicaci&nde una insímcci6n con palabras es extensa y no hay espacio disponible en la tabla para su explicacidn.de las cd¿lciones de control.1 .Para restalilla opwacih de la computadora. 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]. La salida decodificada Di para i = 0 .incrementa durante la fase de b b q e d a 'eir d tiempo Td. 4. 2.incrementar PC una vez mAs (ailemZis. el fiip-fiop itiicio-alto d e h iniciarse eñ forma manual. ACt@kIR] M[AR] tAC PC+AR M[Al?l+$T. La tabia 5-4 lista las siete instrucciones de referencia a memoria. 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. se . La insfrucci6n FKT borra un flip-flop de inicioalto S y detiene e l funcionamiento de1 contador secuencial. es negativo cuando ACt15) = 1. PC+AR + 1 M[AR]c-'M[AR]+ 1 .deAC es cero (JC = 0) todos los flip-flops del registro son c m . e n la cual se Iistan las instrucciones. El contenido . 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. es necesario que la funci6n que se pretende ejecutar se defina con pmisi6n. Si MIAR] + 1 = O entonces PC c . 5 y 6 del decodificador de operacibn que pertenece a cada instrucción se incluye en la tabla. 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. por i o generaI. Ahora mostrammae. 3. enconkamos que algunas tienen una d d p c i b n ambigua. Esto se debe a que. .

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

LIJA: Cargar a AC Esta instrucción transfiere la palabra de memoria especificada por h dirección efectiva a AC. Por lo tanto. Después ce busea y se ejecuta la siguiente instrucción de la direccih de meinoria proporcionada por d nuevo valor en PC. 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. esta uistnicci6n con una micreeracibn: QT4: M[AR] t AC. 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. . 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. primero a necesario llevar la palabra de memoria a DR y después transferir el contenido de DR a AC. PC se inere~enta en el tiempo TI para prepararlo para la dii. STA: Almacenar AC üsta inskucci6n almacena el contenido de AC en la palabra de memoria especificada por la dhecu6n efectiva. 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. podemos ejecutar. Al no condar el bus a hs entradas de AC pakmos mantener un ciclo de reloj por micrmperaci6n. El circuito sumador y Iógico m i b e informad6n de DK la cuaI puede transferirse a AC.eeei6n de la siguiente instruccih en h secuencia del programa. SC +O BUN: Brinco incondicional Esta instrucci6n transfiere el control del programa a la instniccibn espeeificada por d i i 6 n efediva. 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. 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 instruccibn BSA almacena la di&& de b siguiente. PC contiene 21. Después de las fases de biiaqiiaquda y dwdificación. El bit 1 es O y la parte de la dirección de la instnicci6n time el eq. El regreso al programa original (y la di~eccibn 21) se consigue Figura 510 Epplo de la ejecuci6n de la instruccidn BSA. 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. Se considera que la instnicci6n BSA estd en la memoria en la dirección 20. 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 . AR contiene la direcci6n efectiva 1% Esta se muestra en la parte (a) de la figura.!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. La instmcci6n BSA ejecuta Ia siguiente operacihn numérica: de esta operacidn se muestra en la parte @) de la figura. Cuando se ejecuta. Esta operación se especificb en la tabla 5-4 con la siguiente transferencia de registro: M [ A R ] t PC. dimccidn d t ptnmo Un ejemplo nurndrico que muestra cómo se usa esta instnicci6n con una subrutina aparece en la figura 55-10.insktuccibn en secuencia (la cual esta disponible en PC) dentro de una pmiei6n de la memoria especificada por la direcci6n efectiva. que es la direccidn de la siguiente inshzieci6n en el programa (demiminada dirección de refmo). K + AR +1 .

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

SECU~ 5 4 instrucciones de referencia a memoria 159 todas las micmperaciones para la ejecucidn de las siete instrucciones de referencia a memoria.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 . Las funciones de control s e i d c a n eh la parte superior de cada bloque. 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. Las microoperaciones que s e ejecutan durante los tiempos T4 T5 O T6 dependen del valor del &digo de la operacihn. 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.

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

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

.

.

Despuk el control inserta l a localidad 1 dentro del PC y a b i l i t a IEN y R . Un ejemplo que mwtra l o que sucede durante d ciclo de intenipci6n aparece en la figura 5-14.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] +. El contenido del PC(256)se ahnacaa en la localidad de memoria O. +ea. una instruccibn BUN 1120 m la dirección 1. E i programador ha colocado previamente un programa de sewicio de entrada-salida en Ia memoria comenzando en la direccibn 1120. PC s e inicia en 1 .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. . y R se rrinicia a O. 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. Cuando el control danza la seítal de temporhci6n Toy encuenha que R = 1 . y.para que no puedan murrir m& intermpciohes hasta que se haya atendida la solicitud de i n b mipcidn de la bandera. Esto se muestra en la figura 514(a). En este momentu) la d k & n de retorno 256 está en PC. 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. prmede ewi el ciclo de hkmrpciibn.

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

desactiva IEN y R. Za razbn para hacer esto es que el tiempo en que se ejecuta la instruccidn y SC se borra a O. el control recorre una fase de biisqueda s610 s i R = 0. Si R = 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. incluyendo un ciclo de intermpci6n para la computadora básica. D e otra manera s i R = 1.166 W m Organizacih y diseiio de computadoras sefíalesde temporizacibn Tw Tb o T2estZln activas. Con la segunda seiZEal de temporizaci6n. Ahora modificaremos las fases de bdsqueda y decodificacidn del ciclo de instniccibn. En lugar de d o usar las d a l e s de temporizaci6n To. y el'control regresa a Toa b n a r SC a O. La kercera sefial de temporizacibn incrementa PC a 1 . y el contenido de PC se transfiere al reghtro temporal TR. El control regresa a la &al de temporización Todespuds de que SC se borra a O. El inicio del siguiente cielo de insItriccidn tiene la condicibn RT.'I'G. 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. modifica a la posición de memoria 1. y el contenido de PC es igual a 1. R y SC a O . el control reromera un cicIo de instrucci6n. E i flipflop de interrupcihn R puede iniciarse en cualquier momento durante las fases indirecta o de ejecucibn. la computadora qecuta un ciclo de intempci6n. Si R = O. la direeeibn de retorno & almacena en la memoria en I a posicibn O y PC se carga a O. 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. la compubdora ejecuta un ciclo de instruccibn. la computadora comprueba primero si existe una direcci6n indirecta y despuk continúa ejecutando la . y desactiva IEN. 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. 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. Si la initrucci6n de referencia a memoria.

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]

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

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

E i contenido de la memoria en la d i d ó n 9AC es 8B9F. 1. Muestre la m a 6 n binaria que a d h r i en AC niando se *te k instmcci6n.Anaiice la ventaja de este cambio. A p p e un al sisbma de bus C i R (registro de mQ] que se seleccionará eon S$. AC. Agregueminstntcci6nde-aFegihaICSZ:btCTRy brincar a la sipiente instrucci6n si hay un cero. . c. Proporcione el contenido de los registros PC. ' 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. Sustituya la instnieeibn TSZ con una instnicci6n que cargue un nilmero dentro de CTR. Nótese que e l valor de AC no debe modificarse. 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. 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. ¿Cuáles la instnaccibn que se buscará y se ejecutara dspuh? b . e Dirección LDC CTR +M Illireccih] 3. SImbolo -hcihdmMiia IkcripPSn en palabras XQR ADM SUB 000 001 010 XCH SEQ 011 lOJ BPA 5-14.El contenido de la memoria en la d i 6 n 32E a 094C. i0i ACtAC@M[EA] M [ & I ] t M [ E A ] f AC AC+AC . EA es la dirección efectiva que reside en AR durante el tiempo TJ.M[EAJ AC tM [ E A ] . l . e X R en hexadecimai y l mvalores de E. en l a direccidn 3AF es 932E. AR.513. = 000. 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. DR. 2 . 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. a menos que la instnidn especifique un cambio en su contenido.S. a.

¿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.5-15. Un programa de salida reside en la memoria comenzando en la dirección 2300. No hay un bit indirecto. salidas de datos.Comience a partir de la señal de temprizaci6n TI 5-17. ¿Qué instnicci6n debe colocarse en la direcaón 1? b . Todos los operandos son de . UM eomputa$ora utiliza una memoria de 65.AR. $ 1 6 .. 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.DR.536palabras con 8 bits en cada palabra. entradas de direcaón y entradas de emtpol p m leer y escribir como en la figura 2-12. Una computadora d i t a l time una W a d de memoria con capacidad de 1 6 . 3 8 4palabras.si es neceario) para apegame a esta con& guraabn. 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 . 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. las m i a m p m i o n e s durante los tiempos T% T3(y T. 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 ] . SX 1 6 . IR (de 8 Wis cada m). requirimdo una direeabn de 16 bits. 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. 40 bits por palabra. 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). Dibuje la hplantiiei6n de hardware de R y la memoria en toma de diagrama de . 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.) b .8 bits. a. (No utilice un bus consta de comh. \ a Dibuje un diagrama de bloque de la computadora que muestre la memoda y los registros como en la figura 5-3. FonnuJe un p d r m i e n t o para recuperar y ejewiar ~iristniccioms para e i a computadora. 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. TR {de 16 bib cada uno) y AC. Se ejecuta después de que l a computadora reconoceuna interrup56n mando FGO se convierte en 1 (mientras IEN = 1). 1 5-18. Tiene l o s siguientes *w: PC.

Gibson. 1 9 8 ' 7 .. el contenidode F no debe cambiar. Mudge y J. Dibuje el diagrama 16gico que muestre las conexiones de las compuertas que forman las funciones de control y las entradas del fiip-flop F. 5-24. 1884. C m p t e r Systm Conceptsand h i g n . C. Muestre la Ibgica completa de los flipflops de interrupci6n R en la computadora básica. 1 . F. número de compuertas. 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). J. Digibl Syctems: ihrdware m i u r t i o n atd Lksigts. E n g W Cliffs. .R Peterson.Intduction %oCompuler Enginwing.d incluye en e l diagrama y las entradas de ledura y d i u r a de memoria. PIIA:Digital M. T . Hüi. G. 5-25. 5-22 5-23.A.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. Ufilice un Bipflop JK y minimice e l número de compuwb~.J..Nueva York JohnWiley. McNamara. . 2. Bedford.L . 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. G. Derive la expresi6n h l e a n a para q (véase la tabh 5-7) M w h e que x. E. Denve las compuertas de control para la entrada de escritura de la memoria en la computadora básica. Computer En@'-n8. NJ: P r e n b Hall. 5-20. Booth. h s . Minimice el nGmero de compuertas. 3. 5. Muestre c6mo las frinciones de control X. 3a M.bloque. Derive las compuertas de control asociadas con el contador de programa PC en l a eomputadora bAsica. 3a M.1980. Utilice un fip-fiop ]K y minimice el 5-21. y G . a & seleccionan l a entrada de control de carga de R. 199l. las entradas de selemi611 de los multipleK O que ~ uste. Nueva York JohnWiley. Be& C.

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

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

un c 6 d i g ~ de o p r ~ de 9 ires Pits. 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. L ~ otras B 18 instniecione tienen un &digo de ope~aci6n de 16 bits. ius otros tres digito~ espe5fi-n la direcci6. 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 & . El conjunto d e inshucciones de ia computadora básica. E 1 primer dígito de una instrucción de entrada* es siempre F.de modo y el &ligo de opwacibn. ~~ m m o Un pwama S iyia lista de instrucciones . E l primer dígito de una instruccibfl de referencia a registro es siempre 7.184 b p m a ¿ ó n -. la variación es de O a 6. ~ " ~ ~ ~ ~ * ~ n i n c e p ^ d e p r o g e a m a c i 6 n . 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.~ = ~ . El primerdigito hexndechal de ruia instrucci6n de referencia a memoria incluye el bit.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.m e r a . y una dirección de 12 b i t s .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. cuya organizaci6n de hardwa~ se exploró en e l capitulo 5. Por ejemplo. Una instnicci6n de referencia a memoria tiene tres partes: un bit de modo. 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. El d d d o m que se usa en la columna de &mipci& denata la d h c b efectiva.l. l a utilidad de las diversas imtmcciones de máquina se demuestran mediante v+mplos de pmpmaci6n básica. La letra M hace refemcia a 4 palabra de memmia (operando) que se encuentra en la direcci6n efectiva.o enunciados para dirigir a la computadora con el pmpbito de que ejecute . Las primeras siete instnicciones son de referencia a memoria y las otras 18 son de referencia a registros y de entrada-salida. 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. 'es posible explorar la relación en& un programa y las operaciones de la circuikria que ejecutan las instrucciones. 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 .una tarea de procesamiento de datos. A cada uistnicci&n asigna un shbolo de tres letras para facilitar h egcritura de programas simbólicos. Kiten varios tipos de b g i ~ a j e s de pmgra~nati6nque uno puede .

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

186 m-~~básica de Ia cwrputadora simbólica pude üad~cim a una instniecibn codificada en binario.) 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.. La primera columna proporciona la posición de memoria (en binari~)~ de cada instnzcci4n u operando. S i e d q p . un propma de lenguaje. este lipa de propmas simb6licas se denomina programa de lenguaje enmb*. Lmtpjm I& p r q m r d h & dfo nivel. 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. un lenguaje ensamblador se considera como un lenguaje a nivel de rndquina. Ahori usarmios la computadora bhsica para ilustrar la relacihn entre los lenguajes b i r i o y ensamblador. 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&. E. de &quina es un programa binario de categorfa 1. importante establecer la diferencia con la parte de di~eccibn de la instruccibn misma. Debido a la pelacidn de uno a uno entre una instrucdón kibblica y su equivalente binario. . 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. La segunda columna lista eI contenido binario de estas localidades de memoria. (La localidnd es la h c i 6 n de la palabra de memoria en que se almacena la instniccibn. Debido a l a equivalencia simple enentre las repreientacioms M a s y octal o hexadecimal. Consideremos e l programa biiario listado en la tabla 6-2. Elfnplezl sImbo108 y formatos orientad= a un problema. i a ckaiterfa de la computadora ejecutar4 estas instrucciones y TfiBLA 6 2 Piiograrna binario para sumar dos n h e m Localidad . ea costumbre denominar a la categoría 2 ccmio tienguaje de Mgquina. 4. Un ejemplo de un lenguaje de programación de alto nivel w F#tran. Esta traducción se hace mediante un programa especial llamado ensarnbhhr. E i programa. L w j e üe máquina Habhdo con rigor.que traduce un programa de lenguaje de alto nivel ce Uama m n p i M r .

N o obstante. conservan su valor hexadecimal. una persona que observe este programa' tendrsi dificultades en comprender que se consigue cuando se ejecute e l programa. Esto requerirh seis digitos por instrucci6n. Es conveniente usar la representacidn hexadecimal.ramas binariqs en forma octal'ohexadecirnal equivaiente debe s e r evidente a partir de este ejemplo. Sin embargo. ta ventaja de egcriiir prop. Podernos reducir k cantidad de digitcrs por instruccibn si escribimos el equivalente odal del c6digo binario. 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. podemos reducir cada instmcci6n a cuatro dígitas si ekribimbs el c6dQo hexadecirnal equivalente &mo se muestra en la tabla 6-3. la circuiterfa de l a computadora sólo reconoce este tipo de código de instrucciones.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. al @al que las operandos. sin embargo.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í . 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. Escriir 16 bita para cada instrucción es tedioso porque hay demasiados digitos. Por otra patte.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. E l programa de la tabla 6-4.

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

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: . Los usuarios deben apegarse a todas las reglas de fomiato del lenguaje si desean que sus programas se traduzcan en forma correcta. dtmdbn iIjnbblJEa o especificar una d i i b n simb6lica. 2 El campo de instrucci6n especifica una instrucción o una seudoinstrucci&nde mdquina. tiene disponib1es el fabricante de la com~ubdora. por b general. Por l o tanto. Una~~limcEaistadeuno. 8'3 Bi C Br-23 C=A+B consistemssignartresW&desdemanoria. y d q u 6 derivar la -en& de instrucciones binarias que forman la 8uma.d~paralms~y~ para la stima. &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. un p~ compilador b d u e 1 .TABLA é 4 P m g p a Portran para sumar dos n h e m IHTEGEW IIi DRTR EWD A .peronomaSde~ ~ & a n ~ Q p ~ ~ d e b e s e r u n a i e @ l o s d o s 1 . Casi cada computadora comercial tiene su propio lenguaje ensamblador. La unidad basica de irn programa de l m p j e mamblador es una lEnea de d g ~El. 3.doso~. Las regb para escribir un programa en lenguaje ensambladar se documentan y publican en manualque. El+campode c m t a r t o puede estar vacío o incluir un comentario.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. 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 . 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.

u& de O&. R trercw. Una insheci6n da referencia a memoria. 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. Esta localidad debe definirse en alguna .quepuede estar p-teono.) 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. E l slmbolo END . (Otros programas de lenguaje ensam. como ADD. 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. 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 .' bhdor recon-n muchas otras instrudeiones.mloca al final del p-ama para informar al ensamblador que termina el prog~ama.61segundaesuna~6n~lia. 2.Las otras doa seudoinstaicciones especifican la base del operando y le dicen al emambhdor cbgto m v & el número listado a bhario. ia letra 1 pude estar presente o m. Una dirección simb6lica en el campo de inatnicci6n +ea la k m lidad de memoria de un operando. . l$plpi - CLA nwMRI d W 6 n d i i t a Mü ADD OPR ADD FTR X - dhwcj6n indirecta MRI sePrdoinsMh . d e b estar después de la &recci6n &rMiica. es la L Si I d a m k .primer simba10 de tres letras en cada h e a d+ ser uno de los símbolos de instrucciones de la computadora y debe estar listado en la tabla &l. Una seudoin8tru0~ibn con o s i n operando. programa para + m se. 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. 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. En seguida se muestran los simbolos que pueden colocarse en el campo de instrucci6n de un programa. Una instrucci6n de referencia a memoria 0 . Una instnid6n de refemwia a registro o de entradadida (no MRI): 3. . stnbolo. . parte del programa porque aparece de nuevo como una etiqueta m la' primera columna. 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.190 m W m a d h bhica de la computadora 1.

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 . ciones wpeúGon operandos. 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. tas siguientes seis líneas definen instnieciones de máquina. Las tareas que ejecuta el ensamblador se m p r e n d e r h mejor si realizamos primero la traduceihn en papel. . La traducid& del programa simbólico de la tabla 6-8 a su código binario equivalente pude hacerse d examinar el programa y sustituir b símbol~s por su código binano de rn5quh-mequivalerite.cci6n ORG para definir el origen del programa en la posicibn de memoria (1W)16.23) = 83 + 23 = 106. son útk para explicar e l programa y para comprender el pmcdhiento detallado que realiza el programa. y la última Cuando el programa s e traduce a código binarb y la computadora l o qecuta. Los comentarios se insertan s61o para explicar y no se consideran durante el ~~ proceso de traducción a b i r i o .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. 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). se d i z a r a una resta entre dos ndmems. y las tíltimas cuatro tienen seudohs~ccíones. 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. Comenzando desde la primera línea. El sustraendo es un número negativo. Una h e a de código puede tener o no m comentario. Esta nos dice que co- . 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 w t a se ejecuta al sumar el minuendo del compIwrrento a 2 del swtraendo. La primera lima tiene la seudoinstni. T m ¿e las swdoinstrueel final del programa. Traduccihn a binario ensambtador La traducción del programa simb6Kco a biario se hace mediante un programa especial Iiamado mntblador.2 3 se convierte en + 23 y la diferenQa es 83 + (complemento a 2 de .

Al venfiear la tabla 6 1 encontramos que el prirher digito h-decimal de la.h e x a * de la iLIShZ1Cb6PL WiA debe ser 107. Cuando las dos partes de la instrucción se ensamblan obknemo~ el ckiigo hexadecimal 2107. Las otras iíneas que qrewntan instruccionw de máquina se traducen de manera simiIar y su caigo hexadeQmal se b t a en la tabla 6-9. el primer bit del código de ingtnicción debe ser O. Debe ser una instruccih de refmcia a memoria para estar colocada en la localidad 100. Por 1 0 tanto.traducir. meontramos que el título SUB de la lfna 9 corrqmde a l a ~ i c de h la memorLa 107. Como no tiene la Ietra I.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 .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. E ! simbolo END a i @ h el final dei programa shb6Zico y nos dice qw ya no hay limas por . Luego asignamos piciones m c i a i a can paraeadaUneade~quetmgaunainstnmióndedquinau~perando . El equivahte hexadechal del niunero binatio se coloca en l a posicidn 107. DE. Examhmos la columna de etiqueta y encontramos este simbolo en h Unea 9. SUB. la d k x b . 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.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. El prriceso de traduecidn puede simplificacse s i examinamos el progama s h M h completo dm veces. instnrcción debe ser 2 E l valor biraario de l a parte de direccibn debe obtmem del súnboio de dixeaci6n SUB. en la tabla 6-9. No se hace ninguna traducci6n durante el primer examen. La -da línea time dos stnbolos. 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). asigpmps la posicibai 1 M 3a l a primera hsbu& despuBe de ORG. 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 . El nombre M l i c o de la opaci6n es LDA. 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. 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.

Por ejemplo. la hea de c6dXgo LDA Clls se traduce durante e l segundo examen al obtener e l valor hexadecimal.dd d u c i d o de. 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.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 &8 Codigo hexadecimal Pdci6n Contenida Programa dmbdlico ORO 100 LDA SUB mc MIN. DIF. Para este p p m . de LDA de la tabla 61 y el valor hexadecimal de SUB de la tabla de shbo1os de dirección que aparece arriba.TABLA 6-9 Listado. ensamblamos las dos partes en una instrucci6n hexadeeimal de cuatro dfgiim. (A ORG y a END no se les asigna una posición num6rica poque no reprwmtan una -instnreei:6n o un operando. 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 primer examen se llama primera pasada. y el segundo examen se Uama segun& pasada. SUB.) Cuando se owmina el primer examen . Desp&. CMA ADD M i N STA D E m T DEC 83 DEC -23 HEX O END hasta el final del programa. Cuando el programa enmbiador t m i n a la traduccibn de sfmbolos a binarios.

su repmntacibn en la memoria debe utilizar un código de caracteres alfanuméricos. Esto hace que "elcarro"retome a su W 6 n inicial para comenzar a k c h r una nueva h . Se utrliza un prcigrama cargador para introducir los caradel programa &¡Mlico en la memoria. El programa shnM~co de entrada se Uama prqgrattra fuente y el programa binario que resulta se llama programa objeto.6-4 El ensamblador Un ensambfador es un programa que acepta un programa de lenguaje simb6lico y produce su lenguaje de &quina bhario equivalente. El bit de orden superior es siempre O y los otros siete bits se +an median& ASCII. TABLA 6-10 Código de carackes hexadecimah . 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.- r r b r r i rcriih Cadcter Código Cadcter C6digo Cadcter - C6digo 6 7 8 9 espacio ( + i1 CR . el programa simbbiiso dek almacenarse en memoria. En la mputadora Msica cada carBcter se " p m t a mediante un código de 8 bits. 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. El usuario telea el programa simb6lico en una terminal. A cada carácter le asignan d a dlgitos hexad&Ies que pueden convertirse con facilidad a su &ligo de 8 bib equivalente. 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 . Como el programa está formado por Antes de comenzar -- símbolos.

genera una tabla que relaciona todos los. El programa binario constituye la saIida generada por el eaisamblador.quetermina con d c6digo de retorno de carro ( O D ) . según se muestra en fa tabla 6-11. L a traduccibn a bhrios se hace durante 4 segunda pasada Para dar seguimiento a la dirección de las instrucciones. Durante 4 primera pasada. 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. (m. el m b l a d o r lo reconoce mediante e l d i g o para una diagonal ( 2 F ) . LDA SUB 1 a t á almamada en siete localidades de memoria consecutivas. E i ensamblador examina esta entrada dos vexs para producir el programa binario equivalente. sImbo1a de dkecci6n definidos por el usuario con su valor binario equivalente. Cada símbolo termina con el c6digo para espacio excepto el iiltimo símbolo. E l título Pi3 ocupa dos palabras y t e & con el código & coma (X). el ensámblador utiliza una Primera pasada .TABLA 611 Represmhdn de computadora de la iinea de código FL3. Por ejemplo. 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 . S i la h e a de &diso tiene un comentario. El campo de instniecibn en la lima de c6dJgo puede tener uno o mds shbolos. Pueden almacenarse dos caracteres en cada paiabra porque una palabra de memoria tiene una capacidad de 16 bits. 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. 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. Ahora describknos de manera breve las b e a s principales que debe ejecutar e l ensambbdor durante e l proceso de traducci6n. Un ensamblador de dos p a q examina todo el programa simbólico dos veces. Un símbolo de etiqueta se termina con una coma. la siguiwite línea de -0: PL3.

Las tareas que ejecuta el ensamblador durante la primera pasada se describen en el diagrama de flujo de la figura 6-1. Como las instrucciones están almacenadas en posiciones secuenciales. La seudoinstrucción ORG inicializa el contador de posición para el valor de la primera posición. Se analiza una línea de código simbólico para determinar si tiene una etiqueta @or la pmencia de una coma). se almacena en la . Si contiene una seudoinstrucción ORG.196 C ~ SEIS Programación O básica de la computadora Primera pasada 3. 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). (Nóteeseque una línea con ORG o END no debe tener un titulo. Para evitar una ambigüedad en el caso de que no estuviera ORG. 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. Si la línea tiene una seudoinstrucción END. LC se inicializa al principio en O. Si la línea de ckligo no tiene una etiqueta. 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. el contenido de LC se incrementa en 1 después de procesar cada línea de código.) Si la línea de código contiene un titulo. el ensamblador termina la primera pasada y regresa para la segunda. el ensamblador establece el contador de posición en O desde el principio.

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. 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 . Tabia de seudoig&mcciones. Si la etiqueta contiene menos de tres caracteres. ~a6k no-MRi. E i ensamb M r uWia cuatro tablas. 2' Tabja MRI.12.deetiqueta -contrado y constituye l o s datos de saiida que genera el ensamblad~r durante la primera pasada. . Cada shbolo de etiqueta s e almacena en dos posiciones de memoria y temina con una coma. Despues tC se incrementa en 1 y se procesa una nueva lfnea de código. E 1 programa tiene tres &mimes simbólicas. el simbolo no puede inberpretarse. 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. No se almacena nada en la tabla s i no se encuentra un título.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. esperifkado mediante el contenida de L€. tabla de diredonea simbólicas junto con su ntimero binario equivalente. de otra manera. 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. Cualquiex símbolo que se encuentre en el programa debe estar disponible como entrada en alguna de estas tablas. Para el programa de la tabla 6-8.107 y 108. 4 TabIa de símbolos dg d M 6 n . el ensarnblador genera la tabla de di&oneg simbblicas que se lista en la tabla 6. MM. Estos sirnbolos repmentan d W o n de ~ 12 bits equivalentes a las hexadecimales 106. SUB y DIF. Asignamos los siguientes nombres a las cuatro tablas: 1 .

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 . Este operando se coloca en la posici6n de memoria especificada por el contenida de LC. Después se analizan las iíneas de c6dig0. es la letra 1 . La tabla de símbolo de direcci6n se genera durante la p a pasada del proceso de ensamblado. Una tarea importante del ensamblador es comprobar los posibles errores en el programa simbólico.El contador de Localidades se incrementa y el ensamblador avanza a procesar la siguiente línea.diapdstim de -r Las entradas de l a tabla de seudoinstniccwnes son los cuatro sImbo1os ORG. 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. el ensamblador se dirige a la tabla MRI. No se consideran las etiquetas durante la segunda pasada. L a direeeih simbólica se convierte en binario al buscar en la tabla de diiciones simbólicas. Primero verifica la tablri de seudoinstnicción. E l ensamblador almacena el c6digo de instrucción de 16 bib dentro & la palabra de memoria especificada por LC. Cada entrada guia al ensamblador a una subrutina que prmesa la seudoin6brueción cuando se encuentra en el programa. DEC y HEX. 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. E 1 ensamblador . El primer bit de la instmi&6n se inicia en O o 1 . Esto se llama dingn&fko de m. Una coincidencia can END tennina el proceso de traducción. Una coincidencia con ORG envía al ensamblador a una subnitina que establece L C en su valor inicial.el ensambhdor extrae su caigo de 3 bits equivalenh y l o inserta en los bits del 2 al 4 de una palabra. El contador de posición s e inaementa y se analiza una nueva h e a . una por cada vez. el emamblador s e dirige a la tabla n o . por lo que el ensamblador llega de inmediato al campo de instmcci6n y prwede a comprobar el primer &&al0 que se encuentra. 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. S i no se encuenka el sZmbo10 en esta tabla. Cuando se encuentra un simbolo en la tabla M R I . Si el simbola que se encuentra no es una 9wdoinstrucci611. END. dependiendo de si la letra I wtá ausente o pmente. El contador de posici6n se incrementa después en 1 y el ensamhlador continúa analizando Ia siguiente h e a de &ligo. Una instruccibn de referencia a memoria se espdfica mediante dos o tres símbolw. Un símbolo que se encuentra en la tala na-MRI corresponde a una instrueeidn de referencia a registro o de entrada-salida. El q m d o símbolo es una direeci6n simbólica y el tercero. Una mmdoinstnicci6n de operando produce urna conversi611del operando a b i n a r i o . que puede estar pmente o no. 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. 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.

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

' M e nacurrir otros errores y un ensamblador practico debe d-rh e imprimir un mensaje de emr para cada uno.100. Muchos ensambladores le permiten al usuario 4 c a r una d b x i 6 n mediante una expqesi6n acitmttica. 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...100nhneros enteros. . Puede ocurrir otro error si e l programa tiene una direcci6n shrkdlica qUe+lamp. 2. 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. se le puede permitir al usuario utilizar un número o un simbolo para especificar una direccibn. . Conforme el lenguaje de ensamblador se vuelve más sofisticade. 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&&. Debe enfatizarse que un ensamblador practico es mucho m69 complicado que e l que e explid aquí. Un programa de &tema que traduce un programa escrito en un lenguaje de programacibn. e l ' w m a emadlador se hace más complicado. en cada ocasión con un operando A@ diferente para cada J = 1 . cornpiiadw El enuqdado número 3 se ejecuta 100 veces. E i siguiente es un ejemplo de un programa Fortran que forma la suma de . Por ej-10. No obstant e . En ese caso. La mayorfa de las computadoras l e dan a l programador mapr flexibilidad para escribir programas en lenguaje ensamblador.bCo apame como una etiqueta. 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 .no puede traducir tal simbolo porque no conme su valor binario equivalente. También pueden especificafse muchas otras 6eudoinstrucciones para facilitar J a tarea de programacibn. 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. 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).

las localidades de la (150)16 a la (1B3)16para los 100 operandos. del pmpma 201. 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. Este enunciado instruye al compilador para reservar 100 palabras de memoria para 100 operandos. 0uN LOP STA HLT m 1 5 0 m 0 ' DEC-100 j ~ k c e n a suma r m. 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. El segundo enunciado infama al m p i h d o r que los números son enteros. H i primer enunciado del programa Fortran es un enuiciado DIMENSIUN. E i valor de los opermdo~ está determinado a partir de un enunciado de entrada (no listado en d programa). que eerpecifiea d or@m de ~ Q Soperanda El primer y el último operando se listan con un número decimal especifico. astos dos enunciados no son ejecutables y son similares a las swdoinstruaeiones de im lenguaje ensambiador. m SUM. =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.0 /Fin del programa slmbbiico . Si fueran del tipo real. Supongamos que e f compilador resma localidades.6 ~ 65 CM-.. 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. aunque estos valores no se conocen durante la compilaci6n. PTR.

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.enla Iinea 13. La direccibn del: primer operando ( 1 8 0 5 0 )se almacena en l a localidad ADS . Después se hace una referencia de esta posicihn cada vez que se ejecuta el enunciado P o ndmero 3. la computadora no brinca a la siguiente instruM6n. por lo que la computadora rieg~esa a repetir e l &do una vez más.100 en la posici6n NBR Después el compilador genera las inslnicciones. La cantidad de vece3 que el ehundado de Furtran deh ejecuta= es 100. La suma que se forma en e l acumuIador se almacena en SUM y la computadora se detiene. se almacena . se brinca a la siguiente insbucci6n y la computadora ejecuta Ias instrucciones de las llneas 11 y 12. se inserta aquf la instrucción de detener. La posicibn CTR se irmementa en la h e a 9 y. Despu6 la posici6n PTR e incrementa con la instnicci6n rSZ de la h a 8.en hs líneas de la 2 a b 5 para inichlhar el ciclo de programa.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. por lo que su valor cambia al de la dirección dd siguiente operando secuencial. Esto corresponde a establecer Am en A(1). La d b i b n del operando actual se almacena en la localidad PTR.estai!&n compietadas las 100 operaciones y e l programa dejar&el ciclo.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. 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. La instrucci6n que viene a continuación es una instnic&n de transferencia o brinca (BUN) al principio del ciclo. La iínea 7 especrfica una instnrcci6n ADD hditecta parque tiene el simhlo 1. Cuando la posición CTR alcarm cero (dapub de que e l ciclo m ejecuta 100 veces). E l compilador producirá una instnicci6n en la línea 6 para borrar el AC. 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. el operando de la psici6n 150 se suma al acumulador. Por l o tanto. si no es c m . Como resultado. 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. 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. Cuando d valor del contador Uega a cero. 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. en realidad. N ó b e que ISZ en la iííea 8 se utiliza simplemente para sumar datos . Después e l nCimero . Por claridad. 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.

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

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& .

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

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

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

Los otros corrimientos de interés son los corrhimtos Idgims y aitmdticos. Estos dos corrimiento6 pueden programarse con una cantidad pequeña de instrucdones. Operaciones de corrimiento Las operaciones de corrimiento circular son instrucciones de máquina en la computadora bisica. 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. Por lo tanto. Para la computadora biaica hemos adoptado la repremntacibn de complemento a 2 con signo. 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.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. 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. El corrimiento ldgico necesita que los ceros se agreguen a las posiciones de los extremos. para una operacihn l w c a de corrimiento a la derecha necesitamos las dos instrucciones. Esto se consigue con fadidad al h m a r y al hacer circular AC y E. E pemanece en O . Las reglas para los corrhientos aritméticos se &tan en la se~cibn M. por lo t a n e CLE /Limpiar E a O SPA /%ltar si AC es positiio. Pero el mismo bit de signo se recorre a la posicibn del bit de orden superior dd número.

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

La Uistnicción BSA esta en la lacalidad 101.Esto se hace al enmascarar FPPO con e l contenido de AC.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. también transfiere el valor de SH4 + 1 al contador del programa. . La siguiente imlmccí6n que se encuentra a BSA SH4.ddinida por la M 6 n simb6b SH4 (la cual es 109). E l cálculo de l a subrutina circula el c o n ~ de o AC cuatro v a la izquierda. La subnitina SH4 debe =tomar a la h l i d a d 102 después de que finahe su m .Cuando se ejecuta la instruccihn BSA. 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. 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. 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). Para realizar una operación de desplazamiento lógico bs cuatro bib de orden menor deben iniciarse en c e r o . l a unidad de ccmtrol almacena l a direccibn de retomo 1 Q 2 dentro de la posici6n.

' L acomputadora retorna para ejecutar la instmccibn de la pmici6n 102. con una direccidn simb6lica idéntica a la que se usó para el nombre de la subrutina. 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. Otra forma de tramkrir datos a una sub~tinaes mediante la memoria. La subrutina recorrió el número y I o dej6 ahi para que l o aceptafa el programa principal. En general. La dltuna instruceibn de la subrutina ejecuta una operación que por lo general se llama retorno de subruiina. En este ejmpb observamas que la primera localidad de memorib de cada subrutina sirve como un enlace entre el programa principal y ia subrutina.La última instruccibn de la subrutina regresa a la computadora al programa principal. En tales computadoras. Parhetm~ de subrutina y enlace de datos Cuando se llsnna a una sukmtina. El programa principal continiia al almacenar el número con el corrimiento dentro de la posicibn X. Muchas computadoras tienen mdltiples registros de procesador y a algunos de ellos se l~ asigna el nombre de registros indice. E n el ejemplo anterior los datos se transfirieron mediante el acumulador. Una instrucci6n de llamada a subrutina almacena la dirección de retorno en un egistro fndice. 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. por lo generaL se emplea un registro hdice para realizar el enlace a subrutina. E l procedimiento para Uamar a una subrutina y r e t o m a r al programa principal se denomina mlam a subnitina. La instmcei6n BSA ejecuta una operación que por lo general se llama Ilrimadri de subrutina. el programa principal debe transferir los datas con los que s e desea que trabaje h subrutfna. Esto se consigue mediante la instniccibn de brinco indirecto. E 1 acumulador puede usarse para un pahmetro de entrada único y un pardmelro de salida único. Se ejecuta el mrrimimito en e l nuwo operando y la subrutina regresa al programa principal en la pasici6n 105.14 es la dirección de retorno 102 que s e almacenó antes ahí mediante la instrucci6n BSA. 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 las computadoras con mdltiples registros de prm&dm se puden transferir &S parámettrw de esta manera. 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. Lo que se enmtn5 en h posicidn 52. Esta vez la lwalidad Sq4 contendrá la dimi6n de retorno 105 porque ahora 6ta es la posicihn de la siguiente instruqibn despuk de BSA. 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. Cm frecuencia ias datos se colman en . E l operando r x cargó a AC antes de la llamada.

En cualquier caso.para recibir el resultado. qime en este w. . El d a operando-= aImacena en la posicibn 202 despuk de la instrucci6n EEA../Llama a la subrutina OR /El egundo operando está almcenado aquf /La suhtina retorna agui X/ Y. Puede usarse el acumulador para transferir yn . 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.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 .Cuando Ia instmcci6n hace mferencia a ella en forma indirecta. Deben transferirse dos operandos a la subrutina y la subnitina debe retomar el tiesdtado de la opsraci6n.soli&ud. la d i 6 n de retorno siempre pmprciona . El otro operando se inserta en la.202 no es h h i 6 n de retorno: sino Ip +ción del q m d o pand do.gpecando y. lwalidad kmparal TMPi El segundo operando se carga dentro de AC mm$ante una instrucción indimta en la posicibn OR. En seguida. e coloca k primera d i d 6 n del blque en ia lwdidad de memoria después de la. No hay que olvidar que Ia posición OR c o n h et nhnero 202.sucede i a b d a . Una vez que .después de:la ktm& También pueden colocarse en uii blque de a h c e m d e n b . 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& . elo @ de la p i r i h 202 .la informaci&nde enlace para transferir datos entre el.-Elprimar q e ~ a n d o k p&ici6n X se carga a AC. La subnitina comienza a gecutar la.operaci& OR al coriiplemqhr e l i primer operando en AC y almacenado en la.programa principal y la subniW. Como ejemplo. la prbera Localidad e n la subrutina con* qi nJmep 2 0 2N 6 . cons~erwno~ una subrutina que ejecuta la operacin QR lógica.

Para estas localidades también debe inrrementarse la primera localidad en la subrutina a n b del retorno. La subnitina ¿& incrementar la direcci6n de retorno aimacenada en su primera localidad para cada operando que exime del programa solkihte. El programa solicitante puede reservar una o m65 localidades para que la subrutina devuelva 19s resultad. Isz MVE LDAFTlI LDA MVE 1 STA PT2 ISZ MVE LDAMVEI STA m m. S i hay una gran cantidad de datos por transferirse. rsz MVE WP. EB psibie tenef mas de un operafido después de la instruccibn BSA.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.. . donde este ubicada la siguiente instnicción. m. Al complementarse e1 resultado se forma la operacihn OR.que se cdcubron. m. Esto se logra al incrementar la poski6n OR con b instrucci6n I S Z . pueden colocarse en un bloque de almacenamiento y después se utilmr6 la diFecci6n del primer blque corno parhetro de enlace.Ahora la lmaiid~dOR contiene el ndmeia 203 y üna instrucci6n BUN indirecta provaca un retorno al lugar adecuado. se carga a AC. El retorno de la subrutina debe manipulam para que el programa principal ccmtinde desde la posioibn 203. Es& operaiido-se GiipiekenbY despuCs se le aplica La funciSn AND con ei operando almacenado en TMP. STA FT2 1 ISZ m 1 JSZ m ISZ m BUN LOP BUMMVEI - . TABLA 618 Subrutina para mover un bloque de datos BSA MVE HEX 100 H E X m DEC -16 HLT mx..

Se salta la siguiente instrucción si el bit de la bandera de entrada es 1. La tabla 6-19(a) lista las instrucciones necesarias para introducir y almacenar un carácter en la memoria. brincar para comprobar de nuevo INP /Bandera = 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. El dispositivo de salida detecta el código binario y escribe el carácter correspondiente. Un carácter codificado en binario se transfiere al dispositivo de salida cuando se ejecuta una instrucción OUT (salida). HEX 0057 /El carácter es "W" . los datos requeridos están en el bloque que comienza desde la posición 200. SKO BUN COF OUT /Almacenar carácter aquí /Cargar carácter dentro de AC /Comprobar bandera de salida /Bandera = O. introducir carácter OUT /Escribir carácter STA CHR /Almacenar carácter HLT CHR. El retorno hacia el programa principal es a la instrucción HLT. El contador asegura que s610 se muevan 16 datos. Los datos se transfieren haeia y desde sus bloques mediante el uso de dos apuntadores. 200 y -16 desde el programa principal y los coloca en su propia posición de almacenamiento. b) Sacar un carácter LDA CHR COF. ramificar para comprobar de nuevo /Bandera = 1. El tamaiio del bloque es de 16 palabras. 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. 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. La primera introducción es una llamada a la subrutina MVE. La instrucción SKI comprueba la bandera de entrada para ver si hay disponible un carácter para la transferencia. BUB CIF . Cuando la subrutina completa su operación. 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. Un carácter codificado en binario entra a la computadora cuando se ejecuta una instrucción INP (entrada). La primera parte de la subrutina transfiere los tres parámetros 100. sacar carácter HLT CHR./Bandera = O.

Manipulacibn de caracteres Una computadora no es s61o una computadora sino tambih un manipulador de sXmbo105.(0-7). 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. . Cuando la bandera cambia a 1 . E&o es conveniente porque cada caricter w p a 8 bits y una palabra de memoria contiene 16 bits. La tabla &19@) lista las instrucciones necesarias para escribir un carácter almacenado inicialmente en la memoria.unciclo de dos instrucciones comprobando el bit de bandera. TABLA 6-20 Subrutina para introducir y guardar junb dos c a r a e m m 2 . Primero se carga d car6cter a AC. Si es O. la computadora permanece en . Una de fales t m s puede reunir dos caraen una palabra. Para impWIo. 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. el usuario se asegura de que ocurra la transfemfcia correcta. ta palabra empacada permanece en el acumulador. .las dos htmcciones del ciclo se ejecutarán muchas vecw antes de que se transfiera un carácter al acumulador. 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. se ejecuta fa siguiente instrucción en secuencia. SKI BUN SCD INP OUT BUN i N 2 1 /Retomar . FST. Como el dispositivo de entrada es mucho d s lento que h computadora. Esta insttucci6n es un brinco para retomar y comprobar el bit de bandera otra vez. se transfiere el carhcter del acumuiador a la impresora. 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. Una unidad temhai que comunica en forma directa con tina computadora no eel carácter cuando se oprime una k l a . Si la insmcción SKI encuentra el bit de bandera en O. DespuQ se comprueba la bandera de saiida. De esta manefa. u & se escribe el cadctei mediante la instruccibn OUT.

macenarpalabradedoblecatackrenelbuffer /Incrementar apuntador /Ramificar para i n d u c i r rnhs caracteres /Primera direccibn de buffer /Pasieibn para aputitador ADS. E) programa que se lista en la tabla 6 2 1 puede utilizarse para introduur un psograma sirnbbiico desde el teclado. empacar dos caracteres en una palabra y almacenarlos en el buffer. 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. m. /Sumar segunda palabra /SaItar s i AC B cero CMA INC ADD WD2 SZA m. La primera dirección del buffer es 500. 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.- BUN UEQ BUN EQL /Brincar a rutina "diferente" /Brincar a rutina "igual" . No se u t i k un contador en el programa. 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. 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.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. m. 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.posici&n FEF). El primer cardckr doble se almacena en la p~sici6n 500 y todrw los caracteres se almacenan en posiciones secuenciales. N6tese que se solicita la subrutina IN2 de la tabla 6-u) para introducir y empacar los dos caracteres. 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. En una situacibn prsctica podría ser necesario limitar el tamaiío del buffer y podría usarse un contador pwa este prop6sito. El programa utiliza un apuntador para llevar un registro de la posici6n achtalmente vacía en el buffer.

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

4 Rmperar el contenido de lm registros del procesador. Esta es la dwcci6n de retorno almacenada ahí durante el ciclo de in-p ción. 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. La secuencia mediante la cual se mprueban bs banderas dicta la prioridad asignada a cada dispositivo. donde se interrumpi6.una intemupci6n inhabilita la opci6n de más intemp dones. Se atiende primero el dispositivo cuya prioridad es mayor y despub al que tiene una prioridad menor. p'ogfama. de otra manera el programa principal puede ejecutarse con error.) Las banderas se verif~canen forma secuencial. La r u h de centicio dek habitar la inkrrupcibn antes del retorno al programa principal. Si una o ambas banderas están activadas. 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. La rutina de ervicio debe tener inshcciones para ejecutar las siguienb m a s : 1 . La rutina de servicio de la intempci6n ejecuta las seis tareas mencionadas. Como la rutina de servicio puede utilizar estos registros. 5. es necesario ''~lvar" su contenido al principio de la rutina y "recuperarlo" al h l . La aparición de. 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. 2 Comprobar cual bandera está activada. Aunque pueden advarse dos o m8s banderas al mismo tiempo. 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. 3. IA parte listada del programa principal tiene una instruccibn ION que habilita 11a intermpcibn. Regresar al programa principal.218 SELS . A n b de retomar al programa principal. La pmicibn 1 tiene una instrucción de brinco al inicio de la rutina de semicio SRV. Los contenidos de AC y E se almacenan en posiciones especiales. Por l o tanto1 el programa principal continuad desde la posicibn 104. Habilitar la @6n de interrupción. primero las banderas de entrada y después las banderas de salida. La posici6n O 'se reserva para la direcci6n de retorno. 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. 6. se trmfiete un grupo de d a b hacia o desde el buffer de memoria correpandiente. Supongamos que ocurre una interrupci6n mientras la computadora ejecuta la instrucci6n de la localidad 103. Salvar el contenido de los registros del procesador. (Estos son los únicos registros del procesadar de la computadora bAsica. . D a r servicio al dispositivo q y a bandera está activada.

/La W w a estd apagada. . SE. Además. 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.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. las fuentes de interrupcibn no se limitan a transEerencias de entrada y salida. comprobar siguiente bandera /La bandera eskA activada. trada /Imprimir cadcter /Aimamnarlo en buffer de entrada /Incrcmcntar apuntador de entrada /Comprobar bandera de salida /Lahñndcra esth apagada. Pueden usarse interrupciones con otros pmp6sitos. m. 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 . como para procesar v r e s internos o candiciona de alarma especial. 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. Rl. 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.

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. despub de que +ute sada instnrcci6r~Todos los nifmeroei Estados. E 1 siguiente programa estA almacenado en la unidad de memoria de l a cumpukidorabásiria. ~ Q u contienen d AC y la palabra de memoria en la dkción 103 cuando se detiene la computadora? 6-3.m : S Pqmm&n básica de Ia computadora ó-l.e IR (en hexadecimal) aI finai. Considere variables enteras.abajo est&n en hexadecimal. Muatre el contenido de AC. L a computadora ejecuta las inctrucciom comenzando m la dirección 100.C SlJll=SUH+DIF . SUM = O SUM-SUli+A+B DIF = DIF . Liste el programa de lenguaje ensarnblador (de las instrucciones biirias equivalentes) generado mediante un mmpilador del siguiente programa Fortran.PC.

y al enunciado 30 si A . 6-8. 6-11. cido y proporciona su contenido binario. Esto es si& al enunciado de Fo&mn DIMEMIDN A(10). >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. Liste el programa traducido en hexadecimal. 612. a. b t ee l d i g o hexadwimal del programa traducido. a. Una llnea de código en un programa de lenguaje ensamblador es como sigue: DEC -35 a. Muestre que se necesitan las cuatro palabras de memoria para almacenar la línea de d i g o y pmprcionar su contenido binario.. b . Explique en palabras qu4 realiza el siguiente progcama cuando se ejecuta. 9 . la línea de d i g o 6 . Iddifique el diagrama de flujo de la figura 6-1 para procesar '&a seudoinstruccibn.B <O. . 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. ¿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. 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. th Muestre que una palabra de memoria almacena el &digo b i i r i o tradu6-7. 64. c. Demuestre cdmo pueden almacenarse en memoria las tablas MRI y no-m.B = O. Por ejemplo. Liste la tabla de direcciones simbb1ieas que se obtiene durante la primera pasada del mnibtdor. ~Guá1 es el valor de la posición CXR cuando se detiene la computad~ra? b. 6-10. al enunciado 20 si A . 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 .comenzando desde la localidad A. Obtenga la tabla de direcciones simbblicas generada para el programa de la tabla 613 durante la primera pasada del ensamblador.6 4 6-5.B > 0.

programa para la operación de corrimiento aritmético a la izquierda. Brinque a OVF si ocurre un sobreflujo. Después de que se ejecuta una vez el progama.Escriba un programa para multiplicar dos números positivos sin signo. utilizando un apuntador y un contador. 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. el programa evalúa el producto al sumar 5 cuatro veces.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. o 5 + 5 + 5 + 5. Agregue las instrucciones necesarias para inicializar el programa. El producto debe ser de precisión única y en representación de complemento a 2 con signo si es negativo. Escriba un programa para multiplicar dos números positivos mediante un metodo de suma repetida. Por ejemplo. el ciclo se recorrerá 65536 veces. En el programa que se llama. Escriba una subrutina para restar dos números. para multiplicar 5 X 4. . a la instrucción BSA le siguen el susbraendo y el minuendo. cada uno con 16 bits significativos. que borre a O el contenido de las posiciones hexadecimalesde la 500 a la 5FF. Escriba un. Muesbre que si el programa se ejecuta de nuevo comenzando de la posición 100. Escriba un programa para restar dos números de doble precisión. Escriba un programa que evalúe la OR lógica exclusiva de dos operandos lógicos. con el fin de obtener un producto de doble precisión sin signo. La diferencia se . El programa de multiplicación de la tabla 6-14 no está inicializado. la posición CTR se quedará con cero.

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

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

Cuando se halla en un estado binarid se ejecuta la microoperaci6n correspondiente. decodificadores y unidades 16gicas arh&tieas. Las variables de control pueden . La cantidad de tipos de operaciones dife rentes que estdn disponibles en un sistema dado es finita. La complejidad del sistema digítal se deriva de la cantidad de secuencias de micrmperaciones que x ejecutan. h unidad de control inicia una serie de pasos -&les de rnicroope raciones. según la aplicacidn. las seirala de control que especifican micmperaciones son grupos de bits que seleccionan las trayectorias en los multiplk* res. Una variable de control en estado binario opuesto no cambia el estado de las'regktroc en el sistema. La micrdprogramaci6n es una segunda altemativa para dheñar la unidad de control de una mrnpubdora digital. El principio de micropgramaci6n es un m M o elegante y sistemático para controlar las secuencias de dcmoperaciones en una computadora digital. Durante cuaIquier momento.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. 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. En un sistema organizado con bus. mientras otras q~edaninactivas. se van a iniciar ciertas microoperaciones. El ~ t a d o activo de la variable de control puede ser el estado 1 o el edtado 0. La funcibn de controI que especifica una microoyieraci6n es una variable binarh.

Las unidades de control que utilizan la microprogramacibn dinámica emplean una memoria de control en la que se puede escribir. El programa del usuario en la memoria principal está formado por instrucciones de máquina y datos. 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. Las palabras de control pueden programarse para realizar diferentes operaciones sobre los componentes del sistema.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. por lo general. la memoria de control puede ser una memoria de sólo lectura (ROM). que se denomina palabra d e control. La memoria principal estli disponible para que el usuario almacene programas. El contenido . desde un disco magnético. El microprograma consta de instrucciones que especifican diferentes señales de control interno para la ejecución de microoperaciones de registro. Este tipo de memoria puede utilizarse para escribir (para cambiar el microprograma) pero. El registro de direccionamiento de la memoria . Cada palabra en la memoria de control contiene una microinstrucción.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.' Una unidad de control cuyas variables de control binario se almacenan en la memoria se llama unidad de control microprogramada. Una secuencia de microinstrucciones constituye un microprograma. dentro de la cual se almacena toda la información en forma permanente. Como no se necesitan alteraciones del microprograma una vez que la unidad de control está en operación. El contenido de la palabra en ROM en cierta dirección especifica una microinstrucción. para . La configuración general de una unidad de control microprogramada se muestra en el diagrama de bloques de la figura 7-1. Las palabras en ROM se vuelven permanentes durante la producción de la unidad. En contraste. para evaluar la dirección efectiva. Un descubrimiento más avanzado conocido como microprogramación dinámica permite que un microprograma se cargue al principio desde una memoria auxiliar. por ejemplo. Una computadora que emplea una unidad de control microprogramada tendrá dos memorias separadas: una memoria principal y una memoria de control. la memoria de control contiene un microprograma fijo que el usuario ocasional no puede alterar. 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. Estas microinstrucciones generan las microoperaciones para llevar a cabo la bfisqueda de la instrucción en la memoria principal. La memoria de control se considera como una ROM. La microinstrucción especifica una o más microoperaciones para el sistema.de la memoria principal puede variar cuando se manipulan los datos y cada vez que se cambia el programa. Cada instrucción de máquina inicia una serie de microoperaciones en la memoria de control. se utiliza para lectura. Una memoria que es parte de una unidad de control se denomina 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. Por esta radn. 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. 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. Esta configuraci6n requiere un reloj de dos fases. L a direccibn siguiente también puede ser una funci6n de condiciones de entrada externa. transferir una diremi611externa o cargar una direcci6n inicia1 para iniciar las operaciones de control.de la direccjbn siguiente Figura 7-1 Organización de control microprograrnada. porque determina la secuencia de direccibn que se lee en la memoria de control. es necaario utilizar algunos bit5 de la microinstrucci6n presente para controbr la generacihn de la direcci6n de la siguiente microinstruccibn.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. Las funciones tipicas de un menciador de microprograma son incrementar el registro de direccionamiento de control en 1. 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. La direccidn de la siguiente instnicei6n puede especificarse de varias maneras. 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. . donde se aplica una de éstas al registro de díreccimarniento y l a otra a1 registro de datos. dependiendo de las entradas del secuenciador. E l generador de l a . El registro de datos en ocasiones se denomina registro de arquitectura pmlela (pipeline) u paralelo. cargar una direccih de la memoria de control en el registra de direccionamiento de control. ta palabra de control y la informaci6n de la siguiente direccibn se toman de la memoria de controI. Una vez que se ejecutan estas registro de lineas operaciones. El sistema puede operar en el registra de datos de control al aplicar una d a fase del reloj al registro de d-onamiento. Por lo tanto. La micruinstrucci6n contiene una palabra de control que especifica una o más micmoperaciones para el prricesador de datos. 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 .siguiente instrucci6n en ocasiones se llama un secuencindor de micropmgrama.

D e esta manera.se almacenan en la memoria de control en grupos.mmputadora tiene su propia rutina de microprograma en la memoria de control para generar las miamperaciories que ejecutan la instrucción. no hay necesidad de cambios' posteriores. cada grupo espeeüica una . por b general. El contenido de la palabra especificada en ROM permanece en hs Iineas de salida. 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. es la de la primera microinstmcci6n que activa la rutina de bdsqueda de instrucci6n. lo único que debe cambiame es el rnicroprograma que reside en la memoria de control. La configuraci6n de la circuikría no debe cambiarse para diferentes operaciones. con el valor & la direcci6n como entrada y la paIabra correspondiente como sdida. Para apreciar la secuencia de la direcci6n en una unidad de contmI de programa. En el ejemplo que sigue consideramos un reloj de una sola fase. 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.No hay que olvidar que una ROM opera como un -- circuito combinatorio. Los otros dos componentes: el secuenciador y la memoria de control son circuitos combinatorios y no necesitan un reloj. el registro de d k i 6 n es el único componente en el sistema de control que recibe pulsos de reloj. Si desparnos establecer una secuencia de control diirente para el sistema. 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. 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. Control de iínew internas 7-2 Secuencia de la direccion tas ~roinstnzcuones . L a principal ventaja dd control micropmgramado es que. Esta direccidn. por 10 tanto no utilizamos un registro de datos de control. enumeremos tos pasos que debe seguir el control durante la ejecucidn de una ittstrucci6n de computadora. 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. No se necesita d a 1 de lectura como en una memoria de acceso aleatorio. y rutina. ti L a rutina de bdsqueda puede sscuenciarse al incrementar el registro de direccionamiento de control por medio del resto de sus microinstrucciones. Cada instrucci6n de.

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

Figura 7-2 Celección de una direcci6n para la memoria de control. Se transfiere una dilección externa a la memoria de control mediante un circuito 16gico de mapeo.de la computadora y otros hits para especificar e l método con e l que se obtiene l a siguiente direccibn. El incrementador incremmta el contenido del registro de dhccbnamiento de control en uno. 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. para seleccionar la microinstrucci6n siguiente en secuencia. DireEcion de transferencia de control . cuando d rnicroprograma desea retornar de la subrutina. 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). La transferencia de control del programa se consigue al esp~ificar la direcci6n en uno de los campos de Ia microinstmccibn.

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

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

aqui presentarnos una computadora digital simple y c6mo se programa. 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. El uso de una pila en ilarnadas y regresos a subrutina se explican con mayor detalle en la sección 8-7. 9 ' Configuracibn de la computadora El-pmgrama de bloque de una computadora se muestra en la figura 7-4. La memoria de control y sus registros se organizan como una unidad de control mkroprogramada. p m r a en salir (LIFO). 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). 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. el registro de datos DR y el registro acumulador AC.registra de subrutina del microprograma. 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. el e t r o de direccionamiento AR. La computadora que s e usa aqui es-similr pero no iddntica a la computadora bisica que se present6 en el capftulo 5. 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. b k a generacih de código se llama microprogramacih y es un proceso similar a la programacibn de lenguaje de miiquina convencional. e n se m u e s t r a en la figura 7-2. Para apreciar este prweso. Pueden ahorrarse microinstrucciones al emplearse subrutinas que ~rtilizansecciones comunec de microcódigo. Los regisiros del prpcesador son el contador de programa PC. 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. . Consta de dos unidades de memoria: una memoria principal para almacenar instrucciones y datos y una memoria de control para almacenar el micropm grama. muchos microprogramas contienen secciones de c6digo idbnticas. as tarea del diseibdor generar el microc6digo para la memoria de corttrol. 1La unidad de control tiene un registro de direccionamiento de control CAR y un registro de subrutina SBR. 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. Esta =uencia podfla s e r una subrutina que se solicite en cualquier rutina para ejecutar el dlculo de dire4411efectiva. Con frecuencia. Se asoeian cuatro registros con la unidad del procesador y dos con la unidad de controI.

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

Para no complicar el ejemplo de microprogramaci6n. a q d 9610 se consideran cuatro instrucciones. Después se moshr6 que cada instruM6n de computadora debe microprogramarse.o de operaci6n de 4 bits y un campo de dXxecci6n de 11 bits. E 1 campo CD 6eIdona las condiciones del bit de estado. representado por 1 . El p~ograma pasa a ejecutar la siguiente insbccih si AC no es negativo. La figura 7-5(b) lista cuatro de las 16 instrucciones posibles de referencia a memoria. La instnicciBn BRANCH provoca un brinco a la direcci6n efeetiva si el operando en AC es negativo. un c6dig. Los tres campos F1. La instruccidn ADD suma el contenido del operando que se encuentra en la dirección efectiva al contenido de AC. El ampo BR e c a el tipo de transferencia de contror que ae usarb. El . AC es negativo si su bit de signo (el bit a la extrema izquierda del registro) es un 1 . b s 20 bits de la microhtrumi&n se dividen en cuatro parties fundonal~. La instrucci6n EXCHANGE inkrtambia los datos entre AC y b palabra de memoria espeOfdada por la dirección efectiva.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?y M especifican micmperaciones para la computadora. La hstmceibn STORE transfiere el contenido de AC a la palabra de memoria wp&if~cnda p ' rla direcci6n efectiva. 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. fomtato de mhin+cidn Formato de las rnicrohtrudones El formato de microinstruccibn para la memoria de control se muestra en la figura 7-6.

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

CAR(0. 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.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.subruiina) CAR (2-5) +DRCll-141.I -6) +O + . 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.mroen AC Función BR M I 01 1 0 11 Slmbolo JMP CAU.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 .

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

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

! % acostumbra ecribir microprogramas en forma simbblica y . utilizar un programa ensamblador para obtener una traduccihn a binario. El modo de direccionamienbs Micropxogama simbólico .Esto proporciona cuatro palabras en la memoria de control para cada rutina. 2 0 . 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 ejecuci6n de la tercera mfcrainsthcci6n (MAP) en la rutina de búsqueda da como resultado un brinca a la dimcibn Oxxxx00. 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. . l a qresentaci6n simb6lica es útil para exribir m~cropmprztrnasen un fomnato del nguaje ensamblat e almacenarse en dor. 60. si la instmccidn es una ADD cuyo código de operaciSn es 0000. La primera dimi611 para la rutinas BRANCH y STORE son O O001 0 0 (el decimal 4) y O O010 00 (el decimal 8). En cada rutina debernos proporcionar micminstrucciones para evaluar la direccibn efectiva y ejecutar la instrucción. tos valores de bit se obtienen de la tabia 7-1. 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. La representaci6n de Eransfe rancia de registros muestra las operaciones de transferencias de registros internas que implantan cada miczoinstrucci6n.dqpu4s. la cual es la direccidn de inicio para Ia rutina ADD en la memoria de control. respectivamente. la microinstmcci6n MAP transferirá a CAR la d k c i b n 000000Q.ronvmdones del lenguaje ensambIador definidas antes. donde xxxx son los 'cuatro bits del código de operacibn. 16. La mpresentaci6n binaria es el contenido real que de la memoria de control. La primera direcci6n para las otras 13 rutinas está en los valores de dirección 12.. Por ejemplo..

l a cual después se transfiere a AR. 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.indirecta está asociado con todas las instrucciones de referencia a memoria. La primera microinstrucción en la rutina ADD solicita la subrutina INDRCT. 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. 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. se coloca exactamente después de la rutina de búsqueda. 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. simboiizada mediante INDRCT. . La nitina 5TOlU3 vuelve a utilizar la subrutina INDRCT s i I = 1. como se muestra en la tabla 7-2. Para apreciar c6mo ocurre la transferencia y retorno de b rutina indiwQ. Por lo tanto. La instrucci6n BRANCH debe provucar un brinco a la direecibn efectiva si AC < O. donde está almacenada la rutina ADD. Despu4s la dirección efectiva se transfiere de AA a PC y d rnicroprogra'ma regresa a la rutina de biisqueda. por l o tanto. 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. condicionada al estado del bit 1. 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. Si S es igual a 1. ia ejecucibn de la ítistrucci6n ADD se realiza mediante las microinstrucciones de las direcciones 1 y 2. La nitina BRGNCH en la tabla 7-2 comienza por comprobar el valor de S. E i contenido de AC s e transfiere a DR. El retorno de la subrutina @ET) transfiere la direccibn de SBR a CAR y. lo cual se detecta cuando el bit de estado S es 1. La primera microinslnicci6n lee el operando de la memoria en DR. Si i = 1. Esta subrutina. 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.1 a O. tiene que accesarse la memoria para obtenqr la direcci6n efectiva. cmsidmos que la microinstnicci6n MAP al final de la rutina de búsqueda provacó un brinco a la direccibn 0. retorna a la segunda microinstrucci6n de la rutina ADD. Si S es igua.

di vi di^. 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 . l$ tabla 7-2 contieIie una lisb parcial del mimoprograma. . que se encuenlra ahora . Este intercambio es posible cuando los registros san del tipo activado por £isnw. E l contenido original de AC. (vbase l a figura 1-23).en DR. 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.Las instrucciones como multiplicar.TABLA 74 Microprograma simb6lioo (parcial) ADD: ORG O NOP READ ADD NOP NOP NOP 1 CAIa. LNDRCX. y otras que mqpierert una larga secuencia de micmapmacio~leg~ necesitaran h6s de cuatro micminstrucriones parq su ejecución.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. Las palabras de memoria de conhol de Ia 69 a la 127 pueden usarse para este pq%sito.pbiaones 69 a la 1 2 7 . N&be Si510 .sehan m i c q x ~ a m a d o cuatro de las 16 instrucciones de computadora posibles. se almacena de r e p w en la ihemoria.

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 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. TABLA 7-3 Mianprograma binario pata memoria de control (parcial) u. la siguiente rutina comienza en la direccibn 4.para escribir m i c m programas de manera que las personas puedan leerlo y comprenderlo. 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 .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 .S E C ~ 7-3 N Ejemplo de un micioprograma 243 Microprograma binario El rnicroprograma simb6lico es una foma conveniente . 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.010~ y 9us valores bimrios equivalentes se definen en la tabla 7-1. Aunque . Nótese que la direcci6n 3 no tiene equivalente del microprograma simbóiii porque la rutina ADD sblo tiene h. 1 y 2.

si ocurre algún error no detectado o s i KM señal de ruido establece CAR para el valor de 3. La ROM est4 hecha de I C que pueden reemplaza= cuando es necesario y sustituirse por otm. la lista binaria de microprograma proporciona la tabla de verdad para fabricar la unidad. Si se utiliza una memoria de control en la que s e pueda escribir. También aumenta el tiempo de retardo de . 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. es necesario generar un nuevo microp~~)grama y "enmascarar" una nueva ROM. P&OB hahr especificado &lo dígitos O en la palabra porque esta posicihn nunca se utilizar6. Para modificar el conjunto de instrucciones de la computadora. 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. 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. 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. S i embargo. Los bits de la ROM se fijan una vez que se funden los enlaces internos durante la producción 'de la circuiterla.dela unidad de control Los bib de la microinshuccibn por lo genera1 se dividen en campos. y cada campo define una funci6n separada y distinta. Los diferentes campos que se encuentran en los formatos de instrucci6n proporcionan bits de control para iniciar microoperaciones en el sistema.La anterior puede retirarse e insertarse una nueva en su lugar. 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. debe especificarse al* valar binario para cada palabra en la memoria de control. Sin embargo. Cuando se utiliza una ROM para la memoria de control. la ROM se sustituye con una RAM. - ihi A b I contenido'de la paIabra de la memoria de control. ser4 prhetico saltar a la direcci6n 64. 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 cual es el comienzo de M memo* de contrul - . Cada campo requiere un decodificador para producir las e l e s de control correspondienws.la dhwcidn 3 no se usa. El microprograma binario que se lista en la tabla 7-3 especifica el 7-4 Diseño . 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. cuando F1 = 101 @hario S ) . IA salida de la memoria de m t m l de cada s&campo dek dediticpara que proporcione las.ocho salidas. b fipya 7-7 muestra las tres deico. mostró en el ejemplo de pmgramacibn de Ia. la siguiente Figura 7-7 13erodlCicaci6nde campos de micrmperacibn. 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.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.huito pnv&& para Miciar l a microoperaci6n ~~IT@SporidigIte.c. según se e s ~ i &ca en la kbla 7 1 .secci&n anterior.distintas rnicrooperaciones. La d d i i c a c i 6 n de 10s bite de control se.Por ejemplo. Las ~ Q d a s de loa decodificadores e s & conectadas a las entradas convenientes en la unidad de procesador. Los nueve bits.dificadoresy algunas de les conexiony que deben hacerse a partir de sus salidas. del campo de la microoperacibn se dividen en tres campos de tres bits cada una. Cada una de estas salidas debe conectarse al .SEC~QN P-8.10) 1t ir ir Seleccionar 41 -- O 1 Multiplexores = WoY .. 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.

como se muestra en la figura 7-7. En lugar de utilizar compuertas para generar las seHales de control marcádas mediante los shbolos ADD. 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. un secuenciador de circuitos integrados debe proporcionar una organizacidn interna que pueda adaptarse a un amplio rango de aplicaciones. al igual que existen grandes unidades ROM disponibles en encapsulados de circuitos integrados. 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. Algunos secuenciadores proporcionan un registro de salida que puede funcionar como el registro de direcci6n para h memoria de control. y DR en la figura 5-19. Sin embargo. Para garantizar un amplio-rangode aceptabilidad. La unidad de corrímiento lbgico aritmetico puede di&rse como en lm figuras 5-19 y 5-20. para que cuando una de e k s esté activa. L s otras salidas del decodifkador que inician transferencias entre registros deben conectarse en fomia similar. 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. 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. . Semenciador de dcroprograma Los componentes básicos de una unidad de control minoprogramada son la memoria y ios circuitos que deccionan la direcci6n siguiente. respectivamente. tambih hay secuenciadores de ppop6sib general convenientes para la con* tniccibn de unidades de control de micropropma.de direccidn se llama muenciador de microprograma.) hay una transfemcia de PC a AR {representado mediante PCTAR). L a parte de seleccibn.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). estas entradas pwveridrdn ahora de las salidas de loa decodificadores asociadas con los símbolos AND. ADD Y DRTAC.Cbrno se muestra en la figura 7-7. Puede construirse un secuenciador de mimoprograma con funciones digitales que w? ajusten a una aplicacidn particular. Los muitipIexores seleccionan la información de AR cuando está activa la salida 5 y de PC cuando estd inactiva la salida 5. cuando F 7 = 110 @ i r = 6. Idgfcn y de com'mhnto m. se transfxera a AR la informacibn de los multiplexores. las &lidas 5 y 6 del decodificador FI están conectadas a la entrada de carga de AR. 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. De igual manera. La transferencia a AR ocurre can una transici6n de pdso de reloj sólo cuando* estiin activas las salidas 5 o 6 del decodificadox.

Hay das multiplexotes en el circuito. La memoria de control se ínciuye en el diagrama para mostrar la interacih entre e l secuenciador y la memoria conedada a 41. 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.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. 1 Externa . Las otras tres entradas al multiplexor número 1 provienen del campo de diremi611de la miminstrucción presente. La salida de CAR proporciona la direecibn para la memoria de contral. E l primero selecciona una direecibn de las cuatro fuentes y le marca una ruta hacia dentro del registro de direccibn de control CAR. El djagrama de bloque del semendador de microprograma se muestra m la figura 7-8. de la salida de SBR y de una fuente externa que Figura 7-8 wuenciadw & micrqprogramp r a una memoria de mnhol. 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.

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

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. una compuerta OR y un inversor. 18 ns para para.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). Puede diseñarse un incrementador de circuito combinatorio al poner .. c) rnimpmgrama: d) m i d i p . N6:tese que e l circuito incrementador del secuenciador de la figura 7-8 no es un contador construido con flipflops.un. 7-1 7-2 7-3 74 ?* ¿Cual es la difapnciá entre.en cascada una serie de circuitos semisumadores (véase la figura M). sino un circuito combinatorio construido con compuertas.E l acarreo de salida de una etapa debe aplicarse a l a entrada de la siguiente. Una entrada m la primera etapa menos significativa debe ser igual a 1 y próporeionar la operaci6n de incrementar en uno. 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 .transferir la direcci6n al q i s b de direcciona~m de ~ control.~40 ns para accesztr la ROM de memoria de control. ~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. 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 . ~ 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.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. b) microinstnieei6n.

!? 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á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. E l &ligo de aperacibn tiene seis bits y la memoria de control tiene 2043 palabras. READ. convierta las siguientes rnicrooperaciones simbólicas a enunciados de transferencia de registros y a binario. proporcione el campo de microoperaci6n de 9 bits para las siguienb microopadones: 7-12 Utilizando la tabla 7-1.S i hay 16 bits d e estado en el sistema. DRTAC c. INCPC b . a. DRTAC. ARTPC. WlUTE 7-l3 Suponga que cambiamos la rutina ADD que se lista en la tabla 7-2 a las siuuienh dos microinstruocion~. b) 1011.250 SIETE Control microprograrnado b .¿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. proporcione la primera d i d 6 n de mieroinstruceibn para el siguiente c6digo de operacióm: a) ODIO. . ~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. ~Cdntos bits hay en cada una de las c u a b mízadas que se m u como ~ entradas a los midtiplexores? c. a. RDD : RERD 1 CALL JRP INDR. cuántos bits hay en e l registro de direccionamiento de contraf? b . . 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.! FETCH ADD sería la subrutina iNDR.en que pueda transferirse la informaci6n de fuentes mb!tiples a un destino común? Utilizando la tabla 7-1. c ) 1111. ~ d n f o bits s de 16gica de transferencia se utilizan para seleccionar un bit. Formule un procedimiento de mapm que proporcione ocho microinskrucciones eomutivas para cada rutina. ACTDR.& estado? e.

) da) b . N6tese que la condici6n de estado DR = O no está disponible en el campo C D de la . Liste todas 19s fallas @bis cuando e l microprograma ce ejecute en la computadora. Tradtízcalo a un microprograma simbólico coma en la tabla 7-2.ORG 40 NOP NOP IOP ARTPO S Z f U JMP FETCH JHP CaLL JMP FETCH INDRCT FETCR 7-15 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). b .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). M b a el mhpmgrarna simb6Iico para cada rutina como en la tabla 7-2. Espdfique la opetaribn realizada cuando se ejecuta Ia instrucción. ectá en la d i r e c c i ó n 64 y SNDRCT en la dirección 6 7 .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. (N6tese que AC no debe cambiar de valor a menos que la i-cción especifique un 4 1 en AC. 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.) ) 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 . La computadora de l a secci6n 7-3tiene el siguiente microprograma binarim a .

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). Espeafique h cantidad de bits en cada campo de la palabra de mntrol y proporcione un esquema de dificaabn general. Utilice el formato de microinsttucddn de la secci6n 7-3.2 cAPlTiL0 Control rnicroprogramado 7-18 computadora definida en 4 a &6n 7-3. a. el circuito se inctementa en dos.(polaridad)en la mbroinstrumi6n de la memoria de control.Sin embargo. 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. Modifique el incrementadoral incluit una entrada de control D. ~Cusntas mtc~~~peraciones pueden especificarse en una micminstrucci6n? Una computadora tiene 16 regis-. incrementar CAR si T = O O Weitar subnitina si T = 1. kmde una palabra de control para la microoperaci6n. Muestre cbmo. una ALU (unidad ari tmbtiea-16giea) con 32 operaciones. t d o s conectados a un sistema de bus común. Dice* el circuito lógico de entrada utilizando una cantidad mínima de campuettas. Una entrada a la compuerta proviene de la salida de prueba del multiplexor. S . 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). LQU& realiza el control de polaridad P? . brincar a AD s iT=O Brincar a AD en forma incondicional IncrementaT CAR en forma incondicional Brincar a AD s iT=1 . 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). c. La salida de la ~~mpuerta va a la entrada T de l a Ibgia de entrada.Minimice Ia cantidad de dcroinstrucciones. y un circuito para corrimimto con ocho opemcioms. usted puede intercambiar AC p DR y comprabar si AC = O con e1 bit 2.y tres salidas.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. Soy L. el circuito se inc&menta en uno. b . p r o cuando D = 1 .Las operaciones que m van a ejecutar en la unidad e listan en la siguiente tabla. 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. 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.Cuando D = O. Muestre los bits de la palabra de control que especifican la operaü6n R4 R5 + R6.

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

Control Conjuntode registros t 1 Unidad aritmetica ldgica (ALU) . La CPU está formada de tres partes principales. La unidad aritméticalógica (ALU) lleva a cabo las microoperaciones requeridas para ejecutar las instrucciones.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. 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 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. como se muestra en la figura 8-1.

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. 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. la CPU. el tipo de datos que soportan las instrucciones y la funci6n que reaZXza cada instnicci6n.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. 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. el conjunto de instruccione de k computadora proporciona las especificaciones para el d i d o de h CPU. e hstrucciones y la organizaci6n general de los registras J. Por I o tanto. direcciones de retorna. modos de M ~ h $ m h tel ~cijnjdto . l~mitoo de ihstrucciones. 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. sjnD también mientras ejecutan diversas micrmperaciones. 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. es necesario proporcionar una unidad común que pueda ejecutar d a s las micmoperaciones a r i h & t i a s . resultados temporales. contadores. Este c&pítulod 4 la arganizaci6n y arquitectura de la CPU con énfa& en el punto de vista del usuario de la computadora. la estructura de memoria. E i f o inüu e l a . Despds presentamos los tipos de fomtos de instrucciones disponibles. Cuando se incluye una gran cantidad de registros en la CPU es más eficiente conectarlos mediante un canal de sistema común. .! g~ el p m d o r . 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. en gran parte. Los registros se comunican uno con el otro no m510 para transferencia directa de datos. En los capftulos S y 7 se desarrollaron ejemplos del diseño de unas CPU simples. Desde el punto de vista del diseñadw. y productos parciales durante la mdGplicaci6n. E l diseíto de una CPU es una tarea que. El usuario que programa la computadora en lenguaje ensamblador o de n 8 p k a debe tomar en cuenta el conjunto de registros.. representa la eleccEon de la circuitería para implantar las instrucciones de m8quina. lógicas y de corrimignk. Es m8s conveniente y eficiente almacenar -tos valom intermedios en registros de procesador.

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

Las líneas de selecci6n en cada mdtiplexor eligen un registro o los datos de entrada para e l canal particular. 3. segiln se mwtra en la d 6 n 43. Por ejemplo. 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. Los canales se imphntan con mdtiplexores o mmpuertas de tres estados. El decodificador activa una de las entradas de carga de registro y. 2. La operaci6n dekmhada en la ALU estable la miampación aritica o 16gica que se va a ejecutar. canal de silida dentro de R1. %lector de operación (OPR) de la ALU: para proporcionar la suma ariknétia A + B. E l multado de la microoperación estA disponible para datos de salida y también va a las entradas de todos los registros.2 0 Consta de cuatro campos. tos canales A y B forman Ias entradas a una unidad aritmética 16gica común (ALV. proporciona una trayectoria de transferencia entre los datos del canal de salida y las entrad* del registro destino seleccionado. El registro que recibe la informaci6n del canal se selecciona mediante un decodificador. la ALU se construye con circuitos de alta velocidad.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. cuando ocurre l a siguiente transici6n de reloj. Wecbr de destino del decodificador (SELD): para transferir el mnt d d o del. 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. Selector de MUX 0 (SELB): para colocar el contenido de R3 dentro del canal B. Tres campos contienen tres bits paz* de c o ~ h l . 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 . 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. por 10 tanto. todo durante el intervalo de ciclo de reloj. para ejecutar la operacih. Para conseguir un tiempo de respuesta rápido. Selector de MUX A (SELA): para colocar e l contenido de R2 dentro del canal A. el control debe proporcionar variables de selecci6n binarias a las siguientes enttq&s del selector: 1 . 4. la Xrifomación binana del canal de salida se transfiere a R1. k p u g s .

AdemBs. Los tres bita de SELA se1eccionan un registro ALU fuente para la entrada A de l a ALU. L a tres bits de SELD selec&& un mghtro destino usando el dwodificador y sus siete salidas de carga. 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 . no selecciona un registro de destino pero el contenido de salida está disponible en la salida externa. En algunos casos. El campo OPR tiene cinco bits y cada operación se designa con un nombre simbdlico. En la sección 4-7 se d i h 6 una unidad arih4tica 16gica y de corrimiento. El registro seleccionado mediante los campos SELA. Cuando SBLA o CELB es 000. las operaciones de corrimiento se incluyen con la ALU. 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. La palabra de control para una microoperacibn dada . Cuando se aplica una palabra de control de 14 bits a las entradas de se1ecci6n se especifica una microoperación particular. el multipiexor correspondiente selecciona los datos de entrada exkmlos. Las cinco bits de OPR seleccionan una de las operaciones en la: 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 tabla de b c i 6 n para esta ALU est$ listada en la tabla 4-8. 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 ALU proporciona operaciones aritméticas y Ihgicas. Cuando SELD = 000.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. Ejemplos de microoperadones Se necesita una palabra de control de 14 bits para especificar una microop raci6n en la CPU. la CPU debe proporcionar operaciones de corrimiento. L a ccdWaci6n de las selecciones de registro se e c a en la tabla 81.

SEL& . el sarnpo B se marca con un guión.decontrol pam esfa micmoperación y m a s cuantas otras se listan en la tabla 8-3. Por b tanto. Por ejemplo. Asignamos 000 a cualquier campo que no se utiliza cuando se formula la palabra de control binaria. la micrmperaci6n de resta que giropgrcione el enunciado especifica RZ para la entrada A de la ALU. 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. opraci6n ALU que rmte A .ALU. se especgca la palabra de c o n b l mediante las cuatro campos y el valor binaria c?rwspondiente pan cadq campr.R1 para d q j s k p des. La operaci6n .tino. SELB R3 Símbolo: R2 011 Palabra de c~ntrol: Campo: SELD OPR R1 001 SUB 00101 4paJqbra. e s 010 O11 001 QQ101y se obtiene como s i p . y una. aunque puede usarse cualquier otro número binado. palabra de control binario para la microoperaci6n de resta . R3 para la entrada B de la ALU. Para estw . pero no se selecciona ninguno de los registros para aceptar los datos. se obtiene de l a lista de codificación en las Wlas 8-1 y 8 2 . 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.TABLA W Codificación de operaciones de la ALU Transferir A Incrementar A Sumar 3. h.fivafs de la3 variablw de seZeeci6n.B. Las micr0pp"aciones de incremento y transf-eia no utilizan l a entrada B de 4.

En las computadoras digitales. A l leer palabras de control consecutivas de la memoria. Una unidad de memoria que almacena palabras de mtcoI denomina memoria de control. La palabra de control binaria para la CPU vendr6 de Ias salidas de la memoria de control marcadas con "mimooperacionestt. es posible iniciar la secuencia deseada de microopexaciones para la CPV. Este tipo de control se denomina control microprogramado. La manera más eficiente para generar 'palabras de control con una gran cantidad de bits es almacenarlas en una unidad de memoria. a través de la ALU.P' &Salida &R2 . piia a lista iiltim~ en entrar. Puede borrave un registro a O con una operación 0 R exclusiva.k 3 R2 R4tR4VR5 Rd R6GR&+i R6 m R7eA. ta dtim charola que se coloca en la parte superior de la pila es la primera que se vuelve a tomar. El registro que contiene . ' 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. es evidente que pueden generarse otras muchas mimooperaciones en la CPU.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 .. 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 operación de una pjla puede compararse a un racimo de charolas. Esto se debe a que x @ x = 0 . A partir de estos ejemplos. 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. 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. 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. 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). primero en salir (LTFO). en las terminales de Alida.

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-. E 1 dato C est6 en la parte superior de la pila. Sin embargo. 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. Al revés de una piIa de charolas en Ia cual la charola misma pude sacarse o insertarse. Las dos operaciones de una piIa son la inserci6n y el borrado de datos. 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. Xs. Estas operaciones w simulan al incrementar o decrementar e l registro del apuntador de ia pila.en ese orden. Para recuperar el dato superior. los registros flsicos de una pila esten siempre disponibles para lectura o escritura. B y C. La operaci6n de escrituxa se llama "empujar" @ush) porque puede pensarse que es el resultado de "empujar"un nuevo dato sobre la parte superior. se ejecuta una Figura 8-3 Diagrama de bloque de una pila de 6 4 palabras. 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. figura 8 3 muestra la organizacibn de una pila de registros de M palabras. Se colocan tres datos en la pila: A. .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. Es el contenido de la palabra lo que se inserta o borra.

pero C. e l resultado es O porque 111211 1 = lMMOOO en b h i o . al incrementa SP y emibir una palabra en la siguiente posición más alta de la pila. es obvio que la pila no puede etar vacía.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. y el registro dk un bit VACIO ae activa en 1 cuando la pila estA vacia de datos. la pila estA Uena de datos y se activa LLENO en 1. Para insertar un nuwo dato se ejecuta una instniccidn "push". 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. después de incrementar SP.ecci6n 1. 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 úitimo dato se almacena en la localidad O. s e inserta un nuwo dato con una instrucción push de "empujar". El último dato es& almacenado en la didirecci6n 0.P d o puede acomodar los s e i s bits menos significativm. Una operacidn de escritura de memoria inserta la palabra dade DR a la parte superior de la pila.Si SP llega a O. Una vez que se almaun dato en la Iocalidad O. El primer dato almacenado en la piia est5 en h dll. Si se escribe un dato en la pila. por lo que se adiva VAUO a O. Esto no importa porque cuando se accesa a la pila se escrike un nuevo dato en su lugar. resultado es 111111. 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 . no puede exceder un número mayor de 63 (111111 err biario). 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. VACIO se activa en 1 y se borra LLENO a O. para que SP apunte a la palabra en la direcci6n O y la pih se marque como vacia y no como llena. El registro de un bit LLENO se activa en 1. Al principio se borra SP a O . En una piIa de 64 palabras. Esta condici6n se alcanza si el dato de la parte superior antes de la última operaei6n de empujar está en la lacalidad 63 y. e ) . ya no hay mgistros ~ c i o s la pila. D e igual manera cuando 000MX3 se decmnenta en 1. e l apuntador de piIa contiene 6 bits porque 26 = M. El dato B esta ahora en la parte superior de la pila porque SP contiene la direecibn 2. cuando la pila está Uena. Corno SP tiene sólo seis bits. Si h pila no está llena (si LLENO = O). Cuando 63 se incrementa en 1.

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

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

Notácidti polaca inversa Una srga&aci& de pila es muy ekienk para evaluar expresiones aritméticas. porque la M 6 n siempre estA disponible y se actualiza en forma autamatica en el apuntador de pila. Puede construirse una pila para que SP apunte ti la siguiente posicihn vacfa arriba de la parte superior de la pila. Consideremos ia siguiente expresión arih& tica simple. 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. Este valor inicial debe ser h. 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. almacenar este p d u c t o mientras se calcula C * D y despuk sumar los dos productos. En tal caso. . El asterisco (que significa multiplicaci6n) está colacado entre dos operandos A y B o C y D. 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).f i w a 8-3. Un quntad~x de pila se carga con un valor inicial. D q u & de una operaci6n de push. Las expresiones aritmdticas comunes se escriben en nofación i n t m fija. debe intercambiarse la secuencia de microoperaciones. donde cada operador escrito e s K entre los operandos. En lo sucesivo SP se incremmta o se decrementa en forma automAtica con cada operacan de push o pop. En este caso. para evaluar esta expresihn aritmética es necesario calcular el producto A * B.El signo de más est4 entre los dos producFos. se incrementa SP para la aperacidn de push y 8e deuemwiki para la operacibn de pop. El método matemdtico común de escribir expresiones aritmbtias i m pone dificultades cuando las evaMa una computadora. E l apuntador de piIa se incrementa despub para apunbr al siguiente data en la pila. Muchas mmputadoxas no tienen hardware para verificar e l sobreflujo de la püa @la lierra) o sobreflujo inverso {pila vacia). En la figura 8-4 la pila crece al decmmentar la direccibn de memoria.266 m OCHO Unidad central de prow%miento Iúnites de Ia pila El dato superior se lee de la pila a DR.dirección inferior de una pila asignada en la memoria. 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. La ventaja de una pila de memoria es que la CPU puede hacer referencia a ella sin tener que especificar una direccián. 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.

Cantinde analizando la expresibn y repita el procedimiento para cada operador encontrado hasta que no haya m8s operadotes. B y * por el prcducto para &tener y * dende (A * B) es una cantidad dnim' que s e bbtiene del producto. Esta jerarquía dicta que primero ej&utemos todas las operaciones aritm& ticas dmtio. La nofaci6n postm'urfija. Quite los dos operandw y el operador y wstittiyah por e l número que se obtiene de1 resultado de l a operaci6n.A B y sustituhus A. ejecute Ia aperaci6n con los dos operandos que . La conversicin de nobcidn interna fija a notaci6n poiaca inversa debe considerar la jerarquia operacional adoptada para la notacibn interna fija. 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. 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. Ejecutamos la 0peraeiSai.de los padntesis internos.e encuentran en d lado izquierdo dd operador. 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. E l sfguiente operador es m y sus d& operado. Esta mp=ta&n.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. denominada notaci6n polaca inversn (ñPN) colma el operador después de los operandos. después las de los paréntesis externos . Para la expresi6n anterior encontramos el operador * después de A y B.previos son C y D. Cuando w encuentra un operador.

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

En wguida encontramos los dos operandos 5 y 6. Figura 8-5 Operacienes de piia para evaiuar 3 4 + 5 * 5.m & M ~xganizacih de una pila 269 dato . reemp-do los dos operandos ori@Ies. en esencia. Por l o tanto. ta operación de la piia que resulta del siguiente sustituye estos dos números por su producto. La mayoria de los compiladores. se escr1h el número 3 dentro de la pila. operm'ones de pila Ahora consideremos las operaciones de b pila que se muestran en la figura 8-5.@p) de la pils y el resultado de la operacidn sustituye el operando i l a continuamente y ejecutar inferior. EI siguiente ejemplo nurndrice puede clarificar este procedimiento. sin considerar la organizacidn de su CPU. 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. w expresa como -mi. Las calculadoras cientificas que emplean una pila interna requieren que el usuario convierta las expresiones aritméticas a notacibn polaca inversa. 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. Despues se l e e la pila y el producto se coloca en la parte superior. 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. despds el número 4. Considere la expfesibn aritmdtica . convierten todas las expresiones aritméticas a notación polaca de todas maneras. * . Las computadoras que utilizan una CPU organizada con pila proporcionan un programa del sistema para ejecutar la conversi6n para el usuario. Rimero.rr w p w n (3 * 4) aP4 & + (5 * 6) En notacidn polaca mversa. el siguiente shholo es eI operador de multiplicaci6n Esto provoca una multiplicaci6n de los dos datos superiores'en la pila. por lo que ellos se escriben dentro de la pila. Al escribir los operandos dentro de la p las operaciones como se definid.

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. Tales manuales explican la construcci6n interna de I a CPU. Las operandos que residen en I a memoria se especifican . Los campos más comunes que se encuentran en los formatos de instrucciones son: l. Un campo de modo que especifica la manera en que se determina el operando o la dirección efectiva. 2 . U n caknpo de direcci6n que represeata una direcci6n de mmoria o un registro de procésador. 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. En wasiones se emplean otros campos especiaIes bajo ciertas circunstancias. Por lo general. 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. como sumar. por ejemplo un campo que proporciona el nhmero de corrimientos en una instnicci6n de tipo corrimiento. Los bits de la instruccibn se dividen en grupos llamados campos. una computadora tendrA varios formatos de c6digos de'instrucciones. especificaii su formato en c6digo binario y proporcionan una definición precisa de cada instrucci6n. 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.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. incluyendo los registros de procesador disponibles y sus posibilidades 16gicas. Un campo de código de operacibn que especifica la operaci6n que se va a ejecutar. complementar y corrimiento. 3. En esta sección. Las operacionec mas comunes dispoi-iibles en instrucciones de computadora se listah y analizan en la secci6n M.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. TambiGn listan todas las instrnicciones que se implantan con hardware. Los bits que definen el campo de modo de una instrucci6n especifican diversas alternativas para escoger las operandos de la direcci6n dada. h s operaciones especificadas mediante instrucciones de computadora se ejecutan sobre algunos datos almacenados en b memoria o en registros de procesador. restar.

Todas las instrucciones se ejecutan con un registro de acumulador relacionado. 3. 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. Los operandos que residen en un registro de procesador se especihcan con una direcci6n de registro. 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. Por b tanto. 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. 2 Organización de registro general. Por 10 tanto. Un ejemplo de un tipo de organizací6n de registro general se presentd en la figura 7-1. B3 pera representar la operación R1 + IC2 + R3. la instnicci6n . Las computaddras con miilriples registros de procesador utikan la instrucción de mover con un nemhico MOV para reprecentar una instnicci6n de trangferencia. representad el registro R5.SECCI~N M Fomtos de las instniccionec di-& de +sFro mediante sus direcciones de memaria. Organizacibn de acumulador i'mlco. Por ejemplo.Por lo W o . la instnicci6n ADD RltfB2 repxesentarh h operacibn R1 + Rl + R2. R 2 . Un ejemplo de una organizaci6n de tipo acumulador es ¡a computadora básica presentada wi e l capitulo 5. Por lo tanto. Organizacihn de pila. Por ejemplo. El formato de instrucci6n en este tipo de computadora utiliza un campo de direccibn. ta mayoría de las computadoras caen en uno de tres tipos de arganizaci6n de. AC es el registro acumulador y WXJrepresenta la palabra de memoria que se localiza en la dirección X. Sólo necesitan especificarse las &&dones de registro para R1 y R2 en ata iÍishucci6n. 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.CPU: l . Las computadoras pueden tener instrucciones de diferentes tamaiios que contengan una cantidad variable de direcciones. El formato de instrucci6n en -te tipo de computadora necesih tres campos de direcci6n de registro. L a instrucci6n ADD en este caso da como resultado la operacibn AC AC + M[XJ. e l nhero binario 010'1. 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.

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

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

en =te ejemplo no l o tomaremw en cuenta y consideramos que AC contiene el resultado de El programa para waiuar X = (A i. las instrucciones PUSH y POP necesitan un campo de direeci6n para especificar e l operando que comunica con la pila. Sin embargo. Para la multiplicacibn y división se necesita un segundo registro.C RI+M[A] R2. Sin embarga. El siguiente programa muestra d m o se 4 i r 6 X = (A B) * (C D)para una computadora organizada con pila. + HIB] M[T]+AC AC+H[CJ ADD MUL STORE de memoria. E l primer símbolo listado en una instruce transfiere e1 resultado de la ci6n se considera fuente y destino. hshcciones de una direcci6n tas instnicciones de una direcci6si utilizan un registro acumulador (AC) irnpiícito para toda la mmipuhci6n de datos.BB)* (C + D)es todas las LORD ADD STORB EOAD R AC+B[A] RCtA[C] B T C . A RlrB R2.) + + PUSP PUSH a C r o s t ~ TOS+B TOSt(A P~SH B ADD + B) TOStC . 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.274 KHO Unidad central de pracesamiento MOV ADD HOV ADD RI. adonde s operación. (TOS significa la parte superior de la pila. 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. Instnicciones de cem direcciones Una computadora organizada con pila no utiliza un campo de direcci6n para las instrucciones ADD y MUL.

Un programa para una CPU tipo RE€ consta de instrucciones LOAD y STORE que tienen una memoria y una direcci6n de registro. La manera en que eligen los operandos durante la ejecución del programa depende del modo de direccionamiento de la instrucción.Todas las otras instrucciones se ejecutan dentm de los registros de la CPU s i n transferir* a la memoria. 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. es necesario convertir la expresi6n a motaci6n polaca inversa. El modo de direccionamiento especifica una regla para interpretar o modificar el campo de dwcci6n de la . 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. E s t a operacl6n debe realizarse mbfe algunos datos almacenados en registcos de computadora o en palabras de memoria. e instnieciones de tipo computaciond que poseen tres direcciones donde d a s especifican registros de procesador.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. 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. El resultado de los c6lculos se guarda despuks en la memoria con una inshucci6n de almacenar. 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. E31 campo de operaci6n de una instruccidn especifica 4 opexaci6n que se va a ejecutar. 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 .

Reducir la cantidad de bits en el campo de direccionamiento de la iastnicci6n. El campo de modo se utiliza para ubicm los +randas necesarios para la operarihn. in&aci6n de datos y reubicación de programas. contaáor de programa IPC) ampo de modo Hay un registro en la computadora llamado contador de programa o PC. El c6diga de operaci6n la operadón que se va a ejecutar. se combinan dos o m8s modos de direccionamiento en una insbruccibn. que lleva un registro de las instrucciones del programa almacenado en la memo&. puede representar una di~eccibnde memoria o un tegistm de próeesadot. 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. Pueden definirse instrucciones con &&so$ madd de direccionarniento y. Las computadora~utilizan técnicas de modo de direccionamiento para acomodar una o las das siguientes consideraciones: 1. Ejecutar la insmicción. Además. 2. es imperativo e n h d e r el ciclo de operaci6n bAsh de la computadora. 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. 3. Otras computadoras utilizan un c6digo binario único que representa la operaci6n y el modo de la instrucción. En algunas computadoras el modo de direccionamiento de la instnicci6n se especifica con un código biario diitititd. 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. 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 . el modo de dinxcionamiento de h instnicci6n y la posici6n de los operandos. 2. Proporcionar al usuario versatilidad de programacidn al ofrecer facilidades como apuntadores a memoria. Puede haber o no un campo *dedireccionamiento en la instrucción. Un ejemplo de un € b m t o de hshuccibn con un campo de modo de direccionamiento distinto se muestra en la figura 84. contadores para control de ciclo. Para comprender 10s diferentes modos de direecionamiento que se presentarh en esta sección. como se hace con e l caigo de op"aci6n. Búsqueda de i a instrucci6n de la memoria. La decodificacibn realizada en el paso 2 determina la qxraci6n que se va a ejecutar. en ocasiones. Decodificar la instrueci6n.276 0 Unidad ~entra1 de p m m i e n t o instrucci6n anta de que se haga la refehcia real al operando. como se .

Cuando el campo de direcci6n especifica un registro de prccesador se dice que la instnicción estii en modo de registro. Modo Direaibn I w n campo de modo. 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 . al registro seleccionada contiene la d i ci6n del operando en lugar del operando mismo. hay dos modos que no necesitan el campo de dirección. 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. una instrucci6n de modo inmediato tiene un campo de operando. Modo dé registro: En este modo. 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 implícito: En este modo se especifican los qperandos en forma implícita en la definicibn de la inst'nicci6n. Un campo k bik puede especificar cualquiera de 2k registros. 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. Un campo de operando contiene el operando real que se va a usar jmto con la operacibn especificada en la insttucci6n. Son los modm hnplfcito e inmediato. y cada campo de direccibn puede estar asociado con su propio modo de direccionamieno particular. Ahtes de utilizar una instrucción de modo indirecto par registro. en lugar de un campo de d i r d 6 n . Las instrucciones de modo inmediato son ' Útiles para inicializar registMs en un valor constante. el programador debe asegurarse . Por ejemplo.D e hecho todas las instrucciones de referencia a registro que utilizan un acumulador son instrucciones de modo implícito..SECU~NM Modos de direEcionarniento 277 analiz6 en l a seccibn anterior. 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. los operandos están en registros que residen dentro de la CPU. Modo inmediato: En este modo se especifica el operando en la instrucción misma: En otras palabras. Se mencionb antes que el campo de direcci6n de una instrucci6n puede especifkar una palabra de memoria o un registro de pmesador.

El control recupera la instrucci6n de la memoria y tiliza su. el campo de direccibn de la inskucci6n proporciona la dimtibn en que se almacena la direcci6n fectiva en la memoria. El m& de direccionarniento indirecto también se explica e n la d n 5-1 junto con la figura 5-2. Cuando la direccibn almacenada en el registro hace referencia a una tabla de datos en la memoria. ' . En ocasiones el valor que se proporciona en e l campo de direccibn es la direccibn del operando. Sin embargo. Modo de direccionamiento indirecto: En =te modo.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.part. Es Ia direccidn en que e l control se transfiere en respuesta a una instmccidn de tipo brinco. Entonces uría referencia al registro es equivalente a especificar una d h x i 6 n de memoria. La dimi6n efectiva es la direccibn del operando en una inshuccidn de tipo cornputacional.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. Esto puede lograrse al usar la instruccibn de incrementar o decrementar. memoria en forma directa. 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. pero en ocasiones es sbla una direccidn desde la cual se calcula la di~ecci6ndel operando. La unidad de control en la CPU utiliza el campo de direccibn para obtener e l operando de la memoria. Ya hemos defiriido dos modos de direccionamienta en el capíhiio 5. 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. fijado mediante el modo de difeccionamiento proporcionado. 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. . 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. excepto en que e l registro se ipcremenb o decremenka despu& (o antes) de que su valor se utilice para a-r la memoria. como este es un requisito común. Se resumen aquí para que sirvan de referencia. 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. es necesario incrementar o decremenfar el registro despuks de cada acceso a la tabla. direccibn efedivu Modo de autoincremento o autodecremento: Este es similar al modo de registro indirecto.ede +direecibnpara accesar la memoria una vez m As con e l fin &-&le leer la dimci6n efedtlva. La direecibn ejectiva s e define como la &mi611de memoria obtenida del dlculo. La ventaja de una instaicci6.

cuando la direccidn del brinco está en el Brea que m i e a la palabra de la instrucci6n misma. Un campo de direcci6n de h instnicci6n define la dirección inicial del arreglo de datos en la memoria. . Cada opando del arreglo &e almacena en la memoria m relaci6n con la direcci6n inicial. 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. Esto es 24 posiciones de memoria adelante de la dirección de la siguiente hhucci6n. la instrucci6n se convierte al modo de operaci6n de indirecto por registro. 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.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 registro índice es un registro de CPU especial que contiene un vaBr índice. N6tese que si una instrucci6n de tipo índice no incluye un campo de direcci6n en su formato.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. 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. 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. 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. Para hacer más claro con un ejemplo. 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. 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 contenido de [registro de CPU E l registro de CPU utilizado en el cdcuio puede ser el contador de programa. En cualquier caso tenemos un modo de dimcimamiento diferente que se utiliaa para una aplicación distinta.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. El registro índice puede i n m mentar= para facilitar el acceso a operandos consecutivos. un registro de índice o un registro base. E 1 ciilculo de dreccibn efectiva para el modo de direecidn relativa es 826 + 24 = 850. 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. Cuando se suma este número al contenido del contador de prugrama. Con frecuencia se utrliza el direccionamiento relativo con instrucciones de tipo brinco.

en I q p r de registro de indice. Para cada modo posible calculamos la direcei6n efectiva y el operand o que debe cargarse dentro de AC. veremos e l ejemplo de los modos de direccionamiento sobre Ias instrucciones que se definen en la figura 87. 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. La figura lista unas cuantas direcciones pertinentes y muestra el contenido de la memotia en cada una de ellas. Modo de didonamiento de xegistro base: En este modo. En tal caso. 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. Cuando se mueven datm y programas de un segmento: de memoria a atra. En el modo inmediato Ejemplo numénce Para mostrar las diferencias entre los diferenv modos. El campo de modo de la instruccibn puede especificar uno de varios modos.inctrucci6n especifica e l código de operacibn y modo. 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. 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 l registro debe estar especificado en forma explícita en un campo de registro dentro del formato de instruca6n. 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. excepto en que e l registro se denomina ahora registro base. Esto es similat' al modo de direccionamiento indexado. como se requiere en los sistemas de multiprogramacibn. D e rnanera hplicita este registro participa cuando se utiIiza una inshcci6d de modo índice. Con un registro base los p e valores. L2t diferencia entre los dos modos está en la manera que se usan mAs que en la manera en que se calculan. El cantenido del registro de procesador R1 es m. PC tiene e l valor 200 para . E 1 modo de . AC recibe e I operando despu4s de que se ejecuta h instnicci6n. m recuperar esta instcucclbn. En las computadora~con muchos registros de procesador. los valores de d i i b n de b s instrucciones deben reflejar esle cambio de posición.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. y la segunda palabra especifica la parte de la dirección. y el contenido de un registro hdice XR es 100.direccionamiento de registro base se utiliza m las computadoras para facilitar la locaikaci6n de las. jd J .de desplazamiento de h s instrucciones no tienen que cambiar. e l contenido de un registiro base se suma a la parte de direcci6n de la instnicci6n para obtener la dirección efectiva. La primera palabra de la . programas en memoria. cualquiera de los registros de la CBU pueden contener el número de Endice.

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

y de corrimiento. 3. 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. No obstante. 2. 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. Las operaciones reales disponibles en el conjunto de instnicci* nes no. ta mayor parte de instrucciones de computadora pueden clasificarse en tres categorhs: 1 . Instrucciones de transferencia de dms.lbgicas .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. aun para la misma instruccidn. Las instrucciones de transferencia de datos producen una transferencia de datos de una localidad a otra sin cambiar el contenida de la informaci6n binaria. Tambih puede suceder que el nombre shwlico asignado a instrucciones en la notaci6n de lenguaje ensamblador sea diferente en varias computadoras. hay un conjunto básico de operaciones que gran parte. 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. Instrucciones de manipulaciBn de datos. si no es que todas las computadaras incluyen en su repertorio de instmccionq.son muy &rentec de una computadora a otra. 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. Las instrucciones de manipulaci6n de datas son las que realizan operaciones arihn&ticas. aun para la misma operaci6n. E l conjunto de instrucciones de una computadora particdar d e t e d a .

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

El modo de autoinaemeito s e distingue del modo indirecto por regictro al colocar un signo de mas después del registro entre padntesis. consideremos la instrucci6n cargar d ammulador cuando se usa con ocho modos de diteccionamiento d i f e m ~ . Otras normas del lenguaje ensamblador utilizan un carácter especial para asignar el m d o de direccionarniento. b importante es entender que cada histnicci6n puede ocurrir con diversos modos de direccionamiento.M[RI].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 . 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* . La tabla 8-6 muestra la convenci6n recomendada del lenguaje ensarnblador y la transferencia real que se logra en cada caso. X es un registro de índice. A su vez e l modo de autodecremento utilizaría un signo de menos. En cualquier casa. En el modo indirecto por registro. 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. Una instrucci6n de modo indexado se reconoce por un registro que se coloca entre paréntesis despuCs de la dirección simb6lica. E 1 caracter $ antes de una dirección hace el direccionamiento relativo al contador de programa PC. Por ejemplo. el nombre del regisffo que contiene la dimcci6n de memoria se encierra entre paréntesis. e l modo inmediato se reconoce por un signo # colocado antes del operando. ADR r e p m t a una direccibn. Como ejemplo.M[R1] AC c. R1.R1 /'" cargar de inmediato se convierte en LDI. El carácter B simboliza una ditwei6n indirecta. El modo de registro se simboliza al proporcionar el nombre de un registro de procesador.R1 AC *. NBR es un ndmero u operando. y AC es el registro acumulador. El carhcter # precede al operando en una instruccibn de modo inmediato. R1 es un registro de procesador.

También deben traerse los operandos a los registros del piocesadar. instrucciones aritmeticas 2 inskmcciones 16gkas y de manipulaci6n de bits. 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. Si embargo. Las instruaiones & M p . multiplicación y división. tal vez. debe. Este último paso s e implanta mediante microoperaciane. 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 computadora d e k recorfer la fase de remperaci6n para leer su valor de código binario de la memoria. . Algunas de las instrucciones aritméticas necesitan circuitos especiales para su impIantaci6n. según se explic6 en el capitulo 4 o por medio.recordarse que cuando se ejecuta tal instrucdbn. En la tabla 8-7 se proporciona una lista de las instrucciones aritm4ticas tipicas. 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 .de una ALU y un cirt~to de corrimiento como se muestra en la figura 8-2. E l 6 1 h o paso e s ejecutar la instnrccibn m el procesador. La mayoría de las computadoras proporcionan instrucciones para las cuatro operaciones. Algunas computadoras pequeñas dlo tienen las instrucciones suma y. resta. Instrucciones aritmdticas las cuatro operaciones aritméticas básicas son suma. & c i S n de datos en una computadora tipica se dividen por l o general en tres tipos bdsicw l .SECQ~N 8 4 Tradxencia y manipulación 285 ra. La multiplicaci6n y ¡a divisi6n deben generarse mediante subrutinas del software. La instnieci6n de incrementar suma 1 al valor almacenado en un TABLA 8-7 Imttwiones arilméticas tipicas Nembnico lncremcntar Pmmentar Sirmar . resta.

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

OR y XOR producen las operaciones 16gicas correspondientes sobre los bits individuales de las operandos. Para cualquier variable booleana x.instrucciones Igicas. se aplican las tres instrucciones 16gicas para hacer &lo esa.que una variable binaria a la que se le haya aplicado un AND con un O produce un O . Por l o tanto. Las instrucciones AND. La instrucci6n complementar produce el complemento a 1 al invertir todos los bits del operando. o puede compJementarse. 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. Existen tres operaciones de manipulacibn de bits posibles: un bit seleccionado puede borrarse a 0. 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.- 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 . las relaciones xbO = O y xbl = x dictan .OR exclusiva Desactivar a Acti~. Aunque realizan operacbonm hleanas. La instruccibn AND t'ambign se llama máscara. activarbe en 1. p e w la variable no cambia cuando se le aplica OR eon un O. La instnicci6n 0 R se u tiliza para activar un bit o un grupo seleccionado de bits de un operando. Par lo tanto. 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. deben considerarse que las instmccianes ejecutan operacb~es de manipulaci6n de bits cudndo se usan en instrucciones de computadora. Por lo general.m a . es posible cambiar los vabres de bits. pero la variable no cambia de valor cuando se le aplica un AND con un 1 . emplear un grupo de bits o insertar nuevos vahres de bib m los operandos almacenados en registros o palabras de memoria. porque enmascara o inserta O en una parte seleccionada de un operando. Para cualquier variable booleana x. La instrueribn de borrar hace que e l operando especificado se sustituya con 0. Algunas instrucciones I6gicag y de manipulación de bits típicas s e Ustan en la tabla M . La instrucci6n AND se utiliza para borrar un bit o un grupo seleccionado de bits de un operando.

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

un tipo de instrucci6n de contra1 de programa. Las instrucciones-de rotacibn producen un carrimiento circular.programa Las instrucciones siempre se almacenan en localidades de memoria sucesivas.recorre todo el registro a Ia izquierda. REG es una direccidn de W t r o que especifica la posici6n del operando. 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. Por l o tanto. 'l"YPE es un campo de 2 bits que espeeifiea las cuatro diferentes tipos de corrimientos. Algunas. las instrucciones se recuperan de localidades de memoria consecutivas y se ejecutan. pero se hacen circular hasta d otro extremo.del . Con tal formato es posible especificar el tipo de corrimiento. al mismo tiempo. Esta es una operación de combnhfo a la derecha en la que el bit final permanece igual. la direccibn y la cantidad de corrimientos. el contador de programa se incrementa para que contenga la direcci6n de la siguiente instnicci6n en secuencia.dec6digo de operación. toda en una sola instrucci6n. 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 . Los bit6 recorridos en un extremo de la palabra no se pierden en un desplazamiento ldgiao. 8-7 Control del. La inslnicci6n de mtaci6n a través . Cada vez que se recupera una instruccibn de la memoria. 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 . pero e l bit de signo no cambia. 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. Después de Ia ejecucibn de una instrucci6n de transferencia de datos o de manipulacibn de datos.computadoras tienen un formato de carapo múltiple para las instrucciones de corrimiento. 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.c ~ mw ó Conkol ~ del programa 289 derecha junto con el resto dd número. Cuando se procesan en la CPU. transfiere la posici6n de la extrema izqukrda al acarreo y.bit de acarreo trata al bit de acarreo como una extensidn del registro cuya palabra se está mtando. . Por otra parte. 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. 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 .1 corrimientOs.

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

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

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

iones para comparar con signo (A Eriqcñr si es.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 . se inserta la letra N (no) para definir el estado 0. Por lo tanto BC es brincar en el. e s mayor o igual . 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. 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. Las instrucciones condicionais pueden a a ~ ~ i a r s tambidn e con las instrucciones del tipo de control de programa brincar.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 . se transfiere el cmtrol del programa a l a dirección especificada por la instrucci6n.= & 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. programa mas comunes. llamar o retornar. interrumpe. el control continúa con la instnicci6n que sigue. salto) y una abreviatura del nombre de la coqdici6n. El bit de acarreo se utiliza para comprobar si hay un acarreo de la posici6n de bit más significativa de la ALU. Cuando se usa e l estado de condici6n opuesta. S i la condicihn planteada es cierta. Si no. 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.acarreo y BNC es brincar cuando no hay acarreo.mayor que Brincar M.~ndicional -7 -m-' Nemónico eondicihde tmnsfqncia Condición probada 2 . Cada nem6nico estA formulado con la letra B (por branch.

ya sea que no tengan signo o estén en 'epresentaci6n de complemento a 2 con signo (véase el capitulo 3). ta magnitud relativa que se muestra bajo la columna de condición probada.E l número sin signo más grande que puede acomodarse en 8 bits es 255. en la tabla. Entonces 240 > 20. El bit de signo refleja d estado del bit más significativo de la salida de la ALU.20 = 220. Por l o tanto. $amo se muestra en l a figura 8-8. 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. 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.ejemplo num6tieo acarreo. La hstruccibn de comparar actualiza el bit de estado según se muestra. Consideremos una ALU de 8 bits. el equivalente decimal de A es 240 y el de B es 2 0 . Sean A = 1 1 1 1 O O O O y B = 00010100. 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. El registro de estado proporciona información acerca de la magnitud relativa de A y B. ta resta en decimal es 240 . 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. un brinco sobre más comprueba un bit de signo en O y un brinco sobre menos comprueba un bit de signo en 1. Las instrucciones que producirsn una transferencia de control despubs de esta comparación . Ia instrucción de comparar ejecuta una resta de dos operandos. 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. La resta de d a nSimeros es igual. parece igual para los números con signo y s i n signo. el resultado bmrio 11O111OO S el equivalente del decimal 220. 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. S = 1 porque el bit a la extrema izquierda ea 1. tenemos que A > B y A f B. El resultado de l a operaci6n no se transfiere a un registro destino. Sin embarga. S = O repmenta un sipo positivo y S = 1 un signo negativo. La tabla 8-11 proporciona una lista de tales ins:mcciones de transferencia condicional. este no es el caso porque cada uno debe considerarse en forma separada. Si consideramos números sin signo. digamos sl . pero se afectan los bits de estado. V = O porque Im últimos dos acarreos son iguales a 1 y Z = O porque el resultado es diferente de O. como se explica en el siguiente ejemplo n d r i c ~ . Sin embargo. la ALU toma e l complemento a 2 de B y lo suma a A. Por l o tanto. Como se dijo antes.B. C = 1 porque hay un acarreo de I a última etapa.128. Para ejecutar A .13. El ranga de números con signo esU entre + 127 y .

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

Esto da como resultado usa transferencia del control del programa a la instrucci6n cuya direca6n se almacenaba originalmente en la pmici6n temporal. destruye l a . algunas mas en un registro de procesador y otras en una pila de memoria. E1 retorno de la instrucción de subrutina lee (pop) la pi. 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. De esta manera. La manera mis eficiente es almacenar la direcci6n de retorno en una pila de memoria. La ventaja de utilizar una pila. y así sucesivamente. Diversas computadoras utilizan una posici6n temporal diferente para almacenar la direcci6n de retorno. 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. por lo general liamada ret~rno de la subrutina. 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. las direcciones de retorno secuencides pueden salvarse ¿&m de la pira.para la dimcidn de retorno es que cuando se solicitan subrutinas sucesivas. Algunas k almacenan en la primera posici6n de memoria de subrutina. El programador no tiene que preocuparse o recordar d6nde sa dmacen6 i a direccibn de rctorno. Una subrutina remrsim es una subrutina que s e solicita a sí misma. otras en una posicidn fija en la memoria.h y el contenido de su parte superior se transfiere al contador de programa. transfiere la direccibn de.retorno de la posici6n temporal dentro del contador de programa. 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. La última instrucci6n de cada subrutina. el torno es siempre al programa que solicitd la última vez una subrutina. para que la subrutina sepa a d6nde retomar y 2) se transfiere el contcol al comienzo de l a subrutina.

T. 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. S6io de esta manera el progrma interrumpido podrh reanudar exactamente como si nada hubiera ocurrido. como resultado de una soücitud generada en forma externa o interna. El c o n W u . & @ S de que se ha interrumpido un.a PSW se almacena en un registro de hardware separado y contiene la informaci6n de estado que caracteriza a b CPU. muy similar a una solicitud de subrutina.retorno anterior. 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. 2. I11 prodimiento de interrupcibn es.de ciertas condiciones de estado. 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 estado de la CPü al final del ciclo de ejecucih (cwndo se reconme la intermpcibn) está determinado por: ' 1 . como se explica m A s adelante). Esto no es deseable porque s e destruye XOCmaci6n vital. Esto resuelve eI problema de la subrutina reamiva porque Ja siguiente subrutina que sale es siempre la utima subrutina que se wlicit6. 3. 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. El contenido de todos 1 . Estos tres conceptos de p m d i miento se detallan en seguida. 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 . 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 ) . 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.E 1 contenido de1 contador del programa. Cuando se utiliza una pila.programa y se ha ejecutado la mtina de servicia. cada ckcci6n de retorno puede saIvarse dentro de la pila sin destruir ningún valor previo.regi&os del procesador.SBCCION 87 Control del programa 297 b c i 6 n de . en principio. El control retorna aI programa original después de que se ejecuta el programa de servicio.

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

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

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

SECU~N M Computadora de conjunto Be instrucciones reducido 3 M reducido. 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. las principales caracteristicas de la arquitectura CISC son: . Características CISC E i dkiio de u n conjunto de instrucciones para una computadora debe considerar no 6610 f6rmulas de lenguaje de mAquina. Otra caracteristica de la arquitectura ClSC es la incorporaci6n de formato~ de instrucciones de tamafio variable. 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. Algunos ejemplos de las arquitecturas CISC son la computadora VAX de Digital Eqtaipment Carporatian y Ia IBM 370. sino también Iw requerimientos internos en i a utiIizaei6n de lenguaje de programación de alto nivel. Esto requiere tres referencias de memoria durante la ejecucibn de la hstruccibn. Las instrucciones que necesitan operandos de registro pueden tener dio dos bytes de longitud. la dispe nibilidad de otros modos de operaciones tiende a simplificar l a compilacidn de lenguajes de aIto nivel. Puede incluirse en la instruccibn otra localidad de memoria para almacenar la suma. pero las instrucciones que necesitan direcciones de memoria pueden . RTSC (reduced btniction set mmpukr). S i n embargo. La tarea s e simplifica si existen . Si la computadora tiene palabras de 32 bits (cuatro bytes). se necesita m á s circuiterh lógica para implantarlos y soportarlos. 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. conforme se incorporan m8s instnicciones y modos de direccionamiento en una computadora. La traducción de programas de alto nive]. 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.necesitar cinco bytes para incluir todo el c6digo de la instrucci6n.instrucciones de mAquha que integren los enunciados en forma directa. Aunque los procesadores CISC tienen instrucciones que sólo utilizan registros de procesador. La tarea de un compilador es generar una secuencia de instrucciones de máquina para cada enunciado de lenguaje de alto nivel. Las instrucciones en un procesador CISC típico proporcionan Ia manipulación directa de los operandos que residen en la memoria. Por ejemplo. En resumen. 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. y esto puede producir que los cálculos se hagan lentos. l a primera instmccibn mupa la mitad de una palabra. en tanto la segunda instnicci6n necesita una palabra m8s un byte en la siguiente.a programas de lenguaje de máquina se realiza mediante un progama compilador.

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

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

Cada solicitud de procedimiento activa una nueva ventana de re@stras al incmentar el apuntador. Los registros del RO a1 R9 son registros globales que contienen parsmetros que comparten todos b s procedimientos. Cuando el procedimiento B está listo para retornar al 'final su computaci611. Los registros de1 $26 al R31 son comunes a los dos procedimientos y. que consiste en un conjunto de registros del archivo de registrohlpara que la use el nuevo procediiento. 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. C y D. Cada ventana de registros consta de 10 registras locales y dos conjuntos de seis registros comunes a las ventanas adyacentes. El sistema tiene un total de 64 registros. las parhmetros se transfieren en forma automdtica del procedimiento que Uama al llamado. El procedimiento B utiliza l o s registros lmales del R32 al R41 para el almacenamiento de variables locales. .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. 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. Esto elimina la necesidad de guardar y restablecer las valom de los registros. Si el procedimiento B solicita el procedimiento C. Mwkse que los registros R10 al R15 son comunes a Ios procedimientos A y D. En cualquier momento dado. Los registros altos del procedimiento llamado se sobreponen a los registros bajos del procedimiento llamado. pasará los paraimetros por medio de los registros del R42 al R47. L o s regístros traslapados comunes permiten que se pasen parámetros y el movimiento real de datos. supongamos que el procedimiento A solicita el procedimiento B. Cada solicitud de procedimiento prcduce la asignacibn de una nueva ventana.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. Cada solicitud de procedimiento activa una nueva ventana de registros al incrementar un apuntador. 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. mientras que e l enunciado de retorno decrementa el apuntador y produce l a activaci6n de Ia ventana anterior. por lo tanta. B concepto de wntanas con registros traslapados se ilustra en la figuxa 89. Los registros comunes se utilizan para e l intercambio de parsmetros y resultados entre procedimientos adyacentes. B. Como ejemplo. Las ventanas para procedimientos adyacentes tienen registros traslapados que comparten para proporcionar el paso de parámetros y resultados. Los otros 64 registros s e dividen en cuatro ventanas para alojar b s procedimientos A. Los registros locales se utiliian para las variables locales. y por l o tanto.por lo que las cuatro ventanas tienen una organización circular en donde A es adyacente a D.

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

Existen tres modos de diredonamiento Wm. Como s61o se accesa un conjunto de 32 registros en una ventana en cualquier momento dado. 16 y 32 bits. y el archivo de registros consta de (10 + 6) X 4 + 10 = 74 registros. Direeeionamiento de registros. e l formato de instruccibn puede especificar un registro de pracaador con un campo de registros de 5 bits. Tiene un formato de instrucci6n de 32 bits y un total de 31 instrucciones.L = 10. 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. C = 6. El tamaño de la v e n t a es 10 + 12 + 10 = 32 registros. Soporta direccion. seis registros bajos traslapados y seis registros altos traslapados. 10 registros locales.306 cAetrrno -0 Unidad aentral de p-miento Como se mencion6 antes. operando inmediato. Siete de . 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.datos de 8. y W = 4. En general. 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. 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. 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. La XüSC 1 de Berkeley es una CPU de circuitos integrados de 32 bits. Esto inelup 10 registros globales. y direccionamiento relativo al PC para instrudones de transferencia o brinco. Berkeley. 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. 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.de 32 bits y. Tiene un archivo de registros de 138 registros ~ J Jun arreglo de 10 registras globales y 8 ventanas de 32 registros cada una.

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. 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. por lo que puede utilizarse en cualquig campo para especificar una cantidad de cero. S2 especifica uoa constank de 1 3 bits de signo extendido. Rs es uno de los r e g s i w fuente.&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. Lns simbolos bajo las columnas del código de operaci6n y operando se utilizan cuando se d- . el campo Rd de S bits selecciona uno de los 32 registros como destino para e l resultada de la operacibn. Se han agrupado en tres categorhs. Si el bit 13 de la instzucci6n es 1. 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. 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 31 instrucciuqes de la RICC 1 se listan en la 'tabla 812. El registro RO m n t h a &lo n h e r 0 ~ O. la instnicci6n tiene un formato de tres direcciones. La operación se ejecuta con los datos eapedicados en los c a * p Rs y S2. 16gicas y de corrimiento. Las instnrcciones de d p u l a c i 6 n de datos ejecutan operaciones arítrndticas. los 5 bits de orden menor de S2 especifican otro registro fuente.'Si e l bit 13 de la instrudbn es O. pero l a segunda fuente puede s e r un registro o un operando inmediato. 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. Para instrucciones de registro a registro.

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

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

¿CuBntas entradas de selecci6n se necesitan para e l MüX A y el MUX B? c. una ALU y un dedifiador de destino. que ALU tiene 3 5 operacion~.310 m m 0 Unidad central de pxoeesamiento nes de brincar y dos in~trucciones de liarnada. ¿Cuantasentradas y salidas hay en el derodicador? d. RI+R2+R3 R5+R5 . incluyendo acarreos de entrada y alida? e. C. Después una instruccidn de retorno CWP se incrementa en uno para retomar a la ventana de registros previa.1 6 +shl R1 + 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. c. Una utilii un direccionamiento índice más desplazamiento. R4tR4 Entrada S 4 Determine las micm~racionas que se 4ec. CWP se decrementa en uno para apuntar a la ventana de registro de nivel inmediato inferior. 00101~00101 b . y cuál es el tamaiio de =da uno? b.hay en el canal A. 8-3. Formu1e una palabra de control para el s i s ~considerando . EEEz m r m 1 o e. a. 8-I. 11110001110 . a. un retraso de 20 ns en el decalificador de destino y 10 ns para sineronizar los datos dentro del registro de destino. a ~Cudntos multiplexores. 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. Cada vez que el programa dicita un nuevo prmedhiento.utarAn en el procesadar de k figura'&Z w n d o se apliquen las sigubb potlabras de mtml de 14 bits. Una CPU organizada con un anal simiIar a la de la figura 8-2 tiene 16 regisiros con 32 bits -da uno. ~Cuáuitasentradas y saIidas hay en la ALU para datos. la ~ g u n d a utiliza un modo relativo a PC m d valor 'Y de 19 bits como la direcoi611relativa. 80 hs para qerutar la dperdci6n ADD en l a ALU. d. 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.

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. Muestre cómo opera UM memoria FiR3 con tres contadores. 8-8. la d l d b n para escribir en la memoria. Convierta las siguientes expresiom aritmitieas de notad611interna fija a polaca inversa.8-5.OC4 en la pila de l a f@ra 8-3. Una computadora tiene instrucciones de 32 bits y direcciones de 12 bits. a ¿LLENO = 1 . ¿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. Un contador de d t u r a WC contiene 8 1 1 . 8-10.y VAClO = O? b . &7. Si hay 250 ir&truccioxm de das dimriones. . 8 1 2 . Un conhdor de ahacaamiento disponiblelMC indica la cantidad de palabras almacenadas en FIFO. bn contador de ledura RC contiene la direcci6n par1 leer de la memoria. 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. Sea SP = OW. Un sistema primero & e n & . Liste las mimooperaciones para las operaciones push y pop. 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. Convierta las siguientes expresione aritmhticas de notaci6n polaca inversa a interna fija. ~ 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: .ASC se h e m e n t a para cada palabra almamada y sed t a para cada dato mpetado. ¿Cuaintos datos hay en la pila s i : 8-6.

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

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

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

Evalúe la diferencia e interpfete el resultado binario. Sean A = OlOOOOOl y B = 10000100. ¿Qué contienen PC y la parte superior de la pila a. El contenido de 1. 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. Z. parte superior de una pila de memoria es 5320. ¿Después del retorno de la subrutina? &Cuálesa n las diferencias básicas entre una instrucción de transferencia de control. c. El contenido del apuntador de pila SP es 3560. Liste la secuencia de microoperaciones para el ciclo de interrupción. 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.B y actualizar los bits de estado. 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. G a. ¿Después de qué se ejecuta la instrucción de llamada? c. VAX 1 formatos de instrucciones variables. c. Z y V. 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. 1 e intel 386 son ejemplos de computadoras con La IBM 370. Liste las instrucci. b. Mermine los valores de los bits 'de estado C (préstamo) y Z.Determine las valores de los bits de estado C. Sean A = 01000001 y B = 10000100. El programa en una computadora compara dos númeras con signo A y B al ejecutar la resta A .ones de transferencia de control condicional de la tabla 8-11 que tendrán una condición verdadera. . Evalúe la diferencia e interprete el resultado binario. b. a. La primera dirección del programa de servicio se toma de la memoria en la posición IAD +l.B y actualizar los bits de estado. ¿Antes de qué se recupera la instrucción solicitar de la memoria? . a. Liste las instrucciones de transferencia de control condicional de la tabla 8-11 que tendrán una condición verdadera.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. El programa en una computadora compara dos números sin signo A y B al ejecutar ima resta A . S y V después de la suma. ¿Cuál es la diferencia entre una interrupción de programa y una llamada . b. Determine el valor de los bits de estado S. d. b. 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.

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

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

Por ejemplo. En lugar de p-ar cada instrucci6n en forma secuencia1 como en una computadora convmcional. 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. esto es. ta cantidad de circuiterla aumenta con e l procesamiento paralelo y. . el sistema puede tener dos o más procesadores operando en forma concurrente. mando se ejecuta una instrucción en la ALU. puede leerse la siguiente instrucción de la memoria. un sistema de procesamiento paralelo puede ejecutar prosesamienta concurrente de datos para conseguir un menor tiempo de ejmuci6n. E 1 propbito del procesamiento paralelo es acelerar las posibilidades de prmesamiento de la computadora y aumentar su eficiencia. tarnbih el cmto del sistema. Además. S i n embargo.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. la cantidad de p-nto que puede lograrse durante un cierto intervalo de tiempo. con 6 1 . E i sistema puede tener dos o más ALUS y ser capaz de ejecutar dos o más instrucciones al mismo tiempo.

las op&adones adtmeticas. . r Suma-mtade w f l - - .eiasmediante el tipo de @gis~r& ijue4utilizan. eistinguhw entre operaciones seriales y para]. E l procesamiento paralelo se establece al distcibi&t 1 b datos en^ la@unidades funcionales miütiples.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.eri f~wa &al -hit a la vez.cornplqi&d: &-el n i w d m& bajq.de m e r a simd&@. ' ' MuiUplicdci6nde punuofloeanie r Divipi5n de puntoflotante " * - . mlenttas que los registras con m g aparaIela o ~9. 16gicas y de corrimiento pueden separarse en tres unidades y dividirse los operandos a cada una..El procesamiento pwwo pmde cangiderarse desde diversos niveles de . Figura 9-1 Procesadar con unidades funcionds miiltiples. Por éjmplo. A la memoria + ñqiistmde pmadw w * . bajo la supervisi611de una unidad de control. Los registros de corri&@qer&t.

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

Los procesadores de arquitectura paralela ejecutan cálculos sobre a q l m de datos grandes. En este capitulo consideramos el procesamiento paralelo bajo los sitodos guientes temas principales: l. Es caracbistico de las heas que varios cálcuios puedan estar en proceso en distintos segmento& al mismo tiempo. que s e presentan en el capitulo 13. y cada subprose ejecuta en un segmento dedicado especial que opera en forma conaurente con los otros segmentos. El resultado final se obtiene despuh de que 1 . Los registros proporcionan aislamiento entre cada ceso . ' 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 .322 cAPmnoNUEVE Paralelismo y pnxesamiento de v e c b los prwesadores simultáneamente. Una línea puede considerarse como un conjunto de segmentos de procesamiento por el que fluye informacidn binaria. La estructura MiSD es s61o de interés tebrica porque no se ha construido h g h &terna prd~tico uiiLizmdo esta organhaciQn. Procesamiento por arquitectura paralela Z P m c d e n t o de v-r 3. E 1 resultado obtenido del cálculo en cada "gm@o s e transfiere al siguiente segmento en la línea.datos han recorrido tados los segmentos. 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. Cada q p e n t o ejecuta un procesamiento parcial. 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. La simultaneidad de los cailculos es posible al asociar un registro con cada segmento en k iínea. Exúatba las características de desempeño del sistema de computadora mis que sus interconexiones estructeiraks y operacionales. L a ocganjzación MIMD se refiere a un sistema de computadora~ capaz de procesar múltiples programas al mismo tiempo. La mayoría de los sistemas de multicomputadoras y multiprocesador pueden clasificarse en esta cateprh. 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. E 1 procesamiento de vector se relaciona con los c4lculos que implican vectores y matrices grandes. analizados en la secci6n 9-7y MIPVPD. El nombre "hea" implica un flujo de infonnacibn similar a una iínea de ensamblado industrial.y el de la unidad de procesamiento de datos. dictado por la manera en que se divide la tarea.

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 . El registro contiene los datos y el circuito combiitorio ejecuta la subope~aci6n en e l segmento particular. La organizacibn de la linea se mostrara mediante un ejempIo simple. D e esta manera la irdormaci6n fluye por la Unea un paso a la vez. La d i d a del circuito combinadonal m un segmento dado se aplica al registro de entrada del siguienk segmento. 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.segmento para que cada uno pueda operar sobre datos distintos en forma un demplo simultánea. como se muestra en la figura 9-2 D e R1 a R5 son registros que reciben nuevos datos con cada pulso de reloj. Al B 1 ci . Se aplica un reioj a todos los registros después de que ha transcurrido un tiempo suficiente para ejecutar toda la actividad del segmento. E l multiplicador y el sumador son circuitos Figura S2 Ejemplo de ptmesamienio p d e l o . Cada segmento tiene uno a dos registros y un circuito combinatorio.

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

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

= €4 = 4 X 20 = 80 m. El tiempo total requerido para n tareas es n f . la aeeleracibn se reduce a: Esto muestra que la miixima acelemci6n tddca que puede pmporcionar un d u d o es k. A continuación considemm una unidad de arquitectura no paralela que ejecuta la miama operad611y requiere un tiempo igual a f.tiempo para iínea paralela.Figura 9-4 Diagrama &acio.1 se aproxima a1 valor de n. L a relaci6n de aceleración es igual a 8M30/2060 = 3.. 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.88.1 . = 20 ns e l tiempo que s e necesita para pmu>cesar una operación en cada segmento. Para hacer más claro el s i e c a d o de la rielaeión de aceleracidn. n se vuelve mucho más grande que k .y k n . Bajo esta condici6n. en donde k es la cantidad de segmentos en e l conducto. para completar cada tarea. E l sistema de arquitetura paralela necesitad (k + tn . Considemndm que f. 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. = 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. tendremos f. Sea t. consideremw el siguiente ejemplo numérico.l)fp = (4 99) X u] = 2060 ns para terminarse.

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. constituye una organhcián de instmcci6n hita. los circuitos paralelos aceptan cuatro conjuntos de datos de entrada en forma simultánea y ejecutan cuatro tareas al mismo tiempo. porque se u t i h Ja misma instrucción para T r a r sobre datos múltiples en paralelo. como en una Unea. 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. por lo general puede ~onstruirsepor completo como un circuito combinatorio. = 60 n s . Esto provoca que los otros segmento8 desperdicien tiempo mientras esperan el siguiente ciclo de reloj.Corsforme auentai d n r o de tareas. aunque nunca se b p por m m p h la dima velocidad Urica. Cada circuito P ejecuta la misma tarea de un circuito con arquitectura paralela equivalente. lo cual es igual al número de segmentos era el conducto. en donde están cmeados en paralelo amtro h i t o s idénticos. la acelaacibn se toma 60/2Q = 3. 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. Existen varias razones por las que una arquitectura pardela no puede operar a su máxima velocidad &rica. Si consideramos que t. Los diferentes segmentos pueden requerir tiempos diferentes para completar su suboperacih. 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. En lugar de operar con los datos de entrada en secuencia. la acderaci6n se acercarA a 4. Para duplicar la ventaja de velocidad tebrica de un proceso paralelo mediante unidades funcionales mdltiples. Esto se ilustra m la figura 9-5. k técnica de arquitectura paralela proporciona una operacibn más +da que una secuencia puramente serial. N o obstante. datas múltiples (SIMD). MuScos de los W t r u s inhmdios no se en un M t a de una sola unidad d cual. . N 6 W que el circuito de cuatro unidades de Ja iigura 9-5.

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

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

R m p r a r la instrucci6n de la memoria. El registro intermedio actiia como una cola de la qye el control obtiene las instrucciones para la unidad de ejecucibn. hede imphkarse el segmento de recuperaci6n de XIlk tniaciones mediante un registro intermedio (buffer) primero en entrar. provocando que un segmento r e hasta que o t r o termine su c o m u n i c a ubn. Par l o tanto. en el lugar adecuado. se resuelven los conflictos de acceso a memoria al usar m). primero en s a h Este es un tipo de unidad que forma una cola en lugar de una pila. 2 . Cuando h unidad de ejecuci6n no e s t i usando la memoria. 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.9-4 Línea paralela de instrucciones t . Cakuiar la &recci6n efectiva. Almacenar el multado. . Las instrucciones se hsertm en el registro intermedio FZFO para que puedan ejecutarse en un &quema primero en entrar.Deeodificar i a instrucción. 3. :Ejecutar la instnicei6n. inicia la siguiente fase de recuperaci6n de instniccions. en espera que lo decodifique y procese el segmento de ejecución. en otros segmentos. Una línea paralela de instrucciones lee inshuccionea ronseativas de la memoria mientras. . 5. En tal caso. 1 . L los operandos de h memoria. la computadora m i t a prmesar d a inst n i d 6 r i con l a siguiente secuencia de pasos. Una pmibk di~pesibn asociada con tal un brinco fuera de secuenkuema es que una insmiccibn puede cia. 6. una instnicci6n de modo de registro no necesita un &culo de d i c i ó n efectiva. Dos o d s segmentos pueden requerir el acceso a la memoria al mismo tiempo. evitardn que la línea paralela de iristrucciones funcione a s u vel&dad máxima. 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. Por ejemplo. puede colwarse un flujo de instnicciones en una cola. Se saltan algunos segmentos pata &&as operaciones. ' . En ocasiones.. Segmentos diferentes pueden necesitar tiempos diferentes para actuar sobre la información que ilega. 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. 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. primero en salir. 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. . se eiecutarr instnicciones anteriores. la unidad de aonhol. 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. Existen Éiertas diuc&& q u . Cuando hay espacio en e1 # e g & ~intermedio FEO.

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

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

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

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

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

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

Consideremos a b r a la operación de hardware para dicha computadp. dependiendo de la imstrucci6n decodificada. 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.de un registro y un desplazamiento constante proporcionado a la instrucci6n. los prmesadores RlSC se basan en la eficiencia del cornpiiador para detectar y minimizar los retrasos que se encuentran con estos problemas. Operaci6n de la ALU E : Ejwufar instruccidn El zepento 1 recupera la instruccibn de la memoria del programa. Las instrucciones de m k a l de transferentia del programa utilizan valores de registro y una constante para evaluar. El ciclo de imstrucei6n puede dividirse en tres suboperaciones e implantarse m tres segmentos: 1 : Recupmci6n de instnicci&n A . la cual se transfiere a un registro o al contador de programa PC.por transferencias de control. ias instrucciones de rnanipulaci6n de datos operan sobre los datos en l o s registros del procesador. 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 .aWentci o calcula la direcci6n de traderencia para una ~ ~ c c i Q n de transferencia de control del programa. 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. dependiendo de la instrucci6n codificada. T h lugar de diseliaf hardmre para manejar las dificultad& e i a d a s con conflictos de datos y pérdi&c.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. 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. la direecibn de transferencia. ta secci6n de control recupera la instntccí6n de la memoria del programa dentro de un registro de instnrcci6n. Se usa una memoria de datos para cargar o almacenar los datos de un registro seleccionado en el archivo de registros. maltia la direecibn efectiva para una instruccibn de emga o heen. Ejecuta una operaci6n para una instrueci6n de madpulaci6~ de datos. La ALU se utrliza para tres funcione diferentes. La instnicci6n se decodifica al mismo tiempo que se seleccionan b s registros necesarios para la ejecuci6n de la instrucción. El seginento B dirige la laida de la ALU a uno de tres destinos.En esta hhla apreciamos que existen tres tipos de instrucciones. La instru~ción se decod&a y se ejecuta una operacih ALU en el segmento A. ra. . 16gkas y de corrimiento.

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

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. Un diagrama de bloque genecal de un arreglo de procesadar se muestra en la figura 9-15. Arreglo de procesador SIMD Un arreglo de procesador SIMD es una computadora con mUltiples unidades de procesamiento que operan en paralelo. 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. Por ejemplo. La unidad de control maestro dirige las apmaci~nes en los elementos del procesador. Contiene un conjunto de elementos de procesamiento (PE) idénticos. por l o que proporcionan una organizacidn de flujo de instnicciones ficol flujo de datos m~ltiple(SIMD). E l objetiv~ del procesador de arreglo conectado es proporcionar posibilidades de mdpulaci6n de vector a una camputadora convenciar. cuando se conecta a una computadora VAX11. L a memoria principal se utiliza para almacenamiento del programa.El sistema con el procesador conectado satisface las necesidades para aplicaciones aritmt5ticas com- plejas. el FSP-lM/MAX de Hoating-Point Sysaumenta el poder de dlculo de la VAX a 100 megaflups. La funci6n de ¡ a unidad de control maestro ea decodificar las instrucciones y deteminar &no SS van a ejecutar. una unidad aritmética de punto flotante y registros de trabajo. A l p o s fabsicantes de procesadores de arreglo conectado ofrecen un modelo que puede conectarse a diversas computadorae anfitridn.al a una fracci6n del costo de las supercomputadoras. Cada elemento del procesador incluye una ALU. en donde cada uno tiene una memoria l c a l M.

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

como se muestra en Ia figura 10-10.. Cada segmento contiene varias compuertas AND y un sumador binario similar a un arreglo multiplicador. 9-13. p E..no paralelo puede ejecutar la misma operaci6n al quitar R3 y 324.¿Cuál es l a máxima aceleración que pude C Q I ~ S ~ ~ & M ? L21 arquitectura paralela de la figura 9.siguientes tiempos de r de la memoria dentro propagaci6n: 40 para los operandosque van a k de los registro Rl.2 *e los .~ C u h t a s compuertas A N D hay en cada segmento y qu6 tamaño de s. ~Cbrno podcmos reducir el tiempo total a aproximadamente la mitad del timp calculado en la parte a? iC&w. ¿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. 940. a. 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. + Xlod . ='5 m. 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. a . ¿Cuántos segmentos hay en la í í m ? c Si el retraso de propagad6n en eada. 4 .382 CAlWüíD NUEVE Paralelismo y procesamiento de vecbr b * 9-5. .sumas 100 pares de nilmerus en la Enea? b .Fonnule unzr Unea paralela de instrucciones de &s t o s para una computa$ora.Ú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+ . 85 ns para la sefía1 que se va a propagar por el mdtiplicador. i 9 9-7. El retardo de los registros de interfaz t.gueafecta a dos enteros binarios de ocho bits. =SO n s . M d w las c w b instnicciones en el prapma siguiente. Suponga que la primera instrucción enipieza en el paso 1 en la ltnea paralela utilizada en la figura 9-8: Especifique cual.segmentoes de 30 ns. y tp= 45 m. $i = 30 m. t3= 95 m.umador se necesita? b. &@fique las operaciones que se van a ejecutar en cada segmento. d. 9-8. ~ C des l el-tiempomhimo de a& de reloj que -puedeutiihme? b. un ciclo de reloj de 10 ns. ~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 . 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 .arquitecturaparalela para 10 tareas y vuelva a hacerlo p a p a 100 tareas. 99. Un &ana. . 'Determine la ~ a z 6 n de aceleracibn de la arquitectura pardela pam IN t a m .opÍddciones se ejecutan en los cuatro segmentas durante el p c o 4. cuánto tiempo se necesitaría pa.

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. Dasgupta. Suponga que cada procesador utiliza un cicb de 40 m. . # Pamllei Pimessing Architmture ami VLS1 Ebrdwre. 1989. Englewd C W . ¿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 . 2 Nueva York John Wilegr. Un c&lcula de predicci6n del d i requiere 250 mil millones de operaciones de punto flotante.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. A. 2. NJ: h t i c e Hall. 1989. Considefe la muldplicaci6n de d a matrices 40 X 40 utilizando un proc=dor de vecbr. 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.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. 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. cuántas operaciones mdtipliear-sumar se necesitan. E l problema se calcula en una computadora que puede ejecutar 100 megaflops. L . ¿Cuánto tiempo se necesita para llevar a cabo estos cblculos? Considere una computadora con cuatro procesadores de punto flotante de arquitectura paralda. Vol. DKegama. S. Proporcione un ejemplo que utilice carga reardada con la línea paralela de tres segmentos de la seccidn 9-5. a.

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

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. Estas instrucciones ejeaitan c6lcuIos aritm6ticos y son responsables de la mayor parte de la actividad para el procesamiento de datos en una computadora. multipHtaci6n y dfvisibn.ESTE C ~ U O 1ü-1 10-2 le3 104 10-5. Los niimeros de punto fijo pueden tqresmtar e n k m o fracciones. resta. 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. Un procesador aritmético es la parte de una unidad de procesador que ejecuta operaciones aritmkticas. El pmcesador aritmé!ica es muy simple s i sblo se incluye una instrucción de . D e estas cuatro operaciones básicas es posible formular otras operaciones aritmgticas y resolver problemas científicos mediante mktodm de anUiis numérico. 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. Los niimeros negativas pueden estar en repremmtaci6n de un complemento de signo o de magnitud de sipo. Las cuatro operaciones arilmkticas biisieas son suma.

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

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

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

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

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

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

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

@timo. BI multiplicador se almacena en el registro Q y su s@o en Q . es conveniente cambiar un poco el proceso. el producto parcial se morre a la derecha.E l cbntador secuencia1 SC se inicializa al phcipio en un número igual a la cantidad de bi! en el multiplicador. no hay necesidad de silmar todos los números O al producto parcial porque esto no alterarh su valor. Este proceso se ilustra mejor con un ejemplo numérico. S i son diferentes. La chuiteria para la multiplieaciSn consiste en el equipo que ce rnuestra en i a figura 10-1 más dos registros. 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 . Tercero. el . en lugar de ejecutar un corrimiento del muItiplicando a la izquierda. Éstos dos registros junto con los registros A y B se muestran en la figura 10-5. -do el bit correspondiente al multiplicador es O.bit menos significativo. Segundo. es conveniente propordonat un $rimador para la suma de s61o dos números binarios y acumular sucesivamente los productos parciales en un registro. 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. 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.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. 10 qpe & como resultado ia colocacibn del producto parcial y del mulfiplicando en las posiciones relativas requeridas. El signo del producto se determina a partir de los signos del multiplicando y el muitipli~dar. se copia el multiplicando. Primero. El . 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. Si el bit del mdtiplicador es un 1. S i son iguales. de otra manera se copian ceros. el signo del producto es positivo. se s u m a n los números y su suma forma e l producto.

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. Cuando el contenido del contador llega a O.S Hardware para la operaci6n multipliw. Figura 1D. La suma de A y B forma un producto parcial que se transfiere al' registro EA. e l fiip-fiop a la extrema derecha en el registro Q w d representado mediante Qw contendr2i el bit del rnultiplicador. Alg[~rítmo de hardware . 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.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. contador se d e c m n t a mediante 1 despu4s de formar cada producto parcial. Al principio.-G u d s m o dentro de Q. De esta manera. '* O * F 5 ' B. un bit del producto parcial hace lo . el mal ea el que debe inspeccionarse despues. el multiplicando e s a en el registro B y el multipücador en Q . 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. y O se recorre m dentro de E. el bit de 4 . y Qw respectivamente.E se recorre dentro d e n l ap'bsieión mbs sigriificativa de A. Se comparan los signm y A y Q se activan para que correspondan al signo del producto. A l principio. el multiplicando está en B y el multiplicador en Q. Despues del corrimiento. . E i praducto parcial y e l muitiplicador se recorren a la derecha.(bit a la extrema derecha) e. El bit menos significativo de A se recorre a la posición m8s significativa de Q.se forma el producto y d proceso s e detiene. IwF ya que se almacenará un producto de doble Longitud en los registros A y Q. .

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

donde A contiene )os bib mas significativos y Q contiene los bits menos significawos.mmarB.2 = 14. El procedimiento sigue los pasos delineados en la tabla de flujo. Por ejemplo. Recorrer EAQ a la!derecha Qa = @RecorrerEAQaladefecha Q.M x 2'. e l número binario O01110 (+14) tiene una serie de digitos 1 de $ 2' (k = 3. -B. 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. Recorrer EAQa laderecha Q. puede sumarse el muItip1icando al producto parcial.LA 10-2 EjempIo numérico para multiplicador binario '. MultiplIcaduren Q Qa= 1.2"' = 2 ' -' 2 = 16 . = 1.en A y Q . rn = 1). 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. de acuerdo con las siguien- + -te6 .=l. El ejemplo nmbrico anterior se repite en la tabla 10-2 para hacer m8s claro eI pracesa de mdt~plicacibn con hardware. = O. E u m . E i n~mer~i puede como 2h1 . restarse. I a multiplicación M X 14. E Primer producto pardal 'Etac01 EAQ a l q derecha Q. Como d t a d o . Opera con base en que las series de números O en el multiplicador no requieren suma. Por l o tanto. ppuede d i z a como ~ M X 2 ' . 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. sumar B -doproaucto . donde M es el multiplicando y 14 el muitiplidr.el aigoritma de Booth r e q u i e un examm dé losqbits del multiplicádor y ejecutar un corrimiento del producto patciaI. Antes del corrimiento.odejario s i n cambio.

E I producto parcial no cambia cuando el bit multiplicador es idént i c o al bit multiplicador anterior. Esto es similar a la figura 105. Para mostrar esta diferencia. 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. . Se conecta un flip-flop extra Q . 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. Esto requiere una resta del multiplicando del producto parcial en AC. El diagrama de flujo para el algoritmo de Bwth se muestra en la f i r a 10-8.2' = -14. Q. un multiplicador igual a -14 se reprem~taen complemento de nlmeros 2 como 110010 y se trata como -z4 + 2' . El multiplicando se resta del producto parcial cuando se encuentra el primer 1 menos swcativo en una serie de digitos 1 en el multiplicador.Si los das bits son iguales a 1 0 . 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. Por ejemplo.y en QW1. significa que se ha encontrado el primer 1'en una serie de ellos. respectivamente. excepto en que los bits de signo no están separados de1 resto de los registros. a Q R para facilitar urm ddble hspecci6n de bit del multiplicador.como AC. . 3. renombrarnos los registros A. significa que se encontró el primer O en una serie de Figura 10-7 Hardware para el algosirno de Booth. La implantaddn de hardware del algoritmo de Bmth requiere la configuración de registros que se muestra en la figura 10-7. B y Q. BR y QR. Si los dos bits son iguales a 01. igual a la cantidad de bits en eI rnultiplicador.1. representa el bit menos significativo del multiplicador en el registro QR.

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

Como consecuencia. 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. El contador secuencia1 se decrementa y el ciclo computacional se repite n veces. Un ejemplo numérico del algoritmo de Booth se muestra en la tabla 104 para n = 5. Presenta la multiplicación paso por paso de (-9) X (-13) = + 117. Cuando los dos bits son iguales. El siguiente paso es recorrer a la derecha el producto parcial y el multiplicador (incluyendo el bit Q.+l es el bit de signo original del multiplicador y no debe tomarse como parte del producto. No puede ocurrir un sobreflujo porque la suma y resta del multiplicando siguen una a la otra. 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. una condición que excluye un sobreflujo. el producto parcial no cambia.+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). un arreglo multiplicador requiere una gran . Sin embargo. los dos números que se suman siempre tienen signos opuestos. Nótese que el multiplicador en QR es negativo y que el multiplicando en BR también lo es.SECCI~N1@3 Algoritmos de multiplicación 369 ellos. El valor final de Q. 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. Esto requiere la suma del multiplicando al producto parcial en AC.

""" Puede construizsse un muJkiplicador binario de circuito combinatorio eori m á s b h en una forma h i l a r . Como se muestra en el diagrama.parcial.no resutí6 costeable hasta el d e d o de los circuitos integrados. de otra manera produce un O. Esto es idhtico a una operacih A i N D y puede loparse con una compuerta AND.multiplicadoi!son al y a. . produce un 1 d los dos son dígitos 1 . 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. 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. Los dos productos parciaies se suman con dos circuitos semisumadores (HA). e1 pI. E i 61th~ nivel da el producto. 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. por esta d n . El primer producto parcial se fonna al multiplicar s10 por blb& La muitiplicaci6n de das bits y b. hay más bits en los productos parciales y será necesario utilizar sumadores completos para producir la suma. Para los a-iflfm bits del mdtipbador j y h bits del multiplicando k necesitamos j x k m . Por lo general. Figura lO.cantidad de compuertas y.9 Arreglo muiüplicador 2 . El segundo producto parcial se forma al multiplicar al por bxboy se korre una posicihn a la izquierda. E3 c2 cl X 2 bita.p d w b . como se muestra en la figura 10-9. 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.mer producto parcial se foma mediante dos compuertas M. y el producto es CH~CO. Los bits del mu1tiplicando son bf y & los bib del.

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. Repxle~~ntem el multiphando mediante b&&lbo y d. naesitamoe 12 compuertas AND y doe sumadores de4 bib p m .compuertas AND y-Cj sumadow de. - .. E l diagrama lógico del multiplimdox se muesm en la fipca 10-10.multiplicador mediant e a f l y p Como k = 4 y j = 3.lograr prudwto de siete bita.$& para &tener un producto de j + k bik Coma d o ejemplo.

el bit del cociente es igual a 1. El prmesb contuiaa al comparar un residuo parcial con el divisor. El divisor B consta de cinco bits y el dividendo A de diez bits. 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. de magnitud con signo Cuando = efectúa la divipi6n en una computadora digital. En cualquier caso el divisor se recorre una vez a la derecha. Los cinco bits más signX1cativos del dividendo se comparan con e l divisor. bcm&Bab~ymtux.ei6n de Hardware para dato. El nhmm de 6 bils m mayor que B. Si el miduo parda es menor que el divisor. ~n lugar de ejecutar un corrimiento sobre el divisor a la derecha.introdudrOmQ knpluit. Como el n h e r o de S bits es menor que El. e1 dividendo o residuo parcial se recorre a la izquierda. E l proceso de divlsión se ilustra mediante un ejemplo numérico en la figura 10-11.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. por l o que colocamos un 1.ín~ucirOenQ. Ndtese que el resuhado proporciona un cociente y un residuo.para e1 bit del d e n t e en i a sarta pici6n arriba del dividendo. introducir 1 e nQ R&d~ocB. probamos de nuevo al tomar los seis bits mds significativos de A y comparar este nh-mo con B. con lo que se dejan los dos n b e r o s en h posición relativa .rrcwrerBabdcxefha Residuo2 S R d d w Rnal Divisor Ejemplo de divisih binatia. dentro dd divisor.dcltetiene5bita 6bibdehrB Recrirrer B a la d d y regtar. Despub a recorre e l divisor una vez a la derecha y se resta del dividendo. Si d residuo parcial es mayor o jgual que e l divisor. II Jal Dividendo A 5bits¿eA<B. el bit del cociente es O y no se neeecita una resta.introducir~enQ Rgiduo < B. Después se recorre el divisor a l a de& y se resta del residuo parcial. corrimiento y resta sucesivas. es conveniente cambiar el proceso ligeramente. 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.

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

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

consideremos que los operandos se transfieren a los registras de una unidad úe memoria que tiene palabras de n bits. no ocurre un sobreflujo 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. se ocupará para el signo un bit de la palabra y la magnitud mnstard de n . 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. Como en la mdtiplicaci&n.E l dividendo está en A y Q y d divisor en B. Detener la-operaciónde la computadora no es recomendabl&porque consume tiempo. sabemas que EA > B. se activa el fip-flop DVF del sobreflujo al dividir y la. 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. 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. Como e l registro A no alcanza el bit de orden superior del dividendo (e1 cual m t á en E). B debe restarse de EA y debe insertarse un 1 eri Q.operacibn se termina en h a prematura. Después es responsabilidad del usuario que escribid ei programa volver a fijar la escala de los datos o tomar cualquier otra medida correctiva. Si el bit recorrido dentro de E 1. Sumar este valor al complemento a 2 de'$ da como wdtada: - E 1 acarreo de esh suma no se transfkra a . . 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.r " ' . por lo que el valor de1 dividendo se restablece al sumar E a A. Se inicializa una constante dentro del contador secuencia1 S@ para especificar l a cantidad de bits en el cociente.como poner una nueva escala a los datos para evitar el sobreflujo. E s i &seamos que E permanezca en 1. por 10 que EA consta de. 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.un d@to 1 seguida de n 1 bita mientras que B consta &lo de n . s u valor es EA . Si A 3. En este caso. para que sea parte del'cociente. S i A 2 3. El signo del resulta& se transfiere a CS. Como un operando debe almacon su signo. En algunas computadoras antiguas. La intempcibn hace que la computadora suspenda el programa achiaI y se ilame a u m rutina de servicio que tome una medida correctiva.1 bits. para el bit del cociente. Se prueba una condici6n de sobreflujo al restar d divisor en B de la mitad de los bits del dividendo almacenados en A.1 bits.

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

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

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

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

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

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

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

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.

siempre y cuando interpretemos los símbolos de la microoperaci6n en forma adecuada. Con M = O las. para números decimales. Ellacarreode saiida Ckl de-etapa debe ccnahnc a l ata-m de entrada Cf de la siguiente etapa de arden superior.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 . De heeha. Los números decimales en BCD se almacenan en Ios registros de la computadora en grupos de cuatro bits. las didas S forman la suma de A d s el complemento a 9 de B. Por lo tanto. excepto por una Siera modificación en los algoritmos de multiplicacibn y división. pueden usarse los mismos diagramas de flujo para ambos tipos de datos.+N-? . ~ + f i . Cada grupo de cuatro bits representa un digito d&aI y debe tomarse como una unidad cuando se ejecutan microoperaci~nes decimales.. Las salidas brmdn l a suma de A m8s el complementa a 10 de B. 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. utilizaremos b s mismos sfmbolos para microoperaciones aritmdticas binarias y decimales. Consiste en un surnador BCD y un complementador a 9. . Por conveniencia. el símbolo A +. 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. Para números con n &&os decimales necesitamos n etapas como &a. El mddo M controla la operaci6n de la unidad. apirddR d w Una etapa de una unidad aritmgtica decimal que puede sumar o restar das digitos BCD se muestra . pero les daremos una interpretacibn dlferente.s a l i h S fonh2ui lasuma de A y B! Con M = 1 . lo cual es equivalente a una operacibn de resta si w descarta el acarreo de la iiltima etapa. 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.enla figura 10-19. A1 sumar 1 al complemento a 9 se prcduce e l comple_mento a 10.+ ihammmtarnberoBCDenQt dsh A -Commiento d 4 al a áerecha del registro A dshlA Corrimiento decimal a ia izquierda del registroA .

siempre y cuando interpretemos 10s símbolos de la microoperaci6n en forma correcta. dado que 9 es eI última contea. En este caso. Si & l o s e está conside rando un tipo de datos. Para k digitos decimales. del 0000 to 1111. A un corrimiento decimal a la derecha o izquierda. 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. como se muestra en la figura 10-19. incrementar 6 decrementar uh registro es igual paraJbin&os y decima1% excepto en la cantidad de estados que se permite que tenga eI registro. Como un ejemplo num&rIro. Un contador decimal va de iOD1 a 0 0 . De igual manera.* contenido original A al complemento a 10 de B. 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. como se muestra en 4 figura 10-20. El rnktodo paralelo utiliza una unidad aritm& tica dechal compuesta de tantos sumadores BCD como dfgitos hay en el ndmero. de 0000 a 1001 y de regreso a 0000. L a suma se forrha al ejecutar un corrimiento de los niimms decimales por e l sumador BCD. seria mejor adophr un dmblo~ diferente para'el comphénto a 9. L a suma se forma en paralelo y 6610 requiere una microoperacih Iln el métado de * t o serial y bit paralelo. consideremos un qistro A que contiene el decimal 7860 en BCD. esta confiracion requiere k mici00peraciones. Un contador b h a h recorre 16 esbdm.1emento a 10 con signo. efi paralelo. el algoritmo para nameros de complemento a 2 bbrios con signo se aplica a lw números decimales de cony.el simbolo se aplicada a i tipo de datos que se usa. De igual manera. una para cada . 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. un contador binarlo cubre una secuencia de 1111 a 0000 cuando se decrementa. le antecede la letra d para indicar un corrimiento sobre los cuatro bits que contienen los dígitos decimales. cuando se incrementa. 'Los datos decimales pueden sumarse en tres diferentes formas. uno a la vez. . Un contador decimal recorre 1 0 esbdw.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. loa dígibs se aplican a un W o sumador ECD en f o m serial. Los datos binarh deben mnplear un sumador b i r i o y un complementada. mientras se transfieren los bits de cada dígito d i c a d o .

1 O 1 Q.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 .

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

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

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

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

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

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

1 d~tepuedeser~que~n~tl. '"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. . . e d e r a n d o eqm~entes pdiarizadas y tomando mi cuenta que % l o puede recorreme AC. - 'Exz . -J 4 10. a= opnci6rrdE aur n d d e mrnplemento a 2 mn w 1 0 2 1 . 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 . r Rivlr km ires dhgqpiw de f l " p y m n h . 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 . se usa e n & número más grande para determuiar el &tsdo. 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. R e p i t a . .. s L p h 10-W para mhems bharidsde magnitud con signo. la difeiencia .Wanb una b .hmtisaconel menor m reame p r Wpleta fuera del registro. S i u p i a de m m i l a mmtisa de d m a m de p b= .1 ) . b . p r o b e l m a s J e & b h iriL. y h dhhibit ! k i la cantidad de bits en la parte de mapitudde k mantupa (n . 1 W . 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. 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.S~6cutre&. 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.dupanbe ia d t i p .n&ujo de explente. Cuando sealinean bmdhwdurante la suma o mta. C i e l n d m e m d e ~ b es mayor que n 1 . derive un algoritmo en brma de diagtama de flujo para alirbeat las m a n h y colel exponente mayor enLel AC. Para w h c @ de e n t m a &mws& que sise utiiii m de p d i n bnica.deteqmmtp.Z r 10-23. (n -1) debe sumarse al pradwbde qwmk en el AC. Sin utllinrat un í 5 h m d o r de magnitud. dónde puede muL un mb. 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. 1024. 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#.&rrna eantiddd de lugares igual a la d i h e d a entre ios exponente. Al revisar y comparar para de bita de izquierda a derecha f 0-19. 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.

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

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

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

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

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

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

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

m '.-a! l . W &dip:de daW y 10s hmmtod en las pWirQ. 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.-: . f i d t a r & m meranlsmo de sincronizaci6n.l. .-l.-. i * I .. . fii~& li-1 ~'C&h& n . '. . . en . - -1. .. ..lo tantoI8puede querirse una m d 6 n ~ d e .elethdnicos: Rax. 1 . 1 . por l o general.sun dkpilifok ehtmmecánicas y debromagnéticos ysu manera de 6peraei@i7es dikmt~te a la de la CPU y la memoria. n - .cada periférico. . . .h e a s de datos. Y ' ' '. a . ' v de o gentrada-aalida.. ~ b r e w ~ d e s e f & h + -...del fmrh-de la :paIabfaleÉila &U y en la inemoria. 2 Para resorver estas diferendas. . r Q m .. * L . .-lL!*.. ..r.I a I . 3. i : . beas S e 2 . ~ ~ i b'. . . n' l. Las diferencia5 qua existen principales mn. -11 .. j . '. irate* .L. + l.2 La *iddad de & a d e & x h de datos ¿e los perifdricos. 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. 4 ! # &e +g. 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 ..0 . ii i Iiah I DimCih Control .( ' ' . TAXI @-. es menor que lá vel~ídad de-tramferemia de la CFU y... porque :&-'comufücantanto con el canal del práesador roxrnarcm kl diqmsit9Vo pBrico.+! . . . Canal de EIS y módulos de interface .. @e mn dispwitivm. . Estos comp~¡nwit&~~&:llanian nrlefam. --. J : '. .la computadora central y .de E/Si :conha de. . I - . de $/S a d ...'. . &. -e puede . ~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.icos son diferentes . .

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

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

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

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

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

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

. la fuente no tiene que cambiar l a Inforrnacidn en el canal de da-. L a infomci6n en el canal de datm y la sehl de habilitación se quedan en estado activo durante un &di ki . figura 1 1 4 Pulso de habiltadón iniciadopo* fuente &a traqskmicia de datos. D e manera tlpica. La unidad h t e o la. . tiempo suficiente para permitir que la unidad destino z e c h los datos. 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 . La figura 114 nuestra una tcansfetkmcia de datos iniciada 'por la unidad destino. En este caso. h h e r r t e activa el pulso de habilitaci6n. La fuente quita los dakm del ranai en un breve periodo previo a la deshabilitaeibn del pulso de habitaei61~ En mlidad. uifotmando a : la fuente que proporcione los datos. 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. i ~ f r . primero la unidad fuente coloca los datos en el canal de daDespubs de mun 'b'teve retraso..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. Como 8e muestra en e l diagrama de temporizacibn de la figura 1 1 3 @ ) . el canal tiene heas miiltiples para transferir un b p o palabra completos. ~ . L a figura 11-3(a) muestra una transferencia iniciada por la fuente. la unidad destino activa d pulso de habilitación. el W o de que la seiial de habilitacidn esté ddab'itada indica que el canal de datos no contiene datos vbtliclos. La unidad fuente i r F . unidad destino pueden activar el pulso de habilitacibn. Habrá disponibles nuevos datos vdlidos a610 degpu6 de que se vuelva a habilitar el pulso de control de habiiitacih. El canal de dam lleva la información binaria de la unidad fuente a la unidad destino. . para asegurar qui los datos se e s t a b b en un valor regular. t internos.

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

generada por la unidad estino. ia unidad fuente no envh lw datos siguientes hasta decpués que la unidad destino muestra su disponibilidad. La uriidad fuente inicia la transferencia al colocar los datos en el canal y habilitar su mial de datos válidos. de la fuente al destino. La unidad destino activa la señal de dalos aceptados des@& de que acepta los datos del canal. 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.el procedimiento de recow cimiento mutuo sigue el mismo patrdn que en el caso iniciado por la unidad fuente.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. 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 . La utiliza la unidad fuente para informar a la unidad destino si hay datos viilidos en d canal. La fipra 11-5 muestra el pmcedhiento de transferencia de datos cuandolo'inicia la fuente. .la transferencia no puede saber si la unidad fuente ha colocado . Una h e a de control estA en la misma dired6n que el flujo de datos en e l m a l . En este caso. &E dos h a s de recanocimiento mutuo son &tos mílidos. i aparticipacidn dctiva de ambas unidad. la cual invalida las datos en e l canal. ue p e r a l a unidad fuente y. Ik liec* !a única dif&cia en& la h&cia iniciada por la fuente y ia iriiciada par d dbtiiió. para aceptar nuevos datos al dehabilitar su se-1 de datos acqofados. mmP1etafr&'ia .es el siguiente. con el fin de que refleje su nuevo significado. WoWa m e s de. En seguida. + ---4 . después Ia wiidad destino deshabilita su señal de datos a c q ~ o y s el sistqa a su estado inicial.+EI diagrama de twipocizaci6n muestra el+intercambiode señales entre l a d o s . . control está en la diceeeihn opuesta. La trhsferencia que utiliza lfneas dq reconocimiento mutuo iniciada por la unidad destino mudm en la figura 114. E l error puede detectarse' m d h k un m&&is& de ~hPO fmmmwido. que produce una desha que inicie ~~. &tos ncqtados.& h k los datos en el canal.midade&la rwuencia de eventos listada en la parte (c) muestra los cuatro estados posibles que puede tener e1 sistema en cualquier momento. De ahi ert adelante. no &. La secuencia de control durante la transferencia depende de la unidad que inicia la transferencia. La utiliza la unidad d & h o para irífoqar la fuenSes i puede aceptar datos.S i m a unidad & delectuo&. 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.pueIv. @b9 'Ia el-6n de su estado inicial..~msferench' de &tos. El mgtodo de reconocimiento mutu~~handshake).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 fuente deshabiiita su seiial de datos vblidos. N6tese que el nombre de la sefial generada por la unidad destino s e ha cambiado a prepara& pura &os. La v e i ~ d a d a e transferencia está determinada por la unidad d s lenta.

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

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

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

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. Como se van a transmitir 11 velocidad en b d i o s bibt se s a k que el . 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 imprimir un carácter en la impresora. Tal circuito wdmomuia una i&bw@e de comunicacidn a s f m a reaptmdmlssmim mfmno univtml (universal awnchvonoics S . Cada vez que se una teclaAuna terminal mvía 11 b i t a en forma serial a lo largo de una línea.para total de 11 bits. d e k recibirse un mensaje de 11 Mts a través de otra línea. Funciona-*emo transmisor y v t o r .par segundo. J asinc~ma seunirihue% tra 'enl a figura 11-8. 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. Dcho bits de informaci6r1. pero las temínales más nuevas utilizan s ó l o un bit.elechmnecAnicas antiguas utxlizan dos bits de paro. 10 caracteres por segundo significan que cada carActer n w i & 0. La interface de Ia terminal consta de un trzmmbr y un receptor. consideremos la transmisión aerial de una terminal cuya velocidad de transfekcb es de 10 caracteres .09 m s .Al usar estas reglas. 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. La k e a permanece en el estado 1 hasta que se transmite otro carácter. el receptor puede detectar el bit de inicio mando la Enea pasa de 1 a O. para que el transmiso~ ye l ~ q t o puedan r volverse a sincronizar. El receptor conoce la velocidad de transferencia de los bits y la cantidad de bits de carackm que debe aceptar. 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. i3l & m p de paro awgura que no Ilegarb un carActer nuwo durante uno o das 1 i e . m ~ de ~bit. La interface se inMallzia 'para .y dos bits de paro.. Al final del catacter. Como ejemplo.tiempo para un bit ea 9.mmodo de tfanshmW partidar mediante un byte de +eonholytese carga dentro de sir reghtro. Un reloj en el receptor examina la línea en los tiempos de bit dnwnientes. 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. Después de que se trmsmiten los bita de' caracteres.1s para la transferencia. se. ~igunas terminal. E l diagrama 'de bloque de miaintedacé de &nunicación El . 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.enmn un6 o dbs bits de paro.demtmL E l +tro transmisor h t e d a w d+e comunfmci6n asfkmna . 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.

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

' la interface comprueba la paridad y los Pi+g. cualquiera emm posibles durante la transmisibn " activa bita apropiados en el . La U ? U a lee eL registro.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. la CPW transfiere un carácter al registro transmisor. ta entrada de m h n de &#os estA en el atado 1 cuando la h e a está inactiva. según .dealto. La CPU puede transferir otro carácter al registro transmisor. La opracibn. 1 La opera& de -h -parte mqptora de h interface es similar. el .el registro Qammimr. l o s bits de &&r que entran se colocan en el de corririoiento en donde se reconen a la velcieidad de baudio .=CPtOf coiriunican con la CPU.que cornpnieba iq inke$a@ durante la transmi- m). establecida. Una vez que re ha detwtado un bit de-&ici~.registrg de estado y comprueba la bander? y. de estado y comprueba la bandera para obsemar si .de &tos. Después*de i & i r los bits. b CPY lee. 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 . 4 .puede ka~~mitiise el mdcter un bit a la vez .. 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 . 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. La interface ver$. 'f. al colmar b d a t o s en el mgistro de codmiento a la velocidad de baudios ' mpecificada.decisión de generar una comprabacih de. se lista en la tabla que acompaña al diagrama. .registro de estade La CPU puede leer el registro de estado en cualquier momento para comprobar s i han ocurrido erro=.y la interface desactiva la bandera para marcar h o e l qbtro. Se dice que l a interface es de registm dbble porquepuede cargarse un nuevo carkkr tan pronto comed anterior comienza la transmisi6n. &ra.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. despuds de comprobar la bandera en el -m@tro de estado. En seguida.. Un bit ae utiliza para indicar 8i 4 registro &ansmisor está vado y otro se emplea para indicar 1 el registro wceptor mta Ileno. cuántos bita hay en cda~sadder/ la. del regis@ de . S i está vado. El registro seletcionado es una porción del vahr RS g de 1 w estados RD y WR. lee los datus d4 registro mxptor. la paridad y eithtos bits de alto se -den a cada car$&'r:: Das bits en d r&strobde mtadq re usan como banderas. La sekabn . s i pt+ activa. El primeic hit en el registro de corrimienh de1 transmisor se activa m O para generar un bit de inicio. en paralelo. se t m h m el cardcter.de mgistro (ES) s e asocia con los contrales de lectura (RD) ydtura Ros.res emm p o s % ! . como la velwidad en baudios que se va a utiiizar. ta operación de la parte :de transmisor de la inkrfaee B la siguiente. ~ t vado á reeisho tmmimr.comhimto al registro de mceplci6n. xegistrw son & l o de escritura y dos son d i o de lectura.

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

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

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

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

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

una secuencia de bytes que debe abcenarse en la memoria. 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á.-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. Leer el registro de estado. Leer el registro de datos. La transferencia de cada byte requiere de tres instrucciones: 1 . . 3.

es permitic que la interface informe a la computadora cuando esté lisb para transferir datos. 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.000 veces entre cada transferencia. cuando se activa la bandera. En principio.qi6n de E/S es transferir un bloque de palabras de un dispositivg ~. 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. existen dos m4todos para lograr esto. l b una intempcibn con vector. 131 m4tcdo de. Después que termina la transferencia. consideremos una computadora tipica que puede ejecutar las das instrucciones que leen el registro de estado y camprueban ¡ a bandera en un micro-segundo. EIS iniciada por intenrupcibn Una alternativa para que la CPU no tenga que monitorear en forma constante la bandera. se interrumpe momentáneamente el avance de la computadora con el programa actual y se informa que se ha activado i a bandera. Sin embargo.E/S y ~ a l m a c e n w f a en s un buffer de memoria. 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. En algunas computadoras el vector de intemipcibn ES la primera dirección de la rutina de servicio de E/S. Esto es equivalente a un byte cada 10000 micro-sepndos. Este modo de transferencia utiliza la opcibn de interrupcibn. La diferencia en la velocidad de transferencia de informacih entre la CPU y el dispositivo de E/S hace ineficiente este tipo de transferencia.434 CAPmmmcs Organizacr6n de entrada-salida . En una intermpci6n sin vector. la direcci6n de transferencia de control del programa e asigna a una posici6n física en la memoria. La CPU se desvía de l o que esta haciendo para atender la transferencia de entrada o salida. En otras computadaras el vector de interrupción es una direcci6n que . Mientras la CPU estd corriendo un programa común no comprueba la bandera. Cada byte se lee en el registro de la C P U y despuh se transfiere a la memoria con una instnrccibn de almacenar.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. La CPU está gastando tiempo mientras comprueba la bandera en lugar de hacer alguna otra tarea de procesamiento Ú t i I . . Consideremos que el dispositivo de entrada transfiere sus datos a una velocidad promedio de 100 bytes por segundo. Esta informaci6n se llama el vecfor de intm~pci6n. Para apreciar por qu4 es ineficiente. la fuente que interrumpe proporciona la información de l a transferencia a la computadora. Una tarea c o m h de proaama. 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. Esto significa que la CPU comprobará la bandera 10. la computadora retoma al programa previo para continuar lo que estaba haciendo antes de la interrupción.

los programas de E/S deben inicializax el canal de DMA para comenzar su operacibn. 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.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. Por lo general. Una vez que está preparado. la informati611se transfiere dato a datu hasta terminar. con el fin de determinar cuándo estd Esto para transferencia de datos. la CPU no puede comemar la transferencia a menos que e l dispositivo t é preparado para comunitarse con la CPU. se incluyen dentro del sistema operativo. Con frecuencia las traasferencias están acompafíadas de mmprobacibn de errores y otros pasos iitiles. En la transferencia DMA. En algunos casos. 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. se proporciona entonces un comando de control para ejecutar una funcibn de dispositivo. 11-5 Prioridad de interrupci6n ta transferencia de datos entre i a CFU y un dispositivo de E/S la inicia la CPU. como detener la cinta o imprimir caracteres. sin entrar a detallados programas en lenguaje de miquina. algunos procedares también salvan dentro de la pila la paiabra "deestado del procesador (PSW) y cargan una . 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. 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. E i control por programa del equipo de entrada-salida es una empresa compleja. La disponibilidad del dispositivo puede determinarse de una kfial de intempcibn. 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 . 10s fabricantes proporciorian rutinas de E/S para lbs periféricos estandar como parte del sistema de computadora. En la secci6n 11-5 se muestra un sistema de intempci6n con vector. Como se analizó en la secd6tl 8-7. h s rutinas h E/S deben emitir comandos de control para activar el perifdrico y para comprobar el estado del dispositivo. Por esta razdn. Sin embargo. 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.

La primera tarea del sistema de interrupción es identificar la fuente de la interrupcidn. si se posponen o interrumpen. si hay muchas interrupciones. 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. pueden producir consecuencias serias. s i su señal de interrupción este activada. el sistema debe dkdir tambih a cual dispositivo atender primero. prueba la fuente con Ia siguiente prioridad hacia abajo y asf sucesivamente. Aquí na consideramos la PSW para no complicar el analbis de las interrupciones de E/S. el control se transfiere a una rutina de servicio para esta fuente De otra manera. La desventaja del mdtoda de programaci6n es que. Una priot.prioridad de intewupcibn encuesta nuwa PSW para la rutina de servicio. Se prueba phmero la fuente de prioridad más alta y. En esta situaci6n. Por lo tanto. Se asignan niveles de internipci6n de alta prioridad a solicitudes que. Acepta solicitudes de interrupción de muchas fuentes. pertenece al dispositivo de prioridad mas alta entre todos los dispositivos que interrumpieron a la computadora. 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. En este caso. el tiempo requerido para *gistrarlas puede exceder el tiempo disponible para atender el dispositivo de E/S. se conectan varios dispositivos de E/S a la computadora. I a computadora atiende al dispositivo con mayor prioridad. Se usa un procedimiento de "encuesta" para identificar la fuente de prioridad más alta por medio de programacibn. 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. y cada dispositivo puede originar una solicitud de interrup ci6n. cada fuente de intermpci6n tiene su propio vector de interrup- . Cuando dos dispositivos interrumpen Ia computadora al mismo tiempo. 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. Puede establecerse la prioridad de interrupciones simultáneas mediante programación o circuiterla. También existe la posibilidad de que varias fuentes soliciten servicio en forma simultánea.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 también puede determinar cuales condiciones se permiten para interrumpir a la computadora mientras se da servicio a otra interrupción. En una aplicaci6n típica. E I orden en la cual se prueba detemina la prioridad de cada internipci6n. Una -unidad de prioridad de intemipcidn de circuiterfa funciona como un administrador general en un ambiente de sistema de interrupciones. Para acelerar la operd6n. puede utilimse una unidad de circuito de prioridad de inkmpci6n para acelerar la operacibn. La rutina de servicio particular alcanzada.

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

bloquea la señal de reconocimiento del siguiente dispositivo al colwar un O en su salida (PO.Por lo tanto. 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 . un Figura 11-13 Una etapa del arreglo de prioridad de cadena de margarita. 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. dentro del cana1 de datos. 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. 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. VAD Entrada de prioridad. es menor su prioridad. 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. Entre d s lejos esti el dispositivo de h primera posicl6n. para que la CPU la utilice durante el ciclo de intemipcibn. 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. Entanceb. 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. transmite la &al de reconocimiento al siguiente dispositivo al colocar un 1 en su salida PO.cmhJL. Si e l dispositivo no tiene interrupciones pendientes. procede r inserta su propia direccih de vector (VAD) de interrupción. S el dispositivo 1 tiene una interrupcidn pendiente. El dispositivo activa su &pflop RF cuanao desea interrumpir a la CPU.

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

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. Codificador de prioridad El codiflcador de prioridad es un circuito que -implanta la funci6n de p r b ridad.440 ONCE Orgmh66n de entrada-salida Figura 11-14 Ckuiterfa ae prioridad de intempci6n. La 16gica del codiiicador de prioridad es que. si dos o m8s entradas .

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

Hasta aquí.programador elegir entre usar o no b opcibn de intemipci6n. 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. programa de servicio - .. Si ambas IEN e IST son iguales a 1 . Durante d ciclo de internipci6n la CPU ejecuta la siguiente secuencia de mierooperaciones: SP tSP . la instrucci6n que se leed de la memorig serh la que esté localizada en la direcci6n de vector. hemos analizado los aspectos de la circuitería de un sistema de prioridad de interrupciones. Una instrucci6n para activar XEN indica que la opci6n de interrupción se usará mientras corre el programa actual. Rutinas de pmgramaci&n Un siskeq de prioridad de interrupciones es una combinaci6n de técnicas de circyiteria y programación. L a figura 12-15 mu-tca el programa que debe residir en la memoria para manejar el sistema de interrupciones. E 1 nombre simbblico de cada &m q m t a la direccih inicial del programa de servicios. 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.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. Cada dispositivo tiene su propio programa de servicio que puede alcamrse medite instrucci6n de brinco (JMP) almacenada en la direccibn asignada al vector. Ptlhfinal de cada ciclo de interrupci6n la CPU comprueba IEN y la seiial de intermpcibn de IST. Si se ha insertado una instniccibn en e l programa para desactivar IEN. el control continúa con la siguiente instnicdbn. la CPU pasa a un ciclo de intemipci6n. La mayoría de las computadoras incluyen eircuiterla interna que desactiven IEN a O cada vez que el procesador reconoce una intemipcibn. significa que el usuario no dque su programa se interrumpa. Si alguna de ellas e s igual a O.

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.la dirección S 6 se wlva dentro de l a pila y d control se hansfiere al programa de servicio DISK. Por lo tanto.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. Salva la d k c i & nde retorno 750 en la pila y. Al final del ciclo de instrucció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 . ta última instrucción en cada rukina*esun retorno de la instrucción de interrupción. después acepta la diremi611 de v d o r 0000M)ll del canal y la transfiere al PC. la coriiiputdora va a un ciclo de interrupción. Al final del progrwa KBD. 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. Esto retorna el control a la rutina KBD para que continde atendiendo el teclado. h J d e interrupción KBD. la instruccihn de retorno se recupera de la pila y coloca 256 en el PC.simaoensdoen memoria para atender interrupciones. Cuando termina el programa de servicio del disco. u q dispositivo de prioridad mayor puede interrumpir a un dispositivo de prioridad menor. produciendo urva trmfemnuia de control a la-i u . La instnicci6n en la localidad 3 se ejecuta después. 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.

de1dispositivo de baja prioridad. 5. Salvar el contenido de los registros del procesador.444 0 - Oxgankación de entrada-salida transferencia. 3. Desactivar los bits del registro de máscara de prioridad inferior. . pero no antes de que se hayan deshabilitado h s intempciones de prioridad menor. 4. 2 Recuperar el contenido de los registros del pxocesador. 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. 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. Este flip-flop se debe activar de nuevo para habilitar solicitudes de intemipcidn de Prioridad mayor. Activar el bit de habilitacidn de interrupción IEN. 3. 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 . 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. por lo que no ocurre ninguna pérdida de información. Aunque a las fuentes de intempci6n de prioridad menor se les asignan bits de ndmero mayor en el registro de mAscara. 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. porque el programa puede utilizar cualquier configuraci6n de bits para el registro de máscara. la prioridad puede cambiarse si se desea. Activar el bit de habilitaa6n de inkmtpci6n IEN. Restablecer la direcciBn de retorno dentro del PC y establecer IEN. 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. Proceder con la rutina de servicio.Despuks. Recuerde que la habilitacibn de interrupcibn TEN se desactiva al f m l de un ciclo de intempci6n. 5. 2. 4. El bit de estado de internipci6n de& desactivarse para que pueda volverse a activar cuando ocurra una interrupcibn de prioridad mayar. Desactivar e l bit en el registro de intwrupci6n que pertenece a la fuente que ha sido atendida. Desactivar el bit de estado de interrupcibn IST.

La circuiteria puede hacer en forma a u b matica algunas de las operaciones generaieg de gestidn. con h e n c i a está limitada por la vel-idad de la CPU. También se le pueden asignar otras operaciones iniciales y finales. figura Am . De esta manera.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. la CPU está inactiva y no tiene el control de los canales de memoria. irl: d e s deshabilitar los canales mediante señares de control e s ~ i a l e s La . m La C W puede cokarse en un estado inactivo de diversas maneras. 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.Durante una transferencia DMA. 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. de otra manera. tas operaciones final y inicial que acabamos de listar se denominan operacimres generales de gestión o quehaceres dodsticos. la CPU termina la ejecución de la inshucción actual y coloca el canal de direcciones. y las lineas de lectura y d t u r a u . N6tese que la cimiterla debe diseñarse para que no ocurran interrupciones mientras se ejecutan los pasos 2 al 5.' m d t o d o c o m h que se usa con mucha frecuencia en los micxoprocesado~. Un a . E s t o se hace al insertar las instrucciones adecuadas al principio y al final de cada rutina de servicio.11-16 -muestra dos e l e s de mtrol en la CPU que facilitan la transferencia solidtud de canal DMA. Esta técnica de transferencia se llama acceso diredo a memoria (Direcf Memoy Access. 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. No son parte de1 propio programa de servicio pero son esenciales para procesar interrupcic~ nes.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. Un controlador DMA funciona sobre los canales para manejar la transferencia en forma directa entre' el dispositivo de E/S y la memoría. El retorno al programa interrumpido se consigue al cargar la dirección de retorno en el PC. Cuando esta entrada activa. 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.inicialmente se desactiva IEN y máis tarde se reactiva despub de que se transfiere la dirección de retorno h PC. 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. Por esta raz611. 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. el canal de datos. Todas las operaciones generales pueden implantarse mediante prograrnaci61-1.

Cuando la entrada de cesión de canal (BG) es O. El registro de direccionamiento se incrementa después que cada palabra se transfiere a la memoria. El registro de cuenta de palabras contiene la cantidad de palabras que se van a transferir. Las entradas lectura (RD) y escritura (write. urop b lr n . 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. + 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.e m4 ( 1 0 - irlñncs'UM . 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. 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.. WR) son bidireccionales. Cuando BG = 1. DMA se comunica con el periférico externo mediante líneas de solicitud y reconocimiento al utilizar un procedimiento preestablecido de reconocimiento mutuo. la CPU puede comunicarse con los registros de DMA por medio del canal de datos para leer de o escribir en los registros DMA. Todos los registros en el DMA aparecen ante la CPU W Y " . El registro de control especifica el modo de transferencia. Este registro se decrementa en uno con cada transferencia de palabras y realuia una prueba interna en busca de cero. Los bits de direccionamiento van a través de búffers al canal de direcciones. El registro de direccionamiento contiene una dirección para especificar la localidad deseada en la memoria. La unidad se comunica con la CPU mediante el canal de datos y las líneas de control.SECCI~N11-6 Acceso directo a memoria (DMA) 447 Canal de direcciones de datos I e Acopladores del canal de datos . * nl NI o. un registro de cuenta de palabras y un registro de control. d h f m .

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

Por cada palabra que se transfiere. el DMA controla las operaciones de lectura o escritura y proporciona la dirección para la memoria.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. Si la . el DMA incrementa su registro de direccionamiento y decrementa su registro de cuenta de palabras. 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. En seguida. controlador DMA a la memoria de acceso aleatorio para especificar la operación de lectura o escritura para los datos. Por lo tanto. coloca una palabra en el canal de datos (para escritura) o recibe una palabra del canal de datos (para lectura).~ ~ ~ ~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 -. Cuando el dispositivo periférico recibe un reconocimiento de DMA.

Un prr>cesador de enhadasalida (IOP}. la línea estarA activa tan pronto como se termine la transferencia previa. Cuando la CPU responge a la intempcidn. Puede establecerse una prioridad entre los canales @ra que los canales con alta prioridad sean atendidos antes que los canales de priaridad menor. . la h e a de solicitud DMA puede venir un poco mis tarde. S i la velocidad dei perifhrico es mas lenta. Cuando el periférim solicita una transferencia. lee el contenido del registro de cuenta de palabras. D e manera típica. y el prweso continda hasta que se ha transferido todo el bloque. Si el registn. El valor cero de este registro indica que todas las palabras se transfirieron exitosamenk. Para un dispositivo de alta velocidad. Tambih es ú t i l para actualizar la pantalla en una terminal interactiva. 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. l a transferencia DMA es muy útil en muchas aplicaciones. mediante una transferencia de DMA. 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 . En esta cdiguración. cada canal time un par de sefíales de control para señales de solicitud y reconocimiento que est4n conectadas a dispositivos perifkrims separados. el sistema de computadora puede dividirse en una unidad de memoria y vaRm procesadores que comprenden la CPU y uno o más IOP. En este caso. Cada IOP atiende tareas de entrada y salida. el DMA deshabilita la h e a de solicihd de canal para que la CPU pueda continuar ejecutando su programa. La CPU puede leer este registro en cualquier momento para comprobar la cantidad de palabras que ya se han transferido.menta de paIabras no alcanza cero. Despuk se inicia una segunda transferencia. 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. el DMA comprueba la linea de solicitud que proviene del @rico. Un controlador DMA puede tener m6s de un canal. Cada canal también puede tener su propio registro de direcciondento y registro de menta de palabras dentro del controlador DMA. E1 contenido de la memoria puede transferirse a l a pantalla en forma periódica. puede clasificam como un procesador con capacidad de acceso dirwto a memoria que comunica con dispitivm de E/S. relevando a la CPU de los "quehacexesdo&tieos" que involucran las mnshencias de E/S. 4 11-7 Procesador de entrada-salida (LOP) En lugar que cada interface se comunique con la CPU. 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). e l DMA vuelve a solicitar los canales. En este caso. de cuenta de palabras llega a cero. Tambibn informa a la CPU de la terminación mediante una interrupcibn.

El IOP debe estructurar palabras de datos de muchas fuentes difemtes. 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.kas tareas de pmmmientob como aritmética. que debe s e r inicializado por completo por 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. En lo sucesivo el IOP opera en forma independiente de la CPU y contintra transmitiendo datos de dispositivos externos y la memoria.pmwaniierrto de WS E i IOP es sidar a una CPU. Después de que los datos 'se reúnen en una palabra de memoria. Además. la CPU tiene i a tarea de inicializar un programa de E/S. . lógica. "robar" un c i c l o de memoria de la CPU. . A diferencia del controlador de DMA. 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. D e igual manera. L a CPU es responsable del prmesamiento de datos necesarios en k solución de tareas eomputaciortales. La unidad de memoria ocupa una posicibn ~entral y puede comunicarse con cada p-dor mediante acceso directo a memoria. el IOP priede ejecutiir o. Por ejemplo. El diagrama de bloque de una computadora con dos procesadores se muestra en l a figura 11-19. 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. Por b general. se transfieren del IOP directamente dentro de la memoria a). k a n s f e d de control y traducci6n de cbdigo. 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. . excepto que esta diseñado para manejar los detalla del p t o de E/S. El IOP proporciona una trayectoria para traneferencia de datos con diversos dispositivos pmWic08 y la unidad de memoria.

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

-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 . enviar htmcci6nde inici b E/S al IOP L m el pmgrama IOP La CW continúa . 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. Ambos programas hacen referencia a la memoria mediante una transferencia DMA. Ahora la CPU puede continuar con otro programa mientras el IOP está ocupado con el programa de EtS. De . ia direcci6n de memoria recibida con esta instniccibn le dice al I O P en dónde encontrar su programa. envía uqa solicitud deirikrrupci6n a h CPU.La CPU v n d e a la inferrupci6n a l emitir una htnrccibn para leer d estado de1 IQP. El IOP responde al calocar el contenido de s u xeporte de estado dentro de una locaiidad de memoria especffica.

pero todas las transferencias de E/S pueden c o n d u h en un bloque de da. La CPU puede comprobar el c6digo de condición en k PSW para determinar el resulado de i a operacibn de B/S. se denomina a n a l . 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.completo a diferencia de un canal multiplexor. 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). iniciar envio raipido de Ef S . probar E/S. El canal de bloque multiplexor combina las carackkticas de los canales multiplexor y selector. detener dispositivo. 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. direccidn del canal y diici6n del dispositivo. E l código de operacibn específica una de ocho instrucciones E/S: iniciar E/S. la CPU determina si l a operacibn de E/S ha terminado satisfactoriamente s i n errores. Existen t r e tipos de canales: multiplexor. cada canal puede estar conectado a varios dispositivos y a cada dispositivo se le asigna una dwcu6n. la velocidad de Ia CPU puede deteriorarse porque con frecuencia tendr4 que esperar que el IOP conduzca transferencias de memoria. El sistema de computadora puede tener varios canales y a cada uno se le asigna una direcci6n. 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. selector y bloque rnultipIexor.la inspeceibn de ios bits en la palabra de estado. pueden u t i l i z a r una aprkiable cantidad de los ciclos de memmia disponibles. En ese caso. El significado de los cuatro cbdigos de Canal de WS IBM 370 E l procesador de E/S en la computadora IBM 370 . 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. detener E/S. probar canal y almacenar identificaci6n del canal Los canales direocimados responden a cada una de las instrucciones de E/S y las ejecutan. borrar E/S. De igual manera. El 1OP cuida todas ias transferencias de datos entre varias unidades de E/S y la memoria mientras la CPU prwesa otro programa. Proporciona una conexión a varios dispositivos de alta velwidad. El T O P y la CPU compiten por el uso de la memoria. 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. Sin embargo. L a figura 11-21 muestra los formatos de palabra asociados con la operacidn del canal. 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. El formato de instrucci6n de E/C tiene tres campos: c6digo de operaci6n. que sólo puede transferir un byte a la vez. como las diseos magnéticos. aIgunas unidades que son riipidas.

El formato de la palabra de estado del canal se muestra en la figura 11-21(b). El campo de cuenta proporciona la cuenta residual cuando se terminó la transferencia. Siempre está almacenado en la posición 64 en la memoria. Pero. 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. si son operacionales o no. El campo de dirección de la palabra de estado proporciona la dirección de la última palabra del comando utilizada por el canal. cuando el canal recibe una de estas dos instrucciones. El formato de la palabra de comando del canal se muestra en la figura 11-21(c). 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. 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 campo de estado identifica las condiciones en el dispositivo y el canal y cualesquiera errores ocurridos durante la transferencia. en general. 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.SECCI~N11-7 Procesador de entrada-salida (IOP) 455 condición es diferente para cada instrucción de E/S. 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 . El campo de cuenta mostrará cero si la transferencia se terminó exitosamente. hace referencia a la localidad 72 de la memoria para la dirección de la primera palabra de comando del canal (CCW). 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 hay interrupciones pendientes. especifican si el canal o el dispositivo están ocupados.

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

En seguida. La operación comimm cuando el propma de la.O U encuentra una instrucción de iniciar de E/S.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. Esta palabra contiene la direaci6n inicial del programa de d de E/S. d canal avanza a ejecutar el programa es+ficada mediante 1 w paUras de m a n d o de canal. 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. B1 B/S va después a la posicióo de memoria 72 para obtener una palabra de direación de y a l . E l canal construye iana palabra de estado durante la t r a n s h c i a y la almacena en .

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

al igual que un apuntador de dirección a su bloque sucesor. 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 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. Cada bloque contiene información de control y parárnetros. La bandera ocupado indica si el IOP está ocupado o preparado para ejecutar una nueva operación de E/S. La dirección del bloque de control se pasa a cada canal IOP durante la inicialización. 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.

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

Este tipo de interface es simiIar a la unidad de interface de comunicaci6n ashcrona presentada en la figura 11-8. determinar si la informacibn es de datos o de control y responder a todas las solicit~desde acuerdo a procedimientos establecidos con anticipaci6n. D e esta manera. sicopladores adsticos o rnddems (de "modulador-demdulador"). debe utilizarse alguna forma de conversihn.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. la computadora puede operar eficientemente en un ambiente de tiempo compartido. 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. 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. la lfnea de comunicaci6n contiene s610 10s bits de datos a partir de los cuales debe obtenerse la informacidn de reloj. Los convertidores se . L a tarea del procesador de comttnicación de datos es transmitir y recoger informaci6n diiital hacia y desde cada terminal. Se utilizan varios esquemas de modulricibn al igual que diferentes grados de medios de comunicacibn y velocidades de transmisi6n. S i n embargo. Los dispmitivos de alta velocidad utilizan l a transmisi6n slncmna para &tener esta eficiencia. 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.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. Para una operacibn adecuada. 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. 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. Una Línea de comunicaci6n puede estar conectada a una interface síncrona o asíncrona. 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. Una interface asíncrona recibe datos seriales con bits de inicio y paro en cada carkter. 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. s e necesita que los relojes en los rnúdems transmisor y receptor estén sincronizados en todas las ocasiones. como 'se muestra en la figura 11-7. dependiendo del mgtodo de transmisibn de la terminal remota. La sincronizaddn de la secuencia la consigue el .SECCI~N 11-8 Cmunimci6n serial 461 por lo tanto tener un desempeño aparente de servir a muchos usuarios a la vez. 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.

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

Estos caracteres & listan en la tabla 11-4. La transferencia de información ordenada en un enlace de datos se consigue mediante un pmfocolo. El código que se usa con mayor frecuencia es el AKII (código estándar norteamericano para intercambio de información). El tiempo requerido para cambiar una línea semidúplex de una dirección a otra se llama tiempo de vuelta. 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. Los caracteres que rontrolan la transmisión se llaman caracteres de control de comunica&. Cuando termina la transmisión en una dirección. el papel de los modems se invierte para habilitar la transmisión en sentido opuesto. de acuerdo a las técnicas de ordenamiento de mensajes. Es un código de 7 bits en el que se usa un octavo bit para paridad. 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 ejemplos de transmisión símplex son la programación de radia y televisió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. Los protocolos se dividen en dos categorías principales. Una situación común es la de un modem que actúa como el transmisor y otro como receptor. 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. los diez ntímeros y una variedad de símbolos especiales. El propb sito de un protocolo de enlace de datos es establecer y terminar una conexión entre dos estaciones. 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. 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. Las líneas de comunicación. Los caracteres gráficos incluyen las letras maflsculris y minúsculas.SECCI~N11-8 Comunicación serial 463 dúplex completo protocolo indicarle la aparición de errores. Los caracteres de control se utilizan para dirigir datos. arreglar la prueba en un formato deseado y para la distribución de la página impresa. Se necesitan un par de cables para este modo. 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. En la tabla 11-1 puede encontrarse una lista de los caracteres ASCII. Alternativamente. Cada carácter tiene m código de 7 bits y se hace referencia a él mediante un símbolo de tres . El código tiene 128 caracteres. 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 campo de texto y . Además. El papel de carActc?r en el control de l a transmisidn de da. las dos unidades son sinanas en bits y caracteres. el receptor comprueba los tililtimos 8 bits recibidos. Cuando se utiliza el código AXII de 7 bits con un bit de paridad impar en la posicidn m8s significativa. El. Por l o general. el car6cter SYN asignado time el d i g o de 8 bits OOOlOllO que tiene la propiedad que. receptor reconoce estos caracteres como una cmdiión para sincronizar la línea y pasa a su estado inactivo síncrono. D e ahí en adelante el receptor cuenta cada 8 bits y los acepta como un sólo cadcter. 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. y despuhs envh el mensaje real.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 . ante la acwrencia de un corrimiento circuiar. En a t e estada. L . Cuando d transmisor empieza a enviar caracte res de 8 bits. En otras palabras. El car6cter S Y N sirve como un agente de sincmnizaci6n entre el transmisor y e l receptor. Esto se repite despuds de cada pulso de reloj y después de cada bit recibido hasta que se reconwe un caracter SYN. cuando e l transmisor está desocupado y no tiene ningunos caracteres de mensaje que enviar.se explica m fomia breve en la columna de fumih de la tabla. o s mensajes s e transmiten por el enlace de datos con un formato establecido que consiste en un campo de encabezado. envía primero unos cuantos caracteres. La serie continua de bits iniciales que acepta ei receptor se comprueba en busca de un carácter SYN. aunque no se comunique infomaci6n significativa. el receptor ha "armado"un caracter. 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. se repite a sí mismo &lo despuh de un ciclo de 8 bits completo. Una vez que se detecta un cariícter SYN. con cada p h de reloj. emplea una serie continua de caracteres SYN.

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

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. Los datos de texto que nos interesan aquí son "solicitar EI balance la cuenta 1234". Sin embargo. Si el procesador encuentra que el mensaje no tiene errores. S i no coinciden ae retorna a la terminal un reconbcimiento negativo (NAK) que iniciaría una retransmisi6n del mismo bloque. m i b e los caracteres. Usa la terminal T4 y almacena el texto asociado con el mensaje. se envia de r e p m a la terminal un reconocimiento positito. La línea continua inactiva con un carkter SYN Mmtrhs . La CPU envía una instniccih al procewdor de municación de datos para que ende el mensaje a la terminal. debe recordarse que cada carActer m el mensaje tiene un código de 8 bits y que cada bit se transmite en forma serial. En i a tabla 11-6 se lista una =puesta pica del procesador a la krminal. e l procesador m o c e el mensaje p * con un c d c t e r ACK. Los caracteres individuales para este mensaje no se listan en la tabla porque ocuparían demasiado espacio. La LRC calculada se compara con el carActer LRC recibido. Cuando la CPU reconme la interrupción.0011 O111 OIWIO No.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. 1234 K m LRC Fin de transmisi6n de texto Carácter de paridad longitudirtal el comienm de la transmisión de texto. El siguiente carkter después de ETX es una comprobación de redundancia longitudinal (LRC). El carácter de control El"X significa la terminación de h c a r a c m de texto. Después de dos caracteres SYN. a n a h el mensaje y prepara un mensaje de t a t o para responder a l a solicitud. 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 . lo transfiere dentro de la memoria e inkrrumpe la CPU. el proeesador comprueba la paridad en cada carkter y ta&iQi calcula la paridad longitudinal. S i los dos coinciden.

Camo los se en fomia s e r i a l . Se calcula un carActer LEC y se envla a la temiinal.. 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. Mientras el procesador cuida esta terminal. El mensaje tiene e l encabezado SOH y l a djreccibn de la tenninal T4. 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. también está a p d o procesando otras tenninalea. d procesador xetransrnite el mensaje. impresora y dispositivos de arhiiirión visual que utilizan Transparencia de datos . 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. Esta propiedad permite mdtiplexar a muchos usuario8 para eonsegiiir una mayor efectividad en un -S de tiempo compartido. 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.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 . Si la terminal responde con un cargcter NAK. 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. El mensaje de texto informa a la terminal que el balasice es $100.

escape de enlace de datos) antes de cada cardeter de control de copunicación. Por lo tanto.E y después comprueba el siguiente paMn de 8 bits. 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 ejemplo cuando dos computadoras remotas envlan programas y datos una a la otra por un canal de comunicaci6n. Esto sucede. el receptor lo considera como parte del texfo y continúa recibibndolo. Después el receptor debe contar la cantidad de bytes recibido6 para Uegar al final del campo de texto. Un patr6n de bib arbitrario en e l mensaje de1 texto se convierte en un problema en el protocolo orientado a caracteres. Además . El receptor quita todos los caracteres DL. se detecta el comienzo de un encabezado del cari5cter doble D E SOH. - Protocolo orientado a bits E1 protorolo orientado a bits no utiliza caracteres en su campo de control y es independiente de cualquier o particular. y el campo de texto se termula con el cadcter doble DLE E I X . rr?lF. 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. 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. Si es otro patr6n DLE.carbcter RLE &lo caracteres alfanuméricos. Por lo tanto. el transmisor inserta otro patrón de bits DLE después de él. se han desarroIIado otros protorolo3-para hacer d s eficiente la transrnisibn de datos transpawtes. Lograr la transparencia de datos mediante el carsicter DLE no es eficiente y resulta complicada de implantar. 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. se dice que contienen datos transparentes. Por ejemplo. Conforme se amplió el campo de comunicación de datos# se h a necesario transmitir información biaria que no fuera texto AXII. 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. La transferencia de datos se consigue en b s protocoIos orientados a caracteres al insertar un cariicter DLE {data link escape. si los datos binanos en la parte del texto del mensaje tiene el patr6n de 8 bits 100M1011. el receptor interpretar& &te como un car6cter ETX y considerar4 que se ha alcanzado el fin del campo de texto. D e otra manera. 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. el r e q t o r tonía el siguiíente patrbn de 8 bits como un caracter de control de comumicacibn.

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

N . Una wtaci6n que recibe cuadros 8eeuenciados cuenta cada marco sin error que recibe. Despub de la bandera esa el campo de direccih que utiliza h estación primaria para designar la dirección de la estaci6n secundaria.Kedhlr menta P/F E -binario tinal / . Cuando una estad611 s e a m h i a transmite un cuadro. se desactiva m O el bit menos sigruficativo de un byte de dwcción si le sigue otro byte de direacibn. Una estacibn que transmite cuadros en secuencia cuenta y numera cada cuadro. 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. El receptor siempre quita un O después de una sucesión de cinco números 1. Esta cuenta la proporciona la menta de recibo N. La cuenta N. Cada cuadro transmitido en este formato contiene cuentas de envio y recibo. 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. como se muestra en la figura 11-27. 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. 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. Un campo de dirección de 8 bits puede especificar hasta 256 direcciones. la dirección le dice a la estacibn primaria cual eshción secundaria originb el cuadro. Enviar cuenta N. Como c o ~ e n c i a j. E l campo de control viene en ires formatos diferentes. Para hacer esto. El formato de transferencia de infarmaci6n se utiliza para h transmisi6n de datos ordinarios. Esta cuenta la proporciona la cuenta de envío N.a d s se transmite un paMn 01111110 entre las banderas inicial y final.

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

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

b . c. pero antes de que la CPU responda con el reconocimiento de interrupci6n7 .Problemas 473 tCdnt& bits hay en el registro de oorrimiento transmisor de la figura 118 cuando la . Considere la posibilidad de noxr la internipci6~1 en cualquier momento durante la ejecuci6n de la instnieci6n. ~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. Se inserta i n h c i 6 n denkm de un búffer FiFO a una velmidad de m bytes por segundo. Usando la conñguraci6n establecida en el problema 11-16. $3 bCiffer está lleno? ' c ¿El bilffer contiene dos datos? a. a ¿Cuánto tiempo se necesita para llenar un buffer vado cuando m > n? b. Transmisibn serial aslncrona con dos bits de alto. ¿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.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. Determine un procedimiento para especifiw y limpiar el bit de bandera. La información se borra a una velocidad de n bytes por qundo. obtenga un diagama de. Transmisidn s&al dincrona. 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. a. ¿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. después que e1 dispositivo 2 ha enviado una solicitud de interrupei6n a la CPU. ~Cuálw son los vakres de entrada preparada. Analice la dificultad que puede surgir.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. Trammisi6n &al asinmons con un bit de alto. L a máxima capacidad de bdffer es k by@.fkujo(similara la de la figura 11-11) parad programa de CPU para sacar datos. 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.

.robe de ciclo. ~Porqug kamfereneia de memoria? 11-31. . ¿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. comenzando con la de más alta prioridad. 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. 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 . 11-22 Utilizando técnicas de disefio de c h u i b s mmbinacionales. 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. 11-25. ~ Q u 4 debe hacerse en la figura para hacer que los cuatro valores VAD sean iguala al equivalentebinario de 76. Dibuje el diagrama lúgico del circuito. Propbcione la cuenta paso a paso de las acciones que se toman durante I1 . Las palabras se. Liste las ocho direcciones de