Claims
- 1. A method for performing asynchronous address and data transfers among a plurality of different operating units of a data processing system having a system bus which includes an address bus for transferring addresses and a data bus for transferring data between data source units and data destination units of said operating units in communication with said system bus, said method comprising:
- selecting, under control of arbitration circuitry, during a first arbitration phase operation, a first one of a plurality of operating units which may be simultaneously requesting access to said system bus as a first master unit;
- supplying a first arbitration handshake signal granting access to the address bus to said first master unit and indicating the end of said first arbitration phase operation and the beginning of a first address phase operation for said system bus;
- supplying from said first master unit a first address handshake signal during said first address phase operation and supplying an address to said address bus;
- supplying first address return handshake signals from each of said other units which operate as slave units acknowledging the supplying of said address and indicating the end of said first address phase operation and the beginning of a first data phase operation for said system bus;
- supplying from said first master unit a first data handshake signal to permit a data source to supply data to said data bus;
- supplying from said data source a first data source handshake signal and supplying data to said data bus; and
- supplying first data return handshake signals from one or more data destination units acknowledging the receipt of data and indicating the end of said first data phase operation for said system bus.
- 2. A method in accordance with claim 1 and further including, during said arbitration phase operation, the steps of
- asserting on one or more bus request control lines one or more bus request signals by one or more operating units requesting access to said system bus;
- determining the priorities of said requesting units,
- selecting one of said requesting units as said first selected master unit, all units other than said first master unit thereby being slave units; and
- asserting a bus grant signal as said arbitration handshake signal to indicate grant of access to said first selected master unit, the end of said first arbitration phase operation and the beginning of said first address phase operation.
- 3. A method in accordance with claims 1 or 2 and further including
- selecting a second requesting unit as a second master unit for a second arbitration phase operation following the first arbitration phase operation and the beginning of said first address phase operation;
- supplying a second arbitration handshake signal granting access to the address bus to said second master unit and indicating the end of the second arbitration phase operation and the beginning of a second address phase operation for said system bus;
- supplying from said second master unit a second address handshake signal during said second address phase operation and supplying an address to said address bus;
- supplying from said second master unit a second data handshake signal to permit a second data source to supply data to the data bus;
- supplying from said second data source a second data source handshake signal and supplying data to said data bus; and
- supplying second data return handshake signals from one or more second data destination units acknowledging the receipt of data and indicating the end of said second data phase operation for said system bus;
- whereby the first arbitration phase, the first address phase, the second arbitration phase, the first data phase, the second address phase and the second data phase occur in an asynchronous pipelined manner.
- 4. A method in accordance with claim 3 and further including
- supplying arbitration, address and data handshake signals and addresses and data with respect to successive selected master units in the same manner as with respect to said first and second selected master units so that the arbitration phase operations, the address phase operations, and the data phase operations of three successive master units occur simultaneously in an asynchronous, pipelined manner.
- 5. A method in accordance with claim 4 and further including
- selecting successive requesting units as said successive master units having said simultaneous arbitration phase, address phase and data phase operations; and
- asserting an address valid signal as an address handshake signal by a selected master unit if no status valid signal is asserted by a slave unit.
- 6. A method in accordance with claim 5 and further including
- asserting an acknowledge signal as a return address handshake signal by each slave unit when receiving said address valid signal; and
- asserting a status valid signal by a selected slave unit that has responded to the address driven on the address bus; and
- de-asserting said address valid signal by said master unit when said selected slave unit has asserted a status valid signal.
- 7. A method in accordance with claim 6 and further including
- asserting a data bus busy signal as a data handshake signal by said master unit when said selected slave unit has asserted its acknowledge signal and its status valid signal; and
- driving data from a data source unit on to said data bus.
- 8. A method in accordance with claim 7 and further including
- asserting a data acknowledge signal as a data return handshake signal by a data destination unit when data driven on said data bus has been received by said data destination unit; and
- de-asserting said data bus busy signal after said data destination unit asserts a data acknowledge signal.
- 9. A method in accordance with claim 8 wherein said data bus busy signal is de-asserted when a first selected number of beats of data have been transferred and a first selected number of data bits, or less, were specified for transfer.
- 10. A method in accordance with claim 9 wherein said first selected number of data beats is two and said first selected number of data bits is 256 bits.
- 11. A method in accordance with claim 8 wherein said data bus busy signal is de-asserted when a second selected number of beats of data have been transferred and a second selected number of bits were specified for transfer.
- 12. A method in accordance with claim 11 wherein said second selected number of data beats is four and said second selected number of data bits is 512 bits.
- 13. A data processing system requiring address and data transfers among a plurality of different operating units, said system comprising:
- an asynchronously operating system bus means which includes an address bus for transferring addresses and a data bus for transferring data between data source units and data destination units in communication with said system bus means;
- arbitration means operative during a first arbitration phase of said system bus means for selecting one of a plurality of operating units which may be simultaneously requesting access to said system bus means as a first master unit;
- said arbitration means supplying a first arbitration handshake signal granting access to the address bus by said first master unit and indicating the end of said first arbitration phase and the beginning of a first address phase for said system bus means;
- said first master unit operative during a first address phase of said system bus means for supplying a first address handshake signal and for supplying an address to said address bus;
- each operating unit supplying further a first address return handshake signal acknowledging the supplying of said address and indicating the end of said first address phase and the beginning of a first data phase of said system bus means;
- said first master unit operative during the first data phase of said system bus means for supplying a first data handshake signal to permit a first data source unit to supply data to said data bus;
- said first data source unit supplying data to said data bus; and
- one or more first data destination units supplying first data return handshake signals acknowledging receipt of said data and indicating the end of said data phase.
- 14. A data processing system in accordance with claim 13 wherein said arbitration means selects successive master units and grants successive accesses by said successive master units to said address bus;
- said successive master units supply successive addresses to said address bus; and
- said successive master Units permit successive data to be supplied to said data bus by successive data source units and to be received by successive one or more data destination units:
- whereby said arbitration handshake signals, said address handshake signals, said data handshake signals, said addresses and said data are successively supplied in a manner such that successive arbitration phase, address phase, and data phase operations for said successive selected master units occur in an asynchronous, pipelined manner.
Parent Case Info
This is a continuation of Ser. No. 08/029,884 filed on Mar. 11, 1993, abandoned.
US Referenced Citations (10)
Non-Patent Literature Citations (3)
Entry |
"Futurebus+8 p896.1: Logical Layer Specifications P896.1/Draft 8.3.3", Dec. 26, 1990, Institute of Eledtrical and Electronic Engineers, Inc. |
"Tagged Inter Processor Communication Bus for Multiprocessor Systems", IBM Technical Disclosure Bulletin, vol. 34 No. 3, Aug. 1991. |
"High-Performance Multiplexed Bus Structure", IBM Technical Disclosure Bulletin, vol. 34, No. 7A, Dec. 1991. |
Continuations (1)
|
Number |
Date |
Country |
Parent |
29884 |
Mar 1993 |
|