Wie kann ich den Unterschied zwischen Emulator und Simulator in Bezug auf die Sprache der Elektrotechnik erklären?


Antwort 1:

Ein Simulator ist eine Software, die ein Hardwaremodell auf normalen Prozessoren (wie X86) ausführt. Ein Emulator ist eine Hardware, die ein Hardwaremodell ausführt. Die Hardware für einen Emulator ist normalerweise so etwas wie FPGAs oder ASICs, die FSMs schnell ausführen können - wie in HDL auf RTL-Ebene für das eigentliche IC-Design beschrieben.

Emulatoren sind in erster Linie nützlich, um Software zu validieren, die auf einem System ausgeführt wird, bevor das echte Silizium abgerufen wird, da sie näher an der tatsächlichen Geschwindigkeit laufen können. Sie modellieren keine Aspekte von Silicon wie Timing oder Power Management, die in Software-Simulatoren modelliert werden können.


Antwort 2:

Nimm das nicht als Evangelium, aber vielleicht ist es ein Anfang. Soweit ich weiß, repliziert ein Emulator in Software und Hardware die tatsächliche Software und Hardware eines anderen Produkts. Damit wird die eigentliche Hardware als Software neu erstellt und anschließend die Betriebssoftware auf dieser Hardware neu erstellt. Sie hätten also eine Softwareschicht (Betriebssystem, Programm usw.), die eine andere Softwareschicht (die Hardware des zu replizierenden Geräts) und eine andere Softwareschicht (die auf der emulierten Hardware ausgeführte Software) hätte. Wenn ich ein elektrisches Simulationsprogramm ausführe, in dem ich die Hardware eines Super Nintendo neu erstellt und das ROM für Super Mario Brothers geladen habe, ist das ein Emulator.

Ein Simulator hingegen stellt den oben genannten Effekt wieder her, versucht dies jedoch nicht durch Replizieren der tatsächlichen Hardware. Es ist nur dazu gedacht, dasselbe zu tun, dh Super Mario auf meinem Computer laufen zu lassen.

Ich hoffe das hilft.