ST20-C1 STMICROELECTRONICS [STMicroelectronics], ST20-C1 Datasheet - Page 79

no-image

ST20-C1

Manufacturer Part Number
ST20-C1
Description
Instruction Set Reference Manual
Manufacturer
STMICROELECTRONICS [STMicroelectronics]
Datasheet
A process state is held in memory and the CPU registers. Sufficient of the register
state must be saved when the process is interrupted or a context switch occurs, so
that the process can be reloaded and continue execution at a later time. The register
state consists of:
In order to save memory space and context switch time, processes are only desched-
uled when the evaluation stack and status register are empty. This is achieved by only
allowing processes to deschedule at certain instructions, called deschedule instruc-
tions, after which the final values in the evaluation stack are undefined and the status
register is reset to a default value. The deschedule instructions are stop and timeslice .
Table 7.2 lists the multi-tasking instructions.
7.2
If the process is waiting for a peripheral or a semaphore or descheduled by a timeslice
then the evaluation stack is not saved. The instruction pointer and Wptr are saved in
the process descriptor block . The task descriptor is the address of the process
descriptor block. It therefore identifies the waiting process and points to its saved
state. The task descriptor is a fixed address for each process, unlike the Wptr which
changes as the code executes. When the process is running, the task descriptor is
held in the Tdesc register.
Word offset
the instruction pointer register;
the work space pointer register;
the task descriptor register;
the evaluation stack registers;
the status register.
Descheduled processes
2
1
0
pw.Iptr
pw.Wptr
pw.Link
run
stop
timeslice
ldtdesc
enqueue
dequeue
Slot name
Mnemonic
Table 7.2 Multi-tasking instructions
Table 7.1 Process descriptor block
The process saved instruction pointer.
The process saved work space pointer.
The link to the next process in the queue.
Run process
Stop process
Timeslice
Load task descriptor
Enqueue a process
Dequeue a process
Name
Purpose
7 Multi-tasking
79/205

Related parts for ST20-C1