Introducción a los fundamentos de los...

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

Transcript of Introducción a los fundamentos de los...

Introduccioacuten a los fundamentos de los computadoresA Josep Velasco Gonzaacutelez

PID_00163597

CC-BY-SA bull PID_00163597 2 Introduccioacuten a los fundamentos de los computadores

CC-BY-SA bull PID_00163597 Introduccioacuten a los fundamentos de los computadores

Iacutendice

Introduccioacuten 5

Objetivos 6

1 El estudio de los fundamentos de los computadores 7

11 iquestPor queacute estudiar los fundamentos de los computadores 7

12 iquestQueacute tenemos que saber para entender los computadores 7

121 iquestQueacute es la electroacutenica digital 8

122 La codificacioacuten de la informacioacuten 9

123 Los sistemas digitales 10

2 La evolucioacuten de los computadores 12

21 Primera generacioacuten (1940-1955) 13

22 Segunda generacioacuten (1955-1965) 14

23 Tercera generacioacuten (1965-1970) 15

24 Cuarta generacioacuten (1970-) 15

3 iquestCoacutemo soacuten los computadores digitales actuales 17

31 Arquitectura de Von Neuman 18

32 La arquitectura de Harvard 20

Resumen 21

Bibliografiacutea 23

CC-BY-SA bull PID_00163597 Introduccioacuten a los fundamentos de los computadores

CC-BY-SA bull PID_00163597 5 Introduccioacuten a los fundamentos de los computadores

Introduccioacuten

Actualmente el uso de los ordenadores estaacute plenamente generalizado en nuestra

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

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

damos un montoacuten de aplicaciones muy variadas para facilitar nuestro trabajo

o mejorar nuestra calidad de vida

El eacutexito de los computadores digitales deriva del hecho de que son maacutequinas

de propoacutesito 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 maacutequina puede llevar a

cabo caacutelculos sofisticados para hacer simulaciones de procesos convertirse en

una herramienta de precisioacuten para dibujar planos o gestionar con eficiencia

una base de datos compleja

En este moacutedulo presentamos la estructura baacutesica de los computadores actuales la

evolucioacuten que han sufrido hasta llegar al estado actual y una introduccioacuten a

los conceptos que se iraacuten desarrollando a lo largo de los moacutedulos siguientes

para entender en profundidad el funcionamiento de los computadores digitales

CC-BY-SA bull PID_00163597 6 Introduccioacuten a los fundamentos de los computadores

Objetivos

El objetivo de este moacutedulo es presentar la estructura baacutesica de un computador

digital poniendo de manifiesto los conocimientos que se trabajaraacuten para en-

tender en profundidad su funcionamiento y su disentildeo Con este moacutedulo se

persigue

1 Saber diferenciar entre la electroacutenica digital y la electroacutenica analoacutegica

2 Entender que es posible codificar cualquier informacioacuten con un conjunto

reducido de siacutembolos como 0 y 1

3 Conocer a grandes rasgos la evolucioacuten de los computadores y las mejoras

tecnoloacutegicas que han marcado cambios cualitativos profundos

4 Conocer la arquitectura baacutesica de un computador digital actual

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

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

rasgos A lo largo de los moacutedulos siguientes se iraacuten presentando conceptos

herramientas y metodologiacuteas para entender con profundidad el funcionamiento

y la construccioacuten de este tipo de maacutequinas

CC-BY-SA bull PID_00163597 7 Introduccioacuten a los fundamentos de los computadores

1 El estudio de los fundamentos de los computadores

11 iquestPor queacute estudiar los fundamentos de los computadores

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

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

mos utilizar los computadores soacutelo como una herramienta que en uacuteltimo

teacutermino seremos usuarios de las maacutequinas y que como tales el conocimiento

de la organizacioacuten interna del computador tiene poca utilidad La conclusioacuten

seriacutea que se trata de una materia que tiene intereacutes para un nuacutemero reducido

de ingenieros soacutelo 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 anaacutelisis de sistemas o al desarrollo de circuiteriacutea especiacutefica El desarrollo

de aplicaciones optimizadas requiere del conocimiento de los paradigmas baacute-

sicos de funcionamiento de las maacutequinas donde se ejecutaraacuten y eacutestas 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 metodoloacutegicas para su disentildeo y siacutentesis nos abre el camino al

desarrollo de sistemas digitales especiacuteficos

No se trata soacutelo de conocimientos de cultura general Los conceptos baacutesicos

del funcionamiento de los computadores son conocimientos necesarios para

aquel que quiera que trabajar en el disentildeo de sistemas electroacutenicos en la pro-

gramacioacuten de los mismos o en el desarrollo de aplicaciones especiacuteficas que re-

quieran un cierto grado de optimizacioacuten

12 iquestQueacute tenemos que saber para entender los computadores

Los computadores actuales son aparatos electroacutenicos La electroacutenica finalmente

trabaja con sentildeales eleacutectricas iquestCoacutemo podemos procesar la informacioacuten del

mundo que nos rodea mediante sentildeales eleacutectricas

Hemos de saber coacutemo se codifica la informacioacuten que tenemos que procesar

dentro de las maacutequinas Tenemos que determinar coacutemo son los datos y cuaacuteles

son las limitaciones impliacutecitas en las maacutequinas La matemaacutetica nos da herra-

mientas para codificar adecuadamente la informacioacuten 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 electroacuteni-co programable disentildeado para controlar procesos secuenciales en un entorno industrial

CC-BY-SA bull PID_00163597 8 Introduccioacuten a los fundamentos de los computadores

Los computadores se basan en la electroacutenica digital Sin embargo iquestqueacute es la

electroacutenica digital iquestEn queacute se diferencia de la que no es digital En definitiva

iquestcuaacuteles son las bases de funcionamiento de la tecnologiacutea con la que se dise-

ntildean las maacutequinas digitales

Por otra parte iquestcoacutemo podemos utilizar la electroacutenica digital para construir un

computador digital Tenemos que disponer de metodologiacuteas que de manera

organizada nos permitan concebir sistemas digitales complejos y en particular

concretarlo sobre la organizacioacuten de un computador convencional

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

pero a modo de introduccioacuten los apartados siguientes nos dan algunas

pinceladas al respecto

121 iquestQueacute es la electroacutenica digital

En contraposicioacuten en la electroacutenica analoacutegica las sentildeales pueden variar de for-

ma continua es decir no estaacuten reducidas a un conjunto (pequentildeo) de valores

diferentes En una sentildeal digital soacutelo se diferencia entre el valor alto de tensioacuten

y el valor bajo de tensioacuten por ejemplo 0 V y 5 V En cambio una sentildeal analoacute-

gica puede registrar cualquier valor de tensioacuten 01 V o 02 V o 023 V o 235 V

o 113 V o cualquier otro dentro de los maacutergenes de funcionamiento y cada

valor se considera diferente

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

cir los dispositivos basados en la electroacutenica digital y los computadores en

particular) trabajan especialmente bien cuando sobre las sentildeales tan soacutelo se

identifican dos valores de tensioacuten diferentes Estos valores reciben denomina-

ciones diferentes seguacuten el aacutembito de trabajo como verdad y falso o bien 0 y

1 loacutegicos

Vivimos en un mundo analoacutegico y nos parece natural registrar la informacioacuten

de manera analoacutegica Sin embargo trabajar directamente con informacioacuten

analoacutegica resulta poco praacutectico y nada adecuado si queremos procesar esta in-

Se llama electroacutenica digital o discreta a la electroacutenica basada en sentildeales

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

(habitualmente dos)

v es el siacutembolo que identificala unidad de medida del voltaje

el voltio

Esto quiere decir que como sistema digital toda la informacioacuten que

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

cuada utilizando soacutelo los dos valores de tensioacuten posibles lo que lla-

mamos 0 y 1 loacutegicos

CC-BY-SA bull PID_00163597 9 Introduccioacuten a los fundamentos de los computadores

formacioacuten en un computador digital Habraacute que disponer de mecanismos para

digitalizar la informacioacuten es decir para codificarla utilizando soacutelo ceros y unos

122 La codificacioacuten de la informacioacuten

Quizaacutes no hayamos caiacutedo en la cuenta de que en realidad toda la informa-

cioacuten estaacute siempre codificada de una manera u otra Cuando escribimos codi-

ficamos la informacioacuten en palabras que pueden estar compuestas por un

conjunto de siacutembolos diferentes (las letras del abecedario) Cualquier valor

numeacuterico lo codificamos mediante un conjunto de siacutembolos que llamamos

diacutegitos Pues bien los computadores digitales actuales gestionan informacioacuten

codificada utilizando los valores 0 y 1

La codificacioacuten de los nuacutemeros es la que conceptualmente resulta maacutes sencilla

De hecho solo tenemos que entender una idea baacutesica un valor numeacuterico es

un concepto abstracto que tendraacute una representacioacuten u otra seguacuten el sistema

de numeracioacuten (es decir seguacuten el conjunto de reglas de codificacioacuten) que

utilicemosa

Dicho de esta forma puede parecer un poco extrantildeo 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 aacuterabe o el chino con sig-

nos distintos Por lo tanto estamos codificando esta informacioacuten seguacuten

nuestro sistema de representacioacuten

Con los nuacutemeros pasa exactamente lo mismo Un determinado valor numeacuteri-

co es independiente del sistema de representacioacuten que utilicemos Para poder

codificar los valores numeacutericos soacutelo con ceros y unos tenemos que utilizar un

sistema de numeracioacuten 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 Despueacutes

consiguioacute separar el valor numeacuterico del objeto por ejemplo dibujando una

CC-BY-SA bull PID_00163597 10 Introduccioacuten a los fundamentos de los computadores

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

babilidad aprendioacute a dar nombre a este valor numeacuterico independiente del ob-

jeto al que se aplicaba

No debiacutea de ser nada praacutectico tener un nombre para cada valor numeacuterico (de-

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

litar los recuentos de conjuntos ldquograndesrdquo Claro estaacute que la cantidad de

elementos de un grupo teniacutea que ser faacutecil de recordar especialmente cuando el

sistema se extendioacute para trabajar con grupos de grupos En este asunto la ana-

tomiacutea humana ha tenido bastante que ver y por este motivo los ldquogruposrdquo que

maacutes se adoptaron fueron los de cinco los de diez y los de veinte coincidiendo

con el nuacutemero de dedos de una mano de dos manos o de manos y pies

De entre eacutestas la base 10 ha salido ganadora (quizaacutes por la aparicioacuten del cal-

zado quieacuten sabe) y la idea de grupos de grupos acaboacute desembocando en un

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

cioacuten que ocupa un diacutegito estaacute asociada a un grupo de grupos (decimos un peso)

lo que facilitoacute enormemente el desarrollo de la aritmeacutetica

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

numeracioacuten a su propia ldquoanatomiacuteardquo Trabajan utilizando sentildeales sobre las

que diferencian dos niveles de tensioacuten Por lo tanto tendremos que utilizar

un sistema de numeracioacuten en base 2 Ademaacutes cambiar el sistema de nume-

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

ciones aritmeacuteticas Es decir el concepto de suma es independiente del

sistema de numeracioacuten pero la forma de hacer la suma depende de la forma

como representemos los nuacutemeros

Todas estas cuestiones se tratan en el segundo moacutedulo donde se analiza nuestro

sistema de numeracioacuten y se adapta a las caracteriacutesticas de las maacutequinas ademaacutes

de identificar las limitaciones propias de las maacutequinas

123 Los sistemas digitales

Hemos hecho una introduccioacuten al concepto de electroacutenica digital Habraacute que

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

miento de informacioacuten cuaacuteles son las herramientas que nos permiten cons-

truir circuitos complejos para el procesamiento de informacioacuten y en uacuteltimo

teacutermino computadores digitales de propoacutesito general

Conceptualmente la electroacutenica digital es la electroacutenica de los nuacutemeros Aquiacute

las sentildeales eleacutectricas representan nuacutemeros Son faacuteciles de codificar y resistentes

a la degradacioacuten con una codificacioacuten adecuada En los sistemas analoacutegicos

que trabajan con ondas la informacioacuten estaacute contenida en la forma de la onda

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

CC-BY-SA bull PID_00163597 11 Introduccioacuten a los fundamentos de los computadores

informacioacuten con facilidad ademaacutes de requerir circuiteriacutea especiacutefica para cada

aplicacioacuten

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 metodologiacuteas que permitan sistematizar en cierta medida

la construccioacuten de sistemas digitales complejos En este sentido se establece

una diferenciacioacuten 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 moacutedulo 3 dedicado a los circuitos combinacionales y el moacutedulo 4 donde

se trabajan los circuitos secuenciales se encargan de hacer una introduccioacuten a

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

anaacutelisis

Los dos apartados siguientes de este moacutedulo introductorio estaacuten dedicados al

computador digital En el primero encontrareacuteis una descripcioacuten del camino

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

dores actuales Se describen caracteriacutesticas y teacutecnicas que han ido apareciendo

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

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

les El moacutedulo 5 estaacute dedicado a un anaacutelisis de la arquitectura baacutesica que aquiacute

se describe

CC-BY-SA bull PID_00163597 12 Introduccioacuten a los fundamentos de los computadores

2 La evolucioacuten de los computadores

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

macioacuten especialmente en caacutelculos aritmeacuteticos para lo cual se ha utilizado la

tecnologiacutea existente en cada momento Los primeros intentos dieron lugar a

toda una serie de ingenios mecaacutenicos baacutesicos como el aacutebaco o realmente

elaborados y complejos como la maacutequina diferencial de Charles Babbage

Maacutequina analiacutetica de Charles Babbage

Fuente Bettman Archive

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

historia de la computacioacuten por la concepcioacuten de la maacutequina analiacutetica que in-

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

terno El disentildeo de la maacutequina analiacutetica incluiacutea una memoria (mecaacutenica) una

unidad de procesamiento una unidad de control (constituida por ldquobarrilesrdquo

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

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

milar a la maacutequina de escribir)

El descubrimiento de la energiacutea eleacutectrica permitioacute el desarrollo de maacutequinas

electromecaacutenicas que incluiacutean lectores de tarjetas y procesamiento con con-

mutadores De entre este tipo de maacutequinas destaca la maacutequina tabuladora de

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

los Estados Unidos en el antildeo 1890 El censo manual tardaba cerca de 10 antildeos

pero con la maacutequina tabuladora que leiacutea y procesaba (baacutesicamente contaba)

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

antildeos Herman Hollerith es considerado el primer informaacutetico el primero en

hacer un tratamiento automatizado de la informacioacuten

CC-BY-SA bull PID_00163597 13 Introduccioacuten a los fundamentos de los computadores

Maacutequina tabuladora de Herman Hollerith

Creative CommonsAttribution 20 GenericFuente httpenwikipediaorg

Las maacutequinas electromecaacutenicas llegaron a convertirse en los primeros compu-

tadores digitales Konrad Zuse (1910-1995) concibioacute la Z1 que disponiacutea de

memoria mecaacutenica binaria la Z2 que realizaba el procesamiento a partir de

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

concibioacute computadores de releacutes para los laboratorios Bell y Howard Aiken

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

Eacutestas fueron las primeras maacutequinas desarrolladas con propoacutesito comercial

La revolucioacuten electroacutenica en la computacioacuten se inicia durante la Segunda Gue-

rra Mundial El conflicto beacutelico habiacutea animado el desarrollo de dispositivos

electroacutenicos y las experiencias en maacutequinas electromecaacutenicas hicieron que

enseguida se viera la aplicacioacuten de estos dispositivos a la computacioacuten

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

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

terminados por cambios tecnoloacutegicos Dentro de cada generacioacuten aparecen

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

computadores actuales

21 Primera generacioacuten (1940-1955)

Esta primera generacioacuten estaacute marcada por el uso de vaacutelvulas de vaciacuteo y la in-

troduccioacuten de la tecnologiacutea de anillos de ferrita para la memoria Son compu-

tadores de esta primera generacioacuten

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

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

nio constaba de 18000 vaacutelvulas de vaciacuteo 70000 resistencias y 10000 con-

densadores Ocupaba un espacio de 100 m2 pesaba 30 tm y teniacutea un

consumo de 140 kwh

Consumo ENIAC

Para valorar el consumo eleacutectri-co del computador ENIAC (140 kwh) lo podemos com-parar con un electrodomeacutestico de consumo elevado el consu-mo de un horno eleacutectrico estaacute en torno a los 2 kwh

CC-BY-SA bull PID_00163597 14 Introduccioacuten a los fundamentos de los computadores

bull EDVAC (1952) Electronic Discrete Variable Automatic Computer de dimen-

siones maacutes reducidas que el ENIAC Es especial porque es la maacutequina sobre

la que J Von Neumann en 1945 escribioacute 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 Tambieacuten es de destacar el uso por primera vez de

la aritmeacutetica binaria en detrimento de la decimal

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

Con 5400 vaacutelvulas y 1000 palabras de memoria presenta la caracteriacutestica

de programa parcialmente almacenado

Programacioacuten del ENIAC Imagen bajo dominio puacuteblico

Fuente httpeswikipediaorg

22 Segunda generacioacuten (1955-1965)

El paso a la segunda generacioacuten viene marcado por la utilizacioacuten de los transis-

tores en sustitucioacuten de las vaacutelvulas de vaciacuteo Son maacutequinas de esta generacioacuten

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

nal graacutefico Sobre esta maacutequina corrioacute el primer videojuego

bull IBM 7030 Esta maacutequina de 1961 incorpora la idea de segmentacioacuten de

memoria y de memoria virtual teacutecnicas con las que se consiguioacute mejorar

sensiblemente la capacidad la gestioacuten y el rendimiento de la memoria

bull ATLAS de Ferranti Ltd amp U Manchester 1962 Se trata de uno de los primeros

supercomputadores Tecnoloacutegicamente destaca por la incorporacioacuten del uso

de lo que se denominan interrupciones para controlar los perifeacutericos

CC-BY-SA bull PID_00163597 15 Introduccioacuten a los fundamentos de los computadores

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

caacutelculo de 1 megaFLOPS (un milloacuten de operaciones de coma flotante

por segundo) conseguida gracias al paralelismo de las unidades de caacutelculo

ostentoacute el tiacutetulo de maacutequina maacutes raacutepida entre 1964 y 1969

23 Tercera generacioacuten (1965-1970)

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

generacioacuten de computadores y el inicio de la tercera Los circuitos integrados

aportan una reduccioacuten de espacio significativa una reduccioacuten importante del

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

meros minicomputadores De esta generacioacuten podemos destacar

bull IBM 360 1964 Inicia la primera serie de computadores compatibles

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

perifeacutericos

bull DEC PDP8 1965 Primer minicomputador de eacutexito comercial Como

innovaciones presentaba circuitos loacutegicos en moacutedulos integrados (chips)

y un conjunto de liacuteneas de conexioacuten en paralelo para interconectar los

moacutedulos el bus

bull IBM 36085 1968 Es la primera en incorporar el concepto de memoria ca-

cheacute teacutecnica que reduce enormemente el tiempo de acceso a la memoria y que

se ha convertido en un elemento central de los sistemas actuales

24 Cuarta generacioacuten (1970-)

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

un aumento considerable de la densidad de integracioacuten Es este aumento en

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

unidad central de proceso en un uacutenico chip nacen los microprocesadores

el primero de los cuales es el Intel 4004 en 1971

La cuarta generacioacuten se inicia con el desarrollo de este microprocesador Al

mismo tiempo y debido tambieacuten a las mejoras en los procesos de fabricacioacuten

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

las memorias de semiconductores El campo de los computadores personales

estaacute sembrado y pronto germina

bull Altair 8800 1975 Se considera el primer computador personal

bull Supercomputador Cray 1 1976 Incorpora por primera vez el procesa-

miento paralelo

CC-BY-SA bull PID_00163597 16 Introduccioacuten a los fundamentos de los computadores

bull IBM PC 1981 Con el microprocesador Intel 8086 y el sistema operativo

Microsoft DOS marca el inicio de la revolucioacuten de la computacioacuten personal

bull Lisa (Apple) 1983 Incorpora un nuevo dispositivo revolucionario el ratoacuten

y una interfaz de usuario graacutefico (estilo Windows)

IBM PC

Creative CommonsGeneacuterica de AtribucioacutenCompartir-Igual 30Fuente httpeswikipediaorg

CC-BY-SA bull PID_00163597 17 Introduccioacuten a los fundamentos de los computadores

3 iquestCoacutemo soacuten los computadores digitales actuales

Un computador digital es un computador que trabaja con datos numeacutericos

cuya interpretacioacuten depende del formato con que se esteacute trabajando codifi-

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

sentildeales binarias sentildeales sobre las que podemos identificar soacutelo dos valores

distintosa

El concepto de computador es en principio independiente de la tecnologiacutea

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

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

computador digital es un sistema digital complejo

La complejidad que rodea un computador digital hace inviable su concepcioacuten

sin una estructura y organizacioacuten en moacutedulos diferenciados con tareas y fun-

cionalidades bien definidas La estructura general de un computador digital es

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

las flechas indica el flujo de informacioacuten Podriacuteamos definir la ecuacioacuten de

funcionamiento de la forma siguiente

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

Figura 1 Estructura general de un computador

En teacuterminos generales un computador es un dispositivo construido

con el propoacutesito de manipular o transformar informacioacuten para conse-

guir una informacioacuten maacutes elaborada como por ejemplo el resultado de

un problema determinado

CC-BY-SA bull PID_00163597 18 Introduccioacuten a los fundamentos de los computadores

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

tos de conversioacuten de la informacioacuten entre el mundo analoacutegico que nos rodea

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

salida mayoritariamente estaacuten constituidos por dispositivos para almacenar

informacioacuten digital en uno u otro formato pero informacioacuten digital que el

procesador puede recuperar

El procesador estaacute constituido por una unidad central de proceso (CPU

Central Process Unit) y una memoria iacutentimamente relacionada con eacutel (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 reuacutene los recursos de caacutelculo y la unidad de control es

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

para realizar las operaciones que establece el programa en ejecucioacuten

31 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 bull PID_00163597 19 Introduccioacuten a los fundamentos de los computadores

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

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

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

dicalmente del tipo de programacioacuten que se practicaba en los computadores

precedentes y que se basaba en la modificacioacuten de los circuitos electroacutenicos

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

mos identificar estas dos caracteriacutesticas

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 caracteriacutestica dota al

computador de una amplia generalidad De la otra la comunicacioacuten entre la

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

botella en el rendimiento de la maacutequina

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 uacutenica tarea el ciclo de ejecucioacuten de

instrucciones

Figura 4 Arquitectura de Von Neumann

Con un procesador de este tipo la estructura baacutesica de un computador digital

es la que aparece en la figura 5

Figura 5 Arquitectura de un computador tipo Von Neumann

CC-BY-SA bull PID_00163597 20 Introduccioacuten a los fundamentos de los computadores

32 La arquitectura de Harvard

La arquitectura de Von Neumann tiene en siacute misma dos grandes limitaciones

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

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

pliacutecita la idea de la ejecucioacuten secuencial es decir de la ejecucioacuten de una uacutenica

instruccioacuten al mismo tiempo lo cual limita las posibilidades de ejecucioacuten en

paralelo

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

tura de Harvard La caracteriacutestica 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 limitacioacuten 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 tambieacuten limita la posibilidad de la

automodificacioacuten 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 electroacutenica distribuida Su estructura general la podemos

ver reflejada en la figura 6

Figura 6 Arquitectura de Harvard

Automodificacioacuten del coacutedigo

La automodificacioacuten del coacutedi-go (la capacidad de un progra-ma para cambiarse a siacute mismo) ha sido uno de los recursos que se ha aprovechado para elabo-rar coacutedigo malintencionado como los virus

CC-BY-SA bull PID_00163597 21 Introduccioacuten a los fundamentos de los computadores

Resumen

En este moacutedulo se hace una introduccioacuten a los conceptos que se trabajan a lo

largo de los moacutedulos siguientes la codificacioacuten adecuada de la informacioacuten

para interpretarla y tratarla dentro de los computadores la tecnologiacutea con la

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

los computadores

Los computadores actuales se presentan como el resultado de una evolucioacuten

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

baacutesica fijada en la primera generacioacuten de computadores con la incorporacioacuten

del concepto de programa almacenado y se enumeran los principales cambios

tecnoloacutegicos que han permitido mejorar el rendimiento de las maacutequinas hasta

el momento actual

Se dedica un apartado a describir con maacutes detalle la arquitectura baacutesica de los

computadores digitales indicando la relacioacuten 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 bull PID_00163597 23 Introduccioacuten a los fundamentos de los computadores

Bibliografiacutea

Augarten S (1984) Bit by Bit An Illustrated History of Computers Nueva York Ticknor ampFields

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

CC-BY-SA bull PID_00163597 2 Introduccioacuten a los fundamentos de los computadores

CC-BY-SA bull PID_00163597 Introduccioacuten a los fundamentos de los computadores

Iacutendice

Introduccioacuten 5

Objetivos 6

1 El estudio de los fundamentos de los computadores 7

11 iquestPor queacute estudiar los fundamentos de los computadores 7

12 iquestQueacute tenemos que saber para entender los computadores 7

121 iquestQueacute es la electroacutenica digital 8

122 La codificacioacuten de la informacioacuten 9

123 Los sistemas digitales 10

2 La evolucioacuten de los computadores 12

21 Primera generacioacuten (1940-1955) 13

22 Segunda generacioacuten (1955-1965) 14

23 Tercera generacioacuten (1965-1970) 15

24 Cuarta generacioacuten (1970-) 15

3 iquestCoacutemo soacuten los computadores digitales actuales 17

31 Arquitectura de Von Neuman 18

32 La arquitectura de Harvard 20

Resumen 21

Bibliografiacutea 23

CC-BY-SA bull PID_00163597 Introduccioacuten a los fundamentos de los computadores

CC-BY-SA bull PID_00163597 5 Introduccioacuten a los fundamentos de los computadores

Introduccioacuten

Actualmente el uso de los ordenadores estaacute plenamente generalizado en nuestra

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

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

damos un montoacuten de aplicaciones muy variadas para facilitar nuestro trabajo

o mejorar nuestra calidad de vida

El eacutexito de los computadores digitales deriva del hecho de que son maacutequinas

de propoacutesito 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 maacutequina puede llevar a

cabo caacutelculos sofisticados para hacer simulaciones de procesos convertirse en

una herramienta de precisioacuten para dibujar planos o gestionar con eficiencia

una base de datos compleja

En este moacutedulo presentamos la estructura baacutesica de los computadores actuales la

evolucioacuten que han sufrido hasta llegar al estado actual y una introduccioacuten a

los conceptos que se iraacuten desarrollando a lo largo de los moacutedulos siguientes

para entender en profundidad el funcionamiento de los computadores digitales

CC-BY-SA bull PID_00163597 6 Introduccioacuten a los fundamentos de los computadores

Objetivos

El objetivo de este moacutedulo es presentar la estructura baacutesica de un computador

digital poniendo de manifiesto los conocimientos que se trabajaraacuten para en-

tender en profundidad su funcionamiento y su disentildeo Con este moacutedulo se

persigue

1 Saber diferenciar entre la electroacutenica digital y la electroacutenica analoacutegica

2 Entender que es posible codificar cualquier informacioacuten con un conjunto

reducido de siacutembolos como 0 y 1

3 Conocer a grandes rasgos la evolucioacuten de los computadores y las mejoras

tecnoloacutegicas que han marcado cambios cualitativos profundos

4 Conocer la arquitectura baacutesica de un computador digital actual

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

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

rasgos A lo largo de los moacutedulos siguientes se iraacuten presentando conceptos

herramientas y metodologiacuteas para entender con profundidad el funcionamiento

y la construccioacuten de este tipo de maacutequinas

CC-BY-SA bull PID_00163597 7 Introduccioacuten a los fundamentos de los computadores

1 El estudio de los fundamentos de los computadores

11 iquestPor queacute estudiar los fundamentos de los computadores

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

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

mos utilizar los computadores soacutelo como una herramienta que en uacuteltimo

teacutermino seremos usuarios de las maacutequinas y que como tales el conocimiento

de la organizacioacuten interna del computador tiene poca utilidad La conclusioacuten

seriacutea que se trata de una materia que tiene intereacutes para un nuacutemero reducido

de ingenieros soacutelo 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 anaacutelisis de sistemas o al desarrollo de circuiteriacutea especiacutefica El desarrollo

de aplicaciones optimizadas requiere del conocimiento de los paradigmas baacute-

sicos de funcionamiento de las maacutequinas donde se ejecutaraacuten y eacutestas 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 metodoloacutegicas para su disentildeo y siacutentesis nos abre el camino al

desarrollo de sistemas digitales especiacuteficos

No se trata soacutelo de conocimientos de cultura general Los conceptos baacutesicos

del funcionamiento de los computadores son conocimientos necesarios para

aquel que quiera que trabajar en el disentildeo de sistemas electroacutenicos en la pro-

gramacioacuten de los mismos o en el desarrollo de aplicaciones especiacuteficas que re-

quieran un cierto grado de optimizacioacuten

12 iquestQueacute tenemos que saber para entender los computadores

Los computadores actuales son aparatos electroacutenicos La electroacutenica finalmente

trabaja con sentildeales eleacutectricas iquestCoacutemo podemos procesar la informacioacuten del

mundo que nos rodea mediante sentildeales eleacutectricas

Hemos de saber coacutemo se codifica la informacioacuten que tenemos que procesar

dentro de las maacutequinas Tenemos que determinar coacutemo son los datos y cuaacuteles

son las limitaciones impliacutecitas en las maacutequinas La matemaacutetica nos da herra-

mientas para codificar adecuadamente la informacioacuten 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 electroacuteni-co programable disentildeado para controlar procesos secuenciales en un entorno industrial

CC-BY-SA bull PID_00163597 8 Introduccioacuten a los fundamentos de los computadores

Los computadores se basan en la electroacutenica digital Sin embargo iquestqueacute es la

electroacutenica digital iquestEn queacute se diferencia de la que no es digital En definitiva

iquestcuaacuteles son las bases de funcionamiento de la tecnologiacutea con la que se dise-

ntildean las maacutequinas digitales

Por otra parte iquestcoacutemo podemos utilizar la electroacutenica digital para construir un

computador digital Tenemos que disponer de metodologiacuteas que de manera

organizada nos permitan concebir sistemas digitales complejos y en particular

concretarlo sobre la organizacioacuten de un computador convencional

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

pero a modo de introduccioacuten los apartados siguientes nos dan algunas

pinceladas al respecto

121 iquestQueacute es la electroacutenica digital

En contraposicioacuten en la electroacutenica analoacutegica las sentildeales pueden variar de for-

ma continua es decir no estaacuten reducidas a un conjunto (pequentildeo) de valores

diferentes En una sentildeal digital soacutelo se diferencia entre el valor alto de tensioacuten

y el valor bajo de tensioacuten por ejemplo 0 V y 5 V En cambio una sentildeal analoacute-

gica puede registrar cualquier valor de tensioacuten 01 V o 02 V o 023 V o 235 V

o 113 V o cualquier otro dentro de los maacutergenes de funcionamiento y cada

valor se considera diferente

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

cir los dispositivos basados en la electroacutenica digital y los computadores en

particular) trabajan especialmente bien cuando sobre las sentildeales tan soacutelo se

identifican dos valores de tensioacuten diferentes Estos valores reciben denomina-

ciones diferentes seguacuten el aacutembito de trabajo como verdad y falso o bien 0 y

1 loacutegicos

Vivimos en un mundo analoacutegico y nos parece natural registrar la informacioacuten

de manera analoacutegica Sin embargo trabajar directamente con informacioacuten

analoacutegica resulta poco praacutectico y nada adecuado si queremos procesar esta in-

Se llama electroacutenica digital o discreta a la electroacutenica basada en sentildeales

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

(habitualmente dos)

v es el siacutembolo que identificala unidad de medida del voltaje

el voltio

Esto quiere decir que como sistema digital toda la informacioacuten que

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

cuada utilizando soacutelo los dos valores de tensioacuten posibles lo que lla-

mamos 0 y 1 loacutegicos

CC-BY-SA bull PID_00163597 9 Introduccioacuten a los fundamentos de los computadores

formacioacuten en un computador digital Habraacute que disponer de mecanismos para

digitalizar la informacioacuten es decir para codificarla utilizando soacutelo ceros y unos

122 La codificacioacuten de la informacioacuten

Quizaacutes no hayamos caiacutedo en la cuenta de que en realidad toda la informa-

cioacuten estaacute siempre codificada de una manera u otra Cuando escribimos codi-

ficamos la informacioacuten en palabras que pueden estar compuestas por un

conjunto de siacutembolos diferentes (las letras del abecedario) Cualquier valor

numeacuterico lo codificamos mediante un conjunto de siacutembolos que llamamos

diacutegitos Pues bien los computadores digitales actuales gestionan informacioacuten

codificada utilizando los valores 0 y 1

La codificacioacuten de los nuacutemeros es la que conceptualmente resulta maacutes sencilla

De hecho solo tenemos que entender una idea baacutesica un valor numeacuterico es

un concepto abstracto que tendraacute una representacioacuten u otra seguacuten el sistema

de numeracioacuten (es decir seguacuten el conjunto de reglas de codificacioacuten) que

utilicemosa

Dicho de esta forma puede parecer un poco extrantildeo 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 aacuterabe o el chino con sig-

nos distintos Por lo tanto estamos codificando esta informacioacuten seguacuten

nuestro sistema de representacioacuten

Con los nuacutemeros pasa exactamente lo mismo Un determinado valor numeacuteri-

co es independiente del sistema de representacioacuten que utilicemos Para poder

codificar los valores numeacutericos soacutelo con ceros y unos tenemos que utilizar un

sistema de numeracioacuten 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 Despueacutes

consiguioacute separar el valor numeacuterico del objeto por ejemplo dibujando una

CC-BY-SA bull PID_00163597 10 Introduccioacuten a los fundamentos de los computadores

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

babilidad aprendioacute a dar nombre a este valor numeacuterico independiente del ob-

jeto al que se aplicaba

No debiacutea de ser nada praacutectico tener un nombre para cada valor numeacuterico (de-

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

litar los recuentos de conjuntos ldquograndesrdquo Claro estaacute que la cantidad de

elementos de un grupo teniacutea que ser faacutecil de recordar especialmente cuando el

sistema se extendioacute para trabajar con grupos de grupos En este asunto la ana-

tomiacutea humana ha tenido bastante que ver y por este motivo los ldquogruposrdquo que

maacutes se adoptaron fueron los de cinco los de diez y los de veinte coincidiendo

con el nuacutemero de dedos de una mano de dos manos o de manos y pies

De entre eacutestas la base 10 ha salido ganadora (quizaacutes por la aparicioacuten del cal-

zado quieacuten sabe) y la idea de grupos de grupos acaboacute desembocando en un

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

cioacuten que ocupa un diacutegito estaacute asociada a un grupo de grupos (decimos un peso)

lo que facilitoacute enormemente el desarrollo de la aritmeacutetica

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

numeracioacuten a su propia ldquoanatomiacuteardquo Trabajan utilizando sentildeales sobre las

que diferencian dos niveles de tensioacuten Por lo tanto tendremos que utilizar

un sistema de numeracioacuten en base 2 Ademaacutes cambiar el sistema de nume-

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

ciones aritmeacuteticas Es decir el concepto de suma es independiente del

sistema de numeracioacuten pero la forma de hacer la suma depende de la forma

como representemos los nuacutemeros

Todas estas cuestiones se tratan en el segundo moacutedulo donde se analiza nuestro

sistema de numeracioacuten y se adapta a las caracteriacutesticas de las maacutequinas ademaacutes

de identificar las limitaciones propias de las maacutequinas

123 Los sistemas digitales

Hemos hecho una introduccioacuten al concepto de electroacutenica digital Habraacute que

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

miento de informacioacuten cuaacuteles son las herramientas que nos permiten cons-

truir circuitos complejos para el procesamiento de informacioacuten y en uacuteltimo

teacutermino computadores digitales de propoacutesito general

Conceptualmente la electroacutenica digital es la electroacutenica de los nuacutemeros Aquiacute

las sentildeales eleacutectricas representan nuacutemeros Son faacuteciles de codificar y resistentes

a la degradacioacuten con una codificacioacuten adecuada En los sistemas analoacutegicos

que trabajan con ondas la informacioacuten estaacute contenida en la forma de la onda

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

CC-BY-SA bull PID_00163597 11 Introduccioacuten a los fundamentos de los computadores

informacioacuten con facilidad ademaacutes de requerir circuiteriacutea especiacutefica para cada

aplicacioacuten

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 metodologiacuteas que permitan sistematizar en cierta medida

la construccioacuten de sistemas digitales complejos En este sentido se establece

una diferenciacioacuten 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 moacutedulo 3 dedicado a los circuitos combinacionales y el moacutedulo 4 donde

se trabajan los circuitos secuenciales se encargan de hacer una introduccioacuten a

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

anaacutelisis

Los dos apartados siguientes de este moacutedulo introductorio estaacuten dedicados al

computador digital En el primero encontrareacuteis una descripcioacuten del camino

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

dores actuales Se describen caracteriacutesticas y teacutecnicas que han ido apareciendo

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

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

les El moacutedulo 5 estaacute dedicado a un anaacutelisis de la arquitectura baacutesica que aquiacute

se describe

CC-BY-SA bull PID_00163597 12 Introduccioacuten a los fundamentos de los computadores

2 La evolucioacuten de los computadores

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

macioacuten especialmente en caacutelculos aritmeacuteticos para lo cual se ha utilizado la

tecnologiacutea existente en cada momento Los primeros intentos dieron lugar a

toda una serie de ingenios mecaacutenicos baacutesicos como el aacutebaco o realmente

elaborados y complejos como la maacutequina diferencial de Charles Babbage

Maacutequina analiacutetica de Charles Babbage

Fuente Bettman Archive

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

historia de la computacioacuten por la concepcioacuten de la maacutequina analiacutetica que in-

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

terno El disentildeo de la maacutequina analiacutetica incluiacutea una memoria (mecaacutenica) una

unidad de procesamiento una unidad de control (constituida por ldquobarrilesrdquo

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

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

milar a la maacutequina de escribir)

El descubrimiento de la energiacutea eleacutectrica permitioacute el desarrollo de maacutequinas

electromecaacutenicas que incluiacutean lectores de tarjetas y procesamiento con con-

mutadores De entre este tipo de maacutequinas destaca la maacutequina tabuladora de

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

los Estados Unidos en el antildeo 1890 El censo manual tardaba cerca de 10 antildeos

pero con la maacutequina tabuladora que leiacutea y procesaba (baacutesicamente contaba)

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

antildeos Herman Hollerith es considerado el primer informaacutetico el primero en

hacer un tratamiento automatizado de la informacioacuten

CC-BY-SA bull PID_00163597 13 Introduccioacuten a los fundamentos de los computadores

Maacutequina tabuladora de Herman Hollerith

Creative CommonsAttribution 20 GenericFuente httpenwikipediaorg

Las maacutequinas electromecaacutenicas llegaron a convertirse en los primeros compu-

tadores digitales Konrad Zuse (1910-1995) concibioacute la Z1 que disponiacutea de

memoria mecaacutenica binaria la Z2 que realizaba el procesamiento a partir de

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

concibioacute computadores de releacutes para los laboratorios Bell y Howard Aiken

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

Eacutestas fueron las primeras maacutequinas desarrolladas con propoacutesito comercial

La revolucioacuten electroacutenica en la computacioacuten se inicia durante la Segunda Gue-

rra Mundial El conflicto beacutelico habiacutea animado el desarrollo de dispositivos

electroacutenicos y las experiencias en maacutequinas electromecaacutenicas hicieron que

enseguida se viera la aplicacioacuten de estos dispositivos a la computacioacuten

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

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

terminados por cambios tecnoloacutegicos Dentro de cada generacioacuten aparecen

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

computadores actuales

21 Primera generacioacuten (1940-1955)

Esta primera generacioacuten estaacute marcada por el uso de vaacutelvulas de vaciacuteo y la in-

troduccioacuten de la tecnologiacutea de anillos de ferrita para la memoria Son compu-

tadores de esta primera generacioacuten

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

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

nio constaba de 18000 vaacutelvulas de vaciacuteo 70000 resistencias y 10000 con-

densadores Ocupaba un espacio de 100 m2 pesaba 30 tm y teniacutea un

consumo de 140 kwh

Consumo ENIAC

Para valorar el consumo eleacutectri-co del computador ENIAC (140 kwh) lo podemos com-parar con un electrodomeacutestico de consumo elevado el consu-mo de un horno eleacutectrico estaacute en torno a los 2 kwh

CC-BY-SA bull PID_00163597 14 Introduccioacuten a los fundamentos de los computadores

bull EDVAC (1952) Electronic Discrete Variable Automatic Computer de dimen-

siones maacutes reducidas que el ENIAC Es especial porque es la maacutequina sobre

la que J Von Neumann en 1945 escribioacute 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 Tambieacuten es de destacar el uso por primera vez de

la aritmeacutetica binaria en detrimento de la decimal

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

Con 5400 vaacutelvulas y 1000 palabras de memoria presenta la caracteriacutestica

de programa parcialmente almacenado

Programacioacuten del ENIAC Imagen bajo dominio puacuteblico

Fuente httpeswikipediaorg

22 Segunda generacioacuten (1955-1965)

El paso a la segunda generacioacuten viene marcado por la utilizacioacuten de los transis-

tores en sustitucioacuten de las vaacutelvulas de vaciacuteo Son maacutequinas de esta generacioacuten

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

nal graacutefico Sobre esta maacutequina corrioacute el primer videojuego

bull IBM 7030 Esta maacutequina de 1961 incorpora la idea de segmentacioacuten de

memoria y de memoria virtual teacutecnicas con las que se consiguioacute mejorar

sensiblemente la capacidad la gestioacuten y el rendimiento de la memoria

bull ATLAS de Ferranti Ltd amp U Manchester 1962 Se trata de uno de los primeros

supercomputadores Tecnoloacutegicamente destaca por la incorporacioacuten del uso

de lo que se denominan interrupciones para controlar los perifeacutericos

CC-BY-SA bull PID_00163597 15 Introduccioacuten a los fundamentos de los computadores

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

caacutelculo de 1 megaFLOPS (un milloacuten de operaciones de coma flotante

por segundo) conseguida gracias al paralelismo de las unidades de caacutelculo

ostentoacute el tiacutetulo de maacutequina maacutes raacutepida entre 1964 y 1969

23 Tercera generacioacuten (1965-1970)

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

generacioacuten de computadores y el inicio de la tercera Los circuitos integrados

aportan una reduccioacuten de espacio significativa una reduccioacuten importante del

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

meros minicomputadores De esta generacioacuten podemos destacar

bull IBM 360 1964 Inicia la primera serie de computadores compatibles

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

perifeacutericos

bull DEC PDP8 1965 Primer minicomputador de eacutexito comercial Como

innovaciones presentaba circuitos loacutegicos en moacutedulos integrados (chips)

y un conjunto de liacuteneas de conexioacuten en paralelo para interconectar los

moacutedulos el bus

bull IBM 36085 1968 Es la primera en incorporar el concepto de memoria ca-

cheacute teacutecnica que reduce enormemente el tiempo de acceso a la memoria y que

se ha convertido en un elemento central de los sistemas actuales

24 Cuarta generacioacuten (1970-)

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

un aumento considerable de la densidad de integracioacuten Es este aumento en

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

unidad central de proceso en un uacutenico chip nacen los microprocesadores

el primero de los cuales es el Intel 4004 en 1971

La cuarta generacioacuten se inicia con el desarrollo de este microprocesador Al

mismo tiempo y debido tambieacuten a las mejoras en los procesos de fabricacioacuten

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

las memorias de semiconductores El campo de los computadores personales

estaacute sembrado y pronto germina

bull Altair 8800 1975 Se considera el primer computador personal

bull Supercomputador Cray 1 1976 Incorpora por primera vez el procesa-

miento paralelo

CC-BY-SA bull PID_00163597 16 Introduccioacuten a los fundamentos de los computadores

bull IBM PC 1981 Con el microprocesador Intel 8086 y el sistema operativo

Microsoft DOS marca el inicio de la revolucioacuten de la computacioacuten personal

bull Lisa (Apple) 1983 Incorpora un nuevo dispositivo revolucionario el ratoacuten

y una interfaz de usuario graacutefico (estilo Windows)

IBM PC

Creative CommonsGeneacuterica de AtribucioacutenCompartir-Igual 30Fuente httpeswikipediaorg

CC-BY-SA bull PID_00163597 17 Introduccioacuten a los fundamentos de los computadores

3 iquestCoacutemo soacuten los computadores digitales actuales

Un computador digital es un computador que trabaja con datos numeacutericos

cuya interpretacioacuten depende del formato con que se esteacute trabajando codifi-

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

sentildeales binarias sentildeales sobre las que podemos identificar soacutelo dos valores

distintosa

El concepto de computador es en principio independiente de la tecnologiacutea

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

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

computador digital es un sistema digital complejo

La complejidad que rodea un computador digital hace inviable su concepcioacuten

sin una estructura y organizacioacuten en moacutedulos diferenciados con tareas y fun-

cionalidades bien definidas La estructura general de un computador digital es

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

las flechas indica el flujo de informacioacuten Podriacuteamos definir la ecuacioacuten de

funcionamiento de la forma siguiente

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

Figura 1 Estructura general de un computador

En teacuterminos generales un computador es un dispositivo construido

con el propoacutesito de manipular o transformar informacioacuten para conse-

guir una informacioacuten maacutes elaborada como por ejemplo el resultado de

un problema determinado

CC-BY-SA bull PID_00163597 18 Introduccioacuten a los fundamentos de los computadores

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

tos de conversioacuten de la informacioacuten entre el mundo analoacutegico que nos rodea

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

salida mayoritariamente estaacuten constituidos por dispositivos para almacenar

informacioacuten digital en uno u otro formato pero informacioacuten digital que el

procesador puede recuperar

El procesador estaacute constituido por una unidad central de proceso (CPU

Central Process Unit) y una memoria iacutentimamente relacionada con eacutel (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 reuacutene los recursos de caacutelculo y la unidad de control es

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

para realizar las operaciones que establece el programa en ejecucioacuten

31 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 bull PID_00163597 19 Introduccioacuten a los fundamentos de los computadores

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

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

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

dicalmente del tipo de programacioacuten que se practicaba en los computadores

precedentes y que se basaba en la modificacioacuten de los circuitos electroacutenicos

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

mos identificar estas dos caracteriacutesticas

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 caracteriacutestica dota al

computador de una amplia generalidad De la otra la comunicacioacuten entre la

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

botella en el rendimiento de la maacutequina

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 uacutenica tarea el ciclo de ejecucioacuten de

instrucciones

Figura 4 Arquitectura de Von Neumann

Con un procesador de este tipo la estructura baacutesica de un computador digital

es la que aparece en la figura 5

Figura 5 Arquitectura de un computador tipo Von Neumann

CC-BY-SA bull PID_00163597 20 Introduccioacuten a los fundamentos de los computadores

32 La arquitectura de Harvard

La arquitectura de Von Neumann tiene en siacute misma dos grandes limitaciones

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

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

pliacutecita la idea de la ejecucioacuten secuencial es decir de la ejecucioacuten de una uacutenica

instruccioacuten al mismo tiempo lo cual limita las posibilidades de ejecucioacuten en

paralelo

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

tura de Harvard La caracteriacutestica 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 limitacioacuten 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 tambieacuten limita la posibilidad de la

automodificacioacuten 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 electroacutenica distribuida Su estructura general la podemos

ver reflejada en la figura 6

Figura 6 Arquitectura de Harvard

Automodificacioacuten del coacutedigo

La automodificacioacuten del coacutedi-go (la capacidad de un progra-ma para cambiarse a siacute mismo) ha sido uno de los recursos que se ha aprovechado para elabo-rar coacutedigo malintencionado como los virus

CC-BY-SA bull PID_00163597 21 Introduccioacuten a los fundamentos de los computadores

Resumen

En este moacutedulo se hace una introduccioacuten a los conceptos que se trabajan a lo

largo de los moacutedulos siguientes la codificacioacuten adecuada de la informacioacuten

para interpretarla y tratarla dentro de los computadores la tecnologiacutea con la

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

los computadores

Los computadores actuales se presentan como el resultado de una evolucioacuten

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

baacutesica fijada en la primera generacioacuten de computadores con la incorporacioacuten

del concepto de programa almacenado y se enumeran los principales cambios

tecnoloacutegicos que han permitido mejorar el rendimiento de las maacutequinas hasta

el momento actual

Se dedica un apartado a describir con maacutes detalle la arquitectura baacutesica de los

computadores digitales indicando la relacioacuten 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 bull PID_00163597 23 Introduccioacuten a los fundamentos de los computadores

Bibliografiacutea

Augarten S (1984) Bit by Bit An Illustrated History of Computers Nueva York Ticknor ampFields

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

CC-BY-SA bull PID_00163597 Introduccioacuten a los fundamentos de los computadores

Iacutendice

Introduccioacuten 5

Objetivos 6

1 El estudio de los fundamentos de los computadores 7

11 iquestPor queacute estudiar los fundamentos de los computadores 7

12 iquestQueacute tenemos que saber para entender los computadores 7

121 iquestQueacute es la electroacutenica digital 8

122 La codificacioacuten de la informacioacuten 9

123 Los sistemas digitales 10

2 La evolucioacuten de los computadores 12

21 Primera generacioacuten (1940-1955) 13

22 Segunda generacioacuten (1955-1965) 14

23 Tercera generacioacuten (1965-1970) 15

24 Cuarta generacioacuten (1970-) 15

3 iquestCoacutemo soacuten los computadores digitales actuales 17

31 Arquitectura de Von Neuman 18

32 La arquitectura de Harvard 20

Resumen 21

Bibliografiacutea 23

CC-BY-SA bull PID_00163597 Introduccioacuten a los fundamentos de los computadores

CC-BY-SA bull PID_00163597 5 Introduccioacuten a los fundamentos de los computadores

Introduccioacuten

Actualmente el uso de los ordenadores estaacute plenamente generalizado en nuestra

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

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

damos un montoacuten de aplicaciones muy variadas para facilitar nuestro trabajo

o mejorar nuestra calidad de vida

El eacutexito de los computadores digitales deriva del hecho de que son maacutequinas

de propoacutesito 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 maacutequina puede llevar a

cabo caacutelculos sofisticados para hacer simulaciones de procesos convertirse en

una herramienta de precisioacuten para dibujar planos o gestionar con eficiencia

una base de datos compleja

En este moacutedulo presentamos la estructura baacutesica de los computadores actuales la

evolucioacuten que han sufrido hasta llegar al estado actual y una introduccioacuten a

los conceptos que se iraacuten desarrollando a lo largo de los moacutedulos siguientes

para entender en profundidad el funcionamiento de los computadores digitales

CC-BY-SA bull PID_00163597 6 Introduccioacuten a los fundamentos de los computadores

Objetivos

El objetivo de este moacutedulo es presentar la estructura baacutesica de un computador

digital poniendo de manifiesto los conocimientos que se trabajaraacuten para en-

tender en profundidad su funcionamiento y su disentildeo Con este moacutedulo se

persigue

1 Saber diferenciar entre la electroacutenica digital y la electroacutenica analoacutegica

2 Entender que es posible codificar cualquier informacioacuten con un conjunto

reducido de siacutembolos como 0 y 1

3 Conocer a grandes rasgos la evolucioacuten de los computadores y las mejoras

tecnoloacutegicas que han marcado cambios cualitativos profundos

4 Conocer la arquitectura baacutesica de un computador digital actual

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

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

rasgos A lo largo de los moacutedulos siguientes se iraacuten presentando conceptos

herramientas y metodologiacuteas para entender con profundidad el funcionamiento

y la construccioacuten de este tipo de maacutequinas

CC-BY-SA bull PID_00163597 7 Introduccioacuten a los fundamentos de los computadores

1 El estudio de los fundamentos de los computadores

11 iquestPor queacute estudiar los fundamentos de los computadores

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

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

mos utilizar los computadores soacutelo como una herramienta que en uacuteltimo

teacutermino seremos usuarios de las maacutequinas y que como tales el conocimiento

de la organizacioacuten interna del computador tiene poca utilidad La conclusioacuten

seriacutea que se trata de una materia que tiene intereacutes para un nuacutemero reducido

de ingenieros soacutelo 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 anaacutelisis de sistemas o al desarrollo de circuiteriacutea especiacutefica El desarrollo

de aplicaciones optimizadas requiere del conocimiento de los paradigmas baacute-

sicos de funcionamiento de las maacutequinas donde se ejecutaraacuten y eacutestas 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 metodoloacutegicas para su disentildeo y siacutentesis nos abre el camino al

desarrollo de sistemas digitales especiacuteficos

No se trata soacutelo de conocimientos de cultura general Los conceptos baacutesicos

del funcionamiento de los computadores son conocimientos necesarios para

aquel que quiera que trabajar en el disentildeo de sistemas electroacutenicos en la pro-

gramacioacuten de los mismos o en el desarrollo de aplicaciones especiacuteficas que re-

quieran un cierto grado de optimizacioacuten

12 iquestQueacute tenemos que saber para entender los computadores

Los computadores actuales son aparatos electroacutenicos La electroacutenica finalmente

trabaja con sentildeales eleacutectricas iquestCoacutemo podemos procesar la informacioacuten del

mundo que nos rodea mediante sentildeales eleacutectricas

Hemos de saber coacutemo se codifica la informacioacuten que tenemos que procesar

dentro de las maacutequinas Tenemos que determinar coacutemo son los datos y cuaacuteles

son las limitaciones impliacutecitas en las maacutequinas La matemaacutetica nos da herra-

mientas para codificar adecuadamente la informacioacuten 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 electroacuteni-co programable disentildeado para controlar procesos secuenciales en un entorno industrial

CC-BY-SA bull PID_00163597 8 Introduccioacuten a los fundamentos de los computadores

Los computadores se basan en la electroacutenica digital Sin embargo iquestqueacute es la

electroacutenica digital iquestEn queacute se diferencia de la que no es digital En definitiva

iquestcuaacuteles son las bases de funcionamiento de la tecnologiacutea con la que se dise-

ntildean las maacutequinas digitales

Por otra parte iquestcoacutemo podemos utilizar la electroacutenica digital para construir un

computador digital Tenemos que disponer de metodologiacuteas que de manera

organizada nos permitan concebir sistemas digitales complejos y en particular

concretarlo sobre la organizacioacuten de un computador convencional

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

pero a modo de introduccioacuten los apartados siguientes nos dan algunas

pinceladas al respecto

121 iquestQueacute es la electroacutenica digital

En contraposicioacuten en la electroacutenica analoacutegica las sentildeales pueden variar de for-

ma continua es decir no estaacuten reducidas a un conjunto (pequentildeo) de valores

diferentes En una sentildeal digital soacutelo se diferencia entre el valor alto de tensioacuten

y el valor bajo de tensioacuten por ejemplo 0 V y 5 V En cambio una sentildeal analoacute-

gica puede registrar cualquier valor de tensioacuten 01 V o 02 V o 023 V o 235 V

o 113 V o cualquier otro dentro de los maacutergenes de funcionamiento y cada

valor se considera diferente

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

cir los dispositivos basados en la electroacutenica digital y los computadores en

particular) trabajan especialmente bien cuando sobre las sentildeales tan soacutelo se

identifican dos valores de tensioacuten diferentes Estos valores reciben denomina-

ciones diferentes seguacuten el aacutembito de trabajo como verdad y falso o bien 0 y

1 loacutegicos

Vivimos en un mundo analoacutegico y nos parece natural registrar la informacioacuten

de manera analoacutegica Sin embargo trabajar directamente con informacioacuten

analoacutegica resulta poco praacutectico y nada adecuado si queremos procesar esta in-

Se llama electroacutenica digital o discreta a la electroacutenica basada en sentildeales

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

(habitualmente dos)

v es el siacutembolo que identificala unidad de medida del voltaje

el voltio

Esto quiere decir que como sistema digital toda la informacioacuten que

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

cuada utilizando soacutelo los dos valores de tensioacuten posibles lo que lla-

mamos 0 y 1 loacutegicos

CC-BY-SA bull PID_00163597 9 Introduccioacuten a los fundamentos de los computadores

formacioacuten en un computador digital Habraacute que disponer de mecanismos para

digitalizar la informacioacuten es decir para codificarla utilizando soacutelo ceros y unos

122 La codificacioacuten de la informacioacuten

Quizaacutes no hayamos caiacutedo en la cuenta de que en realidad toda la informa-

cioacuten estaacute siempre codificada de una manera u otra Cuando escribimos codi-

ficamos la informacioacuten en palabras que pueden estar compuestas por un

conjunto de siacutembolos diferentes (las letras del abecedario) Cualquier valor

numeacuterico lo codificamos mediante un conjunto de siacutembolos que llamamos

diacutegitos Pues bien los computadores digitales actuales gestionan informacioacuten

codificada utilizando los valores 0 y 1

La codificacioacuten de los nuacutemeros es la que conceptualmente resulta maacutes sencilla

De hecho solo tenemos que entender una idea baacutesica un valor numeacuterico es

un concepto abstracto que tendraacute una representacioacuten u otra seguacuten el sistema

de numeracioacuten (es decir seguacuten el conjunto de reglas de codificacioacuten) que

utilicemosa

Dicho de esta forma puede parecer un poco extrantildeo 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 aacuterabe o el chino con sig-

nos distintos Por lo tanto estamos codificando esta informacioacuten seguacuten

nuestro sistema de representacioacuten

Con los nuacutemeros pasa exactamente lo mismo Un determinado valor numeacuteri-

co es independiente del sistema de representacioacuten que utilicemos Para poder

codificar los valores numeacutericos soacutelo con ceros y unos tenemos que utilizar un

sistema de numeracioacuten 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 Despueacutes

consiguioacute separar el valor numeacuterico del objeto por ejemplo dibujando una

CC-BY-SA bull PID_00163597 10 Introduccioacuten a los fundamentos de los computadores

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

babilidad aprendioacute a dar nombre a este valor numeacuterico independiente del ob-

jeto al que se aplicaba

No debiacutea de ser nada praacutectico tener un nombre para cada valor numeacuterico (de-

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

litar los recuentos de conjuntos ldquograndesrdquo Claro estaacute que la cantidad de

elementos de un grupo teniacutea que ser faacutecil de recordar especialmente cuando el

sistema se extendioacute para trabajar con grupos de grupos En este asunto la ana-

tomiacutea humana ha tenido bastante que ver y por este motivo los ldquogruposrdquo que

maacutes se adoptaron fueron los de cinco los de diez y los de veinte coincidiendo

con el nuacutemero de dedos de una mano de dos manos o de manos y pies

De entre eacutestas la base 10 ha salido ganadora (quizaacutes por la aparicioacuten del cal-

zado quieacuten sabe) y la idea de grupos de grupos acaboacute desembocando en un

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

cioacuten que ocupa un diacutegito estaacute asociada a un grupo de grupos (decimos un peso)

lo que facilitoacute enormemente el desarrollo de la aritmeacutetica

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

numeracioacuten a su propia ldquoanatomiacuteardquo Trabajan utilizando sentildeales sobre las

que diferencian dos niveles de tensioacuten Por lo tanto tendremos que utilizar

un sistema de numeracioacuten en base 2 Ademaacutes cambiar el sistema de nume-

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

ciones aritmeacuteticas Es decir el concepto de suma es independiente del

sistema de numeracioacuten pero la forma de hacer la suma depende de la forma

como representemos los nuacutemeros

Todas estas cuestiones se tratan en el segundo moacutedulo donde se analiza nuestro

sistema de numeracioacuten y se adapta a las caracteriacutesticas de las maacutequinas ademaacutes

de identificar las limitaciones propias de las maacutequinas

123 Los sistemas digitales

Hemos hecho una introduccioacuten al concepto de electroacutenica digital Habraacute que

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

miento de informacioacuten cuaacuteles son las herramientas que nos permiten cons-

truir circuitos complejos para el procesamiento de informacioacuten y en uacuteltimo

teacutermino computadores digitales de propoacutesito general

Conceptualmente la electroacutenica digital es la electroacutenica de los nuacutemeros Aquiacute

las sentildeales eleacutectricas representan nuacutemeros Son faacuteciles de codificar y resistentes

a la degradacioacuten con una codificacioacuten adecuada En los sistemas analoacutegicos

que trabajan con ondas la informacioacuten estaacute contenida en la forma de la onda

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

CC-BY-SA bull PID_00163597 11 Introduccioacuten a los fundamentos de los computadores

informacioacuten con facilidad ademaacutes de requerir circuiteriacutea especiacutefica para cada

aplicacioacuten

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 metodologiacuteas que permitan sistematizar en cierta medida

la construccioacuten de sistemas digitales complejos En este sentido se establece

una diferenciacioacuten 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 moacutedulo 3 dedicado a los circuitos combinacionales y el moacutedulo 4 donde

se trabajan los circuitos secuenciales se encargan de hacer una introduccioacuten a

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

anaacutelisis

Los dos apartados siguientes de este moacutedulo introductorio estaacuten dedicados al

computador digital En el primero encontrareacuteis una descripcioacuten del camino

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

dores actuales Se describen caracteriacutesticas y teacutecnicas que han ido apareciendo

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

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

les El moacutedulo 5 estaacute dedicado a un anaacutelisis de la arquitectura baacutesica que aquiacute

se describe

CC-BY-SA bull PID_00163597 12 Introduccioacuten a los fundamentos de los computadores

2 La evolucioacuten de los computadores

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

macioacuten especialmente en caacutelculos aritmeacuteticos para lo cual se ha utilizado la

tecnologiacutea existente en cada momento Los primeros intentos dieron lugar a

toda una serie de ingenios mecaacutenicos baacutesicos como el aacutebaco o realmente

elaborados y complejos como la maacutequina diferencial de Charles Babbage

Maacutequina analiacutetica de Charles Babbage

Fuente Bettman Archive

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

historia de la computacioacuten por la concepcioacuten de la maacutequina analiacutetica que in-

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

terno El disentildeo de la maacutequina analiacutetica incluiacutea una memoria (mecaacutenica) una

unidad de procesamiento una unidad de control (constituida por ldquobarrilesrdquo

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

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

milar a la maacutequina de escribir)

El descubrimiento de la energiacutea eleacutectrica permitioacute el desarrollo de maacutequinas

electromecaacutenicas que incluiacutean lectores de tarjetas y procesamiento con con-

mutadores De entre este tipo de maacutequinas destaca la maacutequina tabuladora de

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

los Estados Unidos en el antildeo 1890 El censo manual tardaba cerca de 10 antildeos

pero con la maacutequina tabuladora que leiacutea y procesaba (baacutesicamente contaba)

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

antildeos Herman Hollerith es considerado el primer informaacutetico el primero en

hacer un tratamiento automatizado de la informacioacuten

CC-BY-SA bull PID_00163597 13 Introduccioacuten a los fundamentos de los computadores

Maacutequina tabuladora de Herman Hollerith

Creative CommonsAttribution 20 GenericFuente httpenwikipediaorg

Las maacutequinas electromecaacutenicas llegaron a convertirse en los primeros compu-

tadores digitales Konrad Zuse (1910-1995) concibioacute la Z1 que disponiacutea de

memoria mecaacutenica binaria la Z2 que realizaba el procesamiento a partir de

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

concibioacute computadores de releacutes para los laboratorios Bell y Howard Aiken

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

Eacutestas fueron las primeras maacutequinas desarrolladas con propoacutesito comercial

La revolucioacuten electroacutenica en la computacioacuten se inicia durante la Segunda Gue-

rra Mundial El conflicto beacutelico habiacutea animado el desarrollo de dispositivos

electroacutenicos y las experiencias en maacutequinas electromecaacutenicas hicieron que

enseguida se viera la aplicacioacuten de estos dispositivos a la computacioacuten

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

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

terminados por cambios tecnoloacutegicos Dentro de cada generacioacuten aparecen

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

computadores actuales

21 Primera generacioacuten (1940-1955)

Esta primera generacioacuten estaacute marcada por el uso de vaacutelvulas de vaciacuteo y la in-

troduccioacuten de la tecnologiacutea de anillos de ferrita para la memoria Son compu-

tadores de esta primera generacioacuten

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

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

nio constaba de 18000 vaacutelvulas de vaciacuteo 70000 resistencias y 10000 con-

densadores Ocupaba un espacio de 100 m2 pesaba 30 tm y teniacutea un

consumo de 140 kwh

Consumo ENIAC

Para valorar el consumo eleacutectri-co del computador ENIAC (140 kwh) lo podemos com-parar con un electrodomeacutestico de consumo elevado el consu-mo de un horno eleacutectrico estaacute en torno a los 2 kwh

CC-BY-SA bull PID_00163597 14 Introduccioacuten a los fundamentos de los computadores

bull EDVAC (1952) Electronic Discrete Variable Automatic Computer de dimen-

siones maacutes reducidas que el ENIAC Es especial porque es la maacutequina sobre

la que J Von Neumann en 1945 escribioacute 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 Tambieacuten es de destacar el uso por primera vez de

la aritmeacutetica binaria en detrimento de la decimal

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

Con 5400 vaacutelvulas y 1000 palabras de memoria presenta la caracteriacutestica

de programa parcialmente almacenado

Programacioacuten del ENIAC Imagen bajo dominio puacuteblico

Fuente httpeswikipediaorg

22 Segunda generacioacuten (1955-1965)

El paso a la segunda generacioacuten viene marcado por la utilizacioacuten de los transis-

tores en sustitucioacuten de las vaacutelvulas de vaciacuteo Son maacutequinas de esta generacioacuten

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

nal graacutefico Sobre esta maacutequina corrioacute el primer videojuego

bull IBM 7030 Esta maacutequina de 1961 incorpora la idea de segmentacioacuten de

memoria y de memoria virtual teacutecnicas con las que se consiguioacute mejorar

sensiblemente la capacidad la gestioacuten y el rendimiento de la memoria

bull ATLAS de Ferranti Ltd amp U Manchester 1962 Se trata de uno de los primeros

supercomputadores Tecnoloacutegicamente destaca por la incorporacioacuten del uso

de lo que se denominan interrupciones para controlar los perifeacutericos

CC-BY-SA bull PID_00163597 15 Introduccioacuten a los fundamentos de los computadores

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

caacutelculo de 1 megaFLOPS (un milloacuten de operaciones de coma flotante

por segundo) conseguida gracias al paralelismo de las unidades de caacutelculo

ostentoacute el tiacutetulo de maacutequina maacutes raacutepida entre 1964 y 1969

23 Tercera generacioacuten (1965-1970)

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

generacioacuten de computadores y el inicio de la tercera Los circuitos integrados

aportan una reduccioacuten de espacio significativa una reduccioacuten importante del

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

meros minicomputadores De esta generacioacuten podemos destacar

bull IBM 360 1964 Inicia la primera serie de computadores compatibles

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

perifeacutericos

bull DEC PDP8 1965 Primer minicomputador de eacutexito comercial Como

innovaciones presentaba circuitos loacutegicos en moacutedulos integrados (chips)

y un conjunto de liacuteneas de conexioacuten en paralelo para interconectar los

moacutedulos el bus

bull IBM 36085 1968 Es la primera en incorporar el concepto de memoria ca-

cheacute teacutecnica que reduce enormemente el tiempo de acceso a la memoria y que

se ha convertido en un elemento central de los sistemas actuales

24 Cuarta generacioacuten (1970-)

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

un aumento considerable de la densidad de integracioacuten Es este aumento en

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

unidad central de proceso en un uacutenico chip nacen los microprocesadores

el primero de los cuales es el Intel 4004 en 1971

La cuarta generacioacuten se inicia con el desarrollo de este microprocesador Al

mismo tiempo y debido tambieacuten a las mejoras en los procesos de fabricacioacuten

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

las memorias de semiconductores El campo de los computadores personales

estaacute sembrado y pronto germina

bull Altair 8800 1975 Se considera el primer computador personal

bull Supercomputador Cray 1 1976 Incorpora por primera vez el procesa-

miento paralelo

CC-BY-SA bull PID_00163597 16 Introduccioacuten a los fundamentos de los computadores

bull IBM PC 1981 Con el microprocesador Intel 8086 y el sistema operativo

Microsoft DOS marca el inicio de la revolucioacuten de la computacioacuten personal

bull Lisa (Apple) 1983 Incorpora un nuevo dispositivo revolucionario el ratoacuten

y una interfaz de usuario graacutefico (estilo Windows)

IBM PC

Creative CommonsGeneacuterica de AtribucioacutenCompartir-Igual 30Fuente httpeswikipediaorg

CC-BY-SA bull PID_00163597 17 Introduccioacuten a los fundamentos de los computadores

3 iquestCoacutemo soacuten los computadores digitales actuales

Un computador digital es un computador que trabaja con datos numeacutericos

cuya interpretacioacuten depende del formato con que se esteacute trabajando codifi-

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

sentildeales binarias sentildeales sobre las que podemos identificar soacutelo dos valores

distintosa

El concepto de computador es en principio independiente de la tecnologiacutea

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

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

computador digital es un sistema digital complejo

La complejidad que rodea un computador digital hace inviable su concepcioacuten

sin una estructura y organizacioacuten en moacutedulos diferenciados con tareas y fun-

cionalidades bien definidas La estructura general de un computador digital es

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

las flechas indica el flujo de informacioacuten Podriacuteamos definir la ecuacioacuten de

funcionamiento de la forma siguiente

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

Figura 1 Estructura general de un computador

En teacuterminos generales un computador es un dispositivo construido

con el propoacutesito de manipular o transformar informacioacuten para conse-

guir una informacioacuten maacutes elaborada como por ejemplo el resultado de

un problema determinado

CC-BY-SA bull PID_00163597 18 Introduccioacuten a los fundamentos de los computadores

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

tos de conversioacuten de la informacioacuten entre el mundo analoacutegico que nos rodea

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

salida mayoritariamente estaacuten constituidos por dispositivos para almacenar

informacioacuten digital en uno u otro formato pero informacioacuten digital que el

procesador puede recuperar

El procesador estaacute constituido por una unidad central de proceso (CPU

Central Process Unit) y una memoria iacutentimamente relacionada con eacutel (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 reuacutene los recursos de caacutelculo y la unidad de control es

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

para realizar las operaciones que establece el programa en ejecucioacuten

31 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 bull PID_00163597 19 Introduccioacuten a los fundamentos de los computadores

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

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

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

dicalmente del tipo de programacioacuten que se practicaba en los computadores

precedentes y que se basaba en la modificacioacuten de los circuitos electroacutenicos

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

mos identificar estas dos caracteriacutesticas

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 caracteriacutestica dota al

computador de una amplia generalidad De la otra la comunicacioacuten entre la

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

botella en el rendimiento de la maacutequina

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 uacutenica tarea el ciclo de ejecucioacuten de

instrucciones

Figura 4 Arquitectura de Von Neumann

Con un procesador de este tipo la estructura baacutesica de un computador digital

es la que aparece en la figura 5

Figura 5 Arquitectura de un computador tipo Von Neumann

CC-BY-SA bull PID_00163597 20 Introduccioacuten a los fundamentos de los computadores

32 La arquitectura de Harvard

La arquitectura de Von Neumann tiene en siacute misma dos grandes limitaciones

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

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

pliacutecita la idea de la ejecucioacuten secuencial es decir de la ejecucioacuten de una uacutenica

instruccioacuten al mismo tiempo lo cual limita las posibilidades de ejecucioacuten en

paralelo

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

tura de Harvard La caracteriacutestica 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 limitacioacuten 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 tambieacuten limita la posibilidad de la

automodificacioacuten 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 electroacutenica distribuida Su estructura general la podemos

ver reflejada en la figura 6

Figura 6 Arquitectura de Harvard

Automodificacioacuten del coacutedigo

La automodificacioacuten del coacutedi-go (la capacidad de un progra-ma para cambiarse a siacute mismo) ha sido uno de los recursos que se ha aprovechado para elabo-rar coacutedigo malintencionado como los virus

CC-BY-SA bull PID_00163597 21 Introduccioacuten a los fundamentos de los computadores

Resumen

En este moacutedulo se hace una introduccioacuten a los conceptos que se trabajan a lo

largo de los moacutedulos siguientes la codificacioacuten adecuada de la informacioacuten

para interpretarla y tratarla dentro de los computadores la tecnologiacutea con la

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

los computadores

Los computadores actuales se presentan como el resultado de una evolucioacuten

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

baacutesica fijada en la primera generacioacuten de computadores con la incorporacioacuten

del concepto de programa almacenado y se enumeran los principales cambios

tecnoloacutegicos que han permitido mejorar el rendimiento de las maacutequinas hasta

el momento actual

Se dedica un apartado a describir con maacutes detalle la arquitectura baacutesica de los

computadores digitales indicando la relacioacuten 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 bull PID_00163597 23 Introduccioacuten a los fundamentos de los computadores

Bibliografiacutea

Augarten S (1984) Bit by Bit An Illustrated History of Computers Nueva York Ticknor ampFields

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

CC-BY-SA bull PID_00163597 Introduccioacuten a los fundamentos de los computadores

CC-BY-SA bull PID_00163597 5 Introduccioacuten a los fundamentos de los computadores

Introduccioacuten

Actualmente el uso de los ordenadores estaacute plenamente generalizado en nuestra

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

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

damos un montoacuten de aplicaciones muy variadas para facilitar nuestro trabajo

o mejorar nuestra calidad de vida

El eacutexito de los computadores digitales deriva del hecho de que son maacutequinas

de propoacutesito 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 maacutequina puede llevar a

cabo caacutelculos sofisticados para hacer simulaciones de procesos convertirse en

una herramienta de precisioacuten para dibujar planos o gestionar con eficiencia

una base de datos compleja

En este moacutedulo presentamos la estructura baacutesica de los computadores actuales la

evolucioacuten que han sufrido hasta llegar al estado actual y una introduccioacuten a

los conceptos que se iraacuten desarrollando a lo largo de los moacutedulos siguientes

para entender en profundidad el funcionamiento de los computadores digitales

CC-BY-SA bull PID_00163597 6 Introduccioacuten a los fundamentos de los computadores

Objetivos

El objetivo de este moacutedulo es presentar la estructura baacutesica de un computador

digital poniendo de manifiesto los conocimientos que se trabajaraacuten para en-

tender en profundidad su funcionamiento y su disentildeo Con este moacutedulo se

persigue

1 Saber diferenciar entre la electroacutenica digital y la electroacutenica analoacutegica

2 Entender que es posible codificar cualquier informacioacuten con un conjunto

reducido de siacutembolos como 0 y 1

3 Conocer a grandes rasgos la evolucioacuten de los computadores y las mejoras

tecnoloacutegicas que han marcado cambios cualitativos profundos

4 Conocer la arquitectura baacutesica de un computador digital actual

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

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

rasgos A lo largo de los moacutedulos siguientes se iraacuten presentando conceptos

herramientas y metodologiacuteas para entender con profundidad el funcionamiento

y la construccioacuten de este tipo de maacutequinas

CC-BY-SA bull PID_00163597 7 Introduccioacuten a los fundamentos de los computadores

1 El estudio de los fundamentos de los computadores

11 iquestPor queacute estudiar los fundamentos de los computadores

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

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

mos utilizar los computadores soacutelo como una herramienta que en uacuteltimo

teacutermino seremos usuarios de las maacutequinas y que como tales el conocimiento

de la organizacioacuten interna del computador tiene poca utilidad La conclusioacuten

seriacutea que se trata de una materia que tiene intereacutes para un nuacutemero reducido

de ingenieros soacutelo 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 anaacutelisis de sistemas o al desarrollo de circuiteriacutea especiacutefica El desarrollo

de aplicaciones optimizadas requiere del conocimiento de los paradigmas baacute-

sicos de funcionamiento de las maacutequinas donde se ejecutaraacuten y eacutestas 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 metodoloacutegicas para su disentildeo y siacutentesis nos abre el camino al

desarrollo de sistemas digitales especiacuteficos

No se trata soacutelo de conocimientos de cultura general Los conceptos baacutesicos

del funcionamiento de los computadores son conocimientos necesarios para

aquel que quiera que trabajar en el disentildeo de sistemas electroacutenicos en la pro-

gramacioacuten de los mismos o en el desarrollo de aplicaciones especiacuteficas que re-

quieran un cierto grado de optimizacioacuten

12 iquestQueacute tenemos que saber para entender los computadores

Los computadores actuales son aparatos electroacutenicos La electroacutenica finalmente

trabaja con sentildeales eleacutectricas iquestCoacutemo podemos procesar la informacioacuten del

mundo que nos rodea mediante sentildeales eleacutectricas

Hemos de saber coacutemo se codifica la informacioacuten que tenemos que procesar

dentro de las maacutequinas Tenemos que determinar coacutemo son los datos y cuaacuteles

son las limitaciones impliacutecitas en las maacutequinas La matemaacutetica nos da herra-

mientas para codificar adecuadamente la informacioacuten 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 electroacuteni-co programable disentildeado para controlar procesos secuenciales en un entorno industrial

CC-BY-SA bull PID_00163597 8 Introduccioacuten a los fundamentos de los computadores

Los computadores se basan en la electroacutenica digital Sin embargo iquestqueacute es la

electroacutenica digital iquestEn queacute se diferencia de la que no es digital En definitiva

iquestcuaacuteles son las bases de funcionamiento de la tecnologiacutea con la que se dise-

ntildean las maacutequinas digitales

Por otra parte iquestcoacutemo podemos utilizar la electroacutenica digital para construir un

computador digital Tenemos que disponer de metodologiacuteas que de manera

organizada nos permitan concebir sistemas digitales complejos y en particular

concretarlo sobre la organizacioacuten de un computador convencional

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

pero a modo de introduccioacuten los apartados siguientes nos dan algunas

pinceladas al respecto

121 iquestQueacute es la electroacutenica digital

En contraposicioacuten en la electroacutenica analoacutegica las sentildeales pueden variar de for-

ma continua es decir no estaacuten reducidas a un conjunto (pequentildeo) de valores

diferentes En una sentildeal digital soacutelo se diferencia entre el valor alto de tensioacuten

y el valor bajo de tensioacuten por ejemplo 0 V y 5 V En cambio una sentildeal analoacute-

gica puede registrar cualquier valor de tensioacuten 01 V o 02 V o 023 V o 235 V

o 113 V o cualquier otro dentro de los maacutergenes de funcionamiento y cada

valor se considera diferente

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

cir los dispositivos basados en la electroacutenica digital y los computadores en

particular) trabajan especialmente bien cuando sobre las sentildeales tan soacutelo se

identifican dos valores de tensioacuten diferentes Estos valores reciben denomina-

ciones diferentes seguacuten el aacutembito de trabajo como verdad y falso o bien 0 y

1 loacutegicos

Vivimos en un mundo analoacutegico y nos parece natural registrar la informacioacuten

de manera analoacutegica Sin embargo trabajar directamente con informacioacuten

analoacutegica resulta poco praacutectico y nada adecuado si queremos procesar esta in-

Se llama electroacutenica digital o discreta a la electroacutenica basada en sentildeales

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

(habitualmente dos)

v es el siacutembolo que identificala unidad de medida del voltaje

el voltio

Esto quiere decir que como sistema digital toda la informacioacuten que

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

cuada utilizando soacutelo los dos valores de tensioacuten posibles lo que lla-

mamos 0 y 1 loacutegicos

CC-BY-SA bull PID_00163597 9 Introduccioacuten a los fundamentos de los computadores

formacioacuten en un computador digital Habraacute que disponer de mecanismos para

digitalizar la informacioacuten es decir para codificarla utilizando soacutelo ceros y unos

122 La codificacioacuten de la informacioacuten

Quizaacutes no hayamos caiacutedo en la cuenta de que en realidad toda la informa-

cioacuten estaacute siempre codificada de una manera u otra Cuando escribimos codi-

ficamos la informacioacuten en palabras que pueden estar compuestas por un

conjunto de siacutembolos diferentes (las letras del abecedario) Cualquier valor

numeacuterico lo codificamos mediante un conjunto de siacutembolos que llamamos

diacutegitos Pues bien los computadores digitales actuales gestionan informacioacuten

codificada utilizando los valores 0 y 1

La codificacioacuten de los nuacutemeros es la que conceptualmente resulta maacutes sencilla

De hecho solo tenemos que entender una idea baacutesica un valor numeacuterico es

un concepto abstracto que tendraacute una representacioacuten u otra seguacuten el sistema

de numeracioacuten (es decir seguacuten el conjunto de reglas de codificacioacuten) que

utilicemosa

Dicho de esta forma puede parecer un poco extrantildeo 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 aacuterabe o el chino con sig-

nos distintos Por lo tanto estamos codificando esta informacioacuten seguacuten

nuestro sistema de representacioacuten

Con los nuacutemeros pasa exactamente lo mismo Un determinado valor numeacuteri-

co es independiente del sistema de representacioacuten que utilicemos Para poder

codificar los valores numeacutericos soacutelo con ceros y unos tenemos que utilizar un

sistema de numeracioacuten 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 Despueacutes

consiguioacute separar el valor numeacuterico del objeto por ejemplo dibujando una

CC-BY-SA bull PID_00163597 10 Introduccioacuten a los fundamentos de los computadores

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

babilidad aprendioacute a dar nombre a este valor numeacuterico independiente del ob-

jeto al que se aplicaba

No debiacutea de ser nada praacutectico tener un nombre para cada valor numeacuterico (de-

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

litar los recuentos de conjuntos ldquograndesrdquo Claro estaacute que la cantidad de

elementos de un grupo teniacutea que ser faacutecil de recordar especialmente cuando el

sistema se extendioacute para trabajar con grupos de grupos En este asunto la ana-

tomiacutea humana ha tenido bastante que ver y por este motivo los ldquogruposrdquo que

maacutes se adoptaron fueron los de cinco los de diez y los de veinte coincidiendo

con el nuacutemero de dedos de una mano de dos manos o de manos y pies

De entre eacutestas la base 10 ha salido ganadora (quizaacutes por la aparicioacuten del cal-

zado quieacuten sabe) y la idea de grupos de grupos acaboacute desembocando en un

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

cioacuten que ocupa un diacutegito estaacute asociada a un grupo de grupos (decimos un peso)

lo que facilitoacute enormemente el desarrollo de la aritmeacutetica

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

numeracioacuten a su propia ldquoanatomiacuteardquo Trabajan utilizando sentildeales sobre las

que diferencian dos niveles de tensioacuten Por lo tanto tendremos que utilizar

un sistema de numeracioacuten en base 2 Ademaacutes cambiar el sistema de nume-

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

ciones aritmeacuteticas Es decir el concepto de suma es independiente del

sistema de numeracioacuten pero la forma de hacer la suma depende de la forma

como representemos los nuacutemeros

Todas estas cuestiones se tratan en el segundo moacutedulo donde se analiza nuestro

sistema de numeracioacuten y se adapta a las caracteriacutesticas de las maacutequinas ademaacutes

de identificar las limitaciones propias de las maacutequinas

123 Los sistemas digitales

Hemos hecho una introduccioacuten al concepto de electroacutenica digital Habraacute que

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

miento de informacioacuten cuaacuteles son las herramientas que nos permiten cons-

truir circuitos complejos para el procesamiento de informacioacuten y en uacuteltimo

teacutermino computadores digitales de propoacutesito general

Conceptualmente la electroacutenica digital es la electroacutenica de los nuacutemeros Aquiacute

las sentildeales eleacutectricas representan nuacutemeros Son faacuteciles de codificar y resistentes

a la degradacioacuten con una codificacioacuten adecuada En los sistemas analoacutegicos

que trabajan con ondas la informacioacuten estaacute contenida en la forma de la onda

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

CC-BY-SA bull PID_00163597 11 Introduccioacuten a los fundamentos de los computadores

informacioacuten con facilidad ademaacutes de requerir circuiteriacutea especiacutefica para cada

aplicacioacuten

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 metodologiacuteas que permitan sistematizar en cierta medida

la construccioacuten de sistemas digitales complejos En este sentido se establece

una diferenciacioacuten 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 moacutedulo 3 dedicado a los circuitos combinacionales y el moacutedulo 4 donde

se trabajan los circuitos secuenciales se encargan de hacer una introduccioacuten a

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

anaacutelisis

Los dos apartados siguientes de este moacutedulo introductorio estaacuten dedicados al

computador digital En el primero encontrareacuteis una descripcioacuten del camino

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

dores actuales Se describen caracteriacutesticas y teacutecnicas que han ido apareciendo

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

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

les El moacutedulo 5 estaacute dedicado a un anaacutelisis de la arquitectura baacutesica que aquiacute

se describe

CC-BY-SA bull PID_00163597 12 Introduccioacuten a los fundamentos de los computadores

2 La evolucioacuten de los computadores

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

macioacuten especialmente en caacutelculos aritmeacuteticos para lo cual se ha utilizado la

tecnologiacutea existente en cada momento Los primeros intentos dieron lugar a

toda una serie de ingenios mecaacutenicos baacutesicos como el aacutebaco o realmente

elaborados y complejos como la maacutequina diferencial de Charles Babbage

Maacutequina analiacutetica de Charles Babbage

Fuente Bettman Archive

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

historia de la computacioacuten por la concepcioacuten de la maacutequina analiacutetica que in-

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

terno El disentildeo de la maacutequina analiacutetica incluiacutea una memoria (mecaacutenica) una

unidad de procesamiento una unidad de control (constituida por ldquobarrilesrdquo

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

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

milar a la maacutequina de escribir)

El descubrimiento de la energiacutea eleacutectrica permitioacute el desarrollo de maacutequinas

electromecaacutenicas que incluiacutean lectores de tarjetas y procesamiento con con-

mutadores De entre este tipo de maacutequinas destaca la maacutequina tabuladora de

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

los Estados Unidos en el antildeo 1890 El censo manual tardaba cerca de 10 antildeos

pero con la maacutequina tabuladora que leiacutea y procesaba (baacutesicamente contaba)

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

antildeos Herman Hollerith es considerado el primer informaacutetico el primero en

hacer un tratamiento automatizado de la informacioacuten

CC-BY-SA bull PID_00163597 13 Introduccioacuten a los fundamentos de los computadores

Maacutequina tabuladora de Herman Hollerith

Creative CommonsAttribution 20 GenericFuente httpenwikipediaorg

Las maacutequinas electromecaacutenicas llegaron a convertirse en los primeros compu-

tadores digitales Konrad Zuse (1910-1995) concibioacute la Z1 que disponiacutea de

memoria mecaacutenica binaria la Z2 que realizaba el procesamiento a partir de

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

concibioacute computadores de releacutes para los laboratorios Bell y Howard Aiken

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

Eacutestas fueron las primeras maacutequinas desarrolladas con propoacutesito comercial

La revolucioacuten electroacutenica en la computacioacuten se inicia durante la Segunda Gue-

rra Mundial El conflicto beacutelico habiacutea animado el desarrollo de dispositivos

electroacutenicos y las experiencias en maacutequinas electromecaacutenicas hicieron que

enseguida se viera la aplicacioacuten de estos dispositivos a la computacioacuten

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

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

terminados por cambios tecnoloacutegicos Dentro de cada generacioacuten aparecen

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

computadores actuales

21 Primera generacioacuten (1940-1955)

Esta primera generacioacuten estaacute marcada por el uso de vaacutelvulas de vaciacuteo y la in-

troduccioacuten de la tecnologiacutea de anillos de ferrita para la memoria Son compu-

tadores de esta primera generacioacuten

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

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

nio constaba de 18000 vaacutelvulas de vaciacuteo 70000 resistencias y 10000 con-

densadores Ocupaba un espacio de 100 m2 pesaba 30 tm y teniacutea un

consumo de 140 kwh

Consumo ENIAC

Para valorar el consumo eleacutectri-co del computador ENIAC (140 kwh) lo podemos com-parar con un electrodomeacutestico de consumo elevado el consu-mo de un horno eleacutectrico estaacute en torno a los 2 kwh

CC-BY-SA bull PID_00163597 14 Introduccioacuten a los fundamentos de los computadores

bull EDVAC (1952) Electronic Discrete Variable Automatic Computer de dimen-

siones maacutes reducidas que el ENIAC Es especial porque es la maacutequina sobre

la que J Von Neumann en 1945 escribioacute 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 Tambieacuten es de destacar el uso por primera vez de

la aritmeacutetica binaria en detrimento de la decimal

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

Con 5400 vaacutelvulas y 1000 palabras de memoria presenta la caracteriacutestica

de programa parcialmente almacenado

Programacioacuten del ENIAC Imagen bajo dominio puacuteblico

Fuente httpeswikipediaorg

22 Segunda generacioacuten (1955-1965)

El paso a la segunda generacioacuten viene marcado por la utilizacioacuten de los transis-

tores en sustitucioacuten de las vaacutelvulas de vaciacuteo Son maacutequinas de esta generacioacuten

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

nal graacutefico Sobre esta maacutequina corrioacute el primer videojuego

bull IBM 7030 Esta maacutequina de 1961 incorpora la idea de segmentacioacuten de

memoria y de memoria virtual teacutecnicas con las que se consiguioacute mejorar

sensiblemente la capacidad la gestioacuten y el rendimiento de la memoria

bull ATLAS de Ferranti Ltd amp U Manchester 1962 Se trata de uno de los primeros

supercomputadores Tecnoloacutegicamente destaca por la incorporacioacuten del uso

de lo que se denominan interrupciones para controlar los perifeacutericos

CC-BY-SA bull PID_00163597 15 Introduccioacuten a los fundamentos de los computadores

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

caacutelculo de 1 megaFLOPS (un milloacuten de operaciones de coma flotante

por segundo) conseguida gracias al paralelismo de las unidades de caacutelculo

ostentoacute el tiacutetulo de maacutequina maacutes raacutepida entre 1964 y 1969

23 Tercera generacioacuten (1965-1970)

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

generacioacuten de computadores y el inicio de la tercera Los circuitos integrados

aportan una reduccioacuten de espacio significativa una reduccioacuten importante del

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

meros minicomputadores De esta generacioacuten podemos destacar

bull IBM 360 1964 Inicia la primera serie de computadores compatibles

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

perifeacutericos

bull DEC PDP8 1965 Primer minicomputador de eacutexito comercial Como

innovaciones presentaba circuitos loacutegicos en moacutedulos integrados (chips)

y un conjunto de liacuteneas de conexioacuten en paralelo para interconectar los

moacutedulos el bus

bull IBM 36085 1968 Es la primera en incorporar el concepto de memoria ca-

cheacute teacutecnica que reduce enormemente el tiempo de acceso a la memoria y que

se ha convertido en un elemento central de los sistemas actuales

24 Cuarta generacioacuten (1970-)

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

un aumento considerable de la densidad de integracioacuten Es este aumento en

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

unidad central de proceso en un uacutenico chip nacen los microprocesadores

el primero de los cuales es el Intel 4004 en 1971

La cuarta generacioacuten se inicia con el desarrollo de este microprocesador Al

mismo tiempo y debido tambieacuten a las mejoras en los procesos de fabricacioacuten

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

las memorias de semiconductores El campo de los computadores personales

estaacute sembrado y pronto germina

bull Altair 8800 1975 Se considera el primer computador personal

bull Supercomputador Cray 1 1976 Incorpora por primera vez el procesa-

miento paralelo

CC-BY-SA bull PID_00163597 16 Introduccioacuten a los fundamentos de los computadores

bull IBM PC 1981 Con el microprocesador Intel 8086 y el sistema operativo

Microsoft DOS marca el inicio de la revolucioacuten de la computacioacuten personal

bull Lisa (Apple) 1983 Incorpora un nuevo dispositivo revolucionario el ratoacuten

y una interfaz de usuario graacutefico (estilo Windows)

IBM PC

Creative CommonsGeneacuterica de AtribucioacutenCompartir-Igual 30Fuente httpeswikipediaorg

CC-BY-SA bull PID_00163597 17 Introduccioacuten a los fundamentos de los computadores

3 iquestCoacutemo soacuten los computadores digitales actuales

Un computador digital es un computador que trabaja con datos numeacutericos

cuya interpretacioacuten depende del formato con que se esteacute trabajando codifi-

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

sentildeales binarias sentildeales sobre las que podemos identificar soacutelo dos valores

distintosa

El concepto de computador es en principio independiente de la tecnologiacutea

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

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

computador digital es un sistema digital complejo

La complejidad que rodea un computador digital hace inviable su concepcioacuten

sin una estructura y organizacioacuten en moacutedulos diferenciados con tareas y fun-

cionalidades bien definidas La estructura general de un computador digital es

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

las flechas indica el flujo de informacioacuten Podriacuteamos definir la ecuacioacuten de

funcionamiento de la forma siguiente

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

Figura 1 Estructura general de un computador

En teacuterminos generales un computador es un dispositivo construido

con el propoacutesito de manipular o transformar informacioacuten para conse-

guir una informacioacuten maacutes elaborada como por ejemplo el resultado de

un problema determinado

CC-BY-SA bull PID_00163597 18 Introduccioacuten a los fundamentos de los computadores

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

tos de conversioacuten de la informacioacuten entre el mundo analoacutegico que nos rodea

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

salida mayoritariamente estaacuten constituidos por dispositivos para almacenar

informacioacuten digital en uno u otro formato pero informacioacuten digital que el

procesador puede recuperar

El procesador estaacute constituido por una unidad central de proceso (CPU

Central Process Unit) y una memoria iacutentimamente relacionada con eacutel (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 reuacutene los recursos de caacutelculo y la unidad de control es

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

para realizar las operaciones que establece el programa en ejecucioacuten

31 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 bull PID_00163597 19 Introduccioacuten a los fundamentos de los computadores

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

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

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

dicalmente del tipo de programacioacuten que se practicaba en los computadores

precedentes y que se basaba en la modificacioacuten de los circuitos electroacutenicos

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

mos identificar estas dos caracteriacutesticas

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 caracteriacutestica dota al

computador de una amplia generalidad De la otra la comunicacioacuten entre la

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

botella en el rendimiento de la maacutequina

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 uacutenica tarea el ciclo de ejecucioacuten de

instrucciones

Figura 4 Arquitectura de Von Neumann

Con un procesador de este tipo la estructura baacutesica de un computador digital

es la que aparece en la figura 5

Figura 5 Arquitectura de un computador tipo Von Neumann

CC-BY-SA bull PID_00163597 20 Introduccioacuten a los fundamentos de los computadores

32 La arquitectura de Harvard

La arquitectura de Von Neumann tiene en siacute misma dos grandes limitaciones

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

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

pliacutecita la idea de la ejecucioacuten secuencial es decir de la ejecucioacuten de una uacutenica

instruccioacuten al mismo tiempo lo cual limita las posibilidades de ejecucioacuten en

paralelo

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

tura de Harvard La caracteriacutestica 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 limitacioacuten 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 tambieacuten limita la posibilidad de la

automodificacioacuten 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 electroacutenica distribuida Su estructura general la podemos

ver reflejada en la figura 6

Figura 6 Arquitectura de Harvard

Automodificacioacuten del coacutedigo

La automodificacioacuten del coacutedi-go (la capacidad de un progra-ma para cambiarse a siacute mismo) ha sido uno de los recursos que se ha aprovechado para elabo-rar coacutedigo malintencionado como los virus

CC-BY-SA bull PID_00163597 21 Introduccioacuten a los fundamentos de los computadores

Resumen

En este moacutedulo se hace una introduccioacuten a los conceptos que se trabajan a lo

largo de los moacutedulos siguientes la codificacioacuten adecuada de la informacioacuten

para interpretarla y tratarla dentro de los computadores la tecnologiacutea con la

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

los computadores

Los computadores actuales se presentan como el resultado de una evolucioacuten

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

baacutesica fijada en la primera generacioacuten de computadores con la incorporacioacuten

del concepto de programa almacenado y se enumeran los principales cambios

tecnoloacutegicos que han permitido mejorar el rendimiento de las maacutequinas hasta

el momento actual

Se dedica un apartado a describir con maacutes detalle la arquitectura baacutesica de los

computadores digitales indicando la relacioacuten 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 bull PID_00163597 23 Introduccioacuten a los fundamentos de los computadores

Bibliografiacutea

Augarten S (1984) Bit by Bit An Illustrated History of Computers Nueva York Ticknor ampFields

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

CC-BY-SA bull PID_00163597 5 Introduccioacuten a los fundamentos de los computadores

Introduccioacuten

Actualmente el uso de los ordenadores estaacute plenamente generalizado en nuestra

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

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

damos un montoacuten de aplicaciones muy variadas para facilitar nuestro trabajo

o mejorar nuestra calidad de vida

El eacutexito de los computadores digitales deriva del hecho de que son maacutequinas

de propoacutesito 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 maacutequina puede llevar a

cabo caacutelculos sofisticados para hacer simulaciones de procesos convertirse en

una herramienta de precisioacuten para dibujar planos o gestionar con eficiencia

una base de datos compleja

En este moacutedulo presentamos la estructura baacutesica de los computadores actuales la

evolucioacuten que han sufrido hasta llegar al estado actual y una introduccioacuten a

los conceptos que se iraacuten desarrollando a lo largo de los moacutedulos siguientes

para entender en profundidad el funcionamiento de los computadores digitales

CC-BY-SA bull PID_00163597 6 Introduccioacuten a los fundamentos de los computadores

Objetivos

El objetivo de este moacutedulo es presentar la estructura baacutesica de un computador

digital poniendo de manifiesto los conocimientos que se trabajaraacuten para en-

tender en profundidad su funcionamiento y su disentildeo Con este moacutedulo se

persigue

1 Saber diferenciar entre la electroacutenica digital y la electroacutenica analoacutegica

2 Entender que es posible codificar cualquier informacioacuten con un conjunto

reducido de siacutembolos como 0 y 1

3 Conocer a grandes rasgos la evolucioacuten de los computadores y las mejoras

tecnoloacutegicas que han marcado cambios cualitativos profundos

4 Conocer la arquitectura baacutesica de un computador digital actual

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

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

rasgos A lo largo de los moacutedulos siguientes se iraacuten presentando conceptos

herramientas y metodologiacuteas para entender con profundidad el funcionamiento

y la construccioacuten de este tipo de maacutequinas

CC-BY-SA bull PID_00163597 7 Introduccioacuten a los fundamentos de los computadores

1 El estudio de los fundamentos de los computadores

11 iquestPor queacute estudiar los fundamentos de los computadores

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

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

mos utilizar los computadores soacutelo como una herramienta que en uacuteltimo

teacutermino seremos usuarios de las maacutequinas y que como tales el conocimiento

de la organizacioacuten interna del computador tiene poca utilidad La conclusioacuten

seriacutea que se trata de una materia que tiene intereacutes para un nuacutemero reducido

de ingenieros soacutelo 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 anaacutelisis de sistemas o al desarrollo de circuiteriacutea especiacutefica El desarrollo

de aplicaciones optimizadas requiere del conocimiento de los paradigmas baacute-

sicos de funcionamiento de las maacutequinas donde se ejecutaraacuten y eacutestas 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 metodoloacutegicas para su disentildeo y siacutentesis nos abre el camino al

desarrollo de sistemas digitales especiacuteficos

No se trata soacutelo de conocimientos de cultura general Los conceptos baacutesicos

del funcionamiento de los computadores son conocimientos necesarios para

aquel que quiera que trabajar en el disentildeo de sistemas electroacutenicos en la pro-

gramacioacuten de los mismos o en el desarrollo de aplicaciones especiacuteficas que re-

quieran un cierto grado de optimizacioacuten

12 iquestQueacute tenemos que saber para entender los computadores

Los computadores actuales son aparatos electroacutenicos La electroacutenica finalmente

trabaja con sentildeales eleacutectricas iquestCoacutemo podemos procesar la informacioacuten del

mundo que nos rodea mediante sentildeales eleacutectricas

Hemos de saber coacutemo se codifica la informacioacuten que tenemos que procesar

dentro de las maacutequinas Tenemos que determinar coacutemo son los datos y cuaacuteles

son las limitaciones impliacutecitas en las maacutequinas La matemaacutetica nos da herra-

mientas para codificar adecuadamente la informacioacuten 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 electroacuteni-co programable disentildeado para controlar procesos secuenciales en un entorno industrial

CC-BY-SA bull PID_00163597 8 Introduccioacuten a los fundamentos de los computadores

Los computadores se basan en la electroacutenica digital Sin embargo iquestqueacute es la

electroacutenica digital iquestEn queacute se diferencia de la que no es digital En definitiva

iquestcuaacuteles son las bases de funcionamiento de la tecnologiacutea con la que se dise-

ntildean las maacutequinas digitales

Por otra parte iquestcoacutemo podemos utilizar la electroacutenica digital para construir un

computador digital Tenemos que disponer de metodologiacuteas que de manera

organizada nos permitan concebir sistemas digitales complejos y en particular

concretarlo sobre la organizacioacuten de un computador convencional

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

pero a modo de introduccioacuten los apartados siguientes nos dan algunas

pinceladas al respecto

121 iquestQueacute es la electroacutenica digital

En contraposicioacuten en la electroacutenica analoacutegica las sentildeales pueden variar de for-

ma continua es decir no estaacuten reducidas a un conjunto (pequentildeo) de valores

diferentes En una sentildeal digital soacutelo se diferencia entre el valor alto de tensioacuten

y el valor bajo de tensioacuten por ejemplo 0 V y 5 V En cambio una sentildeal analoacute-

gica puede registrar cualquier valor de tensioacuten 01 V o 02 V o 023 V o 235 V

o 113 V o cualquier otro dentro de los maacutergenes de funcionamiento y cada

valor se considera diferente

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

cir los dispositivos basados en la electroacutenica digital y los computadores en

particular) trabajan especialmente bien cuando sobre las sentildeales tan soacutelo se

identifican dos valores de tensioacuten diferentes Estos valores reciben denomina-

ciones diferentes seguacuten el aacutembito de trabajo como verdad y falso o bien 0 y

1 loacutegicos

Vivimos en un mundo analoacutegico y nos parece natural registrar la informacioacuten

de manera analoacutegica Sin embargo trabajar directamente con informacioacuten

analoacutegica resulta poco praacutectico y nada adecuado si queremos procesar esta in-

Se llama electroacutenica digital o discreta a la electroacutenica basada en sentildeales

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

(habitualmente dos)

v es el siacutembolo que identificala unidad de medida del voltaje

el voltio

Esto quiere decir que como sistema digital toda la informacioacuten que

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

cuada utilizando soacutelo los dos valores de tensioacuten posibles lo que lla-

mamos 0 y 1 loacutegicos

CC-BY-SA bull PID_00163597 9 Introduccioacuten a los fundamentos de los computadores

formacioacuten en un computador digital Habraacute que disponer de mecanismos para

digitalizar la informacioacuten es decir para codificarla utilizando soacutelo ceros y unos

122 La codificacioacuten de la informacioacuten

Quizaacutes no hayamos caiacutedo en la cuenta de que en realidad toda la informa-

cioacuten estaacute siempre codificada de una manera u otra Cuando escribimos codi-

ficamos la informacioacuten en palabras que pueden estar compuestas por un

conjunto de siacutembolos diferentes (las letras del abecedario) Cualquier valor

numeacuterico lo codificamos mediante un conjunto de siacutembolos que llamamos

diacutegitos Pues bien los computadores digitales actuales gestionan informacioacuten

codificada utilizando los valores 0 y 1

La codificacioacuten de los nuacutemeros es la que conceptualmente resulta maacutes sencilla

De hecho solo tenemos que entender una idea baacutesica un valor numeacuterico es

un concepto abstracto que tendraacute una representacioacuten u otra seguacuten el sistema

de numeracioacuten (es decir seguacuten el conjunto de reglas de codificacioacuten) que

utilicemosa

Dicho de esta forma puede parecer un poco extrantildeo 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 aacuterabe o el chino con sig-

nos distintos Por lo tanto estamos codificando esta informacioacuten seguacuten

nuestro sistema de representacioacuten

Con los nuacutemeros pasa exactamente lo mismo Un determinado valor numeacuteri-

co es independiente del sistema de representacioacuten que utilicemos Para poder

codificar los valores numeacutericos soacutelo con ceros y unos tenemos que utilizar un

sistema de numeracioacuten 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 Despueacutes

consiguioacute separar el valor numeacuterico del objeto por ejemplo dibujando una

CC-BY-SA bull PID_00163597 10 Introduccioacuten a los fundamentos de los computadores

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

babilidad aprendioacute a dar nombre a este valor numeacuterico independiente del ob-

jeto al que se aplicaba

No debiacutea de ser nada praacutectico tener un nombre para cada valor numeacuterico (de-

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

litar los recuentos de conjuntos ldquograndesrdquo Claro estaacute que la cantidad de

elementos de un grupo teniacutea que ser faacutecil de recordar especialmente cuando el

sistema se extendioacute para trabajar con grupos de grupos En este asunto la ana-

tomiacutea humana ha tenido bastante que ver y por este motivo los ldquogruposrdquo que

maacutes se adoptaron fueron los de cinco los de diez y los de veinte coincidiendo

con el nuacutemero de dedos de una mano de dos manos o de manos y pies

De entre eacutestas la base 10 ha salido ganadora (quizaacutes por la aparicioacuten del cal-

zado quieacuten sabe) y la idea de grupos de grupos acaboacute desembocando en un

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

cioacuten que ocupa un diacutegito estaacute asociada a un grupo de grupos (decimos un peso)

lo que facilitoacute enormemente el desarrollo de la aritmeacutetica

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

numeracioacuten a su propia ldquoanatomiacuteardquo Trabajan utilizando sentildeales sobre las

que diferencian dos niveles de tensioacuten Por lo tanto tendremos que utilizar

un sistema de numeracioacuten en base 2 Ademaacutes cambiar el sistema de nume-

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

ciones aritmeacuteticas Es decir el concepto de suma es independiente del

sistema de numeracioacuten pero la forma de hacer la suma depende de la forma

como representemos los nuacutemeros

Todas estas cuestiones se tratan en el segundo moacutedulo donde se analiza nuestro

sistema de numeracioacuten y se adapta a las caracteriacutesticas de las maacutequinas ademaacutes

de identificar las limitaciones propias de las maacutequinas

123 Los sistemas digitales

Hemos hecho una introduccioacuten al concepto de electroacutenica digital Habraacute que

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

miento de informacioacuten cuaacuteles son las herramientas que nos permiten cons-

truir circuitos complejos para el procesamiento de informacioacuten y en uacuteltimo

teacutermino computadores digitales de propoacutesito general

Conceptualmente la electroacutenica digital es la electroacutenica de los nuacutemeros Aquiacute

las sentildeales eleacutectricas representan nuacutemeros Son faacuteciles de codificar y resistentes

a la degradacioacuten con una codificacioacuten adecuada En los sistemas analoacutegicos

que trabajan con ondas la informacioacuten estaacute contenida en la forma de la onda

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

CC-BY-SA bull PID_00163597 11 Introduccioacuten a los fundamentos de los computadores

informacioacuten con facilidad ademaacutes de requerir circuiteriacutea especiacutefica para cada

aplicacioacuten

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 metodologiacuteas que permitan sistematizar en cierta medida

la construccioacuten de sistemas digitales complejos En este sentido se establece

una diferenciacioacuten 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 moacutedulo 3 dedicado a los circuitos combinacionales y el moacutedulo 4 donde

se trabajan los circuitos secuenciales se encargan de hacer una introduccioacuten a

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

anaacutelisis

Los dos apartados siguientes de este moacutedulo introductorio estaacuten dedicados al

computador digital En el primero encontrareacuteis una descripcioacuten del camino

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

dores actuales Se describen caracteriacutesticas y teacutecnicas que han ido apareciendo

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

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

les El moacutedulo 5 estaacute dedicado a un anaacutelisis de la arquitectura baacutesica que aquiacute

se describe

CC-BY-SA bull PID_00163597 12 Introduccioacuten a los fundamentos de los computadores

2 La evolucioacuten de los computadores

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

macioacuten especialmente en caacutelculos aritmeacuteticos para lo cual se ha utilizado la

tecnologiacutea existente en cada momento Los primeros intentos dieron lugar a

toda una serie de ingenios mecaacutenicos baacutesicos como el aacutebaco o realmente

elaborados y complejos como la maacutequina diferencial de Charles Babbage

Maacutequina analiacutetica de Charles Babbage

Fuente Bettman Archive

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

historia de la computacioacuten por la concepcioacuten de la maacutequina analiacutetica que in-

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

terno El disentildeo de la maacutequina analiacutetica incluiacutea una memoria (mecaacutenica) una

unidad de procesamiento una unidad de control (constituida por ldquobarrilesrdquo

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

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

milar a la maacutequina de escribir)

El descubrimiento de la energiacutea eleacutectrica permitioacute el desarrollo de maacutequinas

electromecaacutenicas que incluiacutean lectores de tarjetas y procesamiento con con-

mutadores De entre este tipo de maacutequinas destaca la maacutequina tabuladora de

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

los Estados Unidos en el antildeo 1890 El censo manual tardaba cerca de 10 antildeos

pero con la maacutequina tabuladora que leiacutea y procesaba (baacutesicamente contaba)

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

antildeos Herman Hollerith es considerado el primer informaacutetico el primero en

hacer un tratamiento automatizado de la informacioacuten

CC-BY-SA bull PID_00163597 13 Introduccioacuten a los fundamentos de los computadores

Maacutequina tabuladora de Herman Hollerith

Creative CommonsAttribution 20 GenericFuente httpenwikipediaorg

Las maacutequinas electromecaacutenicas llegaron a convertirse en los primeros compu-

tadores digitales Konrad Zuse (1910-1995) concibioacute la Z1 que disponiacutea de

memoria mecaacutenica binaria la Z2 que realizaba el procesamiento a partir de

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

concibioacute computadores de releacutes para los laboratorios Bell y Howard Aiken

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

Eacutestas fueron las primeras maacutequinas desarrolladas con propoacutesito comercial

La revolucioacuten electroacutenica en la computacioacuten se inicia durante la Segunda Gue-

rra Mundial El conflicto beacutelico habiacutea animado el desarrollo de dispositivos

electroacutenicos y las experiencias en maacutequinas electromecaacutenicas hicieron que

enseguida se viera la aplicacioacuten de estos dispositivos a la computacioacuten

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

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

terminados por cambios tecnoloacutegicos Dentro de cada generacioacuten aparecen

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

computadores actuales

21 Primera generacioacuten (1940-1955)

Esta primera generacioacuten estaacute marcada por el uso de vaacutelvulas de vaciacuteo y la in-

troduccioacuten de la tecnologiacutea de anillos de ferrita para la memoria Son compu-

tadores de esta primera generacioacuten

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

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

nio constaba de 18000 vaacutelvulas de vaciacuteo 70000 resistencias y 10000 con-

densadores Ocupaba un espacio de 100 m2 pesaba 30 tm y teniacutea un

consumo de 140 kwh

Consumo ENIAC

Para valorar el consumo eleacutectri-co del computador ENIAC (140 kwh) lo podemos com-parar con un electrodomeacutestico de consumo elevado el consu-mo de un horno eleacutectrico estaacute en torno a los 2 kwh

CC-BY-SA bull PID_00163597 14 Introduccioacuten a los fundamentos de los computadores

bull EDVAC (1952) Electronic Discrete Variable Automatic Computer de dimen-

siones maacutes reducidas que el ENIAC Es especial porque es la maacutequina sobre

la que J Von Neumann en 1945 escribioacute 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 Tambieacuten es de destacar el uso por primera vez de

la aritmeacutetica binaria en detrimento de la decimal

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

Con 5400 vaacutelvulas y 1000 palabras de memoria presenta la caracteriacutestica

de programa parcialmente almacenado

Programacioacuten del ENIAC Imagen bajo dominio puacuteblico

Fuente httpeswikipediaorg

22 Segunda generacioacuten (1955-1965)

El paso a la segunda generacioacuten viene marcado por la utilizacioacuten de los transis-

tores en sustitucioacuten de las vaacutelvulas de vaciacuteo Son maacutequinas de esta generacioacuten

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

nal graacutefico Sobre esta maacutequina corrioacute el primer videojuego

bull IBM 7030 Esta maacutequina de 1961 incorpora la idea de segmentacioacuten de

memoria y de memoria virtual teacutecnicas con las que se consiguioacute mejorar

sensiblemente la capacidad la gestioacuten y el rendimiento de la memoria

bull ATLAS de Ferranti Ltd amp U Manchester 1962 Se trata de uno de los primeros

supercomputadores Tecnoloacutegicamente destaca por la incorporacioacuten del uso

de lo que se denominan interrupciones para controlar los perifeacutericos

CC-BY-SA bull PID_00163597 15 Introduccioacuten a los fundamentos de los computadores

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

caacutelculo de 1 megaFLOPS (un milloacuten de operaciones de coma flotante

por segundo) conseguida gracias al paralelismo de las unidades de caacutelculo

ostentoacute el tiacutetulo de maacutequina maacutes raacutepida entre 1964 y 1969

23 Tercera generacioacuten (1965-1970)

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

generacioacuten de computadores y el inicio de la tercera Los circuitos integrados

aportan una reduccioacuten de espacio significativa una reduccioacuten importante del

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

meros minicomputadores De esta generacioacuten podemos destacar

bull IBM 360 1964 Inicia la primera serie de computadores compatibles

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

perifeacutericos

bull DEC PDP8 1965 Primer minicomputador de eacutexito comercial Como

innovaciones presentaba circuitos loacutegicos en moacutedulos integrados (chips)

y un conjunto de liacuteneas de conexioacuten en paralelo para interconectar los

moacutedulos el bus

bull IBM 36085 1968 Es la primera en incorporar el concepto de memoria ca-

cheacute teacutecnica que reduce enormemente el tiempo de acceso a la memoria y que

se ha convertido en un elemento central de los sistemas actuales

24 Cuarta generacioacuten (1970-)

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

un aumento considerable de la densidad de integracioacuten Es este aumento en

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

unidad central de proceso en un uacutenico chip nacen los microprocesadores

el primero de los cuales es el Intel 4004 en 1971

La cuarta generacioacuten se inicia con el desarrollo de este microprocesador Al

mismo tiempo y debido tambieacuten a las mejoras en los procesos de fabricacioacuten

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

las memorias de semiconductores El campo de los computadores personales

estaacute sembrado y pronto germina

bull Altair 8800 1975 Se considera el primer computador personal

bull Supercomputador Cray 1 1976 Incorpora por primera vez el procesa-

miento paralelo

CC-BY-SA bull PID_00163597 16 Introduccioacuten a los fundamentos de los computadores

bull IBM PC 1981 Con el microprocesador Intel 8086 y el sistema operativo

Microsoft DOS marca el inicio de la revolucioacuten de la computacioacuten personal

bull Lisa (Apple) 1983 Incorpora un nuevo dispositivo revolucionario el ratoacuten

y una interfaz de usuario graacutefico (estilo Windows)

IBM PC

Creative CommonsGeneacuterica de AtribucioacutenCompartir-Igual 30Fuente httpeswikipediaorg

CC-BY-SA bull PID_00163597 17 Introduccioacuten a los fundamentos de los computadores

3 iquestCoacutemo soacuten los computadores digitales actuales

Un computador digital es un computador que trabaja con datos numeacutericos

cuya interpretacioacuten depende del formato con que se esteacute trabajando codifi-

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

sentildeales binarias sentildeales sobre las que podemos identificar soacutelo dos valores

distintosa

El concepto de computador es en principio independiente de la tecnologiacutea

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

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

computador digital es un sistema digital complejo

La complejidad que rodea un computador digital hace inviable su concepcioacuten

sin una estructura y organizacioacuten en moacutedulos diferenciados con tareas y fun-

cionalidades bien definidas La estructura general de un computador digital es

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

las flechas indica el flujo de informacioacuten Podriacuteamos definir la ecuacioacuten de

funcionamiento de la forma siguiente

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

Figura 1 Estructura general de un computador

En teacuterminos generales un computador es un dispositivo construido

con el propoacutesito de manipular o transformar informacioacuten para conse-

guir una informacioacuten maacutes elaborada como por ejemplo el resultado de

un problema determinado

CC-BY-SA bull PID_00163597 18 Introduccioacuten a los fundamentos de los computadores

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

tos de conversioacuten de la informacioacuten entre el mundo analoacutegico que nos rodea

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

salida mayoritariamente estaacuten constituidos por dispositivos para almacenar

informacioacuten digital en uno u otro formato pero informacioacuten digital que el

procesador puede recuperar

El procesador estaacute constituido por una unidad central de proceso (CPU

Central Process Unit) y una memoria iacutentimamente relacionada con eacutel (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 reuacutene los recursos de caacutelculo y la unidad de control es

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

para realizar las operaciones que establece el programa en ejecucioacuten

31 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 bull PID_00163597 19 Introduccioacuten a los fundamentos de los computadores

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

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

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

dicalmente del tipo de programacioacuten que se practicaba en los computadores

precedentes y que se basaba en la modificacioacuten de los circuitos electroacutenicos

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

mos identificar estas dos caracteriacutesticas

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 caracteriacutestica dota al

computador de una amplia generalidad De la otra la comunicacioacuten entre la

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

botella en el rendimiento de la maacutequina

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 uacutenica tarea el ciclo de ejecucioacuten de

instrucciones

Figura 4 Arquitectura de Von Neumann

Con un procesador de este tipo la estructura baacutesica de un computador digital

es la que aparece en la figura 5

Figura 5 Arquitectura de un computador tipo Von Neumann

CC-BY-SA bull PID_00163597 20 Introduccioacuten a los fundamentos de los computadores

32 La arquitectura de Harvard

La arquitectura de Von Neumann tiene en siacute misma dos grandes limitaciones

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

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

pliacutecita la idea de la ejecucioacuten secuencial es decir de la ejecucioacuten de una uacutenica

instruccioacuten al mismo tiempo lo cual limita las posibilidades de ejecucioacuten en

paralelo

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

tura de Harvard La caracteriacutestica 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 limitacioacuten 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 tambieacuten limita la posibilidad de la

automodificacioacuten 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 electroacutenica distribuida Su estructura general la podemos

ver reflejada en la figura 6

Figura 6 Arquitectura de Harvard

Automodificacioacuten del coacutedigo

La automodificacioacuten del coacutedi-go (la capacidad de un progra-ma para cambiarse a siacute mismo) ha sido uno de los recursos que se ha aprovechado para elabo-rar coacutedigo malintencionado como los virus

CC-BY-SA bull PID_00163597 21 Introduccioacuten a los fundamentos de los computadores

Resumen

En este moacutedulo se hace una introduccioacuten a los conceptos que se trabajan a lo

largo de los moacutedulos siguientes la codificacioacuten adecuada de la informacioacuten

para interpretarla y tratarla dentro de los computadores la tecnologiacutea con la

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

los computadores

Los computadores actuales se presentan como el resultado de una evolucioacuten

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

baacutesica fijada en la primera generacioacuten de computadores con la incorporacioacuten

del concepto de programa almacenado y se enumeran los principales cambios

tecnoloacutegicos que han permitido mejorar el rendimiento de las maacutequinas hasta

el momento actual

Se dedica un apartado a describir con maacutes detalle la arquitectura baacutesica de los

computadores digitales indicando la relacioacuten 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 bull PID_00163597 23 Introduccioacuten a los fundamentos de los computadores

Bibliografiacutea

Augarten S (1984) Bit by Bit An Illustrated History of Computers Nueva York Ticknor ampFields

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

CC-BY-SA bull PID_00163597 6 Introduccioacuten a los fundamentos de los computadores

Objetivos

El objetivo de este moacutedulo es presentar la estructura baacutesica de un computador

digital poniendo de manifiesto los conocimientos que se trabajaraacuten para en-

tender en profundidad su funcionamiento y su disentildeo Con este moacutedulo se

persigue

1 Saber diferenciar entre la electroacutenica digital y la electroacutenica analoacutegica

2 Entender que es posible codificar cualquier informacioacuten con un conjunto

reducido de siacutembolos como 0 y 1

3 Conocer a grandes rasgos la evolucioacuten de los computadores y las mejoras

tecnoloacutegicas que han marcado cambios cualitativos profundos

4 Conocer la arquitectura baacutesica de un computador digital actual

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

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

rasgos A lo largo de los moacutedulos siguientes se iraacuten presentando conceptos

herramientas y metodologiacuteas para entender con profundidad el funcionamiento

y la construccioacuten de este tipo de maacutequinas

CC-BY-SA bull PID_00163597 7 Introduccioacuten a los fundamentos de los computadores

1 El estudio de los fundamentos de los computadores

11 iquestPor queacute estudiar los fundamentos de los computadores

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

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

mos utilizar los computadores soacutelo como una herramienta que en uacuteltimo

teacutermino seremos usuarios de las maacutequinas y que como tales el conocimiento

de la organizacioacuten interna del computador tiene poca utilidad La conclusioacuten

seriacutea que se trata de una materia que tiene intereacutes para un nuacutemero reducido

de ingenieros soacutelo 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 anaacutelisis de sistemas o al desarrollo de circuiteriacutea especiacutefica El desarrollo

de aplicaciones optimizadas requiere del conocimiento de los paradigmas baacute-

sicos de funcionamiento de las maacutequinas donde se ejecutaraacuten y eacutestas 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 metodoloacutegicas para su disentildeo y siacutentesis nos abre el camino al

desarrollo de sistemas digitales especiacuteficos

No se trata soacutelo de conocimientos de cultura general Los conceptos baacutesicos

del funcionamiento de los computadores son conocimientos necesarios para

aquel que quiera que trabajar en el disentildeo de sistemas electroacutenicos en la pro-

gramacioacuten de los mismos o en el desarrollo de aplicaciones especiacuteficas que re-

quieran un cierto grado de optimizacioacuten

12 iquestQueacute tenemos que saber para entender los computadores

Los computadores actuales son aparatos electroacutenicos La electroacutenica finalmente

trabaja con sentildeales eleacutectricas iquestCoacutemo podemos procesar la informacioacuten del

mundo que nos rodea mediante sentildeales eleacutectricas

Hemos de saber coacutemo se codifica la informacioacuten que tenemos que procesar

dentro de las maacutequinas Tenemos que determinar coacutemo son los datos y cuaacuteles

son las limitaciones impliacutecitas en las maacutequinas La matemaacutetica nos da herra-

mientas para codificar adecuadamente la informacioacuten 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 electroacuteni-co programable disentildeado para controlar procesos secuenciales en un entorno industrial

CC-BY-SA bull PID_00163597 8 Introduccioacuten a los fundamentos de los computadores

Los computadores se basan en la electroacutenica digital Sin embargo iquestqueacute es la

electroacutenica digital iquestEn queacute se diferencia de la que no es digital En definitiva

iquestcuaacuteles son las bases de funcionamiento de la tecnologiacutea con la que se dise-

ntildean las maacutequinas digitales

Por otra parte iquestcoacutemo podemos utilizar la electroacutenica digital para construir un

computador digital Tenemos que disponer de metodologiacuteas que de manera

organizada nos permitan concebir sistemas digitales complejos y en particular

concretarlo sobre la organizacioacuten de un computador convencional

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

pero a modo de introduccioacuten los apartados siguientes nos dan algunas

pinceladas al respecto

121 iquestQueacute es la electroacutenica digital

En contraposicioacuten en la electroacutenica analoacutegica las sentildeales pueden variar de for-

ma continua es decir no estaacuten reducidas a un conjunto (pequentildeo) de valores

diferentes En una sentildeal digital soacutelo se diferencia entre el valor alto de tensioacuten

y el valor bajo de tensioacuten por ejemplo 0 V y 5 V En cambio una sentildeal analoacute-

gica puede registrar cualquier valor de tensioacuten 01 V o 02 V o 023 V o 235 V

o 113 V o cualquier otro dentro de los maacutergenes de funcionamiento y cada

valor se considera diferente

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

cir los dispositivos basados en la electroacutenica digital y los computadores en

particular) trabajan especialmente bien cuando sobre las sentildeales tan soacutelo se

identifican dos valores de tensioacuten diferentes Estos valores reciben denomina-

ciones diferentes seguacuten el aacutembito de trabajo como verdad y falso o bien 0 y

1 loacutegicos

Vivimos en un mundo analoacutegico y nos parece natural registrar la informacioacuten

de manera analoacutegica Sin embargo trabajar directamente con informacioacuten

analoacutegica resulta poco praacutectico y nada adecuado si queremos procesar esta in-

Se llama electroacutenica digital o discreta a la electroacutenica basada en sentildeales

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

(habitualmente dos)

v es el siacutembolo que identificala unidad de medida del voltaje

el voltio

Esto quiere decir que como sistema digital toda la informacioacuten que

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

cuada utilizando soacutelo los dos valores de tensioacuten posibles lo que lla-

mamos 0 y 1 loacutegicos

CC-BY-SA bull PID_00163597 9 Introduccioacuten a los fundamentos de los computadores

formacioacuten en un computador digital Habraacute que disponer de mecanismos para

digitalizar la informacioacuten es decir para codificarla utilizando soacutelo ceros y unos

122 La codificacioacuten de la informacioacuten

Quizaacutes no hayamos caiacutedo en la cuenta de que en realidad toda la informa-

cioacuten estaacute siempre codificada de una manera u otra Cuando escribimos codi-

ficamos la informacioacuten en palabras que pueden estar compuestas por un

conjunto de siacutembolos diferentes (las letras del abecedario) Cualquier valor

numeacuterico lo codificamos mediante un conjunto de siacutembolos que llamamos

diacutegitos Pues bien los computadores digitales actuales gestionan informacioacuten

codificada utilizando los valores 0 y 1

La codificacioacuten de los nuacutemeros es la que conceptualmente resulta maacutes sencilla

De hecho solo tenemos que entender una idea baacutesica un valor numeacuterico es

un concepto abstracto que tendraacute una representacioacuten u otra seguacuten el sistema

de numeracioacuten (es decir seguacuten el conjunto de reglas de codificacioacuten) que

utilicemosa

Dicho de esta forma puede parecer un poco extrantildeo 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 aacuterabe o el chino con sig-

nos distintos Por lo tanto estamos codificando esta informacioacuten seguacuten

nuestro sistema de representacioacuten

Con los nuacutemeros pasa exactamente lo mismo Un determinado valor numeacuteri-

co es independiente del sistema de representacioacuten que utilicemos Para poder

codificar los valores numeacutericos soacutelo con ceros y unos tenemos que utilizar un

sistema de numeracioacuten 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 Despueacutes

consiguioacute separar el valor numeacuterico del objeto por ejemplo dibujando una

CC-BY-SA bull PID_00163597 10 Introduccioacuten a los fundamentos de los computadores

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

babilidad aprendioacute a dar nombre a este valor numeacuterico independiente del ob-

jeto al que se aplicaba

No debiacutea de ser nada praacutectico tener un nombre para cada valor numeacuterico (de-

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

litar los recuentos de conjuntos ldquograndesrdquo Claro estaacute que la cantidad de

elementos de un grupo teniacutea que ser faacutecil de recordar especialmente cuando el

sistema se extendioacute para trabajar con grupos de grupos En este asunto la ana-

tomiacutea humana ha tenido bastante que ver y por este motivo los ldquogruposrdquo que

maacutes se adoptaron fueron los de cinco los de diez y los de veinte coincidiendo

con el nuacutemero de dedos de una mano de dos manos o de manos y pies

De entre eacutestas la base 10 ha salido ganadora (quizaacutes por la aparicioacuten del cal-

zado quieacuten sabe) y la idea de grupos de grupos acaboacute desembocando en un

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

cioacuten que ocupa un diacutegito estaacute asociada a un grupo de grupos (decimos un peso)

lo que facilitoacute enormemente el desarrollo de la aritmeacutetica

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

numeracioacuten a su propia ldquoanatomiacuteardquo Trabajan utilizando sentildeales sobre las

que diferencian dos niveles de tensioacuten Por lo tanto tendremos que utilizar

un sistema de numeracioacuten en base 2 Ademaacutes cambiar el sistema de nume-

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

ciones aritmeacuteticas Es decir el concepto de suma es independiente del

sistema de numeracioacuten pero la forma de hacer la suma depende de la forma

como representemos los nuacutemeros

Todas estas cuestiones se tratan en el segundo moacutedulo donde se analiza nuestro

sistema de numeracioacuten y se adapta a las caracteriacutesticas de las maacutequinas ademaacutes

de identificar las limitaciones propias de las maacutequinas

123 Los sistemas digitales

Hemos hecho una introduccioacuten al concepto de electroacutenica digital Habraacute que

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

miento de informacioacuten cuaacuteles son las herramientas que nos permiten cons-

truir circuitos complejos para el procesamiento de informacioacuten y en uacuteltimo

teacutermino computadores digitales de propoacutesito general

Conceptualmente la electroacutenica digital es la electroacutenica de los nuacutemeros Aquiacute

las sentildeales eleacutectricas representan nuacutemeros Son faacuteciles de codificar y resistentes

a la degradacioacuten con una codificacioacuten adecuada En los sistemas analoacutegicos

que trabajan con ondas la informacioacuten estaacute contenida en la forma de la onda

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

CC-BY-SA bull PID_00163597 11 Introduccioacuten a los fundamentos de los computadores

informacioacuten con facilidad ademaacutes de requerir circuiteriacutea especiacutefica para cada

aplicacioacuten

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 metodologiacuteas que permitan sistematizar en cierta medida

la construccioacuten de sistemas digitales complejos En este sentido se establece

una diferenciacioacuten 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 moacutedulo 3 dedicado a los circuitos combinacionales y el moacutedulo 4 donde

se trabajan los circuitos secuenciales se encargan de hacer una introduccioacuten a

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

anaacutelisis

Los dos apartados siguientes de este moacutedulo introductorio estaacuten dedicados al

computador digital En el primero encontrareacuteis una descripcioacuten del camino

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

dores actuales Se describen caracteriacutesticas y teacutecnicas que han ido apareciendo

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

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

les El moacutedulo 5 estaacute dedicado a un anaacutelisis de la arquitectura baacutesica que aquiacute

se describe

CC-BY-SA bull PID_00163597 12 Introduccioacuten a los fundamentos de los computadores

2 La evolucioacuten de los computadores

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

macioacuten especialmente en caacutelculos aritmeacuteticos para lo cual se ha utilizado la

tecnologiacutea existente en cada momento Los primeros intentos dieron lugar a

toda una serie de ingenios mecaacutenicos baacutesicos como el aacutebaco o realmente

elaborados y complejos como la maacutequina diferencial de Charles Babbage

Maacutequina analiacutetica de Charles Babbage

Fuente Bettman Archive

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

historia de la computacioacuten por la concepcioacuten de la maacutequina analiacutetica que in-

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

terno El disentildeo de la maacutequina analiacutetica incluiacutea una memoria (mecaacutenica) una

unidad de procesamiento una unidad de control (constituida por ldquobarrilesrdquo

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

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

milar a la maacutequina de escribir)

El descubrimiento de la energiacutea eleacutectrica permitioacute el desarrollo de maacutequinas

electromecaacutenicas que incluiacutean lectores de tarjetas y procesamiento con con-

mutadores De entre este tipo de maacutequinas destaca la maacutequina tabuladora de

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

los Estados Unidos en el antildeo 1890 El censo manual tardaba cerca de 10 antildeos

pero con la maacutequina tabuladora que leiacutea y procesaba (baacutesicamente contaba)

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

antildeos Herman Hollerith es considerado el primer informaacutetico el primero en

hacer un tratamiento automatizado de la informacioacuten

CC-BY-SA bull PID_00163597 13 Introduccioacuten a los fundamentos de los computadores

Maacutequina tabuladora de Herman Hollerith

Creative CommonsAttribution 20 GenericFuente httpenwikipediaorg

Las maacutequinas electromecaacutenicas llegaron a convertirse en los primeros compu-

tadores digitales Konrad Zuse (1910-1995) concibioacute la Z1 que disponiacutea de

memoria mecaacutenica binaria la Z2 que realizaba el procesamiento a partir de

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

concibioacute computadores de releacutes para los laboratorios Bell y Howard Aiken

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

Eacutestas fueron las primeras maacutequinas desarrolladas con propoacutesito comercial

La revolucioacuten electroacutenica en la computacioacuten se inicia durante la Segunda Gue-

rra Mundial El conflicto beacutelico habiacutea animado el desarrollo de dispositivos

electroacutenicos y las experiencias en maacutequinas electromecaacutenicas hicieron que

enseguida se viera la aplicacioacuten de estos dispositivos a la computacioacuten

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

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

terminados por cambios tecnoloacutegicos Dentro de cada generacioacuten aparecen

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

computadores actuales

21 Primera generacioacuten (1940-1955)

Esta primera generacioacuten estaacute marcada por el uso de vaacutelvulas de vaciacuteo y la in-

troduccioacuten de la tecnologiacutea de anillos de ferrita para la memoria Son compu-

tadores de esta primera generacioacuten

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

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

nio constaba de 18000 vaacutelvulas de vaciacuteo 70000 resistencias y 10000 con-

densadores Ocupaba un espacio de 100 m2 pesaba 30 tm y teniacutea un

consumo de 140 kwh

Consumo ENIAC

Para valorar el consumo eleacutectri-co del computador ENIAC (140 kwh) lo podemos com-parar con un electrodomeacutestico de consumo elevado el consu-mo de un horno eleacutectrico estaacute en torno a los 2 kwh

CC-BY-SA bull PID_00163597 14 Introduccioacuten a los fundamentos de los computadores

bull EDVAC (1952) Electronic Discrete Variable Automatic Computer de dimen-

siones maacutes reducidas que el ENIAC Es especial porque es la maacutequina sobre

la que J Von Neumann en 1945 escribioacute 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 Tambieacuten es de destacar el uso por primera vez de

la aritmeacutetica binaria en detrimento de la decimal

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

Con 5400 vaacutelvulas y 1000 palabras de memoria presenta la caracteriacutestica

de programa parcialmente almacenado

Programacioacuten del ENIAC Imagen bajo dominio puacuteblico

Fuente httpeswikipediaorg

22 Segunda generacioacuten (1955-1965)

El paso a la segunda generacioacuten viene marcado por la utilizacioacuten de los transis-

tores en sustitucioacuten de las vaacutelvulas de vaciacuteo Son maacutequinas de esta generacioacuten

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

nal graacutefico Sobre esta maacutequina corrioacute el primer videojuego

bull IBM 7030 Esta maacutequina de 1961 incorpora la idea de segmentacioacuten de

memoria y de memoria virtual teacutecnicas con las que se consiguioacute mejorar

sensiblemente la capacidad la gestioacuten y el rendimiento de la memoria

bull ATLAS de Ferranti Ltd amp U Manchester 1962 Se trata de uno de los primeros

supercomputadores Tecnoloacutegicamente destaca por la incorporacioacuten del uso

de lo que se denominan interrupciones para controlar los perifeacutericos

CC-BY-SA bull PID_00163597 15 Introduccioacuten a los fundamentos de los computadores

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

caacutelculo de 1 megaFLOPS (un milloacuten de operaciones de coma flotante

por segundo) conseguida gracias al paralelismo de las unidades de caacutelculo

ostentoacute el tiacutetulo de maacutequina maacutes raacutepida entre 1964 y 1969

23 Tercera generacioacuten (1965-1970)

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

generacioacuten de computadores y el inicio de la tercera Los circuitos integrados

aportan una reduccioacuten de espacio significativa una reduccioacuten importante del

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

meros minicomputadores De esta generacioacuten podemos destacar

bull IBM 360 1964 Inicia la primera serie de computadores compatibles

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

perifeacutericos

bull DEC PDP8 1965 Primer minicomputador de eacutexito comercial Como

innovaciones presentaba circuitos loacutegicos en moacutedulos integrados (chips)

y un conjunto de liacuteneas de conexioacuten en paralelo para interconectar los

moacutedulos el bus

bull IBM 36085 1968 Es la primera en incorporar el concepto de memoria ca-

cheacute teacutecnica que reduce enormemente el tiempo de acceso a la memoria y que

se ha convertido en un elemento central de los sistemas actuales

24 Cuarta generacioacuten (1970-)

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

un aumento considerable de la densidad de integracioacuten Es este aumento en

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

unidad central de proceso en un uacutenico chip nacen los microprocesadores

el primero de los cuales es el Intel 4004 en 1971

La cuarta generacioacuten se inicia con el desarrollo de este microprocesador Al

mismo tiempo y debido tambieacuten a las mejoras en los procesos de fabricacioacuten

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

las memorias de semiconductores El campo de los computadores personales

estaacute sembrado y pronto germina

bull Altair 8800 1975 Se considera el primer computador personal

bull Supercomputador Cray 1 1976 Incorpora por primera vez el procesa-

miento paralelo

CC-BY-SA bull PID_00163597 16 Introduccioacuten a los fundamentos de los computadores

bull IBM PC 1981 Con el microprocesador Intel 8086 y el sistema operativo

Microsoft DOS marca el inicio de la revolucioacuten de la computacioacuten personal

bull Lisa (Apple) 1983 Incorpora un nuevo dispositivo revolucionario el ratoacuten

y una interfaz de usuario graacutefico (estilo Windows)

IBM PC

Creative CommonsGeneacuterica de AtribucioacutenCompartir-Igual 30Fuente httpeswikipediaorg

CC-BY-SA bull PID_00163597 17 Introduccioacuten a los fundamentos de los computadores

3 iquestCoacutemo soacuten los computadores digitales actuales

Un computador digital es un computador que trabaja con datos numeacutericos

cuya interpretacioacuten depende del formato con que se esteacute trabajando codifi-

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

sentildeales binarias sentildeales sobre las que podemos identificar soacutelo dos valores

distintosa

El concepto de computador es en principio independiente de la tecnologiacutea

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

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

computador digital es un sistema digital complejo

La complejidad que rodea un computador digital hace inviable su concepcioacuten

sin una estructura y organizacioacuten en moacutedulos diferenciados con tareas y fun-

cionalidades bien definidas La estructura general de un computador digital es

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

las flechas indica el flujo de informacioacuten Podriacuteamos definir la ecuacioacuten de

funcionamiento de la forma siguiente

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

Figura 1 Estructura general de un computador

En teacuterminos generales un computador es un dispositivo construido

con el propoacutesito de manipular o transformar informacioacuten para conse-

guir una informacioacuten maacutes elaborada como por ejemplo el resultado de

un problema determinado

CC-BY-SA bull PID_00163597 18 Introduccioacuten a los fundamentos de los computadores

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

tos de conversioacuten de la informacioacuten entre el mundo analoacutegico que nos rodea

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

salida mayoritariamente estaacuten constituidos por dispositivos para almacenar

informacioacuten digital en uno u otro formato pero informacioacuten digital que el

procesador puede recuperar

El procesador estaacute constituido por una unidad central de proceso (CPU

Central Process Unit) y una memoria iacutentimamente relacionada con eacutel (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 reuacutene los recursos de caacutelculo y la unidad de control es

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

para realizar las operaciones que establece el programa en ejecucioacuten

31 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 bull PID_00163597 19 Introduccioacuten a los fundamentos de los computadores

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

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

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

dicalmente del tipo de programacioacuten que se practicaba en los computadores

precedentes y que se basaba en la modificacioacuten de los circuitos electroacutenicos

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

mos identificar estas dos caracteriacutesticas

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 caracteriacutestica dota al

computador de una amplia generalidad De la otra la comunicacioacuten entre la

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

botella en el rendimiento de la maacutequina

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 uacutenica tarea el ciclo de ejecucioacuten de

instrucciones

Figura 4 Arquitectura de Von Neumann

Con un procesador de este tipo la estructura baacutesica de un computador digital

es la que aparece en la figura 5

Figura 5 Arquitectura de un computador tipo Von Neumann

CC-BY-SA bull PID_00163597 20 Introduccioacuten a los fundamentos de los computadores

32 La arquitectura de Harvard

La arquitectura de Von Neumann tiene en siacute misma dos grandes limitaciones

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

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

pliacutecita la idea de la ejecucioacuten secuencial es decir de la ejecucioacuten de una uacutenica

instruccioacuten al mismo tiempo lo cual limita las posibilidades de ejecucioacuten en

paralelo

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

tura de Harvard La caracteriacutestica 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 limitacioacuten 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 tambieacuten limita la posibilidad de la

automodificacioacuten 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 electroacutenica distribuida Su estructura general la podemos

ver reflejada en la figura 6

Figura 6 Arquitectura de Harvard

Automodificacioacuten del coacutedigo

La automodificacioacuten del coacutedi-go (la capacidad de un progra-ma para cambiarse a siacute mismo) ha sido uno de los recursos que se ha aprovechado para elabo-rar coacutedigo malintencionado como los virus

CC-BY-SA bull PID_00163597 21 Introduccioacuten a los fundamentos de los computadores

Resumen

En este moacutedulo se hace una introduccioacuten a los conceptos que se trabajan a lo

largo de los moacutedulos siguientes la codificacioacuten adecuada de la informacioacuten

para interpretarla y tratarla dentro de los computadores la tecnologiacutea con la

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

los computadores

Los computadores actuales se presentan como el resultado de una evolucioacuten

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

baacutesica fijada en la primera generacioacuten de computadores con la incorporacioacuten

del concepto de programa almacenado y se enumeran los principales cambios

tecnoloacutegicos que han permitido mejorar el rendimiento de las maacutequinas hasta

el momento actual

Se dedica un apartado a describir con maacutes detalle la arquitectura baacutesica de los

computadores digitales indicando la relacioacuten 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 bull PID_00163597 23 Introduccioacuten a los fundamentos de los computadores

Bibliografiacutea

Augarten S (1984) Bit by Bit An Illustrated History of Computers Nueva York Ticknor ampFields

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

CC-BY-SA bull PID_00163597 7 Introduccioacuten a los fundamentos de los computadores

1 El estudio de los fundamentos de los computadores

11 iquestPor queacute estudiar los fundamentos de los computadores

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

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

mos utilizar los computadores soacutelo como una herramienta que en uacuteltimo

teacutermino seremos usuarios de las maacutequinas y que como tales el conocimiento

de la organizacioacuten interna del computador tiene poca utilidad La conclusioacuten

seriacutea que se trata de una materia que tiene intereacutes para un nuacutemero reducido

de ingenieros soacutelo 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 anaacutelisis de sistemas o al desarrollo de circuiteriacutea especiacutefica El desarrollo

de aplicaciones optimizadas requiere del conocimiento de los paradigmas baacute-

sicos de funcionamiento de las maacutequinas donde se ejecutaraacuten y eacutestas 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 metodoloacutegicas para su disentildeo y siacutentesis nos abre el camino al

desarrollo de sistemas digitales especiacuteficos

No se trata soacutelo de conocimientos de cultura general Los conceptos baacutesicos

del funcionamiento de los computadores son conocimientos necesarios para

aquel que quiera que trabajar en el disentildeo de sistemas electroacutenicos en la pro-

gramacioacuten de los mismos o en el desarrollo de aplicaciones especiacuteficas que re-

quieran un cierto grado de optimizacioacuten

12 iquestQueacute tenemos que saber para entender los computadores

Los computadores actuales son aparatos electroacutenicos La electroacutenica finalmente

trabaja con sentildeales eleacutectricas iquestCoacutemo podemos procesar la informacioacuten del

mundo que nos rodea mediante sentildeales eleacutectricas

Hemos de saber coacutemo se codifica la informacioacuten que tenemos que procesar

dentro de las maacutequinas Tenemos que determinar coacutemo son los datos y cuaacuteles

son las limitaciones impliacutecitas en las maacutequinas La matemaacutetica nos da herra-

mientas para codificar adecuadamente la informacioacuten 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 electroacuteni-co programable disentildeado para controlar procesos secuenciales en un entorno industrial

CC-BY-SA bull PID_00163597 8 Introduccioacuten a los fundamentos de los computadores

Los computadores se basan en la electroacutenica digital Sin embargo iquestqueacute es la

electroacutenica digital iquestEn queacute se diferencia de la que no es digital En definitiva

iquestcuaacuteles son las bases de funcionamiento de la tecnologiacutea con la que se dise-

ntildean las maacutequinas digitales

Por otra parte iquestcoacutemo podemos utilizar la electroacutenica digital para construir un

computador digital Tenemos que disponer de metodologiacuteas que de manera

organizada nos permitan concebir sistemas digitales complejos y en particular

concretarlo sobre la organizacioacuten de un computador convencional

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

pero a modo de introduccioacuten los apartados siguientes nos dan algunas

pinceladas al respecto

121 iquestQueacute es la electroacutenica digital

En contraposicioacuten en la electroacutenica analoacutegica las sentildeales pueden variar de for-

ma continua es decir no estaacuten reducidas a un conjunto (pequentildeo) de valores

diferentes En una sentildeal digital soacutelo se diferencia entre el valor alto de tensioacuten

y el valor bajo de tensioacuten por ejemplo 0 V y 5 V En cambio una sentildeal analoacute-

gica puede registrar cualquier valor de tensioacuten 01 V o 02 V o 023 V o 235 V

o 113 V o cualquier otro dentro de los maacutergenes de funcionamiento y cada

valor se considera diferente

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

cir los dispositivos basados en la electroacutenica digital y los computadores en

particular) trabajan especialmente bien cuando sobre las sentildeales tan soacutelo se

identifican dos valores de tensioacuten diferentes Estos valores reciben denomina-

ciones diferentes seguacuten el aacutembito de trabajo como verdad y falso o bien 0 y

1 loacutegicos

Vivimos en un mundo analoacutegico y nos parece natural registrar la informacioacuten

de manera analoacutegica Sin embargo trabajar directamente con informacioacuten

analoacutegica resulta poco praacutectico y nada adecuado si queremos procesar esta in-

Se llama electroacutenica digital o discreta a la electroacutenica basada en sentildeales

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

(habitualmente dos)

v es el siacutembolo que identificala unidad de medida del voltaje

el voltio

Esto quiere decir que como sistema digital toda la informacioacuten que

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

cuada utilizando soacutelo los dos valores de tensioacuten posibles lo que lla-

mamos 0 y 1 loacutegicos

CC-BY-SA bull PID_00163597 9 Introduccioacuten a los fundamentos de los computadores

formacioacuten en un computador digital Habraacute que disponer de mecanismos para

digitalizar la informacioacuten es decir para codificarla utilizando soacutelo ceros y unos

122 La codificacioacuten de la informacioacuten

Quizaacutes no hayamos caiacutedo en la cuenta de que en realidad toda la informa-

cioacuten estaacute siempre codificada de una manera u otra Cuando escribimos codi-

ficamos la informacioacuten en palabras que pueden estar compuestas por un

conjunto de siacutembolos diferentes (las letras del abecedario) Cualquier valor

numeacuterico lo codificamos mediante un conjunto de siacutembolos que llamamos

diacutegitos Pues bien los computadores digitales actuales gestionan informacioacuten

codificada utilizando los valores 0 y 1

La codificacioacuten de los nuacutemeros es la que conceptualmente resulta maacutes sencilla

De hecho solo tenemos que entender una idea baacutesica un valor numeacuterico es

un concepto abstracto que tendraacute una representacioacuten u otra seguacuten el sistema

de numeracioacuten (es decir seguacuten el conjunto de reglas de codificacioacuten) que

utilicemosa

Dicho de esta forma puede parecer un poco extrantildeo 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 aacuterabe o el chino con sig-

nos distintos Por lo tanto estamos codificando esta informacioacuten seguacuten

nuestro sistema de representacioacuten

Con los nuacutemeros pasa exactamente lo mismo Un determinado valor numeacuteri-

co es independiente del sistema de representacioacuten que utilicemos Para poder

codificar los valores numeacutericos soacutelo con ceros y unos tenemos que utilizar un

sistema de numeracioacuten 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 Despueacutes

consiguioacute separar el valor numeacuterico del objeto por ejemplo dibujando una

CC-BY-SA bull PID_00163597 10 Introduccioacuten a los fundamentos de los computadores

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

babilidad aprendioacute a dar nombre a este valor numeacuterico independiente del ob-

jeto al que se aplicaba

No debiacutea de ser nada praacutectico tener un nombre para cada valor numeacuterico (de-

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

litar los recuentos de conjuntos ldquograndesrdquo Claro estaacute que la cantidad de

elementos de un grupo teniacutea que ser faacutecil de recordar especialmente cuando el

sistema se extendioacute para trabajar con grupos de grupos En este asunto la ana-

tomiacutea humana ha tenido bastante que ver y por este motivo los ldquogruposrdquo que

maacutes se adoptaron fueron los de cinco los de diez y los de veinte coincidiendo

con el nuacutemero de dedos de una mano de dos manos o de manos y pies

De entre eacutestas la base 10 ha salido ganadora (quizaacutes por la aparicioacuten del cal-

zado quieacuten sabe) y la idea de grupos de grupos acaboacute desembocando en un

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

cioacuten que ocupa un diacutegito estaacute asociada a un grupo de grupos (decimos un peso)

lo que facilitoacute enormemente el desarrollo de la aritmeacutetica

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

numeracioacuten a su propia ldquoanatomiacuteardquo Trabajan utilizando sentildeales sobre las

que diferencian dos niveles de tensioacuten Por lo tanto tendremos que utilizar

un sistema de numeracioacuten en base 2 Ademaacutes cambiar el sistema de nume-

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

ciones aritmeacuteticas Es decir el concepto de suma es independiente del

sistema de numeracioacuten pero la forma de hacer la suma depende de la forma

como representemos los nuacutemeros

Todas estas cuestiones se tratan en el segundo moacutedulo donde se analiza nuestro

sistema de numeracioacuten y se adapta a las caracteriacutesticas de las maacutequinas ademaacutes

de identificar las limitaciones propias de las maacutequinas

123 Los sistemas digitales

Hemos hecho una introduccioacuten al concepto de electroacutenica digital Habraacute que

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

miento de informacioacuten cuaacuteles son las herramientas que nos permiten cons-

truir circuitos complejos para el procesamiento de informacioacuten y en uacuteltimo

teacutermino computadores digitales de propoacutesito general

Conceptualmente la electroacutenica digital es la electroacutenica de los nuacutemeros Aquiacute

las sentildeales eleacutectricas representan nuacutemeros Son faacuteciles de codificar y resistentes

a la degradacioacuten con una codificacioacuten adecuada En los sistemas analoacutegicos

que trabajan con ondas la informacioacuten estaacute contenida en la forma de la onda

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

CC-BY-SA bull PID_00163597 11 Introduccioacuten a los fundamentos de los computadores

informacioacuten con facilidad ademaacutes de requerir circuiteriacutea especiacutefica para cada

aplicacioacuten

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 metodologiacuteas que permitan sistematizar en cierta medida

la construccioacuten de sistemas digitales complejos En este sentido se establece

una diferenciacioacuten 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 moacutedulo 3 dedicado a los circuitos combinacionales y el moacutedulo 4 donde

se trabajan los circuitos secuenciales se encargan de hacer una introduccioacuten a

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

anaacutelisis

Los dos apartados siguientes de este moacutedulo introductorio estaacuten dedicados al

computador digital En el primero encontrareacuteis una descripcioacuten del camino

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

dores actuales Se describen caracteriacutesticas y teacutecnicas que han ido apareciendo

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

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

les El moacutedulo 5 estaacute dedicado a un anaacutelisis de la arquitectura baacutesica que aquiacute

se describe

CC-BY-SA bull PID_00163597 12 Introduccioacuten a los fundamentos de los computadores

2 La evolucioacuten de los computadores

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

macioacuten especialmente en caacutelculos aritmeacuteticos para lo cual se ha utilizado la

tecnologiacutea existente en cada momento Los primeros intentos dieron lugar a

toda una serie de ingenios mecaacutenicos baacutesicos como el aacutebaco o realmente

elaborados y complejos como la maacutequina diferencial de Charles Babbage

Maacutequina analiacutetica de Charles Babbage

Fuente Bettman Archive

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

historia de la computacioacuten por la concepcioacuten de la maacutequina analiacutetica que in-

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

terno El disentildeo de la maacutequina analiacutetica incluiacutea una memoria (mecaacutenica) una

unidad de procesamiento una unidad de control (constituida por ldquobarrilesrdquo

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

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

milar a la maacutequina de escribir)

El descubrimiento de la energiacutea eleacutectrica permitioacute el desarrollo de maacutequinas

electromecaacutenicas que incluiacutean lectores de tarjetas y procesamiento con con-

mutadores De entre este tipo de maacutequinas destaca la maacutequina tabuladora de

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

los Estados Unidos en el antildeo 1890 El censo manual tardaba cerca de 10 antildeos

pero con la maacutequina tabuladora que leiacutea y procesaba (baacutesicamente contaba)

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

antildeos Herman Hollerith es considerado el primer informaacutetico el primero en

hacer un tratamiento automatizado de la informacioacuten

CC-BY-SA bull PID_00163597 13 Introduccioacuten a los fundamentos de los computadores

Maacutequina tabuladora de Herman Hollerith

Creative CommonsAttribution 20 GenericFuente httpenwikipediaorg

Las maacutequinas electromecaacutenicas llegaron a convertirse en los primeros compu-

tadores digitales Konrad Zuse (1910-1995) concibioacute la Z1 que disponiacutea de

memoria mecaacutenica binaria la Z2 que realizaba el procesamiento a partir de

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

concibioacute computadores de releacutes para los laboratorios Bell y Howard Aiken

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

Eacutestas fueron las primeras maacutequinas desarrolladas con propoacutesito comercial

La revolucioacuten electroacutenica en la computacioacuten se inicia durante la Segunda Gue-

rra Mundial El conflicto beacutelico habiacutea animado el desarrollo de dispositivos

electroacutenicos y las experiencias en maacutequinas electromecaacutenicas hicieron que

enseguida se viera la aplicacioacuten de estos dispositivos a la computacioacuten

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

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

terminados por cambios tecnoloacutegicos Dentro de cada generacioacuten aparecen

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

computadores actuales

21 Primera generacioacuten (1940-1955)

Esta primera generacioacuten estaacute marcada por el uso de vaacutelvulas de vaciacuteo y la in-

troduccioacuten de la tecnologiacutea de anillos de ferrita para la memoria Son compu-

tadores de esta primera generacioacuten

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

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

nio constaba de 18000 vaacutelvulas de vaciacuteo 70000 resistencias y 10000 con-

densadores Ocupaba un espacio de 100 m2 pesaba 30 tm y teniacutea un

consumo de 140 kwh

Consumo ENIAC

Para valorar el consumo eleacutectri-co del computador ENIAC (140 kwh) lo podemos com-parar con un electrodomeacutestico de consumo elevado el consu-mo de un horno eleacutectrico estaacute en torno a los 2 kwh

CC-BY-SA bull PID_00163597 14 Introduccioacuten a los fundamentos de los computadores

bull EDVAC (1952) Electronic Discrete Variable Automatic Computer de dimen-

siones maacutes reducidas que el ENIAC Es especial porque es la maacutequina sobre

la que J Von Neumann en 1945 escribioacute 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 Tambieacuten es de destacar el uso por primera vez de

la aritmeacutetica binaria en detrimento de la decimal

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

Con 5400 vaacutelvulas y 1000 palabras de memoria presenta la caracteriacutestica

de programa parcialmente almacenado

Programacioacuten del ENIAC Imagen bajo dominio puacuteblico

Fuente httpeswikipediaorg

22 Segunda generacioacuten (1955-1965)

El paso a la segunda generacioacuten viene marcado por la utilizacioacuten de los transis-

tores en sustitucioacuten de las vaacutelvulas de vaciacuteo Son maacutequinas de esta generacioacuten

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

nal graacutefico Sobre esta maacutequina corrioacute el primer videojuego

bull IBM 7030 Esta maacutequina de 1961 incorpora la idea de segmentacioacuten de

memoria y de memoria virtual teacutecnicas con las que se consiguioacute mejorar

sensiblemente la capacidad la gestioacuten y el rendimiento de la memoria

bull ATLAS de Ferranti Ltd amp U Manchester 1962 Se trata de uno de los primeros

supercomputadores Tecnoloacutegicamente destaca por la incorporacioacuten del uso

de lo que se denominan interrupciones para controlar los perifeacutericos

CC-BY-SA bull PID_00163597 15 Introduccioacuten a los fundamentos de los computadores

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

caacutelculo de 1 megaFLOPS (un milloacuten de operaciones de coma flotante

por segundo) conseguida gracias al paralelismo de las unidades de caacutelculo

ostentoacute el tiacutetulo de maacutequina maacutes raacutepida entre 1964 y 1969

23 Tercera generacioacuten (1965-1970)

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

generacioacuten de computadores y el inicio de la tercera Los circuitos integrados

aportan una reduccioacuten de espacio significativa una reduccioacuten importante del

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

meros minicomputadores De esta generacioacuten podemos destacar

bull IBM 360 1964 Inicia la primera serie de computadores compatibles

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

perifeacutericos

bull DEC PDP8 1965 Primer minicomputador de eacutexito comercial Como

innovaciones presentaba circuitos loacutegicos en moacutedulos integrados (chips)

y un conjunto de liacuteneas de conexioacuten en paralelo para interconectar los

moacutedulos el bus

bull IBM 36085 1968 Es la primera en incorporar el concepto de memoria ca-

cheacute teacutecnica que reduce enormemente el tiempo de acceso a la memoria y que

se ha convertido en un elemento central de los sistemas actuales

24 Cuarta generacioacuten (1970-)

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

un aumento considerable de la densidad de integracioacuten Es este aumento en

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

unidad central de proceso en un uacutenico chip nacen los microprocesadores

el primero de los cuales es el Intel 4004 en 1971

La cuarta generacioacuten se inicia con el desarrollo de este microprocesador Al

mismo tiempo y debido tambieacuten a las mejoras en los procesos de fabricacioacuten

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

las memorias de semiconductores El campo de los computadores personales

estaacute sembrado y pronto germina

bull Altair 8800 1975 Se considera el primer computador personal

bull Supercomputador Cray 1 1976 Incorpora por primera vez el procesa-

miento paralelo

CC-BY-SA bull PID_00163597 16 Introduccioacuten a los fundamentos de los computadores

bull IBM PC 1981 Con el microprocesador Intel 8086 y el sistema operativo

Microsoft DOS marca el inicio de la revolucioacuten de la computacioacuten personal

bull Lisa (Apple) 1983 Incorpora un nuevo dispositivo revolucionario el ratoacuten

y una interfaz de usuario graacutefico (estilo Windows)

IBM PC

Creative CommonsGeneacuterica de AtribucioacutenCompartir-Igual 30Fuente httpeswikipediaorg

CC-BY-SA bull PID_00163597 17 Introduccioacuten a los fundamentos de los computadores

3 iquestCoacutemo soacuten los computadores digitales actuales

Un computador digital es un computador que trabaja con datos numeacutericos

cuya interpretacioacuten depende del formato con que se esteacute trabajando codifi-

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

sentildeales binarias sentildeales sobre las que podemos identificar soacutelo dos valores

distintosa

El concepto de computador es en principio independiente de la tecnologiacutea

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

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

computador digital es un sistema digital complejo

La complejidad que rodea un computador digital hace inviable su concepcioacuten

sin una estructura y organizacioacuten en moacutedulos diferenciados con tareas y fun-

cionalidades bien definidas La estructura general de un computador digital es

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

las flechas indica el flujo de informacioacuten Podriacuteamos definir la ecuacioacuten de

funcionamiento de la forma siguiente

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

Figura 1 Estructura general de un computador

En teacuterminos generales un computador es un dispositivo construido

con el propoacutesito de manipular o transformar informacioacuten para conse-

guir una informacioacuten maacutes elaborada como por ejemplo el resultado de

un problema determinado

CC-BY-SA bull PID_00163597 18 Introduccioacuten a los fundamentos de los computadores

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

tos de conversioacuten de la informacioacuten entre el mundo analoacutegico que nos rodea

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

salida mayoritariamente estaacuten constituidos por dispositivos para almacenar

informacioacuten digital en uno u otro formato pero informacioacuten digital que el

procesador puede recuperar

El procesador estaacute constituido por una unidad central de proceso (CPU

Central Process Unit) y una memoria iacutentimamente relacionada con eacutel (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 reuacutene los recursos de caacutelculo y la unidad de control es

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

para realizar las operaciones que establece el programa en ejecucioacuten

31 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 bull PID_00163597 19 Introduccioacuten a los fundamentos de los computadores

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

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

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

dicalmente del tipo de programacioacuten que se practicaba en los computadores

precedentes y que se basaba en la modificacioacuten de los circuitos electroacutenicos

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

mos identificar estas dos caracteriacutesticas

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 caracteriacutestica dota al

computador de una amplia generalidad De la otra la comunicacioacuten entre la

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

botella en el rendimiento de la maacutequina

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 uacutenica tarea el ciclo de ejecucioacuten de

instrucciones

Figura 4 Arquitectura de Von Neumann

Con un procesador de este tipo la estructura baacutesica de un computador digital

es la que aparece en la figura 5

Figura 5 Arquitectura de un computador tipo Von Neumann

CC-BY-SA bull PID_00163597 20 Introduccioacuten a los fundamentos de los computadores

32 La arquitectura de Harvard

La arquitectura de Von Neumann tiene en siacute misma dos grandes limitaciones

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

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

pliacutecita la idea de la ejecucioacuten secuencial es decir de la ejecucioacuten de una uacutenica

instruccioacuten al mismo tiempo lo cual limita las posibilidades de ejecucioacuten en

paralelo

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

tura de Harvard La caracteriacutestica 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 limitacioacuten 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 tambieacuten limita la posibilidad de la

automodificacioacuten 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 electroacutenica distribuida Su estructura general la podemos

ver reflejada en la figura 6

Figura 6 Arquitectura de Harvard

Automodificacioacuten del coacutedigo

La automodificacioacuten del coacutedi-go (la capacidad de un progra-ma para cambiarse a siacute mismo) ha sido uno de los recursos que se ha aprovechado para elabo-rar coacutedigo malintencionado como los virus

CC-BY-SA bull PID_00163597 21 Introduccioacuten a los fundamentos de los computadores

Resumen

En este moacutedulo se hace una introduccioacuten a los conceptos que se trabajan a lo

largo de los moacutedulos siguientes la codificacioacuten adecuada de la informacioacuten

para interpretarla y tratarla dentro de los computadores la tecnologiacutea con la

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

los computadores

Los computadores actuales se presentan como el resultado de una evolucioacuten

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

baacutesica fijada en la primera generacioacuten de computadores con la incorporacioacuten

del concepto de programa almacenado y se enumeran los principales cambios

tecnoloacutegicos que han permitido mejorar el rendimiento de las maacutequinas hasta

el momento actual

Se dedica un apartado a describir con maacutes detalle la arquitectura baacutesica de los

computadores digitales indicando la relacioacuten 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 bull PID_00163597 23 Introduccioacuten a los fundamentos de los computadores

Bibliografiacutea

Augarten S (1984) Bit by Bit An Illustrated History of Computers Nueva York Ticknor ampFields

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

CC-BY-SA bull PID_00163597 8 Introduccioacuten a los fundamentos de los computadores

Los computadores se basan en la electroacutenica digital Sin embargo iquestqueacute es la

electroacutenica digital iquestEn queacute se diferencia de la que no es digital En definitiva

iquestcuaacuteles son las bases de funcionamiento de la tecnologiacutea con la que se dise-

ntildean las maacutequinas digitales

Por otra parte iquestcoacutemo podemos utilizar la electroacutenica digital para construir un

computador digital Tenemos que disponer de metodologiacuteas que de manera

organizada nos permitan concebir sistemas digitales complejos y en particular

concretarlo sobre la organizacioacuten de un computador convencional

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

pero a modo de introduccioacuten los apartados siguientes nos dan algunas

pinceladas al respecto

121 iquestQueacute es la electroacutenica digital

En contraposicioacuten en la electroacutenica analoacutegica las sentildeales pueden variar de for-

ma continua es decir no estaacuten reducidas a un conjunto (pequentildeo) de valores

diferentes En una sentildeal digital soacutelo se diferencia entre el valor alto de tensioacuten

y el valor bajo de tensioacuten por ejemplo 0 V y 5 V En cambio una sentildeal analoacute-

gica puede registrar cualquier valor de tensioacuten 01 V o 02 V o 023 V o 235 V

o 113 V o cualquier otro dentro de los maacutergenes de funcionamiento y cada

valor se considera diferente

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

cir los dispositivos basados en la electroacutenica digital y los computadores en

particular) trabajan especialmente bien cuando sobre las sentildeales tan soacutelo se

identifican dos valores de tensioacuten diferentes Estos valores reciben denomina-

ciones diferentes seguacuten el aacutembito de trabajo como verdad y falso o bien 0 y

1 loacutegicos

Vivimos en un mundo analoacutegico y nos parece natural registrar la informacioacuten

de manera analoacutegica Sin embargo trabajar directamente con informacioacuten

analoacutegica resulta poco praacutectico y nada adecuado si queremos procesar esta in-

Se llama electroacutenica digital o discreta a la electroacutenica basada en sentildeales

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

(habitualmente dos)

v es el siacutembolo que identificala unidad de medida del voltaje

el voltio

Esto quiere decir que como sistema digital toda la informacioacuten que

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

cuada utilizando soacutelo los dos valores de tensioacuten posibles lo que lla-

mamos 0 y 1 loacutegicos

CC-BY-SA bull PID_00163597 9 Introduccioacuten a los fundamentos de los computadores

formacioacuten en un computador digital Habraacute que disponer de mecanismos para

digitalizar la informacioacuten es decir para codificarla utilizando soacutelo ceros y unos

122 La codificacioacuten de la informacioacuten

Quizaacutes no hayamos caiacutedo en la cuenta de que en realidad toda la informa-

cioacuten estaacute siempre codificada de una manera u otra Cuando escribimos codi-

ficamos la informacioacuten en palabras que pueden estar compuestas por un

conjunto de siacutembolos diferentes (las letras del abecedario) Cualquier valor

numeacuterico lo codificamos mediante un conjunto de siacutembolos que llamamos

diacutegitos Pues bien los computadores digitales actuales gestionan informacioacuten

codificada utilizando los valores 0 y 1

La codificacioacuten de los nuacutemeros es la que conceptualmente resulta maacutes sencilla

De hecho solo tenemos que entender una idea baacutesica un valor numeacuterico es

un concepto abstracto que tendraacute una representacioacuten u otra seguacuten el sistema

de numeracioacuten (es decir seguacuten el conjunto de reglas de codificacioacuten) que

utilicemosa

Dicho de esta forma puede parecer un poco extrantildeo 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 aacuterabe o el chino con sig-

nos distintos Por lo tanto estamos codificando esta informacioacuten seguacuten

nuestro sistema de representacioacuten

Con los nuacutemeros pasa exactamente lo mismo Un determinado valor numeacuteri-

co es independiente del sistema de representacioacuten que utilicemos Para poder

codificar los valores numeacutericos soacutelo con ceros y unos tenemos que utilizar un

sistema de numeracioacuten 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 Despueacutes

consiguioacute separar el valor numeacuterico del objeto por ejemplo dibujando una

CC-BY-SA bull PID_00163597 10 Introduccioacuten a los fundamentos de los computadores

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

babilidad aprendioacute a dar nombre a este valor numeacuterico independiente del ob-

jeto al que se aplicaba

No debiacutea de ser nada praacutectico tener un nombre para cada valor numeacuterico (de-

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

litar los recuentos de conjuntos ldquograndesrdquo Claro estaacute que la cantidad de

elementos de un grupo teniacutea que ser faacutecil de recordar especialmente cuando el

sistema se extendioacute para trabajar con grupos de grupos En este asunto la ana-

tomiacutea humana ha tenido bastante que ver y por este motivo los ldquogruposrdquo que

maacutes se adoptaron fueron los de cinco los de diez y los de veinte coincidiendo

con el nuacutemero de dedos de una mano de dos manos o de manos y pies

De entre eacutestas la base 10 ha salido ganadora (quizaacutes por la aparicioacuten del cal-

zado quieacuten sabe) y la idea de grupos de grupos acaboacute desembocando en un

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

cioacuten que ocupa un diacutegito estaacute asociada a un grupo de grupos (decimos un peso)

lo que facilitoacute enormemente el desarrollo de la aritmeacutetica

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

numeracioacuten a su propia ldquoanatomiacuteardquo Trabajan utilizando sentildeales sobre las

que diferencian dos niveles de tensioacuten Por lo tanto tendremos que utilizar

un sistema de numeracioacuten en base 2 Ademaacutes cambiar el sistema de nume-

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

ciones aritmeacuteticas Es decir el concepto de suma es independiente del

sistema de numeracioacuten pero la forma de hacer la suma depende de la forma

como representemos los nuacutemeros

Todas estas cuestiones se tratan en el segundo moacutedulo donde se analiza nuestro

sistema de numeracioacuten y se adapta a las caracteriacutesticas de las maacutequinas ademaacutes

de identificar las limitaciones propias de las maacutequinas

123 Los sistemas digitales

Hemos hecho una introduccioacuten al concepto de electroacutenica digital Habraacute que

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

miento de informacioacuten cuaacuteles son las herramientas que nos permiten cons-

truir circuitos complejos para el procesamiento de informacioacuten y en uacuteltimo

teacutermino computadores digitales de propoacutesito general

Conceptualmente la electroacutenica digital es la electroacutenica de los nuacutemeros Aquiacute

las sentildeales eleacutectricas representan nuacutemeros Son faacuteciles de codificar y resistentes

a la degradacioacuten con una codificacioacuten adecuada En los sistemas analoacutegicos

que trabajan con ondas la informacioacuten estaacute contenida en la forma de la onda

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

CC-BY-SA bull PID_00163597 11 Introduccioacuten a los fundamentos de los computadores

informacioacuten con facilidad ademaacutes de requerir circuiteriacutea especiacutefica para cada

aplicacioacuten

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 metodologiacuteas que permitan sistematizar en cierta medida

la construccioacuten de sistemas digitales complejos En este sentido se establece

una diferenciacioacuten 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 moacutedulo 3 dedicado a los circuitos combinacionales y el moacutedulo 4 donde

se trabajan los circuitos secuenciales se encargan de hacer una introduccioacuten a

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

anaacutelisis

Los dos apartados siguientes de este moacutedulo introductorio estaacuten dedicados al

computador digital En el primero encontrareacuteis una descripcioacuten del camino

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

dores actuales Se describen caracteriacutesticas y teacutecnicas que han ido apareciendo

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

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

les El moacutedulo 5 estaacute dedicado a un anaacutelisis de la arquitectura baacutesica que aquiacute

se describe

CC-BY-SA bull PID_00163597 12 Introduccioacuten a los fundamentos de los computadores

2 La evolucioacuten de los computadores

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

macioacuten especialmente en caacutelculos aritmeacuteticos para lo cual se ha utilizado la

tecnologiacutea existente en cada momento Los primeros intentos dieron lugar a

toda una serie de ingenios mecaacutenicos baacutesicos como el aacutebaco o realmente

elaborados y complejos como la maacutequina diferencial de Charles Babbage

Maacutequina analiacutetica de Charles Babbage

Fuente Bettman Archive

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

historia de la computacioacuten por la concepcioacuten de la maacutequina analiacutetica que in-

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

terno El disentildeo de la maacutequina analiacutetica incluiacutea una memoria (mecaacutenica) una

unidad de procesamiento una unidad de control (constituida por ldquobarrilesrdquo

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

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

milar a la maacutequina de escribir)

El descubrimiento de la energiacutea eleacutectrica permitioacute el desarrollo de maacutequinas

electromecaacutenicas que incluiacutean lectores de tarjetas y procesamiento con con-

mutadores De entre este tipo de maacutequinas destaca la maacutequina tabuladora de

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

los Estados Unidos en el antildeo 1890 El censo manual tardaba cerca de 10 antildeos

pero con la maacutequina tabuladora que leiacutea y procesaba (baacutesicamente contaba)

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

antildeos Herman Hollerith es considerado el primer informaacutetico el primero en

hacer un tratamiento automatizado de la informacioacuten

CC-BY-SA bull PID_00163597 13 Introduccioacuten a los fundamentos de los computadores

Maacutequina tabuladora de Herman Hollerith

Creative CommonsAttribution 20 GenericFuente httpenwikipediaorg

Las maacutequinas electromecaacutenicas llegaron a convertirse en los primeros compu-

tadores digitales Konrad Zuse (1910-1995) concibioacute la Z1 que disponiacutea de

memoria mecaacutenica binaria la Z2 que realizaba el procesamiento a partir de

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

concibioacute computadores de releacutes para los laboratorios Bell y Howard Aiken

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

Eacutestas fueron las primeras maacutequinas desarrolladas con propoacutesito comercial

La revolucioacuten electroacutenica en la computacioacuten se inicia durante la Segunda Gue-

rra Mundial El conflicto beacutelico habiacutea animado el desarrollo de dispositivos

electroacutenicos y las experiencias en maacutequinas electromecaacutenicas hicieron que

enseguida se viera la aplicacioacuten de estos dispositivos a la computacioacuten

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

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

terminados por cambios tecnoloacutegicos Dentro de cada generacioacuten aparecen

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

computadores actuales

21 Primera generacioacuten (1940-1955)

Esta primera generacioacuten estaacute marcada por el uso de vaacutelvulas de vaciacuteo y la in-

troduccioacuten de la tecnologiacutea de anillos de ferrita para la memoria Son compu-

tadores de esta primera generacioacuten

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

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

nio constaba de 18000 vaacutelvulas de vaciacuteo 70000 resistencias y 10000 con-

densadores Ocupaba un espacio de 100 m2 pesaba 30 tm y teniacutea un

consumo de 140 kwh

Consumo ENIAC

Para valorar el consumo eleacutectri-co del computador ENIAC (140 kwh) lo podemos com-parar con un electrodomeacutestico de consumo elevado el consu-mo de un horno eleacutectrico estaacute en torno a los 2 kwh

CC-BY-SA bull PID_00163597 14 Introduccioacuten a los fundamentos de los computadores

bull EDVAC (1952) Electronic Discrete Variable Automatic Computer de dimen-

siones maacutes reducidas que el ENIAC Es especial porque es la maacutequina sobre

la que J Von Neumann en 1945 escribioacute 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 Tambieacuten es de destacar el uso por primera vez de

la aritmeacutetica binaria en detrimento de la decimal

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

Con 5400 vaacutelvulas y 1000 palabras de memoria presenta la caracteriacutestica

de programa parcialmente almacenado

Programacioacuten del ENIAC Imagen bajo dominio puacuteblico

Fuente httpeswikipediaorg

22 Segunda generacioacuten (1955-1965)

El paso a la segunda generacioacuten viene marcado por la utilizacioacuten de los transis-

tores en sustitucioacuten de las vaacutelvulas de vaciacuteo Son maacutequinas de esta generacioacuten

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

nal graacutefico Sobre esta maacutequina corrioacute el primer videojuego

bull IBM 7030 Esta maacutequina de 1961 incorpora la idea de segmentacioacuten de

memoria y de memoria virtual teacutecnicas con las que se consiguioacute mejorar

sensiblemente la capacidad la gestioacuten y el rendimiento de la memoria

bull ATLAS de Ferranti Ltd amp U Manchester 1962 Se trata de uno de los primeros

supercomputadores Tecnoloacutegicamente destaca por la incorporacioacuten del uso

de lo que se denominan interrupciones para controlar los perifeacutericos

CC-BY-SA bull PID_00163597 15 Introduccioacuten a los fundamentos de los computadores

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

caacutelculo de 1 megaFLOPS (un milloacuten de operaciones de coma flotante

por segundo) conseguida gracias al paralelismo de las unidades de caacutelculo

ostentoacute el tiacutetulo de maacutequina maacutes raacutepida entre 1964 y 1969

23 Tercera generacioacuten (1965-1970)

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

generacioacuten de computadores y el inicio de la tercera Los circuitos integrados

aportan una reduccioacuten de espacio significativa una reduccioacuten importante del

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

meros minicomputadores De esta generacioacuten podemos destacar

bull IBM 360 1964 Inicia la primera serie de computadores compatibles

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

perifeacutericos

bull DEC PDP8 1965 Primer minicomputador de eacutexito comercial Como

innovaciones presentaba circuitos loacutegicos en moacutedulos integrados (chips)

y un conjunto de liacuteneas de conexioacuten en paralelo para interconectar los

moacutedulos el bus

bull IBM 36085 1968 Es la primera en incorporar el concepto de memoria ca-

cheacute teacutecnica que reduce enormemente el tiempo de acceso a la memoria y que

se ha convertido en un elemento central de los sistemas actuales

24 Cuarta generacioacuten (1970-)

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

un aumento considerable de la densidad de integracioacuten Es este aumento en

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

unidad central de proceso en un uacutenico chip nacen los microprocesadores

el primero de los cuales es el Intel 4004 en 1971

La cuarta generacioacuten se inicia con el desarrollo de este microprocesador Al

mismo tiempo y debido tambieacuten a las mejoras en los procesos de fabricacioacuten

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

las memorias de semiconductores El campo de los computadores personales

estaacute sembrado y pronto germina

bull Altair 8800 1975 Se considera el primer computador personal

bull Supercomputador Cray 1 1976 Incorpora por primera vez el procesa-

miento paralelo

CC-BY-SA bull PID_00163597 16 Introduccioacuten a los fundamentos de los computadores

bull IBM PC 1981 Con el microprocesador Intel 8086 y el sistema operativo

Microsoft DOS marca el inicio de la revolucioacuten de la computacioacuten personal

bull Lisa (Apple) 1983 Incorpora un nuevo dispositivo revolucionario el ratoacuten

y una interfaz de usuario graacutefico (estilo Windows)

IBM PC

Creative CommonsGeneacuterica de AtribucioacutenCompartir-Igual 30Fuente httpeswikipediaorg

CC-BY-SA bull PID_00163597 17 Introduccioacuten a los fundamentos de los computadores

3 iquestCoacutemo soacuten los computadores digitales actuales

Un computador digital es un computador que trabaja con datos numeacutericos

cuya interpretacioacuten depende del formato con que se esteacute trabajando codifi-

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

sentildeales binarias sentildeales sobre las que podemos identificar soacutelo dos valores

distintosa

El concepto de computador es en principio independiente de la tecnologiacutea

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

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

computador digital es un sistema digital complejo

La complejidad que rodea un computador digital hace inviable su concepcioacuten

sin una estructura y organizacioacuten en moacutedulos diferenciados con tareas y fun-

cionalidades bien definidas La estructura general de un computador digital es

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

las flechas indica el flujo de informacioacuten Podriacuteamos definir la ecuacioacuten de

funcionamiento de la forma siguiente

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

Figura 1 Estructura general de un computador

En teacuterminos generales un computador es un dispositivo construido

con el propoacutesito de manipular o transformar informacioacuten para conse-

guir una informacioacuten maacutes elaborada como por ejemplo el resultado de

un problema determinado

CC-BY-SA bull PID_00163597 18 Introduccioacuten a los fundamentos de los computadores

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

tos de conversioacuten de la informacioacuten entre el mundo analoacutegico que nos rodea

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

salida mayoritariamente estaacuten constituidos por dispositivos para almacenar

informacioacuten digital en uno u otro formato pero informacioacuten digital que el

procesador puede recuperar

El procesador estaacute constituido por una unidad central de proceso (CPU

Central Process Unit) y una memoria iacutentimamente relacionada con eacutel (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 reuacutene los recursos de caacutelculo y la unidad de control es

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

para realizar las operaciones que establece el programa en ejecucioacuten

31 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 bull PID_00163597 19 Introduccioacuten a los fundamentos de los computadores

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

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

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

dicalmente del tipo de programacioacuten que se practicaba en los computadores

precedentes y que se basaba en la modificacioacuten de los circuitos electroacutenicos

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

mos identificar estas dos caracteriacutesticas

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 caracteriacutestica dota al

computador de una amplia generalidad De la otra la comunicacioacuten entre la

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

botella en el rendimiento de la maacutequina

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 uacutenica tarea el ciclo de ejecucioacuten de

instrucciones

Figura 4 Arquitectura de Von Neumann

Con un procesador de este tipo la estructura baacutesica de un computador digital

es la que aparece en la figura 5

Figura 5 Arquitectura de un computador tipo Von Neumann

CC-BY-SA bull PID_00163597 20 Introduccioacuten a los fundamentos de los computadores

32 La arquitectura de Harvard

La arquitectura de Von Neumann tiene en siacute misma dos grandes limitaciones

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

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

pliacutecita la idea de la ejecucioacuten secuencial es decir de la ejecucioacuten de una uacutenica

instruccioacuten al mismo tiempo lo cual limita las posibilidades de ejecucioacuten en

paralelo

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

tura de Harvard La caracteriacutestica 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 limitacioacuten 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 tambieacuten limita la posibilidad de la

automodificacioacuten 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 electroacutenica distribuida Su estructura general la podemos

ver reflejada en la figura 6

Figura 6 Arquitectura de Harvard

Automodificacioacuten del coacutedigo

La automodificacioacuten del coacutedi-go (la capacidad de un progra-ma para cambiarse a siacute mismo) ha sido uno de los recursos que se ha aprovechado para elabo-rar coacutedigo malintencionado como los virus

CC-BY-SA bull PID_00163597 21 Introduccioacuten a los fundamentos de los computadores

Resumen

En este moacutedulo se hace una introduccioacuten a los conceptos que se trabajan a lo

largo de los moacutedulos siguientes la codificacioacuten adecuada de la informacioacuten

para interpretarla y tratarla dentro de los computadores la tecnologiacutea con la

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

los computadores

Los computadores actuales se presentan como el resultado de una evolucioacuten

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

baacutesica fijada en la primera generacioacuten de computadores con la incorporacioacuten

del concepto de programa almacenado y se enumeran los principales cambios

tecnoloacutegicos que han permitido mejorar el rendimiento de las maacutequinas hasta

el momento actual

Se dedica un apartado a describir con maacutes detalle la arquitectura baacutesica de los

computadores digitales indicando la relacioacuten 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 bull PID_00163597 23 Introduccioacuten a los fundamentos de los computadores

Bibliografiacutea

Augarten S (1984) Bit by Bit An Illustrated History of Computers Nueva York Ticknor ampFields

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

CC-BY-SA bull PID_00163597 9 Introduccioacuten a los fundamentos de los computadores

formacioacuten en un computador digital Habraacute que disponer de mecanismos para

digitalizar la informacioacuten es decir para codificarla utilizando soacutelo ceros y unos

122 La codificacioacuten de la informacioacuten

Quizaacutes no hayamos caiacutedo en la cuenta de que en realidad toda la informa-

cioacuten estaacute siempre codificada de una manera u otra Cuando escribimos codi-

ficamos la informacioacuten en palabras que pueden estar compuestas por un

conjunto de siacutembolos diferentes (las letras del abecedario) Cualquier valor

numeacuterico lo codificamos mediante un conjunto de siacutembolos que llamamos

diacutegitos Pues bien los computadores digitales actuales gestionan informacioacuten

codificada utilizando los valores 0 y 1

La codificacioacuten de los nuacutemeros es la que conceptualmente resulta maacutes sencilla

De hecho solo tenemos que entender una idea baacutesica un valor numeacuterico es

un concepto abstracto que tendraacute una representacioacuten u otra seguacuten el sistema

de numeracioacuten (es decir seguacuten el conjunto de reglas de codificacioacuten) que

utilicemosa

Dicho de esta forma puede parecer un poco extrantildeo 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 aacuterabe o el chino con sig-

nos distintos Por lo tanto estamos codificando esta informacioacuten seguacuten

nuestro sistema de representacioacuten

Con los nuacutemeros pasa exactamente lo mismo Un determinado valor numeacuteri-

co es independiente del sistema de representacioacuten que utilicemos Para poder

codificar los valores numeacutericos soacutelo con ceros y unos tenemos que utilizar un

sistema de numeracioacuten 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 Despueacutes

consiguioacute separar el valor numeacuterico del objeto por ejemplo dibujando una

CC-BY-SA bull PID_00163597 10 Introduccioacuten a los fundamentos de los computadores

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

babilidad aprendioacute a dar nombre a este valor numeacuterico independiente del ob-

jeto al que se aplicaba

No debiacutea de ser nada praacutectico tener un nombre para cada valor numeacuterico (de-

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

litar los recuentos de conjuntos ldquograndesrdquo Claro estaacute que la cantidad de

elementos de un grupo teniacutea que ser faacutecil de recordar especialmente cuando el

sistema se extendioacute para trabajar con grupos de grupos En este asunto la ana-

tomiacutea humana ha tenido bastante que ver y por este motivo los ldquogruposrdquo que

maacutes se adoptaron fueron los de cinco los de diez y los de veinte coincidiendo

con el nuacutemero de dedos de una mano de dos manos o de manos y pies

De entre eacutestas la base 10 ha salido ganadora (quizaacutes por la aparicioacuten del cal-

zado quieacuten sabe) y la idea de grupos de grupos acaboacute desembocando en un

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

cioacuten que ocupa un diacutegito estaacute asociada a un grupo de grupos (decimos un peso)

lo que facilitoacute enormemente el desarrollo de la aritmeacutetica

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

numeracioacuten a su propia ldquoanatomiacuteardquo Trabajan utilizando sentildeales sobre las

que diferencian dos niveles de tensioacuten Por lo tanto tendremos que utilizar

un sistema de numeracioacuten en base 2 Ademaacutes cambiar el sistema de nume-

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

ciones aritmeacuteticas Es decir el concepto de suma es independiente del

sistema de numeracioacuten pero la forma de hacer la suma depende de la forma

como representemos los nuacutemeros

Todas estas cuestiones se tratan en el segundo moacutedulo donde se analiza nuestro

sistema de numeracioacuten y se adapta a las caracteriacutesticas de las maacutequinas ademaacutes

de identificar las limitaciones propias de las maacutequinas

123 Los sistemas digitales

Hemos hecho una introduccioacuten al concepto de electroacutenica digital Habraacute que

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

miento de informacioacuten cuaacuteles son las herramientas que nos permiten cons-

truir circuitos complejos para el procesamiento de informacioacuten y en uacuteltimo

teacutermino computadores digitales de propoacutesito general

Conceptualmente la electroacutenica digital es la electroacutenica de los nuacutemeros Aquiacute

las sentildeales eleacutectricas representan nuacutemeros Son faacuteciles de codificar y resistentes

a la degradacioacuten con una codificacioacuten adecuada En los sistemas analoacutegicos

que trabajan con ondas la informacioacuten estaacute contenida en la forma de la onda

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

CC-BY-SA bull PID_00163597 11 Introduccioacuten a los fundamentos de los computadores

informacioacuten con facilidad ademaacutes de requerir circuiteriacutea especiacutefica para cada

aplicacioacuten

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 metodologiacuteas que permitan sistematizar en cierta medida

la construccioacuten de sistemas digitales complejos En este sentido se establece

una diferenciacioacuten 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 moacutedulo 3 dedicado a los circuitos combinacionales y el moacutedulo 4 donde

se trabajan los circuitos secuenciales se encargan de hacer una introduccioacuten a

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

anaacutelisis

Los dos apartados siguientes de este moacutedulo introductorio estaacuten dedicados al

computador digital En el primero encontrareacuteis una descripcioacuten del camino

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

dores actuales Se describen caracteriacutesticas y teacutecnicas que han ido apareciendo

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

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

les El moacutedulo 5 estaacute dedicado a un anaacutelisis de la arquitectura baacutesica que aquiacute

se describe

CC-BY-SA bull PID_00163597 12 Introduccioacuten a los fundamentos de los computadores

2 La evolucioacuten de los computadores

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

macioacuten especialmente en caacutelculos aritmeacuteticos para lo cual se ha utilizado la

tecnologiacutea existente en cada momento Los primeros intentos dieron lugar a

toda una serie de ingenios mecaacutenicos baacutesicos como el aacutebaco o realmente

elaborados y complejos como la maacutequina diferencial de Charles Babbage

Maacutequina analiacutetica de Charles Babbage

Fuente Bettman Archive

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

historia de la computacioacuten por la concepcioacuten de la maacutequina analiacutetica que in-

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

terno El disentildeo de la maacutequina analiacutetica incluiacutea una memoria (mecaacutenica) una

unidad de procesamiento una unidad de control (constituida por ldquobarrilesrdquo

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

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

milar a la maacutequina de escribir)

El descubrimiento de la energiacutea eleacutectrica permitioacute el desarrollo de maacutequinas

electromecaacutenicas que incluiacutean lectores de tarjetas y procesamiento con con-

mutadores De entre este tipo de maacutequinas destaca la maacutequina tabuladora de

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

los Estados Unidos en el antildeo 1890 El censo manual tardaba cerca de 10 antildeos

pero con la maacutequina tabuladora que leiacutea y procesaba (baacutesicamente contaba)

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

antildeos Herman Hollerith es considerado el primer informaacutetico el primero en

hacer un tratamiento automatizado de la informacioacuten

CC-BY-SA bull PID_00163597 13 Introduccioacuten a los fundamentos de los computadores

Maacutequina tabuladora de Herman Hollerith

Creative CommonsAttribution 20 GenericFuente httpenwikipediaorg

Las maacutequinas electromecaacutenicas llegaron a convertirse en los primeros compu-

tadores digitales Konrad Zuse (1910-1995) concibioacute la Z1 que disponiacutea de

memoria mecaacutenica binaria la Z2 que realizaba el procesamiento a partir de

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

concibioacute computadores de releacutes para los laboratorios Bell y Howard Aiken

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

Eacutestas fueron las primeras maacutequinas desarrolladas con propoacutesito comercial

La revolucioacuten electroacutenica en la computacioacuten se inicia durante la Segunda Gue-

rra Mundial El conflicto beacutelico habiacutea animado el desarrollo de dispositivos

electroacutenicos y las experiencias en maacutequinas electromecaacutenicas hicieron que

enseguida se viera la aplicacioacuten de estos dispositivos a la computacioacuten

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

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

terminados por cambios tecnoloacutegicos Dentro de cada generacioacuten aparecen

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

computadores actuales

21 Primera generacioacuten (1940-1955)

Esta primera generacioacuten estaacute marcada por el uso de vaacutelvulas de vaciacuteo y la in-

troduccioacuten de la tecnologiacutea de anillos de ferrita para la memoria Son compu-

tadores de esta primera generacioacuten

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

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

nio constaba de 18000 vaacutelvulas de vaciacuteo 70000 resistencias y 10000 con-

densadores Ocupaba un espacio de 100 m2 pesaba 30 tm y teniacutea un

consumo de 140 kwh

Consumo ENIAC

Para valorar el consumo eleacutectri-co del computador ENIAC (140 kwh) lo podemos com-parar con un electrodomeacutestico de consumo elevado el consu-mo de un horno eleacutectrico estaacute en torno a los 2 kwh

CC-BY-SA bull PID_00163597 14 Introduccioacuten a los fundamentos de los computadores

bull EDVAC (1952) Electronic Discrete Variable Automatic Computer de dimen-

siones maacutes reducidas que el ENIAC Es especial porque es la maacutequina sobre

la que J Von Neumann en 1945 escribioacute 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 Tambieacuten es de destacar el uso por primera vez de

la aritmeacutetica binaria en detrimento de la decimal

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

Con 5400 vaacutelvulas y 1000 palabras de memoria presenta la caracteriacutestica

de programa parcialmente almacenado

Programacioacuten del ENIAC Imagen bajo dominio puacuteblico

Fuente httpeswikipediaorg

22 Segunda generacioacuten (1955-1965)

El paso a la segunda generacioacuten viene marcado por la utilizacioacuten de los transis-

tores en sustitucioacuten de las vaacutelvulas de vaciacuteo Son maacutequinas de esta generacioacuten

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

nal graacutefico Sobre esta maacutequina corrioacute el primer videojuego

bull IBM 7030 Esta maacutequina de 1961 incorpora la idea de segmentacioacuten de

memoria y de memoria virtual teacutecnicas con las que se consiguioacute mejorar

sensiblemente la capacidad la gestioacuten y el rendimiento de la memoria

bull ATLAS de Ferranti Ltd amp U Manchester 1962 Se trata de uno de los primeros

supercomputadores Tecnoloacutegicamente destaca por la incorporacioacuten del uso

de lo que se denominan interrupciones para controlar los perifeacutericos

CC-BY-SA bull PID_00163597 15 Introduccioacuten a los fundamentos de los computadores

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

caacutelculo de 1 megaFLOPS (un milloacuten de operaciones de coma flotante

por segundo) conseguida gracias al paralelismo de las unidades de caacutelculo

ostentoacute el tiacutetulo de maacutequina maacutes raacutepida entre 1964 y 1969

23 Tercera generacioacuten (1965-1970)

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

generacioacuten de computadores y el inicio de la tercera Los circuitos integrados

aportan una reduccioacuten de espacio significativa una reduccioacuten importante del

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

meros minicomputadores De esta generacioacuten podemos destacar

bull IBM 360 1964 Inicia la primera serie de computadores compatibles

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

perifeacutericos

bull DEC PDP8 1965 Primer minicomputador de eacutexito comercial Como

innovaciones presentaba circuitos loacutegicos en moacutedulos integrados (chips)

y un conjunto de liacuteneas de conexioacuten en paralelo para interconectar los

moacutedulos el bus

bull IBM 36085 1968 Es la primera en incorporar el concepto de memoria ca-

cheacute teacutecnica que reduce enormemente el tiempo de acceso a la memoria y que

se ha convertido en un elemento central de los sistemas actuales

24 Cuarta generacioacuten (1970-)

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

un aumento considerable de la densidad de integracioacuten Es este aumento en

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

unidad central de proceso en un uacutenico chip nacen los microprocesadores

el primero de los cuales es el Intel 4004 en 1971

La cuarta generacioacuten se inicia con el desarrollo de este microprocesador Al

mismo tiempo y debido tambieacuten a las mejoras en los procesos de fabricacioacuten

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

las memorias de semiconductores El campo de los computadores personales

estaacute sembrado y pronto germina

bull Altair 8800 1975 Se considera el primer computador personal

bull Supercomputador Cray 1 1976 Incorpora por primera vez el procesa-

miento paralelo

CC-BY-SA bull PID_00163597 16 Introduccioacuten a los fundamentos de los computadores

bull IBM PC 1981 Con el microprocesador Intel 8086 y el sistema operativo

Microsoft DOS marca el inicio de la revolucioacuten de la computacioacuten personal

bull Lisa (Apple) 1983 Incorpora un nuevo dispositivo revolucionario el ratoacuten

y una interfaz de usuario graacutefico (estilo Windows)

IBM PC

Creative CommonsGeneacuterica de AtribucioacutenCompartir-Igual 30Fuente httpeswikipediaorg

CC-BY-SA bull PID_00163597 17 Introduccioacuten a los fundamentos de los computadores

3 iquestCoacutemo soacuten los computadores digitales actuales

Un computador digital es un computador que trabaja con datos numeacutericos

cuya interpretacioacuten depende del formato con que se esteacute trabajando codifi-

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

sentildeales binarias sentildeales sobre las que podemos identificar soacutelo dos valores

distintosa

El concepto de computador es en principio independiente de la tecnologiacutea

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

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

computador digital es un sistema digital complejo

La complejidad que rodea un computador digital hace inviable su concepcioacuten

sin una estructura y organizacioacuten en moacutedulos diferenciados con tareas y fun-

cionalidades bien definidas La estructura general de un computador digital es

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

las flechas indica el flujo de informacioacuten Podriacuteamos definir la ecuacioacuten de

funcionamiento de la forma siguiente

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

Figura 1 Estructura general de un computador

En teacuterminos generales un computador es un dispositivo construido

con el propoacutesito de manipular o transformar informacioacuten para conse-

guir una informacioacuten maacutes elaborada como por ejemplo el resultado de

un problema determinado

CC-BY-SA bull PID_00163597 18 Introduccioacuten a los fundamentos de los computadores

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

tos de conversioacuten de la informacioacuten entre el mundo analoacutegico que nos rodea

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

salida mayoritariamente estaacuten constituidos por dispositivos para almacenar

informacioacuten digital en uno u otro formato pero informacioacuten digital que el

procesador puede recuperar

El procesador estaacute constituido por una unidad central de proceso (CPU

Central Process Unit) y una memoria iacutentimamente relacionada con eacutel (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 reuacutene los recursos de caacutelculo y la unidad de control es

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

para realizar las operaciones que establece el programa en ejecucioacuten

31 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 bull PID_00163597 19 Introduccioacuten a los fundamentos de los computadores

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

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

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

dicalmente del tipo de programacioacuten que se practicaba en los computadores

precedentes y que se basaba en la modificacioacuten de los circuitos electroacutenicos

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

mos identificar estas dos caracteriacutesticas

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 caracteriacutestica dota al

computador de una amplia generalidad De la otra la comunicacioacuten entre la

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

botella en el rendimiento de la maacutequina

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 uacutenica tarea el ciclo de ejecucioacuten de

instrucciones

Figura 4 Arquitectura de Von Neumann

Con un procesador de este tipo la estructura baacutesica de un computador digital

es la que aparece en la figura 5

Figura 5 Arquitectura de un computador tipo Von Neumann

CC-BY-SA bull PID_00163597 20 Introduccioacuten a los fundamentos de los computadores

32 La arquitectura de Harvard

La arquitectura de Von Neumann tiene en siacute misma dos grandes limitaciones

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

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

pliacutecita la idea de la ejecucioacuten secuencial es decir de la ejecucioacuten de una uacutenica

instruccioacuten al mismo tiempo lo cual limita las posibilidades de ejecucioacuten en

paralelo

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

tura de Harvard La caracteriacutestica 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 limitacioacuten 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 tambieacuten limita la posibilidad de la

automodificacioacuten 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 electroacutenica distribuida Su estructura general la podemos

ver reflejada en la figura 6

Figura 6 Arquitectura de Harvard

Automodificacioacuten del coacutedigo

La automodificacioacuten del coacutedi-go (la capacidad de un progra-ma para cambiarse a siacute mismo) ha sido uno de los recursos que se ha aprovechado para elabo-rar coacutedigo malintencionado como los virus

CC-BY-SA bull PID_00163597 21 Introduccioacuten a los fundamentos de los computadores

Resumen

En este moacutedulo se hace una introduccioacuten a los conceptos que se trabajan a lo

largo de los moacutedulos siguientes la codificacioacuten adecuada de la informacioacuten

para interpretarla y tratarla dentro de los computadores la tecnologiacutea con la

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

los computadores

Los computadores actuales se presentan como el resultado de una evolucioacuten

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

baacutesica fijada en la primera generacioacuten de computadores con la incorporacioacuten

del concepto de programa almacenado y se enumeran los principales cambios

tecnoloacutegicos que han permitido mejorar el rendimiento de las maacutequinas hasta

el momento actual

Se dedica un apartado a describir con maacutes detalle la arquitectura baacutesica de los

computadores digitales indicando la relacioacuten 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 bull PID_00163597 23 Introduccioacuten a los fundamentos de los computadores

Bibliografiacutea

Augarten S (1984) Bit by Bit An Illustrated History of Computers Nueva York Ticknor ampFields

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

CC-BY-SA bull PID_00163597 10 Introduccioacuten a los fundamentos de los computadores

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

babilidad aprendioacute a dar nombre a este valor numeacuterico independiente del ob-

jeto al que se aplicaba

No debiacutea de ser nada praacutectico tener un nombre para cada valor numeacuterico (de-

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

litar los recuentos de conjuntos ldquograndesrdquo Claro estaacute que la cantidad de

elementos de un grupo teniacutea que ser faacutecil de recordar especialmente cuando el

sistema se extendioacute para trabajar con grupos de grupos En este asunto la ana-

tomiacutea humana ha tenido bastante que ver y por este motivo los ldquogruposrdquo que

maacutes se adoptaron fueron los de cinco los de diez y los de veinte coincidiendo

con el nuacutemero de dedos de una mano de dos manos o de manos y pies

De entre eacutestas la base 10 ha salido ganadora (quizaacutes por la aparicioacuten del cal-

zado quieacuten sabe) y la idea de grupos de grupos acaboacute desembocando en un

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

cioacuten que ocupa un diacutegito estaacute asociada a un grupo de grupos (decimos un peso)

lo que facilitoacute enormemente el desarrollo de la aritmeacutetica

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

numeracioacuten a su propia ldquoanatomiacuteardquo Trabajan utilizando sentildeales sobre las

que diferencian dos niveles de tensioacuten Por lo tanto tendremos que utilizar

un sistema de numeracioacuten en base 2 Ademaacutes cambiar el sistema de nume-

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

ciones aritmeacuteticas Es decir el concepto de suma es independiente del

sistema de numeracioacuten pero la forma de hacer la suma depende de la forma

como representemos los nuacutemeros

Todas estas cuestiones se tratan en el segundo moacutedulo donde se analiza nuestro

sistema de numeracioacuten y se adapta a las caracteriacutesticas de las maacutequinas ademaacutes

de identificar las limitaciones propias de las maacutequinas

123 Los sistemas digitales

Hemos hecho una introduccioacuten al concepto de electroacutenica digital Habraacute que

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

miento de informacioacuten cuaacuteles son las herramientas que nos permiten cons-

truir circuitos complejos para el procesamiento de informacioacuten y en uacuteltimo

teacutermino computadores digitales de propoacutesito general

Conceptualmente la electroacutenica digital es la electroacutenica de los nuacutemeros Aquiacute

las sentildeales eleacutectricas representan nuacutemeros Son faacuteciles de codificar y resistentes

a la degradacioacuten con una codificacioacuten adecuada En los sistemas analoacutegicos

que trabajan con ondas la informacioacuten estaacute contenida en la forma de la onda

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

CC-BY-SA bull PID_00163597 11 Introduccioacuten a los fundamentos de los computadores

informacioacuten con facilidad ademaacutes de requerir circuiteriacutea especiacutefica para cada

aplicacioacuten

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 metodologiacuteas que permitan sistematizar en cierta medida

la construccioacuten de sistemas digitales complejos En este sentido se establece

una diferenciacioacuten 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 moacutedulo 3 dedicado a los circuitos combinacionales y el moacutedulo 4 donde

se trabajan los circuitos secuenciales se encargan de hacer una introduccioacuten a

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

anaacutelisis

Los dos apartados siguientes de este moacutedulo introductorio estaacuten dedicados al

computador digital En el primero encontrareacuteis una descripcioacuten del camino

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

dores actuales Se describen caracteriacutesticas y teacutecnicas que han ido apareciendo

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

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

les El moacutedulo 5 estaacute dedicado a un anaacutelisis de la arquitectura baacutesica que aquiacute

se describe

CC-BY-SA bull PID_00163597 12 Introduccioacuten a los fundamentos de los computadores

2 La evolucioacuten de los computadores

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

macioacuten especialmente en caacutelculos aritmeacuteticos para lo cual se ha utilizado la

tecnologiacutea existente en cada momento Los primeros intentos dieron lugar a

toda una serie de ingenios mecaacutenicos baacutesicos como el aacutebaco o realmente

elaborados y complejos como la maacutequina diferencial de Charles Babbage

Maacutequina analiacutetica de Charles Babbage

Fuente Bettman Archive

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

historia de la computacioacuten por la concepcioacuten de la maacutequina analiacutetica que in-

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

terno El disentildeo de la maacutequina analiacutetica incluiacutea una memoria (mecaacutenica) una

unidad de procesamiento una unidad de control (constituida por ldquobarrilesrdquo

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

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

milar a la maacutequina de escribir)

El descubrimiento de la energiacutea eleacutectrica permitioacute el desarrollo de maacutequinas

electromecaacutenicas que incluiacutean lectores de tarjetas y procesamiento con con-

mutadores De entre este tipo de maacutequinas destaca la maacutequina tabuladora de

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

los Estados Unidos en el antildeo 1890 El censo manual tardaba cerca de 10 antildeos

pero con la maacutequina tabuladora que leiacutea y procesaba (baacutesicamente contaba)

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

antildeos Herman Hollerith es considerado el primer informaacutetico el primero en

hacer un tratamiento automatizado de la informacioacuten

CC-BY-SA bull PID_00163597 13 Introduccioacuten a los fundamentos de los computadores

Maacutequina tabuladora de Herman Hollerith

Creative CommonsAttribution 20 GenericFuente httpenwikipediaorg

Las maacutequinas electromecaacutenicas llegaron a convertirse en los primeros compu-

tadores digitales Konrad Zuse (1910-1995) concibioacute la Z1 que disponiacutea de

memoria mecaacutenica binaria la Z2 que realizaba el procesamiento a partir de

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

concibioacute computadores de releacutes para los laboratorios Bell y Howard Aiken

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

Eacutestas fueron las primeras maacutequinas desarrolladas con propoacutesito comercial

La revolucioacuten electroacutenica en la computacioacuten se inicia durante la Segunda Gue-

rra Mundial El conflicto beacutelico habiacutea animado el desarrollo de dispositivos

electroacutenicos y las experiencias en maacutequinas electromecaacutenicas hicieron que

enseguida se viera la aplicacioacuten de estos dispositivos a la computacioacuten

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

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

terminados por cambios tecnoloacutegicos Dentro de cada generacioacuten aparecen

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

computadores actuales

21 Primera generacioacuten (1940-1955)

Esta primera generacioacuten estaacute marcada por el uso de vaacutelvulas de vaciacuteo y la in-

troduccioacuten de la tecnologiacutea de anillos de ferrita para la memoria Son compu-

tadores de esta primera generacioacuten

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

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

nio constaba de 18000 vaacutelvulas de vaciacuteo 70000 resistencias y 10000 con-

densadores Ocupaba un espacio de 100 m2 pesaba 30 tm y teniacutea un

consumo de 140 kwh

Consumo ENIAC

Para valorar el consumo eleacutectri-co del computador ENIAC (140 kwh) lo podemos com-parar con un electrodomeacutestico de consumo elevado el consu-mo de un horno eleacutectrico estaacute en torno a los 2 kwh

CC-BY-SA bull PID_00163597 14 Introduccioacuten a los fundamentos de los computadores

bull EDVAC (1952) Electronic Discrete Variable Automatic Computer de dimen-

siones maacutes reducidas que el ENIAC Es especial porque es la maacutequina sobre

la que J Von Neumann en 1945 escribioacute 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 Tambieacuten es de destacar el uso por primera vez de

la aritmeacutetica binaria en detrimento de la decimal

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

Con 5400 vaacutelvulas y 1000 palabras de memoria presenta la caracteriacutestica

de programa parcialmente almacenado

Programacioacuten del ENIAC Imagen bajo dominio puacuteblico

Fuente httpeswikipediaorg

22 Segunda generacioacuten (1955-1965)

El paso a la segunda generacioacuten viene marcado por la utilizacioacuten de los transis-

tores en sustitucioacuten de las vaacutelvulas de vaciacuteo Son maacutequinas de esta generacioacuten

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

nal graacutefico Sobre esta maacutequina corrioacute el primer videojuego

bull IBM 7030 Esta maacutequina de 1961 incorpora la idea de segmentacioacuten de

memoria y de memoria virtual teacutecnicas con las que se consiguioacute mejorar

sensiblemente la capacidad la gestioacuten y el rendimiento de la memoria

bull ATLAS de Ferranti Ltd amp U Manchester 1962 Se trata de uno de los primeros

supercomputadores Tecnoloacutegicamente destaca por la incorporacioacuten del uso

de lo que se denominan interrupciones para controlar los perifeacutericos

CC-BY-SA bull PID_00163597 15 Introduccioacuten a los fundamentos de los computadores

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

caacutelculo de 1 megaFLOPS (un milloacuten de operaciones de coma flotante

por segundo) conseguida gracias al paralelismo de las unidades de caacutelculo

ostentoacute el tiacutetulo de maacutequina maacutes raacutepida entre 1964 y 1969

23 Tercera generacioacuten (1965-1970)

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

generacioacuten de computadores y el inicio de la tercera Los circuitos integrados

aportan una reduccioacuten de espacio significativa una reduccioacuten importante del

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

meros minicomputadores De esta generacioacuten podemos destacar

bull IBM 360 1964 Inicia la primera serie de computadores compatibles

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

perifeacutericos

bull DEC PDP8 1965 Primer minicomputador de eacutexito comercial Como

innovaciones presentaba circuitos loacutegicos en moacutedulos integrados (chips)

y un conjunto de liacuteneas de conexioacuten en paralelo para interconectar los

moacutedulos el bus

bull IBM 36085 1968 Es la primera en incorporar el concepto de memoria ca-

cheacute teacutecnica que reduce enormemente el tiempo de acceso a la memoria y que

se ha convertido en un elemento central de los sistemas actuales

24 Cuarta generacioacuten (1970-)

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

un aumento considerable de la densidad de integracioacuten Es este aumento en

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

unidad central de proceso en un uacutenico chip nacen los microprocesadores

el primero de los cuales es el Intel 4004 en 1971

La cuarta generacioacuten se inicia con el desarrollo de este microprocesador Al

mismo tiempo y debido tambieacuten a las mejoras en los procesos de fabricacioacuten

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

las memorias de semiconductores El campo de los computadores personales

estaacute sembrado y pronto germina

bull Altair 8800 1975 Se considera el primer computador personal

bull Supercomputador Cray 1 1976 Incorpora por primera vez el procesa-

miento paralelo

CC-BY-SA bull PID_00163597 16 Introduccioacuten a los fundamentos de los computadores

bull IBM PC 1981 Con el microprocesador Intel 8086 y el sistema operativo

Microsoft DOS marca el inicio de la revolucioacuten de la computacioacuten personal

bull Lisa (Apple) 1983 Incorpora un nuevo dispositivo revolucionario el ratoacuten

y una interfaz de usuario graacutefico (estilo Windows)

IBM PC

Creative CommonsGeneacuterica de AtribucioacutenCompartir-Igual 30Fuente httpeswikipediaorg

CC-BY-SA bull PID_00163597 17 Introduccioacuten a los fundamentos de los computadores

3 iquestCoacutemo soacuten los computadores digitales actuales

Un computador digital es un computador que trabaja con datos numeacutericos

cuya interpretacioacuten depende del formato con que se esteacute trabajando codifi-

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

sentildeales binarias sentildeales sobre las que podemos identificar soacutelo dos valores

distintosa

El concepto de computador es en principio independiente de la tecnologiacutea

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

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

computador digital es un sistema digital complejo

La complejidad que rodea un computador digital hace inviable su concepcioacuten

sin una estructura y organizacioacuten en moacutedulos diferenciados con tareas y fun-

cionalidades bien definidas La estructura general de un computador digital es

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

las flechas indica el flujo de informacioacuten Podriacuteamos definir la ecuacioacuten de

funcionamiento de la forma siguiente

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

Figura 1 Estructura general de un computador

En teacuterminos generales un computador es un dispositivo construido

con el propoacutesito de manipular o transformar informacioacuten para conse-

guir una informacioacuten maacutes elaborada como por ejemplo el resultado de

un problema determinado

CC-BY-SA bull PID_00163597 18 Introduccioacuten a los fundamentos de los computadores

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

tos de conversioacuten de la informacioacuten entre el mundo analoacutegico que nos rodea

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

salida mayoritariamente estaacuten constituidos por dispositivos para almacenar

informacioacuten digital en uno u otro formato pero informacioacuten digital que el

procesador puede recuperar

El procesador estaacute constituido por una unidad central de proceso (CPU

Central Process Unit) y una memoria iacutentimamente relacionada con eacutel (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 reuacutene los recursos de caacutelculo y la unidad de control es

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

para realizar las operaciones que establece el programa en ejecucioacuten

31 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 bull PID_00163597 19 Introduccioacuten a los fundamentos de los computadores

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

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

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

dicalmente del tipo de programacioacuten que se practicaba en los computadores

precedentes y que se basaba en la modificacioacuten de los circuitos electroacutenicos

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

mos identificar estas dos caracteriacutesticas

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 caracteriacutestica dota al

computador de una amplia generalidad De la otra la comunicacioacuten entre la

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

botella en el rendimiento de la maacutequina

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 uacutenica tarea el ciclo de ejecucioacuten de

instrucciones

Figura 4 Arquitectura de Von Neumann

Con un procesador de este tipo la estructura baacutesica de un computador digital

es la que aparece en la figura 5

Figura 5 Arquitectura de un computador tipo Von Neumann

CC-BY-SA bull PID_00163597 20 Introduccioacuten a los fundamentos de los computadores

32 La arquitectura de Harvard

La arquitectura de Von Neumann tiene en siacute misma dos grandes limitaciones

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

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

pliacutecita la idea de la ejecucioacuten secuencial es decir de la ejecucioacuten de una uacutenica

instruccioacuten al mismo tiempo lo cual limita las posibilidades de ejecucioacuten en

paralelo

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

tura de Harvard La caracteriacutestica 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 limitacioacuten 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 tambieacuten limita la posibilidad de la

automodificacioacuten 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 electroacutenica distribuida Su estructura general la podemos

ver reflejada en la figura 6

Figura 6 Arquitectura de Harvard

Automodificacioacuten del coacutedigo

La automodificacioacuten del coacutedi-go (la capacidad de un progra-ma para cambiarse a siacute mismo) ha sido uno de los recursos que se ha aprovechado para elabo-rar coacutedigo malintencionado como los virus

CC-BY-SA bull PID_00163597 21 Introduccioacuten a los fundamentos de los computadores

Resumen

En este moacutedulo se hace una introduccioacuten a los conceptos que se trabajan a lo

largo de los moacutedulos siguientes la codificacioacuten adecuada de la informacioacuten

para interpretarla y tratarla dentro de los computadores la tecnologiacutea con la

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

los computadores

Los computadores actuales se presentan como el resultado de una evolucioacuten

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

baacutesica fijada en la primera generacioacuten de computadores con la incorporacioacuten

del concepto de programa almacenado y se enumeran los principales cambios

tecnoloacutegicos que han permitido mejorar el rendimiento de las maacutequinas hasta

el momento actual

Se dedica un apartado a describir con maacutes detalle la arquitectura baacutesica de los

computadores digitales indicando la relacioacuten 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 bull PID_00163597 23 Introduccioacuten a los fundamentos de los computadores

Bibliografiacutea

Augarten S (1984) Bit by Bit An Illustrated History of Computers Nueva York Ticknor ampFields

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

CC-BY-SA bull PID_00163597 11 Introduccioacuten a los fundamentos de los computadores

informacioacuten con facilidad ademaacutes de requerir circuiteriacutea especiacutefica para cada

aplicacioacuten

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 metodologiacuteas que permitan sistematizar en cierta medida

la construccioacuten de sistemas digitales complejos En este sentido se establece

una diferenciacioacuten 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 moacutedulo 3 dedicado a los circuitos combinacionales y el moacutedulo 4 donde

se trabajan los circuitos secuenciales se encargan de hacer una introduccioacuten a

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

anaacutelisis

Los dos apartados siguientes de este moacutedulo introductorio estaacuten dedicados al

computador digital En el primero encontrareacuteis una descripcioacuten del camino

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

dores actuales Se describen caracteriacutesticas y teacutecnicas que han ido apareciendo

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

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

les El moacutedulo 5 estaacute dedicado a un anaacutelisis de la arquitectura baacutesica que aquiacute

se describe

CC-BY-SA bull PID_00163597 12 Introduccioacuten a los fundamentos de los computadores

2 La evolucioacuten de los computadores

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

macioacuten especialmente en caacutelculos aritmeacuteticos para lo cual se ha utilizado la

tecnologiacutea existente en cada momento Los primeros intentos dieron lugar a

toda una serie de ingenios mecaacutenicos baacutesicos como el aacutebaco o realmente

elaborados y complejos como la maacutequina diferencial de Charles Babbage

Maacutequina analiacutetica de Charles Babbage

Fuente Bettman Archive

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

historia de la computacioacuten por la concepcioacuten de la maacutequina analiacutetica que in-

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

terno El disentildeo de la maacutequina analiacutetica incluiacutea una memoria (mecaacutenica) una

unidad de procesamiento una unidad de control (constituida por ldquobarrilesrdquo

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

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

milar a la maacutequina de escribir)

El descubrimiento de la energiacutea eleacutectrica permitioacute el desarrollo de maacutequinas

electromecaacutenicas que incluiacutean lectores de tarjetas y procesamiento con con-

mutadores De entre este tipo de maacutequinas destaca la maacutequina tabuladora de

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

los Estados Unidos en el antildeo 1890 El censo manual tardaba cerca de 10 antildeos

pero con la maacutequina tabuladora que leiacutea y procesaba (baacutesicamente contaba)

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

antildeos Herman Hollerith es considerado el primer informaacutetico el primero en

hacer un tratamiento automatizado de la informacioacuten

CC-BY-SA bull PID_00163597 13 Introduccioacuten a los fundamentos de los computadores

Maacutequina tabuladora de Herman Hollerith

Creative CommonsAttribution 20 GenericFuente httpenwikipediaorg

Las maacutequinas electromecaacutenicas llegaron a convertirse en los primeros compu-

tadores digitales Konrad Zuse (1910-1995) concibioacute la Z1 que disponiacutea de

memoria mecaacutenica binaria la Z2 que realizaba el procesamiento a partir de

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

concibioacute computadores de releacutes para los laboratorios Bell y Howard Aiken

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

Eacutestas fueron las primeras maacutequinas desarrolladas con propoacutesito comercial

La revolucioacuten electroacutenica en la computacioacuten se inicia durante la Segunda Gue-

rra Mundial El conflicto beacutelico habiacutea animado el desarrollo de dispositivos

electroacutenicos y las experiencias en maacutequinas electromecaacutenicas hicieron que

enseguida se viera la aplicacioacuten de estos dispositivos a la computacioacuten

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

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

terminados por cambios tecnoloacutegicos Dentro de cada generacioacuten aparecen

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

computadores actuales

21 Primera generacioacuten (1940-1955)

Esta primera generacioacuten estaacute marcada por el uso de vaacutelvulas de vaciacuteo y la in-

troduccioacuten de la tecnologiacutea de anillos de ferrita para la memoria Son compu-

tadores de esta primera generacioacuten

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

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

nio constaba de 18000 vaacutelvulas de vaciacuteo 70000 resistencias y 10000 con-

densadores Ocupaba un espacio de 100 m2 pesaba 30 tm y teniacutea un

consumo de 140 kwh

Consumo ENIAC

Para valorar el consumo eleacutectri-co del computador ENIAC (140 kwh) lo podemos com-parar con un electrodomeacutestico de consumo elevado el consu-mo de un horno eleacutectrico estaacute en torno a los 2 kwh

CC-BY-SA bull PID_00163597 14 Introduccioacuten a los fundamentos de los computadores

bull EDVAC (1952) Electronic Discrete Variable Automatic Computer de dimen-

siones maacutes reducidas que el ENIAC Es especial porque es la maacutequina sobre

la que J Von Neumann en 1945 escribioacute 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 Tambieacuten es de destacar el uso por primera vez de

la aritmeacutetica binaria en detrimento de la decimal

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

Con 5400 vaacutelvulas y 1000 palabras de memoria presenta la caracteriacutestica

de programa parcialmente almacenado

Programacioacuten del ENIAC Imagen bajo dominio puacuteblico

Fuente httpeswikipediaorg

22 Segunda generacioacuten (1955-1965)

El paso a la segunda generacioacuten viene marcado por la utilizacioacuten de los transis-

tores en sustitucioacuten de las vaacutelvulas de vaciacuteo Son maacutequinas de esta generacioacuten

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

nal graacutefico Sobre esta maacutequina corrioacute el primer videojuego

bull IBM 7030 Esta maacutequina de 1961 incorpora la idea de segmentacioacuten de

memoria y de memoria virtual teacutecnicas con las que se consiguioacute mejorar

sensiblemente la capacidad la gestioacuten y el rendimiento de la memoria

bull ATLAS de Ferranti Ltd amp U Manchester 1962 Se trata de uno de los primeros

supercomputadores Tecnoloacutegicamente destaca por la incorporacioacuten del uso

de lo que se denominan interrupciones para controlar los perifeacutericos

CC-BY-SA bull PID_00163597 15 Introduccioacuten a los fundamentos de los computadores

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

caacutelculo de 1 megaFLOPS (un milloacuten de operaciones de coma flotante

por segundo) conseguida gracias al paralelismo de las unidades de caacutelculo

ostentoacute el tiacutetulo de maacutequina maacutes raacutepida entre 1964 y 1969

23 Tercera generacioacuten (1965-1970)

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

generacioacuten de computadores y el inicio de la tercera Los circuitos integrados

aportan una reduccioacuten de espacio significativa una reduccioacuten importante del

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

meros minicomputadores De esta generacioacuten podemos destacar

bull IBM 360 1964 Inicia la primera serie de computadores compatibles

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

perifeacutericos

bull DEC PDP8 1965 Primer minicomputador de eacutexito comercial Como

innovaciones presentaba circuitos loacutegicos en moacutedulos integrados (chips)

y un conjunto de liacuteneas de conexioacuten en paralelo para interconectar los

moacutedulos el bus

bull IBM 36085 1968 Es la primera en incorporar el concepto de memoria ca-

cheacute teacutecnica que reduce enormemente el tiempo de acceso a la memoria y que

se ha convertido en un elemento central de los sistemas actuales

24 Cuarta generacioacuten (1970-)

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

un aumento considerable de la densidad de integracioacuten Es este aumento en

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

unidad central de proceso en un uacutenico chip nacen los microprocesadores

el primero de los cuales es el Intel 4004 en 1971

La cuarta generacioacuten se inicia con el desarrollo de este microprocesador Al

mismo tiempo y debido tambieacuten a las mejoras en los procesos de fabricacioacuten

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

las memorias de semiconductores El campo de los computadores personales

estaacute sembrado y pronto germina

bull Altair 8800 1975 Se considera el primer computador personal

bull Supercomputador Cray 1 1976 Incorpora por primera vez el procesa-

miento paralelo

CC-BY-SA bull PID_00163597 16 Introduccioacuten a los fundamentos de los computadores

bull IBM PC 1981 Con el microprocesador Intel 8086 y el sistema operativo

Microsoft DOS marca el inicio de la revolucioacuten de la computacioacuten personal

bull Lisa (Apple) 1983 Incorpora un nuevo dispositivo revolucionario el ratoacuten

y una interfaz de usuario graacutefico (estilo Windows)

IBM PC

Creative CommonsGeneacuterica de AtribucioacutenCompartir-Igual 30Fuente httpeswikipediaorg

CC-BY-SA bull PID_00163597 17 Introduccioacuten a los fundamentos de los computadores

3 iquestCoacutemo soacuten los computadores digitales actuales

Un computador digital es un computador que trabaja con datos numeacutericos

cuya interpretacioacuten depende del formato con que se esteacute trabajando codifi-

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

sentildeales binarias sentildeales sobre las que podemos identificar soacutelo dos valores

distintosa

El concepto de computador es en principio independiente de la tecnologiacutea

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

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

computador digital es un sistema digital complejo

La complejidad que rodea un computador digital hace inviable su concepcioacuten

sin una estructura y organizacioacuten en moacutedulos diferenciados con tareas y fun-

cionalidades bien definidas La estructura general de un computador digital es

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

las flechas indica el flujo de informacioacuten Podriacuteamos definir la ecuacioacuten de

funcionamiento de la forma siguiente

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

Figura 1 Estructura general de un computador

En teacuterminos generales un computador es un dispositivo construido

con el propoacutesito de manipular o transformar informacioacuten para conse-

guir una informacioacuten maacutes elaborada como por ejemplo el resultado de

un problema determinado

CC-BY-SA bull PID_00163597 18 Introduccioacuten a los fundamentos de los computadores

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

tos de conversioacuten de la informacioacuten entre el mundo analoacutegico que nos rodea

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

salida mayoritariamente estaacuten constituidos por dispositivos para almacenar

informacioacuten digital en uno u otro formato pero informacioacuten digital que el

procesador puede recuperar

El procesador estaacute constituido por una unidad central de proceso (CPU

Central Process Unit) y una memoria iacutentimamente relacionada con eacutel (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 reuacutene los recursos de caacutelculo y la unidad de control es

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

para realizar las operaciones que establece el programa en ejecucioacuten

31 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 bull PID_00163597 19 Introduccioacuten a los fundamentos de los computadores

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

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

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

dicalmente del tipo de programacioacuten que se practicaba en los computadores

precedentes y que se basaba en la modificacioacuten de los circuitos electroacutenicos

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

mos identificar estas dos caracteriacutesticas

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 caracteriacutestica dota al

computador de una amplia generalidad De la otra la comunicacioacuten entre la

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

botella en el rendimiento de la maacutequina

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 uacutenica tarea el ciclo de ejecucioacuten de

instrucciones

Figura 4 Arquitectura de Von Neumann

Con un procesador de este tipo la estructura baacutesica de un computador digital

es la que aparece en la figura 5

Figura 5 Arquitectura de un computador tipo Von Neumann

CC-BY-SA bull PID_00163597 20 Introduccioacuten a los fundamentos de los computadores

32 La arquitectura de Harvard

La arquitectura de Von Neumann tiene en siacute misma dos grandes limitaciones

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

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

pliacutecita la idea de la ejecucioacuten secuencial es decir de la ejecucioacuten de una uacutenica

instruccioacuten al mismo tiempo lo cual limita las posibilidades de ejecucioacuten en

paralelo

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

tura de Harvard La caracteriacutestica 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 limitacioacuten 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 tambieacuten limita la posibilidad de la

automodificacioacuten 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 electroacutenica distribuida Su estructura general la podemos

ver reflejada en la figura 6

Figura 6 Arquitectura de Harvard

Automodificacioacuten del coacutedigo

La automodificacioacuten del coacutedi-go (la capacidad de un progra-ma para cambiarse a siacute mismo) ha sido uno de los recursos que se ha aprovechado para elabo-rar coacutedigo malintencionado como los virus

CC-BY-SA bull PID_00163597 21 Introduccioacuten a los fundamentos de los computadores

Resumen

En este moacutedulo se hace una introduccioacuten a los conceptos que se trabajan a lo

largo de los moacutedulos siguientes la codificacioacuten adecuada de la informacioacuten

para interpretarla y tratarla dentro de los computadores la tecnologiacutea con la

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

los computadores

Los computadores actuales se presentan como el resultado de una evolucioacuten

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

baacutesica fijada en la primera generacioacuten de computadores con la incorporacioacuten

del concepto de programa almacenado y se enumeran los principales cambios

tecnoloacutegicos que han permitido mejorar el rendimiento de las maacutequinas hasta

el momento actual

Se dedica un apartado a describir con maacutes detalle la arquitectura baacutesica de los

computadores digitales indicando la relacioacuten 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 bull PID_00163597 23 Introduccioacuten a los fundamentos de los computadores

Bibliografiacutea

Augarten S (1984) Bit by Bit An Illustrated History of Computers Nueva York Ticknor ampFields

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

CC-BY-SA bull PID_00163597 12 Introduccioacuten a los fundamentos de los computadores

2 La evolucioacuten de los computadores

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

macioacuten especialmente en caacutelculos aritmeacuteticos para lo cual se ha utilizado la

tecnologiacutea existente en cada momento Los primeros intentos dieron lugar a

toda una serie de ingenios mecaacutenicos baacutesicos como el aacutebaco o realmente

elaborados y complejos como la maacutequina diferencial de Charles Babbage

Maacutequina analiacutetica de Charles Babbage

Fuente Bettman Archive

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

historia de la computacioacuten por la concepcioacuten de la maacutequina analiacutetica que in-

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

terno El disentildeo de la maacutequina analiacutetica incluiacutea una memoria (mecaacutenica) una

unidad de procesamiento una unidad de control (constituida por ldquobarrilesrdquo

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

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

milar a la maacutequina de escribir)

El descubrimiento de la energiacutea eleacutectrica permitioacute el desarrollo de maacutequinas

electromecaacutenicas que incluiacutean lectores de tarjetas y procesamiento con con-

mutadores De entre este tipo de maacutequinas destaca la maacutequina tabuladora de

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

los Estados Unidos en el antildeo 1890 El censo manual tardaba cerca de 10 antildeos

pero con la maacutequina tabuladora que leiacutea y procesaba (baacutesicamente contaba)

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

antildeos Herman Hollerith es considerado el primer informaacutetico el primero en

hacer un tratamiento automatizado de la informacioacuten

CC-BY-SA bull PID_00163597 13 Introduccioacuten a los fundamentos de los computadores

Maacutequina tabuladora de Herman Hollerith

Creative CommonsAttribution 20 GenericFuente httpenwikipediaorg

Las maacutequinas electromecaacutenicas llegaron a convertirse en los primeros compu-

tadores digitales Konrad Zuse (1910-1995) concibioacute la Z1 que disponiacutea de

memoria mecaacutenica binaria la Z2 que realizaba el procesamiento a partir de

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

concibioacute computadores de releacutes para los laboratorios Bell y Howard Aiken

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

Eacutestas fueron las primeras maacutequinas desarrolladas con propoacutesito comercial

La revolucioacuten electroacutenica en la computacioacuten se inicia durante la Segunda Gue-

rra Mundial El conflicto beacutelico habiacutea animado el desarrollo de dispositivos

electroacutenicos y las experiencias en maacutequinas electromecaacutenicas hicieron que

enseguida se viera la aplicacioacuten de estos dispositivos a la computacioacuten

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

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

terminados por cambios tecnoloacutegicos Dentro de cada generacioacuten aparecen

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

computadores actuales

21 Primera generacioacuten (1940-1955)

Esta primera generacioacuten estaacute marcada por el uso de vaacutelvulas de vaciacuteo y la in-

troduccioacuten de la tecnologiacutea de anillos de ferrita para la memoria Son compu-

tadores de esta primera generacioacuten

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

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

nio constaba de 18000 vaacutelvulas de vaciacuteo 70000 resistencias y 10000 con-

densadores Ocupaba un espacio de 100 m2 pesaba 30 tm y teniacutea un

consumo de 140 kwh

Consumo ENIAC

Para valorar el consumo eleacutectri-co del computador ENIAC (140 kwh) lo podemos com-parar con un electrodomeacutestico de consumo elevado el consu-mo de un horno eleacutectrico estaacute en torno a los 2 kwh

CC-BY-SA bull PID_00163597 14 Introduccioacuten a los fundamentos de los computadores

bull EDVAC (1952) Electronic Discrete Variable Automatic Computer de dimen-

siones maacutes reducidas que el ENIAC Es especial porque es la maacutequina sobre

la que J Von Neumann en 1945 escribioacute 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 Tambieacuten es de destacar el uso por primera vez de

la aritmeacutetica binaria en detrimento de la decimal

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

Con 5400 vaacutelvulas y 1000 palabras de memoria presenta la caracteriacutestica

de programa parcialmente almacenado

Programacioacuten del ENIAC Imagen bajo dominio puacuteblico

Fuente httpeswikipediaorg

22 Segunda generacioacuten (1955-1965)

El paso a la segunda generacioacuten viene marcado por la utilizacioacuten de los transis-

tores en sustitucioacuten de las vaacutelvulas de vaciacuteo Son maacutequinas de esta generacioacuten

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

nal graacutefico Sobre esta maacutequina corrioacute el primer videojuego

bull IBM 7030 Esta maacutequina de 1961 incorpora la idea de segmentacioacuten de

memoria y de memoria virtual teacutecnicas con las que se consiguioacute mejorar

sensiblemente la capacidad la gestioacuten y el rendimiento de la memoria

bull ATLAS de Ferranti Ltd amp U Manchester 1962 Se trata de uno de los primeros

supercomputadores Tecnoloacutegicamente destaca por la incorporacioacuten del uso

de lo que se denominan interrupciones para controlar los perifeacutericos

CC-BY-SA bull PID_00163597 15 Introduccioacuten a los fundamentos de los computadores

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

caacutelculo de 1 megaFLOPS (un milloacuten de operaciones de coma flotante

por segundo) conseguida gracias al paralelismo de las unidades de caacutelculo

ostentoacute el tiacutetulo de maacutequina maacutes raacutepida entre 1964 y 1969

23 Tercera generacioacuten (1965-1970)

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

generacioacuten de computadores y el inicio de la tercera Los circuitos integrados

aportan una reduccioacuten de espacio significativa una reduccioacuten importante del

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

meros minicomputadores De esta generacioacuten podemos destacar

bull IBM 360 1964 Inicia la primera serie de computadores compatibles

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

perifeacutericos

bull DEC PDP8 1965 Primer minicomputador de eacutexito comercial Como

innovaciones presentaba circuitos loacutegicos en moacutedulos integrados (chips)

y un conjunto de liacuteneas de conexioacuten en paralelo para interconectar los

moacutedulos el bus

bull IBM 36085 1968 Es la primera en incorporar el concepto de memoria ca-

cheacute teacutecnica que reduce enormemente el tiempo de acceso a la memoria y que

se ha convertido en un elemento central de los sistemas actuales

24 Cuarta generacioacuten (1970-)

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

un aumento considerable de la densidad de integracioacuten Es este aumento en

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

unidad central de proceso en un uacutenico chip nacen los microprocesadores

el primero de los cuales es el Intel 4004 en 1971

La cuarta generacioacuten se inicia con el desarrollo de este microprocesador Al

mismo tiempo y debido tambieacuten a las mejoras en los procesos de fabricacioacuten

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

las memorias de semiconductores El campo de los computadores personales

estaacute sembrado y pronto germina

bull Altair 8800 1975 Se considera el primer computador personal

bull Supercomputador Cray 1 1976 Incorpora por primera vez el procesa-

miento paralelo

CC-BY-SA bull PID_00163597 16 Introduccioacuten a los fundamentos de los computadores

bull IBM PC 1981 Con el microprocesador Intel 8086 y el sistema operativo

Microsoft DOS marca el inicio de la revolucioacuten de la computacioacuten personal

bull Lisa (Apple) 1983 Incorpora un nuevo dispositivo revolucionario el ratoacuten

y una interfaz de usuario graacutefico (estilo Windows)

IBM PC

Creative CommonsGeneacuterica de AtribucioacutenCompartir-Igual 30Fuente httpeswikipediaorg

CC-BY-SA bull PID_00163597 17 Introduccioacuten a los fundamentos de los computadores

3 iquestCoacutemo soacuten los computadores digitales actuales

Un computador digital es un computador que trabaja con datos numeacutericos

cuya interpretacioacuten depende del formato con que se esteacute trabajando codifi-

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

sentildeales binarias sentildeales sobre las que podemos identificar soacutelo dos valores

distintosa

El concepto de computador es en principio independiente de la tecnologiacutea

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

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

computador digital es un sistema digital complejo

La complejidad que rodea un computador digital hace inviable su concepcioacuten

sin una estructura y organizacioacuten en moacutedulos diferenciados con tareas y fun-

cionalidades bien definidas La estructura general de un computador digital es

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

las flechas indica el flujo de informacioacuten Podriacuteamos definir la ecuacioacuten de

funcionamiento de la forma siguiente

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

Figura 1 Estructura general de un computador

En teacuterminos generales un computador es un dispositivo construido

con el propoacutesito de manipular o transformar informacioacuten para conse-

guir una informacioacuten maacutes elaborada como por ejemplo el resultado de

un problema determinado

CC-BY-SA bull PID_00163597 18 Introduccioacuten a los fundamentos de los computadores

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

tos de conversioacuten de la informacioacuten entre el mundo analoacutegico que nos rodea

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

salida mayoritariamente estaacuten constituidos por dispositivos para almacenar

informacioacuten digital en uno u otro formato pero informacioacuten digital que el

procesador puede recuperar

El procesador estaacute constituido por una unidad central de proceso (CPU

Central Process Unit) y una memoria iacutentimamente relacionada con eacutel (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 reuacutene los recursos de caacutelculo y la unidad de control es

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

para realizar las operaciones que establece el programa en ejecucioacuten

31 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 bull PID_00163597 19 Introduccioacuten a los fundamentos de los computadores

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

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

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

dicalmente del tipo de programacioacuten que se practicaba en los computadores

precedentes y que se basaba en la modificacioacuten de los circuitos electroacutenicos

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

mos identificar estas dos caracteriacutesticas

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 caracteriacutestica dota al

computador de una amplia generalidad De la otra la comunicacioacuten entre la

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

botella en el rendimiento de la maacutequina

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 uacutenica tarea el ciclo de ejecucioacuten de

instrucciones

Figura 4 Arquitectura de Von Neumann

Con un procesador de este tipo la estructura baacutesica de un computador digital

es la que aparece en la figura 5

Figura 5 Arquitectura de un computador tipo Von Neumann

CC-BY-SA bull PID_00163597 20 Introduccioacuten a los fundamentos de los computadores

32 La arquitectura de Harvard

La arquitectura de Von Neumann tiene en siacute misma dos grandes limitaciones

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

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

pliacutecita la idea de la ejecucioacuten secuencial es decir de la ejecucioacuten de una uacutenica

instruccioacuten al mismo tiempo lo cual limita las posibilidades de ejecucioacuten en

paralelo

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

tura de Harvard La caracteriacutestica 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 limitacioacuten 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 tambieacuten limita la posibilidad de la

automodificacioacuten 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 electroacutenica distribuida Su estructura general la podemos

ver reflejada en la figura 6

Figura 6 Arquitectura de Harvard

Automodificacioacuten del coacutedigo

La automodificacioacuten del coacutedi-go (la capacidad de un progra-ma para cambiarse a siacute mismo) ha sido uno de los recursos que se ha aprovechado para elabo-rar coacutedigo malintencionado como los virus

CC-BY-SA bull PID_00163597 21 Introduccioacuten a los fundamentos de los computadores

Resumen

En este moacutedulo se hace una introduccioacuten a los conceptos que se trabajan a lo

largo de los moacutedulos siguientes la codificacioacuten adecuada de la informacioacuten

para interpretarla y tratarla dentro de los computadores la tecnologiacutea con la

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

los computadores

Los computadores actuales se presentan como el resultado de una evolucioacuten

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

baacutesica fijada en la primera generacioacuten de computadores con la incorporacioacuten

del concepto de programa almacenado y se enumeran los principales cambios

tecnoloacutegicos que han permitido mejorar el rendimiento de las maacutequinas hasta

el momento actual

Se dedica un apartado a describir con maacutes detalle la arquitectura baacutesica de los

computadores digitales indicando la relacioacuten 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 bull PID_00163597 23 Introduccioacuten a los fundamentos de los computadores

Bibliografiacutea

Augarten S (1984) Bit by Bit An Illustrated History of Computers Nueva York Ticknor ampFields

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

CC-BY-SA bull PID_00163597 13 Introduccioacuten a los fundamentos de los computadores

Maacutequina tabuladora de Herman Hollerith

Creative CommonsAttribution 20 GenericFuente httpenwikipediaorg

Las maacutequinas electromecaacutenicas llegaron a convertirse en los primeros compu-

tadores digitales Konrad Zuse (1910-1995) concibioacute la Z1 que disponiacutea de

memoria mecaacutenica binaria la Z2 que realizaba el procesamiento a partir de

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

concibioacute computadores de releacutes para los laboratorios Bell y Howard Aiken

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

Eacutestas fueron las primeras maacutequinas desarrolladas con propoacutesito comercial

La revolucioacuten electroacutenica en la computacioacuten se inicia durante la Segunda Gue-

rra Mundial El conflicto beacutelico habiacutea animado el desarrollo de dispositivos

electroacutenicos y las experiencias en maacutequinas electromecaacutenicas hicieron que

enseguida se viera la aplicacioacuten de estos dispositivos a la computacioacuten

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

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

terminados por cambios tecnoloacutegicos Dentro de cada generacioacuten aparecen

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

computadores actuales

21 Primera generacioacuten (1940-1955)

Esta primera generacioacuten estaacute marcada por el uso de vaacutelvulas de vaciacuteo y la in-

troduccioacuten de la tecnologiacutea de anillos de ferrita para la memoria Son compu-

tadores de esta primera generacioacuten

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

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

nio constaba de 18000 vaacutelvulas de vaciacuteo 70000 resistencias y 10000 con-

densadores Ocupaba un espacio de 100 m2 pesaba 30 tm y teniacutea un

consumo de 140 kwh

Consumo ENIAC

Para valorar el consumo eleacutectri-co del computador ENIAC (140 kwh) lo podemos com-parar con un electrodomeacutestico de consumo elevado el consu-mo de un horno eleacutectrico estaacute en torno a los 2 kwh

CC-BY-SA bull PID_00163597 14 Introduccioacuten a los fundamentos de los computadores

bull EDVAC (1952) Electronic Discrete Variable Automatic Computer de dimen-

siones maacutes reducidas que el ENIAC Es especial porque es la maacutequina sobre

la que J Von Neumann en 1945 escribioacute 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 Tambieacuten es de destacar el uso por primera vez de

la aritmeacutetica binaria en detrimento de la decimal

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

Con 5400 vaacutelvulas y 1000 palabras de memoria presenta la caracteriacutestica

de programa parcialmente almacenado

Programacioacuten del ENIAC Imagen bajo dominio puacuteblico

Fuente httpeswikipediaorg

22 Segunda generacioacuten (1955-1965)

El paso a la segunda generacioacuten viene marcado por la utilizacioacuten de los transis-

tores en sustitucioacuten de las vaacutelvulas de vaciacuteo Son maacutequinas de esta generacioacuten

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

nal graacutefico Sobre esta maacutequina corrioacute el primer videojuego

bull IBM 7030 Esta maacutequina de 1961 incorpora la idea de segmentacioacuten de

memoria y de memoria virtual teacutecnicas con las que se consiguioacute mejorar

sensiblemente la capacidad la gestioacuten y el rendimiento de la memoria

bull ATLAS de Ferranti Ltd amp U Manchester 1962 Se trata de uno de los primeros

supercomputadores Tecnoloacutegicamente destaca por la incorporacioacuten del uso

de lo que se denominan interrupciones para controlar los perifeacutericos

CC-BY-SA bull PID_00163597 15 Introduccioacuten a los fundamentos de los computadores

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

caacutelculo de 1 megaFLOPS (un milloacuten de operaciones de coma flotante

por segundo) conseguida gracias al paralelismo de las unidades de caacutelculo

ostentoacute el tiacutetulo de maacutequina maacutes raacutepida entre 1964 y 1969

23 Tercera generacioacuten (1965-1970)

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

generacioacuten de computadores y el inicio de la tercera Los circuitos integrados

aportan una reduccioacuten de espacio significativa una reduccioacuten importante del

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

meros minicomputadores De esta generacioacuten podemos destacar

bull IBM 360 1964 Inicia la primera serie de computadores compatibles

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

perifeacutericos

bull DEC PDP8 1965 Primer minicomputador de eacutexito comercial Como

innovaciones presentaba circuitos loacutegicos en moacutedulos integrados (chips)

y un conjunto de liacuteneas de conexioacuten en paralelo para interconectar los

moacutedulos el bus

bull IBM 36085 1968 Es la primera en incorporar el concepto de memoria ca-

cheacute teacutecnica que reduce enormemente el tiempo de acceso a la memoria y que

se ha convertido en un elemento central de los sistemas actuales

24 Cuarta generacioacuten (1970-)

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

un aumento considerable de la densidad de integracioacuten Es este aumento en

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

unidad central de proceso en un uacutenico chip nacen los microprocesadores

el primero de los cuales es el Intel 4004 en 1971

La cuarta generacioacuten se inicia con el desarrollo de este microprocesador Al

mismo tiempo y debido tambieacuten a las mejoras en los procesos de fabricacioacuten

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

las memorias de semiconductores El campo de los computadores personales

estaacute sembrado y pronto germina

bull Altair 8800 1975 Se considera el primer computador personal

bull Supercomputador Cray 1 1976 Incorpora por primera vez el procesa-

miento paralelo

CC-BY-SA bull PID_00163597 16 Introduccioacuten a los fundamentos de los computadores

bull IBM PC 1981 Con el microprocesador Intel 8086 y el sistema operativo

Microsoft DOS marca el inicio de la revolucioacuten de la computacioacuten personal

bull Lisa (Apple) 1983 Incorpora un nuevo dispositivo revolucionario el ratoacuten

y una interfaz de usuario graacutefico (estilo Windows)

IBM PC

Creative CommonsGeneacuterica de AtribucioacutenCompartir-Igual 30Fuente httpeswikipediaorg

CC-BY-SA bull PID_00163597 17 Introduccioacuten a los fundamentos de los computadores

3 iquestCoacutemo soacuten los computadores digitales actuales

Un computador digital es un computador que trabaja con datos numeacutericos

cuya interpretacioacuten depende del formato con que se esteacute trabajando codifi-

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

sentildeales binarias sentildeales sobre las que podemos identificar soacutelo dos valores

distintosa

El concepto de computador es en principio independiente de la tecnologiacutea

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

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

computador digital es un sistema digital complejo

La complejidad que rodea un computador digital hace inviable su concepcioacuten

sin una estructura y organizacioacuten en moacutedulos diferenciados con tareas y fun-

cionalidades bien definidas La estructura general de un computador digital es

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

las flechas indica el flujo de informacioacuten Podriacuteamos definir la ecuacioacuten de

funcionamiento de la forma siguiente

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

Figura 1 Estructura general de un computador

En teacuterminos generales un computador es un dispositivo construido

con el propoacutesito de manipular o transformar informacioacuten para conse-

guir una informacioacuten maacutes elaborada como por ejemplo el resultado de

un problema determinado

CC-BY-SA bull PID_00163597 18 Introduccioacuten a los fundamentos de los computadores

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

tos de conversioacuten de la informacioacuten entre el mundo analoacutegico que nos rodea

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

salida mayoritariamente estaacuten constituidos por dispositivos para almacenar

informacioacuten digital en uno u otro formato pero informacioacuten digital que el

procesador puede recuperar

El procesador estaacute constituido por una unidad central de proceso (CPU

Central Process Unit) y una memoria iacutentimamente relacionada con eacutel (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 reuacutene los recursos de caacutelculo y la unidad de control es

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

para realizar las operaciones que establece el programa en ejecucioacuten

31 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 bull PID_00163597 19 Introduccioacuten a los fundamentos de los computadores

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

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

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

dicalmente del tipo de programacioacuten que se practicaba en los computadores

precedentes y que se basaba en la modificacioacuten de los circuitos electroacutenicos

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

mos identificar estas dos caracteriacutesticas

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 caracteriacutestica dota al

computador de una amplia generalidad De la otra la comunicacioacuten entre la

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

botella en el rendimiento de la maacutequina

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 uacutenica tarea el ciclo de ejecucioacuten de

instrucciones

Figura 4 Arquitectura de Von Neumann

Con un procesador de este tipo la estructura baacutesica de un computador digital

es la que aparece en la figura 5

Figura 5 Arquitectura de un computador tipo Von Neumann

CC-BY-SA bull PID_00163597 20 Introduccioacuten a los fundamentos de los computadores

32 La arquitectura de Harvard

La arquitectura de Von Neumann tiene en siacute misma dos grandes limitaciones

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

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

pliacutecita la idea de la ejecucioacuten secuencial es decir de la ejecucioacuten de una uacutenica

instruccioacuten al mismo tiempo lo cual limita las posibilidades de ejecucioacuten en

paralelo

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

tura de Harvard La caracteriacutestica 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 limitacioacuten 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 tambieacuten limita la posibilidad de la

automodificacioacuten 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 electroacutenica distribuida Su estructura general la podemos

ver reflejada en la figura 6

Figura 6 Arquitectura de Harvard

Automodificacioacuten del coacutedigo

La automodificacioacuten del coacutedi-go (la capacidad de un progra-ma para cambiarse a siacute mismo) ha sido uno de los recursos que se ha aprovechado para elabo-rar coacutedigo malintencionado como los virus

CC-BY-SA bull PID_00163597 21 Introduccioacuten a los fundamentos de los computadores

Resumen

En este moacutedulo se hace una introduccioacuten a los conceptos que se trabajan a lo

largo de los moacutedulos siguientes la codificacioacuten adecuada de la informacioacuten

para interpretarla y tratarla dentro de los computadores la tecnologiacutea con la

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

los computadores

Los computadores actuales se presentan como el resultado de una evolucioacuten

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

baacutesica fijada en la primera generacioacuten de computadores con la incorporacioacuten

del concepto de programa almacenado y se enumeran los principales cambios

tecnoloacutegicos que han permitido mejorar el rendimiento de las maacutequinas hasta

el momento actual

Se dedica un apartado a describir con maacutes detalle la arquitectura baacutesica de los

computadores digitales indicando la relacioacuten 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 bull PID_00163597 23 Introduccioacuten a los fundamentos de los computadores

Bibliografiacutea

Augarten S (1984) Bit by Bit An Illustrated History of Computers Nueva York Ticknor ampFields

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

CC-BY-SA bull PID_00163597 14 Introduccioacuten a los fundamentos de los computadores

bull EDVAC (1952) Electronic Discrete Variable Automatic Computer de dimen-

siones maacutes reducidas que el ENIAC Es especial porque es la maacutequina sobre

la que J Von Neumann en 1945 escribioacute 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 Tambieacuten es de destacar el uso por primera vez de

la aritmeacutetica binaria en detrimento de la decimal

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

Con 5400 vaacutelvulas y 1000 palabras de memoria presenta la caracteriacutestica

de programa parcialmente almacenado

Programacioacuten del ENIAC Imagen bajo dominio puacuteblico

Fuente httpeswikipediaorg

22 Segunda generacioacuten (1955-1965)

El paso a la segunda generacioacuten viene marcado por la utilizacioacuten de los transis-

tores en sustitucioacuten de las vaacutelvulas de vaciacuteo Son maacutequinas de esta generacioacuten

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

nal graacutefico Sobre esta maacutequina corrioacute el primer videojuego

bull IBM 7030 Esta maacutequina de 1961 incorpora la idea de segmentacioacuten de

memoria y de memoria virtual teacutecnicas con las que se consiguioacute mejorar

sensiblemente la capacidad la gestioacuten y el rendimiento de la memoria

bull ATLAS de Ferranti Ltd amp U Manchester 1962 Se trata de uno de los primeros

supercomputadores Tecnoloacutegicamente destaca por la incorporacioacuten del uso

de lo que se denominan interrupciones para controlar los perifeacutericos

CC-BY-SA bull PID_00163597 15 Introduccioacuten a los fundamentos de los computadores

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

caacutelculo de 1 megaFLOPS (un milloacuten de operaciones de coma flotante

por segundo) conseguida gracias al paralelismo de las unidades de caacutelculo

ostentoacute el tiacutetulo de maacutequina maacutes raacutepida entre 1964 y 1969

23 Tercera generacioacuten (1965-1970)

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

generacioacuten de computadores y el inicio de la tercera Los circuitos integrados

aportan una reduccioacuten de espacio significativa una reduccioacuten importante del

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

meros minicomputadores De esta generacioacuten podemos destacar

bull IBM 360 1964 Inicia la primera serie de computadores compatibles

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

perifeacutericos

bull DEC PDP8 1965 Primer minicomputador de eacutexito comercial Como

innovaciones presentaba circuitos loacutegicos en moacutedulos integrados (chips)

y un conjunto de liacuteneas de conexioacuten en paralelo para interconectar los

moacutedulos el bus

bull IBM 36085 1968 Es la primera en incorporar el concepto de memoria ca-

cheacute teacutecnica que reduce enormemente el tiempo de acceso a la memoria y que

se ha convertido en un elemento central de los sistemas actuales

24 Cuarta generacioacuten (1970-)

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

un aumento considerable de la densidad de integracioacuten Es este aumento en

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

unidad central de proceso en un uacutenico chip nacen los microprocesadores

el primero de los cuales es el Intel 4004 en 1971

La cuarta generacioacuten se inicia con el desarrollo de este microprocesador Al

mismo tiempo y debido tambieacuten a las mejoras en los procesos de fabricacioacuten

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

las memorias de semiconductores El campo de los computadores personales

estaacute sembrado y pronto germina

bull Altair 8800 1975 Se considera el primer computador personal

bull Supercomputador Cray 1 1976 Incorpora por primera vez el procesa-

miento paralelo

CC-BY-SA bull PID_00163597 16 Introduccioacuten a los fundamentos de los computadores

bull IBM PC 1981 Con el microprocesador Intel 8086 y el sistema operativo

Microsoft DOS marca el inicio de la revolucioacuten de la computacioacuten personal

bull Lisa (Apple) 1983 Incorpora un nuevo dispositivo revolucionario el ratoacuten

y una interfaz de usuario graacutefico (estilo Windows)

IBM PC

Creative CommonsGeneacuterica de AtribucioacutenCompartir-Igual 30Fuente httpeswikipediaorg

CC-BY-SA bull PID_00163597 17 Introduccioacuten a los fundamentos de los computadores

3 iquestCoacutemo soacuten los computadores digitales actuales

Un computador digital es un computador que trabaja con datos numeacutericos

cuya interpretacioacuten depende del formato con que se esteacute trabajando codifi-

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

sentildeales binarias sentildeales sobre las que podemos identificar soacutelo dos valores

distintosa

El concepto de computador es en principio independiente de la tecnologiacutea

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

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

computador digital es un sistema digital complejo

La complejidad que rodea un computador digital hace inviable su concepcioacuten

sin una estructura y organizacioacuten en moacutedulos diferenciados con tareas y fun-

cionalidades bien definidas La estructura general de un computador digital es

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

las flechas indica el flujo de informacioacuten Podriacuteamos definir la ecuacioacuten de

funcionamiento de la forma siguiente

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

Figura 1 Estructura general de un computador

En teacuterminos generales un computador es un dispositivo construido

con el propoacutesito de manipular o transformar informacioacuten para conse-

guir una informacioacuten maacutes elaborada como por ejemplo el resultado de

un problema determinado

CC-BY-SA bull PID_00163597 18 Introduccioacuten a los fundamentos de los computadores

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

tos de conversioacuten de la informacioacuten entre el mundo analoacutegico que nos rodea

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

salida mayoritariamente estaacuten constituidos por dispositivos para almacenar

informacioacuten digital en uno u otro formato pero informacioacuten digital que el

procesador puede recuperar

El procesador estaacute constituido por una unidad central de proceso (CPU

Central Process Unit) y una memoria iacutentimamente relacionada con eacutel (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 reuacutene los recursos de caacutelculo y la unidad de control es

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

para realizar las operaciones que establece el programa en ejecucioacuten

31 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 bull PID_00163597 19 Introduccioacuten a los fundamentos de los computadores

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

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

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

dicalmente del tipo de programacioacuten que se practicaba en los computadores

precedentes y que se basaba en la modificacioacuten de los circuitos electroacutenicos

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

mos identificar estas dos caracteriacutesticas

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 caracteriacutestica dota al

computador de una amplia generalidad De la otra la comunicacioacuten entre la

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

botella en el rendimiento de la maacutequina

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 uacutenica tarea el ciclo de ejecucioacuten de

instrucciones

Figura 4 Arquitectura de Von Neumann

Con un procesador de este tipo la estructura baacutesica de un computador digital

es la que aparece en la figura 5

Figura 5 Arquitectura de un computador tipo Von Neumann

CC-BY-SA bull PID_00163597 20 Introduccioacuten a los fundamentos de los computadores

32 La arquitectura de Harvard

La arquitectura de Von Neumann tiene en siacute misma dos grandes limitaciones

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

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

pliacutecita la idea de la ejecucioacuten secuencial es decir de la ejecucioacuten de una uacutenica

instruccioacuten al mismo tiempo lo cual limita las posibilidades de ejecucioacuten en

paralelo

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

tura de Harvard La caracteriacutestica 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 limitacioacuten 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 tambieacuten limita la posibilidad de la

automodificacioacuten 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 electroacutenica distribuida Su estructura general la podemos

ver reflejada en la figura 6

Figura 6 Arquitectura de Harvard

Automodificacioacuten del coacutedigo

La automodificacioacuten del coacutedi-go (la capacidad de un progra-ma para cambiarse a siacute mismo) ha sido uno de los recursos que se ha aprovechado para elabo-rar coacutedigo malintencionado como los virus

CC-BY-SA bull PID_00163597 21 Introduccioacuten a los fundamentos de los computadores

Resumen

En este moacutedulo se hace una introduccioacuten a los conceptos que se trabajan a lo

largo de los moacutedulos siguientes la codificacioacuten adecuada de la informacioacuten

para interpretarla y tratarla dentro de los computadores la tecnologiacutea con la

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

los computadores

Los computadores actuales se presentan como el resultado de una evolucioacuten

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

baacutesica fijada en la primera generacioacuten de computadores con la incorporacioacuten

del concepto de programa almacenado y se enumeran los principales cambios

tecnoloacutegicos que han permitido mejorar el rendimiento de las maacutequinas hasta

el momento actual

Se dedica un apartado a describir con maacutes detalle la arquitectura baacutesica de los

computadores digitales indicando la relacioacuten 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 bull PID_00163597 23 Introduccioacuten a los fundamentos de los computadores

Bibliografiacutea

Augarten S (1984) Bit by Bit An Illustrated History of Computers Nueva York Ticknor ampFields

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

CC-BY-SA bull PID_00163597 15 Introduccioacuten a los fundamentos de los computadores

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

caacutelculo de 1 megaFLOPS (un milloacuten de operaciones de coma flotante

por segundo) conseguida gracias al paralelismo de las unidades de caacutelculo

ostentoacute el tiacutetulo de maacutequina maacutes raacutepida entre 1964 y 1969

23 Tercera generacioacuten (1965-1970)

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

generacioacuten de computadores y el inicio de la tercera Los circuitos integrados

aportan una reduccioacuten de espacio significativa una reduccioacuten importante del

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

meros minicomputadores De esta generacioacuten podemos destacar

bull IBM 360 1964 Inicia la primera serie de computadores compatibles

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

perifeacutericos

bull DEC PDP8 1965 Primer minicomputador de eacutexito comercial Como

innovaciones presentaba circuitos loacutegicos en moacutedulos integrados (chips)

y un conjunto de liacuteneas de conexioacuten en paralelo para interconectar los

moacutedulos el bus

bull IBM 36085 1968 Es la primera en incorporar el concepto de memoria ca-

cheacute teacutecnica que reduce enormemente el tiempo de acceso a la memoria y que

se ha convertido en un elemento central de los sistemas actuales

24 Cuarta generacioacuten (1970-)

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

un aumento considerable de la densidad de integracioacuten Es este aumento en

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

unidad central de proceso en un uacutenico chip nacen los microprocesadores

el primero de los cuales es el Intel 4004 en 1971

La cuarta generacioacuten se inicia con el desarrollo de este microprocesador Al

mismo tiempo y debido tambieacuten a las mejoras en los procesos de fabricacioacuten

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

las memorias de semiconductores El campo de los computadores personales

estaacute sembrado y pronto germina

bull Altair 8800 1975 Se considera el primer computador personal

bull Supercomputador Cray 1 1976 Incorpora por primera vez el procesa-

miento paralelo

CC-BY-SA bull PID_00163597 16 Introduccioacuten a los fundamentos de los computadores

bull IBM PC 1981 Con el microprocesador Intel 8086 y el sistema operativo

Microsoft DOS marca el inicio de la revolucioacuten de la computacioacuten personal

bull Lisa (Apple) 1983 Incorpora un nuevo dispositivo revolucionario el ratoacuten

y una interfaz de usuario graacutefico (estilo Windows)

IBM PC

Creative CommonsGeneacuterica de AtribucioacutenCompartir-Igual 30Fuente httpeswikipediaorg

CC-BY-SA bull PID_00163597 17 Introduccioacuten a los fundamentos de los computadores

3 iquestCoacutemo soacuten los computadores digitales actuales

Un computador digital es un computador que trabaja con datos numeacutericos

cuya interpretacioacuten depende del formato con que se esteacute trabajando codifi-

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

sentildeales binarias sentildeales sobre las que podemos identificar soacutelo dos valores

distintosa

El concepto de computador es en principio independiente de la tecnologiacutea

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

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

computador digital es un sistema digital complejo

La complejidad que rodea un computador digital hace inviable su concepcioacuten

sin una estructura y organizacioacuten en moacutedulos diferenciados con tareas y fun-

cionalidades bien definidas La estructura general de un computador digital es

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

las flechas indica el flujo de informacioacuten Podriacuteamos definir la ecuacioacuten de

funcionamiento de la forma siguiente

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

Figura 1 Estructura general de un computador

En teacuterminos generales un computador es un dispositivo construido

con el propoacutesito de manipular o transformar informacioacuten para conse-

guir una informacioacuten maacutes elaborada como por ejemplo el resultado de

un problema determinado

CC-BY-SA bull PID_00163597 18 Introduccioacuten a los fundamentos de los computadores

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

tos de conversioacuten de la informacioacuten entre el mundo analoacutegico que nos rodea

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

salida mayoritariamente estaacuten constituidos por dispositivos para almacenar

informacioacuten digital en uno u otro formato pero informacioacuten digital que el

procesador puede recuperar

El procesador estaacute constituido por una unidad central de proceso (CPU

Central Process Unit) y una memoria iacutentimamente relacionada con eacutel (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 reuacutene los recursos de caacutelculo y la unidad de control es

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

para realizar las operaciones que establece el programa en ejecucioacuten

31 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 bull PID_00163597 19 Introduccioacuten a los fundamentos de los computadores

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

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

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

dicalmente del tipo de programacioacuten que se practicaba en los computadores

precedentes y que se basaba en la modificacioacuten de los circuitos electroacutenicos

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

mos identificar estas dos caracteriacutesticas

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 caracteriacutestica dota al

computador de una amplia generalidad De la otra la comunicacioacuten entre la

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

botella en el rendimiento de la maacutequina

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 uacutenica tarea el ciclo de ejecucioacuten de

instrucciones

Figura 4 Arquitectura de Von Neumann

Con un procesador de este tipo la estructura baacutesica de un computador digital

es la que aparece en la figura 5

Figura 5 Arquitectura de un computador tipo Von Neumann

CC-BY-SA bull PID_00163597 20 Introduccioacuten a los fundamentos de los computadores

32 La arquitectura de Harvard

La arquitectura de Von Neumann tiene en siacute misma dos grandes limitaciones

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

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

pliacutecita la idea de la ejecucioacuten secuencial es decir de la ejecucioacuten de una uacutenica

instruccioacuten al mismo tiempo lo cual limita las posibilidades de ejecucioacuten en

paralelo

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

tura de Harvard La caracteriacutestica 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 limitacioacuten 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 tambieacuten limita la posibilidad de la

automodificacioacuten 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 electroacutenica distribuida Su estructura general la podemos

ver reflejada en la figura 6

Figura 6 Arquitectura de Harvard

Automodificacioacuten del coacutedigo

La automodificacioacuten del coacutedi-go (la capacidad de un progra-ma para cambiarse a siacute mismo) ha sido uno de los recursos que se ha aprovechado para elabo-rar coacutedigo malintencionado como los virus

CC-BY-SA bull PID_00163597 21 Introduccioacuten a los fundamentos de los computadores

Resumen

En este moacutedulo se hace una introduccioacuten a los conceptos que se trabajan a lo

largo de los moacutedulos siguientes la codificacioacuten adecuada de la informacioacuten

para interpretarla y tratarla dentro de los computadores la tecnologiacutea con la

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

los computadores

Los computadores actuales se presentan como el resultado de una evolucioacuten

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

baacutesica fijada en la primera generacioacuten de computadores con la incorporacioacuten

del concepto de programa almacenado y se enumeran los principales cambios

tecnoloacutegicos que han permitido mejorar el rendimiento de las maacutequinas hasta

el momento actual

Se dedica un apartado a describir con maacutes detalle la arquitectura baacutesica de los

computadores digitales indicando la relacioacuten 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 bull PID_00163597 23 Introduccioacuten a los fundamentos de los computadores

Bibliografiacutea

Augarten S (1984) Bit by Bit An Illustrated History of Computers Nueva York Ticknor ampFields

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

CC-BY-SA bull PID_00163597 16 Introduccioacuten a los fundamentos de los computadores

bull IBM PC 1981 Con el microprocesador Intel 8086 y el sistema operativo

Microsoft DOS marca el inicio de la revolucioacuten de la computacioacuten personal

bull Lisa (Apple) 1983 Incorpora un nuevo dispositivo revolucionario el ratoacuten

y una interfaz de usuario graacutefico (estilo Windows)

IBM PC

Creative CommonsGeneacuterica de AtribucioacutenCompartir-Igual 30Fuente httpeswikipediaorg

CC-BY-SA bull PID_00163597 17 Introduccioacuten a los fundamentos de los computadores

3 iquestCoacutemo soacuten los computadores digitales actuales

Un computador digital es un computador que trabaja con datos numeacutericos

cuya interpretacioacuten depende del formato con que se esteacute trabajando codifi-

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

sentildeales binarias sentildeales sobre las que podemos identificar soacutelo dos valores

distintosa

El concepto de computador es en principio independiente de la tecnologiacutea

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

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

computador digital es un sistema digital complejo

La complejidad que rodea un computador digital hace inviable su concepcioacuten

sin una estructura y organizacioacuten en moacutedulos diferenciados con tareas y fun-

cionalidades bien definidas La estructura general de un computador digital es

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

las flechas indica el flujo de informacioacuten Podriacuteamos definir la ecuacioacuten de

funcionamiento de la forma siguiente

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

Figura 1 Estructura general de un computador

En teacuterminos generales un computador es un dispositivo construido

con el propoacutesito de manipular o transformar informacioacuten para conse-

guir una informacioacuten maacutes elaborada como por ejemplo el resultado de

un problema determinado

CC-BY-SA bull PID_00163597 18 Introduccioacuten a los fundamentos de los computadores

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

tos de conversioacuten de la informacioacuten entre el mundo analoacutegico que nos rodea

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

salida mayoritariamente estaacuten constituidos por dispositivos para almacenar

informacioacuten digital en uno u otro formato pero informacioacuten digital que el

procesador puede recuperar

El procesador estaacute constituido por una unidad central de proceso (CPU

Central Process Unit) y una memoria iacutentimamente relacionada con eacutel (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 reuacutene los recursos de caacutelculo y la unidad de control es

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

para realizar las operaciones que establece el programa en ejecucioacuten

31 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 bull PID_00163597 19 Introduccioacuten a los fundamentos de los computadores

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

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

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

dicalmente del tipo de programacioacuten que se practicaba en los computadores

precedentes y que se basaba en la modificacioacuten de los circuitos electroacutenicos

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

mos identificar estas dos caracteriacutesticas

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 caracteriacutestica dota al

computador de una amplia generalidad De la otra la comunicacioacuten entre la

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

botella en el rendimiento de la maacutequina

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 uacutenica tarea el ciclo de ejecucioacuten de

instrucciones

Figura 4 Arquitectura de Von Neumann

Con un procesador de este tipo la estructura baacutesica de un computador digital

es la que aparece en la figura 5

Figura 5 Arquitectura de un computador tipo Von Neumann

CC-BY-SA bull PID_00163597 20 Introduccioacuten a los fundamentos de los computadores

32 La arquitectura de Harvard

La arquitectura de Von Neumann tiene en siacute misma dos grandes limitaciones

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

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

pliacutecita la idea de la ejecucioacuten secuencial es decir de la ejecucioacuten de una uacutenica

instruccioacuten al mismo tiempo lo cual limita las posibilidades de ejecucioacuten en

paralelo

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

tura de Harvard La caracteriacutestica 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 limitacioacuten 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 tambieacuten limita la posibilidad de la

automodificacioacuten 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 electroacutenica distribuida Su estructura general la podemos

ver reflejada en la figura 6

Figura 6 Arquitectura de Harvard

Automodificacioacuten del coacutedigo

La automodificacioacuten del coacutedi-go (la capacidad de un progra-ma para cambiarse a siacute mismo) ha sido uno de los recursos que se ha aprovechado para elabo-rar coacutedigo malintencionado como los virus

CC-BY-SA bull PID_00163597 21 Introduccioacuten a los fundamentos de los computadores

Resumen

En este moacutedulo se hace una introduccioacuten a los conceptos que se trabajan a lo

largo de los moacutedulos siguientes la codificacioacuten adecuada de la informacioacuten

para interpretarla y tratarla dentro de los computadores la tecnologiacutea con la

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

los computadores

Los computadores actuales se presentan como el resultado de una evolucioacuten

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

baacutesica fijada en la primera generacioacuten de computadores con la incorporacioacuten

del concepto de programa almacenado y se enumeran los principales cambios

tecnoloacutegicos que han permitido mejorar el rendimiento de las maacutequinas hasta

el momento actual

Se dedica un apartado a describir con maacutes detalle la arquitectura baacutesica de los

computadores digitales indicando la relacioacuten 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 bull PID_00163597 23 Introduccioacuten a los fundamentos de los computadores

Bibliografiacutea

Augarten S (1984) Bit by Bit An Illustrated History of Computers Nueva York Ticknor ampFields

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

CC-BY-SA bull PID_00163597 17 Introduccioacuten a los fundamentos de los computadores

3 iquestCoacutemo soacuten los computadores digitales actuales

Un computador digital es un computador que trabaja con datos numeacutericos

cuya interpretacioacuten depende del formato con que se esteacute trabajando codifi-

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

sentildeales binarias sentildeales sobre las que podemos identificar soacutelo dos valores

distintosa

El concepto de computador es en principio independiente de la tecnologiacutea

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

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

computador digital es un sistema digital complejo

La complejidad que rodea un computador digital hace inviable su concepcioacuten

sin una estructura y organizacioacuten en moacutedulos diferenciados con tareas y fun-

cionalidades bien definidas La estructura general de un computador digital es

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

las flechas indica el flujo de informacioacuten Podriacuteamos definir la ecuacioacuten de

funcionamiento de la forma siguiente

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

Figura 1 Estructura general de un computador

En teacuterminos generales un computador es un dispositivo construido

con el propoacutesito de manipular o transformar informacioacuten para conse-

guir una informacioacuten maacutes elaborada como por ejemplo el resultado de

un problema determinado

CC-BY-SA bull PID_00163597 18 Introduccioacuten a los fundamentos de los computadores

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

tos de conversioacuten de la informacioacuten entre el mundo analoacutegico que nos rodea

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

salida mayoritariamente estaacuten constituidos por dispositivos para almacenar

informacioacuten digital en uno u otro formato pero informacioacuten digital que el

procesador puede recuperar

El procesador estaacute constituido por una unidad central de proceso (CPU

Central Process Unit) y una memoria iacutentimamente relacionada con eacutel (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 reuacutene los recursos de caacutelculo y la unidad de control es

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

para realizar las operaciones que establece el programa en ejecucioacuten

31 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 bull PID_00163597 19 Introduccioacuten a los fundamentos de los computadores

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

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

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

dicalmente del tipo de programacioacuten que se practicaba en los computadores

precedentes y que se basaba en la modificacioacuten de los circuitos electroacutenicos

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

mos identificar estas dos caracteriacutesticas

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 caracteriacutestica dota al

computador de una amplia generalidad De la otra la comunicacioacuten entre la

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

botella en el rendimiento de la maacutequina

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 uacutenica tarea el ciclo de ejecucioacuten de

instrucciones

Figura 4 Arquitectura de Von Neumann

Con un procesador de este tipo la estructura baacutesica de un computador digital

es la que aparece en la figura 5

Figura 5 Arquitectura de un computador tipo Von Neumann

CC-BY-SA bull PID_00163597 20 Introduccioacuten a los fundamentos de los computadores

32 La arquitectura de Harvard

La arquitectura de Von Neumann tiene en siacute misma dos grandes limitaciones

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

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

pliacutecita la idea de la ejecucioacuten secuencial es decir de la ejecucioacuten de una uacutenica

instruccioacuten al mismo tiempo lo cual limita las posibilidades de ejecucioacuten en

paralelo

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

tura de Harvard La caracteriacutestica 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 limitacioacuten 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 tambieacuten limita la posibilidad de la

automodificacioacuten 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 electroacutenica distribuida Su estructura general la podemos

ver reflejada en la figura 6

Figura 6 Arquitectura de Harvard

Automodificacioacuten del coacutedigo

La automodificacioacuten del coacutedi-go (la capacidad de un progra-ma para cambiarse a siacute mismo) ha sido uno de los recursos que se ha aprovechado para elabo-rar coacutedigo malintencionado como los virus

CC-BY-SA bull PID_00163597 21 Introduccioacuten a los fundamentos de los computadores

Resumen

En este moacutedulo se hace una introduccioacuten a los conceptos que se trabajan a lo

largo de los moacutedulos siguientes la codificacioacuten adecuada de la informacioacuten

para interpretarla y tratarla dentro de los computadores la tecnologiacutea con la

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

los computadores

Los computadores actuales se presentan como el resultado de una evolucioacuten

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

baacutesica fijada en la primera generacioacuten de computadores con la incorporacioacuten

del concepto de programa almacenado y se enumeran los principales cambios

tecnoloacutegicos que han permitido mejorar el rendimiento de las maacutequinas hasta

el momento actual

Se dedica un apartado a describir con maacutes detalle la arquitectura baacutesica de los

computadores digitales indicando la relacioacuten 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 bull PID_00163597 23 Introduccioacuten a los fundamentos de los computadores

Bibliografiacutea

Augarten S (1984) Bit by Bit An Illustrated History of Computers Nueva York Ticknor ampFields

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

CC-BY-SA bull PID_00163597 18 Introduccioacuten a los fundamentos de los computadores

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

tos de conversioacuten de la informacioacuten entre el mundo analoacutegico que nos rodea

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

salida mayoritariamente estaacuten constituidos por dispositivos para almacenar

informacioacuten digital en uno u otro formato pero informacioacuten digital que el

procesador puede recuperar

El procesador estaacute constituido por una unidad central de proceso (CPU

Central Process Unit) y una memoria iacutentimamente relacionada con eacutel (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 reuacutene los recursos de caacutelculo y la unidad de control es

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

para realizar las operaciones que establece el programa en ejecucioacuten

31 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 bull PID_00163597 19 Introduccioacuten a los fundamentos de los computadores

La caracteriacutestica distintiva es que se trata de una arquitectura en la que tanto

los datos como el programa se almacenan en la memoria principal que estaacute

ligada directamente a la CPU El concepto de programa almacenado difiere ra-

dicalmente del tipo de programacioacuten que se practicaba en los computadores

precedentes y que se basaba en la modificacioacuten de los circuitos electroacutenicos

Esta arquitectura es la base de los computadores modernos en los que pode-

mos identificar estas dos caracteriacutesticas

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 caracteriacutestica dota al

computador de una amplia generalidad De la otra la comunicacioacuten entre la

memoria y la CPU se convierte en criacutetica y constituye un verdadero cuello de

botella en el rendimiento de la maacutequina

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 uacutenica tarea el ciclo de ejecucioacuten de

instrucciones

Figura 4 Arquitectura de Von Neumann

Con un procesador de este tipo la estructura baacutesica de un computador digital

es la que aparece en la figura 5

Figura 5 Arquitectura de un computador tipo Von Neumann

CC-BY-SA bull PID_00163597 20 Introduccioacuten a los fundamentos de los computadores

32 La arquitectura de Harvard

La arquitectura de Von Neumann tiene en siacute misma dos grandes limitaciones

Por una parte el acceso a memoria es un punto criacutetico y limita el rendimiento

de los sistemas basados en este tipo de arquitectura Por otra parte lleva im-

pliacutecita la idea de la ejecucioacuten secuencial es decir de la ejecucioacuten de una uacutenica

instruccioacuten al mismo tiempo lo cual limita las posibilidades de ejecucioacuten en

paralelo

De las llamadas arquitecturas no Von Neumann podemos destacar la arquitec-

tura de Harvard La caracteriacutestica 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 limitacioacuten 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 tambieacuten limita la posibilidad de la

automodificacioacuten 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 electroacutenica distribuida Su estructura general la podemos

ver reflejada en la figura 6

Figura 6 Arquitectura de Harvard

Automodificacioacuten del coacutedigo

La automodificacioacuten del coacutedi-go (la capacidad de un progra-ma para cambiarse a siacute mismo) ha sido uno de los recursos que se ha aprovechado para elabo-rar coacutedigo malintencionado como los virus

CC-BY-SA bull PID_00163597 21 Introduccioacuten a los fundamentos de los computadores

Resumen

En este moacutedulo se hace una introduccioacuten a los conceptos que se trabajan a lo

largo de los moacutedulos siguientes la codificacioacuten adecuada de la informacioacuten

para interpretarla y tratarla dentro de los computadores la tecnologiacutea con la

que se construyen los sistemas digitales en general y la arquitectura baacutesica de

los computadores

Los computadores actuales se presentan como el resultado de una evolucioacuten

que se ha llevado a cabo a lo largo de los antildeos partiendo de la arquitectura

baacutesica fijada en la primera generacioacuten de computadores con la incorporacioacuten

del concepto de programa almacenado y se enumeran los principales cambios

tecnoloacutegicos que han permitido mejorar el rendimiento de las maacutequinas hasta

el momento actual

Se dedica un apartado a describir con maacutes detalle la arquitectura baacutesica de los

computadores digitales indicando la relacioacuten 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 bull PID_00163597 23 Introduccioacuten a los fundamentos de los computadores

Bibliografiacutea

Augarten S (1984) Bit by Bit An Illustrated History of Computers Nueva York Ticknor ampFields

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

CC-BY-SA bull PID_00163597 19 Introduccioacuten a los fundamentos de los computadores

La caracteriacutestica distintiva es que se trata de una arquitectura en la que tanto

los datos como el programa se almacenan en la memoria principal que estaacute

ligada directamente a la CPU El concepto de programa almacenado difiere ra-

dicalmente del tipo de programacioacuten que se practicaba en los computadores

precedentes y que se basaba en la modificacioacuten de los circuitos electroacutenicos

Esta arquitectura es la base de los computadores modernos en los que pode-

mos identificar estas dos caracteriacutesticas

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 caracteriacutestica dota al

computador de una amplia generalidad De la otra la comunicacioacuten entre la

memoria y la CPU se convierte en criacutetica y constituye un verdadero cuello de

botella en el rendimiento de la maacutequina

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 uacutenica tarea el ciclo de ejecucioacuten de

instrucciones

Figura 4 Arquitectura de Von Neumann

Con un procesador de este tipo la estructura baacutesica de un computador digital

es la que aparece en la figura 5

Figura 5 Arquitectura de un computador tipo Von Neumann

CC-BY-SA bull PID_00163597 20 Introduccioacuten a los fundamentos de los computadores

32 La arquitectura de Harvard

La arquitectura de Von Neumann tiene en siacute misma dos grandes limitaciones

Por una parte el acceso a memoria es un punto criacutetico y limita el rendimiento

de los sistemas basados en este tipo de arquitectura Por otra parte lleva im-

pliacutecita la idea de la ejecucioacuten secuencial es decir de la ejecucioacuten de una uacutenica

instruccioacuten al mismo tiempo lo cual limita las posibilidades de ejecucioacuten en

paralelo

De las llamadas arquitecturas no Von Neumann podemos destacar la arquitec-

tura de Harvard La caracteriacutestica 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 limitacioacuten 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 tambieacuten limita la posibilidad de la

automodificacioacuten 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 electroacutenica distribuida Su estructura general la podemos

ver reflejada en la figura 6

Figura 6 Arquitectura de Harvard

Automodificacioacuten del coacutedigo

La automodificacioacuten del coacutedi-go (la capacidad de un progra-ma para cambiarse a siacute mismo) ha sido uno de los recursos que se ha aprovechado para elabo-rar coacutedigo malintencionado como los virus

CC-BY-SA bull PID_00163597 21 Introduccioacuten a los fundamentos de los computadores

Resumen

En este moacutedulo se hace una introduccioacuten a los conceptos que se trabajan a lo

largo de los moacutedulos siguientes la codificacioacuten adecuada de la informacioacuten

para interpretarla y tratarla dentro de los computadores la tecnologiacutea con la

que se construyen los sistemas digitales en general y la arquitectura baacutesica de

los computadores

Los computadores actuales se presentan como el resultado de una evolucioacuten

que se ha llevado a cabo a lo largo de los antildeos partiendo de la arquitectura

baacutesica fijada en la primera generacioacuten de computadores con la incorporacioacuten

del concepto de programa almacenado y se enumeran los principales cambios

tecnoloacutegicos que han permitido mejorar el rendimiento de las maacutequinas hasta

el momento actual

Se dedica un apartado a describir con maacutes detalle la arquitectura baacutesica de los

computadores digitales indicando la relacioacuten 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 bull PID_00163597 23 Introduccioacuten a los fundamentos de los computadores

Bibliografiacutea

Augarten S (1984) Bit by Bit An Illustrated History of Computers Nueva York Ticknor ampFields

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

CC-BY-SA bull PID_00163597 20 Introduccioacuten a los fundamentos de los computadores

32 La arquitectura de Harvard

La arquitectura de Von Neumann tiene en siacute misma dos grandes limitaciones

Por una parte el acceso a memoria es un punto criacutetico y limita el rendimiento

de los sistemas basados en este tipo de arquitectura Por otra parte lleva im-

pliacutecita la idea de la ejecucioacuten secuencial es decir de la ejecucioacuten de una uacutenica

instruccioacuten al mismo tiempo lo cual limita las posibilidades de ejecucioacuten en

paralelo

De las llamadas arquitecturas no Von Neumann podemos destacar la arquitec-

tura de Harvard La caracteriacutestica 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 limitacioacuten 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 tambieacuten limita la posibilidad de la

automodificacioacuten 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 electroacutenica distribuida Su estructura general la podemos

ver reflejada en la figura 6

Figura 6 Arquitectura de Harvard

Automodificacioacuten del coacutedigo

La automodificacioacuten del coacutedi-go (la capacidad de un progra-ma para cambiarse a siacute mismo) ha sido uno de los recursos que se ha aprovechado para elabo-rar coacutedigo malintencionado como los virus

CC-BY-SA bull PID_00163597 21 Introduccioacuten a los fundamentos de los computadores

Resumen

En este moacutedulo se hace una introduccioacuten a los conceptos que se trabajan a lo

largo de los moacutedulos siguientes la codificacioacuten adecuada de la informacioacuten

para interpretarla y tratarla dentro de los computadores la tecnologiacutea con la

que se construyen los sistemas digitales en general y la arquitectura baacutesica de

los computadores

Los computadores actuales se presentan como el resultado de una evolucioacuten

que se ha llevado a cabo a lo largo de los antildeos partiendo de la arquitectura

baacutesica fijada en la primera generacioacuten de computadores con la incorporacioacuten

del concepto de programa almacenado y se enumeran los principales cambios

tecnoloacutegicos que han permitido mejorar el rendimiento de las maacutequinas hasta

el momento actual

Se dedica un apartado a describir con maacutes detalle la arquitectura baacutesica de los

computadores digitales indicando la relacioacuten 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 bull PID_00163597 23 Introduccioacuten a los fundamentos de los computadores

Bibliografiacutea

Augarten S (1984) Bit by Bit An Illustrated History of Computers Nueva York Ticknor ampFields

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

CC-BY-SA bull PID_00163597 21 Introduccioacuten a los fundamentos de los computadores

Resumen

En este moacutedulo se hace una introduccioacuten a los conceptos que se trabajan a lo

largo de los moacutedulos siguientes la codificacioacuten adecuada de la informacioacuten

para interpretarla y tratarla dentro de los computadores la tecnologiacutea con la

que se construyen los sistemas digitales en general y la arquitectura baacutesica de

los computadores

Los computadores actuales se presentan como el resultado de una evolucioacuten

que se ha llevado a cabo a lo largo de los antildeos partiendo de la arquitectura

baacutesica fijada en la primera generacioacuten de computadores con la incorporacioacuten

del concepto de programa almacenado y se enumeran los principales cambios

tecnoloacutegicos que han permitido mejorar el rendimiento de las maacutequinas hasta

el momento actual

Se dedica un apartado a describir con maacutes detalle la arquitectura baacutesica de los

computadores digitales indicando la relacioacuten 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 bull PID_00163597 23 Introduccioacuten a los fundamentos de los computadores

Bibliografiacutea

Augarten S (1984) Bit by Bit An Illustrated History of Computers Nueva York Ticknor ampFields

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

CC-BY-SA bull PID_00163597 23 Introduccioacuten a los fundamentos de los computadores

Bibliografiacutea

Augarten S (1984) Bit by Bit An Illustrated History of Computers Nueva York Ticknor ampFields

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