Unified memory architecture with parallel access by host and video controller
AssigneeOPTi Inc.
InventorHsu-Tien Tung
Life of this patent
Estimating the term…
Abstract
In a unified memory computer system architecture, the unified memory is divided into at least two banks of memory. All but one of the memory banks is reserved for access exclusively by the host memory controller, and only one bank of memory is shared between the host memory controller and the video controller. Host accesses to the non-shared bank of the unified memory can take place concurrently with video controller accesses to the shared bank of memory.
Claims18
Computer system apparatus comprising:
- a memory including first and second banks of memory;
- a first device having a first data path to said first bank of memory;
- a second device having a second data path to said second bank of memory;
- a third data path coupling said first device to said second bank of memory, said third data path being enabled when said first device has control of said second bank of memory;
- and
- a memory controller,
- wherein said memory controller, in response to an access by said first device to a specified address, if said specified address is in said second bank of memory and said memory controller does not have control of said second bank of memory, performs said access to said second bank of memory only after arbitrating with at least said second device for control of said second bank of memory, and if said specified address is in said first bank of memory, performs said access to said first bank of memory without arbitrating with said second device for control of said first bank of memory,
- and wherein said memory controller disables said third data path when said memory controller is performing said access to said first bank of memory so that an additional access can be performed to said second bank of memory concurrently with said access to said first bank of memory.
Computer system apparatus comprising:
- a memory including first and second banks of memory;
- a host processor;
- a host memory controller coupled to said host processor via a host bus, and coupled to said first bank of memory via a first memory bus;
- a video controller having a video output and a first-in-first-out buffer for providing pixel information to said video output, said video controller being coupled to said second bank of memory via a second memory bus;
- transmission circuitry having an enable input and coupled between said first and second memory buses, said transmission circuitry coupling said first and second memory buses together for unitary operation only when enabled;
- and
- arbitration circuitry coupled to said host memory controller, to said video controller and to said enable input of said transmission circuitry, said arbitration circuitry arbitrating among at least said host memory controller and said video controller for control of said second bank of memory, said arbitration circuitry enabling said transmission circuitry when control of said second bank of memory is granted to said host memory controller and disabling said transmission circuitry when control of said second bank of memory is granted to said video controller.
A method for operating a computer system having first and second devices and further having a memory which includes at least first and second banks, comprising the steps of:
- performing a first arbitration among at least said first and second devices for control of said second bank of memory;
- granting control of said second bank of memory to said second device in response to said first arbitration;
- said second device accessing said second bank of memory while said second device has control of said second bank of memory;
- said first device accessing said first bank of memory also while said second device has control of said second bank of memory;
- and subsequently
- granting control of said first and second banks of memory together to said first device.
A method for operating a computer system having a host processor and further having a memory which includes at least first and second banks, comprising the steps of:
- in response to a first access by said host processor to a first specified address which is in said second bank of memory, while retaining control of said first bank of memory, arbitrating for control of said second bank of memory and performing said first access only after receiving control of said second bank of memory and while retaining control of said first bank of memory;
- and
- in response to a second access by said host processor to a second specified address which is in said first bank of memory, performing said second access without first arbitrating for control of said first bank of memory.
Dependencies are inferred from the claim text.