Abstract:
PROBLEM TO BE SOLVED: To provide a unified register renaming mechanism targeting various instruction types in a microprocessor. SOLUTION: This universal renaming mechanism renames addresses of the various instruction types, using single name structure. An instruction for updating a floating point register (FPR) can be thereby renamed together with an instruction for updating a general purpose register (GPR) or a vector multimedium extension (VMX) instruction register (VR), using the same renaming structure, because the number of states designed for the GPR is same to the number of states designed for the FPR and the GPR. Each address tag (DTAG) is allocated to one address, and a fixed point instruction is allocated to the next DTAG. Considerable amounts of silicon and electric power are saved by providing the single name structure for all the instruction types, in case of the universal renaming mechanism. COPYRIGHT: (C)2009,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To provide a configurable microprocessor which combines a plurality of corelets into a single microprocessor core to handle high computing-intensive workloads. SOLUTION: The process for forming the single microprocessor core first selects two or more corelets in the plurality of corelets. The process combines resources of the two or more corelets to form combined resources, wherein each combined resource comprises a larger amount of a resource available to each individual corelet. The process then forms a single microprocessor core from the two or more corelets by assigning the combined resources to the single microprocessor core, wherein the combined resources are dedicated to the single microprocessor core, and wherein the single microprocessor core processes instructions with the dedicated combined resources. COPYRIGHT: (C)2008,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To reduce the restriction of instruction completion by permitting a dispatch unit to dispatch an instruction with condition to an appropriate execution unit through a reserved station associated with the execution unit. SOLUTION: In the case of the regular sequence of the instruction or a sequence having the instruction with condition, a take-out unit takes out a sequence 306 waiting for the instruction from an instruction cache 304 based on a prediction sequence. A decoder unit dispatches the instruction to the appropriate execution units (function units) 308-318 through the reserved stations 324-334 associated with the execution units. A branch instruction is dispatched to the branch unit 308, a storage instruction is dispatched to the storage unit 316 and a fixed point instruction containing a lad instruction is dispatched to a 'cluster' unit 314 and the like. Thus, the restriction of instruction completion can be reduced.
Abstract:
PROBLEM TO BE SOLVED: To provide a pipeline type data processor for performing the random execution and inference execution of instructions by allocating intrinsic identifiers to the respective instructions and using the identifiers again during the execution of a program inside a data processing system. SOLUTION: This data processing system is provided with an input circuit and a memory for storing plural control values corresponding to the identifiers of plural targets and the memory is provided with first and second banks. Also, a target identification circuit for generating plural target identification values and continuously allocating the respective target identifiers to the corresponding instructions is provided as well. When the target identification values corresponding to the plural control values are allocated inside the first and second banks, the target identification circuit selectively reallocates the first part of the plural target identification values corresponding to the first part of the plural control values inside the first bank. The data processing system 100 is provided with a pipeline type CPU 110 and the CPU 110 is connected to other various constituting elements by a system bus 112.
Abstract:
PROBLEM TO BE SOLVED: To provide a method for processing interruption and branching recovery unrelated to the type of generated interruption by writing the identification tag to an item inside an architecture register table in the case that the identification tag of a dispatched instruction is the latest one. SOLUTION: The instruction provided with the identification tag and a relating item inside the architecture register table is dispatched, and in the case that the identification tag of the dispatched instruction is newer than the identification tag of a preceding instruction stored in the item, the identification tag is written to the item inside the architecture register table. In this device, a processor 1210 uses an intrinsic instruction identifier and tracks the program order of the instruction dispatched during random execution. In an execution stage, when an operand and execution resources for an indicated operation become usable, execution units 1222, 1228 and 1230 execute the instruction received from a dispatch unit 1220 conveniently.
Abstract:
PROBLEM TO BE SOLVED: To provide a method for processing interruption and branching recovery unrelated to the type of generated interruption by providing a step for allocating an identification tag to an instruction and the step for dispatching the instruction, the identification tag and source information to an execution queue. SOLUTION: This method is provided with the step for allocating the identification tag to the instruction and the step for dispatching the instruction, the identification tag and the source information to the execution queue. Such a tag system provides an integrated mechanism for supporting complete random execution. For instance, in a processor system, a processor 1210 uses an intrinsic instruction identifier and tracks the program order of the instruction dispatched during random execution. In an execution stage, when an operand and execution resources for an indicated operation become usable, execution units 1222, 1228 and 1230 execute the instruction received from a dispatch unit 1220 conveniently.
Abstract:
PROBLEM TO BE SOLVED: To provide a method and a device adaptable to the temporal request for the high frequency design and accessible to an operand in a single cycle. SOLUTION: An operand buffer having a plurality of entries in which each entry is allocated to the command in generation queues. The operand buffer has the entries of the same number as that of the generation queues. A designed register and a register file for temporary data are input. Data in the operand buffer is written from the register file when the entry is written. When the command is executed, the corresponding entry in the operand buffer is unnecessary, and the entry is dis-allocated. The operand buffer has only entries smaller in number than the register file. Thus, the operand access stage requires the reading of not the register file but the operand buffer, and the operand buffer is read in one cycle.
Abstract:
PROBLEM TO BE SOLVED: To provide a method for processing interruption and branching recovery unrelated to the type of generated interruption by dispatching an instruction and source information to an execution queue, judging the propriety of the source information and issuing the instruction for execution in response to the propriety of the source information. SOLUTION: This method is provided with a step for dispatching the instruction and the source information to the execution queue, the step for judging the propriety of the source information and the step for issuing the instruction for the execution in response to the propriety of the source information. For instance, in a processor system, a processor 1210 uses an intrinsic instruction identifier and tracks the program order of the instruction dispatched during random execution. In an execution stage, when an operand and execution resources for an indicated operation become usable, execution units 1222, 1228 and 1230 execute the instruction received from a dispatch unit 1220 conveniently.
Abstract:
A system and process for managing thread transitions may include the ability to determine that a transition is to be made regarding the relative use of two data register sets and determine, based on the transition determination, whether to move thread data in at least one of the data register sets to second-level registers. The system and process may also include the ability to move the thread data from at least one data register set to second-level registers based on the move determination.
Abstract:
Mechanisms are provided for offloading a workload from a main thread to an assist thread. The mechanisms receive, in a fetch unit of a processor of the data processing system, a branch-to-assist-thread instruction of a main thread. The branch-to-assist-thread instruction informs hardware of the processor to look for an already spawned idle thread to be used as an assist thread. Hardware implemented pervasive thread control logic determines if one or more already spawned idle threads are available for use as an assist thread. The hardware implemented pervasive thread control logic selects an idle thread from the one or more already spawned idle threads if it is determined that one or more already spawned idle threads are available for use as an assist thread, to thereby provide the assist thread. In addition, the hardware implemented pervasive thread control logic offloads a portion of a workload of the main thread to the assist thread.