Rosetta ist der Name einer Emulationssoftware, die von der Firma Apple auf ihren Intel-Prozessor-basierten Computern eingesetzt wird. Sie ermöglicht diesen Computern das Ausführen von Programmen, welche für PowerPC-Prozessoren übersetzt (compiliert) wurden.
Inhaltsverzeichnis |
Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf bitte mit, ihn zu verbessern, und entferne anschließend diese Markierung. |
Es handelt sich bei diesem Emulator um einen sogenannten Dynamic Binary Translator. Dieser ermöglicht unter dem Betriebssystem Mac OS X, für PowerPC-Prozessoren compilierten Programmcode auf x86-Prozessoren von Intel auszuführen. Der eigentliche Übersetzungsprozess geschieht dabei transparent im Hintergrund. Dazu wird zunächst der vorliegende PowerPC-Programmcode dekodiert und in ein Zwischenformat übersetzt. Im Anschluss prüft eine sogenannte Core Processing Engine den Programmcode daraufhin, wie schnell die Software im neuen Format arbeiten kann. Schließlich konvertiert die Software den Programmcode in eine Form, die ihn auf x86-basierten Prozessoren lauffähig macht.
Entwickelt wurde Rosetta von der Firma Transitive Technologies, die schon seit einigen Jahren Konvertierungsprogramme für unterschiedliche Prozessoren anbietet.
Die Emulation wurde notwendig, als Apple von den seit 1996 eingesetzten, von IBM, Motorola und Apple entwickelten PowerPC-Prozessoren im Jahr 2006 sukzessive auf x86-Prozessoren von Intel wechselte. Außer der völlig anderen Assemblersprache (Befehlssatz/Register) besteht ein weiterer wesentlicher Unterschied der Prozessortypen in der Verarbeitung der Bytereihenfolge (der PPC hat Big-Endian, der x86 hat Little-Endian).
Rosetta versteht Programmcode, der für einen PowerPC G3 und PowerPC G4 geschrieben wurde, und kann den gesamten AltiVec-Befehlssatz emulieren. Software, die einen G5 voraussetzt, ist dagegen nicht ausführbar, allerdings gilt diese Einschränkung nur für sehr wenige Programme, die allermeisten sind kompatibel. Außerdem verweigert sich Rosetta allen hardwarenahen Funktionen; Treiber für Scanner, Tastaturen und Audiogeräte lassen sich damit beispielsweise nicht übersetzen.
Der Name Rosetta für diese „Übersetzungs-Maschine“ ist angelehnt an den Stein von Rosetta. Dieser war einst der Schlüssel zur Entzifferung der Hieroglyphen.