Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
IVPN! i r i V I i ! bases de los microprocesadores y el 6800 I Ron Bishop Gerente, Capacitación Técnica .Motorola Semiconductor Group Phoenix. Arizona Traducido por: Ing. Fernando I. Szklanny Docente de la Cátedra "Técnicas Digitales" Facultad de Ingeniería. Univ. Nac. de Buenos Aires B A S E L1FBI MFtS 'ISSS © ArbóA H I U ) S A O e l Publicaciones Técnicas Buenos Aires, Argentina T itu lo original en inglés: Basic Microprocessors and the 6 8 0 0 Bases de los microprocesadores y el 6800 1* Edición 1® reimpresión, año 1987 2* reimpresión, año 1992 C opyright 1979 por H ayden B ook C o m p a n y, Inc. A ll rights reserved. N o part of this book, m ay be reprinted, or reproduced. or utilizad in any form or by any electronic, mechanical, or other means, now know n or hereafter invented, including photocopylng and recording, or in any inform ation storage and retrieval system, w hithout permission in w riting from the Pubiisher. Derechos adquiridos. C opyright 1982 por A rb ó S .A .C . e i. To d o s los derechos reservados. Ninguna parte de este libro podrá reim prim irse, o reproducirse, o utilizarse de ninguna form a ni por ningún m edio electrónico, mecánico u otro, actualmente conocido o que se invente de ahora en adelante, incluyendo fotocopiado y grabación, o en cualquier sistema de almacenamiento y recuperación de datos, sin permiso otorgado por escrito por el E d ito r Queda hecho el depósito que marca la ley 11.723 I S .B .N . 950-9022-10-1 Editado e impreso en Argentina Printed in Argentina Prólogo Los últimos años han dado origen a un nuevo dispositivo electro, nico que está llamado a afectar la vida de todo el mundo, tal como lo hiciera el transistor en las décadas de los cincuenta y los sesenta. Este dispositivo, conocido como microprocesador, contiene varios miles de elementos lógicos integrados en un único circuito de superficie menor que 50 mm2. Como resultado de esta nueva tecnología, los sistemas micro- computadores se están incluyendo ya en artículos hogareños para efectuar tareas como control de sistemas de luz, almacenamiento de recetas, manejo de información referido a impuestos, seguridad hoga reña y similares. Con estas prestaciones se vincula el rol de este libro. En este momento pueden encontrarse en el mercado muchos libros de elec trónica digital. La mayoría, no obstante, apunta al técnico que tiene experiencia y conocimiento en la matéria. Gran parte de ellos, más aún, abarcan los puntos principales de tres, cuatro o cinco sistemas microcomputadores diferentes. El lector termina sabiendo un poquito de varios sistemas distintos, pero no mucho acerca de ningún sistema en particular. Este libro apunta a distintas categorías de lectores. Quien tenga una sólida base digital pero quiera aprender acerca de sistemas de microcomputación puede empezar con el capítulo 7. Por otra parte, si no tiene conocimiento alguno de sistemas digitales debiera em pezar con el capítulo 2. El capítulo 1, que cubre la teoría de la electricidad básica, está destinado a estudiantes de escuelas secun darias y a lectores no técnicos que quieran empezar a nivel cero y aprender algo de electrónica antes de orientarse hacia el estudio de computadoras personales. Este libro puede servir también como un texto ideal para escuelas técnicas, colegios superiores y universida des. Cada capítulo se completa con un juego de problemas a ser resueltos por los lectores. Existen actualmente muchos fabricantes de microprocesadores. Si bien hay grandes diferencias entre las distintas marcas, todos los microprocesadores son muy similares en su función y operación. Una vez que se haya logrado dominar un microprocesador específico, será muy simple entender otros tipos. Este libro se orienta hacia el micro- procesador M6800 fabricado por Motorola y su familia de circuitos integrados, los que pueden utilizarse en conjunto 'con. el micropro cesador para construir sistemas microcomputadores. Tanto el microprocesador como sus elementos asociados se tra tarán como "cajas negras” Si bien no se intentará enseñar al lector cómo debe diseñarse un microprocesador, se lo orientará acerca de cómo puede construirse un sistema microcomputador utilizando un microprocesador, y cómo puede programarse para la realización de las funciones que se desean. Algunos elementos de los capítulos 8, 10 y 11 son reimpresiones de las siguientes publicaciones originales de Motorola: 1. M6800 Microcomputer System Design Data Sheets 2. M6800 Programming Manual 3. M6800 Course Notes Deseo expresar rni agradecimiento a Ray Doskocil, Bill Johnson, Jasper Norris, Don Aldrídge, Da ve Van Sant, Brett Richmond, Dennis Pfleger, Ben LeDonne, Clayton Wong, Bob Bratt, Dave Hyder, Jim Bainter, Lucy Brown, Fritz Wilson, Bill Crawford, Don Jackson y Donald Kesner, quienes han hecho glandes contribuciones para con el contenido de este libro. Además, un especial agradecimiento a mi esposa Mary Jane quien dedicó muchas tardes y muchos fines de semana a tipear manuscritos y un agradecimiento especial a Chuck Thompson, que ha dirigido nuestras actividades de entrenamiento durante los últimos años. Un último agradecimiento a Motorola, por su autorización para utilizar material que le pertenece. Ro n B is h o p Contenido C A P IT U L O 1: Principios Electrónicos B á s ic o s ................. ..................... i 1.1 Tensión ....................... '......................................... ................................. ........ 1 1 .2 Resistencia .................................................... ......................................... ........ 2 1.3 Corriente ............................................................................................ ............4 • 1.4 Leyes de Kirchhoff .....................................................................................6 1.5 Diodos ...................................................................................................... ........8 1.6 Transistores ......................................................................................................8 1.7 Ejemplos circuitales ............................................................................. ........12 Problemas ............................. .............................................................. ........13 C A P IT U LO 2: Elem entos L ó g ico s ............................................................ ........16 2 .1 Compuerta “Y" (“AND") ...........................................................................l6 2 .2 Compuerta "O" ("OR") ......................... ................................................... 18 2 .3 Compuerta “NO" ( “NOT") ................................................................ ........18 2 .4 Compuerta “NO-O” (“ÑOR") ............................................................ ........20 2 .5 Compuerta “NO-Y” (“NAND”) ........................................................ ........21 2 .6 Compuerta “O exclusiva” (“Exclusive OR” ) ................................. ........22 2 .7 Nomenclatura ..................................................................................................23 2 .8 Aplicaciones ................. ...............................................................................24 Problemas ...... ..................................................................................... ........25 C A P IT U L O 3: Sistemas de N u m eración ........................................................ 26 3.1 Números binarios ............................................................................................27 3 .2 Ejemplo digital........................................................................................ ........27 3 .3 Conversión del sistema decimal (base 10) a binario (base 2) . . . . 28 3 .4 Conversión de números decimales al sistema de base 8 (octal) . . . 30 3 .5 Conversión de números decimales al sistemade base 16 (hexadecimal) ........................................................................................ ........33 3 .6 Conversión de fracciones decimales a binarias..........................................37 3 .7 Resumen ............................................ ...................................................... ........38 3 .8 Ejemplos ...........................................................................................................38 Problemas ................................................................................................ ........40 C A P IT U LO 4: Aritmética B in a ria ............................................................ ........ 42 4.1 Suma binaria ......................................................................................... ........ 42 4 .2 Resta binaria ................. ........................................................................ ........ 45 4 .3 Multiplicación binaria ................................................................................... 49 4 .4 División binaria ..................................................................................... ........ 53 4 .5 Decimal codificado en binario...................................................... ..............55 Problemas ................................................................................................ ........56 CAPITU LO 5: Microcomputadoras: ¿Qué son?........................... 58 5.1 Historia ................................................................................. 58 5.2 Modelo de computador........................................................... 60 5.3 El microprocesador (MP) ............... ...................................... 62 5.4 Memoria de acceso al azar (RAM) .......................................... 65 5.5 Memorias de lectura solamente (ROM) ................................ 68 5.6 Entrada/salida ............................................ ........................ 69 5.7 Reloj ....................................... ........................................... 69 5.8 Sistema Microcomputador ...................................................... 70 5.9 Interrupciones...................................................... .................. 70 5.10 Lógica de tres estados ................................ .......................... 72 Problemas ............................................... .................... 74 C APITU LO 6: Conceptos de Programación ............... ................ Id 6.1 Diagramas de flujo ................................................................ 76 6.2 Códigos nemotécnicos ......................................................... . 78 fi.3 Ensambladores ....................... .......................................... 79 6.4 Código ASCII ....................................................................... 80 Problemas ........ ..................................................................... 81 C APITU LO 7: Modos de Direccionamiento ................................ 82 7.1 Registros del microprocesador ............................... ................ 85 7.2 Modo de direccionamiento (inherente o implícito) ..................... 85 7.3 Modo de direccionamiento por acumulador ............................. 86 7.4 Modo de direccionamiento inmediato ....................................... 86 7.5 Modo de direccionamiento directo............................................ 87 7.6 Modo de direccionamiento extendido ....................................... 87 7.7 Modo de direccionamiento indexado...................: .................... 89 7.ft Modo de direccionamiento relativo .......................................... 91 . 7.9 Resumen ..................................................................... .......... 94 Problemas .............................................................................. 95 CAPITU LO 8: Software de! M6800 ............................................. 97 8.1 Juego de instrucciones del M6800 .................... .......... 99 8.2 Lenguaje ensamblador del M6800 ................................ ........... 147 8.3 Ejemplo de programa fuente ................................................... 156 8.4 Ejemplos de instrucciones de bifurcación (Branch) .................. 159 Problemas ........................................................... . . . . . . . . . . 161 CAPITU LO 9: Familia del Microcomputador M6800 , .............. 165 9.1 Descripción general del sistema.......... ,.............. . ................... 165 9.2 Unidad de microprocesamiento (MP) ............. . . . . * ............. 167 9.3 Memoria de acceso al azar (RAM) ......................... ................ 183 9.4 Memoria de lectura solamente (ROM* ..................................... 185 VI Vil 9.5 Interfase adaptador a de periféricos (PIA) .............................. 186 9.6 Interfase adaptadora de comunicación asincrónica..................... 210 Problemas ............................................................................. 228 CAPITULO 10: Configuración del Sistema............................... 238 10.1 Barra de datos ...................................................................... 240 10.2 Línea de lectura/escritura ..................................................... 240 10.3 Interrupciones ...................................................................... 241 10.4 Reset ....................................................... ........................... 241 10.5 Dirección de memoria válida.................................................... 242 10.6 Fase 1 (0 1) y fase 2 (0 2) del reloj ................................. 242 10.7 Entradas no utilizadas ........ .................................................. 243 10.8 Líneas de dirección ................................................................ 244 Problemas ............................................................................. 250 CAPITULO 11: Ejemplos de Programación........................... .............251 11.1 Programa que suma cuatro números ........................................... 251 11.2 Programa paia borrar nueve direcciones de memoria ............. .... 252 11.3 Programa para borrar las direcciones 00 a FF hexadecimal . . . . 254 * 11.4 Cargar memoria con una tabla de datos (sentido ascendente).. 255 11.5 Cargar memoria con una tabla de datos (sentido descendente).. 256 11.6 Mover $80 bytes de información ................................................257 11.7 Programa para mover una constante ...................................... ....258 11.8 Programa que resta los valores absolutos de dos operandos . . . 259 11.9 tSubrutina de multiplicación .................................................... ....261 11.10 Programa de conversión BCD a siete segmentos ..........................265 11.11 Programa de control de una máquina ......................................... 269 11.12 Programa ‘de retardo (retardo corto) .............. .................... ....275 11.13 Programa de retardo de tiempo (retardo largo) .................... ....276 11.14 Programa de conversión binario a BCD ................................. ....278 11.15 Programa de carga y listado de memoria ................................ ....281 Indice temático .........................................................................291 C A P ITU LO 1 Principios electrónicos básicos Dado que habitualmente es necesario conectar una computadora con otros circuitos eléctricos y dispositivos externos a U misma, se hace necesaria la comprensión básica de conceptos referidos a corriente, tensión, resistencias, diodos y transistores. Este capítulo trata esos con ceptos básicos, intentando evitar información innecesaria. Todos los principios enunciados se ilustran con ejemplos. 1.1 Tensión Todos conocen el tipo de baterías que se utiliza habitualmente en radios, juguetes, flashes, etc. Estas baterías son fuentes de tensión. Proveenla potencia que genera la corriente ( flujo de electrones) en un circuito. Las" fuentes de tensión o baterías adoptan gran cantidad de tama ños y formas. Una batería de 12 V para automóvil ls relativamente grande, mientras que una batería “seca” de 12 V del tipo que se utiliza para instrumentos, juegos, ote., cabe en una mano. La diferencia funda mental entre los dos tipos de baterías, aparte de su tamaño, es la cantidad de energía que pueden entregar. Una batería de 12 V puede implementarse conectando ocho pilas de 1,5 V en serie, como se muestra en la Fig. 1.1. La mayoría de las pilas o baterías utilizadas en radios y juguetes son de 1,5 V. □ C D C D C I Z n i C D O i \ + ~ - - 8 ® 1.5V = I2 V ........... ~ j Fig, 1.1 C onexión de ocho baterías de 1.5 V 2 Bases de los microprocesadores y el 6800 Toda batería tiene un terminal positivo ( + ) y uno negativo ( —). Estos terminales definen la conexión de la batería al circuito. Debe quedar bien claro que las baterías en sí mismas no son ni positivas ni negativas; el signo de la tensión generada depende de la conexión de la batería en el circuito. El símbolo que identifica una batería (fuente de tensión) es el siguiente: T La línea más larga corresponde* al terminal positivo, y la más corta al negativo. 1.2 Resistencia Cuando se conecta una batería a un circuito, se establece un flujo de electrones llamado corriente eléctrica. La cantidad de corriente que fluye o circula en cualquier circuito es función de la resistencia en el mismo. ¿Qué significa esto exactamente? Significa que cualquier cosa que limite o impida la circulación de corriente en un circuito se llamará resistencia. La resistencia (R ) se mide en ohms, siendo su símbolo la letra griega omega mayúscula (Q ). Por ejemplo, 10 ohms se repre* sentan habitualmente como 10 Q. Los valores de resistencia pueden llegar a medir miles o incluso millones de ohms. Por conveniencia, es práctica común especificar los miles de ohms como kQ (por kilo-ohms: kilohms, o sea 103Q ), y los •' millones de ohms como MQ (por mega-ohms: megohms, o sea 106Q ). Por ejemplo, 20.000 Q se escriben 20 kQ y 3.000.000 de ohms se repre sentan como 3MQ. - Existen muchas formas y tipos de resistencias. A los efectos del análisis que sigue, analizaremos solamente los resistores de carbón. Estos son elementos de carbón y un material aislante con los que se forma una aleación en una proporción tal que genere el valor de resis tencia deseado. Las resistencias de carbón tienen longitudes que varían en*^ apro ximadamente 6 y 40 mm, con diámetros que pueden llegar a los fimm, Tienen conectores de metal en el centro de cada extremo (Fig. 1.2) por medio de los cuales se conectan al circuito. F¡g. 1.2 Resistor de carbón Principios electrónicos básicos 3 Las distintas bandas pintadas sobre el cuerpo del resistor de carbón siguen una técnica de codificación de colores que permite determinar el valor de la resistencia por simple observación. Los códigos de color se indican en la Fig. 1.3. COLOR Negro 0 Marrón 1 Rojo 2 Naranja 3 Amarillo 4 Verde 5 Azul 6 Violeta 7 Gris 8 8lanco 9 Dorado 5 % Plateado 10 % VALOH solamente en banda D Banda D (tolerancia) Banda C (multiplicador decimal) Banda B (segundo dígito) Banda A (primer dígito) Fig. 1.3 Código de colores Fig.' 1.4 Bandas Las tres primeras bandas (A , B y C ) determinan el valor del resistor. La tercera banda (C ) indica la cantidad de ceros que deben agregarse a los dos primeros dígitos. Una franja ;.egra indica que no debe agregarse cero alguno; una banda roja indica que deben agre garse dos ceros, etc. La cuarta franja (D ) indica la tolerancia, es decir en cuánto puede desviarse el valor real de ese resistor con respecto al valor codificado. Por ejemplo, 47 k con una banda plateada ( — 10 % ) en su franja D, puede en realidad variar 4,7 k por encima o por debajo del valor codificado de 47 k, lo que significa que puede variar desde 42,3 k hasta 51,7 k. Otros ejemplos se ilustran en Fig. 1.5. BANDA A BANDAB BANDA C BANDA D VALOR Amarillo Verde Naranja Plateado 45 k ± 10 % Amarillo Verde Negro Plateado 45 ± 10 % Amarillo Verde Azul Plateado 45 M ± 10 % Rojo Rojo ( Rojo Dorado 2,2 k ± 5 % Naranja Rojo ! ' Amarillo Plateado 320 k ± 10 % Marrón Rojo Naranja Dorado 12 k ± 5 % Rojo Negro Rojo Dorado 2 k ± 5 % Marrón Negro Negro Dorado 10 ± 5 % Fig. 1.5 Valor de las bandas 4 Bases de los microprocesadores y el 6800 El símbolo utilizado para representar un resistor en un circui to es: Encima del símbolo se escribe habitualmente el valor de resis tencia del elemento. Suele ser necesario o conveniente conectar dos resistores en serie como se ilustra en la Fig. 1.6 (A ), o en paralelo, como se ilustra en la Fig. 1.6 (B ). 8 k (A) SERIE (B) PARALELO Fig. 1.6 Conexiones en serie y en paralelo Si se conectan dos resistores en serie, como en la Fig. 1.6 (A ) , la resistencia total del circuito es la suma de las resistencias individua les, Por ejemplo, si se conectan en serie dos resistencias de 10 k y 2 k, la resistencia total es de 12 k. En cambio, si se conectan dos resis tores en paralelo, Fig. 1.6 (B ), la resistencia total se obtiene como el producto de los dos valores de resistencia dividido por la suma de los mismos. Algebraicamente, la resistencia total de un paralelo de dos resistencias se representa según la expresión siguiente: Ri x R2 11, + r 2 Por ejemplo, el paralelo de 8 k con 2k implica una resistencia total equivalente de 8 k X 2k ( 8 ) (2 ) (103) (103).. . — --------------------------- — 1 f? Jr 8 k + 2k 10 flO3) La resistencia equivalente de un paralelo es siempre menor que la menor de las dos resistencias. En el ejemplo anterior, la menor resistencia de las ramas en paralelo es de 2 k, y por tanto la resis tencia equivalente del conjunto debe ser menor que 2 k. 1.3 Corriente La corriente eléctrica, que podría compararse con el flujo de agua en una cañería, es el flujo de electrones a través de cables y disposi Principios electrónicos básicos 5 tivos de un circuito. Se mide en una unidad llamada ampere, cuya abreviatura es A. Existe una relación directa entre la corriente y los conceptos de tensión y resistencia recién analizados. La ley de Ohm enuncia que: Dada la tensión (V ) y la resistencia (R ), la corriente que fluye por el circuito se calcula dividiendo la tensión por la resis tencia. La ecuación correspondiente es: I = En circuitos de computación es muy común que la cantidad de corriente que circula sea muchísimo menor que 1A. Se suele utilizar el submúltiplo müiampere (m A ) para indicar la milésima parte de un ampere. También es común encontrar valores aún menores tales como 0,000002 A. Para estos órdenes de magnitud se utiliza el sub múltiplo microampere (fiA ). Una corriente de 0,000002 A equivale a 2,10' 6 A, o sea 2^A. Ejemplos 1. En el circuito de la figura siendo V = 5 V y R = lk , calcúlese I: V = 5 5 R lk ~ 1000 = 0,005 A = 5mA 5 V 1 k WSrI-------------------------V v v -t 2. Si V = 5 V y K = 1 Mü, calcúlese l: I = 5 V = 5|iA R 1MQ 3. Si R = 3,5 k e 1 = 1 mA, calcúlese V : Ví-= IR = 1,10' 3 X 3,5 x 103 = 3,5 V 4. Si V = 6 V e 1 = 2 mA. calcúlese R: R 0,002 = 3000 = 3kQ Queda por resolver el problema del sentido de circulación de la corriente en un circuito. En este libro utilizaremos lo que se conoce 6 Bases de los microprocesadores y el 6800 hubihuilmente como el flu jo convencional de corriente. La corriente convencional fluye desde el lado positivo de la batería, a través del circuito, para volver hacia el lado negativo de la batería. 1.4 Leyes de Kirchhoff El enunciado de la ley de las tensiones de Kirchhoff dice que la suma de todas las tensiones en cualquier lazo cerrado de un circuito es cero. Para decirlo en forma más simple, si en un circuito existe una única fuente de tensión y tres resistencias, la suma de las caí das de tensión producidas sobrecada una de las resistencias es igual a la tensión de batería. La relación entre la caída de tensión en una resistencia y la corriente que circula a través de la misma se representa con el siguiente esquema: r V W - + R ~ El signo -f indica que ese extremo de la resistencia es positivo con respecto del otro. Ejemplos 1. Calcular la caída de tensión en cada resistencia de) circuito indicado. Paso 1: Calcúlese la resistencia equivalente: 1 k + 0,5 k + 3,5 k = 5 k total Paso 2: Divídase la tensión de batería por la resistencia total para obtener la corriente total que circula en el circuito: S -- f í— Paso 3: Si la corriente circulante a través de cada resistor es de 6 mA, podrá calcularse la caída de tensión en cada resistor recordando que V = IR. Vi k = 6 mA x 1 k = 6 V Vo.r.k = 6 mA X 5k = 3 V V*.Sk = 6 mA x 3,5k = 21 V Nótese que la suma de las tensiones sobre los resistores es igual a la tensión de batería. 2. Calcular la caída de tensión sobre cada resistor del circuito de la figura. 2 k Principios electrónicos básicos 7 Paso 1: Calcular la resistencia equivalente de las dos ramas que están en paralelo: v> _ 4k X 3k _ , r i , R ’ " 4k + 3k “ l l l k Paso 2: Dibujar el nuevo circuito equivalente. 2 k i ■ v w ..... i L 20 V «ZL. ^ 1.71 k - I __________ Paso- 3: Calcular la corriente total del circuito: 20 20 1 = n + i j i k = W - Paso 4: Calcúlese la tensión que cae en cada resistor. V 2k = 2k x 5,39mA = 10,78V V i,71k = 1,71 k X 5,39 mA = 9,22 V Nótese que la caída de tensión sobre la resistencia de 1,71 k (que es la resistencia equivalente al paralelo de 3k y 4 k ) es la misma caída de tensión que se produce sobre las dos resistencias indi viduales. La corriente total que circula a través del resistor de 2 k en este ejemplo es de 5,39 mA. ¿Cuál es la corriente que circula a través de los resistores de 3k y 4k? La segunda ley de Kirchhoff, o ley de 8 Bases de los microprocesadores y ei 6800 las corrientes, dice que la suma de las corrientes que entran en un nodo debe ser igual a la suma de las corrientes que salen del mismo. Por lo tanto, la suma de las corrientes circulantes por los resistores de 3 k y 4 k debe, ser 5,39 mA. Según lo calculado anteriormente la caída de tensión sobre la resistencia equivalente al paralelo es de 9,22 V. Esta es, por consiguiente, la caída de tensión en cada uno de los resistores individuales. La corriente que circula por cada re sistor podrá calcularse aplicando la ley de Ohm: V 9,22 Í4 k — ^ — 4"k~ ~ V 9,22 = t = - i r = 3’08mA 2 k w v 20 v _z: 1--------'VVV + 1 5,39 n 'I mA | 2.31 mA i 4 k 3.U8 mA 1.5 Diodos Un diodo es un dispositivo que permite la circulación de corriente en un solo sentido. Se lo simboliza según el esquema siguiente: La circulación de corriente se produce desde el terminal positivo (ánodo) del diodo hacia el terminal negativo (cátodo) según lo mues tra la punta de la flecha. Si se intenta hacer circular corriente desde el cátodo hacia el ánodo ( en contra del sentido indicado por la fle cha), no ocurrirá nada. En un diodo por el cual circula corriente, se produce una muy pequeña caída de tensión; en este libro se la supondrá nula. 1.6 Transistores Un transistor es un dispositivo electrónico semiconductor de tres terminales que presenta diversas formas de utilización. En este libro se lo considerará solamente como llave electrónica. Existen dos tipos diferentes de transistores, conocidos como N PN y PNPy dependiendo de la disposición del material semiconductor. Principios electrónicos básicos 9 La única diferencia significativa entre un transistor tipo NPN y uno PNP es la polaridad de la batería utilizada en el circuito. Por consi guiente sólo se describirá el tipo de transistor NPN. Bo Fig. 1.7 Símbolo para el transistor NPN El símbolo utilizado para el transistor NPN se muestra en la Fig. 1.7. Los tres terminales del dispositivo se designan B, C y E. El terminal B representa la base del transistor, el terminal C, el colec tor del mismo y el terminal E, su emisor. Estas designaciones son una forma arbitraria de identificación de los terminales de los tran sistores. El uso de un transistor como llave electrónica es un proceso muy simple. Se utilizará en este texto únicamente la configuración cono cida como conexión en emisor común. La Fig. 1.8 ilustra un transistor NPN conectado en emisor común. EMISOR COMUN: El terminal emisor es común a los circuitos de entrada y salida. Fig. 1.8 Transistor NPN en conexión de emisor común Para calcular la corriente en el circuito de base del transistor ( circuito de entrada) se supondrá nula la caída de tensión entre base y emisor (en realidad es un valor muy pequeño). Por lo tanto la corriente de base IB es 5 Y dividido por 100 k: Ib = 5/100 k = 0,05 mA En un circuito transistorizado como el de la Fig. 1.8, la corriente ' de colector Ic se calcula multiplicando la corriente de base I» por la 10 Bases de los microprocesadores y el 6800 ganancia {3 del transistor. La ganancia del transistor es un valor que se encuentra en la hoja de datos del mismo y que puede tener un valor típico de 100. Por lo tanto, si se supone para la ganancia del transistor este valor típico, se podrá calcular la corriente del colector I< multiplicando por 100 la corriente de base I«: I< = P I b = 100 x 0,05 mA = 5 mA De acuerdo con la regla previamente analizada, que enuncia la igualdad entre la tensión ¿de batería y la suma de la caída de tensión en un circuito cerrado, surge que para el circuito del transistor la caída de tensión sobre la resistencia de 1 k debe ser igual al producto de la corriente que circula por el mismo y el valor de resistencia. Esto es, V = 1 k X 5 mA = 5 V. Por consiguiente, la tensión restante de 20 V ( tensión de la bate ría menos caída en el resistor) debe encontrarse entre el colector y el emisor del transistor. La tensión entre colector y emisor se conoce como VCE, y tiene importancia en circuitos de computación. Si la tensión de 5 V de batería del circuito de entrada cayese a 0 V, no habría corriente de base. Si no hubiera corriente de base, también sería nula la corriente de colector, lo que significaría en consecuencia, que la caída de tensión sobre la resistencia de 1 k ? también sería nula. Por consiguiente la caída de tensión entre colec tor y emisor, V Ce, debería ser 25 V , dado que las caídas de tensión en cualquier circuito cerrado igualan a la suma de la tensión de batería. La tensión, de 25 V aplicada entre colector y emisor se conoce como tensión de corte. Un transistor en el estado de corte tiene una tensión colector-emisor igual a la tensión de batería del circuito de salida. Por otro lado, si al circuito de entrada se le aplicara una tensión de 25 V, la corriente de base sería 0,25 mA. Una corriente de base de 0,25 mA en un transistor de ganancia 100, produciría una corriente de colector de 25 mA. En consecuencia, la caída de tensión en el resistor de 1 k del circuito de salida valdría 25 mA X 1 k = 25 V. Por consiguiente, la tensión de 25 V provista por la batería caería com pletamente en el resistor de 1 k, y en consecuencia, la tensión de colector a emisor sería 0V . Este estado del transistor se denomina saturación. Un transistor saturado tiene una tensión entre colector y emisor - aproximadamente igual a 0 V. Debe notarse, además, que ningún incremento de la corriente de base posterior a la saturación tiene efecto sobre VCE ni sobre el Circuito de salida. La máxima corriente de colector en el-circuito de salida es la relación entre la tensión de batería del circuito de Principios electrónicos básicos 1 1 salida y la resistencia conectada en serie» con el colector. Una vez saturado el transistor, la magnitud de la corriente queda determinada por la tensión de batería y el valor de la resistencia en serie. Según ya se ha dicho, los transistores pueden venir en dos tipos:NPN y PNP. El análisis realizado se basó en el tipo NPN. Los cálculos para transistores PNP son idénticos a los anteriores, con la diferencia de que la batería está colocada al revés y, por consi guiente, la circulación de corriente resulta de sentido opuesto. La Fig. 1.9 ilustra un transistor PNP operando con la misma batería y con los mismos valores de resistencia que el tipo NPN mencionado anteriormente. Fig. 1.9 Circuito para un transistor PNP Si el {l de este transistor fuese el mismo que NPN de la Fig. 1.8, las corrientes de la Fig. 1.9 serían de igual magnitud que las de la Fig. 1.8, pero de sentido contrario. Nótese además que la fuente de alimentación de la Fig. 1.9 está ubicada al revés que la correspon diente a la Fig. 1.8. +5V +25 v Fig. 1.10 Circuito alternativo para un transistor NPN Muy a menudo, los circuitos transistorizados se dibujan de forma algo diferente a la ilustrada anteriormente. La representación de la Fig. 1.10 es idéntica a la del circuito de la Fig. 1.8, aún cuando podrían parecer bastante distintas. En la Fig. 1.10, que no es más que una forma abreviada de representar el circuito de la Fig. 1.8, el lado positivo de la batería de 5 V se conecta al resistor de 100 k. 12 Bases de los m icroprocesadores y el 6800 mientras que su lado negativo se conecta al emisor del transistor. Análogamente, el lado positivo de la batería de 25 V se conecta al resistor de 1 k, estando su terminal negativo conectado al emisor. 1.7 Ejemplos circuitales Se ilustran a continuación varios circuitos junto con el cálculo de sus valores básicos. a ) l = -77- - 2,5 mA 4k b ) t l / ^ ___N J T ,+l ________________ " | a k j « k C Z ^ > ± 2 0 V , | | a>67 8 x 4 La resistencia equivalente es RT = —¿-7- . ktí = 2,67 kQ o + 4 20 V I = 2 6 7 Íc?T = ^en sentido indicado) c ) (C) íT 4 k “V W 20 V - L _ y -'- 20 I = -j y = 5m A (en el sentido indicado) d ) Principios electrónicos básicos 13 i 4k J W V 20 V I = 0 (n o hay corriente a través del diodo en inversa) e ) Calcular IB, Ir y Ve* si p = 80 1,1 = ~3 0 Ó F = ° ’05m A Ir = p l„ = 80 x 0,05mA = 4m A VrE = 15 - (2 k x 4 m A ) = = 15 — 8 = = 7 V Problemas 1. Determinar el valor de cada resistencia de acuerdo con la codifi cación de colores indicada en la tabla. Indíquense además los valores máximo y mínimo de cada resistor. BANDA A BANDA B BANDA c BANDA D Marrón Marrón Marrón Dorado Blanco Gris Azul Plateado Naranja Negro Naranja Plateado Naranja Naranja Naranja Dorado Amarillo Rojo Negro Plateado Azul Blanco Rojo Dorado " Violeta Verde Naranja Plateado Blanco Negro Negro Dorado v a l o r VALOR VALOR MAXIMO MINIMO 14 Bases de los microprocesadores y el 6800 2. Calcular la resistencia total de cada tino de los esquemas siguientes: 300 A e) 3 k !5k T 1 M v 1.5 k g ) ~“'\A/V— | 0.5 k h) 2 k 10 k T I k ! 100 6 k .3. Calcular la corriente que circula por cada resistor y la caída de tensión en el mismo, para cada uno de los circuitos siguientes. Verifiqúese que la suma de las caídas de tensión coincida con la tensión de batería: a) 2 k 25 V 6 k t> )± n _ n _ 2 5 V ►2 k 1 k C) — VSA,---------» ------ ~ 15V________^ 4 k >6 k 3 k 3 k i ilV'i llJflfr ii Principios electrónicos básicos 15 •I. Calcular I„, I< y Y<k, para cada uno de los circuitos siguientes. Indíquese el sentido de cada corriente. Supóngase ¡5 = 80 para cada transistor: a) tC 1 350 k ■ W r 15 V 1 k -WV- — 15 V J CAPITULO2 Elementos lógicos ELEM ENTO LOGICO: Dispositivo formado por circuitos electrónicos que provee una salida función de 1, 2 o más variables de entrada. Ejemplo elemental de un dispositivo lógico es el sistema de arran que de un vehículo. Antes de poder arrancar el vehículo, deberá co locarse la llave en el elemento de ignición, y deberá girarse la llave debiendo estar además la palanca de cambios en la posición adecuada; una vez lograda la combinación de estas dos condiciones se envía una señal eléctrica al circuito de arranque. El circuito de arranque podría tener un esquema elemental como el de la Fig. 2.1. Un sistema computador está constituido por muchos miles de elementos lógicos. En este libro no se estudiarán los circuitos internos de computadoras en detalle. No obstante, es muy común la nece sidad de utilizar elementos lógicos cuando se usa un computador, para controlar algún dispositivo o función externa. Este capítulo analizará varios de los elementos lógicos básicos que suelen encon trarse en computadoras. Se utilizan en los esquemas tensiones de entrada de + 5 V y O V. Pueden obtenerse compuertas lógicas con otros valores de tensión de entrada. Como se demostrarán en este y otros capítulos, los elementos lógicos se utilizan para tomar deci siones y realizar operaciones diversas. 2.1 Compuerta "Y” (“AND”) COM PUERTA: Sinónimo de “ elemento lógico” . La mayoría de los elementos lógicos se denominan “ compuertas” . Elementos Básicos 17 Supóngase un circuito con una batería, dos llaves SI y S2, y un resistor en serie como el de la Fig. 2.1. Nótese que si sólo se cierra SI, no habrá circulación de corriente. Si se cierra S2 pero se mantiene abierta SI tampoco habrá circula ción de corriente. En cambio si se cierran, tanto SI como S2, habrá circulación de corriente a través del resistor de 2 Q. Este tipo de circuito se conoce como compuerta “Y”, porque deben satisfacerse dos condiciones simultáneamente (S I y S2 cerradas). La Fig. 2.2 representa el símbolo de una compuerta “Y”. ENTRADAS SALIDA ARRANCADOR 2 n E) Fig. 2.1 Circuito de una compuerta Fig. 2.2 Símbolo utilizado para una Y' ("A N D ”) compuerta “Y " (“AND") Si se aplica tensión (+ 5 V ) en el terminal A pero no en el terminal B (O V en este terminal) no habrá tensión en el terminal C. Simultáneamente, si se aplica tensión en el terminal B pero no en el terminal A, no habrá tensión en la salida C. No obstante, si se aplica tensión» simultáneamente en las entradas A y B, habrá una tensión de + 5 V en la salida C. TABLA DE VERDAD: Tabla que muestra todas las posibles combina ciones de entradas con las correspondientes salidas para cada con junto de entradas. La Fig. 2.3 ilustra la tabla de verdad de una compuerta “Y”. TENSION TENSION TENSION EN A EN B E N C 0 0 0 + 5 0 0 0 + 5 0 + 5 + 5 +■ 5 Fig. 2.3 * Tabla de verdad para la compuerta "Y " Las compuertas “Y” pueden tener dos o más entradas. Por ejem plo, si se tiene una compuerta “Y” de cuatro entradas, deberá haber 18 Bases de los microprocesadores y el 6800 tensión en cada una de las cuatro entradas para que pueda haber una tensión en la salida. 2.2 Compuerta “O ” (“O R ”) Supóngase ahora un circuito con una batería, dos llaves SI y S2 y un resistor, conectados según se ilustra en la Fig. 2.4. Si se cierra alguna de las dos llaves, SI o S2, habrá circulación de corriente a través del resistor. Si ambas llaves están abiertas, nu habrá corriente por el circuito. Este tipo de circuito se conoce como compuerta ‘Y)", v su símbolo se representa orí la Fig. 2.5. S1 F»g. 2.4 Circuito de una compuerta Fig. 2.5 Símbolo utilizado para una ‘C T f O R ” ) compuerta “ C T ( ‘ O B " ) Si se aplica una tensión de 5 V cr. el terminal A o en el termi nal B, habrá tensión en la salida C. Una tensión de 5 V aplicada simultáneamente en ambos terminales A y B también da por resul tado una tensión en el terminal C. La tabla de verdad de la com puerta “O ’' se ilustra en la Fig. 9.6. TENSION TENSION TENSION EN A EN B ENC 0 0 0 - 5 0 0 5 5 - 5 * 5 Fig. 2.6 Tabla de verdad para una compuerta "O " ("OR'’ Una compuerta “O ” podrá tener dos o más entradas. Si se aplica tensión en una o más entradas, se tendrá tensión en 1? salida. 2.3 Compuerta “N O ” (“ N O T”) En el circuito de la Fig. 2.7 puede observarse que si la llave SI está abierta, habrá circulación de corriente a través de las resisten Elementos lógicos 19 cias de 100 ü y 4000 ü. Si se calculala caída de tensión en cada resistor, resultará que la caída de tensión en el resistor de 4 k es muy alta, y que la caída de tensión en el resistor de 100 Q es pequeña. 100 •vw-iL 2 0 V . I L . \ S 1 > 4 k ' I ________________l Fig. 2.7 Circuito de una compuerta negadora N O (" N O T ”) 50 obtienen los siguientes valores: 20 Corriente total: I = jfQQ = 4,88 mA Tensión sobre la resistencia de 100 Q: V = 4,88 mA x 100 ü = = 0,488 V Tensión sobre la resistencia de 4k: V = 4 ,8 8 m A x 4 k = = 19,512 V 51 se cierra la llave SI, la tensión sobre el resistor de 100 Q sube a 20 V, y la tensión sobre el resistor de 4 k habrá caído a 0, debido a que la corriente circula totalmente a través de SI, no habiendo cir culación a través de la resistencia de 4k. ¿Qué ha ocurrido en cada caso? Al estar abierta SI, la tensión sobre la resistencia de 100 Q era baja, y la tensión sobre la resisten cia de 4k era alta. Al cerrar SI la situación se invierte, siendo la caída de tensión sobre la resistencia de 100 Q alta y sobre la resis tencia de 4k baja (en realidad nula). Este tipo de circuito se conoce como compuerta “N O ” (también como circuito negador o inversor). En terminología de computación, “N O ” indica una magnitud inver tida. Por ejemplo, si la variable A vale 5 V , N O A es 0V . En forma abreviada se suele expresar NO A como A. Simbólicamente se re presenta una 'compuerta ‘NO ” en la Fig. 2.8. ENTRADA SALIDA Fig. 2.8 Símbolo de la compuerta '‘N O ” (" N O T ” ) (inversor o negador) 20 Bases de los microprocesadores y el 6800 Cuando la tensión en A es alta ( + 5 V ) . én» B es baja (O V ). cuando la tensión en A es baja, en B es alta, de acuerdo con la tabla de verdad representada en la Fig. 2.9. TENSION TENSION EN A EN B 0 * 5 4 -5 ' 0 Fig. 2.9 Tabla de verdad para la compuerta " N O ” ( “ N O T " ) 2.4 Compuerta “ NO O ” ( “ NOR7) Se obtiene una compuerta “NO-O” por combinación de una com puerta "O ” y un inversor, según se ilustra en la Fig. 2.10. Recuérdese que la compuerta inversora entrega una tensión de salida opuesta a la tensión de entrada. ENTRADAS SALIDA — » Fig. 2.10 Implementación de una compuerta ‘ N O -O ” ( “ Ñ O R ” ) La tabla de verdad de la compuerta “NO-O” se ilustra en la Fig. 2.11; TENSION TENSION TENSION TENSION EN A EN B ENC EN D 0 0 0 - 5 — - 5 0 -*• 5 0 0 5 + 5 0 + 5 - 5 + 5 0 " Fig. 2.11 Tabla de verdad de una compuerta •NO-O*’ ( “ ÑOR- j símbolo adoptado para la misma se representa en la F ig ENTRADAS SALIDA A ------ Fig. 2.12 Símbolo utilizado para la compuerta ‘N O O " ( “ Ñ O R ” ) Elementos lógicos 21 La Fig. 2.13 representa la tabla de verdad de esta compuerta, que difiere de la tabla de la Fig. 2.11 en que no se muestra la ten sión correspondiente al terminal intermedio C. TENSION TENSION TENSION EN A EN B END 0 0 - 5 + 5 0 0 0 + 5 0 5 + 5 0 Fig. 2.13 Tabla de verdad para la compuerta “ N O -O " (“ Ñ O R ” ) El nombre de la compuerta “NO-O” realmente describe la fun ción de la misma, dado que la sal da de la compuerta "O ” se invierte mediante una compuerta “NO ’\ 2.5 Compuerta “ N O -Y ” (“ NAND”) Se obtiene una compuerta “NO-Y” por combinación de una com puerta “Y ” con un inversoi, tal como se ha hecho para obtener la compuerta “ NO-O” . ENTRADAS A ----------- B ---------- Fig. 2.14 Implementación de una compuerta “ N O -Y " ( “ N A N D ") La tabla de verdad de la compuerta “NO-Y” se muestra en la Fig. 2.15; TENSION TENSION TENSION TENSION EN A EN B ENJC END 0 0 0 + 5 + 5 0 0 +■ 5 0 + 5 0 + 5 ■+■ 5 ̂ 5 + 5 0 SALIDA) Fig. 2.15 Tabla de verdad correspondiente a la compuerta “ N O -Y ” (“ N A N D ") 22 Bases de tos microprocesadores y el 6800 el símbolo se ilustra en la Fig. 2.16, indicándose en la Fig. 2.17 una tabla de verdad reducida para esta compuerta, en la cual se ha eliminado la columna correspondiente al terminal intermedio C. ENTRADAS A ----------- e --------- Fig. 2.16 Símbolo utilizado para la compuerta 'NO-Y" (“ NAND” ) TENSION TENSION TENSION EN A EN B EN D +■5 ^5 * 5 0 Fig. 2.17 Tabla de verdad para la compuerta “ NO-Y” (“ NAND") El nombre “NO-Y” corresponde a la representación exacta de la compuerta, dado que su funcionamiento consiste en la inversión de la salida de una computadora “Y”. 2.6 Compuerta “ O exclusiva” (“ Exclusive O R ” ) Otro elemento lógico utilizado habitualmente se conoce como compuerta "O exclusiva '. Recuérdese que en la compuerta “O” se obtiene tensión a la salida si una o ambas entradas tienen tensión. En la compuerta “O exclusiva” se obtendrá salida si hay tensión en una entrada o en la otra, pero no en ambas simultáneamente. La Fig. 2.18 ilustra el símbolo utilizado para esta compuerta, y la Fig. 2.19 indica la tabla de verdad de la misma. ENTRADAS SALIDA : = £ > — ■ Fig. 2.18 Símbolo para la compuerta “O exclusiva” (“Exclusive OR") Elementos lógicos 23 TENSION EN A TENSION EN B TENSION ENC 0 0 0 +•5 0 +■ 5 0 + 5 + 5 + 5 + 5 0* Nótese la diferencia entre este valor y e l . equi valente en la tabla de verdad de la compuerta " O ” . Fig. 2.19 Tabla de verdad para la compuerta “O exclusiva" 2.7 Nomenclatura Si se debe realizar una operación "Y” entre una función A y otra B, la operación debería describirse como "‘la operación Y entre la función A y la función B da por resultado la salida C”. Como se puede ver esto resulta bastante tedioso. Para simplificar se utilizará una notación abreviada que diga exactamente lo mismo pero en forma más simple: A • B = C. Las dos funciones de entrada se escriben separadas por un punto (símbolo del producto lógico) y el resul tado se iguala a la función de salida. A veces el símbolo de la compuerta "Y” incluye ese punto para identificarla, aunque no resulte necesario. La Fig. 2.20 resume los elementos lógicos y la notación abre viada que describe a las diferentes funciones lógicas. SIMBOLO ECUACION FUNCION : = £ > - « C = A • B Y — c C = A + B O * — t > ^ c IIO INVERSOR : = e > - ‘ C = A © B O EXCLUSIVA Fig. 2.20 Resumen de elementos lógicos En este capítulo se ha utilizado una tensión de + 5 V para la entrada “alta” y 0 V para el nivel lógico de entrada “bajo”. Debe enfatizarse que los valores de las tensiones lógicas correspondientes al estado alto y bajo de* una compuerta sólo son función del dispo 24 Bases de los m icroprocesadores y el 6800 sitivo utilizado. Estas tensiones pueden ser cualquier combinación de valores para los cuales haya sido diseñado el elemento lógico. Por consiguiente, y para que las tablas de verdad resulten más uni versales, el nivel lógico alto se representa generalmente como 1 (nivel lógico 1) y la condición baja se representa con un 0 (nivel lógico 0). De esta manera ias tablas de verdad aparecerían según se ve a continuación: FUNCION “Y ” FUNCION “O " ENTRADA ENTRADA S ALIDA ENTRADA ENTRADA SALIDA A B C A B C 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1 FUN CION ‘‘N O " FUN CION "N O -O " ENTRADA SA LID A EN TRADA ENTRADA SA LID A A 8 A B C 0 1 0 0 1 1 0 0 1 0 t 0 0 1 1 0 FU N C IO N "N O -Y " FU N C IO N “O EXCLU SIVA" EN TRADA A EN TR A D A B S A LID A c ENTRADA A EN TRADA B SALIDA C 0 0 1 0 0 0 0 1 1 0 t 1 1 0 1 1 0 1 1 1 0 1 1 0 2.8 Aplicaciones Ahora que el lector conoce el significado de las compuertas “Y", O ”, "NO-Y” y ‘‘NO-O”, la pregunta es dónde pueden usarse. Según se ha mencionado previamente, muchas de estas compuertas se usan internamente en el microprocesador junto con elementos adiciónale» como biestables, sumadores, y medios sumadores. Estos dispositivos Elementos lógicos 25 se utilizan generalmente en forma externa al microprocesador. No obstante, el uso de las compuertas es mucho más común. Suponga el lector que tiene una pequeña computadora instalada en su casa, para controlar diversas funciones. Una función posible es hacer sonar una alarma si se abre cualquier puerta de la casa (es decir, una alarma contra ladrones).Debería conectarse un interrup tor mecánico en cada puerta de la casa en posición tal, que su con tacto se cierre cuando la puerta se abre, para obtener una tensión en la entrada do una compuerta “O” según se ve en la Fig. 2.21. La salida de la compuerta “O* podría inyectarse en la computadora, que haría sonar la alarma, encendería todas las luces de la casa y podría aún enviar algún tipo de señal a la policía. Con el uso de una compuerta “O” sólo se requeriría una línea de entrada a la compu tadora, en vez de una línea de entrada para cada puerta. Esta última no es una buena práctica, dado que el número de líneas de entrada a un sistema de cómputos debe habitualmente limitarse por razones económicas. El uso de elementos lógicos es ilimitado. En un capítulo poste rior se discutirán y analizarán otras varias aplicaciones. P r o b l e m a s 1. La computadora de la sección 2.8 tiene disponible una única línea de entrada. No obstante, debe sonar una alarma si se abren una de las dos puertas de la cocina, o una de las dos ventanas de la misma, o la puerta del garaje. Deberá indicarse la lógica reque rida para la implementación de las funciones. Pueden utilizarse solamente dos dispositivos de entrada. 2. Posteriormente, se requiere que también suene una alarma si se abre una de las dos puertas del dormitorio, o una de las dos venta nas en la sala de estar, o la puerta del patio. Indíquese cómo puede agregarse esta lógica a la del problema 1, si sigue habiendo una sola entrada disponible en la computadora. CAPITULO 3 Sistemas de numeración Hasta ahora se ha utilizado el término computador sin ninguna explicación o definición. Existen dos tipos básicos de computadoras, conocidos habitualmente como computadoras digitales y computado ras analógicas. Este texto solamente se referirá a las computadoras digitales, aunque se hará un breve análisis de las señales analógicas para establecer una comparación con señales digitales. Las señales analógicas son cosa cotidiana, aun cuando uno no lo tenga muy en cuenta. Al observar un termómetro, la altura de la columna de mercurio sube cuando lo hace la temperatura. Cuando se conduce un auto, la aguja del velocímetro se desplaza hacia la derecha proporcionalmente al aumento de velocidad. Cuando se escu cha música en un equipo estereofónico, el volumen de la música se hace cada vez más alto, a medida que se gira la perilla correspon diente. Todos estos dispositivos tienen una cosa en común: la medición de una cantidad en relación con alguna otra cantidad; por ejemplo, la altura de la columna de mercurio representando la temperatura medida. Las señales digitales son diferentes a las señales analógicas, por el hecho de tener sólo dos estados. Al entrar en una pieza, la llave que controla las luces desde esa pieza está encendida o apagada. La puerta de la casa está abierta o cerrada, la llave de la luz del auto está conectada o desconectada. Estos son ejemplos de elementos digi tales. Tales conceptos digitales son la base de las computadoras digitales. En cada uno de estos ejemplos podemos definir la condi ción de encendido o abierto como un estado lógico 1, y la condición opuesta como un estado lógico 0,* refiriéndonos a estas situaciones como “estados binarios” (uno de dos estados posibles). * También puede utilizarse la «invención o puesta; la asignación del 1 y el 0 a uno u otro estado es arbitraría. {N. del T.) Sistemas de numeración 27 3.1 Números binarios El sistema de numeración de base 10, es decir, el sistema for mado por los números 0, 1. 2, 3. 4, 5. 6, 7, 8 y 9 es el sistema de numeración de uso diario. Es altamente probable que el sistema de numeración de base 10 se haya establecido por el hecho de tener el hombre diez dedos en las manos. No obstante, en las computadoras digitales existen sólo dos esta dos distintos, el estado lógico 0 y el estado lógico 1. Una tensión de + 5 V podría definirse como un nivel lógico 1, mientras que un nivel de 0 V representaría un estado lógico 0. En consecuencia, todas las entradas de un computador digital deben convertirse a una serie de unos y ceros antes de que la computadora pueda utilizar la información. 3.2 Ejemplo digital Supóngase un circuito con tres llaves conectadas en serie con respectivas lámparas, y el conjunto sobre una fuente de alimentación de 9 Y. según la Fig. 3.1. ___9 V i [ 5 > o [ V.. r Z <i2 i'1 ENTRADA A COMPUTADOR DIGITAL Fig. 3.1 Analogía con lámparas Se desea que el computador controle el estado de las tres lám paras. Con todas las llaves abiertas ninguna de las tres lámparas estará encendida, siendo nula la tensión de entrada a la computadora. Esto se definirá como un nivel lógico 0 de entrada. Si se cierra cualquiera de las llaves, la tensión sobre la lámpara será de 9V, que definiremos como un nivel lógico 1. Supóngase cerrada la llave 3. La lámpara 3 se encenderá y la computadora detectará un nivel lógico 1 en ese cable. El estado de los cables de entrada pasará a ser 100, dado que las llaves SI y S2 están ambas a b ie r t a s . Si se cierra S2. se encenderá la lámpara 2. y 28 Bases de los microprocesadores y el 6800 la combinación de entradas a la computadora pasará a ser 110, supo niendo que S3 se mantenga cerrada. Si se resumen en un cuadro todas las combinaciones posibles se encontrará que las tres líneas de entrada a la computadora pueden adoptar ocho estados diferentes, según se ve a continuación: Lámpara 3 Lámpara 2 Lámpara 1 Estado Entrada a la computadora 0 0 0 Todas apagadas 000 0 0 1 Lámpara 1 encendida 001 0 1 0 Lámpara 2 encendida 010 0 1 1 lamparas 1 y 2 encendidas 011 1 0 0 Lámpara 3 encendida 100 1 0 1 Lámparas 1 y 3 encendidas 101 1 1 0 Lámparas 2 y 3 encendidas 110 1 1 1 Todas encendidas 111 Cada una de las tres líneas de entrada a la computadora es de tipo digital, esto es, tiene dos posibles estados o condiciones (1 ó 0). La computadora puede leer y recordar el estado de las lámparas tomando decisiones para hacer cosas en base a estas entradas. Teniendo presente este concepto imagínense 16, 20 ó 25 entradas similares y considérese el problema planteado por la gran cantidad de unos y ceros, si se requiriese en un determinado momento el estado individual de dieciséis o más líneas. Obviamente, el manejo de información digital en forma cómoda y útil no es sencillo de lograr. No obstante, se lograría eliminar gran parte de la posibilidad de error si los unos y los ceros se agrupasen en conjuntos de 3 ó 4 ele mentos, para simplificar su manejo. 3.3 Conversión del sistema decimal (base 10) a binario (base 2) El sistema de numeración decimal tiene diez dígitos o símbolos distintos, que van del 0 al 9. Será evidente a esta altura, que como las señales digitales se representan con dos elementos (0 y 1). el sistema de numeración binario (base 2) resulta de importancia funda mental. El sistema de numeración binario sólo tiene dos dígitos: 0 y 1. Antes de poder utilizar un número decimal en una computadora, el mismo debe convertirse al sistema binario de numeración. El mé- Sistemas de numeración 29 todo para el cambio de base se conoce como “método de división sucesiva por dos”. Para ilustrar el método, se ejemplificará con la conversión del número decimal 2910 al sistema binario de numera ción. (La base del sistema de numeración se indica habitualmente como un sufijo.) Paso 1: Se divide el número decimal por 2: 29 : 2 = 14 ; Resto 1 = 1 Paso 2: Se divide el resultado de la operación anterior por 2: 14 : 2 = 7 ; Resto 2 = 0 Paso 3: Se divide el resultado anterior por 2: 7 :2 = 3 ; Resto 3 = 1 Paso 4: Se divide el resultado anterior por 2: 3 :2 = 1 ; Resto 4 = 1 Paso 5: Se divide el resultado anterior por 2: 1 : 2 = 0 ; Resto 5 = 1 Paso 6: El proceso de división se detiene cuando el resultado es 0. El número convertido al sistema binario se obtiene leyendo los restos en el orden contrario al que fueron obtenidos: 2910 = 1 — Resto 5Debe recordarse que 29m significa realmente 9 X 10° 4- 2 X 10\ es decir 9 H- 20 ( cualquier número elevado a la potencia 0 vale .1). Para determinar qué significa el número binario 11101, éste se volverá a convertir a base 10 1 1 1 0 12 L U -l X 2° = 1 ■-0 X 21 = 0 I------------ » - l X 2* = 4 1---------- --------X 2> = 8 I--------------- * »1 X 2‘ = 16 29io (Coincide) 1 0 la A A Resto 1 T. Resto 2 —̂ Resto 3 — P /■» A Leer restos en esta dirección para formar el resultado. 30 Bases de tos microprocesadores y el 6800 Convertir el número decimal 69, u a base 2: 69:2 = 34 ; R = 1 34 : 2 = 17 ; R = 0 17 : 2 = 8 ; R = 1 8: 2 = 4 ; H = 0 4 : 2 = 2 ; R = 0 2 : 2 = 1 ; R = 0 1 : 2 = 0 ; R - 1 Por lo tanto, 69,<, = 1000101-.», para comprobar: T . v I (K)() 101 = 1 x 2o 4- 0 x 2’ + 1 x 22 + 0 x 2;J + 0 x 24 4 0 x 25 -4-1x2° = = 1 4 o 4- 4 4- 0 4- 0 4- 0 + 64 = - 69h, (Coincide) 3.4 Conversión de números decimales al sistema de base 8 (octal) La conversión de un número decimal al sistema binario da por resultado un conjunto de unos y ceros. Si se dividen los unos y ceros en grupos y se utilizan otros símbolos para representar cada grupo (por ejemplo un número en la base 8), puede reducirse la cantidad de números a utilizar. El sistema de numeración octal resulta muy conveniente para su utilización en computadoras digitales, dado que por medio de un dígito octal puede representarse un conjunto de tres dígitos binarios. Como ejemplo, el número decimal 29 puede convertirse al sistema octal en forma similar a la utilizada para con vertirlo a binario, es decir, mediante sucesivas divisiones por 8. Paso 1: Dividir el número decimal por 8: . 29 : 8 = 3 ; Resto 5 " Paso 2: Dividir el resultado anterior por 8: 3 :8 = 0 : Resto 3 El valor octal se obtiene» igual que en el caso anterior, leyendo los restos en el orden contrario al que fueron obtenidos, Por consi guiente 29m = 35*. Para verificar la respuesta, se realiza la conver sión del sistema octal al sistema decimal, multiplicando cada dígito octal por el peso que le corresponde dentro del número. Leer restos en esta dirección para formar el resultado. Sistemas de numeración 31 35* = 5 y 8° 4 3 x 81 = 5 + 24 = 29n) ( Coincide) Ya hemos visto que 29j0 = 1110L,. Por consiguiente, 29n, = 35» = = 11101.. Existe una relación entre los sistemas de numeración octal y binario, que permite dividir un número binario en grupos de tres dígitos, representando luego cada grupo por medio de un único dígito del sistema octal. Para demostrar esta relación, es necesario convertir cada dígito decimal desde el 1 hasta el 7 a sus equivalentes repre sentaciones binaria y octal. Números decimales convertidos al sistema binario: Ti 7 :2 = 3 3 :2 = 1 1: 2 = 0 R = 1 R = 1 t 7,0=111, R = 1 6 :2 = 3 ; R = 0 3 : 2 = 1 ; R = 1 t 6,o = 1102 1 :2 = 0 ; R = l l íü j 5 :2 = 2 ; R = 1 2 :2 = 1 ; R = 0 | 5,0=101, 2 2 = 1 1:2 = 0 ; R = 1 4 :2 = 2 ; R = 0 ; R =0 t 4k, = 1002 1 : 2 = 0 ; 3, 3 :2 = 1 ; R = 1 1 :2 = 0 ; R = 1 t 3,o = lis 2 : 2 - 1 . R •: 0 1 : 2 - 0 ; R = 1 1:2 = 0 R = 1 0,o = 0. Números decimales convertidos al sistema octal: 32 Bases de los microprocesadores y el 6800 5 :8 = 0 ; R = 5 5,„ = 5» 4 :8 = 0 ; R = 4 4,„ = 4, 3 :8 = 0 R = 3 3w» — 3„ 2 : 8 -0 R •= 2 2s Oio 1 :8 = 0 ; R = 1 l , o - l s 0,0 = 0* La relación entre los dígitos de los sistemas octal, binario y deci mal se muestra en la tabla siguiente: BASE 10 BASE 8 BASE 2 7 7 111 6 6 110 5 5 101 4 4 100 3 3 011 2 2 010 1 1 001 0 0 000 Nótese que cada dígito octal puede expresarse mediante tres dígitos del sistema binario de numeración. Esto significa que un número binario puede dividirse en grupos de tres dígitos binarios cada uno, comenzando desde la derecha y representando cada grupo así obtenido por medio de su equivalente octal. En el ejemplo pre vio, 29jo = 35* = 011 i 1012. Los números binarios pueden obtenerse directamente de cada dígito octal, o por el contrario, un dígito octal puede obtenerse directamente de los dígitos binarios. 0 1 1 ¡ 1 0 13 3. : 5* Para ilustrar las ventajas de este método se convertirá a los siste mas octal y binario el número decimal 150J0. La conversión decimal a octal es la siguiente: Sistemas de numeración 33 150 : 8 = 18 18 : 8 = 2 2:8 = 0 R = 6 R = 2 R = 2 Por lo tanto, 15010 = 226*. Si se escribe directamente el equiva lente binario a partir de la respuesta obtenida en el pasaje al sistema octal, se obtiene 150i0 = 010 i 010 11102. Para verificar la corrección de este resultado, se convertirá a continuación 150iO directamente al sistema binario por medio de sucesivas divisiones por 2: 150 : 2 = 75 R = 0 75 : 2 = 37 R = 1 37 : 2 = 18 R = 1 18 : 2 = 9 R = 0 9 :2 = 4 R = 1 4 :2 = 2 R = 0 2 : 2 =1 R = 0 1:2 = 0 R = 1 Por lo tanto 15010 = 100101102 Se observa que esta respuesta y la que se obtuvo al convertir 150i0 al sistema octal y luego el número octal al sistema binario, son idénticas. La conclusión es que, para pasar un número decimal al sistema binario, resulta mucho más sencillo convertir el número a su equivalente octal, escribiendo luego el equivalente binario de cada dígito octal. En el último ejemplo, fueron necesarias tres divisiones para la conversión a octal, y ocho divisiones para la conversión a binario. Esta técnica también da buenos resultados en la operación in- versa: dado un número binario de varios dígitos, hallar su equiva lente decimal. Por ejemplo, hallar el equivalente decimal del número binario 1 i 101 j 011 i 101..». 1 101 011 1012 ~ 1535* = 5 x 8° + 3 x 81 -f 5 x 82 + 1 x 83 = = 5 + 24 + 320 + 512 = 861i0 3.5 Conversión de números decimales al sistema de base 16 (hexadecimal) En la sección anterior se describió la conveniencia de utilizar el sistema de numeración octal. En esta sección se analizará otro sistema de numeración: el sistema de base 16, llamado hexadecimal. El prin 34 Bases de los microprocesadores y el 08OO cipio de conversión desde la base 10 hacia cualquier otro sistema numérico es siempre el mismo. No obstante, el sistema de numeración hexadecimal está rodeado de una cierta mística, dado qnc algunos de los dígitos se representan m^^ante letras. Una pregunta obvia que puede formularse es: ¿Para qué utilizar otro sistema de numeración, cuando el sistema octal funciona perfec tamente? La mayoría de los sistemas de microcomputación actualmen te en plaza utilizan hasta dieciséis líneas de direccionamiento. En el sistema hexadecimal, cada grupo de cuatro dígitos binarios se repre senta por un símbolo hexadecimal. Por consiguiente, 16 dígitos bi narios pueden representarse con 4 símbolos hexadecimales, o 6 sím bolos octales. Queda claro que es más fácil trabajar con 4 símbolos que con 6. En el sistema hexadecimal, las primeras letras del abecedario, de la A a la F, se agregan a los números del 0 al 9 para representar los 16 dígitos del sistema. La relación entre la base 10, la base 16 y la base 2 aparece en la tabla de la Fig. 3.2. Cuando se trabaja en el sistema hexadecimal, es conveniente olvidarse de la existencia del sistema de numeración decimal. Luego del número 9 vienen los nú meros A, B, C, D, E y F (representando, respectivamente, a los números decimales 10 a 15). Esto constituye la parte más difícil de este sistema de numeración, pero con cierta práctica, resulta tan cómodo como cualquiera de los otros sistemas numéricos. BASE 10 BASE 16 BASE 2 (D E CIM AL) (HEXADECIM AL) (B INAR IO ) 0 0 000 0 1 1 0001 2 2 001 0 3 3 0011 4 4 0100 5 5 0101 6 6 011 0 7 7 0111 8 8 1000 9 9 1001 10 A 1010 11 B 1011 12 C 1100 13 D 1101 14 E 1110 15 F 1111 ili.----------- Fig. 3.2 Sistemas de numeración 35 Para ilustrar la conversión desde el sistema decimal al hexade- cimal se convertirá el número decimal 156,0 mediante sucesivas divi siones, según el método ya conocido: 156':16 = 9 Resto = 12 Í ( Recordar que el equivalente hexadecimal del número 12 es C ) 9 : 16 = 0 Resto = 9 Leyendo los restos en orden inverso se obtiene 156i0 = 9CIc. Para convertir el número hexadecimal 9Ck¡ nuevamente a la base 10, se aplica el mismo procedimiento utilizado en casos anteriores: 9C,« = C x 16° + 9 x 161 = 12 X 16° + 9 x 161 = 12 + 144 = 156,0 Para ilustrar la utilidad del sistema hexadecimal, se convertirá eJ número 982i0 al sistema binario por medio de sucesivas divisiones por 2, y también por medio de la conversión al sistema hexadecimal, pasando luego del hexadecimal al binario. La operación para pasar al sistema binario es la siguiente: 982 : 2 = 491 ; R = 0 491 : 2 = 245 ; R = 1 245:2 = 122 ; R = 1 122: 2 = 61 ; R = 0 61 : 2 = 30 ; R = 1 30 : 2 = 15 ; R = 0 15: 2 = 7 ; R = 1 7 :2 = 3 ; R = 1 3 :2 = 1 ; R = 1 1 : 2 = 0 ; R = 1 Por consiguiente 982,0 = 11110101102 (se requieren diez opera ciones de división). La conversión al sistema hexadecimal mediante sucesivas divi siones por 16 es la siguiente: 982 : 16 = 61 ; R = 6 61: 16 ='3 ; R = 13 = D 3 : 16 = 0 ; R = 3 Por consiguiente, 982)0 = 3D6IG (se requieren tres divisiones). El próximo paso es escribir el equivalente binario de cada dígito hexadecimal, para tener así el número binario equivalente al resnl. 36 Bases de los microprocesadores y el 6800 tado hexadecimal obtenido. De la Fig. 3.2, se tiene 3i6 -- 00112) Di6 = = 11012 y 6x6 = 01102. Por lo tanto 98210 = 0011110101102, los dos ceros de la izquierda no tienten valor, y es normal eliminarlos del resultado. Nótese la sencillez de la conversión del número decimal al sistema hexadecimal, y su posterior traspaso al sistema binario sim plemente escribiendo el equivalente binario de cada símbolo hexade cimal. Sólo se requieren tres divisiones, en lugar de diez para la operación directa. El sistema hexadecimal es cómodo también para convertir núme ros binarios a su equivalente decimal. Como ejemplo, se convertirá el número binario 11011111011001012. Primero se dividen los dígitos binarios en grupos de cuatro, comenzando desde la derecha, y luego se escribe el equivalente hexadecimal de cada grupo. 1101 1111 0110 01012< D F 6 5 El resultado así obtenido, DF65i6, se convierte luego a la base 10: DF6516 = 5 X 16° + 6 X 161 + 15 X 162 + 13 x 163 = = 5 + 96 + 3840 + 53248 = 5718910 La sencillez de esta técnica resulta evidente. Véase ahora la conversión directa del número binario, dígito por dígito, a su equivalente decimal: 1 0 4 0 0 32 64 0 256 512 1024 2048 4096 . 0 16384 32768 - 0 X 27 = H X 2‘ = H X 2’ = -1 X 2‘° = -1 X 2” = -1 X 212 = - 0 X 2‘3 = - 1 x 2" = 57189,0 Sistemas de numeración 37 Queda para el lector decidir cuál es la técnica más sencilla para convertir números decimales a su equivalente binario. 3.6 Conversión de fracciones decimales a binarias Hasta ahora, se han analizado solamente números enteros. No obstante, muchas veces la computadora debe manejar números frac cionarios, como 0,75, expresados también en binario. Para convertir una fracción decimal al sistema binario se utilizará el método conou cido como de “multiplicaciones sucesivas". Como ejemplo se conver tirá el número 0,75iO a su equivalente binario: Paso 1: Multiplicar la fracción decimal por 2: 0,75 x 2 = 1,50 Paso 2: La parte entera del resultado anterior (0 ó 1 a la izquier da de la coma) es parte de la respuesta. Eliminando esa parte entera, deberá multiplicarse el número así obte nido por 2: 0,50 x 2 = 1,00 Dado que, según este método, el procedimiento finaliza cuando la parte fraccionaria del resultado es nula, 0,75i0 = 0,112. Verifica ción: 0,75io = 7 x 10 1 + 5 x 10'2 = 0,7 + 0,05 = 0,75 Para convertir 0,112 nuevamente a la base 10, se utilizará un criterio similar (debe recordarse que un número elevado a una poten, cia negativa es la inversa de ese mismo número elevado a la potencia positiva correspondiente): 0,11o = 1 X 2 1 + 1 X 2 2 = 1 : 2 + 1: 4 = 0,5 + 0,25 = 0,75lo Todo esto parece bastante sencillo pero, en la práctica, el proce dimiento de multiplicaciones sucesivas por 2 no siempre entrega re sultados tan “limpios”. En estas situaciones, es habitual finalizar el procedimiento cuando el número de dígitos binarios obtenidos es igual a la cantidad de líneas de información que ingresan a la computadora. Por ejemplo, se desea convertir al sistema binario el número fracción nario 0,3017to: 0,3017 X 2 = 0,6034 0,6034x2 = 1,2068 0,2068 X 2 = 0,4136 , 0,4136 x 2 = 0,8272 0,8272 x 2 = 1,6544 38 Bases de los microprocesadores y el 6800 Por lo tanto 0,3017,o = 0,01001....... Puede verse, siguiendo con las multiplicaciones que esta operación produce varios dígitos bina rios más. En algunos casos la conversión puede proseguir indefini damente (es decir, la parte fraccionaria del resultado nunca llega a cero). 3.7 Resumen Toda información utilizada por computadoras digitales debe re presentarse en el sistema binario. Este capítulo ha presentado varios métodos para convertir números decimales al sistema binario. Ade más, dado que la información que sale del computador también es binaria, se han presentado algunos métodos que sirven para convertir el conjunto de unos y ceros a menor cantidad de símbolos, de modo de poder expresarlos y escribirlos con mayor sencillez. Los unos y ceros utilizados como dígitos del sistema binario de numeración se suelen denominar bits (del inglés foinary digifs - dígitos binarios). Por ejemplo, 11010110 es un número binario (o palabra binaria) que contiene ocho bits. 3.8 Ejemplos 1. Convertir 1125i0 a los sistemas octal, hexadecimal y binario. Conversión a octal: 1125 : 8 = 140 ; 140:8=17 ; 17 ; 8 = 2 ; 2:8 = 0 ; Conversión a hexadecimal: 1125 : 16 = 70 ; R = 5 i 70:16 = 4 ; R = 6 I 112510 = 46518 4 : 16 = 0 ; R = 4 I Conversión a binario: 1125,0 = 2145* = 465,« = 100 0110 01012 2. Convertir 782,0 a hexadecimal y binario. Conversión a hexadecimal: 112oio — 214o* 782 : 16 = 48 : R = 14 - E 48 : 16 = 3 ; R - 0 78210 = 30Eltt 3:16 = 0 ; R = 3 Conversión a binario: 782„; = 30E,« = 0011 0000 1100, Convertir los siguientes números binarios a los sistemas octal, decimal y hexadecimal: a) 1101011010111100, A base 16: 1101 0110 1011 11002 = D6BCi« A base 8: 1 101 011 010 111 1002 = 153274* A base 10: D6BC = C x 16° + B x 16L + 6 x 16* + D x 16s = = 12 x 16° + 11 X 161 + 6 x 162 + 13 X 163 = = 12 + 176 + 1536 + 53248 = - 549721() b) 0001011011110101* A base 16: 0001 0110 1111 0101*= 16F5tfi A base 8: 001 011 011 110 101K = 13365* A base 10: 16F5,« = 5 x 16° + F x 16l + 6 x 162 + 1 x 16* = , = 5 x 16° + 15 x 161 + 6 x 162 + \ y 163 = = 5 + 240 + 1536 + 4096 = = 5877,o Convertir el número fraccionario 0,528to a binario. 0,528 x 2 = 1,056 0,224 X 2 = 0,448 0,056 x 2 = 0,112 0,448 x 2 = 0,896 0,528lo = 0,100001.. 0,112 x 2 = 0,224 0,896 v 2 . 1,792 Sistemas de numeración 39 P r o b l e ma s 1. Convertir los siguientes números decimales a sus equivalentes bina rio, octal y hexadecimal: a) 2 b) 8 c) 12 d ) 28 e) 512 f) 64 g ) 228 h) 1156 2. Convertir las siguientes fracciones decimales a sus equivalentes binarios: a) 0,505 b ) 0,444 c) 0,715 d ) 0,325 e ) 0,95 f) 0,805 g ) 0,7 h) 0,99 3. Convertir los siguientes números binarios a sus equivalentes octal, hexadecimal y decimal: a) 110101 b ) 11011101 c) 10101011 d) 111111101101 e) 111101101 f ) 11000111 4. Convertir los siguientes números binarios a su equivalente decimal: a) 110101,111 b ) 11000111,011 c) 11101101,001 d) 11100111,101 5. Convertir los siguientes números octales al sistema decimal: a) 7521 b) 33 c ) 677 d ) 463 e ) 555 6. Convertir los siguientes números hexadecimales al sistema de nu meración decimal: a) F6D1 b ) DEF6 c ) 552 d ) 92B e) 45FD f) FFF1 7. En cada caso, sumar 1 al númerodado y expresar la suma en el mismo sistema de numeración del original: a) 9910 4- 1 = — :----- -------------- b) 15,« i;+ 1 = ---------------------- c) FFj« + 1 = --------:------------- d ) 1112 + 1 = ---------------------- e) C1916 + 1 ------------------------ 40 Bases de tos microprocesadores y el 6800 Convertir los siguientes números: a) 4810 a binario = --------------------- 48i« a octal = ---- ----------------- 48i« a hexadecimal = ---------------------- b ) F3lfi a decimal = —-------------------- c) 101 Lj a hexadecimal —---------------------- a) Expresar el número 0111101110000(X)l2 en los sistemas octal y hexadecimal: Octal:---------------------- Hexadecimal:------ *-------------- b ) Almacenar estos números en dos posiciones de 8 bits cada una, utilizando ambos sistemas: Octal:-------------------------------------------------- Hexadecimal:---------- ----------- ---------------------- ¿Cuál de los sistemas de numeración, el octal o el hexadecimal. resultó más fácil de utilizar? Sistemas de numeración 41 C A P IT U L O 4 Aritmética binaria En el capítulo anterior se describieron métodos para convertir números decimales en binarios. Se puso especial énfasis en el hecho de que las computadoras digitales sólo trabajan en el sistema de numeración binario. Una vez expresada la información en binario, ¿qué haee el computador con ella? ¿Cómo se opera con estos núme ros binarios, cómo se los suma, cómo se los resta? Estas preguntas se contestarán en el presente capítulo. 4.1 Suma binaria Los números binarios se suman como en cualquier otro sistema de numeración. En la base 10, sistema con el cual estamos todos familiarizados, la suma de números de varios dígitos se inicia sumando los dígitos de la columna menos significativa. Si el total obtenido excede 9, se coloca como resultado el dígito menos significativo, y el resto del total obtenido se lleva a la columna siguiente. Por ejem plo, al sumar 14 y 19 se suman primeramente el 4 y el 9, obteniendo como resultado el número 13. Se escribe el 3 y el 1 (representando un arrastre de 10) se suma a la columna siguiente, que es la columna de las decenas. Este arrastre o trasporte se suma a los dígitos de la segunda columna, según se ve en el ejemplo: ( 1) arrastre 1 9 + 1 4 3 3 Los números binarios se suman en forma análoga, aunque debe tenerse en cuenta que el sistema binario sólo tiene unos y ceros. Al sumar dígitos binarios, existen sólo cuatro combinaciones posibles: Aritmética binaria 43 a) 0 + 0 = 0 c) 1 + 0 = 1 b) 0 + 1 = 1 d ) 1 + 1 = 10 En el caso d ), se puede verificar el resultado convirtiéndolo a la base 10: 0 x 2 " + l x 2 , = 0 + 2 = 210 Teniendo esto en cuenta puede efectuarse una sunia binaria. Si se suman los equivalentes binarios de 710 y 5i0, el resultado, conver tido a base 10, deberá ser 12, o. Súmense, pues los números binarios 1112 (710) y 101, (510): (C) (B) (A> 1 1 1 + 10 1 El primer paso consiste en la suma de la columna A. El resul tado de sumar 1 + 1 es 0 y un trasporte de 1: ( 1) arrastre 1 1 1 + 1 0 1 0 El próximo paso es sumar la columna B más el trasporte de la columna A. El resultado vuelve a ser 0 y un trasporte de 1 hacia la* columna siguiente: ( 1) arrastre 1 1 1 + 10 1 0 0 El paso siguiente es más complejo, pues deben sumarse dos unos de la columna C con el 1 de trasporte de la columna B. Se suman tal como en el caso anterior, llevando debida cuenta de los trasportes hacia la columna siguiente si ocurriesen. Por consiguiente, 1 + 1 es 0 con un trasporte de 1 (este trasporte irá a la columna siguiente), y al 0 recién obtenido, se le suma el trasporte de la columna anterior: ( 1) arrastre 1 1 1 + 10 1 1 0 0 Dado que no hay' más dígitos para sumar, el último 1 de tras* porte es parte del resultado: 1 1 1 + 1 0 1 44 Bases de los microprocesadores y el 6800 1 1 0 0 Para verificar el resultado, se lo convierte al sistema decimal mediante el método explicado en el capítulo 3: H 002 = 0 x 2° + 0 x 21 + I x 22 + l x 23 = = 0 + 0 + 4 + 8 = = 12,o Otro ejemplo: Sumar los números 421i0 y 137,0 en el sistema decimal y luego en el sistema binario, verificando el resultado binario mediante su conversión a decimal. El primer paso es la conversión de 421l0 y 137!0 a binario: 421)o a binario: 421 : 16 = 26 ; 26 : 16 = 1 ; 1:16 = 0 ; Por lo tanto, 42110 = 1A5i« = 0001101001012 ( los tres ceros de la izquierda pueden omitirse). 137,„ a binario: 137 : 16 = 8 ; R = 9 A 8 : 16 = 0 ; R = 8 i Por lo tanto, 137ir> = 89™ = 100010012. La suma binaria es como sigue: <1)(1> (1J 1 1 0 1 0 0 1 0 1 42110 + 1 0 0 0 1 0 0 1 4- 13710 10 0 0 10 1 1 1 0 El resultado puede convertirse nuevamente a decimal para veri ficar la respuesta: Aritmética binaria 45 10001011102 = 22E16 = E x 16M + 2 x 161 + 2 x 162 = = 1 4 x 1 + 2 x 16 4 2 x 256 = = 14 + 32 + 512 = = 558„* ( verifica) Suma en decimal: 421 + 137 558™ Cuando se realizan multiplicaciones binarias, es común tener que sumar 1 + 1 + 1 ó 1 + 1 + 1 + 1. Estas sumas se harán en forma similar, con la precaución de determinar cuidadosamente la cantidad de trasportes requeridos. En la suma de 1 + 1 + 1, la suma de los dos primeros unos da por resultado un 0 y un trasporte de 1. A conti nuación se suma al 0 obtenido, el tercer sumando 1, obteniendo como resultado un 1. Dado que hubo un solo trasporte, el mismo formará parte del resultado: +,1 + 1 + i J +1— :--------- Análogamente. + 10 + 10 100 4.2 Resta binaria Los circuitos lógicos necesarios para sumar números binarios son relativamente sencillos. En cambio, los circuitos lógicos para la resta de números binarios son relativamente más complejos para diseñar y construir, puede ser interesante encontrar algún método de resta dife- + 1 + 1 + 1 + 1 1 + 1 = +10 -► + 1 11 46 Bases de los microprocesadores y el 6800 rente del convencional. El método se conoce como “resta por sum» del complemento a 2 ó 1”. El complemento a 1 de un número binario se obtiene invirtiendo cada dígito binario del número, esto es, cambiando todos los unos por ceros y todos los ceros por unos; el complemento a 2 se obtiene sumando 1 al complemento a 1. Ejemplo: Número binario = 01100100 Complemento a 1 = 10011011 Complemento a 2 = 10011100 La mayor parte de los computadores actuales realizan la opera ción de resta sumando al minuendo el complemento a 2 del sustraendo. La resta por suma del complemento a 1 requiere mayor cantidad de circuitos; por lo tanto sólo analizaremos la resta por suma del com plemento a 2. Cuando se realiza una resta, el resultado puede ser positivo o negativo de acuerdo a los valores relativos de minuendo y sustraendo. De alguna manera entonces, debe tenerse en cuenta el signo del resul tado. Como se verá en capítulos posteriores, 'jn la mayoría de los microprocesadores la información se representa mediante ocho dígitos binarios o bits. El bit de la izquierda, llamado bit más significativo, se utiliza como bit de signo. Si el bit más significativo vale 1, el número representado por los siete bits siguientes se supone negativo y se representa por su complemento a 2. Si el bit más significativo es 0, el número representado por los siete bits siguientes es positivo y es igual al equivalente binario de estos siete bits. Por lo tanto, Signo = + -* 0 1 1 1 0 0 0 1 = + 7116 = + 11310 Signo = — —> 1 0 0 1 0 0 1 1 = — 6Djc = — 109i<> Un ejemplo relativamente simple aclara la cuestión. Si se pre tende restar el número 15i0 menos el número 5i0, se deberán utilizar los equivalentes binarios de los dos operandos. Resta decimal: 1 5 -5 = +10 Resta por suma del complemento a 2; Dado que se debe restar el número 5 del número 15, el numero 5 se representará en su forma de complemento a 2: Aritmética binaria 47 0 0 0 0 0 1 0 1 = 5to 1 1 1 1 1 0 1 0 = complemento a 1 de 51H 1 1 1 1 1 0 1 1 = complemento a 2 de
Compartir