Language selection

Search

Patent 1199416 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 1199416
(21) Application Number: 1199416
(54) English Title: HIGH PERFORMANCE SERIAL POLLING TECHNIQUE FOR BUS ARBITRATION IN DATA PROCESSING SYSTEMS AND THE LIKE
(54) French Title: METHODE D'INTERROGATION SERIE A HAUTE PERFORMANCE POUR L'ARBITRAGE DE BUS DANS LES SYSTEMES DE TRAITEMENT DE DONNEES ET LES SYSTEMES SIMILAIRES
Status: Term Expired - Post Grant
Bibliographic Data
(51) International Patent Classification (IPC):
  • G06F 13/14 (2006.01)
  • G06F 13/20 (2006.01)
  • G06F 13/37 (2006.01)
(72) Inventors :
  • KELLEY, RICHARD A. (United States of America)
  • KURTZ, HOBART L. (United States of America)
  • MAGRISSO, ISRAEL B. (United States of America)
  • QUANSTROM, JACK L. (United States of America)
(73) Owners :
  • INTERNATIONAL BUSINESS MACHINES CORPORATION
(71) Applicants :
  • INTERNATIONAL BUSINESS MACHINES CORPORATION (United States of America)
(74) Agent:
(74) Associate agent:
(45) Issued: 1986-01-14
(22) Filed Date: 1983-11-08
Availability of licence: N/A
Dedicated to the Public: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data:
Application No. Country/Territory Date
450,886 (United States of America) 1982-12-20

Abstracts

English Abstract


Abstract
An arbitration technique is described for use
in conjunction with a parallel bus structure.
Essentially, it involves the use of a Request
signal instead of an Acknowledge signal as the
propagated polling signal and making use of the
delay elements in each bus unit, which act in
parallel with poll propagation and with each other
to reduce the net poll propagation time. Making
use of the Request signal allows initiation of
arbitration prior to the activation time of the
Acknowledge line.


Claims

Note: Claims are shown in the official language in which they were submitted.


The embodiments of the invention in which an exclusive
property or privilege is claimed are defined as follows:
1. A bus arbitration system for establishing
interconnection of a bus in a data processing
system and the like in successive bus cycles, said
arbitration system comprising:
a bus arbiter, said bus arbiter receiving
request signals for service for use
of said bus, and supplying
acknowledgement signals to grant use
of said bus in successive bus
cycles;
a plurality of devices requiring access
to said bus;
interconnection means for interconnecting
said bus arbiter and said devices
and for connecting all of said
devices to one another in accordance
with a predetermined priority
polling sequence for polling of said
devices;
request means in each of said devices for
originating requests for service by
generating request signals via said
interconnection means to said bus
arbiter, said request signals from
an individual one of said devices
being provided via said
interconnection means to all other
devices in said system essentially
in parallel and simultaneously;
- 31 -

control means in each of said devices
responsive to any request signal in
said system to determine the setting
of the local request means, said
control means being responsive to a
signal from the local request means
that said local device requires
service and when said local device
has higher priority to gate said
local device for connection to said
bus and said control means being
further responsive to a signal from
said local request means indicative
that said local request means is
inactive to gate a poll propagation
signal out to the next device in
said predetermined priority
sequence.
2. The bus arbitration system of Claim 1
wherein said devices are arranged in a plurality of
bus levels each level having its own set of bus
address lines, bus data lines and bus control
lines.
- 32 -

3. The bus arbitration system of Claim 1,
wherein said devices are designated master bus
units and said bus is a parallel bus and further
comprising:
at least one slave bus unit connected to
said bus for processing of data
under control of a selected master
bus unit device.
4. The bus arbitration system of Claim 1,
wherein said devices are master bus units serving
as controllers and slave bus units responsive to
signals from said master bus units and further
comprising:
at least one input/output device
connected for data read or write
operations to each of said slave bus
units.
5. The bus arbitration system of Claim 1;
wherein said control means includes means operable
to process two successive device requests in
separate successive bus cycles.
6. The bus arbitration system of Claim 2,
wherein said control means includes means operable
to process two nearly simultaneous requests
sequentially without the need to reissue either
request.
- 33 -

7. The bus arbitration system of Claim 1,
wherein said control means includes means operable
to process two nearly simultaneous requests, one a
higher priority burst mode request requiring two or
more bus cycles and one a single bus cycle request
by servicing the higher priority request in a burst
mode followed by servicing of the single bus cycle
request, all without the need to reissue either
request.
8. The bus arbitration system of Claim 1
further comprising:
means for supplying burst mode signals in
said system, said burst mode signals
defining burst mode operations on a
selective basis for said devices to
enable access of said devices to
said bus for a plurality of bus
cycles; and
burst mode means in each of said devices
selectively responsive to said burst
mode signals to maintain the control
means in said devices active
following a request therein
throughout the time period required
to complete the burst mode
operations defined by said burst
mode signals.
- 34 -

9. The bus arbitration system of Claim 2,
further comprising:
burst control means including means
operable to process two or more
burst mode requests from said
devices; and
re-arbitration means in each of said
devices operable to de-activate
lower priority control means when a
higher priority device captures said
bus in a burst mode thereby
withdrawing all other requests from
contention and enabling
re-arbitration of requests upon
completion of the burst mode
operation by said higher priority
device to thereby prevent lockout of
higher priority devices that
otherwise might occur due to
chaining of burst requests from
lower priority devices.
10. The bus arbitration system of Claim 9,
further comprising:
override means in said burst control
means, said override means enabling
continued cycling of said control
means in a requesting device as
required to control burst sequencing
of bus cycles.
- 35 -

11. A bus arbitration system for establishing
in successive bus cycles the polling and
interconnection of devices assigned to a bus in a
data processing system and the like, said bus
including a plurality of bus address lines, data
lines, and bus control lines, said arbitration
system comprising:
a bus arbiter, said bus arbiter receiving
request signals for service for use
of said bus, and supplying
acknowledgement signals to grant use
of said bus;
a plurality of bus units arranged on said
bus, said bus units requiring access
to said bus for control of data
processing operations in said
system;
interconnection means for interconnecting
said bus arbiter, and said bus units
via said bus control lines, said
interconnection means including
polling interconnections for
connecting all bus units to one
another in accordance with a
predetermined priority polling
sequence from highest priority to
lowest priority for the purpose of
polling said bus units;
- 36 -

request means in each of said bus units
operable to provide a request signal
to said bus arbiter and to all other
bus units said request signal being
indicative of the need for access by
the related bus unit to the bus;
control means in each of said bus units,
said control means being responsive
to a request signal from the local
bus request means, and at least an
acknowledge signal from said bus
arbiter to set up gating of address,
data and control signals on said bus
for said requesting master bus unit,
said control means being further
operable to gate said bus address,
data and control lines of said bus,
and said control means being further
operable and particular level
responsive to any bus request signal
on said request bus line either
locally generated or received from
another bus unit connected thereto,
said control means including poll
inhibit means responsive to a signal
from the local request means
indicative that the local bus unit
requires service and when said local
bus unit has higher priority than
other bus units to gate the local
bus unit for connection to said bus
and said control means being further
responsive to a signal from the
local request means indicative that
said local request means is inactive
- 37 -

to gate a poll propagation signal
out via said interconnection means
to the next bus unit having lower
priority in accordance with said
predetermined priority sequence.
12. The bus arbitration system of Claim 11,
wherein said bus units are arranged in a plurality
of bus levels each level having its own set of bus
address lines, bus data lines and bus control
lines.
13. The bus arbitration system of Claim 11,
wherein said control means includes means operable
to process two successive bus unit requests in
separate successive bus cycles.
14. The bus arbitration system of Claim 11,
wherein said control means includes means operable
to process two nearly simultaneous requests
sequentially without the need to reissue either
request.
15. The bus arbitration system of Claim 11,
wherein said control means includes means operable
to process two nearly simultaneous requests, one a
higher priority burst mode request requiring two or
more bus cycles and one a single bus cycle request
by servicing the higher priority request in a burst
mode followed by servicing of the single bus cycle
request, all without the need to reissue either
request.
- 38 -

16. The bus arbitration system of Claim 11,
further comprising:
means for supplying burst mode signals in
said system, said burst mode signals
defining burst mode operations on a
selective basis for said bus units to
enable access of said bus units to
said bus for a plurality of bus
cycles; and
burst mode means in each of said bus
units selectively responsive to said
burst mode signals to maintain the
control means in said bus units
active following a request therein
throughout the time period required
to complete the burst mode
operations defined by said burst
mode signals.
17. The bus arbitration system of Claim 11,
further comprising:
burst control means including means
operable to process two or more
burst mode requests from said bus
units; and
re-arbitration means in each of said bus
units operable to de-activate lower
priority control means when a higher
priority device captures said bus in
- 39 -

a burst mode thereby withdrawing all
other requests from contention and
enabling re-arbitration of requests
upon completion of the burst mode
operation by said higher priority
device to thereby prevent lockout of
higher priority bus units that
otherwise might occur due to
chaining of burst requests from
lower priority devices.
18. The bus arbitration system of Claim 17
further comprising:
override means in said burst control
means, said override means enabling
continued cycling of said control
means in a requesting bus unit as
required to control burst sequencing
of bus cycles.
19. A bus arbitration system for establishing
in successive bus cycles the polling and
interconnection of devices assigned to a bus in a
data processing system and the like, said bus
including a plurality of bus address lines, data
lines, and bus control lines, said arbitration
system comprising:
a bus arbiter, said bus arbiter receiving
request signals for service for use
of said bus, and supplying
acknowledgement signals to grant use
of said bus;
- 40 -

a plurality of bus units arranged on said
bus, including a plurality of master
bus units, said master bus units
requiring access to said bus for
control of data processing
operations in said system, and said
bus including a plurality of slave
bus units, said slave bus units
being operable under control of said
master bus units;
said plurality of bus control lines
including a request bus control
line, an acknowledge bus control
line, a select bus control line, and
a ready bus control line;
interconnection means for interconnecting
said bus arbiter, said master bus
units and said slave bus units via
said bus control lines, said
interconnection means including
polling interconnections for
connecting all master bus units to
one another in accordance with a
predetermined priority polling
sequence from highest priority to
lowest priority for the purpose of
polling said master bus units;
request means in each of said master bus
units operable to provide a request
signal to said bus arbiter and to
all other master bus units said
request signal being indicative of
the need for access by the related
master bus units to the bus;
- 41 -

control means in each of said master bus
units, said control means being
responsive to a request signal from
the local bus request means and at
least an acknowledge signal from
said bus arbiter via said
acknowledge bus control line to set
up gating of address, data and
control signals on said bus for said
requesting master bus unit, and said
control means being further operable
to gate an individual selected one
of said slave bus units for
connection to the bus address, data
and control lines of said bus, and
said control means being further
operable responsive to any bus
request signal on said request bus
control line either locally
generated or received from another
master bus unit connected thereto,
said control means including poll
inhibit means responsive to a signal
from the local request means
indicative that the local master bus
unit requires service and when said
local master bus unit has higher
priority than other master bus units
to gate the local master bus unit
for connection to said bus and said
control means being further
responsive to a signal from the
- 42 -

local request means indicative that
said local request means in inactive
to gate a poll propagation signal
out via said interconnection means
to the next master bus unit having
lower priority in accordance with
said predetermined priority
sequence.
20. A bus arbitration system for establishing
in successive bus cycles the polling and
interconnection of devices assigned to a bus in a
data processing system and the like, said bus
including a plurality of bus address lines, data
lines, and bus control lines, said arbitration
system comprising:
a bus arbiter, said bus arbiter receiving
request signals for service for use
of said bus, and supplying
acknowledgement signals to grant use
of said bus;
a plurality of bus units arranged on said
bus including a plurality of master
bus units, said master bus units
requiring access to said bus for
control of data processing
operations in said system, and said
bus including a plurality of slave
bus units, said slave bus units
being operable under control of said
master bus units;
- 43 -

a plurality of bus control lines, each
plurality including a request bus
control line, an acknowledge bus
control line, and a ready bus
control line;
interconnection means for interconnecting
said bus arbiter, said master bus
units and said slave bus units via
said bus control lines, said
interconnection means including
polling interconnections for
connecting all master bus units to
one another in accordance with a
predetermined priority polling
sequence from highest priority to
lowest priority for the purpose of
polling said master bus units;
request means in each of said master bus
units operable to provide a request
signal to said bus arbiter and to
all other master bus units in the
same level via request bus control
line for that level, said request
signal being indicative of the need
for access by the related master bus
unit to the bus;
- 44 -

interim control means in each of said
master bus units, said interim
control means being responsive to a
request signal from the local bus
request means, an acknowledge signal
from said bus arbiter via said
acknowledge bus control line and a
signal on said select bus control
line indicative that said bus is
available for selection, to provide
an interim signal to indicate an
interim state wherein bus conditions
are not ready for actual
interconnection of a requesting
master bus unit to said bus but to
set up gating of address, data and
control signals on said bus in
preparation for capture of said bus
by a said requesting master bus
unit;
select means in each of said master bus
units responsive to the interim
signal from said interim control
means and to an inverted ready
signal on said ready bus control
line indicative that said bus is
inactive to provide a select signal
via said select bus control line
combined with said interim signal to
reset said request means and to
further gate an individual selected
one of said slave bus units for
connection to the bus address, data
- 45 -

and control lines of said bus and
said select signal being further
combined with a subsequent ready
signal on said ready bus control
line from a selected slave bus unit
indicative that said bus is active
to reset said interim control means;
and
poll control means in each of said master
bus units responsive to any bus
request signal on said request bus
control line either locally
generated or received from another
master bus unit connected thereto,
said poll control means including
poll inhibit means responsive to a
signal from the local request means
indicative that the local master bus
unit requires service and when said
local master bus unit has higher
priority than other master bus units
to gate the local master bus unit
for connection to said bus and said
poll control means being further
responsive to a signal from the
local request means indicative that
said local request means is inactive
to gate a poll propagation signal
out via said interconnection means
to the next master bus unit having
lower priority in accordance with
said predetermined priority
sequence.
- 46 -

21. A bus arbitration system for establishing
in successive bus cycles the polling and
interconnection of devices assigned to a bus in a
data processing system and the like, said bus
including bus address, data, and control lines,
said arbitration system comprising:
a bus arbiter, said bus arbiter receiving
request signals for service for use
of said bus, and supplying
acknowledgement signals to grant use
of said bus;
a plurality of bus units arranged on said
bus including a plurality of master
bus units, said master bus units
requiring access to said bus for
control of data processing
operations in said system, and said
bus including a plurality of slave
bus units, said slave bus units
being operable under control of said
master bus units during bus cycles;
a plurality of bus control lines, each
plurality including a request bus
control line, an acknowledge bus
control line, a select bus control
line, and a ready bus control line;
interconnection means for interconnecting
said bus arbiter, said master bus
units and said slave bus units via
said bus control lines, said
interconnection means including poll
in - poll out interconnections for
- 47 -

connecting all master bus units to
one another in accordance with a
predetermined priority polling
sequence from highest priority to
lowest priority for the purpose of
polling said master bus units;
bidirectional means in each of said
master bus units connected to said
request bus line for supplying a
local request bus signal to said
request bus control line and for
receiving non-local request bus
signals from all other master bus
units connected to said request bus
control line, any non-local request
bus signal being provided from an
originating master bus unit to all
other master bus units essentially
in parallel and simultaneously;
request means in each of said master bus
units for providing a request signal
to said bus arbiter via said request
bus control line, said request
signal being indicative of the need
for access by the related master bus
unit to the bus;
interim control means in each of said
master bus units, said interim
control means being responsive to a
request signal from the local
- 48 -

request means, an acknowledge signal
from said bus arbiter via said
acknowledge bus control line and a
signal on said select bus control
line indicative that said bus is
available, said interim control
means providing an interim signal to
indicate an interim state wherein
bus conditions are not ready for
actual interconnection of a
requesting master bus unit to said
bus but to set up gating of address,
data and control signals on said bus
in preparation for capture of said
bus by a said requesting master bus
unit;
select means in each of said master bus
units responsive to the interim
signal from said interim control
means and to an inverted ready
signal on said ready bus control
line indicative that said bus is
inactive to provide a select signal
via said select bus control line
combined with said interim signal to
reset said request means and to
further gate an individual selected
one of said slave bus units for
connection to the bus address, data
- 49 -

and control lines of said bus and
said select signal being further
combined with a subsequent ready
signal on said ready bus control
line from a selected slave bus unit
indicative that said bus is active
to reset said interim control means;
and
poll control means in each of said master
bus units on a particular level
responsive to any bus request signal
on said request bus control line
either locally generated or received
from another master bus unit
connected thereto, said poll control
means including poll inhibit means
responsive to a signal from the
local request means indicative that
the local master bus unit requires
service and when said local master
bus unit has higher priority than
other master bus units to gate the
local master bus unit for connection
to said bus and said poll control
means being further responsive to a
signal from the local request means
indicative that said local request
means in inactive to gate a poll
propagation signal out via said
interconnection means to the next
master bus unit having lower
priority in accordance with said
predetermined priority sequence.
- 50 -

22. A bus arbitration system for establishing
in successive bus cycles the polling and
interconnection of devices assigned to a bus in a
data processing system and the like, said bus
including bus address, data, and control lines,
said arbitration system comprising:
a bus arbiter, said bus arbiter receiving
request signals for service for use
of said bus, and supplying
acknowledgement signals to grant use
of said bus;
a plurality of bus units arranged on said
bus including a plurality of master
bus units such as processor units,
microprocessor-controlled
attachments, direct memory access
devices and the like, said master
bus units requiring access to said
bus for control of data processing
operations in said system, and said
bus including a plurality of slave
bus units, such as storage units,
input/output devices and the like,
said slave bus units being operable
under control of said master bus
units to perform storage or
input/output operations;
a plurality of bus control lines each
plurality including a request bus
control line, an acknowledge bus
control line, a select bus control
line, and a ready bus control line;
-51-

interconnection means for interconnecting
said bus arbiter, said master bus
units and said slave bus units via
said bus control lines, said
interconnection means including poll
in - poll out interconnections for
connecting all master bus units to
one another in accordance with a
predetermined priority polling
sequence from highest priority to
lowest priority for the purpose of
polling said master bus units;
bidirectional means in each of said
master bus units connected to said
request bus line for supplying a
local request bus signal to said
request bus control line and for
receiving non-local request bus
signals from all other master bus
units connected to said request bus
control line, any non-local request
bus signal being provided from an
originating master bus unit to all
other master bus units essentially
in parallel and simultaneously;
request means in each of said master bus
units comprising a bus request latch
settable to an active state
responsive to an external request
signal combined with a signal
reflecting the absence of an
-52-

acknowledge signal from said arbiter
on said acknowledge bus control line
to provide a request signal to said
bus arbiter via said request bus
control line, said request signal
being indicative of the need for
access by the related master bus
unit to the bus;
interim control means in each of said
master bus units, said interim
control means including a bus
capture latch settable responsive to
a request signal from the local bus
request latch, an acknowledge signal
from said bus arbiter via said
acknowledge bus control line and a
signal on said select bus control
line indicative that said bus is
available for selection, said bus
capture latch providing a bus
capture signal to indicate an
interim state wherein bus conditions
are not ready for actual
interconnection of a requesting
master bus unit to said bus but to
set up gating of address, data and
control signals on said bus in
preparation for capture of said bus
by a said requesting master bus
unit;
-53-

select means in each of said master bus
units including a select latch
settable responsive to the bus
capture signal from said bus capture
latch and to an inverted ready
signal on said ready bus control
line indicative that said bus level
is inactive to provide a select
signal via said select bus control
line combined with said bus capture
signal to reset said bus request
latch and to further gate an
individual selected one of said
slave bus units for connection to
the bus address, data and control
lines of said bus level and said
select signal being further combined
with a subsequent ready signal on
said ready bus control line from a
selected slave bus unit indicative
that said bus level is active to
reset said bus capture latch; and
poll control means in each of said master
bus units on a particular level
responsive to any bus request signal
on said request bus control line
either locally generated or received
from another master bus unit
connected thereto, said poll control
means including poll inhibit means
responsive to a signal from the
local bus request latch indicative
that the local master bus unit
requires service and when said local
master bus unit has higher priority
-54-

than other master bus units to gate
the local master bus unit for
connection to said bus and said poll
control means being further
responsive to a signal from the
local bus request latch indicative
that said local bus request latch is
inactive to gate a poll propagation
signal out via said interconnection
means to the next master bus unit
having lower priority in accordance
with said predetermined priority
sequence and said poll control means
in each of said master bus units
further including delay means for
delaying said bus request signal
internally of said device a time
sufficient to allow for transitions
or metastable state conditions to
settle out, the arrangement being
such that the delay means in the
highest priority master bus unit
will ordinarily establish the
maximum poll propagation delay
encountered in said system and when
two ox more master bus units require
access to said bus during the same
request bus/acknowledge bus cycle,
all delay elements of the second and
following devices will ordinarily
have completed their delay function
prior to propagation of a poll
signal, any master bus unit of lower
priority thereby being ready for
connection to said bus immediately
upon termination of the connection
of any higher priority master bus
unit currently selected.
-55-

23. The bus arbitration system of Claim 22
wherein said bus units are arranged in a plurality
of bus levels each level having its own set of bus
address lines, bus data lines and bus control
lines.
-56-

Description

Note: Descriptions are shown in the official language in which they were submitted.


BC9-82-017 -1-
l:~C~
HIGH PERFORMANCE SERIAL POLLING TECHNIQUE
.
EOR BUS ARBITRATION IN DATA
.
PROCESSING SYSTEMS AND THE LIKE
Background of the Inventlon
This invention relates to bus arbltration for
data processing systems, communications systems,
and the like and more particularly to a more
efficient serial polling system wherein time delays
heretofore encountered are significantly reduced.
A representative system configuration in which
the present inventive features are utilized may
include multiple components such as processors and
input/output devices which share a common bus and
various peripheral resources such as storage units,
display terminals, printers and the like. For
convenience, system components attached to a common
bus are referred to as bus units. Bus units can be
categorized according to function into two broad
classes that are referred to herein as Master Bus
Units (MBV ' s~ and Slave Bus Units (SBU's). An MBU
is a bus unit that can request the bus and upon
receiving a grant or acknowledgement from a bus
arbiter, take control of the bus, address another
bus unit, which may be a storage unit or peripheral
device, and control the transfer of information
between itself and the second bus unit. When such
an MBU has control of the bus, i-t is commonly
referred to as the bus master. An SBU is a bus
unit that is addressed by a bus master and which
responds only to signals or commands from the bus
master. Examples of MBU's are processors of
various types, direct memory access (DMA) devices
and "intelligent" terminals. The SBU category

Br9~82-017 -2-
~ ~99~
includes stoxage units, display units, printers and
"dumb" terminals. Basically, the distinction
between the two types of bus units is that an MBU
can become a bus master while an ssu cannot.
In order to resolve contention for the bus and O
thereby grant access to shared resources, some
method of bus arbitration is required. There are
two ~undamental kinds of bus arbitration, referred
to as radial and serial. Radial arbitration
involves multiple sets or pairs of request and
grant lines. Requests from dlfrerent MBU's can be
received simultaneously on separate request lines
by a central bus arbiter. The arbiter uses
prioritization logic to select a requestor and
issues a bus grant on the corresponding grant
signal line.
In serial arbitration schemes, several bus
units are attached to a single request/grant pair
of lines. The request line may be activated by two
or more bus units at a time. The decision as to
which requestor is granted use of the bus depends
on a serial poll. Activation of the request line
results in presentation of a poll signal to the
first bus unit in a polling chain. If the bus unit
has an active request, it takes control of the bus
and blocks further propagation of the poll signal.
If it does not have an active request, it passes
the poll signal to the next bus unit, which may
either intercept it or pass it on to another bus
unit, etc.

BC9-82-017 3-
Arbitration arrangements have also been
proposed and implemented which combine radial and
serial polling schemes. ~lultiple levels of
priority are represented by a corresponding number
of request and gran-t signal pairs. Each pair of
signals can be attached to several MBU's.
Arbitration between requests presented on separate
request lines is performed by a central arbiter,
which responds to multiple simultaneous requests by
activating a single grant signal corresponding to
the highest priority active request. Arbitration
between simultaneous requestors on the level
represented by the grant signal is then completed
by serial polling.
The U. S. Patent 4,038,642 is of general
interest and describes an Input/Output (I/O~
interface having overlap of interface logic time.
Also of general interest are the U. S. patents
3,997,896 and 4,126,897. No prior art shows any of
the features of the present invention, such
features resulting in significant performance
improvements over previously implemented methods of
serial polling.

~C9-82-017 -~-
3~
Summary of_the Invention
The invention described herein is particularly
applicable and advantageous to systems
incorporating a combination of radial and serial
arbitration as described above, wherein a central
arbiter arbitrates between simultaneous requests
presented on separate request lines in a radial
arbitration arrangement while contention between
requestors on the same level, represented by a
given request line is resolved by serial
arbitration. In particular, the invention
describes a serial polling technique which can be
used advantageously in conjunction with a single
request line in a non-radial, serial-poll
arbitration scheme, but with still greater
advantage when applied to a combination of radial
and serial polling. More particularly, these
features involve 1~ a method of using the request
signal as an immediate and direct input to the
serial polling chain and decision stabilization
logic and 2) the use of delay elements in each bus
unit, which act in parallel with poll propagation
and with each other to reduce the net poll
propagation time as compared with other methods of
introducing delays necessary to avoid metastability
effects in the propagation decision mechanisms.
Primary objectives of the present invention
are 1) to start serial propagation as soon as
possible after a request is presented and 2)
minimize the poll propagation rate.
!

BC9-82-017 -5-
For a better understanding of the present
invention, together with other and further
advantages and features thereof~ reference is made
to the description taken in connection with the
accompanying drawings, the scope of the invention
being pointed out in the appended claims.
Brief Description of Drawin~s
~eferring to the drawings:
Fig. 1 shows a data processing system
including several master bus units (MBU's) and
slave bus units (SBU's), the system utilizing a
parallel bus structure with serial polling and a
combination of radial and serial arbitration
controlled by a central hus arbiter.
Fig. 2 illustrates a generalized bus
arbitration sequence.
Fig. 3 illustrates bus request and arbitration
logic for an individual ~BU in Fig. 1.
Fig. 4 illustrates a logic modification for
resolving bus lockout conditions sometimes
encountered under the circumstances shown in Fig.
6.
Fig. 5 is a timing diagram for a first case:
non-simultaneous requests.
Fig. 6 is a timing diagram for a second case:
nearly simultaneous requests.
I

BC9-82-017 -6
Fig. 7 is a timing diagram for a third case:
two nearly simultaneous requests, one of which is a
burst-mode request.
The following notes to the drawings are of
interest:
Fig. No. Notes
Figs. l, 2 and 3 None
Fig. 4 1. Resetting of BRQ latch in
all MBU's re~establishes
conditions for bus arbitration.
Detection of bus capture by a
higher priority MBU is sensed
by the combination of SEL,
ACXB, and NOT POLL IN signals
which are used to reset sRQ
latch.
2. The circult of Fig. 4 can
also be used for non-burst
devices (by eliminating "Burst"
as a logic condition) to force
re-arbitration for each
request.

BC9-82-017 -7-
Fig. 5 1. BRQA and BRQC are outputs
of bus request latches of MBU's
A and C respectively.
2. REQBD i5 the delayed REQB
signal, assumed to be the same
for every MBU. O
Fig. 6 1. BRQA and BRQC are outputs
of bus request latches of MBU's
A and C, respectively.
2. REQBD is the delayed REQB
signal in MBU's A and C
(Assumed to be equal).
Fig. 7 Dotted lines designate
activation of signals by MBU C
only.
jt
!

BC9-82-017 -8
Abbreviations
_
The following abbreviations are occasionally
used herein:
Abbreviation Definition
_
A AND circuit
ACKB Acknowledge Bus Signal
BRQ Bus Request Latch
BURST, BURST Burst Mode, Not Burst Mode
BUS CAP Bus Capture Latch
CBM Current Bus Master
CPU Central Processing Unit
D Block Driver
I Invert Circuit
I/O Input/Output
MBU Master Bus Unit
OR OR Circuit
PI, PI Poll In, Not Poll In
PO Poll Out
Q, Q True, Complement Outputs of
I,atch
R Reset Input of Latch
R Block Receiver
REQB Request Bus Signal
REQBD Request Bus Signal Delayed
RDY Ready
S Set Input of Latch
SEL Select

~C9 82-017 -9-
Detailed_Description
In existing serial poll implementations there
are two sources of delay in addition to the
unavoidable propagation time caused by receivers,
drivers and internal decision logic. The first is
the normal time delay between activation of a
request signal and the acknowledgment or grant
response from the arbiter, inasmuch as the
acknowledgement signal is normally used to initiate
the actual polling sequence. An important aspect
of the present system is that this source of delay
is eliminated by using the request signal, instead
of the acknowledge signal, as the direct input that
starts the polling operation. The second source of
delay is the necessity of introducing a specific
delay between the time a signal is applied, to
"freeze" or stabilize the request state in each bus
unit, and the point at which the decision logic can
be allowed to propagate the signal.
Basically, the request state established by
setting a request latch must be guaranteed to be
stable before it is used as a condition for poll
propagation. In present schemes this is
accomplished in either of two ways:
1) The acknowledgment or grant signal is applied
directly without intervening delays to an inhi-
biting input of the request latch in each bus unit.
This prevents the latch from changing state due to
subsequent input signals. The same grant signal,
delayed by a fixed-delay element, is applied to the
!

BC9 82-017 -10-
~9 ~
poll input of the first bus unit. The fixed delay
at the beginning of the polling chain insures that
all request latches will have time to reach a
stable state, as a result of the inhibiting input,
before the signal reaches the respective poll
propagation decision logic in each bus unit.
2) In a second scheme, seen in some
implementations, the poll signal, itself, is used
in each peripheral adapter as the inhibiting input
to the request state. The decision to propagate is
then delayed, by a fixed delay element, a
sufficient time to insure that the request latch
has reached a stable state before its output is
used as a condition for propagation.
The first technique, using a single delay at
the beginning of the polling chain has two
disadvantages: 1) It delays the starting of poll
propagation through the polling chain and 2) it
requires the specification of a delay element that
will satisfy the worst-case logic delay
characteristics of any MBU that may ever be used in
the system. Specification of worst-case
characteristics results in a performance penalty by
requiring that the delay be greater than might be
necessary for a system using exclusively
peripherals with fast logic.
The second method provides a delay element in
each bus unit which may match or conform with the
logic-speed characteristics of the bus unit to
minimize the logic decision delay. However, the
delays of successive bus units operate serially
such that the total poll propagation time includes
the sum of these delays.
!

BC9-82-017 -11
3~
The cited disadvantages are overcome herein by
providing a delay element in each bus unit that can
be tailored to the logic speed characteristics of
the bus unit, and that is connected in a manner
such that all delay elements operate in parallel,
rather than serially, with each other, and with any .
circuit and signal transfer delays inherent in
generating and passing the poll signal through the
polling chain. The delay of a given bus unit in
responding to a poll signal applied to the poll
input of the first bus unit in a chain is
determined either by its internal delay element and
logic delays, or by the poll propagation time
through preceding bus units as affected by
individual delay elements of those bus units,
acting in parallel, whichever is greater.
Except for the serial-poll propagation delays,
which are independent of the delays required for
request stabilization and which may become
negligible with fast logic, the
parallel-delay-element scheme proposed by this
invention approaches the speed and efficiency of a
radial arbitration scheme, since radial arbitration
of asynchronous requests must also incorporate
comparable request stabilization delays.
Two features are of particular interest:
1. Use of a bus request signal as the direct
input to a polling chain.

BC9-~2-017 -12-
~L99~ 16
2. The concept of parallel
request-stabilization delays, which makes
it possible for this scheme of serial
arbitration to approach the speed and
efficiency of a radial arbitration
scheme.
As indicated, a representative prior system
delays the start of serial polling until an
acknowledgment signal (referred to here as ACKB) is
received from the arbiter. Prior systems have also
provided fixed delay elements located serially in
the poll-propagation path to insure that the
decision logic in each bus unit has had time to
become stable before the poll input to the logic
becomes active. The decision logic, which is
conditioned by a bus request latch, determines
whether the poll is to be "captured" by the
corresponding bus unit or propagated to the next
bus unit. Stabilization of the circuits is ini-
tiated by using the acknowledgment signal as a
direct input to all request latches, in such a
manner as to inhibit further changes of state until
the polling process has been completed.
These techniques can substantially degrade
performance, particularly in the case of a central
arbiter that performs radial arbitration between
different priority levels represented by separate
pairs of request and acknowledgement signals, each
of which may correspond to a serial polling scheme
for arbitration between bus units assigned to the
same priority level.
!

BC9-82-017 --13~
Further problems are the necessity of
providing minimum inactive and active times for the
SEL signal, as dictated by the architecture, to
allow time for detection by the bus arbiter, and
the requirement of a minimum inactive tlme for the
ACXB signal to condition the polling logic and
request latches for arbitration of new requests.
The arbitration technique described herein
resolves these matters in implementing serial bus
arbitration by using an earlier REQB signal instead
of an ACKB signal as the propagated polling signal
making it possible to initiate arbitration prior to
activation of the ACKB line as shown in Fig. 1, and
by a method of applying stabilization delays in
each bus unit, such that the delays act in parallel
with each other and with the poll propagation,
instead of serially, and, therefore, do not degrade
performance by adding to the poll propagation time.
The data processing system of Fig. 1 comprises
a bus arbiter 1 controlling access of a number of
devices to a parallel bus 2. Bus 2 is
interconnected with Master Bus Unit (MBU) devices
3-5 further designated MBU A, MBU B, and MBU C,
respectively, and with Slave Bus Unit (SBU) devices
6 8, designated as SBU #1, SBU #2, and SBU #3
corresponding, respectively, to a storage unit, a
display unit, and a printer. As indicated, the
attached devices are classified as two basic types:
1) Master Bus Units (MBU's) that have the
capability of taking control of the bus in the
capacity of a "bus master", and 2) Slave Bus Units
I

BC9-82-017 -14-
9~
(SBU's) which do not have the capability of
controlliny the bus and that become active on the
bus, as senders or receivers of data, only in
response to command signals from a bus master.
MBU's include central processing units
(CPU's), microprocessor-controlled attachments and
direct-memory access (~MA) devices. SBU's may
include primary storage units, such as a
semiconductor memory, and various types of passive
I/O devices, such as displays, "dumb" terminals and
printers. In a system of the type represented
here it is assumed that any MBU having been granted
control of the bus can initiate access to any of
the SBU's, which can be considered to be common
resources shared by all MBU's.
Contention between MBU's for control of the
bus is resolved by combination of radial (parallel)
and serial-poll arbitration. Several levels of
priority are possible, each with a separate request;
(REQB) line and corresponding acknowledgment (ACKB~
line. The bus arbiter resolves priority radially
between requests received on separate levels and
grants the bus by activating the appropriate ACKB
signal. Contention between MBU's on a single
level, as represented in Fig. 1, is resolved by
serial polling. In the particular polling level
illustrated, MBU 3 has highest priorlty, MBU 4 is
of intermediate priority and MBU 5 is of lowest
priority. Although only one level is represented
in Fig. 1, it is assumed that the arbiter receives
requests, and grants the bus, for other levels,
represented by additional pairs or REQB and ACKB
lines that are not shown.

BC9-82-017
Each MBU 3-5 has a Poll In ~PI) input terminal
and a Poll Out (PO) output terminal, the various
terminals being designated 10-15. As illustrated,
each MBU 3-5 is interconnected with the bus arbiter
and other MBU's by a Request Bus (REQB) line 20,
and an Acknowledge Bus (ACKB) line 21. The ACKB
line is unidirectional from a bus arbiter output
terminal to an input terminal of each MBU. REQB is
connected to a bidirectional terminal of each MBU,
to an input terminal of the bus arbiter and to the
PI terminal of MBU A. Other control lines relating
to the arbitration scheme described herein are the
Select (SEL) line 22 and the Ready (RDY) line 23.
The SEL line is connected bidirectionally to each
MBU and to input terminals of the bus arbiter and
each SBU. The RDY line is unidirectional from
output terminals of each SBU to input terminals of
each MBU.
The system configuration illustrated in Fig. 1
provides the capability of attachment of a
plurality of potential bus masters (MBU's), such as
microprocessors and DMA devices and a plurality of
shared peripheral "slave" units (SBU's), including
random access memory units, display units and
printers, which may be accessed or used as I/O
devices by an MBU that has control of the bus. A
device having control of bus 2 for transfer of
information, to or from a slave device (SBU), at
any given instance in time, is referred to as the
current bus master (CBM). The bus arbiter itself
is,typically a conventional priority resolving
circuit located in the I/O u.c. channel control
logic of a CPU. ~owever, it may be a standalone
unit. Priority between requests received on
separate request lines may be resolved by any of a
!

BC9~82~017 -16-
4~tj
number of prioritization algorit}lms known in the
art. The only special constraint is an interlock
between deactivation of ACKB and activation of SEL
required to avoid a certain type of race condition,
the nature of which will be explained.
The specific functions and operation of bus
arbiter 1, bus 2, and MBU devices 3-5, in
particular, are described below.
As indicated, multiple potential bus masters
(MBU's) may be connected to a single REQB/ACKB pair
of control lines provided each MBU is equipped with
a pair of PI/PO pins, such as pins 10 and 11 in
Fig. 1 to permit serial propagation of a poll
signal, which is initiated by activation of a
l~ request signal on the REQB line. Interconnection
of the serial request pins is illustrated in Fig. 1
and an example of an arbitration sequence is shown
in Fig. 2. In the example, MBU C presents a
request followed by simultaneous requests from
MBU's A and B. The states of poll-in terminal 12
to MBU B (reference ~) and poll-in terminal 14 to
MBU C (re~erence 5) are also shown in Fig. 2 as
PI-B and PI-C, respectively. Other signals
illustrated are Select and Ready. Fig. 2 further
shows bus cycles (a), (b), and (c). Note that all
signals levels are active low.
Bus master C is granted cycle (a), Bus masters
A and B present simultaneous requests when ACKB is
deactivated in cycle (a). The simultaneous
requests appear to be a two cycle burst to the bus
arbiter and it holds ACKB active until SEL of cycle
(c) is activated. During cycle (b), MBU A
activates Poll Out terminal ll, Fig. l, enabling
!

BC9-82-017 -17-
1~L99 ~ ~6
MBU B for cycle (c). Thus, in the sequence
illustrated in Fig. 2, MBU C acquires access to the
bus in cycle (a) and the simultaneous requests by
MBU A and MBU B are resolved so that MBU A gets
access to the bus in cycle ~b) and MBU B gets
access to the bus in cycle (c).
Serial arbitration of bus requests from MBU
devices 3-5 is accomplished by means of lines 20-22
connected between bus arbiter 1, which may be a
standalone arbitration unit as indicated or the
central processing unit (CPU) of the data
processing system, and the attached MBU devices 3-5
as shown in Fig. 1. MBU devices 3-5 present their
requests to the arbiter via REQB (Request Bus) line
20 and use of the bus is granted by activation of
the ACKB (~cknowledge Bus) line 21. A polling
chain, consisting of propagation decision logic in
each MBU device 3-5, interconnected via the Poll-In
(PI) and Poll-Out (PO) pins 10-15 is driven by the
REQB line 20, which initiates the arbitration or
polling sequence. Each MBU has a bidirectional
logic means comprising a REQB I/O line, such as
line 24 - Fig. 1, comprising portions Z4a and 24b
in Fig. 3 and pin connections such that activation
of the line by any MsU is detected directly by all
MBU's. Activation of REQB by one or more devices
acts directly on each MBU through the bidirectional
pin connection to clamp or inhibit the "set" input
of each bus request latch and to condition bus
capture or propagation of the poll signal after a
delay sufficient to permit any marginal request
state to settle. Further circuit details are shown
in Figs. 3 and 4.

BC9-82-017 1 ~89 ~
An implementation of the bus-request and
arbitration logic of a particular MB~ device such
as device 3 (MBU A) is shown in Fig. 3.
Presentation of a bus request via REOB line 20
is controlled by setting bus request means
comprising Bus Request latch (BRQ) through AND
circuit 45 responsive to an external signal on
Request line 39. In Fig. 3, the active Q output of
latch 31 of a representative MBU, when set, is
applied via circuit blocks 54, 56 and 57 to REQB
line 20 and then to arbiter 1 and the other MBU's.
The "set" input to latch 31 in any MBU is clamped
or inhibited by activation of REQB. This prevents .
latch 31 from responding to another external
request signalled via Request (REQ) line 39 and
guarantees stability of the decision logic during
the polling interval. The set input of BRQ latch
31 is also inhibited by a signal on ACKB line 21
~further comprising line 2~ in Figs. 1 and 3).
This is required to avoid a possible race condition
which could result if deactivation of ACKB were
slow in response to the gating off of REQB by a bus
capture sequence. Without this interlock, a second
MBU could reactivate REQB before ACKB line 21 and
other conditions for bus capture associated with
the current arbitration cycle are removed. This
could create conditions for setting a bus capture
state in a second MBU before the current bus cycle
is completed. This possibility is eliminated by
the ACKB interlock with the Bus Request latch 31
which will effectively prevent reactivation of REQB
while ACKB is still active. Latch 31 is reset,
contingent upon a bus capture, by activation of
Select (SEL) as the result of setting Select latch
43. The i~mediate effect of resetting BRQ latch 31

BC9-82-017 -19-
9g4~
is to enable poll propagation. The interlock of
SEL line 22 with the resetting of BRQ latch 31
prevents the propagated poll signal from setting a
bus capture state in a lower priority MBU since SE~
line 22 is an inhibiting condition for bus capture.
A delay element 32 delays the enabling of the
poll capture and poll propagate decision logic a
sufficient time after clamping the input to latch
31 to allow for any transition or metastable state
to settle out. The delay element ~such as delay
element 32) of each MBU functions in parallel with
that of each of the other MBU's, so that only the
delay element of the first MBU in the polling chain
will ordinarily have an effect on the total
propagation time. The delay provided in each MBU
needs to be only great enough to satisfy circuit
speed characteristics of the particular MBU,
without regard to delay characteristics of other
MBU's.
It should be noted that when two or more MBU's
gain sequential access to the bus during the same
REQB/ACKB cycle, as can happen, the delay elements
of the second and following MBU's have no effect on
propagation or response time since the outputs of
the delay elements will have already reached their
active levels prior to propagation of the poll
signal. This means that each successive MBU can be
ready to start a bus cycle as soon as the Ready
(RDY) line 38 is deactivated by the preceding bus
master. This can result in a combined bus transfer
rate for two or more devices equivalent to that of
burst mode operation for a single device.
!

BC9 82-017 20-
Interim control means comprising the Bus
Capture (BUS CAP) latch 33 is set through AND
circuit 46 as soon as all conditions for bus
capture except "Not Ready" are satisfied. The
conditions include Bus Request latch 31 active,
ACKB active, Delay 32 output active, Select line 22
inactive but inverted by Invert circuit 49 and a
poll-in signal received at terminal 10 from a
higher priority MBU or from the REQB line 20 if
this is the highest priority MBU. The purpose of
latch 31 is to prepare the MBU to take control of
the bus on the next bus cycle. The actual bus
capture point, which is the earliest point at which
the MBU can initiate activity on the bus by acti-
vating address, data and control lines, is when the
Ready (RDYJ signal of a preceding bus cycle becomes
inacti~e. This point is logically defined by the
output of the BUS CAP latch 33 AND'ed with the
inverted Ready signal (output of Invert circuit 48)
through AND gate 47. The output of AND gate 47,
designated as the Bus Capture Point (BCP) signal is
applied simultaneously to set the Select (SEL)
latch 43 and to condition resetting of the BRQ
latch 31. The BCP signal is used, as indicated, to
gate address, data and control signals to the bus.
The active state of these lines is validated by the
Select (SEL) line 22, which is activated by the SEL
latch 43 through driver circuit 44. A further
function of the BUS CAP latch 33 is to provide a
signal (NOT Q) that by way of And gate 55 gates off
the bus request at the earliest possible convenient
point in the bus capture sequence. The resulting
deactivation of the REQB line 20 prepares the
. .

BC9-82-017 -21-
system for arbitration of new requests by sig-
nalling the bus arbiter to drop the ACKB line 21.
This permits MBU's with pending requests to set
their BRQ latches, corresponding to latch 31, which -
in turn will reactivate the REQB line 20 for a new
arbitration sequence. The conditions which set the ,
BUS CAP latch 33 correspond to the earliest time at
which bus capture by a specific MBU is assured and
is therefore the earliest unambiguous point at
which preparation for a new arbitration cycle can
be initiated. However, actual bus capture, which
defines the point at which the MBU can drive the
bus, must be delayed until deactivation of the RDY
signal. The BCP signal is applied through AND gate
50 as a condition for resetting the BRQ latch 31.
However, a second reset condition, activation of
SEL, delays the resetting of BRQ, as previously
indicated, in order to prevent poll propagation,
enabled by resetting BRQ, until the SEL signal has
been asserted as an inhibiting condition to the BUS
CAP latches of lower priority MBU's. A f~rther
interlock, the conditioning of the reset input of
the BVS CAP latch 33 by SEL and RDY through AND
gate 37 insures that the BUS CAP latch will be
reset after the BRQ latch is reset. The resetting
of BUS CAP latch 33 after BRQ latch 31 insures that
REQB line 20 cannot be inadvertently reactivated in
the same cycle.
The Select (SEL) latch 43 is held active and
drives the SEL line 23 until a RDY signal is
received from a Slave Bus Unit (SBU). The SEL
latch 43 is reset by RDY through AND gate 28, which
is also conditioned by the OR'ed comblnation of REQB
and NOT ACKB. The conditioning of the SEL latch

BC9-82-017 -22-
~L994~;
reset input by REQB and NOT ACKB, as shown, is an
interlock that would be required only under very
improbable design circumstances. Under most
circumstances of good design practice, the only
condition for resetting the SEL latch would be the
RDY signal.
Interlock Requirements,_Fiq. 3
For the sake of thoroughness in analysis of
design considerations in the use of the circuit cf
Fig. 3, the special interlocks are discussed below.
Setting of the BUS CAP latch 33 enables the
SEL latch 43 to be set as soon as RDY from the
previous bus cycle becomes inactive. It also
immediately degates REQB, which permits the arbiter
to reset ACKB. This, in turn, permits another MBU
to-activate a new request, which would be followed
by sequential reactivation of REQB and ACKB. If
this sequence of events is extremely fast, it might
- produce the conditions for setting a second BUS CAP
latch, such as latch 33 before the SEL latch 43 has
had time to be set and to become effective as an
inhibiting input to the BUS CAP latch. This could
result in the undesirable state of a new bus
capture sequence being initiated before the current
bus capture cycle is terminated. This possibility
is extremely improbable and could only occur if
there were a very long delay between deactivation
of SEL, which is a condition for settin~ BUS CAP,
and the responding deactivation of RDY, such that
the sequence described previously, initiated by
setting the BUS CAP latch could be completed before
setting of SEL could take effect. Good design
practice would ordinarily dictate that deactivation

BC9-82-017 -23-
9~
of RDY would result immediately from deactivation
of SEL. Thus, the SEL latch 43, conditioned by
the negation of RDY, would be set immediately after
the BUS CAP latch 33, conditioned by the negation
of SEL, is set. However, if there is any
possibility that activation of the select signal
could be delayed enough to permit the sequence
described above to result in the improper setting
of a second BUS CAP latch, this type of "race"
condition can be effectively prevented by the
design of interlocking circuits in the arbiter that
will not permit ACKB to be deactivated until
assertion of the corresponding SEL signal has been
detected. With this interlock, it is not possible
to produce the conditions for a new bus capture
until the current bus sequence has been completed.
As indicated in the preceding paragraph, the
interlocking of ACKB and SEL in the arbiter, such
that deactivation of ACKB is conditioned by the
assertion of SEL, is only necessary under special,
highly improbable design circumstances. It would
be the responsibility of the designer of a
particular system, based on the peculiar
characteristics of the system to determine whether
such an interlock is desirable or warranted. If it
is assumed that the interlock is required, then a
further interlock is required in each MBU to insure
that SEL is held active and is not reset by RDY
until the resetting of ACKB is insured. This is
accomplished by using the negation of ACKB as a
condition for resetting the SEL latch 43. However,
REQB and ACKB may be forced to remain active by a
lower priority request in the polling chain or by
the existence of a burst mode state. In this case,

BC9-82-017 -~4-
~ l9~
the active state of ACKB must not be allowed to
prevent the resetting of the SEL latch. When REQB
and ACKB are kept active either by burst mode or by
a lower priority request state, the use of ACKB as
an inhibiting condition for resetting the 5EL Latch
can be overridden by OR'ing REQB with the negation
of ACKB and AND'ing the result with RDY, as snown
by the logic represented by OR gate 27 and AND gate
28. It should be noted that if the aforementioned
ACKB/SEL interlock is not required, this logic can
be omitted. In this latter case, the RDY signal
can be applied directly to the reset input of the
SEL latch, as the only condition required for
setting the latch.
Poll propagation AND circuit 35 (PI to PO~ is
enabled by absence of an active bus request and
activation of REQB by a different MBU. The
enabling effect of REQB is delayed to insure that
the local request state has settled before
effecting a decision to propagate. REQB is also
applied directly without delay via line 40 as a
condition for Poll Out (PO~ in order to speed up
deactivation of the poll signals when the source
signal (REQB) on line 20 is removed.
If burst mode operation is supported, a
"BURST" signal on line 41 indicating activation of
burst mode, is used to override the effect of the
Bus Capture latch 33 by preventing resetting of BRQ
latch 31 via the negated input line 36 and by
providing an alternate path for gating BRQ latch 31
output via line 42 and AND gate 54 to the REQB
line, so that REQB is continuously activated for
the duration of burst mode, while the Bus Capture
latches 33 and SEL latch 43 cycle on and off as
required to control the sequencing of bus cycles.

BC9-82-017 -25-
The logic for activating BURST may vary
depending on application. However, it should be
set before the "Bus Capture" point of the first
burst cycle and should be reset just prior to, or
simultaneously with setting the Bus Capture latch
33 in the last cycle. The latter condition insures .
that the REQB line 22 will be deactivated as soon
as possible in preparation for the next arbitration
cycle.
In cases where "lockout" of a higher priority
MBU due to chaining of burst requests might be a
problem, a modification of Fig. 3 by the addition
of circuit details shown in Fig. 4 may be
desirable. The function of the circuit of Fig. 4
is to force rearbitration of each request in the
event of simultaneous burst requests, which would
otherwise be processed sequentially before any
later request, regardless of priority, could be
granted. A basic condition for rearbitration is
that all lower priority pending requests active at
- the time of bus capture by a particular MBU must be
reset as soon as the higher priority bus capture is
detected. Fig. 4 shows, within the dotted line,
the circuit addition required to pennit an MBU to
detect a bus capture by a higher priority MBU and,
as a result, to reset its own BRQ latch, such that
its request will be removed from activation of
REQB, so its request together with subsequently
occurring requests can be rearbitrated. The
condition that indicates a higher priority bus
capture is the combination of ACKB, SEL, and the
inactive state of PI. However, a direct AND
combination of SEL and ACKB could result in a
premature, erroneous resetting of BRQ if ACKB
became active before the SEL signal of a preceding
!

BC9-82-017 -26-
94~3L6
cycle reached its inactive state. The purpose of
the ACKB latch 30 (ACKBL) in Fig. 4 is to delay the
effect of ACKB as a reset condition until any
residual SEL condition from a preceding bus cycle
has disappeared. This is accomplished by applying
ACKB AND~d with the negation of SEL through AND
gate 59 and inverter 58 as the set condition for
ACKBL latch 30. Thus ACKBL latch 30 will be set to
ACKB state as soon as SEL becomes inactive and will
retain the ACKB state as a condition for resetting
BRQ until subsequent activation of SEL resets BRQ
which in turn resets ACKBL. Under some
circumstances, it may be desirable to force
rearbitration between simultaneous requests from
non-burst-mode operating MBU's. In such a case,
this can be simply accomplished by eliminating
''BURSTI' as an input to AND gate 27. It should be
noted, however, that this would forego one of the
advantages for this arbitration scheme; namely the
ability to process simultaneous requests very
rapidly, in quasi-burst mode, without the delays
inherent in rearbitrationr
Timing Diagrams
Timing of requests is generally shown in Fig.
2. Details for timing for three cases in
particular is shown in Figs. 5-7 respectively:
1. Non-simultaneous request, where two
successive requests result in separate REQB/ACKB
cycles.

BC9-82-017 ~79 9 ~ ~
2. Nearly simultaneous requests where two
requests are serviced sequentially under a single
REQB/ACKB cycle.
3. Two nearly simultaneous requests where
the higher priority requests is serviced in burst
mode, which is followed by a single bus cycle for
the second request, all under a single REQB~ACKB
cycle.
These diagrams illustrate the functioning and
interlocking of the principle signals shown in Fig.
3. Fig. 5 shows the high degree of parallelism
that is possible in servicing successive requests
even when the second request is not allowed to
become active until ACKB for the first request has
dropped. Since deactivation of REQB and ACKB is
initiated at the earliest possible point in the bus
capture cycle of the first requestor (MBU C), it is
quite likely that arbitration of the second request
- can be completed before the end of the first bus
cycle, so that the second bus cycle is ready to
start as soon as the fall of Ready (RDY) signals
the end of the first bus cycle. Timing
relationships less favorable than shown are likely
only if the response of ACKB to REQB is
substantially slower than the response times
between SEL and RDY. In any case, the diagram
indicates serial arbitration of sequential requests
can be practically as efficient as conventional
parallel, or radial-request, arbitration. This is
due essentially to the fact that the serial polling
process can be initiated well in advance of the
ACKB response from the arbitrator, so that the bus
grant decision logic of the arbitration, with its
inherent delay, operates in parallel with the logic
of the polling chain.

BC9-82-017 -28-
~,~c~
Fig. 6 shows the case of two bus requests
beiny set closely enol1gh together in time that the
inhibiting or clamping effect of REQB is not soon
enough to prevent the second request latch from
being set. In this case REQB is held active until
both requests have been serviced, and the effect,
from the standpoint of the arbiter, is equivalent
to burst mode operation for two bus cyclesO Bus
requests from other MBU's, regardless of priority,
are locked out until the currently active requests
have been serviced. In the case of requests for
single bus cycles, as shown in the diagram, this
probably presents no problem since the probability
of more than two "simultaneous" requests seems
small in view of the very short slice of time
during which a second or third request can be set
after the first has activated REQB. Furthermore,
the possible disadvantage is offset by the rapidity
with which the active requests can be serviced.
After the highest priority request has been
serviced, each successive cycle can be serviced 5
without the delay due to REQBD or ACKB since these
signals will continue to be active. As indicated
by Fig. 6, the next bus cycle after the first waits
only for the fall of RDY.
Fig. 7 shows the timing for a two-cycle burst
followed immediately by a bus cycle corresponding
to a request (BRQC) set immediately following the
request for burst cycles. The net effect is that
of a three-cycle burst. It should be noted that if
two or more burst-mode devices present requests
simultaneously, the total bus lockout time will be
the sum of combined burst-cycle times.

BC9-82-017 -29-
l:~99~
A solution to this potential situation is
offered by the logic modification shown in Fig. 4
described previously. The effect of this
modification is to reset BRQ latch 31a if a higher
priority device captures the bus. It has the
effect of forcing the MBU to permit rearbitration
by withdrawing its request until the conditions for
arbitration are reestablished. This will be as
soon as ACKB for the current bus master is
deactivated. If the ACKB response to dropping REQB
is relatively fast, there will be no great time
penalty in rearbitrating the second request because
much of the rearbitration sequence will be
completed in parallel with the last bus cycle of
the preceding burst sequence. It should be noted
in Fig. 4 that the primary request, REQ(C), as well
as the corresponding burst-mode state are held
active until MBU C has captured the bus.
The foregoing shows in conjunction with the
logic and timing diagrams of Figs. 1-7 that the
scheme of using the REQB signal as the initial
stimulus to a serial arbitration polling chain
achieves a significant improvement in serial
arbitration performance, compared to previously
proposed schemes, so that serial arbitration, in
terms of overall response times, becomes nearly as
efficient as, if not equal to, radial arbitration.
The inventive system described herein provides
improved response to bus requests by speeding
serial arbitration. Interlocking of Request,
Acknowledge, and the arbitration sequence
eliminates any need for specifying minimum bus
signal durations.
!

BC9-82-017 ~30-
~1:19~
In the case of multiple simultaneous requests,
all ~IBU's with active requests at the time of a bus
capture will automatically be granted the bus in
sequential order, according to priority, before a
new arbitration sequence is initiated, i.e., by
dropping and reactivating REQB. This presents the
possibility of preventing a higher priority MBU
from presenting its request for arbitration until
all currently active requests have been serviced.
In some cases this might be considered an
advantage. Whatever the disadvantage, it is offset
by the speed with which current requests can be
honored since the poll signal is propagated without
the delays that are caused initially by the ACKB
response or the stabilization delay that is applied
to REQB as a condition for propagation at the
beainning of an arbitration sequence. ~he simple
logic circuit described overcomes the problem of
lockout by successive burst requests with
relatively little impairment of performance.
While the preferred embodiment of the
invention has been illustrated and described, it is
to be understood that there is no intention to
limit the invention to the precise construction
herein disclosed and the right is reserved to all
changes and modifications coming within the scope
of the invention as defined in the appended claims.

Representative Drawing

Sorry, the representative drawing for patent document number 1199416 was not found.

Administrative Status

2024-08-01:As part of the Next Generation Patents (NGP) transition, the Canadian Patents Database (CPD) now contains a more detailed Event History, which replicates the Event Log of our new back-office solution.

Please note that "Inactive:" events refers to events no longer in use in our new back-office solution.

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Event History , Maintenance Fee  and Payment History  should be consulted.

Event History

Description Date
Inactive: IPC from MCD 2006-03-11
Inactive: Expired (old Act Patent) latest possible expiry date 2003-11-08
Grant by Issuance 1986-01-14

Abandonment History

There is no abandonment history.

Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
INTERNATIONAL BUSINESS MACHINES CORPORATION
Past Owners on Record
HOBART L. KURTZ
ISRAEL B. MAGRISSO
JACK L. QUANSTROM
RICHARD A. KELLEY
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Claims 1993-06-27 26 623
Abstract 1993-06-27 1 13
Drawings 1993-06-27 6 100
Descriptions 1993-06-27 30 950