Ordenador

Una máquina con el programa en memoria

Fecha
1948
Época
Época moderna
Etapa
V Era eléctrica
Dificultad

Lámina

Leyenda
  1. 1Bastidores de válvulas de vacío
  2. 2Tubo de memoria catódico: un punto por bit
  3. 3Panel de interruptores para introducir datos
  4. 4Teleimpresor y cinta perforada
  5. 5Relé: un interruptor movido por un electroimán
  6. 6Válvula de vacío: su rejilla gobierna la corriente
  7. 7Transistor: el interruptor de semiconductor

Anatomía

Cargando la figura…

Un ordenador es una máquina de calcular programable; el modelo actual guarda su programa en su propia memoria y calcula en binario, con interruptores que solo están encendidos o apagados. El primero que ejecutó un programa desde una memoria electrónica fue el «Baby» de Mánchester, el 21 de junio de 1948, y móviles y portátiles siguen todavía su esquema.

Qué es

Un ordenador ejecuta un programa, una lista de instrucciones, sobre unos datos. En el diseño de programa almacenado que se describe aquí, el programa está en la misma memoria que los números con los que trabaja, así que la máquina puede cargar uno nuevo, cambiarlo o escribir otro sin que haya que reconstruirla. Esa idea distingue el ordenador de programa almacenado de las máquinas programables anteriores, que tomaban sus instrucciones de cintas, tarjetas, clavijas o interruptores.

Los ordenadores actuales trabajan en binario, solo con las cifras 0 y 1, porque dos estados son fáciles de hacer fiables: un interruptor está abierto o cerrado. El ENIAC y algunas otras máquinas antiguas aún contaban en decimal. Para una sociedad que reconstruye sus herramientas, calcula, controla máquinas como bombas y redes eléctricas y transmite mensajes.

Cómo funciona

Los números binarios. El binario es un sistema posicional como nuestras cifras decimales, pero cada posición vale el doble que la de su derecha: 1, 2, 4, 8, 16. Trece es 8 + 4 + 1 y se escribe 1101. Ocho cifras binarias, o bits, bastan para todos los enteros de 0 a 255.

Dos circuitos con pila y bombilla: dos pulsadores en serie a la izquierda y dos en paralelo a la derecha En serie, la bombilla solo se enciende si se pulsan los dos; en paralelo, basta con uno.

Las puertas lógicas. Dos interruptores en serie solo encienden una lámpara si ambos están cerrados: es una puerta Y. En paralelo basta cualquiera de ellos: una puerta O. Un relé cuyo contacto se abre cuando su bobina recibe corriente forma una puerta NO, que convierte el 1 en 0. Al relé lo mueve un electroimán; a la válvula de vacío, la tensión de su rejilla; al transistor, la señal de su base o de su puerta. Con Y, O y NO se puede expresar cualquier regla que lleve de unos bits de entrada a unos bits de salida.

Sumar con puertas. En binario, 1 + 1 da 10: suma 0 y acarreo 1. El bit de suma vale 1 cuando exactamente una entrada vale 1, una regla llamada O exclusiva (XOR); el acarreo solo vale 1 si las dos valen 1, que es una Y. Juntas forman un semisumador. Un sumador completo recibe además el acarreo de la columna de la derecha, y ocho en cadena suman dos números de 8 bits, columna a columna, como un escolar en su cuaderno.

La memoria. Dos puertas NO-O (una O seguida de una NO), en las que cada salida alimenta una entrada de la otra, forman un biestable: un impulso en una de las entradas libres lo pone a 1, un impulso en la otra lo devuelve a 0, y guarda ese bit mientras haya corriente. Mánchester guardaba los bits como puntos cargados en un tubo catódico, y el EDSAC como pulsos de sonido en tubos de mercurio. Cada palabra, un grupo de bits, lleva un número, su dirección.

El ciclo. Un registro, el contador de programa, contiene la dirección de la instrucción siguiente. El procesador la busca, la descodifica, la ejecuta y vuelve a empezar. Una instrucción puede sumar un número de la memoria al acumulador, guardar un resultado o saltar a otro sitio si un valor es negativo; ese salto condicional permite al programa repetir y elegir. Teclados y sensores meten los datos; pantallas, impresoras y motores sacan los resultados.

Cómo construirlo

Un procesador moderno exige una fábrica de chips, pero su lógica se aprende sobre una mesa.

Una placa de prototipos con dos interruptores deslizantes que encienden cada uno un LED a través de una resistencia, alimentada por un portapilas Pruebe primero cada interruptor con su LED; un LED necesita siempre una resistencia en serie.

Reunir el material. Una placa de prototipos sin soldadura, dos o tres pilas AA en un portapilas (de 3 a 4,5 V) o una fuente USB de 5 V, dos conmutadores de dos polos, dos LED, dos resistencias de 330 a 470 ohmios y cable. Cada LED se monta con la pata larga (ánodo) hacia el conmutador y la corta (cátodo) a 0 V. Escriba primero la tabla de verdad: para las entradas A B = 00, 01, 10, 11, la suma es 0, 1, 1, 0 y el acarreo 0, 0, 0, 1.

Cablear el acarreo. Lleve la alimentación al común del primer polo de A, su contacto «encendido» al común del primer polo de B, y ese contacto «encendido» a un LED a través de una resistencia; la otra pata del LED vuelve a 0 V. Solo se enciende con 11: es la Y.

Cablear la suma. En los segundos polos, una el contacto «encendido» de A con el contacto «apagado» de B, y el «apagado» de A con el «encendido» de B. Alimente el común de A y lleve el común de B al segundo LED a través de una resistencia, con el cátodo a 0 V. Se enciende cuando los conmutadores están en posiciones distintas: es el XOR. Compruebe los cuatro casos con la tabla.

Encadenar un sumador mayor. Un sumador completo son dos semisumadores y una puerta O que reúne sus acarreos. A partir de aquí resultan más cómodos los circuitos lógicos: un sumador de 4 bits necesita dos 74HC86 (XOR), dos 74HC08 (Y) y un 74HC32 (O). Aliméntelos como indica la hoja de datos (patilla 14 al positivo, patilla 7 a 0 V y un condensador de 100 nF entre ambas). Cada acarreo de salida entra en la columna siguiente y el primer acarreo de entrada va a 0 V; cada entrada de conmutador lleva una resistencia de 10 kilohmios a 0 V, y cada LED de salida una de 1 kilohmio.

Hacer funcionar un ordenador en papel. Dibuje ocho casillas de memoria numeradas, un acumulador y un contador de programa a 0. Escriba CARGA 5 en la casilla 0, SUMA 6 en la 1, GUARDA 7 en la 2, ALTO en la 3, y luego 3 en la casilla 5 y 4 en la 6. Haga de procesador: lea la casilla que señala el contador, ejecútela y súmele uno al contador. La casilla 7 acaba conteniendo 7. Codifique ahora cada instrucción con dos cifras, primero la operación y luego la dirección, con CARGA 1, SUMA 2, GUARDA 3 y ALTO 0: el programa se convierte en 15, 26, 37, 00, números entre los datos.

Seguridad. Solo pilas o una fuente USB de 5 V, nunca la red eléctrica. Cada LED necesita su resistencia. Una pila o una batería externa en cortocircuito puede calentar sus cables hasta quemar. Desconecte la alimentación antes de recablear. La salida de un chip no puede alimentar la bobina de un relé: gobiérnela con un transistor adecuado a su corriente y ponga un diodo en paralelo con ella, con el extremo marcado con una franja (el cátodo) hacia el positivo, para absorber el pico de tensión al desconectarla.

Historia y evolución

Boceto simplificado de la pieza de demostración en latón de la máquina diferencial de Babbage: columnas de ruedas entre pilares Boceto simplificado de la parte de su primera máquina diferencial, una séptima, que Babbage hizo montar en 1832; todavía funciona.

La máquina analítica de Charles Babbage, concebida en 1834, tenía un almacén, un molino para el cálculo y un programa en tarjetas perforadas; nunca llegó a construirse. Ada Lovelace publicó en 1843 una secuencia de operaciones para ella. Las tabuladoras eléctricas de tarjetas de Herman Hollerith contaron el censo de Estados Unidos de 1890.

En 1936 Alan Turing describió una máquina universal que lee sus instrucciones en la misma cinta que sus datos. Konrad Zuse presentó en Berlín su Z3 de relés el 12 de mayo de 1941. Desde febrero de 1944, el Colossus electrónico de Tommy Flowers ayudó a romper el cifrado alemán Lorenz en Bletchley Park; siguió siendo secreto hasta los años setenta. El ENIAC de J. Presper Eckert y John Mauchly, en Filadelfia, presentado en 1946, era de uso general, pero se programaba cambiando cables de sitio. Cada uno puede reclamar el primer puesto, según se exija electrónica, uso general o programa almacenado.

El informe de John von Neumann sobre el EDVAC, de 1945, fruto del trabajo con Eckert, Mauchly y otros, describía una máquina que guardaba programa y datos en una sola memoria. La primera en funcionar fue el «Baby» de Mánchester, de Frederic Williams, Tom Kilburn y Geoff Tootill, el 21 de junio de 1948. El EDSAC de Maurice Wilkes, en Cambridge, lo siguió el 6 de mayo de 1949 y pronto dio servicio a sus usuarios.

Mánchester hizo funcionar un ordenador de transistores en noviembre de 1953. Los circuitos integrados, fabricados por primera vez en 1958, entraron en los ordenadores en los años sesenta y, en 1971, el 4004 de Intel puso un procesador entero en un solo chip.


Escribe un nombre, una fecha, un material, un ámbito…