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
Application number
DE69023447T
Other languages
English (en)
Other versions
DE69023447D1 (de
Inventor
Teofilo Calvito Ancheta
Alexander Birman
Pao-Chi Chang
Roch Guerin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE69023447D1 publication Critical patent/DE69023447D1/de
Publication of DE69023447T2 publication Critical patent/DE69023447T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer 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

    GEBIET DER ERFINDUNG
  • 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.
  • GRUNDLAGEN DER ERFINDUNG
  • 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.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • 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.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 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.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 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.
DE69023447T 1989-09-18 1990-07-28 Parallele Architektur zur schnellen Flag-Erkennung und Paketidentifizierung. Expired - Fee Related DE69023447T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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