Kazalo:
Opredelitev - Kaj pomeni emulacija procesorja?
Emulacija procesorjev je proces virtualizacije in tehnologije, ki omogoča, da se programska oprema, ki je bila sestavljena za določen procesor ali operacijski sistem (OS), deluje v drugem sistemu, ki ima drugačen procesor in OS. To dosežemo z dinamičnim prevajanjem navodil procesorja in vseh pripadajočih klicev operacijskega sistema programa v navodila procesorja in operacijskega sistema, kjer se izvaja.
Tehopedia razlaga emulacijo procesorja
Emulacija procesorja omogoča izvajanje programov, napisanih za en procesor, da se izvajajo na drugem procesorju z drugačno nastavitvijo arhitekture in navodil. Dober osnovni primer je emulator igralne konzole, ki uporabnikom omogoča igranje konzolnih iger, kot sta Nintendo Entertainment System in igre PlayStation na svojem računalniku. Procesor, ki ga uporablja igralna konzola, se zelo razlikuje od tistega v osebnem računalniku, zato mora biti procesor igralne konzole emuliran, če želite igrati konzole v računalniku.
Osnovna ideja je, da je treba vsako posamezno dejanje in vedenje programa, ki ga je treba zagnati, pretvoriti v enakovreden niz navodil in / ali klice operacijskega sistema gostiteljskega sistema. Glavni cilj je izvesti kodo, ki spreminja stanja procesorja in interakcijo s strojno opremo, in to je treba storiti za vsako navodilo tečenega programa.
Načini ravnanja z emulacijo procesorja:
- Dinamična prekompilacija - Seznam operacij se ustvari z izvajanjem kode, in ko je doseženo navodilo veje, se seznam sestavi v kodo navodil gostiteljske platforme. Ta se nato shrani za nadaljnjo uporabo. Vsako kodo bi bilo mogoče preprosto sestaviti na letenje, vendar je ta pristop težko optimizirati.
- Statična rekompilacija - to je znano tudi kot statični binarni prevod, kjer se koda najprej pretvori v kodo ciljnega stroja ali arhitekture, ne da bi se koda izvajala, kot se izvaja pri dinamični ponovni predelavi. Težave pa lahko nastanejo, saj prevajalec med prevajalnim časom ne more določiti vseh ciljnih kod, saj jih je mogoče najti le v posrednih panogah, ki jih je mogoče določiti le med izvajanjem.
- Tolmačenje - Vsaka koda se prebere iz pomnilnika s pomočjo kazalca z navodili in nato izvede v skladu z naborom CPU gostiteljskega računalnika. Z drugimi besedami, navodila se prevedejo eno do enega in nato izvirno izvajajo. Največja pomanjkljivost je zmogljivost.