Das ALU-Outputregister stellt einen Teil der Schnittstelle zwischen ALU und internem CPU-Bus dar. Es dient hauptsächlich der Verbindung der ALU-Ausgangsleitungen mit dem internen CPU-Datenbus. Zusätzlich ist diese Schaltung für die ZERO- und SIGN-Erkennung und das Setzen der Datenworte 0x00 und 0xFF auf dem CPU-Datenbus zuständig. Die Schaltung zeigt bei einer so einfachen Aufgabe auch keinerlei Besonderheiten.
Die Schaltung des Outputregisters ist recht einfach.
Die Ausgangsleitungen der ALU werden vom Stecker P2 einfach zum Stecker P1 durchgeschleift und sind damit direkt mit dem internen Datenbus der CPU verbunden.
An den Datenbusleitungen sind eine verschiedene Diodenmatrixschaltungen angeschlossen.
Die Diode D2 generiert das SIGN-Bit für das Flagregister.
Das Datenbit 7 des Datenbusses wird dort abgegriffen und auf das Relais REL1 geführt.
Das Relais zieht an, wenn das Datenbit 7 gesetzt ist (Logikpegel 1).
Die Leuchtdiode D1 zeigt ein gesetztes SIGN-Bit an.
Die Dioden D3 bis D10 dient der ZERO-Erkennung.
Wenn alle Datenbits des CPU-Datenbusses auf Logikpegel 0 (0V oder hochohmiger Zustand) liegen, so fällt das Relais REL4 ab und gibt am Ausgang Logikpegel 1 aus und signalisiert damit die ZERO-Bedingung.
Gleichzeitig dienen die Dioden auch zur Erzeugung des Datenwortes 0x00.
Wenn das Relais REL5 anzieht, dann sind die Kontakte REL5[3,4] miteinander verbunden und legen die Kathoden der Dioden auf 0V.
Damit liegen alle Datenleitungen des Busses auf Logikpegel 0.
Dazu muss der CPU-Datenbus vorher frei geschaltet werden.
Die Dioden D12 bis D19 legen die datenbusleitungen auf Logikpegel 1, wenn das Relais REL6 angezogen ist.
Das kann nur erfolgen, wenn das Relais REL5 abgefallen ist und der Relaiseingang REL6[1] mit Logikpegel 1 angesteuert wird.
Dadurch kann das Datenwort 0xFF erzeugt werden.
| Die Anschlussleitungen an P1 zum CPU-Datenbus haben folgende Bedeutungen: | |||
| Pin | Name | Funktion | Pegel |
| 1 | DB0 | Datenleitung Bit0 | 0V,12V,H |
| 2 | frei | keine Beschaltung | H |
| 3 | DB1 | Datenleitung Bit1 | 0V,12V,H |
| 4 | frei | keine Beschaltung | H |
| 5 | DB2 | Datenleitung Bit2 | 0V,12V,H |
| 6 | frei | keine Beschaltung | H |
| 7 | DB3 | Datenleitung Bit3 | 0V,12V,H |
| 8 | frei | keine Beschaltung | H |
| 9 | DB4 | Datenleitung Bit4 | 0V,12V,H |
| 10 | frei | keine Beschaltung | H |
| 11 | DB5 | Datenleitung Bit5 | 0V,12V,H |
| 12 | frei | keine Beschaltung | H |
| 13 | DB6 | Datenleitung Bit6 | 0V,12V,H |
| 14 | frei | keine Beschaltung | H |
| 15 | DB7 | Datenleitung Bit7 | 0V,12V,H |
| 16 | frei | keine Beschaltung | H |
| 17 | GND | Stromversorgung | 0V |
| 18 | frei | keine Beschaltung | H |
| 19 | GND | Stromversorgung | 0V |
| 20 | frei | keine Beschaltung | H |
| 21 | GND | Stromversorgung | 0V |
| 22 | frei | keine Beschaltung | H |
| 23 | GND | Stromversorgung | 0V |
| 24 | frei | keine Beschaltung | H |
| 25 | +12V | Stromversorgung | +12V |
| 26 | frei | keine Beschaltung | H |
| 27 | +12V | Stromversorgung | +12V |
| 28 | frei | keine Beschaltung | H |
| 29 | frei | keine Beschaltung | H |
| 30 | frei | keine Beschaltung | H |
| 31 | frei | keine Beschaltung | H |
| 32 | frei | keine Beschaltung | H |
| 33 | frei | keine Beschaltung | H |
| 34 | ZERO | Ausgang ZERO-Erkennung | 0V,12V |
| 35 | frei | keine Beschaltung | H |
| 36 | SET0 | Setzeingang 0x00 | 0V,12V,H |
| 37 | frei | keine Beschaltung | H |
| 38 | ZERO | Ausgang SIGN-Erkennung | 0V,12V |
| 39 | frei | keine Beschaltung | H |
| 40 | SET1 | Setzeingang 0xFF | 0V,12V,H |
|
Die Anschlussleitungen am Stecker P2 führen zu den ALU-Ausgängen. Hier ist das ALU-Outputregister mit dem 8-bit-ALU-Block verbunden. Die Anschlüsse haben folgende Bedeutung: |
|||
| Pin | Name | Funktion | Pegel |
| 1 | OUT0 | ALU-Ausgang Bit0 | 0V,12V,H |
| 2 | OUT1 | ALU-Ausgang Bit1 | 0V,12V,H |
| 3 | OUT2 | ALU-Ausgang Bit2 | 0V,12V,H |
| 4 | OUT3 | ALU-Ausgang Bit3 | 0V,12V,H |
| 5 | OUT4 | ALU-Ausgang Bit4 | 0V,12V,H |
| 6 | OUT5 | ALU-Ausgang Bit5 | 0V,12V,H |
| 7 | OUT6 | ALU-Ausgang Bit6 | 0V,12V,H |
| 8 | OUT7 | ALU-Ausgang Bit7 | 0V,12V,H |
| 9 | GND | Signalmasse | 0V |
| 10 | GND | Signalmasse | 0V |
| Outputsteuerung | ||||||||||||
| Eingangssignale | Ausgangssignal P3 | Erläuterung | ||||||||||
| DB0 | DB1 | DB2 | DB3 | DB4 | DB5 | DB6 | DB7 | SET0 | SET1 | ZERO | SIGN | |
| H | H | H | H | H | H | H | H | 0,H | 0,H | 1 | 0 | Der ZERO-Ausgang erkennt einen hochohmigen Datenbus als 0x00 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0,H | 0,H | 1 | 0 | Der ZERO-Ausgang erkennt das Datenbyte 0x00 auf dem CPU-Datenbus |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0,H | 1 | 0 | Durch SET0=1 wird das Datenbyte 0x00 auf dem Bus erzeugt, das ZERO-Bit wird gesetzt |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0,H | 1 | 0 | 1 | Durch SET1=1 wird das Datenbyte 0xFF auf dem Bus erzeugt, das SIGN-Bit wird gesetzt |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | Bei SET1=1 und SET0=1 wird das Datenbyte 0x00 auf dem Bus erzeugt, das ZERO-Bit wird gesetzt |
| X | X | X | X | X | X | X | 0 | 0,H | 0,H | X | 0 | Durch Datenbit DB7=0 wird SIGN nicht gesetzt, ZERO wird gesetzt, wenn das Datenwort 0x00 ist |
| X | X | X | X | X | X | X | 1 | 0,H | 0,H | 0 | 1 | Durch Datenbit DB7=1 wird SIGN gesetzt, ZERO wird nicht gesetzt |
Das ALU-Outputregister ist relativ einfach aufgebaut und dient hauptsächlich der ZERO, SIGN-Erkennung und der Generierung der Datenworte 0x00 und 0xFF, die für spezielle ALU-Operationen benötigt werden.
|
Sollte jemand seine Rechte durch eine Veröffentlichung auf dieser oder einer anderen meiner Seiten verletzt sehen, bitte ich um sofortige Kontaktaufnahme.
Ich werde die entsprechenden Inhalte umgehend entfernen.
Somit sind sowohl ein anwaltlicher Rat als auch eine kostenpflichtige Abmahnung nicht erforderlich!
Weiterhin weise ich darauf hin, dass der Inhalt verlinkter Seiten nicht in meiner redaktionellen Verantwortung liegt. |
www.schlaefendorf.de 2012