Sisällysluettelo:
Määritelmä - mitä prosessorin emulointi tarkoittaa?
Suorittimen emulointi on virtualisointiprosessi ja tekniikka, jonka avulla tietyn prosessorin tai käyttöjärjestelmän (OS) kanssa kootut ohjelmistot voivat toimia toisessa järjestelmässä, jolla on erilainen suoritin ja käyttöjärjestelmä. Tämä tehdään kääntämällä dynaamisesti prosessorin ohjeet ja kaikki niihin liittyvät käyttöjärjestelmän puhelut prosessorin ja käyttöjärjestelmän ohjeisiin, joissa se toimii.
Techopedia selittää prosessorin emuloinnin
Suorittimen emulointi mahdollistaa yhdelle suorittimelle kirjoitettujen ohjelmien suorittamisen suorittaakseen eri prosessorin eri arkkitehtuurilla ja käskyjoukolla. Hyvä perus esimerkki on pelikonsoliemulaattori, jonka avulla käyttäjät voivat pelata konsolipelejä, kuten Nintendo Entertainment System ja PlayStation-pelejä tietokoneellaan. Pelikonsolin käyttämä prosessori on hyvin erilainen kuin tietokoneen, joten pelikonsolin prosessorin on oltava emuloitu, jotta se voi pelata konsolipelejä PC: llä.
Perusajatus on, että jokainen suoritettavan ohjelman toiminta ja käyttäytyminen on muunnettava vastaavaksi isäntäjärjestelmän käskyjoukkoksi ja / tai käyttöjärjestelmän kutsuiksi. Päätavoite on suorittaa koodi, joka muuttaa prosessorin tilaa ja on vuorovaikutuksessa laitteiston kanssa. Tämä on tehtävä jokaiselle käynnissä olevan ohjelman käskylle.
Prosessorin emuloinnin käsittelytavat:
- Dynaaminen uudelleenkokoonpano - Toimintoluettelo luodaan suorittamalla koodi, ja kun haarakäsky saavutetaan, luettelo kootaan isäntäalustan käskykoodiin. Tämä tallennetaan välimuistiin tulevaa käyttöä varten. Vaihtoehtoisesti jokainen koodi voitaisiin yksinkertaisesti koota lennossa, mutta tätä lähestymistapaa on vaikea optimoida.
- Staattinen uudelleenkokoonpano - Tätä kutsutaan myös staattiseksi binaarimuunnokseksi, jossa koodi muunnetaan ensin kohdekoneen koodiksi tai arkkitehtuuriksi suorittamatta koodia, kuten tehdään dynaamisessa uudelleenkombinaatiossa. Ongelmia voi kuitenkin esiintyä, koska kääntäjä ei pysty määrittämään kaikkia kohdekoodeja kokoamisaikana, koska osa niistä löytyy vain epäsuorista haaroista, jotka puolestaan voidaan määrittää vain ajoaikana.
- Tulkinta - Jokainen koodi luetaan muistista ohjeosoittimen avulla ja suoritetaan sitten isäntätietokoneen CPU-käskyjoukon mukaisesti. Toisin sanoen ohjeet käännetään yksi yhteen ja suoritetaan sitten natiivi tavalla. Suurin haittapuoli on suorituskyky.