a general mechanism: limited direct execution (LDE)
:
the idea is simple, for the most part, let program run directly on hardware.
let’s see one example
1 | 128: movl 0x0(%ebx), %eax ;load 0+ebx into eax |
When these instructions run, from the perspective of the process, the following memory accesses take place.
- Fetch instruction at address 128
- Execute this instruction (load from address 15 KB)
- Fetch instruction at address 132
- Execute this instruction (no memory reference)
- Fetch the instruction at address 135
- Execute this instruction (store to address 15 KB)