Conceptos Elempcsentales de Computadoresversion2

download Conceptos Elempcsentales de Computadoresversion2

of 127

Transcript of Conceptos Elempcsentales de Computadoresversion2

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    1/127

    Conceptos elementales de computadoresSergio Barrachina Mir Germn Len Navarro

    Jos Vicente Mart Avils

    rea de Arquitectura y Tecnologa de ComputadoresUniversitat Jaume I

    Copyright c 2014 Sergio Barrachina Mir, Germn Len Navarro y JosVicente Mart Avils.

    Esta obra se publica bajo la licencia Creative Commons Atribucin-CompartirIgual 4.0 Internacional. Puede consultar las condiciones de dichalicencia en:http://creativecommons.org/licenses/by-sa/4.0/.

    http://creativecommons.org/licenses/by-sa/4.0/http://creativecommons.org/licenses/by-sa/4.0/http://creativecommons.org/licenses/by-sa/4.0/
  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    2/127

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    3/127

    ndice general

    ndice general III

    ndice de figuras V

    ndice de cuadros IX

    1 Introduccin 11.1. Introduccin al computador . . . . . . . . . . . . . . . . . . . . . . . 11.2. Concepto de arquitectura de un computador. . . . . . . . . . . . . . 21.3. Arquitectura de Von Neumann . . . . . . . . . . . . . . . . . . . . . 31.4. Niveles estructurales de Bell y Newell . . . . . . . . . . . . . . . . . 4

    2 Representacin de la informacin 72.1. Representacin e interpretacin . . . . . . . . . . . . . . . . . . . . . 72.2. Representacin de nmeros enteros positivos. . . . . . . . . . . . . . 82.3. Representacin con signo . . . . . . . . . . . . . . . . . . . . . . . . 122.4. Representacin de nmeros reales . . . . . . . . . . . . . . . . . . . . 152.5. Representacin de caracteres alfanumricos . . . . . . . . . . . . . . 202.6. Sistemas de numeracin octal y hexadecimal. . . . . . . . . . . . . . 21

    3 lgebra de Boole 233.1. Trminos del lgebra de Boole. . . . . . . . . . . . . . . . . . . . . . 233.2. Representacin de funciones booleanas . . . . . . . . . . . . . . . . . 243.3. Simplificacin de funciones: Mapas de Karnaugh . . . . . . . . . . . 263.4. Introduccin a las puertas lgicas . . . . . . . . . . . . . . . . . . . . 30

    4 Circuitos combinacionales 334.1. Definicin y clasificacin de circuitos . . . . . . . . . . . . . . . . . . 334.2. Anlisis de circuitos combinacionales . . . . . . . . . . . . . . . . . . 35

    4.3. Sntesis de circuitos combinacionales . . . . . . . . . . . . . . . . . . 354.4. Circuitos combinacionales integrados (MSI) . . . . . . . . . . . . . . 41

    5 Circuitos secuenciales 555.1. Introduccin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555.2. Biestables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575.3. Descripcin funcional de un circuito secuencial . . . . . . . . . . . . 625.4. Anlisis de circuitos secuenciales . . . . . . . . . . . . . . . . . . . . 665.5. Sntesis de circuitos secuenciales . . . . . . . . . . . . . . . . . . . . 695.6. Registros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765.7. Contadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

    iii

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    4/127

    iv ndice general

    6 Memorias 836.1. Caractersticas de las memorias . . . . . . . . . . . . . . . . . . . . . 836.2. Jerarqua de memorias . . . . . . . . . . . . . . . . . . . . . . . . . . 876.3. La memoria principal del computador . . . . . . . . . . . . . . . . . 886.4. Asociacin de memorias . . . . . . . . . . . . . . . . . . . . . . . . . 92

    7 Unidad Central de Proceso 977.1. Estructura de la Unidad Central de Proceso . . . . . . . . . . . . . . 977.2. Ciclo de trabajo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 987.3. Excepciones e interrupciones . . . . . . . . . . . . . . . . . . . . . . 997.4. Formato de instruccin. . . . . . . . . . . . . . . . . . . . . . . . . . 997.5. Lgica cableada y lgica microprogramada. . . . . . . . . . . . . . . 1017.6. RISC y CISC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027.7. El microprocesador R2000 . . . . . . . . . . . . . . . . . . . . . . . . 103

    8 Unidad de Entrada/Salida 1098.1. Introduccin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1098.2. Comunicacin fsica . . . . . . . . . . . . . . . . . . . . . . . . . . . 1118.3. Mtodos de sincronizacin . . . . . . . . . . . . . . . . . . . . . . . . 113

    Bibliografa 115

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    5/127

    ndice de figuras

    1.1. Componentes de un computador . . . . . . . . . . . . . . . . . . . . . . 3

    2.1. Representacin e interpretacin de la informacin. . . . . . . . . . . . . 82.2. Ejemplo del mtodo de divisiones sucesivas . . . . . . . . . . . . . . . . 102.3. Ejemplo del mtodo de substracciones sucesivas. . . . . . . . . . . . . . 102.4. Cdigo Gray o binario reflejado . . . . . . . . . . . . . . . . . . . . . . . 11

    2.5. Rango de la representacin en exceso Z . . . . . . . . . . . . . . . . . . 152.6. Representacin del 12, 375en binario con coma fija . . . . . . . . . . . . 162.7. Representacin de los formatos IEEE 754 de simple y doble precisin. . 192.8. Rango de representacin en coma flotante . . . . . . . . . . . . . . . . . 192.9. Representacin del formato IEEE 754 reducido . . . . . . . . . . . . . 20

    3.1. Obtencin de las formas cannicas de una funcin . . . . . . . . . . . . 263.2. Ejemplo de mapa de Karnaugh de una funcin de dos variables: (a) tabla

    de verdad, (b) mapa de Karnaugh, (c) minitrminos y (d) maxitrminos 273.3. Ejemplos de simplificacin de funciones lgicas utilizando mapas de Kar-

    naugh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.4. Principales puertas lgicas. . . . . . . . . . . . . . . . . . . . . . . . . . 31

    4.1. Circuito mal formado: cortocircuito. . . . . . . . . . . . . . . . . . . . . 344.2. Circuitos combinacionales mal formados: realimentacin . . . . . . . . . 354.3. Ejemplo de anlisis de circuitos combinacionales: circuito a analizar . . 354.4. Ejemplo de anlisis de circuitos combinacionales: tablas de verdad y fun-

    ciones algebraicas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.5. Sumador de 2 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.6. Mapas de Karnaugh de las salidas del sumador de 2 bits: R2 (a), R1 (b)

    y R0 (c) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    4.7. Asociacin de puertas NAND de 2 entradas para obtener una puertaNAND de 3. La figura (a) representa la forma correcta de hacerlo y (b)la incorrecta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    4.8. Implementacin de R2 slo con puertas NAND . . . . . . . . . . . . . . 404.9. Implementacin de R1 slo con puertas NAND . . . . . . . . . . . . . . 414.10. Implementacin de R0 slo con puertas NAND . . . . . . . . . . . . . . 424.11. Decodificadorn 2n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.12. Tabla de verdad y circuito de un decodificador 1 2con salidas activas

    a nivel alto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.13. Tabla de verdad de un decodificador 1 2con salidas activas a nivel alto

    y entradaEnableactiva a nivel alto (a) o a nivel bajo (b) . . . . . . . . 44

    v

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    6/127

    vi ndice de figuras

    4.14. Tabla de verdad de un decodificador1 2con salidas activas a nivel bajoy entrada Enableactiva a nivel alto (a) o a nivel bajo (b) . . . . . . . . 44

    4.15. Tabla de verdad y esquemtico del decodificador 3 874xx138 . . . . . 444.16. Implementacin de la funcin F utilizando un decodificador con salidas

    activas a nivel alto y tomando los unos de la funcin (a) o tomando los

    ceros de la funcin (b); utilizando un decodificador con salidas activas anivel bajo y tomando los unos de la funcin (c) o tomando los ceros dela funcin (d) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    4.17. Obtencin de un decodificador 2 4utilizando decodificadores 1 2 . . 474.18. Obtencin de un decodificador 38 utilizando decodificadores 12 y

    2 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484.19. Codificador8 : 3con la entrada 6 activa . . . . . . . . . . . . . . . . . . 484.20. Multiplexor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504.21. Ejemplo de asociacin de multiplexores . . . . . . . . . . . . . . . . . . 514.22. Implementacin de una funcin de 3 variables utilizando un multiplexor

    8 : 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    4.23. Implementacin de una funcin de 3 variables utilizando un multiplexor4 : 1y como mximo un inversor . . . . . . . . . . . . . . . . . . . . . . 53

    4.24. Demultiplexor 1 : 2n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

    5.1. Seal de reloj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565.2. Esquema bsico de un circuito secuencial sncrono . . . . . . . . . . . . 565.3. Esquema de un biestable RS asncrono con puertas NOR . . . . . . . . 585.4. Smbolo de un biestable RS asncrono . . . . . . . . . . . . . . . . . . . 585.5. Smbolos de un biestable RS sncrono activo por flanco de bajada (a) y

    por flanco de subida (b) . . . . . . . . . . . . . . . . . . . . . . . . . . . 595.6. Tabla de funcionamiento y smbolo de un biestable JK sncrono activo

    por flanco de subida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595.7. Cronograma de un hipottico biestable JK asncrono . . . . . . . . . . . 605.8. Cronograma de un biestable JK sncrono activo por flanco de subida . . 605.9. Tabla de funcionamiento y smbolo de un biestable T sncrono activo por

    flanco de subida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.10. Implementacin de un biestable T utilizando un JK . . . . . . . . . . . 615.11. Tabla de funcionamiento y smbolo de un biestable D activo por flanco

    de subida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.12. Implementacin de un biestable D utilizando un JK y una puerta inversora 625.13. Implementacin de un biestable D utilizando un RS y una puerta inversora 625.14. Biestable JK con entradas Presety Reset . . . . . . . . . . . . . . . . . 62

    5.15. Transicin entre estados en la mquina de Moore . . . . . . . . . . . . . 645.16. Transicin entre estados en la mquina de Mealy . . . . . . . . . . . . . 645.17. Tabla de estados de una mquina de Moore . . . . . . . . . . . . . . . . 655.18. Tabla de estados alternativa de una mquina de Moore . . . . . . . . . 655.19. Tabla de estados de una mquina de Mealy . . . . . . . . . . . . . . . . 655.20. Ejemplo de anlisis de css: Circuito secuencial sncrono. . . . . . . . . . 675.21. Ejemplo de anlisis de css: Mquina de Moore. . . . . . . . . . . . . . . 685.22. Ejemplo de anlisis de css: Mquina de Mealy . . . . . . . . . . . . . . . 695.23. Ejemplo de funcionamiento del sumador serie propuesto . . . . . . . . . 715.24. Mquina de Mealy del sumador serie propuesto . . . . . . . . . . . . . . 715.25. Circuito que implementa el sumador serie propuesto . . . . . . . . . . . 72

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    7/127

    ndice de figuras vii

    5.26. Ejemplo de funcionamiento del detector de secuencia propuesto . . . . . 735.27. Mquina de Moore del detector de secuencia propuesto. . . . . . . . . . 735.28. Circuito que implementa el detector de secuencia propuesto . . . . . . . 755.29. Registro de almacenamiento . . . . . . . . . . . . . . . . . . . . . . . . . 765.30. Registro de desplazamiento a la derecha con entrada serie y salida serie 77

    5.31. Registro de desplazamiento de entrada serie y salida paralelo . . . . . . 775.32. Mquina de Moore de un contador binario ascendente de 2 bits . . . . . 785.33. Tabla de estados (a), de transiciones (b) y expresiones algebraicas de

    Q1(t + 1)y Q0(t + 1)(c). . . . . . . . . . . . . . . . . . . . . . . . . . . 795.34. Contador asncrono binario natural descendente de 3bits . . . . . . . . . 795.35. Contador asncrono binario natural ascendente de 3bits . . . . . . . . . 80

    6.1. Jerarqua de memorias . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876.2. Estructura interna de una ROM2n 1 . . . . . . . . . . . . . . . . . . 896.3. Esquema de una memoria RAM2n m . . . . . . . . . . . . . . . . . . 896.4. Estructura interna de una memoria RAM2n m . . . . . . . . . . . . . 90

    6.5. Unificacin de los buses de datos . . . . . . . . . . . . . . . . . . . . . . 926.6. Conversin de las seales de control . . . . . . . . . . . . . . . . . . . . 926.7. Estructura interna de una memoria RAM2n m . . . . . . . . . . . . . 936.8. Memoria de1K 8utilizando memorias 1K 4 . . . . . . . . . . . . . 946.9. Memoria de2K 8utilizando memorias 1K 8 . . . . . . . . . . . . . 95

    8.1. Estructuracin en niveles de la Entrada/Salida . . . . . . . . . . . . . . 110

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    8/127

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    9/127

    ndice de cuadros

    2.1. Representacin en binario natural . . . . . . . . . . . . . . . . . . . . . 82.2. Cdigo bi-quinario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.3. Cdigo BCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.4. Signo-magnitud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.5. Complemento a uno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.6. Complemento a dos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.7. Representacin en notacin cientfica . . . . . . . . . . . . . . . . . . . . 172.8. Caracteres ASCII imprimibles. . . . . . . . . . . . . . . . . . . . . . . . 212.9. Sistemas octal y hexadecimal . . . . . . . . . . . . . . . . . . . . . . . . 22

    3.1. Operaciones+ y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.2. Tabla de verdad de F(x,y ,z) =xz + yz+ xy . . . . . . . . . . . . . . . 253.3. Minitrminos y maxitrminos . . . . . . . . . . . . . . . . . . . . . . . . 25

    4.1. Tabla de verdad del sumador de 2 bits . . . . . . . . . . . . . . . . . . . 384.2. Relacin entre minitrminos y maxitrminos y las salidas de un decodi-

    ficador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    4.3. Combinaciones posibles de decodificadores y puertas lgicas para la im-plementacin de funciones lgicas . . . . . . . . . . . . . . . . . . . . . . 45

    4.4. Funcin lgica que se desea implementar con un decodificador y unapuerta lgica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    4.5. Tabla de verdad de un codificador4 : 2sin prioridad . . . . . . . . . . . 494.6. Tabla de verdad de un codificador4 : 2con prioridad. . . . . . . . . . . 49

    5.1. Tabla de transiciones de un biestable RS. . . . . . . . . . . . . . . . . . 575.2. Tabla de funcionamiento de un biestable RS. . . . . . . . . . . . . . . . 585.3. Ejemplo de anlisis de css: Tabla de funcionamiento . . . . . . . . . . . 675.4. Ejemplo de anlisis de css: Tabla de transiciones (Moore) . . . . . . . . 685.5. Ejemplo de anlisis de css: Tabla de transiciones (Mealy) . . . . . . . . 695.6. Tabla de estados del sumador serie propuesto . . . . . . . . . . . . . . . 715.7. Tabla de transiciones del sumador serie propuesto . . . . . . . . . . . . 715.8. Tabla de funcionamiento del sumador serie propuesto . . . . . . . . . . 725.9. Tabla de estados del detector de secuencia propuesto . . . . . . . . . . . 745.10. Tabla de transiciones del detector de secuencia propuesto . . . . . . . . 745.11. Tabla de funcionamiento del detector de secuencia propuesto . . . . . . 745.12. Tabla de obtencin del estado futuro de un biestable T (a), JK (b) y RS (c) 755.13. Tabla de funcionamiento para cualquier tipo de biestables del detector

    de secuencia propuesto. . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

    ix

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    10/127

    x ndice de cuadros

    5.14. Funcionamiento de un registro de desplazamiento a la derecha de 3 bitscon entrada serie (E) y salida serie (Q2(t)) . . . . . . . . . . . . . . . . 77

    5.15. Tabla de funcionamiento de un contador asncrono binario natural des-cendente de 3 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

    5.16. Tabla de funcionamiento de un contador asncrono binario natural ascen-

    dente de 3 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816.1. Principales caractersticas de una memoria . . . . . . . . . . . . . . . . 84

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    11/127

    Agradecimientos

    Deseamos hacer constar nuestro agradecimiento a todos aquellos que con su apo-yo, ayuda y comprensin hicieron posible la reedicin de libro Conceptos elementalesde computadoresen el ao 2000 y, en especial, a Rafael Mayo Gual y a Federico PratVillar por su desinteresada colaboracin en la revisin de varios de los captulos ypor sus valiosas sugerencias.

    Esta nueva edicin corrige las erratas que durante su uso como material docen-te en la asignatura de Introduccin a los Computadoresde la Universitat Jaume Ifueron detectadas y reportadas por los siguientes estudiantes: Adrin Escrig Oren-ga, Antonio Calero Alcarria, Blanca Galve Sim, David Vicente Consuegra, DiegoFernndez Pallars, Ernesto Lzaro Prez Espinosa, Ester Garca Bentez, FranciscoJos Lafuente Prez, Javier Ramn Gil, Jos Manuel Gutierro Felip, Miguel ngelClavero Buj, Pau Conejero Alberola y Samuel Ibez Gmez. A todos ellos, nuestroms sincero agradecimiento.

    Estamos seguros de que a pesar de todas las revisiones anteriores, habremos sidocapaces de incorporar nuevas erratas, por lo que asumimos stas como enteramentenuestras.

    Por otro lado, confiamos en que el tiempo invertido en la reedicin del presente li-bro permita al lector una mejor comprensin de la materia en l tratada, ayudndoleen su formacin. Si esto es as, daremos este tiempo como bien empleado.

    xi

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    12/127

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    13/127

    C

    aptulo

    1Introduccin

    Este captulo proporciona una breve introduccin al concepto de computador ya los componentes que lo forman. Tambin est pensado como una gua del presentelibro, sealando en qu captulos se desarrollan los conceptos aqu introducidos.

    1.1. Introduccin al computador

    Un computador puede definirse de forma genrica como un aparato o mquinadestinado a procesar informacin, entendindose por proceso las sucesivas fases, ma-nipulaciones o transformaciones de la informacin destinadas a resolver un problema

    determinado [Mig94]. Se llama computadores electrnicos a aquellos que representanla informacin mediante seales elctricas y utilizan dispositivos electrnicos parasu procesamiento. Dentro de los computadores electrnicos se distinguen dos tiposde computadores segn el sistema utilizado para la representacin de la informacin:

    Computadores analgicos

    Computadores digitales

    En los computadores analgicosla informacin est representada mediante unsistema analgico. Es decir, las seales son interpretadas como funciones continuas(en un determinado instante el valor de la funcin es un valor cualquiera y la evolu-

    cin de la funcin con el tiempo es continua). La informacin representable medianteeste tipo de funciones slo puede ser de tipo numrico. Debido a esto, los compu-tadores analgicos nicamente pueden procesar informacin numrica, por lo quegeneralmente reciben el nombre de calculadoras analgicas.

    En loscomputadores digitales, por el contrario, la informacin est representadamediante un sistema digital binario, es decir, un sistema que slo diferencia entredos estados posibles, generalmente llamados 1 y 0.

    La unidad bsica de expresin de informacin de un computador digital es, portanto, un dgito binario. Esta unidad bsica recibe el nombre de bit(binary digit).

    Puesto que con un solo bit nicamente se puede expresar una de entre dos al-ternativas, por regla general, se suelen utilizar cadenas formadas por varios de estos

    1

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    14/127

    2 Introduccin

    bits. Normalmente las cadenas de bits utilizadas son de una determinada longitud.Dependiendo de su longitud una de estas cadenas recibe el nombre de:cuarteto(nib-ble) si est formada por 4 bits; octeto(byte) si est formada por 8 bits; una palabra(word) si est formada por 16 bits; y doble palabrasi est formada por 32 bits. Enel Captulo2 se ver con ms detalle cmo representar la informacin utilizando el

    sistema binario.El gran desarrollo que han tenido, y estn teniendo, las tcnicas digitales se debea las ventajas que su uso representa en el tratamiento de la informacin frente a otrastcnicas como las analgicas. Estas ventajas se pueden resumir en[GGM92]:

    Precisin y versatilidad en el procesamiento de la informacin.

    Alta fiabilidad en la construccin de componentes electrnicos de conmutacin.

    Capacidad de almacenamiento de informacin.

    Posibilidad de deteccin y correccin de errores en la transmisin de la infor-macin.

    Debido a estas ventajas y a la importancia de los computadores digitales estelibro se centrar en el estudio de los mismos.

    Para que un computador digital pueda procesar informacin, se le ha de indicarla secuencia de pasos que ha de seguir para su procesamiento. Esta secuencia depasos constituye la programacin del mismo y al ms bajo nivel se realiza en unlenguaje que ste puede entender. Este lenguaje, llamado lenguaje mquina, estformado por un conjunto detallado de instrucciones, que recibe el nombre de juegode instrucciones de mquina, donde cada instruccin est representada por unadeterminada cadena de bits. Cada una de estas instrucciones contiene informacinsobre la operacina realizar, los operandoso la direccin de stos de la mismay la direccin del resultado.

    1.2. Concepto de arquitectura de un computador

    La arquitectura de un computador [Mig94, Sta97] se refiere a aquello que unprogramador en lenguaje mquina necesita saber de un computador. Comprende losiguiente:

    Juego de instrucciones de mquina.

    Tipos y formatos de los operandos de las instrucciones de mquina.

    Mapas de memoria y de entrada/salida.

    Modelo de ejecucin.

    La arquitectura de un computador es una abstraccin del mismo ya que definesu comportamiento pero no sus caractersticas internas. En este sentido convienediferenciar los siguientes trminos:

    Arquitectura Especifica lo que puede hacer el computador.

    Organizacin o estructura interna Especifica cmo lo hace.

    Tecnologa Especifica los elementos fsicos concretos con los que est construido elcomputador.

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    15/127

    1.3. Arquitectura de Von Neumann 3

    1.3. Arquitectura de Von Neumann

    La arquitectura propuesta por Von Neumann en 1945 durante el desarrollo delEDVAC (Electronic Discrete Variable Automatic Computer) es la utilizada prcti-camente en todos los computadores actuales.

    Unidad

    de

    ControlMemoria

    Principal de

    Entrada/Salida

    Unidad

    Lgica

    UnidadAritmtico

    Computador

    UCP

    Figura 1.1: Componentes de un computador

    Esta arquitectura describe el funcionamiento de un computador a partir de trescomponentes (vase Figura1.1): la unidad central de proceso, la memoria principaly la unidad de entrada/salida. Esta organizacin es independiente de la tecnologaempleada para la construccin de un computador. Es decir, cualquier parte de cual-quier computador, antiguo o moderno, puede clasificarse como perteneciente a unade estos tres componentes[Mig94]: La arquitectura de

    Von Neumann fuellevada a la prcti-ca en 1952 con laconstruccin y puestaen marcha del IASdesarrollado por VonNeumann y otros en elInstituto Princeton pa-ra Estudios Avanzados(Princeton Institute for

    Advanced Studies). ElIAS[Sta97] es, por tan-to, el primer prototipode los computadoresde propsito generalactuales.

    Unidad central de proceso o procesador (UCP o CPU) Se encarga de co-ordinar el funcionamiento de todos los componentes de un computador. Launidad central de proceso est a su vez formada por una unidad de controlyunaunidad aritmtico lgica. La UCP se ver en el Captulo7.

    Memoria principal Se emplea para almacenar tanto los datos como las instruc-ciones de un computador. No es el nico medio de almacenamiento presenteen un computador, ya que la unidad central de proceso posee una serie deregistros en los que se puede almacenar informacin y adems, a travs dela unidad de entrada/salida, el ordenador puede utilizar dispositivos perifri-cos de almacenamiento como pueden ser discos duros, disquetes, etc.. Tantola unidad central de proceso como la unidad de entrada/salida pueden leer yescribir en la memoria principal. La memoria de un computador se ver en elCaptulo6.

    Unidad de entrada/salida Esta unidad gestiona la transferencia de informacinentre el computador y el exterior por medio de unas unidades que reciben elnombre de perifricos. Un computador puede poseer perifricos de entrada:teclado, ratn, etc.; de salida: monitor, impresora, etc. y de entrada/salida:unidad de disco duro, unidad de disquete, etc.

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    16/127

    4 Introduccin

    En resumen, la unidad central de proceso recibe instrucciones y datos de lamemoria principal, la unidad de entrada/salida escribe y lee datos de la memoriaprincipal. Adems, la unidad de control enva seales que determinan el comporta-miento de la unidad aritmtico lgica, de la memoria principal y de la unidad deentrada/salida. Toda esta comunicacin entre los distintos componentes se realiza a

    travs de una serie de caminos llamadosbuses. Un bus es un conjunto de lneas quetransmiten un determinado tipo de informacin. Segn el tipo de informacin quetransmiten, se puede separar el bus del sistemaen tres partes[Hyd96]:

    El bus de datos Utilizado para la transferencia de informacin entre los distintoscomponentes de un computador. El ancho del bus de datos (nmero de lneasdel mismo) determina la cantidad de bits que pueden transferirse a la vez entrelos distintos componentes del computador.

    El bus de direcciones Se utiliza para determinar la posicin de memoria o deentrada/salida en la que se encuentra la informacin a la que se desea acceder.El ancho del bus de direcciones determina la cantidad de posiciones de memoria

    distintas a las que puede acceder un procesador (si n es el nmero de lneasdel bus de direcciones, se podrn direccionar hasta2n posiciones distintas).

    El bus de control Es un conjunto de seales que controlan cmo se realiza lacomunicacin entre el procesador y el resto de componentes del sistema. Se verla utilidad del bus de control con un ejemplo: El procesador enva informacina la memoria y recibe informacin de la memoria utilizando un mismo busde datos. Esto plantea el siguiente dilema, est enviando o est recibiendo?Hay una lnea en el bus de control, R/W, que determina el sentido de latransferencia.

    Adems de esta organizacin, un computador de arquitectura de Von Neumannpresenta las siguientes caractersticas:

    Tanto los datos como las instrucciones se almacenan en una nica memoria.

    El contenido de la memoria es direccionable por posicin. No hay distincinentre el acceso a un dato o a una instruccin.

    Ejecucin en forma secuencial de las instrucciones.

    1.4. Niveles estructurales de Bell y Newell

    Tanto el hardware como el software estn formados por una serie de nivelesEl hardware de uncomputador son loscomponentes fsicos,tangibles, del mismo.El software est for-mado por aquellosprogramas que danvidaa un computador.

    jerrquicos, donde cada nivel esconde detalles del nivel inferior [PH94]. Gracias a esteprincipio de abstraccin, tanto los diseadores de hardware como los desarrolladoresde software pueden hacer frente a la complejidad de los sistemas computacionales.

    En cuanto al hardware de un computador, Bell y Newell proponen una divisinen niveles estructurales de tal forma que los elementos utilizados en cada nivel sonlos conjuntos o sistemas construidos en el nivel inferior [Mig94]. Es decir, para cadanivel se parte de una serie de elementos de los que se conoce su funcionamiento perode los que no interesa saber cmo han sido construidos. Cada nivel se diferencia porun lenguaje con el que se describe su estructura y funcionamiento, por unas leyesde comportamiento y por unas reglas o mtodos de diseo propios.

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    17/127

    1.4. Niveles estructurales de Bell y Newell 5

    El primer nivel es el nivel de componentes. Partiendo de los materiales defabricacin: semiconductores de tipo n y p, metales, etc., se construyen: diodos,transistores, resistencias, condensadores, etc.

    El segundo nivel es el nivel de circuito electrnico. Utilizando como primi-tivas los componentes del primer nivel se disean puertas lgicas, biestables, oscila-

    dores, etc.El tercer nivel corresponde alnivel de circuito digital. Este nivel se divide endos subniveles: el decircuitos combinacionalesy el decircuitos secuenciales.En el primer subnivel se utilizan puertas lgicas para la construccin de sistemascombinacionales: multiplexores, decodificadores, etc. En el subnivel secuencial seutilizan adems circuitos de memoria tipo biestable y se generan: contadores, regis-tros, etc. Las puertas lgicas se describen en el Captulo3,el subnivel de circuitoscombinacionales se estudia en el Captulo4y el subnivel de circuitos secuencialesen el Captulo5.

    El cuarto nivel es el nivel de transferencia entre registros (RT, RegistryTransference). Los elementos constructivos son los buses, registros, bloques com-

    binacionales, memorias, etc. Los sistemas formados sern bloques funcionales delcomputador o este mismo. Este cuarto nivel est tratado en los Captulos 6 y 7.El quinto y ltimo nivel corresponde al nivel de intercambio procesador

    memoria (PMS, Processor Memory Switch). ste es el nivel correspondiente almayor grado de abstraccin posible y proporciona una descripcin detallada delfuncionamiento del computador.

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    18/127

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    19/127

    C

    aptulo

    2Representacin de la informacin

    Los sistemas digitales presentan una serie de ventajas sobre los analgicos que loshacen interesantes para ciertas aplicaciones, entre sus ventajas, destacan su simpli-cidad de diseo y su inmunidad al ruido elctrico. Sin embargo, para que un sistemadigital pueda procesar informacin, es necesario primero representarla en forma de0s y 1s. Este captulo muestra cmo se representan e interpretan distintos tiposde informacin en un sistema digital.

    2.1. Representacin e interpretacin

    Para expresar la informacin en un lenguaje dado y posteriormente poder recu-perarla, es necesario definir dos operaciones: representacine interpretacin.

    Larepresentacines la operacin por la que se expresa una determinada infor-macin como una combinacin particular de smbolos de un determinado lenguaje.As por ejemplo, el nmerotrecese representa mediante los smbolos 1 y 3; y el colorazulmediante a, z, u y l.

    Lainterpretacin es la operacin inversa a la anterior. Es decir, aquella ope-racin que a partir de una combinacin de smbolos obtiene la informacin original-mente representada. As por ejemplo, los smbolos 13 se interpretan como el nmero

    trece. Para que la interpretacin sea correcta es necesario conocer el cdigo quefue utilizado para representar la informacin que se desea interpretar. Por poner unejemplo, el nmero 100 puede significar cien o cuatro dependiendo del sistema denumeracin empleado.

    En resumen, la representacin permite expresar cualquier informacin (con-ceptos) en forma dedatos(smbolos) utilizando un cdigo(normas) determinado.La interpretacin permite recuperar la informacinoriginal conocido elcdigo, apartir de un conjunto de datos. La Figura2.1representa grficamente estas rela-ciones.

    Es importante recordar que para poder interpretar correctamente una determi-nada informacin, es necesario conocer el cdigo con el que sta ha sido representada.

    7

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    20/127

    8 Representacin de la informacin

    Datos Informacin

    representacin

    interpretacin

    Figura 2.1: Representacin e interpretacin de la informacin

    Tipos de informacin

    La informacin bsica a representar en un computador digital puede clasificarseen: informacin de tipo numricoe informacin de tipo alfanmerico.

    Se entiende por informacin numrica a aquella que expresa cantidades cuan-tificables. La informacin numrica puede estar formada por nmeros de distintanaturaleza: nmeros enteros positivos, nmeros enteros con signo y nmeros reales.Los sistemas de representacin en binario de nmeros enteros positivos, nmerosenteros con signo y nmeros reales se ven en las Secciones 2.2,2.3y2.4, respectiva-

    mente.Se denomina informacin alfanumrica a aquella informacin de tipo texto yque est formada por caracteres que pueden representar letras, nmeros o smbolosespeciales. La representacin de informacin alfanumrica se ve en la Seccin2.5.

    2.2. Representacin de nmeros enteros positivos

    En este apartado se describen los siguientes sistemas de codificacin de nmerosenteros positivos: el binario natural, el cdigo Gray, el cdigo 2 entre 5 y el BCD.

    Binario naturalEste cdigo o sistema de representacin es el resultado de aplicar el mismo sis-

    tema empleado para la numeracin en decimal (que posee diez smbolos distintos:09) pero utilizando slo dos smbolos: el 0 y el 1. El procedimiento por el quese obtiene el siguiente nmero a uno dado en ambos sistemas es el siguiente (seempieza con el dgito situado ms a la derecha del nmero): se incrementa el dgitoen una unidad sustituyendo el smbolo actual por el siguiente smbolo de entre losdisponibles, si no quedan smbolos, se sustituye el smbolo actual por el 0 y serepite el procedimiento con el dgito situado a la izquierda del actual.

    La Tabla2.1 muestra los nmeros del 0 al 31 representados en binario natural.

    0 - 0 8 - 1000 16 - 10000 24 - 110001 - 1 9 - 1001 17 - 10001 25 - 110012 - 10 10 - 1010 18 - 10010 26 - 110103 - 11 11 - 1011 19 - 10011 27 - 110114 - 100 12 - 1100 20 - 10100 28 - 111005 - 101 13 - 1101 21 - 10101 29 - 111016 - 110 14 - 1110 22 - 10110 30 - 111107 - 111 15 - 1111 23 - 10111 31 - 11111

    Cuadro 2.1: Representacin en binario natural

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    21/127

    2.2. Representacin de nmeros enteros positivos 9

    El sistema binario de numeracin es, al igual que el decimal, un sistema de El bit situado ms a laizquierda de un nmerobinario recibe el nom-bre debit ms significa-tivo(MSB) y el situadoms a la derecha recibe

    el de bit menos signifi-cativo(LSB).

    numeracin posicional: el valor de un dgito depende de la posicin que ste ocupadentro del nmero. Esto quiere decir que un nmero como el 435 es interpretadocomo400 + 30 + 5 = 4 102 + 3 101 + 5 100.

    En general, dado un nmero expresado como una cadena de dgitos de longitud

    ny base b: xn1 x1x0b , ste puede interpretarse de la siguiente forma:xn1 x1x0b =xn1b

    n1 + + x1b1 + x0b

    0

    Que particularizando para nmeros binarios (base igual a 2), queda:

    xn1 x1x02 =xn12n1 + + x12

    1 + x020 (2.1)

    Por lo tanto, para interpretar un nmero en binario natural bastar con aplicarla frmula anterior. As, por ejemplo:

    110102= 1 24 + 1 23 + 0 22 + 1 21 + 0 20 = 16 + 8 + 0 + 2 + 0 = 2610,

    como puede comprobarse si se consulta la Tabla 2.1.Teniendo en cuenta la Ecuacin2.1se pueden deducir fcilmente las siguientesigualdades que facilitan la conversin entre binario y decimal:

    (1

    n 0 . . . 0)2= 2

    n (

    n 1 . . . 1)2= 2

    n 1 (2.2)

    Mtodos de representacin en binario natural

    Pararepresentarun nmero en binario natural se pueden utilizar varios mtodos.Dos de estos mtodos son el de divisiones sucesivas y el de substracciones sucesivas.Estos mtodos se explican a continuacin.

    Mtodo de divisiones sucesivas

    Este mtodo puede utilizarse para la conversin entre dos bases cualesquiera(teniendo en cuenta que las operaciones necesarias divisiones se han de realizaren la aritmtica de la base de partida). A continuacin se detallar para el casoparticular de la conversin de un nmero en base decimal a binaria.

    Para representar un nmero decimal en binario utilizando este mtodo se hande realizar los siguientes pasos:

    1. Se divide el nmero por dos y se anota el resto.

    2. Mientras el cociente de la ltima divisin realizada sea mayor a 1, ste sevuelve a dividir por dos y se anota el resto obtenido.

    3. Una vez se han realizado las divisiones necesarias para que el ltimo cocientesea igual a 1, el nmero binario esta formado por: el bit ms significativo esigual al cociente de la ltima divisin (un 1), el siguiente bit (de izquierdaa derecha) al resto de la ltima divisin, el siguiente al de la anterior, y assucesivamente hasta llegar al resto de la primera divisin que ser el bit menossignificativo.

    La Figura2.2muestra el procedimiento seguido para convertir el nmero 26 abinario.

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    22/127

    10 Representacin de la informacin

    2

    2

    2

    2

    Resultado=110102

    26

    0 13

    1 6

    3

    11

    0

    Figura 2.2: Ejemplo del mtodo de divisiones sucesivas

    Mtodo de substracciones sucesivas

    Para representar un nmero decimal en binario utilizando este mtodo se hande realizar los siguientes pasos:

    1. Se localiza la mayor potencia de 2 menor o igual al nmero a representar, 2x.

    2. Se resta del nmero a representar la potencia obtenida y se anota un 1.

    3. Para cada potencia de 2, desde 2x1 hasta20, se intenta restar dicha potenciadel ltimo resultado mayor o igual a cero y si el resultado es mayor o igual acero se anota un 1, en caso contrario se anota un 0.

    4. Finalmente, la representacin en binario natural la constituyen los 1s y 0sanotados en el orden en el que stos se obtuvieron.

    La Figura2.3muestra el procedimiento seguido para convertir el nmero 26 abinario.

    1. Buscar la potencia de 2 ms grande menor o igual que 26:24 = 16< 26 < 32 = 25 la potencia buscada es 16

    2. Restar sucesivamente:26 16 = 10 1

    10 8 = 2 12 4 = 2 02 2 = 0 10 1 = 1 0

    3. Leer de arriba a abajo:El nmero 26 en binario natural es:110102

    Figura 2.3: Ejemplo del mtodo de substracciones sucesivas

    Rango de representacin

    Se denomina rango de representacinal conjunto de nmeros que pueden serrepresentados por un sistema de representacin. El rango de representacin de unsistema se suele indicar por medio del intervalo comprendido entre el menor y elmayor nmero representables.

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    23/127

    2.2. Representacin de nmeros enteros positivos 11

    En principio, en binario natural puede representarse cualquier nmero enteropositivo: cuanto mayor sea el nmero, mayor ser el nmero de bits necesarios parasu representacin.

    Sin embargo, si el nmero de bits disponibles est limitado, tambin lo estar elnmero de enteros representables en dicho sistema.

    As, el rango de representacin del binario natural con n bits vendr dado porlos nmeros enteros comprendidos entre el menor y el mayor nmero representablesutilizando nbits. El menor nmero ser aquel que tenga sus nbits a cero: 0 . . . 02(0en decimal); y el mayor el que tenga sus n bits a uno: 1 . . . 12(2n 1en decimal,tal y como se vio en la Ecuacin2.2). Por lo tanto, el rango de representacin delbinario natural conn bits es:

    [0.,2n 1]

    Cdigo Gray (o binario reflejado)

    La representacin en binario natural no es la ms adecuada para cualquier uso

    o aplicacin. Es por ello que existen codificaciones distintas que presentan ciertascualidades que las hacen idneas para ciertas aplicaciones. El cdigo Grayes una deestas codificaciones.

    El cdigo Gray se caracteriza por que la representacin de un nmero y la delsiguiente, y por tanto tambin la del anterior, tan slo se diferencian en un bit. LaFigura2.4muestra el cdigo Gray correspondiente a los nmeros del 0 al 7.

    Este cdigo cumple, adems, otra propiedad: al dividir un secuencia de nbits porla mitad, las mitades obtenidas son simtricas a excepcin del bit ms significativo.De ah que tambin reciba el nombre de binario reflejado.

    0 00 000

    1 01 00111 01110 010

    110111101100

    Figura 2.4: Cdigo Gray o binario reflejado

    Cdigo 2 entre 5

    El cdigo 2 entre 5 representa cada dgito decimal mediante una combinacinnica de cinco bits. De estos cinco bits, slo dos de ellos valen 1 (vase Tabla 2.2).Este cdigo se suele utilizar para facilitar la deteccin de errores en la transmisinde informacin.

    Cdigo BCD

    El cdigo BCD (Binary Coded Decimal) emplea cuatro bits para expresar enbinario natural cada una de las diez cifras del sistema decimal (vase Tabla2.3).

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    24/127

    12 Representacin de la informacin

    0 - 00011 5 - 011001 - 00101 6 - 100012 - 00110 7 - 100103 - 01001 8 - 101004 - 01010 9 - 11000

    Cuadro 2.2: Cdigo bi-quinario

    0 - 0000 5 - 01011 - 0001 6 - 01102 - 0010 7 - 01113 - 0011 8 - 10004 - 0100 9 - 1001

    Cuadro 2.3: Cdigo BCD

    La representacin de un nmero decimal en cdigo BCD consiste en la sustitucinde cada cifra del nmero decimal por su representacin en BCD (e.g. el nmerodecimal435se representa en BCD como0100 0011 0101BCD).

    Este cdigo es utilizado principalmente en calculadoras electrnicas (al ser laaritmtica BCD similar a la decimal) y en displaysde 7 segmentos (para indicar elnmero a representar).

    2.3. Representacin con signo

    En la seccin anterior se han visto algunos de los sistemas de representacin uti-lizados para la codificacin de nmeros enteros positivos. En esta se ven los sistemasde representacin de nmeros enteros (positivos y negativos).

    Signo-Magnitud

    La representacin ensigno-magnitudes el sistema de representacin de nmerosenteros ms sencillo. En sta, el bit ms significativo indica el signo del nmero (0positivo y 1 negativo); y los bits restantes el valor absoluto del mismo (en binarionatural). La Tabla 2.4 muestra los nmeros enteros del -7 al 7 representados en

    signo-magnitud.Puesto que el rango de representacin se divide en partes iguales entre los n-

    meros positivos y negativos quedando n 1bits para representar el valor absolutodel nmero, el rango de representacin en signo-magnitud es:

    [ 1 . . . 1 n1

    .. 1 . . . 1 n1

    ] = [(2n1 1).,2n1 1]

    Esta representacin presenta los siguientes inconvenientes: se utilizan dos com-binaciones distintas para representar el 0 y las operaciones aritmticas han de teneren cuenta el signo de los operandos.

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    25/127

    2.3. Representacin con signo 13

    0 - 0000 -0 - 10001 - 0001 -1 - 10012 - 0010 -2 - 10103 - 0011 -3 - 10114 - 0100 -4 - 1100

    5 - 0101 -5 - 11016 - 0110 -6 - 11107 - 0111 -7 - 1111

    Cuadro 2.4: Signo-magnitud

    Complemento a uno y a dos

    Los sistemas de representacin en complemento obtienen la representacin deun nmero negativo restando del total de combinaciones posibles con n bits (2n) el

    nmero a representar y una cantidad fija. Dependiendo del valor de esta cantidadfija se distinguir entre: complemento a unoy complemento a dos.

    Complemento a uno

    Tambin denominado complemento a la base menos uno. Consiste en la repre-sentacin de los nmeros enteros de la siguiente forma: los nmeros positivos serepresentan en signo-magnitud y los negativos en forma de complemento segn laecuacin:

    Ca1(x, n) = 2n 1 x, (2.3)

    donde x es el valor absoluto del nmero negativo que se quiere representar y n elnmero de bits disponibles. La Tabla2.5 muestra la representacin de los nmerosdel -7 al 7 en complemento a uno.

    0 - 0000 -7 - 10001 - 0001 -6 - 10012 - 0010 -5 - 10103 - 0011 -4 - 10114 - 0100 -3 - 11005 - 0101 -2 - 11016 - 0110 -1 - 1110

    7 - 0111 -0 - 1111Cuadro 2.5: Complemento a uno

    En la prctica, para representar un nmero negativoen complemento uno, enlugar de utilizar la Ecuacin2.3,se realizan los siguientes pasos: (i) se representaen binario natural el valor absoluto del nmero y (ii) se intercambian los 1s por 0sy los 0s por 1s.

    Para interpretar un nmero negativo en complemento a uno se realiza la mismasecuencia de operaciones pero en sentido contrario.

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    26/127

    14 Representacin de la informacin

    En cuanto a las operaciones aritmticas binarias, stas son ms sencillas de reali-zar que en signo-magnitud. En particular, la suma de dos nmeros en complementoa uno es igual a su suma binaria, ms el acarreo en el caso de que se produzca. Elresultado obtenido est expresado directamente en complemento a uno.

    Como desventaja del complemento a uno, sealar que tambin presenta duplici-

    dad en el cero.Por ltimo, su rango de representacin con n bits es, al igual que en signo-magnitud:

    [(2n1 1).,2n1 1]

    Complemento a dos

    Tambin denominado complemento a la base. Consiste en la representacin delos nmeros enteros de la siguiente forma: los nmeros positivos se representan enbinario natural y los negativos en forma de complemento segn la ecuacin:

    Ca2(x, n) = 2n

    x, (2.4)donde x es el valor absoluto del nmero negativo que se quiere representar y n elnmero de bits disponibles. La Tabla2.6se muestra la representacin en comple-mento a 2 de los nmeros del -8 al 7. Como puede observarse, no hay duplicidad enel cero, al contrario de lo que ocurre en signo-magnitud y en complemento a uno.

    0 - 0000 -8 - 10001 - 0001 -7 - 10012 - 0010 -6 - 10103 - 0011 -5 - 10114 - 0100 -4 - 1100

    5 - 0101 -3 - 11016 - 0110 -2 - 11107 - 0111 -1 - 1111

    Cuadro 2.6: Complemento a dos

    En la prctica, para representar un nmero negativo en complemento dos, enlugar de utilizar la Ecuacin2.4, se realizan los siguientes pasos: (i) se representael nmero en complemento a uno y (ii) se suma un 1 (si el bit ms significativo delnmero resultante es 0 en lugar de 1, el nmero original est fuera del rango de repre-

    sentacin del complemento a 2 y por lo tanto no se puede representar correctamenteconn bits).Para interpretar un nmero negativo en complemento a dos se realiza la misma

    secuencia de operaciones pero en sentido contrario.En cuanto a las operaciones aritmticas binarias, stas son ms sencillas de reali-

    zar que en signo-magnitud. En particular, la suma de dos nmeros en complementoa dos es igual a la suma binaria de los mismos. El resultado obtenido est expresadodirectamente en complemento a dos.

    Por ltimo, el rango de representacin en complemento a dos con n bits es:

    [(2n1).,2n1 1]

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    27/127

    2.4. Representacin de nmeros reales 15

    Exceso Z

    Los sistemas de representacin de nmeros enteros con signo vistos hasta ahorano respetan el orden de los nmeros representados.

    En la representacin en exceso Zel orden de los nmeros a representar coincidecon el orden de su representacin (es decir, para todo nmero mayor a otro, larepresentacin en binario del primero es mayor a la representacin en binario delsegundo).

    Para representar un nmero en exceso Z se suma a la cantidad a representar unvalor fijo,Z, y el resultado se representa en binario natural. De esta forma, el rangode representacin en exceso Z es:

    [Z.,2n 1 Z],

    donde se puede observar que coincide con el de representacin en binario naturaldesplazadoZunidades hacia los nmeros negativos (vase Figura2.5).

    2 -1

    n

    2 -1-Zn

    0 Z

    0-Z

    Binario en exceso Z

    Enteros en decimal

    -Z +Z

    Figura 2.5: Rango de la representacin en exceso Z

    En cuanto a la realizacin de operaciones aritmticas binarias, al sumar dosnmeros representados en exceso Z, se obtiene un nmero en exceso 2Z, por lo que

    es necesario restar Z para obtener el resultado correcto; y al restar dos nmerosrepresentados en exceso Z, se obtiene un nmero en exceso 0 y por lo tanto, esnecesario aadir Z para obtener el resultado correcto. (Excepto cuando Z= 2n1.)

    Por ltimo, si Z= 2n1, la representacin en exceso coincide con la representa-cin en complemento a dos con el bit de signo invertido.

    2.4. Representacin de nmeros reales

    Para completar las posibilidades de representacin numrica, esta seccin tratala representacin de nmeros reales con coma fija y flotante.

    Representacin en binario con coma fija

    Un nmero real est formado por dos partes: una entera (a la izquierda de la comadecimal) y una fraccionaria (el nmero real menos la parte entera). Para representarun nmero real en binario con coma fija bastar con representar en binario natural laparte entera y la fraccionaria de dicho nmero. Puesto que en las secciones anterioresse ha visto como representar un nmero entero en binario, se trata a continuacinslo la representacin de la parte fraccionaria.

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    28/127

    16 Representacin de la informacin

    El mtodo utilizado para representar en binario la parte fraccionaria es el si-guiente:

    1. Se multiplica la parte fraccionaria por dos y si el resultado es mayor a launidad, se anota un 1, en caso contrario, se anota un 0.

    2. Se elimina la parte entera del ltimo resultado obtenido.

    3. Se repiten los pasos 1 y 2 hasta que la parte fraccionaria desaparezca, los bitsdisponibles para la representacin del nmero se agoten o se vea que se tratade un nmero peridico.

    4. Los 1s y 0s anotados (en el mismo orden en el que se han obtenido) forman laparte fraccionaria (de mayor a menor peso).

    La Figura2.6muestra la obtencin de la representacin con coma fija del nmero12, 375utilizando el mtodo descrito.

    Parte entera:1212 = 11002Parte fraccionaria:0, 375

    0, 375 2 = 0,750 00, 750 2 = 1,5 1

    0, 5 2 = 1,0 10 2 = 0,0 Fin

    0, 375 = 0, 0112Resultado

    12, 375 = 1100, 0112

    Figura 2.6: Representacin del 12, 375en binario con coma fija

    La representacin de nmeros reales con coma fija presenta un problema: canti-dades muy grandes o muy pequeas en las que no todos los dgitos son significativosrequieren un elevado nmero de bits tan slo para indicar el orden de magnitudde la cantidad a representar. La representacin con coma flotante soluciona esteproblema.

    Representacin en binario con coma flotante

    La representacin en binario con coma flotante se basa en la notacin cientfica

    que a su vez consiste en la representacin de un nmero como:

    N=m be,

    donde m es un nmero real generalmente fraccionario que corresponde a la partesignificativa del nmero representado y que recibe el nombre demantisay la potenciabe indica el orden de magnitud del nmero representado.

    Cuando bcoincide con la base en la que est representada la mantisa, el expo-nente e indica cuntas posiciones ha de desplazarse la coma en sta para obtener elvalor representado: sie es positivo la coma ha de desplazarse |e|posiciones hacia laderecha, por el contrario, si ees negativo la coma ha de desplazarse |e| posiciones

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    29/127

    2.4. Representacin de nmeros reales 17

    hacia la izquierda. En la Tabla2.7se muestran una serie de nmeros representadostanto en decimal como en notacin cientfica.

    Decimal Notacin cientfica211,00 2,11 102

    0,0000023 2,3 106

    -1.246,7 -1,2467 103

    -0,0000000000017 -1,7 1012

    23.454.000.000,00 2,3454 1010

    Cuadro 2.7: Representacin en notacin cientfica

    Al igual que se utiliza la notacin cientfica para la representacin de nmerosdecimales, sta puede utilizarse para la representacin de nmeros binarios.

    De esta forma, las siguientes representaciones binarias son equivalentes:

    11001000000000002 0, 110012216

    0, 000000000101012 0, 10101229

    Como se puede ver, un nmero binario se expresa en coma flotante en la forma:

    N=m 2e,

    donde my eson nmeros enteros que representan ala mantisa y al exponente res-pectivamente. (Aunque la base habitualmente es 2 no es necesario que lo sea, puedeser una potencia de 2.)

    Al expresar cantidades en notacin cientfica decimal, se suele utilizar la nota-

    cin cientfica normalizada. Por normalizada se entiende que la coma decimal dela mantisa se sita a la derechade la primera cifra significativa, es decir, para lamantisa se verifica que: 10, 0< mantisa 1, 0.

    De igual forma, al representar un nmero en binario con coma flotante, tambinse suele utilizar una representacin normalizada ya que esto facilita las operacionessobre las cantidades as representadas. Existen varias formas de normalizacin, unade ellas consiste en que la coma binaria de la mantisa se site a la izquierda delprimer bit significativo (distinto de 0), es decir, la mantisa binaria verifica que:1, 0< mantisa 0, 0.

    Un nmero real se puede representar en coma flotante normalizada en la forma:

    N= []0, M 2e

    Por lo tanto, la informacin que es necesario almacenar ser: la parte significativade la mantisa M(y su signo) y el exponente e.

    Tanto la parte significativa de la mantisa como el exponente pueden ser repre-sentados utilizando alguno de los formatos de representacin de nmeros enteros yavistos. La parte significativa de la mantisa,[]M, puede considerarse como un nme-ro entero (aunque la mantisa completa 0, Mes en realidad un nmero fraccionario)y suele utilizarse el sistema de representacin en signo-magnitud para su represen-tacin. El exponente suele representarse mediante el sistema de representacin enexceso Z para facilitar las comparaciones.

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    30/127

    18 Representacin de la informacin

    Al utilizar la representacin en coma flotante normalizada, el primer bit de laparte significativa de la mantisa, M, ser, por definicin, siempre un 1. Puesto queel primer bit es siempre un 1 se puede expresar la mantisa como 0, 1M, o como1, Msi la normalizacin se realiza colocando la coma binaria a la derecha del primer 1 enlugar de a la izquierda. Estas formas de expresar la mantisa reciben el nombre de

    mantisa conbit implcitofraccionario y entero, respectivamente.Las tres formas en las que puede expresarse la mantisa son, por tanto:

    Mantisa sin bit implcito: []0, M.

    Mantisa con bit implcito fraccionario: []0, 1M.

    Mantisa con bit implcito entero: []1, M.

    Mes en los tres casos la cadena de bits que es necesario almacenar en la represen-tacin en coma flotante.

    IEEE 754

    Uno de los formatos de representacin en coma flotante ms empleados es eldefinido por el IEEE (Institute of Electrical and Electronics Engineers) con el nmerode orden 754: el IEEE 754 (i e cubo siete cinco cuatro).

    Esta norma propone dos formatos: uno de simple precisin, con 32 bits, y otrode doble precisin, con 64 bits. Las especificaciones comunes a ambos son:

    Mantisa fraccionaria normalizada con bit implcito entero expresada en signo-magnitud ([]1, M).

    Exponente expresado en exceso 2q1

    1, donde q es el nmero de bits delexponente.

    Con estas especificaciones, el nmero binario representado mediante este formatopuede expresarse como:

    N = (1)S 1, M 2EZ,

    donde S es un bit que representa el signo (el trmino (1)S ser negativo, 1,cuando S = 1 y positivo, +1, cuando S = 0); Mes la parte significativa de lamantisa; Eel exponente expresado en exceso Z (Z= 127en el formato de simple

    precisin y Z= 1023 en el de doble precisin). Utilizando la expresin anterior sepuede interpretar cualquier valor representado coma flotante.Por lo tanto, los n bits disponibles para la representacin del nmero se dividen

    en tres campos: uno para almacenar el bit de signo (S), otro para almacenar elexponente en exceso 2q1 1(E) y un tercero para almacenar la parte significativade la mantisa (M). La Figura 2.7 muestra la disposicin de estos campos en losformatos IEEE 754 de simple y doble precisin.

    El orden en el que se presentan los campos, as como los sistemas de representa-cin elegidos para la representacin de la mantisa (signo-magnitud separando el bitde signo) y del exponente (en exceso 2q1 1) fueron elegidos de tal forma que lacomparacin de cantidades representadas en estos formatos sea fcil.

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    31/127

    2.4. Representacin de nmeros reales 19

    31 30 ... 23 22 ... 0

    S E M

    8 bits 23 bits

    63 62 ... 52 51 ... 0

    S E M

    11 bits 52 bits

    Figura 2.7: Representacin de los formatos IEEE 754 de simple y doble precisin

    Rango y resolucin del estndar IEEE 754

    Un nmero binario representado mediante este formato puede expresarse como:

    N = (1)S 1, M 2E(2q1

    1)

    El rango de representacin en coma flotante est comprendido entre el menor yel mayor nmero representable en dicho formato. Pero adems, si la representacinutiliza bit implcito, como la mantisa nunca puede valer 0, un rango de nmerosalrededor del 0 no pueden ser representados. La Figura2.8ilustra el rango de re-presentacin en coma flotante.

    0

    +M 2E+m 2eM 2E m 2e

    M : mximo valor negativo de la mantisa E : mximo valor del exponente+M: mximo valor positivo de la mantisa e : mnimo valor del exponentem: mnimo valor negativo de la mantisa

    +m: mnimo valor positivo de la mantisaFigura 2.8: Rango de representacin en coma flotante

    Se denomina resolucinde un sistema de representacin a la distancia que stepresenta entre cantidades consecutivas representadas en dicho sistema. En los siste-mas de representacin de nmeros con coma fija, la resolucin es uniforme, y en elcaso de nmeros enteros, adems, igual a la unidad.

    Por el contrario, en un sistema de representacin con coma flotante la resolucinvara a lo largo de su rango de representacin. sta ser pequea cuando en las

    proximidades del 0 y se ir haciendo cada vez mayor a medida que se considerennmeros cada vez ms alejados del 0.

    Casos especiales del estndar IEEE 754

    Para representar nmeros y resultados no representables en un formato de comaflotante, el estndar IEEE 754 contempla las siguientes combinaciones de los camposEy Mcomo casos especiales denominados desnormalizados[Mig94]:

    E = 2q 1 yM = 0. Se emplea para indicar que el resultado de unaoperacin no tiene sentido. Por ejemplo, el resultado de 0/0.

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    32/127

    20 Representacin de la informacin

    E = 2q 1 y M = 0. Se emplea para indicar un valor infinito positivo onegativo (dependiendo del valor del bit S).

    E = 0 y M = 0. Se emplea para representar el cero.

    E = 0 yM = 0. Se emplea para representar nmeros muy pequeos deforma desnormalizada y cubrir el hueco dejado en torno al cero. El nmero secalcula en este caso como: (1)S 0, M 2(2

    q11).

    IEEE 754 reducido

    Basndose en las caractersticas de los formatos IEEE 754, se propone, parala realizacin de ejercicios, un formato IEEE 754 reducido representado en la Fi-gura2.9. Al utilizar slo 16 bits, los clculos necesarios para la representacin einterpretacin de nmeros en dicho formato son considerablemente ms sencillosque si se utilizara cualquiera de los formatos verdaderos.

    15 14 ... 10 9 ... 0

    S E M

    5 bits 10 bits

    Figura 2.9: Representacin del formato IEEE 754 reducido

    2.5. Representacin de caracteres alfanumricos

    En cuanto a la representacin de la informacin tipo texto escrito, sta se realizacodificando, mediante un conjunto de bits, cada uno de los caracteres que componendicha informacin.

    Las caractersticas que distinguen a los diversos tipos de representaciones alfa-numricas existentes son: el nmero de bits utilizados para almacenar cada uno delos caracteres como ya se ha visto, a mayor nmero de bits mayor ser el nme-ro de caracteres distintos que se podrn representar y el cdigo utilizado pararepresentar cada carcter.

    El sistema de representacin alfanumrico ms empleado en la actualidad es elASCII (American Standard Code for Interchange of Information). El cdigo ASCII

    utiliza 7 bits y posee 128 caracteres alfanumricos.La Tabla2.8muestra los cdigos ASCII correspondientes a los caracteres alfa-numricos imprimibles (los cdigos del 0 al 31 y el 127 no estn representados).

    Existen varios cdigos de representacin de caracteres alfanumricos que utilizan8 bits para proporcionar un mayor nmero de caracteres que el del cdigo ASCII.Estos caracteres extra (127) se utilizan para la representacin de smbolos grficos,matemticos y letras no anglosajonas (, letras acentuadas, ...) que el cdigoASCII no contempla.

    Entre las extensiones del cdigo ASCII ms difundidas figuran el ASCII exten-dido utilizado por el sistema operativo DOS y el ISO Latn 1 que se ha convertidoen un estndar ms extendido que el anterior al ser utilizado por varios sistemas

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    33/127

    2.6. Sistemas de numeracin octal y hexadecimal 21

    32 48 0 64 @ 80 P 96 112 p33 ! 49 1 65 A 81 Q 97 a 113 q34 " 50 2 66 B 82 R 98 b 114 r35 # 51 3 67 C 83 S 99 c 115 s36 $ 52 4 68 D 84 T 100 d 116 t

    37 % 53 5 69 E 85 U 101 e 117 u38 & 54 6 70 F 86 V 102 f 118 v39 55 7 71 G 87 W 103 g 119 w40 ( 56 8 72 H 88 X 104 h 120 x41 ) 57 9 73 I 89 Y 105 i 121 y42 * 58 : 74 J 90 Z 106 j 122 z43 + 59 ; 75 K 91 [ 107 k 123 {44 , 60 < 76 L 92 \ 108 l 124 |45 - 61 = 77 M 93 ] 109 m 125 }46 . 62 > 78 N 94 ^ 110 n 126 ~47 / 63 ? 79 O 95 _ 111 o

    Cuadro 2.8: Caracteres ASCII imprimibles

    operativos actuales y por aplicaciones de Internet (navegadores, lectores de correo,etc.).

    2.6. Sistemas de numeracin octal y hexadecimal

    Al ser la base del sistema binario una base tan pequea, el nmero de dgitosnecesarios para representar nmeros grandes crece con rapidez. Debido a esto, tra-bajar directamente en binario es una tarea muy engorrosa. Para poner un ejemplo, elnmero 1444que en decimal se representa con 4 dgitos, necesita 11 dgitos cuandose representa en binario: 101101001002.

    Para facilitar el trabajo con cantidades binarias, se utilizan sistemas de nume-racin donde cada dgito en dicho sistema equivale a un determinado nmero dedgitos binarios consecutivos1. Los dos sistemas de numeracin ms empleados conesta finalidad son: el octaly elhexadecimal.

    El sistema octal es un sistema de numeracin de base 8 y por lo tanto dispone de8 smbolos distintos. Para la representacin de estos smbolos se utilizan los nmeros

    del 0 al 7.La conversin entre las bases binaria y octal es muy sencilla, basta con agrupar de

    tres en tres los dgitos binarios y sustituir cada grupo de tres bits por el dgito octalcorrespondiente empezando por el bit menos significativo. Por ejemplo, el nmerobinario 101101001002se representa en octal como 26448:

    0102

    1106

    1004

    1004

    1Esta relacin entre sistemas de numeracin slo es posible cuando la base de uno es potenciaexacta de la del otro.

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    34/127

    22 Representacin de la informacin

    El sistema hexadecimal es un sistema de numeracin de base 16 y por lo tantodispone de 16 smbolos distintos. Para la representacin de estos smbolos se utilizanlos nmeros del 0 al 9 y las primeras 6 letras del alfabeto (A, B, C, D, E y F).

    La conversin entre las bases binaria y hexadecimal es muy sencilla, basta conagrupar de cuatro en cuatro los dgitos binarios y sustituir cada grupo de cuatro bits

    por el dgito hexadecimal correspondiente empezando por el bit menos significativo.Por ejemplo, el nmero binario 101101001002 se representa en hexadecimal como5A416:

    0101 5

    1010 A

    0100 4

    En la Tabla2.9se muestran las equivalencias entre las bases decimal, binaria,octal y hexadecimal para los nmeros del 0 al 15.

    dec bin oct hex dec bin oct hex0 0000 0 0 8 1000 10 8

    1 0001 1 1 9 1001 11 92 0010 2 2 10 1010 12 A3 0011 3 3 11 1011 13 B4 0100 4 4 12 1100 14 C5 0101 5 5 13 1101 15 D6 0110 6 6 14 1110 16 E7 0111 7 7 15 1111 17 F

    Cuadro 2.9: Sistemas octal y hexadecimal

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    35/127

    C

    aptulo

    3lgebra de Boole

    El lgebra de Boole es una estructura matemtica generada por un conjuntoy dos operaciones. sta fue introducida por el matemtico ingls George Boole en1854 para el anlisis de la lgica.

    En 1938, Claude E. Shannon al aplicar el lgebra de Boole, particularizada pa-ra el caso de un conjunto con dos elementos, al estudio de circuitos elctricos deconmutacin circuitos con dos estados posibles, sent las bases tericas para eldiseo de los actuales circuitos digitales.

    En este captulo se introducen los conceptos tericos necesarios para el diseode circuitos digitales.

    3.1. Trminos del lgebra de Boole

    Definicin 3.1 Un conjunto A dotado con dos operaciones algebraicas ms (+) ypor () es un lgebra de Boole si y slo si se verifican los siguientes postulados:

    1. El conjuntoA es cerrado respecto a las dos operaciones:x, y A x + y A x y A

    2. Ambas operaciones son conmutativas:x, y A x + y= y + x x y= y x

    3. Cada una de las operaciones es distributiva con respecto a la otra:x,y ,z A x (y+ z) = (x y) + (x z) x + (y z) = (x + y) (x + z)

    4. Existe el elemento identidad para las dos operaciones:x A 0| x + 0 =x 1| x 1 =x

    5. Existe el elemento complementario:x A x| x + x= 1 x x= 0

    Si dado un conjunto A = {0, 1}, se definen las operaciones +y tal y como semuestran en la Tabla3.1,ste constituye un lgebra de Boole. Este lgebra de Booleparticularizada recibe el nombre de lgebra de Boole bivalente o de conmutacin yes la que se utiliza para el diseo de los circuitos digitales.

    23

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    36/127

    24 lgebra de Boole

    0+ 0=00+ 1=11+ 0=11+ 1=1

    0 0=00 1=01 0=01 1=1

    Cuadro 3.1: Operaciones + y

    Leyes de De Morgan

    El lgebra de Boole cumple una serie de propiedades que conviene resaltar:x, y A

    x + y = x y (1a Ley de De Morgan) (3.1)

    x y= x + y (2a Ley de De Morgan) (3.2)

    Estas dos propiedades son conocidas como las leyes de De Morgan. Adems,tambin es interesante tener en cuenta la siguiente propiedad:

    x A x= x

    3.2. Representacin de funciones booleanas

    Definicin 3.2 Unavariable booleana, x, es un smbolo utilizado para representarindistintamente cualquiera de los elementos de un conjunto A sobre el que se hadefinido un lgebra de Boole.

    Definicin 3.3 Unafuncin booleana o funcin lgica es una aplicacin deAn enA que asocia a cada tupla deAn un elemento deA:

    F : An

    A(x1, x2, . . . , xn) x

    Una funcin booleana se puede representar mediante una expresin algebraicaomediante una tabla de verdad.

    Se denomina expresin booleana de una funcinF(x1, x2, . . . , xn)a la represen-tacin algebraica de la misma utilizando las operaciones +, y el complementario.Un ejemplo de expresin booleana es:

    F(x,y ,z) =x z+ y z+ x y

    No es necesario indicar explcitamente la operacin , por lo que la funcin an-terior puede escribirse tambin en la forma:

    F(x,y ,z) =xz + yz + xy

    Otra forma de representar una funcin booleana es mediante su tabla de verdad.La tabla de verdad de un funcin booleana recoge, por un lado, todas las posiblescombinaciones de las variables x1, x2, . . . , xn y por otro, el valor de dicha funcinpara cada una de estas combinaciones. La Tabla3.2presenta la tabla de verdad dela funcinxz+ yz+ xy.

    Se dice que dos expresiones booleanas sonequivalentessi y solo si dan lugar a lamisma tabla de verdad.

    En la siguiente seccin se muestra cmo realizar el paso contrario, es decir, pasarde una tabla de verdad a una expresin algebraica equivalente.

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    37/127

    3.2. Representacin de funciones booleanas 25

    x y z F(x,y ,z)

    0 0 0 F(0, 0, 0)0 0 1 F(0, 0, 1)0 1 0 F(0, 1, 0)0 1 1 F(0, 1, 1)

    1 0 0 F(1, 0, 0)1 0 1 F(1, 0, 1)1 1 0 F(1, 1, 0)1 1 1 F(1, 1, 1)

    x y z F(x,y ,z)

    0 0 0 10 0 1 10 1 0 00 1 1 0

    1 0 0 01 0 1 11 1 0 01 1 1 1

    Cuadro 3.2: Tabla de verdad de F(x,y ,z) =xz + yz + xy

    Expresin cannica de una funcin booleana

    Definicin 3.4 Se llama trmino cannico de una funcin lgica a todo producto

    o suma en el cual aparecen todas las variables de las que depende esa funcin. A lostrminos producto se les llamaminitrminos y a los trminos suma, maxitrminos.

    La Tabla3.3muestra todos los minitrminos y maxitrminos posibles con tresvariables.

    x y z Minitrminos Maxitrminos0 0 0 xyz m0 x + y+ z M00 0 1 xyz m1 x + y+ z M10 1 0 xyz m2 x + y+ z M20 1 1 xyz m3 x + y+ z M31 0 0 xyz m4 x + y+ z M4

    1 0 1 xyz m5 x + y+ z M51 1 0 xyz m6 x + y+ z M61 1 1 xyz m7 x + y+ z M7

    Cuadro 3.3: Minitrminos y maxitrminos

    Teorema 3.1 Cualquier funcin booleana puede expresarse como una suma de mi-nitrminos o producto de maxitrminos.

    Demostracin 3.1 Por el teorema de expansin de Shannon, cualquier funcinbooleana puede descomponerse como:

    a) F(x1, x2, . . . , xn) =x1 F(1, x2, . . . , xn) + x1 F(0, x2, . . . , xn)

    b) F(x1, x2, . . . , xn) = (x1+ F(0, x2, . . . , xn)) (x1+ F(1, x2, . . . , xn))

    Si se aplica reiteradamente este teorema sobre las expresiones anteriores, se llegaa:

    a) F(x1, x2, . . . , xn) =2n1

    i=0 mi F(i)

    b) F(x1, x2, . . . , xn) =2n1

    i=0 (Mi+ F(i))

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    38/127

    26 lgebra de Boole

    donde F(i) = F(ai1 , ai2 , . . . , ain), siendo ai1ai2 ain la representacin en binarionatural dei.

    Por lo que unaF(x1, x2, . . . , xn) genrica se puede expresar como una suma deminitrminos o como un producto de maxitrminos, como se quera demostrar.

    Se denominan formas cannicasde una funcin booleana a la expresin de lamisma como suma de minitrminos o como producto de maxitrminos.

    Como se puede observar en la demostracin anterior, los minitrminos mi queintervienen en la forma cannica de una funcin booleana son aquellos para loscuales F(x1, x2, . . . , xn)|x1x2xn=i es 1. De igual forma, los maxitrminos Mi queintervienen en la forma cannica alternativa de una funcin booleana son aquellospara los cuales F(x1, x2, . . . , xn)|x1x2xn=ies 0. La Figura3.1presenta la forma deobtener rpidamente las formas cannicasde una determinada funcin F(x,y ,x).

    x y z F(x,y ,z)

    0 0 0 1

    0 0 1 10 1 0 00 1 1 01 0 0 01 0 1 11 1 0 01 1 1 1

    Minitrminos Maxitrminosm0

    m1M2M3M4

    m5M6

    m7

    F(x,y ,z) = m0+ m1+ m5+ m7= xyz+ xyz + xyz+ xyz= M2M3M4M6= (x + y+ z)(x + y+ z)(x + y+ z)(x + y+ z)

    Figura 3.1: Obtencin de las formas cannicas de una funcin

    3.3. Simplificacin de funciones: Mapas de Karnaugh

    Con el fin de emplear la menor cantidad posible de puertas lgicas a la hora deimplementar una funcin booleana, resulta rentable intentar simplificarla. Para elloexisten, a priori, tres posibilidades:

    Reduccin algebraica Aplicacin de las propiedades del lgebra de Boole para

    simplificar la expresin algebraica. Este mtodo presenta el inconveniente deno ser sistemtico, por lo que no hay garantas de que las soluciones obtenidassean las ms simples.

    Mapas de Karnaugh Sistema de simplificacin grfico y sistemtico. Es til cuan-do el nmero de variables es reducido.

    Mtodo de Quine-McCluskey Se utiliza cuando las funciones poseen un grannmero de variables. Permite la sistematizacin total del mtodo y para suaplicacin se suele recurrir a un sistema computador. Este mtodo escapa alos objetivos del presente texto.

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    39/127

    3.3. Simplificacin de funciones: Mapas de Karnaugh 27

    El mtodo de reduccin algebraica se basa en intentar aplicar reiteradamente lassiguientes propiedades:

    x + x = x

    x + x = 1

    xx = xxx = 0

    Para ver la forma de aplicar estas propiedades, supngase la expresin xy +xy. sta se puede expresar como y(x+ x), y de esta forma, aplicando la segundapropiedad de las vistas anteriormente, se deduce que: xy + xy= y.

    Desgraciadamente, dependiendo del orden en el que se apliquen estas propie-dades, se puede llegar a distintas expresiones irreducibles a partir de una mismafuncin, por lo que no se puede tener la seguridad de que una determinada expre-sin por el hecho de ser irreducible sea la mnima posible. El mtodo de los mapasde Karnaugh permite realizar este tipo de simplificaciones de una forma sistemtica,de tal forma, que la expresin que se obtiene sea siempre la ms sencilla posible.

    Este mtodo fue introducido inicialmente por E.W. Veitch en 1952 y modificadoligeramente por M. Karnaugh (de ah su nombre actual) en 1953 y se basa en lautilizacin de los mapas de Karnaugh para la reduccin de funciones.

    Un mapa de Karnaugh es bsicamente una tabla de verdad de la funcin asimplificar, pero con la particularidad de que los trminos cannicos adyacentes(combinables mediante las reglas de simplificacin mostradas anteriormente) ocupanposiciones fsicamente contiguas, con lo que es fcil identificar aquellos trminoscannicos que pueden simplificarse con otros, ya que, con esta disposicin, cadatrmino cannico slo puede simplificarse con sus vecinos (se entiende por vecinoslos que estn arriba, abajo, a la derecha o a la izquierda del trmino en cuestin).Adicionalmente, en los mapas de 3, 4 y ms variables, las celdas situadas en unborde se consideran adyacentes a las celdas situadas en el borde contrario. Es decir,las celdas del borde superior se consideran contiguas a las del borde inferior y lasdel borde derecho a las del izquierdo.

    x y F(x, y)

    0 0 10 1 11 0 11 1 0

    x\y 0 10 1 11 1 0

    x\y 0 10 m0 m11 m2

    x\y 0 101 M3

    (a) (b) (c) (d)

    Figura 3.2: Ejemplo de mapa de Karnaugh de una funcin de dos variables: (a) tablade verdad, (b) mapa de Karnaugh, (c) minitrminos y (d) maxitrminos

    La Figura3.2b muestra el mapa de Karnaugh de una funcin de dos variables.Cada una de las celdas del mapa de Karnaugh indica el valor que toma la funcincuando la entrada x es la indicada por su fila, y la entrada y la indicada por sucolumna. Al disponer los valores de la funcin de esta forma, los trminos cannicosque pueden agruparse para su simplificacin aparecen contiguos unos a otros.

    Una vez representado el mapa de Karnaugh de una funcin, el siguiente pasoes la agrupacin de los trminos cannicos para la simplificacin de la funcin. Los

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    40/127

    28 lgebra de Boole

    grupos deben constar de una cantidad de trminos cannicos que sea potencia dedos (1, 2, 4, 8, 16, . . .) y definir figuras rectangulares (condicin de adyacencia de lostrminos cannicos). Si el grupo est formado por un trmino cannico, no se sim-plifica nada. Si se agrupan dos trminos cannicos, se puede eliminar una variable enla expresin algebraica del grupo. Si se agrupan cuatro trminos se pueden eliminar

    dos variables. Y as sucesivamente.La simplificacin de una funcin booleana se realiza agrupando o bien los mi-nitrminos (Figura3.2c) o bien los maxitrminos (Figura3.2d) de la funcin. Lasexpresiones simplificadas quedarn, por tanto, como una suma de productos (re-sultantes de la simplificacin de los minitrminos) o como un producto de sumas(resultantes de la simplificacin de los maxitrminos).

    Para que la simplificacin obtenida sea equivalente a la funcin original, se hande respetar las siguientes normas:

    Cada trmino cannico (minitrminos si se agrupan los minitrminos y maxi-trminos si se agrupan los maxitrminos) ha de formar parte por lo menos deun grupo, pudiendo formar parte de ms de un grupo.

    La figuras formadas en el mapa por los grupos de trminos deben ser cuadradoso rectngulos.

    Para conseguir la distribucin ptima de grupos se han de seguir las siguientesreglas:

    Crear el menor nmero de grupos posibles, cada uno de ellos formado por elmayor nmero de trminos posible.

    No considerar como grupos aquellos en los que todos sus trminos formanparte de otros grupos.

    Estas reglas pueden resumirse en la siguiente tctica de agrupacin de trminos:tomar todos los unos que no pueden combinarse con ningn otro; luego los gruposde dos que no pueden pertenecer a ningn grupo ms grande, luego los de cuatro yas sucesivamente.

    La Figura3.3muestra una serie de ejemplos de simplificacin de funciones lgicasutilizando mapas de Karnaugh y agrupando por minitrminos (los 6 ejemplos en laparte superior de la figura) y por maxitrminos (los 2 ejemplos restantes).

    Una vez agrupados de forma ptima los trminos cannicos, hay que determinarqu expresin algebraica representa a cada uno de ellos. Si se agrupan minitrminoscontiguos, la suma de stos se puede simplificar en un nico producto de variables de

    la funcin (negadas o no). Las variables que forman este producto son aquellas cuyovalor es el mismo para todos los minitrminos del grupo y aparecen en el productotal cual si valen 1 y negadas si valen 0. Por ejemplo, en el mapa de Karnaughsituado en la esquina superior izquierda de la Figura3.3,el grupo formado por losminitrminosm4,m5,m7y m6, tienen en comn que para todos ellos w = 0yx = 1,por lo que dicha agrupacin se puede expresar mediante el producto wx.

    Si, por el contrario, se agrupan maxitrminos contiguos, el producto de stos sepuede simplificar en una nica suma de variables de la funcin (negadas o no). Lasvariables que forman esta suma son aquellas cuyo valor es el mismo para todos losmaxitrminos del grupo y aparecen en la suma tal cual si valen 0 y negadas si valen1. Por ejemplo, en el mapa de Karnaugh situado en la esquina inferior izquierda de

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    41/127

    3.3. Simplificacin de funciones: Mapas de Karnaugh 29

    wx

    yz

    00

    01

    11

    10

    00 01 11 10

    0 0 0 0

    1 1 1 1

    1 1 0 0

    1 1 0 0

    wx

    yz

    00

    01

    11

    10

    00 01 11 10

    1 0 0 1

    0 0 0 0

    0 0 0 0

    1 0 0 1

    F = wx + wy F = xz

    wx

    yz

    00

    01

    11

    10

    00 01 11 10

    0 0 0 0

    1 0 0 1

    1 0 0 1

    0 0 0 0

    wx

    yz

    00

    01

    11

    10

    00 01 11 10

    0 0 0 0

    1 1 1 1

    1 1 1 1

    0 0 0 0

    F =xz F =x

    wx

    yz

    00

    01

    11

    10

    00 01 11 10

    1 0 0 0

    1 1 1 1

    1 0 1 1

    1 0 0 0

    wx

    yz

    00

    01

    11

    10

    00 01 11 10

    1 0 0 0

    1 1 1 1

    1 0 1 1

    0 1 0 0

    F = yz+ wx + xy F = wx + xy+ xz+ wyz+ wxyz

    wx

    yz

    00

    01

    11

    10

    00 01 11 10

    0 0 1 1

    0 0 1 1

    1 1 1 1

    1 1 1 1

    wx

    yz

    00

    01

    11

    10

    00 01 11 10

    1 0 1 1

    1 0 0 1

    1 0 1 1

    1 0 1 1

    F =w+ y F = (w+ x + z)(y+ z)

    Figura 3.3: Ejemplos de simplificacin de funciones lgicas utilizando mapas deKarnaugh

    la Figura3.3,el grupo formado por los maxitrminos M0,M1,M4y M5, tienen encomn que para todos ellos w = 0 y y = 0, por lo que dicha agrupacin se puede

    expresar mediante la suma w + y.

    Funciones incompletas

    En ocasiones, la tabla de verdad de una determinada funcin no est completa-mente especificada debido a que ciertas combinaciones de entrada no pueden darseo a que, en el caso de que se den, no importa cul sea el valor en la salida de lafuncin lgica. A este tipo de funciones lgicas se les denomina funciones incomple-tas. Por ejemplo, sera el caso de un conversor de BCD a Exceso 5. Los valores deentrada correspondientes a los nmeros binarios mayores que 9 no tendran com-binacin asignada, ya que el BCD carece de esos valores. En esas posiciones de la

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    42/127

    30 lgebra de Boole

    tabla de verdad de la funcin se suele colocar una equis X indicando que el valorde la funcin para esa combinacin de entrada es indiferente. Consecuentemente, enel mapa de Karnaugh tomaremos cada una de estas equis como mejor convenga, sinque sea necesario que estn todas incluidas en los grupos seleccionados; ni siquieraque alguna de ellas lo est.

    3.4. Introduccin a las puertas lgicas

    Todo el aparato matemtico desarrollado hasta el momento a partir del lgebrade Boole est orientado a la creacin de circuitos electrnicos digitales cuya salidasea una funcin booleana de sus entradas. Para la construccin de dichos circuitos,se pueden emplear componentes elementales denominados puertas lgicas.

    La tecnologa empleada actualmente consiste en utilizar voltajes bien diferencia-dos para representar el 1 lgico y el 0 lgico. De esta forma, el nivel lgico alto,asimilado al 1, corresponde a un determinado rango de voltajes y el nivel lgicobajo, asimilado al 0, a otro rango distinto. Una puerta lgica genera en su salida

    un valor de voltaje correspondiente a uno u otro rango en funcin de los valores quese encuentren presentes en su o sus entradas en ese instante.

    Pueden fabricarse puertas lgicas que implementen cualquier funcin lgica, pe-ro en la prctica, resulta ms rentable construir solamente algunos tipos bsicos depuertas e implementar las funciones lgicas complejas mediante la combinacin devarias de estas puertas. Dichas puertas podra pensarse, en principio, que fuesen ex-clusivamente aquellas equivalentes a los operadores que definen el lgebra de Boole,es decir, la suma, el producto y el complemento. En efecto, existen puertas lgicasque implementan dichas funciones y se denominan OR, AND y NOT, respectivamen-te. Pero adems, resulta til disponer de tipos de puertas adicionales. Estas puertasson: las XOR y XNOR porque son costosas de construir mediante la combinacin

    de las tres anteriores y se usan con relativa frecuencia; y las NAND y NOR porser funcionalmente completas (esto quiere decir que cualquier funcin lgica puedeimplementarse utilizando exclusivamente puertas NAND o puertas NOR) y por serlas ms simples de construir y por lo tanto ms baratas.

    La Figura3.4muestra los smbolos utilizados para la representacin de las puer-tas lgicas mencionadas, las funciones lgicas que stas realizan y sus correspondien-tes tablas de verdad.

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    43/127

    3.4. Introduccin a las puertas lgicas 31

    Nombre Smbolo Funcin Tabla de Verdad

    AND F =xy

    x y F(x, y)

    0 0 0

    0 1 01 0 01 1 1

    OR F =x + y

    x y F(x, y)

    0 0 00 1 11 0 11 1 1

    NAND F =xy

    x y F(x, y)

    0 0 1

    0 1 11 0 11 1 0

    NOR F =x + y

    x y F(x, y)

    0 0 10 1 01 0 01 1 0

    XOR F = xy+ xy = x y

    x y F(x, y)

    0 0 0

    0 1 11 0 11 1 0

    XNOR F = xy+ xy = x y

    x y F(x, y)

    0 0 10 1 01 0 01 1 1

    NOT F = xx F(x)

    0 1

    1 0

    DRIVER F =xx F(x)

    0 01 1

    Figura 3.4: Principales puertas lgicas

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    44/127

  • 7/26/2019 Conceptos Elempcsentales de Computadoresversion2

    45/127

    C

    aptulo

    4Circuitos combinacionales

    El objetivo de este captulo es estudiar los circuitos digitales ya que stos cons-tituyen la base de las diferentes unidades funcionales de un ordenador. De estaforma, se obtendr una visin global y completa del funcionamiento interno de uncomputador.

    4.1. Definicin y clasificacin de circuitos

    Los circuitos digitales son circuitos electrnicos, que interpretan la tensin que

    hay en sus entradas como valores lgicos (0 1), y generan una determinada tensinen sus salidas para representar los correspondientes