3 <strong>Datenflussoptimierung</strong>Wie <strong>in</strong> Abbildung 3.6 sichtbar, bleibt <strong>de</strong>r Frame als solcher erhalten, es wer<strong>de</strong>n nurAbschnitte (die Subframes) <strong>in</strong> diesem Frame <strong>de</strong>f<strong>in</strong>iert.Hat e<strong>in</strong> PH Mo<strong>de</strong> e<strong>in</strong>en Subframe komplett e<strong>in</strong>gelesen, muss <strong>de</strong>r SH Mo<strong>de</strong> , <strong>de</strong>r die Datenaus diesem Subframe transformiert, darüber <strong>in</strong>formiert wer<strong>de</strong>n. Dazu sen<strong>de</strong>t <strong>de</strong>r PH Mo<strong>de</strong>über e<strong>in</strong>e neue Leitung, die zwischen <strong>de</strong>m PH Mo<strong>de</strong> und <strong>de</strong>m SH Mo<strong>de</strong> e<strong>in</strong>gerichtet wird,e<strong>in</strong> entsprechen<strong>de</strong>s Signal an <strong>de</strong>n SH Mo<strong>de</strong> . Diese zusätzliche Leitung fungiert als Bypasszur CU und ist notwendig, da das Scoreboard e<strong>in</strong>en Start <strong>de</strong>s SH Mo<strong>de</strong>s erst dann zulassenwür<strong>de</strong>, wenn <strong>de</strong>r komplette Frame e<strong>in</strong>gelesen ist. Zusätzlich benötigt <strong>de</strong>r PH Mo<strong>de</strong> e<strong>in</strong>eErweiterung <strong>de</strong>r Zustän<strong>de</strong>, um die Subframe IDs zu verwalten und <strong>de</strong>n Subframes zuzuweisen.Dabei kann die bereits vorhan<strong>de</strong>ne Frame ID erweitert wer<strong>de</strong>n, so dass sie auchdie Subframe ID enthält. Die CU muss <strong>de</strong>rart modifiziert wer<strong>de</strong>n, dass <strong>de</strong>r SH Mo<strong>de</strong> bereitsdann aktiviert wird, sobald <strong>de</strong>r Datenbus vom PH Mo<strong>de</strong> arbitriert wur<strong>de</strong>, damit <strong>de</strong>rSH Mo<strong>de</strong> rechtzeitig schon während <strong>de</strong>s E<strong>in</strong>lesens mit <strong>de</strong>r Verarbeitung beg<strong>in</strong>nen kann.Der SH Mo<strong>de</strong> benötigt zusätzliche Zustän<strong>de</strong>, um die Subframe ID auszuwerten. Nach<strong>de</strong>r Verarbeitung e<strong>in</strong>es Subframes wartet <strong>de</strong>r SH Mo<strong>de</strong> mit <strong>de</strong>r weiteren Verarbeitung darauf,dass <strong>de</strong>r PH Mo<strong>de</strong> die Subframe ID <strong>in</strong>krementiert.Input Bed<strong>in</strong>gungWie im simple Schedule müssen auch bei diesem Optimierungsansatz bestimmte Bed<strong>in</strong>gungene<strong>in</strong>gehalten wer<strong>de</strong>n, die durch die L<strong>in</strong>ien <strong>in</strong> Abbildung 3.5 ver<strong>de</strong>utlicht wer<strong>de</strong>n.Die erste Input Stage e<strong>in</strong>es Kommunikationszyklus darf erst dann begonnen wer<strong>de</strong>n,wenn alle Verarbeitungsphasen aus <strong>de</strong>m vorigen Zyklus been<strong>de</strong>t wur<strong>de</strong>n. In Abbildung3.5 ist diese Bed<strong>in</strong>gung zum Zeitpunkt t 1 erfüllt. E<strong>in</strong> verfrühtes E<strong>in</strong>lesen könnteDaten im Data Rea<strong>de</strong>r überschreiben, die noch nicht von e<strong>in</strong>em SH Mo<strong>de</strong> verarbeitetwur<strong>de</strong>n.• Input(x.1) 2 nach Process(x-1.L) 3Process<strong>in</strong>g Bed<strong>in</strong>gungenE<strong>in</strong>e Process<strong>in</strong>g Stage darf – gemäß <strong>de</strong>m I-P-O Schema – erst dann ausgeführt wer<strong>de</strong>n,wenn die dazugehörige Input Stage been<strong>de</strong>t wur<strong>de</strong>. Bspw. muss P2.1 auf I2.1 warten(t 3 ). Analog zum simple Schedule gilt außer<strong>de</strong>m die Bed<strong>in</strong>gung, dass die Output Stage<strong>de</strong>s vorigen Zyklus been<strong>de</strong>t se<strong>in</strong> muss, um das Überschreiben nicht gesen<strong>de</strong>ter Datenzu vermei<strong>de</strong>n (t 2 ). Bei<strong>de</strong> Bed<strong>in</strong>gungen s<strong>in</strong>d <strong>in</strong> Abbildung 3.5 durch die roten Strichegekennzeichnet.• Process(x.1) nach Output(x-1.L)• Process(x.y) nach Input(x.y)2 die erste Ziffer beschreibt wie<strong>de</strong>r die Nummer <strong>de</strong>s Kommunikationszyklus, die zweite Ziffer die Nummer<strong>de</strong>s Subframes3 das L kennzeichnet <strong>de</strong>n letzten Subframe e<strong>in</strong>er Stage, <strong>in</strong> diesem Fall wäre dies Process(x-1.3)36
3.3 OptimierungsverfahrenOutput Bed<strong>in</strong>gungDie Ausführung <strong>de</strong>r Output Stage richtet sich wie<strong>de</strong>rum nach <strong>de</strong>m En<strong>de</strong> <strong>de</strong>r zugehörigenProcess<strong>in</strong>g Stage. O2.1 darf nicht gestartet wer<strong>de</strong>n, bevor P2.1 been<strong>de</strong>t wur<strong>de</strong>. DieseBed<strong>in</strong>gung wird durch das Scoreboard kontrolliert, da sie durch die Kausalität im I-P-OSchema vorgegeben ist.• Output(x.y) nach Process(x.y)Somit kann e<strong>in</strong>e Verbesserung erreicht wer<strong>de</strong>n. Die Verarbeitung <strong>in</strong> e<strong>in</strong>em Kommunikationszykluskann früher begonnen wer<strong>de</strong>n (nämlich nach <strong>de</strong>m ersten Subframe), wasdazu führt, dass die komplette Verarbeitung früher been<strong>de</strong>t wird. Das wie<strong>de</strong>rum wirktsich auf <strong>de</strong>n nächsten Kommunikationszyklus aus, <strong>de</strong>r ja genau diesen Zeitpunkt abwartenmuss, bevor das Input beg<strong>in</strong>nen kann. Allerd<strong>in</strong>gs müssen dafür Subframe IDs <strong>de</strong>mIFB h<strong>in</strong>zugefügt wer<strong>de</strong>n, was e<strong>in</strong>e Modifikation <strong>de</strong>r PH Mo<strong>de</strong>s und <strong>de</strong>r SH Mo<strong>de</strong>s erfor<strong>de</strong>rt.Zusätzlich muss die CU <strong>in</strong> ger<strong>in</strong>gfügigem Maße geän<strong>de</strong>rt wer<strong>de</strong>n, so dass <strong>de</strong>r SH Mo<strong>de</strong>aktiviert wird, sobald Daten vom PH Mo<strong>de</strong> an <strong>de</strong>n Data Rea<strong>de</strong>r gesen<strong>de</strong>t wer<strong>de</strong>n. E<strong>in</strong>equalitative Auswertung <strong>de</strong>s Ansatzes ist <strong>in</strong> Kapitel 3.4 gegeben.3.3.2 subframebased scheduleAbbildung 3.7: subframebased ScheduleIm Gegensatz zum framebased Schedule, <strong>de</strong>r Subframe IDs verwen<strong>de</strong>t, wird <strong>in</strong> diesemAnsatz wird die eigentliche Struktur <strong>de</strong>s Frames geän<strong>de</strong>rt. Die Subframes wer<strong>de</strong>n nun zu”unabhängigen” Frames erweitert, <strong>in</strong><strong>de</strong>m je<strong>de</strong>r Subframe um e<strong>in</strong>e Establish und e<strong>in</strong>eRelease Phase erweitert wird. Das führt dazu, dass je<strong>de</strong>r Subframe <strong>de</strong>s e<strong>in</strong>gehen<strong>de</strong>nProtokolls nun e<strong>in</strong>e Input Stage darstellt (siehe Abbildung 3.8).37