13. Analýza činnosti procesorů a sběrnic Analýza běhu mikroprocesoru, interpretace a dostupnost dat Měření na paralelních sběrnicích, časová a stavová analýza Měření na sériových rozhraních ISO / OSI model volba vhodného přístroje pro jednotlivé protokolové vrstvy a jeho režimu 14. Šíření signálu vedením, základy reflektometrie Frekvenční spektrum číslicového signálu Zjednodušený výklad šíření signálu po vedení, primární a sekundární parametry bezeztrátového vedení Definice činitele odrazu, mezní případy Triviální případy chování přizpůsobených a nepřizpůsobených vedení Reflektometrické měření délky, princip, omezení X38MCO P13+P14
Analýza běhu mikroprocesoru Využití jak pro hledání příčin problémů hardware, tak k identifikaci příčin chyb programového vybavení Analyzátor v režimu stavové analýzy, sběrnice a stavové signály připojeny na datové vstupy, řídicí signály (např. RD* nebo WR*) využity jako hodinové Některé řídicí či stavové signály mohou být využity jako kvalifikátory Specielní programové vybavení disassembler zpětně rekonstruuje běh programu mikroprocesoru na základě naměřených dat Analyzátor je připojen k procesoru prostřednictvím specielního adaptéru X38MCO P13
Analýza činnosti mikroprocesoru Pokročilejší disassemblery dokáží importovat soubory obsahující symboly a informaci o umístění jednotlivých sekcí kódu v paměti Analyzátor je pak schopen využívat návěští a jména proměnných, definovaná programátorem o Snadnější orientace ve sledovaném programu o Nehrozí záměna v případě, kdy se v kódu programu vyskytují velmi podobné či totožné sekvence instrukcí X38MCO P13
Analýza činnosti mikroprocesorů V optimální variantě je k dispozici přímo náhled na zdrojový kód ve vyšším programovacím jazyce, procházení záznamu v assembleru je s ním synchronizováno X38MCO P13
Optimalizace programového vybavení Programové vybavení analyzátoru vyhodnocuje dobu běhu programu v předdefinovaných rozsazích adres Pokud tyto rozsahy odpovídají umístění jednotlivých funkcí v paměti, lze získat přehled o procesorové náročnosti jednotlivých podprogramů Optimalizaci má smysl provádět především v těch částech kódu, které jsou na procesorový čas nejnáročnější X38MCO P13
Meze využití log. analyzátoru pro analýzu činnosti mikroprocesoru Lze rekonstruovat pouze ty činnosti, které jsou jednoznačně svázány s vnějšími cykly sběrnice procesoru, pokud může procesor provádět instrukce (třebas jen některé), jež nejsou z vnějšku vidět, je možno jeho činnost analyzovat jen částečně nebo vůbec. Přenos dat mezi interními registry (interní datová paměť) v případě, kdy zdroj dat byl vně procesor (byla načtena a zpracována) je lze rekonstruovat (simulací činnosti procesoru) pokud je zdroj dat uvnitř procesoru (např. senzor teploty čipu), nemáme k nim přístup, pokud je program neukládá do externí datové paměti Zřetězené zpracování instrukcí (pipelining) procesor načítá i instrukce, které (vzhledem k následnému větvení programu) nevykoná lze poměrně snadno rozpoznat analýzou kódu a adres vykonávaných instrukcí Interní paměti cache (datové, instrukční) pokud program pracuje pouze v rámci interní paměti, není k datům (instrukcím) žádný přístup někdy jsou k dispozici externí stavové signály (pro trasování cache), na jejich základě lze po uložení cache paměti zpětně rekonstruovat činnost procesoru (zcela nebo jen částečně) Interní paměť programu Analyzátor nemá žádnou nebo jen minimální informaci o běhu programu, pro analýzu činnosti programového vybavení nelze využít X38MCO P13
Měření na paralelních sběrnicích (rozhraních) Pojem paralelní znamená, že data jsou mezi komunikujícími objekty přenášena současně po několika signálových linkách, typicky v násobcích osmi. Přenos je buď synchronní, tzn. platnost dat je odvozena od hodinového signálu generovaného vysílající stranou: nebo asynchronní, kdy je příslušná žádost o přenos dat generovaná jedním partnerem asynchronně potvrzena partnerem druhým: Základními sledované parametry jsou: časování signálů, tzn. měření předstihu a přesahu dat vůči aktivním hranám řídicích signálů, měření zpoždění mezi řídicími signály, ověření integrity signálů (glitche, jitter apod.) měříme v režimu časové analýzy log. analyzátoru, případně osciloskopem datový obsah přenosů (data, adresy, instrukce) měříme v režimu stavové analýzy X38MCO P13
Příklady paralelních sběrnic a rozhraní Běžně se setkáváme např. s paralelním rozhraním pro tiskárnu: 8 bitová data, 3 řídicí a několik stavových signálů asynchronní komunikace propojení dvou zařízení (typicky počítač a tiskárna), není adresace původně jednosměrná komunikace, postupně obousměrná časování cca 1 μs detaily v laboratorním cvičení Sběrnice PCI 32 (64) bitová multiplexovaná sběrnice synchronní komunikace s náběžnou hranou hodin přenos příkazu a adresy, poté dat obousměrná komunikace časování cca 30 (15) ns pracuje s odraženou vlnou (viz další přednáška) X38MCO P13
X38MCO P13 Měření na sériových sběrnicích a rozhraních Velká většina sériových komunikačních protokolů vychází nebo je lze interpretovat prostřednictvím ISO/OSI (Open Systems Interconnect) modelu, který definuje sedm vrstev protokolů tj. způsobu a parametrů komunikace. Jednotlivé vrstvy poskytují funkce a služby ve Aplikační vrstva vzestupném pořadí, tzn. základní a nejjednodušší vrstva fyzická, nejkomplexnější vrstva aplikační. Prezentační vrstva Správná funkce vyšší vrstvy je závislá na funkci všech vrstev nižších. Fyzická vrstva obvykle specifikuje (a tedy měříme) napětí pro jednotlivé logické úrovně, bitovou rychlost, rychlosti hran, typ přenosu (synchronní, asynchronní) a související kódování, maximální a minimální meze Relační vrstva Transportní vrstva Síťová vrstva jednotlivých parametrů apod. Typickým přístrojem pro měření v této vrstvě je osciloskop: měření s maskou měření jitteru Spojová vrstva Fyzická vrstva Spojová vrstva obvykle definuje formát (-y) spojového rámce a algoritmus přístupu k médiu. Na této vrstvě lze ještě využít osciloskop (podmínkou je velká paměť), častěji log. analyzátor buď v režimu časové analýzy nebo s hardwarovým rozšířením (v principu sério-paralelní převodník) v režimu stavové analýzy. Pro analýzu funkce vyšších vrstev protokolu se obvykle využívají specializované protokolové analyzátory, které jsou vybaveny příslušným rozhraním. Nedokáží však přímo analyzovat činnost nižších protokolových vrstev.
Frekvenční spektrum číslicového signálu Předpokládáme-li zjednodušený tvar číslicového signálu (lichoběžník) dle následujícího obrázku: f 1 = 1 t p f 2 1 = π. t r X38MCO P14
Bezeztrátové vedení Zjednodušené náhradní schéma bezeztrátového vedení vypadá následovně: Ztrátové prvky (prvky s reálnou složkou impedance, svod sériový odpor) zanedbáváme, hodnoty L a C jsou vztaženy na jednotku délky vedení, tedy např. nh/m nebo pf/m. Takovéto náhradní schéma lze použít pro krátká vedení (desítky cm až jednotky metrů), kde jsou impedance (resp. admitance) ztrátových prvků zanedbatelné. Potom platí: L' charakteristická impedance vedení je: Z 0 = [Ω], a jedná se o reálnou, frekvenčně C' nezávislou hodnotu doba průchodu signálu vedením jednotkové délky: τ = L'.C' [s/m] 1 zlomová frekvence: f = c 2. π. L'. C' [Hz] X38MCO P14
se skládá z vysílače, vedení a přijímače: Přenosová cesta Vlastní vedení se skládá jednak ze signálové linky, kterou teče proud směrem od vysílače k přijímači, jednak ze zpětné linky (obvykle zem), kterou se tentýž proud vrací. Tzn. parametry vedení jsou určeny oběma jeho částmi a nějaký zemní spoj rozhodně neposkytuje kvalitní zpětnou cestu vysokofrekvenčnímu proudu. Plocha smyčky mezi dopřednou a zpětnou linkou přímo ovlivňuje vyzařování rušení z vedení i citlivost vedení na rušení vyzařované jinými zdroji (proč se používá kroucená dvoulinka?). Platí jednoduché praktické pravidlo: je-li délka hran číslicového signálu kratší než dvojnásobek doby šíření signálu od vysílače k přijímači, je třeba se na signálovou cestu dívat jako na vedení se všemi důsledky, které z toho plynou. Příklad 1: kroucený dvoudrát, τ = 5 ns/m, t r = 2 ns L = t r /2τ = 0,2 m Příklad 2: sběrnicová linka na plošném spoji, τ = 20 ns/m, t r = 2 ns L = t r /2τ = 0,05 m X38MCO P14
Primární a sekundární parametry základních typů vedení L [nh/cm] C [pf/cm] Z [Ω] τ [ns/m] samostatný vodič (vzdálený od země) 20 0,06 600 ~ 4 vakuum μ 0 ε 0 370 3,3 kroucený dvoudrát 5-10 0,5-1 80-120 5 plochý kabel (prokládaný signál zem) 5-10 0,5-1 80-120 5 koaxiální kabel 2,5 1,0 50 5 signál na plošném spoji sběrnicový signál na plošném spoji 5-10 0,5 1,5 70-100 ~ 5 5-10 10-30 20-40 10-20 Všimněte si především rozdílu mezi jednotlivým a sběrnicovým signálem na desce plošných spojů. Ve kterém případě se budeme muset na spoj začít dříve dívat jako na vedení? X38MCO P14
Analýza odrazů na vedení analogie Vlna, pohybující se zleva doprava, narazí na konec vedení (stěnu), která pro ni představuje vysokou impedanci (vlna nemůže pokračovat dál). Dojde k odrazu a odražená vlna se vrací zpět. Co se stane se surfařem? X38MCO P14
Odraz na konci vedení, koeficient odrazu Přímá vlna generovaná výstupem budiče: Z U a = U0. R + Z 0 Vlna odražená na konci vedení: U = R Z r1 U a. ρb ρ b = R + Z Vlna odražená na počátku vedení: U = r U. R0 Z 2 r 1 ρa ρ a = R + Z 0 X38MCO P14 Ustálený stav: R U = U0. R + R 0
X38MCO P14 Odrazy na vedení Latticeův diagram
X38MCO P14 Jednoduché případy odrazů na vedení
X38MCO P14 Metody eliminace odrazů na vedení
X38MCO P14 Metody eliminace odrazů na vedení
Reflektometrická měření (TDR, Time Domain Reflectometry) Využívají odrazů signálu na vedení v místě impedančního skoku: nepřizpůsobený konec vedení přerušené vedení zkrat na vedení Princip spočívá ve vyslání krátkého impulsu do vedení a v detekci doby (případně i dalších parametrů) jeho návratu po odrazu v místě změny impedance skoku. Je-li známá rychlost šíření signálu daným vedením, lze snadno určit vzdálenost místa, kde došlo k odrazu: X38MCO P14 v.t l = 2, kde l je poloha místa impedanční změny v je rychlost šíření signálu vedením t je časový interval mezi odesláním impulsu a jeho návratem Rychlost šíření signálu vedením se někdy definuje pomocí tzv. činitele zkrácení, který udává poměr mezi rychlostí šíření signálů daným vedením a rychlostí šíření ve vakuu (c rychlost světla). Činitel zkrácení je tedy vždy <= 1. Snadno lze nalézt dvě principielní omezení této metody: puls musí být kratší než je doba, za níž se odraz vrátí zpět na počátek vedení puls musí být dostatečně široký, aby odraz nebyl útlumem vedení příliš potlačen