Abstract:
A computer system includes a bridge logic unit for interfacing between a microprocessor coupled to a processor bus, a first peripheral device coupled to a first peripheral bus such as a PCI bus, and a main memory coupled to a memory bus. Additional peripheral buses may further be connected to the bridge logic unit. The bridge logic unit includes a respective interface for each bus from which a memory request may be initiated. For example, the bridge logic unit may include a CPU interface configured to receive memory requests from the microprocessor, and a PCI interface configured to receive memory requests from a PCI bus peripheral. and an AGP interface configured to receive memory requests from an AGP/PCI bus peripheral. Additional interfaces are provided for any further buses supported by the system. A memory queue manager is coupled to receive memory requests from each of the interfaces and to provide the requests to a memory controller independent of the source of the request. In one embodiment, the memory queue manager includes a read request queue for receiving memory read requests, and a write request queue for receiving memory write requests. A queue arbiter is provided to arbitrate among requests from the various interfaces to determine a particular request which should be loaded within one of the queues (i.e., either the read request queue or the write request queue) of the memory queue manager. The queue arbiter is configured to take only a single request at a time from each interface. and implements a round-robin arbitration algorithm.
Abstract:
A computer system includes a microprocessor coupled to a main memory through a bridge logic unit. The bridge logic unit receives memory read requests from the microprocessor and provides the requests to the main memory. The bridge logic unit includes a memory fetch control unit configured to fetch a single line of data from the main memory in response to an initial read request from the microprocessor. If a read request to a sequential line of data is received from the microprocessor, the memory fetch control unit fetches not only the requested line of data but also the next sequential line of data. Thus, following the initial read request in which a single line of data is fetched, when the microprocessor issues a request for data from a sequential line, that line is fetched and the subsequent line is speculatively prefetched. If the microprocessor continues with a request to yet an additional sequential line, the memory fetch unit continues its speculative generation of a request for the next sequential line. If the microprocessor issues a memory read request to a non-sequential line of data, the memory fetch control unit fetches only that line of data.
Abstract:
A computer system includes a microprocessor coupled to a main memory through a bridge logic unit. The bridge logic unit receives memory read requests from the microprocessor and provides the requests to the main memory. The bridge logic unit includes a memory fetch control unit configured to fetch a single line of data from the main memory in response to an initial read request from the microprocessor. If a read request to a sequential line of data is received from the microprocessor, the memory fetch control unit fetches not only the requested line of data but also the next sequential line of data. Thus, following the initial read request in which a single line of data is fetched, when the microprocessor issues a request for data from a sequential line, that line is fetched and the subsequent line is speculatively prefetched. If the microprocessor continues with a request to yet an additional sequential line, the memory fetch unit continues its speculative generation of a request for the next sequential line. If the microprocessor issues a memory read request to a non-sequential line of data, the memory fetch control unit fetches only that line of data.
Abstract:
A computer system includes a bridge logic unit for interfacing between a microprocessor coupled to a processor bus, a first peripheral device coupled to a first peripheral bus such as a PCI bus, and a main memory coupled to a memory bus. Additional peripheral buses may further be connected to the bridge logic unit. The bridge logic unit includes a respective interface for each bus from which a memory request may be initiated. For example, the bridge logic unit may include a CPU interface configured to receive memory requests from the microprocessor, and a PCI interface configured to receive memory requests from a PCI bus peripheral. and an AGP interface configured to receive memory requests from an AGP/PCI bus peripheral. Additional interfaces are provided for any further buses supported by the system. A memory queue manager is coupled to receive memory requests from each of the interfaces and to provide the requests to a memory controller independent of the source of the request. In one embodiment, the memory queue manager includes a read request queue for receiving memory read requests, and a write request queue for receiving memory write requests. A queue arbiter is provided to arbitrate among requests from the various interfaces to determine a particular request which should be loaded within one of the queues (i.e., either the read request queue or the write request queue) of the memory queue manager. The queue arbiter is configured to take only a single request at a time from each interface. and implements a round-robin arbitration algorithm.