DE3928481C2 - Prioritätsorientiertes dezentrales Busvergabesystem - Google Patents
Prioritätsorientiertes dezentrales BusvergabesystemInfo
- Publication number
- DE3928481C2 DE3928481C2 DE19893928481 DE3928481A DE3928481C2 DE 3928481 C2 DE3928481 C2 DE 3928481C2 DE 19893928481 DE19893928481 DE 19893928481 DE 3928481 A DE3928481 A DE 3928481A DE 3928481 C2 DE3928481 C2 DE 3928481C2
- Authority
- DE
- Germany
- Prior art keywords
- bus
- priority
- information
- data bus
- data
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
Die Erfindung betrifft ein Busvergabesystem gemäß dem
Oberbegriff des Anspruches 1.
Ein gattungsgemäßes System ist aus dem IBM Tech. Dis.
Bul. Vol. 16, No. 3, Aug. 1973, S. 874 bis 876 bekannt.
Ein Busvergabesystem gattungsgemäßer Art ist bekannt
aus dem Beitrag von G. Färber "Ein dezentralisierter
fairer Bus-Arbiter" in ELEKTRONIK 1980, Heft 8, Seiten
60 bis 68, dort insbesondere Abschnitt 1 "Zuteilungs-
Verfahren". Die Funktionsprobleme bei der Realisierung
eines fairen Bus-Arbiters" sind auch dargestellt in dem
Aufsatz von G. Angel´ "Algorithmus und Implementierung
eines dezentralen, fairen und fehlertoleranten Busarbiters
in ELEKTONIK Nr. 9, 1981, Seiten 79 bis 84. Um
bei hohem Nachrichtenaufkommen auf der Empfangsleitung
eines digitalen lokalen Kommunikationssystemes mit der
logischen Struktur einer Schleife Nachrichten hoher
Priorität sofort senden zu können und im übrigen die
Nachrichtenpakete weitgehend nach Priorität geordnet
durchlaufen zu lassen, ist es aus der DE 34 13 144 A1
bekannt, jedem Nachrichtenpaket zusätzlich zum Prioritätskennzeichen
ein Anforderungskennzeichen zuzuordnen.
In ankommenden Nachrichtenpaketen gleicher Priorität
wird von der Sendung beanspruchenden Station das Anforderungsbit
des fremden Nachrichtenpakets auf "1" gesetzt.
Damit sollen die sonst zu langen Signallaufzeiten
bei großer Netzausdehnung beherrscht werden.
Andererseits wird nach der EP 0 154 725 A2 eine
Prioritätsermittlung durch Abgabe eines Auswahl-Startsignales
in sendebereiten Datenverarbeitungseinheiten,
die auf eine Mehrleiteranordnung zugreifen wollen, veranlaßt,
um dadurch in jeder empfangsbereiten
Datenverarbeitungseinheit die Abgabe einer Empfangskennung
auszulösen. Dadurch wird eine Prioritätszuordnung
auf den Datenverkehr zwischen zwei unmittelbar einander
zugeordneten Einheiten reduziert.
Nachteilig bei den bekannten Verfahren der Buszugangs-
Vergabe ist insbesondere, daß diese relativ unflexibel
sind, weil sie im wesentlichen auf Prioritäten-Vorgaben
für die einzelnen auf den Bus zugreifenden peripheren
Teilnehmer basieren. Eine wirkliche Flexibilität ist
auch dadurch nicht erreichbar, daß die den einzelnen
Teilnehmern zugeordneten Prioritäten beispielsweise
nach Maßgabe eines angestrebten aber tatsächlich dann
noch nicht zustande gekommenen Bus-Zuganges variabel
sein können, um einen ursprünglich mit niederer Priorität
angesetzten Teilnehmer nicht praktisch völlig vom
Bus-Zugang auszuschließen. Die herkömmlichen Arbitrierungs-Systeme
sind darüber hinaus für die Belange der
Praxis insofern oft nachteilig, als sie gewöhnlich eines
besonderen Arbitrator-Bausteines zur Abfrage der
einzelnen peripheren Teilnehmer bedürfen, der dann auch
die Buszugangs-Steuerung übernimmt. Der Einsatz besonderer
Schaltungseinheiten für die Durchführung übergeordneter
und nebengeordneter Aufgaben bedingt aber
großen Platzbedarf auf einer Schaltungsplatine nicht
nur für diesen zusätzlichen Schaltungsaufwand, sondern
auch für zahlreiche zusätzliche Steuerleitungen neben dem eigent
lichen Datenbus des Bus-Systemes.
Das wirkt sich besonders dann nachteilig aus, wenn zur Realisierung
eines kompakten, leistungsfähigen Mirkrorechner-Konzeptes Teilneh
mer unterschiedlichster Art - wie insbesondere Signalprozessoren,
spezielle Hardwareschaltungen und/oder analoge und digitale Ein
gabegeräte (etwa Sensoren) und Ausgabegeräte (etwa Steuerschaltun
gen) - bei hohem Datendurchsatz mittels Datenblock-Transfers zusam
menwirken müssen.
In Erkenntnis dieser Gegebenheiten liegt der Erfindung die Aufgabe
zugrunde, ein Busvergabesystem gattungsgemäßer Art derart auszubil
den, daß trotz aufgabenabhängig-variabler Buszugriffs-Priorität
der einzelnen System-Teilnehmer bei relativ schmalem System-Bus,
also mit möglichst wenigen Kontrolleitungen parallel zum eigentli
chen Datenbus, eine rasche und eindeutige Arbitrierung
für die Buszuteilung re
alisiert werden kann.
Diese Aufgabe ist erfindungsgemäß im wesentlichen dadurch gelöst,
daß der System-Bus und seine Teilnehmer gemäß dem Kennzeichnungsteil
des Anspruches 1 ausgelegt sind.
Nach dieser Lösung steht der Datenbus, so lange keine Informations
übertragung erfolgt, allen Teilnehmern gleichzeitig zur parallelen
Übermittlung ihrer momentanen Buszugriffs-Prioritäten (wenn über
haupt ein Buszugang momentan erwünscht wird) zur Verfügung. Jeder
Teilnehmer liefert nicht nur (über wenigstens eine ihm fest zuge
ordnete Leitung des Datenbusses) an alle anderen - den gesamten Da
tenbus abfragenden - Teilnehmer seine eigene, momentane Prioritäts
nachricht; jeder Teilnehmer vergleicht darüber hinaus seine eigene
momentane Priorität mit allen anderen Teilnehmer-Prioritäten, so
daß jeder Teilnehmer für sich feststellen kann, ob seine Zugriffs
priorität im System-Bus momentan die höchste ist oder aber nicht.
Wenn das nicht der Fall ist, wird der nächste Arbitrierungszyklus
abgewartet, der sich an die momentan einzuleitende Informations
übertragung unmittelbar anschließt. Wenn jedoch ein Teilnehmer fest
stellt, daß er die höchste Priorität hat, belegt er damit für sich
den Buszugang, womit die Arbitrierung zunächst beendet und allen
anderen Teilnehmern der Bus-Zugang verwehrt wird. Sollten mehrere
Teilnehmer im momentanen Arbitrierungszyklus gleiche informations
abhängige (Software-) Priorität aufweisen, dann gewinnt derjenige
Teilnehmer den Bus-Zugang, der außerdem die höchste Hardwareprio
rität aufweist. Jede Hardwarepriorität ist schaltungstechnisch (bei
spielsweise über manuell setzbare Schalter) fest vorgegeben, und
zwar so, daß sie innerhalb des Systemes nur einmal vorkommt. Dadurch
ist auch bei gleichen Softwareprioritäten nur einem Teilnehmer tat
sächlich der Bus-Zugriff ermöglicht. Die Leitungen des Datenbus
werden von diesem nun für die Dauer der sich anschließenden Informa
tionsübertragung für Prioritätsinformation gesperrt. Die Informations
übertragung beginnt mit einer Steuerinformation, in der Angaben
über die anzusprechenden anderen Teilnehmer enthalten sind, sowie
Angaben über die dort zu erfolgende Verarbeitung und die Länge der
daraufhin übermittelten Datenblöcke. Mit Ausgabe aller anstehenden
Informations-Datenblöcke auf den Datenbus schaltet der Teilnehmer,
der den Buszugriff gewonnen hat, den Datenbus wieder zur gleichzei
tigen Aufnahme aktuellen Prioritätsnachrichten aller an dem System-Bus
angeschlossenen Teilnehmer frei, und es beginnt der nächstfolgende
Arbitrierungszyklus, also die Ausgabe der Prioritätsnachrichten
aller Teilnehmer auf die ihnen zugeordneten Leitungen des Datenbus
und der Vergleich aller Prioritätsnachrichten mit der eigenen an
stehenden Priorität in jedem der angeschlossenen Teilnehmer. Falls
momentan jeder Teilnehmer eine Prioritätsnachricht des Inhalts "kein
Buszugang erforderlich" ausgibt, schließt sich unmittelbar ein neuer
solcher Arbitrierungszyklus an, so daß praktisch keine Fehlzeiten
auftreten: Sobald nur ein Teilnehmer den Buszugang benötigt, erhält
er ihn - wenn mehrere Teilnehmer gleichzeitig den Buszugang wünschen,
schalten alle diejenigen sich selbst sogleich wieder ab, die fest
stellen, daß sie momentan nicht höchste Buszugriffs-Priorität haben.
Ein solches System ist ersichtlich außerordentlich sparsam hinsicht
lich des Aufwandes an Leitungen im System-Bus und hinsichtlich der
erforderlichen Arbitrierungszeiten. Insbesondere wird keine über
geordnete Steuerschaltung für die Arbitrierung und Buszuweisung
benötigt. Das System ist auch sehr flexibel erweiterbar, da die
Anzahl der anschließbaren Teilnehmer nur dadurch begrenzt ist, wie
viele Datenbus-Leitungen in Zuordnung zu dem jeweiligen Teilnehmer
verfügbar und, je nach dem Informationsumfang der Prioritätsnachricht,
für die Prioritätsverschlüsselung benötigt werden. Das System ist
in seiner Wirkungsweise auch unabhängig vom Charakter der Teilnehmer
(Prozessoren oder nicht-intelligente Schaltungen), und es erlaubt
eine Busanforderung unabhängig davon, ob eine Information in den
Bus eingespeist oder aus dem Bus abgerufen werden soll und unabhän
gig davon, mit wievielen anderen Teilnehmern derjenige, der den
Bus-Zugriff wünscht, für die Verteilung oder Einsammlung seiner
Informationen gleichzeitig kommunizieren möchte. Trotz dieser viel
fältigen Funktionsmöglichkeiten wird nur ein Minimum an Steuerlei
tungen neben dem eigentlichen Datenbus benötigt, da dieser nachein
ander für die Arbitrierung und für die Informationsübermittlung
herangezogen wird.
Um die Arbitrierungszeit weiter zu verkürzen, erfolgt ein Datenaus
tausch zweckmäßigerweise stets unter Zwischenspeicherung in schnel
len Speichern (RAMs) in den einzelnen Teilnehmern, wenn ein Teil
nehmer nicht selbst bereits als schnelle Hardwareschaltung ausge
legt ist. Dadurch ist der Informationsaustausch nicht davon abhän
gig, wie schnell die Aufnahme bzw. Abgabe von Prozessor-Informatio
nen ist; während der periphere Prozessor die aus dem System-Bus
in den Zwischenspeicher übernommene Information einliest, kann be
reits der nächste Arbitrierungszyklus über den Datenbus ablaufen.
Dieses leistungsfähige Buszuteilungsverfahren zeichnet sich also
auch durch hohe Ablaufgeschwindigkeit aus. Es benötigt grundsätzlich
nur zwei Taktzyklen des Bus-Systemes: Im ersten Takt gibt jeder
Teilnehmer seine aktuelle Prioritätsnachricht über den Datenbus
an alle anderen Teilnehmer, und im zweiten Takt erkennt jeder Teil
nehmer für sich selbst, daß er die Arbitration nicht gewonnen hat
- anderenfalls er alle anderen Teilnehmer vom Bus-Zugriff aus
schließt -, um seine anstehende Information an die zugeordneten
Teilnehmer zu übermitteln.
Zusätzliche Alternativen und Weiterbildungen sowie weitere Merk
male und Vorteile der Erfindung ergeben sich aus den weiteren Ansprü
chen und
aus nachstehender Beschreibung eines in der Zeichnung unter
Beschränkung auf das Wesentliche stark abstrahiert skizzierten be
vorzugten Realisierungsbeispiels zur erfindungsgemäßem Lösung. Es
zeigt
Fig. 1 nach Art eines zweipoligen Blockschaltbildes den System-Bus
für die prioritätsgestaffelte Datenkommunikation zwischen
unterschiedlichen, an den Bus angeschlossenen Teilnehmern
und
Fig. 2 ein Zeitdiagramm für den Ablauf der Prioritäts-Zuordnung
in dem Bus-System gem. Fig. 1.
Der zeichnerisch skizzierte System-Bus 101 führt im wesentlichen
einen Datenbus D von b Bit Breite zur Blockübertragung von binär
codierten Informationen I, insbesondere von Datenblöcken IB. Zur
Kennzeichnung einer übertragenen Information I als Datenblock IB
führt der System-Bus 101 zusätzlich eine Strobe-Leitung, deren Po
tential während einer Daten-Übertragung seinen normalen Zustand
ändert, wie unten näher beschrieben. Das momentane Potential auf
einer Busy-Leitung Y gibt an, ob über den Daten-Bus D gerade In
formationen I übertragen werden oder aber ob der Daten-Bus D frei
ist für den Austausch für Prioritätsnachrichten P zwischen den an
den System-Bus 101 angeschlossenen Teilnehmern N, die als Sender
bzw. als Empfänger von Datenblöcken IB in Betracht kommen können.
Die Synchronsteuerung für das Zusammenwirken der Teilnehmer N erfolgt
über eine Clock- oder Takt-Leitung T.
Je nach den Funktionen der Teilnehmer N, insbesondere nach deren
Bedeutung für die Funktion eines Systems, haben die auszutauschen
den (abzugebenden und aufzunehmenden) Informationen I unterschied
liche Prioritätswerte Pd. So hat eine Information I einen höheren
Prioritätswert Pd, wenn sie essentiell ist für die Aufrechterhaltung
der System-Funktion, verglichen mit einer Information I, die nur
einem Überwachungs- oder Benachrichtigungszweck dient, ohne unmittel
bar in den weiteren Ablauf der Systemfunktion einzugreifen. Wenn
unterschiedliche Bus-Teilnehmer N gleichzeitig im Verkehr mit anderen
Teilnehmern N Informationen I über den Datenbus D übermitteln (abgeben
oder aufnehmen) wollen, bekommt zunächst derjenige Teilnehmer N
den Bus-Zugriff, dessen Informationsbedarf im Vergleich mit den
anderen anstehenden Zugriffswünschen den höchsten Prioritätswert
Pd aufweist. Um das beurteilen zu können, erfolgt vor der Übertragung
von Informationen I über den Datenbus D ein Austausch der jeweiligen
Prioritätswerte Pd zwischen den Teilnehmern N. Hierfür sind jedem
der Teilnehmer N eine Anzahl von a Leitungen aus den b Leitungen
des Datenbus D fest zugeordnet, nämlich jedem der Teilnehmer N andere
Leitungen a. Wenn die Anzahl n von Teilnehmern N so über den Datenbus
D der Leitungsanzahl b versorgt wird, wenn also den n Teilnehmern
N jeweils a Prioritätsleitungen aus dem Datenbus D zugeordnet werden,
dann gilt die Grenze
a×n b.
In Fig. 1 ist ein optimales Ausnutzungsbeispiel eingetragen, nämlich
für eine Daten-Bus-Breite von b=32; bei n=16 Teilnehmern N kön
nen jedem a=2 Leitungen für den Austausch der Prioritätsnachrichten
P zur Verfügung gestellt werden (2×16=32).
Da jede der beiden Leitungen a eine 1-Bit-Information führen kann
und die Prioritätsnachricht P infolge der Zuordnung von a=2 Lei
tungen eine Breite von 2 Bit aufweist, beträgt der Informationsum
fang der Prioritätsnachricht P vier unterschiedliche binär-codierte
Werte, von denen einer in einem Takt-Zyklus über den Datenbus D
an alle Teilnehmer N übermittelt werden kann. Wenn im darauffolgenden
Taktzyklus ein anderer Wert übermittelt wird, ergibt sich aus der
Wertfolge eine zweistellige Prioritätsinformation des Informations
umfanges von 4 Bit. Zweckmäßigerweise wird der niedrigste Wert
(0) als höchste Priorität definiert, weil dieser sich schaltungs
mäßig am leichtesten abfragen läßt; mit der Folge, daß derjenige
Teilnehmer N, der momentan gar keinen Buszugriff wünscht, als Priori
tätsnachricht P den höchsten Wert (15) ausgibt.
Jeder der Teilnehmer Nn verfügt in der Regel über eine Datenquelle
102 (beispielsweise einen Meßwandler und/oder einen Signalprozessor)
bzw. über eine Datensenke 103 (beispielsweise einen Signalprozessor
und/oder einen Digital-Analog-Wandler), die über eine Koppelschal
tung 104 mit dem Systembus 101 verbunden sind. Zur Reduzierung der
Bus-Belegzeiten kann in jedem Teilnehmer N ein schneller Zwischen
speicher (RAM) 105 vorgesehen sein, der die Information I aus dem
bzw. für den Datenbus D aufnimmt, wenn die Übertragung aus der Daten
quelle 102 bzw. in die Datensenke 103 zu langwierig würde (beispiels
weise weil es sich um einen Signalprozessor handelt). Der Zwischen
speicher 105 ist jedoch dann entbehrlich, wenn der Teilnehmer N
über einen schnellen Eingangsspeicher verfügt, wie etwa im Falle
des FIFO-Speichers eines Analog-Digital-Wandlers oder im Falle eines
Eingangsregisters vor einem Digital-Analog-Wandler; bzw. wenn eine
spezielle Schaltung realisiert ist, die raschen Zugriff zum unmittel
baren Datenaustausch ermöglicht.
Die wesentliche Funktion der Koppelschaltung 104 besteht darin,
je nach den momentanen Anforderungen den Zugriff zum Systembus 101
für die Aufnahme oder Abgabe von Informationen I zu realisieren.
Dafür ist jede Busanforderung zur Ausgabe oder zur Aufnahme von
Informationen I mit einer Prioritätsnachricht P verknüpft, die im
jeweiligen Teilnehmer N nach Maßgabe seines Einsatzes aktuell er
zeugt wird, beispielsweise im Zuge der Gewinnung und Verarbeitung
der Informationen I. Im gezeichneten Beispielsfalle ist die vom
Teilnehmer Ni abzugebende Information Ii verknüpft mit der zugeord
neten Prioritätsnachricht Pi, die in einem Prioritätsspeicher 106
(in zwei Folgen von zwei Bits d, d′ aufgetrennt) bereitgehalten wird.
Die eigentliche zu übermittelnde Information I wird in einem Infor
mationsregister 107 zwischengespeichert.
Wenn keiner der Teilnehmer N momentanen Buszugriff hat, wenn also
über den Datenbus D momentan weder Informationen I noch Prioritäts
nachrichten P übermittelt werden, dann führt die Open-Collector-Busy
leitung Y (im dargestellten Beispielsfalle, Fig. 2) High-Potential.
Dadurch ist in jedem der an den Systembus 101 angeschlossenen Teil
nehmer N der Prioritätsspeicher 6 zur Abgabe der Prioritätsnachricht
P freigesteuert. Das erfolgt in zwei aufeinanderfolgenden Taktzyklen
durch die Bit-Folge d-d′, ausgegeben nacheinander auf die zugeordne
ten beiden Leitungen a des Datenbusses D. So gibt jeder Teilnehmer
N seine aktuelle Prioritätsnachricht P auf die ihm zugeordneten
Leitungen a des Datenbusses D, an den in jedem Teilnehmer N eine
Prioritäts-Abfrageschaltung 108 angeschlossen ist. Diese nimmt nach
einander die beiden Bits d, d′ der seriellen Prioritätsnachrichten
P aller Teilnehmer N, die gleichzeitig über die zugeordneten Lei
tungspaare a einkommen, auf, und sie fragt ab, ob die so wieder
zusammengesetzte Prioritätsnachricht Pi des eigenen Teilnehmers
Ni einen höheren Dringlichkeitsgrad aufweist, als die Prioritäts
nachrichten P der anderen Teilnehmer N. Falls das nicht der Fall
ist, falls also über die anderen Leitungspaare a eine höhere Prio
ritätsnachricht P eingeht, als selbst (Pi) zur Verfügung gestellt
wird, sperrt die Abfrageschaltung 108i über eine Torschaltung 109
eine Wiederholung der Ausgabe der Prioritätsnachricht Pi aus dem
Prioritätsspeicher 106; denn offensichtlich hat ein anderer Teilneh
mer N eine Busanforderung zur Abgabe oder Aufnahme von Informatio
nen I mit höherem Dringlichkeitsgrad anstehen.
Wenn ein Teilnehmer Ni zwar eine Prioritätsnachricht Pi mit höchstem
momentan auf dem Datenbus D vorliegenden Dringlichkeitsgrad führt,
aber ein anderer der Teilnehmer N eine Prioritätsnachricht P gleichen
hohen Dringlichkeitsgrades ausgibt, dann entscheidet über den Bus
zugriff nicht mehr allein die mit der Information I gekoppelte Prio
ritätsnachricht P, sondern aus den nun gleichgewichtigen Anforde
rungen erhält derjenige Teilnehmer Ni den Zuschlag für den Buszu
griff, der die höchste schaltungstechnisch fest vorgegebene Geräte
priorität PKi aufweist. Die kann aus einem Kennungsgeber K geliefert
werden, bei dem es sich beispielsweise um einen manuell einstell
baren Codierschalter handelt. Es ist nur dafür zu sorgen, daß jede
Schaltstellung im System nur einmal vorkommt, daß also jeder Teil
nehmer Nn eine andere Kennung Kn erhält, gestaffelt nach Maßgabe
seiner Bedeutung im Rahmen der Gesamtfunktion des Systems.
Wenn so der betroffene Teilnehmer Ni herausgefunden hat, daß er
selbst die höchste Softwarepriorität (und gegebenenfalls darüber
hinaus auch noch die höchste Hardwarepriorität bei mehreren anste
henden gleichhohen Softwareprioritäten) aufweist, wird, ausgelöst
über die Abfrageschaltung 108, auf der Busy-Leitung Y das Potential
gewechselt, im Beispielsfalle der Fig. 1 symbolisiert durch Umsteu
erung einer Kippstufe 110. Dadurch wird in allen Teilnehmern N die
Ausgabe von Prioritätsnachrichten P gesperrt (in Fig. 1 veranschau
licht durch Ansteuerung der Torschaltung 109), so daß nunmehr der
Datenbus D für die Übertragung von Informationen I zur Verfügung
steht.
Als erste Information I wird ein Block von Steuerinformationen ICi
ausgegeben, indem eine Torschaltung 111 hinter einem Steuerspeicher
112 in dem Teilnehmer Ni, der den Bus-Zugriff soeben gewonnen hat,
freigeschaltet wird. Diese Steuerinformation beinhaltet vor allem,
mit welchem bzw. mit welchen weiteren Teilnehmer(n) Nn dieser Teil
nehmer Ni zum Datenaustausch (Abgabe oder Aufnahme von Datenblöcken
Ib) in Verbindung treten soll. In im Fig. 1 skizzierten Beispiels
falle sei das der weitere Teilnehmer Nn, der in der Zeichnung oben
nur unvollständig skizziert (tatsächlich ebenso wie der Teilnehmer
Ni ausgestattet) ist. Jener Kommunikationsteilnehmer Nn ist durch
seine Kennung Kn individualisiert. Außerdem enthält die beispielsweise
von der Datenquelle 102 generierte Steuerinformation IC beispiels
weise Angaben darüber, nach wievielen Takten die Übertragung des
eigentlichen Datenblockes IB einsetzen und wie lang dieser sein
wird, sowie Angaben über die empfangsmäßige Behandlung dieses Daten
blockes etwa hinsichtlich Zwischenspeicherung und/oder Weiterverar
beitung im empfangenden Teilnehmer Na.
Alle Teilnehmer n gehen also auf Empfang für die nun über den Daten
bus D übermittelte Ziel-Kennung Kn, wenn ein Gatter 113 freigesteuert
wird, weil das Potential auf der Busy-Leitung Y umgeschaltet wurde,
während auf der Strobe-Leitung S noch das bisherige Potential ansteht
(vgl. Fig. 2). Als erstes werden diejenigen Leitungen a des Daten
bus D ausgewertet, die (nun keine Prioritätsnachricht mehr, sondern)
die Ziel-Kennung Kn für den nachfolgenden Datenblock Ib führen.
Das können diesselben Leitungen a sein, die vorher die Prioritätsnach
richt P führen konnten, so lange die Busy-Leitung Y noch auf High
stand (vgl. Fig. 2). Ein Vergleicher 114 gibt in demjenigen, und
nur in demjenigen, Teilnehmer Nn ein Quittungssignal 115 aus, bei
dem die empfangene Anforderungs-Kennung mit der eigenen Kennung
Kn übereinstimmt. Durch Übermittlung mehrerer Anforderungskennungen
Kn′ können so mehrere Teilnehmer Nn′ gleichzeitig über eine Steuer
information Ic angesprochen werden.
Als Quittungssignal 115 dient zweckmäßigerweise die Rückmeldung
der Kennung Kn eines jeden der angesprochenen Teilnehmer Nn, so
daß über einen Vergleicher 116 abgeprüft werden kann, ob alle Teil
nehmer Nn erreicht wurden, die von der aktuellen Steuerinformation
ICi angesprochen werden sollten. Vorteilhaft ist es, wenn diese
angesprochenen Teilnehmer Nn am Ende des Quittungssignales 115 eine
definierte Signalfolge abgeben, beispielsweise über eine bestimmte
Anzahl von Taktzyklen High-Potential und dann Übergang auf Low-Poten
tial. Wenn auch diese Markierung vom Vergleicher 116 erfaßt ist,
steuert er über einen Umschalter 117 das bisher auf der Strobe-Lei
tung S anstehende Potential um (gemäß Fig. 2 von High auf Low),
und er schaltet gleichzeitig ein Ausgabegatter 118 für die nun über
den Datenbus D an die angesprochenen Teilnehmer Nn zu übermittelnden
Datenblöcke IBi. Diese Binärinformationen auf dem Datenbus D sind
also dadurch als Informations-Datenblöcke IB gekennzeichnet, daß
(wie im dargestellten Beispielsfalle) die Busy-Leitung Y noch auf
Low-Potential gezogen ist und nun zusätzlich die Strobe-Leitung S
auf Low-Potential gelegt ist. Am Ende der Datenblock-Übertragung
werden dann beide Potentiale wieder hochgesetzt, nämlich durch An
steuerung der Kippstufe 110 bzw. des Umschalters 117. Dabei kann
diese Ende-Information am Ende des letzten Datenblockes IB enthalten
sein; oder aber sie ist in den Datenblock-Steuerangaben IBc enthal
ten, beispielsweise in Form der Länge der auf die Steuerinformation
ICi folgenden Datenblöcke IBi.
In den empfangenden Teilnehmern Nn bewirkt die Abgabe des Anspra
che-Quittungssignales 115 die Vorbereitung einer Freigabeschaltung
119, die dann mit Umschalten des Potentiales auf das Strobe-Leitung
S ein Eingangsregister 120 zur Entgegennahme der daraufhin auf dem
Datenbus D anstehenden Datenblöcke IBi freigibt.
Wenn am Ende der Übertragung von Datenblöcken IB das Potential auf
der Busy-Leitung Y wieder auf High geschaltet wird, startet damit
der nächste der beschriebenen Arbitration-Abläufe zur Feststellung,
welcher Teilnehmer N eine Busanforderung mit höchstem Dringlichkeits
grad aufweist.
Claims (6)
1. Prioritätsorientiertes dezentrales Busvergabesystem für eine Anzahl
(n) von Teilnehmern (N) an einem Datenbus (D) für Übermittlung von
Prioritätsnachrichten (P) und Informationen (I), wobei Teilnehmern
(N) individuell wenigstens eine der Leitungen (a) des Datenbus (D)
zur Übermittlung von Prioritätsnachrichten (P) zugeordnet ist und die
Teilnehmer (N) mit einer Abfrageschaltung (108) zum Vergleich ihrer
aktuellen Prioritätsnachrichten (P) mit den gleichzeitig auf dem
Datenbus (D) anstehenden Prioritätsnachrichten (P) von anderen
Teilnehmern (N) ausgestattet sind, woraufhin der Teilnehmer (N),
dessen auf dem Datenbus (D) anstehende Prioritätsnachricht (P)
aktuell den höchsten Dringlichkeitsgrad aufweist, seine Information
(I) übermittelt und anschließend den Datenbus (D) wieder zur Aufnahme
aktueller Prioritätsnachrichten (P) freischaltet,
dadurch gekennzeichnet,
daß vor Übermittlung der Informationen (I) in aufeinanderfolgenden
Systemtaktzyklen zunächst alle sendewilligen Teilnehmer (N) ihre
Prioritätsnachricht (P), die bei Zusammentreffen mehrerer momentan gleicher
höchstwertiger informationsabhängiger Software-Prioritätsnachrichten
(Pd) um eindeutige teilnehmerspezifische Hardware-Prioritätskennungen
(Pk) ergänzt sind, einander gleichzeitig über den Datenbus
(D) übermitteln, woraufhin der Teilnehmer (N) mit aktuell
höchstem Dringlichkeitsgrad seiner Prioritätsnachricht (P) die Ausgabe
weiterer Prioritätsnachrichten (P) auf den Datenbus (D) sperrt
und seine Information (I) an, den adressierten Teilnehmern (N) zugeordnete,
schnelle Aufnahme-Speicher (105) überträgt, um anschließend
den Datenbus (D) wieder zur Aufnahme aktueller Prioritätsnachrichten
(P) aller gleichzeitig sendeinteressierten Teilnehmer
(N) freizuschalten.
2. Busvergabesystem nach Anspruch 1,
dadurch gekennzeichnet,
daß jeder Teilnehmer (N) auf die ihm zugeordnete Leitung bzw.
Leitungen (a) des Datenbus (D) in aufeinanderfolgenden Taktzy
klen des System-Busses (101) eine bitserielle Prioritätsnachricht
(Pd, Pd′) ausgibt.
3. Busvergabesystem nach einem der vorangehenden Ansprüche,
dadurch gekennzeichnet,
daß nach Abschluß der Abitrierung über den Datenbus (D) Informa
tionen (I) übermittelt werden, die zunächst Blocksteuerinforma
tionen (IC) und anschließend die eigentlichen Datenblöcke (IB)
beinhalten.
4. Busvergabesystem nach einem der vorangehenden Ansprüche,
dadurch gekennzeichnet,
daß derjenige Teilnehmer (N), der aufgrund momentan höchster
Priorität (P) den Zugang zum System-Bus (101) gewinnt, eine pa
rallel zum Datenbus (D) vorhandene Busy-Leitung (Y) bis zum Ab
schluß der Blockübermittlung von Informationen (I) über den Daten
bus (D) umschaltet und dann wieder für die leitungsmäßige Zuord
nung des Datenbus (D) zu den einzelnen Teilnehmern (N) für den
nächsten Arbitrierungszyklus freigibt.
5. Busvergabesystem nach einem der vorangehenden Ansprüche,
dadurch gekennzeichnet,
daß der System-Bus (101) zusätzlich zum Datenbus (D) eine Strobe-
Leitung (S) führt, die derjenige Teilnehmer (N), der aufgrund
momentan höchster Priorität (P) den Buszugang gewonnen hat, zur
Kennzeichnung der momentanen Übermittlung von eigentlichen
Informations-Datenblöcken (IB) umschaltet, wenn eine vorangehen
de Übermittlung von Blocksteuerinformationen (IC) über den Daten
bus (D) beendet ist und so lange die Übermittlung von Informations-
Datenblöcken (IB) noch nicht beendet ist.
6. Busvergabesystem nach einem der vorangehenden Ansprüche,
dadurch gekennzeichnet,
daß jeder Teilnehmer (N) mit einem Quittungsgeber (121) ausge
stattet ist, der auf die ihm für die Arbitrierung zugeordnete
Leitung(en)(a) des Datenbus (D) ein Quittungssignal (115)
ausgibt, wenn seine Teilnehmer-Kennung (K) in einer Blocksteuer
information (IB) als Adresse für abzuliefernde oder abzurufende
Datenblöcke (IB) enthalten ist, die der den Buszugang aufgrund
höchster Priorität (P) gewinnende Teilnehmer (N) nach Gewinn
der aktuellen Arbitrierung und vor Übermittlung des eigentlichen
Informations-Datenblockes (IB) auf den Datenbus (D) ausgibt.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19893928481 DE3928481C2 (de) | 1989-08-29 | 1989-08-29 | Prioritätsorientiertes dezentrales Busvergabesystem |
GB9017898A GB2236459B (en) | 1989-08-29 | 1990-08-15 | A priority-oriented bus allotment system |
FR9010770A FR2651345B1 (fr) | 1989-08-29 | 1990-08-29 | Systeme d'allocation a orientation prioritaire d'un bus. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19893928481 DE3928481C2 (de) | 1989-08-29 | 1989-08-29 | Prioritätsorientiertes dezentrales Busvergabesystem |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3928481A1 DE3928481A1 (de) | 1991-03-14 |
DE3928481C2 true DE3928481C2 (de) | 1994-09-22 |
Family
ID=6388077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19893928481 Expired - Fee Related DE3928481C2 (de) | 1989-08-29 | 1989-08-29 | Prioritätsorientiertes dezentrales Busvergabesystem |
Country Status (3)
Country | Link |
---|---|
DE (1) | DE3928481C2 (de) |
FR (1) | FR2651345B1 (de) |
GB (1) | GB2236459B (de) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5546587A (en) * | 1991-05-30 | 1996-08-13 | Tandem Computers Incorporated | Decentralized bus arbitration system which continues to assert bus request signal to preclude other from asserting bus request signal until information transfer on the bus has been completed |
AT403629B (de) * | 1994-03-24 | 1998-04-27 | Keba Gmbh & Co | Bus-system, insbesondere prioritätsorientiertes bus-system |
WO1996037849A1 (en) * | 1995-05-26 | 1996-11-28 | Jin Young Cho | Sequential polling/arbitration method using signal bisection and device therefor for multinode network |
DE10258469B4 (de) * | 2002-12-09 | 2013-10-02 | Volkswagen Ag | Verfahren und Vorrichtung zur Datenübermittlung in einem verteilten System |
US8490107B2 (en) | 2011-08-08 | 2013-07-16 | Arm Limited | Processing resource allocation within an integrated circuit supporting transaction requests of different priority levels |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
DE3009308A1 (de) * | 1980-03-11 | 1981-10-01 | Siemens AG, 1000 Berlin und 8000 München | Verfahren und anordnung zum uebertragen von datensignalen |
US4458314A (en) * | 1982-01-07 | 1984-07-03 | Bell Telephone Laboratories, Incorporated | Circuitry for allocating access to a demand shared bus |
DE3241777A1 (de) * | 1982-10-29 | 1984-05-03 | Siemens AG, 1000 Berlin und 8000 München | Verfahren zur steuerung des zugriffs von datenuebertragungseinrichtungen auf eine gemeinsame busleitung |
DE3374464D1 (en) * | 1983-03-29 | 1987-12-17 | Ibm | Arbitration device for the allocation of a common resource to a selected unit of a data processing system |
DE3407870C1 (de) * | 1984-03-02 | 1985-08-14 | Nixdorf Computer Ag, 4790 Paderborn | Verfahren und Schaltungsanordnung zum Einleiten einer Datenuebertragungsverbindung |
DE3413144A1 (de) * | 1984-04-07 | 1985-10-17 | Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt | Digitales lokales kommunikationssystem mit der logischen struktur einer schleife |
GB2167628B (en) * | 1984-04-19 | 1988-06-22 | Rational | Computer bus apparatus with distributed arbitration |
US4901234A (en) * | 1987-03-27 | 1990-02-13 | International Business Machines Corporation | Computer system having programmable DMA control |
IL89355A0 (en) * | 1988-02-24 | 1989-09-10 | Ardent Computer Corp | Method and apparatus for controlling access to a system bus |
-
1989
- 1989-08-29 DE DE19893928481 patent/DE3928481C2/de not_active Expired - Fee Related
-
1990
- 1990-08-15 GB GB9017898A patent/GB2236459B/en not_active Expired - Fee Related
- 1990-08-29 FR FR9010770A patent/FR2651345B1/fr not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB2236459A (en) | 1991-04-03 |
FR2651345A1 (fr) | 1991-03-01 |
GB2236459B (en) | 1994-01-19 |
FR2651345B1 (fr) | 1995-07-07 |
GB9017898D0 (en) | 1990-09-26 |
DE3928481A1 (de) | 1991-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1309920B1 (de) | Adressvergabeverfahren für mindestens einen neu an ein bussystem angeschlossenen busteilnehmer | |
DE3300261C2 (de) | ||
DE2162806C2 (de) | Speichersteuereinheit zur vereinfachter Pufferung von Anforderungen der Ein- Ausgabekanäle | |
DE3300260C2 (de) | ||
DE3642324C2 (de) | Multiprozessoranlage mit Prozessor-Zugriffssteuerung | |
DE2913288A1 (de) | Multiprozessorsystem | |
WO1996003696A1 (de) | Arbitrierung bei verzögernder buskopplung | |
EP0329005B1 (de) | Verfahren zum Einrichten von über Koppelvielfache einer mehrstufigen Koppelanordnung verlaufenden virtuellen Verbindungen | |
DE3106862C2 (de) | Prioritätszuteilschaltungsanordnung | |
DE4032725C2 (de) | Steuerungsverfahren für Kommunikationsantwort | |
DE3928481C2 (de) | Prioritätsorientiertes dezentrales Busvergabesystem | |
EP0509114B1 (de) | Verfahren zum Übertragen von Daten an mehrere Datenstationen | |
EP0725516A2 (de) | Verfahren zur Bestimmung der Position eines Netzteilnehmers in einem Netzwerk | |
DE102008001548B4 (de) | Teilnehmerknoten eines Kommunikationssystems, Kommunikationssystem und Verfahren zum Übertragen einer Nachricht in dem Kommunikationssystem | |
BE1025127B1 (de) | Kommunikationssystem zur seriellen Kommunikation zwischen Kommunikationsgeräten | |
DE19830803C2 (de) | CAN-Modul | |
DE10307424A1 (de) | Datenvermittlungsvorrichtung und Multiplex-Kommunikationssysteme | |
DE102014112901A1 (de) | Kommunikationseinrichtung, Kommunikationssystem und Verfahren zum synchronisierten Senden von Telegrammen | |
EP0104638B1 (de) | Verfahren zur Vorbereitung der Anschaltung einer von mehreren datenverarbeitenden Einrichtungen an ein zentral taktgesteuertes Mehrfach-Leitungssystem | |
DE2833048A1 (de) | Schaltungsanordnung zur aufnahme und abgabe von informationsdaten und signalisierungsdaten bei einer programmgesteuerten vermittlungszentrale | |
DE102006042317B4 (de) | Verfahren und Vorrichtung zur Übertragung digitaler Daten | |
EP1241835B1 (de) | Empfangseinrichtung für einen CAN-Bus | |
DE69830531T2 (de) | Rechnernetzwerk mit nichtdeterministischem Zugriff | |
DE19612675C2 (de) | Verfahren zur Informationsübertragung | |
EP0064759A2 (de) | Verfahren und Schaltungsanordnung zur Übermittlung einer Anforderung eines Prozessors an einen Speichermodul in einem Multiprozessorsystem mit mehreren Speichermoduln |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: DIEHL STIFTUNG & CO., 90478 NUERNBERG, DE |
|
8339 | Ceased/non-payment of the annual fee |