摘要:
A superscalar microprocessor implements a microcode instruction unit with sequence control fields appended to each microcode line. The sequence control fields indicate whether a subsequent line contains a branch instruction, whether a subsequent line is the last line in a microcode sequence, and other sequence control information. The sequence control information is accessed one cycle before the microcode line. This allows the next address to be calculated in parallel with the accessing of the microcode instruction line. By generating the next address in parallel with accessing the microcode line, the time delay from accessing one microcode line to accessing the next microcode line is reduced. The sequence control field additionally indicates how many microcode instructions are in the last line of the microcode sequence. If the last microcode line of the microcode sequence contains less instructions than the number of issue positions available, fastpath, or directly decodable instructions, can be issued with the final microcode line.
摘要:
A microprocessor detects a floating point exchange instruction followed by a floating point instruction and dispatches the two instructions to the floating point unit as one combined instruction. The predecode unit marks the two instructions as a single instruction. A start bit is asserted for the first byte of the floating point exchange instruction and an end bit is asserted for the last byte of the floating point instruction. The combined instruction is dispatched into the instruction execution pipeline. A decode unit decodes the opcodes of the two instructions and passes the opcode of the floating point instruction to the floating point unit and passes exchange register information to the floating point unit. The exchange register information includes a sufficient number of bits to specify a floating point register and a valid bit. The floating point instruction unit receives the exchange register information, exchanges the top-of-stack with the register specified by the exchange register information and then performs the floating point operation. In the above manner, two floating point operations may be executed in a single clock cycle.
摘要:
An apparatus for rounding an answer produced during the execution of an operation by a multiple stage execution pipeline includes first circuitry for detecting when the operation is iterative and accuracy bits associated with the answer to determine if a rounding calculation is required. When the first circuitry detects a rounding calculation is required, it sets a correction factor for the answer in accordance with a rounding mode and the detected accuracy. In a method practiced by the apparatus, the rounding an answer produced during the execution of an operation occurs through the steps of detecting, when the operation is iterative, accuracy bits associated with the answer to determine if a rounding calculation is required, and, when the rounding calculation is required, setting a correction factor for the answer in accordance with a rounding mode and the detected accuracy bits.