De eerste computers
Hoe werkt rope memory
Histechniek
Servers » TechTalk » Historisch perspectief » Hoe werkt core rope memory

Core memory

-

-

Iedereen zou moeten weten hoe kerngeheugen werkt. Kerngeheugen (bestaande uit kleine ferrietkernen) werd in de jaren 1950-1960 in nagenoeg alle computers gebruikt, zodat men de naam "kerngeheugen" is blijven gebruiken voor geheugens gebaseerd op IC's, zelfs al werden er geen ferrietkernen meer gebruikt. De gegevens worden opgeslagen door een positieve of negatieve magnetisatie van de ferrietkernen. Het is RAM geheugen (dat gewijzigd kan worden) maar dat zijn gegevens behoudt (kernmagnetisatie) in geval van stroomonderbreking.

Maar er bestaat ook een ROM geheugen die men rope core memory noemt (er bestaat geen nederlandse naam, en ook de franse naam (mémoire à cordes de ferrite) is een slechte vertaling. Dit geheugen is minder bekend, terwijl het wel gebruikt werd in enkele computers in de jaren 1950 en 1960 (opslag van de firmware). Rope memory werd vooral gebruikt als ROM geheugen in de maanmodule van het Apollo programma. Rope memory werd geselecteerd als ROM geheugen omdat die zijn gegevens niet verliest bij stroomonderbreking, zeer betrouwbaar is en enkel vermogen trekt bij leesoperaties. Het was ook een zeer compact geheugen in die tijd. De fabrikage van core rope memory was lastig, maar dit werd niet als een bezwaar aangezien voor de expedities naar de Maan.

De werking van core rope memory (ROM) is totaal verschillend van de werking van kerngeheugen (RAM). Het is niet mogelijk de gegevens te wijzigen, en bij een foute bit moet het volledig geheugen opnieuw geweven worden.

De ferrietkernen worden niet gebruikt om een bit op te slaan, maar worden als een soort transformator gebruikt: er ontstaat een puls in de leesdraden bij een verandering van de magnetisatie. Zoals bij kerngeheugen is er een minimale stroom nodig om de magnetisatie volledig te doen omslaan (hysteresis).

In zijn basisversie bevat ieder ferrietkern een datawoord. De computer aan boord van de Apollo capsules (AGC: Apollo Guidance Computer) gebruikt woorden van 15 bits (+ 1 polariteitsbit). De gewenste ferrietkern wordt geselecteerd door de inhibit lijnen die aangeven welke kernen niet geselecteerd worden. Voor ieder mogelijk adres moet er precies één ferrietkern geselecteerd worden.

Er is een set/resetlijn die alle kernen in de ene en dan in de andere richting gaat magnetiseren. Deze lijn loopt door alle kernen. Het resetten van de kernen gebeurt door een stroom van links naar rechts.

Ieder ferrietkern is een adrespositie en de datalijnen die door de betreffende kern lopen geven een 1, terwijl de datalijnen die niet door de kern lopen een 0 geven.

Bij het lezen wordt de gewenste adres op de inhibitlijnen gezet (stroom van links naar rechts) zodat de kernen geblokkeerd worden in hun reset-magnetisatie, behalve de ferrietkern op het juiste adres. De set/resetlijn krijgt nu een setpuls (stroom van rechts naar links) die de geselecteerde kern omgekeerd zal magnetiseren. De wijziging in de magnetisatie wordt gedetecteerd door alle datalijnen die door de kern lopen, en niet door de draden die buiten de kern lopen. Na het lezen wordt er opnieuw een resetpuls gegeven om alle kernen weer te resetten.

Eén enkele inhibitlijn is voldoende om te verhinderen dat de ferrietkern van magnetisatie zou veranderen (NOR funktie). Eén of meerdere actieve inhibitlijnen hebben dezelfde uitwerking.

Op de figuur hebben de adreslijnen (inhibit lijnen) de ferrietkern op adres 2 geseleccteerd (er loopt geen aktieve inhibitlijn door de kern). Er ontstaat een spanningspiek op de datalijnen 2 en 16, de andere lijnen die niet door de betreffende kern lopen krijgen geen spanningspiek. We hebben een data "1" op adres 1, een data "2" op adres 3 en een data "1" + "2" op adres 4.

Indien men rope memory gebruikt als ROM geheugen is het omdat men meer bits in één kern kan opslaan. In RAM geheugen kan een ferrietkern maar de informatie van 1 bit opslaan.

Tot nu toe zijn we ervan uit gegaan dat een ferrietkern één datawoord kan bevatten (15 databits en een pariteitsbit), maar het is mogelijk meer woorden op te slaan in één ringkern: er kunnen tot 192 leesdraden door een kern lopen, zodat je 12 woorden kan koderen (192 datalijnen = 192 bits = 16 bits × 12 woorden).

Men selecteert een woord door enkel de betreffende 16 lijnen te lezen.

Het aantal adreslijnen bepaalt het aantal ferrietkernen die bereikt kunnen worden. Er zijn twee lijnen nodig om 4 kernen te selecteren, maar in de rope memory moet ook de omgekeerde waarde voorzien worden, dus 4 adreslijnen. Voor 8 kernen heeft men tweemaal 3 adreslijnen nodig, voor 16 kernen tweemaal 4 adreslijnen, enz. Een ROM geheugenmodule van de AGC had 512 kernen, goed voor 6144 woorden (512 kernen × 12 woorden) en had 18 adreslijnen nodig (2 × 9 adreslijnen). Er lopen maximaal 205 draden door een kern: 192 leesdraden (datadraden), 18 adresdraden en 1 set/reset draad.

6144 woorden (van 16 bits) komen overeen met 12k moderne geheugen.

Links een core rope memory met de talrijke draden die al dan niet door de kernen lopen.

Publicités - Reklame

-