Method and apparatus for providing concurrent access by a plurality of agents to a shared memory
First Claim
1. A computer system comprising:
- first and second agents;
a shared memory accessible by the first and second agents, the shared memory having a first memory portion and a second memory portion, at least a portion of the second memory portion to store data associated exclusively with the second agent; and
a switch arrangement to provide (i) a first data path between the first agent and the second memory portion when in a first state, and to provide (ii) a second data path between the first agent and the first memory portion and (iii) a third data path between the second agent and the second memory portion when in a second state, the second and third data paths being distinct and provided in parallel so as to facilitate simultaneous access to the first and second memory portions by the first and second agents respectively when the switch arrangement is in the second state.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer system, including a graphics controller and a memory controller, employs a Shared Frame Buffer Architecture, and accordingly has a shared memory in the form a bank of DRAMs. The shared memory is accessible by both the memory and graphics controllers. The memory includes a shared DRAM row in which a Shared Frame Buffer (SFB) aperture is defined. An interface selectively provides access to the shared DRAM row by the graphics or memory controller, while providing permanent access to the remaining DRAM rows by the memory controller. This facilitates concurrent access by the graphics controller and the memory controller to the shared DRAM row and to the remaining DRAM rows respectively, in a first memory access scenario. The accessibility of the shared DRAM row by the memory controller, in a second memory access scenario, is also maintained. The interface includes a selector circuit, such as a multiplexor or Q-switch, coupled to receive memory address signals and control signals from the graphics controller and the memory controller via a dedicated bus from each of these controllers. The selector circuit is operable selectively to present either memory address to the shared DRAM row, in which the SFB aperture is defined, and also selectively to provide access to the shared DRAM row by either controller. The selector circuit is operable by a logic circuit, incorporated within the systems controller, which determines whether a memory access request received from the memory controller is to an address in the shared DRAM row, or in the remaining DRAM rows.
-
Citations
16 Claims
-
1. A computer system comprising:
-
first and second agents; a shared memory accessible by the first and second agents, the shared memory having a first memory portion and a second memory portion, at least a portion of the second memory portion to store data associated exclusively with the second agent; and a switch arrangement to provide (i) a first data path between the first agent and the second memory portion when in a first state, and to provide (ii) a second data path between the first agent and the first memory portion and (iii) a third data path between the second agent and the second memory portion when in a second state, the second and third data paths being distinct and provided in parallel so as to facilitate simultaneous access to the first and second memory portions by the first and second agents respectively when the switch arrangement is in the second state. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An interface arrangement for a shared memory, the shared memory having first and second memory portions, the interface comprising:
-
a first input coupled to receive a first memory address from a first agent; a second input coupled to receive a second memory address from a second agent; a selector operable selectively to present the second memory address to the second memory portion when in a first state so as to facilitate simultaneous access by the first agent to the first memory portion via a first access path and by the second agent to the second memory portion via a second access path and selectively to present the first memory address to the second memory portion when in a second state so as to facilitate exclusive access by the first agent to at least the second memory portion via a third access path, the first and second access paths being distinct and existing in parallel to facilitate the simultaneous access. - View Dependent Claims (9, 10, 11)
-
-
12. A method of facilitating simultaneous access by first and second agents to a shared memory via a memory interface, the shared memory including first and second memory portions, the method including the steps of:
-
(a) receiving a memory access request from the first agent; (b) determining whether the memory access request of the first agent is to a memory location in the first or second memory portion of the shared memory; (c) if the memory access request of the first agent is to a memory location in the first memory portion, placing the memory interface in a first state in which the first agent has access to the first memory portion via a first access path and in which the second agent is able to access the second memory portion via a second access path, the first and second access paths being distinct and existing in parallel to facilitate simultaneous access by the first and second agents to the first and second memory portions respectively; and (d) if the memory access request of the first agent is to a memory location in the second memory portion, placing the memory interface in a second state in which the first agent has exclusive access to at least the second memory portion via a third access path. - View Dependent Claims (13, 14, 15, 16)
-
Specification