/
Temu EMUlator Binary Translation Temu EMUlator Binary Translation

Temu EMUlator Binary Translation - PDF document

badra
badra . @badra
Follow
345 views
Uploaded On 2021-08-26

Temu EMUlator Binary Translation - PPT Presentation

Contemporary emulators used in the European Space industry have been using a technique called interpretation Thismethod has served us well as it is easy to implement and this has resulted in a plethor ID: 872364

binary code translation executed code binary executed translation developed translator development dynamic software engine llvm host framework interpreter interpretation

Share:

Link:

Embed:

Download Presentation from below link

Download Pdf The PPT/PDF document "Temu EMUlator Binary Translation" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

1 Temu: EMUlator Binary Translation Co
Temu: EMUlator Binary Translation Contemporary emulators used in the European Space industry have been using a technique called interpretation. This method has served us well, as it is easy to implement, and this has resulted in a plethora of different emulators being available for use dur ing flight software development, software validation and operational simulation. However, interpretation is by definition inefficient and several systems have been designed that utilise a technique called (dynamic) binary translation. Where target code is translated at runtime to host code, and then the host code is executed. The problem with a plain binary translator is that it is not efficient when dealing with code that is executed only once (e.g. boot code), and it is very hard to get right when dealing with odd behaviour such as e.g. branches in delay slots. This project saw the development of a dynamic binary translator engine augmenting an inhouse developed pre - decoded direct interpreter, resulting in a hybrid system where the interpreter can be used when it is more efficient and the binary translator can be used when code segments have been executed several times. The developed translation engine is based on the LLVM compiler framework, meaning that it is possible to piggy back on millions of lines of code optimisations developed as part of the open source LLVM framework.