1. A method for saving, restoring and switching tasks, in a context switching system adapted for use in a multitasking processor coupled to a memory and having one or more functional blocks to perform the tasks, the functional blocks having registers, wherein the registers store state data that, at a particular instant, represents the context of the system, comprising the steps of: (1) receiving, in a control means, one of a save command, switch command and an interrupt signal, and generating a context save instruction in response thereto; (2) passing said context save instruction to one or more of the functional blocks, said passing performed by the control means; (3) receiving said context save instruction at the one or more functional blocks; (4) generating a state program, said state program comprising one or more register load instructions and the state data representing the context of the system so that context can be restored at a later time, said generating step performed by the one or more functional blocks; (5) temporarily storing said state program in a context queue, said storing step performed by the one or more functional blocks; and (6) transferring said state program from said context queue to a context data buffer area in the memory.