2.3 Register-Transfer-Strukturen

Größe: px
Ab Seite anzeigen:

Download "2.3 Register-Transfer-Strukturen"

Transkript

1 2 2.3 Register-Transfer-Strukturen

2 Kontext Die Wissenschaft Informatik befasst sich mit der Darstellung, Speicherung, Übertragung und Verarbeitung von Information [Gesellschaft für Informatik] 2,

3 Externe Architektur interne Architektur Bislang: Sicht des Programmierers auf den Prozessor: Befehlsschnittstelle, externe Architektur Jetzt: interne Realisierung: interne Architektur, Mikroarchitektur, Realisierung mit Register-Transfer-Strukturen (der Inhalt welchen Registers wird in welches andere Register transferiert?) 2,

4 Komponenten von RT-Strukturen: Dekoder Beispiel : aus n-dekoder x Dekoder y=f(x) m n Anzahl Bits der Bitvektoren f ( x) z.b. Beispiel 2: Prioritätsencoder (m>n) y i "..." wenn nat( x) "..." "..." f ( x) "..." "..."... wenn x wenn x wenn x wenn x i... "..." "..." "..." "..."... nat( i, wenn i der größte Index ist, für den xi f ( x)) undefiniert für x "..." z.b. : y "", nat( y) 5 für x "" 5 2, 24 '' ist nat(a)=sa i 2 i : (Abbildung Bitvektor natürliche Zahl) - 4 -

5 Komponenten von RT-Strukturen: Multiplexer z.b. 2 auf Multiplexer e e y Kontrolle y = e i für nat(kontrolle)=i e i, y: einzelne Bits oder Bitvektoren Mögliche Realisierung (für einzelnes Bit) e & z.b. 4 auf Multiplexer e & y e e e 2 e Kontrolle 3 e 2 e 3 3 Kontrolle aus n 2 & & 2,

6 Komponenten von RT-Strukturen: ALUs Addierer, arithmetisch/ logische Einheiten (ALUs) z=f (x,y,kontrolle) x y ALU z Kontrolle Beispiel z x x x x y y y y wenn wenn wenn wenn nat(kontrolle) nat(kontrolle) nat(kontrolle) nat(kontrolle) 2 3 x, y, z,kontrolle: Bitvektoren 2,

7 Komponenten von RT-Strukturen: Register Register Daten Kontrolle Takt Daten Übernimmt mit dem Takt die Daten, sofern der Kontrolleingang auf "schreiben" gesetzt ist. Daten: einzelne Bits oder Bitvektoren Für jedes einzelne Bit: Kontrolle= schreiben Daten= g(takt) Kontrolle= schreiben Daten= g(takt) g: modelliert unterschiedliche Taktabhängigkeit Flankenabhängigkeit: Wechsel nur bei pos. ( positiv flankengetriggert ) oder neg. Flanke) oder Pegelabhängigkeit: Wechsel sofern Takt= oder Takt = ist 2,

8 Komponenten von RT-Strukturen: Speicher Speicher Daten Takt Kontrolle Speicher Adresse Daten Liest ständig die am Adresseingang ausgewählte Speicherzelle aus und stellt ihren Wert am Datenausgang mit gewisser Verzögerung zur Verfügung. Übernimmt mit dem Takt die Daten in die ausgewählte Speicherzelle, sofern der Kontrolleingang auf Schreiben" gesetzt ist. Wir stellen den -aus-n-adressdekoder immer explizit dar, um den Adresseingang zu identifizieren. 2,

9 Multiportspeicher Multiport- Speicher Speicher Besitzt mehrere Adresseingänge, die zu einem zugeordneten Port gehören. Jedes Leseport stellt ständig die gelesene Speicherzelle am Ausgang bereit; jedes Schreibport übernimmt die Eingangdaten in die ausgewählte Speicherzelle, sofern der Kontrolleingang auf "schreiben" gestellt ist. Konflikt, falls mehrere Schreibports dieselbe Zelle auswählen (soll vermieden werden; falls es doch vorkommt: z.b. UND-Verknüpfung der Eingangsdaten) 2,

10 Speichertechnologien Einige Unterscheidungen: Flüchtiger (volatile) und nicht-flüchtiger (non-volatile) Speicher: Nicht-flüchtiger Speicher: Information bleibt nach dem Ausschalten des Stromes erhalten Statischer und dynamischer Speicher: - Statischer Speicher (SRAM): i.d.regel 6 Transistoren/Bit. - Dynamischer Speicher (DRAM): Transistor, Kondensator/Bit, langsamer als SRAM, erfordert periodisches Auffrischen der Information, ist billiger als SRAM 2, 24 Photo: P. Marwedel,

11 Zusammenfassung Jetzt Sicht auf die interne Architektur: Komponenten von RT-Strukturen Dekoder Multiplexer ALUs Register Speicher 2,

12 Eine Mikroarchitektur für die MIPS-Maschine Automatische Erzeugung von Mikroarchitekturen aus ISA heraus (µarchitektursynthese): wurde untersucht, ist aber a) im Rahmen einer Erstsemestervorlesung zu kompliziert b) für unsere einfachen Befehle auch nicht nötig. Mit Erfahrung (Betrachtung wesentlicher Komponenten/ Verbindungen): manueller µarchitekturentwurf. Benötigt Minimum an Komponenten. Enthält ein Rechenwerk und ein Steuerwerk. Verifikation: Befehle: nachweisen, dass die µarchitektur den Befehl ausführen kann. Vorgehen für die MIPS-Maschine 2,

13 PCWrite B PC MemWrite MemRead i2 a2 a Speicher IRWrite Befehlsregister IR * 3:26 25:2 2:6 25: 5: 5: Steuerwerk RegDest RegWrite Reg Speicher i3 a3 a2 a sign_ extend ALUSelB ALUSelA ALUOp TargetWrite ALU T PCSource * 2 " 3: 28

14 Überprüfung der Ausführbarkeit Zustandsgraph der Ausführung einiger MIPS-Befehle IR:=Speicher[PC]; PC:=PC+4; fetch decode instruction decode mar rr branch jump lw memory access memory access load store rr2 branch2 2,

15 PCWrite PC B fetch + MemWrite MemRead i2 a2 a Speicher IR:=Speicher[PC]; PC:=PC+4 B=PCWrite v PCWriteC zero IRWrite Befehlsregister IR * 3:26 25:2 2:6 25: 5: 5: RegDest RegWrite Reg Speicher i3 a3 a2 a sign_ extend ALUSelB 4 ALUSelA 2 3 zero Ravi microprog ALUOp ALU TargetWrite T PCSource * 3: 28 2 "

16 Zustandsgraph der Ausführung einiger MIPS-Befehle fetch decode instruction decode mar rr branch jump lw memory access memory access load store rr2 branch2 2,

17 PCWrite B PC MemWrite i2 a2 a Speicher Befehlsregister * Steuerwerk decode MemRead Steuerwerk nutzt Opcode zur Verzweigung. IRWrite 3:26 25:2 2:6 25: 5: 5: RegDest RegWrite Reg Speicher i3 a3 a2 a sign_ extend ALUSelB 4 ALUSelA 2 3 ALUOp ALU TargetWrite T PCSource * 2 " 3: 28

18 Zustandsgraph der Ausführung einiger MIPS-Befehle fetch decode instruction decode mar rr branch jump lw memory access memory access load store rr2 branch2 2,

19 PCWrite B PC MemWrite 2 mar + MemRead i2 a2 a Speicher Speicher-Adresse wird in T gespeichert IRWrite Befehlsregister * 3:26 25:2 2:6 25: 5: 5: RegDest RegWrite Reg Speicher i3 a3 a2 a sign_ extend ALUSelB 4 ALUSelA 2 3 ALUOp ALU TargetWrite T PCSource * 2 " 3: 28

20 Zustandsgraph der Ausführung einiger MIPS-Befehle fetch decode instruction decode mar rr branch jump lw memory access memory access load store rr2 branch2 2,

21 PCWrite B PC load MemWrite MemRead i2 a2 a Speicher Reg[IR(2:6)]:= Speicher[T] IRWrite Befehlsregister * 3:26 25:2 2:6 25: 5: 5: RegDest RegWrite Reg Speicher i3 a3 a2 a sign_ extend ALUSelB 4 ALUSelA 2 3 Ravi microprog ALUOp ALU TargetWrite T PCSource * 3: 28 2 "

22 Zustandsgraph der Ausführung einiger MIPS-Befehle fetch decode instruction decode mar rr branch jump lw memory access memory access load store rr2 branch2 2,

23 PCWrite PC B MemWrite MemRead i2 a2 a Speicher store IRWrite Befehlsregister (IR) * 3:26 25:2 2:6 25: 5: 5: RegDest RegWrite Reg Speicher i3 a3 a2 a sign_ extend ALUSelB 4 ALUSelA 2 3 Ravi microprog ALUOp ALU TargetWrite T PCSource * 3: 28 2 "

24 Zustandsgraph der Ausführung einiger MIPS-Befehle fetch decode instruction decode mar rr branch jump lw memory access memory access load store rr2 branch2 2,

25 PCWrite B PC MemWrite i2 a2 a Speicher Befehlsregister * Steuerwerk rr IR² MemRead ² ALU-Funktion durch shamt und funct bestimmt. alu_control nimmt geeignete Umkodierung vor. IRWrite 3:26 25:2 2:6 25: 5: 5: RegDest RegWrite Reg Speicher i3 a3 a2 a sign_ extend ALUSelB 4 ALUSelA 2 3 ALUOp ALU TargetWrite T PCSource * 2 " 3: 28

26 Zustandsgraph der Ausführung einiger MIPS-Befehle fetch decode instruction decode mar rr branch jump lw memory access memory access load store rr2 branch2 2,

27 PCWrite B PC MemWrite rr2 MemRead i2 a2 a Speicher Reg[IR(5:)] :=T IRWrite Befehlsregister IR * 3:26 25:2 2:6 25: 5: 5: RegDest RegWrite Reg Speicher i3 a3 a2 a sign_ extend ALUSelB 4 ALUSelA 2 3 ALUOp ALU Ravi microprog TargetWrite T PCSource * 3: 28 2 "

28 Zustandsgraph der Ausführung einiger MIPS-Befehle fetch decode instruction decode mar rr branch jump lw memory access memory access load store rr2 branch2 2,

29 PCWrite B PC MemWrite MemRead i2 a2 a Speicher PC:=PC(3:28) &IR(25:) &"" Befehlsregister * Steuerwerk jump 2 IRWrite 3:26 25:2 2:6 25: 5: 5: RegDest RegWrite Reg Speicher i3 a3 a2 a sign_ extend ALUSelB 4 ALUSelA 2 3 ALUOp ALU Ravi microprog TargetWrite T PCSource * 3: 28 2 "

30 Zustandsgraph der Ausführung einiger MIPS-Befehle fetch decode instruction decode mar rr branch jump lw memory access memory access load store rr2 branch2 2,

31 PCWrite B PC MemWrite i2 a2 a Speicher T:=PC+(sign_ext( IR(5:))&"") Befehlsregister * Steuerwerk 3 branch + MemRead IRWrite 3:26 25:2 2:6 25: 5: 5: RegDest RegWrite Reg Speicher i3 a3 a2 a sign_ extend ALUSelB 4 ALUSelA 2 3 ALUOp ALU TargetWrite T PCSource * 2 " 3: 28

32 Zustandsgraph der Ausführung einiger MIPS-Befehle fetch decode instruction decode mar rr branch jump lw memory access memory access load store rr2 branch2 2,

33 PCWrite B PC MemWrite i2 a2 a Speicher if Reg([IR(25:2)]- Reg[IR(2:6)]=) then PC:=T; ² Code, der benötigt wird, um am Ausgang zero eine zu erzeugen, wenn beide Eingänge gleich sind. Befehlsregister * Steuerwerk =/-² MemRead IRWrite 3:26 25:2 2:6 25: 5: 5: RegDest branch2 RegWrite Reg Speicher i3 a3 a2 a sign_ extend ALUSelB 4 ALUSelA 2 3 zero ALUOp ALU TargetWrite T PCSource * 2 " 3: 28

34 Das Steuerwerk Verhalten, vereinfacht (mar vermeidet Verzweigung bei mar) Struktur Takt fetch decode rr mar mar' lw load store rr2 branch branch2 jump Eingabe: Opcode µpc * Zustand Mikroprogrammspeicher * Folgezustand bestimmt durch Mikroprogrammspeicher, bei decode aus dem Opcode PCWrite 2, Ausgabe PCSource

35 Das Steuerwerk (etwas genauer) Verhalten, vereinfacht Struktur (mar vermeidet Verzweigung bei mar) fetch decode rr branch jump mar mar' lw load store rr2 branch2 Eindeutige Codes für Zustände nach decode Eingabe: Opcode mux Takt µpc * Zustand Mikroprogrammspeicher * Folgezustand bestimmt durch Mikroprogrammspeicher, bei decode aus dem Opcode PCWrite 2, Ausgabe PCSource

36 Zustand (bestimmt Adresse im Speicher) Inhalt des Mikroprogrammspeichers Folge- Zustand bzw. Zustände fetch decode X X + + Art der Bestimmung des Folgezustands PCWrite PCWriteC IorD decode f(opcode) X X X XX X X XX mar, mar load, store X X X + XX load fetch XX X X XX store fetch X X X XX X X XX rr rr2 X X X IR XX rr2 fetch X XX X X XX branch branch2 X X X + XX branch2 fetch X X X =/- jump fetch X X X XX X X MemWrite MemRead IRWrite Mem2Reg RegDest 2, 24 ALUSelB ALUSelA ALUOp TargetWri PCSource

37 Mikroprogrammierung fetch decode rr branch jump mar mar' lw load store rr2 branch2 2,

38 Mikroprogrammierung fetch decode rr branch jump mar mar' lw load store rr2 branch2 2,

39 Mikroprogrammierung fetch decode rr branch jump mar mar' lw load store rr2 branch2 2,

40 Mikroprogrammierung fetch decode rr branch jump mar mar' lw load store rr2 branch2 2,

41 Mikroprogrammierung fetch decode rr branch jump mar mar' lw load store rr2 branch2 Struktur Takt Eingabe: Opcode µpc Zustand * Mikroprogrammspeicher 2,

42 Zusammenfassung Mikroprogrammierung gestattet die strukturierte Realisierung von Rechensystemen aus RT-Struktur-Komponenten Vorteile: einfache, strukturierte Realisierung auch großer, komplexer Befehlssätze leichte Änderbarkeit Nachteile: Overhead (fetch und decode enthalten keine Operationen des auszuführenden Programms) Große CPI-Werte Versuch, Mikroprogramme zu vermeiden 2,

43 Mikroprogrammierung Fließbandverarbeitung fetch decode rr branch jump mar mar' lw load store rr2 branch2 2,

44 Mikroprogrammierung Fließbandverarbeitung fetch decode rr branch jump mar mar' lw load store rr2 branch2 2,

45 Mikroprogrammierung Fließbandverarbeitung fetch decode rr branch jump mar mar' lw load store rr2 branch2 2,

46 Mikroprogrammierung Fließbandverarbeitung fetch decode rr branch jump mar mar' lw load store rr2 branch2 2,

47 Mikroprogrammierung Fließbandverarbeitung fetch decode rr branch jump mar mar' lw load store rr2 branch2 2, 24 Flash-Animation

48 2.3.2 Fließbandverarbeitung Fließband-Architektur (engl. pipeline architecture): Bearbeitung mehrerer Befehle gleichzeitig, analog zu Fertigungsfließbändern. Beispiel MIPS: instruction fetch instruction decode/ register read instruction execution/ address calculation Memory access (register) writeback 4 PC + IF/ID ID/EX EX/MEM MEM/WB zero 25:2 Reg Speicher sign_ extend 2:6 ALU Speicher DMem 5: 2,

49 Änderungen gegenüber der Struktur ohne Fließband Separater Addierer für Programm-Folgeadressen. Konzeptuelle Aufteilung des Speichers in Daten- und Befehlsspeicher. Aufteilung des Rechenwerks in Fließbandstufen, Trennung durch Pufferregister, T und Befehlsregister werden Pufferregistern. 4 PC + IF/ID ID/EX EX/MEM MEM/WB zero 25:2 2:6 Reg Speicher sign_ extend ALU Speicher DMem Steuerwerk nicht dargestellt 5: 2,

50 Aufgaben der einzelnen Phasen bzw. Stufen Befehlsholphase Lesen des aktuellen Befehls; separater Speicher, zur Vermeidung von Konflikten mit Datenzugriffen ( Cache). Dekodier- und Register-Lese-Phase Lesen der Register möglich wegen fester Plätze für Nr. Ausführungs- und Adressberechungsphase Berechnung arithmetischer Funktion bzw. Adresse für Speicherzugriff. Speicherzugriffsphase Wird nur bei Lade- und Speicherbefehlen benötigt. Abspeicherungsphase Speichern in Register, bei Speicherbefehlen nicht benötigt. 2,

51 Idealer Fließbanddurchlauf 4 PC + IF/ID ID/EX EX/MEM MEM/WB 2:6 25:2 sign_ extend Reg ALU zero DMem 5: Zyklus Befehl 2,

52 Idealer Fließbanddurchlauf 4 PC + IF/ID ID/EX EX/MEM MEM/WB 2:6 25:2 sign_ extend Reg ALU zero DMem 5: Zyklus 2 Befehl 2 Befehl 2,

53 Idealer Fließbanddurchlauf 4 PC + IF/ID ID/EX EX/MEM MEM/WB 2:6 25:2 sign_ extend Reg ALU zero DMem 5: Zyklus 3 Befehl 3 Befehl 2 Befehl 2,

54 Idealer Fließbanddurchlauf 4 PC + IF/ID ID/EX EX/MEM MEM/WB 2:6 25:2 sign_ extend Reg ALU zero DMem 5: Zyklus 4 Befehl 4 Befehl 3 Befehl 2 Befehl 2,

55 Idealer Fließbanddurchlauf 4 PC + IF/ID ID/EX EX/MEM MEM/WB 2:6 25:2 sign_ extend Reg ALU zero DMem 5: Zyklus 5 Befehl 5 Befehl 4 Befehl 3 Befehl 2 Befehl 2,

56 Idealer Fließbanddurchlauf 4 PC + IF/ID ID/EX EX/MEM MEM/WB 2:6 25:2 sign_ extend Reg ALU zero DMem 5: Zyklus 6 Befehl 6 Befehl 5 Befehl 4 Befehl 3 Befehl 2 2,

57 Pipeline-Hazards Structural hazards (deutsch: strukturelle Abhängigkeiten oder Gefährdungen). Verschiedene Fließbandstufen müssen auf dieselbe Hardware-Komponente zugreifen, weil diese nur sehr aufwändig oder überhaupt nicht zu duplizieren ist. Beispiele: Speicherzugriffe, sofern für Daten und Befehle nicht über separate Pufferspeicher (caches) eine weitgehende Unabhängigkeit erreicht wird. Bei Gleitkommaeinheiten lässt sich häufig nicht mit jedem Takt eine neue Operation starten (zu teuer). Eventuell Anhalten des Fließbandes (pipeline stall) nötig. 2,

58 Datenabhängigkeiten () Gegeben sei eine Folge von Maschinen-Befehlen. Def.: Ein Befehl j heißt von einem vorausgehenden Befehl i datenabhängig, wenn i Daten bereitstellt, die j benötigt. Beispiel: add $2,$2,$3 sub $4,$5,$2 and $6,$2,$7 or $8,$2,$9 xor $,$2,$ Diese 4 Befehle sind vom add-befehl wegen $2 datenabhängig Diese Art der Abhängigkeit heißt (bei Hennessy und anderen) read after write- (oder RAW-) Abhängigkeit. 2,

59 Datenabhängigkeiten (2) Gegeben sei wieder eine Folge von Maschinen-Befehlen. Def.: Ein Befehl i heißt von einem nachfolgenden Befehl j antidatenabhängig, falls j eine Speicherzelle beschreibt, die von i noch gelesen werden müsste. Beispiel: add $2,$2,$3 sub $4,$5,$2 Diese 2 Befehle sind vom or-befehl and $6,$2,$7 wegen $2 antidatenabhängig or $2,$2,$9 xor $,$2,$ Diese Art der Abhängigkeit heißt (bei Hennessy und anderen) write after read - (oder WAR-) Abhängigkeit. 2,

60 Datenabhängigkeiten (3) Gegeben sei (wieder) eine Folge von Maschinen-Befehlen. Def.: Zwei Befehle i und j heißen voneinander Ausgabe-abhängig, falls i und j dieselbe Speicherzelle beschreiben. Beispiel: add $2,$2,$3 sub $4,$5,$2 and $6,$2,$7 or $2,$2,$9 xor $,$2,$ Voneinander ausgabeabhängig. Diese Art der Abhängigkeit heißt (bei Hennessy und anderen) write after write - (oder WAW-) Abhängigkeit. 2, 24 ravi/pipeline - 6 -

61 Bypässe, forwarding: Behandlung des data hazards bei and und sub 4 + IF/ID ID/EX EX/MEM MEM/WB zero 25:2 PC sign_ extend 2:6 Reg ALU DMem 5: Zyklus add $,$2,$3 2,

62 Bypässe, forwarding: Behandlung des data hazards bei and und sub 4 + IF/ID ID/EX EX/MEM MEM/WB zero 25:2 PC sign_ extend 2:6 Reg ALU DMem 5: sub $4,$5,$ add $,$2,$3 Zyklus 2 2,

63 Bypässe, forwarding: Behandlung des data hazards bei and und sub 4 + IF/ID ID/EX EX/MEM MEM/WB zero 25:2 PC sign_ extend 2:6 Reg ALU DMem 5: Zyklus 3 and $6,$,$7 sub $4,$5,$ add $,$2,$3 2,

64 Bypässe, forwarding: Behandlung des data hazards bei and und sub 4 PC + IF/ID ID/EX EX/MEM MEM/WB zero 25:2 2:6 sign_ extend Reg ALU DMem 5: Zyklus 4 or $8,$,$9 and $6,$,$7 sub $4,$5,$ add $,$2,$3 2,

65 Bypässe, forwarding: Behandlung des data hazards bei and und sub 4 + IF/ID ID/EX EX/MEM MEM/WB zero 25:2 sign_ extend PC 2:6 Reg ALU DMem 5: Zyklus 5 xor $,$,$ or $8,$,$9 and $6,$,$7 sub $4,$5,$ add $,$2,$3 2,

66 Bypässe, forwarding: Behandlung des data hazards bei and und sub 4 + IF/ID ID/EX EX/MEM MEM/WB zero 25:2 PC sign_ extend 2:6 Reg ALU DMem 5: Zyklus 6? xor $,$,$ or $8,$,$9 and $6,$,$7 sub $4,$5,$ 2,

67 Anhalten des Fließbandes (pipeline stall, hardware interlocking, bubbles) 4 + IF/ID ID/EX EX/MEM MEM/WB zero 25:2 PC sign_ extend 2:6 Reg ALU DMem 5: Zyklus lw $,($2) 2,

68 Lösung durch Anhalten des Fließbandes (pipeline stall, hardware interlocking, bubbles) 4 + IF/ID ID/EX EX/MEM MEM/WB zero 25:2 PC sign_ extend 2:6 Reg ALU DMem 5: Zyklus 2 sub $4,$5,$ lw $,($2) 2,

69 Lösung durch Anhalten des Fließbandes (pipeline stall, hardware interlocking, bubbles) 4 + IF/ID ID/EX EX/MEM MEM/WB zero 25:2 PC sign_ extend 2:6 Reg ALU DMem 5: Zyklus 3 and $6,$,$7 sub $4,$5,$ lw $,($2) 2,

70 Lösung durch Anhalten des Fließbandes (pipeline stall, hardware interlocking, bubbles) 4 + IF/ID ID/EX EX/MEM MEM/WB zero 25:2 PC sign_ extend 2:6 Reg ALU DMem 5: Zyklus 4 or NOOP $8,$,$9 and NOOP $6,$,$7 sub NOOP $4,$5,$ lw $,($2) 2,

71 Lösung durch Anhalten des Fließbandes (pipeline stall, hardware interlocking, bubbles) 4 + IF/ID ID/EX EX/MEM MEM/WB zero 25:2 PC sign_ extend 2:6 Reg ALU DMem 5: Zyklus 5 or $8,$,$9 and $6,$,$7 sub $4,$5,$ NOOP lw $,($2) 2,

72 Lösung durch Anhalten des Fließbandes (pipeline stall, hardware interlocking, bubbles) 4 + IF/ID ID/EX EX/MEM MEM/WB zero 25:2 PC sign_ extend 2:6 Reg ALU DMem 5: Zyklus 6 bubble, durch intelligente Compiler vermeiden! xor $,$,$ or $8,$,$9 and $6,$,$7 sub $4,$5,$ NOOP 2, 24 ravi/pipeline2-72 -

73 Kontrollfluss-Abhängigkeiten oder - Gefährdungen, control hazards () Beispielprogramm: beq $2,$2,t -- springe zur Marke t, falls Reg[2]=Reg[2] sub t:add.. Wir versuchen zunächst, durch Einfügen von NOOPs, die intuitive Bedeutung des Programms zu realisieren... 2,

74 Kontrollfluss-Abhängigkeiten oder - Gefährdungen, control hazards (2) 4 sign_ extend + IF/ID ID/EX EX/MEM MEM/WB zero 25:2 PC 2:6 Reg ALU DMem 5: Takt 2: Sprung wird erkannt, deshalb werden zwei NOOP-Befehle eingefügt. Takt 3: ALU müsste sowohl Vergleich wie auch das Sprungziel ausrechnen können Zyklus beq NOOP sub... oder $,$2,t add beq NOOP sub oder $,$2,t add beq NOOP $,$2,t beq NOOP $,$2,t beq $,$2,t 2,

75 Kontrollfluss-Abhängigkeiten oder - Gefährdungen, control hazards (3) Probleme beim gezeigten Ansatz: Leistungsverlust durch 2 NOOPs (branch delay penalty). ALU/Multiplexer in der gezeigten Form nicht ausreichend, um Test und Sprungzielberechnung in einem Takt auszuführen. Lösungsansatz: Gleichheit der Register wird schon in der instruction decode-stufe geprüft. Sprungziel wird in separatem Adressaddierer ebenfalls bereits in der instruction decode-stufe berechnet. Sofern weiterhin noch Verzögerungen auftreten: nächsten Befehl einfach ausführen (delayed branch). oder weiterhin NOOP(s) einfügen (stall). 2,

76 Delayed Branches, verzögerte Sprünge Beim MIPS wird der auf den Sprungbefehl folgende Befehl immer noch ausgeführt. beq $2,$2,t sub... # wird immer noch ausgeführt... t: add.. It s not a bug, it s a feature Einen Platz für die Aufnahme eines solchen Befehls nennt man delay slot, die Sprünge delayed branches. Manche Maschinen haben mehrere delay slots. Delay slots sollten von Übersetzern mit nützlichen Befehlen gefüllt werden. Nur notfalls sollte es ein NOOP sein. Die MIPS-Maschine hat ein delay slot, welches aber vom Assembler verdeckt wird. 2, 24 ravi/pipeline3-76 -

77 Typen von Fließband-Gefährdungen (hazards) Strukturelle Abhängigkeiten/Gefährdungen (structural hazards) Datenfluß- Abhängigkeiten/Gefährdungen (data hazards) aufgrund von Datenabhängigkeiten (RAW) forwarding, pipeline stalls aufgrund von Antidatenabhängigkeiten (WAR) (erst bei komplizierteren Systemen wichtig) aufgrund von Ausgabeabhängigkeiten (WAW) (erst bei komplizierteren Systemen wichtig) Kontrollfluß-Abhängigkeiten/Gefährdungen (control hazards) delayed branches, pipeline stalls, spekulative Ausführung, Sprungvorhersage 2,

78 Interne Struktur von Pentium-Prozessoren Fließbandverarbeitung bringt Performancegewinn. Fließbandverarbeitung nur bei RISC-Befehlssätzen einigermaßen überschaubar. Interne Umkodierung alter CISC-Befehle in RISC-Befehle. Beispiel: x86-befehle Umkodierung von x86-befehlen zu internen RISC-Befehlen Puffer Puffer Fließband Fließband 2... ggf. weitere Fließbänder Ergebnisspeicher 2, 24 Movie

79 Zusammenfassung Die Fließbandverarbeitung (engl. pipelining) ermöglicht es, in jedem Takt die Bearbeitung eines Befehls abzuschließen, selbst wenn die Bearbeitung eines Befehls Takte dauert. Bei mehreren Fließbändern pro Takt können mehrere Befehle beendet werden. 3 Typen von Gefährdungen des Fließbandbetriebs: - resource hazards - data hazards (RAW, WAR, WAW) - control hazards Gegenmaßnahmen: - pipeline stall - forwarding/bypassing, delayed branches - branch prediction, out-of-order execution, dynamic scheduling ( Rechnerarchitektur) Ggf. mehrere Fließbänder bei modernen Architekturen 2,

80 Prozessortrends 2,

81 Alternative Architekturen DSP: Digitale Signalprozessoren; Prozessoren, die auf die Verarbeitung digitaler Signale (Sprache, Video) optimiert sind VLIW: very long instruction word Prozessoren; Prozessoren, die mit breiten Paketen von Befehlen mehrere Befehle gleichzeitig starten können ASIP: application specific instruction set processors; Prozessoren, die für bestimmte Anwendungen (z.b. MPEG) optimiert sind FPGA: field programmable gate array; Schaltung, deren Verhalten man durch Programmierung verändern kann. ASIC: application specific integrated circuit; speziell für eine Anwendung entwickelter integrierter Schaltkreis 2,

82 Notwendigkeit der Betrachtung der Energieeffizienz Ausführungsplattform Relevant während Benutzung? Stationär Teilweise mobil Mobil z.b. Fabrik Auto Sensor Globale Erwärmung Kosten der Energie Steigerung der Performance Probleme der Kühlung Zu hohe Stromdichten, Metallwanderung Zuverlässigkeit Sehr begrenzt verfügbare Energie el. Leistung 2, 24 Graphics: P. Marwedel,

83 Trend hinsichtlich Energieeffizienz Hugo De Man, IMEC, 27 GOPS/J 2,

84 Hohe Taktraten energetisch ineffizient Rechnen mit niedrigen Taktraten energetisch effizienter: Basisgleichungen Leistung: P ~ V DD ², Maximale Taktfrequenz: f ~ V DD, Energiebedarf für ein Programm: Zeitbedarf für ein Programm: t ~ /f E = P t, mit: t = Laufzeit (fest) Änderungen durch Parallelverarbeitung, mit Operationen pro Takt: Taktfrequenz reduziert auf: f = f /, Spannung kann reduziert werden auf: V DD = V DD /, Leistung für Parallelausführung: P = P / ² pro Operation, Leistung für Operationen pro Takt: P = P = P /, Zeit zur Ausführung des Programms: t = t, Energie zur Ausführung des Programms: E = P t = E / Es ist effizienter, Operationen parallel auszuführen Laut IBM/Böblingen in der Praxis eher P~V DD 3 als diese sequentiell in einem ten Teil der Zeit auszuführen. 2,

85 Entwicklung der Taktfrequenzen Copyright 2, Elsevier Inc. All rights Reserved. [Hennessy/Patterson: Computer Architecture, 5th ed., 2] 2,

86 Vorhersage der Taktfrequenzen Interner Takt [GHz] Steigerungsraten reduziert, nur noch moderate Steigerung. [ITRS, 2 Overall Roadmap Technology Characteristics (ORTC) Tables ] 2,

87 Steigerung der Performance Copyright 2, Elsevier Inc. All rights Reserved. [Hennessy/Patterson: Computer Architecture, 5th ed., 2] 2,

88 Trend zu Multiprozessor-Systemen Grenzen der effizienten Realisierbarkeit von Einzelprozessoren erreicht: - Höhere Taktraten nur schwer zu erreichen - Höhere Taktraten nicht mehr energieeffizient (Kriterium Watt/Millionen Operationen) - Sprungvorhersage wird immer komplizierter - Bei Multiprozessor-Systemen werden mehrere Prozessoren zusammengeschaltet: - Gleiche Multiprozessorsysteme: homogene Multiprozessoren - Unterschiedliche Multiprozessorsysteme: heterogene Multiprozessoren (für Anwendung optimiert) 2,

89 Einschub: Multi-threading/multi-processing In realen Rechnern meist mehrere Programme gespeichert. Ausführbare Programme heißen Prozesse oder tasks. Prozessen wird durch einen dispatcher (z.tl. scheduler genannt) Rechenzeit auf dem Prozessor zugeteilt. 2,

90 Einschub: Dispatcher Dispatcher schaltet zwischen Ausführung von Prozessen um (context switch). Bei context switch werden alle Registerinhalte - des anzuhaltenden Prozesses in einen ihm zugeordneten Datenblock (process control block, PCB) gerettet & - die des zu fortzuführenden Prozesses aus seinem PCB geladen. Prozessen wird suggeriert, der Prozessor gehöre ihnen allein (bis auf Zeitverhalten). - Prozesse haben eigene, - Threads verfügen über gemeinsame Adressen 2,

91 Einschub: Context switch Prozessor Register A Ausführung A B Speicher PCB A B PCB B A B 2,

92 Einige Eigenschaften 27 aktueller Prozessoren Beispiel: Intel Core 2 Extreme Quad-Core QX6 (homogen): 4 Prozessoren auf einem Chip Jeder Prozessor kann pro Takt bis zu 4 Befehle beenden Befehle können sich gegenseitig überholen (dynamic scheduling, out-of-order execution) Sprungvorhersage 64-bit und 32-bit Operationen Bis zu 3 GHz ext. Takt Verlangt thermischen Entwurf für 3 W Leistungsaufnahme Stromaufnahme bis zu 25 A Spannungsversorgung,85-,6 V je nach Anforderung 775 Anschlüsse, davon ~2/3 für die Spannungsversorgung 2, 24 [ [ tenland.de/pi/intel Core2ExtremeQx 67.jpg]

93 Einige Eigenschaften 2 aktueller Prozessoren Beispiel: Intel Core i7-98x Processor Extreme Edition: 6 Prozessoren auf einem Chip (homogen) Hyperthreading: 2 threads/prozessor überlapp. Befehle können sich gegenseitig überholen Fertigung im 32 nm Prozess,7 x 9 Transistoren 64-bit und 32-bit Operationen 3,33 GHz (Turbo 3,6 GHz) ext. Takt Maximale Leistungsaufnahme (TDP): 3 W Stromaufnahme bis zu 8, A Spannungsversorgung,8-,375 V je nach Anforderung 366 Anschlüsse, incl. 435 für die Spannungsversorgung 2, 24 [ processor/datashts/ pdf]

94 Eigenschaften eines 23 aktuellen Prozessors Beispiel: Intel Core i7-493mx Processor Extreme Edition: 4 Prozessoren auf einem Chip (homogen), 2 threads/prozessor Befehle können sich gegenseitig überholen,,4 x 9 Transistoren Fertigung im 22 nm Prozess, 3 GHz (Turbo 3,9 GHz) ext. Takt Maximale Leistungsaufnahme (TDP): 84 W, Strom bis zu 95 A Integrierte Graphik ( tlw. heterogen), 5 Anschlüsse Intel 2, 24 /us/en/documents/datasheets/4th-gen-corefamily-desktop-vol--datasheet.pdf

95 Experimentell: Intel single chip cloud computer Experimentelle (homogene) Plattform (29) 2, 24 Intel

96 Klassifikation von Multiprozessorsystemen nach Daten- und Befehlsströmen [Flynn] Befehlsströme > Datenströme SISD MISD > SIMD MIMD SISD Bislang besprochene Einzelrechner MIMD Netze aus Einzelrechnern; sehr flexibel SIMD MISD Ein Befehlsstrom für unterschiedliche Daten; identische Befehle bilden starke Einschränkung Mehrere Befehle für ein Datum: Kann als Fließband von Befehlen auf demselben Datenstrom ausgelegt werden. Ist etwas künstlich. Klassifikation hat nur begrenzte Aussagekraft; keine bessere vorhanden. 2,

97 Energieeffizientes Design mit (halb) heterogenen Prozessoren Halb Heterogen : Identischer Befehlssatz (ISA), aber optimiert für Performance bzw. Energieeffizienz 2, 24 big_little_final_final.pdf ARM

98 Anwendung: Samsung Exynos 5 Octa 4 Cortex A7 + 4 Cortex A5 Eingebaut in manche Varianten des Samsung S 4 Videos: 2, 24 Photo: Samsung

99 Homogen vs. heterogen homogen ISA identisch, Implementierung verschieden heterogen Leichte Verlagerung von Prozessen Fehlertoleranz per Verlagerung Effizienz durch Optimierung für Anwendung (+) + Software-Entwurfsaufwand + (+) - Prozessor-Entwurfsaufwand + - 2,

100 Zusammenfassung Skalieren der Taktrate wg. des Energieverbrauchs begrenzt Skalieren der Perfomanz v.a. über mehr Kerne (multi-cores) Energieverbrauch teilweise heterogene Multi-Cores Unklare Situation hinsichtlich der Richtung - Geeignetes Berechungsmodell? - Geeignete Architekturen? - Geeignete Sprachen? Mögliches Ende des Paradieses, in dem immer komplexere Softwarearchitekturen durch immer leistungsfähigere Hardware möglich werden. 2,

2.3 Register-Transfer-Strukturen

2.3 Register-Transfer-Strukturen 2 2.3 Register-Transfer-Strukturen Kontext Die Wissenschaft Informatik befasst sich mit der Darstellung, Speicherung, Übertragung und Verarbeitung von Information [Gesellschaft für Informatik] 2, 24-2

Mehr

Rechnerstrukturen, Teil 2

Rechnerstrukturen, Teil 2 2 Rechnerstrukturen, Teil 2 Vorlesung 4 SWS WS 7/8 2.3 Register-Transfer-Strukturen Prof. Dr. Jian-Jia Chen Fakultät für Informatik Technische Universität Dortmund jian-jia.chen@cs.uni-.de http://ls2-www.cs.tu-.de

Mehr

Rechnerarchitektur (RA)

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

Mehr

Rechnerarchitektur (RA)

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

Mehr

2.3 Register-Transfer-Strukturen

2.3 Register-Transfer-Strukturen 2 2.3 Register-Transfer-Strukturen Peter Marwedel Informatik 2 Otto-Hahn-Str. 6 Tel. 755 6 E-mail: peter.marwedel@tu-.de Sprechstunde: Mo 3:-4: 24/6/6 (xmas) Kontext Die Wissenschaft Informatik befasst

Mehr

2.3 Register-Transfer-Strukturen

2.3 Register-Transfer-Strukturen 2 2.3 Register-Transfer-Strukturen Peter Marwedel Informatik 2 Otto-Hahn-Str. 6 Tel. 755 6 E-mail: peter.marwedel@tu-.de 25/2/6 (xmas) Kontext Die Wissenschaft Informatik befasst sich mit der Darstellung,

Mehr

Rechnerstrukturen, Teil 2

Rechnerstrukturen, Teil 2 12 Rechnerstrukturen, Teil 2 Vorlesung 4 SWS WS 17/18 2.6 Prozessortrends (Erweiterung von 2.3) Prof. Dr. Jian-Jia Chen Fakultät für Informatik Technische Universität Dortmund jian-jia.chen@cs.uni-.de

Mehr

Kap.3 Mikroarchitektur. Prozessoren, interne Sicht

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

Mehr

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

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

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

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

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

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 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 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

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

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

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

Allgemeine Lösung mittels Hazard Detection Unit

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

Mehr

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

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

Technische Grundlagen der Informatik 2 SS Einleitung. R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt E-1

Technische 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

Mehr

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

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

Mehr

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

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

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

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

Mehr

Teil 2: Rechnerorganisation

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

Mehr

Grundlagen der Rechnerarchitektur. MIPS Assembler

Grundlagen der Rechnerarchitektur. MIPS Assembler Grundlagen der Rechnerarchitektur MIPS Assembler Übersicht Arithmetik, Register und Speicherzugriff Darstellung von Instruktionen Logische Operationen Weitere Arithmetik Branches und Jumps Prozeduren 32

Mehr

Tutorium Rechnerorganisation

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

Mehr

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

Technische Informatik I - HS 18

Technische Informatik I - HS 18 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik I - HS 18 Übung 7 Datum : 22.-23. November 2018 Pipelining Aufgabe 1: Taktrate / Latenz In dieser Aufgabe

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

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

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

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

Mehr

Arithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9

Arithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9 Arithmetik, Register und Speicherzugriff Grundlagen der Rechnerarchitektur Assembler 9 Arithmetik und Zuweisungen Einfache Arithmetik mit Zuweisung C Programm: a = b + c; d = a e; MIPS Instruktionen: Komplexere

Mehr

Lehrveranstaltung: PR Rechnerorganisation Blatt 8. Thomas Aichholzer

Lehrveranstaltung: PR Rechnerorganisation Blatt 8. Thomas Aichholzer Aufgabe 8.1 Ausnahmen (Exceptions) a. Erklären Sie den Begriff Exception. b. Welche Arten von Exceptions kennen Sie? Wie werden sie ausgelöst und welche Auswirkungen auf den ablaufenden Code ergeben sich

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

Rechnerarchitektur. Marián Vajteršic und Helmut A. Mayer

Rechnerarchitektur. Marián Vajteršic und Helmut A. Mayer Rechnerarchitektur Marián Vajteršic und Helmut A. Mayer Fachbereich Computerwissenschaften Universität Salzburg marian@cosy.sbg.ac.at und helmut@cosy.sbg.ac.at Tel.: 8044-6344 und 8044-6315 30. Mai 2017

Mehr

2 Rechnerarchitekturen

2 Rechnerarchitekturen 2 Rechnerarchitekturen Rechnerarchitekturen Flynns Klassifikation Flynnsche Klassifikation (Flynn sche Taxonomie) 1966 entwickelt, einfaches Modell, bis heute genutzt Beschränkung der Beschreibung auf

Mehr

Compiler für f r Eingebettete Systeme (CfES)

Compiler für f r Eingebettete Systeme (CfES) Compiler für f r Eingebettete Systeme (CfES) Sommersemester 2009 Dr. Heiko Falk Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung für Eingebettete Systeme Kapitel 9 Ausblick

Mehr

Kap.3 Mikroarchitektur. Prozessoren, interne Sicht

Kap.3 Mikroarchitektur. Prozessoren, interne Sicht Kap.3 Mikroarchitektur Prozessoren, interne Sicht Kapitel 3 Mikroarchitektur 3.1 elementare Datentypen, Operationen und ihre Realisierung (siehe 2.1) 3.2 Mikroprogrammierung (zur Realisierung der Befehlsabarbeitung

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

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

High Performance Embedded Processors

High Performance Embedded Processors High Performance Embedded Processors Matthias Schwarz Hardware-Software-Co-Design Universität Erlangen-Nürnberg martin.rustler@e-technik.stud.uni-erlangen.de matthias.schwarz@e-technik.stud.uni-erlangen.de

Mehr

Kontrollpfad der hypothetischen CPU

Kontrollpfad der hypothetischen CPU Kontrollpfad der hypothetischen CPU fast alle Algorithmen benötigen FOR- oder WHILE-Schleifen und IF.. ELSE Verzweigungen Kontrollfluß ist datenabhängig CCR speichert Statussignale N,Z, V,C der letzten

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

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

Grundlagen der Rechnerarchitektur. Prozessor

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

Mehr

Grundlagen der Rechnerarchitektur. Prozessor

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

Mehr

Kontrollpfad der hypothetischen CPU

Kontrollpfad der hypothetischen CPU Kontrollpfad der hypothetischen CPU fast alle Algorithmen benötigen FOR- oder WHILE-Schleifen und IF.. ELSE Verzweigungen Kontrollfluß ist datenabhängig CCR speichert Statussignale N,Z, V,C der letzten

Mehr

Technische Informatik I - HS 18

Technische Informatik I - HS 18 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik I - HS 8 Musterlösung zu Übung 5 Datum : 8.-9. November 8 Aufgabe : MIPS Architektur Das auf der nächsten

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

Übungsblatt 6. Implementierung einer Befehlspipeline

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

Mehr

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

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

Technische Informatik 1 Übung 7 Pipelining (Rechenübung) Balz Maag 22./23. November 2018

Technische Informatik 1 Übung 7 Pipelining (Rechenübung) Balz Maag 22./23. November 2018 Technische Informatik 1 Übung 7 Pipelining (Rechenübung) Balz Maag 22./23. November 2018 Aufgabe 1: Taktrate / Latenz Einzeltakt-Architektur Pipelining-Architektur Pipelining-Architektur 15 15 120 ps 15

Mehr

Beispielhafte Prüfungsaufgaben zur Vorlesung TI I, gestellt im Frühjahr 2009

Beispielhafte Prüfungsaufgaben zur Vorlesung TI I, gestellt im Frühjahr 2009 Beispielhafte Prüfungsaufgaben zur Vorlesung TI I, gestellt im Frühjahr 2009 Die beigefügte Lösung ist ein Vorschlag. Für Korrektheit, Vollständigkeit und Verständlichkeit wird keine Verantwortung übernommen.

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

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

Verteidigung der Bachelorarbeit, Willi Mentzel

Verteidigung der Bachelorarbeit, Willi Mentzel Verteidigung der Bachelorarbeit, Willi Mentzel Motivation U.S. Energy Consumption Breakdown 3x Durchschnittliche Leistungsaufnahme 114 Millionen kw Hohes Optimierungspotential 2 Ziele für Energieoptimierung

Mehr

JR - RA - SS02 Kap

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

Mehr

Kap.3 Mikroarchitektur. Prozessoren, interne Sicht

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

Mehr

Fachbereich Medienproduktion

Fachbereich Medienproduktion Fachbereich Medienproduktion Herzlich willkommen zur Vorlesung im Studienfach: Grundlagen der Informatik Themenübersicht Rechnertechnik und IT Sicherheit Grundlagen der Rechnertechnik Prozessorarchitekturen

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

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

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

Kapitel 2. Pipeline-Verarbeitung. Technologie- Entwicklung. Strukturelle Maßnahmen. Leistungssteigerung in Rechnersystemen

Kapitel 2. Pipeline-Verarbeitung. Technologie- Entwicklung. Strukturelle Maßnahmen. Leistungssteigerung in Rechnersystemen Technologie- Entwicklung Kapitel 2 Pipeline-Verarbeitung SSI: Small Scale Integration MSI: Medium Scale Integration LSI: Large Scale Integration VLSI: Very Large Scale Integration ULSI: Ultra Large Scale

Mehr

Übungsblatt 7 Implementierung von Programmsteuerbefehlen in einer Befehlspipeline Abgabefrist: Mittwoch , 14:00 Uhr

Übungsblatt 7 Implementierung von Programmsteuerbefehlen in einer Befehlspipeline Abgabefrist: Mittwoch , 14:00 Uhr Praktikum zur Vorlesung Prozessorarchitektur SS 2017 Übungsblatt 7 Implementierung von Programmsteuerbefehlen in einer Befehlspipeline Abgabefrist: Mittwoch 21.06.2017, 14:00 Uhr 1.1. Einführung Programmsteuerbefehle

Mehr

JR - RA - SS02 Kap

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

Mehr

Technische Informatik 1 Übung 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

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

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

Vorwort Teil 1: Grundlagen 1. 1 Einleitung Grundbegriffe Einheiten Geschichte Arten von Computern 8

Vorwort Teil 1: Grundlagen 1. 1 Einleitung Grundbegriffe Einheiten Geschichte Arten von Computern 8 Inhaltsverzeichnis Vorwort Teil 1: Grundlagen 1 1 Einleitung 3 1.1 Grundbegriffe 3 1.2 Einheiten 5 1.3 Geschichte 6 1.4 Arten von Computern 8 2 Allgemeiner Aufbau eines Computersystems 15 2.1 Blockdiagramm

Mehr

Der von Neumann Computer

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

Mehr

Grundlagen der Rechnerarchitektur. Einführung

Grundlagen 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

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

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

Johann Wolfgang Goethe-Universität

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

Mehr

Prozessorarchitektur. Sprungvorhersage. M. Schölzel

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

Mehr

b i Ergänzung zu Vollkonjunktionen (ohne Indizierung i = 0... n-1): q = a b a b q = a b q = a b a b a b

b i Ergänzung zu Vollkonjunktionen (ohne Indizierung i = 0... n-1): q = a b a b q = a b q = a b a b a b Ansatz: Die Realisierung von arithmetischen Operationen mit Logikgattern führt zu ähnlichen Verarbeitungsstrukturen für arithmetische und logische Befehle Parallele Zahlwort/oder Logikverarbeitung ist

Mehr

Teil 2: Rechnerorganisation

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

Mehr

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

Rechnergrundlagen SS 2007. 11. Vorlesung

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

Mehr

Grundzüge der Informatik II

Grundzüge der Informatik II Grundzüge der Informatik II Kapitel 4: Realisierung von Rechen- und Steuerwerk (2. Teil) Prof. Dr. Oskar von Stryk Fachgebiet Simulation und Systemoptimierung TU Darmstadt Skript: Patterson/Hennessy, Chapter

Mehr

ARM: Befehlssatz (Forts.)

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

Mehr

ARM: Befehlssatz (Forts.)

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

Mehr

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

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

Mehr

Teil 2: Rechnerorganisation

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

Mehr

Neue Prozessor-Architekturen für Desktop-PC

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

Mehr