Digitale Hardware/ Software-Systeme- P11:Getrieben durch neue Technologien und Anwendungen wird der Entwurf eingebetteter Systeme zunehmend komplexer. Dabei ist eine Umsetzung als Hardware/Software- System heutzutage der Stand der Technik. Die Minimierung von Fehlern im Entwurf dieser Systeme ist aufgrund deren Komplexit¨at eine der zentralen Herausforderungen unserer heutigen Zeit. Bereits heute wird mehr Aufwand in die Verifikation, also in die U¨ berpru¨fung der Korrektheit, eines eingebetteten Systems gesteckt als in den eigentlichen Entwurf | Formale Verifikation von Prozessoren 293 bestimmt. Alternativ kann ein Operand auch direkt als Konstante in der Instruktion gespeichert sein. In der ALU wird anschließend die durch der Instruktion codierte Operation berechnet. Das berechnete Ergebnis der ALU kann entweder als Adresse zum Laden oder Speichern von Daten aus bzw. in den Hauptspeicher dienen oder im Registersatz gespeichert werden. Alternativ zu ALU-Operationen kann über einen Addierer ADD eine neue Sprungadresse für den PC also die Adresse der nächsten Instruktion berechnet werden. Die Instruktionssatzarchitektur des Prozessors ist durch die Operationen der ALU typischerweise Addition Subtraktion und logische Vergleiche den Lade-und Speicherbefehlen und den implementierten Sprungbefehlen gegeben. Auf der Mikroarchitektur in Abb. muss zunachst die Berechnung einer Instruktion abgeschlossen sein bevor mit Hilfe des PC eine neue Instruktion geladen wird. Arbeitet die Mikroarchitektur wie die ISA sequentiell so kann die Verifikation als Automatenaquivalenz formuliert werden. Die Implementierungen von Prozessoren sind allerdings immer komplexer geworden. Die Mikroarchitektur eines modernen Prozessors besteht heutzutage aus mehreren parallelen Pipelines mit Multi-zyklen-Funktionseinheiten Sprungvorhersage spekulativer Ausführung und sogar dynamischer Ablaufplanung von Instruktionen engl. out-of-order execution OOO . Diese Optimierungen an der Mikroarchitektur zielen darauf ab den Instruktionsdurchsatz des Prozessors zu erhöhen. Mit der zunehmenden Komplexitat von Prozessoren werden zuverlassige Verifikationsansatze benotigt die es erlauben die Äquivalenz von ISA und optimierter Mikroarchitektur zu beweisen. Im Folgenden werden einige wichtige Ansatze zur Aquivalenzpriifung von Prozessoren naher diskutiert. Zunachst werden Verifikationsansatze für Prozessoren mit Fließbandverärbeitung engl. pipelining diskutiert. Anschließend werden Erweiterungen für Prozessoren mit Funktionseinheiten deren .