LOS COMPUTADORES, ESOS LOCOS CACHARROS

ACADEMIA DE INGENIERÍA

LOS COMPUTADORES, ESOS LOCOS CACHARROS

DISCURSO DEL ACADÉMICO EXCMO. SR. D. MATEO VALERO CORTÉS

LEÍDO EN LA SESIÓN INAUGURAL DEL AÑO ACADÉMICO EL DÍA 30 DE ENERO DE 2003

MADRID MMIII Editado por la Academia de Ingeniería © 2003, Academia de Ingeniería © 2003 del texto, Mateo Valero Cortés ISBN: 84-95662-11-6 Depósito legal: M. 2.474-2003 Impreso en España LECCIÓN INAUGURAL DEL AÑO ACADÉMICO 2003

Excmos. Sres. Señoras y señores Queridos amigos,

Deseo expresar mi gratitud al Presidente de la Academia, por sugerir mi nombre para dar esta lección inaugural de la Academia del año 2003, y a mis compañeros académicos por haber aceptado dicha invitación. Real - mente es un gran honor para mí el poder dirigirme a todos vosotros en el principio de este nuevo año.

He decidido comentar algunos aspectos de los computadores. Estos “locos cacharros” han sido las máquinas que más han evolucionado en tan poco tiempo. Con apenas unos pocos más de cincuenta años de existencia, sus características han cambiado a una velocidad increíble. El responsable direc - to de este cambio ha sido el transistor. Este dispositivo, inventado hace cin - cuenta y cinco años, ha sido el verdadero protagonista de la sociedad de la información. Sin su descubrimiento, la informática y las comunicaciones no habrían avanzado apenas. A partir de él, se hace posible la revolución de las tecnologías de la Información y de las Comunicaciones que son las que más influencia han tenido en el avance de la humanidad.

Muchos son los componentes de estas tecnologías. A resaltar las enormes capacidades actuales para crear información digital, manipularla, almace - narla y enviarla desde cualquier parte del mundo a cualquier otra. Los úl - timos años han sido de crecimiento tan vertiginoso que nos parece que no van a tener un final a corto plazo, que todo continuará así y que cada día nos despertaremos con nuevas y agradables sorpresas. Parece que es - to será cierto durante unos cuantos años más.

Los computadores son los componentes activos de esta magia. Mucha es la información que se podría escribir acerca de sus orígenes, evolución y futuro. En este trabajo, hemos intentando resaltar algunas características importan - tes de ellos. Lo hemos intentado escribir de manera informal, pero rigurosa. Esperamos que la información os sea útil; éste ha sido el objetivo.

Muchas gracias de nuevo.

Barcelona 28 de diciembre del 2002 8 MATEO VALERO CORTÉS

Antecedentes

Muchas han sido las máquinas creadas por el hombre para ayudarle a rea - lizar tareas de cálculo. Se han diferenciado, entre otras cosas, por el siste - ma de numeración que se empleaba, por la tecnología usada en su cons - trucción, por el tipo de operaciones que eran capaces de realizar, así como por su velocidad. Sólo el enumerarlas, nos llevaría muchísimo tiem - po. Hay un acuerdo en decir que las primeras máquinas de este tipo fue - ron los ábacos y que las más modernas son los computadores digitales.

En este trabajo vamos a hacer una descripción de algunas de ellas, empe - zando por el ábaco. El mayor énfasis lo haremos al describir los computa - dores digitales.

Desde el ábaco hasta Charles Babbage

Es lógico pensar que antes de construir ningún artefacto que le ayudara a realizar operaciones, el hombre intentara de alguna forma representar las cantidades mediante símbolos. Dentro de ello, parece natural que se in - tentara usar algún sistema de numeración para codificar la información numérica. Lo que puede extrañar un poco es que el sistema decimal no fuera usado desde el principio de la humanidad. En la actualidad, el sistema decimal es el más aceptado entre las personas. Sin embargo, los símbolos para representar cada uno de los dígitos los trajeron los árabes, desde la India, a Europa en el siglo XIII. En Babilonia es donde se identifican los pri - meros intentos serios para trabajar con números representados en siste - mas de numeración que datan de hace casi 3.000 años. Empleaban un sis - tema de numeración con una base 60 así como dos subsistemas de bases 6 y 10. En algunas zonas de África se han descubierto representaciones que usaban como bases los números primos. En Egipto, se emplearon sis - temas de numeración con base 12 así como sistemas decimales con figu - ras especiales para representar las potencias de 10. De todos es conocido el sistema de codificar de los romanos con las letras codificando los valo - res decimales de 1.5, 10.50, 100, 500 y 1000. Parece ser que hasta unos pocos siglos atrás, la humanidad no hubiera tenido en cuenta que la ma - dre naturaleza nos había dotado con diez dedos en las manos y que por lo tanto, pareciera natural que el sistema de numeración debería ser el LOS COMPUTADORES, ESOS LOCOS CACHARROS 9 decimal. Este error ancestral fue continuado con otro en sentido contra - rio: durante muchos años, se intentaron diseñar computadores que traba - jaran con números representados con el sistema de numeración decimal, cuando todos sabemos que hasta que no se usó el sistema binario, no avanzó, significativamente, el diseño de los computadores

El ábaco constituye uno de los primeros dispositivos para ayudar a realizar cálculos. Se empezó a usar en China hace más de 2500 años. Hay varios tipos de ábacos y algunos de ellos, todavía se usan. Más que un dispositivo para realizar cálculos, es un ingenio mecánico que nos ayuda a representar la información y a contar. Los más usados, utilizaban un doble sistema de numeración con bases 2 y 5 que le hacía útil para representar cantidades en base 10. Las operaciones de cálculo se realizaban usando otro meca - nismo, por ejemplo, la cabeza, y los resultados quedaban codificados en el mismo ábaco.

Fotografía reciente donde se ve un ábaco a la izquierda y, a la derecha, una pascalina, que fue la máquina construida por Pascal.

En el año 1967 se descubrieron unos dibujos atribuidos a Leonardo da Vinci en el que se representan unos planos de máquinas con ruedas den - tadas orientadas a realizar las operaciones básicas de la suma y de la resta y que fueron realizados alrededor del año 1500. Basados en esos planos, se han construido más recientemente, máquinas que han funcionado al realizar dichas operaciones.

Importantes fueron los trabajos de John Napier en el año 1600, que le permitieron realizar tablas para multiplicar y para tabular los logaritmos.

Un avance significativo en el diseño de “calculadoras mecánicas” lo die - ron Wilhelm Schickards y Blaise Pascal. El primero, matemático y astró - nomo alemán, diseñó una máquina que realizaba operaciones de suma, resta, multiplicación y división. El diseño de dicha máquina fue descrito en una serie de cartas que le escribió a su primo, el famoso astrónomo 10 MATEO VALERO CORTÉS

Johannes Kepler, y que han permitido recientemente, realizar réplicas que han funcionado.

Blaise Pascal, matemático, teólogo y físico francés, se ha adjudicado el honor de ser uno de los primeros que diseñaron calculadoras mecánicas, no sólo con el objetivo de que funcionaran, sino con el de establecer un mercado lucrativo. Su calculadora, construida en 1642, realizaba las operaciones básicas de la suma y de la resta. Como detalles curiosos diremos que la resta la realizaba sumando al minuendo el complementario del sustraendo, tal como hacen los computa - dores digitales actuales, y que se vendieron unas cincuenta copias.

En el año 1670, el barón alemán Gottfried Leibniz mejoró significativa - mente el diseño de las pascalinas, construyendo máquinas que sumaban, restaban, multiplicaban, dividían y hacían raíces cuadradas mediante itera - ciones de sumas elementales. Es de resaltar aquí que Leibnitz ya propuso y predijo la necesidad de usar lógica binaria en lugar de las ruedas denta - das que utilizaban sus prototipos. Tanto los diseños de Pascal como los de Leibniz, sentaron las bases de un tipo de máquinas que se fueron perfec - cionando a lo largo de los años.

Mencionaremos aquí el hecho de que el francés Joseph-Marie Jacquard pro - pusiera, a principios de los años 1800, controlar el trabajo de sus telares me - diante el uso de tarjetas perforadas. Este control desde el exterior fue un gran avance en el diseño de los primeros computadores. De hecho, el concepto permaneció válido hasta que se construyeron, a principios de los cincuenta, los primeros computadores que tenían una memoria interna con las instruc - ciones y los datos, es decir, los computadores con programa almacenado.

Dibujos de planos relativos a calculadoras, atribuidos a Leonardo da Vinci. Fotografía de los académicos Javier Aracil y Mateo Valero con una copia de una máquina de telares Jacquard.

El siguiente avance a resaltar vino dado por el excelente matemático in - glés, Charles Babbage. En 1822, se propuso hacer una máquina orientada a calcular tablas de logaritmos y funciones trigonométricas. Se denominó LOS COMPUTADORES, ESOS LOCOS CACHARROS 11

Máquinas de Diferencias y nunca llegó a construirla, aunque los planos que dejó, sirvieron para que se hiciera un prototipo ciento cincuenta años después, que funcionó y que se conserva en el Museo de Ciencia de Londres. Después de la máquina anterior, se puso a diseñar la máquina denominada Máquina Analítica . Poseía conceptos que usan los compu - tadores actuales tales como instrucciones de control del secuencia - miento y ejecución de bucles. Augusta Ada de Lovelace, hija de Lord Byron, era una matemática que escribió un programa que hubiera per - mitido a la máquina, si ésta hubiera funcionado, el calcular la secuencia de la serie de Bernoulli, Ada se considera la primera programadora de la historia y en honor a ella, en 1979, se puso su nombre a un famoso lenguaje de program ación.

Los trabajos de Charles Babbage fueron un gran paso adelante en el dise - ño de máquinas calculadoras de propósito general. Sin embargo, ni los conceptos ni la tecnología estaban preparados para dar el definitivo salto. Como anécdota, diremos que Babbage consideró el mover las ruedas dentadas con la ayuda de motores de vapor

Desde Babbage hasta los primeros computadores

Después de que Charles Babbage propusiera el diseño de sus dos má - quinas, hay un gran número de dispositivos y de máquinas que son muy importantes para el desarrollo posterior de los computadores actuales.

Fotografías de partes de la Difference Engine , izquierda, y de la Analytical Engine, derecha. Estas máquinas fueron construidas recientemente, siguiendo los planos de Charles Babbage.

En el año 1829, se realiza la primera patente sobre una máquina de es - cribir. Los diseños iniciales son mejorados y su comercialización empie - za en el año 1867. Las primeras teleimpresoras aparecen en el año 1902. En el año 1857, Sir Charles Wheastone propone el uso de la cin - ta de papel, como medio de almacenar información. Una de las prime - 12 MATEO VALERO CORTÉS ras aplicaciones fue la de codificar el código Morse, para mejorar las velocidades de transmisión del telégrafo, inventado en el año 1837 por Samuel Morse. Posteriormente, se usaron varios tipos de cintas para codificar información que sería leída/escrita por los computadores. En 1890, y con el objetivo de reducir el tiempo necesario para realizar el censo de los Estados Unidos, Herman Hollerith propone la adaptación de las tarjetas perforadas de Jacquard, para codificar la información re - lativa a las personas y diseña una máquina capaz de leer dichas tarjetas y de sacar estadísticas. Su máquina era un autómata eléctrico que pose - ía un gran número de contadores tipo reloj que acumulaban los resul - tados. Su máquina hacía clasificaciones de manera automática y fue perfeccionada para realizar otro tipo de tareas estadísticas. En 1924, la compañía creada por Hollerith se comenzó a denominar IBM, Interna - tional Business Machines

Esta máquina tabuladora de Hollerith fue continuada por otras muchas que fueron las precursoras de los primeros computadores. Describire - mos, brevemente, algunas de las más importantes.

En el año 1937, el americano George Stibitz, de los laboratorios Bell, cons - truyó una máquina con relés que fue perfeccionada más adelante y deno - minada Complex Number Calculator. Este investigador se hizó también fa - moso en 1940, por hacer una conexión telefónica que permitió a un computador situado en NuevaYork, recibir órdenes y escribir sus respues - tas a través de una impresora situada en New Hampshire.

En el año 1939, el matemático y físico norteamericano John Vincent Atanasoff, construyó una máquina electrónica orientada a la solución de ecuaciones complejas. Sus primeras ideas, de los años 1937-38, le llevaron a construir gran parte de la máquina denominada ABC poco antes del 1942. La máquina utilizó alrededor de 300 tubos de vacío para la unidad aritmética que sólo realizaba sumas y restas. La unidad de control y algunos circuitos de control de la memoria interna, tam - bién fueron construidos con alrededor de 300 válvulas adicionales. Utilizó condensadores organizados en dos cilindros, para representar ceros y unos hasta poder almacenar 32 números binarios de 50 bits cada uno, que eran leídos al girar los cilindros. A este tipo de memo - rías se les llamó tambores magnéticos y fueron usados durante mu - LOS COMPUTADORES, ESOS LOCOS CACHARROS 13 chos años. La entrada de información a la máquina y el almacena - miento de resultados intermedios, se hacía a través de tarjetas perfo - radas. Atanasoff y su ayudante Clifford Berry, aunque dejaron la má - quina inacabada en 1942, han sido considerados como los primeros que construyeron un computador de propósito específico, completa - mente digital. Su diseño tuvo una gran influencia en los computadores posteriores.

Entre 1939 y 1944, Howard Aiken, de IBM, desarrolla un computador que se denominó Harvard Mark I. Se le considera uno de los primeros computadores digitales. El componente básico era el relé, contenía más de 75.000 componentes, su longitud era de 15 metros, su altura más de 2 metros y su peso superior a 5 toneladas. Poseía una unidad de control que daba trabajo a varias de cálculo. Era, en cierta manera, un primer computador paralelo. Las instrucciones las leía de una cinta de papel perforada y los datos del problema se le introducían a través de tarjetas perforadas. Podía manejar números de 23 dígitos decimales que sumaba o restaba a la velocidad de tres por segundo, los multipli - caba en cuatro segundos y los dividía en diez segundos. Su experiencia en el diseño y en la programación de dicha máquina lo convirtieron en una persona muy pesimista acerca del futuro de estos ingenios. A él se le atribuye esa famosa frase de que en 1947, seis de dichos computa - dores serían más que suficientes para llenar todas las necesidades de Estados Unidos.

En Alemania y durante los años alrededor de la Segunda Guerra Mundial, Konrad Suze desarrolló una serie de máquinas denominadas Z1, Z3 y Z4. Por ejemplo, la Z3 se acabó en 1941, anterior a Mark I. Dicha Z3 estaba diseñada con alrededor de 2.000 relés y utilizaba re - presentaciones de números reales en coma flotante. Los programas se introducían mediante cinta perforada. Podía memorizar hasta 64 números de 22 bits. La suma o resta las realizaba en menos de un se - gundo y las multiplicaciones y divisiones en 3 segundos. Pesaba mil ki - los y consumía alrededor de 4.000 vatios. Konrad Suze se adelantó varios años a la realidad del cálculo paralelo, proponiendo un primer prototipo. También se le atribuye el mérito de ser uno de los prime - ros investigadores en proponer lenguajes de alto nivel para progra - mar los computadores. 14 MATEO VALERO CORTÉS

Fotografías de la máquina de cifrado Enigma (izquierda) y del computador Colossus (derecha)

Durante la segunda guerra mundial, al matemático Alan Turing y sus cole - gas, comenzaron en 1943 la construcción del computador Colossus, orientado al descifrado del código secreto alemán producido por la má - quina Enigma . Colossus fue un computador de propósito específico, que contenía 1.800 tubos de vacío.

Orígenes de los computadores actuales

Podemos decir que los computadores actuales empiezan a ser posibles a partir del uso conjunto de los siguientes hechos: El álgebra de Boole, la in - vención de los tubos catódicos, las aportaciones de Claude Shannon y to - das las experiencias anteriores en el diseño de máquinas mecánicas, como las descritas anteriormente, con especial énfasis en dispositivos como la Máquina Analítica de Babbage.

George Boole, coetáneo de Charles Babbage, inventó el álgebra que lleva su nombre entre los años 1847 y 1854. Dichas matemáticas nuevas permitían representar y manipular expresiones lógicas usando las reglas derivadas de su álgebra. Es impresionante el hecho de que Boole, sin tener estudios uni - versitarios, fuera capaz de proponer las bases matemáticas necesarias para los computadores actuales. También debemos de decir que toda esa álgebra LOS COMPUTADORES, ESOS LOCOS CACHARROS 15 de Boole fue prácticamente olvidada durante muchos años: sólo algunos es - tudiantes de filosofía le supieron ver alguna aplicación teórica

Fotografías de Claude Shannon a la izquierda y de Alan Turing a la derecha. Ambos fueron investigadores que hicieron grandes contribuciones a la informática y a las comunicaciones.

La tecnología de ruedas dentadas no era la más apropiada para poder cons - truir computadores útiles. El cambio tecnológico se produce cuando, a partir del diseño de las bombillas incandescentes (1878), el americanoThomas Alva Edison descubre el efecto Edison (1883) que permitió al británico John Am - brose Fleming inventar el diodo en el año 1900. En el año 1906, el americano Lee de Forest introduce un tercer electrodo en el diodo y nace el triodo, co - mo dispositivo que permite amplificar señales, pero también conmutar entre dos estados estables que podían representar los valores binarios de 0 y 1.

En el año 1938, el americano Claude Shannon escribió un artículo resumen de su tesis de master en el MIT. En dicho artículo, Shannon demuestra que los conceptos lógicos de verdadero y falso en el álgebra de Boole pueden ser re - presentados con los dos estados de los triodos. Conecta el álgebra de Boole con los circuitos lógicos de dos estados, demostrando que estos circuitos, de - bidamente interconectados, pueden implementar las expresiones lógicas del álgebra de Boole. Éste es un gran paso de tal calibre que muchos coinciden en señalar la tesina de Shannon, como la más importante del siglo XX.

“ENIAC”

Una máquina singular, que ha merecido una mención especial tanto a nivel técnico como político, fue el ENIAC (Electronic Numerical Integrator And Computer). Los principales diseñadores, Prosper Eckert y John Mauchly, su - 16 MATEO VALERO CORTÉS pieron recoger e integrar todas las experiencias anteriores en el diseño de máquinas y, con ello, dar un gran paso hacia delante en el diseño de los computadores. En concreto, fueron muchas las conversaciones que mantu - vieron con Atanasoff y Aiken acerca de los computadores Mark I y ABC. Con esta máquina, y con todo lo relacionado con ella después de su cons - trucción, puede decirse que empieza la era de los computadores actuales. El objetivo de la máquina era calcular trayectorias de proyectiles. Por otro lado, era idea de Mauchly, el utilizar al máximo, la electrónica de los tubos de vacío en el diseño de la máquina. El computador empezó a diseñarse en mayo de 1943 y se acabó en 1946, siendo financiado por el Ballistic Rese - arch Laboratory y por la Moore School de la Universidad de Pennsylvania en Philadelphia. Su presupuesto inicial de 100.000 dólares creció hasta el ca - si medio millón de dólares. La máquina utilizaba 18.000 tubos de vacío de 16 tipos diferentes, 1.500 relés, 70.000 resistores y 10.000 condensadores. Sus medidas eran de 30 metros de longitud, un metro de anchura y 2,5 me - tros de altura. Pesaba 30 toneladas y consumía 140 kilovatios. Un aspecto fundamental en el diseño era el procurar que la máquina fuera globalmente fiable, dada la poca fiabilidad de los componentes, especialmente las válvulas. El tiempo medio de funcionamiento de las válvulas era de entre 9.000 y 10000 horas. Con el uso de diferentes técnicas, entre las que destaca el no dejar que los filamentos se enfriaran del todo, se consiguió que el tiempo medio entre fallos de los tubos fuera de dos días, siendo reemplazados en 15 minutos. La refrigeración de la máquina era por aire.

Fotografías del ENIAC. LOS COMPUTADORES, ESOS LOCOS CACHARROS 17

El ENIAC era una máquina basada en una serie de unidades funcionales, cuyo elemento fundamental era un acumulador, conectadas a través de una serie de buses que les permitía intercambiar señales de control y da - tos. Cada acumulador podía recibir hasta 5 números de entrada y podía enviar hasta 2 números a otras unidades de control. Los números decima - les eran de hasta 10 dígitos, llevaban incorporados un bit de signo, y se podían transmitir tanto sus valores como sus complementados. La trans - misión de los dígitos era en serie y se enviaban tantos pulsos como era el valor del dígito, a una velocidad de un impulso cada 10 microsegundos. La multiplicación de dos números decimales de 10 dígitos cada uno, produ - ciendo un resultado de 20 dígitos, se realizaba en 3 milisegundos. Su velo - cidad era más de 1000 veces superior a cualquiera de las máquinas elec - tromecánicas construidas anteriormente. Durante sus años de funcionamiento, ENIAC fue incorporando nuevas características, tales co - mo tambores magnéticos para almacenar resultados intermedios, o una memoria de ferrita que le permitía almacenar hasta 100 palabras de 10 dígitos cada una. ENIAC dejó de funcionar el 2 de octubre del 1955. Du - rante sus casi diez años de funcionamiento, fue capaz de realizar más ope - raciones y generar mas resultados que todas las máquinas anteriormente construidas

Computadores con programa almacenado

Hoy nos parece muy lógico que el computador posea una memoria inter - na donde están las instrucciones y los datos de los programas. Tal como hemos descrito hasta ahora, las máquinas primeras recibían las órdenes o instrucciones a ejecutar desde el exterior, por medio de tarjetas o de cin - tas perforadas. Por otra parte, eran capaces de almacenar un número pe - queño de valores intermedios. Desde mucho antes de empezarse a dise - ñar el ENIAC , los ingenieros de ésta y de otras máquinas tenían muy claro las ventajas que reportaría el tener una memoria interna para instruccio - nes y datos. Si no se habían diseñado máquinas con esas características, era básicamente, porque la tecnología no lo permitía de manera razona - ble. Por ejemplo, el uso de memorias de ferrita fue un gran avance tecno - lógico para el diseño de las memorias. Pues bien, para almacenar los 100 números decimales de 10 dígitos cada uno, la memoria de ferrita que se añadió al ENIAC, ocupaba un espacio de 75 centímetros de largo, 60 de 18 MATEO VALERO CORTÉS ancho y más de 2 metros de altura, siendo el tiempo de acceso de 16 mi - crosegundos. La tecnología para memorizar información, avanzaba muy lentamente. Mauchly tenía muy claro que la máquina siguiente al ENIAC in - corporaría una memoria interna suficientemente grande como para per - mitir almacenar instrucciones y datos del programa. De hecho, el ENIAC incorporó al final, algunas características que le permitieron almacenar programas que contenían hasta 1.800 instrucciones, tamaño más que ra - zonable para la época.

Dicho lo anterior, también hemos de decir aquí, que la controversia acerca de quién fue el inventor de la idea de programa almacenado ha sido la más grande y famosa en la historia de los computadores. Sin embargo, es mun - dialmente admitido el hecho de que la idea final, su discusión y posterior im - plementación en los computadores, se originó en la Moore School al tiem - po que se comenzaba y diseñaba el ENIAC . La realidad es que es bastante aceptado el hecho de asignar dicha invención al brillante matemático húnga - ro JohnVon Neumann, aunque él se encargo en repetidas ocasiones de des - mentir dicha opinión. La Moore School era el centro universitario más avan - zado en el tema de diseño de computadores. Por tal motivo, era un sitio visitado por todas aquellas personas e instituciones interesadas en el tema. John Von Neumann fué un visitante muy asiduo desde el año 1944. Su pri - mer viaje tuvo como objetivo el conocer la estructura interna del ENIAC. Posteriormente, su interés en las discusiones que se llevaban a cabo acerca del futuro computador EDVAC, le decidieron a realizar estancias muy largas. Fue su enorme capacidad de síntesis la que le llevó a escribir en Junio del 1945, el informe “First Draft of a Report on the EDVAC”. Dicho borrador contenía claramente la descripción de la idea de programa almacenado. El informe contenía el resultado de muchas horas de discusión de muchas personas del grupo del ENIAC, pero sólo él figuraba como autor. Este hecho hizo que hubiera grandes peleas en el grupo de diseño y originó posterior - mente, que Eckert y Mauchly dejaran la Moore School.

Tal como hemos comentado, la Moore School organizó varias escuelas de verano que atraían a investigadores con interés en el tema de los compu - tadores. De todos ellos, el más comentado es el que se realizó en el año 1946 con el título de “Theory and Techniques for the Design of Electro - nics Digital Computers”. A dicho curso asistieron 28 investigadores de Eu - ropa y América. El curso había sido pensado para hablar del ENIAC, aun - LOS COMPUTADORES, ESOS LOCOS CACHARROS 19 que la realidad es que se habló mucho más del futuro EDVAC. En dicho curso quedó claro que ya se sabía diseñar unidades aritméticas y de con - trol con tecnología totalmente electrónica y que uno de los retos más grandes era el diseñar las memorias. Uno de los asistentes al curso de 1946 fue el Excelentísimo Maurice V. Wilkes, académico correspondiente de nuestra Academia de Ingeniería.

Antes de seguir adelante, diremos que la relación entre Eckert y Mauchly por una parte yVon Neumann por la otra, no era nada buena. Los primeros se quejaban de que el segundo se quisiera llevar la gloria asociada al con - cepto de que los computadores tuvieran, los programas que ejecutan y sus datos asociados, en la memoria interna del procesador. Dicha idea había si - do desarrollada en el grupo de diseño del ENIAC, mucho antes de que Von Neumann comenzara a visitar la Moore School. Por otra parte, Von Neumann había sido el autor de los borradores que describían la máqui - na EDVAC, y allí se describía claramente que la máquina incorporaría el concepto de programa almacenado. Por último, estaba el tema de las pa - tentes asociadas al ENIAC y al futuro EDVAC . Eckert y Mauchly querían que las patentes pertenecieran a los investigadores. La Moore School, que per - tenecieran a la Universidad. Adicionalmente, los militares, que habían pagado gran parte del dinero, querían que todo fuera secreto de forma que no de - jaban publicar ni patentes ni artículos.Todo ello creó un ambiente muy difícil e hizo que el grupo de elite de la Moore School se fragmentara en varios subgrupos que empezaron nuevos proyectos de nuevas máquinas, existien - do una gran competencia entre ellos.Volveremos más adelante con este te - ma. Simplemente decir que esas guerras internas de los americanos, junto con el pragmatismo de los ingleses que habían ido al curso de verano de la Moore School, hicieron que los primeros computadores con programa al - macenado se construyeran en Europa, tal como vamos a describir.

Primeros computadores con programa almacenado en Inglaterra

Ya hemos mencionado brevemente, el computador Colossus, orientado a descifrar los códigos secretos generados por la máquina alemana Enigma. Después de la II Guerra Mundial, se forma un grupo de muy buenos investiga - dores en Manchester. Uno de dichos investigadores era Frederic C. Williams, 20 MATEO VALERO CORTÉS que junto con su ayudanteTom Kilburn, había patentado al final del año 1946, el uso del tubo de rayos catódicos, como dispositivo para crear la primera memoria de acceso aleatorio. Al final del año 1948, hicieron una demostra - ción donde se veía que su invento permitía almacenar varios miles de bits. A dicho invento se le denominó memoria basada en el tubo de Williams.

Uno de los primeros computadores que hizo el grupo de Manchester fue un pequeño computador, llamado The Baby cuyo objetivo era probar que las ideas del tubo de Williams funcionaban bien. Este computador tenía el programa almacenado en memoria interna, de forma que muchos le con - sideran como el primer computador que tenía esas características. La me - moria tenía 32 palabras de 32 bits, almacenadas en un tubo de Williams. Había otros dos tubos que servían como acumulador y para almacenar la instrucción que se estaba ejecutando. Las unidades aritméticas traba - jaban en serie. Aun así, la máquina demostró sus habilidades haciendo una serie de pruebas o programas tales como dividir números grandes o demostrar que algunos números muy grandes eran primos, para lo cual, la máquina fue capaz de ejecutar más de 35 millones de instruccio - nes en 52 minutos . El prototipo fue mejorado y atrajo el interés de la empresa Ferranti, que lo c ompró e hizo varias réplicas, denominadas Mark I, que vendió a precios de alrededor de medio millón de euros. A nivel de hardware , el computador tenía 4.000 tubos de vacío, 12.000 resistencias y 2.500 condensadores. Este computador tenía una serie de nuevas ideas, que han sido fundamentales y muy usadas en los computadores actuales. Por ejemplo, una jerarquía de memoria en 2 niveles. Por una parte, un tam - bor magnético que almacenaba 16k palabras de 40 bits, que alimentaban a un nivel más rápido de memoria basada en 8 tubos Williams que almacena - ban hasta 256 palabras de 40 bits. Podía sumar 2 números en 1.26 ms y multiplicarlos en 2,6 ms.Tenía hasta 64 instrucciones en su lenguaje máquina y usaba el concepto de subrutina que almacenaba en el tambor y que podí - an ser llamadas a ser ejecutadas por el programa principal.

Maurice V. Wilkes y el EDSAC

Maurice V. Wilkes, académico correspondiente de nuestra Academia de Ingeniería, volvió a su puesto de la Universidad de Cambridge al acabar la Segunda Guerra Mundial, esta vez, como director del University Mathe - LOS COMPUTADORES, ESOS LOCOS CACHARROS 21 matical Laboratory, en el que había entrado a trabajar en el año 1937. Desde el principio, conoció todos los trabajos que se estaban realizando en la Moore School. De hecho, fue su visita a la escuela de verano del año 1946 lo que le impulsó a diseñar una máquina electrónica con programa almacenado. Quería que su máquina ejecutara programas enteros de cier - ta complejidad y que no fuera un simple demostrador, tal como eran to - das las máquinas que funcionaban hasta ese momento. Para ello, decidió construir una máquina pequeña, que, además, usara tecnología ya proba - da. La máquina se denominó EDSAC , “Electronic Delay Storage Automatic Calculator” y su coste fue de alrededor de 1 millón de euros.

Fotografía de Maurice V. Wilkes, izquierda agachado, con el EDSAC y del computador Mark I de Manchester

Lo primero que decidió fue el sistema de memoria. Optó por usar líneas de retardos acústicos basados en tubos de mercurio. Esta tecnología esta - ba ya probada y de hecho, fue usada en computadores como el EDSAC, EDVAC y UNIVAC I. La máquina tenía 16 tubos que le permitían, cada uno, almacenar hasta 32 números de 17 bits (16 con el valor y uno con el sig - no). El primer prototipo estuvo funcionando en mayo del 1949, sólo un año después del computador de Manchester, y la máquina estuvo activa hasta el año 1956. Este diseño fue pionero en muchos aspectos. Por ejem - plo, se implementó en hardware la posibilidad de que el programa pudiera llamar a ejecutar a subrutinas. Además, se diseñaron cargadores automáti - cos de programas que fueron incluidos en la memoria interna. Así pues, el código era reubicable. De hecho, Maurice tuvo mucho interés en que la máquina fuera realmente de propósito general y útil para muchas aplica - ciones. Es por ello, que desarrolló técnicas software complementarias a las hardware y que son válidas y totalmente utilizables por los computadores actuales. Finalmente diremos que el EDSAC era un computador tipo acu - mulador con 18 instrucciones en el lenguaje máquina que multiplicaba 2 22 MATEO VALERO CORTÉS números en 4,5 ms. y que los dividía, mediante software, en 200 ms. Para entrada y salida de datos, tenía un lector de cinta y una impresora que usaban códigos de cinco agujeros.

América y sus computadores, después del ENIAC

Tal como hemos dejado indicado anteriormente, a partir de 1946, se esta - blecen una serie de proyectos en América, con los objetivos de construir computadores cada vez más potentes, que llevaran incorporada la idea de programa almacenado. En la escuela de verano del 1946 de la Moore School, ya habían quedado bastante claras las ideas para diseñar unidades de control y aritmético lógicas. Se sabía cómo interconectarlas.También se tenían diseñados dispositivos de entrada salida razonables. Quedaba por mejorar el tema de la tecnología para construir memorias. De hecho, mu - chos de los grandes avances en esos años, estuvieron ligados a los avances para construir sistemas de memorias de tamaño razonable, con acceso rá - pido a su información y fiables en su funcionamiento. Muchos fueron los proyectos y máquinas desarrolladas durante esos años en EE.UU. Noso - tros describiremos brevemente las máquinas asociadas a la Moore School (EDVAC), la desarrollada por Eckert y Mauchly fuera ya de la Moore School (UNIVAC) y la IAS, desarrollada por Von Neumann en el Institute for Advanced Studies en Princeton.

La Moore School, a pesar de que Eckert, Mauchly y Von Neumann habían dejado el centro, continuó con el desarrollo del EDVAC (Electronic Discre - te Variable Arithmetic Computer). Tal como había sido descrita en el bo - rrador deVon Neumann, la aritmética de la máquina iba a ser en serie, de - bido a la dificultad de realizar con los tubos de mercurio memorias de acceso paralelo. Para la memoria central, se emplearon 128 tubos de mer - curio que permitían grabar cada uno hasta 8 palabras de 44 bits, dando lu - gar a un total de 1024 palabras de 44 bits. El dispositivo permitía grabar bits a una velocidad variable que dependía de la temperatura, y que era de alrededor de 1 megahercio. A un nivel superior, se incorporó un tam - bor magnético que contenía 4.000 palabras de 44 bits. Se diseñó un cable magnético de bronce que permitía almacenar hasta 20.000 palabras, una cinta de papel fotoeléctrica que permitía una velocidad de lectura de 1.000 caracteres por segundo. Las instrucciones eran de 44 bits (4 bits pa - LOS COMPUTADORES, ESOS LOCOS CACHARROS 23 ra el código de operación) con cuatro direcciones para las direcciones de los dos operandos fuente, del destino del resultado y de la instrucción si - guiente a ser ejecutada. Una suma se realizaba en 1 ms, la multiplicación y la división en 3 ms y tenía las unidades aritméticas replicadas para com - probar el resultado de cada operación. La máquina contenía 3.500 tubos de vacío y 27.000 dispositivos electrónicos adicionales. Ocupaba una su - perficie de 50 metros cuadrados y 2 metros de altura. La máquina empe - zó a funcionar en el año 1952 y estuvo funcionando hasta el 1962.

Jon Von Neumann y Goldstine empezaron en el IAS la construcción de una máquina que se llamó IAS en honor del nombre del centro de investi - gación de Princeton. A pesar de que Von Neumann había dicho que la máquina tendría una aritmética en serie, desde el principio se intentó di - señar una memoria que permitiera el acceso en paralelo, para así cambiar las unidades aritméticas y aumentar significativamente la velocidad de pro - ceso. Por todo ello, se realizaron muchas investigaciones alrededor de las memorias. Se usaron el Selectron, después tambores magnéticos y por úl - timo tubos catódicos de Williams. El primer prototipo fue operacional en 1952 con una memoria de 4.000 palabras de 40 bits, y con ALUs funcio - nando a una frecuencia de 1 megahercio. El computador era asíncrono, de forma que se tuvieron que desarrollar cuidadosamente los biestables que muestreaban las señales que en paralelo, se intercambiaban las diferentes partes del procesador. Después de su inauguración, se le dedicó a un cál - culo asociado al diseño de la bomba de hidrógeno, en el que estuvo 60 días ininterrumpidos. A nivel interno, era una máquina tipo acumulador, pero muy rápida ya que era capaz de sumar en 60 microsegundos y de multiplicar y dividir en 180 microsegundos. Tenía 2.300 tubos y sus dimen - siones eran de 1,80 de larga, 0,60 de ancha y 2,40 metros de altura.

Eckert y Mauchly empezaron una serie de diseños que llevaron a la máquina que se denominó UNIVAC (UNIVersal Automatic Calculator). La memoria estaba basada en tubos de mercurio que permitían almacenar hasta 1.000 palabras de 12 caracteres alfanuméricos de 11 bits cada uno que permitía un tiempo de acceso máximo de 400 microsegundos. Internamente tenía cua - tro acumuladores y unas unidades aritméticas que funcionaban a una veloci - dad de 2,25 MHz. Una suma se realizaba en 0,5 ms, una multiplicación en 2 ms y una división en 4 ms. Esta máquina fue pionera en el uso de cintas mag - néticas para memoria secundaria, que permitían almacenar hasta 128 carac - 24 MATEO VALERO CORTÉS teres por pulgada que podían ser leídos a una velocidad de 12.800 caracte - res por segundo. De esta máquina se vendieron 46 copias.

Fotografía del IAS de Von Neumann, a la izquierda y del AVIDAC, a la de - recha, que fue un clon de la anterior, construida en el Argonne National Laboratory.

Es conocida la anécdota de que se usaron cuatro de ellas para ejecutar un programa que debía de predecir en 1952 el ganador, el mismo día de las votaciones a Presidente de Gobierno. Con los datos iniciales, la máquina dio unos resultados muy abultados a favor de Eisenhower. Tan grandes eran los márgenes, que no se atrevieron a publicarlos, aunque luego se comprobó que la máquina no se había equivocado

A partir de la década de los cincuenta, los computadores empiezan a ser máquinas que adquieren ciertos niveles de ventas. Univac empieza a co - mercializar el Univac I en el año 1951 y continua con los Univac 1100 y 1101 en los años 1953 y 1955. IBM también comienza a vender su IBM 701 en el año 1953 al que le siguen los modelos 702 en el año 1955 y el 704 en el año 1956. De algunos de esos sistemas, tal como el Univac I, se vendieron 46 copias al precio de un millón de dólares cada una. Aparecen otras empresas tales como Burroughs, Control Data y Digital. Los compu - tadores empiezan a ser conocidos en ambientes de ayuda a la gestión y empieza la revolución informática

Fotografía del Univac I a la izquierda. Fue una de las primeras máquinas comerciales. Se vendieron 46 al precio de un millón de dólares cada una. A la derecha, el IBM 701. Fue la primera máquina comercial de IBM de la que vendió 19 máquinas. LOS COMPUTADORES, ESOS LOCOS CACHARROS 25

El transistor y los circuitos integrados

Hay un acuerdo unánime en describir al transistor como el dispositivo que revolucionó las tecnologías de la información. Para muchos, es el in - vento más importante de los últimos años. El transistor es un dispositivo que permite amplificar señales eléctricas. Puede realizar las mismas funcio - nes que realizaban las válvulas, pero son mucho más pequeños, permiten ser integrados en chips, consumen poca potencia y funcionan más rápido que las válvulas.

Fotografía del primer transistor, a la izquierda, y del primer circuito integrado, a la derecha

El día 17 de noviembre de 1947, los laboratorios de la Bell anuncian el descubrimiento de un dispositivo que permite crear el llamado efecto transistor. Está formado por una barra de germanio a la que le han solda - do dos conexiones de un material de fósforo y bronce. Dicho dispositivo primitivo permite amplificar señales eléctricas. Los inventores fueron John Bardeen, Walter Brattain y William Schocley que recibieron el premio No - bel de Física del año 1956 por este invento. Por cierto, el anuncio de este dispositivo no mereció ni un triste anuncio técnico en los periódicos

Aunque Bell empezó a comercializarlos desde el año 1948, la verdad es que no fueron muy utilizados al principio. La fabricación no era sencilla, eran muy caros y poco fiables. En el año 1951, Bell perfecciona la técnica de fabricación e introduce el transistor de unión, basado en un cristal de germanio que se hace crecer y dopar con impurezas al mismo tiempo. Es - ta nueva técnica es un gran avance, de forma que Bell organiza una reu - nión para dar a conocer el invento y vender derechos de fabricación a las empresas que lo deseen previo pago de 25.000 dólares. Empresas ya es - 26 MATEO VALERO CORTÉS tablecidas como RCA y General Electric compran derechos de uso y fa - bricación así como nuevas empresas tales comoTexas Instruments,TI. Esta empresa perfeccionó el proceso de fabricación, patentó el transistor de Silicio en el año 1955 y bajó los precios de los transistores a 2,50 dólares por unidad, hecho que contribuyó enormemente a que reemplazaran a las válvulas en los computadores. Como anécdota, diremos que en el año 1954, Regency Electronics saca al mercado el primer aparato de radio con transistores al costo de 50 dólares. En 1960, se empiezan a fabricar los primeros transistores de efecto de campo que les dan una nueva e im - portante dimensión y en el año 1963 se inventan los transistores CMOS.

Fotografía del TRADIC a la izquierda. Fue el primer computador totalmente transistorizado. Se puede ver como se programaba la máquina desde el exterior. A la derecha se ve el IBM 360. Fue anunciada en el año 1964. Durante los dos primeros años se vendieron más 25000 equipos que de sobras sirvieron para recuperar los 5.000 millones de dólares que se emplearon para su diseño. En esta máquina, IBM empleaba circuitos integrados.

El transistor se usa enseguida en las telecomunicaciones y pasa muy rápido a intentar sustituir a las válvulas en el diseño de los computadores. El pri - mer computador totalmente transistorizado es realizado por la propia Bell. Se le denominó TRADIC (TRAnsistorized Digital Computer), estaba cons - truido con 800 transistores de contacto, y 10.000 rectificadores de germa - nio. Fue acabado en el año 1954, época en la que un transistor individual costaba 20 dólares, frente al coste de un dólar por válvula. No sólo eso, si - no que esta máquina era mucho más lenta que las de válvulas ya que sólo calculaba un millón de operaciones lógicas por minuto. Ahora bien, su ta - maño era insignificante menor, comparado con las máquinas de válvulas y su consumo era inferior a 100 vatios, 20 veces menor que lo que consumía un computador equivalente que fuera construido con válvulas

Al invento del transistor, le siguió el no menos importante de los circuitos integrados. El tamaño de los transistores era mucho más pequeño que el de las válvulas. Sin embargo, los condensadores y resistencias, tan necesa - rios en los circuitos como los transistores, ocupaban un tamaño muy con - LOS COMPUTADORES, ESOS LOCOS CACHARROS 27 siderable. En el año 1958 y de manera independiente, dos investigadores llegan a la conclusión de que casi todos los componentes que se necesi - tan en un circuito electrónico, pueden ser construidos con el mismo ma - terial y miniaturizados. Aparece el concepto de circuito integrado. Los in - ventores fueron Jack Kilby de Texas Instruments, que presenta los primeros resultados el 12 de septiembre del 1957, y patenta la idea el 6 de febrero del 1958, y , que trabajando en la recién creada Fairchild, patenta una idea similar en enero del 1959. Ambas empresas acordaron compartir la patente. Fue Jack Kilby, premio Nobel de Física por su invento del circuito integrado, el que también introdujo la primera cal - culadora de mano en el año 1967, como un ejemplo de aplicación prácti - ca de los circuitos integrados. Su peso era de 25 kilos y su coste de 2.500 dólares En el año 1961, Fairchild diseña el primer circuito biestable in - tegrado mediante el uso de lógica RTL y en 1967, la misma empresa crea el primer producto en MOS, que era una unidad aritmética de 8 bits con un acumulador de resultados.

La ley de

Desde el primer circuito integrado del año 1958, la capacidad de miniatu - rización de los transistores ha ido creciendo a una velocidad que fue aproximadamente predicha por Gordon Moore. A dicha tendencia, se le

Dos transparencias que muestran gráficamente algunas de las consecuencias de la ley de Moore. ha llamado ley de Moore, aunque no es ninguna ley de la naturaleza, sólo una tendencia en la integración de los circuitos. Gordon Moore, uno de los creadores de la empresa , escribió un artículo en la revista Electro - nics en el año 1965. A partir de los datos que tenía sobre el número de 28 MATEO VALERO CORTÉS transistores que se habían integrado en los circuitos durante los últimos tres años, vio que el número se había doblado cada año y que el número máximo de transistores que poseían los circuitos de entonces era de cin - cuenta. Predijo que esa tendencia, de doblar cada año, continuaría durante diez años más y que entonces, el número de transistores que tendrían los circuitos sería de 65.000. La realidad es que desde 1965 y hasta nuestros días, la integración ha crecido a un promedio de doblar el número de transistores cada 18 meses aproximadamente.

El primer microprocesador

Tal como hemos comentado, los circuitos integrados pasaron a ser el componente más usado en el diseño de computadores y de los circuitos electrónicos en general. Uno de dichos dispositivos eran las calculadoras de mano. En el año 1971, la recién creada empresa Intel recibió un encar - go de la empresa japonesa BUSICOM, para realizar unos circuitos que constituirían la base de su nueva calculadora. El ingenieroTed Hoff de Intel se percató de que todos aquellos transistores se podían integrar en un solo circuito. El diseño no le gustó a Busicom, que fue indemnizada por In - tel con 40.000 dólares para perder los derechos sobre la patente . Apa - recía un circuito que contenía 2.300 transistores, que permitía realizar más de 60.000 operaciones por segundo y que, por lo tanto, tenía una poten - cia superior a la del ENIAC. Aparecía el primer microprocesador, al que se le denominó

Fotografías del Intel I-4004, el primer microprocesador. A la derecha, fotografía del 4 , uno de los últimos microprocesadores de Intel. Los separan 30 años y muchas otras cosas

Como dato reciente, diremos que en el año 2000 y según fuentes de DARPA, se construyeron casi 10.000 millones de microprocesadores. Sólo el 2% de ellos, son de altas prestaciones. La mayoría se emplean en meca - nismos de control y sistemas empotrados. Con los avances de las tecnolo - LOS COMPUTADORES, ESOS LOCOS CACHARROS 29 gías de la Información y de las Telecomunicaciones, se espera que dentro de 3 o 4 años, el número de procesadores que se fabricará será más de diez veces superior al número de habitantes del planeta.

Memorias y procesadores

La forma de hacer las memorias ha influido enormemente en el diseño de los procesadores. Inicialmente, la capacidad que teníamos para me - morizar era muy pequeña en cantidad de información y los accesos a esa información eran en serie, es decir, a reducida velocidad. Hasta la aparición de los discos magnéticos y de las memorias de semiconduc - tores, no se han tenido tecnologías adecuadas para la fabricación de las memorias. Debido a esa dificultad, hemos visto que muchas veces, la decisión más importante que tenían los arquitectos de computadores al diseñar un nuevo computador, era la elección del sistema de memo - ria. En las líneas que siguen vamos a hacer una referencia a las memo - rías b asadas en tubos de mercurio, al denominado tubo de Williams, a las memorias de núcleo de ferrita, discos magnéticos y memorias de semiconductores.

Las memorias basadas en tubos de mercurio se usaron, tal como he - mos indicado anteriormente, en el diseño de procesadores tales como los EDVAC, EDSAC y UNIVAC I. La idea básica era usar un tubo lleno de mercurio como línea de retardo de impulsos sonoros. Para almacenar bits, los impulsos eléctricos eran convertidos a impulsos sonoros que eran introducidos en el tubo de mercurio. Dependiendo de la longitud del tubo, los impulsos tardaban un tiempo u otro en llegar de un extre - mo al otro. Al llegar al extremo, podían ser leídos y debían ser recicla - dos. Dependiendo de la longitud del tubo y de la frecuencia de intro - ducción de los impulsos, el tubo almacenaba más o menos bits. Había grandes problemas como el hecho de que la velocidad de los impulsos por el tubo dependía de la temperatura del mercurio. Como vemos el acceso a la información era completamente secuencial, lo que reducía bastante el ancho de banda real. Se idearon varias técnicas para aliviar este problema, como la más trivial consistente en aumentar el número de tubos y disminuir su capacidad, permitiendo un acceso aleatorio a cualquier tubo. 30 MATEO VALERO CORTÉS

Fotografía a la izquierda de los tubos de Williams, A la derecha, se ve el tambor magnético del computador ERA 1101. Los tambores podían almacenar hasta 4.000 palabras que podían ser accedidas a una velocidad de 5 ms.

El denominado tubo de Williams fue un gran avance en los mecanismos para almacenar información. Fred Williams, inglés, comenzó a pensar en la idea de usar tubos de rayos catódicos para almacenar información a partir de un viaje que hizo en el año 1946 a los Estados Unidos. La idea era al - macenar señales analógicas para los radares y señales digitales para los computadores. Una vez en Manchester, y después de haber logrado alma - cenar y recuperar un bit, se le unió Tom Kilburn el cual fue capaz en 1947 de grabar 2048 bits, en diferentes formatos, manteniendo la información durante mucho tiempo. La idea era rellenar el tubo de rayos catódicos con dos tipos de señales diferentes representando los dos valores de un bit. Esa información era leída desde el exterior, normalmente usando otro tipo de tubo y era realimentada de nuevo al tubo. Se había construido un dispositivo que permitía acceder a la información en paralelo acercando por primera vez las velocidades de las memorias a las de las unidades arit - mético lógicas. Otras ventajas sobre los tubos de mercurio eran que el mecanismo era insensible a las variaciones de temperatura y que además, el diseño era mucho más barato.Tal como se ha dicho, el tubo de Williams fue la excusa para diseñar The Baby. Posteriormente, se empleó en mu - chos diseños tales como en los computadores IBM 701 y 702. A partir del año 1955, este dispositivo fue reemplazado por las memorias de ferrita.

Las memorias de núcleo magnético de ferrita fueron desarrolladas a final de los años cuarenta. Reemplazaron a los tubos de vacío y convivieron con los tubos de rayos catódicos de Williams. Su invención es atribuida a varios in - vestigadores, entre los que se encuentran Presper Eckert, An Wang y Jay Fo - rrester. Este último las empleó en el computador Whirlwind del MIT en el año 1949. Uno de los primeros computadores comerciales que usaron este tipo de memorias a principio de los años cincuenta fueron los de la casa Uni - vac. En concreto, el Univac 1105 usaba planos de este tipo de memoria or - ganizados en pilas. Cada plano albergaba 1.024 núcleos de ferrita que corres - pondían a 1.024 bits. Había hasta ocho planos por pila. Cada plano costaba entonces alrededor de 6000 dólares Las memorias de ferrita fueron re - LOS COMPUTADORES, ESOS LOCOS CACHARROS 31 emplazadas de los computadores por las memorias de semiconductores a principios de los años setenta. A título de anécdota diremos que el compu - tador de guiado del Apolo XIII usaba este tipo de memoria.

El primer disco magnético apareció en el año 1956. Se denominaba IBM 305 RAMAC. Permitía almacenar 4 megabytes en 50 discos de 24 pulga - das de diámetro. Giraba a 1.200 revoluciones por minuto. La densidad li - neal de grabación era de 100 bits por pista con una separación de 0,25 centímetros entre pistas. Así pues, la densidad de grabación era de 1.000 bits por pulgada al cuadrado. El tiempo de acceso promedio era de 100 ms. El coste de alquiler era de 35.000 dólares al año y en su diseño se em - plearon válvulas. Desde su aparición, el disco ha ido mejorando a unas ve -

A la izquierda está una fotografía acerca de las memorias de ferrita, que fueron usadas desde principio de los cincuenta hasta que fueron sustituidas por las memorias de semiconductores a primeros de los setenta. A la derecha, fotografía del primer disco magnético. Fue el IBM 305 RAMAC, comercializado en el año 1956. locidades comparables e incluso superiores al avance en los semiconduc - tores. Por otra parte, han aparecido muchos tipos de disco tales como los discos flexibles o los discos ópticos. Hoy en día un sistema avanzado de discos, como el IBM 120 GXP, permite almacenar en 3 discos internos de 3,5 pulgadas, hasta 120 gigabytes de información. Comparando con el pri - mer disco de hace 45 años, la capacidad total se ha multiplicado por 500.000, la densidad de grabación por casi 30 millones de veces, la densi - dad lineal de grabación por 5.000, la densidad de pistas por casi 6.000 y la velocidad de rotación por sólo 6 veces. Estos discos tienen una latencia de acceso promedio de 4 milisegundos y se pueden leer y escribir datos a una velocidad de 74 megabytes por segundo. Este avance espectacular continuará durante los próximos años, esperándose el disco de 1 terabyte para el año 2006

Los discos magnéticos descritos anteriormente, junto con las cintas mag - néticas que no describiremos, han sido los dispositivos que se han usado durante los últimos años para construir la denominada memoria secunda - ria del computador. Es una memoria cuyo contenido se ha de escribir o 32 MATEO VALERO CORTÉS leer a/desde la memoria principal. El verdadero avance en el diseño de dispositivos para construir la memoria principal de un computador se dio con la aparición del transistor seguida de los circuitos integrados. Ya en el año 1966, IBM introdujo en el mercado una memoria bipolar de 16 bits, que continuó con otra de 64 bits en el año 1968. El año 1966, también se inventa la memoria DRAM que permite implementar 1 bit de memoria con el uso de un único transistor. A partir del año 1970, se introduce la memoria DRAM de 1 kilobit y en el 1974, la de 4 kilobits. Esta última me - moria se diseña con una tecnología de 8 micras, la celda de memoria ocu - pa 1280 micras al cuadrado, el chip es de 15 milímetros cuadrados y el precio de cada memoria era de 18 dólares. A partir de esa época, la ley de Moore se aplica al diseño de las memorias por lo que cada 3 años, aproximadamente, sale al mercado una memoria que es cuatro veces más densa que la anterior. Esto nos ha llevado a que en este año 2002, tenga - mos memorias de 256 megabits, diseñadas con una tecnología de 110 na - nómetros y que ocupan una superficie inferior al centímetro cuadrado. Es - ta tendencia seguirá durante los próximos 15 años, como mínimo.

Algunos conceptos importantes en la arquitectura de los computadores

Tal como hemos indicado, a partir de la década de los cincuenta, el compu - tador empieza a ser muy utilizado. Aparecen muchas empresas constructo - ras de computadores y se empieza a desarrollar la tecnología del software, tan necesaria para que estas máquinas pudieran ser programadas para eje - cutar cualquier tipo de aplicación. Los avances de la microelectrónica de - sempeñan un papel favorable en el desarrollo de máquinas cada vez más potentes. Cada fabricante intenta definir su propia arquitectura, es decir, el conjunto de instrucciones que forman el lenguaje máquina. Esto, junto con que no había acuerdo en el software a utilizar, hacía que los sistemas fueran totalmente incompatibles por lo que los compradores, cuando compraban sus primeras máquinas, estaban decidiendo una opción a largo plazo.

Los primeros computadores sólo tenían un número pequeño de instruc - ciones, debido a que el hardware era muy caro. Una creencia general en los primeros fabricantes fue suponer que al poder disponer de más hard - ware, este se debía de aprovechar, entre otras cosas, para aumentar el nú - LOS COMPUTADORES, ESOS LOCOS CACHARROS 33 mero y la complejidad de las instrucciones del lenguaje máquina. De esa forma, se creía que los programas se ejecutarían más rápido. Y así fue du - rante muchos años. Ahora bien, el gran número y la complejidad de las instrucciones hizo que el diseño de las unidades de control del procesa - dor, se hicieran cada vez más complicadas. La teoría de diseño de autóma - tas era válida, pero la complejidad de los diseños aumentaba considera - blemente con el número de instrucciones. Maurice Wilkes, propuso un método alternativo para diseñar esas unidades de control. El método con - sistía en usar una memoria, para implementar gran parte del autómata de control. El método se llamó microprogramación y fue desarrollado en el año 1951.

El modeloVon Neumann descrito en el famoso borrador sobre el EDVAC, proponía diseñar los computadores de forma que ejecutaran las instruc - ciones una detrás de otra. Era un funcionamiento totalmente secuencial que implicaba facilidad del diseño y reducción del coste hardware, a costa de reducir la velocidad de ejecución de los programas. La tecnología mi - croelectrónica permitía usar cada vez más hardware y por lo tanto, se po - día pensar en complicar los diseños para ganar velocidad. Había que cam - biar el modelo Von Neumann de ejecución secuencial. Para ello, los arquitectos de computadores se fijaron en el modelo de fabricación de coches propuesto por Henry Ford en los primeros años del siglo anterior, que consistía en la cadena de montaje de coches. En dicha cadena, existen varios puntos o etapas de la cadena, donde hay varios coches en diferen - te estado de fabricación. En cada etapa se les añade algo de forma que los coches van pasando por todas las etapas y al final, en la última etapa, se acaban de fabricar y salen de la cadena. Los arquitectos de computadores empezaron a crear en hardware el concepto equivalente. Para ellos, la fa - bricación de un coche era equivalente a ejecutar una instrucción del len - guaje máquina. El computador iba a consistir de una serie de etapas hard - ware por donde iban a pasar las instrucciones. En cada etapa, se iba a ejecutar parte de la instrucción de forma que si el hardware tenía x eta - pas y si en cada etapa había una instrucción en estado de ejecución, el computador podría estar ejecutando en total, x instrucciones al mismo tiempo. Estos procesadores segmentados empezaron a fabricarse a partir de principio de los sesenta. Hemos de decir que ésta es la técnica que se emplea desde entonces para diseñar procesadores. Lo que ha variado es el número de etapas y el número de instrucciones que puede haber en 34 MATEO VALERO CORTÉS cada etapa. Al principio, el número de etapas era inferior a cinco y sólo se podía entrar, como máximo una instrucción a ejecutar en cada ciclo. En la actualidad, los procesadores más rápidos tales como el Power4 de IBM tienen más de 20 etapas en el pipeline, pueden entrar hasta 8 instruccio - nes por ciclo y pueden estar ejecutando hasta 200 instrucciones al mismo tiempo. Se denomina tiempo de ciclo del procesador a la velocidad a la que se mueven las instrucciones entre las diferentes etapas del pipeline. En la actualidad, hay procesadores como el Pentium4 que tienen unas fre - cuencias de reloj de 3 gigahercios, por lo que la velocidad de movimiento entre etapas es de un tercio de nanosegundo aproximadamente.

La figura de la izquierda representa la cadena de montaje del Ford T, mientras que la de la derecha, representa la estructura interna del pipeline del procesador Power4 de IBM. Se puede var la gran analogía entre estos diseños.

Tal como hemos comentado anteriormente, los circuitos integrados han permitido desde el año 1970, cuadruplicar la densidad de los circuitos ca - da tres años y por lo tanto el número de bits. Por otro lado, el tamaño de las aplicaciones que ejecutaban los procesadores era cada vez mayor. Se había inventado la multiprogramación, como técnica que permitía que va - rios programas pudieran estar compartiendo los recursos al mismo tiem - po de forma que avanzaban conjuntamente sus ejecuciones. Todo ello ha - cía que la gestión de memoria se convirtiera en un gran problema. Para resolver este tema, se propuso la técnica de memoria virtual como con - junto de técnicas software y hardware que permiten gestionar el espacio de memoria principal de manera automática, haciendo que los programas se puedan ejecutar en cualquier parte de la memoria física y haciendo que la transferencia entre el disco y la memoria principal se haga de ma - nera automática y bajo control del sistema operativo. Pues bien, de nuevo, LOS COMPUTADORES, ESOS LOCOS CACHARROS 35 esta idea que ha sido fundamental para el desarrollo de los computadores fue inventada en el año 1962 por el inglésTom Kilburn, como parte de los muchos avances que se ocasionaron en el desarrollo del computador Atlas de la universidad de Manchester.

La memoria no sólo ocasionaba problemas de cómo gestionarla en el senti - do de que pudiera ser asignara de manera inteligente y flexible a los dife - rentes programas. La memoria principal contiene las instrucciones y los da - tos de los programas. Hemos dicho que el procesador está construido mediante una serie de etapas por donde pasan las instrucciones para ser ejecutadas. Las primeras etapas leen las instrucciones y los datos operandos y las últimas escriben los resultados en memoria. Hemos dicho que los pro - cesadores actuales pueden entrar en el pipeline varias instrucciones en el mismo ciclo y que por lo tanto, pueden estar ejecutando un gran número de instrucciones al mismo tiempo, por lo que también es verdad que ello lleva asociada la necesidad de leer y escribir en la memoria varias veces por ciclo del procesador. Si esto no es posible, de nada serviría que las etapas del procesador vayan a velocidades superiores al gigahercio, ya que éste de - bería estar esperando a que la memoria respondiera.

Desde los primeros tiempos, la memoria ha sido uno de los dos factores que más ha limitado la velocidad real de los computadores. El otro, del que hablaremos más adelante, han sido las instrucciones de control que hay en los programas. Ya hemos comentado que el diseño de la memoria era uno de los factores más importantes de los primeros computadores. Por otra parte, los avances tecnológicos han complicado el problema du - rante los últimos 30 años, ya que el tiempo de acceso a las memorias se ha mejorado solo un 7% anual. En cada momento, ha sido imposible dise - ñar una memoria grande y rápida que pudiera suministrar al procesador la información que requiere en el mínimo tiempo posible. Ya hemos visto que algunos de los primeros computadores tenían dos niveles de memo - ria. Uno era más rápido y estaba cerca del procesador y el otro, con ma - yor capacidad y más lento, estaba conectado al anterior. La comunicación de información entre esos niveles era responsabilidad del programa. En el año 1965, Maurice V. Wilkes da las primeras ideas para estructurar la me - moria en una serie de niveles donde los niveles más bajos están cerca del procesador, son rápidos, pero tienen poca información. Conforme se sube de nivel, se tienen memorias con capacidades mayores pero con un ma - 36 MATEO VALERO CORTÉS yor tiempo de acceso. Lo nuevo de la propuesta es que la gestión de la transferencia de información entre niveles se podía hacer de manera au - tomática. El hardware aprende cómo el programa se va ejecutando e in - tenta que en cada momento, el nivel más bajo y más rápido ten ga la infor - mación que el procesador le va a solicitar en los próximos ciclos. Éste es el concepto de la memoria caché, que ha sido y es fundamental para el desa - rrollo de los computadores. La diferencia de velocidad entre la memoria y el procesador, siempre a favor de este último, hace que mucha de la investi - gación en arquitectura de computadores se centre en el desarrollo de téc - nicas que permitan a la memoria responder lo antes posible a las peticiones del procesador. La memoria caché fue un primer paso. Sin embargo, se ha dedicado y se continuará dedicando mucho esfuerzo al desarrollo de técni - cas, denominadas de prebúsqueda, que intentan conocer o predecir las di - recciones que va a lanzar a memoria el procesador, varios ciclos antes de que ocurra. De esa forma, la jerarquía de memoria puede intentar traer esos contenidos al nivel más rápido de la memoria para que el procesador no tenga que esperar. Estas técnicas pueden ser gestionadas pòr el compila - dor, por el hardware o por ambos a la vez.

Tal como hemos dicho anteriormente, conforme el hardware era más ba - rato, los fabricantes complicaban el contenido semántico o potencia de las instrucciones del lenguaje máquina, dando lugar a los computadores denominados CISC (Complex Instruction Set Computers). Esto tenía dos efectos negativos además de que el hardware fuera más complejo. Por una

La figura de la izquierda es el procesador MIPS R2000 diseñado por John Hennessy. Fue el primer micro - procesador tipo RISC en el mercado. También fue el primer microprocesador segmentado que podía eje - cutar una instrucción por ciclo. Tenía 125.000 transistores y ejecutaba, en 1985, entre 5-8 millones de instrucciones por segundo. En la figura de la derecha se representa el MIPS R-10000. Fue el primer mi - croprocesador que ejecutaba fuera de orden hasta 4 instrucciones por ciclo. Tenía 6,8 millones de transis - tores y su frecuencia era de 200 MHz. LOS COMPUTADORES, ESOS LOCOS CACHARROS 37 parte, se complicaba el realizar pipelines que se adaptaran bien a estas complejidades ya que el tiempo de ejecución de cada una de las instruc - ciones podía ser muy diferente. Así pues, complicar la complejidad de las instrucciones significaba complicar el diseño del pipeline y renunciar a au - mentar el número de etapas y, lo que es lo mismo, la velocidad del proce - sador. Por otra parte, cada vez más se escribían los programas en un len - guaje de alto nivel. Esto hacía que los compiladores no fueran capaces de utilizar estas instrucciones complejas de forma que para ellos, es como si no existiesen. Todo ello hizo repensar la forma de definir el conjunto de instrucciones de los procesadores y la forma de rentabilizar los avances tecnológicos mediante el rediseño de los procesadores. Algunas empre - sas como IBM y Digital y algunas universidades como Berkeley y Stan - ford empezaron a marcar este cambio, a finales de los setenta y princi - pio de los ochenta, mediante la propuesta de procesadores que se denominaron RISC (Reduced Instruction Set Computers). Nuestro aca - démico correspondiente John L. Hennessy desarrolló en Stanford uno de los primeros microprocesadores RISC que se denominó MIPS y que dio lugar luego a la empresa MIPS que fue comprada posteriormente por Silicon Graphics. Además de la redefinición del lenguaje máquina ti - po RISC, John hizo contribuciones muy importantes en el diseño y opti - mización del pipeline, así como en la generación de código por parte de los compiladores para que el código generado hiciera uso eficiente del hardware del procesador.

Las arquitecturas RISC dominaron la década de los ochenta. Durante este tiempo, se aprovechó al máximo los avances tecnológicos del hardware. Uno de los defectos de las arquitecturas RISC era que en su definición inicial, sólo estaban pensadas para poder entrar una nueva instrucción al procesador en cada ciclo. Este hecho limitaba la velocidad de ejecución. A finales de los ochenta y principios de los noventa, se empiezan a diseñar procesadores que se denominan superescalares. Son procesadores tipo RISC, pero que permi - ten entrar al pipeline, varias instrucciones por ciclo. Procesadores pioneros de este tipo fueron los PA-RISC de Hewlett-Packard y los RS-6000 de IBM. Con ellos comienza una década donde se intenta aumentar el número de instrucciones que los procesadores son capaces de ejecutar por ciclo de procesador. Como veremos más adelante, la limitación a este número, que es inferior a 8, no la pone el procesador sino que la pone la jerarquía de me - moria, ya comentada, y las instrucciones de salto. 38 MATEO VALERO CORTÉS

La segunda restricción fuerte a la velocidad del procesador la constitu - yen las instrucciones de salto condicional. En los programas más usados en el mundo, existe una instrucción de salto condicional cada 6 o 7 ins - trucciones del programa. Eso quiere decir que hasta que no se ejecute una instrucción de éstas no se puede saber cuál será la siguiente instrucción a ejecutar. Este hecho es una restricción muy fuerte para un pipeline ya que lo va a frenar. Pues bien, desde ya los primeros diseños de computadores, se incorporaron al procesador, una serie de circuitos hardware que son ca - paces de aprender acerca de cómo se comportan los saltos. Después usan este conocimiento para predecir cuál va a ser la decisión del salto en cuan - to a si va a ser tomado o no. Este circuito, denominado predictor de saltos, predice el camino que seguirá el programa de forma que el hardware con - tinúa ejecutando instrucciones de manera especulativa por ese camino. En procesadores como el ya nombrado Power4, pueden estar dentro del pi - peline alrededor de 25 instrucciones de salto que han sido predichas. Lógi - camente, cuando las instrucciones de salto se ejecutan, se sabe el resultado real y se comprueba con el que se predijo. Si no coinciden, el procesador ha de volver a reejecutar las instrucciones a partir de la instrucción de sal - to que falló. En la actualidad, los predictores de salto son capaces de pre - decir correctamente más del 96% de las veces. Cualquier mejora en la tasa de aciertos en estos predictores, se traduce automáticamente en una me - jora en la velocidad de ejecución de los programas.

Supercomputadores

Desde principios de los sesenta, la industria militar apoya la construc - ción de procesadores más potentes que los comerciales ejecutando apli - caciones numéricas y de ingeniería. Aparecen los primeros supercomputa - dores, llamados así por ser los computadores más rápidos en cada momento. Durante muchos años, se diseñaron a partir de procesadores específicos que usaban la tecnología más rápida del momento. Aparecen los fabricantes tales como Control Data, Cray e IBM. Estas máquinas po - seen una potencia entre 100 y 1.000 veces la de las máquinas convencio - nales. Poco a poco, son empleadas también por la industria. Aplicaciones tales como el diseño de coches, aviones, predicción del tiempo o diseño de nuevos productos farmacéuticos, se benefician enormemente de estos LOS COMPUTADORES, ESOS LOCOS CACHARROS 39 supercomputadores. En el año 1976, Seymour Cray vende el primer com - putador Cray-1. Durante muchos años, los procesadores vectoriales de Cray, IBM, CDC, Fujitsu, Hitachi y NEC son los más rápidos del mundo. Se em piezan también a construir sistemas multiprocesadores basados en esos procesadores específicos. Las instalaciones cuestan muchos millo - nes de dólares debido a que los diseños son casi a medida y a que se venden pocos.

A partir de los ochenta, se empiezan a comercializar microprocesadores con una potencia considerable. Por otra parte, la ley de Moore permite que cada vez los sistemas informáticos ocupen menos tamaño y sean económicos. En algunos centros de investigación se empiezan a montar sistemas multiprocesadores donde los procesadores son de los que se emplean en los computadores personales. La idea es usar el paralelismo para lograr que muchos procesadores baratos, trabajando conjuntamente, resuelvan los problemas en un tiempo menor que el necesitado por po - cos procesadores rápidos, pero muy caros. Poco a poco, el gap entre am - bos tipos de sistemas se hace cada vez más pequeño. Los fabricantes de procesadores vectoriales empiezan a reducir las ventas y casi desaparecen del mercado. En el día de hoy, sólo los fabricantes Cray y NEC tienen su - percomputadores basados en el diseño de procesadores vectoriales pro - pios de ellos. La gran mayoría de supercomputadores se diseñan en la ac - tualidad, a partir de procesadores convencionales. John L. Hennesy fué pionero en el diseño de estos sistemas multiprocesadores que se han de - nominado con memoria compartida, tales como el Origin de SGI.

En la figura de la izquierda se ve un supercomputador Cray con su forma característica de sofa en la parte inferior. A la derecha, el IBM ASCI Red, construido a base de 5808 procesadores convencionales PowerPC de IBM 40 MATEO VALERO CORTÉS

Machine Year Tc MHz Mflops/CPU #CPU’s MemoryBW/CPU LoadLatency(ns)

Cray-1 1976 80 160 1 640 MB/s 150 Cray-XMP 1982 105 210 2 2.5 GB/s 123 Cray-2 1982 243 486 4 or 8 1.9 GB/s 200 Cray-YMP 1989 167 334 8 4 GB/s 100 Cray-C90 1992 243 970 16 12 GB/s 95 Cray-J90 1995 100 200 32 1.6 GB/s 340 Cray-T90 1994 450 1800 32 21 GB/s 70/116 Cray-SV1 1998 500 2000 32 6.4 GB/s 380 Cray-X1 2002 800 12.800 4.096 38 GB/s 325

En esta tabla se refleja las características de las máquinas Cray, desde el Cray-1 del año 1976 hasta las má - quinas actuales. La tercera columna indica el tiempo de ciclo de los procesadores en MHz La cuarta co - lumna la velocidad de cada CPU, y la siguiente el número máximo de CPUs Las dos últimas dan informa - ción acerca del ancho de banda y la latencia con memoria.

Evolución de los microprocesadores

Tal como hemos indicado anteriormente, en el año 1971, Intel produce el primer microprocesador, el Intel 4004. Era un dispositivo de 2.300 transistores que usaba números decimales representados en código BCD que necesita 4 bits por dígito decimal. Todas las unidades aritméti - cas estaban orientadas a este tipo de representación y el procesador en sí estaba diseñado para convertirse en la parte fundamental de una cal - culadora digital de mano.

Enseguida, el uso masivo de estos procesadores junto con los avances tecnológicos, hace que los diseños se mejoren a una gran velocidad. De la lógica inicial de 4 bits, se pasa a lógica de 8, 16, 32 y 64 bits, es - ta última hace muy pocos años. Conforme se incrementa la velocidad de estos procesadores, se van dedicando a muchas otras funciones. Su influencia en la sociedad se empieza a notar. Aparecen los prime - ros computadores personales hace veinte años. También aparece In - ternet. Su enorme mercado hace que la competencia industrial sea muy grande. Los enormes beneficios de las empresas se dedican a mejorar los productos. LOS COMPUTADORES, ESOS LOCOS CACHARROS 41

Year/Month Clock=1/tc. Transistors Micras

14004 1971/11 108 KHz. 2300 10 18080 1974/04 2 MHz. 6000 6 18086 1978/06 10 MHz. 29000 3 180286 1982/02 12 MHz. 0.13 m. 1.50 1486DX 1989/04 25 MHz. 1.2 m. 1 Intel DX2 1992/03 100 MHz. 1.6 m. 0.8 Pentium 1993/03 60 MHz. 3.1 m. 0.8 1995/11 200 MHz. 5.5 m. 0.35 Pentium II 1998 450 MHz. 7.5 m. 0.25 Pentium III 2000/01 1000 MHz. 28 m. 0.18 P4 2000/09 1400 MHz. 42 m. 0.18 P4 2002/10 2500 MHz. 42 m. 0.13 2 2002/11 1000 MHz. 221 m. 0.18

Evolución de los microprocesadores de Intel.

En la tabla anterior se reflejan estos grandes cambios a través de algunos de los procesadores de Intel. Como podemos ver, el número de transisto - res ha pasado a ser de 2.300 en el Intel 4004 a 42 millones en el del año 2000. La frecuencia del reloj del procesador también ha pasado de alrededor de 100 k Hz a los 3 GHz de los Pentium actuales, es decir, se ha multiplicado por casi 30.000. En cuanto al proceso tecnológico, la ley de Moore ha permitido pasar de diseñar transistores con una tecnología de 10 micras a los actuales de 130 nanos, con lo que la densidad de inte - gración se ha multiplicado por más de 6.000.

Procesor Alpha 21264C AMD Athlon HP PA-870 IBM Power4 Intel Itanium Intel Itanium 2 Intel MIPS R14000 Sun Ultra-III

Clock Rate 1,001 MHz 1,800 MHz 750 MHz 1.300 MHz 800 MHz 1,000 MHz 2,530 MHz 600 MHz 1,050 MHz Cache L/D/L2/L3 64K/64K 64K/64K/256K 750K/1,5M 64K/32K/1,5Mb 16K/16K/96K 16K/16K/256K/3M 12K/8K/512K 32K/32K 32K/64K Issue Rate 4 issue 3 x 86 instr 4 issue 8 issue 6 issue 8 issue 3 ROPs 4 issue 4 issue Pipeline Stages 7/9 stages 9/11 stages 7/9 stages 12/17 stages 10 stages 8 stages 22/24 stages 6 stages 14/15 stages Out of Order 80 instr 72 ROPs 56 instr 200 instr None None 126 ROPs 48 instr None Rename Regs 48/41 36/36 56 total 48/40 328 total 328 total 128 total 32/32 None BHT Entries 4K x 9-bit 4K x 2-bit 2K x 2-bit 3 x 16K x 1-bit 512 x 2-bit 512 x 2-bit 4K x 2-bit 2K x 2-bit 16K x 2-bit TLB Entries 128/128 280/288 240 unified 1,024 unified 64I/32L1D/96L2D 64I/32L1D/96L2D 128I/64E 64 unified 128I/512D Memory B/W 8 GB/s 2,1 GB/s 1,54 GB/s 12,8 GB/s 2,1 GB/s 6,4 GB/s 3,2 GB/s 539 MB/s 8,4 GB/s Package CPGA-588 PGA-462 LGA-544 MCM PAC-418 mPGA-700 PGA-423 CPGA-527 FC-LGA 1368 IC Process 0,18 µ 6M 0,13 µ 6M 0,18 µ 7M 0,18 µ 7M 0,18 µ 6M 0,18 µ 6M 0,13 µ 6M 0,25 µ 4M 0,15 µ 7M Die Size 115 mm 2 80 mm 2 304 mm 2 400 mm 2** 300 mm 2* 400 mm 2* 131 mm 2 204 mm 2 210 mm 2 Transistors 15,4 million 37,5 million 130 million 174 million** 25 million 221 million 55 million 7,2 million 29 million Est Die Cost $ 28* $ 16* $ 96* $ 144** $ 116* $ 139* $ 23* $ 76* $ 72* Power (Max) 95 W* 67 W(MTP) 75 W* 135 W** 130 W 130 W 59 W(TDP) 30 W* 75 W* Avaliability 3Q01 2Q02 4Q01 4Q01 2Q01 3Q02 2Q02 1Q02 1Q02

Características de los microprocesadores más potentes del mundo en Octubre del 2002. 42 MATEO VALERO CORTÉS

En la actualidad existen una gran variedad de microprocesadores. Cada unos pocos meses, salen tablas que describen las características más im - portante s y muestran las velocidades de los procesadores ejecutando una serie de programas. En la tabla anterior se muestra la última actualización de la tabla que corresponde a octubre del 2002. Pueden identificarse los proce - sadores, junto con sus velocidades. Indican la fotografía en un momento da - do, ya que, por ejemplo, la velocidad de un mismo tipo de procesador puede variar con una frecuencia mayor que la de la actualización de la tabla. Por ejemplo, el Xeon, variante basada en el Pentium4 ya tiene relojes superiores a 3 GHz, y el Power4 de IBM, ya tiene versiones que van a 2 GHz. En la se - gunda línea podemos ver los niveles de la jerarquía de memoria así como el tamaño de cada uno de los niveles. Por ejemplo, el AMD Athlon, que es un procesador compatible con los Intel, tiene un primer nivel de memoria cache de 64 Kbytes para instrucciones y de 64 kbytes para datos, junto con un se - gundo nivel de caché integrada de instrucciones y de datos de 256 Kbytes. Todos estos niveles de memoria se encuentran dentro del mismo chip con el procesador. La línea de Memory B/W, indica la velocidad de transmisión de información entre el último nivel de memoria caché y la memoria principal. En el caso del Athlon, esa velocidad o ancho de banda es de 2,1 Gbytes/s. La tercera línea indica el número de instrucciones que pueden entrar por ciclo en el pipeline del procesador. El Power4 de IBM, con 8 instrucciones, es el mayor. Podemos ver también el número de etapas del pipeline que van entre 6 y 24. En general, un mayor número de etapas permite un uso de un reloj más rápido. Otras características importantes son el número de conexiones que tienen los chips, que son más de 1.000 en algunos casos, la tecnología de fabricación, donde la más avanzada en los procesadores de la tabla es la de 130 nanos, el tamaño del chip, que en los casos del IBM Power4 y del Intel Itanium2 es de 4 centímetros cuadrados, y el número de transistores que so - brepasa los 220 millones en el Itanium2 de Intel . Por otra parte, y como volveremos al tema, diremos que en algunos procesadores, la potencia disi - pada alcanza valores superiores a los 135 vatios .

Tecnología del futuro

Ya hemos hablado acerca de la ley de Moore que ha estado presente du - rante los últimos cuarenta años. ¿Qué pasará en el futuro?. Existe una aso - ciación denominada SIA (Semiconductor Industry Association) que de LOS COMPUTADORES, ESOS LOCOS CACHARROS 43 tanto en tanto hace unas previsiones acerca de las características de la tecnología del CMOS en el futuro. Sus indicaciones siempre han sido con - servadoras en el sentido de que siempre la realidad tecnológica ha ido por delante de las previsiones. Como vemos, las predicciones indican que para el año 2014, la tecnología que estará disponible para realizar proce - sadores y memorias será de 35 nanos, lo que llevaría consigo a aumentar

Year 1999 2002 2005 2008 2011 2014

Feature Size (nm) 180 130 100 70 50 35 Logic trans/cm 2 6.2M 18M 39M 84M 180M 390M Cost/trans (mc) 1.735 0.580 0.255 0.110 0.049 0.022 #pads/chip 1867 2553 3492 4776 6532 8935 Clock (Mhz) 1250 2100 3500 6000 10000 16900 Chip size (mm 2) 340 430 520 620 750 900 Wririn levels 6-7 7 7-8 8-9 9 10 Power supply (V) 1.8 1.5 1.2 0.9 0.6 0.5 High-perf pow (W) 90 130 160 170 175 183 Batter pow (W) 1.4 2 2.4 2.8 3.2 3.7

Previsiones tecnológicas de la ISA. la densidad actual de los transistores en el chip en más de 20 veces. El nú - mero de conexiones en los chips crecerá hasta casi llegar a las 10.000, con lo que se aumentará la capacidad de conexión entre chips, y por lo tanto el ancho de banda de las comunicaciones. Hay también unas predicciones indi - cando que la frecuencia del reloj del procesador podría ser de casi 17 GHz. El tamaño de los chips crecerá hasta llegar a los 9 centímetros cuadrados y a los transistores se les hará trabajar a un voltaje de 0,5 voltios. Por otra par - te, los chips deberían ser capaces de disipar el calor producido por los casi 200 watios que necesitarán consumir. Así pues, la ley de Moore va a conti - nuar durante los próximos años aunque con una tendencia en el crecimien - to menor que la experimentada durante estos últimos.

No todo es la ley de Moore

Aunque parece ser que la tendencia marcada por la ley de Moore podrá continuar durante unos cuantos años más, es posible que nos encontre - 44 MATEO VALERO CORTÉS mos con algunos problemas adicionales que, si no los resolvemos, pueden hacer inviables los desarrollos de los futuros procesadores. Uno de ellos es el enorme coste de las factorías donde se fabrican estos circuitos avan - zados. Hay otra especie de ley de Moore no escrita que indica que el coste de estas factorías se multiplica cada tres años. Las más recientes han costado más de 2.000 millones de euros y se predice que para tecnologías por deba - jo de los 100 nanos, el coste puede llegar a ser superior a 10.000 millones de euros. A pesar de estos grandes costes, las ganancias pueden ser astronómi - cas si se logra vender una gran cantidad de estos chips. Como ejemplo orientativo, los lingotes de los que se extraen las obleas suelen pesar unos 100 kilogramos y costar alrededor de 12.000 euros. De allí se pueden extra - er alrededor de 600 obleas y de cada oblea unos 150 a 200 chips del más al - to nivel de integración. En el caso de los microprocesadores, el precio en el mercado de esos 100.000 microprocesadores puede ser de 30 millones de euros que equivale a decir que el kilogramo de chip va a 300.000 euros o que el metro cuadrado de chip va a 1,2 millones de euros.

Para llegar a esos niveles de integración de 35 nanos (menos del doble de la anchura del ADN), necesitamos nuevas técnicas para grabar los com - ponentes dentro de los circuitos. Actualmente se utilizan rayos láser. En el futuro, será necesario desarrollar técnicas basadas en rayos X o en rayos de electrones. Los rayos X tienen una longitud de onda menor que los hace muy válidos, pero su alta energía puede dañar al silicio. Además, son difíciles de enfocar y son muy penetrantes. Los rayos de electrones, tam - bién válidos para trabajar con estas separaciones tan pequeñas, tienen el inconveniente de que son lentos ya que sólo permitirían grabar las pistas de manera secuencial. Tal vez la solución estará en técnicas híbridas basa - das en rayos X y rayos de electrones.

A partir de ese nivel tan extraordinario de integración, empezarán a po - nerse de manifiesto una serie de fenómenos cuánticos que pueden impo - sibilitar el avance hacia la miniaturización.Tengamos en cuenta que la sepa - ración entre átomos de silicio es de alrededor de 0,5 nanómetros equivalente a decir que en 0,035 micras pueden caber alineados solo 70 átomos de silicio. A esas distancias y menores, se espera que la mecánica cuántica tome el testigo y permita el diseño de procesadores y memorias con unas capacidades difíciles de imaginar hoy en día. Sin embargo, no se espera que esto ocurra antes de 25 años. LOS COMPUTADORES, ESOS LOCOS CACHARROS 45

Otro aspecto muy importante es que estamos construyendo circuitos real - mente complejos. Cada vez es más difícil asegurar que el circuito va a fu ncio - nar correctamente. Esto se traduce en que el mayor porcentaje de inge - nieros que fabrican el chip están dedicados a las tareas de comprobar el correcto funcionamiento del procesador. Necesitamos mejores herramien - tas de diseño y mejores patrones de test. En caso contrario, puede ser que tengamos un límite consecuencia de la complejidad de los circuitos.

Y por último, hablaremos del problema derivado de la potencia que consu - men los circuitos con la consiguiente producción de calor y la necesidad de disipar este calor para que los circuitos no se quemen. La potencia que ne - cesita un procesador cuando está realizando sus funciones lógicas está rela - cionada de manera directamente proporcional al número de circuitos o puertas lógicas que posee, junto a su nivel de actividad y a la frecuencia a la que funciona, y de manera inversamente proporcional al cuadrado de la tensión de alimentación de los transistores. Esto hace que el Pentium-4 con - sume 55 vatios cuando su frecuencia de reloj es de 1,5 gigahercios, mientras que el mismo procesador a 3 gigahercios consumiría hasta el doble, es de - cir, 110 vatios, lo que constituye un valor muy alto de consumo.

Las 18.000 válvulas del sistema ENIAC consumían una potencia de 140 ki - lovatios, por lo que se necesitaba aire acondicionado para enfriar los cir - cuitos. Los transistores consumen mucho menos, tanto menos cuanto más pequeños, pero cada vez ponemos más por unidad de superficie, en chips más grandes, y cada vez hacemos funcionar los procesadores a una frecuencia más alta. Desde el ENIAC hasta ahora, la potencia necesaria para efectuar una operación lógica ha disminuido por un factor aproxima - do a 10 elevado a 12 veces. El primer microprocesador, Intel-4004, del año 1971, tenía 2.300 transistores, que estaban alimentados a 12 voltios, el reloj era de 108 kilohercios y su consumo mucho menor de 1 vatio. En cambio, el Pentium-4 actual tiene 42 millones de transistores alimentados a 1,75 voltios, con un reloj de 2 gigahercios y un consumo superior a los 60 vatios, equivalente a casi 30 vatios por centímetro cuadrado.

Los chips se quemarían si no fuera porque se aplican técnicas sofisticadas de control de la actividad interna, así como disipadores de calor y encap - sulados muy complejos y caros. Hace unos años que la densidad de po - tencia consumida por un chip es superior a la de un plato caliente y nos 46 MATEO VALERO CORTÉS vamos acercando a densidades muy parecidas a las que puede haber en las barras generadoras de calor en las centrales nucleares. Por ejemplo, en la central nuclear de Ascó, la densidad es de 64 vatios por cm 2, mientras en algunos microprocesadores actuales la densidad de potencia es ya su - perior a los 30 vatios por cm 2. Realmente, éste es un problema claro y una restricción más en el diseño de los procesadores de altas prestacio - nes del futuro. En la actualidad, existe una intensa investigación orientada a proponer técnicas para reducir esa potencia consumida.

Nuevas y futuras arquitecturas

En estos momentos, parece claro que la ley de Moore va a continuar du - rante al menos 15 años. Esto va a hacer que la tecnología CMOS conti - nuará siendo la usada prioritariamente para fabricar los microprocesado - res y memorias durante estos años. Por otra parte, no parece que haya una alternativa razonable para construir computadores de forma diferen - te a como se fabrican ahora. Eso no quiere decir que no haya temas de investigación orientados a mejorar aún más estos dispositivos. En el apar - tado anterior hemos descrito algunos retos asociados a la tecnología y a la complejidad de los procesadores. Hay otros asociados a cómo mejorar las arquitecturas presentes para poder utilizar al máximo los recursos hardware que, tal como hemos dicho, van a continuar siendo mejorados ostensiblemente durante los próximos años.

La gran mayoría de los computadores actuales pertenecen al grupo de procesadores superescalares tipo RISC, que además son capaces de eje - cutar las instrucciones en un orden diferente al que han entrado en el pi - peline del procesador. Por decirlo de una manera sencilla, una instrucción que ha entrado al pipeline, puede ser que no pueda ser ejecutada porque le falta algún operando que, a su vez, tiene que ser calculado por otra ins - trucción anterior de la que depende. En la tabla comparativa anterior, hay una línea que pone “Out of Order”. Pues bien, podemos ver que el pro - cesador de Sun (última columna) no posee esa particularidad, siendo un procesador superescalar en orden. Hay otros dos, los Itanium, que no eje - cutan las instrucciones fuera de orden, pero que pertenecen a otro tipo de procesadores denominados VLIW y que describiremos posteriormen - te. En los procesadores que ejecutan las instrucciones fuera de orden, ta - LOS COMPUTADORES, ESOS LOCOS CACHARROS 47 les como el IBM Power4 y el Intel Pentium4, el hardware es capaz de, diná - micamente, detectar qué instrucciones posteriores a las que tienen pro - blemas no dependen de éstas y entonces, las ejecutan antes que las ante - riores. Este mecanismo permite que el procesador no pare de ejecutar instrucciones cuando alguna instrucción tiene problemas, por ejemplo, una instrucción que lee un dato de memoria para ponerlo en un registro. La desventaja es que el hardware necesario para implementar esta política de ejecución fuera de orden, junto con otros mecanismos asociados para de - tectar y eliminar las dependencias no verdaderas entre instrucciones, es realmente caro y complejo y parece poco escalable en el sentido de que esta complejidad va en contra de las tecnologías futuras. Por otra parte, aunque el hardware de los procesadores está preparado para poder ini - ciar la ejecución de hasta 8 instrucciones como en el IBM Power4, la reali - dad es un poco descorazonadora. El número de instrucciones promedio que los procesadores realmente ejecutan depende del tipo de procesa - dor y del tipo de aplicaciones. En general, cuando los procesadores ejecu - tan aplicaciones numéricas, el número de instrucciones promedio puede estar alrededor de 2, pero cuando estos procesadores ejecutan aplicacio - nes de tipo bases de datos, este número cae hasta 1 instrucción ejecutada cada 4 o 5 ciclos del procesador, es decir, la eficiencia de los procesadores en este caso puede ser inferior al 5% de la máxima para la que el proce - sador se diseñó. La baja eficiencia de los procesadores es debido, tal co - mo hemos comentado anteriormente, a los problemas de latencia de la jerarquía de memoria y a las instrucciones de salto. Estos dos problemas hacen que no sea muy rentable diseñar procesadores superescalares que ejecutan las instrucciones fuera de orden, capaces de entrar más de 8 ins - trucciones al pipeline en cada ciclo.

Desde hace varios años, se viene investigando en técnicas alternativas a los procesadores fuera de orden. La idea es que el compilador genere el código máquina de forma que identifique qué instrucciones podrían ser lanzadas a ejecutar en el mismo ciclo, ya que tienen todos sus datos dis - ponibles y además, no existen dependencias entre estas instrucciones. A estos procesadores se les denominaVLIW (Very Long Instruction Word) pa - ra reflejar esa idea de que varias instrucciones independientes forman una macroinstrucción. Este tipo de procesamiento se materializó hace muchos años para el diseño de procesadores multimedia y en general procesado - res embedded (empotrados). Desde hace casi diez años, la idea fue acep - 48 MATEO VALERO CORTÉS tada como válida por Hewlett-Packard e Intel, para también diseñar procesadores de propósito general de muy altas prestaciones y que compitieran con los más rápidos del mundo. Desde hace dos años, am - bas compañías han introducido en el mercado la familia de procesado - res Itanium, de los que hay dos de ellos reflejados en la tabla compara - tiva que hemos descrito anteriormente. Este tipo de procesadores son hoy en día los más rápidos ejecutando aplicaciones numéricas, aunque existe una gran controversia en el mundo de la arquitectura de com - putadores acerca del futuro de esta nueva filosofía de diseño de los procesadores en los que el compilador y la arquitectura deben de co - laborar muy estrechamente para lograr hacer pipelines más sencillos y rápidos que, en definitiva, pueden llevar a procesadores más rápidos que los actuales.

Tal como hemos dicho, los procesadores superescalares actuales fuera de orden tienen un hardware interno que sería capaz de ejecutar entre 4 y 8 instrucciones por ciclo. Sin embargo, los problemas con la lentitud de la memoria y la no perfecta predicción de las instrucciones de salto, hace que su eficiencia sea mucho menor. Desde hace varios años, se es - tá investigando en procesadores que puedan estar ejecutando al mismo tiempo varios programas (Threads) de forma que se pueda utilizar el hardware al máximo. Se les denomina procesadores Multithreaded . La in - vestigación en la academia y empresa motivó a varias empresas a inten - tar llevar la idea al silicio. En estos momentos, ya podemos decir que el reciente procesador comercial Xeon de Intel, es un procesador que puede ejecutar 2 threads al mismo tiempo. No hay ninguna duda de que las otras compañías también tienen versiones multithreaded de sus pro - cesadores y que aparecerán en el mercado muy pronto. La tendencia será aumentar el número de threads para utilizar al máximo el hardware, hasta un límite en el cual, la competición por los recursos tales como la jerarquía de memoria haga que aumentar los threads signifique disminuir la velocidad global del procesador.

Un procesador multithreaded es capaz de ejecutar varios threads en pa - ralelo. Si cada thread corresponde a un programa independiente, es co - mo si tuviéramos un sistema multiprogramado clásico donde varios pro - cesos o programas se ejecutan al mismo tiempo. Esa situación puede ser muy frecuente hasta en sistemas como los computadores personales. LOS COMPUTADORES, ESOS LOCOS CACHARROS 49

Sin embargo, existe una gran investigación actual orientada a encontrar técnicas que permitan, a nivel de compilación, en tiempo de ejecución del programa o en técnicas combinadas, generar esos threads a partir de un único programa. No hay ninguna duda en decir que el reto es difícil, pero que resultados positivos en esa línea redundarían, directamente, en un aumento de la velocidad de ejecución de los programas. Hemos de remarcar que esta última técnica es una de las que permiten aumentar, de manera inteligente, el número de instrucciones pertenecientes a un mismo programa, que se ejecutan por ciclo de procesador. Hay otros campos muy activos para aumentar este número. Por ejemplo, desde hace seis años se está investigando en técnicas que intentan descubrir, dinámicamente, el resultado de las instrucciones antes de que se hayan ejecutado. Aunque parece un poco magia, los programas tienen estruc - turas repetitivas donde el hardware puede aprender conforme se va eje - cutando el programa. Esta repetitividad hizo posible que el concepto de la memoria caché fuera muy útil, y que se pudiera pensar en predecir el resultado de las instrucciones de salto.

A la izquierda se ve el edificio donde está el supercomputador más grande del mundo, el EARTH Simulator. Ocupa una superficie de 50 por 70 metros. A la derecha, una foto de algunos de los componentes del computador, que costa de más de 50.00 procesadores vectoriales.

Tal como dicen las predicciones de la ISA, dentro de diez años se po - drán construir chips con miles de millones de transistores. Los actuales ya tienen más de 200 millones de transistores. Un aprovechamiento na - tural de estos transistores es aumentar la complejidad del procesador y poner mucha más memoria dentro del chip para reducir los efectos ne - gativos de la jerarquía de memoria. Otro muy natural también, es usar 50 MATEO VALERO CORTÉS este número extraordinario de transistores para implement ar chips que posean más de un procesador y por lo tanto, podamos usar técnicas soft - ware de paralelismo para hacer que estos procesadores trabajen en la misma tarea. En la actualidad, IBM tiene en el mercado un chip que contie - ne dos procesadores Power4. Esta tendencia continuará de forma que en lo sucesivo será normal tener chips con un número reducido pero razo - nable de procesadores.

Más allá de la ley de Moore

Los avances en la integración de transistores en un chip han permiti - do durante los últimos cuarenta años que su número se haya duplica - do cada 18 meses. Estos avances tecnológicos han permitido a su vez, al arquitecto de computadores, diseñar pipelines agresivos que han si - do optimizados para que junto con la ayuda de los compiladores, se haya duplicado también la velocidad de los procesadores en el mismo intervalo de tiempo. Duplicar cada 18 meses, y hacerlo durante mu - chos años, ha llevado a situaciones tales como que cualquier procesa - dor de nuestros ordenadores personales sea más potente que todos los computadores que había en el mundo cuando el hombre llegó a la Luna. Sin embargo, esta tendencia no puede durar muchos años más tal como hemos indicado anteriormente. Se sabe que la ley de Moore tiene su fecha de caducidad en un tiempo no muy lejano e in - ferior a 25 años. A partir de ahí, la tecnología que ha dominado la fa - bricación de procesadores durante los últimos años habrá llegado a su fín en cuanto a permitir integrar más y más transistores por unidad de superficie. Nos dejará una historia de máquinas que han sido las que más han evolucionado en menos tiempo y que a su vez, han teni - do la mayor influencia en el avance de la humanidad. Cuando esto

A la izquierda, el chip de IBM, donde se ven dos procesadores idénticos IBM Power4, en la parte superior de la memoria, junto con las memorias caché de instrucciones y de datos de los niveles 1 y 2 de la jerarquía. A la derecha, una oblea de silicio de donde se obtienen los chips anteriores. LOS COMPUTADORES, ESOS LOCOS CACHARROS 51 ocurra, los procesadores serán capaces de ejecutar las aplicaciones a una velocidad increíble. Satisfarán con un solo procesador, la mayoría de las necesidades de cálculo de la mayoría de los humanos. Este po - der de miniaturización ha permitido fabricar computadores con los que jamás se había soñado pocos años atrás. Durante los próximos 25 años, la tendencia continuará. Por otra parte, las velocidades para las comunicaciones de cualquier tipo han seguido la misma tendencia. La unión de ambas técnicas permitirá la existencia de computadores minúsculos y potentísimos conectados a grandes velocidades. Cual - quiera de los millones de objetos que pueblan el planeta, podrán ser dotados de una capacidad de decisión y comunicación entre ellos que cambiarán totalmente la manera en que vivimos. La persona humana no escapará a este fenómeno. Nuestros cuerpos contendrán externa - mente un cierto número de procesadores que nos harán relacionar - nos con el entorno próximo y lejano de manera muy distinta a la limi - tada capacidad actual.

Pero no sólo existe la posibilidad de tener sólo un procesador ejecu - tando los programas. Desde el comienzo de los computadores, se te - nía claro que la tecnología permitiría algún día construir sistemas que tuvieran varios procesadores de forma que se pudieran programar para que todos ellos ejecutaran partes de un mismo programa y por lo tanto, se aumentara la velocidad de cálculo. A nivel práctico, hace más de 30 años que se empezaron a construir este tipo de máquinas, para resolver aplicaciones provenientes de aplicaciones militares y de la ingeniería. Actualmente, existen máquinas que contienen más de 10.000 procesadores y se están diseñando otras, como el computa - dor Blue Gene de IBM, que van a tener 1 millón de procesadores y que va a superar la velocidad del Petaflop/s, es decir, más de 10 eleva - do a 15 operaciones sobre números reales codificados en 64 o 128 bits. La enorme potencia de este computador se dedicará a simular cómo se pliegan las proteinas. Si somos capaces de que un millón de procesadores trabajen 1 millón de veces más rápido que uno, podría - mos decir que es como si la ley de Moore hubiera sido válida duran - te 30 años más. Para ello, hemos de pensar que 30 años es 20 veces 18 meses que es el tiempo que se necesita para duplicar la velocidad de un procesador y que 2 elevado a 20 es 1 millón aproximadamen - te. Las técnicas de paralelismo se han servido de la ley de Moore pa - 52 MATEO VALERO CORTÉS ra potenciarla aún más. El computador más rápido en la actualidad es un sistema japonés que posee 5.120 procesadores vectoriales que van cada uno, a una velocidad de 8 Gigaflops/s. En total, van a una ve - locidad punta de más de 40 Teraflops/s. Se dedica a ejecutar un mo - delo que simula la tierra, mar y aire a nivel global. Estos supercompu - tadores permiten ahora ejecutar en 5 segundos, programas que hace 20 años necesitaban un año entero. Como se ve, el paralelismo ha si - do un factor amplificador de la ley de Moore.

Antes de acabar, queremos hacer alguna mención a trabajos de inves - tigación orientados a mejorar las máquinas actuales mediante el uso de tecnologías diferentes o a hacer algunos tipos de cálculo usando otras técnicas de computación. Al primer grupo pertenecen trabajos tales como los que proponen el uso de moléculas para implementar la memoria de los procesadores. Anteriormente hemos comentado que los discos actuales usan técnicas de grabación que permiten ob - tener densidades que en la actualidad están alrededor de 30 gigabits por cada pulgada al cuadrado. Se espera que una mejora de estas téc - nicas permitan obtener densidades cercanas a los 100 gigabits por pulgada al cuadrado, que es unas tres veces más que en la actualidad. También se está trabajando en técnicas de holografía que permitan aumentar esas densidades hasta llegar a entre 100 y 10.000 gigabits por pulgada al cuadrado. Pues bien, en julio de 1999 apareció en Science una publicación que demostraba que moléculas como la Ro - taxane podían ser usadas para ser grabadas como las memorias de sólo lectura. El trabajo había sido realizado por investigadores de UCLA y de Hewlett-Packard. En la misma revista y en diciembre del mismo año, investigadores de Rice y Yale habían mejorado el diseño anterior y permitían que la molécula pudiera estar en dos estados di - ferentes, por lo que se puede implementar el concepto de memoria de un bit de manera análoga a como se realiza ahora con la tecnolo - gía electrónica. Tengamos en cuenta que son trabajos preliminares y que queda muchísimo para saber si será factible o no usar las molé - culas para memorizar bits. Si eso se consigue, tendremos sistemas de memorización que permitirían unas densidades de integración un mi - llón de veces superiores a las actuales. También se está intentando usar esta tecnología para fabricar puertas lógicas, multiplicadores y osciladores. LOS COMPUTADORES, ESOS LOCOS CACHARROS 53

A la izquierda, una representación de la molécula Rotaxane. A la derecha, una molécula de ADN.

A veces se habla de computadores que podrían hacerse usando el ADN. Hay un gran número de investigaciones en este campo. La molécula de ADN es estable, permite replicación y una serie de operaciones básicas que la hacen apta para realizar algún tipo de computaciones. Existen técnicas pa - ra separar, cortar, unir, replicar y encadenar hebras de ADN. Con todas estas propiedades, L. Adleman demostró en 1994 que se podía programar y re - solver, usando ADN, el problema de optimización denominado el del viajan - te de comercio. En su enunciado más sencillo, se puede ver el problema co - mo que dadas n ciudades y un coste para ir entre ellas, hay que encontrar el camino que permite visitar todas ellas una vez con la condición de que el coste sea mínimo. Éste es un problema que tiene una complejidad muy grande conforme aumentamos el número de ciudades a visitar. Una progra - mación y solución usando el ADN, permitió un paralelismo enorme y resol - ver el problema para casi cualquier número de ciudades. Indudablemente, la investigación en este campo es muy importante y parece ser que se podrán llegar a resolver algunos pocos problemas de manera más eficiente que usando las técnicas de paralelismo de los computadores actuales. Nadie hoy en día ve un futuro en el que estas técnicas sustituyan a las actuales.

Por último, hemos comentado al hablar del nivel de integración que al reducir el número de átomos que se emplean para fabricar transisto - res, se llegará a un tamaño en el que la física cuántica tomará el relevo para fabricar chips. Hay algunos investigadores que piensan que se po - drá seguir fabricando transistores usando muy pocos átomos. Los estu - dios más optimistas recientes, indican que, como mínimo, se necesitarán entre 5 y 10 átomos en una dimensión, para poder fabricar transisto - res. Esto equivaldría a una precisión de entre 2,5 y 5 nanómetros, toda - vía muy alejada del actual valor de 130. Parece ser que la única posibili - dad futura de realizar computadores superrápidos, totalmente distintos 54 MATEO VALERO CORTÉS a los actuales, está en el campo de la Mecánica Cuántica. Frente a los actuales computadores que se basan en la lógica binaria, los futuros computadores cuánticos se basarán en una lógica basada en la incerti - dumbre cuántica. De hecho, los dos estados que definen el bit cuánti - co, denominado qubit, son combinaciones del 1 y del 0 respectiva - mente. Los futuristas computadores cuánticos obtendrán sus beneficios de propiedades cuánticas tales como incertidumbre, super - posición y coherencia. En la actualidad, ya se conoce la enorme poten - cia de estos computadores para factorizar grandes números con el objetivo de descifrar códigos, realizar comunicaciones con una seguri - dad total y para ejecutar algoritmos complejos de búsqueda. ¿Serán realidad algún día? ¿Podrá sustituir a los actuales en todas las tareas que hoy están haciendo?