Ringkernspeicher (an Arduino etc)

  • "Deko-Platine" wieder aufgetaucht - wurde vor langer Zeit von mir verkramt :( :/

    Deko-Platine? Hopp! Wieder in Betrieb nehmen! ;)

    Such mal nach "Core Memory" da findest Du zumindest Infos zum Prinzip.

    Ich hab' da mal ein bisschen was angehängt:

    "Magnetic core memory reborn" erklärt die Funktionsweise sehr schön und das "coremem-v3" baue ich im Augenblick auf...

    (...wahrscheinlich habe ich danach noch zwei komplette Sätze übrig... :tüdeldü: )


    :)Franky

  • Da war doch was :/ - das Prinzip habe ich vor zig Jahren schon mal kennen gelernt👨‍🎓

    Vielen Dank an Franky und jdreesen für die Auffrischungs-Info!

    Das Projekt von Franky sieht verlockend aus👍Wo bekommt man heutzutage noch Magnetringe? Meine "Deko-Platine" würde ich dafür nicht zerlegen :neinnein:

    Bei meiner Platine (Maße ca. 100mm x 205 mm, Feld mit Magnetringen ca. 60mm x 60mm) haben die Ringe wohl einen Außendurchmesser von knapp 2mm:



    Auf den Platinen befinden sich dann 2 x 32 x 32 = 2.048 Bit

    Damit könnte sie laut der Quelle von Franky aus den 1950ern (nahe meinem Geburtsjahr) sein?


  • Im Zweifelsfalle gebe ich einige davon ab :)


    Sind aber 1mm Aussen und 0,3mm Innen, brauchen ca. 1,3 Ampere Summenstrom (falls ich mich richtig erinnere.)

    Hier war der Versuchsaufbau dazu:



    Den SN754410 kann man immer noch kaufen. Da sind geeignete Push-Pull-Treiber drin.

  • Hast Du da einen "Core memory"-1BitSpeicher gebaut?

    Telex 563140 goap d

  • Wo bekommt man heutzutage noch Magnetringe?

    Ja, da muss man ganz schön suchen! Ein Freund hat dann welche gefunden: DDR NOS-Teile aus Bulgarien über Ebay.


    https://www.ebay.de/sch/i.html?_dkr=1&iconV2Request=true&_blrs=recall_filtering&_ssn=lzet_electronics&store_cat=0&store_name=orpheus2005&_oac=1&_nkw=core


    Jetzt habe ich hier 1500 Ringchen herumliegen - erschreckend wie klein die sind und wie wenig Platz die brauchen!!!

    Das sollten die richtigen Ringe sein - in ein paar Tagen kann ich mehr dazu sagen - ich sollte jetzt alle Teile beisammen haben...


    :)Franky


  • Wenn Du damit einen ganzen Core Speicher aufbauen willst, hast Du hoffentlich eine Partnerin die das dann wie damals mit ruhigen Frauenhänden fädeln kann ;)

    Keine Angst vor grossen Eisen !!!

  • Hast Du da einen "Core memory"-1BitSpeicher gebaut?

    Ja, um zu testen, welchen Strom es braucht und wie mickrig der Lese-Impuls ist ;)

    Wenn Du damit einen ganzen Core Speicher aufbauen willst, hast Du hoffentlich eine Partnerin die das dann wie damals mit ruhigen Frauenhänden fädeln kann ;)

    Es sind angeblich 50000 Ringe...

    Und meine Hände sind ruhig genug, um das auch selbst zu können :)

    Eine Stange SN754410 habe ich mal schon.

  • Unter dem Mikroskop:

    Easy ::heilig::

  • So gaaanz glücklich bin ich noch nicht... Hab' heute meinen "coremem-v3" (RE: Was hat dich heute glücklich gemacht?) aufgebaut.

    Er funktioniert, nach dem Ab- und wieder Anstecken klappen aber doch jedesmal ein paar Bits um... >:(

    Hat vielleicht jemand Lust den Sketch anzuschauen und kann mir sagen warum das erst nach dem erneuten Anstecken passiert? ...oder hat eine Ahnung was ich daran vielleicht modifizieren könnte damit es besser klappt?


    Shadow-aSc : Viel Spaß beim Auffädeln der Kernchen - das ist eine Sträflingsarbeit! Bin froh das ich das hinter mir habe... :ätsch:


    :)Franky

  • So gaaanz glücklich bin ich noch nicht... Hab' heute meinen "coremem-v3" (RE: Was hat dich heute glücklich gemacht?) aufgebaut.

    Er funktioniert, nach dem Ab- und wieder Anstecken klappen aber doch jedesmal ein paar Bits um... >:(

    Absolut useless, aber irgendwie auch cool.

    Naja was passiert beim Einstecken? Wenn das reagiert, wie beim Einschalten von einem Verstärker der dann ein Boxen-Geräusch erzeugt...

    ::solder::Ich "darf" beruflich basteln...

  • Absolut useless, aber irgendwie auch cool.

    Useless ist sowas: https://www.youtube.com/watch?v=mqvh3R8nKSA ;)


    Solche Kernspeicher-"Spielereien" passen doch zum Erhalt klassischer Computer, wenigstens zum Wissenserhalt.


    Unpraktikabel von mir aus. Aber das sind die Experimente im Physikunterricht auch, aber helfen ungemein beim Verständnis.

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Naja, im Moment des Ansteckens sind erst mal alle GPIO undefiniert, ebenso was die ICs machen wenn die Versorgungsspannung ansteigt und die ersten Transistoren zu arbeiten beginnen. Kann schon sein, dass dabei die Treiber kurz einschalten und unkontrolliert Stromimpulse durch die Drähte jagen.

  • Franky

    " das ist eine Sträflingsarbeit!"

    Zeige mir die Haftanstalt in der du Elektronik-Arbeiten ausführen darfst...

    Die, die das können Sitzen selten... 😁

    PC-Rath_de

    "ein Boxen-Geräusch erzeugt..."

    Seh zu das da eine Lautsprecher-Schutz-Schaltung reinkommt..

    Der Bass kann das ab, der Hochtöner nicht.

    Auch wenn ein C im Signalweg sitzt, kann der Impuls trotzdem durchschlagen.

  • Und immerhin wurden Kernspeicher noch fast bis in die 90er in den Space Shuttles eingesetzt

    IBM System/4 Pi – Wikipedia
    de.m.wikipedia.org

    "Link arms,don't make them." - Du musst Gott für alles danken, sogar für einen Franken

  • Systeme mit Kernspeicher wurden bis in die 2000er bzw. 2010er noch eingesetzt in z.B. den AWACS legacy mit Rolm MSE/14 bzw. HAWK/32,

    was Data General Eclipse bzw. Eclipse MV 16 und 32 Bit Systemen in MilSpec entspricht.

    Es gab aber auch Upgrades auf Solid State Memory.

    Keine Angst vor grossen Eisen !!!

  • Und die Bits 1 + 2 sind direkt oberhalb des USB Steckers (oder was immer da zu sehen ist unterhalb der Platine) ?? Dann könnte evtl schon ein wenig Abschirmung helfen (Pappe mit aufgeklebten Alufolienstücke auf einer Seite zwischen Platine und Stecker plazieren).

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • Und die Bits 1 + 2 sind direkt oberhalb des USB Steckers (oder was immer da zu sehen ist unterhalb der Platine) ?? Dann könnte evtl schon ein wenig Abschirmung helfen (Pappe mit aufgeklebten Alufolienstücke auf einer Seite zwischen Platine und Stecker plazieren).

    Leider nein:


    Der USB liegt im oberen Bereich - Bit2 ist ja relativ nahe - trotzdem müssten da andere Bits noch viel eher betroffen sein...


    :)Franky

  • Und die Bits 1 + 2 sind direkt oberhalb des USB Steckers (oder was immer da zu sehen ist unterhalb der Platine) ?? Dann könnte evtl schon ein wenig Abschirmung helfen (Pappe mit aufgeklebten Alufolienstücke auf einer Seite zwischen Platine und Stecker plazieren).

    Es ist jedenfalls ein Versorgungsspannungsproblem! Wenn ich den Arduino separat über das Labornetzteil versorge, die Bits setze, USB abstecke, dann die Spannung langsam herunter regele und abtrenne, bleiben nach der umgekehrten Prozedur die Bits alle erhalten.


    Stellt sich nur die Frage ob da irgendwo eine zusätzliche Kapazität Abhilfe schaffen, oder das Verhalten verschlimmbessern würde...


    Ich denke, es ist eher ein (elektro-)magnetischer Effekt - da würden Alufolienstücke nicht helfen...


    :)Franky

  • Schwer zu sagen, vllt. mit einer EInschaltstrombegrenzung. Ist wohl auch nicht gut, dass die USB-Buchse direkt an den Ferritkernen ist...

    ::solder::Ich "darf" beruflich basteln...

  • Hat die Schaltung eine "Schreibsperre", die im Ruhezustand aktiv ist?

    In meinem Eintrag RE: Was hat dich heute glücklich gemacht? findest Du das PDF "coremem-v3" mit der Schaltung auf S.15 - ich bin mir nicht sicher was die macht wenn plötzlich Spannung angeschlossen wird.

    Ist wohl auch nicht gut, dass die USB-Buchse direkt an den Ferritkernen ist...

    Gerade diese Bits sind wohl eher nicht betroffen. Wenn ich den Stecker einfach ins Labornetzteil stecke, klappt mir zumindest Bit0 genauso um. Nur wenn ich es langsam hochfahre, ist alles ok...

    Direkt an den 5V sitzt C10 (im Schaltplan fälschlich mit 47µF angegeben - lt. Stückliste ein 27µF). Evtl. ist ja er für den zu hohen Einschaltstrom verantwortlich?


    :)Franky

  • Ich würde die WR- und die RD-Leitung mit einem 4,7K Widerstand auf GND ziehen. Die Leitungen sind dem Schaltplan nach Aktiv-High. Wenn die Spannung ein oder aus geschaltet wird, können die beiden Leitungen "floaten", weil der Arduino in dem Zustand undefinierte Ausgangspegel haben kann.



    PS: ebenso würde ich den Enable-Eingang mit 4,7K nach GND ziehen...

  • Ich würde die WR- und die RD-Leitung mit einem 4,7K Widerstand auf GND ziehen. Die Leitungen sind dem Schaltplan nach Aktiv-High. Wenn die Spannung ein oder aus geschaltet wird, können die beiden Leitungen "floaten", weil der Arduino in dem Zustand undefinierte Ausgangspegel haben kann.

    PS: ebenso würde ich den Enable-Eingang mit 4,7K nach GND ziehen...

    DANKE! Das werde ich mal ausprobieren!


    :)Franky

  • Gerade diese Bits sind wohl eher nicht betroffen. Wenn ich den Stecker einfach ins Labornetzteil stecke, klappt mir zumindest Bit0 genauso um. Nur wenn ich es langsam hochfahre, ist alles ok...

    Direkt an den 5V sitzt C10 (im Schaltplan fälschlich mit 47µF angegeben - lt. Stückliste ein 27µF). Evtl. ist ja er für den zu hohen Einschaltstrom verantwortlich?


    :)Franky

    Dann pack 1...10 Ohm Widerstand in die Versorgungsleitung, der von einem 5V Logic-MosFET überbrückt wird, wenn Elko voll.

    ::solder::Ich "darf" beruflich basteln...

  • Dann pack 1...10 Ohm Widerstand in die Versorgungsleitung, der von einem 5V Logic-MosFET überbrückt wird, wenn Elko voll.

    Denke der Aufwand lohnt sich nicht - das Ding ist ja nur ein Demonstrationsmodell und es tut im Prinzip ja was es soll! Wenn ich mit ein paar Pulldowns erreichen kann das es die Daten länger hält, umso besser - wenn nicht, dann eben halt nicht...


    :)Franky