Vielen Dank Herr Krause für ihre wertvolle Arbeit. Sie wären bestimmt auch ein guter Maschinenbauingenieur geworden!
@aamiddel8646Ай бұрын
Interesting. Hope you succeed and make the Z1 run again. BTW It looks you make more progress than the Plan28 project.
@flachermars4831Ай бұрын
Wieder eine interessanten Folge! Ich danke dem alten Mann mit den braunroten Haaren😄
@thebrostone2718Ай бұрын
🔥🔥 Ich habe eine Frage zu dem Mikroprogramm der Z1. Wie genau funktioniert es? In einer normalen CPU gibt es Hunderte von einzelnen Steuerleitungen, die in ein ROM gehen, aber in der Z1 scheint alles sehr kompakt. Es sieht nicht so aus, als gäbe es viele Steuerleitungen oder Pins, die von der ALU kommen, also wie genau wird das Mikroprogramm gesteuert? Wie sieht es außerdem mit den bedingten Prüfungen aus, z. B. ob der Exponent 0 ist, usw. Vielen Dank! (google translate)
@K12MITАй бұрын
Der Mikroprogrammspeicher besteht aus ca 2x 40 Blechen, die in zwei Stapeln angeordnet sind. Das Ganze ist ca 5x5x30cm³ groß. Wenn man vor der Maschine steht und senkrecht runterschaut, sieht man den vorderen Stapel der mit seinen Schaltnasen nach links zeigt. Diese Schaltnasen steuern das Exponentenwerk. Der hintere Stapel steuert das Mantissenwerk. Jedes Blech hat 10 "Adresseingänge": 5 Bits aus dem "Phasenzähler", zwei Bedingungs Bits "Situation 0" und Situation 1", sowie drei Bits für den OPCode. Die Adresseingänge sind die etwas massiveren Barren zwischen den beiden Paketen. Je nach ihrer Lage innerhalb des Stapels steuern die Schaltnasen unterschiedliche Funktionen innerhalb der aus 12 Schichten bestehenden Rechenwerke. Der Mikroprogrammspeicher ist also rechnerisch 2 x 12 x 4 Bits breit.
@K12MITАй бұрын
Der Mikroprogrammspeicher enthält 5 Mikroprogramm: MLT, DIV, SUM, toBIN, toDEC. Addition und Subtraktion sind das Gleiche. Schleifen können auf zwei Weisen realisiert werden: einmal indem der Block 16 (Planwerk und Vorzeichenwerk) den Phasenzähler stoppt, bis z. B. die beiden Mantissen normalisiert sind, die Exponenten der Zahlen also gleich sind, oder indem einzelne Bits des Bleche ausgeklinkt sind, so dass ein Blech mehrere Mikroprogrammadressen dekodiert. Bedingte Sprünge sind eigentlich "SKIP"-Befehle, d. h. ein Mikroprogrammbefehl wird in Abhängigkeit von S0 oder S1, den Statusleitungen der Rechenwerke ausgeführt oder nicht.
@K12MITАй бұрын
In der nächsten Projektphase werden wir den Mikroprogrammspeicher zerlegen um zu überprüfen, ob er mit dem Listing aus dem Zuse-Internet-Archiv übereinstimmt, dort gibt es auch Bleche mit Suffix a,b,c... die vermutlich zum Debuggen dienen und sicher nicht alle eingebaut sind. Daneben bin ich grade dabei, das Mikroprogramm mit den Befehlstracings einzelner Rechenoperationen aus den Unterlagen des DTM abzugleichen.
@thebrostone2718Ай бұрын
@@K12MIT Herzlichen Dank! Obwohl Herr Krause es bereits im Video erklärt hat, weiß ich Ihren Kommentar zu schätzen. Was mich wirklich verwirrt, ist, was danach passiert, wenn die Pins ABCD gedrückt werden. Die Mantissen- und Exponenten-ALUs haben ein paar kompakte Blöcke direkt daneben, da gehen die ABCD-Pins rein. Was passiert dort? Ich vermute, dass dies der eigentliche Mikrocode sein muss, aber ich bin so verwirrt. Dies wurde in keinem Buch erklärt!
@K12MITАй бұрын
@@thebrostone2718 Nein, der Mikroprogrammspeicher ist tatsächlich dieser Block und die Schaltkanten A,B,C und D sind die Ausgangspins der "ROM"s. Übrigens ist bei jedem Blech immer nur einer dieser Pins vorhanden. Bei Zuses mechanischer Schaltgliedtechnik findet bei jedem Takt, Zuse nennt das "Spiel", immer eine Bewegungsrichtungsänderung um 90° statt. Die Adress-Eingänge des Speichers gehen vor und zurück, wenn man vor der Maschine steht. Im nächsten Takt gehen die Bleche dann nach links (Exp) oder nach rechts (Mant). Im dritten Takt gehen dann wieder Schaltbleche in den "kompakten Blöcken" vor und zurück, die dann im vierten Takt mit einer Rechtsbewegung die Funktionen im Rechenwerk auslösen. Die "kompakten Blöcke" sind also die Steuerleitungen zwischen Mikroprogramm und ALU.