Übung 6 : Aufgabe 3 & 5
Übung 6 : Aufgabe 3 & 5
Hallo ,
ich habe zwei Fragen bezüglich der 3 Aufgabe teil c und 5 Aufgabe a
1 Frage: 3-c) wie kann ich wissen ob es Valid bit ist oder nicht?
wie kann man die Tags bits berechnen ?
2: Frage 5-a) wie kann man wissen ob es sich um ein Hit oder miss handelt ?
Vielen Dank
Gruß
ich habe zwei Fragen bezüglich der 3 Aufgabe teil c und 5 Aufgabe a
1 Frage: 3-c) wie kann ich wissen ob es Valid bit ist oder nicht?
wie kann man die Tags bits berechnen ?
2: Frage 5-a) wie kann man wissen ob es sich um ein Hit oder miss handelt ?
Vielen Dank
Gruß
- Dateianhänge
-
- 3c.png (36.28 KiB) 1310 mal betrachtet
-
- 5a.png (55.2 KiB) 1310 mal betrachtet
-
- Windoof-User
- Beiträge: 35
- Registriert: 4. Okt 2010 21:29
Re: Übung 6 : Aufgabe 3 & 5
Zur 5a) Im ersten Fall (0x9A44) ist es ein miss, da noch nichts im Cache steht. Im zweiten Fall ist die Adresse auch noch nicht im Cache, also wieder ein miss und die Adresse wird die Cache hinzugefügt. Genauso geht das auch im dritten Fall weiter.
Im vierten Fall ist die Adresse auf die zugegriffen wird schon im Cache (Eintrag 2) daher ist es ein Hit und die Adresse wird dem Cache natürlich nicht hinzugefügt.
Genauso geht das dann immer weiter. Dabei ist noch zu beachten, dass es sich um die FIFO Ersetzungsstrategie handelt.
Bei der 3 denke ich, dass das Valid-Bit gesetzt wird, wenn sich die Hauptspeicheradressen im Cache befinden.
Im vierten Fall ist die Adresse auf die zugegriffen wird schon im Cache (Eintrag 2) daher ist es ein Hit und die Adresse wird dem Cache natürlich nicht hinzugefügt.
Genauso geht das dann immer weiter. Dabei ist noch zu beachten, dass es sich um die FIFO Ersetzungsstrategie handelt.
Bei der 3 denke ich, dass das Valid-Bit gesetzt wird, wenn sich die Hauptspeicheradressen im Cache befinden.
Zuletzt geändert von Kristoffer am 18. Mär 2012 13:34, insgesamt 1-mal geändert.
Re: Übung 6 : Aufgabe 3 & 5
Vielen Dank
Re: Übung 6 : Aufgabe 3 & 5
An Aufgabe 3c) hänge ich auch grad.
Kann mir einer erklären, wie sich die einzelnen Spalten zusammensetzen, insbesondere „Data“, bzw. woher man weiß was da am Ende drinnen steht?
Und auch wie man die Tags berechnet?
Kann mir einer erklären, wie sich die einzelnen Spalten zusammensetzen, insbesondere „Data“, bzw. woher man weiß was da am Ende drinnen steht?
Und auch wie man die Tags berechnet?
Re: Übung 6 : Aufgabe 3 & 5
Eine Speicheradresse (welche ein Byte adressiert) wird zerlegt nach dem Muster Tag|Index|Offset.nairolf hat geschrieben:An Aufgabe 3c) hänge ich auch grad.
Kann mir einer erklären, wie sich die einzelnen Spalten zusammensetzen, insbesondere „Data“, bzw. woher man weiß was da am Ende drinnen steht?
Und auch wie man die Tags berechnet?
Ein Eintrag im Cache beinhaltet immer einen ganzen Block vorgegebener Größe, in diesem Fall 1 Block = 1 Byte. Das heißt der Offset hat Länge 0.
Da es 8 Einträge gibt, brauchst du 3 Indexbits (I) und der Rest ist der Tag (T). --> TTTTT|III
Nun wird die Tabelle "gefüllt" indem du die Speicheradressen zerlegst nach obigem Muster und bereits besetzte Einträge je nach Ersetzungsstrategie evtl. ersetzst: 0x01, 0x02, 0x03, 0x13, 0xF8, 0xF9, 0xAA, 0xCC, 0x57
Dann kommt das Ergebnis wie auf dem Blatt raus. In diesem Fall hast du keinen Offset, sodass du die Adresse der dort gespeicherten Speicherbytes über Zusamensetzen des Tags und des Index errechnest. Damit kommst du z.B. beim ersten Eintrag zu den Speicher(0xF8), denn 0xF8 = 0b(11111)(000) = (Tag)(Index).
Wenn der Block größer als 1 Byte ist, (z.B. 4 Byte pro Block) dann ist der Speicherbereich (Tag)(Index)00 - (Tag)(Index)11
Re: Übung 6 : Aufgabe 3 & 5
Hallo,
wie kann ich denn bei der 5a die Anzahl der Tagging-Bits berechnen?
Danke & Grüße
wie kann ich denn bei der 5a die Anzahl der Tagging-Bits berechnen?
Danke & Grüße
Re: Übung 6 : Aufgabe 3 & 5
Heißt das dass wir dann bei der Aufgabe 4 Blöcke adreessieren, die 16 Byte groß sind?zimpfer hat geschrieben:Eine Speicheradresse (welche ein Byte adressiert) wird zerlegt nach dem Muster Tag|Index|Offset.nairolf hat geschrieben:An Aufgabe 3c) hänge ich auch grad.
Kann mir einer erklären, wie sich die einzelnen Spalten zusammensetzen, insbesondere „Data“, bzw. woher man weiß was da am Ende drinnen steht?
Und auch wie man die Tags berechnet?
Ein Eintrag im Cache beinhaltet immer einen ganzen Block vorgegebener Größe, in diesem Fall 1 Block = 1 Byte. Das heißt der Offset hat Länge 0.
Da es 8 Einträge gibt, brauchst du 3 Indexbits (I) und der Rest ist der Tag (T). --> TTTTT|III
Nun wird die Tabelle "gefüllt" indem du die Speicheradressen zerlegst nach obigem Muster und bereits besetzte Einträge je nach Ersetzungsstrategie evtl. ersetzst: 0x01, 0x02, 0x03, 0x13, 0xF8, 0xF9, 0xAA, 0xCC, 0x57
Dann kommt das Ergebnis wie auf dem Blatt raus. In diesem Fall hast du keinen Offset, sodass du die Adresse der dort gespeicherten Speicherbytes über Zusamensetzen des Tags und des Index errechnest. Damit kommst du z.B. beim ersten Eintrag zu den Speicher(0xF8), denn 0xF8 = 0b(11111)(000) = (Tag)(Index).
Wenn der Block größer als 1 Byte ist, (z.B. 4 Byte pro Block) dann ist der Speicherbereich (Tag)(Index)00 - (Tag)(Index)11
Re: Übung 6 : Aufgabe 3 & 5
Zu 5a) Schau dir einfach die Blockgröße an um zu wissen was als Tag noch übrig bleibt.
Programming today is a race between software engineers striving to build bigger and better idiot proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
Re: Übung 6 : Aufgabe 3 & 5
Wieso ist hier 1 Block = 1 Byte?zimpfer hat geschrieben: Eine Speicheradresse (welche ein Byte adressiert) wird zerlegt nach dem Muster Tag|Index|Offset.
Ein Eintrag im Cache beinhaltet immer einen ganzen Block vorgegebener Größe, in diesem Fall 1 Block = 1 Byte....
Mir ist insgesamt nicht ganz klar wie man bei dieser Aufgabe auf Offset = 0 kommt. :/
Re: Übung 6 : Aufgabe 3 & 5
Die sind einfach der Rest der Adresse, nachdem du Index und Offset bestimmt hast.Hallo,
wie kann ich denn bei der 5a die Anzahl der Tagging-Bits berechnen?
Danke & Grüße
Du musst unterscheiden zwischen adressieren (also konkrete Bytes lesen) und prüfen, ob ein Eintrag im Cache ist.Heißt das dass wir dann bei der Aufgabe 4 Blöcke adreessieren, die 16 Byte groß sind?
Zum Prüfen reicht es zu schauen, ob der Block im Cache ist, zum Laden/Schreiben aus/in eine konkrete Adresse wird byteweise adressiert.
Das steht in der Aufgabe nicht dabei, weil die uralt ist, normalerweise ist die Blockgröße angegeben.Wieso ist hier 1 Block = 1 Byte?
Mir ist insgesamt nicht ganz klar wie man bei dieser Aufgabe auf Offset = 0 kommt. :/
Dadurch dass im Block nur ein einziges Byte existiert brauchst du auch keinen Offset, um innerhalb eines Blockes alle Bytes zu adresseren, da man nur eine Möglichkeit hat...
Re: Übung 6 : Aufgabe 3 & 5
Danke!