Koyaaniskatsi Prozessor Design Schritt für Schritt

Im Gegensatz zu ähnlichen Materialien zum Design eines Prozessors unter Verwendung des Referenzmaterials aus dem Buch "Code" von Charles Petzold und unter Einhaltung einiger Regeln wird hier die Position des Designers nur aus eigener Erfahrung dargelegt. Das Hauptaugenmerk wird auf dem Aufbau eines programmierten Steuerautomaten mit Maschinencode liegen, der kein trockener Satz von Nullen oder Einsen ist, sondern durch Abkürzungen von zweistelligen Wörtern des Hexadezimalzahlensystems gelesen wird. Hier wird der Maschinencode dem Pseudocode-Paradigma entsprechen, das von einem geschulten Entwickler leicht verstanden und auf Hardwareebene mit einer kleinen TTL-Nomenklatur, die von dem vom Ziel entworfenen Prozessorgerät angegeben wird, leicht ausgeführt werden kann.



Paradigma



Es ist sehr wichtig zu betonen, dass der Maschinencode in einer relativ fließenden subjektiven Wahrnehmung als Pseudocode in den Feldern der Dump-Tabellen aussehen und so wenig wie möglich die Esoterizität von Bitfeldern angeben sollte.



Befehlsdecoder



Eines der wichtigsten und wichtigsten Elemente eines Automaten ist ein Gerät zum Dekodieren genau dieser Aktion zu einem bestimmten Zeitpunkt, den der Programmierer selbst im Sinn hatte, als er die Reihenfolge dieser Befehle in seinen Algorithmen zusammenstellte.



Zunächst muss eine Skizze des Koda-Koyaaniskatsi- Decoders in Logisim unter Verwendung der am besten zugänglichen Logikelemente aus der Nomenklatur der TTL-Serie erstellt werden, um eine einfache Montage des Decoders auf realen Mikroschaltungen zu gewährleisten.



Bild



Hier erstellen wir eine bedingte grafische Bezeichnung für den Decoder, die erforderlich ist, um in Zukunft die Kompaktheit und Klarheit des gesamten Schaltkreises der Maschine zu gewährleisten und den korrekten Betrieb der Decodierung aller 256 Befehlscodes zu überprüfen.



Bild



Zeitlose Präfixregister



Wenn der visuelle Test der Leistung des Decoders gut und ohne sichtbare Fehler verlief, war es an der Zeit, die Hauptregister zum Speichern der Indizes der aktiven ROZ anzuschließen, die durch die Befehle der REG-Gruppe als Architekturpräfixe ausgelöst werden.



Bild



Um die Speicherung von Vektoren des Datenroutings durch ALU- und RAM-Befehle sicherzustellen, werden ein weiteres Register und zwei verknüpfte Multiplexer hinzugefügt, mit denen Sie beliebige Register beliebiger Gruppen als Befehlsoperanden verknüpfen können.



Bild



Diese Register sind für sich genommen nicht dazu gedacht, die Ergebnisse von Berechnungen zu speichern und eine Art Rolle als Zeiger auf die erforderlichen Register zu spielen, um eine kontrollierte Interaktion im Programm zwischen allen verfügbaren ROZ und / oder Speicher bereitzustellen.



Architektonischer Zustand



Um die normale Programminteraktion aller Register sicherzustellen, muss eine Registerdatei mit zwei Ports vorhanden sein, die nicht in den Logisim-Bibliotheken enthalten ist, sodass wir nach anderen mehr oder weniger kostspieligen alternativen Lösungen suchen müssen. Der klassische Koyaaniskatsi verfügt über eine recht komplexe Registerdatei, die hier nicht als anschauliches Beispiel betrachtet wird und die Entwicklung einer neuen Lösung zum Organisieren einer mehrzyklischen Registerdatei mit langsamem Zugriff erfordert. Da sich das Schema als ein Zyklus herausstellte, ist es ziemlich schwierig, die Registerdatei im RAM hier zu organisieren, und es wird notwendig, ein Mehrzyklusschema zu erstellen, bei dem sich viele spezielle Zyklen in einer genau festgelegten Reihenfolge gegenseitig ersetzen.



Der algorithmische Ausdruck des Zykluszählers kann als "m & = m - 1" mit sequentiellem Abschalten aller aktiven Bits des Architekturzustands beschrieben werden, wobei zu einem bestimmten Zeitpunkt des Maschinenzyklus nur Schlüsselknoten der Schaltung aktiviert werden.



Der maximal erweiterte Prototyp des Maschinenzykluszählers kann auf einer Skizze einer ähnlichen Schaltung dargestellt werden, deren Logik der Funktionsweise nur schwer zu verstehen ist.



Bild



Eine ähnliche Skizze kann als optimalste und universellste Option dienen:



Bild



Für die Verwendung im Schema kann die bedingte grafische Bezeichnung wie folgt lauten:



Bild



Mit Hilfe von 3-ODER-Logikgattern ist es nun möglich, das Signal jedes Befehls in die Bitmaske der für die korrekte Ausführung des Befehls erforderlichen Zyklen zu übersetzen, für deren gesamte Ausführungsdauer der Befehlszähler vorübergehend ausgesetzt wird.



Bild



Fazit



Wie Sie sehen, müssen wir, um zumindest mehr oder weniger die Nuancen der Selbstkonstruktion eines programmierbaren Automaten zu verstehen, nur mit Grundkenntnissen auf den Ebenen des Zeichnens des Schemas einer blinkenden Weihnachtsbaumgirlande auskommen. Hier wurden bewusst keine allen bekannten Referenzmaterialien verwendet, so dass der kreative Prozess aufregender und frei von allen Welttrends und -trends war und nicht alle möglichen Fehleinschätzungen oder Fehler berücksichtigt wurden.



Im nächsten Teil werde ich versuchen, meine schrittweise Konstruktion des "Akyn-Prozessors" fortzusetzen,

da der neue Entwurf fast für mich funktioniert, aber ich habe beschlossen, ihn von Grund auf neu zu zeichnen

und gleichzeitig alle wichtigen Phasen zu dokumentieren ...



All Articles