Po PCI, PCI-X a také AGP by se PCI Express nyní měla stát jedinou, zato však
univerzální datovou dálnicí pro PC. Popíšeme vám nový standard I/O a srovnáme
jej s technologiemi od PCI až po PCI 3.0.
V oblasti serverů a pracovních stanic musí být na pevné disky systémů RAID a
síťové karty přenášeno rychle a spolehlivě velké množství dat. Avšak nároky na
plynulý datový přenos stouply i v segmentu stolních počítačů. Brzdou je
zpravidla příliš pomalý systém sběrnic I/O. Ten musí mezi jednotlivými
podsystémy řídit a zpracovávat proudy dat. Pokud přenosová rychlost
architektury I/O nestačí, pak na datové dálnici nevyhnutelně dochází k zácpě.
Právě toto manko by chtělo konsorcium PCI-SIG (http//:www.pcisig.com/home),
které tvoří firmy jako Intel, AMD, Microsoft, Dell a HP, dohnat pomocí nových
technologií sběrnic.
Sběrnice PCI, představená již v roce 1993, zvládá maximálně 127,2 MB/s a je tím
pádem pro moderní hardware I/O (jako 10gigabitové ethernetové adaptéry) příliš
pomalá. Tento deficit měla překonat PCI-X a především PCI Express. Tyto nové
topologie sběrnic dosahují
přenosové rychlosti až 7,95 GB/s (PCI-X 1066) a 9,53 GB/s v jednom směru (PCI
Express s 32 páry vodičů). Systém sběrnic PCI-X se používá převážně v oblasti
serverů a měl by být podle PCI-SIGu 2004 nahrazen právě pomocí PCI Express.
Současně by PCI Express měla nahradit existující standardy i v ostatních
oblastech. To se týká například rozhraní AGP, sběrnice Mini PCI a PC Card
(dříve PCMCIA). První provozuschopné komponenty na bázi PCI Express existují
již od konce roku 2003. Sériově vyráběné čipsety však známí výrobci jako Intel,
VIA, či SiS představili teprve v polovině loňského roku.
Srovnání architektur sběrnic PCI
V následující tabulce naleznete souhrn všech verzí PCI. Zakládají se na
paralelním přenosu dat a nejsou škálovatelné. Proti nim stojí sériový proces
přenosu u PCI Express.
Podle specifikace má PCI Express šířku sběrnice od 1 do maximálně 32 linek. Při
taktovací frekvenci 2,5 GHz dosahuje systém sběrnic maximální teoretické šířky
pásma 19,1 GB/s. Zavedení nového systému sběrnic proběhlo v roce 2004. Ale ani
výkony PCI-X ještě nejsou zcela na maximu. Konsorcium PCI-SIG plánuje vývoj
PCI-X 2133 v nadcházejících letech.
Všechny standardy jsou stále přepracovávány a dále vyvíjeny. To je úkolem
konsorcia PCI--SIG, které také zveřejňuje výsledné specifikace updatů.
Podrobnosti o PCI-Bus I
Současné systémy sběrnic PCI u stolních počítačů vycházejí ze specifikace
PCI-Local-Bus 2.3. Sběrnice PCI disponuje kombinovanou datovou/adresovou
sběrnicí o šířce 32 bitů. Pracuje paralelně s taktovací frekvencí 33 MHz. Z
toho vychází výsledná šířka pásma 127,2 MB/s. Ale i varianta PCI se 64bitovou
šířkou sběrnice a taktovací frekvencí 66 MHz používá stejnou specifikaci.
Maximální přenosová kapacita pak dosahuje 508 MB/s. Tato konfigurace podporuje
maximálně dvě místo čtyř PCI karet 3,3 V. Z toho vyplývá, že zastaralé 5 V
karty nejsou s PCI sloty specifikace 2.3 kompatibilní. PCI 2.3 slot však ještě
karty určené pro napájení 5 V mechanicky přijmout umí. Verze 3.0 uvedená v
dubnu 2004 má jeden slot, do kterého pasují již jen univerzální grafické karty
s napájením 3,3 V.
Pro vyřešení problému s počtem slotů využívá PCI takzvané PCI-to-PCI-Bridges.
Ty nabízejí možnost provozovat na počítači sběrnice PCI paralelně nebo zapojené
za sebou. PCI-to-PCI-Bridge navíc disponuje konfiguračním registrem k ukládání
inicializačních dat. Prefetcha Posting-Buffer zařizují meziukládání čtených a
zapisovaných dat. Navíc Bridge zvládá shrnutí jednotlivých přenosů do rychlých
a efektivních dávkových přístupů.
Podrobnosti o PCI-Bus II
Sběrnice PCI pracuje se dvěma druhy sběrnicových zařízení - iniciátorem a
cílovým zařízením. Iniciátor nastartuje přístup na sběrnici tak, že převezme
kontrolu nad řídícím vodičem a pak generuje cílovou adresu. Navíc určí délku a
začátek sběrnicového přenosu.
Cílové zařízení signalizuje připravenost ke čtení pomocí potvrzujícího signálu,
nebo vytvoří Wait-States. Datové přenosy však nemůže inicializovat sám, je
odkázán na zařízení Bus-Master nebo na procesor. Komponenty Bus-Master mají
přístup ke všem zdrojům systému a mohou spouštět funkce jako Burst-Transfers.
Pokud požaduje více Bus-Masterů přístup na sběrnici, pak o tom, který z nich
přístup získá, rozhoduje předem stanovená arbitrážní logika.
S funkcemi jako Plug-and-Play přebírá PCI automatickou konfiguraci zařízení
PCI. Během bootování systému jsou určeny zdroje jako přerušení, kanály DMA,
adresy portů a oblasti paměti.
Podrobnosti o PCI-X-Bus I
Pro pokrytí nároků stoupajících na sběrnici PCI byla v září roku 1999
představena specifikace pro PCI-X 1.0, která byla v květnu roku 2002 nahrazena
revizí 2.0. Výkonnostní schopnosti sběrnice PCI-X byly dále zvyšovány. Již od
listopadu 2002 se konsorcium PCI-SIG zabývá vývojem standardu PCI-X-3.0.
Všechny systémy sběrnic o šířce 64 bitů PCI-X 1.0/2.0/3.0 garantují plnou
hardwarovou a softwarovou kompatibilitu se současnými standardy PCI.
Sběrnice PCI-X 1.0 pracuje v normálním módu s taktovací frekvencí 133 MHz a
slotem s napájením 3,3 V. V této konfiguraci dosahuje datové propustnosti 0,99
GB/s. Podporuje však i frekvence 100 a 66 MHz se dvěma, potažmo čtyřmi sloty. U
sběrnice PCI-X 2.0 se o zdvojnásobení, respektive o zečtyřnásobení šířky pásma
při zachování taktovací frekvence 133 MHz starají dva vodiče Address-Strobe
AD_STB a AD_STB#. V módu Double-Data-Rate (2 x 133 MHz) dosahuje sběrnice
datové průchodnosti 1,98 GB/s, v provozu Quad-Data-Rate (4 x 133 MHz) se
dostane až na 3,97 GB/s. Proti PCI-X 1.0 pracuje
PCI-X 2.0 vedle 3,3 V i s úrovní napětí 1,5 V. Rozšířený standard PCI-X navíc
nabízí rozpoznávání chyb, korekturu datového proudu přes proces ECC a
Device-ID-Messaging. Standard PCI-X 3.0, který je stále ještě vyvíjen, by měl
disponovat i vylepšeným Power-Managementem. Dále by měl zvládat isochronní
datový přenos, stejně jako redundantní datové cesty při přenosu dat na sběrnice
systému. Od označení PCI-X 1066 můžeme odvodit, že datová sběrnice zvládá 1 066
megatransferů za sekundu. Tím dosahuje teoretické šířky pásma 7,95 GB/s. I když
PCI-X 1066 ještě uvedena nebyla, připravuje konsorcium PCI-SIG také standard
PCI-X 2133. Podrobnosti o tomto standardu zatím k dispozici nejsou. Podle
PCI-SIG by měl konkrétní podobu získat až v průběhu několika let. Pokud však
bude PCI-X 2133 i přes konkurenci PCI-Expressu realizováno, pak dosáhne
výpočetní šířky pásma 15,9 GB/s. Pro srovnání můžeme uvést, že současné
technologie jako 10GB ethernet nebo Fibre-Channel pracují s teoretickými
hodnotami přenosu 1,16 GB/s. Budoucí přenosové procesy pro 40/100GB ethernety a
Fibre Channel by měly dosahovat až desetinásobku hodnoty dnešních datových
přenosů.
Podrobnosti o PCI-X Bus II
Přenosové procesy u PCI-X 1.0 až 3.0 fungují téměř identicky jako standard PCI,
navíc jsou směrem dolů kompatibilní. Kromě toho byly přidány některé nové
registry a funkce pro zlepšení kontroly datového toku mezi odesílatelem a
příjemcem. Mezi ně patří například Split-Transactions. Ty odesílateli dovolují
provádět další přenosy dat na ostatní zařízení, aniž by nejprve čekaly na
odpověď od adresáta. Tento Polling, který je okrádá o čas, je jinak u PCI
nutný. Již zavedený systém sběrnic PCI-X 1.0 se používá především v oblasti
serverů. Přídavné karty jako 10GB ethernet adapter a SCSI-RAID Controller
požadují od systémů sběrnic I/O značnou šířku pásma. PCI-X 2.0 a především nový
standard 3.0 by měly výkonnostní požadavky karet s vysokými nároky (jako
40gigabitový ethernet adapter) pokrýt. PCI-SIG navíc již vypracovává kritéria
pro PCI-X 2133.
Architektura PCI Express
Flexibilní architektura PCI Express - známá též pod označením 3GIO a Arapahoe
- slibuje nahrazení dnešních systémů sběrnic PCI/PCI-X a portu AGP. PCI
Express se hodí pro univerzální rychlé vzájemné propojení interní komponent
jako USB řadičů, karet s vysokým průtokem dat jako SCSI-RAID, nebo 10GB
ethernetové adaptéry. Může být využit i při propojení dokovacích stanic a k nim
připojeným externím přístrojů, například přenosných počítačů. Nový standard I/O
je schopný nahradit obvyklá spojení Chip-to-Chip jako V-Link od VIA, MuTIOL od
SiS či Hub Link od Intelu. Rychlost zde může být proti zatím nejrychlejšímu
procesu MuTIOL (0,99 GB/s) zvýšena až devětkrát.
Datové přenosy PCI Express orientované na pakety se však kvůli layer-modelu
nehodí pro vzájemné propojení procesoru nebo paměti (na rozdíl třeba od
HyperTransportu). Kódování 8B/10B a s ním spojené dlouhé latenční doby, stejně
jako komplikovaný Routing 32 linek nepřinášejí žádné výhody. Přesvědčivá
topologie sběrnic však není bez přídavných modulů I/O-Bridge možná.
PCI-Express Bridges
Dlouhodobým cílem PCI Express je nahradit rozdílné standardy I/O jako PCI,
PCI-X či AGP. V přechodném období však musí být zaručeno, že nová technologie
bude z důvodu nákladů nadále podporovat běžné karty. Zároveň musí PCI Express
bezproblémově spolupracovat s aktuálními rozhraními jako USB 2.0, SCSI,
IEEE1394b, Ethernet a Infiniband. Řešení této "kompatibilizační šňůry" nabízejí
moduly Bridges.
Pomocí modulů Bridge je možné všechny komponenty nekonformní s PCI Express
zapojit do architektury PCI Express. Ztráty výkonu by se přitom objevovat
neměly. Například výrobce grafických čipů NVIDIA používá modul AGP-to--PCI
Express, aby do vyvinutí "domácího" řešení mohl současné grafické čipy nasadit
do architektury PCI Express. Tento modul Bridge se dá provozovat i v opačném
směru. Podobný koncept sleduje výrobce grafických čipů ATI. Společnost používá
vlastní grafické čipy PCI Express a kombinuje je s PCI-Express-to-AGP Bridge,
aby byly kompatibilní se stále aktuálním rozhraním AGP. I v oblasti serverů,
kde jsou například komponenty PCI-X velmi rozšířené, by v budoucnu měly moduly
Bridge usnadnit zapojení této technologie do architektury PCI Express.
Nasazením technologie Bridge lze v tomto segmentu ušetřit náklady na obnovenou
validaci karet, které jsou přestavěny na PCI Express.
PCI Express, architektura Switch
Vedle modulů Bridge má technologie PCI Express k dispozici i nový funkční modul
Switch. Ten spravuje různá koncová zařízení a disponuje inteligentní kontrolou
toku. Ta podporuje isochronní datové přenosy v rámci Switche z jednoho
koncového zařízení na druhé pomocí takzvaných virtuálních tunelů, tedy bez
okliky přes host. Isochronní datový tok je možný i směrem z hostu ke koncovému
zařízení. Oba způsoby přenosu urychlují datový provoz a zabraňují během přenosu
dat problémům s "úzkými" místy. PCI a PCI-X (kromě PCI-X 3.0) takové možnosti
nenabízejí. Aby byla zaručena softwarová kompatibilita se standardy
PCI-2.3/3.0, má každý vstup a výstup Switche interní virtuální PCI-to-PCI
Bridge. U datových přístupů PCI Express by však bez ohledu na kompatibilitu s
PCI mohly v rámci nových řešení odpadnout.
PCI Express Switch může například rozdělit datový přenos Host Bridge na více
zařízení. Ty pak již "nevisí", podobně jako u běžné architektury sběrnic PCI, v
řetězci za sebou, nýbrž vedle sebe. Každé zařízení je pak pro Host dosažitelné
přímo, s nižší latenční dobou. Struktura Switche navíc zvyšuje jistotu při
výpadku, neboť defekt jedné komponenty již neochromuje celý řetězec.
PCI Express Advanced Switching
Pod vedením Intelu doplnila Advanced Switching Interconnect Special Interest
Group (http:// www.asi-sig.org/home, ASI SIG) v prvním návrhu 1.0 technologii
PCI Express o standard Advanced Switching, zkráceně PCI AS. V lednu 2004 se
konalo představení tohoto standardu. Ten by měl učinit z PCI Express spojovací
techniku, využitelnou v oblasti sítí a telekomunikací. Navíc je použití PCI AS
v serverech plánováno jako standard Backplane.
PCI AS by mělo sloužit jako spojovací technika například v síťových procesorech
routerů a urychlovat a zjednodušovat výměnu dat v oblasti serverů, založených
na telekomunikacích. S technologií Advanced Switching je možná i realizace
takzvaných Fabrics. V této topologii zapojení je možné převádět data mezi
libovolnými body v závislosti na adrese a odesílateli. Pro technologii PCI AS
zůstává hardware architektury PCI neměnný, pouze software musí odpovídat
zvláštním nárokům výměny dat v síti.
Slot a Bus I
PCI Express Slot by měl být finančně výhodný. Proto se u PCI Express Slotu ve
srovnání se standardním PCI slotem snížením počtu pinů zmenšují i rozměry. PCI
Express vychází ze sériového spojení Point-to-Point. Nejjednodušší spojení mezi
příjemcem a odesílatelem se skládá ze dvou jednosměrných diferenčně zapojených
párů vodičů s nižším a usměrněnějším napětím signálu, zvanými též Lane. To
zabraňuje křížové modulaci se sousedním signálním vedením.
Při dvou datových vodičích (odpovídá x1 Link se dvěma diferenčními páry vodičů)
má včetně vodičů pro data, adresy, řízení a zásobování proudem minimálně 36
pinů. U sběrnice Link o šířce x4 to je 64, u x8 98 a u x16 maximálně 164 pinů.
Naproti tomu 32bitový PCI slot potřebuje 84 jednotlivých připojení. U AGP 8x to
je 108 a u slotu PCI-X 150 pinů.
Podle počtu potřebných Lanes může být PCI Express slot bez mechanických omezení
vsazen před nebo vedle existujících PCI slotů. I systémová řešení pro PC karty,
Cartridge nebo kabelová spojení k ostatním počítačům, včetně podpory Hot Plugu,
jsou díky sběrnici PCI Express možná.
Slot a Bus II
Sběrnice PCI Express se dá výhodně implementovat na čtyřvrstvé základní desky.
Pokud chceme zabránit rozdílným dobám chodu signálů linek na základní desce,
pak musí být měděné dráhy vedení stejně dlouhé. Specifikace předepisuje
maximální délku vedení u 16linkového spojení 50,8 cm. Navíc musí být vodiče
rozvržené na impedanci 100 ohmů. Maximální napětí Peak-to-Peak mezi dvěma
diferenčními vodiči signálu nesmí překročit 1,2 V. Zároveň nesmí překročit 0,8
V na vstupu relé a 0,175 V na výstupu přijímače. Exaktní údaje definovaných
úrovní napětí jsou u diferenčně sériových přenosů dat obzvláště důležité.
Přijímač totiž nezískává informace z diferencí amplitud, nýbrž ze změn toku v
datovém proudu.
PCI Express Slot volitelně nabízí i integrovaný SMBus. Sériový interface se
skládá ze dvou vodičů, přes které jsou vyměňovány informace mezi komponenty
systému se stejným rozhraním. SMBus je schopna řídit nezávisle na dalších
kontrolních vodičích sběrnice PCI Express úkoly systému a power-managementu.
Navíc předává i údaje výrobce jako jména modelů a sériová čísla připojených
komponent, okolnosti událostí Suspend a protokoly o statutu při chybách
zařízení.
Kompatibilita
Důležitou vlastností standardu PCI Express je softwarová kompatibilita s běžným
standardem PCI. Ani systém, ani software aplikací nemusí být na systém sběrnic
nastaven. Zvláštní nároky na kompatibilitu mají obě kritické fáze: inicializace
a provoz. Během inicializační fáze systém zprostředkovává hardwarovou
konfiguraci a rezervuje odpovídající zdroje jako paměť, oblast I/O a
interrupty. Koncept PCI Express přejímá beze změn dosavadní rutinu konfigurace
PCI a programovatelnost připojených zařízení I/O. Tím je zaručeno, že všechny
systémy budou s PCI Express spolupracovat bez nutnosti speciálních úprav. PCI
Express rozšiřuje inicializační a konfigurační data, takzvaný Configuration
Space, na 4 096 bytů na jeden funkční blok. Naproti tomu stojí 256 bytů, které
jsou dány specifikací PCI v revizi 2.3. Configuration Space obsahuje informace
o tom, která zařízení jsou připojena na sběrnici a jak jsou řízena. Tato data
jsou důležitá pro proces bootování. PCI Express proto rozděluje Configuration
Space na oblast kompatibilní s PCI 2.3 s maximem 256 bytů a na rozšířenou
oblast PCI Express s 4 096 minus 256 bytů. Přístup do oblasti může probíhat jak
podle pravidel PCI 2.3, tak i podle PCI Express. Přístup do rozšířeného
prostoru PCI Express přes PCI 2.3 možný není. Aby se zabránilo chybám, musí být
konfigurační nároky kompatibilní s PCI v rozšířené oblasti PCI Express vyplněny
nulami. Pro implementaci PCI Express do systému PC nejsou potřebné nějaké nové
nebo upravené ovladače. Všechny modifikované procesy sběrnice PCI Express
ovlivňují výlučně Physical Layer, Data Link Layer a Transaction Layer. Způsob
fungování a stavba jednotlivých vrstev PCI Express podrobně vysvětlují, jak
bude budoucí standard I/O fungovat.
Physical Layer
Physical Layer představuje nejnižší úroveň modelu vrstev a reguluje datový tok
přes jednotlivé sériové vodiče sběrnice.
Před každým přenosem kóduje data odesílatel a příjemce podle procesu 8B/10B.
Tato sériová kódovací technika převádí 8 bitů dlouhé informace do 10 bitů
dlouhých datových bloků. V tomto datovém toku jsou pomocí za sebou
následujících bitových změn obsaženy taktovací informace, s nimiž se
synchronizují přenosové stanice. Další signály Sideband nejsou pro kontrolu
datového toku nutné. Nevýhodou kódování 8B/10B je o dvacet procent nižší
efektivita Dateratu. Sběrnice PCI Express dosahuje při základní frekvenci 2,5
GHz maximální míry přenosu dat 2,5 GB/s na jeden směr a pár vodičů, což
odpovídá 2,0 GB/s uživatelských dat. Plánováno je zvýšení frekvence až na 10
GHz, čímž bychom dosáhli maximální fyzické rychlosti přenosu v měděných
vodičích 10 GB/s.
Sběrnice PCI Express dovoluje pomocí vložení linek flexibilní lineární indexaci
v potřebné šířce pásma. Physical Layer architektury PCI Express podporuje linky
o šířce x1, x2, x4, x8, x16 a x32. Data určená k přenosu jsou rozdělena na
jednotlivé linky a zakódována procesem 8B/10B. Sběrnice široká 32 linek pak
dosáhne maximální rychlosti přenosu 9,31 GB/s v jednom směru. Během
inicializační fáze synchronizují odesílatel a příjemce šířku linky a přenosovou
frekvenci. Tento proces neovlivňuje systémové nebo softwarové vrstvy, a tak
garantuje plnou kompatibilitu s běžným standardem PCI. Updaty specifikace ve
formě nových technologií encodingu nebo řízení rychlosti přenosu jsou pomocí
struktury vrstev snadno proveditelné. Nová zadání a nároky mění výlučně funkční
parametry ve Physical Layeru.
Data Link Layer
Hlavní úkol vrstvy Data Link Layer spočívá v tom, připravit pomocí Physical
Layeru datové pakety Transaction Layeru (TLPs) a obráceně. Při tom dává k
dispozici servisní funkce jako rozpoznávání chyb a s tím spojené opakování
přenosu dat. Pakety Data Link Layeru navíc přebírají určité funkce Link
Managementu. Jsou to potvrzení o přijetí paketů Transaction Layeru,
inicializační status a Power status, stejně jako předávání informací o kontrole
datového toku. Bloky Data Link Layeru jsou mezi dvěma komponentami přenášeny
přes Point-to-Point Transfer. Naproti tomu se TLPs dají rozvětvit přes více
napojených zařízení.
Aby byla zaručena integrita dat TLPs, připojí Link Layer na začátek bloku
datového paketu jednoznačné identifikační číslo, takzvané Paket-Sequencenumber.
Tím je přenosový proces v rámci oblasti PCI Express jednoznačně identifikován.
Link Layer navíc na konec bloku zařadí kontrolní součet pro rozpoznávání chyb
(CRC). Pokud příjemce signalizuje chybné doručení dat, potom Data Link Layer
inicializuje obnovený přenos bloku. Když Data Link Layer tento datový blok
vyšle, pak dorazí k příjemci s jistým zpožděním. Tato latenční doba závisí na
faktorech jako frekvence a šířka pásma sběrnice, zpoždění signálu kvůli drahám
vodičů a opakování přenosu při rozpoznání chyby.
Struktura Data Link Layeru
Pakety Data Link Layeru (DLLPs) se skládají z pěti bytů počínaje bytem nula.
Osm bitů bytu nula specifikuje typ DLLPs. Bity nula až pět bytu jedna a bity
šest a sedm bytu dvě definují například
Header-String pro inicializaci kontroly toku. K tomu patří i bity nula až sedm
bytu tři a bity nula až tři bytu dvě, které tvoří Date-String funkce. Poslední
String může při potvrzení příjmu obsahovat i sekvenční číslo chybně přenesených
TLPs. Pokud Data Layer přenáší funkce Powermanagmentu, pak zůstanou byty
neobsazené. Zakončení DLLPs tvoří byte čtyři s kontrolním součtem CRC.
Pokud musí Data Link Layer přenášet blok Transaction Layeru, pak na začátek
TLPs přidá sekvenční číslo, které se skládá ze dvou bytů. První čtyři bity
Date-Stringu zůstanou neobsazené a následujících dvanáct bitů tvoří sekvenční
číslo. Na konec datového paketu pak Data Link Layer navěsí čtyři byty dlouhý
kontrolní součet k rozpoznávání chyb (LCRC).
Transaction Layer
Transaction Layer zpracovává nároky na zapisování a čtení, stejně jako na
speciální události. Je pojítkem mezi vrstvou softwaru a Data Link Layerem. Aby
se zabránilo nepotřebným datovým přenosům, podporuje Transaction Layer protokol
podle takzvané kontroly Credit-Based-Flow. Tento proces předává datové pakety
pouze tehdy, pokud je v cíli volná vyrovnávací paměť. To šetří opakovaná
předávání dat a tím pádem i přebytečné zatěžování šířky pásma sběrnice. Pokud
odesílatel potřebuje potvrzení o přijetí, pak přenos probíhá v modu
Split-Transfer. Ten dovoluje odesílateli až do odpovědi adresáta provádět další
přenosy na ostatní příjemce.
Transaction Layer navíc stanovuje pravidla pro přenos a management TLPs, jako
třeba pro kompatibilitu PCI/PCI X. Rozdělení datových paketů podle určitých
skupin Traffic Class dovoluje inteligentní kontrolu toku. Ve switchích jsou
tyto jednotky před datovým přenosem podle použití rozděleny nebo shrnuty do
virtuálních kanálů. Tento proces složí k efektivnímu využití existující šířky
pásma sběrnice, protože jsou předávány pouze ty datové pakety, které patří k
sobě. Specifikace PCI Express pro výměnu dat pomocí Transaction Layeru definuje
čtyři druhy adresování. Jsou to Memory, I/O, Configuration a Message, s různými
mody přenosu jako Reads a Writes.
Struktura Transaction Layeru I
Transaction Layer se skládá z Headeru, datové oblasti a případně i přílohy ke
zjišťování chyb. Obecný význam prvních čtyř bytů (dvojslovo) Transaction
Headeru je u všech paketů Transaction Layeru stejný. Začíná bitem nejvyššího
řádu bytu nula. Bity pět a šest bytu nula udávají délku Headeru (Fmt). Ten může
být dlouhý tři až čtyři dvojslova a případně může obsahovat i datovou přílohu.
Bity nula až čtyři bytu nula (Type) a dva bity délky Headeru definují mód
přenosu, jako například 32/64-Bit-Memory či I/O-Reads/Writes. Ty také stanovují
další skladbu Transaction-Headeru.
Bity Traffic-Classu (TC) čtyři až šest bytu jedna kódují osm různých obslužných
tříd, které přenos dat ovlivňují. Pouze systémový software v prostředí PCI
Express může definovat obslužné třídy, jako například přenos dat podle
priority. Defaultní nastavení (sled bitů: 000) podporuje veškeré komponenty PCI
Express. Sedmý bit bytu dvě v Transaction-Headeru (TD) signalizuje, že za
paketem Transaction Layeru následuje zvláštní příloha, které se skládá z
jednoho dvojslova. To obsahuje speciální kontrolní součet k rozpoznávání chyb
End-to-End-CRC (ECRC) a má tak zaručovat vyšší integritu dat. Usazením šestého
bitu bytu dvě (EP) příjemce rozpozná chybný TLP. Zpráva o statutu odesílatele
navíc informuje o vzniklé chybě a přiměje ho k opakování datového přenosu.
Rozpoznávání chyb je prováděno pouze u zapisovacích a čtecích operací.
Struktura Transaction Layeru II
Ordering-Attribute-Field (Attr) TLP se skládá z obou bitů čtyři a pět bytu dvě.
Pomocí čtvrtého bitu je možné adresovat pole Cache-Coherency-Managementu. Pokud
je bit deaktivován, přenosová operace nutí hardware provádět koherentní
přístupy na cache. Jeden bit signalizuje upuštění od této formy přístupu (No
Snoop). Pátý bit rozhoduje, zda budou datové přístupy probíhat přísně podle
pravidel PCI nebo podle určitých předpokladů specifikace PCI X. To garantuje
zpětnou kompatibilitu se standardy PCI/PCI X.
Délku uživatelské datové oblasti (Length) reprezentují byty tři a dva, u
třetího jsou vyhodnocovány pouze první dva bity. Celkový počet deseti bitů
představuje maximální datovou množinu 1 024 dvojslov, což v přepočtu znamená 4
KB uživatelských dat.
Header obsahuje v bitových polích Fmt, Type a TD všechny nutné informace, aby
mohl určit velikost celého Transaction Layer paketu.
Powermanagement
PCI Express Powermanagement podporuje všechny funkce, které jsou dány v Bus
Powermanagement Interface Specification Revision 1.1 a v Advanced Configuration
and Power Interface Specification Revision 2.0. Na rozdíl od PCI s
Device-Powermanagement-States D0, D1, D2, D3hot a D3cold definuje PCI Express
takzvané Link-Powermanagement-States. Jednotlivé Link-States L0, L0s, L1, L2 a
L3 jsou odvozeny z Device-States a mají podobné funkce. V módu L0/D0 zásobuje
napáječ proudem veškerý hardware. Stav L0s/D0/D1 je stejný jako mód Standby.
L1/D1/D2 rozšiřuje provoz Standby tak, že odpojí speciální funkční jednotky
karet. Ve stavu L2/D3hot je aktivováno pouze pomocné napětí napáječe. Zde se
pak systém nachází v takzvaném Low-Power-Sleep-State. Naproti tomu mód
L3/D3cold všechna napětí vypne.
Schopnost Hot Plug
Funkce Hot Plug umožňuje zapojovat nebo odebírat hardwarové komponenty počítače
v běžícím stavu. Přerušení provozu přes reset nebo Power-Down není nutné. První
oficiální specifikace Hot-Plugu pro PCI byla uvedena v roce 1997. V roce 2001
následovala přepracovaná verze se zlepšenou funkcionalitou
Standard-Hot-Plug-Controlleru (SHPC). Vývoj specifikace pro PCI Express Native
Hot Plug pro využití u sběrnic PCI Express začal již v roce 2002.
K výhodám PCI Express Native Hot Plugu patří i plná podpora Legacy PCI Hot
Plugu, která je založena na modelu SHPC. Navíc využívá celou řadu standardních
programů, které jsou již implementovány v současných operačních systémech jako
Windows 2003 Server a Windows XP. Native Hot Plug přitom upouští od verzí
BIOSu, ovladačů a modifikovaných řadičů zařízení, které jsou nastaveny
výrobcem. Každý komponent PCI Expressu, jako Root Complex, Bridge nebo Switch,
disponuje vlastním Hot Plug Controllerem, který pracuje nezávisle na nastavení
od výrobce, tedy podle specifikací PCI Express. Dalším plusem PCI Express Hot
Plugu jsou takzvané funkce Power Budgeting. Pokud je příkon PCI Express Slotu
omezen operačním systémem na určitou hodnotu nebo pokud se jednomu slotu v
systému nedostává dostatečného elektrického výkonu, pak PCI Express Native Hot
Plug tento stav rozpozná. Doručí tyto informace administrátorovi systému, který
může přijmout odpovídající opatření.
Naproti tomu stojí PCI Hot Plug se svojí nestandardizovanou a komplexní
funkcionalitou. Centrální ovládání PCI slotů přebírá externí Hot Plug
Controller. Společně se speciálně nastaveným ACPI-BIOSem výrobce jsou
Controller a BIOS schopny rozpoznat určitá zařízení Hot Plugu v PCI slotech a
spustit odpovídající průběhy funkcí podle údajů výrobce.
Na rozdíl od PCI Hot Plugu nabízí standardizovaný PCI Express Native Hot Plug
administrátorovi při správě systému rozhodující výhody. Pokud použité
komponenty odpovídají standardu PCI Express, pak není potřeba brát při
používání funkcí ohled na výrobní vlastnosti. Pokud například vložíme do PCI
Express slotu zařízení typu Native Hot Plug, je tento stav přímo signalizován
operačnímu systému. To nahrazuje definované Service-Interrupty ovladačů a
nastartuje odpovídající funkce Hot Plugu, které operační systém již podporuje.
PCI Express Graphic Interface
Dny konektoru AGP jsou sečteny. S prvními základními deskami s podporou PCI
Express jsme se setkali již v loňském roce. Výrobci grafických čipů a karet
jako ATI, NVIDIA a 3DLabs současně nabízejí produkty, které jsou pro novou
sběrnici určeny.
Grafický port pro PCI Express je již od počátku k dispozici v provedení x16
Link. Tato konfigurace umožňuje teoretickou šířku pásma 3,73 GB/s v jednom
směru. Proti tomu stojí interface AGP 8x s 1,99 GB/s. Počet přípojek stoupne z
132 pinů u Universal AGP na 164 pinů u zástrčky PCI Express.
Jednou z výhod nové technologie sběrnic PCI Express je bezkonfliktní routing
vodičů. Pouze jediný pár vodičů musí být absolutně symetrický a musí mít stejně
dlouhý layout. U délky různých párů vodičů ponechává tato specifikace více
volnosti, protože informace o Clocku a datech jsou přenášeny přes každý pár
vodičů, proto není Timing kritický. Architektura AGP se skládá z oddělených
vodičů Date a Strobe, které spolu korelují. Kvůli kompenzování signálních dob
jednotlivých vodičů je potřebné komplexní a exaktně definované vedení vodičů
(Serpentine Routing). Zásobování napětím pro rozhraní je omezeno na 3,3 a 12 V,
běžné rozhraní AGP požaduje navíc i zásobování napětím 5 a 1,5 V.
PCI Express slot může dávat až 75 W elektrického výkonu. Naproti tomu u
standardu AGP je podle specifikace možné dosáhnout maximálně 25 W. V provedení
AGP Pro je v závislosti na verzi k dispozici 50 a 110 W. Verze PCI Express Pro
se stále nachází ve vývojové fázi konsorcia PCI-SIG (http://www.pcisig.com/
home).
Mini PCI Express
Mini PCI Express je založena na standardu PCI Express. Toto rozhraní, které
není koncipováno pro konečného uživatele, by mělo zvládat speciální rozšíření
Onboard jako WLAN, modem v notebooku nebo PC.
K hlavním změnám oproti běžné zásuvce Mini PCI Type III patří poloviční
součinitel tvaru karet Mini PCI Express. Teoretická datová výkonnost se u
nového rozhraní navíc zvýšila ze 127,2 MB/s na 596 MB/s (jedna PCI Express
linka-viz s taktovací frekvencí 2,5 GHz). Tato vysoká šířka pásma umožňuje při
datovém přenosu přestup od paralelní na sériovou technologii PCI Express.
Kvůli zaručení vyšší flexibility rozhraní Mini PCI Express integrovali vývojáři
kromě sběrnice PCI Express i sběrnice SM a USB 2.0. Rozhraní Mini PCI disponuje
celkem 52 zásuvkovými kontakty. Odstup jednotlivých pinů je 0,8 mm. Interface
dodává 750 mA přes kontakty 3,3 V a 375 mA přes kontakty 1,5 V. Konečnou
specifikaci pro interface Mini PCI Express konsorcium PCI SIG () předložilo v
roce 2003.
ExpressCard
ExpressCard je další evolucí standardu PC Card na bázi PCI Express. PCMCIA
Trade Association představila kartu ExpressCard specifikace 1.0 v září roku
2003 pod označením NEWCARD. Standard ExpressCard díky většímu výkonu a menšímu
součiniteli tvaru nahradí dosavadní PC Cards v noteboocích a měl by být využit
i v oblasti PC.
Vyšší šířku pásma u standardu ExpressCard garantuje technologie PCI Express.
Volitelně lze použít i USB 2.0. Univerzální zástrčky ExpressCardu disponují
dostatečným množstvím kontaktů pro obě varianty a podporují oba dva systémy
sběrnic. Budoucí notebooky a PC nebudou k ovládání ExpressCardu potřebovat
žádné přídavné Controllery: PCI Express a USB 2.0 pak budou patřit ke
standardním vlastnostem systémových čipsetů. Notebooky se zástrčkami PC karet
ještě potřebují vlastní PC Card Controller, který tak zvyšuje náklady.
ExpressCard specifikace 1.0 definuje dva součinitele tvaru: ExpressCard/34 s
šířkou
34 mm a ExpressCard/54 s šířkou 54 mm. Druhá odpovídá šířce běžné PC Card a
přijímá například odpovídající pevné disky. Co se zástrček týče, jsou plánovány
také oba součinitele tvaru. Univerzálně použitelný slot Express Card/54 může
každopádně přijímat i Express Card/34. Výška ExpressCardu je standardně
5 mm, při shodné délce 75 mm.
PCMCIA poprvé nabízí u ExpressCard specifikace 1.0 společný standard pro
rozšiřující karty, který platí pro notebooky i PC. Současné PC Cardy se
prosadily výlučně v mobilních počítačích. Podobně jako USB 1.1/2.0 má i
ExpressCard v budoucnosti spojovat oba druhy, a tím nabízet vyšší
funkcionalitu. Vedle PCMCIA Trade Organisation podporují vývoj ExpressCard i
Intel, Microsoft, Dell, Lexar Media a SCM Microsystems. Průmyslové skupiny
USB-IF (http://www.usb. org/home) a PCI-SIG spolupracují na základě svých
rozhraní i na rozšířeném standardu. Měla by existovat i široká infrastruktura
systémů s čipsety PCI Express, které by přímo podporovaly komponenty
ExpressCardu.
Shrnutí
Zásadní výhoda PCI Express spočívá ve škálovatelnosti, softwarové kompatibilitě
s PCI a v univerzálním použití například v oblasti serverů a pracovních stanic.
Podle potřebné šířky pásma je totiž možné paralelně zapojit na jednom portu
více linek. Minimální konfigurace s jednou linkou dosahuje 2,5 GB/s v jednom
směru. Vývojáři považují za možné dokonce i zečtyřnásobení přenosového výkonu.
Vysoký výkon přenosu však relativizuje o dvacet procent snížený podíl na
uživatelských datech, což je podmíněno kódovacím procesem 8B/10B. PCI Express
se navíc dá použít nejen jako spojení I/O pro karty, ale rovněž jako vzájemné
propojení Chip-to-Chip. "Sériovým" systémem sběrnic a především nákladným
protokolem přenosu s kódováním 8B/10B vznikají při přenosu dat dlouhé latenční
doby, takže PCI Express nepřichází v úvahu jako sběrnice pro procesory nebo
paměti. V tom má výhodu HyperTransport, neboť zde tato zátěž neexistuje. Nová
technologie sběrnic bude použita i jako základ pro používání rozhraní AGP a
Mini PCI, stejně jako u rozhraní PC Card. Podle plánů Intelu by další vývoj PCI
Express Advanced Switchingu pod názvem PCI AS měl přinést i jeho využití jako
datové sběrnice v síťových procesorech. Dalším plusem PCI Expressu by měly být
i nízké náklady, vzhledem k malému počtu vodivých drah. Na druhé straně PCI
Express vyžaduje novou spojovací architekturu na systémové desky a nové karty,
jako například grafické karty. Je třeba brát zřetel na to, že PCI-X je jako
varianta se zpětnou kompatibilitou s PCI stále k dispozici a v provedení PCI-X
1066 nabízí i do budoucna dostatečný výkonnostní potenciál pro systémová
řešení. Předběžné odhady hovořily o tom, že PCI Express bude mít v zaváděcí
fázi těžkosti, aby se prosadila proti etablovaným architekturám sběrnic a
zavedeným základům karet. Praxe však ukazuje, že výrobci grafických karet se
již chopili příležitosti a architekturu PCI Express plně podporují.