stringtranslate.com

Memoria de núcleo magnético

Un plano de memoria de 32 × 32 núcleos que almacena 1024 bits (o 128 bytes ) de datos. Los pequeños anillos negros en las intersecciones de los cables de la red, 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 central utiliza toroides (anillos) de un material magnético duro (normalmente una ferrita semidura ). Cada núcleo almacena un bit de información. Dos o más cables pasan por cada núcleo, formando una matriz XY de núcleos. Cuando se aplica una corriente eléctrica por encima de 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 a la mitad de la potencia requerida, de modo que solo se escriba el núcleo único en la intersección. Dependiendo de la dirección de las corrientes, el núcleo captará un campo magnético en el sentido de las agujas del reloj o en el sentido contrario, almacenando un 1 o un 0.

Este proceso de escritura también hace que se induzca electricidad en los cables cercanos. Si el nuevo pulso que se aplica en los cables XY es el mismo que el último aplicado a ese núcleo, el campo existente no hará nada y no se producirá ninguna inducción. Si el nuevo pulso está en la dirección opuesta, se generará un pulso. Este normalmente se capta en un cable "detección" separado, lo que permite al sistema saber si ese núcleo contenía un 1 o un 0. Como este proceso de lectura requiere que se escriba en el núcleo, este proceso se conoce como lectura destructiva y requiere circuitos adicionales para restablecer el núcleo a su valor original si el proceso lo invirtió.

Cuando no se leen ni escriben, los núcleos mantienen 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 se haya cableado, la memoria de núcleo podría ser excepcionalmente confiable. La memoria de núcleo de cuerda de solo lectura , por ejemplo, se utilizó en la computadora de guía de misión crítica Apollo, esencial para los exitosos alunizajes de la NASA . [1]

Al utilizar núcleos y cables más pequeños, la densidad de memoria de los núcleos aumentó lentamente. A finales de los años 60, la densidad típica era de unos 32 kilobits por pie cúbico (unos 0,9 kilobits por litro). El coste se redujo durante este período de aproximadamente 1 dólar por bit a aproximadamente 1 centavo por bit. Alcanzar esta densidad requiere una fabricación extremadamente cuidadosa, que casi siempre se llevaba a cabo a mano a pesar de los repetidos esfuerzos importantes por automatizar el proceso. Los núcleos eran casi universales hasta la introducción de los primeros chips de memoria semiconductores a finales de los años 60, y especialmente la memoria dinámica de acceso aleatorio (DRAM) a principios de los años 70. Inicialmente, con un precio similar al del núcleo, la DRAM era más pequeña y más sencilla de utilizar. El núcleo fue retirado del mercado gradualmente entre 1973 y 1978.

Aunque la memoria central está obsoleta, a la memoria de la computadora todavía se la llama "núcleo" a pesar de que está hecha de semiconductores, particularmente por personas que han trabajado con máquinas que tenían memoria central real. Los archivos que resultan de guardar todo el contenido de la memoria en un disco para su inspección, lo que hoy en día se realiza de manera automática cuando ocurre un error importante en un programa de computadora, todavía se llaman " volcados de núcleo ". Los algoritmos que funcionan con más datos de los que puede acomodar la memoria principal también se denominan algoritmos fuera del núcleo . Los algoritmos que solo funcionan dentro de la memoria principal a veces se denominan algoritmos en el núcleo.

Historia

Desarrolladores

Memoria central del proyecto Whirlwind

El concepto básico de utilizar el bucle de histéresis cuadrado de ciertos materiales magnéticos como dispositivo de almacenamiento o conmutación se conocía desde los primeros días del desarrollo de las computadoras. Gran parte de este conocimiento se había desarrollado debido a la comprensión de los transformadores , que permitían la amplificación y el rendimiento similar al de un interruptor cuando se construían utilizando 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 los sistemas informáticos fue inmediata. Por ejemplo, J. Presper Eckert y Jeffrey Chuan Chu habían realizado un trabajo de desarrollo sobre el 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é a partir de 1947. Un sistema central completamente desarrollado fue patentado en 1947, y luego comprado por IBM en 1956. [9] Sin embargo, este desarrollo era poco conocido y el desarrollo general del núcleo 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 utilizando un par de transformadores, uno que contenía el valor y un segundo utilizado 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 cronometraban de modo que el campo en los transformadores no se hubiera desvanecido antes de que llegara el siguiente pulso. Si el campo del transformador de almacenamiento coincidía con el campo creado por el pulso, entonces la energía total haría que se inyectara un pulso en el siguiente par de transformadores. Aquellos que no contenían un valor simplemente se desvanecían. De este modo, 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 devolvían al inicio de la cadena para mantener los valores en constante ciclo a través del sistema. [11] Estos sistemas tienen la desventaja de no ser de acceso aleatorio, y para leer un valor en particular hay que esperar a que pase por la cadena. 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 inventos creados en sus laboratorios. Wang pudo patentar el sistema por su cuenta.

El 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. A finales de la década de 1940, varios investigadores 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 permitía el almacenamiento de información en 3D. [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 confiabilidad con la consiguiente reducción en el 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) aumentando así la velocidad de operación de la computadora". [14]

En abril de 2011, Forrester recordó: "El uso de núcleos por parte de Wang no tuvo ninguna influencia en mi desarrollo de la memoria de acceso aleatorio. La memoria de Wang era cara y complicada. Según recuerdo, lo que puede no ser del todo correcto, utilizaba dos núcleos por bit binario y era esencialmente una línea de retardo que se movía un bit hacia adelante. En la medida en que me concentré en ella, el enfoque no era adecuado para nuestros propósitos". Describe la invención y los eventos asociados en 1975. [15] Forrester ha observado desde entonces: "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 siete años siguientes 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 del núcleo fue Jan A. Rajchman de RCA . Un inventor prolífico, Rajchman diseñó un sistema de núcleo único utilizando bandas de ferrita envueltas alrededor de tubos de metal delgados, [17] construyendo sus primeros ejemplos utilizando una prensa de aspirinas modificada en 1949. [9] Rajchman luego 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, de An Wang, fue el ciclo de escritura después de lectura, que resolvió el problema de cómo utilizar un medio de almacenamiento en el que el acto de lectura borraba los datos leídos, lo que permitió la construcción de un registro de desplazamiento unidimensional en serie (de 50 bits), utilizando dos núcleos para almacenar un bit. Un registro de desplazamiento de núcleo de Wang se encuentra en la exhibición Revolution en el Museo de Historia de la Computación . El segundo, de Forrester, fue el sistema de corriente coincidente, que permitió que una pequeña cantidad de cables controlaran una gran cantidad de núcleos, lo que permitió 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 que 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 jukeboxes , comenzando con el V200 desarrollado en 1953 y lanzado en 1955. [23] Siguieron numerosos usos en informática, telefonía y control de procesos industriales .

Disputas sobre patentes

La patente de Wang no fue otorgada hasta 1955, y para ese 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 directamente a Wang por US$500.000 . [24] Wang utilizó los fondos para expandir en gran medida 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 central. 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 encadenados costaban 0,33 dólares cada uno. A medida que el volumen de fabricación aumentó, en 1970 IBM producía 20 mil millones de núcleos por año, y el precio por núcleo cayó a 0,0003 dólares . Los tamaños de los núcleos se redujeron 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 caída en el consumo de energía por un factor de 125.

El costo de los sistemas de memoria de núcleo completos dependía en gran medida del costo de pasar los cables a través de los núcleos. El sistema de corriente coincidente de Forrester requería que uno de los cables se colocara a 45 grados de los núcleos, lo que resultó difícil de conectar a máquina, por lo que los conjuntos de núcleos debían ser ensamblados bajo microscopios por trabajadores con control motor fino.

En 1956, un grupo de IBM presentó una solicitud de patente para una máquina que enhebraba 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 serie 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 enhebrar las líneas de selección X e Y rectas de 25 horas a 12 minutos en una matriz de núcleos de 128 por 128. [29]

Los núcleos más pequeños hicieron que el uso de agujas huecas fuera poco práctico, pero hubo numerosos avances en el enhebrado de núcleos semiautomático. Se desarrollaron nidos de soporte con canales guía. Los núcleos se adherían permanentemente a un "parche" de lámina de soporte que los sostenía durante la fabricación y el uso posterior. Las agujas de enhebrado se soldaban a tope a los alambres, los diámetros de las agujas y los alambres eran los mismos 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ó un empaquetamiento mucho más compacto de los núcleos en cada parche. [32] [33]

A principios de los años 1960, el coste de los núcleos se redujo hasta el punto de que se convirtieron en memorias principales casi universales, reemplazando tanto a las memorias de tambor de bajo rendimiento y de bajo costo como a los costosos sistemas de alto rendimiento que utilizaban tubos de vacío y, más tarde, transistores discretos como memoria. El coste de las memorias de núcleo se redujo drásticamente durante la vida útil de la tecnología: los costes comenzaron en aproximadamente 1 dólar estadounidense por bit y bajaron a aproximadamente 0,01 dólar estadounidense por bit.

La memoria central quedó obsoleta debido a las memorias de circuitos integrados de semiconductores en la década de 1970, aunque siguió utilizándose para aplicaciones de misión crítica y alta confiabilidad en el IBM System/4 Pi AP-101 (usado 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 central en la década de 1960 fue la  unidad de memoria central de 256K de 36 bits (1,2 MiB [37] ) instalada en el PDP-6 en el Laboratorio de Inteligencia Artificial del MIT en 1967. [38] En su momento, se la consideró "inimaginablemente enorme" y se la apodó "Memoria Moby". [39] Costaba 380.000 dólares (0,04 dólares por bit) y su anchura, altura y profundidad eran de 175 cm × 127 cm × 64 cm (69 pulgadas × 50 pulgadas × 25 pulgadas) con su circuito de apoyo (189 kilobits/pie cúbico = 6,7 kilobits/litro). Su tiempo de ciclo era de 2,75 μs. [40] [41] [42]

En 1980, el precio de una placa de memoria de 16 kW ( kilopalabra , equivalente a 32 kB) que se instalaba en un ordenador DEC Q-bus rondaba los 3.000 dólares estadounidenses . En aquel momento, el conjunto de núcleos y la electrónica de apoyo podían caber en una única placa de circuito impreso de unos 25 cm × 20 cm (10 pulgadas × 8 pulgadas) de tamaño; el conjunto de núcleos se montaba unos pocos mm por encima de la PCB y se protegía con una placa de metal o plástico. [ cita requerida ]

Descripción

Diagrama de un plano 4x4 de memoria de núcleo magnético en una configuración de corriente coincidente de línea X/Y. X e Y son líneas de accionamiento, S es detección, Z es inhibición. Las flechas indican la dirección de la corriente para escritura.
Primer plano de un plano central. La distancia entre los anillos es de aproximadamente 1 mm (0,04 in). Los cables verdes horizontales son X; los cables Y son de color marrón opaco y verticales, 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 vez a través de cualquier núcleo dado: son dispositivos de una sola vuelta. Las propiedades de los materiales utilizados para los núcleos de memoria son drásticamente 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 magnetización. El núcleo puede tomar dos estados, codificando un bit . El contenido de la memoria del núcleo se conserva incluso cuando se apaga el sistema de memoria ( memoria no volátil ). Sin embargo, cuando se lee el núcleo, se restablece a un valor "cero". Los circuitos en el sistema de memoria de la computadora luego restauran 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 un plano de memoria central PDP-8 basado en Omnibus. Este es el del medio de los tres y contiene la matriz de núcleos de ferrita reales.
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 línea X/Y de corriente coincidente , utilizada para la memoria principal de una computadora, consiste en una gran cantidad de pequeñas ferritas cerámicas ferromagnéticas toroidales ( núcleos ) unidas en una estructura de rejilla (organizada como una "pila" de capas llamadas planos ), con cables tejidos a través de los agujeros 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 distribuía en una "pila" de planos. Cada plano manipularía un bit de una palabra en paralelo , lo que permitiría leer o escribir la palabra completa en un ciclo.

El núcleo se basa en las propiedades de bucle de histéresis cuadrada del material de ferrita utilizado para hacer 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 una cierta intensidad ("selección") 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 Y se activan con la mitad de la corriente ("selección media") necesaria para provocar 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 verán solo la mitad del campo necesario ("selección media"), o ninguno en absoluto. Al conducir la corriente a través de los cables en una dirección particular, el campo inducido resultante obliga 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 sentido contrario). Una dirección es un 1 almacenado , mientras que la otra es un 0 almacenado .

La forma toroidal de un núcleo es la preferida porque el camino magnético es cerrado, no hay polos magnéticos y, por lo tanto, hay muy poco flujo externo. Esto permite que los núcleos se junten estrechamente sin que sus campos magnéticos interactúen. La posición alternada de 45 grados utilizada en los primeros conjuntos de núcleos fue necesaria debido a los cables de detección diagonales. Con la eliminación de estos cables diagonales, fue posible un empaquetamiento más compacto. [33]

Lectura y escritura

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") según el 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 central, el circuito intenta cambiar el bit a la polaridad asignada al estado 0, activando las líneas X e Y seleccionadas que se cruzan en ese núcleo.

La detección de dicho pulso significa que el bit había contenido recientemente un 1. La ausencia del pulso significa que el bit había contenido un 0. El retraso en la detección del pulso de voltaje se denomina tiempo de acceso a la memoria central.

Después de cualquier lectura de este tipo, el bit contiene un 0. Esto ilustra por qué un acceso a la memoria del núcleo se denomina lectura destructiva : cualquier operación que lea el contenido de un núcleo borra ese contenido y debe volver a crearse inmediatamente.

Escribiendo

Para escribir un bit de memoria central, el circuito supone que ha habido una operación de lectura y que el bit está en el estado 0.

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 los dos en un solo cable y utilizaron circuitos en el controlador de memoria para cambiar la función del cable.

Sin embargo, cuando el cable Sense cruza demasiados núcleos, la corriente de selección a la mitad también puede inducir un voltaje considerable en toda la línea debido a la superposición del voltaje en cada núcleo individual. Este riesgo potencial de "lectura incorrecta" limita la cantidad mínima de cables Sense.

Aumentar los cables Sense también requiere más circuitos de decodificación.

Lectura y escritura combinadas con modificación

Los controladores de memoria central se diseñaron de modo que cada lectura fuera seguida inmediatamente por una escritura (porque la lectura obligaba a que todos los bits se pusieran a 0 y porque la escritura suponía que esto había sucedido). Los conjuntos de instrucciones se diseñaron para aprovechar esto.

Por ejemplo, un valor en la memoria podía leerse y modificarse casi tan rápido como podía leerse y escribirse. 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 solo ciclo de memoria (quizás indicando al controlador de memoria que hiciera una breve pausa en medio del ciclo). Esto podrí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

Plano de memoria de núcleo magnético de 10,8 × 10,8 cm con 64 × 64 bits (4 Kb), como el que se utiliza en un CDC 6600. El recuadro muestra la arquitectura de línea de palabras 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 generalmente tejía 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 cualquiera que induzca pulsos de voltaje en sus líneas de detección/escritura de bit . Para leer, normalmente solo se seleccionaría una línea de lectura de palabra ; pero para borrar, se podrían seleccionar múltiples líneas de lectura de palabra mientras se ignoran las líneas de detección/escritura de bit . 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 que se establezca un bit. En algunos diseños, las líneas de lectura de palabra y escritura de palabra se combinaron en un solo cable, lo que resultó en una matriz de memoria con solo dos cables por bit. Para escribir, se podrían seleccionar múltiples líneas de escritura de palabra . Esto ofrecía una ventaja de rendimiento sobre la corriente coincidente de la 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 solía utilizar solo un pequeño plano de esta forma de memoria central. Se construyeron algunas memorias muy grandes con esta tecnología, por ejemplo, la memoria auxiliar de almacenamiento central extendido (ECS) en el CDC 6600 , que tenía hasta 2 millones de palabras de 60 bits.

Memoria del núcleo de la cuerda

La memoria de núcleo es una forma de memoria de solo lectura (ROM) de memoria de núcleo. En este caso, los núcleos, que tenían materiales magnéticos más lineales, se usaban simplemente como transformadores ; en realidad, no se almacenaba información magnéticamente dentro de los núcleos individuales. Cada bit de la palabra tenía un núcleo. La lectura del contenido de una dirección de memoria dada generaba un pulso de corriente en un cable correspondiente a esa dirección. Cada cable de dirección se enhebraba a través de un núcleo para significar un binario [1], o alrededor del exterior de ese núcleo, para significar un binario [0]. Como se esperaba, los núcleos eran físicamente mucho más grandes que los de la memoria de núcleo de lectura y escritura. Este tipo de memoria era excepcionalmente confiable. Un ejemplo fue la computadora de guía Apollo utilizada para los alunizajes de la NASA .

Características físicas

Velocidad

El rendimiento de las primeras memorias de núcleo se puede caracterizar en términos actuales como muy comparable a una velocidad de reloj de 1  MHz (equivalente a las computadoras domésticas de principios de la década de 1980, como el Apple II y el Commodore 64 ). Los primeros sistemas de memoria de núcleo tenían tiempos de ciclo de aproximadamente 6  μs , que habían caído a 1,2 μs a principios de la década de 1970, y a mediados de la década de 1970 había bajado 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 media selección de 200 mA. [43] Se hizo todo lo posible para disminuir los tiempos de acceso y aumentar las velocidades de datos (ancho de banda), incluido el uso simultáneo de múltiples cuadrículas de núcleo, cada una almacenando un bit de una palabra de datos. Por ejemplo, una máquina podría utilizar 32 cuadrículas de núcleo con un solo bit de la palabra de 32 bits en cada una, y el controlador podría acceder a toda la palabra de 32 bits en un solo ciclo de lectura/escritura.

Fiabilidad

La memoria de núcleo es un almacenamiento no volátil : puede retener su contenido indefinidamente sin energía. También es relativamente inafectada por EMP y radiación. Estas fueron ventajas importantes para algunas aplicaciones como controladores programables industriales de primera generación , instalaciones militares y vehículos como aviones de combate , así como naves espaciales , y llevaron a que el núcleo se usara durante varios años después de la disponibilidad de la memoria MOS de semiconductores (ver también MOSFET ). Por ejemplo, las computadoras de vuelo IBM AP-101B del transbordador espacial usaban memoria de núcleo, que preservó el contenido de la memoria incluso durante la desintegración y posterior caída al mar del Challenger en 1986. [44]

Sensibilidad a la temperatura

Otra característica de los primeros núcleos era que la fuerza coercitiva era muy sensible a la temperatura; la corriente de semiselección adecuada a una temperatura no es la corriente de semiselección adecuada a otra temperatura. Por lo tanto, un controlador de memoria incluiría un sensor de temperatura (normalmente un termistor ) para ajustar los niveles de corriente correctamente a los cambios de temperatura. Un ejemplo de esto es la memoria de núcleo utilizada por Digital Equipment Corporation para su computadora PDP-1 ; esta estrategia continuó a través de todos los sistemas de memoria de núcleo posteriores construidos por DEC para su línea PDP de computadoras refrigeradas por aire.

Otro método para manejar la sensibilidad de la temperatura era encerrar la "pila" del núcleo magnético en un horno de temperatura controlada. Ejemplos de esto son la memoria del núcleo de aire caliente del IBM 1620 (que podía tardar hasta 30 minutos en alcanzar la temperatura de funcionamiento , aproximadamente 106 °F (41 °C) y la memoria del núcleo con 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 a la misma o por debajo de ella.

Diagnóstico

El diagnóstico de problemas de hardware en la memoria central 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 central con patrones del peor caso y tenían que ejecutarse durante varias horas. Como la mayoría de las computadoras tenían una sola placa de memoria central, estos diagnósticos también se movían por la memoria, lo que hacía posible probar cada bit. Una prueba avanzada se llamaba " prueba Shmoo " en la que las corrientes de selección media se modificaban junto con el momento en el que se probaba la línea de detección ("strobed"). El gráfico de datos de esta prueba parecía parecerse a un personaje de dibujos animados llamado " Shmoo ", y el nombre se quedó. En muchas ocasiones, los errores se podían resolver 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 central demostró ser muy confiable en comparación con otros componentes de computadora de la época.

Véase también

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 ordenadores digitales". Actas del IRE . 41 (10). EE. UU.: IEEE: 1393–1406. doi :10.1109/JRPROC.1953.274316. ISSN  0096-8390. S2CID  8564797.
  3. ^ US 2590091, George C. Devol y Erik B. Hansell, "Dispositivo de almacenamiento y detección magnéticos", publicado el 10 de abril de 1956 
  4. ^ US 2741757, George C. Devol y Erik B. Hansell, "Dispositivo de almacenamiento y detección magnéticos", publicado el 10 de abril de 1956 
  5. ^ US 2926844, George C. Devol, "Dispositivo de detección de registros magnéticos", 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. ^ ab Reilly, Edwin D. (2003). Hitos en la informática y la tecnología de la información. Westport, CT: Greenwood Press. pág. 164. ISBN 1-57356-521-0.
  10. ^ "Entrevista a Wang, obra temprana de An Wang en Core Memories". 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 utilizando 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. ^ "Torbellino" (PDF) . Informe del Museo de la Computación . Massachusetts: Museo de la Computación: 13 de invierno de 1983, a través de Microsoft.
  15. ^ Evans, Christopher (julio de 1983). "Conversación: Jay W. Forrester". Anales de la historia de la informática . 5 (3): 297–301. 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, Magnetic System, patente estadounidense 2.792.563 , concedida 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) en - ACM '52 . págs. 213–222. doi :10.1145/609784.609813. ISBN 9781450373623. Número de identificación del sujeto  17518946.
  22. ^ Pugh, Emerson W.; Johnson, Lyle R.; Palmer, John H. (1991). Sistemas IBM 360 y primeros 370. MIT Press. pág. 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.: Computer History Museum . Consultado el 12 de abril de 2010 .
  25. ^ "Memoria de núcleo magnético". Revolución CHM . 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 roscar artículos perforados, patente estadounidense 2.958.126 , concedida el 1 de noviembre de 1960.
  29. ^ Bashe, Charles J.; Johnson, Lyle R.; Palmer, John H. (1986). Las primeras computadoras de IBM . Cambridge, MA: MIT Press. p. 268. ISBN 0-262-52393-0.
  30. ^ Robert L. Judge, Método y aparato para enhebrar alambre, patente estadounidense 3.314.131 , concedida el 18 de abril de 1967.
  31. ^ Ronald A. Beck y Dennis L. Breu, Core Patch Stringing Method, patente estadounidense 3.872.581 , concedida el 25 de marzo de 1975.
  32. ^ ab Creighton D. Barnes, et al., Dispositivo de almacenamiento de núcleo magnético que tiene un solo devanado para la función de detección e inhibición, patente de EE. UU. 3.329.940 , concedida el 4 de julio de 1967.
  33. ^ ab Victor L. Sell y Syed Alvi, Matriz de memoria de núcleo de alta densidad, patente estadounidense 3.711.839 , concedida el 16 de enero de 1973.
  34. ^ "Historia del proyecto: memoria de núcleo magnético". web.mit.edu . Archivado desde el original el 14 de julio de 2023 . Consultado el 14 de julio de 2023 .
  35. ^ Norman, P. Glenn (1987), "El nuevo ordenador 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 de la computadora 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.S2CID109575632  .​
  37. ^ Internamente, la memoria Moby tenía 40 bits por palabra, pero no estaban expuestos al procesador PDP-10.
  38. ^ Proyecto MAC. Informe de situación IV. Julio de 1966-julio de 1967 (PDF) (Informe). Instituto Tecnológico de Massachusetts. pág. 18. 681342. Archivado desde el original (PDF) el 8 de mayo de 2021. Consultado el 7 de diciembre de 2020 .
  39. ^ 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 
  40. ^ Memoria FABRI-TEK Mass Core 'Moby'. EE. UU. 4 de agosto de 1967. 102731715. Consultado el 7 de diciembre de 2020 . {{cite book}}: |website=ignorado ( ayuda )CS1 maint: location missing publisher (link)
  41. ^ Krakauer, Lawrence J. "Moby Memory" . Consultado el 7 de diciembre de 2020 .
  42. ^ Steven Levy, Hackers: Heroes of the Computer Revolution , 2010 (edición del 25.º aniversario), ISBN 1449393748 , pág. 98 
  43. ^ "Sección 4". Manual de capacitación de Control Data 6600. Control Data Corporation. Junio ​​de 1965. Número de documento 60147400.
  44. ^ "Memoria del núcleo magnético". EE. UU.: Laboratorio Nacional de Altos Campos Magnéticos: Museo de Electricidad y Magnetismo. Archivado desde el original el 10 de junio de 2010.

Enlaces externos