10.07.2015 Aufrufe

Rechnerarchitektur - Technische Informatik an der Universität Frankfurt

Rechnerarchitektur - Technische Informatik an der Universität Frankfurt

Rechnerarchitektur - Technische Informatik an der Universität Frankfurt

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Die meisten Maschinenbefehle bestehen auszwei Teilen, einem Op(erations)code undeinem o<strong>der</strong> mehreren Oper<strong>an</strong>den.Das Operationsprinzip einer von-Neum<strong>an</strong>n-Architektur legt fest, dass <strong>der</strong> Operationscodeeines Maschinenbefehls immer auf dieOper<strong>an</strong>den <strong>an</strong>gew<strong>an</strong>dt wird. Je nachOperationscode werden die Oper<strong>an</strong>denentwe<strong>der</strong> direkt o<strong>der</strong> als Speicheradressenvon Daten interpretiert. Im letzten Fall wird<strong>der</strong> Maschinenbefehl auf den Inhalt <strong>der</strong>adressierten Speicherzelle <strong>an</strong>gew<strong>an</strong>dt.Ein Oper<strong>an</strong>d k<strong>an</strong>n auch als Sprungadresseauf einen Maschinenbefehl interpretiertwerden. Code und Daten stehen im selbenSpeicher.Eine Speicherzelle k<strong>an</strong>n somit einenDatenwert o<strong>der</strong> einen Maschinenbefehlenthalten. Wie <strong>der</strong> Inhalt <strong>der</strong> Speicherzelleinterpretiert wird, hängt allein vomOperationscode des Maschinenbefehlsab.CPUADCHSBefehleDatenJoh<strong>an</strong>n Wolfg<strong>an</strong>g Goethe-<strong>Universität</strong><strong>Technische</strong> <strong>Informatik</strong>Klaus Waldschmidt ©Seite 3<strong>Rechnerarchitektur</strong>, WS 2003/2004Teil 7 ArchitekturgrundlagenDie von-Neum<strong>an</strong>n-ArchitekturProgramm +DatenspeicherAdressen von Dateno<strong>der</strong> MaschinenbefehlenBedingungscodesSteuersignaleProzessor (FSMD)MikrobefehleSteuerwerk DatenpfadGemeinsamer Speicher fürProgramm und Daten,sequentieller Zugriff.Von-Neum<strong>an</strong>n-Architektur:• einfache Struktur(1 Speicher)• Programm + Daten müssennachein<strong>an</strong><strong>der</strong> auf denSpeicher zugreifenDaten +MaschinenbefehleJoh<strong>an</strong>n Wolfg<strong>an</strong>g Goethe-<strong>Universität</strong><strong>Technische</strong> <strong>Informatik</strong>Klaus Waldschmidt ©Seite 4<strong>Rechnerarchitektur</strong>, WS 2003/2004Teil 7 Architekturgrundlagen2


Die Harvard-Architektur.........MaschinenbefehleAdresse desMaschinenbefehlsProzessor (FSMD)SteuervektorenMikrobefehleBedingungscodesAdressenDatenspeicherSteuersignaleSteuerwerkSteuersignaleDatenpfadOper<strong>an</strong>denProgrammspeicher.........Erweiterung <strong>der</strong> FSMD umeinen Programmspeicher,in dem auszuführendesProgramm gespeichert ist.Daten werden in einem 2.Datenspeicher gehalten.Harvard-Architektur:• komplizierte Struktur(2 Speicher!)• Programme + Datenkönnen gleichzeitig aufihren Speicher zugreifenJoh<strong>an</strong>n Wolfg<strong>an</strong>g Goethe-<strong>Universität</strong><strong>Technische</strong> <strong>Informatik</strong>Klaus Waldschmidt ©Seite 5<strong>Rechnerarchitektur</strong>, WS 2003/2004Teil 7 ArchitekturgrundlagenEin Mikrocomputer ist ein modifiziertervon-Neum<strong>an</strong>n-Rechner, bei dem dieVerbindungseinrichtung durch einen BUSrealisiert ist.Der Bus besteht aus den drei TeilenDatenbus, Adreßbus und Steuerbus.Er verbindet den Mikroprozessor mit demHauptspeicher, den Steuerbausteinen unddem Ein-/Ausgabesystem.AdreßbusDaten-busMikroprozessorSteuerbusHauptspeicherSteuerspeicherE/AStruktur eines MikrocomputersJoh<strong>an</strong>n Wolfg<strong>an</strong>g Goethe-<strong>Universität</strong><strong>Technische</strong> <strong>Informatik</strong>Seite 6<strong>Rechnerarchitektur</strong>, WS 2003/2004Teil 7 Architekturgrundlagen3


Der Mikroprozessor erhält die Maschinenbefehlein sequentieller Programmordnungaus dem Hauptspeicher.Er decodiert jeden Befehl und führt eineMaschinenoperation auf dem Inhalt einervon Maschinenbefehl adressierten Speicherzelleaus. Die Interpretation den Inhaltstyps(Datentyp im Falle eines Datums o<strong>der</strong> Befehlstypim Falle eines Befehls) <strong>der</strong> Speicherzellehängt einzig von <strong>der</strong> im Maschinenbefehlenthaltenen Information ab.Die Speicherzellen selbst tragen keine Kennungihres Inhaltstyps. Die einzige Strukturierungbesteht im Zusammenfassen einerbestimmten Bitzahl (8,16,32 o<strong>der</strong> 64 Bits) zueinem Speicherwort als kleinster adressierbarerEinheit. Daten und Befehle werdengleichermaßen im Hauptspeicher abgelegtund sind im Speicher nicht unterscheidbar.Der Rechner arbeitet in zwei überlappendausführbaren Phasen:In <strong>der</strong> Befehlsbereitstellungs- und Decodierphasewird, adressiert durch den Befehlszähler,<strong>der</strong>Inhalt einer Speicherzelle geholtund als Befehl interpretiert.In <strong>der</strong> Ausführungsphase werden die Inhaltevon einer o<strong>der</strong> zwei Speicherzellen bereitgestelltund entsprechend <strong>der</strong> Vorschrift verarbeitet,die durch den Operationscode desBefehl gegeben ist. Dabei wird <strong>an</strong>genommen,dass die Inhalte <strong>der</strong> Speicherzellen Datensind,welche vom Datentyp her den in Befehlgetroffenen Voraussetzungen entsprechen.Joh<strong>an</strong>n Wolfg<strong>an</strong>g Goethe-<strong>Universität</strong><strong>Technische</strong> <strong>Informatik</strong>Klaus Waldschmidt ©Seite 7<strong>Rechnerarchitektur</strong>, WS 2003/2004Teil 7 ArchitekturgrundlagenDas von-Neum<strong>an</strong>n-Prinzip zeichnet sichdurch einen minimalen Hardware-Aufw<strong>an</strong>daus. Es f<strong>an</strong>d so l<strong>an</strong>ge seine Rechtfertigung,als die Hardware-Bauteile den größtenKostenfaktor eines Rechners darstellten undinsbeson<strong>der</strong>e die optimale Hauptspeicherauslastungdas wichtigste Entwurfsziel war.In den letzten beiden Jahrzehnten hat sichjedoch die Kostensituation durch die Entwicklung<strong>der</strong> Halbleitertechnologie grundlegendgeän<strong>der</strong>t.Insbeson<strong>der</strong>e die Verbindungseinrichtungzwischen Hauptspeicher und Prozessorerweist sich in von-Neum<strong>an</strong>n-Architekturenals Engpass (von-Neum<strong>an</strong>n-Flaschenhals),weil durch ihn alle Daten und Maschinenbefehletr<strong>an</strong>sportiert werden müssen.Verschärft wird dieser Engpass dadurch,dass die Befehlsausführung durch denProzessor wesentlich schneller vor sichgeht als <strong>der</strong> Zugriff auf den Hauptspeichermit heutiger RAM-Speichertechnologie.Insbeson<strong>der</strong>e Prozessortechniken wie dasBefehlspipelining und das Superskalar-Prinzip haben den Datenhunger heutigerMikroprozessoren noch wesentlich erhöht.Joh<strong>an</strong>n Wolfg<strong>an</strong>g Goethe-<strong>Universität</strong><strong>Technische</strong> <strong>Informatik</strong>Klaus Waldschmidt ©Seite 8<strong>Rechnerarchitektur</strong>, WS 2003/2004Teil 7 Architekturgrundlagen4


Fetch:IR


SISD-Rechner werden üblicherweiseklassifiziert nach:• Der Anzahl <strong>der</strong> separaten Pfade fürInstruktionen und Oper<strong>an</strong>den(Princeton- bzw. Harvard-Architektur),• Der Instruktionssatz-Architektur(CISC/RISC)• Der Befehlsverarbeitung(VLIW, Superskalar, SMT, EPIC, TTA...)• Dem Ort, wo die Oper<strong>an</strong>den für die Verarbeitungbereitstehen, z. B.- Speicher-Speicher-Maschine:Die Oper<strong>an</strong>den werden direkt aus demHauptspeicher geladen. Auf schnelleRegister als Zwischenpuffer für dieOper<strong>an</strong>den wird hier verzichtet.- Virtuelle Registermaschine: Ein Teil desHauptspeichers wird wie ein Registerfileverwendet.- Register-Register-Maschine o<strong>der</strong> Load/Store-Architektur: Die Oper<strong>an</strong>den müssenimmer in schnellen Registern bereitstehen.Diese Architekturvari<strong>an</strong>te wird im folgendennäher beschrieben.Joh<strong>an</strong>n Wolfg<strong>an</strong>g Goethe-<strong>Universität</strong><strong>Technische</strong> <strong>Informatik</strong>Klaus Waldschmidt ©Seite 11<strong>Rechnerarchitektur</strong>, WS 2003/2004Teil 7 ArchitekturgrundlagenWie m<strong>an</strong> aus <strong>der</strong> Struktur ersehen k<strong>an</strong>n, lässtsich <strong>der</strong> Datenpfad sehr gut zu einem Fließb<strong>an</strong>d(Pipeline) umgestalten. Dazu wird <strong>der</strong>Befehlszyklus in einzelne Phasen aufgeteiltund für jede Phase wird ein eigenes Ausführungswerk(Pipelinestufe) bereitgestellt.Bei einer einfachen Befehlsdecodierung, d.h.unter <strong>an</strong><strong>der</strong>em, wenn nur wenige unterschiedlicheBefehlsformate verwendet werden, sindeffiziente Pipelines möglich.Für das Steuerwerk sind grundsätzlich zweiStrukturen möglich:• direkte (festverdrahtete) Steuerung• mikroprogrammierte SteuerungDie festverdrahtete Lösung kommt überwiegendbei RISC und die mikroprogrammierteLösung bei CISC zum Einsatz.Bei <strong>der</strong> festverdrahteten Lösung erfolgt dieBefehlsdecodierung durch eine FSM mitfestverdrahteten Schaltnetzfunktionen.Diese Befehlsinterpretierung erfor<strong>der</strong>teinfache und reguläre Befehle, wie sie ineiner RISC-ISA gegeben sind.Komplexe Befehle, wie sie in einerCISC-ISA gegeben sind, werden mittelseiner mikroprogrammierten Steuerungausgewertet.Joh<strong>an</strong>n Wolfg<strong>an</strong>g Goethe-<strong>Universität</strong><strong>Technische</strong> <strong>Informatik</strong>Klaus Waldschmidt ©Seite 12<strong>Rechnerarchitektur</strong>, WS 2003/2004Teil 7 Architekturgrundlagen6


Festverdrahtete SteuerungDatenFestverdrahtetes LeitwerkOpcode; Adr. etc.Instruktionsregister(IR)ALUkomplexeskombinatorischesNetzwerkZust<strong>an</strong>dsregisterSteuersignaleJoh<strong>an</strong>n Wolfg<strong>an</strong>g Goethe-<strong>Universität</strong><strong>Technische</strong> <strong>Informatik</strong>Klaus Waldschmidt ©Seite 13<strong>Rechnerarchitektur</strong>, WS 2003/2004Teil 7 ArchitekturgrundlagenMikroprogrammierte SteuerungDatenbus(Mikro-)Statusinformationvon ALU (FLAG)MaschinenbefehlSequenzerµBZµPSMikroprogrammµIRAdreßteilOpkodeMappingSteuerteilAdr. etc.ROM DMikroprogrammspeicherMikroinstruktionsregisterAnf<strong>an</strong>gsadresseMikrobefehlszählerInstruktionsregisterJoh<strong>an</strong>n Wolfg<strong>an</strong>g Goethe-<strong>Universität</strong><strong>Technische</strong> <strong>Informatik</strong>Klaus Waldschmidt ©Seite 14Steuersignale<strong>Rechnerarchitektur</strong>, WS 2003/2004Teil 7 Architekturgrundlagen7


Die wichtigsten Best<strong>an</strong>dteile einer mikroprogrammiertenBefehlsinterpretation sind:• <strong>der</strong> Mikroprogrammspeicher µPS• ein Festwertspeicher (ROM)• <strong>der</strong> Mikrobefehlszähler µBZ• das Mikroinstruktions- o<strong>der</strong> PipelineregisterµIR• <strong>der</strong> SequenzerIR ist das Instruktionsregister für den auszuführendenMaschinenbefehl. Ein Deco<strong>der</strong>o<strong>der</strong> “mapping ROM” (D) bildetOp-Codes auf Mikroprogrammadressenab.Je<strong>der</strong> Maschinenbefehl wird vom Steuerprozessormit Hilfe eines Mikroprogrammsinterpretiert, das im Mikroprogrammspeichernie<strong>der</strong>gelegt ist.Ein Mikroprogramm besteht aus einzelnenMikroprogrammbefehlen (Mikroinstruktionen).Bei <strong>der</strong> Ausführung eines Maschinenbefehlswird also eine Mikroinstruktionssequenzdurchlaufen, <strong>der</strong>en Anf<strong>an</strong>gsadresse im µPSaus dem OP-Code des Maschinenbefehlsgewonnen (D) und in den µBZ geladen wird.Die so adressierte Mikroinstruktion wird ausgelesen,d.h. in das Mikroinstruktionsregistergeladen. Aufgabe des (Mikroprogramm-)Sequenzer ist es, – unter Beachtung desSteuer- und Adresscodes <strong>der</strong> aktuellenMikroinstruktion (im µIR) sowie <strong>der</strong> Statussignale(Flaggen) <strong>der</strong> ALU – die Adresse <strong>der</strong>jeweils nächsten Mikroinstruktion auszuwählen.Diese Mikroinstruktion wird d<strong>an</strong>nwie<strong>der</strong> in das Mikroinstruktionsregister µIRgebracht. Die Auswahl <strong>der</strong> nächsten Mikroinstruktionsadresseund die Steuerung desDatenpfades erfolgen nebenläufig.Joh<strong>an</strong>n Wolfg<strong>an</strong>g Goethe-<strong>Universität</strong><strong>Technische</strong> <strong>Informatik</strong>Klaus Waldschmidt ©Seite 15<strong>Rechnerarchitektur</strong>, WS 2003/2004Teil 7 ArchitekturgrundlagenBei einer horizontalen Mikroprogrammierungentsprechen die Bits <strong>der</strong> Mikroinstruktion denSteuersignalen (Mikroor<strong>der</strong>). Bei einerquasihorizontalen Mikroprogrammierung istjede Mikroinstruktion in Bit-Fel<strong>der</strong> unterteilt,die decodiert werden müssen. Diese Fel<strong>der</strong>können u. a. die Adresse des nächstenMikrobefehls, die Mikroor<strong>der</strong> für die ALU,Registernummern o<strong>der</strong> Steuersignale fürMultiplexer enthalten. Die zugehörigenDecodierwerke sind in <strong>der</strong> Regel Teil desDatenpfads. Wenn die codierten Mikrobefehledurch weitere Firmware decodiertwerden, spricht m<strong>an</strong> von einer N<strong>an</strong>oprogrammierung.Die HSA des Prozessors besteht aus demsteuernden und dem ausführenden Teil.Im Datenprozessor (Rechenwerk), bestehendaus einem o<strong>der</strong> mehreren Datenpfaden,werden die einzelnen Rechenoperationenausgeführt. Typische Komponenteneines Datenpfads sind: Busse,Register, Register-files, ALUs, Shifter,Multiplexer. Demultiplexer, Caches etc.Datenpfade führen Berechnungen aufAnfor<strong>der</strong>ung hin aus. Der Steuerprozessor(Steuerwerk, Steuereinheit, CCU:Computer Control Unit) bestimmt, w<strong>an</strong>nwelche Berechnungen auszuführen sind.Joh<strong>an</strong>n Wolfg<strong>an</strong>g Goethe-<strong>Universität</strong><strong>Technische</strong> <strong>Informatik</strong>Klaus Waldschmidt ©Seite 16<strong>Rechnerarchitektur</strong>, WS 2003/2004Teil 7 Architekturgrundlagen8


Zur Befehlsausführung wird im Fetch-Zyklusdie Instruktion in das Instruktionsregister IRgebracht und d<strong>an</strong>n decodiert. SP ist <strong>der</strong>Steuerprozessor, <strong>der</strong> die Decodierung vornimmt.Aus <strong>der</strong> Decodierung des Befehlswerden die Steuersignale für die ALU(Operation) und die Multiplexer (Select), dieSchreibsignale (Write) und gegebenenfallsdrei Registernummern gewonnen – zwei füreinen lesenden, eine für einen schreibendenZugriff auf das Registerfile (Drei-Tor-Registerfeld).Die ALU verknüpft zwei Oper<strong>an</strong>den, dieaus dem Registerfile und/o<strong>der</strong> als Teil <strong>der</strong>Instruktion geholt werden. Bei einer LOAD-Instruktion berechnet die ALU die effektiveAdresse. Der Inhalt <strong>der</strong> so adressiertenSpeicherzelle wird in das Registerfile gebracht.Bei einer STORE-Instruktion istebenfalls zuvor die Berechnung <strong>der</strong> effektivenAdresse erfor<strong>der</strong>lich. Die ALU erzeugtzudem Flaggenwerte (CC: Condition Codes),die vom Steuerprozessor ausgewertetwerden können. Im Befehlszähler PCsteht die Adresse des als nächsten auszuführendenBefehls. Im Normalfall wird erautomatisch inkrementiert (+).Joh<strong>an</strong>n Wolfg<strong>an</strong>g Goethe-<strong>Universität</strong><strong>Technische</strong> <strong>Informatik</strong>Klaus Waldschmidt ©Seite 17<strong>Rechnerarchitektur</strong>, WS 2003/2004Teil 7 ArchitekturgrundlagenPCSR/W S OP R/WBefehlsadresse+Adresse.......IRSP.....ALUAR.......BefehlsspeicherRegisterfileDatenspeicherLeseportSchreibportvon ALUSJoh<strong>an</strong>n Wolfg<strong>an</strong>g Goethe-<strong>Universität</strong><strong>Technische</strong> <strong>Informatik</strong>Klaus Waldschmidt ©Multiplexbasierte Load Store ArchitekturSeite 18<strong>Rechnerarchitektur</strong>, WS 2003/2004Teil 7 Architekturgrundlagen9

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!