Как мога да обясня разликата между емулатор и симулатор по отношение на езика на електротехниката?


Отговор 1:

Симулаторът е софтуер, който управлява модел на хардуер на обикновени процесори (като X86), емулаторът е хардуер, който управлява модел на хардуер. Хардуерът за емулатор обикновено е нещо като FPGA или ASIC, които могат да изпълняват FSM бързо - както е описано в HDL на ниво RTL за действителния дизайн на IC.

Емулаторите са полезни предимно за валидиране на софтуер, който ще работи на система преди да получи истинския Силикон, защото може да работи по-близо до реалната скорост. Те не моделират аспекти на Silicon като синхронизиране или управление на мощността, които могат да бъдат моделирани в софтуерни симулатори.


Отговор 2:

Не приемайте това като евангелие, но може би това е мястото, където да започнете. Доколкото знам, емулаторът репликира в софтуера и хардуера действителния софтуер и хардуер на друг продукт. Това е, той пресъздава действителния хардуер като софтуер и след това пресъздава операционния софтуер на този хардуер. Така че ще имате слой софтуер (ОС, програма и т.н.), който би имал друг слой софтуер (хардуерът на устройството се репликира), който би имал друг слой софтуер (софтуерът се стартира в емулирания хардуер). Ако пускам програма за електрическа симулация, в която пресъздадох хардуера на Super Nintendo и на свой ред заредих ROM за Super Mario Brothers, това е емулатор.

Симулатор, от друга страна, пресъздава ефекта от горното, но не се стреми към това чрез репликиране на действителния хардуер. Просто е предназначено да направя същото, т.е. да пусна Super Mario на моя компютър.

Надявам се това да помогне.