NL8002344A - MULTIPROCESSOR SYSTEM WITH COMMON DATA / ADDRESS BUS. - Google Patents

MULTIPROCESSOR SYSTEM WITH COMMON DATA / ADDRESS BUS. Download PDF

Info

Publication number
NL8002344A
NL8002344A NL8002344A NL8002344A NL8002344A NL 8002344 A NL8002344 A NL 8002344A NL 8002344 A NL8002344 A NL 8002344A NL 8002344 A NL8002344 A NL 8002344A NL 8002344 A NL8002344 A NL 8002344A
Authority
NL
Netherlands
Prior art keywords
signal
processors
processor
arbitration
bus
Prior art date
Application number
NL8002344A
Other languages
Dutch (nl)
Original Assignee
Philips Nv
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Philips Nv filed Critical Philips Nv
Priority to NL8002344A priority Critical patent/NL8002344A/en
Priority to GB8110981A priority patent/GB2074764A/en
Priority to DE19813115454 priority patent/DE3115454A1/en
Priority to FR8107899A priority patent/FR2481488A1/en
Priority to JP6072381A priority patent/JPS56166572A/en
Publication of NL8002344A publication Critical patent/NL8002344A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/374Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a self-select method with individual priority code comparator

Description

r I > PHN 9730 1 N.V. PHILIPS» GLOEILAMPENFABRIEKEN TE EINDHOVEN. "Multiprocessor systeem met gemeenschappelijke data/adres-bus".r I> PHN 9730 1 N.V. PHILIPS »BULB FACTORIES IN EINDHOVEN. Multiprocessor system with common data / address bus.

ACHTERGROND VAN DE UITVINDING.BACKGROUND OF THE INVENTION.

De uitvinding betreft een rekenmachinesysteem, bevattende een aanial eerste processoren die onderling verbonden zijn door: 5 a. een databus om .telkens een meerbits datawoord in parallel te transporteren tussen een eerste processor en tenminste één verdere inricnting van het rekenmachinesysteem; b. een besturingsbus bevattende een aantal parallelge- ^ schakelde besturingslijnen; waarbij elke processor voorzien 10 is van eerste middelen om vóór het realiseren van een door hem gewenst datatransport zijn meerbits-prioriteitsgetal toe te voeren aan een de processoren onderling verbindende meerbits-arbitragebus, en de arbitrage-bus voorzien is van tweede middelen om in geval van meerdere, tesamen ontvangen 15 prioriteitsgetallen, middels het per signifikantieniveau van de bits daarvan vormen van een logische funktie, het hoogste prioriteitsgetal daaruit te bepalen en aan de daarbij behorende processor met uitsluiting van verdere processoren een toe.stemmingssignaal toe te voeren. Zo'n systeem is 20 een multiprocessorsysteem. De verdere inrichting kan betreffen een tweede processor, een geheugen, een in/uitvoerappa-raat. Het datatransport kan vanaf de vragende processor of juist daarnaar toe gericht zijn. De processoren kunnen zeer eenvoudig zijn gebouwd, bijvoorbeeld als microprocessor, 25 danwel groter zijn. De processoren kunnen funktioneel gelijkwaardig zijn, maar dat behoeft niet: er kunnen "centrale" processoren (cpu's), invoer-uitvoer-processoren, en processoren met een speciaal doel, bijvoorbeeld funktiege-nerators zoals vermenigvuldigers, door elkaar aanwezig'zijn. 30 De prioriteitsgetallen worden nu aan elkaar getoetst om de databus te kunnen toewijden San de processor met de hoogste prioriteit: zo kan in principe de databus warden toegewezen aan een snel wisselende volgorde van (eerste) processoren.The invention relates to a calculator system, comprising a number of first processors which are interconnected by: a. A data bus for each time transporting a multi-bit data word in parallel between a first processor and at least one further arrangement of the calculator system; b. a control bus containing a number of parallel-connected control lines; each processor being provided with first means for supplying its multi-bit priority number to a multi-bit arbitration bus interconnecting the processors before the realization of a data transport of its choice, and the arbitration bus being provided with second means for, in the event of a plurality of priority numbers received together, by means of a logical function forming a logic function of the bits thereof, to determine the highest priority number therefrom and to apply a permission signal to the associated processor to the exclusion of further processors. Such a system is a multiprocessor system. The further device can be a second processor, a memory, an input / output device. The data transport can be directed from or to the requesting processor. The processors can be built very simply, for instance as a microprocessor, or be larger. The processors may be functionally equivalent, but need not be: "central" processors (CPUs), input-output processors, and special purpose processors, for example, function generators such as multipliers, may be present together. 30 The priority numbers are now tested against each other in order to be able to allocate the data bus. San the processor with the highest priority: for example, the data bus can in principle be assigned to a rapidly changing sequence of (first) processors.

800 2 3 44 ·* * ( PHN 9730 2800 2 3 44 * * (PHN 9730 2

Een rekenmachinesysteem volgens de aanhef is bekend uit het Amerikaanse Octrooischrift 3710351. Dit geeft een separate databus van 4 bits breed en een daarmee parallel geschakelde arbitragebus van ook 4 bits breed. De bits van het 5 prioriteitsgetal worden tesamen toegevoerd aan een arrangement van blokkerende poorten. De blokkerende poorten hebben hun uitgang verbonden met de bitlijn van de arbitragebus die een overeenkomstige signifikantie heeft, en een blokkeer-ingang is verbonden met de bitlijn van naasthogere signifi-10 kantie, indien bestaand. De bitlijnen vormen elk voor zich een bedrade OF'funktie. Als er dus een "hoger" prioriteitsgetal van een andere processor op de arbitragebus wordt geproduceerd blokkeert dit het produceren van verdere bits van een "lager" prioriteitsgetal. Als de situatie tot rust 15 is gekomen voert de arbitragebus het hoogste prioriteitsgetal dat op dat ogenblik aktief is en wordt de databus vrijgegeven voor informatietransport vanuit de processor met het hoogste prioriteitsgetal dat op dat moment relevant is.A calculator system according to the preamble is known from US patent specification 3710351. This gives a separate data bus of 4 bits wide and an arbitration bus of 4 bits wide connected in parallel therewith. The bits of the priority number are applied together to an arrangement of blocking gates. The blocking gates have their output connected to the bitline of the arbitration bus which has a corresponding significance, and a blocking input is connected to the bitline of the next higher signifier, if any. The bit lines each form a wired OR function. Thus, if a "higher" priority number from another processor is produced on the arbitration bus, it blocks the production of further bits from a "lower" priority number. When the situation has settled, the arbitration bus carries the highest priority number that is currently active and the data bus is released for information transport from the processor with the highest priority number that is currently relevant.

SAMENVATTING VAN DE UITVINDING.SUMMARY OF THE INVENTION.

20 Als in het bovenstaande systeem niet van te voeren bekend is, welke prioriteitsgetallen vóór kunnen komen, moet telkens gewacht worden tot voor elke opvolgende bitlijn alle looptijden van de signalen langs de arbitragebus zijn verlopen. Dit kan geruime tijd duren, hetgeen bij snel wis-25 selende "heersers" (masters) van de databuslijn een aanzienlijke beheerslast (overhead) kan betekenen. Het is een doelstelling van de uitvinding om een vermindering van genoemde beheerslast te realiseren, doordat in vele gevallen al op grond van één of enkele hoogsignifikante prio-30 riteitsbits kan worden vastgesteld welke processor de "nieuwe" heerser van de databus is. De uitvinding realiseert de doelstelling doordat hij het kenmerk heeft dat elke processor bevat: - c. detektiemiddelen voor een startsignaal om alsdan bij 35 een door die processor gewenst datatransport zijn prioriteitsgetal aan de arbitragebus toe te voeren, en een cy-clusbijhoudelement met een reeks van een aantal standen, hetwelk door genoemd startsignaal in de eerste stand van ge- 8 00 2 3 44 * ► PHN 9730 3 noemde reeks en door een voortgangssignaal in een naast— volgende stand van de reeks u/ordt gesteld; d. een vergelijkelement om onder besturing van een stand van het cyclusbijhoudelement telkens het eigenprioriteits-5 getal geheel te vergelijken met het middels genoemde logische funktie op genoemde arbitragebus gevormde prioriteits-getal, en bij gelijkheid een "winnaar"-signaal te vormen; om onder besturing van een stand "p" van genoemde reeks van standen van het cyclusbijhoudelement telkens de in 10 signifikantieniveau p-de bit van boven van het eigen priori-teitsgetal te vergelijken met de overeenkomstige op de arbitragebus gevormde bit, en onder afwezigheid van genoemd "winnaar" signaal bij gelijkheid genoemd "voortgangs"-signaal te vormen, doch bij ongelijkheid zijn genoemde eerste midde-len te desaktiveren; f. een tweede detektor om enig in genoemd rekenmachinesys-teem door een andere processor gegenereerd "winnaar"-signaal te detekteren en als dan zijn genoemde eerste middelen te desaktiveren; 20 g. derde middelen om onder besturing van zijn eigen "winnaar" signaal het gewensts datatransport te realiseren en aan het einde daarvan genoemd startsignaal te vormen, ter toevoering aan alle· eerste processoren van het rekenmachinesysteem.If it is not known in the above system which priority numbers can occur, it is necessary to wait each time until, for each successive bit line, all transit times of the signals along the arbitration bus have expired. This can take a long time, which can mean a considerable management burden (overhead) with rapidly changing "rulers" (masters) of the data bus line. It is an object of the invention to realize a reduction of said management load, because in many cases it can already be determined on the basis of one or a few high-priority priority bits which processor is the "new" ruler of the data bus. The invention achieves the object because it has the characteristic that each processor contains: - c. detection means for a start signal to then supply its priority number to the arbitration bus at a data transport desired by that processor, and a cycle tracking element with a series of a number of positions, which is indicated by said start signal in the first position of 8 00 2 3 44 * ► PHN 9730 3 said series and is placed in a next position of the series by a progress signal; d. a comparison element, in each case under control of a position of the cycle tracking element, in each case comparing the self-priority number 5 entirely with the priority number formed by said logic function on said arbitration bus, and in the case of equality forming a "winner" signal; under control of a position "p" of said series of positions of the cycle tracking element, in each case, comparing the bit in the significance level p-the bit from the top of its own priority number with the corresponding bit formed on the arbitration bus, and in the absence of said "winner" signal in case of equality to form said "progress" signal, but in case of inequality said first means can be deactivated; f. a second detector to detect any "winner" signal generated in said calculator system by another processor and then deactivate said first means; 20 g. third means for realizing the desired data transport under the control of its own "winner" signal and forming said start signal at the end thereof, for supplying to all the first processors of the calculator system.

In veel gevallen zal reeds na enkele standen van het cy-25 clusbijhoudelement de winnende processor van de arbitrage bekend zijn. Er wordt op gewezen dat in dit verband de signifikantie van de bits van het prioriteitsgetal bepaald wordt door de volgorde waarin ze bij de betreffende arbitrage als p-de bit worden vergeleken. Onder andere omstan-30 digheden, bijvoorbeeld bij een eerstvolgende arbitrage, kan het signifikantieniveau weer anders zijn.In many cases the winning processor of the arbitration will already be known after a few positions of the cycle-tracking element. It should be noted that in this connection the significance of the bits of the priority number is determined by the order in which they are compared as pth bit in the arbitration in question. Under other circumstances, for example in the next arbitration, the level of significance may be different again.

Het is gunstig als vanaf genoemd startsignaal tot aan genoemd "winnaar"-signaal de data-bus werkt als arbitragebus. Dit levert een beperking in het aantal benodigde lijnen, 35 respektievelijk de mogelijkheid om bij eenzelfde aantal ( ) lijnen meer processoren toe te passen. Het gerefereerde bekende systeem kan dan 256 in plaats van 16 processoren bevatten, terwijl ook de doorvoer (throughput) capaciteit 800 2 3 44It is advantageous if the data bus operates as an arbitration bus from said start signal to said "winner" signal. This results in a limitation in the number of lines required, and the possibility to use more processors for the same number of lines. The referenced known system can then contain 256 instead of 16 processors, while the throughput capacity is also 800 2 3 44

* V* V

PHN 9730 4 voor de data bijna verdubbeld is. Anderzijds kunnen bij gescheiden data- en arbitragebus in principe transport en arbitrage in de tijd overlappen, niet echter in de getoonde uitvoering van het geciteerde Amerikaanse Octrooischrift 5 3 710 351.PHN 9730 4 before the data has almost doubled. On the other hand, in the case of separate data and arbitration buses, in principle, transport and arbitration may overlap in time, but not in the embodiment shown in the cited US Patent 5 3 710 351.

Het is gunstig als voor een prioriteitsgetal van n bits (pl ...... pn), waarin pl het meest signifikant is, de prioriteitsgetallen zijn gekozen uit de verzameling: (pl... .pi,pi+l.....pj, pj+1......pn), met 10 i ^ 0, j ^ i+1, j ^ n waarin de bits (pl.....pi) een willekeurige waarde kunnen hebben, de bits pi+1.....pj) alle de laagste bitwaarde en de bits. pj+1.......pn) alle de hoogste bitwaarde bezitten, waarbij i voor alle processoren eenzelfde waarde en j 15 een kiesbare waarde bezit, waardoor de verzameling ten hoogste een aantal P = 21 . (n+l-i) te gebruiken elementen bevat, en dat het aantal standen van genoemde reeks tenminste gelijk is aan (i+1).Zo is in een zeer klein aantal standen van het cyclus besturingselement 23 de nieuwe bus-heerser bekend, als het aantal processoren niet te groot is. Bij (n+1) processoren kan het steeds in stand "1" reeds bekend zijn, bij 2n processoren steeds al in stand "2" . In het bovenstaande wordt onder de "hoogste" bitwaarde die veronderstald, welke een andere bitwaarde op 25 de betreffende leiding van de arbitragebus maskeert. Bij een OF-funktie daarop is een "1" dus de hoogste waarde bij een EN-funktie is de "0" juist de hoogste waarde.It is favorable if for a priority number of n bits (pl ...... pn), where pl is most significant, the priority numbers are chosen from the set: (pl ... .pi, pi + l ... ..pj, pj + 1 ...... pn), with 10 i ^ 0, j ^ i + 1, y ^ n in which the bits (pl ..... pi) can have any value, the bits pi + 1 ..... pj) all the lowest bit value and the bits. pj + 1 ....... pn) all have the highest bit value, i having the same value for all processors and j 15 having a selectable value, so that the set has at most a number P = 21. (n + li) contains elements to be used, and that the number of positions of said series is at least equal to (i + 1). Thus, in a very small number of positions of the cycle control 23, the new bus ruler is known as the number of processors is not too large. With (n + 1) processors it can always be known in position "1", with 2n processors always in position "2". In the above, under the "highest" bit value, it is assumed to mask another bit value on the particular line of the arbitration bus. With an OR function thereon a "1" is the highest value, so with an AND function the "0" is the highest value.

KORTE BESCHRIJVING VAN DE FIGUREN Dé uitvinding wordt nader uitgelegd aan de hand 30 van enkele figuren. Eerst wordt nader ingegaan op de bekende techniek. Vervolgens wordt de globale gang van zaken bij een arbitrage-operatie uitgelegd. Daarna wordt een voordelige keuze der prioriteitsgetallen gegeven. Tenslotte wordt een voorkeursuitvoering besproken, met name aan de 35 hand van een aantal tijds- en toestandsdiagrammen.BRIEF DESCRIPTION OF THE FIGURES The invention is explained in more detail with reference to some figures. First, the known technique will be further discussed. The general course of events in an arbitration operation is then explained. Then an advantageous choice of the priority numbers is given. Finally, a preferred embodiment is discussed, in particular on the basis of a number of time and state diagrams.

Fig. 1 geeft de opvolgende fasen van een infor-matie-uitwisseling; 800 2 3 44 < * PHN 9730 5Fig. 1 shows the subsequent phases of an information exchange; 800 2 3 44 <* PHN 9730 5

Fig. 2 geeft een inrichting volgens de bekende techniek;Fig. 2 shows a device according to the known art;

Fig. 3 geeft een voorbeeld van de gang van zaken bij een arbitrage (globaal); 5 Fig. 4 illustreert een voordelige keuze van de prioriteitsgetallen;Fig. 3 gives an example of the course of arbitration (global); FIG. 4 illustrates an advantageous selection of the priority numbers;

Fig. 5 geeft het aantal mogelijke prioriteitsgetallen in verschillende situaties;Fig. 5 gives the number of possible priority numbers in different situations;

Fig. 6 geeft de aansluiting der processoren aan 10 arbitrage- en besturingsbus;Fig. 6 indicates the connection of the processors to arbitration and control bus;

Fig. 7 geeft een stroomdiagram van een elementair gedeelte van de arbitrage;Fig. 7 is a flow chart of an elementary part of the arbitration;

Fig. 8 geeft een tijdsdiagram van een driedraads-vertandings(handshake)systeem; 15 Fig. 9a-9f geven zes tijdsdiagrammen van gedeelten van een arbitrage operatie;Fig. 8 shows a time diagram of a three-wire toothing (handshake) system; FIG. 9a-9f show six time diagrams of parts of an arbitration operation;

Fig. 10a-10f geven zes toestandsdiagrammen betreffende de verschillende processoren.Fig. 10a-10f give six state diagrams regarding the different processors.

DE OMGEVING VAN DE UITVINDING.ENVIRONMENT OF THE INVENTION.

20 Fig. 1 geeft ter verduidelijking de opvolgende delen van een informatieuitwisseling tussen een processor en een verdere inrichting, via de gemeenschappelijke da-tabus. In het tijdsinterval 54 vindt de arbitrage plaats; daarbij \i/ordt de vraag beantwoord, wélke processor de be-25 scnikking krijgt over de databus. In het tijdsinterval 56 vindt de selektie plaats. De processor die de beschikking heeft over de databus (heerser) selekteert één of meer verdere inrichtingen om informatie mee uit te wisselen. In het tijdsinterval 58 vindt het eigenlijke informatietrans-30 port plaats; daarbij kan de "master"-processor zowel zendend als ontvangend zijn. In het tijdsinterval 60 vinden verdere werkzaamheden plaats die de informatieoverdracnt betreffen, bijvoorbeeld het terugsturen van een bevestigingssignaal. Daarmee kunnen ook tijdsintervallen 58 en 60 telkens afwis- 35. selen. In het tijdsinterval 62 vindt het vrijgeven plaats: de reservering van de verdere inrichting(en) wordt beëindigd en de master-processor geeft een signaal ten teken dat het informatietransport is beëindigd. In het tijdsinterval 800 23 44 PHN 9730 6 64 gebeurt er niets; het is aanwezig opdat verdere pro-cessoren het genoemde vrijgeven kunnen detekteren, zodat daaraan-aansluitend een nieuwe arbitragefase gestart kan worden. Het bovenstaande veronderstelt dat alle handelingen 5 succesvol zijn. Daarentegen is het bijvoorbeeld ook mogelijk dat de te selekteren inrichting bijvoorbeeld niet beschikbaar is: dan vervallen de operaties die in de tijdsintervallen 58, 60, 62 plaatsvinden: alleen het vrijgave-signaal voor de andere processoren wordt nog gevormd.FIG. 1 illustrates the subsequent parts of an information exchange between a processor and a further device, via the common database. The arbitration takes place in time interval 54; thereby answering the question, which processor gets the message about the data bus. The selection takes place in the time interval 56. The processor that has access to the data bus (ruler) selects one or more further devices for exchanging information. The actual information transport takes place in time interval 58; the "master" processor may be both transmitting and receiving. In the time interval 60, further activities take place which concern the information transfer, for example sending back an acknowledgment signal. Time intervals 58 and 60 can thus alternate in each case. In the time interval 62 the release takes place: the reservation of the further device (s) is ended and the master processor gives a signal that the information transport has ended. In the time interval 800 23 44 PHN 9730 6 64 nothing happens; it is in place so that further processors can detect the aforementioned release, so that a new arbitration phase can then be started. The above assumes that all operations 5 are successful. On the other hand, it is also possible, for example, that the device to be selected is not available, for example: the operations that take place in the time intervals 58, 60, 62 are then canceled: only the release signal for the other processors is still formed.

10 DE BEKENDE INRICHTING10 THE KNOWN ESTABLISHMENT

Funktioneel betreft de uitvinding voornamelijk de gebeurtenissen in het interval 54 van fig. 1. In dit verband geeft fig. 2 ter recapitulatie een gedeelte van de uit het Amerikaanse Octrooischrift 3 710 351 bekende inrichting, 15 en wel een enkele processor met de arbitragebus van 4 bits breed (20). Element 22 genereert op zijn vier uitgangen het prioriteitsgetal van de betreffende processor. De meest sig-nifikante bit wordt direkt aan de arbitrage-bus toegevoerd, de overige bits via de poorten 24, 26, 28. Er zijn zeven 20 EN-poorten (24, 26, 28, 30, 32, 34, 36), waarvan bepaalde, inverterende, ingangen door een cirkeltje zijn geïdentificeerd. Voorts zijn er drie NIET-0F(N0R)poorten 38, 40, 42. Als de betreffende processor als meest signifikante priori-teitsbit een "1" heeft, wordt deze aan lijn 44 toegevoerd, 25 en vandaar aan poort 30, die echter door zijn tweede, inverterende ingang is geblokkeerd. Daardoor ontvangt poort 24 op zijn inverterende ingang een "0" , zodat hij doorlaatbaar wordt voor de naast-lagersignifikante bit van element 22. Als de meest-signifikante adresbit van de betref-30 fende processor een "0" is, en er is geen andere processor die een "1" voor lijn 44 genereert, dan ontvangt poort (EN-poort) 33 op zijn inverterende ingang een "0", maar op zijn niet-inverterende ingang eveneens een "o" zodat zijn uitgang "0" blijft. Ook deze wordt toegevoerd aan de in-• 35 verterende ingang van poort 24, die dan eveneens doorlaatbaar blijft voor de naast-lager signifikante bit van het prioriteitsgetal. Als in het laatstgenoemde geval wél een andere processor als meest-signifikante bit van het priori- 800 2 3 44 1 t * PHN 9730 7 teitsgetal een "1" op lijn 44 genereert, dan geeft poort 30 u/él een logische"l" af die daarmee EN-poort 24 blokkeert. Deze "1" wordt ook toegevoerd aan de NIET-OF-poorten 38 en 40 die daardoor een "0" afgeven om respektievelijk de poor-5 ten 26 en 28 blokkeren. Tenslotte geeft poort 42 een "0" af op klem 52, hetgeen betekent dat de betreffende processor niet als heerser van de databus (hier niet getoond) kan gaan fungeren.Functionally, the invention mainly relates to the events in the interval 54 of FIG. 1. In this connection, FIG. 2 shows for recapitulation a part of the device known from US Pat. No. 3,710,351, namely a single processor with the arbitration bus of 4 bits wide (20). Element 22 generates on its four outputs the priority number of the respective processor. The most significant bit is applied directly to the arbitration bus, the remaining bits via gates 24, 26, 28. There are seven 20 AND gates (24, 26, 28, 30, 32, 34, 36), of which certain inverting inputs are identified by a circle. Furthermore, there are three NON-0F (N0R) ports 38, 40, 42. If the processor in question has a "1" as the most significant priority bit, it is applied to line 44, 25 and hence to port 30, which is its second inverting input is blocked. Therefore, gate 24 on its inverting input receives a "0", so that it becomes permeable to the next-bearing-significant bit of element 22. If the most-significant address bit of the respective processor is a "0", and there is no if another processor generates a "1" for line 44, gate (AND gate) 33 receives a "0" on its inverting input, but also an "o" on its non-inverting input, so that its output remains "0". This too is applied to the inverting input of gate 24, which then also remains permeable to the next-lower significant bit of the priority number. In the latter case, if another processor generates a "1" on line 44 as the most significant bit of the priority number 800 2 3 44 1 t * PHN 9730 7, then gate 30 u / el gives a logic "1" which thereby blocks AND gate 24. This "1" is also applied to the NOR gates 38 and 40 which thereby issue a "0" to block gates 26 and 28, respectively. Finally, port 42 issues a "0" at terminal 52, which means that the processor in question cannot function as the ruler of the data bus (not shown here).

Op dezelfde manier is het bijvoorbeeld mogelijk 10 dat de betreffende processor als minst signifikante bit van het prioriteitsgetal een "0" heeft, terwijl toch op lijn 50 een logische "1" verschijnt. Dan geeft dus poort 42 op lijn 52 een logische "0" af. Dit is echter niet beslissend omdat het mogelijk is dat de betreffende processor bijvoor-15 beeld het prioriteitsgetal "0010" heeft, en de (ënige) andere aktieve processor het prioriteitsgetal "0001". Dan moet dus eerst het signaal op lijn 44 tot rust komen; dit wordt via de poorten 30 en 24 aan lijn 46 toegevoerdals het signaal daarop tot rust komt gaat het via poorten 32, 38 en 20 26 naar lijn 48. Als het signaal daarop tot rust komt wordt poort 34 geblokkeerd om evenals poorten 30 en 32 een "0" af te geven, zodat poort 40 3 logische "0"-signalen ontvangt. De gegenereerde "1" gaat naart poort 28, maar wordt daar tegengehouden. Op dezelfde manier wordt in de met poort 28 25 overeenkomende poort in de andere processor de "1" nu geblokkeerd, waardoor lijn 50 op potentiaal "0" komt. Dan pas geeft poort 36 een logische "0" af waardoor poort 42 op klem 52 een logische "1" afgeeft zodat juist deze processor als heerser op de databus kan optreden. Het laatste 30 gedeelte veronderstelt nog dat de processoren synchroon lopen. Het is duidelijk dat er zeer veel tijd kan verlopen voordat de arbitrage is gerealiseerd. Als de processoren niet synchroon lopen moet bovendien steeds op de langzaamste worden gewacht.Likewise, it is possible, for example, that the processor in question has a "0" as the least significant bit of the priority number, while a logic "1" nevertheless appears on line 50. Then gate 42 on line 52 gives a logic "0". However, this is not decisive because it is possible that the processor in question has, for example, the priority number "0010", and the (one) other active processor has the priority number "0001". Then the signal must first come to rest on line 44; this is applied to line 46 via ports 30 and 24 when the signal comes to rest on it goes through ports 32, 38 and 20 26 to line 48. When the signal comes to rest on it, gate 34 is blocked from entering just like ports 30 and 32. "0" so that gate 40 receives 3 logic "0" signals. The generated "1" goes to port 28, but is stopped there. Likewise, in the port corresponding to port 28 in the other processor, the "1" is now blocked, bringing line 50 to potential "0". Only then does gate 36 issue a logic "0", whereby gate 42 on terminal 52 issues a logic "1" so that this processor can act as ruler on the data bus. The last 30 part still assumes that the processors are synchronous. It is clear that a lot of time can pass before the arbitration is completed. In addition, if the processors are out of sync, always wait for the slowest one.

35 DE ARBITRAGE VOLGENS DE UITVINDING.35 THE ARBITRATION ACCORDING TO THE INVENTION.

Fig. 3 geeft een voorbeeld van een geval van arbitrage volgens de uitvinding. De arbitragebus heeft een breedte van acht bits en er zijn 5 processoren A.....E die 800 23 44 PHN 9730 8Fig. 3 gives an example of an arbitration case according to the invention. The arbitration bus is eight bits wide and there are 5 processors A ..... E that 800 23 44 PHN 9730 8

, V, V

de beschikking willen krijgen over de databus. Kolom 70 geeft de vijf prioriteitsgetallen van de processoren. In tegenstelling tot Fig. 2 vormen de geleiders van de arbitra-gebus de bitsgewijze EN-funktie en dus indiceert dan de 5 bitwaarde "0" een hogere prioriteit dan de bitwaarde "1".want to have access to the data bus. Column 70 gives the five priority numbers of the processors. In contrast to Fig. 2, the conductors of the arbitration bus form the bitwise AND function and thus the bit value "0" then indicates a higher priority than the bit value "1".

De zesde regel geeft de informatie welke de arbitragebus voert. Dè arbitrage vindt plaats in een volgorde van oneven en even fasen die bestuurd worden door de overeenkomstige standen van een niet aangegeven cyclusbesturingselement.The sixth line gives the information that the arbitration bus carries. The arbitration occurs in an order of odd and even phases controlled by the corresponding positions of an undeclared cycle control.

10 Onder besturing van een startsignaal wordt in elke processor het uitzenden van het prioriteitsgetal gestart. In fase 1 (eerste onevenfase) wordt in elke processor het eigen prioriteitsgetal (kolom 70) vergeleken met het op de arbitragebus gevormde getal. Deze vergelijking le-vert in dit voorbeeld nergens een overeenstemming op. Daarom wordt in alle processoren doorgeschakeld naar fase 2 (eerste even fase).10 Under the control of a start signal, the transmission of the priority number is started in each processor. In phase 1 (first odd phase), each processor's own priority number (column 70) is compared with the number formed on the arbitration bus. This comparison does not yield any agreement in this example. That is why all processors switch to phase 2 (first even phase).

In fase 2 wordt (kolom 72) in elke processor de meest signifikante bit van het prioriteitsgetal vergelekenIn phase 2 (column 72) in each processor the most significant bit of the priority number is compared

2Q2Q

met de overeenkomstige op de arbitragebus gevormde bit.with the corresponding bit formed on the arbitration bus.

Voor de processoren A, C en D is er overeenkomst en gebeurt er niets. Voor de processoren B en E is verschil, waardoor duidelijk dat deze processoren zeker niet het hoogste prioriteitsgetal op de arbitragebuus genereren. Onder bestu-ring van het aldus gegenereerde "verschil"signaal voeren deze processoren daarom hun prioriteitsgetal niet langer toe aan de arbitragebus. Dit wordt gerealiseerd door een zogenaamde "tri-state" (drie-toestandsuitgangsbuffer), die één stand heeft, waarin de uitgang hoogimpedant is afgesloten.For processors A, C and D there is agreement and nothing happens. There is a difference for processors B and E, so it is clear that these processors certainly do not generate the highest priority number on the arbitration box. Therefore, under the control of the "difference" signal thus generated, these processors no longer supply their priority number to the arbitration bus. This is realized by a so-called "tri-state" (three-state output buffer), which has one position in which the output is closed with high impedance.

Een andere oplossing is dat een pseudo-prioriteitsgetal van uitsluitend "l"-bits aan de arbitragebus wordt toegevoerd. De niet-aktieve toestand van de processoren B en D wordt verder door kruisjes aangegeven. Deze processoren kunnen nu in een wachttoestand overgaan. Het is anderzijds 35 mogelijk dat ze een verdere taak gaan uitvoeren, bijvoorbeeld doordat ze meerdere uitvoerbare processen bevatten en een nieuw proces wordt geaktiveerd. Op dit laatste heeft de geen onderhavige uitvinding/betrekking. De processoren waarin wél 800 2 3 44 7 PHN 9730 9 een overeenkomst wordt gedetekteerd worden naar fase 3 doorgeschakeld (volgende oneven fase).Another solution is to apply a pseudo-priority number of only "1" bits to the arbitration bus. The inactive state of processors B and D is further indicated by crosses. These processors can now go into a waiting state. On the other hand, it is possible that they will carry out a further task, for instance because they contain several executable processes and a new process is activated. The present invention does not relate to the latter. The processors in which 800 2 3 44 7 PHN 9730 9 does detect an agreement are transferred to phase 3 (next odd phase).

In fase 3 vindt hetzelfde plaats (kolom 74) als in fase 1. Ook nu levert de vergelijking nergens overeen-5 stemming op, zodat in de processoren A, C, D naar fase 4 wordt doorgeschakeld.The same takes place in phase 3 (column 74) as in phase 1. Again, the comparison nowhere yields any agreement, so that processors A, C, D switch to phase 4.

In fase 4 vindt hetzelfde plaats als in fase 2, echter wordt nu de op één na meest signifikante bit van het prioriteitsgetal in de vergelijking betrokken (kolom 76) 10 Voor de processoren A en C is er overeenkomst en deze worden naar fase 5 doorgeschakeld. Voor processor D is er een verschil en deze processor voert daaomizijn prioriteitsgetal niet langer toe aan de arbitragebus.The same takes place in phase 4 as in phase 2, but now the second most significant bit of the priority number is included in the equation (column 76). For processors A and C there is a match and these are switched to phase 5. For processor D, there is a difference, and this processor no longer supplies its arbitrary bus with its priority number.

In fase 5 (kolom 78) vindt hetzelfde plaats als 15 in de fase 1, 3, waarbij door het niet-aktief worden van processor D de informatie op de arbitragebus is veranderd. Voor processor A wordt nu bij de vergelijking een verschil gedetekteerd, en deze processor zou dus naar fase 6 doorgeschakeld moeten worden om de op twee na meest signifikante 20 bit van het prioriteitsgetal met de overeenkomstige bit op de arbitragebus te vergelijken. Dit zou weer een overeenkomst leveren. Op deze wijze verder gaande zou pas in fase 8 (bij het vergelijken van de op drie na meest signifikante bit van het prioriteitsgetal) een verschil optreden 25 waardoor processor A niet-aktief zou worden. In het onderhavige geval echter wordt in fase 5 in processor C gedetekteerd dat op de arbitragebus hetzelfde getal gegenereerd is als het eigen prioriteitsgetal (pijl 80). Deze overeenkomst signaleert dat processor C de "winnaar" van de betref-30 fende arbitrage is. Het "winnaar"-signaal wordt toegestuurd aan alle nog in de arbitrage aktieve processoren (in dit geval dus alleen processor A). Laatstgenoemde wordt dus, evenals eerder processoren B, D, E in de niet-aktieve stand gesteld. Vervolgens kan processor C overgaan naar de in inter-35 val 56 van fig. 1 te verrichten handelingen. In het later te bespreken uivoeringsvoorbeeld zullen de fase 1/2, 3/4, enzovoorts telkens tesamen worden uitgevoerd.In phase 5 (column 78) the same takes place as in phase 1, 3, in which the information on the arbitration bus has changed due to the inactivity of processor D. For processor A, a difference is now detected in the comparison, and this processor should therefore be switched to phase 6 to compare the third most significant 20 bit of the priority number with the corresponding bit on the arbitration bus. This would again provide an agreement. Continuing in this way, a difference would only occur in phase 8 (when comparing the fourth most significant bit of the priority number), making processor A inactive. In the present case, however, phase 5 detects in processor C that the arbitration bus has generated the same number as its own priority number (arrow 80). This agreement signals that processor C is the "winner" of the arbitration in question. The "winner" signal is sent to all processors still active in the arbitration (in this case only processor A). Thus, the latter, like earlier processors B, D, E, is set to the inactive state. Processor C can then proceed to the operations to be performed in interval 56 of Fig. 1. In the exemplary embodiment to be discussed later, the phases 1/2, 3/4, etc., will be performed together in each case.

800 2 3 44 PHN 9730 10 DE KEUZE DER PRIORITEITSGETALLEN.800 2 3 44 PHN 9730 10 THE CHOICE OF PRIORITY NUMBERS.

In de arbitrage volgens fig. 3 viel de beslissing pas in fase 5'. Fig. 4 geeft de keuze van prioriteits-getallen om deze beslissing reeds in een vroeg stadium 5 te kunnen effektueren. Er is uigegaan van een arbitragebus met een breedte van vier bits. De eerste 'kolom geeft de vijf mogelijke prioriteitsgetallen om steeds al in fase 1 een beslissing te forceren. Hierbij kunnen de "0" en "1"-waarde onderling worden verwisseld. Het prioriteitsgetal 10 "0000” is dus gerelateerd aan de hoogste prioriteit, het ge tal "1111" aan de laagste, als de arbitragebus weer de EN-funktie genereert. Het is mogelijk om in bepaalde proces-soren elementen weg te laten. Zo kan de processor met prioriteitsgetal "0000" zonder vergelijking direkt steeds zich-15 zelf tot "winnaar" verklaren: de vergelijk-middelen kunnen dus vervallen. De processor met prioriteitsgetal "0001" hoeft alleen de vierde, minst signifikante bit te vergelijken, de processor met prioriteitsgetal "0111" behoeft d^, vergelijking alleen uit te voeren voor de drie laatste bits. 20 In vele praktijkgevallen zullen alle processoren echter steeds alle elementen bevatten om een modulair systeem te komen: vooral bij realisatie van de arbitrage-elementen in één enkel geïntegreerd circuit per processor weegt dit zwaar. In een niet-modulair systeem zijn er meer mogelijkhe-25 den om hier met vijf verschillende prioriteitsgetallen al in fase 1 een winnaar te kunnen aanwijzen. Zo geeft de vijfde kolom vijf prioriteitsgetallen. De . processor van regel 90 wijst direkt zichzelf als "winnaar" aan. De processor van regel 88 detekteert alleen of de meest-signifikan-30 te bit op de arbitrage bus met zijn eigen meest signifikante bit overeenkomt: als dat zo is, wijst hij zichzelf tot "winnaar" aan. De processor van regel 86 doet ditzelfde voor de twee meest signifikante bits, die van regel 84 voor drie, en die van regel 82 voor alle vier bits.In the arbitration according to Fig. 3, the decision was made only in phase 5 '. Fig. 4 gives the choice of priority numbers to be able to effect this decision at an early stage 5. An arbitration bus with a width of four bits has been output. The first column gives the five possible priority numbers to always force a decision in phase 1. Here the "0" and "1" value can be interchanged. The priority number 10 "0000" is therefore related to the highest priority, the number "1111" to the lowest, when the arbitration bus again generates the AND function. It is possible to omit elements in certain processors. the processor with priority number "0000" without comparison immediately declares itself as "winner": the comparing means can therefore be dispensed with. The processor with priority number "0001" only has to compare the fourth, least significant bit, the processor with priority number "0111" need to perform d ^, comparison only for the last three bits 20 In many practical cases, however, all processors will always contain all the elements to arrive at a modular system: especially when the arbitration elements are realized in a single integrated circuit per processor this weighs heavily In a non-modular system, there are more possibilities to be able to win a winner here already in phase 1 with five different priority numbers jzen. For example, the fifth column gives five priority numbers. The. line 90 processor immediately designates itself as "winner". The processor of line 88 only detects whether the most significant 30 bit on the arbitration bus matches its own most significant bit: if so, it designates itself as the "winner". Line 86's processor does the same for the two most significant bits, line 84 for three, and line 82 for all four bits.

35 Op overeenkomstige manier als de eerste kolom geeft de tweede kolom van fig. 4 de mogelijke prioriteitsgetallen waarbij uiterlijk in fase 3 een beslissing valt. De meest signifikante bit is hier willekeurig 0 of 1, terwijl voor 800 2 3 44 / » ( ( PHN 9730 11 de andere drie bits alleen de patronen 000, 001, 011, 111 toelaatbaar zijn. Dit zijn in totaal 8 verschillende priori-teitsgetallen.In a similar manner as the first column, the second column of fig. 4 gives the possible priority numbers whereby a decision is made at the latest in phase 3. The most significant bit here is arbitrarily 0 or 1, while for 800 2 3 44 / »((PHN 9730 11 the other three bits only the patterns 000, 001, 011, 111 are allowable. These are a total of 8 different priority numbers .

De derde kolom van fig. 4 geeft alle mogelijke 5 prioriteitsgetallen waarbij uiterlijk in fase 5 de beslissing valt. De twee meest signifikante bits zijn willekeurig als O, 1 te kiezen, terwijl voor de andere twee bits alleen de patronen 00, 01, 11 toelaatbaar zijn. Dit levert in totaal 12 verschillende prioriteitsgetallen.The third column of fig. 4 gives all possible 5 priority numbers, the decision being made at the latest in phase 5. The two most significant bits can be chosen arbitrarily as 0.1, while for the other two bits only patterns 00, 01, 11 are permissible. This yields a total of 12 different priority numbers.

10 De vierde kolom geeft alle mogelijke prioriteits getallen waarbij uiterlijk in fase 7 de beslissing valt.10 The fourth column gives all possible priority numbers, whereby the decision is made at the latest in phase 7.

Dit zijn alle 16 mogelijkheden.These are all 16 options.

Er is gevonden, dat bij n bits (hier n = 4) in de prioriteitsgetallen, waarbij de beslissing uiterlijk 15 moet vallen in de fase (2i+l) er in totaal 9 = 21 .(n+l-i) verschillende prioriteitsgetallen mogelijk zijn.It has been found that at n bits (here n = 4) in the priority numbers, where the decision must fall at the latest in the phase (2i + 1), a total of 9 = 21 (n + 1-i) different priority numbers are possible.

Fig. 5 geeft een tabel van deze aantallen. De eerste kolom geeft het aantal bits van de prioriteitsgetal-20 len. De bovenste rij geeft in verband met het bovenstaande de waarde van i. De figuur geeft voor de twee parameters het aantal toelaatbare prioriteitsgetallen. Voor n=5 en 32 prioriteitsgetallen levert de 9° fase de beslissing, voor het vervroegen van dit tijdstip zijn telkens meer pri-25 oriteitsbits nodig; uiteindelijk 31 stuks om in fase 1 te kunnen beslissen.Fig. 5 gives a table of these numbers. The first column gives the number of bits of the priority numbers. In connection with the above, the top row gives the value of i. The figure shows the number of permissible priority numbers for the two parameters. For n = 5 and 32 priority numbers, the 9th phase provides the decision, to advance this time more and more priority bits are needed; finally 31 pieces to be able to decide in phase 1.

BESCHRIJVING VAN EEN VOORKEURSUITVOERING.DESCRIPTION OF A PREFERRED EMBODIMENT.

Fig. 6 geeft als blokschema een voorkeursuitvoering, Het systeem bevat een 8-bits data-bus 124. Deze lijn 30 wordt ook als arbitrage-bus gebruikt. Verder is er een be-sturingsbus van 5 lijnen 126, 128, 130, 132, 134 (A, B, ΙΊ, X, Y). De A-lijn wordt gebruikt door de vigerende heerser van de databus om aan te geven dat een nieuwe arbitrage gestart kan worden. De processor die zichzelf als "winnaar" 35 gedetekteerd heeft gebruikt de lijn B om dit aan alle andere processoren te signaleren. De besturingslijnen Μ, X, Y worden gebruikt voor het implementeren van een driedraads synchronisatie-vertanding (handshake). De M-lijn wordt 800 23 44 PHN 9730 12 bestuurd door de vigerende heerser van de databus. In geval deze heerser als datazender optreedt wordt door een signaal aangegeven dat de data op de data-bus geldig is. De X-lijn en de Y-lijn vormen telkens een "bedrade-EN"-funktie 5 van de erop door de processoren gevormde signalen. Een zo gevormde logische "1" wordt gebruikt om een volgende elementaire synchronisatie-operatie (handshake) te starten.Fig. 6 gives a preferred embodiment as a block diagram. The system contains an 8-bit data bus 124. This line 30 is also used as an arbitration bus. Furthermore, there is a control bus of 5 lines 126, 128, 130, 132, 134 (A, B, ΙΊ, X, Y). The A line is used by the current ruler of the data bus to indicate that a new arbitration can be initiated. The processor that has detected itself as "winner" uses line B to signal it to all other processors. The control lines Μ, X, Y are used to implement a three-wire synchronization gear (handshake). The M-line is controlled by the current ruler of the data bus at 800 23 44 PHN 9730 12. In case this ruler acts as a data transmitter, a signal indicates that the data on the data bus is valid. The X line and the Y line each form a "wired-AND" function 5 of the signals formed thereon by the processors. A logic "1" thus formed is used to start a subsequent basic synchronization operation (handshake).

Op zichzelf is een dergelijke driedraads-synchronisatie ondermeer beschreven in de oudere Nederlandse Octrooiaan-10 vrage 7901156 (PHN 9351) van dezelfde aanvrager.Such a three-wire synchronization per se is described, inter alia, in the older Dutch Patent Application 7901156 (PHN 9351) of the same applicant.

Het getoonde arrangement bevat twee processoren. Passieve randapparaten zijn eenvoudshalve niet getekend, evenals mogelijke verdere processoren. Elke processor bevat een element 120, respektievelijk 122, dat de eigenlijke ar-15 bitrage uitvoert. Verder bevat elke processor een dataver-werkende inrichting, respektievelijk 121, 123 die via de lijnen 117, respektievelijk 119 met de databus 124 is verbonden. Daarbij kunnen de lijnen 113/117 en 115/119 gezamenlijke fysieke aansluitingen betreffen per processor. De 20 dataverwerkende inrichtingen 121, 123 kunnen van konventio-nele opbouw zijn. De elementen 120, 122 bevatten voorts een ingaande verzoeklijn 136, respektievelijk 140 voor een ver-zoeksignaal om de databus 124 te mogen gebruiken, en een toestemmings (acknowledge)-lijn 138 respektievelijk 142 om 25 te signaleren dat genoemd verzoek in eerste instantie toelaatbaar is, en dat het systeem dus over kan gaan naar fase 56 in Fig. 1. In een andere uitvoering kunnen de elementen 120/121 en 122/123 telkens in éên enkele inrichting gerealiseerd zijn.The arrangement shown contains two processors. For the sake of simplicity, passive peripherals are not shown, as are possible further processors. Each processor includes elements 120 and 122, respectively, which perform the actual arbitration. Each processor further comprises a data processing device 121, 123 and 121 respectively, which is connected to the data bus 124 via lines 117 and 119, respectively. In addition, lines 113/117 and 115/119 can be common physical connections per processor. The data processing devices 121, 123 can be of conventional construction. The elements 120, 122 further include an incoming request line 136 and 140, respectively, for a request signal to be allowed to use data bus 124, and an acknowledge line 138 and 142, respectively, to signal that said request is initially permissible , and thus the system can transition to phase 56 in FIG. 1. In another embodiment, elements 120/121 and 122/123 can each be realized in a single device.

30 Fig. 7 geeft een stroomdiagram van het uitvoeren van een arbitrageoperatie. In blok 150 begint de uitvoering; dit is de "start"operatie. In blok 152 vindt de initialisatie van de toestandsvariabelen in elke processor plaats: dit gebeurt omdat het bij de aanschakeling van de voedings-35 spanning willekeurig is in welke toestand deze variabelen komen. Deze "koude start" wordt ook geëffektueerd onder besturing van een globaal "terugstel" signaal dat tesamen aan alle processoren toegevoerd kan worden. Het systeem kan 800 2 3 44 PHN 9730 13 de lus ook binenenkomen als de vigerende "meester" van de databus een startsignaal afgeeft (warme start, blok 151).FIG. 7 shows a flow chart of performing an arbitration operation. Execution begins in block 150; this is the "start" operation. In block 152 the state variables are initialized in each processor: this is because the state of these variables is random when the supply voltage is switched on. This "cold start" is also effected under the control of a global "reset" signal that can be applied to all processors together. The system may also enter the loop 800 2 3 44 PHN 9730 13 if the current data bus "master" issues a start signal (warm start, block 151).

In blok 154 worden de ingangsvariabelen gedetekteerd, dat wil zeggen de bits van het prioriteitsgetal dat op de data/ 5 arbitragebus aanwezig ; deze bits worden lokaal in een lees-schrijfgeheugen of register opgeslagen. Op deze manier worden ze bij het doorlopen van de lus van deze figuur slechts telkens éénmaal opgeslagen. In blok 156 worden de hierna beschreven logische funkties van de verschillende 10 toestandsvariabelen gevormd door middel van combinatorische funktievorming. Inblok 158 worden de bijgewerkte waarden van deze toestandsvariabelen opgeslagen, in een lees-schrijfgeheugen dan wel een register.In blok 160 worden de door de processor uit te geven signalen bijgewerkt. Als 15 de betreffende processor "verliezer" is trekt hij zijn prioriteitsgetal terug van de arbitragebus. Als de betreffende processor "winnaar" is signaleert hij dit aan alle andere processoren. Met name zijn zo de fasen 2, 4 ... geïmplementeerd terwijl ook een daarmee funktioneel overeenkomende 20 fase "0" is geïmplementeerd. In blok 160 wordt gedetekteerd of de betreffende processor daaraan aansluitend als "heerser" van de databus gaat fungeren: dit blok bevat dus de eerder genoemde fasen 1, 3..... In verband met het bo venstaande wordt nog opgemerkt dat het resultaat van de be-25 werking in blok 160 niet afhangt van wat de overige processoren in blok 158 doen, zodat genoemde fase "0" weliswaar in tijd "voor" maar funktioneel "na" blok 160 komt. In blok 162 wordt gedetekteerd of enige (andere) processor zichzelf als "heerser" van de bus heeft erkend. Als dat zo is 30 (Y), wordt de arbitrage beëindigd en kan het systeem over gaan naar de volgende intervallen (56 en verder in fig. 1) van een dataoverdracht-operatie, middels een stopaktie (164). Als geen "heerser" is herkend gaat het systeem naar blok 154 terug om de lus andermaal te doorlopen.In block 154, the input variables are detected, i.e. the bits of the priority number present on the data / arbitration bus; these bits are stored locally in a read / write memory or register. In this way, they are only stored once when traversing the loop of this figure. In block 156, the logical functions of the different state variables described below are formed by combinatorial function formation. In block 158, the updated values of these state variables are stored in a read / write memory or a register. In block 160, the signals to be issued by the processor are updated. If the respective processor is "loser", it withdraws its priority number from the arbitration bus. If the respective processor is "winner", it signals this to all other processors. In particular, phases 2, 4 ... are thus implemented, while a functionally corresponding phase "0" is also implemented. In block 160 it is detected whether the processor in question will subsequently function as "ruler" of the data bus: this block therefore contains the aforementioned phases 1, 3 ..... In connection with the above, it is also noted that the result of the operation in block 160 does not depend on what the other processors in block 158 do, so that said phase "0" may come before "but functionally" after "block 160 in time". In block 162 it is detected whether any (other) processor has recognized itself as the "ruler" of the bus. If so (Y), the arbitration is terminated and the system can proceed to the next intervals (56 and further in Fig. 1) of a data transfer operation, by a stop action (164). If no "ruler" is recognized, the system goes back to block 154 to go through the loop again.

35 Fig. 8 geeft een tijdsdiagram van een driedraads- vertandings (handshake) systeem, waarvoor de lijnen Μ, X en Y uit fig. 6 worden gebruikt. De besturing van lijn M gebeurt door de "heerser" van de bus alleen? de besturing 800 2 3 44 PHN 9730 14 van de X, Y, lijnen gebeurt door alle overige kommunicerende processoren tesamen; dit kan in voorkomende gévallen ook slechts één enkele, processor betreffen. Telkens wordt er een cyclus geïnitieerd door een .signaal- .FIG. 8 is a time diagram of a three-wire toothing (handshake) system, using lines Μ, X and Y of FIG. 6. Line M is controlled by the "ruler" of the bus alone? the control 800 2 3 44 PHN 9730 14 of the X, Y, lines is done by all other communicating processors together; in some cases this may also concern only a single processor. Each time a cycle is initiated by a .signal.

/.overgang op lijn M. Bij een neergaande flank op lijn M geven 5 alle overige processoren een positieve signaal-flank op lijn Y. Het kausale verband is door een pijl aangegeven. Na het uitsterven van de inschakelverschijnselen voert lijn Y dan een hoog signaal. Door onderbroken lijnen is aangegeven dat sommige van de andere processoren al eerder reageren. Door-10 dat ook lijn Y van alle erop gegenereerde signalen de logische EN-funktie vormt wordt dit pas bij het reageren van de laatste merkbaar als een potentiaal verandering van de lijn. Als de "heerser"-processor de overgang op lijn Y de-tekteert geeft hij zelf een opgaande flank op de lijn M af./. transition on line M. With a falling edge on line M, all other processors give a positive signal edge on line Y. The capillary relationship is indicated by an arrow. After the switch-on phenomena have died out, line Y then carries a high signal. Dashed lines indicate that some of the other processors are responding earlier. Due to the fact that line Y of all signals generated on it also forms the logical AND function, this only becomes noticeable as a potential change of the line when the latter responds. When the "ruler" processor detects the transition on line Y, it itself emits an ascending edge on line M.

15 Daarop reageren alle overige processoren met een signaal-flank op lijn X, en ook met een neergaande signaalflank op lijn Y. Steeds zorgen alle overige processoren ervoor dat ze elk slechts op hoogstens één van de twee lijnen X, Y een hoge spanning afgeven. De intervallen met een O.K. pijl 20 zijn er door gekenmerkt dat de toestand van de data-, respektievelijk arbitragebus alsdan gedefinieerd is: alle overige processoren hebben hun uitgangsinformatie op de bus staan, respektievelijk de informatie ervan opgenomen.All other processors respond to this with a signal edge on line X, and also with a descending signal edge on line Y. All other processors always ensure that they only deliver a high voltage on at most one of the two lines X, Y. The intervals with an O.K. Arrow 20 are characterized in that the state of the data or arbitration bus is then defined: all other processors have their output information on the bus, respectively, and recorded the information thereof.

Op zichzelf is een dergelijke driedraads-synchronisatie-25 vertanding bekend geworden vanwege toepassing in de IEEE 488 Standaardbus. Eenvoudshalve is in het bovenstaande de eindige steilheid van signaalovergangen verwaarloosd.Such a three-wire synchronization gear has become known per se because of its application in the IEEE 488 Standard bus. For the sake of simplicity, the finite steepness of signal transitions has been neglected above.

Na het voorgaande geven figs. 9a-9f zes tijds-diagrammen betreffende signalen in een arbitrage-operatie.After the foregoing, figs. 9a-9f six time diagrams concerning signals in an arbitration operation.

30 Figs. 10a-10f geven zes toestandsdiagrammen betreffende de verschillende processoren die deelnemen aan zo een arbitrage-operatie.Figs. 10a-10f show six state diagrams regarding the different processors participating in such an arbitration operation.

In de eerste plaats geeft Fig. 9f de interaktie tussen de eigenlijke arbitragemodule (bijvoorbeeld element 120 in 35 fig. 6) en de erachter geschakelde dataverwerkende inrichting (bijvoorbeeld element 121). De eerste regel geeft het verzoeksignaal op lijn 136, de tweede regel het toestem-mingssignaal op regel 138. Het verzoeksignaal wordt hoog 800 2 3 44 PHN 9730 15 om de arbitragefase (54 uit fig. 1) te starten. Als de trans-portoperatie (fasen 56, 58, 60) is toegestaan wordt het signaal op de toestemmirgslijn hoog. Na het eind van de transport operatie wordt het verzoeksignaal laag: dan kan 5 de vrijgave fase beginnen (62). Als ook deze is voltooid wordt het toestemmingssignaal laag en kan de aanzet worden gegeven tot een volgende arbitrage operatie (64) die weer gestart wordt als de verzoeklijn hoog wordt. De vorming van het signaak ACK gebeurt door de standen S8, S9 in fig.First, FIG. 9f the interaction between the actual arbitration module (eg element 120 in Fig. 6) and the downstream data processing device (eg element 121). The first line gives the request signal on line 136, the second line the permission signal on line 138. The request signal goes high 800 2 3 44 PHN 9730 15 to start the arbitration phase (54 of FIG. 1). If the transport operation (phases 56, 58, 60) is allowed, the signal on the permission line becomes high. After the end of the transport operation, the request signal goes low: then the release phase can start (62). When this too is completed, the consent signal goes low and a next arbitration operation (64) can be started again when the request line goes high. The signaling ACK is formed by the positions S8, S9 in FIG.

10 10c (zie hierna).10 10c (see below).

Van de processoren is er één die middels een vast-be.draad signaal gepredestineerd is tot initiële heerser. Deze initiële toestand wordt bijvoorbeeld geaktiveerd door een globaal terugstelsignaal, bijvoorbeeld na het aanschake-15 len van de voedingsspanning. Daardoor worden alle processoren in de kombinatie van standen SI, S6, S8, S10, S15, S22 gesteld, die in figs. 10a-10f zijn getoond. Van elk van deze figuren apart zijn de standen door een aantal regis-terbits te definiëren, waarbij een logische toestand in een 20 register op konventionele manier middels een darop aangesloten dekodeur wordt gedetekteerd, Zo zullen de vijf standen van fig. 10a door minimaal drie registerbits worden weergegeven . Als het terugstelsignaal is afgelopen kan de arbitrage beginnen, nadat ook alle processoren de bovenver-25 melde zes beginstanden hebben aangenomen. Vooralsnog is in alle processoren de uitgaande lijn A met een "1" bekrachtigd; ook de B, M en X-lijnen zijn "1" (Fig . 9a die de start van de arbitrage aangeeft). Na een "terugstel"signaal is steeds ook Y=l, wat: in fig. 9a door een onderbroken 30 lijn is weergegeven. Voorts wordt de arbitragebus op alle 8 lijnen met een "1" aangestuurd: D(0:7)rl. Na het einde van het terugstelsignaal (RESET) gaan alle processoren dan van stand SI naar stand S2 (Al is waar, dat wil zeggen dat lijn A een "1" voert, en ook de initialisering van de betreffende 35 module is voltooid , dat Vil zeggen I is waar). Dit is getoond in fig. 10a, die de globale gang van zaken aangeeft met betrekking tot de opeenvolgende stadia van de beslissing over de arbitrage. Stand S2 betekent dan: "ik ben klaar 800 2 3 44 PHN 9730 16 om te mogen beslissen". Stand SI heeft het karakter van een wachtstand.Of the processors, one is predestined to initial ruler by a fixed wire signal. This initial state is activated, for example, by a global reset signal, for example after switching on the supply voltage. Therefore, all processors are put in the combination of positions S1, S6, S8, S10, S15, S22, which are shown in Figs. 10a-10f are shown. The positions of each of these figures separately can be defined by a number of register bits, in which a logical state in a register is detected in a conventional manner by means of a decoder connected to the bottom, for example, the five positions in Fig. 10a will be detected by at least three register bits. are being displayed . When the reset signal has expired, arbitration can begin after all processors have also assumed the above six initial positions. For the time being, the outgoing line A has been "1" in all processors; also the B, M and X lines are "1" (Fig. 9a indicating the start of the arbitration). After a "reset" signal, Y = 1 is also always, which is shown in FIG. 9a by a broken line. In addition, the arbitration bus on all 8 lines is controlled with a "1": D (0: 7) rl. After the end of the reset signal (RESET), all processors then go from position S1 to position S2 (A1 is true, that is, line A carries a "1", and also the initialization of the relevant module is completed, that Vil I say is true). This is shown in Figure 10a, which indicates the overall state of affairs with respect to the successive stages of the arbitration decision. Position S2 then means: "I am ready 800 2 3 44 PHN 9730 16 to decide". Stand SI has the character of a hold.

Vervolgens gaat de initiële "iieerser"-processor van stand S1Q naar stand S12, omdat stand S9 niet "\i/aar" 5 is. Immers, I=IM=X=Y=1, terwijl hij stand SI heeft verlaten (sT). Daarmee heeft de heerser zich als zodanig gemanifesteerd, uit de tabel bij fig. 9d blijkt dat in stand S12 het signaal op lijn A "0" wordt (zie ook fig. 9a). In het algemeen betreft fig. 9d het "heerser"-gedeelte van de drie-10 draads-synchronisatievertanding. Vervolgens gaat de initiële heerser van stand S15 naar stand S16, omdat hij stand S10 heeft verlaten (S10 is waar) en bovendien I en IM waar zijn. In stand S16 zendt de "initiële heerser''een "0" op de Y lijn, welke overgang in fig. 9a in onderbroken lijn ^ is aangegeven. Daarop gaan alle andere processoren ook van stand S15 naar stand S16, omdat I en Y1 beide "waar" zijn. Daarmee is de initialisatie van net gehele arbitragesysteem beëindigd: stand S15 bezit daarna geen rol meer. Als er nu een verzoeksignaal wordt gegenereerd, begint de arbitrage. 20 De hierna te beschrijven gang van zaken wordt uitgevoerd, zowel indien slechts een enkele processor, als wanneer meerdere processoren een verzoeksignaal produceren. Als er een verzoek ontstaat, gaat de betreffende processor van stand S16 naar S17. De desbetreffende Fig. 10e geeft van de 25 drie draads-synchronisatievertanding met name het "niet-heerser"-gedeelte . In stand S17 wordt ook het signaal op de lijn X gelijk aan nul. In fig. 9a is door de gestippelde lijnen aangegeven dat dit door de verschillende processoren met onderling verschillende vertraagtijden en voorts met ein-30 dige steilheden wordt gerealiseerd. Vervolgens gaan alle processoren die geen verzoeksignaal produceren van stand S2 terug naar stand SI, en wel zo lang als de arbitrage duurt (dit geldt ook voor de heerser). Tegelijk daarmee gaan de arbitrerende processoren van stand S6 naar stand 35 S7, omdat 2e zowel stand S2 als stand S17 bezitten. Stand S7 bestuurt het aan de arbitragebus toevoeren van het gehele prioriteitsgetal (zie fig. 9a, onderste regel), waarin 800 2 3 44 I „ PHN 9730 17 de schuine, evenwijdige strepen aangeven dat de op de verschillende lijnen van de arbitragebus staande signalen op verschillende tijdstippen en in verschillende richting kunnen veranderen. Als deze signalen tot rust zijn gekomen 5 kunnen sommige van de lijnen der arbitragebus een hoog signaal en andere een laag signaal voeren. (Dit is rechts onder in fig. 9a door een dubbel verlopende lijn aangegeven). Vervolgens gaan (met verschillende vertraagtijden) alle processoren die aan de arbitrage meedoen van stand S17 naar 10 stand S18 (Fig. 10e), waardoor ze het signaal op de Y lijn weer hoog maken; want de standen S7 en S2 zijn "waar".Then, the initial "elder" processor goes from state S1Q to state S12, because state S9 is not "5". After all, I = IM = X = Y = 1, while he left position SI (sT). The ruler has thus manifested itself as such, it appears from the table in Fig. 9d that in position S12 the signal on line A becomes "0" (see also Fig. 9a). Generally, FIG. 9d refers to the "ruler" portion of the three-ten wire synchronizing gear. Then, the initial ruler goes from position S15 to position S16, because he has left position S10 (S10 is true) and I and IM are also true. In position S16, the "initial ruler" sends a "0" on the Y line, which transition is shown in broken line in FIG. 9a, whereupon all other processors also move from position S15 to position S16, because I and Y1 are both Thus, the initialization of the entire arbitration system has ended: position S15 has no role thereafter. If a request signal is now generated, arbitration begins. 20 The procedure described below is carried out, both if only one single processor, as if multiple processors produce a request signal If a request arises, the respective processor moves from state S16 to S17 The respective Fig. 10e shows of the three wire synchronization gear in particular the "non-ruler" part In position S17 the signal on the line X also becomes zero .. In Fig. 9a it is indicated by the dotted lines that this is due to the different processors with mutually different delay times and furthermore with a time of 30d. Some steepnesses are being realized. Then, all processors that do not produce a request signal from state S2 go back to state SI for as long as the arbitration lasts (this also applies to the ruler). At the same time, the arbitrating processors go from position S6 to position 35 S7, because 2e have both position S2 and position S17. Position S7 controls the supply of the entire priority number to the arbitration bus (see Fig. 9a, bottom line), in which 800 2 3 44 I PHN 9730 17 indicate the oblique parallel stripes that indicate the signals on the different lines of the arbitration bus. can change at different times and in different directions. When these signals have settled, some of the lines of the arbitration bus can carry a high signal and others a low signal. (This is indicated by a double-running line at the bottom right in Fig. 9a). Then (with different delay times) all processors participating in the arbitration go from mode S17 to mode S18 (Fig. 10e), making the signal on the Y line high again; because positions S7 and S2 are "true".

Iets eerder (op grond van de standen 56 en SI) waren de niet aan de arbitrage meedoende processoren ook naar stand S18 gegaan, Zodat na enige tijd het signaal op lijn Y weer 15 wordt (Fig. 9a) vervolgens gaan alle processoren van stand S22 naar stand S23. De standen S23 tot en met S30 vormen als het ware een teller. Tevens gaat de "heersende" processor van toestand S12 naar toestand S13, waardoor de lijn M laag wordt (Fig. 9a). Daarop gaan alle processoren 20 van toestand S18 naar toestand S19, en de aan de arbitrage deelnemende processoren naar stand S3 (de overige zijn immers in stand Sli). In S3 wordt beslist, over de "winnaar" respektievelijk de "verliezers" van de arbitrage. Hiertoe worden eerst de kombinatorische funkties "g" en "h" geëva-25 lueerd. Deze beide funkties zijn gedefinieerd in het kader bij fig. 10a. De funktie "g" geeft aan of de door de stand van de teller van fig. IQf aan-gewezen bit van het priori-teitsgetal verschilt met de desbetreffende op de arbitragebus aanwezige bit. De funktie "h" geeft aan of er juist 30 gelijkheid is tussen alle bits van het eigen prioriteits- getal (pO ......P7) en de korresponderende bits op de arbitragebus (D10 ...... D17). De logische funktie h.g kan dus niet waar zijn. De figuren 9b en 9c geven nu de sig-naaldiagrammen voor respektievelijk een "oneven" en een 35 "even" beslissingsslag van de arbitrage. Deze onderscheiden zich van elkaar alleen door de polariteit van het signaal op de lijn M en de onderlinge verwisseling van de signaal-patronen op de lijnen X en Y.A little earlier (on the basis of positions 56 and SI), the processors not participating in the arbitration had also gone to position S18, so that after some time the signal on line Y becomes 15 again (Fig. 9a), then all processors go from position S22 to position S23. The positions S23 to S30 form, as it were, a counter. Also, the "prevailing" processor goes from state S12 to state S13, causing line M to become low (Fig. 9a). Subsequently, all processors 20 go from state S18 to state S19, and the processors participating in the arbitration to state S3 (after all, the others are in state Sli). In S3 it is decided on the "winner" and the "losers" of the arbitration, respectively. For this purpose, the combinatorial functions "g" and "h" are first evaluated. Both of these functions are defined in the box in Fig. 10a. The function "g" indicates whether the bit indicated by the position of the counter of Fig. IQf of the priority number differs from the relevant bit present on the arbitration bus. The function "h" indicates whether there is just equality between all bits of its own priority number (pO ...... P7) and the corresponding bits on the arbitration bus (D10 ...... D17). The logical function h.g therefore cannot be true. Figures 9b and 9c now show the sig needle diagrams for an "odd" and an "even" decision stroke of the arbitration, respectively. These are distinguished from each other only by the polarity of the signal on the line M and the interchange of the signal patterns on the lines X and Y.

800 2 3 44 PHN 9730 18800 2 3 44 PHN 9730 18

Als nu de funktie "g" waar is en de processor was in stand S19 dan betekent dit dat hij nooit winnaar van de arbitrage kan worden en dus naar stand SI teruggaat.If now the function "g" is true and the processor was in position S19, it means that it can never become the arbitration winner and thus goes back to position SI.

Als de funktie "h" waar is en de processor was in stand S19 5 dan is hij de "winnaar" en gaat naar stand S5. Als geen van beide funkties "g", "h" waar is en de processor was in stand S19 dan is de situatie voor de betreffende processor onbeslist en gaat hij naar stand S4 (daarbij kan nog wel een andere processor zich herkend hebben als "winnaar" en 10 naar stand S5 gegaan zijn).If the function "h" is true and the processor was in position S19 5 then it is the "winner" and goes to position S5. If neither function "g", "h" is true and the processor was in position S19, the situation for the processor in question is undecided and goes to position S4 (another processor may have identified itself as "winner") "and 10 have gone to position S5).

De figuren 9b , 9c geven nu de situatie aan dat geen "winnaar" is herkend. In fig. 9b wordt eerst het signaal op lijn M laag (zie ook fig. 9a) . Met betrekking tot de nog deelnemende processoren gebeurt het volgende.Figures 9b, 9c now indicate the situation that no "winner" has been recognized. In Fig. 9b the signal on line M first goes low (see also Fig. 9a). The following happens with regard to the still participating processors.

15 Uit stand SI9 gaan ze eerst naar stand S16 omdat S4 "waar" is: dan wordt het signaal op de X-lijn weer "1". Daarvoor, als dus de X- en Y-lijnen beide laag zijn, kunnen één of meer deelnemende processoren hun prioriteitsgetal terugnemen , waardoor de potentiaal van de verschillende lijnen 20 der arbitragebus kan veranderen. Dit is in fig. 9b op dezelfde manier aangegeven als in fig. 9a. Onder besturing van stand S16 gaan de nog deelnemende processoren van stand S4 naar stand S3 (voor een volgende beslissingsronde) en van stand S23 naar stand S24 (dit laatste verandert het rangnum-25 mer van de bit waarop de funktie "0" betrekking heeft), daarbij gaat de "heerser"-processor van stand S13 naar stand S12, want de X-lijn is hoog en de Y-lijn laag: daardoor wordt de lijn M weer hoog, en is de oneven beslissings-slag (eerste, derde, enz.) beëindigd: als M weer hoog wordt 30 is dat tevens het begin van de volgende even beslissings-slag (tweede, vierde, enz.). Alle nog deelnemende processoren gaan eerst van stand S16 naar stand S17 (Al en S2 zijn onwaar): X wordt weer laag: vanuit stand S17 wordt nu de eigenlijke beslissing genomen om naar de standen SI, S4, 35 respektievelijk S5 te gaan. Dan wordt (als geen winnaar aanwezig is) in stand S18 het signaal op lijn Y weer 1, in stand S13 het signaal op lijn M weer 0 en is de even beslisfase geëindigd. Onder besturing van stand S18 wordt ook 800 2 3 44 * PHN 9730 19 stand S25 nog bereikt. Zo vindt bij het doorlopen van de standen S16 tot en met S19 telkens tweemaal een beslissing plaats.From position SI9 they first go to position S16 because S4 is "true": then the signal on the X-line becomes "1" again. Therefore, if the X and Y lines are both low, one or more participating processors can take back their priority number, whereby the potential of the different lines of the arbitration bus can change. This is indicated in fig. 9b in the same way as in fig. 9a. Under control of position S16, the still participating processors go from position S4 to position S3 (for a next decision round) and from position S23 to position S24 (the latter changes the ranking number of the bit to which the function "0" refers). , the "ruler" processor goes from position S13 to position S12, because the X-line is high and the Y-line is low: as a result, the line M becomes high again, and the odd decision stroke (first, third, etc.): When M goes high again, it is also the beginning of the next even decision stroke (second, fourth, etc.). All still participating processors first go from position S16 to position S17 (A1 and S2 are false): X becomes low again: from position S17 the actual decision is now taken to go to positions S1, S4, 35 and S5, respectively. Then (if no winner is present) the signal on line Y becomes 1 again in position S18, in signal S13 the signal on line M returns to 0 and the even decision phase has ended. Under control of position S18, 800 2 3 44 * PHN 9730 19 position S25 is also reached. For instance, a decision is made twice when going through positions S16 to S19.

Als in het voorgaande door een andere processor 5 gedetekteerd wordt dat hij de winnaar is, bereikt deze stand Ξ5, waardoor het signaal op lijn B laag wordt: dit is in fig. 9b, 9c door een onderbroken lijn aangegeven. Als dit gebeurt verlaten de andere processoren bij het bereiken van de standen S17 en S19 direkt stand S3 en gaan naar 10 stand SI. Voorts gaan ze in fig. 10e ofwel direkt naar stand S16 (onder besturing van stand S4) , ofwel via de standen S18, S19 naar stand Slé, zoals later nader uitgelegd zal worden.If in the foregoing it is detected by another processor 5 that he is the winner, this position reaches Ξ5, whereby the signal on line B becomes low: this is indicated by a broken line in fig. 9b, 9c. When this happens, the other processors immediately leave position S3 upon reaching positions S17 and S19, and go to position S1. Furthermore, in Fig. 10e they either go directly to position S16 (under control of position S4), or via positions S18, S19 to position Slé, as will be explained later.

Fig. 9d, 9e geeft het einde van de arbitrage in 15 respektievelijk een oneven en een even beslissingsslag.Fig. 9d, 9e gives the end of the arbitration in 15 and an odd and an even decision stroke.

vv

Fig. 9d vormt daarmede het vervolg op Fig. 9b: de beslissing is dus gevallen, terwijl alle deelnemende processoren in de standen S3, S7, S8 en S19 waren. De winnende processor gaat dus naar stand S5 , waardoor het signaal op lijn B nul 20 wordt: deze processor gaat vervolgens ook terug naar de be-ginstand Sé, waardoor hij zijn prioriteitsgetal van de ar-bitragebus terugtrekt. Alle andere processoren gaan naar stand Slé ofwel onder besturing van stand S4, ofwel onder besturing van stand S6. De laatste bereiken ze doordat 25 achtereenvolgens uit stand S3 eerst SI en daardoor weer stand Sé bereikt kan worden. Daarmee wordt de lijn X dus "1". De "oude" heerser van de arbitrage gaat nu van stand S13 naar S12, waardoor de lijn M hoog wordt. Alle processoren gaan nu naar stand S17, waardoor lijn X laag wordt.Fig. 9d thus forms the continuation of FIG. 9b: So the decision was made while all participating processors were in positions S3, S7, S8 and S19. The winning processor thus goes to position S5, as a result of which the signal on line B becomes zero 20: this processor then also goes back to the starting position Sé, whereby it withdraws its priority number from the ar-bitrabus. All other processors go to position Slé either under control of position S4 or under control of position S6. They achieve the latter because 25 can successively be reached from position S3 first from position S3 and thereby again from position Sé. The line X thus becomes "1". The "old" ruler of the arbitration now moves from position S13 to S12, making line M high. All processors now go to position S17, making line X low.

30 Vervolgens bereiken ze stand S18 omdat Sé waar, en S2 onwaar is, en wordt lijn Y hoog. De oude heerser van de arbitrage gaat nu naar stand S14, en maakt het signaal op lijn M laag. Onder besturing daarvan gaan alle nog deelnemende processoren naar stand S19 en vervolgens naar stand 35 Slé, waardoor eerst lijn Y laag, en vervolgens lijn X hoog wordt. Dan kan de oude heerser overgaan naar stand SltjA, waarin hij lijn A weer hoog maakt. Dit laatste heeft tot gevolg dat alle processoren naar stand S22 gaan (fig. lOf) 800 23 44 PHN 9730 20 en dat de oude heerser naar stand S10 gaat. Daardoor maakt hij lijn M weer hoog en is daarmede niet langer als heerser herkenbaar. Daarmede is de nieu\i/e heerser bekend en kan deze overgaan naar de eerder besproken selektiefas&. Een 5 verder gevolg is nog dat alle processoren in stand S2 komen (behalve de nieuv/e heerser die in stand S5 is). Tenslotte komt de nieuwe heerser in stand S9, waarin hij het toe-stemmingssignaal voor zijn eigen dataverwerkende inrichting genereert (fig. 10c). Voorts komt de nieuwe heerser onder besturing van stand S9 via stand S10 in stand Sll.They then reach position S18 because Sé is true and S2 is false, and line Y becomes high. The old ruler of the arbitration now moves to position S14, making the signal on line M low. Under control thereof, all still participating processors go to position S19 and then to position 35 Slé, whereby line Y first becomes low, and then line X becomes high. Then the old ruler can move to position SltjA, in which he makes line A high again. The latter results in all processors going to position S22 (fig. 10f) 800 23 44 PHN 9730 20 and the old ruler going to position S10. As a result, he makes line M high again and is therefore no longer recognizable as ruler. The new ruler is thus known and can proceed to the previously discussed selection phase. A further consequence is that all processors come to position S2 (except for the new ruler who is in position S5). Finally, the new ruler enters position S9, in which it generates the consent signal for its own data processing device (Fig. 10c). Furthermore, under the control of position S9, the new ruler enters position Sll via position S10.

Een volgende arbitragecperatie kan worden gestart als het verzoeksignaal van de dataverwerkende inrichting die bij de nieuwe heerser behoort, verdwijnt. Dan wordt opnieuw gestart met de gang van zaken volgens fig. 9a, waarbij 15 echter het signaal op lijn Y vanaf het begin laag is. De volgende overgangen treden dan nog op:S9 S8, S5—>S2,A subsequent arbitration can be started when the request signal from the data processing device belonging to the new ruler disappears. Then the procedure according to Fig. 9a is restarted, however, the signal on line Y is low from the beginning. The following transitions then occur: S9 S8, S5 -> S2,

Sll -S12.Sll -S12.

Fig. 9e geeft een pendant van fig. 9d, waarbij echter de winnaar zichzelf in stand S17 aanwijst. Dan behoe- 20 ven slechts de standen S18 en S19 te worden doorlopen voordat S16 wordt bereikt. De gang van zaken is dan dus iets sneller.Fig. 9e gives a pendant of fig. 9d, whereby the winner, however, designates himself in position S17. Then only the positions S18 and S19 need to be passed through before S16 is reached. The procedure is therefore slightly faster.

25 30 35 800 2 3 4425 30 35 800 2 3 44

Claims (3)

1. Rekenmachinesysteem, bevattende een aantal eer ste processoren (120/121, 122/123) die onderling verbonden zijn door: a. een databus (124) om telkens een meerbits datawoord in 5 parallel te transporteren tussen een eerste processor en tenminste êên verdere inrichting van het rekenmachinesysteem; b. een besturingsbus (126, 128, 130, 132, 134) bevattende een aantal parallelgeschakelde besturingslijnen; waarbij elke processor voorzien is van eerste middelen (57) om 10 vóör het realiseren van een door hem gewenst datatransport zijn meerbits-prioriteitsgetal toe te voeren aan een de processoren onderling verbindende meerbits-arbitragebus, en de arbitrage-bus voorzien is van tweede middelen om in geval van meerdere, tesamen ontvangen prioriteitsgetallen, mid-15 dels het per signifikantieniveau van de bits daarvan vormen van een logische funktie, het hoogste prioriteitsgetal daaruit te bepalen en aan de daarbij behorende processor met uitsluiting van verdere processoren een toestemmings-signaal toe te voeren, met het kenmerk, dat elke processor 20 bevat; c. detektiemiddelen (SI) voor een startsignaal om alsdan bij een door die processor gewenst datatransport zijn prio-riteitsgetal aan de arbitragebus toe te voeren, en een cy-clusbijhoudelement (Fig. 9f) met een reeks van een aantal 25 standen, hetwelk door genoemd startsignaal in de eerste stand van genoemde reeks (S23) en door een voortgangssignaal in een naastvolgende stand van de reeks wordt gesteld; d. een vergelijkelement (S3) om onder besturing van een stand van het cyclusbijhoudelement telkens het eigen prio- 30 riteitsgetal geheel te vergelijken met het middels genoemde logische funktie op genoemde arbitragebus gevormde prio-riteitsgetal, en bij gelijkheid een "winnaar"-signaal (S5) te vormen; e. om onder besturing van een stand "p" van genoemde reeks 35 van standen van het cyclusbijhoudelement telkens de in sig- nifikantieniveau p-de bit (p = 1, 2....) van boven van het eigen prioriteitsgetal te vergelijken met de overeenkomstige 800 2 3 44 PHN 9730 22 op de arbitragebus gevormde bit, en onder afwezigheid van genoemd "winnaar"-signaal bij gelijkheid genoemd "voort-gangs"signaal te vormen (S4), doch bij ongelijkheid zijn genoemde eerste middelen te desaktiveren (SI); 5 f. een tweede detektor om enig in genoemd rekenmachinesys-teem door een andere processor gegenereerd ,,winnaar,,-signaal (B=Ö) te detekteren en alsdan zijn genoemde eerste middelen te desaktiveren; 9. derde middelen (117, 119) om onder besturing van zijn 10 eigen "winnaar" signaal het gewenste datatransport te realiseren en aan het einde daarvan genoemd startsignaal te eerste . vormen, ter toevoering aan alle/processoren van het reken-machinesysteem.Calculator system, comprising a number of first processors (120/121, 122/123) which are interconnected by: a. A data bus (124) to each time transport a multi-bit data word in parallel between a first processor and at least one further design of the calculator system; b. a control bus (126, 128, 130, 132, 134) containing a number of parallel-connected control lines; wherein each processor is provided with first means (57) for supplying its multi-bit priority number to a multi-bit arbitration bus interconnecting the processors before realizing a desired data transport, and the arbitration bus is provided with second means for in the case of a plurality of priority numbers received together, by means of forming a logical function per significance level of the bits thereof, determining the highest priority number therefrom and supplying a permission signal to the associated processor, excluding further processors characterized in that each processor includes 20; c. detection means (SI) for a start signal to then supply its priority number to the arbitration bus for a data transport desired by that processor, and a cycle tracking element (Fig. 9f) with a series of a number of positions, which is by said start signal in the first position of said series (S23) and by a progress signal in a next position of the series; d. a comparison element (S3), in each case under control of a position of the cycle tracking element, in each case comparing its own priority number with the priority number formed by means of said logic function on said arbitration bus, and, in case of equality, a "winner" signal (S5) to shape; e. in order to control, in control of a position "p" of said series 35 of positions of the cycle tracking element, the bit (p = 1, 2 ....) from the top of the own priority number with the corresponding priority number in the significance level p 800 2 3 44 PHN 9730 22 bit formed on the arbitration bus, and in the absence of said "winner" signal equally to form said "progress" signal (S4), but in case of inequality said first means can be deactivated (SI) ; 5 f. a second detector to detect any "winner" signal (B = 0) generated in said calculator system by another processor and then deactivate said first means; 9. third means (117, 119) for realizing the desired data transport under the control of its own "winner" signal and, at the end thereof, for starting said signal first. forms, for feeding to all / processors of the calculator system. 2. Rekenmachinesysteem volgens conclusie 1, met het 15 kenmerk, dat vanaf genoemd startsignaal totaan genoemd "winnaar"-signaal de data-bus werkt als arbitrage-bus.Calculator system according to claim 1, characterized in that from said starting signal up to said "winner" signal the data bus functions as an arbitration bus. 3. Rekenmachinesysteem volgens conclusie 1 of 2, met het kenmerk dat voor een prioriteitsgetal van n bits (pl ......pn), waarin pl het meest signifikant is, de prio- 20 riteitsgetallen zijn gekozen uit de verzameling: (pl.......pi, pi+1........pj, pj+1.......pn), met i ^ 0, j ^ 1+1 > j^n waarin de bits (pl.....pi) een willekeurige waarde kunnen hebben, de bits (pi+1.....pj) alle de laagste bitwaarde en 25 de bits (pj01 .......pn) alle de hoogste bitwaarde bezitten, waarbij i voor alle processoren eenzelfde waarde en j een kiesbare waarde bezit, waardoor de verzameling ten hoogste een aantal 9=21 . (n + 1 - i) 30 te gebruiken elementen bevat, en dat het aantal standen van genoemde reeks tenminste gelijk is aan (i+1). 35 800 2 3 44Calculator system according to claim 1 or 2, characterized in that for a priority number of n bits (pl ...... pn), in which pl is the most significant, the priority numbers are chosen from the set: (pl ....... pi, pi + 1 ........ pj, pj + 1 ....... pn), with i ^ 0, j ^ 1 + 1> y ^ n where the bits (pl ..... pi) can have an arbitrary value, the bits (pi + 1 ..... pj) all have the lowest bit value and 25 the bits (pj01 ....... pn) all have the highest bit value, where i has the same value for all processors and j has a selectable value, so that the set has at most a number of 9 = 21. (n + 1 - i) contains 30 elements to be used, and that the number of positions of said series is at least equal to (i + 1). 35 800 2 3 44
NL8002344A 1980-04-23 1980-04-23 MULTIPROCESSOR SYSTEM WITH COMMON DATA / ADDRESS BUS. NL8002344A (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
NL8002344A NL8002344A (en) 1980-04-23 1980-04-23 MULTIPROCESSOR SYSTEM WITH COMMON DATA / ADDRESS BUS.
GB8110981A GB2074764A (en) 1980-04-23 1981-04-08 Multiprocessor computer system
DE19813115454 DE3115454A1 (en) 1980-04-23 1981-04-16 MULTI-PROCESSOR SYSTEM WITH COMMON DATA / ADDRESS BUS
FR8107899A FR2481488A1 (en) 1980-04-23 1981-04-21 MULTIPROCESSOR SYSTEM EQUIPPED WITH A COMMON DATA BUS / ADDRESS
JP6072381A JPS56166572A (en) 1980-04-23 1981-04-23 Computer system composed of plural processors connected to multibit data buses

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL8002344 1980-04-23
NL8002344A NL8002344A (en) 1980-04-23 1980-04-23 MULTIPROCESSOR SYSTEM WITH COMMON DATA / ADDRESS BUS.

Publications (1)

Publication Number Publication Date
NL8002344A true NL8002344A (en) 1981-11-16

Family

ID=19835184

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8002344A NL8002344A (en) 1980-04-23 1980-04-23 MULTIPROCESSOR SYSTEM WITH COMMON DATA / ADDRESS BUS.

Country Status (5)

Country Link
JP (1) JPS56166572A (en)
DE (1) DE3115454A1 (en)
FR (1) FR2481488A1 (en)
GB (1) GB2074764A (en)
NL (1) NL8002344A (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8005458A (en) * 1980-10-02 1982-05-03 Philips Nv COMMUNICATION SYSTEM AND STATION SUITABLE FOR THIS.
US4451881A (en) * 1981-11-03 1984-05-29 International Business Machines Corp. Data processing system bus for multiple independent users
FR2519165B1 (en) * 1981-12-30 1987-01-16 Finger Ulrich METHOD FOR EXCHANGING DATA BETWEEN PROCESSING MODULES AND A COMMON MEMORY IN A DATA PROCESSING SYSTEM AND DEVICE FOR CARRYING OUT SAID METHOD
GB2125257B (en) * 1982-08-04 1986-03-26 Plessey Co Plc Improved local area network systems
GB2143349B (en) * 1983-06-16 1987-12-02 Secr Defence 'priority resolution in bus orientated computer system'
GB8316463D0 (en) * 1983-06-16 1983-07-20 Secr Defence Priority resolution in bus oriented computer systems
US4791562A (en) 1985-12-02 1988-12-13 Unisys Corporation Data processing system in which modules logically "OR" number sequences onto control lines to obtain the use of a time shared bus
JPH0697450B2 (en) * 1987-10-30 1994-11-30 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン Computer system
EP0349905B1 (en) * 1988-07-07 1994-08-24 Siemens Aktiengesellschaft Priority selection device
GB2230166A (en) * 1989-03-31 1990-10-10 Daniel Matthew Taub Resource control allocation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3710351A (en) * 1971-10-12 1973-01-09 Hitachi Ltd Data transmitting apparatus in information exchange system using common bus
JPS534761B2 (en) * 1971-12-10 1978-02-21
DE2210426C2 (en) * 1972-03-03 1973-11-08 Nixdorf Computer Ag, 4790 Paderborn Method for the priority-controlled selection of one of several functional units for connection to a device jointly assigned to them in data processing systems and circuit for carrying out the method
GB1480208A (en) * 1974-07-03 1977-07-20 Data Loop Ltd Digital computers

Also Published As

Publication number Publication date
DE3115454A1 (en) 1982-04-08
JPS56166572A (en) 1981-12-21
GB2074764A (en) 1981-11-04
FR2481488A1 (en) 1981-10-30

Similar Documents

Publication Publication Date Title
US4920486A (en) Distributed arbitration apparatus and method for shared bus
US4385350A (en) Multiprocessor system having distributed priority resolution circuitry
US4320467A (en) Method and apparatus of bus arbitration using comparison of composite signals with device signals to determine device priority
US5179669A (en) Multiprocessor interconnection and access arbitration arrangement
TW486631B (en) Eliminate adjacent address collisions on a pipelined response bus
US4468738A (en) Bus access arbitration using unitary arithmetic resolution logic and unique logical addresses of competing processors
EP0848332A1 (en) Unit for arbitration of access to a bus of a multiprocessor system with retry ability
NL8002344A (en) MULTIPROCESSOR SYSTEM WITH COMMON DATA / ADDRESS BUS.
JPS60143047A (en) Parallel bus request decision type multimaster communicationbus system
US7512729B2 (en) Method and apparatus for a high efficiency two-stage rotating priority arbiter with predictable arbitration latency
NL8104358A (en) METHOD AND APPARATUS FOR CONTROLLING A SWITCH NETWORK.
US8667199B2 (en) Data processing apparatus and method for performing multi-cycle arbitration
US5038274A (en) Interrupt servicing and command acknowledgement system using distributed arbitration apparatus and shared bus
JP2001216279A (en) Method of interfacing, synchronizing and arbitrating plural processors using time division multiplex memory for real time system
JP2007122410A (en) Bus arbitration circuit and method
US3999170A (en) Multiple access interconnect system
EP0130471A2 (en) Interface controller for connecting multiple asynchronous buses and data processing system including such controller
US20210149833A1 (en) Apparatus and method for handling ordered transactions
EP0226053A1 (en) Bus arbitration controller
JPH0528856B2 (en)
JPH0560625B2 (en)
JPS593774B2 (en) Conflict handling method
JP2828994B2 (en) Data transmission equipment
JPH0650511B2 (en) Memory control method
JPH0290382A (en) Semiconductor integrated circuit

Legal Events

Date Code Title Description
A1B A search report has been drawn up
BV The patent application has lapsed