Big - Computer Architecture

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