Rechnerarchitektur WS 2003/2004. Klaus Waldschmidt. Teil 11. Hardwaresystemarchitekturen - Superskalarität

Größe: px
Ab Seite anzeigen:

Download "Rechnerarchitektur WS 2003/2004. Klaus Waldschmidt. Teil 11. Hardwaresystemarchitekturen - Superskalarität"

Transkript

1 Rechnerarchitektur Vorlesungsbegleitende Unterlagen WS 2003/2004 Klaus Waldschmidt Teil 11 Hardwaresystemarchitekturen - Superskalarität Seite 1 Hardwaresystemarchitekturen HSA moderner Mikroprozessoren Grundlage moderner Mikroprozessoren bildet heute nach wie vor das sequentielle von-neumann - resp. Harvard - Architekturprinzip. Es wird durch zwei Formen der Parallelität erweitert: Phasenparallelität Nebenläufigkeit Im Folgenden wird die Einführung der Phasenparalleltität und der Nebenläufigkeit in die HSA der Mikroarchitekturebene (Prozessorebene) betrachtet. Diese beiden Beschleunigungsmaßnahmen waren neben der technologischen Entwicklung auf der Architekturseite wesentlich an der Leistungssteigerung moderner Mikroprozessoren beteiligt. Beide Techniken lassen sich für die parallele Ausführung mehrerer Befehle durch einen Prozesoor einsetzen (Instruktionsparallelität). Nebenläufigkeit bedeutet, dass mehrere Befehle gleichzeitig abgearbeitet werden. Phasenparallelität bedeutet, dass die Befehlsbearbeitung in Phasen unterteilt wird und in unterschiedlichen Phasen mehrere Befehle gleichzeitig abgearbeitet werden. Seite 2 1

2 Nebenläufigkeit Die nebenläufige Verarbeitung mehrerer Instruktionen in einem Befehlszyklus erfordert das Vorhandensein mehrerer unabhängiger Funktionseinheiten. Diese Funktionseinheiten sind typischerweise heterogen d.h. sie sind für unterschiedliche Funktionen ausgelegt und optimiert. Die Zuordnung der Instruktionen zu den Funktionseinheiten kann auf unterschiedliche Weise erfolgen. Nach Art dieser Zuordnung werden die Klassen Superskalar-Technik VLIW-Technik Multi-Threaded-Technik Innerhalb dieser Klassen können weitere Feinunterteilungen vorgenommen werden. In der Superskalar-Technik erfolgt die Zuordnung im wesentlichen zur Laufzeit, wird also umfangreich durch Hardware dynamisch unterstützt. In der VLIW-Technik übernimmt im wesentlichen der Compiler die Aufgabe der Zuord nung. Sie erfolgt also statisch und entlastet in hohem Maße die Hardware. In der Multi-Threaded-Technik wird im wesentlichen versucht, die Latenzzeiten der Speicherzugriffe zu verbergen. Ansonsten verhält sich diese Technik ähnlich zur Superskalar-Technik. Seite 3 Die Nebenläufigkeit entspricht durch das Vorhandensein mehrerer Funktionseinheiten einer räumlichen Parallelität. Sie wird in allen Ausprägungen der Technik durch die zeitliche Parallelität, das sog. Pipelining, sinnvoll ergänzt. Die Frage, wieviel Parallelität sich im Zielcode eines Programms befindet, das aus einer sequentiellen imperativen Programmsprache in einen RISC-Befehlssatz übersetzt wird, wurde in den letzten Jahren häufig untersucht. Eine der maßgebenden Untersuchungen kommt zu dem Schluß, dass Programme häufig etwa fünffache und selten mehr als siebenfache feinkörnige Parallelität besitzen. Höhere Parallelitätsgrade können jedoch erreicht werden, wenn sich ein Code mit sehr langen Grundblöcken (Befehlsfolgen ohne Verzweigungen) erzeugen lässt, was üblicherweise nur bei numerischen Programmen in Verbindung mit Compilertechniken, die Schleifen abrollen, der Fall ist. Eine darüber hinausgehende Erhöhung der Maschinenparallelität birgt somit die Gefahr, dass ein erheblicher Teil der Ausführungseinheiten wegen mangelnder Programmparallelität brachliegt. Diese Gefahr besteht sowohl für vielfach superskalare Prozessoren als auch für VLIW- Prozessoren. Seite 4 2

3 Superskalar-Technik Ein superskalar Prozessor besitzt mehrere, meist heterogene Ausführungseinheiten der Befehlspipeline. Die wichtigsten Eckwerte sind: Es kann mehr als ein Befehl pro Takt den Ausführungseinheiten zugeordnet werden. Die Befehlszuordnung arbeitet auf einem normalen sequentiellen Befehlsstrom. Die Befehlszuordnung geschieht durch eine sog. Befehlszuordnungseinheit (Instruction Dispatch Unit), welche die Befehle, für die eine gleichzeitige Zuordnung an die Ausführungseinheiten möglich ist, gruppiert und die Zuordnung vornimmt, falls die betroffene Ausführungeinheit zur Aufnahme eines Befehls bereit ist. Die Befehlszuordnung geschieht somit dynamisch - also zur Laufzeit der Hardware - und nicht durch den Compiler. Optimierende Compiler können jedoch die Ausführungsgeschwindigkeit steigern. Eine Voraussetzung der Superskalar-Technik ist, dass mehrere Ausführungseinheiten vorhanden sein müssen, die parallel zueinander arbeiten können. Die Superskalar-Technik ist eine reine Implementierungstechnik, die unabhängig von der Architekturspezifikation eingesetzt werden kann. Das geschieht beispielsweise beim SuperSPARC-Prozessor, der zwar intern superskalar aufgebaut ist, jedoch eine davon unabhängig definierte Architektur - die sog. SPARC-Architektur Version 8 - besitzt, deren Spezifikation im übrigen auch von dem skalaren RISC-Prozessor micro-sparc-ii erfüllt wird. Seite 5 Die wichtigsten Komponenten sind im Modell des superskalaren Prozessors zusammengefasst. Auch ein superskalarer Prozessor weist die drei grundsätzlichen Phasen der Befehlsbearbeitung auf: 1. Dekodierphase 2. Ausführungsphase 3. Rückschreibphase Die eigentliche Parallelisierung der Befehle geschieht in der ersten, der Dekodierphase. Hierbei sind einige Bedingungen einzuhalten. So können Befehle nur dann parallel bearbeitet werden, wenn zu deren Ausführung nicht nur eine einzelne Funktionseinheit zur Verfügung steht, es also keinen sog. Ressourcen-Konflikt gibt. Des weiteren kann ein Befehl nur gestartet werden, wenn als Operand nicht das Ergebnis eines parallel bearbeiteten Befehls benötigt wird, also keine sog. Echte Datenabhängigkeiten oder Read-after-Write, kurz RAW-Abhängigkeit zu anderen, im sequentiellen Programmfluß regulär zuvor auszuführenden Befehlen existiert. Seite 6 3

4 Out of order execution Soll in der Decodierphase die Reihenfolge der Befehle sogar verändert werden, so ist zusätzlich zu berücksichtigen, dass ein Befehl mit seinem Ergebnis keinen Operanden überschreibt, der von vorangehenden, nicht gestarteten Befehlen noch gelesen werden muss. Die entsprechende Abhängigkeit wird als Antioder Write-after-Read, kurz WAR-Abhängigkeit bezeichnet. Schließlich und endlich muss noch die Write-after-Write, kurz WAW-Abhängigkeit beim Umordnen von Befehlen berücksichtigt werden. Sie tritt auf, wenn bei Ausführung eines Befehls das Ergebnis eines anderen regulär zuvor auszuführenden Befehls überschrieben wird. Seite 7 Beispiel eines kleinen Assemblerprogramms für Power PC 604: Ziel Quellenregister I 1 mul r1, r2, r3 I 2 add r4, r1, r5 I 3 mul r7, r8, r9 I 4 sub r1, r6, r10 Der Power PC 604 könnte die Ausführung aller vier Befehle gleichzeitig beginnen, wenn keine Abhängigkeiten existieren würden. Tatsächlich besteht aber zwischen I1 und I2 eine echte Datenabhängigkeit und zwischen I1 und I3 ein Ressourcenkonflikt. Der Additionsbefehl I2 muss daher verzögert werden, bis das Ergebnis der Multiplikation I1 in r1 bereitsteht, wobei die Wartezeit durch Bypasses verkürzt werden kann. Außerdem muss I3 verzögert werden, bis die mit der Ausführung des Befehls I1 beschäftigte Multiplikationseinheit (beim PowerPC die sog. Multi Cycle Integer Unit, MCIU) bereit ist, einen weiteren Befehl entgegenzunehmen. Seite 8 4

5 Zunächst werden somit nur die Befehle I1 und I4 auszuführen begonnen. Unter der Annahme, dass Multiplikationsbefehle mehrere Takte zur Ausführung benötigen, könnte zunächst nur das Ergebnis des Subtraktionsbefehls I4 einen Takt später in das Register r1 geschrieben werden. Je nach verwendetem Verfahren kann dies erlaubt werden oder auch nicht, in jedem Fall ist sicherzustellen, dass die Addition I2 mit dem noch nicht durch den Subtraktionsbefehl modifizierten Inhalt von r1 auszuführen begonnen wird (WAR- Abhängigkeit). Wird das Ergebnis des Subtraktionsbefehls I4 in das Register r1 geschrieben, so muss außerdem berücksichtigt werden, dass der Multiplikationsbefehl I1 den Inhalt von r1 nicht mehr überschreiben darf, wenn das Ergebnis einige Takte später zur Verfügung steht (WAW-Abhängigkeit). Entsprechend darf I2 nicht mehr den Inhalt von r1 verarbeiten, sondern muss entweder das Ergebnis direkt von der Multiplikationseinheit erhalten oder aus einem anderen sog. Renaming-Register. Seite 9 Einfache Superskalarität Der Aufwand bei der Realisierung superskalarer Prozessoren lässt sich reduzieren, wenn der sequentielle Befehlsstrom nicht vollständig umgeordnet wird, sondern ausschließlich unmittelbar aufeinanderfolgende Befehle parallelisiert werden. Wie bereits erwähnt, reicht es hierbei aus zu erkennen, ob die parallel zu startenden Befehle RAW-Abhängigkeiten aufweisen und ggf. WAW-Abhängigkeiten, falls die Ausführungszeiten der einzelnen Funktionseinheiten nicht identisch sind. Besonders einfach gestaltet sich diese Aufgabe, wenn nur Befehle parallelisiert werden, die selten oder nie voneinander abhängig sind, wie z. B. Floating-Point- und Integer-Befehle. Realisiert wurde eine solche einfache Form der superskalaren Befehlsverarbeitung z. B. im Intel i 860. Vielfache Superskalarität (degree of superskalarity) Die Anzahl der Befehle, die pro Takt decodiert werden können, werden als Maß für die Leistungsfähigkeit eines superskalaren Prozessors betrachtet (Instruction Issue). Der Decoder begrenzt also die Parallelität. Seite 10 5

6 Beispiel eines superskalaren Prozessors mit zweifacher Superskalarität DEC Alpha Der DEC Alpha 31064liest über einen 64 Bit breiten Datenbus zwei Befehle pro Takt (Fetch). In der nachfolgenden Fließbandstufe Swap werden die Befehle vordecodiert und anschließend in den für die endgültige Decodierung des Befehls zuständigen Decoder geleitet. Floating-Point-Befehle können hierbei nur von dem Decoder Decode1, Sprung, Lade- und Speicherbefehle nur von dem Decoder Decode2 und arithmetisch-logische Befehle in beiden Decodern bearbeitet werden. Nach der Decodierung beginnt die eigentliche Befehlsausführung, wobei ein Befehl nur dann den Decoder verläßt, wenn die folgenden Bedingungen erfüllt sind: 1) Die Quellenoperanden des Befehls sind verfügbar. Das heißt entweder, dass keiner der noch in Ausführung befindlichen Befehle eine Schreiboperation auf den Quellregistern des zu startenden Befehls ausführt, oder der erforderliche Operand ist über Bypass verfügbar (RAW-Abhängigkeit). 2) Keiner der vorangehenden und noch in Bearbeitung befindlichen Befehle führt eine Schreiboperation auf dem Zielregister des zu startenden Befehls aus (WAW-Abhängigkeit) Seite 11 3) Es existiert kein Ressourcen-Konflikt. Dies bedeutet einerseits, dass die Ausführung eines Befehls nur dann gestartet wird, wenn kein vorangehender Befehl die benötigte nicht in Fließbandtechnik arbeitende Funktionseinheit belegt (wie das z. B. bei Ausführung mehrerer hintereinanderstehender Divisionsbefehle der Fall ist) und andererseits, dass zwei parallel zu startende Befehle nicht dieselbe Funktionseinheit benötigen dürfen. So kann z. B. ein Unterprogrammaufruf nicht parallel zu Lade- und Speicherbefehlen ausgeführt werden, da all diese Befehle die Load-/Store-Unit verwenden. Entsprechend der maximalen Anzahl der Befehle, die pro Takt zugeordnet werden können, spricht man von zweifach, dreifach, oder vielfach (mehr als vierfach) superskalar. Seite 12 6

7 Fetch Swap Decode1 Issue FP-Execution FP-Write-Back FP instruction issue Addr Cache Write Back Load / Store instruction Swap Decode2 Execution Write Back Integer Instruction Bypasses (1 of 38) Seite 13 Modell für einen superskalaren Mikroprozessor FU1 FU2 L/S Funktionseinheiten Verbindungs- Netzwerk Register File Steuereinheit (Wakeup + Select) Issue-Fenster I-Cache und D-Cache Speicher Verwaltung MMU Hauptspeicher Seite 14 7

8 Superskalare Prozessoren prägen Instruktionsparallelität aus. Diese wird durch Pipelining und Nebenläufigkeit verkörpert. Pipelining bedeutet, dass die Verarbeitung der Instruktionen in mehreren Phasen erfolgt und Nebenläufigkeit bedeutet, dass für die Verarbeitung der Instruktionen gleichzeitig mehrere Alternativen (Einheiten) zur Verfügung stehen. Die Nebenläufigkeit bezieht sich sowohl auf die Datenwege (Fetch-Bandbreite, Zuordnungs-Bandbreite), auf den Decoder und natürlich auf die Funktionseinheiten. Nach dem Holen der Befehle und dem Dekodieren warten diese im Instruktionsfenster auf ihre Ausführbereitschaft. Diese ist gegeben, wenn die Operanden verfügbar sind.*) Diese Aufgabe wird von einem Verfahren übernommen, das als Wake up bezeichnet wird. Für die Implementierung des Wake up als Logik sind drei grundsätzliche Verfahren bekannt: 1. Assoziativspeicher (zentrale Lösung) 2. Tomasulo Algorithmus (dezentrale Lösung) 3. Scoreboard (zentrale Lösung) *) Dies ist i.a. gegeben, wenn die Abhängigkeiten gelöst sind. Seite 15 Assoziativspeicher Die wartenden Instruktionen sind in einem Speicher eingetragen. Die Operanden sind durch Tags gekennzeichnet. Die Tags der erzeugten Ergebnisoperanden werden mit den Tags der Operanden der wartenden Instruktionen verglichen. Bei Übereinstimmung wird an der Stelle ein ready bit gesetzt. Hat eine Instruktion ihre ready bits komplett, wird sie zur Ausführung gebracht. Jede Speicherzelle ist mit 2 m Komparatoren versehen, die vollparallel über den gesamten Speicher die Vergleiche durchführen (m = Zuordnungs-Bandbreite). Diese Art Speicher wird auch als Assoziativspeicher bezeichnet. Dieses Verfahren entspricht einem statischen Datenflußrechner, wobei das Programm durch die wartenden Instruktionen repräsentiert wird. Dieses verändert sich ständig, ist also dynamisch. Seite 16 8

9 Wake up-logik mit Assoziativspeicher Vergleich Wartende Instruktionen Assoziativspeicher Zuordnung (Selektion) Funktionseinheiten oder... Komparator.... tag m tag 1 IW Zuordnungsbreite Komparator.... oder ready Operand Operand ready bit L tag L tag R bit R Instruktion 1 oder... Komparator Komparator.... ready Operand Operand ready bit L tag L tag R bit R oder Instruktionsfenster (window size) Instruktion n Seite 17 Datenflußgraph Implementierung der Knoten Level 0 Level 1 Reservationstation Reservationstation Register Level 2 Funktionseinheit Identität... Seite 18 9

10 Tomasulo Algorithmus Auch beim Tomasulo Algorithmus erfolgt die Abhängigkeitsprüfung nach dem Datenflußprinzip. Die im Instruktionsfenster befindlichen Instruktionen bauen einen Datenflußgraphen auf. Alle Instruktionen, die sich auf einer Ebene des Graphen befinden, können gleichzeitig ausgeführt werden. Alle Abhängigkeiten im Sinne des Datenflußgraphen können durch Verweise auf die Funktionseinheiten dargestellt werden. Dies wird imtomasulo-verfahren dezentral vorgenommen. Den Funktionseinheiten werden Register zur Speicherung der Verweise zugeordnet. Diese werden als Reservation- Stations bezeichnet und speichern entweder die Operanden oder Verweise auf Funktionseinheiten. Da auch Register aus dem Registerfile Operanden bereitstellen können, werden auch diese als Funktionseinheiten betrachtet. Ihnen wird die Operation der Identität gedanklich zugeordnet. Die Reservation-Stations können dezentral den Funktionseinheiten zugeordnet werden oder aber auch als file zentral angeordnet sein. Seite 19 Scoreboard Im Gegensatz zum Tomasulo-Algorithmus werden die Abhängigkeiten nicht über die Funktionseinheiten, die Ergebnisse erzeugen, sondern über das Registerfile protokolliert. Instruktion Zielregister Sobald ein Register aus dem Registerfile Zielregister einer in Ausführung befindlichen Instruktion ist, wird es für die wartenden Instruktionen als gesperrt gekennzeichnet. Nach Beendigung der Instruktion und Übertragung des Ergebnisses in das Zielregister wird dieses freigegeben. Es ist dann für die wartenden Instruktionen wieder verfügbar. Einem Register kann daher nur eine einzige Abhängigkeit zugeordnet werden. Setzen des Scoreboard bits im Issue-point der Instruktion Scoreboard Rücksetzen des Scoreboard bits nach Beendigung der Instruktion Seite 20 10

11 Tomasulo Algorithmen Nach dieser ersten Gegenüberstellung des Tomasulo- und Thornton Algorithmus zur Abhängigkeitsprüfung von Instruktionen sollen beide Verfahren nocheinmal detailliert behandelt werden. Die beiden bekanntesten Verfahren zur Befehlsparallelisierung in superskalaren Prozessoren sind der Tomasulo-Algorithmus und das Scoreboarding (Thornton Algorithmus). Das von R. Tomasulo entwickelt Verfahren wurde zuerst in der IBM 360 verwirklicht. Es verwendet die sog. Reservation-Stations zur Lösung der Abhängigkeiten und wird in superskalaren Mikroprozessoren wie dem PowerPC 604, dem Pentium, dem R10000, dem HP PA-8000 usw. verwendet. Der Tomasulo-Algorithmus beruht auf der Annahme, daß eine Änderung der Ausführungsreihenfolge der Befehle immer dann möglich ist, wenn die im Programm bestehenden Abhängigkeiten unverändert bestehen bleiben, also die Semantik eines Programms unverändert bleibt. Seite 21 a b c d div div z e f mul add sub x y a b div sub add z = = = = =... mul Funktionseinheit Ausführungseinheit Reservationstations Arbeitsregister (Operandenregister) Registereinheit Seite 22 11

12 Der hier als Beispiel zugrundegelegte Prozessor enthält Funktionseinheiten zur Ausführung einer Division, einer Multiplikation, einer Addition und einer Subtraktion. Für Addition und Subtraktion wird eine gemeinsame Ausführungseinheit verwendet. Diese ist mit insgesamt vier Operandenregistern verbunden, die zu zwei Reservation- Stations gehören, und zwar zu den Reservation-Stations der Additionsund der Subtraktionseinheit. Zur Erläuterung des Tomasulo-Algorithmus möge folgende kleine Befehlsfolge dienen, die auf dem Prozessor zur Ausführung gebracht wird. (I1) (I2) (I3) (I4) WAW x = a / b RAW y = x + z WAR z = c * d x = e f Seite 23 Die Ausführung des Befehls I1 beginnt damit, dass die in den Arbeitsregistern a und b jeweils verfügbar Werte gelesen und in den Operandenregistern der Divisionseinheit gespeichert werden. Da beide Operanden verfügbar sind, beginnt die Divisionseinheit sofort mit der Ausführung der Operation.. Außerdem wird im Arbeitsregister x eingetragen, dass darin das Ergebnis der Divisionseinheit gespeichert werden soll,sobald es verfügbar ist. Um bis zum Ende der Ausführung der Addition die Nichtverfügbarkeit des Additionsergebnisses anzuzeigen, wird in das Arbeitsregister y die Referenz auf die Additionseinheit eingetragen. Der Befehl I3 wird in der gleichen Art und Weise wie der Befehl I1 behandelt. Mit dem Befehl I2 wird in der gleichen Art und Weise verfahren. Anstatt des Inhalts wird hierbei jedoch die im Arbeitsregister x gespeicherte Referenz auf die Divisionseinheit in das linke Operandenregister der Additionseinheit übertragen. Die Additionseinheit muß nun warten, bis das benötigte Ergebnis von der Divisionseinheit erzeugt wurde. Seite 24 12

13 Bemerkenswert ist, daß das Arbeitsregister z überschrieben werden darf, obwohl der Befehl I2 noch auf das Ergebnis der Division wartet und als zweiten Operanden den alten Wert von z benötigt. Dies ist möglich, weil der Wert von z bereits beim Start der Addition in das entsprechende Operandenregister der Reservation- Station kopiert wurde. Der letzte Befehl I4 der Befehlsfolge kann ebenfalls verzögerungsfrei gestartet werden, da beide Quellenoperanden direkt gelesen werden können und die Reservation-Station der Subtraktionseinheit frei ist. Dies ist insofern bemerkenswert, als nur eine gemeinsame Ausführungseinheit für die Addition und Subtraktion existiert. Ein Ressourcen- Konflikt tritt also nicht auf, solange ein Befehl in eine freie und für den Befehl zuständige Reservation-Station kopiert werden kann. Das Divisionsergebnis muß nach dem Start des Subtraktionsbefehls nicht mehr in das Arbeitsregister x geschrieben werden, so daß eine Referenz in x durch die Referenz auf die Subtraktionseinheit ersetzt werden kann ( div wird also durch sub ersetzt). Da nach dem Befehl I4 keine freien Einträge in den Reservation-Stations zur Verfügung stehen, muß jeder weitere Befehl zu einem Ressourcen-Konflikt führen. Die weitere Befehlsausführung muß daher bis zur Lösung des Ressourcen-Konfliktes verzögert werden. Seite 25 Um die Häufigkeit eines solchen Konfliktes zu vermindern muß die Anzahl der Funktionseinheiten vergrößert werden. Hierzu kann eine einzelne Funktionseinheit auch zeitlich versetzt verwendet werden, wobei die Befehle einschließlich ihrer Operanden in mehrere sog. Reservations-Stations gespeichert werden. Die Aufgabe der normalerweise vorhandenen Arbeitsregister wird hier von den Operandenregistern übernommen (zur besseren Abgrenzung werden diese im folgenden trotzdem als Arbeitsregister bezeichnet). In ihnen können einerseits Ergebnisse (wie in herkömmlichen Arbeitsregistern), andererseits jedoch auch Referenzen auf Funktionseinheiten gespeichert werden. Neben den Arbeitsregistern enthält jede Registereinheit eine Ausführungseinheit die hier jedoch nur der Einheitlichkeit halber eingezeichnet ist. Sie erzeugt als Ergebnis den im Arbeitsregister gespeicherten Wert (Identität) und kann in der Realität entfallen. Im Unterschied zu den Funktionseinheiten, die als aktive Komponenten ihre Ergebnisse von sich aus bereitstellen, sobald diese vorliegen, geben Registereinheiten als passive Komponenten die Inhalte ihrer Arbeitsregister erst dann weiter, wenn sie dazu aufgefordert werden. Seite 26 13

14 In welcher Reihenfolge die Befehle beendet werden, ist von der Geschwindigkeit der einzelnen Funktionseinheiten abhängig. Wahrscheinlich ist, daß zunächst die Subtraktion beendet wird, wobei dies voraussetzt, dass die Ausführungsreihenfolge der Befehle in der für Additionen und Subtraktionen gemeinsamen Ausführungseinheit nicht von der Reihenfolge, mit der die Befehle in die beiden getrennten Reservation-Stations geschrieben wurden, abhängt. So werden z.b. Floating-Point-Befehle im Power PC 604 immer in der Reihenfolge ihres Auftretens bearbeitet. Nachdem der Subtraktionsbefehl beendet wurde, werden der Multiplikationsbefehl, dann der Divisionsbefehl und zum Schluß der Additionsbefehl, der auf das Ergebnis der Division warten mußte, ausgeführt. Die Reihenfolge mit der die Befehle beendet werden, ist somit I4, I3, I1, I2. Reservation-Stations können den Ausführungseinheiten fest zugeordnet werden oder es kann eine große, zentrale Reservation- Station verwendet werden. Die meisten Prozessoren verfügen über eine feste Zuordnung. Ein Ressourcenkonflikt kann in diesem Fall bereits dann auftreten, wenn alle Einträge der Reservation-Station der benötigten Funktionseinheiten freie Einträge existieren können. Günstiger ist es daher eine große. Gemeinsame Reservation-Station, wie z. B. beim Pentium II. Seite 27 Da die Abhängigkeiten in superskalaren Prozessoren im allgemeinen über Register ausgedrückt werden, d. h., ein Befehl schreibt ein Ergebnis in ein Register, das von einem anderen Befehl gelesen wird, ist es naheliegend, den Registerspeicher so zu erweitern, daß in ihm die Abhängigkeiten protokolliert werden und die Befehlsausführung entsprechend gesteuert wird. Genau diese Idee liegt dem Scoreboarding zugrunde. Das dem Registerspeicher assoziierte Scoreboarding als zentrale Instanz zur Steuerung der Ausführungsreihenfolge hat jedoch einige Nachteile. So kann im Scoreboarding zu einem speziellen Register gewöhnlich nur eine RAW- bzw. WAR-Abhängigkeit eingetragen werden. Beim Auftreten einer zweiten Abhängigkeit muß die weitere Befehlsausführung blockiert werden, bis die Abhängigkeit gelöst ist. In ähnlicher Weise blockiert eine einzige ungelöste WAW-Abhängigkeit die weitere Befehlsausführung. Eine bessere Lösung bietet hier der Tomasulo- Algorithmus, der Abhängigkeiten nicht mehr anhand der Register, die zur Übergabe von Ergebnissen verwendet werden, verwaltet, sondern anhand der Funktionseinheiten, die ein Ergebnis produzieren. Ein Befehl wartet im Falle einer Abhängigkeit also nicht auf ein Ergebnis im Register Rn, sondern auf das Ergebnis der Funktionseinheiten Fn. Der Vorteil dieser Vorgehensweise ist, dass z. B. WAW-Abhängigkeiten nicht dazu führen, dass die weitere Befehlsbearbeitung bis zur Lösung des Konfliktes blockiert wird. Unterschiedliche Befehle können zwar ein Ergebnis in demselben Register ablegen, eine WAW- Abhängigkeit tritt jedoch nicht auf, wenn die Ergebnisse in unterschiedlichen Funktionseinheiten erzeugt werden. Tatsächlich führt der Tomasulo-Algorithmus nur dann zur Blockade der weiteren Befehlsausführungen, wenn ein Ressourcenkonflikt auftritt. Seite 28 14

15 Scoreboard (Thornton Algorithmus) Das Prinzip des Scoreboards ist sehr einfach. Register, die in Benutzung sind, werden durch ein in use Informationsbit gekennzeichnet. Ein Register wird als besetzt markiert, wenn es Ziel einer Operation ist. Nur freie Register dürfen geschrieben und gelesen werden. Daraus ergibt sich ein Scoreboard Bit-Vector entsprechend der Register-Zahl. Scoreboard: Bit-Vektor für 32 Register R0 R1 R2... R31 Registersatz Für jedes Register ergibt sich folgender Zustandsgraph. Seite 29 0 Register frei (unused) Zieloperand ist in Rn eingetragen (write back to Rn) Register Rn ist Adresse des Zieloperanden (destination operand) Zieloperand ist in Rn eingetragen (write back to Rn) & Rn ist Adresse des Zieloperanden (Rn is destination operand) 1 Register Rn in Benutzung Seite 30 15

16 Das Scoreboard bit wird am instruction issue point der Pipeline gesetzt. Es wird bei einer Anfrage des Zielregisters gesetzt und in der write back phase dieser Instruktion zurückgesetzt. Jede folgende Instruktion wird auf einen Konflikt zwischen einem Quellenoperanden und einem in use Zielregister geprüft. Im Falle eines Konfliktes wird die Instruktion verzögert (delayed) bis das Scoreboard bit zurückgesetzt ist. Dadurch wird der Hazard einer echten Datenabhängigkeit aufgelöst. Durch die Existenz eines data forwarding - Pfades kann der issue stop der betreffenden Instruktion um einen Taktzyklus verringert werden. Eine auf einen Quellenoperanden wartende Instruktion kann bereits ausgeführt werden, wenn das Datum für das Register des Quelloperanden auf dem Bus für das Registerfile vorhanden ist. Seite 31 OPC R S1 S2 instruction word 31 n 0 scoreboard logic set reset SC bit n SC bit n 31 n 0 RF READ stage OPC EX stage R Adresse (S1) + (R) Operand (S2) RF WRITE stage Seite 32 16

17 Generierung des Issue-Stop-Signals für Instruktionen im Falle des Scoreboarding (Thornton-Algorithmus) OPC R S1 S2 R Adress decoder 31 instruction word 31 n 0 only with data forwarding & & scoreboard registers n m 0 n 0 R WB Adress decoder m 0 & busy n forwarding Signal for instruction issue stop ODER Seite 33 reset n instruction issue stop Generierung der Forward-Signale im Falle des Scoreboarding (Thornton-Algorithmus) scoreboard registers OPC R S1 S R m m m m & & R WB 0 & & & & ODER ODER forward to S1 forward to S2 Seite 34 17

18 In-order-completion Die Bearbeitung eines sequentiellen Programms setzt implizit voraus, daß zum Zeitpunkt der vollständigen Beendigung eines Befehls alle vorangehend in Ausführung befindlichen Befehle ebenfalls beendet wurden. Dies ist jedoch bei Prozessoren, die die Ausführungreihenfolge der Befehle verändern, nicht der Fall. So können innerhalb eines bestimmten Programmbereichs einige Befehle bereits abgeschlossen worden sein, während andere im sequentiellen Programm zuvor auszuführende Befehle noch auf ihre Bearbeitung warten. Problematisch hieran ist, daß die noch nicht ausgeführten Befehle möglicherweise eine Änderung des Programmflusses bewirken, so daß die Wirkung der im sequentiellen Programm nachfolgenden und bereits ausgeführten Befehle rückgängig gemacht werden muß. Ein zunächst nur spekulativ ausgeführter Befehl darf erst dann vollständig beendet werden, wenn alle im sequentiellen Proramm zuvor auszuführenden Befehle abgeschlossen wurden und dabei nicht Ereignisse, wie Ausnahmebehandlung, falsch vorhergesagte Sprungbefehle oder Code-Modifikationen, aufgetreten sind. In superskalaren Prozessoren werden die Befehle zwar in geänderter Reihenfolge ausgeführt, die Ergebnisse jedoch unter Berücksichtigung der ursprünglichen Reihenfolge ggf. auch parallel in den sichtbaren Maschinenstatus übertragen. Seite 35 Hierfür ist eine Protokollierung notwendig, die entweder von einem Reorder Buffer oder einem History Buffer geleistet wird. An einem kleinen Beispiel sei die grundsätzliche Vorgehensweise kurz demonstriert: Die Befehlsfolge I1 bis I6 möge von einem superskalaren Prozessor aufgrund von Abhängigkeiten in der Reihenfolge I1, I5, I2, I4, I3, I6 ausgeführt werden. Wäre der Prozessor in unserem Beispiel dreifach superskalar, so würden die Befehle I1, I2 und I5 zwar gleichzeitig ausgeführt, aber nur die Ergebnisse von I1 und I2 würden in den Registerspeicher geschrieben, während das Ergebnis von I5 zwischengespeichert wird, bis alle vorangehenden Befehle vollständig beendet wurden. Löst also der Befehl I4 eine Ausnahmebehandlung aus, so würden I1 bis I3 beendet, I6 abgebrochen und das bereits berechnete Ergebnis von I5 verworfen. Seite 36 18

19 Reorder Buffer Bei der Reorder Technik werden die Befehle vor ihrer Ausführung zunächst einmal entsprechend ihrer Reihenfolge gekennzeichnet. Dies geschieht, indem jedem Befehl eine Position in dem als eine Art Ringpuffer realisierten Reorder-Buffer zugewiesen wird. Sobald ein Ergebnis erzeugt wurde, wird dies im Reorder-Buffer protokolliert, und zwar an der dem Befehl zugeordneten Position. Ausgelesen wird der Reorder-Buffer, wenn die Ergebnisse der vordersten Position verfügbar sind. Die Organisation des Reorder-Buffer als Ringpuffer gewährleistet hierbei, daß die Reihenfolge mit der die Befehle aus dem Reorder-Buffer gelesen werden, der ursprünglichen Reihenfolge der Befehle im Programm entspricht. Der Reorder-Buffer gibt den Zeitpunkt vor, zu dem ein Ergebnis in den Registerspeicher übertragen werden darf. Bis dahin muß es zwischengespeichert werden. Hierzu werden sogenannte Renaming Register verwendet. Seite 37 Renaming Register Die Renaming Register dienen zur Zwischenspeicherung von Ergebnissen. Dabei kann es vorkommen, daß unterschiedliche Ergebnisse in unterschiedlichen Renaming-Registern gespeichert sind, die alle in dasselbe Zielregister übertragen werden müssen. Soll durch nachfolgende Befehle auf den Inhalt eines solchen Zielregisters zugegriffen werden, muss also genau das Renaming-Register gelesen werden, in dem das jüngste Ergebnis gespeichert ist. Um dies zu ermöglichen, können die Renaming-Register als Assoziativspeicher mit Alterungslogik organisiert werden. Die Steuerung des Reorder-Buffers und der Renaming-Register wird durch die Retirement oder Completion-Unit vorgenommen. Sie ist insbesondere auch dafür verantwortlich, dass im Falle einer Ausnahmebehandlung alle noch im Reorder-Buffer eingetragene Befehle gelöscht werden. Nicht in jedem superskalaren Prozessor, der nach den hier beschriebenen Prinzipien arbeitet, müssen alle Einheiten auch separat existieren. Vielmehr können die Funktionen unterschiedlicher Einheiten gemeinsam bearbeiten werden. So lassen sich z. B. der Reorder-Buffer und die Renaming-Register zusammenfassen, wobei die Ergebnisse der einzelnen Befehle zusammen mit den Registeradressen entsprechend der Befehlsreihenfolge gespeichert werden. Ebenfalls gut zusammenfassen lassen sich die Renaming-Register und die Reservation-Stations. In einem Eintrag einer Reservation-Station werden entweder die zu verarbeitenden Operanden selbst oder Referenzen auf Funktionseinheiten, die den benötigten Operanden als Ergebnis erzeugen, gespeichert. Hierbei werden verfügbare Operanden in die Reservation-Station kopiert, um so WAR- und WAW-Abhängigkeiten zu lösen. Seite 38 19

20 History-Buffer Eine Alternative zum Reorder-Buffer ist der sog. History-Buffer. Anstatt die Befehle in ihrer ursprünglichen Reihenfolge zu beenden, werden sie in der Reihenfolge, in der die Ergebnisse erzeugt werden, abgeschlossen. Bei einem Ereignis wie z. B. einer Ausnahme, werden alle Befehle, die fälschlicherweise bereits vollständig ausgeführt wurden, in ihrer Wirkung auf den sichtbaren Maschinenstatus rückgängig gemacht und so ein Zustand hergestellt, als wären die Befehle in der ursprünglichen Reihenfolge beendet worden. Im History- Buffer muß protokolliert werden, auf welche Register schreibend zugegriffen wurde und welcher Wert zuvor in dem entsprechenden Register gespeichert war. Außerdem wird auch hier ähnlich wie beim Reorder-Buffer, die Information benötigt, in welcher Reihenfolge die Befehle bearbeitet werden sollen. Wenn die Ausführungszeiten der einzelnen Funktionseinheiten unterschiedlich sind oder der Prozessor eine Befehlszuordnung außerhalb der Programmreihenfolge unterstützt, können die Befehle ebenfalls in einer vom Programm abweichenden Reihenfolge beendet werden. Es ist daher notwendig, jeden Befehl vor Ausführungsbeginn zu protokollieren. Dies geschieht im History Buffer, indem er die Befehle entsprechend ihrer Reihenfolge im Programm speichert. Im Unterschied zur Reorder Technik wird das Ergebnis eines Befehls jedoch in den Registerspeicher geschrieben und der zuvor im Zielregister stehende Wert in den History Buffer übertragen. Dies geschieht bis zur vollständigen Bearbeitung kleiner Programmstücke. Ein kleines Beispiel möge dies wieder verdeutlichen. Seite 39 Einträge im History buffer fdiv r1, r4, r5... add r2, r6, r7 urspr. Eintrag sub r2, r8, r9 Ergebnis Addition and r3, r10, r11 urspr. Eintrag Registerfile r0 ursprünglicher Eintrag r1 ursprünglicher Eintrag r2 ursprünglicher Eintrag r2 Ergebnis Addition r2 Ergebnis Subtraktion r3 ursprünglicher Eintrag r3 Ergebnis and In dem Beispiel hat die Ausführung der Addition zur Folge, daß der Inhalt des Registers r2 mit dem Ergebnis überschrieben wird und der alte Inhalt (ursprünglicher Eintrag) in den History Buffer übertragen wird. Die Subtraktion überschreibt das Register r2 erneut, wobei das Ergebnis der Addition wieder im History Buffer gespeichert wird. Mit dem and Befehl wird in gleicher Weise verfahren. Die Einträge verbleiben so lange im History Buffer bis die Floating-point- Division abgeschlossen ist. Seite 40 20

21 laufendes Programm Unterbrechungsprogramm Unterbrechnungsanforderung a) Status retten, ggf. Interruptmaske setzen b) RTE (Status laden) Programmfluß bei einer Programmunterbrechung: a) Unterbrechungsanfrderung stattgegeben b) nicht stattgegeben Seite 41 Hierbei muß unterschieden werden, ob die Floating-Point-Division eine Ausnahmebehandlung auslöst oder nicht. Wird keine Ausnahmebehandlung ausgelöst, so werden alle vollständig ausgeführten Befehle am Kopf des History-Buffers gelöscht. Löst die Floation-Point-Division jedoch eine Ausnahmebehandlung aus, so werden die im History-Buffer gespeicherten Werte, falls vorhanden, in umgekehrte Reihenfolge wieder in den Registerspeicher übertragen. Hierfür können mehrere Takte benötigt werden. Im Extremfall sind alle Einträge des History-Buffers zurückzuschreiben. Dies kann bei Prozessoren mit out of order issue und spekulativer Ausführung bei jedem falsch vorhergesagten Sprung der Fall sein. Seite 42 21

22 Hardware- Komponenten D Cache Execute Bypass Pipeline Register write commit D Cache Access Execute/bypass Registerfile Issue window (Wakeup / Select) Rename Decode Fetch Register read Wakeup select Rename Decode Fetch Instruction Cache Seite 43 22

JR - RA - SS02 Kap

JR - RA - SS02 Kap 3.1 Elementare Datentypen, Operationen und ihre Realisierung (siehe 2.1) 3.2 Mikroprogrammierung 3.3 Einfache Implementierung von MIPS 3.4 Pipelining 3.5 Superskalare Befehlsausführung JR - RA - SS02 Kap.

Mehr

Technische Informatik 1 Übung 8 Instruktionsparallelität (Rechenübung) Andreas Tretter 8./9. Dezember Bitte immer eine Reihe freilassen

Technische Informatik 1 Übung 8 Instruktionsparallelität (Rechenübung) Andreas Tretter 8./9. Dezember Bitte immer eine Reihe freilassen Technische Informatik 1 Übung 8 Instruktionsparallelität (Rechenübung) Andreas Tretter 8./9. Dezember 2016 Bitte immer eine Reihe freilassen Ziele der Übung Verschiedene Arten von Instruktionsparallelität

Mehr

Neue Prozessor-Architekturen für Desktop-PC

Neue Prozessor-Architekturen für Desktop-PC Neue Prozessor-Architekturen für Desktop-PC Bernd Däne Technische Universität Ilmenau Fakultät I/A - Institut TTI Postfach 100565, D-98684 Ilmenau Tel. 0-3677-69-1433 bdaene@theoinf.tu-ilmenau.de http://www.theoinf.tu-ilmenau.de/ra1/

Mehr

Prozessorarchitektur. Dynamische Ablaufplanung. M. Schölzel

Prozessorarchitektur. Dynamische Ablaufplanung. M. Schölzel Prozessorarchitektur Dynamische Ablaufplanung M. Schölzel Inhalt HW-Architekturen zur Implementierung dynamischer Ablaufplanung: Scoreboard Tomasulo-Algorithmus Inhalt HW-Architekturen zur Implementierung

Mehr

Dynamisches Scheduling

Dynamisches Scheduling 12 Dynamisches Scheduling Peter Marwedel Informatik 12 TU Dortmund 2012/05/07 Diese Folien enthalten Graphiken mit Nutzungseinschränkungen. Das Kopieren der Graphiken ist im Allgemeinen nicht erlaubt.

Mehr

Name: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden.

Name: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden. Name: Vorname: Matr.-Nr.: 4 Aufgabe 1 (8 Punkte) Entscheiden Sie, welche der folgenden Aussagen zum Thema CISC/RISC-Prinzipien korrekt sind. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen

Mehr

Rechnerarchitektur (RA)

Rechnerarchitektur (RA) 2 Rechnerarchitektur (RA) Sommersemester 27 Pipelines Jian-Jia Chen Informatik 2 http://ls2-www.cs.tu.de/daes/ 27/5/3 Diese Folien enthalten Graphiken mit Nutzungseinschränkungen. Das Kopieren der Graphiken

Mehr

Das Prinzip an einem alltäglichen Beispiel

Das Prinzip an einem alltäglichen Beispiel 3.2 Pipelining Ziel: Performanzsteigerung é Prinzip der Fließbandverarbeitung é Probleme bei Fließbandverarbeitung BB TI I 3.2/1 Das Prinzip an einem alltäglichen Beispiel é Sie kommen aus dem Urlaub und

Mehr

Dynamische Fließbandverarbeitung und Konfliktlösung in superskalaren Prozessorarchitekturen

Dynamische Fließbandverarbeitung und Konfliktlösung in superskalaren Prozessorarchitekturen Dynamische Fließbandverarbeitung und Konfliktlösung in superskalaren Prozessorarchitekturen Projektarbeit im Wintersemester 2005/06 TU Darmstadt FG Rechnerarchitektur von Patrick Ediger ediger@rbg.informatik.tu-darmstadt.de

Mehr

Besprechung des 5. Übungsblattes Parallelität innerhalb der CPU Pipelining

Besprechung des 5. Übungsblattes Parallelität innerhalb der CPU Pipelining Themen heute Besprechung des 5. Übungsblattes Parallelität innerhalb der CPU Pipelining Organisatorisches Wie schon in den vorhergehenden Tutorien erwähnt, ist Mehrfachabgabe, außer bei Programmieraufgaben,

Mehr

Rechnerarchitektur (RA)

Rechnerarchitektur (RA) 2 Rechnerarchitektur (RA) Sommersemester 26 Pipelines Jian-Jia Chen Informatik 2 http://ls2-www.cs.tu.de/daes/ 26/5/25 Diese Folien enthalten Graphiken mit Nutzungseinschränkungen. Das Kopieren der Graphiken

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 8 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Was ist die Performance Ratio?

Was ist die Performance Ratio? Was ist die Performance Ratio? Wie eben gezeigt wäre für k Pipeline Stufen und eine große Zahl an ausgeführten Instruktionen die Performance Ratio gleich k, wenn jede Pipeline Stufe dieselbe Zeit beanspruchen

Mehr

CPU. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011

CPU. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 CPU Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 CPU 1/62 2012-02-29 CPU Übersicht: Pipeline-Aufbau Pipeline- Hazards CPU

Mehr

Teil 1: Prozessorstrukturen

Teil 1: Prozessorstrukturen Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium

Mehr

Pipelining. Die Pipelining Idee. Grundlagen der Rechnerarchitektur Prozessor 45

Pipelining. Die Pipelining Idee. Grundlagen der Rechnerarchitektur Prozessor 45 Pipelining Die Pipelining Idee Grundlagen der Rechnerarchitektur Prozessor 45 Single Cycle Performance Annahme die einzelnen Abschnitte des MIPS Instruktionszyklus benötigen folgende Ausführungszeiten:

Mehr

Technische Informatik - Eine Einführung

Technische Informatik - Eine Einführung Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Technische Informatik - Eine Einführung Rechnerarchitektur Aufgabe

Mehr

Beispiele von Branch Delay Slot Schedules

Beispiele von Branch Delay Slot Schedules Beispiele von Branch Delay Slot Schedules Bildquelle: David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 2012 Grundlagen der Rechnerarchitektur Prozessor 97 Weniger

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:

Mehr

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht Kap.2 Befehlsschnittstelle Prozessoren, externe Sicht 2 Befehlsschnittstelle 2.1 elementare Datentypen, Operationen 2.2 logische Speicherorganisation 2.3 Maschinenbefehlssatz 2.4 Klassifikation von Befehlssätzen

Mehr

9.1. Aufbau einer Befehlspipeline

9.1. Aufbau einer Befehlspipeline Kapitel 9 - Befehlspipelining Seite 191 Kapitel 9 Befehlspipelining 9.1. Aufbau einer Befehlspipeline Ein typischer Befehl in einer Maschine mit einem RISC-artigen Befehlssatz besteht aus den Operationen:

Mehr

Arbeitsfolien - Teil 4 CISC und RISC

Arbeitsfolien - Teil 4 CISC und RISC Vorlesung Informationstechnische Systeme zur Signal- und Wissensverarbeitung PD Dr.-Ing. Gerhard Staude Arbeitsfolien - Teil 4 CISC und RISC Institut für Informationstechnik Fakultät für Elektrotechnik

Mehr

TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl

Mehr

Hochschule Düsseldorf University of Applied Sciences HSD RISC &CISC

Hochschule Düsseldorf University of Applied Sciences HSD RISC &CISC HSD RISC &CISC CISC - Complex Instruction Set Computer - Annahme: größerer Befehlssatz und komplexere Befehlen höhere Leistungsfähigkeit - Möglichst wenige Zeilen verwendet, um Aufgaben auszuführen - Großer

Mehr

Prozessorarchitektur. Sprungvorhersage. M. Schölzel

Prozessorarchitektur. Sprungvorhersage. M. Schölzel Prozessorarchitektur Sprungvorhersage M. Schölzel Inhalt Sprungvorhersage statische Methoden dynamische Methoden Problem Fetch-Phase Befehlswarteschlange Speicher b? Neue Adresse für noch nicht bekannt

Mehr

Von-Neumann-Architektur

Von-Neumann-Architektur Von-Neumann-Architektur Bisher wichtig: Konstruktionsprinzip des Rechenwerkes und Leitwerkes. Neu: Größerer Arbeitsspeicher Ein- und Ausgabewerk (Peripherie) Rechenwerk (ALU) Steuerwerk (CU) Speicher...ppppp...dddddd..

Mehr

Prinzipieller Aufbau und Funktionsweise eines Prozessors

Prinzipieller Aufbau und Funktionsweise eines Prozessors Prinzipieller Aufbau und Funktionsweise eines Prozessors [Technische Informatik Eine Einführung] Univ.- Lehrstuhl für Technische Informatik Institut für Informatik Martin-Luther-Universität Halle-Wittenberg

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 3 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung

Mehr

Vorlesung Rechnerarchitektur. Einführung

Vorlesung Rechnerarchitektur. Einführung Vorlesung Rechnerarchitektur Einführung Themen der Vorlesung Die Vorlesung entwickelt an Hand von zwei Beispielen wichtige Prinzipien der Prozessorarchitektur und der Speicherarchitektur: MU0 Arm Speicher

Mehr

Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren

Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren der beiden Registerwerte $t1 und $t2 in einem Zielregister

Mehr

Instruktionen pro Takt

Instruktionen pro Takt (c) Peter Sturm, Universität Trier (u.a.) 1 Instruktionen pro Takt 500 MIPS (Dhrystone) Taktfrequenz 450 400 350 300 250 200 150 100 50 0 8086 80286 80386 80486 Pentium Pentium Pro Die-Größen: Intel Vorlesung

Mehr

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

Mehr

Auch hier wieder. Control. RegDst Branch MemRead MemtoReg ALUOp MemWrite ALUSrc RegWrite. Instruction[31 26] (also: das Opcode Field der Instruktion)

Auch hier wieder. Control. RegDst Branch MemRead MemtoReg ALUOp MemWrite ALUSrc RegWrite. Instruction[31 26] (also: das Opcode Field der Instruktion) Auch hier wieder Aus voriger Wahrheitstabelle lässt sich mechanisch eine kombinatorische Schaltung generieren, die wir im Folgenden mit dem Control Symbol abstrakt darstellen. Instruction[31 26] (also:

Mehr

RO II Übungen ohne Lösungen V20

RO II Übungen ohne Lösungen V20 H. Richter 05.04.2017 RO II Übungen ohne Lösungen V20 Übung 1: Gesamtpunktzahl [76] (76P) 1 Aufgabe: Superskalarität [22] 1.) Worin besteht der Unterschied zwischen einem skalaren Prozessor und einem superskalaren

Mehr

Philipp Grasl PROZESSOREN

Philipp Grasl PROZESSOREN 1 PROZESSOREN INHALTSVERZEICHNIS Definition/Verwendung Prozessor Historische Entwicklung Prozessor Aufbau Prozessor Funktionsweise Prozessor Steuerung/Maschinenbefehle Prozessorkern Prozessortakt 2 DEFINITION

Mehr

2.2 Rechnerorganisation: Aufbau und Funktionsweise

2.2 Rechnerorganisation: Aufbau und Funktionsweise 2.2 Rechnerorganisation: Aufbau und Funktionsweise é Hardware, Software und Firmware é grober Aufbau eines von-neumann-rechners é Arbeitsspeicher, Speicherzelle, Bit, Byte é Prozessor é grobe Arbeitsweise

Mehr

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

Informatik 12 Kapitel 3 - Funktionsweise eines Rechners

Informatik 12 Kapitel 3 - Funktionsweise eines Rechners Fachschaft Informatik Informatik 12 Kapitel 3 - Funktionsweise eines Rechners Michael Steinhuber König-Karlmann-Gymnasium Altötting 9. Februar 2017 Folie 1/36 Inhaltsverzeichnis I 1 Komponenten eines PCs

Mehr

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Prog. Counter Memory Adress Register Befehl holen Incrementer Main store Instruction register Op-code Address Memory Buffer Register CU Clock Control

Mehr

Parallele Rechnerarchitekturen. Bisher behandelte: Vorlesung 7 (theoretische Grundkonzepte) Nun konkrete Ausprägungen

Parallele Rechnerarchitekturen. Bisher behandelte: Vorlesung 7 (theoretische Grundkonzepte) Nun konkrete Ausprägungen Parallele Rechnerarchitekturen Bisher behandelte: Vorlesung 7 (theoretische Grundkonzepte) Nun konkrete Ausprägungen Pipelining Beispiel aus dem realen Leben (;-)) Wäschewaschen in WG Füllen der Waschmaschine

Mehr

Rechnerarchitektur WS 2003/2004. Klaus Waldschmidt. Teil 2. Begriffshierarchie der Rechnerarchitektur. Vorlesungsbegleitende Unterlagen

Rechnerarchitektur WS 2003/2004. Klaus Waldschmidt. Teil 2. Begriffshierarchie der Rechnerarchitektur. Vorlesungsbegleitende Unterlagen Rechnerarchitektur Vorlesungsbegleitende Unterlagen WS 2003/2004 Klaus Waldschmidt Teil 2 Begriffshierarchie der Rechnerarchitektur Seite 1 Systemarchitektur Hardwarearchitektur (Rechnerarchitektur) Softwarearchitektur

Mehr

Teil 1: Prozessorstrukturen

Teil 1: Prozessorstrukturen Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium

Mehr

Rechnerorganisation. (10,11) Informationskodierung (12,13,14) TECHNISCHE UNIVERSITÄT ILMENAU. IHS, H.- D. Wuttke `09

Rechnerorganisation. (10,11) Informationskodierung (12,13,14) TECHNISCHE UNIVERSITÄT ILMENAU. IHS, H.- D. Wuttke `09 Rechnerorganisation Mathematische Grundlagen (1) Boolesche Algebren: : BMA, BAA (2,3) Kombinatorische Schaltungen (4,5) Automaten (6,7) Sequentielle Schaltungen (8) Programmierbare Strukturen (9) Rechneraufbau

Mehr

nutzt heute Diese Prinzipien werden wir im Kapitel 3 behandelt Lehrstuhl für Informatik 3 - D. Fey Vorlesung GRa - SS

nutzt heute Diese Prinzipien werden wir im Kapitel 3 behandelt Lehrstuhl für Informatik 3 - D. Fey Vorlesung GRa - SS 3.1 Einführung (1) Nahezu jeder Prozessor in einem Desktop-Rechner (der auf oder unter dem Tisch steht) und in einem Server- Rechner (auf dem man sich von der Ferne einloggt und dort rechnet) nutzt heute

Mehr

ARM: Befehlssatz (Forts.)

ARM: Befehlssatz (Forts.) ARM: Befehlssatz (Forts.) Befehl SWI zum Auslösen eines Software-Interrupts: Instruktionsformat: Ausführung von SWI überführt CPU in den supervisor mode (nach Retten des PC in r14_svc und des CPSR in SPSR_svc)

Mehr

ARM: Befehlssatz (Forts.)

ARM: Befehlssatz (Forts.) ARM: Befehlssatz (Forts.) Befehl SWI zum Auslösen eines Software-Interrupts: Instruktionsformat: Ausführung von SWI überführt CPU in den supervisor mode (nach Retten des PC in r14_svc und des CPSR in SPSR_svc)

Mehr

Übungsblatt 6. Implementierung einer Befehlspipeline

Übungsblatt 6. Implementierung einer Befehlspipeline Praktikum zur Vorlesung Prozessorarchitektur SS 2016 Übungsblatt 6. Implementierung einer Befehlspipeline 1.1. Einführung Durch die Einteilung der Befehlsverarbeitung in mehrere Zyklen in dem vorangegangenen

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur Prozessor Übersicht Datenpfad Control Pipelining Data Hazards Control Hazards Multiple Issue Grundlagen der Rechnerarchitektur Prozessor 2 Datenpfad einer einfachen MIPS

Mehr

Technische Informatik 1 - HS 2017

Technische Informatik 1 - HS 2017 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik 1 - HS 2017 Übung 8 Datum: 30. 11. 1. 12. 2017 In dieser Übung soll mit Hilfe des Simulators WinMIPS64 die

Mehr

Vorlesung "Struktur von Mikrorechnern" (SMR)

Vorlesung Struktur von Mikrorechnern (SMR) Prozessorhistorie: Pentium Der erste Pentium-Prozessor wurde 99 von Intel vorgestellt. Er besitzt: - 64 Bit breites Bus-Interface - zweigeteilter Primär-Cache mit je 8 KB für Code und Daten - Bezeichnung

Mehr

Johann Wolfgang Goethe-Universität

Johann Wolfgang Goethe-Universität Flynn sche Klassifikation SISD (single instruction, single data stream): IS IS CU PU DS MM Mono (Mikro-)prozessoren CU: Control Unit SM: Shared Memory PU: Processor Unit IS: Instruction Stream MM: Memory

Mehr

Geräteentwurf mit Mikroprozessoren 1

Geräteentwurf mit Mikroprozessoren 1 Geräteentwurf mit Mikroprozessoren 1 Vorlesung am Institut für Elektronik der TU Graz Dipl.-Ing. Dr. Gerhard Stöckler SS 2003 Vorausgesetzte Kenntnisse: Grundlagen der Digitaltechnik Binäre Informationsdarstellung

Mehr

Intel P6 (Intel Pentium Pro) - Besonderheiten, Techniken und Architektur

Intel P6 (Intel Pentium Pro) - Besonderheiten, Techniken und Architektur Intel P6 (Intel Pentium Pro) - Besonderheiten, Techniken und Architektur P R O Z E S S O R - U N D R E C H N E R A R C H I T E K T U R P R Ä S E N T A T I O N 1 1. 0 7. 2 0 1 8 B E R N H A R D S A N G

Mehr

Mikroprozessoren. Aufbau und Funktionsweise. Christian Richter. Ausgewählte Themen der Multimediakommunikation SS 2005

Mikroprozessoren. Aufbau und Funktionsweise. Christian Richter. Ausgewählte Themen der Multimediakommunikation SS 2005 Mikroprozessoren Aufbau und Funktionsweise Christian Richter Ausgewählte Themen der Multimediakommunikation SS 2005 Christian Richter (TU-Berlin) Mikroprozessoren AT MMK 2005 1 / 22 Gliederung Was ist

Mehr

Grundlagen der Informationsverarbeitung:

Grundlagen der Informationsverarbeitung: Grundlagen der Informationsverarbeitung: Parallelität auf Instruktionsebene Prof. Dr.-Ing. habil. Ulrike Lucke Durchgeführt von Prof. Dr. rer. nat. habil. Mario Schölzel Maximaler Raum für Titelbild (wenn

Mehr

1. Von-Neumann-Architektur (7/66 Punkte)

1. Von-Neumann-Architektur (7/66 Punkte) Fakultät Informatik/Mathematik Seite 1/8 Datum: 23.12.2010 Name: Vorname: Arbeitszeit: 60 Minuten Matr.-Nr.: Hilfsmittel: alle eigenen Unterschrift: wird vom Prüfer ausgefüllt 1 2 3 4 5 6 7 8 9 Diese hat

Mehr

Steuerwerk einer CPU. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

Steuerwerk einer CPU. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Steuerwerk einer CPU Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Übersicht Implementierung des Datenpfads Direkte Implementierung Mikroprogrammierung

Mehr

Technische Informatik 1 - HS 2016

Technische Informatik 1 - HS 2016 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik 1 - HS 2016 Lösungsvorschläge für Übung 8 Datum: 8. 9. 12. 2016 1 Instruktionsparallelität VLIW Gegeben

Mehr

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller SS 2004 VAK 18.004 Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller Aufgabenblatt 2.5 Lösung 2.5.1 Befehlszähler (Program Counter, PC) enthält Adresse des nächsten auszuführenden

Mehr

Echtzeit Videoverarbeitung

Echtzeit Videoverarbeitung Hardwareplattformen für Echtzeit Videoverarbeitung Herbert Thoma Seite 1 Gliederung Echtzeitanforderungen Prozessorarchitekturen Grundlagen Pipelining Parallele Befehlsausführung Systemkomponenten Speicher

Mehr

FAKULTÄT FÜR INFORMATIK

FAKULTÄT FÜR INFORMATIK FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN Lehrstuhl für Rechnertechnik und Rechnerorganisation Prof. Dr. Arndt Bode Einführung in die Rechnerarchitektur Wintersemester 2016/2017 Tutorübung

Mehr

4. Übung - Rechnerarchitektur/Betriebssysteme

4. Übung - Rechnerarchitektur/Betriebssysteme 4. Übung - Rechnerarchitektur/Betriebssysteme 1. Aufgabe: Caching Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen a) Was ist ein Cache? Wann kommt Caching zum Einsatz? b) Welchen Vorteil

Mehr

Der von Neumann Computer

Der von Neumann Computer Der von Neumann Computer Grundlagen moderner Computer Technologie 1 Der moderne Computer ein weites Spektrum Typ Preis Anwendungsbeispiel embeded Computer 10-20 $ in Autos, Uhren,... Spielcomputer 100-200$

Mehr

System-Architektur und -Software

System-Architektur und -Software System-Architektur und -Software Sommersemester 2001 Lutz Richter Institut für Informatik Universität Zürich Obligatorische Veranstaltung des Kerngebietes System-Architektur und -Software Voraussetzungen

Mehr

Allgemeine Lösung mittels Hazard Detection Unit

Allgemeine Lösung mittels Hazard Detection Unit Allgemeine Lösung mittels Hazard Detection Unit Bildquelle: David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 2012 Grundlagen der Rechnerarchitektur Prozessor 83

Mehr

4. Übung - Rechnerarchitektur/Betriebssysteme

4. Übung - Rechnerarchitektur/Betriebssysteme 4. Übung - Rechnerarchitektur/Betriebssysteme 1. Aufgabe: Caching Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen a) Was ist ein Cache? Wann kommt Caching zum Einsatz? b) Welchen Vorteil

Mehr

Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab...

Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab... 0 1 2 0 2 1 1 2 0 2 1 0 Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab... 0 1 2 0 1 2 1 1 3 2 2 3 212 Um solche Tabellen leicht implementieren zu können, stellt Java das switch-statement

Mehr

DIGITALE SCHALTUNGEN II

DIGITALE SCHALTUNGEN II DIGITALE SCHALTUNGEN II 3. Sequentielle Schaltkreise 3.1 Vergleich kombinatorische sequentielle Schaltkreise 3.2 Binäre Speicherelemente 3.2.1 RS Flipflop 3.2.2 Getaktetes RS Flipflop 3.2.3 D Flipflop

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 7 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Rechnernetze und Organisation

Rechnernetze und Organisation RISC 1 Übersicht Motivation RISC-Merkmale RISC-Instruktionsformat Pipelining Sparc, MIPS, Arm, PowerPC 2 Motivation Warum RISC Compiler nutzen komplexe CISC-Instruktionen kaum Nur 80% der Instruktionen

Mehr

1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3

1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3 1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3 2.1. Aufbau eines Rechners in Ebenen 3 2.2. Die Ebene der elektronischen Bauelemente 5 2.3. Die Gatterebene 5 2.3.1 Einfache

Mehr

Mikrocomputertechnik

Mikrocomputertechnik Mikrocomputertechnik Thema: CPU Timing XC888 und Interrupt System des XC888 und Timer/Counter 0 und 1 -Im InterruptBetrieb - CPU Timing XC888 CPU Timing XC888 Befehl Befehl Befehl Befehlszyklus Befehlszyklus

Mehr

MikroController und Mikroprozessoren

MikroController und Mikroprozessoren Uwe Brinkschulte Theo Ungerer MikroController und Mikroprozessoren Mit 205 Abbildungen und 39 Tabellen Springer Inhaltsverzeichnis 1 Grundlagen 1 1.1 Mikroprozessoren, MikroController, Signalprozessoren

Mehr

Ausführungszeitvorhersage

Ausführungszeitvorhersage EMES: Eigenschaften mobiler und eingebetteter Systeme 00101111010010011101001010101 Ausführungszeitvorhersage Dr. Felix Salfner, Dr. Siegmar Sommer Wintersemester 2010/2011 00101111010010011101001010101

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Die Branch Instruktion beq Grundlagen der Rechnerarchitektur Prozessor 13 Betrachten nun Branch Instruktion beq Erinnerung, Branch Instruktionen beq ist vom I Typ Format:

Mehr

Teil 1: Prozessorstrukturen

Teil 1: Prozessorstrukturen Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium

Mehr

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)

Mehr

Mikrocomputertechnik

Mikrocomputertechnik Mikrocomputertechnik Bernd-Dieter Schaaf Mit Mikrocontrollern der Familie 8051 ISBN 3-446-40017-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40017-6 sowie im Buchhandel

Mehr

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9 Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9 Dominik Schoenwetter Erlangen, 30. Juni 2014 Lehrstuhl für Informatik 3 (Rechnerarchitektur)

Mehr

Kap.3 Mikroarchitektur. Prozessoren, interne Sicht

Kap.3 Mikroarchitektur. Prozessoren, interne Sicht Kap.3 Mikroarchitektur Prozessoren, interne Sicht 3.1 Elementare Datentypen, Operationen und ihre Realisierung (siehe 2.1) 3.2 Mikroprogrammierung 3.3 Einfache Implementierung von MIPS 3.4 Pipelining Implementierung

Mehr

früher: CISC ( Complex Instruction Set Computer )

früher: CISC ( Complex Instruction Set Computer ) Hochleistungs-CPUs früher: CISC ( Complex Instruction Set Computer ) mächtige Instruktionssätze zur Unterstützung von Hochsprachenkonstrukten durch Hardware (Idee: don t do in software what you can do

Mehr

Liefert das Protokoll Kohärenz?

Liefert das Protokoll Kohärenz? Liefert das Protokoll Kohärenz? Konstruktion einer (totalen) Ordnung der Speicheroperationen unter Beachtung der Programmordnungen Voraussetzung: atomare Bus-Transaktionen und Speicheroperationen alle

Mehr

Mikrocontroller und Mikroprozessoren

Mikrocontroller und Mikroprozessoren Uwe Brinkschulte Theo Ungerer Mikrocontroller und Mikroprozessoren 3. Auflage 4y Springer Inhaltsverzeichnis Vorwort Vorwort zur 2. Auflage Vorwort zur 3. Auflage Inhaltsverzeichnis VII IX XI XIII 1 Grundlagen

Mehr

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel Prozessorarchitektur Kapitel - Wiederholung M. Schölzel Wiederholung Kombinatorische Logik: Ausgaben hängen funktional von den Eingaben ab. x x 2 x 3 z z = f (x,,x n ) z 2 z m = f m (x,,x n ) Sequentielle

Mehr

11. Die PC-Schnittstelle

11. Die PC-Schnittstelle PC-Schnittstelle Funktion -1. Die PC-Schnittstelle.1. Funktion Die folgenden Angaben gelten ohne Einschränkung für den PC, PC-XT, PC-AT, AT-386, AT-486 und kompatible Rechner. Sie sind nur für jene interessant,

Mehr

Pipelining for DLX 560 Prozessor. Pipelining : implementation-technique. Pipelining makes CPUs fast. pipe stages

Pipelining for DLX 560 Prozessor. Pipelining : implementation-technique. Pipelining makes CPUs fast. pipe stages Pipelining for DLX 560 Prozessor Pipelining : implementation-technique Pipelining makes CPUs fast. pipe stages As many instructions as possible in one unit of time 1 Pipelining can - Reduce CPI - Reduce

Mehr

, WS2013 Übungsgruppen: Di., Fr.,

, WS2013 Übungsgruppen: Di., Fr., VU Technische Grundlagen der Informatik Übung : Stack, Pipelining., WS20 Übungsgruppen: Di., 0.01. Fr.,.01.201 Aufgabe 1: Stack - Funktionsweise Erläutern Sie die Funktionsweise eines Stacks bzw. Kellerspeichers

Mehr

Invalidierungs- und Update-basierte Cache-Kohärenz-Protokolle

Invalidierungs- und Update-basierte Cache-Kohärenz-Protokolle Invalidierungs- und Update-basierte Cache-Kohärenz-Protokolle Architecture of Parallel Computer Systems WS15/16 J.Simon 1 SC mit Write-Back Caches Beweisidee: Behandlung von Reads wie beim Write-Through

Mehr

Vorstellung (Wdh. für die Neuen )

Vorstellung (Wdh. für die Neuen ) Vorstellung (Wdh. für die Neuen ) Mein Name: Christian Mandery Studiengang: Diplom-Informatik im 4. Semester (ich höre also im Moment selbst noch Technische Informatik 2) E-Mail (bei Fragen und zum Senden

Mehr

Instruktionssatz-Architektur

Instruktionssatz-Architektur Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Übersicht 1 Einleitung 2 Bestandteile der ISA 3 CISC / RISC Übersicht 1 Einleitung 2 Bestandteile

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard Systeme I: Betriebssysteme Kapitel 4 Prozesse Wolfram Burgard Version 18.11.2015 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Optimierungen der Lattice Boltzmann Methode auf x86-64 basierten Architekturen

Optimierungen der Lattice Boltzmann Methode auf x86-64 basierten Architekturen Optimierungen der Lattice Boltzmann Methode auf x86-64 basierten Architekturen J. Treibig, S. Hausmann, U. Ruede 15.09.05 / ASIM 2005 - Erlangen Gliederung 1 Einleitung Motivation Grundlagen 2 Optimierungen

Mehr