diseño digital

540

Click here to load reader

Upload: frduran

Post on 03-Jan-2016

596 views

Category:

Documents


32 download

TRANSCRIPT

  • PR

    1

    2

    3

    CONTENIDO

    CIO

    ISTEMAS BINARIOS ., 2 3 ..

    5 6 7 8 -9

    Sistemas digitales Nme(Q~ _ .. . _ .. __ !9 a d :h( d autor Conversiones de base numrica Nmeros octales y hexadecimales Complementos Nmeros binarios con signo Cdigos binarios Almacenamiento binario y registros Lgica binaria

    I 3 5 7 9

    13 16 2' 27

    LGEBRA BOOLEANA Y COMPUERTAS GICAS ,

    6 7

    Definiciones bsicas Definicin axiomtica del lgebra booleana Teoremas y propiedades bsicos del lgebra booleana Funciones booleanas Formas cannicas y estndar Otras operaciones lgicas Compuertas lgicas digitales Circuitos integrados

    33 34 31 40 44 51 53 59

    INIMIZACIN EN EL NIVEL DE CO UERTAS , El mtodo del mapa

    Mapa de cuatro variables

    M fI Ipr

    6. 70

    IX

    1

    33

    64

    , d ,

  • vi Contenido

    3-3 Mapa de cinco variables 74 3-4 Simplificacin de producto de sumas 76 3-5 Condiciones de indiferencia 80 3-6 Implementacin con NANO y NOR 82 3-7 Otras implementaciones de dos niveles 89 3-8 Funcin OR exclusivo 94 3-' Lenguaje de descripcin de hardware (HOl) 99

    4 LGICA COMBINACIONAL 711 4-1 Circuitos combinacionales 1/1 4-2 Procedimiento de anlisis 1/2 4-3 Procedimiento de diseo 1/5 4-4 Sumador-restador binario 119 4-5 Sumador decimal 129 4-6 Multiplicador binario 131 4-7 Comparador de magnitudes 133 4-8 Decodificadores 134 4-, Codificadores 139 4-10 Multiplexores 141 4-11 HDL para circuitos combinacionales 147

    S LGICA SECUENCIAL SINCRNICA 167 5-1 Circuitos secuenciales 167 5-2 Latches 169 5-3 Flip-flops 172 5-4 Anlisis de circuitos secuenciales con reloj 180 S-S HOl para circuitos secuenciales 190 5-6 Reduccin y asignacin de estados 198 5-7 Procedimiento de diseo 203

    6 REGISTROS Y CONTADORES 217 6-1 Registros 217 6-2 Registros de desplazamiento 219 6-3 Contadores de rizo 227 6-4 Contadores sincrnicos 232 6-5 Otros contadores 239 6-6 HDL para registros y contadores 244

    7 MEMORIA Y LGICA PROGRAMABLE 255 7-1 Introduccin 255 7-2 Memoria de acceso aleatorio 256 7-3 Decodificacin de memoria 262

    Mar rr3.1 protegido por derechos de 3Ur')r

  • 8

    2

    u

    ~ 7-5 7-6 7-7 Zdi

    Deteccin y correccin de errores Memoria de slo lectura Arreglo de lgica programable Arreglo lgico programable Dispositivos programables secuenciales

    NIVEL DE TRANSFERENCIA DE REGISTROS 8-1 8-2 8-3 8-4 8-5

    8-7 8-8 8-9

    Notacin de nivel de transferencia de registros (RTL) Nivel de transferencia de registros en HDL Mquinas de estados algoritmicas Ejemplo de diseno Descripcin del ejemplo de diseno en HOL Multiplicador binario Lgica de control Descripcin del multiplicador binario en HOl Diseo con multiplexores

    lGICA SECUENCIAl ASINCRNICA Introduccin Procedimiento de anlisis Circuitos con latches procedimiento de d iseo Reduccin de estados y de tablas de flujo Asignacin de estado sin carreras Peligros Ejemplo de diseo

    CIRCUITOS INTEGRADOS D IGITALES

    ~~O-~I ____ ~lnlltllro~druu~ccQionn 10-2 Caracterfsticas especiales 10-3 Caracteristicas de transistor bipolar

    10-6

    EXPERIMENTOS DE LABORATORIO

    ]]-0 )].1

    Introduccin a experimentos Nmeros decimales y binarios

    Contenido vii

    267 270 27. 280 283

    2!ll 293 299 304 310 HZ 32 , 32. 32S

    ill lli ill 360 367 374 379 ru

    128 400 ill 1J1B. 4'0 420 m ill 421 430

    437 442

    291

    342

    398

    4E

  • PREFACIO

    diseo digital se ocupa del diseo de circuitos electrnicos digitales. Los circuitos digitales en el diseo y construccin de sistemas como computadoras digitales. comunica-

    datos. gmbacin digital y muchas otras aplicaciones que requieren hardware digital. Es-libro presenla las hrT-:'-Pi " ..... ,--;-- _ 1 .J, __ . .J . --'---litos digitales y proporciona los

    empleados en el diseo de sistemas digitales. Ser muy til como tex-de un CUI1lO introductorio dentro de un programa de estudios de ingeniera el&:trica, inge-

    en compUlacin o ciencias de la computacin. Muchas de las caractersticas de esta tercera edicin siguen siendo las mismas que las de

    anteriores, salvo por el reacomodo del material o cambios en el enfoque debidos a en la tccnologfa. Los circuitos combinacionales se abordan en un capftulo en vez de

    como en la edicin anterior. El captulo sobre circuitos Sttuenciales hace hincapi6 en el ron flip-flops D en lugar de nip-flops JK y SR. El material sobre memoria y lgica pro-

    se ha combinado en un captulo. El capftulo 8 se ha modificado prua incluir los proce-de diseo en el nivel de transferencia de registros (RTL).

    La principal modificacin en la tercera edicin es la inclusin de secciones sobre el Lengua-de Descripcin de Hardware (HDL) Verilog. El malerial sobre HOL se ha insertado en sec-

    aparle de modo que el profesor pueda dec idir c6mo incorpornrlo n su curso. La liene un nivel apropiado para estudianles que estn aprendiendo circuitos digita-

    y un lenguaje de descripcin de hardware al mismo tiempo. Los circuilos digitales se introducen en los captulos I aJ 3: en la seccin 3-9 se hace una

    introduccin a Verilog HDL. El HOL se trala ms a fondo en la seccin 4-11 despu6s de estudiarse los circuiloS com-

    bi nacionales. Los circuitos secuenciales se tratan en los captulos 5 y 6, con ejemplos en HOL en las

    secciones 5-5 y 5-6. La descripcin HOL de la memoria se presenta en la seccin 7-2.

    "

  • x Prefacio

    Los sfmbolos RTL empleados en Verilog HDL se presentan en la seccin 8-2. Se dan ejemplos de descripciones HOL en los niveles RTL y estructural en las seccio-

    nes 8-5 y 8-8. La seccin 10- 10 cubre el modelado en el nivel de interruplOres que corresponde a los

    circuitos CMOS. La seccin 11 -9 complementa los experimentos de hardware del capftulo II con expe-

    rimentos en HDL Ahom los circui tos diseados en el laboratorio se pueden verificar con la ayuda de componentes de hardware o con simulacin HDL o ambas cosas.

    El CD-ROM que acompaa al libro contiene los archivos en cdigo fue nte Verilog HDL pa-ra tos ejemplos del libro. adems de dos simuladores conesfa de SynaptiCAD. El primer si mu-lador es VeriLogger Pro. un simulador tradicional de Verilog que servir para simular los ejemplos en HDL del libro y comprobar las soluciones a los problemas en HDL. El segundo es un nuevo tipo de tccnologfa de simulacin: un Simulador Interactho. Este programa pcnni-te a los ingenieros simular y analizar ideas de diseo antes de contar con un modelo o esque-ma completo de simulacin. Esta tecnologa es de especial util idad parJ. los cstudia nte.~. porque pueden introducir rpidamente ecuaciones booleanas y de entradas de nip-nop O o latch para verificar la equivalencia o experimentar con nip-nops y diseos de latches. Se incluyen cur-sos rpidos en fonna de archivos HTML en la presentacin Aach del CD-ROM . y en fonnade archivos MS Word en el din:ctorio instalado SynaptiCAD bajo Book Tutorials.

    Hay ms recursos en un sitio Web acompaante. httpl/www.prenh:t11.comlmano. En l se pue-den bajar todos los ejemplos en Verilog HDL del libro. todas las figuras y tablas del libro en formato POr. cursos breves sobre el uso dcl softW!lre Verilog del CD-ROM. )' mucho ms.

    A continuacin se describen brevemente los temas que se tratan en cada captulo. haciendo hincapi en los cambios efcclUados paro la tercera edicin.

    El captulo 1 presenta los divCTSOS sistemas binarios apropiados para R:presentar informa-cin en sistemas digitales. Se explica elsistcma numrico binario y se ilustran los cdigos bi-narios. Se dan ejemplos de suma y resta de nmeros binarios con signo y de nmeros decimales en BCD.

    El capftulo 2 introduce los postulados bsicos del lgebra booleana y muestra la correla-cin entre las expresiones booleanas y los diagramas lgicos correspondientes. Se investigan todas IIiS posibles operaciones lgicliS con dos variables para encontrar las compuertas lgicas ms tiles en el di seo de sistemas digitales. En este capitulo se menc ionan las caractersti-cas de las compuenas de circuitos integrados pero se deja para d capftulo 10 un anlisis ms a fondo de los circuitos electrnicos de dichliS compuenas.

    El captulo 3 cubre el mtodo del milpa para simplifi car expresiones booleanas. Ese mto-do tambin sirve para si mplificar circuitos digi tales construidos con compuenas ANO-OR. NANO o NOR. Se considernn todos los dems circuitos que pueden ronnarse con dos nh'eles de compuenas y se expl.ica su mtodo de implementacin. Se introduce Veri log HOL junto con ejemplos sencillos de modcJado en el nivel de compuertas.

    El captulo 4 bosqueja los procedimientos fonnales pam. analizar y disear circuitos com-binacionales. Se presentan como ejemplos de diseo algunos componentes bsicos empleados en el diseo de sistemas digi tales, como sumadores y conven idore..c de cdigo. Se explican las funciones de lgica digital de uso ms comn. como el sumador y rest:ldor parJ.lelo.los deco-dificadores. codificadores y multiplexores. con ilustraciones de su uso en el diseo de circui-tos combinncionales. Se dan ejemplos en HDL de modelado cn el nivel de compucnas. flujo de datos y componamiento. para mostrar las difcrentes fomlas con que se cuenta para deseri-

    Mat r -:l protegido r.f derechos dE> "lL!')r

  • Prefacio xi

    bir circuitos combinacionales en Verilog HOL. Se presema el plocedimiemo para escribir un conjunto sencillo de pruebas que suministre estfmulos a un diseo HDL.

    El eapUulo S delinea los pnxedimientos formales para el anlisis y disei'lo de circuitos se-cuenciales sincronicos con reloj. Se presenta la e.

  • xi!

    Prefacio

    los circuitos integrados que ~ emplean en los experimentos de laboratorio. Los diversos com-ponentes digi tales que se representan en todo el libro son simi lares a los circuitos integrados comerciales. Sin embargo. el texto no menciona circuitos integrados espedficos. con la ex-cepcin de los capftulos 11 y 12. La aplicacin prctica del diseo digital ser ms provecho-sa si se efecuan los experimentos sugeridos en el capflUlo J l mientras se estudia la teoria presentada en el lexto.

    Cada capftulo incluye una lista de referencias y un conjunto de problemas. Al final delli bro se brindan las respuestas de problemas seleccionodos como ayuda paro el estudiante y pa. ra el lector independiente. El profesor puede solicitar un manual de soluciones (en ingls) a la casa editorial.

    Quiero agradecer a Charles Kime por danne a conocer Veri log. Mi nlayor deuda es con Jack Levine por guiarme y revisar las secciones, ejemplos y soluciones a problemas de todo el material sobre Verilog HDL. Gracias a Tom Robbins por su estmulo para decidinne a escribir la tercera edicin. y a mi editor. Erie Fmnk. por su paciencia durame toda la revisin. Quiero expresar mi aprecio a Gary Covington y Donna Mitchell. quienes proporcionaron el CD-ROM de SynaptiCad. Mi agradecimiento tambin a quiene.

  • Sistemas binarios

    1- ISTEMAS DIGITALES

    sistemas digitales desempei\an un papel tan destacado en la vida cotidiana que el actual tecnolgico se conoce como "era digital" . Los sistemas digitales se utilizan en eomu-

    transacciones de negocios. control de trfico. navegacin espacial, tratamiento m monitoreo meteorolgico. I",eme! y muchas empresas comerciales. industriales y

    Tenemos telfonos digitales. televisin digital, discos verstiles digitales. cmaras y. de!>de luego. computadoras digitales. La propiedad ms notable de la computado-

    digital es su generalidad. Es capaz de seguir una secuencia de instrucciones, llamada pro-que opera con cienos datos. El usuario puede especificar y modificar el programa o los

    segn necesidades detenninadas. Gracias 11 esta flexibilidad, las computadoras digitales uso general son capaces de realizar diversas tateas de procesamiento de informacin que eu-

    una amplia gama de aplicaciones. Una caracterstica de los sistemas digitales es su capacidad para manipular elementos dis-

    de infonnacin. Todo conjunto reslringido a un nmero finito de elementos contiene discreta. Ejemplos de conjuntos discretos son los 10 dfgitos decimales. las 26 le-

    del alfabeto. los 52 naipes de la baraja comn y las 64 casillas de un tablero de ajedre7~ primeras computadoras digitales se usaron para efcctuar dlculos numricos. En este ca-

    los elemenlOS discretos que se usaron fueron los dgitos. El. t~nnino digilal surgi de esta En un sistema digital. los elementos discretos de infonnacin se representan me-

    cantidades fsicas llamadas seales. Las ms comunes son seales el&=tricas, como vol-y comentes. En los circuitos que implememan dichas seales predominan los dispositivos

    llamados transistores. En casi lodos los sistemas digitales electrnicos actuales, las emplean slo dos valores discretos. por lo que decimos que son binarios. Un dgito bi-

    llamado bit, tiene dos valores: O y 1. Los elementos discretos de infonnaci6n se repre-con grupos de bits llamados c6digos binarios. Por ejemplo. los dgitos decimales O a 9

    representan en un sistema digital con un cdigo de cuatro bits. Mediante el uso de diversas e.~ posible hacer que los grupos de bits representen smbolos discretos, y luego usar-

    1

  • ,.

    2 Captulo 1 Sistemas binarios

    los parn desarrollar el sistema en un fonnato digi tal. As, un sistema digital es un s i.~tema que manipula elementos discretos de infonnacin representados internamente en forma binaria.

    Las cantidades discretas de infonnacin podrfan surgir de la naturale7.a de los datos proce-sados. o bien cuantizarse a partir de un proce..w continuo. Por ejemplo, una lista de nmina es un proceso inherentemente discreto que contiene nombres de empleados. nmeros de seguro social, salarios quincenales, impuestos sobre la renta. etctera. El cheque de paga de un em pleado se procesa empleando valores discretos de d3tOS como las letras del alfabeto (nombres). los dgitos (salario) y smbolos especiales (como $). Por otra pane. un im'estigador cientfico podra observar un proceso continuo. pero registrar nicamente cantidades especificas en foro ma tabular. As. el cientlfico est cuantil.ando sus datos continuos. haciendo que cada cifra de su tabla sea una cantidad discreta. En muchos casos. un convenidor analgico a digital pue de efectuar automticamente la cuantizacin de un proceso.

    La computadora digi tal de uso general es el ejemplo ms conocido de un sistema digital . Las panes principales de una computadora son la unidad de memoria. la unidad central de proce-samiento y las unidades de entrada y salida. La unidad de memoria guarda los programas. en-tradas. salidas y datos intennedios. La unidad central de procesamiento reali:r.a operaciones aritmticas y otros operaciones de procesamiento de datos espec i ficada..~ por el programa. El programa y los datos que el usuario prepar se transfieren a la memoria mediante un disposi-tivo de enlrada.. como un teclado. Un dispositivo de salida. por ejemplo. una impresora, reci be los resultndos de los clculos y presenta al usuario los resultados impresos. Las computadoras digitales pueden manejar muchos dispositivos de entrada y salida. Uno muy ti l es la unidad de comunicaci6n que pcnnite interactuar con Otros usuarios a travs de Internet . Las compu-tadoras digitales son instrumentos potentes capaces de efeclUar no slo clculos ari tmticos si-no tambin operaciones l6gica.. ... Adems, se les puede programar par, que tomen decisiones con base en condiciones internas y externas.

    Hay razones de peso para inclu ir circuitos digitales en productos comerciales. Al igual que las computadora.~ digitales, casi todos los dispositivos digitales son programables. Si modifi camos el programa de un dispositivo programable, podremos usar el mismo hardware para muchas aplicaciones distintas. El costo de los dispositivos digitales ha bajado dr:1. .. ticamente gr,-cias a los adelantos en la tecnologa de los circuitos integrados digital e.~ . A medida que aumen-ta el nmero de transistores que es posible incluir en un trozo de silicio. a fin de producir funciones complejas. el costo po!" unidad baja y el precio de los dispositivos digitales se redu-ce. Los equipos construidos con circuitos integrados digitales pueden efectuar cientos de mi llones de operaciones por segundo. Es posible extremar la fiabilidad con que operan los sistema. .. digitales empleando cdigos de correccin de errore.~. Un ejemplo de esto es el disco digital verstil (OVO, digito/w!rSoti{e disk), en el que se graba. inronnaci6n digit.al que contiene v deo. audio y otros tipos de datos, sin perder un solo elemento. La infOfTTlacill digital de un OVO se graba de fonna tal que. al examinarse el cdigo de cada muestro digital antes de reproducir su informacin. es posible identificar y corregir automticamente cualquier error.

    Un sistema digital es una interconexi6n de mdulos digitales. Si queremos entender cmo funciona cada mdulo digital. necesitaremos conocimienlos bsicos de circuitos digitales y de su funcin lgica. Los primeros siete captulos del libro presentan las herrnmientas bsicas del diseo digital, como las estructuras de compuertas 16gicas. los circuitos combinacionales y se cuenciales. y los dispositivos lgicos programable.~. El captulo 8 presenta el diseo digital en el nivel de transferencia de registros (RTL. register tran:ifer lel'el). Los capflulos 9 y 10 se ocu pan de los circuitos secuenciales asincrnicos y de las diversas ramilias de lgica digital inte. grada. Los captulos I1 y 12 presentan los circuitos integrados comerciales y mue.~t ran cmo se pueden conectar en cllaborotorio para reali7N experimentos con circuitos digitales.

    Mal 'JI pro ~ido

  • Seccin 1-2 Nmeros binarios 3

    Una tendencia importante en el eampo del diseo digital es el uso del lenguaje de descrip-cin de hardware (HDL./umiwurt: Jescriplion IOllguoge). HDL se parece a los lenguajes de pro-gramacin y pennite describir circuitos digitales en forma textual. Sirve para simular sistemas digitales 'i verificar su funcionamiento antes de crearlos en hardware. Tambin se utiliz.a jun-to con herramientas de sfntesis lgica para aUlontalizar el diseo. Presentaremos en todo elli-bro descripciones de circuitos digitales en HDL.

    Como ya se explic antes. los sistemas digitales manipulan cantidades discretas de infor-macin que se representan en forma binaria. Los operandos de los clculos podrian expresar-se en el sistema numrico binario. Otros elementos discretos. como los dgitos decimales. se representan con cdigos binarios. Los datos se procesan empleando seales binarias manipu-ladas por elementos lgicos binarios. las cantidades se guurdan en elementos de almacenamien-10 binarios. El objetivo de este eapftulo es presentar los diversos conceptos binarios COntO marco de referencia paro. los temas que se estudiarn en los capltulos siguientes.

    ,

    1-2 NUM EROS BINARIOS

    Un nmero decimal. como 7.392. representa una cantidad igual a 7 millares ms 3 centenas. ms 9 decenas. ms 2 unidades. Los millares. centenas, etctera, son potencias de 10 que estn implfcilas en la posicin de los coeficientes. Si queremos ser ms exllCIos. deberamos escri-bir 7.392 asf:

    7 x J(}1 + 3 x l

  • 4 Capitulo 1 Sistemas binarios

    (402 1.2h = 4 X 53 + O x 5~ + 2 X 51 + 1 x SJ + 2 X 5-1 = (511.4)10 Los valores de los coeficientes en base 5 slo pueden ser O. 1. 2.3 Y 4. El sistema numrico octal es un sistema base S que tiene ocho dgitos: O, 1, 2, 3.4, 5. 6 Y 7. Un ejemplo de nme-ro octal es 127.4. Para detenninar su valor decimal equivalente. expandimos el nmero como una serie de potencias con base 8:

    ( 127.4 ), = 1 x Sl + 2 X Si + 7 x 'if' + 4 X 8-1 = (87.5 )10 Advierta que los dfgitos 8 y 9 no pueden aparecer en un nmero octal.

    Se acostumbra tomar del sistema decimal los r dfgitos requeridos si la base del nmero es menor que 10. y utiliz.u- las letras del alfabeto para complementar los 10 dfgitos decimales si la base del nmero es mayor que 10. Por ejemplo. en el sistema numrico huodecimal (base 16). los primeros 10 dfgitos se toman del sistema decimal. y se usan las letra.~ A. B. C. D. E Y F pam los dgitos 10. 11 , 12. 13, 14 y 15, respectivamente. He aqu un ejemplo de nmero he-xadecimal:

    ( B65F )16"" 11 x 16J + 6 X Itr + 5 x 16' + 15 x 16 = (46.687)10

    Como ya se seHal, los dfgitos de los nmeros binarios se llaman bits. Si un bit c.

  • 1

    Seccin ' -3 Conversiones de base numrica 5

    de usar nicamente los rdfgilos permitidos. He aqu ejemplos de suma. resta y multiplicacin de dos nmeros binarios:

    sumando: 101101 sumando: + 100111

    minuendo: sustraendo:

    suma: 1010100 diferencia:

    101101 - 100111

    (XX) I 10

    muhiplicando: multiplicador:

    producto:

    1011 X 101

    1011 0000 1011 110111

    La suma de dos nmeros binarios se calcula emplenndo las misma~ reglas de In suma deci-mal, excepto que los dgitos de la suma en toda posicin significativa slo pueden ser O o . Cualquier acarreo que se genere en una posicin significativa dada se sumar a1 par de dgitos que est en la siguiente posicin significativa ms alta. La resta es un poco ms complicada. Las reglas siguen siendo las de la resta decimal. slo que el pr6itamo en una posicin signifi -cativa dada suma 2 al dgito del minuendo. (En el sistema decimal, un pr6itamo suma 10 al df-gito del minuendo.) La mulliplicacin es muy sencilla. Los dfgitos del mulliplicador siempre son I o O: por tanto. los productos parciales o bien son iguales al multiplicando. o son O.

    1-3 CONVERSIONES DE BASE NUMRICA La conversin de un nmero base r a decimal se efecta ellpandiendo el nmero a uno serie de potencias y sumando todos los t~nninos, como ya se explic. A continuacin presentaremos un procedimiento general para la operacin inversa de convertir un nmero decimal en un n-mero base r . Si el nmero lleva punto. ser necesario separar la parte entera de la pane frac-cionaria, pues cada pane se conviene de manera distima. La conversin de un entero decimal en un nmero base r se efecta dividiendo el nmero y todos sus cocientes sucesivos entre r y acumulando los residuos. La mejor fonna de explicar el procedimiemo es con un ejemplo.

    Convenir 41 decimal a binario. Primero. se divide 41 entre 2 para dar un cociente emero de 20 y un residuo de i. Se vuelve a dividir el cociente emre 2 paro dar un nuevo cociente y un nue-vo residuo. El proceso se contina hasta que el cociente entero es O. Los coeficientes del n-mero binario deseado se obtienen a partir de los ~siduos, como sigue:

    Cociente entero R.,,Juo Coelkiente

    41 /2 = 20 + 1 "o = I 20/2 = 10 + O al "" O 10/2 = 5 + O DI = O 5/2 = 2 + 1 a] = 1 2/2 = 1 + O a. = O 1/2 = O + 1 a j = 1

    Por tanto, la respuesta es (41) 10 = (a , a4U.lal al aoh = (101001)1

    M' r protegido por 'echo de ul')r

  • , 6 I ,

    Captulo 1 Sistemas binarios

    El proceso ari tmtico se puede plantear de fonna ms conveniente como sigue:

    Entero 41 20 10 5 2 1 O

    Residuo

    1 O O 1 O 1 I O I 00 1 = respuesta

    La conversin de enteros decimales a cualquier sistema base re. .. similar a este ejemplo. slo que se divide cnlre r en vez de entre 2.

    Convertir 153 decimal a octal. La base , en este caso es 8. Primero dividimos 153 entre 8 pa-ra obtener un cociente entero de 19 y un residuo de l . Luego dividimos 19 entre 8 para obte-ner un cociente cntero de 2 y un residuo de 3. Por ltimo, dividimos 2 entre 8 para obtener un cociente de O y un residuo de 2. Este proceso se puede plantear asf:

    153 lO 2 O

    1

    ~ L = (231), La conversin de una fraccin decimal a binario se efecta con un mtodo similar al que se

    utiliza con enteros, pero se multiplica en lugar de dividir y se acumulan enteros en vez de re-siduos. En este: caso. tambin. la mejor ellplicaci6n es un ejemplo.

    Convenir (0.6875)10 a binario. Primero. multiplicamos 0.6875 por 2 pam obtener un entero y una fraccin. La nueva rraccin se multiplica por 2 para dar un nuevo entero y una nueva rmecin. El proceso se continua hasta que la rmecin es O o hasta que se tienen sufi cientes dfg itos para la precisin deseada. Los coeficientes de l nu.mero binario se obtienen de los en-teros. asf:

    0.6875 x 2 :::: 0.3750 x 2 ::::

    Entero 1 O

    + +

    Fraccin 0.3750 0.7500

    Coeficiente Q_ I = I a _2:: O

    0.7500 x 2 E: I + 0 . .5000 Q _ ) :: I 0.5000 x 2 :: I + 0.0000 o ..... :: I

    Por tanto, la respuesta es (0.6875)10 "" (0.0_,0_10_10 .... )2 = (0.1011 h

    Mar 'JI prOiP.gido ':Ir derf>Chos de '1U ':Ir

  • 8 Captulo 1 Sistemas bInarios

    Tabla 1-2 NIMI'OJ con diftrentt boJt

    D.dmal -"'Iarlo Octol Hu rHkclmol (lHue JO) (II."". 2) (bax 1) (/Hu< 16

    00 0000 00 O 01

  • Seccin 1-S Complementos 9

    numrico binario y los sistelruls octal y hexadecimal. Con ese mtodo, lo persona piensa en tr-minos de nmeros octales o hexadecimales y efecta la conversin requerida por inspeccin cuando se hace necesaria la comunicllci6n directa con la mquina. Asf, el nmero binario II11111111II tiene 12 dgitos y se expresa en octal como 7777 (cuatro dgitos) y en hexade-cimal como FFF (tres dfgitos). Cuando dos personas hablan entre si (acerca de nmeros bino-rios en la computadora), la representacin octal o hexadocimal es ms deseable porque se puede expresar de manera m. .. compacta con una tercera o cuana parte de los drgitos requeridos pa-ra el mero binario equivalente. Por ello, casi todos Jos manuale. .. de computadora utili7.an n-meros octales o hexadecimales para especificar cantidades binarias. La seleccin de cualquiera de estos dos sistemas es arbittarill, aunque se suele preferir el hexadecimal porque puede re-presentar un byte con dos dgi tos.

    1-S COMPLEMENTOS

    En las computadoras digi tales se usan complementos para simplificar la operacin de resta y para efectuar manipulaciones 16gicas. Hay dos tipos de complementos para cada sistema base r: el complemento a la base y el complemento a la base disminuida. El primero se denomina complemento a r, mientras que el segundo es el complemento a (r - 1). Si sustituimos el va-lor de la base r en estos nonlbres, los ds tipos son el complemento a dos y el complemento a uno, en el caso de los nmeros binarios, y el complemento a diez y el complemento n nueve en el caso de los nmeros decimales.

    Complemento a la base disminuida Dado un nmero N en base rque tiene n dgitos, el complemento a (r - 1) de N se define co-mo (r" - 1) - N. En el caso de nmeros decimales, r = 10 Y r - 1 = 9, asf que el comple-mento a nueve de N es (10" - 1) - N. En este caso, 10" representa un nmero que consiste en un uno seguido de n ceros. 10" - 1 es un nmero representado por n nueves. Por ejemplo, si n = 4, tenemos 10' = 10,000 Y 10' - I = 9999. De esto se sigue que el complemento a nueve de un nmero decimal se obtiene restando cada dgi to a nueve. He aqu algunos ejem-plos numricos:

    El complemento a nueve de 546700 es 999999 - 546700 = 453299. El complemento a nueve de 012398 es 999999 - 012398 = 987601.

    En el caso de los nmeros binarios. r = 2 Y r - I = l . as! que el complemento a uno de N es (2" - 1) - N. Aqu tambi~n , 2~ se representa con un nmero binario que consiste en un uno seguido de n ceros. 2" - 1 es un nmero binario representado por n unos. Por ejemplo, si n = 4, tenemos 2 = (Icxxx)>z Y z4 - 1 :::: (1111 h. Asf, el complemento a uno de un nme-ro binario .se obtiene restando cada dgito a uno. Sin embargo, al reSlar dgitos binarios a 1 po-demos tener I - O = 1 o bien I - 1 = O, 10 que hace que el bit cambie de O a 1 o de I a O. Por tanto, el complememo a uno de un nmero binario se fonna cambiando los unos a ceros y los ceros a unos. He aqu algunos ejemplos numricos:

    El complemento a uno de 1011000 es 01001 11. El complemento a uno de 0 101 101 es 1010010.

    Mat r 'JI protegido p?f derechos da 'lut')r

  • 10 Captulo 1 Sistemas binarios

    El complemento a (, - 1) de los nmeros octales y hexadecimales se obtiene restando cada dgilo a 7 y F (15 decimal). respectiv~nte.

    Complemento a la base El complemento a , de un nmero N de n dgitos en base, se defi ne como , . - N. para N :;. O. y O para N ". O. Si comparamos con el complemento a (r - 1). veremos que el com-plemento a r se obtiene sumando l al complemento a (r - 1), ya que r'" - N ". (,.... - 1) -NJ + l. As pues. el complemento a 10 del nmero decimal 2389 es 76 10 + l ". 7611 . Y se obtiene sumando 1 al valor del complemento a nueve. El complemento JI dos del nmero bi nario 10 1100 es 01001 I + I = 010100. Y se obtiene sumando 1 al valor del complemento a uno.

    Puesto que 10" es un nmero que se representa con un uno seguido de n ceros. 10" - N. que es el complemento a 10 de N. tambin puede formarse dejando como estn todos los ceros menos significativos, restando a ID el primer dgito menos significativo distinto de cero, y res-lando a 9 los dems dgitos a la izquierdJl.

    El complemento a 10 de 012398 es 987602. El complemento a 10 de 246700 es 753300.

    El complemento a 10 del primer nmero se obtiene restando 8 a lOen la posicin menos sig-nificativa y restando a 9 todos los dems dgi tos. El complemento a \O del segundo nmero se obtiene dejando como estn los dos ceros de la derecha. restando 7 a 10 y restando a 9 tos otros tres dgitos.

    De forma similar. el complemento a dos se forma dejando como estn todos los ceros menos signifi cUlivos y el primer uno. y sustituyendo los unos por ceros y Jos ceros por unos en las demlis posiciones a la izquierda.

    El complememo a dos de 1101100 es 00 10 100.

    El complemento a dos de 011 0111 es 1001001. El complemento a dos del primer nmero se obtiene dejando como estn los dos ceros menos significativos y el primer uno. y sustituyendo despus los unos por ceros y los ceros por unos en las cuatro posiciones mlis significativas. El complemento a dos del segundo nmero se 01>-tiene dejando como est el uno menos significativo y complementando todos los dems dgi-tos a la i7.quierda.

    En las definiciones ameriores se supuso que los nmeros no llevan punto. Si el nmero N original lleva punto. deber quitarse temporalmente para fornlar el complemento a , o a (, -1), Y volver a colocarlo despus en el nmero complementado en la misma posicin relativa. Tambin vale la pena mencionar que el complemento del complemento restablece el valor original del nmero. El complemento a , de N es r - N. El complemento del complemento

    es '~ - (,.... - N) = N, o sea. el nmero origi nal.

    Resta con complementos El mtodo directo que se ensena en la escuela primaria para restar uti liza el concepto de prs-tamo. Pedimos prestado un uno de 111 siguiente posicin ms significativa cuando el dfgito del minuendo es menor que el del sustraendo. El mtodo funciona bien cuando se resta con lpiz y papel. pero cuando la resta se implementa en hardware digital el mtodo es menos eficiente que si se usan complementos.

    M. "rI 11 protegido p?f derecho da iul')r

  • Seccin 1-5 Complementos 11

    La resta de dos nmeros de n dgitos sin signo. M - N. en base r se efecta as:

    l._Sume el minuendo. M. al complemento 3 rdd sustraendo. N. Esto da M + (1"'" - N) = M - N + 1"'".

    2. Si M 2: N. la suma producir un acarreo final . 1"'". que puede desecharse: lo que queda e.'i el resultado M-N.

    3. Si M < N. la suma no produce un OC:uTOO final y es igual a r'" - (N - M), que es el com-plemento a r de (N - M). Pura obtener 13 respuesta en una fonna conocida. se toma el complemento a r de la suma y se le antepone un signo de menos.

    Los ejemplos que siguen ilustran el procedimiento:

    Utilizando complemento a 10, restar 12532 - 3250.

    M = 12532 Complemento 3 10 de N = + 96750

    Suma = 169282 Desechar acarreo final 10' = - 100000

    Respuesto = 69282

    Observe que M tiene cinco dgitos y N slo tiene cuatro. Ambos nmeros deben tener el mismo nmero de dgitos. as que escribimos N como 03250, La obtencin dd complemento a 10 de N produce un nueve en la posicin ms significativa. El 3carreo final indica que M 2: N Y que el resultado es positivo.

    Utilizando complemento a 10. restar 3250 - 72532.

    No hay acarreo fin31.

    M = 03250 Complemento a 10 de N = + 27468

    Suma = 30718

    Por tanto. la respuesta es - (complemento a 10 de 30718) = - 69282

    Cabe sealar que. dado que 3250 < 72532, el resultado es negativo. Puesto que estamos manejando nmeros sin signo. en realidad es imposible obtener un resultado sin signo para este caso. Al restar con complementos. 13 respuesta negativa se reconoce por la ausencia de acarreo fina l y por e l resultado complementado. Cuando trabajamos con lpiz y papel . podemos convertir la respuesta en un nmero negativo con signo y as expresarlo en una fonna conocida.

  • 12 Captulo 1 Sistemas binarios

    Ln resta con complementos es similar en el caso de los nmeros binarios, y se usa el pro-cedimiento ya expuesto.

    Dados los nmeros binarios X = 1010100 Y Y = 10000 11 . realizar las restas a) X - Y Y b) Y - X empleando complementos a dos.

    al x ~ 1010100 Complemento a dos de Y = + 01 11101

    Suma = 10010001 Desechar acarreo final 2' = - 10000000

    RtsputSla: X - Y = 0010001 b) -y = 1000011

    Complemento a dos de X = + 0101100 Suma = 11 0 1111

    No hay acarreo final. Por tantO, la respuesta es Y - X = -(complemento a dos de 1101 J JI ) = -001000 1

    Ln resta de nmeros sin signo tambifn se puede efectuar usando el complemento a (r - 1). Recordemos que el complemento a (r - 1) es uno menos que el complemento a r. Por ello, el resultado de sumar el minuendo al complemento del sustraendo produce una suma uno menos que la diferencia correcta cuando hay acarreo final. Quitar el acarreo final y sumar 1 a la suma se denomina acarrto circular.

    Repetir el ejemplo 1-7 empleando complemento a uno. a) X - Y = 1010100 - 100001 1

    X = 1010100 Complemento a uno de Y = + 0111100

    Suma = 10010000 Acarreo circular = + 1

    Rtsputsta: X - Y = 0010001

    b) Y - X = 10000 11 - 1010100

    No hay acarreo final.

    y = 1000011 Complemento a uno de X = + 0101 011

    Suma = 1101110

    Por tanto, la respuesta es Y - X = - (complemento a uno de 1101110) = - 0010001 Ma'~rI 31 protegido por derecho!' de u ':Ir

  • 1. Captulo 1 Sistemas bInarios

    Ta bla l) Nmeros binarios con signo

    Complemento _ Compl . ... ento a Magnitud Dednud dos con signo uno con signo con signo

    +7 Olll 0 111 011 1 +< 0110 0110 0110 +S 0101 0101 010 1 t4 0 100 0 100 0100 +3 0011 00 11 0011 +2 0010 0010 0010 + 1 0001 0001 0001 +O 0000 0000 0000 -{)

    -11 11 1000

    - 1 111 I 111 0 1001 - 2 1110 1101 1010 - 3 1 101 11 00 1011 -4 1100 1011 1100 -, 10 11 1010 I 101 -6 1010 1001 . 1 110 - 7 1001 1000 I 1 1 J -, 1000

    -

    liene - 9 complementando todos los bits de +9. incluido el bit de s igno. La representacin de - 9 en complemenlo n dos con signo se obtiene lomando el complemento a dos del nmero positivo, incluido el bit de s igno.

    En la tabla 1-3 se mueslmn lodos los nmeros bi narios de cualro bits con s igno en las tres representaciones. Tambin se ha incluido el nmero decimal equivalente como referencia. Ob-serve que los nmeros positivos son idnticos en las tre. repre.o;entaciones, y tienen un cero en la posicin de extrema izquierda. El sistema de complemento a dos con signo slo tiene una fonna de representar el cero, que siempre es positivo. Los C)(fOS dos sistemas tienen un cero po-sitivo y un cero negalivo, cosa que no se usa en la ari tmtica ordinaria, Adviena que lodos los nmeros negativos tienen un uno en la posicin de bit de extrema izquierda: as es como se dis-linguen de los nmeros positivos. Es posible representar 16 nmeros binarios con cuatro bits. En las representaciones de magnitud con signo y complemento a uno con signo. hay ocho n-

    meros positivos y ocho nmeros negativos. ineluidos dos ceros. En la representacin de com-plemento a dos. hay ocho nmeros positivos. que incluyen un cero. y ocho numeros negativos.

    El sistema de magnitud con signo se usa en ari tmtica ordinaria, pero resulla torpe en ari t-~Iica de computadoras porque hay que manejar por scpamdo el signo y la magnitud. Es por ello que nonnalmente se usa el complemento con signo. El complemento a uno conlleva cier-tas dificuhades y casi nunca se emplea en opernciones aritmticas. Es ti l como oper.1Cin l-gica porque el cambio de uno a cero o de cero a uno equivale a una oper.1Cin de complemento lgico. como se vero en el siguiente capftu lo. Ln explicacin que sigue de la aritmtica bina-riu con signo se ocupa exclusivamente de la representacin de nmeros negativos como com-plemento a dos con signo. Se pueden aplicar los mismos procedimientos al sistema de complemento a uno con signo si se incluye el acarreo circular. como se hizo en el caso de los

    numeros 510 sIgno.

    Mat ~rFjl protegido pt)r derechos de '1U ':Ir

  • ,

    Seccin ' 6 Nmeros binarios con signo 15

    Suma aritmt ica Ln suma de dos nmeros en el sistema de magnilUd con signo sigue las reglas de la aritmtica ordinnria. Si los signos son iguales. sumamos las dos magnitudes y asignamos ese s igno a la suma. Si los signos son distintos. se resta la magnitud menor a la mayor y se asigna al resulta doel signo de la magnitud mayor. Por ejemplo, (+25) + (-37) "'" - (37 - 25) "" - 12, y lo hacemos restando la magnitud menor. 25. a la magnitud mayor. 37, Y usando el signo del 37 en el resullado. Este proceso requiere comparar los signos y las magnitude.c para decidir entre sumar o restar. El mismo procedimiento se usa con nmeros binarios representados como mag-nitud con signo. En contraste, la regla para sumar nmeros en el sistema de complemento con signo no requiere comparnt ni restar. slo sumar. El procedimiento es muy sencillo y puede plan-tearse como sigue para los nmeros binarios:

    La sumn de dos nmeros binarios con signo. representando los nmeros negativos en for-ma de complemento a dos con signo. se obtiene sumando los dos nmeros. incluidos los bits de signo. Si se genera un acarreo en la posicin de bit del signo. se desecha.

    He aqu ejemplos numricos de sumas: + 6 00000 11 0 - 6 11 11 1010 +13 00001101 +13 00001 101 - -

    + 10 (XX) 1 001 1 + 7 00000111

    + 6 (XXX)(} 1 1 O -6 11111010 - 13 11110011 - 13 11110011 - -

    - 7 1111 1001 - lO 11101101

    Tome en cuenta que los nmeros negativos deben estar inicialmente como complemento a dos. y que si la suma obtenida es negativa. est en fonna de complemento a dos.

    En los cuatro casos. la operacin decluada es suma. e incluye el bit de signo. Cualquier aca-rreo generado en la posicin de bit del signo se desecha. y los resultados negativos estn aUlo-mticamente en forma de complemento a dos.

    Para obtener una respuesta corrcCttl.. hay que cuidar que el resultado tenga suficientes bits paro dar cabida a la suma. Si partimos con dos nmeros de n bits. y la suma ocupa n + J bi ts. decimos que hay un desbordamiento. Cuando efectuamos la suma con lpiz y papel. los des-bordamientos no representan un problema. porque no estamos limitados por la anchura de la pgina. Simplemenle aadi mos otro O a un nmero positivo u otro 1 a un nmero negativo en la posicin ms significativa. a fin de extenderlos a n + 1 bits. y realizamos la suma. En las computadoras el desbordamiento sr es un problema porque los nmeros se almacenan en un n-mero fi nito de bits. y si el resultado excede ese nmero finito en 1, no cabr

    La representacin de nmeros negativos como complementos resulta extraa para quie-nes estn acostumbrados al sistema de magnitud con signo. Para detenninar el valor de un nmero negativo en complemento a dos. es preciso convenirlo en un nmero posilivo pa-ra tenerlo en una forma ms familiar. Por ejemplo. el nmero binario con signo 11111 00 1 es ncgntivo porque el bit de la extrema izquierda es l . Su complemento a dos es 00000 111. que es el equivalente binario de + 7. Por tanlo. reconocemos el nmero negativo original como - 7.

    Mal rial protegido por derechos dfI :J.L'f')r

  • 16 Captulo 1 Sistemas binarios

    Resta aritmt ica La resta de dos nmeros binarios con signo, cunndo los nmeros negativos se represcntnn 00-010 complemento a dos, es muy sencilla y se realiz.a as:

    Obtenemos el complemento a dos del sustroendo (incluido el bit de signo) y lo sumamos al minuendo (incluido el bit de signo). Si se genero un acarreo en la posicin de bit del signo. se desecha.

    El procedimiento funciona porque una operncin de re..,ta se puede convertir en una opcro-cin de suma si se cambia el signo del sustraendo. La relacin que sigue lo demuestro:

    (A) - (+ B) : (A) + (- B); (A) - (- B) = (A) + (+ B).

    La conversin de un nmero positivo en uno negativo es fci l si se obtiene su complemento a dos. Lo opuesto tambin se cumple porque el complemento de un nmero negativo en for-ma de conlplemento produce el nnlero positivo equivalente. Considere la resta de (-6) -( - 13) :lE +7. En binario con ocho bits. esto se escribe como (11111010 - 1111(011). La resta se conviene en suma obteniendo el complemento a dos del sustroendo ( - 13) paro dar (+ 13). En binario. esto es 111 11010 + 0000 11 01 = 100000111 . Al eliminar el acarreo final. obtendremos la respuesta correcta: 00000111 (+ 7).

    Vale la pena sealar que los nmeros binarios en el sistema de complemento con signo se suman '1 reslan siguiendo las mismas reglas bsicas de suma '1 resta que los nmeros sin sig-no. Por ello. Ia.~ computadoras slo necesitan un circuito en hardwnre paro manejar ambos ti-pos de ari~tica. El usuario o progral1'l3dor deber interpretar de diferente manero los resul tados de tales sumas o restas. dependiendo de si supone que los nmeros tienen signo o no.

    ' -7 CDIGOS BINARIOS Los sistemas digitales emplean seales que tienen dos valores distintos. y elementos de circuito que tienen dos estados estables. Existe una analoga directa entre seale.., binaria.", elementos binarios de circuito y dgitos binarios. Un nmero binario de n dfgitos. por ejemplo. podra re-presentarse con n elementos binarios de circuito, cada uno de los cuales tiene una seal de sa-lida equivalente a O o 1. Los sistemas digitales representan y manipulan no slo nmeros binarios. sino tambin muchos otros elementos discretos de informacin. Cualquier elemento discreto de infonnacin distinto dentro de un grupo de cantidades se puede representar con un cdigo binario. Los cdigos deben estar en binario porque las computadora.~ slo pueden al-macenar unos y ceros. Debemos entender que los cdigos binarios si mplemente cambian los smbolos, no el significado de los elementos de informacin que representan. Si examinamos al azar los bits de una computadora. "eremos que en la mayor parte de los casos representan algn tipo de informacin codificada, no nmeros binarios.

    Un cdigo binario de n bits es un grupo de n bits que puede tener hasta r combi naciones distintas de unos y ceros: cada combinacin representa un elemento del conjunto que se est codificando. Un conjunto de cuatro elementos se puede codificar con dos bits. y a cada elemen-to se asignar una de las combinaciones de bits siguientes: OO. DI. ID. 11 . Un conjunto de ocho elementos requiere un cdigo de treS bits. y uno de 16 elementos. un cdigo de 4 bits. Las combinaciones de bits de un cdigo de n bits se deknninan contando en binario desde O has-ta 2" - t. Es preciso asignar a cada elemento unn combinacin distinta de bits: dos elemen-

    Mat r 'JI protegido r.f derechos dE> 'jI t')

  • Seccin ' -7 Cdigos b inarios 17

    tos diferente.~ no pueden representarse con la misma combinacin; en tal caso, la asignacin del cdigo seria ambigua.

    Aunque el nmero m("imo de bilS necesarios para codificar 2"' cantidades distintas es n. no hay un nmero mximo de bilS que pueda usarse para un cdigo binario. Por ejemplo. los 10 dgitos decimales podran codificarse con 10 bits. asignando a cada dgito decimal una com-binacin de nueve ceros y un uno. En este cdigo binario especfico, se asignara al dfgito 6 1a combinacin de bits 000 1000000.

    Cdigo BCD Aunque el sistema numrico binario es el ms natural para una computadora. casi todas las per-sonas estn acostumbradas al sistema decimal. Una forma de salvar esta diferencia es conver-tir los nmeros decimales a binario. realizar todos los clculos aritmticos en binario y luego convertir los re.~ultados a decimal. Este mtodo requiere almacenar los nmeros decimales en la computadora de modo que se puedan convertir a binario. Puesto que la computadora slo acepta valores bimlrios. cs necesario representar los dfgitos decimales con un cdigo a base de unos y ceros. Tambin es JX.lSible efectuar las operacione.~ aritmticas directamente con nme-ros decimales si estn almacenados en forma codificada en la computadora.

    Un cdigo binario tendr algunas combinaciones de bit no asignadas si el nmero de ele-mentos del conjunto no es un mltiplo d~ una potencia de 2. Los 10 dfgitos decimales son un conjunto asf. Un cdigo binario que distinga 10 elementos deber contener por 10 menos cua-tro bilS. pero seis de las 16 JX.lS ibles combinaciones quedarn sin asignarse. Es JX.lS ible idear di-ferentes cdigos binarios para acomodar cuatro bits en 10 combinaciones distintas. El cdigo que ms comnmente se usa para Jos dgitos decimalc.'i es la asignacin binaria directa que se presenta en la tabla 1-4. Se llama "decimal codificado en binario" y se le conoce comnmente como BCD. por sus siglas en ingls. Es JX.lS ible usar otros cdigos decimales. y se presentarn algunos ms adelante en esta seccin.

    La tabla 1-4 presenta el cdigo de 4 bilS para cada dgito decimal. Un nmero con k dgi-tos decimales requerir 4k bits en BCD. El numero decimal 396 se representa en BCD con 12 bits. asf: 00 11 1001 0110. Cada grupo de cuatro bits representa un nmero digital. Un nme-

    Tabla 1-4 Decimal codificado en binario (BCD)

    51mbolo D(glto decimal BCD

    O 0000 I llOO l 2 oolO 3 oo ll 4 Oloo , 0101 6 0110 7 01 J 1 8 1000 9 l OO I

    Mat rnl protegido p?f derechos da "lul')r

  • 18 Captulo 1 Sistemas binarios

    ro decimal en BCD slo es igual a su nl1mero binario equivalente si el nmero est entre O y 9. Un nmero mayor que 10 se ve diferente en BCD que como nmero binario, aunque ambos consistan en unos y ceros. Adems, las combinaciones binarias 1010 a 1111 no se usan y ca-reeen de significado en el cdigo BCD. Considere el nmero decimal 185 y su valor corres-pondiente en BCD y binario:

    (185)10:: (OOOII OOOO IOI)DC1> = (10111001)2 El valor en BCD tiene 12 bits, pero el nmero binario equivalente slo necesita ocho bits. Es obvio que un nmero BCD necesita ms bits que su valor binario equivalente, pero el uso de nmeros decimaJes tiene ciena ventaja porque los dalos de entrada y salida de las computado-ras se generon por y para personas que usan el sistema decimal.

    Es imponante entender que los nmeros BCD son nmeros deci males, no binarios. aunque se representen con bits. La nica diferencia enlte un nmero decimal y un BCD es que los de-cimales se escriben con los smbolos O. 1. 2, ... 9 Y los nmeros BCD usan el cdigo binario 0000, 0001, 0010, ... 1001. E1 vaJor decimal es exactamente cl mismo. El ID decimal se re-presentaen BCD con ocho bits: 00010000, Y el1 5 decimal, con 00010 10 1. Los valores bi-narios cOITe .. ;:pondientes son 1010 Y 1111 , Y slo tienen cuatro bits.

    Suma BCD

    Considere la suma de dos dgitos decimales en BCD,junto con un posible acarreo dc un par de dgitos anteriores, menos significativos. Puesto que ningn dgito es mayor que 9. la suma no puede ser mayor que 9 + 9 + I = 19, dondeel l que se suma es el aCarreQque "se lleva-ba". Suponga que se suman los dgitos BCD como si fueron nmeros binarios. Lu suma bina-ria producir un resultado dentro del intervalo de O a 19. En binario. dicho intervalo es de 0000 a 10011 . pero en BCD es de 0000 a 1 1001. donde el primer 1 es un acarreQ y los cuatro bits siguientes son la suma de los dgitos BCD. Si la suma binaria es 1001 o menos (sin acarreo). el dgito BCD correspondiente es correcto. Sin embargo, cuando la suma binaria es IOJO o m! ... el resultado es un dfgito BCD no vlido. La suma de 6 = (0 11 0)z a In suma binaria In con-viene en el dgito correcto y tambin produce el acarreo necesario. Ello se debe n que In dife-rencia enlte un acarreo en la posicin de bit ms significativa de la suma binaria y un acarreo decimal es de 16 - 10 = 6. Consideremos estas tres sumas BCD:

    4 0100 4 0100 8 1000 + 5 + 0101 +8 + 1000 + 9 1001 - - -9 1001 12 11 00 17 10001

    + 0110 +0110 10010 10111

    En cada caso, los dos dgitos BCD se suman como si fueron dos nmeros binarios. Si la suma binaria es 1010 o ms. se le suma Ol IO para obtener In suma correcta de drgitos BCD y el acarreo. En el primer ejemplo, la suma es 9 y es la suma correcta de dfgitos BCD. En el segundo ejemplo, In sumn binaria produce un dfgilo BCD no vlido. La suma de OlIO pro-duce la suma de dgitos BCD correcta, 0010 (2), Y un acarreo. En el tercer ejemplo. la suma binaria produce un acarreo. Esta condicin se presenta cuando la suma es 16 o ms. Aunque los otros cuatro bits son menores que 1001. la suma binaria requiere una correccin debido

    Mat 'JI pro ~ido 0f derechos de 'JL or

  • Seccin 1-7 Cdigos binarios 19

    al acarreo. Al sumar 0110. se obtiene la suma de dgitos BCD requerida. O 111 (7). Y un aca-mo BCD.

    La suma de dos nmeros BCD de n dgilos sin signo se efecla siguiendo el mi.smo proce-dimiento. Consideremos la suma de 184 + 576 = 760 en BCD:

    Acarreo BCD

    Suma binaria Sumar 6 Suma BCD

    1 0001

    +0101 0111 10000 1010

    OliO OliO 0111 0110 0000

    184 +576

    760

    El primer par de dfgilOs BCD (los menos significativos) produce una suma de dgitos BCD de 0000 y un acarreo par.! el siguiente par de dgi tos. El segundo par de dgitos BCD ms el aclllTCo anlerior produce una suma de dfgilos de O 110 Y un ~arreo paro el siguiente par de dfgitos. Elten::er par. ms el aclllTCO. produce una suma binaria de 0111 que no requie-re correccin.

    Aritmtica decimal La representacin de nmeros decimales con signo en BCD es similar a la representacin de nmeros con signo en binario. Se puede usar el sistema tan conocido de magnitud y sig-no. o el de complemento y signo. El signo de un nmero decimal por lo regular se represen-ta con cuatro bits para ajustarse al cdigo de cuatro bits de los dgitos decimales. Se acostumbra designar el signo de ms con cuatro ceros. y el menos. con el equivalente BCD de 9. o sea. 1001.

    El sistema de magnitud con signo se usa poco en computacin. El sistema de complemen-10 con signo puede usar el complemento a nueve o el complemento a 10. pero eSle llimo es el ms comn. Para obtener el complemenlo a 10 de un nmero BCD. primero se obliene el complemento a nueve y luego se suma I al dgito menos significativo. El complemento a nue-ve se calcula reslando a 9 cada dgilo.

    Los plOculimientos desarrollados para el sislema de complemento a dos con signo explica-dos en la seccin anterior tambin son vlidos para el sistema de complemento a 10 con signo que se usa con los nmeros decimales. La suma se decta sumando todos los dfgitos. inclui-do el dfgito del signo. y de.~htlndo el tlCarrw fin/d. Esto supone que todos los nmeros ncglJ-tivos esln en fonnade complemento a 10. Consideremos la suma (+375) + (- 240) = + 135. efectuada en el sistema de complemento con signo.

    0375 +9760

    O 135

    El 9 en la posicin eXlrema izquierda del segundo nmero representa un signo menos. y 9760 es el complemento a 10 de 0240. Los dos nmeros se suman y se desecha el acarreo final pa-ra obtener + 135. Desde luego. los nmeros decimales dentro de la computadora deben eslar

    .

    Mat~, ,'11 prOl.egido fJOr derechos de '1t.: or

  • 20 Captulo 1 Sistemas binarios

    en BCD. incluidos los dfgitos del signo. La suma se efecta con dfgi tos BCD. como ya se explic.

    La resta de nmeros decimales. sea sin signo oen el sistema de complemento a 10 con sig-no. es igual que en el caso binario. Se obtiene el complemento a 10 del sustraendo y se suma al minuendo. Muchas computadoras tienen hardware especial para realizar clculos aritmti cos directamente con nmeros decimales en BCD. El usuario de la computadorn puede espe-cificar. con instrucciones programadas. que la operacin aritmtica se efecte direcLamente con nmeros decimales. para no tener que convertirlos a binarios.

    Otros cdigos decimales Los cdigos binarios para dfgitos decimales requieren por lo menos cuatro bits por dfgito. Es posible fonnular muchos cdigos distintps acomodando cuatro bits en 10 combinaciones dis-tintas. En la tabla 1-5 se muestron el cdigo BCD y ocres tres cdigos representativos. Cada cdigo utiliza slo 10 combinaciones de bits. de las 16 posibles combinaciones que pueden for-marse con cuatro bits. Las seis combinaciones no utilizadas en cada caso carecen de significa-do y deben evitarse.

    Los cdigos BCD Y 242 1 son ejemplos de cdigos ponderados. En un cdigo ponderado. se asigna a c;v!a posicin de bit un factor de ponderacin (o peso) de modo que cada degito pue-da evaluarse sumando los pesos de todos los unos de la combinacin codificada. Los pesos del cdigo BCD son 8. 4. 2 y 1. que corresponden a los valores de potencia de 2 de cada bit. Por ejemplo. la asignacin de bits 011 0 se interpreta por los pesos como 6 decimal. porque 8 x O + 4 X 1 + 2 X I + 1 x O = 6. La combinacin de bit.~ 11 0 1. ponderada con los pe. sos respectivos 242 1. da el equivalente decimal de 2 x 1 + 4 X I + 2 X O + 1 X I "" 7.

    T.bl. 1-5 Cuatro cdigos binarios distintos pora 101 digitOl decimolts

    Digtlo BCD decimal 8421 >421 EJcc:eso-J 84-2-1

    O 0000 0000 00 11 0000 1 0001 0001 0 100 O 1 1 1 2 0010 0010 0101 0 1 1 0 3 0011 0011 01 10 0 101 4 0100 0 100 0111 0 10 0 , 0101 1011 1000 1 011 6 OlIO 11 00 1001 tO l O 7 0111 1101 1010 100 1 8 1000 111 0 1011 1 000

    1001 111 I 1100 1 1 1 1

    1010 0101 0000 000 1 Combinaciones 1011 0110 0001 0010 de bi ts 1100 0111 0010 O O 1 1 no ulili70das 1101 1000 1101 1 1 O O

    1110 1001 1110 1 1 0 1 tlll 1010 11 11 1 1 10

  • Seccin 17 Cdigos binarios 21

    Cabe sealar que es posible codificar algunos dgitos de dos rormas en el cdigo 2421 . EI 4 de-cimal se puede asignar a las combinaciones de bits 0100 o 1010, pues ambas dan un peso to-Itl l de cuatro.

    Los cdigos 242 1 y exceso-3 (cxcess-3) son ejemplos de cdigos tl ulocomplementadores. TaJe.~ cdigos poseen la propiedad de que el complemento ti nueve de un ",mero decimtll se obtiene directamente cllI11biando todos los ceros por unos y los unos por ceros en el cdigo. Por ejemplo. el nmero decimal 395 se representa con 01 10 11 00 1000 en el cdigo CAceso.3. El complemento a nueve. 604, se representa con 1001 0011 0 111. que se obtiene simplemente com-plementando cada bit del cdigo (como se hace paro obtener el complemento ti uno de mIme-ros binarios).

    El cdigo exceso-3 se us en algunas computadoras viejas por su propiedad de tlulocomple-mentacin. Se trala de un cdigo no ponderado cn el que cada combinacin codifi cada se oh-tiene sumando 3 al valor binario correspondiente. Cabe sealnr que el cdigo BCD no se aUlocomplementa.

    El cdigo 8, 4, - 2, - 1 es un ejemplo de la asignacin de pesos tanto positivos como nega-tivos a un cdigo decimal. En estc caso, la combinacin de bits 0110 se interpreta como un 2 dccimal y se calcula a partir de 8 X 0 + 4 X I + (-2) X I + (-1) X O = 2.

    Cdigo Gray Los dalos de salida de muchos sistemas fisicos producen camidades que son continuas. Es ne-sano convenir esos datos a una fonna digital antes de aplicarse a un sistema digital. La in-fonnacin continua o analgica se conviene a un tl forma digital con un convertidor tina lgico a digital. Hay ocasiones en que conviene usar el cdigo Grny que se mueslrn en la tabla 1-6 pa-rJ. representnr los datos digitales obtenidos por conversin de datos analgicos. la ventaja del

    Tabla ' -6 Cdigo Gray

    Cdigo Equivale nte G,." decim al 0000 O 0001 I 00 11 2 0010 3 Otl O , 01 1 1 , 0\01 6 0100 7 1100 8 1101 9 11 11 JO 1110 . 11 1010 12 1011 J3 1001 14 1000

    "

    Mat~rI'll protegido por derechos de 'lt.: or

  • 22 Captulo 1 Sistemas binarios

    cdigo Gray sobre la sucesin continua de nmeros binarios es que la diferencia entre dos n meros consecutivos cualesquiera en cdigo Gray es de un solo bit. Por ejemplo. al pasar del 7 a18. el cdigo Grny cambia de 0100 a 1100. Slo el primer bit cambia de O al : los otros tres bilo; no cambian. En cambio. en los nmeros binarios. el cambio de 7 a 8 es de 0 111 a 1000. o sea que Jos cuatro bits cambian de valor.

    El cdigo Gray se emplea en aplicaciones en las que la sucesin nomllll de nmeros bina rios xxIrla genernr un error o ambigedad duranle la transicin de un nmero al siguiente. Si se usan nmeros binarios. un cambio de 0 111 a 1000 podrfa producir un numero intemledio errneo. como 1001. si el bit de la extrema derecha tarda mo; en cambiar su \'alor que los otros tres bits. El cdigo Gray elimina este problema porque slo un bit cambia de valor durante cualquier transicin entre dos nmeros.

    Una aplicacin \fpica del cdigo Gray se da cuando datos analgicos se representan median te un cambio continuo en la posicin de un eje o flecha.. El eje se divide en segmentos. y se asigo na un nmero a cada segmento. Si hacemos que segmentos adyacentes correspondan a la sucesin del cdigo Gray. se elimina la ambigUedad cuando la deteccin se efecta en la lnea que separa dos segmentos cualesquiera.

    Cdigo de caracteres ASCII Muchas aplicaciones de las computadoras digitales requieren mllnipular datos que no slo son numeroso sino tamb i~n letras. Por ejemplo. una compaa de seguros con miles de asegurados utilizar una computadora para procesar sus archivos. Para representar los nombres y dems nfomucin peninente. es necesario formular un cdigo binario para las letrns del alfabeto. Ade ms. el mismo cdigo binario deber representar nmeros y caracteres especiales (como $). Un conjunto de caracteres alfanumricos es un conjunto de elementos que incluye los 10 dgitos decimales. las 26 letras del alfabeto y varios caracteres especiales. Un conjunto as cOnliene en tre 36 y 64 elementos si slo se incluyen letras maysculas. o entre 64 y 128 elementos si se incluyen maysculas y minsculas. En el primer caso. se necesita un cdigo binario de seis bits: en el segundo. se requiere uno de siete bits.

    El cdigo binario estndar paro los car.lcteres alfan umricos es ASCII (A merican Standard Code for I/lfomratioll Imercha/lge . Cdigo est.indar americano para iOlercambio de informa cin). Utiliza siete bits paro codificar 128 caracteres. como se muestra en la tablll 17. Los sic te bits del cdigo se designan con b, a b-r. siendo b, el bit mA~ significativo. La letm A. por ejemplo. se representa en ASCII como 1000001 (columnll 100. fila ()(X) 1 ). El cdigo ASCII con liene 94 caracteres grficos que pueden imprimirse y 34 caracteres no imprimibles que se uti lizan para diversas funciones de cOOlrol. Los carocleres grficos consisten en 26 letras maysculas (A a Z). 26 letras minsculas (a a 2). los 10 nmeros (O a 9) y 32 caracteres espe ciales imprimibles. como % Y $.

    Los 34 caracteres de control se designan con nombres abreviados en la tabla ASCII . Abajo de la tabla se presentan otra vez junto con el nombre de la funcin que desempean. Los ca rocteres de cOOlrol sirven para detenninar la ruta de los datos y organizar el texto impreso en un formato predefinido. Hay tres tipos de carncteres de control: creadores de formato. separ.l dores de infonnacin y carncteres que controlan la comunicacin. Los creadores de fonnato con trolan la forma de imprimir e incluyen los cOOlroles ya conocidos de I a.~ mquinas de eseribir. como retroceso (BS), tabulacin horizontal (HT) y retomo de carro (CR). Los separadores de informacin sirven para separar los datos en divisiones como prrafos y pginas. Incluyen ca racteres como el separador de registros (RS) y el separndor de archi\'os (FS). Los carocteres

    M" pro'"'Qido )Ordl"Pr,n de "Ir

  • 24 Captulo 1 Sistemas binarios

    Por ejemplo. algunas impresoras reconocen t;aracteres ASCII de ocho bits que tienen O en el bit ms significativo. Los otros 128 caracteres de ocho bits que tienen I en el bit ms signifi-cativo se utilizan paro otros smbolos. como el alfabeto griego o letras cursivas.

    Cdigos para detectar errores Cuando se desea dete

  • I

    Seccin 1-8 Almacenamiento binario y regi stros 25

    Registros Un regtro es un grupo de celdas binarias. Un registro con n celdas es capaz de almacenar cualquier cantidad discreta de informacin que contenga n bits. El estado de un registro es una n-tupla de unos y ceros, en la que cada bit designa el estado de una celda del registro. El contenido de un registro es funcin de la interpretacin que se da a la infom'lllCin ahf alma-cenada. Considere. por ejemplo. un registro de 16 bits con el contenido siguiente:

    1100001 111001001

    Un registro con 16 celdas puede estar en uno de 216 posibles estados. Si suponemos que el con-tenido del registro representa un entero binano, el registro podr almacenar cualquier nmero

    ~jnario entre O y 2 11> - l . En nuestro ejemplo. el contenido del registro es el equivalente bina-rio del nmero decimal 50121 . Si suponernos que el registro rumact:na los caracteres alfanu-mricos de un cdigo de ocho bits. el contenido del registro seria dos caractcres. En el caso del cdigo ASCII con un bit de paridad par en la octa\'ll posicin de bit ms significutiva, el regis-tro contiene los dos caracteres C (ocho bits de la izquierda) e I (ocho bits de la derecha). Por otra parte. si interpretamos el contenido del registro como cuatro dfgitos decimales represen-Indos en un cdigo de cuatro bits. el contenido del registro ser un nmero decimal de cuatro , drgitos. En el cdigo exceso-3. el registro contiene el nmero decimal 9096. El contenido del registro no tiene sentido en BCD porque la combinacin de bits 1100 no tiene a..ignado nin-gn dfgito decimal. Este ejemplo hace evidente que un registro puede almacenar elementos discretos de infonnacin y que la misma configuracin de bits puede interpretarse de diferen-tes maner.ls. dcpendiendo del tipo de los datos.

    Transferencia de registro Un sistema digital se caracteriza por sus registros y los componentes que efectan el procesa-miento de dntos. Ln operacin de tronsf~rtmcia de registro es bsica en los sistemas digi tales. Consiste en una transferencia de informacin binaria de un conjunto de registros n otro. La transfere ncia podria ser directa de un registro a otro. o podria pasar por circuitos procesadores de datos para efectuar una operacin. Ln figura 1- 1 ilustra la transferencia de infonnacin en-tre registros y muestra grficamcnte la transferencia de "femlacin de un teclado a un regis-tro en la unidad de memoria. Se supone que la unidad de entrada tiene un teclado. un circuito de control y un registro de entmda. Cada vez que se pulsa una tecla. el control introduce un c-digo equivalente de carcter alfanumrico. de ocho bits. en el registro de entrada. Supondre-mos que el cdigo empleado es ASCII con bit de paridad impar. La infonnncin del registro de entrada se transfiere a las ocho celdas menos signifieativlI5 de un registro del procesador. Despus de Cadll tmnsferencia. el registro de entrada se despeja para que el control pueda in-shrtar un nuevo cdigo de ocho bits cuando se vuelva a accionar el teclado. Cada carcter de ocho bits transferido al registro del procesador va precedido por un desplazamiento del carc ter anterior a Ia.

  • 26 Ca ptulo 1 Siste mas bInarios

    l :NI DAD I>EMI.MORIA ) O 11 N

    FIGURA 1-1

    UNIDAD PROCl~ S\I)ORA

    llt-OIOA O DE E"TRA DA

    Teclado

    Transferencia de Informacin con registros

    Registro de memoria

    CONTRO L

    Registro ck entrada

    manipulen bi lS individuales de inrormacin. El dispositivo que se ulili 7...o con mayor rrecuen-cia para retener datos es el regislTO. La manipulacin de variables bi naria~ se efecta median-te circuitos lgicos digitales. La fi gura 1-2 ilustra el proceso de sumar dos nmeros binarios de 10 bilS. La unidad de memoria, que normalmenle consta de millones de registros, aparece slo con tres registros en el diagrama. La pane de la unidad procesadora que se muestra con-siste en tres registros - R 1, R2 Y R3--- adems de circuitos lgicos digitales que manipulan los bilS de R I Y R2 Y tmnsfiere n a R3 un nmero binario igual a su suma aritmtica. Los registros de memoria alm~nan inrormacin y no pueden procesur los dos operandos, pero es posible tranSferir la informacin que contienen a registros del procesador. Los resultados obtenidos en los registros del procesador se pueden transferir de vuelta a un registro de la memoria para al-macenarse hasta que se necesiten otra vez. En el diagrama. el contenido de dos operandos se transfiere de dos registros de memoria a RI y R2. Los circuitos de lgica digital producen la suma, que se transfi ere al registro R3. El cOnlenido de R3 se puede transferir enlonces a uno de los registros de memoria.

    Los ltimos dos ejemplos ilustran de rorma muy sencilla las capacidades de nujo de infor-macin de un sistema digital . Los regisltOs del sistema son los elemenlos bsicos para alma-cenar y retener la inrormacin binaria. Los circuitos de lgica digilal procesan la informacin binaria almacenada en los registros. Los circuitos de lgica digital y los registros se estudia-rn en los capltulos 2 a 6. La unidad de memoria se explica en el caprtulo 7. El nivel de trans-ferencia de registros para describir y disear sistemas digitales se tmta en el capftulo 8.

  • Secc;ln 1-9 Lgica binaria 27

    L!'!!),\U DI;.,\\I \lOlUA

    10000 0000 001 ... Suma

    Operando 1 - 100 111 0000 1 1

    rando 2 1000100 0010 1

    0 0 0 10 00010 01

    Circuilos de l6gica digital

    0100 1 00011 RJ para l uma binaria

    0011 1 0000 1 R2

    t 1:>. 101\1) I'IU)(;I;.SA DORA

    FIGURA 1-2 Ejemplo de procesamiento de informacin binaria

    ' -9 LGICA BINARIA Lu.lgicu binaria se ocupa de variables que adoplan dos valores discrelos y de operaciones que asumen un significado lgico. Los dos valores que pueden adoplar las variables reciben difercnles nombres (verdadero y falso. s(y no. etctera). pero para nuestros fines es conve-nienle pensar en ellos en I~nninos de bits y llSignarles 105 valores I y O. LB lgica binaria que se presenta en esta seccin equivale a un lgebra llamada lgebra booleana, que se estudia-r fonnalmente en el captulo 2. El propsito de esta seccin es hacer una introduccin heu-rfstica al lgebra booleana y relacionarla con los circuitos de lgica digital y las seales binarias.

    Definicin de lgica binaria La lgica binaria consiste en variables binarias y operaciones lgicas. Las variables se desig-nan con Itlras del alfabeto, como A, B, C. x. y, z. etctera, y cada variable tiene dos y slo dos posibles valores: I y O. Hay tres operaciones lgicas bsicas: ANO, OR Y Nm.

    Mal '11 pro '"'Qido por df'rocf'Jo

  • 28 Captulo 1 Sistemas binarios

    1. ANO: Esta operacin se represenla con un punlo u omitiendo el operJdor. Por ejemplo. x' y = Z oX)' = Z se lee "x ANO)' es igual a " . La operacin lgica ANO significa que z = I si y slo si x = l Y Y = 1: de 10 contrario. z = O. (Recordemos que x, y y Z son variables binarias y slo pueden valer I o O.)

    2. OR: Eslil apelacin se rcpresenlil con un signo ms. Por ejemplo,.x + )' = Z se lee "x OR )' es igual a z".y signifK:aque z = I sLr = l osi )'= losix = Iy )' = I. Six = Oy )''''' Q, entonces z = O.

    3. NOf: Esta operacin se represenla con un apstrofo (y a veces con una testa). Por ejem-plo. x' "" z (o i = z) se lee como "no.x es igual a z" y significa que z es lo cOntrario de x. Dicho de otro modo, si x = l. entonces z = O: pero si x = O, entonces z = l . La ope-racin NOf tambi~n se llama operacin dc complemento. ya que cambia un I por Q y un O por 1.

    La lgica binaria se parece a la aritmtica binaria. y las operaciones ANO y OR tienen si-militudes con la multiplicacin y la suma, respC

  • Seccin 1-9 lgica binaria 29

    drian ser voltajes o comemes, existen con uno de dos valores reconocibles. Los circuitos ope~ rados por voltaje responden a dos niveles de voltaje dislintos que representan una variable bi-naria cuyo valor es I lgico o O lgico. Por ejemplo, un sistema digital dado podra definir el O lgico como una seal de O volts, y el I lgico, como una seal de 4 volts. En la prctica, ca-da nivel de voltaje tiene un intervalo aceptable. como se indica en la figura 1-3. Las termina-les de entrada de los circuitos digitales aceptan seales binarias dentro del intervalo permisible y responden en las tenninales de salida con seales binarias que estn dentro del intervalo es-pecificado. La regin imennedia entre las regiones pennitidas slo se cruza durante las tran-siciones de estado. Cualquier info rmacin deseada para computacin o control se puede manipular haciendo pasar seales binaria.~ por diversa.~ combinaciones de compuertas lgicas, y cada seal representa una variable binaria dada.

    En la figua 1-4 se incluyen los sfmbolos grficos con que se representan los tres tipos de com-puertas. Las compuertas son bloques de hardware que producen seales de salida equivalen-tes al I lgico o al O lgico cuando se satisfacen los requisitos lgicos de entrada. Las seales de entrado x y )' de las compuertas lgicas ANO y OR podrfan existir en uno de cuntro posi-bles estados: 00, 10, II o 0 1. Estas seales de entruda se muestran en la figura 1-5 junto con

    Volts

    4

    3

    I

    o

    FIGURA 1-3 Ejemplo de se"ales binarias

    :-LI_Y-'" a) Compuena ANO de dos enl radas

    FIGURA 1-4

    La se da entre eslOS IImiles

    b) Compuena OR de dos enUlldas

    Smbolos para los circuitos lgIcos dIgitales

    lnlen>alo para et I Jgko

    Inlervalo para el O l6g.iro

    (e)CompuenaNOT o inversor

  • ,

    1 ,

    30 Ca ptulo 1 Siste mas b inarios

    x O J Y

    ANO: ... ,.

    OR:.r + y o I I NO'r. .l '

    FIGURA 1-5 Sea les de entrada-salida de compuertas

    A B e I ) F - ABC

    A 8 e D

    Lo O j o

    -

    Q Q

    7 ----; l Q

    G " A + 8 +C + D

    a) Compuena ANO de tres entradas

    b) Compuerta O R de cuatro ent radas

    FIGURA 1-6 Compuertas con mltiples entrada,

    In seal de salida COrTCSpondicnte n cada compuena. Los diagramas de Icmpori7.acin ilustron la respuesta de cada compuena a las cuatro combinaciones de seales de entrada. El eje hori-zontal del diagrama de tempori7.acin representa tiempo. mienlms que el eje vcnical muestra cmo cambia la seal entre los dos posibles niveles de vahaje. El nivel bajo representa el O 16-gico y el nh-ellIlto representa el I lgico. La compuena ANO responde con una seal de sali da de I lgico cuando ambas seales de entrada son 1 lgico. La compuena OR responde con una sefta! de salida de Ilgico cuundo cualquier seal de entrada es I lgico. La compuerta Nar se conoce comnmcnle como inversor, y en el diagrama de temporizacin es evidente el porqu: la seal de salida invierte el senlido lgico de la seal de entrada.

    Las compuertas ANO y DR pueden tener m.~ de dos entradas. En la figura 1-6 se represen-la una compuerta ANO con tres entradas y una compuerta DR con cuatro entradas. La com-puerta ANO de tres entradas responde con una salida de I lgico si las tres entradas son 1 lgico, y con O lgico si cualquiera de las entradas es O lgico. La compuerta QR dc cuatro en-tradas responde oon I lgico si cualquier entrada es I lgico; su salida slo ser O lgico si to-das sus entradas son O lgico.

    PROBLEMAS

    1 -1 Enumere los mlmeros ocrales y hexadecimales del 16 al 32. Utili7J1ndo A y B como lt imos dos dgitos. enumere los nmeros del 10 al 26 en base 12.

    1 2 Cunl05 bytes hay exactamente en un sistema que oont iene a) 32 K bytes, b) 64M bytes, y c) 6.4G bytcs?

    1-3 Di el nllmero binario ms gr:andc que se puede expre5llf oon 12 bits. Df su equivalente decimal y he;uKkdmaL

    14 Convierta a decimal los nmeros que siguen en las bases indicadas: (4310), y ( 198)1!'

    Mal 'JI pro ~ido

  • Problemas 31

    1-5 Determine en cada caso la base de los mlmcros. de modo que la operaciones sean Ctw,ectM: a) 14/2 - 5;b)S4I4 - J3.yc) 24 + 17 - 40.

    ' -6 La solucin de la ecuacin cuoortica xl - Ilx + 22 = O es x - 3 Y x - 6. Qot base tienen los nmerus?

    1-7 Exprese estos nmeros en decimal.: (IOIIO.O IOlh. (16.5) Y (26.24>.. ' -8 Convierta estos nmeros binarios a heJladecima.1 y decim:ll: a) 1.11010. b) 111 0.10. Explique por

    quf la respuesta decimal a b) es g veces la de a). ' -9 Convierta el mlmcro hexadecimal 68BE a binario y. de binario. convitrtnlo a octal. 1-1 O Convierta el nmero decimal 345 a binario de dos maneras: a) convi~rtalo directamente a bina-

    rio; b) convitn:tlo primero a hcxadecim:t1. y luego de hexadecimal a binario. Qut rnttodo es ms rpido"

    1-11 Resuelva los siguientes problemaJ de conversin: a) Convierta el nmero decimal 34.4375 a binario. b) Cuh;ule el equivalente binario de 113 hll5ta ocho posiciones. Luego convi61a1.o de binario a

    decimal. Quf tan cercano a 113 es el resultado7 c) Convierta el resultado binario de b) a hexadecimal. Luego convierta el resultado a dccitrull.

    La respuesta es la misma" 1 -12 Sume y multiplique los nmeros siguientes sin con\'ertirlo:s a decimal.

    a) Nllmeros binarios 1011 y 101. b) NCmeros hexadecimales 2E y 34.

    1-1 3 Realice esta divisin en binario: 101 111 I + 101. 1-14 Obtenga el complemento a nueve y a dieJ: de los nllmeros decimales siguientes:

    a) 98127634 b) 12049900 c) ](mOOOO d) OOI.XXKKX). 1-15 a) Obtenga el complemento a 16 de AF3B.

    b) COtwierta AF3B a binario. c) Obtenga el complemento a dos del resultado de b). d) Conviert:lla respuesta de c) a hexadecimal y comprela con la respuesta de a).

    1-16 Obtenga los complementos a uno y a dos de estos nmeros binarios: a) 11101010 b) 01111110 e) 00000001 d) 10000000 (e) CXXXXXXXl.

    1-17 Efecte la resta de los siguientes nmeros sin signo utilizando el complemento a lO del susltllCn-do. Si el resultado es negativo. obtenga su complemento a JO y antep6ngale un signo menos. Compruebe sus respuestas. a) 7188 - 3049 b) ISO - 2100 e) 2991 - 7992 d) 1321 - 315

    1-18 Efecllle la resta de los siguientes nameros binarios sin signo utiliundo e l complemento a do.s del 5u.~lfaeodo. Si el resultado e.

  • 32 Captulo 1 SIstemas binarios

    1 -2 1 Convienn el nmero decimal 9126 a los cdigos BCD y ASCII . En el cuso de ASCII . anada un bi t de paridad impar a la izquierda.

    1-22 Represente los nmeros decimales sin signo 965 y 672 en BCD y luego muestre los pasos occc sarios para obtener su ~uma.

    1-23 Jtmule un cdigo binario ponderado para los dgitos decimales empleando los pesos 6. 3. l . 1. 1 -24 Represente el nmero decimal 6027 en a) BCD. b) cdigo ex;-eso-3. y ;-) cdigo 2421 . 1-25 Obtenga el complemento (1 nueve de 6027 Y exprselo en ;-digo 242 l . DcmuestRl que el resul

    tado es el complemento a uoo de la respuesta al inciso e) del problema 1-24. Esto demuestra que el cdigo 2421 se au tocompl('menlU.

    1-26 Asigne un cdigo binario onJenado a los 52 naipes de la barnja. Utilice el nmero mfnimo de bits. 1-27 Escriba la expresin '"G. Boole" en ASCII empleando un cdigo de ocho bits. Incluya el punto y

    ('1 espado. Trute el bit de ('x tRlma i7.quierda de cada ;-ar:k:ter como bit de paridad. Cada cdigo de 8 bits dcbcr4 t('ner paridad par. (George Boole fue un matemtioo del ~ iglo Xtx. El lgebra Booleana, que se estudiar.! en el capftulo siguiente, 11e\'lI su nombre.)

    1 28 Decodifique el tdigo ASCII siguiente: 1001010 1100001 1101110 1100101 0 100000 100J100 1101111 11 00101.

    1-29 La que sigue es una cadena de camcteres ASCII cuyos patrones de bits se han c:onvenido a hen.-decimal para que no ocupen IUnto espacio: 4A EF 68 6E 20 C4 EF ES. De los ocho bits de cada par de drgl tos, el de la extrema i7.quierda es un bit dc paridad. Los bil~ restames son el c-digo ASCII. a) Convirtalos a bits y decodifique el ASCII . b) . Determine la paridad empleada: impar o par.

    1-30 Cuntos earaeteres imprimibles hay en ASCII '! Cuntos de ellos son earacteres especiales (ni letms ni nmeros)?

    1 31 Qut bit es pre;iso oompJcmentar par.! c:ambillr una letra ASCII de mayscula a minscula. y vi-eC\'('rsa1

    1-32 El estado de un registro de: 12 bits ('S 100J1001011 1. i.Q~ c:ontiene si representa a) tres drgitos decimales en BCD? b) tres drgitos decimales en cdigo exeeso-3? c:) tres dfgitos decimales en cdigo 84-2-1 ? d) un nllmero binario?

    1 -33 Haga una lista oon el cdigo ASCII de los 10 dgitos decimales. eon L1n bit de paridad par en la posicin de extrema il.quierda.

    1 34 Suponga una oompuerta ANO de tres entmdas cuya salida es F y una compuerta OR de tres en trodas euya salida es G. UlS entradas son A. B y C. Muestre las scnales (en un diagmma de lenl-porizaein similar al de la figura 1-5) de las salidas F y G en fundn de las tres entradas ASe. Utilice las ocho posibles oombinndooes de ABe.

    REFERENCIAS

    1. C,W .... NAGII.l. J. 1984. Digi/al CQmpuur Ari,hmtfic. Nue\' York: McGraw-HilL 2. SctI~1I0. tI. 1974. lkcinU/1 Computa/ion. Nueva York: John Wiky. 3. MANO. M. M. 1988. Coml1flt~r &gi~ering: HIJrrr..~lre Duign. Englewood Cliffs. NJ: Prenl\ce-Hall. 4. NF..l.SON, V. F.. B. T. NAGLE. J. D. IRWIN Y B. D. CARROLL 1997. Digital wgic Cirrui,Allulysis und

    Desigll. Uppcr Saddle Rher. NJ: ?remice-Hall.

    M' mi protegido por dere('t-to de t.: '"Ir

  • ,,-

    Algebra booleana y compuertas lgicas

    2-1 EFINICIONES BS CAS lgebr.t booleana, ni igual que lodos los sistemas matemticos deductivos. se define con conju nto de d em Ig 01 kla . rc.:h":- uto rios axiomas o postulados no

    Un cOl/jumo de elementos es cualquier coleccin de objetos con alguna propiedad comn. Si S es un conjunto y x y y son cienos objetos. cntonce.'i .c ES denota que x es un

    del conjunto S, y)' f! S denOla que)' no es un elemento de S. Un conjunto que tiene nmero enumerable de elementos se especifica con llaves: A = 11 . 2. 3. 4 l. es decir. los

    de A son los nmeros 1, 2. 3 Y 4. Un operador binario definido sobre un conjunto elementos es una regla que asigna a cada par de elementos de S un elemento nico de S.

    ejemplo. consideremos la relacin a b = c. Decimos que . es un opentdor binario si es-una regla para encontrnr e a panir del par (a. b) y si adems Q, b, e eS. Sin embargo,

    no es un operador binario si Q, b e S y lu regla encuentra que e e: S. Los postulados de un sistema matemtico constituyen los supuestos bsicos il panir de los

    e.~ posible deducir las reglas, teoremas y propiedades del sistema. Los postulados ms que se ulili llln para formular dh'ersas eslJUClUras algebraicas son:

    l. Cumduro. Un conjunto S es CCITlldo respeclo a un operador binario si, por cada par de elementos de S. el opcradorespecifica una regla para obtener un elemento nico de S. Por ejemplo. el conjunto de los nmeros naturales N = 11 ,2.3,4 . ... I e. .. eeITlldo respecto DI operador binario ms (+) por las reglas de la suma aritmtica, ya que, para cualquier ti, b e N, obtenemos un e e N nico por la operacin ti + b = c. El conjunto de los numeras naturales no es cerrado respecto al operador binario menos (- ) por las reglas de la resta aritmtica. porque 2 - 3 = - 1 Y 2. 3 eNpero(- I) e:N.

    2. Leyasociati"o. Decimos que un operador binario _ sobre un conjunto S es asociativo si (x .y). Z = x - (y-l) para todos X.y. ~ eS

    rl').1 pr teq:1o p-Jr,... :33 a _ r

  • 34 Captulo 2 lgebra booleana y compuertas lgicas

    3. lLy conmlltatim. Decimos que un operador binario . sobre un conjunto S es conmu-tativo si

    x.y "'" y . x para todosx.y ES 4. Elemenl(J de identidad. De

  • Seccin 22 Definicin axiomtica del lgebra booleana 35

    las propiedades de los circuitos elctricos de conmutacin biestables podfnn representarse con esa lgebra. Para definir fonnalmenle el lgebra booleana. uti lizaremos los postulados fomm lados por E. V. Huntington en 1904.

    El lgebra booleana es una estructura algebraica definida por un conjunto de clementos. B. jUnio con dos operadores binarios. + 'i ' . a condicin de que se satisfagan los postulados si-guientes (de Huntington):

    1. a) Cerradura respecto al operador +. b) Cerroldura respecto al operador'.

    2. a) Un elemento de identidad con respecto a +. designado por O: x + O "" O + x == x. b) Un elemento de identidad con respecto a ' . designado por 1: x . l == 1 x = x.

    3. a) Conmutativa respecto a +: x + y == y + x. b) Conmutativa respecto a ' :.1"' Y == Y . x.

    4. a) . es distributivo sobre +: x . (y + z) == (x' y) + (x ' Z). b) + es distributi\'o sobre .: x + (y' ) = (.1" + y) (.1" + z).

    S. Para cada elemento x E B. existe un elemento x' E 8 (llamado complemento de x) lal quea) x +x' "" 1 yb)x'x':::: O.

    6. Existen por lo menos dos elementos x.)' e B tales que x '* y. Al comparolr el lgebra booleana con la aritmtica y el lgebra ordinaria (el campo de los

    nmeros reales). observamos Ia.o; siguientes diferencias: 1. Los poslUlados de Hunungton no incluyen la ley asociativa. Sin embargo. esta ley se

    cumple para el lgebra booleana y se puede derivar (para ambos operadores) de los otros poslUlados.

    2. La ley distributiva de + sobre ' . es decir. x + (y ' z) :c (x + y)' (x + ). es vlida pa ra el lgebra booleana. pero no para el lgebra ordinaria.

    3. El lgebra booleana no tiene inversos aditivos ni multiplicativos: por tanto, no hay ope-rolciones de resta ni de divisin.

    4. El poslUlado 5 define un operador llamado complcmcmo que no existe en el lgebra or-dinaria.

    5. El lgebm ordinaria se ocupa de los nmeros reales, que constituyen un conjunto infini-to de elementos. El lgebra booleana se ocupa de un conjunto de elementos B que toda-va no hemos definido. pero en el lgebra booleana de dos valores que definiremos a continuacin (y que nos interesar para nuestro uso subsecuenle de esta lgebra), B se define como un conjunto con slo dos elementos. O y 1.

    El lgebro booleana se parece al lgebr.i tXdirmria en algunos sentidos. La seleccin de los slm bolos + 'i' es intencional para que quienes ya conocen el lgebra ordinaria puedan efeauarcon ms facilidad manipulaciones algebraicas booleanas. Aunque podemos aprovechar algunos ro-nocimientos del lgebra ordinaria para trabajar con el lgcbm booleana, el principiante debe te-ner cuidado de no usar las reglas del lgebra ordinaria en casos en que no son vlidas.

    Es imponante distinguir entre los elementos del conjunlo de una eS(ruclura algebraica y las variable. o; de un sistema algebraico. Por ejemplo. los elementos del campo de los mimeros rea-les son nmeros. mienlras que variables como a, b. e, etctera. que se usan en el lgebra ordi-naria, son sfmbolos que representan nmeros reales. Asimismo. en el lgebra booleana, definimos los elemenlos del conjunto B, 'i las variables como x, y y z son meramente smbo-los que representan a los elementos. A estas alturas. es imponante enlender que. para tener un lgebra booleana. es preciso mostmr:

    Mat~rI'll protegido por derechos de 'lt.: or

  • 36 Captulo 2 lgebra booleana y (ompuerta~ lgica~ 1. los elementos del conjunto B. 2. las reglas de o]Xracin de los dos operadores binarios. y 3. que el conjunto de elementos. B. junto con los dos operadores. satisface los seis postu-

    lados de Huntington.

    Podemos fonnular muchas lgebras booleanas. dependiendo de los elementos que escoja. mos para B y de la.

  • Seccin 2-3 Teoremas y propiedades bsicos del lgebra booleana 37

    y z y + z JC ' (r + z) xy XX (JC") + (lC'Z) o o o o O O O O O O I I O O O O O I O I O O O O O I I I O O O O I O O O O O O O I O I I I O I I I I O I I I O I I I I I I I I I

    b) Podemos demostrar que se cumple la ley distrihlllim de + sobre ' prepar.mdo una tabla de verdad simi lar a la anterior.

    5. La tabla del complemento pennite demostTar fdlmente que a) x + x' = l . ya que + O' = + I = I Y I + l ' "" I + "" l . b) x ' x' = O,yaqueO - O' "" 0,1 "" Oy 1 1' "" 1 - O "" O,loqueverificaelpos-

    tulado 5. 6. El postulado 6 se Slltisfacc porque el lgcbru booleana de dos valores tiene dos e1emen-

    tos. 1 yO. y 1 * 0. Acabamos de establecer un lgebra booleana de dos valores que tiene un conjunto de dos

    elementos, 1 y O. dos opemdores binarios con reglas de operacin equivalentes a las operacio-nes ANO y ORo Y un opemdor de complemento equivalente al opemdor NOT. As( pues, el l -gebra booleana ha quedado definida de manera matemtica fonnal y se ha demostrado que es equivalente a la lgica binaria que presentamos heursticamente en la seccin 1-9. La presen-tacin heurstica ayuda a entender la aplicacin del lgebra booleana a los circui tos tipo com-puerta. La presentacin fonnal es necesaria para desarrollar los teoremas y propiedades del sistema algebraico. Los ingenieros tambin llaman "lgebra de conmutacin" al lgebra bao-lcana de dos valores que definimos en esta seccin. A fin de hacer hincapi en las similitudes entre el lgebra booleana de dos valores y ()(ros sistemas binarios, llamamos "lgica binaria" a esta lgebra en la seccin 1-9. De aqur en adelante. omitiremos el calificativo "de dos valo-res" al hablar de lgebra booleana en las explicaciones.

    2-3 TEOREMAS Y PROPIEDADES BS I C O S D EL LGEBRA BOOLEANA

    Dualidad Se han prescnlado los poslUlados de Huntinglon por pares y se han designado como parte a) y parte b). Es posible obtener una parte de la ()(ra si se intercambian los operadores binarios y los elementos de identidad. Esta importante propiedad del lgebra booleana se denomina prin cipio de dl/alidad, y establece que toda expresin algebraica que pueda deducirse de los pos-tulados del lgebra booleana seguir siendo vlida si se intercambian los operadores y los elementos de identidad. En un lgebra booleana de dos valores. los elementos de idemidad y

  • ,

    38 Captulo 2 Algebra booleana y compuertas lgicas

    los elementos del conjunto. B. son los mismos: I y O. El principio de dunlidnd tiene muchas aplicaciones. Si queremos el dI/al de una expresin algebraica. simplemente intercambiamos los oper .. dores OR y ANO Y sustilUimO los unos por ceros y los ceros por unos.

    Teoremas bsicos En la tabla 2- J se prescnlan seis teoremas del lgebra booleana y cuatro de sus postulados. La notacin se simplifica omitiendo el operador binario' en los casos en que ello no causa con-fusin. Los teoremas y postulados que se presentan son las relaciones ms bsicas del lgebra booleana. Los teoremas. al igual que los postulados, se presentan por pares; cada relacin es el dual de su pareja. Los postulados son axiomas bsicos de la eSlruClUra algebraica y no re-quieren demostracin. Los teoremas deben demostrarse a partir de los poslUlados. A continua-cin se presentan las demostraciones de los teoremas con una variable. A la derecha se indica el nmero del poslUlado que justifica cada paso de la demoslracin.

    TEOREMA la): x + x :: x. x + x :: (x+x) 'l

    = (x + x )(x + .1') = x + xx'

    = .1 + 0

    TEOREMA lb): X' x = x . x ' x = xx + O

    = xx + xx'

    = x

    Tabla 2-1 Postulados y teoremas del lgebra booleana

    Politullldo 2 . ) x+O = x Postulado 5 . ) x+.r' = 1 TooK'mll I . ) x + x " x Teorema 2 . ) x + I - 1 Teorema 3. involucin (.i)' .. ,l Postulado 3. conmLltatividlld , ) x+ y = y+ x Teorema 4, asociatividad .) x + (y + :) .. (x + y) + : Postulado 4, distributividOO . ) x Cy +

  • 1

    Seccin 2-3 Teoremas y propiedades bsicos del lgebra booleana 39

    Observe que el teorema 1 b) es el dual del teorema la) y que cada uno de los pasos de la de-mostracin en la parte b) es el dual de la pune a). Cualquier teorema dual se puede deducir de fonna similar. partiendo de la demostracin de su par correspondiente.

    TEOREMA 2a): x + I = 1. x + I = I' (x+ l )

    (x + x' )(x + 1) = x+ .1"' 1 = x + x'

    1

    TEOREMA 2b): x' O = O por dualidad.

    por el postulado: 2b) 5,) 4b) 2b) 5.)

    TEOREMA J : (x)' = x. Del postulado 5. tenemos x + x = 1 Y x . r = O. lo que define al complemento de x. El complemento de x es x y tambin es (.1"')'. Por tanto, dado que el com-plemento es nico. lenemos que (x)' = x.

    Los teoremas en los que intervienen dos o tres variables se pueden demostr.lr algebraicamen-te a partir de los postulados y los teoremas que ya demOSInlmOS. Tomemos