Information Technology Reference
In-Depth Information
durch einen zweiten Befehl verändert wird. (Dabei ist sicherzustellen, dass Ausnah-
meanforderungen nach dem ersten Befehl nicht akzeptiert werden.)
In Bild 2.11a ist ein mit minimalem Aufwand realisierter Befehlsdecoder darge-
stellt. Die Steuersignale sind direkt in den Befehlen codiert und werden ungewan-
delt zur Steuerung der Komponenten benutzt. Die in kursiver Schrift gesetzten Sig-
nalwerte addiere , setze usw. schalten die in Bild 2.10 hervorgehoben gezeichneten
Verbindungen (zur Erinnerung: Signale und Signalwerte sind kursiv, Komponente
wie z.B. die ALU nicht kursiv beschriftet). Der besseren Verständlichkeit halber
sind die Signalwerte nicht in ihren binärcodierten Logikpegeln, sondern als
beschreibende Texte in imperativer Form angegeben. Zum Beispiel kann mit dem
Multiplexer M 1 alternativ der Inhalt des Akkumulators oder des Stapelzeigerregis-
ters auf die ALU durchgeschaltet werden, und zwar, indem an das entsprechende
Steuersignal der Pegel „ verbinde AC“ bzw. „ verbinde SP“ angelegt wird. Die
Zuordnung der beiden Signalwerte zu den Logikpegeln 1 (high) und 0 (low) ist für
die Implementierung ohne Bedeutung und wird hier nicht weiter betrachtet.
In einigen Fällen bündelt ein Steuersignal mehrere Steuerleitungen , nämlich dann,
wenn die zu steuernde Komponente mehr als zwei alternative Funktionen besitzen.
So lassen sich vom Multiplexer M 2 drei unterschiedliche Busse mit der ALU ver-
binden („ verbinde ME“, „ verbinde ADDR“ und „ verbinde 1“), weshalb zur Steue-
rung wenigstens zwei Steuerleitungen benötigt werden. Steuersignale, die mehrere
Steuerleitungen bündeln, sind durch einen Querstrich über dem jeweiligen Signal
gekennzeichnet. In Bild 2.11a sind dies u.a. die Steuersignale ALU , M 2 und M 5 .
Soll der Inhalt des Akkumulators und einer direkt adressierten Datenspeicherzelle
addiert und das Ergebnis im Akkumulator abgelegt werden, sind die in der Register-
transferschaltung des Prozessors (Bild 2.10) hervorgehoben gezeichneten Verbin-
dungen zu schalten, was sich mit den in Bild 2.11a angegebenen Steuersignalwerten
erreichen lässt. Zunächst wird die im Befehl codierte direkte Adresse über den Mul-
tiplexer M 3 auf den Datenspeicher geführt ( M 3 : verbinde ADDR ), ein Lesezugriff
initiiert ( ME : lese ) und der ermittelte Wert mittels Multiplexer M 2 zur ALU trans-
portiert ( M 1 : verbinde AC). Gleichzeitig schaltet M 1 den Inhalt des Akkumulators
auf den zweiten Eingang der ALU ( M 1 : verbinde AC), wo beide Operanden durch
Addition miteinander verknüpft werden ( ALU : addiere ). Das Additionsergebnis und
ein von der ALU erzeugtes Bedingungsergebnis wird schließlich im Akkumulator
( AC : setze ) bzw. im Bedingungsregister CC ( CC : setze ) abgelegt. Als Vorbereitung
zur Ausführung des nächsten Befehls muss schließlich noch der Befehlszähler
inkrementiert werden. Dies geschieht ebenfalls parallel, indem der Multiplexer M 5
den Befehlszählereingang mit dem Inkrementierer +1 verbindet ( M 5 : verbinde +1)
und der Befehlszähler den neuen Wert übernimmt ( PC : setze ). Der Inhalt des Stapel-
zeigerregisters wird bei Ausführung des Befehls nicht verändert ( SP : halte ).
Abgesehen von M 5 sind die Steuersignale direkt in den Befehlen codiert. Das für M 5
eine Vorverarbeitung erforderlich ist, liegt daran, dass über den Multiplexer der vom
Bedingungscode in CC abhängige Kontrollfluss gesteuert wird. Je nachdem, ob die
in einem Sprungbefehl codierte Bedingung erfüllt oder nicht erfüllt ist, muss als
Steuersignal „ verbinde +1“ bzw. „ verbinde +“ erzeugt werden. Dies geschieht hier,
Search WWH ::




Custom Search