Regístrate | Conectar
El Tamiz Libros Recursos Series Únete 13 Users Online
Skip to content

Computador Mágico – Anexo B: Sobre las ferritas y otras memorias de ordenador obsoletas




La serie “El computador mágico” está disponible también en forma de libro.

Como sabéis, J está escribiendo una magnífica serie sobre cómo construir un computador (lo que yo siempre ha llamado un ordenador, que al fin y al cabo yo soy de los que estudió francés como “Idioma Moderno” en mi lejanísimo Bachillerato). Lo está haciendo según una aproximación “bottom-up”, es decir, desde sus componentes más fundamentales (transistores, unidades de memoria, etc), hasta llegar, algún día, a su Sistema Operativo, sus Aplicaciones, etc.

En este camino nos ha hablado ya de cómo se construyen los bloques de memoria, los biestables, que son capaces de almacenar un bit de información: un cero o un uno, dependiendo de que su salida tenga un determinado voltaje o no, y cómo construir memorias de ordenador con ellos. Y yo, a pesar de llevar 40 años en la profesión, estoy disfrutando como un enano con sus explicaciones… ¡y aprendiendo!

Sí, sí, aprendiendo. A mí nadie me explicó estas cosas en mi lejana Carrera, en aquellas asignaturas de “Informática Básica” que se daban en Primero y Segundo de Carrera, la que empecé en 1972… Y no me las explicó nadie simplemente porque muchas no estaban inventadas, o, al menos, los ordenadores que entonces existían todavía no usaban biestables ni transistores ni nada de lo que se usa hoy en día para almacenar los bits. La escasa y carísima memoria principal de los ordenadores de entonces era de ferritas. Y ésas sí que me las explicaron, con pelos y señales… Supongo que la gran mayoría de vosotros, jóvenes lectores, ni siquiera habéis oído hablar de que hubiera algo llamado “ferrita” que funcionaba como memoria de ordenador.

Entonces, como J acaba de hablar de registros y memoria, dedicaremos este artículo, dentro de su serie de Computador Mágico, a hacer arqueología informática: explicar cómo funcionaban esas memorias de ferrita que dominaron la tecnología de los computadores durante veinte años, y sin las cuales, os lo aseguro, no se entendería el estado actual de la informática.

Única foto conocida de Colossus. Dominio Público.

Seguramente el primer ordenador que merece tal nombre que fue construido fue Colossus, el monstruo que los aliados construyeron hacia 1941-42 en Bletchley Park para descifrar el código Enigma alemán durante la Segunda Guerra Mundial. Fue un ordenador construido con un propósito específico, es decir, su programación estaba cableada en su hardware, toneladas y toneladas de relés y válvulas de vacío, en el que se plasmaron a base de soldador y estaño los descubrimientos de un equipo de matemáticos y criptógrafos entre los que destaca el gran Alan Turing. Gracias a ellos y a su obra, Colossus, los aliados leían las comunicaciones Top Secret del Alto Estado Mayor Alemán como si las publicaran en la prensa. Y al final ganaron la Guerra.

Por ejemplo, en la batalla de Kursk del verano de 1943, la mayor batalla de tanques de la historia, todo era favorable para que el ejército alemán aplastase al ejército soviético. Tenía casi tantos tanques como los soviéticos, pero de mucha mejor calidad, uno de los mejores comandantes de la toda la guerra, Erich von Manstein, apoyo aéreo, mejores tácticas… pero resulta que cada bien dirigida operación de ruptura se encontraba con una feroz resistencia de blindados y antitanques… Parecía como si los soviéticos supieran de antemano los planes exactos de la Wehrmacht, dónde, cuándo y con qué fuerza iban a atacar, y se anticipasen a todos ellos… pero eso no era posible, ya que el código Enigma era absolutamente indescifrable… ¿verdad?

En fin: no queda nada de Colossus. Declarado super-mega-hiper-alto-secreto por el Alto Mando aliado, sus especificaciones fueron destruidas junto con el propio Colossus al poco de acabar la guerra y sólo muchos años después el mundo se enteró de su existencia. Indigno final para, seguramente, el arma más valiosa que se usó en toda la Guerra. E indigno final para el hombre, Alan Turing, que más hizo para que hoy la lingua franca del mundo mundial sea el inglés, y no el alemán…

Tras Colossus, el primer ordenador que se construyó (y el que siempre sale primero en el ranking) es ENIAC, a fines de los años cuarenta: 30 toneladas de más relés y más válvulas de vacío para construir una máquina que ya sabía las cuatro reglas, hacer raíces cuadradas y que tenía nada menos que 10 acumuladores (memorias) donde era capaz de guardar datos para usarlos después. Un avance tremendo… pero estaba bastante claro que 30 toneladas de material y un consumo de chorrocientos megavatios para solamente sumar y restar no eran buen negocio.

Entonces, a principios de los años 50, se comenzó a usar memorias de ferrita en los incipientes ordenadores de la época… y fueron estas memorias de ferrita las que cambiaron el mundo, pues tenían ya un tamaño y velocidad de conmutación suficientes como para almacenar datos e instrucciones que permitieran resolver problemas reales del mundo real: una nómina, una contabilidad, o también controlar las cápsulas Apolo que cierta vez, hace mucho tiempo, llevaron al hombre a la Luna.

¿Qué son y en qué se basan las memorias de ferrita?

Una ferrita es un anillo (un toro o toroide, en términos técnico) de ferrita, un material ferromagnético que tiene una curiosa propiedad: una vez imantado, es decir, inducido un campo magnético en él, es capaz de mantenerlo indefinidamente. Además, como es un toro (un anillo, un donut…), puede estar imantado de dos formas diferentes: con el campo magnético girando en un sentido… o en el contrario.

Una ferrita, imantada de una u otra forma.

Veamos: tenemos un material que puede estar imantado en un sentido o en el otro, y que, una vez imantado, mantiene su campo magnético sin necesidad de más aporte de energía… ¡ Es perfecto para construir una memoria de ordenador con él! Efectivamente, basta con llamar “0” a un sentido del campo y “1” al otro sentido, y ya tenemos un soporte capaz de representar un bit, y además, como la imantación se mantiene en ausencia de corriente eléctrica, es un bit permanente, que es capaz de mantener su estado durante largo tiempo.

En fin, es perfecto. Hasta aquí, de acuerdo.

Sólo queda un pequeño detalle: ¿cómo demonios le ponemos un cero o un uno?, ¿cómo leemos, cuando nos haga falta, si un bit determinado tiene un cero o un uno? Y, sobre todo, ¿cómo hacemos todo esto en muchos bits a la vez…? Porque, claro, cuando una memoria tiene 4KB, 16KB, o incluso nada menos que ¡64KB!, son muchísimos bits que hay que leer y escribir en el menor tiempo posible: 64KB son nada menos que 524.288 bits, o sea, más de medio millón de anillitos de ferrita… y gestionar correctamente tanto anillito es muy complicado.

Veamos cómo se hacía tal cosa.

En primer lugar, para generar el campo magnético en un sentido o en otro, basta con un cable enhebrado en el anillo tal que, cuando hacemos circular corriente de una cierta intensidad por él en un sentido, induce un campo magnético en el anillo en una cierta dirección; mientras que si la corriente, siempre con la intensidad suficiente, la hacemos circular en el sentido contrario, el campo magnético se induce también en la dirección contraria. Es el llamado hilo de escritura.

La siguiente imagen nos da una idea del procedimiento.

Ferrita con un cable de escritura. Dependiendo de la dirección de la corriente que circula por el cable, así se imanta en un sentido u otro.

Ya sabemos cómo poner un cero o un uno, según hagamos que la corriente vaya en un sentido o en el otro, y por tanto que la ferrita se imante girando en el sentido de las agujas del reloj o en el contrario. Naturalmente, en ausencia de corriente, la ferrita, el anillito, se queda imantado con el campo magnético orientado en la dirección que le marcó la última vez que hubo corriente en el cable. En cualquier caso, fijaos que he dicho dos veces “una corriente de la intensidad suficiente”, y esto es importante: si la corriente no alcanza esa intensidad mínima, la ferrita se resiste con uñas y dientes a cambiar de sentido de magnetización. Esto es debido a que las ferritas se fabrican con un determinado ciclo de histéresis que maximiza este efecto de resistencia al cambio. ¿He dicho… Histéresis?

La Histéresis (inercia, retardo, en griego clásico) es precisamente el fenómeno por el que un material ferromagnético (como nuestra ferrita, sin ir más lejos) mantiene su magnetización, y en la misma dirección del campo, en ausencia de un campo magnético (o eléctrico, que ya sabéis que son lo mismo). En la figura siguiente se ve cómo es un ciclo de histéresis prototípica.

Aplicado un cierto campo magnético H, se produce una magnetización M en el material. Así, a una intensidad de campo H0 le corresponde una magnetización M0. Si aumentamos la intensidad de H hasta H1, ahora le corresponde una magnetización M1. Pero si ahora volvemos a un campo H0, la magnetización que le correspondería no es ya M0, sino una diferente, M2. ¡El camino de vuelta no es el mismo que el de ida! En fin, en ausencia de campo magnético, el material mantiene una imantación remanente Mr: se ha convertido en un imán. Si el campo ahora se invierte, se hace negativo, el material tiene una resistencia a cambiar su magnetización, hasta que el campo no alcanza una cierta intensidad negativa Hn no se produce el cambio (brusco) del sentido en la imantación. La forma concreta del ciclo, si es más achatada o más cuadrada, depende del material: los hay más “duros”, que les cuesta más (más intensidad, en realidad) cambiar de estado, y los hay más “blandos”.

En concreto, mirando el ciclo anterior, vemos que la intensidad del campo magnético necesaria para que nuestra pobre ferrita cambie de estado sería relativamente pequeña. Lo que nos interesa es asegurar que la ferrita sólo cambie (bruscamente) de orientación en su magnetización cuando el campo magnético (eléctrico) sea de una intensidad apreciable, por lo que las ferritas se fabricaban con materiales cuyo ciclo de histéresis es más bien el siguiente, un poco exagerado para que se comprenda bien:

Ciclo de Histéresis de un material “duro”, como una ferrita

Ahora, la resistencia del material a cambiar de estado es mucho mayor: sólo una intensidad relativamente grande, H1 (o negativa, H2) es capaz de hacer cambiar su sentido de magnetización; cualquier intensidad de campo intermedia es olímpicamente ignorada por nuestra ferrita, que sigue plácidamente en su estado actual (1 ó 0). Pero cuando se le aplica por fin un campo de la intensidad adecuada o mayor, su imantación cambia rápidamente, en microsegundos, o incluso menos, de sentido.

De hecho, en las últimas generaciones de ferritas ese ciclo se medía ya en algún centenar de nanosegundos, mucho tiempo si lo comparamos con las memorias actuales, pero poco, poquísimo, en la época.

.

Ahora que ya sabemos por qué la ferrita se comporta como se comporta, veamos la cacharrería necesaria para convertir un simple adminículo curioso en un auténtico bit de nuestra memoria de ordenador.

Bien, ya sabíamos cómo escribir un cero o un uno en una ferrita: enhebrando un simple cable y haciendo circular por él una corriente de una intensidad suficiente para vencer el ciclo de histéresis de la ferrita: según la dirección de la corriente, así se magnetizará la ferrita en un sentido o en el otro.

Pero con escribir no es suficiente, claro: es necesario también poder leer a voluntad lo que hemos almacenado… si no, ya me diréis para qué valdría todo esto.

La forma de conocer en qué sentido está imantada nuestra ferrita es obligarla a que induzca una corriente en un hilo (en otro hilo diferente del ya conocido hilo de escritura), que llamaremos hilo de lectura.

Ferrita, con un cable de escritura y otro de lectura

En principio hay dos modos de conseguir que un campo magnético induzca una corriente en un hilo: hacer que se mueva el campo (o sea, moviendo el anillo, agitándolo o algo así), o forzarle a que cambie su magnetización. Estaréis de acuerdo conmigo que lo de menear las ferritas para leerlas no es una alternativa seria a considerar, así que sólo queda la segunda opción: hacer cambiar el valor del campo. Y ¿cómo se hace eso? Fácil: escribiendo, por ejemplo, un cero mediante nuestro ínclito cable de escritura.

Efectivamente, se activa el cable de escritura para escribir un cero, y entonces, si la ferrita estaba ya en estado cero, su valor de campo magnético no cambia, y el cable de lectura no registra nada (en realidad sí registra una corriente de intensidad muy pequeña, que se ignora), mientras que si estaba en estado 1, al cambiar su valor a 0 induce un campo eléctrico (también relativamente pequeño, pero mucho mayor que el de antes) en el hilo de lectura, que es posible detectar para reconocer la existencia de ese “1”. Es decir, si el cable de lectura registra una cierta corriente, es que nuestra ferrita tenía un uno; si no la detecta, es que tenía un cero. Fácil.

Este cable de lectura se enhebra en una dirección diferente (generalmente con un ángulo de 45º) que la del cable de escritura, para evitar en lo posible inducciones directas entre ellos, pues, en el momento de la detección, el propio cable de escritura tiene corriente, así que hay que evitar que se interfieran entre sí.

En definitiva, ya no sólo sabemos escribir, sino también leer nuestra ferrita. ¿Y ya está?

Pues no, en absoluto. Aún queda mucho trabajo que hacer para conseguir un tinglado viable. Sigamos.

Vale, ya sabemos si la ferrita tenía un cero o un uno… pero no sé si os habréis dado cuenta de que este sistema de lectura muy sutil, precisamente, no es: tras la lectura, hemos dejado la ferrita sí o sí en estado 0, tuviera lo que tuviera antes. A este tipo de lectura se le denomina “lectura destructiva”, por razones obvias, y no es eso precisamente lo que deseamos, al menos en la gran mayoría de ocasiones, así que no hay más remedio que recuperar el valor correcto del bit tras la lectura. Pero esto en realidad no es tan grave como parece: basta con realimentar, a partir del valor del propio hilo de lectura debidamente amplificado, el hilo de escritura, de tal manera que si la ferrita cambió su estado (de 1 a 0) e indujo una corriente en el hilo de lectura, al amplificarla y enviarla nuevamente (en el sentido correcto) por el hilo de escritura obligará nuevamente a la ferrita a cambiar a su estado original a 1, mientras que si no se registró casi corriente en el hilo de lectura, aun amplificada no llega a la intensidad necesaria para cambiar de estado la ferrita, debido al ciclo de histéresis tan cuadrado que tiene.

Y yastá, ahora sí. Así de simple; ya tenemos una ferrita que representa un bit de información…

Bueno, no, claro, sigue sin estar. Porque una ferrita sola probablemente no sirva para nada: necesitamos miles para poder hacer con ellas algo que sirva para algo. Una mísera Ka de memoria necesita 8.192 ferritas (1.024 bytes por 8 bits cada uno), y con el diseño anterior necesitaría de 16.384 circuitos eléctricos para controlarla. No sé a vosotros, pero, a mí, muchos me parecen. Y a los diseñadores de memorias de los años 50 y 60, también. Porque no sólo es que 16.000 cables fueran muchos cables; es que cada circuito estaba controlado en la época no por transistores, claro, que aún no estaban en producción (ni casi inventados), sino por los elementos que entonces había: diodos, triodos, válvulas de vacío… y no sólo eran caros y ocupaban mucho espacio, sino que consumían cantidades ingentes de energía y disipaban un calor enorme. Había que reducir su número de forma dramática.

Así que hay que seguir pensando para poder controlar no una ferrita sola, sino muchos miles de ellas, de una forma practicable, es decir, reduciendo todo lo posible toda la parafernalia asociada: cableado y circuitos de control. Veamos cómo resolvieron aquellos ingeniosos ingenieros estos pequeños problemillas…

En primer lugar, si nos damos cuenta, los hilos de lectura se pueden reutilizar, enhebrando el mismo hilo (con el mismo circuito) en todas las ferritas de la misma posición relativa en cada palabra. Es decir, si la palabra es de 16 bits, bastará con 16 cables que lean cada uno de ellos el mismo bit de todas las palabras. Como la lectura se hace por palabras, es decir, por conjuntos de ferritas (normalmente 16 o 32, según los sistemas) la circuitería de control de lectura sabe interpretar la corriente que le llega por el cable de lectura y asignarla a la dirección de la palabra concreta que está siendo leída en ese momento (y restaurada después, claro). Como la corriente inducida en estos hilos de lectura es mucho menor de la necesaria para conmutar otro anillo, esta solución es factible y ahorra mucha circuitería. Sigamos.

.

Para seguir la explicación, vamos ahora a olvidarnos de momento del cable de lectura, ése que está enhebrado en ángulo de 45º con el de escritura… está ahí, siempre está ahí, pero como su función está clara vamos a eliminarlo por un rato para no liar más las cosas… ya lo recuperaremos más adelante.

Bien: lo siguiente que se nos ocurre es que podríamos enhebrar todas las ferritas de cada palabra (las 16, si la palabra fuera de 16 bits) con un solo cable de escritura.

Como consecuencia, ahora tenemos una organización bidimensional, y el número de cables necesarios se ha reducido muchísimo. Ahora, para leer una palabra, simplemente se activa el cable de escritura de la palabra para ponerlas a cero, todas las ferritas que están en estado 1 cambian a estado 0, induciendo una corriente en el correspondiente cable de lectura, mientras que las que estaban ya a 0 no cambian. Así se pueden leer simultáneamente los 16 cables de lectura para obtener el contenido de la palabra… pero, claro, este sistema sólo sirve para leer, no para escribir, pues sólo sabría poner ceros o unos, según el sentido de la corriente, en todos los bits de la palabra a la vez, y eso no nos sirve. ¿Habría algún sistema para poder poner unos bits a cero y otros a uno según nuestra conveniencia…? Sí, lo hay.

Y ese sistema es, en realidad, muy simple: en lugar de enhebrar cada ferrita con un cable de escritura, lo enhebraremos con dos cables, perpendiculares entre sí, y transversales, no lo olvidemos, al de lectura.

Panel de ferritas en una organización 2D

La intensidad de la corriente que se introduce ahora por cada uno de los dos cables es tal que, por sí sola, no es capaz de vencer la resistencia del ciclo de histéresis de la ferrita, pero ambas combinadas sí lo son. Ahora, para poner un determinado bit a 1 (o a 0), basta con enviar esa media-corriente por ambos hilos: el horizontal (el de palabra) y el vertical (el de bit). De hecho, es posible escribir simultáneamente la palabra completa, siempre que todos los bits estén previamente a 0, metiendo corriente por el hilo de palabra y simultáneamente metiendo corriente sólo por los hilos de bit que se desean poner a 1. En el caso de la reescritura necesaria para devolver a los anillos los valores originales que una lectura destructiva anterior hubiese puesto a 0, ya se cumple la condición previa (precisamente que todos los bits estén a 0). Si lo que se desea es escribir un valor en la memoria independientemente del valor que hubiera (lo que los informáticos de toda laya llamamos “machacar” la información), antes de hacer este proceso habría que borrar los valores preexistentes, poniendo todos los bits a cero, para lo cual se mete corriente en el sentido adecuado por todos los cables de bit además de por el cable de la palabra involucrada.

Naturalmente, se accede sólo a una palabra cada vez: la palabra es el elemento básico al que se accede en aquellos ordenadores (y en los de ahora). Así, tanto para leer como para escribir una palabra, se activa en el sentido adecuado la media-corriente por el hilo de la palabra a que nos referimos, y los hilos de bit adecuados, también en el sentido adecuado. Sólo en aquellas ferritas donde coincidan las medias-corrientes de ambos hilos (el horizontal y el vertical) el campo tendrá intensidad suficiente para cambiar el estado de imantación de la ferrita. En todo el resto de casos, es decir, todo el resto de palabras (al no estar activado su hilo de palabra, no recibirá nunca suficiente intensidad), igual que los bits que no deban ser activados, no tendrán suficiente chicha como para cambiar de estado.

En la ilustración siguiente puede verse este proceso: todos los bits de la tercera palabra estaban a cero; al meter corriente por el hilo de palabra (el verde) y por los hilos de los bits 1, 4 y 5, sólo se ponen a uno aquellos bits en que coinciden ambos hilos activados; el resto (y todo el resto del panel) continúan sin cambios.

Método de escritura de bits en la organización 2D

Evidentemente, con este sistema son precisos muchísimos menos hilos (y circuitos) que cableando anillo a anillo: en nuestro ordenador ideal de palabras de 16 bits, con solamente 512 hilos de palabra y 16 hilos de bit, más otros 16 hilos de lectura, 544 hilos en total, se podría dar servicio a un kilobyte completo, en vez de los 16.000 y pico cables de antes. Son, pues, muchos menos cables… pero aun así siguen siendo muchos. Pongamos, pues, a aquellos singulares ingenieros de hace sesenta y tantos años a seguir inventando.

.

Y lo siguiente que inventaron fue, lógicamente, apilar los paneles bidimensionales construidos según el esquema anterior uno sobre otro, y enhebrar, por un lado, todos los hilos de bit equivalentes de todos los paneles con el mismo cable, que ahora quedaría con una forma de zigzag, yendo y viniendo por todos los paneles del plano, y por el otro, todos los hilos de palabra equivalentes también con el mismo cable, que también quedaría con una bella forma de zigzag. Suponiendo un panel básico de 32x32bits (1024 bits), es decir, 32 palabras de 32 bits cada una (por ejemplo, el esquema que usaba el IBM 360, cuyas palabras eran de cuatro bytes[1] ), se necesitarían 64 cables de escritura y 32 de lectura. Apilar los paneles, por ejemplo, en bloques de 32, daría un total del bloque de 4.096 bytes, o sea, 4 Kb, que eran los módulos mínimos de memoria que se podían adquirir para muchos sistemas de la época: podías tener un sistema de 4 Kb, de 8, 12, etc, hasta el máximo posible del sistema, que no creo que en ningún caso fuera de más de 256 o 512 Kb.

En la ilustración siguiente se representa cómo quedaría la matriz de ferritas hasta ahora. Otra cosa es que seáis capaces de desentrañar tal maraña de cables…

Ferritas organizadas en 3D

Los cables verdes serían los hilos de palabra, mientras que los hilos azules serían los hilos de bit; se representan (o al menos eso intenta el dibujo) tres paneles bidimensionales uno detrás del otro, y puede observarse cómo los hilos verdes enhebran las mismas palabras relativas de cada panel, y cómo cada hilo azul enhebra siempre los mismos bits de cada palabra. Con esta técnica, los módulos de 4Kb tendrían 64 hilos de escritura, 32 de bit y 32 de palabra… aunque propiamente serían de muchos bits y muchas palabras cada uno. Más los hilos de lectura, que, recordad, aunque no los tengamos por ahora en cuenta, pues no habría quien viera nada en el dibujo, ahí están.

¿Cómo funcionaría ahora el invento? Para leer una palabra determinada se activaría el hilo correspondiente a la palabra y también todos los cables de bit, y se leería el resultado en el hilo de lectura, pero para escribir tenemos un problema, de hecho el mismo que antes: activando media-corriente por los hilos de palabra y los de bit activamos no sólo el bit que nos interesa de la palabra que nos interesa, sino todos los bits equivalentes de todos los planos del módulo. Hay que hacer algo para que sólo la palabra que nos interesa sea seleccionada. Hay que seguir inventando, pues.

Y el invento definitivo es el hilo de inhibición, que enhebra a todos los anillos de cada plano, y que discurre paralelo a uno de los de activación, normalmente el de palabra. Cuando queremos escribir una palabra concreta (que estará situada en un cierto plano), dejamos sin corriente el hilo de inhibición del plano correspondiente a dicha palabra, mientras enviamos por el hilo de inhibición del resto de palabras (es decir, del resto de planos) también media-corriente, pero negativa, de tal modo que contrarreste la media-corriente positiva que circula por su hilo paralelo, así que estas palabras que no queremos que cambien se queden como estaban: no hay suficiente intensidad de corriente para provocar un cambio en su magnetización, al no poder vencer su ciclo de histéresis.

En la ilustración siguiente está la representación, en negro, de ese hilo de inhibición en un plano exclusivamente. Intentar representarlo en la imagen tridimensional anterior sólo genera un galimatías incomprensible…

Panel de Ferritas con su hilo de inhibición

Imaginaos que cada panel tiene este hilo adicional… ¡Y el de lectura!, que, insisto, por mucho que no lo pintemos, ahí está. Además, este hilo de lectura está girado en ángulo de 45º respecto a los de escritura, para acabar de rematar el follón de cables.

Y lo que queda, señoras y señores, es algo como esto:

Auténticas ferritas de 1951 (un panel de 16×16) Observad cómo las ferritas van contrapeadas, una en un sentido y la adyacente en el contrario. Supongo que es una foto de Dominio Público, pero no encuentro claramente el dato.

Así llegamos al diseño definitivo, con sus buenos cuatro hilos enhebrando cada ferrita. Imaginaos lo que debía ser fabricar una memoria de éstas, enhebrando cada anillo, de algunos milímetros de diámetro, con sus cuatro cablecitos, cada uno en una orientación diferente, y sin posibilidad de fallos en el montaje. Estas memorias eran caras. Mucho. Pero a cambio permitían, simplemente, que la informática como la conocemos fuera posible.

Emblema de los informáticos: la Gran Ferrita Laureada

Por fin, si al dibujito resultante de poner la ferrita con sus cuatro cables debidamente orientados le ponemos unas hojas de laurel y una coronita, queda algo que igual te suene… Sí, efectivamente, es el emblema oficial de los informáticos, el de las Facultades o Ingenierías de Informática que en España son o han sido. En mis tiempos todos sabíamos qué era el donut laureado con rayitas en medio… pero pocos años más tarde, desde principios de los ochenta, las memorias basadas en transistores como las que ha contado J en los capítulos correspondientes fueron desplazando a las costosísimas memorias de ferrita… hasta que rápidamente desaparecieron.

Ya no sólo era un problema de precio, sino también de tamaño: por muy chiquititas que fueran las ferritas, para llegar a un Mb de memoria se necesitaban 8 millones largos de ferritas, lo que ocuparía un espacio enorme. Con esta tecnología jamás hubiéramos podido llegar ni de lejos a la informática portátil a que estamos acostumbrados: ¡un mísero teléfono celular actual necesitaría de un remolque de camión para almacenar solamente la memoria!

 

En realidad funcionaban muy bien y rara vez se averiaban, y habían permitido a los ordenadores de la época velocidades de computación nunca vistas, pero la verdad es que el proceso de fabricación era realmente complicado, y, como consecuencia, su coste, elevado. Cables, cables, igual no eran tantos, pero había que irlos doblando y redoblando para enhebrarlos cuidadosamente en cada anillito, y eso había que hacerlo a mano. Nunca nadie inventó, que yo sepa, un aparato para facilitar esta tarea, y fijaos que las últimas ferritas que se fabricaron eran de un diámetro de 3 ó 4 milímetros. Un único Kb, es decir, 8.096 bits, necesitaba de 32.384 “enhebramientos” de estos, realizados con primor uno a uno sin fallar ni una vez, pues un solo fallo arruinaría el módulo completo.

Mujeres montando ferritas en el proyecto Apolo. Dominio público.

Ésta fotografía de dominio público de la NASA muestra a unas operarias montando ferritas para el programa Apolo. Obsérvese cómo necesitan microscopios para poder realizar su trabajo…

Además, debido a ciertas complejidades técnicas que, si las supe alguna vez, he olvidado, el diseño real era todavía más complicado de lo que mis breves esquemas pueden dar a entender,[2] y no hay más que echar una ojeada a algunas fotografías de memorias de ferrita para entrever, sólo entrever, la complejidad real del asunto.

 

Panel de ferritas de última generación. Fuente: Wikipedia. Thierry46, Licencia CC 2.5 Generic.

 

Detalle de una memoria de ferritas de NCR. Las ferritas individuales son tan pequeñas ya que a duras penas se distinguen. Dominio Público.

 

Si a la complejidad de su fabricación unimos, por un lado, el coste del material, y por otro,  su voracidad con el consumo eléctrico, por no hablar de su tamaño, podéis imaginar que la memoria de ferrita era cara. Muy cara. Carísima. Viendo cuál es el precio actual no ya del Kb, ni siquiera del Mb, sino del Gb de memoria, que además es centenares de veces más rápida, es difícil siquiera hacerse a la idea del precio desorbitado que tenía la, por otra parte, extraordinaria memoria de ferritas. Hacia 1976, el Banco en que yo trabajaba amplió la memoria de sus dos ordenadores en 32 KB en cada uno, total 64 Kb. Ojo, Kb, no Mb, ni Gb… En total, entre los dos ordenadores,  65.356 míseros bytes. El precio que pagó por ellas estuvo cercano a los veinte millones de pesetas. Yo era por entonces un humilde programador, pero ya tenía sueldo de programador, lo que no estaba nada mal en la época, sueldo que era de unas veinte mil pesetas al mes. Aquellas birriosas 64 Kb costaron lo mismo que mil meses de mi salario… Cuando digo que eran caras, es que eran caras. Y consecuentemente nosotros, los programadores de la época, éramos cuidadosísimos utilizando la memoria en nuestros programas. Ahorrábamos toda lo que podíamos… primero, porque no había, y segundo, porque estaba fuera de toda discusión la opción de comprar más: ¡no se podía pagar!

En fin, espero que estas líneas de arqueología informática os hayan gustado y que, al menos, os hayan hecho admirar a aquellos ingeniosos ingenieros precursores de la ciencia de la computación, que fueron capaces de construir auténticas maravillas de la tecnología sacando el máximo partido a los pocos elementos que tenían a mano.

Disfrutad de la vida, mientras podáis.

  1. Y como consecuencia las palabras de los modernos mainframes de IBM siguen siendo de cuatro bytes. []
  2. Por ejemplo, las ferritas colindantes debían estar giradas 90º unas respecto de las otras, para evitar no sé qué efecto de inducción lateral que, si no se iban contrapeando, arruinaba la detección. []

Sobre el autor:

Macluskey ( )

Macluskey es un informático de los tiempos heroicos, pero no ha dejado de trabajar en Informática y disfrutar con ella hasta la fecha. Y lo que el cuerpo aguante. Y además, le gusta la música...
 

{ 13 } Comentarios

  1. Gravatar Josala | 08/07/2013 at 04:52 | Permalink

    Precioso. Muchísimas gracias !!!!

  2. Gravatar Ancayb | 08/07/2013 at 09:45 | Permalink

    ¡Por Dios… que recuerdos! Se me saltan las lágrimas.

    Gracias Macluskey. Impresionante como siempre

  3. Gravatar Juan Carlos | 08/07/2013 at 04:24 | Permalink

    Extraordinario artículo, realmente muy bueno.

    Me pregunto por qué este tipo de trabajos (por ejemplo Colossus y el ensamblaje en Apolo) eran realizados por mujeres?

    Saludos

  4. Gravatar Macluskey | 09/07/2013 at 07:06 | Permalink

    @Juan Carlos:

    Lo del ensamblaje, por varios motivos: porque las mujeres son capaces de concentrarse más en este tipo de tareas de precisión, pero repetitivas, y también porque tienen las manos más pequeñas, y para ensamblar tanto hilillo en unos anillitos de unos pocos milímetros no se puede tener las manos de camioneros, digo yo.

    Y en Bletchley Park, además de por lo anterior, porque la mayoría de hombres estaban luchando en el frente… no te olvides que esos años era lo más crudo de la WWII.

    Gracias a todos por comentar

  5. Gravatar Laertes | 10/07/2013 at 09:07 | Permalink

    Hoy en día se sigue usando a las mujeres para este tipo de tareas, pero recuerdo haber leido en algún sitio (desgraciadamente no recuerdo dónde), que es más un mito que algo probado.

  6. Gravatar Macluskey | 11/07/2013 at 04:58 | Permalink

    Es posible que lo de la concentración sea un mito, pero lo de las manos pequeñas y habilidosas no lo es. Las mejores alfombras persas son las hechas por las mujeres (bueno, y por los niños, pero de eso mejor no hablar, ¿no?), precisamente porque al tener las manos más pequeñas pueden ser más precisas a la hora de tejer la alfombra.

    Saludos

  7. Gravatar Juan Carlos | 11/07/2013 at 02:44 | Permalink

    Y lo que tampoco es un mitoson es los horrores de la WWII, pero de eso tampoco mejor no hablar ;)

  8. Gravatar Jim | 20/07/2013 at 06:04 | Permalink

    No me imagino la cara que se os habría quedado en aquella época si vierais una memora microsd de las que llevan los teléfonos actuales: De varios gigas, del tamaño de una uña y de un precio que se puede permitir cualquier crio… XDD

    Da vértigo ver lo rápido que avanzan estas cosas. Incluso sin irse tan atrás, los teléfonos de ahora tienen tanta potencia como un ordenador de escritorio de hace unos pocos años.

  9. Gravatar Porchi | 25/11/2013 at 03:27 | Permalink

    Este artículo es absoluta crema

  10. Gravatar Diego | 14/03/2014 at 09:17 | Permalink

    Hace un tiempo atrás, ví un documental sobre el programa Apolo y mostraban las mujeres “hilando” las memorias. Muy interesante.

  11. Gravatar Venger | 31/03/2014 at 09:24 | Permalink

    Bonita referencia al gran Alan Turing. Yo creo que esta persona debería ser mucho más conocida de lo que es. Y sobre todo, que todo el mundo supiese de su aciago final. Para que sepamos cómo de “tolerantes” eran ciertos países democráticos…

  12. Gravatar karxdu | 13/04/2014 at 11:56 | Permalink

    Muy bueno y didáctico. Una vez descrito el funcionamiento de las memorias de ferrita echo de menos un repaso a las memorias dinámicas en otro anexo.

  13. Gravatar Jesús | 17/11/2014 at 01:23 | Permalink

    Muy interesante, estoy en en curso de microinformatica y los compañeros alucinan con estas reliquias, yo las vi, ya como obsoleta en SECOINSA, despues FUJITSU ESPAÑA, enhorabuena.

Escribe un comentario

Tu dirección de correo no es mostrada. Los campos requeridos están marcados *

Al escribir un comentario aquí nos otorgas el permiso irrevocable de reproducir tus palabras y tu nombre/sitio web como atribución.