Patent classifications
G06F9/384
Coprocessor Register Renaming
A coprocessor with register renaming is disclosed. An apparatus includes a plurality of processors and a coprocessor respectively configured to execute processor instructions and coprocessor instructions. The coprocessor receives coprocessor instructions from ones of the processors. The coprocessor includes an array of processing elements and a result register set comprising storage elements respectively distributed within the array of processing elements. For a given member of the array of processing elements, a corresponding storage element is configured to store coprocessor instruction results generated by the given member. The result register set implements a plurality of contexts to store respective coprocessor states corresponding to coprocessor instructions received from different processors. Based on a determination that one of the contexts is inactive, the coprocessor is configured to store coprocessor instruction results corresponding to an active context within storage elements of the result register set corresponding to the inactive context.
THREAD FORWARD PROGRESS AND/OR QUALITY OF SERVICE
Methods, systems, and apparatuses provide support for allowing thread forward progress in a processing system and that improves quality of service. One system includes a processor; a bus coupled to the processor; a memory coupled to the processor via the bus; and a floating point unit coupled to the processor via the bus, wherein floating point unit comprises hardware control logic operative to: store for each thread, by a scheduler of the floating point unit, a counter; increase, by the scheduler, a value of the counter for each thread corresponding to a thread when at least one source ready operation exist for the thread; compare, by the scheduler, the value of the counter to a predetermined threshold; and make other threads ineligible to be picked by the scheduler when the counter is greater than or equal to the predetermined threshold.
ASSIGNMENT OF MICROPROCESSOR REGISTER TAGS AT ISSUE TIME
Provided is a method for assigning register tags to instructions at issue time. The method comprises receiving an instruction for execution by a microprocessor. The method further comprises dispatching the instruction to an issue queue without assigning a register tag to the instruction. The method further comprises determining that the instruction is ready to issue. In response to determining that the instruction is ready to issue, the method comprises assigning an available register tag to the instruction. The method further comprises issuing the instruction.
METHOD AND SYSTEM FOR RENAMING INSTRUCTIONS RELATED TO FIXED CONSTANTS
The invention relates to the technical field of microprocessors, in particular to a renaming method and system of fixed constant related instructions. The invention classifies the instructions in the decoder according to the characteristics of the instructions, and selects the instructions with fixed constants. In the renaming stage, the invention maps the source register and the destination register of such instructions to different fixed constant physical registers according to different fixed constants, updates the register renaming mapping tables SPEC_MAP and ARCH_MAP, and releases the physical registers corresponding to the fixed constant when the instruction is submitted, thereby realizing the function of the instruction. The invention classifies the instruction, and the fixed constant instruction does not need to enter the execution unit, but realizes the execution of the instruction through the renaming method, and the instruction execution efficiency is high.
Processor for avoiding reduced performance using instruction metadata to determine not to maintain a mapping of a logical register to a physical register in a first level register file
A processor includes a first level register file, second level register file, and register file mapper. The first and second level register files are comprised of physical registers, with the first level register file more efficiently accessed relative to the second level register file. The register file mapper is coupled with the first and second level register files. The register file mapper comprises a mapping structure and register file mapper controller. The mapping structure hosts mappings between logical registers and physical registers of the first level register file. The register file mapper controller determines whether to map a destination logical register of an instruction to a physical register in the first level register file. The register file mapper controller also determines, based on metadata associated with the instruction, whether to write data associated with the destination logical register to one of the physical registers of the second level register file.
Methods and systems for utilizing a master-shadow physical register file based on verified activation
A processor in a data processing system includes a master-shadow physical register file and a renaming unit. The master-shadow physical register file has a master storage coupled to shadow storage. The renaming unit is coupled to the master-shadow physical register file. Based on an occurrence of shadow transfer activation conditions verified by the renaming unit, data in the master storage is transferred from the master storage to the shadow storage for storage. Data is transferred from the shadow storage back to the master storage based on the occurrence of a shadow-to-master transfer event, which includes, for example, a flush of the master storage by the processor.
DECOUPLED ACCESS-EXECUTE PROCESSING AND PREFETCHING CONTROL
Apparatuses and methods are provided, relating to the control of data processing in devices which comprise both decoupled access-execute processing circuitry and prefetch circuitry. Control of the access portion of the decoupled access-execute processing circuitry may be dependent on a performance metric of the prefetch circuitry. Alternatively or in addition, control of the prefetch circuitry may be dependent on a performance metric of the access portion.
METHOD AND SYSTEM FOR IMPLEMENTING REMAINDER INSTRUCTION OF RISC-V INSTRUCTION SET
The invention relates to the technical field of a microprocessor, in particular to a method and a system for realizing the residual instruction of the RISC-V instruction set. The invention executes the CPU out of order, and the instruction enters the instruction decoding unit from the fetch unit to carry out instruction decoding; the instruction after decoding is renamed in the renaming unit, and the remainder instruction is optimized at the same time. If the remainder instruction does not meet the optimization condition, the renamed instruction enters the reservation station and then enters the execution unit for execution; the executed instruction is submitted through the reordering cache and the division instruction encoding cache resources allocated in the renaming phase are released. In the renaming stage, the invention realizes the function of the remainder instruction by adding the residue instruction acceleration unit.
ROUTING INSTRUCTION RESULTS TO A REGISTER BLOCK OF A SUBDIVIDED REGISTER FILE BASED ON REGISTER BLOCK UTILIZATION RATE
A system, processor, programming product and/or method for assigning instructions to destination register file blocks, and/or routing instructions, includes: providing a processing pipeline having two or more execution units configured to process instructions; providing a register file having register file entries configured to hold data, where the register file is subdivided into a plurality of register blocks and each register block has two or more register file entries; calculating a utilization rate for one or more register blocks; and assigning and/or routing an instruction to write its results to a register block based upon the utilization rate for that register block. Preferably the execution unit is configured to write its results to a single specific destination (rename) register block.
IMPLEMENTATION METHOD AND SYSTEM OF RISC_V VECTOR INSTRUCTION SET VSETVLI INSTRUCTION
The invention relates to the technical field of CPUs, in particular to a method and system for implementing a risc_v vector instruction set vsetvli instruction. it allocates vectag[n:0] information in the rename module when the CPU executes out of order, and determines whether the instruction is vsetvli. If the instruction is vsetvli, vectag+1 is added. If it is a non-vsetvli instruction, the vectag remains unchanged; it is sent to the execution unit, and the vsetvli instruction is distributed to the csr module; and the corresponding other vector instructions are distributed to the vpu module. The non-vsetvli{i} Vector instruction execution efficiency of the present invention is high. Data is selected by mask, which reduces power consumption, reduces execution cycle and latency, and has strong market application prospects.