US5121487A
Expired / Lapsed
US
⏱️ 0.0 years remaining
High speed bus with virtual memory data transfer capability using virtual address/data lines
Assignee: Sun Microsystems Inc
•
Filing: 1989-02-21
•
Granted: 1992-06-09
•
Expires: 2009-02-21
Abstract
Abstract An improved high speed data transfer bus with virtual memory capability is disclosed. The bus has particular applications in computer systems which employ peripheral devices. The bus allows high speed data transfer through the use of a virtual memory scheme. Moreover, the present invention minimizes the number of lines required to implement the bus. The present invention also minimizes the amount of time a particular device is required to wait before it can access the bus and complete a data transfer. Moreover, the present invention employs control signals that are driven both active and inactive, facilitating interfacing the bus to low-power CMOS technology.
Inventors
- 👤 Andreas Bechtolsheim
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-04 07:00
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F13/00; G06F13/38; G06F13/42; G06F13/4204; G06F13/4208; G06F13/4217; G06F13/14; G06F13/36; G06F13/362; G06F13/364; Y; Y02; Y02D; Y02D10/00
Claims Analysis
Total Claims: 24
Claim 1
Independent Claim
268 words
In a computer system including a number of data processing devices ("agents"), and a controller agent, selectively coupled to a single bus structure, a method of transferring data between a requesting agent and an accessed agent associated with a physical address comprising the steps of: asserting a bus request signal over a bus request line from a requesting agent to a controller agent; issuing a bus grant signal over a bus grant line from said controller agent to said requesting agent when said bus is available for use by said requesting agent; deasserting said bus request signal over said bus request line from requesting agent to said controller agent; applying a virtual address to data lines in said bus from said requesting; latching said virtual address in a virtual address latch (VAL) means for storing said virtual address; transmitting said virtual address from said VAL to a memory management unit (MMU); translating said virtual address into a physical address by means of translation data stored in said MMU; applying said physical address to address lines in said bus; asserting a transfer size signal from said requesting agent to an agent associated with said physical address; asserting a bus select signal from said controller agent to said accessed agent associated with said physical address; transmitting an acknowledge signal from said accessed agent associated with said physical address over acknowledge lines in said bus; applying said data to said data lines; wherein said data is transferred between said requesting agent and said accessed agent associated with said physical address at a high rate of speed over said single bus structure.
Claim 2
Dependent Claim
268 words
In a computer system including a number of data processing devices ("agents"), and a controller agent, selectively coupled to a single bus structure, a method of transferring data between a requesting agent and an accessed agent associated with a physical address comprising the steps of: asserting a bus request signal over a bus request line from a requesting agent to a controller agent; issuing a bus grant signal over a bus grant line from said controller agent to said requesting agent when said bus is available for use by said requesting agent; deasserting said bus request signal over said bus request line from requesting agent to said controller agent; applying a virtual address to data lines in said bus from said requesting; latching said virtual address in a virtual address latch (VAL) means for storing said virtual address; transmitting said virtual address from said VAL to a memory management unit (MMU); translating said virtual address into a physical address by means of translation data stored in said MMU; applying said physical address to address lines in said bus; asserting a transfer size signal from said requesting agent to an agent associated with said physical address; asserting a bus select signal from said controller agent to said accessed agent associated with said physical address; transmitting an acknowledge signal from said accessed agent associated with said physical address over acknowledge lines in said bus; applying said data to said data lines; wherein said data is transferred between said requesting agent and said accessed agent associated with said physical address at a high rate of speed over said single bus structure.
Claim 3
Dependent Claim
54 words
The method of claim 1 wherein said bus further includes clock line means for providing said agents with a clock signal, said clock line means coupled to each of said agents and to a bus clock, wherein said signals transmitted over said bus change state synchronously with a rising edge of said clock signal.
Claim 4
Dependent Claim
22 words
The method of claim 1 wherein said controller agent grants requesting agents access to said bus on a round robin priority basis.
Claim 5
Dependent Claim
11 words
The method of claim 1 wherein there are 32 data lines.
Claim 6
Dependent Claim
54 words
The method of claim 1 wherein said bus further includes a clock line means for providing said agents with a clock signal, said clock line means coupled to each of said agents and to a bus clock, wherein said signals transmitted over said bus change state synchronously with a portion of the clock signal.
Claim 7
Dependent Claim
19 words
The method of claim 5 wherein only one of said agents drives said bus during any given clock cycle.
Claim 8
Dependent Claim
19 words
The method of claim 1 wherein the controller agent grants access to said bus using a predetermined arbitration scheme.
Claim 9
Dependent Claim
94 words
A computer system with a high speed bus having virtual memory data transfer capability comprising: a bus comprised of a first plurality of lines; a plurality of data processing devices ("agents") selectively coupled to said bus; a controller means coupled to said bus for controlling access to said bus; translating means coupled to said bus for translating virtual addresses provided by said agents over side bus into physical addresses; said first plurality of lines including a second plurality of lines for transmitting both virtual addresses and data over the same second plurality of lines.
Claim 10
Dependent Claim
94 words
A computer system with a high speed bus having virtual memory data transfer capability comprising: a bus comprised of a first plurality of lines; a plurality of data processing devices ("agents") selectively coupled to said bus; a controller means coupled to said bus for controlling access to said bus; translating means coupled to said bus for translating virtual addresses provided by said agents over side bus into physical addresses; said first plurality of lines including a second plurality of lines for transmitting both virtual addresses and data over the same second plurality of lines.
Claim 11
Dependent Claim
18 words
The computer system of claim 8 further comprising a central processing unit (CPU) coupled to said translating means.
Claim 12
Dependent Claim
17 words
The computer system of claim 9 further comprising an input/output bus coupled to said central processing unit.
Claim 13
Dependent Claim
21 words
The computer system of claim 10 wherein said plurality of data processing devices ("agents") includes a direct memory access (DMA) device.
Claim 14
Dependent Claim
19 words
The computer system of claim 11 wherein said plurality of data processing devices ("agents") further includes a main memory.
Claim 15
Dependent Claim
22 words
The computer system of claim 8 further comprising a latch for storing said virtual addresses, said latch coupled to said translating means.
Claim 16
Dependent Claim
34 words
The computer system of claim 13 wherein said translating means includes means for temporarily suspending translation of a virtual address into a physical address in order to obtain proper translational data over said bus.
Claim 17
Dependent Claim
234 words
A computer system with a high speed bus having a virtual memory data transfer capability comprising: a bus; a central processing unit coupled to said bus; a plurality of data processing devices coupled to said bus; a memory management unit coupled to said bus for translating virtual addresses into physical addresses; a controller means coupled to said bus and said plurality of data processing devices for controlling access to said bus; wherein said bus is comprised of: clock line means for distributing a central clock signal among said devices; physical address line means for providing physical addresses to said devices; address strobe line means for strobing a physical address present on said physical address line means; transfer size line means for indicating the width of data to be transferred over said bus; acknowledge line means for allowing said devices to acknowledge a request for data; memory error line means for allowing said devices to indicate an error detected during data transfer; bus request line means for permitting a requesting device to request access to said bus; bus grant line means for indicating to said requesting device that said requesting device has been granted access to said bus; interrupt request line means for allowing a device to interrupt a bus operation; bus select line means for selecting a device for the transfer of data; virtual address/data line means for transferring both virtual addresses and data.
Claim 18
Dependent Claim
234 words
A computer system with a high speed bus having a virtual memory data transfer capability comprising: a bus; a central processing unit coupled to said bus; a plurality of data processing devices coupled to said bus; a memory management unit coupled to said bus for translating virtual addresses into physical addresses; a controller means coupled to said bus and said plurality of data processing devices for controlling access to said bus; wherein said bus is comprised of: clock line means for distributing a central clock signal among said devices; physical address line means for providing physical addresses to said devices; address strobe line means for strobing a physical address present on said physical address line means; transfer size line means for indicating the width of data to be transferred over said bus; acknowledge line means for allowing said devices to acknowledge a request for data; memory error line means for allowing said devices to indicate an error detected during data transfer; bus request line means for permitting a requesting device to request access to said bus; bus grant line means for indicating to said requesting device that said requesting device has been granted access to said bus; interrupt request line means for allowing a device to interrupt a bus operation; bus select line means for selecting a device for the transfer of data; virtual address/data line means for transferring both virtual addresses and data.
Claim 19
Dependent Claim
34 words
A computer system having a high speed bus as provided in claim 15 further comprising a virtual address latch coupled to said bus and said memory management unit for receiving and storing virtual addresses.
Claim 20
Dependent Claim
34 words
The computer system of claim 16 wherein said translating means includes means for temporarily suspending translation of a virtual address into a physical address in order to obtain proper translational data over said bus.
Claim 21
Dependent Claim
17 words
The computer system of claim 17 further comprising an input/output bus coupled to said central processing unit.
Claim 22
Dependent Claim
21 words
The computer system of claim 18 wherein said plurality of data processing devices ("agents") include a direct memory access (DMA) device.
Claim 23
Dependent Claim
19 words
The computer system of claim 19 wherein said plurality of data processing devices ("agents") further include a main memory.
Claim 24
Dependent Claim
28 words
The computer system of claim 20 wherein said plurality of data processing devices ("agents") further include: a video device, a coprocessor, a disk interface, and a network interface.
References Cited (Backward Citations)
GB1493818A
Cited
US4550368A
Cited
US4494193A
Cited
WO1985004031A1
Cited
US4933835A
Cited
US4910655A
Cited
WO1987003397A1
Cited
WO1987004544A1
Cited
US4803621A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1995-06-09 | 1995-12-09 | 1996-06-09 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1999-06-09 | 1999-12-09 | 2000-06-09 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2003-06-09 | 2003-12-09 | 2004-06-09 | $7700.00 | Window Closed / Lapsed |