RAM: de vergeten geschiedenis
In mijn artikel uit 2023 over de evolutie van de rekenmachine klaagde ik over de manier waarop we de geschiedenis van computers onderwijzen. Ik vond dat we veel te veel credits geven aan Charles Babbage. We weten immers al sinds ten minste de 17e eeuw hoe we mechanische rekenmachines moeten maken; ook het concept van programmeerbare machines ging veel verder terug dan de geschriften van de Engelse polymath. De resterende flessenhals was voornamelijk technologisch: bij een schaal die verder ging dan bescheiden, maakten tandwielen en nokken het te omslachtig om data heen en weer te schuiven binnen een voldoende complexe rekenmachine.
De doorbraak was een elektronisch aangestuurd dataregister. Deze circuits maakten het mogelijk om berekeningsresultaten vast te leggen en deze vervolgens moeiteloos te routeren naar waar ze nodig waren, ongeacht hoe complex en uitgestrekt het totale ontwerp was. In tegenstelling tot de overpeinzingen van meneer Babbage, heeft de geschiedenis van dit "werkgeheugen" minder aandacht gekregen dan het verdient. We verwarren het vaak met de evolutie van bulkopslag en computer-I/O, en we vergeten dat RAM-beperkingen de belangrijkste rem waren op persoonlijke computers tot de laatste jaren van de 20e eeuw.
De bistabiele cel
De eerste praktische vorm van elektronisch geheugen was het relais. Een relais is in feite een mechanische schakelaar die wordt aangestuurd door een elektromagneet. De schakelactie kan kortstondig zijn — alleen zolang de elektromagneet onder spanning staat — of het kan aanhoudend zijn, waarbij het in de "aan"-stand blijft staan totdat een aparte "reset"-spoel wordt geactiveerd.
Latching-relais kunnen op een vrij voor de hand liggende manier worden gebruikt om bits op te slaan; een kortstondig relais kan ook zo worden bedraad dat het zichzelf vergrendelt door het relais zijn eigen stroom te laten leveren zodra de contacten gesloten zijn.
In dit circuit zal het indrukken van de "set"-knop het relais activeren en daarmee ook de parallelle relais-gestuurde schakelaar sluiten. De stroom blijft via dit pad lopen, zelfs nadat de "set"-knop is losgelaten. Om het circuit te ontgrendelen, moet de normaal gesloten (NC) "reset"-knop worden ingedrukt om de stroomtoevoer te onderbreken.
Relais-gebaseerd hoofdgeheugen speelde een prominente rol in wat waarschijnlijk de eerste echte elektronische computer was, de Z3 van Konrad Zuse (circa 1938). Elektromechanische relais hebben schakelsnelheden die worden gemeten in tientallen hertz; meneer Zuse begreep vanaf het begin dat deze technologie een doodlopende weg was. Hij koos voor de praktische route in de hoop op langetermijnfinanciering van het Nazi-regime. Helaas voor hem — en gelukkig voor een groot deel van Europa — waren de functionarissen niet onder de indruk en kwam de financiering nooit tot stand.
Zuse's tegenhangers aan de geallieerde zijde hadden meer geluk: vroege successen in cryptanalyse stelden hen in staat om kostbaardere en ingewikkeldere ontwerpen met vacuümbuizen na te streven. De blauwdruk voor een geheugencel op basis van buizen kwam van William Eccles en Frank Wilfred Jordan — een grotendeels vergeten duo Britse uitvinders die het volgende bistabiele circuit voorstelden als vervanging voor een elektromechanisch relais:
Het circuit vergrendelt wanneer een ingangsstroom door de transformatiewikkeling aan de linkerzijde vloeit. Dit maakt de G1-roosterspanning kortstondig positiever, waardoor de stroombalans tussen de buizen in een zelfversterkende feedbackloop wordt verstoord.
In moderne termen zouden beide circuits worden beschreven als set-reset (SR) latches. Hun fundamentele werking is identiek aan de cellen die de huidige high-speed, low-power SRAM-geheugens vormen die te vinden zijn op de dies van de meeste microcontrollers en microprocessors. Een hedendaags tekstboekvoorbeeld van een SR-architectuur zou dit zijn:
Om het circuit te analyseren, kunnen we kijken naar wat er gebeurt als de "reset"-lijn hoog is. In dit scenario is één ingang van de AND-poort altijd nul, waardoor het circuit "0" uitvoert, ongeacht wat er aan de OR-zijde gebeurt.
Omgekeerd, als "reset" laag is, werkt de AND-poort als een doorlaat voor de OR. Wat betreft de OR zelf: als "set" hoog is, voert deze onvoorwaardelijk "1" uit. Maar als "set" niet wordt geactiveerd, geeft de OR de vorige outputwaarde van het circuit door via de feedbackloop bovenin het schema. In effect is het apparaat bij S = R = 0 vergrendeld en slaat het één bit aan data op die representatief is voor wat er eerder op de S- en R-ingangslijnen verscheen.
We zouden hier kunnen eindigen, op één klein detail na: de meeste computers met vacuümbuizen gebruikten geen vacuümbuisgeheugen voor het grootste deel van hun behoeften. De reden is duidelijk als we overwegen dat de geheugeneenheid in Zuse's Z3 ongeveer 2.000 relais vereiste, tegenover 600 voor de rest van de machine. De rekensom voor de relatief kostbare buizen was nog slechter, en dat is nog voordat we meerekenen dat elke buis aanzienlijke, constante stroom nodig had voor de gloeidraad. Kortom, tot de komst van large-scale integration (LSI) chips in het midden van de jaren 70, moest het hoofdgeheugen meestal op een andere manier worden gerealiseerd.
De draaimolen
De oplossing voor dit probleem waren "dynamische" geheugens die vertrouwden op relatief kortstondige fysieke verschijnselen — zoals statische elektriciteit of akoestiek — om informatie op te slaan in een goedkoop medium. Omdat het onderliggende fysieke proces slechts kort duurde, moesten de gegevens regelmatig worden opgehaald en opnieuw worden ververst (of opnieuw worden verzonden).
Een van de vroegste voorbeelden hiervan was de Atanasoff-Berry "computer" (ABC) — in werkelijkheid een geavanceerde maar niet-programmeerbare rekenmachine die een draaiende trommel gebruikte met een array van mechanisch geschakelde condensatoren.
De ladingsstatus van elke condensator vervoerde digitale informatie; de geleidelijke zelfontlading van de cellen maakte regelmatige verversing noodzakelijk. Dit was in veel opzichten de wegbereider voor het moderne DRAM. De DRAM-chips in onze desktopcomputers en smartphones gebruiken nog steeds condensatoren; we maken ze alleen in bulk op een silicium-die en hebben een manier om ze elektronisch te adresseren. Hoewel dit type geheugen trager is en meer stroom verbruikt dan SRAM, is het blijvende voordeel van DRAM dat het veel minder componenten — en dus minder ruimte op de die — vereist per opgeslagen bit.
Terug naar de vroege computing: een andere fascinerende incarnatie van dit idee waren de delay-line memories (vertragingslijngeheugens). Deze apparaten codeerden data als geluidsgolven die in een stuk materiaal werden gepompt en vervolgens aan de andere kant werden gedetecteerd. Omdat geluid tijd nodig heeft om zich voort te planten, konden een aantal bits "in vlucht" worden opgeslagen in een elektro-akoestische lus. Het belangrijkste voordeel was dat geluidsgolven vrij vlot voortplanten, waardoor de latentie van dit systeem veel beter was dan die van een draaiende condensatortrommel.
Het meest bizarre voorbeeld van dit genre is de kwikvertragingslijn. Zoals de naam al zegt, vertrouwden deze apparaten op het giftige metaal als medium voor geluidsgolven.
Wikipedia zal vertellen dat kwik werd gekozen omdat het uniek paste bij de akoestische impedantie van piëzo-elektrische transducers, maar ik denk dat dit een verkeerde interpretatie is van het oorspronkelijke patent (US2629827A). Het probleem met vast metaal was vermoedelijk dat de longitudinale snelheid van het geluid veel hoger was dan in vloeistoffen — dus kon men bij een bepaalde kloksnelheid en kolomlengte minder bits opslaan. Omgekeerd was het probleem met minder dichte en meer samendrukbare vloeistoffen mogelijk dat ze hoge frequenties dempten, wat de maximale verzendsnelheid verminderde. Al met al vermoed ik dat kwik simpelweg de optimale opslagcapaciteit bood voor die tijd — zolang je geen rekening hield met veiligheid of gewicht.
Gelukkig eindigde deze periode van de "mad scientist" op het moment dat iemand bedacht het metaal op te rollen om meer data in vlucht te kunnen accommoderen. Dit leidde tot het torsiegeheugen. Deze aanpak vertrouwde op akoestische golven die door veerstaaldraad reisden, maar ditmaal werd torsie (draaiing) gebruikt in plaats van longitudinale (duw-trek) beweging. Hierdoor kon de draad losjes worden opgerold en op zijn plaats worden gehouden met rubberen tussenstukken; bij longitudinale golven zou veel van de akoestische energie verloren gaan bij elke bocht.
Een andere fascinerende klasse van vroege dynamische geheugens omvatte de Williams-buis en de RCA Selectron-buis. Beiden hadden geen bewegende delen. Deze geheugens werkten enigszins als een beeldbuis (CRT), waarbij selectief elektronen op een fosfor-substraat werden afgevuurd en enkele honderden bits werden opgeslagen als een patroon van verlichte stippen. Hoewel de opgeslagen data met het blote oog zichtbaar was, vertrouwde het uitlezen op het detecteren van veranderingen in elektrostatische velden. In essentie werden elektronen rondgestuwd in de fosforlaag, waardoor een netto lading ontstond die voor enige tijd kon worden opgepikt door een nabijgelegen elektrode.
Het magnetische tijdperk
Tegenwoordig wordt magnetische media, zelfs onder liefhebbers van computergeschiedenis, meestal geassocieerd met bulkopslag in rust: harde schijven, floppies en LTO-tapes. Maar gedurende ongeveer twee decennia — ruwweg tussen 1950 en 1970 — waren magnetische hoofdgeheugens ook zeer gebruikelijk.
De vroegste incarnatie hiervan is het magnetische trommelgeheugen, een soort tussenstadium tussen het op condensatoren gebaseerde geheugen van de Atanasoff-Berry computer en de moderne harde schijf. In dit ontwerp zweefden lees- en schrijfkoppen boven een snel draaiende ferromagnetische cilinder. De relatief kleine diameter van de cilinder, samen met het hoge aantal parallelle koppen die geen contact met het oppervlak hoefden te maken, hield de leestijden redelijk kort. Maar nog steeds niet kort genoeg: de computers uit die tijd draaiden al op multi-megahertz snelheden. Er was een betere aanpak nodig.
Het beste resultaat in het pre-IC-tijdperk was het solid-state magnetische kerngeheugen (core memory). Deze apparaten bestonden uit een array van microscopische ferrietkralen ("cores") met een patroon van geïsoleerde koperdraden die erdoorheen waren geweven.
De belangrijkste eigenschap van de kernen is dat ze konden worden gemagnetiseerd door een extern veld, maar hun magnetische polariteit veranderde alleen als het magnetiserende veld een bepaalde drempel overschreed. Onder die drempel behielden ze hun vorige status.
Om naar een specifieke cel te schrijven, werd een sub-drempel magnetisch veld geïnduceerd rond een specifieke horizontale draad door een gekalibreerde stroom door de lengte ervan te sturen. Een ander sub-drempel veld werd gecreëerd langs een verticale draad. Op het kruispunt van de twee draden zou de intensiteit van de gecombineerde velden de magnetisatie-drempel overschrijden en de geselecteerde kern "omklappen" (flippen).
Het uitleesproces was iets ingewikkelder: het vertrouwde op het overschrijven van een cel en het vervolgens detecteren van de geïnduceerde stroom die wordt verwacht als de polariteit omklapt. Als er geen dergelijke stroompuls werd gedetecteerd, betekende dit dat de geschreven waarde hetzelfde moet zijn geweest als wat er al in de cel was opgeslagen.
Magnetische geheugens waren snel en zeer compact; een microscopische foto laat ongeveer 63 bits zien van een module van 32 kB die in totaal 8x8 inch mat.
Interessant is dat de erfenis van magnetisch RAM voortleeft: een bedrijf genaamd Everspin Technologies verkoopt magnetoresistieve (MRAM) chips voor embedded toepassingen in groottes tot 16 MB. De chips gedragen zich precies als SRAM, behalve dat ze data behouden zonder stroom. Op dit moment lijkt de technologie niet bijzonder concurrerend; ik denk dat het vooral nuttig is in lucht- en ruimtevaart- en defensietoepassingen omdat het beter bestand is tegen straling en EMP. Gezien het kronkelige pad dat we hebben afgelegd met geheugentechnologie, wie weet wat de toekomst brengt?
Aanvullende technische context
Opmerking over terminologie: De term "RAM" wordt hier gebruikt als synoniem voor "onmiddellijk werkgeheugen". De strikte definitie — "gelijke toegangstijden voor alle locaties" — is tegenwoordig niet erg nuttig. We zouden SSD-schijven geen "RAM" noemen, ook al vertonen ze geen zoektijden.
Wat betreft de overgang naar moderne chips:
- De eerste single-chip SRAM was de Intel 3101, wat ook het eerste product van het bedrijf was. Het sloeg 64 bits op en was een snel maar klein geheugen, primair bedoeld voor dataregisters.
- De eerste DRAM kwam kort daarna van hetzelfde bedrijf: de Intel 1103. Deze kon 1 kilobit opslaan en had een refresh-cyclus van 2 ms. De 1103 was aanzienlijk complexer dan de 3101 en vereiste twee voedingsspanningen, maar begon kerngeheugens (core memories) zeer snel te verdringen.
RAM: de vergeten geschiedenis
In mijn artikel uit 2023 over de evolutie van de rekenmachine klaagde ik over de manier waarop we de geschiedenis van computers onderwijzen. Ik vond dat we veel te veel credits geven aan Charles Babbage. We weten immers al sinds ten minste de 17e eeuw hoe we mechanische rekenmachines moeten maken; ook het concept van programmeerbare machines ging veel verder terug dan de geschriften van de Engelse polymath. De resterende flessenhals was voornamelijk technologisch: bij een schaal die verder ging dan bescheiden, maakten tandwielen en nokken het te omslachtig om data heen en weer te schuiven binnen een voldoende complexe rekenmachine.
De doorbraak was een elektronisch aangestuurd dataregister. Deze circuits maakten het mogelijk om berekeningsresultaten vast te leggen en deze vervolgens moeiteloos te routeren naar waar ze nodig waren, ongeacht hoe complex en uitgestrekt het totale ontwerp was. In tegenstelling tot de overpeinzingen van meneer Babbage, heeft de geschiedenis van dit "werkgeheugen" minder aandacht gekregen dan het verdient. We verwarren het vaak met de evolutie van bulkopslag en computer-I/O, en we vergeten dat RAM-beperkingen de belangrijkste rem waren op persoonlijke computers tot de laatste jaren van de 20e eeuw.
De bistabiele cel
De eerste praktische vorm van elektronisch geheugen was het relais. Een relais is in feite een mechanische schakelaar die wordt aangestuurd door een elektromagneet. De schakelactie kan kortstondig zijn — alleen zolang de elektromagneet onder spanning staat — of het kan aanhoudend zijn, waarbij het in de "aan"-stand blijft staan totdat een aparte "reset"-spoel wordt geactiveerd.
Latching-relais kunnen op een vrij voor de hand liggende manier worden gebruikt om bits op te slaan; een kortstondig relais kan ook zo worden bedraad dat het zichzelf vergrendelt door het relais zijn eigen stroom te laten leveren zodra de contacten gesloten zijn.
In dit circuit zal het indrukken van de "set"-knop het relais activeren en daarmee ook de parallelle relais-gestuurde schakelaar sluiten. De stroom blijft via dit pad lopen, zelfs nadat de "set"-knop is losgelaten. Om het circuit te ontgrendelen, moet de normaal gesloten (NC) "reset"-knop worden ingedrukt om de stroomtoevoer te onderbreken.
Relais-gebaseerd hoofdgeheugen speelde een prominente rol in wat waarschijnlijk de eerste echte elektronische computer was, de Z3 van Konrad Zuse (circa 1938). Elektromechanische relais hebben schakelsnelheden die worden gemeten in tientallen hertz; meneer Zuse begreep vanaf het begin dat deze technologie een doodlopende weg was. Hij koos voor de praktische route in de hoop op langetermijnfinanciering van het Nazi-regime. Helaas voor hem — en gelukkig voor een groot deel van Europa — waren de functionarissen niet onder de indruk en kwam de financiering nooit tot stand.
Zuse's tegenhangers aan de geallieerde zijde hadden meer geluk: vroege successen in cryptanalyse stelden hen in staat om kostbaardere en ingewikkeldere ontwerpen met vacuümbuizen na te streven. De blauwdruk voor een geheugencel op basis van buizen kwam van William Eccles en Frank Wilfred Jordan — een grotendeels vergeten duo Britse uitvinders die het volgende bistabiele circuit voorstelden als vervanging voor een elektromechanisch relais:
Het circuit vergrendelt wanneer een ingangsstroom door de transformatiewikkeling aan de linkerzijde vloeit. Dit maakt de G1-roosterspanning kortstondig positiever, waardoor de stroombalans tussen de buizen in een zelfversterkende feedbackloop wordt verstoord.
In moderne termen zouden beide circuits worden beschreven als set-reset (SR) latches. Hun fundamentele werking is identiek aan de cellen die de huidige high-speed, low-power SRAM-geheugens vormen die te vinden zijn op de dies van de meeste microcontrollers en microprocessors. Een hedendaags tekstboekvoorbeeld van een SR-architectuur zou dit zijn:
Om het circuit te analyseren, kunnen we kijken naar wat er gebeurt als de "reset"-lijn hoog is. In dit scenario is één ingang van de AND-poort altijd nul, waardoor het circuit "0" uitvoert, ongeacht wat er aan de OR-zijde gebeurt.
Omgekeerd, als "reset" laag is, werkt de AND-poort als een doorlaat voor de OR. Wat betreft de OR zelf: als "set" hoog is, voert deze onvoorwaardelijk "1" uit. Maar als "set" niet wordt geactiveerd, geeft de OR de vorige outputwaarde van het circuit door via de feedbackloop bovenin het schema. In effect is het apparaat bij S = R = 0 vergrendeld en slaat het één bit aan data op die representatief is voor wat er eerder op de S- en R-ingangslijnen verscheen.
We zouden hier kunnen eindigen, op één klein detail na: de meeste computers met vacuümbuizen gebruikten geen vacuümbuisgeheugen voor het grootste deel van hun behoeften. De reden is duidelijk als we overwegen dat de geheugeneenheid in Zuse's Z3 ongeveer 2.000 relais vereiste, tegenover 600 voor de rest van de machine. De rekensom voor de relatief kostbare buizen was nog slechter, en dat is nog voordat we meerekenen dat elke buis aanzienlijke, constante stroom nodig had voor de gloeidraad. Kortom, tot de komst van large-scale integration (LSI) chips in het midden van de jaren 70, moest het hoofdgeheugen meestal op een andere manier worden gerealiseerd.
De draaimolen
De oplossing voor dit probleem waren "dynamische" geheugens die vertrouwden op relatief kortstondige fysieke verschijnselen — zoals statische elektriciteit of akoestiek — om informatie op te slaan in een goedkoop medium. Omdat het onderliggende fysieke proces slechts kort duurde, moesten de gegevens regelmatig worden opgehaald en opnieuw worden ververst (of opnieuw worden verzonden).
Een van de vroegste voorbeelden hiervan was de Atanasoff-Berry "computer" (ABC) — in werkelijkheid een geavanceerde maar niet-programmeerbare rekenmachine die een draaiende trommel gebruikte met een array van mechanisch geschakelde condensatoren.
De ladingsstatus van elke condensator vervoerde digitale informatie; de geleidelijke zelfontlading van de cellen maakte regelmatige verversing noodzakelijk. Dit was in veel opzichten de wegbereider voor het moderne DRAM. De DRAM-chips in onze desktopcomputers en smartphones gebruiken nog steeds condensatoren; we maken ze alleen in bulk op een silicium-die en hebben een manier om ze elektronisch te adresseren. Hoewel dit type geheugen trager is en meer stroom verbruikt dan SRAM, is het blijvende voordeel van DRAM dat het veel minder componenten — en dus minder ruimte op de die — vereist per opgeslagen bit.
Terug naar de vroege computing: een andere fascinerende incarnatie van dit idee waren de delay-line memories (vertragingslijngeheugens). Deze apparaten codeerden data als geluidsgolven die in een stuk materiaal werden gepompt en vervolgens aan de andere kant werden gedetecteerd. Omdat geluid tijd nodig heeft om zich voort te planten, konden een aantal bits "in vlucht" worden opgeslagen in een elektro-akoestische lus. Het belangrijkste voordeel was dat geluidsgolven vrij vlot voortplanten, waardoor de latentie van dit systeem veel beter was dan die van een draaiende condensatortrommel.
Het meest bizarre voorbeeld van dit genre is de kwikvertragingslijn. Zoals de naam al zegt, vertrouwden deze apparaten op het giftige metaal als medium voor geluidsgolven.
Wikipedia zal vertellen dat kwik werd gekozen omdat het uniek paste bij de akoestische impedantie van piëzo-elektrische transducers, maar ik denk dat dit een verkeerde interpretatie is van het oorspronkelijke patent (US2629827A). Het probleem met vast metaal was vermoedelijk dat de longitudinale snelheid van het geluid veel hoger was dan in vloeistoffen — dus kon men bij een bepaalde kloksnelheid en kolomlengte minder bits opslaan. Omgekeerd was het probleem met minder dichte en meer samendrukbare vloeistoffen mogelijk dat ze hoge frequenties dempten, wat de maximale verzendsnelheid verminderde. Al met al vermoed ik dat kwik simpelweg de optimale opslagcapaciteit bood voor die tijd — zolang je geen rekening hield met veiligheid of gewicht.
Gelukkig eindigde deze periode van de "mad scientist" op het moment dat iemand bedacht het metaal op te rollen om meer data in vlucht te kunnen accommoderen. Dit leidde tot het torsiegeheugen. Deze aanpak vertrouwde op akoestische golven die door veerstaaldraad reisden, maar ditmaal werd torsie (draaiing) gebruikt in plaats van longitudinale (duw-trek) beweging. Hierdoor kon de draad losjes worden opgerold en op zijn plaats worden gehouden met rubberen tussenstukken; bij longitudinale golven zou veel van de akoestische energie verloren gaan bij elke bocht.
Een andere fascinerende klasse van vroege dynamische geheugens omvatte de Williams-buis en de RCA Selectron-buis. Beiden hadden geen bewegende delen. Deze geheugens werkten enigszins als een beeldbuis (CRT), waarbij selectief elektronen op een fosfor-substraat werden afgevuurd en enkele honderden bits werden opgeslagen als een patroon van verlichte stippen. Hoewel de opgeslagen data met het blote oog zichtbaar was, vertrouwde het uitlezen op het detecteren van veranderingen in elektrostatische velden. In essentie werden elektronen rondgestuwd in de fosforlaag, waardoor een netto lading ontstond die voor enige tijd kon worden opgepikt door een nabijgelegen elektrode.
Het magnetische tijdperk
Tegenwoordig wordt magnetische media, zelfs onder liefhebbers van computergeschiedenis, meestal geassocieerd met bulkopslag in rust: harde schijven, floppies en LTO-tapes. Maar gedurende ongeveer twee decennia — ruwweg tussen 1950 en 1970 — waren magnetische hoofdgeheugens ook zeer gebruikelijk.
De vroegste incarnatie hiervan is het magnetische trommelgeheugen, een soort tussenstadium tussen het op condensatoren gebaseerde geheugen van de Atanasoff-Berry computer en de moderne harde schijf. In dit ontwerp zweefden lees- en schrijfkoppen boven een snel draaiende ferromagnetische cilinder. De relatief kleine diameter van de cilinder, samen met het hoge aantal parallelle koppen die geen contact met het oppervlak hoefden te maken, hield de leestijden redelijk kort. Maar nog steeds niet kort genoeg: de computers uit die tijd draaiden al op multi-megahertz snelheden. Er was een betere aanpak nodig.
Het beste resultaat in het pre-IC-tijdperk was het solid-state magnetische kerngeheugen (core memory). Deze apparaten bestonden uit een array van microscopische ferrietkralen ("cores") met een patroon van geïsoleerde koperdraden die erdoorheen waren geweven.
De belangrijkste eigenschap van de kernen is dat ze konden worden gemagnetiseerd door een extern veld, maar hun magnetische polariteit veranderde alleen als het magnetiserende veld een bepaalde drempel overschreed. Onder die drempel behielden ze hun vorige status.
Om naar een specifieke cel te schrijven, werd een sub-drempel magnetisch veld geïnduceerd rond een specifieke horizontale draad door een gekalibreerde stroom door de lengte ervan te sturen. Een ander sub-drempel veld werd gecreëerd langs een verticale draad. Op het kruispunt van de twee draden zou de intensiteit van de gecombineerde velden de magnetisatie-drempel overschrijden en de geselecteerde kern "omklappen" (flippen).
Het uitleesproces was iets ingewikkelder: het vertrouwde op het overschrijven van een cel en het vervolgens detecteren van de geïnduceerde stroom die wordt verwacht als de polariteit omklapt. Als er geen dergelijke stroompuls werd gedetecteerd, betekende dit dat de geschreven waarde hetzelfde moet zijn geweest als wat er al in de cel was opgeslagen.
Magnetische geheugens waren snel en zeer compact; een microscopische foto laat ongeveer 63 bits zien van een module van 32 kB die in totaal 8x8 inch mat.
Interessant is dat de erfenis van magnetisch RAM voortleeft: een bedrijf genaamd Everspin Technologies verkoopt magnetoresistieve (MRAM) chips voor embedded toepassingen in groottes tot 16 MB. De chips gedragen zich precies als SRAM, behalve dat ze data behouden zonder stroom. Op dit moment lijkt de technologie niet bijzonder concurrerend; ik denk dat het vooral nuttig is in lucht- en ruimtevaart- en defensietoepassingen omdat het beter bestand is tegen straling en EMP. Gezien het kronkelige pad dat we hebben afgelegd met geheugentechnologie, wie weet wat de toekomst brengt?
Aanvullende technische context
Opmerking over terminologie: De term "RAM" wordt hier gebruikt als synoniem voor "onmiddellijk werkgeheugen". De strikte definitie — "gelijke toegangstijden voor alle locaties" — is tegenwoordig niet erg nuttig. We zouden SSD-schijven geen "RAM" noemen, ook al vertonen ze geen zoektijden.
Wat betreft de overgang naar moderne chips:
- De eerste single-chip SRAM was de Intel 3101, wat ook het eerste product van het bedrijf was. Het sloeg 64 bits op en was een snel maar klein geheugen, primair bedoeld voor dataregisters.
- De eerste DRAM kwam kort daarna van hetzelfde bedrijf: de Intel 1103. Deze kon 1 kilobit opslaan en had een refresh-cyclus van 2 ms. De 1103 was aanzienlijk complexer dan de 3101 en vereiste twee voedingsspanningen, maar begon kerngeheugens (core memories) zeer snel te verdringen.