7b. Rechnerarchitektur
|
|
- Greta Winkler
- vor 6 Jahren
- Abrufe
Transkript
1 7b. Rechnerarchitektur Inhalt: Schichtenmodell Rechnerarchitektur und Techniken innerhalb der Mikroprozessoren 1
2 Schichtenmodell Schnittstelle zu Level 2 entspricht einer Rechnerarchitektur Schicht Level 1 wird im Allgemeinen zur Hardware gerechnet, obwohl sie auch Mikroprogramme (Firmware) enthalten kann. Heute aber meist fest verdrahtete Ablaufsteuerungen (Hardware). Einzelne Schichten sind intern selbst wieder in Schichten unterteilt. Systementwurf muss auch Wechselwirkung zwischen Schichten berücksichtigen. 2
3 Konvertierung zwischen Schichten (3) Level3: Hybride Schicht: Einige Befehle von Level3 (z. B. ADD) sind identisch mit Level 2. Dazu kommen Betriebssystemaufrufe (system calls) wie open(), write(),gettimeofday() etc., die von L3 interpretiert werden. Level2: Die Mikroarchitekur auf Level1 interpretiert die Maschinensprache (per Mikroprogramm oder festverdrahtet). Level1: Die Mikro-Operationen bzw. Steuerungen zur Ausführung der Befehle werden durch die digitalen Schaltkreise aus Schicht Level0 interpretiert ( Hardware-Interpreter ). 3
4 Konvertierung zwischen Schichten (4) Level 5 Level 4 Level 3 Level 2 Level 1 Level 0 Problem-oriented language Translation (compiler) Assembly language Translation (assembler) Operating system machine Partial interpretation (operating system) Instruction set architecture Interpretation (microprogram) or direct execution Microarchitecture Interpretation (Hardware) Digital logic Schichtenmodell kann auch als eine Hierarchie immer abstrakter virtueller Maschinen aufgefasst werden. Level5: Eine höhere Programmiersprache wird durch Compilation oder Interpretation auf die Schnittstelle zu Level4 konvertiert. Level5 stellt eine virtuelle Maschine dar. Level4 stellt eine virtuelle Maschine dar, die dem Benutzer als Schnittstelle Assemblerbefehle plus Systemaufrufe anbietet. Level4: Assembler auf Schicht Level4 übersetzt ein Assemblerprogramm in die erweiterte Maschinensprache (inkl. Systemaufrufe). Einfache Form von Compilation. 4
5 Implementierung neuer Schichten Beispiel: Spracherweiterung durch Prozeduren in C. Hybride Schicht: Schnittstellen der alten Schicht bleiben weiter sichtbar. Modulkonzept (Funktionen und Bibliotheken) erlaubt Einführung einer echten Schicht (tiefere Schnittstellen werden in der Implementierung verborgen). 5
6 Funktionen in Hardware oder Software? 6
7 Funktionen in Hardware oder Software? Hardware (Entwicklung eines Mikroprozessors): schnell, aber unflexibel, teuer Software: langsamer, leicht änderbar, billiger Beispiel: Implementierung eines neuen Datentyps mit zugehörigen Operationen als Speicherstruktur mit Funktionen (Softwarebibilothek) als Datentyp der Programmiersprache (Übersetzer) als Maschinendatentyp (Hardware) 7
8 Funktionen in Hardware oder Software? Vergleich: Realisierungsvarianten von Funktionen y[ i] w1 x[ i] w2 x[ i 1] w3 x[ i 2] w4 x[ i 3] Software: Befehlsfolge auf universal- Prozessor (links) Register x1 bis x3 werden nach x2 bis x4 umkopiert Adressrechnung für x[i] Register x1 (x[i]) wird aus Speicher geladen Multiplikationen und Additionen Adressrechnung für y[i] Speichern von y[i] Zugehörige Strukturen und Datenpfad rechts dargestellt 8
9 Funktionen in Hardware oder Software? y[ i] w1 x[ i] w 2 x[ i 1] w3 x[ i 2] w 4 x[ i 3] Hardware: Funktionsspezifische Realisierung z.b. durch FPGA 9
10 Rechnerarchitektur Rechnerarchitektur (RA) nach Amdahl/Blaauw/Brooks, 1964 (Architekten des IBM System/360): The term architecture is used here to describe the attributes of a system as seen by the programmer, i. e. the conceptual structure and functional behavior, as distinct from the organization and data flow and control, the logical design and physical implementation. Architektur: Implementierung: Realisierung: Äußeres funktionelles Erscheinungsbild des Rechners, wie es der unmittelbare Benutzer (Maschinenprogrammierer) sieht. Logische Struktur (Organisation), mehrere Implementierungen der gleichen Architektur möglich. Konkrete Version einer Implementierung in Hardware und evtl. Firmware (mehrere Realisierungen einer Implementierung möglich). 10
11 Rechnerarchitektur Als Rechnerarchitektur verstanden: Äußeres funktionelles Erscheinungsbild Anzahl der Prozessorregister, Registerbreite (32 oder 64 Bit) und Einschränkungen für deren Benutzung Liste der Befehle eines Prozessors Adressierungsarten, d.h. Art wie Daten von Befehlen adressiert werden können 11
12 Rechnerarchitektur Als Rechnerorganisation verstanden, z.t. auch als Rechnerarchitektur: Implementierung Art und Anordnung von Hardwarebausteinen, die Funktionen der äußeren Sicht realisieren Beispiel: Implementierung eines einfachen Prozessors: 12
13 Rechnerarchitektur Nicht zu Rechnerarchitektur gezählt: Konkrete Version einer Implementierung Taktfrequenz eines Prozessors Strukturbreite der Halbleiterstrukturen (Beispiel: CellBE PS3 mit 65nm und CellBE in PS3Slim mit 45nm) Cache-Größe 13
14 Beispiel für Rechnerarchitektur (1) Feldrechnerarchitektur zur datenparallelen Befehlsverarbeitung (z.b. SIMD Befehlssatzerweiterungen, oder GPUs) Leitwerk u. skalare Befehle PE 1 ADD MUL p Rechenwerke (PEs).... PE 2 PE p-1 PE p Kontrolleinheit Programmspeicher Privatspeicher Verbindungsnetzwerk 14
15 Beispiel für Rechnerarchitektur (2) Prozessorpipeline zur schnellen Befehlsverarbeitung S4 ALU Befehlspipeline ALU S1 S2 S3 S6 Instruction fetch unit Instruction decode unit Oberand fetch unit LOAD Write back unit Phasenpipeline STORE Floating point 15
16 Beschleunigung des Speicherzugriffs (1) Von-Neumann-Architektur (gemeinsamer Befehls- und Datenspeicher) Instruction and Data memory Universell, aber Flaschenhals Harvard-Architektur (getrennter Befehls- und Datenspeicher) Instruction memory CPU VT: Befehle und Daten können gleichzeitig geholt werden. Data memory NT: Speicher weniger flexibel nutzbar Speicherverschränkung (Memory Interleaving) Einteilung des Speichers in mehrere Module, aus denen gleichzeitig gelesen bzw. geschrieben werden kann. Verschränkung der unteren Adressbits erlaubt gleichzeitigen Zugriff auf konsekutive Elemente in Modulen 0, 1,... 2 m
17 Beschleunigung des Speicherzugriffs (2) Blockschaltbild eines verschränkten Speichers: n - m Address in module m Module Decoder 0 2 m -1 Module 2 m -1 Module 1 Module 0 Interleaving-Faktor: 2 m 17
18 Beschleunigung des Speicherzugriffs (3) Module 0 Module 2 m - 1 n - m high-order bits Zeitdiagramm 2 m OUT. Data buffer Data buffer Multiplexer m low order Bits n - m high-order bits Access 1 Access 2 Access 1 Access 2 M 0 M 1... M 2 m 1 0 Transfer data of access 1 M Single-word bus Bei entsprechend schnellem Bus und Zugriff auf konsekutive Speicherzellen (z. B. Vektoren) erscheint der Speicher um den Interleaving-Faktor schneller. Typische Interleaving- Faktoren: 4 64 Interleaving oft kombiniert mit dem Blockzugriff von Cache-Speichern. Time 0 t 2t 18
19 Cache-Speicher (1) Lokalitätsprinzip: Lokalität ist der Umstand, dass die innerhalb eines kurzen Zeitintervalls eintretenden Speicherreferenzen die Tendenz aufweisen, sich nur auf einen kleinen Teil des gesamten Speicherraums zu beziehen. (10/90) Regel: zu 90% der Programmlaufzeit wird auf 10% des Speicherbereichs eines Prozesses zugegriffen Cache: ein schneller Zwischenspeicher zwischen CPU und Hauptspeicher; um ein Vielfaches schneller als Hauptspeicher durch engere Anbindung an Verarbeitungseinheiten und durch bessere Technologie wesentlich kleiner als Hauptspeicher 19
20 Cache-Speicher (1) Prinzip (Cache für physikalische Adressen): Platzierung des Caches im Speicherpfad Treffer (Cache Hit): Auslesen bzw. Einschreiben der Daten kein Treffer (Miss): Nachladen aus Hauptspeicher 20
21 Meist Einteilung in Blöcke (Linien) à mehreren Worten (Cache Lines), d. h. Aufteilung der Adressen in Linienadresse (Tag) und Adresse innerhalb der Linie. Adresse:: MSB Cache-Speicher (2) Tag Bereich für Platzierung bzgl. Cache-Teilbereiche Adresse innerh. Linie LSB Reale Linienadresse (Requested Tag) wird mittels assoziativem Speicher mit Tags der Linien im Cache verglichen. Tag 0 Tag memory Requested tag Tag 1 Line 0 Line 1 Data memory Tag N Line N Miss Data 21
22 Cache-Speicher (3) Aufgrund der Lokalität (räumlich und zeitlich) von Programmen sehr hohe Trefferraten (95-98 %). Oft Kombination mit verschränktem Speicher (stets Transfer ganzer Blöcke). Heute meist ausgefeilte Cache-Hierarchien, zum Beispiel: Level 1-Cache (on chip): Level 2-Cache (extern o. on chip): ( KByte) (512 KByte...8 MByte) Level 1-Caches oft in Daten- und Befehlscaches getrennt (Split-Caches, Harvard-Architektur). Teilweise auch Level 3-Caches. Caches konnten im physikalischen Adressraum (hinter der MMU) oder im logischen Adressraum (vor der MMU) angeordnet sein. 22
23 Ablauf eines Speicherzugriffs Real address Search cache tag memory Cache hit NO YES Update line status Get line from cache Send real address to main memory Select cache entry for replacement Receive line Select requested bytes Store line in cache Output to CPU 23
24 Platzierungsstrategien Wo im Cache ist welcher Teil der Hauptspeicherdaten (Cache Linie) unterzubringen? Ort ist nicht fest vorgegeben, da die Hauptspeicherdaten zusammen mit ihrer Adresse im Cache abgelegt werden. Voll-assoziativer Cache Dennoch ist Ortsvorgabe/ bzw. Einschränkung der möglichen Orte sinnvoll: Direkt abgebildeter Cache Mengenassoziativer Cache 24
25 Voll-assoziativer Cache (fully associative) Platzierungsstrategien (Placement Policies) (Beispiel: 1 MByte Hauptspeicher, 16 KByte Cache) Tag Cache Data Line 0 Line 1.. Line 1023 Main memory Line 0 Line 1. Line Line Jede Cache-Linie kann jede beliebige Linie aus dem Hauptspeicher aufnehmen. Da Reihenfolge der Linien im Cache beliebig, ist ein Assoziativspeicher für die Tags erforderlich. Hohe Trefferrate, aber hoher Aufwand: entweder zusätzlicher Zeitbedarf durch assoziative Suche oder hohe Anzahl von Komparatoren 25
26 Direkt abgebildeter Cache (direct mapped) Tag Cache Data Line 0 Line 1 Main memory Line 0 Line 1 Line 2 Jeder Cache-Eintrag i kann nur Linien mit Adressen A aufnehmen, für die gilt A mod M = i ; (Restklassen-Einteilung).. Line 1022 Line Line 1023 Line 1024 Line Line Line Line Line M: Anzahl Linien pro Cache Kein assoziativer Speicher erforderlich: Mittels Adressteil Line wird der zugehörige Eintrag im Cache direkt ausgewählt. Stimmt Tag überein, so liegt ein Treffer (Hit) vor. Vorteile: Leicht implementierbar Aufwandsarmer Zugriff, da keine assoziative Suche erforderlich ist Nachteil: Geringe Trefferraten wenn Speicherzellen aus gleicher Restklasse benötigt werden. 26
27 Mengen-assoziativer Cache (set-associative) Cache Main memory Tag Data Line 0 Line 0 Cache wird in S Mengen eingeteilt. Set 255 Set 0 Line 1 Line 2 Line 3 Line 4. Line 1022 Line 1022 Line 1022 Line Line 255 Line Line Line Wie bei direkter Abbildung Zuordnung der Adressen A mit A mod S = i zu Menge i. Da L = M/S Linien pro Menge vorhanden, assoziative Suche mittels Tag, ob gewünschte Linie im Cache liegt. Spezialfälle: S = 1: voll-assoziativer Cache L = 1: direkt abgebildeter Cache M: Anzahl Linien pro Cache A: Adresse Line Guter Kompromiss, in der Praxis häufig eingesetzt. 27
28 Cache Ersetzungsstrategien Ersetzungsstrategien (Replacement Policies) Bei (voll-/mengen-)assoziativen Caches muss entschieden werden, welche Cache-Linie beim Einlagern einer neuen Linie ausgelagert wird: Häufigste Strategien: - Random: Auszulagernde Linie wird zufällig ausgewählt. - LRU (Least Recently Used): Diejenige Linie wird ausgelagert, die am längsten nicht referenziert worden ist. LRU ist schwieriger zu implementieren (zusätzlicher Zähler je Cache Linie). In einer Studie wurde festgestellt. Dass bei einem 2-fach assoziativen Cache die Hit Rate nur 1.1 mal höher ist als für Random. Für große Caches und damit kleine Miss Rate ist der Unterschied nur noch gering. 28
29 Cache Rückspeicherstrategien Behandlung von Schreibzugriffen: Write-Through: Rückspeichern bei jedem Schreiben auf den Cache (Konsistenz bleibt erhalten!) Write-Back (Copy Back):Rückspeichern nur bei Ersetzen einer Cache-Linie (zeitweise Inkonsistenz zwischen Cache und Hauptspeicher) Vorteile von Write-Back: - Prozessor kann mit Cache-Rate schreiben (bei Write Hit), nicht nur mit Hauptspeicher-Rate. - Mehrfaches Schreiben in die gleiche Linie erfordert nur einmal das Rückschreiben in den Hauptspeicher. - Beim Rückspeichern der Linie kann von Techniken zur Erhöhung der Speicherbandbreite wie z.b. Speicherverschränkung gemacht werden. 29
30 Cache Rückspeicherstrategien Vorteile von Write-Through: - Write-Through ist einfacher zu implementieren. Zur Erhöhung der Geschwindigkeit kann ein Write Buffer eingesetzt werden, d. h. das langsame Speichern in den Hauptspeicher wird von einem Puffer aus abgewickelt, während der Prozessor nach einem Write Hit bereits weiterläuft. - Konsistenz mit Hauptspeicher ist vorteilhaft, wenn auch andere Einheiten (z. B. I/O-Einheiten, andere Prozessoren) auf den Hauptspeicher zugreifen. Multiprozessoren und Cache-Konsistenz/Kohärenz 30
31 Implementierung: Direkt abgebildeter Cache Direkt-abgebildeter Cache von 64 KB mit 16-Byte-Linien (Adress- und Wortlänge 32 Bit, Byteadressierung) Address (showing bit positions) Byte offset Hit Tag 16 Index 12 2 Block offset Data V 16 bits Tag 128 bits Data 4K entries = Mux 32 31
32 Implementierung: Direkt abgebildeter Cache Funktionsweise des direkt-abgebildeten Caches: - Valid Flag (V) zeigt an, ob die Cache-Linie gültig ist. - Index-Feld (12 Bit) adressiert direkt die Cache-Linie. - Ausgelesenes Tag wird mit Tag-Feld der Adresse (obere 16 Bit) verglichen (bei Gleichheit: Cache Hit) Gewünschtes Wort innerhalb der Linie wird anhand des Block-Offsets mit einem Multiplexer (Mux) ausgewählt 32
33 Implementierung: Mengen-assoziativer Cache 4-fach assoziativer Cache von 4 KB mit 1-Wort-Linien (Adress- und Wortlänge 32 Bit, Byteadressierung) Index V Tag = Data 22 Address V Tag Data V Tag Data V Tag = = = 8 22 Data 32 L=4 Linien je Satz: deshalb 4-Wege assoziativ, oder 4- fach assoziativ S=256 Sätze (Sets, Mengen): Dann auch als 256- Mengen-assoziativ bezeichnet 4-to-1 M ultiplexer Hit Data 33
34 Implementierung: Mengen-assoziativer Cache Funktionsweise des 4-fach-assoziativen Caches: - Valid-Flag zur Anzeige einer gültigen Cache-Linie. - Set-Feld (8 Bit) adressiert parallel alle 4 Linien innerhalb der Menge. - Die 4 ausgelesenen Tags werden parallel mit dem Tag-Feld der Adresse (22 Bit) verglichen (bei Gleichheit Cache Hit). - Bei Cache Hit wird die gefundene Cache Linie mittels eines 4-zu-1-Multiplexers ausgewählt (alternative Implementierung über Chip Select der Speicherchips). Langsamer als direkt-abgebildeter Cache durch Tag-Vergleich vor Auswahl der Linie. 34
35 Geschwindigkeitsgewinn durch Caches Effektive Zugriffszeit mit Cache T s H T 1 H T1 T2 T1 H T2 1 1 T s: System-Zugriffszeit (mit Cache) T 1 : Cache-Zugriffszeit T 2 : Hauptspeicher-Zugriffszeit H: Cache-Trefferrate (Hit ratio) Zugriffseffizienz des Cache E c T T 1 s T 1 T H T T2 1 r 1 H 2 1 H T 1 1 mit r T 2 T 1 35
36 Cache-Zugriffseffizienz Cache-Zugriffseffizienz als Funktion der Trefferrate H bei verschiedenen relativen Cache-Geschwindigkeiten r T 2 T 1. 36
37 Virtueller Speicher (1) Grundprinzip der Umsetzung der virtuellen Adresse (VA) zu einer physikalischen Adresse (PA) VA msb Adressbereiche lsb Seiten-Nr Offset Seitentabelle physikalischer Speicher Kachel-Nr PA Kachel 37
38 Virtueller Speicher (2) Grundprinzip wird um Eingabe des Prozess-Id erweitert. Damit entstehen unter verschiedenen Prozessen unterschiedliche physikalische Adressen für gleiche virtuelle Adressen. Prozeß -ID VA msb Seiten-Nr Adressbereiche Seitentabelle für PID Kachel-Nr Offset lsb physikalischer Speicher PA Kachel 38
39 Virtueller Speicher (3) Typischerweise wird eine mehrstufige Umsetzung durch kaskadierte Seitentabellen vorgenommen. VA msb Tabellen-Nr Adressbereiche Seiten-Nr Offset lsb 1. Stufe Tab-Nr 2. Stufe Kachel-Nr physikalischer Speicher PA Kachel Vorteil: Für nicht benutzte Speicherbereiche können Tabellen auf 2. Stufe fehlen. Damit weniger Speicheraufwand für Verwaltung. 39
40 Beschleunigungstechniken für den Prozessor Verschiedene Techniken: Befehlsphasenpipelining Befehlspipelining VLIW SIMD 40
41 Befehlsphasenpipelinig (1) Zeitlich überlappte Ausführung von Befehlshol- und verschiedenen Ausführungsphasen: Instr. Fetch (IF), Instr. Decode (ID), Operand Fetch (OF), Execute (E), Store (S) Sequentiell I 3 I 2 I 1 3 Befehle in 15 Takten, 5 Takte je Befehl (CPI=5) IF ID OF EX S IF ID OF EX S IF ID OF EX S Befehlsphasenpipelining 3 Befehle in 7 Takten, 2.3 Takte je Befehl, 1 Takt je Befehl wenn Pipeline gleichmäßig gefüllt I 3 I 2 I 1 IF ID OF EX S IF ID OF EX S IF ID OF EX S Ziel: CPI=1. (CPI: Clocks per Instruction) 41
42 Befehlsphasenpipelinig (2) Pipelines in Universalprozessoren jedoch meist nur ungenügend gefüllt Grund: Pipeline-Konflikte Datenabhängigkeiten: Bsp: add R1,R2 ; R1=R1+R2 mul R1,R3 ; R1 = R1*R3; mul add IF ID OF EX S IF ID OF EX S Steuerflussabhängigkeiten: cmp R4,R5 bne ende add R1,R2 ende:... add bne cmp IF ID OF EX S IF ID OF EX S IF ID OF EX S Ausweg: Befehlsumordnung im Compiler, Spekulative Befehlsausführung 42
43 Superskalarität (1) Superskalar, wenn Befehlsphasen-Pipeline mit mehreren Funktionseinheiten für die Ausführung der Kernaktivitäten kombiniert ist und dynamische Zuweisung von Befehlen an die Funktionseinheiten erfolgt Instruction Fetch Instruction Decode and Rename Instruction Window Issue Execution Execution Retire and Write Back In Order Out of Order In Order Quelle: T.Ungerer, U. Brinkschulte Mikrocontroller und Mikroprozessoren, Springer Verlag
44 Superskalarität (2) Befehlshole-Stufe lädt Befehle aus dem Code-Cache, je Takt werden mindestens so viele Befehle geholt, wie den Ausführungseinheiten zugewiesen werden können. Ggf. wird Sprungvorhersage benutzt, um zu entscheiden, welche Befehle zu holen sind Ein Befehlsholepuffer entkoppelt Befehlsholestufe von der Decodierstufe Die Bandbreite der Dekodierstufe entspricht meist der maximalen Zuordnungsbandbreite. Operanden und Resultatregister werden umbenannt, d.h. die in den Befehlen angegebenen Register werden auf die physikalisch vorhandenen Register abgebildet. Befehlsfenster: Befehlsmenge mit umbenannten Registern und frei von Steuerflussabhängigkeiten 44
45 Superskalarität (3) Im Befehlsfenster müssen nur noch Datenabhängigkeiten und Strukturkonflikte aufgelöst werden. Issue: Zuweisung wartender Befehle an Verarbeitungseinheiten (Reihenfolge der Befehle im Originalprogramm wird im Rückordnungspuffer abgelegt) Zuweisung der Befehle in Umordnungspuffern vor den Ausführungseinheiten, Befehle warten dort solange, bis alle Operanden verfügbar sind (Datenflussprinzip). Danach: Befehlsvervollständigung und Rückordnung der Befehle Befehlsresultate werden gültig gemacht, sofern diese von keiner Spekulation mehr abhängen 45
46 RISC (1) RISC: Reduced Instruction Set Computer Design-Philosophie wenige einfache Befehle, anstatt vieler verschiedenartiger Befehle Befehle haben dann gleiche Länge Einfachere und schnellere Realisierung einer superskalaren Pipeline Lade- und Speicher-Befehle: Rest der Befehle arbeitet auf Registern Großer Satz an Universalregistern Viele innovative Befehlssatzarchitekturen sind RISC- Architekturen, z.b. DLX, MIPS Dennoch hoher Anteil von CISC Architekturen, durch x86- Vorherrschaft 46
47 RISC (2) Vergleich CISC - RISC: summe = a; summe = summe + b; summe = summe + c; summe = summe + d; x86 CISC mov eax,[a] add eax,[b] add eax,[c] add eax,[d] mov [s],eax MIPS RISC load R1,[a] load R2,[b] add R1,R1,R2 load R2, [c] add R1,R1,R2 load R2, [d] add R1,R1,R2 store R1, [s] 47
48 VLIW VLIW-Very Long Instruction Word Breites Befehlsformat, das mehrere unabhängige Befehle kodiert, die parallel auf den Funktionseinheiten des Prozessors ausgeführt werden Bündelung der Befehle erfolgt durch Compiler Original-VLIW ist starr bzgl. Anzahl und Art der Befehle Im wesentlichen bei Signalprozessoren und Multimediaprozessoren eingesetzt, typischerweise mit RISC-Konzept gekoppelt. EPIC-Technik (Explicitly Parallel Instruction Computing) hat sich aus Konzepten von VLIW entwickelt. 48
49 EPIC (1/4) Explicitly Parallel Instruction Computing: Explizite Spezifikation des Parallelismus im Maschinencode (wie VLIW, jedoch weniger starr) Bedingte Ausführung von Befehlen (Prediction) Spekulative Ausführung von Ladeoperationen (Data Speculation) Gruppierung von Befehlen zur parallelen Ausführung durch Zusammenwirken von Compiler und Hardware In IA-64 Architektur implementiert (Intel/HP). 49
50 EPIC (2/4) IA 64 Befehlsformat (41 Bit) Opcode Register1 Register2 Register3 Predicate 14 Bits 7 Bits 7 Bits 7 Bits 6 Bits IA 64 Befehle werden von Compiler in sogenannte Bundles gepackt Befehl 1 41 Bits Befehl 2 41 Bits 128 Bits Befehl 3 41 Bits Template 5 Bits Template zeigt an, ob Befehle gleichzeitig ausgeführt werden dürfen, oder ob benachbarte Bundles parallel ausgeführt werden können 50
51 Beispiel Itanium: Anstoßen der Befehle zur Ausführung Bundle 1 Slot 0 Slot 1 Slot 2 Bundle 2 Slot 0 Slot 1 Slot 2 Dynamische Zuordnung zur Laufzeit (Unterschied zu reinem VLIW) EPIC (3/4) Funktionseinheiten Mem0 Mem1 Integer0 Integer1 FPU0 FPU1 FPU2 Br0 Br1 Br2 Es können bis zu sechs Befehle je Takt zur Ausführung angestoßen werden 51
52 EPIC (4/4) Skalierbarkeit: Bei IA64 dürfen n Mengen von jeweils drei Befehlen gebündelt werden. Itanium: n=2, d.h. 6 Befehle Bundle-Codierung mit Raum für breitere EPIC-Realisierungen Der Code wird dichter, d.h. mehr Befehle werden in einer betrachteten Anzahl von Zyklen decodiert und ausgeführt Schwierigkeiten: Sprünge verhindern ausreichende Füllung der Bundles Wartezeiten auf Load-Operationen würden mehr Verluste bringen 52
53 EPIC Bedingte Befehlsausführung Beispiel (aus W. Karl: Rechnerarchitektur): if (R1==R2) R9 = R10 R11; else R5= R6 + R7; Bedingte Befehlsfolge: cmp.eq p1,p2 = r1, r2;; (p1) sub r9 = r10, r11 (p2) add r5 = r6, r7 Jeder Befehl hat ein Predicate-Feld (6Bit) zur Angabe des Predicate-Registers (z.b. P0 bis P63 vorhanden) Befehl wird ausgeführt, ohne das Ergebnis des Vergleichs zu kennen (Elimination von Sprüngen) In Phase Befehlsvervollständigung werden nur Ergebnisse jener Befehle zurück geschrieben, deren Prädikat zutrifft 53
54 EPIC Spekulatives Laden Vorziehen von Ladeoperationen Spekulation, um für Unterbrechungen korrekte Programmausführung zu erhalten bei einem Überschreiben der Speicherzelle aktuelle Inhalte nachzuladen Instr A Instr B Branch Store Ld8 r1=[r2] Instr (benutzt r1) Ladeoperation kann normalerweise nicht vor (einige) Store-Befehle und nicht vor Sprungbefehle gezogen werden. Ausweg: Spekulatives Laden Ld8.a r1=[r2] Instr A Instr B Branch Store chk.a Instr (benutzt r1) 54
55 SIMD Single Instruction Multiple Data (Klassifikation nach Flynn), d.h. ein Steuerwerk und mehrere Operationswerke, welche die gleichen Befehel durch mehrere Operationswerke parallel auf verschiedenen Daten ausführen. Heute ist SIMD-Prinzip als Erweiterung in Standardprozessoren enthalten. Nutzung breiter Register, Datenpfade (64/128 Bit) für parallele Speicherung, Verknüpfung und Transport kurzer Datentypen (8/16/32 Bit) Beispiele: Sun VIS Instruction Set (siehe SAD-Unterstützung) Intel MMX, Intel SSE (Streaming SIMD Extensions) Athlon 3D/NOW AltiVec (Motorola, PowerPC) 55
56 MMX: SIMD-Erweiterung für Pentium Prozessoren Spezielle Befehle für Multimedia- und Grafik-Algorithmen (z. B. MPEG-Kompression). Auch in RISC-Prozessoren zu finden (z. B. VIS beim Ultra Sparc) Konzept: Ein einzelner Befehl bearbeitet mehrere Daten in einem 64-Bit- Register gleichzeitig (z. B. 8 Byte oder 4 Worte à 16 Bit) MMX-Datentypen Es entsteht SIMD-Parallelarbeit, die vor allem für Multimedia-Anwendungen (8-Bit-Pixel, 16 Bit-Voice-Samples) gut genutzt werden kann 56
57 MMX-Befehlssatz Register: 8 FP-Register (64 oder 80 Bit) Insgesamt 57 Befehle Geschwindigkeitssteigerung von % für typische Multimedia- Anwendungen. 57
58 SSE (SIMD Streaming Extension) SSE-Register 70 zusätzliche Befehle für Multimedia-Anwendungen Eigener Satz von 8 Registern à 128 Bit, eigene Funktionseinheit SIMD-Operationen auch für Gleitkomma-Operanden Prefetch-Instruktionen (Memory Streaming) Leistungssteigerung bei MultimediaMark 99 von 29% gegenüber Pentium bei gleicher Taktfrequenz Weiterentwicklung für Pentium 4 zu SSE 2 (114 neue Befehle) 58
59 MMX Varianten der Arithmetik Arithmetik wahlweise im Wraparound-Modus: Unter- bzw. Überläufe werden abgeschnitten und nur die niederwertigen (dargestellten) Bits abgebildet F000h a2 a1 a h b2 b1 b0 2000h a2+b2 a1+b1 a0+b0 Saturations-Modus: Kein Überlauf oder Unterlauf, stattdessen Abbildung auf kleinste bzw. größte Werte. Sinnvoll z.b. bei Berechung einer Darstellungsfarbe F000h a2 a1 a h b2 b1 b0 FFFFh a2+b2 a1+b1 a0+b0 59
60 Anwendungsbeispiel Anwendungsbeispiel Sum of absolute Differences (SAD), eine zeitkritische Operation bei der Videokompression: SAD( dx, dy) y 0 N n y 0 1 x 0 N 1 m x 0 I K ( m, n) I K 1 ( m dx, n dy) Manipulation n,m Lade jeweils 8 aufeinanderfolgende Werte Absolute Differenzen für die 8 Werte Lade I K (m,n) bis I K (m+7,n) nach mm0 Lade I K-1 (m+dx,n+dy) bis I K-1 (m+dx+7,n+dy) nach mm1 MOVQ mm2, mm0 ; mm2 <-mm0 PSUBUSB mm0, mm1 ; mm0 <- mm0 - mm1 PSUBUSB mm1, mm2 ; mm1 <- mm1 mm2 POR mm0, mm1 MOVQ [esi], mm0 ADD esi, 8 Summierung der absoluten Differenzen j n,m-bereich durchlaufen? n 60
61 Leistungszuwachs Dokumentierter Leistungszuwachs durch MMX: Gewinn bei Übergang von skalarem C-Code zu MMX-Code RGB YUV Umwandlung: >10 Inverse DCT 2D 8x8: 3.5 Absolute Differences: 5 Matrix-Vektor-Multiplikation: 14.6 Geschwindigkeitsgewinn größer 8 u.a. durch Multiply-Add-Befehl Code wird von Prozessorherstellern (Intel, AMD) als so genannte Application Notes veröffentlicht 61
62 MMX, SSE - Weiterentwicklung SSE2: 2x64-Bit FloatingPoint, Zwischenergebnisse nur 64 Bit anstatt der 80 Bit bei 8087, schneller aber geringere Genauigkeit SSE3: horizontale Operationen arithmetische Operationen über Subwörter innerhalb eines Registers SSE4: Integer 2x32-zu-64 Bit Multiplikation ohne Überlauf, mehrfache Multiplikation und Aufsummieren (Skalarprodukt), MPSADBW-Befehl: Summe acht absoluter 8-Bit-Differenzen (SSE4.1) hardwareseitige CRC-32-Prüfsummenbildung (SSE 4.2), Stringverarbeitung (SSE 4.2) Angekündigt: AVX (Advanced Vector Extensions) mit 256 Bit SIMD-Mode 62
63 SIMD-Programmierung Möglichkeiten: Maschinensprache Inline-Assembling Nutzung von Bibliotheken, z.b. Small Matrix Library für SSE Compiler unterstützen teilweise SIMD-Erweiterungen Intel C++ Compiler ab Version 6: SIMD-Datentypen und Makros für MMX, SSE und SSE2 Vektorisierer für einfache Schleifen GNU C-Compiler: SIMD-Datentypen und Makros für MMX, SSE und 3DNow 63
Implementierung: Direkt abgebildeter Cache
Implementierung: Direkt abgebildeter Cache Direkt-abgebildeter Cache von 64 KB mit 16-Byte-Linien (Adress- und Wortlänge 32 Bit, Byteadressierung) Address (showing bit positions) 31 30 29 28..... 19 18
10. Rechnerarchitektur und Assemblerprogrammierung
10 Rechnerarchitektur und Assemblerprogrammierung Inhalt: Schichtenmodell Konvertierung zwischen Schichten Neue Funktionen in Hardware oder Software? Rechnerarchitektur Assemblersprache und Einbindung
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
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
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
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/
Umsetzung in aktuellen Prozessoren
Kapitel 8: Umsetzung in aktuellen Prozessoren 4 Realisierung elementarer Funktionen Reihenentwicklung Konvergenzverfahren 5 Unkonventionelle Zahlensysteme redundante Zahlensysteme Restklassen-Zahlensysteme
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
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:
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
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
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
Echtzeit Videoverarbeitung
Hardwareplattformen für Echtzeit Videoverarbeitung Herbert Thoma Seite 1 Gliederung Echtzeitanforderungen Prozessorarchitekturen Grundlagen Pipelining Parallele Befehlsausführung Systemkomponenten Speicher
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
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.
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
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
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:
CISC ( Complex Instruction Set Computer ) mächtige Instruktionssätze zur Unterstützung von Hochsprachenkonstrukten
Hochleistungs-CPUs 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 in hardware
2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16
2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 14. Okt. 2015 Computeraufbau: nur ein Überblick Genauer: Modul Digitale Systeme (2. Semester) Jetzt: Grundverständnis
Einführung in die technische Informatik
Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen
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
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
10. Rechnerarchitektur und Assemblerprogrammierung
10 Rechnerarchitektur und Assemblerprogrammierung Inhalt: Schichtenmodell Konvertierung zwischen Schichten Neue Funktionen in Hardware oder Software? Rechnerarchitektur Assemblersprache und Einbindung
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
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
Cache. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011
Cache Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Cache 1/53 2012-02-29 Einleitung Hauptspeicherzugriffe sind langsam die
Übung zu Einführung in die Informatik # 10
Übung zu Einführung in die Informatik # 10 Tobias Schill tschill@techfak.uni-bielefeld.de 15. Januar 2016 Aktualisiert am 15. Januar 2016 um 9:58 Erstklausur: Mi, 24.02.2016 von 10-12Uhr Aufgabe 1* a),
Grundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur ARM, x86 und ISA Prinzipien Übersicht Rudimente des ARM Assemblers Rudimente des Intel Assemblers ISA Prinzipien Grundlagen der Rechnerarchitektur Assembler 2 Rudimente
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
Teil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
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
L3. Datenmanipulation
L Datenmanipulation Aufbau eines Computers Prozessor, Arbeitsspeicher und system Maschinensprachen und Maschinenbefehle Beispiel einer vereinfachten Maschinensprache Ausführung des Programms und Befehlszyklus
Mikroprozessor als universeller digitaler Baustein
2. Mikroprozessor 2.1 Allgemeines Mikroprozessor als universeller digitaler Baustein Die zunehmende Integrationsdichte von elektronischen Schaltkreisen führt zwangsläufige zur Entwicklung eines universellen
Grundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur Einführung Unsere erste Amtshandlung: Wir schrauben einen Rechner auf Grundlagen der Rechnerarchitektur Einführung 2 Vorlesungsinhalte Binäre Arithmetik MIPS Assembler
Kap 4. 4 Die Mikroprogrammebene eines Rechners
4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).
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
4 Der Von-Neumann-Rechner als Grundkonzept für Rechnerstrukturen
4 Der Von-Neumann-Rechner als Grundkonzept für Rechnerstrukturen Ein Rechner besteht aus den folgenden Bestandteilen: Rechenwerk Rechenoperationen wie z.b. Addition, Multiplikation logische Verknüpfungen
Einführung in die Programmierung mit C++
Seite 1 Einführung in die Programmierung mit C Teil IV - Weiterführende Themen 16. SIMD Programmierung Was bedeutet SIMD Seite SIMD Single-Instruction, Multiple-Data, also eine Instruktion, mehrere Daten
Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit)
Der Demo-Computer besitzt einen 4Bit-Mikroprozessor. Er kann entsprechend Wörter mit einer Breite von 4 Bits in einem Schritt verarbeiten. Die einzelnen Schritte der Abarbeitung werden durch Lampen visualisiert.
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
Echtzeit-Multitasking
Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme
Philipp Grasl PROZESSOREN
1 PROZESSOREN INHALTSVERZEICHNIS Definition/Verwendung Prozessor Historische Entwicklung Prozessor Aufbau Prozessor Funktionsweise Prozessor Steuerung/Maschinenbefehle Prozessorkern Prozessortakt 2 DEFINITION
Die Sandy-Bridge Architektur
Fakultät Informatik - Institut für Technische Informatik - Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Die Sandy-Bridge Architektur René Arnold Dresden, 12. Juli 2011 0. Gliederung 1.
Teil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
CISC-RISC-EPIC. eine Zwangs-Evolution?! Jörg Spilling - DECUS Frankfurter Treffen Seite: 1
CISC-RISC-EPIC eine Zwangs-Evolution?! Jörg Spilling - DECUS Frankfurter Treffen 2008 www.equicon.de Seite: 1 Heutiges Programm: CISC-RISC-EPIC - Begriffserklärung von Neumann Rechnerarchitektur Evolution
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
Institut für Informatik Prof. Dr. D. Hogrefe Dipl.-Inf. R. Soltwisch, Dipl.-Inform. M. Ebner, Prof. Dr. D. Hogrefe Informatik II - SS 04.
Kontrollstrukturen Informatik II SS 2004 Teil 4: Assembler Programmierung Sprünge (bedingte und unbedingte) If-then-else, Case Loop (n Durchläufe) While (Abbruchbedingung) Institut für Informatik Prof.
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
Paging. Einfaches Paging. Paging mit virtuellem Speicher
Paging Einfaches Paging Paging mit virtuellem Speicher Einfaches Paging Wie bisher (im Gegensatz zu virtuellem Speicherkonzept): Prozesse sind entweder ganz im Speicher oder komplett ausgelagert. Im Gegensatz
11.0 Rechnerarchitekturen
11.0 Rechnerarchitekturen Die Ziele dieses Kapitels sind: Kennen lernen der Rechnerklassifikation nach Flynn Betrachtung von Prozessorarchitekturen auf verschiedenen Abstraktionsebenen - Befehlsarchitektur
Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor.
Rechnerstrukturen 6. System Systemebene 1 (Monoprozessor) 2-n n (Multiprozessor) s L1- in der L2- ( oder Motherboard) ggf. L3- MMU Speicher Memory Controller (Refresh etc.) E/A-Geräte (c) Peter Sturm,
Rechnergrundlagen SS 2007. 11. Vorlesung
Rechnergrundlagen SS 2007 11. Vorlesung Inhalt Evaluation der Lehre (Auswertung) Synchroner/asynchroner Systembus Kontrollfluss/Datenfluss RISC vs. CISC Speicherhierarchie Cache Lesen Schreiben Überschreiben
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
4.2 Verbesserung der Leistungsfähigkeit von Caches
12 4.2 Verbesserung der Leistungsfähigkeit von Caches Peter Marwedel Informatik 12 TU Dortmund 2014/05/02 Cache-Performanz Bewertungsmaß für die Leistungsfähigkeit einer Speicherhierarchie: Mittlere Zugriffszeit
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
Rechneraufbau und Rechnerstrukturen
Rechneraufbau und Rechnerstrukturen von Walter Oberschelp RWTH Aachen und Gottfried Vossen Universität Münster 10. Auflage c 2006 R. Oldenbourg Verlag GmbH, München Inhaltsverzeichnis Auszug... x... aus
Inhaltsverzeichnis 1 Grundlagen Grundlegende Prozessortechniken...16
Inhaltsverzeichnis 1 Grundlagen...1 1.1 Mikroprozessoren, Mikrocontroller, Signalprozessoren und SoC...1 1.2 PC-Systeme...3 1.3 Eingebettete und ubiquitäre Systeme...5 1.4 Leistungsmessung und Leistungsvergleich...11
Technische Informatik II Wintersemester 2002/03 Sommersemester 2001. Heiko Holtkamp Heiko@rvs.uni-bielefeld.de
Technische Informatik II Wintersemester 2002/03 Sommersemester 2001 Heiko Holtkamp Heiko@rvs.uni-bielefeld.de Speicher ist eine wichtige Ressource, die sorgfältig verwaltet werden muss. In der Vorlesung
Computergrundlagen Geschichte des Computers
Computergrundlagen Geschichte des Computers Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 1641: Rechenmaschine von B. Pascal B. Pascal, 1632-1662 mechanische Rechenmaschine
Grundlagen der Informatik
Grundlagen der Informatik Logische und mathematische Grundlagen Digitale Daten Computerprogramme als Binärdaten von Neumann-Rechnerarchitektur Einführung in Maschinen-Code Speicherorganisation Betriebssysteme
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
Aufbau und Funktionsweise eines Computers
Aufbau und Funktionsweise eines Computers Thomas Röfer Hardware und Software von Neumann Architektur Schichtenmodell der Software Zahlsysteme Repräsentation von Daten im Computer Hardware Prozessor (CPU)
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
Computer-Architektur Ein Überblick
Computer-Architektur Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur Ein Überblick p.1/27 Computer-Aufbau: Motherboard Computer-Architektur Ein Überblick p.2/27
Heute nur MIPS-Praxis (4 Aufgaben)
Themen heute Heute nur MIPS-Praxis (4 Aufgaben) Hinweis: Diese Aufgaben findet ihr auf den Übungsblättern zu den Tutorien (bei Aufgabe 4 wurde eine Teilaufgabe und im Tutorium #6 bereits geklärte Wissensfragen
Hardware Praktikum 2008
HaPra 2008 - Versuchsreihe 5 - ALU Hardware Praktikum 2008 Prof. Dr. H.-J. Wunderlich Dipl.-Inf. M. Imhof Dipl.-Inf. S. Holst Agenda Die HaPra-CPU Eine kleine Übersicht VHDL Projekt-Organisation Entwurf
Programmierung Paralleler Prozesse
Vorlesung Programmierung Paralleler Prozesse Prof. Dr. Klaus Hering Sommersemester 2007 HTWK Leipzig, FB IMN Sortierproblem Gegeben: Menge M mit einer Ordnungsrelation (etwa Menge der reellen Zahlen) Folge
(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl
Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112
Inhaltsverzeichnis. Vorwort...VII. Vorwort zur 2. Auflage... IX. Inhaltsverzeichnis... XI
Vorwort...VII Vorwort zur 2. Auflage... IX Inhaltsverzeichnis... XI 1 Grundlagen...1 1.1 Mikroprozessoren, Mikrocontroller, Signalprozessoren und SoC...1 1.2 PC-Systeme...3 1.3 Eingebettete und ubiquitäre
Teil 2: Rechnerorganisation
Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung
Technische Informatik 2 Speichersysteme, Teil 3
Technische Informatik 2 Speichersysteme, Teil 3 Prof. Dr. Miroslaw Malek Sommersemester 2004 www.informatik.hu-berlin.de/rok/ca Thema heute Virtueller Speicher (Fortsetzung) Translation Lookaside Buffer
Technische Informatik I, SS 2001
Technische Informatik I SS 2001 PD Dr. A. Strey Abteilung Neuroinformatik Universität Ulm Inhalt Einführung: Überblick über die historische Entwicklung der Rechnerhardware Teil 1: Digitale Logik kurzer
3. Rechnerarchitektur
ISS: EDV-Grundlagen 1. Einleitung und Geschichte der EDV 2. Daten und Codierung 3. Rechnerarchitektur 4. Programmierung und Softwareentwicklung 5. Betriebssyteme 6. Internet und Internet-Dienste 3. Rechnerarchitektur
Grundlagen der Rechnerarchitektur. Ein und Ausgabe
Grundlagen der Rechnerarchitektur Ein und Ausgabe Übersicht Grundbegriffe Hard Disks und Flash RAM Zugriff auf IO Geräte RAID Systeme SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 2 Grundbegriffe
Kapitel VI. Speicherverwaltung. Speicherverwaltung
Kapitel VI Speicherverwaltung 1 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern (1 oder mehrere Bytes) Jedes Wort hat eine eigene
Arithmetische und Logische Einheit (ALU)
Arithmetische und Logische Einheit (ALU) Enthält Blöcke für logische und arithmetische Operationen. n Bit Worte werden mit n hintereinander geschalteten 1 Bit ALUs bearbeitet. Steuerleitungen bestimmen
Shangrila. One Instruction Set Computer
Shangrila One Instruction Set Computer Outline One Instruction Set Computer Die Idee Funktion Die Machine Shangrila VM Interfaces Tools Implementation Status & Zukunft OISC >> Die Idee CPU mit nur einer
moderne Prozessoren Jan Krüger jkrueger@techfak.uni-bielefeld.de
moderne Prozessoren Jan Krüger jkrueger@techfak.uni-bielefeld.de Übersicht FachChinesisch SPARC - UltraSparc III/IV PowerPC - PowerPC 970(G5) X86 - Pentium4(Xeon), Itanium, (Pentium M) X86 - AthlonXP/MP,
Assembler - Einleitung
Assembler - Einleitung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Einleitung 1/19 2008-04-01 Teil 1: Hochsprache
Raytracing auf Desktop PCs Optimizing Cache Usage (Intel Corp.)
Raytracing auf Desktop PCs Optimizing Cache Usage (Intel Corp.) von Martin Stöcker Motivation Geschwindigkeit der Prozessoren verdoppelt sich alle 18 Monate (Moore s Law) Geschwindigkeit des Speichers
Einführung (1) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München
Einführung (1) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (2) Architektur des Haswell- Prozessors (aus c t) Einführung
Digital Design Entwicklung der DRAMs. Richard Roth / FB Informatik und Mathematik Speicher 1
Entwicklung der DRAMs Richard Roth / FB Informatik und Mathematik Speicher 1 Entwicklung der DRAMs in Zukunft Richard Roth / FB Informatik und Mathematik Speicher 2 DRAM Speicherzelle (Trench Technology)
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
Grundlagen der Informatik III Wintersemester 2010/2011
Grundlagen der Informatik III Wintersemester 2010/2011 Wolfgang Heenes, Patrik Schmittat 6. Aufgabenblatt mit Lösungsvorschlag 06.12.2010 Hinweis: Der Schnelltest und die Aufgaben sollen in den Übungsgruppen
MikroController und Mikroprozessoren
Uwe Brinkschulte Theo Ungerer MikroController und Mikroprozessoren 2. überarbeitete Auflage Mit 212 Abbildungen und 41 Tabellen Springer Inhaltsverzeichnis Vorwort Vorwort zur 2. Auflage Inhaltsverzeichnis
Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13
UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 4 Cache el0100 copyright W.
Java-Prozessoren. Die Java Virtual Machine spezifiziert... Java Instruktions-Satz. Datentypen. Operanden-Stack. Konstanten-Pool.
Die Java Virtual Machine spezifiziert... Java Instruktions-Satz Datentypen Operanden-Stack Konstanten-Pool Methoden-Area Heap für Laufzeit-Daten Class File Format 26 Die Java Virtual Machine Java Instruktions-Satz
Assembler-Programme. Systemprogrammierung (37-023) Elementare Komponenten eines Assembler-Programmes
Systemprogrammierung (37-023) Assemblerprogrammierung Betriebssystemgrundlagen Maschinenmodelle Dozent: Prof. Thomas Stricker krankheitshalber vertreten durch: Felix Rauch WebSite: http://www.cs.inf.ethz.ch/37-023/
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
Tutorium Rechnerorganisation
Woche 10 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
Convey, Hybrid-Core Computing
Convey, Hybrid-Core Computing Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik HWS 09 Universität Mannheim Markus Müller 1 Inhalt Hybrid-Core Computing? Convey HC-1 Überblick
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
ZENTRALEINHEITEN GRUPPE
31. Oktober 2002 ZENTRALEINHEITEN GRUPPE 2 Rita Schleimer IT für Führungskräfte WS 2002/03 1 Rita Schleimer TEIL 1 - Inhalt Zentraleinheit - Überblick Architekturprinzipien Zentralspeicher IT für Führungskräfte
Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft
Prozeß: drei häufigste Zustände Prozeß: anatomische Betrachtung jeder Prozeß verfügt über seinen eigenen Adreßraum Sourcecode enthält Anweisungen und Variablen Compiler überträgt in Assembler bzw. Binärcode
Inhalt. Prozessoren. Curriculum Manfred Wilfling. 28. November HTBLA Kaindorf. M. Wilfling (HTBLA Kaindorf) CPUs 28. November / 9
Inhalt Curriculum 1.4.2 Manfred Wilfling HTBLA Kaindorf 28. November 2011 M. Wilfling (HTBLA Kaindorf) CPUs 28. November 2011 1 / 9 Begriffe CPU Zentraleinheit (Central Processing Unit) bestehend aus Rechenwerk,
IT für Führungskräfte. Zentraleinheiten. 11.04.2002 Gruppe 2 - CPU 1
IT für Führungskräfte Zentraleinheiten 11.04.2002 Gruppe 2 - CPU 1 CPU DAS TEAM CPU heißt Central Processing Unit! Björn Heppner (Folien 1-4, 15-20, Rollenspielpräsentation 1-4) Harald Grabner (Folien
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 11.01.2017 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, historische Entwicklung, unterschiedliche Arten von Betriebssystemen
Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines
Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University,
Architektur paralleler Plattformen
Architektur paralleler Plattformen Freie Universität Berlin Fachbereich Informatik Wintersemester 2012/2013 Proseminar Parallele Programmierung Mirco Semper, Marco Gester Datum: 31.10.12 Inhalt I. Überblick