System Debug Reference Manual (32650-90888)
Appendix C 539
Emulated/Translated CM Code
Object Code Translation
Object Code Translation
The Object Code Translator (OCT) can be used to analyze CM object code and to translate
the CM object code instructions into NM precision architecture instructions. Please refer to
MPE V to MPE XL: Getting Started.
Translated object code executes significantly faster than the original CM code can be
emulated.
The object code translator looks at small object code instruction sequences and translates
these individual "sections" of code into a corresponding NM section of code.
Original CM
Object Code
Translated
Into
CM Instructions NM Instructions
| | | |
+-------------+ ---------> +-------------+
| Orig | | |
| CM | | Translated |
| Section | | NM |
+-------------+ ----+ | Section |
| | |
| | |
+----> +-------------+
| |
Each CM object code instruction may expand to several NM instructions during
translation, but the total translated section requires fewer NM instructions than would be
used to emulate the original object code.
The CM emulator updates CM registers (such as STATUS) during the emulation of every
single instruction. The OCT may recognize that the STATUS register is not accessed by a
sequence of object code, and so ignore updating the STATUS register until later, when it is
actually referenced. Performance is improved because unnecessary emulator cycles are
saved.
It is important to understand, however, that during the execution of the resulting NM
section of code, the actual MITROC bit values in the CM STATUS register may be
undefined or incorrect in the middle of the section.
Only at the beginning of each section is the CM state known to be correct. These "safe"
boundaries, between sections, are called
node points
.