PCIe 3.0 - k čemu obří přenosové rychlosti?
28. 3. 2012 07:00 Rubrika: Technologie Autor: Jakub Pavlis
Máme první čipsety podporující standard PCIe 3.0. Máme první grafické karty pro tuto sběrnici a první počítače pro testy. Kde a jak se projeví dvojnásobné zrychlení oproti minulé generaci, k čemu budou všechny optimalizace? Odpověď hledejte na dalších řádcích.
Konsorcium PCIe-SIG vydalo po téměř dvouletých odkladech specifikace pro standard PCI-Express 3.0, oficiálně zkracováno na PCIe 3.0. Na 800 firem ve skupině pod vedením gigantů jako je Intel, Microsoft, IBM, AMD, nebo NVIDIA nemuselo spěchat – jednak standard 2.0 zatím většině potřeb stačí, jednak chtěly technologii levnou, nenáročnou na výrobu i obsluhu, univerzální a konec konců také zpětně kompatibilní. Všechny požadavky se podařilo splnit a převést do praxe. Ale k čemu to?
Než tuto otázku rozlouskneme, podívejme se na základy této technologie trochu obecněji. Sběrnice PCIe (což není zcela přesné označení, ale pevně se vžilo, jde o point-to-point řešení inspirované síťovými protokoly) je projektována jako sériová, komunikuje pomocí datových paketů. Návrh vznikl mezi zaměstnanci firmy Intel, ovšem v průběhu vývoje se přidala i spousta dalších firem. Když byl v roce 2003 uveřejněn standard 1.a, fungovala už celá skupina PCI-SIG a další firmy se nabalovaly, až je jich k dnešku na zmiňovaných osm set.
PCIe sběrnice je sestavována z jednotlivých linek, které na začátku přenášely 250 MB/s v jednom směru, fungovaly obousměrně a díky plné duplexnosti tak dokázaly přenést v obou směrech najednou až 500 MB/s, ovšem ne vždy to je zapotřebí, často tečou data převážně jedním směrem. Specifikace 2.0 tyto přenosy zdvojnásobila, na jednu linku tedy vychází 500 MB v jednom směru, aktuální třetí generace (nebereme v potaz mezigenerační úpravy 1.1 nebo 2.1) opět průtok zdvojnásobuje na 1 GB/s v jednom směru.
fyzická podoba PCIe slotů a možnosti škálovatelnosti linek jsou stejné od roku 2003, rozdíl je jen v rychlostech
Ve skutečnosti by mělo dojít k ještě vyššímu nárůstu proti starší generaci, rezervy se našly v kódování signálu. Z režijních důvodů a zejména kvůli snížení chybovosti je používáno kódování, která k paketu přiřazuje kódovací data, dosud se používal systém 8b/10b, přeloženo jako 8 efektivních bitů z deseti, režie tak činí snadno dopočítatelných 20%. Standard 3.0 přináší kódování 128b/130b, princip je stejný, ale režie si vezme pouhých 1,5%.
Zůstala plná zpětná kompatibilita pro všechny předchozí generace této sběrnice, bude v ní tedy fungovat jakékoli připojené zařízení. Stejná jsou logicky i fyzické vlastnosti jako vzdálenost, počet a rozdělení pinů a škálovatelnost jednotlivých linek (PCIe 3.0 1x, 4x, 8x, 16x tedy znamená počet linek seřazených za sebou v jediném slotu, dochází tedy k příslušnému násobnému zvýšení datové propustnosti a datového toku).
PCIe nahradilo řadu jiných sběrnic, zejména přímého předchůdce PCI (užívané též velmi univerzálně) a AGP (specializované pro zvyšující se nároky grafických karet). Zdvojnásobení „výkonu“ možná v řadě lidí vzbuzuje naději na podobnou revoluci, kterou způsobilo rozhraní 2.0 v oblasti grafických karet. Zde ovšem všechny natěšené gamery zklamu, byť jen maličko – pro přístup k paměti je PCIe 2.0 pořád rychlé a široké víc než dost, ani nejnovějším kartám neklade žádná omezení a dokonce to ještě nějakou generaci vydrží, zejména pokud zlevňují GDDR5 paměti a není problém je připojovat přímo ke grafickým kartám.
Testy nejnovějších her na grafikách AMD na PCIe 3.0 sběrnici v defaultním (tedy plném) a o polovinu sníženém režimu (ten tedy datovou prostupností plně simuloval prostupnost starší specifikace – toto se dělo kvůli potřebě zkoušet karty na stejné desce se shodnými paměťmi, CPU, HDD, drivery apod. kvůli omezení všech ostatních vlivů vyjma sběrnice) nevykazovaly větší rozdíly ve výsledcích než 1 fps, což lze považovat za statistickou chybu měření (při výsledcích kolem 80 fps se jedná o méně než 2% chybu, to je slušné).
K čemu se tedy nová generace hodí? Jednoznačně představuje výhody pro nasazení, kdy spolu musí výrazně spolupracovat CPU a GPU, což dnes představuje především general-purpose computing (též heterogenní computing) na grafických kartách pomocí standardů OpenCL, DirectCompute, C++ AMP nebo CUDA (NVIDIA) a STREAM (AMD). Upotřebení najdeme i v méně standardizovaných oblastech jako je zpracovávání videa a zvuku (především výpočty DSP), zdravotnictví (3D zobrazování pro vyšetřovací metody typu CT), ve výpočtech statistických modelů pro předpověď počasí. Ke hrám by mělo mít nejblíže používání v některých typech výpočtů fyzických modelů, možná i přímo v PhysX, spokojenější ale asi budou spíše návrháři aut, letadel nebo lodí pro modelace optimálního odporu vzduchu nebo vztlaku.
Pro nás je důležité její mobilní nasazení, což je oblast, kde implementace PCIe 3.0 může přinést zvýšení flexibility. Předpokládá se totiž, že bude velmi brzy použitsa v novém standardu pro port Thunderbolt, který má sloužit pro vysokorychlostní připojení různých periferií, jako jsou například dokovací stanice a externí grafické karty. U úzkého konektoru Thunderbolt totiž nelze použít více, než např. 4 PCIe linky a to již v současnosti propustnost pro externí grafické karty může omezovat. Proto je každá možnost, jak z omezeného počtu PCIe linek "vyždímat co největší přenosovou rychlost" řadou výrobců vítána.l
Domnívám se, že PCIe 3.0 se poměrně rychle stane novým standardem a tuto sběrnici najdeme ve velkém množství počítačů. Ne snad pro její jedinečné vlastnosti, které ovšem většina uživatelů vůbec nevyužije, ač jsou nezpochybnitelné, ale kvůli marketingovému potenciálu nově prodat řadu současných řešení. Třeba jen grafické karty – softwaroví odborníci jsou placeni za práci, takže stačí lehce optimalizovat ovladače, vydat je jen pro PCIe 3.0 verzi stejné karty s novým číslem a hned tu máme výkonový nárůst oproti „předchůdci“ a možnost podruhé prodat totéž staré železo. Ale třeba jsem jen škarohlíd...