NL8002344A - Multiprocessor systeem met gemeenschappelijke data/adres-bus. - Google Patents

Multiprocessor systeem met gemeenschappelijke data/adres-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
English (en)
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/nl
Priority to GB8110981A priority patent/GB2074764A/en
Priority to DE19813115454 priority patent/DE3115454A1/de
Priority to FR8107899A priority patent/FR2481488A1/fr
Priority to JP6072381A priority patent/JPS56166572A/ja
Publication of NL8002344A publication Critical patent/NL8002344A/nl

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)

Description

r I > PHN 9730 1 N.V. PHILIPS» GLOEILAMPENFABRIEKEN TE EINDHOVEN. "Multiprocessor systeem met gemeenschappelijke data/adres-bus".
ACHTERGROND VAN DE UITVINDING.
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.
800 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.
SAMENVATTING VAN DE UITVINDING.
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.
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.
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 44
* 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.
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.
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.
Fig. 1 geeft de opvolgende fasen van een infor-matie-uitwisseling; 800 2 3 44 < * PHN 9730 5
Fig. 2 geeft een inrichting volgens de bekende techniek;
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. 5 geeft het aantal mogelijke prioriteitsgetallen in verschillende situaties;
Fig. 6 geeft de aansluiting der processoren aan 10 arbitrage- en besturingsbus;
Fig. 7 geeft een stroomdiagram van een elementair gedeelte van de arbitrage;
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. 10a-10f geven zes toestandsdiagrammen betreffende de verschillende processoren.
DE OMGEVING VAN DE UITVINDING.
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.
10 DE BEKENDE INRICHTING
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.
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.
35 DE ARBITRAGE VOLGENS DE UITVINDING.
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 8
, 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".
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.
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).
In fase 2 wordt (kolom 72) in elke processor de meest signifikante bit van het prioriteitsgetal vergeleken
2Q
met de overeenkomstige op de arbitragebus gevormde bit.
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.
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).
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.
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.
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.
800 2 3 44 PHN 9730 10 DE KEUZE DER PRIORITEITSGETALLEN.
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.
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.
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.
10 De vierde kolom geeft alle mogelijke prioriteits getallen waarbij uiterlijk in fase 7 de beslissing valt.
Dit zijn alle 16 mogelijkheden.
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.
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.
BESCHRIJVING VAN EEN VOORKEURSUITVOERING.
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.
Op zichzelf is een dergelijke driedraads-synchronisatie ondermeer beschreven in de oudere Nederlandse Octrooiaan-10 vrage 7901156 (PHN 9351) van dezelfde aanvrager.
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.
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).
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.
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- .
/.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.
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.
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.
Na het voorgaande geven figs. 9a-9f zes tijds-diagrammen betreffende signalen in een arbitrage-operatie.
30 Figs. 10a-10f geven zes toestandsdiagrammen betreffende de verschillende processoren die deelnemen aan zo een arbitrage-operatie.
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.
10 10c (zie hierna).
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.
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".
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.
800 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.
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).
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.
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.
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.
Fig. 9d, 9e geeft het einde van de arbitrage in 15 respektievelijk een oneven en een even beslissingsslag.
v
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.
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.
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,
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.
25 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.
2. Rekenmachinesysteem volgens conclusie 1, met het 15 kenmerk, dat vanaf genoemd startsignaal totaan genoemd "winnaar"-signaal de data-bus werkt als arbitrage-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 44
NL8002344A 1980-04-23 1980-04-23 Multiprocessor systeem met gemeenschappelijke data/adres-bus. NL8002344A (nl)

Priority Applications (5)

Application Number Priority Date Filing Date Title
NL8002344A NL8002344A (nl) 1980-04-23 1980-04-23 Multiprocessor systeem met gemeenschappelijke data/adres-bus.
GB8110981A GB2074764A (en) 1980-04-23 1981-04-08 Multiprocessor computer system
DE19813115454 DE3115454A1 (de) 1980-04-23 1981-04-16 Mehrprozessorsystem mit gemeinsamem daten/adressbus
FR8107899A FR2481488A1 (fr) 1980-04-23 1981-04-21 Systeme de multiprocesseur equipe d'un bus de donnees/adresses commun
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 (nl) 1980-04-23 1980-04-23 Multiprocessor systeem met gemeenschappelijke data/adres-bus.

Publications (1)

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

Family

ID=19835184

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8002344A NL8002344A (nl) 1980-04-23 1980-04-23 Multiprocessor systeem met gemeenschappelijke data/adres-bus.

Country Status (5)

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

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8005458A (nl) * 1980-10-02 1982-05-03 Philips Nv Kommunikatiesysteem en station geschikt hiervoor.
US4451881A (en) * 1981-11-03 1984-05-29 International Business Machines Corp. Data processing system bus for multiple independent users
FR2519165B1 (fr) * 1981-12-30 1987-01-16 Finger Ulrich Procede d'echange de donnees entre des modules de traitement et une memoire commune dans un systeme de traitement de donnees et dispositif pour la mise en oeuvre de ce procede
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 (ja) * 1987-10-30 1994-11-30 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン コンピユータ・システム
EP0349905B1 (de) * 1988-07-07 1994-08-24 Siemens Aktiengesellschaft Schaltungsanordnung zur Prioritätsauswahl
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 (nl) * 1971-12-10 1978-02-21
DE2210426C2 (de) * 1972-03-03 1973-11-08 Nixdorf Computer Ag, 4790 Paderborn Verfahren zur vorranggesteuerten Auswahl einer von mehreren Funktions einheiten zur Anschaltung an eine ihnen gemeinsam zugeordnete Einrichtung in Datenverarbeitungsanlagen und Schaltung zur Durchführung des Verfahrens
GB1480208A (en) * 1974-07-03 1977-07-20 Data Loop Ltd Digital computers

Also Published As

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

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
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 (nl) Multiprocessor systeem met gemeenschappelijke data/adres-bus.
US20060271724A1 (en) Memory bus arbitration using memory bank readiness
PL167608B1 (pl) Sposób i urzadzenie do zarzadzania przesylaniem danych miedzy pamieciaa urzadzeniami zewnetrznymi PL PL
EP0892352B1 (en) Computer system with a bus having a segmented structure
JPS60143047A (ja) 並列バス要求裁定式のマルチマスタ−通信バスシステム
US7512729B2 (en) Method and apparatus for a high efficiency two-stage rotating priority arbiter with predictable arbitration latency
CA2114374C (en) Bus coupling information processing system for multiple access to system bus
NL8104358A (nl) Werkwijze en inrichting voor het besturen van een schakelnetwerk.
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 (ja) リアルタイム・システム用時分割多重メモリーを用いた、複数のプロセッサーのインターフェース及び、同期化及びアービトレーション方法
JP2007122410A (ja) バス調停回路及びバス調停方法
JPH09501249A (ja) 高速/低オーバーヘッド・バス調停機構およびシステム・バスの調停方法
US3999170A (en) Multiple access interconnect system
US5241629A (en) Method and apparatus for a high performance round robin distributed bus priority network
US5446847A (en) Programmable system bus priority network
US20210149833A1 (en) Apparatus and method for handling ordered transactions
EP0226053A1 (en) Bus arbitration controller
JPH0560625B2 (nl)

Legal Events

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