Introducción a los fundamentos de los...
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