摘要:
An apparatus and method for scheduling the execution of one or more of a sequence of instructions for superscalar execution by a central processing unit during a single clock cycle of the processor clock is disclosed wherein the scheduling process is performed in a manner which does not dictate the duration of the processor clock period. During the decode stage of the processor pipeline, the instructions are classified, decoded, and data and resource dependencies are detected and resolved for operand access, with these processes being performed virtually in parallel so that the instructions can be appropriately scheduled for execution at the beginning of the next processor clock cycle. Because of the parallel nature of the scheduling process, scheduling can be performed and completed fast enough that processes other than instruction scheduling will dictate the minimum processor clock period.
摘要:
A register file within a central processing unit which processes operations on operands stored in the register file is disclosed. The register file includes a plurality of memory locations and each of the memory locations provides the physical storage for one or more registers. Each memory location stores one of the operands. The register file also includes a plurality of windows and each of the windows provides a unique mapping of the same set of registers to an equal number of memory location and each window includes the same quantity of one or more registers. A pointer points to one of the windows of the register file for indicating which window is currently active. Each of the memory locations is coupled to at least one multiplexer. The active memory locations of the active window, currently assigned to provide storage for the registers, simultaneously output to the at least one multiplexer the operands stored in the registers. Each of the at least one multiplexers obtains one of the operands of the active window and outputs the operand to the central processing unit for processing.
摘要:
An apparatus and method for scheduling a sequence of instructions for achieving multiple launches and multiple executions of the instructions within a central processing unit. Each of the instructions is classified according to which one of multiple execution resources of the central processing unit executes the instruction. The classifications include memory reference operations, integer operations, program control operations, and floating point arithmetic operations. The classifications associated with the instructions occur in the order in which the instructions occur in the sequence.
摘要:
An apparatus and method for scheduling a sequence of instructions for achieving multiple launches and multiple executions of the instructions within a central processing unit. Each of the instructions is classified according to which one of multiple execution resources of the central processing unit executes the instruction. The classifications include memory reference operations, integer operations, program control operations, and floating point arithmetic operations. The classifications associated with the instructions occur in the order in which the instructions occur in the sequence.