DE69023447T2 - Parallele Architektur zur schnellen Flag-Erkennung und Paketidentifizierung. - Google Patents
Parallele Architektur zur schnellen Flag-Erkennung und Paketidentifizierung.Info
- Publication number
- DE69023447T2 DE69023447T2 DE69023447T DE69023447T DE69023447T2 DE 69023447 T2 DE69023447 T2 DE 69023447T2 DE 69023447 T DE69023447 T DE 69023447T DE 69023447 T DE69023447 T DE 69023447T DE 69023447 T2 DE69023447 T2 DE 69023447T2
- Authority
- DE
- Germany
- Prior art keywords
- flag
- data stream
- data
- bits
- tdm
- 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
- 238000001514 detection method Methods 0.000 title claims description 30
- 239000003550 marker Substances 0.000 claims description 59
- 238000000034 method Methods 0.000 claims description 29
- 239000000872 buffer Substances 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 12
- 238000012360 testing method Methods 0.000 claims 6
- 230000003139 buffering effect Effects 0.000 claims 1
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 230000004224 protection Effects 0.000 claims 1
- 238000000926 separation method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 13
- 230000007704 transition Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 4
- 239000002131 composite material Substances 0.000 description 3
- CNQCVBJFEGMYDW-UHFFFAOYSA-N lawrencium atom Chemical compound [Lr] CNQCVBJFEGMYDW-UHFFFAOYSA-N 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Time-Division Multiplex Systems (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Multi Processors (AREA)
Description
- Diese Erfindung liegt auf dem Gebiet der Datenkommunikation und ist speziell auf das Erkennen von Datenpaketen gerichtet. Insbesondere wird ein Verfahren zur Identifikation von Datenpaketen vorgestellt, die mit hohen Geschwindigkeitswerten übertragen werden.
- In Kommunikationsprotokollen werden Datenpaketgrenzen oftmals mit Hilfe spezieller Muster oder Markierungen angezeigt. In einem ein derartiges Protokoll benutzenden System wird ein Markierungsdetektor / Datenpaketidentifikator verwendet, um Markierungen zu erkennen und damit innerhalb eines empfangenen Datenstromes Datenpakete durch ihre Grenzen zu identifizieren.
- Üblicherweise wird eine serielle Architektur innerhalb eines bitorientierten Protokolls dafür verwendet, in den empfangenen Daten Markierungen zu identifizieren. In diesem Systemen werden Markierungen dadurch erkannt, daß ein serieller Datenstrom bitweise verarbeitet wird und daß "Verschiebe- und Vergleichs"- Techniken benutzt werden. Diese serielle Architektur unterliegt mehreren Einschränkungen.
- In der Europäischen Patentanmeldung EP-A 0 323 222 "System for Sending and Receiving a HDLC Data Frame on a Tine-Division Multiplexed Transmission Path" wird ein System zum Senden und Empfangen eines höherwertigen datenübertragungsgesteuerten Datenübertragungsblockes (HLDC) auf einem zeitmultiplexen (TDM) Übertragungsweg beschrieben. Innerhalb des Empfangsvorganges dieses Systems wird eine Verarbeitüngsweise zur Erkennung des Markierungsmusters aus den empfangenen Daten beschrieben, die eine modifizierte "Verschiebe und Vergleichs"-Technik mit ihren typischen Geschwindigkeitseinschränkungen darstellt.
- Erstens ist, wenn keine hochentwickelte Hochgeschwindigkeitslogik verwendet wird, die Systemgeschwindigkeit durch die Geschwindigkeit der Technologie der seriellen Logik begrenzt. Beispielsweise kann für die erweiterte Schottky-TTL-Logik die Verarbeitungsgeschwindigkeit zwischen 50 und 70 Megahertz liegen. Diese Einschränkung kann den Markierungsdetektor zum Engpaß bei Systemen werden lassen, bei denen Datenpaketübertragungen über Hochgeschwindigkeitsverbindungen stattfinden.
- Zweitens arbeitet konventionelle serielle Architektur nur in Einkanalmodus. Da Markierungserkennung ein sequentieller bitweise erfolgender Vorgang ist, arbeitet sie im allgemeinen gleichzeitig an einem einzelnen Datenpaket. Damit kann in einem System, das eine Hochgeschwindigkeitsverbindung benutzt, die gemäß einem zeitmultiplexen (TDM) Format mehrfache Datenkanäle trägt, ein separater Markierungsdetektor verwendet werden, um Daten zu verarbeiten, die auf jedem Kanal ankommen. Dies erhöht die Kosten und die Komplexität der Datenverbindungsschnittstelle stark und vermindert die Flexibilität für Systeme, in denen die Anzahl der Kanäle schwanken kann.
- Die vorliegende Erfindung identifiziert Begrenzungsmarkierungen innerhalb eines seriellen Datenstromes. Die Identifikation erfolgt durch Verarbeitungstechniken, die mehrere Bits parallel auswerten.
- Die Erfindung kann direkt mit einer Mehrkanaldatenverbindung gekoppelt werden, die eine veränderliche Anzahl von Kanälen hat. Zusätzlich können durch die zugeordnete Hardware mit einer relativ niedrigen Verarbeitungsverzögerung alle erforderlichen Funktionen durchgeführt werden. Daten werden über getrennte Kanäle der Mehrkanalverbindung übertragen. Die Mehrkanalverbindung wählt für einen vorgegebenen Zeitraum gleichzeitig einen Kanal und ermöglicht es, daß der Datenstrom vom ausgewählten Kanal zum Markierungsdetektor übertragen wird.
- Eine Markierung (die aus einem vorgegebenen Bitmuster besteht) wird wie folgt identifiziert:
- 1) Der digitale Datenstrom wird in den Markierungsdetektor eingegeben, jeweils eine vorgegebene Anzahl von Bits gleichzeitig. Einige dieser Bits können Teil einer Markierung sein.
- 2) Der Markierungsdetektor erzeugt eine Anzeige der Anzahl von Bits, die in den Daten, die in den Markierungsdetektor eingegeben worden sind, einem Teil der Markierung entsprechen können.
- 3) Zusätzliche Daten aus dem digitalen Datenstrom werden in den Markierungsdetektor eingegeben.
- 4) Wenn einige Bits dieser zusätzlichen Daten die restliche Bits einer Markierung darstellen, zeigt der Detektor an, daß eine Markierung gefunden worden ist.
- Auf der Grundlage des Standortes einer Markierung können Bytegrenzen für den Anfang und das Ende eines Datenpaketes bestimmt werden. Unter Benutzung dieser Information stellt ein Ausgaberegister nur solche dem Datenpaket entsprechenden Bits einem Zwischenspeicher zur Speicherung oder Bearbeitung zur Verfügung.
- Fig. 1 ist ein Blockdiagramm eines Kommunikationssystems, das eine Funktion zur Markierungserkennung gemäß der vorliegenden Erfindung unterstützen kann;
- Fig. 2 ist ein Blockdiagramm eines beispielhaften Markierungsdetektors, der in Fig. 1 gezeigt ist;
- Fig. 3 ist ein Diagramm des zeitlichen Ablaufes von Ausgabesignalen, die von der Datenpaketidentifikationskomponente des Markierungsdetektors erzeugt werden, der in Fig. 2 gezeigt ist;
- Fig. 4 ist eine Tabelle, welche die Beziehung zwischen Zuständen, Eingaben und Ausgaben in der Datenpaketidentifikationskomponente des Markierungsdetektors zusammenfaßt, der in Fig. 2 gezeigt ist;
- Fig. 5 ist ein Statusübergangsdiagramm für die Datenpaketidentifikationskomponente des Markierungsdetektors, der in Fig. 2 gezeigt ist;
- Fig. 6 ist ein Diagramm des zeitlichen Ablaufes bei einem System, in dem Datenpaketgrenzen durch einen einzelnen Begrenzer bezeichnet werden;
- Fig. 7 ist ein Blockdiagramm eines TDM-Registers;
- Fig. 8 ist ein Diagramm des zeitlichen Ablaufes, das Einzelzyklusvorgänge des TDM-Registers zeigt, das in Fig. 7 gezeigt ist;
- Fig. 9 ist ein Diagramm des zeitlichen Ablaufes, das den verschachtelten Betrieb des TDM-Registers zeigt, das in Fig. 7 gezeigt ist;
- Fig. 10 ist ein Diagramm des zeitlichen Ablaufes, das den TDM- Registerbetrieb zeigt.
- Das Folgende sind Definitionen von Begriffen, die in der folgenden Beschreibung der Erfindung verwendet werden.
- ZEITMULTIPLEXEN - ein Vorgang zum Übertragen von zwei oder mehr Signalen über einen gemeinsamen Weg, indem aufeinanderfolgende Zeitintervalle für unterschiedliche Signale benutzt werden.
- MARKIERUNGSMUSTER - eine vorgegebene Folge von Bits, die dafür verwendet werden, Datenpaketgrenzen zu bestimmen.
- ABBRUCHMUSTER - eine vorgegebene Folge von Bits, die dafür verwendet werden, um anzuzeigen, daß die im aktuellen Datenpaket enthaltene Information ignoriert werden soll.
- MARKIERUNGSERKENNUNG - der Vorgang, durch den ein Markierungsmuster im Datenstrom identifiziert wird.
- DATENPAKETERKENNUNG - der Vorgang, durch den ein empfangenes Byte ausgewertet wird, um festzustellen, ob es zu einem speziellen Datenpaket gehört oder nicht.
- Wie allgemein bekannt, werden Daten dadurch dargestellt, daß sie in Ansammlungen von binären Ziffern gruppiert werden, die Bytes genannt werden. In einem typischen Kommunikationssystem werden Bytes von Daten nacheinander übertragen. Eine Gruppe von nacheinander übertragenen Datenbytes (Markierungen ausgeschlossen) wird als Datenpaket definiert.
- Datenkommunikationssysteme werden oftmals in einer zeitmultiplexen Umgebung realisiert. In dieser Umgebung kann es schwierig sein, ein komplettes Datenpaket in einem einzigen Zeitschlitz zu übertragen. Oftmals werden von einem Kanal ausgehende Datenpaketübertragungen am Ende eines Zeitschlitzes unterbrochen, um später wieder aufgenommen zu werden. In der Zwischenzeit wird Datenpaketübertragung von wechselnden Kanälen veranlaßt, nur um zur späteren Fortsetzung unterbrochen zu werden.
- Wenn mit Datenpaketen umgegangen wird, ist es wünschenswert, die exakten Grenzen des Beginns und des Endes jedes Datenpaketes zu kennen. Diese Information kann dafür benutzt werden zu verhindern, daß Datenbits eines Datenpaketes irrtümlich einem anderen Datenpaket zugeordnet werden. Datenpaketgrenzen werden durch die Verwendung eines Markierungsmechanismus bestimmt. Durch die Identifikation einer Markierung im Datenstrom erfolgt an die übertragenden Einrichtung der Hinweis, wenn das erste Byte in einem Datenpaket empfangen werden wird und wenn das letzte Byte in dem Datenpaket empfangen worden ist.
- Der Markierungsdetektor besteht aus einer Komponente zur Markierungserkennung und einer Komponente zur Datenpaketidentifikation. Jede Komponente funktioniert als Statusrechner. Da die Komponente zur Markierungserkennung einen Datenstrom verarbeitet, nimmt sie verschiedene Zustände an. Jeder Zustand ist kennzeichnend für die Inhalte des Datenstromes. Wenn die Komponente zur Markierungserkennung eine Markierung lokalisiert, schickt sie diese Information an die Komponente zur Datenpaketidentifikation.
- Das zur Trennung von Datenpaketen benutzte Markierungsbitmuster und die Codierung von Daten innerhalb eines Datenpaketes werden gemäß einem vorgegebenen Kommunikationsprotokoll festgelegt. Der in dieser Ausführungsform der Erfindung benutzte Mechanismus zur Markierungserkennung ist mit allgemein bekannten Protokollen kompatibel, wie etwa LAPD, HDLC und SDLC. Gemäß diesen Protokollen umfaßt eine Markierung im Datenstrom sechs oder mehr aufeinanderfolgende binäre Einsen. Um zu verhindern, daß tatsächliche Daten als Markierung interpretiert werden, werden die Daten vor ihrer Übertragung vorverarbeitet. Dieser Vorverarbeitungsschritt codiert Datenwerte, die mit Markierungen verwechselt werden können. Bei einer beispielhaften Art von Codierung wird in jede Kette von fünf aufeinanderfolgenden Einsen im Eingabedatenstrom eine binäre Null zwischen ihr und dem nächsten darauffolgenden Bit eingefügt. Nachdem ein Datenpaket empfangen worden ist, wird dieser Codiervorgang umgekehrt, indem die einer beliebigen Kette von fünf aufeinanderfolgenden Einsen folgende Null entfernt wird.
- Markierungserkennung und Datenpaketidentifikation mit hoher Geschwindigkeit können als eine Funktion beschrieben werden, aber der vereinfachten Erklärung halber werden die beiden Funktionen unterteilt und so beschrieben, als ob sie durch getrennte Hardwarekomponenten ausgeführt werden.
- In dieser Ausführungsform der Erfindung werden Daten in die Komponenten eingegeben, die byteweise die Funktion der Markierungserkennung ausführen. Die empfangenen Bits, die dieses Byte bilden, werden gleichzeitig ausgewertet, um festzustellen, ob eine Markierung (oder ein Bruchteil davon) empfangen worden ist. Da eine Markierung unter zwei Bytes aufgeteilt sein kann, können zwei solche Auswertungen erforderlich sein, und daher werden für die Markierungserkennung zwei Rechnerzyklen verwendet. Weil Datenpakete ungültig sind, die kleiner als zwei Bytes sind, stellt die Datenpaketidentifikationskomponente fest, ob ein gültiges Datenpaket über drei Taktzyklen empfangen worden ist. Wenn ein gültiges Datenpaket empfangen worden ist, können die Daten für dieses Datenpaket, die aus dem empfangenen Datenstrom herausgeholt worden sind, in einem aufeinanderfolgenden Schritt zur Bearbeitung (wie etwa dem oben erläuterten Protokolldecodierschritt) oder zur Speicherung übertragen werden.
- In Fig. 1 wird ein Kommunikationssystem gezeigt, welches das Markierungserkennungsschema gemäß der vorliegenden Erfindung benutzen kann. Diesem System werden über eine Reihe von Datenkommunikationskanälen Daten zur Verfügung gestellt. Jeder Kanal ist über einen Zeitmultiplexer 101 an das System gekoppelt. Der Multiplexer 101 schaltet periodisch zwischen den verschiedenen Kommunikationskanälen um, mit denen er gekoppelt ist. Für einen vorgegebenen Zeitraum wird durch den Zeitmultiplexer 101 ein Datenkanal ausgewählt, und danach wird ein anderer Kanal ausgewählt, der einem anderen Datenstrom Durchlaß gewährt. Sobald ein Datenstrom den Multiplexer 101 durchläuft, wird er über eine Datenverbindung 100 an den Markierungsdetektor 102 übertragen.
- Der Markierungsdetektor 102 wertet den ankommenden Datenstrom aus, um festzustellen, ob er ein Bitmuster enthält, das einer Markierung entspricht. Wenn ein erstes, nicht einer Markierung entsprechendes Bitmuster erkannt wird, zeigt der Markierungsdetektor an, daß für ein spezielles Datenpaket die Übertragung begonnen hat. Wenn bei dem Kanal die nächste Markierung erkannt wird, dann zeigt der Markierungsdetektor an, daß ein vollständiges Datenpaket empfangen worden ist. Auf der Grundlage des Standortes der Markierungen im Eingabedatenstrom können für den Anfang und das Ende des Datenpaketes Grenzen bestimmt werden.
- Die vom Markierungsdetektor 102 zur Verfügung gestellten Daten werden an ein Verarbeitungselement 104 weitergeleitet. Dieses Verarbeitungselement kann beispielsweise die Daten gemäß dem von jedem einzelnen Kanal verwendeten Protokoll decodieren. Die vom Verarbeitungselement bereitgestellten decodierten Daten werden dem Speicherelement 103 übergeben. Wie in Fig. 1 angezeigt, umfaßt das Speicherelement 103 mehrere Datenzwischenspeicher, jeweils einen für jeden Kanal, der vom Zeitmultiplexer 101 verarbeitet wird. In diesen Zwischenspeichern werden die decodierten Daten zwischengespeichert, die von weiteren Verarbeitungselementen (nicht gezeigt) benutzt werden können oder die in Datenpaketen codiert werden können und über einen Kommunikationskanal an andere Datenverarbeitungssysteme in einem Netzwerk geschickt werden können.
- Die Arbeitsweise des Markierungsdetektors 102 ist wesentlich komplizierter aufgebaut, weil der den Zeitmultiplexer 101 durchlaufende Datenstrom sich ständig verändert. Eine TDM-Verbindung kann viele Kanäle umfassen, die jeweils unterschiedliche Datenüberträgungsgeschwindigkeiten haben. Wünschenswerterweise sollte jeder Kanal getrennt behandelt werden, weil er aus einer unterschiedlichen Quelle kommt. Es wird jedoch statt einer Bereitstellung eines Markierungsdetektors für jeden Kanal ein TDM-Markierungsdetektor beschrieben, der alle Kanäle einer TDM-Verbindung bedient. Obwohl der TDM-Markierungsdetektor an viele Kanäle gekoppelt sein kann, wird in einem Zeitschlitz nur ein Kanal verarbeitet. Die Zwischenergebnisse der Verarbeitung in jedem Schlitz werden für den nächsten Zeitschlitz gespeichert und abgerufen, der zum gleichen Kanal gehört. Bei jedem Zeitschlitz wird der Abruf der Zwischenergebnisse von einer Tabelle (Schlitz/Kanal-Abbild) gesteuert, die den mit jedem Zeitschlitz verbundenen Kanal angibt. Diese Tabelle wird jedesmal dann aktualisiert, wenn die TDM-Verbindung neu konfiguriert wird.
- Die Ausführung eines Markierungsdetektors beruht auf einer Statusrechnerdarstellung. Während des Betriebes benutzt der Markierungsdetektor 102 nicht nur ein aktuelles Eingabedatenbyte, sondern auch Information, die den Inhalt der vorher empfangenen Eingabedatenbytes betrifft. Der Markierungsdetektor 102 speichert diese Information in Form eines Kanalstatus. Der Kanalstatus zeigt die Beziehung zwischen aufeinanderfolgenden Datenbytes an.
- Der Markierungsdetektor 102 hat zwei Funktionen: Markierungserkennung und Datenpaketidentifikation. Markierungserkennung kann erfolgen, wenn nur das vorhergehende Eingabedatenbyte bekannt ist, aber andere Funktionen, wie etwa Berechnungen zur Grenzenund Byteausrichtung (nachstehend mit Bezug auf Tabelle 2 beschrieben) benutzen eine Verzögerung um zwei Zyklen. Die Funktion zur Datenpaketidentifikation benötigt jedoch eine Verzögerung um drei Zyklen. Aufgrund der Gesamtzahl der betroffenen Zustände ist ein Statusrechner, der sowohl Markierungserkennungs- wie Datenpaketidentifikationsfunktionen ausführt, kompliziert zu analysieren und zu berechnen. Eine Aufteilung in zwei getrennte logische Statusrechner, einen "Bit"-Statusrechner und einen "Byte"-Statusrechner, ist leichter zu handhaben und wird in dieser Ausführungsform der Erfindung verwendet. Der Markierungsdetektor kann daher entweder als ein großer zusammengesetzter Statusrechner oder zwei kleinere getrennte Statusrechner angesehen werden. Die tatsächliche Realisierung kann jedoch einen zusammengesetzten Statusrechner verwenden, um externe Anschlüsse und Weitergabeverzögerungen zu vermindern. Der Fachmann kann aus der nachstehend zur Verfügung gestellten Beschreibung leicht einen derartigen zusammengesetzten Statusrechner entwerfen und aufbauen.
- Ein Blockdiagramm, das einen Überblick des Markierungsdetektors 102 zeigt, wird in Fig. 2 zur Verfügung gestellt. Eingabe- und Ausgabesignale des Markierungsdetektors entsprechen der von Komponenten außerhalb der zwei Statusrechner empfangenen und an diese abgeschickten Information, während die Zustände aus internen Berechnungen jedes Statusrechners festgestellt werden. Beide Statusrechner im Markierungsdetektor tauschen Information aus.
- Die in dieser Ausführungsform verwendete Markierungserkennungskomponente 201 ist ein Statusrechner, der Kenntnisse über einzelne Bitwerte und Bitpositionen dazu benutzt, innerhalb des Datenstromes Markierungsmuster zu erkennen. In dieser beispielsweisen Ausführungsform der Erfindung wird das Markierungsmuster 01111110 verwendet. Dieses Muster wird dazu verwendet, um festzustellen, ob über den Kanal eine Markierung oder tatsächliche Daten übertragen werden. Aufgrund der parallelen Realisierung (byteweise) wird zwei aufeinanderfolgende Bytes betreffende Information benutzt. Dies erfolgt, weil eine Markierung über zwei Bytes empfangen werden kann, z.B. 3 Bits (XXXXX011) in einem ersten Byte und die restlichen 5 Bits (11110XXX) im nächsten Byte.
- Es gibt drei Eingabeanschlüsse, die bei der Markierungserkennungskomponente 201 gezeigt werden, DATAIN, DIST und BOUND. DATAIN ist der Eingabeanschluß, auf dem das aktuelle Datenbyte empfangen wird. DIST stellt Information über die Position der letzten '0' im vorhergehenden Byte zur Verfügung. BOUND zeigt den Versatz, falls vorhanden, zwischen Grenzen empfangener Bytes und Markierungen an.
- Die Markierungserkennungskomponente 201 enthält fünf Ausgabeanschlüsse. Zwei dieser Anschlüsse, FLAG und ALIGN, werden mit der Datenpaketidentifikationskomponente 204 gekoppelt. Das FLAG-Signal gibt an, wenn im Datenstrom eine Markierung erkannt wird.
- Das ALIGN-Signal zeigt an, ob das letzte empfangene Markierungsmuster mit der empfangenen Bytegrenze ausgerichtet war. Die an das Ausgaberegister 203 geschickten Signale bestehen aus dem aktuellen Datenbyte, das empfangen worden ist (DATAOUT), dem vorher erwähnten BOUND-Signal und einem ABORT-Signal. Das ABORT- Signal wird erzeugt, wenn ein ABORT-Muster erkannt wird. Dieses Signal wird verwendet, um dem Speicherelement 103 der Fig., 1 mitzuteilen, daß das Datenpaket, das gerade in den Zwischenspeicher geschrieben wird, abgelegt werden kann.
- Wie vorstehend ausgeführt, gibt das DIST-Signal die Position der letzten '0' in dem vorher empfangenen Byte an. Dieses Signal wird dazu verwendet, um Markierungsmuster und Unterbrechungsmuster in den Daten zu erkennen. In dieser Ausführungsform der Erfindung wird das Erkennen dadurch bewerkstelligt, daß Folgen von sechs oder mehr aufeinanderfolgenden Einsen identifiziert werden. Dieses Muster wird vom DIST-Signal und den Bits im aktuellen Byte eingeschlossen.
- Das erste und das letzte Byte eines empfangenen Datenpaketes können nur einige wenige Bits tatsächlicher Daten enthalten, während die anderen Bits dem Abschluß- und dem Führungsbit der Anfangs- beziehungsweise Datenpaketendemarkierung entsprechen. In diesem Falle wird die Speichereinheit 103 davon benachrichtigt, die Markierungsbits nicht als gültige Datenbits zu verarbeiten. In Abhängigkeit vom Standort des letzten / ersten Bits des Markierungsmusters kann es zwischen 1 und 8 gültige Datenbits im ersten und letzten empfangenen Byte eines Datenpaketes geben, weil das Markierungsmuster an einer beliebigen Bitposition innerhalb eines Bytes beginnen kann. Das Signal BOUND stellt diese Information zur Verfügung, die für das erste und das letzte Byte eines Datenpaketes von Bedeutung ist, und es wird nur aktualisiert, wenn ein Markierungsmuster erkannt wird. Die Aktualisierung erfolgt direkt am Beginn eines Datenpaketes, weil das Markierungsmuster zum gleichen Zeitpunkt oder sogar früher erkannt wird, ehe das erste Datenbyte empfangen wird. Am Ende eines Datenpaketes wird das Aktualisieren des BOUND-Signals gewöhnlich (ausgenommen den Fall, daß Markierungen und Bytegrenzen ausgerichtet sind) mit einem Byte Verzögerung durchgeführt, da Markierungserkennung eine Bytezeit nach dem Erkennen der Markierung für das Datenpaketende abgeschlossen werden kann.
- Die Eingaben in die Datenpaketidentifikationskomponente 204 umfassen das FLAG-Signal und das ALIGN-Signal von der Markierungserkennungskomponente 201. Der Status der Datenpaketidentifikationskomponente 204 beruht darauf, ob in den vorhergehenden zwei Bytes Markierungen erkannt worden sind (Markierung (n-1) und Markierung (n-2)), und ob der Kanal drei Bytes zuvor ein gültiges Datenbyte empfangen hat (INF (n-3)). Diese Information wird benutzt, um festzustellen, ob gerade Markierungen oder tatsächliche Daten über den Datenkanal übertragen werden, damit eine nichtkorrekte Datenpaketidentifikation vermieden wird.
- Von der Datenpaketidentifikationskomponente 204 werden drei Ausgabesignale erzeugt: STARTF, INE, ENDF, die jeweils anzeigen, ob das zur Verfügung gestellte Datenbyte das erste Byte eines Datenpaketes ist, sich innerhalb eines Datenpaketes befindet oder das letzte Byte eines Datenpaketes ist. Diese Information wird von der Speichereinheit dafür benutzt, ankommende Datenpakete richtig zu speichern und die damit verbundenen Zeiger richtig zu aktualisieren. Die Ausgabesignale der Datenpaketidentifikationskomponente 204 werden mit einer Verzögerung von drei Bytezeiten erzeugt. Diese Verzögerung wird genutzt, um nicht nur für die beiden Bytes zu berücksichtigen, die zum Identifizieren von Markierungen verwendet wurden, sondern auch zum Erkennen von ungültigen Datenpaketen (d.h. solchen, die weniger als zwei Bytes enthalten). In vielen Fällen, wenn beispielsweise eine Markierung als ausgerichtet erkannt wird (ALIGN=1) und das nächste Byte kein Markierungsmuster ist, könnte das Signal STABTF=1 sofort erzeugt werden (der Fall ALIGN=0 würde einen zusätzlichen Verzug um ein Byte erfordern). In dieser Ausführungsform der Erfindung ist es die Forderung nach einer Datenpaketmindestgröße von zwei Bytes, die in einer Gesamtverzögerung von drei Bytes resultiert.
- Der Status der Markierungserkennungskomponente ist aus zwei Werten zusammengesetzt, DIST, der den Abstand von der letzten '0' zur Grenze des Endbytes angibt, und BOUND, der den Versatz hinsichtlich der Grenze des Endbytes angibt, die durch die letzte erkannte Markierung eingeführt wurde. Das Ausgabesignal BOUND wird nachstehend beschrieben. Weil der Statuswert DIST nur eine Funktion des aktuellen Eingabedatenbytes ist, wird sein Wert in Form von DATAIN ausgedrückt, wie es in Tabelle 1 gezeigt ist. TABELLE 1 Eingabe Ausgabe DATAIN
- Es gibt drei normale Ausgabesignale, die berechnet werden, indem der Abstand zur letzten '0' in dem vorhergehenden Byte und dem in dem aktuellen Byte vorhandenen aktuellen Datenmuster verwendet wird. Der Wert des Ausgabesignals BOUND wird jedoch nur aktualisiert, wenn eine Markierung erkannt wird. Damit wird BOUND nur am ersten und am letzten Byte eines Datenpaketes modifiziert. Sein Wert ist an jeder beliebigen anderen Position unwesentlich und wird definitionsgemäß als gleich dem vorhergehenden Wert angenommen.
- Tabelle 2 faßt die verschiedenen Werte der Ausgabesignale der Markierungserkennungskomponente 201 mit ihrer Beziehung zum Status und den Eingabedatenwerten zusammen. Zum Zwecke der Darstellung ist der Wert des vorhergehenden Datenbytes (DATAIN(n-1)) ebenso in der Tabelle enthalten. Diese Daten sind jedoch nicht wirklich vorhanden, da die einzige von der Datenpaketidentifikationskomponente 204 des Statusrechners benutzte Information aus der Position der letzten "0" im Datenbyte besteht, wie sie von DIST(n-1) gegeben ist. Die drei bei jedem Zyklus erzeugten Ausgabesignale sind FLAG(n), BOUND(n-1) und ALIGN(n-1).
- FLAG(n) wird als der Markierungsanzeiger für das aktuelle Byte definiert. BOUND(n-1) wird als der Versatz in Bits definiert von der Bytegrenze des vorhergehenden Bytes aus definiert. ALIGN(n- 1) ist als der Bitausrichtungsanzeiger (=1, falls ausgerichtet) für das vorhergehende Byte definiert.
- Diese Signale werden durch die folgenden Gleichungen bestimmt:
- FLAG(n) = f(DATAIN(n), DIST(n-1))
- BOUND(n-1) = f(DATAIN(n), DIST(n-1))
- ALIGN(n-1) = f(BOUND(n-1))
- wobei n das aktuelle Byte und n-1 das vorhergehende Byte ist. TABELLE 2 Status Eingabe Ausgabe DATAIN(n-1) FLAG(n) BOUND(n-1) ALIGN(n-1) andernfalls BOUND
- Die einzige abnormale Ausgabe ist das ABORT-Signal, das auf '1' gesetzt wird, wenn ein Muster von sieben oder mehr aufeinanderfolgenden Einsen in den empfangenen Daten angetroffen wird. Dieses Signal wird verwendet, um der Speichereinheit anzuzeigen, daß das aktuell empfangene Datenpaket abgelegt werden kann. Alle dem ABORT-Signal folgenden gültigen Datenbytes werden einfach ignoriert, bis ein neues Datenpaket beginnt.
- In Tabelle 3 wird die Wahrheitstabelle für das ABORT-Signal gezeigt. Der Wert des vorhergehenden Datenbytes DATAIN(n-1) ist zu Darstellungszwecken enthalten. ABORT(n) ist als der ABORT-Musterindikator für Schlitz n definiert.
- Dieses Signal wird durch die Gleichung (1) bestimmt.
- ABORT(n) = f(DATAIN(n), DIST(n-1) (1) TABELLE 3 Status Eingabe Ausgabe DATAIN(n-1) ABORT(n) andernfalls
- Die Datenpaketidentifikationskomponente 204 ist über zwei Signale mit der Markierungserkennungskomponente 201 gekoppelt. Diese Signale bestehen aus einem Markierungsanzeiger für das aktuelle Byte (FLAG(n)) und einem Ausrichtungsanzeiger für das zwei Zyklen zuvor empfangene Byte (ALIGN(n-2)). Der Ausrichtungsanzeiger wird vorwiegend dafür benutzt, der Datenpaketidentifikationskomponente dabei zu helfen, in definierten, andernfalls in beliebigen Situationen die richtige Entscheidung für die Datenpaketgrenze zu fällen. Als zweitrangige Funktion wird der Ausrichtungsanzeiger dafür benutzt, um sicherzustellen, daß alle Datenpakete erkannt und als ungültig zurückgewiesen werden, die kleiner als zwei Bytes sind. Die Erkennung ungültiger Datenpake- te wird nachstehend mit Bezug auf Fig. 5 beschrieben.
- Die Datenpaketindentifikationskomponente 204 ist als Statusrechner konstruiert. Eingaben, Zustände und Ausgaben werden in Tabelle 4 zusammengefaßt. TABELLE 4 STATUS EINGABE: AUSGABE: Ein-Datenübertragungsblock (n-3) Markierung (n-2) Markierung (n) ALIGN (n-2) Anfangs-Datenübertragungsblock (n-2) End-Datenübertragungsblock (n-2) Ein-Datenübertragungsblock (n-2)
- Die bei jedem Zyklus empfangenen Eingabesignale und die Werte des vorhergehenden Status werden dafür benutzt, den nächsten Statuswert zu berechnen. Der Status besteht aus drei Werten. Zwei dieser Werte, (FLAG(n-1) und FLAG(n-2)) zeigen an, ob im letzten Taktzyklus beziehungsweise im vorletzten Taktzyklus Markierungen erkannt worden sind. Der dritte Wert (INF(n-3)) gibt den Fall an, ob der Kanal drei Taktzyklen zuvor gültige Daten empfangen hat. Die Aktualisierung des FLAG-Anzeigers bezieht sich direkt auf das Eingabesignal, während der INF-Anzeiger wie nachstehend beschrieben verändert wird.
- Eingabesignale und Statuswerte werden dazu verwendet, die Ausgabesignale zu berechnen. Ein Ausgabesignal (INF(n-2))gibt an, ob das zwei Zyklen zuvor empfangene Byte sich innerhalb oder außerhalb eines Datenpaketes befindet (innerhalb = 1, außerhalb = 0). Wenn dieses Signal einen Wert von 1 hat, dann wird das zur Verfügung gestellt Datenbyte an die Verarbeitungseinheit 104 geschickt. Andernfalls wird dieses Byte abgelegt. Die beiden anderen Ausgabesignale (STARTF(n-2) und ENDF(n-2)) zeigen mit zwei Zyklen Verzögerung an, ob ein empfangenes Datenbyte das erste oder letzte Byte in einem Datenpaket ist. Derartige Übergangssignale werden üblicherweise von der Speichereinheit 103 verwendet, welche die Datenpakete empfängt, um den Speicherstandort eines gespeicherten Datenpaketes zu identifizieren. Ein Diagramm des zeitlichen Ablaufs, das die Ausgabesignale erläutert, wird in Fig. 3 gezeigt.
- Die allgemeine Arbeitsweise der Datenpaketidentifikationskomponente 204 wird in Form einer Boole-Beziehung erläutert, die in Fig. 4 gezeigt wird.
- Aufgrund des Verfahrens, mit dessen Hilfe der Vorgang der Markierungserkennung erfolgt, tritt ein Verzug von zwei Zyklen auf, ehe die mit einem Datenpaket verbundenen Signale STARTF und ENDF verfügbar sind. In einer bevorzugten Ausführungsform der Erfindungausgaben ist das System synchron, und die Signale STARTF, ENDF und INF werden gleichzeitig an die nächste Stufe geschickt. Damit ist vorzuziehen, ein Ausgaberegister 203 hinzuzufügen, das zu einem dritten Byte Verzug führt. Dieses Register kompensiert während der Statusberechnung die verschiedenen Signallaufzeiten der logischen Bauelemente im Statusrechner.
- Die Statustabelle der Fig. 4 kann durch die Verwendung eines Statusübergangsdiagramms vereinfacht werden. Das Diagramm ist eine Hilfe zum Verständnis des logischen Ablaufes der Datenpaketidentifikation, wenn unterschiedliche Bytemuster empfangen werden. Insgesamt werden acht Zustände benutzt, zwei von diesen Zuständen entsprechen dem möglichen normalen Status des Kanals (belegt oder leer), während die anderen beginnende Veränderungen im Kanalstatus anzeigen. Das Statusübergangsdiagramm ist in Fig. 5 gezeigt. Seine Interpretation beruht auf der in Tabelle 4 gezeigten Information.
- Im Statusübergangsdiagramm wird jedem Status eine eindeutige Definition zugeordnet. Obwohl zwischen dem numerischen Wert eines Status und seiner beschreibenden Interpretation eine direkte Beziehung existiert, dient die in dieser Ausführungsform benutzte tatsächliche Beziehung nur als Beispiel. Jede beliebige entsprechende Beziehung kann benutzt werden.
- Die Zustände können wie folgt definiert werden:
- . 001
- Dieser Zustand ist der Leerlaufzustand (es werden nur aufeinanderfolgende Markierungen empfangen) und stellt den normalen Status außerhalb eines Datenpaketes dar. In dieser Ausführungsform der Erfindung wird dies auch als Anfangsstatus für das Statusdiagramm angenommen.
- . 100
- Dies ist der belegte Status oder der normale Status innerhalb eines Datenpaketes.
- . 010, 001, 000.
- Dies sind Übergangszustände von leerlaufenden Zuständen zu belegten Zuständen. Wenn angenommen wird, daß keine Fehlerbedingungen vorhanden sind (weniger als zwei Datenbytes), dann gibt es zwei mögliche Übergangswege zwischen dem leerlaufenden und dem belegten Status. Der erste Weg entspricht dem Fall einer nicht ausgerichteten Markierung, während der zweite Weg ausgerichtete Grenzen annimmt.
- 1. 011 T 010 T 100 (nicht ausgerichtet)
- 2. 011 T 010 T 000 T 100 (ausgerichtet)
- Wird die Anforderung einer Mindestlänge von zwei Bytes im Datenpaket nicht eingehalten, wird ein Übergang in den Fehlerstatus 001 und dann möglicherweise zurück in den Leerlaufstatus 011 veranlaßt.
- . 110, 101, 111, 001, 000.
- Diese Zustände sind reguläre Übergangszustände vom belegten in den leerlaufenden Status und ebenso "Fehler"-Zustände (001 und 110), über die hinweggegangen wird, wenn die Anforderung der mindestens zwei Bytes verletzt wird. Unter normalen Betriebsbedingungen gibt es nur einen einzigen Weg vom belegten Status in den leerlaufenden Status, nämlich 100 101 111 011.
- Es ist wünschenswert, ein Schema einzurichten, aus dem Fehlerbeseitigung erfolgen kann. Typische Fehlerbeseitigung kann in den folgenden Situationen eingerichtet werden:
- Erkennen von aufeinanderfolgenden, aber falsch ausgerichteten Markierungen, indem Daten, die keine Markierungen sind und zwischen zwei aufeinanderfolgenden, aber falsch ausgerichteten Markierungen eingefügt sind, ignoriert werden, wenn die Daten weniger als zwei Bytes lang sind;
- Erkennen von Übertragungsfehlern innerhalb einer Kette von Markierungen.
- Zusätzlich zur Beseitigung der obigen Fehlerbedingungen ist der Statusrechner in der Lage, in einem Einzelbegrenzermodus zu arbeiten, d.h. in dem eine einzelne Markierung sowohl als Schlußmarkierung des vorhergehenden Datenpaketes wie als Öffnungsmarkierung des folgenden Datenpaketes dient. Ein typisches Beispiel eines Statusüberganges in einem ein Einzelbegrenzerprotokoll benutzenden System wird in Fig. 6 zur Verfügung gestellt.
- Die Architektur der Markierungserkennung kann auf eine zeitgemultiplexte Verbindungsschnittstelle erweitert werden, d.h. eine Schnittstelle, in der Datenkanäle der Reihe nach zur Datenübertragung über ein vorgegebenes Zeitintervall ausgewählt werden. Die TDM-Verbindungsschnittstelle ist in der Lage, gleichzeitig mehrfache TDM-Kanäle zu handhaben. Die hauptsächliche Modifikation an der Architektur besteht im Ersatz aller Register einschließlich Status- und Ausgaberegistern durch TDM-Register. Ein TDM-Register stellt mehrere logische Register dar, je eins für jeden TDM-Kanal, von denen Daten und Zustände bei jedem Zeitschlitz entsprechena dem aktuell aktiven Kanal abgerufen und gespeichert werden können. Dieses TDM-Register wird vorzugsweise unter Verwendung einer Struktur auf RAM-Basis realisiert, die in der Lage ist, willkürliche Zuordnung von Zeitschlitzen zu Kanälen zu unterstützen. Wie gezeigt wird, kann zur Sicherung von Hochgeschwindigkeitsbetrieb auch ein Verschachtelungsmodus benutzt werden.
- Die Hauptaufgabe des TDM-Registers besteht darin sicherzustellen, daß mit einem gegebenen Kanal verbundene Zeitschlitze der Reihe nach verarbeitet werden, obwohl diese Zeitschlitze in dem empfangenen Datenstrom nicht der Reihenfolge nach aufzutreten brauchen. Damit wird am Ende jedes Zeitschlitzes zu dem aktuellen Kanal gehörige Information gespeichert, so daß sie am Beginn des nächsten Zeitschlitzes zur Verfügung stehen kann, der zu dem Kanal gehört.
- Ein Blockdiagramm, das den Aufbau eines TDM-Registers erläutert, das diese Funktion realisiert, wird in Fig. 7 zur Verfügung gestellt. Ein TDM-Register besteht aus zwei grundlegenden Komponenten: einem TDM-Speicherelement 705, das jedem TDM-Register zugeordnet ist, und einem Schlitz-Kanal-Abbild 702, das den Schlitz anzeigt, der mit jedem Kanal verbunden ist. Das Schlitz- Kanal-Abbild 702 wird von allen TDM-Registern gemeinsam genutzt.
- Ein TDM-Register nimmt für jeden Datenkanal, für den Daten über die Übertragungsverbindung 100 der Fig. 1 übertragen werden, eine Zwischenspeicherung der Werte in den Registern 202, 203, 205 und 206 des Markierungsdetektors vor, der in Fig. 2 gezeigt ist. In einem TDM-System werden für jeden Kanal Daten in Multibit-Einheiten übertragen. Der TDM-Multiplexer 101 durchläuft die Kanäle in einer vorgegebenen Reihenfolge, um die jeweiligen Dateneinheiten über die Übertragungsverbindung 100 zu schicken. Jedesmal, wenn eine neue Dateneinheit empfangen wird, wird der Status des Markierungsdetektors im TDM-Speicherelement an einer Adresse gespeichert, die für den vorhergehenden Kanal reserviert war, und auf einen weiteren Standort wird zugegriffen, um den Status des Kanals zu speichern, welcher der neu empfangenen Dateneinheit entspricht.
- Das TDM-Speicherelement 705 umfaßt reguläre Register 703, 704, die als Eingabe- und Ausgabeschnittstellen des Speicherelementes dienen. Der TDM-Kanalzwischenspeicher 701 hat für jeden Kanal einen Eintrag, wobei dessen letzter Status und letzte Datenwerte (d.h. die Inhalte der Register 202, 203, 205 und 206 der Fig. 2) gespeichert werden. Die Inhalte eines gegebenen TDM-Kanal-Zwischenspeichereintrags werden am Ende jedes Zeitschlitzes aktualisiert, der zu dem Kanal gehört. Gleichermaßen wird am Beginn jedes Zeitschlitzes dem aktiven Kanal entsprechende Information in dem Ausgaberegister 704 des TDM-Speicherelementes untergebracht. Die Übereinstimmung zwischen einem Kanal und einem Zeitschlitz wird durch das Schlitz-Kanal-Abbild 702 zur Verfügung gestellt, das bei jedem Taktzyklus die zugehörige Kanalnummer erzeugt. Diese Nummer wird als Adresse verwendet, um Daten in einen Adreßraum hineinzuschreiben oder daraus herauszulesen, der dem entsprechenden Kanal im Speicherelement zugeordnet ist.
- Um eine hohe Verarbeitungsgeschwindigkeit zu ermöglichen, kann Verschachtelungsmodus benutzt werden, um die Beschränkungeh der Zugriffszeit an der Kanalzwischenspeichereinheit des TDM-Registers zu vermindern. Die vier Vorgänge (Eingabe, Ausgabe, Abruf von Daten und Speichern von Daten), die vom TDM-Register ausgeführt werden, können zeitlich so gelegt werden, daß sie parallel ausgeführt werden. Diese Vorgänge werden in einem Zyklus durchgeführt, welcher der Zykluszeit für Übergänge des Markierungserkennungsstatus entspricht. Daten und Status werden vom Zwischenspeicher vor Beginn des entsprechenden Zyklus abgerufen und nach dem Ende des Zyklus zurückgeschrieben, wobei während des Zyklus selbst nur die Eingabe- und Ausgabevorgänge erfolgen. Alle Vorgänge für jeden Zeitschlitz, insbesondere das Lesen von Daten aus dem Zwischenspeicher und ihr Hineinschreiben, werden daher innerhalb einer Spanne von drei Taktzyklen ausgeführt. Ohne Verschachtelungsmodus würde jeder der Lese- und Schreibvorgänge innerhalb eines Taktzyklus (wie in Fig. 8 gezeigt) ausgeführt werden. Eine derartige Anforderung erhöht die Zugriffszeitanforderungen des Kanalzwischenspeichers wesentlich. Damit ist zu sagen, es würde für gleiches Leistungsvermögen ein schnelle- rer Kanalzwischenspeicher gebraucht werden.
- Der gesamte Pipelinemodus des TDM-Registers wird mit Hilfe eines Diagramms des zeitlichen Ablaufes erläutert, wie es in Fig. 9 gezeigt wird. Es wird angenommen, daß ein LESE- oder SCHREIB- Vorgang innerhalb einer Hälfte eines Taktzyklus erfolgen kann. TAKT kennzeichnet das Taktsignal, das am Beginn jedes Zyklus ausgegeben wird. EIN und AUS bezeichnen die an den Eingabe- beziehungsweise Ausgabeanschlüssen des TDM-Registers vorhandenen Signale. ZWISCHENSPEICHER (SCHREIBEN, LESEN) bezeichnet die Datenspeicherungs- und -abrufvorgänge am TDM-Kanalzwischenspeicher 701. Aufgrund der synchronen Systemausführung entsprechen sowohl das Eingabe- wie das Ausgabesignal bei jedem Zyklus dem gleichen Kanal. Andererseits brauchen die LESE- und SCHREIB-Vorgänge, die innerhalb des gleichen Zyklus erfolgen, nicht zu dem gleichem Kanal zu gehören, da sie mit unterschiedlichen Zeitschlitzen verbunden sind.
- Das zeitliche Ablaufdiagramm der Fig. 10 ist ein Beispiel von Zwischenspeichervorgängen im Verschachtelungsmodus. Bei diesem Beispiel wird angenommen, daß ein System mit acht Zeitschlitzen und vier Kanälen (A, B, C, D) existiert, bei dem die Kanäle den Zeitschlitzen wie folgt zugeordnet sind: TABELLE 5 Kanal zugeordnete Zeitschlitze
- Jeder dieser Zeitschlitze entspricht einer Dateneinheit, von der in dieser Ausführungsform angenommen wird, daß sie ein Byte ist.
- Wie in Fig. 10 erläutert, beginnt in dem halben Zyklus, der dem Beginn von Zeitschlitz 1 vorausgeht, der Vorgang des Abrufens des Inhaltes des mit Kanal A verbundenen Eintrags aus dem TDM- Kanalzwischenspeicher 701, und dieser wird an das Ausgaberegister 704 (siehe Fig. 5) geschickt. Die Daten sind am Beginn der ersten Hälfte von Zeitschlitz 1 verfügbar, während die Eingabe von Daten nur während des zweiten halben Zyklus von Zeitschlitz 1 erfolgt. Diese Verzögerung entspricht der Berechnungs- und Laufzeit, die dafür verwendet wird, den neuen Statuswert zu erhalten, nachdem die Status- und Dateninformation an den Statusrechner geschickt worden sind. Die Eingabedaten werden im Eingaberegister 703 empfangen und werden während des ersten halben Zyklus von Zeitschlitz 2 in den TDM-Kanalzwischenspeicher 701 zurückgeschrieben.
- Eine gleiche Verfahrensweise wird für Zeitschlitz 4 verfolgt, aber Zeitschlitz 5 erfordert spezielle Betrachtung. Dies wird durch die Tatsache verursacht, daß Zeitschlitze 4 und 5 aufeinanderfolgende Zeitschlitze sind, die zum gleichen Kanal gehören. In einer derartigen Situation können der Kanalstatus und die Daten, die sich am Ende von Schlitz 4 ergaben, nicht im voraus abgefragt werden, damit sie am Beginn von Schlitz 5 bereit stehen, da sie zu diesem Zeitpunkt gerade in den TDM-Kanalzwischenspeicher 701 zurückgeschrieben werden. Dieses zeitliche Problem wird dadurch gelöst, daß eine direkte Verbindung zwischen dem Eingaberegister 703 und dem Ausgaberegister 704 zur Verfügung gestellt wird, damit sie im Falle von aufeinanderfolgenden Schlitzen benutzt werden soll. In diesem Beispiel wird diese Information, wenn der nächste Status und die nächsten Daten während des zweiten Zyklus von Schlitz 4 an der Eingabe verfügbar werden, nicht nur an das Eingaberegister sondern auch an einen Multiplexer 704A geschickt, der in Fig. 7 als Teil des Ausgaberegisters 704 gezeigt wird. Dies erfolgt zum gleichen Zeitpunkt, wenn die Information (vorher gespeicherter Status und Daten) vom Kanalzwischenspeicher abgerufen wird. Ein Steuersignal (CONSEC), das durch das Schlitz-Kanal-Abbild 702 erzeugt wird, gibt an, wenn es gesetzt ist, daß das direkt von der Eingabe kommende Signal am Ausgaberegister 704 ausgewählt werden sollte. Dies resultiert in richtig aktualisierten Status- und Datenwerten, die bei Beginn von Zeitschlitz 5 an den Markierungsdetektor 102 geschickt werden.
Claims (15)
1. Verfahren zum Erkennen einer Datenpaketgrenze in einem
digitalen Datenstrom (DATA STREAM), wobei die
Datenpaketgrenze durch ein vorgegebenes Bitmuster identifiziert wird,
wobei das Verfahren die Schritte umfaßt:
a) Empfangen einer ersten Vielzahl von Datenbits;
weiterhin dadurch gekennzeichnet, daß die Schritte
enthalten sind:
b) Prüfen der ersten Vielzahl von Datenbits auf einen
ersten Bruchteil des vorgegebenen Bitmusters, wobei die
Prüfung jeder Bitposition der ersten Vielzahl von
Datenbits gleichzeitig durchgeführt wird;
c) Empfangen einer zweiten Vielzahl von Datenbits;
d) Prüfen der zweiten Vielzahl von Datenbits auf einen
zweiten Bruchteil des vorgegebenen Bitmusters, wobei
die Prüfung jeder Bitposition der zweiten Vielzahl von
Datenbits gleichzeitig durchgeführt wird;
e) Bestimmen der Datenpaketgrenze auf der Grundlage des
Standortes des ersten Bruchteils des vorgegebenen
Bitmusters und des Standortes des zweiten Bruchteils des
vorgegebenen Bitmusters.
2. Verfahren von Anspruch 1, wobei
in Schritt b) die Prüfung den ersten Bruchteil des
Bitmusters in Form eines Abstandes für die erste Vielzahl von
Datenbits lokalisiert, wobei in der ersten Vielzahl von
Datenbits der Abstand durch einen Bitstandort eines
signifikanten Bits mit vorgegebenem Wert bestimmt wird,
in Schritt d) die Prüfung den zweiten Bruchteil des
vorgegebenen Bitmusters lokalisiert,
und in Schritt e) die Bestimmung der Datenpaketgrenze auf
dem Abstand für die erste Vielzahl von Datenbits und dem
Standort des zweiten Bruchteus des vorgegebenen Bitmusters
beruht.
3. Verfahren von Anspruch 1 oder 2, wobei Schritt e) die
Schritte umfaßt:
e1) Bestimmen des Vorhandenseins einer Markierung (FLAG),
die auf den Ergebnissen der Schritte b) und d) beruht,
wobei die Markierung (FLAG) ein vorgegebenes Bitmuster
umfaßt, und
e2) Bestimmen einer Grenze für die Markierung (FLAG),
wobei die Grenze ein Maß für die Position der Markierung
(FLAG) in bezug auf den Beginn einer Übertragung des
digitalen Datenstromes (DATA STREAM) ist.
4. Verfahren von einem der Ansprüche 1 bis 3, wobei in Schritt
e) jedes Bit der Vielzahl von Datenbits gleichzeitig
geprüft wird.
5. Verfahren von einem der Ansprüche 1 bis 4, wobei ein
Statusrechner (201) dafür verwendet wird, eine Markierung
(FLAG) zu lokalisieren, die dieses vorgegebene Bitmuster in
dem digitalen Datenstrom (DATA STREAM) umfaßt.
6. Verfahren von Anspruch 5, das die Schritte umfaßt:
A) Unterbringen einer Vielzahl von Bits einschließlich
eines vorgegebenen Bruchteils des digitalen
Datenstroms (DATA STREAM) in dem Statusrechner (201) und
B) gleichzeitiges Prüfen jedes Bits in dem Bruchteil des
digitalen Datenstromes (DATA STREAM), um einen Wert zu
erzeugen, der einer Bitanzahl entspricht, wie sie von
der Markierung (FLAG) in dem Bruchteil des digitalen
Datenstromes (DATA STREAM) eingenommen wird.
7. Verfahren von Anspruch 5 oder 6, das einen zusätzlichen
Schritt des Anzeigens des Falles umfaßt, wenn alle Bits
empfangen worden sind, die eine Markierung (FLAG) bilden.
8. Verfahren von einem der Ansprüche 1 bis 7 zum Bestimmen
einer Beziehung zwischen einer Datenpaketgrenze und einer
Bytegrenze in dem digitalen Datenstrom (DATA STREAM), wobei
die Datenpaketgrenze als Unstetigkeit in dem digitalen
Datenstrom (DATA STREAM) definiert ist und die Bytegrenze als
eine logische Trennung zwischen aufeinanderfolgenden
Gruppen von benachbarten Datenbits definiert ist, das die
Schritte umfaßt:
a) Lokalisieren eines Teils einer Markierung (FLAG), die
das vorgegebene Bitmuster aus einer ersten Gruppe von
benachbarten Bits des digitalen Datenstromes (DATA
STREAM) umfaßt, wobei die Markierung (FLAG) die
Datenpaketgrenze bestimmt;
b) Lokalisieren eines zweiten Teils der Markierung (FLAG)
aus einer zweiten Gruppe von benachbarten Bits des
digitalen Datenstromes (DATA STREAM);
c) Bestimmen eines Versatzes zwischen der
Datenpaketgrenze und der Bytegrenze, der durch die erste und zweite
Gruppe der benachbarten Bits definiert ist, indem die
Anzahl der Bits ausgewertet wird, die von der
Markierung (FLAG) in der zweiten Gruppe benachbarter Bits in
dem digitalen Datenstrom (DATA STREAM) eingenommen
werden.
9. Verfahren von Anspruch 8, das unter Verwendung eines
endlichen Automaten (201) durchgeführt wird.
10. Verfahren von Anspruch 8 oder 9, wobei Schritt c) einen
Schritt zur Fehlererkennung umfaßt.
11. Verfahren von Anspruch 10, das weiterhin einen zusätzlichen
Schritt der Behebung der erkannten Fehler umfaßt.
12. Vorrichtung zum Lokalisieren einer
Datenbegrenzungsmarkierung (FLAG) in einem digitalen Datenstrom (DATA STREAM),
wobei eine Markierung (FLAG) aus einem vorgegebenen
Bitmuster besteht,
Mittel zum Empfangen einer Vielzahl von Bits einschließlich
eines vorgegebenen Teils des digitalen Datenstromes (DATA
STREAM);
dadurch gekennzeichnet, daß sie umfassen:
einen Statusrechner (201) einschließlich Mitteln, die an
das Empfangsmittel gekoppelt sind, um gleichzeitig jedes
Bit in jedem Teil des digitalen Datenstromes (DATA STREAM)
zu prüfen, um einen partiellen Markierungsanzeigewert zu
erzeugen, der einer Bitanzahl entspricht, wie sie von der
Markierung (FLAG) in dem Teil des digitalen Datenstromes
(DATA STREAM) eingenommen wird.
13. In Anspruch 12 erklärte Vorrichtung, wobei der
Statusrechner (201) weiterhin umfaßt.
Mittel zum Speichern des partiellen
Markierungsanzeigewertes;
Mittel zum gleichzeitigen Verarbeiten jedes Bits in einem
nachfolgenden Teil des digitalen Datenstromes (DATA STREAM)
und des partiellen Markierungsanzeigewertes, um ein
Markierungssignal zu erzeugen, mit dem angezeigt wird, daß die
Markierung (FLAG) gefunden worden ist.
14. In Anspruch 13 erklärte Vorrichtung, wobei der
Statusrechner (201) weiterhin Mittel umfaßt, die gekoppelt sind, um
das Markierungssignal für das Erzeugen von Signalen zu
empfangen, welche die Grenzen für die durch diese Markierung
(FLAG) begrenzten Daten definieren.
15. Der Einsatz des Verfahrens zum Erkennen von
Datenpaketgrenzen, wie es in einem der Ansprüche 1 bis 11 beschrieben
ist, in einem System zur Realisierung einer zeitmultiplexen
(TDM) Verbindungsschnittstelle in einem
Kommunikationssystem, wobei
das Kommunikationssystem eine Vielzahl von
Datenübertragungskanälen (IN) umfaßt, auf die während einer Vielzahl
von Zeitschutzen zugegriffen werden kann, und
die zeitmultiplexe (TDM) Verbindungsschnittstelle
mindestens ein TDM-Register (703) umfaßt, wobei
das TDM-Register (703) einen TDM-Kanalzwischenspeicher
(701) zum Zwischenspeichern eines letzten Zustandes jedes
der Vielzahl von Kanälen und der über die entsprechenden
Kanäle übertragenen Daten enthält und weiterhin Mittel für
das Koppeln mit Eingangs- und Ausgangsanschlüssen der TDM-
Kanaizwischenspeicher (701) umfaßt, und
das TDM-Register (703)
Mittel zum Aktualisieren des Eintrags im
TDM-Kanalzwischenspeicher (701) jedes Kanals am Ende jedes zu dem Kanal
gehörigen Zeitschutzes und
Mittel umfaßt, um den Kanalzwischenspeicher (701) in die
Lage zu versetzen, daß er dem TDM-Register (703) Zustand
und Information zur Verfügung stellt, die jedem Kanal am
Beginn jedes der Vielzahl von Zeitschutzen entsprechen,
die mit dem Kanal verbunden sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/408,984 US4974223A (en) | 1989-09-18 | 1989-09-18 | Parallel architecture for high speed flag detection and packet identification |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69023447D1 DE69023447D1 (de) | 1995-12-14 |
DE69023447T2 true DE69023447T2 (de) | 1996-06-20 |
Family
ID=23618579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69023447T Expired - Fee Related DE69023447T2 (de) | 1989-09-18 | 1990-07-28 | Parallele Architektur zur schnellen Flag-Erkennung und Paketidentifizierung. |
Country Status (4)
Country | Link |
---|---|
US (1) | US4974223A (de) |
EP (1) | EP0419805B1 (de) |
JP (1) | JPH0817403B2 (de) |
DE (1) | DE69023447T2 (de) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2232857B (en) * | 1989-06-13 | 1993-09-01 | Research Machines Ltd | A flag counter circuit |
US5189672A (en) * | 1989-10-12 | 1993-02-23 | Alcatel Cit | Device for regulating the throughput of virtual circuits on an asynchronous time-division multiplex transmission channel |
US5428614A (en) * | 1990-09-26 | 1995-06-27 | Shaver; Christopher J. | Expected value data framer and method |
US5267240A (en) * | 1992-02-20 | 1993-11-30 | International Business Machines Corporation | Frame-group transmission and reception for parallel/serial buses |
US5455831A (en) * | 1992-02-20 | 1995-10-03 | International Business Machines Corporation | Frame group transmission and reception for parallel/serial buses |
SE515101C2 (sv) * | 1992-05-11 | 2001-06-11 | Ericsson Telefon Ab L M | Styrning vid utväxling av datapaket i nät |
NZ247602A (en) * | 1992-05-21 | 1995-11-27 | Alcatel Australia | Synchronous state machine for sonet |
DE69330399T2 (de) * | 1992-12-18 | 2002-05-02 | Advanced Micro Devices Inc | HDLC-Empfänger |
FR2706105B1 (fr) * | 1993-06-01 | 1995-08-11 | Transpac | Procédé et système de transmission d'informations auxiliaires sur une liaison bidirectionnelle de transmission de données numériques HDLC, et leur application au contrôle d'état de la liaison. |
US5640398A (en) * | 1995-11-01 | 1997-06-17 | Pmc-Sierra, Inc. | State machine architecture for concurrent processing of multiplexed data streams |
US5978865A (en) * | 1997-02-04 | 1999-11-02 | Advanced Micro Devices, Inc. | System for performing DMA transfers where an interrupt request signal is generated based on the value of the last of a plurality of data bits transmitted |
US6519472B1 (en) * | 1997-03-12 | 2003-02-11 | Terence Brennan | Trunked radio monitoring system |
US6385670B1 (en) * | 1998-06-01 | 2002-05-07 | Advanced Micro Devices, Inc. | Data compression or decompressions during DMA transfer between a source and a destination by independently controlling the incrementing of a source and a destination address registers |
US6463070B1 (en) * | 1999-08-27 | 2002-10-08 | Tachyon, Inc. | System and method for clock correlated data flow in a multi-processor communication system |
US6594329B1 (en) * | 1999-11-01 | 2003-07-15 | Intel Corporation | Elastic buffer |
GB2386284A (en) * | 2002-03-05 | 2003-09-10 | Pa Consulting Services | Packet data communications networks |
US7000048B2 (en) * | 2003-12-18 | 2006-02-14 | Intel Corporation | Apparatus and method for parallel processing of network data on a single processing thread |
US20070064677A1 (en) * | 2005-09-12 | 2007-03-22 | Innomedia Pte Ltd. | Packet media gateway with a secondary PSTN connection and method for time slot switching |
US7924938B2 (en) * | 2007-09-24 | 2011-04-12 | Wally Haas | Context-sensitive overhead processor |
US9575916B2 (en) | 2014-01-06 | 2017-02-21 | International Business Machines Corporation | Apparatus and method for identifying performance bottlenecks in pipeline parallel processing environment |
US9424160B2 (en) | 2014-03-18 | 2016-08-23 | International Business Machines Corporation | Detection of data flow bottlenecks and disruptions based on operator timing profiles in a parallel processing environment |
US9501377B2 (en) | 2014-03-18 | 2016-11-22 | International Business Machines Corporation | Generating and implementing data integration job execution design recommendations |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2475827B1 (fr) * | 1980-02-13 | 1987-05-29 | Dauphin Jean Louis | Systeme de commutation numerique a division du temps pour voies mic vehiculant la parole et des donnees en mode-paquet |
FR2498855B1 (fr) * | 1981-01-23 | 1988-08-05 | Dauphin Jean Louis | Systeme de commutation numerique a division du temps de canaux en mode-circuit et en mode-paquet |
FR2535135B1 (fr) * | 1982-10-21 | 1988-03-25 | Servel Michel | Systeme de synchronisation de multiplex numeriques de paquets |
US4577314A (en) * | 1983-03-31 | 1986-03-18 | At&T Bell Laboratories | Digital multi-customer data interface |
JPS60152143A (ja) * | 1984-01-20 | 1985-08-10 | Fuji Xerox Co Ltd | システムタイミング同期方式 |
JPS612435A (ja) * | 1984-06-14 | 1986-01-08 | Nec Corp | 受信位置予測装置 |
CA1254981A (en) * | 1986-02-18 | 1989-05-30 | Lester Kirkland | Communications switching system |
DE3674196D1 (de) * | 1986-04-17 | 1990-10-18 | Ibm | Leistungsfaehiges integriertes uebertragungsverfahren fuer daten und nichtkodierte information. |
EP0243563B1 (de) * | 1986-04-30 | 1990-09-12 | International Business Machines Corporation | Nichtkodierte Information und Begleitdaten-Vermittlungsvorrichtung |
NZ220548A (en) * | 1986-06-18 | 1990-05-28 | Fujitsu Ltd | Tdm frame synchronising circuit |
US4780870A (en) * | 1986-09-05 | 1988-10-25 | American Telephone And Telegraph Company, At&T Bell Laboratories | Packet switch |
US4764919A (en) * | 1986-09-05 | 1988-08-16 | American Telephone And Telegraph Company, At&T Bell Laboratories | Virtual PBX call processing method |
JPH0728280B2 (ja) * | 1986-10-17 | 1995-03-29 | 富士通株式会社 | 多重マルチフレ−ム同期検出回路 |
US4727558A (en) * | 1987-02-12 | 1988-02-23 | Dallas Semiconductor Corporation | Method and apparatus for extracting a predetermined bit pattern from a serial bit stream |
US4768192A (en) * | 1987-04-01 | 1988-08-30 | General Signal Corp. | Frame synchronization detection system for time division multiplexed (TDM) digital signals |
EP0323222A3 (de) * | 1987-12-25 | 1990-10-17 | Nec Corporation | Sende- und Empfangssystem eines HDLC-Datenrahmens über einen Zeitmultiplexübertragungsweg |
-
1989
- 1989-09-18 US US07/408,984 patent/US4974223A/en not_active Expired - Fee Related
-
1990
- 1990-07-28 DE DE69023447T patent/DE69023447T2/de not_active Expired - Fee Related
- 1990-07-28 EP EP90114546A patent/EP0419805B1/de not_active Expired - Lifetime
- 1990-08-16 JP JP2216472A patent/JPH0817403B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0817403B2 (ja) | 1996-02-21 |
EP0419805A2 (de) | 1991-04-03 |
EP0419805A3 (en) | 1991-10-23 |
EP0419805B1 (de) | 1995-11-08 |
JPH03117250A (ja) | 1991-05-20 |
US4974223A (en) | 1990-11-27 |
DE69023447D1 (de) | 1995-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69023447T2 (de) | Parallele Architektur zur schnellen Flag-Erkennung und Paketidentifizierung. | |
DE68919856T2 (de) | Nachrichtenvermittlungselement zur übertragung von zellen unterteilt in teilzellen. | |
DE3887594T2 (de) | Verteiltes überwachungssystem für lokales netz. | |
DE2130299C3 (de) | Eingabe-/Ausgabekanal für eine Datenverarbeitungsanlage | |
DE1928202C3 (de) | Einrichtung zur Erstellung statistischer Daten über den Operationsablauf programmgesteuerter Datenverarbeitungsanlagen | |
DE3786298T2 (de) | Verfahren und Schalter zum Vermitteln von Informationen. | |
DE69029892T2 (de) | Datendarstellung und Protokoll | |
DE69114805T2 (de) | Protokollanalysator. | |
EP0453607B1 (de) | Verfahren und Schaltungsanordnung zur Reduzierung des Verlustes von Nachrichtenpaketen, die über eine Paketvermittlungseinrichtung übertragen werden | |
DE2647241A1 (de) | Anordnung fuer eine digitale datenuebertragung | |
DE3226298C2 (de) | ||
DE2362010A1 (de) | Fehleralarm- und -ueberwachungsanlage und verfahren zur fehleralarmausloesung und fehlerueberwachung | |
DE69029755T2 (de) | Zellenvermittlungssystem für Zeitmultiplexkommunikation | |
EP0384936A1 (de) | Verfahren und Schaltungsanordnung zum Weiterleiten von auf Zubringerleitungen übertragenen Nachrichtenpaketen über eine Paketvermittlungseinrichtung | |
DE68913028T2 (de) | Empfangs- und Bearbeitungssystem für PCM-TDM-mehrwegübertragene HDLC-Rahmen, insbesondere für Datenvermittler. | |
DE3887552T2 (de) | Zeitsteuerung für Doppelanschluss. | |
CH626735A5 (de) | ||
EP0453606B1 (de) | Verfahren und Schaltungsanordnung zur Reduzierung des Verlustes von Nachrichtenpaketen, die über eine Paketvermittlungseinrichtung übertragen werden | |
EP0329005A1 (de) | Verfahren zum Einrichten von über Koppelvielfache einer mehrstufigen Koppelanordnung verlaufenden virtuellen Verbindungen | |
DE3280423T2 (de) | Datenuebertragungssystem. | |
DE68927788T2 (de) | Datenvermittlungsbauweise zur Verschlüsselung von Paketen | |
DE3613773C2 (de) | ||
DE69217096T2 (de) | Vorrichtung und Verfahren für die kontinuierliche Durchschaltung in ATM | |
DE3885136T2 (de) | Asynchroner und universeller Sender/Empfänger. | |
EP0447769A2 (de) | Verfahren und Schaltungsanordnung zur Verwaltung gleicher Einheiten sowie Vermittlungselement |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |