Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
-7 JTAL , ' A l - ARQUITECTURA DE COMPUTADORAS TERCERA EDTCI~N M.- Morris Mano Universidad Estatal de Califoda en LOS Angeles TRADUCCI~N: MIGUEL ANGEL MART~NU SARMIENTO ~ S I ~ N TWNICA: AGUST~N SUAREZ FERNANDEZ Departamento de Ingeniería Ektrica Universidad Aui6noma Metropolitana Iztapalapa, Mdxico M&- Argentina Brasil Colombia Costa &a Cbiie Ecuador España Guatemala Panamá PerG Puerto Rico Uniguay *Venezuela .Acquisiti*m kditoi: P& Jamm Wuction editor: ]en* W m *eE .sherep Coodm - editor: hrbnr'i 1 MORRIS MANO: AXQWlX€TUM DE COMPUTADORAS 316d. Traducido de la terreta d i del ingiés: COMPUnR SYSTEM ARCkmEmuRE Rohibida la repducción total o parcial ,de' esta obra, pc e ¿ i b . m lisr d i o o meido sin auborización por d t o del A DEüECH05 RESERVAWS 1% res- a Ia @a edición en espaiiol pubiicada por: PRENTICE HALL ~ A N O ~ C A N A ~ Q . ,, Atlacomuioo Nfim. 5 0 0 - 5 O Pisa Col. Zndustrial A m 53519, Naucalpan de J u h z , Edo. dc Mexiw ISBN Mw60.3614 a: Miembro de la Cgmara Nacional ¿e la Indushia Editorial, M. N h la' '4 'ItP b Original Efiglish Language Edition P u b W by Copyright O 1993 by Prentice Hall Lrsc. Al1 Righb Reswvd ARQUITECTURA DE COMPUTADORAS Prefacio CAPfRiLO UNO Circuitos de Idpica digital 1-2 Compuertas 16gicas 1-3 kgebra Booleana Complemento de u~ui furzci6n 11 1-4 Smplificaci6n por tnapas S i m p l t w n del producto de h s sumas Condiciones "m h p h " 17 1-5 Circuitos combinatorios Semisumadur 21 S u d w complefu (o total) 1-6 Flip flops f l i p w SR . 24 Flip pcip D 25 Flip flop JK 25 FíipfZop T 26 Ffip jlqv dispnrado por -el glnnco 26 Tablas #d'W 28 1-7 Circuitos secuencialk Ecuacbnes de &a& de Ios jlip fropc 30 Tabla de estado 31 Diagrama de estado 33 " Ejemplo de -diseffo 34 1 2-1 Circuitos integrados 2-2 Decodificadores DecodiJcad~ de eompmia NAND Expancidn del demdi$imdm 48 Cod$cadores 49 2-3 Multiplexom 2-5 B&gistn>s & c o ~ i e n t o Registro de -miento bidimcional con carga +la 56 2-6 Contadores binarios mnkmqm3 I.u 2-7 Unidad de memoria i &4 Memariadewmwv&t& 63 Menimin dio de ¡dura 65 I E X Tipos de ROM 66 m ! Problemas 1 Referencias CAP~TUD TRES Representacihn de datos w m 3-1 Tipos de datos Sistmw numéricoc 72 RqmenWndecrnial 76 . - . Rqmentach alfanurn&m 3-2 C o m p ~ t o s C o m p k t o I d 79 Resb de n i I m sin signo 81 Rép-tadh de'*piuito fijo )ilP RepresenM de enteros 83 1 unhetia 8 4 * - a 3 4 # 9 *1 Resfa arifmética 85 ha--- SobrgIt~jo 85 -- ~ Y L Rqmsmtación del punto fijo den'nral 3-4 Representación con p.unto. flotante 3-5 Otros códigos bina& C6digo Gray 89 1 d Okm d i g m decimales 90 w Otros digas dfirnr~mdrh 92 m 3-6 Cbdigos de detección dé emir 1- Problemas m- - Referencias C A P W CUATRO Transferencia de r k g h t ~ ~ y microoperaciones mil 4-3 Transferencia de canal y de memoria Canal de bus de tres mtados 106 T r n n s m de memoria 108 S u d o r sustractm binario 21'1 -1nmentadoT b i m h 112 Circuito arit rnético 113 4-9: Microoperaciones 16giras Lista de micrqueracion& I @ h s Implantsición de hrdwre TI 7 Algunas aplicaciónts 118 44 Microoperaciones de corrimiento Implantación dd hardwre 122 4-7 Unidad de corrimiento 16glco aritmétiao Problemas Referencias C A P ~ W ) CINCO Organización y. diseño bhim& cogpu@doras a*. 1 Códigos de instrucción d Organkiún de un programa almacenado 133 Direcchrntento indirecto 134 Fr. Regisb + computadora Canal m d n del 6istema 137 d M Instrucciones de computadora itll E& Versatilidad del conjunto ¿e i7isfrucEiom .143 Temporhci6n y control Ciclo de instrucci6n b 3 u! B d s q u d y decdjficanóff 248 A Determinnción del tipo de instruccibn 150 Iris- de r.fera?cia a r @ t m 153 ~trucciones de referencia a memoria Ejecución de la itzstrucción AND n AC 255 Ejecución de la imtrucdn ADD a AC 155 LDA: Carpa AC 156 STA: ~ l m & r AC 156 BUN: Brinco irnondichal 156 BSA: Brimr y guardar Ea dirección de ~m 157 rs ESZ: Incrementa y b r i w si es c m 258 %grama 05 flujo & mnfrol 159 a a M p c i ó n completa de computadora D k i b de una computadora Msica C m ~ l ú ~ k w n t d 270 C o n t r o l d e ~ t w a s y m d 170 Cmrtrol&j7ipflopsilimiorrs 171 Cmtrol de un canal común 172 DiseAo de un +aundador 16gico Control &l regisha AC 174 Circuito su& y Mg¿w 175 m r~ Problemas Referiencias CAP~%EO SUS Prograrnaci6n básica de la computadora 6-1 Intducción 1 A- h. 6-2 Lenguaje de máquina 63 kmaje ensamblador H.' Regias &l lenguaje 189 Un ejemplo 191 Tdu& n b i d 391 , 6 4 n - ñqwmentaci6n de un programa simb6lico en la memo& 1M P r i m m pasa& 195 A -44 Segunda pncnr3a 197 A ;a q' a 6-5 Ciclos del programa 6 4 Programaci6n de operaciones aritmeticas Prrrgnima & m u í t i p l i ~ 205 1 Suma de &le precisidn 206 operaciones 1 6 g - k 207 W 4~&-*&-.-~ 298- .- 6-7 Subditinas -*#m' Pardmtros de subrufina y enlace de datos 211 6-8 Programación de entrada-salida M n n i p u h h & aaracteres 215 ~nt&pc& del programa Problemas, Referencias 217 Ci - m'.-! . . 7-3 Ejemplo de un m i c q q r a m a C u n t J ~ d e l a c o m p u k r d o r a 233 F m t o & ih mbuim- 235 Mjdnstnmbm sirnMicns 238 7-4 Dkfio de la wdad de control Semmciador de r n h p r o p ~ 246 Problemas ReferenQas w i 1 - - a !l i U P ~ OCHO Unidad centrál de pmcesamiento Organizacibn general de los registros Palabra de control 258 ,, EjempZm de miciionperaciones 25'1 fi Organizad611 de una pila Pila de registro 262 Pila de memoria 264 Notbicibn polaca irmersa 266 E d u a c i d n de las expresiones aritrndticm 258 Fhnatos de las instrucciones Instruccioñes de tres direccionq 273 Insfmc+nes de d ~ s d i w a h s 273 Instruccbes de u m di=& 274 Imtrumhes de wro direcciones 274 Instrucctones RISC 275 -0s de direccionamiento Ejemplo numérico 280 Transferencia y manipulación de los datos Instruccbnes de W f e r e n c i a de los htcs 283 Inshdones de mnnipulnción de los dafos 284 Instruccbms ariiméticas 285 Instrucciones 16gims y oie mnnfpukzcih de bits 286 Inshucbm de m i m h t o 288 Control del programa Bits de condicim de es& 291 Instrucciones de brinco condicionnl 293 Llamada y retomo de mbrutim 295 Intemqckh &l p r v m a 297 Tipos de intnmpcbm 299 Computadora de conjun'b de instrucciones reducido WSC) 300 CarsicterEsticas CISC 301 Camterbtbs RISC 302 Ventanas & registros bslap& RlSC I de 8exkeIey 306 Problemas Reíerencias .,t $ 3 3 m ti--' km- -! W P W , ~ V E F;aralelismo y procepniento de vector 9-1 Procesamiento paralelo 9-2 Arq-a paralela b * .r*rr Cdrtsideracidnes generales 9-3 Línea paraiela aritmética w 9-4 h paralela de instnimone6 w Ejemplo: L f m puhlela de instrucciones de mh segmhtos 332 D+encUi de IÚs &tos 334 Manejo de las insh-s de fransfmch de m h I 335 P 5 Arquitectura paralela RISC Ejemplo: Línea paralela de instru&es de tres segmentos 338 r Carga pospuesta o rehrdudu 339 ' Transferencia pospuesta o retardada **" 9-7 Amgio de procesadot SKMD A ~ 1 0 d r . p m c n a d a m n S l ~ 0 M' Arreglo de pm+ SIMD 350 Problemas cA~h"LzL0 DIEZ Aritmttica de computadoras 10-1 Introducción 10-2 Suma y mta xii contenla0 Suma y resfa con &tos d~ mpititd Eon signo 357 Implantación de kardware 358 Algoritmo dev hardwm 359 Suma y resta &tos ds complemeittu a 2 con signo 361 10-3 Algoritmos de multiplicaci6n ImpIantadn de hardwre para datos de mgnitud m signo 363 Algaifme de hnrdwire 36# ~l&hto & m t i f t i p ¡ W n ije .Bmth 366 m signo 372 - Sobreflujonldividk 374 W Algm'lmo rfe hardware 375 .. ... t Otros algoritmos 377 tt 10-5 Operaciones aritmdtieas de punto flatante Consiikrncidnes hfiiaas 378 Corofigumcibn de registros . 381 -m Suma y resta 382 m Multipl-n 384 Divish 386 e - 106 Unidad aritmktica decimalw? Sumador BCD 389 K" Resta BCD 391 4 aia? ----'7f 10-7 Operaciones aritméticas decirnies R. W! Suma y m t a 395 CL Multipliuwión 397 Diarisidn 399 Opacimres & punto flPtante 4~ Problemas Referencias - & ,, m u r ' * * a bdn! C A P ~ ~ U L Q ONCE Organizaci6n de entrada-salida 11-1 , Dispositivos periféricm Caructers nlfanu&s ASCII 409 11-2 Interface de entrada-salida Canal de E/S y rnúdulos de int* 412 E/S versus canal de rnenrcirin 414' ~~ xiii 11-3 Transferencia a s h n a de da- C o n t d de habilitación 419 Remm'mimfo mutua 420 Trnmfeencia d l asfntnrro~ul 423 Int.rf.ce de comunkwibtt mfnrrwra 425 Buffer prUnero m enirar, primero en wlir 428 114 M d u s de trmfemch Ejemplo & E/S p r o g r a d 431 €/S iniciacta por interrupción 434 Consider~ctonm & pmgramacidn 435 11-5 Prioridad de interrupci6n Prioridad de m i h a de margaritas 437 Interrupc$n de priotPdad paral& 439 Cod~@dor de prioridad 440 Cich de in tmpcidn 4-41 - Rutinas de p ' q p m a d n 442 Operacions in icd y fuinl W 11-6 Acceso directo a memoria @MA) C o n M o r DMA 446 Tmnsf.eremh D2MA 448 11-7 h c e a d o r de entrada-salida (iOP) Comunhci6n CPU-IOP - 452 Cana2 de E/S IBM 370 454 IOP de Intel 8889 458 11-8 Comunicaci6n serial ProFocrofo orientado a caracteres 463 Ejemplo de t r a n s m W 465 Transpmcia de dalos 467 h W o &fado ú bits Problemas Referencias CAP~TULO D O C E Organizacidn de la memoria 22-1 Jerarquia de Ia memoria 12-2 Memoria principal CJ. de RAM y de ROM 481 Mapa de direcci6n & memoria 483 12-3 Memoria auxiliar 1 m q. Discos mpéflcos '- e Cinta mugtdticn . 489 -& i --' ,--.=-=a U4 Memoria asociativa 2 Organización de lu circüitmía 490 ?.i Ugim dr c&ncLiniM 492 6 ~ 1 - i m ~ c i & n t de Ieclura 495 Operacián de esmmSura 495 ' . 12-5 Memd& ea& ,, I -.., ~apeo'asociativo 498 ' +' " ' M d p directo 499 ivbpeo de m j r m t o ' o i b 1 ' Escritura en la .cnché 503 + Inicklizacibn del.ca& 504 : -- . 126 Memoria virtual I\ , l . Espacio de direc.ciotzpmiento y espdí5u de mm,min 505 Mnpeo %!e direccih &ando pdgin& 507 Tabla de @@m de mwia'usociatim 509 Sustitucidn de @@M a 510 12-7 Circuiteria de 'adminictracibn' de la memoria Mapeo de &+m segmentadn 5- Ejemplo numkrico Protección de memoria 1.. Problemas w , d m Referencias --- + *m CAP~TULQ TRECE 1 9 -4 Multipmcesadores 13-1 Características de multiprocesado- 13-2 ~5rnichir.s de interconixi(in E Caml común de tiempo compartido 528 ~ernork rnultipuerto' 53'0 . Conmutador de barra de cruz 531 ' ñed de mrnuhcidn de efsipns múltiples 532 3 i j ln tnmibn de hipercub 535 13-3 Arbitraje enfre procesadores Canal del sistemu 537 Procedimiento de arbitraje serhl Ldgica de arbitraje paralelo 5Pr 5 3 9 ~ Algoritmos de arbitraje dindrnim S 2 7 r n - w - 13-4 Comunicaci6n y sincronhcibn entre procesadores Sincronuandn entre -es 545 Exclus& mutiut m sm@m 545 13-5 Coherencia de cachd Condkhnes pra incoherencia 547 . Soluciones al probIm de c o h m h de mchd 549 Pmblemas Referencias -. ' :S - f ' . , , , '? 1 , # ,, ' 1 N ' . ? 1 1 - < & ' , I + l - 1 I 1 . P * ~ T . ! , " H i y 1 , l l 1 ,- w 4 .' Este libro trata de ia arquiwtura de5computadoras ?'de la organización y 'i*- Y ! 1 1 1 1 iI diseno de computadoras. La arquitedura de computadoras se interea por la e1 * l a 7 U estructura y desempeño de los diferentes m 6 d h funcionales de la compu- tadora y cómo interacthn para atender las necesidades de proeesamiaito del f. N i ~ i t : ' usuario, Ia organización de las computadoras studia la manera en que se 1 1 - . . a cmectan los componentes de la circui- para formar un sistema computacb S a*- , = - b - w 'i nal. El diseño de computadoras a n a k el desarrollo de la circuitwfa de 3> ,a n / , 1 l computadoras, tomando en consideraddn un cierto conjunto de ~ c a ~ . N I~UI a El libro proporciona el conocimiento básico necesario para comprender -. - a "r " la operacibn de h cimiitería de computadoras digitales y cubre los tres temas asociados con la circuiterfa de computadoras. Los capítulos del 1 al 4 ' + presentan los diferentes componentes digitales que se usan en la organiza- ,,u - -:M YIL..! cibn y diseíio de computadoras digitales. L m capitulas del 5 al 7 muestran . 1, . *; en detalle los pasos que debe recorrer un d i i d o r para preparar las basea 4 ' * de una computadora elemental. Los capítulos del 8 al 10 examinan la l'l.'i . 1 r organizacibn y arquitectura de la unidad de procesamiento centrd LQS J capítulos 11 y 12 estudian la organizacibn y la arquitectura de entradadda, * ? * * y de la memoria. El capitulo 13 aclara el concepto de multiprmesamiento. it ' . 1 *I = El libro se h e r e primero al material más sencillo y dapub aborda temas más avanzados. Por lo tanto, los primeros siete capitulos cubren el Riaterial .i 1. 4 e necesario para el conmimiento bhsico de ía organizacibn, disefío y progra- 1. - rirt* macibn de una computadora digitar simple. LQS últimos seis capítulos pre . a I 1 . - -tan la org&ci&n y arquitectura de Ias unidades f u n c i o d qaradas 1 1 de la computadora di@, e n f a b d o loa kmas más avanzados. * r 1 - - * En esta tercera edici6n el materiai está organizado como en la segunda y muchos de los temas no cambian. Sin embargo, la tercera d c i b n ofrece b - v 7 . -huevos temas en relaci6n con fa segunda edieih Todos los capítulos, 1 . . 1 excepto dos (el 6 y el lo), se han revisado por completo para actualizar el . , . -a 1- material y hacer mAs clara su presentaci6n. Se apegaron dos novedades: el 19. . 1 w t I I .' S . capitulo 9, acerca del procesamiento por arquitectura paralela y vedores, y -3 .. - 4- ñ el capitulo 13, acerca de multipmdores. Dos mimes tratan acerca de 4.1 7 - 1. .- la computadora que incluye un conjunto ducido de inetnicciones m). #, m. , , Ei capítulo 5 se revi& par completo para simpWar y hacer más chro e1 P iones y las mciones ae conrroi en fonna simb6lic.a mediante un lenguaje propio de la &m desarroliamos un lenguaje senciilo de transkrencia varias operaciones de computa- por completo la relaci6n del i6n de la &tería y El libro no plantea un eonocirniento previo de la circuiterla de mmpu- tadoras y el material puede entenderse sin nhgh requisito previo, sin embargo, alguna expiencia en la progromacin de lenguaje ensamblador con unn miuncomputadora facilitar& Ia comprwisi6n del material. Los capi- tulas del 1 al 3 pueden saltarse si el 1-r está familiarwdo con eI dis&o 1 6 e diitaL L a s ~ e n t e ~ u n a h e ~ ~ & h t e m a s q u e a e c u b m e n e a d a capitulo, d d e se esfablecen I ~ E mviswne que m hicieron a la tercera edi- El capitulo l i n a u e e los condmimtos básicos necesario^ para el diseAo de digitales construidw con base en compuertas y flip-flop d i . Cubre el Algebra booieana, los circuitos combinatonos y secuencia- les. Proporciona los ankedenb n-nm para comprender los c h i b a digitales que se van a presentar. El capitulo 2 explica en detalle la aperaci6n iópca de los componentes digitah más muna incluye decudifndofes, multipiexomI regis- ~ u m f a d m s y ~ ~ ~ d i & & s s e u m a r m o ~ d e comhd6n para el d k k de unidades más grandes en Im capitulo9 siguientes. . El capitulo 3 muestra cómo se repmmtan en forma binaria bs diver- sos tips de datos que se encuentran en las computadoras digitales, en los qistroe de la computadora. Se enfatiza la repmentaci&n de los números que se emplean en operaciones aribdtieas y en la codificarihn binaria de slmbolos usados en d p m d e n t o de datos, El capítulo 4 introduce un lenguaje de transferencia de registros y mueskra cbrno se usa para expresar mierooperaciones en forma simb6lica. !% definen SfmboIcxs paza microoperaeiones aritméticas, lbgicas y de corri- mientu. Se dqmoila una unidad aritmtfica-lúgii y de corrimiento com- puesta para demostrarel disefío de la circuitería de las mimooperaciones más .-m I E1 CapihSh 5 p m t a la organización y el d i o de una computadora digital básica. Aunque 3a computadora es aericilIa comparada m las mm- putadoras comerciales, no obstante, abarca suficientes posibilidades funcio- nales para mostrar la capacidad de un dispodtivo de propbsito v a l con programas almacenados. Se usa un lenguaje de transferencia de registros para describir la operaci6n interna de fa computadora y para especificar los rqbitae para su d M o . la computadora bhica utiliza el mismo conjunto de instrucciones de la xgunda edicih, pero su oqp izac ih de circuiterla y d M o se han revisado por m m p k Al recorrer los pasos detallados del diseño que se prem~tan en este capítulo, el estudiante podrá comprenda el funeionarniento interno de las computadoras digikles. El capitdo 6 utiliza las 25 inshmciones de la computadora básica para mostrar técnicas que se usan en la programación con lenguaje ensamblador. Se presentan,ejemplos de programación para varias tareas de p-to de datos. Se explica mediante ejemplos k reIación entre programas binarios . y d i g o simbúlico. Se analizan las operacionm bhsicas de un ensamblador de cbdigo simb6lico a un programa bir io equivalente. El capitulo 7 intduce el concepto de microprogramaci6~ Ademdq desarrolla una unidad -ca de control m ~ a r n a d o , para mostrar un ejemplo de cbmo escribir un micrw6digo para un conjunto de instruc- ciones tipico. Re* en detalle el diseño de la unidad de control, incluyendo h circuitsofa para el secuenciador de microprograma. El capitulo 8 trata acerca de la unidad de p-iento cmtral (CPU). Explica ia operaci6n de una pila de memoria y se muestran algunas de sus apiicaciones. Ilustra diferenb formatos de instrucciones, junto con diversos modos de dkccionamiento. Hace una relacidn de las instrucciones m8s comunes que se encuentran en las computadoras, junto con una explicacidn de su funci6n. La W . b seccih presenta. la computadora con conjunto reducido de instniccion- (m) y analiza sus caracterZsticas y ventajas. El capitulo 9, acerea de p-miento de F t o r y por arquitectura paralela, es nuevo en la tercera edición (el material sobre operaciones arit- mdticas 'de la segunda dici6n se pas6 al capihdo 10). Se explica el concepto de arquitectura paralela y se muestra con varios ejemplos cómo puede acelerar el procesarnimto. Se considera Ia arqui-a paralela aritm4tica y de ihstrucciones. Se muesh cbmo los procesadures RISC pueden ejecutar -1 instrucciones de ciclo 6nic0, a1 usar una conducción de instrucciones eficiente :i1 - m junto con técnicas de carga y transfewncia de control del programa propues- id tas. Se introduce el procesamiento de vedo= y se muestran ejemplos de operadones de punto flotante usando procedimientos paralelos. El capitulo 10 p m t a los algorihos arihdticos para suma, resta, multiplicaci6n y divisi6n y muestra los procedimientos para implantarlos con circuiterla digital. Se desamoflan p&i&ntos pqa ndmeros de punto fijo de complemento a 2 con signo y de magnitud con signo, para números binarios de punto flotante y para n6mem binarios codificados en dmimales (BCD). LDS algoritmos re presentan m w t e diagramas de flujo que utilizan d lenguaje de transfemia de registros para especificar la secuencia de micmperaciones y decisiones de control requeridas para su implantación. El capitulo 11 analiza las tecnicas que usan !as computadoras para comunicarse m dispositivos de entrada y salida. Se presentan unidades de interface para mostrar cómo interachh el p-dm con los perif&kos exter- n a Se explica el pmdhiento para transferencia asincrona de d a b senales o paralel- A n a h cuatro modos de transhcia: E/S programada, transfe- rmcia iniciada por intmmpción, acceso dii.ecto a memoria y el uso de pnxemdores de entradadida. Con ejemplos espedñaos, ilustra he proeedi- mientos para trmmbibn de datos mides. El sapihdo í2 presenta el concepto de jerarquia de memoria, mmpues- ta de memoria c a e , memoria principal y memoria auxiliar como d b magnéticos. Explican en detalle la orgmizaci6n y la operaci6n de las meme rias asociativas. Por otra parteg introduce el concepto de administracibn de memoria, mediante la representacihn de los requisitos de circuitería para un sistema de una memoria caché y una memoria vithiat Ei capitulo 13 demibe Ias caracte~ticas básicas de los multiprocesa- dores. Asimismo, pzesenta varias estnictuqs de inbconexih. Analiza la neeesldad de arbitraje entre prmaadores, comunicaci6n y shnizaabn. SE explica el problema de la coherencia de cachk, junto con algunas posibles aolucione3, Cada capitulo incluye un conjunto de problemas y una lista de refe- rencias.-Algunos de los pmbIerna8 sirven fomo ejercicios para el material cubierto en el capitulo. Otros son de naturaleza m4s compleja y pretenden ofrecer una manera de practicar en la-mlucidn de problemas asociados- con la arquitectura y el dis&o de circ2uitería de computadoras. El libro ea eanvdente para un c m de sistemas de circuitería de computadora, en las Areas de ingeniería eléctria y mmputacional o ciencias de la informática. Algunas partes del libro pueden usarse de diversas mane- ras: como un primer curso sobre ciGcuitería de computadoras al cubrir los capltuios del 1 ai 7; como un curso de organizacibn y diseño de computa- doras, con conmimientos previos de d i o de lógica digital, al repasar el capítulo 4 y +u& cubrir lo^ capítulos del 5 al 13; como un curso en organbción y arquikhira de computadoras, que cubm las cinco unidades funcionales de las computadoras digihles, al incluir el controI (capitulo 7), la unidad de procesamiento (capitulas 8 y 91, las opaciona aritm&tias (capítulo lo), la entrada-salida {capitulo 11) y la memoria (capltulo 12). Este libm también es conveniente para el autoaprendizaje, para inge- nie- y cientfms que necesitan adquirir conacimientos básicos de la circui- teda de arquitectura de computadoras. Mi gratitud a aquellas personas que tevisaron el texto, en particular al p b i Thomas L Casavant, de la miversidad de lowa; al profesor Murray R BerWtz, de Ia universidad polit&ka de Brookly"; al profesor Cem Ersoy, de de lavensidad Gemge Mason; al profesor Upkar Varshney, de la universidad de Missouri, en K a n w City; al profesor Karan Watson de la unirnidad de Texas ABrM, y al profesor Scott F. Midkiff, de1 Instituto a1 Politémico de V i a . M. Morris Muno EN ESTE CAP~"~WO bit 1-1 Computadoras digitales 1-2 Compaertas 16gieas Id Algebra booleana 14 Simplificación por mapas 1-5 Circuitos wmbinatorios 1-6 Flip-flqs 1-7 ~Circuitossecuenciales 1-1 Computadoras digitales La computadora digital es un sistema digitai que ejecuta diversas tareas de computación. h palabra digital implica que la información en la computa- dora se representa por variables que toman un número limitado de valores discretos. Estos valores se procesan internamente por componentes que puedm mantener un número limitado de estados discretos. Los &@tos decimales O, 1, 2, ..., 9, por ejemplo, proporcionan 10 valores discretos. Las primeras computadoras electr6nicas di@akj desarrolladas a finaIes de los años 40, se usaron principalmente para c6mputos numbricos. En este caso los elepentos discretos son los dí@toB. De esta apbcacibn ha surgido el término computadora digital. En la grActica, las computadoras digitales fun- cionan mbs confiablemente si d o se usan dos esMos. Por la restricci6n flsica de las componentes y porque la 16gica humana tiende a ser binaria (por ejemplo, proposiciones de cierto o falso, si o no), los componentes digitales que están restringidos a tomar valores d h t o s se restringen aún mis a tomar s61o dos valores y -se dice que mn binaribs. h s computadoras digitales emplean el sistema r(urn6rico binario, que tiene dos dígitos: O y 1. A un digito binario se le llama bit. La informaci6n2 C M ~ O NO Circuitos de 16gici se represen-9 en las computadoras digitales en grupos de bits. Con diversas técnicas de codificaci611, se puede hacer que los grupos de bits representen no s61o los números binarios, sino tambikn otros símbolos discretos, como los dígitos decimales o las letras del alfabeto. Usando juiciosamente los arreglos binanos y diversas tkcnicas de dificación, los grupos de bits desarrollan conjuntos completos de instrucciones para ejecutar distintos tipos de cómputos. En contraste con los niimeros decimales comunes, que emplean el sistema en base 10, los números binarios constituyen un sistema en base 2 con dos dígitos: O y 1. El equivalente decimal de un número binario se puede encontrar expandiendo éste en una serie de potencias en la base 2. Por ejemplo, el número binario lOO1011 representa una cantidad que puede convertirse a un número decimal multiplicando cada bit por la base 2 elevada a una potencia entera como sigue: b s siete bits 101011 representan un número binario cuyo equivalente decimal ec 75. Sin embargo, este mismo grupo de siete bik representa la letra K cuando se usa junto con un c6digo binario para las letras del alfabeto. Tambih puede representar un cbdigo de control para especificar alguna decisi6n Mgica en cierta computadora digital. En otras palabras, los grupos de bits en una computadora digital sirven para representar muchas cosas diferentes. Esto es similar al concepto de que las mismas letras de un alfabeto se utilicen para construir diferentes lenguajes, como el inglk y el francés. Un sistema de computadora se subdivide a veces en dos entidades funcionales: hardware y software. El hardware de computadora consta de todos los componentes electrbnicos y dispositivos electromecánicos que com- prenden la entidad física del dispositivo. El software consiste en ¡as instruc- ciones y los datos que la computadora manipula para ejecutar las diversas tareas de procesamiento de datos. A una secuencia de instrucciones para computadora se le llama programa. Los datos que son manipulados por el programa constituyen la base de datos. Un sistema de computadora está compuesto por su hardware y el software del sistema disponible para su uso. El software del sistema de una computadora consiste en una colecci6n de programas cuyo propbito es hacer un uso m6s efectivo de la computadora. A los programas incluidos en - - un paquete de software de sistema se les c o n a como sistema operativo. Se distinguen de los programas de aplicación escritos por el usuario con el prop6sito de resolver problemas particulares. Por ejemplo, un programa en un lenguaje de alto nivel escrito por un usuario para resolver necesidades de procesamiento de datos particulares es un programa de aplicacibn, pero el compilador que traduce el programa en lenguaje de alto nivel a lenguaje de mequina es un programa de sistema. El cliente que compra un sistema de computadora necesitaría, ademis del hardware, cualquier software dispc- SECC~~N 1-1 Computadores digitsles 3 nible necesario para k operaci6n eficaz de la computadora. El softwam del sistema es una parte hdispe~l~able del sistema total de la computadora. Su funcibn es compensar las diferencias que existen entre las necesidad- del usuario y la &pacidad de1 hardware. El hardmre de la computadora se divide por lo general en tres grandes partes, como se muestca en Ia figura 1-1. La unidad central de procesamiento (CPU, central processing unit) contiene una unidad aritmdiica y 16giea para la manipulaci6n de datos, varios registros para almacenar los datos y cirmi- tos de control para leer de la memoria y ejecutar instrucciones. La memoria de la computadora almacena las instrucciones y los datos. Se le llama memoria de acceso aleatorio (RAM, randam access memory) por la CPU puede accesar cualquier parte de la memoria en forma aleatoria y recuperar la infonnaci6n binaria dentro de un intervalo fijo. El procesador de entra- da/salida (XOP, input output prcicessor) contiene circuitos e l d n i c o s para comunicarse y controlar la transferencia de información entre la computado- ra y el mundo exterior. Lcw dqositivos de entrada y salida conectados a la computadora incluyen teclados, impresoras, terminales, unidades de diseos magndticos y otros dispositivw de comurticaci6~ Este libro proporciona el conocimiento básica para entender las opra- ciones del hardware de un ~istema de computadora. El tema se considera a veces desde tres diversos puntos de vista, dependiendo del interés del investigador. Cuando se trata del hardware de la computadora, es costumbre distinguir entre lo que se refiere a la organizacihn de computadora, su diseño y arquitectura. La organizacidn de la compuhdm w refiere a h manera en que los orgaeizaci6n componentes operan y la forma en que se conectan para formar el sistema de la complrfadora de la computadora. Se supone que los diversos componentes están en su lugar y la tarea es investigar la estructura organhciond para verXcar que las partes de la computadora funcionen como se proponfa- 1 Figura 1-1 Diagrama de bloque de rina mmput%dora digital. t i ' L 4 NO Circuitos de 1- digital El d&& & la compufadma se ocupa del diseito del hardware de la computadora. Una vez que se formulan las especificaciones de la computa- dora, es tarea del disefiador desarrollar el hardware para el sistema. El diseño de la computadora se ocupa de h determinaci611 de qué hardware debe usarse y c6mo deben conectarse las partes, Este aspecto del hardwa- re se conme a veces como impfantaciún de la cimput&ra. ta arqtdtectitua de la computadova se ocupa de la estructura y compor- tamiento de la computadora desde el punto de vista del usuario. Incluye los formatos de i n f o M n , el conjunto de instrucciones y las Micas para kcionamiento de memoria. El de la arquitectura de un sistema de computadora a ocupa de las especificaciones de los varios mbdulos funci* nales, tales como los procesadores y la memoria, y de estructurarlos conjun- tamente en un sistema de computadora. Este libro trata de los tres temas asociados con el hardware de la domputadora. En los capitulas del 1 al 4 presentamos los distintos c o m p rientes digltales usados en la organización y disefio de los sistemas de eomputa'dora. En los capfhiIos del 5 al 7 se cubren los pesos que el disenador debe transitar para diseñar y7prograrnar una computadora digital elemental. Los capitula 8 y 9 tratan de la arquitechira de la unidad central de procesamiento. En los capftulos 12 y 12 presentamos la organhaci6n y arqukhra del proeesador de entrada salida y la unidad de memoria. 1-2 Compuertas 16gicas La informacibn binaria se repregenb en las computadoras digitales por cantidades físicas llamadas sdahs. Las sefiales eléctricas tales como los voltajes existen en todas partes de la computadora, en cualquiera de loe dos estados reconocidos. Los dos estados representan una variable biaria que puede ser igual a 1 o a O. Por ejemplo, una computadora digital en particular puede emplear una sefial de 3 volb para representar el 1 binario y 0.5 volis para representar el O binario. Las teminales de entrada de los circuitos lbgicos aceptan señaies binarias de 3 y 0.5 volts y los circuitos responden en las terminales de salida con h l e s de 3 y 0.5 voltios para representar la entrada y saIida binarias correspondientes a 1 y 0, respectivamente. La 16gica binaria I t a de las variables biarias y con las operaciones que asumen iin significado 16gico. Sirve para describir, en forma algebraica o tabular, Ia d p u l a c i b n y el procesamiento de la infomacibn binaria. La manipulación de la informacibn binaria se hace mediante circuitos 16gicos llamados wmpilertas. Las compuertas son bloques de hardware que produ- cen sefiales del 1 o el O binarios cuando los requerimientos lógicos de entrada son satisfechos. En los sistemas de computadora digital se utiliza porlo general una variedad de compuertas lógicas Cada compuerta tiene un simbolo gráfico distinto y su funcionamiento puede describirse por medio de una expresibn algebraica. La relación de entrada/salida de las variables NAND NOK binarias para cada compuerta puede representarse en forma tabular por una tabiu de &d. tos nombres, 10s símbolos grAfieos, las funciones algebraicas y las tablas de verdad de las ocho compuertas 16gicas se listan en la figura 1-2. Cada compuerta tiene una o dos variables de entrada binarias designadas con A y B y una variable binaria de salida designada por x. compuerta AND (Y) produce la función I6gica AND: esto es, la salida es 1 si la entrada A y la entrada B son ambas igual a 1; de otra manera, la salida es O. Estas condiciones tambih se especifican en la tabla de verdad para la compuerta AND. La tabla que muestra ia salida x es 1 6610 cuando la entrada A y la entrada B son ambas 1. El símbolo de operaci6n algebraica para la funci6n AND (Y) es el mlsmo que el simbolo de multiplicaci6n de la aritmética ordinaria. Podemos usar un punto entre las variables o bien concatenar las variables sin ningh símbolo de operaci6n entre ellas. Las compuertas AND (Y) pueden tener mas de dos entradas, y por definicihn, la salida es 1 si y s61o si todas las entradas son 1. Ia c~mpuerta OR {O) produce la funcibn 0R (0) inclusivo; esto es, la salida es 1 si la entrada A o la entrada B o ambas entradas son 1; de otra manera, k salida es O. El símbolo algebraico de h funcibn OR (O) es + , similar al de la suma aritm4tica. Las compuertas OR (O) pueden tener mbs de dos entradas, y por defmici6n, la salida es 1 si cualquier entrada es 1. circuito hversor El circuito inversor invierte el sentido lbgico de la señal binatia. Produce la funcidn NOT o complemento. El simbolo aleraico que se utifua para el complemento 16gico es símbolo de prima ('1 o una barra sobre la variable. En este libro usamos el simbolo de prima ('1 para el complemento 16gico de una variable binaria, mientras que la barra &re la htra se resma para designar una micmoperaci6n complemento como se define en el capitulo 4. El circulo en la salida del símbolo gráfim de un inversor designa un complemento 16gico. Un simbolo de kihgu10 por sí mismo designa un acopla- dor o registro intermedio. Un acoplador no produce una funci6n 16gica particular, ya que el valor biario de su saiida es el. mismo que el valor binano de su entrada. Este circuito sirve nada m8s para la amplificacibn de h potencia. Por ejemplo, un acoplador que utiliza 3 voltios para el 1 biario producirii una salida de 3 voltios cuando la entrada sea de 3 voltios. Sin embargo, la cantidad de potencia elgctrica necesaria a la entrada del acopla- dor es mucho menor que la potencia producida a la salida del mismo. El principal, prop6sito del aeoplador es manejar a otras compuerkas lo cual requiere una cantidad de potencia mayor. La funci6n NAND es el eomp~emento de la funcibn AND (Y),acomo se indica con su simbolo grdfico, que consiste en un shbolo gr4fim AND (Y) seguido de un circulo. La designacih NAND se deriva de abreviar NOT- AND. La compuerta MOR es el complemento de la compuerta OR (O) y lleva un simbolo grsifico OR seguido de un chulo. Tanto la compuerta NAND como la NOR pueden tener mas de dos entradas, y la salida es siempre el complemento de la función AND u OR, respectivamente. m U N Cirmib de lsgiea digital Nombre ANP Shhh Fuaci6a Tabla tde @ ! dgebrnb w r M x a'AB nx "."" .$ m OR B A- x = A + B 3 tnwm .* -m Buhr A+-. # = A .* NAND 0 B x x = [AB)' .Y 1 0 1 1 1 0 NOR B *- x x r ( A + B ) ' $ Mi ~ l t l s i w i (xa) MOR exc1wim oequltnihk w a . .- 1 1 0 x = A @ B " x 3 x = A B + A B ' 0 1 0 1 1 1 0 t A e", ?=(m+ B P x m A'B'+AB * Figura 1-2 Compuertas Mgicas digitales. La compuerta OR exclusiva (XOR) tiene un símbolo gc6fieo similar aI de la compuerta OR, excepto por una iínea cuma adicional del lado de la entrada. La salida de esta compuerta es 1, si cualquiera de Ias entradas es 3 pero excluye la combinacidn cuando ambas entradas son 1. La funcibn XOR tiene su propio sImbolo algebraico o puede expresarse en tCrminos de AND, OR y operaciones complemento como se muestra en la figura 1-2. El NOR exclusivo es el complemento del XOR, como lo indica el drculo en su símbolo gcáfim. La salida de esta compuerta es 1 sblo si ambas entradas son igual a 1 o ambas entradas son igual a O. Un nombre mh apropiado para la operaci6n XOR sería la funci6n impar; esto es, su salida es 1 si un número impar de entradas es 1. Asi, en una funcibn XOR de tres entradas (impar), la salida es 1 si s610 una entrada es 1 o si ias tres entradas son 1. Las compuerbs OR (0) exclusivo y NOR exclusivo se encuentran comúnmente disponible con dos entradas, y sólo rara vez se encuentran con tres o m8s entradas. 1-3 kgebra booleana E1 AIgebra boohna trata de las variables binarias y las operaciones 16gieas. Las variables se designan con letras como A, 8, x y y, Las tres operaciones h d d n boolea~a lbgicas basicas son AND, OR y complemento. Una función bmleana puede expmrse algebraicarnente con variables bmrias, los simbolos de operacio- nes l6gicas, paréntesis y signos de igualdad. Para un valor dado de las variables, la funci6n booleana puede ser 1 o O. Considere, por ejemplo, la función booleana La función F es igual a 1 si x es 1 o si tanto y' como z son igual a 1; de otra manera, F es igual a O. Pero decir que y' = 1 es equivalente a decir que y = O ya que t/ es el complemento de y. Por lo tanto, podemos decir que F es igual a 1 si x = o si yz = 01. La relacib entre una funci6n y sus tabla de vedad variables binarias se puede rep-tar en una tabla de verdad. Para repre- sentar una funci6n en una tabla de verdad necesitamos una lista de las 2" combinaciones de las n variables binarias. Como se muestra en la figura 1-3{a), hay ocho combinaciones distintas posibles para asignar los bits a las tres variables x, y y z. La funci6n F es igual a 1 para aquellas combinaciones donde x = 1 o yz = 01; es igual a O para todas las demás combinaciones. Una hinci6n boolem puede transformarse de una expmih algebraica diagrama ldgtco a un diagrama ldgico compuesto de AND, OR y compuertas inversas. E1 diagrama ldgico para F se muestra en la figura 1-3(b).-Hay un inversor para ia entrada y para generar su complemento f. Hay una compuerta AND (Y) para el término y'z, una compuerta OR se usa para combinar los dos términos. En un diagrama ldgico, las variables de la funci6n se toman como 3 Tabla de verdad U - 16gim @:;$-lm F i g ~ u 1 4 Tabla de verdad y dipama l b g i c ~ para f = r + fz. - - -,A las entradm del c h i t o y el símbolo de la variable de la funcibn se toma como la salida del circuito. El propósito del Algebra booleana es facilitar el afi5lisis y el diseño de los circuitos digitale. Proporciona una herramienta pr6ctica para: 1. Expresar en fonna'algebratca la relaci6n de la tabIa de verdad entre las variables binarias. 2. Expresar @n' fom algebraica la relacibn de entrada/calida de los diagrams16gicos. - m- u A 3. Encontrar circuitos m6s simples para ia misma función. Una funei6n booleana especificada por una tabla de verdad puede expresarse algebraicamehte~de muchas imaneras diferentes. Manipulando una expresidn erpregibn booleatta bmleana de acuerdo con las reglas del dlgebra bmleana, se puede obtener una expresibn @S simple que requiera menos compuertas. Para ver c6mo se hace esto, primero debemos estudiar las capacidades de manipulación del Algebra booleana, La tabla' 1-1 enlista Ias identidades mAs biisicas del álgebra booleana. Todas las identidades de la tabla pueden probarse por medio de las tablas , - de verdad. Las primeras d o identidada muestran la relación besica entre una sola variable y si conjuneidn de las constantes binarias 1 v O. cr TABLA 1-1 Identidades básicas de Mgebra booleana(1) x + o = x (2) x - o =9 ( ~ ~ z + x ~ = I (8j X . X ' = o p ) x + y a y + x xy = Y m ~ d s . (11) x + (y + z ) = (x +'y) f r (12) x(yz) = (xy)z (13) #(y + E) = ry + ;a (14) x 3. yx = ( x + y)(z + z) (15) ( x +y)' = x'y' (16) (xy)' = x' + y' (17) (x') ' = x teorema de DeMorgait Las siguientes cinco identidades (9 a 13) son similares a las del algebra ordinaria. La identidad 14 no s6 aplica en el 4igebra ordinaria, pero es muy íttil en la manipuhción de expresiones hleanas, t a s identidades 15 y 16 se llaman teoremas de DeMorgan, que se tratan abajo. La última identidad afirma que si una variable se complementa dos veces, uno obtiene el valor origina1 de la variable. Las identidades eniktadas en k tabla se aplican a variables solas o a las funciones b leanas expresadas en tdrminos de variables binarias. Por ejemplo, considere k siguiente expmidn algebraica hleana: AB' 4- C'D + AB' + C'D Si x = AB' + CD, la expresi6n puede escribirse como x + x. De la identidad 5 de la tabla 1-1 encontramos que x + x = x. Así la expresibn puede reducirse a sólo dos términ~ M' + C'D + A'B + C'D = AB' + C'D El teorema de DeMorgan es muy importante al tratar con las mpuer- tas NOR y N w Afirma que una compuerta NOR, que representa la funcibn (x + y)' ea equivalente a la funcih x'y'. Andlogamente, una funci6n NAND puede expmrse por o ($ + ?J). Por esta raz6n las compuertas NOR y NAND tienen dos distinb shbolos grS~cos, como se muestra en las *ra 14 y 1-5. En lugar de representar una compuerta NOR con un simbolo gr& OR (O) seguido de un circulo, podemos reprexatarlo por un simbofo gráñco AND precedido de clrculoa en todas sus entradas. El sfmbolo AND invertido para la compuerta NOR se sigue del teorema de DeMorgan y de la conven- ci6n de que los &culos pequeiíos denotan mpI&entaci6n. Análogamente, Figura 14 ih sfmboloei grái i~~a para la compuerta NOR Figura 1-5 lh sfmbolos grAficw para la compuerta NAND. 10 m UEJO Circuitos de lógica digital la compuerta NAND tiene dos símbolm distintos, como se muestra en la figura 13, Para ver cómo se emplea la manipulacibn del 4lgebra booleana para simplificar circuitos digitales, considere el diagrama 16gico de la figura ld(a). La salida del circuito puede expresarse algebraicamente como sigue: F = ABC + ABC' + A'C Cada término corresponde a una compuerta m, y la compuerta OR forma la suma lógica de los tres téminos. Se necesitan dos inversores para com- plementar A' y C'. La expresi6n puede simplificarse usando el áigebra booleana. F = A13C + ABC' T A'C = AB[C + C') i- A'C = AB + A'C Nótese que (C + C') = 1 por la identidad 7 y AB 1 = AB por la identidad 4 en la tabla 1-1. El diagrama 16gico de Ia expresidn simpIiicada se dibuja en la figura l-6(b). Requiere sólo cuatro compuertas en lugar de las seis del circuito de Figura l-ó lh diagrama ldgicos para la misma W n h l e a n a . P la figura 19(a). Los dos circuitos son equivalentes y producen la misma relaci6n de tabla de verdad entre las entradas A, B, C y la salida F. bl h -iWI ' complemento de una huicion El complemento de una función F cuando sé expresa en una tabla de verdad se obtiene intercambiando unos y ceros en los valores de F en la tabla de verdad. Cuando la funci6n se expresa en forma algebraica, el complemento de una función puede derivarse por medio del teorema de DeMargan. La forma general del teorema de DeMorgan puede apresarse como sigue: ( x ~ X ~ X ~ . . . ~ , ) ' = x; f x; + xj + - + x; m p * L . A h -- & ' A -Del teorema general de IkMorgan podemos derivar un prdimiento s h - a 1 mrtlmiple para obtener el complemento de una expresión algebraica. Esto se hace A- ' cambiando todas Ias operaciones de OK a operaciones AND y todas las operaciones AND a operaciones OR y luego complementando cada variable literal individual. Como un ejemplo, considere la siguiente expresibn y su complemento 1 Y F = AB + C'D' + B'D F' = (A1+ B')(C + D)(B t D') *-a- h expresibn complemento se obtiene intercambiando las operaciones AND ,,m y OR y complementando cada variable individual, Note que el complemento de C' es C. 1-- -- ,T. f -1 PII h r u 1-4 Simplificación por mapas La complejidad del diagrama lógico que implanta una funcibn bmleana se relaciona directamente con la complejidad de la expresihn algebraica a partir de la cual se implanta tal funcibn. ta represen'tacibn de la tabla de verdad de una M 6 n es Cinica, p r o la funci6n puede aparecer en muchas formas difermtes cuando se expresa algebraicamente. La expresión puede simplifi- carse por medio de las relaciones bAsicas del Algebra booleana. Sin embargo, UlIni ese procedimiento es algunas veces difícil porque carece de -las especificas y & W I para p r e d d cada paso sucesivo en el proceso manipulativo. El mgtodo de -. mapas proporciona un procedimiento sencillo y directo para simplificar las =S b expresiones h1eanas. Este m&do puede considerarse como un arregio e wfi? pict6rica de h tabla de vedad que permite una interpretacibn fkil para 3 h escoger el número rnhimo de t4minos necesa~ios para expresar algebrah- 12 cAPmno &O Circuitos de lógica digitd mente la funcih. El método de mapas se conoce también como mapa de Karnaugh o mapa K t6rtnino mínimo Cada combinación de variables en la tabla de verdad se llama Mrmino mínimo. Por ejemplo, la tabla de verdad de la figura 1-3 contiene ocho términos minimos. Cuando se expresa en una tabla de verdad una función de n variables tendri T témiinos m i n h , equivalentes a los 2" números bhrim obtenidos de n bits. Una funcidn boofeana es igual a f. para algunos téminps mhimos y O para otros. La informaci6n de una tabla de verdad puede expresarse en forma compacta distando los equivalentes dechales de aquellos térniinos núnimos que pdueen un 1 para la funci6n. Por ejemplo, la tabla de verdad de la ñgura 1 3 puede expresarse como sigue: Las letras en paréntesis indican las variables binarias en el orden en que aparecen en la tabla de verdad. El sirribo10 sigma representa ia suma de los términos minimos que siguen en parénmis. im términos mínimos que producen 1 para la funcibn se enlistan en su equivalente decimal. Imi thninos mhimw ausentes de la lista son los que producen O para la funcibn. El mapa es un diagrama hecho de cuadros, y cada uno de éstos representa un término minimo, b s cuadrados correspondientes a los térmi- nos m h h o s que producen 1 para 1a funci6n se marcan con un 1 y lm otros se marcan con un O o se dejan vados. Reconociendo los diversos patrones y combinando los cuadradas marcados con unos en el mapa, es posible derivar expresiones algebraicas alternas para la funci6n, de las cuales se selecciona la más conveniente. ios mapas de funciones de dos, tres o cuatro variables se muestran en la figura 1-7. El número de cuadros en el mapa de ñ variables es 2". Los 2' téminos mínimos se listan con un número decimal equivalente para una referencia f d d . Los números de término minimo se asignan en un arreglo ordenado tal que los cuadrados adyacentes representen téminos m h h o s que difieran por &lo una variable. Los nombres de las variables se enlistan a ambos lados de la línea diagonal, en la esquina del mapa. Los ceros y los unos marcados a la largo de cada renglbn y cada columna designan el valor de las variables. Cada variable den- de las Uaves contiene la mitad de los cuadrados del mapa donde la variable aparece sin dmbolo de prima ('). La variable con símbolo de prima (complementada) aparece en ia mitad restante de los cuadrados. El término mínimo representada por un cuadrado se determina por ias asignaciones b i n a h de las variables, a lo largo de las orillas izquierda y superior del mapa. Por ejemplo, el t6rmino mfnimo 5 en el mapa de tres variables es 101 en binario, que puede obtenerse del 1 en el segundo renglón concatenada m el 01 de la segunda columna. Este término mínimo r e p p senta unvalor para las variables binarias A, B y C, con A y C sin primas y -N 14 S i m p l i f i d por mapas adyacentes D y ., c) Mapa de cuatm variabb a ~ l A 1 4 v C b), Mapa de h v & b h ,m &igun W Mapas para funcione de dos, m y cuatro variables. -a- - a B con prima (eeb es, AB'C). Por otro lado, el término mínimo 5 en el mapa de cuatro variables representa un tkrmino &o para cuatro variables. El número binario contiene los cuatro Wts O101 y el término correspondiente que reprewnta es A'BC'D. los términos mínimos de cuadrados adyacentes en el mapa son id& ticos, excepto por una variable, que aparec'e compIementada en un cuadrado y sin complementar en el cuadrado adyacente. De acuerdo cm esta defini- ci6n de ser adyacente, los cuadrados de los exttemos del mismo renglón horizontal pueden también considerarse adyacentes. Lo mismo se aplica a los cuadrados superior e inferior de una columna. Como multado, los cuadrados de las cuatro esquinas de un mapa tambih pueden considerarse como adyacentes. Una funcibn booleana r e p m t a d a por una tabla de verdad se grafica en el mapa insertando unos en aquellos cuadrados donde la funcibn es 1. ios cuadrados que contengan unos se combinan en grupos de cuadrados adyacentes. Estos grupos deben contener un número de cuadrados que sea una potencia entera de 2. Los grupos de cuadrados adyacentes combinados pueden compartir uno o más cuadrados con uno o más grupos. Cada p p o de cuadrados representa un ténnino aigebraico y el OR de estas términos da una expmión algebraica simplificada de Ia función. Los siguientes ejem- plos muestran el uso de1 mapa para simplificar funciones boolearw. En el primer ejemplo simplificaremos la funcibn booleana Ei mapa de tres variables para esta funci6n se muestra en la figura 1-8. Hay cuatm cuadrados marcados can ntuneros uno, cada cual para los términos &os que produce un 1 para la M b n . Estos cuadradoe pertenecen a los os minimos 3, 4, 6 y 7 y se recon- de la figura 1-7@). Ih cuadrados adyacentes se combinan en la tercera columna. Esta columna pertenece tanto a B come a C y produce el término BC. Los dos cuadrados restantes con unos en las dos esquinas del segundo rengldn son adyacentes y pertenecen al mglbn A y a las dos columnas de C', asl que producen el término AC'. La expresión algebraica simplificada para la M b n es el OR de los das términ= EL segundo ejemplo simPl%ca'la siguiente función booleam Los cinco téminos mínimos están marcados con wios en los cuadrad- correspondientes del mapa de tres variables que se muestra en la figura 1-9. Lm cuatro cuadrados en la primera y cuarta columnas son adyacentes y . representan el ténnino C'. Los cuadrados wtantes marcados con 1 prbme- t v ~ ~ ~ * ~ r p i ~ ~ c l l i i . * L 1 m** dul -c.- .A A,. A d d L - Figura 1 4 Mapa para F ( k B, C) = E (3. C 67). b a w w figura í-9 Mapa para F(A, 8. C) = Z (O, 2,4,5,6). SCUdN 1-4 Simpliiicacióri por mapas 15 cen al término mhhor5 y pueden combinarse con ek cuadrado del término .mínimo 4 para producir el ténnino AB'. ta funci6n simpmcada es 9 = C' + a'' El Wrcer ejemplo necesita 'un mapa de cuatro variables. P(A, B. C, D) = Z (O. 1,2 6,8.9,10) El 4, m el mapa cubierta por esta función de cuatro variables comiste de las madrados marcados con unos en la figura 1-10. La funci6n contiene unoe en las cuatro esquinas que, tomados como grupo, dan el t4rmUio B'D'. Esto ee rpodble porque esto8 cuatro cuadrados m adyiteentes cuando el mapa se consWera con las orillas superior e inferior, izquierdh y de& toedndose. t o s dos unos a la izquierda dei renglon supmibr 8e combinan con los dos unos a la izquierda de la hileta húwiar para que den el ténino B'C'. El 1 *stanh en el cuadrado del tremitto minitn~ 6 se combina con el término mInimo 2 para dar el término A'CD'. ta funcidn simplificada es F = BID' + B'C' + A'CD' 1 e r ~ a 4i -Y ~implif icaci6n de producto de sumas Las &presiones booleanas derivadas de los mapas en los ejemplos anteriores se expresaron en forma de suma de productos. Lrw h5rminos de productos son tdrmincris con AND y la sumde116ta el 08 de estos términos. Algunas veces es conveniente obtener f expresibn d@aira' para la función en una forma de producto de suma. Las sumas son tbrminos OR y el producto denata el' AND de estos términos. Con una rnodificacibn menor, la forma de producto de sumas puede obtenerse de un mapa. El prucdmiemto para obtener h exptesión He producto de sumas se sigue, de Ias propiedades básicas del AIgebra bmlieafiaiL Los unos del mapa Figura 1-10 Mapa para F(A, P,.G, D) = C (O, 1, & 6,8,9,10). . C representan los t h h o s minios que prcdueen 1 para la funci6n. Los cuadrados no marcados con 1 representan los h r ú n o s mínimos que produ- cen O para la funah. Si marcamos los cuadrados vacíos con cem~ y lo^ combinamos en grupos de cuadrados adyacentes, obtenemos el complemento de la funcibn, F. Tornando el complemento de F' produce una expresibn para F en la forma de producto de sumas, La mejor m e r a de mostrar mto es con un ejemplo. Queremos simplificar la siguiente función booleana tanto en la forma de suma de productos como en la forma de produeto de sumas: Los unos marcados en el mapa de h figura 1-11 representan los t4miinos mhimm que producen unos paza la funcibh Los cuadrados marcados con ceros repwentan ios términos mínimos no incluidos en F y por lo tanto denotan el complemento de F. Combinando los cuadrados con unos nos da la M 6 n simplificada en la forma de suma de productos: F = B'D' + B'C' + A'C'D Si los cuadrados marcados con ceros se combinan, como se muestra en el diagrama, obtenemos la funci6n complementada simplificada: a4 F' = AB + CD + BD' - . Toman& el. complemento de F', &tenemos la funci6n simplificada en la hfrna de producto de sumas: t " F = (A' + B1)(C' + D1)(B' + DI b . d i a g r a m 16@m de las dos expresiones simplificadas se muestran en la f iwa 1-12, expresión de suma de productos se implanta en la figura SMXI~N 1-4 S i m p m por mapas 17 - a) Suma de 4- b) Roductm de suma F = B'D' + B'C + A'C'D F = ( A ' + ~ ' ) (C'+D')V'+D) !Figura 1-12 Diagrsmas Id@ c m compuertas AND y OR 1-12(a) con un grupo de compuertas AND, una para cada uno de: ios términos AND. Las salidas de las compuertas AND se conectan a las entradas de una compuerta OR iinica. La misma funci6n es implantada en la figura 1-220 en la forma de producto de sumas con un grupo de compuertas OR, una para cada uno de los b4miinos 0R. Las salidas de las compuertas OR se conectan a las entradas de una compuerta AND Suiica. En cada caso se supone que Ias variables de entrada están directamente disponibles en su complemento, así que no se incluyen inversores. El patr6n establecido en la figura 1-12 es la forma general por la cual cualquier funci6n boofeana se implanta cuando se expresa en una de las fonnas estándar. h s compuertas AND se conectan a una compuerta OR única cuando están en la forma de la suma de productos; h s compuertas OR se conectan a uaa compuerta AND única cuando esun en la forma de producto de sumas. Una expresión suma de productos puede implantarse con compuertas NAND como se muestra en la figura 1-13(a). N6ke que la segunda com- puerta NAND se dibuja con el símbolo grsfico de la figura 1-5(b}. Hay tres Iíneas en el diagrama con &culos en ambos extremm, Los dos dyulos en la misma lhea designan el doble complemento, y puesto que (x')' = x, los dos círculos Pueden quitame y el diagrama resultante es equivalente al que muestra en la figura 1-12(a), Anhlogamente, una expresidn de prcducta de sumas puede implantarse con compuertas NOR como se muestra en la figura 1-13(b). La segunda compuerta NOR se dibuja con el sfmbolo @fim de k figura 1-4(b). Otra vez, los dos &culos a ambos ladm de cada h e a pueden quitarse, y el diagrama asi obtenido es equivalmte al que se muestra en la figura 1-12(b).Condiciones "no importai' Los unos y ceros del mapa representan los téminos mínimos que h a m que la funci.6n sea igual a 1 o O. Hay ocasiones donde no importa si la funci6n produce un O o un 1 para un M i n o mínimo dado. Ya que la funci6n puede ~r un O o un 1, decimos que no nos importa cuál pueda ser la gatida de la a) Con wmpuertas NAND 1F1 -., - - L X L . . L L - - 3- La=-- .--- A- m-&- funci6n para este t4rmino mínimo. ios t h i n o s mínimos que pueden p m ducy un O o un 1 para la funcibn se llaman condicianes "no U n p ~ k i " y se marcan con una X en el mapa. Estas condiciones "no importan proporcionan una simpljficición adicional de la expresihn algebraica. "cuando se e w o p cuadrados adyacentes para la funcibn en el mapa, puede suponerse que las X sean O 0 1, cualquiera que dé la expresibn más simple. Además, la X no se necesita si no contribuye a la simplificaci6n de la funcidn. En cada caso, la elección depende &lo de la simplifiación que ejemplo, considerese la simiente funcidn b e a r i a importa": F(A, B, C) = (O,% 6 ) t éminos mínimos "no importa", enlistados con d prod&en un O o un 1 para la funcibn. Los demás tkrmintw mhimos, 4 y 7, producen O para la funcibn. El mapa se muestra en la figura 1-14. Las términos minimae de F se marcan con unos, aquellos de d se marcan con X y los cuadrados restantes se marcan ceros. Los unos y las X se componen en cualquier manera práctica para incluir eI mayor número de cuadrados adyacentes. No es Figura 1-14 Ejemp10 de mapa eon condicionen "no importam. nwe'mm a ' incI& bdas a algana de las X, m q u e sf todos 1& m. Al -,incluir los hr i inos mhimos "no-importa" 1 y 3 m los unos en el primer > renglón obtenemos el término A'. El 1 restante para el término mínimo 6 m combina con el término mínimo 2 para obtener el tdrmino BC'. La expresidn simplificada es i10 dbt m F = A' + BC' N&se que el término mlnimo ''no importa" 5 no se induy6 porque no --m-contribuye a la simplificación de la expresibn, Nótese también que si los -tenminos mínimos "no importa" 1 y 3 no hubiesen sido induidos con los %os, la expresihn Bynplificada para F wL sido u i Y" F - A'C' + BC' Esto requerida dos compuertas AND y una compuerta OR, en comparacibn -cQn la expmibn obtenida previamente, que requiere d o una compuerta AljD (Y) y una compuerta OR (O). ,, Lm. función se determina completamente una vez que las X se asignan , el mapa a los unos o a los ceros. AsI la expreaibn , -.A representa la funci6n bookana - a i d a b ta eonsiste de los t4rmintis mínimo9 originales 0,2 y 6 y de los términos &irnos "no importa" 1 y 3. El ,Wmho mhimo 5 no se incluye en la M b n . Puesto que los thnhos m h h o s 1, 3 y 5 se espeeifiearon oomo condiciones "no importa"!# hemos escogido ios términos m h h o s 1 y 3 para producir un 1 y el término mCnima S para prcducic un O. Esto se escogi6 así porque esta a s i v i 6 n produce la exgmión booleana más simple. A d b q b u t 8 ! d t b & P - 2 5 1-5 Circuitos combinatorios *""*- r- .cm 'Un circuito combinatorio es un arreglo de compuertas lógicas con un con- m - d u n t o de entradas y salidas. En cualquier momento dado, los valores binarim diagramu de las salidas son una combinación binaria de las entradas. En la figura 1-15, de bloqaw se muestra un diagrama de bloques de un circuito combinatorio. Las n 'W --'--" variables de entrada W r i a s vienen de una fuente extema, las m variables ~ l r d d e salida b i a s van a un destino externo, y entre éstas hay una interm- -exihn de compuertas lógicas. Un circuito mmbirrato~o transforma la infor- - diseño m variables de d d a Rgura 1-15 Diagrama de bloque con circuito comb'mbria maci.h binaria de los datos de entrada dadm a los datos de salida requeri- dos. Los circuitos combinatorios se emplean en las computadoras digitaks pata generar decisiones de control bina* y para proporcionar los compo- nentes digitales requeridos para el procesamiento de datos. Uii circuito d inator io puede desctlbirse mediante una tabla de verdad que muestre la relación buiaria entre las n variables de entrada y las m variables de salida. La tabla de verdad enumera los valores biarios de salida correspondientes a cada una de las 2' combinaciones de entrada. Un v circuito combinatorio puede es- tambh con m funciones boolea- ~ G - M S , una pot cada variable de salida. Cada función de salida se expresa en C términos de las n variables de entrada. adl is ls El andlisis de un circuito combhatorio comienza con un diagrama de circuito lgico determinado y cuImina con un conjunto de funciones boolea- nas o una tabla de verdad. Si el circuito digitai va 'acompaiiado de una explicacibn verbal de su funQ6n, las funciones booleanas o la tabla de verdad es suficiente para la verificacibn. Si la funclbn del circuito eskl en hvetigaci6n, es necesario interpretar la operación del hito a partir de las funciones booleanas derivadas o de la tabla de verdad. El dxioo de tai investigación se realiza si uno tiene experiencia y familiaridad con circuitos digitales. La capacidad para correhcionar una tabla de verdad o un conjunto d 4 y A de funciones hleanas con una brea de pmxwniento de infonaci6n es d r a un arte que se adquiere con la experiencia. El d k d o de &mito& combinatorios parte del planteamiento verbal del problema y termina con iin diagrama de cirruito lbgiro. El procedimiento comprende ha siguientes pasos: 1. Se establece e1 problema. 2 Se asignan símbolos literales (letras) a las variables de entrada y salida. 3. Se deriva la tabla de verdad que define la relacidn entre entradas y d a s . 4. Se obtienen. las funciones booleanas simplificadas para cada salida. 5. Se traza el diagrama 16gico. A- - - Para demostrar el M o de h c i m u b combinatorios presentarnos dos ejemplos de circuitos atitm&ticos simples. Estos circuitos sirven como b8s ic~~ de construcción para ciscuítos a r i t d b s más complicados. +misumador El circuito aritm6tico digital más simple es el de la suma de dos dígitos binarios. Un circuito combinatorio que ejecuta la suma de dos bits se llama un semisumadar. Uno que ejecuta la suma de tras bits (do6 bib ~ignificativoo y el acarreo previo) se llama sumador completo o total. El nombre anterior proviene del hecho de que se necesitan dos semk+ufnadores para implantar un sumadoc completo. Lis variables de entrada de un semisumador se llaman bits sumando y c&umando. Las variables de salida se llaman suma y acarreo. Es nece- sario especificar dos variables de salida porque la suma de 1 + 1 es el binario 10, que tiene &S ¿@tos. Asignamos los shbolos x y y a las dos variables de entrada y S (por suma) y C (para acarreo) a las dos variables de salida. La tabla de verdad para el sernisumador se muestra en la figura 1-16(a). La salida C es O, a menos que ambas entradas sean 1. la salida S C . representa el bit menos significativo de la suma. Lns funciones booleanas 9 & para las dos salidas pueden obtenerse directamente de la tabla de verdad: **t a 1 & b & b - ~ S = x ' ~ + x ? / , ' = x ~ i . d d o i a h a b & d d d c = ~ o . 1 A - El) diagrama lógico se muestra la figura 1-16@). Consiste de una com- puerta XOR y una compuerta AND. - .. aumaaor compiero io btau El sumador compieto ea m circuito combinatorio que forma la suma aritm& tiea de tres bits de entrada. Consiste de tres entradas y dos salidas. Dos de las variables de entrada, denotadas con x y y, representan los dos bits lid significativos a sumarse. ia tercera enkada, z, representa el acarreo de la -icibn menos significativa previa. Las dos salidas son necesarias porque la isuma aritmética de tres dígitos bhrios fluctilia entre O y 3 y el 2 o el 3 , binario, necesitan dos dígitos. Las dos salidas se designan por los simbolos ' S (por suma) y C (por acarreo). La variable binaria S da el valor del bit . menos sign&cativo de la suma.La variable binaria C da el acarreo de salida. La tabla de verdad para el sumador completo se muestra en Ia tabla 1-2. Los - --- - - Figura 1-36 Semisumador. a) Tabla de verdad b)D+m+o 22 c&ITlLO UNO CtmJtos de lógica digital TABLA 1-2 Tabia de wrdad pat.a sumad~.mmpieto Entiadas Salidas B:d . . . d- rrvn 9d I! &1' -&o renglones baja las variables de &bada deignan todas las posiñles combinaciones que pueden tener las variables binarias. El valor de ias vafiables $e aaiida s e determina de la suma aritmktiea de los bits de entrada. Cuando todos los bits de entrada son 0, la salida S es igual a 1 cuando sblo una entrada es igual a 1 o cuando las tres entradas son iguales a 1. ¿La salida C tiene,un a- de 3. si dos o tres entradas son igwles a 1. Los mapas de la figura 1-17 sirven para encontrar las expresiona algebraicas para las dos variables de salida. Zios unas en los cuadrados para 10s mapas de S y C se determinan dkedanwnte de los t&nninos mínimos en -la tabla de verdad. Los cuadrados con unos para la salida S no e combinan -a en grupos de cuadrados .adyacentes. Pero ya que la salida es 1 cuando un 4 -----número impar de entradas es 1, S es una función impar y representa la Aci6n XOR de las,variabIes (véaae lo establecido al final de la s ~ d 6 n 1-21, Lns cuadrados comunos para la salida C pueden combinarse en una varie- dad de maneras. Una expresi6n posible para C 6Y C = Ay + (x'y + q ' ) z Pigun 1-17 Mps para semisumadbr. DhQona cuenta de que x'y + xy' = x @ y o incluyendo la expresi6n para la saiida S, obhernus las expresiones holeanas para eI sumador c o m p k El diagrama 16gico del sumador completo se muestra en la figura 1-18. N6tese que el circuito del sumador completo consta de dos semisumadores y una compuerta OR Cuando lo usemos ,en los rapltulos subdguientes, el sumador completo (FA) se designara por un diagrama de bloque como se muestra en la *figura 1-18@). Los circuitos digitales eonsideradus hasta aqyi han sido combinatorios, don- de las 'salidas para cualquier tiempo dado son enteramente dependientes de las entradas que estén presentes en ese tiempo. Aunque es probable que cada sistema digital tenga un circuito combinatoh, la mayor parte de los sistemas encontrados en la practica tambidn incluyen elementos de almacenamhto que requieren que el sistema se describa en t&mhos de circuitos secuencia- , les. El tipo más común de circuitos secuenciales es el tipo sínmno. Los circuitos secuenciales stncronos emplean seiiales que afectan las elementos I d de almacenamiento s610 en instantes discretas de tiempo. La sincronizaci6n se logra con Un dispositivo de tiempo llamado generador de pulso de reloj, - que produce un tren periodico de pulsos de reloj. Lus p u h de reloj a ' * distribuyen i kavQ del sistema de manera P que los e1emenlor de alma- =&- cenamiento se afectan s6lo con la llegada del pulso de iincmniraci6n. La a-d ' circuitos -endales shcronos con reloj son de los que m6s se emplean en la prbctica, ya que raramente maüieptan problemas de inntabilidad y iu temporizaci6n le dexompone f4cihente en pisos dSsmetos independientes, LL L - cada iuio de los cuales puede considerarse separadamente. cimrttos secuedale6 Las elementos de -hacenamiento ernpkadas en los circuitas semen- - mluj ciales con reloj se llaman flip-flopp. Un flipflop es una celda binaria capaz de almacenar un bit de información. Tiene dos salidas, una para el valor normal .y una para el valor complementario del bit almacenado en 41. Un flipflop mantiene un estado binario hasta que es dirigido por un pulso de reloj para que cambie de estado. La diferencia entre los diversos tipos de fiipflops está en el número de entradas que posean y la manera en la cual las entradas afeetan el estado Finario. Abajo se presentan los tipos mk comunes de flipfbps. 'm arzi -- m Flipflop SR m# El símbolo grsfico del flipflob SR se muestra en la figura 1-19(a). Tiene tres +- entradas, S (de inicio), R (reinicio o borrado) y C (para reloj). Tiene una saIida Q, y a veces también tiene una salida compIernentada, la que se indica con uh círculo en la otra terminal de salida. Hay un pequeiio triángulo , - enfrente de la letra C, para designar una mtrada dimímica. El simbolo indicador dinámico denota el hecho de que el flipflop responde a una transid6n positiva (de O a 1) de la señal de reloj. , La operaci6n del flip-flop es como si'gue. Si no hay un señai en la entrada de reloj C, la salida del circuito no puede cambiar independiente- mente de cuáles sean Jw valores de las entradas S y R. S61a cuando la selial de reloj cambia de O a 1 puede la salida afectarse de acuerdo con los vabres de las entradas S y R. Si S = 1 y R = O cuando C cambia de O a 1, la salida Q se inicia en 1. Si S = 10 y R = 1 cwiido C cambia de O a 1, la salida Q se "reinicia" o barra en O. Si tanto S como R son O durante la transicih de doj, la salida no cambia. Cuando tanto S como R wm Iguak a 1, la salida es impdecihle y puede ser O o 1, ,dependiendo de los retrasos de tiempo internos que ocurran dentro del circuito. La tibla característica mostrada en Ia figura 1-190 resume la operacidn del flipflop SR en forma tabular. Las columnas de S y R dan los valores bimrios de las dos entradas. Q(t) es el estado binario de la d i d a Q en un tiempo dado (referido como el estado Q(t + 1) es el estado binario de la salida Q después de la ocurrencia de una transicibn de reloj (referida como e1 estado siguiente). Si S = R = O, una transici6n de reloj no produce un cambio de estado Iesto es, Q{t $ 1) = Q@]. Si S = O y R = 1, el flipflop va al estado O (rwiicio). Si S = 1 y R = O, el flip-flop va d estado 1 {inicio}. ,d Figura 3-19. mipfiop SR. El fiipfeop SR no debe &ir puhs de reloj--do S = R = 1 ya que produce un estado siguiente indekmimdo. Esta condicih indeterminada hace al flipflop SR diflcü ¿e manejar y por 10 tanto. se usa rara vez en la practica. Flip-flop D El flip-flop D (datos) es una ligera modificaci6n del flipflop SR. Un flip-flop SR se convierte a un flip-flop D insertando un inversor entre S y R y asignando el símbolo D a la entrada única. La entrada D se muestra durante la ocurrencia de una transici6n de reloj de O a 1. Si D = 1, la salida del flipflop va a1 estado 1, pero si D = O, la salida del flip-flop va al estado O. El simbolo gráfico y la tabla característica del flip-flop D se muestran en la figura 1-20. De la tabla característica notamos que el siguiente estado Q(t + 1) se determina de la entrada D. La relaci6n puede expresarse por una ecuación característica: Esto significa que la kalida Q del flip-flop recibe su valor de la entrada D cada vez que la seííal de reloj pasa a través de una transición de O a 1. Nótese que no existe una condicibn de entrada que deje el estado del flip-flop D sin cambio. Aunque el flip-flop D tiene la ventaja de tener sólo una entrada (excluyendo a C), tiene Ia desventaja de que su tabla caracteris- tica no tiene una condición Q(f + 1) = Q(t) "sin cambio". La condici6n "sin cambio" puede llevarse a cabo deshabilitando la seiial de reloj o retroalimen- tando la salida en Ia entrada, de manera que los pulsos de reloj conserven inalterado el estado del flip-flop. Fiip-flop JK Un flip-flop JK es un refinamiento del flip-flop SR en el sentido que la condición indeterminada del tipo SR se define en el tipo JK. Las entradas J y K se comportan como las entradas S y R para iniciar y reiniciar el fiip-flop, respectivamente. Cuando las entradas J y K son ambas igual a 1, una transición de reloj alterna las salidas del fliprfl~p a su estado complementario. Figura 1-20 Flip-flop R. Q ( t + 1) Limpiar a O Establecer en 1 b) Tabla c n m c t d s t k La figura 1-21 muestra el simbolo g r á k y la tabla caracterlstica del flipfbp IK. La entrada J es equiv.ei1mte a Ia entrada S (inicio} del flipflop SR, y la entrada K es equivalente a la entrada 8 (reinicio). Enlugar de la mndicih indeterminada, el flipflop JK tiene una ccmdici6n complementaria Q(t 4- 1) = Q'(t) cuando tanto J como K son igual a 1. np-flop T otro tipo de f l i ~ bp que uentra en l* libros de texto es el fiipflop T (de complemento, foggle). Este @p-flop, que se muestra en la f p r a 1-22, se obtiene del tipo JK mando las entradas J y K se conectan para propor- cionar una entrad'a $ica designada por T. El fiipfiop T, por lo tanto, tiene sólo dos condicioms. Cuando T = O (/ = K = 0) una transicibn de reloj no cambii el &tado del flip-ficp. Cuando T = 1 U = K = 1) una transici6n de reloj complementa el estado del flip-flop. Estas condiciones pueden expresar- se por una ecuacibn característica: Flip-flqp disparado por el flanco El tipo más común de flipflop que sirve para sincronizar eI cambio de estado durante una transicidn de pulso de reloj es el flipfiop disparado por e ! sin cambio Limpiar en O Ekkablecer en 1 CwnplemPniar b) Tabla de cuaclerbtiws Figura 1-21 Hip-fiop JK. Figura 1-22 Flipflop T. pulsasi, del nIoj el borde. En este tipo de flip-flop, las transiciones de la salida m n a un nivel específim del pulso de reloj. Cuando el nivel4 dd pulso de entrada excede este nivel de umbral, las entradas se -en de manera que el fiip-flop no responde a d i o s adicionales de las wtradas hasta que el pulso de reloj regresa a O y m pulso. Algunos flipflop disparados por el fianco tienen una transici6n en el flanco de bajada (transici6n de borde positivo) y otras c a m una transici6n en el borde descendiente (transicibn de flan& negativo). La figura 1-23{al muestfa ia &tal del pulsa ae reloj en un flip-flop D disparado por el borde positivo. üi valor en la entrada D ae transfiere a la salida Q cuando d reloj hace una.tLansici6n positiva. La salida no puede cambiar cuando .eI reloj esta en el niwl 1, en el nivel O o en una transición del nivel 1 d nivel O. La transieibn de reloj positiva efectiva incluye un tiempo mínimo llamado el tiempo de esfablecimimto, ,en el cual la entrada D debe permanecer en un valor constante antes de la transición, y un tiempo definido llamado tiempo. de retencidn, en el cual la entrada D no debe cambiar despuCs de la transición positiva. La transicibn positiva efectiva es pcir lo general una f r a d n muy pequeiIa del periodQ total del pulso de reloj. Ls figura 1-23@) muestra d shbolo gr6fm correspondiente y el dia- grama de tiempos para un fiip-flop D disparado por el flanco negativo. El símbolo gráfico incluye un círculo de negaci6n e~rente de1 indicador dh8- &o de La entrada C. Esbo denota comportamiento disparado por el borde neptivo. En &e caso el flip-flop -nde a la t r d b n de Ia señal dd reloj del nivel 1 al nivel O. Figura 1-23 Flipflop activado por Flanco. positiva e) Fiiphp D activado por ibnoo positiva de reloj negativa b) F l i p h p D activado por h-m negativo f l fpf lo~ Otro tipo de fiipflop que se usa en algunos sistemas es el fiipflop ~mo*w~lawo amessclavo. Este tipo de circuito consta de dos flip-&s. El p h e m es el *" amo y responde al nhel p i t i v o del re14 el segundo es el d a v o y responde . al nivel fiiegativo del re1.q. Ei mdhdo es que la saiida cambia durante la a trmsiciian de la h l del reloj de 1 a O. La tendenaa es alejarse del uso del fiip-flop mo-esclavo y acercarse a los flipflops disparados por el flanco. im fiipflops disponibles en c h i t c s integrados proporcionarh a ve- ces terminales de entrada para iniciar o borrat el fiipflop en forma asincró- dca. Estas entradas por lo genaal se llaman preinicio (preset) y 'borrar [clear) y dedan al fip-flop en el nivel negativo de la S-1 de entrada sin necesidad de un pulso de reloj. Estas entradas son útiles para llevar los fiipflops a un estado inicial antes de su operación cronornetrada. TabIas de excitacibn Las tablas caracteristicas de los flip-Aóps especifican el estado siguiente cuando se con- las entradas y el estado presente. Durarrte el d M o de los h i t o s secuenciales conocemos por 10 general h transición requerida dei estado presente al estado siguiente quisidramos encontrar las eondicie nes de entrada del flip-flop que causen la transición requerida. Por esta raz6n necesibmos una tabla que enliste bs combinaciones de entrada reque ridas para un cambio de estado dado: la tabla de excitaeih del flipflop. Fa tabla 13 enlista las tablas de excita& para lm cuatro tipos de flipflop Cada bbia consta de dos oolumnas, Q(t) y Q ( k i- 1) y wia columna para cada entrada para mostrar cómo se alcanza la transici6n requerida. Hay cuatro transiciones posibles del estado presente Q(t) al estado siguiente Q(t + 1). TABLA 1-3 Tabla de excitación para cuatro Eiip-flopc *OOP JK Flip-fiop T Las con'diciones de entrada regueridas para cada una de estas transiciones se derivan de la infonnaci6n disponible en las tablas caracteristias. El shbolo X en las tablas representa una condicibn "no importa" esto es, no tiene importancia si la entrada del flipflop es O o 1. La r a h de las mndicim ''no importa" de las tablas de excitad6n es que h y dos maneras de ilevar a cabo la trmicibn requerida. Por ejemplo, en un flipflop JK, la transicien del estado p m b de O a lin estado siguiente de O puede Uevarse a cabo haciendo que ha entradas J y K sean iguales a O (para no obtener ningiln cambio) o dejando que J = O y K = 1 para barrar el flipflop (aunque ya até hrrado). En ambos m J debe sw O, pera K S O en el primer caao y 1 en el segundo. Puesto que la transición requerida -4 eri cuaiquier caso, marcamos la entrada K con una X "no imporh" y dejamos que el a d o r +a O o 1 para la entrada K, o ea lo d s conveniente. 1-7 Circuitos secuenciales Un circuito secuencid es una interconexión de fiipfiops y compuertas. La compuertas por si mismas constituyen un circuito mbinatorio, pero cuando se incluyen junto con los flipfiops, e]. circuito completo se clasifica como un circuito secuencial. 31 diagrama de blques de un circuito secuencia1 sincm nizado por el d o j se muestra en la figura 1-24. Consiste en un circuito combinatorio y un niimem de fíipfiops sincronízados por el reloj. En gene- ral, puede incluirse cualquier n-ro de flip-flops. Como se muestra en el A diagrama, el bloque del circuito combinatorio recibe seiíales binarias de las entradas exkmas y de las salidas de los flipflops. las safidas del circuito combinatorio van a las salidas externas y a las entradas de los flipflops. Las compuertas en el a d t o combinatorio determinan el valor binario que va a almacenarse en los fiipflops despubs de cada transicibn de reloj. Las salidas de los fiipflops, a su vez, se aplican a las entradas del circuito combinatorio y determinan el comportamiento del cjrcuita. Este p m demuestra que las salidas externas de un circuito secuencia1 son funciones tanto de las entradas externas como del estado presente de los flipfIops. Adeds, el estada siguiente de Tos fipflops es también una funcidn del ~ t a d o presente y de las entradas externa As& un circuito secuencia1 se Figura 1-2;P Diagrama de blque de un circuito s e d 1 &mono con reioj. especifica por una secuencia de tiempos de hs entradas extemas, salidas externas y estados b W o s de los flipflop intemm. ni'm d d ~ IILtl+qa m E-cuacionee de entrada de los fiip-flopp- - - Un ejemplo de un circuito secuencia1 se muestra en la figura 1-25. Tiene una variable de entrada x, una variable de salida y y dos flipflops D cronome- trados. Las compuertas AND, compuertas OR y el inversor forman la parte I&gica combinatoria del circuito. tfts intemonexiones entre las compuertas del circuito eombinatorio pueden especiücam por un conjunto de expresiones bleanas, La p m del circuito combinatorio que genera las entradas a los fipflops ~e descrhn por medio de un conjunto de expresiones bmleanas eeuaddn de entrada -das ecuaciones de entrada del flipfiop. Adoptamos la noma de usar eI &bolo de
Compartir