| 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