PCI (sběrnice)
PCI (z anglického Peripheral Component Interconnect) nebo PCI Standard (v praxi se však téměř vždy zkracuje na PCI) je počítačová sběrnice pro připojení periferií k základní desce, která není omezená na platformu osobních počítačů PC. Používá paralelní přenos dat (šířka 32 nebo 64 bitů) a je orientovaná na přenos zpráv místo přímé komunikace (anglicky message passing). Od zbytku systému je oddělena pomocí PCI mostů, které zprostředkovávají komunikaci s připojenými kartami. V jednom počítači může být jedna nebo i více na sobě nezávislých PCI sběrnic. Jejím prostřednictvím lze připojit periférie spadající do dvou kategorií:
- integrovaný obvod zabudovaný přímo do základní desky – označuje se jako planární zařízení
- rozšiřující karta, která se vsune do konektoru (slotu) sběrnice
PCI | |
---|---|
Peripheral Component Interconnect | |
Pět rozšiřujících 32bitových PCI slotů na základní desce | |
Rok vytvoření | v polovině 1993 |
Vytvořil | Intel |
Předchůdce | ISA, EISA, VL-bus, MCA, NuBus a další |
Nástupce | PCI Express (2004) |
Typ | paralelní |
Datová šířka | 32 bitů |
Frekvence | 33, 66, 133 (PCI-X), 266 a 533 (PCI-X 2.0) MHz |
Počet zařízení | 1 na slot |
Hotplug? | ne |
Externí? | ne |
Sběrnice PCI byla běžná v osobních počítačích, kde jako standardní rozšiřující sběrnice nahradila sběrnici ISA a VESA Local Bus, ale objevovala se také v mnoha jiných typech počítačů. Nízká propustnost PCI sběrnice vedla k vytvoření specializovaného portu AGP určeného pro grafické karty, který je rychlejší než PCI sběrnice a zároveň přinesl další vylepšení. PCI a AGP byly dlouhou dobu součástí většiny vyráběných základních desek pro PC. V současné době jsou PCI i AGP nahrazeny sběrnicí PCI Express, která používá sériový přenos. Specifikace PCI se zabývá fyzickými rozměry sběrnice (včetně rozestupu vodičů), elektrickými charakteristikami, časováním sběrnice a protokoly. Tyto specifikace lze zakoupit od konzorcia PCI Special Interest Group (PCISIG).
Historie
Práce na PCI počaly v laboratořích Intel kolem roku 1990. PCI 1.0, která byla pouze specifikací na úrovni komponent, byla zveřejněna 22. června 1992. PCI 2.0, která první založila standard pro konektor a slot základní desky, byla uvolněna 30. dubna 1993. PCI 2.1 byla vydána 1. června 1995.
PCI se okamžitě začala používat v serverech, nahradila MCA a EISA sběrnici. V osobních počítačích PCI pomalu nahrazovala VESA Local Bus (VLB) a na trh nijak výrazně nepronikla až do konce roku 1994, kdy se začala používat v osobních počítačích s procesorem Pentium. Kolem roku 1996 VLB sběrnice téměř zanikla a výrobci začali používat PCI dokonce pro počítače s procesorem Intel 486. EISA byla používána spolu s PCI až do roku 2000. Apple přijal PCI pro profesionální počítače Power Macintosh (nahradil tak NuBus) v roce 1995 a produktovou řadu Performa (náhrada LC PDS) v roce 1996.
Následné revize PCI přidaly nové vlastnosti a vylepšení výkonu, včetně standardu 66 MHz a 3,3 V, následně 133 MHz PCI-X standardu. PCI-X 1.0b stejně tak jako PCI-X 2.0 jsou zpětně kompatibilní s některými PCI standardy. Od uvedení sériového standardu PCI Express v roce 2004 výrobci základních desek začali snižovat množství PCI slotů ve prospěch nového standardu PCI-E. Ačkoliv je stále běžné užívat obě rozhraní vedle sebe, klasická PCI bude pravděpodobně vytlačena v následujících letech.
Přerušení
Specifikace PCI protokolu zajišťuje, že přerušení mohou být sdílená, takže o jedno přerušení se může dělit více karet. Ovladače jsou pak vyvolány v sérii a tak je zajištěno, že je příslušné zařízení obslouženo. Nevýhodou je však vyšší latence a režie obsluhy přerušení, a proto se obvykle velmi aktivní zařízení umisťují na samostatná přerušení (typicky řadič disků a síťová karta). Sběrnice PCI obsahuje čtyři linky přerušení a všechny z nich jsou dostupné každému zařízení. Každému zařízení tak mohou být při inicializaci sběrnice až čtyři přerušení, což však není běžné. Zároveň jsou k dispozici pouze čtyři přerušení, které označujeme INTA#, INTB#, INTC# a INTD#, která jsou v PCI mostu asociována s vnějšími přerušeními procesoru (jejich konkrétní přiřazení není obvykle uživatelsky nastavitelné).
Fyzicky jsou jednotlivé linky přerušení na sběrnici zapojeny kaskádovitě, takže INT#A je v prvním slotu na první pozici, ve druhém slotu na druhé pozici atd. Chceme-li, aby byla karta asociována s jiným přerušením, a není možné toho dosáhnout změnou v nastavení BIOSu, stačí obvykle posunout karty do jiných slotů, což je nutné zejména u základních desek s více než čtyřmi sloty připojenými na jedinou PCI sběrnici. Jednoduchá zařízení používají obvykle pouze své první přerušení, takže zátěž jednotlivých přerušení je v ideálním případě u čtyř slotů rovnoměrně rozložena mezi zmíněné čtyři linky přerušení.
Linky přerušení na sběrnici PCI jsou úrovňově spouštěné. Tomuto způsobu spouštění přerušení byla dána přednost před spouštěním přes hranu, aby bylo možné použít obsluhu sdílené přerušovací linky, a také kvůli robustnosti – hranou spuštěná přerušení se snadno promeškají. Nicméně, tato výhoda je za cenu flexibility. Jedno přerušující zařízení může blokovat všechna ostatní zařízení na stejné lince přerušení.
Pozdější revize PCI specifikací přidávají podporu pro přerušení signalizované zprávou. V tomto případě zařízení oznamuje svůj požadavek na obsloužení zápisem do paměti, nedává tedy o sobě vědět prostřednictvím vyhrazené linky. Výsledkem je řešení problému s nedostatkem přerušovacích linek. I když jsou vektory přerušení stále sdílené, nedochází zde k problému se sdílením úrovňově spouštěných přerušení. Také to řeší problém se směrováním, protože zápis do paměti není nepředvídatelně měněný mezi zařízením a hostitelem. Protože signalizace zprávami je svázaná, řeší to některé synchronizační problémy, které se mohou vyskytnout s vyslanými zápisy a nesvázanými přerušovacími linkami.
PCI Express již fyzické linky pro přerušení nemá, používá výhradně posílání zpráv.
Automatická konfigurace
V době, kdy v PC kralovala sběrnice ISA, bylo při přidání nové karty do systému nutné, aby její majitel nastavil nejprve kartu a pak stejně i její ovladač. Zároveň bylo nutné, aby žádné dvě karty nebyly v konfliktu (nebyly nastaveny stejně nebo tak, že se jejich nastavení překrývalo). Přidat do počítače kartu tak nebylo vůbec jednoduché. Proto byl vyvinut standard PnP (Plug and Play), který umožňoval, aby karta byla jednoduše zasunuta do slotu a o zbytek se postaral sám počítač a operační systém. Zpočátku nebylo toto rozšíření vždy zcela funkční (Plug and Play lidé nazývali "hanlivě" jako Plug and Pray – zapoj a modli se) a jeho podpora ze strany software byla také minimální. PnP bylo firmou Intel zakomponováno přímo do PCI standardu a ve Windows 95 již byla přítomna i její systémová podpora.
Postup automatické konfigurace zařízení
- karta je vsunuta do slotu vypnutého počítače
- po zapnutí počítače je aktivována PnP část BIOSu
- BIOS postupně vyzve všechna zařízení připojená ke sběrnici k identifikaci
- zařízení odesílají své identifikátory a požadavky
- BIOS přidělí níže uvedené systémové prostředky mezi připojená zařízení tak, aby nedošlo ke konfliktům:
- přerušení
- I/O porty
- adresový prostor v paměti RAM (pro paměť na kartě)
- údaje o konfiguraci jsou umístěna do paměti
- je spuštěn operační systém
- podle identifikace zařízení operační systém vyhledá ovladače
- ovladače si přečtou konfiguraci svých zařízení a začnou je obsluhovat
Konfigurace jednotlivých zařízení je uložena v registrech PCI sběrnice (ESCD – Extended System Configuration Data), která mohou být použita při dalším startu počítače. Uživatel v některých verzích BIOSů může ručně vynutit novou kompletní inicializaci pomocí vymazání ESCD. BIOSy, které podporují ACPI, ukládají do speciálních tabulek mnohem více informací.
Celý proces automatické konfigurace funguje spíše jako černá skříňka, takže uživatel má obvykle minimální možnosti, jak jej ovlivnit. Ze stejného důvodu není výsledek automatické konfigurace předvídatelný ani u podobných zařízení.
Charakteristika
PCI sběrnice používaná v běžných domácích PC
- šířka sběrnice 32 bitů
- hodiny s kmitočtem 33,33 MHz a synchronním přenosem
- maximální teoretická přenosová rychlost 133 MB za sekundu (33,33 MHz × 32 bitů ÷ 8 bitů/byte = 133 MB/s)
- přenosovou kapacitu sdílejí všechna připojená zařízení
- prakticky je maximální rychlost nižší (část se spotřebuje na režii sběrnice)
- tehdejší běžný pevný disk dokázal při sekvenčním čtení dosáhnout 60 MB/s
- připojíme-li na sběrnici PCI kartu IDE řadiče se dvěma disky, nebude již klasická PCI sběrnice stačit
- 32bitová adresová sběrnice (adresace až 4 GB paměti RAM)
- 32bitové adresy I/O portů
- 256 bajtů konfiguračního prostoru
Verze
- Pozdější verze PCI umožňují (a v nejposlednější verzi vyžadují) 3,3 V sloty na základních deskách (jiné klíčování resp. zářezy) a umožňují kartám, aby byly buď dvakrát klíčované pro obě napětí, nebo jen pro 3,3 V
- PCI 2.2 umožňuje 66 MHz signalizaci (vyžaduje 3,3 V signalizaci – nejvyšší možná rychlost přenosu 533 MB/s), zavádí přerušení signalizované zprávou (MSI)
- PCI 2.3 dovoluje použít 3,3 V a univerzální klíčování, ale nedovoluje klíčování pro 5 V.
- PCI 3.0 je konečný oficiální standard pro PCI sběrnici, byla úplně odstraněna možnost 5 V.
- PCI-X je zpětně kompatibilní s PCI 2.3 a zdvojnásobuje šířku na 64 bitů, upravuje protokol a zvyšuje maximální signalizační frekvenci na 133 MHz (nejvyšší přenosová rychlost 1014 MB/s)
- PCI-X 2.0 povoluje 266 MHz kmitočet (nejvyšší přenosová rychlost 2035 MB/s) a také 533 MHz, rozšiřuje konfigurační prostor na 4096 bajtů, přidává šestnáctibitovou variantu a umožňuje signalizaci na 1,5 V.
- Mini PCI je nová forma PCI 2.2 pro použití v přenosných počítačích.
- CardBus je karta PC pro 32bitovou, 33 MHz PCI
- Compact PCI používá moduly velikosti Eurokarty
- PCI/104-Plus je průmyslová sběrnice která používá signály PCI s různými konektory
Fyzická velikost karty
Karta plné velikosti je vysoká 107 mm a hluboká 312 mm. Výška zahrnuje okraj konektoru karty. Kromě těchto rozměrů jsou také standardizovány fyzické rozměry a umístění podložky. Podložka je část, která drží kostru karty, aby ji stabilizovala, a také obsahuje externí konektory, takže se obvykle upevňuje do rámečku na zadní straně počítače a je přístupná zvenku. PCI karta může mít jakékoliv menší rozměry, ale podložka musí mít vždy plnou velikost a být správně umístěná, aby karta správně pasovala do jakéhokoliv slotu PCI. Přesto někteří výrobci použili jiné rozměry (např. Dell). Karty poloviční výšky a délky, stejně tak jako sloty, jsou běžné, a očividně mají poloviční rozměry karet plné velikosti. Jiné karty se sníženou výškou se nazývají nízkoprofilové (low profile) nebo slim.
Existuje nejméně jedna redukovaná velikost zadní podložky a také existuje velmi kompaktní kostra, která vyžaduje tuto úpravu, ale toto není běžné.
Rozšiřující karta poloviční délky (Half-length extension card)
Šířka 15,24 mm, hloubka 175,26 mm, výška 106,69 mm.
Klíčování
Běžné PCI karty mají buď jeden nebo dva klíčovací zářezy podle napěťové signalizace. Karty vyžadující 3,3 V mají zářez vedle přední strany karty (kde se nacházejí externí konektory) zatímco ty, vyžadující 5 voltů mají zářez na druhé straně. Takzvané univerzální karty mají oba zářezy a mohou přijímat oba typy signálů.
Mini PCI
Mini PCI je 32bitová sběrnice pracující na taktu 33 MHz vyvinutá pro notebooky. Do specifikace PCI byla přidána ve verzi 2.2. Součástí je napájení (pouze 3,3 V; 5 V je limitováno maximálním proudem 100 mA), podpora bus masteringu a DMA. Standardní velikost Mini PCI karet je čtvrtinová vzhledem k její standardní verzi. Vnější přístup je v porovnání s klasickými PCI kartami značně limitován, též jsou omezeny různé další funkce.
Pro Mini PCI bylo vyvinuto mnoho zařízení, například Wi-Fi, Fast Ethernet, Bluetooth, modemy, zvukové karty, SCSI, IDE-ATA, SATA řadiče a různé kombinace karet.
Mini PCI karty mohou být použity i v klasických základních deskách pro stolní počítače, je však zapotřebí speciální redukce. Dnes bývá Mini PCI nahrazována sběrnicí Mini PCI Express.
Související články
- ISA
- EISA
- Micro Channel architecture (MCA)
- Mini PCI
- NuBus
- VESA Local Bus (VLB)
- Accelerated Graphics Port (AGP)
- PCI Express (PCIe)
- PCI-X
Externí odkazy
- Obrázky, zvuky či videa k tématu PCI na Wikimedia Commons
- (anglicky) How Stuff Works - PCI
- (anglicky) PCI SIG
- (anglicky) PCI Interfacing from Windows OS.
- (anglicky) http://pciids.sourceforge.net PCI IDs.
- (anglicky) PCI and PCI32 utilities, Craig Hart's freeware PCI Software suites and ID Database
- (anglicky) PCI bus pin-out and signals
- (anglicky) GNU/Linux PCI device driver check page
- (anglicky) Brief overview of PCI power requirements and compatibility with a nice diagram.