... Caches[*]
Das Wort Cache stammt vom Französischen cacher (verstecken), da sich Caches normalerweise vollkommen transparent verhalten.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Inc.[*]
http://www.sun.com/
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... sind[*]
http://java.sun.com/products/jdk/1.2/index.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... geladen[*]
Die Cache-Speicher-Verbindung kann so entworfen werden, dass der Speicher durch das zusätzliche Lesen eines ganzen Blocks nicht langsamer wird (ein paar Schlagworte dazu: nibble mode, block mode der Speicher, Interleaving, Pipelining, breite Speicherbusse zum parallelen übertragen mehrerer Worte...). Oft wird auch das benötigte Wort zuerst geladen und zum Prozessor weitergeleitet und erst danach der restliche Block.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... identifiziert[*]
Üblicherweise ist der Tag ein Teil der Hauptspeicheradresse des entsprechenden Blocks.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... erhöhen[*]
Bei On-Chip-Caches ist die Größenbeschränkung durch die verfügbare Chipfläche vorgegeben.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... minimieren[*]
Stallings bemerkt in [Stall96], dass eine Reihe von diesbezüglichen Studien eine "optimale" Cache-Größe zwischen 1K und 512K Worten ergeben haben, wobei es durch die starke Abhängigkeit der Performance von der Art des konkreten workloads nicht möglich ist, eine wirklich "optimale" Größe zu erreichen.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Zeile[*]
Für eine Set-Größe von zwei z.B. mit einem hot/cold (toggle)Bitt. Allgemein beschreibt [Smith82] eine Implementierung mit einer upper-left triangular matrix, die bei einer Set-Größe von $ k$ mit $ k(k-1)/2$ Statusbits auskommt ( $ \lceil\log{2k!}\rceil$ ist das theoretische Minimum), einfach in Hardware zu implementieren und besonders schnell ausführbar ist. Die Menge der zusätzlichen Statusbits ist bis zu einer Set-Größe von 8 akzeptabel. Für größere Sets werden Approximationen an LRU verwendet.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... umzugehen[*]
z.B. mit Kohärenzprotokollen wie I/O-through-Cache, Bus-Watching-With-Write-Through, Hardware-Transparency, Non-Cacheable-Memory
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... wird[*]
Dieses Phänomen wird auch Cache-Pollution genannt
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Zugriff[*]
z.B. instruction-fetch, data-fetch, data-store, ...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Messung[*]
Hardwaremonitoring
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... modellieren[*]
Multitasking kann durch ein "Mischen" mehrerer Traces oder ein flushen des Caches in regelmäßigen Abständen simuliert werden.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Simulationsprojekt[*]
Modellierung und Simulation eines Rechnersystems
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... speichern[*]
Was natürlich für eine reine trace-gesteuerte Cache-Simulation überhaupt keinen Sinn macht, da dabei nur die Statusinformationen sowie die Tags benötigt werden.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Inc.[*]
http://www.sun.com/
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... verfügbar[*]
http://java.sun.com/products/jdk/1.2/index.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... realisieren[*]
Man spricht dann auch nicht mehr unbedingt von programmieren sondern von zusammenklicken.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Web[*]
http://java.sun.com/beans/spec.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Model[*]
Event sources werden in diesem Modell an interessierte listeners delegiert - daher der Name.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...MemoryItem[*]
Klasse zur Kapselung von Hauptspeicherdaten, enthält sowohl die Hauptspeicheradresse als auch den Inhalt der Speicherzelle.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...dineroIII[*]
dineroIII ist seit vielen Jahren der Standard für tracegesteuerte Cache-Simulation.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Zugriff[*]
0-read data, 1-write data, 2-instruction fetch, 4-cache flush
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...$ bestimmt.$[*]
Spezifikationsgemäß werden für alle Bean Properties entsprechende getter- und setter-Methoden implementiert. Ihre Signaturen entsprechen dem folgenden Schema: public void setPropertyName(PropertyType t) bzw. public PropertyType getPropertyName().
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... (ActionListener)[*]
nur für interne Zwecke
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Membervariablen[*]
was keinesfalls ein Muß ist...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Ergebnisse[*]
die genau den dineroIII Ergebnissen entsprechen. Generell wurde dineroIII zur Validierung der Ergebnisse benutzt.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...jar-Datei[*]
Java-Version einer zip-Datei
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Verzeichnis[*]
Bei der hier verwendeten BeanBox muß dies .../Bdk1.1/jars sein
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... sind[*]
Alle hier vorgestellten Simulator Beans besitzen entsprechende BeanInfo Klassen.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...dineroIII[*]
siehe dineroIII Dokumentation von Mark D. Hill [Hil89] "Bugs: Not all combination of options have been throughly tested."
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

©2002 EDV-Beratung Morgenstern, Holger Morgenstern EDV-Gutachten / IT-Expertise (Hardware,Software,Internet,Telekommunikation)

Tex2HTML generiert von Gerald Heim (DANKE Gerald!!!)