Lo que
conocemos hoy como computador, antes fue una máquina analítica hasta que se
logró crear un dispositivo totalmente electrónico, que fue el primer computador
digital. Luego, con la aparición del circuito integrado el avance tecnológico
fue mucho mayor, permitiendo interconectar miles de transistores. La primera
máquina de calcular mecánica, fue inventada en 1642 por el matemático francés
Blaise Pascal. Aquel dispositivo utilizaba una serie de ruedas de diez dientes
en las que cada uno de los dientes representaba un dígito del 0 al 9. Las ruedas
estaban conectadas de tal manera que podían sumarse números haciéndolas avanzar
el número de dientes correcto. En 1670 el filósofo y matemático alemán
Gottfried Wilhelm Leibniz perfeccionó esta máquina e inventó una que también
podía multiplicar.
Los computadores analógicos comenzaron a
construirse a principios del siglo XX. Los primeros modelos realizaban los
cálculos mediante ejes y engranajes giratorios. Con estas máquinas se evaluaban
las aproximaciones numéricas de ecuaciones demasiado difíciles como para poder
ser resueltas mediante otros métodos. Durante las dos guerras mundiales se
utilizaron sistemas informáticos analógicos, primero mecánicos y más tarde
eléctricos, para predecir la trayectoria de los torpedos en los submarinos y para
el manejo a distancia de las bombas en la aviación.
Durante la II Guerra Mundial (1939-1945), un
equipo de científicos y matemáticos que trabajaban en Bletchley Park, al norte
de Londres, crearon lo que se consideró el primer computador digital totalmente
electrónico: el Colossus. Hacia diciembre de 1943 el Colossus, que incorporaba
1.500 válvulas o tubos de vacío, era ya operativo. Fue utilizado por el equipo
dirigido por Alan Turing para descodificar los mensajes de radio cifrados de
los alemanes.
En 1939 y con
independencia de este proyecto, John Atanasoff y Clifford Berry ya habían
construido un prototipo de máquina electrónica en el Iowa State College (EEUU).
Este prototipo y las investigaciones posteriores se realizaron en el anonimato,
y más tarde quedaron eclipsadas por el desarrollo del Calculador e integrador
numérico digital electrónico (ENIAC) en 1945. El ENIAC, que según mostró la
evidencia se basaba en gran medida en el 'computador' Atanasoff-Berry (ABC,
acrónimo de Electronic Numerical Integrator and Computer), obtuvo una patente
que caducó en 1973, varias décadas más tarde.
A finales de la década de 1960 apareció el
circuito integrado (CI), que posibilitó la fabricación de varios transistores
en un único sustrato de silicio en el que los cables de interconexión iban
soldados. El circuito integrado permitió una posterior reducción del precio, el
tamaño y los porcentajes de error. El microprocesador se convirtió en una
realidad a mediados de la década de 1970, con la introducción del circuito de
integración a gran escala (LSI, acrónimo de Large Scale Integrated) y, más
tarde, con el circuito de integración a mayor escala (VLSI, acrónimo de Very
Large Scale Integrated), con varios miles de transistores interconectados
soldados sobre un único sustrato de silicio.
En la
historia de la humanidad se han construido distintos tipos de instrumentos de
ayuda para que el hombre pudiera calcular, hasta llegar a la computadora
digital moderna. Aquí mostraremos algunos hitos importantes en esta historia.
Se muestra la evolución de las computadoras, así como de los dispositivos para
entrada/salida y los medios de comunicación de datos.
La primer
persona en construir una máquina de calcular fue el francés Blaise Pascal
(1642). Era una máquina mecánica que sólo servía para sumar.
En 1666
Samuel Morbard crea una máquina para sumar y restar. Ya en 1674, el barón
Gottfired Wilhelm von Leibniz construye en Alemania una calculadora mecánica
que no solo suma y resta, sino que también puede efectuar operaciones de
multiplicación y división. Todas estas calculadoras eran mecánicas, en base a
movimientos de engranajes, y los datos se ingresaban por medio de husos
giratorios.
En el año
1801, Jacquard inventa una tarjeta de cartón a la que hace agujeros que se
utiliza para "programar" una máquina de tejer.
Más adelante
(1822), Charles Babbage, un profesor de matemática de la Universidad de
Cambridge diseña y construye la "máquina de diferencias". Este era un
dispositivo mecánico que podía sumar y restar, y se usa para hacer cálculos por
medio del método de diferencias finitas usando (en concreto fue usada para
generar tablas de navegación). El resultado se registra en un plato de cobre
(en forma de disco) en el que se perforan los resultados (de forma similar a la
máquina de tejer de Jacquard).
Esta
calculadora funcionaba correctamente, pero sólo podía ejecutar un único
algoritmo. Babbage dedicó tiempo y esfuerzos económicos en el diseño de una
computadora de uso general, llamada la "Máquina Analítica" (1834).
Esta máquina, que fue diseñada generalización de la máquina de diferencias,
tenía cuatro componentes básicos:
Un
"almacenamiento" (memoria) con capacidad para guardar 50.000 dígitos
decimales. Esta se usaba para guardar estados intermedios, variables y
resultados. Una "unidad de cómputo": puede recibir órdenes para hacer
las cuatro operaciones básicas, y puede almacenar resultados en la memoria.
Una unidad de
entrada (con tarjetas perforadas). La unidad de entrada almacenaba el conjunto
de órdenes que se deseaba ejecutar.
Una unidad de
salida: tarjetas perforadas y salida impresa.
Perforando
distintos conjuntos de instrucciones en las tarjetas de entrada, era posible
que la máquina realizara distintas operaciones.
Como esta
computadora debía ser programada, Babbage contrató a Ada Augusta Lovelace (hija
de Lord Byron), que se convirtió así en la primer programadora de la historia
(1842).
El proyecto
de Babbage nunca pudo ser concluido debido a problemas con el hardware, que no
pudieron ser solucionados hasta casi un siglo más tarde. Durante este tiempo,
hubo diversos avances que permitieron el posterior desarrollo de la computación
digital.
En el año
1844, Samuel Morse envía un mensaje en telégrafo desde Washington a Baltimore
(EE.UU.). En 1854, George Boole publica "Una investigación sobre las leyes
del pensamiento", describiendo un sistema de lógica simbólica y
razonamiento (que sería la base del diseño de computadoras digitales).
En el año
1858 se tiende el primer cable telegráfico que cruza el Atlántico. En 1876,
Alexander Graham Bell inventa y patenta el Teléfono.
En 1889,
Herman Hollerith gana, con su compañía, llamada the Electric Tabulating System,
una licitación para el censo de los EE.UU. de 1890. En el año 1893 se comienza
a vender la primer calculadoa mecánica de cuatro funciones.
En el año
1895, el italiano Guglielmo Marconi emite la primer señal de radio. En el año
1896, Hollerith establece la compañía Tabulating Machine Company.
En el año
1904, John A. Fleming patenta la válvula de vacío, que permite mejorar las
comunicaciones por radio. En el año 1908, el británico Campbell Swinton
describe un método de escaneo electrónico que sería utilizado posteriormente en
el tubo de rayos catódicos de los televisores.
En el año
1911, la Tabulating Machine Company de Hollerith se une con otras dos
compañías, y forman la Calculating, Tabulating and Recording Company (CTR &
Co.). En el año 1919, dos físicos de los EE.UU., Eccles y Jordan, inventan el
circuito de conmutación electrónica llamado flip-flop, que sería crítico para
los sistemas de cómputo electrónico. En el año 1920, a su vez, el checo Karel
Cepel utiliza por primera vez la palabra "Robot" (que significa
"Trabajo obligatorio") en una obra de teatro.
En 1924, T.J.
Watson. cambia el nombre de la CRT & Co. por IBM (International Business
Machines). En 1928 se usan osciladores de cuarzo para lograr alta precisión en
mecanismos de medición de tiempo. Durante esta década retoma vigor el
desarrollo de máquinas para realizar cálculos. Hartree construyó un
"analizador diferencial", que usaba como principio básico un disco
rotando en contacto con otro. A una velocidad de motor constante, la distancia
transcurrida sería la integral en el tiempo de la relación de variación.
En 1930, en
el MIT (EE.UU.), Vannevar Bush construye otro analizador diferencial. Este era
un dispositivo electromecánico que podía usarse para integrar ecuaciones
diferenciales. La precisión de esta máquina no era alta (5 en 10.000), y tomaba
entre 10 y 20 minutos integrar una ecuación promedio. A pesar de esto, al
comparar con la velocidad humana para realizar las mismas tareas, una ecuación
promedio puede constar de aproximadamente unas 750 multiplicaciones, lo que
hubiera tomado a un hombre unas 7 horas.
Los
siguientes avances significativos fueron en la década del 30, en Alemania. En
1934, Konrad Zuse, un estudiante de ingeniería, comienza a construir una máquina
de calcular electromecánica. Esta es construida en base a relés, con el
objetivo de lograr mayor precisión que en las calculadoras existentes hasta ese
momento.
En 1935, IBM
empieza a vender una máquina de escribir eléctrica (la 601) que también servía
como calculadora en base a tarjetas perforadas.
En 1936
Konrad Zuse termina de construir (a los 26 años) la computadora Z1 en la sala
de la casa de sus padres. Su representación numérica usaba punto flotante
binario. Nunca estuvo operativa debido a la precisión limitada de las partes
mecánicas, lo que provocó trabajo posterior de Zuse para mejorarla.
Un tiempo más
adelante (1937), en los EE.UU., John Atanasoff (de la Iowa State University) y
George Stibbitz (de los Bell Labs) comienzan a diseñar (cada uno por su cuenta)
calculadoras digitales electromecánicas basadas en relés. La computadora de
Atanasoff era muy avanzada para la época: usaba aritmética binaria, y tenía una
memoria de capacitores (que precisa refrescos cada determinado tiempo para
mantener sus valores, exactamente de la misma forma que lo hacen los chips
actuales de memoria dinámica). Esta computadora nunca llegó a estar operativa,
al igual que la de Babbage, por problemas de tecnología.
La
computadora de Stibbitz era más primitiva, pero llegó a estar operativa.
También en el
año 1937, el matemático británico Alan Turing presenta el trabajo "Acerca
de números computables", presentando el concepto de su máquina teórica.
En el mismo
año Howard Aiken, un profesor de física en Harvard, envía a a IBM una propuesta
para construir una máquina de cálculo automático. Esta debía ser capaz de hacer
las cuatro operaciones aritméticas, y operar en una secuencia predeterminada.
El trabajo de Aiken estuvo basado en el de Babbage, y la propuesta trataba de
construir el diseño de Babbage usando relés en lugar de engranajes.
La primer
computadora construida por Aiken fue la Harvard Mark I (también llamada IBM
ASSC) fue terminada recién en 1944. Esta computadora tenía dispositivos para
almacenar y operar números que eran cargados durante un cálculo o que eran
resultados de operaciones previas. Tenía 60 registros constantes, cada uno
consistente de 24 conmutadores que podían inicializarse manualmente a una
posición decimal (de cero a 9). Había 23 dígitos significativos, y la posición
24 valía 0 o 9, indicando números positivos o negativos. Había, además, 72
registros de almacenamiento donde se hacían las operaciones aritméticas. La
entrada y la salida consistían de cintas de papel perforado, que podían
montarse en teletipos para obtener resultados impresos. El tiempo requerido para
ejecutar una instrucción era de 6 segundos.
Originalmente
la computadora no tenía circuitos de bifurcación (condicional o incondicional),
los que fueron agregados más adelante. También se agregaron una unidad de
multiplicación/división, más almacenamiento, registros y una unidad de cinta.
Los datos estaban completamente separados de las instrucciones. Esta
computadora estuvo activa desde 1944 hasta 15 años más tarde, en que fue
desmantelada.
Los
programadores solían ser matemáticos que trabajaban con una cartilla de
operaciones. Al tiempo era común que las partes de los programas que eran
necesarias una y otra vez hubieran sido escritas en libros de apuntes, dando
origen a las bibliotecas de programas. Años más tarde, estas prácticas se
extendieron a conjuntos de programas o rutinas (llamados bibliotecas de
subrutinas), pero sus orígenes se remontan a estas épocas.
Simultáneamente,
Zuse continuaba trabajando en Alemania. En 1938 comenzó a trabajar en la
computadora Z2, que estuvo operativa en 1940. Esta era una máquina puramente de
relés. Reemplazó las partes mecánicas no funcionales de la Z1 por relés.
En 1941,
terminó la Z3, que era una computadora programable electromecánica. Contenía
2600 relés, y algunos expertos la consideran como la primer computadora
programable de la historia.
Primera
Generación: Válvulas de vacío (1945-1955).
Para el
momento en que Howard Aiken había terminado la Mark II, las computadoras
basadas en relés ya eran obsoletas. El principal estímulo para desarrollar
computadoras electrónicas estuvo en la segunda guerra mundial. Los submarinos
alemanes, que destruían a la flota inglesa, se comunicaban por radio con sus
almirantes en Berlín. Los británicos podían captar las señales de radio, pero
los mensajes estaban encriptados usando un dispositivo llamado ENIGMA. La
inteligencia británica había podido obtener una máquina ENIGMA robada a los
alemanes, pero para quebrar los códigos era necesaria una gran cantidad de
cálculo, que debía hacerse a alta velocidad
Para
decodificar estos mensajes, el gobierno británico construyó un laboratorio para
construir una computadora, llamada COLOSSUS. Alan Turing, T. Flowers y M.
Newman construyeron esta computadora (1943), que fue la primer computadora
electrónica de la historia. Estaba construida de válvulas de vacío y no tenía
dispositivos electromecánicos. A pesar de ello, al ser un secreto militar, su
construcción no tuvo ninguna influencia posterior.
En EE.UU.,
simultáneamente, había interés de la armada para obtener tablas que pudieran usarse
para mejorar la precisión en los disparos de artillería pesada (en particular
para armas antiaéreas), ya que hacerlos manualmente era tedioso y
frecuentemente con errores.
En 1943, John
Mauchly y uno de sus alumnos, un joven ingeniero llamado John P. Eckert
obtienen un subsidio de la armada para construir una computadora electrónica,
que llamaron Electronic Numerical Integrator and Computer (ENIAC).
John Mauchly
propuso construir una computadora electrónica digital para reemplazar al
analizador diferencial, dando dos ventajas principales: la velocidad de la
electrónica, y la precisión del principio digital. La computadora consistía de
18000 válvulas de vacío y 1500 relés. Consumía 140 KW/h y pesaba 30 toneladas.
Su hardware
electrónico era 10 veces más rápidos que los del analizador diferencial y 100
veces más rápido que un calculista humano: podía hacer 5000 sumas por segundo.
La computadora era programada por completo usando una técnica similar a los
tableros de enchufes de las antiguas máquinas de calcular (enciendiendo y
apagando llaves y enchufando y desenchufando cables). Esta computadora no era
binaria, sino decimal: los números se representaban en forma decimal, y la
aritmética se hacía en el sistema decimal. Tenía 20 registros que podían usarse
como un acumulador, cada uno de los cuales almacenaba números decimales de 10
dígitos.
Luego que la
ENIAC estuvo operativa, y se vio que tomaba tiempo considerable en preparar un
programa e incorporarlo en el cableado, la máquina se modificó de tal forma que
una secuencia de instrucciones pudiera leerse como una secuencia de números de
dos dígitos que se ponían en una tabla de funciones. Para mantener la lógica
simple, un solo registro quedó de acumulador, y los demás fueron usados como
memoria.
Como mencionamos,
mientras la ENIAC era construida, en 1944 Mark I se puso operativa. En el mismo
año, prácticamente todas las máquinas de Zuse fueron destruidas por el
bombardeo de los aliados a Berlín , por ende, su trabajo no tuvo influencia en
máquinas posteriores. La computadora Z4, que entró en operación en 1945,
sobrevivió al bombardeo y ayudó al desarrollo de postguerra de computadoras
científicas en Alemania. Contenía unos 2200 relés y trabajaba con números
binarios de punto flotante normalizado con una mantisa de 22 bits. Una
multiplicación tomaba entre 2.5 y 3 segundos. El programa se leía de dos
lectoras de cinta perforada, y seguía teniendo memoria mecánica (para almacenar
hasta 64 números).
En este mismo
año, John Von Neumann introduce el concepto de programa almacenado. Una de las
cosas que le molestaba de las computadoras era que su programación con llaves y
cables era lenta, tediosa e inflexible. Propuso que los programas se
almacenaran de forma digital en la memoria de la computadora, junto con los
datos. Por otro lado, se dio cuenta que la aritmética decimal usada por la
ENIAC (donde cada dígito era representado por 10 válvulas de vacío - una
prendida y 9 apagadas -) podía reemplazarse usando aritmética binaria. Este
diseño, conocido como Arquitectura de Von Neumann, ha sido la base para casi todas
las computadoras digitales.
En 1945,
Eckert y Mauchly comienzan a trabajar en un sucesor de la ENIAC, llamada EDVAC
(Electronic Discrete Variable Automatic Computer). También en este año, Aiken
comienza a construir la Mark II. En el mismo año, trabajando con un prototipo
de la Mark II, Grace Murray Hopper encuentra el primer "bug": una
polilla que provocó una falla en un relé.
En 1946, la
ENIAC estaba operativa, funcionando en la Universidad de Pennsylvania. A pesar
que no pudo ser usada para su propósito original de cálculos de balística, la
finalización de la ENIAC provocó una explosión de interés de desarrollo de
computadoras electrónicas. Luego que la guerra terminó, comenzó una nueva era
para la computación científica. Los recursos dedicados a la guerra fueron
liberados y dedicados a la ciencia básica. En particular, el departamento de
Marina y la Comisión de Energía Atómica de los EE.UU. decidieron continuar
soportando el desarrollo de computadoras. Las principales aplicaciones eran la
predicción numérica del tiempo, la mecánica de fluidos, la aviónica, el estudio
de resistencia de los barcos a las olas, el estudio de partículas, la energía
nuclear, el cálculos de reactores, el modelado de automóviles, etc.
En 1947, la
Mark II estuvo operativa en Harvard. En el mismo año se introduce el tambor
magnético, un dispositivo de acceso aleatorio que puede usarse como
almacenamiento para computadoras. En este mismo año William Shockley, John
Bardeen y Walter Brattain, de los laboratorios Bell, inventaron la resistencia
de transferencia (transfer resistor), comúnmente conocida como Transistor. El
concepto estuvo basado en el hecho de que el flujo de electricidad a través de
un sólido (como el silicio) puede controlarse agregándose impurezas con las
configuraciones electrónicas adecuadas. Las válvulas de vacío requieren cables,
platos de metal, una cápsula de vidrio y vacío; en cambio, el transistor es un
dispositivo de estado sólido.
En 1948,
Claude Shannon presenta su "Teoría matemática de las comunicaciones".
En el mismo año, entra en operación la Manchester Mark I, la primer computadora
de programa almacenado. Fue diseñada por F. C. Williams y T. Kilburn en la
Universidad de Manchester, y era un modelo experimental para probar una memoria
basada en válvulas de vacío.
En 1949, Jay
Forrester construye la computadora Whirlwind en el MIT. Contenía 5000 válvulas,
palabras de 16 bits, y estaba específicamente diseñada para controlar
dispositivos en tiempo real.
En el mismo
año, la EDSAC (Electronic Delayed Storage Automatic Computer) estuvo operativa
en Cambridge. Era una computadora de programa almacenado, que fue diseñada por
Maurice Wilkes. Esta fue propuesta especialmente para resolver problemas
reales, y pudo resolver variedad de cálculos. Su primer programa (una tabla de
raíces cuadradas) ejecutó el 6 de Mayo de 1949, y siguió operando hasta 1958.
La EDSAC tenía 512 palabras de 17 bits.
El diseño de
la EDSAC era bastante útil para el usuario. Un botón de inicio activaba un
uniselector que cargaba un programa que estaba cableado a la Memoria, y este
programa cargaba programas que estaban escritos en cinta de papel en la
memoria, y se comenzaba a ejecutar. En esta época los cálculos se hacían bit
por bit.
En 1949, el
laboratorio de Los Alamos, se empieza a construir la computadora MANIAC I, que
se terminó en Marzo de 1952. Esta computadora tenía un tambor auxiliar de
10.000 palabras de 40 bits en paralelo, y la unidad de entrada/salida tenía una
cinta de papel de 5 canales, y un drive de cinta de un solo canal. También
tenía una impresora de línea.
Se dice que
en este año, John Mauchly desarrolla el lenguaje "Short Order Code",
que sería el primer lenguaje de programación de alto nivel.
En 1950 la
EDVAC se pone operativa, pero la Remington Rand Corporation (que se
transformaría mas adelante en la Unisys Corporation) compra la Eckert-Mauchly
Computer Corporation.
En 1951, Jay
Forrester presenta, dentro del proyecto Whirlwind, una memoria no volátil: la
memoria de núcleos, que sería ampliamente difundida.
La primer
UNIVAC I (Universal Automatic Computer) es puesta en funcionamiento en la
Oficina de Censos. Esta computadora pasó a ser la número uno en el mercado
comercial.
En el mismo
año, Grace Murray Hopper construye el primer compilador, llamado A-0. También
en este año, Maurice Wilkes origina el concepto de microprogramación, una
técnica que provee una aproximación ordenada para diseñar la unidad de control
de una computadora.
En 1952, Von
Neumann, junto con Herman Goldstine, terminan de construir, en el Instituto de
Estudios Avanzados de Princeton (IAS - Institute of Advanced Studies) la
computadora IAS. Esta computadora también fue construida con el concepto de
programa almacenado, y tenía otras características importantes.
Por un lado,
el diseño general de la máquina era el siguiente:
Existen cinco
componentes básicos: la memoria, la Unidad Aritmético/Lógica, la Unidad de
Control de Programas, y el equipamiento de Entrada/Salida.
La Unidad
Aritmético-Lógica ejecuta las operaciones básicas, y contiene un registro
acumulador de 40 bits (que también se usa se usa para entrada/salida). Las
operaciones se hacen sobre datos binarios.
La memoria
almacena datos e instrucciones, y consistía de 4096 palabras de 40 bits. Cada
palabra contenía dos instrucciones de 20 bits, o un entero con 39 bits y signo.
Las instrucciones usaban 8 bits para el tipo de instrucciones, y 12 bits para
especificar direcciones de memoria.
La Unidad de
control interpreta las instrucciones en memoria, y hace que se ejecuten. El
equipamiento de entrada/salida era operado por la Unidad de Control.
La
computadora opera de la siguiente forma:
1. La Unidad
de Control sigue el flujo del programa y hace que se ejecute;
2. La salida
de datos se hace a través del registro acumulador;
3. Se usa
aritmética binaria
4. La ALU hace
las operaciones aritmético/lógicas usando lógica bit-parallel.
En este año
también se pone operativa la EDVAC , así como la ILLIAC I (de la Universidad de
Illinois) y la ORDVAC (construida por la armada): todas usan la arquitectura de
Von Neumann. La ILLIAC (una copia mejorada de la ORDVAC) tenía 1024 palabras de
40 bits. En estas máquinas una suma tardaba nos 72 microsegundos, mientras que
las multiplicaciones de punto fijo tenían un promedio de unos 700
microsegundos.
Durante todos
estos desarrollos, IBM se había transformado en una pequeña compañía que
producía perforadoras de tarjetas y ordenadoras mecánicas de tarjetas. IBM no
se interesó en producir computadoras, hasta que en 1952 produjo la IBM 701.
Esta computadora tenía 2K de palabras de 36 bits, con dos instrucciones por
palabras. Fue la primera de una serie de computadoras científicas que dominaron
la industria en la década siguiente.
En 1955
apareció la 704, que tenía 4K de memoria y hardware de punto flotante.
En 1953, la
IBM 650 sale a la venta, y fue la primer computadora fabricada en serie.
Segunda
Generación: Transistores (1955-1965).
La primer
computadora puramente basada en transistores fue la TX-0 (Transitorized
eXperimental computer 0), en el MIT. Esta fue un dispositivo usado para probar
la TX-2. Uno de los ingenieros trabajando en este laboratorio, Kenneth Olsen,
abandonó el laboratorio para formar la compañía DEC (Digital Equipment
Company).
En 1956, IBM
introduce el primer disco duro. En el mismo año, se diseña la primer computadora
comercial UNIVAC puramente basada en transistores.
En 1957 la
EDSAC 2 estuvo operativa. Era una computadora con 1024 palabras de 40 bits, con
dos órdenes por palabras. Estaba hecha con válvulas, y la memoria usaba núcleos
de ferrita. La ALU era bit-sliced. Se incluyeron operaciones de punto flotante
para hacer los cálculos más simples, que usaba una fracción de 32 bits y un
exponente de 8 bits. La computadora era microprogramada, con una ROM 768
palabras. La ROM permitía que diversas subrutinas útiles (seno, coseno,
logaritmos, exponenciales) estuvieran siempre disponibles. La memoria fija
incluía un ensamblador y un conjunto de subrutinas de impresión que permitían
hacer entrada/salida.
Los
microprogramas permitieron que las órdenes pudieran ser diseñadas
cuidadosamente, menos dependientes de accidentes del hardware. La computadora
ejecutaba una instrucción simple en unos 20 microsegundos, y una multiplicación
precisaba 250 microsegundos. La lectora de papel leía 1000 caracteres por
segundo, y la perforadora perforaba 300 caracteres por segundo. La salida se
seguía imprimiendo en una telelimpresora.
En el mismo
año, la computadora ERMETH se construyó en el ETH en Zurich. Tenía palabras de
16 dígitos decimales, cada uno de los cuales contenía dos instrucciones y un
número de punto fijo de 14 dígitos o un número de punto flotante con una
mantisa de 11 dígitos. Una suma de punto flotante tomaba 4 milisegundos; una
multiplicación, 18 milisegundos. Tenía un tambor magnético que podía almacenar
1000 palabras. La máquina tenía unos 1900 válvulas de vacío y unos 7000 diodos
de germanio.
También en
1957, John Backus y sus colegas en IBM produjeron el primer compilador FORTRAN
(FORmula TRANslator).
En 1958 se
funda la compañía Digital, como fue mencionado principalmente. Inicialmente la
DEC sólo vendía plaquetas con pequeños circuitos. En el mismo año, se producen
los primeros circuitos integrados basados en semiconductores (en las compañías
Fairchild y Texas Instruments), y también el proyecto Whirlwind se extiende
para producir un sistema de control de tráfico aéreo. En 1959 se forma el
Comité en Lenguajes de sistemas de Datos (CODASYL - Commitee On Data Systems
Language) para crear el lenguaje COBOL (Common Business Oriented Language), y
John Mc. Carthy desarrolla el Lisp (List Processing) para aplicaciones de
inteligencia artificial.
En 1960, DEC
introduce su primer computadora: la PDP-1. Esta computadora fue diseñada
tomando como base la TX-0, y tenía 4K palabras de 18 bits. Costaba 120.000$, y
tenía un tiempo de ciclo del procesador de aproximadamente 5 microsegundos (en
comparación con la IBM 7090 que era una máquina de alta performance en la cual
un ciclo procesador era de 2.5 microsegundos y su costo era de millones de
dólares). Fue la primer máquina con monitor y teclado, marcando el comienzo de
las minicomputadoras.
En 1961,
Fernando Corbató en el MIT desarrolla una forma que múltiples usuarios puedan
compartir el tiempo del procesador. También se patenta el primer robot
industrial. En 1962, Steve Russell del M.I.T. crea el Spacewar (el primer video
juego). En 1963, el sistema de defensa SAGE es puesto en marcha, gracias al
cual se pudieron lograr muchos avances en la industria de la computadora.
En 1964,
aparece el primer modelo de la computadora IBM 360. IBM había construido una
versión con transistores de la 709, llamada 7090, y posteriormente la 7094.
Esta tenía un ciclo de instrucción de 2 microsegundos, y 32K palabras de 36
bits. Estas computadoras dominaron la computación científica en los '60s.
IBM también
vendía una computadora orientada a negocios llamada 1401. Esta podía leer
cintas magnéticas, leer y perforar tarjetas, e imprimir. No tenía registros ni
palabras de longitud fija. Tenía 4K de bytes de 8 bits cada uno. Cada byte
contenía un caracter de 6 bits, un bit administrativo, y un bit para indicar un
fin de palabra. La instrucción de movimiento de memoria a memoria movía datos
de la fuente al destino hasta que encontraba el bit de fin de palabra prendido.
El problema
era la incompatibilidad de ambas computadoras: era imposible compartir el
software, y de hecho era necesario tener dos centros de cómputos separados con
personal especializado. La IBM System/360 fue una computadora diseñada con
múltiples propósitos. Era una familia e computadoras con el mismo lenguaje de
máquina, pero mayor potencia. El software escrito en cualquiera de los modelos
ejecutaba directamente en los otros (el único problema era que, al portar un
programa de una versión poderosa a una versión anterior, el programa podía no
caber en memoria). Todas las IBM 360 proveían soporte para multiprogramación.
También existían emuladores de otras computadoras, para poder ejecutar
versiones de ejecutables de otras máquinas sin ser modificados. Tenía un
espacio de direcciones de 16 megabytes.
En este año
se pone en operaciones la computadora CDC 6600 de la Control Data Corporation,
fundada y diseñada por Seymour Cray. Esta computadora ejecutaba a una velocidad
de 9 Mflops. (es decir, un orden de magnitud más que la IBM 7094), y es la
primer supercomputadora comercial. El secreto de su velocidad es que era una
computadora altamente paralela. Tenía varias unidades funcionales haciendo
sumas, otras haciendo multiplicaciones, y otra haciendo divisiones, todas
ejecutando en paralelo
(podía haber
hasta 10 instrucciones ejecutando a la vez). En este mismo año, Douglas
Engelbart inventa el mouse, y John Kemeny y Thomas Kurz desarrollan el lenguaje
BASIC (Beginner's All-purpose Symbolic Instruction Code).
En 1965, la
DEC fabrica la PDP-8, que fue la primer minicomputadora con transistores en
módulos de circuitos integrados. Esta tenía un único bus (o sea, un conjunto de
cables paralelos para conectar los componentes de la computadora, en lugar de
las líneas multiplexadas de las computadoras de Von Neumann tradicionales).
Tercera
Generación: Circuitos Integrados (1965-1980)
Como fue
mencionado, a fines de los años '50, ingenieros en Fairchild Semiconductor Co.
y en Texas Instrument desarrollaron el primer transistor plano, y mas adelante
el primer circuito integrado plano. La invención del circuito integrado reveló
el potencial para extender el costo y los beneficios de operación de los
transistores a todos los circuitos producidos en masa. La invención del
circuito integrado permitió que docenas de transistores se pusieran en el mismo
chip. Este empaquetamiento permitió construir computadoras más pequeñas,
rápidas y baratas que sus predecesores con transistores. Las primeras versiones
de la IBM 360 eran transistorizadas, pero las versiones posteriores no solo
eran más rápidas y poderosas, sino que fueron construidas en base a circuitos
integrados.
En 1965,
Gordon E. Moore (fundador de Fairchild, y patentador del primer circuito
integrado) cuantificó el crecimiento sorprendente de las nuevas tecnologías de
semiconductores. Dijo que los fabricantes habían duplicado la densidad de los
componentes por circuito integrado a intervalos regulares (un año), y que
seguirían haciéndolo mientras el ojo humano pudiera ver.
En 1967,
Fairchild introduce un chip que contenía una ALU de 8 bits: el 3800. En 1968,
Gordon Moore, Robert Noyce y Andy Grove establecen la compañía Intel, que en un
principio se dedica a fabricar chips de memoria. En este mismo año, la
computadora CDC 7600 logra la velocidad de 40 Mflops..
En el año
1969, el departamento de defensa de los EE.UU. encarga la red Arpanet con el
fin de hacer investigación en redes amplias, y se instalan los primeros cuatro
nodos (en la UCLA, UCSB, SRI y Universidad de Utah). También se introduce el
estándar RS-232C para facilitar el intercambio entre computadoras y
periféricos.
En 1970
aparecen los discos flexibles y las impresoras margarita. También comienza a
usarse la tecnología de MOS (Metal-Oxide semiconductor) para circuitos
integrados más pequeños y baratos. En 1971, Intel fabrica el microprocesador de
4 bits 4004, la primer computadora en un solo chip. Su objetivo era ser usado
para una calculadora. Ya en 1972, Intel fabrica el 8008, primer microprocesador
de 8 bits (que es reemplazado por el 8080, debido al límite de memoria de 16k
impuesto por los pins en el chip).
En 1973, las
técnicas de integración a gran escala (LSI - Large Scale Integration) permiten
poner 10.000 componentes en un chip de 1 cm. cuadrado. En el mismo año, John
Metcalfe propone el protocolo Ethernet para comunicación en redes locales. En
1975, la primer computadora personal, la Altair 8800, aparece en la revista
Popular Electronics, explicando cómo construirla. También en ese año, IBM
introduce la primer impresora láser.
En el año
1976, Steve Jobs y Steve Wozniak diseñan y construyen la Apple I, que consiste
principalmente de un tablero de circuitos. IBM introduce las impresoras a
chorro de tinta en ese mismo año, y Cray Research introduce la Cray 1, una
supercomputadora con una arquitectura vectorial. También Intel produce el 8085,
un 8080 modificado con algunas características extra de entrada/salida. Poco
más tarde, Motorola introduce el procesador 6800, que era una computadora de 8
bits comparable al 8080. Fue utilizada como controlador en equipos
industriales. Fue seguido por el 6809 que tenía algunas facilidades extra, por ejemplo,
aritmética de 16 bits.
En 1977,
Steve Jobs y Steve Wozniak fundan Apple Computer, y la Apple II es anunciada
públicamente. En 1978, Intel produce el 8086, una CPU de 16 bits en un chip.
Este procesador es completamente combatible con el 8080, y también lo fue el
8088, que tenía la misma arquitectura y corría los mismos programas, pero con
un bus de 8 bits en lugar de uno de 16, haciéndolo más lento y barato. En este
año DEC introduce la VAX 11/780, una computadora de 32 bits que se hizo popular
para aplicaciones técnicas y científicas.
En 1979,
Motorola introduce el procesador 68000 que sería más adelante el soporte para
las computadoras Macintosh, Atari, Amiga y otras computadoras populares. Este
procesador no era compatible con el 6800 o el 6809. Es un híbrido entre
arquitecturas de 16 y 32 bits, y puede direccionar 16 Mb de memoria. De aquí en
más los procesadores 680x0 siguen siendo muy similares desde el punto de vista
del programador, con pocas instrucciones agregadas en cada versión nueva.
También en este año aparecen los videodiscos digitales.
En 1980 se
produce la primer computadora portable: la Osborne 1. David Patterson, en la
UC. Berkeley, introduce el concepto de RISC, y junto con John Hennessy, de
Stanford, desarrollan el concepto.
En 1981 se
lanza la computadora de arquitectura abierta IBM-PC, y un año mas tarde se
produce el primer "clon" de esta computadora.
Cuarta
Generación: Computadoras personales y VLSI (1980 - ).
En la década
del '80, fue posible la Integración a Muy Alta Escala (VLSI - Very Large Sacel
Integration) poniendo cientos de miles (y posteriormente millones) de
transistores en un chip.
No hay comentarios.:
Publicar un comentario