← Back to Patent Explorer
US5214767A Expired / Lapsed US ⏱️ 0.0 years remaining

Full address and odd boundary direct memory access controller which determines address size by counting the input address bytes

Assignee: Hewlett Packard Development Co LP
•
Filing: 1989-02-07
•
Granted: 1993-05-25
•
Expires: 2009-02-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer system which includes a direct memory access (DMA) controller which can provide a 32 bit memory address and yet can also provide 24 bit memory address operation to remain compatible with previous systems. The DMA controller also monitors system operation and if only 24 bit address operations are occurring under the control of an external bus master or the DMA controller, the DMA controller drives the top memory address byte provided to a cache memory controller to help insure cache coherency. Additionally, the DMA controller can provide optimal time transfers for word width transfer between an odd starting memory address and an even starting input/output port.

Inventors

  • 👤 Christopher C. Wanner
  • 👤 Alan L. Goodrum
  • 👤 Paul R. Culley

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 15:25
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/14; G06F13/20; G06F13/28; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0806; G06F12/0815; G06F12/0831; G06F12/0835

Claims Analysis

Total Claims: 17
Claim 1
Independent Claim 200 words
A direct memory access controller for use in a computer system having an n byte wide system address bus and locations for insertion of circuit boards for connection to the system address bus, the circuit boards including circuitry having the capability to operate as bus masters and control the system address bus, the direct memory access controller receiving memory address information as a plurality of single byte data units through an input/output port in the computer system, the direct memory access controller comprising: means for counting the number of bytres of memory address provided sequentially as data through the input/outut port; means responsive to said counting means for determining if an n or n-1 byte wide address has been provided; means for storing said n or n-1 byte wide address determination; and means responsive to said n or n-1 wide determination storage means to provide an n-1 byte wide address to the system address bus when an n-1 byte wide address has been provided sequentially as data through the input/output port, and to provide an n byte wide address to the system address bus when an n byte wide address has been provided sequentially as data through the input/output port.
Claim 2
Dependent Claim 200 words
A direct memory access controller for use in a computer system having an n byte wide system address bus and locations for insertion of circuit boards for connection to the system address bus, the circuit boards including circuitry having the capability to operate as bus masters and control the system address bus, the direct memory access controller receiving memory address information as a plurality of single byte data units through an input/output port in the computer system, the direct memory access controller comprising: means for counting the number of bytres of memory address provided sequentially as data through the input/outut port; means responsive to said counting means for determining if an n or n-1 byte wide address has been provided; means for storing said n or n-1 byte wide address determination; and means responsive to said n or n-1 wide determination storage means to provide an n-1 byte wide address to the system address bus when an n-1 byte wide address has been provided sequentially as data through the input/output port, and to provide an n byte wide address to the system address bus when an n byte wide address has been provided sequentially as data through the input/output port.
Claim 3
Dependent Claim 57 words
The direct memory access controller of claim 1, wherein the computer system further includes a cache memory controller and further comprising: means responsive to said n or n-1 byte wide determination storage means for providing an n byte wide address to the cache memory controller when an n-1 byte wide address is provided to the system bus.
Claim 4
Dependent Claim 52 words
The direct memory access controller of claim 2, further comprising: means for determining if a bus master utilizing only n-1 address bytes is controlling the system address bus; and wherein said means to provide an n byte address to the cache memory controller is also responsive to said bus master determination means.
Claim 5
Dependent Claim 115 words
The direct memory access controller of claim 1, wherein the computer system further ncludes a system data bus having a width of at least 2 bytes and direct memory access transfers are made by reading a memory location or input/output port and then writing to an input/output port or memory location, further comprising: means for transferring data between an odd starting address memory location and an even starting address input/output port in word width format in fewer cycles than required to transfer data between the memory and the direct memory access controller in byte widths and between the direct memory access controller and the input/output port in word widths for transfers greater than one word.
Claim 6
Dependent Claim 51 words
The direct memory access controller of claim 4, wherein said data transfer means includes means for temporarily storing the high byte of a word and means for providing said temporarily stored high byte as a low byte in a word and a low byte as a high byte in the word.
Claim 7
Dependent Claim 33 words
The direct memory access controller of claim 5, wherein said data transfer means further includes means for temporarily storing a second high byte of a word and the low byte of a word.
Claim 8
Dependent Claim 40 words
The direct memory access controller of claim 5, wherein said providing means includes two multiplexers, each multiplexer having inputs of the even and odd bytes, with one multiplexer outputting an odd byte and the other multiplexer outputting an even byte.
Claim 9
Dependent Claim 30 words
The direct memory access controller of claim 7, wherein said multiplexer outputting the even byte contains a third input connected to the outputs of said high byte temporary storage means.
Claim 10
Dependent Claim 45 words
The direct memory access controller of claim 7, wherein said data transfer means further includes a third multiplexer, said third multiplexer having inputs coupled to said even byte multiplexer output and inputs coupled to said high byte temporary storage means and outputting an even byte.
Claim 11
Dependent Claim 177 words
A circuit for use in a computer system having an n byte wide system address bus, having a direct memory access controller, having a cache memory controller utilizing an n byte wide memory address and having locations for insertion of circuit boards for connection to the system bus, the circuit boards including circuitry having the capability to operate a bus masters and control the system address bus, the circuit comprising: means for determining if a bus master utilizing only an n-1 byte wide address is controlling the system address bus and providing the n-1 least significant bytes of address; and means responsive to said determination means for providing the most significant byte of an n byte wide address on the system bus to the cache memory controller when said n-1 byte wide address bus master is utilizing the system address bus and providing the n-1 least significant bytes of the n byte wide address, wherein the most significant byte of said n byte wide address provided to the cache memory controller is comprised of logic low values.
Claim 12
Dependent Claim 177 words
A circuit for use in a computer system having an n byte wide system address bus, having a direct memory access controller, having a cache memory controller utilizing an n byte wide memory address and having locations for insertion of circuit boards for connection to the system bus, the circuit boards including circuitry having the capability to operate a bus masters and control the system address bus, the circuit comprising: means for determining if a bus master utilizing only an n-1 byte wide address is controlling the system address bus and providing the n-1 least significant bytes of address; and means responsive to said determination means for providing the most significant byte of an n byte wide address on the system bus to the cache memory controller when said n-1 byte wide address bus master is utilizing the system address bus and providing the n-1 least significant bytes of the n byte wide address, wherein the most significant byte of said n byte wide address provided to the cache memory controller is comprised of logic low values.
Claim 13
Dependent Claim 55 words
The circuit of claim 10, further comprising: means for determining if the direct memory access controller is providing only an n-1 byte wide address to the system address bus; and wherein said means for providing an n byte wide address to the cache memory controller is also responsive to said direct memory access determination means.
Claim 14
Dependent Claim 195 words
A direct memory access controller for use in a computer system including a system data bus having a width of at least 2 bytes and wherein said direct memory access transfers are made by reading a memory location or input/output port and then writing to an input/output port or memory location, the direct memory access controller comprising: means for transferring data between an odd starting address memory location and an even starting address input/output port in word width format in fewer cycles than required to transfer data between the memory and the direct memory access controller in byte widths and between the direct memory access controller and the input/output port in word widths for transfers greater than one word, wherein said data transfer means includes means for temporarily storing the odd byte of a word and means for providing said temporarily stored odd byte as a low byte in a word and a even byte as a odd byte in the word, and wherein said providing means includes two multiplexers, each multiplexer having inputs of the odd and even bytes, with one multiplexer outputting an odd byte and the other multiplexer outputting an even byte.
Claim 15
Dependent Claim 195 words
A direct memory access controller for use in a computer system including a system data bus having a width of at least 2 bytes and wherein said direct memory access transfers are made by reading a memory location or input/output port and then writing to an input/output port or memory location, the direct memory access controller comprising: means for transferring data between an odd starting address memory location and an even starting address input/output port in word width format in fewer cycles than required to transfer data between the memory and the direct memory access controller in byte widths and between the direct memory access controller and the input/output port in word widths for transfers greater than one word, wherein said data transfer means includes means for temporarily storing the odd byte of a word and means for providing said temporarily stored odd byte as a low byte in a word and a even byte as a odd byte in the word, and wherein said providing means includes two multiplexers, each multiplexer having inputs of the odd and even bytes, with one multiplexer outputting an odd byte and the other multiplexer outputting an even byte.
Claim 16
Dependent Claim 30 words
The direct memory access controller of claim 12, wherein: said multiplexer outputting the even byte contains a third input connected to the outputs of said high byte temporary storage means.
Claim 17
Dependent Claim 45 words
The direct memory access controller of claim 12, wherein: said data transfer means further includes a third multiplexer, said third multiplexer having inputs coupled to said even byte multiplexer output and inputs coupled to said high byte temporary storage means and outputting an even byte.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-05-24 1996-11-23 1997-05-25 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-05-24 2000-11-23 2001-05-25 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-05-24 2004-11-23 2005-05-25 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag