1. A method of maintaining execution threads in a parallel multithreaded processor comprises: accessing, by an executing thread in the multithreaded processor, a register set organized into a plurality of relatively addressable windows of registers that are relatively addressable per thread.