A single shared processing path is used as contexts are switched during processing.
Each unique context is processed using a corresponding unique pipeline. If a pipeline
that is executing under one context stalls, processing is switched in the shared
processing path to another pipeline that is executing under second context. New
pipelines are enabled for execution by borrowing a clock cycle from the currently
executing pipeline. In some cases contexts are assigned various relative priority
levels. In one case a context switching microprocessor is used in a communication
engine portion of a system-on-a-chip communication system.