Magnetisk kärnminne i Saturn 5-raketen

Magnetisk kärnminne i Saturn 5-raketen
Launch Vehicle Digital Computer (LVDC) spelade en nyckelroll i Apollo-månprogrammet, som driver raketen Saturn 5. Liksom de flesta datorer på den tiden lagrade den data i små magnetiska kärnor. I den här artikeln berättar Cloud4Y om LVDC-minnesmodulen från deluxe Samling Steve Jurvetson.

Denna minnesmodul förbättrades i mitten av 1960-talet. Den byggdes med ytmonterade komponenter, hybridmoduler och flexibla anslutningar, vilket gör den till en storleksordning mindre och lättare än dåtidens konventionella datorminne. Minnesmodulen tillät dock endast lagra 4096 ord på 26 bitar.

Magnetisk kärnminne i Saturn 5-raketen
Magnetisk kärna minnesmodul. Denna modul lagrar 4K-ord med 26 databitar och 2 paritetsbitar. Med fyra minnesmoduler som ger en total kapacitet på 16 384 ord, väger den 2,3 kg och mäter 14 cm × 14 cm × 16 cm.

Månlandningen började den 25 maj 1961, när president Kennedy meddelade att Amerika skulle sätta en man på månen före slutet av decenniet. För detta användes en trestegs Saturn 5-raket, den mest kraftfulla raket som någonsin skapats. Saturnus 5 styrdes och styrdes av en dator (här här mer om honom) det tredje steget av en bärraket, med start från start till jordens omloppsbana och sedan på väg till månen. (Apollo-rymdfarkosten höll på att separera från Saturn V-raketen vid denna tidpunkt, och LVDC-uppdraget avslutades.)

Magnetisk kärnminne i Saturn 5-raketen
LVDC är installerad i basramen. Cirkulära kontakter är synliga på framsidan av datorn. Använde 8 elkontakter och två kontakter för vätskekylning

LVDC var bara en av flera datorer ombord på Apollo. LVDC var kopplad till flygkontrollsystemet, en 45 kg analog dator. Den inbyggda Apollo Guidance Computer (AGC) styrde rymdfarkosten till månens yta. Kommandomodulen innehöll en AGC medan månmodulen innehöll en andra AGC tillsammans med Abort navigationssystemet, en reservdator för nödsituationer.

Magnetisk kärnminne i Saturn 5-raketen
Det fanns flera datorer ombord på Apollo.

Unit Logic Devices (ULD)

LVDC skapades med hjälp av en intressant hybridteknologi som kallas ULD, enhetsbelastningsenhet. Även om de såg ut som integrerade kretsar innehöll ULD-moduler flera komponenter. De använde enkla kiselchips, var och en med bara en transistor eller två dioder. Dessa arrayer, tillsammans med tryckta tjockfilmstryckta motstånd, monterades på en keramisk skiva för att implementera kretsar som en logisk grind. Dessa moduler var en variant av SLT-modulerna (Solid Logic Technology) designad för de populära IBM S/360-seriens datorer. IBM började utveckla SLT-moduler 1961, innan integrerade kretsar var kommersiellt gångbara, och 1966 producerade IBM över 100 miljoner SLT-moduler per år.

ULD-modulerna var betydligt mindre än SLT-modulerna, som visas på bilden nedan, vilket gör dem mer lämpade för en kompakt rymddator. ULD-modulerna använde keramiska dynor istället för metallstiften i SLT, och hade metallkontakter på toppen yta istället för stift. Klämmor på kortet höll ULD-modulen på plats och kopplade till dessa stift.

Varför använde IBM SLT-moduler istället för integrerade kretsar? Den främsta anledningen var att integrerade kretsar fortfarande var i sin linda, efter att ha uppfunnits 1959. 1963 hade SLT-moduler kostnads- och prestandafördelar jämfört med integrerade kretsar. SLT-moduler sågs dock ofta som sämre än integrerade kretsar. En av fördelarna med SLT-moduler jämfört med integrerade kretsar var att motstånden i SLT:er var mycket mer exakta än de i integrerade kretsar. Under tillverkningen sandblästrades de tjockfilmsmotstånden i SLT-modulerna försiktigt för att avlägsna den resistiva filmen tills de uppnått önskat motstånd. SLT-moduler var också billigare än jämförbara integrerade kretsar på 1960-talet.

LVDC och tillhörande utrustning använde över 50 olika typer av ULD.

Magnetisk kärnminne i Saturn 5-raketen
SLT-moduler (vänster) är betydligt större än ULD-moduler (höger). ULD-storleken är 7,6 mm×8 mm

Bilden nedan visar de interna komponenterna i ULD-modulen. På vänster sida av den keramiska plattan finns ledare anslutna till fyra små fyrkantiga kiselkristaller. Det ser ut som ett kretskort, men tänk på att det är mycket mindre än en fingernagel. De svarta rektanglarna till höger är tjockfilmsmotstånd tryckta på plåtens undersida.

Magnetisk kärnminne i Saturn 5-raketen
ULD, ovan- och undervy. Kiselkristaller och motstånd är synliga. Medan SLT-moduler hade motstånd på ovansidan, hade ULD-moduler motstånd på botten, vilket ökade densiteten såväl som kostnaden.

Bilden nedan visar en kiselform från ULD-modulen, som implementerade två dioder. Storlekarna är ovanligt små, för jämförelse finns det sockerkristaller i närheten. Kristallen hade tre yttre anslutningar genom kopparkulor lödda till tre cirklar. De två nedre cirklarna (anoderna på de två dioderna) var dopade (mörkare områden), medan den övre högra cirkeln var katoden som var kopplad till basen.

Magnetisk kärnminne i Saturn 5-raketen
Fotografi av en kiselkristall med två dioder bredvid sockerkristaller

Hur magnetiskt kärnminne fungerar

Magnetisk kärnminne var den huvudsakliga formen av datalagring i datorer från 1950-talet tills det ersattes av solid state-lagringsenheter på 1970-talet. Minne skapades från små ferritringar som kallas kärnor. Ferritringar placerades i en rektangulär matris och två till fyra ledningar passerade genom varje ring för att läsa och skriva information. Ringarna gjorde att en bit information kunde lagras. Kärnan magnetiserades med hjälp av en strömpuls genom ledningarna som passerade genom ferritringen. Magnetiseringsriktningen för en kärna kan ändras genom att skicka en puls i motsatt riktning.

För att avläsa kärnans värde satte en strömpuls ringen i tillstånd 0. Om kärnan tidigare hade varit i tillstånd 1 skapade det föränderliga magnetfältet en spänning i en av ledningarna som går genom kärnorna. Men om kärnan redan var i tillstånd 0, skulle magnetfältet inte förändras och avkänningsledningen skulle inte stiga i spänning. Så värdet på biten i kärnan avlästes genom att nollställa den och kontrollera spänningen på läskabeln. En viktig egenskap hos minnet på magnetiska kärnor var att processen att läsa en ferritring förstörde dess värde, så kärnan måste "skrivas om".

Det var obekvämt att använda en separat tråd för att ändra magnetiseringen av varje kärna, men på 1950-talet utvecklades ett ferritminne som fungerade på principen om sammanfallande strömmar. Fyrtrådskretsen - X, Y, Sense, Inhibit - har blivit vanlig. Tekniken utnyttjade en speciell egenskap hos kärnor som kallas hysteres: en liten ström påverkar inte ferritminnet, men en ström över ett tröskelvärde skulle magnetisera kärnan. När den strömförsörjdes med hälften av den erforderliga strömmen på en X-linje och en Y-linje, fick bara kärnan i vilken båda ledningarna korsade tillräckligt med ström för att ommagnetisera, medan de andra kärnorna förblev intakta.

Magnetisk kärnminne i Saturn 5-raketen
Så här såg minnet ut i IBM 360 Model 50. LVDC och Model 50 använde samma typ av kärna, känd som 19-32 eftersom deras innerdiameter var 19 mils (0.4826 mm) och deras yttre diameter var 32 mils. (0,8 mm). Du kan se på det här fotot att det går tre ledningar genom varje kärna, men LVDC använde fyra ledningar.

Bilden nedan visar en rektangulär LVDC-minnesuppsättning. 8 Denna matris har 128 X-trådar som löper vertikalt och 64 Y-trådar som löper horisontellt, med en kärna vid varje korsning. En enda avläsningstråd går genom alla kärnor parallellt med Y-trådarna. Skrivtråden och spärrtråden går genom alla kärnor parallellt med X-trådarna. Trådarna korsar i mitten av matrisen; detta minskar det inducerade bruset eftersom bruset från ena halvan tar bort bruset från den andra halvan.

Magnetisk kärnminne i Saturn 5-raketen
En LVDC ferritminnesmatris innehållande 8192 bitar. Anslutning till andra matriser sker genom stift på utsidan

Matrisen ovan hade 8192 element, var och en lagrade en bit. För att spara ett minnesord lades flera grundmatriser samman, en för varje bit i ordet. Trådarna X och Y slingrade sig genom alla huvudmatriserna. Varje matris hade en separat läsrad och en separat skrivspärrrad. LVDC-minnet använde en stack med 14 basmatriser (nedan) som lagrade en 13-bitars "stavelse" tillsammans med en paritetsbit.

Magnetisk kärnminne i Saturn 5-raketen
LVDC-stacken består av 14 huvudmatriser

Att skriva till magnetiskt kärnminne krävde ytterligare ledningar, de så kallade inhibitionslinjerna. Varje matris hade en inhiberingslinje som löpte genom alla kärnor i den. Under skrivprocessen passerar ström genom X- och Y-linjerna och ommagnetiserar de valda ringarna (en per plan) till tillstånd 1, och håller alla 1:or i ordet. För att skriva en 0 vid bitpositionen spänningssattes linjen med halva strömmen motsatt linjen X. Som ett resultat av detta förblev kärnorna på värdet 0. Således tillät spärrlinjen inte kärnan att vända till 1. Vilket önskat ord som helst kan skrivas till minnet genom att aktivera motsvarande spärrrader.

LVDC minnesmodul

Hur är en LVDC-minnesmodul fysiskt konstruerad? I mitten av minnesmodulen finns en stack med 14 ferromagnetiska minnesmatriser som visats tidigare. Den är omgiven av flera kort med kretsar för att driva X- och Y-ledningarna och spärrlinjerna, bitläslinjer, feldetektering och generering av nödvändiga klocksignaler.

I allmänhet finns det mesta av de minnesrelaterade kretsarna i LVDC-datorlogiken, inte i själva minnesmodulen. I synnerhet innehåller datorlogik register för lagring av adresser och dataord och omvandling mellan seriell och parallell. Den innehåller också kretsar för läsning från läsbitraderna, felkontroll och klockning.

Magnetisk kärnminne i Saturn 5-raketen
Minnesmodul som visar nyckelkomponenter. MIB (Multilayer Interconnection Board) är ett 12-lagers kretskort

Y minnesdrivrutinskort

Ett ord i kärnminnet väljs genom att föra respektive X- och Y-rader genom huvudkortets stacken. Låt oss börja med att beskriva Y-drivkretsen och hur den genererar en signal genom en av de 64 Y-linjerna. Istället för 64 separata drivkretsar, reducerar modulen antalet kretsar genom att använda 8 "höga" drivrutiner och 8 "låg" drivrutiner. De är kopplade i en "matris"-konfiguration, så varje kombination av höga och låga drivrutiner väljer olika rader. Således väljer 8 "hög" och 8 "låg" förare en av de 64 (8 × 8) Y-linjerna.

Magnetisk kärnminne i Saturn 5-raketen
Y-drivkort (främre) driver Y-vallinjerna i stapeln av brädor

På bilden nedan kan du se några av ULD-modulerna (vita) och transistorparet (guld) som driver Y-selektionslinjerna. "EI"-modulen är förarens hjärta: den levererar en konstant spänningspuls (E) ) eller skickar en konstant strömpuls (I) genom urvalslinjen. Vallinjen styrs genom att aktivera EI-modulen i spänningsläge i ena änden av linjen och EI-modulen i strömläge i andra änden. Resultatet är en puls med rätt spänning och ström, tillräcklig för att ommagnetisera kärnan. Det krävs mycket fart för att vända det; spänningspulsen är fixerad till 17 volt, och strömmen varierar från 180 mA till 260 mA beroende på temperaturen.

Magnetisk kärnminne i Saturn 5-raketen
Makrofoto av Y-drivkortet som visar sex ULD-moduler och sex par transistorer. Varje ULD-modul är märkt med ett IBM-artikelnummer, modultyp (till exempel "EI") och en kod vars betydelse är okänd

Kortet är även utrustat med felövervakningsmoduler (ED) som upptäcker när mer än en Y-vallinje är aktiverad samtidigt. ED-modulen använder en enkel semi-analog lösning: den summerar inspänningarna med hjälp av ett nätverk av motstånd. Om den resulterande spänningen är över tröskeln utlöses nyckeln.

Under drivkortet finns en dioduppsättning som innehåller 256 dioder och 64 motstånd. Denna matris omvandlar de 8 översta och 8 nedre signalparen från drivarkortet till 64 Y-linjeanslutningar som går genom huvudstapeln av kort. Flexibla kablar i toppen och botten av kortet ansluter kortet till diodgruppen. Två flexkablar till vänster (syns inte på bilden) och två samlingsskenor till höger (en synlig) ansluter diodmatrisen till arrayen av kärnor. Flexkabeln som syns till vänster ansluter Y-kortet till resten av datorn via I/O-kortet, medan den lilla flexkabeln längst ner till höger ansluter till klockgeneratorkortet.

X Memory Driver Board

Layouten för att driva X-linjerna är densamma som Y-schemat, förutom att det finns 128 X-linjer och 64 Y-linjer. Eftersom det finns dubbelt så många X-ledningar har modulen ett andra X-drivkort under sig. Även om X- och Y-korten har samma komponenter, är ledningarna olika.

Magnetisk kärnminne i Saturn 5-raketen
Denna bräda och den under den kontrollerar X valda rader i en hög med kärnbrädor

Bilden nedan visar att vissa komponenter var skadade på kortet. En av transistorerna är förskjuten, ULD-modulen är bruten på mitten och den andra är avbruten. Ledningarna är synliga på den trasiga modulen, tillsammans med en av de små kiselkristallerna (höger). På det här fotot kan du också se spåren av vertikala och horisontella ledande spår på ett 12-lagers kretskort.

Magnetisk kärnminne i Saturn 5-raketen
Närbild av den skadade delen av brädet

Under X-drivkorten finns en X-diodmatris som innehåller 288 dioder och 128 motstånd. X-diodgruppen använder en annan topologi än Y-diodkortet för att undvika att antalet komponenter fördubblas. Liksom Y-diodkortet innehåller detta kort komponenter som är monterade vertikalt mellan två kretskort. Denna metod kallas "cordwood" och gör att komponenterna kan packas tätt.

Magnetisk kärnminne i Saturn 5-raketen
Ett makrofoto av en X-dioduppsättning som visar vertikalt monterade cordwood-dioder mellan 2 kretskort. De två X-drivkorten sitter ovanför diodkortet, separerade från dem av polyuretanskum. Observera att kretskorten ligger mycket nära varandra.

Minnesförstärkare

Bilden nedan visar avläsningsförstärkarkortet. Har 7 kanaler för att läsa 7 bitar från minnesstacken; det identiska kortet nedan hanterar ytterligare 7 bitar för totalt 14 bitar. Syftet med avkänningsförstärkaren är att detektera den lilla signalen (20 millivolt) som genereras av den ommagnetiserbara kärnan och omvandla den till en 1-bits utgång. Varje kanal består av en differentialförstärkare och buffert, följt av en differentialtransformator och utgångsklämma. Till vänster ansluts en flexkabel med 28 trådar till minnesstacken, som leder de två ändarna av varje avkänningskabel till en förstärkarkrets, med början i MSA-1 (Memory Sense Amplifier)-modulen. De enskilda komponenterna är motstånd (bruna cylindrar), kondensatorer (röda), transformatorer (svarta) och transistorer (guld). Databitarna lämnar avkänningsförstärkarkorten via den flexibla kabeln till höger.

Magnetisk kärnminne i Saturn 5-raketen
Avläsningsförstärkarkort överst på minnesmodulen. Detta kort förstärker signalerna från avkänningskablarna för att skapa utmatningsbitar

Skriv Inhibit Line Driver

Inhibit-drivrutiner används för att skriva till minnet och finns på undersidan av huvudmodulen. Det finns 14 inhiberingslinjer, en för varje matris på stapeln. För att skriva en 0-bit aktiveras motsvarande låsdrivrutin och strömmen genom spärrlinjen hindrar kärnan från att växla till 1. Varje linje drivs av en ID-1 och ID-2-modul (skrivspärrlinjedrivrutin) och ett par av transistorer. Precisionsmotstånd på 20,8 ohm i toppen och botten av kortet reglerar blockeringsströmmen. Den 14-trådiga flexkabeln till höger ansluter drivenheterna till de 14 spärrtrådarna i stapeln av kärnkort.

Magnetisk kärnminne i Saturn 5-raketen
Spärrkort längst ner på minnesmodulen. Detta kort genererar 14 spärrsignaler som används under inspelning

Klockdrivrutinens minne

Klockdrivrutinen är ett par kort som genererar klocksignaler för minnesmodulen. När datorn väl börjar en minnesoperation genereras de olika klocksignalerna som används av minnesmodulen asynkront av modulens klockdrivrutin. Klockdrivkorten är placerade längst ner på modulen, mellan stapeln och spärrkortet, så korten är svåra att se.

Magnetisk kärnminne i Saturn 5-raketen
Klockdrivrutinerna är under huvudminnesstacken men ovanför låskortet

De blå kortets komponenter på bilden ovan är multi-turn potentiometrar, förmodligen för timing eller spänningsjustering. Motstånd och kondensatorer syns också på korten. Diagrammet visar flera MCD-moduler (Memory Clock Driver) men inga moduler är synliga på korten. Det är svårt att säga om detta beror på begränsad sikt, en kretsbyte eller närvaron av ett annat kort med dessa moduler.

Minnes I/O-panel

Det sista minnesmodulkortet är I/O-kortet, som distribuerar signaler mellan minnesmodulkorten och resten av LVDC-datorn. Den gröna 98-stiftskontakten längst ner ansluts till LVDC-minneschassit och ger signaler och ström från datorn. De flesta plastkontakterna är trasiga, varför kontakterna syns. Fördelningskortet är anslutet till denna kontakt med två 49-stifts flexibla kablar i botten (endast den främre kabeln är synlig). Andra flexkablar distribuerar signaler till X Driver Board (vänster), Y Driver Board (höger), Sense Amplifier Board (överst) och Inhibit Board (nederst). 20 kondensatorer på kortet filtrerar strömmen till minnesmodulen.

Magnetisk kärnminne i Saturn 5-raketen
I/O-kortet mellan minnesmodulen och resten av datorn. Den gröna kontakten längst ner ansluter till datorn och dessa signaler leds genom platta kablar till andra delar av minnesmodulen

Utgång

Den huvudsakliga LVDC-minnesmodulen gav kompakt, pålitlig lagring. Upp till 8 minnesmoduler kan placeras i den nedre halvan av datorn. Detta gjorde det möjligt för datorn att lagra 32 kiloord 26-bitars ord eller 16 kiloord i redundant mycket tillförlitligt "duplex"-läge.

En intressant egenskap hos LVDC var att minnesmoduler kunde speglas för tillförlitlighet. I "duplex"-läge lagrades varje ord i två minnesmoduler. Om ett fel inträffade i en modul, kunde rätt ord erhållas från en annan modul. Även om detta gav tillförlitlighet, halverade det minnesfotavtrycket. Alternativt kan minnesmodulerna användas i "enkelt" läge, med varje ord lagrat en gång.

Magnetisk kärnminne i Saturn 5-raketen
LVDC rymde upp till åtta CPU-minnesmoduler

Den magnetiska kärnminnesmodulen ger en visuell representation av den tid då 8 KB lagring krävde en 5-pund (2,3 kg) modul. Detta minne var dock väldigt perfekt för sin tid. Sådana enheter gick ur bruk på 1970-talet med tillkomsten av halvledar-DRAM.

Innehållet i RAM-minnet bevaras när strömmen stängs av, så det är troligt att modulen fortfarande lagrar programvara från senaste gången datorn användes. Ja, ja, där kan man hitta något intressant även decennier senare. Det skulle vara intressant att försöka återställa dessa data, men de skadade kretsarna skapar ett problem, så innehållet kommer förmodligen inte att kunna hämtas från minnesmodulen förrän ett decennium till.

Vad mer kan du läsa på bloggen? Cloud4Y

Påskägg på topografiska kartor över Schweiz
Datormärken från 90-talet, del 1
Hur mamman till en hackare tog sig in i fängelset och infekterade chefens dator
Diagnostik av nätverksanslutningar på den virtuella EDGE-routern
Hur misslyckades banken?

Prenumerera på vår Telegram-kanal, för att inte missa nästa artikel! Vi skriver inte mer än två gånger i veckan och endast i affärer. Vi påminner dig också om att Cloud4Y kan tillhandahålla säker och pålitlig fjärråtkomst till affärsapplikationer och information som är nödvändig för affärskontinuitet. Distansarbete är ytterligare ett hinder för spridningen av coronaviruset. Detaljer kommer från våra chefer.

Källa: will.com

Lägg en kommentar