Emuleerimine on konkreetse süsteemi seadme jäljendamise katse. Emulaatorite ehitamiseks on kolm võimalust: dünaamiline ja staatiline kompileerimine ja tõlgendamine. Maksimaalse kiirusefekti saavutamiseks töötamisel on soovitatav kasutada kõiki kolme meetodit. Vaatleme tavalise protsessori emulaatori kirjutamise näidet.
Juhised
Samm 1
Valige programmeerimiskeel. Soovitatav ja tõenäoliselt ainus alternatiiv on C ja Assembler. C-s saate teha koodi, mis teisaldatakse teistele platvormidele. Seda on suhteliselt lihtne mõista ja siluda, kuid palju aeglasemalt kui teised. Assemblerit eristab kiire töökiirus, ta kasutab protsessori registreid, mis aitab kaasa programmi lähendamisele uuesti koostatavale. Koodide jälitamine ja parandamine on selles aga väga keeruline. Oluline on osata valitud keelt hästi ja optimeerida koodi kiiruse huvides.
2. samm
Määrake tsüklilisele ja programmiloendurile algväärtus. Tsükliline loendur loeb taktsüklite arvu, mille järel katkestus toimub, ja tarkvara PC näitab mälupiirkonda, kus asub järgmine opkoodi käsk.
3. samm
Pärast opkoodi saamist lahutage tsüklite arv, mis kulub opkoodi täitmiseks silmuse loendurilt. Pange tähele, et mõned käsud erinevad argumentide arvu järgi. Selliste käskude jaoks muutke käituskoodis loendurit hiljem.
4. samm
Pärast opkoodi edukat täitmist kontrollige katkestuste käivitamise vajadust. Sel hetkel täitke ülesanded, mis tuleb kiiresti õigeaegselt sünkroonida.
5. samm
Kontrollige tsükli iga läbimise vajadust selle töö lõpuleviimiseks. Pidage meeles, et programm peaks olema modulaarne, kuna enamik arvuteid koosneb moodulitest ja tüüpiline emulaator peaks võimaluse korral olema sama mis algne süsteem. See tagab programmi kiirema ja lihtsama silumise ning saate kasutada erinevaid emulaatorite jaoks samu mooduleid, sest paljud arvutid põhinevad samadel protsessorite või videoprotsessorite mudelitel.