Uživatel:Fridrto1

Z HPM wiki
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
Řádka 1: Řádka 1:
 
=='''Shrnuti FireWire'''==
 
=='''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.
+
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'''==
 
=='''Topologie'''==
Řádka 67: Řádka 67:
 
Protokol seriové sběrnice je rozdělen do 3 vrstev, jak ukazuje obrázek.Každá vrstva plní svou specifickou a nezaměnitelnou funkci.
 
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'''===
+
=='''Fyzická vrstva'''==
  
 
Fyzikcá vrstva je jediná hmatatelná vrstva. Jsou to totiž fyzicky dráty. Má tři hlavní funkce:
 
Fyzikcá vrstva je jediná hmatatelná vrstva. Jsou to totiž fyzicky dráty. Má tři hlavní funkce:
Řádka 110: Řádka 110:
  
  
===='''Fair arbitration'''====
+
 
 +
 
 +
 
 +
===='''Identifikace uzlů'''====
 +
 
 +
Jak je psáno dřive. Po připojení/odpojení uzlu se provede reset sběrnice. následují dva kroky konfigurace.
 +
1. Tree identification - konfigurace sítě a její přeuspořádání na topologii stromu a určení Rootu
 +
2. Self identification - určení čísel jednotlivých uzlů
 +
 
 +
Tree identification
 +
 
 +
 
 +
===='''Arbitrace'''====
 +
 
 +
IEEE 1394 podporuje dva typy přenosu. Asynchronní a isochronní. Oba se mohou vysílat zároveň.
 +
 
 +
1. Asynchronní přenosový mód - umožňuje periodický přenos dat s garantovaným doručením. (potvrzují se ACK paketem - povtrzením o přijetí)
 +
    * Nemá zaručen přístup ke sběrnici v každém přenosovém cyklu.
 +
    * Maximálně 20% přenosové kapacity je určeno pro tento mód
 +
 
 +
2. Isochronní přenosový mód - doručování dat s konstatní přeonosovou rychlostí. Nepotvrzují se ACK paketem.
 +
    * Zaručen přenos v každém přenosovém cyklu.
 +
    * Až 80% přenosové kapacity je vyhrazeno pro isochronní pakety.
 +
 
 +
Jaký přenosový mód zvolíme je závíslí na povaze přenášených dat. Pokud chci streamovat video ze své videokamery na internet. Je vhodné si zvolit isochronní mód. Známe potřebnou šířku přenosového kanálu navíc data musí být zasílána v konstantních intevralech. Naopak pokud kopíruju data z CD na pevný disk určitě chci aby přijatá data byla potvrzována a já měl jistotu, že se přenesla všechna data. Proto se hodí asynchronní mód.
 +
 
 +
 
 
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.
 
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.
  
Řádka 122: Řádka 148:
 
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í.
 
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í.
  
 
+
S isochronními přenosy dat je to složitější. Isochronní přenos musí mít garantovanou šířku přenosového pásma. Každé kolo arbitrace trvá přibližně 125 us a tudíž i šířka pásma je rozdělena na 125 us intervaly. Root vyšle broadcastově cycle start paket, kterí značí začátek arbitračního kola. Všechny uzly, které chtějí vysílat pošlou arbitration request jako předtím. Opět vyhrává uzel, který je blíže k rootu. po 0,04 us idle mezeře se ostaní uzly postupně podělí o sběrnici. Poté, co každý uzel vyšle právě jedenkrát v jednom arbitračním kole svá ischronní data, přichází na řadu asynchronní přenos. Až 80% přenosové kapacity může být přiděleno isochronním paketů, zbytek připadá na asynchronní pakety. Přesáhne-li asynchronní paket přes dobu přenosového cyklu, vysílá root další cycle start paket ihned po isochronních paketech, dokud se nevyrovná zpoždění způsobené přesahem asynchronního paketu.
 
+
[[Soubor:Zpozdění.png]]
  
  

Verze z 27. 11. 2011, 18:50

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.

Topologie sběrnice












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.

uzly na sběrnicích







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

Protokoly seriové sběrnice
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]
Data-srobe kodování
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.

Příklad sitě











Identifikace uzlů

Jak je psáno dřive. Po připojení/odpojení uzlu se provede reset sběrnice. následují dva kroky konfigurace.

1. Tree identification - konfigurace sítě a její přeuspořádání na topologii stromu a určení Rootu
2. Self identification - určení čísel jednotlivých uzlů

Tree identification


Arbitrace

IEEE 1394 podporuje dva typy přenosu. Asynchronní a isochronní. Oba se mohou vysílat zároveň.

1. Asynchronní přenosový mód - umožňuje periodický přenos dat s garantovaným doručením. (potvrzují se ACK paketem - povtrzením o přijetí)
   * Nemá zaručen přístup ke sběrnici v každém přenosovém cyklu. 
   * Maximálně 20% přenosové kapacity je určeno pro tento mód
2. Isochronní přenosový mód - doručování dat s konstatní přeonosovou rychlostí. Nepotvrzují se ACK paketem.
   * Zaručen přenos v každém přenosovém cyklu.
   * Až 80% přenosové kapacity je vyhrazeno pro isochronní pakety.
  

Jaký přenosový mód zvolíme je závíslí na povaze přenášených dat. Pokud chci streamovat video ze své videokamery na internet. Je vhodné si zvolit isochronní mód. Známe potřebnou šířku přenosového kanálu navíc data musí být zasílána v konstantních intevralech. Naopak pokud kopíruju data z CD na pevný disk určitě chci aby přijatá data byla potvrzována a já měl jistotu, že se přenesla všechna data. Proto se hodí asynchronní mód.


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 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í.

S isochronními přenosy dat je to složitější. Isochronní přenos musí mít garantovanou šířku přenosového pásma. Každé kolo arbitrace trvá přibližně 125 us a tudíž i šířka pásma je rozdělena na 125 us intervaly. Root vyšle broadcastově cycle start paket, kterí značí začátek arbitračního kola. Všechny uzly, které chtějí vysílat pošlou arbitration request jako předtím. Opět vyhrává uzel, který je blíže k rootu. po 0,04 us idle mezeře se ostaní uzly postupně podělí o sběrnici. Poté, co každý uzel vyšle právě jedenkrát v jednom arbitračním kole svá ischronní data, přichází na řadu asynchronní přenos. Až 80% přenosové kapacity může být přiděleno isochronním paketů, zbytek připadá na asynchronní pakety. Přesáhne-li asynchronní paket přes dobu přenosového cyklu, vysílá root další cycle start paket ihned po isochronních paketech, dokud se nevyrovná zpoždění způsobené přesahem asynchronního paketu. Zpozdění.png




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

Osobní nástroje
Jmenné prostory
Varianty
Akce
Navigace
Nástroje