Portul AGP este o magistrală de 32 biți cronometrat la 66 MHz, majoritatea semnalelor este împrumutat de la magistrala PCI. Cu toate acestea, spre deosebire de PCI, portul AGP este o interfață cu două puncte care se conectează adaptorul grafic cu memorie de sistem și procesor de autobuz direct la canalele logice ale datelor placa de baza chipset-ului, fără a interfera cu „strangulare» - magistrala PCI. Inițial planificate de tranziție privind viteza de ceas de 100 MHz, dar în caietul de sarcini AGP 2.0, și în prezentul exemplu de realizare AGP8X apare doar o singură frecvență - 66,6 MHz (limita de curent pentru magistrala PCI). „Acceleration“ port este asigurată de următorii factori:
- înlănțuire de accesări ale memoriei;
- dublu (2x) sau de patru ori (4x) viteza de transmisie
date (relativ ceas de port frecvență);
Ideea de accese pipeline a memoriei este ilustrată în Fig. 6.11 în cazul în care de referință sravni¬vayutsya la PCI si memorie AGP. Memoria PCI în timpul reacției la o magistrală de cerere este inactiv (nu gratuit). AGP transportor permite accesul în acest moment pentru a trece următoarele interogări, și apoi a obține fluxul de răspuns.
Fig. 30. Ciclurile de tratament pentru PCI si memorie AGP
Dublarea și patru ori rata de date oferă o lățime de bandă de frecvență de 66 MHz până la 533 (2x) și 1066 Mb / s (4x), ușor neașteptat anvelopă 32 bit¬noy. În aceste moduri, blocurile de date sunt transmise ca frontul, iar dezintegrarea semnalului poarta (ca în ATA Ultra DMA). Moduri de 2 și 4 pot fi utilizate numai în cazul în care acestea sunt susținute și placă grafică și placa de bază.
Portul AGP este destinat numai pentru placa grafică inteligente care are SD-accelerator (pentru concizie aici acest adaptor va fi pur și simplu numit un accelerator). Sistemul AGP logica de port este un controler de memorie sofisticat care efectuează tamponare profundă și cereri de înaltă performanță de servicii AGP (de adaptor) și ceilalți clienți ai săi - CPU (unul sau mai multe) și magistrala PCI. AGP poate pune în aplicare toată lățimea de bandă de memorie pe 64 de biți a sistemului informatic de pe procesor Pentium sau mai mare. Este posibil concurente accesul la memorie atat unitatea centrala si de la podul de autobuz PCI. compania Intel a introdus suportul AGP in chipset-uri pentru procesoare P6, dar nu există nici o „contraindicații“ pentru utilizarea AGP si Pentium.
Rețineți că multe dintre beneficiile AGP sunt potențial în natură și pot fi puse în aplicare doar cu suportul de grafică hardware și software-ul adap¬tera. Placă video cu interfață AGP poate comporta de fapt, în mod diferit:
· Nu utilizați înlănțuire, și de a folosi numai
PCI de înregistrare rapidă (Fast scriere);
· Nu lucrați cu texturi, situat în sistem
de memorie, dar utilizați un schimb mai rapid de date între memorie și un tampon locală;
· Utilizați texturi de distribuție optimă între
memoria locală și de sistem, evitând conflictele cu accesele de CPU.
Portul AGP conține un set aproape plin de semnale de autobuz PCI și AGP semnale suplimentare. Dispozitiv care se conectează la portul AGP, poate fi conceput ca un mod exclusiv pentru tranzacții AGP și să fie o combinație de AGP + PCI. Dispozitivul trebuie să îndeplinească în mod necesar funcțiile de AGP de master (alias portul AGP nu are sens), și funcția slave PCI cu toate atributele sale (registre de configurare, etc ...); În plus, acesta poate fi un dispozitiv de conducere PCI. Pentru tranzacțiile în modul AGP, acesta este singurul sistem disponibil RAM. În tratamentul PCI disponibil ca un spațiu de memorie de timp și spațiu pentru IO și spațiul de configurare.
Conceptul transportor AGP este ilustrat în Fig. 6.12. Portul AGP poate fi într-una din cele patru state:
· Date - transfer de date pipeline
· AGP - setare în coada de comandă AGP;
· PCI - o tranzacție în modul PCI.
Fig. 31. AGP transportor
· Utilizeaza propriul set de comenzi.
· Lungimea tranzacției este în mod clar indicată în cerere.
· Cereri de transport nu garantează coerența
memorie și memoria cache. Pentru tranzacțiile care necesită coerentei tranzacție PCI ar trebui să fie utilizat.
Există două modalități de furnizare a comenzii AGP (setarea cereri în coada de așteptare), din care, în configurația actuală a ales unul, și procesul de schimbare „din zbor“ nu este permis:
· Cerere introdus autobuz AD [31: 0] și C / BE [3: 0] via
# Semnal CONDUCTA pe fiecare maestru margine trimite următoarea CLK cerere cuvânt dublu cu cod de comandă.
· Comenzile sunt date prin afara benzii de linie (sideband)
0000 · (citire) - citirea din memorie (n + 1) cuvânt quad
· 0001 (HP Read) - lectură o prioritate ridicată;
· 0100 (Scriere) - intrare în memorie;
· 0101 (HP Scriere) - prioritate ridicată înregistrare;
· 1000 (Long Read) - «lung» lectură (n + 1) x4
cuvinte quad (până la 256 bytes de date);
· 1001 (HP lung Read) - «lung» citit de mare
× 1010 (Flush) - curățarea, descărcarea datelor din toate anterioare
· 1100 (Gard) - plante „garduri“ care permit
intrări de filet cu prioritate scăzută nu sări peste lectură;
Dacă outband furnizează comenzi magistralei SBA [7: 0] sunt transmise pe 16 biți parcelă de patru tipuri. Fiecare parcelă este transmisă în două etape, la care se încadrează în creștere sau semnal de ceas de margine. trimiterea tipului codificat de biți semnificativi:
· Tip 1: OAAA Alll AAAA AAAA - lungimea câmpului (LLL) și
· Tip 2: 10SS CCRA AAAA aaaa - codul de comandă (CCCC) și
· Tipul 4 1110 AAAA AAAA aaaa - senior suplimentare
· Mod de 1x fiecare parte transmis la marginea CLK;
· În 2 la modul SBA utilizează o singură poartă
SB_STB, prin partea sa criză pe¬redaetsya principal, iar pe marginea ulterioară - cel mai tânăr. Frecvența stroboscopul (dar nu fază) coincide cu CLK, astfel încât următoarea comandă pot fi introduse în fiecare ciclu de ceas clk.
· Cei 4 folosește, de asemenea, un mod suplimentar
(Inverse) stroboscop SB_STB # .Starshaya fix parțial SB_STB degradare, și mai tineri - pentru declinul ulterior SB_STB #. Gates frecvență de două ori mai mare decât CLK, astfel încât aburul CLK pot fi introduse în fiecare ciclu de instrucțiuni.
Desigur, un ciclu complet de instrucțiuni de administrare (Yu, cu toate cele patru tipuri) parcele date NOP este mai mare de - 10, 5 și 2,5 ceas moduri de frecventa cicluri 1x CLK, 2x și, respectiv, 4x.
· 000 - datele de bază care urmează să fie transmise
prioritate cererea de citire scăzută, coada de așteptare anterior (sau șterge);
· 001 - datele de bază care urmează să fie transmise
Prioritate ridicată cererea de citire;
· 010 - comandantul va trebui să furnizeze
solicitare date de scriere nizkopriori¬tetnogo;
· 011 - comandantul va trebui să furnizeze
Prioritate ridicată solicitare date de scriere;
· 111 - master este permis să pună în
toate AGP de comandă (semnal R1RE #) sau de a începe o tranzacție PCI (cadru * semnal).
Accelerator recunoaște doar tipul și prioritatea echipei, rezultatele care vor urma în această tranzacție. Ce fel de comandă din coadă îndeplinește portul determină pedala de accelerație în sine, așa cum a fost cel care le-a pus în aplicare (este cunoscut procedura). Nu există etichete de tranzacție (cum ar fi magistrala de sistem procesorul P6) în nici o interfață AGP. Există doar 4 cozi independente pentru fiecare tip de comandă (a se citi cu prioritate redusă, de citire cu prioritate ridicată, scrie prioritate redusă, intrare cu prioritate ridicată). Fazele de execuție a comenzilor diferite cozi pot alterna aleator; Portul are dreptul de a le executa în ordinea în care este optimă din punct de vedere al performanței. Ordinea efectivă de executare a comenzilor (citire și scriere de memorie) poate fi modificată. Cu toate acestea, pentru fiecare coadă, ordinea de execuție coincid întotdeauna cu depunerea de ordinul a echipelor (acest lucru este cunoscut și accelerator, și portul).
Cerere AGP arbitru de mare prioritate pentru logica de sistem sunt o prioritate mai mare decât în cazul cererilor de CPU și magistrala PCI dispozitive de conducere. AGP solicită o prioritate scăzută pentru arbitrul trebuie să aibă prioritate mai mică decât cea a procesorului, dar mai mare decât restul dispozitivelor de conducere. În timp ce adoptarea protocolului nu limitează în mod explicit adâncimea cozii, caietul de sarcini AGP în mod oficial limitele sale de până la 256 de cereri. În etapa de configurare a sistemului dispozitiv PnP seturi de limitare reală (pedala de accelerație în registrul de configurare), în funcție de capacitățile și caracteristici ale plăcii de bază sale. Programe care rulează cu acceleratorul (executabil și unitatea de procesare centrală și locală), nu trebuie să depășească numărul de comenzi nedeservite în coada de așteptare (care au toate informațiile necesare sunt disponibile în acest scop). La transmiterea datelor cu semnale de control AGP împrumutat de la PCI, ime¬yut aproape aceeași funcție ca și în PCI. AGP de transfer de date în modul 1x este foarte similar cu cicluri PCI, dar un pic simplificat procedura de confirmare (cum este un port dedicat, iar schimbul se efectuează numai cu cel mai rapid controller de memorie de sistem). În modurile 2 și 4 are o specificitate de eșantionare:
· 1x date mod (4 octeți pe AD [31: 0]) sunt înregistrate
recipient la fiecare margine în creștere de ceas CLK, care oferă o lățime de bandă de vârf de 66,6 x 4 = 266 Mb / s.
· În 2 mod utilizează stroboscopic de date și AD_STBO
Linii AD_STB 1 la [00:15] și AD respectiv [16,31]. Stroboscopic, sunt generate sursă de date, iar receptorul blochează datele de degradare, și la poarta din față. Gates frecvență coincide cu frecvența CLK, care asigură lățimea de bandă de vârf de 66,6 x 2 x 4 = 533 MBytes / s.
• În modul 4 sunt, de asemenea, folosite mai mult
(Inverted) și porțile AD_STBO # AD_STB1 #. Datele înregistrate de recesiune și porțile directe și inverse. Gates frecvență de două ori mai mare decât CLK, și prevede că lățimea de bandă de vârf de 66,6 x 2 x 2 x 4 = 1066 MBytes / s.
Portul AGP trebuie să monitorizeze starea de pregătire a tampoanelor de accelerație pentru a trimite sau a primi date despre tranzacții din coada de așteptare. Semnal RBF # (citire Buffer complet) accelerator poate informa portul nu este pregătit să primească date de tranzacție cu prioritate redusă de citire (pentru a primi prioritate ridicată, el trebuie să fie întotdeauna gata). Semnal WBF # (Scrie Buffer complet) îl informează despre incapacitatea de a lua prima porțiune a datelor de înregistrare rapidă (Scriere rapidă, FW).
Configurarea dispozitivelor cu interfață AGP este la fel ca dispozitivele PCI conventionale - prin recurgerea la înregistrarea în spațiul de configurare. În acest AGP-dispozitive nu necesită o linie IDSEL externă - semnalul lor intern, pentru a permite accesul la registrele de configurare cuplate la linia AD16, astfel încât adresa în registrul de configurare furnizată la AGP AD16 = 1.
· Biți [31:24] - RQ, numărul total admisibil
solicitările care sunt în coada de așteptare: 0 - 1 echipa, 255 - 256 echipe;
· Biți [23:10] - rezervat (0);
· Bit 9 - SB A, outband comandant de sprijin;
· Biți [8: 6] - rezervat (0);
· Bit 4 - FW, sprijini intrarea rapidă;
· Biți 3 - rezervat (0);
· Biți [2: 0] - RATE, modurile acceptate de schimb de AD și SBA: Bit 0 - 1x, Bit 1 - 2, bit 2 - 4.
· Biți [31:24] - RQ_DEPTH, adâncimea coada echipelor;
· Biți [23:10] - rezervat (0);
· Bit 9 - 5BA_ENABLE, outband de alimentare de configurare
· Bit 8 - AGP_ENABLE, tranzacții de rezoluție AGP;
· Biți [7: 6] - rezervat (0);
· Bit 4 - FW_Enable, permite înregistrarea rapidă;
· Biți 3 - rezervat (0);
· Biții [2: 0] - DATA_RATE, instalarea unui mod de schimb:
· Bit 0 - 1x, Bit 1 - 2 bit 2 - 4 (pentru a fi
doar un singur bit este setat).