The invention provides, in one aspect, a virtual processor that includes one or more virtual processing units. These virtual processing units execute on one or more processors, and each virtual processing unit executes one or more processes or threads (collectively, "threads"). While the threads may be constrained to executing throughout their respective lifetimes on the same virtual processing units, they need not be. An event delivery mechanism associates events with respective threads and notifies those threads when the events occur, regardless of which virtual processing unit and/or processor the threads happen to be executing on at the time. The invention provides, in other aspects, virtual and/or digital data processors with improved dataflow-based synchronization. A process or thread (collectively, again, "thread") executing within such processor can execute a memory instruction (e.g., an "Empty" or other memory-consumer instruction) that permits the thread to wait on the availability of data generated, e.g., by another thread and to transparently wake up when that other thread makes the data available (e.g., by execution of a "Fill" or other memory-producer instruction).

 
Web www.patentalert.com

< Time slicing in a shared partition

> Cache coherency in a shared-memory multiprocessor system

> Multiprocessor system that supports both coherent and non-coherent memory accesses

~ 00575