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 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 having a core logic chipset that functions as a bridge between an Accelerated Graphics Port ("AGP") bus device such as a graphics controller, and a host processor and computer system memory wherein a Graphics Address Remapping Table ("GART table") is used by the core logic chipset to remap virtual memory addresses used by the AGP graphics controller into physical memory addresses that reside in the computer system memory. The GART table enables the AGP graphics controller to work in contiguous virtual memory address space, but actually use non-contiguous blocks or pages of physical system memory to store textures, command lists and the like. The GART table is made up of a plurality of entries, each entry comprising an address pointer to a base address of a page of graphics data in the computer system physical memory, and feature flags that may be used to customize the associated page of graphics data. One of the feature flags is used as a link bit for each GART table entry such that when the core logic chipset reads selected ones of the GART table entries stored in the system memory, it stores a first one of the selected ones in its cache memory and determines if the link bit thereof is set. If the link bit of the first one of the selected ones is set then a next one of the selected ones is stored in the cache memory and if the link bit thereof is set then a subsequent one of the selected ones is stored in the cache memory until one of the link bits thereof is determined not to be set.
Abstract:
A computer system having a core logic chipset that functions as a bridge between an Accelerated Graphics Port ("AGP") bus device such as a graphics controller, and a host processor and computer system memory wherein a Graphics Address Remapping Table ("GART table") is used by the core logic chipset to remap virtual memory addresses used by the AGP graphics controller into physical memory addresses that reside in the computer system memory. The GART table enables the AGP graphics controller to work in contiguous virtual memory address space, but actually use non-contiguous blocks or pages of physical system memory to store textures, command lists and the like. The GART table is made up of a plurality of entries, each entry comprising an address pointer to a base address of a page of graphics data in the computer system physical memory, and feature flags that may be used to customize the associated page of graphics data. One of the feature flags is used as a link bit for each GART table entry such that when the core logic chipset reads selected ones of the GART table entries stored in the system memory, it stores a first one of the selected ones in its cache memory and determines if the link bit thereof is set. If the link bit of the first one of the selected ones is set then a next one of the selected ones is stored in the cache memory and if the link bit thereof is set then a subsequent one of the selected ones is stored in the cache memory until one of the link bits thereof is determined not to be set.
Abstract:
A computer system having a core logic chipset that functions as a bridge between an Accelerated Graphics Port ("AGP") bus device such as a graphics controller, and a host processor and computer system memory wherein a Graphics Address Remapping Table ("GART table") is used by the core logic chipset to remap virtual memory addresses used by the AGP graphics controller into physical memory addresses that reside in the computer system memory. The GART table enables the AGP graphics controller to work in contiguous virtual memory address space, but actually use non-contiguous blocks or pages of physical system memory to store textures, command lists and the like. The GART table is made up of a plurality of entries, each entry comprising an address pointer to a base address of a page of graphics data in memory, and feature flags that may be used to customize the associated page. The core logic chipset may cache a subset of the most recently used GART table entries to increase AGP performance when performing the address translation. A GART cache entry control register is used by an application programming interface, such as a GART miniport driver, to indicate to the core logic chipset that an individual GART table entry in the chipset cache should be invalidated and/or updated. The core logic chipset may then perform the required invalidate and/or update operation on the individual GART table entry without having to flush or otherwise disturb the other still relevant GART table entries stored in the cache.
Abstract:
A computer system having a core logic chipset that functions as a bridge between an Accelerated Graphics Port ("AGP") bus device such as a graphics controller, and a host processor and computer system memory wherein a Graphics Address Remapping Table ("GART table") is used by the core logic chipset to remap virtual memory addresses used by the AGP graphics controller into physical memory addresses that reside in the computer system memory. The GART table enables the AGP graphics controller to work in contiguous virtual memory address space, but actually use non-contiguous blocks or pages of physical system memory to store textures, command lists and the like. The GART table is made up of a plurality of entries, each entry comprising an address pointer to a base address of a page of graphics data in memory, and feature flags that may be used to customize the associated page. The core logic chipset may cache a subset of the most recently used GART table entries to increase AGP performance when performing the address translation. A GART cache entry control register is used by an application programming interface, such as a GART miniport driver, to indicate to the core logic chipset that an individual GART table entry in the chipset cache should be invalidated and/or updated. The core logic chipset may then perform the required invalidate and/or update operation on the individual GART table entry without having to flush or otherwise disturb the other still relevant GART table entries stored in the cache.