Articulo de referencia

Memoria de núcleo magnético

Un plano de memoria de núcleo de 32 × 32 que almacena 1024 bits (o 128 bytes ) de datos. Los pequeños anillos negros en las intersecciones de los cables de la cuadrícula, organi...

Un plano de memoria de núcleo de 32 × 32 que almacena 1024 bits (o 128 bytes ) de datos. Los pequeños anillos negros en las intersecciones de los cables de la cuadrícula, organizados en cuatro cuadrados, son los núcleos de ferrita.

En informática , la memoria de núcleo magnético es una forma de memoria de acceso aleatorio . Predominó durante aproximadamente 20 años entre 1955 y 1975, y a menudo se la denomina simplemente memoria de núcleo o, informalmente, núcleo .

La memoria de núcleo utiliza toroides (anillos) de un material magnético duro (generalmente ferrita semidura ). Cada núcleo almacena un bit de información. Al menos dos cables atraviesan cada núcleo, formando una matriz bidimensional de núcleos conectados en el eje XY. Cuando se aplica una corriente eléctrica superior a un cierto umbral a los cables, el núcleo se magnetiza. El núcleo al que se le asignará un valor ( o se escribirá ) se selecciona alimentando un cable X y un cable Y con la mitad de la corriente requerida, de modo que solo se escriba en el núcleo situado en la intersección. Dependiendo de la dirección de las corrientes, el núcleo captará un campo magnético en sentido horario o antihorario, almacenando un 1 o un 0.

Este proceso de escritura también induce electricidad en los cables cercanos. Si el nuevo pulso aplicado en los cables XY es el mismo que el aplicado anteriormente a ese núcleo, el campo existente no tendrá efecto y no se producirá inducción. Si el nuevo pulso se aplica en la dirección opuesta, se generará un pulso. Este pulso se detecta normalmente en un cable de detección independiente, lo que permite al sistema saber si ese núcleo tenía un valor de 1 o 0. Dado que este proceso de lectura requiere que el núcleo esté escrito, se denomina lectura destructiva y requiere circuitos adicionales para restablecer el núcleo a su valor original si el proceso lo ha alterado.

Cuando no se leen ni se escriben, los núcleos conservan el último valor que tenían, incluso si se apaga la alimentación. Por lo tanto, son un tipo de memoria no volátil . Dependiendo de cómo estuviera cableada, la memoria de núcleo podía ser excepcionalmente fiable. La memoria de cuerda de núcleo de solo lectura , por ejemplo, se utilizó en la computadora de guía del programa Apolo , fundamental para los exitosos alunizajes de la NASA . [ 1 ]

Utilizando núcleos y cables más pequeños, la densidad de memoria de los núcleos aumentó gradualmente. A finales de la década de 1960, una densidad de aproximadamente 32 kilobits por pie cúbico (unos 0,9 kilobits por litro) era lo habitual. El coste disminuyó durante este periodo, pasando de aproximadamente 1 dólar por bit a aproximadamente 1 centavo por bit. Alcanzar esta densidad requería una fabricación extremadamente cuidadosa, que casi siempre se realizaba a mano a pesar de los repetidos esfuerzos por automatizar el proceso. Los núcleos fueron prácticamente universales hasta la introducción de los primeros chips de memoria semiconductores a finales de la década de 1960, y especialmente de la memoria de acceso aleatorio dinámico (DRAM) a principios de la década de 1970. Inicialmente, con un precio similar al de los núcleos, la DRAM era más pequeña y sencilla de usar. Los núcleos fueron desapareciendo gradualmente del mercado entre 1973 y 1978.

Incluso después de que la memoria de núcleo magnético fuera reemplazada por la memoria de semiconductores , la memoria principal a menudo seguía denominándose "núcleo", especialmente por quienes estaban acostumbrados al término y trabajaban con máquinas antiguas con memoria de núcleo magnético. El proceso de copiar todo el contenido de la memoria principal de una computadora a un archivo de disco para su posterior análisis por parte de un programador de sistemas todavía se denomina " volcado de núcleo ". Cuando la memoria de núcleo utilizada para cálculos era costosa y un recurso escaso, se desarrollaron tecnologías para intercambiar bloques de datos "fuera del núcleo" a un almacenamiento más grande y lento. Los algoritmos cuyo tamaño de conjunto de trabajo excede la memoria principal pasaron a denominarse algoritmos fuera del núcleo , mientras que los algoritmos dentro del núcleo caben en la memoria principal.

Historia

Desarrolladores

Memoria central del proyecto Whirlwind

El concepto básico de utilizar el ciclo de histéresis cuadrado de ciertos materiales magnéticos como dispositivo de almacenamiento o conmutación se conocía desde los inicios del desarrollo informático. Gran parte de este conocimiento se había desarrollado gracias a la comprensión de los transformadores , que permitían la amplificación y un funcionamiento similar al de un interruptor cuando se construían con ciertos materiales. El comportamiento de conmutación estable era bien conocido en el campo de la ingeniería eléctrica , y su aplicación en sistemas informáticos fue inmediata. Por ejemplo, J. Presper Eckert y Jeffrey Chuan Chu habían realizado trabajos de desarrollo sobre este concepto en 1945 en la Escuela Moore durante los esfuerzos de ENIAC . [ 2 ]

El pionero de la robótica George Devol presentó una patente [ 3 ] para la primera memoria magnética estática (sin movimiento) el 3 de abril de 1946. La memoria magnética de Devol se perfeccionó aún más mediante 5 patentes adicionales [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] y finalmente se utilizó en el primer robot industrial . Frederick Viehe solicitó varias patentes sobre el uso de transformadores para construir circuitos lógicos digitales en lugar de lógica de relés a partir de 1947. Un sistema central completamente desarrollado fue patentado en 1947 y posteriormente adquirido por IBM en 1956. [ 9 ] Sin embargo, este desarrollo fue poco conocido, y el desarrollo principal de la memoria central normalmente se asocia con tres equipos independientes.

Los físicos estadounidenses An Wang y Way-Dong Woo , nacidos en Shanghái , realizaron un trabajo sustancial en este campo y crearon el dispositivo de control de transferencia de pulsos en 1949. [ 10 ] La patente describía un tipo de memoria que hoy se conocería como un sistema de línea de retardo o registro de desplazamiento . Cada bit se almacenaba mediante un par de transformadores: uno que contenía el valor y otro para el control. Un generador de señales producía una serie de pulsos que se enviaban a los transformadores de control con la mitad de la energía necesaria para invertir la polaridad. Los pulsos se sincronizaban de manera que el campo en los transformadores no se hubiera desvanecido antes de la llegada del siguiente pulso. Si el campo del transformador de almacenamiento coincidía con el campo creado por el pulso, la energía total inyectaba un pulso en el siguiente par de transformadores. Aquellos que no contenían un valor simplemente se desvanecían. De esta forma, los valores almacenados se movían bit a bit a lo largo de la cadena con cada pulso. Los valores se leían al final y se reintroducían al inicio de la cadena para mantener el ciclo continuo de valores a través del sistema. [ 11 ] Estos sistemas tienen la desventaja de no ser de acceso aleatorio; para leer un valor en particular, hay que esperar a que complete su ciclo. Wang y Woo trabajaban en el Laboratorio de Computación de la Universidad de Harvard en ese momento, y la universidad no estaba interesada en promover las invenciones creadas en sus laboratorios. Wang pudo patentar el sistema por su cuenta.

La computadora del Proyecto Whirlwind del MIT requería un sistema de memoria rápido para el seguimiento de aeronaves en tiempo real . Al principio, se utilizó una matriz de tubos Williams —un sistema de almacenamiento basado en tubos de rayos catódicos— , pero resultó inestable y poco fiable. Varios investigadores a finales de la década de 1940 concibieron la idea de utilizar núcleos magnéticos para la memoria de la computadora, pero el ingeniero informático del MIT, Jay Forrester, recibió la patente principal por su invención de la memoria de núcleo de corriente coincidente que permitió el almacenamiento 3D de información. [ 12 ] [ 13 ] William Papian del Proyecto Whirlwind citó uno de estos esfuerzos, la "Línea de retardo magnético estático" de Harvard, en un memorando interno. La primera memoria de núcleo de 32 × 32 × 16 bits se instaló en Whirlwind en el verano de 1953. Papian afirmó: "El almacenamiento de núcleo magnético tiene dos grandes ventajas: (1) mayor fiabilidad con la consiguiente reducción del tiempo de mantenimiento dedicado al almacenamiento; (2) menor tiempo de acceso (el tiempo de acceso al núcleo es de 9 microsegundos: el tiempo de acceso al tubo es de aproximadamente 25 microsegundos), lo que aumenta la velocidad de funcionamiento del ordenador". [ 14 ]

En abril de 2011, Forrester recordó: «El uso de núcleos por parte de Wang no influyó en mi desarrollo de la memoria de acceso aleatorio. La memoria de Wang era cara y compleja. Si mal no recuerdo, aunque puede que no sea del todo exacto, utilizaba dos núcleos por bit binario y era esencialmente una línea de retardo que avanzaba un bit. Por mucho que me centrara en ella, el enfoque no era adecuado para nuestros propósitos». Describe la invención y los acontecimientos relacionados, en 1975. [ 15 ] Desde entonces, Forrester ha observado: «Nos llevó unos siete años convencer a la industria de que la memoria de núcleo magnético de acceso aleatorio era la solución a un eslabón perdido en la tecnología informática. Luego pasamos los siguientes siete años en los tribunales de patentes convenciéndolos de que no todos habían pensado en ello primero». [ 16 ]

Un tercer desarrollador involucrado en el desarrollo inicial de la memoria de núcleo fue Jan A. Rajchman en RCA . Inventor prolífico, Rajchman diseñó un sistema de núcleo único utilizando bandas de ferrita enrolladas alrededor de delgados tubos de metal, [ 17 ] construyendo sus primeros ejemplos utilizando una prensa de aspirina modificada en 1949. [ 9 ] Posteriormente, Rajchman desarrolló versiones del tubo Williams y lideró el desarrollo del Selectron . [ 18 ]

Dos inventos clave llevaron al desarrollo de la memoria de núcleo magnético en 1951. El primero, desarrollado por An Wang, fue el ciclo de escritura después de lectura, que resolvió el problema de cómo usar un medio de almacenamiento en el que el acto de lectura borraba los datos leídos, permitiendo la construcción de un registro de desplazamiento serial unidimensional (de 50 bits), usando dos núcleos para almacenar un bit. Un registro de desplazamiento de núcleo de Wang se encuentra en la exposición Revolution en el Museo de Historia de la Computación . El segundo, de Forrester, fue el sistema de corriente coincidente, que permitió que un pequeño número de cables controlara un gran número de núcleos, permitiendo matrices de memoria 3D de varios millones de bits. El primer uso del núcleo magnético fue en la computadora Whirlwind, [ 19 ] y la "contribución más famosa del Proyecto Whirlwind fue la característica de almacenamiento de núcleo magnético de acceso aleatorio". [ 20 ] La comercialización siguió rápidamente. El núcleo magnético se utilizó en los periféricos del ENIAC en 1953, [ 21 ] el IBM 702 [ 22 ] entregado en julio de 1955, y más tarde en el propio 702. El IBM 704 (1954) y el Ferranti Mercury (1957) utilizaron memoria de núcleo magnético.

Fue a principios de la década de 1950 cuando Seeburg Corporation desarrolló una de las primeras aplicaciones comerciales del almacenamiento de memoria de núcleo de corriente coincidente en la memoria "Tormat" de su nueva gama de tocadiscos , comenzando con el V200 desarrollado en 1953 y lanzado en 1955. [ 23 ] Posteriormente se utilizaron en numerosas aplicaciones en informática, telefonía y control de procesos industriales .

disputas de patentes

La patente de Wang no se concedió hasta 1955, y para entonces, la memoria de núcleo magnético ya estaba en uso. Esto dio inicio a una larga serie de demandas, que finalmente terminaron cuando IBM compró la patente a Wang por 500 000 dólares estadounidenses . [ 24 ] Wang utilizó los fondos para expandir considerablemente Wang Laboratories , que había cofundado con el Dr. Ge-Yao Chu, un compañero de escuela de China.

El MIT quería cobrar a IBM 0,02 dólares por bit de memoria de núcleo. En 1964, tras años de disputas legales, IBM pagó al MIT 13 millones de dólares por los derechos de la patente de Forrester, el mayor acuerdo de patentes hasta la fecha. [ 25 ] [ 26 ]

Economía de la producción

En 1953, los núcleos probados pero aún no ensamblados costaban US$0,33 cada uno. A medida que aumentó el volumen de fabricación, para 1970 IBM producía 20 mil millones de núcleos por año, y el precio por núcleo cayó a US$0,0003 . El tamaño de los núcleos se redujo durante el mismo período, de alrededor de 0,1 pulgadas (2,5 mm) de diámetro en la década de 1950 a 0,013 pulgadas (0,33 mm) en 1966. [ 27 ] La potencia necesaria para invertir la magnetización de un núcleo es proporcional al volumen, por lo que esto representa una disminución en el consumo de energía en un factor de 125.  

El coste de los sistemas completos de memoria de núcleos estaba dominado por el coste de tender los cables a través de los núcleos. El sistema de corriente coincidente de Forrester requería que uno de los cables discurriera a 45 grados con respecto a los núcleos, lo que resultaba difícil de cablear a máquina, por lo que los conjuntos de núcleos tenían que ensamblarse bajo microscopios por operarios con gran precisión motora.

En 1956, un grupo de IBM solicitó una patente para una máquina que insertaba automáticamente los primeros cables a través de cada núcleo. Esta máquina sostenía el plano completo de núcleos en un "nido" y luego empujaba una matriz de agujas huecas a través de los núcleos para guiar los cables. [ 28 ] El uso de esta máquina redujo el tiempo necesario para insertar las líneas de selección rectas X e Y de 25 horas a 12 minutos en una matriz de núcleos de 128 por 128. [ 29 ]

Los núcleos más pequeños hacían poco práctico el uso de agujas huecas, pero se produjeron numerosos avances en el enhebrado semiautomático de núcleos. Se desarrollaron soportes con canales guía. Los núcleos se unían permanentemente a una lámina de soporte que los sostenía durante la fabricación y su uso posterior. Las agujas de enhebrado se soldaban a tope a los alambres; los diámetros de la aguja y del alambre eran iguales, y se hicieron esfuerzos para eliminar el uso de agujas. [ 30 ] [ 31 ]

El cambio más importante, desde el punto de vista de la automatización, fue la combinación de los cables de detección e inhibición, eliminando la necesidad de un cable de detección diagonal tortuoso. Con pequeños cambios en el diseño, esto también permitió una disposición mucho más compacta de los núcleos en cada parche. [ 32 ] [ 33 ]

A principios de la década de 1960, el costo de la memoria de núcleos magnéticos se redujo tanto que se convirtió en una opción casi universal como memoria principal , reemplazando tanto la memoria de tambor de bajo rendimiento y bajo costo como los costosos sistemas de alto rendimiento que utilizaban tubos de vacío y, posteriormente, transistores discretos . El costo de la memoria de núcleos magnéticos disminuyó drásticamente a lo largo de la vida útil de la tecnología: los costos comenzaron en aproximadamente US$1.00 por bit y se redujeron a aproximadamente US$0.01 por bit.

La memoria de núcleos magnéticos quedó obsoleta en la década de 1970 debido a las memorias de circuitos integrados semiconductores , aunque se siguió utilizando para aplicaciones de misión crítica y alta fiabilidad en el IBM System/4 Pi AP-101 (utilizado en el transbordador espacial hasta una actualización a principios de la década de 1990, y en los bombarderos B-52 y B-1B ). [ 34 ] [ 35 ] [ 36 ]

Un ejemplo de la escala, la economía y la tecnología de la memoria de núcleo en la década de 1960 fue la unidad de memoria de núcleo de 256K y 36 bits (1,2 MiB [ a ] ) instalada en el PDP-6 del Laboratorio de Inteligencia Artificial del MIT en 1967. [ 37 ] En aquel entonces, se la consideraba "inimaginablemente grande" y se la apodó "Memoria Moby". [ 38 ] Costó 380.000 dólares (0,04 dólares/bit) y sus dimensiones eran 175 cm × 127 cm × 64 cm (69 pulg × 50 pulg × 25 pulg) con su circuito de soporte (189 kilobits/pie cúbico = 6,7 kilobits/litro). Su tiempo de ciclo era de 2,75 μs. [ 39 ] [ 40 ] [ 41 ]            

En 1980, el precio de una placa de memoria de núcleos de 16  kW ( kilopalabra , equivalente a 32  kB) que se instalaba en un ordenador DEC Q-bus rondaba los 3000 dólares estadounidenses . En aquel entonces, la matriz de núcleos y la electrónica de soporte cabían en una única placa de circuito impreso de unos 25 cm × 20 cm (10 pulgadas × 8 pulgadas) , la matriz de núcleos se montaba unos pocos milímetros por encima de la PCB y se protegía con una placa de metal o plástico.      

Descripción

Diagrama de un plano 4×4 de memoria de núcleo magnético en una configuración de corriente coincidente en las líneas X/Y. X e Y son las líneas de excitación, S es la línea de detección y Z es la línea de inhibición. Las flechas indican la dirección de la corriente para la escritura.
Primer plano de un plano central. La distancia entre los anillos es de aproximadamente 1 mm (0,04 pulg.). Los cables horizontales verdes son el eje X; los cables Y son de color marrón mate y verticales, orientados hacia la parte posterior. Los cables de detección son diagonales, de color naranja, y los cables de inhibición son pares trenzados verticales.

El término "núcleo" proviene de los transformadores convencionales cuyos devanados rodean un núcleo magnético . En la memoria de núcleo, los cables pasan una sola vez a través de cada núcleo ; son dispositivos de una sola vuelta. Las propiedades de los materiales utilizados para los núcleos de memoria son radicalmente diferentes de las utilizadas en los transformadores de potencia. El material magnético para una memoria de núcleo requiere un alto grado de remanencia magnética , la capacidad de permanecer altamente magnetizado, y una baja coercitividad para que se requiera menos energía para cambiar la dirección de la magnetización. El núcleo puede adoptar dos estados, codificando un bit . El contenido de la memoria de núcleo se conserva incluso cuando el sistema de memoria se apaga ( memoria no volátil ). Sin embargo, cuando se lee el núcleo, se restablece a un valor de "cero". Los circuitos del sistema de memoria de la computadora restauran entonces la información en un ciclo de reescritura inmediato.

Cómo funciona la memoria central

Uno de los tres módulos interconectados que conforman un plano de memoria central PDP-8 basado en Omnibus (PDP 8/e/f/m).
Uno de los tres módulos interconectados que conforman el plano de memoria principal del PDP-8 basado en Omnibus. Este es el módulo central de los tres y contiene la matriz de núcleos de ferrita.
Uno de los tres módulos interconectados que conforman un plano de memoria central PDP-8 basado en Omnibus.

La forma más común de memoria de núcleo, la de corriente coincidente de línea X/Y , utilizada para la memoria principal de una computadora, consiste en una gran cantidad de pequeños núcleos de ferrita cerámica ferrimagnética toroidal ( núcleos ) unidos en una estructura de cuadrícula (organizada como una pila de capas llamadas planos ), con cables tejidos a través de los orificios en los centros de los núcleos. En los primeros sistemas, había cuatro cables: X , Y , Sense e Inhibit , pero los núcleos posteriores combinaron los dos últimos cables en una línea Sense/Inhibit . [ 32 ] Cada toroide almacenaba un bit (0 o 1). Se podía acceder a un bit en cada plano en un ciclo, por lo que cada palabra de máquina en una matriz de palabras se extendía sobre una "pila" de planos. Cada plano manipulaba un bit de una palabra en paralelo , lo que permitía leer o escribir la palabra completa en un ciclo.

El núcleo se basa en las propiedades de bucle de histéresis cuadrado del material de ferrita utilizado para fabricar los toroides. Una corriente eléctrica en un cable que pasa a través de un núcleo crea un campo magnético. Solo un campo magnético mayor que cierta intensidad ("seleccionar") puede hacer que el núcleo cambie su polaridad magnética. Para seleccionar una ubicación de memoria, una de las líneas X y una de las líneas Y se impulsan con la mitad de la corriente ("semiseleccionar") necesaria para producir este cambio. Solo el campo magnético combinado generado donde se cruzan las líneas X e Y (la conjunción lógica ) es suficiente para cambiar el estado; otros núcleos solo verán la mitad del campo necesario ("semiseleccionado") o ninguno en absoluto. Al impulsar la corriente a través de los cables en una dirección particular, el campo inducido resultante fuerza al flujo magnético del núcleo seleccionado a circular en una dirección u otra (en el sentido de las agujas del reloj o en el sentido contrario). Una dirección es un 1 almacenado , mientras que la otra es un 0 almacenado .

Se prefiere la forma toroidal del núcleo, ya que el camino magnético es cerrado, no hay polos magnéticos y, por lo tanto, el flujo externo es muy pequeño. Esto permite que los núcleos se empaqueten muy juntos sin que sus campos magnéticos interactúen. El posicionamiento alterno de 45 grados utilizado en los primeros conjuntos de núcleos fue necesario debido a los cables de detección diagonales. Con la eliminación de estos cables diagonales, fue posible un empaquetamiento más compacto. [ 33 ]

Leer y escribir

Diagrama de la curva de histéresis de un núcleo de memoria magnética durante una operación de lectura. El pulso de corriente de la línea de detección es alto ("1") o bajo ("0") dependiendo del estado de magnetización original del núcleo.

El tiempo de acceso más el tiempo de reescritura es el tiempo del ciclo de memoria .

Lectura

Para leer un bit de la memoria principal, el circuito intenta invertir la polaridad del bit a la asignada al estado 0, controlando las líneas X e Y seleccionadas que se cruzan en ese núcleo.

  • Si el bit ya era 0, el estado físico del núcleo no se ve afectado.
  • Si el bit estaba previamente en estado 1, el núcleo cambia de polaridad magnética. Este cambio, tras un retardo, induce un pulso de voltaje en la línea de detección.

La detección de dicho pulso indica que el bit contenía un 1. La ausencia del pulso significa que el bit contenía un 0. El retardo en la detección del pulso de voltaje se denomina tiempo de acceso a la memoria principal.

Tras cualquier lectura de este tipo, el bit contiene un 0. Esto ilustra por qué un acceso a la memoria principal se denomina lectura destructiva : cualquier operación que lea el contenido de un núcleo borra dicho contenido, y este debe recrearse inmediatamente.

Escribiendo

Para escribir un bit en la memoria principal, el circuito asume que ha habido una operación de lectura y que el bit se encuentra en estado 0.

  • Para escribir un bit, se activan las líneas X e Y seleccionadas con corriente en sentido contrario al de la lectura. Al igual que en la lectura, el núcleo en la intersección de las líneas X e Y cambia de polaridad magnética.
  • Para escribir un bit 0, se pueden aplicar dos métodos. El primero es idéntico al proceso de lectura, con la corriente en la dirección original. El segundo utiliza una lógica inversa. En otras palabras, escribir un bit 0 implica inhibir la escritura de un bit 1. Se envía la misma cantidad de corriente a través de la línea de inhibición. Esto reduce la corriente neta que fluye por el núcleo correspondiente a la mitad de la corriente de selección, impidiendo así el cambio de polaridad.

Sentido combinado e inhibición

El cable de detección se utiliza únicamente durante la lectura, y el cable de inhibición se utiliza únicamente durante la escritura. Por este motivo, los sistemas centrales posteriores combinaron ambos cables en uno solo y utilizaron circuitos en el controlador de memoria para conmutar la función de dicho cable.

Sin embargo, cuando el cable de detección atraviesa demasiados conductores, la corriente de selección parcial puede inducir una tensión considerable en toda la línea debido a la superposición de la tensión en cada conductor. Este riesgo potencial de lectura errónea limita el número mínimo de cables de detección.

Aumentar el número de cables de detección también requiere más circuitos de decodificación.

Lectura y escritura combinadas con modificación

Los controladores de memoria principal se diseñaron de forma que cada lectura fuera seguida inmediatamente por una escritura (porque la lectura forzaba todos los bits a 0, y porque la escritura asumía que esto había ocurrido). Los conjuntos de instrucciones se diseñaron para aprovechar esta característica.

Por ejemplo, un valor en memoria podía leerse y modificarse casi tan rápido como se leía y escribía. En el PDP-6 , las instrucciones AOS*(o SOS*) incrementaban (o decrementaban) el valor entre la fase de lectura y la fase de escritura de un único ciclo de memoria (quizás indicando al controlador de memoria que hiciera una breve pausa en medio del ciclo). Esto podía ser el doble de rápido que el proceso de obtener el valor con un ciclo de lectura-escritura, incrementar (o decrementar) el valor en algún registro del procesador y luego escribir el nuevo valor con otro ciclo de lectura-escritura.

Otras formas de memoria central

Un plano de memoria de núcleo magnético de 10,8  × 10,8 cm con 64 × 64 bits (4 Kb), como el que se usa en un CDC 6600. La imagen insertada muestra la arquitectura de línea de palabra con dos cables por bit.   

La memoria de núcleo de línea de palabra se usaba a menudo para proporcionar memoria de registro. Otros nombres para este tipo son selección lineal y 2-D . Esta forma de memoria de núcleo normalmente entrelazaba tres cables a través de cada núcleo en el plano: lectura de palabra , escritura de palabra y detección/escritura de bit . Para leer o borrar palabras, se aplica la corriente completa a una o más líneas de lectura de palabra ; esto borra los núcleos seleccionados y cualquier otro que cambie induce pulsos de voltaje en sus líneas de detección/escritura de bit . Para la lectura, normalmente solo se seleccionaba una línea de lectura de palabra ; pero para el borrado, se podían seleccionar varias líneas de lectura de palabra mientras que las líneas de detección/escritura de bit se ignoraban. Para escribir palabras, se aplica la mitad de la corriente a una o más líneas de escritura de palabra , y la mitad de la corriente se aplica a cada línea de detección/escritura de bit para un bit que se va a establecer. En algunos diseños, las líneas de lectura y escritura de palabra se combinaban en un solo cable, lo que resultaba en una matriz de memoria con solo dos cables por bit. Para la escritura, se podían seleccionar varias líneas de escritura de palabra . Esto ofrecía una ventaja de rendimiento sobre la corriente coincidente de línea X/Y, ya que se podían borrar o escribir varias palabras con el mismo valor en un solo ciclo. El conjunto de registros de una máquina típica suele utilizar solo un pequeño plano de este tipo de memoria de núcleo. Algunas memorias de gran capacidad se construyeron con esta tecnología, por ejemplo, la memoria auxiliar Extended Core Storage (ECS) del CDC 6600 , que alcanzaba hasta 2 millones de palabras de 60 bits.

Memoria de cuerda central

La memoria de núcleos magnéticos es una forma de memoria de solo lectura (ROM) de memoria de núcleos magnéticos. En este caso, los núcleos, que tenían materiales magnéticos más lineales, simplemente se usaban como transformadores ; no se almacenaba información magnéticamente dentro de cada núcleo. Cada bit de la palabra tenía un núcleo. La lectura del contenido de una dirección de memoria determinada generaba un pulso de corriente en un cable correspondiente a esa dirección. Cada cable de dirección se pasaba a través de un núcleo para indicar un 1 binario, o alrededor del exterior de ese núcleo para indicar un 0 binario. Como era de esperar, los núcleos eran físicamente mucho más grandes que los de la memoria de núcleos de lectura y escritura. Este tipo de memoria era excepcionalmente fiable. Un ejemplo fue el ordenador de guía del programa Apolo, utilizado para los alunizajes de la NASA .

Características físicas

Velocidad

El rendimiento de las primeras memorias de núcleo puede caracterizarse en términos actuales como comparable, aproximadamente, a una frecuencia de reloj de 1 MHz (equivalente a las computadoras domésticas de principios de la década de 1980, como la Apple II y la Commodore 64 ). Los primeros sistemas de memoria de núcleo tenían tiempos de ciclo de aproximadamente 6 μs , que se redujeron a 1,2 μs a principios de la década de 1970, y a mediados de los 70 se redujeron a 600 ns (0,6 μs). Algunos diseños tenían un rendimiento sustancialmente mayor: el CDC 6600 tenía un tiempo de ciclo de memoria de 1,0 μs en 1964, utilizando núcleos que requerían una corriente de selección parcial de 200 mA. [ 42 ] Se hizo todo lo posible para disminuir los tiempos de acceso y aumentar las tasas de datos (ancho de banda). Para mitigar los tiempos de lectura, a menudo lentos, de la memoria principal, las operaciones de lectura y escritura se paralelizaban con frecuencia, configurando matrices de memoria de un solo bit, equivalentes a una palabra, para que trabajaran conjuntamente de manera que se pudiera leer una palabra completa de memoria en un único ciclo de acceso a la memoria.       

Fiabilidad

La memoria de núcleo es un almacenamiento no volátil : puede retener su contenido indefinidamente sin alimentación eléctrica. Además, es relativamente inmune a los pulsos electromagnéticos (EMP) y la radiación. Estas fueron ventajas importantes para algunas aplicaciones, como los controladores programables industriales de primera generación , las instalaciones militares y vehículos como los aviones de combate , así como las naves espaciales , y llevaron a que la memoria de núcleo se utilizara durante varios años después de la disponibilidad de la memoria MOS de semiconductores (véase también MOSFET ). Por ejemplo, las computadoras de vuelo IBM AP-101B del transbordador espacial utilizaban memoria de núcleo, que preservó el contenido de la memoria a pesar de la desintegración del Challenger poco después de su lanzamiento en 1986. [ 43 ]

Sensibilidad a la temperatura

Otra característica de los primeros núcleos de memoria era que la fuerza coercitiva era muy sensible a la temperatura; la corriente de selección parcial adecuada a una temperatura no lo era a otra. Por lo tanto, un controlador de memoria incluía un sensor de temperatura (normalmente un termistor ) para ajustar correctamente los niveles de corriente ante los cambios de temperatura. Un ejemplo de esto es la memoria de núcleos utilizada por Digital Equipment Corporation para su ordenador PDP-1 ; esta estrategia se mantuvo en todos los sistemas de memoria de núcleos posteriores fabricados por DEC para su línea de ordenadores PDP con refrigeración por aire.

Otro método para controlar la sensibilidad a la temperatura consistía en encerrar el núcleo magnético en un horno con temperatura controlada. Ejemplos de esto son la memoria de núcleo de aire caliente del IBM 1620 (que podía tardar hasta 30 minutos en alcanzar la temperatura de funcionamiento , unos 41 ° C) y la memoria de núcleo de baño de aceite caliente del IBM 7090 , los primeros IBM 7094 y el IBM 7030. El núcleo se calentaba en lugar de enfriarse porque el requisito principal era una temperatura constante , y era más fácil (y más barato) mantener una temperatura constante muy por encima de la temperatura ambiente que una igual o inferior a ella.  

Diagnóstico

El diagnóstico de problemas de hardware en la memoria principal requería la ejecución de programas de diagnóstico que consumían mucho tiempo. Mientras que una prueba rápida verificaba si cada bit podía contener un uno y un cero, estos diagnósticos probaban la memoria principal con patrones de peor caso y debían ejecutarse durante varias horas. Como la mayoría de las computadoras tenían una sola placa de memoria principal, estos diagnósticos también se movían dentro de la memoria, lo que permitía probar cada bit. Una prueba avanzada se llamaba " prueba Shmoo ", en la que se modificaban las corrientes de selección parcial junto con el tiempo en el que se probaba la línea de detección ("estroboscópica"). El gráfico de datos de esta prueba parecía asemejarse a un personaje de dibujos animados llamado " Shmoo ", y el nombre se popularizó. En muchas ocasiones, los errores podían resolverse golpeando suavemente la placa de circuito impreso con la matriz de núcleos sobre una mesa. Esto cambiaba ligeramente las posiciones de los núcleos a lo largo de los cables que los atravesaban y podía solucionar el problema. El procedimiento rara vez era necesario, ya que la memoria principal demostró ser muy fiable en comparación con otros componentes informáticos de la época.

Véase también

Notas

  1. Internamente, la memoria Moby tenía 40 bits por palabra, pero no estaban expuestos al procesador PDP-10.

Referencias

  1. "Computadora para Apolo" . MIT Science Reporter . 1965. WGBH .
  2. Eckert, J. Presper (octubre de 1953). "Un estudio de los sistemas de memoria de computadoras digitales". Actas del IRE . 41 (10). EE. UU.: IEEE: 1393–1406 . Bibcode : 1953PIRE...41.1393E . doi : 10.1109/JRPROC.1953.274316 . ISSN 0096-8390 . S2CID 8564797 .  
  3. US 2590091 , George C. Devol y Erik B. Hansell, "Dispositivo magnético de almacenamiento y detección", publicado el 10 de abril de 1956. 
  4. US 2741757 , George C. Devol y Erik B. Hansell, "Dispositivo magnético de almacenamiento y detección", publicado el 10 de abril de 1956. 
  5. US 2926844 , George C. Devol, "Dispositivo de detección para registro magnético", publicado el 1 de marzo de 1960 
  6. US 3035253 , George C. Devol, "Dispositivos de almacenamiento magnético", publicado el 15 de mayo de 1962 
  7. US 3016465 , George C. Devol y Erik B. Hansel, "Detectores de coincidencia", publicado el 9 de enero de 1962 
  8. US 3246219 , George C. Devol y Maurice J. Dunne, "Dispositivos ferroresonantes", publicado el 12 de abril de 1966 
  9. 1 2 Reilly, Edwin D. (2003). Hitos en ciencias de la computación y tecnología de la información . Westport, CT: Greenwood Press. pág. 164. ISBN  1-57356-521-0.
  10. "Entrevista a Wang, los primeros trabajos de An Wang en memorias centrales" . Datamation . EE. UU.: Technical Publishing Company: 161–163 . Marzo de 1976.
  11. US 2708722 , Wang, An, "Dispositivo de control de transferencia de pulsos", publicado el 17 de mayo de 2020 
  12. Forrester, Jay W. (1951). "Almacenamiento de información digital en tres dimensiones mediante núcleos magnéticos". Journal of Applied Physics . 22 (1): 44– 48. Bibcode : 1951JAP....22...44F . doi : 10.1063/1.1699817 .
  13. US 2736880 , Forrester, Jay W., "Dispositivo de almacenamiento de información digital multicoordinado", publicado el 28 de febrero de 1956 
  14. "Whirlwind" (PDF) . Informe del Museo de la Computación . Massachusetts: Museo de la Computación: 13. Invierno de 1983 vía Microsoft.
  15. Evans, Christopher (julio de 1983). "Conversación: Jay W. Forrester". Anales de la Historia de la Computación . 5 (3): 297– 301. Bibcode : 1983IAHC....5c.297E . doi : 10.1109/mahc.1983.10081 . S2CID 25146240 . 
  16. Kleiner, Art (4 de febrero de 2009). "Jay Forrester's Shock to the System" . The MIT Sloan Review . EE. UU . Consultado el 1 de abril de 2018 .
  17. Jan A. Rajchman, Sistema magnético, patente estadounidense 2,792,563 , otorgada el 14 de mayo de 1957.
  18. Hittinger, William (1992). "Jan A. Rajchman" . Homenajes conmemorativos . 5. EE. UU.: Academia Nacional de Ingeniería: 229.
  19. Hayes, John P. (1978). Arquitectura y organización de computadoras . McGraw-Hill International Book Company. pág. 21. ISBN  0-07-027363-4.
  20. Redmond, Kent C.; Smith, Thomas M. (1980). Proyecto Whirlwind: La historia de una computadora pionera . Bedford, Mass.: Digital Press. pág. 215. ISBN  0932376096.
  21. Auerbach, Isaac L. (2 de mayo de 1952). "Un sistema de memoria magnética estática para el ENIAC" . Actas de la reunión nacional de la ACM de 1952 (Pittsburgh) - ACM '52 . págs. 213–222 . doi : 10.1145/609784.609813 . ISBN  9781450373623. S2CID 17518946 . {{cite book}}: Incompatibilidad de ISBN/Fecha ( ayuda )
  22. Pugh, Emerson W.; Johnson, Lyle R.; Palmer, John H. (1991). IBM's 360 and Early 370 Systems . MIT Press. p. 32. ISBN  978-0-262-51720-1.
  23. Clarence Schultz y George Boesen, Selectores para fonógrafos automáticos, patente estadounidense 2923553A , concedida el 2 de febrero de 1960.
  24. "An Wang vende patente de memoria central a IBM" . EE. UU.: Museo de Historia de la Computación . Consultado el 12 de abril de 2010 .
  25. "Memoria de núcleo magnético" . CHM Revolution . Museo de Historia de la Computación . Consultado el 1 de abril de 2018 .
  26. Pugh, Johnson y Palmer 1991 , pág. 182 
  27. Pugh, Johnson y Palmer 1991 , págs. 204–6 
  28. Walter P. Shaw y Roderick W. Link, Método y aparato para enroscar artículos perforados, patente estadounidense 2,958,126 , otorgada el 1 de noviembre de 1960.
  29. Bashe, Charles J.; Johnson, Lyle R.; Palmer, John H. (1986). IBM's Early Computers . Cambridge, MA: MIT Press. pág. 268. ISBN  0-262-52393-0.
  30. Robert L. Judge, Método y aparato para enhebrar alambre, patente estadounidense 3,314,131 , otorgada el 18 de abril de 1967.
  31. Ronald A. Beck y Dennis L. Breu, Método de encordado de parches centrales, patente estadounidense 3,872,581 , otorgada el 25 de marzo de 1975.
  32. 1 2 Creighton D. Barnes, et al., Dispositivo de almacenamiento de núcleo magnético que tiene un solo bobinado para la función de detección e inhibición, Patente estadounidense 3,329,940 , otorgada el 4 de julio de 1967.
  33. 1 2 Victor L. Sell y Syed Alvi, Matriz de memoria de núcleo de alta densidad, patente estadounidense 3,711,839 , otorgada el 16 de enero de 1973.
  34. "Historial del proyecto: Memoria de núcleo magnético" . web.mit.edu . Archivado del original el 14 de julio de 2023. Consultado el 14 de julio de 2023 .
  35. Norman, P. Glenn (1987), "La nueva computadora de propósito general (GPC) AP101S para el transbordador espacial", IEEE Proceedings , 75 (3): 308–319 , Bibcode : 1987IEEEP..75..308N , doi : 10.1109/PROC.1987.13738 , S2CID 19179436 
  36. Stormont, DP; Welgan, R. (23–27 de mayo de 1994). «Gestión de riesgos para la actualización informática del B-1B» . Actas de la Conferencia Nacional Aeroespacial y Electrónica (NAECON'94) . Vol. 2. págs. 1143–1149 . doi : 10.1109/NAECON.1994.332913 . ISBN   0-7803-1893-5. S2CID 109575632 . 
  37. Proyecto MAC. Informe de progreso IV. Julio de 1966-julio de 1967 (PDF) (Informe). Instituto Tecnológico de Massachusetts. pág. 18. 681342. Consultado el 11 de julio de 2025 . 
  38. Eric S. Raymond , Guy L. Steele , The New Hacker's Dictionary , 3.ª edición, 1996, ISBN 0262680920, basado en el Jargon File , sv 'moby', pág. 307
  39. "Memoria 'Moby' de núcleo masivo FABRI-TEK" . Museo de Historia de la Computación . EE. UU. 4 de agosto de 1967. 102731715. Consultado el 7 de diciembre de 2020 .
  40. Krakauer, Lawrence J. "Moby Memory" . Consultado el 7 de diciembre de 2020 .
  41. Levy, Steven (2010). Hackers: Héroes de la revolución informática ( edición del 25.º aniversario). pág. 98. ISBN   978-1-4493-9374-8.
  42. "Sección 4". Manual de capacitación de Control Data 6600. Control Data Corporation. Junio ​​de 1965. Número de documento 60147400.
  43. "Memoria de núcleo magnético" . EE. UU.: Laboratorio Nacional de Altos Campos Magnéticos: Museo de Electricidad y Magnetismo. Archivado del original el 10 de junio de 2010.
  • "Tutorial interactivo - Memoria de núcleo magnético" . Laboratorio Nacional de Altos Campos Magnéticos . Consultado el 27 de noviembre de 2023 .
  • "Memoria central" . Universidad de Columbia . Consultado el 9 de mayo de 2025 .
  • "Núcleos magnéticos" . Fundamentos de informática digital (Manual de capacitación). Comando de educación y entrenamiento naval. 1978. págs.  95–. NAVEDTRA 10088-B.
  • "Memoria central en el PDP-11" . Archivado del original el 24 de octubre de 2009.
  • "Memoria central y otros tipos de memoria primitiva" . Consultado el 15 de abril de 2006 .
  • "Recuerdos coincidentes de núcleos de ferrita de corriente" . Byte . Julio de 1976.
  • " Calculadora Casio AL-1000 " .– Muestra primeros planos de la memoria de núcleo magnético de esta calculadora electrónica de sobremesa de mediados de la década de 1960.
  • En un museo informático alemán todavía se utiliza memoria de núcleos en varios dispositivos.
  • Werner, GE; Whalen, RM; Lockhart, NF; Flaker, RC (marzo de 1967). "Una memoria de núcleo de ferrita de 110 nanosegundos" (PDF) . IBM Journal of Research and Development . 11 (2): 153– 161. doi : 10.1147/rd.112.0153 . Archivado del original (PDF) el 26 de febrero de 2009.
  • "Información básica sobre la memoria principal de los ordenadores" .
  • "Módulo de memoria central, Saturno V" . Museo Nacional del Aire y del Espacio, Smithsonian . EE. UU.