24
Introducción a los fundamentos de los computadores A. Josep Velasco González PID_00163597

Introducción a los fundamentos de los computadoresopenaccess.uoc.edu/webapps/o2/bitstream/10609/12902/7/Fundamentos... · El objetivo de este módulo es presentar ... dentro de las

Embed Size (px)

Citation preview

  • Introduccin a los fundamentos de los computadoresA. Josep Velasco Gonzlez

    PID_00163597

  • CC-BY-SA PID_00163597 2 Introduccin a los fundamentos de los computadores

  • CC-BY-SA PID_00163597 Introduccin a los fundamentos de los computadores

    ndice

    Introduccin .......................................................................................... 5

    Objetivos ................................................................................................. 6

    1. El estudio de los fundamentos de los computadores ............... 71.1. Por qu estudiar los fundamentos de los computadores? ............ 7

    1.2. Qu tenemos que saber para entender los computadores? .......... 7

    1.2.1. Qu es la electrnica digital? ............................................. 8

    1.2.2. La codificacin de la informacin ...................................... 9

    1.2.3. Los sistemas digitales .......................................................... 10

    2. La evolucin de los computadores ................................................ 122.1. Primera generacin (1940-1955) .................................................... 13

    2.2. Segunda generacin (1955-1965) ................................................... 14

    2.3. Tercera generacin (1965-1970) ..................................................... 15

    2.4. Cuarta generacin (1970-) .............................................................. 15

    3. Cmo sn los computadores digitales actuales? ..................... 173.1. Arquitectura de Von Neuman ........................................................ 18

    3.2. La arquitectura de Harvard ............................................................. 20

    Resumen .................................................................................................... 21

    Bibliografa ............................................................................................ 23

  • CC-BY-SA PID_00163597 Introduccin a los fundamentos de los computadores

  • CC-BY-SA PID_00163597 5 Introduccin a los fundamentos de los computadores

    Introduccin

    Actualmente, el uso de los ordenadores est plenamente generalizado en nuestra

    sociedad. Los encontramos por todas partes. Se han convertido en una herra-

    mienta de la que conocemos un buen nmero de funcionalidades y a la que

    damos un montn de aplicaciones muy variadas para facilitar nuestro trabajo

    o mejorar nuestra calidad de vida.

    El xito de los computadores digitales deriva del hecho de que son mquinas

    de propsito general, que pueden ser programadas para casi cualquier tarea si

    se dispone de la interfaz adecuada. Puede ser, al mismo tiempo, una herra-

    mienta de trabajo y un dispositivo de ocio. La misma mquina puede llevar a

    cabo clculos sofisticados para hacer simulaciones de procesos, convertirse en

    una herramienta de precisin para dibujar planos o gestionar con eficiencia

    una base de datos compleja.

    En este mdulo presentamos la estructura bsica de los computadores actuales, la

    evolucin que han sufrido hasta llegar al estado actual y una introduccin a

    los conceptos que se irn desarrollando a lo largo de los mdulos siguientes,

    para entender en profundidad el funcionamiento de los computadores digitales.

  • CC-BY-SA PID_00163597 6 Introduccin a los fundamentos de los computadores

    Objetivos

    El objetivo de este mdulo es presentar la estructura bsica de un computador

    digital, poniendo de manifiesto los conocimientos que se trabajarn para en-

    tender en profundidad su funcionamiento y su diseo. Con este mdulo se

    persigue:

    1. Saber diferenciar entre la electrnica digital y la electrnica analgica.

    2. Entender que es posible codificar cualquier informacin con un conjunto

    reducido de smbolos, como 0 y 1.

    3. Conocer a grandes rasgos, la evolucin de los computadores y las mejoras

    tecnolgicas que han marcado cambios cualitativos profundos.

    4. Conocer la arquitectura bsica de un computador digital actual.

    Entender la estructura bsica de un computador digital es el objetivo final del

    curso. En este mdulo se describe la arquitectura de un computador a grandes

    rasgos. A lo largo de los mdulos siguientes se irn presentando conceptos,

    herramientas y metodologas para entender con profundidad el funcionamiento

    y la construccin de este tipo de mquinas.

  • CC-BY-SA PID_00163597 7 Introduccin a los fundamentos de los computadores

    1. El estudio de los fundamentos de los computadores

    1.1. Por qu estudiar los fundamentos de los computadores?

    Desde el principio nos podramos cuestionar la utilidad de analizar el funcio-

    namiento de los computadores. El argumento para ello puede ser que quere-

    mos utilizar los computadores slo como una herramienta, que en ltimo

    trmino seremos usuarios de las mquinas y que, como tales, el conocimiento

    de la organizacin interna del computador tiene poca utilidad. La conclusin

    sera que se trata de una materia que tiene inters para un nmero reducido

    de ingenieros, slo para aquellos que tienen en su horizonte trabajar en el desa-

    rrollo de procesadores.

    Sin embargo, el conocimiento de los principios de funcionamiento de los

    computadores es necesario tanto si nos dedicamos al desarrollo de aplicacio-

    nes, al anlisis de sistemas o al desarrollo de circuitera especfica. El desarrollo

    de aplicaciones optimizadas, requiere del conocimiento de los paradigmas b-

    sicos de funcionamiento de las mquinas donde se ejecutarn, y stas se ex-

    tienden en un abanico de aplicaciones que va desde los PLC industriales a la

    inteligencia artificial.

    Los computadores son sistemas digitales complejos. Entenderlos y conocer

    herramientas metodolgicas para su diseo y sntesis nos abre el camino al

    desarrollo de sistemas digitales especficos.

    No se trata slo de conocimientos de cultura general. Los conceptos bsicos

    del funcionamiento de los computadores son conocimientos necesarios para

    aquel que quiera que trabajar en el diseo de sistemas electrnicos, en la pro-

    gramacin de los mismos o en el desarrollo de aplicaciones especficas que re-

    quieran un cierto grado de optimizacin.

    1.2. Qu tenemos que saber para entender los computadores?

    Los computadores actuales son aparatos electrnicos. La electrnica, finalmente,

    trabaja con seales elctricas. Cmo podemos procesar la informacin del

    mundo que nos rodea mediante seales elctricas?

    Hemos de saber cmo se codifica la informacin que tenemos que procesar

    dentro de las mquinas. Tenemos que determinar cmo son los datos y cules

    son las limitaciones implcitas en las mquinas. La matemtica nos da herra-

    mientas para codificar adecuadamente la informacin que queremos almacenar

    o con la que queremos trabajar dentro de los computadores.

    PLC

    PLC es la sigla de programma-ble logic controller y se trata de un equipamiento electrni-co programable diseado para controlar procesos secuenciales en un entorno industrial.

  • CC-BY-SA PID_00163597 8 Introduccin a los fundamentos de los computadores

    Los computadores se basan en la electrnica digital. Sin embargo, qu es la

    electrnica digital? En qu se diferencia de la que no es digital? En definitiva,

    cules son las bases de funcionamiento de la tecnologa con la que se dise-

    an las mquinas digitales?

    Por otra parte, cmo podemos utilizar la electrnica digital para construir un

    computador digital? Tenemos que disponer de metodologas que, de manera

    organizada, nos permitan concebir sistemas digitales complejos, y en particular,

    concretarlo sobre la organizacin de un computador convencional.

    stos son los interrogantes a los que iremos dando respuesta a lo largo del curso,

    pero, a modo de introduccin, los apartados siguientes nos dan algunas

    pinceladas al respecto.

    1.2.1. Qu es la electrnica digital?

    En contraposicin, en la electrnica analgica las seales pueden variar de for-

    ma continua, es decir, no estn reducidas a un conjunto (pequeo) de valores

    diferentes. En una seal digital slo se diferencia entre el valor alto de tensin

    y el valor bajo de tensin, por ejemplo 0 V y 5 V. En cambio, una seal anal-

    gica puede registrar cualquier valor de tensin, 0,1 V o 0,2 V o 0,23 V o 2,35 V

    o 1,13 V o cualquier otro dentro de los mrgenes de funcionamiento, y cada

    valor se considera diferente.

    Las tecnologas actuales con las que se construyen los sistemas digitales (es de-

    cir, los dispositivos basados en la electrnica digital y los computadores en

    particular) trabajan especialmente bien cuando sobre las seales tan slo se

    identifican dos valores de tensin diferentes. Estos valores reciben denomina-

    ciones diferentes segn el mbito de trabajo, como verdad y falso o bien 0 y

    1 lgicos.

    Vivimos en un mundo analgico y nos parece natural registrar la informacin

    de manera analgica. Sin embargo, trabajar directamente con informacin

    analgica resulta poco prctico y nada adecuado si queremos procesar esta in-

    Se llama electrnica digital o discreta a la electrnica basada en seales

    sobre las que slo se identifica un conjunto finito de valores diferentes

    (habitualmente dos).

    v es el smbolo que identificala unidad de medida del voltaje,

    el voltio.

    Esto quiere decir que, como sistema digital, toda la informacin que

    deba procesar un computador tiene que estar codificada de forma ade-

    cuada, utilizando slo los dos valores de tensin posibles, lo que lla-

    mamos 0 y 1 lgicos.

  • CC-BY-SA PID_00163597 9 Introduccin a los fundamentos de los computadores

    formacin en un computador digital. Habr que disponer de mecanismos para

    digitalizar la informacin, es decir, para codificarla utilizando slo ceros y unos.

    1.2.2. La codificacin de la informacin

    Quizs no hayamos cado en la cuenta de que, en realidad, toda la informa-

    cin est siempre codificada de una manera u otra. Cuando escribimos, codi-

    ficamos la informacin en palabras que pueden estar compuestas por un

    conjunto de smbolos diferentes (las letras del abecedario). Cualquier valor

    numrico lo codificamos mediante un conjunto de smbolos que llamamos

    dgitos. Pues bien, los computadores digitales actuales gestionan informacin

    codificada utilizando los valores 0 y 1.

    La codificacin de los nmeros es la que conceptualmente resulta ms sencilla.

    De hecho, solo tenemos que entender una idea bsica: un valor numrico es

    un concepto abstracto, que tendr una representacin u otra segn el sistema

    de numeracin (es decir, segn el conjunto de reglas de codificacin) que

    utilicemos.a

    Dicho de esta forma, puede parecer un poco extrao, pero estamos muy acos-

    tumbrados a esta idea. Observemos la imagen siguiente:

    Unos pensaremos mesa, otros taula, otros table, etc. La imagen es la misma

    para todos, pero es posible que la tengamos asociada a palabras distintas, de

    hecho, con letras distintas y, si nuestra lengua es el rabe o el chino, con sig-

    nos distintos. Por lo tanto, estamos codificando esta informacin segn

    nuestro sistema de representacin.

    Con los nmeros pasa exactamente lo mismo. Un determinado valor numri-

    co es independiente del sistema de representacin que utilicemos. Para poder

    codificar los valores numricos slo con ceros y unos, tenemos que utilizar un

    sistema de numeracin adecuado, diferente al sistema decimal al que estamos

    acostumbrados.

    Todo parece indicar que, muy al inicio, para referirse por ejemplo a un con-

    junto de cinco ovejas, el hombre dibujaba literalmente cinco ovejas. Despus

    consigui separar el valor numrico del objeto, por ejemplo, dibujando una

  • CC-BY-SA PID_00163597 10 Introduccin a los fundamentos de los computadores

    nica oveja y cinco rayas o puntos o marcas de cualquier tipo. Con toda pro-

    babilidad aprendi a dar nombre a este valor numrico independiente del ob-

    jeto al que se aplicaba.

    No deba de ser nada prctico tener un nombre para cada valor numrico (de-

    masiados nombres a recordar), as que se empezaron a hacer grupos para faci-

    litar los recuentos de conjuntos grandes. Claro est que la cantidad de

    elementos de un grupo tena que ser fcil de recordar, especialmente cuando el

    sistema se extendi para trabajar con grupos de grupos. En este asunto, la ana-

    toma humana ha tenido bastante que ver y, por este motivo, los grupos que

    ms se adoptaron fueron los de cinco, los de diez y los de veinte, coincidiendo

    con el nmero de dedos de una mano, de dos manos o de manos y pies.

    De entre stas, la base 10 ha salido ganadora (quizs por la aparicin del cal-

    zado, quin sabe) y la idea de grupos de grupos acab desembocando en un

    sistema de numeracin posicional como el que tenemos ahora, donde la posi-

    cin que ocupa un dgito est asociada a un grupo de grupos (decimos un peso),

    lo que facilit enormemente el desarrollo de la aritmtica.

    Pues bien, dentro de los computadores tenemos que adaptar el sistema de

    numeracin a su propia anatoma. Trabajan utilizando seales sobre las

    que diferencian dos niveles de tensin. Por lo tanto, tendremos que utilizar

    un sistema de numeracin en base 2. Adems, cambiar el sistema de nume-

    racin conlleva cambios en la manera de calcular el resultado de las opera-

    ciones aritmticas. Es decir, el concepto de suma es independiente del

    sistema de numeracin, pero la forma de hacer la suma depende de la forma

    como representemos los nmeros.

    Todas estas cuestiones se tratan en el segundo mdulo, donde se analiza nuestro

    sistema de numeracin y se adapta a las caractersticas de las mquinas, adems

    de identificar las limitaciones propias de las mquinas.

    1.2.3. Los sistemas digitales

    Hemos hecho una introduccin al concepto de electrnica digital. Habr que

    ver, sin embargo, qu es lo que la hace atractiva, adecuada para el procesa-

    miento de informacin, cules son las herramientas que nos permiten cons-

    truir circuitos complejos para el procesamiento de informacin y, en ltimo

    trmino, computadores digitales de propsito general.

    Conceptualmente, la electrnica digital es la electrnica de los nmeros. Aqu,

    las seales elctricas representan nmeros. Son fciles de codificar y resistentes

    a la degradacin con una codificacin adecuada. En los sistemas analgicos,

    que trabajan con ondas, la informacin est contenida en la forma de la onda,

    que se puede degradar fcilmente y que, por lo tanto, es susceptible de perder

  • CC-BY-SA PID_00163597 11 Introduccin a los fundamentos de los computadores

    informacin con facilidad, adems de requerir circuitera especfica para cada

    aplicacin.

    Intentar construir o entender el funcionamiento de circuitos digitales comple-

    jos, como los computadores, es una tarea inviable si no se dispone de las he-

    rramientas y de las metodologas que permitan sistematizar, en cierta medida,

    la construccin de sistemas digitales complejos. En este sentido, se establece

    una diferenciacin importante entre los circuitos digitales combinacionales y

    los circuitos digitales secuenciales, es decir, entre los circuitos con capacidad

    de memoria (los segundos) y los que no la tienen (los primeros).

    El mdulo 3, dedicado a los circuitos combinacionales, y el mdulo 4, donde

    se trabajan los circuitos secuenciales, se encargan de hacer una introduccin a

    los sistemas digitales y a las herramientas que nos ayudan en su concepcin y

    anlisis.

    Los dos apartados siguientes de este mdulo introductorio estn dedicados al

    computador digital. En el primero encontraris una descripcin del camino

    que se ha seguido desde los primeros ingenios de clculo hasta los computa-

    dores actuales. Se describen caractersticas y tcnicas que han ido apareciendo

    a lo largo de los aos y que se acumulan en los ordenadores actuales. En el se-

    gundo apartado se muestra la arquitectura bsica de los computadores actua-

    les. El mdulo 5 est dedicado a un anlisis de la arquitectura bsica que aqu

    se describe.

  • CC-BY-SA PID_00163597 12 Introduccin a los fundamentos de los computadores

    2. La evolucin de los computadores

    Desde hace siglos, se ha perseguido una mejora en el procesamiento de infor-

    macin, especialmente, en clculos aritmticos, para lo cual se ha utilizado la

    tecnologa existente en cada momento. Los primeros intentos dieron lugar a

    toda una serie de ingenios mecnicos, bsicos como el baco, o realmente

    elaborados y complejos como la mquina diferencial de Charles Babbage.

    Mquina analtica de Charles Babbage

    Fuente: Bettman Archive

    Charles Babbage (1791-1871) ocupa un lugar especialmente destacado en la

    historia de la computacin por la concepcin de la mquina analtica que in-

    corpora por primera vez el concepto de mquina dirigida por un programa ex-

    terno. El diseo de la mquina analtica inclua una memoria (mecnica), una

    unidad de procesamiento, una unidad de control (constituida por barriles

    similares a los cilindros de las cajas de msica), una entrada de datos (inspira-

    da en las tarjetas perforadas del telar de Jacquard) y salida por impresin (si-

    milar a la mquina de escribir).

    El descubrimiento de la energa elctrica permiti el desarrollo de mquinas

    electromecnicas que incluan lectores de tarjetas y procesamiento con con-

    mutadores. De entre este tipo de mquinas destaca la mquina tabuladora de

    Herman Hollerith (1860-1929), que fue escogida para ayudar en el censo de

    los Estados Unidos en el ao 1890. El censo manual tardaba cerca de 10 aos,

    pero con la mquina tabuladora, que lea y procesaba (bsicamente contaba)

    las tarjetas perforadas diseadas al efecto, el tiempo se redujo a menos de 3

    aos. Herman Hollerith es considerado el primer informtico, el primero en

    hacer un tratamiento automatizado de la informacin.

  • CC-BY-SA PID_00163597 13 Introduccin a los fundamentos de los computadores

    Mquina tabuladora de Herman Hollerith

    Creative CommonsAttribution 2.0 GenericFuente: http://en.wikipedia.org

    Las mquinas electromecnicas llegaron a convertirse en los primeros compu-

    tadores digitales. Konrad Zuse (1910-1995) concibi la Z1, que dispona de

    memoria mecnica binaria, la Z2, que realizaba el procesamiento a partir de

    rels y mejoras que se convirtieron en las Z3 y Z4. George Stibitz (1904-1995)

    concibi computadores de rels para los laboratorios Bell, y Howard Aiken

    (1900-1973) es el responsable de la serie Mark para la Universidad de Harvard.

    stas fueron las primeras mquinas desarrolladas con propsito comercial.

    La revolucin electrnica en la computacin se inicia durante la Segunda Gue-

    rra Mundial. El conflicto blico haba animado el desarrollo de dispositivos

    electrnicos, y las experiencias en mquinas electromecnicas hicieron que

    enseguida se viera la aplicacin de estos dispositivos a la computacin.

    La era de los computadores electrnicos se divide en cuatro generaciones aten-

    diendo a los progresos en la tecnologa. Los saltos generacionales vienen de-

    terminados por cambios tecnolgicos. Dentro de cada generacin aparecen

    diferentes tcnicas o conceptos que se han convertido en esenciales para los

    computadores actuales.

    2.1. Primera generacin (1940-1955)

    Esta primera generacin est marcada por el uso de vlvulas de vaco y la in-

    troduccin de la tecnologa de anillos de ferrita para la memoria. Son compu-

    tadores de esta primera generacin:

    ENIAC. J. Mauchly; J. P. Eckert (1941-1945). Electronic Numerical Integrator

    And Computer. Moore School of Engineering (Pennsylvania U.). Este inge-

    nio constaba de 18.000 vlvulas de vaco, 70.000 resistencias y 10.000 con-

    densadores. Ocupaba un espacio de 100 m2, pesaba 30 tm y tena un

    consumo de 140 kw/h.

    Consumo ENIAC

    Para valorar el consumo elctri-co del computador ENIAC (140 kw/h) lo podemos com-parar con un electrodomstico de consumo elevado: el consu-mo de un horno elctrico est en torno a los 2 kw/h.

    http://en.wikipedia.org/wiki/en:Creative_Commons" \o "w:en:Creative Commonshttp://creativecommons.org/licenses/by/2.0/deed.en
  • CC-BY-SA PID_00163597 14 Introduccin a los fundamentos de los computadores

    EDVAC (1952!). Electronic Discrete Variable Automatic Computer, de dimen-

    siones ms reducidas que el ENIAC. Es especial porque es la mquina sobre

    la que J. Von Neumann en 1945 escribi su First Draw of a Report on the ED-

    VAC, en la Moore School, el primer documento donde se describe el con-

    cepto de programa almacenado, que forma parte de la base de los

    computadores actuales. Tambin es de destacar el uso, por primera vez, de

    la aritmtica binaria, en detrimento de la decimal.

    UNIVAC (1951). Universal Automatic Computer. Ecker-Mauchly Company.

    Con 5.400 vlvulas y 1.000 palabras de memoria presenta la caracterstica

    de programa parcialmente almacenado.

    Programacin del ENIAC. Imagen bajo dominio pblico

    Fuente: http://es.wikipedia.org

    2.2. Segunda generacin (1955-1965)

    El paso a la segunda generacin viene marcado por la utilizacin de los transis-

    tores en sustitucin de las vlvulas de vaco. Son mquinas de esta generacin:

    PDP-1 de DEC, aparecida en 1960, que presenta por primera vez un termi-

    nal grfico. Sobre esta mquina corri el primer videojuego.

    IBM 7030. Esta mquina de 1961 incorpora la idea de segmentacin de

    memoria y de memoria virtual, tcnicas con las que se consigui mejorar

    sensiblemente la capacidad, la gestin y el rendimiento de la memoria.

    ATLAS de Ferranti Ltd. & U. Manchester, 1962. Se trata de uno de los primeros

    supercomputadores. Tecnolgicamente destaca por la incorporacin del uso

    de lo que se denominan interrupciones para controlar los perifricos.

  • CC-BY-SA PID_00163597 15 Introduccin a los fundamentos de los computadores

    CDC 6600. S. Cray. Control Fecha Corp., 1964. Con una velocidad de

    clculo de 1 megaFLOPS (un milln de operaciones de coma flotante

    por segundo) conseguida gracias al paralelismo de las unidades de clculo,

    ostent el ttulo de mquina ms rpida entre 1964 y 1969.

    2.3. Tercera generacin (1965-1970)

    La aparicin de los primeros circuitos integrados marca el final de la segunda

    generacin de computadores y el inicio de la tercera. Los circuitos integrados

    aportan una reduccin de espacio significativa, una reduccin importante del

    consumo y un aumento de la fiabilidad, que da lugar a la aparicin de los pri-

    meros minicomputadores. De esta generacin podemos destacar:

    IBM 360, 1964. Inicia la primera serie de computadores compatibles

    (seis en total), es decir, que podan utilizar el mismo software y los mismos

    perifricos.

    DEC PDP/8, 1965. Primer minicomputador de xito comercial. Como

    innovaciones presentaba circuitos lgicos en mdulos integrados (chips)

    y un conjunto de lneas de conexin en paralelo para interconectar los

    mdulos: el bus.

    IBM 360/85, 1968. Es la primera en incorporar el concepto de memoria ca-

    ch, tcnica que reduce enormemente el tiempo de acceso a la memoria y que

    se ha convertido en un elemento central de los sistemas actuales.

    2.4. Cuarta generacin (1970-)

    Las mejoras en el proceso de fabricacin de circuitos integrados conducen a

    un aumento considerable de la densidad de integracin. Es este aumento en

    la densidad de integracin lo que permite integrar todos los circuitos de la

    unidad central de proceso en un nico chip: nacen los microprocesadores,

    el primero de los cuales es el Intel 4004 en 1971.

    La cuarta generacin se inicia con el desarrollo de este microprocesador. Al

    mismo tiempo, y debido tambin a las mejoras en los procesos de fabricacin

    de circuitos integrados, se abandonan las memorias de ferritas y se incorporan

    las memorias de semiconductores. El campo de los computadores personales

    est sembrado, y pronto germina:

    Altair 8800, 1975. Se considera el primer computador personal.

    Supercomputador Cray 1, 1976. Incorpora por primera vez el procesa-

    miento paralelo.

  • CC-BY-SA PID_00163597 16 Introduccin a los fundamentos de los computadores

    IBM PC, 1981. Con el microprocesador Intel 8086 y el sistema operativo

    Microsoft DOS marca el inicio de la revolucin de la computacin personal.

    Lisa (Apple), 1983. Incorpora un nuevo dispositivo revolucionario, el ratn

    y una interfaz de usuario grfico (estilo Windows).

    IBM PC

    Creative CommonsGenrica de Atribucin/Compartir-Igual 3.0Fuente: http://es.wikipedia.org

    http://en.wikipedia.org/wiki/es:Creative_Commons" \o "w:es:Creative Commonshttp://creativecommons.org/licenses/by-sa/3.0/deed.es
  • CC-BY-SA PID_00163597 17 Introduccin a los fundamentos de los computadores

    3. Cmo sn los computadores digitales actuales?

    Un computador digital es un computador que trabaja con datos numricos,

    cuya interpretacin depende del formato con que se est trabajando, codifi-

    cados todos ellos en un sistema de numeracin en base 2, es decir, basado en

    seales binarias, seales sobre las que podemos identificar slo dos valores

    distintos.a

    El concepto de computador es, en principio, independiente de la tecnologa

    utilizada para construirlo. Es cierto, sin embargo, que en la actualidad los com-

    putadores digitales se basan en la electrnica digital y que, por lo tanto, un

    computador digital es un sistema digital complejo.

    La complejidad que rodea un computador digital hace inviable su concepcin

    sin una estructura y organizacin en mdulos diferenciados con tareas y fun-

    cionalidades bien definidas. La estructura general de un computador digital es

    la que se representa de forma esquemtica en la figura 1, donde el sentido de

    las flechas indica el flujo de informacin. Podramos definir la ecuacin de

    funcionamiento de la forma siguiente:

    Datos de entrada + procesamiento = resultado (datos de salida)

    Figura 1. Estructura general de un computador

    En trminos generales, un computador es un dispositivo construido

    con el propsito de manipular o transformar informacin para conse-

    guir una informacin ms elaborada, como por ejemplo, el resultado de

    un problema determinado.

  • CC-BY-SA PID_00163597 18 Introduccin a los fundamentos de los computadores

    Los dispositivos de entrada y los de salida claramente constituyen elemen-

    tos de conversin de la informacin entre el mundo analgico que nos rodea

    y el mundo digital en el que trabaja el procesador. Los dispositivos de entrada/

    salida, mayoritariamente, estn constituidos por dispositivos para almacenar

    informacin digital, en uno u otro formato, pero informacin digital que el

    procesador puede recuperar.

    El procesador est constituido por una unidad central de proceso (CPU,

    Central Process Unit) y una memoria ntimamente relacionada con l (figura 2).

    Figura 2. Arquitectura general de un procesador

    La unidad central de proceso es realmente la encargada de procesar los datos

    de acuerdo con el programa establecido, y se organiza en dos grandes bloques,

    como se muestra en la figura 3, la unidad de control y la unidad de proceso

    o camino de datos.

    Figura 3. Estructura de una CPU

    La unidad de proceso rene los recursos de clculo, y la unidad de control es

    la encargada de dar las rdenes en la secuencia correcta a la unidad de proceso

    para realizar las operaciones que establece el programa en ejecucin.

    3.1. Arquitectura de Von Neuman

    Se conoce por este nombre la arquitectura que implementan los computado-

    res actuales y que se describe por primera vez en un documento escrito por

    John Von Neumann (1903-1957) como colaborador en el proyecto EDVAC, de

    donde toma el nombre.

  • CC-BY-SA PID_00163597 19 Introduccin a los fundamentos de los computadores

    La caracterstica distintiva es que se trata de una arquitectura en la que tanto

    los datos como el programa se almacenan en la memoria principal, que est

    ligada directamente a la CPU. El concepto de programa almacenado difiere ra-

    dicalmente del tipo de programacin que se practicaba en los computadores

    precedentes, y que se basaba en la modificacin de los circuitos electrnicos.

    Esta arquitectura es la base de los computadores modernos, en los que pode-

    mos identificar estas dos caractersticas:

    1) Programa almacenado. Tanto los datos como las instrucciones del progra-

    ma a ejecutar se encuentran en la memoria principal del computador. De este

    hecho se derivan dos consecuencias. Por una parte, esta caracterstica dota al

    computador de una amplia generalidad. De la otra, la comunicacin entre la

    memoria y la CPU se convierte en crtica y constituye un verdadero cuello de

    botella en el rendimiento de la mquina.

    2) Unidad de control (relativamente) simple. En esta arquitectura, la

    unidad de control no se tiene que ocupar de ejecutar todo el programa,

    sino que hace de manera iterativa una nica tarea: el ciclo de ejecucin de

    instrucciones.

    Figura 4. Arquitectura de Von Neumann

    Con un procesador de este tipo, la estructura bsica de un computador digital

    es la que aparece en la figura 5.

    Figura 5. Arquitectura de un computador tipo Von Neumann

  • CC-BY-SA PID_00163597 20 Introduccin a los fundamentos de los computadores

    3.2. La arquitectura de Harvard

    La arquitectura de Von Neumann tiene en s misma dos grandes limitaciones.

    Por una parte, el acceso a memoria es un punto crtico y limita el rendimiento

    de los sistemas basados en este tipo de arquitectura. Por otra parte, lleva im-

    plcita la idea de la ejecucin secuencial, es decir, de la ejecucin de una nica

    instruccin al mismo tiempo, lo cual limita las posibilidades de ejecucin en

    paralelo.

    De las llamadas arquitecturas no Von Neumann podemos destacar la arquitec-

    tura de Harvard. La caracterstica principal de esta arquitectura es que dispone

    de una memoria dedicada al programa y una segunda memoria para los datos.

    Esta diferencia ayuda a corregir la limitacin que supone el acceso a memoria,

    ya que permite hacer operaciones con la memoria de datos mientras se accede

    a la memoria de programa. Por otra parte, tambin limita la posibilidad de la

    automodificacin de los programas, que si bien desde el primer momento fue

    un aliciente en la arquitectura de Von Neumann, ha llegado a convertirse en

    un problema.

    El uso de la arquitectura de Harvard se ha extendido en el campo de los micro-

    controladores y de la electrnica distribuida. Su estructura general la podemos

    ver reflejada en la figura 6.

    Figura 6. Arquitectura de Harvard

    Automodificacin del cdigo

    La automodificacin del cdi-go (la capacidad de un progra-ma para cambiarse a s mismo) ha sido uno de los recursos que se ha aprovechado para elabo-rar cdigo malintencionado como los virus.

  • CC-BY-SA PID_00163597 21 Introduccin a los fundamentos de los computadores

    Resumen

    En este mdulo se hace una introduccin a los conceptos que se trabajan a lo

    largo de los mdulos siguientes: la codificacin adecuada de la informacin

    para interpretarla y tratarla dentro de los computadores, la tecnologa con la

    que se construyen los sistemas digitales en general y la arquitectura bsica de

    los computadores.

    Los computadores actuales se presentan como el resultado de una evolucin

    que se ha llevado a cabo a lo largo de los aos, partiendo de la arquitectura

    bsica fijada en la primera generacin de computadores, con la incorporacin

    del concepto de programa almacenado, y se enumeran los principales cambios

    tecnolgicos que han permitido mejorar el rendimiento de las mquinas hasta

    el momento actual.

    Se dedica un apartado a describir con ms detalle la arquitectura bsica de los

    computadores digitales, indicando la relacin entre los dispositivos de entra-

    da, el procesador y los dispositivos de salida. Al mismo tiempo, se muestran

    los elementos constitutivos del procesador: la CPU y la memoria.

  • CC-BY-SA PID_00163597 23 Introduccin a los fundamentos de los computadores

    BibliografaAugarten, S. (1984). Bit by Bit. An Illustrated History of Computers. Nueva York: Ticknor &Fields

    Ceruzi, P. E. (1998). A History of Modern Computing. Massachussets: The MIT Press.

    Williams, M. R. (1997). History of Computing Technology. Los Alamitos, CA: IEEE ComputerSociety Press.

  • Introduccin a los fundamentos de los computadoresndiceIntroduccinObjetivos1. El estudio de los fundamentos de los computadores1.1. Por qu estudiar los fundamentos de los computadores?1.2. Qu tenemos que saber para entender los computadores?1.2.1. Qu es la electrnica digital?1.2.2. La codificacin de la informacin1.2.3. Los sistemas digitales2. La evolucin de los computadores2.1. Primera generacin (1940-1955)2.2. Segunda generacin (1955-1965)2.3. Tercera generacin (1965-1970)2.4. Cuarta generacin (1970-)3. Cmo sn los computadores digitales actuales?3.1. Arquitectura de Von Neuman3.2. La arquitectura de HarvardBibliografa