Digitale Hardware/ Software-Systeme- P18 pot

30 219 0
Digitale Hardware/ Software-Systeme- P18 pot

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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

Ngày đăng: 02/07/2014, 14:20

Mục lục

    ISBN 978-3-642-05355-9

    1.2.2 Das Doppeldachmodell des Entwurfsprozesses

    1.2.3 Das Doppeldachmodell des Verifikationsprozesses

    1.3 Eine kurze Geschichte der Verifikation

    2.1 Wie spezifiziert man ein System?

    2.4 Formale Spezifikation funktionaler Anforderungen

    2.5 Formale Spezifikation nichtfunktionaler Anforderungen

    3.1 Verifikationsaufgabe, -ziel und -methode

    3.3 Gesteuerte zufällige Simulation

    4.1.3 Reduktion und Normalisierung von TEDs

Tài liệu cùng người dùng

Tài liệu liên quan