417

Fundamentosdemicroprocesadores

Embed Size (px)

DESCRIPTION

Libro guía de microprocesadores

Citation preview

  • 1. ,. . .=........1 .1f.;-~-, ~~. .. 1 . !lf r l ~ FUNDAMENTOS~1. l.. DE LOS,1 MICROPROCESADORES.~ Segunda edicin ... ,. ..1 lJ . "1I, , I1I.,iII. .,,IkJt / ~ .,.".r!.." . " .~ ..... ~,..- .- .~ 2m; S

2. FUNDAMENTOSDE LOSMICROPROCESADORESSegunda edicin ROGER lo TOKHEIM Henry Sibley High SchoolMendota Heights, Minnesota Traduccl6nJUAN MANUEL SANCHEZDepartamento de Informtica y Automtica Facultad de Ciencias FsicasUniversidad Complutense de Madrid Revisin tcnica ANTONIO VAQUEROCatedrtico de Informtica Facultad de Ciencias Fsicas Universidad Complutense de Madrid 8756 O McGRAW-HlllMXICO. BUENOS AIRES CARACAS GUATEMALA LISBOA MADRID NUEVA YORK PANAM SAN JUAN SANT AF DE BOGOT. SANTIAGO SAO PAUlO.. ,AUCKLAND HAMBURGO LONDRES MILN MONTREAL NUEVA DELHI PARs SAN FRANCISCO SINGAPURSTo LOUIS SIDNEY TOKIO TORONTO 3. PROLOGO "El estudiante de electrnica o especialista del futuro necesita conocer los microprocesadores ysistemas basados en microprocesador. Este conocimiento incluye tanto el hardware como elsoftware de las microcomputadoras. Los microprocesadores son la base de un nuevo tipo dedispositivos inteligentes; se encuentran en diversos productos: desde los juguetes de los nifios a losautomviles, desde las microcomputadoras a los electrodomsticos, desde los robots y maquina.1ria industrial al equipo de entretenimiento casero. Gracias a estos dispositivos programables,denominados microprocesadores, se espera que el desarrollo de mquinas inteligentes se acelereen el futuro.La segunda edicin de Fundamentos de los Microprocesadores de la serie Schaum proporciona al lector los aspectos bsicos, que normalmente se cubren en un primer curso de microprocesadores. La filosofia de la serie Schaum, de concentrarse en los problemas caractersticos quesurgen cuando se estudia cualquier materia, est soportada en este libro gracias a la inclusin deunos 1.100 problemas, suplementarios y resueltos, sobre microprocesadores y microcomputadoras. Las soluciones completas vienen con la mayora de los problemas de este libro.La segunda edicin del libro contiene la mayor parte de los temas que hicieron que la primeraedicin tuviese un gran xito. En la segunda edicin se han afiadido algunas cosas que reflejannuevas tendencias prcticas, cambios tecnolgicos y sugerencias de estudiantes e instructores. Sehan afiadido dos captulos que cubren los microprocesadores de 8 bits 6502/65C02 en sus aspectos hardware y de programacin. Por demanda popular, se ha afiadido un captulo donde seexaminan algunos microprocesadores seleccionados de 16 y 32 bits. Entre stos se encuentran loslntel de 16 y 32 bits: 8086, 8088, 80186, 80188, 80286 Y80386; adems de los microprocesadoresMotorola 68000, 68008, 68010, 68012, 68020 Y68030. Finalmente, se examinan los microprocetsadores de 16 bits 65802 y 65816 de Western Design Center.Los temas tratados en este libro se seleccionaron cuidadosamente para que coincipiesen conlos cursos impartidos en los niveles de escuela superior, profesional, colegio de cbm~idad yi colegio de principiantes. Se analizaron muchos de los libros de texto ms utilizados a nivelprofesional y manuales de laboratorio sobre microprocesadores y microcomputadoras. Los temasy problemas incluidos en este libro de la serie Schaum son similares a los encontrados en loslibros analizados. Los segmentos de los programas listados en este libro han sido cuidadosamentecomprobados para que funcionen en microcomputadoras de bajo costo. Algunos de estos entrenadores estn disponibles en lntel Corporation, Heath/Zenith y Sistemas Lab-Volt.La segunda edicin de Fundamentos de los Microprocesadores de Schaum comienza con unacorta introduccin a las computadoras, a continuacin se presenta informacin general sobrenmeros, cdigos y aritmtica de computadoras junto con una breve revisin de los dispositivosdigitales bsicos. Los sistemas comerciales basados en microprocesador son muy complejos, estaes la razn por la que se utiliza un microprocesador genrico simplificado para introducir losfundamentos de las microcomputadoras, el microprocesador, la programacin del microprocesador y las interfaces con el microprocesador. El conjunto de registros y el repertorio de instrucci~nes del microprocesador genrico son subconjuntos de los de la MPU 8080/8085. A continuacin, se cubren con cierto detalle tres de los microprocesadores de 8 bits ms populares: lasunidades microprocesadoras descritas son la Intel 8080/8085, la Motorola 6800 y la 6502/65C02: 4. vi PROlOOOdedicndose dos captulos a cada microprocesador. El captulo final examina brevemente otros J~ microprocesadores ms complejos de 16 y 32 bits de Intel, Motorola y Westem Design Center.Extendemos nuestro agradecimiento a John Aliano de McGraw-Hill por su asistencia y pa ciencia: aJ estudiante de ingeniera Darrel K10tzbach por sus buenos efectos de investigacin, correccin meticulosa de las pruebas y comprobacin cuidadosa de la mayora de los programas de este libro. Agradezco de manera especial a mi familia, Caroline, Dan y Marshall su ayuda, paciencia y estmulo.ROOER L. TOKHEIM ./, f/i 1f l.. ~ "" 5. , CONTENIDO PROLOGO ............................................................................ .v- -~Captulo l. INTRODUCaON A LAS COMPUTADORAS .......................... . 1.1.1.2.1.3. Introduccin .......................................................... .Organizacin de la computadora ........................................ .Organizacin de la microcomputadora ................................... .;c3lA.Operacin de la microcomputadora ..................................... . 5( Captulo 2. NUMEROS, CODIGOS DE COMPUTADORA y ARITMETICA . . . . . . . . f32.1. Nmeros binarios ...................................................... 13 2.2. Nmeros hexadecimales ......................... ............... . . . . . . . . . 16 2.3. Nmeros BCD ......................................................... 20 2.4. Aritmtica binaria ...................................................... 21 2.5. Notacin en complemento a 2 ........................................... 24 2.6. Aritmtica en complemento a 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.7. Agrupaciones de bits ......................... ~ . . . . . . . . . . . . . . . . . . . . . . . . . .31 2.8. Cdigos alfanumricos ..................................................35 Captulo 3. DISPOSITIVOS DIGITALES BASICOS ................................ .39 3.1. Puertas lgicas ........................................................ .39 3.2. Combinacin de puertas lgicas ...... : .................................. .43 3.3. Rip-flops y cerrojos .................................................... . 46 3.4. Codificadores, decodificadores y visualizadores de siete segmentos .......... . 52~3.5. Buffers y dispositivos de tres estados ..................................... .55 ~3.6.3.7. Memorias semiconductoras ............................................. . Utilizacin de las RAM y ROM ......................................... . 5760 ~ :1 ":j ;" "-:lptulo 4. FUNDAMENTOS DE LAS MICROCOMPUTADORAS ................ . 4.1. Introduccin .......................................................... . 4.2. Arquitectura simplificada de una microcomputadora ...................... . 4.3. Organizacin simplificada de la memoria ................................ . l. 6. viii CONTENIOO4.4. Repertorio de instrucciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79 4.5. Organizacin simplificada de la CPU........ ..... ... . ................. ... 84 4.6. Operacin de la microcomputadora ...................................... 89 Captulo 5. EL MICROPROCESADOR .............................................. . 100 S.l. Caractersticas comunes de los microprocesadores ......................... . 100 5.2. 5.3. Descripciones de la hoja de datos ........................................ . Funciones y diagramas de las patillas ....................................103 110 ; -/5.4. Arquitectura del microprocesador ....................................... . 114/:~5.5. Utilizacin del registro de direcciones/datos .............................. . 5.6. Utilizacin del puntero de pila ......................................... .. Captulo 6. PROGRAMAOON DEL MICROPROCESADOR ......... , ............. . 136 6.1.Lenguajes mquina y ensamblador ..................................... . 136 6.2.Repertorio simplificado de instrucciones ................................ . 140 6.3.Repertorio de instrucciones: operaciones aritmticas ...................... . 142 6.4.Repertorio de instrucciones: operaciones lgicas ......................... .152 6.5.6.6.Repertorio de instrucciones: operaciones de transferencia de datos ......... .Repertorio de instrucciones: operaciones de bifurcacin ................... .158 16S l6.7.Repertorio de instrucciones: operaciones de llamada y vuelta de subrutina .. .169 6.8.Repertorio de instrucciones: operaciones miscelneas ..................... .174 6.9.Escritura de un programa ............................................. .176 LJ} 6.10. Modos de direccionamiento ........................................... . 183 6.11. Bifurcacin en programas ............................................. 188 6.12. Programas cclicos .................................................... . 192 6.13. Utilizacin de subrutinas ............................................. ..196 Captulo 7. INTERFACES CON EL MICROPROCES~DOR........................ . 213 {J 7.1. 7.2. 7.3. Introduccin .......................................................... . Interfaz con la ROM ............................. " ................... Interfaz con la RAM ................................................... .213 21S219 /] 7.4. Interfaces bsicas de entrada/salida ..................................... ..224 7.5. Interfaz con puertos prcticos de entrada/salida ...........................230 7.6. Sincronizacin de transferencias de entrada/salida de datos mediante interrup ciones ................................................................ .233 7.7. Decodificacin de direcciones ........................................... .237 ,ig)Captulo 8. EL MICROPROCESADOR INTEL 8080/8085 .......................... . 247 8. l. Introduccin ......................................................... .247 8.2.Funciones y diagrama de patillas del 8085 .............................. .248 8.3.Arquitectura del 8085 ................................................. . 253 8.4.Modos de direccionamientoo 261 7. CONTElI100 ix 8.5. Repertorio de instrucciones del 8080/8085 ............. """" ................... ,. . ~ .2668.6. Instrucciones de transferencia de datos del 8080/8085 .................... .2728.7. Instrucciones aritmticas del 8080/8085 ................................. . 2798.8. Instrucciones lgicas del 8080/8085 .................................... .2898.9. Instrucciones de bifurcacin del 8080/8085 .............................. . 2958.10.Instrucciones de pila, E/S y control de mquina del 8080/8085 ............ .302 CqtulD 9. PROGRAMACION DEL MICROPROCESADOR 8080/8085 ............ 3189.1.Introduccin...........................................................3189.2.Programas lineales. . . . .. .. . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . :324 9.3.Programas cclicos. . . . . .. ..... . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . . 329 904.Programas matemticos ........................ : .................... ,. .335 Captulo 10.EL MICROPROCESADOR MOTOROLA 6800 . .... . . . ..... .. ..... .. . .. 34510.1. Introduccin .......................................................34510.2. Funciones y diagrama de patillas del 6800 ............................. .347Hi~10.3. Arquitectura del 6800 ............................................... . lOA.Modos de direccionamiento .......................................... . 10.5. Repertorio de instrucciones del 6800 .................................. . 10.6. Instrucciones de memoria y acumulador del 6800 ............. : ...... .383 10.7. Instrucciones del puntero de pila y registro ndice del 6800 .............. .388 10.8. Instrucciones de bifurcacin y salto del 6800 ........................... .390 10.9. Instrucciones del registro de cdigos de condicin del 6800 .............. .397 Captulo 11. PROGRAMAOON DEL MICROPROCESADOR 6800 ................ . 11.1.11.2.Introduccin ........................................................ . Interpretacin de un programa sencillo del 6800 ........................ . 405/405 1-/412 /"~11.3. Utilizacin del registro ndice ........................................ ..418 . ./1104. Un programa del 6800 que utiliza una tabla de bsqueda (Iook-up) ....... . 422Captulo 12. EL MICROPROCESADOR 6502 ........................................ 432 12.1. Introduccin ....................................................... .432 12.2. Funciones y diagrama de patillas del 6502 ............................ 434 12.3. Arquitectura del 6502 .............................................. .438 1204.12.5.Modos sencillos de direccionamiento ................................. .Ms modos de direccionamiento del 6502 ..~........................451 456 . .--~12.6. Repertorio de instrucciones del 6502 ................................. .464 12.7. Instrucciones de transferencia de datos del 6502 ........... . ........... . 472 12.8. Instrucciones de flujo de control del 6502 ............................. .475 12.9. Instrucciones aritmticas del 6502 ................................... .478 12.10.Instrucciones lgicas y de manipulacin de bits del 6502 : ....... : ...... . 483 12.11.Instrucciones de interrupcin y de control del sistema 6502 ..........488 4 8. xCONTENIDOCaptulo 13. PROGRAMAOON DEL MICROPROCESADOR 6S02 ......... ,....... 494 13.1. Introduccin.... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .494 13.2. Interpretacin de un programa de suma BCD ........................... 498 / 13.3. Multiplicacin binaria................................................504 13.4. Decodificacin hexadecimal a siete segmentos........................... 511 (JI) 13.5. Utilizacin de subrutinas.. . . . .. . . .. . .. .. . . .. . . . .. .. . . .. . . .. . . .. .. . . . .. 5181 / /Captrllo U. A..GUNOS MICROPROCESADORES DE 16 Y 32 BITS. . . . . . . . . . . . . . . 530 14.1.14.2.Introduccin.........................................................Intel8086 y 8088 ...................................................530 531 14.3. Inte180186, 80188 y 80286 ........................................... 535 1 14.4. lntel 80386 ..... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ;5:38~ . J",14.5. Motorola 68000, 68008, 68010 Y68012 ................................ . J-.) 14.6. Motorola 68020 y 68030 ............................................. . 14.7. Westem Design Center 65802 y 65816 .................................549 INDICE ................................................................................. 555,(, 9. Captulo 1INTRODUCCION, .A LAS COMPUTADORAS1.1. INTRODUCCIONLas computadoras se han venido utilizando de forma general desde los afios 1950. En un principio las computadoras digitales eran mquinas grandes y caras, utilizadas por los gobiernos y,grandes empresas. El tamao y forma de la computadora digital ha cambiado gracias a un nuevodispositivo denominado microprocesador. El microprocesador es un el (circuito integrado) quetiene la mayora de las capacidades de procesamiento de las grandes computadoras. El microprocesador es un pequeo, pero extremadamente complejo, dispositivo LSI (gran escala de integracin) programable. Las computadoras utilizan un programa almacenado. Las pequeas computadoras, llamadas microcomputadoras. tambin utilizan el concepto de programa almacenado. Una (microcomputadora contiene un microprocesador y como mnimo algn tipo de memoria semi(conductora.Las grandes y caras computadoras habitualmente son unidades de propsito general. Normal l mente se programan muchas veces y se utilizan para realizar muchas tareas. Las computadoras "dedicadas se emplean cada vez ms, debido al uso de los pequeos y baratos microprocesadores.Una computadora dedicada se programa para realizar slo unas pocas tareas, como ocurre en losjuguetes, termostatos, automviles y herramientas.1.2. ORGANIZACION DE LA COMPUTADORALas secciones tradicionales de una computadora digital se muestran en la Figura 1.1. El sistemabsico de la computadora consta de cinco unidades: la unidad de entrada, las unidades aritmticay de control (contenidas en la CPU, o unidad central de tratamiento), la unidad de memoria y launidad de salida. Esta organizacin de las partes funcionales se denomina arquitectura de lacomputadora.Las unidades fisicas representadas por bloques de la Figura 1.1 constituyen el hardware. Paraque sea til, la memoria de programa debe decir a la CPU qu tiene que hacer. La preparacin dela lista de instrucciones se denomina programacin. La lista de instrucciones constituye un programa que se almacena de forma temporal o permanente en la memoria de programa. Estosprogramas manipulan informaciones denominadas datos. Software es un trmino general utilizado para denominar a todos los programas; si el software se almacena permanentemente en lamemoria programa, a veces, se denomina firmware.En resumen, la computadora funciona de la siguiente forma: los programas y datos sonintroducidos en la CPU y transferidos a sus respectivas posiciones de memoria. La cpe lee la I 10. ~-;f""----- .,...,._~~.2FUNDAMENTOS DE LOS MICROPROCESADORES /I EntradaJJ CPUControl + aritmtica I I Salida~I Memonade programaWIMemonade datos 1lJMemoria Figura 1.1. Organizacin general de una computadora.primera instruccin de la memoria de programa y la ejecuta. Las instrucciones pueden ser tansimples como SUMAR (ADD) dos nmeros, TRANSFERIR (MOVE) un dato, INTRODUCIRo SACAR (INPUT u OUTPUT) un dato, o BIFURCAR (JUMP) a una parte diferente delprograma. Cuando finalizan las manipulaciones de los datos, los resultados son transferidos a lasalida de la computadora. De nuevo, la mayora de las acciones de la CPU son debidas a lasinstrucciones almacenadas en el programa de memoria. PROBLEMAS RESUELTOS1.1. Listar las cinco secciones funcionales de una computadora digital.Solucin:Las cinco secciones funcionales de una computadora se muestran en la Figura 1.1 Y son lasunidades de entrada, control, aritmtica, memoria y salida. CPU es un trmino general que incluyeel control y la aritmtica, as como algunos otros elementos.1.2. Las unidades electrnicas reales como, por ejemplo, las representadas por las cajas de la Figura 1.1 se denominan ___ , mientras que los programas que instruyen a la computa dora se denominan software. Solucin:Las unidades electrnicas fisicas reales de una computadora se denominan hardware.1.3. Una persona llamada programador escribe una lista de ___ , que se denominaprograma. Solucin: Un programador escribe una lista de instrucciones que se denomina programa.1.4. Listar dos tipos de informacin que se introduzca y almacene en la memoria de una computadora. Solucin: El programa y los datos deben ser introducidos en la computadora y almacenados en me moria. 11. INTRODUCCION A LAS COMPUTADORAS31.S. La mayora de las acciones de la CPU en una computadora son debidas a las instrucciones almacenadas en la memoria de _ _ . Solucin: La mayoria de las acciones de la CPU son debidas a las instrucciones almacenadas en la memo ria de programa. Los datos que se van a procesar se almacenan en la memoria de datos. En a l g u n a sj computadoras, no hay diferencia fisica entre la memoria de programa y la de datos.1.3. ORGANIZACION DE LA MICROCOMPUTADORAUn sistema microcomputador es una computadora digitaL Se utiliza el prefijo micro debido a supequeo tamao y bajo costo. El microprocesador generalmente forma la seccin de la CPU deun sistema microcomputador, cuya organizacin est esbozada en la Figura 1.2. La microcomputadora contiene las cinco secciones bsicas de una computadora: (1) la unidad de entrada. (2) lasunidades de control y (3) aritmtica contenidas en el microprocesador, (4) la unidad de memoriay (5) la unidad de salida.El microprocesador controla todas las unidades del sistema utilizando las lneas de control queaparecen a la izquierda de la Figura 1.2. El bus de direcciones que aparece junto a las lneas decontrol (16 conductores en paralelo) selecciona una cierta posicin de memoria, puerto de entrada o puerto de salida. El bus de datos (ocho conductores paralelos), a la derecha de la Figura 1.2,es un camino de doble direccin que se utiliza para introducir y sacar datos de la unidad microprocesadora. Es importante observar que la unidad microprocesadora (MPU) puede enviar, orecibir, datos de la memoria utilizando el bus de datos.Si un programa se va a almacenar de forma permanente, habitualmente se coloca en undispositivo de memoria denominado memoria de slo lectura (ROM). La ROM normalmente esuna pastilla de memoria, programada permanentemente, en forma de Cl. La memoria temporaldonde se almacenan los datos, generalmente es un dispositivo integrado denominado memoria delectura/escritura (RWM). En la prctica, la memoria de lectura/escritura se denomina memoriade acceso aleatorio. o RAM. Los programas de usuario de la microcomputadora, que son denaturaleza temporal, tambin estn almacenados en la seccin RAM de la memoria junto a losdatos. Las secciones RAM y ROM de memoria aparecen separadas en la Figura 1.2 debido a que,generalmente, son circuitos integrados separados.El sistema de la Figura 1.2 representa la organizacin general de una microcomputadora. Lamayora de ellas, como mnimo, deben tener estas caractersticas. Por claridad, es costumbreomitir en los diagramas de bloque fuentes de alimentacin, relojes y algunas lneas de realimentacin de la unidad microprocesadora.PROBLEMAS RESUELTOS1.6. La CPU de una microcomputadora es un CI denominado ___ . Solucin: La CPU de una microcomputadora. generalmente. es un CI denominado microprocesador. En algunos diseos se necesitan varios CI para realizar el trabajo de la CPU. 12. 4 FUNDAMENTOS DE LOS MICROPROCESADORES Del mundoexterior --------~:--~Entrada(s)Microprocesador LIneas de control CPUControl + aritmticaBus de datos (8 lneas)Memoria de programa (ROM)Bus de direcciones(16 lneas) --+--. Memoria de datos (RAM)Salida(s) Al mundo ~.....;:------.......exterior Figura 1 .2. Organizacin tipics de una microcomputadora.1.7. Acudir a la Figura 1.2. Qu bloque de esta microcomputadora puede considerarse la unidad de conlron Solucin:El microprocesador (tambin identificado como CPU en la Figura 1.2) controla las dems unida des de la microcomputadora.1.8. Listar tres tipos de interconexiones en el sistema microcomputador de la Figura 1.2. Solucin:Las interconexiones entre los CI de la microcomputadora de la Figura 1.2 son: el bus de direccio nes, el bus de datos y las lneas de control. En realidad hay ms lneas entre los el que las mostradas en la Figura 1.2. 13. INTRODUCCION A LAS COMPUTADORAS51.9. El bus de direcciones de la Figura 1.2 es un camino de una direccin para la informacin codificada, mientras que el bus de ___ es un camino de dos direcciones.SoluciD:El bus de datos es un camino de dos direcciones para la informacin del sistema microcomputa dor de la Figura 1.2.1.10. Los programas permanentes, normalmente se almacenan en dispositivos integrados denominados memorias de ___ - ___ .(Solucin: Los programas permanentes comnmente se almacenan en dispositivos integrados denominadosmemorias de slo lectura (ROM).1.11. Las siglas ROM qu tipo de memoria de computadora referencian?Solucin: ROM significa memoria de slo lectura.1.12. Los datos y los programas temporales de la microcomputadora se almacenan en memoriasdenominadas _ _ (RAM, ROM).Solucin: Los datos y programas temporales se almacenan en memorias denominadas RAM.1.13. El almacenamiento de datos en la RAM de una microcomputadora es ___ (permanente, temporal).Solucin: El almacenamiento de la RAM es temporal.1.14. El lugar por donde la informacin entra o sale de una computadora se denomina _ _(puerto, zcalo).Solucin: La informacin entra o sale de la computadora a travs de sitios denominados puertos. 1.4. OPERACION DE LA MICROCOMPUTADORAEn la Figura 1.3 se muestra un ejemplo de como opera una microcomputadora. En el ejemplo seilustra el siguiente procedimiento: l. Pulsar la tecla A del teclado. 2. Almacenar la letra A en memoria. J , 3. Imprimir la letra A en la pantalla del monitor de tubo de rayos catdicos (eRn.El procedimiento de entrada-almacenamiento-salida esbozado en la Figura 1.3 es una operacin comn de un sistema microcomputador. El hardware electrnico utilizado en un sistemacomo el de la Figura 1.3 es bastante complicado. Sin embargo, la transferencia de datos en elsistema ayudar a explicar el uso de las diferentes unidades de la microcomputadora. 14. r6 FUNDAMENTOS DE LOS MICROPROCESADORESMicrocomputadoraTecladoEntradaCPU Almacenar A 2 ...--+-_ Memoria SalidaMonitor CRT r-----IA I _____ .JIImprimir A Figura 1 .3. Operacin tfpica de la microcomputadora.Un diagrama ms detallado en la Figura lA ayudar a comprender el procedimiento comnde entrada-almacenamiento-salida de la microcomputadora. Primero, observar cuidadosamentelos contenidos de la memoria de programa en la Figura 1.4. Observar que las instrucciones ya sehan cargado en las seis primeras posiciones de memoria. De la Figura lA, se desprende que lasinstrucciones que estn en la memoria de programa son:1. INTRODUCIR (INPUT) el dato del puerto de entrada 1.2. ALMACENAR (STORE) el dato del puerto 1 en la posicin 200 de la memoria de datos.3. SACAR (OUTPUT) el dato al puerto de salida 10.Observar que solamente hay tres instrucciones en el programa anterior, aunque puede parecerque hay seis en la memoria de programa de la Figura 1.4. La razn para pensar esto, es que lasinstrucciones se descomponen habitualmente en varias partes. La primera parte de la instruccin 1 consiste en INTRODUCIR (INPUT) un dato. La segunda parte indica de dnde provieneel dato (del puerto 1). La primera parte de accin de la instruccin se denomina operacin y lasegunda parte operando. Operacin y operando estn localizados en posiciones separadas dememoria en la memoria de programa de la Figura 1.4. Para la primera instruccin de la Figura 1.4, la posicin 100 de memoria de programa contiene la operacin de INTRODUCIR(INPUT) mientras que la posicin 101 contiene el operando (puerto 1) desde donde se introducir la informacin.En el microprocesador de la Figura 1.4, se han identificado dos nuevas secciones denominadas registros. Estos registros especiales son el registro acumulador y el de instruccin. 15. INTRODUCCION A LAS COMPUTADORAS7 A del t edado./1./~ Entrada puerto 1~ ./ ./ f IAcumulador J .~MPU ti I ~ ~ Registro de instruccina Microprocesador ./Direccin ,Contenido .., .." j.1100 INTRODUCIR dato 2. . . de direcciones301 del puerto 10{ y lneasdecontrol . --0 8 102 103 ALMACENAR datoen posicin de 7Bus de datos memoria 200 9 I~104SACAR dato 13 14105 106 al puerto 10 ./ 0J Memoria de programa ./ .taMPU apuntar a la posicin de direccin ___ en la memoria de programa para lasiguiente instruccin.Solucin: Despus de ejecutar la instruccin SACAR dato al puerto 10)) en la Figura 1.4, la MPU apunta r a la posicin de direccin 106 en la memoria del programa para la siguiente instruccin. La 18. I10 FUNDAMENTOS DE LOS MICROPROCESADORES posicin de memoria del programa 106 est en blanco en la Figura 1.4, as que la accin de la MJII_ ser impredecible. Probablemente habr que colocar aqu una instruccin de ESPERAR (w.!..,ALTO (HALT) para que pueda predecirse la operacin de la computadora.1.19. Acudir a la Figura 1.4. Una instruccin de la microcomputadora como, por eje1f1tlilo. ALMACENAR dato en la posicin de memoria 20h~ producir como resultado la t~_.5 ferencia de un dato de la MPU a la posicin 201 de la memoria de ___ .I .!. Solucin:Una instruccin como, por ejemplo, ALMACENAR dato en la posicin de memoria 201_ producir como resultado la transferencia de un dato de la MPU a la posicin 201 de la memoria de datos.J-,1.20. Acudir a la Figura 1.4. Una instruccin de la microcomputadora como, por ejemplo.,ALMACENAR dato en la posicin de memoria 202 dar como resultado la transferencia del dato del ___ (acumulador, registro de instruccin) de la MPU a la posicin de memoria ___ de la RAM. Soluci6n: Una instruccin como, por ejemplo, ALMACENAR dato en la posicin de memoria 202 dar como resultado la transferencia del dato del acumulador de la MPU a la posicin de memoria 202 de la RAM. Este dato estar entonces en la posicin de memoria 202 de la RAM y en el acumulador de la MPU. El contenido del acumulador no se destruye cuando se almacena el dato.1.21. El proceso de ___ (lectura, escritura) tiene lugar cuando se copia un dato de una posi cin de memoria. Solucin:El proceso de lectura tiene lugar cuando se copia un dato de una posicin de memoria.1.22. Colocar datos en una posicin de memoria es un proceso denominado ___ (lectura, escritura) en memoria. Solucin:Colocar datos en una posicin de memoria es un proceso denominado escritura en memoria.1.23. Para cada instruccin en la memoria de programa, la MPU va a travs de una secuen cia ___ - ___ - ___ . Solucin: Para cada instruccin en la memoria de programa, la MPU va a travs de una secuencia de busca-decodifica-ejecuta. Algunos libros llaman a esta secuencia el ciclo de localiza-lee-interpreta ejecuta,1.24. Acudir a la Figura 1.4. Despus del paso 16, cuando se completa la instruccin SACARdato al puerto !O, qu dato contiene el acumulador de la MPU? Solucin:El acumulador contendr el cdigo de A. La lectura de datos, de un registro o posicin de memoria. solamente copia la informacin que est all y no destruye el dato. 19. INTRODUCCION A LAS COMPUTADORASII1.25. Acudir a la Figura 1.4. Despus del paso 16, existirn todaVa las itistrucciones en lasposiciones de memoria 100 a lOS? Solucin:S. Las instrucciones de lectura no destruyen los contenidos de esas posiciones de memoria.PROBLEMAS SUPLEMENTARIOS lA electrnica, las siglas el significan _ _ _ _ . En Res. circuito integrado.1.27. En electrnica, las siglas LSI significan _ _ _ _ _ _ .Res. gran escala de integracin .1.lI. En informtica, las siglas epu significan _ _ _ _ _ _ Res. unidad central de tratamiento.l.lt. Un CI LSI que tiene la mayora de las capcidades de la CPU de una computadora se denomina _ _ .Res. microprocesador.1.lI. En microcomputadoras, las letras MPU significan _ _ _ .Res. unidad microprocesadora.1.31. Las microcomputadoras que realizan solamente una o dos tareas se dicen que son _ _ (de propsito general, dedicadas). Res. dedicadas. 1.32. Una organizacin clsica de computadora qu cinco unidades importantes tiene?Res. entrada, control, aritmtica, memoria, salida.I.D. Una lista de instrucciones de computadora se considera _ _ (hardware, software).Res. software.1.34. Las informaciones que se manipulan en una computadora se denominan _ _ (datos, informaciones numricas).Res. datos. , .1.35. Una persona que escribe listas de instrucciones para una computadora se denomina un _ _._. Res. programador.1..36. El almacenamiento permanente de un programa en una microcomputadora, probablemente, puede hacerse en una _ _ (RAM, ROM). Res. ROM.11.37. La _ _ (RAM, ROM) es un el muy utilizado en las microcomputadoras como memoria delectura/escritura...Res. RAM. 20. 12 FUNDAMENTOS DE LOS MICROPROCESADORES1.38. Acudir a la Figura 1.2. Las instrucciones almacenadas en la memoria de programa sern _ _ (permanentes, temporales). Res. permanentes (almacenadas en ROM). 1.39. Acudir a la Figura 1.4. Despus de que se completa el paso 16, la MPU intentar el procedimientode _ _ (decodificacin, bsqueda, ejecucin). Res. bsqueda. 1.40. Acudir a la Figura 1.4. La MPU accede a una posicin especfica de memoria al utilizar el busde _ _ . Res. direcciones.1.41. Acudir a la Figura 1.4. La informacin codificada es transferida desde el acumulador de la MPU auna posicin de memoria, en la memoria de datos, utilizando el bus de _ _ .Res. datos.1.42. Si la MPU busca y decodifica una instruccin como ALMACENAR datos en la posicin de memoria 205, el dato provendr del _ _ . Res. acumulador (en la MPU). 1.43. Una microcomputadora contiene como mnimo una unidad de entrada, una unidad de salida, unaMPU y una _ _ de programas y datos. Res. memoria. 1.44. Una memoria temporal de lectura/escritura se designa por las tres siguientes letras RWN 0 __ . Res. RAM... 21. Captulo 2 NUMEROS, CODIGOSDE COMPUTADORA Y ARITMETICA 2.1. NUMEROS BINARIOSLas computadoras digitales utilizan nmeros binarios. El sistema de numeracin binario, o debase 2, utiliza solamente los dgitos O y 1; los dgitos binarios se llaman bits. En los circuitoselectrnicos de las computadoras el bit O habitualmente se repre~enta por una tensin BAJA,mientras que el bit 1 corresponde a una tensin ALTA.Las personas estn acostumbradas a comprender el sistema de numeracin decimal, o debase JO, que tiene 10 dgitos (0-9). Este sistema tambin tiene la caracterstica de valor porposicin; por ejemplo, la Figura 2.1 a muestra que el nmero decimal 1327 es igual a 1000 mstres 100 ms dos 10 ms siete 1 (1000 + 300 + 20 + 7 == 1327).El sistema de numeracin binario tambin tiene la caracterstica de valor por posicin. Elvalor decimal de las cuatro primeras posiciones binarias se muestra en la Figura 2.1 b. El nmerobinario 1001 (se pronuncia uno, cero, cero, uno) se convierte a su equivalente decimal de 9. El bitdel 1 del nmero binario de la Figura 2.1 b se denomina bit menos significativo (LSB), mientrasque el bit del 8 se denomina bit ms significativo (MSB).Los equivalentes binarios de los nmeros decimales entre O y 15 se muestran en la Figura 2.1c.Las personas que trabajan con computadoras memorizan como mnimo estos nmeros binarios.Convertir el nmero binario 10110110 (se pronuncia uno, cero, uno, uno, cero, uno, uno,cero) a su equivalente decimal. El procedimiento se muestra en la Figura 2.2a. Por cada bit I delnmero binario se escribe debajo el valor de la posicin decimal y despus se suman los decimales(128 + 32 + 16 + 4 + 2 = 182), dando 182. Los pequenos subndices de la Figura 2.2b se utilizanpara anotar la base (a veces denominada raz) del nmero. El nmero 101101102 es por tanto unnmero binario, o en base 2 yel nmero 182 10 es un nmero decimal o en base 10.Convertir el nmero decimal 155 a binario. La Figura 2.3 muestra un procedimiento parahacer esta conversin. El nmero decimal 155 se divide primero por 2, dando un cociente de 77 yun resto de 1; el resto se convierte en el bit menos significativo (LSB) del nmero binario y setransfiere a esta posicin en la Figura 2.3. El cociente (77) se transfiere como muestra la flecha yse convierte en el siguiente dividendo. Los cocientes se dividen repetidamente por 2 hasta que elcociente se hace O con un resto de l. La Figura 2.3 muestra este procedimiento. La lnea inferiormuestra el resultado de la conversin: 155 10 = 1001 101 lz...1371 .~ .~ 22. 14FUNDAMENTOS DE LOS MICROPROCESADORES Potencias de 10103102 10 1 lOO Valor de posicin1000 lOO101 Decimal 1 32 7 Decimal1000+300+20+7 1327(a) Valores de la posicin en un numero decimal Potencias de 22322 212 Valor de posicin 8 42lMSB-....." ~lSB Binario 1 oo 1 Decimal 8+O+ O+1 9(b) Valores de la posicin en un nmero binario DecimalBinarioDecimalBinario 10 I 8 4 2I 10 18 4 21OO81 O OO1191 O O12 1O1 O1 O 1O"3 111 11 O I14 1 OO1 21IOO5 1 OI1 311OI6 1 1OI 4111O7 1 111 51I11(e) Equivalentes decimales y binariosFigura 2.1. Potencias de 22726 252423 2221 2 Valor de posicin12864 32 16 84 21 Binario1 O11O 1 1O Decimal128 + 32+ 16 + 4 + 2 182(a)Conversin de binario a decimal 101101102 - 182 10(b) Los ndices designan la base del nmero Figura 2.2. 23. NUMEROS, CODIGOS DE COMPUTADORA Y ARITMETlCA 15,155 10 +2=77 resto deI 77 + 2 - 38 resto de 1 1 LSB r--,38 ... 2 - 19 resto de O! 19 + 2 ~ 9 resto de 1~9+2= 4 resto de 1~4+2- 2restodeO r-- , 2 ... 2- I resto deOI[ ... 2= O resto de I OOO Figura 2.3.PROBLEMAS RESUELTOS 2.1. La mayora de las personas comprenden el sistema de numeracin decimal, mientras que las computadoras digitales utilizan el sistema de numeracin de base 2, o ___ . Solucin: Las computadoras digitales utilizan el sistema de numeracin de base 2, o binario, y contiene solamente los dgitos O y l.2.2. El tnnino bit significa _ _ _ _ cuando se trata de nmeros binarios. Solucin:Bit significa dgito binario.13.El nmero 10010 es un nmero en base ___ . Solucio:El nmero 100 10 es un nmero en base 10, como indica el subndice 10 al final del nmero.2.4. Escribir en base 2 el nmero uno, uno, cero, cero utilizando un subndice. Solucin:11002,2.5. Las letras MSB significan _ _ _ _ _ cuando se trata con nmeros binarios. Solucin:Las letras MSB significan bit ms significativo. Si el nmero es 10002, elles el MSB.2.6. De memoria, convertir los siguientes nmeros binarios en sus equivalentes decimales: (a) 0001(b) 0101 (e) 1000 (d) 1011 (e) 1111 (f) 0111 24. 16 FUNDAMENTOS DE LOS MICROPROCESADORES Solucin: Acudir a ia Figura 2.1e. Estos nmeros binarios han de ser memorizados. Los equivalentes decimales para los nmeros binarios son los siguientes: (a) 0001 2"" 110 (e) 10002= 8 10 (e) 1111 2= 15 10 (b) 0101 2 =5 10 (d) 1011 2 = 1110 (/) 0111 2 =7 102.7. Convertir los siguientes nmeros binarios en sus equivalentes decimales: (a) 10000000 (e) 00110011(e) OOOI1111 (b) 00010000 (d) 01100100(f) 11111111 Solucin: Siguiendo el procedimiento mostrado en la Figura 2.1 b, los equivalentes decimales de los nme ros binarios son los que se indican: (a) 100000002 = 128 10 (e) 00110011 2= 5110 (e) 0001111l2-311O (b) 000100002 = 16 10 (d) 01l001002= 100 10(/) 1I111111 2 = 255 102.8. Convertir los siguientes nmeros decimales en sus equivalentes binarios: 39 (b) 48 (a) Solucin: Seguir el procedimiento mostrado en la Figura 2.3. Los equivalentes binarios de los nmeros decimales son los siguientes: (a) 39 10 ..... 2 .. 19 resto de 1 (LSB)19 -+- 2 - 9 resto de l 9 -+- 2 - 4 resto de 1 4 .... 2 - 2 resto de O 2 . . . 2 - 1 resto de Ol . . . 2 - O resto de 1 (MSB) 39 10 " 1 111 2 00 (b) 48 10 "", 2 " 24 resto de O (LSB)24 ..... 2 " 12 resto de O 12 -+- 2 - 6 resto de O6 ... 2 " 3 resto de O3-+-2= l resto de 1 l .... 2 = O resto de l (MSB)48 10 = 11000022.2. NUMEROS HEXADECIMALESUna posicin de la memoria de una microcomputadora puede contener el nmero binario; 10011110. Esta larga cadena de ceros y unos es dificil de recordar y teclear. El nmero 100111102puede convertirse en un nmero decimal. Una vez convertido ste es el nmero 15810 Esteproceso de conversin es demasiado largo. La mayora de los sistemas de microcomputadorasutilizan la notacin hexadecimal para simplificar la tarea de recordar y teclear nmeros binarioscomo por ejemplo 100 III 10.El sistema de numeracin hexadecimal, o de base 16, utiliza los 16 smbolos del O al 9, A, B,C, D, E Y F. Los equivalentes binarios, hexadecimales y decimales se muestran en la Figura2A. 25. NUMEROS, CODIGOS DE COMPUTADORA y ARITMETICA17 Binario, " Decimal Hexadecimal 842 I OOOOOO1I OOO 1 22OO1O 33OO1 1 44O1OO 55O1O I 66OI1O 77O11 1 881OOO 991OO 1 10 A1O1O 11 B1O1 l 12 e11OO 13 D11O 1 14 EII1O 15 FII1 1Figura 2.4. Contar en decimal, hexadecimal y binario. Observar en la Figura 2.4 que cada smbolo hexadecimal representa una nica combinacin de 4 bits. El nmero binario 10011110 puede entonces ser representado como 9E en hexadeci mal. Esto es, la parte 1001 del nmero binario es igual a 9, de acuerdo con la Figura 2.4, y la parte 1110 del nmero binario es igual a E en hexadecimal. Por tanto 100111102 es igual a 9Ew Recordar que el subndice indica la base del nmero. Convertir el nmero binario 111010 en hexadecimal (hex). Comenzar por el LSB y dividir el nmero binario en grupos de 4 bits cada uno, como indica la Figura 2.5a. Entonces sustituir cada grupo de 4 bits por su dgito hex equivalente. El 10102 es igual a A en hex (ver Fig. 2.4). Eloo11 2 es igual a 3 en hex. Por tanto 1110102 es igual a 3A16 Convertir el nmero hexadecimal 7F a su equivalente binario. La Figura 2.5b muestra que cada dgito hex es sustituido por su equivalente binario de 4 bits. En este ejemplo, el binario 0111 es sustituido por el hex 7 y 1111 2 sustituye a F16 Por tanto 7F I6 es igual a 11111112 Grupo de 4 bits Grupo de 4 bits Hexadecimal7 F ---.---. Binario0011 1010 ~ ~++---. Hexadecimal 3ABinario 01111111 (a) Conversin de binario a hexadecimal (b) Conversin de hexadecimal a binario Figura 2.5." . 26. r18FUNDAMENTOS DE LOS MICROPROCESADORES La notacin hexadecimal es muy utilizada para representar nmeros binarios. Las personasque utilizan la notacin hexadecimal deben memorizar la tabla mostrada en la Figura 2.4. Convertir el nmero hexadecimal 2C6E a su equivalente decimal. El procedimiento se muestra en la Figura 2.6a. Los valores de posicin para los cuatro primeros dgitos decimales son 4096,256, 16 y 1. El nmero hexadecimal contiene catorce (E I6 ) 1, seis 16, doce (C I6 ) 256 y dos 4096.Cada valor de posicin se multiplica y los productos se suman para obtener 11.374,0 Convertir el nmero decimal 15.797 a su equivalente hexadecimal. El procedimiento se muestra en la Figura 2.6b. La primera lnea indica 15.797 10 dividido por 16, dando un cociente de987 10 con un resto de 5 10, El resto se convierte entonces a su equivalente hexadecimal. Por tanto5 10 es igual a 5 16, El resto hexadecimal (5 16) se convierte en el dgito menos significativo (LSD) delnmero hexadecimal. El primer cociente (987) es el dividendo en la segunda lnea y se divide por16. El segundo cociente es 61 con un resto de 11,0 o B hexadecimal. La lnea 3 muestra 61dividido por 16, dando un cociente de 3 con un resto de 13 10, o D6 La cuarta lnea de laFigura 2.6b muestra el dividendo (3) dividido por 16, dando un cociente de O con un resto de 310 3 16 , Cuando el cociente se hace O, corno en la lnea 4, se termina el clculo. El 3 16 es el dgitoms significativo (MSD). El procedimiento mostrado en la Figura 2.6b convierte el nmero decimal 15.797 en su equivalente hex de 3DB5 16.Potencias de 16 163 162 16 160Valor de posicin4096 256 16 1Hexadecimal2e6E l l l l 4096 256 16 x2 xl2 x6x14Decimal8192+ 3072+96+14 11.374 10 fa) Conversin de hexadecimal a decimalLSD,15.797 10 + 16 - 987 resto de 5 10 = 56 987+ 16-61 resto de 11 10 =8 16 .. ! 61+ 16 - 3 resto de 13 10 - DI6..3+ 16 = O resto de 310 - 31615.797 10 = 3 D 8(b) Conversin de decimal a hexadecimal Figura 2.6. 27. NUMEROS, COOJGOS DE COMPUTADORA Y ARITMETICA 19PROBLEMAS RESUELTOS2.9. La notacin hexadecimal es muy utilizada, para trabajar con las microcomputadoras, como mtodo abreviado de representar nmeros ___ (binarios, decimales). Solucin: La notacin hexadecimal es muy utilizada para representar nmeros binarios. 2.10. El sistema de numeracin hexadecimal a veces se denomina sistema de base ___ . Solucin:El sistema de numeracin hexadecimal a veces se denomina sistema de base 16 debido al uso de 16 smbolos nicos.2.11. Convertir los siguientes nmeros hexadecimales a sus equivalentes binarios:(a) C (e) F (e) lA(b) 6 (d) E2if) 3D Solucin: Utilizando la tabla de la Figura 2.4, seguir el procedimiento de la Figura 2.5b. Los equivalentes binarios para los nmeros hexadecimales son los siguientes: (a) C I6 = 11002(e) Fi 1111 2(e) IA I6 000110102 (b) 6 1 =01102 (d) E2 1 = 111000102 (f) 30 16 -00111101 22.12. Convertir los siguientes nmeros binarios en sus equivalentes hexadecimales:(a) 1001 (e) 1101(e) 10000000(b) 1100 (d) 1IIlif) 01111l1O Solucin: Utilizando la tabla de la Figura 2.4, seguir el procedimiento de la Figura 2.5a. Los equivalentes hexadecimales para los nmeros binarios son los siguientes: (a) 1001 2 =9 16(e) 1101 2 =0 16(e) 100000002 -80 16 (b) 1l00 2 -C I6(d) 11112=F16(f) OJl11110 2 -7E 162.13. Convertir los siguientes nmeros hexadecimales en sus equivalentes decimales:(a) 7E (b) DB(e) 12A3(d) 34CF Solucin: Utilizando la tabla de la Figura 2.4, seguir el procedimiento de la Figura 2.6a. Los equivalentes decimales a los nmeros hexadecimales son los siguientes: (a) 7E I6 - (16 x 7) + (1 x 14) = 126 10 (b) OB I6 ={l6x 13)+(1 x 11)-219 10 (e) 12A3 16 =(4096 x 1)+(256x2)+(l6x 10)+(1 X 3)=4771 10 (d) 34CF6=(4096 x 3)+(256x4)+(16 x 12)+(1 x 15) 13.51902.14. 48.373 10 = - - 1 6Solucin:Utilizando la tabla de la Figura 2.4, seguir el procedimiento de la Figura 2.6b. 48.373 10 + 16 - 3023 resto de 5 10 = 5 16 (LSO) 3023 +- 16 = 188 resto de 15 10 FI188+16 llrestodeI2o=C6 11+16- Orestodell lO =B6(MSO) 48.373 10 - BCF5 16 28. 20 FUNDAMENTOS DE LOS MICROPROCESADORES2.3. NUMEROS BCDLos nmeros binarios puros se representan en notacin hexadecimal para hacer ms fcil laconversin. Sin embargo, la conversin binario a decimal es bastante dificil. En calculadoras,juegos e instrumentos digitales, donde son frecuentes las entradas y salidas del usuario en decimal, se utiliza un cdigo especial para representar los nmeros decimales. Este cdigo se denomina BCD (decimal-codificada-binario). Las equivalencias entre decimal y BCD se muestran en latabla de la Figura 2.7a. Tcnicamente, esta tabla detalla el cdigo BCD 8421. La parte del nombre8421 da el valor de la posicin a los 4 bits del cdigo BCD. Tambin se utilizan otros cdigosBCD, como por ejemplo el cdigo BCD 5421 Y el cdigo de exceso 3. BCD Decimal 8 421 Decimal3 69I! !!!OO OOO BCD0011 0110 1001 00011O OO1(b) Conversin de decimal a BCD2O O1O3O OI14O 1OO BCD1000 0000 0111 0010SO 1O1! J, !J,6O 11O Decimal8 O727O 111(e) Conversin de BCD a decimal81 OOO91 OOI(a) Cdigo BCD 8421 ! ., .~ , Figura 2.7.Convertir el nmero decimal 3691 a su equivalente BCD 8421. El procedimiento se muestraen la Figura 2.7b. Cada dgito decimal se traduce directamente a su equivalente BCD de 4 bits.Este ejemplo muestra que 3691 10 es igual a 00 11 0110 1001 0001 BCDConvertir el nmero BCD 1000 0000 0111 0010 a su equivalente decimal. El procedimientoS detalla en la Figura 2.7c. Cada grupo de 4 bits se traduce directamente a su equivalente decimal. Este ejemplo muestra que 1000 0000 0111 OOIOBCD es igual a 8072 10,. Los microprocesadores suman los nmeros binarios puros. Sin embargo, muchos microprocesadores tienen instrucciones especiales para cambiar el resultado de las sumas a notacin BCD. Elnmero BCD se interpreta fcilmente entonces como nmero decimal utilizando los sencillosprocedimientos mostrados en las Figuras 2.7 by c. 29. NUMEROS, CODlGOS DE COMPUTADORA Y ARTTMETlCA21 PROBLEMAS RESUELTOS2.15. Las letras BCD significan _ _ _ _ _ _ .Solucin:Las letras BCD significan decimal codificado binario. 2.16. La notacin BCD ms comn es el cdigo _ _ (5421, 8421).Solucin:La notacin BCD ms comn es el cdigo BCD 8421. 2.17. Convertir los siguientes nmeros decimales en sus equivalentes 8421 BCD:(a) 3Q (e) 40(e) 82(b) 65 (d) 17(f) 99Solucin:Seguir el procedimiento de la Figura 2.7 b. Los equivalentes BCD para los nmeros decimales sonlos siguientes:(a) 39 10 =0011 100locD(e) 40 1O -0100OOOO OCD(e) 82 10 - 100000lOocD(b) 65 10 = 01 1001OI oco(d) 17 10 = 0001 Ollloco (j) 99 10 = 1001 100l oco2.18. Convertir los siguientes nmeros BCD 8421 en sus equivalentes decimales:(a) 10000000(e) 10010010(e) 01000011(b) 00000001(d) 01110110(f) 01010101Solucin:Seguir el procedimiento mostrado en la Figura 2.7c. Los equivalentes decimales para los nme ros BCD son los siguientes:(a) 1000 Oooooco = 80 10 (e) 1001 OOIOocD- 92 10 (e) OIOOOOlI oco 43 10(b) 00000001 BCD - 110 (d) 01l10IIOBCO=7610(j) OlOIOlOl ocD 55 102.4. ARITMETICA BINARIA Sumar, restar o multiplicar nmeros binarios se realiza de forma similar a la aritmtica decimal.La mayora de los microprocesadores tienen instrucciones para sumar y restar nmeros binarios.Los microprocesadores ms avanzados tienen incluso instrucciones para multiplicar y dividir, porejemplo, los 8086, 8088, 80286, 80386 Y 68000.Las sencillas reglas para la suma binaria se muestran en la Figura 2.8a. Las dos primeras reglasde la parte izquierda son obvias. La tercera regla 1 + 1 == 10 muestra que el bit ms significativo esarrastrado a la siguiente posicin de orden superior. La cuarta regla muestra que en binarioI + I + 1 = 11. Aqu los sumandos y el arrastre son todos unos. El resultado es una suma de 1 conun arrastre de l.Sumar los nmeros binarios 00 111 OlI Y00 1O1OIO. Este problema se ilustra en la Figura 2.8b.Comprobar este procedimiento. Los equivalentes decimales de los nmeros binarios se muestran,por conveniencia, a la derecha. La suma de 00111011 y 00101010 se muestra enJa Figura 2.8b yes 01100101 2,I 30. 22 FUNDAMENTOS DE LOS MICROPROCESADORES_ _ ArraSlrede Arrastres+~ ~s~g~.iente1 fla 11 II IIPrimer sumandoSegundo sumandoO +0 1]+iI po$lClonPrimer sumando00 1 1 101159 +1menos Segundo sumando + 00 1 O !O 10 + 42Suma O 1/ 10I .TIsignificativa SumaArraslre a Arrastrela siguiente (b) Problema de suma binariaposicin mssignificativa (a) Reglas para la suma binaria Figura 2.8.Las reglas para la resta binaria se muestran en la Figura 2.9a. Las tres primeras reglas soniguales que en la resta decimal. La ltima regla requiere un prstamo de la siguiente posicin mssignificativa (la posicin del 2). Con el prstamo, el minuendo se convierte en el binario 10, comoel sustraendo es l la diferencia es l.o110(10o1fWO _107 I 1fji 1f Minuendo O 11O0,0,0101 ~5 Sustraendo-O-1-O-1 -00111001-57 DiferenciaO O 1 1 000111002"28 10 (a)Reglas para la sustraccin binaria (b)Problema de sustraccin binaria Figura 2.9.Restar el nmero binario 00 lII 00 I de OIO1O101. Este problema ejemplo se detalla en laFigura 2.9b. Las columnas del 4, 2 Y l del problema de resta binaria son bastante sencillas deseguir utilizando las tres primeras reglas de la Figura 2.9a. La columna del 8 muestra un lrestndose de un O. Se toma prestado un l de la columna del 16 y se resta l de 101, obtenindoseuna diferencia de 1 de acuerdo con la cuarta regla de la Figura 2.9a. Despus del prstamo, lacolumna del 16 muestra un 1 restado del nuevo minuendo O. Segn la regla 4, hay que tomarprestado un 1 de la siguiente posicin ms significativa (la posicin del 32). El minuendo de laposicin 32 es O, por lo que entonces hay que tomar prestado elide la posicin 64. La posicindel 32 toma un prstamo de la posicin del 64. Finalmente, la posicin del 16 puede tomarprestado de la posicin del 32. El minuendo de la posicin del 16 es entonces 102 , Yel sustraendoes 1 dando una diferencia de l. La posicin del 32 ahora muestra 1 - I dando una diferencia de O.La posicin del 64 muestra O - O dando una diferencia de O. La posicin del 128 muestra O - Odando tambin una diferencia de O. En resumen, el problema ejemplo de la Figura 2.9b muestraque el binario 00 111 00 1 restado de O1O1O101 2 da una diferencia de 000 11 1002, El problematambin se muestra en forma decimal a la derecha.Las reglas para la multiplicacin binaria se muestran en la Figura 2. lOa. Las dos primerasreglas no necesitan explicacin. El multiplicador es I en las dos ltimas reglas. Cuando el multiplicador es 1 en la multiplicacin binaria, el multiplicando se copia como producto. Cuando elmultiplicador es O, el producto siempre es O. 31. NUMEROS. CODlGOS DE COMPUTADORA Y ARITMETICA23 Multiplicando Oo Multiplicando1101 13 MultiplicadorxO xOxl xlMultiplicador x 101x5 ProductoO O O 1Primer producto parcial110165 10Segundo producto parcial 0000Tercer producto parcial 1101Producto final 1000001 2 (a) Reglas para la multiplicacin binaria (b)Problema de multiplicacin binaria Figura 2.10.Multiplicar los nmeros binarios 1101 y tOl. Este problema ejemplo se muestra en la Figura 2.1 Ob. Como en la multiplicacin decimal, el multiplicando se multiplica primero por el dgitomenos significativo (en este caso el bit del 1). El bit del 1 del multiplicador es 1, por tanto elmultiplicando se copia como primer producto parcial. El bit del 2 del multiplicador es un O, portanto el segundo producto parcial es 0000. Observar que ste se desplaza una posicin a laizquierda. El bit del 4 del multiplicador es 1, por tanto el multiplicando se copia como tercerproducto parcial. Observar que 110 1 se copia despus del segundo desplazamiento a la izquierda.Los productos parciales primero, segundo y tercero se suman, dando el producto final de10000012 En resumen, la Figura 2.lOb muestra que lI01 2 x 101 2 = 1000001 2 o que13 lo x 5 10 = 65 10, PROBLEMAS RESUELTOS2.19. Resolver los siguientes problemas de suma binaria: (a) 1010(b)1101(e)01011011(d)00111111+0101 +0101+00001111+00011111Solucin:Acudir a la Figura 2.8. Las sumas binarias de los problemas son las siguientes:(a) 1111 (b) 10010 (e) 01101010 (ti) 010111102.20. Resolver los siguientes problemas de resta binaria: (a) 1110(b)1010(e)01100110(ti)-1000 -O 10 I-000110 10Solucin: Acudir a la Figura 2.9. Las diferencias binarias de los problemas son las siguientes: (a) 0110(b) 0101(e) 01001100(ti) 001110012.21. En un problema de multiplicacin el nmero de arriba se denomina ___ mientras que el de abajo se denomina multiplicador y el resultado se denomina ___ . Solucin:En un problema de multiplicacin el nmero de aniba se llama multiplicando, mientras que el de abajo se llama multiplicador y el resultado se llama producto. 32. 24 FUNDAMENTOS DE LOS MICROPROCESADORES2.22.Resolver los siguientes problemas de multiplicacin binaria: (a) 1001 (b) 1101 (c) 1111 (d) 1110 xllx 1001 xlOl xli 10 Solucin:Acudir a la Figura 2.10. Los productos de los problemas son los siguientes: (a) 11011(b) 1110101(e) 1001011 (ti) 110001002.5. NOTACION EN COMPLEMENTO A 2Generalmente, en las computadoras se utilizan los nmeros binarios. Sin embargo, a veces seutiliza un cdigo especial denominado notacin en complemento a 2 cuando se necesitan nmeros con signo. Este sistema simplifica la circuitena de la computadora.Un registro o posicin de almacenamiento en un microprocesador puede ser como el de laFigura 2.11 a. Este registro tiene espacio para datos de 8 bits. Las posiciones de los bits se numeran del 7 al O. Los valores de las posiciones binarias se muestran en la parte inferior del registro.El bit 7 ser el de la posicin del 128, el bit 6 el de la posicin del 64, etc. 76543210 I I IIIIIII 128 64 32 16 84 2 1 Valores binarios de .posicin (a)Etiquetas de las posiciones de memoria de un registro de 8 bits76543210 76543210lo I I I 1I I I I11 I I 1 I I I I I - (+)Bit de 64 32 16 84 1 1 Valores binarios de posicin----......---(- ) Bit de NotaCIn ensignosigno complemento a2 (b) Los nmeros positivos se identifican por un O en(e)Los nmeros negativos se identifican por un 1 en la posicin del bit del signo del registrola posicin del bit de signo del registro Figura 2.11 .La organizacin ms frecuente de un registro de 8 bits utilizado para almacenar nmeros consigno se muestra en las Figuras 2.11 b y c. El bit 7 en ambos registros es el bit de signo. Este bitdice si el nmero es (+) positivo o (-) negativo. UnO en la posicin del bit de signo significa queel nmero es positivo, mientras que un 1 indica que el nmero es negativo.Si el nmero con signo es positivo como en la Figura 2.11 b, las restantes posiciones de memoria (6-0) contienen un nmero binario de 7 bits. Por ejemplo, si el contenido del registro de laFigura 2.11 b fuese 01000001, significara el decimal +65 (bit de signo positivo + 64 + 1). Si elcontenido del registro de la Figura 2.11 b fuese 01111111, sera + 127 10 (bit de signo positi 33. NUMEROS. CODlGOS DE COMPUTADORA Y ARITMETICA25Representacin deDecimal nmeros con signo +1270111 1111 Nmeros positivos representados 0000 1000igual que en +8 +70000 0111binario puro +60000 0110 +50000 0101 +40000 0100 +30000 0011 +20000 0010 +10000 0001 +00000 0000 -11111 1111 Nmeros negativos -21111 1110representados en -31111 1101forma de -41111 1100 complemento a 2 -51111 1011 -6llll 1010 -71111 1001 -81111 1000 -1281000 0000Figura 2.12. Nmeros decimales con signo y sus equivalentes en la notacin de complemento a 2.vo + 64 + 32 + 16 + 8 + 4 + 2 + 1). Este es el mayor nmero positivo que puede ser representadoen este registro de 8 bits.Si el nmero con signo es negativo como en la Figura 2.11 e, el registro contendr la forma encomplemento a 2 de ese nmero. La tabla de la Figura 2.12 muestra la notacin en complementoa 2 para nmeros positivos y negativos. Observar que los nmeros positivos tienen un O en elMSB, mientras que el resto de los nmeros corresponden a un nmero binario. Los nmerosnegativos tienen un I en el MSB. Observar la lnea +0 de la tabla de la Figura 2.12. La notacinen complemento a 2 para +0 es 00000000. En la lnea siguiente, observar que 11111111 es lanotacin en complemento a 2 de -l. Imaginar que el sistema es un odmetro que cuenta haciaatrs a medida que se avanza de 00000000 a 1I1 I 1111.Cul sera la notacin en complemento a 2de -91 Los pasos para hacer esta conversin seesbozan en la Figura 2. 13a y son los siguientes: Paso 1. Listar el nmero decimal sin signo. Escribir 9 en este ejemplo. 34. 26 FUNDAMENTOS DE LOS MICROPROCESADORES Paso 2. Convertir el nmero decimal a binario. Escribir el nmero binario 00001001 en esteejemplo. Paso 3. Complementar cada bit formando el complemento a l. En este ejemplo escribir11110110 como complemento a l. Paso 4. Sumar I al nmero en complemento a I. En este ejemplo sumar 1 a I I I 10 110. Decimal 9 l~Escribir decimalBinario 00001001C5:> Convertir a binarioComplemento a I l1111010V Complementar cada bitComplemento a 2+11110111 =-96? Sumar + (a) Formacin del complemento a 2 de un nmero negativo~Cmplemento a 2 11110000 Escribir complemento a 2l Paso Complementar cada bit 2Complemento a I0000111Binario+ 0000000 - 16V Sumar + 1 (b) Clculo del decimal equivalente para un nmero en complemento a 2 Figura 2.13. . : ,;El resultado es la notacin en complemento a 2 para el nmero decimal negativo. En esteejemplo, en la Figura 2.13a, -9 es igual a I 1 I 101 1 I en forma de complemento a 2. Observar queel bit de signo A- AAA-A-Entrada Salida IOIO Entradas SalidasAND AB-Y~:[)-Y BA AND NANDEntradasSalida OO O INANDADB Y O IIIOIOOIIIOAB-YI1 Entradas SalidasOR A+B-YA=D YBBA OR NOREntradasSalida OO O 1 OJ I O;=L)o-Y 1 O I O A+B-YNOR 1 I I O Entradas SalidasOR exclusiva A (J)B-Y~j[)-Y B AXOR XNOREntradasSalida OO O 1 OI I ONOR exclusiva D- I I O IIOOI A@B-YFigura 3.1 . Las siete funciones lgicas comparadas.~ ----, Entrada~ida ""--NOT?d e b aFigura 3.2.Problema del inversor. 49. DISPOSITIVOS DIGITALES BASICOS41EntradasSalida 11..!fil.!..~d bca ~, ~---(a)Problema de la puerta ANO EntradasSaJida ll.!.Ji1..2....~ ~? Ad cb ,a~-..r- (b) Problema de la puerta OR EntradasSaJida ~~Adc,ba ~?~~~ (C) Problema de la puerta XOR Figura 3.3. Cul es el nibble de salida despus que 10 1O y 1001 realicen la operacin OR exclusiva(XOR) en la Figura 3.3c. Utilizando la tabla de verdad XOR de la Figura 3.1, se determina que elresultado de la operacin XOR de 10 10 con 100 l es 00 11. Los microprocesadores pueden realizar operaciones lgicas. Normalmente un microprocesador tendr instrucciones NOT (complementacin o negacin), ANO, OR Y XOR. Estas instruc. ,ciones operan sobre grupos de bits similares a los de las puertas lgicas de las Figuras 3.2 y 3.3.PROBLEMAS RESUELTOS3.1. Citar los nombres de siete funciones lgicas. Solucin:Acudir a la Figura 3.1. Las siete funciones lgicas se denominan NOT (inversor) ANO, NANO, OR, NOR, OR exclusiva (XOR) y NOR exclusiva (XNOR).3.2. Citar los nombres de cuatro funciones lgicas que pueden ser realizadas por las sencillas instrucciones de un microprocesador.Solucin: Muchos microprocesadores tienen instrucciones que realizan las funciones lgicas NOT, ANO,ORyXOR.3.3. Si un microprocesador realiza la operacin ANO de 1100 con 10 11, el nibble de salida ser _ _ . Solucin:Acudir a la tabla de verdad ANO de la Figura 3.1. La salida resultante de la operacin ANO de 1100 con 1011 ser 1000., ," 50. 42 FUNDAMENTOS DE LOS MICROPROCESADORES3.4. Si un microprocesador realiza la operacin OR de 00 1r con 1000, el (mibble de salida ser _ _ . Solucin: Acudir a la tabla de verdad OR de la Fisura 3.1. El resultado de salida de la operacin OR de ()() I I con 1000 ser 1011.3.5. Si un microprocesador complementa (NOT) 1001, el nibble)~de salida ser _ _ . Solucin:Acudir a la tabla de verdad del inversor de la Figura 3.1. La salida resultante de complementar 1()() 1 ser 0110.3.6. Si un microprocesador realiza la operacin XOR de 0011 con 0110, el nibble de salida ser _ _ . Solucin:Acudir a la tabla de verdad OR exclusiva de la Figura 3.1. La salida resultante ser OI Ol.3.7. Describir las salidas de la puerta NANO de la Figura 3.4. Solucin: Acudir a la tabla de verdad NANO de la Figura 3.1. Los pulsos de salida de la Figura 3.4 sern los siguientes: pulso a - 1pulso e - 1 pulso b = Opulso d- 1 Entradas Salida OOlll-L-~ de b a~?~~ Figura 3.4.Problema del tren de pulsos.3.8. Describir la salida de la puerta XNOR de la Figura 3.5.EntradasSalida~~A de b a ~?-2..JiIl..!..~" ,.,Figura 3.5. Problema del tren de pulsos.Solucin:Acudir a la tabla de verdad NOR exclusiva de la Figura 3.1. Los pulsos de salida de la Figura 3.5sern los siguientes:pulso a - Opulso e = 1pulso b - Opulso d- 1 51. DISPOSITIVOS DIGIT AtES BASICOS 433.2. COMBINACION DE PUERTAS LOGICASLos sistemas digitales estn formados por combinaciones de puertas lgicas, las cuales pueden serdescritas por una tabla de verdad, expresiones booleanas o diagramas de smbolos lgicos. Considerar la tabla de verdad de la Figura 3.6a, que muestra todas las posibles combinacionesde cuatro entradas (D, e, B y A). Observar que slo la combinacin 1010 producir una salida l. EntradasSalidaEntradasSalida D e BA YD rRA Y o o ooo1ooo o o o o 1 olo0 1 o o ol oo1o1o 1 o o1l o1o11 o o 1 oooI1oo o o I o I oI1o1 o o I1 ooI11o o o 1I1 o1II1 o (a)Conversin de una tabla de verdad a la expresin booleana equivalenteD.C.B.A .. YL~ __l-----,Ay e- - - - -.... D _ _ _ _ _ _ _....J SalidaEntradas (b) Conversin de una expresin booleana a su diagrama de smbolos lgicosEntradasSalida (e) Diagrama simplificado de los smbolos lgicos . Figura 3.6. 52. c 44 ruNDAMENTOS DE LOS MICROPROCESADORESo de nivel ALTO. Una expresin booleana equivalente para esta tabla de verdad se indica en laparte derecha de la tabla de la Figura 3.6a. Las entradas realizan la operacin ANO, formandola expresin booleana D . c B . A = y (se lee D ANO no e ANO B ANO no A igual a lasalida }).A continuacin se obtiene un diagrama de smbolos lgicos para la expresin booleana. Esteprocedimiento est esbozado en la Figura 3.6b. Las entradas A y e deben de complementarseutilizando un inversor. La salida es una puerta ANO de 4 entradas.Una versin simplificada del mismo diagrama lgico se muestra en la Figura 3.6c. En estediagrama los inversores aparecen como burbujas inversoras. Estas burbujas inversoras tambinpueden considerarse como entradas activas en el nivel BAJO (o en BAJA). En otras palabras, paraactivar la puerta ANO de la Figura 3.6c, las entradas A y e deben estar en el nivel BAJO y las B yD en el nivel ALTO. Como las entradas B y D deben de estar en el nivel ALTO para activar lapuerta ANO, se consideran entradas activas en el nivel ALTO (o en ALTA).Entradas SalidaEntradas SalidaD e B A Y De B AYo o o o o Io o o1 , o o oIo 1o oI oo o1o o 1o I oo oo o11 o 1o 1I oo I o o o I1 o ooo 1 o 1 o 1/ 1 o1 1io 11o o 11 1 oo.~~fo Entradas(a)11 1o 11 11 o Conversin de una tabla de verdad a la expresin booleana equivalente en mintermsji"f, A -.....--i )o--.:~----.--"" B---+--~--~~~--~_4D.C.B:l~ C--~------~~~>O_+_4Salidas:~7,,: D~++------------~--~~__~!,. (b) Conversin de una expresin booleana en minterms a su diagramade smbolos lgicos Figura 3.7. 53. DISPOSITIVOS DIGITALES BAstCOS45Considerar la tabla de verdad de la Figura 3.7a. Oos combinaciones de entrada producirn un ..1 salida ALTA. La expresin booleana de esta tabla de verdad es entoncesD . L . 11 . A + D . e . 11 . A = Y (se lee D ANO no e ANO no B ANO no A OR D ANO e."--~ no B ANO A igual a la salida Y).La expresin booleana es convertida a continuacin a un diagrama de smbolos lgicos. Esteprocedimiento se ilustra en la Figura 3.7b. Observar que este tipo de expresin booleana creapatrones de puertas lgicas ANO-OR, siendo la puerta OR la ms cercana a la salida. El patrn deesta expresin booleana se denomina forma de suma de productos o minterms. Las expresionesbooleanas son generadas a partir de los unos de la columna de salida de la tabla de verdad de laforma mostrada en la Figura 3.7a. PROBLEMAS RESUELTOS3.9. Acudir a la Figura 3.6c. Las entradas B y D son entradas activas en el nivel ___ (ALTO, BAJO), mientras que las entradas A y e son activas en el nivel _ _ (ALTO, BAJO). Solucin:En la Figura 3.6, las entradas By D son activas en el nivel ALTO, mientras que A y e son activas en el nivel BAJO. En otras palabras, la puerta ANO de 4 entradas puede ser activada (la salida est en el nivel ALTO) solamente cuando las entradas A y e son BAJAS y las B y D son ALTAS.3.10. Escribir la expresin booleana de la tabla de verdad de la Figura 3.8. Solucin:Hay dos combinaciones de entradas que producen una salida ALTA en la tabla de verdad de la Figura 3.8. A partir de estas combinaciones se desarrolla la expresin booleana en minterms: ~jA+DCBA=~ .,oEntradasSalida EntradasSalida De BA YDe BA Y oo oo o1o oo o oo o 1o1o o 11 oo1 o o1o1 oo oo11o1o11 o o1 oo o11 ooo o1 o 1oI1 o1o o11 o o11 1oo o111o11 11 1 Figura 3.8. 54. 46 RlNDAMENTOS DE LOS MICROPROCESADORES3.11. Dibujar el diagrama de smbolos lgicos de un circuito que genere la tabla de verdad de laFigura 3.8. Solucin: La expresin booleana para la tabla de verdad mostrada en la Figura 3.8 es D . e. Ji . A + D . e . B . A = Y. A partir de esta expresin se dibuja el diagrama de smbolos lgicos AND-OR mostrado en la Figura 3.9.D.C.S.ASaliday Entradas A--~+;---------r--~ B---+~--------~c----~--------~D----~~------_L__~ Figura 3.9. Solucin del diagrama lgico.3.3. FLIP~FLOPS y CERROJOSLos circuitos lgicos pueden clasificarse en dos grandes categoras. El primer grupo es el de loscircuitos lgicos combinacionales, que est compuesto de puertas. El segundo grupo es el de loscircuitos lgicos secuenciales, que incluye unos dispositivos denominados flip-flops. Los flipflops estn interconectados para formar circuitos lgicos secuenciales para almacenamiento dedatos, temporizacin, conteo y secuenciamiento. Los flip-flops tienen una caracterstica de memoria extremadamente valiosa. Un flip-flop recordar sus entradas an despus de que stas sehayan eliminado. Una puerta lgica sin embargo, no recordar su estado de salida despus quese eliminen las entradas.El smbolo lgico para el flip-flop D (tambin llamado fliPllop de datos) aparece en la Figura 3.1 Oa. El smbolo lgico muestra dos entradas etiquetadas D (para datos) y CK (para reloj). Losflip-flops habitualmente tienen salidas complementarias etiquetadas Q y"Q (no Q). La salida Q esla utilizada con ms frecuencia y se considera la salida normal. La salida "Q se denomina la salidacomplementaria o invertida del flip-flop. El > en la entrada CK del smbolo lgico D denota queeste flip-flop transfiere datos de la entrada a la salida en el flanco positivo (t) del pulso de reloj.Los modos de operacin del flip-flop D se muestran en la columna izquierda de la tabla de laFigura 3.lOb. Poner en set el flip-flop significa cargar un 1 en la salida normal (Q). La primeralnea de la tabla de verdad de la Figura 3.1 Oh muestra que colocando un l en la entrada D ypulsando una vez la entrada CK (reloj) la salida Q se pone a l. La segunda lnea muestra lareinicializacin (reset) del flip-flop. Reinicializar significa borrar la salida Q (ponerla a O). Mantener (hold) significa almacenar el dato de salida. Cuando el flip-flop est en el modo de mantenimiento, los cambios en el estado lgico de los datos de entrada no ocasionan ningn cambio en 55. DIsPOsmvos DIGITALES BAStCOS 47EntradasSalidas Modo de operacinD CK QQ EntradasSalidas Set1fDatoQNormal FFReiniciali zacinOf O1Reloj CK Manteni No pulsoIgual queQX Complementariamiento de relojantes 0= BAJOI-ALTO X irrelevante t - transicin BAJA-ALTA del pulso de reloj(a) Smbolo lgico para el Oip-flop D (b) Tabla de verdad para el flip-flop DFigura 3.10.las salidas. La condicin de mantenimiento ilustra la caracterstica de memoria del flip-flop D.Observar que las operaciones de set y reinicializacin se refieren a la salida Q.Considerar el smbolo lgico de la Figura 3.11 a correspondiente a un cerrojo transparente de4 bits. Cada cerrojo (flip-flop) dentro del smbolo es un dispositivo de almacenamiento o memoria. Pensar que el cerrojo de 4 bits contiene 4 flip-flops D con sus entradas de reloj conectadas a laentrada de habilitacin (enable) (E) mostrada en el smbolo de la Figura 3.11 a. De acuerdo con latabla de verdad del cerrojo de la Figura 3.11 b, cuando la entrada de habilitacin (E) est enALTA (a 1), los datos de las entradas D son transferidos a sus respectivas salidas (QO-Q3) Lapalabra de 4 bits llega en forma paralela (opuesta a la forma serie) y tambin sale en formaparalela. A esto se denomina entrada paralela y salida paralela. El dispositivo de almacenamientocerrojo es una aplicacin realizada con flip-flop.El flip-flop JK es probablemente el ms utilizado en los circuitos lgicos secuenciales, debido asu adaptabilidad. El smbolo lgico de un flip-flop JK se muestra en la Figura 3.12a. Este flip-floptiene dos entradas de datos etiquetadas J y K ms una entrada de reloj (CK) y las salidas Q(normal) y (mayor que) que est junto a la entrada de reloj. El flip-flop D es disparado en la transicin L aH (BAJA a ALTA) del pulso de reloj. Esto se muestra en la tabla de verdad y en el smbolo lgico(la no existencia de circulito en la entrada CK implica que es necesario un 1 para activar el reloj).El flip-flop D tambin se denomina flip-flop disparado por flanco positivo ya que es la transicinpositiva del pulso de reloj la que dispara al flip-flop. El flip-flop JK es una flip-flop disparado por flanco negativo. Esto se muestra en la tabla deverdad y en el smbolo lgico de la Figura 3.12. El circulito en la entrada CK, del smbolo lgicodel flip-flop JK, implica que es necesario un nivel BAJO para activar el reloj. Debido a que elflip-flop JK es disparado por flanco, realmente es en la transicin H a L (ALTA a BAJA) (negativa) del pulso de reloj cuando se dispara el flip-flop. El cerrojo transparente de 4 bits de la Figura 3.11 es un dispositivo disparado por nivel. Estosignifica que cuando la entrada de habilitacin (anloga a las entradas CK de los flip-flops) est enALTA, cualquier dato binario en las entradas (D 3-Do) aparecer inmediatamente en las salidas(Q3-QO) Por esta razn se dice que el cerrojo es transparente.) PROBLEMAS RESUELTOS .3.12. Los circuitos lgicos secuenciales contienen dispositivos llamados _ _ . Solucin:Los circuitos lgicos secuenciales contienen flip-f1ops.3.13. Una caracterstica de memoria utilizada para almacenar datos es tpica de _ _ (flipflops, puertas). / Solucin:Los flip-flops tienen una caracterstica de memoria y pueden utilizarse para almacenar datos.3.14. El flip-flop D tambin se denomina flip-flop _ _ . Solucin:El flip-f1op D tambin se denomina flip-flop de datos. A veces se llama flip-flop de retardo.3.15. La salida normal de un flip-flop es la salida _ _ (Q, Q). Solucin:La salida normal de un flip-flop es la salida Q). La salida Q es la invertida, o complementaria. -, 58. SO FUNDAMENTOS DE LOS MICROPROCESADORES3.16. Listar los tres modos de operacin del flip-flop D mostrado en la Figura 3.10. Solucin: Acudir a la tabla de verdad de la Figura 3.1 Ob. El flip-flop D puede operar en los modos de set, reinicializacin o mantenimiento.3.17. Listar el modo de operacin del flip"flop D durante cada uno de los cinco pulsos de relojde la Figura 3.13. Solucin:Acudir a la tabla de verdad de la Figura 3.1 Ob. Segn esta tabla, los modos del flip-flop D durante cada pulso de la Figura 3.13 son los siguientes: pulso a = modo setpulso d modo set pulso b = modo resetpulso e modo reset perodo de tiempo e (no pulso)" modo mantenimiento3.18. Listar los valores binarios de la salida normal (Q) del flip-flop D de la Figura 3.13 despusde cada uno de los pulsos de reloj. Solucin:Acudir a la tabla de verdad de la Figura 3.1 Ob. Las salidas binarias en Q del flip-flop D de la Figura 3.13 son: despus del pulso a = 1despus del pulso d - I despus del pulso b = Odespus del pulso e .., O perodo de tiempo e (no pulso) .. O (igual que despus del pulso b))EntradasSalidasO I I O,,--_..Q ? FFH..CKL LNOPUlSOQ? Figura 3.13. Problema del flip-flop D.3.19. Un cerrojo es un dispositivo de ---- (cuenta, almacenamiento). Solucin: La funcin principal de un cerrojo es la de almacenar datos. 3.20. Acudir a la Figura 3.11. La entrada de habilitacin de este cerrojo de 4 bits es activada porun _ _ (O, 1) lgico. Solucin:Acudir a la tabla de verdad de la Figura 3.11 b. De acuerdo con esta tabla, la entrada de habilita cin de este cerrojo de 4 bits se activa por un 1 lgico. 59. DISPOSITIVOS DIGITALES BASICOSSI3.21. Listar los cuatro modos de operacin del flip-flop JK de la Figura 3.12.. -.,Solucin: Acudir a la tabla de verdad de la Figura 3.12b. Los modos de operacin del flip-flop JK sonconmutacin, set, reinicializacin y mantenimiento.3.22. Listar el modo de operacin del flip-flop JK durante cada uno de los pulsos de la Figura 3.14.EntradasSalidasoo~ JQ?FF H L CKo O lo KQ?Figura 3.14. Problema del flip-flop JK.Solucin:j Acudir a la tabla de verdad de la Figura 3.12b. De acuerdo con esta tabla los modos del flip-flopj. :JK durante cada pulso de la Figura 3.14 son:pulso a = set pulso e"" conmutacinpulso b - conmutacin pulso f - resetpulso e - conmutacin pulso g = mantenimientopulso d = conmutacin pulso h conmutacin3.23. Listar los valores binarios de la salida normal Q del flip-flop JK de la Figura 3.14 despusde cada pulso de reloj.Solucin: Acudir a la tabla de verdad de la Figura 3.12b. Las salidas binarias en Q del flip-flop JK de laFigura 3.14 son las siguientes:despus del pulso a = se pone l despusdel pulso e = conmuta a 1despus del pulso b = conmuta a O despusdel pulso f = se pone a Odespus del pulso e = conmuta a I despusdel pulso g - se mantiene en Odespus del pulso d = conmuta a O despusdel pulso h = conmuta a I~.24. Acudir a la Figura 3.tO. Este flip-flop D es un dispositivo disparado por ___ (flanco,nivel).Solucin: El flip-flop D de la Figura 3.10 es un dispositivo disparado por flanco. Esto se muestra en eldiagrama lgico por el smbolo>. Tambin se muestra en la tabla de verdad por el smbolo t,indicando que el flip-l1op se dispara en la transicin H a L del pulso de reloj.,. 60. 52 FUNDAMENTOS DE LOS MICROPROCESADORES 3.25. Acudir a la Figura 3.11. Este cerrojo de 4 bits es un dispositivo disparado por _ _ (flan co, nivel).Solucin: El cerrojo transparente de la Figura 3.11 es un dispositivo disparado por nivel. 3.26. Acudir a la Figura 3.12. Este flip-flop JK es un dispositivo disparado por flanco _ _ (negativo, positivo).Solucin:El flp-flop de la Figura 3.12 es un dispositivo disparado por flanco negativo ya que se dispara enla transicin H a L (negativa) del pulso de reloj. 3.4. CODIFICADORES, DECODIFICADORES Y VISUALIZADORESDE SIETE SEGMENTOS Considerar el sencillo diagrama de bloques de la calculadora de la Figura 3.1Sa. En este sistema~digital la entrada decimal del teclado debe traducirse a forma decimal codificada en binario (BCD). Este proceso lo realiza un dispositivo digital llamado codificador. La traduccin de deci mal a BCD se denomina codificacin. La salida de la unidad central de tratamiento (CPU) est en forma decimal codificada en binario. El decodificador traduce el BCD al cdigo especial delvisualizador de siete segmentos. Para el usuario, el decodificador est traduciendo de BCD a decimaL Un diagrama lgico de un codificador de prioridad decimal a BCD se muestra en la Figu" ra 3.ISb. El codificador tiene 9 entradas activas en BAJA y 4 salidas conectadas a lmparas indicadoras. El cableado del teclado se muestra en la parte izquierda, cada tecla numerada est conectada a su entrada correspondiente del codificador. El ejemplo de la Figura 3.ISb muestra que al pulsar la tecla 7, se activa (pone a tierra) la entrada 7 del codificador. Esta entrada produce la salida BCD 0111, como muestran los visualizadores de la Figura 3.ISb. La mayora de los codificadores tienen una caracterstica de prioridad. Esto significa que si se pulsan dos teclas al mismo tiempo, la que tiene el valor decimal ms alto activar las salidas. Es claro que las conexiones de alimentacin son necesarias para completar el cableado del codificador de la Figura 3.ISb. El codificador puede comprarse en forma de CI, pero tambin puede ser construido a partir de puertas lgicas individuales. Probablemente se necesitarn entre 10 Y 20 puertas lgicas para implementar este circuito. Considerar el circuito decodificador-visualizador detallado en la Figura 3.1Sc. El decodifica dor BCD a siete segmentos traduce el O111 BCD a su equivalente 7 en el visualizador de siete segmentos. El visualizador utilizado en este circuito se denomina de nodo comn porque los siete LEOs (que forman los siete segmentos) tienen sus nodos conectados a la fuente de alimen tacin de +S V. El visualizador LEO de siete segmentos de la Figura 3.ISc tiene las entradas activas en BAJA, como muestran los circuitos en las entradas de la a a la g. Es necesario un nivel BAJO para activar un segmento del visualizador. Observar tambin que el decodificador tiene las salidas activas compatibles en BAJA. Los resistores de ISO n de cada lnea, entre el decodificador y el visualizador, son de limitacin para mantener las corrientes a niveles seguros. El ejemplo de la Figura 3.15c muestra que solamente las salidas del decodificador a, by c estn activadas (en O lgico). Las otras salidas (d, e, f y g) permanecen a I lgico. El visualizador de la Figura 3.ISc 61. DISPOSITIVOS DIGITALES BASICOS53 EntradaSalida[2][!J ~ EJ0~ r---0~0 ~ Unidad Codificador ----, central de tratamiento - I~;r,"", I O t Teclado Visualizador decimal (a)Diagrama de bloques simplificado de una calculadora!. TecladoEntradaSalida BCDdecimal98 Activado D7 Codificador e6 de prioridaddecimal-a-BCD B5 A432 (b) Diagrama lgico de los circuitos codificadores del tecladoEntrada BCD Salida decimalActiva aa rl---.II_,....r4 a a~. ~ o 8 D +5 V 4 e 2 B Anodo comn i------Jil A Decodificadorf I n - _ J,1 1 BCD-a-7-segmentosJI"g ........_-"./ ~,-".,. 1500 Visualizador LEO de siete-segmentos (e) Diagrama lgico de los circuitos del decodificador-visualizadorFigura 3.16.::Cslo una conexin de alimentacin de +5 V, mientras que el decodificador debe tener dos :xsiooes de alimentacin. Las conexiones de alimentacin del decodificador se han omitido :1 ~agrama. Los decodificadores reales BCD a siete segmentos tambin contienen entradas_""lo ~.uear (desconectar todos los segmentos) y para test de lmparas (conectar todos los ~~toS). 62. S4FUNDAMENTOS DE LOS MICROPROCESADORESPROBLEMAS RESUELTOS 3.27. El codificador de la Figura 3.15b traduce un teclado decimal a la forma _ _ (ASCII, BCD). Solucin:Acudir a la Figura 3.15b. Este codificador traduce las pulsaciones de las teclas deCmales a forma BCD. 3.28. El codificador de la Figura 3.15b tiene entradas activas en _ _ (ALTA, BAJA). Solucin:Acudir a la Figura 3.l5b. Este codificador tiene entradas activas en BAJA. Estn representadas en el diagrama lgico por los Crculitos en las entradas del codificador. 3.29. El decodificador de la Figura 3.16 traduce del decimal codificado binario a _ _ (deci mal, hexadecimal). Solucin:El decodificador en la Figura 3.16 traduce del BCD a la representacin decimal en el visualizador de siete segmentos. EntradasSalida11...0;....._o~O___ _o-,rl o O~ 8 a a a :il~D +5V4 bO --.r- e2 B Decodificadorg bD 1 1 1 O 1 O o~ BCD-a-7 d OA segmentos edil eer% ,V.!JTL2_!:Jil.~_Jill!!.Jl~ f d j hgfedcba 150nVisualizador LEDde siete-segmentosFigura 3.16. Problema del decodificador BCD-a-siete-segmentos.3.30.El decodificador de la Figura 3.16 tiene las entradas activas en _ _ (ALTA, BAJA) Ylas salidas activas en _ _ (ALTA, BAJA). Solucin:El decodificador de la Figura 3.16 tiene las entradas activas en ALTA y las salidas en BAJA.3.31. Listar las indicaciones decimales del visualizador de siete segmentos para cada pulso deentrada en la Figura 3.16. 63. DISPOSITIVOS DIGITALES BASICOS ~Solucin: Las salidas decimales para los diversos pulsos de la Figura 3.16 son las siguientes:pulso a == lpulso f = 3pulso b "" 4pulso g == Opulso e 7 pulso h = 2pulso d= 9pulso i = 5pulso e "" 6pulso j = 83$: BUFFERS y DISPOSITIVOS DE TRES ESTADOSla circuiterfa electrnica que puede traducir seales de una seccin de un sistema a otra sedenomina interfaz. En un sistema basado en microprocesador, las interfaces pueden ser buffers,multiplexores, conversores analgico~digitales (ADC), conversores digitales~analgicos (DAC),excitadores de transistores discretos y aisladores (pticos o rels).En esta seccin nos concentraremos en un dispositivo de interfaz: el buffer. Los fabricantesban diseado diversos circuitos integrados especiales denominados buffers que se utilizan comointerfaz en situaciones especiales. El smbolo lgico para un buffer no inversor de bus se ilustra enla Figura 3.17a. la operacin del buffer del bus se detalla en la tabla de verdad de la Figura 3.17 b.El buffer tiene una entrada de habilitacin activa en BAJA, y el dato no se invierte cuando pasa atravs del buffer. Cuando el buffer del bus est inhabilitado, la salida est flotando y no tieneefecto en la lnea del bus. En la condicin de inhabilitacin, la salida de la puerta no absorbe ni daninguna corriente a la lnea del bus. El buffer del bus de la Figura 3.17 se dice que tiene salida detres estados (o tristate). las salidas de los dispositivos lgicos se definen habitualmente como ALTA o BAJA. Por estarazn, las salidas de dos dispositivos lgicos no pueden conectarse entre s ya que si una est enALTA y la otra en BAJA, entonces la salida estar indefinida y los CI pueden sufrir daos. Losfabricantes han desarrollado CI especiales con salidas de tres estados para utilizarlas cuando las Entradas Salida Modo de operacin E A Y Entradas Salida O O OAHabilitadoDato y O l 1 EHabilitacin _ _---1 1 O Alta impedancia Inhabilitado (tensin de salida 1 1 flota) (a) Smbolo lgico para el bufferdel bus de tres estados(b) Tabla de verdad para el buffer del bus de tres Figura 3.17. 64. 56 FUNDAMENTOS DE LOS MICROPROCESADORES salidas de distintos CI deban compartir un camino de salida o bus comn. Los dispositivos de tres estados tienen estados de salida de ALTA, BAJA y un estado especial de alta impedancia (estado de alta-Z). Cuando el dispositivo est en su estado de alta-Z, su salida est desconectada o aislada efectivamente del bus. El diagrama lgico para un transceptor de bus est esbozado en la Figura 3.18a. Este transcep tor de bus de tres estados es un buffer no inversor que puede enviar datos en cualquier direccin. Entre la RAM y el bus de datos y tambin entre el microprocesador y el bus de datos de un sistema microcomputador es necesario un buffer de dos direcciones. En la prctica, los transcep tores son construidos en las RAM y microprocesadores. La operacin del transceptor de un bus de tres estados se detalla en la tabla de verdad de la Figura 3.18b. El transceptor tiene dos entradas de control (G y DIR). La entrada DIR controla la direccin del flujo de datos. Un nivel ALTO en la entrada DIR significa que el terminal A es la entrada de datos y el terminal B es la salida al bus. Un nivel BAJO en la entrada DIR significa que el terminal B es la entrada de datos y el terminal A es la salida al bus. Un nivel BAJO en la entrada V activa los buffers y permite que pasen los datos. Sin embargo, un nivel ALTO en la entrada V inhabilita los buffers quedando los terminales A y B aislados entre s. , , Entradas de control Habilitacin DireccinOperacinControles{ GDIR __-----i GDIR LL Dato B abusA Dato>-1--_ _ DatoLH Dato A a bus BA ------.... del teclado 1 Lnea deinterrupciones ~( :1 I . ~~_.~ Decodificadort~ MPU...........~ Fuente de alimentacin ~ Bus de direcciones _ (16 lneas)+ 1 Reloj ~rr1 - Bus de control Bus de datos(8 lneas) ~ ,.) --tIo>ROM---fIo> ~ 1" ~--+ y )RAM ~+-- Lneas de alimentacinLneas r- de seleccinde pastilla ~---to--Interfaz delvisualizador ""-. l" sicin de memoria OOOlH cargado en el acumulador de la CPU. Despus de la operacin, elc..:Jmulador contiene 00001010 2, que es el primer nmero a sumar. La operacin de CARGAR.: jreegcribe en el contenido del acumulador y lo borra. La operacin de SUMAR (instruccin 1).: muestra en la Figura 4.1Ib. El contenido de la posicin de memoria 003H (00000101 2 ) se_:na al contenido del acumulador (0000 10102), dando la suma de 00001111 2, La suma se coloca. ~. - el acumulador. Observar que el nmero del acumulador cambia durante la operacin de suma;DD). Acumulador I ~ _ ~lOlOrAcumulador Antes de la operacin~Despus de la operaCIn Memoria de programa (OOOIH)~ (a)La nstruccin de carga AcumuladorI 00001~, Acumulador Antes de la operacinDespus de la operacinMemoria de programa (0003H)(b) La instruccin de suma AcumuladorI 0000111111001000011Acumulador Antes de la operacin~ Despus de la operacin Memoria de programa (0005H) I000 100%] .(e)La instruccin de sumaAcumulador I0010000 1I Acumulador Antes de la operacinDespus de la operacin ( 00100001 IMemoria de datos (2000H) (d) La instruccin de almacenar directo Figura 4.11. 100. 92 FUNDAMENTOS DE LOS MICROPROCESADORESLa segunda operacin de SUMA (instruccin 3) se detalla en la Figura 4.11 c. La suma acumulada, 00001111 2, se suma al contenido de la posicin de memoria 0005H. La suma binaria es00001111 + 00010010 = 00100001. La suma final de 00100001 2 aparece en el acumulador despus de la segunda operacin de SUMA.La operacin de ALMACENAR (instruccin 4) se muestra en la Figura 4.11 d. El contenidodel acumulador (00 l 0000 l z) es transferido y almacenado en la posicin 2000H de la memoria dedatos. Observar que la posicin de la memoria de datos estaba identificada en la memoria deprograma por 2 bytes separados (posiciones 007 y 0008H). La posicin de memoria de programa0006H en la Figura 4. !O contiene B7H que es el cdigo de op para la instruccin ALMACENARdirecto.Considerar la bsqueda, decodificacin y ejecucin de la instruccin CARGAR en las direcciones OOOOH y 000 1H de la memoria de programa de la Figura 4.10. Este tipo de instruccin deCARGAR probablemente puede ser ejecutada entre 2 y 6 microsegundos (Jl.S) por muchas microcomputadoras. Algunas de las acciones que ocurren en la CPU, buses, lneas de control y memoria se detallan para la instruccin de CARGAR en la Figura 4.12.Comenzando en la parte superior izquierda de la Figura 4.12, el contador de programa en laCPU se inicializa con la direccin del primer paso del programa. A continuacin, la direccin de16 bits es transferida al registro de direcciones y despus al bus de direcciones y memoria deprograma. Para activar la memoria de programa, la CPU enva una seal de lectura (lnea R/Wal) mientras que el decodificador de direcciones (no parte de la CPU) habilita la seleccin depastlIa de memoria (LS) con un O. A continuacin, el contador de programa en la CPU esincrementado a 000 l H. La posicin OOOOH de la memoria de programa es accedida y leda en elbus de datos. El cdigo de op (86H) para la instruccin de CARGAR es transferido al registro deinstrucciones de la CPU. Esto completa la etapa de bsqueda del cdigo de op de la instruccinCARGAR.A continuacin el cdigo de op (86H) que est contenido en el registro de instrucciones de laCPU es interpretado por el decodificador de instrucciones. En este caso la CPU determina que setrata de la instruccin CARGAR inmediato, que significa que cargar el contenido de la posicinde memoria que sigue inmediatamente al cdigo de op en el acumulador. El contenido delcontador de programa (000 l H) es transferido al registro de direcciones, bus de direcciones ymemoria. La CPU genera un pulso de lectura ALTO, que va a la entrada R/W de la memoria. Unnivel BAJO se aplica a la entrada de memoria CS, que la habilita. En la tercera lnea de la parteinferior de la Figura 4.12, el contador de programa es incrementado a 0002H, quedando listoI para la bsqueda de la siguiente instruccin. Se accede a la posicin de memoria 000 l H, Y sucontenido (OAH) es colocado en el bus de datos y despuS en el acumulador de la CPU. Observarque las etapas de bsqueda y ejecucin de esta instruccin son similares a las operaciones delectura, excepto que el dato ledo de memoria era transferido a un registro diferente de la CPU. Elcdigo de op de la etapa de bsqueda se coloca siempre en el registro de instrucciones. PROBLEMAS RESUELTOS4.55. Las dos partes de una instruccin de un microprocesador se denominan operacin y-_. Solucin:Las dos partes de una instruccin de un microprocesador se denominan operacin y ope rando. 101. FUNDAMENTOS DE LAS MICROCOMPlITADORAS93 Inicializado por operador l Contador de programa[B] IOOOOH I Registro de direcciones Registro de direcciones ~1 ooOOH I Bus de direcciones + mt:moria Salida de RjW de la CPU[O{O Entrada RjW de memoria[2]~ Busca Salida del decodificador de Entrada CS de memoria direcciones Incrementa Contador de programa~ (@!!!J Contador de programa Memoria de programa (OOOOH) ~ Bus de datosz:, 26 A,2~24 ... WA1T23 READV22,2 HlOA(a) Diagrama de patillas para el microprocesador Intel 8080 (Cortes[a de [mel Corporation)Nombre de patillaPropsitoEntrada o salidaGND, +5 V, -5 V, +12 V Conexiones de la fuente de alimentacinEntradas01,02Seales de reloj EntradasDo-DILneas de datosBidireccionalAo-A 1SLneas de direccinSalidasSYNC SincronizadorSalidaDBIN Strobe de dato de entradaSalidaWAIT MPU en estado de espera.,.-- _o,Salida"WR Strobe de escrituraSalidaHLDA Conocimiento de mantenimientoSalidalNTE Conocimiento de interrupcin SalidaREADYEntrada estable de datos EntradaHOLD Peticin