Emulácia je pokus o imitáciu zariadenia v konkrétnom systéme. Existujú tri spôsoby, ako vytvoriť emulátory: dynamická a statická kompilácia a interpretácia. Na dosiahnutie maximálnej rýchlosti pri práci sa odporúča použiť všetky tri spôsoby. Zvážme príklad písania typického emulátora procesora.
Inštrukcie
Krok 1
Vyberte programovací jazyk. Odporúčanou a pravdepodobne jedinou alternatívou sú C a Assembler. V jazyku C môžete vytvoriť kód, ktorý sa prenesie na ďalšie platformy. Je to pomerne jednoduché na pochopenie a ladenie, ale oveľa pomalšie ako ostatné. Assembler sa vyznačuje vysokou rýchlosťou práce, používa registre procesora, čo prispieva k aproximácii programu ku kompilácii. Je však veľmi ťažké v ňom sledovať a opravovať kódy. Je dôležité dobre poznať zvolený jazyk a optimalizovať kód podľa rýchlosti.
Krok 2
Priraďte počiatočnú hodnotu cyklickému a programovému počítadlu. Cyklické počítadlo počíta počet cyklov hodín, po ktorých dôjde k prerušeniu, a softvérové PC zobrazí oblasť pamäte, v ktorej leží ďalšia inštrukcia operačného kódu.
Krok 3
Po prijatí operačného kódu odčítajte od počítadla slučky počet hodinových cyklov potrebných na vykonanie operačného kódu. Upozorňujeme, že počet príkazov sa líši v závislosti od argumentov. U týchto príkazov zmeňte počítadlo v spustenom kóde neskôr.
Krok 4
Po úspešnom vykonaní operačného kódu skontrolujte potrebu spúšťať prerušenia. V tomto okamihu dokončite úlohy, ktoré je nevyhnutné urgentne synchronizovať včas.
Krok 5
Skontrolujte každý prechod cyklu, či je potrebné dokončiť jeho prácu. Pamätajte, že program by mal byť modulárny, pretože väčšina počítačov je tvorená z modulov a typický emulátor by mal byť, pokiaľ je to možné, rovnaký ako pôvodný systém. To zabezpečí rýchlejšie a jednoduchšie odladenie programu a budete môcť používať rovnaké moduly pre rôzne emulátory, pretože veľa počítačov je založených na rovnakých modeloch procesorov alebo videoprocesorov.