www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Technische Informatik" - Caches
Caches < Technische Inform. < Praktische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Technische Informatik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Caches: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 17:30 Fr 28.03.2014
Autor: DianaDiana

Aufgabe
Ermitteln Sie für die folgenden Zugriffe, ob es sich um Hits oder Misses handelt. Tragen Sie in die untere Tabelle jeweils ein, wie sich der Cacheinhalt verändert - entscheiden Sie dabei im Falle einer Verdrängung nach
der LRU Strategie.

Hallo:)

ich verstehe nicht wie man auf die Musterlösung im Anhang kommt.

[Dateianhang nicht öffentlich]

Ich habe folgende Werte gegeben:

16 Bit Adressgröße
128 Byte Blockgröße
2KByte Cachegröße


Ich habe folgende Werte berechnet:

Offset: 7 Bit
Index: 3 Bit
Tag: 6 Bit
16 Cachelines
8 Sets

Es handelt sich hierbei um einen zweifach satzassoziativen Cache.

Ich weiß das ich Adresse%(Adressbits/2) rechnen muss, um herauszufinden wo die Adresse steht.
Ich bin voll am verzweifeln, hoffe es kann mir jemand weiter helfen.

Vielen Dank im Voraus.
LG Diana

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

Dateianhänge:
Anhang Nr. 1 (Typ: JPG) [nicht öffentlich]
        
Bezug
Caches: Antwort
Status: (Antwort) fertig Status 
Datum: 21:42 Fr 28.03.2014
Autor: Anna-Lyse

Hallo Diana,

> Ich weiß das ich Adresse%(Adressbits/2) rechnen muss, um
> herauszufinden wo die Adresse steht.

ich weiß nicht, ob ich Dein Problem richtig verstanden habe, aber um zu schauen, wie man das macht, nimmst Du einfach z.B. den ersten Zugriff 0x051A. Den schaust Du Dir binär an:
10100011010
Nun weißt Du, dass jede Adresse aus:
Tag-Index-Offset
besteht.
Wenn Du jetzt diese Einteilung auf die binäre Adresse anwendest (denn Du weißt ja, wie lang jeder einzelne Teil ist), dann hast Du es schon fast:
Mit dem Indexteil findest Du den Satz des satzassoziierten Cache-Speicher.
Der Rest sollte dann auch klar sein, oder?

Viele Grüße
Anna

Bezug
                
Bezug
Caches: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 00:13 Sa 29.03.2014
Autor: DianaDiana

Danke für die Antwort:)

Aber ich verstehe trotzdem noch nicht wie ich vorgehen soll.
Die Adresse 0x051A hat die Binärdarstellung 10100011010. Diese wird in
Tag-Index-Offset aufgeteilt:

[mm] \underbrace{000001}_{Tag} \underbrace{010}_{Index} \underbrace{ 0011010}_{Offset} [/mm]

[mm] \Rightarrow [/mm] Index = 2
[mm] \Rightarrow [/mm] Tag = 0x1

Aber woher weiß ich, dass ich in der Spalte Daten bei 0x0500 anfange und bei 0x057f aufhöre?

Ich habe ja einen Offset von 0011010=1A. Muss ich dann 051A-1A = 0500 rechnen? Wenn ich aber dann 051A+1A rechne bekomme ich 0534 raus, aber es muss 057F sein.

Wenn ich herausfinden will, ob es sich bei einer Adresse um ein Hit handelt, muss doch der Tag der Adresse mit einem Tag im Cache übereinstimmen und zusätzlich muss das Valid Bit 1 sein.
Hab ich richtig verstanden, dass das Valid Bit immer 1 ist, sobald etwas im Cache drin steht, und falls es leer ist es immer 0 ist?
LG Diana

Bezug
                        
Bezug
Caches: Antwort
Status: (Antwort) fertig Status 
Datum: 15:35 So 30.03.2014
Autor: Anna-Lyse

Hallo Diana,

> Die Adresse 0x051A hat die Binärdarstellung 10100011010.
> Diese wird in
> Tag-Index-Offset aufgeteilt:
>  
> [mm]\underbrace{000001}_{Tag} \underbrace{010}_{Index} \underbrace{ 0011010}_{Offset}[/mm]
>  
>  
> [mm]\Rightarrow[/mm] Index = 2
> [mm]\Rightarrow[/mm] Tag = 0x1

Genau [ok]

> Aber woher weiß ich, dass ich in der Spalte Daten bei
> 0x0500 anfange und bei 0x057f aufhöre?
>
> Ich habe ja einen Offset von 0011010=1A. Muss ich dann
> 051A-1A = 0500 rechnen?

[ok]

> Wenn ich aber dann 051A+1A rechne
> bekomme ich 0534 raus, aber es muss 057F sein.

Wieso willst Du denn +1A rechnen? Du hast doch einen Offset von 7 Bit = 7F,
also addierst Du: 0500 + 7F = 057F

> Wenn ich herausfinden will, ob es sich bei einer Adresse um
> ein Hit handelt, muss doch der Tag der Adresse mit einem
> Tag im Cache übereinstimmen und zusätzlich muss das Valid
> Bit 1 sein.

Ja, das Valid Bit zeigt an, ob die Cache-Zeile gültig belegt ist.

> Hab ich richtig verstanden, dass das Valid Bit immer 1 ist,
> sobald etwas im Cache drin steht,

Nein, so kann man das nicht sagen mit IMMER. Wird zum Beispiel im Hauptspeicher das Datum geändert, dann wird im Cache dieses auf 0 gesetzt - um eben somit klar zu machen, dass das Datum im Cache nicht mehr aktuell ist.

> und falls es leer ist es
> immer 0 ist?

Ja, falls ein Cache leer ist, dann ist ein Valid Bit sinnlos und ist dementsprechend auch nicht gesetzt.

Viele Grüße
Anna


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Technische Informatik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]