Was ist ein Emulator?
Ein Emulator ist eine Software oder Hardware, die das Verhalten von Hardware oder Software emuliert.
Anwendungen von Emulatoren
Ein Beispiel für einen häufig verwendeten Emulator ist ein Software-Emulator, der benötigt wird, um Anwendungen des Betriebssystems Android auf einem Smartphone auf einem PC mit Windows-Betriebssystem auszuführen.
Zu den Hardware-Emulatoren gehören z. B. Emulatoren, die für das Debugging bei der Entwicklung von Programmen für Geräte mit Mikrocontrollern verwendet werden.
Funktionsweise der Emulatoren
Computerhardware und -software scheinen zwei verschiedene Dinge zu sein, aber in Wirklichkeit besteht der Unterschied darin, ob derselbe Inhalt in Hardware oder Software ausgeführt wird.
Programme, die in visuellen Programmiersprachen oder Hochsprachen erstellt wurden, werden ebenfalls in Hardware ausgeführt und daher letztlich in Maschinensprache umgewandelt, die in Form von 0en und 1en ausgedrückt wird. Andererseits bestehen alle Schaltkreise in der Hardware, die nur 0en und 1en verarbeiten können, aus logischen Schaltkreisen, die das de Morgan’sche Gesetz umsetzen, und alle numerischen Operationen werden ebenfalls von denselben Schaltkreisen verarbeitet.
Das bedeutet, dass sowohl die Software als auch die Hardware eine Kombination aus logischen 0- und 1-Operationen in verschiedenen Realisierungen verarbeiten. Das Gleiche gilt für die an den Computer angeschlossenen Peripheriegeräte, die die Grundlage der gesamten Digitaltechnik bilden.
Arten von Emulatoren
1. Software-Emulatoren
Wenn Sie eine Android-OS-Anwendung auf einem Windows-Betriebssystem ausführen möchten, kann Software, die in Hochsprachen entwickelt wurde und auf beiden Betriebssystemen ausgeführt werden kann, auf beiden Systemen ausgeführt werden. Wenn die Anwendung jedoch auf einer der Anwendungsentwicklungsumgebungen entwickelt wurde, kann sie auf dem anderen Betriebssystem möglicherweise nicht korrekt ausgeführt werden.
In solchen Fällen ermöglicht beispielsweise die Ergänzung der Anwendung auf dem Android-Betriebssystem durch eine Emulatorsoftware zwischen dem Android-Betriebssystem und dem Windows-Betriebssystem einen normalen Betrieb, aber die Betriebsgeschwindigkeit ist reduziert, da sie über eine Emulatorsoftware ausgeführt wird.
Ein weiteres Beispiel ist Emulatoren-Software, die verschiedene Browser auf demselben Betriebssystem miteinander verbindet. Dies wird z. B. verwendet, wenn eine für den Internet Explorer erstellte Seite auf Edge angezeigt wird. Auch in diesem Fall wird die Arbeitsgeschwindigkeit durch die Programmverarbeitung des Emulators verringert.
2. Hardware-Emulatoren
ICE (Englisch: In Circuit Emulator) ist einer der Hardware-Emulatoren, die bei der Softwareentwicklung für Mikrocontroller-basierte Geräte eingesetzt werden.
Bei der Fehlersuche in der Software ist es notwendig, den internen Status des Mikrocontrollers und der Peripheriegeräte zu überprüfen, aber der interne Status eines normalen Mikrocontrollers kann von den externen Terminals kaum erkannt werden. Aus diesem Grund ist ICE eine Hardware, die den Mikrocontroller durch einen Emulations-Chip ersetzt, der auf die gleiche Weise wie der Mikrocontroller arbeitet, aber ein Terminal hat, das den internen Status nach außen ausgibt.
Der ICE kann einen externen Speicher anschließen, um den Speicher innerhalb des Mikrocontrollers zu verfolgen, oder einen Haltepunkt setzen, um den internen Status zu überprüfen, indem die Programmausführung an einem beliebigen Punkt angehalten (unterbrochen) wird.
3. Andere Hardware-Emulatoren
Neben dem Debugging eingebetteter Software können Hardware-Emulatoren auch verwendet werden, um Software auf Computern auszuführen, die aufgrund von Fehlfunktionen oder aus anderen Gründen nicht mehr verfügbar sind.
Weitere Informationen zu Emulatoren
1. Tipps zur Verwendung von ICE
ICE wird hauptsächlich im Bereich der Softwareentwicklung für die Mikrocomputersteuerung verwendet, da die ICE-Funktionalität ein Programm erfordert, das die Hardware Schritt für Schritt direkt ansteuert.
Obwohl höhere Sprachen die Programmentwicklung erleichtern und die Programme kürzer sind, haben ICE-Programme eine geringere Codegröße, wenn sie tatsächlich in das ROM des Mikrocontrollers geschrieben werden.
Dies liegt daran, dass ICE auf einem Niveau geschrieben werden kann, das dem von Assembler nahe kommt, wodurch die ROM-Kapazität und die Anzahl der Schritte verringert werden, was die Echtzeitleistung verbessert und eine präzise Steuerung der Peripherie-Hardware ermöglicht.
2. Gemischte Hardware/Software-Emulatoren
Folgt man dem Prinzip des Emulators, so lassen sich auch hybride Emulatoren mit Hardware und Software realisieren. So kann beispielsweise ein neues Betriebssystem, das sich in der Entwicklung befindet, auf einem hybriden Emulatoren, der den gesamten Computer nachbildet, ausgeführt und getestet werden.