P
US4394728AExpiredUtilityPatentIndex 81

Allocation controller providing for access of multiple common resources by a duplex plurality of central processing units

Assignee: GTE AUTOMATIC ELECTRIC LAB INCPriority: Jun 26, 1980Filed: Jun 26, 1980Granted: Jul 19, 1983
Est. expiryJun 26, 2000(expired)· nominal 20-yr term from priority
Inventors:COMFORT JOSEPH APERRY THOMAS JLOOS MICHEL
G06F 13/18G06F 13/37
81
PatentIndex Score
21
Cited by
17
References
19
Claims

Abstract

An allocation controller providing for equal priority sharing of duplicate copy multiple resources by a duplex plurality of central processing units. Conflicts resulting from simultaneous requests from several CPUs for access to one of the common resources are resolved at a high rate of speed. In addition, an approximately statistically equal probability is maintained for access of the common resource by all the central processing units.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. An allocation controller providing for equal priority sharing of multiple duplicate copy resources by active ones of duplicated pairs of a plurality of, CPUs said allocation controller comprising: said plurality of CPUs including first, second and third groups each group including first and second portions;   at least three resources each having two duplicate copies, each to be selectively connected to any CPU of said plurality;   first arbitration means including first, second and third duplicated groups, each duplicated group of first arbitration means connected to a corresponding group of CPUs;   said first arbitration means operated in response to resource request signals from said plurality of CPUs to provide for selection of one CPU per CPU group;   a plurality of CPU buses including first, second and third groups corresponding to said CPU groups, each bus connected between a particular CPU and said first arbitration means, each CPU bus including a control portion and an address/data portion;   at least three pair of group buses, each bus pair corresponding to one said CPU group and said corresponding CPU buses, and each group bus connected between a particular CPU through said corresponding CPU bus via said first arbitration means and connected to one copy of said duplicate copy resources via one said group bus, each group bus further connected to said other group buses of said corresponding groups;   one group bus of each said pair further connected to a first copy of said duplicate copy resources and another group bus of each said pair further connected to a second copy of said duplicate copy resources;   second arbitration means connected between each of said duplicate copy resources and each group of first arbitration means and said second arbitration means operated in response to said operation of said first arbitration means to select one of said requesting CPUs of said different CPU groups for connection to said first and said second copies of one selected duplicate copy resource via one said pair of group buses and said corresponding CPU buses;   said group bus pair connected to said requesting CPU via said corresponding CPU bus through said first arbitration means and said second arbitration means and connected to said duplicate copy resources to establish bus connection between said one selected CPU and said selected duplicate copy resources for the transmission of data to and from said resources; and   each of said second arbitration circuits operated on a rotational basis to allocate access of said selected duplicate copy resources to said requesting CPU.   
     
     
       2. An allocation controller as claimed in claim 1, wherein each duplex group of said first arbitration means includes a first and a second portion, each portion including: means for initialization providing a first signal;   a plurality of first arbitration circuits including an initial, at least one successive and a last first arbitration circuit, each arbitration circuit connected to a corresponding CPU;   said means for initialization connected to at least one of said first arbitration circuits; and   each of said first arbitration circuits operated in response to said first signal and to said resource request signal from said corresponding CPU to produce a second signal for allowing one of said plurality of CPUs access to a particular common resource.   
     
     
       3. An allocation controller as claimed in claim 2, wherein: corresponding first arbitration circuits of said first and second portion of each group of first arbitration means are connected whereby said corresponding first arbitration circuits operate synchronously.   
     
     
       4. An allocation controller as claimed in claim 2, wherein said first arbitration means further includes: a plurality of circuit connections including a circuit connection between said initial first arbitration circuit and each successive first arbitration circuit, said last first arbitration circuit connected to said initial first arbitration circuit, thereby forming a completed ring connection for propagating said first signal from one arbitration circuit to another arbitration circuit in a circular fashion.   
     
     
       5. An allocation controller as claimed in claim 4, wherein: each of said first arbitration circuits includes first gating means connected to said successive arbitration circuit and operated to propagate said first signal along said ring connection at a relatively high rate of speed whereby each CPU is given an equal priority access to said resource by inhibiting said propagation of said first signal. 
     
     
       6. An allocation controller as claimed in claim 5, wherein: each of said first arbitration circuits includes second gating means connected to said successive arbitration circuit of said ring connection and operated to propagate a third signal from each arbitration circuit to each successive arbitration circuit, whereby control of said common resource is given to said next successive arbitration circuit having said resource request signal from its corresponding CPU. 
     
     
       7. An allocation controller as claimed in claim 6, wherein: said second gating means is further connected to said corresponding CPU whereby said corresponding CPU exclusively controls access to said common resource. 
     
     
       8. An allocation controller as claimed in claim 6, wherein: each of said first arbitration circuits includes latching means connected to said corresponding CPU and operated in response to said resource request signal of said corresponding CPU to produce said second signal allowing said CPU to access said resource. 
     
     
       9. An allocation controller as claimed in claim 8, whereino: said latching means includes first and second flip-flops, said first flip-flop connected between said corresponding CPU and said second flip-flop, said second flip-flop connected to said first and said second gating means of said corresponding first arbitration circuit, whereby said resource request signal of said corresponding CPU is stored for arbitration. 
     
     
       10. An allocation controller as claimed in claim 6, wherein said second arbitration means includes duplicate first and second portions, each portion including: a plurality of second arbitration circuits having an initial, an intermediate and a final second arbitration circuit; and   said initial second arbitration circuit connected to said intermediate second arbitration circuit, said intermediate second arbitration circuit connected to said final second arbitration circuit and said final second arbitration circuit connected to said initial second arbitration circuit whereby a priority status indicator is circularly transmitted between each second arbitration circuit allowing said selected CPU of said second arbitration circuit having priority status to access one of said resources.   
     
     
       11. An allocation controller as claimed in claim 10, wherein each of said second arbitration circuits includes: a first input connection for receiving an initialization signal;   a second input connection for receiving a clock signal;   latching means connected to said first and second input connections and operated in response to said initialization signal and to said clock signal to produce a fourth and a fifth signal; and   selection means connected to said latching means and operated in response to a predetermined value of said fourth and fifth signals to provide a sixth signal for enabling connection of said requesting CPU to said resource via said corresponding bus.   
     
     
       12. An allocation controller as claimed in claim 10, wherein each said portion includes: said initial second arbitration circuit connected via a bus to said intermediate second arbitration circuit;   said intermediate second arbitration circuit connected via a bus to said last second arbitration circuit;   said final second arbitration circuit connected via a bus to said initial second arbitration circuit whereby each said requesting CPU is connected to said requested one duplicate copy of said resources.   
     
     
       13. An allocation controller as claimed in claim 10, wherein: corresponding second arbitration circuits of said first and second portions of said second arbitration means are connected whereby, said corresponding second arbitration circuits operate synchronously.   
     
     
       14. An allocation controller as claimed in claim 1, wherein there is further included: switching means connected between said first and said second arbitration means and operated in response to said resource request of said requesting CPUs to select one CPU of two simultaneously requesting CPUs of two different of said CPU groups; and   said switching means further operated to alternately select said CPUs of said group whereby allocation of said common resource is approximately equal among said CPUs of each group.   
     
     
       15. An allocation controller as claimed in claim 14, wherein said switching means includes a first and a second portion, each portion including: connections to first and to second subgroups of CPUs;   a first switching circuit connected between said first group of first arbitration means and said second arbitration means;   a second switching circuit connected between said second group of first arbitration means and said second arbitration means;   a third switching circuit connected between said third group of first arbitration means and said second arbitration means whereby one of said requesting CPUs is selected for each group of first arbitration means.   
     
     
       16. An allocation controller as claimed in claim 15, wherein: corresponding switching circuits of said first and second portions are connected whereby said corresponding switching circuits operate synchronously.   
     
     
       17. An allocation controller as claimed in claim 15, wherein each said switching circuit includes: a flip-flop;   a first latch connected to a first subgroup of CPUs of said corresponding CPU group and to said flip-flop;   a second latch connected to a second subgroup of CPUs of said corresponding CPU and to said flip-flop; and   gating means connected between said flip-flop and said first and second latches, and said gating means operated in response to said simultaneous resource request signals of said first arbitration means to select a CPU of said first subgroup and alternately to select CPU of said second subgroup.   
     
     
       18. An arbitration controller as claimed in claim 1, wherein: each of said duplicte pairs of CPUs includes a first and a second CPU cross connection bus, said first cross connection bus connected between said first CPU of said pair and said second bus and said second cross connection bus connected between said second CPU of said pair and said first cross connection bus whereby said first CPU constitutes said active CPU and said second CPU constitutes a ready-standby CPU and alternatively said second CPU constitutes said active CPU and said first CPU constitutes a ready-standby CPU. 
     
     
       19. An arbitration controller as claimed in claim 1, wherein: said two duplicate copies of said duplicate copy resources are interconnected whereby each of said active CPUs access both said duplicate copies of said selected resource synchronously.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.