Co tenhle nástroj nepočítá, a zdroje
Vědomá omezení
- WCET je vstup, ne výsledek. Nejhorší doba běhu úlohy se z modelu spočítat nedá — závisí na cache, větvení, zarovnání a na datech. Nástroj s ní počítá jako se zadáním a kapitola 11 říká, jak ji změřit.
- Rozvrh je bez blokování. Analýza odezvy počítá jen s přerušením vyššími prioritami. Sdílené prostředky (mutex, semafor) přidávají inverzi priorit, kterou by bylo potřeba modelovat protokolem dědění nebo stropu — a to je jiná úloha.
- Cache a čekací stavy flash jsou v modelu jen jako paušál v latenci. Skutečné zpomalení závisí na tom, kde kód leží, a mění se s každým překladem.
- Model DMA je hrubý. Sdílení sběrnice je jedno číslo; ve skutečnosti závisí na tom, který master sáhne do které paměti a jaká je arbitráž.
- Meze PLL jsou hodnoty typické pro rodinu STM32F4. U jiného čipu se liší a patří do katalogu, ne do hlavy.
- Spotřeba počítá s dvěma režimy a pevným proudem. Skutečný čip má režimů šest a proud závisí na napětí, teplotě i na tom, které periferie mají zapnuté hodiny.
Zdroje
- ARM Cortex-M4 Technical Reference Manual — latence přerušení, řetězení, uložení kontextu.
- STM32F407 Reference Manual a datasheet (ST) — PLL a jeho okna, časovače, režimy spotřeby, čekací stavy flash.
- Liu, C. L. a Layland, J. W.: Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment, JACM 20(1), 1973 — mez zatížení a optimalita rate monotonic.
- Joseph, M. a Pandya, P.: Finding Response Times in a Real-Time System, The Computer Journal 29(5), 1986 — rovnice doby odezvy.
Jak to navazuje
Odkud se bere těch 3,3 V, jak vypadá měnič a proč zrovna takový kondenzátor vedle čipu, je RegLab. Měď, po které to všechno teče, je PcbLab. A zpoždění, které tahle labka počítá v taktech, vidí ControlLab jako ztracenou fázovou bezpečnost — je to totéž číslo ve dvou jednotkách.
Jedna věta na závěr: mikrokontrolér má jediný zdroj, kterého je málo — takty. Časovač je dělí, přerušení je utrácí, DMA je nespotřebovává a smyčka se do nich buď vejde, nebo ne. Všechno ostatní v téhle labce je účetnictví jednoho čísla.