PCI | |
---|---|
Poveste | |
Dezvoltator | Intel |
Dezvoltat | 1992 |
alungat | Arhitectura ISA și Micro Channel |
Deplasat | PCI Express |
Fișiere media la Wikimedia Commons |
PCI ( eng. Peripheral component interconnect "interconnection of peripheral components") este o magistrală de intrare-ieșire pentru conectarea dispozitivelor periferice la o placă de bază a computerului .
Standardul magistralei PCI definește:
Standardul PCI este dezvoltat de Grupul de Interese Speciale PCI .
Interfața a fost utilizată pe scară largă în calculatoarele de consum în perioada 1995-2005 [1] [2] . Apoi a fost înlocuit de noul standard PCI Express , parțial compatibil cu PCI în ceea ce privește modelul software și, pentru o serie de aplicații, diverse variante ale magistralei USB .
În primăvara anului 1991, Intel a finalizat dezvoltarea primei versiuni de breadboard a magistralei PCI. Inginerii au fost însărcinați să dezvolte o soluție cu costuri reduse și de înaltă performanță care să permită realizarea capabilităților procesoarelor 486 , Pentium și Pentium Pro . În plus, a fost necesar să se țină cont de greșelile făcute de VESA la proiectarea magistralei VLB (sarcina electrică nu permitea conectarea a mai mult de 3 plăci de expansiune), precum și să se implementeze autoconfigurarea dispozitivelor după exemplul protocolului Autoconfig . pentru computerele Amiga . Au fost luate în considerare și greșelile de marketing ale MCA , ceea ce a dus la confruntarea „gașcă de nouă” cu EISA .
În iunie 1992, apare prima versiune a magistralei PCI, Intel anunță că standardul de magistrală va fi deschis și creează PCI Special Interest Group. Datorită acestui fapt, orice dezvoltator interesat are posibilitatea de a crea dispozitive pentru magistrala PCI fără a fi nevoie să achiziționeze o licență. Prima versiune a magistralei avea o viteză de ceas de 33 MHz, putea fi de 32 sau 64 de biți, iar dispozitivele puteau funcționa cu semnale de 5 V sau 3,3 V. Teoretic, debitul magistralei era de 133 MB/s, dar în realitate debitul a fost de aproximativ 90 MB/s Singurul chipset care a suportat magistrala PCI 1.0 a fost Intel 420TX (nume de cod Saturn), lansat în noiembrie 1992.
La mijlocul anului 1993, Intel a părăsit asociația VESA și a început să ia măsuri active pentru a promova magistrala PCI pe piață. PCI 2.0 a fost un răspuns la criticile specialiștilor de la conferințele Usenet și ale companiilor concurente (caracteristicile autobuzului erau în mare măsură similare, de exemplu, Zorro III , au fost publicate articole despre designul eronat al autobuzului) a devenit PCI 2.0.
În 1995, a apărut versiunea PCI 2.1 (un alt nume este „magistrala PCI paralelă”), care asigura transferul de date prin magistrală la o frecvență de 66 MHz și o rată de transfer maximă de 533 MB/s (pentru o versiune pe 64 de biți). cu o frecvenţă de 66 MHz). În plus, această magistrală a fost deja suportată la nivelul Windows 95 ( tehnologie Plug and Play ). Versiunea de magistrală PCI 2.1 sa dovedit atât de populară încât a fost portată în curând pe platforme cu Alpha , MIPS , PowerPC , SPARC și alte procesoare.
În 1997 , în legătură cu dezvoltarea graficii pe computer și dezvoltarea magistralei AGP , magistrala PCI a încetat să îndeplinească noile cerințe crescute pentru plăcile video și nu a mai fost folosită pentru instalarea plăcilor video.
La sfârșitul anilor 2000 [2] - începutul anilor 2010, interfața PCI a fost înlocuită treptat de interfețe PCI Express și USB . Pe plăcile de bază pentru consumatori, numărul de sloturi PCI [3] a scăzut , acestea sunt instalate nu mai mult de 1-2, în loc de 3-4 sau mai multe, utilizate la începutul anilor 2000 [4] . Pe unele plăci de bază (în special factori de formă compacti mATX etc.) nu este instalat deloc un conector PCI [3] [4] .
Inițial 32 de conductoare de adrese/date la 33 MHz. Au apărut versiuni ulterioare cu 64 de conductori (se folosește un bloc conector suplimentar) și o frecvență de 66 MHz.
Autobuzul este descentralizat, nu există un dispozitiv master, orice dispozitiv poate iniția o tranzacție. Arbitrajul cu o logică separată a arbitrului este utilizat pentru a selecta inițiatorul . Arbitrajul este „ascuns”, nu necesită timp - alegerea unui nou inițiator are loc în timpul tranzacției efectuate de inițiatorul anterior.
O tranzacție constă din 1 sau 2 cicluri de adrese (2 cicluri de adrese sunt utilizate pentru a transfera adrese pe 64 de biți, nu sunt acceptate de toate dispozitivele, acceptă DMA pe memorie mai mare de 4 GB) și unul sau mai multe cicluri de date. O tranzacție cu multe cicluri de date se numește „explozie”, este înțeleasă ca citirea / scrierea de adrese consecutive și oferă o viteză mai mare - un ciclu de adresă pentru mai multe, și nu pentru fiecare ciclu de date și fără timp de nefuncționare (pentru a „calma” conductorii ) între tranzacții.
Sunt folosite tipuri speciale de tranzacții pentru a accesa spațiul de configurare al unui dispozitiv.
O tranzacție „batch” poate fi suspendată temporar de ambele dispozitive din cauza lipsei de date în buffer sau a depășirii acestuia.
Tranzacțiile „divizate” sunt acceptate, în cazul în care dispozitivul țintă răspunde cu starea „în desfășurare”, iar inițiatorul trebuie să elibereze magistrala pentru alte dispozitive, să o confisc din nou prin arbitraj și să încerce din nou tranzacția. Acest lucru se face până când dispozitivul țintă răspunde cu „terminat”. Folosit pentru interfața magistralelor cu viteze diferite (PCI-ul propriu-zis și magistrala frontală a procesorului ) și pentru a preveni blocarea într-un scenariu cu poduri multi-bus.
Suport bogat pentru poduri de bare colectoare. Suport bogat pentru moduri de stocare în cache, cum ar fi:
Întreruperile sunt acceptate fie ca întreruperi semnalizate prin mesaj (nou) fie în mod clasic folosind fire INTA-D#. Conductoarele de întrerupere funcționează independent de restul magistralei, este posibil să partajați un conductor cu mai multe dispozitive.
Dispozitivele PCI sunt plug and play din punctul de vedere al utilizatorului . După ce computerul pornește, software-ul de sistem examinează spațiul de configurare PCI al fiecărui dispozitiv conectat la magistrală și alocă resurse.
Fiecare dispozitiv poate solicita până la șase intervale în spațiul de adrese de memorie PCI sau în spațiul de adrese PCI I/O.
În plus, dispozitivele pot avea un ROM care conține cod executabil pentru procesoare x86 sau PA-RISC , Open Firmware (software de sistem pentru computere bazate pe SPARC și PowerPC ) sau un driver EFI .
Întreruperile sunt configurate și de software-ul de sistem (spre deosebire de magistrala ISA , unde întreruperile au fost configurate de comutatoarele de pe card). O solicitare de întrerupere pe magistrala PCI este transmisă prin schimbarea nivelului semnalului pe una dintre liniile IRQ , astfel încât este posibil ca mai multe dispozitive să funcționeze cu o linie de solicitare de întrerupere; de obicei, software-ul de sistem încearcă să aloce o întrerupere separată fiecărui dispozitiv pentru a crește performanța.
Prima specificație a fost aprobată în iunie 1992. Singurul chipset lansat cu suport pentru această versiune a magistralei PCI este Intel 420TX (Saturn). Plăcile de bază pentru 486 de procesoare bazate pe acest chipset au fost produse de la sfârșitul anului 1992 până în 1994 și nu au fost utilizate pe scară largă. Suportă plăci periferice PCI 1.0 și 2.0 (cardurile PCI 2.1 introduse în 1996 nu mai sunt acceptate). Arbitrajul este centralizat.
Prima versiune a standardului de bază, care a fost adoptată pe scară largă, a folosit atât carduri, cât și sloturi cu o tensiune de semnal de numai 5 volți. Debitul maxim este de 133 MB/s. Plăcile de bază bazate pe chipset-uri PCI 2.0 acceptă plăci periferice PCI 2.0 și 2.1 (cardurile PCI 2.2 introduse în 1998 nu mai sunt suportate). Primul chipset care suportă această specificație, Intel 430LX (Mercury), a apărut în 1993 și a fost proiectat pentru plăci de bază Socket 4 care suportă primele procesoare Pentium, tactate la 60MHz și 66MHz. Arbitrajul este centralizat.
Acestea diferă de versiunea 2.0 prin posibilitatea de funcționare simultană a mai multor magistrale de magistrală ( ing. bus-master , așa-numitul mod competitiv), precum și prin apariția plăcilor de expansiune universale capabile să funcționeze ambele în sloturi folosind o tensiune de 5 volți și în sloturi folosind 3,3 volți (cu o frecvență de 33, respectiv 66 MHz). Debitul maxim pentru 33 MHz este de 133 MB/s, iar pentru 66 MHz este de 266 MB/s. Arbitrajul este descentralizat.
O extensie a standardului de bază PCI introdus în versiunea 2.1 care dublează numărul de benzi de date și, prin urmare, lățimea de bandă. Slotul PCI 64 este o versiune extinsă a slotului PCI obișnuit. Formal, compatibilitatea cardurilor de 32 de biți cu sloturi de 64 de biți (cu condiția să existe o tensiune de semnal acceptată comună) este completă, în timp ce compatibilitatea unui card de 64 de biți cu sloturi de 32 de biți este limitată (în orice caz, va exista fi o pierdere de performanță). Funcționează la o frecvență de ceas de 33 MHz. Debitul maxim este de 266 MB/s. Arbitrajul este descentralizat.
PCI 66 este o evoluție de 66 MHz a PCI 64; folosește o tensiune de 3,3 volți în slot; cardurile au un factor de formă universal sau de 3,3 V. Debitul maxim este de 533 MB/s. Arbitrajul este descentralizat.
Combinația dintre PCI 64 și PCI 66 permite o rată de transfer de date de patru ori mai mare decât standardul PCI de bază; folosește sloturi de 3,3 volți pe 64 de biți compatibile numai cu cele universale și plăci de expansiune de 3,3 volți pe 32 de biți. Cardurile PCI64/66 au fie universale (dar compatibilitate limitată cu sloturile pe 32 de biți), fie un factor de formă de 3,3 volți (aceasta din urmă opțiune este fundamental incompatibilă cu sloturile pe 32 de biți de 33 MHz ale standardelor populare). Lățimea de bandă maximă - 533 MB/s. Arbitrajul este descentralizat.
Dezvoltarea versiunii PCI 64. Pentru toate opțiunile de magistrală, există următoarele restricții privind numărul de dispozitive conectate la fiecare magistrală: 66 MHz - 4, 100 MHz - 2, 133 MHz - 1 (sau 2, dacă unul sau ambele dispozitive nu sunt pe plăcile de expansiune, dar sunt deja integrate pe aceeași placă cu controlerul), 266, 533 MHz și mai mare - 1.
Versiunea 1.0 - a introdus două frecvențe de operare noi: 100 și 133 MHz, precum și un mecanism separat de tranzacție pentru a îmbunătăți performanța atunci când mai multe dispozitive funcționează simultan. În general, compatibil cu toate plăcile PCI de 3,3 V și universale. Cardurile sunt de obicei realizate în format de 64 de biți la 3,3 V și au o compatibilitate inversă limitată cu sloturile PCI64/66, iar unele plăci sunt în format universal și pot funcționa (deși acest lucru nu are aproape nicio valoare practică) în PCI obișnuit 2.2/2.3. Debitul maxim este de 1024 MB/s.
Versiunea 2.0 - au fost introduse două frecvențe noi de operare: 266 și 533 MHz, precum și corectarea erorilor de paritate în timpul transmisiei de date ( ECC ). Extinde spațiul de configurare PCI la 4096 de octeți și permite împărțirea în 4 magistrale independente de 16 biți, care este utilizat exclusiv în sistemele încorporate și industriale, tensiunea semnalului este redusă la 1,5 V, dar conectorii sunt compatibili cu toate plăcile care utilizează tensiunea semnalului. 3, 3 V. Debit maxim - 4096 MB / s. Arbitrajul este descentralizat.
Factor de formă PCI 2.2, destinat utilizării în principal pe laptopuri .
PCMCIA este un factor de formă pentru carduri pe 32 de biți, PCI de 33 MHz.
Sunt utilizate module de dimensiune Eurocard incluse în backplane PCI .
O magistrală industrială care utilizează setul de semnal PCI, dar cu un conector diferit.
O magistrală industrială care utilizează setul de semnal PCI-E.
PCI Mezzanine Card , o magistrală mezanin care respectă standardul IEEE P1386.1.
Autobuz de ultimă generație pentru industria telecomunicațiilor bazată pe interfața PCI Express . [5] [6]
PCI Express (cunoscut anterior ca 3GI0 și Arapaho) este o interfață serială care folosește modelul software PCI, dar are un strat fizic mai puternic (folosind LVDS și conectori noi) [6] .
Autobuze și interfețe pentru computer | |
---|---|
Noțiuni de bază | |
Procesoare | |
Intern | |
laptopuri | |
Unități | |
Periferie | |
Managementul echipamentelor | |
universal | |
Interfețe video | |
Sisteme integrate |