Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Technologie: Sběrnice PCI Express

18.5.2005, Soběslav Valach, článek
Technologie: Sběrnice PCI Express
Dnešní článek ze sekce Technologie popisuje základní principy a mechanismy chování sběrnice PCI Express. Srovnává sběrnice PCI a PCI Express. Dále se zaměřuje na jednotlivé typy komponent tvořící sběrnici PCI Express a popis jednotlivých vrstev modelu sběrnice.
Kapitoly článku:
3.2 Sběrnice PCI Express

Model fyzické vrstvy sběrnice PCI Express vychází spíše ze sítí typu peer-to-peer než z architektury PCI nebo PCI-X. Jistá podobnost architektury PCI Express je i v dělení vrstev viz obr. 4 se síťovým modelem ISO-OSI. Architektura typu peer-to-peer umožňuje nezávislou komunikaci mezi jednotlivými zařízeními, kdy jedno zařízení nemusí čekat na uvolnění sběrnice při vzniku požadavku na komunikaci s jiným zařízením, jak tomu bylo u architektury PCI. Pochopitelně komunikace neprobíhá pouze jedním směrem, ale oběma - rozhraní je plně duplexní.

Image preemf
Obrázek 4: Vrstvy sběrnice PCI Express

Další významnou změnou je způsob přenosu signálu po vedení. Sběrnice PCI využívaly k přenosu jeden vodič s dvoustavovou modulací (logická úroveň 1 nebo 0) naproti tomu sběrnice PCI Express využívá dva vodiče v diferenciálním zapojení. Modulace vodičů je obvykle vícestavová - používají se obvody preemfáze sloužící k úpravě signálů na vedení (obr. 5). Pozn. tento typ víceurovňové modulace neslouží k zvýšení přenosové rychlosti, ale ke korekci ztrát vznikajících na vedení při vysokých frekvencích (skinefekt, vyzařování).

Ikona Odkaz na databázi
Image preemf
Obrázek 5: Průběh signálu na Lanu sběrnice PCI Express

3.2.1 PCI Express Link

PCI Express Link reprezentuje komunikační kanál mezi dvěma zařízeními sběrnice PCI Express (obr. 6). Základní PCI Express Link je sestaven ze dvou nízkonapěťových diferenciálních párů a to přijímacího a vysílacího komunikačního páru označovaného jako Lane. Činnost vysílače i přijímače je na sobě nezávislá a Link tvoří plně duplexní komunikační kanál.

Ikona Odkaz na databázi

Obrázek 6: PCI Express Link

Základní vlastnosti komunikačního kanálu Link:

    • Základní link se skládá ze dvou jednosměrných diferenciálních párů v každém směru, reprezentující přijímací a vysílací pár. 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 může pracovat s příslušnými signálovými úrovněmi pro které byl navržen. Přenosová rychlost dle současné specifikace dosahuje 2,5Gbitu/s na jeden Lane v jednom směru. Zvýšení pracovní frekvence se předpokládá v dalších verzích specifikace.
    • Každý Link musí podporovat alespoň jeden Lane. Pro zvýšení přenosové rychlosti je možné využít sdružování Lanes do Linků v povolené šířce. Obvykle se jedná o hodnoty x1, x2, x4, x8, x12, x16 a x32. Stejná šířka musí byt dodržena jak pro přijímací, tak vysílací část.
    • 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.
3.2.2 Zařízení sběrnice PCI Express

Podobně jako sběrnice PCI, tak i sběrnice PCI Express je sestavena ze zařízení, která jsou vzájemně propojena a zajišťují nezbytné funkce sběrnice. Jedné se o zařizení: root complex, switches, endpoints a bridges. Jednotlivá zařízení a jejich funkce budou popsány v následujícím textu. Jednotlivé typy 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. Vyjímku tvoří propojení typu Advanced Peer-to-peer Link (nebude popisováno - využití v multiprocesorových systémech, nebo při propojení více PCI Express sběrnic s několika root complexy).
Tyto požadavky neomezují vzájemné propojení jednotlivých zařízení na sběrnici PCI Express. Například na root complex zařízení může být připojeno několik switchu, endpointů nebo bridgůe jak ukazuje obr. 7.

Obrázek 7: Architektura sběrnice PCI Express

- Root Complex

Je obdobou HOST-PCI Bridge u sběrnice PCI, který vytvářel propojení mezi hostitelským procesorem a systémovou pamětí. V současnosti zastává Root Complex následující 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 dále zajišťuje podporu PCI Express a systémových prostředků. Systémové prostředky jsou konfigurovatelné přes I/O prostor hostitelské sběrnice. Obvykle se jedné o řadič přerušení, Power Management a řadič Hot Plug zařízení.

Na obr. 8 je základní model root complexu. Jak je vidět z obrázku, veškerá zařízení sběrnice PCI Express jsou na straně downstreamu (tedy "pod Root Complexem'") a zařízení hostitelského procesoru a paměti na straně upstreamu. Jak již bylo zmíněno výše, 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í. Příkladem může být propojené zařízení rca a rcb z obr. 8 Tato funkce nemusí byt implementovaná.


Obrázek 8: Architektura Root Complexu

- Switch

Switch zajišťuje větvení a rozšiřování sběrnice PCI Express od downstream portu root complexu, nebo jednoho switche k dalším PCI Express zařízením (endpointy, switche a bridge). Primárně switch zajišťuje přenos paketů mezi upstream a downstream portem. Architektura zachovává členění do PCI segmentů a virtuálních sběrnic (obr. 9). 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.

Obrázek 9: Architektura switche


- Bridge

Bridge zajišťuje převod mezi PCI Express a jiným typem sběrnice (PCI, PCI-X, nebo jiným). V podstatě se dá říct, že bridge se chová podobně jako swich, ale musí být schopen přenášet specifické transakce jiného typu sběrnice a pochopitelně podporovat specifikaci příslušné sběrnice. Vnitřní zapojení bridge ukazuje obr. 10.


Obrázek 10: Architektura bridge

- Endpoint

Pod pojmem Endpoint rozumíme 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 (ekvivalent ke specifikaci PCI). Endpointy můžeme rozdělit do dvou skupin a to Legacy Endpoints a 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)
      • Při 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.