st20-gp6 STMicroelectronics, st20-gp6 Datasheet - Page 21

no-image

st20-gp6

Manufacturer Part Number
st20-gp6
Description
Gps Processor
Manufacturer
STMicroelectronics
Datasheet
Each process runs until it has completed its action or is descheduled. In order for several pro-
cesses to operate in parallel, a low priority process is only permitted to execute for a maximum of
two timeslice periods. After this, the machine deschedules the current process at the next timeslic-
ing point, adds it to the end of the low priority scheduling list and instead executes the next active
process. The timeslice period is 1ms.
There are only certain instructions at which a process may be descheduled. These are known as
descheduling points. A process may only be timesliced at certain descheduling points. These are
known as timeslicing points and are defined in such a way that the operand stack is always empty.
This removes the need for saving the operand stack when timeslicing. As a result, an expression
evaluation can be guaranteed to execute without the process being timesliced part way through.
Whenever a process is unable to proceed, its instruction pointer is saved in the process workspace
and the next process taken from the list.
The processor core provides a number of special instructions to support the process model, includ-
ing startp (start process) and endp (end process). When a main process executes a parallel con-
struct, startp is used to create the necessary additional concurrent processes. A startp instruction
creates a new process by adding a new workspace to the end of the scheduling list, enabling the
new concurrent process to be executed together with the ones already being executed. When a
process is made active it is always added to the end of the list, and thus cannot pre-empt pro-
cesses already on the same list.
The correct termination of a parallel construct is assured by use of the endp instruction. This uses
a data structure that includes a counter of the parallel construct components which have still to ter-
Pointer to front of active process list
Pointer to back of active process list
Function
BptrReg1
FptrReg1
Registers
Areg
Breg
Creg
Wptr
Iptr
Table 4.1 Priority queue control registers
Figure 4.2 Linked process list
Local data
Q
R
P
S
High priority
Link.s
Link.s
Iptr.s
Iptr.s
Iptr.s
BptrReg0
FptrReg0
Program
Low priority
BptrReg1
FptrReg1
ST20-GP6
21/123

Related parts for st20-gp6