In this series of BIOS tutorials, a reference to “threads” will be made, so what exactly is a “thread”? It should be noted that the exact definition of a thread can vary depending on the processor, architecture and operating system being used. For the purposes of this presentation, TI will define a thread of execution as a set of program instructions that, once registers have been initialized, can be executed by the CPU. This reference to registers is important, because the CPU can switch between different threads over time and to do this, each thread defines a context that includes information about the program counter, stack and critical registers. DSP/BIOS defines four different thread types listed here and each one will be discussed in this PTM. One key aspect of a thread is that it has a priority which the scheduler uses as a criterion to decide which thread should execute at any given time. Priorities can be implicit – for example, each of thread types listed here generally preempt the type listed below it. Some of these types are also given an explicit priority by the person writing the program so that one will run in favor of another. SYS/BIOS is a preemptive priority based scheduler, so by definition its mission in life is to guarantee that the highest priority thread that is ready to run is in fact the one that is executing.