4. Vom zu lösenden Prolem hängige Schltung 75 4 Prozessor-Dtenpfd 4. Vom zu lösenden Prolem hängige Schltung Mit den isher kennengelernten Schltungen können ereits viele Prolemstellungen gelöst werden. Nchfolgende Schltung löst die Qudrtische Gleichung x + x + c =. Die Ausgänge R und R geen n, o ds Ergenis zwei reelle Lösungen ht (R =R =, eine reelle Lösung ht (R =, R =) oder keine reelle Lösung ht (R =, R =). DIV / x 4 4 4c SUB- 4c p X p 4c SUB - DIV / x SUB- - ADD n R c R Ds Prolem (qudrtische Gleichung lösen) wird durch die verwendeten Komponenten (Multiplizierer, Addierer,...) und deren Verknüpfungen (z.b. ein Eingng von Multiplizierer ist mit der Zhl verknüpft, der ndere mit,...) gelöst. Soll ein nderes Prolem gelöst werden, enötigt mn ndere Verknüpfungen und ggf. uch ndere Komponenten. Während die Anzhl der Komponenten sowie die
76 4 Prozessor-Dtenpfd möglichen Verknüpfungen generell uneschränkt sind, ist die Menge der enötigten unterschiedlichen Rechenkomponenten {Addierer, Sutrhierer,...} sehr üerschur. Diese geringe Menge unterschiedlicher Rechenkomponenten ermöglicht es, Rechen- Schltungen zu uen, die unhängig vom zu lösenden Prolem sind, sog. Universlrechner. 4. Universlrechner: Schltung unhängig vom Prolem Allgemein Bei einem Universlrechner wird die gemischt prllel/serielle Struktur der Prolemlösung (vgl. oige Schltung) serilisiert und der Reihe nch in einzelnen Schritten ereitet. Die durch die Serilisierung nfllenden Zwischenergenisse werden in Speicherelementen (Register, Areitsspeicher) gesichert. Die Verknüpfung der einzelnen Rechenkomponenten (vgl. oige Aildung) entsteht ddurch, dss für jeden Serilisierungs-Schritt usgewählt wird, welche Werte/Zwischenergenisse von welchen Rechenkomponenten verwendet werden sollen und in welchem Speicherelement ds Ergenis gelegt werden soll. Durch die Serilisierung muss jede zur Prolemlösung enötigte rithmetische Komponente nur einml vorhnden sein. Beispiel-Schltung Nchfolgende Aildung zeigt einen solchen Universlrechner. Arithmetische Schltungen Auf der rechten Seite efinden die rithmetischen Schltungen, die der Rechner verwenden knn. Jede enötigte rithmetische Opertion wird durch genu eine entsprechende Schltung repräsentiert. Register ls Quell-Opernden R, R,..., R7 sind Register, in denen die (Zwischen-) Ergenisse gelegt werden können. Mit M und werden Opernden usgewählt, die von den rithmetischen Schltungen verreitet werden sollen. Ht z.b. M den Wert und den Wert, werden die Inhlte von Register R und R4 n die rithmetischen Schltungen ngelegt. Die Eingänge der rithmetischen Schltungen sind lle miteinnder verunden, d.h. die Opernden liegen n llen Schltungen gleichzeitig n.
4. Universlrechner: Schltung unhängig vom Prolem 77 Auswhl der Rechenopertion Die Auswhl der Rechenopertion (Addition, Sutrktion,...) erfolgt durch Auswhl des entsprechenden Ergenisses mittels M. Ht z.b. M den Wert und M den Wert, dnn wird ds von Addierer A erechnete Ergenis n die Eingänge ller Register R, R,... R7 gleichzeitig ngelegt. Aspeichern des Ergenisses, Register ls Ziel-Opernd In welches Register ds Additions-Ergenis üernommen werden soll, wird durch den Demultiplexer D festelegt. Ht z.b. D den Wert 4, so wird der invertierte Tkt clk n den Tkteingng von Register R4 ngelegt und Register R4 üernimmt ds Ergenis. Alle nderen Register werden nicht getktet und ehlten somit ihren ursprünglichen Wert. clk reset c BZ M R D D4 D D D D D9 D8 D7 A7 D6 D5 A D4 D D D D Add M M A K D M M M 7 6 5 4 D R7 R6 R5 R4 R R R R MSB M n- 7 A 6 ADD 5 4 SUB - M 7 6 5 DIV / 4 p X n M 4 5 M
78 4 Prozessor-Dtenpfd Befehlswort-Konstnten Im Befehlswort können in den Bits 4 is Konstnten gelegt werden. Um diese Konstnten in ein Register zu schreien, wird M uf und M uf gesetzt und ds entsprechende Register üer den Demultiplexer D getktet. In der Schltung wird ds MSB uf die oeren n- Bits (n ist die Registerwortreite) erweitert. Ddurch wird ei negtiven Zhlen (er-komplement) ds Vorzeichen eiehlten. Eingänge Der Rechner verfügt üer drei Eingänge, und c, die üer M mit den Registern R, R,... R7 verunden werden können. Soll z.b. der n Eingng nliegende Wert in Register R6 üernommen werden, wird M uf und D uf 6 gesetzt. Bei einer fllenden Flnke des Signls clk entsteht dnn n R6 eine steigende Flnke und ds m Eingng nliegende Dtenwort wird in Register R6 üernommen. ROM: Speichern der Befehlsworte, Progrmme Die Signle von M, M, M, und D kommen us dem ROM R. Die in ROM R gespeicherten Dtenworte legen lso fest, welche Register-Inhlte ls Opernden n die rithmetischen Schltungen ngelegt werden, in welches Register ds Ergenis üernommen wird zw. welcher Eingng,, c in welchem Register gespeichert werden soll. Die im ROM gespeicherten Dtenworte werden deswegen uch Befehlsworte gennnt. Üer den Adresseingng A,... A7 wird usgewählt, welcher Befehl usgeführt werden soll. Die Auswhl erfolgt üer ds Register BZ, dem Befehlszähler. Im Befehlszähler ist die Adresse des gerde usgeführten Befehls gelegt. Bei einer positiven Flnke n der Leitung clk und reset = wird der Befehlszähler durch den Addierer A immer um den Wert erhöht, d.h. es wird der im Speicher der uf den ktuellen Befehl folgende Befehl usgeführt. Im Fll reset = wird ei einer steigenden Flnke uf der Leitung clk der Befehlszähler uf gesetzt, d.h. es wird der n Adresse stehende Befehl usgeführt. Die Menge der im ROM gespeicherten uszuführenden Befehlsworte wird Progrmm gennnt. Tktsignl clk Ds Tktsignl clk treit die Schltung n. Mit jeder steigenden Flnke wird der Befehlszähler BZ so geändert, dss der nächste uszuführende Befehl dressiert wird. Ds entsprechende Befehlswort liegt dnn m Ausgng des ROMs R n und schltet üer die Multiplexer M, M, M, und den Demultiplexer D die gewünschten Dtenpfde frei. Bei der druf folgenden fllenden Flnke wird ds erechete zw. usgewählte Ergenis in ds durch D spezifizierte Register üernommen, d durch den Inverter n dem
4. Universlrechner: Schltung unhängig vom Prolem 79 usgewählten Register dnn eine steigende Flnke nliegt. Die Üernhme des Ergenisses ei fllender clk-flnke wird ei der gezeigten Schltung dzu verwendet, die Setup- und Hold-Zeiten der Register einzuhlten. So knn sichergestellt werden, dss sich die n den Registern R,... R7 nliegenden Werte unmittelr vor und unmittelr nch der Üernhme des Ergenisses nicht ändern. Nchfolgende Aildung zeigt den durch ds clk-signl festgelegten zeitlichen Aluf. enötigte Setup-Zeit enötigte Hold-Zeit enötigte Setup-Zeit enötigte Hold-Zeit Zeitpunkt, zu dem ds Ergenis in R, R7 üernommen wird Auswhl der Opernden durch M und, Durchführen Berechnungen (duert in Ahängigkeit der durchzuführenden Opertion unterschiedlich lnge), Auswhl des gewünschten Ergenisses durch M, weiterleiten des Ergenisses durch M, Anpssung des clk-pfds durch D. Zeitpunkt, zu dem ds Ergenis in R, R7 üernommen wird Auswhl der Opernden durch M und, Durchführen Berechnungen (duert in Ahängigkeit der durchzuführenden Opertion unterschiedlich lnge), Auswhl des gewünschten Ergenisses durch M, weiterleiten des Ergenisses durch M, Anpssung des clk-pfds durch D. Zeitpunkt, zu dem der Befehlszähler BZ ktulisiert wird und ds neues Befehlswort m ROM-Ausgng nliegt. A diesem Zeitpunkt werden durch ds geänderte Befehlswort ndere Opernden usgewählt, die dnn durch die rithmetischen Schltungen lufen. Zeitpunkt, zu dem der Befehlszähler BZ ktulisiert wird und ds neues Befehlswort m ROM-Ausgng nliegt. A diesem Zeitpunkt werden durch ds geänderte Befehlswort ndere Opernden usgewählt, die dnn durch die rithmetischen Schltungen lufen.
8 4 Prozessor-Dtenpfd Aufgen Verständnisfrgen ) Wozu dienen die Multiplexer M und? Auswhl der Opernden. Die Multiplexer verinden die eiden durch die Steuerleitungen M und usgewählten Register mit einem Opertor-Eingng der rithmetischen Schltungen. ) Wie wird ei dem Rechner usgewählt, welche Opertion (Addieren, Sutrhieren, Multiplizieren,...) usgeführt werden soll? Es werden utomtisch immer lle Opertionen durchgeführt, d.h. Addition, Sutrktion, Multipliktion,... werden gleichzeitig usgeführt. Durch M wird jedoch nur eins der usgerechneten Ergenisse zur Aspeicherung weitergeleitet. c) Welche Funktion ht der Multiplexer M? Auswhl des Eingngs oder des erechneten Ergenisses zur Aspeicherung in ein Ziel-Register. d) Wozu dient der Demultiplexer D? Um Dten in ein Register zu schreien, muss n dem etreffenden Register eine steigende Flnke m Tkt-Eingng nliegen. Der Demultiplexer dient dzu, ds n seinem Eingng nliegende Tktsignl usschließlich n dsjenige Register weiterzuleiten, ds durch die Bits D, D und D im Befehlswort dzu festgelegt wurde.
4. Universlrechner: Schltung unhängig vom Prolem 8 e) Wozu dient der Inverter? Der Inverter invertiert ds Tktsignl. Aus einer steigenden Flnke mcht der Inverter lso eine fllende, und us einer fllenden Flnke eine steigende Flnke. Dmit findet ds Schreien von Ergenissen in die Register R,... R7 ei einer fllenden clk-flnke sttt, zeitlich lso mximl weit entfernt von den Zeitpunkten, n denen ein neues Befehlswort m ROM-Ausgng nliegt, ndere Opernden usgewählt werden, Ergenisse erechnet werden und diese Ergenisse dnn n die Register-Eingänge weitergeleitet werden. Auf diese Weise werden die Setupund Hold-Zeiten der Register R,... R7 eingehlten, d.h. die n den Registern R,... R7 nliegenden Dten ändern sich unmittelr vor zw. unmittelr nch einer steigenden Flnke n R,... R7 nicht mehr. f) Wozu dient ds Register BZ? Ds Register BZ ist der sog. Befehlszähler. Im Befehlszähler ist die Adresse des gerde uszuführenden Befehls gelegt. g) Wozu dient der Addierer A? Mit jeder steigenden Flnke m Eingng clk (und reset = ) wird durch den Addierer der im Register BZ stehende Wert um erhöht. Als Folge wird m Ausgng des ROMs ds ls nächstes uszuführende Befehlswort usgegeen. h) Wozu dient der Multiplexer M? Mit dem Multiplexer M knn in Ahängigkeit des Signls reset der Befehlszähler BZ mit initilisiert werden, d.h. ds Progrmm n einer definierten Adresse gestrtet werden?
8 4 Prozessor-Dtenpfd i) Wozu wird im oeren rechten Teil der Schltung ds Bit D uf die n Bits... n erweitert? Die Register hen mit eine Wortreite von n Bit. Der Direktopernd ist Bit reit. Mit der gezeigten Erweiterung wird dfür gesorgt, dss die oeren n Bits einen definierten Wert hen. D ds MSB ds Vorzeichen ngit und positiven Zhlen unendliche viele -er und negtiven Zhlen unendlich viele -er vorstehen, knn durch diese Erweiterung die Wortreite ngepsst werden, ohne dss sich der durch die Bitkomintion repräsentiert Wert ändert. Gegeen sind die folgenden Signllufzeiten der rithmetischen Schltungen: Addierer = ns; Sutrhierer = ns; Multiplizierer = 5 ns; Dividierer = 9 ns; Wurzel = 9 ns. j) Wie hoch drf der Rechner mximl getktet werden, wenn die Setup-Zeit ns und die Hold-Zeit 5 ns eträgt? clk-signl kritisch: Zeit zwischen steigender und fllender Flnke unkritisch: Zeit zwischen fllender und steigender Flnke Mximle Zeit: Zeit für Division/Wurzel + Setup-Zeit = 9ns +ns = ns Gesmte Periode: ns = ns Frequenz: µs, MHz; 5 ml so schnell ) 5MHz clk-signl: kritische Zeit: zwischen steigender und fllender Flnke; unkritische Zeit: zwischen fllender und steigender Flnke;
4. Universlrechner: Schltung unhängig vom Prolem 8 k) In der CMOS-Technik wird viel Strom ei Pegelüergängen verrucht, d dnn Vcc für einen kurzen Zeitrum vergleichsweise niederohmig mit Msse verunden ist. Wie könnte mn die gezeigte Schltung hinsichtlich dieses Stromverruchs veressern? Bei der gezeigten Schltung liegen nch Auswhl der Opernden n llen rithmetischen Schltungen häufig neue/geänderte Opernden n. Die geänderten Eingngs-Opernden führen ei den rithmetischen Schltungen utomtisch dzu, dss innerhl dieser Schltungen viele Pegelwechsel uftreten. Ds liegt drn, dss ei geänderten Opernden sich uch ds Ergenis ändert und für die Berechnung Pegelwechsel durchgeführt werden. Sold die geänderten Eingngssignle lle Pfde der rithmetischen Schltung durchlufen hen und ds Ergenis erechnet wurde, erreicht die rithmetische Schltung einen sttionären Zustnd, d.h. es treten keine (viel Strom enötigende) Änderungen mehr uf. Eine Möglichkeit zur Reduktion des Stromverruchs wäre lso, dfür zu sorgen, dss keine unnötigen Berechnungen durchgeführt werden müssen. Ds knn ddurch erreicht werden, dss vor die Eingänge jede rithmetische Schltung ein Puffer-Register plziert wird und neue Opernden nur in die Puffer-Register derjenigen rithmetischen Schltung gelden werden, deren Ergenis dnn uch verwendet/gespeichert wird.
84 4 Prozessor-Dtenpfd Progrmmierufgen Qudrtische Gleichung In diesem Aschnitt soll für den Universlrechner ein Progrmm zur Berechnung von x, = ± p 4 c erstellt werden. Nchfolgende Aildung zeigt noch einml den Universlrechner. clk reset c BZ M R D D4 D D D D D9 D8 D7 A7 D6 D5 A D4 D D D D Add M M A K D M M M 7 6 5 4 D R7 R6 R5 R4 R R R R MSB M n- 7 A 6 ADD 5 4 SUB - M 7 6 5 DIV / 4 p X n M 4 5 M