Arbeitsspeicher ist gross. Dein PC hat wahrscheinlich 1 oder 2 Gigabyte Arbeitsspeicher.
Der Level 2 und allenfalls Level 3 Speicher (Cache) ist klein. In ihn passen ein paar Kilobyte (128, 256, ... je nach System und Alter des Systems (vor 5 Jahren weniger, in 5 Jahren wahrscheinlich mehr)).
Will dein Prozessor Programm oder Daten, so muss er diese über einen Bus aus dem Arbeitsspeicher holen.
Dies benötigt Zeit. Darum ist Arbeitsspeicher langsam (gegenüber den Cache).
Ist dir schon aufgefallen, dass, wenn du den PC startest und OpenOffice oder Word startest, dies länger geht, als wenn du OpenOffice/Word schliesst und gerade wieder startest? Da war der Cache im Spiel. Bin mir nicht ganz sicher, aber der L2-Speicher ist glaub ein elektronischer Baustein nahe dem Prozessor, der ein paar Kilobytes zwischenspeichert. Wenn du also OpenOffice/Word schliesst, dann denkst, ups, muss noch einmal etwas im Dokument nachschauen, und dann OpenOffice/Word nochmals aufmachst, so ist noch etwas OpenOffice/Word im Cache, weshalb OpenOffice/Word dann viel schneller öffnet. Soviel ich weiss, kann man den Cache aber nicht einfach erweitern, also mehr dazukaufen.
Hoffe, es ein wenig Grundsätzlich erklärt zu haben. Bin erst im 1. Semester und hatte dieses Fach noch nicht. Evtl. ist es auf wikipedia.org besser erklärt. LG Roger
PS. Darum ist der Registerspeicher noch schneller, noch teurer und noch kleiner: Die Register sind im Prozessor und haben c.a. 32 Bit (je nach System). Wenn ein Programm zum Beispiel eine Unterroutine (Funktion) aufruft, muss sich der Prozessor ja "merken", wo er vor dem Aufruf der Unterroutine im Programm war. Diese Adresse speichert der Prozessor in einem Register. Dann macht er schön die Funktion bis fertig. Dann schaut er im Stack-Pointer-Register (glaub), an welcher Adresse das Programm fortgesetzt werden soll. Es gibt auch noch Data-Segment-Register, Befehlszähler-Register und ein paar andere. Ein Prozessor hat also nicht nur ein Register(-Speicher), sondern mehrere. Will Prozessor 2+5 zusammenzählen, dann speichert er die Zahl 2 in einem Register (und nicht im Arbeitsspeicher!!! (weil Weg zum Arbeitsspeicher zu weit weg)), dann speichert er die Zahl 5 in einem Register und addiert dann die beiden Register. Ergebnis ist dann 7, welches evtl. dann im Arbeitsspeicher in einer Variable gespeichert wird.
Diese verschiedenen Speicher-Typen machen also durchaus Sinn.