Das Laden der Instruktionen erreicht eine Cache-Hit Rate von 90%.

Größe: px
Ab Seite anzeigen:

Download "Das Laden der Instruktionen erreicht eine Cache-Hit Rate von 90%."

Transkript

1 Herbst 2001 Digitaltechnik und Rechnerstrukturen Seite 1 Aufgabe 1: Performance Evaluation (Total 25 Punkte) Gegeben sei ein System S0 mit einem Prozessor mit einer Taktfrequenz von 800 MHz. Der Prozessor verarbeitet im wesentlichen drei Klassen von Instruktionen (A, B und C). In der folgenden Tabelle sind die optimale CPI (ohne Wartezyklen), die Häufigkeiten des Auftretens der Operationen und die Wahrscheinlichkeit von Cache-Hits angegeben. Beachten Sie, dass nur die Instruktionsklassen A und B Speicherzugriffe tätigen: Die Instruktionen der Klasse C arbeiten nur mit Registern: Das Laden der Instruktionen erreicht eine Cache-Hit Rate von 90%. Bei einem Cache-Miss sind 12 zusätzliche Zyklen nötig. Ein Cache-Hit hat keine zusätzlichen Zyklen zur Folge. Als Testfall dient ein Programm, welches während seiner Ausführung Instruktionen abarbeitet. Bei den Berechnungen der Ausführungszeit des Programms soll die Verzögerung des Programmstarts durch das Laden des Programms in den Speicher vernachlässigt werden. Optimale CPI Instruktionsklasse Instruktionshäufigkeit a) (3 Punkte) Berechnen Sie die reale CPI des obigen Systems. b) (2 Punkte) Wie lange dauert die Ausführung des Testprogramms in Sekunden? Eine Verbesserungsmöglichkeit des Systems S0 ist der Einbau eines weiteren Caches. Dieses System S1 hat zwischen dem im System S0 bereits vorhandenen Cache und dem Speicher noch einen grösseren zweiten, einen sogenannten Second Level Cache. Zugriffe auf diesen Cache haben alle eine Cache-Hit Rate von 95%. Ein Cache-Miss im ersten Cache führt in diesem System zu 5 zusätzlichen Zyklen um auf den Second Level Cache zuzugreifen. Kommt es auch in diesem Cache zu einem Cache-Miss, so kommen weitere 9 zusätzliche Zyklen dazu (Falls bei einem Speicherzugriff also in beiden Caches ein Miss stattfindet, so kommen insgesamt 14 zusätzliche Zyklen zur Instruktion dazu). c) (3 Punkte) Berechnen sie die reale CPI des Systems S1. Cache-Hit Rate A 4 40% 80% B 5 20% 70% C 5 40% (keine Speicherzugriffe) d) (2 Punkte) Wie lange dauert die Ausführung des Testprogramms auf dem System S1 in Sekunden? Andere Fragen: Wir betrachten nun noch verschiedene den Cache betreffende Optimierungen, die unabhängig von den obigen Systemen sind. e) (5 Punkte) Gegeben sei ein voll-assoziativer Cache mit einer Grösse von 2 kb. Die Blockgrösse des Caches betrage 64 Bit. Ein Programm brauche nun 256 Instanzen einer Datenstruktur vom Typ calc_struct. Das Programm greife in einer Schleife mit grosser Häufigkeit auf die

2 Herbst 2001 Digitaltechnik und Rechnerstrukturen Seite 2 Instanzen zu. Die Datenstruktur muss folgende Elemente enthalten (es sind alles Integer- Variablen mit einer Grösse von je 4 Byte). In Klammern sind die relativen Zugriffshäufigkeiten innerhalb der Struktur gegeben: valid (5%) x (40%) count (15%) y (40%) Die Datenstrukturen seien im Speicher alle korrekt aligniert (das heisst an einer durch 16 teilbaren Adresse). Wie ordnen Sie die Variablen innerhalb der Datenstruktur calc_struct für optimale Performance? Geben Sie die Definition von calc_struct in C und begründen Sie Ihre Antwort! Schliesslich betrachten wir noch einige Optimierungen, welche die Parallelisierung betreffen. f) (5 Punkte) Gegeben sei ein Programm, welches aus folgenden Teilen besteht (in Klammern sind die Anteile an der Laufzeit im seriellen Fall angegeben): Teil A (10%): Läuft seriell und lässt sich nicht parallelisieren. Teil B (20%): Lässt sich beschränkt parallelisieren und läuft auf maximal 2 Prozessoren. Teil C (70%): Lässt sich unbeschränkt parallelisieren und läuft auf beliebig vielen Prozessoren. Das Programm lief bisher auf einer Maschine mit 1 Prozessor und soll nun um den Faktor 4 beschleunigt werden. Wieviele Prozessoren müssen in der Maschine eingebaut sein (vernachlässigen Sie Effekte der Cache- und Bus-Auslastung) um diese Verbesserung zu erreichen? g) (5 Punkte) Betrachten Sie noch einmal das Programm aus Aufgabe f. Aus finanziellen Überlegungen wird die Maschine nur auf insgesamt 4 Prozessoren aufgerüstet. Um die Ausführungszeit des Programms mit 4 Prozessoren auf 35% der seriellen Ausführungszeit (Laufzeit des gesamten Programms auf einem Prozessor) zu reduzieren, sollen nun Verbesserungen am Programm vorgenommen werden. Durch geschickte Programmierung kann der Anteil des Teils B erniedrigt und der Anteil des Teils C am Programm entsprechend erhöht werden. Wie müssen die Anteile der Teile B und C am Programm sein, um die geforderte Reduzierung der Ausführungszeit zu erreichen?

3 Herbst 2001 Digitaltechnik und Rechnerstrukturen Seite 3 Aufgabe 2: Kontroll- und Datenpfad (Total 30 Punkte) Die Grundlage dieser Aufgabe besteht aus einem bereits vollständigen Datenpfad einer Multizyklus-Implementierung des Instruktionssatzes mit allen notwendigen Steuerleitungen. Ihre Aufgabe ist es, das Design so zu modifizieren, dass eine neue Instruktion namens "vscale" (vector scale), die Multiplikation eines Vektors mit einem Skalar, ausgeführt werden kann. Die Abbildung (siehe letzte Seite) zeigt den Datenpfad des Multizyklus-Designs. Die ALU benötigt einen vollständigen Zyklus für Berechnungen, der Speicher einen vollständigen Zyklus für read und write Operationen und der Clock ist flankengetriggert. R-type Instruktionen (z. B. add): opcode rs rt rd shamt funct bits Load/Store und Branch Instruktionen: opcode rs rt address bits Jump: opcode address bits Die Signale ALUOp, ALUSrcB und PCSource sind mit 2 Bit codiert (d.h. vierwertig). Sie können folgende Werte annehmen: ALUOp: 00 ALU führt eine Addition durch 01 ALU fürt eine Subtraktion durch 10 Das funct-feld der Instruktion bestimmt die von der ALU durchgeführte Aktion ALUSrcB: 00 Der zweite Eingabewert der ALU kommt aus dem B-Register 01 Der zweite Eingabewert der ALU ist die Konstante 4 10 Der zweite Eingabewert der ALU sind die vorzeichenerweiterten unteren 16 Bit des Instruction Register 11 Der zweite Eingabewert der ALU sind die vorzeichenerweiterten unteren 16 Bit des um zwei Bit nach links geschobenen Instruction Register PCSource: 00 Der Ausgabewert der ALU wird in den PC geschrieben 01 Der Wert von ALUOut (die Verzweigungsadresse) wird in den PC geschrieben 10 Die Sprungzieladresse IR[25-0] wird um zwei Bit nach links geschoben und bildet zusammen mit PC+4[31-28] den neuen Wert des PC. Die Instruktion vscale multipliziert Blöcke von Worten mit einer spezifizierten Konstanten und kopiert den resultierenden Block auf eine Zieladresse. In der Instruktion wird der Inputvektor durch seine Startadresse v1 und der Outputvektor durch seine Startadresse v2 beschrieben. Die Länge des Vektors wird durch length angegeben, der Skalierungsfaktor durch scale.

4 Herbst 2001 Digitaltechnik und Rechnerstrukturen Seite 4 Der Pseudocode der Funktion ist: vscale(v1,v2,length,scale) { int index = (length - 1)*4; /* multiply by 4 since we want byte addresses */ } while (index >= 0) { M[v2+index] = scale * M[v1+index]; index = index - 4; } Die Kodierung der vscale Instruktion ist: opcode = Instruction[31-26] R[rs] = v1 R[rt] = v2 R[rd] = length - 1 Instruction[10-0] = scale factor Der scale Wert wird fest in die unteren 11 Bits der Instruktion codiert und ist eine vorzeichenbehaftete Zahl. Beachten Sie, dass bei der Implementierung dieser Instruktion drei Register gelesen werden müssen. Nehmen Sie des weiteren an, dass R[rd] den Wert length - 1 beinhält. a) (2 Punkte) Nehmen Sie ausgehend vom gegebenen Design an, dass Sie keine zusätzlichen ALUs oder Addierer verwenden dürfen, aber die gegebene ALU Multiplikationen durchführen kann. Sie können jedoch eine beliebige Anzahl Multiplexer und Register hinzufügen. Geben Sie die kleinstmögliche Anzahl Clockzyklen an, die Sie per Vektorelement aufwenden müssen? Begründen Sie Ihre Antwort. b) (18 Punkte) Welche Änderungen sind im Datenpfad notwendig, um die vscale Instruktion zu implementieren? Sie dürfen dazu nur Register, Multiplexer und andere einfache Logikelemente verwenden (keine zusätzliche ALU). Sie können aber existierende Komponenten wie z. B. Enable-Signale für Register modifizieren. Nehmen Sie an, dass die ALU Multiplikation unterstützt und vernachlässigen Sie Overflow-Fälle. Alle von Ihnen vorgeschlagenen Änderungen müssen durch entsprechende Skizzen im Datenpfad ersichtlich gemacht werden. Eine ausschliesslich textuelle Beschreibung der Änderungen zählt nicht als Lösung. c) (10 Punkte) Beschreiben Sie unter Verwendung von Register-Transfer Sprache und PseudoCode was in jedem Zyklus der Abarbeitung einer vscale Instruktion geschieht(initialisierung und Schleife). Machen Sie deutlich, welche Operationen gleichzeitig ablaufen.

5 Herbst 2001 Digitaltechnik und Rechnerstrukturen Seite 5 Aufgabe 3: Speicherhierarchie (Total 30 Punkte) a) (5 Punkte) Berechnen Sie die effektive Grösse (in Bits) von einem Cache im write-back Betrieb. Der Cache hat eine Kapazität von 256KB, ist teilassoziativ mit 4 Einträgen pro Index (four-way associative) und 8 Worten pro Eintrag. Die Wortbreite ist 64 Bit. Gehen Sie von 32 Bit Byte-Adressierung aus. b) (25 Punkte) Ein Programm, welches auf einem Computer mit anfänglich leerem write-back Cache läuft, führt folgende Sequenz von Lese-/Schreiboperationen aus : No Address Operation dec bin read read read write write read write write read read write write Zur Vereinfachung sind die Wort- Adressen in dezimaler und binärer Form angegeben. Die Kapazität des Caches ist 8 Blocks, mit 4 Worten pro Block. Der Cache ist 2-way assoziativ und verwendet eine least recently used (LRU) Ersetzungsstrategie. Geben Sie für jede Lese- und Schreiboperation an, ob es sich um einen Cache Hit oder einen Cache Miss handelt. Stellen Sie den Zustand des Caches nach jeder Operation dar. Zusätzlich sollen Sie auch noch die gesamte Anzahl Zyklen bestimmen, welche der Prozessor für Zugriffe auf den Hauptspeicher verwedet. (Zählen Sie nur jene Zyklen, welche für das Lesen und Schreiben vom Hauptspeicher verwendet werden.) Nehmen Sie an, dass es 4 Zyklen dauert, um ein Wort vom Hauptspeicher zu lesen. Das Schreiben eines Wortes dauert 5 Zyklen. Benutzen Sie die Tabelle auf der folgenden Seite zur Darstellung Ihrer Resultate.

6 Herbst 2001 Digitaltechnik und Rechnerstrukturen Seite 6 No Address Read/ Write Hit/ Miss Cache state Index 0 Index 1 Index 2 Index 3 Main memory access cycles R R R W 5. 5 W 6. 7 R W W 9. 2 R R W W Total number of main memory access cycles:

7 Herbst 2001 Digitaltechnik und Rechnerstrukturen Seite 7 Aufgabe 4: Pipelining/Hazards (Total 20 Punkte) Gegeben sei die folgende 4-stufige Pipeline, in der das "Write Back" in die Register während der Ausführungsstufe geschieht und für Speicherzugriffe das Register nur in der Speicherzugriffs-Phase gelesen wird. Stage 1: Instruction Fetch (IF): IR <- Mem[PC]; PC <- PC + 4 Stage 2: Instruction Decode(ID): Instruktion dekodieren. Wenn die Instruktion keine Speicherinstruktion ist (LW, SW): A <- R[rs] B <- R[rt] I <- IR.imm Stage 3: Execute(EX): Register-Register ALU Instruktion R <- A op B R[rd] <- R (sofortiger WB) Register-Immediate ALU Instruktion R <- A op I R[rd] <- R (sofortiger WB) Branch R <- PC + I Cond <- (A op 0) (Adresse der nächsten Instruktion, wenn der "Branch" durchgeführt wurde) (Bedingung des "Branches") Stage 4: Memory Access/Branch Vervollständigung (MEM): Memory Reference A <- R[rs] B <- R[rt] I <- IR.Imm R <- A + I M <- M[R] (for loads, LW) M[R] <- B (for stores, SW) R[rt] <- M (for loads, LW) Branch if (Cond) PC <- R Nehmen Sie an, dass ein Hazard immer erkannt wird und die entscheidenden Instruktionen um die minimal benötigte Anzahl Zyklen verschoben werden. Betrachten Sie den unten gegebenen Code.

8 Herbst 2001 Digitaltechnik und Rechnerstrukturen Seite 8 c) (5 Punkte) Finden Sie alle RAW und WAR Hazards. d) (15 Punkte) Geben Sie das Pipelining Diagramm der Instruktionen für eine Ausführung der Schleife an. MOV R1, #1024 ; loop executes 1024 times loop: LW R2, 0(R4) ; R2 gets X[i], R4 points to X[i] MUL R2, R2, #20 ; compute 20*X[i] LW R3, 0(R5) ; R3 gets Y[i], R5 points to Y[i] ADD R3, R2, R3 ; compute 20*X[i]+Y[i] SW 0(R5), R3 ; Y[i]=20*X[i]+Y[i] ADD R5, R5, #4 ; increment pointer to array Y ADD R4, R4, #4 ; increment pointer to array X SUB R1, R1, #1 ; decrement the iteration counter BNEZ R1, loop ; loop back if not finished

9 Herbst 2001 Digitaltechnik und Rechnerstrukturen Seite 9 Aufgabe 5: Software Pipelining (Total 20 Punkte) Gegeben sei der DLX Code: MOVI R1, #1024 loop iterative 1024 times L1: LD F0, 0(R2) R2 points to X[i] MULTD F4, F2, F0 compute a*x[i] LD F6, 0(R3) R3 points to Y[i] ADDD F8, F6, F4 compute ax[i] + Y[i] SD 0(R3), F8 Store result in Y[i] ADDI R2, R2, #8 Increment pointer_to_x ADDI R3, R3, #8 Increment pointer_to_y SUBI R1, R1, #1 Decrement count by 1 BNEZ R1, L1 Alle Funktionseinheiten sind vollständig gepipelined, d.h. es gibt keine strukturellen Hazards. Die MULTD und ADDD Instruktionen werden in der Gleitkomma FU und LD, SD in der Load/ Store Pipe ausgeführt. Andere Instruktionen werden in der Integer FU ausgeführt. In einer Superskalar Architektur können zwei Instruktionen in demselben Zyklus ausgeführt werden. Es gibt zwei Integer FUs, eine Load/Store Pipe und eine FP Einheit. Folgende Kombinationen können in einem Zyklus durchgeführt werden. a) zwei unabhängige Integer-Instruktionen b) eine Speicher- und eine unabhängige Integer- oder Gleitkomma-Operation c) eine Integer-Instruktion und eine unabhängige Gleitkomma-Operation Zwei Speicher-Operationen können allerdings nicht gleichzeitig ausgeführt werden. Nehmen Sie folgende "Stall" Zyklen, aufgrund von Datenabhängigkeiten, an. Zwischen einer ADDD und einer abhängigen Operation -- 1 Zyklus Zwischen einer MULTD und einer abhängigen Operation -- 2 Zyklen Zwischen einer LD und einer abhängigen FP Operation -- 1 Zyklus Es gibt einen einzelnen "Branch Delay Slot" der durch verzögertes Branching gefüllt werden kann. e) (20 Punkte) Schreiben Sie den Code unter Verwendung von Software-Pipelining so um, dass seine Ausführungszeit auf der obigen Superskalar-Architektur minimal ist. Berechnen Sie dann die CPI des Superskalar-Prozessors beim Ausführen Ihres neuarrangierten Codes. (Betrachten Sie dazu nur die Instruktionen innerhalb der Schleife.)

10 Herbst 2001 Digitaltechnik und Rechnerstrukturen Seite 10 Aufgabe 6: I/O SCSI und DMA (Total 30 Punkte) I: SCSI (20 Punkte) Wir betrachten ein Computersystem an dem mehrere SCSI Geräte über einen SCSI-Bus angeschlossen werden.unser Computer unterstützt eine Datentransferrate von 30 MByte/s und die einzelnen angeschlossenen Geräte besitzen genügend grossen Buffer um ihre kontinuierlichen Übertragungsraten in jedem Fall zu bearbeiten. Wir schliessen ein CD-Laufwerk mit einer kontinuierlichen Übertragungsrate von 600KByte/s von der CD und einer Datenrate von 2 MByte/s aus dem Buffer an den SCSI-Bus an. a) Wie viele Harddisks mit einer kontinuierlichen Übertragungsrate von 8 MByte/s von den Platten und einer Datenrate von 30 MByte/s aus dem Buffer lassen sich an den Bus zusätzlich anschliessen, so dass alle Geräte gleichzeitig mit maximaler Geschwindigkeit betrieben werden können? (10 Punkte) b) Wie stark ist der Bus in diesem Fall belastet? (2 Punkte) Vereinfachend können sie annehmen, dass 1M = und 1K = 1000 Jetzt verfeinern wir das Modell und betrachten den Overhead welcher auf dem Bus für die Datenübertragung benötigt wird. Das CD-Laufwerk hat einen Overhead von 5ms für jeden Transfer und die maximale Blockgrösse von 64 KBytes pro Übertragung. Jede Harddisk hat ebenfalls einen Overhead von 5ms und die Blockgrösse ist 1024 KBytes pro Übertragung. c) Berechnen sie nun mit diesen zusätzlichen Daten die Busbelastung pro Gerät. (4 Punkte) d) Berechnen sie die gesamte Busbelastung mit der in Teilaufgabe a) bestimmten Anzahl von Geräten. (2 Punkte) e) Genügt der Bus den Anforderungen aus Teilaufgabe a) noch? (2 Punkte)

11 Herbst 2001 Digitaltechnik und Rechnerstrukturen Seite 11 II: DMA (10 Punkte) Wir betrachten ein System aus einem Computer und einem I/O-Gerät, welche an den Hauptspeicher über einen shared Bus mit einer Busbreite von einem Wort angeschlossen sind. Der Prozessor kann maximal 1 Million Instruktionen pro Sekunde ausführen. Im Mittel braucht eine Instruktion 5 Prozessorzyklen, wovon 3 für einen Speicherzugriff verwendet werden. Ein Schreib -oder Lesezugriff auf den Speicher benötigt genau 1 Prozessorzyklus. 1 Prozessorzyklus ist 1 Buszyklus auf dem shared Bus. Der shared Bus hat eine Taktfrequenz von 5MHz. Der Prozessor ist zu 85% durch Programmausführungen belastet. Es werden aber keine Zugriffe auf das I/O-Gerät gemacht. Nun sollen eine grosse Menge von Daten vom I/O-Gerät in den Speicher übertragen werden. a) Wir betrachten den Fall wo der Prozessor den Übertragungsvorgang ausführen muss. Um ein Wort zu übertragen, muss der Prozessor 2 Instruktionen ausführen. Bestimmen sie die maximale Datenrate in Worten pro Sekunde vom I/O-Gerät an den Speicher übertragen werden können. (6 Punkte) b) Berechnen sie dieselbe Rate falls das I/O-Gerät mit einer DMA ausgerüstet ist. Die Initialisierung kann vernachlässigt werden. (4 Punkte)

12 Herbst 2001 Digitaltechnik und Rechnerstrukturen Seite 12 Aufgabe 7: Cachekohärenz (Total 25 Punkte) a) (18 Punkte) Gegeben ist das im Bild gezeigte Multiprozessorsystem (shared memory, Netzwerkarchitektur). Beide Prozessoren besitzen einen Cache, der jeweils nur eine Zeile für ein Datum enthält. Der Speicher S2 enthält die Variable y an der Adresse Adr[y]. Die Cachkohärenz wird durch ein Write-Invalidate-Write-Back Directory-Protokoll sichergestellt (siehe Vorlesung). Am Anfang der Schreib- und Leseoperationen sind die beiden Cachezeilen im Zustand invalid. Netzwerk Speicher S1 Directory D1 Speicher S2 Directory D2 Variable y in Adresse Adr[y] Cache C1 Cache C2 Prozessor P1 Prozessor P2 Tragen Sie für die in der folgenden Tabelle angegebene Sequenz von Aktionen die Zustandsänderungen der Cachzeilen in den Caches C1 und C2, den Zustand des Directory D2 und die über das Netzwerk verschickten Nachrichten ein. Diese Nachrichten müssen für jede Aktion in der Reihenfolge des Auftretens aufgelistet werden. Die zu verwendende Notation wird aus der bereits TEILWEISE eingetragenen ersten Aktion deutlich: Zustandsänderungen: alterzustand -> neuerzustand; Sharers = {... } Nachrichten: Nachricht[Inhalt der Nachricht] : Sender -> Empfänger b) (7 Punkte) Gegeben ist das im Bild gezeigte Multiprozessorsystem (shared memory, Busarchitektur). Beide Prozessoren besitzen einen Cache, der jeweils nur eine Zeile für ein Datum enthält. Der Speicher S enthält die Variable x an der Adresse Adr[x]. Am Anfang der Schreib- und Leseoperationen sind die beiden Cachezeilen im Zustand invalid. Bus Speicher S Variablen x, y,... in Adressen Adr[x], Adr[y],... Cache C1 Cache C2 Prozessor P1 Prozessor P2 Die Cachkohärenz wird entweder durch ein Write-Invalidate-Write-Back (WIWB) oder durch ein MESI-Protokoll sichergestellt. Geben Sie eine Sequenz von Schreib- und Leseaktionen (z.b. P1 schreibt y; P2 liest x;...) an, bei der im Falle des MESI-Protokolls weniger Nachrichten auf dem Bus verschickt werden als im Fall des WIWB-Protokolls. Um welche Bus-Nachricht(en) handelt es sich? Begründen Sie ihre Antworten.

13 Herbst 2001 Digitaltechnik und Rechnerstrukturen Seite 13 Lese- und Schreibaktionen Cache C1 Cache C2 Directory D2 P1 liest y valid -> shared uncached -> shared Sharers = { P1 } Nachrichten auf dem Netzwerk (in der Reihenfolge des Auftretens) RMM[P1, Adr[y]]: C1 -> D2... P2 schreibt y P1 schreibt y P2 liest y

b) (2 Punkte) Wie lange dauert die Ausführung des Testprogramms in Sekunden?

b) (2 Punkte) Wie lange dauert die Ausführung des Testprogramms in Sekunden? Herbst 2001 Digitaltechnik und Rechnerstrukturen Seite 1 Aufgabe 1: Performance Evaluation (Total 25 Punkte) Gegeben sei ein System S0 mit einem Prozessor mit einer Taktfrequenz von 800 Hz. Der Prozessor

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

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

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

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

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

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

Ü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

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

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset. Quiz Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset 32 Bit Adresse 31 3 29... 2 1 SS 212 Grundlagen der Rechnerarchitektur

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

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 6 Datum: 24. 25. 11. 2016 Pipelining 1 Taktrate / Latenz In dieser

Mehr

Digitaltechnik und Rechnerstrukturen. 2. Entwurf eines einfachen Prozessors

Digitaltechnik und Rechnerstrukturen. 2. Entwurf eines einfachen Prozessors Digitaltechnik und Rechnerstrukturen 2. Entwurf eines einfachen Prozessors 1 Rechnerorganisation Prozessor Speicher Eingabe Steuereinheit Instruktionen Cachespeicher Datenpfad Daten Hauptspeicher Ausgabe

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

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

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

, 2014W Übungsgruppen: Mo., Mi.,

, 2014W Übungsgruppen: Mo., Mi., VU Technische Grundlagen der Informatik Übung 7: Speichermanagement 183.579, 2014W Übungsgruppen: Mo., 12.01. Mi., 14.01.2015 Aufgabe 1: Cache-Adressierung Ein Prozessor mit einer Adresslänge von 20 Bit

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

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

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie

Mehr

Computational Engineering I

Computational Engineering I DEPARTMENT INFORMATIK Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstraße 3, 91058 Erlangen 12.02.2014 Klausur zu Computational Engineering I............

Mehr

Technische Informatik 1

Technische Informatik 1 Technische Informatik 1 4 Prozessor Einzeltaktimplementierung Lothar Thiele Computer Engineering and Networks Laboratory Vorgehensweise 4 2 Prinzipieller Aufbau Datenpfad: Verarbeitung und Transport von

Mehr

Virtueller Speicher und Memory Management

Virtueller Speicher und Memory Management Virtueller Speicher und Memory Management Speicher-Paradigmen Programmierer ein großer Adressraum linear adressierbar Betriebssystem eine Menge laufender Tasks / Prozesse read-only Instruktionen read-write

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

Cache Blöcke und Offsets

Cache Blöcke und Offsets Cache Blöcke und Offsets Ein Cache Eintrag speichert in der Regel gleich mehrere im Speicher aufeinander folgende Bytes. Grund: räumliche Lokalität wird wie folgt besser ausgenutzt: Bei Cache Miss gleich

Mehr

Hier: Soviele Instruktionen wie möglich sollen in einer Zeiteinheit ausgeführt werden. Durchsatz.

Hier: Soviele Instruktionen wie möglich sollen in einer Zeiteinheit ausgeführt werden. Durchsatz. Pipelining beim DLX 560 Prozessor Pipelining : Implementierungstechnik Vielfältig angewendet in der Rechnerarchitektur. Pipelining macht CPUs schnell. Pipelining ist wie Fließbandverarbeitung. Hintereinanderausführung

Mehr

Assembler am Beispiel der MIPS Architektur

Assembler am Beispiel der MIPS Architektur Assembler am Beispiel der MIPS Architektur Frühere Einsatzgebiete MIPS Silicon Graphics Unix Workstations (z. B. SGI Indigo2) Silicon Graphics Unix Server (z. B. SGI Origin2000) DEC Workstations (z.b.

Mehr

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus 4.2 Caches é Cache kommt aus dem Französischen: cacher (verstecken). é Er kann durch ein Anwendungsprogramm nicht explizit adressiert werden. é Er ist software-transparent, d.h. der Benutzer braucht nichts

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

Rechnerarchitektur SS 2012

Rechnerarchitektur SS 2012 Rechnerarchitektur SS 2012 Cachekohärenz Michael Engel TU Dortmund, Fakultät für Informatik Teilweise basierend auf Material von Gernot A. Fink und R. Yahyapour 11. Juni 2013 Speicher in MP-Systemen Zentrales

Mehr

Vorlesung 3: Verschiedenes

Vorlesung 3: Verschiedenes Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorlesung 3: Verschiedenes Peter B. Ladkin Vorlesung 3 - Inhalt Busarchitektur Virtuelle Maschine 2 Busarchitektur - das

Mehr

1 Rechnerstrukturen 1: Der Sehr Einfache Computer

1 Rechnerstrukturen 1: Der Sehr Einfache Computer David Neugebauer, Informationsverarbeitung - Universität zu Köln, Seminar BIT I Inhaltsverzeichnis 1 Rechnerstrukturen 1: Der Sehr Einfache Computer 1 1.1 Komponenten................................. 1

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

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Speicherhierarchie In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Register Speicherzellen, direkt mit der Recheneinheit verbunden Cache-Speicher Puffer-Speicher

Mehr

Beispielhafte Prüfungsaufgaben zur Vorlesung Technische Informatik I Gestellt im Frühjahr 2012

Beispielhafte Prüfungsaufgaben zur Vorlesung Technische Informatik I Gestellt im Frühjahr 2012 Beispielhafte Prüfungsaufgaben zur Vorlesung Technische Informatik I Gestellt im Frühjahr 2012 Die beigefügte Lösung ist ein Vorschlag. Für Korrektheit, Vollständigkeit und Verständlichkeit wird keine

Mehr

Datapath. Data Register# Register# PC Address instruction. Register#

Datapath. Data Register# Register# PC Address instruction. Register# Überblick über die Implementation Datapath Um verschiedene Instruktionen, wie MIPS instructions, interger arithmatic-logical instruction und memory-reference instructions zu implementieren muss man für

Mehr

Rechnernetze und Organisation

Rechnernetze und Organisation Arithmetic Logic Unit ALU Professor Dr. Johannes Horst Wolkerstorfer Cerjak, 9.2.25 RNO VO4_alu Übersicht Motivation ALU Addition Subtraktion De Morgan Shift Multiplikation Gleitkommazahlen Professor Dr.

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

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

Cache II. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Cache II Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Cache II 1/14 2012-02-29 Schreibstrategien Es sind verschiedene Fälle

Mehr

Rechnerarchitektur SS 2012

Rechnerarchitektur SS 2012 Rechnerarchitektur SS 2012 Cachekohärenz TU Dortmund, Fakultät für Informatik XII Literatur: Hennessy/Patterson: Computer Architecture, 3. Auflage, 2003, Abschnitte 6.2, S. 549ff und 6.5, S. 576ff. Huang:

Mehr

Wie groß ist die Page Table?

Wie groß ist die Page Table? Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten

Mehr

Computational Engineering I

Computational Engineering I DEPARTMENT INFORMATIK Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstraße 3, 91058 Erlangen 25.01.2016 Probeklausur zu Computational Engineering

Mehr

Einfaches MSI-Writeback-Inval-Protokoll

Einfaches MSI-Writeback-Inval-Protokoll Einfaches MSI-Writeback-Inval-Protokoll Write-Back Cache typischerweise Write-allocate bei einem Write-Miss Zustände Invalid (I): Shared (S): Kopien in einem oder mehreren Caches Dirty or Modified (M):

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

Schreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen).

Schreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen). Schreiben von Pages Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen). Write Through Strategie (siehe Abschnitt über Caching) ist hier somit nicht sinnvoll. Eine sinnvolle

Mehr

Rechnerstrukturen 1: Der Sehr Einfache Computer

Rechnerstrukturen 1: Der Sehr Einfache Computer Inhaltsverzeichnis 1: Der Sehr Einfache Computer 1 Komponenten.................................... 1 Arbeitsweise..................................... 1 Instruktionen....................................

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

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

Besprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur

Besprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur Themen heute Besprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur Besprechung des 8. Übungsblattes Aufgabe 2.6. In diesem

Mehr

Technische Informatik 1 Übung 6 Pipelining (Rechenübung) Andreas Tretter 24./25. November 2016

Technische Informatik 1 Übung 6 Pipelining (Rechenübung) Andreas Tretter 24./25. November 2016 Technische Informatik 1 Übung 6 Pipelining (Rechenübung) Andreas Tretter 24./25. November 2016 Aufgabe 1: Taktrate / Latenz TI1 - Übung 6: Pipelining Einzeltakt-Architektur TI1 - Übung 6: Pipelining Pipelining-Architektur

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

Mikroprozessortechnik Grundlagen 1

Mikroprozessortechnik Grundlagen 1 Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega28 Progammierung in C - Vergleich C und C++ - Anatomie eines µc-programmes

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

Grob-Struktur des Prozessor-Speichersystems

Grob-Struktur des Prozessor-Speichersystems 2.3.2 Speicherstruktur (1) Grob-Struktur des Prozessor-Speichersystems Chipsatz (Erklärung s. später, Folie 104) 22.4.-27.5.2013, Folie 52 2.3.2 Speicherstruktur (2) Zugriff Prozessor zumeist auf schnelle

Mehr

Systeme 1: Architektur

Systeme 1: Architektur slide 1 Vorlesung Systeme 1: Architektur Prof. Dr. Ulrich Ultes-Nitsche Forschungsgruppe Departement für Informatik Universität Freiburg slide 2 Prüfung 18. Februar 2004 8h00-11h40 13h00-18h20 20 Minuten

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 11 Datum: 21. 22. 12. 2017 Virtueller Speicher 1 Performanz Gehen Sie von einem virtuellen

Mehr

Data Hazards. Grundlagen der Rechnerarchitektur Prozessor 74

Data Hazards. Grundlagen der Rechnerarchitektur Prozessor 74 Data Hazards Grundlagen der Rechnerarchitektur Prozessor 74 Motivation Ist die Pipelined Ausführung immer ohne Probleme möglich? Beispiel: sub $2, $1, $3 and $12, $2, $5 or $13, $6, $2 add $14, $2, $2

Mehr

Quantitative Prinzipien im Hardwareentwurf. 1. Small is fast

Quantitative Prinzipien im Hardwareentwurf. 1. Small is fast Quantitative Prinzipien im Hardwareentwurf 1. Small is fast Kleine Hardwareeinheiten schalten in der Regel schneller als größere. Kleine Transistoren bilden an ihren Gates kleinere Kapazitäten die Source-Drain

Mehr

, SS2012 Übungsgruppen: Do., Mi.,

, SS2012 Übungsgruppen: Do., Mi., VU Technische Grundlagen der Informatik Übung : Mikroprozessoren, Pipelining, Cache 183.579, SS01 Übungsgruppen: Do., 10.05. Mi., 1.05.01 Aufgabe 1: Stack Funktionsweise eines Stacks Erläutern Sie die

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 11 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

, 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

Der Toy Rechner Ein einfacher Mikrorechner

Der Toy Rechner Ein einfacher Mikrorechner Der Toy Rechner Ein einfacher Mikrorechner Dr. Gerald Heim Haid-und-Neu-Str. 10-14 76131 Karlsruhe 16. Mai 1995 Allgemeine Informationen 2 Quelle: Phil Kopmann, Microcoded versus Hard-Wired Logic, Byte

Mehr

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben Themen heute Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben Besprechung des 9. Übungsblattes Aufgabe 2 Ist in einer Aufgabe wie hier keine explizite Wortbreite angegeben, nicht

Mehr

Name: ES2 Klausur Thema: ARM Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 75 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

, SS2012 Übungsgruppen: Do., Mi.,

, SS2012 Übungsgruppen: Do., Mi., VU Technische Grundlagen der Informatik Übung 7: Speicher und Peripherie 183.579, SS2012 Übungsgruppen: Do., 31.05. Mi., 06.06.2012 Aufgabe 1: Ihre Kreativität ist gefragt! Um die Qualität der Lehrveranstaltung

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

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Die Idee Virtuelle Adressen Prozess 1 Speicherblock 0 Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock

Mehr

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011 Technische Universität Graz Institut tfür Angewandte Informationsverarbeitung und Kommunikationstechnologie Rechnerorganisation 2 TOY Karl C. Posch Karl.Posch@iaik.tugraz.at co1.ro_2003. 1 Ausblick. Erste

Mehr

Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling

Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling Aufgabe 1: Sie haben in der Vorlesung einen hypothetischen Prozessor kennen

Mehr

Rechner Architektur. Martin Gülck

Rechner Architektur. Martin Gülck Rechner Architektur Martin Gülck Grundlage Jeder Rechner wird aus einzelnen Komponenten zusammengesetzt Sie werden auf dem Mainboard zusammengefügt (dt.: Hauptplatine) Mainboard wird auch als Motherboard

Mehr

Aufgabenblatt 7. Es sind keine Abgaben mit mehreren Namen oder Kopien von Abgaben anderer erlaubt

Aufgabenblatt 7. Es sind keine Abgaben mit mehreren Namen oder Kopien von Abgaben anderer erlaubt Aufgabenblatt 7 Wichtige Hinweise: Bitte Namen und Gruppennummer deutlich lesbar rechts oben auf allen Blättern der Abgabe angeben und alle Blätter der Abgabe zusammenheften (1 Zusatzpunkt!) Es sind keine

Mehr

H E F B G D. C. DLX Rechnerkern

H E F B G D. C. DLX Rechnerkern C. DLX Rechnerkern C.1. Einordnung DLX Architektur und Konzepte: Einfache "Gesamtzyklus"-DLX Maschine (non-pipelined), Verarbeitungsschritte einer Instruktion, Taktverhalten im Rechner, RISC & CISC...

Mehr

6 Exkurs: Assoziativspeicher (2) 6 Exkurs: Assoziativspeicher. 7.1 Speicherhierarchie. 7 Caches

6 Exkurs: Assoziativspeicher (2) 6 Exkurs: Assoziativspeicher. 7.1 Speicherhierarchie. 7 Caches 6 Exkurs: Assoziativspeicher alternative Möglichkeit der Speicherung von Informationen in einem Computer: Assoziativspeicher (inhaltsadressierbarer Speicher bzw. CAM = Content Addressable Memory) : bei

Mehr

Vorlesung 5: Interrupts

Vorlesung 5: Interrupts Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorlesung 5: Interrupts Peter B. Ladkin Kommunikation über den Bus CPU läuft zu einer Taktfrequenz I/O Geräte laufen zu anderen

Mehr

Das Konzept der Speicherhierarchie

Das Konzept der Speicherhierarchie Das Konzept der Speicherhierarchie Small is fast, daher sind kleine Speicher schneller (und kosten mehr pro Byte). Vergrößerung von Speichern und schnellerer Zugriff sind aber Schlüsselfunktionen in der

Mehr

Technischen Informatik I, WS 2004/05

Technischen Informatik I, WS 2004/05 PHILIPPS-UNIVERSITÄT MARBURG Fachbereich Mathematik und Informatik Prof Dr R Loogen, Dipl-Inform J Beringer D-3532 Marburg Hans-Meerwein-Straße Lahnberge Klausur zur Technischen Informatik I, WS 24/5 3

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

Aufgabe 4 : Virtueller Speicher

Aufgabe 4 : Virtueller Speicher Sommer 216 Technische Informatik I Lösungsvorschlag Seite 16 Aufgabe 4 : Virtueller Speicher (maximal 27 Punkte) 4.1: Generelle Funktionsweise (maximal 5 Punkte) (a) (1 Punkt) Nennen Sie zwei Gründe, weshalb

Mehr

Mikrocomputertechnik. Adressierungsarten

Mikrocomputertechnik. Adressierungsarten Adressierungsarten Ein Mikroprozessor bietet meist eine Reihe von Möglichkeiten, die Operanden für eine Rechenoperation zu bestimmen. Diese Möglichkeiten bezeichnet man als Adressierungsarten. unmittelbare

Mehr

RAM. Konsistenzprobleme entstehen => CPU - durch Verzögerung in Warteschlange, Umfangreiche Pufferung in den PCI Brücken. lesen. EOP-Signal.

RAM. Konsistenzprobleme entstehen => CPU - durch Verzögerung in Warteschlange, Umfangreiche Pufferung in den PCI Brücken. lesen. EOP-Signal. 11. s 11.1 Pufferspeicher Lesepuffer um vorauszulesen: - erste Leseoperation hat lange Latenzzeit, - Folgedaten vorsorglich schon gelesen, - "prefetch buffer". Schreibpuffer um ein Blockieren des schreibenden

Mehr

Technische Informatik 1

Technische Informatik 1 Technische Informatik 1 2 Instruktionssatz Lothar Thiele Computer Engineering and Networks Laboratory Instruktionsverarbeitung 2 2 Übersetzung Das Kapitel 2 der Vorlesung setzt sich mit der Maschinensprache

Mehr

Rechnerorganisation. 1. Juni 201 KC Posch

Rechnerorganisation. 1. Juni 201 KC Posch .6.2 Rechnerorganisation. Juni 2 KC Posch .6.2 2 .6.2 Front Side Bus Accelerated Graphics Port 28 MHz Front Side Bus North Bridge RAM idge South Bri IDE USB PCI Bus 3 .6.2 Front Side Bus Front Side Bus

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

Speicher. Speicher. Speicherhierarchie. Speicher. Interessante Zahlen:

Speicher. Speicher. Speicherhierarchie. Speicher. Interessante Zahlen: Übersicht 1 Einleitung Hauptspeicher 2 Hauptspeicher 3 Caches, Cache-Kohärenz Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009

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

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

Busse. Dr.-Ing. Volkmar Sieh WS 2005/2006. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg

Busse. Dr.-Ing. Volkmar Sieh WS 2005/2006. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg Einleitung Bus-Konfiguration Bus-Arbitrierung Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Einleitung Bus-Konfiguration Bus-Arbitrierung

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

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

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

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

Lösungsvorschlag zur 5. Übung

Lösungsvorschlag zur 5. Übung Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zur 5. Übung 1 Präsenzübungen 1.1 Schnelltest a) Welche Aussagen über Caches sind

Mehr

Busse. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009

Busse. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009 Busse Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009 Busse 1/40 2008-10-13 Übersicht 1 Einleitung 2 Bus-Konfiguration

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

Technische Informatik I. Übung 3 Speicherhierarchie. v t d 0 d 1 d 2 d 3 0 1 2 3. Technische Informatik I Übung 3. Technische Informatik I Übung 3

Technische Informatik I. Übung 3 Speicherhierarchie. v t d 0 d 1 d 2 d 3 0 1 2 3. Technische Informatik I Übung 3. Technische Informatik I Übung 3 Institut für Kommunikationsnetze und Rechnersysteme Technische Informatik I Paul J. Kühn, Matthias Meyer Übung 3 Speicherhierarchie Inhaltsübersicht Aufgabe 3.1 Daten-Cache Aufgabe 3.2 Virtueller Speicher

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

Weitere Verbesserungen

Weitere Verbesserungen Weitere Verbesserungen Welcher Cache liefert aktuellen Block falls mehrere Caches Block im Zustand S halten? Lösung: Einführung eines weiteren Zustands O (Owner) Zustand O besagt: Eigentümer des Blocks

Mehr