Technologie: Sběrnice PCI Express
- Technologie: Sběrnice PCI Express
- Sběrnice PCI Express
- Vrstvy 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í.
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í).
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.
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.
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).
- 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
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.
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.
- 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.
- 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.