|
ALU mit Registern
Wie bei einigen Erklärungen und Abbildungen oben bereits
gezeigt, benötigt man zur Zwischenspeicherung der Operanden und des Ergebnisses (und zur Verschiebung bei Multiplikation und Division) Register, die eine ALU zur Register-ALU (RALU) ergänzen. Blockschaltung einer Register-ALU - Puffer-Register: Eingabe-Register RE (MD-Multiplikandenreg.) und Ausgabe-Register RA
- Zwischenspeicher-Register: Akkumulator
Es ergeben sich folgende Funktionen: - Puffer-Register: Eingaberegister dann sinnvoll, wenn - wie oft - die Operanden nacheinander in die ALU geladen werden, d.h. die ALU nur über einen Datenweg mit der Außenwelt verbunden ist (1-Adreß-Maschine).
- Zwischenspeicher-Register (Akkumulator): Speicherung des ersten Operanden und Aufnahme des Ergebnisses (RE ALU ACC).
- Datenwege zu den ALU-Eingängen sind über Tore (UND-Gatter) geführt, die geöffnet oder gesperrt werden können.
- Zusätzliche Steuersignale sind notwendig:
- Ga und Gb zum Schalten der Tore am ALU-Eingang
- Dt Richtungssteuerung des ALU-Ausgangs
- Dt = 0: Ergebnis im Akku
- Dt = 1: Ergebnis in RA
Mit der vorgestellten RALU lassen sich Addition, Subtraktion und
bitweise Logikfunktionen programmgesteuert durchführen. Die in
einem Schritt durchgeführte Operation wird vollständig
durch das Steuerwort bestimmt.
Beispiel: Addition zweier Operanden: Z = X + Y
1. X RE; 0 + <RE> = <RE> ACC
S2 S1 S0 C0 Ga Gb Dt
0 0 0 0 0 1 0
2. Y RE; <ACC> + <RE> RA
S2 S1 S0 C0 Ga Gb Dt
0 0 1 0 1 1 1
Beispiel: Subtraktion zweier Operanden: Z = X - Y
1. X RE; 0 + <RE> = <RE> ACC
S2 S1 S0 C0 Ga Gb Dt
0 0 0 0 0 1 0
2. Y RE; <ACC> - <RE> RA
S2 S1 S0 C0 Ga Gb Dt
0 0 1 1 1 1 1
Die RALU ist in der bisher vorgestellten Form zur direkten
Durchführung von Addition, Subtraktion und logischen
Verknüpfungen geeignet. Für die Multiplikation und
Division sind Erweiterungen notwendig:
- ein weiteres Register: häufig als Multiplikator-Quotienten-
Register (MQ-Register) bezeichnet. In vielen CPUs wird aber auch
ein zweiter Akkumulator oder ein Universalregister verwendet.
- Verschiebemöglichkeit für Registerinhalte:
Ermöglichung der stellenrichtigen Addition von
Teilergebnissen; häufig werden Akkumulator und
MQ-Register als untereinander verbundenes
Rechts-Links-Schieberegister ausgeführt.
- separate Verfügbarkeit des LSB-Stelle von MQ
- weitere Steuersignale:
- Steuerung der Verschiebeoperation SHL (links), SHR (rechts)
- Multiplexer-Steuersignal für ALU-Ergebins auf Akku oder MQ
- Ersatz Richtungssteuersignal Dt durch 2 Signale Dt0 und Dt1, da
jetzt die ALU auf 3 Register geschaltet werden kann.
|
|
|