Mikroarchitektur

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung.
Blockdiagramm der Mikroarchitektur des historischen Prozessors Intel 8008

Der Begriff Mikroarchitektur bezeichnet die konkrete, prozessorinterne Realisierung einer CPU mit vorgegebener Befehlssatzarchitektur. Er bezieht sich ausdrücklich nicht auf die fertigungstechnische Realisierung einer CPU, sondern auf die internen Abläufe bei der Verarbeitung von Befehlen auf Register-Transfer-Ebene oder auf logischer Ebene. So ist beispielsweise die superskalare Implementierung einer CPU nur eine Art der Realisierung ihrer Mikroarchitektur, wohingegen Begriffe wie VLIW und EPIC verschiedene Paradigmen beim Entwurf einer Befehlssatzarchitektur bezeichnen.

Die bei einem Prozessor implementierte Befehlssatzarchitektur lässt nicht zwangsweise Rückschlüsse auf die verwendete Mikroarchitektur zu. In der Praxis werden Mikroarchitekturen oft mit Blick auf eine vorgegebene Befehlssatzarchitektur entworfen, etwa um die Kompatibilität zu Vorgängermodellen einer CPU zu wahren. Die Unterschiede zur Mikroarchitektur des Vorgängermodells können dabei mitunter erheblich sein. Als Beispiel seien die x86-CPUs Pentium und Pentium Pro genannt, deren Befehlssätze sich – von ein paar Erweiterungen beim Pentium Pro abgesehen – kaum unterscheiden, deren Mikroarchitekturen aber grundverschieden sind.

Die Ziele beim Entwurf einer neuen oder bei der Weiterentwicklung einer bestehenden Mikroarchitektur können vielfältig sein. Sie sind in der Regel abhängig vom späteren Einsatzzweck der CPU, manchmal auch vom Marketing. Im Vordergrund steht meist die möglichst schnelle Ausführung eines Programms. Aber auch Aspekte wie kostengünstige Fertigung, Energieverbrauch, Skalierbarkeit, Erweiterbarkeit und Wartbarkeit können Entwurfsziele sein. Besonders deutlich wird dies wiederum am Beispiel x86-kompatibler CPUs: Während die Marktführer Intel und AMD ihre x86-Mikroarchitekturen primär auf hohe Ausführungsgeschwindigkeiten trimmen, versuchen Hersteller wie Transmeta und VIA im weitaus höheren Maße, Fertigungskosten und Stromverbrauch zu minimieren. So ist die Mikroarchitektur des in der Tradition des WinChip stehenden VIA C3 zu diesem Zweck besonders einfach gehalten, wohingegen Transmeta beim Crusoe und beim Efficeon eine Mikroarchitektur mit einer Art hochspezialisierter VLIW-CPU verwendet, die eine so genannte Code-Morphing-Software ausführt, welche letztendlich für die Ausführung des eigentlichen x86-Code verantwortlich zeichnet.

Ein ganz anderer Ansatz ist, die Befehlssatzarchitektur von vornherein so zu entwerfen, dass Designziele bei der Implementierung einer passenden Mikroarchitektur besonders einfach umzusetzen sind. Derartige Ansätze sind natürlich nur bei CPU-Neuentwicklungen möglich, deren Befehlssatzarchitektur keine Rückwärtskompatibilität erfordert. Intel ist diesen Weg bei der Entwicklung der Itanium-CPU gegangen, bei deren Entwurf eine möglichst einfache In-Order-Befehlsausführung im Vordergrund stand, was Energie und Chipfläche sparen und nicht zuletzt auch die Ausführungsgeschwindigkeit erhöhen kann. Der Preis, den der Itanium für diese vereinfachte Befehlsausführung zahlen muss, ist der aufwendige Compiler.

 Commons: Microarchitectures – Sammlung von Bildern, Videos und Audiodateien