Cache Richtig

Antworten
Benutzeravatar
yun7x
Site Admin
Beiträge: 1560
Registriert: Di Jul 18, 2023 8:36 pm
Wohnort: D-72072, Tübingen
Kontaktdaten:

Cache Richtig

Beitrag von yun7x »

Ich kann ihnen Cache-Speicher ganz schnell und ganz rasant erklären

Also, der erste Unterschied ist der

1.) Ich habe einen ortsaddressierten Arbeitsspeicher
2.) Einen Inhaltsaddressierte

Nehmen wir den typischen Arbeittspeicher, ich will auf Addresse

0x5b zu greifen. Gut, dann lege ich die an

Gut, das ist ortaddressiert. Jetzt was ich inhaltsaddressiert. Sie dürfen das nicht verwechseln

Inhaltsaddressiert ist der Cache, aber es wird kein Inhalt angelegt. Beispiel: Wenn ich im RAM einen Elefanten an Addresse 0x5b habe, dann lege ich 0x5b und kriege - den Elefanten als Datum

Aber, wenn ich jetzt einen Cache dazwischen schalte, dann ist der Inhaltsaddressiert. Das heisst aber nicht, ich lege einen Elefanten an und kriege ein. Wie es als Datum im RAM steht

Sondern, ich lege 0x5b an, was im RAM addressiert werden soll und jetzt - die Organisation des Cache ist assoziativ, d.h. Inhaltsaddressiert. Die Organisation. Das heisst nicht, ich lege das Datum an. Sondern die Addresse für den RAM

Gut, der Cache ist Zwischenspeicher und ich tue 0x5b an das RAM - der Zwischenspeicher dazwischen

Jetzt geht das 0x5b an den Cache. Und das assoziativ heisst einfach, das Datum, was da im RAM steht, steht quasi genauso wie beim RAM drin, nur - der Unterschied, diese 0x5b wurde mit dem Datum hinterlegt. Anders als RAM muss die 0x5b nicht an der Stelle 0x5b liegen

Also, beim RAM ist das: Die 0x4b liegt irgendwo vor der 0x5b

Also, 0, 1, 2, 3, 4,

Aber, die 4, und alles andere kann beim Cache überlegen, dazu gepseichert sind das Datum

Und jetzt der zweite Teil

1.) Ich habe die Cache-Zeile
2.) Den Cache Block.

Was isrt jetzt was. Also, erstnes ich speichere nicht Byte für Byte. Sondern ich speichere immer gleich 128 Byte

Gut

1.) Jetzt haben wir zu sagen, einen physischen Teil, von Speicher
2.) Einen Datenteil, der flüchtig ist

Also, ich habe ein Datum, von den Registern her gesehen. Ich habe 16 Bit Register und den wert

0xfffe

Gut, das ist das Datum. Das ist der flüchtige Teil. Dann habe ich den physischen Teil, das ist das Register

So, der flüchtige Teil, ist die Cache Zeil. Der Physische Teil der Cache Block

Also, jetzt entspricht die Länge oder Breite oder grösse der Cache Zeile dem Cache Block

Jetzt könnte man fragen - warum hat man Cache Zeilen, die Dynimisch sind, also Daten, genauso gross wie den Cache Block

Das ist ganz einfach. Angenommen ich habe ein 128 Bit Register. Dann speichere ich ein 128 Bit drin

Die Cache Zeile ist einfach ein flüchtiger Datums Teil, der kommt in einen physischen Bereich, den Cache Block

So weit einfach.

Jetzt stellen wir uns einen ganz einfach Cache vor. Wir schalten keinen Speicher dazwischen, sondern ein Register

Das ist nicht 128 Bit Gross, 128 Byte. Also, wir schalten ein Register mit 128 Byte dazwischen

Jetzt der Cache speicher. der Besteht aus einem einzigen Satz

Also, anstatt, dass ich ein Register nehme, auf dem Datenbus, was zwischen Arbeitsspeicher und Prozessor liegt, nehme ich einen ganzen Speicher, mit lauter 128 Byte Blöcken

Also, ein Speicher, mit 128 Byte Blöcken und davon hat der Speicher 16

Also, ein Speicher, mit 16 Blöcken, so heissen , die 128 Byte physisch und das sind 16 Blöcke, und jeder Block ist 128 Byte

das wäre Vollassoziativ

Jetzt kaufe ich diesen Speicher

16 Blöcke und jeder Block ist 128 Byte

Jetzt kommt ein Gedankenexperiment. Angenommen ich kaufe diesen Cache, dnan kaufe ich den deswegen, dass ich ihn benutzen als Cache. Ich möchte seine Vorzüge geniessen

Ich kaufe einen solchen Speicher und schliesse den an

16 Blöcke zu je 128 Byte

Gut, wenn ich einen Cache kaufe, erwarte ich, das Datum kann überall stehen. Ich kaufe einen Riegel. Sagen wir mal so - ein Plätchen. Da sind 16 Blöcke zu 128 Byte draufä

Jetzt erwarte nur eines von dem: Das Datum kann überall stehen. Sonst kaufe ich ja ein Plättchen, das muss ja seinen Zweck erfüllen. Also, kann das über stehen

Das geht nicht um das nächste Thema. Aber ein Vollassoziaitver Cache soll seinen Zweck erfülleln

Jetzt kaufe ich noch einen Cache. Jetzt habe ich 2. Gut, jeder der beiden erfüllt ein wunderbares Kriterium. Das Datum kann, wnen man das pro Die sieht, also pro Plättchen überall stehne

Jetzt habe ich zwei

Jetzt fange ich an in Sätzen zu reden.

Wenn ch eine Charge beim Baumarkt bestelle, dann bestelle ich einen Satz. Ich habe einen Satz von den Bauteilen und einen Satz von denn

Jeder, Die den ich kaufe, besthet als lauter Blöcken. Aber die Blöcke zusammengefasst, für die gkauften sind jeweils ein Satze, eine Charge

Also, habe ich jetzt zwei Sätze

Die Blöcke werden zu Sätzen zusammengefasst. Das ist ein Sazt von Blöcken

Jetzt habe ich zwei solche Sätze. Gut, jetzt tut jeder was er soll. Es kann in jedem der beiden in jedem Block stehen

Jetzt habe ich aber 2 Sätze - jetzt kann das entweder in dem ersten Stehen oder im zweiten.

Jeder erfüllt dass Kriterium. Innerhalb kann das an jeder stelle, in jedem Stehen. Jetzt habe ich 2 gekauft, danach 4. Nachdem ich die alle angeschlossen habe, kann jedem das Ding überall stehen

Aber ich habe 4 angeschlossen. Es gibt eine Einschränkung, nachdem das geschehen ist. Entweder in dem einen Satz, in dem ersten Die, dann im zweiten, dann dritten

Und was ist Direkt abgebildet.

Ich hatte ja am Anfang ein Register. Ich hatte keine Blöcke, ich hatte nur einen einzigen Block. Ein Register

Gut, Direkt abgebildet heisst, ich habe lauter Register, kaufe Register für Register, aber jedes der Dies ist immer nur eines. Jetzt kann das da stehen oder da

Jetzt psychologische Anmerkung: Jetzt kommen Baumarkt mitarbeiter und sagen: Man kann den Cache nicht so anschliessen. Danke schön. Wir sind nicht im Baumarkt, es geht um das kaufen und was sie montieren.

Aber nichts gegen den Baumarkt, ausgerechnet nicht gegen die. Im Gegensatz zu anderne, gehören sie zu den tadellost organisiertesten Menschen und Angelenheiten.
Antworten