next up previous contents index
Next: Basic calling sequences Up: The JZ91 Package---Principles Previous: Purpose

JZ91 Services

JZ91 provides the following services to an application software organized into processors:

--- handling of ``call banks'' serving to transmit parametric information of the link and data types between processors at levels n-1, n, and n+1. For the processor at call-depth n the ``up'' call-bank, pointed to by the system link LQUP, assures the communication with the higher level at call-depth n-1; and the ``down'' call-bank, pointed to by LQDW, communicates to the lower level at call-depth n+1. Call banks of equal size are pre-lifted, one for each level of a definite number of levels, they stay permanently in memory.

--- handling of ``processor constants'', being part of the environmental data for each processor, fixed during the run. If a processor needs any constants at all, it may initialize them itself, this then being the default initialization. By using titles, loaded with routine TZINIT, this default can be over-ruled. The system link LQAN gives Access to these Numbers thus:

              IQ(LQAN)   number of constants
               Q(LQAN+1) first constant
               . . .

--- handling of ``processor conditions'' which may be signalled from any processor with CALL \Rind{JZTELL (J)}, J being a small integer normally from 1 to 10. This provides for simple counters over the whole run grouped by processors.

--- handling of statistics of processor usage, like number of times entered and time spent. The number of times entered is accessible to the processor in IQ(LQSV+2).

--- saving the size of the working space, on special request also the contents, on down-call to the next processor and restoring it on up-return.

--- handling of ``processor flags'' for test runs during program development. The flags may be used to drive debug operations of a processor without having to recompile it. The flags for a given processor are defined by the user on titles JZFL and they are copied on entry to the processor into the vector JQFLAG, ready for inspection by the code in the processor; non-initialized flags are set to zero. This is only available with the program-development version of JZ91; the production version presets all flags to zero and leaves them thus for the whole run.

This ``environment'' information is held in the bank of ``support variables'', one bank for each processor, which is permanently in store as part of the JZ91 data structure.

Communication between the processors and JZ91 is via:

         COMMON /JZUC/LQJZ,LQUP,LQDW,LQSV,LQAN, JQLEV,JQFLAG(10)
JZ91 operates in and for one store only, which must be the user's main store, normally the primary store. Links in the call bank can point only into this store.

Acknowledgements

This package is derived from the HYDRA package JQ81

A.Norton, J.Zoll, HYDRA Topical Manual, book JQ81, CERN Program Library



next up previous contents index
Next: Basic calling sequences Up: The JZ91 Package---Principles Previous: Purpose


Janne Saarela
Mon May 15 08:34:47 METDST 1995