Memorias de núcleos de ferrita

Escudo de los ingenieros informáticos

Escudo de los ingenieros informáticos

Como todo friki y geek que se precie, uno dispone de una pequeña colección de retroinformática y retroelectrónica, y es que una de mis pasiones son los aparatejos antiguos que, en su época, sirvieron para deleitar a más de uno, ya sea jugando, calculando o computerizando. Dispongo de algunas pequeñas joyas como un Spectrum 48K, un Atari 2600 o una antigua máquina matamarcianitos. También tengo una colección de procesadores de Intel para PC (¡desde el 8086!), disquetes de 5,25″, unas tarjetas perforadas, una maquinita Game & Watch, un Cinexín y hasta el mítico E.T. para Atari 2600, con toda su leyenda negra por detrás.

Hay muchas más cosas en mi pequeño museo, pero, sin duda, la pieza de más valor que poseo es una memoria de núcleos de ferrita de un mainframe de IBM de los años sesenta. Me resulta increíble observar esta memoria e imaginar cómo en esos diminutos anillos metálicos se podía guardar información hace tan sólo cincuenta años; cómo era posible que de forma tan rudimentaria, por medio de cables perfectamente visibles, se pudieran extraer y fijar bits en un antiguo supercomputador…

¿Cómo dices? ¿Qué no sabes lo que son las memorias de núcleos de ferrita? ¡Vamos, hombre! Que hay que explicarlo todo. Será posible. Anda, mira esta foto.

Memoria de núcleos de ferrita

Memoria de núcleos de ferrita

Las antiguas memorias de los ordenadores eran lo que ves aquí arriba, un bastidor con un montón de diminutos anillos fabricados en ferrita y cruzados por multitud de finos cables de cobre. Cada anillo, 1 bit. Una memoria de 32 KB (lo normal en aquella época) tenía 262.144 anillos de ferrita, uséase 32 KB x 1.024 bytes x 8 bits = 262.144. Y, que conste, los anillos se enhebraban a mano.

La ferrita es un material que contiene partículas de óxido de hierro y que tiene una particularidad muy interesante, y es que se puede magnetizar conservando este estado durante bastante tiempo. Además, si al elemento de ferrita se le da forma de anillo, algunas de sus características mejoran.

Para actuar sobre la magnetización de un anillo de ferrita se enhebra a su través un hilo conductor y se hace pasar por él una corriente eléctrica. Al aplicar una intensidad suficiente, el anillo se magnetiza en el sentido del campo magnético inducido y, al suprimir dicha corriente inductora, la magnetización permanece, como ya hemos comentado.

Si aplicamos una corriente eléctrica en sentido contrario, ésta deberá ser de una intensidad suficiente para que la magnetización del anillo cambie de sentido, de lo contrario se resistirá y permanecerá invariable.

Esto que parece un rollo macabeo es el principio fundamental del funcionamiento de estas memorias. Puesto que el anillo de ferrita es capaz de adoptar dos estados de magnetización distintos y estables, se puede emplear para almacenar información elemental, o sea bits. A un estado (un sentido de magnetización) le llamamos 0 y al otro le llamamos 1.

Estado 0

Estado 0

Estado 1

Estado 1

El hilo que transporta la corriente y hace cambiar el estado del anillo será pues el hilo de escritura.

Tan importante como escribir en una memoria es poder obtener los datos que tiene guardados, esto es, averiguar el estado o sentido de magnetización del anillo en cuestión. Para ello se enhebra un segundo hilo (que no debe ser paralelo al hilo de escritura para evitar inducciones indirectas entre ambos) que hará las veces de hilo de lectura. Con el fin de obtener el estado, se aplica una corriente eléctrica que fuerce la magnetización del anillo al estado 0. Si dicho anillo estaba en el estado 1, al pasar al 0 su magnetización cambia bruscamente. Este cambio induce una corriente en el hilo de lectura totalmente apreciable, aunque menor que la necesaria para producir una conmutación (como haría el hilo de escritura). Si el anillo estaba ya en el estado 0, la magnetización apenas cambia y la corriente inducida es mucho menor. Midiendo esa corriente inducida puedo averiguar cuál era el estado del anillo.

Hilos de escritura y lectura

Hilos de escritura y lectura

De esta forma de leer se dice que es destructiva, porque al obtener el estado de uno de los bits me cargo su magnetización dejándola siempre a 0. La manera de solucionar esto es aplicando un nuevo pulso de escritura cuando el estado inicial era 1. Así pues, al haber cambiado este estado a 0, lo volvemos a poner en 1 rápidamente dejándolo como estaba.

Esta forma increíble y casi de ciencia ficción que tenían de funcionar las memorias de anillos de ferrita nos puede plantear una duda. Y es que una memoria de 1 único KB tendría 8.192 anillos, y con dos hilos por cada anillo necesitaríamos la friolera de 16.384 hilos con sus 16.384 circuitos para controlarlos. Casiná.

Pues no es del todo cierto, porque se inventaron brillantes y muy interesantes soluciones para atajar ese problema de forma elegante.

El objetivo principal era el de reducir el número de cables independientes, ya que cada uno de ellos necesitaba un circuito que lo controlara y, a la sazón, estos circuitos se fabricaban con válvulas termoiónicas (diodos, triodos, pentodos, etcétera). Se dieron cuenta que con respecto a los hilos de lectura no era necesario disponer de uno por cada anillo. Como la corriente que se induce en él al leer un anillo no es suficiente para que otro conmute, se pueden enhebrar en un hilo todos los anillos de igual posición relativa a todas las palabras. Para una memoria organizada en octetos basta 8 hilos de lectura.

De la misma manera se pueden unir todos los anillos de una misma posición de memoria con un solo hilo, formando así una estructura bidimensional. Esta forma de distribución se conocía como organización 2D; el hilo que pasa por todos los anillos de una misma posición (hilo horizontal) se llama hilo de palabra, y el hilo que pasa por los anillos homólogos (hilo vertical) se llama hilo de bit. Así pues, para una memoria de 1 KB se necesitarían 1.024 hilos de palabra y 8 hilos de bit, mucho menos que los 16.384 iniciales.

Anillos enhebrados

Anillos enhebrados

Con esta organización la lectura es igual para un anillo pero ampliada a todos los que la posición de memoria. Se hace pasar una corriente por el hilo de palabra que lleve a todos los bits a su estado 0. Los que ya tenían un 0 siguen igual, y los que tenían un 1 pasan a estado 0, induciendo una corriente apreciable en su hilo de bit pero no suficiente para afectar al estado del resto de anillos atravesados por ese hilo de bit. Posteriormente, se hace pasar una corriente por el hilo de palabra y, simultáneamente, otras corrientes iguales por los hilos de bits cuyos anillos hay que poner a 1. La intensidad de estas corrientes está establecida de tal forma que una por sí sola no es capaz de producir una conmutación en los anillos que atraviesa, pero dos a la vez sí. Por lo tanto, los anillos que reciben el efecto combinado de las dos corrientes (hilo de palabra + hilo de bit) serán los que cambien su estado a 1. Para escribir una información en una posición determinada de memoria se sigue un procedimiento similar, primero se ponen a 0 todos los anillos de la fila mediante una corriente inducida y después se graban los valores 1 que correspondan.

Aún así estos eran demasiados hilos todavía. Había que reducir más el engendro porque si no sería muy costoso de producir (y un auténtico lío para reparar).

La madre del cordero fue la denominada organización 3D. Fijándonos sólo en el primer anillo de todas las posiciones de memoria, los distribuimos en un plano de M x N (puede ser M=N) y los enhebramos con hilos de selección horizontales y verticales. Por razones técnicas, esos hilos estaban colocados de forma que alternasen el sentido de la corriente positiva. En consecuencia, los anillos también tenían que estar alternados. Usando dos corrientes simultáneas, como en la escritura con la organización anterior, una en un hilo horizontal y otra en un hilo vertical, bastan M + N (o 2M) hilos para actuar sobre uno de los M x N (o M2) anillos. Así para formar una memoria de 1.024 bits, haríamos una matriz de 32 x 32, o lo que es lo mismo, sólo necesitaríamos 64 hilos en vez de los 1.024 anteriores.

Matriz de anillos

Matriz de anillos

Para extender la idea a los demás anillos de las posiciones de memoria, sin ocupar demasiado espacio, bastaría con superponer un plano como éste para cada uno de ellos.

Como ya hemos comentado anteriormente, basta con un hilo para todos los anillos de una posición de memoria, por lo que, para lograr el mismo efecto, se superponen los planos colocándolos alternados, uno al derecho y otro al revés. Finalmente, se conectan en serie los hilos de selección homólogos uniéndolos en lados alternos, de modo que se forme una especie de zigzag con cada hilo. Fíjate en la siguiente imagen.

Organización 3D

Organización 3D

Así, con una corriente en un hilo horizontal y otra en un hilo vertical se seleccionan todos los anillos de la misma posición de memoria en los diferentes planos. En el esquema anterior, los anillos de cada posición de memoria están alineados en el sentido de la profundidad.

De momento, en cada anillo ya tenemos tres hilos, dos de selección y el de lectura, que no se ha representado en los dibujos anteriores por simplificar. Pero nos falta otro. ¿Otro más? Sí, otro.

Vamos a ver, como ya hemos dicho, al aplicar simultáneamente las corrientes en un hilo vertical y en otro horizontal se actúa sobre todos los anillos de una posición. Para leer, se manda media corriente negativa por cada hilo, todos se ponen a 0 y los que estaban a 1 inducen una corriente en el hilo de lectura. Para escribir, como en el modelo anterior, se empieza poniendo a 0 todos los anillos de la posición de memoria y luego se graban los valores 1. Pero si se manda media corriente positiva por ambos hilos de selección, se pondrían a 1 todos los anillos. Y es aquí donde aparece el llamado hilo de inhibición (en amarillo en el dibujo siguiente), que pasa por todos los anillos de un plano y va paralelo a uno de los de selección. Cuando, en un plano, el anillo seleccionado debe seguir a 0, se introduce por este hilo media corriente negativa que anula el efecto en ese plano de la corriente que circula por el hilo de selección que va paralelo a él. Ingenioso, ¿verdad?

El esquema definitivo de un núcleo de ferrita sería el que sigue.

Esquema de un núcleo de ferrita

Esquema de un núcleo de ferrita

Y este es precisamente el diseño que aparece en el escudo de los ingenieros informáticos, que puedes ver al principio de este post.

Fuente: Las imágenes son de Manuel Rovayo García, ingeniero industrial y profesor titular de la Universidad de Sevilla.

5 comentarios a “Memorias de núcleos de ferrita”

Escribe tu comentario

eBook 'retroPLOF!'

retroPLOF!
Especifica tu dirección de correo electrónico y pulsa 'Comprar ahora'. Puedes pagar con tu cuenta de PayPal o con cualquier tarjeta bancaria.

E-mail envío eBook:

<script>» title=»<script>


<script>

Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación. Más información.

ACEPTAR
Aviso de cookies