-
Gebiet der
Erfindung
-
Die
vorliegende Erfindung bezieht sich auf integrierte Schaltungen;
insbesondere bezieht sich die vorliegende Erfindung auf ein Koppeln
von integrierten Schaltungen.
-
Hintergrund
-
Integrierte
Schaltungen (ICs) sind gewöhnlich
miteinander in einem System mittels Schnittstellen für Datenübertragung
und -steuerung verbunden. Derartige Schnittstellen können Busse
und Punkt-zu-Punkt-Verbindungen sein. Typischerweise gibt es zusätzliche
Signale, die nicht direkt in Bezug zu den Verbindungen stehen, die
realisiert sind, um die Aktionen der ICs zu koordinieren. Derartige
Signale enthalten Fehler- und Debug- bzw. Ausprüf-Signale unter anderen Arten von Signalen.
-
Wenn
diese Signale als physikalische Drähte laufen gelassen werden,
muss jeder separate Draht seine eigenen Anschlüsse, Zeitablaufvorschriften, Spannungsvorschriften,
usw. besitzen, was es für
die IC kompliziert macht, das Signale zu senden und zu empfangen.
Gegenwärtige
Systeme verwenden offene Protokollpunkte auf den existierenden Bussen oder
Verbindungen, die die ICs verbinden, um dieselben Informationen
zwischen den ICs zu übertragen, die
auf diskreten Drähten übertagen
worden wären, wodurch
die physikalischen Schnittstellen zwischen den ICs vereinfacht werden,
wodurch die zusätzlichen
Drähte
beseitigt werden.
-
Ein
derartiger Mechanismus wird eine Imband-Signalisierung bezeichnet,
da die zusätzlichen Informationen,
obwohl sie nicht Protokoll-bezogen sind, als Teil der Protokoll-Signalisierung überragen wird,
und somit mit dem Protokoll im Band sind. Beispielsweise könnte ein
Protokollpunkt anzeigen, daß „ein Ausprüfsignal
A bestätigt
ist." Ein anderer
Protokollpunkt würde
anzeigen, daß „ein Ausprüfsignal
A unbestätigt
ist." Wenn eine
erste IC übertragen
muß, daß das Ausprüfsignal
A zu einer zweiten IC bestätigt wurde,
wird die Mitteilung „Ausprüfsignal
A bestätigt" in dem anhaltenden
Protokollstrom von der ersten IC zu der zweiten IC übertragen.
Wenn das Ausprüfsignal
A unbestätigt
ist, sendet die erste IC „Ausprüfsignal
A unbestätigt" an die zweite IC.
-
Obwohl
dieser Mechanismus eines Zuführens
von Signalen zwischen ICs ohne ein Hinzufügen von zusätzlichen Drähten viele Vorteile beinhaltet, gibt
es auch bedeutende Nachteile, wie beispielsweise, wenn eine Anzahl
von Signalen auf diese Weise zwischen den ICs übertragen wird.
-
Kurzbeschreibung
der Zeichnung
-
Die
vorliegende Erfindung wird aus der nachstehenden genauen Beschreibung
und der zugehörigen
Zeichnung verschiedener Ausführungsbeispiele der
Erfindung vollständiger
verstanden werden. Die Zeichnung sollte jedoch nicht zur Einschränkung der Erfindung
auf bestimmte Ausführungsbeispiele
verwendet werden, sondern dient nur zur Erklärung und zum Verständnis.
-
1 veranschaulicht
ein Ausführungsbeispiel
eines Computersystems;
-
2 veranschaulicht
ein Ausführungsbeispiel
einer sendenden IC;
-
2 veranschaulicht
ein Ausführungsbeispiel
einer empfangenden IC;
-
4 veranschaulicht
ein anderes Ausführungsbeispiel
einer sendenden IC;
-
5 ist
ein Zeitablaufdiagramm eines Ausführungsbeispiels des Signalzeitablaufs;
und
-
6 ist
ein Zeitablaufdiagramm einer Ausführung eines anderen Signalzeitablaufs.
-
Genaue Beschreibung
-
Es
wird ein Mechanismus zur Wiederholung von Signalen über eine
Verbindung ohne Beziehung beschrieben. In der folgenden Beschreibung
werden zahlreiche Einzelheiten dargelegt. Es wird jedoch für den Fachmann
offensichtlich, dass die vorliegende Erfindung ohne diese bestimmten
Einzelheiten verwirklicht werden kann. In anderen Beispielen sind wohlbekannte
Strukturen und Einrichtungen in Form eines Blockschaltbilds eher
als im Einzelnen gezeigt, um ein Unklarmachen bzw. Verdecken der
vorliegenden Erfindung zu vermeiden.
-
Ein
Bezug in der Beschreibung auf „(genau) ein
Ausführungsbeispiel" oder „ ein (unbestimmtes) Ausführungsbeispiel" bedeutet, daß ein bestimmtes Merkmal,
eine Struktur oder eine in Verbindung mit dem Ausführungsbeispiel
beschriebene Eigenschaft in zumindest einem Ausführungsbeispiel der Erfindung
enthalten ist. Das Auftreten der Sätze „ in (genau) einem Ausführungsbeispiel" an verschiedenen Plätzen in
der Beschreibung bezieht sich nicht notwendigerweise immer auf dasselbe
Ausführungsbeispiel.
-
1 ist
ein Blockschaltbild eines Ausführungsbeispiels
eines Computersystems 100. Das Computersystem 100 enthält eine
Zentraleinheit (CPU) 102, die mit dem Bus 105 verbunden
ist. In einem Ausführungsbeispiel
ist die Zentraleinheit 102 ein Prozessor in der Pentium®-Prozessorfamilie
einschließlich
der Pentium®II-Prozessorfamilie,
Pentium®III-Prozessoren und Pentium®IV-Prozessoren, die
von der Intel Corporation aus Santa Clara, Kalifornien verfügbar sind.
Alternativ könnten
andere Zentraleinheiten (CPUs) verwendet werden.
-
Ein
Chipsatz 107 ist auch mit dem Bus 105 verbunden.
Der Chipsatz 107 enthält
einen Speichersteuerhub (MCH) 110. In einem Ausführungsbeispiel ist
der MCH 107 mit einem Eingabe/Ausgabesteuerhub (ICH) über eine
Hub-Schnittstelle verbunden. Die ICH 140 bildet eine Schnittstelle
zu Eingabe/Ausgabe(I/O)-Einrichtungen innerhalb des Computersystems. 100.
Beispielsweise kann der ICH 140 mit einem Peripheriekomponenten-Verbindungsbus
verbunden sein, der mit einem Beschreibungsänderung 2.1 Bus verbunden
sein kann, der durch die PCI Special Interest Group of Portland,
Oregon entwickelt wurde.
-
In
einem Ausführungsbeispiel
enthält
der MCH 110 eine Speichersteuereinrichtung bzw. einen Speicher-Controller 112,
die mit einem Hauptsystemspeicher 115 verbunden ist. Der
Hauptsystemspeicher 115 speichert Daten und Abfolgen von
Anweisungen und Code, die durch Datensignale dargestellt sind, die
durch die CPU 102 oder irgendeine andere Einrichtung ausgeführt werden
kann, die in dem System 100 enthalten ist. In einem Ausführungsbeispiel enthält der Systemspeicher 115 einen
dynamischen wahlfreien Zugriffsspeicher (DRAM); jedoch kann der Hauptsystemspeicher 115 unter
Verwendung anderer Speicherarten verwirklicht werden.
-
Gemäß einem
Ausführungsbeispiel
sind der MCH 110 und der ICH 140 auf getrennten
ICs verwirklicht, die über
die Hub-Schnittstelle verbunden sind. Jedoch kann es zusätzliche
Signale (z.B. Fehlersignale, Ausprüfsignale, usw.) geben, die
nicht in Beziehung zur Hub-Schnittstelle
stehen, die erforderlich sein können,
um den MCH 110 und die ICH 140 zu koordinieren.
Diese Signale besitzen im Allgemeinen die folgenden Eigenschaften:
- 1) Übergänge können in
irgendeinem Taktzyklus auftreten;
- 2) begrenzte Latenz ist zulässig
zwischen dem Zeitpunkt, zu dem ein Signal bestätigt ist, und dem Zeitpunkt,
zu dem ein Signal durch die andere IC beobachtet wird;
- 3) der Zeitablauf des ersten Übergang von einem eingeschwungenen
bzw. stationären
Zustand ist wichtig, wobei der Beginn einer Bedingung signalisiert
wird, wohingegen der Zeitablauf des Rückkehr-zum-stationären-Zustand-Übergangs
weniger wichtig ist;
- 4) jedes Signal verändert
sich selten, aber mehrere Signale können sich in nahe beieinander
liegenden Taktzyklen verändern,
und ein Bewahren bzw. Erhalten des relativen Zeitablaufs der Signalveränderungen
zueinander ist wichtig.
-
Wie
vorstehend diskutiert, ist eine Imband-Signalisierung ein existierender
Mechanismus, der verwirklicht wird, um Informationen zwischen ICs auszutauschen.
Ein Nachteil tritt auf, wenn eine Imband-Signalisierung verwendet
wird, wenn mehrere Signale, die unter Verwendung der Imband-Signalisierung
durchgelaufen sind, ihren Zustand zur selben oder nahezu selben
Zeit (bezogen auf die Geschwindigkeit einer Signalübertragung
durch das Protokoll) verändern.
In einem derartigen Fall wandelt das Protokoll die Signalinformationen
seriell, überträgt den neuen
Zustand eines Signals, und dann wird der neue Zustand des nächsten Signals übertragen,
bis die Veränderungen
auf allen Signalen übertragen sind.
-
Das
Ergebnis ist, daß im
Wesentlichen zu demselben Zeitpunkt in einer IC gesehene Aktionen zeitlich
aufeinanderfolgend an der anderen IC gesehen werden. Beispielsweise,
wird angenommen, daß eine
erste IC (IC1) und eine zweite IC (IC2) durch eine Verbindung mit
einem Übertragungsprotokoll verbunden
sind. Es wird angenommen, daß die
Werte der zwei Signale, A und B, für beide ICs interessant sind.
Die Signale existieren in der IC1 und werden im Band über die
Verbindung zur IC2 übertragen, obwohl
die Signale nicht mit der Funktion der Verbindung in Beziehung stehen.
Wenn A allein in der IC1 bestätigt
ist, wird dies der IC2 mit der „A bestätigt" Mitteilung signalisiert und die IC2
weiß,
daß A
innerhalb 1 Verbindungslatenz, wenn nachdem es auftrat, bestätigt ist.
Dasselbe tritt auf, wenn das Signal B alleine bestätigt ist,
und die IC2 weiß,
daß B
bestätigt ist,
innerhalb 1 Verbindungslatenz, nachdem es auftrat. Wenn jedoch A
und B gleichzeitig bestätigt
sind, kann dies nicht gleichzeitig übertragen werden, da „A bestätigt" und „B bestätigt" getrennte Protokollpunkte sind,
die nicht gleichzeitig übertragen
werden können.
-
Demzufolge
müssen
einige Mechanismen ein Signal gegenüber dem anderen priorisieren
und die Zustandsveränderungen
seriell übertragen.
Die durch das nicht übertragene
Signal angefallene Zustandsveränderung
muß irgendwie
gespeichert und bei der nächsten
Gelegenheit übertragen
werden. Somit werden die in dem IC1 bekannten Informationen, daß A und
B gleichzeitig bestätigt
sind, zeitlich verzerrt, indem sie bei der IC2 ankommen, wenn A bestätigt ist,
gefolgt um eine Verbindungslatenz später durch B bestätigt. Diese
zeitliche Verzerrung in der IC2 ist in 5 veranschaulicht.
-
Das
vorstehend beschriebene Beispiel würde komplizierter sein, wenn
Signale A und B gleichzeitig bestätigt und unbestätigt sind,
und Veränderungen
im Signal A Priorität
gegenüber
Veränderungen im
Signal B besitzen. Diese Situation ist in 6 veranschaulicht. „A bestätigt" wird als zuerst
zu übertragen
ausgewählt.
Im nächsten
Taktzyklus von IC1 sind, während „A bestätigt" gesendet wird, A
und B unbestätigt.
Nun wird „A
unbestätigt" zur Übertragung
ausgewählt, „B bestätigt" wird somit um zwei Verbindungsmitteilungszeiträume verzögert,
-
Zusätzlich gibt
es zwei in dem Puffer erforderliche Einträge, die daran erinnern, „B bestätigt" gefolgt von „B unbestätigt" zu übertragen.
Der Puffer kann voll werden und überlaufen,
und die zugehörigen
Fehlerbedingungen müssen
gehandhabt werden. Die Ausnahmebedingungen zur Handhabung der Puffer
sind kompliziert und anfällig
gegenüber Entwurfsfehlern.
Es ist daher für
den letzten Signalzustand nach einer Reihe von Übergängen möglich, daß es in den Puffern verloren
wird, so dass die empfangende IC am Ende den falschen Zustand eines oder
mehrerer der Signale besitzt.
-
Gegenwärtig werden
in dem Protokoll pro Signal zwei Punkte zugewiesen, einer für eine Bestätigung und
ein anderer für
eine Nicht-Bestätigung.
Somit werden gegenwärtig
2*N Protokollpunkte für
N Imband-Signale verwirklicht. Gemäß einem Ausführungsbeispiel
wer den Protokollpunkte für
Imband-Signalübertragungen
verändert.
In einem derartigen Ausführungsbeispiel
wird der Zustand aller Imband-Signale jedes Mal dann übertragen,
wenn irgendeine Veränderung
auf irgendeinem der Imband-Signale beobachtet wird. Demzufolge werden 2n
Protokollpunkte für
N Imband-Signale verwirklicht (z.B. ein Protokollpunkt für jede mögliche Bedingung der
N Signalleitungen, die im Band übertragen
werden).
-
In
einem weiteren Ausführungsbeispiel
wird der Zustand aller übertragenen
Imband-Signale abgetastet,
wann sich irgendeines der Signale verändert. Nachfolgend werden die
Zustände
aller Signale auf einmal in einem einzelnen Protokollpunkt über die Schnittstelle übertragen.
In noch einem weiteren Ausführungsbeispiel
steuert die die Signale empfangende IC alle Signale mit den neuen
Werten an, die sie jedes Mal empfängt, wenn ein Imband-Protokollpunkt über die
Schnittstelle empfangen wird.
-
2 veranschaulicht
ein Ausführungsbeispiel
einer übertragenden
IC 200. In einem Ausführungsbeispiel
ist die übertragende
IC 200 die MCH 110. Jedoch wird ein Fachmann erkennen,
dass die übertragende
IC 200 irgendeine andere Art von IC sein kann, die mit
einer anderen IC über
irgendeine Art von Bus oder Schnittstelle verbunden ist. Gemäß 2 enthält die IC 200 eine
Signallogik 210 und eine Protokolllogik 230.
-
In
einem Ausführungsbeispiel
enthält
die IC 200 die Signallogik 210 für jedes
Signal, das zu einer empfangenden IC zu übertragen ist. Somit ist die
Signallogik 210(1) bis 210(n) entsprechend Signalen
A bis N enthalten, wobei N das Nte Signal und n die entsprechende
Signallogik 210 darstellt. Die Signallogik 210 enthält die Logik,
die jedes separate, im Band über
eine Schnittstelle zu wiederholende Signal freigibt. Die Protokolllogik 230 ist
die Logik, die im Band zu wiederholenden Signale empfängt und
einen geeigneten Protokollpunkt auswählt und den Protokollpunkt
in ein Protokoll integriert, das über die Schnittstelle übertragen
wird.
-
Gemäß einem
Ausführungsbeispiel
arbeiten alle gezeigten Signale und Flip-Flops innerhalb der Signallogik 210 und
der Protokolllogik 230 mit einem gemeinsamen Takt. Die
nachstehende Beschreibung wird sich auf das Signal A und die entsprechende
Signallogik 210 fokussieren, wobei andere Signale auf eine ähnliche
Weise arbeiten. Nach einer Initialisierung wird das Flip-Flop 2 (FF2)
in der Signallogik 210, das ein Sendesignal ansteuert,
gelöscht.
Dies erlaubt dem Signal A eine Ausbreitung durch den Multiplexer (mux)
zum D-Eingang von FF1. Einen Taktzyklus später besitzt ein Signal_A_gehalten-Signal
denselben Wert wie das Signal A. Die ist die eingeschwungene bzw.
stationäre
Bedingung der Schaltung.
-
Eine
Veränderung
vom stationären
Zustand tritt auf, wenn das Signal A, nachdem es für eine lange
Zeit unbestätigt
war, bestätigt
ist. Wenn das Signal A bestätigt
ist. sieht das XODER- bzw. XOR-Gatter verschiedene Werte an seinen
Eingängen
und sein Ausgang (L) wird bestätigt.
Dies bestätigt
den D-Eingang eines FF2 durch das ODER- bzw. OR-Gatter, das ein
Sendesignal erzeugt. Im nächsten
Takt werden sowohl das Sendesignal als auch Signal_A_gehalten bestätigt. Da
sowohl das Signal A als auch Signal_A_gehalten nun denselben Wert
besitzen, wird der Ausgang des XOR-Gatters L nun unbestätigt.
-
Zur
selben Zeit wurde das Sendesignal hoch und, da das gesendete Signal
bereits im stationären Zustand
niedrig war, bestätigt
das UND- bzw. AND-Gatter seinen Ausgang zum OR-Gatter, das seine
Ausgabe hält,
wodurch der D-Eingang zu FF2 bestätigt ist. Eine Rückführschleife
wird somit von dem Q zum D des FF2 gebildet, die seinen Ausgang konstant
bestätigt
hält, so
lange das gesendete Signal niedrig ist.
-
Eine
Bestätigung
des Sendesignals schaltet auch den Multiplexer so, daß eine Rückführschleife von
dem Q-Ausgang zum D-Eingang von FF1 gebildet ist. So lange das Sendesignal
bestätigt
ist, wird das Signal A ignoriert und das Signal_A_gehalten-Signal
hält den
Wert, den es hatte, wenn das Sendesignal bestätigt wurde. Wie nachstehend
diskutiert werden wird, bleibt das Sendesignal in diesem Zustand,
bis der neue Wert des Signals A über
die Schnittstelle wiederholt wurde. Somit dient der Multiplexer
dem Zweck eines Ignorierens dieser Signalübergänge, die zu nahe bei einem
vorhergehenden Übergang
auftreten, um über
die Schnittstelle wiederholt zu werden. Dies wird ohne die Notwendigkeit eines
Pufferns von Signalveränderungen
und dann Verwerfen von Pufferinhalten, wenn die Schnittstellenbandbreite
ihre Übertragung
nicht erlaubt, wie es im Stand der Technik der Fall ist, erreicht.
-
Für die Protokolllogik 230 werden
die Werte aller Signal_X_gehalten-Signale fortwährend überwacht. Die Protokolllogik 230 überwacht
auch das OR der Sendesignale von jeder Signallogik 210-Komponente.
Wenn irgendein Sendesignal bestätigt
ist, wird der Sendeeingang an der Protokolllogik 230 bestätigt. Wenn
das Sendesignal von der Signallogik 210, das dem Signal
A entspricht, das Sendesignal an der Protokolllogik 230 bestätigt, setzt
die Protokolllogik 230 bei der nächsten verfügbaren Gelegenheit die Werte
aller der Si gnal_X_gehalten-Signale in einen einzelnen Imband-Signalisierungsprotokoll-Datenübertragungsblock
unter Verwendung des Protokollpunkts, der alle ihre unmittelbaren
Werte darstellt. Dann wird das gesendete Signal für einen einzelnen
Taktzyklus bestätigt.
-
Wenn
das gesendete Signal an der Signallogik 210 für das Signal
A ankommt, wird die Rückführschleife
von Q zu D für
FF2 unterbrochen und der D-Eingang wird unbestätigt. Im nächsten Taktzyklus wird das
Sendesignal unbestätigt,
das den Multiplexer schaltet, so daß sich das Signal A nun zum
D-Eingang von FF1 und zum Eingang des XOR-Gatter ausbreitet.
-
Angenommen,
das Signal A ist immer noch im selben Zustand, der gerade wiederholt
wurde (oder ist zu diesem Zustand wieder zurückgekehrt), dann sieht das
XOR dieselben Werte an seinen zwei Eingängen und die Schaltung ist
in einen stationären Zustand
zurückgekehrt.
Sollte jedoch das Signal A nun einen verschiedenen Wert besitzen,
erfaßt
das XOR-Gatter dies
und der vorstehend beschriebene Vorgang wiederholt sich, um diesen
neuen Wert über die
Schnittstelle zu übertragen.
-
Es
ist erkennbar, daß,
wenn N Signale im Band über
die Schnittstelle wiederholt werden, sie sich in irgendeinem Taktzyklus
relativ zueinander verändern
können.
In einigen Taktzyklen werden keine Veränderungen sein, aber es könnten eine
oder mehrere Veränderungen
in anderen Taktzyklen auftreten. Auch kann die Latenz, bis die wiederholende Schnittstelle
in der Lage ist, die Veränderungen
zu wiederholen, kurz oder lang, konstant oder veränderbar
sein, abhängig
vom Schnittstellenentwurf. In irgendeinem Fall verursacht die erste
Veränderung, daß die Schnittstelle
vorbereitet, Signale zu wiederholen.
-
Während der
durch die Schnittstelle zur Vorbereitung einer Wiederholung der
Signale erforderlichen Zeit können
andere Signale ihren Zustand verändern
und ihr neuer Zustand wird auch wiederholt werden, wenn die Vorbereitung
vollendet ist. Wenn die Schnittstelle bereit ist, überträgt sie die
Zustände aller
Signale einschließlich
des neuen Zustands jedes Signals, der sich bis zu dieser Zeit verändert hat, sofort über die
Schnittstelle. Die Signale werden dann neu ausgewertet nach Veränderungen
relativ zum Wert, der gerade über
die Schnittstelle wiederholt wurde. Wenn neue Veränderungen
erfaßt
werden, wird der Vorgang wiederholt.
-
3 veranschaulicht
ein Ausführungsbeispiel
für eine
empfangende IC 300. Die IC 300 enthält eine
Protokolllogik 330 und eine sequentielle Logik 350.
Die sequentielle Logik 350 enthält ein FF, das für jedes
wiederholte Signal, das empfangen wird, reserviert ist. Wenn die
Protokolllogik 330 einen hereinkommenden Imband-Signalisierungsprotokoll-Datenübertragungsblock
erfaßt,
extrahiert die Protokolllogik 330 den Zustand aller empfangenen
Signale und präsentiert
diese den D-Eingängen
der FFs an der sequentiellen Logik 350, wobei zur selben
Zeit die FFs freigegeben werden, um Daten mit einem Freigabesignal
anzunehmen. Diese FFs halten die wiederholten Signale auf den zuletzt
geschriebenen Werten, bis der nächste
Imband-Signalisierungsprotokoll-Datenübertragungsblock sie veranlaßt, aktualisiert
zu werden.
-
Zunehmend
sind IC-Verbindungen von hoher Geschwindigkeit und Übertragungsfehlern
unterworfen. Manchmal wird eine Imband-Signalwiederholung aus Gründen, wie
einer Minimierung von Übertragungslatenz
und Verringerung einer Pufferkomplexität auf höheren Protokollebenen in die
unteren Protokollschichten eingefügt. Das Ergebnis besteht darin,
daß Imband-Signalwiederholungs-Datenübertragungsblöcke verloren
gehen können.
-
Der
vorstehend beschriebene Wiederholungsmechanismus überträgt einen
Signalwiederholungs-Datenübertragungsblock
für alle
Signalveränderungen,
die innerhalb des Zeitfensters des Datenübertragungsblocks anfallen.
Wenn dieser Datenübertragungsblock
verloren geht, besitzt die empfangende IC für alle Signale mit innerhalb
des verlorenen Datenübertragungsblocks
enthaltenen Veränderungen
den falschen Zustand. Diese Bedingung wird andauern, bis sich ein
anderes Signal verändert
und alle Signalzustände
wieder wiederholt werden.
-
Ein
Grad an Toleranz gegenüber
Verlusten von Imband-Signalisierungsprotokoll-Datenübertragungsblöcken kann
durch eine einfache Veränderung
in der vorstehend beschriebenen Signallogik 210 erreicht
werden. Die Veränderung
verursacht eine Übertragung
mehrerer Datenübertragungsblöcke für jede Signalveränderung,
wodurch die Wahrscheinlichkeit einer Auslieferung der Signalveränderung
an den Empfänger
erhöht
wird.
-
Die
Anzahl von zu übertragenden
Datenübertragungsblöcken für jede Signalveränderung
kann gesetzt werden, um der erwarteten Fehlerrate auf der physikalischen
Verbindung Rechnung zu tragen. Ein Übertragen von mehreren Datenübertragungsblöcken für jede Veränderung
verwendet Verbindungsbandbreite, aber erfordert keine Realisierung
einer Puffe rung oder von Wiederholungsschemata. Eine Latenz zur
Wiederholung der Signale über
die Verbindung ist minimiert, da der erste korrekte Datenübertragungsblock,
der ankommt, die Signalwerte am Empfänger setzt.
-
4 veranschaulicht
ein anderes Ausführungsbeispiel
einer übertragenden
IC 200 einschließlich
eines Imband-Signalisierungsmechanismus, der gegenüber dem
Verlust von Imband-Signalisierungsprotokoll-Datenübertragungsblöcken tolerant
ist. Um eine Übertragung
von mehreren Datenübertragungsblöcken für jede Signalveränderung
in der Signallogik 210 zu verwirklichen, wird die Logik
innerhalb des gepunkteten Blocks (z.B. das ODER- bzw. OR-Gatter, UND- bzw. AND-Gatter
und FF2) durch einen ladbaren Herunterzähl- bzw. Countdown-Zähler 420 ersetzt.
Das Signal L ist das Ladesignal für den Zähler 420. Wenn L bestätigt ist,
lädt der
Zähler 420 seinen Vorgabe-
bzw. Default-Wert. Wenn ein Signal E bestätigt ist, wird der Zähler zu
einem Herunterzählen freigegeben.
Für jeden
Taktzyklus, in dem C bestätigt ist,
wenn E auch bestätigt
ist, verringert sich der Zähler 420 um
einen Zählerwert.
Eine Zähler420-Ausgabe
N ist bestätigt,
wann immer der Zählerwert
nicht Null ist.
-
Der
Zähler 420 funktioniert
in der IC wie folgt. Wenn das XOR-Gatter als ein Ergebnis einer
Signalveränderung
bestätigt
ist, ist L bestätigt.
L ist für
nur einen Zyklus bestätigt,
da der erste Taktzyklus nach der Signalveränderung die XOR-Eingaben gleich macht.
Eine Bestätigung
von L lädt
den Vorgabewert an der nächsten
Taktflanke in den Zähler.
Der Vorgabe-Zähler420-Wert
wird ausgewählt,
um die Verbindungsfehlerrate, die Belastung des Protokolldurchsatzes,
die Wichtigkeit der wiederholten Daten, usw. auszugleichen.
-
Wenn
der Zähler 420 geladen
ist, ist seine N Ausgabe bestätigt,
da der Zähler 420 nun
nicht Null ist. Dies schaltet den Multiplexer, der den Wert des Eingangssignals
hält, während es übertragen
wird. Eine Bestätigung
der N Ausgabe bestätigt
auch das Signal E, was den Zähler 420 freigibt,
auf der Grundlage der Bestätigung
der C Eingabe herunterzuzählen.
Es gibt auch das Sendesignal an die Protokolllogik 230 frei.
-
Jedes
Mal, wenn die Protokolllogik 230 eine Bestätigung des
Sendesignals beobachtet, bereitet die Protokolllogik 230 eine
Wiederholung der Signale vor, erfaßt ihre Werte, sendet einen
Imband-Signalisierungsprotokoll-Datenübertragungsblock und bestätigt das
gesendete Signal. Der Zähler 420 in
jeder Signallogik210-Komponente, der eine Signalveränderung
erfahren hat, besitzt einen Wert ungleich Null. Der gesendete Impuls
erniedrigt jeden Zähler 420 in diesem
Zustand um einen Zählerwert,
was anzeigt, daß die
Signalveränderung,
die dieser Zähler
nachverfolgt, einmal über
die Verbindung übertragen
wurde. Dies setzt sich fort, bis jeder derartige Zähler 0 erreicht,
N unbestätigt
ist, der Zähler 420 deaktiviert wird
(so daß er
nicht unterläuft),
das gesendete Signal von der Signallogik 210 zur Protokolllogik
unbestätigt
ist und der Multiplexer schaltet, um auf weitere Eingabesignalveränderungen
hin zu überwachen.
-
Der
vorstehend beschriebene Mechanismus überträgt die Vorgabeanzahl von Imband-Signal-Datenübertragungsblöcken für jeden
Signalübergang. Wenn
Veränderungen
bei zusätzlichen
Signalen auftreten, während
die früheren
Veränderungen
bei anderen Signale wiederholt werden, werden diese zusätzlichen
Veränderungen
sofort in die nächsten
und nachfolgenden gesendeten Imband-Signalisierungs-Datenübertragungsblöcke aufgenommen.
Die Übertragung
von Imband-Signalisierungsprotokoll-Datenübertragungsblöcken endet,
wenn einmal die zuletzt auftretende Signalveränderung für die vorgegebenen Anzahl von
Malen wiederholt wurde.
-
Die
empfangende IC 300 (3), die
mit der Signallogik 210 verwendet wird, die einen Zähler enthält, ist
identisch dem bereits vorstehend beschriebenen Empfänger. Bandinterne
Signalisierungsprotokoll-Datenübertragungsblöcke, die
durch Fehler beschädigt
sind, werden durch eine Verbindungsüberprüfung durch die Protokolllogik 330 erfaßt und ohne eine
Bestätigung
des Freigabesignals verworfen. Daher verändern sich die Ausgaben der
FFs innerhalb der sequentiellen Logik 350, die die Signalwerte
in der IC 300 hält,
nicht. Der erste Imband-Signalisierungsprotokoll-Datenübertragungsblock,
der die Verbindungsüberprüfung durchläuft, verändert alle
Signal-FFs auf ihre korrekten wiederholten Werte. Nachfolgende gute
Datenübertragungsblöcke schreiben auch
die FFs, aber die Werte sind dieselben, so daß keine Veränderung in den Signalen in
der IC 300 bemerkt wird. So lange ein einzelner guter Datenübertragungsblock
empfangen wird, werden die Signale korrekt wiederholt.
-
Der
vorstehend beschriebene Mechanismus ermöglicht eine gleichzeitige Überwachung
von gleichzeitigen Signalübergängen in
einer ersten IC in einer zweiten IC nach eine Übertragungsverzögerung.
Weiterhin wird die Notwendigkeit komplexer Puffer (fehleranfälliges Design)
zum Halten von Übergängen zur
späteren Übertragung
vermieden. Dies ist richtig, auch, wenn Fehler auf der dazwischentretenden
Verbindung einen Verlust einiger Protokoll-Datenübertragungsblöcke verursacht.
Darüber
hinaus können
innerhalb weniger Taktzy klen voneinander auf einigen Signalen auftretende Übergänge über eine
Schnittstelle ohne überlaufende
Puffer übertragen
werden und ohne einen Verlust von Signalübergängen in einer unvorhersehbaren
(oder schwierig vorhersehbaren) Weise.
-
Während viele
Veränderungen
und Modifikationen der vorliegenden Erfindung zweifellos für den Durchschnittsfachmann
nach einem Lesen der vorstehenden Beschreibung offensichtlich sind,
ist es verständlich,
daß irgendein
bestimmtes, gezeigtes und zur Veranschaulichung beschriebenes Ausführungsbeispiel
keineswegs als Einschränkung
gedacht ist. Daher sind Bezugnahmen auf Einzelheiten verschiedener
Ausführungsbeispiele
nicht zur Einschränkung
des Schutzumfangs der Ansprüche
beabsichtigt, die selbst nur die als die Erfindung betrachteten
Merkmale wiedergeben.
-
Zusammenfassung:
-
Gemäß einem
Ausführungsbeispiel
ist ein System offenbart. Das System enthält eine erste integrierte Schaltung
(IC), eine erste mit der ersten IC verbundene Schnittstelle und
eine mit der Schnittstelle verbundene zweite IC. Die erste IC überträgt den Zustand
jedes einer Mehrzahl von nicht zur Schnittstelle gehörigen Signalen
zu der zweiten IC im Band über
die Schnittstelle zu jedem Zeitpunkt, zu dem eine Veränderung
im Zustand eines der Mehrzahl von Signalen erfaßt wird.