High performance superscalar microprocessor including a common reorder buffer and common register file for both integer and floating point operations
Patent 5651125 Issued on July 22, 1997. Estimated Expiration Date: July 10, 2015. Estimated Expiration Date is calculated based on simple USPTO term provisions. It does not account for terminal disclaimers, term adjustments, failure to pay maintenance fees, or other factors which might affect the term of a patent.
712/218, Commitment control or register bypass711/146, Snooping712/215, Simultaneous issuance of multiple instructions712/217Scoreboarding, reservation station, or aliasing
A superscalar microprocessor is provided which includes a integer functional unit and a floating point functional unit that share a high performance main data processing bus. The integer unit and the floating point unit also share a common reorder buffer, register file, branch prediction unit and load/store unit which all reside on the same main data processing bus. Instruction and data caches are coupled to a main memory via an internal address data bus which handles communications therebetween. An instruction decoder is coupled to the instruction cache and is capable of decoding multiple instructions per microprocessor cycle. Instructions are dispatched from the decoder in speculative order, issued out-of-order and completed out-of-order. Instructions are retired from the reorder buffer to the register file in-order. The functional units of the microprocessor desirably accommodate operands exhibiting multiple data widths. High performance and efficient use of the microprocessor die size are achieved by the sharing architecture of the disclosed superscalar microprocessor.
R. M. Tomasulo, "An Efficient Algorithm for Exploiting Multiple Arithmetic Units1, Part 2 Regions of Computer Space, Section 3 Concurrency: Single-Processor System", IBM Journal, vol. 11, Jan. 1967, pp. 293-305
D. W. Anderson, F. J. Sparacio, F. M. Tomasulo, "The IBM System/360 Model 91: Machine Philosophy and Instruction-handling1, Chapter 18, Part 2 Regions of Computer Space, Section 3 Concurrency: Single-Processor System", IBM Journal, vol. 11, Jan. 1967, pp. 276-292
Toyohiko Yoshida, "The Approach to Multiple Instruction Execution in the GMICRO/400 Processor", .COPYRGT.1991, pp. 185-195
Val Popescu, et al., "The Metaflow Architecture", IEEE Micro, Jun. 1991, vol. 11, No. 3, pp. 10-13, 63-73
Brian Case, "AMD Unveils First Superscalar 29K Core", Microprocessor Report, Oct. 24, 1994, pp. 23-26
Michael Slater, "AMD's K5 Designed to Outrun Pentium", Microprocessor Report, Oct. 24, 1994, pp. 1, 6-11
Gurdindar S. Sohi, "Instruction Issue Logic for High-Performance Interruptible, Multiple Functional Unit, Pipelined Computers", IEEE Transactions on Computers, vol. 39, No. 3, 0.COPYRGT.1990, pp. 349-359
Bruce D. Lightner and Gene Hill, "The Metaflow Lightning Chipset", IEEE Proceedings ConpCom Spring '91, Feb., 1991, pp. 13-18
R.M. Tomasulo, "An Efficient Algorithm for Exploiting Multiple Arithmetic Units", IBM Journal, Jan. 1967, vol. 11, pp. 25-32
U.S. Patent Application Serial No. 07/929,770 filed Apr. 12, 1992 entitled "Instruction Decoder And Superscalar Processor Utilizing Same"--David B. Witt and William M. Johnso