540 likes | 642 Views
Kapitel 11: Optimierung von Ressourcen-Nutzung und Prozessorleistung. Übersicht. Virtueller Speicherverwaltung Pipelining Dynamisches Scheduling von Instruktionen nach Tomasulo Weitere ILP-Techniken Grenzen der Parallelarbeit: Scheduling bei 2 Prozessoren.
E N D
Kapitel 11: Optimierung von Ressourcen-Nutzung und Prozessorleistung
Übersicht • Virtueller Speicherverwaltung • Pipelining • Dynamisches Scheduling von Instruktionen nach Tomasulo • Weitere ILP-Techniken • Grenzen der Parallelarbeit:Scheduling bei 2 Prozessoren
Seite 0 Seite 1 Seite 2 … Seitentabelle Seite n Sekundärspeicher physikalischeAdresse imHauptspeicher logischeAdresse 11.2 Funktionsweise der virtuellen Speicherung.
Frame-nummer Seite 0 0 1 Seite 0 Seite 1 0 1 1 4 2 Seite 2 2 3 3 7 Offset 3 Seite 2 Seite 3 Seiten-tabelle 4 Seite 1 virtuellerAdressraum 5 6 7 Seite 3 physikalischerAdressraum 11.3 Adressumsetzung beim Paging.
11.6 Mehrfachverwendung von Programmen durch Segmentierung.
11.7 Adressübersetzungskomponenten der MMU beim PowerPC 601.
11.8 Memory Management Unit der PowerPC-Architektur.
11.10 Anbindung des 601-Cache an andere Einheiten.
11.13 Transformation einer logischen in eine physikalische Adresse beim PowerPC 601.
11.14 Prinzip des Befehlsphasen- (Instruction Level-) Pipelining (ILP).
Takt 1 Takt 2 Takt 3 Takt 4 Takt 5 IFetch Dcd Exec Mem Wr 11.17 5-stufige RISC-Pipeline mit Taktung.
Zeit IFetch IFetch IFetch IFetch IFetch IFetch Dcd Dcd Dcd Dcd Dcd Dcd Exec Exec Exec Exec Exec Exec Mem Mem Mem Mem Mem Mem WB WB WB WB WB WB Programmfluß 11.18 Zeitlicher Programmfluß bei 5-stufiger Pipeline.
Zeit (Takte) 1 2 3 4 5 6 add r1, r2, r3 IF Dcd Mem Wr ALU sub r4, r1, r5 IF Dcd Mem Wr ALU 11.20 Datenhasard zwischen Addition undnachfolgender Subtraktion.
Zeit (Takte) 6 1 2 3 4 5 7 8 add IF Dcd Mem Wr ALU sub Mem Wr IF Dcd Bubble ALU 11.21 Auflösung eines Datenhasard durchBubble-Einfügung.
Zeit (Takte) 1 2 3 4 5 6 add IF Dcd Mem Wr ALU sub IF Dcd Mem Wr ALU 11.22 Elimination eines Datenhasard durchForwarding.
Instruction Status F-Registers Reg Value ITER Instruction a b Issue Exec Compl Write Result F0 F2 F4 F6 F8 F10 F12 … … F30 Reservation Stations Time Name Busy Op Va Vb Qa Qb Load/Store Buffers Add1 0 Busy Adr. FU Add2 0 Load1 0 Add3 0 Load2 0 Mult1 0 Load3 0 Store1 0 Mult2 0 Store2 0 Store3 0 FP Adders/Multipliers Common Data Bus (CDB) 11.23 Arbeitseinheitenfür dynamischesScheduling.
Instruction Status F-Registers lfp f6, 34(r2) lfp f2, 45(r3) fmul f0, f2, f4 fsub f8, f6, f2 fdiv f10, f0, f6 fadd f6, f8, f2 Reservation Stations Load/Store Buffers Clock FP Adders/Multipliers 1 Common Data Bus (CDB)
Instruction Status F-Registers lfp f6, 34(r2) lfp f2, 45(r3) fmul f0, f2, f4 fsub f8, f6, f2 fdiv f10, f0, f6 fadd f6, f8, f2 Reservation Stations Load/Store Buffers Clock FP Adders/Multipliers 2 Common Data Bus (CDB)
Instruction Status F-Registers lfp f6, 34(r2) lfp f2, 45(r3) fmul f0, f2, f4 fsub f8, f6, f2 fdiv f10, f0, f6 fadd f6, f8, f2 Reservation Stations Load/Store Buffers Clock FP Adders/Multipliers 3 Common Data Bus (CDB)
Instruction Status F-Registers lfp f6, 34(r2) lfp f2, 45(r3) fmul f0, f2, f4 fsub f8, f6, f2 fdiv f10, f0, f6 fadd f6, f8, f2 Reservation Stations Load/Store Buffers Clock FP Adders/Multipliers 4 Common Data Bus (CDB)
Instruction Status F-Registers lfp f6, 34(r2) lfp f2, 45(r3) fmul f0, f2, f4 fsub f8, f6, f2 fdiv f10, f0, f6 fadd f6, f8, f2 Reservation Stations Load/Store Buffers Clock FP Adders/Multipliers 5 Common Data Bus (CDB)
Instruction Status F-Registers lfp f6, 34(r2) lfp f2, 45(r3) fmul f0, f2, f4 fsub f8, f6, f2 fdiv f10, f0, f6 fadd f6, f8, f2 Reservation Stations Load/Store Buffers Clock FP Adders/Multipliers 6 Common Data Bus (CDB)
Instruction Status F-Registers lfp f6, 34(r2) lfp f2, 45(r3) fmul f0, f2, f4 fsub f8, f6, f2 fdiv f10, f0, f6 fadd f6, f8, f2 Reservation Stations Load/Store Buffers Clock FP Adders/Multipliers 7 Common Data Bus (CDB)
Instruction Status F-Registers lfp f6, 34(r2) lfp f2, 45(r3) fmul f0, f2, f4 fsub f8, f6, f2 fdiv f10, f0, f6 fadd f6, f8, f2 Reservation Stations Load/Store Buffers Clock FP Adders/Multipliers 8 Common Data Bus (CDB)
Instruction Status F-Registers lfp f6, 34(r2) lfp f2, 45(r3) fmul f0, f2, f4 fsub f8, f6, f2 fdiv f10, f0, f6 fadd f6, f8, f2 Reservation Stations Load/Store Buffers Clock FP Adders/Multipliers 9 Common Data Bus (CDB)
Instruction Status F-Registers lfp f6, 34(r2) lfp f2, 45(r3) fmul f0, f2, f4 fsub f8, f6, f2 fdiv f10, f0, f6 fadd f6, f8, f2 Reservation Stations Load/Store Buffers Clock FP Adders/Multipliers 10 Common Data Bus (CDB)
Instruction Status F-Registers lfp f6, 34(r2) lfp f2, 45(r3) fmul f0, f2, f4 fsub f8, f6, f2 fdiv f10, f0, f6 fadd f6, f8, f2 Reservation Stations Load/Store Buffers Clock FP Adders/Multipliers 11 Common Data Bus (CDB)
Instruction Status F-Registers lfp f6, 34(r2) lfp f2, 45(r3) fmul f0, f2, f4 fsub f8, f6, f2 fdiv f10, f0, f6 fadd f6, f8, f2 Reservation Stations Load/Store Buffers Clock FP Adders/Multipliers 12 Common Data Bus (CDB)
Instruction Status F-Registers lfp f6, 34(r2) lfp f2, 45(r3) fmul f0, f2, f4 fsub f8, f6, f2 fdiv f10, f0, f6 fadd f6, f8, f2 Reservation Stations Load/Store Buffers Clock FP Adders/Multipliers 13 Common Data Bus (CDB)
Instruction Status F-Registers lfp f6, 34(r2) lfp f2, 45(r3) fmul f0, f2, f4 fsub f8, f6, f2 fdiv f10, f0, f6 fadd f6, f8, f2 Reservation Stations Load/Store Buffers Clock FP Adders/Multipliers 14 Common Data Bus (CDB)
Instruction Status F-Registers lfp f6, 34(r2) lfp f2, 45(r3) fmul f0, f2, f4 fsub f8, f6, f2 fdiv f10, f0, f6 fadd f6, f8, f2 Reservation Stations Load/Store Buffers Clock FP Adders/Multipliers 15 Common Data Bus (CDB)
Instruction Status F-Registers lfp f6, 34(r2) lfp f2, 45(r3) fmul f0, f2, f4 fsub f8, f6, f2 fdiv f10, f0, f6 fadd f6, f8, f2 Reservation Stations Load/Store Buffers Clock FP Adders/Multipliers 16 Common Data Bus (CDB)
Instruction Status F-Registers lfp f6, 34(r2) lfp f2, 45(r3) fmul f0, f2, f4 fsub f8, f6, f2 fdiv f10, f0, f6 fadd f6, f8, f2 Reservation Stations Load/Store Buffers Clock FP Adders/Multipliers 55 Common Data Bus (CDB)
Instruction Status F-Registers lfp f6, 34(r2) lfp f2, 45(r3) fmul f0, f2, f4 fsub f8, f6, f2 fdiv f10, f0, f6 fadd f6, f8, f2 Reservation Stations Load/Store Buffers Clock FP Adders/Multipliers 56 Common Data Bus (CDB)
Instruction Status F-Registers lfp f6, 34(r2) lfp f2, 45(r3) fmul f0, f2, f4 fsub f8, f6, f2 fdiv f10, f0, f6 fadd f6, f8, f2 Reservation Stations Load/Store Buffers Clock FP Adders/Multipliers 57 Common Data Bus (CDB)