Kernspeicher, ein wunderschönes Stück Retronik
Heute möchte ich euch mal wieder ein wundertolles Stück Hardwaregeschichte vorstellen.
Man könnte sagen, es handelt sich um den Vorgänger der Festplatte. Sie wurden um 1970 weit vor dem Transistor erfunden, um den damaligen Rechenmaschinen das Speichern zu ermöglichen. Die alten Hasen unter euch werden das Gerät sicher noch kennen, für mich war es neu (oder alt).
Es geht um Kernspeicher
Kernspeicher, dieser Name kommt nicht wie man vermuten könnte von Core Memory sondern von den Ferritkernen, welche die Daten speichern.
Ein Ferritkern, das ist nichts anderes als Metallspäne, welche unter hohem Druck gepresst werden. Den Vorgang nennt man Sintern, aber das nur am Rande. Sie haben die tolle Eigenschaft, dass sie sich magnetisieren lassen.
Jeder Kern entspricht also einem Bit. Die Kerne haben einen Durchmesser von 1mm, sie wurden per Hand unter dem Mikroskop zusammengebaut. Es war nicht möglich diese komplexen Gebilde maschinell herzustellen.
Besonders beeindruckend, es wurden Kernspeicher > 1MB gebaut. Nur um das Mal zu verdeutlichen, für ein MB Kernspeicher, waren mehrere Schaltschränke erforderlich.
Es mussten 8.388.608 einzelne Kerne mit jeh 3 Drähten verdrahtet und in Matrizen angeordnet werden.
Ein unfassbarer Arbeitsaufwand, der in unseren Breitengraden nicht bezahlbar war. Die Teile wurden hauptsächlich in China und anderen Billiglohnländern hergestellt. Ihr könnt ja mal nachzählen, wie groß der Speicher auf dem Bild gewesen ist.
So, wenn es euch nicht langweilig geworden ist, erkläre ich noch die Funktionsweise:
Jeder stromdurchflossene Leiter "erzeugt" ein Magnetfeld. Man nennt das Induktion, umgekehrt klappt das auch. Dreht man eine Leiterschleife in einem Magnetfeld erzeugt man Strom. Das Geheimnis dieser Speicher beruht auf genau diesem Prinzip.
Wenn der Leiter, welcher durch das Loch im Kern geführt ist mit einer ausreichenden Stromstärke durchflossen wird, magnetisiert er den Ferritkern in Stromflussrichtung.
Um nicht jeden Kern einzelnen ansprechen zu müssen, was ein gigantischer Verdrahtungsaufwand gewesen wäre hat man sich dazu entschieden die Kerne in einem Gitter anzuordnen, und je zwei Drähte durch zu fädeln. Ein Draht hat alle Kerne einer Spalte miteinander verbunden, der Andere alle Kerne einer Zeile.
Das wird auch heute noch in vielen Geräten so gemacht. Tastenfelder in Handys oder LED-Anzeigen zum Beispiel.
Man benötigt etwa 800mA, um den Kern zu magnetisieren. Als hat man durch die Leitung, welche die Spalte angibt einfach 400mA fließen lassen. Das reicht noch nicht aus, um die Kerne in der Zeile zu magnetisieren. Wenn man allerdings 400mA durch den Spaltendraht schickt, fließen am Kreuzpunkt 800mA und der Kern wird magnetisiert.
Die Richtung der Spannung (Positiv Negativ) gab dabei an ob der Ferrit Positiv oder Negativ magnetisiert wurde. So konnte man mit 8 Zeilenleitungen und 8 Spaltenleitungen 8x8 also 68 bit adressieren. Genial oder? Man musste nur die Flussrichtung ändern, um die Information zu ändern.
Gut, schreiben können wir das Teil jetzt aber wie wird gelesen?
Das ist der eigentliche Hammer
Neben den zwei Schreibdrähten wurde noch ein zusätzlicher Lesedraht durch die Kerne gefädelt. Jetzt kommt der eigentliche Gag (ich freu mich schon). Beim Auslesen wurde einfach jeder Kern nacheinander mit 0 beschrieben. Das bedeutet, es wurde eine definierte Stromrichtung an jeden einzelnen Kern angelegt. Wenn der Kern schon 0 war, passierte auf der Leseleitung nichts. War der Kern aber 1, wurde er von dem fließenden Strom von 1 auf 0 ummagnetisiert.
Und was passiert, wenn er ummagnetisiert wird und sich ein Leiter im inneren befindet? Richtig! Es wird eine Spannung induziert. Diese kann man an der Leseleitung messen. Überschreibt ma n also die 1 mit 0 gibt es einen Impuls auf der Leseleitung, da man ja von der Ansteuerungselektronik weiß, wo man gerade die 0 hingeschrieben hat, kennt man auch den Zustand an der Adresse.
Ihr habt sicher schon den Nachteil an dem System erkannt, es wird destruktiv gelesen. Das bedeutet, nach dem Auslesen ist das Bit zwangsläufig null. Will man die Information behalten, muss man nach dem Lesen das Bit wieder mit dem ursprünglichen Wert beschreiben. Was würde sich unsere Filmindustrie über diesen Datenträger freuen
Einmal anschauen und das Ding ist im Eimer.
Ich habe noch einen superspannenden Film zu den Kernspeichern gefunden, wenn ihr wie ich, von solchen Dingen nicht genug bekommen könnt. Dann schauts euch an
(via)


Juli 20th, 2010
auch DRAM wird destruktiv gelesen. Okay, da ist das weniger wichtig, weil man den eh alle paar Millisekunden refreshen muss damit er die Info nicht veliert. (Und das Refreshen funktioniert indem man den DMA-Controller anweist, alle Daten aus dem DRAM nach nirgendwo zu kopieren – weil jedes gelesene Bit beim Lesen eh neu beschrieben werden muss ist das einfach und effektiv.)
Twitter: thinkJD
Juli 21st, 2010
Das man sie refreshen muss wusste ich, da es ja nur Kondensatoren sind. Dass sie destruktiv gelesen werden, war mir nicht klar, klingt aber logisch. Die Ladung geht beim Lesen verloren, richtig?
Muss man sich selbst um das neu schreiben eines Bits kümmern oder übernimmt das der Controller automatisch?