Glossar

Inhalt


Assoziativ-Cache

Ein Assoziativer Cache besitzt, im Gegensatz zu einem Direct- Mapped-Cache, mehrere Cache-Lines, die sich auf eine Gruppe von Hauptspeicherstellen beziehen. Die Performance des Cache leidet dadurch weniger unter Programmen, die ihre Daten im Hauptspeicher verstreut ablegen.

Branch Prediction Unit

Die Branch Prediction Unit (BPU) ist Bestandteil vieler moderner CPUs. Sie errechnet die möglichen Sprungziele von bedingten und unbedingten Verzweigungen beim ersten Durchlauf einer Schleife. Die CPU muß bei richtiger Vorhersage nicht mehr warten, welche Sprungrichtung tatsächlich vorliegt.

Cache-Line

Die Cache-Line ist die kleinste Verwaltungseinheit innerhalb des Cache. Je nach CPU- und Cache-Typ sind Cache-Lines von 64 Bit bis hin zu 512 Bit Möglich.

Datenkohärenz

Datenkohärenz bedeutet, daß die Daten innerhalb eines Speichersystems konsistent sind. Dies ist besonders bei Multiprozessor-Systemen mit gemeinsarn genutztem Hauptspeicher (Shared Memory) und bei gestaffelten Cache ein kritischer Bereich. Hat etwa eine CPU Teile des Hauptspeichers in ihren Cache geladen, so muß ein Datenkohärenz-Protokoll wie etwa MESI sicherstellen, daß keine andere CPU diese Daten manipuliert, ohne den ersten Prozessor darüber zu informieren.

Direct-Mapped-Cache

Ein Direct-Mapped-Cache ist so organisiert, daß er direkt auf den Hauptspeicher abgebildet ist. Das heißt, eine Cache-Line bezieht sich auf mehrere Speicherbereiche, die im Abstand der Cache-Größe im Hauptspeicher liegen.

MESI

Standardisiertes Datenkohärenz-Protokoll. MESI steht für ,Modified', ,Exclusiv', ,Shared' und ,Invalid' und beschreibt den Zustand einer Cache-Line.

TLB

Der Transition Look Aside Buffer (TLB) ist ein Bestandteil der Memory-Management-Unit. Er speichert die physikalische Lage der aktuell genutzten Speicherseiten zwischen. Ohne TLB müßte die CPU bei jedem Speicherzugriff aufs neue die Zuordnung zwischen logischem und physikalischem Adreßraum bestimmen.

Pipeline

Die Pipeline einer CPU Ähnelt einem Fließband, die einzelnen Verarbeitungsstufen entsprechen den Bearbeitungsstationen am Band. Im einfachsten Fall sind dies drei Stufen: Befehl laden, Befehl verarbeiten, Resultat zurückschreiben. Moderne Prozessoren haben allerdings erheblich mehr Stufen in ihrer Pipeline. Sie wollen dadurch erreichen, daß jeder Befehl eine Stufe in nur einem Takt durchläuft. Kann bei jedem Takt ein neuer Befehl in die Pipeline geladen werden, so spricht man von Fully Pipelined. Ist die Pipeline in der Lage, eine Stufe in einem halben Takt zu bewältigen, kann sich die CPU mit dem Attribut Superpipelined schmücken.

Superskalar

Ein superskalarer Prozessor zeichnet sich dadurch aus, daß er in der Lage ist, mehrere Befehle auf verschiedene Verarbeitungs. einheiten, etwa Integer-, Load/Store- und Floatingpoint-Unit, zu verteilen, in denen die Instruktionen parallel verarbeitet werden.
krupp@unix-ag.uni-kl.de