12.10.5 Die "Forward"-Funktion am Beispiel des X2X Link
Bei der "Forward"-Funktion handelt es sich um eine Methode, die Datenrate des Flatstreams deutlich zu
erhöhen. Das grundsätzliche Prinzip wird auch in anderen technischen Bereichen angewandt, z. B. beim
"Pipelining" für Mikroprozessoren.
12.10.5.1 Das Funktionsprinzip
Bei der Kommunikation mittels X2X Link werden 5 Teilschritte durchlaufen, um eine Flatstream-Sequenz zu
übertragen. Eine erfolgreiche Sequenzübertragung benötigt deshalb mindestens 5 Buszyklen.
Schritt I
Aktionen
Sequenz aus Sendearray
übertragen,
SequenceCounter erhö-
hen
Ressource
Sender
(Task zum Versenden)
Sequenz 1
Schritt I
Sequenz 2
Sequenz 3
Buszyklus 1
Sequenz 1
Schritt I
Sequenz 2
Sequenz 3
Buszyklus 1
Jeder der 5 Schritte (Tasks) beansprucht unterschiedliche Ressourcen. Ohne die Verwendung des Forward
werden die Sequenzen nacheinander abgearbeitet. Jede Ressource ist nur dann aktiv, wenn sie für die ak-
tuelle Teilaktion benötigt wird.
Beim Forward kann die Ressource, welche ihre Aufgabe abgearbeitet hat, bereits für die nächste Nachricht
genutzt werden. Dazu wird die Bedingung zur MTU-Freigabe verändert. Die Sequenzen werden zeitgesteu-
ert auf die MTU gelegt. Die Sendestation wartet nicht mehr auf die Bestätigung durch das SequenceAck
und nutzt auf diese Weise die gegebene Bandbreite effizienter.
Im Idealfall arbeiten alle Ressourcen während jedes Buszyklus. Der Empfänger muss weiterhin jede erhalte-
ne Sequenz bestätigen. Erst wenn das SequenceAck angepasst und vom Absender geprüft wurde, gilt die
Sequenz als erfolgreich übertragen.
X20 System Anwenderhandbuch 4.30
Schritt II
Zyklischer Abgleich MTU
und Modulpuffer
Bussystem
(Richtung 1)
Schritt II
Schritt III
Schritt IV
Buszyklus 2
Buszyklus 3
Buszyklus 4
Schritt II
Schritt III
Schritt IV
Schritt I
Schritt II
Schritt III
Schritt I
Schritt II
Buszyklus 2
Buszyklus 3
Buszyklus 4
Abbildung 55: Vergleich Übertragung ohne bzw. mit Forward
Schritt III
Schritt IV
Sequenz an Empfangsar-
Zyklischer Abgleich
ray fügen,
MTU und Modulpuffer
SequenceAck anpassen
Empfänger
Bussystem
(Task zum Empfangen)
(Richtung 2)
Schritt V
Schritt I
Schritt II
Buszyklus 5
Buszyklus 6
Buszyklus 7
Schritt V
Schritt IV
Schritt V
Schritt III
Schritt IV
Schritt V
Buszyklus 5
Buszyklus 6
Buszyklus 7
Zusätzliche Informationen
Schritt V
Prüfung des SequenceAck
Sender
(Task zur Ack-Prüfung)
Schritt III
Schritt IV
Schritt V
Buszyklus 8
Buszyklus 9
Buszyklus 10
Buszyklus 8
Buszyklus 9
Buszyklus 10
. . .
Zeit
Zeit
261