st20-gp1 STMicroelectronics, st20-gp1 Datasheet - Page 20

no-image

st20-gp1

Manufacturer Part Number
st20-gp1
Description
Gps Processor
Manufacturer
STMicroelectronics
Datasheet
ST20-GP1
Each process runs until it has completed its action or is descheduled. In order for several
processes 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
timeslicing 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,
including startp (start process) and endp (end process). When a main process executes a parallel
construct, 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 processes 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
terminate. The counter is initialized to the number of components before the processes are started.
Each component ends with an endp instruction which decrements and tests the counter. For all but
20/116
Function
Pointer to front of active process list
Pointer to back of active process list
Registers
BptrReg1
FptrReg1
IptrReg
Areg
Breg
Creg
Wptr
Table 4.1 Priority queue control registers
Figure 4.2 Linked process list
Local Data
Q
R
P
S
pw.Link
pw.Link
pw.Iptr
pw.Iptr
pw.Iptr
High priority
BptrReg0
FptrReg0
Program
Low priority
BptrReg1
FptrReg1

Related parts for st20-gp1