56848202 icai estructura y tecnologia de computadores

Upload: alberto-moreta

Post on 04-Jun-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    1/167

    ESTRUCTURA Y TECNOLOGA

    DE COMPUTADORES

    (Tomo I)

    FERNANDO VENEGAS

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    2/167

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    3/167

    SECCIN I

    INTRODUCCIN

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    4/167

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    5/167

    Estructura y Tecnologa de Computadores (Seccin I)

    1INTRODUCCIN A LOS COMPUTADORESAntes de hablar de Computadores parece conveniente tratar de definir qu se entiende por Computador.

    Una primera caracterstica que debe exigirse a una mquina para considerarla como un computador esque sea de naturaleza programable. Se entiende por ello que sea capaz de actuar de diferente forma se-gn las condiciones que se presenten. Por ejemplo, si se est calculando la nmina de los trabajadoresde una empresa, deber ser capaz de asignar un sueldo u otro segn la categora del empleado, un im-porte por horas extraordinarias, segn el nmero de stas trabajadas, etc.

    Hoy por hoy, deber tambin emplear tecnologa microelectrnica, algo que comentaremos prxima-mente

    Deber procesarse informacin digital (trmino definido en el apartado siguiente) de forma secuencial,es decir, paso a paso, efectuando operaciones muy simples (a las que denominaremos instrucciones) deuna en una. (La posibilidad de paralelismo no cambia demasiado este condicionante).

    Evidentemente, son inherentes al computador una gran velocidad de proceso y una gran exactitud en elmismo. Esta velocidad debe considerarse con relacin a la poca del computador de que se trate. Si hoyanalizsemos los primeros computadores (aos 40), los consideraramos muy lentos, aun cuando no poreso dejan de merecer el calificativo de computadores.

    Por ltimo, deben ser capaces de encargarse de trabajos de muy diversa naturaleza. Un mismo compu-tador puede, entre otras cosas, procesar textos, realizar clculos cientficos, de ingeniera o comerciales,acceder a Internet, almacenar y acceder a grandes bases de datos, controlar un proceso industrial opermitir juegos multimedia.

    1.1.- Magnitudes analgicas y digitalesHemos mencionado antes que un computador procesa informacin digital. Deberamos clarificar quentendemos por magnitudes analgicas o digitales.

    Una magnitud analgica es aquella cuyo valor vara de forma continua. Ejemplos de magnitudes ana-lgicas pueden ser la temperatura de un horno, el peso de un individuo, el volumen de combustible al-macenado en un depsito, etc. Son las magnitudes ms habituales en la naturaleza.

    Por el contrario, magnitudes digitales son aquellas que varan de forma discreta, por incrementos. Porejemplo, el saldo de una cuenta corriente, el nmero de alumnos en un aula, los das de la semana, elsueldo de un empleado, o incluso, por grande que sea, el nmero de clulas del cuerpo humano.

    Debe distinguirse entre la magnitud en s misma y la representacin de esa magnitud. Por ejemplo, ladistancia recorrida por un automvil entre Madrid y Barcelona es una magnitud analgica, mientrasque su representacin numrica es siempre digital, con independencia de la precisin con que se expre-se esta distancia; tan digital es el valor 650 km como el de 650,324671 km. De todas formas, la repre-sentacin de una magnitud tambin puede ser de naturaleza analgica, como, por ejemplo, el peso indi-cado por la aguja en la escala de una bscula convencional; sin embargo, este mismo peso representadoen el visor de una bscula digital ser de tipo digital, mientras que la magnitud en s, el peso del pro-ducto es de naturaleza analgica.

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    6/167

    6 Introduccin a los Computadores

    Estructura y Tecnologa de Computadores (Seccin I)

    Tipos de Computadores

    Actualmente, el trmino computador (ordenador, procesador, u otro similar) se refiere a computadordigital. Sin embargo, por una vez, debemos mencionar la existencia de computadores analgicos que

    procesan magnitudes analgicas directamente, obteniendo resultados tambin de naturaleza analgica,frecuentemente en forma de grficos. Estos computadores actualmente se emplean en aplicaciones detipo tcnico o cientfico y su uso es cada vez ms infrecuente por la dificultad que entraa su manejo.En cualquier caso, quedan fuera del mbito de la Informtica.

    Conversin Analgico - Digital

    El computador digital, el nico que analizaremos a partir de este momento, nicamente maneja magni-tudes digitales, por lo que, cuando se trata de procesar magnitudes analgicas debe procederse previa-mente a su conversin en digitales a travs de un proceso que se conoce como digitalizacin. Hasta nohace muchos aos, este proceso no era demasiado frecuente ya que la gran mayora de la informacinprocesada en un computador era digital.

    Sin embargo, actualmente, el incremento de aplicaciones multimedia, incluso en entornos de gestin,ha trado consigo la necesidad de proceso de informacin analgica (voz, msica, imgenes...) y, con-secuentemente, la necesidad de su digitalizacin. Uno de los ejemplos ms habituales de este tipo dedispositivos de digitalizacin tal vez sea el escaner.

    El proceso de digitalizacin de una informacin analgica lleva consigo tres etapas (Figura 1.1). Enprimer lugar, deben elegirse muestras de esa informacin, lo que significa analizar esa informacin endeterminados puntos (recurdese que una magnitud analgica, al ser continua, tiene un nmero infinitode valores).

    Una vez elegidos estos puntos, debern tomarse los valores que la magnitud a digitalizar alcanza enellos. Estos valores se podrn tomar con mayor o menor precisin. Por ejemplo, si la magnitud fueseuna distancia sta puede medirse en metros, en milmetros o en millonsimas de milmetro.

    Por ltimo, las magnitudes medidas debern codificarse. Este paso es el que realmente nos da los valo-res representativos de la informacin en cuestin que posteriormente podrn ser procesados por uncomputador digital.

    Figura 1.1

    Supongamos, por ejemplo, que se desea procesar la trayectoria seguida por un baln de ftbol, trayec-toria que suponemos plana y cuya altura mediremos en metros. Se eligen una serie de puntos, seis en elejemplo (muestreo) y se determina la altura del baln en cada uno de ellos (cuantificacin); en nuestrocaso, 0, 4, 12, 15, 13 y 0 metros, respectivamente. Estos valores deben codificarse de acuerdo con al-

    Tres etapas:

    13 m12 m

    4 m

    15 m

    0 m 0 m

    0000 0100 1100 1111 1101 0000

    Muestreo

    13 m12 m

    4 m

    15 m

    0 m

    0000 0100 1100 1111 1101 0000

    0 m

    Cuantificacin

    Codificacin

    0000 0100 1100 1111 1101 0000

    A

    B C

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    7/167

    Introduccin a los Computadores 7

    Estructura y Tecnologa de Computadores (Seccin I)

    gn cdigo digital, por ejemplo indicando su valor en binario 0000, 0100, 1100, 1111, 1101 y 0000,respectivamente (Grfico A de la Figura 1.1).

    Si posteriormente se pretende reconstruir la trayectoria, colocando los valores en unos ejes (Grfico B)

    y trazando una curva con el programa adecuado, se puede ver, que en este caso, la curva obtenida esmuy similar a la original (Grfico C). sto significa que la digitalizacin es correcta y puede hacersecon pocos puntos de muestreo y sin necesidad de una gran precisin al medir los valores de la informa-cin a ser digitalizada.

    Supongamos, sin embargo, que se trata de digitalizar una magnitud ms irregular, como la representadaen el grfico A de la Figura 1.2, que podra parecerse a la seal analgica de la frecuencia de un soni-do. Si se tomaran ocho muestras, como el ejemplo, aunque la precisin con que se midiese la amplitudde esta seal fuese alta, la digitalizacin con esas ocho muestras sera muy insatisfactoria. En el proce-so de reconstruccin de la seal (Grfico B), la curva que se obtendra sera, ms o menos la represen-tada, en grfico C, que, evidentemente, guarda escasa semejanza con la original.

    Figura 1.2

    Qu ha ocurrido? Simplemente, que al tomar un nmero escaso de muestras se han perdido valoresmuy representativos de la forma de esta seal. Cualquier proceso que se hiciera con el resultado de estadigitalizacin sera a todas luces incorrecto.

    Qu podemos hacer para mejorar la calidad del proceso de digitalizacin? La respuesta inmediata estomar ms muestras, por ejemplo, 13 muestras (Figura 1.3).

    Figura 1.3

    A

    B C

    A

    B C

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    8/167

    8 Introduccin a los Computadores

    Estructura y Tecnologa de Computadores (Seccin I)

    Al reproducir los valores de esas 13 muestras (grfico B), llegaramos a una curva, (Grafico C de laFigura 1.3), algo ms parecida a la original, pero an bastante diferente, como se puede apreciar.

    Si aumentsemos el nmero de muestras hasta 29 (Figura 1.4), el resultado ya sera bastante satisfacto-

    rio (Grficos B y C) B y C).

    Figura 1.4

    Ahora bien, cules son las consecuencias? Para ciertas formas de informacin son necesarias muchasmuestras para poder representar digitalmente la informacin de una manera adecuada. Tambin, enmuchos casos, se requiere mayor precisin en la medida de las magnitudes: no basta medir una fre-cuencia en kilociclos por segundo, hay que hacerlo en ciclos (no basta con el nmero 12, hay que tenerel 12.137). Ms muestras y mayor precisin en cada una, implica mayor volumen de informacin a al-macenar, y tambin a procesar, en el computador lo que se traduce en mayores costes de tratamiento de

    la informacin.sto explica el orden en que han ido procesando histricamente diferentes tipos de informacin. Secomenz casi exclusivamente con el manejo de magnitudes numricas o alfabticas (contabilidad, n-minas, almacenes, facturacin...). Posteriormente se empez a procesar textos no manuscritos puestoque su codificacin requiere poco volumen: un carcter slo requiere ocho bits. Ms adelante se proce-saron imgenes en blanco y negro; la incorporacin del color supuso un importante incremento del vo-lumen a tratar. La inclusin de movimiento a las imgenes (video) o el tratamiento de sonido exige anmayores volmenes de informacin a almacenar o tratar. Slo el continuo abaratamiento de la tecnolo-ga ha hecho econmicamente posible la amplia difusin actual de las tecnologas multimedia.

    Por citar un ejemplo, hacia 1975 el autor particip en la presentacin de una aplicacin de digitaliza-cin de firmas para su empleo en la autorizacin de talones bancarios. En aquellas fechas los bancos

    almacenaban las firmas de sus clientes en unas cartulinas que se conservaban en la oficina a la cual es-taba ligado ese cliente. Cuando se trataba de cobrar un cheque, se deba comprobar que el saldo delcliente permita abonar la cantidad que se solicitaba en el cheque; esto, entonces, ya se haca on-linecon un tiempo de respuesta razonable y a unos costes aceptables. Por otra parte, se deba comprobar lavalidez de la firma contrastndola con la original, lo que requera un proceso manual, engorroso y lentoque, adems, exiga que los talones nicamente se pudieran hacer efectivos en su propia oficina. Estoera un problema grave para el Banco: costes elevados y mal servicio al cliente; en consecuencia, muyfrecuentemente el Banco prescinda de comprobar la firma para importes inferiores a un umbral deter-minado, asumiendo el riesgo que esta decisin conllevaba. La aplicacin en cuestin digitalizaba lasfirmas en poder del Banco y, cuando se trataba de hacer efectivo un taln, acceda a dicha imagen digi-talizada y la transmita por lneas telefnicas a la pantalla del cajero donde ste la comparaba con lafirma presentada en el documento y autorizaba o no la operacin. La demostracin de esta aplicacin

    A

    B C

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    9/167

    Introduccin a los Computadores 9

    Estructura y Tecnologa de Computadores (Seccin I)

    impact muy favorablemente al cliente potencial (un importante banco espaol) pero, cuando se pas aun estudio real de la posible implantacin, los costes implicados en el proceso resultaron prohibitivos:gran cantidad de almacenamiento en disco, importante consumo de procesador, elevada carga de las

    lneas de comunicaciones... Tericamente, la aplicacin estaba totalmente en condiciones de ser em-pleada, pero la tecnologa disponible en el momento no estaba madura. Hoy, quiz, desde la dcada delos noventa, esta es una aplicacin empleada en gran cantidad de entidades; no es que hayan cambiadolos necesidades, ni que haya una tecnologa radicalmente diferente, lo que ha ocurrido es que la reduc-cin de precios continuada en todos los aspectos implicados han hecho realizable econmicamente loque antes no era sino un deseo casi utpico.

    Este ejemplo referido al tratamiento de imgenes, ilustra un hecho (uno entre mil) que se produceigualmente en otras mltiples situaciones: tericamente es posible (es decir, se sabe cmo hacerlo yexiste tecnologa capaz de hacerlo) llevar a cabo ciertos procesos en un determinado momento, pero lascondiciones econmicas (es decir, el coste) los vuelven irrealizables. El alumno debe ir acostumbrn-dose a considerar estos aspectos financieros junto con el resto de consideraciones tcnicas en cualquierproyecto a acometer.

    1.2.- Historia de los Computadores

    Antecedentes

    Desde la noche de los tiempos el hombre ha estado interesado en facilitar la realizacin de sus opera-ciones aritmticas. Aunque podemos remontarnos hasta el baco utilizado por los chinos, los antece-dentes ms prximos a los actuales computadores son diversos dispositivos de naturaleza electromec-nica empleados y perfeccionados desde el siglo XIX y que se mantuvieron hasta la segunda mitad delXX, coexistiendo algunos aos con el computador. En la Figura 1.5 se incluye una fotografa de una delas primeras mquinas empleadas a este fin durante el siglo XIX; en este caso un dispositivo de natura-leza mecnica.

    Figura 1.5

    Surgieron como consecuencia de la necesidad de automatizar clculos sencillos, repetitivos y muy vo-luminosos. Uno de los dispositivos ms conocidos a este fin fue el Holleriths Electric Tabulating Sys-tembasado en la utilizacin de tarjetas en las cuales la informacin se registraba por medio de perfora-ciones practicadas en la tarjeta por medio de un cdigo (denominado cdigo Hollerith y empleado en elsiglo XX hasta bien entrada la dcada de los 70). Con este dispositivo se automatiz la confeccin delCenso de poblacin de 1890 en EEUU, con unos resultados realmente espectaculares para la poca: se

    Calculadora de C. Babbage(1847 - 1849)

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    10/167

    10 Introduccin a los Computadores

    Estructura y Tecnologa de Computadores (Seccin I)

    consigui tener listos los resultados en algo ms de dos aos, frente a los diez que habitualmente se ne-cesitaban.

    Sucesores de estos equipos fueron las llamadas, en general, mquinas de contabilidad, una de las cuales

    se reproduce en la Figura 1.6. Conjuntos de estas mquinas, todas ellas basadas en la utilizacin de laficha perforada, dieron lugar a la aparicin de los primeros Centros de Clculo, antecesores de los ac-tuales, que permitieron la automatizacin de procesos administrativos sencillos, aunque voluminosos,tales como la confeccin de nminas o el control de existencias de almacenes.

    Figura 1.6

    Todos estos dispositivos se caracterizaban por emplear tecnologa electromecnica (inicialmente rels,aunque ms adelante empezaron a utilizarse vlvulas ele ctrnicas). Precisamente la gran importanciadel componente mecnico tena como consecuencia su gran tamao y relativa baja fiabilidad (natural-mente, estos aspectos negativos, slo son tales considerados con relacin a las tecnologas actuales). En

    la Figura 1.7 se recogen las caractersticas principales de estos antecesores de los ordenadores actua-les.

    Figura 1.7

    Generaciones de Computadores

    Desde los primeros equipos que pueden considerarse como computadores hasta la actualidad los avan-ces han sido tremendos como consecuencia de los cambios tecnolgicos que se han ido incorporando.Atendiendo a estas tecnologas se pueden clasificar los computadores de acuerdo con una serie de ge-neraciones; las tres primeras tienen clarsimas diferencias tecnolgicas, mientras que las dos ltimas,en el fondo y desde el punto de vista tecnolgico, no son sino consecuencia de la evolucin de unamisma tecnologa base: la microelectrnica.

    En la Figura 1.8 se incluye una clasificacin de las diferentes generaciones de computadores.

    Necesidad de automatizar tareas de clculovoluminosas y repet i t ivas

    Dispositivos electromecnicos

    Perforadoras Clasificadoras Tabuladoras Impresoras...

    Voluminosas Poco fiables Gran consumo de

    energa y calor

    Primer computador

    ClasificadoraIBM 88 (1962)

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    11/167

    Introduccin a los Computadores 11

    Estructura y Tecnologa de Computadores (Seccin I)

    Figura 1.8

    Primera Generacin

    No hay un consenso total en cuanto al primer dispositivo que merece el calificativo de ordenador; detodas formas, generalmente, se considera como tal al ENIACdesarrollado en Estados Unidos y cons-truido en 1945.

    Este equipo, del que se incluye en la Figura 1.9 una vista de conjunto y un detalle de uno de sus pane-les, se caracterizaba por emplear como tecnologa base la vlvula de vaco. Este dispositivo electrni-co, lo ms avanzado en esa poca, tena unos filamentos metlicos encerrados en un cilindro de cristalque emitan electrones cuyo movimiento (y con l la corriente elctrica) se controlaba de acuerdo conla tensin elctrica que se aplicaba a unas lminas, tambin metlicas.

    Figura 1.9

    Las vlvulas se empleaban entonces en todos los dispositivos electrnicos, entre ellos, por ejemplo enlos aparatos de radio. Tenan un dimetro de unos 2 o 3 cm y una altura de 6 a 8cm. Su consumo no eramuy inferior al de una bombilla. Las consecuencias del empleo de esta tecnologa son claras:

    El volumen requerido era muy grande

    El consumo de energa, y consecuentemente el calor disipado, eran, as mismo, elevados

    Generacion es de computadores

    Primera generacin 1945 - 55 Vlvulas electrnicas

    Segunda generacin 1955 - 65 Transistores

    Tercera generacin 1965 -70 electrnica

    Cuarta generacin 1970 - 80 procesador

    Quinta generacin 1980 - Multiprocesadores...

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    12/167

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    13/167

    Introduccin a los Computadores 13

    Estructura y Tecnologa de Computadores (Seccin I)

    Figura 1.11

    En esta poca surgen los lenguajes de alto nivel y los primeros sistemas operativos que, aunque bsi-cos, permitieron que la utilizacin de estos equipos fuese ms sencilla.

    En la Figura 1.12 se incluye un resumen con las principales caractersticas de los computadores de se-gunda generacin.

    Figura 1.12

    Tercera Generacin

    Los transistores iniciales empleados en los ordenadores de segunda generacin fueron mejorando sus

    prestaciones y reduciendo progresivamente su tamao. Esta reduccin lleg a su extremo en la segundadcada de los 60, permitiendo la fabricacin de transistores del orden de un milmetro. Entonces se de-cidi integrar en una sola pieza varios transistores junto con otros componentes electrnicos, funda-mentalmente resistencias y diodos: haba nacido el circuito integrado, ms conocido como chip, y, conl, la microelectrnica.

    Los primeros chips, con un tamao del orden del milmetro, incluan alrededor de 12 puertas lgicas(cada puerta requiere unos pocos transistores y algunos otros componentes), en lo que se dio en llamartecnologa SSI (Small Scale Integration, o integracin a pequea escala). La integracin continu, dan-do lugar a las tecnologas MSI (Medium Scale Integration) con unas 100 puertas por chip y LSI (LargeScale Integration) que alcanzaba hasta las 10.000 puertas.

    Segunda Generacin

    En 1948 se descubre el transistor

    A finales de los 50 se incluye en los computadores

    Velocidad aproximada: 1milisegundo

    Se reduce: tamao, peso, precio, calor... Aumenta: velocidad y fiabilidad

    Dos tipos de computadores: Tcnico-cientficos De gestin

    Surgen los lenguajes de altonivel y el software bsico

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    14/167

    14 Introduccin a los Computadores

    Estructura y Tecnologa de Computadores (Seccin I)

    El chip dio lugar a la Tercera Generacin de ordenadores, del cual la familia ms representativa fue elIBM/360, tal vez, junto con el PC, el mayor logro informtico de la historia. La tremenda reduccin deprecio hizo econmicamente posible que un mismo ordenador pudiese dedicarse tanto a entornos tcni-

    cos como de gestin (de ah el indicativo 360, referencia al arco de 360 de una circunferencia) desapa-reciendo la dualidad existente hasta entonces. Otro aspecto importante del IBM/360 es el concepto defamilia, conjunto de ordenadores con una misma Arquitectura (trmino que se tratar posteriormente),y por ello totalmente compatibles, aunque con grandes diferencias en sus prestaciones, y por tanto ensu precio.

    En la Figura 1.13 se incluye un resumen de las caractersticas fundamentales de esta tercera generacinde computadores.

    Figura 1.13

    Cuarta Generacin

    Adems del incremento de prestaciones y de la densidad de circuitos (lo que tiene como consecuenciauna reduccin constante del tamao de los equipos) la evolucin de las distintas tecnologas desde laSSI a la LSI reduca el consumo de energa y, con ello el calor disipado, a la vez que mejoraba de for-ma importante la fiabilidad de los componentes.

    En la dcada de los 70, esta evolucin continuada lleg al extremo de permitir incluir en un nico chiptodos los circuitos necesarios para un procesador completo, a un precio razonable. A este procesador enun nico chip se le denomin microprocesador y, aunque inicialmente su potencia era relativamentebaja en comparacin con los ordenadores entonces existentes supuso un gran paso: posibilit la apari-cin del PC y, con l, de la Cuarta Generacin de ordenadores.

    Aunque el primer microprocesador, el Intel 4004, data de 1971 sus caractersticas eran tan limitadasque no se puede considerar como un PC, ni tampoco su sucesor el Intel 8008 del ao siguiente; ambosmicroprocesadores se disearon para aplicaciones especficas. Debemos esperar hasta la aparicin delIntel 8080 en 1974 para ver el primer microprocesador de uso general ampliamente difundido y padrede los 386, 486 y de los sucesivos modelos del Pentium.

    Tecnolgicamente la cuarta generacin (de la que se resumen sus caractersticas en la Figura 1.14) noes sino un paso ms en la evolucin anteriormente comentada. Un chip llega a alcanzar ms de 100.000puertas dando lugar al nivel VLSI (Very Large Scale Integration) de la tecnologa.

    Tercera Generacin

    Miniaturizacin del transistor e integracin con

    otros componentes en un chip: electrnica Velocidad: < 50 nanosegundos

    Se reduce: tamao, peso, precio, calor... Aumenta: velocidad y fiabilidad

    Un nico tipo de computadoresEj. IBM/360

    Tres niveles de integracin: SSI 12 puertas/circuitoMSI 100 puertas/circuitoLSI 10.000 puertas/circuito

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    15/167

    Introduccin a los Computadores 15

    Estructura y Tecnologa de Computadores (Seccin I)

    Figura 1.14

    Quinta GeneracinHasta aqu la mayora de los autores coinciden en la definicin de estas cuatro generaciones, caracteri-zndose cada una de ellas por algn acontecimiento singular.

    La evolucin de la tecnologa, evidentemente, no se detiene. En los aos 80 se alcanzan niveles de in-tegracin con ms de un milln de puertas por chip dando lugar a la tecnologa ULSI (Ultra Large Sca-le Integration).

    Paralelamente a las mejoras en la tecnologa, tambin el software se ha desarrollado enormemente. Pe-ro, este desarrollo es caro. Cmo se puede incorporar en los equipos a unos precios asequibles? ni-camente con grandes volmenes y stos volmenes slo son posibles, a su vez, gracias a la constantereduccin de costes del hardware.

    Pues bien, coincidiendo con la tecnologa ULSI se hace econmicamente interesante la integracin devarios microprocesadores en un sistema nico: el multiprocesador. La utilizacin creciente del multi-procesador se considera por ciertos autores como la caracterstica que define la aparicin de la QuintaGeneracin (Figura 1.15). Debe mencionarse que ya en los equipos IBM/360 existan modelos con msde un procesador, llegando este mismo fabricante hasta seis procesadores en la familia IBM/3090 haciafinales de los 80. Pero no se trataba de microprocesadores (procesador en un solo chip) sino que cadauno de estos procesadores, siempre de gran potencia, requera varios chips.

    Figura 1.15

    Cuarta Generacin

    Sigue incrementndose el nivel de integracin:VLSI >100.000 puertas/circuito

    Velocidad: < 10 nanosegundos

    Se llega a colocar un procesador en un nico chip:

    Aparece el microprocesador Surge el PC

    Quin ta Generacin

    Sigue incrementndose el nivel de integracin:ULSI >1.000.000 puertas/circuito

    Velocidad: < 1 nanosegundo Se incrementan las prestaciones empleando mltiples

    procesadores:

    Aparecen los Multiprocesadores Se posibilitan nuevas aplicaciones

    (p.e. Multimedia)

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    16/167

    16 Introduccin a los Computadores

    Estructura y Tecnologa de Computadores (Seccin I)

    La evolucin de hardware y software tambin trae aparejada por las mismas fechas la aparicin a pre-cios razonables de nuevas tecnologas informticas como, por ejemplo multimedia, posibles tcnica-mente mucho antes, pero econmicamente inviables hasta entonces.

    Y despus, qu?Naturalmente, la evolucin de la tecnologa no se ha detenido aqu. El ao 1997 tienen lugar de formaindependiente dos anuncios de enorme importancia. Por un lado, IBM anuncia la utilizacin de cobrecomo conductor en las conexiones de los distintos componentes de un chip, mientras que Intel anunciael empleo de slo un transistor para disponer de dos bits de memoria.

    Aunque el cobre es el mejor conductor de la electricidad, los fabricantes de chips no eran capaces deutilizarlo como conductor dentro de los propios chips para interconectar los millones de componentesque forman parte de los mismos y siempre se ha empleado para estos fines aluminio. Se intent utilizarcobre, plata u oro pero ninguno de ellos se poda manejar con la misma sencillez que el aluminio y, loque es mucho peor, estos tres metales tenan interacciones qumicas indeseadas con el silicio que alte-

    raban su comportamiento elctrico. Nuevas tcnicas de fabricacin han hecho posible el empleo delcobre. Esta importantsima mejora tecnolgica es aplicable a los procedimientos bsicos de fabricacinde tecnologa microelectrnica por lo que su empleo es aplicable tanto a circuitos de lgica como a cir-cuitos de memoria.

    Por lo que respecta a los circuitos de memoria, a lo largo de los aos se ha ido produciendo una espec-tacular mejora en la densidad de los mismos (ms bits por unidad de superficie). Esto se ha logrado pordos vas: por un lado por una mejora continua de los procesos de fabricacin y, por otra parte, por unmejor diseo de la celda de memoria. Inicialmente, para almacenar un bit se requera un circuito for-mado por seis transistores, nmero que se fue reduciendo hasta un nico transistor por bit. En 1997, In-tel anunci un nuevo diseo del bit de memoria que permita almacenar dos bits por medio de un solotransistor, permitiendo as duplicar la densidad de los chips de memoria, con independencia de otrasmejoras tecnolgicas.

    Ambos anuncios, que, adems, no son incompatibles entre s, se han llevado ya al mercado formandoparte de multitud de productos.

    El microprocesador

    Conviene aclarar que cuando hablamos de microprocesadores no estamos refirindonos exclusivamentea aquellos que forman parte de un ordenador. De hecho stos son clara minora.

    En la Figura 1.16 se pueden ver las previsiones de produccin de microprocesadores que se hicieron aprincipios del ao 2000. De un total cercano a los 8.300 millones a nivel mundial slo 150 millones(menos del 2%) se iban a emplear en PCs, servidores o grandes ordenadores; es decir en Informtica.

    Y el resto a qu se dedican? Se trata de microprocesadores mucho ms simples:

    Microcontroladores (micros muy sencillos includos en aparatos de todo tipo desde electrodo-msticos hasta juguetes, motores o mquinas herramientas simples y cuyo precio no superaunos pocos euros).

    Procesadores de seales (incorporados, entre otros dispositivos, en telfonos mviles, televiso-res, reproductores de video o audio, etc).

    Microprocesadores incorporados (empleados en funciones ms complejas que las anteriorescomo pueden ser todas las funciones de control de un automvil, de un edificio o de una conso-la de videojuegos).

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    17/167

    Introduccin a los Computadores 17

    Estructura y Tecnologa de Computadores (Seccin I)

    Sin embargo, todos tienen algo en comn: son procesadores, en el sentido que de este trmino haremosen la Seccin III de la asignatura y tienen una organizacin bsica similar.

    Figura 1.16

    1.3.- Tecnologas MicroelectrnicasCuando hablamos de microelctronica nos referimos a cualquier tecnologa que emplee circuitos inte-grados. Sin embargo, desde un punto de vista ms de detalle, ms fsico, no todos los chips emplean lamisma tecnologa electrnica a la hora de fabricar los transistores y otros elementos del chip.

    En lneas generales los transistores, y por tanto los chips, se pueden fabricar empleando dos tecnologasdiferentes: la tecnologa Bipolar o la tecnologa MOSFET(Metal Oxide Semiconductor Field EffectTransistor o Transistores Efecto de Campo con Semiconductores de xido Metlico). Explicar las dife-

    rencias que ambas tecnologas tienen en su funcionamiento desde un punto de vista fsico no perteneceal mbito de esta asignatura pero s es conveniente conocer las caractersticas de una y otra, que se re-sumen en la Figura 1.17.

    En lneas generales la tecnologa Bipolar comprende mltiples familias (histricamente RTL, DTL,TTLy ECL). Todas ellas se caracterizan por una velocidad muy alta, a costa de un tamao grande, unconsumo elevado de energa, con la consiguiente disipacin de calor, y un precio tambin alto. Dehecho, esta tecnologa ha sido empleada hasta entrada la dcada de los 90 en los grandes ordenadores.

    Figura 1.17

    Total de todos los tipos: 8.288.300.000

    Microcontroladores7.257.000.000

    Microprocesadoresincorporados281.300.000

    Procesadores digitalesde seales

    600.000.000

    Microprocesadoresde alto rendimiento

    150.000.000

    Orig en: D ARPA (Ao 2000)

    32 bits153.100.000

    16 bits108.000.000

    8 bits

    20.200.000Texas

    Instruments

    Advanced MicroDevices

    Pentium

    PowerPC

    SPARC

    4 bits1.680.000.000

    8 bits4.770.000.000

    16 bits764.000.000

    32 bits43.000.000

    Tecno logas m icr oelec trni cas

    Bipolar:

    Elevado consumoGran disipacinde calor

    Baja integracinGran tamao

    Gran velocidad Muy cara Destinada a circuitos

    lgicos

    MOSFET:

    Bajo consumoPoca disipacinde calor

    Gran integracinMuy pequea

    Lenta Muy barata Ideal para memorias

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    18/167

    18 Introduccin a los Computadores

    Estructura y Tecnologa de Computadores (Seccin I)

    Por otro lado, se encuentra la tecnologa MOSFET tambin con varias familias, (nMOS, pMOSy, ac-tualmente, CMOS). Su velocidad es menor, pero el resto de caractersticas es claramente favorable conrelacin a la tecnologa bipolar. Ha sido la tecnologa empleada habitualmente en la mayora de las

    memorias de ordenador y en los PCs(tanto en la memoria como en el resto de sus componentes). Hoyse ha extendido, prcticamente, a cualquier tipo de ordenador, independientemente de su potencia.

    Cmo han evolucionado ambas tecnologas? Por qu?

    Como se puede ver en la Figura 1.18, la diferencia de velocidad entre la tecnologa MOSFETy la Bi-polar era realmente importante. sto supona que los grandes ordenadores empleaban esta tecnologapese a sus inconvenientes, que eran muchos. Por ejemplo, las mquinas ms potentes necesitaban refri-gerar sus circuitos por algn lquido, generalmente agua, que circulaba en circuito cerrado con sus co-rrespondientes equipos auxiliares para enfriar este agua, torres de refrigeracin, etc (en 1976 el Cray-1,tal vez el Superordenador ms famoso, precisaba helio lquido para su refrigeracin).

    Figura 1.18

    Ambas tecnologas fueron evolucionando y mejorando sus prestaciones. Pero no lo hicieron al mismo

    ritmo, de forma que en la dcada de los 90, la tecnologa MOSFET lleg a aproximarse mucho a la Bi-polar e incluso a superarla.

    En el grfico de la Figura 1.19 podemos ver con mayor detalle la evolucin de estas tecnologas en losltimos aos. Se puede apreciar que a partir del ao 1993 la tecnologa bipolar no ha mejorado, mie n-tras que la CMOSha continuado su progresin, de manera que hacia 1997 igual el rendimiento de labipolar, superndolo a partir de entonces.

    Figura 1.19

    Por qu se ha producido este hecho? Muy posiblemente la razn no sea tcnica, sino simplementeeconmica. Con los incrementos de rendimiento en CMOS, cada vez haba ms mquinas que podanalcanzar la potencia deseada sin necesidad de emplear tecnologa bipolar y a un precio muy inferior. Enconsecuencia, los chips con esta tecnologa iban quedando reservados exclusivamente para ordenadores

    Velocidad

    Bipolar

    MOSFET

    Aos1990

    CMOS

    Aos

    Velocidad

    93 94 95 96 97 98 9992

    Bipolar

    CMOS

    Baja produccin Baja rentabilidad Se abandona la

    investigacin

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    19/167

    Introduccin a los Computadores 19

    Estructura y Tecnologa de Computadores (Seccin I)

    de la mxima potencia: slo unos pocos miles al ao con lo que el volumen de chips fabricados contecnologa bipolar se reduca ms y ms. As, su precio, ya de por s alto, se converta en prohibitivo,sacrificando incluso el beneficio que el fabricante poda obtener.

    El mercado se inclinaba claramente por la tecnologa CMOS. Ante esta situacin los fabricantes dechips bipolares reducen sus gastos de investigacin en esa tecnologa con lo que los avances en ella seralentizan y se realimenta el proceso anterior.

    En el mercado CMOS, la situacin es la opuesta: cada vez mayor produccin, menores costes y, pese aello, crecimiento continuo de beneficios. Finalmente, hacia 1993, se deja de invertir en investigacin entecnologa bipolar, con lo que, evidentemente, esta tecnologa se estanca y se permite que en slo cua-tro aos la tecnologa CMOStome la delantera y se convierta, prcticamente, en exclusiva.

    1.4.- Sistemas DigitalesEn los computadores la informacin se almacena y se procesa de forma digital. Para ello se emplea el

    sistema binario, con dos nicos valores 0 y 1. Cada uno de estos valores, se puede asimilar a la pre-sencia o a la ausencia de una determinada magnitud fsica. En un computador estos dos valores se re-presentan empleando la tensin elctrica: la presencia de tensin en un punto se asocia con el valor 1(o el valor 0) y la ausencia de la misma con el valor 0 ( o el valor 1).

    Hacer que la presencia de tensin represente el 1 y la ausencia represente el 0 es arbitrario; puedeelegirse exactamente lo contrario. Esta dualidad da lugar a dos tipos de lgica: con la llamada lgicapositivase asocia el 0 con la ausencia de tensin y el 1 con la presencia. A lo largo de todo un cir-cuito (o de todo un computador) en cualquier punto en el que se detecte la presencia de tensin se ten-dr el valor lgico 1, mientras que en los puntos en los que no haya tensin, el valor lgico ser el 0.Con lgica negativala situacin es la inversa. En la Figura 1.20 se muestra un resumen de las caracte-rsticas de los sistemas digitales.

    Figura 1.20

    Un circuito lgico funciona con corriente continua y a tensiones muy bajas. Idealmente, con lgica po-sitiva, el valor 0 se asocia con la tensin de 0 voltios, mientras que el valor 1 se asocia con una ten-sin, variable segn las tecnologas, pero en el entorno de los 5 voltios. En la Figura 1.21 se hace coin-cidir con los 4,5 V.

    En la prctica, sin embargo las magnitudes fsicas, la tensin elctrica entre ellas, son magnitudes ana-lgicas, un punto puede tener el valor 1 en un momento y el valor 0 en el momento siguiente, peropara pasar de los 4,5V a los 0V tiene que pasar por todos los valores intermedios; como magnitud digi-tal pasa directamente del 1 al 0.

    Sistemas dig itales Utilizan el sistema binario: 0 / 1

    Presencia o ausencia de tensin

    Dos tipos de lgica:

    Lgica positiva: 1 Presencia de tensin

    0 Ausencia de tensin

    Lgica negativa:0 Presencia de tensin

    1 Ausencia de tensin

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    20/167

    20 Introduccin a los Computadores

    Estructura y Tecnologa de Computadores (Seccin I)

    Figura 1.21

    Por otra parte, mantener exactamente los valores de 4,5V o de 0V es prcticamente imposible. Por todoello, en la realidad, los valores del 0 y del 1 no se asocian con unos valores fijos de la tensin sino

    con unos ciertos mrgenes. Por ejemplo, se puede asociar el 1 con tensiones entre 3,5V y 5V y el 0con valores entre 0V y 0,8V.

    Qu ocurre entonces con los valores entre 0,8V y 3,5V? Se consideran indeterminados: un circuito,funcionando correctamente, no puede tener estos valores de la tensin en ningn punto. Naturalmente,durante el paso del 1 al 0 o viceversa, la tensin tiene que pasar por esos valores indeterminados. Loque ocurre es que, en esos momentos, no se puede tomar en consideracin el valor presente en ese pun-to. Esto nos introduce el concepto del tiempo, fundamental en cualquier computador.

    El paso del valor 0 al valor 1 y la vuelta de ste al 0 se denomina impulso(Figura 1.22).El pasodel 0 al 1 se conoce comoflanco de subida del impulso, mientras que el proceso contrario se conocecomoflanco de bajada. La representacin de la figura indica los valores que toma una determinada va-riable a lo largo del tiempo; fsicamente, los valores de tensin en un punto determinado del circuito.

    Figura 1.22

    En la Figura 1.22 se representa un impulso; se trata de un impulso ideal. El paso de 0 a 1, o vicever-sa, es instantneo. En la prctica, como ya hemos mencionado, el paso desde la tensin asociada al 0hasta la asociada al 1, no puede ser instantneo. Los flancos de subida o de bajada no pueden ser ver-ticales, debern parecerse ms a los que aparecen en el lado izquierdo de la Figura 1.23.

    Naturalmente, durante parte del flanco, el valor lgico ser indeterminado. Durante este tiempo, no sedeber tomar en consideracin el valor del circuito. El tiempo durante el cual el valor lgico es inde-terminado, se conoce como tiempo de subida (o tiempo de bajada). En la figura se han consideradounos mrgenes muy pequeos alrededor del 0 o del 1 dentro de los cuales los valores de las tensio-nes representan el 0 o el 1.

    Pero, incluso la aproximacin anterior no es totalmente vlida. En la prctica se producen unos fen-menos que hacen que durante la subida o la bajada se rebasen los valores de la tensin que representan

    4,5 V

    0 V

    1

    00 V

    1

    Indeterminado

    00,8 V

    3,5 V

    5 V

    t

    1

    t0 t1

    Flanco desubida

    Flanco debajada

    (Impulso ideal)

    0

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    21/167

    Introduccin a los Computadores 21

    Estructura y Tecnologa de Computadores (Seccin I)

    el 1 o el 0, tal y como se representa en el lado derecho de la figura. Esto puede hacer que el tiempode subida o de bajada sea an mayor.

    Figura 1.23

    Sin embargo, salvo alguna excepcin, a lo largo del curso supondremos que los impulsos son ideales.El conocimiento exacto del funcionamiento de los circuitos desde el punto de vista fsico, aunque im-prescindible para el diseo fsico de un computador, sera objeto de una asignatura de electrnica fs i-

    ca.Se conoce como tren de impulsosa una serie de impulsos consecutivos, tal y como se representa en laFigura 1.24.

    En ella el valor lgico en un punto va cambiando a lo largo del tiempo entre el 0 y el 1.

    Figura 1.24

    Un tren de impulsos que va pasando de 0 a 1 y viceversa a intervalos regulares, tal y como se repre-senta en la Figura 1.25, se conoce como tren de impulsos peridico.

    Figura 1.25

    Se denomina periodoal tiempo transcurrido entre dos transiciones consecutivas del 0 al 1 (o vice-versa). Se mide en segundos o, ms frecuentemente, en microsegundos (10-6segundos) o nanosegundos(10-9segundos).

    t

    0

    1

    Flanco desubida

    Flanco debajada

    (Impulso real)Tiempo desubida

    Tiempo debajada

    t

    0

    1

    Flanco desubida

    Flanco debajada

    (Impulso real)Tiempo desubida

    Tiempo debajada

    0

    1

    0 1 0 1 0 1 0

    0

    1

    0 1 0 1 0 1 0

    T

    Periodo = T

    Frecuencia =1T

    Factor de Servicio =T1T

    100

    T1

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    22/167

    22 Introduccin a los Computadores

    Estructura y Tecnologa de Computadores (Seccin I)

    El inverso del periodo, es lafrecuencia. Se mide en herzios (ciclos por segundo) e indica el nmero deveces que, en un segundo, se pasa de 0 a 1. Ms frecuentemente la frecuencia se expresa en Mega-herzios (106herzios), o incluso Gigaherzios (109herzios).

    Otro parmetro que se emplea frecuentemente para definir un tren de impulsos peridico es el llamadoFactor de Servicioque nos da, normalmente en porcentaje, la relacin entre el tiempo que el impulsoest en el valor 1 y el tiempo total.

    En un ordenador, la mayora de las operaciones se pueden ejecutar slo en determinados momentos detiempo, y slo en esos momentos se pueden considerar vlidos los valores de los diferentes puntos delcircuito.

    Figura 1.26

    Esta operacin se conoce como sincronizacin. Los instantes de referencia en los cuales pueden tenerlugar las transiciones de 0 a 1 (o viceversa) vienen fijados por un tren de impulsos peridico produ-cido por un componente del ordenador conocido como el reloj(clock). La frecuencia de este reloj (p.e.766Mhz, o 1,5Ghz) es una de las caractersticas principales de un procesador.

    SincronizacinReloj

    T

    0 1 0 0 0 01 1 1 1 1

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    23/167

    Introduccin a los Computadores 23

    Estructura y Tecnologa de Computadores (Seccin I)

    BIBLIOGRAFA RECOMENDADA:

    E. Alcalde y otros.Arquitectura de Ordenadores.- Mc Graw Hill. 1991 (Cap. 1)

    David A. Patterson y John L. Hennessy. Estructura y diseo de computadores.- Revert, S.A.2000 (Vol. 1, Cap.1)

    W. Stallings. Organizacin y Arquitectura de Computadores.- Prentice Hall. 2000 (Caps. 1 y2)

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    24/167

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    25/167

    Estructura y Tecnologa de Computadores (Parte II)

    SECCIN II

    SISTEMAS DIGITALES

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    26/167

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    27/167

    Estructura y Tecnologa de Computadores (Parte II)

    2SISTEMAS DE REPRESENTACIN DE LAINFORMACINA lo largo del tiempo, ha ido evolucionando el tipo de informacin almacenada y procesada en un or-denador. Inicialmente, slo eran capaces de procesar informacin numrica y, de hecho, los primerosordenadores se construyeron para facilitar complejos clculos numricos de tipo tcnico.

    Poco despus se vi su utilidad para realizar clculos sencillos pero de gran volumen, los tpicos de losprocesos administrativos. Entonces, se hizo preciso procesar informacin de tipo alfabtico para poderemitir informacin impresa, como facturas o recibos de nmina.

    Posteriormente se ha ido dotando a los ordenadores de la capacidad de procesar otros tipos de informa-cin ms compleja, desde grficos sencillos hasta los potentes equipos multimedia actuales.

    2.1.- Sistemas de NumeracinComenzaremos pues viendo cmo se representa en un ordenador la informacin numrica y para ellorepasaremos algunos conceptos sencillos sobre Sistemas de Numeracin.

    En primer lugar debemos incluir algunas definiciones.

    Sistema de Numeracin:

    El conjunto de smbolos y reglas empleados para la representacin demagnitudes numricas

    Base de un Sistema de Numeracin

    El nmero de smbolos numricos que se emplean en ese Sistema de Nume-racin

    Cules son los Sistemas de Numeracin ms frecuentes? En nuestra vida habitual, no hay duda de queel Sistema de Numeracin ms comnmente utilizado es elsistema decimal, aunque perdure de formaresidual algn otro como pueda ser el de base 12, cuando se habla de docenas. Sin embargo, en sis-temas digitales y en Informtica, los Sistemas ms empleados son el Sistema Binario y el SistemaHexadecimalcuyas bases son 2 y 16, respectivamente.

    Teorema Fundamental de la Numeracin

    Comenzaremos con el Teorema Fundamental de la Numeracin que aplicamos continuamente en la vi-da diaria, aunque de una forma automtica y casi inconsciente. La expresin formal de este Teorema esla siguiente:

    1 1

    ( )i n i n

    i i

    i i

    i d i d

    dgito base D b= =

    = =

    = =

    donde, si tomamos como ejemplo el nmero 1.727,32:

    Di = cada uno de los dgitos i = posicin respecto a la coma decimal b = base

    Di= 1, 7, 2....

    b = 10

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    28/167

    28 Sistemas de Representacin de la Informacin

    Estructura y Tecnologa de Computadores (Parte II)

    Habitualmente empleamos el Sistema Decimal. El valor numrico de una magnitud en este sistemaviene dado por el conjunto de unidades, decenas, centenas, etc. Por ejemplo quince personas, se repre-sentan numricamente, en el sistema decimal por el nmero 15 y ste representa cinco unidades y unadecena, o bien quince unidades. Quincees el cardinal de este conjunto y es independiente del sistemade numeracin empleado, su representacin numrica en decimal es 15, mientras que su representacinnumrica en binario es 1111.

    Cuando analizamos un nmero expresado en el sistema decimal, vemos (Figura 2.1)que un mismosmbolo (p.e. el 7) puede representar una magnitud diferente. En este caso, el primer 7 (por la derecha)representa 7 unidades, mientras que el segundo representa 7 centenas, o sea, 700 unidades. Es decir, elmismo smbolo en distinta posicin representa un valor diferente.

    Figura 2.1Cualquier sistema de numeracin en el cual el valor de un smbolo depende de su posicin se conocecomo Sistema numrico posicional. Prcticamente cualquier sistema numrico actualmente empleadoes de este tipo. El Teorema Fundamental de la Numeracin aplicado al ejemplo de la figura nos permiteobtener el valor de la cantidad representada en el sistema decimal por 1.727,32:

    dos centsimas, mstres dcimas, mssiete unidades, msdos decenas, mssiete centenas, ms

    un millaro, lo que es lo mismo, el cardinal mil setecientos veintisiete con treinta y dos.

    Un ejemplo desistema numrico no posicional,empleado hoy da aunque sin utilidad ninguna en cl-culos matemticos, es el formado por los nmeros romanos. En l la letra V tiene el valor cinco, inde-pendientemente de su posicin, y la letra M el valor mil, tambin con independencia de su posicin.Obsrvese que en este sistema de numeracin no existe una representacin para el valor cero.

    Ej. 1.727,32

    N = 2 10-2

    + 3 10-1

    + 7 100

    + 2 101

    + 7 102

    + 1 103

    + 20,00

    + 700,00

    + 1000,00

    + 7,00

    + 0,30

    = 0,02

    1.727,32

    Ej. 1.727,32

    Smboloigual

    Posicindiferente

    Sistema numricoposicional

    Valor diferente

    ( ) ini

    di

    ni

    di

    i

    i

    i bDbasedgitoN =

    =

    =

    =

    ==1 1

    n = n cifras a la izquierda de la coma decimal d = n cifras a la derecha de la coma decimal

    n = 4 d = 2

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    29/167

    Sistemas de Representacin de la Informacin 29

    Estructura y Tecnologa de Computadores (Parte II)

    Principales Sistemas de Numeracin

    En un ordenador slo existen los valores 0 y 1. Por tanto el sistema de numeracin ms lgico es el

    binario. Sin embargo, en la vida diaria, el sistema ms corriente es el decimal. Por ello, los ordenadoresdebern ser capaces de emplearlo.

    Otro sistema con el que deberemos familiarizarnos es el hexadecimal, con base 16. Como veremos re-sulta especialmente til para representar valores binarios de una forma ms cmoda que la larga seriede ceros y unos que caracteriza al sistema binario. Como emplea diecisis smbolos, no tiene suficientecon los diez dgitos por lo que toma prestados diez smbolos del sistema decimal (del 0 al 9) y paralos seis restantes emplea las primeras letras del alfabeto (desde la A hasta la F).

    Algunas definiciones

    En la Figura 2.2 se recogen algunos trminos empleados para referirnos a determinadas magnitudesfrecuentemente empleadas para medir volmenes de informacin.

    Figura 2.2

    El enorme desarrollo de la tecnologa de almacenamiento ha hecho que se fuesen sobrepasando conti-nuamente las capacidades reales de las mismas, tanto en memoria central, como en almacenamiento endisco. En un PChablar de Megabytes de memoria o de Gigabyes de disco es habitual hoy da mientrasque en grandes sistemas las memorias actuales ya se expresan en Gigabytes y las capacidades totales dealmacenamiento en disco en una instalacin son del orden de Terabytes. La nueva Arquitectura deGrandes Sistemas de IBM, disponible desde Octubre de 2000, o los nuevos micros de AMD disponi-bles en 2003, con su direccionamiento de 64 bits permite memorias de hasta 16 Exabytes, aunque toda-va esos tamaos estn muy alejados de la realidad.

    Aqu, nicamente conviene advertir sobre la confusin, relativamente frecuente entre bit y byte. Gene-

    ralmente se emplea correctamente la b para indicar el bit y la B cuando se referencia el byte, aunqueno siempre sucede as.

    Conversin entre Sistemas de Numeracin

    Utilizando siempre el Sistema Decimal como referencia, dado que es aquel con el que estamos familia-rizados, veremos cmo se puede pasar de un Sistema de Numeracin a otro. Para conocer el valor endecimal de un nmero expresado en otro Sistema de Numeracin, nos bastar con aplicar el TeoremaFundamental de la Numeracin:

    1 1

    ( )i n i n

    i i

    i i

    i d i d

    dgito base D b= =

    = =

    = =

    Bit b Unidad de informacin: 0, 1 Byte B 8 bits (carcter, octeto) Kilobit Kb 1024 bits 103 bits Kilobyte KB 1024 bytes 103 bytes Megabyte MB 1024 KB 106 bytes Gigabyte GB 1024 MB 109 bytes Terabyte TB 1024 GB 1012 bytes Petabyte PB 1024 TB 1015 bytes Exabyte EB 1024 PB 1018 bytes

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    30/167

    30 Sistemas de Representacin de la Informacin

    Estructura y Tecnologa de Computadores (Parte II)

    Conversin al Sistema Decimal

    Veremos las dos situaciones ms frecuentes. Pasar desde el sistema Binario o desde el Hexadecimal.

    De Binario a DecimalSupongamos, por ejemplo, el nmero binario 10110,01.

    La base es 2, (b = 2)

    El nmero de cifras a la derecha de la coma es tambin 2, (d = 2)

    El nmero de cifras a la izquierda de la coma es cinco, (n = 5)

    Aplicamos el Teorema Fundamental de la Numeracin. El valor decimal de este nmero N, ser la su-ma de una serie de sumandos (tantos como cifras tenga el nmero binario; o sea 7). Cada sumando darel valor de una de las cifras del nmero binario, teniendo en cuenta su posicin.

    As, para la ltima cifra a la derecha de la coma(un 1 en la posicin -2), su valor ser: 1 2-2= 0,25

    La siguiente cifra (un 0 en la posicin -1): 0 2-1 = 0

    La siguiente (un 0 en la posicin 0): 0 20 = 0

    Despus un 1 en la posicin 1 1 21 = 2

    Ahora un 1 en la posicin 2 1 22 = 4

    Un 0 en la posicin 3 0 23 = 0

    Y un 1 en la posicin 4 1 24 = 16

    La suma de estos siete sumandos nos da el valor decimal

    del nmero binario 10110,01 22,25De Hexadecimal a Decimal

    De forma anloga procederemos para un nmero expresado en hexadecimal. Supongamos, por ejem-plo, el nmero hexadecimal 3EF,A.

    La base es diecisis, (b = 16)

    El nmero de cifras a la derecha de la coma es una, (d = 1)

    El nmero de cifras a la izquierda de la coma es tres, (n = 3)

    Aplicamos el Teorema Fundamental de la Numeracin. El valor decimal de este nmero N, ser la su-ma de una serie de sumandos (tantos como cifras tenga el nmero hexadecimal; o sea 4). Cada suman-

    do dar el valor de una de las cifras del nmero hexadecimal, teniendo en cuenta su posicin.As, para la ltima cifra a la derecha de la coma (A en la posicin -1),sin olvidar que el valor decimal de A es diez, su valor ser: A 16-1 = 0,625

    La siguiente (F, o sea quince, en la posicin 0): F 160 = 15

    Despus E (o sea, catorce) en la posicin 1 E 161 = 224

    Y, por ltimo, un 3 en la posicin 2 3 162 = 768

    La suma de estos cuatro sumandos nos da el valor decimaldel nmero hexadecimal 3EF,A 1007,625

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    31/167

    Sistemas de Representacin de la Informacin 31

    Estructura y Tecnologa de Computadores (Parte II)

    Conversin desde el Sistema Decimal

    El problema inverso, convertir desde el Sistema Decimal al Binario o al Hexadecimal, tambin es fre-

    cuente. Se pueden emplear dos procedimientos diferentes: Por divisiones y multiplicaciones sucesivas

    Por restas sucesivas.

    En cualquier caso debe separarse la parte entera de la fraccionaria del nmero expresado en decimal.

    De Decimal a Binario

    Si se emplea el primero de los procedimientos arriba mencionados, las divisiones sucesivas se aplica-rn a la parte entera mientras que las multiplicaciones debern hacerse sobre la parte fraccionaria.Veamos con un ejemplo cmo debe procederse (Figura 2.3). Sea el nmero decimal 19,3125

    Figura 2.3

    Para convertir un nmero decimal a binario:

    Se toma la parte entera (el 19, en el ejemplo)o Se divide por dos (la base del sistema al que se quiere convertir)

    El resto de esa divisin (1) ser la primera cifra a la izquierda de la coma

    El cociente (9), se vuelve a dividir por dos

    El resto (1) ser la segunda cifra a la izquierda de la coma, y

    o Se continua el proceso hasta que el cociente sea 0.

    La parte fraccionaria (0,3125 en el ejemplo)

    o Se multiplica por dos (nuevamente, la base del sistema al que se quiere convertir).

    La parte entera del producto (0) ser la primera cifra a la derecha de la coma

    La parte fraccionaria de ese producto (0,625) se vuelve a multiplicar por dos,

    La parte entera (1) ser la cifra siguiente a la derecha de la coma, y

    o Se continua el proceso

    Hasta que la fraccin sea cero(como en el ejemplo)

    O bien, hasta que tengamos un nmero suficiente de cifras fraccionarias.(Enmuchas ocasiones no es posible representar exactamente en binario un nmerodecimal, del mismo modo que no se puede representar exactamente el valordecimal 1/3, y nos conformamos con 0,3333).

    11

    00

    1

    19 29

    42

    10

    1 00 1 1

    0,3125 2 = 0,625

    0,625 2 = 1,25

    0,25 2 = 0,5

    0,5 2 =

    0 01 1,

    0

    1

    0

    11,0

    ,

    Finaldel proceso

    22

    22

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    32/167

    32 Sistemas de Representacin de la Informacin

    Estructura y Tecnologa de Computadores (Parte II)

    Para hacer la misma conversin por restas sucesivas se debe preparar una tabla con las sucesivas po-tencias de 2, desde 20hasta 2n, siendo n tal que 2nsea mayor o igual que la parte entera del nmero aconvertir. En nuestro ejemplo (Figura 2.4), bastara llegar hasta 25aunque se ha includo un elemento

    ms.

    Figura 2.4

    Confeccionada la tabla, el proceso a seguir es el siguiente:

    Se toma el mayor nmero que no sea superiora la parte entera, en nuestro caso el 16 (24), loque nos indica que el nmero binario resultante deber tener un 1 en la posicin 4 a la iz-quierda de la coma.

    Despus se resta del nmero original el valor de la potencia seleccionada anteriormente (16) ycon esta diferencia se repite el proceso. Ahora, la diferencia sera 3 (19 16) y vemos que elmayor nmero de la tabla de potencias que no es superior a 3 es el 2 (21). Esto nos indica que elnmero binario resultante deber tener un 1 en la posicin 1 a la izquierda de la coma.

    Se repite el proceso de resta anterior, (3 2) y el resultado, (1) se vuelve a comparar con loselementos de la tabla. Ahora es el primer elemento, con el valor 1 (20), el que resulta seleccio-

    nado lo que significa que habr un 1 en la posicin 0 a la izquierda de la coma. Se vuelve a restar este nmero y, en nuestro ejemplo, el resultado es 0. Este proceso repetitivo

    finaliza cuando alguna de las restas alcanza el valor 0.

    El nmero binario, en su parte entera, queda formado por 1 en las posiciones seleccionadas (en nues-tro caso las posiciones 4, 1 y 0 a la izquierda de la coma) y 0 en las restantes (las posiciones 2 y 3).

    Para la parte fraccionaria, el proceso es similar, aunque hay que tener en cuenta que, muy posiblemen-te, no se pueda representar en binario con un nmero finito de cifras el nmero decimal deseado. Porello, se deber preparar una tabla de potencias con exponentes negativos de 2 cuyo nmero de elemen-tos sea igual al nmero de cifras fraccionarias que se desea obtener (Figura 2.5).

    Figura 2.5

    El proceso, por lo dems, es similar al seguido para la parte entera:

    20 = 1

    21 = 2

    22 = 4

    23 = 8

    24 = 16

    25 = 32

    26 = 64

    19

    3

    1

    1

    1

    0

    0

    1

    0

    0 1 0 0 1 1

    - 16 = 3

    - 2 = 1

    - 1 = 0

    2-1 = 0,5

    2-2 = 0,25

    2-3 = 0,125

    2-4 = 0,0625

    2-5 = 0,03125

    0,3125

    0,0625

    0

    1

    0

    1

    0 1 0 1

    - 0,25 = 0,0625

    - 0,0625 = 0

    ,,

    0

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    33/167

    Sistemas de Representacin de la Informacin 33

    Estructura y Tecnologa de Computadores (Parte II)

    Tomamos el mayor valor de la tabla que no sea superior a la parte fraccionaria, en nuestro caso0,25 (o sea, 2-2). Esto supone que en la posicin -2 (segunda a la derecha de la coma) debehaber un 1.

    Se resta este valor del inicial (0,3125 0,25 = 0,0625) y se vuelve a comparar con los elemen-tos de la tabla. El mayor, no superior a ste 0,0625 es precisamente ese mismo valor, y corres-ponde a 2-4lo que significa que habr un 1 en la posicin -4. Como el resultado de esta restaes exactamente 0, el proceso habr finalizado. Se colocar un 1 en las posiciones -2 y -4 a laderecha de la coma y un 0 en las restantes.

    Obsrvese que el orden de las posiciones a la izquierda de la coma comienza en el 0, mientras que a laderecha lo hace en el -1.

    Como hemos dicho, es muy posible que el nmero que se desee convertir de decimal a binario, no pue-da representarse en binario con un nmero finito de cifras fraccionarias. Puede verse, como ejemplo, elnmero 19,45. Este nmero, en binario sera 10011,0111001, suponiendo que se considere suficiente la

    precisin obtenida con siete cifras fraccionarias.De Decimal a Hexadecimal

    Veamos como ejemplo el nmero decimal 1998,3125. Si empleamos el mtodo de divisiones / multi-plicaciones sucesivas, el proceso es similar, aunque el nmero a emplear para las divisiones o multipli-caciones sucesivas ser el 16, base del sistema hexadecimal (Figura 2.6):

    Figura 2.6

    Se toma la parte entera (1998, en el ejemplo)

    o Se divide por diecisis (la base del sistema al que se quiere convertir)

    El resto de esa divisin (14) ser la primera cifra a la izquierda de la coma(posicin 0). Naturalmente este valor catorce se debe expresar en hexade-cimal, es decir, por la letra E

    El cociente (124), se vuelve a dividir por diecisis dando un resto de 12 (elhexadecimal C, que ocupar la posicin 1) y un cociente de 7.

    Ese cociente de 7, dividido nuevamente por 16, nos dar un resto de 7 (posi-cin 2) y un cociente de 0, en cuyo momento termina el proceso para laparte entera

    Para la parte fraccionaria (0,3125 en el ejemplo)

    o Se multiplica por 16 (nuevamente, la base del sistema al que se quiere convertir).

    La parte entera del producto (5) ser la primera cifra a la derecha de la coma

    12

    14 7

    1998124

    0,3125 16 = 5,0

    ,,

    3978 7 16

    0

    C7 E 16

    1616

    C

    E 5

    5

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    34/167

    34 Sistemas de Representacin de la Informacin

    Estructura y Tecnologa de Computadores (Parte II)

    Dado que la parte fraccionaria de ese producto es 0, ya se ha terminado elproceso de conversin.

    De lo contrario, se continuara multiplicando por 16 y tomando la parte enteracomo siguiente cifra y as sucesivamente hasta que se obtenga el nmero de ci-fras fraccionarias deseado.

    De Binario a Hexadecimal

    El paso de binario a hexadecimal es extraordinariamente simple. Para ello basta dividir el nmero bina-rio que se desea expresar en hexadecimal en grupos de cuatro cifras (cuatro bits) comenzando por lacoma a izquierda y derecha de la misma. Si algn grupo, como ocurre en el ejemplo de la Figura 2.7,tiene menos de cuatro bits se rellena con ceros, hacia la izquierda para la parte entera o hacia la derechapara la parte fraccionaria, lo que no modifica el valor del nmero original.

    Una vez formados estos grupos de 4 bits, basta reemplazar cada uno de ellos por el valor hexadecimalque lo representa.

    Figura 2.7El sistema hexadecimal no se utiliza realmente para realizar operaciones aritmticas. Sin embargo esextraordinariamente til y amplsimamente utilizado para representar series de bits ya sea en una panta-lla o en una impresora. La representacin directa en binario resulta farragosa y su interpretacin es pro-clive a errores humanos. Es mucho ms cmodo escribir, por ejemplo, 8AFCB51 que no su equivalentebinario 1000101011111100101101010001.

    La conversin en sentido contrario es igualmente inmediata: basta reemplazar cada cifra hexadecimalpor los cuatro bits que, en binario, representan su valor.

    Sistema Binario: Operaciones aritmticas

    Las operaciones aritmticas en el sistema binario se ejecutan de forma similar a las realizadas en elsistema decimal aunque empleando nicamente los dgitos 0 y 1.

    Para ello se emplean las tablas de sumar o de restar del sistema binario.

    Suma binaria

    De igual forma que en el sistema decimal, aprendimos las tablas de sumar, tambin existen, y debere-mos emplear, las tablas correspondientes en el sistema binario, aunque, lgicamente slo existen la ta-bla del 0 y la del 1.

    La nica situacin especial es la que se produce cuando en la suma el valor resulta superior a 1. Essimilar a lo que ocurre cuando en decimal se suman dos dgitos cuya suma es superior a 9; entonces di-vidimos esta suma en dos dgitos y al efectuar la suma decimos me llevo una. Cuando se produce es-

    Se hacen grupos de 4 bits desde la coma:

    Ej.10011,11011

    0 0 1 11 1 1 0 1

    0 0 1 11 1 1 0 10 0 0

    31 D

    ,13 D8 16

    1

    1 0 0 0

    8

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    35/167

    Sistemas de Representacin de la Informacin 35

    Estructura y Tecnologa de Computadores (Parte II)

    ta situacin de me llevo una, decimos, de una manera ms formal, que se produce acarreo; se generauna unidad de orden superior.

    En esta situacin, lo que hacemos es aadir 1 a la cifra de orden superior, lo que representamos conese pequeo 1 sobre los sumandos originales en la Figura 2.8.

    Figura 2.8

    Resta binaria

    La resta binaria se realiza de forma anloga a la suma, aunque empleando las tablas de restar.

    De igual forma que en el sistema decimal el problema se plantea cuando se trata de restar de un dgitootro de mayor valor (por ejemplo, restar 8 de 5) y entonces debemos tomar prestada una unidad deorden superior para poder realizar la resta (restamos 8 de 15), en binario se presenta cuando se trata derestar 1 de 0; tambin entonces tomamos prestada una unidad de orden superior y realizamos la restadesde el valor 10 (dos), pero deberemos devolver esa unidad de orden superior que hemos tomado

    prestada, lo que representamos con ese -1 que aparece en la Figura 2.9.

    Figura 2.9

    Multiplicacin Binaria

    La ltima operacin binaria que vamos a considerar es la multiplicacin. La multiplicacin en binarioresulta extraordinariamente simple: el multiplicando deber multiplicarse sucesivamente por cada dgi-to del multiplicador, desplazando una posicin a la izquierda cada resultado obtenido. Este resultadoser 0 cuando el dgito correspondiente del multiplicador sea 0 (multiplicar por cero es cero encualquier sistema de numeracin) o ser igual al multiplicando cuando la cifra correspondiente en elmultiplicador sea 1 (multiplicar por uno no cambia el multiplicador, en cualquier sistema de nume-racin). Veamos un ejemplo (Figura 2.10):

    Tablas de sumar:

    Tabla del 0: 0 + 0 = 0

    0 + 1 = 1

    Tabla del 1: 1 + 0 = 1

    1 + 1 = 0

    Ejemplos:

    1 0 1 0 0 1

    + 1 0 1 0 0

    (4 1)

    (2 0)

    (6 1)

    1 0 1 0 0 1

    + 1 1 0 1

    11(4 1)

    (1 3)

    (5 4)

    (*)

    (*) y me llevo 1 (acarreo)

    1 1 1 1 0 1

    1 1 0 1 1 0

    Tablas de restar:

    Tabla del 0: 0 0 = 0

    0 1 = 1

    Tabla del 1: 1 0 = 1

    1 1 = 0

    Ejemplos:

    1 0 1 0 0 1 1 0 0 0

    (4 1)(8)

    (3 3)

    1 0 1 0 0 1

    1 1 0 1

    (4 1)

    (1 3)

    (2 8)

    (*)

    (*) y me llevo -1-1-1-1

    1 0 0 0 0 1

    0 1 1 1 0 0

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    36/167

    36 Sistemas de Representacin de la Informacin

    Estructura y Tecnologa de Computadores (Parte II)

    Figura 2.10

    Representaciones Binarias

    La representacin de nmeros en binario sera perfecta para el ordenador si no hubiese que emplear na-da ms que ceros y unos ya que el ordenador slo puede emplear estos smbolos para representarcualquier informacin.

    Pero, en realidad hay que emplear el signo menos para representar nmeros negativos, la coma paraseparar parte entera y fraccionaria. Y sto, refirindonos, de momento, slo a informacin numrica enbinario, sin entrar, en cmo representar informacin numrica decimal, alfabtica o de otro tipo.

    Por ejemplo, cmo almacenar en el ordenador el nmero binario 010011,1101?

    Para solucionar este problema recurrimos a lo que se conoce como representaciones binarias que no essino un conjunto de normas que permiten representar empleando slo ceros y unos cualquier magni-tud numrica (binaria, decimal, positiva, negativa, entera, fraccionaria...), alfabtica o incluso de cual-quier otro tipo.

    Limitndonos, por el momento, a las representaciones numricas para valores binarios, tenemos ciertasconvenciones (Figura 2.11):

    Figura 2.11En primer lugar, la coma que separa la parte entera y la fraccionaria se omite por completo. Para quetodo funcione correctamente, es preciso alinear previamente los diferentes nmeros de acuerdo con laposicin de la coma y, a partir de entonces, considerar todos los nmeros como enteros. Esta alineacinde los nmeros es responsabilidad del programa aunque, evidentemente, ser una funcin hecha deforma automtica por el compilador, de la que el programador no deber preocuparse. El programasabr dnde est la coma, o lo que es lo mismo, cuantas cifras de la representacin corresponden a laparte entera y cuntas a la fraccionaria.

    La coma decimal se omite:(los nmeros se alinean y alguien debesaber dnde est la coma)

    Todos los nmeros son enteros

    Los valores enteros se representan en Mdulo y signo (MS) Complemento a 1 (C-1) Complemento a 2 (C-2) Exceso a 2 elevado a N-1

    Hay una limi-tacin en elnmero de bits

    Multiplicar 10011 101:

    Multiplicando: 10011Multiplicador: 101

    10011 Multiplicar por 1 (igual al multiplicando)00000 Multiplicar por 0 y desplazar a la izquierda

    10011 Multiplicar por 1 (igual al multiplicando)y desplazar a la izquierda

    1011111 Sumar en binarioResultado:

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    37/167

    Sistemas de Representacin de la Informacin 37

    Estructura y Tecnologa de Computadores (Parte II)

    Una vez superado el problema de la coma, todos los nmeros son enteros y slo nos queda cmo re-presentar nmeros positivos o negativos, sin emplear para ello el signo menos. Para sto hay, al me-nos, cuatro alternativas.

    Las cuatro formas de representacin binaria llevan, en la prctica, una limitacin. Todas ellas tienen unnmero prefijado de bits. En un determinado lenguaje habr representaciones, por ejemplo, con 32 bitso con 16, y en otro las podr haber con 64, 32 o 16 bits, etc. As, en el primer lenguaje no se podrn re-presentar, con estas representaciones binarias, nmeros que requieran ms de 32 bits, ni en el segundolenguaje nmeros que requieran ms de 64 bits.

    Caractersticas de una Representacin Numrica Binaria

    Sea cual sea la representacin numrica utilizada, hay dos caractersticas principales ligadas a ellas.

    Por una parte, el rangode esa representacin. Como hemos dicho anteriormente, cualquier representa-cin tiene limitado el nmero de bits a utilizar; ste podr ser mayor o menor segn los casos, pero

    siempre tendr un lmite. Este lmite limita, a su vez, el mayor nmero posible a representar. Comocualquier representacin numrica debe ser capaz de representar nmeros negativos, tambin el nme-ro ms pequeo que se puede representar tiene un lmite (entendiendo por ms pequeo el nmero ne-gativo de mayor valor absoluto). El rango de una representacin numrica define, pues, el conjunto denmeros representables. Este rango puede ser simtricoo asimtrico, segn que el valor absoluto delmayor nmero positivo y del menor nmero negativo sean iguales o diferentes.

    Por ejemplo, si el rango de una representacin vara entre el +32767 y el 32767, diremos que el rangoes simtrico, mientras que el de otra que vare entre el +32768 y el 32767 ser asimtrico.

    Por otra parte, tiene su inters la forma de representar el valor cero. Hay representaciones que nica-mente permiten una representacin para este valor, mientras que otras permiten ms de una.

    Representacin en Mdulo y Signo (MS)

    La forma de representacin numrica binaria ms sencilla es la conocida como representacin en M-dulo y Signo (MS).

    Con esta representacin, dado siempre un nmero determinado y fijo de bits para representar un valor,se reserva el primer bit para indicar el signo del nmero y el resto para representar su valor absoluto(Figura 2.12).

    Figura 2.12

    Su rango es simtrico y vara entre los mrgenes siguientes:

    El primer bit representa el signo: 0 signo positivo 1 signo negativo

    El resto representa el mdulo (su valor

    absoluto en binario) Ejemplo: +12 y 12 en MS

    Mdulo: 1100

    con 8 bits

    + 12 = 1 1 0 00 0 0

    1 1 0 00 0 00

    12 = 1Signo Mdulo

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    38/167

    38 Sistemas de Representacin de la Informacin

    Estructura y Tecnologa de Computadores (Parte II)

    siendo N, el nmero de bits empleado en la representacin, incluido el bit de signo.

    Segn el nmero de bits empleado en la representacin, el rango vara entre los valores que se indican

    a continuacin:con 8 bits: 127 y +127

    con 16 bits: 32767 y +32767

    con 24 bits: 8388607 y + 8388607

    La representacin del valor cero es doble, ya que, dado su valor absoluto (tantos ceros como bits tengala representacin menos uno), se le puede anteponer como bit de signo tanto el 0 (positivo) como el1 (negativo). As, empleando por ejemplo 16 bits, su representacin sera

    000000000000000 o bien, 100000000000000

    Esta representacin podra servir para almacenar nmeros, positivos o negativos, en un ordenador, pe-

    ro, como ms adelante se ver, resulta muy poco til para realizar operaciones aritmticas con ellos.Representacin en Complemento a 1 (C1)

    La representacin en Complemento a 1 (C-1) es otra forma de representar, y de almacenar, en un orde-nador nmeros enteros.

    En esta representacin, tambin se reserva el primer bit para indicar el signo del valor a representar.

    Los nmeros positivos se representan exactamente igual que en la representacin con Mdulo y Signo.

    Los nmeros negativos, sin embargo, se representan complementando el nmero positivo de igual va-lor absoluto. Para obtener su representacin basta con cambiar todos los bits 0 por 1 y viceversa, in-cluyendo el bit de signo (Figura 2.13).

    Figura 2.13

    As, la representacin del valor +67 en C-1, empleando 8 bits, ser: 01000011, y para el valor -67, de-beremos cambiar todos los 0 por 1 y viceversa, con lo que su representacin ser: 10111100. Puedeverse que tambin en C-1 los nmeros positivos comienzan por 0 y los negativos por 1.

    Para conocer el valor de un nmero negativo en esta representacin, nmero que comenzar necesa-riamente por 1, bastar complementarlo, con lo que se tiene la representacin de ese mismo nmero,pero positivo, y con ello su valor absoluto. As, para conocer el valor del nmero 10011001, negativo

    Complemento a 1 (C-1)

    Los nmeros posit ivosse representanigual que en Mdulo y Signo

    Los nmeros negativos se representancomplementando el nmero positivo deigual mdulo (cambiar 0s por 1s yviceversa)

    Ejemplo: +12 y 12 en C-1 (con 8 bits)Mdulo: 1100 + 12 = 1 1 0 00 0 0

    11

    0

    12 = 1 10011

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    39/167

    Sistemas de Representacin de la Informacin 39

    Estructura y Tecnologa de Computadores (Parte II)

    por comenzar por 1, complementaremos esa representacin, resultando 01100110 cuyo valor, posit i-vo, es 102, por lo que el valor del nmero anterior (10011001) ser 102.

    El rango de esta representacin es el mismo que en la representacin MS y tambin la representacindel cero es doble: empleando 8 bits, tanto 00000000 como 11111111 son representaciones vlidaspara este valor. Tampoco esta forma de representacin es empleada para la realizacin de operacionesaritmticas.

    Representacin en Complemento a 2 (C2)

    La representacin en C-2es la ms empleada para realizar operaciones aritmticas con nmeros bina-rios en un ordenador.

    En ella, los valores positivos se representan igual que en MS(o, lo que es lo mismo, igual que en C-1),mientras que los valores negativos se representan obteniendo el Complemento a dos (C-2)de la repre-sentacin del nmero positivo de igual valor absoluto.

    Para obtener este complemento a dos, basta1.- Obtener el complemento a 1(cambiar 0por 1y viceversa) y a continuacin,

    2.- Sumar 1al nmero resultante despreciando el acarreo en la suma, si lo hubiera.

    Por ejemplo, para representar el valor 67en C2, partiremos de la representacin de su valor positi-vo + 67, por ejemplo, con 8 bits:

    + 67 01000011

    obtenemos su C1, cambiando 0por 1y viceversa

    C1 10111100

    y a este C1, le sumamos 110111100

    + 1

    10111101 (no se ha producido acarreo)

    La representacin del valor 67en C2resulta ser, pues: 10111101.

    Si el valor a representa fuera12, tambin con 8 bits, tendramos:

    + 12 00001100

    obtenemos su C1, cambiando 0por 1y viceversa

    C1 11110011a este C1, le sumamos 1

    11110011+ 1

    11110100

    La representacin del valor12en C2resulta ser, pues: 11110100.

    Para conocer el valor de un nmero negativo representado en C-2 debe obtenerse su complemento ados, (cambiar 0por 1y viceversa y sumar 1al resultado anterior). En este caso no se produce nuncaacarreo. Veamos un ejemplo, suponiendo la representacin, con 8 bits, 10011110.

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    40/167

    40 Sistemas de Representacin de la Informacin

    Estructura y Tecnologa de Computadores (Parte II)

    Su C-1 ser01100001y sumando 1a este valor obtendremos 01100010, que es el complemento ados del nmero original y que representa el valor 98, por lo que el valor del nmero de partida repre-sentado en C-2 (10011110)no es otro que 98.

    Otro procedimiento consiste en calcular el valor decimal del nmero dado, considerado como binario eincluyendo en el clculo de su valor el bit de signo (en nuestro ejemplo sera 158) y restar de este valor2Nsiendo Nel nmero de dgitos de la representacin (en nuestro caso, N = 8y 28= 256). As el valordel nmero sera 158 256 = 98.

    El rango de esta representacin vara de acuerdo con la siguiente expresin:

    1 12 2 1N NX

    a la que, segn el nmero de bits empleados, corresponden los valores:

    con 8 bits: 128 y +127

    con 16 bits: 32768 y +32767con 24 bits: 8388608 y + 8388607

    Obsrvese que el rango, en esta representacin de C-2 es asimtrico.

    Sin embargo la representacin del cero es nica: 00000000.

    La asimetra en el rango de una representacin no representa ningn problema en la prctica, mientrasque la representacin nica del valor cero es muy conveniente.

    NO DEBEMOS OLVIDAR QUE LOS NMEROS POSITIVOS

    SE REPRESENTAN EXACTAMENTE IGUAL EN

    -MS

    C-1

    C-2

    Suma en Complemento a 2

    La representacin en C2es la ms empleada en la prctica para realizar operaciones aritmticas.

    Para efectuar una suma, tanto con nmeros positivos como negativos, noslimitaremos a sumar en binario las representaciones en C2 de ambos nme-ros, despreciando el acarreo si lo hubiera.

    Ahora bien, puede ocurrir que el resultado obtenido no sea correcto. La representacin de ambos su-

    mandos debe tener necesariamente el mismo nmero de bits y tambin el resultado. Sin embargo, esposible que el valor de la suma est fuera del rango correspondiente a ese nmero de bits. Por ejemplo,si se pretende sumar los valores 57 y 102, ambos positivos, empleando una representacin de 8 bits, elresultado debera ser 159, valor que cae fuera del rango de la representacin con los 8 bits supuestos.Esto es algo inevitable; podra emplearse una representacin con 16 bits, pero lo nico que consegui-ramos sera elevar el listn donde se presentara el problema.

    En un ordenador, de hecho, el problema se presenta y lo nico que el ordenador puede hacer es avisaral programador de que se ha producido un resultado incorrecto para que ste tome las medidas queconsidere oportunas. Este fenmeno se conoce como desbordamiento (overflow, en ingls).

    Pero, cmo se puede detectar que se produce desbordamiento en una suma? La regla es muy sencilla:

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    41/167

    Sistemas de Representacin de la Informacin 41

    Estructura y Tecnologa de Computadores (Parte II)

    Si los dos sumandos tienen igual signo, el signo del resultado debe ser tambin el mismo,de lo contrario se produce desbordamiento y el resultado obtenido no es el correcto.

    Cuando los sumandos tienen signos diferentes, el resultado siempre es correcto.Veamos algunos ejemplos, por sencillez, siempre con 8 bits:

    Sumar 00110011y 01000111 (Figura 2.14, lado izquierdo)

    El resultado es 01111010. Como el signo de los dos sumandos es el mismo (positivo) y tam-bin el resultado tiene este mismo signo, el resultado es correcto.

    Puede observarse que el valor de los sumandos es 51 y 71, mientras que el valor de la suma es122, evidentemente correcto y dentro del rango de la representacin.

    Sumar 00110011y 01100000 (Figura 2.14, lado derecho)

    El resultado es 10010011. El signo del resultado es diferente al de los sumandos, lo que indica

    que se ha producido desbordamiento y que este resultado no es correcto. Qu ha ocurrido?Muy sencillo, el valor de los sumandos, ambos positivos, es 51 y 96; la suma debera ser 147,pero este valor cae fuera del ran go de la representacin con 8 bits. Por otra parte, se puede vercmo el resulta do obtenido es un nmero negativo (por comenzar por 1), con lo que es evi-dente que no puede ser correcto.

    Si se hubiese efectuado esta misma suma con 16 bits, el resultado s habra sido correcto; cabra en elrango de esa representacin.

    Figura 2.14

    Sumar 10001111y 11111101

    El resultado, despreciando el acarreo, es 10001100, el signo es el mismo que el de los dosoperandos (todos son negativos, al comenzar por) y, por tanto el resultado es correcto. Dehecho, se trata de los valores 113 y 3, cuya suma ( 116)cae dentro del rango.

    Veamos ahora algn ejemplo con nmeros de distinto signo.

    Sumar 11001101y 01000111(Figura 2.15, lado izquierdo)

    El resultado de la suma es, despreciando el acarreo como indican las reglas de la suma,00010100. Como los dos nmeros a sumar tienen signo diferente, el resultado es correcto sintener que atender a ninguna otra consideracin. El valor de los sumandos expresado en decimales, respectivamente, 51y + 71, siendo + 20el valor del resultado obtenido, que coincide,naturalmente, con el valor de la suma .

    1

    + 51 = 00110011

    111

    01011110+ 122

    = 01000111+ 71

    (+51) + (+71) (+51) + (+96)

    Correcto

    + 51 = 00110011= 01100000+ 96

    1100100+ 147

    11

    Signo nocambia

    Signocambia Error

    Nmeros conel mismo signo

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    42/167

    42 Sistemas de Representacin de la Informacin

    Estructura y Tecnologa de Computadores (Parte II)

    Sumar 00110011y 10100000 (Figura 2.15, lado derecho)

    Ahora el resultado de la suma es 11010011. En este caso no se ha producido acarreo. La ope-

    racin, en decimal, sumara los nmeros + 51y 96cuyo resultado ( 45) coincide con el ob-tenido.

    En resumen, cuando ambos nmeros tienen signo contrario, el resultado es siempre correcto. Puedeproducirse acarreo (en cuyo caso se desprecia) o no y el resultado puede ser tanto positivo como nega-tivo.

    Figura 2.15

    Resta en Complemento a 2

    Analicemos ahora la resta en C2.

    Para realizar la resta de dos nmeros cualesquiera expresados en C2,

    Deber hallarse el C2del sustraendo, y a continuacin

    Se sumar este nmero con el minuendo sin modificacin alguna y empleando las reglas de lasuma antes descritas.

    En realidad, lo que estamos haciendo en el primer paso es no es sino cambiar de signo el sustraendo,con lo que sumndolo al minuendo, evidentemente, obtendremos el valor de la resta deseada.

    Veamos ahora algn ejemplo.

    Efectuar la resta 01000111 00110011(Figura 2.16)

    Figura 2.16

    De acuerdo con las reglas, deberemos:

    1

    = 11001101111

    00101000+ 20

    = 01000111

    51

    + 71

    (51) + (+71) (+51) + (96)

    Correcto

    = 00110011

    = 10100000

    + 51

    96

    1100101 45

    1

    Correcto

    111Se desprecia

    Nmeros consigno distinto

    (+71) (+51)

    Signos diferentes, resultado correcto

    = 00110011+ 51 Se toma el sustraendo

    11001100 Se cambian 0s por 1s

    + 1 Se suma 111001101 Se tiene el C-2

    = 01000111+ 71 Se toma el minuendo00010100+ 20 Se suma normalmente

    51

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    43/167

    Sistemas de Representacin de la Informacin 43

    Estructura y Tecnologa de Computadores (Parte II)

    3.- Calcular el C2del sustraendo (00110011):tras intercambiar 0por 1y sumar 1, este C-2resulta ser 11001101.

    4.- Sumar este nmero con el minuendo (01000111).El resultado de esta suma es 00010100. Elacarreo producido en esta suma debe despreciarse.

    El resultado obtenido es correcto, puesto que los nmeros que se suman son de diferente signo. Dehecho, expresando en decimal los valores de esta operacin, estamos restando 71 51, cuyo resultadoes 20, que coincide con el obtenido.

    Efectuar la resta 10100111 00110011

    De acuerdo con las reglas, deberemos:

    5.- Calcular el C2del sustraendo. El mismo que en el primer caso: 11001101.

    6.- Sumar este nmero con el minuendo (10100111).El resultado de esta suma, despreciando elacarreo, es 01110100.

    El resultado obtenido es incorrecto, puesto que los nmeros que se suman tienen igual signo, mientrasque el resultado tiene signo diferente. Obsrvese que al aplicar las reglas de la suma debemos atender alos nmeros de esta suma y no a los de la resta inicial. En este caso, se pretende realizar la resta

    89 51,

    cuyo resultado es 140, valor que no coincide con el obtenido. La razn es clara: el valor 140nocabe, es decir, cae fuera del rango de la representacin en C2con 8 bits.

    Con las reglas mencionadas para efectuar la suma o la resta de valores expresados en C2podemosllegar a una conclusin muy interesante:

    Para efectuar cualquier suma o resta en C2, slo necesitamos realizar su-

    mas binarias.

    La consecuencia es muy importante, como veremos en temas posteriores, pues necesitaremos un nicotipo de circuito: el sumador, en lugar de precisar sumadores y restadores. (Desde luego, tambin se de-ber complementar el sustraendo antes de sumarlo al minuendo, pero, como veremos, sto resulta ex-tremadamente simple).

    Representacin en Exceso a 2n-1

    Con la representacinExceso a 2n-1, se representa en binario puro, sin signo, no el valor binario desea-do sino este valor incrementado en 2n-1, donde n es el nmero de bits empleado en la representacin(Figura 2.17).

    Figura 2.17

    No emplea bit de signo Es la representacin binaria del valordecimal ms 2N-1 (N = n de dgitosempleados)

    Ejemplo: +12 y -12 en exceso 2N-1 (8 bits)

    2N-1 = 28-1 =

    = 27= 128

    + 128 140 = 1 0 0 0 1 1 0 0

    116 = 0 1 1 1 0 1 0 0

    + 12 =

    + 128 12 =

  • 8/13/2019 56848202 ICAI Estructura y Tecnologia de Computadores

    44/167

    44 Sistemas de Representacin de la Informacin

    Estructura y Tecnologa de Computadores (Parte II)

    As, para representar el valor doce (con 8 bits) se suma a esta cantidad el valor 2n-1= 28-1 = 128y elresultado (140)se representa en binario puro, sin signo obtenindose 10001100.

    Si, desesemos representar el valor12, tras sumarle 128el valor a representar en binario sera el 116,que en binario puro es 01110100.

    Obsrvese que en este caso un 0al comienzo del nmero no significa que ste sea positivo, ni un 1significa que sea negativo. De hecho, ocurre exactamente lo contrario (con la excepcin del valor cero,que no puede considerarse ni positivo ni negativo y que se representa como 10000000). Adems, a di-ferencia de las representaciones analizadas anteriormente, ahora el primer bit interviene en el clculodel valor del nmero representado.

    Como veremos ms adelante en este mismo tema, esta representacin forma parte de la representacinen coma flotante empleada para el tratamiento de cantidades con valores absolutos muy grandes o muypequeos, utilizadas generalmente en clculos de naturaleza tcnica o cientfica.

    El rangode