Uživatel:Dvoral10

Z HPM wiki
Přejít na: navigace, hledání

Obsah

PCI Express

Úvod

PCI Express (PCIe, 3GIO - 3rt Generation I/O), je nástupce sběrnice PCI, která je využíváná ve výpočetní technologii již od roku 1993. V dnešní době neustálý pokroků a nárůstu rychlostí veškeré výpočetní techniky, je zapotřebí aby i přenos mezi komonety byl co nejrychlejší a nejkvalitnější. Proto už nedostatečná PCI byla nahrazena novou PCIe, která svého předchůdce mnohokrát převyšuje.

Historie

PCI

PCI (Peripheral Component Interconnect) je počítačová sběrnice pro připojení různých komponentů k základní desce. Tato sběrnice používala pro spojení jeden vodič s dvoustavovou modulací.


PCI 32bit @ 33 MHz = 132 MBps - základní "modul"

PCI 32bit @ 66 MHz = 266 MBps

PCI 64bit @ 33 MHz = 266 MBps

PCI 64bit @ 66 MHz = 533 MBps


PCI-X

AGP

PCI Express

PCIe je sběrnicí typu peer to peer přenáší, data po paketech. Peer to peer umožnuje nezávislou komunikaci mezi zařízeními, to znamená že zařízení už nemusi čekat až se sběrnice uvolní aby mohlo začít komunikovat. Narozdíl od sběrnice PCI , která měla jednosměrnou komunikaci, je PCIe obousměrná (Rx-Tx)

Model PCIe je podobně jako model ISO-OSI založen na vrstvách

Vrstvy

PCIe vrstvy.jpg obr1. vrstvy PCIe

-Transaction Layer (transakční vrstva): Tato vrstva slouží ke zpracovaná paketů transakční vrstvy (TLP). V těchto paketech je nesena informace o operaci (čtení, zápis, zpráva). Pakety se dělí na request/completion a jsou posílány nebo příjímány z vrstvy core logic. Každý paket má své ID číslo aby se pak na něj dalo jednoduše odpovědět. Transakční vrstva se také stará o nastavení parametrů, posílání zpráv přes virtuální vodiče přerušení, řízení napájení.


TLP.gif obr2. paket transakční vrstvy

Paket transakční vrstvy se skládá, z hlavičky, vlastních dat kontrolníhou součtu ECRC

TLP hlavicka.gif obr.3 hlavička TLP

Hlavička obahuje řídící informace o typu přenosu. Délka hlavičky je v 3-4 doublewordy (DW = 4 byty), záleží na Fmt.


Fmt - formát paketu, a určuje jestli obsahuje data


TC - udává Traffic Class

TD - povoluje připojení ECRC (TLP Digest) ke konci paketu

EP - nese informaci o chybě vzniklé v datech, například při chybě parity při čtení ze sběrnice PCI. Tato chyba nemusí být nutně kritická. Jedná se o informaci pro nadřazený sytém, který se s chybou vypořádá. Tato chyba se nesmí vyskytnou v žádné jiné části než datové! Proto se tomuto mechanizmu také říká data poisoning.

Attr - atributy udávající informace pro přenos dat a koherenci cache

Lenght - jde o délku přenášených dat v DW uvnitř paketu. Tedy maximální délka může být 2**10 DW = 4096 bytů


-Data Link Layer (linková vrtva)

Linková vrstva se stará o přesnost dat, tedy snaží se detekóvat a opravovat chybu. K datům, které obdrží s transakční vrstvy, přidá kontrolní kód a ID číslo, a pošle do fyzické vrstvy. Data které obdrží z fycické vrstvy naopak otestuje, a pokud neobsahujou chyby pošle do transakční vrstvy. Pokud chybu obsahují tak si vrstva zažádá o opakování odeslání dat.

-Physical Layer (fyzická vrstva)

Fyzická vrstva se stará o všechny obvody nutné k připojení(fázové závěsy, buffery, serio-parelelní a paralelně seriové převodníky, impedanční přizpůsobení logika pro iniacilizaci udržování spojení)

Data přijatá z linkové vrsty jsou doplněna informací o začátku a kocem paketu. Déle data zakóduje kódem 8 na 10, čím se přidají další informace o synchronizaci. Poté data převede na seriový kód a odešle. Naopak data, které linkvá vrstva přijímá dekódoje, pokud jsou data v porátku odešle je do linkové vrstvy. Fyzická vrstva po správném přijetí ještě odešle potvrzení o přijetí dat, čímž vyprázdní buffer.

PCI Express Link

PCIe link.gif

PCIe link je označení pro komunikační kanál mesi dvěma zařízeníme PCIe. Základní PCIe Link je tvořen dvěma nízkonapětovými diferenciánímí páry - přijímacího(RX) a vysílacího(TX). Pár se označuje jako Lane. Výhodou těchto dvou kanálů je, že jsou na sobě nezávislá, a tvoří duplexní komunikační kanál. Současná přenosová rychlost dosahuje 2,5Gbitu/s v jednom směru. Ale v budoucnu se počítá se zvýšením rychlosti. Hodinový signál je kódovaný do datového toku, aby mohlo být dosaženo maximální přenosové rychlosti. Samostatně vedené hodiny a data na vysokých frekvencích jsou náchylné k fázovému posunů a jitteru. Každý Link obsahuje nejméně jeden Lane. pro zvýšení přenosové rychlosti se ale dá využít i více Lanes v jednom linku a to x1, x2, x4, x8, x12, x16 a x32. Během hardwarové inicializace Linku se vyjedná pracovní frekvence a počet Lanes sestavujících Link. Obdoba vyjednávání pracovní frekvence sítí typu Ethernet.


Rychlosti PCIe 3.

1x - 2,5 Gbps (obousměrný provoz 5 Gbps)

4x - 10 Gbps (resp. 20 Gbps)

8x - 1.6 GBps (obousměrně 3.2 GBps)

16x - 3.2 GBps (obousměrně 6.4 GBps)

Zařízení PCIe

Pci arch.gif

Sběrnice PCIe je sestavena ze vzájemně propojených zařízení, které zajišťují její funkce. Jsou to zařízení: root complex, switches, endpoints a bridges. Zařízení je možné propojovat a kombinovat libovolně při dodržení 4 základních pravidel:

-Na sběrnici může existovat pouze jedno zařízení typu root complex, které zajišťuje propojení mezi PCI Express zařízením, hostitelským systémem a pamětí.

-Každý switch má pouze jeden upstream port, počet downstream portů je omezen na 256.

-Každý endpoint a bridge má pouze jeden upstream port.

-Každý link může propojovat pouze jeden upstream a downstream port. Výjimku tvoří propojení typu Advanced Peer-to-peer Link.

Root Complex

Rootcoplex.gif

Root Coplex vytváří propojení mezi hostitelským procesorem a systémovou pamětí. Root Complex zastává tyto funkce:

-Propojení sběrnice hostitelského procesoru se systémovou pamětí (řadič paměti)

-Propojení sběrnice hostitelského procesoru se sběrnicí PCI Express přes downstream porty a linky

-Propojení systémové paměti se sběrnicí PCI Express přes downstream porty a linky

Root complex také zajišťuje podporu PCI Express a systémových prostředků, které jsou konfigurovatelné přes I/O prostor hostitelské sběrnice. Jedné o řadič přerušení, Power Management a řadič Hot Plug zařízení.

Ze schéma Root compexu můžeme vidět že veškerá zařízení sběrnice PCI Express jsou na straně downstreamu (pod Root Complexem) a zařízení hostitelského procesoru a paměti na straně upstreamu.


Zařízení musejí byt kompatibilní s modelem směrnice PCI, což se odráží i v modelu root complexu - vytváří se virtuální HOST-PCI bridge a PCI segmenty. Klíčové jsou především tyto části:

-Virtuální HOST-PCI Bridge, propojující systémovou část a vlastní sběrnici PCI Express

-Blok root complex registrů (RCRB) zajišťující konfiguraci.

-Virtuální segment sběrnice PCI, zajišťující propojení mezi virtuálními bridgi HOST-PCI a PCI-PCI. Dále jsou generovány signály IDSEL obdobně jako u sběrnice PCI, které zajišťují přístup ke konfiguračním registrům.

-Virtuální PCI-PCI bridge zajišťuje větvení transakcí přicházajících z hostitelského procesoru na sběrnici PCI Express nebo dat přicházejících ze sběrnice do hlavní paměti. Root complex se může chovat také jako virtuální switch, kdy dochází k propojení dvou zařízení (Linků) přímo na fyzické úrovní.

Switch

Switch.gif

Switch se stará o větvení a rozšiřování sběrnice PCI Express z downstream portu root complexu, nebo ze switche k dalším PCI Express zařízením (bridge, switch, endpoint). Switch zajišťuje komunikaci mezi upstream a downstream portem. Architektura zachovává členění do PCI segmentů a virtuálních sběrnic . Každý switch má následující vlastnosti:

-Je sestaven nejméně ze dvou nebo více virtuálních PCI-PCI bridgu.

-Používá PCI Bridge mechanismus pro přenos dat založený na cílové adrese.

-Musí podporovat přenos všech typů transakcí (TLP)

-Nesmí generovat pakety s menší délkou, než do něho vstoupily. Pokud přijde paket o délce 512 bytů, nemůže být rozdělen na dva o délce 256 bytů.

-Pokud vznikne současně několik požadavků na jeden virtuální kanál, budou rozděleny podle priority (kanál s nejvyšší prioritou zvítězí), nebo se využije rotující priorita.


Endpoint

Endpoint je koncové zařízení připojené ke sběrnici PCI Express, které tvoří downstream Root Complexu nebo Switche. Endpoint obsahuje jedno zařízení s jednou až osmi funkcemi.


Endpointy se rozdělují do dvou skupin: - Legacy Endpoints - PCI Express Endpoints.

Legacy Endpoint podporuje následující typy operací:

-Musí podporovat konfigurační mechanizmus typu 0 (ekvivalent s PCI - typ jedna se využívá pro bridge - po dosažení cílového bridge je konvertován na typ 0)

-Může podporovat žádosti typů I/O

-Může generovat požadavek na I/O operaci

-Může podporovat operace typu LOCK (specifikace nedoporučuje jejich používání)

-Nesmí generovat požadavek na operace typu LOCK

-Může implementovat rozšířený konfigurační prostor, avšak ten nemusí být využit softwarem (zpětná kompatibilita s PCI)

- Vzniku požadavku na transakci do hlavní paměti nemusí generovat adresu větší než 4Gbyty (32bitů)

-Generovaní přerušení může podporovat jak 32-bitovou verzi, tak 64-bitovou verzi MSI3

-Má dovoleno používat 32bitové adresování pro bázové adresy vyžadující paměťový přístup


PCI Express Endpoint

-Musí podporovat konfigurační mechanizmus typu 0

-Nesmí generovat požadavky na operace typu I/O

-Nepodporují a negenerují operace typu LOCK

-Při vzniku požadavku na transakci do hlavní paměti musí podporovat generování adresy větší než 4Gbyty (32bitů)

-Generovaní přerušení musí podporovat 64 bitovou verzi MSI4

-Pro všechny bázové adresy, které mají nastavený prefetch bit, musí být podporováno 64-bitové adresování. Adresy nepoužívající prefetch bit, mohou podporovat jen 32-bitovou verzi adresování

-Minimální velikost požadovaná, pro přidělení bázové adrese je 128 bytů

Z výše zmíněného výčtu a názvu je patrno, že legacy endpoints jsou zařízení, zachovávající zpětnou kompatibilitu se standardem PCI. Především to platí pro SW model a zařízení za bridgem typu PCI Express - PCI.



Bridge

Bridge.gif

Bridge se chová podobně jako swich s tím rozdílem že zajištuje převod mezi PCIe a jinými typy sběrnic(PCI ,PCI-XI). To znamená, že musí umět přenášet specifické transakte těchto jiných typů sběnic

Závěr

Jaký je rozdíl mezi sběrnicí a rozhraním?

sběrnice : skupina signálových vodičů, kterou lze rozdělit na skupiny řídicích, adresových a datových vodičů v případě paralelní sběrnice nebo sdílení dat a řízení na společném vodiči (nebo vodičích) u sériových sběrnic. Sběrnice má za účel zajistit přenos dat a řídicích povelů mezi dvěma a více elektronickými zařízeními. Přenos dat na sběrnici se řídí stanoveným protokolem.

Rozhraní se označuje v informatice zařízení, program nebo formát, zajišťující správnou komunikaci a přenos dat mezi jinými zařízeními nebo programy. Podle toho, zda je rozhraní součástí počítačového hardware, nebo software, mluvíme o hardwarovém nebo softwarovém rozhraní. Hardwarové rozhraní může být počítačová síť sběrnice styčný prvek nebo jednotný formát styku mezi vstupně výstupními zařízeními

Nevýhoda PCI sběrnice při zapojení více karet.

na sběrnici PCI muže probíhat jen jedna transakce a to jedním směrem, tedy při zapojení více karet, je pomalejší přenos, protože jednotlivé zařízení čekají než ostatní dokončí komunikaci

Jaký je hlavní rozdíl mezi PCI a PCI-e ?

Klasická sběrnice PCI je paralelní a polo-duplexní - všechny vodiče slouží pro přenos dat oběma směry, ovšem nikoli oběma směry zároveň.

Sběrnice PCI-E je sériová, resp. sério-paralelní, a plně duplexní - základní modul sběrnice má jeden symetrický pár vodičů pro TX a druhý pro RX a sběrnice skutečně běží v plně duplexním režimu, pokud to charakter provozu umožňuje. Základní modul ("x1") sběrnice PCI-Express má v podstatě jediný sériový fullduplexní kanál, vyšší násobky (x2..x32) vznikají paralelním spřažením několika těchto základních kanálů.

Zdroje

http://www.pcisig.com/specifications/pciexpress/resources/PCI_Express_White_Paper.pdf?iid=tech_%20pciexpress+rhc_whatispciexpress

http://arstechnica.com/old/content/2004/07/pcie.ars/1

http://computer.howstuffworks.com/pci-express.htm

http://en.wikipedia.org/wiki/PCI_Expresshttp

http://www.pcisig.com/home

http://www.fccps.cz/download/adv/frr/pci-e/pci-e.htm

http://www.svethardware.cz/art_doc-DCF855B3ED8092C6C1256FB500796ADF.html

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