Was bringt der Merced?
|
|
- Catrin Erica Lang
- vor 6 Jahren
- Abrufe
Transkript
1 Was bringt der Merced? Die Prozessorarchitektur IA-64 Bernd Däne TU Ilmenau, Fakultät I/A Tel.:
2 Gliederung 1. Merced - Itanium - IA Die Vorgeschichte 3. Der neue Ansatz 4. Die Details 5. Die Zukunft 6. Die Anderen 7. Literatur und Web Hinweis: Eingetragene Warenzeichen sind Eigentum der jeweiligen Firmen. Die Programmbeispiele beruhen auf Veröffentlichungen der Intel Corp. Bernd Däne Was bringt der "Merced"? 2
3 1. Merced - Itanium - IA-64 Merced : Deckname für Intel s 64-bit-Projekt Schon lange bekannt, aber wenig Infos IA-64 : Bezeichnung des Programmiermodells Seit Mai 1999 vollständig veröffentlicht Itanium : Offizieller Name des ersten Prozessors Partielle Vorstellung im Oktober 1999 Bernd Däne Was bringt der "Merced"? 3
4 2. Die Vorgeschichte Desktop-Systeme: Intel-Familie: PC (großer Marktanteil) Motorola-Familie: Mac (kleinerer Marktanteil) Server und High-End-Workstations: Alternative Architekturen (Nische, abnehmend) Desktop-Familien (zunehmend) Eingebettete Systeme: Große Vielfalt (Mikrocontroller, Digitale Signalprozessoren, Ableittypen aus Desktop-Familien) Bernd Däne Was bringt der "Merced"? 4
5 Intel-Familie und Motorola-Familie Intel Motorola 8086 IA Erster 16-Bit-Typ Erweitertes Speichermodell 16/32 Bit 680x0 32 Bit IA-32 i386 Erster 32-Bit-Typ i486 Cache und FPU intern Pentium 2-fach Superskalar Pentium Pro Out-Of-Order Execution Pentium II, III, III/E Weitere Optimierungen PowerPC 32(64) Bit G1 G2 G3 G Bernd Däne Was bringt der "Merced"? 5
6 Nachteile der Architektur IA-32 Komplexes Programmiermodell Befehle mit sehr unterschiedlichem Funktionsumfang Viele Ausnahmen und Irregularitäten Komplizierte Befehlscodes Unterschiedliche Länge (1 bis 14 Bytes) Viele verschiedene Formate Sehr wenig Register Komplizierte Speicherverwaltung Schwierige Optimierung von Mikroarchitektur und Compilern Bernd Däne Was bringt der "Merced"? 6
7 3. Der neue Ansatz 8086 IA-16 IA Bit- Befehle (abgeleitet aus HP's PA-RISC) Emulation 32 Bit CISC 64 Bit RISC IA-64 Bernd Däne Was bringt der "Merced"? 7
8 Kompatibilität bei IA Bit-Applikation und 64-Bit-OS: o.k. 16/32-Bit-Applikation und 64-Bit-OS: binärkompatibel, falls vom OS unterstützt 16/32-Bit-Applikation und 16/32-Bit-OS: binärkompatibel mit Zusatzsoftware Bernd Däne Was bringt der "Merced"? 8
9 CISC und RISC CISC RISC Complex Instruction Set Computing Reduced Instruction Set Computing Einfache und komplexe Befehle Heterogener Befehlssatz Verschiedene Taktzahl pro Befehl Viele Befehlscode-Formate mit unterschiedlicher Länge Nur einfache Befehle Orthogonaler Befehlssatz Meist 1 Takt pro Befehl Wenige Befehlscode-Formate mit einheitlicher Länge Bernd Däne Was bringt der "Merced"? 9
10 4. Die Details Explizite Parallelität auf Befehlsniveau Intel: EPIC (Explicitly Parallel Instruction Computing) Welt: VLIW (Very Large Instruction Word) Massive Ressourcen Umfangreicher Registersatz Zahlreiche Ausführungseinheiten und Speicherports Prädikatierung Spekulative Ausführung Skalierbarkeit Bernd Däne Was bringt der "Merced"? 10
11 Vereinfachtes Blockschaltbild Level-1 Befehls-Cache + Warteschlange Sprung- Vorhersage Befehls- Ausgabe F F I I M M B B B Registermaschine (Stack, Rotation) IA32- Dekoder Level-2 Cache Prädikate, NaTs FP-Register Floating- Point- Einheiten Level-1 Daten- Cache Allg. Register Integer- Einheiten Branch-Reg. Branch- Einheiten Level-3 Cache Bus-Steuerung Bernd Däne Was bringt der "Merced"? 11
12 Parallelität auf Befehlsniveau Superskalar mit Out-Of-Order EPIC bzw. VLIW Scheduler Bernd Däne Was bringt der "Merced"? 12
13 Merkmale von EPIC bzw. VLIW Kein Struktur- und Zeitaufwand im Prozessor zur Extraktion von Parallelität Compiler sieht größeres Codefenster und kann effektiver optimieren Auflösung von Daten- und Ressourcenkonflikten bereits zur Übersetzungszeit Schlechtere Performance bei wechselnden Operations- und Speicherlatenzen Keine Kompatibilität zu früheren Befehlssätzen möglich Bernd Däne Was bringt der "Merced"? 13
14 Registersatz 128 Allgemeine Register NaT Statische Register IA32- Register Register- Stack (zusätzlich rotierbar) Gleitkomma- Register 128 Statisch Rotierbar 1 64 Prädikate Branch- Register 64 Befehls- Zähler 64 Rahmen- Zeiger 38 8 Rotierbare Register Applikationsregister (Spezialfunktionen) Prozessor-Ident-Register Performance-Monitor-Register weitere Bernd Däne Was bringt der "Merced"? 14
15 Arbeitsweise des Registerstacks GR32 GR32 Lokal A Lokal A GR37 GR38 GR41 Output A GR32 GR35 Output B' GR32 Lokal B GR37 GR38 GR41 Output A GR40 GR41 GR43 Output B Prozedur A Prozedur B Prozedur B Prozedur A call Proz_B alloc 4,5,3,0 return Bernd Däne Was bringt der "Merced"? 15
16 Beispiel zur Prädikatierung (1) Quelltext Ablaufgraph if (a[i] == 0) c[i] = b1[i]; else c[i] = b2[i]; i++; if (a[i] == 0) 1 0 c[i]=b1[i] c[i]=b2[i] i++ Bernd Däne Was bringt der "Merced"? 16
17 Beispiel zur Prädikatierung (2) Traditionell Prädikatiert Load x=a[i] Compare (x==0) Load x=a[i] Comp p1,p2=(x==0) Branch if False Load y=b1[i] Store c[i]=y Branch Load y=b2[i] Store c[i]=y <p1> Load y=b1[i] Store c[i]=y Add i+=1 <p2> Load y=b2[i] Add i+=1 Bernd Däne Was bringt der "Merced"? 17
18 Spekulativer Speicherzugriff (1) Laden bei Bedarf Spekulatives Laden Trennung von Laden und Ausnahmebehandlung Load y=b[i] Load.s y=b[i] Comp p=(...) Comp p=(...) Comp p=(...) <p> Load y=b[i] <p> Store y <p> Check.s y Speicherlatenz... <p> Store y <p> Store y Bernd Däne Was bringt der "Merced"? 18
19 Spekulativer Speicherzugriff (2) Resultierender Code für das Beispiel: Load x=a[i] Load.s y1=b1[i] Load.s y2=b2[i] Comp p1,p2=(x==0) <p1> Check.s y1 <p1> Store c[i]=y1 <p2> Check.s y2 <p2> Store c[i]=y2 Add i+=1 Bernd Däne Was bringt der "Merced"? 19
20 Schleife entrollen: Beispiel Quelltext Ablaufgraph int a[s1][s2],b[s3]; int fit(i,j) int i,j; { int k; for (k=0;k<size;k++) if (a[i][k]) if (b[j+k]) return (FALSE); return(true); } if ( b[j+k]!= 0 ) 1 0 k = 0 if ( a[i][k]!= 0 ) 1 0 k++ if ( k < SIZE ) return(false) return(true) 0 1 Bernd Däne Was bringt der "Merced"? 20
21 Schleife entrollen: Erstes if Zyklus Einheit I+M I+M I I B B prolog: a_poi = &a[i][0]; Load x = *a_poi p1 = Comp (x!= 0) Add a_poi += 4 Bernd Däne Was bringt der "Merced"? 21
22 Schleife entrollen: Zweites if Zyklus Einheit I+M I+M I I B B prolog: a_poi = &a[i][0]; b_poi = &b[j]; p2 = false; 1 2 Load x = *a_poi Load.s y = *b_poi Add a_poi += 4 Add b_poi += p1 = Comp (x!= 0) <p1> p2 = Comp (y!= 0 ) <p1> Check.s y <p2> Branch to ret_0 ret_0: return(false); Bernd Däne Was bringt der "Merced"? 22
23 Schleife entrollen: Zähler Zyklus Einheit I+M I+M I I B B prolog: a_poi = &a[i][0]; b_poi = &b[j]; p2 = false; k = 0; 1 2 L_1: Load x = *a_poi Load.s y = *b_poi Add a_poi += 4 Add b_poi += p1 = Comp (x!= 0) <p1> p2 = Comp (y!= 0 ) Add k += 1 <p1> Check.s y p3 = Comp (k >= SIZE) <p2> Branch to ret_0 <p3> Branch to ret_1 Branch to L_1 ret_1: return(true); ret_0: return(false); Bernd Däne Was bringt der "Merced"? 23
24 Schleife entrollen: Durchlauf Zwei Zyklus Einheit I+M I+M I I B B prolog: a_poi = &a[i][0]; b_poi = &b[j]; p2 = false; k = 0; L_1: Load x = *a_poi Load.s x2 = *a_poi p1 = Comp (x!= 0) <p1> p2 = Comp (y!= 0 ) Check.s x2 Load.s y = *b_poi Add k += 1 <p1> Check.s y Add a_poi += 4 Add a_poi += 4 p3 = Comp (k >= SIZE) Add b_poi += 4 p4 = Comp (x2!= 0) <p2> Branch to ret_0 <p3> Branch to ret_1 Branch to L_1 ret_1: return(true); ret_0: return(false); Bernd Däne Was bringt der "Merced"? 24
25 Schleife entrollen: Fertig Zyklus Einheit I+M I+M I I B B prolog: a_poi = &a[i][0]; b_poi = &b[j]; p2 = false; k = 0; p5 = false; L_1: Load x = *a_poi Load.s x2 = *a_poi p1 = Comp (x!= 0) <p1> p2 = Comp (y!= 0 ) Check.s x2 Load.s y = *b_poi Load.s y2 = *b_poi Add k += 2 <p1> Check.s y <p4> Check.s y2 Add a_poi += 4 Add a_poi += 4 p3 = Comp (k >= SIZE+1) <p4> p5 = Comp (y2!= 0) Add b_poi += 4 Add b_poi += 4 p4 = Comp (x2!= 0) p6 = Comp (k < SIZE) <p2> Branch to ret_0 <p5> Branch to ret_0 <p3> Branch to ret_1 <p6> Branch to L_1 ret_1: return(true); ret_0: return(false); Bernd Däne Was bringt der "Merced"? 25
26 Das erste Foto Das Foto ist aus rechtlichen Gründen leider nicht enthalten. Sie finden es im Internet: ftp://download.intel.com/pressroom/images/news/dp83199x.tif Bernd Däne Was bringt der "Merced"? 26
27 5. Die Zukunft Markteinführung vermutlich Mitte 2000 IA-64 zunächst nur für High-End IA-32 wird fortgesetzt (Intel und andere) Betriebssysteme für IA-64: Win (Microsoft) Linux Monterey (IBM), Solaris (SUN),... Migration der Applikationen: langsam (?) Bernd Däne Was bringt der "Merced"? 27
28 Intel s Roadmap Performance IA-64 IA-32 Itanium Foster McKinley Madison künftige IA-32 Deerfield Willamette Coppermine Bernd Däne Was bringt der "Merced"? 28
29 6. Die Anderen AMD: SledgeHammer (Architektur: x86-64 ) Motorola: G4+ (32 Bit), G5 (32+64 Bit) IBM: Power 4 (2 Cores/Chip, 4 Chips/Modul) Compaq/Digital: Alpha EV8 (4-way SMT) SUN: Sparc64 V (superspekulativ) Transmeta:??? (x86-zu-vliw - Konverter?) Bernd Däne Was bringt der "Merced"? 29
30 AMD s Projekt x86-64 IA-32 x86-64 K5 K6 Athlon (K7) Sledge Hammer Prinzip: direkte Erweiterung von IA-32 Wenig Aufwand Volle Abwärtskompatibilität Nachteile von IA-32 bleiben erhalten Inkompatibel zu IA-64 Bisher wenig Info Bernd Däne Was bringt der "Merced"? 30
31 Simultaneous Multithreading (SMT) Befehle Dekoder Befehle Befehle Dekoder Dekoder Ausführungseinheiten Ausführungseinheiten Superskalar SMT Bernd Däne Was bringt der "Merced"? 31
32 Superspekulative Prozessoren Spekulation zum Steuerfluss: Mehrstufige Sprungvorhersage (Trace-Analyse) Spekulation zum Register-Datenfluss: Vorhersage von Datenunabhängigkeiten Vorhersage von Operationsergebnissen ( value stride prediction ) Spekulation zum Speicher-Datenfluss: Vorhersage von Lade-Adressen Vorhersage von Alias-Zugriffen Bernd Däne Was bringt der "Merced"? 32
33 Beispiel zur Superspekulation... 5x PUSH... LOAD MUL... POP JUMPcond cond: ja ja ja ja nein... adr: adr: result: adr: const! stride! stride! alias! const! Bernd Däne Was bringt der "Merced"? 33
34 7. Literatur und Web ftp://download.intel.com/design/ia64/ Intels Weg zu 64 Bit. In: c t 12/99, S Titanomachie. In: c t 22/99, S The IA-64 Architecture at Work. In: IEEE Computer 7/98, S Billion-Transistor Architectures. In: IEEE Computer 9/97, S. 46 Dieser Foliensatz: Bernd Däne Was bringt der "Merced"? 34
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/
MehrDIGITALE 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
MehrTeil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
MehrInstruktionssatz-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
MehrMikroController und Mikroprozessoren
Uwe Brinkschulte Theo Ungerer MikroController und Mikroprozessoren Mit 205 Abbildungen und 39 Tabellen Springer Inhaltsverzeichnis 1 Grundlagen 1 1.1 Mikroprozessoren, MikroController, Signalprozessoren
MehrMikrocontroller und Mikroprozessoren
Uwe Brinkschulte Theo Ungerer Mikrocontroller und Mikroprozessoren 3. Auflage 4y Springer Inhaltsverzeichnis Vorwort Vorwort zur 2. Auflage Vorwort zur 3. Auflage Inhaltsverzeichnis VII IX XI XIII 1 Grundlagen
MehrCPU-Technik. Stand der Technik, Trends und Entwicklungen. Vortrag im Informatikseminar WS 2000/2001. (C) 2000 Heiko Panther
CPU-Technik Stand der Technik, Trends und Entwicklungen Vortrag im Informatikseminar WS 2000/2001 (C) 2000 Heiko Panther heikop@mac.com Inhalt 1. CISC und RISC 2. Vektorrecheneinheiten 3. VLIW 4. Weitere
MehrCISC ( 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
Mehrfrü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
MehrKap.2 Befehlsschnittstelle. Prozessoren, externe Sicht
Kap.2 Befehlsschnittstelle Prozessoren, externe Sicht 2 Befehlsschnittstelle 2.1 elementare Datentypen, Operationen 2.2 logische Speicherorganisation 2.3 Maschinenbefehlssatz 2.4 Klassifikation von Befehlssätzen
Mehrnutzt heute Diese Prinzipien werden wir im Kapitel 3 behandelt Lehrstuhl für Informatik 3 - D. Fey Vorlesung GRa - SS
3.1 Einführung (1) Nahezu jeder Prozessor in einem Desktop-Rechner (der auf oder unter dem Tisch steht) und in einem Server- Rechner (auf dem man sich von der Ferne einloggt und dort rechnet) nutzt heute
MehrMikroprozessor 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
MehrRechnernetze und Organisation
RISC 1 Übersicht Motivation RISC-Merkmale RISC-Instruktionsformat Pipelining Sparc, MIPS, Arm, PowerPC 2 Motivation Warum RISC Compiler nutzen komplexe CISC-Instruktionen kaum Nur 80% der Instruktionen
MehrTechnische Grundlagen der Informatik 2 SS Einleitung. R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt E-1
E-1 Technische Grundlagen der Informatik 2 SS 2009 Einleitung R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt Lernziel E-2 Verstehen lernen, wie ein Rechner auf der Mikroarchitektur-Ebene
MehrInstitut 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.
MehrVorstellung der SUN Rock-Architektur
Fakultät Informatik Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Vorstellung der SUN Rock-Architektur Hauptseminar Ronald Rist Dresden, 14.01.2009
MehrInhalt. 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,
MehrTeil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
MehrL3. Datenmanipulation
L Datenmanipulation Aufbau eines Computers Prozessor, Arbeitsspeicher und system Maschinensprachen und Maschinenbefehle Beispiel einer vereinfachten Maschinensprache Ausführung des Programms und Befehlszyklus
MehrTeil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
MehrTechnische 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
MehrDie 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.
Mehrmoderne 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,
MehrItanium 2. Götz Becker Lehrstuhl für Rechnerarchitektur
1 Itanium 2 Götz Becker Lehrstuhl für Rechnerarchitektur 2 Übersicht Einführung in die Itanium Architektur Besonderheiten der Architektur Beispiele für deren Anwendung Mikro-Architektur des Itanium 2 Compiler
MehrVorlesung 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
MehrTeil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
MehrMikroprozessoren. 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
MehrGrundlagen der Rechnerarchitektur. Einführung
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
MehrImplementierung: 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
MehrArbeitsfolien - 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
MehrUmsetzung in aktuellen Prozessoren
Kapitel 8: Umsetzung in aktuellen Prozessoren 4 Realisierung elementarer Funktionen Reihenentwicklung Konvergenzverfahren 5 Unkonventionelle Zahlensysteme redundante Zahlensysteme Restklassen-Zahlensysteme
MehrMikrocontroller und Mikroprozessoren
examen.press Mikrocontroller und Mikroprozessoren Bearbeitet von Uwe Brinkschulte, Theo Ungerer überarbeitet 2007. Taschenbuch. XVI, 453 S. Paperback ISBN 978 3 540 46801 1 Format (B x L): 15,5 x 23,5
MehrSeminar Parallele Rechnerarchitekturen SS04 \ SIMD Implementierung aktueller Prozessoren 2 (Dominik Tamm) \ Inhalt. Seite 1
\ Inhalt Seite 1 \ Inhalt SIMD Kurze Rekapitulation 3Dnow! (AMD) AltiVec (PowerPC) Quellen Seite 2 \ Wir erinnern uns: Nach Flynn s Taxonomie kann man jeden Computer In eine von vier Kategorien einteilen:
MehrIA64 vs x86 64. Felix von Leitner felix-ccc@fefe.de. 28. Dezember 2002
Felix von Leitner felix-ccc@fefe.de 28. Dezember 2002 Zusammenfassung Was sollte man als Assembler-Hacker über IA64 und X86 64 wissen? IA64 vs x86 64 Einführung Prozessoren arbeiten auf Befehlsebene. Bei
MehrRechnernetze und Organisation
Pentium 1 Übersicht Motivation Architektur Instruktions-Set Adressierungsarten Geschichte Verbesserung und Erweiterungen 2 Motivation Verständnis von Prozessoren: Warum Pentium statt kleiner CPU? Pentium
Mehr1 Maschinenunabhängige Optimierungen. Maschinenunabhängige Optimierungen Wintersemester 2008/09 1 / 17
1 Maschinenunabhängige Optimierungen Maschinenunabhängige Optimierungen Wintersemester 2008/09 1 / 17 Optimierungen Automatische Optimierungen sind nötig, weil unoptimierter Code meist besser lesbar ist.
MehrGrundlagen 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
MehrTECHNISCHE 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
MehrH. Intel x86 CPU. Höhere Informatik. Systemprogrammierung: - Betriebssystemkonzepte, Ein- & Ausgabe
H. Intel x86 CPU Historische Entwicklung des x86 Registersatzes. Complex Instruction Set Computer (CISC), Deskriptoren & Adressierung, Cacheausstattung. Höhere Informatik Systemprogrammierung: - Betriebssystemkonzepte,
MehrKode-Erzeugung für Registersatz-Maschinen
Kode-Erzeugung für Registersatz-Maschinen Die meisten Maschinen sind heutzutage Registersatzmaschinen, die einen Satz von 16-32 Universalregistern besitzen. Üblich sind Dreiadress-Befehle OP DEST, SRC1,
MehrCodesigned Virtual Machines
Codesigned Virtual Machines Seminar Virtualisierung Philipp Kirchhofer philipp.kirchhofer@student.kit.edu Institut für Technische Informatik Lehrstuhl für Rechnerarchitektur Universität Karlsruhe (TH)
MehrDie 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.
MehrInhaltsverzeichnis 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
MehrKapitel 11 RISC-Rechner
Kapitel 11 - RISC-Rechner Seite 219 Kapitel 11 RISC-Rechner (reduced instruction set computer, RISC) 11.1. Einleitung In den Achtzigerjahren änderten sich die Randbedingungen für Rechner: Hardware wurde
MehrRechneraufbau und Rechnerstrukturen
Rechneraufbau und Rechnerstrukturen von Prof. Dr. em. Walter Oberschelp, RWTH Aachen und Prof. Dr. Gottfried Vossen, Universität Münster 9. Auflage Oldenbourg Verlag München Wien Inhaltsverzeichnis Vorwort
MehrProzessor- und Rechnerarchitekturen (Master)
Prozessor- und Rechnerarchitekturen (Master) Themen am 28.06.17: Semesterrückblick, Terminplanung Ihrer Vorträge ProRecArc17_V10 Ulrich Schaarschmidt HS Düsseldorf, SS 2017 V1 (5.4.): Termine + mögliche
MehrInstruktionen 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
MehrIntel 80x86 symmetrische Multiprozessorsysteme. Eine Präsentation im Rahmen des Seminars Parallele Rechnerarchitekturen von Bernhard Witte
Intel 80x86 symmetrische Multiprozessorsysteme Eine Präsentation im Rahmen des Seminars Parallele Rechnerarchitekturen von Bernhard Witte Gliederung I. Parallel Computing Einführung II.SMP Grundlagen III.Speicherzugriff
MehrWas ist Rechnerleistung
Was ist Rechnerleistung Leistung im engeren Sinne: Leistung gemessen in seltsamen Einheiten, bestimmt vorwiegend von der Zentraleinheit: MIPS (Millionen Instruktionen pro Sekunde) FLOPS (Floating Point
MehrWas 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
MehrKarlsruher Institut für Technologie
Karlsruher Institut für Technologie Lehrstuhl für Programmierparadigmen Sprachtechnologie und Compiler WS 2010/2011 Dozent: Prof. Dr.-Ing. G. Snelting Übungsleiter: Matthias Braun Lösung zu Übungsblatt
MehrInhaltsverzeichnis. 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
MehrKurzvortrag zum Thema Coprozessoren Ingenieurinformatik, Hauptstudium
Technische Universitaet Ilmenau Fakultaet fuer Informatik und Automatisierung Institut fuer Theoretische und Technische Informatik Fachgebiet Rechnerarchitekturen Kurzvortrag zum Thema Coprozessoren Ingenieurinformatik,
MehrBeispiele 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
MehrPipelining. 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:
Mehr12. IA-64 & Freunde Literatur
12.1.1 Literatur 12. IA-64 & Freunde CPUs allgemein : www.sandpile.org Intel IA-64: - www.intel.com - www.linuxia64.org - www.csee.umbc.edu/help/architecture - www.microsoft.com/windowsserver2003/64bit
MehrTechnische 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
MehrComputer-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
MehrMikroprozessoren 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)
MehrTechnische 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
Mehr3. Sprachkonzepte und ihre Übersetzungen
Übersetzung von dynamischen Feldern: var feld: array[u1..o1,,uk..ok] of integer; //ui, oi nicht alle konstant; z.b. Parameter Speicherbelegung: (Felddeskriptor) 0 fiktive Anfangsadresse 1 Feldgröße 2 Subtr.
MehrOpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer
OpenCL Programmiersprachen im Multicore-Zeitalter Tim Wiersdörfer Inhaltsverzeichnis 1. Was ist OpenCL 2. Entwicklung von OpenCL 3. OpenCL Modelle 1. Plattform-Modell 2. Ausführungs-Modell 3. Speicher-Modell
MehrKap 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.).
Mehr2. 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
MehrSysteme 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
MehrCHARON-AXP Alpha Hardwarevirtualisierung
Alpha virtualisierung Nutzung von Softwareinvestitionen auf neuer plattform Jörg Streit, Reinhard Galler Inhalt: Alpha überblick Wozu Alpha? Prinzip der Produkte Performance Cluster Support Zusammenfassung
MehrCPU II. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011
CPU II Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 CPU II 1/77 2012-02-29 CPU Bisher: Pipeline mit 5 sequentiellen Pipeline-Stufen
MehrGrundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega128
Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega128 Progammierung in C - Vergleich C und C++ - Anatomie eines µc-programmes
MehrGrundlagen 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
Mehrz/architektur von IBM
von IBM Grundzüge einer modernen Architektur Von Matthias Fäth Gliederung Geschichtlicher Überblick Neuestes Flaggschiff Namensgebung Überblick Warum 64-Bit große Register Kompatibilität zu älteren Systemen
MehrPrinzipien und Komponenten eingebetteter Systeme
1 Prinzipen und Komponenten Eingebetteter Systeme (PKES) (2) Mikrocontroller I Sebastian Zug Arbeitsgruppe: Embedded Smart Systems 2 Veranstaltungslandkarte Fehlertoleranz, Softwareentwicklung Mikrocontroller
MehrArchitektur und Organisation von Rechnersystemen
Architektur und Organisation von Thema heute: More need for more Speed, Weitere Architekturmerkmale, Zahlendarstellungen, Makroassembler BKH-ArcOrg16-V3 am 01.12.2016 Ulrich Schaarschmidt BK-H/HS Düsseldorf,
MehrRISC-Prozessoren (1)
RISC-Prozessoren (1) 1) 8 Befehlsklassen und ihre mittlere Ausführungshäufigkeit (Fairclough): Zuweisung bzw. Datenbewegung 45,28% Programmablauf 28,73% Arithmetik 10,75% Vergleich 5,92% Logik 3,91% Shift
MehrEinführung in die Systemprogrammierung
Einführung in die Systemprogrammierung Speedup: Grundlagen der Performanz Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 30. April 2015 Eine Aufgabe aus der Praxis Gegeben ein
Mehr3 Technikarchitekturen
3 Technikarchitekturen 3.1 Rechnerarchitektur Definition Taxonomien Komponenten Rechnergrößentypologie 3.2 Kommunikationssystemarchitektur ISO-Referenzmodell TCP/IP Grundlagen der Telekommunikation 3.3
MehrPC/XT/AT ASSEMBLER-BUCH
PC/XT/AT ASSEMBLER-BUCH Alle Befehle + Makro-Assembler KLAUS-DIETER THIES t
MehrBibliotheks-basierte Virtualisierung
Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2015/2016 V. Sieh Bibliotheks-basierte Virtualisierung (WS15/16)
MehrAuch 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:
Mehr3. Grundlagen der Rechnerarchitektur
3. Grundlagen der Rechnerarchitektur 3.1 Architektur des von-neumann-rechners 3.2 Maschinentypen: Einadressmaschine, Zweiadressmaschine 3.3 Befehlsformate und Adressierungstechniken 3.4 Beispiel: der Prozessor
MehrStruktur 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
MehrHYPER - THREADING HYPER-THREADING TECHNOLOGY SERGE FOPOUSSI. Serge Fopoussi UNIVERSITÄT BREMEN SEMINAR RECHNERARCHITEKTUR. Prof. Dr.
SEMINAR RECHNERARCHITEKTUR HYPER-THREADING TECHNOLOGY SERGE FOPOUSSI SEMINAR RECHNERARCHITEKTUR GLIEDERUNG 1. BACKGROUND : Arbeitsweise eines von Neumann-Rechners 2. ENTWICKLUNG VON PROZESSOREN 3. HYPER-THREADING
MehrEchtzeit Videoverarbeitung
Hardwareplattformen für Echtzeit Videoverarbeitung Herbert Thoma Seite 1 Gliederung Echtzeitanforderungen Prozessorarchitekturen Grundlagen Pipelining Parallele Befehlsausführung Systemkomponenten Speicher
MehrCompute Unified Device Architecture CUDA
Compute Unified Device Architecture 06. Februar 2012 1 / 13 Gliederung 2 / 13 : Compute Unified Device Architecture entwickelt von Nvidia Corporation spezifiziert Software- und Hardwareeigenschaften Ziel:
MehrNeues vom STRIP Forth-Prozessor
Neues vom STRIP Forth-Prozessor Tagung der Forth-Gesellschaft April 2013 in Garmisch-Partenkirchen Willi Stricker 1 STRIP Forth-Prozessor STRIP32 32 Bit-Version Eigenschaften: Die 32-Bit-Version ist nahezu
MehrEinfü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
Mehr3. Architekturen moderner Prozessoren 3.1 Einführung (1)
3.1 Einführung (1) Nahezu jeder Prozessor in einem Desktop-Rechner (der auf oder unter dem Tisch steht) und in einem Server- Rechner (auf dem man sich von der Ferne einloggt und dort rechnet) nutzt heute
MehrVorlesung "Struktur von Mikrorechnern" (SMR)
Prozessorhistorie: Pentium Der erste Pentium-Prozessor wurde 99 von Intel vorgestellt. Er besitzt: - 64 Bit breites Bus-Interface - zweigeteilter Primär-Cache mit je 8 KB für Code und Daten - Bezeichnung
MehrHigh-level software transformations
12 Peter Marwedel TU Dortmund Informatik 12 Germany Graphics: Alexandra Nolte, Gesine Marwedel, 2003 High-level software transformations Impact of memory allocation on efficiency Array p[j][k] Row major
MehrMikroController 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
MehrMikroprozessortechnik
Klaus Wüst Mikroprozessortechnik Grundlagen, Architekturen und Programmierung von Mikroprozessoren, MikroControllern und Signalprozessoren 2., aktualisierte und erweiterte Auflage Mit 190 Abbildungen und
MehrDas 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
MehrBetriebssysteme Vorstellung
Am Anfang war die Betriebssysteme Vorstellung CPU Ringvorlesung SE/W WS 08/09 1 2 Monitor CPU Komponenten eines einfachen PCs Bus Holt Instruktion aus Speicher und führt ihn aus Befehlssatz Einfache Operationen
MehrAssembler (NASM) Crashkurs von Sönke Schmidt
Sönke Schmidt (NASM) Crashkurs von Sönke Schmidt Berlin, 4.11.2015 Meine Webseite: http://www.soenke-berlin.de NASM Was ist das? nach Wikipedia: Ein ist ein Programmierwerkzeug, das ein in maschinennaher
MehrBeispielvortrag: HPCG auf Intel Haswell-EP
Beispielvortrag: HPCG auf Intel Haswell-EP Johannes Hofmann 1 Seminarvortrag Architekturen von Multi- und Vielkern-Prozessoren Erlangen, 19.4.2016 1 Computer Architecture, University Erlangen-Nuremberg
MehrStruktur und Operationsprinzip von Prozessoren
Zentrum für Informationsdienste und Hochleistungsrechnen (ZIH) Struktur und Operationsprinzip von Prozessoren Sommersemester 2008 Zellescher Weg 14 Treffz-Bau (HRSK-Anbau) - HRSK 151 Tel. +49 351-463 -
MehrRO II Übungen ohne Lösungen V20
H. Richter 05.04.2017 RO II Übungen ohne Lösungen V20 Übung 1: Gesamtpunktzahl [76] (76P) 1 Aufgabe: Superskalarität [22] 1.) Worin besteht der Unterschied zwischen einem skalaren Prozessor und einem superskalaren
MehrTechnische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015
Technische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015 Ziele der Übung Aufgabe 1 Aufbau und Aufruf von Funktionen in Assembler Codeanalyse
Mehr1. 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
Mehr9.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:
MehrVertiefungsrichtung Rechnerarchitektur
srichtung () ( für ) Prof. Dietmar Fey Ziele der srichtung RA Vertiefen des Verständnis vom Aufbau, Funktionsweise von Rechnern und Prozessoren Modellierung und Entwurf von Rechnern und Prozessoren ()
Mehr