McuLab jediný zdroj v čipu jsou takty

Tohle je statická kopie kapitoly pro vyhledávače. Interaktivní verze má animované obrázky, kontrolní otázky a tlačítka, která příklad načtou do kalkulačky.

Co tenhle nástroj nepočítá, a zdroje

1.hodiny a PLLf/M × N / P2.časovačf_PWM · 2^b ≤ f_clk3.latence přerušeníΣ úseků4.priority a odezvaR = C + Σ⌈R/T⌉·C5.mez 69 %n(2^(1/n) − 1)6.DMAnastavení + sdílení7.rozpočet smyčkyf_clk / f_smyčky8.watchdogperioda × výpadky9.spánekvážený průměr10.zásobníkhloubka + přerušení11.měřenícena vs. měřenéjedenáct kapitol, jeden zdroj: taktyvšechno ostatní je jeho účetnictví
Jedenáct kapitol a vztah, na kterém každá stojí.

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.