Kako mogu objasniti razliku između emulatora i simulatora u smislu jezika elektrotehnike?


Odgovor 1:

Simulator je softver koji pokreće model hardvera na redovitim procesorima (poput X86), emulator je hardver koji pokreće model hardvera. Hardver za emulator obično je nešto poput FPGA ili ASIC koji mogu brzo izvršavati FSM - kao što je opisano u HDL-u na RTL razini za stvarni IC dizajn.

Emulatori su prije svega korisni za provjeru valjanosti softvera koji će se pokrenuti u sustavu prije nego što dobiju pravi Silicij, jer se mogu približiti stvarnoj brzini. Oni ne modeliraju aspekte Silikona poput vremena i upravljanja napajanjem koji se mogu modelirati u softverskim simulatorima.


Odgovor 2:

Ne shvatajte ovo kao evanđelje, ali možda je to mjesto za početak. Koliko znam, emulator replicira, u softveru i hardveru, stvarni softver i hardver drugog proizvoda. To jest, rekreira stvarni hardver kao softver, a zatim ponovno stvara operacijski softver na tom hardveru. Tako biste imali sloj softvera (OS, program itd.) Koji bi imao i drugi sloj softvera (hardver uređaja koji se replicira) koji bi imao drugi sloj softvera (softver se izvodi u emuliranom hardveru). Ako pokrenem program za električnu simulaciju u kojem sam ponovno stvorio hardver Super Nintendo, a zauzvrat učitao ROM za Super Mario Brothers, to je emulator.

Simulator, s druge strane, ponovo stvara učinak gore navedenog, ali ne pokušava to učiniti repliciranjem stvarnog hardvera. Samo je namijenjeno isto raditi, tj. Pokrenuti Super Mario na mom računalu.

Nadam se da ovo pomaže.