Description
Register caching is a process in which native registers (x86) are allocated to represent emulated virtual machine registers (N64 MIPS). When Register Caching is set to No, this feature is off, and the process is simple: for the current ROM instruction, load the emulated virtual machine registers into native machine registers, perform an operation, and then write the result back to the proper emulated register located in memory.
This method is effective, but slow because at each instruction we need to load data from memory and write data back to memory. With register caching, a data structure is used to remember which native registers correspond to what emulated registers. This way, we can use registers to perform multiple instructions in sequence without the need to load and store them at every instruction. The end result is more speed.
Syntax
Use Register Caching = int(0, 1, 2)
Example
Use Register Caching=1
Parameters
Value | Result |
---|---|
0 | Default |
1 | Yes [Default] |
2 | No |
Notes
- On is faster. It is an advanced part of the dynarec, and briefly explained in the 1964 compiler doc.
See Also
- None
1964 Settings | 1964 0.85 | 1964 1.1 |