Преглед садржаја:
Дефиниција - Шта значи емулација процесора?
Емулација процесора је процес виртуализације и технологије која омогућава софтверу који је састављен за одређени процесор или оперативни систем (ОС) да ради на другом систему који има различит процесор и ОС. То се постиже динамичким превођењем упута процесора и свих повезаних оперативних система програма у упуте процесора и ОС-а на којем се он покреће.
Тецхопедиа објашњава емулацију процесора
Емулација процесора омогућава извршавање програма написаних за један процесор да се извршавају на другом процесору са различитом поставком архитектуре и инструкција. Добар основни пример је емулатор играће конзоле, који омогућава корисницима играње игара на конзоли као што су Нинтендо Ентертаинмент Систем и ПлаиСтатион игре на рачунару. Процесор који користи играћа конзола веома се разликује од оног на ПЦ-у, тако да бисте могли да играте игре са конзолама на ПЦ-у, процесор играће конзоле мора бити емулиран.
Основна идеја је да се свака појединачна радња и понашање програма који треба покренути мора претворити у еквивалентни скуп упутстава и / или позиве оперативног система главног система. Главни циљ је извршавање кода који мења стања процесора и интеракције са хардвером, а то се мора урадити за сваку инструкцију покретаног програма.
Начини руковања с емулацијом процесора:
- Динамичка рекомпилација - Листа операција креира се покретањем кода, а када се дође до инструкције подружнице, листа се саставља у шифру инструкције платформе домаћина. Затим се чува у кеширању за будућу употребу. Алтернативно, сваки се код може једноставно саставити у лету, али је такав приступ тешко оптимизирати.
- Статичка рекомпилација - Ово је такође познато као статички бинарни превод где се код прво претвара у код циљне машине или архитектуре без покретања кода, као што се то ради у динамичкој рекомпилацији. Међутим, могу настати проблеми јер преводилац не може одредити све циљне кодове током времена компилације, јер се неки од њих могу наћи само у индиректним гранама, а они, заузврат, могу бити одређени само у време извођења.
- Тумачење - Сваки се код чита из меморије помоћу показивача упутства, а затим се изводи у складу са сетом ЦПУ упутстава главног рачунара. Другим речима, упутства се преводе једна на другу и затим се извршавају изворно. Највећи недостатак су перформансе.
