1. A processor that executes instructions in threads, said processor comprising: a context register file having a separate set of general registers for a plurality of contexts, wherein said threads are each assigned a separate context; and context control registers having a separate set of control registers for the plurality of contexts, wherein at least one of said control registers holds data that indicates whether an associated context is awaiting data from an external source, wherein the context control registers include, for each context, a write address register, wherein for a given context the write address register is configured to store an address of a register, of the given context, that is awaiting data from the external source.