Kernstück der Schaltung ist wiederum die bekannte 4-bit ALU mit vorgeschalteten Registern, die hier als Akkumulator (Accu) und RegB bezeichnet werden. Die Dateneingänge dieser beiden Register werden jetzt nicht mehr über externe Schalter angsteuert, sondern sind direkt an den gemeinsamen Datenbus angeschlossen, der alle Register miteinander verbindet. Über die beiden Tristate-Treiber kann der Datenbus entweder von der Eingabeeinheit (Hex-Schalter oben rechts) oder vom Ausgang der ALU aus versorgt werden. Die beiden Tristate-Treiber werden über 'Gate'-Signale (AluG und InG) gesteuert. Solange beide Tristate-Treiber inaktiv sind, bleibt der Datenbus auf undefiniertem Pegel (logischer Wert 'Z', gelb-orange Farbe). Falls beide Tristate-Treiber gleichzeitig aktiv sind, kann es abhängig von den konkreten Datenwerten zu Kurzschlüssen kommen (logischer Wert 'X', magenta).
Die gesamte Schaltung ist typisch für das Rechenwerk eines 4-bit Mikroprozessors mit Akkumulator-Register (ACCU) und temporärem Datenregister (RegB). Durch geeignete Ansteuerung der Kontrolleingänge ist es möglich, Daten vom Dateneingang (Hex-Schalter oben rechts) zunächst in die Datenregister ACCU und RegB zu übertragen, dann eine ALU-Funktion auszuwählen, und das Resultat der ALU-Operation schließlich über den den Datenbus in das Ausgaberegister (Takt über OutC) zu übertragen. Bitte die Funktionsweise der RALU mit Bus durch Anlegen verschiedener Eingangswerte sowie die Auswahl verschiedener ALU-Operationen austesten.
Zum Steuern der Simulation entweder die verschiedenen Schalter direkt anklicken, oder die folgenden Bindkeys tippen:
Taste | Eingang | Kommentar |
'a' | AccuC | Takt Register ACCU |
'b' | BC | Takt Register B |
'r' | Br | Reset Register B |
'o' | OutC | Takt Ausgaberegister |
'g' | ALUG | Tristate-Enable ALU |
'i' | InG | Tristate-Enable Eingabe |
'c' | Cin | Carry-In ALU |
'd' | S1 | Funktionsauswahl ALU |
's' | S0 | Funktionsauswahl ALU |
'x' | Cmpl | Komplement von Operand B |
Run the applet | Run the editor (via Webstart)