RTEMS Logo

RTEMS 4.6.99.3 On-Line Library


BSP_FOR_TIMES Timing Data Context Switch

PREV UP NEXT Bookshelf RTEMS MIPS Applications Supplement

10.4: Context Switch

The RTEMS processor context switch time is 35 microseconds on the BSP_FOR_TIMES benchmark platform when no floating point context is saved or restored. Additional execution time is required when a TASK_SWITCH user extension is configured. The use of the TASK_SWITCH extension is application dependent. Thus, its execution time is not considered part of the raw context switch time.

Since RTEMS was designed specifically for embedded missile applications which are floating point intensive, the executive is optimized to avoid unnecessarily saving and restoring the state of the numeric coprocessor. The state of the numeric coprocessor is only saved when an FLOATING_POINT task is dispatched and that task was not the last task to utilize the coprocessor. In a system with only one FLOATING_POINT task, the state of the numeric coprocessor will never be saved or restored. When the first FLOATING_POINT task is dispatched, RTEMS does not need to save the current state of the numeric coprocessor.

The exact amount of time required to save and restore floating point context is dependent which FPU is being used as well as the state of the numeric coprocessor. These numeric coprocessors define three operating states: initialized, idle, and busy. RTEMS places the coprocessor in the initialized state when a task is started or restarted. Once the task has utilized the coprocessor, it is in the idle state when floating point instructions are not executing and the busy state when floating point instructions are executing. The state of the coprocessor is task specific.

The following table summarizes the context switch times for the BSP_FOR_TIMES benchmark platform:

No Floating Point Contexts 35
Floating Point Contexts
restore first FP task
39
save initialized, restore initialized
66
save idle, restore initialized
66
save idle, restore idle
68


PREV UP NEXT Bookshelf RTEMS MIPS Applications Supplement

Copyright © 1988-2004 OAR Corporation