Hardware Reference
In-Depth Information
Prozessor
First-Level Cache
für Befehle
First-Level Cache
für Daten
Second-Level Cache
(Befehle und Daten)
Hauptspeicher
Abbildung 7.9. Typische Speicherhierarchie mit zwei Ebenen von Caches. Aufgrund der
getrennten First-Level-Caches fur Befehle und Daten spricht man von einer
Pseudo-Harvard-Architektur
meist nicht besonders groß. Darunter kann ein Second-Level-Cache vorhan-
den sein, der zwar langsamer als der First-Level-Cache ist, aber immer noch
deutlich schneller als der Hauptspeicher. Er ist großer als der First-Level-
Cache. Zwischen dem Hauptspeicher und dem Second-Level-Cache konnte
noch ein Third-Level-Cache angeordnet sein usw. Beim Zugriff auf Daten
kann in allen Hierarchie-Ebenen gleichzeitig begonnen werden, die Daten zu
suchen.
Aus Sicht eines Betriebssystems sind auch der Hauptspeicher sowie die Fest-
platten Teil der Speicherhierarchie.
Es hat sich durchgesetzt, den First-Level-Cache in zwei Teile zu trennen:
Einen fur Daten und einen fur Befehle. Der Prozessor greift auf den Befehls-
cache ausschließlich lesend zu. Diese Aufteilung ist bekannt unter dem Begriff
Pseudo-Harvard-Architektur . Im Unterschied dazu verfugt die klassische von-
Neumann-Architektur uber einen gemeinsamen Speicher fur Programm und
Daten. Die Vorsilbe Pseudo“ deutet an, dass die Aufteilung in getrennte
Speicherbereiche fur Programm und Daten erst in einer sehr hohen Ebene
der Speicherhierarchie geschieht. Eine reine Harvard-Architektur wurde auch
getrennte Hauptspeicher fur Programm und Daten aufweisen. Eine solche
Architektur findet man lediglich bei Signalprozessoren.
Ubung 7.2.1 Warum ist es bei den meisten modernen Prozessoren verbo-
ten, Programme zu schreiben, die sich selbst verandern (so genannter selbst-
modifizierender Code)?
7.2.1
Search WWH ::




Custom Search