Vous êtes sur la page 1sur 561
Men Te _Areurtecrens | Procedimiento de disefio 36 Problemas 38 Referencias 41 CAPITULO Dos Componentes digitales 43 2 integrados 43 2-2 Decodificadores 45 Decodificador de compuerta NAND __ 47 sion del decodificador 48 Codif 49 2-3 Multiplexores 50 2-4 Registros Registro con carga en paralela 54 2-5 — Registros de corrimiento Registro de corrimiento bidireccional con carga paralela 56 2-6 Contadores binarios Contador binario con carga en paralelo 61 2-7 Unidad de memoria Memoria de acceso aleatorio 63 Memoria sélo de lectura 65 Tipos de ROM 66 Problemas 67 Referencias 6 CAPITULO TRES Representacién de datos n 3-1 Tipos de datos 71 Sistemas numéricos 72 ‘Niimeros octales y hexadecimales 74 Representacion decimal 76 Representacién alfanumérica 78 3-2 Complementos 78 Complemento (r-) 79 Complemento a (r) 80 33 35 41 4-2 43 45 47 Contenido Resta de ntimeros sin signo 81 Representacién de punto fijo Representacién de enteros 83 Suma aritmética 84 Resta aritmética 85 Sobreflujo 85 Representacién del punto fijo decimal 86 Representacién con punto flotante Otros cédigos binarios Cédigo Gray 89 Otros cédigos decimales 90 Otros cédigos alfanuméricos 92 Cédigos de deteccién de error Problemas Referencias CAPITULO CUATRO Transferencia de registro y microoperaciones Lenguaje de transferencia de registros Transferencia de registros Transferencia de canal y de memoria Canal de bus de tres estados 106 Transferencia de memoria 108 Microoperaciones aritméticas Sumador binario 110 Sumador sustractor binario 111 Incrementador binario 112 Circuito aritmético 113 Microoperaciones légicas Lista de microoperaciones légicas 116 Implantacién de hardware 117 Algunas aplicaciones 118 Microoperaciones de corrimiento Implantaci6n del hardware 122 Unidad de corrimiento Kégico aritmético Problemas Referencias vii 101 103 108 115 121 124 126 129 viii Contenido 51 52 55 57 te 5-10 —_carfruocinco Organizacion y disefio basico de computadoras Cédigos de instruccién Organizacién de un programa almacenado 133 Direccionamiento indirecto 134 Registros de computadora Canal comiin del sistema 137 Instrucciones de computadora Versatilidad del conjunto de instrucciones 143 Temporizacién y control Ciclo de instruccién Biisqueda y decodificacién 148 Determinacién del tipo de instruccién 150 Instrucciones de referencia a registros 153 Instrucciones de referencia a memoria Ejecucion de la instrucci6n AND a AC 155 Ejecucion de la instruccién ADD a AC 155 LDA: Cargara AC 156 156 BSA: Britcar xy guardar la direccién de retorno 157 ISZ: Incrementa y brinca si es cero 158 Diagrama de flujo de control 159 Entrada-salida e interrupcién Configuraciin de entrada-salida 160 Instrucciones entrada-salida 161 Interrupcién del programa 162 Ciclo de interrupcién 165 Descripcién completa de una computadora Disefio de una computadora bisica Compuertas Iégicas de control 170 Control de registros y memoria 170 Control de flip flops tinicos 171 Control de'un canal comin 172 Disefio de un acumulador Iégico Control del registro AC 174 Circuito sumador y Iégico 175 Problemas Referencias 131 131 136 140 144 148 154 160 166 168 173 17 181 61 6-2 63 65 7 72 73 CAPITULO SEIS Programacién bdsica de la computadora Introduccién Lenguaje de maquina Lenguaje ensamblador Reglas del lenguaje 189 Un ejemplo 191 Traduccién a binario 191 El ensamblador Representacién de un programa simbélico en la ‘memoria 194 Primera pasada 195 Segunda pasada 197 Ciclos del programa Programacién de operaciones aritméticas y logicas Programa de multiplicacién 205 Suma de doble precision 206 Operaciones légicas 207 Operaciones de corrimiento 208 Subrutinas Pardmetros de subrutina y enlace de datos 211 Programacién de entrada-salida Manipulacién de caracteres 215 Interrupeién del programa 217 Problemas 183 184 189 194 203 209 214 220 Referencias 202 CAPITULO SIETE Control microprogramado 225 1A“ Meroei Secuencia de la direccién 228 Transferencia condicional 231 Mapeo de las instrucciones 231 Subrutinas 232 Ejemplo de un microp! 233, rograma Configuracién de la computadora 233 Formato de las microinstrucciones 235 Microinstrucciones simbélicas 238 Contenido La rutina de biisqueda 239 Microprograma simbélico 240 licroprograma 243 7-4 Disefio de la unidad de control Secuenciador de microprograma 246 Problemas Referencias _____CAPITULOOCHO Unidad central de procesamiento 81 Introduccién 8&2 Organizacién general de los registros Palabra de control 258 Ejemplos de mic ones 259 83 izacién de una pila Pila de registro 262 Pila de memoria 264 Notacién polaca inversa 266 Evaluacién de las expresiones aritméticas 268 8-4 Formatos de las instrucciones Instrucciones de tres direcciones 273 Instrucciones de dos direcciones 273 3 a ' I . rR 27: Instrucciones RISC __ 275 255 255 261 270 65M i nerckonarst 275 Ejemplo numérico 280 8-6 Transferencia y manipulacién de los datos Instrucciones de transferencia de los datos 283 Instrucciones de pare yulacién de los datos 284 Instrucciones Idgicas y de manipulacién de bits Instrucciones de corrimiento 288 8&7 Control del programa Bits de condiciones de estado 291 Instrucciones de brinco condicional 293 Llamada y retorno de subrutina 295 Inerrupain dal programa 757 Tipos de interrupciones 299 282 289 8-8 _Computadora de conjunto de instrucciones reducido (RISC) __300 Caracteristicas CISC 301 Caracteristicas RISC 302 Ventanas de registros traslapados 303 RISC I de Berkeley 306 Problemas 310 Referencias 316 CAPfTULO NUEVE Paralelismo y procesamiento de vector 319 9-1 Procesamiento paralelo 319 9-2 Arquitectura paralela 322 Consideraciones generales 324 9-3 Linea paralela aritmética 328 9-4 Linea paralela de instrucciones 331 Ejemplo: Linea paralela de instrucciones de cuatro ‘segmentos 332 Dependencia de los datos 334 Manejo de las instrucciones de transferencia de control 335 9-5 Arquitectura paralela RISC 337 Ejemplo: Linea paralela de instrucciones de tres segmentos Carga pospuesta o retardada 339 Transferencia pospuesta o retardada 340 9-6 Procesamiento vectorial 342 iones de vectores 343 Multiplicacién de matriz 344 Memoria entrelazada 346 Supercomputadoras 347 9-7 Arreglo de procesador SIMD 349 Arreglo de procesador conectado 349 frrslo de procesador SIMD 350 Problemas 351 Referencias 353 CAPITULO DIEZ Aritmética de computadoras 355 10-1 = Introduccién 355 10-2 Suma y resta 356 xii Contenido 10-3 10-4 10-5 10-6 10-7 1-1 11-2 Suma y resta con datos de magnitud con signo 357 Implantacién de hardware 358 Algoritmo de hardware 359 Suma y resta con datos de complemento a 2 con signo 361 Algoritmos de multiplicacion Implantacién de hardware para datos de magnitud con signo 363, Algoritmo de hardware 364 Algoritmo de multiplicacién de Booth 366 Arreglo multiplicador 369 Algoritmos de divisién Implantacion de hardware para datos de magnitud con signo 372 Sobreflujo al dividir 374 Algoritmo de hardware 375 Otros algoritmos 377 Operaciones aritméticas de punto flotante Consideraciones bisicas 378 Configuracin de registros 381 Suma y resta 382 Multiplicacion 384 Division 386 Unidad aritmética decimal Sumador BCD 389 Resta BCD 391 Operaciones aritméticas decimales Suma y resta 395 Multiplicacién 397 Divisiin — 399 Operaciones de punto flotante 400 Problemas Referencias CAPITULO ONCE Organizacién de entrada-salida Dispositivos periféricos Caracteres alfanuméricos ASCII 409 Interface de entrada-salida Canal de E/S y médulos de interface 412 E/S versus canal de memoria 414 372 377 387 394 401 405 411 n3 11-4 1-5 11-6 1-7 11-8 12-4 122 Contenido E/S aislada versus E/S mapeada en memoria 414 Ejemplo de interface E/S 416 Transferencia asincrona de datos Control de habilitacin 419 Reconocimiento mutuo 420 Transferencia serial asincrona 423 Interface de comunicacién asincrona 425 Buffer primero en entrar, primero en salir 428 Modbs de transferencia Ejemplo de E/S programada 431 E/S iniciada por interrupcién 434 Consideraciones de programaciin 435 Prioridad de interrupcién Prioridad de cadena de margaritas 437 Interrupcién de prioridad paralela 439 Codificador de prioridad 440 Ciclo de interrupcién 441 Rutinas de programacién 442 Operaciones inicial y final 444 Acceso directo a memoria (DMA) Controlador DMA 446 Transferencia DMA 448 Procesador de entrada-salida (IOP) Comunicacién CPU-IOP 452 Canal de E/S IBM 370 454 IOP de Intel 8089458 Comunicaci6n serial Protocolo orientado a caracteres 463 Ejemplo de transmisién 465 Transparencia de datos 467 Protocolo orientado a bits 468 Problemas Referencias __carfruto Doce __ Organizacién de la memoria Jerarquia de la memoria Memoria principal il. de RAM y de ROM 481 Mapa de direccién de memoria 483 xiii 418 435 471 475 477 477 xiv, Contenido 24 ns 126 13-2 Conexién de la memoria ala CPU 484 Memoria auxiliar Discos magnéticos 487 Cinta magnética 489 Memoria asociativa Organizacién de la circuiterfa 490 Logica de coincidencia 492 Operacién de lectura 495 Operacién de escritura 495 Memoria caché ‘Mapeo asociativo 498 Mapeo directo 499 Mapeo de conjunto asociativo 502 Escritura en la caché 503 Inicializacién del caché 504 Memoria virtual Espacio de direccionamiento y espacio de memoria 505 Mapeo de direccién usando paginas 507 Tabla de pagina de memoria asociatioa 509 Sustitucién de pagina 510 Circuiteria de administraci6n de la memoria ‘Mapeo de pagina segmentada 513 Ejemplo numérico 515 Proteccién de memoria 518 Problemas Referencias CAPITULO TRECE Multiprocesadores Caracterfsticas de multiprocesadores Estructuras de interconexién Canal comiin de tiempo compartido 528 Memoria multipuerto 530 Conmutador de barra de cruz 531 Red de conmutacién de etapas multiples 532 Interconexién de hipercubo 535 Arbitraje entre procesadores Canal del sistema 537 Procedimiento de arbitraje serial 539 Légica de arbitraje paralelo 541 Algoritmos de arbitraje dindmico 542 496 511 519 525 525 537 Comunicacién y sincronizacién entre procesadores Sincronizacién entre procesadores 545 Exclusién mutua con seméforo 545 Coherencia de caché Condiciones para incoherencia Soluciones al problema de coherencia de caché Problemas Referencias 547 indice 549 4 547 551 552 Este libro trata de la arquitectura de computadoras y de la organizaci6n y disefio de computadoras. La arquitectura de computadoras se interesa por la estructura y desempefio de los diferentes médulos funcionales de la compu- tadora y cémo interactian para atender las necesidades de procesamiento del usuario, La organizacién de las computadoras estudia la manera en que se conectan los componentes de la circuiteria para formar un sistema computacio- nal. El disefio de computadoras analiza el desarrollo de la circuiteria de computadoras, tomando en consideracién un cierto conjunto de especificaciones. El libro proporciona el conocimiento bésico necesario para comprender la operacién de la circuiterfa de computadoras digitales y cubre los tres temas asociados con la circuiteria de computadoras. Los capitulos del 1 al 4 presentan los diferentes componentes digitales que se usan en la organiza cin y disefio de computadoras digitales. Los capitulos del 5 al 7 muestran en detalle los pasos que debe recorrer un disefiador para preparar las bases de una computadora elemental. Los capitulos del 8 al 10 examinan la organizacién y arquitectura de la unidad de procesamiento central. Los capitulos 11 y 12 estudian la organizaci6n y la arquitectura de entrada-salida, y de la memoria. El capitulo 13 aclara el concepto de multiprocesamiento. El libro se refiere primero al material més sencillo y después aborda temas més avanzados. Por lo tanto, los primeros siete capitulos cubren el material necesario para el conocimiento basico de la organizaci6n, disefio y progra- macién de una computadora digital simple. Los tltimos seis capftulos pre- sentan la organizacién y arquitectura de las unidades funcionales separadas de la computadora digital, enfatizando los temas més avanzados. En esta tercera edicién el material esté organizado como en la segunda y muchos de los temas no cambian. Sin embargo, la tercera edicién ofrece nuevos temas en relacién con la segunda edicién. Todos los capitulos, excepto dos (el 6 y el 10), se han revisado por completo para actualizar el material y hacer més clara su presentacién. Se agregaron dos novedades: el capitulo 9, acerca del procesamiento por arquitectura paralela y vectores, y el capitulo 13, acerca de multiprocesadores. Dos secciones tratan acerca de la computadora que incluye un conjunto reducido de instrucciones (RISC). El capitulo 5 se revisé por completo para simplificar y hacer més claro el xviii Prefacio disefio de la computadora bisica. Se formularon nuevos problemas para 11 de los 13 capitulo, La organizaci6n fisica de una computadora particular, incluyendo sus registros, el flujo de datos, las microoperaciones y las funciones de control pueden describirse en forma simbélica mediante un lenguaje propio de la Gircuiterfa. En este libro desarrollamos un lenguaje sencillo de transferencia de registros y lo utilizamos para especificar varias operaciones de computa- dora de manera precisa y concisa. Se explica por completo la relacién del lenguaje de transferencia de registros con la organizaciGn de la circuiteria y €l disefio de computadoras digitales. El libro no plantea un conocimiento previo de la circuiteria de compu- tadoras y el material puede entenderse sin ningiin requisito previo, sin embargo, alguna experiencia en la programacién de lenguaje ensamblador con una microcomputadora facilitard la comprensién del material. Los cap tulos del 1 al 3 pueden saltarse si el lector esta familiarizado con el disefio ital. iguiente es una breve descripcién de los temas que se cubren en cada capitulo, donde se establecen las revisiones que se hicieron a la tercera edicién. El capitulo 1 introduce los conocimientos bésicos necesarios para el diseito de sistemas digitales construidos con base en compuertas y flip-flops discretos. Cubre el dlgebra booleana, los circuitos combinatorios y secuencia- les. Proporciona los antecedentes necesarios para comprender ios circuitos digitales que se van a presentar. El capitulo 2 explica en detalle la operacién légica de los componentes digitales estandar més comunes, Incluye decodificadores, multiplexores, regis- ros, contadores y memorias, Estos componentes digitales se usan como bloques de construccién para el disefio de unidades més grandes en los capttulos siguientes, El capitulo 3 muestra cémo se representan en forma binaria los diver- s0s tipos de datos que se encuentran en las computadoras digitales, en los registros de la computadora. Se enfatiza la representacién de los ntimeros que se emplean en operaciones aritméticas y en la codificacién binaria de simbolos usados en el procesamiento de datos. El capitulo 4 introduce un lenguaje de transferencia de registros y muestra cOmo se usa para expresar microoperaciones en forma simbélica. Se definen simbolos para microoperaciones aritméticas, légicas y de corri- miento. Se desarrolla una unidad aritmética-l6gica y de corrimiento com- puesta para demostrar el disefio de la circuiteria de las microoperaciones mis. comunes, El capitulo 5 presenta la organizacién y el disefio de una computadora digital bésica. Aunque la computadora es sencilla comparada con las com- putadoras comerciales, no obstante, abarca suficientes posibilidades funcio- nales para mostrar la capacidad de un dispositivo de propésito general con programas almacenados. Se usa un lenguaje de transferencia de registros para describir la operacién interna de la computadora y para especificar los Tequisitos para su disefio. La computadora bisica utiliza el mismo conjunto Prefacio xix de instrucciones de la segunda edicién, pero su organizacién de circuiteria y disefio se han revisado por completo. Al recorrer los pasos detallados del disefio que se presentan en este capitulo, el estudiante podré comprender el funcionamiento intemo de las computadoras digitales. El capitulo 6 utiliza las 25 instrucciones de la computadora bésica para mostrar ténicas que se usan en la programacién con lenguaje ensamblador. Se presentan ejemplos de programacién para varias tareas de procesamiento de datos. Se explica mediante ejemplos la relacién entre programas binarios y e6digo simbélico. Se analizan las operaciones bésicas de un ensamblador de cédigo simbélico a un programa binario equivalente. El capitulo 7 introduce el concepto de microprogramacién. Ademés, desarrolla una unidad espectfica de control microprogramado, para mostrar un ejemplo de cémo escribir un microcédigo para un conjunto de instruc- ciones tipico. Realiza en detalle el disefio de la unidad de control, incluyendo la circuiteria para el secuenciador de microprograma. El capitulo 8 trata acerca de la unidad de procesamiento central (CPU). Explica la operacién de una pila de memoria y se muestran algunas de sus aplicaciones. Iustra diferentes formatos de instrucciones, junto con diversos modos de direccionamiento. Hace una relacién de las instrucciones mas comunes que se encuentran en las computadoras, junto con una explicacién de su funcién. La iiltima seccién presenta la computadora con conjunto reducido de instrucciones (RISC) y analiza sus caracteristicas y ventajas. El capitulo 9, acerca de procesamiento de vector y por arquitectura paralela, es nuevo en la tercera edicién (el material sobre operaciones mélicas de la segunda edicién se pas6 al capitulo 10). Se explica el concepto de arquitectura paralela y se muestra con varios ejemplos cémo puede acelerar el procesamiento. Se considera la arquitectura paralela aritmética y de instrucciones. Se muestra cémo los procesadores RISC pueden ejecutar instrucciones de ciclo tinico, al usar una conduccién de instrucciones eficiente junto con técnicas de carga y transferencia de control del programa propues- tas. Se introduce el procesamiento de vectores y se muestran ejemplos de operaciones de punto flotante usando procedimientos paralelos. El capitulo 10 presenta los algoritmos aritméticos para suma, resta, multiplicaci6n y divisién y muestra los procedimientos para implantarlos con ircuiteria digital. Se desarrollan procedimientos para ntimeros de punto fijo de complemento a 2 con signo y de magnitud con signo, para mimeros binarios de punto flotante y para ntimeros binarios codificados en decimales (BCD). Los algoritmos se presentan mediante diagramas de flujo que utilizan el lenguaje de transferencia de registros para especificar la secuencia de microoperaciones y decisiones de control requeridas para su implantacién. El capitulo 11 analiza las técnicas que usan las computadoras para comunicarse con dispositives de entrada y salida. Se presentan unidades de interface para mostrar cémo interactiian el procesador con los periféricos exter- nos. Se explica el procedimiento para transferencia asincrona de datos seriales © paralelos. Analizan cuatro modos de transferencia: E/S programada, transfe- XX Prefacio rencia iniciada por interrupcién, acceso directo a memoria y el uso de procesadores de entrada-salida. Con ejemplos especificos, ilustra los procedi- mientos para transmisién de datos seriales. El capitulo 12 presenta el concepto de jerarquia de memoria, compues- ta de memoria caché, memoria principal y memoria auxiliar como discos magnéticos. Explican en detalle la organizacién y la operacién de las memo- rias asociativas. Por otra parte, introduce el concepto de administracién de memoria, mediante la representacién de los requisitos de circuiteria para un sistema de una memoria caché y una memoria virtual. El capitulo 13 describe Ias caracteristicas basicas de los multiprocesa- dores. Asimismo, presenta varias estructuras de interconexién. Analiza la necesidad de arbitraje entre procesadores, comunicacién y sincronizacién. Se explica el problema de la coherencia de caché, junto con algunas posibles soluciones. Cada capitulo incluye un conjunto de problemas y una lista de refe- rencias. Algunos de los problemas sirven como ejercicios para el material cubierto en el capitulo. Otros son de naturaleza més compleja y pretenden ofrecer una manera de practicar en la solucién de problemas asociados con la arquitectura y el disefio de circuiterfa de computadoras. El libro es conveniente para un curso de sistemas de circuiteria de computadora, en las 4reas de ingenieria eléctrica y computacional o ciencias de la informética. Algunas partes del libro pueden usarse de diversas mane- ras: como un primer curso sobre circuiteria de computadoras al cubrir los capftulos del 1 al 7; como un curso de organizacién y disefio de computa- doras, con conocimientos previos de disefio de légica digital, al repasar el capitulo 4 y después cubrir los capitulos del 5 al 13; como un curso en organizacién y arquitectura de computadoras, que cubre las cinco unidades funcionales de las computadoras digitales, al incluir el control (capitulo 7), la unidad de procesamiento (capitulos 8 y 9), las operaciones aritméticas (capitulo 10), la entrada-salida (capitulo 11) y la memoria (capitulo 12). Este libro también es conveniente para el autoaprendizaje, para inge- nieros y cientificos que necesitan adquirir conocimientos bésicos de la circui- teria de arquitectura de computadoras. Agradecimientos Mi gratitud a aquellas personas que revisaron el texto, en particular al profesor Thomas L. Casavant, de la universidad de Iowa; al profesor Murray R. Berkowitz, de la universidad politéenica de Brooklyn; al profesor Cem Ersoy, de la universidad George Mason; al profesor Upkar Varshney, de la universidad de Missouri, en Kansas City; al profesor Karan Watson de la universidad de Texas A&M, y al profesor Scott F. Midkiff, del Instituto Politécnico de Virginia. ‘M. Morris Mano digital bit EN ESTE CAPITULO 1-1 Computadoras digitales 1-2 Compuertas logicas 1-3. Algebra booleana 14 Simplificacién por mapas 1-5 Circuitos combinatorios 1-6 Flip-flops 1-7 Cireuitos secuenciales 1-1 Computadoras digitales La computadora digital es un sistema digital que ejecuta diversas tareas de computacién, La palabra digital implica que la informacién en la computa- dora se representa por variables que toman un nimero limitado de valores discretos. Estos valores se procesan internamente por componentes que pueden mantener un niimero limitado de estados discretos. Los digitos decimales 0, 1, 2, ..., 9, por ejemplo, proporcionan 10 valores discretos. Las primeras computadoras electrénicas digitales, desarrolladas a finales de los aitos 40, se usaron principalmente para cémputos numéricos. En este caso los elementos discretos son los digitos. De esta aplicacién ha surgido el término computadora digital. En la préctica, las computadoras digitales fun- cionan més confiablemente si sélo se usan dos estados. Por la restriccién fisica de los componentes y porque la Iégica humana tiende a ser binaria {por ejemplo, proposiciones de cierto o falso, si o no), los componentes digitales que estén restringidos a tomar valores discretos se restringen atin més a tomar s6lo dos valores y se dice que son binarios, Las computadoras digitales emplean el sistema numérico binario, que tiene dos digitos: 0 y 1. A un digito binario se le llama bit. La informacién 2 capfruLo UNO Circuitos de légica digital se representa en las computadoras digitales en grupos de bits. Con diversas técnicas de codificacién, se puede hacer que los grupos de bits representen no sélo los niimeros binarios, sino también otros simbolos discretos, como los digitos decimales o las letras del alfabeto. Usando juiciosamente los arreglos binarios y diversas técnicas de codificacién, los grupos de bits desarrollan conjunios completos de instrucciones para ejecutar distintos tipos de cémputos, En contraste con los ntimeros decimales comunes, que emplean el sistema en base 10, los nimeros binarios constituyen un sistema en base 2 con dos digitos: 0 y 1. El equivalente decimal de un nimero binario se puede encontrar expandiendo éste en una serie de potencias en la base 2. Por gemplo, el niimero binario 1001011 representa una cantidad que puede convertirse a un ntimero decimal multiplicando cada bit por la base 2 elevada a una potencia entera como sigue: LX B+OXB+OxB+ ix P+ Ox P+ 1x B+ 1x P= 75 Los siete bits 1001011 representan un miimero binario cuyo equivalente decimal es 75. Sin embargo, este mismo grupo de siete bits representa la letra K cuando se usa junto con un cédigo binario para las letras del alfabeto. También puede representar un cédigo de control para especificar alguna decisi6n I6gica en cierta computadora digital. En otras palabras, los grupos de bits en una computadora digital sirven para representar muchas cosas diferentes. Esto es similar al concepto de que las mismas letras de un alfabeto se utilicen para construir diferentes lenguajes, como el inglés y el francés. Un sistema de computadora se subdivide a veces en dos entidades funcionales: hardware y software, El hardware de computadora consta de todos los componentes electrénicos y dispositivos electromecénicos que com- prenden la entidad fisica del dispositivo, El software consiste en las instruc- ciones y los datos que la computadora manipula para ejecutar las diversas tareas de procesamiento de datos. A una secuencia de instrucciones para computadora se le llama programa. Los datos que son manipulados por el programa constituyen la base de datos. Un sistema de computadora esté compuesto por su hardware y el software del sistema disponible para su uso. El software del sistema de una computadora consiste en una coleccién de programas cuyo propésito es hacer un uso més efectivo de la computadora. A los programas incluidos en un paquete de software de sistema se les conoce como sistema operativo. Se distinguen de los programas de aplicacién escritos por el usuario con el Propésito de resolver problemas particulares. Por ejemplo, un programa en un lenguaje de alto nivel escrito por un usuario para resolver necesidades de procesamiento de datos particulares es un programa de aplicacién, pero el compilador que traduce el programa en lenguaje de alto nivel a lenguaje de maquina es un programa de sistema. El cliente que compra un sistema de computadora necesitaria, ademés del hardware, cualquier software dispo- hardware organizacion de La computadora SECCICN 11 Compuladoras digits 3 nible necesario para la operacién eficaz de la computadora. El software del sistema es una parte indispensable del sistema total de la computadora. Su funcién es compensar las diferencias que existen entre las necesidades del usuario y la capacidad del hardware, El hardware de la computadora se divide por lo general en tres grandes ppartes, como se muestra en la figura 1-1. La unidad central de procesamiento (CPU, central processing unit) contiene una unidad aritmética y légica para Ja manipulacién de datos, varios registros para almacenar los datos y cireui tos de control para leer de Ia memoria y ejecutar instrucciones. La memor de la computadora almacena las instrucciones y los datos. Se le ama memoria de acceso aleatorio (RAM, random access memory) por la CPU ‘puede accesar cualquier parte de la memoria en forma aleatoria y recuperar Ia informacion binaria dentro de un intervalo fijo. El procesador de entra- da/salida (OP, input output processor) contiene circuitos electrénicos para ‘comunicarse y controlar la transferencia de informacién entre la computado- ra y el mundo exterior. Los dispositivos de entrada y salida conectados a la ‘computadora incluyen teclados, impresoras, terminales, unidades de discos magnéticos y otros dispositives de comunicacién. Este libro proporciona el conocimiento bésico para entender las opera- —F 2 2) Tabla de verdad ) Diagrama logico Figura 1-3 Tabla de verdad y diagrama logico para F = x +2. las entradas del circuito y el simbolo de la variable de la funcién se toma como la salida del circuito. El propésito del Algebra booleana es facilitar el anélisis y el disefio de los circuitos digitales. Proporciona una herramienta préctica para: 1. Expresar en forma algebraica la relacién de la tabla de verdad entre las variables binarias. 2. Expresar en forma algebraica la relacién de entrada/salida de los diagramas légicos. 3. Encontrar circuitos més simples para la misma funcién. Una funcién booleana especificada por una tabla de verdad puede expresarse algebraicamente de muchas maneras diferentes. Manipulando una expresién booleana de acuerdo con las reglas del Algebra booleana, se puede obtener una expresién mas simple que requiera menos compuertas. Para ver mo se hace esto, primero debemos estudiar las capacidades de manipulacién del Algebra booleana. La tabla 1-1 enlista las identidades mas basicas del 4igebra booleana. Todas las identidades de la tabla pueden probarse por medio de las tablas de verdad. Las primeras ocho identidades muestran la relacién bésica entre una sola variable y sf misma, o en conjuncién de las constantes binarias 1 y 0. TABLA 1-1 Identidades bisicas de dlgebra booleana ()x+0= @)x+1 @ x-0=0 @x1 @x+x-x @xx=x Qxtxv=1 @ xx =0 @O)xty=ytx (10) ay = yx (1) x +(y +z) = +y) +z (12) x(yz) = Gye (13) xy +2) = ay +z (14) x + yx = @ +e +2) (15) (x + yy = x'y' 16) (ay) = x+y" Q7 @'y =x teorema de DeMorgan SECCION 13 Algebra booleana 9 Las siguientes cinco identidades (9 a 13) son similares a las del digebra ordinaria. La identidad 14 no sé aplica en el dlgebra ordinaria, pero es muy til en la manipulacién de expresiones booleanas. Las identidades 15 y 16 se llaman teoremas de DeMorgan, que se tratan abajo. La tiltima identidad afirma que si una variable se complementa dos veces, uno obtiene el valor original de la variable. Las identidades enlistadas en la tabla se aplican a variables solas 0 a las funciones booleanas expresadas en términos de variables binarias. Por ejemplo, considere la siguiente expresién algebraica booleana: AB’ + C’D + AB’ + C’D Si x = AB’ + C’D, la expresiGn puede escribirse como x + x. De la identidad 5 de la tabla 1-1 encontramos que x + x = x. Asi la expresién puede reducirse a s6lo dos términos: AB’ + C'D + A'B + C'D = AB'+C’D El teorema de DeMorgan es muy importante al tratar con las compuer- tas NOR y NAND. Afirma que una compuerta NOR, que representa la funcién (x + y)' es equivalente a la funcién x’y’. Andlogamente, una funcién NAND puede expresarse por (xy)' 0 (x” + y'). Por esta raz6n las compuertas NOR y NAND tienen dos distintos simbolos gréficos, como se muestra en las figura 1-4 y 1-5. En lugar de representar una compuerta NOR con un s{mbolo grafico OR (O) seguido de un cfrculo, podemos representarlo por un simbolo grafico AND precedido de circulos en todas sus entradas. El simbolo AND invertido para la compuerta NOR se sigue del teorema de DeMorgan y de la conven- cin de que los cfrculos pequefios denotan complementacién. Andlogamente, Figura 1-4 Dos simbolos gréficos para la compuerta NOR. s x z: ety +2)! Sp 8) ORinvertie 1) lnwertit AND Gry sey Figura 1-5 Dos simbolos grificos para la compuerta NAND. Do sg ty'62' am) 2) ANDinwertir Dyinvertir OR 10 CAPITULO UNO Circuitos de légica digital la compuerta NAND tiene dos simbolos distintos, como se muestra en la figura 1-5. Para ver cémo se emplea la manipulacién del algebra booleana para simplificar circuitos digitales, considere el diagrama légico de la figura 1-6(a). La salida del circuito puede expresarse algebraicamente como sigue: F = ABC + ABC’ + A’C Cada término corresponde a una compuerta AND, y la compuerta OR forma la suma légica de los tres términos. Se necesitan dos inversores para com- plementar A’ y C’. La expresién puede simplificarse usando el algebra booleana. F = ABC + ABC' + A'C = AB(C +’) + A'C = AB + A'C Nétese que (C + C’) = 1 por la identidad 7 y AB « 1 = AB por la identidad 4en la tabla 1-1. El diagrama légico de la expresiGn simplificada se dibuja en la figura 1-6(b). Requiere sélo cuatro compuertas en lugar de las seis del circuito de Figura 1-6 Dos diagramas légicos para la misma funcién booleana. 4 g c a)F = ABC + ABC’ + AC BF RAB+AT SECCION 14 Simplificacién por mapas 11 la figura 1-6(a). Los dos circuitos son equivalentes y producen la misma relacién de tabla de verdad entre las entradas A, B, C y la salida F. Complemento de una funcién El complemento de una funcién F cuando se expresa en una tabla de verdad se obtiene intercambiando unos y ceros en los valores de F en la tabla de verdad. Cuando la funcién se expresa en forma algebraica, el complemento de una funcién puede derivarse por medio del teorema de DeMorgan. La forma general del teorema de DeMorgan puede expresarse como sigue: (tnt ay te tx)! = xhxhs (txpxys xy) Sf bag ta tt xy Del teorema general de DeMorgan podemos derivar un procedimiento sim- ple para obtener el complemento de una expresién algebraica. Esto se hace cambiando todas las operaciones de OR a operaciones AND y todas las operaciones AND a operaciones OR y luego complementando cada variable literal individual. Como un ejemplo, considere la siguiente expresin y su complemento: F = AB +C'D' + B'D F’=(A' + BC + DB + D’) La expresin complemento se obtiene intercambiando las operaciones AND y OR y complementando cada variable individual. Note que el complemento de C’es C. 1-4 Simplificacién por mapas La complejidad del diagrama logico que implanta una funcién booleana se relaciona directamente con la complejidad de la expresién algebraica a partir de la cual se implanta tal funci6n. La representacién de la tabla de verdad de una funcién es tinica, pero la funcién puede aparecer en muchas formas diferentes cuando se expresa algebraicamente. La expresin puede simplifi- carse por medio de las relaciones basicas del dlgebra booleana. Sin embargo, ese procedimiento es algunas veces dificil porque carece de reglas especificas para predecir cada paso sucesivo en el proceso manipulativo. El método de mapas proporciona un procedimiento sencillo y directo para simplificar las expresiones booleanas. Este método puede considerarse como un arreglo pictérico de la tabla de verdad que permite una interpretacin fécil para escoger el mimero minimo de términos necesarios para expresar algebraica- 12 cartruto UNO Circuitos de logica digital término minimo mente la funcién. El método de mapas se conoce también como mapa de Karnaugh 0 mapa K. Cada combinacién de variables en la tabla de verdad se llama término minimo. Por ejemplo, la tabla de verdad de la figura 1-3 contiene ocho términos minimos. Cuando se expresa en una tabla de verdad una funcién de n variables tendré 2" términos minimos, equivalentes a los 2" nimeros binarios obtenidos de n bits. Una funcién booleana es igual a 1 para algunos términos mfnimos y 0 para otros. La informacin de una tabla de verdad puede expresarse en forma compacta enlistando los equivalentes decimales de aquellos términos minimos que producen un 1 para la funci6n. Por ejemplo, la tabla de verdad de la figura 1-3 puede expresarse como sigue: F(x, y,2) = & (1,4,5,6,7) Las letras en paréntesis indican las variables binarias en el orden en que aparecen en la tabla de verdad. El simbolo sigma © representa la suma de los términos minimos que siguen en paréntesis. Los términos minimos que producen 1 para la funcién se enlistan en su equivalente decimal. Los términos minimos ausentes de la lista son los que producen 0 para la funcién. EL mapa es un diagrama hecho de cuadros, y cada uno de éstos representa un término minimo. Los cuadrados correspondientes a los térmi- nos minimos que producen 1 para la funci6n se marcan con un 1 y los otros se marcan con un 0 0 se dejan vacfos. Reconociendo los diversos patrones y combinando los cuadrados marcados con unos en el mapa, es posible derivar expresiones algebraicas alternas para la funcién, de las cuales se selecciona la més conveniente. Los mapas de funciones de dos, tres o cuatro variables se muestran en la figura 1-7, El mimero de cuadros en el mapa de 1 variables es 2". Los 2" términos minimos se listan con un mimero decimal equivalente para una referencia fécil. Los ntimeros de término minimo se asignan en un arreglo ordenado tal que los cuadrados adyacentes representen términos minimos que difieran por s6lo una variable. Los nombres de las variables se enlistan a ambos lados de la Ifnea diagonal, en la esquina del mapa. Los ceros y los unos marcados a lo largo de cada renglén y cada columna designan el valor de las variables. Cada variable dentro de las Ilaves contiene la mitad de los cuadrados del mapa donde la variable aparece sin simbolo de prima ('). La variable con simbolo de prima (complementada) aparece en la mitad restante de los cuadrados. El término minimo representado por un cuadrado se determina por las asignaciones binarias de las variables, a lo largo de las orillas izquierda y superior del mapa. Por ejemplo, el término minimo 5 en el mapa de tres variables es 101 en binario, que puede obtenerse del 1 en el segundo renglén concatenada con el 01 de la segunda columna. Este término minimo repre- senta un valor para las variables binarias A, B y C, con A y C sin primas y cuadrados adyacentes SECCION 14 Simplificacién por mapas 13 co i ABN ©0110. of of 1] 3] 2 ols ]s|7}e 8 nf iz | 13 | as | a4 4 to} 8 | 9 | 1] 10 D 2) Mapa de cuatro variables Figura 1-7 Mapas para funciones de dos, tres y cuatro variables. B con prima (esto es, AB'C). Por otro lado, el término minimo 5 en el mapa de cuatro variables representa un término m{nimo para cuatro variables. El niimero binario contiene los cuatro bits 0101 y el término correspondiente que representa es A’BC’D. Los términos mfnimos de cuadrados adyacentes en el mapa son idén- ticos, excepto por una variable, que aparece complementada en un cuadrado y_sin complementar en el cuadrado adyacente, De acuerdo con esta defini- ‘cién de ser adyacente, los cuadrados de los extremos del mismo renglén horizontal pueden también considerarse adyacentes. Lo mismo se aplica a los cuadrados superior e inferior de una columna. Como resultado, los cuadrados de las cuatro esquinas de un mapa también pueden considerarse como adyacentes. Una funcién booleana representada por una tabla de verdad se grafica en el mapa insertando unos en aquellos cuadrados donde la funcién es 1. Los cuadrados que contengan unos se combinan en grupos de cuadrados adyacentes. Estos grupos deben contener un ntimero de cuadrados que sea una potencia entera de 2. Los grupos de cuadrados adyacentes combinados pueden compartir uno o més cuadrados con uno 0 més grupos. Cada grupo de cuadrados representa un término algebraico y el OR de estos términos da una expresién algebraica simplificada de la funcién. Los siguientes ejem- plos muestran el uso del mapa para simplificar funciones booleanas. 4 CAPITULO UNO Cireuites de Iégica digital En el primer ejemplo simplificaremos la funcién booleana F(A,B,C) = & @,4,6,7) El mapa de tres variables para esta funci6n se muestra en la figura 1-8. Hay cuatro cuadrados marcados con niimeros uno, cada cual para los términos mfinimos que produce un 1 para la funcién. Estos cuadrados pertenecen a los términos minimos 3, 4, 6 y 7 y se reconocen de la figura 1-7(b). Dos cuadrados adyacentes se combinan en la tercera columna. Esta columna pertenece tanto a B como a C y produce el término BC. Los dos cuadrados restantes con unos en las dos esquinas del segundo renglén son adyacentes y pertenecen al renglén A y a las dos columnas de C’, asi que producen el ‘término AC’. La expresin algebraica simplificada para la funcién es el OR de los dos términos: F=BC+AC’ El segundo ejemplo simplifica la siguiente funcién booleana: F(A,B,C) = © (0,2,4,5,6) Los cinco términos minimos estin marcados con unos en los cuadrados correspondientes del mapa de tres variables que se muestra en la figura 1-9. Los cuatro cuadrados en la primera y cuarta columnas son adyacentes y representan el término C’. Los cuadrados restantes marcados con 1 pertene- Figura 18 Mapa para F(A, B,C) = £0 Figura 1-9 Mapa para F\A, nore 245.6) er {Ga ‘SECCION 14 Simplificacién por mapas 15 cen al término minimo 5 y pueden combinarse con el cuadrado del término minimo 4 para producir el término AB’. La funcién simplificada es F =C' + AB’ EI tercer ejemplo necesita un mapa de cuatro variables. F(A,B,C,D) = & (0,1,2,6,8,9, 10) El 4rea en el mapa cubierta por esta funcién de cuatro variables consiste de los cuadrados marcados con unos en la figura 1-10. La funcién contiene unos en las cuatro esquinas que, tomados como grupo, dan el término B’D’. Esto * es posible porque estos cuatro cuadrados son adyacentes cuando el mapa se considera con las orillas superior e inferior, izquierda y derecha tocéndose. Los dos unos a la izquierda del renglén superior se combinan con los dos unos a la izquierda de la hilera inferior para que den el término B'C’. El 1 restante en el cuadrado del término minimo 6 se combina con el término minimo 2 para dar el término A’CD’. La funcién simplificada es Fe "D' + B'C' + A'CD’ Simplificacién de producto de sumas Las expresiones booleanas derivadas de los mapas en los ejemplos anteriores se expresaron en forma de suma de productos. Los términos de productos son términos con AND y la suma denota e! OR de estos términos. Algunas veces es conveniente obtener la expresién algebraica para la funcién en una forma de producto de suma. Las sumas son términos OR y el producto denota el AND de estos términos. Con una modificacién menor, la forma de producto de sumas puede obtenerse de un mapa. El procedimiento para obtener la expresién de producto de sumas se sigue de las propiedades bisicas del Algebra booleana. Los unos del mapa Figura 110 Mapa para F(A, B,C, D) = £(0,1,2,6,8,9, 10) co re 16 CAPITULO UNO Circuitos de Iégica digital representan los términos minimos que producen 1 para la funcién. Los cuadrados no marcados con 1 representan los términos minimos que produ- cen 0 para la funcién. Si marcamos los cuadrados vacios con ceros y los combinamos en grupos de cuadrados adyacentes, obtenemos el complemento de la funcién, F’. Tomando el complemento de F’ produce una expresién para F en la forma de producto de sumas. La mejor manera de mostrar esto es con un ejemplo. Queremos simplificar la siguiente funci6n booleana tanto en la forma de suma de productos como en la forma de producto de sumas: F(A, B,C, D) = & (0, 1,2,5,8,9,10) Los unos marcados en el mapa de la figura 1-11 representan los términos minimos que producen unos para la funcién. Los cuadrados marcados con ceros representan los términos m{nimos no incluidos en F y por lo tanto denotan el complemento de F. Combinando los cuadrados con unos nos da Ja funcién simplificada en la forma de suma de productos: F=B'D' + BC’+A'C'D Si los cuadrados marcados con ceros se combinan, como se muestra en el diagrama, obtenemos la funcién complementada simplificada: F' = AB +CD + BD’ Tomando el complemento de F’, obtenemos la funcién simplificada en la forma de producto de sumas: F=(A' + B'\(C! + DB" + D) Los diagramas légicos de las dos expresiones simplificadas se muestran en la figura 1-12. La expresién de suma de productos se implanta en la figura Figura 1-11 Mapa para F(A, B,C, D) = £(0,1,2,5,8, 9, 10). € —l oj} 1 |jolffo implantacién de NAND de NOR SECCION 14 Simplificacién por mapas 17 a A Dt Bt a ee ce Dt i - > > a) Suma de productos 'b) Productos de suma FaBD+B'C+A'CD F=(A'+B')(C'+ D')(B'+D) Figura 1-12 _Diagramas ligicos con compuertas AND y OR. 1-12(a) con un grupo de compuertas AND, una para cada uno de los términos AND. Las salidas de las compuertas AND se conectan a las entradas de una compuerta OR iinica. La misma funcién es implantada en la figura 1-22(b) en la forma de producto de sumas con un grupo de compuertas OR, una para cada uno de los términos OR. Las salidas de las compuertas OR se conectan a las entradas de una compuerta AND tnica. En cada caso se supone que las variables de entrada estén directamente disponibles en su complemento, asi que no se incluyen inversores. El patrén establecido en la figura 1-12 es la forma general por la cual cualquier funcién booleana se implanta cuando se expresa en una de las formas esténdar. Las compuertas AND se conectan a una compuerta OR tinica cuando estan en la forma de la suma de productos. Las compuertas OR se conectan a una compuerta AND tinica cuando estn en la forma de producto de sumas. Una expresién suma de productos puede implantarse con compuertas NAND como se muestra en la figura 1-13(a). Nétese que la segunda com- puerta NAND se dibuja con el simbolo grafico de la figura 1-5(b). Hay tres Iineas en el diagrama con circulos en ambos extremos. Los dos circulos en la misma linea designan el doble complemento, y puesto que (x’Y’ = x, los dos cfrculos pueden quitarse y el diagrama resultante es equivalente al que se muestra en la figura 1-12(a). Andlogamente, una expresién de producto de sumas puede implantarse con compuertas NOR como se muestra en la figura 1-13(b). La segunda compuerta NOR se dibuja con el simbolo grafico de la figura 1-4(b). Otra vez, los dos circulos a ambos lados de cada linea pueden quitarse, y el diagrama asf obtenido es equivalente al que se muestra en la figura 1-12). Condiciones "no importa" Los unos y ceros del mapa representan los términos minimos que hacen que la funcién sea igual a 1 0 0. Hay ocasiones donde no importa si la funcién produce un 00 un 1 para un término minimo dado. Ya que la funcién puede ser un 0 0 un 1, decimos que no nos importa cual pueda ser la salida de la

Vous aimerez peut-être aussi