Obsah:
Definícia - Čo znamená emulácia procesora?
Emulácia procesora je proces a technológia virtualizácie, ktorá umožňuje softvéru zostavenému pre konkrétny procesor alebo operačný systém (OS) bežať na inom systéme, ktorý má odlišný procesor a OS. Robí sa to dynamickým prekladom inštrukcií procesora a všetkých súvisiacich volaní operačného systému programu do pokynov procesora a OS, kde je spustený.
Techopedia vysvetľuje emuláciu procesora
Emulácia procesora umožňuje vykonávanie programov napísaných pre jeden procesor na vykonávanie na inom procesore s odlišnou architektúrou a súborom inštrukcií. Dobrým základným príkladom je emulátor hernej konzoly, ktorý umožňuje používateľom hrať na svojom počítači konzolové hry, ako sú napríklad zábavný systém Nintendo a hry PlayStation. Procesor používaný hernou konzolou je veľmi odlišný od procesora PC, aby bolo možné hrať konzolové hry na počítači, musí sa emulovať procesor hernej konzoly.
Základnou myšlienkou je, že každá jednotlivá akcia a správanie programu, ktoré je potrebné spustiť, sa musí skonvertovať na ekvivalentnú súpravu inštrukcií a / alebo volania operačného systému hostiteľského systému. Hlavným cieľom je vykonanie kódu, ktorý modifikuje stav procesora a interaguje s hardvérom, a to sa musí urobiť pri každej inštrukcii spusteného programu.
Spôsoby manipulácie s emuláciou procesora:
- Dynamická rekompilácia - Spustením kódu sa vytvorí zoznam operácií, a keď sa dosiahne inštrukcia vetvy, zoznam sa skompiluje s inštrukčným kódom hostiteľskej platformy. Toto sa potom uloží do vyrovnávacej pamäte pre budúce použitie. Alternatívne je možné každý kód jednoducho zostaviť za chodu, ale tento prístup je ťažké optimalizovať.
- Statická rekompilácia - Toto je známe aj ako statický binárny preklad, pri ktorom sa kód najskôr prevádza do kódu cieľového počítača alebo architektúry bez spustenia kódu, ako sa to robí pri dynamickej rekompilácii. Problémy sa však môžu vyskytnúť, pretože nie všetky cieľové kódy môžu byť prekladačom určené počas kompilácie, pretože niektoré z nich môžu byť nájdené iba v nepriamych vetvách, ktoré sa zase môžu určiť iba v čase vykonávania.
- Interpretácia - Každý kód sa načíta z pamäte pomocou ukazovateľa inštrukcií a potom sa vykoná podľa inštrukčnej sady CPU hostiteľského počítača. Inými slovami, pokyny sa preložia jeden ku druhému a potom sa vykonajú natívne. Najväčšou nevýhodou je výkon.
