Ich spiele mit dem Entwerfen einer einfachen 8-Bit-CPU aus grundlegenden Logikkomponenten. Ich habe eine ziemlich gute Vorstellung davon, wie meine ALU und Register interagieren werden, aber das einzige, was meiner Meinung nach verbessert werden kann, ist das Umschalten, wenn eine Leitung mit dem Hauptdatenbus verbunden werden darf.
Mein erster Gedanke war, Tore zu benutzen, um den Bus zu fahren. Die Ausgabe von den verschiedenen Leitungen in der ALU könnte alle in einen Satz von Quad-AND-Chips gehen, die auf den Bus ausgegeben werden. Nur ein Satz von UND-Gattern gleichzeitig würde alle seine B-Eingänge hochziehen, um ihn auf den Bus herauszulassen.
Ein paar Dinge, bei denen ich mir nicht sicher bin: Es scheint verschwenderisch, acht vollständige UND-Gatter pro Leitung zu verwenden, wenn nur eine Steuerleitung erforderlich ist. Gibt es einen besseren Chip, der für diesen Zweck besser geeignet ist? Ich bin mir sicher, dass ich es auch mit acht Transistoren machen könnte, aber ich würde gerne bei ziemlich üblichen (und billigen) ICs bleiben.
Mit einer solchen Lösung können Daten nur in eine Richtung vom Bus fließen. Ist das ein Problem? Ich denke nicht, da ich andere Steuerleitungen habe, die verhindern, dass Register die Busdaten laden, bis ich möchte, dass sie es tun.
Gibt es einen Standardchip für ein solches Bus-Gate?
quelle
(1) UND-Gatter sind von Natur aus ungeeignet für die gemeinsame Nutzung als transparente Buspuffer, da sie interagieren, wenn sie voll aktive Ausgangstreiber haben, und wenn "Open Collector" die Logik invertiert.
Sie können ODER- Gatter mit offenem Kollektor und zwei Eingängen als Einleitungstreiber für einen gemeinsamen Bus verwenden.
Wenn Sie "data" und "not_enable" einem ODER-Gatter zuführen, ist der Ausgang hoch, wenn not_enable hoch ist, und folgt den Daten, wenn not_enable niedrig ist.
Wenn der Ausgang eines Open-Collector-Gates hoch ist, wird der Bus in keiner Weise belastet. Wenn es niedrig ist, lädt es den Bus mit einem eingeschalteten niedrigen Ausgang. So können mehrere Open-Collector-O-Gates den Bus gemeinsam nutzen, und nur aktivierte (normalerweise jeweils eines) können den Bus ansteuern. Sie benötigen einen einzelnen Pullup, um den Bus hoch zu ziehen, und eine beliebige Anzahl von Gates, um ihn niedrig zu fahren.
(2) EDUC-8 war / ist ein 8-Bit-TTL-basierter Mikrocomputer, der von August 1974 bis August 1975 als mehrmonatiges Projekt in der Zeitschrift Electronics Australia vorgestellt wurde. Selbst wenn Sie ihn nicht kopieren wollten, können Sie viel lernen, indem Sie sich ansehen, wie er funktioniert wurde implementiert. Es gibt verschiedene Enthusiasten, die in den letzten Jahren Kopien gebaut haben.
Sehr umfangreiche Dokumentation der EDUC-8-Reise eines Benutzers ... Gleiche ... Enthält Details zu seiner Tonerübertragungs-Leiterplattenherstellung der verschiedenen latrgsih-Leiterplatten und vieles mehr.
Wikipedia EDUC-8
Links Seite
Einige Dokumentationen
PCB-Image
quelle