摘要:
A method for optimizing a register file hierarchy in a multithreaded processor. The method includes providing a register file hierarchy with a plurality of register file cells, associating the plurality of register file cells with respective threads when the processor is operating in a multithreaded mode and flattening the plurality of register file cells with a single thread when the processor is operating in a single threaded mode. The register file cells correspond to threads of the multithreaded processor.
摘要:
An "n" dimensional mesh-connected massively parallel processing system uses pointers to connect requesting processors to allocated processors, and also, to access the allocated processors. The requesting and allocated processors are connected by (i) storing in the requesting processor or in a system controller a pointer which points to the allocated processors as a group and (ii) storing in each of the allocated processors, in a designated memory location, an assigned-marker, or an identifier which identifies the processor as a member of the identified group. When one or more requesting processors require connection to free processors, a request is sent to each processor in the system asking each of them to determine if it is free. Each of the processors which is free then assigns itself indices relating to its position in the mesh and its position relative to other free processors. Each free processor sends its indices to a rendezvous processor associated with the requesting processors, and the rendezvous processor allocates the free processors to a requesting processor based on the connection requirements of that requesting processor and the indices. If several requesting processors request connection to blocks of free processors, the rendezvous processor allocates non-overlapping blocks by assigning to the requesting processors only those free processors with indices which are modulo the associated connection requirement.
摘要:
In a pipelined computer architecture in which instructions may be removed from the instruction queue out of sequence, instruction queue status at a cycle K is determined by adding together the number of invalid instructions or free rows in the queue during cycle K-2, the number of instructions issued for cycle K-1 and the number of instructions speculatively issued in cycle K-1 that have produced a cache hit, and subtracting from the sum the number of instructions enqueued for cycle K-1. The result indicates the number of invalid instructions in the queue cycle K. The number of invalid entries instructions, the number of issued instructions, and the number of enqueued instructions are preferably represented as flat vectors, so that adding is performed by shifting in one direction, while subtracting is performed by shifting in the opposite direction. The result is compared with either the number of instructions to be enqueued in the present cycle, which number is encoded, or with a predetermined value. A stall signal is generated if the indicative value is less than the encoded number or the predetermined value.
摘要:
A microprocessor includes multiple register files. In a single thread mode, the microprocessor allows a single thread to have access to multiple ones of the register files. In a multi-thread mode, each thread has access to respective ones of the register files. In the multi-thread mode, multiple threads are simultaneously executing. Circuitry and hardware are provided to facilitate the respective modes and to facilitate transitions between the modes.