Dynamically Recompiling Emulator - Dynamic recompilation of MOS 6502 machine code through LLVM IR using a JIT compiler

Typ
Examensarbete på kandidatnivå
Program
Publicerad
2020
Författare
Blomqvist, Carl
Falkenby, Matilda
Kalin, William
Korch, Felix
Lundgren, Carl
Pettersson, Markus
Modellbyggare
Tidskriftstitel
ISSN
Volymtitel
Utgivare
Sammanfattning
This report examines the possibility to implement dynamic recompilation of machine code for the central processing unit MOS 6502. Using libraries for compilation and optimizations, from the LLVM project, an emulator for the MOS 6502 processor was developed. In addition to the dynamically recompiling emulator, an interpreting emulator was developed as well. The interpreting emulator was used as a reference when assessing the execution time of the machine code generated by the dynamically recompiling emulator. It was shown that the execution time of MOS 6502 programs was lower when executed on the dynamically recompiling emulator, compared to the interpreting emulator. The dynamically recompiling emulator has an associated startup time, which in some cases leads to the interpreting emulator finishing its execution quicker overall.
Beskrivning
Ämne/nyckelord
emulation , dynamically recompiling emulator , interpreting emulator , dynamic recompilation , JIT , LLVM , MOS 6502
Citation
Arkitekt (konstruktör)
Geografisk plats
Byggnad (typ)
Byggår
Modelltyp
Skala
Teknik / material
Index