A system comprises a first processor, a second processor coupled to the
first processor, an operating system that executes exclusively only on
the first processor and not on the second processor, and a middle layer
software running on the first processor and that distributes tasks to run
on either or both processors. A synchronization unit coupled to the first
and second processors also may be provided to synchronize the processors.
Further still, a translation lookaside buffer may be included that is
shared between the processors. Each entry in the translation lookaside
buffer ("TLB") may include a task identifier to permit the operating
system or middle layer software to selectively flush only some of the TLB
entries (e.g., the entries pertaining to only one of the processors).