Referat Interfata AGP
Mai jos puteti citi fragmente din
Referat Interfata AGP si de asemenea puteti face
Download Referat Interfata AGPCiteste fragmente din Referat Interfata AGP
Interfaţa AGP
Principiul de funcţionare, transferul datelor, maparea memoriei şi
aspecte software.
Necesitatea unor rate ridicate de transfer între procesor şi
subsistemul video a condus la apariţia magistralelor locale ale
calculatoarelor personale, începând cu magistrala VL Bus (VESA Local
Bus) şi continuând cu magistrala PCI (Peripheral Component
Interconnect). La fel ca în cazul magistralei ISA, traficul pe
magistrala PCI a calculatoarelor performante a devenit foarte intens, la
acest trafic contribuind adaptorul video, discul fix ÅŸi alte periferice
care sunt conectate la aceeaşi magistrală PCI. Pentru a se evita
saturarea magistralei PCI din cauza informaţiilor video, Intel a creat
o nouă interfaţă, proiectată special pentru subsistemul video.
Această interfaţă este numită AGP (Accelerated Graphics Port).
Principiul AGP
AGP este o nouă interconexiune pentru acceleratoarele grafice din
sistemele bazate pe procesorul Pentium II, utilizate în special pentru
grafică 3D şi redarea secvenţelor video.
Procesorul Pentium II constă dintr-un nucleu încapsulat cu o memorie
cache integrată de nivel 2 (L2). Acest procesor dispune de asemenea de
o arhitectură Dual Independent Bus (DIB), în care două magistrale
independente conectează nucleul cu memoria cache L2 şi cu magistrala
sistem a calculatorului. Faptul că ambele magistrale pot funcţiona în
acelaşi timp îmbunătăţeşte semnificativ performanţele, deoarece
procesorul poate executa instrucţiuni din memoria cache L2 şi simultan
poate comunica cu dispozitive externe.
Noile aplicaţii grafice 3D impun cerinţe riguroase calculatoarelor PC,
cuprinzând calcule geometrice mai rapide, o interpretare grafică mai
sofisticată şi texturi mai detaliate. Cu toate că Pentium II este
adaptat pentru a executa multe calcule geometrice (cu o rată mai mare
de triunghiuri pe secundă), iar generaţia viitoare de controlere
grafice poate implementa o mare varietate de efecte grafice, dimensiunea
crescută a texturilor a devenit o chestiune importantă.
O problemă o reprezintă dimensiunea memoriei video utilizată de
controlerele grafice. Tipic, această memorie are o dimensiune de 2-4
MB. Totuşi, au început să apară aplicaţii grafice care utilizează
peste 20 MB pentru o singură textură. Memoria video poate fi extinsă
pentru a satisface aceste cerinţe, dar o asemenea soluţie este foarte
costisitoare.
A doua problemă este rata de transfer permisă de magistrala PCI.
Controlerele grafice trebuie să încarce în prealabil texturile din
memoria sistem în memoria lor RAM locală. Deoarece dimensiunea
texturilor a crescut, magistrala PCI a început să devină
congestionată. Problema este chiar mai acută în cazul aplicaţiilor
care implică redarea secvenţelor video.
Tehnologia AGP îmbunătăţeşte performanţele sistemului punând la
dispoziţie o cale rapidă între controlerul grafic şi memoria sistem.
Această cale permite controlerului grafic să facă acces la texturi
direct în memoria sistem în timpul interpretării grafice, în loc să
le încarce în prealabil în memoria video locală (vezi figura
"Transferuri de date pentru maparea texturilor la interfaţa AGP").
Sistemul de operare (SO) poate rezerva în mod dinamic segmente din
memoria sistem, pentru a fi utilizate de controlerul grafic. Această
memorie este numită memorie AGP. Ca urmare, controlerul grafic va
trebui să păstreze un număr mai mic de texturi în memoria video
locală, ceea ce permite rezoluţii mai mari ale ecranului, sau permite
utilizarea unui buffer Z pentru o dimensiune dată a ecranului. Această
tehnică elimină şi restricţia de dimensiune pe care memoria video
locală o impune texturilor, şi deci permite aplicaţiilor să
utilizeze texturi de dimensiuni mult mai mari, îmbunătăţind
realismul ÅŸi calitatea imaginilor.
AGP este un port, şi nu o magistrală, deoarece la o magistrală se pot
conecta mai multe dispozitive, în timp ce AGP este o conxiune punct la
punct doar între adaptorul video şi procesorul sistemului.
AGP este o interfaţă de 64 biţi care poate funcţiona la 66 MHz.
Specificaţiile AGP se bazează pe extensia de 64 biţi a
specificaţiilor PCI 2.1, care descriu şi un mod de lucru cu o
frecvenţă de 66 MHz, care nu a fost implementat niciodată. AGP este
implementat cu un conector similar celui utilizat pentru magistrala PCI,
cu 32 de linii pentru adrese şi date multiplexate. Există 8 linii
suplimentare pentru adresarea secundară (sideband), descrisă ma jos.
Plăcile de bază AGP au un singur conector de extensie pentru adaptorul
video AGP şi au, de obicei, cu un conector PCI mai puţin, în rest
fiind similare cu plăcile de bază PCI.
Interfaţa AGP funcţionează la viteza maximă a magistralei sistem,
spre deosebire de magistrala PCI care funcţionează la jumătatea
acestei viteze. Aceasta înseamnă că la o placă de bază standard
Pentium II, AGP funcţionează la 66 MHz în locul frecvenţei de 33 MHz
a magistralei PCI. Astfel se dublează rata de transfer a portului. În
locul limitei de 133 MB/s a magistralei PCI, în modul său cu viteza
minimă AGP are o rată de transfer de 266 MB/s. În plus, are avantajul
că nu trebuie să partajeze rata de transfer cu alte dispozitive PCI.
Există mai multe cerinţe pentru ca un sistem să poată utiliza
avantajele AGP:
Placă de bază cu un set de circuite AGP (de exemplu setul 440LX al
Intel pentru procesorul Pentium II).
Sistem de operare cu drivere pentru noua interfaţă (Windows 98).
Drivere speciale ale adaptorului video pentru interfaţa AGP, care pot
utiliza modul 2X al acesteia.
Moduri de transfer a datelor
Pe lângă dublarea vitezei magistralei, AGP a definit un mod 2X care
utilizează un protocol special pentru a putea transmite unu volum dublu
de date prin port la aceeaşi frecvenţă de ceas. Creşterea de viteză
este obţinută prin transferarea datelor atât pe frontul crescător,
cât şi pe cel descrescător al ceasului de 66 MHz, şi prin utilizarea
modurilor de transfer amai eficiente. Rezultatul este că performanţele
se dublează din nou, la o rată de transfer la vârf de 533 MB/s. Rata
de transfer efectivă variază la diferite sisteme şi aplicaţii, dar
uzual sistemele pot atinge în jur de 50-80% din valorile la vârf în
cazul transferurilor prelungite. Există şi o intenţie de a implementa
un mod 4X (rată de transfer de 1,07 GB/s).
AGP pune la dispoziţia controlerului grafic două moduri pentru accesul
direct al texturilor în memoria sistem: modul pipeline şi adresarea
secundară (sideband addressing). În cazul modului pipeline, AGP
suprapune timpii de acces ai memoriei ÅŸi ai magistralei pentru o cerere
n cu generarea cererilor următoare (n+1, n+2 etc). În cazul
magistralei PCI, cererea n+1 nu începe până când nu se termină
transferul de date al cererii n (figura "Cereri suprapuse la interfaţa
AGP").
natura de tip non-pipeline a magistralei PCI.
În cazul adresării secundare, AGP utilizează 8 linii suplimentare de
adrese care permit controlerului grafic să transmită noi adrese şi
cereri simultan cu transferurile de date pe liniile principale de
adrese/date ca urmare a cererilor anterioare (Figura 2).
Maparea memoriei AGP
Memoria AGP constă din zone alocate în mod dinamic ale memoriei
sistem, pe care controlerul grafic le poate accesa rapid. Viteza de
acces se datorează hardului încorporat în setul de circuite ale
sistemului, set necesar pentru utilizarea AGP. Acesta translatează
adresele, permiţând controlerului grafic şi programelor acestuia să
observe un spaţiu contiguu în memoria principală, deşi paginile sunt
disjuncte. Astfel, controlerul grafic poate accesa structuri de date cu
dimensiuni mari, de exemplu o hartă de biţi a unei texturi , ca o
singură entitate. Hardul încorporat este numit GART (Graphics Address
Remapping Table), cu funcţii similare circuitelor de paginare din UCP.
Adresele virtuale liniare ale procesorului sunt translatate de
circuitele sale de paginare în adrese fizice. Aceste adrese fizice sunt
utilizate pentru accesul la memoria sistem. Accesurile UCP la memoria
video şi memoria AGP utilizează aceleaşi adrese ca şi cele utilizate
de controlerul grafic. De aceea SO setează circuitele de paginare ale
UCP astfel încât să nu translateze adresele virtuale în adrese
fizice pentru aceste memorii.
Pentru accesul la memoria AGP, controlerul grafic şi UCP utilizează o
fereastră contiguă de câţiva MB. Circuitul GART translatează însă
adresele din această fereastră în diferite adrese, eventual
disjuncte, ale unor pagini de 4 KB din memoria sistem. Dispozitivele PCI
care fac acces la fereastra memoriei AGP (de exemplu, pentru capturarea
imaginilor video) utilizează de asemenea circuitul GART.
Aspecte software
Aplicaţiile care nu sunt scrise în mod special pentru AGP pot fi
utilizate pe sistemele AGP, dacă sistemul de operare dispune de drivere
şi rutine interne pentru această interfaţă. Totuşi, aplicaţiile
pot fi optimizate pentru AGP. ÃŽn ambele cazuri, avantajul important al
AGP este numărul mai mare de texturi detaliate, fără reducerea
performanţelor în timp real.
Calculatoarele PC cu interfaţă AGP pot fi de trei tipuri:
Tipul 1: Acest tip dispune de o interfaţă AGP, dar nu utilizează
facilităţile interfeţei legate de interpretarea texturilor, ci doar
transferă datele mai rapid decât un dispozitiv PCI. Sistemul nu
utilizează posibilităţile transferului pipeline sau adresarea
secundară.
Tipul 2: Acest tip interpretează texturile din memoria AGP, deci
aplicaţiile nu trebuie să transfere texturile în memoria video.
Circuitele pot avea posibilitatea de interpretare a texturilor ÅŸi din
memoria video. Execuţia poate fi mai rapidă dacă texturile nu sunt
interpretate din memoria video, datorită conflictelor de acces la
memoria video pentru scrierea pixelilor, reîmprospătarea ecranului,
citirea elementelor de textură şi a valorilor Z.
Tipul 3: Acest tip are performanţele cele mai bune atunci când
interpretarea texturilor se poate realiza atât din memoria video, cât
ÅŸi din memoria AGP. Texturile utilizate cel mai frecvent sau cele de
dimensiuni mai mici pot fi plasate în memoria video, în timp ce
texturile de dimensiuni mai mari sau cele utilizate mai puţin frecvent
pot fi plasate în memoria sistem. Astfel conflictele dintre UCP şi
controlerul grafic vor fi minimizate.
Aplicaţii DOS
Interpretarea texturilor direct din memoria sistem necesită utilizarea
circuitului GART din cauza tehnicii de adresare virtuală utilizată în
sistemele de operare actuale. Însă, pentru aplicaţiile executate sub
sisteme de operare mai vechi (de exemplu, DOS) fără adresare
virtuală, circuitul GART este inutil.
Aplicaţiile vechi executate sub DOS vor beneficia de viteza mai mare a
AGP, dar vor necesita anumite modificări ale driverelor pentru a activa
posibilitatea controlerului grafic de a accesa texturile direct în
memoria sistem.
Aplicaţii Windows
Aplicaţiile Windows nemodificate pot beneficia de avantajele AGP,
deoarece versiunile noi ale SO ÅŸi biblioteca DirectDraw au fost
actualizate pentru a permite utilizarea ei.
Pentru implementările hardware curente, SO va marca memoria AGP (ca şi
o altă memorie video) pentru a nu fi încărcată în memoria cache,
astfel încât nu va exista o problemă de coerenţă între memoriile
cache ale UCP ÅŸi datele utilizate de controlerul grafic. ÃŽn caz
contrar, accesele controlerului grafic la memoria AGP ar necesita
golirea zonelor cache ale UCP, ceea ce ar putea cauza întârzieri.
Alocarea memoriei de către DirectDraw
DirectDraw va aloca în mod implicit memoria pentru texturi în ordinea
de mai jos, cu excepţia cazului în care aplicaţia solicită în mod
expres o altă alocare:
- Memoria video locală.
- Memoria AGP.
- Memoria sistem.
În cazul în care controlerul grafic nu poate interpreta texturile din
memoria AGP, se poate împiedica alocarea de către DirectDraw a
oricărei memorii diferite de memoria video locală pentru texturi.
Driverul controlerului grafic raportează posibilităţile sale către
SO şi DirectDraw, şi dacă controlerul grafic nu poate accesa direct
memoria sistem, DirectDraw va aloca aplicaţiei numai memorie video
locală şi memorie sistem. Similar, în cazul în care controlerul
grafic nu poate interpreta texturile din memoria video locală,
DirectDraw nu va aloca memorie video locală pentru texturi.
Dacă aplicaţia nu poate plasa toate texturile în memoria AGP alocată
de DirectDraw, atunci ea trebuie să copieze texturile de pe disc în
memoria AGP. Aplicaţiile care utilizează texturi de dimensiuni mari
pot necesita încărcarea texturilor de pe disc sau din reţea în
memoria AGP, indiferent de cantitatea de memorie alocată de DirectDraw.
Avantajele AGP
Principalele avantaje ale AGP sunt rezumate mai jos.
Rată de transfer mai ridicată. Rata de transfer la vârf este de 2-4
ori mai mare decât cea a magistralei PCI, datorită modului pipeline,
adresării secundare şi a transferurilor de date care au loc atât pe
frontul crescător, cât şi pe cel descrescător al ceasului.
Interpretarea directă a texturilor din memoria sistem. AGP permite
accesul direct cu viteză ridicată la memoria sistem de către
controlerul grafic, în locul încărcării prealabile a texturilor în
memoria video locală.
Grafică de calitate mai ridicată. Se pot utiliza texturi cu
dimensiuni, ÅŸi nivele de detaliere nelimitate.
Costuri mai reduse. Prin minimizarea necesarului de memorie video, AGP
ajută la reducerea costurilor noilor sisteme.
Congestie mai redusă pe magistrala PCI. AGP funcţionează concurent
cu, şi independent de cele mai multe tranzacţii de pe magistrala PCI.
Sistemele vor avea o stabilitate mai mare atunci când traficul necesar
pentru imaginile grafice ÅŸi cele video este eliminat de pe magistrala
PCI
ì¥Â@