-
Die
vorliegende Erfindung betrifft ein Verfahren zur Vergabe von Buszugriffsrechten
in Multimaster-Bussystemen, insbesondere in Systemen auf einem Halbleiterchip
(Systems-on-a-chip), sowie ein Multimaster-Bussystem zur Durchführung des
Verfahrens.
-
Das
Bussystem verbindet die verschiedenen Einheiten eines Rechnersystems
(Speicher, CPU, periphere Einheiten) miteinander und vermittelt
den Datenaustausch zwischen ihnen.
-
Die
Komponenten des elektronischen Datenverarbeitungssystems nutzen
einen gemeinsamen Transportweg, das oder die Bussysteme, an den
sie parallel angeschlossen sind.
-
Die
Koordination der Übertragung,
d.h. die Auswahl von Sender und Empfänger, der jeweilige Zugriff
und auch die zeitliche Synchronisation wird über Steuersignale geregelt.
Die Bussteuerung geschieht im einfachsten Fall durch einen einzigen Bus-Master.
-
Ein
prinzipieller Ablauf eines Datentransfers auf dem jeweiligen Bussystem
mit einem einzigen Master, der die Zugriffe steuert, geschieht im
Wesentlichen in drei Schritten.
-
Zunächst stellt
die Master-Einrichtung eine Adresse zur Auswahl eines Kommunikationspartners auf
dem Adressbus des Bussystems bereit. Der ausgewählte Partner erkennt dies und
geht in Bereitschaft. Durch die Aktivierung eines Steuersignals, beispielsweise
für einen
Lese- oder einen Schreibzugriff, bestimmt die Master-Einrichtung
die Übertragungsrichtung.
Der so bestimmte Sender bzw. die Slave-Einrichtung legt die Daten
auf den Datenbus. Die Master-Einrichtung führt den Datentransfer aus und
signalisiert den Abschluss des Datentransfers, indem sie das Lese-
bzw. Schreibsignal deaktiviert. So mit wird das Bussystem wieder
in den Ausgangszustand versetzt und ist für einen nächsten Transfer bereit.
-
In
sogenannten Multimaster-Bussystemen sind mehrere Master-Einrichtungen berechtigt,
im Prinzip unabhängig
voneinander über
das Bussystem Slave-Einrichtungen anzusprechen. Um Kollisionen und
Störungen
bei einem Zugriff über
das Bussystem zu vermeiden muss bei Multimaster-Bussystemen eine
Buszugriffsrechtesteuerung vorgehalten werden. Eine Buszugriffsrechtesteuerung
erteilt in der Regel nach einem Auswahlverfahren (Arbitrierung)
Kombinationen von Master-Einrichtungen und Slave-Einichungen den
jeweiligen Zugriff über
das Bussystem.
-
Insbesondere
bei heutigen Gesamtsystemen, die auf einem einzigen Halbleiterchip
integriert sind, den sogenannten Systems-on-a-chip, mit multiplen
Mastern, ist eine möglichst
flexible Arbitrierung gewünscht.
Nur so kann das entsprechende Auswahlverfahren, welches am besten
zu einer Zielanwendung, beispielsweise einer Motorsteuerung, einem
Antiblockiersystem, einem Signalprozessor in Mobilfunkanwendungen,
etc. passt, eingesetzt werden.
-
Gemäß der
DE 102 22 584 A1 wird
beispielsweise ein jeweiliges Zugriffrecht für die Master-Einrichtungen
in einer Dekodier- und
Zugriffskontrolllogik im Bus-Slave verwaltet.
-
Nach
dem Stand der Technik sind vor allem zwei Auswahlverfahren zur Buszugriffsrechtesteuerung
in Verwendung. Nach dem Prioritätsauswahlverfahren
wird allen Master-Einrichtungen ein Prioritätswert zugeordnet. Die Arbitriersteuerung
bzw. Buszugriffsrechtesteuerung wählt bei einer gleichzeitigen
Zugriffsanfrage von verschiedenen Master-Einrichtungen stets die
anfragende Master-Einrichtung mit der höchsten Priorität für einen
Zugriff auf das Bussystem aus. Durch eine prioritätsgesteuerte
Buszugriffvergabe ist garantiert, dass dringliche Aufgaben, also
Kombinationen von Master- und Slave- Einrichtungen, vorrangig behandelt werden.
Es kann jedoch dazu führen,
dass gering priorisierte Prozesse niemals bearbeitet werden. Dann
spricht man vom Verhungern eines Prozesses (Starvation).
-
In
der
DE 31 11 991 A1 ist
beispielsweise eine Geräteanschluss-Multimaster-Busstruktur
offenbart, bei der jeder Master-Einrichtung ein Bus-Zuweiser zugeordnet
ist, welcher gemäß dem jeweiligen Prioritätswert einen
Buszugriff steuert.
-
Die
EP 11 37 997 B1 schlägt eine
dynamische Prioritätszuweisung
vor, so dass immer die jeweils in der Vergangenheit am häufigsten
zugreifende Master-Einrichtung als „Default-Master" festgelegt wird.
-
Eine
Abwandlung der Zugriffsteuerung auf Basis von zugeordneten Prioritätswerten
ist in der
US 5,845,097
A erläutert.
Demgemäß ist jeder
Master-Einrichtung für
eine maximale Zeitdauer der Buszugriff erlaubt.
-
Nach
dem zweiten wichtigen Zugriffsrechtevergabeverfahren, dem Round-Robin-Verfahren, werden
alle Prozesse bzw. Buszugriffsanfragen von Master-Einrichtungen
in einer festen Reihenfolge abgearbeitet. Beim Round-Robin-Verfahren
ist daher gewährleistet,
dass alle aktiven Prozesse bzw. Zugriffsanfragen von Master-Einrichtungen
auf Slave-Einrichtungen über
das Bussystem eine garantierte Buszugriffszeit zugewiesen bekommen.
Beim Round-Robin-Verfahren haben jedoch auch alle Buszugriffe, bzw.
Anfragen auf einen Zugriff über
das Bussystem, dieselbe längste
Wartezeit, welche sich aus den maximalen Latenzzeiten aller gleichzeitig aktiven
Master-Einrichtungen
ergibt. Dadurch sind Zugriffe auf das Bussystem, die häufiger oder
wichtiger bei einer jeweiligen Anwendung sind, benachteiligt und
die Geschwindigkeit des Gesamtsystems auf dem Halbleiterchip mit
On-chip-Bussystem und multiplen Mastern ist gebremst.
-
Die
Festlegung auf ein einziges Arbitrierungsverfahren bzw. Verfahren
zur Vergabe von Buszugriffsrechten in Multimaster-Bussystemen hat den wesentlichen
Nachteil, dass die so gewählte
Arbitrierung nicht für
alle Applikationen bzw. Zielanwendungen des jeweiligen System-on-a-chip
optimal sein kann.
-
Es
ist daher eine Aufgabe der vorliegenden Erfindung, ein Verfahren
zur Vergabe von Buszugriffsrechten in Multimaster-Bussystemen zu schaffen,
welches insbesondere in Systems-on-a-chip flexibel an die jeweilige Zielanwendung
des Systems anpassbar ist, und das gegenseitiges Warten von Buszugriffsanfragen
oder Verhungern weitestgehend verhindert. Der Erfindung liegt ferner
die Aufgabe zugrunde, ein Multimaster-Bussystem zu schaffen, mittels
dessen ein entsprechendes Verfahren durchführbar ist.
-
Erfindungsgemäß wird diese
Aufgabe durch ein Verfahren zur Vergabe von Buszugriffsrechten in Multimaster-Bussystemen
mit den Verfahrensschritten gemäß dem Patentanspruch
1 gelöst.
Ferner löst ein
Multimaster-Bussystem mit den Merkmalen des Patentanspruchs 7 diese
Aufgabe.
-
Demgemäß ist ein
Verfahren zur Vergabe von Buszugriffsrechten in einem Multimaster-Bussystem
mit den folgenden Schritten vorgesehen:
- (a)
Eindeutiges Zuordnen von Adressen an Master-Einrichtungen des Multimaster-Bussystems;
- (b) Zuweisen eines Prioritätswertes
aus einer geordneten Prioritätsliste
von Prioritätswerten
an jede in dem Multimaster-Bussystem vorgesehene Master-Einrichtung;
- (c) Empfangen von Anfragen mindestens einer Master-Einrichtung
zum Zugriff über
das Bussystem auf eine Slave-Einrichtung;
- (d) Vergleichen der Prioritätswerte
aller anfragenden Master-Einrichtungen;
- (e1) Falls eine einzige anfragende Master-Einrichtung einen
höchsten
Prioritätswert
aufweist:
Erteilen eines einzigen Zugriffs auf die jeweilige Slave-Einrichtung
an die anfragende Master-Einrichtung, die einen höchsten Prioritätswert aufweist;
oder
- (e2) Falls mehrere anfragende Master-Einrichtungen denselben
höchsten
Prioritätswert
aufweisen:
Erteilen von Zugriffen auf die jeweiligen Slave-Einrichtungen
an die anfragenden Master-Einrichtungen, die einen höchsten Prioritätswert aufweisen,
nacheinander in Abhängigkeit
von der Adresszuordnung der Master-Einrichtung.
-
Die
der Erfindung zugrunde liegende Idee besteht darin, dass weder eine
prioritätsgesteuerte Vergabe
der Zugriffsrechte noch ein Round-Robin-Verfahren verwendet wird.
Durch die Kom bination und Programmierung bzw. Zuweisung von Adressen
und Prioritätswerten
an die beteiligten Master-Einrichtungen ist das erfindungsgemäße Verfahren
zur Vergabe von Buszugriffsrechten an beliebige Zielanwendungen
des entsprechenden Systems-on-a-chip mit Multimaster-Bussystem und
seinen Master- und
Slave-Einrichtungen anpassbar. Die Zuordnung von Adressen und Prioritätswerten
kann programmierbar geschehen und ist so besonders flexibel. Das
erfindungsgemäße Verfahren
vermindert somit auch die Gefahr von Starvation, Deadlocks oder
Lifelocks im Bussystem.
-
In
einer bevorzugten Ausführungsform
des erfindungsgemäßen Verfahrens
wird mindestens ein Prioritätswert
einer Master-Einrichtung
nach mindestens einem der Zugriffserteilungsschritte verändert. Durch
das Ändern
während
des Betriebs des Systems-on-a-chip kann auf verschiedene Anforderungen
in verschiedenen Ausführungsabschnitten
des Betriebs die Wichtigkeit bzw. Dringlichkeit einer Master-Einrichtung
oder bestimmter Zugriffskombinationen geändert werden.
-
In
einer weiteren bevorzugten Ausführungsform
wird für
jede Kombination aus einer Slave-Einrichtung und einer anfragenden
Master-Einrichtung der entsprechenden Master-Einrichtung ein Prioritätswert zugewiesen.
Durch diese bevorzugte Ausführungsform
wird die Realisierung eines so genannten Cross-bars möglich. Dabei
ist jede Master-Einrichtung mit jeder Slave-Einrichtung koppelbar, sodass eine der
Slave-Einrichtung vorgeschaltete Arbitriersteuerung bei Zugriffen
von mehreren Master-Einrichtungen auf die entsprechende Slave-Einrichtung
den Zugriff über
das Bussystem gemäß dem erfindungsgemäßen Verfahren
erteilt.
-
In
einer bevorzugten Weiterbildung des Verfahrens werden die Anfragen
der Master-Einrichtungen zum Zugriff über das Bussystem auf eine
Slave-Einrichtung aufgezeichnet. Dadurch kann weiterhin vorteilhaft
nach einer vorbestimmten Anzahl von Zugriffserteilungen mindestens
einer Master-Einrichtung ein angefragter Zugriff erteilt werden,
wenn dieser über
die vorbestimmte Anzahl von Zugriffserteilungen keine Anfrage erteilt
wurde. Dadurch ist ferner möglich,
dass nach einer bestimmten Anzahl von Zugriffserteilungen nacheinander
in Abhängigkeit
von der Adresszuordnung der Master-Einrichtungen denjenigen Master-Einrichtungen
ein angefragter Zugriff erteilt wird, welcher zuvor über die
vorbestimmte Anzahl von Zugriffserteilungen nicht erfolgte. Durch
die vorteilhaften Weiterbildungen wird insbesondere das Verhungern
von bestimmten Prozessen bzw. Anfragen zum Zugriff auf das Bussystem
verhindert und eine Echtzeitfähigkeit
des Gesamtsystems ermöglicht.
-
Ferner
schafft die Erfindung ein Multimaster-Bussystem mit einem Bussystem,
mit einer ersten Anzahl von Master-Einrichtungen, die an das Bussystem
gekoppelt sind, mit einer zweiten Anzahl von Slave-Einrichtungen,
die an das Bussystem gekoppelt sind, und mit mindestens einer Buszugriffsrechtesteuerung,
die ebenfalls an das Bussystem gekoppelt ist. Dabei ordnet die Buszugriffsrechtesteuerung jeder
Master-Einrichtung ein eindeutige Adresse sowie jeder Master-Einrichtung
einen Prioritätswert
aus einer geordneten Prioritätsliste
von Prioritätswerten zu.
Die Master-Einrichtungen koppeln Anfragen zum Zugriff über das
Bussystem auf Slave-Einrichtungen in das Bussystem ein, und die
Buszugriffsrechtesteuerung empfängt
die Anfragen der Master-Einrichtungen und vergleicht die entsprechenden
Prioritätswerte
der anfragenden Master-Einrichtungen.
Falls eine einzige anfragende Master-Einrichtung einen höchsten Prioritätswert aufweist,
erteilt die Buszugriffsrechtesteuerung derjenigen Master-Einrichtung,
welche den höchsten
Prioritätswert
aufweist, den Zugriff über das
Bussystem auf die jeweilige Slave-Einrichtung. Oder, falls mehrere
anfragende Master-Einrichtungen denselben höchsten Prioritätswert aufweisen,
erteilt die Buszugriffsrechtesteuerung den Master-Einrichtungen,
welche den höchsten
Prioritätswert
aufweisen, nacheinander den Zugriff über das Bussys tem auf die jeweiligen
Slave-Einrichtungen in Abhängigkeit
von der Adresszuordnung.
-
Vorteilhafterweise
ist die Zuweisung der Prioritätswerte
an die Master-Einrichtungen programmierbar vorgesehen. Dadurch lässt sich
zu einem beliebigen Zeitpunkt die Prioritätswertestruktur bzw. das zugrunde
liegende Verfahren der Zugriffsrechtesteuerung modifizieren und
an die jeweilige Anwendung anpassen.
-
In
einer bevorzugten Ausführungsform
weist die Buszugriffsrechtesteuerung zu jeder Slave-Einrichtung
eine Buszugriffsrechtesteuerungseinheit auf, die jeweils jeder Master-Einrichtung
einen Prioritätswert
zuweist. Ferner ist vorteilhaft jede Master-Einrichtung an alle
Buszugriffsrechtesteuerungseinheiten koppelbar. Die bevorzugte Ausführungsform
realisiert ein so genanntes Cross-bar, wobei jede Buszugriffsrechtesteuerung
bzw. jeder Arbiter der jeweiligen Slave-Einrichtung zugeordnet ist,
entscheidet, welcher Master den Zugriff auf die Slave-Einrichtung
erhält.
-
Es
ist weiterhin vorteilhaft, dass die Buszugriffsrechtesteuerungseinheiten
jeweils Register zum Speichern der Prioritätswerte der Master-Einrichtungen
aufweisen.
-
In
einer vorteilhaften Weiterbildung des Multimaster-Bussystems weist
die Buszugriffsrechtesteuerung eine Speichereinrichtung zum Aufzeichnen
der Zugriffsanfragen der Master-Einrichtungen auf.
Durch dieses Dokumentieren der Buszugriffe können von der Buszugriffsrechtesteuerung
Maßnahmen
eingeleitet werden, die das Verhungern von Prozessen verhindert.
Es ist beispielsweise vorteilhaft, dass die Buszugriffsrechtesteuerung
in Abhängigkeit
von den aufgezeichneten Zugriffsanfragen nach einer vorbestimmten
Anzahl von Zugriffserteilungen mindestens einer Master-Einrichtung
einen angefragten Zugriff erteilt, welcher über die vorbestimmte Anzahl
von Zugriffserteilungen nicht erteilt wurde. Alternativ kann die Buszugriffsrechtesteuerung
vorteilhaft in Abhängigkeit
von den aufgezeichneten Zugriffsanfragen nach einer vorbestimmten Anzahl
von Zugriffserteilungen nacheinander in Abhängigkeit von der Adresszuordnung
der Master-Einrichtungen denjenigen Master-Einrichtungen einen angefragten
Zugriff erteilen, welche über
die vorbestimmte Anzahl von Zugriffserteilungen nicht erteilt wurde.
-
In
noch einer bevorzugten Ausführungsform des
Multimaster-Bussystems
weist die Buszugriffsrechtesteuerung eine CPU auf. In diesem besonderen
Fall wird die Buszugriffsrechtesteuerung durch eine zentrale Prozessoreinheit
der CPU durchgeführt,
die das erfindungsgemäße Verfahren
zur Vergabe von Buszugriffsrechten in Form von Programmcode enthält.
-
Weitere
vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung sind
Gegenstand der Unteransprüche
sowie der Beschreibung und der Bezugnahme auf die Figuren.
-
Die
Erfindung wird nachfolgend anhand der schematischen Figuren und
Ausführungsbeispiele erläutert. Es
zeigt dabei:
-
1 ein
Multimaster-Bussystem mit Buszugriffsrechtesteuerung gemäß der Erfindung;
-
2 eine
vorteilhafte Prioritäten-
und Adressliste für
Master-Einrichtungen;
-
3 vorteilhaftes
Zugriffsrechte-Erteilungsschema; und
-
4 ein
Multimaster-Bussystem mit über Kreuz
gekoppelten Master- und Slave-Einrichtungen gemäß der Erfindung.
-
In
den Figuren sind gleiche bzw. funktionsgleiche Elemente, sofern
nichts anderes angegeben ist, mit gleichen Bezugszeichen versehen.
-
Die 1 zeigt
ein erfindungsgemäßes Multimaster-Bussystem.
-
Es
ist eine Buszugriffsrechtesteuerung 1 vorgesehen, die an
das Bussystem 2, welches hier schematisch dargestellt ist,
gekoppelt ist. Ferner ist eine erste Anzahl von Master-Einrichtungen 3-1, 3-2, ..., 3-N vorgesehen,
die jeweils ebenfalls an das Bussystem 2 gekoppelt sind.
Es ist eine zweite Anzahl von Slave-Einrichtungen 4-1, 4-2,
..., 4-M vorgesehen, die auch an das Bussystem 2 gekoppelt
sind. Jeder der Master-Einrichtungen 3-1, 3-2,
..., 3-M ist eine eindeutige Adresse zugeordnet.
-
Eine
beispielhafte Adresszuordnung ist in 2 dargestellt,
in der sechzehn Master-Einrichtungen die jeweiligen Adressen MASTER0-MASTER15 zugeordnet
sind. In diesem speziellen Fall von N = 16 Master-Einrichtungen
wird für
jede Adresse 4 Bit vorgehalten. Die erste Master-Einrichtung, beispielsweise 3-1 mit
der Adresse MASTER0 wird beispielsweise durch die ersten vier Bits
B0, B1, B2, B3 in einem Adresswort dargestellt. In 2 sind
zwei jeweils 32 Bit lange Adressworte dargestellt, wodurch jeweils zwei
mal acht Master-Einrichtungen 3-1, ..., 3-16 eine jeweilige
Adresse MASTER0-MASTER15 zugeordnet werden kann.
-
Neben
den Adressen ordnet die Buszugriffsrechtesteuerung 1 jeder
Master-Einrichtung einen Prioritätswert
zu, der aus einer geordneten Prioritätsliste von Prioritätswerten
ausgewählt
ist.
-
Die 3 zeigt
beispielhaft eine Prioritätsliste 5 für sechzehn
Prioritätswerte
für Master-Einrichtungen.
Eine Prioritätswert
hat hier also beispielhaft eine Länge von vier Bit. Einem Prioritätswert P0
ist die höchste
Priorität
zugeordnet, und einem Prioritätswert
P15 die niedrigste Priorität.
Dabei können mehreren
Master-Einrichtungen 3-1, ..., 3-N auch ein gleicher
Prioritätswert
zugeordnet werden. Die Adresszuweisung geschieht jedoch eindeutig.
-
Die
Master-Einrichtungen 3-1, 3-2, ..., 3-N oder
einige der Master-Einrichtungen fragen nun einen Zugriff über das
Bussystem auf eine jeweilige Slave-Einrichtung 4-1, 4-2,
..., 4-M an.
Die Buszugriffsrechtesteuerung empfängt diese Anfragen der Master-Einrichtungen 3-1, 3-2,
..., 3-N und vergleicht die entsprechenden, den anfragenden
Master-Einrichtungen zugeordneten Prioritätswerte miteinander. Falls
die anfragenden Master-Einrichtungen 3-1, ..., 3-N alle
unterschiedliche Prioritätswerte
aufweisen, beispielsweise bei drei anfragenden Master-Einrichtungen 3-1, 3-2, 3-3 die
Prioritätswerte
P0, P5 und P15, teilt die Buszugriffsrechtesteuerung 1 nur
der Master-Einrichtung einen Zugriff über das Bussystem auf die angefragte
Slave-Einrichtung 4-1, 4-2, .... 4-m zu,
die den Prioritätswert
0 aufweist.
-
Die
erfindungsgemäße Buszugriffsrechtesteuerung
ermöglicht
jedoch auch, dass mehrere Master-Einrichtungen denselben Prioritätswert aufweisen.
In diesem Fall werden die entsprechenden Zugriffsrechte der anfragenden
Master-Einrichtungen 3-1, ..., 3-N, die diesen
selben Wert aufweisen, nach einem dem Round-Robin-Verfahren ähnlichen Verfahren
zugeordnet.
-
Die
Master-Einrichtungen 3-1, ..., 3-N sind also in
Gruppen zusammengefasst, wobei die Master-Einrichtungen jeder Gruppe
dieselben Prioritätswerte
aufweisen. Innerhalb der Gruppe werden bei gleichzeitig anfragenden
Master-Einrichtungen aus der Gruppe die Zugriffsrechte zyklisch
verteilt, und zwar in einer Reihenfolge, die der Adressierung entspricht.
-
Wenn
z.B. acht Master-Einrichtungen jeweils ein Prioritätswert P8
zugeordnet ist und die entsprechenden Master-Einrichtungen einen
Zugriff über
das Bussystem anfragen, entscheidet die Buszugriffsrechtesteuerung 1 wie
folgt: Es werden nacheinander allen acht Master-Einrichtungen ein
Zugriff erteilt, wobei die Reihenfolge durch die eindeutigen Adressen der
jeweiligen Master-Einrichtungen festgelegt ist.
-
In
dem in der 3 illustrierten Beispiel ist den
Master-Einrichtungen
mit den Adressen MASTER1, MASTER3, MASTER4, MASTER6, MASTER7, MASTER8,
MASTER11 und MASTER15 der Prioritätswert P8 zugeordnet. Die Abfolge
der erteilten Buszugriffe ist durch die Anordnung in den zwei Adressworten
B0-B15, C0-C15,
wie es in der 2 gezeigt ist, festgelegt. Nachdem
alle acht Master-Einrichtungen mit demselben zugewiesenen Prioritätswert P8
ihre Buszugriffe ausgeführt
haben, liegt das Bussystem wieder bereit, und die Buszugriffsrechtesteuerung 1 verarbeitet
Zugriffsanfragen von Master-Einrichtungen erneut erfindungsgemäß.
-
Die 4 zeigt
eine alternative Ausführungsform
eines Multimaster-Bussystems mit über Kreuz gekoppelten Master-
und Slave-Einrichtungen gemäß der Erfindung.
-
Es
sind N Master-Einrichtungen 3-1, 3-2, ..., 3-N vorgesehen,
die jeweils an die Buszugriffsrechtesteuerung 1 gekoppelt
sind. Ferner ist eine zweite Anzahl M von Slave-Einrichtungen 4-1, 4-2,
..., 4-M vorgesehen, die ebenfalls an die Buszugriffsrechtesteuerung 1 gekoppelt
sind.
-
Jeder
Slave-Einrichtung 4-1, 4-2, ..., 4-m ist eine
Buszugriffsrechtesteuerungseinheit 6-1, 6-2, ..., 6-M zugeordnet,
woran die jeweiligen Slave-Einrichtungen 4-1, 4-2,
..., 4-M gekoppelt sind. Ferner ist jede der Buszugriffsrechtesteuerungseinheiten 6-1, 6-2,
..., 6-M mit jeder Master-Einrichtung 3-1, 3-2,
..., 3-N verbunden. Somit stellt die Buszugriffsrechtesteuerung 1,
die die Buszugriffsrechtesteuerungseinheiten 6-1, 6-2,
..., 6-M aufweist, eine so genannte Cross-bar dar.
-
Die
Buszugriffsrechtesteuerungseinheiten 6-1, 6-2,
..., 6-m sind programmierbar. Die Buszugriffsrechtesteuerungseinheiten 6-1, 6-2,
..., 6-M weisen jeweils Register auf, in denen die Prioritätswerte aller
Master-Einrichtungen gespeichert werden. Über Programmiersignale 7 sind
diese Prioritätswerte
programmierbar. Durch die Cross-bar-Anordnung ist also für jede Kombination
aus einer Slave-Einrichtung 4-1, ..., 4-M und
einer Master-Einrichtung 3-1, ..., 3-N ein Prioritätswert zugewiesen.
Die Cross-bar-Anordnung ermöglicht
ferner, dass parallel eine erste Gruppe von Master-Einrichtungen
jeweils einen Zugriff auf eine erste Slave-Einrichtung anfragt und
gleichzeitig eine zweite Gruppe von Master-Einrichtungen einen Zugriff
auf eine zweite Slave-Einrichtung anfragt.
-
Die
Buszugriffsrechtevergabe geschieht gemäß den Ausführungen zu den 1 bis 3.
Es sei beispielhaft ein Zugriff von vier Master-Einrichtungen 3-1, 3-2, 3-3, 3-4,
denen die Adressen MASTER0, MASTER2, MASTER4 und MASTER6 zugeordnet
sind, auf die erste Slave-Einrichtung 4-1 dargestellt.
-
Da
jeder der anfragenden Master-Einrichtungen 3-1, 3-2, 3-3, 3-4 an
die vorgeschaltete Buszugriffsrechtesteuerungseinheit 6-1 gekoppelt
ist, wertet diese die Anfragen aus und entscheidet über den Buszugriff
bzw. Zugriff auf die Slave-Einrichtung 4-1.
-
Die
Buszugriffsrechtesteuerungseinheit 6-1 hat in ihren Registern
die Prioritätswerte
der Master-Einrichtung 3-1, 3-2, 3-3, 3-4 gespeichert.
In diesem Beispiel sei der zugeordnete Prioritätswert für alle anfragenden Master-Einrichtungen 3-1, 3-2, 3-3, 3-4 der
Wert P2. Da alle anfragenden Master-Einrichtungen denselben Prioritätswert aufweisen,
führt die Buszugriffsrechtesteuerungseinheit 6-1 ein Round-Robin-Zuteilungsverfahren
für die
vier anfragenden Master-Einrichtungen 3-1, 3-2, 3-3, 3-4 durch.
Dabei ist die Reihenfolge durch die Adressen der jeweiligen Master-Einrichtungen
festgelegt.
-
Wie
es in der 3 dargestellt ist, wird zunächst der
Master-Einrichtung 3-1, der die Adresse MASTER0 zugeordnet
ist, dann die Master-Einrichtung 3-2, der die Adresse MASTER2
zugeordnet ist, dann die Master-Einrichtung 3-3, der die
Adresse MASTER4 zugeordnet ist, und schließlich die Master-Einrichtung 3-4,
der die Adresse MASTER6 zugeordnet ist, abgewickelt bzw. in der
jeweiligen Reihenfolge der Buszugriff bzw. Zugriff auf die Slave-Einrichtung 4-1 erlaubt.
-
Da
die Buszugriffsrechtesteuerungseinheiten 6-1, 6-M programmierbar
gestaltet sind, kann auch während
des Betriebs des jeweiligen System-on-a-chip, auf der das Multimaster-Bussystem ausgeführt ist,
die Arbitrierung bzw. die Buszugriffsrechtevergabe verändert werden.
Dadurch kann die jeweilige Priorität der Teilnehmer bzw. der Master- und
Slave-Einrichtungen
optimal an die Endanwendung des Halbleiterchips mit seinem System
angepasst werden. Die Nachteile des Prioritätsverfahrens, dass Master-/Slave-Zugriffe,
die eine nur untergeordnete Priorität aufweisen bzw. einen niedrigen
Prioritätswert
haben, niemals einen Buszugriff erteilt bekommen, und dass beim
reinen Round-Robin-Verfahren Buszugriffe, die dringlicher oder eine
höhere Priorität aufweisen,
nur unzureichend einen Buszugriff erteilt bekommen, ist erfindungsgemäß durch
die programmierbare Buszugriffsrechtesteuerung und das entsprechende
erfindungsgemäße Verfahren verhindert.
-
Obwohl
die vorliegende Erfindung anhand von bevorzugten Ausführungsbeispielen
beschrieben wurde, ist sie darauf nicht beschränkt, sondern auf vielfältige Art
und Weise modifizierbar.
-
Insbesondere
sind viele Gruppen von Round-Robin-Zugriffen denkbar, und nicht
nur, wie in dem Beispiel angeführt,
zwei Round-Robin-Gruppen vorgesehen. Durch die programmierbare Ausführung ist
es ebenfalls möglich,
weitere Gruppen von Master-Einrichtungen bzw. Zugriffe von Master-Einrichtungen
auf Slave-Einrichtungen derart zusammenzufassen, dass die Zugriffsvergabe
zunächst
an diejenige Master-Einrichtung mit der höchsten Priorität geschieht,
anschließend
eine Round-Robin-Runde
von Master-Einrichtungen mit gleichem Prioritätswert durchgeführt wird
und weiterhin die Buszugriffsanfragen bedient werden, die niedrigere
Prioritätswerte aufweisen.
-
Auch
sind nicht zwangsläufig
die Master-Einrichtungen in der bevorzugten Ausführungsform an alle Slave-Einrichtungen
bzw. Buszugriffsrechtesteuerungseinheiten gekoppelt. Ebenso können nur
Unterkombinationen von Master- und Slave-Einrichtungen miteinander
verbunden sein.
-
- 1
- Buszugriffsrechtesteuerung
- 2
- Bussystem
- 3-1,
..., 3-N
- Master-Einrichtung
- 4-1,
..., 4-M
- Slave-Einrichtung
- MASTER0-MASTER15
- Adressen
- B0-B15,
C0-C15
- Adressbits
- 6-1,
6-2, ..., 6-M
- Buszugriffsrechtesteuerungseinheit
- 7
- Programmiersignale
- 5
- Prioritätsliste