To facilitate inter-processor communication between multiple processors in a
computer
system and to enable the accessing of a dual port memory, or other system resources,
without requiring the memory or the data/address bus to be locked, the present
invention provides a semaphore unit that preferably incorporates a shared mailbox
architecture that, in combination with a set of hardware semaphore registers, enables
inter-process communication among the multi-processors. Cooperative multitasking
may be accomplished through the use of shared mailbox communication protocols while
a preemptive multitasking may be accomplished through the use of hardware semaphore registers.