United States Patent 6,389,512
Mahalingaiah ,   et al. May 14, 2002

Microprocessor configured to detect updates to instructions outstanding within an instruction processing pipeline and computer system including same

Abstract

A core snoop buffer apparatus is provide which stores addresses of pages from which instructions have been fetched but not yet retired (i.e. the instructions are outstanding within the instruction processing pipeline). Addresses corresponding to memory locations being modified are compared to the addresses stored in the core snoop buffer on a page basis. If a match is detected, then instructions are flushed from the instruction processing pipeline and refetched. In this manner, the instructions executed to the point of modifying registers or memory are correct in self-modifying code or multiprocessor environments. Instructions may be speculatively fetched and executed while retaining coherency with respect to changes to memory. The number of pages from which instructions are concurrently outstanding within the microprocessor are typically small compared to the number of cache lines outstanding or the number of instructions outstanding. Therefore, a relatively small hardware structure may be employed to perform the instruction coherency functionality.


Inventors: Mahalingaiah; Rupaka (Austin, TX); Zuraski, Jr.; Gerald D. (Austin, TX)
Assignee: Advanced Micro Devices, Inc. (Sunnyvale, CA)
Appl. No.: 474790
Filed: December 29, 1999
Current U.S. Class: 711/125; 711/118; 711/123; 711/145; 711/146
Intern'l Class: G06F 012/08
Field of Search: 712/200-238 711/118-146 365/49

References Cited [Referenced By]


U.S. Patent Documents

4044338 Aug., 1977 Wolf 364/9.
4453212 Jun., 1984 Gaither et al. 711/221.
4807115 Feb., 1989 Torng 712/215.
4858105 Aug., 1989 Kuriyama et al. 712/235.
5226126 Jul., 1993 McFarland et al. 712/218.
5226130 Jul., 1993 Favor et al. 712/238.
5276828 Jan., 1994 Dion 709/248.
5526510 Jun., 1996 Akkary et al. 711/133.
5553255 Sep., 1996 Jain et al. 712/235.
5652859 Jul., 1997 Mulla et al. 711/146.
5684422 Nov., 1997 Witt et al. 327/261.
5687110 Nov., 1997 Tran et al. 365/154.
5742791 Apr., 1998 Mahalingaiah et al. 711/146.
5768610 Jun., 1998 Pflum 712/23.
5787266 Jul., 1998 Johnson et al. 712/216.
5790821 Aug., 1998 Pflum 712/200.
5822560 Oct., 1998 Pflum 712/214.
Foreign Patent Documents
0259095 Mar., 1988 EP.  
0381471 Aug., 1990 EP.  
0459232 Dec., 1991 EP.  
2263985 Aug., 1993 GB.  
2263987 Aug., 1993 GB.  
2281422 Mar., 1995 GB.  



Other References

Intel, "Chapter 2: Microprocessor Architecture Overview," pp. 2-1 through 2-4. Jan. 1994.
Slater, M., "AMD Microprocessor K5 Designed to Outrun Pentium," (Microprocessor Report, vol. 8, No. 14, Oct. 24, 1997, 7 pages.
Rupley, et al., "P6: The Next Step?," PC Magazine, Sep. 12, 1995, 16 pages.
Halfhill, "AMD K6 Takes on Intel P6," BYTE Magazine, Jan. 1996, 4 pages.


Primary Examiner: Nguyen; Than
Attorney, Agent or Firm: Conley, Rose & Tayon, PC, Kivlin; B. Noel


Parent Case Text




This application is a continuation of U.S. application Ser. No. 09/015,087, filed Jan. 29, 1998 now U.S. Pat. No. 6,073,217, which is a divisonal of U.S. application Ser. No. 08/601,618, filed Feb. 4, 1996 now U.S. Pat. No. 5,742,791.


Last Updated : Sun Mar 9 23:11:13 EST 2008

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