1 / 54

Kapitel 11: Optimierung von Ressourcen-Nutzung und Prozessorleistung

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.

netis
Download Presentation

Kapitel 11: Optimierung von Ressourcen-Nutzung und Prozessorleistung

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kapitel 11: Optimierung von Ressourcen-Nutzung und Prozessorleistung

  2. Übersicht • Virtueller Speicherverwaltung • Pipelining • Dynamisches Scheduling von Instruktionen nach Tomasulo • Weitere ILP-Techniken • Grenzen der Parallelarbeit:Scheduling bei 2 Prozessoren

  3. Abstraktions- bzw. Sprachebenen im Rechner.

  4. 11.1 Prinzip der virtuellen Speicherung.

  5. Seite 0 Seite 1 Seite 2 … Seitentabelle Seite n Sekundärspeicher physikalischeAdresse imHauptspeicher logischeAdresse 11.2 Funktionsweise der virtuellen Speicherung.

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

  7. 11.4 Adressumsetzung bei einer Segmentierung.

  8. 11.5 Beispiel für die Verwendung von Segmentierung.

  9. 11.6 Mehrfachverwendung von Programmen durch Segmentierung.

  10. 11.7 Adressübersetzungskomponenten der MMU beim PowerPC 601.

  11. 11.8 Memory Management Unit der PowerPC-Architektur.

  12. 11.9 Cache-Organisation des PowerPC 601.

  13. 11.10 Anbindung des 601-Cache an andere Einheiten.

  14. 11.11 Warteschlangen der Memory Unit des 601.

  15. 11.12 Zustände beim MESI-Protokoll.

  16. 11.13 Transformation einer logischen in eine physikalische Adresse beim PowerPC 601.

  17. 11.14 Prinzip des Befehlsphasen- (Instruction Level-) Pipelining (ILP).

  18. 11.15 Einfaches Befehlsphasen-Pipelining.

  19. 11.16 5-stufige RISC-Pipeline.

  20. Takt 1 Takt 2 Takt 3 Takt 4 Takt 5 IFetch Dcd Exec Mem Wr 11.17 5-stufige RISC-Pipeline mit Taktung.

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

  22. 11.19: Prinzip einer Superskalar-Architektur.

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

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

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

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

  27. 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)

  28. 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)

  29. 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)

  30. 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)

  31. 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)

  32. 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)

  33. 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)

  34. 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)

  35. 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)

  36. 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)

  37. 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)

  38. 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)

  39. 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)

  40. 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)

  41. 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)

  42. 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)

  43. Einige Zykel später…

  44. 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)

  45. 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)

  46. 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)

  47. 11.28 Präferenzordnung zu Beispiel 11.1.

  48. 11.29 (Optimaler) Schedule zu Beispiel 11.1.

  49. 11.30 (Suboptimaler) Schedule zu Beispiel 11.1.

More Related