Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Erori
  • Conectori pentru placa de baza: cum se conecteaza. PCI Express - ce este și principalele caracteristici

Conectori pentru placa de baza: cum se conecteaza. PCI Express - ce este și principalele caracteristici

Unde se folosesc țesături neinflamabile www.algo-textile.ru. Accesorii plase de tantari pentru plase de tantari 2-sklad.ru.

PCI și PCI-X

magistralele PCI și PCI-X

Introducere

Magistralele PCI și PCI-X sunt principalele magistrale de expansiune I/O din computerele moderne; pentru conectarea adaptoarelor video, acestea sunt completate de un port AGP. Expansion Bus este o conexiune la nivel de sistem care permite adaptoarelor și controlerelor periferice să utilizeze direct resursele de sistem ale computerului - memorie și spațiu de adrese I/O, întreruperi și acces direct la memorie. Dispozitivele conectate la magistralele de expansiune pot gestiona singure aceste magistrale, obținând acces la restul resurselor computerului. Magistralele de expansiune sunt implementate mecanic ca sloturi (conectori cu fante) sau conectori cu pini; se caracterizează printr-o lungime mică a conductoarelor, adică sunt pur locale, ceea ce face posibilă atingerea unor viteze mari de funcționare. Este posibil ca aceste magistrale să nu fie transmise la conectori, dar sunt folosite pentru a conecta dispozitive în plăcile de bază integrate.

Inițial, magistrala PCI a fost introdusă ca un add-on (magistrală mezanin) pentru sistemele cu o magistrală ISA. A fost proiectat pentru procesoarele Pentium, dar a funcționat bine cu procesoarele i486. Mai târziu, PCI a devenit magistrala centrală pentru o perioadă de timp: a fost conectată la magistrala procesorului printr-o punte de înaltă performanță („punte de nord”) care făcea parte din chipsetul plăcii de bază. Restul magistralelor de expansiune I/O (ISA / EISA sau MCA), precum și interfața locală X-BUS și LPC de tip ISA, la care sunt conectate cipurile plăcii de bază (ROM BIOS, controlere de întrerupere, tastaturi, DMA, Porturi COM și LPT, unități de dischetă etc. alte „lucuri mici”), conectate la magistrala PCI prin podul „sud”. În plăcile de bază moderne cu arhitectură „hub”, magistrala PCI a fost mutată la periferie, fără a încălca puterea canalului de comunicație cu procesorul și memoria, dar și fără a încărca traficul de tranzit de la dispozitive pe alte magistrale.

Busul PCI este sincron - toate semnalele sunt blocate pe marginea pozitivă (marginea) a semnalului CLK. Frecvența nominală de ceas este considerată a fi de 33,3 MHz; dacă este necesar, poate fi redusă. Începând de la PCI 2.1, este permisă creșterea frecvenței la 66,6 MHz dacă toate dispozitivele de pe magistrală sunt de acord. În PCI-X, frecvența poate ajunge la 133 MHz.

PCI folosește o magistrală de adresă / date (AD) multiplexată paralelă pe 32 de biți. Specificația definește posibilitatea extinderii adâncimii de biți până la 64 de biți; PCI-X versiunea 2.0 definește, de asemenea, o opțiune de magistrală pe 16 biți. Cu o frecvență magistrală de 33 MHz, lățimea de bandă teoretică atinge 132 MB/s pentru o magistrală pe 32 de biți și 264 MB/s pentru una pe 64 de biți; la o frecvență de sincronizare de 66 MHz - 264 MB / s și, respectiv, 528 MB / s. Cu toate acestea, aceste vârfuri sunt atinse doar în timpul transmisiei pachetelor: din cauza supraîncărcării protocolului, lățimea de bandă medie reală a magistralei este mai mică.

Caracteristicile comparative ale magistralelor PCI și PCI-X și ale altor magistrale de expansiune pentru computerele compatibile cu PC sunt prezentate în tabel. 1.1. Bus-ul ISA părăsește computerele desktop, dar își păstrează poziția în computerele industriale și încorporate, atât în ​​slotul tradițional, cât și în versiunea „sandwich” PC/104. Notebook-urile folosesc pe scară largă sloturi PCMCIA cu PC Card și Card Bus. Autobuzul LPC este un mijloc modern, cu costuri reduse, de conectare a dispozitivelor cu resurse reduse la placa de bază.

Obosi Debit maxim MB/s Canale DMA Maestru de autobuz ACFG Adâncimea de biți a datelor Lățimea adresei Frecvența MHz
ISA-8 4 3 - - 8 20 8
ISA-16 8
7
+
-
16
24
8
Lpc 6,7
7
+
-
8/16/32
32
33
EISA
33,3 7 +
+
32
32
8,33
MCA-16
16
-
+
+
16
24
10
MCA-32
20
-
+
+
32
32
10
VLB
132
-
(+)
-
32/64
32
33-50(66)
PCI
133-533
-
+
+
32/64
32/64
33/66
PCI-X
533-4256
-
+
+
16/32/64
32/64
66-133
PCI Express
496-15872
-
+
+
1/2/4/8/12/16/32
32/64
2,5 GHz
AGP 1x / 2x / 4x / 8x
266/533/1066/2132
-
+
+
32
32/64
66
PCMCIA
10/22
+
-
+
8/16
26
10
Autobuz de carduri 132 - + + 32 32 33

ACFG1- Suport pentru configurare automată. Pentru ISA, PnP este un supliment tardiv implementat de adaptoare și software.

Protocolul de semnalizare magistrală PCI și PCI-X

Schimbul de informații prin magistrala PCI și PCI-X este organizat sub formă de tranzacții - operațiuni de schimb finalizate logic. O tranzacție tipică implică două dispozitive - inițiatorul schimbului (inițiatorul), care este și dispozitivul master (master) și dispozitivul țintă (CO, țintă)), care este și slave. Regulile pentru interacțiunea acestor dispozitive sunt determinate de protocolul magistralei PCI. Dispozitivul poate monitoriza tranzacțiile pe autobuz fără a fi participant (fără a introduce niciun semnal); termenul snooping corespunde modului snooping. Există un tip special de tranzacție (Special Cycle) - difuzare, în care protocolul inițiator nu interacționează cu niciunul dintre dispozitive. Fiecare tranzacție execută o comandă, de obicei citind sau scriind date la adresa specificată. Tranzacția începe cu faza adresei, în care inițiatorul specifică comanda și adresa țintă. Mai mult, pot urma faze de date, în care un dispozitiv (sursa de date) pune date pe magistrală, iar un altul (chiuvetă) le citește. Tranzacțiile care au mai multe faze de date sunt numite tranzacții în lot. Există și tranzacții unice (cu o singură fază de date). O tranzacție se poate finaliza fără faze de date dacă dispozitivul țintă (sau inițiatorul) nu este pregătit pentru schimb. La magistrala PCI-X a fost adăugată o fază de atribut, în care sunt transmise informații suplimentare despre o tranzacție.

Protocolul de semnalizare magistrală PCI și PCI-X

Compoziția și scopul semnalelor de interfață magistrală sunt dezvăluite în tabelul de mai jos. Stările tuturor liniilor de semnal sunt percepute de panta pozitivă a CLK și tocmai aceste momente din descrierea ulterioară sunt înțelese ca cicluri de magistrală (în figuri sunt marcate cu linii întrerupte verticale). Dispozitivele autobuz diferite controlează aceleași linii de semnal în momente diferite, iar „predarea” corectă (fără conflicte) necesită să existe o perioadă de timp în care niciun dispozitiv nu controlează linia. În graficele de timp, acest eveniment - așa-numitul „întoarcere” - este indicat de o pereche de săgeți semicirculare.

Masa. Semnale magistrală PCI

Semnal
Programare
ANUNȚ Adresă / Date - adresa multiplexată / magistrală de date. La începutul tranzacției, adresa este transmisă, în ciclurile de ceas ulterioare - datele
C/B # Command / Byte Enable - comandă / activare acces la octeți. Comanda care definește tipul următorului ciclu de magistrală este setată printr-un cod pe patru biți în faza adresei
CADRU #
Cadru. Introducerea unui semnal marchează începutul tranzacției (faza de adresă), eliminarea semnalului indică faptul că ciclul de transfer de date ulterior este ultimul din tranzacție
DEVSEL #
Device Select - dispozitivul este selectat (răspunsul centrului de control la tranzacția adresată acestuia)
IRDY #
Initiator Ready - disponibilitatea comandantului de a face schimb de date
TRDY #
Target Ready - pregătirea centrului de control pentru schimbul de date
STOP #
Solicitare MC către comandant de a opri tranzacția curentă
LACĂT #
Semnal de blocare (blocare) autobuz pentru a asigura funcționarea completă. Folosit de un bridge care necesită mai multe tranzacții PCI pentru a finaliza o singură operațiune
REQ #
Solicitare - o cerere din partea comandantului de a sechestra autobuzul
GNT #
Grant - Acordarea controlului autobuzului către comandant
PAR
Paritate - bit de paritate comun pentru liniile AD și C / BE #
# PERR
Eroare de paritate - un semnal despre o eroare de paritate (pentru toate ciclurile, cu excepția celor speciale). Generat de orice dispozitiv care detectează o eroare
PME #
Power Management Event - un semnal despre evenimente care provoacă o schimbare a modului de consum (semnal suplimentar introdus în PCI 2.2)
CLKRUN #
Ceasul rulează - magistrala rulează la frecvența nominală a ceasului. Eliminarea semnalului înseamnă încetinirea sau oprirea sincronizării pentru a reduce consumul (pentru aplicațiile mobile)
PRSN #
Prezent - indicatori ai prezenței plăcii, care codifică cererea de consum de energie. Pe placa de extensie, una sau două linii indicatoare sunt conectate la magistrala GND, care este percepută de placa de bază
RST #
Resetare - resetați toate registrele la starea lor inițială (folosind butonul „Resetare”.
și la repornire)
IDSEL
Initialization Device Select - selectarea dispozitivului în ciclurile de citire și scriere de configurare; la aceste cicluri răspunde un dispozitiv care detectează un nivel ridicat de semnal pe această linie
SERR #
Eroare de sistem - eroare de sistem. O eroare de adresă sau de paritate a datelor într-o buclă specială sau altă eroare catastrofală detectată de dispozitiv. Activat de orice dispozitiv PCI și apelează NMI
REQ64 #
Solicitare pe 64 de biți - o solicitare pentru un schimb pe 64 de biți. Semnalul este introdus de un inițiator de 64 de biți, în timp coincide cu semnalul FRAME #. La sfârșitul resetarii (cu semnalul RST #) acesta semnalează dispozitivului pe 64 de biți că este conectat la magistrala pe 64 de biți. Dacă dispozitivul pe 64 de biți nu detectează acest semnal, trebuie să se reconfigureze la modul pe 32 de biți prin dezactivarea bufferelor de octeți înalți
ACK64 #
Confirmarea schimbului pe 64 de biți. Semnalul este introdus de un MC pe 64 de biți, care și-a recunoscut adresa, simultan cu DEVSEL #. Absența acestei confirmări va forța inițiatorul să efectueze schimbul pe 32 de biți
INTA #, INTB #, INTC #, INTD #
Întreruperea A, B, C, D - linii de cerere de întrerupere, sensibilitate la nivel, nivel activ - scăzut, care permite separarea (partajarea) liniilor
CLK
Ceas - frecvența de ceas a magistralei. Ar trebui să fie în intervalul 20-33 MHz, începând de la PCI 2.1 poate fi până la 66 MHz, în PCI-X până la 100 și 133 MHz
M66EN
66MHz Enable - rezoluția frecvenței de ceas de până la 66 MHz (pe cardurile de 33 MHz este împământat, la 66 MHz este gratuit)
PCIXCAP (38B)

Posibilități PCI-X: pe plăcile PCI - împământate, pe PCI-X133 este conectat la masă printr-un condensator de 0,01 μF, pe PCI-X66 - printr-un lanț RC paralel de 10 kOhm, 0,01 μF.

SDONE
Snoop Done - semnalează finalizarea ciclului de snoop pentru tranzacția curentă. Un nivel scăzut indică un ciclu incomplet de urmărire a memoriei cache. Semnal opțional, utilizat numai de dispozitivele cache-bus. Șters de la PCI 2.2
SBO #
Snoop Backoff - accesul curent la memoria abonatului autobuzului intră în linia cache modificată. Semnal opțional, utilizat numai de utilizatorii de autobuz cu memorie cache pentru algoritmul de scriere inversă. Șters de la PCI 2.2
SMBCLK
SMBus Clock - semnal de ceas al SMBus (interfață I2C). Introdus de la PCI 2.3
SMBDAT
Date SMBus - Date seriale SMBus (interfață I2C). Introdus de la PCI 2.3
TCK
Test Clock - Sincronizarea interfeței de testare JTAG
TDI
Intrare date de testare - intrare interfață de testare JTAG
TDO
Ieșire de date de testare - Ieșire interfață de testare JTAG
TMS
Test Mode Select - selectarea modului pentru interfața de testare JTAG
TRST
Test Logic Reset - resetează logica testului

La un moment dat, autobuzul poate fi controlat doar de un singur maestru, care a primit dreptul de la arbitru. Fiecare master are o pereche de semnale - REQ # pentru a solicita controlul magistralei și GNT # pentru a confirma acordarea controlului magistralei. Dispozitivul poate începe o tranzacție (setează semnalul FRAME #) numai atunci când primește un semnal GNT # activ și așteaptă ca magistrala să fie inactivă. Rețineți că în timpul de așteptare pentru odihnă, arbitrul se poate „răzgândi” și poate da controlul autobuzului unui alt dispozitiv cu o prioritate mai mare. Eliminarea semnalului GNT # nu permite dispozitivului să înceapă următoarea tranzacție, iar în anumite condiții (vezi mai jos) poate forța încheierea tranzacției începute. Un nod special este implicat în arbitrajul cererilor de utilizare a autobuzului - un arbitru inclus în podul care leagă acest autobuz de centru. Schema de prioritate (fixă, ciclică, combinată) este determinată de programarea arbitrului.

Liniile AD multiplexate comune sunt utilizate pentru adresă și date. Patru linii C/BE multiplexate oferă codificarea comenzilor în faza de adrese și rezoluția octetilor în faza de date. În tranzacțiile de scriere, liniile C/BE permit utilizarea octeților de date concomitent cu prezența acestora pe magistrala AD, în tranzacțiile de citire aceste semnale se referă la octeții din următoarea fază de date. În faza adresei (începutul unei tranzacții), dispozitivul master activează semnalul FRAME #, transmite adresa țintă pe magistrala AD, iar pe liniile C/BE # - informații despre tipul tranzacției (comandă). Dispozitivul țintă adresat este rechemat cu semnalul DEVSEL #. Maestrul indică disponibilitatea pentru schimbul de date cu semnalul IRDY #, această pregătire poate fi setată chiar înainte de a primi DEVSEL #. Când dispozitivul țintă este, de asemenea, gata să facă schimb de date, va seta semnalul TRDY #. Datele de pe magistrala AD sunt transmise numai atunci când semnalele IRDY # și TRDY # sunt prezente. Cu aceste semnale, dispozitivele master și țintă își negociază vitezele introducând stări de așteptare. Figura de mai jos prezintă o diagramă de timp a unui schimb în care atât comandantul, cât și ținta intră în ceasul de așteptare. Dacă amândoi au introdus semnale gata la sfârșitul fazei de adresă și nu le-au îndepărtat până la sfârșitul schimbului, atunci în fiecare ciclu de după faza de adresă s-ar transmite 32 de biți de date, ceea ce ar oferi o ieșire la maximum. performanța schimbului. În tranzacțiile de citire, după faza de adresă, este necesar un ceas de piruetă suplimentar, timp în care inițiatorul încetează să controleze linia AD; Dispozitivul țintă va putea prelua controlul asupra magistralei AD numai în următorul ciclu de ceas. Într-o tranzacție de scriere, pirueta nu este necesară deoarece inițiatorul transferă datele.

Pe magistrala PCI, toate tranzacțiile sunt tratate ca lot: fiecare tranzacție începe cu o fază de adresă, care poate fi urmată de una sau mai multe faze de date. Numărul de faze de date din pachet nu este indicat în mod explicit, dar în ceasul ultimei faze de date, masterul elimină semnalul FRAME # atunci când este introdus semnalul IRDY #. În tranzacțiile individuale, semnalul FRAME # este activ doar pentru un ciclu de ceas. Dacă dispozitivul nu acceptă tranzacții în lot în modul slave, atunci trebuie să solicite întreruperea tranzacției lot în prima fază a datelor (prin afirmarea semnalului STOP # în același timp cu TRDY #). Ca răspuns, comandantul va finaliza această tranzacție și va continua să schimbe o tranzacție ulterioară cu următoarea valoare a adresei. După faza finală de date, masterul elimină semnalul IRDY #, iar magistrala intră în starea inactiv - ambele semnale: - FRAME # și IRDY # - sunt în stare pasivă.

Inițiatorul poate începe următoarea tranzacție fără un ceas inactiv prin setarea FRAME # în același timp cu eliminarea IRDY #. Astfel de tranzacții contigue rapide (Fast Back-to-Back) pot fi adresate unuia sau mai multor dispozitive țintă. Primul tip de tranzacții contigue rapide este acceptat de toate dispozitivele PCI țintă. Suportul celui de-al doilea tip de tranzacții contigue (un astfel de suport este opțional) este indicat de bitul 7 al registrului de stare. Inițiatorul are voie (dacă știe cum) să utilizeze tranzacții rapide contigue cu diferite dispozitive (permisiunea este determinată de bitul 9 al registrului de comenzi), numai dacă toți agenții de magistrală permit apeluri rapide. La schimbul de date în modul PCI-X, tranzacțiile rapide contigue nu sunt permise.

Protocolul de magistrală asigură fiabilitatea schimbului - comandantul primește întotdeauna informații despre procesarea tranzacției de către dispozitivul țintă. Un mijloc de creștere a fiabilității schimbului este utilizarea parității: liniile AD și C/BE # atât în ​​faza de adresă, cât și în faza de date sunt protejate de bitul de paritate PAR (numărul de biți setați ai acestor linii, inclusiv PAR, trebuie să fie egal). Valoarea PAR reală apare pe magistrală cu o întârziere de un ciclu de ceas de la liniile AD și C / BE #. Când este detectată o eroare, dispozitivul generează un semnal PERR # (compensat cu un ciclu de ceas după apariția unui bit de paritate valid pe magistrală). Toți octeții, inclusiv cei invalidi (marcați cu un semnal C / BEx # ridicat), sunt numărați în calculul de paritate pentru transmiterea datelor. Starea biților, chiar și în octeți de date invalidi, trebuie să rămână stabilă în timpul fazei de date.

Fiecare tranzacție de pe autobuz trebuie să fie finalizată conform planificării sau anulată, în timp ce magistrala trebuie să se oprească (semnalele FRAME # și IRDY # sunt pasive). Finalizarea unei tranzacții este fie inițiată de dispozitivul principal, fie de către dispozitivul țintă.

Comandantul poate finaliza tranzacția în unul dintre următoarele moduri:

  • finalizare - finalizare normală la finalul schimbului de date;
  • time-out - expirat. Apare atunci când, în timpul unei tranzacții, masterului i se refuză controlul asupra magistralei (prin eliminarea semnalului GNT #) și expiră timpul specificat în temporizatorul de latență. Acest lucru se poate întâmpla dacă ținta adresată este neașteptat de lentă sau este programată o tranzacție prea lungă. Tranzacțiile scurte (cu una sau două faze de date), chiar dacă semnalul GNT # este eliminat și cronometrul este declanșat, sunt finalizate normal;
  • master-Abort - Anularea unei tranzacții atunci când într-un timp specificat masterul nu primește un răspuns de la țintă (DEVSEL # semnal).

Tranzacția poate fi încheiată la inițiativa dispozitivului țintă; pentru a face acest lucru, poate introduce semnalul STOP #. Există trei tipuri de încheiere a tranzacțiilor:

  • retry - retry, introducerea semnalului STOP # cu un semnal pasiv TRDY # înainte de prima fază de date. Această situație apare atunci când dispozitivul țintă, din cauza ocupării interne, nu are timp să emită primele date la timp (16 cicluri de ceas). O reîncercare este o indicație către master de a reporni aceeași tranzacție;
  • deconectare - deconectare, introducerea semnalului STOP # în timpul sau după prima fază de date. Dacă semnalul STOP # este introdus în timp ce semnalul TRDY # al următoarei faze de date este activ, atunci se transmit aceste date, la care se încheie tranzacția. Dacă semnalul STOP # este setat în timp ce semnalul TRDY # este pasiv, atunci tranzacția este finalizată fără a transmite date pentru următoarea fază. Deconectarea este efectuată atunci când dispozitivul țintă nu este capabil să emită sau să primească în timp util următoarea porțiune a pachetului de date. O oprire este o indicație către maestru de a reporni această tranzacție, dar cu o adresă de început modificată;
  • target-abort - eșec, introducerea semnalului STOP # concomitent cu eliminarea semnalului DEVSEL # (în cazurile anterioare, la apariția semnalului STOP #, semnalul DEVSEL # era activ). După aceea, datele nu mai sunt transmise. Refuzul se face atunci când dispozitivul țintă detectează o eroare fatală sau alte condiții, conform cărora nu va mai putea deservi această solicitare (inclusiv o comandă neacceptată).

Cele trei tipuri de anulare a tranzacției nu sunt necesare pentru toate dispozitivele țintă, dar orice master trebuie să fie pregătit să finalizeze tranzacțiile din oricare dintre aceste motive.

Încetarea tipului de reîncercare este utilizată pentru a organiza tranzacțiile întârziate. Tranzacțiile lazy sunt folosite numai de dispozitivele țintă lente și, de asemenea, de punți PCI atunci când traduc tranzacțiile pe o altă magistrală. Prin anularea (pentru inițiator) a unei tranzacții cu o condiție de reîncercare, dispozitivul țintă execută intern tranzacția. Când inițiatorul repetă această tranzacție (emite aceeași comandă cu aceeași adresă și același set de semnale C/BE # în faza de date), dispozitivul țintă (sau puntea) va avea deja rezultatul (citește datele sau scrie starea de execuție). ) gata, pe care o va returna rapid inițiatorului. Rezultatul unei tranzacții în așteptare executată de un anumit dispozitiv ar trebui să fie stocat de dispozitiv sau de punte până când rezultatele sunt solicitate de către inițiator. Cu toate acestea, el poate „uita” să repete tranzacția (din cauza oricăror situații anormale). Pentru a evita depășirea tamponului de stocare a rezultatelor, dispozitivul trebuie să renunțe la rezultate. Eliminarea se poate face fără efecte secundare dacă tranzacția a fost amânată în memoria preîncărcabilă (cu atributul preîncărcabil, vezi mai jos). În general, alte tipuri de tranzacții nu pot fi renunțate cu impunitate (integritatea datelor poate fi încălcată); pentru acestea, eliminarea este permisă numai după o așteptare ineficientă a unei reîncercări pentru 215 cicluri de ceas de magistrală (când este declanșat temporizatorul de eliminare). Dispozitivul poate raporta această excepție driverului său (sau întregului sistem).

Inițiatorul unei tranzacții poate solicita utilizarea exclusivă a magistralei PCI pe întreaga durată a unei operațiuni de schimb care necesită mai multe tranzacții cu magistrala. Deci, de exemplu, dacă CPU execută o instrucțiune de modificare a datelor într-o locație de memorie aparținând unui dispozitiv PCI, trebuie să citească datele de pe dispozitiv, să le modifice în ALU și să returneze rezultatul dispozitivului. Pentru a preveni integrarea tranzacțiilor de la alți inițiatori în această operațiune (care este plină de încălcarea integrității datelor), puntea principală o execută ca una blocată - semnalul magistralei LOCK # este trimis pe toată durata operațiunii. Acest semnal nu este utilizat (și nu este generat) de dispozitivele PCI convenționale (nu punți); este folosit doar de punți pentru a gestiona arbitrajul.

Întreruperi hardware pe computere compatibile cu PC

Dispozitivele PCI au capacitatea de a semnala evenimente asincrone folosind întreruperi. Sunt posibile patru tipuri de semnalizare de întrerupere pe magistrala PCI:

  • semnalizare tradițională prin cablu prin linii INTx;
  • semnalizare prin cablu a evenimentelor de management energetic prin linia PME #;
  • semnalizare prin mesaje - MSI;
  • semnalând o eroare fatală pe linia SERR #.

Acest capitol discută toate aceste tipuri de semnalizare, precum și imaginea generală a suportului pentru întreruperi hardware în computerele compatibile cu PC.

Întreruperi hardware pe computere compatibile cu PC

Întreruperile hardware permit procesorului să reacționeze la evenimentele care apar asincron în raport cu codul executabil. Amintiți-vă că întreruperile hardware sunt împărțite în mascate și nemascabile. Procesorul x86, la un semnal de întrerupere, suspendă execuția fluxului de instrucțiuni curent, stochând starea (steaguri și adresa de retur) pe stivă și execută rutina de gestionare a întreruperilor. Procedura de procesare specifică este selectată din tabelul de întreruperi de către vectorul de întrerupere - un număr de element de un octet din acest tabel. Vectorul de întrerupere este adus la procesor în diferite moduri: pentru o întrerupere nemascabilă, este fix, pentru întreruperile mascate, este raportat de un controler special de întrerupere. Pe lângă întreruperile hardware, procesoarele x86 au și întreruperi interne - excepții asociate cu cazuri speciale de execuție a instrucțiunilor și întreruperi software. Pentru excepții, vectorul este specificat de condiția specială în sine, iar primii 32 de vectori (0-31 sau 00-1Fh) sunt rezervați de Intel pentru excepții. În întreruperile software, numărul vectorului este conținut în instrucțiunea în sine (întreruperile software sunt doar o modalitate specifică de a apela proceduri după număr, registrul de steaguri fiind stocat în prealabil în stivă). Toate aceste întreruperi folosesc același set de 256 de vectori posibili. Din punct de vedere istoric, vectorii utilizați pentru întreruperile hardware se intersectează cu vectorii de excepție și vectorii pentru întreruperile software utilizate pentru apelurile către serviciile BIOS și DOS. Astfel, pentru un număr de numere vectoriale, procedura la care se referă tabelul de întreruperi trebuie să conțină mai întâi codul programului care determină din ce motiv este numit: din cauza unei excepții, a unei întreruperi hardware sau pentru a apela un serviciu de sistem. Astfel, procedura, de fapt, care oferă reacția procesorului la acel eveniment foarte asincron, va fi apelată doar după o serie de acțiuni de identificare a sursei întreruperilor. Aici observăm, de asemenea, că același vector de întrerupere poate fi utilizat de mai multe dispozitive periferice - aceasta este așa-numita utilizare partajată a întreruperilor, care este discutată în detaliu mai jos.

Apelul la rutina serviciului de întrerupere în modurile real și protejat al procesorului diferă semnificativ:

  • în modul real, tabelul de întreruperi conține indicatori departe de 4 octeți (segment și offset) către procedurile corespunzătoare care sunt apelate de apelul departe (Call Far cu salvarea preliminară a steagurilor). Dimensiunea (256 × 4 octeți) și poziția tabelului (începând cu adresa 0) sunt fixe;
  • în modul protejat (și în cazul său particular, modul V86), tabelul conține descriptori de întrerupere de 8 octeți, care pot fi Interrupt Gate, Trap Gate sau Task Gate. Dimensiunea tabelului poate fi redusă (maximul este de 256 × 8 octeți), poziția tabelului poate fi schimbată (determinată de conținutul registrului IDT al procesorului). Codul de gestionare a întreruperii trebuie să fie cel puțin privilegiat decât codul sarcinii de întrerupere (în caz contrar, va fi declanșată o excepție de protecție). Din acest motiv, gestionatorii de întreruperi trebuie să opereze la nivelul nucleului OS (la nivelul de privilegii zero). Schimbarea nivelului de privilegii atunci când handlerul este apelat are ca rezultat pierderea de timp suplimentară la suprascrierea stivei. Întreruperile care provoacă schimbarea sarcinilor (prin Task Gate) petrec o perioadă semnificativă de timp comutării contextului - descărcarea registrelor procesorului în segmentul de stare al sarcinii vechi și încărcarea acestora din segmentul de stare al celei noi.

Numerele vectoriale utilizate pentru întreruperile hardware în sistemele de operare în modul protejat diferă de cele utilizate în sistemele de operare în modul real pentru a evita conflictele cu vectorii utilizați pentru excepțiile procesorului.

Procesorul răspunde întotdeauna la o întrerupere nemascabilă (NMI - Non-Maskable Interrrupt) (dacă serviciul NMI-ului anterior este finalizat); această întrerupere corespunde unui vector fix 2. Întreruperile nemascabile din PC sunt folosite pentru a semnala erori hardware fatale. Semnalul către linia NMI provine din circuitele de control al memoriei (paritate sau ECC), din liniile de control ale magistralei ISA (IOCHK) și magistralei PCI (SERR #). Semnalul NMI este blocat înainte de intrarea procesorului prin setarea bitului 7 al portului 070h la 1, sursele individuale sunt activate și identificate de biții portului 061h:

  • bit 2 R / W - ERP - permite controlul RAM și semnalul SERR # al magistralei PCI;
  • bit 3 R / W - EIC - activați controlul magistralei ISA;
  • bit 6 R - IOCHK - eroare de control pe magistrala ISA (semnal IOCHK #);
  • bit 7 R - PCK - eroare de paritate RAM sau semnal SERR # pe magistrala PCI.

Răspunsul procesorului la întreruperile mascate poate fi întârziat prin ștergerea indicatorului IF intern (instrucțiunea CLI dezactivează întreruperile, STI activează). Întreruperile mascate sunt folosite pentru a semnala evenimentele dispozitivului. La apariția unui eveniment care necesită o reacție, adaptorul (controlerul) dispozitivului generează o solicitare de întrerupere, care este trimisă la intrarea controlerului de întrerupere. Sarcina controlorului de întrerupere este să trimită o cerere de întrerupere către procesor și să informeze vectorul prin care este selectată procedura de procesare a întreruperilor software.

Rutina de întrerupere a dispozitivului ar trebui să efectueze acțiuni de întreținere pe dispozitiv, inclusiv ștergerea cererii sale de a răspunde la următoarele evenimente și să trimită comenzi de finalizare controlorului de întrerupere. Apelând o rutină de procesare, procesorul salvează automat valoarea tuturor steagurilor de pe stivă și șterge indicatorul IF, care dezactivează întreruperile mascate. La întoarcerea din această procedură (prin instrucțiunea IRET), procesorul restabilește steagurile salvate, inclusiv setul (înainte de întrerupere) IF, care activează din nou întreruperi. Dacă, în timpul funcționării manipulatorului de întreruperi, este necesar un răspuns la alte întreruperi (de prioritate mai mare), atunci instrucțiunea STI trebuie să fie prezentă în handler. Acest lucru este valabil mai ales pentru manipulatorii lungi; aici instrucțiunea STI trebuie introdusă cât mai devreme posibil, imediat după secțiunea critică (neîntrerupătoare). Următoarele întreruperi de același nivel de prioritate sau mai scăzută vor fi deservite de controlerul de întrerupere numai după primirea comenzii EOI (End Of Interrupt).

Există două tipuri principale de controlere de întrerupere utilizate în computerele IBM compatibile cu PC:

  • PIC (Peripheral Interrupt Controller) este un controler de întrerupere periferic, software compatibil cu controlerul „istoric” 8259A, care a fost folosit la primele modele ale PC-ului IBM. Încă din zilele IBM PC/AT, au fost folosite o serie de perechi de PIC-uri în cascadă, permițând deservirea a până la 15 linii de cereri de întrerupere;
  • APIC (Advanced Peripheral Interrupt Controller) este un controler periferic avansat de întrerupere introdus pentru a suporta sisteme multiprocesor în calculatoare bazate pe procesoare din generațiile 4-5 (486 și Pentium) și este încă folosit pentru modelele de procesoare ulterioare. Pe lângă suportul pentru configurații multiprocesor, APIC modern vă permite să creșteți numărul de linii de întrerupere disponibile și să gestionați cererile de întrerupere de la dispozitivele PCI trimise prin motorul de mesaje (MSI). Un computer echipat cu un controler APIC trebuie să poată funcționa într-un mod compatibil cu o pereche PIC standard. Acest mod este activat printr-o resetare hard (și pornire), care vă permite să utilizați aplicații vechi OS și MS DOS care nu „știu” despre APIC și multiprocesare.

Schema tradițională de generare a cererilor de întrerupere folosind o pereche PIC este prezentată în figura de mai jos.

Intrările controlerului de întrerupere primesc solicitări de la dispozitivele de sistem (tastatură, temporizator de sistem, temporizator CMOS, coprocesor), controlere periferice ale plăcii de bază și plăci de expansiune. În mod tradițional, toate liniile de solicitare care nu sunt ocupate de dispozitivele listate sunt prezente pe toate sloturile magistralei ISA / EISA. Aceste linii sunt desemnate ca IRQx și au un scop comun (vezi tabelul de mai jos). Unele dintre aceste linii sunt date magistralei PCI. Tabelul reflectă, de asemenea, prioritățile întreruperilor - cererile sunt sortate în ordine descrescătoare. Numerele vectorilor corespunzătoare liniilor de solicitare ale controlerelor, sistemul de prioritate și alți parametri sunt setate programatic atunci când controlerele sunt inițializate. Aceste setări de bază rămân tradiționale pentru compatibilitatea software-ului, dar sunt diferite pentru sistemul de operare în modul real și protejat. Deci, de exemplu, în sistemul de operare Windows vectorii de bază pentru controlerele master și slave sunt 50h și, respectiv, 58h.

Nume (numărul 1) Vectorul 2 Vectorul 3 Controler/mască Descriere
NMI 02h


IRQ0 08h 50h
#1/1h
Control canal, paritate memorie (în XT - coprocesor)
IRQ1 09h 51h
#1/2h
Tastatură
IRQ2 0Ah 52h
#1/4h
XT - rezervă, AT - nu este disponibil (cascada IRQ8-IRQ15 este conectată)
IRQ8 70h
58h
#2/1h
CMOS RTC - Ceas în timp real
IRQ9 71h
59h
#2/2h
rezervă
IRQ10 72h
5Ah
#2/4h
rezervă
IRQ11 73h
5Bh
#2/8h
rezervă
IRQ12 74h
5Ch
# 2 / 10h
PS / 2-Mouse (rezervă)
IRQ13 75h
5Dh
# 2 / 20h
Coprocesor matematic
IRQ14 76h
5Eh
# 2 / 40h
HDC - controler HDD
IRQ15 77h
5Fh
# 2 / 80h
rezervă
IRQ3 0Bh
52h
#1/4h
COM2, COM4
IRQ4 0Ch
53h
# 1 / 10h
COM1, COM3
IRQ5I 0Dh
54h
# 1 / 20h
XT - HDC, AT - LPT2, sunet (rezervă)
IRQ6 0Eh
55h
# 1 / 40h
FDC - controlor al NGMD
IRQ7 0Fh
56h
# 1 / 80h
LPT1 - imprimanta

* 1 Cererile pentru întreruperile 0, 1, 8 și 13 nu sunt transmise magistralelor de expansiune.
* 2 Acestea sunt numerele vectoriale când procesorul este în modul real.
* 3 Acestea sunt numere vectoriale când utilizați Windows.

Fiecărui dispozitiv care necesită întreruperi pentru a sprijini funcționarea trebuie să i se aloce un număr diferit de întrerupere. Atribuirea numerelor de întrerupere se face din două părți: în primul rând, adaptorul care necesită întreruperi trebuie configurat pentru a utiliza o linie de magistrală specifică (jumpere sau software). În al doilea rând, software-ul care suportă adaptorul dat trebuie informat despre numărul vectorului utilizat. În procesul de atribuire a întreruperilor poate participa sistemul PnP pentru magistralele ISA și PCI; parametri speciali CMOS Setup sunt utilizați pentru a distribui liniile de solicitare între magistrale. Sistemele de operare moderne au capacitatea de a modifica alocarea cererilor de alocare făcute prin CMOS Setup.

După ce sistemul de întreruperi a fost configurat (controlerul de întrerupere este inițializat, liniile de solicitare sunt alocate dispozitivelor și pointerii către procedurile de procesare sunt setate), întreruperile hardware mascate sunt procesate după cum urmează:

  • dispozitivul, la un eveniment de întrerupere, activează linia de cerere de întrerupere alocată;
  • controlerul primește semnale de solicitare de la sursele de întrerupere (semnale IRQx) și, în prezența unei solicitări nemascate, trimite un semnal general de cerere de întrerupere (semnal INTR) către procesorul x86;
  • procesorul, răspunzând la cerere (când întreruperile sunt activate de indicatorul IF), salvează conținutul registrului de steaguri și adresa de retur în stivă, după care formează ciclul magistralei INTA (Interrupt Acknowledge), care este trimis către controlerul de întrerupere;
  • în momentul recepționării semnalului INTA, controlerul de întrerupere fixează starea intrărilor sale de solicitare - în acel moment starea acestora s-ar fi putut schimba: ar putea apărea noi solicitări sau a dispărut o solicitare de la un dispozitiv „nerăbdător”. Controlerul analizează cererile primite în conformitate cu schema de prioritate programată și trimite către procesor un vector de întrerupere corespunzător cererii demascate cu cea mai mare prioritate prezentă la intrarea controlerului în momentul comenzii magistralei INTA. În acest caz, controlorul efectuează și unele acțiuni în conformitate cu politica de prioritate stabilită, ținând cont de ce vector a fost trimis (care dintre solicitări a mers în service);
  • după ce a primit vectorul de întrerupere, procesorul prin numărul său apelează rutina de procesare a întreruperilor corespunzătoare. Dacă acest vector de întrerupere este utilizat nu numai pentru întreruperi hardware, ci și pentru excepții și/sau întreruperi software, atunci procedura trebuie mai întâi să stabilească căruia dintre aceste tipuri aparține acest eveniment. Pentru a face acest lucru, procedura poate contacta controlorul PIC (citește registrul ISR) și poate analiza starea registrelor procesorului. Alți pași sunt luați în considerare pentru cazul în care este detectată o întrerupere hardware;
  • rutina de gestionare a întreruperii trebuie să identifice sursa întreruperii - să determine dispozitivul care a provocat-o. În cazul utilizării partajate de către mai multe dispozitive a acestui număr de solicitare (de unde vectorul), sursa întreruperii poate fi identificată doar prin apeluri secvențiale către registrele fiecăruia dintre aceste dispozitive. În acest caz, ar trebui să se țină cont de posibilitatea de a primi solicitări de la mai multe dispozitive în același timp sau în procesul de procesare a unei întreruperi de la unul dintre ele;
  • procedura ar trebui să servească dispozitivul sursă de întrerupere - să efectueze acțiuni „utile” asociate cu evenimentul care a fost semnalat de dispozitiv. Acest serviciu ar trebui să prevadă eliminarea semnalului de solicitare de întrerupere de pe acest dispozitiv. În cazul întreruperilor partajate, pot exista mai multe surse, iar toate necesită întreținere;
  • dacă procesarea întreruperii durează mult timp, timp în care sistemul trebuie să răspundă la solicitări cu prioritate mai mare, atunci după secțiunea critică, în handler este inclusă o instrucțiune STI, care setează indicatorul de activare a întreruperii (IF) în procesor. Din acest moment sunt posibile întreruperi imbricate, întrerupând activitatea acestui handler printr-o altă procedură, cu prioritate mai mare;
  • Rutina de gestionare a întreruperilor trebuie să trimită controlerului o comandă de procesare a întreruperilor EOI (End Of Interrupt), conform căreia controlerul va permite recepția ulterioară a unui semnal de la o intrare deservită și o prioritate mai mică. Acest lucru trebuie făcut după eliminarea semnalului de întrerupere de la dispozitivele deservite, altfel controlerul va trimite o a doua cerere după EOI. Operatorul de întrerupere pentru care cererea a venit de la slave trebuie să trimită un EOI atât slave, cât și master. Porțiunea de handler de la EOI până la finalizare (instrucțiuni IRET) trebuie să fie neîntreruptibilă, adică este o secțiune critică. Dacă handlerul a activat întreruperi imbricate, atunci trebuie să fie prezentă o instrucțiune CLI înainte de a lansa comanda EOI pentru a dezactiva întreruperile;
  • procesarea întreruperii se finalizează cu instrucțiunea IRET, conform căreia procesorul revine la execuția fluxului întrerupt de instrucțiuni, după ce a preluat în prealabil conținutul registrului de steaguri din stivă. Acest lucru va activa din nou întreruperile hardware.

Această secvență este descrisă în raport cu un controler de întrerupere convențional (PIC), în sistemele cu APIC, metoda de livrare a vectorului de întrerupere de la controler la procesor se schimbă, iar în întreruperile MSI, metoda de livrare a semnalului de la dispozitiv la Controlerul APIC se modifică. Aceste nuanțe sunt descrise în secțiunile următoare.

informatii generale

Punțile PCI (PCI Bridge) sunt hardware special pentru conectarea magistralelor PCI (și PCI-X) între ele și la alte magistrale. Host Bridge este utilizat pentru a conecta PCI-ul la centrul computerului (memoria de sistem și procesorul). „Datoria onorabilă” a podului principal este de a genera accese la spațiu de configurare sub controlul procesorului central, ceea ce permite gazdei (procesorului central) să configureze întregul subsistem magistrală PCI. Sistemul poate avea mai multe punți principale, ceea ce permite asigurarea unei comunicații de înaltă performanță cu centrul unui număr mai mare de dispozitive (numărul de dispozitive pe o magistrală este limitat). Unul dintre aceste autobuze este desemnat ca principal condiționat (autobuzul 0).

Bridge-urile PeertoPeer (PCI) sunt folosite pentru a conecta magistrale PCI suplimentare. Aceste punți introduc întotdeauna costuri suplimentare pentru transferul de date, astfel încât performanța efectivă a comunicării cu hub-ul scade cu fiecare punte care iese în cale.

Pentru conectarea magistralelor PCMCIA, CardBus, MCA, ISA / EISA, X-Bus și LPC, se folosesc punți speciale care sunt incluse în chipset-urile plăcilor de bază sau sunt dispozitive PCI separate (microcircuite). Aceste punți realizează conversia interfețelor magistralelor pe care le conectează, sincronizarea și tamponarea schimburilor de date.

Fiecare punte este programabilă - este specificat intervale de adrese în memorie și spații I/O alocate dispozitivelor de pe magistralele sale. Dacă adresa DC a tranzacției curente pe o magistrală (partea) a podului aparține magistralei de pe partea opusă, puntea traduce tranzacția în magistrala corespunzătoare și asigură că protocoalele magistralei sunt negociate. Astfel, o colecție de punți PCI efectuează rutarea apelurilor prin magistralele asociate. Dacă sistemul are mai multe punți principale, atunci rutarea între dispozitive de pe diferite magistrale poate să nu fie posibilă: punțile principale pot fi conectate între ele numai prin căile trunchiului controlerului de memorie. Sprijinirea traducerii tuturor tipurilor de tranzacții PCI prin poduri master este în acest caz prea complicată și, prin urmare, specificația PCI nu este strict necesară. Astfel, toate dispozitivele active de pe toate magistralele PCI pot accesa memoria sistemului, dar comunicarea peer-to-peer poate depinde dacă aceste dispozitive aparțin unei anumite magistrale PCI.

Utilizarea punților PCI oferă caracteristici precum:

  • creșterea numărului posibil de dispozitive conectate, depășirea limitărilor specificațiilor electrice ale magistralei;
  • împărțirea dispozitivelor PCI în segmente - magistrale PCI - cu diferite caracteristici de capacitate de biți (32/64 biți), frecvență de ceas (33/66/100/133 MHz), protocol (PCI, PC-X Mode 1, PCI-X Mode) 2, PCI Express). Pe fiecare autobuz, toți abonații sunt egali cu cel mai slab participant; aranjarea corectă a dispozitivelor pe autobuze vă permite să utilizați capabilitățile dispozitivelor și ale plăcii de bază cu eficiență maximă;
  • organizarea segmentelor cu conectare/deconectare la cald a dispozitivelor;
  • organizarea executării simultane în paralel a tranzacţiilor de la iniţiatori aflaţi pe diferite autobuze.

Fiecare punte PCI conectează doar două magistrale: magistrala primară, care este mai aproape de vârful ierarhiei, cu magistrala secundară; interfețele de punte cu care este conectat la aceste magistrale sunt denumite primare și, respectiv, secundare. Este permisă doar o configurație pur arborescentă, adică două autobuze sunt conectate între ele printr-un singur pod și nu există „bucle” de poduri. Autobuzele conectate la interfața secundară a unui pod dat prin alte poduri se numesc magistrale subordonate. Punțile PCI formează o ierarhie de magistrale PCI, în vârful căreia se află magistrala master numerotată zero, care este conectată la podul master. Dacă există mai multe poduri principale, atunci dintre anvelopele lor (egale între ele în rang), în mod condiționat, principalul va fi autobuzul, căruia i se atribuie un număr zero.

Podul trebuie să îndeplinească o serie de funcții obligatorii:

  • deservirea magistralei conectate la interfața sa secundară:
  • efectuarea arbitrajului - primirea semnalelor de solicitare REQx # de la maeștrii de magistrală și acordarea acestora dreptul de a controla magistrala folosind semnale GNTx #
  • park the bus - trimite semnalul GNTx # către un dispozitiv, când controlul magistralei nu este cerut de niciunul dintre master;
  • generarea buclelor de configurare de tip 0 cu generarea de semnale IDSEL individuale către dispozitivul PCI adresabil;
  • Semnale de control „Pull up” la un nivel ridicat;
  • determinați capacitățile dispozitivelor conectate și selectați modul de funcționare al magistralei care le satisface (frecvență, adâncime de biți, protocol);
  • generați o resetare hardware (RST #) prin resetare din interfața primară și prin comandă, informând despre modul selectat prin semnalizare specială.
  • menține hărți de resurse situate pe părțile opuse ale podului;
  • să răspundă sub masca unui dispozitiv țintă la tranzacțiile inițiate de maestru pe o interfață și adresate unei resurse situate pe partea altei interfețe; difuzează aceste tranzacții către o altă interfață, acționând ca un master (master) și transmit rezultatele lor adevăratului inițiator.

Podurile care îndeplinesc aceste funcții se numesc punți transparente; pentru a lucra cu dispozitive situate în spatele unor astfel de poduri, nu sunt necesare drivere de pod suplimentare. Aceste punți sunt descrise în specificația PCI Bridge 1.1 și pentru ele, ca dispozitive PCI, există o clasă specială (06). În acest caz, ne referim la un model „plat” al resurselor de adresare (memorie și I/O): fiecare dispozitiv are propriile adrese care sunt unice (nu se suprapun cu altele) în cadrul unui anumit sistem (calculator).

Există, de asemenea, punți netransparente care vă permit să organizați segmente separate cu propriile spații de adrese locale. O punte opac efectuează traducerea adresei (traducerea) pentru tranzacțiile în care inițiatorul și dispozitivul țintă se află pe părțile opuse ale punții. Nu toate resursele (intervalele de adrese) din partea opusă pot fi accesibile printr-un astfel de pod. Punțile opace sunt utilizate, de exemplu, atunci când un computer are un subsistem „I/O inteligent” (I20) cu propriul procesor I/O și spațiu de adrese local.

informatii generale

Busul PCI a fost proiectat inițial cu capacitatea de a configura automat resursele sistemului (memorie și spații I/O și linii de solicitare de întrerupere). Configurarea automată a dispozitivelor (selectarea adreselor și întreruperilor) este suportată prin intermediul BIOS și OS; este axat pe tehnologia PnP. Standardul PCI definește pentru fiecare funcție un spațiu de configurare de până la 256 de registre (8-biți), nealocate nici spațiului de memorie, nici spațiului I/O. Acestea sunt accesate prin comenzi speciale de magistrală Configuration Read și Configuration Write, generate folosind unul dintre mecanismele hardware și software descrise mai jos. În acest spațiu, există zone care sunt necesare pentru toate dispozitivele și unele specifice. Este posibil ca un anumit dispozitiv să nu aibă registre în toate adresele, dar trebuie să accepte finalizarea normală pentru operațiunile adresate acestora. În acest caz, citirea registrelor inexistente ar trebui să returneze zerouri, iar scrierea ar trebui efectuată ca o operație inactivă.

Spațiul de configurare pentru o funcție începe cu un antet standard care conține identificatorii de furnizor, dispozitiv și clasa de dispozitiv, precum și o descriere a resurselor de sistem necesare și ocupate. Structura antetului este standardizată pentru dispozitive convenționale (tip 0), punți PCI-PCI (tip 1), punți PCI-CardBus (tip 2). Tipul antetului determină locația registrelor binecunoscute și scopul biților acestora. Antetul poate fi urmat de registre specifice dispozitivului. Pentru capabilitățile standardizate ale dispozitivului (de exemplu, gestionarea energiei), există blocuri de registre cu scop cunoscut în spațiul de configurare. Aceste blocuri sunt organizate în lanțuri, primul astfel de bloc este referit în antetul standard (CAP_PTR); în primul registru al unui bloc există o referire la următorul bloc (sau 0, dacă acest bloc este ultimul). Astfel, privind lanțul, software-ul de configurare obține o listă cu toate proprietățile dispozitivului disponibile și pozițiile acestora în spațiul de configurare al funcției. PCI 2.3 definește următoarele CAP_ID, dintre care unele le vom analiza:

  • 01 - managementul energiei;
  • 02 - port AGP;
  • 03 - VPD (Vital Product Data), date care oferă o descriere cuprinzătoare a proprietăților hardware (eventual software) ale dispozitivelor;
  • 04 - numerotarea sloturilor și șasiului;
  • 05 - întreruperi MSI;
  • 06 - Hot Swap, hot plug pentru Compact PCI;
  • 07 - Extensii de protocol PCI-X;
  • 08 - Rezervat pentru AMD;
  • 09 - la discreția producătorului (Vendor Specific);
  • 0Ah - Port de depanare;
  • 0Bh - PCI Hot Plug, suport standard pentru hot plug.

PCI-X pentru dispozitivele Modul 2 a extins spațiul de configurare la 4096 de octeți; descrieri extinse de proprietate pot fi prezente în spațiul extins.

După o resetare completă (sau la pornire), dispozitivele PCI nu răspund la accesările la memorie și la spațiul I/O, ele sunt disponibile doar pentru operațiuni de citire și scriere de configurare. În aceste operațiuni, dispozitivele sunt selectate prin semnale IDSEL individuale, prin citirea registrelor, software-ul de configurare învață despre cerințele de resurse și posibilele opțiuni de configurare a dispozitivelor. După alocarea resurselor de către programul de configurare (în timpul POST sau în timpul pornirii sistemului de operare), parametrii de configurare (adresele de bază) sunt scrieți în registrele de configurare ale dispozitivului. Abia după aceea, dispozitivele (mai precis, funcțiile) sunt biți setați care le permit să răspundă la comenzile de acces la memorie și porturile I/O, precum și să controleze autobuzul. Pentru a putea găsi întotdeauna o configurație funcțională, toate resursele ocupate de cărți trebuie să fie mobile în spațiile lor. Pentru dispozitivele multifuncționale, fiecare funcție trebuie să aibă propriul spațiu de configurare. Dispozitivul poate mapa aceleași registre atât în ​​memorie, cât și în spațiul I/O. În acest caz, ambii descriptori trebuie să fie prezenți în registrele lor de configurare, dar driverul trebuie să folosească o singură cale de acces (de preferință prin memorie).

Antetul spațiului de configurare descrie necesitatea a trei tipuri de adrese:

  • registre în spațiul I/O);
  • Registre I/O mapate cu memorie. Aceasta este o zonă de memorie care trebuie accesată în strictă conformitate cu ceea ce solicită inițiatorul schimbului. Accesarea acestor registre poate modifica starea internă a dispozitivelor periferice;
  • Memorie preîncărcabilă Aceasta este o zonă de memorie, a cărei citire „extra” (cu rezultate neutilizate) nu duce la efecte secundare, toți octeții sunt citiți independent de semnalele BE #, iar înregistrările octeților individuali pot fi combinate de către pod (adică aceasta este memoria în forma sa pură).

Cerințele privind adresa sunt indicate în Registrul de adrese de bază (BAR). Programul de configurare poate determina, de asemenea, dimensiunile zonelor necesare. Pentru a face acest lucru, după o resetare hard, trebuie să citească și să salveze valorile adreselor de bază (acestea vor fi adresele implicite), să scrie FFFFFFFFh în fiecare registru și să citească din nou valoarea acestora. În cuvintele primite, trebuie să reduceți la zero biții tipului de decodare (biți pentru memorie și biți pentru I / O), inversați și incrementați cuvântul rezultat de 32 de biți - rezultatul va fi lungimea regiunii (ignorați biții pentru porturi). Metoda presupune că lungimea zonei este de 2n și că zona este aliniată în mod natural. Antetul standard conține până la 6 registre de adrese de bază, dar când se utilizează adresarea pe 64 de biți, numărul de blocuri descrise este redus. Registrele BAR neutilizate trebuie să returneze întotdeauna zerouri atunci când sunt citite.

PCI are suport pentru dispozitive vechi (VGA, IDE), care se declară ca atare prin codul de clasă din antet. Adresele lor tradiționale de porturi (fixe) nu sunt declarate în spațiul de configurare, dar de îndată ce bitul de activare este setat, dispozitivelor li se permite să răspundă și la aceste adrese.

HighPoint RocketRAID 2320: Al doilea controler RAID SATA II din laboratorul nostru cu interfață PCIe.

Interfața PCI Express (PCIe) este pe piață de aproximativ un an și jumătate, dar este încă percepută, în cea mai mare parte, ca o nouă interfață de placă grafică. Plăcile de bază pentru desktop cu suport PCI Express oferă sloturi suplimentare cu această interfață, dar sunt rar folosite astăzi. De fapt, ca și versiunile cu lățime de bandă mai mare pe plăcile de bază pentru servere și stații de lucru.

În timp ce PCI Express x16 poate oferi, teoretic, mai multă lățime de bandă decât PCI-X 533 (8GB/s față de 4.26GB/s), este important de subliniat că PCIe nu a fost destinat să înlocuiască interfețele PCI-X, ci mai degrabă pe cele mai vechi. PCIe a avut ca scop înlocuirea interfeței grafice AGP din motive de marketing și, de asemenea, pentru a deschide calea pentru utilizarea a două plăci grafice. Și magistrala PCI paralelă învechită pe 32 de biți trebuia de asemenea înlocuită. PCI nu este o magistrală bună în termeni moderni: oferă o lățime de bandă relativ mică, care, în plus, este împărțită între toate dispozitivele PCI. Tehnologiile moderne - cum ar fi Gigabit Ethernet, periferice de înaltă definiție și controlere de stocare - necesită o lățime de bandă mai mare.

Să ajungem la fundul PCI Express: această interfață nu este neapărat mai rapidă decât PCI-X, dar este mai simplă și oferă lățime de bandă separat pentru fiecare dispozitiv. Acesta este motivul pentru care astăzi apar tot mai multe chipset-uri de server/stație de lucru cu suport PCI Express: este prea tentant să fie alocată lățime de bandă fiecărui dispozitiv.

Una dintre aplicațiile posibile poate fi numită imediat controlere de rețea și de stocare, deoarece au suferit de multă vreme de „îngustimea” interfeței. De înțeles, construirea unui mediu de testare Ethernet de 10 Gbps este mai dificilă decât utilizarea controlerelor de stocare. Prin urmare, am ales RAID pentru testare.

Am selectat cele mai recente două controlere HighPoint Serial ATA II RAID RocketRAID, modelele 2220 și 2320, deoarece se bazează pe aceeași tehnologie și diferă doar prin interfață. 2220 este un model PCI-X, iar 2320 utilizează o interfață PCI Express x4.

PCI-X este o versiune modificată semnificativ a magistralei paralele de interconectare a componentelor periferice (PCI). Se bazează pe o topologie clasică de magistrală și necesită conectarea unui număr mare de benzi/pini. După cum am menționat mai sus, lățimea de bandă disponibilă este partajată între toate dispozitivele.

Spre deosebire de PCI obișnuit de pe computer, care are o lățime de 32 de biți, PCI-X este o magistrală de 64 de biți. Ca urmare, lățimea de bandă este dublată automat, la fel ca și numărul de piste/pini și dimensiunea slotului. Dar orice altceva, inclusiv protocoalele de transmisie, semnalele și tipurile de conectori, este compatibil cu versiunea inversă. Adică, în slotul PCI-X poate fi instalată o placă PCI pe 32 de biți (3,3V). În plus, multe plăci PCI-X pe 64 de biți pot rula în sloturi PCI pe 32 de biți, dar, desigur, cu lățime de bandă semnificativ redusă.

Dar chiar și această extindere a magistralei încă nu a oferit suficientă lățime de bandă pentru controlerele profesionale SCSI, iSCSI, Fibre Channel, 10-Gb / s Ethernet, InfiniBand și altele. Prin urmare, PCI-SIG (Grupul de interes special) a adăugat mai multe gradații de viteză la specificație, variind de la PCI-X 66 (Rev. 1.0b) la PCI-X 533 (Rev. 2.0). Consultați următorul tabel pentru detalii.

Latimea anvelopei Frecvența ceasului Funcții Lățimea de bandă
PCI-X 66 64 de biți 66 MHz Priză fierbinte 3,3 V 533 MB/s
PCI-X 133 64 de biți 133 MHz Priză fierbinte 3,3 V 1,06 GB/s
PCI-X 266 133 MHz (DDR) 2,13 GB/s
PCI-X 533 64 de biți, opțional doar 16 biți 133 MHz (QDR) Priză fierbinte, 3,3 V și 1,5 V, suport ECC 4,26 GB/s

După cum puteți vedea, după ce a ajuns la 133 MHz cu PCI-X 133, viteza de ceas nu a mai crescut. Pentru a oferi o lățime de bandă mai mare, au fost utilizate două tehnologii cu care probabil ești deja familiarizat din magistralele de memorie și FSB. PCI-X 266 se bazează pe tehnologia Double Data Rate, în care datele sunt transmise pe un ceas în scădere și în creștere. PCI-X 533 merge și mai departe și folosește Quad Data Rate. Intel folosește această tehnologie pentru FSB pentru procesoarele Pentium 4 și Xeon de mult timp.

Sloturile largi din stânga sunt magistrala PCI-X pe 64 de biți.


Sursa: prezentare PCI-SIG PCI-X 2.0.

După cum am menționat mai sus, lățimea de bandă totală cu maximum 4,26 GB/s este împărțită între toate dispozitivele conectate la magistrală. În plus, dacă un dispozitiv nu este capabil să funcționeze la o viteză mare de ceas, sistemul va reduce viteza magistralei la cea mai mică valoare globală, până la 33 MHz. Cu toate acestea, acesta este prețul de plătit pentru compatibilitate. Dar problema poate fi rezolvată prin implementarea mai multor punți PCI-X pe placa de bază. Produsele cu această capacitate sunt oferite de toți producătorii profesioniști, inclusiv de companii precum Asus, Supermicro și Tyan.

Compatibilitatea anterioară este un mare plus pentru PCI-X. Administratorii vor să fie absolut încrezători că noul hardware va funcționa corect. De aceea, introducerea noilor tehnologii pe piața serverelor și stațiilor de lucru nu este atât de rapidă. De ce să ne luăm rămas bun de la tehnologie când este compatibilă cu versiunea inversă, oferă performanță suficientă și are o bază hardware mare? Este puțin probabil ca această situație să se schimbe în viitor, deoarece grupul PCI-SIG lucrează deja la standardul PCI-X 1066. Acesta va dubla încă o dată lățimea de bandă și, în plus, va primi noi funcții, cum ar fi compresia de date „pornit”. zbura”, căi de rezervă automate și protecție.de defecțiuni. În plus, poate apărea suport pentru transferul izocron, dar apoi trebuie să renunți la compatibilitatea cu PCI convențional.

În primăvara anului 1991, Intel a finalizat dezvoltarea primului prototip de magistrală PCI. Inginerii au fost însărcinați să dezvolte o soluție ieftină și productivă care să permită realizarea 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) și, de asemenea, să se implementeze configurarea automată a dispozitivului.

În 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 frecvență 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, lățimea de bandă a magistralei este de 133 MB/s, dar în realitate, lățimea de bandă era de aproximativ 80 MB/s.

Principalele caracteristici:

  • frecvența magistralei - 33,33 sau 66,66 MHz, transmisie sincronă;
  • lățimea magistralei - 32 sau 64 de biți, magistrală multiplexată (adresa și datele sunt transmise pe aceleași linii);
  • lățime de bandă de vârf pentru versiunea pe 32 de biți, care funcționează la 33,33 MHz - 133 MB / s;
  • spațiu de adresă de memorie - 32 de biți (4 octeți);
  • spațiul de adrese al porturilor de intrare-ieșire - 32 de biți (4 octeți);
  • spațiu de adresă de configurare (pentru o funcție) - 256 octeți;
  • tensiune - 3,3 sau 5 V.

Fotografie cu conectori:

MiniPCI - 124 pini
MiniPCI Express MiniSata / mSATA - 52 pini
Apple MBA SSD, 2012
SSD Apple, 2012
Apple PCIe SSD
MXM, placă grafică, 230/232 pini

MXM2 NGIFF 75 de pini

CHEIE A PCIe x2

CHEIE B PCIe x4 Sata SMBus

MXM3, placă grafică, 314 pini
PCI 5V
PCI Universal
PCI-X 5v
AGP Universal
AGP 3.3 v
AGP 3.3 v + ADS Power
PCIe x1
PCIe x16
PCIe personalizat
ISA 8 biți

ISA pe 16 biți
eISA
VESA
NuBus
PDS
PDS
Slot de expansiune Apple II / GS
Bus de expansiune PC / XT / AT pe 8 biți
ISA (arhitectură standard industrială) - 16 biți
eISA
MBA - Arhitectură Micro Bus 16 biți
MBA - Arhitectură Micro Bus cu video pe 16 biți
MBA - Arhitectură Micro Bus pe 32 de biți
MBA - Arhitectură Micro Bus cu video pe 32 de biți
ISA 16 + VLB (VESA)
Procesor Direct Slot PDS
601 Procesor Direct Slot PDS
Procesor LC Slot direct PERCH
NuBus
PCI (Peripheral Computer Interconnect) - 5v
PCI 3.3v
CNR (Comunicații/rețea Riser)
AMR (Audio/Modem Riser)
ACR (Advanced Communication Riser)
PCI-X (periferic PCI) 3.3v
PCI-X 5v
Opțiune PCI 5v + RAID - ARO
AGP 3.3v
AGP 1.5v
AGP Universal
AGP Pro 1.5v
AGP Pro 1.5v + putere ADC
PCIe (interconectare expresă a componentelor periferice) x1
PCIe x4
PCIe x8
PCIe x16

PCI 2.0

Prima versiune a standardului de bază, care s-a răspândit, folosea atât carduri, cât și sloturi cu o tensiune de semnal de numai 5 volți. Debit maxim - 133 MB / s.

PCI 2.1 - 3.0

Ele se deosebeau de versiunea 2.0 prin posibilitatea de funcționare simultană a mai multor bus master (bus-master englez, 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.

  • Versiunea 2.1 - funcționează cu carduri de 3,3 volți, iar prezența liniilor electrice corespunzătoare a fost opțională.
  • Versiunea 2.2 - plăcile de expansiune realizate în conformitate cu aceste standarde au o cheie de conectare de alimentare universală și sunt capabile să funcționeze în multe varietăți ulterioare de sloturi de magistrală PCI, precum și, în unele cazuri, în sloturile versiunii 2.1.
  • Versiunea 2.3 este incompatibilă cu plăcile PCI evaluate pentru 5 volți, în ciuda utilizării continue a sloturilor de 32 de biți cu o cheie de 5 volți. Cardurile de expansiune au un conector universal, dar nu pot funcționa în sloturile de 5 volți ale versiunilor anterioare (până la 2.1 inclusiv).
  • Versiunea 3.0 - Finalizează tranziția la plăcile PCI de 3,3 volți, plăcile PCI de 5 volți nu mai sunt acceptate.

PCI 64

O extensie a standardului PCI de bază introdus în versiunea 2.1 care dublează numărul de linii de date și, prin urmare, lățimea de bandă. Slotul PCI 64 este o versiune extinsă a slotului PCI obișnuit. În mod oficial, 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ă, iar compatibilitatea unui card de 64 de biți cu sloturi de 32 de biți este limitată (în orice caz, performanța va fi limitată). a fi pierdut). Funcționează la o frecvență de ceas de 33 MHz. Debitul maxim este de 266 MB/s.

  • Versiunea 1 - Utilizează un slot PCI pe 64 de biți și 5 volți.
  • Versiunea 2 - Utilizează un slot PCI pe 64 de biți și 3,3 volți.

PCI 66

PCI 66 este o evoluție de 66 MHz a PCI 64; folosește 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.

PCI 64/66

Combinația dintre PCI 64 și PCI 66 permite o rată de transfer de date de până la patru ori mai mare decât standardul PCI de bază; Utilizează sloturi de 3,3 volți pe 64 de biți compatibile numai cu carduri de expansiune universale și de 3,3 volți pe 32 de biți. Cardurile PCI64 / 66 au fie un factor de formă universal (dar compatibile limitată cu sloturile de 32 de biți) sau de 3,3 V (aceasta din urmă opțiune este fundamental incompatibilă cu sloturile de 32 de biți de 33 MHz ale standardelor populare). Debit maxim - 533 MB/s.

PCI-X

PCI-X 1.0 - extinderea magistralei PCI64 cu adăugarea a două frecvențe noi de operare, 100 și 133 MHz, precum și un mecanism pentru tranzacții separate 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 de uz general. Cardurile PCI-X rulează de obicei în format 3.3V pe 64 de biți și au o compatibilitate inversă limitată cu sloturile PCI64 / 66, iar unele plăci PCI-X sunt într-un format universal și pot funcționa (deși acest lucru nu are aproape nicio valoare practică) în PCI obișnuit 2.2 / 2.3. În cazuri dificile, pentru a fi complet sigur de funcționalitatea combinației dintre placa de bază și placa de expansiune, este necesar să ne uităm la listele de compatibilitate ale producătorilor ambelor dispozitive.

PCI-X 2.0

PCI-X 2.0 - extinde și mai mult capacitățile PCI-X 1.0; frecvențele adăugate 266 și 533 MHz, precum și - corecția erorii de paritate a transmisiei de date (ECC). Permite împărțirea în 4 magistrale independente pe 16 biți, care este utilizat exclusiv în sisteme încorporate și industriale; tensiunea semnalului a fost redusă la 1,5 V, dar conectorii sunt retrocompatibili cu toate cardurile care utilizează o tensiune de semnal de 3,3 V. În prezent, pentru segmentul neprofesional al pieței calculatoarelor de înaltă performanță (stații de lucru puternice și entry-level). servere), în care magistrala PCI-X sunt produse foarte puține plăci de bază cu suport pentru magistrală. Un exemplu de placă de bază pentru un astfel de segment este ASUS P5K WS. În segmentul profesional, este folosit în controlere RAID, în unități SSD pentru PCI-E.

Mini PCI

Factor de formă PCI 2.2, conceput pentru utilizare în principal pe laptopuri.

PCI Express

PCI Express, sau PCIe sau PCI-E (cunoscut și ca 3GIO pentru I/O generația a 3-a; nu trebuie confundat cu PCI-X și PXI) - magistrala calculatorului(deși nu este un autobuz la nivel fizic, fiind o conexiune punct la punct) folosind model de program magistralele PCI și un protocol fizic de înaltă performanță bazat pe transmiterea datelor în serie... Dezvoltarea standardului PCI Express a fost începută de Intel după abandonarea magistralei InfiniBand. Oficial, prima specificație de bază PCI Express a apărut în iulie 2002. PCI Express este dezvoltat de PCI Special Interest Group.

Spre deosebire de standardul PCI, care folosea o magistrală comună pentru transferul de date cu mai multe dispozitive conectate în paralel, PCI Express, în general, este o rețea de pachete cu topologie în stea... Dispozitivele PCI Express comunică între ele printr-un mediu de comutare, fiecare dispozitiv conectat direct printr-o conexiune punct la punct la comutator. În plus, magistrala PCI Express acceptă:

  • schimb la cald de carduri;
  • lățime de bandă garantată (QoS);
  • managementul energiei;
  • controlul integrității datelor transmise.

Autobuzul PCI Express este destinat să fie utilizat numai ca magistrală locală. Deoarece modelul software PCI Express este în mare măsură moștenit de la PCI, sistemele și controlerele existente pot fi modificate pentru a utiliza magistrala PCI Express prin înlocuirea doar a stratului fizic, fără modificarea software-ului. Performanța de vârf a magistralei PCI Express face posibilă utilizarea acesteia în locul magistralelor AGP, și cu atât mai mult PCI și PCI-X. De facto, PCI Express a înlocuit aceste autobuze în computerele personale.

  • MiniCard (Mini PCIe) este un înlocuitor pentru factorul de formă Mini PCI. Următoarele magistrale sunt aduse în slotul Mini Card: x1 PCIe, 2.0 și SMBus.
    • M.2 este a doua versiune de Mini PCIe, până la x4 PCIe și SATA.
  • ExpressCard este similar cu factorul de formă PCMCIA. Slotul ExpressCard are magistrale x1 PCIe și USB 2.0, ExpressCard-urile acceptă conectarea la cald.
  • AdvancedTCA, MicroTCA - factor de formă pentru echipamente modulare de telecomunicații.
  • Modulul Mobile PCI Express (MXM) este un factor de formă industrial conceput pentru computerele notebook de către NVIDIA. Este folosit pentru a conecta acceleratoare grafice.
  • Specificațiile cablului PCI Express fac posibilă creșterea lungimii unei conexiuni la zeci de metri, ceea ce face posibilă crearea unui computer, ale cărui dispozitive periferice se află la o distanță considerabilă.
  • StackPC este o specificație pentru construirea de sisteme computerizate stivuibile. Această specificație descrie conectorii de expansiune StackPC, FPE și aranjamentul lor reciproc.

În ciuda faptului că standardul permite linii x32 per port, astfel de soluții sunt fizic destul de greoaie și nu sunt disponibile.

An
eliberare
Versiune
PCI Express
CodificareaViteză
transmitere
Debit pe x linii
× 1× 2× 4× 8× 16
2002 1.0 8b / 10b 2,5 GT/s 2 4 8 16 32
2007 2.0 8b / 10b 5 GT/s 4 8 16 32 64
2010 3.0 128b / 130b 8 GT/s ~7,877 ~15,754 ~31,508 ~63,015 ~126,031
2017 4.0 128b / 130b 16 GT/s ~15,754 ~31,508 ~63,015 ~126,031 ~252,062
2019
5.0 128b / 130b 32 GT/s ~32 ~64 ~128 ~256 ~512

PCI Express 2.0

PCI-SIG a lansat specificația PCI Express 2.0 pe 15 ianuarie 2007. Principalele inovații în PCI Express 2.0:

  • Lățime de bandă mărită: 500 MB/s lățime de bandă cu o singură linie sau 5 GT/s ( Gigatranzacții / s).
  • Au fost aduse îmbunătățiri protocolului de transfer între dispozitive și modelului de programare.
  • Control dinamic al vitezei (pentru a controla viteza de comunicare).
  • Alertă de lățime de bandă (pentru a notifica software-ul despre modificări ale vitezei și lățimii autobuzului).
  • Servicii de control al accesului - capabilități opționale de gestionare a tranzacțiilor punct la punct.
  • Controlul timeout-ului de execuție.
  • Resetare la nivel de funcție - un mecanism opțional pentru resetarea funcțiilor (funcții PCI) în interiorul unui dispozitiv (dispozitiv PCI).
  • Depășiți limita de putere (pentru a depăși limita de putere a slotului atunci când conectați dispozitive care consumă mai multă energie).

PCI Express 2.0 este pe deplin compatibil cu PCI Express 1.1 (cele vechi vor funcționa pe plăci de bază cu conectori noi, dar numai la 2,5 GT/s, deoarece chipset-urile vechi nu pot suporta dublarea ratei de transfer de date; adaptoarele video noi vor funcționa fără probleme în vechi sloturi PCI Express 1.x).

PCI Express 2.1

În ceea ce privește caracteristicile fizice (viteză, conector) corespunde cu 2.0, în partea de software au fost adăugate funcții care sunt complet planificate a fi introduse în versiunea 3.0. Deoarece majoritatea plăcilor de bază sunt vândute cu versiunea 2.0, prezența doar a unei plăci video cu 2.1 nu permite utilizarea modului 2.1.

PCI Express 3.0

Specificațiile PCI Express 3.0 au fost aprobate în noiembrie 2010. Interfața are o rată de transmisie de 8 GT/s ( Gigatranzacții / s). Dar, în ciuda acestui fapt, lățimea de bandă reală a fost încă dublată în comparație cu standardul PCI Express 2.0. Acest lucru a fost realizat datorită schemei de codare 128b / 130b mai agresivă, în care 128 de biți de date trimiși prin magistrală sunt codificați cu 130 de biți. În același timp, a fost păstrată compatibilitatea deplină cu versiunile anterioare PCI Express. Cardurile PCI Express 1.x și 2.x vor funcționa în slotul 3.0 și, invers, o placă PCI Express 3.0 va funcționa în sloturile 1.x și 2.x.

PCI Express 4.0

PCI Special Interest Group (PCI SIG) a declarat că PCI Express 4.0 ar putea fi standardizat înainte de sfârșitul anului 2016, dar până la jumătatea lui 2016, cu un număr de cipuri pregătite pentru producție, mass-media a raportat că standardizarea este așteptată la începutul lui 2017. au o lățime de bandă de 16 GT/s, adică va fi de două ori mai rapid decât PCIe 3.0.

Lasă comentariul tău!

Când vine vorba de orice interfețe în contextul sistemelor informatice, trebuie să fii foarte atent să nu „dai cu” interfețe incompatibile pentru aceleași componente din sistem.

Din fericire, când vine vorba de interfața PCI-Express pentru conectarea unei plăci video, practic nu vor fi probleme de incompatibilitate. În acest articol, vom analiza acest lucru în detaliu și vom vorbi, de asemenea, despre ce este exact acest PCI-Express.

Pentru ce este PCI-Express și pentru ce este?

Să începem, ca de obicei, de la elementele de bază. Interfață PCI-Express (PCI-E). Este un mijloc de interacțiune, în acest context, format dintr-un controler de magistrală și un slot corespunzător (Fig. 2) pe placa de baza(a rezuma).

Acest protocol de înaltă performanță este utilizat, după cum sa menționat mai sus, pentru a conecta o placă video la sistem. În consecință, există un slot PCI-Express corespunzător pe placa de bază, unde este instalat adaptorul video. Anterior, plăcile video erau conectate prin interfața AGP, dar când această interfață, ca să spunem simplu: „nu mai era suficient”, a venit în ajutor PCI-E, despre ale căror caracteristici detaliate vom vorbi acum.

Fig. 2 (sloturi PCI-Express 3.0 de pe placa de bază)

Principalele caracteristici ale PCI – Express (1.0, 2.0 și 3.0)

În ciuda faptului că denumirile PCI și PCI-Express sunt foarte asemănătoare, principiile conexiunii (interacțiunii) sunt fundamental diferite. În cazul PCI-Express, se folosește o linie - o conexiune serială bidirecțională, punct la punct, aceste linii pot fi mai multe. În cazul plăcilor video și plăcilor de bază (nu ținem cont de Cross Fire și SLI), care acceptă PCI-Express x16 (adică majoritatea), puteți ghici cu ușurință că există 16 astfel de linii (Fig. 3) , destul de des pe plăcile de bază cu PCI-E 1.0, puteai vedea un al doilea slot x8 pentru SLI sau Cross Fire.

Ei bine, în PCI, dispozitivul se conectează la o magistrală paralelă comună pe 32 de biți.

Orez. 3. Un exemplu de sloturi cu numere diferite de linii

(după cum am menționat mai devreme, x16 este cel mai frecvent utilizat)


Pentru interfață, lățimea de bandă este de 2,5 Gbps. Avem nevoie de aceste date pentru a urmări modificările acestui parametru în diferite versiuni PCI-E.

În plus, versiunea 1.0 a evoluat în PCI-E 2.0... Ca urmare a acestei transformări, am obținut o lățime de bandă de două ori, adică 5 Gb/s, dar aș dori să remarc că adaptoarele grafice nu au beneficiat în mod deosebit de performanță, deoarece aceasta este doar o versiune a interfeței. Cea mai mare parte a performanței depinde de placa video în sine, versiunea interfeței poate îmbunătăți sau încetini doar puțin transferul de date (în acest caz nu există „frânare” și există o marjă bună).

La fel, în 2010, cu o marjă, a fost dezvoltată interfața PCI-E 3.0, momentan este folosit în toate sistemele noi, dar dacă mai aveți 1.0 sau 2.0, atunci nu vă faceți griji - mai jos vom vorbi despre compatibilitatea relativă cu versiuni inverse a diferitelor versiuni.

În PCI-E 3.0, lățimea de bandă a fost dublată față de 2.0. Acolo s-au făcut și multe modificări tehnice.

Se așteaptă să se nască până în 2015 PCI-E 4.0, ceea ce nu este absolut surprinzător pentru o industrie IT dinamică.

Ei bine, să terminăm cu aceste versiuni și numere de lățime de bandă și să abordăm o problemă foarte importantă a compatibilității cu versiunile inverse a diferitelor versiuni PCI-Express.

Compatibilitate cu PCI-Express 1.0, 2.0 și 3.0

Această întrebare îi îngrijorează pe mulți, mai ales când alegerea unei plăci video pentru sistemul actual. Deoarece vă mulțumiți cu un sistem cu o placă de bază care acceptă PCI-Express 1.0, apar îndoieli dacă o placă video cu PCI-Express 2.0 sau 3.0 va funcționa corect? Da, așa va fi, cel puțin așa promit dezvoltatorii care au furnizat această compatibilitate. Singurul lucru este că placa video nu se va putea dezvălui pe deplin în toată splendoarea ei, dar pierderile de performanță, în cele mai multe cazuri, vor fi nesemnificative.


Dimpotrivă, puteți instala în siguranță plăci video cu interfața PCI-E 1.0 în plăcile de bază care acceptă PCI-E 3.0 sau 2.0, nimic nu este limitat aici, așa că fiți liniștiți cu privire la compatibilitate. Dacă, desigur, totul este în ordine cu alți factori, aceștia includ o unitate de alimentare insuficient de puternică etc.

În general, am vorbit în detaliu despre PCI-Express, care vă va permite să scăpați de o mulțime de ambiguități și îndoieli cu privire la compatibilitate și înțelegerea diferențelor în versiunile PCI-E.

Placa de bază este „corpul” computerului și fără ea nu poate exista nicio unitate de sistem. Toate componentele care compun unitatea de sistem sunt atașate la placa de bază și conectate la aceasta. Din punctul de vedere al asamblarii unui computer, conectarea elementelor la placa de baza nu este o sarcina extrem de dificila, dar exista nuante importante carora trebuie sa le acorzi atentie. În acest articol, vom lua în considerare care sunt conectorii principali de pe placa de bază, ce să vă conectați la ei, în ce cazuri sunt compatibili și în care nu, precum și alte probleme.

conector CPU pe placa de baza

Una dintre componentele principale și „inima” oricărui computer este procesorul central. Fără el, nu veți putea porni unitatea de sistem și este foarte important să o instalați corect. Atunci când alegeți un procesor, trebuie să vă concentrați pe ce placă de bază este utilizată sau invers. Cert este că există 9 standarde moderne de soclu de procesor care au pinouts diferite sau nu sunt compatibile între ele din alte motive.

CPU

Conector

AMD AM3 AM3 + FM1 FM2
Intel 1150 1155 1356 1366 2011

Soclul procesorului este de obicei situat în mijlocul plăcii de bază. Este greu să nu-l observi - este o platformă dreptunghiulară mare care are un mecanism special pentru fixarea procesorului.

Vă rugăm să rețineți: de cele mai multe ori, soclul procesorului de pe placa de bază este destul de „pustiu”. Faptul este că deasupra este instalat procesorul, care poate fi destul de impresionant ca dimensiune.

Conector pentru o placă video pe placa de bază

Vă recomandăm să citiți:

Următorul conector de pe placa de bază, care este probabil să fie necesar la asamblarea unui computer, este conectorul pentru o placă video. Cu ceva timp în urmă, au fost folosite două tipuri de conectori - AGP și PCI Express. Astăzi, toate plăcile video sunt conectate la slotul PCI Express.

Cel mai adesea, slotul PCI Express este situat în colțul din stânga jos al plăcii de bază. Poate servi nu numai pentru conectarea unei plăci video, ci și pentru alte dispozitive.

Important: Slotul PCI Express poate fi prezentat în mai multe variante: PCI Express x1, PCI Express x4, PCI Express x16. Ultimul dintre conectorii enumerați este utilizat pentru a conecta o placă video standard. Alți conectori pot să nu fie întotdeauna prezenți pe plăcile de bază moderne.

Slotul PCI Express X16 pentru conectarea unei plăci video poate fi de diferite versiuni. Începând cu 2017, există 4 tipuri de slot PCI Express:

Acești conectori diferă unul de celălalt doar prin lățimea de bandă. Cu toate acestea, ele sunt compatibile cu invers.

Exemplu: Prin conectarea unui dispozitiv PCI Express 2.0 la un slot PCI Express 3.0, cel mai probabil va funcționa perfect. Dar dacă faceți opusul, atunci un dispozitiv proiectat pentru un tip superior de conector poate să nu aibă suficientă lățime de bandă pentru a-și îndeplini complet sau parțial funcțiile.

De remarcat: Unele plăci de bază au un conectorPCI situat în apropierePCIExpres. Acest conector practic nu este acum folosit, dar dacă este necesar, în el pot fi instalate elemente suplimentare.

Conector RAM pe placa de baza

Vă recomandăm să citiți:

Conectorii RAM se află cel mai adesea în partea dreaptă a procesorului (uneori pot fi amplasați pe ambele părți). Există cel puțin 4 astfel de conectori pe o placă de bază modernă.

În prezent, sloturile pentru conectarea RAM sunt protocol DDR3. În același timp, au fost folosite anterior DDR1 și DDR2, care au rămas în urmă standardului modern în ceea ce privește lățimea de bandă. Compatibilitate conector și dispozitivDDR1,DDR2 șiDDR 3 nu este. Adică, nu veți putea instala un dispozitiv DDR1 într-un slot DDR3.

Este de remarcat: pe plăcile de bază moderne, puteți vedea că mai mulți conectori pentru conectarea RAM sunt realizati într-o culoare și mai mulți în alta. Acest lucru se datorează faptului că diferite canale sunt evidențiate în culori diferite. Dacă utilizați mai multe benzi de RAM, este mai bine să le conectați pe toate la conectori de aceeași culoare.

conector HDD pe placa de baza

Pe placa de bază, cel mai adesea în partea dreaptă jos a acesteia, există mai mulți conectori pentru conectarea unui hard disk. Acești conectori se numesc SATA și vin în trei versiuni: SATA 1.0, SATA 2.0, SATA 3.0. Cel mai adesea, acești conectori sunt evidențiați în culoare, diferă de toți ceilalți conectori de pe placa de bază.

Toate versiunile de conectorSATA sunt compatibile cu versiunea inversă și diferă ca viteză. Conector SATA 3.0 este cel mai rapid în acest moment, motiv pentru care este folosit în toate plăcile de bază moderne.

Conector de alimentare pentru placa de baza

Există un alt conector important pe partea dreaptă a plăcii de bază care servește la alimentarea plăcii de bază. De obicei este format din 20 sau 24 de pini și este folosit pentru a se conecta la el

Top articole similare