https://binary-translation.github.io/index.html
* Binary Translation
* Navigation
*
* Contact
* Home
*
* Memory Models
*
* Static Translation
*
* Dynamic Translation
*
Binary Translators for Weak Memory Model Architectures
Tools that correctly translate concurrent x86 binary programs to
Armv8
---------------------------------------------------------------------
What is Binary Translation?
While x86 previously dominated the CPU market, we see Arm emerge
prominently in many domains; For instance, on servers and laptops.
These architectures have different instruction sets and features,
which makes it difficult to port existing x86 programs to Arm CPUs.
In particular, these architectures have different memory models,
which means that x86 and Arm reorder instructions differently during
execution. That results in different behavior for the same concurrent
programs.
We built two binary translators to address this program, in different
ways. Lasagne translates any x86 program statically to an Arm
program. Risotto emulates the x86 program dynamically on an Arm
machine. For either case, we provide mechanized proofs that
demonstrate the correctness of the translation w.r.t. the memory
models of x86 and Arm.
---------------------------------------------------------------------
Binary Translators
Static Binary Translation with Lasagne
Lasagne
(Static)
Dynamic Binary Translation with Risotto
Risotto
(Dynamic)
About This Site
Lasagne and Risotto correctly translate concurrent x86 binary
programs to Armv8.
Services
*
* Contact
Created by Dennis based on Feeling Responsive and intel-mpx.
*