WerkgeheugenDe computers worden voor meer en meer toepassingen gebruikt, maar een probleem duikt nu op: hoe kunnen we de tijdelijke resultaten opslaan? Als er gewoon opgeteld moet worden heeft men genoeg aan een 20-tal buizen per getal, maar als er met matrices gewerkt moet worden wordt het aantal benodigde buizen te hoog. De gegevens waarmee gewerkt moet worden kunnen via ponskaarten of ponsband ingelezen worden en de uiteindelijke resultaten kunnen uitgeprint worden, maar tijdelijke waarden moeten bewaard kunnen worden tijdens de volledige uitvoering van het programma. Het programma, dat ook ingewikkelder en ingewikkelder wordt, moet ook in het werkgeheugen bewaard kunnen worden. De gegevens in het werkgeheugen moeten ten alle tijde beschikbaar zijn en de computer niet teveel vertragen.De opslag van een waarde vraagt minstens 10 bits (en vaak meer), dit kan zowel een getal of een instructie zijn. Informatici waren toen van mening dat ze ongeveer 5000 woorden nodig hadden om nuttige bewerkingen uit te voeren (daarom ook dat de eerste microcomputers uitgerust waren met 4k aan werkgeheugen). Maar zover zijn we nog niet. Die 5000 woorden hebben minstens 50.000 buizen nodig, en nooit is er een computer gebouwd met zo'n aantal buizen. Een andere aanpak is nodig. Zo'n groot aantal buizen heeft een enorm electrisch verbruik, maar is ook minder betrouwbaar en moeilijker te onderhouden naargelang het aantal buizen stijgt. Om de computers te kunnen inzetten in het bedrijfsleven is er een andere oplossing nodig.
Williams-Kilburn opslagbuisHet onderzoek gaat in verschillende richtingen, zoals de opslagbuis van Williams-Kilburn die tot duizend bits kon opslaan. De bits worden als een electrostatische lading opgeslagen op het scherm van een oscilloscoop. Het scherm wordt beschreven in de vorm van een raster. Op ieder kruispunt kan er een bit aanwezig zijn of niet.Als de cathodestraal een punt beschrijft, dan ontstaat er op die plaats een ladingsput door secundaire emissie (bit = 1). Het uitlezen van de positie gebeurt door opnieuw de straal naar de positie te richten en te meten of er daar een ladingsput aanwezig was of niet. Het lezen van een positie veroorzaakt ook het verlies van de informatie (het lezen van een positie komt overeen met het schrijven van een bit). Het wissen van een bit gebeurt door een punt te schrijven naast de positie van de bit waarbij de secondaire emissie de data-put opvult. De lading vloeit snel weg, en de informatie moet regelmatig opgefrist worden: iedere punt wordt gelezen, het bekomen signaal wordt versterkt en als er geen bit aanwezig was, moet de data-punt opnieuw gedempt worden. De uitlezing gebeurt door een metalen plaat die voor het scherm geplaatst wordt (de oscilloscoop is dan niet meer leesbaar door een mens). Dergelijke buizen waren zeer snel omdat er geen bewegende delen waren, maar de buis was niet stabiel en moest regelmatig opnieuw afgeregeld worden. Dergelijke opslagbuizen konden in onderzoekcentra gebruikt worden, maar niet in een commerciele omgeving. Er is geen Williams-Kilburnopslagbuis aanwezig in het museum. Meer informatie (en foto's) op de pagina over de Williams-Kilburn geheugenbuis.
Delay lineMen heeft ook gewerkt met delay lines. Een delay line is een medium waarbij de data aan één kant ingevoerd worden, en aan de andere kant weer uitgelezen worden. De bits werden versterkt en opnieuw ingevoerd aan de ingang. De bits blijven dus constant rondjes draaien. Men gebruikt geluidsgolven omdat die zich relatief traag voortplanten.De eerste delay lines waren met kwik gevuld. Het was gevaarlijk, de capaciteit was laag, maar dat was toen de enige manier om een uitlezing te bekomen die voldoende betrouwbaar was. Bij de volgende versie gebruikt men een staaldraad en de informatie wordt door magnetostrictie geschreven. Er worden torsiebewegingen in de staaldraad "geschreven", en dan aan de uiteinde opgevangen. Dit systeem is veel kleiner en gemakkelijker in het gebruik dan de kwiklijnen. Een module van 10cm op 10cm met een hoogte van 1cm kan één kilobit opslaan. Het geheugen was goedkoop maar redelijk traag. Hoe hoger de gewenste capaciteit, hoe langer de kabel moest zijn, en hoe langer het duurde vooraleer de gegevens opnieuw aan de uitgang kwamen. De accesstijd voor een 1kilobitkabel is 500µs. De delay kan nauwkeurig ingesteld worden door de effektieve lengte van de kabel bij te stellen door middel van een instelschroef.
DrumgeheugenSimultaan met de delaylines werden ook de drumgeheugens ontwikkeld. Het is een drum die bekleed is met een magnetische laag. Er worden honderden sporen geschreven. Iedere spoor heeft zijn eigen lees- en schrijfkop. Hier ook moet er gewacht worden totdat de informatie onder de kop passeert (latency).Het systeem is vergelijkbaar met de delay lines waarbij er gewacht moet worden tot de gegevens weer beschikbaar zijn, maar de drum heeft een extra spoor waarop enkel een synchronisatiesignaal opgenomen is. Dit signaal zorgt ervoor dat de data nauwkeuriger gelezen kan worden. De eerste computers met drumgeheugen werden gesynchoniseerd op dit kloksignaal en gebruikten geen electronische klok. Deze vertraging werd al snel als storend ervaren en de programmeurs schreven hun programma's zodanig dat de correcte lokatie juist onder een kop komt als de gegevens nodig zijn. Een andere manier om de vertraging te beperken is de drum sneller te laten draaien: van 3600 toeren voor de normale versies tot meer dan 10.000 toeren voor de snelle versies. Deze hoge snelheid is ook nodig omdat de drums gebruikt werden als werkgeheugen en niet als extern geheugen (wat nu de bedoeling is van geheugenschijven). Men gebruikte kerngeheugen en drumgeheugen als werkgeheugen (virtual memory): het drumgeheugen werd een aanvulling op het kerngeheugen. Het kerngeheugen was duur en werd enkel gebruikt voor de gegevens die echt nodig waren (paging). Het operating system verhuisde constant data tussen kern- en drumgehugen naargelang de behoeften (dit wordt nu nog altijd gedaan door de pc's.). Drumgeheugen werd tot in de jaren 1970 gebruikt als goedkopere aanvulling op kerngeheugen. De PDP-11/45 die als een goedkope(re) computer verkocht werd had nog een drum. Het museum beschikt over een drum van de eerste generatie. De tweede foto toont een koppeneenheid (de drum heeft er 16). Op iedere kopeenheid zijn er een twintigtal bruikbare koppen en een paar reserver koppen. De koppen zijn de kleine verticale strepen en de luchtspleet (daar waar de opname/weergave gebeurt) is de horizontale lijn (in de praktijk een tiende van een millimeter dik). Het positioneren van iedere kopeenheid was een moeilijke klus, het signaal van één kop mocht de naburige spoor niet wissen. De afdtand van de koppen tot de drum was ook precies vastgelegd, 0.25mm.
KerngeheugenKerngeheugen is zuiver electronisch en dus in theorie even snel als de processor zelf. Kerngeheugen bestaat uit een X-Y rooster, met op ieder kruising een ferrietkraal die al of niet gemagnetiseerd kan zijn. Het rooster vormt een tweedimensionele addressering (X, Y). Iedere ferrietkraal vormt een bit en kan geadresserd worden door zijn fysische positie. De roosters worden op kaders gemonteerd voor de stevigheid.Kerngeheugen maakt een driedimensionale montage mogelijk, waarbij alle bits van een woord simultaan verwerkt worden, wat in technologisch oogpunt voordelig is. De kaders worden op elkaar gestapeld. Een computer met een woordlengte van 22 bits heeft een stapel van 22 kaders op elkaar. De adresbus selecteert een adres (X, Y coordinaten) en de databus ontvangt data van of schrijft data naar de verschillende roosters. De snelheid van kerngeheugen is van 1µs voor de snelste modules. De fysische onderverdeling van de kernmodules komt goed overeen met de geheugenorganisatie van de computer, waardoor er geen adresvertaling nodig is. Kerngeheugen is permanent en nagenoeg onverslijtbaar. Kerngeheugen zal blijvend gebruikt worden vanwege deze hoge betrouwbaarheid tot ver in d ejaren 1970. De rekeneenheid in de Lunar Module gebruikt nog klerngeheugen (terwijl er toen al geheugenmodules met IC's bestonden), juist vanwege de betrouwbaarheid. PLC's voor de sturing van scheikundige processen waren ook uitgerust met kerngeheugen. De werking van kerngeheugen wordt hier in detail uitgelegd. Waarom heeft men eigenlijk kerngeheugen gebruikt in plaats van de gegevens in buizen (of transistoren) op te slaan? Dan is de adressering en versterking van het signaal niet meer nodig. Keren we even terug naar onze geheugen met 5000 woorden (woordlengte: 10 bits voor de eenvoud). Zo'n geheugen zou 50.000 buizen nodig hebben (of 100.000 transistoren) en een vermogen van 100kW (of 1.5kW) nodig hebben. Het aantal buizen of transistoren is indrukwekkend, maar als men de capaciteit wilt verdubbelen, dan heeft men dubbel zoveel buizen of transistoren nodig. Indien men kerngeheugen gebruikt, dan heeft men natuurlijk stuurelectronika nodig, maar het aantal onderdelen stijgt met de wortel van 2. Als men van 5000 naar 10.000 woorden gaat, dan stijgt het aantal transistoren van 750 naar 1000, wat nog altijd doenbaar is. Kerngeheugen is permanent en bijzonder betrouwbaar. De computer van de maanmodule bij de Apollo-missies bestond uit kerngeheugen omdat die zo betrouwbaar is. Eenmaal dat er geintegreerde schakelingen (IC's) op de markt zijn gekomen heeft men geprobeerd de IC's te gebruiken als geheugen. De eerste geheugenmodules hadden een capaciteit van 1kbit en konden dus 2.000 transistoren vervangen. In plaats van 100.000 transistoren nodig te hebben, heeft onze geheugen van 5.000 woorden nog maar 50 IC's nodig. Het vervolg ... |
Publicités - Reklame