2.5 Datenfluss
79
Marken enthalten. Zu jeder Kante gehört eine Anzahl von konsumierten Marken
(Zahl am Pfeilende der graphischen Darstellung) und eine Anzahl von erzeugten
Marken (Zahl am anderen Ende der Kanten). Die Ausführung eines SDF-Modells
geschieht taktgesteuert auf der Basis eines impliziten Taktgebers. Ein Aktor ist ausführungsbereit, wenn für jede eingehende Kante die Zahl der vorhandenen Marken
mindestens gleich der Zahl der zu konsumierenden Marken ist.
Beispiel 2.21: Abb. 2.39 (links) zeigt einen SDF-Graphen. A und B stellen die Berechnungen dar. Für Aktor B gibt es eine ausreichende Anzahl von Marken auf der
eingehenden Kante, sodass dieser ausführungsbereit ist. Aktor A ist nicht ausführungsbereit. Bei jedem Takt können die ausführungsbereiten Aktoren ausgeführt
..
1
2
2
1
1
2
2
1
..
1
B
A
A
B
1
Abb. 2.39 SDF-Graph: links: Anfangssituation; rechts: nach Ausführung von B
werden, sie müssen es aber nicht. Eine Ausführung bewirkt, dass für die Eingangskanten die Anzahl der Marken um die zu konsumierenden Marken reduziert werden.
Ebenso bewirkt eine Ausführung, dass für die Ausgangskanten die Anzahl der aktuellen Marken um die Anzahl zu erzeugenden Marken erhöht werden. Im Beispiel ist
die Veränderung der Anzahl der Marken in der Abb. 2.39 (rechts) zu sehen.
∇
In der Praxis stellen Marken Daten dar, Aktoren repräsentieren Berechnungen und
Kanten benötigen im Allgemeinen FIFO-Puffer. Diese Puffer implizieren, dass SDF
asynchronen Nachrichtenaustausch benutzt. Anstelle der standardmäßig unbegrenzten Pufferkapazitäten können wir begrenzte Pufferkapazitäten mit Hilfe von
Rückwärtskanten modellieren. Die anfängliche Zahl der Marken auf den Rückwärtskanten entspricht dabei der Kapazität der FIFO-Puffer. Dies wird in Abb. 2.40
gezeigt. Die zwei gezeigten Modelle sind dabei äquivalent.
2
1
B
B
1
1
1
A
A
1
1
2
3
3
1
2
1
3
Abb. 2.40 Ersetzen von expliziten FIFO-Puffern durch Rückwärtskanten
79
Marken enthalten. Zu jeder Kante gehört eine Anzahl von konsumierten Marken
(Zahl am Pfeilende der graphischen Darstellung) und eine Anzahl von erzeugten
Marken (Zahl am anderen Ende der Kanten). Die Ausführung eines SDF-Modells
geschieht taktgesteuert auf der Basis eines impliziten Taktgebers. Ein Aktor ist ausführungsbereit, wenn für jede eingehende Kante die Zahl der vorhandenen Marken
mindestens gleich der Zahl der zu konsumierenden Marken ist.
Beispiel 2.21: Abb. 2.39 (links) zeigt einen SDF-Graphen. A und B stellen die Berechnungen dar. Für Aktor B gibt es eine ausreichende Anzahl von Marken auf der
eingehenden Kante, sodass dieser ausführungsbereit ist. Aktor A ist nicht ausführungsbereit. Bei jedem Takt können die ausführungsbereiten Aktoren ausgeführt
..
1
2
2
1
1
2
2
1
..
1
B
A
A
B
1
Abb. 2.39 SDF-Graph: links: Anfangssituation; rechts: nach Ausführung von B
werden, sie müssen es aber nicht. Eine Ausführung bewirkt, dass für die Eingangskanten die Anzahl der Marken um die zu konsumierenden Marken reduziert werden.
Ebenso bewirkt eine Ausführung, dass für die Ausgangskanten die Anzahl der aktuellen Marken um die Anzahl zu erzeugenden Marken erhöht werden. Im Beispiel ist
die Veränderung der Anzahl der Marken in der Abb. 2.39 (rechts) zu sehen.
∇
In der Praxis stellen Marken Daten dar, Aktoren repräsentieren Berechnungen und
Kanten benötigen im Allgemeinen FIFO-Puffer. Diese Puffer implizieren, dass SDF
asynchronen Nachrichtenaustausch benutzt. Anstelle der standardmäßig unbegrenzten Pufferkapazitäten können wir begrenzte Pufferkapazitäten mit Hilfe von
Rückwärtskanten modellieren. Die anfängliche Zahl der Marken auf den Rückwärtskanten entspricht dabei der Kapazität der FIFO-Puffer. Dies wird in Abb. 2.40
gezeigt. Die zwei gezeigten Modelle sind dabei äquivalent.
2
1
B
B
1
1
1
A
A
1
1
2
3
3
1
2
1
3
Abb. 2.40 Ersetzen von expliziten FIFO-Puffern durch Rückwärtskanten
