Kaip parašyti emuliatorių - Programinė įranga - 2019

Anonim

Emuliacija yra bandymas imituoti bet kurio konkretaus sistemos įrenginį. Yra trys emuliatorių kūrimo būdai: dinamiškas ir statinis pakartotinis kompiliavimas ir interpretavimas. Norint pasiekti maksimalų greitį veikiant, rekomenduojama naudoti visus tris metodus. Apsvarstykite tipinio procesoriaus emuliatoriaus rašymo pavyzdį.

Instrukcija

1

Pasirinkite programavimo kalbą. Rekomenduojama ir tikriausiai vienintelė alternatyva yra C ir asambleris. C, galite padaryti kodą, kuris bus perkeltas į kitas platformas. Tai gana paprasta suprasti ir lengva derinti, bet daug lėčiau nei kiti. Montuotojui būdingas didelis greitis, jis naudoja procesoriaus registrus, kurie padeda priartinti programą prie recompiliavimo. Tačiau labai sunku sekti ir ištaisyti kodus. Svarbu gerai žinoti pasirinktą kalbą ir optimizuoti kodą greičiui.

2

Priskirkite pradinę vertę cikliniam ir programos skaitiklui. Ciklinis skaitiklis skaičiuoja ciklų, per kuriuos vyksta pertraukimas, skaičių ir programinės įrangos kompiuteris rodo atminties sritį, kurioje yra kita opcode komanda.

3

Gavę opcode, atimkite iš ciklinio skaitiklio ciklų, kuriuos priima opcode vykdymo procesas. Atkreipkite dėmesį, kad kai kurios komandos skiriasi nuo erkių skaičiaus priklausomai nuo argumentų. Tokioms komandoms vėliau pakeiskite vykdymo kodo skaitiklį.

4

Sėkmingai atlikus operacinį kodą patikrinkite, ar įjungtas pertraukimas. Šiuo metu atlikite užduotis, kurias reikia laiku sinchronizuoti.

5

Patikrinkite kiekvieną ciklą, kad būtų baigtas darbas. Atminkite, kad programa turėtų būti modulinė, nes dauguma kompiuterių susideda iš modulių, o tipiškas emuliatorius, jei įmanoma, turėtų visiškai pakartoti pradinę sistemą. Tai leis greičiau ir lengviau derinti programą, ir jūs galėsite naudoti tuos pačius modulius skirtingiems emuliatoriams, nes daugelis kompiuterių yra pastatyti pagal tuos pačius procesorių ar vaizdo procesorių modelius.