HP 3000 Manuals

Object Code Translation [ System Debug Reference Manual ] MPE/iX 5.0 Documentation


System Debug Reference Manual

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 (30367-90002).

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.



MPE/iX 5.0 Documentation