-
Die Erfindung betrifft eine Vorrichtung
zum Datenaustausch zwischen Informationsverarbeitungseinheiten,
als Agenteneinheiten bezeichnet, deren Prozessoren durch einen gemeinsamen
Bus miteinander verbunden sind, in einer Vorrichtung wie zum Beispiel
einer Rufverarbeitungsvorrichtung einer Fernmeldevermittlungsanlage
oder einer beliebigen anderen Vorrichtung, die eine Mehrzahl von
Einheiten umfasst, zwischen denen ein starker Datenaustauschverkehr
auftreten kann.
-
Bekanntlich führt die Existenz von immer leistungsfähigeren
Datenerfassungs- und Verarbeitungsmitteln zur Entwicklung von Anwendungen,
die zur Übertragung
und Verarbeitung von immer größeren Datenmengen
bei immer höheren
Geschwindigkeiten führen.
Insbesondere die Prozessoren arbeiten bei immer höheren Taktfrequenzen,
zum Beispiel in der Größenordnung
von gegenwärtig
200 MHz, doch sind aufgrund von physikalischen Randbedingungen solche
Taktfrequenzen nicht möglich
für die Übertragungsverbindungen,
die an die Ein-/Ausgangsanschlüsse
dieser Prozessoren angeschlossen sein können. Es ist daher im Allgemeinen
vorgesehen, für
diese Datenaustäusche
zwischen den Prozessoren der Verarbeitungseinheiten einer gleichen
Vorrichtung, wenn diese Prozessoren untereinander verbunden sind,
deutlich geringere Taktfrequenzen zu verwenden. Deshalb müssen besondere Maßnahmen
vorgesehen werden, um so weit wie möglich zu verhindern, dass die
Verarbeitungsmöglichkeiten
der Prozessoren durch unzureichende Übertragungsmittel eingeschränkt werden, über die diese
Prozessoren miteinander kommunizieren.
-
Es gibt insbesondere eine Norm der
IEEE mit dem Titel "IEEE
Standard for Futurebus+" für einen Verbindungsbus
zwischen Verarbeitungseinheiten, der auf die IEEE zurückgeht.
Wegen der durch diese Normierung angestrebten Universalität ist es
schwierig, zu materiell einfachen und leicht in Teilanordnun gen – die übrigens
bereits eine beträchtliche
Komplexität
haben können – integrierbaren
Realisierungen zu gelangen. Diese Realisierungsschwierigkeit betrifft
sowohl den Bus selbst wie auch die zum Anschließen der zu bedienenden Einheiten
und der Busschnittstellenbauteile erforderlichen Verbinder. Sie
ist insbesondere verknüpft
mit der hohen Zahl von parallelen Verbindungen, die der Bus aufweist, mit
dem benötigten
Leistungsniveau der diversen Komponenten und den diversen Randbedingungen, die
mit dem Betrieb der um diesen Bus und die von ihm bedienten Einheiten
herum organisierten Unteranordnung verknüpft sind.
-
Das Dokument EP0 646 876 beschreibt
eine Vorrichtung zum Datenaustausch zwischen Informationsverarbeitungseinheiten,
als Agenteneinheiten bezeichnet, deren Prozessoren durch einen gemeinsamen
Bus in einer Anordnung verbunden sind, die eine Mehrzahl von Einheiten
umfasst, die vorgesehen sind, um einen starken Datenaustauschverkehr zwischen
einander zu unterstützen.
Die Informationsverarbeitungseinheiten umfassen Verarbeitungsmittel
wie etwa Prozessoren, die durch einen externen, den Einheiten gemeinsamen
Austauschbus miteinander verbunden sind, dessen gemeinschaftliche Nutzung
durch einen Arbiter verwaltet wird. Jede Einheit umfasst Mittel
zum wenigstens zeitweiligen Speichern, wo die Daten organisiert
an festgelegten Adressen abgelegt sind, die es erlauben, sie nach Bedarf
einzutragen und/oder zu lesen. Diese Datenspeichermittel bilden
eine auf die besagten Einheiten verteilte Austauschspeicheranordnung,
die allen Einheiten gemeinsam ist und für alle über den Austauschbus zugänglich ist,
wobei jede Einheit einen Teil der Speichermittel dieser Anordnung
in Form eines Austauschspeichers umfasst, der einerseits für die Verarbeitungsmittel
der Einheit und andererseits für
die Verarbeitungsmittel der anderen Einheiten über den Austauschbus zugänglich ist.
-
Dieses Dokument spricht aber nicht
die Probleme der Übertragung
und Synchronisation an, die sich während des Transfers von Daten
von einer Einheit zur anderen ergeben. Das Ziel der Erfindung ist, diese
Probleme zu lösen.
-
Gegenstand der Erfindung ist eine
Vorrichtung zum Datenaustausch zwischen Informationsverarbeitungseinheiten,
als Agenteneinheiten bezeichnet, die Verarbeitungsmittel wie etwa
Prozessoren aufweisen, die untereinander durch einen mehradrigen,
externen, diesen Einheiten gemeinsamen Austauschbus verbunden sind,
dessen gemeinschaftliche Nutzung durch einen Arbiter verwaltet wird,
wobei jede Einheit umfasst:
- – Mittel
zum wenigstens zeitweiligen Speichern, wo die Daten organisiert
an festgelegten Adressen abgelegt sind, die es erlauben, sie nach
Bedarf einzutragen und/oder zu lesen, wobei die durch diese Einheiten
gebildete Anordnung Mittel zum Speichern von Daten umfasst, die
eine auf die Einheiten verteilte Austauschspeicheranordnung bilden,
die allen Einheiten gemeinsam ist und für alle über den Austauschbus zugänglich ist,
wobei jede Einheit einen Teil der Speichermittel dieser Anordnung
in Form eines Austauschspeichers umfasst, der einerseits für die Verarbeitungsmittel
der Einheit und andererseits für
die Verarbeitungsmittel der anderen Einheiten über den Austauschbus zugänglich ist;
- – Lokalprozessorbus-
und Austauschspeicher-Schnittstellenmittel und Austauschbus-Schnittstellenmittel
in jeder Einheit, die untereinander verbunden sind, um die Informationsaustäusche zwischen
den durch den Austauschspeicher der Einheit gebildeten Speichermitteln, den
Verarbeitungsmitteln dieser Einheit und den Verarbeitungsmitteln
der anderen Einheit über den
Austauschbus, an den diese anderen Einheiten angeschlossen sind,
sicherzustellen,
dadurch gekennzeichnet, dass die Schnittstellenmittel
in jeder Einheit Zwischenspeichermittel zwischen einem Austausch speicher
und dem Austauschbus umfassen, die durch Pufferspeicher mit schnellem
Zugriff gebildet sind, auf die der Prozessor der Einheit im Rhythmus
des ihn steuernden Taktsignals zugreift, und auf den die anderen Einheiten
im Takt des dann den Austauschbus steuernden Taktsignals zugreifen;
und
dass jede Einheit Mittel zum Erzeugen eines ersten Taktsignals,
das dazu bestimmt ist, über den
Austauschbus an die anderen Einheiten übertragen zu werden, und Mittel
zum Auffangen eines zweiten Taktsignals auf dem Austauschbus zum Erzeugen
eines dritten Taktsignals, das dazu dient, eine lokale Nutzung der
im Rhythmus des zweiten Taktsignals von einer anderen Einheit an diese
Einheit übertragbaren
Daten zu ermöglichen,
umfasst.
-
Die so gekennzeichnete Austauschvorrichtung
ermöglicht
es der eine Transaktion auf den Bus auslösenden Einheit, mit ihrem eigenen
Takt zu senden, wobei ihr Taktsignal von der Empfängereinheit verwendet
wird, um provisorisch die Daten der Transaktion in den Zwischenspeichermitteln
zu speichern. Diese Daten werden anschließend im Rhythmus eines lokalen
Taktes ausgewertet, insbesondere, um diese Daten in dem gemeinsam
genutzten Speicher zu speichern. Es gibt keine vorgegebene Synchronität zwischen
den Takten der verschiedenen Einheiten. Diese Vorrichtung ermöglicht hohe
Transferfrequenzen in der Größenordnung
von 50 bis 82 MHz auf einem Backplane-Bus mit einer Länge in der
Größenordnung
von 50 cm.
-
Die Erfindung, ihre Merkmale und
Vorteile werden genauer in der nachfolgenden Beschreibung mit Bezug
auf die anschließend
genannten Figuren erläutert.
-
1 zeigt
ein Prinzipschema einer Anordnung von Informationsverarbeitungseinheiten,
die durch einen gemeinsamen Bus verbunden sind.
-
2 zeigt
ein Schema, das die Organisation eines Austauschspeichers einer
Verarbeitungseinheit betrifft.
-
3 zeigt
ein Übersichtsschema,
das die diversen vorgesehenen Verbindungen zwischen zwei beliebigen
Verarbeitungseinheiten darstellt.
-
4 zeigt
eine Grafik, gebildet aus vereinfachten, mit 4A bis 4F bezeichneten
Zeitdiagrammen, betreffend die Übertragung
von Gruppen von Informationen durch eine Einheit.
-
5 zeigt
eine Grafik, bestehend aus vereinfachten, mit 5A bis 5F bezeichneten
Zeitdiagrammen, das eine Operation der Wiederaufnahme der Übertragung
durch eine Einheit betrifft.
-
6 zeigt
eine Grafik, bestehend aus vereinfachten, mit 6A bis 6G bezeichneten
Zeitdiagrammen, das eine Operation des Lesens durch eine Einheit
betrifft.
-
Die in 1 dargestellte
Anordnung umfasst Agenten-Informationsverarbeitungseinheiten, die durch
einen mehradrigen Bus 2, als Interagenten-Austauschbus
bezeichnet, verbunden sind, der hier isoliert gezeigt ist, meistens
aber selbst Teil einer größeren Vorrichtung,
zum Beispiel einer Vermittlungszentrale, ist, wie oben vorgestellt.
-
In einem solchen Fall umfassen die
Verarbeitungseinheiten andere Verbindungen und zum Beispiel einen
anderen Verbindungsbus zu anderen Ausrüstungseinheiten, wobei dies
ohne direkten Zusammenhang mit dem Gegenstand der Erfindung ist und
deshalb hier nicht dargestellt ist.
-
Jede Verarbeitungseinheit ist in
herkömmlicher
Weise um wenigstens einen Prozessor 4, der als leistungsfähig angenommen
wird, organisiert ist, wie oben angegeben, wobei dieser Prozessor
wenigstens einen Speicher 5, hier als privat bezeichnet, umfasst,
der eine zeitweilige und/oder ständige
Speicherung von Daten ermöglicht,
wie zum Beispiel von organisierten Programmdaten oder verarbeiteten oder
zu verarbeitenden, üblicherweise
in bekannter Weise organisierten Daten.
-
Bei dem in 1 dargestellten Ausführungsbeispiel ist auch ein
Cache-Speicher 6 gezeigt, der es bekanntlich erlaubt, diverse
Verarbeitungsoperationen zu beschleunigen. Diese Speicher 5 und 6 kommunizieren
mit dem Prozessor 4 über
einen Bus 7, als Prozessorbus bezeichnet, der auf diesem
Gebiet üblich
ist.
-
Dieser Bus 7 dient auch
dem Datenaustausch zwischen dem Prozessor 4 einer Verarbeitungseinheit 1 und
dem- oder denjenigen der anderen Einheiten (1), die mit
dem gleichen Austauschbus 2 verbunden sind, wobei jede
Einheit 1 über
ein Sender-Empfänger-Modul 8 verfolgt,
das es ihm ermöglicht, über den
Austauschbus zu senden und zu empfangen. Eine Schnittstellenschaltung 9 ist
zwischen das Sender-Empfänger-Modul 8 und
den Prozessor 7 eingefügt,
es umfasst insbesondere eine Schnittstelle 10, als Busprozessor-
und Speicherschnittstelle bezeichnet, eine Schnittstelle 11,
als Interagenten-Austauschbus-Schnittstelle bezeichnet, und eine Schnittstelle 13,
als Lokalbus-Schnittstelle bezeichnet. Bei der betrachteten Ausgestaltung
erlaubt die Schnittstelle des lokalen Busses 13 Informationsaustäusche über den
lokalen Bus 14 für
den Prozessor 4 der Einheit, die diesen Bus umfasst, und
für die Prozessoren
der anderen Einheiten über
den Austauschbus 2 für
diese Letzteren. Dieser Bus 14 bedient zum Beispiel eine
oder mehrere hier nicht dargestellte Anlagen, die mit einer Einheit 1 verbunden sind
und Daten mit dieser austauschen, zum Beispiel ein oder mehrere
(nicht dargestellte) Telefongeräte, einen
Netzzugang, etwa für
einen Token-Ring
oder ein anderes Netz.
-
Die Schnittstellen 10, 11 und 13 haben
die Aufgabe, die Austauschoperationen zwischen den Teilanordnungen
sicherzustellen, zwischen denen sie in Verbindung mit den Steuerstruk turen, üblicherweise
vom Prozessor- oder Automatentyp, eingefügt sind, die diese Unteranordnungen
verwalten und für die
diese Schnittstellen selektiv nach Bedarf verbunden werden, wie
auf dem Gebiet bekannt. Der Prozessorbus 7 ist konstruiert,
um relativ hohe Datenraten zu unterstützen, und er empfängt zu diesem Zweck
Taktsignale mit einer hohen Frequenz, zum Beispiel 66 MHz, in der
Praxis hat er die jeweils kürzestmögliche Länge.
-
Der Austauschbus 2 ist vorgesehen,
um einen Dialog zwischen Informationsverarbeitungseinheiten 1 zu
ermöglichen,
die zum Beispiel eine Nutzung vom Typ Prozessor oder Koppler ermöglicht, die
sich zu diesem Zweck eine Speicheranordnung, als Austauschspeicher
bezeichnet, teilen, deren Bestandteile auf die Einheiten 1 verteilt
sind. Er ist insbesondere vorgesehen, um eine Datenrate zu ermöglichen,
die kompatibel mit schnellen Prozessoren ist, zum Beispiel Übertragungen
im Rhythmus eines Taktes in der Größenordnung von 50 MHz.
-
Wie auf dem Gebiet der Übertragung
auf Datenbussen bekannt, sind die Daten in festgelegter Weise organisiert
und umfassen jeweils eine Mehrzahl von Bits, die einer gesamten
Information oder einem Teil davon entsprechen, sowie komplementäre Bits,
zum Beispiel zur Adressierung, wobei jedes zur Übertragung vorgesehene Datum
zum Beispiel 32 Informationsbits, 32 Adressbits
und komplementäre Paritäts-, Validierungs-,
Transaktionscharakterisierungs- oder andere Bits umfasst.
-
In Anbetracht der beabsichtigten
Informationsübertragungsraten
und aus dem Fachmann bekannten Gründen ist die Zahl von mit einem
Austauschbus 2 verbundenen Einheiten 1 notwendigerweise
begrenzt, wobei diese Zahl zum Beispiel in dem nachfolgend vorgeschlagenen
Ausführungsbeispiel
zwischen 2 und 10 liegt; das Gleiche gilt für die Länge dieses Busses, der zum
Beispiel auf einer Vielschichtkarte realisiert ist und sich zum
Beispiel über
eine Länge
von ca. 30 cm erstreckt.
-
Jede Agenteneinheit 1 ist
zum Beispiel von einer Karte getragen, die mit einer Vielschicht-Backplanekarte
verbunden ist, wo der Austauschbus 2 implantiert ist, wie
auf diesem Gebiet bekannt. Das Sender-Empfänger-Modul 8 ist zum
Beispiel realisiert mit Hilfe von BTL-(Backplane Transceiver Logic)-Komponenten,
zwischen denen die zwischen den Einheiten 1 sowie zwischen
diesen letzteren und dem Arbiter 3 übertragenen oder zu übertragenden Signale
verteilt werden. Die Verteilung der Signale auf die verschiedenen
Komponenten eines Sender-Empfänger-Moduls
wird nach funktionellen Kriterien vorgenommen. Bei einer bevorzugten
Ausgestaltung ist vorgesehen, dass die die Wiedererkennung einer
Empfängereinheit
und den Typ der für eine
Kommunikation zwischen Einheiten vorgesehenen Transaktion betreffenden
Signale von einer gleichen BTL-Komponente
verarbeitet werden, um eine schnellere Verarbeitung der Anforderungen
zu ermöglichen.
Ein an sich bekannter Mechanismus ist vorgesehen, um eine Resynchronisierung
der an einem Sender-Empfänger-Modul 8 ankommenden
Signale auf dem Niveau der BTL-Komponenten, die das Modul bilden,
zu gewährleisten,
so dass die Wiedergabe synchron erfolgt, unabhängig davon, welches die darin
verwickelten Komponenten des Moduls sind.
-
Wie oben angegeben, erfolgen die
Datenaustäusche
zwischen zwei Einheiten 1 über eine Speicheranordnung,
als Austauschspeicher bezeichnet, deren Bestandteile auf die Einheiten
verteilt sind, wobei jede dieser Letzteren folglich einen Speicher, als
Austauschspeicher 15 bezeichnet, umfasst.
-
Die durch einen Austauschbus 2,
seinen Arbiter 3 und die daran angeschlossenen Einheiten 1 gebildete
Anordnung ist organisiert, um die Adressierung mit gemeinsamer Nutzung
der Speicheranordnung, welche die Austauschspeicher 15 der
Einheiten bilden, die Arbitrierung des Austauschbusses und die Datenaustäusche zwischen
den Einheiten zu ermöglichen.
Diese Austäusche
führen
zu Schreiboperationen in der Speicheranord nung, zu Leseoperationen
in der Speicheranordnung und eventuell zu angeschlossenen Operationen,
beispielsweise sogenannten Schlüsselübernahmeoperationen
oder Interagenten-Interrupt-Erzeugungsoperationen.
-
Wie bereits angegeben, sind die Leseoperationen
störend,
wenn die Datenübertragungsgeschwindigkeiten über den
Austauschbus langsam im Vergleich zu den für die Prozessoren möglichen Übertragungsgeschwindigkeiten
sind. Die Schreiboperationen sind weniger störend, wenn es möglich ist,
vorzusehen, dass die auf dem Austauschbus zu übertragenden Daten von den
Prozessoren an Pufferspeicher mit schnellem Zugriff geliefert werden, die
als Zwischenstufe der Übertragung
zwischen diesen Prozessoren und dem Austauschbus dienen.
-
Erfindungsgemäß ist daher vorgesehen, die Aktionen
der Prozessoren, die zu Schreibvorgängen führen, zu privilegieren, um
die Aktionen, die zu Lesevorgängen
führen,
so weit wie möglich
zu begrenzen. So ist vorgesehen, dass eine Einheit, die in ihrem Besitz
Informationen hat, die für
andere Einheiten nützlich
oder notwendig sind, diese Informationen so weit wie möglich mitteilt,
um so weit wie möglich
Lesevorgänge
zu vermeiden, die Anforderungen dieser anderen Einheiten zum Erhalten
dieser Informationen entsprechen.
-
Zu diesem Zweck ist der Austauschspeicher 15 jeder
Einheit aufgeteilt auf alle Agenten, die Zugang zum Austauschbus 2 haben,
und er wird somit von den Prozessoren 4 aller Einheiten 1 gesehen,
die mit diesem Bus verbunden sind, wobei jeder Agent über eine
Speicherzone verfügt,
die durch Software der ihm entsprechenden Einheit im Austauschspeicher 15 jeder
der anderen Einheiten zugewiesen ist.
-
Bei der hier betrachteten Ausgestaltung
ist die Zugangsadresse für
eine Speicherzone, die für einen
der Agenten reserviert ist, definiert durch die physikalische Position
dieses Agenten oder genauer gesagt der ihm entsprechenden Einheit 1 in
Bezug auf die anderen Einheiten 1, die der Austauschbus 2 in
der durch diese Einheiten gebildeten Anordnung bedient.
-
Ein Speicherraum von 1 GB ist zum
Beispiel reserviert für
die globale Adressierung der Austauschspeicher in einem 4 GB-Adressenfeld, er
ist zum Beispiel definiert durch zwei Bits A0, A1, die in einer
auf 32 Bit durchgeführten
Adressierung definiert sind.
-
Jeder Agent bekommt eine Zone für einen Austauschspeicher
reserviert, dessen Größe zum Beispiel
zwischen 8 und 64 MB beträgt,
und es gibt Platz für 16 logische
Adressierungsblöcke
von maximal 64 MB in dem oben definierten Speicherraum.
-
Jeder der Agenten, die hier in einer
Zahl von maximal 10 vorgesehen sind, verfügt über einen logischen Adressierungsblock,
der ihm in Abhängigkeit von
seiner physikalischen Position in Bezug auf die anderen Agenten
zugewiesen ist, wie bereits oben angegeben. Der physikalische Austauschspeicher, über den
jeder Agent verfügt,
befindet sich am Kopf des logischen Blocks, über den dieser Agent verfügt.
-
Die anderen logischen Adressierungsblöcke bilden
virtuelle Austauschspeicherblöcke
und dienen insbesondere zur Adressierung für den lokalen Zugriff und zur
Adressierung für
gruppenweise und allgemeine Verbreitung. Sie können eventuell für zusätzliche
Agenten genutzt werden.
-
Jeder Agent verfügt über die Adressierung für lokalen
Zugriff, bei der es sich um eine ausschließlich durch den Prozessor der
Einheit 1 dieses Agenten realisierbare Adressierung handelt.
-
Eine Verbreitung kann allgemein sein
und von einer Einheit 1 eines Agenten zu allen anderen stattfinden,
sie kann auch gruppenbezogen sein und von einer Einheit zu einer
Gruppe von vorgegebenen Einheiten durchgeführt werden. Eine gleiche Einheit kann
eventuell zu mehr als einer Gruppe gehören.
-
Von den Adressierungsbits eines Blocks, beim
hier gewählten
Beispiel den Bits A2, A3, A4 und A5, wird hier angenommen, dass
sie einer Adresse eines Blocks entsprechen können, der einer Einheit 1 zugewiesen
ist, etwa den Adressen 000, 0001, 0101, 1001 in 2, oder einer Adresse eines Blocks, der lokal
an einer Einheit dem Austauschspeicher 15 zugewiesen ist,
wie etwa der Adresse 1010, oder einer Blockadresse, die
für eine
allgemeine Verbreitung, wie etwa 1111, oder eine gruppenweise Verbreitung vorgesehen
ist, wie etwa 1011. Die lokale Blockadresse, wie etwa 1010, ist
hier vorgesehen, um den von jedem Prozessor 4 einer Einheit
angewendeten Austauschprogrammen zu ermöglichen, die gleiche Kommunikationsadresse
mit dem Austauschspeicher 15 der Einheit zu verwenden,
unabhängig
davon, was die Position dieser Einheit in Bezug auf die anderen
entlang des Austauschbusses 2 ist.
-
Ein Agent hat beispielsweise die
Möglichkeit, auf
den Austauschspeicher 15 der ihm entsprechenden Einheit 1 zuzugreifen,
ohne über
den Austauschbus 2 zu gehen, mit dem diese Einheit verbunden
ist, indem er auf die dieser Einheit entsprechende Blockadresse
zeigt, oder indem er auf die lokale Blockadresse zeigt, oder indem
er auf eine Verbreitungsadresse, die zu einer Gruppe gehört, der
die Einheit angehört,
oder auf eine globale Verbreitungsadresse zeigt.
-
Es ist vorgesehen, dass die Einheiten
zum Schreiben auf Agentenadressen und auf die allgemeinen oder gruppenbezogenen
Verbreitungsadressen der Austauschspeicheranordnung über den
Austauschbus zugreifen können.
Die Lesevorgänge
finden allerdings nur lokal statt, insbesondere an den allgemeinen
oder gruppenbezogenen Verbreitungsadressen im Austauschspeicher
einer Einheit, wenn diese Einheit Teil der in letzterem Fall betroffenen Gruppe
ist, und zwar ohne über
den Austauschbus zu verlaufen.
-
Wie oben angegeben, erfolgt der Zugriff
auf den Austauschbus 2 unter der Steuerung eines Arbiters 3,
wobei hier angenommen wird, dass die Arbitrierung in bekannter weise
mit Hilfe von handelsüblichen,
zu diesem Zweck vorgesehenen Komponenten erfolgt, die hier nicht
weiter im Detail beschrieben werden, da sie mit dem Gegenstand der
vorliegenden Erfindung nur eine indirekte Beziehung haben.
-
Bei einem Ausführungsbeispiel ist der Arbitrierungsprozess
asynchron vorgesehen und führt
dazu, dass der Arbiter 3 Anforderungen zur zeitweiligen Reservierung
des Austauschbusses 2 empfängt, die von den Einheiten
je nach ihren Bedürfnissen
erzeugt werden. Jede Einheit 1, als anrufende Einheit bezeichnet,
die den Bus für
ihre Bedürfnisse
reservieren möchte,
erzeugt ihr eigenes asynchrones Anforderungssignal BR, das sie an
den Arbiter 3 über
eine individuelle leitungsgebundene Verbindung überträgt, um von dort ein Zustimmungssignal
BG zu empfangen, das seinerseits auch individuell übertragen
wird. Ein solches Zustimmungssignal BG wird vom Arbiter 3 an
die erste der anrufenden Einheiten nach Reihenfolge des Eintreffens
der jeweiligen Anforderungssignale dieser Einheiten gesendet. Die Einheit,
die das Zustimmungssignal BG empfängt, wird dann zeitweilig Herrscher
(Master) über
den Austauschbus 2, entweder sofort, wenn der Bus frei ist,
wie durch einen charakteristischen Zustand des Belegungssignals
BUSY angezeigt, oder nach Freigabe des Austauschbusses durch die
Einheit, die diesen zuvor beherrschte und nutzte, wobei diese Freigabe
durch Änderung
des Zustandes des Belegungssignals BUSY signalisiert wird, die von
der Master-Einheit für
die zukünftige
Master-Einheit erzeugt wird. Die zum Busherrscher/Master gewordene Einheit
unterdrückt
dann ihre Anforderung, damit der Arbitrierungsprozess zwischen den
restlichen anrufenden Einheiten weitergehen kann.
-
Die Datenübertragungen über den
Austauschbus 2 erfolgen unter der Kontrolle der Einheit 1,
die zeitweilig Busmaster ist und die zu diesem Zweck eine Taktschaltung 16,
als Austauschtaktschaltung bezeichnet, hat. Die Taktschaltungen 16 der
Einheiten umfassen jeweils einen Sendetakt mit einer gegebenen Frequenz,
die vorzugsweise für
alle Einheiten identisch ist, und ein Taktwiedergewinnungsmodul,
das es erlaubt, die Taktfrequenz, die die von einer anderen Einheit
empfangenen Daten steuert, wiederzugewinnen. Bei dem hier betrachteten Ausführungsbeispiel
werden die von einer zeitweilig zum Master über den Austauschbus 2 gewordenen Einheit 1 gelieferten
Taktsignale von den Einheiten 1, mit denen sie kommuniziert,
erfasst, die sich auf diese Signale synchronisieren. Dies ermöglicht es
insbesondere jeder Einheit 1, Streuungen zu berücksichtigen,
die durch Unterschiede in der Übertragungslänge aufgrund
ihrer jeweiligen Positionen entlang des Austauschbusses verursacht
sind.
-
Die für eine Datenübertragung
zwischen Einheiten über
den Austauschbus 2 notwendigen Verbindungen sind in 3 für zwei von ihnen mit 1 und 1' bezeichnet.
-
Die diversen Verbindungen, die den
Austauschbus 2 bilden, sind mit ihren Enden an spezialisierte
Endschaltungen 17, 17' angeschlossen, die zum Beispiel
mit Hilfe von FUTUREBUS FB1651-Bausteinen aufgebaut sind, die bidirektionale
abtastbare Pufferregister aufweisen und die es erlauben, eine festgelegte
Zahl von Signalen parallel zu verarbeiten. Diese Endschaltungen 17 sollen
hier in jeder Einheit 1 wie etwa den Einheiten 1 und 1' der 3 für Signalübertragungen eingesetzt sein,
die hier entsprechen:
- – n Datensignalen D;
- – m
entsprechenden Adresssignalen, wobei bei einem Ausführungsbeispiel
n = 32 und m = 30 ist;
- – p
Datenschreibvalidierungssignalen BE, wobei p zum Beispiel gleich
4 ist, und die Datenbits byteweise zusammengefasst sind;
- – q
CTRL-Signalen, die den Typ der angeforderten Transaktion kennzeichnen,
wobei q zum Beispiel gleich 4 ist, und die es erlauben,
Schreib- oder Lesevorgänge
von Daten zu identifizieren, die trennbar oder nicht trennbar zusammengefasst
sind, zum Beispiel zu Wörtern
von 32 Bits, zu Gruppen von Wörtern
oder anhand von Positions- oder Funktionsmerkmalen;
- – r
Paritätssignalen
PAR, die wenigstens bestimmte der anderen übertragenen Signale, insbesondere
die Validierungssignale BE betreffen;
- – das
vom Sendetaktgeber der Master-Einheit 1 erzeugte Taktsignal
CLK zum Takten des Sendens der Adresssignale der q CTRL-Signale
und der die vorhergehenden Signale betreffenden Paritätssignale,
wobei dieses Signal auch die n Datensignale, die p Datenvalisierungssignale
und die entsprechenden Paritätssignale
bei einem Schreiben taktet, es wird auf dem Bus mit diesen diversen
Signalen gesendet;
- – ein
Taktsignal CLKD zur Synchronisierung des Busses beim Empfang, wobei
dieses Signal beim Empfänger
dem vom Busmaster gesendeten Signal CLK entspricht;
- – ein
Wartesignal WAIT und ein Haltsignal HALT, die jeweils von einer
Empfängereinheit
gesendet werden, wenn ihre Empfangskapazitäten zeitweilig Gefahr laufen,
nicht auszureichen, oder wenn diese Einheit nicht im Stande ist,
Informationen zu verarbeiten.
-
Jede der Einheiten 1 oder 1' erzeugt Sendetaktsignale,
hier je nach Einheit mit CLK oder CLK' bezeichnet, und kommuniziert mit dem
Arbiter über Anforderungssignale
BR oder BR', wobei
der Arbiter in Reaktion individuelle Zustimmungssignale BG oder
BG' liefert, wie
oben beschrieben. Ein Anforderungsanwesenheitssignal BRX wird ebenfalls
an die Einheiten und insbesondere an die dann den Austauschbus beherrschende
Einheit gesendet, um ihr das Vorhandensein oder Nicht-Vorhandensein
einer von einer anderen Einheit kommenden Anforderung zu signalisieren.
-
Ein Schreiben in die Austauschspeicheranordnung
erfolgt im Rhythmus des Sendetaktes, den die Agenteneinheit erzeugt,
als die in dem Zeitdiagramm 4A die Einheit 1 angenommen
wird, der die Herrschaft über
den Austauschbus 2 von dem Arbiter 3 verliehen
worden ist, wobei dieser Takt im Zeitdiagramm 4A mit CLK1
bezeichnet ist. Wie oben beschrieben, zeigt ein Zustandswechsel
des Signals BUSY die Verfügbarkeit
des Austauschbusses an, die den Beginn einer Schreiboperation ermöglicht. Das
von einer Einheit für
eine Schreiboperation gesendete Synchronisationssignal CLK ist gebildet durch
das von der zum Master über
den Austauschbus gewordenen Einheit 1 gelieferte Taktsignal
CLK, sobald der Zustand dies zulässt,
und eine Zustandsänderung
des Signals BUSY, wobei eine solche Änderung im Zeitdiagramm 4B dargestellt
ist. Eine Verzögerung
entsprechend einem Zyklus des Taktsignals ist zum Beispiel für das Auftreten
des Signals CLK nach einer Zustandsänderung des Signals BUSY vorgesehen.
-
Der Empfang des Takt- und Synchronisationssignals
CLKD durch eine Empfängereinheit
wie zum Beispiel 1' wird
von letzterer zum Schreiben von Daten in den Pufferspeichern genutzt,
die sich in der Prozessorbus-Austauschspeicher-Schnittstelle 10 und
in der Interagenten-Austauschbus-Schnittstelle 11 befinden.
Dieser Takt CLKD wird zum Beispiel über eine herkömmliche
Taktwiedergewinnungsschaltung erhalten. Das Vorhandensein von Pufferspeichern
vom FIFO-Typ am Empfangsteil der Empfängereinheit erlaubt es, für diese
Wiedergewinnung die von der Sendereinheit 1 kommend empfangenen Signale
zu berücksichtigen,
die dann in den Pufferspeichern gespeichert werden, um auf die Verfügbarkeit
des Zuganges zum Austauschspeicher zu warten.
-
Die Adressbits A, Informationsdatenbits
D, Sendedatenvalidierungsbits BE und Paritätsbits PAR werden dann parallel
von der Empfängereinheit 1 über parallele
Verbindungen empfangen, die für
sie auf dem Austauschbus gruppenweise entsprechend dem Typ der vorgesehenen
Transaktion reserviert sind, wie etwa die Informationsgruppe i1,
symbolisch dargestellt im Zeitdiagramm 4E. Mehrere Gruppen von
Informationen wie i1, i2, i3, i4 können nacheinander ohne Unterbrechung übertragen
werden, wenn sie in der Sendeeinheit 1 im Wartezustand sind und letztere
kein Signal WAIT oder HALT empfängt.
Wie bereits oben gesagt, wird ein WAIT-Signal an eine dann sendende
von einer dann empfangenden Einheit übertragen, wenn die Empfangsdatenspeicherkapazitäten dieser
empfangenden Einheit Gefahr laufen, zeitweilig überlastet zu werden, wenn das Senden
von neuen Daten durch die dann sendende Einheit weitergeht. Eine
Sendepause wird dann durchgeführt,
um die Entlastung der empfangenden Einheit, die das WAIT-Signal
erzeugt hat, zu ermöglichen.
-
Die Zeitdiagramme 5A bis 5F zeigen
Beispiele von Operationen, deren Ablauf durch Zustandsänderungen
des WAIT-Signals, hier vom asynchronen Typ, beeinflusst wird.
-
Sobald das WAIT-Signal nach Rücknahme durch
eine entlastete Empfängereinheit
in einen Ruhezustand zurückkehrt,
nimmt die dann den Austauschbus 2 beherrschende Einheit,
die das Belegt-Signal BUSY aufrechterhält, die unterbrochenen Schreiboperationen
wieder auf, wie die Zeitdiagramme 5A bis 5F zeigen.
Diese Wiederaufnahme soll hier einen Taktzyklus nach der Zustandsänderung des
WAIT-Signals stattfinden.
-
Wenn eine neue Sendeunterbrechung
von der Empfängereinheit über eine
neue Zustandsänderung
des WAIT-Signals verlangt wird, wird letzteres erneut an die den
Austauschbus 2 beherr schende Einheit 2 übertragen,
die wiederum das laufende Senden von neuen Daten an einer letzten
Gruppe wie etwa der Gruppe i3 unterbricht, die im dargestellten
Beispiel unmittelbar auf die Gruppen i1 und i2 folgt. Bei der hier
betrachteten Ausgestaltung wird die Gruppe von Informationen i3
weiter erzeugt, sie wird aber von der Empfängereinheit nicht mehr berücksichtigt,
wenn das CTRL-Signal, das sie ebenfalls von der Master-Einheit empfängt, nicht
mehr ein Funktionscode ist, der ein Schreiben erfordert, sondern
nun einem NOP-Funktionscode entspricht, der jeder Empfängereinheit
anzeigt, dass die gleichzeitig gesendete Gruppe von Informationen
nicht berücksichtigt
werden soll.
-
Wenn nach Freigabe durch die zuvor überlastete
Empfängereinheit
das WAIT-Signal in den Ruhezustand zurückkehrt, nimmt die den Austauschbus beherrschende
Einheit, wie bereits angegeben, die unterbrochenen Schreiboperationen
durch ein neues Senden der letzten gesendeten Gruppe, hier also
der Gruppe i3, mit einem Funktionscode NOP auf, bevor sie irgendeine
andere Gruppe, wie hier i4, sendet. Überwachungsmittel sind, wie
im Stand der Technik bekannt, vorgesehen, um jede Blockierung des
Austauschbusses 2 durch eine der daran angeschlossenen
Einheiten im Fall einer Schaltungs- oder Programmstörung zu
verhindern.
-
Das Signal BRX ermöglicht es
außerdem
einer zeitweiligen Busmaster-Einheit, die Herrschaft über den
Austauschbus zu behalten, wenn keine Anforderung nach dieser Herrschaft
im Wartezustand ist. Dies erlaubt es insbesondere einer Einheit,
die Herrschaft über
den Austauschbus 2 für
einen möglicherweise
langen Monolog ohne störenden
Eingriff des Arbiters 3 zu behalten, zum Beispiel im Laufe
eines von der Busmaster-Einheit
ausgehenden Fernladevorganges, oder wenn die Informationsrate sporadisch
und sehr gering ist.
-
Die maximale Rate einer Schreibeinheit
impliziert eine Nicht-überlappung
zwischen Zyklen der Arbitrierung und der Übertragung der Daten über den Austauschbus 2.
Die für
die möglichen
Minimal- und Maximalzeiten zu berücksichtigende Gesamtzeit entspricht
der Summe aus einer Zeit für
die Übernahme des
Austauschbusses, der Synchronisationszeit einer Empfängereinheit
mit dem Taktgeber der neuen Busmaster-Einheit, einem Taktzyklus
der Busmaster-Einheit für
die Vorbereitung der dem ersten Datum entsprechenden Gruppe von
Bits und einem Taktzyklus der Busmaster-Einheit zum Senden dieses
ersten Datums. Jedes neue anschließend gesendete Datum fügt einen
weiteren Master-Taktzyklus hinzu. Je nach Position der Einheiten
entlang des Austauschbusses gibt es notwendigerweise eine Streuung
der Minimal- und Maximalzeiten. Es ist zu beachten, dass aufgrund
der Möglichkeiten,
Informationen salven- oder burstweise zu schicken, die Übertragung
um so leistungsfähiger
abläuft,
je größer die Last
ist, weil die Rate sich fortschreitend an die Datenlast anpasst,
indem sie mit dieser Last zunimmt.
-
Die maximale Schreibrate des Austauschbusses
wird entsprechend festgelegt, und die zum Festlegen der möglichen
Minimal- und Maximalzeiten zu berücksichtigende Gesamtzeit ist
gleich der Summe aus einer Zeit für die Freigabe des BUSY-Signals, der Synchronisationszeit,
einem Master-Takt für
die Vorbereitung der dem ersten Datum entsprechenden Gruppe von
Bits und einem Taktzyklus pro anschließend gesendetem Datum.
-
Ein Lesen in der Speicheranordnung
erfolgt ebenfalls im Rhythmus des Sendetaktes CLK1, den die dann
als Master über
den Bus 2 fungierende Agenteneinheit erzeugt, wobei diese
Einheit wiederum die Einheit 1 im Zeitdiagramm 6A sein
soll. Diese Master-Einheit sendet ein CTRL-Signal, das einem Lesebefehl "read" entspricht, wie
in dem Zeitdiagramm 6C gezeigt, und ein Signal A, das eine
Leseadresse "adr" definiert, wie im
Zeitdiagramm 6D gezeigt, sobald der Zustand oder eine Än derung
des Zustandes des BUSY-Signals dies zulässt, wie das Zeitdiagramm 6B zeigt.
Auf den Lesebefehl "read" folgt hier unmittelbar
eine Funktionscodefolge NOP, so lange das Ergebnis der angeforderten
Leseoperation nicht erhalten worden ist.
-
Das Takt- und Synchronisationssignal
CLKD, das eine Empfängereinheit
von der Master-Einheit kommend empfängt, wird von ersterer benutzt,
um den Lesebefehl wiederzugewinnen, sowie die Adresse wo dieses
Lesen in dem Austauschspeicher 15 dieser Empfängereinheit
stattfinden soll, sofern das Lesen in diesem Austauschspeicher geschehen
soll. Ein Datensignal D, das der Information entspricht, die sich
an der angegebenen Adresse im Austauschspeicher 15 befindet,
und ein entsprechendes Validierungssignal BE werden dann von der
Empfängereinheit
des Lesebefehls mit einem Synchronisationssignal CLK' vom Taktgeber CLK
der Einheit 1' gesendet,
wie die Zeitdiagramm 6E bis 6G zeigen. In dem
betrachteten Ausführungsbeispiel
ist eine durch Lesen bei einer gegebenen Adresse erhaltene Information
während
eines Taktzyklus auf den Adern des Austauschbusses, über den
sie übertragen
wird, vorhanden. Die Zahl von Synchronisationssignalen, die von
einer Empfängereinheit
geliefert werden, ist abhängig
vom Typ der von einer Master-Einheit angeforderten Transaktion,
zum Beispiel ein CTRL-Code mit 4 Bits vom Wert 0010, wenn das Lesen
eines Wortes von 32 Bits angefordert worden ist, oder ein CTRL-Code
mit dem Wert 0011, wenn das Lesen von zwei Wörtern von 32 Bits vorgesehen
ist, etc.
-
Bei einer bevorzugten Ausgestaltung
ist vorgesehen, dass eine Leseanforderung durch eine zeitweilige
Master-Einheit nur ab dem Moment durchführbar ist, wo sie zuvor alle
auf das Senden wartenden Schreiboperationen durchgeführt hat.
Genauso kann eine Empfängereinheit
ein Lesen im Austauschspeicher erst ab dem Moment durchführen, wo sie
zuvor alle vom Austauschbus 2 kommenden, auf Ausführung wartenden
Schreiboperationen in den Austauschspeicher erledigt hat.
-
Die maximale Rate einer Leseeinheit
impliziert die Berücksichtigung
einer Gesamtzeit, die erhalten wird durch Summieren einer Zeit für die Übernahme
des Austauschbusses, der Resynchronisationszeit, einem Master-Taktzyklus
für die
Vorbereitung der der Leseanforderung entsprechenden Gruppe von Bits,
einem Master-Taktzyklus zum Senden dieser Gruppe von Bits, der Übertragungszeit
dieser Gruppe von Bits und des sie begleitenden Signals, die zum
Wiederherstellen einer Leseanforderung durch die Einheit, an die
diese gesendet worden ist, erforderlichen Zeit, der Resynchronisationszeit,
der Arbitrierungszeit eines nicht dargestellten Zugriffsbusses für den Zugriff
auf den Austauschspeicher, der zum Lesen des adressierten Datums
in dem dieses enthaltenden Austauschspeicher notwendigen Zeit, der
für den
Leseverarbeitungsautomaten notwendigen Zeit, der Resynchronisationszeit
auf den Sendetakt CLK des Empfängers,
der Übertragungszeit
des Datenwertes und des ihn begleitenden Taktsignals und ggf. der
Zeit für
die Resynchronisation der den Datenwert bildenden zusammengefassten Bits
durch die Master-Einheit.