Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
335,23 KB
Nội dung
504 8 Systemverifikation periodischen Ereignisstrom darstellen. Allerdings kann durch Pufferung und peri- odische Wiedergabe von Ereignissen eine rein periodischer Ereignisstrom aus einem periodischen Ereignisstrom mit Jitter konstruiert werden. Hierzu ist die Ermittlung der Ereignisadaptierungsfunktion (EAF) notwendig (siehe Abb. 8.29c)). Die Ermitt- lung der EAF erfolgt auf Basis des Ereignismodells f ¨ ur den Ausgabeereignisstrom und dem Ereignismodell f ¨ ur den Eingabeereignisstrom. F ¨ ur das Beispiel aus Abb. 8.29c) (X =(P X ,J X ) und Y =(P Y )) kann ein Puffer der Gr ¨ oße n EAF := 1 verwendet werden und die Periode P Y auf P X gesetzt werden. Die Verz ¨ ogerungszeit eines Ereignisses betr ¨ agt dann d + EAF = P X Zeiteinheiten. Etwas komplizierter ist der Fall f ¨ ur die Umwandlung eines periodischen Ereignisstroms mit Bursts (X =(P X ,d X ,b X )) in einen rein periodischen Ereignisstrom (Y =(P Y )). Mit dem Wissen, dass maximal b X Ereignisse in einer Zeitspanne von P X Zeiteinheiten auftreten k ¨ onnen, kann P Y zu P Y := P X b X bestimmt werden. Die maximale Verz ¨ ogerung eines Ereignisses betr ¨ agt: d + EAF = P X − (b X − 1) · d X (8.4) Dies wird anhand eines Beispiels aus [378] verdeutlicht: Beispiel 8.2.5. Gegeben ist das Ereignismodell eines periodischen Ausgabeereig- nisstroms mit Periode P X und minimaler Ankunftszeit d X . Die maximale Anzahl an Ereignissen in einer Periode P X ist b X := 5. Hieraus ergibt sich die Periode P Y zu P Y = P X 5 . Abbildung 8.31 zeigt die maximale Verz ¨ ogerung eines Ereignisses als grauen Kasten. Diese ergibt sich f ¨ ur das letzte Ereignis eines Bursts. τ 0 Y X d X P Y 2P Y 3P Y 5P Y = P X Abb. 8.31. Maximale Verz ¨ ogerungszeit f ¨ ur ein Ereignis Da die Ereignisse periodisch aus dem Puffer entnommen werden, l ¨ asst sich die ma- ximale Anzahl n + EAF an Ereignissen in dem Puffer bestimmen zu: n + EAF = d + EAF P Y = P X − (b X − 1) · d X P X b X = b X − b x · (b x − 1) · d X P X (8.5) F ¨ ur die Umwandlung von Ereignisstr ¨ omen mit Adaptierung aus Abb. 8.30 sind die Puffergr ¨ oßen n EAF , die Perioden P EAF und die maximalen Verz ¨ ogerungszeiten 8.2 Zeitanalyse auf Systemebene 505 d + EAF f ¨ ur die jeweiligen Ereignisadaptierungsfunktionen sowie die Ereignismodell- schnittstelle in Tabelle 8.2 angegeben. Man erkennt, dass die Ereignisadaptierungs- funktion lediglich von dem Ausgabeereignisstrom X abh ¨ angt, was an der Verwen- dung periodischer Adpatierungsfunktionen liegt. Tabelle 8.2. Ereignisadaptierungsfunktionen und Ereignismodellschnittstellen f ¨ ur die Um- wandlung von Ereignisstr ¨ omen mit Adaptierung nach Abb. 8.30 [378] X → Y EMIF X→Y P EAF n EAF d + EAF (P X ,J X ) → (P Y ) P Y := P EAF P X 1 P X (P X ,J X ) → (P Y ,d Y ,b Y ) P Y := P EAF ,d Y := P Y ,b Y := 1 P X 1 P X (P Y ,d Y ,b Y ) → (P Y ) P Y := P EAF P X b X Glg. (8.5) Glg. (8.4) (P Y ,d Y ,b Y ) → (P Y ,J Y ) P Y := P EAF ,J Y := 0 P X b X Glg. (8.5) Glg. (8.4) Analysemethode Auf Basis der Kopplung von Ereignisstr ¨ omen lassen sich nun Echtzeitanalyseans ¨ atze miteinander kombinieren. Dies wird anhand eines Beispiels aus [380] veranschau- licht. Beispiel 8.2.6. Gegeben ist das System in Abb. 8.32. Das System besteht aus zwei Komponenten CPU1 und CPU2, welche die Analysedom ¨ anen festlegen. Jeder der beiden Prozessoren f ¨ uhrt je zwei Prozesse aus, wobei die Aktivierungen der Prozesse p 1 und p 2 durch die Umgebung erfolgen. Der Prozess p 1 wird dabei mit einer Pe- riode P p 1 ,in := 40ms aktiviert. Prozess p 2 wird mit einer Periode von P p 2 ,in := 20ms aktiviert, wobei die Aktivierung einem Jitter J p 2 ,in := 5ms unterliegt. Die Prozes- se auf CPU1 werden mittels einer ratenmonotonen Ablaufplanung eingeplant. CPU2 verwendet ein Round-Robin-Ablaufplanungsverfahren, mit den Slotbreiten S(p 3 ) := 5ms und S(p 4 ) := 3ms.DieAusf ¨ uhrungszeiten (BCET und WCET) der Prozesse sind gegeben zu: δ (p 1 ) :=[15ms,17ms], δ (p 2 ) :=[8ms,11ms], δ (p 3 ) :=[10ms,11ms] und δ (p 4 ) :=[3ms,5ms]. Im Folgenden soll die Ende-zu-Ende-Latenz von der Ak- tivierung des Prozesses p 1 bis zur Beendigung des Prozesses p 3 bzw. von der Ak- tivierung des Prozesses p 2 bis zur Beendigung des Prozesses p 4 bestimmt werden. Die Echtzeitanalysemethoden f ¨ ur CPU1 und CPU2 setzen voraus, dass CPU1 le- diglich rein periodische Eingabeereignisstr ¨ ome erh ¨ alt. Als Ausgabe werden periodi- sche Ereignisstr ¨ ome mit Jitter erzeugt. CPU2 ben ¨ otigt sporadische Ereignismodelle und erzeugt als Analyseergebnisse ebenfalls sporadische Ereignismodelle. F ¨ ur die Analyse m ¨ ussen zun ¨ achst die Ereignisstr ¨ ome gekoppelt werden. Hierzu wird am Ein- gang von CPU1 zum Prozess p 2 eine Ereignisadaptierungsfunktion (EAF) ben ¨ otigt, da die Umgebung ein periodisches Ereignismodell mit Jitter zur Verf ¨ ugung stellt, die Analysemethode jedoch ein rein periodisches Ereignismodell voraussetzt. Zur Kopp- lung der Ereignisstr ¨ ome zwischen den Prozessen p 1 und p 3 bzw. p 2 und p 4 k ¨ onnen 506 8 Systemverifikation p 1 p 2 Umgebung p 3 p 4 ? ? ? ? CPU1 CPU2 (d)(d) (P, J)(P) (P)(P) (P, J)(P, J) (d)(d) Abb. 8.32. Kopplung der Echtzeitanalysemethoden [380] Ereignismodellschnittstellen (EMIFs) nach Tabelle 8.1 zum Einsatz kommen. Das Ergebnis ist in Abb. 8.33 zu sehen. Man sieht, dass die EAFs und EMIFs als weitere Komponenten im Analysemodell auftreten. p 1 p 2 p 3 p 4 CPU2CPU1 Umgebung EAF (d)(d) (d)(d) (d)(d) EMIF (P, J)(P) (P, J) (P) (P)(P) (P, J)(P, J) (P, J)(P, J) Abb. 8.33. Kopplung der Ereignisstr ¨ ome [380] F ¨ ur die EAF ergibt sich nach Tabelle 8.2, dass ein Puffer der Gr ¨ oße n EAF = 1 verwendet und mit der Periode P p 2 ,in betrieben werden kann. Nun kann die CPU1 analysiert werden. Durch die Antwortzeitanalyse (siehe Gleichung (7.21) auf Sei- te 446) ergibt sich, dass die Antwortzeiten τ F (p 1 ) und τ F (p 2 ) der Prozesse p 1 bzw. p 2 wie folgt gegeben sind: τ F (p 1 )=[31ms,39ms] τ F (p 2 )=[8ms,11ms] Diese Zeiten lassen sich wie folgt erkl ¨ aren. Aufgrund der geringeren Periode be- sitzt Prozess p 2 in der ratenmonotonen Ablaufplanung die h ¨ ohere Priorit ¨ at. F ¨ ur die Zeitanalyse wird der Fall betrachtet, dass beide Prozesse die selbe Phase besitzen, also gleichzeitig aktiviert werden. Aufgrund der h ¨ oheren Priorit ¨ at wird p 2 zuerst ausgef ¨ uhrt. Die Antwortzeit ergibt sich gem ¨ aß der Ausf ¨ uhrungszeit des Prozesses. Nach Beendigung der Ausf ¨ uhrung von p 2 kann Prozess p 1 gestartet werden. Die- ser wird allerdings durch die n ¨ achste Aktivierung von p 2 unterbrochen. Aus diesen Antwortzeiten lassen sich die Ausgabeereignisstr ¨ ome ableiten: 8.2 Zeitanalyse auf Systemebene 507 P p 1 ,out = 40ms J p 1 ,out = τ + F (p 1 ) − τ − F (p 1 )=8ms P p 2 ,out = 20ms J p 2 ,out = τ + F (p 2 ) − τ − F (p 2 )=3ms Dabei bezeichnen τ + F und τ − F die obere bzw. untere Schranke einer Antwortzeit. Die- se Ausgabeereignisstr ¨ ome m ¨ ussen nun an die erwarteten Eingabeereignisstr ¨ ome von CPU2 angepasst werden. Da in diesem Fall keine Adaptierung der Ereignisstr ¨ ome erfolgen muss, k ¨ onnen die Umwandlungen aus Tabelle 8.1 direkt verwendet werden. Die Eingabeereignisstr ¨ ome ergeben sich dann zu: d p 3 ,in = P p 1 ,out − J p 1 ,out = 32ms d p 4 ,in = P p 2 ,out − J p 2 ,out = 17ms Die Echtzeitanalyse auf CPU2 f ¨ uhrt zu folgenden Antwortzeiten [380] (siehe auch Gleichung (7.22) auf Seite 447): τ F (p 3 )=[13ms,20ms] τ F (p 4 )=[3ms,15ms] Der jeweils beste Fall ergibt sich, wenn der betreffende Prozess zuerst geplant wird und dieser die BCET zur Ausf ¨ uhrung ben ¨ otigt. Der schlechteste Fall ergibt sich, wenn jeweils der andere Prozess zuerst geplant wird und beide Prozesse die WCET zur Ausf ¨ uhrung ben ¨ otigen. Abschließend k ¨ onnen nun die gesuchten Ende-zu-Ende-Latenzen Λ bestimmt werden, indem entsprechend der Ereignisstromkopplung die Ergebnisse zusammen- gefasst werden. Es ergibt sich somit: Λ (p 1 → p 3 )= τ F (p 1 )+ τ F (p 3 )=[44ms, 59ms] Λ (p 2 → p 4 )= τ F (p 2 )+ τ F (p 4 )=[11ms, 26ms] Die kompositionale Zeitanalyse l ¨ asst sich somit durch folgende Schritte beschrei- ben: 1. W ¨ ahle eine Komponente als Analysedom ¨ ane, f ¨ ur die alle Eingabeereignisstr ¨ ome bekannt sind. 2. W ¨ ahle eine Echtzeitanalysemethode f ¨ ur diese Analysedom ¨ ane. 3. Falls notwendig, passe Eingabeereignisstr ¨ ome mittels EMIFs bzw. EAFs an. 4. Bestimme die Antwortzeiten der Prozesse in der Analysedom ¨ ane sowie die Aus- gabeereignisstr ¨ ome. 5. Wiederhole Schritte 1 bis 5 bis alle Prozesse analysiert sind. Behandlung zyklischer Abh ¨ angigkeiten Bisher wurde lediglich die Analyse von Prozessketten beschrieben, wobei die Ana- lyse keine zyklischen Abh ¨ angigkeiten enthielt. Im Allgemeinen kann die Analyse allerdings zyklische Abh ¨ angigkeiten enthalten, wie das folgende Beispiel aus [380] zeigt. 508 8 Systemverifikation Beispiel 8.2.7. Abbildung 8.34 zeigt wiederum ein System mit zwei Prozessoren mit je zwei Prozessen. Beide Prozessoren verwenden eine pr ¨ aemptive priorit ¨ atsbasierte Ablaufplanung. Auf CPU1 hat Prozess p 1 die h ¨ ohere Priorit ¨ at, auf CPU2 hat Prozess p 4 die h ¨ ohere Priorit ¨ at. Umgebung CPU1 p 2 p 1 Umgebung p 3 p 4 CPU2 (P) (P) Abb. 8.34. Zyklische Abh ¨ angigkeiten in der Zeitanalyse [380] Die zyklische Abh ¨ angigkeit ergibt sich folgendermaßen: Prozess p 2 aktiviert Prozess p 4 , der wiederum Prozess p 3 in der Ausf ¨ uhrung unterbrechen kann. Die Ausf ¨ uhrung von Prozess p 3 aktiviert den Prozess p 1 , der seinerseits Prozess p 2 un- terbrechen kann. Man beachte bei diesem Beispiel, dass die Anwendung selbst keine zyklischen Abh ¨ angigkeiten enth ¨ alt. Diese ergeben sich erst durch die Ressourcenwiederverwen- dung, die in der Zeitanalyse ber ¨ ucksichtigt werden muss. Die Zeitanalyse von Systemen mit zyklischen Abh ¨ angigkeiten erfolgt als Fix- punktberechnung, indem eine Iteration ¨ uber die Berechnung von Ereignisstr ¨ omen solange durchgef ¨ uhrt wird, bis sich kein Ereignisstrom im System mehr ¨ andert. 8.2.3 Modulare Zeitanalyse mit RTC Im Folgenden wird eine weitere formale Methode, die als modulare Zeitanalyse be- zeichnet wird, vorgestellt. Diese basiert auf dem sog. Echtzeitkalk ¨ ul (engl. Real Time Calculus, RTC), einer Erweiterung des Netzwerkkalk ¨ uls.Zun ¨ achst wird die modula- re Zeitanalyse f ¨ ur Netzwerkprozessoren vorgestellt. Anschließend wird die Anwen- dung der modularen Zeitanalyse f ¨ ur zyklische markierte Graphen pr ¨ asentiert. Das Echtzeitkalk ¨ ul Das Netzwerkkalk ¨ ul ist eine formale Methode, um Zeiteigenschaften in Netzwerken zu analysieren. Dabei werden die Beschr ¨ ankungen, die beim Transport der Pake- te durch beschr ¨ ankte Kapazit ¨ aten der Verbindungen und andere Kommunikationss- tr ¨ ome auftreten, ber ¨ ucksichtigt. Die Analyse basiert dabei auf Faltungsopertation i n Max-Plus-Algebra. Das Echtzeitkalk ¨ ul erweitert das Netzwerkkalk ¨ ul im Wesentli- chen um Aspekte der dynamischen Ablaufplanung in Echtzeitsystemen. Mit dem Echtzeitkalk ¨ ul lassen sich somit Echtzeitsysteme, die verteilt z. B. als Mehrprozes- sorsystem implementiert wurden, analysieren. 8.2 Zeitanalyse auf Systemebene 509 Beispiel 8.2.8. Gegeben ist der Netzwerkprozessor in Abb. 8.35, bestehend aus zwei Prozessorkernen (DSP, ARM), zwei Hardware-Beschleunigern (CheckSum, Cipher) und einem Bus. Die Prozessbindung und die Kommunikation zwischen Prozessen ist ebenfalls in Abb. 8.35 gegeben. Die Anwendung beschreibt die Schritte zur Ent- schl ¨ usselung eines Datenstroms als Kette aus elf Aktoren. a 0 : Verify IP Header a 1 : Process IP Header a 2 : Classify a 3 : Decrypt a 8 : Calc Check Sum a 9 : ARP Look Up a 10 : Schedule ARM Cipher DSPCheckSum Bus a 5 : ESP Decaps a 6 : Route Look Up a 7 : IP Header Modify a 4 : AH Verify a 5 a 6 a 3 a 4 a 1 a 7 a 2 a 0 a 8 a 9 a 10 Abb. 8.35. Paketverarbeitung in einem Netzwerkprozessor [429] F ¨ ur die Zeitanalyse muss bekannt sein, wie viele Datenpakete jeder Prozess zu verarbeiten hat. Dabei wird von der tats ¨ achlichen Anzahl abstrahiert und, mit Hilfe sog. Ankunftskennlinien, die minimale und maximale Anzahl an Aktivierungen eines Prozesses pro Zeitintervall Δ angeben, beschrieben. Definition 8.2.1 (Ankunftskennlinie). Eine untere bzw. obere Ankunftskennlinie α l und α u bilden ein positives Zeitintervall Δ ∈ T auf die minimale bzw. maximale Anzahl an Aktivierungen eines Prozesses im Zeitintervall Δ ab, d. h. α l,u : T → R ≥0 . In Definition 8.2.1 beschreibt T alle m ¨ oglichen Zeitpunkte. Im Folgenden wird ange- nommen, dass T := R ≥0 ist. Die Schranken der Aktivierungen werden als kontinu- ierliche Gr ¨ oße dargestellt. Der Fall, dass die Aktivierungen nur als diskrete Gr ¨ oßen auftreten, ist darin enthalten. Die Ankunftskennlinien k ¨ onnen beispielsweise aus Simulationstraces gewonnen werden, indem ein Fenster der Gr ¨ oße Δ ¨ uber dem Trace verschoben wird, und die mi- nimale und maximale Anzahl an Aktivierungen eines Prozesses in diesem Zeitfenster auf dem Trace bestimmt wird. Manchmal lassen sich die Ankunftskennlinien auch 510 8 Systemverifikation aus der Spezifikation konstruieren. Treten beispielsweise Aktivierungen mit einem bekannten Muster auf, so kann dieses Muster in die minimale und maximale An- kunftskennlinie transformiert werden. Ein Beispiel f ¨ ur solche Spezifikationen sind die im vorherigen Abschnitt eingef ¨ uhrten Ereignisstr ¨ ome. Dabei wird jedes Ereignis als Aktivierung eines Prozesses interpretiert. F ¨ ur die in Abb. 8.27 auf Seite 500 ein- gef ¨ uhrten Ereignisstr ¨ ome sind die Ankunftskennlinien in Abb. 8.36 dargestellt. Die unteren Ankunftskennlinien sind gestrichelt gezeichnet. 1 2 3 4 c) periodisch mit Bursts d 1 2 3 4 a) periodisch 1 2 3 4 b) periodisch mit Jitter ΔΔΔ 2P + J 2PP 2P − J 2P P + J P P −J 2PP α l , α u α l , α u α l , α u Abb. 8.36. Ankunftskennlinien f ¨ ur die Ereignisstr ¨ ome aus Abb. 8.27 [435] Neben der Modellierung der Prozesse m ¨ ussen ebenfalls die Ressourcen in der Architektur modelliert werden. Hierzu z ¨ ahlen die Prozessoren und die Hardware- Beschleuniger, aber auch die Busse. Die M ¨ oglichkeiten Berechnungen oder Kommu- nikationen durchzuf ¨ uhren, werden im Echtzeitkalk ¨ ul mittels sog. Servicekennlinien beschrieben. Definition 8.2.2 (Servicekennlinie). Eine untere bzw. obere Servicekennlinie β l und β u bilden ein positives Zeitintervall Δ ∈ T auf die minimal bzw. maximal verf ¨ ugbare Rechenzeit einer Ressourcen in jedem Zeitintervall der Gr ¨ oße Δ ab. Es gilt β l (0)= β u (0) := 0 und ∀ τ > 0, Δ > 0: β l ( Δ ) ≤ c( τ + Δ ) −c( τ ) ≤ β u ( Δ ), wobei c( τ ) die bis zum Zeitpunkt τ kumulative verf ¨ ugbare Rechenzeit darstellt. Dies bedeutet, dass jede Servicefunktion, die innerhalb der unteren β l und obe- ren Servicekennlinie β u liegt, durch β l und β u charakterisiert werden kann. Ab- bildung 8.37 zeigt die Servicekennlinien einer TDMA-Ablaufplanung. Die untere Servicekennlinie ist dabei gestrichelt gezeichnet. Durch Ausf ¨ uhrung eines Prozesses wird die Servicekennlinie ver ¨ andert, da nach Ausf ¨ uhrung des Prozesses weniger Rechenkapazit ¨ at zur Verf ¨ ugung steht als vorher. Um die ¨ Anderung allerdings bestimmen zu k ¨ onnen, m ¨ ussen die Ankunftskennlinien modifiziert werden. Dies ist notwendig, da die Ankunftskennlinien α l und α u die 8.2 Zeitanalyse auf Systemebene 511 τ d Bandbreite b β l , β u b · d 2 · b · d 3 · b · d d Δ 3 · P2 ·PP − d P Abb. 8.37. Servicekennlinie einer TDMA-Ablaufplanung [435] minimalen und maximalen Aktivierungen eines Prozesses angeben. Diese m ¨ ussen zun ¨ achst in eine Rechenlast umgerechnet werden. Sei w die Rechenlast pro Aktivierung eines Prozesses, so k ¨ onnen die Schran- ken an die Rechenlast, verursacht durch diesen Prozess, berechnet werden. Diese Schranken werden wiederum als Ankunftskennlinien beschrieben. Sei [ α l , α u ] ein Intervall, das die Anzahl der Aktivierungen eines Prozesses beschr ¨ ankt. Dann kann die Rechenlast durch diesen Prozess mit Ausf ¨ uhrungszeit w wie folgt beschr ¨ ankt werden: [ α l , α u ] :=[w · α l ,w · α u ] (8.6) Mit den Ankunftskennlinien α l und α u f ¨ ur einen Prozess sowie den Service- kennlinien β l und β u einer Ressource lassen sich die Schranke β l und β u f ¨ ur die verbleibende Rechenzeit der Ressource bestimmen, wenn der Prozess auf der Res- source ausgef ¨ uhrt wird [430]: β l ( Δ ) := sup 0≤ λ ≤ Δ { β l ( λ ) − α u ( Δ )} (8.7) β u ( Δ ) := sup 0≤ λ ≤ Δ { β u ( λ ) − α l ( Δ )} (8.8) Das Supremum (auch obere Schranke) bezeichnet das kleinste Element, das gr ¨ oßer oder gr ¨ oßer gleich allen Elementen der gegeben Menge ist. Weiterhin k ¨ onnen die Ankunftskennlinie α l und α u f ¨ ur die Prozessausf ¨ uhrung auf einer Ressource mit Servicekennlinien β l und β u bei Aktivierung des Prozesses mit Ankunftskennlinien α l und α u bestimmt werden [430]: α l ( Δ ) := inf 0≤ λ ≤ Δ { α l ( λ )+ β l ( Δ − λ )} (8.9) α u ( Δ ) := inf 0≤ λ ≤ Δ {sup ν ≥0 { α u ( λ + ν ) − β l ( ν )} + β u ( Δ − λ ), β u ( Δ )} (8.10) Das Infimum (auch untere Grenze) ist das gr ¨ oßte Element, dass kleiner oder kleiner gleich allen Elementen der gegeben Menge ist. 512 8 Systemverifikation Um aus den Ankunftskennlinien f ¨ ur die Prozessausf ¨ uhrung wieder in Ankunfts- kennlinien f ¨ ur die Aktivierung eines datenabh ¨ angigen Prozesses umzuwandeln, kann f ¨ ur jedes Intervall [ α l , α u ] ein Intervall der folgenden Form berechnet werden: [ α l , α u ] := α l w , α u w (8.11) In Abb. 8.38 ist die Transformation der Ankunfts- und Servicekennlinien gra- phisch als Blockdiagramm dargestellt. Durch Verschalten dieser Bl ¨ ocke mit weite- ren Bl ¨ ocken k ¨ onnen, z. B. durch die Ankunftskennlinien, weitere Prozesse aktiviert bzw. die verbleibende Rechenleistung einer Ressource f ¨ ur andere Prozesse verwen- det werden. Durch die Verschaltung entsteht ein sog. Zeitbewertungsnetzwerk,wel- ches zur Bestimmung der erreichbaren Latenzen verwendet werden kann. Glg. (8.11)Glg. (8.6) [ β l , β u ] [ β l , β u ] Glgn. (8.7)–(8.10)[ α l , α u ][ α l , α u ] Abb. 8.38. Transformation der Ankunfts- und Servicekennlinien [429] Beispiel 8.2.9. Zur Analyse des Zeitverhaltens zweier Prozesse auf einem einzelnen Prozessor, die mittels statischer Priorit ¨ aten pr ¨ aemptiv und dynamisch geplant wer- den, kann das in Abb. 8.39 dargestellte Zeitbewertungsnetzwerk verwendet werden. Die verf ¨ ugbare Rechenzeit des Prozessors im Idle-Zustand ist durch die Servicekenn- linien β l und β u beschr ¨ ankt. Die Ankunftskennlinien α l 0 und α u 0 sowie α l 1 und α u 1 beschreiben die Aktivierungen der beiden Prozesse. Prozess 0 hat die h ¨ ohere Prio- rit ¨ at. Man sieht, dass die verbleibende Rechenzeit, beschr ¨ ankt durch β l und β u , dem Prozess 1 zur Verf ¨ ugung gestellt wird. Durch die Verschaltung der einzelnen Bl ¨ ocke kann das Zeitbewertungsnetzwerk St ¨ uck f ¨ ur St ¨ uck aus Teilsystemen (Modulen) zusammengesetzt werden, weshalb die- se Analysemethode als modulare Zeitanalyse bezeichnet wird. Bestimmung der maximalen Latenzen und des maximalen Backlogs Mit einem Zeitbewertungsnetzwerk ist es nun m ¨ oglich, die Latenz, aber auch den Backlog in Netzwerkprozessoren zu beschr ¨ anken. Bei der Latenz handelt es sich um die maximale Ende-Zu-Ende-Latenz eines Datenpakets, dass durch den Netzwerk- prozessor verarbeitet wird. Der Backlog gibt den maximalen Speicherbedarf eines 8.2 Zeitanalyse auf Systemebene 513 Glg. (8.11)Glg. (8.6) Glgn. (8.7)–(8.10) [ β l , β u ] Glg. (8.11)Glg. (8.6) Glgn. (8.7)–(8.10) [ β l , β u ] [ β l , β u ] [ α 0 l , α 0 u ] [ α 1 l , α 1 u ][ α 1 l , α 1 u ] [ α 0 l , α 0 u ] Abb. 8.39. Pr ¨ aemptive Ablaufplanung mit statischen Priorit ¨ aten [429] Datenstroms im Netzwerkprozessor an. Mit Ergebnissen des Netzwerkkalk ¨ uls las- sen sich die Latenz Λ und der Backlog Ω wie folgt beschr ¨ anken: Λ := sup λ ≥0 {inf{ τ ≥ 0: α u ( λ ) ≤ β l ( λ + τ )} (8.12) Ω := sup λ ≥0 { α u ( λ ) − β l ( λ )} (8.13) Somit ist die maximale Latenz durch den maximalen horizontalen Abstand, und der maximale Backlog durch den maximalen vertikalen Abstand zwischen α u und β l beschr ¨ ankt. Zur Bestimmung der Werte durch Gleichung (8.12) und (8.13) muss zun ¨ achst ge- kl ¨ art werden, welches α u und welches β l zu verwenden ist. F ¨ ur die Ankunftskenn- linie ist der Fall klar: α u ist die obere Ankunftskennlinie f ¨ ur den ersten Prozess in der Verarbeitungskette, da diese Aktivierung durch die Umgebung begrenzt ist, d. h. durch die Anzahl der zu verarbeitenden Pakete. Bei der Rechenzeitbeschr ¨ ankung handelt es sich um die kumulierte Rechenzeitbeschr ¨ ankung entlang der Kette von Prozessen, die ein Datenpaket bearbeiten. Seien β l 0 , β l 1 , , β l m −1 die unteren Ser- vicekennlinien der Ressourcen entlang des Verarbeitungspfads, dann l ¨ asst sich die kumulierte Servicekennlinie β l durch sukzessive Faltung berechnen: β l 0 := β l 0 β l i+1 := inf 0≤ λ ≤ Δ { β l i + β l i+1 ( Δ − λ )}∀i ≥ 1 (8.14) β l := β l m Beispiel 8.2.10. Das Zeitbewertungsnetzwerk f ¨ ur die Entschl ¨ usselung eines Daten- stroms auf dem Netzwerkprozessor in Abb. 8.35 auf Seite 509 ist in Abb. 8.40 zu [...]... gleich S ist Eine Partition einer Menge S ist eine ¨ Uberdeckung von S durch disjunkte Teilmengen, sog Partitionsbl¨ cke Die Meno ge aller Teilmengen einer Menge S wird als Potenzmenge 2S bezeichnet Die leere Menge ∅ ist Element der Potenzmenge jeder beliebigen Menge S, d h ∅ ∈ 2S Die Menge der reellen Zahlen wird mit R, die Menge der rationalen Zahlen mit Q, die Menge der ganzen Zahlen mit Z und die... {0}) und Sn das nfache kartesische Produkt von S Das kartesische Produkt zweier Mengen A und B, bezeichnet mit A × B, ist die Menge von Paaren (a, b), wobei a ∈ A und b ∈ B gilt C Haubelt, J Teich, Digitale Hardware/Software-Systeme, eXamen.press, DOI 10.1007/978-3-642-05356-6, c Springer-Verlag Berlin Heidelberg 2010 524 A Notation A.2 Relationen und Funktionen Eine Relation R zwischen zwei Mengen A... Summe der Gewichte der Kanten eines Pfades als Pfadgewicht B Bin¨ re Entscheidungsdiagramme a Entscheidungsdiagramme (engl Decision Diagram, DD) sind wichtige Datenstrukturen bei der Verifikation digitaler Hardware/Software-Systeme In diesem Kapitel werden die Grundlagen dieser Funktionsrepr¨ sentationen vorgestellt a B.1 Entscheidungsdiagramme Entscheidungsdiagramme sind Datenstrukturen f¨ r die Repr¨ . Partitionsbl ¨ ocke. Die Men- ge aller Teilmengen einer Menge S wird als Potenzmenge 2 S bezeichnet. Die leere Menge ∅ ist Element der Potenzmenge jeder beliebigen Menge S,d.h.∅∈2 S . Die Menge der reellen. mit A ×B, ist die Menge von Paaren (a, b), wobei a ∈ A und b ∈ B gilt. C. Haubelt, J. Teich, Digitale Hardware/Software-Systeme, eXamen.press, DOI 10.1007/978-3-642-05356-6, c Springer-Verlag