Claims
- 1. A computer system, comprising:
- a processor and a cache memory each coupled to a first bus;
- a main memory;
- a bus agent coupled to a second bus; and
- a bus bridge and memory controller circuit coupled to the first bus and the second bus, the bus bridge and memory controller circuit including
- a state machine to enable read and write access to the main memory from the first bus and the second bus and to perform a plurality of snoop ahead transactions to the cache memory over the first bus during corresponding memory access transactions originated by the bus agent over the second bus and targeted for the main memory, and
- a buffer to store flags maintained by the state machine, the flags to indicate whether data stored in the buffer corresponds to data having a completed snoop ahead transaction over the first bus.
- 2. The computer system of claim 1, wherein the bus bridge and memory controller circuit further includes (i) a write buffer, coupled to the main memory, to buffer write data targeted for the main memory, and (ii) a multiplexer controlled by the state machine, to selectively merge write data received over the first bus with write data received over the second bus.
- 3. The computer system of claim 2, wherein the bus bridge and memory controller circuit further includes a peripheral write buffer, coupled to the multiplexer to buffer the write data received over the second bus.
- 4. The computer system of claim 2, wherein the bus bridge and memory controller circuit further includes a peripheral read prefetch buffer, coupled to the second bus, to prefetch read data from the main memory corresponding to the memory access transactions originated over the second bus only after a snoop ahead transaction of the plurality of snoop ahead transactions for the read data has completed.
- 5. A bus bridge and memory controller circuit for use in a computer system having a processor and a cache memory, each coupled to a first bus, and a bus agent coupled to a second bus, the bus bridge and memory controller circuit coupled to the first bus and the second bus, the computer system further including a main memory coupled to the bus bridge and memory controller circuit, the bus bridge and memory controller circuit comprising:
- a state machine to enable read and write access to the main memory from the first bus and the second bus and to perform a plurality of snoop ahead transactions to the cache memory over the first bus during corresponding memory access transactions originated over the second bus and targeted for the main memory; and
- a buffer to store flags maintained by the state machine indicating whether data stored in the buffer corresponds to data having a completed snoop ahead transaction over the first bus.
- 6. The bus bridge and memory controller circuit of claim 5, further including a peripheral read prefetch buffer coupled to the second bus, the peripheral read prefetch buffer prefetching read data from the main memory corresponding to the memory access transactions originated on the second bus only after a corresponding one of the plurality of snoop ahead transactions for the read data is complete.
- 7. The bus bridge and memory controller circuit of claim 5 further comprising a multiplexer coupled to the state machine.
- 8. The bus bridge and memory controller circuit of claim 7, wherein the multiplexer and the buffer are controlled by the state machine for merging of write data received over the first bus with write data received over the second bus.
- 9. Implemented within a computer system including a main memory, a cache memory, a first bus and a second bus, a bus bridge and memory controller circuit comprising:
- first means for enabling a write access from the second bus to the main memory and for performing a plurality of snoop ahead transactions to the cache memory over the first bus during corresponding memory access transactions originated over the second bus and targeted for the main memory; and
- second means for storing flags maintained by the first means indicating whether data stored in the second means corresponds to data having a completed snoop ahead transaction over the first bus.
- 10. The bus bridge and memory controller circuit of claim 9, wherein the first means includes a state machine.
- 11. The bus bridge and memory controller circuit of claim 9, wherein the second means includes a buffer.
- 12. The bus bridge and memory controller circuit of claim 9, wherein the first bus is a processor bus.
- 13. The bus bridge and memory controller circuit of claim 12, wherein the second bus is a peripheral bus.
- 14. The bus bridge and memory controller circuit of claim 13, wherein the peripheral bus is a Peripheral Component Interconnect (PCI) bus.
Parent Case Info
This application is a continuation of U.S. patent application Ser. No. 08/375,972 which issued as U.S. Pat. No. 5,630,094.
US Referenced Citations (15)
Foreign Referenced Citations (3)
Number |
Date |
Country |
0261029 |
Mar 1988 |
EPX |
0288649 |
Nov 1988 |
EPX |
6-37768 |
Feb 1994 |
JPX |
Non-Patent Literature Citations (1)
Entry |
"Micro Channel Data Streaming and Input/Output Snooping Facility for Personal Computer Systems", IBM Technical Disclosure Bulletin, vol 36, No. 10, Oct., 1993, pp. 187-191. |
Continuations (1)
|
Number |
Date |
Country |
Parent |
375972 |
Jan 1995 |
|