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

Versatile peripheral bus

Assignee: Sun Microsystems Inc
•
Filing: 1992-03-04
•
Granted: 1994-01-18
•
Expires: 2012-03-04
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An improved computer system bus is disclosed that transitions between addressed data transfers and handshake data transfers on the fly and that performs burst within dynamic data sizing during a data transfer sequence without prematurely terminating the sequence and that changes between synchronous and asynchronous data transfer sequences on the fly. These capabilities are accomplished by modifying the function of bus signal lines depending upon the type of transfer sequence undertaken. On the fly transition between addressed data transfer and handshake data transfer is accomplished by providing a set of DMA acknowledge signals and modifying their function according to the type of data transfer sequence underway. Burst within dynamic data sizing during a sequence is performed by taking advantage of burst transfer capabilities of the slave device, and the capability of the master device to modify data width on the fly. If the slave supports burst transfer, the bus master proceeds with a burst transfer sequence for the remaining portions of the data while shifting the data to accommodate the data width limitation of the slave device. On the fly transition between a synchronous transfer sequence and an asynchronous transfer sequence is accomplished by modifying the timing of bus acknowledge signals.

Inventors

  • 👤 Martin Sodos
  • 👤 Thomas Chan

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 23:43
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/14; G06F13/20; G06F13/28

Claims Analysis

Total Claims: 10
Claim 1
Independent Claim 237 words
A method for communicating over a bus in a computer system, comprising the steps of: (a) sensing a data transfer request signal from a slave device coupled to the bus, and then asserting a bus request signal to a bus arbiter coupled to the bus, the bus request signal causing the bus arbiter to transfer a bus grant signal over the bus; (b) sensing the bus grant signal from the bus arbiter, then transferring a data transfer accept signal to the slave device over a data transfer accept portion of the bus; (c) reading a channel control table containing a set of channel parameters for the slave device, the channel parameters indicating whether the slave device performs an addressed transfer sequence or a handshake transfer sequence; (d) if the slave device performs the addressed transfer sequence, then transferring at least one address to the slave device over an address portion of the bus and transferring at least one data value to the slave device over a data portion of the bus, and then transferring an end of data transfer signal to the slave device over a data acknowledge portion of the bus; (e) if the slave device performs the handshake transfer sequence, then transmitting a slave device select signal to the slave device over the data acknowledge portion of the bus and transferring the data values to the slave device over the data portion of the bus.
Claim 2
Independent Claim 237 words
A method for communicating over a bus in a computer system, comprising the steps of: (a) sensing a data transfer request signal from a slave device coupled to the bus, and then asserting a bus request signal to a bus arbiter coupled to the bus, the bus request signal causing the bus arbiter to transfer a bus grant signal over the bus; (b) sensing the bus grant signal from the bus arbiter, then transferring a data transfer accept signal to the slave device over a data transfer accept portion of the bus; (c) reading a channel control table containing a set of channel parameters for the slave device, the channel parameters indicating whether the slave device performs an addressed transfer sequence or a handshake transfer sequence; (d) if the slave device performs the addressed transfer sequence, then transferring at least one address to the slave device over an address portion of the bus and transferring at least one data value to the slave device over a data portion of the bus, and then transferring an end of data transfer signal to the slave device over a data acknowledge portion of the bus; (e) if the slave device performs the handshake transfer sequence, then transmitting a slave device select signal to the slave device over the data acknowledge portion of the bus and transferring the data values to the slave device over the data portion of the bus.
Claim 3
Dependent Claim 23 words
The method of claim 1, wherein the channel parameters further indicate whether the slave device performs a synchronous transfer or an asynchrounous transfer.
Claim 4
Dependent Claim 219 words
The method of claim 2, wherein the steps of transferring at least one address to the slave device over an address portion of the bus and transferring at least one data value to the slave device over a data portion of the bus in step (d) comprises the steps of: generating a bus clock signal and transmitting the bus clock signal over a clock signal portion of the bus; transferring the address to the slave device over the address portion of the bus, the address synchronized by the bus clock signal; transferring the data value to the slave device over the data portion of the bus, the data value synchronized by the bus clock signal; if the slave device performs the synchronous transfer, then sensing a bus acknowledge signal from the slave device over a bus acknowledge portion of the bus, the slave device asserting the bus acknowledge signal for a time period substantially equal to a period of the bus clock signal, the bus acknowledge signal indicating that the slave device received the data value; if the slave device performs the asynchrounous transfer, then sampling the bus acknowledge signal on an edge of the bus clock signal, the slave device asserting the bus acknowledge signal for the time period greater than the period of the bus clock signal.
Claim 5
Dependent Claim 304 words
The method of claim 2, wherein the steps of transferring at least one address to the slave device over an address portion of the bus and transferring at least one data value to the slave device over a data portion of the bus in step (d) comprises the steps of: (a) transferring the address to the slave device over the address portion of the bus; (b) transferring the data value to the slave device over the data portion of the bus, while transferring a size signal to the slave device over a data size portion of the bus, the size signal indicating that the data value comprises m bytes, where m is a multiple of 2; (c) sensing the bus acknowledge signal from the slave device over the bus acknowledge portion of the bus, the bus acknowledge signal indicating that the slave device accepts s bytes of data; (d) if s is less than m, then sensing a burst enable signal from the slave device over a burst enable portion of the bus, the burst enable signal indicating that the slave device performs a burst data transfer; (e) if s is less than m, shifting the data value by s bytes toward a least significant byte of the data value; (f) if s is less than m, transferring an updated address corresponding to the data value to the slave device, and transferring the data value to the slave device, while transferring the size signal to the slave device, the size signal indicating that the data value comprises s bytes; (g) if s is less than m, sensing the bus acknowledge signal from the slave device; (h) if s is less than m, repeating steps (e) through (g) (m/s-2) times to complete a transfer of m bytes of the data value to the slave device.
Claim 6
Independent Claim 237 words
An apparatus for communicating over a bus in a computer system, comprising: circuit for sensing a data transfer request signal from a slave device coupled to the bus, and then asserting a bus request signal to a bus arbiter coupled to the bus, the bus request signal causing the bus arbiter to transfer a bus grant signal over the bus; circuit for sensing the bus grant signal from the bus arbiter, then transferring a data transfer accept signal to the slave device over a data transfer accept portion of the bus; circuit for reading a channel control table containing a set of channel parameters for the slave device, the channel parameters indicating whether the slave device performs an addressed transfer sequence or a handshake transfer sequence; circuit for transferring at least one address to the slave device over an address portion of the bus and transferring at least one data value to the slave device over a data portion of the bus, and then transferring an end of data transfer signal to the slave device over a data acknowledge portion of the bus, if the slave device performs the addressed transfer sequence; circuit for transmitting a slave device select signal to the slave device over the data acknowledge portion of the bus and transferring the data values to the slave device over the data portion of the bus, if the slave device performs the handshake transfer sequence.
Claim 7
Independent Claim 237 words
An apparatus for communicating over a bus in a computer system, comprising: circuit for sensing a data transfer request signal from a slave device coupled to the bus, and then asserting a bus request signal to a bus arbiter coupled to the bus, the bus request signal causing the bus arbiter to transfer a bus grant signal over the bus; circuit for sensing the bus grant signal from the bus arbiter, then transferring a data transfer accept signal to the slave device over a data transfer accept portion of the bus; circuit for reading a channel control table containing a set of channel parameters for the slave device, the channel parameters indicating whether the slave device performs an addressed transfer sequence or a handshake transfer sequence; circuit for transferring at least one address to the slave device over an address portion of the bus and transferring at least one data value to the slave device over a data portion of the bus, and then transferring an end of data transfer signal to the slave device over a data acknowledge portion of the bus, if the slave device performs the addressed transfer sequence; circuit for transmitting a slave device select signal to the slave device over the data acknowledge portion of the bus and transferring the data values to the slave device over the data portion of the bus, if the slave device performs the handshake transfer sequence.
Claim 8
Dependent Claim 23 words
The apparatus of claim 5, wherein the channel parameters further indicate whether the slave device performs a synchronous transfer or an asynchrounous transfer.
Claim 9
Dependent Claim 221 words
The apparatus of claim 6, wherein the circuit for transferring at least one address to the slave device over an address portion of the bus and transferring at least one data value to the slave device over a data portion of the bus comprises: circuit for generating a bus clock signal and transmitting the bus clock signal over a clock signal portion of the bus; circuit for transferring the address to the slave device over the address portion of the bus, the address synchronized by the bus clock signal; circuit for transferring the data value to the slave device over the data portion of the bus, the data value synchronized by the bus clock signal; circuit for sensing a bus acknowledge signal from the slave device over a bus acknowledge portion of the bus, the slave device asserting the bus acknowledge signal for a time period substantially equal to a period of the bus clock signal, the bus acknowledge signal indicating that the slave device received the data value, if the slave device performs the synchronous transfer; circuit for sampling the bus acknowledge signal on an edge of the bus clock signal, the slave device asserting the bus acknowledge signal for the time period greater than the period of the bus clock signal, if the slave device performs the asynchrounous transfer.
Claim 10
Dependent Claim 258 words
The apparatus of claim 6, wherein the circuit for transferring at least one address to the slave device over an address portion of the bus and transferring at least one data value to the slave device over a data portion of the bus comprises: circuit for transferring the address to the slave device over the address portion of the bus; circuit for transferring the data value to the slave device over the data portion of the bus, while transferring a size signal to the slave device over a data size portion of the bus, the size signal indicating that the data value comprises m bytes, where m is a multiple of 2; circuit for sensing the bus acknowledge signal from the slave device over the bus acknowledge portion of the bus, the bus acknowledge signal indicating that the slave device accepts s bytes of data; circuit for sensing a burst enable signal from the slave device over a burst enable portion of the bus if s is less than m, the burst enable signal indicating that the slave device performs a burst data transfer; circuit for shifting the data value by s bytes toward a least significant byte of the data value, if s is less than m; circuit for transferring an updated address corresponding to the data value to the slave device, and transferring the data value to the slave device, while transferring the size signal to the slave device, the size signal indicating that the data value comprises s bytes, if s is less than m.

References Cited (Backward Citations)

US4476527A Cited
US4837785A Cited
US5199106A Cited
US5140680A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-01-17 1997-07-19 1998-01-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-01-17 2001-07-19 2002-01-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-01-17 2005-07-19 2006-01-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag