DE3782546T2 - Datenpaketverkuerzungsverfahren und -vorrichtung. - Google Patents

Datenpaketverkuerzungsverfahren und -vorrichtung.

Info

Publication number
DE3782546T2
DE3782546T2 DE8787304323T DE3782546T DE3782546T2 DE 3782546 T2 DE3782546 T2 DE 3782546T2 DE 8787304323 T DE8787304323 T DE 8787304323T DE 3782546 T DE3782546 T DE 3782546T DE 3782546 T2 DE3782546 T2 DE 3782546T2
Authority
DE
Germany
Prior art keywords
address
data
token
delay
tokens
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
DE8787304323T
Other languages
English (en)
Other versions
DE3782546D1 (de
Inventor
John Richard Gurd
Katsura Kawakami
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.)
University of Manchester
Panasonic Holdings Corp
Original Assignee
University of Manchester
Matsushita Electric Industrial Co Ltd
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 University of Manchester, Matsushita Electric Industrial Co Ltd filed Critical University of Manchester
Publication of DE3782546D1 publication Critical patent/DE3782546D1/de
Application granted granted Critical
Publication of DE3782546T2 publication Critical patent/DE3782546T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0684Configuration or reconfiguration with feedback, e.g. presence or absence of unit detected by addressing, overflow detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Memory System (AREA)
  • Communication Control (AREA)

Description

  • Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung der Datenpaketverkürzung, womit eine Verringerung der Länge eines Datenpakets in einem elektronischen Computer möglich ist.
  • In Mikrocomputern wird beim Durchführen eines in einer Speichervorrichtung gespeicherte Daten nutzenden Vorgangs der Vorgang des Auslesens bestimmter Daten durch die Verschickung einer mit einer bestimmten Adresse der Speichervorrichtung zusammenhängenden Leseanforderung durchgeführt. Bei seriell verarbeitenden Computern besteht im allgemeinen nicht die Möglichkeit, Daten auszulesen, die die Speichervorrichtung noch nicht erreicht haben. Wenn seriell verarbeitende Computersysteme in einer Weise arbeiten, bei der Befehle eines Programms getrennt in getrennten Vorrichtungen ausgeführt werden, so kann es umstandsweise zu dem Versuch kommen, noch nicht in der Speichervorrichtung eingetroffene Informationen auszulesen. Solche Systeme müssen einen Aufbau besitzen, wodurch die Leseanforderung verzögert und nach erfolgtem Eintreffen der fehlenden Daten in der Speichervorrichtung verarbeitet wird.
  • Fig. 1a stellt die Beziehung zwischen einer Verzögerung- Verwaltungsvorrichtung, einer Verarbeitungsvorrichtung und einer Speichervorrichtung in einem Diagramm dar. Die Speichervorrichtung vermag Leseanforderungen zu verzögern. Die Speichervorrichtung 100 umfaßt vier Teile, d. h. einen Verteilerteil (Zuordnungsteil) 100a, einen Speicherteil 100b, einen Verzögerung-Verarbeitungsteil (Zurückstellung-Verarbeitungsteil) 100c und einen Löschteil 100d. Die Kanäle 101 und 102 ermöglichen eine Verschickung von Daten jeweils von der Verarbeitungsvorrichtung 103 zur Speichervorrichtung 100, bzw. von der Speichervorrichtung 100 zur Verarbeitungsvorrichtung 103.
  • Der Austausch von Daten zwischen der Verarbeitungsvorrichtung 103 und der Speichervorrichtung 100 geschieht ausschließlich durch die Verschickung individueller Datenpakete (im folgenden mit "Token" bezeichnet). Beim Empfang eines Speicherraumanforderung-Tokens 104 im Verteilerteil 100a der Speichervorrichtung 100 schickt dieser eine Anfangsadresse für den angeforderten Raum je nach der angeforderten Größe in der Gestalt eines Tokens 107. Der Speicherteil 100b empfängt ein Schreib-Token 105 und ein Leseanforderung-Token 106. Gemäß dem ersteren trägt er einen Parameter V in die Adresse A ein, und gemäß dem letzteren liest er den Inhalt V von der Adresse A aus und schickt diesen Inhalt als ein Daten-Token 108 zur Verarbeitungsvorrichtung 103. Für Token außer dem Schreib-Token besteht die Notwendigkeit einer Antwort, und Antworten sind durch Parameter Ra bezeichnet. Der Verzögerung-Verwaltungsteil 100c und die Löschsteuervorrichtung 100d befassen sich nicht direkt mit der Übertragung von Token zu oder von der Verarbeitungsvorrichtung 103. Der Verzögerung-Verarbeitungsteil 100c führt die Abwicklung von Leseanforderungen in Zusammenhang mit noch nicht im Speicherteil 100b eingetroffenen Daten durch, und der Löschsteuerteil 100d führt den Vorgang der Verfügbarmachung von Speicherraum, wenn er nicht mehr benutzt ist, durch.
  • Die verschiedenen Arten von Token unterscheiden sich anhand eines Codes. Fig. 1b stellt ein Beispiel zum Aufbau jedes der Token dar. Die Zahlzeichen 464 bis 468 entsprechen jeweils den Zahlzeichen 104 bis 108 in Fig. 1a. Jedes Token weist vier Felder auf, nämlich ein Codefeld 451, ein zweites Feld 452, ein drittes Feld 453 und ein viertes Feld 454.
  • Das Codefeld 451 wird zur Unterscheidung der verschiedenen Tokenarten eingesetzt, und in den Beispielen der Fig. 1b weist das Codefeld vier Bit auf, mit denen sich bis zu sechzehn unterschiedliche Tokenarten kennzeichnen lassen. Die zweiten, dritten und vierten Felder 452 bis 454 in den dargestellten Beispielen umfassen alle der Einfachheit halber vierundzwanzig Bit, wobei sich diese Werte aber dem Bedarf eines bestimmten Systems anpassen lassen. Die schattierten Flächen in den Diagrammen stellen gerade nicht benutzte Felder dar.
  • Die Fig. 2a, 2b und 2c sind Diagramme, welche der ausführlichen Erläuterung der Funktion des in Fig. 1a gezeigten Speicherteils 100b und des Verzögerung-Verarbeitungsteils 100c dienen. In Fig. 2 dienen die Kanäle 201 und 202 der Förderung von Token vom bzw. zum Speicherteil. Jede Adresse innerhalb des Speicherteils 100b besteht aus einem Markierungsflagfeld und einem Datenfeld, wobei das Markierungsflagfeld ein gültiges Markierungsflag 203, das anzeigt, ob gegebenenfalls innerhalb des Datenfeldes irgendwelche wichtigen Daten gespeichert sind, und ein Verzögerung-Markierungsflag 204 umfaßt, das anzeigt, ob gegebenenfalls eine Leseanforderung in Zusammenhang mit jener Adresse bereits verzögert worden ist. Das heißt, daß das gültige Markierungsflag 203 beim Eintragen von Daten im Datenfeld 205 durch ein Schreib-Token zu "1" wird und das gültige Markierungsflag bei Rückführung jener Adresse in ihren ursprünglichen Zustand zu "0" wird. Wenn ein Leseanforderung- Token verzögert worden ist, wird das Verzögerung-Markierungsflag 204 zu "1", und wenn Daten in die Adresse eingetragen worden sind oder das Wort in seinen ursprünglichen Zustand rückgeführt ist, wird das Verzögerung-Markierungsflag zu "0".
  • Es wird auf Fig. 2a Bezug genommen. Wenn ein einer Adresse A entsprechendes Leseanforderung-Token 206 einen Speicherteil 100b erreicht, hängt die Antwort des Speichers 100b vom Status des gültigen Markierungsflags innerhalb der Adresse A ab. Das heißt:
  • (1) Falls das gültige Markierungsflag "1" ist, dann wird - wie in Fig. 2b gezeigt - der im Datenteil der Adresse A gespeicherte Wert V ausgelesen, der Wert V wird mit dem Kennungsparameter Ra des Leseanforderung-Tokens zusammengefügt und das Resultat als ein Daten-Token 207 ausgeschickt.
  • (2) Falls das gültige Markierungsflag "0" ist, dann wird - wie in Fig. 2c gezeigt - das Leseanforderung-Token in einem Token- Unterbringungsfeld 207 einer willkürlichen freien Adresse (beispielsweise Adresse Q) innerhalb des Verzögerung- Verarbeitungsteils 100c untergebracht. Zugunsten einer wirtschaftlichen Nutzung von Speicherraum wird allerdings der Adreßparameter A ausgelöscht, obwohl diese Auslöschung nicht notwendig ist. Daten werden in ein Link-Feld 208 der Adresse Q eingetragen. In den Zeichnungen sind diese Daten durch ein Sternzeichen symbolisiert und zeigen, daß es sich in diesem Fall um ein erstes mit der Adresse A zusammenhängendes Verzögerungstoken handelt. Innerhalb des Datenfeldes der mit der verzögerten Leseanforderung zusammenhängenden Adresse A wird ein Token-Speicheradreßzeiger Q gespeichert. Ins Verzögerung- Markierungsflag 204 wird eine "1" eingetragen.
  • Bei dieser Vorrichtung kann mehr als ein Leseanforderung- Token in Zusammenhang mit einer Einzeladresse des Speicherteils 100b eintreffen. Dementsprechend können mehrere mit einer Adresse zusammenhängende Token verzögert werden. Unter Bezugnahme auf Fig. 3a und Fig. 3b werden die Verzögerungstoken unter solchen Umständen als eine Serie gespeichert. In Fig. 3a bezeichnen Zahlzeichen 301 bis 305 Elemente, die den Komponenten 201 bis 205 der Fig. 2a entsprechen. Um die Verzögerungstoken in einer Serie zu ordnen, werden die Serienfelder für die Adressen im Verzögerung-Verarbeitungsteil 100c eingesetzt. Wenn dann ein Schreib-Token 307 in Adresse A eintrifft, werden - unter Bezugnahme auf Fig. 3b - sämtliche mit der Adresse A assoziierten Verzögerungstoken freigesetzt. In das Datenfeld der Adresse A des Speicherteils 100b wird der Wert V eingetragen, und gleichzeitig wird "1" in das gültige Markierungsflag 303 und "0" in das Verzögerung-Markierungsflag 304 eingetragen. Die früher im Datenfeld der Adresse A gespeicherte Adresse Q3 wird erneut überprüft, und dann Adresse Q2 (bei Adresse Q3 gespeichert), und dann Adresse Q1 (bei Adresse Q2 gespeichert). Damit kann die Serie von drei verzögerten Token regeneriert werden. Der nunmehr bei Adresse A gespeicherte Wert V wird mit den gespeicherten Kennungen Ra3, Ra2 und Ra1 zusammengefügt, um die Daten-Token 308 bis 310, die zur Verarbeitungsvorrichtung geschickt werden, zu bilden. Bisher die Verzögerungstoken speichernde Adressen Q1 bis Q3 werden zu freien Adressen und lassen sich für spätere Verzögerungstoken einsetzen.
  • Beim oben beschriebenen Vorgang ist während der Ausführungszeit des Serienvorgangs der Verzögerungstoken ein Aus lesen oder Schreiben von Daten nicht möglich, und dies bedeutet, daß das System langsam ist. Das Problem läßt sich nicht schlichtweg durch die Trennung des Speicherteils 100b und des Verzögerung-Verarbeitungsteils 100c, wie in der Fig. 4a gezeigt, und durch den Einsatz der unter Bezugnahme auf die Fig.
  • 2a bis 2c erläuterten Vorrichtung lösen. Das heißt, daß bei Systemen wie dem in Fig. 4a und Fig. 4b gezeigten dem gleichzeitige Betrieb des Speicherteils 100b und des Verzögerung-Verarbeitungsteils 100c Anlaß zu neuen Problemen gibt. Unter Bezugnahme auf die Fig. 4a bis 4e werden diese Probleme im folgenden erläutert:
  • In Fig. 4a entsprechen die Zahlzeichen 401 bis 405 jeweils 301 bis 305 der Fig. 3a und sie bezeichnen Elemente gleichartiger Funktion. Die Kanäle 409 und 410 fördern Token jeweils vom Verzögerung-Verarbeitungsteil 100c zum Speicherteil 100b, bzw. vom Speicherteil 100b zum Verzögerung-Verarbeitungsteil 100c. Zwei mit Adresse A zusammenhängende Leseanforderung-Token sind in Fig. 4a als verzögert worden gezeigt, und weiterhin ist ein neues Leseanforderung-Token 411 bei der Adresse A eingetroffen. Eine Beschreibung der Folgen dieser Situation folgt unten.
  • (1) Das Leseanforderung-Token 411 wird so verzögert, daß das gültige Markierungsflag 403 der Adresse A "0" ist und wie in Fig. 4b zum Verzögerungstoken 412 wird, welches an den Verzögerung-Verarbeitungsteil 100c geschickt wird. Das Verzögerungstoken 412 enthält die Anfangsadresse Q2 der Verzögerungsserie. Die Adresse Q2 wird in der Adresse A gespeichert.
  • (2) Wenn das Verzögerungstoken 412 am Verzögerung- Verarbeitungsteil 100c eintrifft, wird - wie in Fig. 4c gezeigt - das Token 412 in einem willkürlichen freien Wort (beispielsweise Q3) gespeichert und gleichzeitig wird ein neues Anfangsadreß-Token 413 an den Speicherteil 100b geschickt. Das Token 413 enthält die neue Anfangsadresse Q3 der Serie der Verzögerungstoken, die dem Speicherteil 100b übermittelt werden muß.
  • Die Fig. 4f zeigt die Anordnung der Token DREAD und NQA. Die Felder 751 und 754 in Fig. 4f entsprechen den Feldern 451 bis 454 in Fig. 1b. Die schattierten Teile des Diagramms stehen für nicht benutzte Felder.
  • Unter der Annahme, daß ein neues, mit Adresse A zusammenhängendes Leseanforderung-Token gleichzeitig beim Speicherteil 100b eintrifft, ergeben sich die folgenden Möglichkeiten:
  • (3) Falls das Token 413 vor dem Token 414 eintrifft, trägt der Speicher 100b den im Token 413 enthaltenen Parameter Q3 in die Adresse A ein. Dann zeigt - wie in Fig. 4d gezeigt - der in Adresse A gespeicherte Zeiger den Anfang der Verzögerungsserie an und die Token-Verzögerung-Verarbeitung kann normal weitergehen.
  • (3') Falls das Token 413 nach dem Token 414 eintrifft, wird das Token 414 verzögert und es wird - wie in Fig. 4e gezeigt - zu einem Token 411. Die Parameter des Verzögerungstokens 411 enthalten den Wert Q2, und obwohl das Token 411 innerhalb des Verzögerung-Verarbeitungsteils 100c untergebracht ist, gibt es zwei mit der Adresse Q2 assoziierte Token, und die Einhaltung der normalen Serie ist nicht möglich.
  • Um dieses Problem anzugehen, ist die in Fig. 5 dargestellte Vorrichtung entworfen worden. Unter Bezugnahme auf das Blockdiagramm der Fig. 5 wird eine der Verarbeitungsvorrichtung 103 der Fig. 1a entsprechende Verarbeitungsvorrichtung 1 gezeigt. Ein Speicherteil 2 und ein Verzögerung-Verarbeitungsteil 3 entsprechen dem Speicherteil 100b und dem Verzögerung-Verarbeitungsteil 100c der Fig. 1a. Die Übertragungsvorrichtungen 4 und 5 fördern die Token zwischen der Verarbeitungsvorrichtung 1, dem Speicherteil 2 und dem Verzögerung-Verarbeitungsteil 3, und diese Vorrichtungen 4 und 5 entsprechen den Kanälen 101 und 102 in Fig. 1a.
  • Der Speicherteil 2 umfaßt einen von der Übertragungsvorrichtung 4 empfangene Token vorübergehend haltenden Puffer 2a. Ein Steuerteil 2b bezeichnet die verschiedenen Arten der empfangenen Token und je nach ihrem Typus werden die Parameter der Token in einem Speicher 2c gespeichert oder der Inhalt des Speichers 2c ausgelesen. Ein Puffer 2d dient dem Zweck, Token vom Steuerteil 2d zur Übertragungsvorrichtung 5 zu schicken.
  • Im Verzögerung-Verarbeitungsteil 3 hält ein Puffer 3a vorübergehend von der Übertragungsvorrichtung 4 empfangene Token. Ein Steuerteil 3b unterscheidet zwischen den unterschiedlichen Arten von empfangenen Token und je nach Typus dieser Token speichert er entweder ihre Parameter in einem Speicher 3c oder liest den Inhalt des Speichers 3c aus. Ein Puffer 3d dient der Verschickung von Token vom Steuerteil 3b zur Übertragungsvorrichtung 5.
  • Es wird auf Fig. 6 Bezug genommen. Diese dient der Darstellung eines wichtigen Merkmals des Steuerteils 2b und des Speicherteils 2c des Speichers 2. Der Speicherteil 2c speichert die Adressen Q3, Q4, Q5 . . . QN usw. des freien Raums im in Fig. 1 gezeigten Speicherteil 3c. Der zur Nutzung verfügbare Raum freier Adressen im Speicher 3c wird durch einen Stapelzeiger 20 angezeigt. Ein Puffer 21 liefert frische, verfügbar gewordene Adressen. Somit sammeln sich freie Adressen an und werden bedarfsweise eingesetzt.
  • Es folgt nun eine Erläuterung eines Verfahrens zur Verzögerung-Verarbeitung, bei dem eine normale Serie einzelner Adressen für Verzögerungstoken aufgebaut wird. Die in Fig. 5 und Fig. 6 gezeigten Anordnungen stehen für einfache Beispiele der möglichen Aufbauformen, die sich nicht unbedingt beispielsweise auf die Puffer 2a, 2d sowie den Steuerteil 2b beschränken. Der Betrieb der beschriebenen Anordnung wird jedoch unter Bezugnahme auf die Fig. 7a bis 7g beschrieben.
  • Es wird nun auf Fig. 7a Bezug genommen. Ein freier Speicherraum 30 im Speicher 2c des Speicherteils 2 enthält den Raum 30a, worin die Adressen des freien Raums im in Fig. 6 gezeigten Speicher 3c gespeichert sind. Ein gültiges Markierungsflag 30b und ein Verzögerung-Markierungsflag 320c entsprechen den in Fig. 4a gezeigten Markierungsflags 403 und 404. Das Zahlzeichen 31 zeigt freien Speicherraum innerhalb des Speichers 3c des Verzögerung-Verarbeitungsteils 3 an. Die Kanäle 32, 33, 34 und 35 sind zur Förderung von Token vorgesehen und entsprechen den in Fig. 5 gezeigten Übertragungsvorrichtungen 4 und 5.
  • Unter Bezugnahme auf Fig. 7a folgt nun eine Erläuterung zum Betrieb der in Fig. 5 und Fig. 6 gezeigten Verzögerung-Verarbeitungsvorrichtung. Wie in Fig. 4a gleichfalls gezeigt, stellt Fig. 7a die Situation dar, bei der eine Verzögerung von zwei Leseanforderung-Token bereits stattgefunden hat und ein neues Leseanforderung-Token 512 gerade am Speicherteil 2 eintrifft. Im Gegensatz zu Fig. 4a ist der Adreßraum 30a jedoch zur Freie- Adresse-Speicherung im Verzögerung-Verarbeitungsteil 3 vorgesehen. Ein Freie-Adresse-Token 511 enthält als einen Parameter eine freie Adresse im Verzögerung-Verarbeitungsteil 3, und liefert jene Adresse zum Adreßraum 30a. Dies wird im Anschluß beschrieben.
  • (1) Wenn der Speicherteil 2 das Freie-Adresse-Token 511 und das Leseanforderung-Token 512 empfängt, steht das gültige Markierungsflag 30b auf "0" und demnach wird - wie in Fig. 7b dargestellt - die Leseanforderung in ein Verzögerungstoken 513 gewandelt und zum Verzögerung-Verarbeitungsteil geschickt. Aus dem Leseanforderung-Token 512 werden die Adreßparameter entfernt und durch Zugabe des Wertes Q2, welcher in Adresse A gehalten ist, und Q3, welcher der vom Freie-Adresse-Token gehaltene Parameter ist, wird das Verzögerungstoken 513 gebildet. Anschließend wird die freie Adresse Q3 in der Adresse A gespeichert.
  • (2) Beim Eintreffen des Verzögerungstokens 513 im Verzögerung- Verarbeitungsteil 3 werden - wie in Fig. 7c gezeigt - die sonstigen Parameter des Verzögerungstokens in der Adresse Q3 gespeichert. Der Parameter Q2 ist in einem Serienfeld untergebracht. Die Adresse Q3 ist in der Adresse A des Speicherteils 2 bereits eingetragen worden, womit die Verzögerungsserie vollständig ist.
  • (3) Anschließend stellt der Verzögerung-Verarbeitungsteil 3 ein neues Freies-Wort-Token 514 her, welches er zur Nutzung in einem späteren Token-Verzögerungsvorgang zum Adreßteil 30a des Speicherteils 2 schickt.
  • Durch die oben erwähnte Vorgehensweise treten die unter Bezugnahme auf die Fig. 4a bis 4f umrissenen Probleme nicht auf. Das heißt, daß sogar in der Situation, wo - wie etwa in Fig. 1b gezeigt - ein Verzögerungstoken 513 noch nicht beim Verzögerung- Verarbeitungsteil 3 eingetroffen ist, der Speicherteil 2 immer noch wirkungsvoll ein mit der Adresse A zusammenhängendes Token verzögern kann. Wenn beispielsweise in der in Fig. 7b gezeigten Situation ein mit der Adresse A zusammenhängendes Token verzögert ist, sollte das verzögerte Token die Parameter Q4, Q3 und Ra4 (Token 520 in Fig. 7d) aufweisen. Bei Q4 handelt es sich um eine freie Adresse im Verzögerung-Verarbeitungsteil 3, die früher in den Adreßraum 30a des Speicherteils 2 eingetragen wurde. Wenn dieses Token im Verzögerung-Verarbeitungsteil 3 eintrifft, dann bildet es ganz offensichtlich eine Serie. Sogar falls beispielsweise das Token 520 das Token 513 der Fig. 7d überholt, ändert sich die Reihenfolge der Serie nicht und beim Eintreffen des Tokens 513 wird schließlich eine normale Serie abgeschlossen.
  • Auf der anderen Seite werden in der in Fig. 7c gezeigten Situation beim Eintreffen eines mit Adresse A zusammenhängenden Schreib-Tokens mit der Adresse A zusammenhängende Verzögerungstoken entsprechend der Beschreibung wie folgt freigegeben.
  • (4) Beim Empfang des Schreib-Tokens überprüft der Speicherteil 2 nochmals das Verzögerung-Markierungsflag 504 und weil dessen Wert "1" beträgt, ist ihm bekannt, daß es zumindest ein mit der Adresse A assoziiertes Verzögerungstoken gibt. Somit wird gleichzeitig mit der Eintragung des Wertes V in die Adresse A das Freigabeanforderung-Token 516 erzeugt. Anschließend erfolgt eine Änderung des gültigen Markierungsflags 30b zu "1" und eine Änderung des Verzögerung-Markierungsflags 30c zu "0".
  • (5) Das Freigabeanforderung-Token 516 enthält - wie in Fig. 7e gezeigt - die Adresse A und den Wert Q3 und liefert diese Daten zum Verzögerung-Verarbeitungsteil 3.
  • (6) Beim Empfang des Freigabeanforderung-Tokens 516 wird dem Verzögerung-Verarbeitungsteil 3 aus dessen Parameter Q3 die Anfangsadresse der freizugebenden Serie bekannt. Den Verzögerungstoken, die dieser Serie angehören, fügt dem Verzögerung-Verarbeitungsteil 3 den Adreßparameter A hinzu und erzeugt mit den ursprünglichen Leseanforderung-Token vor ihrer Verzögerung identische Leseanforderung-Token, das heißt Token 517 bis 519 in Fig. 7f. Diese Lese-Token werden an den Speicherteil 2 geschickt. Anschließend wird jede der Adressen, bei denen die Verzögerungstoken im Verzögerung-Verarbeitungsteil 3 gespeichert wurden, zu einer freien Adresse.
  • (7) Beim Eintreffen der Leseanforderung-Token am Speicherteil 2 lesen sie die Adresse A aus und fügen zur (Ra3-, Ra2-, Ra1-) Adreßkennung den Wert V hinzu und schicken entsprechende Daten- Token zur Verarbeitungsvorrichtung 1.
  • Die Token READ und WRT in den Fig. 7a bis 7f weisen genau die gleiche Gestalt wie die in Fig. 1b dargestellten READ- und WRT-Token auf.
  • Die Gestalt der in den Fig. 7a bis 7f auftretenden Token DREAD, FA und RRQ ist in Fig. 7g gezeigt (die schattierten Teile in den Diagrammen symbolisieren nicht benutzte Felder). Im gleichen Diagramm haben 551 bis 554 ihre Entsprechung in 451 bis 454 in Fig. 1b.
  • Das Token DREAD in Fig. 7g unterscheidet sich von dem der Fig. 4f darin, daß es mehr als ein Feld benutzt. FA entspricht NQA in Fig. 4f, benutzt allerdings ein Feld weniger.
  • Da die vom Verzögerung-Verarbeitungsteil 3 freigegebenen Leseanforderung-Token 517 bis 519 genau die gleiche Gestalt haben, wie die mit ihnen zusammenhängenden verzögerten Leseanforderungen, muß der Speicherteil 2 nicht unterscheiden, von woher diese Token kamen. Aus Gründen der Einfachheit der Erläuterung wird - unter Bezugnahme auf Fig. 7a - das freie Token 511 zeitgleich mit dem Leseanforderung-Token 512 zum Adreßraum 30a des Speicherteils 2 geschickt. Selbst wenn sich mehrere Freie-Adresse-Token im Adreßraum 30a angesammelt haben, ist dies in Ordnung. Hat der Verzögerung-Verarbeitungsteil 3 ein Freies-Wort-Token an den Speicherteil 2 verschickt, so wird mit jedem Empfang eines Verzögerungstokens die Ansammlung von Freies-Wort-Token im Speicherteil 2 aufrechterhalten.
  • Im bezüglich Fig. 7a bis 7g beschriebenen Vorgang weist das Verzögerungstoken 513 drei Parameter auf. Das bedeutet: die Adresse Q3, in die das Token 513 einzutragen ist, die Anfangsadresse Q2 der bereits existierenden Token-Serie und die Adreßkennung Ra3. Dies bedeutet, daß das Datenpaket des drei Parameter haltenden Tokens lang ist und für den Token-Kanal aufwendige Hardware erforderlich wird. Die zur Kennzeichnung von leerem Raum in der Speichervorrichtung 31 zur Nutzung mit den Verzögerungstoken erforderliche Adresse wird eher groß sein, und die Bitpakete zur Eintragung der Adressen Q3 und Q2 sind gleichermaßen groß.
  • Es ist eine Aufgabe der vorliegenden Erfindung, die oben aufgeführten Probleme durch Verkürzung der Länge der Token zu umgehen oder zu mildern.
  • Die vorliegende Erfindung liefert ein Verfahren zur Verkürzung von zwischen ersten und zweiten Vorrichtungen weitergegebenen Datenpaketen, wobei die Datenpakete Adreßdaten enthalten, die von der ersten Vorrichtung zur zweiten Vorrichtung geschickt und zur ersten Vorrichtung unverändert zurückgeleitet werden, worin die besagten Adreßdaten vorübergehend bei einer Adresse einer Speichervorrichtung gespeichert werden, die besagten Adreßdaten und die Adresse jener Daten in der Speichervorrichtung als ein Datenpaket von der ersten Vorrichtung zur zweiten Vorrichtung geschickt werden, zu dem Zeitpunkt, an dem die Übertragung der besagten Adreßdaten von der zweiten Vorrichtung zur ersten Vorrichtung erforderlich ist ein Datenpaket geschickt wird, welches die besagte Adresse jener Daten enthält, nicht aber die besagten Daten enthält, und die besagten Daten durch die erste Vorrichtung von der besagten Adresse jener Daten in der Speichervorrichtung abgeleitet werden.
  • Die vorliegende Erfindung liefert ferner eine Vorrichtung zur Verkürzung von Datenpaketen, umfassend erste und zweite Vorrichtungen, zwischen denen Datenpakete weitergegeben werden, die Adreßdaten enthalten, die von der ersten Vorrichtung zur zweiten Vorrichtung geschickt und zur ersten Vorrichtung unverändert zurückgeleitet werden; eine Speichervorrichtung, Mittel zur vorübergehenden Speicherung der besagten Adreßdaten bei einer Adresse der Speichervorrichtung, Mittel zum Verschicken der besagten Adreßdaten und der Adresse jener Daten in der Speichervorrichtung als ein Datenpaket von der ersten Vorrichtung zur zweiten Vorrichtung, Mittel zur Ermittlung des Zeitpunkts, an dem die Übertragung der besagten Adreßdaten von der zweiten Vorrichtung zur ersten Vorrichtung erforderlich ist, Mittel zum Verschicken eines Datenpakets, welches die besagte Adresse jener Daten enthält, nicht aber die besagten Adreßdaten enthält, von der zweiten Vorrichtung zur ersten Vorrichtung, wobei die erste Vorrichtung Mittel zur Ableitung der besagten Adreßdaten von der besagten Adresse jener Daten in der Speichervorrichtung umfaßt.
  • Unter Bezugnahme auf die beigefügten Zeichnungen sei die vorliegende Erfindung nachfolgend beispielhaft beschrieben. Es zeigen:
  • Fig. 1a ein Blockliniendiagramm einer weiteren Verzögerung- Verarbeitungsvorrichtung des Standes der Technik;
  • Fig. 1b ein schematisches Diagramm eines in der Vorrichtung der Fig. 1a eingesetzten Tokens;
  • Die Fig. 2a bis 2c, die Fig. 3a und 3b und die Fig. 4a bis 4f schematische Diagramme zur Erläuterung des Verfahrens der Verzögerung-Verarbeitung für den Stand der Technik der Fig. 1a;
  • Fig. 5 ein Blockliniendiagramm einer Verzögerung- Verarbeitungsvorrichtung des Standes der Technik;
  • Fig. 6 ein Blockliniendiagramm der Hauptteile der Vorrichtung der Fig. 5;
  • die Fig. 7a bis 7g schematische Diagramme zum Aufzeigen des Verfahrens der Verzögerung-Verarbeitung der Vorrichtung der Fig. 1;
  • die Fig. 8a bis 8c Blockliniendiagramme einer Vorrichtung der Verkürzung von Datenpaketen gemäß eines erfindungsgemäßen Beispiels; und
  • die Fig. 9a und Fig. 9b Blockliniendiagramme von Vorrichtungen zur Verkürzung von Datenpaketen, die in Verbindung mit der vorliegenden Erfindung allgemein berücksichtigt sind.
  • Es wird auf die Fig. 8a bis 8c Bezug genommen. Dort tragen gezeigten Elementen in den Fig. 7a bis 7g entsprechende Elemente die gleichen Bezugszahlzeichen. Der Unterschied in der Struktur der Fig. 8a bis 8c zu derjenigen der Fig. 7a bis 7g besteht darin, daß ein Speichermittel 801 (im folgenden als die "Tabelle freier Adressen" bezeichnet) vorgesehen ist, worin freie Adressen vorübergehend untergebracht werden.
  • Fig. 8a stellt die gleichen Bedingungen wie Fig. 7a dar. Ein Freie-Adresse-Token 801 weist im Vergleich zum Token 511 in Fig. 7a einen zusätzlichen Parameter T2 auf. Beim Parameter T2 handelt es sich um die Adresse in der Tabelle freier Adressen 801, bei welcher die Adresse Q3 gespeichert ist. Anders ausgedrückt, indirekt über die Tabelle freier Adressen 801 bezeichnet T2 die freie Adresse Q3.
  • Es folgt nun eine Beschreibung der Antwort auf den Empfang einer Leseanforderung, die in ein Verzögerungstoken geändert werden muß.
  • (1) Beim Empfang des Freie-Adresse-Tokens 511 und des Leseanforderung-Tokens 512 ändert der Speicherteil 2, da das gültige Markierungsflag 30b auf "0" steht, das Leseanforderung-Token 512 zu einem Verzögerungstoken 513, was er - wie in Fig. 8b gezeigt - zum Verzögerung-Verarbeitungsteil 3 schickt. Um ein Verzögerungstoken zu erzeugen, löscht er die Parameter aus dem Leseanforderung-Token 512 und fügt die in der Adresse A gehaltene Adresse Q2 sowie den im Freie-Adresse-Token 811 gehaltenen Parameter der Tabelle freier Adressen zusammen. Die freie Adresse Q3 wird in der Adresse A gespeichert. Dies ist insofern eine andere als die unter Bezugnahme auf die Fig. 7a und 7b beschriebene Antwort, als bei der Erzeugung des Verzögerungstokens 813 die Adresse T2 der Tabelle freier Adressen anstelle der Adresse Q3 hinzugegeben wurde (Tn im Freie-Adressen-Stapel 30a).
  • (2) Beim Eintreffen des Verzögerungstokens 813 am Verzögerung- Verarbeitungsteil 3 greift der Verzogerung-Verarbeitungsteil 3 auf die Tabelle freier Adressen 801 zurück und er leitet aus der Adresse T2 der Tabelle freier Adressen die Adresse Q3 ab. Wie in Fig. 8c gezeigt, werden aus dem Verzögerungstoken 813 entnommene Daten Ra3, Q2 in der aus dem Freie-Adresse-Parameter T2 des Verzögerungstokens 813 abgeleiteten Adresse Q2 gespeichert. Da die Adresse Q3 bereits in Adresse A eingetragen wurde, wie in Abschnitt 1 oben beschrieben, ist damit eine Verzögerungsserie abgeschlossen worden.
  • (3) Da die Tabelle freier Adressen T2 nicht mehr benutzt wird, läßt sie sich wieder benutzen. Der Verzögerung-Verarbeitungsteil 3 trägt eine neue freie Adresse Q4 in T2 ein und liefert aus den Parametern T2 und Q4 eine neues Freie-Adresse-Token, das er an den Speicherteil 2 schickt.
  • Auf den Empfang eines Schreib-Tokens hin erfolgt die gleiche Antwort, wie sie unter Bezugnahme auf Fig. 7e beschrieben ist.
  • Im vorhergehenden wurde die vorliegende Erfindung dadurch erläutert, daß man als Beispiele Freie-Adresse-Token und Verzögerungstoken genommen hat, jedoch ist dies nicht die einzige Anwendung für die vorliegende Erfindung.
  • Unter Bezugnahme auf Fig. 9a wird in einem System, worin Datenpakete zwischen zwei Vorrichtungen, das heißt Vorrichtung A und Vorrichtung B, ausgetauscht werden, ein Teil (x) der gerade von der Vorrichtung A zu Vorrichtung B geschickten Informationen von der Vorrichtung B eingesetzt und als Teil eines Datenpakets von der Vorrichtung B zu Vorrichtung A geschickt. Die vorliegende Erfindung läßt sich in jeder beliebigen solchen Situation einsetzen, worin der Wert von x unverändert bleibt.
  • In Fig. 9a weist das Token 911 die Parameter x und y auf. Beim Empfang des Tokens 911 fügt die Vorrichtung B dieses mit einem Parameter x zum Formen eines Tokens 915 zusammen, das sie zu Vorrichtung A schickt. Bei x handelt es sich um die Adresse der Vorrichtung A.
  • Bei solchen Systemen lassen sich Verbesserungen durch eine Anwendung der vorliegenden Erfindung wie in Fig. 9b gezeigt erzielen. Es ist eine Tabelle 901 vorgesehen, welche den Parameter x vorübergehend in der Vorrichtung A zurückhält. Der Parameter T wird im Token 951 den von 911 gehaltenen zugegeben, und im Token 955 wird x durch T ersetzt und rückgeführt. Durch diese Maßnahmen ist eine Verringerung der Datenbreite der Token möglich.
  • Im oben aufgeführten Beispiel der vorliegenden Erfindung werden - wie in Fig. 9a - Token zwischen einer Vorrichtung A und einer Vorrichtung B ausgetauscht, und in jedem beliebigen System, in dem die gleichen Parameter im Kreislauf gehalten werden, ist eine Verringerung der Datenbreite der Token möglich. Der Grund hierfür besteht darin, daß der Parameter T des Tokens 955 in Fig. 9b eine geringere Bitbreite als der Parameter x des Tokens 915 in Fig. 9a aufweist. Die Bitbreite von T hängt von der Größe der Tabelle 901 ab, und die Bitbreite von x hängt vom Umfang des in der Vorrichtung A verfügbaren Speicherraums 900 ab.
  • Der Umfang des in der Vorrichtung A verfügbaren Speicherraums wird durch die vom System verlangten Möglichkeiten festgelegt, und die Größe der Tabelle 901 sollte größer sein als die Gesamtsumme der im System umhergeschickten Token sowie der vorübergehend in der Vorrichtung B angesammelten Token. Dementsprechend ist die Größe der Tabelle 901 viel kleiner als der Umfang des Speicherraums der Vorrichtung A 900, und folglich kann die Bitbreite des Parameters T viel geringer als die Bitbreite des Parameters x sein. Mit einer verringerten Bitbreite der Daten in Token 955 läßt sich die Kanal-Hardware für Token viel preiswerter gestalten.

Claims (2)

1. Verfahren zur Verkürzung von zwischen ersten (A) und zweiten Vorrichtungen (B) weitergegebenen Datenpaketen, wobei die Datenpakete Adreßdaten enthalten, die von der ersten Vorrichtung (A) zur zweiten Vorrichtung (B) geschickt (x, y) und zur ersten Vorrichtung (A) unverändert zurückgeleitet (x, z) werden, dadurch gekennzeichnet, daß die besagten Adreßdaten vorübergehend bei einer Adresse (T) einer Speichervorrichtung (901) gespeichert werden, die besagten Adreßdaten (x, y) und die Adresse (T) jener Daten in der Speichervorrichtung (901) als ein Datenpaket (T, y) von der ersten Vorrichtung (A) zur zweiten Vorrichtung (B) geschickt werden, zu dem Zeitpunkt, an dem die Übertragung der besagten Adreßdaten von der zweiten Vorrichtung (B) zur ersten Vorrichtung (A) erforderlich ist ein Datenpaket (T, y) geschickt wird, welches die besagte Adresse jener Daten (T) enthält, nicht aber die besagten Adreßdaten (x) enthält, und die besagten Adreßdaten (x) durch die erste Vorrichtung (A) von der besagten Adresse (T) jener Daten in der Speichervorrichtung (901) abgeleitet werden.
2. Vorrichtung zur Verkürzung von Datenpaketen, umfassend erste (A) und zweite Vorrichtungen (B) zwischen denen Datenpakete weitergegeben werden, die Adreßdaten enthalten, die von der ersten Vorrichtung (A) zur zweiten Vorrichtung (B) geschickt (x, y) und zur ersten Vorrichtung (A) unverändert zurückgeleitet (x, z) werden, gekennzeichnet durch eine Speichervorrichtung (901), Mittel zur vorübergehenden Speicherung der besagten Adreßdaten bei einer Adresse (T) der Speichervorrichtung (901), Mittel zum Verschicken der besagten Adreßdaten (x, y) und der Adresse (T) jener Daten in der Speichervorrichtung (901) als ein Datenpaket (T, y) von der ersten Vorrichtung (A) zur zweiten Vorrichtung (B), Mittel zur Ermittlung des Zeitpunkts, an dem die Übertragung der besagten Adreßdaten von der zweiten Vorrichtung (B) zur ersten Vorrichtung (A) erforderlich ist, Mittel zum Verschicken eines Datenpakets (T, y), welches die besagte Adresse (T) jener Daten enthält, nicht aber die besagten Adreßdaten (x) enthält, von der zweiten Vorrichtung (B) zur ersten Vorrichtung (A), wobei die erste Vorrichtung Mittel zur Ableitung der besagten Adreßdaten (x) von der besagten Adresse (T) jener Daten in der Speichervorrichtung (901) umfaßt.
DE8787304323T 1986-05-29 1987-05-15 Datenpaketverkuerzungsverfahren und -vorrichtung. Expired - Fee Related DE3782546T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB868613071A GB8613071D0 (en) 1986-05-29 1986-05-29 Data packet shortening

Publications (2)

Publication Number Publication Date
DE3782546D1 DE3782546D1 (de) 1992-12-17
DE3782546T2 true DE3782546T2 (de) 1993-06-09

Family

ID=10598630

Family Applications (1)

Application Number Title Priority Date Filing Date
DE8787304323T Expired - Fee Related DE3782546T2 (de) 1986-05-29 1987-05-15 Datenpaketverkuerzungsverfahren und -vorrichtung.

Country Status (5)

Country Link
US (1) US4860250A (de)
EP (1) EP0249345B1 (de)
JP (1) JPS63233437A (de)
DE (1) DE3782546T2 (de)
GB (1) GB8613071D0 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5235592A (en) * 1991-08-13 1993-08-10 International Business Machines Corporation Dynamic switch protocols on a shared medium network
GB2291990A (en) * 1995-09-27 1996-02-07 Memory Corp Plc Flash-memory management system
US6903838B1 (en) * 1999-12-20 2005-06-07 Hewlett-Packard Development Company, L.P. Automatically specifying address where document is to be sent

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4218756A (en) * 1978-06-19 1980-08-19 Bell Telephone Laboratories, Incorporated Control circuit for modifying contents of packet switch random access memory
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
US4700184A (en) * 1981-10-15 1987-10-13 L'etat Francais One-way data packet transmission system for processing data arranged in groups
FR2526615A1 (fr) * 1982-05-10 1983-11-10 Bodros Christian Coupleur a haut debit entre un multiplex de voies mic et un commutateur de paquets
US4648035A (en) * 1982-12-06 1987-03-03 Digital Equipment Corporation Address conversion unit for multiprocessor system
US4593281A (en) * 1983-10-13 1986-06-03 Rockwell International Corporation Local area network interframe delay controller
US4590467A (en) * 1983-10-13 1986-05-20 Rockwell International Corporation Local area network interface controller
US4631534A (en) * 1984-11-13 1986-12-23 At&T Information Systems Inc. Distributed packet switching system

Also Published As

Publication number Publication date
EP0249345B1 (de) 1992-11-11
JPS63233437A (ja) 1988-09-29
GB8613071D0 (en) 1986-07-02
DE3782546D1 (de) 1992-12-17
EP0249345A3 (en) 1989-08-30
EP0249345A2 (de) 1987-12-16
US4860250A (en) 1989-08-22

Similar Documents

Publication Publication Date Title
DE3784387T2 (de) Vorrichtung und verfahren zur parallelen verwaltung von freien speicherbereichen.
DE3300261C2 (de)
DE3300260C2 (de)
DE4121446C2 (de) Terminal-Server-Architektur
DE3642324C2 (de) Multiprozessoranlage mit Prozessor-Zugriffssteuerung
DE2637054C3 (de) Steuervorrichtung für einen Pufferspeicher
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
CH634940A5 (en) Channel-adapter arrangement
DE69230656T2 (de) Universelle Koppeleinrichtung zwischen einem Rechnerbus und einer Steuereinheit einer Gruppe von Periphergeräten
DE1499182A1 (de) Elektrische Datenverarbeitungsanlage
DE4220698A1 (de) System zur dynamischen verknuepfung modularer abschnitte von computersoftware
DE4207158A1 (de) Speicher-zugriffssteuerung
DE2912073C2 (de)
DE69724732T2 (de) Atomare Operation in Fernspeicher und Vorrichtung zur Durchführung der Operation
DE3123382A1 (de) "verfahren und einrichtung zum uebertragen von daten zwischen zentraleinheiten oder prozessoren von mehrprozessorsystemen"
EP0739509B1 (de) Anordnung mit master- und slave-einheiten
DE3343348A1 (de) Anordnung zur datenuebertragung zwischen mehreren prozessoren und einem speicher
DE3142504A1 (de) Mehrfachplattenspeicher-uebertragungssystem
DE4114053A1 (de) Computersystem mit cachespeicher
DE1237812B (de) Datenverarbeitungsgeraet mit mehreren Speichern
DE3782546T2 (de) Datenpaketverkuerzungsverfahren und -vorrichtung.
DE69719123T2 (de) System zur Datenverarbeitung und -kommunikation mit PCI-Hochdurchsatzbus
DE3787213T2 (de) Verzögerungsverwaltungsverfahren und -vorrichtung.
DE10307424A1 (de) Datenvermittlungsvorrichtung und Multiplex-Kommunikationssysteme
DE102008001739B4 (de) Verfahren zum Steuern eines Zugriffs auf Bereiche eines Speichers aus mehreren Prozessen heraus und Kommunikations-Modul mit einem Nachrichten-Speicher zur Realisierung des Verfahrens

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee