Grundlagen der Rechnerarchitektur und -organisation: The Big Picture Part 2 06.06.16 Übung zu Grundlagen der Rechnerarchitektur und -organisation Burkhard Ringlein SS 2016 int diff2 = ( wert[i] − 42 ) ∗ ( wert[i] − 42 ) ; Speicher ??? 1. Wozu die Hierarchie unter den Speichern? 2. Warum verstecken moderne CPUs Daten? 3. Wieso funktionierts? 06.06.16 Übung zu Grundlagen der Rechnerarchitektur und -organisation Burkhard Ringlein The Big Picture 1. Wozu die Hierarchie unter den Speichern? Ideal: Großer, schneller Speicher Jedoch in Realität: 06.06.16 Übung zu Grundlagen der Rechnerarchitektur und -organisation Burkhard Ringlein The Big Picture 1. Wozu die Hierarchie unter den Speichern? Ideal: Großer, schneller Speicher Jedoch in Realität: Kapazität Fläche/Bit Zugriffszeiten Preis / Bit 06.06.16 Übung zu Grundlagen der Rechnerarchitektur und -organisation Burkhard Ringlein The Big Picture 1. Wozu die Hierarchie unter den Speichern? Ideal: Großer, schneller Speicher → sinnvolle Mischung nötig Jedoch in Realität: Kapazität Fläche/Bit Zugriffszeiten Preis / Bit 06.06.16 Übung zu Grundlagen der Rechnerarchitektur und -organisation Burkhard Ringlein The Big Picture 2. Warum verstecken moderne CPUs Daten? RAM: z.B. 4GB Register: z.B. 8 * 32bit (x86) CPU 1 Takt, 256 Bit (z.B.) 25 – 40 Takte Kapazität Preis / Bit Zugriffszeiten 06.06.16 Übung zu Grundlagen der Rechnerarchitektur und -organisation Burkhard Ringlein The Big Picture 2. Warum verstecken moderne CPUs Daten? Französisch: cache f. Deutsch: das Versteck, der Schlupfwinkel Pl.: die Verstecke, die Schlupfwinkel (leo.org) RAM: z.B. 4GB Register: z.B. 8 * 32bit (x86) CPU 1 Takt, 256 Bit (z.B.) Cache 1 - 3 Takt(e), 1 KB – 16 MB 25 – 40 Takte Kapazität Preis / Bit Zugriffszeiten 06.06.16 Übung zu Grundlagen der Rechnerarchitektur und -organisation Burkhard Ringlein The Big Picture 2. Warum verstecken moderne CPUs Daten? Französisch: cache f. Deutsch: das Versteck, der Schlupfwinkel Pl.: die Verstecke, die Schlupfwinkel (leo.org) RAM: z.B. 4GB Register: z.B. 8 * 32bit (x86) Addressbereich Programm gauss-filter.c .text: for­Schleife CPU 1 Takt, 256 Bit (z.B.) Cache .data: image 1 - 3 Takt(e), 1 KB – 16 MB 25 – 40 Takte Kapazität Preis / Bit Zugriffszeiten 06.06.16 Übung zu Grundlagen der Rechnerarchitektur und -organisation Burkhard Ringlein The Big Picture 2. Warum verstecken moderne CPUs Daten? Französisch: cache f. Deutsch: das Versteck, der Schlupfwinkel Pl.: die Verstecke, die Schlupfwinkel (leo.org) RAM: z.B. 4GB Register: z.B. 8 * 32bit (x86) hardwarebestimmte Zuordnungsfunktion Addressbereich Programm gauss-filter.c .text: for­Schleife CPU 1 Takt, 256 Bit (z.B.) Cache .data: image 1 - 3 Takt(e), 1 KB – 16 MB 25 – 40 Takte Kapazität Preis / Bit Zugriffszeiten 06.06.16 Übung zu Grundlagen der Rechnerarchitektur und -organisation Burkhard Ringlein The Big Picture 2. Warum verstecken moderne CPUs Daten? Französisch: cache f. Deutsch: das Versteck, der Schlupfwinkel Pl.: die Verstecke, die Schlupfwinkel (leo.org) RAM: z.B. 4GB Register: z.B. 8 * 32bit (x86) hardwarebestimmte Zuordnungsfunktion Addressbereich Programm gauss-filter.c .text: for­Schleife CPU 1 Takt, 256 Bit (z.B.) Cache 1 - 3 Takt(e), 1 KB – 16 MB Inklusionsbedingung Kapazität Preis / Bit Zugriffszeiten 06.06.16 .data: image Übung zu Grundlagen der Rechnerarchitektur und -organisation Burkhard Ringlein The Big Picture 25 – 40 Takte 2. Warum verstecken moderne CPUs Daten? heutige CPUs: Festplatte 1 - 3 Takt(e), 1 – 128 KB 3 - 6 Takt(e), 256KB – 16 MB Inklusionsbedingung 06.06.16 Übung zu Grundlagen der Rechnerarchitektur und -organisation Burkhard Ringlein The Big Picture 25 - 40 Takt(e), 5 – 15ms, TB ? GB ? 3. Wieso funktionierts? Eigenschaften von Programmen: zeitliche Lokalität: räumliche Lokalität: 06.06.16 Nach Zugriff auf eine Adresse erfolgt in naher Zukunft erneut ein Zugriff auf dieselbe Adresse. Nach Zugriff auf eine Adresse erfolgt in naher Zukunft ein Zugriff auf eine benachbarte Adresse. Übung zu Grundlagen der Rechnerarchitektur und -organisation Burkhard Ringlein The Big Picture 3. Wieso funktionierts? Eigenschaften von Programmen: ...und wie sie von Caches genutzt werden: zeitliche Lokalität: räumliche Lokalität: 06.06.16 Nach Zugriff auf eine Adresse erfolgt in naher Zukunft erneut ein Zugriff auf dieselbe Adresse. Nach Zugriff auf eine Adresse erfolgt in naher Zukunft ein Zugriff auf eine benachbarte Adresse. Übung zu Grundlagen der Rechnerarchitektur und -organisation Burkhard Ringlein The Big Picture 3. Wieso funktionierts? Cache Blöcke Eigenschaften von Programmen: ...und wie sie von Caches genutzt werden: zeitliche Lokalität: Nach Zugriff auf eine Adresse erfolgt in naher Zukunft erneut ein Zugriff auf dieselbe Adresse. » „Caching selbst“: Ein Block wird erst Verdrängt, wenn nötig und dann derjenige, der vermutlich nicht mehr gebraucht wird. räumliche Lokalität: 06.06.16 Nach Zugriff auf eine Adresse erfolgt in naher Zukunft ein Zugriff auf eine benachbarte Adresse. » Cache-Blöcke sind (wesentlich) größer als die Maschinenwortbreite Übung zu Grundlagen der Rechnerarchitektur und -organisation Burkhard Ringlein The Big Picture Offene Fragestellungen: Damit Caching funktionieren kann, müssen folgende „Probleme“ gelöst werden: 1. Die Hardware muss ein Datum im Cache wiederfinden → block placement / block identification1 2. Die Hardware muss entscheiden, was bei Bedarf verdrängt wird → block replacement 3. Was passiert bei einem Schreibzugriff? → write strategy 1: Aus J. L. Hennessy und D. A. Patterson, Computer Architecture - A Quantitative Approach 5th Edition. Morgan Kaufmann, 2012, Seite B-6, ff. 06.06.16 Übung zu Grundlagen der Rechnerarchitektur und -organisation Burkhard Ringlein to be continued.... 06.06.16 Übung zu Grundlagen der Rechnerarchitektur und -organisation Burkhard Ringlein The Big Picture