DE69325859T2 - Zum Sender synchronisierter Bus ohne metastabilen Zustand - Google Patents
Zum Sender synchronisierter Bus ohne metastabilen ZustandInfo
- Publication number
- DE69325859T2 DE69325859T2 DE69325859T DE69325859T DE69325859T2 DE 69325859 T2 DE69325859 T2 DE 69325859T2 DE 69325859 T DE69325859 T DE 69325859T DE 69325859 T DE69325859 T DE 69325859T DE 69325859 T2 DE69325859 T2 DE 69325859T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- clock signal
- bus
- signal
- clock
- 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
- 230000001360 synchronised effect Effects 0.000 title claims description 40
- 230000005540 biological transmission Effects 0.000 claims description 40
- 238000012546 transfer Methods 0.000 claims description 39
- 230000002452 interceptive effect Effects 0.000 claims description 23
- 238000000034 method Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 18
- 230000008878 coupling Effects 0.000 claims description 12
- 238000010168 coupling process Methods 0.000 claims description 12
- 238000005859 coupling reaction Methods 0.000 claims description 12
- 230000010365 information processing Effects 0.000 claims 4
- 239000003795 chemical substances by application Substances 0.000 description 103
- 238000010586 diagram Methods 0.000 description 16
- 230000001934 delay Effects 0.000 description 6
- 230000015654 memory Effects 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
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
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4217—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Dram (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf ein Verfahren und Einrichtungen zum Übertragen von Informationen zwischen einer Mehrzahl von Datenverarbeitungseinrichtungen. Insbesondere bezieht sich die vorliegende Erfindung auf einen verbesserten Computerbus, der sowohl quellensynchronisierte Datenübertragungen als auch globalsynchronisierte Übertragungen von Zuteilungsentscheidungs- und Konsistenzinformationen verwendet, was die Resynchronisation und Metastabilität beseitigt.
- In der Computerindustrie ist es weitgehend üblich, Informationen zwischen einer Mehrzahl von Datenverarbeitungseinrichtungen, wie beispielsweise Prozessoren, Speichern, Eingabe-/Ausgabeeinrichtungen, Peripheriesteuereinrichtungen und dergleichen, auf einem Systembus zu übertragen. Ein Systembus ist im wesentlichen eine Ansammlung von Drähten, welche die verschiedenen Einrichtungen miteinander in einer vorgeschriebenen Weise verbinden. Typischerweise enthält ein Systembus Adreßleitungen, Datenleitungen, Taktleitungen, Stromversorgungsleitungen und eine Anzahl von Steuersignalleitungen. Häufig muß der Zugriff zu den Systembus als einer geteilten Ressource unter Bewerbern entschieden werden (arbitrated), und ein Busprotokoll oder eine "Handshake"-Routine wird von sämtlichen mit dem Bus gekoppelten Datenverarbeitungseinrichtungen beachtet. Ein solches Busprotokoll erfordert es, daß eine vorgegebene Sequenz von Ereignissen vor dem tatsächlichen Austausch von Daten zwischen den mit dem Bus gekoppelten Einrichtungen stattfindet.
- Die Gesamtgeschwindigkeit und Leistung eines bestimmten Datenverarbeitungssystems wird beträchtlich durch die Konstruktion und das Betriebsverfahren, die bzw. das von seinem Systembus benutzt werden, beeinflußt. Zwei Maße der Systembusleistung sind die Verzögerung (Latenz) und der Durchsatz. Die Verzögerung ist die Zeitverzögerung zwischen einer Anforderung einer Einrichtung zur Benutzung des Busses und einer Gewährung dieser Anforderung durch einen Zuteilungsentscheider (Arbiter). Der Durchsatz bezieht sich auf die Rate, bei welcher eine Einrichtung Daten auf den Bus übertragen kann, sobald ihr das Recht dazu gewährt worden ist.
- Üblicherweise werden die einer Buszugriffsanforderung entsprechenden Daten in einem Mehr-Zyklus-Paket übertragen, weil die Anzahl der Informationsbits, die zu übertragen sind, ein Vielfaches der Anzahl der zum Übermitteln der Daten verwendeten Busdrähte ist. Es ist wünschenswert, daß die Datenübertragung einen hohen Durchsatz hat. Zuteilungsentscheidungs- und Cache-Konsistenzinformationen stellen jedoch nur wenige Informationsbits pro Buszugriff dar, und es sind üblicherweise genug Busdrähte vorgesehen, um diese Informationen in einem oder zwei Zyklen zu übertragen. Bei diesen Informationen ist folglich eine geringere Verzögerung wichtiger als ein hoher Durchsatz.
- Folglich ist ein Bus mit einer geringen Verzögerung und einem hohen Durchsatz erwünscht, um die für eine bestimmte Datenverarbeitungsaufgabe erforderliche Berechnungszeitdauer zu minimieren. Mit der ansteigenden Verwendung eines Multi- Prozessing ist es ferner wichtig, daß eine Buseinrichtung und ein Betriebsverfahren ein Multi-Prozessing unterstützt.
- Eine Datenübertragung über einen Bus kann unter Verwendung globalsynchronisierter Datenübertragungen oder quellensynchronisierter Datenübertragungen ausgeführt werden. Bei einer globalsynchronisierten Datenübertragung stellt ein zentraler Globaltaktgeber die Taktung für sämtliche Einrichtungen, einschließlich der die Daten sendenden und der die Daten empfangenden Dateneinrichtungen, zur Verfügung. Im Gegensatz dazu sendet bei einer quellensynchronisierten Datenübertragung die Einrichtung, die die Daten sendet, sowohl die Daten als auch das Taktsignal an die empfangende Einrichtung. Bei einer quellensynchronisierten Datenübertragung werden die Daten häufig in einem Datenpuffer innerhalb der empfangenden Einrichtung unter Verwendung des empfangenen Taktes gespeichert, bis die empfangende Einrichtung bereit ist, die Daten zu lesen. Wenn die Daten aus diesem Datenpuffer gelesen werden, werden sie unter der Steuerung eines lokalen Taktes auf der empfangenden Einrichtung ausgelesen. Im Stand der Technik erforderte ein solcher Prozeß typischerweise eine Neusynchronisation mit dem begleitenden Risiko der Metastabilität.
- Es wird auf EP-A-0 347 557 (IBM Corporation) Bezug genommen, welche einen synchronen parallelen Datenbus offenbart, der für eine Verwendung in einem Datenverarbeitungssystem angepaßt ist, wo es erforderlich ist, Daten über lange Distanzen zu übertragen. Wenn Daten von einer Ferneinheit zu einer Basiseinheit gesendet werden, wird das Taktsignal, welches von der Basiseinheit herrührt und zu der Ferneinheit gesendet worden ist, "umgedreht" und zurück zu der Basiseinheit zur Verwendung beim Empfang der Daten aus der Ferneinheit gesendet. Die Taktsynchronisation wird durch Aufrechterhaltung äquivalenter Verdrahtungspfade für den Takt und die Daten gesichert.
- Gemäß der vorliegenden Erfindung wird eine Einrichtung und ein Verfahren zur Verfügung gestellt, wie sie bzw. es in den angefügten Ansprüchen 1 bzw. 6 angegeben ist. Bevorzugte Merkmale der Erfindung sind in den abhängigen Ansprüchen angegeben.
- Es wird ein quellensynchronisierter Hochgeschwindigkeitsbus offenbart, der frei von Metastabilitäten ist. Der Bus findet insbesondere Anwendung bei Multi-Prozessor-Computersystemen. Der Bus benutzt quellensynchronisierte Hochgeschwindigkeitsdatenübertragungen und globalsynchronisierte Übertragungen geringerer Geschwindigkeit für Zuteilungsentscheidungs- und Konsistenzinformationen. Es wird ein erstes Ausführungsbeispiel offenbart, bei dem ein Hochgeschwindigkeitstaktsignal und ein Taktfreigabesignal geringerer Geschwindigkeit global von einem zentralen Zuteilungsentscheider zu mit dem Bus gekoppelten Teilnehmern verteilt wird. Wenn einem Teilnehmer die Kontrolle über den Bus gewährt wird, benutzt dieser Teilnehmer das Hochgeschwindigkeitstaktsignal, das von dem zentralen Zuteilungsentscheider zur Verfügung gestellt wird, um quellensynchronisierte Datenübertragungen auszuführen. Das Hochgeschwindigkeitstaktsignal wird zu einer Datentaktleitung "weitergeleitet", während synchron die Daten mit Datenleitungen gekoppelt werden. Die Daten werden so von einem sendenden Teilnehmer zu einem empfangenden Teilnehmer auf eine quellensynchronisierte Weise unter Verwendung des "weitergeleiteten" Hochgeschwindigkeitstaktsignals übertragen.
- Zuteilungsentscheidungsanforderungen und Zuteilungsgewährungen werden im Gegensatz dazu bei der Rate des langsameren Taktfreigabesignals auf eine globalsynchrone Weise verarbeitet. Bei einem ersten Ausführungsbeispiel steuert ein langsameres Globaltaktfreigabesignal die Verarbeitung von Zuteilungsentscheidungsinformationen über eine langsamere Globaltaktfreigabeleitung, die ausgehend von dem zentralen Zuteilungsentscheider mit jedem Teilnehmer gekoppelt ist. Dieses Ausführungsbeispiel vermeidet das Erfordernis der Resynchronisation und beseitigt die Möglichkeit der Metastabilität, indem es von dem zentralen Zuteilungsentscheider (Arbiter) bei der langsameren Rate des Globaltaktfreigabesignals Informationen über die Anzahl der Zyklen von übertragenen Daten übermittelt ("interaktive" Informationen). Auf diese Weise empfängt der empfangende Teilnehmer diese "interaktiven" Informationen auf eine global synchrone Weise und konsumiert die Daten, wenn sie innerhalb des Empfangsdatenpuffers stabil sind. Dieses Ausführungsbeispiel unterstützt auf einfache Weise ein cache-kohärentes Multi- Processing und wird vorteilhaft bei einem paketvermittelten Protokoll benutzt. Die Totzeit zwischen Datenpaketen wird bei der vorliegenden Erfindung dadurch minimiert, daß der zentrale Zuteilungsentscheider in der Mitte des Busses angeordnet wird.
- Es wird ein alternatives Ausführungsbeispiel offenbart, bei dem ein Taktsignal geringerer Geschwindigkeit global an eine Mehrzahl von Teilnehmern und einen zentralen Zuteilungsentscheider verteilt wird. Dann erzeugt jeder Teilnehmer ein Hochgeschwindigkeitstaktsignal, das gegenüber diesem Taktsignal geringerer Geschwindigkeit phasenverriegelt wird, und dieses schnelle Taktsignal wird dann für quellensynchronisierte Hochgeschwindigkeitsdatenübertragungen benutzt. Zuteilungsentscheidungs- und Konsistenzinformationen werden bei der Rate des Taktsignals geringerer Geschwindigkeit behandelt. Bei dem alternativen Ausführungsbeispiel werden Resynchronisation und Metastabilität durch die Verwendung eines Kopfteilsignals vermieden, das den Beginn eines Datenpakets signalisiert und bei der Rate des Taktsignals der geringeren Geschwindigkeit gesendet wird.
- Weitere Details werden im folgenden unter Zuhilfenahme von in den beigefügten Zeichnungen veranschaulichten Beispielen erläutert, wobei in den Zeichnungen:
- Fig. 1 eine Blockdarstellung ist, die die Komponenten eines möglichen Computersystems veranschaulicht, in welchem die vorliegende Erfindung benutzt werden kann.
- Fig. 2 veranschaulicht in vereinfachter Form die bei einer globalsynchronen Datenübertragung benutzten Schaltungen.
- Fig. 3 veranschaulicht in vereinfachter Form die bei einer quellensynchronisierten Datenübertragung benutzten Schaltungen.
- Fig. 4 veranschaulicht in Blockschaltbildform eine Übersicht der Einrichtung und des Verfahrens des gegenwärtig bevorzugten Ausführungsbeispiels.
- Fig. 5 veranschaulicht die zeitlichen Beziehungen zwischen den von einem sendenden Teilnehmer ausgegebenen Datenübertragungssignalen und den durch einen empfangenden Teilnehmer empfangenen Datenübertragungssignalen.
- Fig. 6 veranschaulicht ein Ausführungsbeispiel der bei quellensynchronisierten Datenübertragungen zum Weiterleiten des globalverteilten Taktsignals verwendeten Schaltungen.
- Fig. 7A und B veranschaulichen die globale Synchronisation von Zuteilungsentscheidungsanforderungen und Konsistenzinformationen.
- Fig. 8 veranschaulicht das Verfahren und die Einrichtung gemäß der vorliegenden Erfindung zum Eliminieren einer Resynchronisation und Metastabilität.
- Fig. 9 veranschaulicht die vorteilhafte Anordnung des zentralen Zuteilungsentscheiders in der Mitte des Busses gemäß der vorliegenden Erfindung.
- Fig. 10A veranschaulicht drei Teilnehmer, die mit dem Bus gemäß der vorliegenden Erfindung gekoppelt sind.
- Fig. 10B, 10C, 10D und 10E veranschaulichen Zeitdiagramme für eine Reihe von Datenübertragungskontexten.
- Fig. 11 veranschaulicht in Blockschaltbildform ein alternatives Ausführungsbeispiel der vorliegenden Erfindung.
- Fig. 12 veranschaulicht in vereinfachter Form die Schaltungen in dem sendenden Teilnehmer, die zum Ausführen quellensynchronisierter Hochgeschwindigkeitsdatenübertragungen benutzt werden.
- Fig. 13 veranschaulicht die Datentaktsignale für ein Zwei-Zyklus-Paket und ein Neun-Zyklus-Paket.
- Fig. 14 veranschaulicht ein Zeitdiagramm für die Datenübertragungssignale, die bei dem alternativen Ausführungsbeispiel benutzt werden.
- Fig. 15 veranschaulicht in vereinfachter Form die Schaltungen in dem empfangenden Teilnehmer, die zum Empfangen von quellensynchronisierten Datenübertragungen benutzt werden.
- Fig. 16A und 16B veranschaulichen die Freigabesignalformen für ein Zwei-Zyklus-Paket und ein Neun-Zyklus-Paket.
- Es wird ein verbesserter Hochgeschwindigkeitsbus beschrieben, der speziell für eine Verwendung in Computersystemen Anwendung findet. In der folgenden Beschreibung werden aus Gründen der Erläuterung zahlreiche Details angegeben, wie beispielsweise spezielle Frequenzen, Bandbreiten, Datenpfade, etc., um ein besseres Verständnis der vorliegenden Erfindung zu erreichen. Für einen Fachmann ist es jedoch klar, daß die vorliegende Erfindung auch ohne diese speziellen Details ausgeführt werden kann. An anderen Stellen der nachfolgenden Beschreibung werden gut bekannte elektrische Strukturen und Schaltungen in Blockschaltbildform gezeigt, um die vorliegende Erfindung nicht unnötig zu verdunkeln. Während die vorliegende Erfindung in einem bestimmten Kontext beschrieben werden wird, ist es für einen Fachmann klar, daß die vorliegende Erfindung in keiner Weise auf diesen speziellen Kontext eingeschränkt ist, sondern statt dessen Anwendung bei einer großen Vielzahl von Datenverarbeitungssystemen findet. Insbesondere wird die vorliegende Erfindung vorteilhafterweise innerhalb eines Systems benutzt, das durch paketvermittelte Datenübertragungen, Cache-Konsistenz, Snooping und Pipelining Geteilt/Besitzer- Informationen gekennzeichnet ist. Die vorliegende Erfindung ist insbesondere gut geeignet für die Anwendung in Verbindung mit dem System und dem Busprotokoll, das in den drei US-Patentanmeldungen offenbart ist, die durch Sindhu et al. am 30. November 1990 angemeldet und dem Mitinhaber der vorliegenden Anmeldung, der Xerox Corporation, übertragen wurden, und die den Titel haben: CONSISTENT PACKET-SWITCHED MEMORY BUS FOR SHARED MEMORY MULTI-PROCESSORS, CONSISTENCY PROTOCOLS FOR SHARED MEMORY MULTI-PROCESSORS, CONSISTENCY PROTOCOLS FOR SHARED MEMORY MULTI-PROCESSORS und ARBITRATION OF PACKET-SWITCHED BUSES INCLUDING BUSES FOR SHARED MEMORY MULTI-PROCESSORS.
- Es wird jetzt auf Fig. 1 Bezug genommen, in der die Komponenten eines möglichen Computersystems gezeigt sind, in welchem die vorliegende Erfindung benutzt werden kann. Bei diesem grundlegenden System kommuniziert eine zentrale Verarbeitungseinheit (CPU) 20 mit einer Reihe von datenverarbeitenden und Peripherieeinrichtungen über den Bus 100. Für die Zwecke dieser Beschreibung werden Datenverarbeitungs- und Peripherieeinrichtungen, welche mit dem Bus 100 gemäß der vorliegenden Erfindung gekoppelt sind, im folgenden kollektiv als "Teilnehmer" bezeichnet. In dieser Figur umfassen diese Teilnehmer: eine Speichersteuereinrichtung 22, die mit einem DRAM 24 gekoppelt ist, eine Eingabe- /Ausgabeeinrichtung 26, die darüber hinaus mit einem I/O-Bus 28 gekoppelt ist, und ein GFX-Modul 30. Weitere Teilnehmer umfassen Coprozessoren, Plattenschnittstellen oder Netzwerkschnittstellen, die zu dem Datenverarbeitungssystem hinzugefügt werden können, wenn sie gewünscht werden.
- Es wird weiterhin auf Fig. 1 Bezug genommen; Bus 100 enthält eine Mehrzahl von einzelnen Leitungen, welche Daten- und Steuersignale zu den verschiedenen Teilnehmern in dem Computersystem führen. Ein zentraler Zuteilungsentscheider 150 entscheidet über Anforderungen für eine Kontrolle über den Bus 100 von den mit dem Bus 100 gekoppelten Teilnehmern. Datenübertragungen finden über den Bus 100 statt. Wie beschrieben werden wird, benutzt der Bus 100 gemäß der vorliegenden Erfindung vorteilhafterweise sowohl quellensynchronisierte Hochgeschwindigkeitsdatenübertragungen als auch langsamere globalsynchronisierte Übertragungen von Zuteilungsentscheidungsanforderungen und Cache-Konsistenz-Informationen. Darüber hinaus eliminiert der Bus 100 gemäß der vorliegenden Erfindung in effektiver Weise die Probleme der Metastabilität, die der Resynchronisation zugeordnet sind. Die fundamentale Differenz zwischen quellensynchronisierten Datenübertragungen und globalsynchronisierten Datenübertragungen über einen Bus wird jetzt beschrieben.
- Es wird jetzt auf Fig. 2 Bezug genommen, wobei diese Figur in vereinfachter Form die bei einer globalsynchronisierten Datenübertragung zwischen einem Daten sendenden Teilnehmer, der hier als sendender Teilnehmer 40 gezeigt ist, und einem die Daten empfangenden Teilnehmer, der hier als empfangender Teilnehmer 50 gezeigt ist, verwendete Schaltungsanordnung veranschaulicht. Wie es in Fig. 2 veranschaulicht ist, enthält der sendende Teilnehmer 40 einen Flip-Flop 42, der mit einem Treiber 44 gekoppelt ist, während der empfangende Teilnehmer 50 einen mit einem Flip-Flop 52 gekoppelten Empfänger 54 enthält. Ein zentraler Globaltakt 60 stellt ein globales Taktsignal sowohl dem sendenden Teilnehmer 40 als auch dem empfangenden Teilnehmer 50 zur Verfügung. Um den Versatz dieser Taktsignale zu vermeiden, sind die zum Koppeln des Globaltaktes 60 mit dem sendenden Teilnehmer 40 und dem empfangenden Teilnehmer 50 verwendeten Drähte idealerweise von gleicher Länge und gleichen elektrischen Eigenschaften.
- Gemäß Fig. 2 werden die Daten von dem sendenden Teilnehmer 40 zu dem empfangenden Teilnehmer 50 über die Datenleitung 46 übertragen. (Aus Gründen der Veranschaulichung ist eine einzige Datenleitung gezeigt; in der wirklichen Anwendung würde eine Mehrzahl derartiger Datenleitungen verwendet werden, die im wesentlichen parallel laufen, um ein Byte oder Bytes von Informationen zu führen.) Insbesondere werden die zu übertragenden Daten anfänglich aus dem Flip-Flop 42 unter der Steuerung des zentralen globalen Taktgebers 60 hinausgetaktet. Die Daten werden dann zum Treiber 44 gesendet, welcher die Daten auf die Datenleitung 46 treibt. Die Daten breiten sich dann von dem sendenden Teilnehmer 40 zu dem empfangenden Teilnehmer 50 aus, wo sie durch den Empfänger 54 empfangen werden, welcher die Daten dem Flip-Flop 52 präsentiert. Die Daten werden in das Flip- Flop 52 unter der Steuerung durch den zentralen globalen Taktgeber 60 getaktet.
- Es ist klar, daß globalsynchrone Datenübertragungen notwendigerweise signifikante Verzögerungen enthalten. Zunächst sei angemerkt, daß in einer Taktperiode nur ein einziges Bit von dem sendenden Teilnehmer 40 zu dem empfangenden Teilnehmer 50 auf der Datenleitung 46 übertragen werden kann. Somit ist die Rate, bei welcher Bits über die Datenleitung 46 ausgetauscht werden können, gleich der Frequenz des Taktes. Unglücklicherweise wird die Frequenz des Taktes von einer Reihe von Verzögerungen eingeschränkt, die der Übermittlung elektrischer Signale von einem Ort zum anderen innewohnen. Um Daten zuverlässig vom sendenden Teilnehmer 40 zum empfangenden Teilnehmer 50 zu senden, muß die Periode des Taktes (1/Frequenz) größer als diejenige sein, die ein Signal benötigt, um sich vom sendenden Flip-Flop 42 über den Treiber 44 über die Datenleitung 46 und durch den Empfänger 54 hindurch auszubreiten, bevor er das empfangende Flip-Flop erreicht und in ihm registriert wird.
- Darüber hinaus sind bei der praktischen Implementierung eines solchen Systems die tatsächlichen Drähte, die zum Verteilen des zentralen globalen Taktes 60 zu dem sendenden Teilnehmer 40 und dem empfangenden Teilnehmer 50 verwendet werden, selten von exakt der gleichen Länge und den gleichen elektrischen Charakteristika (Impedanz). Im Ergebnis ist das von dem empfangenden Teilnehmer 50 empfangene Taktsignal in Bezug auf das dem sendenden Teilnehmer 40 zur Verfügung gestellte Taktsignal versetzt, und es wird eine Versatzverzögerung verwirklicht. Der den unterschiedlichen Leitungslängen zugeordnete Versatz, der als geographischer Versatz bezeichnet wird, ist besonders merklich, wenn der Bus eine große Anzahl von Datenleitungen verkörpert. Eine zweite Art des Versatzes, die als technologischer Versatz bezeichnet wird, ergibt sich aus Differenzen der Charakteristika der elektrischen Bauelemente. Diese Versatzterme müssen zu einer Signalausbreitungsverzögerung addiert werden, um die mini male Taktperiode für eine zuverlässige Übermittlung von Daten zu bestimmen. Somit ist bei einem globalsynchronen System die Taktrate sowohl durch eine Signalausbreitungsverzögerung als auch durch Versatz begrenzt, wodurch bewirkt wird, daß die Rate der Datenübertragung ebenso begrenzt wird.
- Es wird jetzt auf Tabelle 1 Bezug genommen, die spezielle Terme und Beispielwerte für die bei einer globalsynchronen Datenübertragung, wie sie in Fig. 2 veranschaulicht ist, realisierten Verzögerungen angibt. Die Beispielwerte entsprechen den beispielhaften Maximalwerten. TABELLE 1
- Die in Tabelle 1 zu findenden Terme können zu den Elementen gemäß Fig. 2 wie folgt in Bezug gesetzt werden. Es wird sowohl auf Tabelle 1 als auf Fig. 2 Bezug genommen: Der erste Term tck-Q entspricht der Verzögerung, die das Signal von dem Zeitpunkt, zu welchem der Takt einen Niedrig- zu-hoch-Übergang beim Flip-Flop 42 ausführt, bis zu dem Zeitpunkt, zu welchem die Ausgangsdaten ihren neuen Wert beim Flip-Flop 42 annehmen, erfährt. Der zweite Term tdr entspricht der Ausbreitungsverzögerung durch den Treiber 44 hindurch. Der dritte Term tprop, ein besonders signifikanter Term, entspricht der Ausbreitungsverzögerung, die sich aus der Übermittlung der Daten über die Länge der Datenleitung 46 ergibt. Der Wert für diesen Term in Tabelle 1 unterstellt eine Datenleitung von 12 Zoll Länge mit einer Ausbreitungsverzögerung von etwa 1 ns/3 Zoll. Eine solche Annahme würde der Situation entsprechen, in der eine Anzahl von Teilnehmern mit einem 12 Zoll langen Bus gekoppelt ist, wobei der sendende Teilnehmer 40 an einem, Ende des Busses und der empfangende Teilnehmer 50 an dem anderen Ende des Busses angeordnet ist. Der vierte Term trc entspricht der Zeitdauer, die das Signal benötigt, um sich durch den Empfänger 54 hindurch auszubreiten, während der fünfte Term tsetup die Dauer der Aufbauzeit ausdrückt, die das Flip-Flop 52 benötigt, um die Daten korrekt zu erfassen. Der sechste Term tskew entspricht dem Versatz zwischen der Taktung des sendenden Teilnehmers 40 und der des empfangenden Teilnehmers 50.
- Aus Fig. 2 und Tabelle wird klar, daß die maximale Zykluszeit (Zeitintervall zwischen Bits von Daten) tcycle bei einem globalsynchronisierten Datenübertragungssystem der folgenden Gleichung genügen muß: tcycle > tck-Q-max + tdr-max tprop-max + trc-max + tsetup + tskew So ergibt sich unter Verwendung der oben genannten Werte gemäß Tabelle 1 für diese Terme ein tcycle > 11,5 ns. Somit kann bei einem globalsynchronisierten System mit den in Tabelle 1 angegebenen beispielhaften Parametern der Takt nicht schneller sein als 1/11,5 ns oder 87 MHz. Die Datenrate pro Leitung kann folglich 87 Mbits/Sekunde nicht überschreiten. Im folgenden werden quellensynchronisierte Datenübertragungen beschrieben.
- Es wird auf Fig. 3 Bezug genommen, wobei diese Figur in vereinfachter Form die Schaltungsanordnung veranschaulicht, die bei einer quellensynchronisierten Datenübertragung zwischen einem sendenden Teilnehmer 70 und einem empfangenden Teilnehmer 80 benutzt wird. Wie es in Fig. 3 veranschaulicht ist, enthält der sendende Teilnehmer 70 ein Flip-Flop 72, einen Treiber 74 und einen Treiber 75, während der empfangende Teilnehmer 80 einen FIFO-Datenpuffer 82, einen Empfänger 84 und einen Empfänger 85 enthält. Ein Quellentaktsignal wird mit dem Flip-Flop 72 ebenso wie mit dem Treiber 75 gekoppelt. Der FIFO-Datenpuffer 82 speichert übertragene Daten für den empfangenden Teilnehmer 80 solange, bis der empfangende Teilnehmer 80 die Daten aus dem FIFO-Datenpuffer 82 ausliest. Die Augenblicksrate, bei welcher Daten in dem FIFO-Datenpuffer 82 eingegeben werden, kann somit unabhängig von der Augenblicksdatenrate sein, bei welcher die Daten von dem empfangenden Teilnehmer 80 gelesen werden.
- Es wird weiterhin auf Fig. 3 Bezug genommen; bei dem quellensynchronisierten Datenübertragungssystem werden sowohl die Daten (DAT) als auch das Quellentaktsignal von dem sendenden Teilnehmer 70 zu dem empfangenden Teilnehmer 80 übertragen. Anfänglich werden die zu übertragenden Daten (DAT) aus dem Flip-Flop 72 unter Steuerung des Quellentaktsignals hinausgetaktet. Die Daten (DAT) und das Quellentaktsignal werden dann mit dem Treiber 74 bzw. dem Treiber 75 gekoppelt. Der Treiber 74 und der Treiber 75 koppeln dann die Daten (DAT) bzw. das Quellentaktsignal auf die Datenleitung 76 bzw. die Quellentaktleitung 77 (Wiederum wird aus Gründen der Veranschaulichung nur eine einzige Datenleitung gezeigt und erörtert.) Die Datenleitung 76 und die Quellentaktleitung 77 koppeln die Daten (DAT) bzw. das Quellentaktsignal mit dem Empfänger 84 bzw. dem Empfänger 85. In dem empfangenden Teilnehmer 80 werden die Daten (DAT) dann in den FIFO-Datenpuffer 82 unter der Steuerung des Quellentaktsignals hineingetaktet.
- Somit ist es bei dieser quellensynchronisierten Datenübertragung klar, daß die Daten und das Quellentaktsignal sich im wesentlichen in einer parallelen Weise von dem sendenden Teilnehmer 70 zu dem empfangenden Teilnehmer 80 ausbreiten. Idealerweise sind innerhalb einer solchen Übertragung die Treiber, Empfänger und Leitungen für den Takt- und den Datenpfad aufeinander abgestimmt, wodurch Ausbreitungsdifferenzen minimiert werden. Beispielsweise ist es wichtig, daß der Treiber 74 und der Treiber 75 abgeglichene Treiber sind. Die Datenleitung 76 und die Quellentaktleitung 77 sollten ebenfalls übereinstimmende Leitungen der gleichen Länge mit den gleichen elektrischen Charakteristika sein. Die Empfänger 84 und 85 sollten ebenfalls aneinander angeglichen sein.
- Es wird jetzt auf Tabelle 2 Bezug genommen, wobei diese Tabelle spezielle Terme und Beispielwerte für die bei einer quellensynchronisierten Datenübertragung, wie sie in Fig. 3 veranschaulicht ist, verursachten Verzögerungen angibt. Die Beispielwerte entsprechen den beispielhaften Maximalwerten. TABELLE 2
- Es wird jetzt sowohl auf Tabelle 2 als auf Fig. 3 Bezug genommen; der erste Term tck-Q entspricht der Verzögerung, die zwischen dem Zeitpunkt, zu welchem der Takt am Flip-Flop 72 einen Niedrigzu-hoch-Übergang ausführt, bis zu dem Zeitpunkt, zu welchem die Ausgabedaten an dem Flip-Flop 72 ihren neuen Wert annehmen, vergeht. Der zweite Term Δtdr entspricht der Differenz der Ausbreitungsverzögerungen zwischen dem Treiber 74 und dem Treiber 75. Der dritte Term Δtprop entspricht der Differenz bei den Ausbreitungsverzögerungen zwischen der Datenleitung 76 und der Quellentaktleitung 77. Der vierte Term Δtrc entspricht der Differenz zwischen der Ausbreitungsverzögerung des Empfängers 84 und der Ausbreitungsverzögerung des Empfängers 85, während der fünfte Term tsetup die Dauer der Aufbauzeit ausdrückt, die für den FIFO- Datenpuffer 82 erforderlich ist, damit dieser die Daten richtig erfaßt.
- Aus Fig. 3 und Tabelle 2 wird klar, daß die Zykluszeit tcycle (Zeitintervall zwischen Bits von Daten) bei einem quellensynchronisierten Datenübertragungssystem der folgenden Gleichung genügen muß: tcycle > tck-Q-max + Δtdr + Δtprop + Δtrc + tsetup Folglich ist bei Verwendung der in der Tabelle 2 angegebenen Beispielwerte für diese Terme tcycle > 1,6 ns. Somit kann bei einem quellensynchronisierten System, dessen Parameter durch Tabelle 2 beschrieben sind, der Takt nicht schneller laufen als 1/1,6 ns oder 625 MHz. Dies bedeutet, daß die Datenrate pro Leitung ebenfalls 625 Mbits/s ist bzw. mehr als das Siebenfache der Datenrate des zuvor beschriebenen globalsynchronisierten Systems ist. Es ist klar, daß die Ausgangssignale, die von dem Flip-Flop 72, den Treibern 74 und 75 und den Empfängern 84 und 85 gemäß Fig. 3 erzeugt werden, Anstiegs- und Abfallzeiten haben müssen, die ausreichend kurz sind, um einen Betrieb bei dieser Datenrate zu ermöglichen. Im folgenden wird die erfindungsgemäße Benutzung der quellensynchronisierten Hochgeschwindigkeitsdatenübertragungen in Kombination mit den globalsynchronisierten Übertragungen von Zuteilungsentscheidungsanforderungs- und Konsistenzinformationen bei einer geringeren Geschwindigkeit beschrieben.
- Es wird jetzt auf Fig. 4 Bezug genommen, wobei diese Figur in Blockschaltbildform eine Übersicht eines ersten Ausführungsbeispiels der Erfindung veranschaulicht. Wie veranschaulicht, sind ein erster Teilnehmer 110, ein zweiter Teilnehmer 180 und ein zentraler Zuteilungsentscheider (Arbiter) 150 mit dem Bus 100 gekoppelt. Aus pädagogischen Gründen sind nur zwei Teilnehmer veranschaulicht. Wie zuvor beschrieben, ist die vorliegende Erfindung in keiner Weise auf diesen speziellen Kontext beschränkt. Insbesondere kann eine Anzahl zusätzlicher Teilnehmer mit dem Bus 100 gekoppelt werden, die nur durch die elektrische Belastung des Busses 100 beschränkt ist. Der Bus 100 gemäß der vorliegen den Erfindung besteht aus einer Mehrzahl von Leitungen, die einschließen: eine Globaltakt(GCK)-Leitung 110, eine Globaltaktfreigabe(GCKE)-Leitung 102, globale Datenzyklus(GDC)- Leitungen 103, Daten(DAT)-Leitungen 104 (aus Gründen der Veranschaulichung ist nur eine Datenleitung gezeigt) und eine Datentakt(DCK)-Leitung 105. Zusätzlich enthält der Bus 100 eine Anforderungs(REQS)-Leitung 106 und eine Busgewährungs(GNTS)-Leitung 108 für den Teilnehmer 110 sowie eine Anforderungs(REQR)-Leitung 107 und eine Busgewährungs(GNTR)- Leitung 109 für den Teilnehmer 180. Jeder mit dem Bus 100 gekoppelte Teilnehmer hat seine eigene Busanforderungsleitung und Busgewährungsleitung.
- Bei dem in Fig. 4 veranschaulichten Ausführungsbeispiel der vorliegenden Erfindung koppelt der zentrale Zuteilungsentscheider 150 neben der Entscheidung über Anforderungen für eine Kontrolle über den Bus ein globales Taktsignal (GCK) mit der Globaltaktleitung 101. Das globale Taktsignal (GCK) selbst kann innerhalb des zentralen Zuteilungsentscheiders 150 erzeugt werden oder alternativ, wie dies in Fig. 4 veranschaulicht ist, von einer äußeren Quelle dem zentralen Zuteilungsentscheider 150 in Form eines Master- Taktsignals zur Verfügung gestellt werden. Bei diesem Ausführungsbeispiel arbeitet das Globaltaktsignal (GCK) vorteilhafter Weise bei einer hohen Frequenz, beispielsweise bei 250 MHz. Dieses hochfrequente globale Taktsignal (GCK) wird dann an die globale Taktleitung 101 gekoppelt, welche das globale Taktsignal (GCK) den verschiedenen mit dem Bus 100 gekoppelten Teilnehmern zur Verfügung stellt.
- Es wird weiterhin auf Fig. 4 Bezug genommen; ein Teilnehmer fordert die Kontrolle über den Bus an, indem er ein Busanforderungssignal über seine Anforderungsleitung anlegt. Wie beschrieben, hat jeder Teilnehmer, welcher irgendwann einmal den Bus kontrollieren wird, eine spezielle Anforderungsleitung, die mit dem zentralen Zuteilungsentscheider 150 gekoppelt ist. Der zentrale Arbiter 150 entscheidet derartige Anforderungen, gewährt dann einem bestimmten Teilneh mer die Kontrolle über den Bus, indem er ein Busgewährungssignal über eine mit dem speziellen Teilnehmer gekoppelte Busgewährungsleitung anlegt. So fordert beispielsweise der Teilnehmer 110 die Kontrolle über den Bus 100 an, indem er ein Busanforderungssignal (REQS) über die Busanforderungsleitung 106 anlegt. Der zentrale Arbiter 150 kann die Kontrolle über den Bus 100 dem Teilnehmer 110 gewähren, indem er ein Busgewährungssignal (GNTS) über die Busgewährungsleitung 108 anlegt.
- Ein Teilnehmer, welchem die Kontrolle über den Bus gewährt worden ist, überträgt Daten (DAT) über die Datenleitung 104. (Aus Gründen der Vereinfachung und Klarheit wird wiederum nur eine einzige Datenleitung veranschaulicht und diskutiert). Die Datentaktleitung 105 stellt, wie erläutert werden wird, das Datentaktsignal (DCK) für quellensynchronisierte Datenübertragungen zur Verfügung. Wie ebenfalls beschrieben werden wird, dient die Globaltaktfreigabe(GCKE)- Leitung 102 im Endeffekt als Steuerleitung bei der vorliegenden Erfindung, die die Zeitgabe der Zuteilungsentscheidungs- und Konsistenzinformationen steuert, während globale Datenzyklusleitungen 103 Datenzyklusinformationen (GDC) den mit dem Bus 100 gekoppelten Teilnehmern derart zur Verfügung stellen, daß eine Resynchronisation und eine Metastabilität beseitigt werden.
- Die erfindungsgemäßen Einrichtungen und Verfahren für quellensynchronisierte Hochgeschwindigkeitsdatenübertragungen werden im folgenden unter Bezugnahme auf Fig. 4 beschrieben. In der folgenden Diskussion wird der Teilnehmer 110 als "sendender Teilnehmer" bezeichnet, während der Teilnehmer 180 als "empfangender Teilnehmer" bezeichnet wird. Grundsätzlich könnte es viele empfangende Teilnehmer geben. Grundsätzlich leitet der sendende Teilnehmer 100 das hochfrequente globale Taktsignal an den empfangenden Teilnehmer 180 weiter, um eine quellensynchronisierte Hochgeschwindigkeitsdatenübertragung auszuführen. Insbesondere führt der sendende Teilnehmer 110 eine quellensynchronisierte Hochge schwindigkeitsdatenübertragung durch, indem er Daten (DAT) auf die Datenleitung 104 koppelt, während er außerdem das globale Taktsignal (GCK) auf die Datentaktleitung 105 koppelt. Es sei daran erinnert, daß das globale Taktsignal (GCK) selbst dem sendenden Teilnehmer 110 durch den zentralen Zuteilungsentscheider 150 zur Verfügung gestellt wird.
- Somit wird bei der vorliegenden Erfindung die quellensynchronisierte Hochgeschwindigkeitsdatenübertragung durch das "Weiterleiten" eines global verteilten Taktsignals durchgeführt. Es ist klar, daß bei einer solchen Lösung das Gesamtsystem mit einem Verständnis der Natur und Frequenz des Taktes konstruiert werden kann, welcher mit den Daten weitergeleitet werden soll. Im wesentlichen gibt es nur eine global bekannte Taktrate, und die wird von dem zentralen Zuteilungsentscheider 150 den mit dem Bus 100 gekoppelten Teilnehmern zur Verfügung gestellt.
- Es wird jetzt auf Fig. 5 Bezug genommen, wobei diese Figur die zeitlichen Beziehungen zwischen den aus dem sendenden Teilnehmer 110 ausgegebenen Signalen und den von dem empfangenden Teilnehmer 180 gemäß Fig. 4 empfangenden Signalen veranschaulicht. Die vertikalen Linien in Fig. 5 stellen absolute Zeiten in dem System dar. (Sämtliche Signale mit Ausnahme des Taktsignals werden als aktiv niedrig angesehen.) Die quellensynchronisierte Datenübertragung gemäß der vorliegenden Erfindung kann unter Bezugnahme auf die Fig. 4 und 5 verstanden werden. Der sendende Teilnehmer 110 koppelt ein Datensignal (DAT) und ein Datentaktsignal (DCK) auf die Datenleitung 104 bzw. die Datentaktleitung 105. Wie zuvor beschrieben, wird das Datentaktsignal (DCK), welches mit der Datentaktleitung 105 gekoppelt wird, aus dem globalen Taktsignal (GCK) abgeleitet, welches der Arbiter 150 dem sendenden Teilnehmer 110 zur Verfügung stellt. Nach einer anfänglichen Ausbreitungsverzögerung tpr werden das Datentaktsignal (DCK) und Datensignale (DAT) von dem empfangenden Teilnehmer 180 empfangen, und die quellensynchronisierte Datenübertragung wird durchgeführt.
- Es wird jetzt auf Fig. 6 Bezug genommen, wobei diese Figur ein Ausführungsbeispiel der Schaltungsanordnung veranschaulicht, die zum "Weiterleiten" des globalen Taktsignals (GCK) bei der vorliegenden Erfindung verwendet wird, wodurch ein global verteilter Hochgeschwindigkeitstakt für quellensynchronisierte Hochgeschwindigkeitsdatenübertragungen verwendet wird. Bei dieser Figur sind ein Teilnehmer 110, eine globale Taktleitung 101, eine Datenleitung 104, eine Datentaktleitung 105 und eine Busgewährungsleitung 108 gezeigt.
- Es sei angenommen, daß der Teilnehmer 110 es wünscht, Daten über den Bus 100 zu übertragen, und daß ihm das Recht zur Benutzung des Busses gewährt wird, wobei der (nicht in dieser Figur gezeigte) zentrale Arbiter 150 die Busgewährungsleitung 108 auf einen niedrigen Pegel legt. Dieses Busgewährungssignal (GNTS) wird mit einem Empfänger 112 gekoppelt, welcher dann das Signal mit einem Flip-Flop 116 koppelt, welches unter der Steuerung des globalen Taktsignals (GCK) das von der globalen Taktleitung 101 zur Verfügung gestellt wird, betrieben wird. Das Flip-Flop 116 koppelt das Busgewährungssignal (GNTS) mit einem logischen Gatter 118, mit welchem das globale Taktsignal (GCK) ebenfalls gekoppelt ist. Das globale Taktsignal (GCK) wird folglich an die Datentaktleitung 105 "weitergeleitet", wenn dem Teilnehmer 110 die Kontrolle über den Bus gewährt wird. Der Teilnehmer 110 treibt anschließend sowohl die Daten (DAT) über die Datenleitung 104 als auch ein synchronisiertes Datentaktsignal (DCK) über die Datentaktleitung 105. So wird ein global verteiltes Taktsignal "weitergeleitet", um eine quellensynchronisierte Datenübertragung durchzuführen.
- Es wird jetzt auf das Blockschaltbild gemäß Fig. 7A und das Zeitdiagramm gemäß Fig. 7B Bezug genommen, wobei diese Figuren die globale Synchronisation von Zuteilungsentscheidungsanforderungs- und Konsistenzinformationen bei der vorliegenden Erfindung veranschaulichen. Wie es in Fig. 7A veranschaulicht ist, weist der zentrale Arbiter 150 Treiber 154 und 158, Empfänger 152 und 156, einen Teile-durch-N-Zäh ler 160 und ein Flip-Flop 162 auf. Der Teilnehmer 110 enthält einen Treiber 128, Empfänger 122 und 124 sowie ein Flip-Flop 126. Die Globaltakt(GCK)-Leitung 101, die Globaltaktfreigabe(GCKE)-Leitung 102 und die Anforderungs(REQS)- Leitung 106 sind ebenfalls gezeigt.
- Wie es in Fig. 7A veranschaulicht ist, wird ein Master- Taktsignal dem zentralen Arbiter 150 zur Verfügung gestellt (Wie zuvor beschrieben, arbeitet dieses Master-Taktsignal vorteilhafterweise bei einer hohen Frequenz, beispielsweise bei 250 MHz.) Der Empfänger 152 koppelt dann das Master- Taktsignal mit dem Treiber 154, dem Teile-durch-N-Zähler 160 und dem Flip-Flop 162. Der Treiber 154 koppelt das Master- Taktsignal mit der globalen Taktleitung 101, wodurch das "Master-Taktsignal" wie das zuvor beschriebene "globale Taktsignal" effektiv verteilt wird. Der Teile-durch-N-Zähler 160 teilt das Master-Taktsignal durch eine vorgegebene Zahl N, um die vorliegende Erfindung mit einem Globaltaktfreigabesignal zu versorgen. Im wesentlichen gibt der Teile-durch- N-Zähler 160 einmal bei jeweils N-Master-Taktzyklen ein Globaltaktfreigabesignal für einen Zyklus aus. Angenommen, die Master-Taktsignalfrequenz beträgt 250 MHz und N ist 4, so gibt der Teile-durch-N-Zähler 160 ein Globaltaktfreigabesignal von 62,5 MHz aus. Wie beschrieben werden wird, wird dieses globale Taktfreigabesignal in der Busstruktur verwendet, um Zuteilungsentscheidungs- und Konsistenzinformationen global zu synchronisieren.
- Es wird weiterhin auf Fig. 7A Bezug genommen. Das von dem Teile-durch-N-Zähler 160 ausgegebene Globaltaktfreigabesignal wird mit dem Treiber 158 gekoppelt, welcher dann das Globaltaktfreigabesignal (GCKE) mit der Globaltaktfreigabeleitung 102 koppelt. Das Globaltaktfreigabesignal (GCKE) wird dadurch den mit dem Bus 100 gekoppelten Teilnehmern über die Globaltaktfreigabeleitung 102 zur Verfügung gestellt. Insbesondere wird, wie es in dieser Figur veranschaulicht ist, das Globaltaktfreigabesignal (GCKE) dem Teilnehmer 110 zur Verfügung gestellt, wo der Empfänger 124 das Globaltaktfreigabesignal (GCKE) mit dem Freigabeeingang für das Flip-Flop 126 koppelt. Somit wird aus dieser Figur erkennbar, daß, während das Flip-Flop 126 mit dem über die globale Taktleitung 101 zur Verfügung gestellten globalen Hochgeschwindigkeitstaktsignal getaktet wird, das Flip-Flop 126 nur bei einer Rate des Globaltaktfreigabesignals (GCKE) freigegeben wird.
- Die Verarbeitung von Busanforderungen wird im folgenden unter Bezugnahme auf die Fig. 7A und 7B beschrieben. Im Betrieb, wenn ein Teilnehmer, wie beispielsweise der Teilnehmer 110, die Kontrolle über den Bus wünscht, muß er die Kontrolle über den Bus von dem zentralen Zuteilungsentscheider 150 anfordern, welcher typischerweise mehrere Anforderungen für eine Kontrolle über den Bus verarbeitet. Es sei beispielsweise angenommen, daß der Teilnehmer 110 die Kontrolle über den Bus wünscht. Der Teilnehmer 110 koppelt anfänglich seine Anforderung an das Flip-Flop 126. Wie veranschaulicht, empfängt das Flip-Flop 126 das hochfrequente global verteilte Taktsignal (GCK) an seinem Takteingang. Jedoch wird dem Flip-Flop 126 eine Änderung nur unter der Steuerung des Globaltaktfreigabesignals (GCKE) gestattet, welches, wie zuvor beschrieben wurde, mit dem Freigabeeingang des Flip-Flop 126 gekoppelt ist. Somit ist es klar, daß die Anforderungen zum Zugreifen auf den Bus unter der Zeitgabe und Steuerung des Globaltaktfreigabesignals (GCKE) ausgeführt werden.
- Nachdem die Anforderung mit der Anforderungsleitung 106 gekoppelt ist, wird diese Anforderung mit dem zentralen Arbiter 150 gekoppelt. Wie veranschaulicht, koppelt der Empfänger 156 die Anforderung mit dem Flip-Flop 162. Das Flip- Flop 162 wird mit einem Hochgeschwindigkeitstaktsignal getaktet, in diesem Falle durch das Master-Taktsignal, aber durch ein von dem Teile-durch-N-Zähler 160 erzeugtes langsames Taktsignal freigegeben. Somit werden Zuteilungsanforderungen von dem zentralen Arbiter 150 unter der Steuerung des langsamen Taktfreigabesignals verarbeitet. Ein Zeitdiagramm für die Verarbeitung von Zuteilungsanforderungen ist in Fig. 7B veranschaulicht.
- Aus der vorstehenden Beschreibung wird klar, daß durch Verteilen des Globaltaktfreigabesignals (GCKE) über die Globaltaktfreigabeleitung 102 der zentrale Arbiter 150 im Endeffekt jedem mit dem Bus gekoppelten Teilnehmer anzeigt, wann die Ausführung einer Zuteilungsanforderung geeignet ist. Es ist klar, daß das Globaltaktfreigabesignal (GCKE) im Endeffekt die Übertragung dessen steuert, was als "interaktive Nachrichten" bezeichnet werden kann, nämlich Nachrichten in dem System, welche schließlich irgendeine Art der Koordination zwischen Nachrichten, die von mehr als einer Quelle herrühren, erfordern. Eine Zuteilungsanforderung ist ein Beispiel einer "interaktiven Nachricht". Wenn beispielsweise der Bus einem anfordernden Teilnehmer zugewiesen werden soll und es mehrere im Wettbewerb stehende Teilnehmer gibt, so rühren diese Anforderungen von mehr als einer Quelle her und müssen durch den zentralen Arbiter 150 koordiniert werden. Bei der vorliegenden Erfindung werden solche "interaktiven Nachrichten" vorteilhafterweise auf eine globalsynchronisierte Weise bei einer relativ geringen Rate im Vergleich zu der Rate, bei welcher Daten übertragen werden, übertragen.
- Im Gegensatz zu einer "interaktiven Nachricht" erfordert eine "nicht-interaktive Nachricht" keine Koordination zwischen Nachrichten, die aus mehr als einer Quelle kommen. Die Übertragung von Daten kann als Übertragung "nicht-interaktiver Nachrichten" angesehen werden. Die Daten oder die "nicht-interaktive Nachricht" werden bzw. wird einfach von einer Quelle, einem sendenden Teilnehmer, zu einem oder mehreren empfangenden Teilnehmern gesendet. Dabei ist keine Koordination der Nachrichten von mehr als einer Quelle eingeschlossen. Die vorliegende Erfindung überträgt vorteilhafterweise solche "nicht-interaktiven Nachrichten" auf eine quellensynchronisierte Weise hoher Geschwindigkeit. Die erfindungsgemäße Beseitigung der Resynchronisation und der Möglichkeit der Metastabilität wird im folgenden beschrieben.
- Bei bekannten Systemen, die quellenynchronisierte Hochgeschwindigkeitsdatenübertragungen benutzen, war eine Resynchronisation typischerweise in dem empfangenden Teilnehmer erforderlich. Der empfangende Teilnehmer empfing üblicherweise Daten in einem Datenpuffer, antwortete dann auf bestimmte Signale oder Flags aus dem Datenpuffer, die anzeigten, wann die Daten für den empfangenden Teilnehmer zum Lesen aus dem Datenpuffer verfügbar waren. In derartigen Systemen wurden die Daten schließlich aus dem Datenpuffer gelesen, allerdings mit dem Risiko der Erzeugung einer Metastabilität. Dementsprechend verwendeten diese Systeme häufig eine Serie von Flip-Flops, um die Wahrscheinlichkeit einer solchen Metastabilität zu verringern. Wie beschrieben werden wird, beseitigt die vorliegende Erfindung die Metastabilität, indem aus dem zentralen Arbiter an den empfangenden Teilnehmer ein Signal gesendet wird, das anzeigt, daß die übertragenen Daten zum Auslesen aus dem Datenpuffer verfügbar sind.
- Es wird jetzt auf Fig. 8 Bezug genommen, wobei diese Figur die Einrichtung und das Verfahren gemäß der vorliegenden Erfindung veranschaulicht, welche bzw. welches die Metastabilität beseitigt. Teilnehmer 110, zentraler Arbiter 150 und Teilnehmer 180 sind als mit dem Bus 100 gekoppelt gezeigt. Die globale Taktleitung 101, die Datenleitung 104, die Datentaktleitung 105, die Globaltaktfreigabeleitung 102 und die Globaldatenzyklenleitungen 103 sind veranschaulicht. Wie in dieser Figur gezeigt und zuvor beschrieben ist, enthält der zentrale Arbiter 150 Treiber 154 und 158, einen Empfänger 152 sowie den Teile-durch-N-Zähler 160, welcher ein Globaltaktfreigabesignal (GCKE) über die Globaltaktfreigabeleitung 102 zur Verfügung stellt. Der zentrale Arbiter 150 enthält ferner ein Datenzyklus-Multi-Bit-Flip-Flop 170, das mit einem Treiber 172 gekoppelt ist. Der empfangende Teilnehmer 180 enthält Empfänger 192 und 194, die mit dem FIFO 190 gekoppelt sind, dessen Ausgabe von dem empfangenden Teilnehmer am Punkt 195 gelesen wird. Der empfangende Teilnehmer weist ferner Empfänger 182, 184 und 186 auf, die mit einem Multi-Bit-Flip-Flop 185 gekoppelt sind. Das Multi-Bit- Flip-Flop 185 ist wiederum mit einer FIFO-Einträge-endliche- Zustandsmaschine 188 gekoppelt.
- Es wird auf Fig. 8 Bezug genommen. Angenommen, der sendende Teilnehmer 110 wünscht Daten an den empfangenden Teilnehmer 180 zu senden. Angenommen, der Bus ist verfügbar, so gewährt in Erwiderung einer Anforderung von dem sendenden Teilnehmer 110 der zentrale Arbiter 150 dem sendenden Teilnehmer 110 das Recht, Daten über den Bus zu senden. (Die Anforderungsleitung 106 und die Busgewährungsleitung 108 sind in dieser Figur nicht gezeigt.) Wie oben unter Bezugnahme auf Fig. 6 beschrieben wurde, wird dann das globale Hochgeschwindigkeitstaktsignal (GCK) von der Globaltaktleitung 101 durch den sendenden Teilnehmer 110 an die Datentaktleitung 105 weitergeleitet. Synchron damit werden die Daten (DAT) an die Datenleitung 104 gekoppelt und dem FIFO 190 in dem empfangenden Teilnehmer 180 zur Verfügung gestellt.
- Es ist klar, daß eine bestimmte Anzahl von Zyklen, nachdem der sendende Teilnehmer 110 das Senden von Daten begonnen hat, der zentrale Arbiter 150 tatsächlich weiß, daß Daten in dem FIFO 190 vorhanden sein müssen. Im wesentlichen weiß dies der zentrale Arbiter 150, weil er den Bus dem sendenden Teilnehmer 110 zum Senden von Daten an den empfangenden Teilnehmer 180 gewährt hat. Der zentrale Arbiter 150 sendet folglich vorteilhafterweise bei der Globaltaktfreigabe(GCKE)-Rate Informationen an den empfangenden Teilnehmer 180, die anzeigen, daß er jetzt Daten aus dem FIFO 190 entnehmen kann. Diese Informationen, die die Anzahl von übertragenen Datenzyklen anzeigen, werden aus dem Multi-Bit- Flip-Flop 170 über den Treiber 172 an die Globaldatenzyklen(GDC)-Leitungen 103 gekoppelt. Die Datenzykleninformationen werden dann über die Globaldatenzyklen(GDC)-Leitungen 103 dem empfangenden Teilnehmer 180 zur Verfügung gestellt. Insbesondere werden die Datenzykleninformationen mit dem Multi-Bit-Flip-Flop 185 gekoppelt. Das Multi-Bit-Flip-Flop 185 wird bei der schnellen Globaltaktrate getaktet, aber bei der langsameren Globaltaktfreigaberate freigegeben. Somit wird alle N Globaltaktzyklen das Multi-Bit-Flip-Flop 185 freigegeben, und die Anzahl von Datenzyklen innerhalb dieser N Zyklusperioden wird in das Multi-Bit-Flip-Flop 185 geladen. Diese Zahl wird dann mit der FIFO-Einträge-endliche- Zustandsmaschine 188 gekoppelt, welche eine Logik aufweist, um die Datenzykleninformationen zu verfolgen und dadurch den empfangenden Teilnehmer 180 anzuweisen, wann er die Daten aus dem FIFO-Datenpuffer 190 lesen kann.
- Es ist klar, daß durch Übermittlung von Datenzyklusinformationen bei der langsameren Globaltaktfreigabesignal(GCKE)-Rate der zentrale Arbiter 150 den zuvor beschriebenen Prozeß in einer globalsynchronen Weise ausführen kann, welche keine Resynchronisation erfordert. Der zentrale Arbiter 150 kann, wenn das gewünscht wird, vorteilhafterweise eine vorgegebene Anzahl von Globaltaktsignal(GCK)- Zyklen warten, beispielsweise vier oder fünf Zyklen, bevor er diese Informationen zur Verfügung stellt, wodurch gesichert wird, daß die Daten, die in dem FIFO-Datenpuffer 190 gespeichert sind, vor ihrem Auslesen stabil sind.
- Es wird jetzt auf Fig. 9 Bezug genommen, wobei diese Figur die erfindungsgemäße vorteilhafte Anordnung des zentralen Arbiters 150 in der Mitte des Busses 100 veranschaulicht. Zwei Teilnehmer, der Teilnehmer E und der Teilnehmer D, sind als mit dem Bus 100 gekoppelt gezeigt. In dieser Figur sind aus Gründen der Einfachheit und Klarheit die Busleitungen 104 und 105 im oberen Abschnitt des Busses 100 vereint, während die Busleitungen 101, 102, 103, 106, 107, 108 und 109 im unteren Abschnitt des Busses 100 vereint sind. Wie zuvor beschrieben, wird die vorliegende Erfindung vorteilhafterweise innerhalb eines Systems benutzt, das durch paketvermittelte Datenübertragungen, Cache-Konsistenz, Snooping und Pipelining von Geteilt/Besitzer-Informationen gekennzeichnet ist.
- Angenommen, der Bus gemäß der vorliegenden Erfindung wird in Verbindung mit einem paketvermittelten Protokoll benutzt, so kann die Totzeit zwischen Datenpaketen unter Bezugnahme auf Fig. 9 berechnet werden. Es sei txy die Ausbreitungsverzögerung auf dem Bus in einer Richtung zwischen den zwei Punkten x und y. Es sei td die Minimalzeit, die zwischen den Zeiten vergehen muß, wenn der zentrale Arbiter (A) 150 die Gewährung der Pakete des Teilnehmers E stoppt und wenn der zentrale Arbiter (A) 150 die Gewährung der Pakete des Teilnehmers D beginnt. Um ein Überlappen der Pakete zu vermeiden, gilt: td ≥ tED + tAE - tAD Diese Gleichung kann wie folgt erläutert werden. Anfänglich sei angenommen, daß der zentrale Arbiter (A) 150 die Gewährung der Pakete des Teilnehmers E zum Zeitpunkt Null anhält. Beim Teilnehmer D stoppen die Pakete von E zum Zeitpunkt tAE + tED. Beim Teilnehmer D kann das Paket des Teilnehmer D zum Zeitpunkt td + tAD Starten. Um ein Überlappen zu vermeiden, muß td + tAD ≥ tAE + tED sein. Somit gilt td ≥ tED + tAE - tAD. Jedoch ist tED = tAE + tAD; folglich kann die vorstehende Gleichung zu td ≥ 2(tAE) umgeschrieben werden. Bei Anwendung der gleichen Begründung auf den Fall, bei dem der zentrale Arbiter 150 die Gewährung des Teilnehmers D beendet und die des Teilnehmers E beginnt, muß dann zur Vermeidung eines Überlappens die folgende Gleichung wahr sein: td ≥ 2(tAD).
- Die ungünstigste Totzeit für eine gegebene Implementierung entspricht dem Fall, bei dem der Teilnehmer E an einem Ende des Busses und der Teilnehmer D an dem anderen Ende angeordnet ist, und die Kontrolle über den Bus zwischen diesen beiden Teilnehmern übertragen wird. Aus den vorstehenden Gleichungen folgt für die ungünstigste Totzeit zum Vermeiden eines Überlappens: td ≥ Max [2(tAE), 2(tAD)], was umgeschrieben werden kann zu: td ≥ Max [2(tAE), 2(tp - tAE)], wobei tp die Ende-zu-Ende-Ausbreitungsverzögerung des Busses in einer Richtung ist. Aus der vorstehenden Gleichung wird klar, daß dann, wenn der zentrale Arbiter 150 in der Mitte des Busses 100 angeordnet ist, der zentrale Arbiter 150 niemals eine Totzeit von mehr als tp zwischen den Paketen lassen muß. Dies gilt unabhängig von der Position der Teilnehmer, welche die Kontrolle über den Bus austauschen. Jedoch sollte der zentrale Arbiter 150 auf der Grundlage der Kenntnis des Ortes dieser Teilnehmer so konstruiert sein, daß er weniger als tp zwischen Paketen in bestimmten Situationen wartet.
- Es wird jetzt auf Fig. 10A Bezug genommen. Diese Figur veranschaulicht die Kopplung von drei Teilnehmern, einem Teilnehmer A, einem Teilnehmer B und einem Teilnehmer C, sowie des zentralen Arbiters 150 mit dem Bus 100. Nur aus Gründen der Vereinfachung und der Veranschaulichung sind die Globaltakt(GCK)-Leitung 101, die Globaltaktfreigabe(GCKE)- Leitung 102, die Globaldatenzyklen(GDC)-Leitung 103 im oberen Abschnitt des Busses 100 zusammengefaßt. (Nicht gezeigt sind die einzelnen Busanforderungs- und Busgewährungsleitungen für die Teilnehmer A, B und C). Die Daten(DAT)-Leitung 104 und die Datentakt(DCK)-Leitung 105 sind ebenfalls aus Gründen der Vereinfachung der Veranschaulichung zusammengefaßt gezeigt. Die in Fig. 10B, Fig. 10C, Fig. 10D und Fig. 10E gezeigten Zeitdiagramme veranschaulichen die an den drei in Fig. 10A gezeigten Teilnehmern bei verschiedenen Datenübertragungsszenarien verwirklichten Signale. Fig. 10B veranschaulicht die Signale, die im Falle von Back-to-Back-2-Zyklus-Paketen verwirklicht werden. Das obere Signal entspricht dem Globaltaktsignal (GCK), wie es von dem zentralen Arbiter ausgegeben wird. Das Globaltaktsignal (GCK) wird dann so veranschaulicht, wie es bei dem Teilnehmer A, Teilnehmer B und Teilnehmer C empfangen wird. Die Busgewährungssignale (GNT), die Datentaktsignale (DCK) und die Datensignale (DAT) sind ebenfalls für Teilnehmer A, Teilnehmer B und Teilnehmer C gezeigt. Fig. 10C veranschaulicht ein Zeitdiagramm für Back-to-Back-9-Zyklen-Pakete. Fig. 10D veranschaulicht ein Zeitdiagramm für ein 9- Zyklus-Paket, dem ein 2-Zyklus-Paket folgt. Fig. 10E veran schaulicht Geteilt/Besitzer-Verzögerungszeitdiagramme. Ein zusätzliches Geteilt/Besitzer-Signal ist für jeden der Teilnehmer gezeigt, wobei ein kombiniertes Geteilt/Besitzer- Signal in Fig. 10E unten gezeigt ist. Wie vorbeschrieben und wie in diesen Figuren dargestellt, wird die vorliegende Erfindung vorteilhafterweise innerhalb eines Protokolls verwendet, das von Snooping und Cache-Konsistenz Gebrauch macht.
- Die Datenbandbreite der vorliegenden Erfindung kann berechnet werden, sobald Systemparameter bekannt sind. Es seien die folgenden Parameter angenommen: eine Busbreite von paritätsgeschützten Bytes, ein Globaltaktsignal von 250 MHz, ein Globaltaktfreigabesignal von 62,5 MHz, ein Starten der Pakete bei Zyklen, die durch 4 teilbar sind, Datenübertragungsblöcke gleich 64 Bytes, eine Buslänge von 12 Zoll bei einer Laufzeit in eine Richtung von etwa einem Globaltaktzyklus, Anforderungspakete von 2 oder 9 Zyklen, Erwiderungspakete von 2 oder 9 Zyklen und eine Durchschnittstotzeit zwischen den Paketen von zwei oder drei Zyklen. Unter diesen Bedingungen hat der Bus gemäß der vorliegenden Erfindung eine Spitzenbandbreite von 2 GB/s. Nimmt man 70% Leseblöcke, 20% Schreibblöcke und 10% verschiedener Pakete an, hat der Bus gemäß der vorliegenden Erfindung eine Datenbandbreite von 1 GB/s.
- So kann der Bus gemäß der vorliegenden Erfindung auf einfache Weise eine große Vielzahl von Systemen unterstützen. Beispielsweise kann die vorliegende Erfindung einfach bei dem in Fig. 1 veranschaulichten Basissystem ohne externen Cache und mit einem Datencache mit einer internen Durchschreibpolitik verwendet werden. Die vorliegende Erfindung ist insbesondere gut für ein System im mittleren Bereich geeignet, das einen externen Cache mit einer Rückschreibvorgehensweise verwendet. Zusätzlich unterstützt die vorliegende Erfindung ohne weiteres einen High-End-Server. Es ist klar, daß der Leistungsgrad, der von der vorliegenden Erfindung geschaffen wird, sie für Anwendungen über dem gesamten Bereich von Systemen von Low-and-Workstations bis zu High- End-Server und darüber hinaus geeignet macht.
- Es wird jetzt auf Fig. 11 Bezug genommen, wobei diese Figur in Blockdarstellungsform ein alternatives Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht. Wie bei den vorgenannten Ausführungsbeispielen verwendet dieses Ausführungsbeispiel quellensynchronisierte Datenübertragungen hoher Geschwindigkeit und global synchronisierte Übertragungen von Zuteilungsentscheidungs- und Konsistenzinformationen bei geringer Geschwindigkeit. Bei diesem alternativen Ausführungsbeispiel entscheidet ein zentraler Arbiter 250 über Anforderungen nach einer Kontrolle über einen Bus 200. Der Bus 200 enthält Daten(DAT)-Leitungen 203 (zur Vereinfachung und Klarheit ist nur eine Datenleitung gezeigt), eine Datentaktleitung (DCK) 204, eine Kopfteilleitung (HDR) 205, eine Busanforderungs(REQS)-Leitung 201, eine Busanforderungs(REQR)-Leitung 206, eine Busgewährungs(GNTS)-Leitung 202 und eine Busgewährungs(GNTR)-Leitung 207. Darüber hinaus sind die Teilnehmer 210 und Teilnehmer 280 als mit dem Bus 200 gekoppelt gezeigt. Wie zuvor in Bezug auf das vorgenannte Ausführungsbeispiel gezeigt wurde, ist die vorliegende Erfindung in keiner Weise auf einen derartigen 2-Teilnehmer-Kontext beschränkt, der nur aus Gründen der Veranschaulichung gewählt wurde.
- Gemäß Fig. 11 ist klar, daß im Gegensatz zu dem vorgenannten Ausführungsbeispiel das alternative Ausführungsbeispiel ein Master-Takt-Signal direkt zu jedem mit dem Bus gekoppelten Teilnehmer ebenso wie zu dem zentralen Arbiter 250 verteilt. (Es werden vorzugsweise gleiche Leitungslängen für die Master-Taktleitungen verwendet, um den Taktversatz zwischen zwei Teilnehmern und dem zentralen Arbiter 250 und den Teilnehmern zu minimieren.) Der zentrale Arbiter 250 selbst verteilt kein Globaltaktsignal. Ebenfalls im Gegensatz zu dem zuvor beschriebenen Ausführungsbeispiel arbeitet bei diesem Ausführungsbeispiel das Master-Taktsignal bei einer relativ geringen Frequenz, beispielsweise 62,5 MHz.
- Busanforderungssignale und Busgewährungssignale, die zuvor als eine Art "interaktiver Informationen" beschrieben wurden, werden von dem zentralen Arbiter 250 synchron mit diesem Master-Taktsignal geringerer Frequenz behandelt.
- Für quellensynchronisierte Hochgeschwindigkeitsdatenübertragungen erzeugt jeder Teilnehmer intern ein schnelles Taktsignal (FCK), wobei 1/Ntel von dessen Frequenz unter Verwendung bekannter Phasenverriegelungstechniken mit dem gerade beschriebenen Master-Taktsignal geringerer Frequenz, das mit jedem Teilnehmer gekoppelt ist, phasenverriegelt wird. Dieses schnelle Taktsignal (FCK) ist somit N-mal schneller als das Master-Taktsignal, wobei N vorteilhafterweise so ausgewählt wird, daß quellensynchronisierte Hochgeschwindigkeitsdatenübertragungen ermöglicht werden. Wenn beispielsweise angenommen wird, daß das Master-Taktsignal bei 62,6 MHz betrieben wird und N = 4 ist, so würde dann das schnelle Taktsignal (FCK) bei 250 MHz arbeiten und (FCK) geteilt durch 4 würde mit dem Master-Takt phasenverriegelt werden.
- Aus dem schnellen Taktsignal (FCK) wird ein Hochgeschwindigkeitsdatentaktsignal (DCK) erzeugt und verwendet, um eine quellensynchronisierte Hochgeschwindigkeitsdatenübertragung durchzuführen. Das DCK-Signal ist in seiner Frequenz und Phase identisch dem FCK. Im Betrieb, wenn beispielsweise einem Teilnehmer 210 die Kontrolle über den Bus 200 gewährt wird, koppelt er seine Daten mit der Datenleitung 203 und sein Hochgeschwindigkeitsdatentaktsignal (DCK) mit der Datentaktleitung 204. Dieses alternative Ausführungsbeispiel verteilt somit global einen Takt niederer Frequenz. Die Teilnehmer erzeugen dann selbst das Hochgeschwindigkeitstaktsignal mit einer Phasenverriegelungsschleifenschaltung. Die quellensynchronisierte Datenübertragung wird dann unter Verwendung dieses Hochgeschwindigkeitstaktsignals ausgeführt.
- Es wird jetzt auf Fig. 12 Bezug genommen, wobei diese Figur in vereinfachter Form die Schaltung in dem sendenden Teilnehmer veranschaulicht, die zum Ausführen von quellensynchronisierten Hochgeschwindigkeitsdatenübertragungen bei diesem alternativen Ausführungsbeispiel verwendet wird. Diese Schaltungsanordnung umfaßt Treiber 218, 220 und 222, ein Flip-Flop 216, einen Datentakt(DCK)-Generator 214 und einen schnellen Takt(FCK)-Generator 212. Außerdem sind Datenleitungen (DAT) 203, eine Datentaktleitung (DCK) 204 und eine Kopfteilleitung (HDR) 205 gezeigt.
- Im Betrieb erzeugt der schnelle Taktgenerator 212 ein schnelles Taktsignal(FCK), wobei 1/Ntel seiner Frequenz unter Verwendung einer bekannten Phasenverriegelungsschleifentechnik mit dem mit dem Teilnehmer gekoppelten Master- Taktsignal der geringeren Frequenz phasenverriegelt wird. Dieses schnelle Taktsignal (FCK) wird mit dem Datentaktgenerator 214 gekoppelt. Signale, die die Paketgröße und die Busgewährung anzeigen, werden ebenfalls mit dem Datentaktgenerator 214 gekoppelt. Der Datentaktgenerator 214 erzeugt ein Datentaktsignal (DCK), das der Größe des zu sendenden Datenpaketes entspricht. Beispielsweise stellt der Datentaktgenerator ein 2-Impuls-Datentaktsignal für ein 2-Zyklus- Paket und ein 9-Impuls-Datentaktsignal für ein 9-Zyklus- Paket zur Verfügung. Fig. 13 veranschaulicht beispielhafte Datentaktsignale für ein 2-Zyklus-Paket und das Datentaktsignal für ein 9-Zyklus-Paket. Es wird wiederum auf Fig. 12 Bezug genommen; die Daten (DAT) werden aus dem Flip-Flop-216 synchron mit dem vom Datentaktgenerator 214 erzeugten Datentaktsignal (DCK) hinausgetrieben. Die Daten (DAT) werden dann mit der Datenleitung 203 synchron mit dem Koppeln des Datentaktsignals (DCK) mit der Datentaktleitung 204 gekoppelt. Auf diese Weise wird eine quellensynchronisierte Hochgeschwindigkeitsdatenübertragung durchgeführt.
- Es wird jetzt auf Fig. 14 Bezug genommen, wobei diese Figur ein Zeitdiagramm für Datenübertragungssignale veranschaulicht, die bei dem alternativen Ausführungsbeispiel benutzt werden. Die obere Hälfte dieser Figur veranschaulicht die Datenübertragungssignale, die von einem sendenden Teilnehmer ausgegeben werden, während die untere Hälfte die Datenübertragungssignale zeigt, die bei einem empfangenden Teilnehmer empfangen werden. Es wird mit dem oberen Teil der Fig. 14 begonnen, die ein niederfrequentes Master-Taktsignal veranschaulicht. Unter dem Master-Taktsignal ist das phasenverriegelte schnelle Takt(FCK)-Signal gezeigt, das von dem sendenden Teilnehmer erzeugt wird. Das Datentakt(DCK)- Signal ist als nächstes veranschaulicht, wobei das Signal so gezeigt ist, daß es einem 9-Impuls-Signal für ein 9-Zyklus- Paket entspricht. Unter dem Datentaktsignal sind das Datenpaket und das Kopfteilsignal gezeigt. Nach einer Ausbreitungsverzögerung Tprop werden der Kopfteil, die Daten und das Datentaktsignal von dem empfangenden Teilnehmer empfangen. Um einen maximalen Sicherheitsabstand für Differenzen bei der Ausbreitungsgeschwindigkeit des Datensignals und des Datentaktsignals zur Verfügung zu stellen, treibt der sendende Teilnehmer vorteilhafterweise die Daten auf der fallenden Flanke des Datentaktsignals und der empfangende Teilnehmer tastet die Daten auf der ansteigenden Flanke des Datentaktsignals ab.
- Um ein Paketüberlappen bei diesem alternativen Ausführungsbeispiel zu vermeiden, muß es eine minimale "Totzeit" zwischen zwei Paketen geben. Es seien die im folgenden definierten Terme angenommen: Td ist die Totzeit; Tp ist die maximale Ausbreitungszeit für Signale auf dem Bus in einer Richtung, Tskew ist der maximale Client-zu-Client-Versatz bei dem Master-Takt; und ΔTdr ist die maximale differentielle Treiberverzögerung zwischen zwei Clients. Die Totzeit sollte dann der folgenden Gleichung genügen: Td > Tp + Tskew + ΔTdr.
- Es wird jetzt auf Fig. 15 Bezug genommen, wobei diese Figur in vereinfachter Form die Schaltungsanordnung im empfangenden Teilnehmer 280 veranschaulicht, die verwendet wird, um quellensynchronisierte Datenübertragungen zu empfangen. Diese Schaltung enthält: einen Freigabegenerator 282, ein Datenregister 284, einen Daten-FIFO 290, ein Kopfteil-Register 286 und ein Kopfteil-gültig-Flip-Flop 288.
- Außerdem sind in Fig. 15 eine Datenleitung (AT) 203, eine Datentaktleitung (DCK) 204 und eine Kopfteilleitung (HDR) 205 gezeigt. Bei einer Datenübertragungsoperation wird der Freigabegenerator 282 verwendet, um einen Freigabeimpuls zu erzeugen, der von der Größe des übertragenen Datenpakets abhängig ist. Es wird kurz auf die Fig. 16A und 16B Bezug genommen, wobei diese Figuren die Freigabegeneratorsignalverläufe (DEN) für ein 2-Zyklus-Paket und ein 9-Zyklus-Paket veranschaulichen. Es ist zu bemerken, daß der DEN-Signalverlauf für ein 2-Zyklus-Paket einen Zyklus lang ist, während der DEN-Signalverlauf für ein 9-Zyklus-Paket acht Zyklen lang ist. Der DEN-Signalverlauf, der von dem Freigabegenerator 282 erzeugt wird, wird dann mit dem Datenregister 284 gekoppelt. Das Datenregister 284 nimmt die Daten von der Datenleitung (DAT) 203 unter der Steuerung durch den DEN- Signalverlauf, der an seinem Freigabeeingang zur Verfügung gestellt wird, und dem über die Datentaktleitung 204 seinem Takteingang zur Verfügung gestellten Datentaktsignal auf. Die Daten in dem Datenregister 284 werden zu dem Daten-FIFO 290 gekoppelt, von welchem die Daten dann von dem empfangenden Teilnehmer 280 gelesen werden, sobald das Kopfteil-gültig-Signal angelegt wird.
- Das alternative Ausführungsbeispiel gemäß der vorliegenden Erfindung sorgt für eine Eliminierung der Metastabilität, indem ein Kopfteil-Signal zu Beginn eines Datenpakets gesendet wird, welches dem empfangenden Teilnehmer mitteilt, daß ein Datenpaket gestartet worden ist. Es wird jetzt auf die Fig. 11, 12 und 15 Bezug genommen; dieses Kopfteil- Signal wird von dem sendenden Teilnehmer 210 zu dem empfangenden Teilnehmer 280 über die Kopfteilleitung 205 übermittelt. Das Kopfteilsignal wird auf dem langsameren globalen Master-Taktsignal gesendet und mit dem gleichen Master-Taktsignal durch den empfangenden Teilnehmer empfangen. Somit können seine Übermittlung und sein Empfang ohne Auftreten einer Metastabilität garantiert werden.
- Es wird speziell auf Fig. 15 Bezug genommen; das Datensignal, das Datentaktsignal und das Kopfteilsignal werden dem Kopfteilregister 286 eingekoppelt. Das von einem sendenden Teilnehmer mit dem langsameren, global verteilten Master-Taktsignal übermittelte Kopfteilsignal wird dem Freigabeeingang des Kopfteilregisters 286 eingekoppelt und dem Setz-Eingang des Kopfteil-Gültig-Flip-Flop 288. Das Kopfteilsignal dient folglich als Freigabe für das Kopfteilregister, welches verwendet wird, um den ersten (oder Kopfteil-)Zyklus eines eingehenden Pakets zu speichern. Das Kopfteilsignal bewirkt darüber hinaus, daß das Kopfteil- Gültig-Signal (das Ausgangssignal des Flip-Flop 288) 1 wird, was anzeigt, daß das Paket eingetroffen ist. Man beachte, daß das Kopfteil-Gültig-Flip-Flop 288 von dem globalen Master-Takt MCK getaktet wird und daß sein D-Eingang permanent auf Null gesetzt wird. Somit geht unmittelbar nach der positiven Flanke des MCK das Kopfteil-Gültig-Signal auf Null. Es wird asynchron durch das HDR-Signal auf 1 gesetzt, aber dieses Signal führt garantiert niemals einen Übergang in der Nähe der positiv ansteigenden Flanke des MCK aus. (Siehe Fig. 14 für die Phasenbeziehung zwischen MCK und HDR an sowohl dem sendenden als auch dem empfangenden Teilnehmer.)
Claims (14)
1. Ein Verfahren zur Verwendung in einem
Informationsverarbeitungssystem, das eine Mehrzahl von mit einem Bus
(100) gekoppelten informationsverarbeitenden Teilnehmern
("Teilnehmern") aufweist, wobei das Verfahren dem Übertragen
von Daten von wenigstens einem sendenden Teilnehmer (110) zu
wenigstens einem empfangenden Teilnehmer (180) über den Bus
(100) dient und gekennzeichnet ist durch:
Koppeln eines ersten Taktsignals über den Bus (100) zu
dem wenigstens einen sendenden Teilnehmer, wobei das erste
Taktsignal von einem Master-Taktgeber erzeugt wird;
Verwenden des ersten Taktsignals, um eine
quellensynchronisierte Datenübertragung durchzuführen, bei der der
sendende Teilnehmer ein Datensignal auf eine Datenleitung
koppelt und ein Datentaktsignal auf eine Datentaktleitung
koppelt, wobei der wenigstens eine sendende Teilnehmer mit
dem wenigstens einen empfangenden Teilnehmer durch die
Datenleitung und die Datentaktleitung gekoppelt wird, wobei
das Datentaktsignal aus dem ersten Taktsignal abgeleitet
wird, wobei das Datentaktsignal und das Datensignal über den
Bus (100) von dem wenigstens einen sendenden Teilnehmer
(110) zu dem wenigstens einen empfangenden Teilnehmer (180)
übertragen werden;
Koppeln eines zweiten Taktsignals (102) an den
wenigstens einen sendenden Teilnehmer (110), wobei das zweite
Taktsignal die Zeitgabe einer Busanforderung (106) von dem
wenigstens einen sendenden Teilnehmer an einen zentralen
Zuteilungsentscheider (Arbiter, 150) und die Zeitgabe einer
Busgewährung von dem zentralen Zuteilungsentscheider an den
wenigstens einen sendenden Teilnehmer steuert.
2. Das Verfahren nach Anspruch 1, ferner aufweisend den
Schritt des:
Koppelns eines Daten-Verfügbar-Signals von dem zentralen
Zuteilungsentscheider (150) an den wenigstens einen
empfangenden Teilnehmer (180), wobei das Daten-Verfügbar-Signal
die Verfügbarkeit der übertragenen Daten für den wenigstens
einen empfangenden Teilnehmer anzeigt, wobei das
Daten-Verfügbar-Signal von dem zentralen Zuteilungsentscheider an den
wenigstens einen empfangenden Teilnehmer unter der Zeitgabe
des zweiten Taktsignals gekoppelt wird.
3. Das Verfahren nach Anspruch 1, wobei der Schritt des
Verwendens des ersten Taktsignals zum Durchführen einer
quellensynchronisierten Datenübertragung umfaßt:
Verwenden des ersten Taktsignals zum Erzeugen eines
Taktsignals, welches mit dem ersten Taktsignal
phasenverriegelt ist; und Verwenden des phasenverriegelten Taktsignals
zum Durchführen der quellensynchronisierten
Datenübertragung.
4. Das Verfahren nach Anspruch 3, wobei das erste
Taktsignal die Zeitgabe von Anforderungen durch den ersten
Teilnehmer für eine Kontrolle über den Bus steuert.
5. Das Verfahren nach Anspruch 3, ferner umfassend den
Schritt des:
Koppelns eines Daten-Verfügbar-Signals von dem
wenigstens einen sendenden Teilnehmer (110) zu dem wenigstens
einen empfangenden Teilnehmer (180) unter der
Zeitgabesteuerung des ersten Taktsignals, wobei das Signal die
Verfügbarkeit von übertragenen Daten für den wenigstens einen
empfangenden Teilnehmer anzeigt.
6. Eine Vorrichtung zur Verwendung in einem
Informationsverarbeitungssystem, das aus einem Bus (100), einer
Mehrzahl von informationsverarbeitenden Teilnehmern
("Teilnehmern") besteht, wobei die Vorrichtung der
Übertra
gung von Nachrichten unter den Teilnehmern dient, wobei das
System gekennzeichnet ist durch:
erste Verbindungsmittel, die für das Senden wenigstens
einer interaktiven Nachricht von wenigstens einem sendenden
Teilnehmer (110) zu wenigstens einem empfangenden Teilnehmer
(180) über den Bus (100) auf eine global synchrone Weise in
Verbindung mit einem Master-Takt sorgen;
zweite Verbindungsmittel, die für das Senden wenigstens
einer nicht-interaktiven Nachricht von wenigstens einem
sendenden Teilnehmer (110) zu wenigstens einem empfangenden
Teilnehmer (180) auf eine quellensynchronisierte Weise, die
aus dem Master-Takt abgeleitet ist, sorgen; und
eine Zuteilungsentscheidungseinrichtung (150), die in
Verbindung mit einem zweiten Takt (102) entscheidet, welcher
der Mehrzahl von Teilnehmern eine nicht-interaktive
Nachricht zu einem gegebenen Zeitpunkt senden darf;
wobei jede der Mehrzahl von datenverarbeitenden
Teilnehmern Entscheidungsmittel enthält, die auf zumindest einer
interaktiven Nachricht basieren, die von dem Teilnehmer über
das erste Verbindungsmittel empfangen wird, wobei die
Entscheidungsmittel dem Ausführen einer Feststellung darüber
dienen, wann eine nicht-interaktive Nachricht, die von dem
Teilnehmer über das Verbindungsmittel empfangen worden ist,
ohne das Risiko von Fehlern infolge einer Metastabilität
verarbeitet werden kann.
7. Die Vorrichtung nach Anspruch 6, wobei die
Zuteilungsentscheidungseinrichtung (150) auf zumindest eine
interaktive Nachricht vertraut, um zu entscheiden, welche
der Mehrzahl von Teilnehmern eine nicht-interaktive
Nachricht zu einem gegebenen Zeitpunkt senden darf.
8. Die Vorrichtung nach Anspruch 7, wobei die
Zuteilungsentscheidungseinrichtung einen zentralen
Zuteilungsentscheider (150) aufweist.
9. Die Vorrichtung nach Anspruch 8, dadurch
gekennzeichnet, daß der zentrale Zuteilungsentscheider (150) ein
globales Taktsignal an jeden der Mehrzahl von Teilnehmern
koppelt.
10. Die Vorrichtung nach Anspruch 9, aufweisend:
dritte Verbindungsmittel, die für das Senden zumindest
eines Gewährungssignals von dem zentralen
Zuteilungsentscheider zu wenigstens einem Teilnehmer der Mehrzahl von
Teilnehmern sorgen, wobei das Gewährungssignal anzeigt, daß
zumindest ein Teilnehmer zumindest eine nicht-interaktive
Nachricht über das zweite Verbindungsmittel senden darf,
wobei das Gewährungssignal in Bezug auf das globale
Taktsignal quellensynchronisiert ist.
11. Die Vorrichtung nach Anspruch 9, wobei die zweiten
Verbindungsmittel ein Bus sind.
12. Die Vorrichtung nach Anspruch 11, wobei der zentrale
Zuteilungsentscheider mit dem Bus in der Mitte des Busses
gekoppelt ist.
13. Die Vorrichtung nach Anspruch 6, wobei das erste
Verbindungsmittel aufweist:
globale Taktmittel zum Koppeln eines globalen
Taktsignals an jeden der Mehrzahl vor Teilnehmern;
globale Taktfreigabemittel zum Koppeln eines globalen
Taktfreigabesignals an jeden der Mehrzahl von Teilnehmern;
wobei das globale Taktfreigabesignal in Verbindung mit
dem globalen Taktsignal verwendet wird, um das Senden der
wenigstens einen interaktiven Nachricht zu synchronisieren;
und wobei die zweiten Verbindungsmittel aufweisen:
Datentaktmittel zum Ausgeben eines Datentaktsignals von
wenigstens einem der Mehrzahl von Teilnehmern, wobei das
Datentaktsignal aus dem globalen Taktsignal abgeleitet ist;
wobei das Datentaktsignal verwendet wird, um das Senden
der wenigstens einen nicht-interaktiven Nachricht zu
synchronisieren.
14. Die Vorrichtung nach Anspruch 6, wobei die ersten
Verbindungsmittel aufweisen:
globale Taktmittel zum Koppeln eines globalen
Taktsignals mit jedem der Mehrzahl von Teilnehmern; und
wobei das globale Taktsignal verwendet wird, um das
Senden der wenigstens einen interaktiven Nachricht zu
synchronisieren;
und wobei die zweiten Verbindungsmittel aufweisen:
Datentaktmittel zum Ausgeben eines Datentaktsignals von
wenigstens einem der Mehrzahl von Teilnehmern, wobei das
Datentaktsignal aus dem globalen Taktsignal als
phasenverriegeltes Vielfaches des globalen Taktsignals abgeleitet
ist;
wobei das Datentaktsignal verwendet wird, um das Senden
der wenigstens einen nicht-interaktiven Nachricht zu
synchronisieren.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/905,098 US5392422A (en) | 1992-06-26 | 1992-06-26 | Source synchronized metastable free bus |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69325859D1 DE69325859D1 (de) | 1999-09-09 |
DE69325859T2 true DE69325859T2 (de) | 2000-03-30 |
Family
ID=25420289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69325859T Expired - Fee Related DE69325859T2 (de) | 1992-06-26 | 1993-06-21 | Zum Sender synchronisierter Bus ohne metastabilen Zustand |
Country Status (5)
Country | Link |
---|---|
US (1) | US5392422A (de) |
EP (1) | EP0579389B1 (de) |
JP (1) | JP3552250B2 (de) |
KR (1) | KR100289443B1 (de) |
DE (1) | DE69325859T2 (de) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5634041A (en) * | 1992-08-12 | 1997-05-27 | Massachusetts Institute Of Technology | Rationally clocked communication interface |
US5537655A (en) * | 1992-09-28 | 1996-07-16 | The Boeing Company | Synchronized fault tolerant reset |
US5619686A (en) * | 1993-11-18 | 1997-04-08 | National Semiconductor Corporation | Source synchronized data transmission circuit |
AU1689795A (en) * | 1994-01-25 | 1995-08-08 | Apple Computer, Inc. | Improved bus protocol using separate clocks for arbitration and data transfer |
DE69529362T2 (de) * | 1994-04-28 | 2003-10-30 | Advanced Micro Devices, Inc. | System zur Steuerung eines Peripheriebustaktsignals |
SG47976A1 (en) * | 1994-05-10 | 1998-04-17 | Intel Corp | Method and apparatus for providing synchronous data transmission between digital devices operating at frequencies having a p/q integer ratio relationship |
US5832047A (en) * | 1994-06-17 | 1998-11-03 | International Business Machines Corporation | Self timed interface |
US5678065A (en) * | 1994-09-19 | 1997-10-14 | Advanced Micro Devices, Inc. | Computer system employing an enable line for selectively adjusting a peripheral bus clock frequency |
US5694614A (en) * | 1995-02-15 | 1997-12-02 | Ast Research, Inc. | Minimum latency bus interface circuit with reduced I/O pin count through multi-mode operation |
US6104876A (en) * | 1995-06-07 | 2000-08-15 | Cirrus Logic, Inc. | PCI bus master retry fixup |
US6009527A (en) * | 1995-11-13 | 1999-12-28 | Intel Corporation | Computer system security |
US5802132A (en) * | 1995-12-29 | 1998-09-01 | Intel Corporation | Apparatus for generating bus clock signals with a 1/N characteristic in a 2/N mode clocking scheme |
US5834956A (en) | 1995-12-29 | 1998-11-10 | Intel Corporation | Core clock correction in a 2/N mode clocking scheme |
JPH09313504A (ja) * | 1996-05-27 | 1997-12-09 | Daiichi Tanzou Kk | 人工歯根およびその製造方法 |
US5850528A (en) * | 1996-08-23 | 1998-12-15 | Emc Corporation | Bus timing protocol for a data storage system |
US6141765A (en) * | 1997-05-19 | 2000-10-31 | Gigabus, Inc. | Low power, high speed communications bus |
US5918073A (en) * | 1997-06-27 | 1999-06-29 | Advanced Micro Devices, Inc. | System and method for equalizing data buffer storage and fetch rates of peripheral devices |
US6058399A (en) * | 1997-08-28 | 2000-05-02 | Colordesk, Ltd. | File upload synchronization |
US6112258A (en) * | 1998-03-19 | 2000-08-29 | 3Com Corporation | Multi-cycle I/O ASIC communication system having an arbiter circuit capable of updating address table associated with each I/O ASIC on bus |
US6141691A (en) * | 1998-04-03 | 2000-10-31 | Avid Technology, Inc. | Apparatus and method for controlling transfer of data between and processing of data by interconnected data processing elements |
US6327253B1 (en) | 1998-04-03 | 2001-12-04 | Avid Technology, Inc. | Method and apparatus for controlling switching of connections among data processing devices |
US6311245B1 (en) * | 1998-06-05 | 2001-10-30 | Micron Technology, Inc. | Method for time multiplexing a low-speed and a high-speed bus over shared signal lines of a physical bus |
US6425041B1 (en) | 1998-06-05 | 2002-07-23 | Micron Technology, Inc. | Time-multiplexed multi-speed bus |
GB2339369B (en) * | 1998-07-09 | 2003-06-18 | Advanced Risc Mach Ltd | Apparatus and method for controlling timing of transfer requests within a data processing apparatus |
US6535520B1 (en) * | 1998-08-14 | 2003-03-18 | Cisco Technology, Inc. | System and method of operation for managing data communication between physical layer devices and ATM layer devices |
US6138185A (en) * | 1998-10-29 | 2000-10-24 | Mcdata Corporation | High performance crossbar switch |
US6233636B1 (en) | 1998-12-03 | 2001-05-15 | International Business Machines Corporation | Method and system for allowing PCI bus transactions to be performed at higher operating frequencies |
US6549593B1 (en) | 1999-07-19 | 2003-04-15 | Thomson Licensing S.A. | Interface apparatus for interfacing data to a plurality of different clock domains |
DE10126802C2 (de) * | 2001-06-01 | 2003-05-08 | Texas Instruments Deutschland | Verfahren zur Übertragung von Daten über einen Bus und Bussystem zur Durchführung des Verfahrens |
US6961861B2 (en) * | 2002-02-27 | 2005-11-01 | Sun Microsystems, Inc. | Globally clocked interfaces having reduced data path length |
US20040081108A1 (en) * | 2002-10-02 | 2004-04-29 | Andiamo Systems | Arbitration system |
US7272672B1 (en) | 2003-04-01 | 2007-09-18 | Extreme Networks, Inc. | High speed bus with flow control and extended burst enhancements between sender and receiver wherein counter is maintained at sender for free buffer space available |
US7366935B1 (en) | 2003-04-01 | 2008-04-29 | Extreme Networks, Inc. | High speed bus with alignment, re-timing and buffer underflow/overflow detection enhancements |
US6950892B2 (en) * | 2003-04-10 | 2005-09-27 | International Business Machines Corporation | Method and system for managing distributed arbitration for multicycle data transfer requests |
KR100475125B1 (ko) * | 2003-06-21 | 2005-03-14 | 삼성전자주식회사 | 데이터 버스 폭 변경이 자유로운 이동형 저장 장치 및이에 대한 데이터 버스 폭 설정 방법 |
US8402186B2 (en) * | 2009-06-30 | 2013-03-19 | Intel Corporation | Bi-directional handshake for advanced reliabilty availability and serviceability |
US10049052B2 (en) * | 2014-10-27 | 2018-08-14 | Nxp Usa, Inc. | Device having a cache memory |
US10210088B2 (en) | 2015-12-28 | 2019-02-19 | Nxp Usa, Inc. | Computing system with a cache invalidation unit, a cache invalidation unit and a method of operating a cache invalidation unit in a computing system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56140459A (en) * | 1980-04-04 | 1981-11-02 | Hitachi Ltd | Data processing system |
CA1248239A (en) * | 1984-10-30 | 1989-01-03 | Kenneth R. Jaskowiak | Equal access bus arbiter |
JPH01302459A (ja) * | 1988-05-31 | 1989-12-06 | Toshiba Corp | 高速同期式データ転送方式 |
US4943984A (en) * | 1988-06-24 | 1990-07-24 | International Business Machines Corporation | Data processing system parallel data bus having a single oscillator clocking apparatus |
US5109490A (en) * | 1989-01-13 | 1992-04-28 | International Business Machines Corporation | Data transfer using bus address lines |
US5280591A (en) * | 1991-07-22 | 1994-01-18 | International Business Machines, Corporation | Centralized backplane bus arbiter for multiprocessor systems |
-
1992
- 1992-06-26 US US07/905,098 patent/US5392422A/en not_active Expired - Lifetime
-
1993
- 1993-06-21 DE DE69325859T patent/DE69325859T2/de not_active Expired - Fee Related
- 1993-06-21 EP EP93304843A patent/EP0579389B1/de not_active Expired - Lifetime
- 1993-06-24 KR KR1019930011608A patent/KR100289443B1/ko not_active IP Right Cessation
- 1993-06-28 JP JP18559293A patent/JP3552250B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0736827A (ja) | 1995-02-07 |
US5392422A (en) | 1995-02-21 |
KR100289443B1 (ko) | 2001-05-02 |
EP0579389A1 (de) | 1994-01-19 |
JP3552250B2 (ja) | 2004-08-11 |
EP0579389B1 (de) | 1999-08-04 |
DE69325859D1 (de) | 1999-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69325859T2 (de) | Zum Sender synchronisierter Bus ohne metastabilen Zustand | |
DE69116249T2 (de) | Wiederholer | |
DE68923834T2 (de) | Leistungsfähiges Protokoll für die Übertragung zwischen asynchronen Vorrichtungen. | |
DE69413740T2 (de) | Arbitrierungsverfahren zur Datenflusssteuerung durch ein E/A-Steuergerät | |
DE69634358T2 (de) | Verzögerungsverringerung in der übertragung von gepufferten daten zwischenzwei gegenseitig asynchronen bussen | |
EP0570557B1 (de) | Verfahren zur erzeugung einer systemzeitbasis in einer anlage mit verteilten rechnereinheiten | |
DE69832410T2 (de) | Pipeline-kommunikationssystem mit fester latenz-zeit unter verwendung von dynamischer echtzeit-bandbreitenzuweisung | |
DE69531933T2 (de) | Busarchitektur in hochgradiger pipeline-ausführung | |
DE3750680T2 (de) | Multiprozessor-Busprotokoll. | |
DE19723876B4 (de) | Signalübertragungsvorrichtung | |
DE3878908T2 (de) | Hochgeschwindigkeitsbusschnittstelle mit einer niedrigen pinanzahl. | |
DE69931218T2 (de) | Verfahren zur synchronisierung von netzwerkknoten | |
DE69829987T2 (de) | E/a bus mit schnellen 16-bit zerteilten transaktionen | |
DE102007001137B4 (de) | Gateway zum automatischen Routen von Nachrichten zwischen Bussen | |
DE10235739B4 (de) | Register, das auf einem Speichermodul montiert ist sowie Verwendung eines Registers in einem Speichermodul | |
DE102007037092A1 (de) | Zeitsynchronisation für netzwerkbewusste Vorrichtungen | |
EP1590727B1 (de) | Asynchrone hüllschaltung für eine global asynchrone, lokal synchrone (gals) schaltung | |
DE3850387T2 (de) | Vorrichtung und verfahren zum zugriff eines knotens auf einen bus. | |
DE69828980T2 (de) | System und verfahren zur flusskontrolle für ein hochgeschwindigkeitsbus | |
DE102005048582A1 (de) | Teilnehmerschnittstelle zwischen einem Mikrocontroller und einem FlexRay-Kommunikationsbaustein, FlexRay-Teilnehmer und Verfahren zur Übertragung von Botschaften über eine solche Schnittstelle | |
DE69214702T2 (de) | Speicherzugriff für die Datenübertragung in einer Ein-Ausgabevorrichtung | |
DE60123134T2 (de) | Verfahren und vorrichtung für einen rekonfigurierbaren prozessor | |
EP1941668A1 (de) | Teilnehmerschnittstelle zwischen einem flexray-kommunikationsbaustein und einem flexray-teilnehmer und verfahren zur übertragung von botschaften über eine solche schnittstelle | |
DE60017774T2 (de) | Verfahren und vorrichtung zur unterstützung von mehrtaktübertragung in einem rechnersystem mit einer punkt-zu-punkt halb-duplex verbindung | |
DE10131307A1 (de) | Verfahren und Bussystem zum Synchronisieren eines Datenaustausches zwischen einer Datenquelle und einer Steuereinrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |