Multi-tasking Hardware Design: Eliminating Overhead in a Multi-tasking Micro-Controller

R. Saraka, B. Wiwel, J. Maina, and R. Hoare (USA)


Multitask, micro-controller, context-switching.


Multi-tasking is normally a function of an operating system that requires significant overhead to switch between tasks. Embedded systems using micro controllers typically rely on a Real-Time Operating System (RTOS) to provide multi-tasking capabilities. The implementation of multi-tasking hardware in a micro controller significantly reduces the task-switching overhead and may eliminate the need for a RTOS. This paper describes the hardware design of a Multi Tasking Micro-Controller Unit (MTMCU) and the improvements in both efficiency and simplicity over software implementations. In order to achieve hardware multi-tasking, the concept of a Multi-Tasking Finite State Machine (MTFSM) is developed and explored. A general MTFSM-based design approach is developed and used to enhance a basic micro-controller design with multi tasking capabilities. The enhanced design is then used to demonstrate the ability of a microprocessor to multi-task without the overhead required of software.

Important Links:

Go Back