Uživatel:Fridrto1
Řádka 116: | Řádka 116: | ||
[[Soubor:Fairness_interval.png]] | [[Soubor:Fairness_interval.png]] | ||
− | |||
+ | Fairness protokol je založen na principu fairness intevralu. Fairness interval se skládá z jedné nebo více period aktivní sběrnice, oddělených krátkou mezerou zvanou ''subaction gap''. Vše je následovánou delší mezerou zvanou "arbitration reset gap". Na konci každe subaction mezery rozhodne arbitrace sběrnice jaký další uzel bude posílat asynchronní pakety. Tento koncept je zobrazen na obrázku. | ||
+ | Obecně platí, že přenosy jsou prováděny ve 125 us cyklech. Root vysílá indikační paket "Cycle_Start", který oznamuje, že začal cyklus, na všechny uzly na sběrnici. V zásadě jsou 2 rozdílné druhy arbitrace pro isoschornní a asynchronní přenos paketů. | ||
+ | |||
+ | Pokud jsou pouze asynchronní přenosy dat, vše je řízeno na základů "fair" plánování s prioritami. Po 20 us mezeře (bus idle time), začíná nová možnost přenosu dat. Pokud chce jeden uzlů hovořit, pošle přes ostaní uzly Rootu ''arbitration request''. Jestliže žádá víc uzlů ve stejném cyklu o možnost mluvit, vyhraje ten uzel, který je blíže Rootu. Pokud jsou oba uzly od rootu stejně daleko, tzn jsou oba dva branch (viz obrázek dřive) , potom vyhraje uzel, který má nejnižsí čislo portu v Rootu.(Root má jednotlivé porty, na kterých jsou dalši uzly, očíslovány.). Každý port může hovořit pouze jednou v průběhu daneého cyklu. Po 10 us mezerě se opět rozhoduje o ulzu, který bude moct hovořit. Tak to pokračuje, až do doby, než se vystřídají všechny uzly. Poté následuje 20 us mezera a začíná nové kolo rozhodování. | ||
Verze z 26. 11. 2011, 16:28
Obsah |
Shrnuti FireWire
FireWire (IEEE 1394) je sériová vysokorychlostní sběrnice, určená pro isochronní (rovnoměrný v čase) přenos dat v reálném čase. Používá se v poloprofesionální a profesionální audio a video technice, stejně tak jako v leteckém a automobilovém průmyslu. Standart, který definuju tuto sběrnici se u různých firem jmenuje jinak Apple(FireWire), Sony (i.LINK) a Texas Instruments (Lynx). FireWire bylo vyvíjeno se záměrem nahradit paralelni sběrnici SCSI. Ta umožnovala výměnu dat mezi interními nebo externími počitačovými zařízeními a počítačovou sběrnicí. Výhoda této sběrnice oproti ATA/ITE byla možnost připojení většího množství pevných disků, či jiných periferií.IEEE 1394 také definuje rozhraníbackplane, které se však v praxi moc neosvědčilo.
Topologie
Architektura sériové sběrnice je omezena počtem uzlů na jakékoliv sběrnici na 63 uzlů, které mohou mít topologii strom nebo Daisy-chain. Spojení mezi uzly jsou dvoubodová. Každý uzel má jeden a více portů. Uzly s více porty umožnují rozšíření topologie. Komunikace mezi uzly je point-to-point. To znamená, že když dostane víceportový uzel paket, obdrží ho, detekuje ho, resynchronizuje pomocí vlastních hodin a přepošle paket na další uzly. Obrázek znázorňuje typické PC které zahrnuje sériovou IEEE 1394 sběrnici připojenou k PCI sběrnici. Sériová sběrnice umožnuje vysokorychlostní přístup k PCI sběrnici periferním zařízením, které by jinak potřebovaly drahé sběrnice jako jsou PCI nebo SCSI. Configurace sběrnice se provádí dynamicky tak ja se nová zařízení připojují/odpojují. Konfigurační proces nevyžaduje zásah počítačového systému.
Sběrnicový bridge
Sběrnice podporuje vícenásobný sběrnicový systém přes sběrnicové můstky. Sběrnicový můstek "poslouchá" provoz na sběrnici a ignoruje jakoukoliv komunikaci mezi uzly na stejné sběrnici, ale pozorně tuto kominukaci "poslouchá". Když můstek obdrží adresu uzle, který není na stejné sběrnici předá paket sousední sběrnici. Ačkoliv sériové sběrnici mohou používat mnoho můstkových konfigurací, když se používá k přemostění Command and Status Registr (CSR) architektury očekává se hierarchie jak je znázorněna na obrázku.
Příklad hierarchické sběrnicové topologie, kde sběrnice #5 je seriová sběrnice a sběrnice #1-#4 jsou sběrnice kompatibilni s CSR architekturou
Architektura
vysvětlivky k obrázku PH znamená fyzická vrstva LK znamená linková vrstva TR znamená transakční vrstva SB znamená sériová sběrnice
CONT znamená kontrola BUS znamená sběrnice CLOCK znamená hodiny EVENT znamená událost
reg, ind, resp, conf znamená žádost, indikaci, odezvu a potvrzení
Protokol seriové sběrnice je rozdělen do 3 vrstev, jak ukazuje obrázek.Každá vrstva plní svou specifickou a nezaměnitelnou funkci.
Fyzická vrstva
Fyzikcá vrstva je jediná hmatatelná vrstva. Jsou to totiž fyzicky dráty. Má tři hlavní funkce:
1) Překládá logické symboly, používané linkovou vrstvou, na elektrické signály pro různá média na sběrnici. 2) Garantuje, že právě jeden uzel vysílá data. Dělá to pomocí arbitrace. 3) Definuje mechanické rozhrani sériové sběrnice
Stará se o resynchronizaci a opakování dat a také o automatickou inicializaci sběrnice. Primárně je tato vrstva určená k příjmu a přenosu bitů, arbitraci a stanoveni mechanických a elektrických interfaců. O rovný přistup všech uzlů ke sběrnici se stará právě arbitrace o ní později. Data jsou mezi jednotlivými uzly posílana "zakódována" pomoci data-strobe mechanismu.
Strobe
Během přenosu paketů po sběrnici může vysílat pouze jeden uzel na sběrnici a tak zařízení mohou pracovat v half-duplex[1] režimu používajíc 2 signály: Data a Strb. Data jsou vysíláná pomocí NRZ[2] kódováni a jsou doplňována Strb signálem, který změní svůj stav, vždy když jdou 2 po sobě bity se stejnou hodnotou (2x 1 nebo 2x 0). Nikdy však nedochází ke změně logické hodnoty v obou kanálech zárověň. Buď se mení data nebo Strb. Přidáním Strb kódu má tu výhodu, že se lehcé získá hodinový takt se slabým jittrem. A to tím, že použijeme funkci XOR[3]
Konfigurace sběrnice
Po připojení nebo odpojení nového zařízení se vždy provede reset. Reset je signalizován na všechny uzly pomocí arbitračních signálů. Poté následují 3 kroky rekonfigurace, nutné k tomu abych věděl kdo a kde se mi na sběrnici nachází. Inicializace sběrnice, identifikace uzlů na svěrnici a vlastní identifikace. Uzly jsou rozděleny do skupin: Branch a leaf. Těch může být mnoho, ale je pouze jeden root. Kdykoliv se uzel připojí ke sběrnici nastane nucený reset sběrnice a nastane speciální stav, kdy se smažou věškeré informace o topologii sběrnice a začne další fáze. Po inicializaci sběrnice, má uzel, ať je kdekoliv, jedinou dostupnou informaci a to jesli je branch (více než jeden přímo připojený soused), nebo leaf (pouze jeden soused), nebo je izolován (nepřipojen) Siť složená z branch a leaf je na obrazku.
Fair arbitration
Normální kabelové a backplaneové arbitrační metody zaručují, že pouze jeden uzel přenáší data na konci arbitrační periody. Tyto metody poskytují pouze striktní přednostní přístup. Uzel s vyšší přirozenou prioritou (nejvyšší arbitrační číslo, je blíže k rootu daneého kabelu), vždy vyhraje. Normální asynchronní arbitrace pro seriovou sběrnici přidává jednoduché schéma, které rovnoměrně rozděluje možnost přístupu na sběrnici mezi všechny uzly.
Fairness protokol je založen na principu fairness intevralu. Fairness interval se skládá z jedné nebo více period aktivní sběrnice, oddělených krátkou mezerou zvanou subaction gap. Vše je následovánou delší mezerou zvanou "arbitration reset gap". Na konci každe subaction mezery rozhodne arbitrace sběrnice jaký další uzel bude posílat asynchronní pakety. Tento koncept je zobrazen na obrázku.
Obecně platí, že přenosy jsou prováděny ve 125 us cyklech. Root vysílá indikační paket "Cycle_Start", který oznamuje, že začal cyklus, na všechny uzly na sběrnici. V zásadě jsou 2 rozdílné druhy arbitrace pro isoschornní a asynchronní přenos paketů.
Pokud jsou pouze asynchronní přenosy dat, vše je řízeno na základů "fair" plánování s prioritami. Po 20 us mezeře (bus idle time), začíná nová možnost přenosu dat. Pokud chce jeden uzlů hovořit, pošle přes ostaní uzly Rootu arbitration request. Jestliže žádá víc uzlů ve stejném cyklu o možnost mluvit, vyhraje ten uzel, který je blíže Rootu. Pokud jsou oba uzly od rootu stejně daleko, tzn jsou oba dva branch (viz obrázek dřive) , potom vyhraje uzel, který má nejnižsí čislo portu v Rootu.(Root má jednotlivé porty, na kterých jsou dalši uzly, očíslovány.). Každý port může hovořit pouze jednou v průběhu daneého cyklu. Po 10 us mezerě se opět rozhoduje o ulzu, který bude moct hovořit. Tak to pokračuje, až do doby, než se vystřídají všechny uzly. Poté následuje 20 us mezera a začíná nové kolo rozhodování.
Reference
FireWire:
www.jaycar.com.au/images.../firewire.pdf http://80.ieeexplore.ieee.org.dialog.cvut.cz/search/srchabstract.jsp?tp=&arnumber=730740&openedRefinements%3D*%26filter%3DAND%28NOT%284283010803%29%29%26searchField%3DSearch+All%26queryText%3Dfirewire http://shop.ieee.org/ieeestore/Product.aspx?product_no=SH94986
http://80.ieeexplore.ieee.org.dialog.cvut.cz/xpls/abs_all.jsp?arnumber=526693
http://80.ieeexplore.ieee.org.dialog.cvut.cz/stamp/stamp.jsp?tp=&arnumber=1146719
http://80.ieeexplore.ieee.org.dialog.cvut.cz/stamp/stamp.jsp?tp=&arnumber=1226130 -Performance of a firewire-Ethernet protocols conversion on an ARM7 embedded processor
ctrl -z pozastavi program
bg posle proces na pozadi
fg posle z pozadi do popredi
Prikazy:
xwininfo - zobrazi informace o okne do ktereho kliknu
sudo apt-get update; sudo apt-get -y install libx11-dev - pri zadani do terminalu nainstaluje balicek libx11-dev
sudo apt-get update; sudo apt-get -y install emacs
xwd|xwud - po zadani prikazu kliknu na okno a to se mi "zkopiruje"
xwd >soubor - zkopiruje mi to na co kliknu a vytvori z toho soubor
xwud<soubor - vyvolani toho co jsem ulozil
file soubor - vyhodi mi informace o tom vytvorenem souboru soubor
xterm -fn 12x24&
spustim okno 12x24
http://verydemotivational.files.wordpress.com/2010/03/fthatdogp1.jpg
Helca a SliTaz
Návrh tématu semestrální práce:FireWire
cast 1. http://www.imagehosting.cz/?v=helenka.jpg
cast2 http://www.imagehosting.cz/?v=helca.jpg
QMON
paralll enviroment
MPI na paralelni procesy
cat>soubor echo start sleep 20 echo konec
ctrl d
potom sh soubor
vytvorim program do souboru a pote spustim
chmod +x soubor vytvori spustitelny soubor
./soubor spusteni
qsub soubor vidim bezici proces v gmon job control