Patent US5664162A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5664162A Expired / Lapsed US ⏱️ 0.0 years remaining

Graphics accelerator with dual memory controllers

Assignee: Nvidia Corp
•
Filing: 1994-11-03
•
Granted: 1997-09-02
•
Expires: 2014-11-03
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A processor having two separate and relatively independent memory controllers to achieve a dual interface architecture. A first memory controller is coupled to the host interface for retrieving data and instructions and a second memory controller is coupled to an independent local bus for interfacing with a frame buffer memory. A depth buffer may also be coupled to the local bus if desired. Address multiplexor logic is preferably included to allow either memory controller to address either external bus. Multiplexor and buffer logic is also preferably included to allow data transfer in either direction. Preferably, the processor is a graphics processor and both memory controllers are programmable for different addressing formats, such as linear and X/Y in the preferred embodiment. In this manner, data is transferred from host to local memories, and vice versa, in any desired format without delays due to memory controller reconfiguration. Data transfers from one location to another within a single memory, such as window moves within the frame buffer, are achieved much faster. Dual memory controllers allow command or instruction prefetching during execution of a previous command. More sophisticated graphics functions, such as texture mapping and data alignment, are also performed much faster and more efficiently.

Inventors

  • 👤 Thomas Anthony Dye

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 17:37
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3824; G06F9/383; G06F9/3867; G06F9/3877; G06F9/3879; G06T; G06T1/00; G06T1/20; G06T15/00; G06T15/50; G06T15/80

Claims Analysis

Total Claims: 54
Claim 1
Independent Claim 98 words
A processor for coupling to first and second independent buses, the first and second buses each having address and data portions, said processor comprising: a first memory controller for providing address signals onto the address portion of the first bus; a second memory controller for providing address signals onto the address portions of the second bus; a set of latches for coupling to the data portions of the first and second buses; and control logic coupled to said first and second memory controllers and said set of latches for controlling data flow on the first and second buses.
Claim 2
Dependent Claim 98 words
A processor for coupling to first and second independent buses, the first and second buses each having address and data portions, said processor comprising: a first memory controller for providing address signals onto the address portion of the first bus; a second memory controller for providing address signals onto the address portions of the second bus; a set of latches for coupling to the data portions of the first and second buses; and control logic coupled to said first and second memory controllers and said set of latches for controlling data flow on the first and second buses.
Claim 3
Dependent Claim 61 words
The processor of claim 1, wherein: said first memory controller provides address signals on the first bus for addressing input data, wherein said input data is provided to an input of said set of latches; and wherein said second memory controller provides address signals on the second bus for writing output data provided from an output of said set of latches.
Claim 4
Dependent Claim 29 words
The processor of claim 1, wherein said first and second memory controllers are both programmable for asserting said address signals on the first and second buses in different formats.
Claim 5
Dependent Claim 68 words
The processor of claim 3, wherein said first memory controller is programmed for asserting address signals on the first bus in linear format for accessing and providing data to an input of said set of latches, and wherein said second memory controller is programmed for asserting address signals on the second bus in x/y format for writing data provided from an output of said set of memory latches.
Claim 6
Dependent Claim 39 words
The processor of claim 3, further comprising: memory coupled to said first and second memory controllers for storing addressing parameters for programming said first and second memory controllers for asserting said address signals in either linear or x/y format.
Claim 7
Dependent Claim 44 words
The processor of claim 5, wherein said memory comprises a plurality of registers including a base register for storing an initial memory address and a pitch register for storing a value defining an amount of memory per line associated with an external memory device.
Claim 8
Dependent Claim 29 words
The processor of claim 6, wherein said plurality of registers include an offset register for storing an address value added to said initial memory location for implementing indirect addressing.
Claim 9
Dependent Claim 45 words
The processor of claim 1, wherein said set of latches includes two inputs for coupling to the first and second buses, respectively, and two outputs for coupling to the first and second buses, respectively, for allowing bidirectional data flow between the first and second buses.
Claim 10
Dependent Claim 100 words
The processor of claim 8, further comprising: input select logic coupled to said control logic and having respective inputs for coupling to the data portions of the first and second buses and an output for providing selected data to said set of latches; and output select logic coupled to said control logic and having an input for receiving data from said set of latches and having respective outputs coupled to the data portions of the first and second data buses; wherein said control logic provides control signals for controlling the direction of data flow between the first and second buses.
Claim 11
Dependent Claim 15 words
The processor of claim 9, wherein said set of latches further includes first-in, first-out latches.
Claim 12
Dependent Claim 38 words
The processor of claim 10, wherein said first-in, first-out latches include a set of input first-in, first-out latches coupled to said input select logic and a set of output first-in, first-out latches coupled to said output select logic.
Claim 13
Dependent Claim 88 words
The processor of claim 1, further comprising: execution logic coupled to said control logic and for coupling to the data portion of the first bus for receiving and executing instructions and any associated parameters and providing data to said set of latches; and wherein said first memory controller asserts address signals on the first bus for retrieving instructions for execution by said execution logic, and wherein said second memory controller asserts address signals onto the second bus corresponding to data from an output of said set of latches.
Claim 14
Dependent Claim 68 words
The processor of claim 12, wherein after said first memory controller asserts address signals to retrieve a first instruction and while said execution logic is executing said first instruction and while second memory controller is asserting address signals on the second bus corresponding to data provided from said set of latches, said first memory controller asserts additional address signals on the first bus for retrieving a second instruction.
Claim 15
Dependent Claim 19 words
The processor of claim 12, wherein said execution logic further includes memory for storing said instructions and associated parameters.
Claim 16
Dependent Claim 51 words
The processor of claim 1, further comprising: multiplexor logic receiving address signals from both said first and second memory controller and for providing address signals on the first and second buses, said multiplexor logic further receiving select signals from said control logic for selecting between said first and second memory controllers.
Claim 17
Dependent Claim 64 words
The processor of claim 15, wherein said multiplexor logic includes: a first multiplexor having first and second inputs for receiving address signals from said first and second memory controller, respectively, a select input for receiving a first select signal from said control logic for selecting between said first and second memory controller and an output for providing selected address signals on the first bus.
Claim 18
Dependent Claim 65 words
The processor of claim 16, wherein said multiplexor logic further includes: a second multiplexor having first and second inputs for receiving address signals from said first and second memory controllers, respectively, a select input for receiving a second select signal from said control logic for selecting between said first and second memory controllers, and an output for providing selected address signals on the second bus.
Claim 19
Dependent Claim 45 words
The processor of claim 15, wherein said second memory controller provides address signals to read data from the second bus from one addressable location and wherein said first memory controller provides address signals to write data to the second bus to a second addressable location.
Claim 20
Dependent Claim 71 words
The processor of claim 18, wherein the data read from the second bus is provided to an input of said set of latches, wherein data written to said second bus is provided from an output of said set of latches and wherein said control logic asserts select signals to said multiplexor logic for selecting said first memory controller to read data and for selecting said second memory controller to write data.
Claim 21
Dependent Claim 26 words
The processor of claim 15, wherein said first and second memory controllers are both programmable for asserting said address signals in either linear or x/y format.
Claim 22
Dependent Claim 44 words
The processor of claim 20, further comprising: memory coupled to said first and second memory controllers for storing a base address value identifying an initial memory location and a pitch value identifying an amount of memory per line associated with an external memory device.
Claim 23
Dependent Claim 24 words
The processor of claim 21, wherein said memory further stores an offset value for adding to said base address value for implementing indirect addressing.
Claim 24
Dependent Claim 30 words
The processor of claim 20, wherein said set of latches further includes input and output select logic for allowing data flow in either direction between the first and second buses.
Claim 25
Dependent Claim 101 words
The processor of claim 1, wherein said set of latches includes: pixel alignment logic having inputs for receiving data from the data portion of the first and second buses, and an output; input FIFOs receiving data from said output of said pixel alignment logic for synchronizing and providing data at an output; operation logic having an input for receiving and manipulating pixel data from said input FIFOs and providing manipulated pixel data at an output; and output FIFOs receiving said manipulated pixel data from said operation logic and providing synchronized data to the data portions of the first and second buses.
Claim 26
Dependent Claim 124 words
The processor of claim 1, further comprising: said set of latches including an input portion and an output portion, wherein said input portion includes two inputs coupled to the data portions of the first and second buses, respectively; and operation logic coupled between said input and output portions of said set of latches for combining data from the first and second buses; wherein said first memory controller asserts address signals to retrieve data from the first bus and said second memory controller asserts address signals to retrieve data from the second bus, and then said second address controller is reprogrammed by said control logic to assert address signals to write data from said output portion of said set of latches onto the second bus.
Claim 27
Dependent Claim 18 words
The processor of claim 25, wherein said set of latches includes first-in, first-out latches for synchronizing data flow.
Claim 28
Dependent Claim 107 words
A graphics system, comprising: a first bus having address and data portions; a first memory coupled to said first bus; a second bus having address and data portions; a second memory coupled to said second bus; and a processor coupled to said first and second buses, comprising: a first memory controller for providing address signals onto said address portion of said first bus; a second memory controller for providing address signals onto said address portion of said second bus; data means coupled to said data portions of said first and second buses; and control logic coupled to said first and second memory controllers and said data means.
Claim 29
Dependent Claim 107 words
A graphics system, comprising: a first bus having address and data portions; a first memory coupled to said first bus; a second bus having address and data portions; a second memory coupled to said second bus; and a processor coupled to said first and second buses, comprising: a first memory controller for providing address signals onto said address portion of said first bus; a second memory controller for providing address signals onto said address portion of said second bus; data means coupled to said data portions of said first and second buses; and control logic coupled to said first and second memory controllers and said data means.
Claim 30
Dependent Claim 15 words
The graphics system of claim 27, wherein said first memory stores graphics instructions and data.
Claim 31
Dependent Claim 18 words
The graphics system of claim 27, wherein said second memory comprises a frame buffer for storing pixel data.
Claim 32
Dependent Claim 15 words
The graphics system of claim 29, wherein said second memory comprises video random access memory.
Claim 33
Dependent Claim 16 words
The graphics system of claim 27, further comprising a third memory coupled to said second bus.
Claim 34
Dependent Claim 17 words
The graphics system of claim 31, wherein said third memory comprises a buffer for storing depth information.
Claim 35
Dependent Claim 27 words
The graphics system of claim 27, wherein said first and second memory controllers are programmable by said control logic for asserting address signals in different addressing formats.
Claim 36
Dependent Claim 42 words
The graphics system of claim 33, wherein said processor further includes: memory coupled to said first and second memory controllers for storing address parameters for programming said first and second memory controllers to assert address signals in either linear or x/y format.
Claim 37
Dependent Claim 19 words
The graphics system of claim 34, wherein said processor memory stores a base address associated with said first memory.
Claim 38
Dependent Claim 47 words
The graphics system of claim 35, wherein said memory stores a pitch value representing an amount of data in each group of a plurality of data groups stored consecutively in said first memory, where each group is associated with a line of data of said second memory.
Claim 39
Dependent Claim 17 words
The graphics system of claim 36, wherein said pitch value is used relative to said base address.
Claim 40
Dependent Claim 22 words
The graphics system of claim 36, wherein said memory stores an offset address added to said base address for implementing indirect addressing.
Claim 41
Dependent Claim 43 words
The graphics system of claim 27, wherein said data means includes two inputs coupled to said first and second buses, respectively, and two outputs coupled to said first and second buses, respectively, for allowing bidirectional data flow between said first and second buses.
Claim 42
Dependent Claim 51 words
The graphics system of claim 39, wherein said data means further includes: data input select logic coupled to said control logic for selecting between said two inputs of said data means; and data output select logic coupled to said control logic for selecting between said two outputs of said data means.
Claim 43
Dependent Claim 53 words
The graphics system of claim 40, wherein said processor further comprises: address select logic coupled to said first and second memory controllers, said first and second buses and said control logic, wherein said control logic selects between said first and second memory controllers for asserting address signals on said first and second buses.
Claim 44
Dependent Claim 73 words
The graphics system of claim 41, wherein said address select logic comprises: a first multiplexer having two inputs for receiving address signals from said first and second memory controllers, respectively, and an output for providing selected address signals on said first bus; and a second multiplexer having two inputs for receiving address signals from said first and second memory controllers, respectively, and an output for providing selected address signals on said second bus.
Claim 45
Dependent Claim 43 words
The graphics system of claim 41, wherein said second memory controller provides address signals to read data from said second bus at one address and wherein said first memory controller provides address signals to write data to said second bus at another address.
Claim 46
Dependent Claim 29 words
The graphics system of claim 41, wherein said first and second memory controllers are programmed by said control logic for asserting address signals in either linear or x/y format.
Claim 47
Dependent Claim 38 words
The graphics system of claim 44, wherein said processor further comprises: memory coupled to said first and second memory controllers for storing address parameters to program said first and second memory controllers into linear or x/y addressing formats.
Claim 48
Dependent Claim 22 words
The graphics system of claim 45, wherein said memory stores a base address and a pitch value associated with said first memory.
Claim 49
Dependent Claim 43 words
The graphics system of claim 46, wherein said pitch value represents an amount of data per group for each of a plurality of data groups stored consecutively in said first memory equivalent to an amount of data per line in said second memory.
Claim 50
Dependent Claim 22 words
The graphics system of claim 47, wherein said line in said second memory is less than the pitch of said second memory.
Claim 51
Dependent Claim 95 words
The graphics system of claim 41, wherein said processor further comprises: execution logic coupled to said control logic for executing instructions provided by said control logic, wherein said execution logic provides data to said data means; and wherein said address select logic selects said first memory controller for asserting address signals on said first bus for retrieving instructions for execution by said execution logic, and wherein said address select logic selects said second memory controller for asserting address signals onto said second bus for writing data to said second memory provided from said data means.
Claim 52
Dependent Claim 59 words
The graphics system of claim 49, wherein after said first memory controller asserts address signals to retrieve a first instruction and while said execution logic is executing said first instruction and said second memory controller is asserting address signals on said second bus, said first memory controller asserts address signals on said first bus to retrieve a second instruction.
Claim 53
Dependent Claim 128 words
A computer system, comprising: a host bus having address and data portions; a host central processing unit coupled to said host bus; a private memory coupled to said host bus for storing graphics instructions and associated data; a local graphics bus having address and data portions; a frame buffer coupled to said local graphics bus; and a graphics processor coupled to said host and local graphics bus, comprising: a first memory controller for providing address signals onto said address portion of said first bus; a second memory controller for providing address signals onto said address portion of said second bus; data means coupled to said data portions of said first and second buses; and control logic coupled to said first and second memory controllers and said data means.
Claim 54
Dependent Claim 128 words
A computer system, comprising: a host bus having address and data portions; a host central processing unit coupled to said host bus; a private memory coupled to said host bus for storing graphics instructions and associated data; a local graphics bus having address and data portions; a frame buffer coupled to said local graphics bus; and a graphics processor coupled to said host and local graphics bus, comprising: a first memory controller for providing address signals onto said address portion of said first bus; a second memory controller for providing address signals onto said address portion of said second bus; data means coupled to said data portions of said first and second buses; and control logic coupled to said first and second memory controllers and said data means.

References Cited (Backward Citations)

US5522082A Cited
US5522027A Cited
US5560030A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-09-01 2001-03-03 2001-09-02 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-09-01 2005-03-03 2005-09-02 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-09-01 2009-03-03 2009-09-02 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag