NonStop S-Series Server Description Manual (G06.24+)

Instruction Processing Environments
HP NonStop S-Series Server Description Manual520331-003
5-2
Native and TNS Programs and Processes
Native and TNS Programs and Processes
The RISC processor that is the instruction processing unit (IPU) of each NonStop
S-series processor executes only RISC instructions. However, to accommodate the
large installed base of TNS programs, the processor has been designed to accept and
execute TNS programs in addition to programs that are compiled directly to RISC
instructions.
Applications that are compiled directly to RISC instructions are in the form of native
object code. Such code, when executed, becomes a native process, illustrated in
the leftmost sequence in Figure 5-1. The RISC processor reads RISC instructions
from memory (backed up by the object code file) and executes those instructions
directly, using RISC stack conventions. RISC stack conventions are described in
Section 7, Native Execution Mode.
Applications that have been compiled as TNS instructions require the TNS instructions
to be converted to RISC instructions. There are two methods of performing this
conversion, differing in how and when the instruction conversion is performed.
In the case of an accelerated program (middle sequence in Figure 5-1), the TNS
code is converted to RISC instructions by an Accelerator program prior to run time.
The result of this preprocessing is that accelerated code (translated sequences of
RISC instructions) exists in the same code file as the original TNS object code.
However, because it is possible that some TNS coding cannot be translated
unambiguously before run time, and because P-relative data is not accelerated, the
TNS code remains available and will be accessed in those circumstances.
In the case of a nonaccelerated TNS program (right sequence in Figure 5-1), the
process, when executing, causes resident millicode to read and interpret TNS
instructions from memory. Thus the process appears to be executing TNS instructions.
In both of the latter two cases, the process uses TNS stack conventions (described in
Section 6, TNS Execution Modes) and is therefore categorized as a TNS process.