Bagaimanakah saya dapat menjelaskan perbezaan antara emulator dan simulator dari segi bahasa kejuruteraan elektrik?


Jawapan 1:

Simulator adalah perisian yang menjalankan model perkakasan pada pemproses tetap (seperti X86), emulator adalah perkakasan yang menjalankan model perkakasan. Perkakasan untuk emulator biasanya sesuatu seperti FPGA atau ASIC yang boleh melaksanakan FSM cepat - seperti yang diterangkan dalam HDL di peringkat RTL untuk reka bentuk IC sebenar.

Emulator amat berguna untuk mengesahkan perisian yang akan berjalan pada sistem sebelum mendapatkan Silicon sebenar, kerana mereka boleh berjalan lebih dekat dengan kelajuan sebenar. Mereka tidak memodelkan aspek Silicon seperti masa atau pengurusan kuasa, yang boleh dimodelkan dalam simulator perisian.


Jawapan 2:

Jangan ambil ini sebagai Injil, tetapi mungkin ia adalah tempat untuk bermula. Sejauh yang saya tahu, emulator berulang, dalam perisian dan perkakasan, perisian dan perkakasan yang sebenarnya dari produk lain. Bahawa ia mencipta semula perkakasan sebenar sebagai perisian, dan kemudian mencipta semula perisian operasi pada perkakasan itu. Jadi anda akan mempunyai lapisan perisian (OS, program, dll) yang akan mempunyai satu lagi lapisan perisian (perkakasan peranti yang direplikasi) yang akan mempunyai satu lagi lapisan perisian (perisian yang dijalankan dalam perkakasan yang ditiru itu). Jika saya menjalankan program simulasi elektrik di mana saya mencipta semula perkakasan Super Nintendo, dan kemudian dimuatkan ROM untuk Super Mario Brothers, itulah emulator.

Satu simulator, sebaliknya, mencipta kesan di atas, tetapi tidak berusaha melakukannya dengan mereplikasi perkakasan sebenar. Ia hanya bertujuan untuk melakukan perkara yang sama, iaitu, mempunyai Super Mario berjalan di komputer saya.

Saya harap ini dapat membantu.