United States Patent 5,737,629
Zuraski, Jr., et. al. Apr. 7, 1998

Dependency checking and forwarding of variable width operands

Abstract

A pipelined or superscalar processor (10) that executes operations utilizing operand data of variable bit widths improves parallel performance by partitioning a fixed bit width operand (200) into several partial operand fields (215, 216 and 217), and checking for data dependencies, tagging and forwarding data in these fields independently of one another. An instruction decoder (18) concurrently dispatches multiple ROPs to various functional units (20, 21, 22 and 80). Conflicts which arise with respect to register resources are resolved through register renaming. However, implementation of register renaming is difficult when register structures are overlapping. The present invention supports independent dependency checking, tagging and forwarding of partial bit fields of a register operand which, in combination, allow renaming of registers. Therefore, the variable width register operand structure greatly assists the processor to resolve data dependencies. Operands are tagged by a reorder buffer (26) and supplied with data when it becomes available without regard for the type of data. This method of dependency resolution supports parallel performance of operations and provides a substantial improvement in overall speed of processing. Thus, the processor promotes parallel processing of operations that act upon overlapping data structures which otherwise resist parallel handling.


Inventors: Zuraski, Jr.; Gerald D. (Austin, TX); White; Scott A. (Austin, TX); Chinnakonda; Murali S. (Austin, TX); Christie; David S. (Austin, TX).
Assignee: Advanced Micro Devices, Inc. (Sunnyvale, CA).
Appl. No.: 671,439
Filed: Jun. 27, 1996

Related U.S. Application Data

Continuation of (including streamline cont.) Ser. No. 233,567, Apr. 26, 1994, Pat. No. 5,590,352.
Intl. Cl. : G06F 9/38
Current U.S. Cl.: 712/23; 712/216
Field of Search: 395/800, 800.23, 392, 393, 382

References Cited | [Referenced By]


U.S. Patent Documents

4,219,874 Aug., 1980 Gusev 395/800
4,598,359 Jul., 1986 Boothroyd et al. 395/375
4,736,288 Apr., 1988 Shintani et al. 364/200
4,807,115 Feb., 1989 Torng 364/200
4,928,223 May, 1990 Dao et al. 364/200
4,965,724 Oct., 1990 Utsumi 395/375
5,056,006 Oct., 1991 Acharya et al. 395/425
5,129,067 Jul., 1992 Johnson 395/375
5,136,697 Aug., 1992 Johnson 395/375
5,155,816 Oct., 1992 Kohn 395/375
5,155,820 Oct., 1992 Gibson 395/375
5,168,571 Dec., 1992 Hoover 395/800
5,179,691 Jan., 1993 O'Brien 395/500
5,226,126 Jul., 1993 McFarland et al. 395/375
5,226,130 Jul., 1993 Favor et al. 395/375
5,247,644 Sept., 1993 Johnson et al. 395/425
5,251,306 Oct., 1993 Tran 395/375
5,327,543 Jul., 1994 Miura 395/565
5,542,058 Jul., 1996 Brown, III 395/375
5,590,352 Dec., 1996 Zuraski 395/800

Foreign Patent Documents

0381471 A2 Aug., 1990 EP  
93/01546 Jan., 1993 WO  
Other References
R.M. Tomasulo, "An Efficient Algorithm for Exploiting Multiple Arithmetic Units", Part 2 Regions of Computer Space, Section 3 Concurrency: Single-Processor System, IBM Journal, vol. 11, Jan. 1967, pp. 293-305.

U.S. Patent Application Ser. No. 08/145,902 filed Oct. 29, 1993 entitled "Speculative Instruction Queue and Method Therefor Particularly Suitable for Variable Byte-Length Instructions" -- David B. Witt, Attorney Docket M-2279 US.

U.S. Patent Application Ser. No. 08/145,905 filed Oct. 29, 1993 entitled "Pr Decoded Instruction Cache and Method Therefor Particularly Suitable for Variable Byte-Length Instructions" -- David B. Witt and Michael D. Goddard, Attorney Docket M-2278 US.

U.S. Patent application Ser. No. 08/146,376 filed Oct. 29, 1993 entitled "Hig Performance Load/Store Functional Unit and Data Cache" -- William M. Johnso David B. Witt, and Murali Chinnakonda, Attorney Docket M-2281 US.

U.S. Patent application Ser. No. 08/146,382 filed Oct. 29, 1993 entitled "Hig Performance Superscalar Microprocessor" -- David B. Witt and William M. Johnson, Attorney Docket M-2218 US.

U.S. Patent application Ser. No. 08/146,383 filed Oct. 29, 1993 entitled "Superscalar Instruction Decoder" -- David B. Witt and Michael D. Goddard, Attorney Docket M-2280 US.

U.S. Patent application Ser. No. 08/233,563 filed Apr. 26, 1994 entitled "Mix Integer/Floating Point Core" -- Scott A. White, Michael D. Goddard, and William M. Johnson, Attorney Docket M-2518-IP US.

U.S. Patent application Ser. No. 08/233,568 filed Apr. 26, 1994 entitled "A Range Finding Circuit Using Circular Carry Lookahead" -- Scott A. White, Attorney Docket M-2657 US.

Toyohiko Yoshida, et al., "The Approach to Multiple Instruction Execution the GMICRO/400 Processor", .COPYRGT.1991, pp. 185.195.

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.


Primary Examiner: Coleman; Eric
Attorney, Agent or Firm: Skjerven, Morrill, MacPherson, Franklin & Friel LLPKoestner; Ken J.
26 Claims, 17 Drawing Figures


Last Updated : Sun Mar 9 23:25:03 EST 2008

Back to Jerry Z's Home Page
Mail to jerryz@fishzee.com