Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa...

84
Univerzitet u Nišu Elektronski fakultet Katedra za elektroniku Diplomski rad Brzi U/I prenos i karakteristike PCI Express magistrale Dejan Stanković 2007.

Transcript of Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa...

Page 1: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

Univerzitet u Nišu Elektronski fakultet

Katedra za elektroniku

Diplomski rad

Brzi U/I prenos i karakteristike PCI Express magistrale

Dejan Stanković

2007.

Page 2: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

Brzi U/I prenos i karakteristike PCI Express magistrale

Zadatak: Proučiti osnovne koncepte brzog prenosa podataka kod savremenih mikroračunarskih sistema. Analizirati rad PCI Express magistrale i ukazati na njene osnovne karakteristike sa aspekta arhitekturne organizacije i performansi koje se mogu postići.

Komisija za odbranu:

Student: Dejan StankovićBr. indeksa 9789

1. ___________________________ (Predsednik)

__________________________________________ (Datum prijave)

2. ___________________________ (Član)

__________________________________________ (Datum predaje)

3. ___________________________ (Član)

__________________________________________ (Datum odbrane)

Page 3: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

Sadržaj Uvod................................................................................................................................................1 1. Brzi U/I prenos.........................................................................................................................3

1.1. Uvod.................................................................................................................................3 1.2. Predstavljanje podataka u U/I sistemima...........................................................................3

1.2.1. Nebalansirani naponski način prenosa podataka ........................................................5 1.2.2. Strujni način prenosa.................................................................................................6 1.2.3. Pseudo-diferencijalni prenos .....................................................................................7 1.2.4. Diferencijalni prenos.................................................................................................8

1.3. Rešavanje problema koje nameće prenosna linija ..............................................................9 1.3.1. Osobine prenosnih linija..........................................................................................10 1.3.2. Intersimbolska interferencija ...................................................................................12 1.3.3. Ekvilizacija .............................................................................................................13

1.4. Taktovanje u U/I sistemima ............................................................................................15 1.4.1. Izvedeno taktovanje (Derived clocking) ..................................................................16 1.4.2. Izvorom sinhronizovan prenos (Source Synchronous Design)..................................18 1.4.3. Razmatranje drifta taktnih impulsa ..........................................................................20

2. PCI Express............................................................................................................................21 2.1. Uvod...............................................................................................................................21 2.2. Naslednik PCI magistrale................................................................................................21 2.3. Uporedne karakteristike PCI magistrala ..........................................................................22

2.3.1. Propusnost magistrala i broj slotova ........................................................................22 2.3.2. Agregatisana propusnost PCI Express magistrale ....................................................23

2.4. Pregled PCI arhitektura koje su prethodile PCI Express arhitekturi .................................24 2.4.1. PCI magistrala na 33 MHz ......................................................................................24 2.4.2. PCI magistrala na 66 MHz ......................................................................................33 2.4.3. Magistrala PCI-X 1.0 na 66 MHz i 133 MHz ..........................................................35 2.4.4. Magistrala PCI-X 2.0 (DDR i QDR) .......................................................................37

2.5. PCI Express magistrala ...................................................................................................39 2.5.1. PCI Express topologija............................................................................................43 2.5.2. Primeri PCI Express arhitektura ..............................................................................45

2.6. Uvod u PCI Express transakcije ......................................................................................46 2.6.1. PCI Express transakcioni protokol...........................................................................47

2.7. Slojevi PCI Express uređaja............................................................................................52 2.7.1. Pregled....................................................................................................................52 2.7.2. Slojevi uređaja i odgovarajući paketi.......................................................................53 2.7.3. Uloga svakog sloja PCI Express uređaja..................................................................59

2.8. Performanse PCI Express sistema i efikasnost prenosa podatka. .....................................73 Zaključak .......................................................................................................................................75 Dodatak .........................................................................................................................................77 Skraćenice koje su korišćene u ovom diplomskom radu .................................................................79 Literatura .......................................................................................................................................81

Page 4: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

Uvod

Sa brzim porastom performansi procesora, ali i nekih perifernih uređaja, kao što su grafički i mrežni adapteri, magistrale postaju usko grlo sistema. Da bi performanse sistema mogle dalje da se poboljšavaju neophodno je konstruisati magistrale koje će imati veću propusnost tj. magistrale koje će prenositi veću količinu podataka u jedinici vremena. U suprotnom, dalje povećanje performansi pojedinačnih elemenata računarskog sistema neće imati efekta na povećanje performansi celokupnog računarskog sistema. To je razlog što se poslednjih godina ulaže mnogo napora u razvoj brzih magistrala.

S druge strane, realizacija brzih magistrala suočena je sa brojnim problemima. Ove probleme

nameće, pre svega, sam kanal za povezivanje. Svi efekti koji se javljaju pri nižim brzinama prenosa, odnosno pri nižim taktnim frekvencijama, javljaju se i pri većim brzinama prenosa. Međutim, zbog kraćeg trajanja bitskog intervala, ovi efekti, sada, postaju još izraženiji. Njihov uticaj, ne samo da se ne sme zanemariti, već se mora eliminisati kako bi se postigle veće brzine prenosa.

Među brojnim problemima koje nameću prenosne linije su refleksije zbog diskontinuiteta na

linijama, selektivno slabljenje različitih frekvencija spektra signala, preslušavanje itd. Pored toga, zbog različitih dužina linija javlja se problem trke među bitovima podataka, kao i košenje takta. Pri višim frekvencijama signal je osetljiviji na džiter.

Za rešavanje ovih problema koriste se različite tehnike, koje najčešće podrazumevaju uvođenje

dodatnog hardvera. Drugi način za povećanje propusnosti magistrale, jeste povećanje broja linija za prenos, čime se opet, povećava složenost sistema, otežava trasiranje magistrala na štampanim pločama i povećava se njihova površina.

U svakom slučaju, magistrale, zajedno sa odgovarajućim interfejsima, postaju složeni sistemi

čija cena raste sa povećanjem broja linija. Upravo zato, povećanje propusnosti povećavanjem broja prenosnih linija, nije ekonomski isplativo za najveći broj računara opšte namene.

Jedna, potpuno drugačija filozofija za postizanje velikih brzina prenosa, zasniva se na upotrebi

serijskog prenosa umesto paralelnog. Naime, danas se sve češće koriste serijske magistrale, koje su se ranije koristile, u glavnom za računarske mreže, prenos podataka na daljinu, i za povezivanje sporih perifernih uređaja poput tastature, miša itd. Međutim, poslednjih godina serijske magistrale doživljavaju naglu ekspanziju, a područje njihove primene proširuje se i na komponente unutar računara koje su se ranije povezivale isključivo paralelnim magistralama.

Popularnosti serijskih magistrala doprineo je razvoj pratećeg hardvera, koji je omogućio brz

prenos podataka, reda veličine nekoliko Gbit/s. Brz prenos u kombinaciji sa dobro poznatom jednostavnošću, i niskom cenom serijskih magistrala, promenio je način razmišljanja u računarskoj industriji.

U taj, opšti trend prelaska na serijske magistrale, uklapa se i PCI Express magistrala, o kojoj će

biti reči u ovom diplomskom radu. Po nazivu reklo bi se da se radi o ubrzanoj verziji, široko rasprostranjene, PCI magistrale, koja se već više od jedne decenije koristi u stonim i prenosivim računarima. Pa ipak, PCI Express je mnogo više od toga. Iako je softverski kompatibilna sa prethodnim generacijama PCI magistrala, ona se u hardverskom pogledu od njih drastično razlikuje.

Page 5: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

Uvod

2

Softverska kompatibilnost PCI Express arhitekture sa prethodnim generacijama PCI arhitektura

znači da se stariji softver koji se koristio u prethodnim PCI arhitekturama, može, bez ikakvih promena koristiti i u novim arhitekturama. Dakle, nema potrebe za razvojem novog softvera, čime se smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije će korišćenje biti neophodan nov softver.

Hardverska kompatibilnost ipak nije postignuta. To praktično znači da stare PCI kartice za

proširenje nije moguće utaknuti u nove, PCI Express slotove. Pa ipak, to ne znači da stare kartice treba odmah odbaciti, jer se PCI slotovi nalaze i na novim matičnim pločama. Oni se preko posebnih mostova priključeni na novu magistralu, i tako će biti sve dok PCI Express u potpunosti ne potisne PCI kartice iz upotrebe.

Pored znatno veće propusnosti, PCI Express karakteriše i veća efikasnost prenosa podataka. Pri

tom je, zahvaljujući serijskom načinu prenosa podataka, pojednostavljeno projektovanje štamapnih ploča i čipova, što smanjuje njihovu cenu. Osim toga, PCI Express uvodi i neke novine kao što je kvalitet usluge (Quality of Service - QoS), podrška rada za Hot Plug, unapređene tehnike za upravljanje potrošnjom, i pouzdaniji prenos podataka. Značajnu novinu predstavlja i proširivost magistrale, koja omogućava projektantima sistema, da obim magistrale prilagođavaju konkretnim potrebama.

U ovom diplomskom radu biće prikazani osnovni principi projektovanja brzog U/I prenosa, kao

i jedna konkretna brza U/I magistrala - PCI Express. Celokupan rad ima dva poglavlja. U prvom poglavlju opisani su osnovni problemi sa kojima se susreću projektanti brzih U/I

magistrala, kao i načini njihovog rešavanja. Biće, najpre, pokazano kako se izborom načina predstavljenja podataka, mogu postići veće brzine prenosa. Zatim, će biti prikazane osnovne karakteristike prenosnih linija, kao i njihov ograničavajući uticaj na brzinu prenosa podataka. Na kraju ovog poglavlja biće razmatran problem taktovanja u brzim U/I sistemima.

Drugo poglavlje posvećeno je PCI Express arhitekturi. Najpre će biti prikazan evolutivni razvoj

PCI Express-a, počev od PCI arhitekture. Biće ukratko opisane osnovne karakteristike PCI magistrala koje su prethodile PCI Express magistrali, a posebno su istaknuti problemi i ograničenja ovih arhitektura. Cilj svega ovog je da se istaknu osnovne karakteristike PCI Express arhitekture, kao i da se ukaže na to kako se došlo do ovakvog rešenja. U drugom delu ovog poglavlja biće prikazana slojevita struktura PCI Express arhitekture, kao i uloga svakog sloja u prenosu podataka. U vezi s tim, biće pokazano kako se formiraju paketi podataka na predajnoj strani, i kako se ovi paketi primaju i rastavljaju na prijemnoj strani. Najzad, biće ukratko razmotren uticaj ovakvog načina prenosa na efikasnost PCI Express magistrale.

Nakon drugog poglavlja sledi Zaključak. Mnogi termini u ovom radu koriste se u izvornom obliku, na engleskom jeziku. U Dodatku je u

kratkim crtama dato objašnjenje tih termina, što ima za cilj da omogući lakše snalaženje čitaoca u ovom radu.

Na kraju ovog rada date su skraćenice koje su korišćene u ovom diplomskom radu.

Page 6: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

1. Brzi U/I prenos

1.1. Uvod

Da bi performanse sistema održale korak sa stalno rastućom brzinom mikroprocesora, potrebno je da propusnost magistrala kojima se procesor povezuje sa spoljašnjim svetom prati trend porasta performansi samoga čipa. Međutim, fizička ograničenja koja nameće kanal za povezivanje, a koja se odnose na gubitke i pajačavanje džitera na višim frekvencijama, usporavaju porast brzine prenosa van čipa. Zahvaljujući unapređenim tehnikama za upravljanje i obradu električnih signala za prenos van čipa, razvijaju se brojne strategije za rešavanje ovih problema.

U ovom poglavlju opisane su najčešće korišćene tehnike za prevazilaženje problema

povezivanja, sa posebnom akcentom na komunikacione topologije koje su karakteristične za mikroprocesore kao što su: pristup memoriji, međuprocesorska komunikacija u paralelnim računarskim sistemima kao i komunikacija između procesora i čip-seta. Ove veze su obično kratke i njihova dužina ne prelazi jedan ili dva metra. To su zapravo magistrale koje se sastoje od paralelnih linija po kojima se prenose podaci velikog obima. Iako serijske komunikacije imaju mnogo zajedničkih osobina i koriste slične tehnike za prenos kao i paralelne, one u ovom poglavlju neće biti detaljno razmatrane.

Diskusiju ćemo početi poređenjem prenosa podataka na čipu sa onim van čipa, pri čemu će biti

istaknute željene osobine komunikacionog sistema van čipa. U nastavku će biti prikazano nekoliko uobičajenih metoda za prenos podataka. Zatim ćemo ispitati osobine prenosnog medijuma van čipa, a posebno one koje dominiraju na visokim frekvencijama pa zbog toga ograničavaju brzinu prenosa. Takođe, biće prikazane tehnike i kola za smaninjvanje uticaja ovih efekata kako u vremenskom tako i u naponskom domenu, kao i njihova ograničenja.

1.2. Predstavljanje podataka u U/I sistemima

Osnovna funkcija U/I prenosnog sistema jeste da verno prenese podatake od čipa predajnika do čipa prijemnika. Kao i kod komunikacije na čipu, gde se podaci šalju od jednog do drugog dela čipa, kod komunikacije van čipa potrebno je definisati način predstavljanja logičke jedinice i logičke nule. Takođe je potrebno obezbediti sinhronizaciju prilikom prenosa, tako da se podaci na prijemnoj strani primaju pomoću sinhrono taktovane logike.

Tipična konfiguracija U/I sistema mikroprocesora prikazana je na slici 1.1. Na slici je prikazan

procesor koji komunicira sa različitim spoljašnjim komponentama kao što su memorija, memorijski čip-set, drugi procesor i čip-set za komunikaciju sa spoljašnjom memorijom i mrežnim uređajima. Komunikacija van čipa obavlja se preko različitih paralelnih magistrala podataka. Svaka magistrala podataka sastoji se od više paralelnih traka za podatke (data lanes) kojima se informacije prenose putem žica ili kanala koji je realizovan na nekom medijumu za povezivanje. Kao medijum za povezivanje mogu se koristiti linije na štampanoj ploči ili kablovi.

S obzirom da se osobine medijuma za povezivanje van čipa značajno razlikuju od onih na čipu,

optimalni metodi za komunikaciju u ovim dvema sredinama se takođe značajno razlikuju.

Page 7: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

1. Brzi U/I prenos

4

Komunikacija van čipa se često obavlja između integrisanih kola sa različitim naponima napajanja, ona mora da kompenzuje gubitke medijuma za povezivanje, a odvija se na većim rastojanjima i u šumnoj sredini. Za postizanje boljih performansi potrebni su snažniji naponski nivoi.

CPU

Memorija (vezana bilo direktno bilo

preko memorijskog kontrolera)

CPU

Memorija (vezana bilo direktno bilo

preko memorijskog kontrolera)

U/I Uređaj

U/I Uređaj

U/I Uređaj

U/I Hub

U/I Uređaj

U/I Uređaj

U/I Uređaj

U/I Hub

Slika 1.1 Tipične komponente koje su povezane sa mikroprocesorom

U vremenskom domenu, mora se održavati sinhronizacija preko paralelne magistrale podataka. Kao što je prikazano na slici 1.2, veća rastojanja između čipova dovode do košenja (skew) duž paralelne magistrale podataka, koje se, ukoliko nije dobro kontrolisano, povećava između predajnika i prijemnika. Dalje, takt prijemnika grana se do svakog linijskog prijemnika podataka, čime se povećava džiter takta, pa se taktni impulsi moraju fazno poravnati kako bi se svi simboli podataka uzorkovali u oblasti važenja. Simbol predstavlja jedan bit, “0” ili “1”, na liniji za podatke. Dok se taktovi na čipu projektuju sa malim košenjem između predajnih i prijemnih sinhronizacionih tačaka, U/I predajnik i prijemnik se nalaze na različitim čipovima, i često ih nije moguće tako dobro kontrolisati. U/I arhitektura mora kompenzovati ovo košenje, poravnanjem taktnih impulsa prijemnika tako da se uzorkovanje vrši u optimalno vreme.

Page 8: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

1. Brzi U/I prenos

5

Slika 1.2 Tipični vremenski dijagrami na izlazu predajnika, i ulazu prijemnika kod U/I sistema sa dvostrukom brzinom prenosa.

1.2.1. Nebalansirani naponski način prenosa podataka

Razmotrimo najpre, kako se vrednosti podataka mogu predstaviti prilikom njihovog prenosa van čipa. Za razliku od prenosa podataka na čipu, gde naponski nivo kojim se predstavlja “1” mora biti približno jednak sa pozitivnim naponom napajanja VDD, a naponski nivo kojim se predstavlja “0” mora biti približno jednak negativnom naponu napajanja VSS, u U/I sistemima mogu se koristiti različite šeme za predstavljanje ovih stanja.

Neke nebalansirane šeme rade analogno sa signalizacijom na čipu, ali se one moraju

standardizovati kako bi se omogućila međusobna komunikacija između integrisanih kola bez obzira na tehnologiju kojom su ta kola izrađena. Standardi za signalizaciju definišu precizne naponske nivoe i tolerancije nezavisno od napona napajanja čipa, koji se mogu menjati sa razvojem tehnologije čipova. Primera radi, napon na ulazu prijemnika koji je ispod maksimalnog ulaznog naponskog nivoa VIL predstavlja “0”, a napon koji je iznad minimalnog ulaznog naposkog nivoa VIH predstavlja “1”. Razlika između minimalnih i maksimalnih izlaznih nivoa VOL i VOH je obično nešto šira kako bi se obezbedile margine šuma. Primeri naponskog načina prenosa su TTL i LVTTL standardi. Ovakva šema sa dvosmernim interfejsom prikazana je na slici 1.3.

Page 9: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

1. Brzi U/I prenos

6

Slika 1.3 Dvosmerna veza koja koristi nebalansirani naponski način prenosa. Otpornik koji je redno vezan sa izlazom drajvera određuje nivoe VOH i VOL, ali takođe obezbeđuje i prilagođenje po impedansi. Izlazi predrajvera: prepobuda_h i prepobuda_l su odvojeni da bi omogućili prebacivanje izlaznog drajvera u treće stanje prilikom prijema podataka. Razdvojeno napajanje predajnika i prijemnika, kakvo je prikazano na slici, često se koristi kako bi se izbegla pojava šuma usled istovremenog prebacivanja generisanog od strane predajnika, a koji bi se pojavio u napajanju osetljivijeg prijemnika.

Pri brzom prenosu podataka, korišćenjem nebalansiranog naponskog načina prenosa, ispoljavaju se brojni nedostaci ove tehnike. S obzirom da brzi prenos zahteva generisanje impulsa sa što je moguće većom energijom, bilo koji efekat koji smanjuje energiju simbola, ili dovodi do mešanja sa drugim simbolima, umanjiće i brzinu rada. Refleksije na prenosnim linijama predstavljaju jedan takav efekat.

Kao što ćemo videti u odeljku 1.3.1.1, diskontinuiteti impedanse dovode do refleksija, koje ako

se vrate prema prijemniku, stvaraju šum na međusobno nepovezanim simbolima. Da bi se ove refleksije apsorbovale, brzi predajnici moraju biti prilagođeni po impedansi liniji na kojoj su priključeni. Kao što je prikazano na slici 1.3, drajver sam po sebi postaje deo završne mreže (termination network); zbog toga drajver, osim što obezbeđuje odgovarajuće naponske nivoe VOL i VOH, mora takođe da obrazuje i odgovarajuću završnu mrežu, po mogućstvu na svim naponskim nivoima. U praksi to postaje veoma teško.

Da bi se prevazišle ove poteškoće i da bi se obezbedila veća imunost na šum, često se povećava

razlika između naponskih nivoa VOH i VOL, kao i VIH i VIL, čime se povećava potrošnja. Veće razlike naponskih nivoa između logičke jedinice i logičke nule (swings) obično se teže kontrolišu, što otežava brzi rad.

1.2.2. Strujni način prenosa

Veće brzine prenosa mogu se postići korišćenjem strujnih drajvera. Dalje povećanje brzine prenosa može se ostvariti pomoću strujnog pseudo-diferencijalnog ili diferencijalnog načina prenosa, kao što će to biti prikazano u odeljcima 1.2.3 i 1.2.4.

Page 10: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

1. Brzi U/I prenos

7

Kod strujnog načina prenosa, izlazni drajver strujno pobuđuje prenosnu liniju, pri čemu se koristi karakteristična impedansa linije za stvaranje napona. Jedan primer ovakvog prenosa podataka dat je na slici 1.4, gde drajver strujom Idrive=20 mA pobuđuje paralelnu vezu linije, impedanse 50 Ω, i završne impedanse bližeg kraja (near-end termination) Rterm=50 Ω, stvarajući napon od 500 mV. Da bi se eliminisale refleksije, linija je terminirana na prijemnom kraju (udaljeni kraj - far end). Da bi se apsorbovale refleksije koje potiču od diskonitinuiteta impedansi linija se često terminira i na strani predajnika (bliži kraj - near end). Završna imedansa se obično vezuje na masu kako bi se izbegla zavisnost od vrednosti pozitivnog napona napajanja, i kako bi se izbegla sprega signala sa pozitivnim naponom napajanja.

prednapon_l

Vddtx

Vsstx

Ulaz za podatke

Čip

Rterm

Ploča

Izlaz za podatke

Čip

Vss

Rterm

rx

Idrive

Slika 1.4 Strujni način prenosa

Kalibrisani strujni drajver može da generiše isti signal na liniji kao i dobro podešeni naponski drajver, a pri tome je razdvojena funkcija drajvera od dela za prilagođenje po impedansi, koji je u ovom slučaju ostvaren pomoću nezavisnog završnog otpornika. S obzirom da strujni izvor strujnog drajvera ima veliku impedansu, stvarna impedansa strujnog izvora nije kritična sve dok je ona mnogo veća od završnog otpornika. Zahvaljujući toj činjenici, drajver je jednostavniji za projektovanje i upravljanje od naponskog drajvera, kod koga su funkcije drajvera i prilagođenja po impedansi objedinjene. Šta više, strujni način prenosa obezbeđuje veću imunost na šum pošto je drajver odvojen od pozitivnog napona napajanja.

Kalibracijom izlaznog strujnog izvora pomoću poznate struje ili napona, može se postići tačnost

izlaznog nivoa od 10% ili bolja. Periodičnom kalibracijom mogu se kompenzovati naponski i temperaturni driftovi predajnika. Prijemnik, međutim, mora i dalje da detektuje da li je ulazni napon ispod ili iznad ulaznih pragova. Kao što će biti prikazano u naredna dva odeljka, potrebna su dodatna sredstva da bi se poboljšala tačnost ulaznih nivoa.

1.2.3. Pseudo-diferencijalni prenos

Smanjena razlika između logičkih nivoa “1” i “0” (swing) koja se obično sreće kod strujnog načina prenosa, zahteva osetljivija kola kako bi se visoki ulazni nivoi razlikovali od niskih. Jedna od metoda kojom se ovo postiže koristi pseudo-diferencijalni prenos, pri čemu se signal u prijemniku poredi sa referentnim naponom. S obzirom da se referntni napon može generisati pomoću uređaja sa uparenim otpornicima, ili pomoću drugih preciznih sredstava, on neće mnogo zavisiti od uslova

Page 11: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

1. Brzi U/I prenos

8

procesa ili od temperature. U zavisnosti od ofseta napona napajanja između predajnika i prijemnika, i zahtevane tolerancije prijemnika, referentni napon može se generisati ili u prijemniku, ili u predajniku, a da se potom šalje prijemniku, ili spolja preciznim, uparenim otpornicima. Primer pseudo-diferencijalne magistrale dat je na slici 1.5.

Pseudo-diferencijalni prenos koristi se i kod naponskog i kod strujnog načina prenosa, a primeri standarda koji koriste ovaj prenos su HSTL, GTL i SSTL.

... ...

Slika 1.5 Paralelna magistrala koja koristi pseudo-diferencijalni način prenosa

1.2.4. Diferencijalni prenos

Iako eksplicitni referntni napon obezbeđuje pouzdaniju detkciju signala kod pseudo-diferencijalnog prenosa, ovaj tip prenosa i dalje prati više problema koji se moraju eleiminisati da bi sistem mogao da radi brže.

Jedan od ovih problema je šum usled istovremene komutacije (simultaneous switching noise).

Bilo koja signalizaciona šema koja koristi jednu žicu za svaku traku podataka (data lane), stvaraće šum usled istovremene komutacije. Ovaj šum dovodi do kratkotrajnog povećanja ili pada napona napajanja predajnika. To je zapravo posledica brze promene struje (dI/dt), koja se javlja prilikom promene stanja na izlazu. Primera radi, razmotrimo slučaj na slici 1.4, kada je izlaz postavljen na nisko. U tom slučaju struja ne teče prema prenosnoj liniji. Kada drajver postavi liniju na visoko, generisanjem konstantne struje iz pozitivnog napona napajanja, struja stvara dI/dt u konturi koju čine: pozitivno napajanje, izlaz, signalna prenosna linija, njena povratna putanja (u vidu ravni na nižem sloju štampane ploče), i negativno napajanje. Bilo koja induktivnost u ovoj konturi generisaće kratkotrajnu promenu napona kad se pojavi dI/dt. To se obično dešava na mestima na kojima stopica izlaza drajvera i linije za napajanje interaguju sa pakovanjem (integrisanog kola), naročito na

Page 12: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

1. Brzi U/I prenos

9

bondovima. U našem primeru, induktivnost između pozitivnog napajanja na štampanoj ploči i napajanja na čipu, stvara napon koji kratkotrajno smanjuje napon napajanja na čipu. Slično, induktivnost na liniji mase proizvodi napon koji kratkotrajno povećava potencijal mase na čipu. Efekat je još gori kada se svi izalazni drajveri na magistrali prebacuju istovremeno, stvarajući najveći mogući dI/dt. Iako se istovremena komutacija može tolerisati pravilnom konstrukcijom mreže za napajanje, ono se ne može u potpunosti elminisati kod nebalansiranog prenosa.

Diferencijalnim prenosom eliminiše se ovaj problem tako što se podaci šalju sa svojim komplementom, paralelnim žicama ka prijemniku, pri čemu pozitivna i negativna razlika između ovih signala označavaju “1” odnosno “0”, respektivno. Ukoliko se predajnici stvarne i komplementirane vrednosti balansiraju tako da vuku jednake struje čak i prilikom prebacivanja, neće se javljati šum usled istovremene komutacije. Šta više naponska razlika između nivoa logičke jedinice i logičke nule je efektivno udvostručena. Na kraju prednost diferencijalnog prenosa je i ta što šum koji se indukuje u obe žice diferencijalnog para menja samo srednju vrednost, a ne menja razliku signala. Zbog toga je diferncijalni prenos otporniji na određene tipove šumova od nebalansiranog ili pseudo-diferencijalnog prenosa.

Cena koja se plaća zbog diferencijalnog prenosa je ta što svaka traka podataka sada koristi dve

žice za povezivanje, čime se broj raspoloživih linija, kod magistrala sa fiksnim brojem žica, smanjuje za polovinu. Šta više, ako se ne izvrši optmizacija, potrošnja drajvera kod diferencijalnog prenosa se udvostručava. Smanjenje širine magistrale za faktor 2 opravdano je ukoliko svaka traka podataka u okviru veze može da prenosi podatke dvostrukom brzinom u odnosu na nebalansirani prenos, što je čest slučaj. Diferencijalni prenos se koristi u standardima kao što su LVDS (Low-Voltage Differential Signaling) i PCI-Express (opisan u drugom poglavlju ovog rada). Primer topologije veze prikazan je na slici 1.6.

Slika 1.6 Diferencijalni prenos na jednoj traci podataka U/I veze

1.3. Rešavanje problema koje nameće prenosna linija

Zelena epoksidno-staklena smola koja se koristi za proizvodnju štampanih ploča, osnova je elektronske industrije. Formalni naziv ovog materijala je FR-4. Metalne linije koje idu preko metalne ravni napajanja ili mase, sa dielektrikom FR-4 između njih, obrazuju prenosnu liniju. Međutim, ova prenosna linija je daleko od idealne. Postoji više mehanizama koji stvaraju gubitke na višim frekvencijama. Diskontinuiteti impedanse dovode do refleksija. Susedni signali i šumna napajanja stvaraju smetnje. Poznavanje ovih mehanizama je od ključne važnosti za postizanje većih brzina prenosa.

Page 13: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

1. Brzi U/I prenos

10

1.3.1. Osobine prenosnih linija

Idealna prenosna linija sastoji se od raspodeljene podužne induktivnosti l0 i raspodeljene podužne kapacitivnosti c0, pri čemu i l0 i c0 zavise od geometrije signalne linije, geometrije dielektrika koji okružuje linije, i dielektrične konsatnte. Brzina prostiranja signala na liniji je:

,1

000

r

ccl

== (1)

gde je c brzina svetlosti, a εr relativna dielektrična konstanta. Idealna prenosna linija se ponaša kao element fiksne impedanse koja iznosi:

.0

00 c

lZ = (2)

1.3.1.1. Refleksije i diskontinuiteti impedansi

S obzirom da idealna linija nema gubitke, signal se prostire neoslabljeno sve dok ne naiđe na

diskontinuitet koji može biti promena impedanse ili opterećenje (npr. završna impedansa). Kada direktni talas amplitude Vd, koji se prostire duž prenosne linije karakteristične impedanse Z0, naiđe na promenu impedanse na vrednost Z1, dolazi do refleksije. Odnos napona reflektovanog talasa Vr i direktnog talasa Vd predstavlja koeficijent refleksije i iznosi:

.01

01

ZZZZ

VV

d

r

+−

= (3)

Opterećenja, ogranci (stubs) i međuslojni prelazi (vias) na liniji takođe predstavljaju

diskontinuitete. Kapacitivna opterećenja ili kapacitivni prelazi stvaraju kompleksne impedanse. U početnom trenutku, kapacitivnost za direktni talas predstavlja kratak spoj, pa se impedansa Z1 smanjuje na nulu, i dolazi do negativne refleksije u skladu sa (3). Kako se kondenzator puni, impedansa raste do vrednosti koju ima u ustaljenom stanju. Ravnomerno raspodeljena opterećenja doprinose povećanju raspodeljene podužne kapacitivnosti, a samim tim menjaju i karakterističnu impedansu (2).

S obzirom da se prilikom svake refleksije deo energije direktnog talasa troši na impuls koji se kreće unazad, jedino linije bez gubitaka i diskontinuiteta omogućavaju usaglašeno (koherentno) prostiranje energije signala do kraja linije. Šta više, završna impedansa koja nije prilagođena liniji dovodi do pojave refleksije koja, ukoliko se potpuno ne apsorbuje, izaziva mešanje i izobličenje drugih simbola. Zbog toga, rad na većim brzinama zahteva minimizaciju svih diskontinuiteta impedansi, i prilagođavanje završne impedanse prenosnoj liniji.

1.3.1.2. Gubici na prenosnim linijama

Do sada smo razamatrali samo linije bez gubitaka. Nažalost, gubici koji se javljaju na prenosnim linijama dovode do toga da se deo energije signala gubi, čak i na savršeno prilagođenoj liniji. Realna prenosna linija, pored podužne kapacitivnosti i induktivnosti, sadrži i raspodeljenu podužnu otpornost R(ω) duž signalne linije, a takođe, na visokim frekvencijama, i podužnu provodnost, G(ω), različitu od nule. Podužna provodnost predstavlja provodnost dielektrika između signalne i povratne putanje. Na slici 1.7 prikazana je realna prenosna linija.

Page 14: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

1. Brzi U/I prenos

11

Slika 1.7 Prenosna linija sa gubicima

Ako je napon na početku linije Vd(0, ω), gde je ω kružna frekvencija, rezultujući signal u bilo kojoj tački z na liniji, V(z, ω) biće:

,),0(),( )( zd eVzV ωγωω −= (4)

gde je γ(ω) konstanta prostiranja, data sa:

).)()()(()( 00 CjGLjR ωωωωωγ ++= (5) Ako su i R(ω) i G(ω) mali, γ(ω) se može aproksimirati sa:

.2

)(2

)()( 0

0

ωωωγGZ

ZR

+≅ (6)

Kao što same oznake ukazuju i redna otpornost R(ω) i dielektični gubici G(ω) su frekventno

zavisne veličine. Frekventna zavisnost R(ω) potiče od skin efekta, koji predstavlja kretanje struje neposredno uz površinu provodnika na višim frekvencijama. Za trakasti provodnik širine w, i specifične električne otpornosti ρ, frekventna zavisnost data je sa:

.22

1)( ωµρωw

R = (7)

Frekventna zavisnost dielektričnih gubitaka javlja se u odzivu na elektromagnetne talase

srednjih i visokih frekvencija. Kao što se sa slike 1.7 može uočiti, admitansa dielektrika sastoji se od realnog dela G(ω) i imaginarnog dela jωC. Njihov odnos definiše tangens ugla gubitaka:

.)(tanC

ωδ = (8)

Tangens ugla gubitaka je približno konstantan na svim frekvencijma, i predstavlja jednu od fundamentalnih karakteristika dielektričnih materijala. Sređivanjem izraza (8) dobija se:

.tan)( δωω CG = (9)

Poslednji izraz pokazuje da je provodnost dielektrika proporcionalna frekvenciji, pa je samim tim i član koji se odnosi na dielektrične gubitke u izrazu (6) proporcionalan frekvenciji. Kod tipičnih FR-

Page 15: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

1. Brzi U/I prenos

12

4 kanala dielektrični gubici dominiraju u odnosu na gubitke usled skin efekta na frekvencijama iznad 1GHz.

1.3.2. Intersimbolska interferencija

Razmotrimo sada prenosni sistem kojim se šalju simboli od predajnika ka prijemniku. Svaki simbol koji se šalje sastoji se od velikog broja komponenata različitih frekvencija. Refleksije i frekventno zavisni gubici čine da signal na izlazu prenosne linije ne zavisi samo od vrednosti odgovarajućeg simbola, već i od vrednosti prethodnih simbola.

Osim što smanjuju energiju simbola, refleksije dovode do prenosa energije datog simbola u

suprotnom pravcu. Ukoliko se reflektovani talas ponovo reflektuje, reflektovani impuls superponiraće se sa drugim simbolima koji se kreću ka prijemniku, a koji nisu u vezi sa datim simbolom. Na taj način menja se talasni oblik simbola, što može dovesti do pogrešne detekcije. Osim toga, ferkventno zavisni gubici uzrokuju različito slabljenje za različite frekvencije. Kombinacije bitova koje sadrže visokofrekventne komponente biće više oslabljene, od onih koji sadrže niskofrekventne. Obe pojave dovode do tzv. intersimbolske interferencije (inter-symbol interference - ISI), koja predstavlja međusobno mešanje simbola. Upravo zbog toga, karaktersistike prenosnog medijuma zavise od pojedinačne kombinacije bitova koji se šalju.

Na slici 1.8 prikazana je frekventna karakteristka prenosne linije, koja predstavlja odnos

izlaznog i ulaznog signala. Kod ove prenosne linije prisutana su oba efekta: i refleksije i frekventno zavisno slabljenje. U frekventnom domenu refleksije izazivaju pojavu dip-ova i pikova na frekvencijama na kojima se javljaju destruktivne i konstruktivne interferencije. Gubici se manifestuju kao pojačano slabljenje na visokim frekvencijama. U vremenskom domenu, refleksije smanjuju amplitudu početnog skoka, a takođe stvaraju i zakasnele gličeve na izlazu, koji mogu da ometaju naredne simbole. Gubici uzrokuju disperziju početnog skoka, kao i sporo rastući rep nakon početnog skoka.

Slika 1.8 Frekventna karakteristika diferencijalne prenosne linije koja se sastoji od osnovne ploče i

dve kartice, ukupne dužine 38 cm (slika je preuzeta iz [1]).

Page 16: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

1. Brzi U/I prenos

13

Oba ova efekta: disperzija početnog skoka i sporo asimptotsko približavanje ustaljenom stanju, izazivaju smanjenje margine kako na vremenskoj tako i na naponskoj osi. Razmotrimo usamljeni simbol koji predstavlja “1” u polju “0”, kao što je to prikazano impulsnim odzivom na slici 1.9. Pre početka slanja logičke “1” linija je bila neaktivna dovoljno dugo, da se može smatrati da je dovededena u ustaljeno stanje. Gubici na prenosnoj liniji dovode do disperzije rastuće ivice impulsa, i do slabljnja njegove amplitude. Isti efekat gubici imaju i na opadajuću ivicu. Kao posledica svega toga, vršna amplituda impulsa je značajno oslabljena, pa u nekim slučajevima, možda neće uspeti da pređe prag odlučivanja prijemnika. Pored toga, disperzija rastućih i opdajućih ivica sabija impuls, tako da je širina impulsa znatno manja. Bez korekcije, šum, bilo u naponskom bilo u vremenskom domenu, mogao bi da pokvari simbol.

Slika 1.9. Impulsni odziv prenosne linije sa slike 1.8. Impulsi na ulazu i izlazu prikazani su na različitim skalama, koje su translirane i po vremenu i po naponu (levo-dole i desno-gore), a koje su pomerene radi boljeg poređenja. Strelice ukazuju na odgovarajuće ose za svaki tip signala (slika je

preuzeta iz [1]).

Na osnovu impulsnog odziva, metodom superpozicije, moguće je odrediti odziv za bilo koju kombinaciju bitova na ulazu. Takođe je moguće naći kombinaciju bitova za koju su naponska i vremenska margina minimalne, tj. najgori slučaj kombinacije na ulazu.

1.3.3. Ekvilizacija

Ekvilizacione tehnike kompenzuju frekventno zavisne karakteristike kanala, tako da je ukupni frekventni odziv sistema približno ravnomeran na svim frekvencijama koje su od značaja. Neka je na primer, odziv kanala dat prenosom funkcijom H(s). Ukoliko bi se ulazni ili izlazni signal obradio kolom čija prenosna funkcija G(s)=1/H(s), ukupna prenosna funkcija sistema bila bi H(s)G(s)=1.

U praksi je teško poništiti odziv kanala sa takvom tačnošću. Međutim, čak i šeme kojima se

poništava odziv kanala na ili u blizini najviše radne frekvencije, na kojoj su gubici kanala najveći, mogu obezbediti značajno poboljšanje U/I performansi.

Page 17: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

1. Brzi U/I prenos

14

Ekvilizacija se može vršiti na predajnoj, prijemnoj ili na obe strane. Na strani predajnika, ekvilizacija se obično ostvaruje pre-izobličavanjem ulaznog signala koji je obrađen logikom na čipu. Simboli koji sadrže visokofrekventne komponente se šalju na liniju sa većom amplitudom, dok se oni sa niskofrekventnim komponentama šalju sa manjom amplitudom. U primeru koji je dat na slici 1.10, koristi se šema gde se svaki simbol koji se razlikuje od prethodnih simbola šalje sa punom amplitudom. Simboli koji imaju istu vrednost se slabe. Ovo je poznato kao dvostepeni de-emfazis (two-tap de-emphasis), s obzirom da se ispituju samo dva bita istorije da bi se odredila amplituda simbola koji se šalje, a koji se obično naziva kursor. Ovaj tip ekvilizacije koristi se i kod PCI Express magistrale.

Ova šema se može dalje proširiti do proizvoljanog broja bitova istorije, bilo pre, bilo posle kursora po cenu povećanja potrošnje, površine čipa i potencijalno kašnjenja podataka. Ako tok podataka xi predstavimo vrednostima +1 i -1, ekvilizacija za kursorski simbol x0 može se ostvariti filtrom sa konačnim impulsnim odzivom (FIR) i data je sa:

mmmm xxxxxy ααααα ++++++= −−−− ...... 1100110 , (10)

gde su αi koeficijenti ekvilizacije koji su neophodni da bi se poništio odziv kanala. Sumiranje se može ostvariti digitalnim kolima za proizvoljan broj stepena (taps).

Izla

zni n

apon

ili

stru

ja

Slika 1.10 Primer talasnog oblika signala na izlazu predajnika koji koristi dvostpeni de-emfazis

Ekvilizacija se može vršiti i na prijemnoj strani korišćenjem slične logike za obradu signala. Ekvilizacija na prijemnoj strani zahteva tačno hvatanje početnog dela toka podataka, koji obično predstavlja pripremnu sekvencu (training sequence), kako bi se utvrdila predistorija toka podataka. Ovaj tip ekvilizacije pati i od pojačanja šuma zajedno sa korisnim signalom. Međutim, osnovna prednost ekvilizacije na prijemnoj strani jeste mogućnost primene većeg pojačanja u odnosu na ekvilizaciju na predajnoj strani koja je ograničena maksimalnom amplitudom signala koju daje predajnik i minimalnim signalom koji je poterban da bi se održao prihvatljiv odnos siganl-šum.

Page 18: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

1. Brzi U/I prenos

15

1.4. Taktovanje u U/I sistemima

Čak i ako arhitektura veze omogućava prenos koherentnih simbola od predajnika ka prijemniku kroz kanal sa velikim gubicima, simboli se moraju uzorkovati u odgovarajućem trenutku, a potom i sinhrono proslediti procesnoj jedinici prijemnika. Na slici 1.11(b) prikazan je idealni vremenski dijagram signala u jedinici za uzorkovanje (u prijemniku), za ivično-okidano taktovanje sa dvostrukom brzinom (dual data-rate) prenosa podataka. To praktično znači da se i rastuća i opadajuća ivica koriste za uzorkovanje ulaznih podataka. Taktni impuls je poravnat sa sredinom simbola, čime se obezbeđuje najveća naponska i vremenska margina. Bilo kakav džiter podataka, ili takta kojim se vrši uzorkovanje, dovešće do smanjenja vremenske margine kao što je to prikazano na slici 1.11(c). Ako vrednost džitera pređe polovinu širine simbola taktni impuls za uzorkovanje promašiće ceo simbol podataka.

Dve standardne topologije: izvedeno taktovanje (derived clocking) i izvorom-sinhrornizovano taktovanje (source synchronous clocking ili forwarded clocking), obezbeđuju vremensku referencu predajniku i prijemniku.

+ _

(a)

(b)

(c)

Slika 1.11 Sinhrono uzorkovanje podataka: (a) kolo za sinhrono uzorkovanje, (b) idealni vremenski

dijagram podataka i takta, (c) primer vremenskog dijagrama sa naponskim šumom i džiterom.

Page 19: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

1. Brzi U/I prenos

16

1.4.1. Izvedeno taktovanje (Derived clocking)

Kod izvedenog taktovanja postoji izvor sinhronizacije i na predajnoj i na prijemnoj strani. Ovaj izvor može biti zajednički za obe strane kao što je prikazano na slici 1.12, ili se sinhronizacija može vršiti iz različitih izvora koji su frekventno usaglašeni tako da je razlika njihovih frekvencija unutar određenih granica tolerancije. PLL petlje (Phase-locked loop) u predajniku i u prijemniku množe taktnu frekvenciju tako da se dobije frekvencija kojom se prenose podaci. U predajniku se ovako dobijeni taktni impulsi koriste za prihvatanje podataka iz unutrašnje procesne jedinice i njihovo vođenje na prenosne linije, pri čemu se najčešće ne vrši dodatno podešavanje faze taktnih impulsa. U prijemniku, međutim, takt koji se dobija na izlazu PLL petlje mora se fazno poravnati tako da odgovara ulaznim podacima kao na slici 1.11(b).

Logika za odlučivanje o poravnanju taktnih

impulsa

Podešavanje sinfaznog (ivičnog) takta

Podešavanje kvadraturnog takta (za uzorkovanje podataka)

Predajnik Prijemnik

Slika 1.12 Taktovanje kod arhitekture sa izvedenim taktovanjem

Celokupna arhitektura kojom se obavlja fazno poravnanje prikazana je na slici 1.12. Takt

prijemnika iz PLL-a ulazi u dve jedinice za fazno podešavanje, koje prosleđuju dve faze taktnih impulsa ulaznim kolima za uzorkovanje. Prva jedinica za fazno poravnanje podešava fazu taktnih impulsa za uzorkovanje u prijemniku tako da se poklapa sa prelazima na granicama simbola

Page 20: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

1. Brzi U/I prenos

17

podataka. Drugi takt je fazno pomeren za 90° u odnosu na prvi takt i koristi se za uzorkovanje podataka na sredini bitskog intervala.

Slika 1.13 prikazuje kako prekomerno uzorkovanje (over-sampling) ulaznih podataka obezbeđuje informaciju za fazno poravnanje pomoću logike za odlučivanje o poravnanju taktnih impulsa. Ako se, kao u dva slučaja na levoj strani, podaci koji su uzorkovani na ivicama poklapaju sa prethodnim uzorcima podataka, taktni impulsi prednjače, i trebalo bi ih zakasniti. U dva slučaja na desnoj strani, uzorci na ivicama se pokalapaju sa kasnijim uzorcima podataka, što ukazuje da taktni impulsi kasne i da bi ih trebalo pomeriti unapred. Prikupljanjem informacija o poravnanju iz krajnje tačke za uzorkovanje, i vraćanjem nazad ove informacije jedinicama za podešavanje faze (u vidu povratne sprege), ovom arhitekturom može se kompenzovati i kašnjenje u distribuciji takta u sistemu.

Slika 1.13 Prekomerno uzorkovanje ulaznog signala kako bi se taktni impulsi uskladili sa ulaznim podacima

Dinamička povratna sprega zapravo omogućava jedinicama za poravnanje neprekidno praćenje

bilo kakvog drifta između taktnih impulsa i podataka. Neprekidno praćenje je često poželjno iz više razloga. Kod mezohronih sistema (mesochronous systems) koji su opisani u odeljku 1.4.3, srednja taktna frekvencija predajnika i prijemnika mora biti identična. Međutim, promene napona ili temperature mogu dovesti do promene kašnjenja kola, što dovodi do pomeranja bilo taktnih impulsa, bilo podataka u vremenu. U pleziohronim sistemima (plesiochronous systems), koji su takođe opisani u odeljku 1.4.3, dozvoljeno je da se taktne frekvencije malo razlikuju, što dovodi do kontinualnog pomeranja faze između taktnih impulsa i podataka.

Šema koja je data na slici 1.12, gde je blok za fazno poravnanje taktnih impulsa zajednički za

sve trake podataka (data lanes), funkcioniše samo kada je košenje između traka podataka dovoljno malo da obezbeđuje zadovoljavajuću vremensku marginu. Kada košenje između traka podataka postane suviše veliko, poravnanje taktnih impulsa mora se vršiti za svaku traku ponaosob. To se može ostvariti ugradnjom jedinica za odlučivanje o poravnanju taktnih impulsa i fazno poravnanje za svaku traku podataka pojedinačno, po cenu povećanja broja kola, površine i potrošnje čipa.

Page 21: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

1. Brzi U/I prenos

18

1.4.1.1. Džiter u sistemima sa izvedenim taktovanjem

Iako šeme za dinamičko praćenje prate spori drift, one, u opštem slučaju, nisu u stanju da koriguju visokofrekventni džiter između taktnih impulsa i podataka. Ovaj džiter dovodi do pogrešnog poravnanja taktnih impulsa za uzorkovanje u odnosu na simbol podataka, i stvara gubitak vremenske margine koji, ukoliko prekorači polovinu širine simbola, dovodi do gubitka datog podatka.

Do greške u poravnanju faze dolazi kada se džiter na liniji za podatke razlikuje od džitera na liniji takta, ili kada linije takta i linije za podatke nemaju istu dužinu, pa se samim tim njihove karakteristike razlikuju od karakteristika izvornog takta. Među izvorima džitera posebno se izdvajaju:

1. džiter koji se javlja na jednoj putanji, a koji se istovremeno ne javlja i na drugoj, kao što su varijacije kašnjenja u predajniku ili prijemniku koje potiču od šuma iz napajanja;

2. džiter izvornog takta koji je filtriran različitim PLL petljama sa različitim karakteristikama; 3. razlike u dužinama putanja od zajedničke tačke zbog kojih se javlja odstupanje ivice kojom

se podaci izbacuju na liniju, od ivice kojom se vrši uzorkovanje.

Uz dovoljno poznavanje karakteristika sistema, vremenski gubici koji potiču od ovih efekata mogu se izračunati ili izmeriti

1.4.2. Izvorom sinhronizovan prenos (Source Synchronous Design)

Alternativna struktura za taktovanje je izvorom sinnhronizovano (source synchronous) ili

prosleđeno (forwarded) taktovanje koje je prikazano na slici 1.14. Kod ove arhitekture taktni impulsi šalju se iz predajnika ka prijemniku, a linija takta vodi se paralelno sa linijama za podatke. Prosleđeni taktni impulsi se na prijemnoj strani pojačavaju, fazno poravnavaju i raspodeljuju do ulaznih kola za uzorkovanje podataka.

Sve dok je košenje između linija podataka i takta unutar prihvatljivih granica, poravnanje taktnih

impulsa može se vršiti pomoću sinfaznog takta (in-phase clock) koji se vodi do kola za uzorkovanje prosleđenog takta. Poravnanje se vrši tako što se takt koji je u fazi podešava tako da ivično uzorkuje prosleđeni takt kao na slici 1.13. Takt u kvadraturi pomera se za 90 stepeni u odnosu na ovu poziciju, tako da uzorkuje podatke na sredini bitskog intervala (u oblastii važenja), čime se obezbeđuje najveća vremenska margina. Poravnanje sa prosleđenim taktom eliminiše potrebu za sinfaznim prekomernim uzorkovanjem (in-phase over-sampling) u linijskim prijemnicima za podatke.

Osim toga, s obzirom da prosleđeni takt ima iste vremenske karakteristike kao i ulazni podaci,

uticaj vremnskog drifta i džitera iz predajnika biće isti. To stvara samo-praćenje (inherent tracking) između taktnih impulsa i podataka. U suštini, dinamičko praćenje često nije neophodno u sistemima sa prosleđenim taktovanjem. Potrebno je samo periodično podešavanje faze da bi se kompenzovao temperaturni drift u prijemniku.

Page 22: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

1. Brzi U/I prenos

19

Kao i kod izvedenog taktovanja, ukoliko košenje između traka podataka postane isuviše veliko, poravnanje taktnih impulsa i podešavanje faze mogu se vršiti za svaku traku za podatke pojedinačno. Sada se ponovo mora koristiti tehnika prekomernog uzorkovanja, a logika za fazno poravnanje mora se ugraditi za svaku traku podataka posebno.

1.4.2.1. Džiter u izvorom sinhronizovanim sistemima

Iako su vremenske karakteristike taktnih impulsa identične sa vremenskim karakteristikama podataka na predajnoj strani, putanje takta i podataka nisu identične. Taktni impulsi prolaze kroz pojačavač, kola za fazno poravnanje i raspodelu u prijemniku, pri čemu svaki od ovih stepena može da doda džiter taktu koji se, istovremeno, ne pojavljuje i na linijama za podatke. Šta više, ova kola plus košenje koje stvara kanal dovode do neusaglašenosti kašnjenja između taktnih impulsa i podataka. Zbog toga je minimizacija džitera takta predajnika i dalje od ključne važnosti za postizanje većih brzina.

Logika za odlučivanje o poravnanju taktnih

impulsa

Podešavanje sinfaznog (ivičnog) takta

Podešavanje kvadraturnog takta (za uzorkovanje podataka)

Predajnik Prijemnik...... ...K

anal

i po

data

kaK

anal

ta

kta

Slika 1.14 Taktovanje kod arhitekture koja koristi izvorom sinhronizovani prenos

Page 23: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

1. Brzi U/I prenos

20

1.4.3. Razmatranje drifta taktnih impulsa

Realizacija izvornih taktnih impulsa bilo u obliku prosleđenog (forwarded) ili izvedenog (derived) sistema taktovanja, takođe utiče i na ukupnu sinhronizaciju između predajnika i prijemnika. Moguća su dva slučaja. U prvom se izvorni taktni impulsi za predajnik i prijemnik mogu dovoditi iz istog oscilatora, ili iz odvojenih oscilatora koji su frekventno usaglašeni tako da su srednje taktne frekvencije predajnika i prijemnika jednake. To je poznato kao mezohroni (mesochronous) sistem. U drugom slučaju, koji je poznat kao pleziohroni (plesiochronous) sistem, srednje frekvencije izvornih takatnih impulsa u predajniku i prijemniku mogu se veoma malo razlikovati. Ova razlika obično se drži u granicama veličine milionitog dela frekvencije. U oba slučaja, topologija staze za prenos podataka mora kompenzovati razlike u brzini prenosa podataka koje potiču od topologije sistema taktovanja.

Iako usaglašenost frekvencija kod mezohronih sistema podrazumeva jednostavan prenos kod

koga se sa svakom aktivnom ivicom taktnog impulsa prenosi po jedan podatak po magistrali podataka (one-for-one), u praksi to nije tako lako ostvariti. Iako srednje taktne frekvencije predajnika i prijemnika moraju biti jednake, dozvoljene su kratkotrajne devijacije. Ovo, na primer, potiče od razlika u odzivu PLL petlji predajnika i prijemnika na fazni šum referentnog oscilatora, ili od naponskog i temperaturnog drifta u predajniku ili prijemniku. Ovi driftovi dovode do toga da taktni impulsi predajnika kratkotrajno, malo ubrzaju ili uspore u odnosu na taktne impulse prijemnika. Da bi se prevazišle ove razlike u brzini prenosa podataka, podatke možemo baferovati pomoću FIFO strukture (First-In First-Out). Time se omogućava da podaci budu dostupni prijemniku u slučaju da njegovi taktni impulsi ubrzaju, a takođe je obezbeđen bafer za primljene podatke u slučaju da taktni impulsi predajnika privremno ubrzaju.

Kod pleziohronih sistema, razlika taktnih frekvencija podrazumeva neprekidnu razliku u

brzinama prenosa podataka između predajnika i prijemnika. Baferovanjem podataka neće se rešiti problem, s obzirom da bi se bilo koji bafer ograničenog kapaciteta na kraju prepunio. Moguća rešenja uključuju bilo hand-shake mehanizme ili skip karaktere (skip characters). Hand-shake mehanizmi funkcionišu tako što se podaci prenose samo kada postanu dostupni. To se može ostvariti bilo serijski (bit po bit), bilo pakovanjem podataka u paralelni paket i prenosom paketa kada postane spreman. Skip karakteri funkcionišu tako što omogućavaju prijemniku da povremeno umetne ili ignoriše nulte sekvence podataka (null data sequences), tako da se može održati ista efektivna brzina prenosa podataka.

Page 24: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

2.1. Uvod

U prethodnom poglavlju opisani su opšti principi za rešavanje problema koje stvaraju prenosne linije i tehnike za postizanje većih brzina prenosa podataka. U ovom poglavlju biće opisana jedna konkretna arhitektura za brzi U/I prenos - PCI Express.

PCI Express predstavlja treću generaciju brzih U/I magistrala (stariji naziv 3GIO - 3rd

Generation I/O) koje se koriste za međusobno povezivanje perifernih uređaja. Prvu generaciju predstavljaju magistrale ISA, EISA, VESA i Micro Channel (MCA), dok bi drugu generaciju činile PCI, AGP i PCI-X magistrale.

U prvom delu ovog poglavlja biće opisan evolutivni razvoj PCI Express magistrala počev od

PCI magistrale. Biće ukratko opisane osnovne karakteristike prethodnih arhitektura kako bi se istakle prednosti koje nudi PCI Express. Najzad, biće date ključne karakteristike PCI Express sistema.

U drugom delu ovog poglavlja biće sa nešto više detalja opisana arhitektura PCI Express

magistrale. Biće prikazana slojevita struktura PCI Express uređaja, i ukratko opisana uloga svakog sloja. Takođe, biće objašnjen način formiranja paketa, prenos i prijem paketa na odredištu.

2.2. Naslednik PCI magistrale

PCI (Peripheral Component Interconnect) arhitekture su neprikosnoveno vladale tržištem PC računara više od jedne decenije. Međutim, sa porastom brzine procesora, memorije, kao i sa napretkom grafičkih i mrežnih interfejsa, narasle su potrebe za većom propusnošću U/I magistrale. Konvencionalna PCI arhitektura, uprkos stalnom usavršavanju, nije u stanju da zadovolji ove potrebe. Zato je bilo potrebno razviti novu arhitekturu.

PCI Express arhitekutra preuzela je sve ključne karakteristike prethodne generacije magistrala,

ali je donela i neka nova poboljšanja. PCI Express je u potpunosti softverski kompatibilna sa PCI i PCI-X što znači da stari operativni sistemi, drajveri i korisnički programi mogu bez ikakvih promena da rade na novim arhitekturama. Međutim, u hardverskom domenu, PCI Express se drastično rezlikuje od svojih prethodnika.

PCI i PCI-X su paralelne višetačkaste (multi-drop) magistrale, što znači da veći broj uređaja deli

zajedničku magistralu. Za razliku od njih PCI Express je serijska magistrala kod koje se komunikacija ostvaruje po principu tačka-ka-tački (point-to-point). To praktično znači, da su jednom vezom povezana samo dva uređaja, čime se smanjuje električno opterećenje na vezi, a time se stvaraju uslovi za primenu viših taktnih frekvencija, odnosno za veću brzinu prenosa. Trenutno su na tržištu dostupni sistemi čija brzina prenosa iznosi 2,5 Gbit/s, mada je početkom ove godine (2007.) definisan novi standard PCI Express 2.0 sa brzinom prenosa od 5 Gbit/s. Serijska veza između dva uređaja ima za posledicu manji broj linija na štamapnim pločama čime se pojednostavljuje njihovo projektovanje i cena. Ono po čemu se PCI Express takođe razlikuje od

Page 25: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

22

svojih prethodnika jeste proširivost (skalabilnost). U zavisnosti od potreba broj traka za prenos podataka (Lanes) može se uvišestručavati i na taj način se može postići veća propusnost.

Osim ovih, PCI Express nudi i neke nove mogućnosti kao što su kvalitet usluge (Quality of Service - QoS), Hot Plug/Hot Swap, kao i unapređene tehnike za upravljanje potrošnjom (power management). Kvalitet usluge omogućava da se performnse magistrale menjaju u zavisnosti od potreba konkretnog uređaja. Hot Plug/Hot Swap podrška olakšava izmenu kartica bez gašenja napajanja sistema. Unapređene tehnike za upravljanje potrošnjom smanjuju potrošnju, čime se omogućava primena ove arhitekture u prenosivim uređajima. Poboljšan je i mehanizam za detekciju grešaka, kao i pouzdanost sistema što ovaj sistem čini pogodnim za primenu u savremenim serverima. Hot Plug, upravljanje potrošnjom, rukovanje greškama i prekidi ostvaruju se prenosom poruka po linijama za podatke (in-band) bez korišćenja dodatanih signalnih linija, čime se takođe smanjuje ukupan broj linija kao i cena sistema.

U budućnosti se očekuje dalje povećanje brzine prenosa na 10 Gbit/s, što je otprilike i

maksimalna brzina koja se može postići sa bakarnim linijama.

2.3. Uporedne karakteristike PCI magistrala

U Tabeli 2.1 prikazane su PCI magistrale koje su prethodile PCI Express magistrali i to: PCI magistrala na 33 MHz, PCI magistrala na 66 MHz, PCI-X magistrale na 66/133 MHz, PCI-X magistrale na 266/533 MHz i najzad PCI Express.

Tabela 2.1 PCI magistrale koje su prethodile PCI Express Tip magistrale Verzija Godina pojavljivanja

PCI 33 MHz 2.0 1993 PCI 66 MHz 2.1 1995 PCI-X 66MHz i 133 MHz 1.0 1999 PCI-X 266MHz i 533 MHz 2.0 2002 PCI Express 1.0 2002

2.3.1. Propusnost magistrala i broj slotova

U Tabeli 2.2 prikazani su različiti tipovi PCI magistrala sa aspekta taktnih frekvencija, propusnosti, i broja slotova. Očigledno je da se sa povećanjem frekvencije povećava i propusnoost. Međutim, povećanje frekvencije ograničava opteretivost magistrale i broj konektora koji su dostupni za rad na toj frekvenciji. Drugim rečima, smanjenje opterećenja na magistrali jeste jedan od uslova za povećanje taktne frekvencije, a samim tim i propusnosti magistrale. Za datu magistralu postoji gornja granica, iznad koje nije moguće povećavati frekvenciju bez redizajniranja arhitekture.

Drugi način za povećanje propusnosti magistrale jeste povećanje broja linija za prenos, ali se

time povećava složenost sistema, otežava trasiranje magistrala na štampanim pločama i povećava se njihova površina. Takođe se povećava gabarit konektora i pakovanja integrisanih kola, što sve zajedno povećava cenu celokupnog sistema.

Page 26: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

23

Tabela 2.2 Poređenje PCI magistrala po frekvenciji, propusnosti i broju slotova

Tip magistrale Taktna frekvencija Vršna propusnost* Broj slotova po magistrali

PCI 32-bitna 33 MHz 133 MBytes/sec 4-5 PCI 32-bitna 66 MHz 266 MBytes/sec 1-2 PCI-X 32-bitna 66 MHz 266 MBytes/sec 4 PCI-X 32-bitna 133 MHz 533 MBytes/sec 1-2 PCI-X 32-bitna 266 MHz efektivno 1066 MBytes/sec 1 PCI-X 32-bitna 533 MHz efektivno 2131 MBytes/sec 1

* Za 64-bitne verzije magistrala navedene vrednosti propusnosti se udvostručuju

2.3.2. Agregatisana propusnost PCI Express magistrale

Veza koja spaja dva PCI Express uređaja zove se Link. Link se sastoji od x1, x2, x4, x8, x12, x16 ili x32 para provodnika za svaki smer prenosa podataka. Ovi signalni parovi zovu se trake (Lanes). Broj traka određuje projektant u zavisnosti od potrebnih performansi magistrale (skalabilnost PCI Express magistrale).

U Tabeli 2.3 prikazana je agregatisana propusnost (Aggregate bandwidth) za različite obime

Link-ova. Kao što se može uočiti vršna propusnost koja se može postići sa PCI Express-om je znatno veća od bilo koje paralelne PCI magistrale.

Razmotrimo kako se došlo do ovih brojeva. Brzina prenosa podataka je 2,5 Gbit/s po traci u

jednom smeru. Svaki bajt podataka koji se šalje preko PCI Express magistrale kodira se sa 10 bitova (koder 8b/10b u predajniku, a o razlozima zbog kojih se ovo čini biće više reči u drugom delu ove glave). Drugim rečima za prenos svakog bajta potrebno je preneti 10 bitova. Overhead, zbog ovog kodiranja iznosi 25%.

PCI Express koristi dvostruki simpleks (dual-simplex) prenos. To praktično znači da je moguće

istovremeno prenositi podatke u oba smera, pri čemu postoje zasebni putevi za podatke za svaki smer. Agregatisana propusnost podrazumeva istovremeni prenos podataka u oba smera.

Da bi se dobila agregatisana propusnost datog Link-a potrebno je pomnožiti 2,5 Gbit/s brojem

traka po Link-u, zatim dobijenu vrednost ponožiti sa 2 (jer se prenos istovremeno vrši u oba smera), i najzad podeliti sa 10 bitova, da bi se dobio broj bajtova (jer se svaki bajt predstavlja sa 10 bitova).

Tabela 2.3 Agregatisana propusnost PCI Express Link-a za različite obime Link-ova Obim PCI Express

Link-a x1 x2 x4 x8 x12 x16 x32

Agregatisana propusnost (GB/s) 0,5 1 2 4 6 8 16

Kao što se može primetiti agregatisana propusnost predstavlja maksimalnu propusnost koja se u

praksi teško može postići, ali, prosto, služi kao parametar za poređenje sa drugim arhitekturama.

Page 27: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

24

2.4. Pregled PCI arhitektura koje su prethodile PCI Express arhitekturi

2.4.1. PCI magistrala na 33 MHz

Kompanija Intel osmislila je PCI magistralu i predstavila je 1991. godine. Osnovna koncepcija PCI magistrale prikazana je na slici 2.1.

Procesor

North Bridge (Intel 440)

Arbitar

South Bridge

Ethernet SCSI

GFX

HDDCD

Modemski čip

Super IOCOM1

COM2

AGP 2X

IDE

USB

SDRAM

PCI-33MHz

Slotovi

FSB

Boot ROM

ISA

Audio čip

Slika 2.1 Arhitektura računara zasnovanog na PCI magistrali na 33 MHz

Glavnu ulogu u PCI arhitekturi igraju dva čipa koja se obično zovu: North bridge i South bridge. Preko North bridge-a ostvaruje se komunikacija između procesora, glavne memorije, grafičke kartice i ostatka sistema preko PCI magistrale. On sadrži odgovarajuće interfejse za sve navedene tipove komunikacija odnosno magistrala. Procesor se sa North bridge-om povezuje pomoću sistemske (FSB - Front Side Bus) magistrale. Memorija se povezuje preko memorijske, dok se grafička kartica (adapter) povezuje, obično, pomoću AGP (Accelerated Graphics Port) magistrale. U North bridge-u se nalazi i arbitar koji određuje koji će uređaj koristiti magitralu. U/I uređaji vezuju se na PCI magistralu bilo direktno na matičnu ploču, bilo preko slotova i kartica. Svaki od uređaja koji se vezuje direktno na matičnu ploču predstavlja jedno opterećenje, dok se uređaji koji

Page 28: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

25

se vezuju preko konektora (slotova) računaju kao dva opterećenja. South bridge, s druge strane, služi za spregu PCI magistrale sa ISA magistralom, USB i IDE (Integrated Drive Electronics) magistralom. Preko ISA magistrale vezivali su se stariji ISA uređaji, ali i ROM memorija za podizanje sistema (Boot ROM), audio čip, kao i Super I/O čip koji sadrži interfejse za tastaturu, miša, disketnu jedinicu, serijske portove i paralelni port. IDE magistrala koristi se za povezivanje hard diska i optičkih uređaja sekundarne memorije (CD i DVD). Pored toga u South bridge-u se obično nalazi i kontroler prekida, kao i logika za detekciju greške prilikom prenosa na PCI magistrali.

Na slici 2.2 prikazan je tipičan ciklus PCI magistrale. Taktna frekvencija ove osnovne PCI

magistrale je 33 MHz. Obim adresne magistrale je 32 bita (što je dovoljno da se adresira 4 GB memorije), iako opciono, može biti i 64 bita. Magistrala podataka može biti bilo 32-bitna bilo 64-bitna, što sve zavisi od zahtevanih performansi magistrale. Da bi se smanjio broj linija na magistrali, izvršeno je multipleksiranje adresne magistrale i magistrale podataka (linije A/D na slici 2.2). Pored ovih, PCI magisrtrala sadrži čitav niz upravljačkih signala, kao što su C/BE# (Command/ Byte Enables), STOP#, FRAME#, TRDY# (Target Ready), IRDY# (Initiator Ready), DEVSEL# (Device Select), prekidni signali, signali za upravljanje potrošnjom, i opcioni signali za detekciju greške. Tu su još i signali kojima PCI uređaj zahteva dodelu magistrale (REQ#) od arbitra, kao i signal kojim arbitar odobrava korišćenje magistrale (GNT#).

Slika 2.2 Tipični PCI paketni (burst) ciklus magistrale (slika je preuzeta sa sajta

http://dsrg.mff.cuni.cz, 19. 3. 2007.)

2.4.1.1. Maksimalno električno opterećenje PCI magistarle na 33 MHz

Teoretski PCI magistrala podržava 32 uređaja. Međutim, u praksi, PCI magistrala može da podrži maksimalno 10-12 električnih opterećenja. Naime, što je veći broj opterećenja na magistrali,

Page 29: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

26

veća je inertnost magistrale. Samim tim povećava se propagaciono kašnjenje, a takođe se povećava i vreme potrebno da se signal smiri (stabiliše). Da bi se zadovoljili vremenski zahtevi koji su neophodni za ispravan rad PCI magistrale neophodno je da broj opterćenja ne prelazi vrednost od 10-12. Kao što je ranije rečeno, konektori se računaju kao dva opterećenja, jer je sam konektor jedno opterećenje, a PCI kartica je drugo opterećenje. Tako dolazimo do maksimalne vrednosti od 4-5 slotova po magistrali kao što je dato u Tabeli 2.2.

Ukoliko je potrebno vezati veći broj opterećenja od 10-12 moguće je proširiti PCI arhitekturu

novom magistralom pomoću mosta PCI-na-PCI (PCI-to-PCI bridge). Tako se može vezati novih 10-12 uređaja. PCI specifikacija teoretski podržava maksimalno 256 magistrala u sistemu.

2.4.1.2. Transakcioni modeli PCI magistrale

PCI magistrala podržava sledeće tarnsakcione modele: programirani U/I prenos, DMA prenos, i prenos podataka između ravnopravnih uređaja na PCI magistrali (peer- to- peer). Pored ovih, prenos podataka između procesora i preiferija može se vršiti i korišćenjem prekidne tehnike. Programirani U/I prenos

Programirani U/I prenos (transakcija 1 na slici 2.3) inicira procesor. Na osnovu programa procesor započinje ciklus čitanja/upisa u memoriju ili U/I uređaj. Komunikacija procesora sa PCI uređajima obavlja se preko North Bridge-a, koji traži dozvolu za korišćenje magistrale od arbitra, i kada je dobije generiše memorijski ili U/I ciklus upisa ili čitanja.

Najpre se na linije A/D PCI magistrale postavlja adresa (ova faza ciklusa zove se adresna faza,

slika 2.2). Nakon što ciljni uređaj (u ovom slučaju Ethernet uređaj) potvrdi spremnost za prijem/predaju podataka, započinje prenos podataka (faza podataka). Ako se podaci šalju u uzastopnim taktnim intervalima, bez ponovnog slanja adrese, takav prenos naziva se paketni (burst) prenos. Na taj način postiže se maksimalna propusnost PCI magistrale.

Ako se sa svakim taktnim impulsom prenose 32 bita (4 bajta) onda se, pri frekvenciji od 33

MHz, može postići maksimalna propusnost od približno 133 MB (Tabela 2.2). Propusnost za 64-bitni prenos je dvostruko veća (266 MB). Direktan pristup memoriji - DMA

PCI uređaji imaju mogućnost direktnog pristupa memoriji (DMA - Direct Memory Access). Zahvaljujući tome, PCI uređaji mogu direktno da razmenjuju podatke sa glavnom memorijom bez učešća procesora, čime se znatno skraćuje vreme prenosa podataka između periferije i memorije i povećava efikasnost rada celokupnog sistema (transakcija 2 na slici 2.3). Prenos podataka između ravnopravnih PCI uređaja (Peer-to-Peer)

Međusobni prenos podataka, koji je takođe prikazan na slici 2.3 (tansakcija 3), predstavlja direktan prenos podataka između dva PCI uređaja. Potencijalni gospodar magistrale, najpre, zahteva dodelu magistrale od arbitra, i kada dobije pravo na upravljanje magistralom, na nju postavlja adresu uređaja sa kojim želi da razmenjuje podatke. Kada ciljni uređaj potvrdi spremnost za prenos podataka, započinje prenos.

Page 30: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

27

Slika 2.3 Transakcioni modeli PCI magistrale Arbitraža na PCI magistrali

Pre svake od navedenih transakcija vrši se arbitraža za dodelu magistrale. Arbitar je logički blok koji se nalazi u North bridge-u i odlučuje o tome koji će uređaj biti naredni gospodar magistrale. Ovu odluku može doneti i za vreme tekućeg ciklusa magistrale, tako da PCI uređaj nakon dobijanja signala dozvole (GNT#) mora proveriti da li je magistrala slobodna, a tek onda može da započne ciklus magistrale. Prkidna tehnika kod PCI magistrale

PCI magistrala poseduje četiri deljive prekidne linije (INTA#, INTB#, INTC# i INTD#). Kontroler prekida nalazi se u South bridge-u (slika 2.4). Nakon aktiviranja ovih prekidnih linija od strane PCI uređaja, kontroler prekida aktivira prekidnu liniju procesora INTR. Deljivost prekidnih linija omogućava da veći broj PCI uređaja koristi istu prekidnu liniju, a izvor prekida se određuje softverski (od strane operativnog sistema). Time se unosi dodatno kašnjenje i povećava vreme opsluživanja prekida.

Page 31: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

28

Slika 2.4 Prekidna tehnika u PCI sistemima Rukovanje greškama

Za detekciju grešaka prilikom prenosa podataka u PCI sistemima koristi se bit parnosti. Za tu namenu postoji posebna linija PAR, pri čemu se koristi parna parnost. Bit parnosti generiše se kako u toku adresne faze, tako i u toku faze podataka. Svaki PCI uređaj, prilkom prijema podataka, proverava bit parnosti i ukoliko otkrije grešku u adresnoj fazi aktivira signal SERR# (System Error), a ukoliko se greška javi u toku faze podataka aktivira se PERR# (Parity Error). U South bridge-u nalazi se logika za obradu grešaka (Error logic, slika 2.5), koja nakon prijema SERR# ili PERR# signala obično, aktivira nemaskirajući prekid (NMI - Non-Maskable Interrupt signal). Ovo za posledicu ima pad sistema, što je prilično surovo rešenje problema.

Drugi problem u vezi sa bitom parnosti jeste detekcija parnog broja višestrukih grešaka, ali i

nemogućnost korekcije grešaka. Na osnovu svega ovoga može se zaključiti da je mehanizam za obradu grešaka u PCI arhitekturama dosta loš, pa je to razlog što se često puta izbegava njegovo korišćenje.

Page 32: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

29

Slika 2.5 Rukovanje greškama u PCI sistemima Protokol odlaganja transakcije u PCI sistemima (PCI Delayed Transaction Protocol)

Protokol ponovnog pokušaja (PCI Retry Protocol): Ukoliko ciljni uređaj nije spreman za transakciju sa PCI gospodarom, on ima dve mogućnosti da odloži tu transakciju. Prva je da ubaci stanja čekanja (wait states), u toku faze podataka. Ukoliko je potrebno samo nekoliko stanja čekanja, prenos je i dalje efikasan. Međutim, ukoliko je ciljnom uređaju potrebno više vremena (više od 16 taktnih intervala od početka transakcije), preostaje mu druga mogućnost, a to je da signalizira gospodaru magistrale da prekine transakciju i ponovo pokuša kasnije (slika 2.6). To se ostvaruje aktiviranjem signala STOP#. Na taj način sprečava se dugotrajno držanje magistrale u stanju čekanja, što bi umanjilo njenu efikasnost. Gospodar magistrale kome je odložen prenos, čeka najmanje dva taktna intervala, i mora ponovo da traži dozvolu za korišćenje PCI magistrale od arbitra, da bi ponovo započeo isti ciklus na magistrali. U međuvremenu, arbitar može dodeliti magistralu drugim uređajima kako bi se postigla bolja efikasnost. Kada ponovo dobije magistralu na korišćenje, PCI uređaj ponovo pokušava da ostvari prenos sa ciljnim uređajem. Ako je on spreman, transakcija se obavlja do kraja, a ukoliko nije spreman, transakcija se ponovo odlaže. Postupak se ponavlja sve dok gospodar ne uspe da obavi transakciju do kraja.

Page 33: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

30

Slika 2.6 PCI protokol ponovnog pokušaja

Protokol prekida prenosa (PCI Disconnect Protocol): Kada PCI gospodar započne prenos podataka ka ciljnom uređaju, i ostvari prenos najmanje jedne dvostruke reči (32 bita), pri čemu je dalji prenos onemogućen (iz nekog razloga), on prekida prenos, i nastavlja ga kada se steknu uslovi da se prenos obavi. Ovaj scenario prikazan je na slici 2.7. Naime, kada prenos podataka započne, ali iz nekog razloga dođe do zastoja, PCI uređaj ima dve mogućnosti. Prva je, opet, umetanje stanja čekanja. Ukoliko je broj stanja čekanja mali, prenos se i dalje obavlja efikasno. Međutim, ukoliko je ciljnom uređaju poterbno više vremena, (PCI specifikacija dopušta najviše 8 taktnih intervala u fazi podataka), tada ciljni uređaj mora da signalizira prekid prenosa. To se, opet, čini pomoću signala STOP#, i to u toku trajanja ciklusa magistrale, kako bi gospodar magistrale prekinuo prenos. Osnovna razlika između protokola prekida prenosa i protokola ponovnog pokušaja jeste u tome što se kod prvog neki podaci prenesu pre nego što dođe do prekida, dok kod drugog nema prenosa. Prekinuti gospodar čeka najmanje dva taktna intervala, pre nego što ponovo zatraži dozvolu za korišćenje magistrale od arbitra. Kada je dobije, ukoliko je ciljni uređaj spreman, prenos se nastavlja do kraja. Ako ciljni uređaj nije spreman transakcija se ponovo odlaže bilo da se gospodaru signalizira ponovni pokušaj (retry), bilo da se prekine prenos (disconnect). Proces se ponavlja sve dok gospodar ne prenese sve svoje podatke.

Page 34: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

31

Slika 2.7 PCI protokol prekida prenosa Mapa adresnog prostora

PCI arhitektura podržava tri adresna prostora, kao što je to prikazano na slici 2.8. To su: memorijski, U/I i konfiguracioni. Memorijski adresni prostor ide do 4 GB za sisteme koji podržavaju 32-bitno adresiranje, i opciono 16 EB (eksabajta), za sisteme koji podržavaju 64-bitno memorijsko adresiranje. PCI, takođe, podržava i 4 GB U/I prostora, mada je kod mnogih platformi ovaj prostor ograničen na 64 kB, s obzirom da procesori familije 80x86 podržavaju samo 64 kB U/I prostora. Konfiguracioni prostor čine konfiguracioni registri PCI uređaja. Svaka PCI funkcija može imati do 256 bajtova konfiguracionog adresnog prostora. Ako se ima u vidu da svki PCI uređaj može imati do 8 funkcija, da se na svaku magistralu može (teoretski) priključiti 32 uređaja, i da je maksimalan broj PCI magistrala u sistemu 256, množenjem ovih vrednosti dobija se da je veličina konfiguracionog prostora 16 MB. Procesori 80x86 mogu pristupiti memorijskom i U/I prostoru, ali ne podržavaju konfiguracioni prostor direktno. Konfiguracionom prostoru se pristupa indirektno posredstvom adresnog porta i porta za podatke koji se nalaze u North bridge-u (ili u MCH - Memory Controller Hub). Adrese ovih portova nalaze se u U/I prostoru i to: za adresni port CF8h-CFBh, a za port podataka CFCh-CFFh.

Page 35: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

32

PCI memorija

AGP video

PCI memorija

Proširena mamorija

Boot ROM

Proširivi ROM

Rezervisano za video

Konvencionalna memorija

Nasleđeni U/I

Adresni port

Port podataka

PCI U/I prostor

Memorijska mapa

U/I mapa

PCI konfiguracioni prostor

640 kB

1 MB

4 GB/16 EB

64 kB

1 kB

16 MB

CFCh-CFFh

CF8h-CFBh

256B

256B

256B

Slika 2.8 Mapa adresnog prostora

Ograničenja PCI sistema na 33 MHz

Kao što se iz Tabele 2.2 može videti, vršna propusnost PCI sistema na 33 MHz iznosi 133 MB/s za 32-bitni, i 266 MB/s za 64-bitni prenos. Za većinu današnjih servera i radnih stanica to je nedovoljna propusnost. Osim toga Gigabit Ethernet kao i visoko performansni sistemi za rad sa diskovima kao što su RAID (Redundant Array of Independent Disks) i SCSI (Small Computer System Interface) zahtevaju veću propusnost od one koju PCI magistrala na 33 MHz može da ponudi.

Novija generacija Intelovih PCI čip-setova

Na slici 2.9 prikazana je novija generacija Intelovih PCI čip-setova. Dva čipa sa boldiranim natpisima NISU North bridge i South bridge koji su prikazani na prethodnim slikama. Jedan čip je memorijski hub kontroler (Memory Controller Hub - MCH), a drugi je U/I hub kontroler (IO Controller Hub - ICH). Ova dva čipa povezana su Intelovom brzom magistralom sa malim brojem linija po imenu Hub Link.

U osnovi ICH ima sve funkcije South bridge-a, ali ne podržava ISA magistralu. Sa ovim čipom

U/I uređaji povezuju se pomoću LPC (low pin count) magistrale, AC’97 magistrale, Ethernet, Boot ROM, USB i najzad PCI magistrale. Osnovna prednost ove arhitekture u odnosu na prethodnu, jeste ta što se prenos podataka između perifernih uređaja i memorije, ne vrši preko PCI magistrale kao što je to bio slučaj ranije, već se prenos ostvaruje pomoću visoko propusnog Hub Link-a, koji ima bolje performanse u odnosu na PCI. Drugim rečima, zaobilazi se PCI magistrala, čime se postižu bolje performanse.

Page 36: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

33

Slika 2.9 Novija generacija PCI čip-setova

2.4.2. PCI magistrala na 66 MHz

Bolje performanse postižu se ako se koristi PCI arhitektura na 66 MHz. Ako se pored taktne frekvencije, udvostruči i obim magistrale, može se postići propusnost od 533 MB/s.

Specifikacija PCI 2.1, kojom se definiše PCI magistra na 66 MHz, uvedena je 1995. godine. Na slici 2.10 dat je primer sistema koji koristi PCI magistralu na 66 MHz. Ovaj sistem ima

slične osobine kao i prethodno opisani sistem (slika 2.9). Međutim, MCH podržava dva dodatna Hub Link-a, pomoću kojih se povezuju mostovi P64H (PCI 64-bit Hub bridge), preko kojih se ostvaruje sprega sa 64-bitnim PCI magistralama na 66 MHz. Svaka od ovih magistrala podržava samo jedan konektor.

Page 37: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

34

Procesor

FSB

Procesor

Memorijski hub kontroler (Intel 860 MCH)

GFX

AGP 4X

RDRAM

IEEE 1394 SCSI

HDDCD

Boot ROM

Modem Codec

Super IOCOM1

COM2

IDE

USB

PCI-33MHzSlotovi

EthernetAudio Codec

Hub Link

LPC

AC’97 Link

RDRAM

P64H

P64HHub LinkSlot PCI-66MHz

U/I hub kontroler(ICH2)

Slika 2.10 Arhitektura računara zasnovanog na PCI magistrali na 66 MHz Ograničenja PCI sistema na 66 MHz

Osnovnu poteškoću prilikom projektovanja U/I sistema na 66 MHz predstavlja ostvarivanje vremenskih zahteva. Da bi se smanjilo propagaciono kašnjenje, u ovim sitemima koriste se kraće linije. Dalje, da bi se skratilo vreme uspona i opadanja, magistrala se opterećuje manjim brojem opterećenja. Samo se jedan do dva konektora mogu priključiti na PCI magistralu koja radi na 66 MHz, što je značajno ograničenje u sistemima koji zahtevaju povezivanje većeg broja U/I uređaja.

Za povezivanje većeg broja uređaja poterbni su mostovi. Ovakvo rešenje je skupo, a zauzima i

dodatni prostor na štampanim pločama. Pored toga mostovi usporavaju prenos, jer oni koriste mehanizam odložene transakcije. Ograničenja PCI arhitekture

Kao što smo videli maksimalana taktna frekvencija koja se može postići ovkavom arhitekturom iznosi 66 MHz.

Efikasnost magistrale definiše se kao odnos broja taktnih impulsa tokom kojih se vrši prenos

podataka, i ukupnog broja taktnih impulsa (pomnoženo sa 100 da bi se dobila vrednost u procentima).

Page 38: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

35

Efikasnost PCI magistrale je 50-60%, a neki od razloga za ovu, smanjenu efikasnost dati su u nastavku ovog odeljaka.

PCI specifikacija dozvoljava gospodarima magistrale, kao i ciljnim uređajima ubacivanje stanja čekanja tokom faze podataka. Spori uređaji, time, umanjuju efikasnost PCI magistrale.

Protokol odlaganja transakcije takođe umanjuje efikasnost magistrale. Kada ciljni uređaj nije

spreman za razmenu podataka sa gospodarem, on signalizira gospodaru da prekine transakciju i ponovo pokuša kasnije. Gospodar “nagađa”, tj. sam određuje kada će ponovo pokušati da ostvari transakciju. Ukoliko pokuša suviše rano, može se desiti da bude ponovo odbijen. Ako pak, sačeka duže vreme, povećava se vreme poterbno za obavljanje prenosa podataka. Slično se dešava i prilikom prekida prenosa od strane ciljnog uređaja.

Mehanizam prekida u PCI sistemima je, kao što smo videli, takođe neefikasan. Razlog tome je

što veći broj uređaja deli zajedničku prekidnu liniju, pri čemu se detekcija uređaja koji je generisao prekid vrši softverski. Time se povećava vreme obrade prekida.

Kada dođe do greške prilikom prenosa, aktivira se nemaskirajući prekid (NMI), pri čemu ne

postoji mogućnost korekcije grešaka. Takođe, mehanizam za detekciju grešaka nije u stanju da detektuje paran broj višestrukih grešaka.

U narednim generacijama PCI magistrala (PCI-X i PCI Express) rešeni su ovi problemi.

2.4.3. Magistrala PCI-X 1.0 na 66 MHz i 133 MHz

Ova magistrala je prvenstveno namenjena serverima. Na slici 2.11 prikazana je arhitektura servera koja koristi čip-set Intel 7500. Arhitektura je veoma slična prethodnim dvema arhitekturama zasnovanim na čipsetu 8XX. Međutim, osnovna razlika jeste u tome što MCH 7500 poseduje 3 dodatna porta Hub Link 2.0, koji imaju visoke performanse. Na ovim magistralama priključena su 3 mosta Hub Link - to - PCI Hub 2 (P64H2), pomoću kojih se ostvaruje sprega između PCI-X magistrale i Hub Link 2.0 magistrale. Na svaki P64H2 most mogu se priključiti dve PCI-X magistrale, koje mogu da rade na frekvencijama do 133 MHz. Karakteristike PCI-X magistrale

U poređenju sa PCI magistralom PCI-X magistrala radi na višoj taktnoj frekvenciji, ima bolje performanse i veću efikasnost.

PCI-X uređaji mogu da se utaknu u obične PCI slotove i obrnuto. PCI-X slotovi i PCI slotovi

koriste isti format konektora (s tim da PCI-X konektori imaju više pinova, tj. izgledaju kao produženi PCI slotovi). PCI-X magistrala je tako, potpuno kompatibilna sa prethodnom PCI magistralom i to kako u hardverskom tako i u softverskom pogledu. Drajveri uređaja, operativni sistemi i korisnički programi koji su radili na PCI arhitekturama, mogu se, takođe, koristiti i u PCI-X arhitekturama.

Zahvaljujući hardverskim unapređenjima, PCI-X magistrala može da radi na višim

frekevncijama, i da podrži veći broj opterećenja za datu frekvenciju u odnosu na PCI magistralu.

Page 39: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

36

Tako PCI-X magistrala podržava 8-10 opterećenja ili 4 konektora na 66 MHz (u odnosu na 1-2 konektora kod PCI magistrale na istoj frekvenciji), odnosno 3-4 opterećenja ili 1-2 konektora na 133 MHz.

Slika 2.11 Arhitektura servera zasnovanog na PCI-X magistrali na 66 MHz/133 MHz

Vršna propusnost koja se može postići sa 64-bitnom PCI-X magistralom na 133 MHz je 1064 MB/s.

Nakon prve faze podataka nisu dopuštena stanja čekanja u toku kasnijih faza podataka. Osim faze podataka i adresne faze, PCI-X specifikacija uvodi i fazu atributa u kojoj se definiše

obim podataka koje treba preneti. Na taj način se omogućava efikasnije upravljanje baferima uređaja.

Protokol deljenja transakcije (Split transaction protocol) predstavlja novinu u odnosu na prethodnu PCI magistralu, i zapravo je unapređenje protokola odlaganja transakcije. Razmotrimo ovaj protokol na jednom primeru, koji je ilustrovan na slici 2.12. Uređaj requester započinje transakciju čitanja. Može se desiti da uređaj completer, koji potvrđuje ciklus magistrale, nije spreman da odmah vrati tražene podatke. Kod klasične PCI magistrale completer bi signalizirao requester-u da odloži transakciju i ponovo pokuša kasnije. Međutim, ovde completer memoriše transakciju (adresu, tip transakcije, broj bajtova koje treba preneti kao i requester ID) i signalizira podeljeni odziv (split response). Time se requester upozorava da završi ciklus magistrle, čime se magistrala oslobađa za druge transakcije i povećava njena efikasnost. Za to vreme requester čeka da mu completer pošalje tražene podatke. Čim completer prikupi tražene podatke, zahteva dozvolu za korišćenje magistrale od arbitra, i kada je dobije, započinje ciklus magistrale u toku kojeg vraća taržene podatke. Dakle, u ovm slučaju, nema potrebe da requester ponavlja ceo ciklus

Page 40: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

37

magistrale, već completer sam šalje podatke onda kada bude spreman. Time se u mnogome povećava efikasnost magistrale.

PCI Express koristi sličan tarnsakcioni protokol. Opisana poboljšanja PCI-X magistrale povećavaju njenu efikasnost na 85%, za razliku od

prethodno opisane PCI magistrale, čija je efikasnost bila 50-60%.

Slika 2.12 Protokol deljenja transakcije u PCI-X sistemima

PCI-X uređaji moraju da podržavaju prekide signalizirane porukama - MSI (Message Signaled Interrupt). Ova tehnika je mnogo efikasnija od prekidne tehnike koja se koristi kod PCI arhitekture. Naime, prilikom generisanja zahteva za prekid, PCI-X uređaj započinje ciklus upis u memoriju pri čemu je ciljni uređaj most host-a (Host (North) bridge). Podaci koji se predaju mostu host-a zapravo su prekidni vektor broj kojim se identifikuje uređaj koji je generisao zahtev za prekid. Ovaj vektor broj šalje se procesoru, tako da on odmah može da pokrene odgovarajuću rutinu za obradu prekida. Kod PCI-X arhitekture nema gubljenja vremena na softversko ispitivanje izvora prekida. Takođe, za razliku od PCI arhitekture, ovde nisu potrebne prekidne linije.

PCI Express arhitektura takođe koristi MSI protokol, što za posledicu ima skraćenje vremena

obrade prekida, i eliminisanje prekidnih linija. Dalje povećanje propusnosti PCI magistrale ostvareno je PCI-X 2.0 specifikacijom, koja je

predstavljena 2002.god. Ova magistrala biće ukratko opisana u nastavku.

2.4.4. Magistrala PCI-X 2.0 (DDR i QDR)

Na slici 2.13 prikazan je sistem zasnovan na PCI-X 2.0 magistrali. PCI-X 2.0 uređaji i konektori su 100% hardverski i softverski kompatibilni sa prethodnim PCI-X 1.0 kao i sa PCI uređajima i konektorima. PCI-X 2.0 podržava bilo dvostruku brzinu prenosa (DDR - Dual Data Rate) bilo četvorostruku brzinu prenosa (QDR - Quad Data Rate). Da bi se to postiglo, koriste se PCI-X taktni impulsi frekvencije 133 MHz, i strobe impulsi koji su fazno pomereni kako bi se dobile potrebne ivice taktnih impulsa.

Page 41: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

38

Vršna propusnost PCI-X 2.0 magistrale je 4256 MB/s za 64-bitni prenos pri efektivnoj taktnoj frekvenciji od 533 MHz. Zahvaljujući strobe taktnim impulsima, podaci se prenose dva ili četiri puta u toku jednog taktnog impulsa frekvencije 133 MHz.

PCI-X 2.0 uređaji podržavaju unapređeni sistem za detekciju i korekciju grešaka. Time je

omogućena korekcija jednostrukih i detekcija višestrukih grešaka. Rukovanje greškama je mnogo bolje nego u prethodnim PCI-X 1.0 i PCI sistemima, zbog čega je ova magistrala pogodnija za primenu u serverima visokih preformansi koji treba da rade neprekidno.

Procesor

FSB

Procesor

Most host-aDDR/QDR SDRAM

Grafika

SCSI

PCI-33MHz

Slotovi

PCI-X 1.0Slotovi

PCI-X 1.0 most

Slot

RAID Niz

diskova

SIOCOM1

COM2

Napomena: DDR/QDR magistrale su paralelne magistrale tipa tačka-ka-tački

PCI-X 2.0 most

10Gb Ethernet

10Gb Ethernet

PCI-X DDR/QDR

PCI-X DDR/QDR

PCI-X 2.0 most

10Gb Ethernet

10Gb Ethernet

PCI-X DDR/QDR

PCI-X DDR/QDR

Slika 2.13 Arhitektura računara zasnovanog na PCI-X 2.0 magistrali

Treba napomenuti da je, zbog velike brzine rada, moguće priključiti samo jedan konektor na PCI-X 2.0 magistralu. To praktično znači, da PCI-X 2.0 ostvaruje komunikaciju tipa tačka-ka-tački (point-to-point), za razliku od prethodnih magistrala koje su bile višetačkastog (multi-drop) tipa.

PCI-X 2.0 mostovi su zapravo komutatori sa jednom primarnom i većim brojem sekundarnih

(downstream) magistrala kao što je to prikazano na slici 2.13. Tako dolazimo do PCI Express magistrale koja zadržava sve ono što je bilo dobro u prethodnim

generacijama PCI magistrala, ali uvodi i neke nove osobine.

Page 42: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

39

2.5. PCI Express magistrala

PCI Express koristi brzu diferencijalnu vezu za prenos podataka, pri čemu se komunikacija vrši po principu tačka-ka-tački. U nastavku ćemo sa nešto više detalja razmotriti osobine PCI Express magistrale. Link - komunikacija po principu tačka-ka-tački

Fizička veza između dva PCI Express uređaja zove se Link. Svaki Link sastoji se od 1, 2, 4, 8, 12, 16 ili 32 para provodnika za svaki smer prenosa podataka (slika 2.14). Kao što je već rečeno, ovi signalni parovi zovu se trake (Lanes). U zavisnosti od broja traka Link-ovi mogu biti tipa: x1, x2, x4, x8, x12, x16 i x32. Svaka traka za prenos podataka sastoji se od dva diferencijalna para provodnika - po jedan par za svaki smer. Drugim rečima, svaka traka sadrži 4 provodne linije. Tako se, na primer, Link tipa x1 sastoji od jedne trake za podatke, tj. sadrži po jedan diferencijalni par za svaki smer, što ukupno čini 4 signala. Link tipa x32 sadrži 32 trake za podatke, odnosno 128 signalnih linija. Broj linija za podatke isti je u oba smera.

Slika 2.14 PCI Express Link Diferncijalni prenos

PCI Express magistrale koriste diferencijalni način prenosa podataka. Na slici 2.15 prikazan je primer električnog signala na PCI Express magistrali. Logička 1 predstavlja se pozitivnom razlikom napona između D+ i D-. Logička 0 predstavlja se negativnom razlikom napona između D+ i D-. Maksimalna vrednost razlike napona između D+ i D- zove se vršni diferencijalni napon (Differential Peak Voltage -VDiffp na slici 2.15) i on se, na predajnoj strani, kreće u opsegu od 400 ÷ 600 mV. To praktično znači da se maksimalna razlika napona pri slanju logičke jedinice nalazi u opsegu od 400 ÷ 600 mV, dok se maksimalna (tačnije minimalna) negativna razlika napona, pri slanju logičke nule, kreće u opsegu -400 ÷ -600 mV. Diferencijalni napon od vrha-do-vrha (Differential Peak-to-Peak) predstavlja razliku logičkih nivoa kojima se predstavlja logička jedinica i logička nula i on se, na osnovu prethodnog, kreće u intervalu od 800 mV - 1200 mV. Kao što se može uočiti, radi se o malim naponima što omogućava veću brzinu prenosa. Kada se drajver nalazi u stanju visoke impedanse, nema razlike između napona na D+ i D-. Mogućnost predstavljanja trećeg stanja jeste još jedna prednost diferencijalnog načina prenosa.

Page 43: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

40

Slika 2.15 Diferencijalni signal u PCI Express sistemima

Diferencijalna impedansa prijemnika je prilagođena karakterističnoj impedansi prenosnih linija na ploči da bi se izbegle refleksije. Za međusobno povezivanje većeg broja uređaja koriste se komutatori

S obzirom da PCI Express koristi komunikaciju tipa tačka-ka-tački, povezivanje većeg broja uređaja ostvaruje se pomoću logičkog elementa koji se zove komutator (switch). Komutator može biti zaseban element ili može biti integrisan u Root Complex uređaj (ekvivalent mostu host-a ili North bridge-u), čime se dobija višeportni Root Complex. Paketni protokol

Umesto ciklusa magistrale koji su tipični za PCI i PCI-X magistrale, PCI Express koristi pakete. Princip slanja i prijema paketa je sličan onom koji se koristi u računarskim mrežama. Postoje različiti tipovi paketa kao što su: zahtevi za upis i čitanje memorije, upis i čitanje U/I uređaja, zahtevi za upis i čitanje konfiguracionog prostora, poruke i odgovori (completions). Propusnost i taktovanje

Kao što se može videti iz Tabele 2.3 agregatisana propusnost koja se može postići sa PCI Express magistralom je mnogo veća od propusnosti bilo koje druge PCI magistrale. PCI Express 1.0 podržava brzinu prenosa od 2,5 Gbit/s u svakom smeru. Pri tome se, ovaj takt ne prenosi kao zaseban signal, već se informacija o taktu prenosi zajedno sa podacima. Na prijemnoj strani takt se izdvaja iz primljenih podataka pomoću PLL petlje. Adresni prostor

PCI Express podržava iste adresne prostore kao i PCI: memorijski, U/I i konfiguracioni adresni prostor. Maksimalni konfiguracioni prostor za svaku funkciju proširen je sa 256 B na 4 kB. Međutim, da bi ovaj, dodatni konfiguracioni prostor mogao da se koristi potrebni su novi operativni sistemi, drajveri i korisnički programi. Takođe, postoji i novi adresni prostor koji je rezervisan za poruke. Porukama se u PCI Express arhitekturi prenose različite komande za koje su se ranije koristile zasebne signalne linije, kao što su prekidi, informacije o greškama, i informacije vezane za upravljanje potrošnjom. Porukama se prenose i neke druge informacije koje definišu sami proizvođači.

Page 44: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

41

PCI Express transakcije

PCI Express podržava iste transakcije kao i PCI i PCI-X. To su čitanje memorije, upis u memoriju, čitanje iz U/I uređaja, upis u U/I uređaj, čitanje konfiguracionog prostora i upis u konfiguracioni prostor. Pored ovih, PCI Express podržava i novi tip transakcija, a to su transakcije porukama. PCI Express transakcioni model

Sve PCI Express transakcije mogu se podeliti u dve kategorije: non-posted transakcije i posted transakcije. Non-posted transakcije, kao što je čitanje memorije, koriste protokol deljenja transakcije sličan onom kod PCI-X magistrale. Na primer, requester šalje zahtev za čitanje memorije u obliku non-posted paketa. Completer odgovara slanjem paketa sa traženim podacima. Kod posted transakcija, kao što je upis u memoriju, paketi se šalju jednosmerno od requester-a ka completer-u, bez odgovora od strane completer-a. Rukovanje greškama u PCI Express sistemu

Za detekciju grešaka se koriste CRC polja koja se dodaju svakom paketu. Na prijemnoj strani proverava se ispravnost primljenog paketa, i ukoliko je došlo do greške, obaveštava se predajnik koji je paket poslao. Nakon prijema obaveštenja, predajnik automatski ponavlja slanje tog istog paketa, sve dok na kraju, paket ne bude ispravno primljen. Na taj način vrši se auto-korekcija grešaka i obezbeđuje se pouzdan prenos podataka između komponenata računarskog sistema. Kvalitet usluge (Quality of Service - QoS), klase saobraćaja (Traffic Classes - TCs) i virtuelni kanali (Virual Channels - VCs)

Kvalitet usluge (Quality of Service - QoS) je nova osobina PCI Express arhitekture, koja se odnosi na sposobnost rutiranja paketa koji potiču od različitih aplikacija sa različitim prioritetom. Time se obezbeđuje da pojedini paketi stižu na odredište u određenom roku, jer im se garantuje potrebna propusnost. Tako je npr. poželjno da se paketi koji nose video podatke prenose kroz sistem sa višim prioritetom i zagarantovanom propusnošću, dok neki upravljački paketi ne moraju da imaju tako stroge vremenske zahteve.

Prioritet paketa prilikom rutiranja kroz sistem, određen je brojem koji se naziva klasa saobraćaja

(Traffic Class - TC). Ovaj broj može imati vrednost od 0 do 7, i određuje ga drajver uređaja ili određena aplikacija.

Na osnovu klase saobraćaja vrši se sortiranje paketa u tzv. bafere virtuelnih kanala (Virtual

Channel - VC). Virtuelni kanali mogu da prihvataju pakete više različitih kalsa saobraćaja, ali se paketi iste klase saobraćaja ne mogu slati u različite bafere virtuelnih kanala. Svaki virtuelni kanal ima određen prioritet, shodno prioritetu paketa koje sadrži u sebi. Upravljanje tokom podataka (Flow Control)

Nakon prijema paketa, oni se smeštaju u bafer viruelnog kanala. Prijemnik periodično obaveštava predajni uređaj o tome koliko slobodnog prostora ima u svom baferu. Predajnik će početi sa slanjem paketa jedino ako “zna” da će prijemnik imati dovoljno prostora u svom baferu za

Page 45: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

42

smeštanje tog paketa. Protokol kojim se obezbeđuje da predajnik dobija informacije o raspoloživom prostoru bafera prijemnika, zove se upravljanje tokom (Flow Control). Zahvaljujući ovom protokolu, eliminiše se potreba za ponovnim slanjem paketa (osim u slučaju da dođe do greške prilikom prenosa), čime se poboljšava efikasnost prenosa podataka. MSI prekidna tehnika slična onoj kod PCI-X magistrale

PCI Express koristi prekide signalizirane porukama (MSI), slično PCI-X magistrali. Poruke se šalju po linijama za podatake (in-band), u obliku paketa tipa upis u memoriju, i sadrže vektor broj. Kada Root complex primi ovakvu poruku, on šalje prekidni signal procesoru. Upravljanje potrošnjom (Power Management)

PCI Express struktura troši manje energije, s obzirom da magistrala ima manji broj linija, i da su

naponi signala manji. PCI/PCI Express softver za upravljanje potrošnjom određuje mogućnosti svakog uređaja u pogledu upravljanja potrošnjom i svakim uređajem upravlja individualno slično kao kod PCI sistema. Uređaji mogu da obaveštavaju softver o njihovom trenutnom stanju, a softver može da generiše wake-up događaje za ponovno aktiviranje uređaja ili grupe uređaja.

Bez učešća softvera, uređaji mogu da prebace Link u stanje sa malom potrošnjom, ako nakon

isteka određenog vremena od slanja poslednjeg paketa, nema novih paketa za slanje. Ova mogućnost zove se upravljanje potrošnjom u aktivnom stanju (Active State power management). Podrška rada za Hot Plug

PCI Express podržava hot plug, ali i hot unplug, bez korišćenja dodatnih signalnih linija. Hot plug prekidne poruke, koje se šalju po linijama za podatke (in-band) root complex-u, aktiviraju hot plug softver koji detektuje priključivanje ili isključivanje PCI Express uređaja. Softverski model kompatibilan sa PCI arhitekturom

Kao što je to već rečeno, PCI Express je softverski kompatibilna arhitektura sa prethodnim PCI arhitekturama. Memorijski i U/I adresni prostor ostaju isti kao kod PCI/PCI-X sistema. Prvih 256 B konfiguracionog prostora za sve PCI Express funkcije su isti kao kod PCI/PCI-X uređaja, čime se obezbeđuje da postojeći operativni sistemi i drajveri uređaja rade i u PCI Express sistemu. Međutim, imajući u vidu da je konfiguracioni prostor proširen na 4 kB po funkciji uređaja, potrebni su novi operativni sistemi i drajveri uređaja za korišćenje ovog, proširenog prostora. Mehanički faktori oblika

PCI Express uređaji proizvode se u različitim oblicima kao što su PCI Express kartice slične PCI karticama, Mini PCI Express kartice, ExpressCard, Server IO Module (SIOM).

PCI Express kartice, slične standardnim PCI karticama, namenjene su tržištu stonih (desktop)

računara. Trenutno se, na matičnim pločama, sreću konektori tipa x1, x4, x8 i x16. Mini PCI Express kartice predstavljaju zamenu za Mini PCI kartice i prevashodno su namenjene

tržištu prenosivih računara. Kao što im sam naziv kaže, znatno su manje od standardnih PCI Express kartica.

Page 46: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

43

ExpressCard je zamena za PC Card (CardBus). Ove kartice, koje su tipa PCMCIA, mogu se

koristiti kako u stonim tako i u prenosivim računarima. ExpressCard koristi ili PCI Express magistralu x1 ili USB magistralu za povezivanje sa ostalim komponentama računarskog sistema.

Server IO Module (Serverski U/I modul) je namenjen tržištu servera i radnih stanica.

2.5.1. PCI Express topologija

U ovom odeljku biće definisani osnovni pojmovi koji su vezani za topologiju PCI Express sistema. Na slici 2.16 prikazane su osnovne komponente PCI Express sistema.

Slika 2.16 Topologija PCI Express sistema

Root Complex predstavlja komponentu koja povezuje CPU i memorijski podsistem sa PCI

Express strukturom. On može da podržava jedan ili više PCI Express portova. U konkretnom slučju, root complex podržava tri porta. Svaki je port povezan sa nekom krajnjom tačkom (endpoint device) ili sa komutatorom, koji forimira podhijerarhiju. Root complex generiše sve pomenute tipove transakcija na zahtev CPU-a. Preko root complex-a U/I uređaji komniciraju sa memorijom. Root complex koji ima više portova, ima mogućnost da rutira pakete sa jednog porta na drugi, iako se to, po specifikaciji, od njega ne traži.

Page 47: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

44

Root complex takođe, sadrži centralne resurse kao što su hot plug kontroler, kontroler za upravljanje potrošnjom, kontroler prekida kao i logika za detekciju grešaka. Root complex vrši incijalizaciju u PCI Express sistemu, tako što numeriše magistrale, urđaje i funkcije. Ovim vrednostima definišu se requster ID i completer ID. Magistrala root complex-a, uređaj i funkcija se inicijalizuju na vrednost 0.

Hijerarhija (Hierarchy) je struktura koju čine svi uređaji i Link-ovi koji su povezani sa root complex-om, bilo direktno, preko njegovih portova, bilo indirektno, preko komutatora i mostova. Na slici 2.16, celokupna struktura koja je povezana sa sa root complex-om predstavlja hijerarhiju.

Hijerarhijski domen (Hierarchy Domain) predstavlja strukturu koju čine uređaji i Link-ovi

koji su vezani na jedan port root complex-a. Na slici 2.16 ima 3 hijerarhijska domena. Krajnje tačke (Endpoints) su svi uređaji koji nisu root complex ili komutatori, a koji su

requester-i i completer-i PCI Express transakcija. To su periferni uređaji kao što su grafičke kartice, Ethernet i USB uređaji. Postoje dva tipa krajnjih tačaka: nasleđene (legacy) krajnje tačke i (prave) PCI Express krajnje tačke. Svakoj krajnjoj tački dodeljuje se identifikator uređaja (requester ID ili completer ID), koji se sastoji od broja magistrale, broja uređaja i broja funkcije. Krajnje tačke su uvek numerisane brojem 0 na magistrali.

Multifunkcijske krajnje tačke (Multi-Function Endpoints). Kao i PCI uređaji, PCI Express

uređaji podržavaju do 8 funkcija po krajnjoj tački, pri čemu najmanje jedna ima broj 0. Međutim, PCI Express Link podržava samo jednu krajnju tačku sa brojem 0.

Most PCI Experss-na-PCI(-X) (PCI Express-to-PCI(-X) Bridge) predstavlja, kao što mu

samo ime kaže, most između PCI Express strukture i PCI ili PCI-X hijerarhije.

Requester je uređaj koji inicira transakciju u PCI Express sistemu. Root complex i krajnje tačke mogu biti requester-i.

Completer je uređaj kome se obraća requester. Requester čita podatke iz completer-a, ili upisuje

podatke u completer. Root complex i krajnje tačke mogu biti completer-i. Port predstavlja interfejs između PCI Express komponente i Link-a. Sastoji se od diferencijalnih

predajnika i prijemnika. Upstream port je port koji je usmeren ka root complex-u (naviše). Downstream port je port koji je usmeren od root complex-a (naniže). Portovi krajnjih tačaka su upstream portovi. Portovi root complex-a su downstream portovi. Ulazni port (Ingress Port) je port koji prima paket. Izlazni port (Egress Port) je port koji šalje podatke.

Komutator (Switch) se može posmatrati kao logički element koji se sastoji od dva ili više

logičkih mostova PCI-na-PCI (PCI-to-PCI bridge), pri čemu je svaki most povezan sa po jednim portom. Komutator na slici 2.16 koji ima 4 porta, sastoji se iz 4 virtelna mosta. Jedan port komutatora, koji je usmeren ka root complex-u, je upstream port. Svi ostali portovi koji su usmereni od root complex-a (ka uređajima koji se nalaze niže u hijerarhiji) su downstream portovi.

Komutatori koriste dva arbitražna mehanizma: arbitraža portova i arbitraža virtuelnih kanala.

Pomoću ovih mehanizama određuje se prioritet, odnosno redosled kojim će se paketi prosleđivati od ulaznih ka izlaznim portovima.

Page 48: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

45

2.5.2. Primeri PCI Express arhitektura

Na slici 2.17 prikazana je jedna tipična PCI Express arhitektura za stone ili prenosive računare. Komponenta Memory bridge (memorijski most) zapravo je root complex o kome je je bilo reči u prethodnom odeljku. Veza između Memory bridge-a i I/O bridge-a ostvaruje se pomoću PCI Express Link-a. PCI Express magistrala je, dakle, zamenila ranije korišćeni Hub Link (slika 2.9). Komunikacija sa grafičkom karticom, takođe se ostvaruje preko PCI Express magistrale, umesto ranije korišćene AGP magistrale. Switch (komutator) je ovde prikazan kao zasebni element, mada on može biti integrisan bilo u Memory bridge (root complex), bilo u I/O bridge.

PCI slotovi će verovatno još dugo vremena biti prisutni u PCI arhitekturama, sve dok ih PCI

Express u potpunosti ne potisne iz upotrebe. U ostalom, to je bio slučaj i sa ISA slotovima kada su se pojavile PCI arhitekture.

Slika 2.17 Primer PCI Express arhitekture opšte namene za stone i prenosive računare (slika je preuzeta sa sajta http://www.pcisig.com, 31. 1. 2007)

PCI Express magistrala nije namenjena samo tržištu stonih i prenosivih računara kao što je to

bio slučaj sa PCI magistralom. To je magistrala opšte namene koja se može koristiti i za servere, komunikacione sisteme kao i za embedded sisteme. Na slici 2.18 prikazana je arhitektura servera koji koristi PCI Express magistralu. Za spregu sa PCI odnosno PCI-X magistralom koriste se odgovarajući bridge-evi (mostovi).

Page 49: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

46

Slika 2.18 Primer PCI Express arhitekture za servere/radne stanice (slika je preuzeta sa sajta http://www.pcisig.com, 31. 1. 2007)

U nastavku ćemo sa nešto više detalja razmotriti slojevitu arhitekturu PCI Express sistema.

Videćemo kako se prenose podaci na PCI Express magistrali, način formiranja, slanja i prijema paketa (bez ulaženja u detalje sadržaja paketa).

2.6. Uvod u PCI Express transakcije

U PCI Express sistemima podaci se prenose u obliku paketa. Postoji više vrsta paketa, ali su za prenos samih podataka najznačajniji tzv. paketi transakcionog sloja (Transaction Layer packets - u daljem tekstu koristićemo skraćenicu TLP).

PCI Express transakcije mogu se podeliti u četiri kategorije: 1) memorijske, 2)U/I, 3)

konfiguracione, i 4) transakcije porukama. Memorijske, U/I i konfiguracione transakcije su postojale i kod PCI i kod PCI-X arhitektura, dok su transakcije porukama novina. Pod transakcijom se podrazumeva niz od jednog ili više prenosa paketa koji su potrebni da bi se izvršio prenos informacija između requester-a i completer-a. Sve transkcije mogu se podeliti na non-posted i na posted transakcije. U Tabeli 2.4 dat je detaljniji prikaz tipova transakcija.

Tabela 2.4 PCI Express Non-Posted i Posted transakcije Tip transakcije Non-Posted ili Posted

Čitanje memorije (Memory Read) Non-posted Upis u memoriju (Memory Write) Posted Čitanje memorije sa zaključavanjem (Memory Read Lock) Non-posted Čitanje iz U/I-a (I/O Read) Non-posted Upis u U/I (I/O Write) Non-posted Čitanje konfiguracije (Tip 0 i Tip1) (Configuration Read) Non-posted Upis konfiguracije (Tip 0 i Tip1) (Configuration Write) Non-posted Poruka (Message) Posted

Page 50: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

47

Kod non-posted transakcija, requseter šalje TLP zahtev completer-u. Completer, kasnije

odgovara requester-u tako što mu šalje paket odgovora (completion). Pri tom se primenjuje protokol deljenja transakcije, sličan onom kod PCI-X magistrale. Svrha paketa odgovora jeste da potvrdi prijem paketa od strane completer-a. Osim toga, ovi paketi mogu da sadrže i tražene podatke (ako je u pitanju transakcija čitanja). Non-posted transakcije upisa sadrže podatke u paketu kojim se zahteva upis.

Kod posted transakcija requester šalje zahtevni TLP paket completer-u. Completer, međutim, NE odgovara na ovaj zahtev, tj. ne šalje paket odgovora requester-u. Time se postiže bolja efikasnost, po cenu toga da requester nema informaciju o uspešnosti prijema paketa od strane completer-a. Posted transakcije mogu, ali i ne moraju da sadrže podatke u zahtevnom TLP-u.

2.6.1. PCI Express transakcioni protokol

U Tabeli 2.5 prikazani TLP zahtevni (request) paketi i paketi odgovora. Ovi paketi koriste se u transakcijama koji se date u Tabeli 2.4. U ovom delu pokazaćemo kako se paketi koriste u tranasakcijama na sistemskom nivou, ali nećemo ulaziti u detalje koji se tiču sadržaja paketa, niti u to kako se ovi paketi rutiraju kroz PCI Express strukturu.

Tabela 2.5 Tipovi PCI Express TLP paketa Tip TLP paketa Skraćeni naziv

Zahtev za čitanje memorije (Memory Read Request) MRd Zahtev za čitanje memorije - zaključan pristup (Memory Read Request - Locked access)

MRdLk

Zahtev za upis u memoriju (Memory Write Request) MWr Čitanje iz U/I-a (I/O Read) IORd Upis u U/I (I/O Write) IOWr Čitanje konfiguracije (Tip 0 i Tip1) (Configuration Read) CfgRd0

CfgRd1 Upis konfiguracije (Tip 0 i Tip1) (Configuration Write) CfgWr0

CfgWr1 Poruka bez podataka (Message Request without data) Msg Poruka sa podacima (Message Request with data) MsgD Odgovor bez podataka (Completion without Data) Cpl Odgovor sa podacima (Completion with Data) CplD Odgovor bez podataka vezan za zahteve čitanja iz memorije sa zaključavanjem (Completion without Data - associated with Locked Memory Read Requests)

CplLk

Odgovor sa podacima vezan za zahteve čitanja iz memorije sa zaključavanjem (Completion with Data - associated with Locked Memory Read Requests)

CplDLk

Non-posted transakcije čitanja

Na slici 2.19 prikazan je način prenosa paketa od requester-a ka completer-u za slučaj non-posted transakcije čitanja. Da bi se ostvarila ova transakcija, requester šalje zahtev za čitanje completer-u, od koga želi da pročita podatake. To može biti zahtev za čitanje memorije (MRd),

Page 51: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

48

čitanje U/I-a (IORd) ili čitanje konfiguracije (Tip 0 i Tip1 tj. CfgRd0 i CfgRd1). Requester može biti root complex ili krajnja tačka (pri tom krajnje tačke ne mogu da šalju zahteve za čitanje ili upis konfiguracije).

Na osnovu inforamcije koja je sadržana u zaglavlju TLP paketa, vrši se njegovo rutiranje kroz mrežu komutatora, sve dok paket, na kraju, ne stigne na odredište. Completer može biti root complex, komutator, most ili krajnja tačka.

Slika 2.19 Non-posted transakcija čitanja

Kada completer primi paket i dekodira njegov sadržaj, prikuplja tražene podatke, i vraća ih

nazad requester-u u obliku TLP paketa odgovora. To može biti jedan ili više paketa (CplD), pri čemu je maksimalna količina podataka koja se može preneti jednim paketom 4 kB (1024 DW).

Paket odgovora, takođe, sadrži neophodne informacije za rutiranje paketa, i on se vraća do

requester-a istim putem kojim došao i zahtevni paket. Paketi odgovora sadrže tag polje koje requester uparuje sa zahtevnim TLP paketom, koji ima

isti tag, a koji je poslat ranije. To omogućava requester-u da šalje veći broj uzastopnih zahteva completer-u, i da uvek “zna” na koji zahtev se odnosi primljeni paket odgovora.

Ukoliko completer, zbog neke greške, nije u mogućnosti da pribavi tražene podatke, on vraća

paket odgovora bez podataka (Cpl), i indikaciju statusa greške. Requester određuje kako će postupiti sa ovom greškom na softverskom nivou (sloju).

Page 52: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

49

Non-posted transakcije čitanja za zahteve sa zaključavanjem

Na slici 2.20 prikazan je način prenosa paketa od requester-a ka completer-u za slučaj non-posted transakcije čitanja sa zaključavanjem. Da bi se ostvario ovaj prenos, requester šalje zahtev za čitanje memorije sa zaključavanjem (memory read locked request - MRdLk).

Sama transakcija je veoma slična prethodno opisanoj non-posted transakciji čitanja. Razlika je u tome što requester može biti jedino root complex, dok completer može biti jedino nasleđena (legacy) krajnja tačka, kao i to što je celokupna putanja (uključujući i ulazne i izlazne portove komutatora), od root complex-a do krajnje tačke, zaključana tokom trajanja transakcije. Root complex, inicira transakciju sa zaključavanjem na zahtev CPU-a. Krajnjim tačkama, bez obzira na tip, nije dozvoljeno da iniciraju zahteve sa zaključavanjem, tj. one ne mogu biti requester-i kod ovog tipa transakcije.

Nakon što completer primi paket i dekodira njegov sadržaj, on prikuplja tražene podatke i

formira jedan ili više paketa odgovora sa podacima (CplDLk). Ovaj paket vraća se do root complex-a istim putem kojim je došao i zahtevni paket.

Ukoliko completer, zbog neke greške, nije u mogućnosti da pribavi tražene podatke, on vraća

paket odgovora bez podataka (CplLk), i indikaciju statusa greške. Requester određuje kako će postupiti sa ovom greškom na softverskom nivou.

Putanja od requester-a do completer-a ostaje zaključana sve dok requester ne pošalje poruku za

otključavanje. Putanja i ulazni/izlazni portovi kroz koje prođe ova poruka, postaju otključani.

Slika 2.20 Non-posted transakcija čitanja sa zaključavanjem

Page 53: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

50

Non-posted transakcije upisa

Na slici 2.21 prikazan je način prenosa paketa od requester-a ka completer-u za slučaj non-posted transakcije upisa. Da bi se ostvario ovaj prenos requester šalje completer-u non-posted zahtev za upis. To može biti zahtev za upis u U/I (IOWr) ili zahtev za upis konfiguracije (Tip 0 i Tip1 tj. CfgWr0 i CfgWr1). Zahtevi za upis u memoriju, i transakcije porukama predstavljaju posted zahteve. Requester može biti root complex ili krajnje tačke (pri tom krajnje tačke ne mogu da šalju zahteve za upis konfiguracije).

Na osnovu informacije koja je sadržana u zaglavlju TLP paketa, vrši se njegovo rutiranje kroz mrežu komutatora, sve dok paket, na kraju, ne stigne na odredište.

Slika 2.21 Non-posted transakcija upisa

Kada completer primi paket, dekodira njegov sadržaj, i prihvata podatke. Completer, zatim, šalje jedan paket odgovora bez podataka (Cpl), kako bi potvrdio prijem zahteva za upis. To i jeste svrha paketa odgovora.

Paket odgovora, takođe, sadrži neophodne informacije za rutiranje paketa, i on se vraća do

requester-a istim putem kojim došao i zahtevni paket. Ukoliko completer nije u stanju da uspešno izvrši upis podataka, ili dođe do neke greške, tada on

vraća paket odgovora bez podataka (Cpl), ali sa indikacijom statusa greške. Posted transakcije upisa u memoriju

Zahtevi za upis u memoriju koji su prikazani na slici 2.22 su posted tranasakcije. To znači da completer NE vraća pakete odgovora, kojima bi obaveštavao requester-a o uspešnom prijemu paketa. Time se štedi vreme, pa se uzastopni (back-to-back) upisi ostvaruju efikasnije u odnosu na non-posted transakcije.

Page 54: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

51

Zahtevi za upis u memoriju, takođe, sadrže u zaglavlju paketa informacije koje su neophodne za rutiranje paketa. Kada paket stigne na odredište, completer prihvata podatke. Time se transakcija završava.

Ukoliko se prilikom prijema paketa ustanovi greška, ili completer nije u stanju da primi paket

zbog unutrašnje greške, requester o tome neće biti informisan putem nekog hardverskog protokola. Completer može da evidenitira grešku, i da generiše poruku kojom obaveštava root complex da je došlo do greške. Ova gerška se dalje softverski obrađuje.

Slika 2.22 Posted transakcija upisa u memoriju Posted transakcije porukama

Zahtevi koji se šalju u obliku poruka, takođe spadaju u posted transakcije (slika 2.23). Postoje dva tipa poruka: poruke bez podataka (Msg) i poruke sa podacima (MsgD). Poruka može biti namenjena jednom completer-u ili svim krajnjim tačkama (broadcast), pri čemu je root complex requester. Poruke se rutiraju na osnovu adrese poruke, identifikacije uređaja ili implicitno.

Completer prihvata podatke koji su sadržani u porukama i/ili izvršava zadatak koji je definisan

porukom. Zahvaljujući porukama, eliminiše se potreba za posebnim signalnim linijama (side-band

signals). Porukama se šalju zahtevi za prekid, komande za upravljanje potrošnjom, hot plug komande, signaliziraju se greške itd.

Page 55: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

52

Slika 2.23 Posted transakcije porukama

2.7. Slojevi PCI Express uređaja

2.7.1. Pregled

PCI Express specifikacija definiše slojevitu arhitekturu koja je prikazana na slici 2.24. Slojevi koji čine PCI express arhitekturu su: transakcioni sloj (Transaction Layer), sloj veze (Data Link Layer), i fizički sloj (Physical Layer). Slojevi se dalje, mogu vertikalno podeliti na dva dela i to na: predajni deo kojim se obrađuje odlazni saobraćaj, i prijemni deo kojim se obrađuje dolazni saobraćaj. Međutim, PCI Express uređaji ne moraju da implementiraju slojevitu arhitekturu, ukoliko ostvaruju funkcionalnost koja se zahteva PCI Express specifikacijom. Predajni deo uređaja

Razmotrimo najpre, predajni deo uređaja. Paketi se formiraju na transakcionom sloju od informacija koje se dobijaju od jezgra uređaja (device core), i aplikacije. Ovo su osnovni paketi u PCI Express arhitekturi i zovu se paketi transakcionog sloja (Transaction Layer Packet - TLP). Sloj veze na ovaj paket dodaje podatke koji služe za detekciju greške na prijemnoj strani. Na fizičkom sloju paket se kodira, i šalje diferencijalno pomoću analognog dela ovog sloja. Prijemni deo uređaja

Prijemnik na fizičkom nivou dekodira sadržaj primljenog paketa, i prosleđuje ga višim slojevima. Sloj veze proverava da li u primljenom paketu ima grešaka, i ukoliko nema grešaka prosleđuje paket transakcionom sloju. Transakcioni sloj baferuje primljene podatke i pretvara ih u oblik koji je pogodan za obradu u jezgru uređaja ili aplikaciji.

Page 56: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

53

Jezgro uređaja

PCI Express uređaj A

TX RX

Transakcioni sloj

Sloj veze

Fizički sloj

Interfejs sa jezgrom uređaja

Jezgro uređaja

PCI Express uređaj B

TX RX

Fizički sloj

Sloj veze

Transakcioni sloj

Interfejs sa jezgrom uređaja

Link

Slika 2.24 Slojevi PCI Express uređaja

2.7.2. Slojevi uređaja i odgovarajući paketi

Postoje tri vrste paketa i savka vrsta povezana je sa odgovarajućim slojem uređaja. Transakcionom sloju odgovaraju paketi transakcionog sloja (Transaction Layer Packet - TLP), sloju veze odgovaraju paketi sloja veze (Data Link Layer Packet - DLLP), i najzad, fizičkom sloju odgovaraju paketi fizičkog sloja (Physical Layer Packet - PLP). Paketi transakcionog sloja (Transaction Layer Packet - TLP)

O vrstama TLP paketa već je bilo reči u prethodnim odeljcima. Sada ćemo razmotriti kako se ovi paketi sastavljaju i rastavljaju.

TLP paketi formiraju se na transakcionom sloju predajnika i završavaju na transakcionom sloju

prijemnika (slika 2.25). Sloj veze i fizički sloj, takođe, daju doprinos formiranju TLP paketa. Na prijemnoj strani TLP paket se rastavlja prolazeći, redom, kroz fizički, sloj veze i najzad kroz transakcioni sloj.

Page 57: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

54

Slika 2.25 Izvorište i odredište TLP paketa

Sastavljanje TLP paketa. Izgled TLP paketa na Link-u prikazan je na slici 2.26. Jezgro TLP

paketa predstavljaju podaci koje treba preneti i zaglavlje (header). Ovi podaci dobijaju se od softverskog sloja ili jezgra uređaja. Njima se dodaje opciono End-to-End CRC (ECRC) polje. ECRC polje koristi se od strane krajnjeg, ciljnog uređaja za detekciju greške.

Dalje se jezgro TLP paketa prosleđuje sloju veze, koji dodaje polja identifikator sekvence

(sequence ID) i LCRC polje koje je sada obavezno. LCRC polje služi za detekciju grešaka od strane susednog prijemnika koji se nalazi s druge strane Link-a. LCRC se određuje na osnovu jezgra TLP paketa plus identifikator sekvence. Dobijeni paket predaje se fizičkom sloju, koji dodaje karaktere za uokvirenje pri čemu je svaki karakter veličine 1 bajt. Paket se kodira, i diferncijalno šalje na Link.

Page 58: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

55

Slika 2.26 Sastavljanje TLP paketa

Rastavljanje TLP paketa. Kada susedni prijemnik primi paket, on se, najpre, na fizičkom nivou dekodira, a zatim se odbacuju Start i End polja za uokviravanje (slika 2.27). Ostatak paketa šalje se sloju veze. Ovaj sloj proverava isparvnost primljenog paketa i uklanja identifikator sekvence i LCRC polje. Pretpostavimo da nema grešaka u primljenom paketu. U tom slučaju TLP se prosleđuje transakcionom sloju. Ukoliko je prijemni uređaj komutator, paket se rutira sa jednog porta na drugi, izlazni port, na osnovu informacije koja je sadržana u zaglavlju TLP paketa. Krajnji, ciljni uređaj proverava ECRC polje (ukoliko postoji), odbacuje ga, ostavljajući zaglavlje i deo sa podacima. Ove informacije se, najzad, predaju softverskom sloju ili jezgru uređaja.

Page 59: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

56

Slika 2.27 Rastavljanje TLP paketa Paketi sloja veze (Data Link Layer Packet - DLLP)

Drugi tip paketa koji se definiše PCI Express specifikacijom jesu paketi sloja veze. Ovi paketi potiču od sloja veze predajnika i završavaju na sloju veze prijemnika. Ovaj proces prikazan je na slici 2.28. I ovde fizički sloj doprinosi sastavljanju i rastavljanju DLLP paketa.

DLLP paketi koriste se za upravljanjem Link-om. Ovim paketima prenose se potvrde prijema

TLP paketa (ACK/NAK protokol), informacije za upravljanje potrošnjom, kao i informacije za upravljanjem tokom prenosa.

DLLP paketi se prenose između dva direktno povezana uređaja. Oni, za razliku od TLP paketa,

ne prolaze kroz komutatore. DLLP paketi ne sadrže informacije za rutiranje. Ovi paketi su i po veličini manji od TLP paketa, i njihova veličina iznosi 8 bajtova (uključujući i Start i End polja).

Page 60: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

57

Slika 2.28 Izvorište i odredište DLLP paketa

Sastavljanje DLLP paketa. Proces sastavljanja DLLP paketa prikazan je na slici 2.29. Postoje različite vrste DLLP paketa: DLLP paketi za upravljanje tokom prenosa (Flow Control DLLP - FCx-), DLLP paketi kojima se potvrđuje prijem TLP paketa (acknowledge/no acknowledge DLLP - ACK i NAK), i DLLP paketi za upravljanje potrošnjom (power management - PMx). Tip DLLP paketa određen je posebnim poljem DLLP paketa. Sloj veze dodaje i 16-bitno CRC polje koje se koristi od strane prijemnika za detekciju grešaka.

Fizički sloj pridodaje Start i End karaktere za uokviravanje (svaki veličine 1 bajt). Paket se kodira i diferencijalno šalje na Link.

Slika 2.29 Sastavljanje DLLP paketa

Page 61: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

58

Rastavljanje DLLP paketa: DLLP paketi primaju se fizičkim slojem prijemnika. Primljeni niz bitova najpre se dekodira, a zatim se uklanjaju Start i End polja za uokviravanje, kao što je to prikazano na slici 2.30. Ostatak paketa predaje se sloju veze, koji proverava ispravnost primljenog paketa, na osnovu CRC polja. Sloj veze je krajnje odredište DLLP paketa. Dakle, oni se ne prosleđuju transakcionom sloju.

Slika 2.30 Rastavljanje DLLP paketa Paketi fizičkog sloja (Physical Layer Packet - PLP)

Treći tip PCI Express paketa jesu paketi fizičkog nivoa (PLP). Ovi paketi potiču od fizičkog nivoa predajnika i završavaju na fizičkom nivou prijemnika. Proces formiranja PLP paketa prikazan je na slici 2.31. Struktura PLP paketa je veoma jednostavna i oni počinju 1-bajtnim COM (comma) karakterom, za kojim slede 3 ili više drugih karaktera koji određuju tip PLP paketa, ali sadrže i druge informacije. PLP paket je umnožak od 4 bajta, a primer PLP paketa prikazan je na slici 2.32. Ovaj tip paketa se, u specifikaciji, naziva uređeni skup (Ordered-set). PLP paketi, kao i DLLP paketi, ne sadrže informacije za rutiranje, pa samim tim oni ne prolaze kroz komutator.

Neki PLP paketi se koriste tokom procesa pripreme Link-a za prenos (Link Training process). Drugi PLP paketi se koriste za kompenzaciju odstupanja taktne frekvencije prijemnika od taktne frekvencije predajnika. PLP paketi se koriste i za prebacivanje Link-a u stanje sa smanjenom potrošnjom (low power state), kao i za vraćanje Link-a iz ovog stanja u normalan radni režim.

Page 62: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

59

Slika 2.31 Izvorište i odredište PLP paketa

Slika 2.32 Tipični PLP paket

2.7.3. Uloga svakog sloja PCI Express uređaja

Na slici 2.33 prikazana je detaljnija blok šema slojeva PCI Express uređaja, a u nastavku ovog odeljka biće, sa nešto više detalja, objašnjena uloga svakog od ovih slojeva. Jezgro uređaja/Softverski sloj

Jezgro uređaja (Device core) predstavlja, na primer, logika root complex-a, ili logika krajnje tačke kao što je Ethernet kontroler, SCSI kontroler, USB kontroler itd. Za projektovanje PCI Express uređaja može se iskoristiti logika PCI ili PCI-X uređaja, kojoj se dodaju PCI Express slojevi opisani u ovom odeljku.

Predajna strana. Jezgro uređaja zajedno sa lokalnim softverom obezbeđuje neophodne podatke

za formiranje TLP paketa. To su, na primer, tip transakcije, adresa, količina podataka koje treba preneti, sami podaci za prenos, klasa saobraćaja, indeks poruke itd.

Page 63: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

60

Prijemna strana. Na prijemnoj strani jezgro uređaja prima informacije od transakcionog sloja. To su uglavnom, isti oni podaci koje šalje predajna strana jezgra uređaja. Pored ovih podataka, ovaj deo prima i izveštaje o greškama.

Paket transakcionog sloja (TLP)

Zaglavlje Podaci ECRC

...

DLLP paketi npr.

ACK/NAK CRC

Provera grešaka

De-Mux

Fizički paket

Start Paket Link-a End

Dekodiranje

Paralelni u serijski

Diferencijalni drajver

Serijski u paralelni

Diferencijalni preijemnik

ACK/NAK CRC

DLLP paketi Paket Link-a

Sekvenca TLP LCRC

Predajna strana Prijemna strana

Zahtevi za upis/čitanje memorije, U/I-a, konfiguracije ili poruke ili odgovori(Softverski sloj šalje/prima: adresu, tip transakcije, podatke, indeks poruke,...)

Predajni baferi virtuelnih kanala

Prijemni baferi virtuelnih kanala

Upravljanje tokom

Upravljanje virtuelnim kanalima

Uređivanje

Priprema Link-a

Port

Link

Softverski sloj

Transakcioni sloj

Sloj veze

Fizički sloj

Paket transakcionog sloja (TLP)

Zaglavlje Podaci ECRC

...

Paket Link-a

Sekvenca TLP LCRC

Bafer za ponovno slanje TLP

paketa

Mux

Fizički paket

Start Paket Link-a End

Kodiranje

Slika 2.33 Detaljna blok šema slojeva PCI Express uređaja

Transakcioni sloj

Transakcioni sloj, prikazan na slici 2.33, zadužen je za generisanje i prijem TLP paketa. Transakcioni sloj podržava protokol deljenja transakcije za non-posted transakcije. Ovaj sloj sadrži bafere virtuelnih kanala (VC buffers) koji služe za smeštanje paketa za slanje, kao i primljenih TLP paketa. Upravljanje tokom prenosa (Flow control) osigurava da predajnik neće započeti prenos paketa ukoliko prijemnik nema dovoljno prostora za prijem tih paketa. Ovim slojem obezbeđuje se i tzv. kvalitet usluge (Quality of Service- QoS).

Predajna strana. Na predajnoj strani formiraju se TLP paketi (slika 2.34). Osnovne komponente koje čine TLP paket su: zaglavlje (Header), podaci za prenos (Data Payload), i opciono ECRC

Page 64: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

61

polje (u specifikaciji se koristi izraz Digest). Struktura TLP paketa na transakcionom sloju prikazana je na slici 2.34.

Slika 2.34 Struktura TLP paketa na transakcionom sloju

Zaglavlje je veličine 3 dvostruke reči (DW) ili 4 dvostruke reči, u zavisnosti od toga da li se koristi 32-bitno ili 64-bitno adresiranje. Zaglavlje sadrži sledeće podatke: adresu (oderdišnu), tip TLP paketa (tipovi TLP paketa dati su u Tabeli 2.5), identifikator requester-a odnosno completer-a, polje tag, klasu saobraćaja, byte enables, kodove odgovora, i atribute.

Adresa kod memorijskih zahteva može biti 32-bitna ili proširena 64-bitna. U slučaju U/I

transakcija adresno polje je 32-bitno. Kod konfiguracionih transakcija ovo polje je identifikator koji se sastoji od broja magistrale, broja uređaja i broja funkcije, plus adresa konfiguracionog registra kome se želi pristupiti. Kod paketa odgovora adresa je identifikator requester-a (requester ID) tj. adresa uređaja koji je zahtevao uslugu. U slučaju transakcija porukama, adresa predstavlja identifikator odredišnog uređaja koji se sastoji od broja magistrale, broja uređaja i broja funkcije. Zahtevi u obliku poruka mogu se, takođe, emitovati svim uređajima (broadcast), ili rutirati implicitno ako im je odredište root complex.

Obim prenosa (transfer size) ili polje dužine (length field) predstavlja količinu podataka koji su

sadržani u paketu, ili se zahtevaju od completer-a, a izražava se brojem dvostrukih reči (doublewords - DW). Obim prenosa može biti između 1 i 1024 DW (tj. maksimalno 4 kB). Kod zahteva za upis, polje dužine ukazuje na količinu podataka koju paket nosi. Kod zahteva za čitanje, polje dužine ukazuje na količinu podataka koja se zahteva od completer-a. Zahtevi za čitanje, međutim, ne sadrže polje sa podacima.

Polje byte enables određuje razlaganje adrese na nivou bajtova. Paketi zahteva sadrže identifikator requester-a (requester ID), koji se sastoji od broja magistarle,

broja uređaja, i broja funkcije. Polje tag iz zahteva se memoriše od strane completer-a, i isti tag koristi se u paketu odgovora.

Jedan bit u zaglavlju (TD-TLP Digest) ukazuje na to da li paket sadrži ECRC polje (koje se

takođe naziva i Digest). ECRC polje dugačko je 32 bita i sadrži End-to End CRC kod. Ovo polje generiše se na osnovu celokupnog TLP paketa, počev od prvog bajta zaglavlja, pa sve do poslednjeg bajta polja podataka (sa izuzetkom 2 bita zaglavlja koja su uvek uzimaju kao 1).

Prijemna strana. Na prijemnoj strani transakcioni sloj smešta dolazne TLP pakete u bafere

viruelnih kanala. Prijemnik proverava da li u primljenom TLP paketu ima grešaka na osnovu ECRC polja. Ukoliko nema grešaka, ECRC polje se uklanja, a ostatak paketa se šalje jezgru uređaja.

Upravljanje tokom prenosa (Flow Control). Transakcioni sloj ne šalje TLP pakete ukoliko

prijemnik nema dovoljno prostora u svojim baferima virtuelnih kanala za prijem tih paketa. Protokol koji ovo omogućava zove se protokol upravljanja tokom. Celokupan proces odvija se automatski na hardverskom nivou. Proces upravljanja tokom prikazan je na slici 2.35. Prijemnik periodično šalje

Page 65: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

62

DLLP pakete za upravljanje tokom (FCx DLLP), i tako predajnik dobija informacije o tome koliko slobodnog prostora ima u baferima virtuelnih kanala prijemnika.

Slika 2.35 Proces upravljanja tokom

Kvalitet usluge (Quality of Service - QoS). Razmotrimo situaciju koja je prikazana na slici 2.36, gde video kamera i SCSI uređaj treba da pošalju zahtev za upis u sistemski DRAM. Podaci koje šalje video kamera su vremenski kritični i moraju da stignu do memorije u određenom roku i sa zagarantovanom propusnošću. U suprotnom, doći će do “seckanja” slike, ili slika neće biti jasna. Podaci koje šalje SCSI uređaj nisu vremenski osetljivi, i važno je samo da do memorije stignu ispravno tj. bez grešaka. Jasno je da video podaci treba da imaju viši prioritet prilikom rutiranja kroz PCI Express strukturu. Kvalitet usluge predstavlja sposobnost rutiranja paketa koji potiču od razlizičitih aplikacija, sa različitim prioritetom, determinističkim kašnjenjem i determinističkom propusnošću. PCI i PCI-X arhitekture ne podržavaju kvalitet usluge.

Razmotrimo sledeći primer. Neka progaramski drajveri u sprezi sa operativnim sistemom,

dodeljuju paketima koji nose video sadržaj klasu saobraćaja 7 (TC7), a paketima koje šalje SCSI uređaj klasu saobraćaja 0 (TC0). Klasa saobraćaja upisuje se u zaglavlje TLP paketa. Na osnovu klase saobraćaja vrši se preslikavanje paketa u odgovarajuće bafere virtuelnih kanala. Neka se paketi klase saobraćaja TC0 preslikavaju u bafer virtuelnog kanala 0 (VC0), a paketi klase saobraćaja 7 u bafer virtuelnog kanala 7 (VC7).

Paketi koji potiču od ovih dveju aplikacija (video i SCSI aplikacije) kreću se kroz PCI Exprss

strukturu, i dolaze do komutatora koji ih smešta u odgovarajuće bafere virtuelnih kanala (VC0 i VC7). Komutator, sada, na osnovu prioriteta određuje koji će paket biti prvi prosleđen na izlazni port. Pretpostavimo da je VC7 konfigurisan tako da ima viši prioritet od VC0. Kad god komutator bude birao između dva paketa iz bafera VC7 i VC0, uvek će izabrati paket iz bafera VC7 (paket sa video sadržajem). Time se obezbeđuje veća propusnost i smanjeno kašnjenje paketa sa video podacima u odnosu na paket sa SCSI podacima.

Page 66: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

63

Root Complex

Video kamera SCSI

Krajnja tačka

Komutator

Komutator

10Gb Ethernet

10Gb Ethernet

Komutator

Procesor Procesor

DDR SDRAM

GFX

Krajnja tačka

Krajnja tačka

FSB

Krajnja tačka

PCI Express Link

Krajnja tačka

PCI Express GFX

Slika 2.36 Primer načina ostvarivanja QoS-a kod PCI Express-a

PCI Express uređaj koji sadrži više od jednog bafera virtuelnog kanala, ima mogućnost da arbitrira između TLP paketa iz različitih bafera. Arbitražni mehanizam koji ovo omogućava zove se arbitraža virtuelnih kanala. Kao što ćemo kasnije videti, komutatori osim arbitraže virtuelnih kanala mogu da vrše i arbitražu portova.

Klase saobraćaja (Traffic Classes - TCs) i virtuelni kanali (Virtual Channels - VCs). Klasa

saobraćaja (TC) je polje u okviru zaglavlja TLP paketa, koje se ne menja prilikom prenosa sa jednog na drugi kraj PCI Express strukture. Klasu saobraćaja određuju lokalni aplikativni softver i sistemski softver, na osnovu potrebne performanse. Virtuelni kanali (VC) su fizički baferi koji omogućavaju veći broj logičkih tokova podataka preko jednog fizčkog Link-a. To se postiže pomoću bafera virtelnih kanala.

PCI Express uređaji mogu da implementiraju do 8 bafera virtuelnih kanala (VC0-VC7). Polje

klase saobraćaja je 3-bitno polje, koje omogućava razlikovanje 8 klasa saobraćaja (TC0-TC7). Uređaji moraju da implementiraju VC0. Takođe se od uređaja zahteva da podržavaju klasu saobraćaja TC0. Ostale klase saobraćaja su opcione, i mogu se koristiti da bi se pravila razlika u prioritetu paketa.

Uređaji i komutatori sadrže logički blok koji paket, date klase saobraćaja, preslikava u odgovarajući bafer virtuelnog kanala (TC-to-VC mapping). PCI Express ima mogućnost preslikavanja većeg broja klasa saobraćaja u i isti bafer virtelnog kanala. Ograničavanjem broja

Page 67: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

64

virtuelnih kanala smanjuje se cena uređaja. Način na koji će vršiti preslikavanje klasa saobraćaja u odgovarajuće virtuelne kanale, konfiguriše sistemski softver, pomoću konfiguracionih registara. Aplikativni softver određuje klasu saobraćaja za TLP pakete. U najprostijem slučaju, za svaku klasu saobraćaja postoji poseban virtuelni kanal (preslikavanje jedan-na-jedan).

Razmotrimo primer koji je prikazan na slici 2.37. Konfiguracioni registri kojima se određuje preslikavanje klase saobraćaja u virtuelne kanale, u uređaju A, konfigurisani su tako da se TLP paketi klase saobraćaja od 0 do 2 (TC[2:0]) upisuju u VC0, a TLP paketi klase saobraćaja od 3 do 7 (TC[7:3]) upisuju se u VC1. Registri koji određuju preslikavanje TC u VC u prijemnom uređaju B, moraju se konfigurisati identično kao u uređaju A.

Ako uređaj A npr. treba da pošalje dva paketa, pri čemu je jedan klase saobraćaja 7, a drugi

klase saobraćaja 0, ova dva paketa biće smeštena u bafere VC1 i VC0, respektivno. Arbitražna logika arbitrira između ova dva bafera. Pretpostavimo da je VC1 konfigurisan tako da ima viši prioritet od VC0. Tada će uređaj A uvek slati TLP pakete iz VC1, pre TLP paketa iz VC0.

Na prijemnoj strani, logika koja preslikava TC u VC, dekodira TC polje iz primljenog TLP

paketa, i smešta paket u odgovarajući VC bafer. U ovom primeru TLP paketi koji imaju TC[7:3] šalju se sa višim prioritetom od paketa koji

imaju TC[2:0]. Međutim, svi paketi koji se nalaze u istom baferu šalju se sa jednakim prioritetom bez obzira na TC.

Slika 2.37 Klase saobraćaja i baferi virtuelnih kanala

Arbitraža portova i arbitraža virtuelnih kanala. Ciljevi arbitraže na transakcionom sloju su:

• da omogući različito opsluživanje za različite tokove podataka unutar PCI Express strukture;

• da obezbedi zagarantovanu propusnost sa determinističkim i najmanjim mogućim kašnjenjem pri prenosu sa jednog kraja na drugi.

U komutatorima se koriste dva tipa arbitraže za svaki izlazni port: arbiraža portova (Port

Arbitration), i arbitraža virtuelnih kanala (VC Arbitration). Posmatrajmo sliku 2.38.

Page 68: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

65

Arbitraža portova predstavlja arbitražu između dva paketa koja dolaze na različite ulazne portove, ali se preslikavaju u isti virtuelni kanal (nakon prolaska kroz logiku za preslikavanje TC/VC) na zajedničkom izlaznom portu.

Arbitraža virtuelnih kanala vrši se nakon arbiraže portova. Za dati izlazni port takmiče se paketi

iz svih virtuelnih kanala koji su vezani za taj port. Arbitražom virtuelnih kanala određuje se redosled kojim će se TLP paketi iz različitih bafera virtuelnih kanala, proslediti na Link.

Krajnje tačke i root complex-i sa samo jednim portom ne podržavaju arbitražu portova. Oni

podržavaju samo arbitražu virtuelnih kanala na transakcionom sloju.

TC[2:0] preslikva se u VC0

TC[7:3] preslikva se u VC1

VC1

VC0

Link

VC Arbitraža

VC1 Arb. portova

VC0 Arb. portova

TC[2:0] preslikva se u VC0

TC[7:3] preslikva se u VC1

VC1

VC0

Link

0

Preslika

vanje

TC/VC

za

izlaz

ni port

01

Preslikavanje TC/VCza

izlazni port 02

VC1

VC0

LinkVC0

VC1

Slika 2.38 Arbitraža portova i arbitraža virtuelnih kanala kod komutatora

Upravljanje potrošnjom. Hardver transakcionog sloja samostalno upravlja potrošnjom uređaja kako bi se minimimzirala potrošnja tokom potpuno operativnog stanja. Ovo automatsko upravljanje potrošnjom zove se upravljanje potrošnjom u aktivnom stanju (Active State Power Management), i ne uključuje softver.

Konfiguracioni registri. Konfiguracioni registri uređaja su povezeni sa transakcionim slojem.

Ovi registri se konfigurišu tokom incijalizacije i numeracije magistrala. Takođe ih konfigurišu i drajveri uređaja, a u toku rada može im pristupati operativni sistem. Sloj veze

Blok šema sloja veze data je na slici 2.33. Osnovna funkcija sloja veze jeste da obezbedi integritet podataka prilikom predaje i prijema paketa. Ukoliko, tokom prenosa paketa, dođe do greške, predajnik će biti upozoren pomoću NAK (no acknowledge) DLLP paketa. U tom slučaju, predajni uređaj automatski ponavlja slanje TLP paketa. Zahvaljujući proveri grešaka i automatskom ponovnom slanju (replay) paketa koji su pogrešno primljeni, velika je verovatnoća da će TLP paketi

Page 69: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

66

koje šalje neki uređaj, stići na odredište bez grešaka. Zbog toga je PCI Express arhitektura veoma pogodna za visoko pouzdane sisteme kao što su serveri.

Predajna strana. Pre nego što prosledi odlazni TLP paket sloju veze, transakcioni sloj proverava

da li prijemni uređaj ima dovoljno prostora za smeštanje paketa, korišćenjem mehanizma za upravljanje tokom. Ukoliko utvrdi da prijemnik ima dovoljno prostora za prijem paketa, transkacioni sloj prosleđuje sloju veze paket koji se nalazi u baferu virtuelnog kanala, na dalju obradu.

Razmotrimo sliku 2.39 na kojoj je prikazana logika ACK-NAK mehanizma sloja veze. Sloj veze

zadužen je za generisanje CRC koda TLP paketa, kao i za proveru grešaka. TLP paketu sa transakcionog sloja, dodaju se Link CRC (LCRC), i identifikator sekvence (sequence ID). Sloj veze kopira TLP paket u bafer za ponovno slanje (replay buffer), i šalje TLP paket uređaju B. Na drugoj strani, sloj veze uređaja B proverava ispravnost primljenog paketa na osnovu CRC polja.

Slika 2.39 Mehanizam ponovnog slanja paketa (ACK/NAK)

Ukoliko nema grešaka sloj veze uređaja B šalje ACK (acknowledge) DLLP paket sa identifikatorom sekvence uređaju A. To je znak da je TLP paket uspešno stigao do uređaja B (koji

Page 70: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

67

ne mora da bude i krajnje odredište paketa). Uređaj A zatim, briše TLP paket sa datim identifikatorom sekvence iz bafera za ponovno slanje.

Ako se, pak, detektuje CRC greška u primljenom TLP paketu, tada sloj veze uređaja B, šalje

NAK DLLP paket sa identifikatorom sekvence uređaju A. Sloj veze uređaja A ponovo šalje odgovarajući TLP paket iz bafera za ponovno slanje.

Ukratko, mehanizam za ponovno slanje koristi polje ID sekvence iz primljnih ACK/NAK DLLP

paketa, za uparivanje sa TLP paketima koji se nalaze u baferu za ponovno slanje. Prijem ACK DLLP paketa dovešće do brisanja odgovarajućeg TLP paketa iz bafera. S druge strane, prijem NAK DLLP paketa dovodi do ponovnog slanja TLP paketa.

Ako za dati TLP paket, predajnik primi NAK DLLP paket 4 puta, i ponovo pošalje TLP paket 3

puta, tada sloj veze evidentira grešku, izveštava više slojeve da je došlo do greške i ponovo priprema Link za prenos.

Prijemna strana. Prijemna strana zadužena je za proveru grešaka u primljenim TLP paketima.

Ukoliko nema grešaka, prijemnik šalje ACK DLLP paket udaljenom predajniku. Prijemnik uklanja polja LCRC i ID sekvence, i ostatak paketa šalje transakcionom sloju.

Ako se detektuje CRC greška, prijemnik šalje NAK DLLP predajniku, a neispravni TLP paket

se eliminiše. Prijemna strana sloja veze takođe prima i ACK i NAK pakete od udaljenog uređaja. Ukoliko je

primljen ACK paket, sloj veze obaveštava predajnu stranu uređaja da obriše odgovarajući paket iz bafera za ponovno slanje. Ako je primljen NAK paket, prijemna strana obaveštava predajnu stranu uređaja, da ponovi slanje odgovarajućeg TLP paketa.

Prijemna strana zadužena je i za proveru identifikatora sekvence primljenih TLP paketa, kako bi

se detektovao izostanak nekog paketa, ili poremećaj redosleda TLP paketa. Doprinos sloja veze formiranju TLP i DLLP paketa. Sloj veze dodaje 12-bitno polje ID sekvence

i 32-bitno LCRC polje odlaznom TLP paketu, koji dolazi sa transakcionog sloja. Paket koji se, na taj način dobija, prikazan je na slici 2.40. ID sekvence se koristi za uparivanje kopije odlaznog TLP paketa koji je smešten u baferu za ponovno slanje, sa ACK/NAK DLLP paketom koji je primljen od susednog uređaja. Polje LCRC (32 bita) izračunava se na osnovu svih bajtova TLP paketa, računajući i ID sekvence.

DLLP paket (slika 2.40) je 4-bajtni paket kome se dodaje 16-bitno CRC polje. Osmobitno polje

Tip DLLP paketa ukazuje da li se radi o ACK, NAK, DLLP paketu za upravljanje potrošnjom, ili DLLP paketu za upravljanje tokom. Šesnaestobitno CRC polje izračunava se na osnovu sva 4 bajta DLLP paketa. Primljeni DLLP paketi koji ne prođu CRC proveru, se odbacuju. Gubitak informacije zbog odbacivanja DLLP paketa nadoknađuju sukcesivni DLLP paketi. ACK i NAK DLLP paketi sadrže i ID sekvence (prikazano kao polje Misc. na slici 2.40).

Page 71: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

68

Slika 2.40 Struktura TLP i DLLP paketa na sloju veze

Primer Non-Posted transakcije koji ilustruje ACK-NAK protokol. U nastavku će postupno biti prikazano kako se ostvaruje transakcija čitanja iz memorije, kada uređaji komuniciraju preko komutatora. Na slici 2.41 prikazane su aktivnosti koje se sprovode tokom ove transakcije.

Slika 2.41 Non-posted transakcija na Link-u

Korak 1a: Requester šalje zahtev za čitanje iz memorije (MRd). Komutator prima MRd TLP i na osnovu polja LCRC, proverava da li ima CRC grešaka.

Korak 1b: Ukoliko nema grešaka, komutator vraća ACK DLLP requester-u. Requester briše

kopiju TLP paketa iz bafera za ponovno slanje. Korak 2a: Komutator na osnovu adrese koja je sadražana u zaglavlju TLP paketa, prosleđuje

MRd TLP na odgovarajući izlazni port. Completer prima MRd TLP, i na osnovu polja LCRC, proverava da li ima CRC grešaka.

Korak 2b: Ukoliko nema grešaka, completer vraća ACK DLLP komutatoru. Komutator briše

kopiju TLP paketa iz bafera za ponovno slanje. Korak 3a: Completer proverava da li ima grešaka u primljenom MRd TLP paketu pomoću

opcionog ECRC polja. Pretpostavimo da nema End-to-End grešaka. Completer prikuplja tražene podatke i formira paket odgovora sa podacima (CplD). Komutator prima CplD TLP i na osnovu polja LCRC, proverava da li ima CRC grešaka.

Page 72: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

69

Korak 3b: Ukoliko nema grešaka, komutator vraća ACK DLLP completer-u. Completer briše

kopiju TLP paketa iz bafera za ponovno slanje. Korak 4a: Komutator na osnovu adrese u CplD TLP paketu, rutira paket ka odgovarajućem

izlaznom portu. Requester prima CplD TLP, i na osnovu polja LCRC, proverava da li ima CRC grešaka.

Korak 4b: Ako nema grešaka requester vraća ACK DLLP paket komutatoru. Komutator briše kopiju CplD TLP paketa iz svog bafera za ponovno slanje. Sada requester proverava ima li grešaka u CplD TLP paketu na osnovu opcionog ECRC polja. Pretpostavimo da nema End-to-End grešaka. Requester proverava kod greške u odgovoru. Pretpostavimo da kod odgovora ukazuje na uspešan prenos. Da bi pridružio odgovor i zahtev, requester uparuje polje tag u CplD paketu sa izvornim poljem tag u MRd paketu. Na kraju requester prihvata primljene podatke.

Primer Posted transakcije koji ilustruje ACK-NAK protokol. Sada ćemo opisati kako se

ostvaruje transakcija upisa u memoriju kada uređaji komuniciraju preko komutatora. Na slici 2.42 prikazane su aktivnosti koje se sprovode tokom ove transakcije.

Slika 2.42 Posted transakcija na Link-u

Korak 1a: Requester šalje zahtev za upis u memoriju (MWr). Komutator prima MWr TLP i na osnovu polja LCRC, proverava da li ima CRC grešaka.

Korak 1b: Ukoliko nema grešaka, komutator vraća ACK DLLP requester-u. Requester briše

kopiju TLP paketa iz bafera za ponovno slanje. Korak 2a: Komutator na osnovu adrese koja je sadražana u zaglavlju TLP paketa, prosleđuje

MWr TLP na odgovarajući izlazni port. Completer prima MWr TLP, i na osnovu polja LCRC, proverava da li ima CRC grešaka.

Korak 2b: Ukoliko nema grešaka, completer vraća ACK DLLP komutatoru. Komutator briše

kopiju TLP paketa iz bafera za ponovno slanje. Completer proverava da li ima grešaka u primljenom MWr TLP paketu pomoću opcionog ECRC polja. Pretpostavimo da nema End-to-End grešaka. Completer prihvata primljene podatke. Kod ovog tipa transakcije completer ne šalje odgovor.

Page 73: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

70

Druge funkcije sloja veze. Nakon uključivanja sistema, ili nakon resetovanja, sloj veze inicira

već pomenuti mehanizam za upravljanje tokom. Ovaj proces se odvija automatski na hardverskom nivou, bez učešća softvera. Fizički sloj

Blok šema fizičkog sloja prikazana je na slici 2.33. TLP i DLLP paketi sa sloja veze, šalju se fizičkom sloju. S druge strane, paketi se primaju pomoću fizičkog sloja, i prosleđuju sloju veze.

Fizički sloj se može podeliti na dva dela: logički fizički sloj i električni fizički sloj. Logički

fizički sloj se sastoji od digitalnih kola koja služe za obradu paketa pre nego što se oni pošalju na Link, ili za obradu primljenih paketa, pre nego što se oni pošalju sloju veze. Električni fizički sloj predstavlja analogni interfejs između fizičkog sloja i Link-a. On sadrži diferencijalne drajvere i diferencijalne prijemnike za svaku traku (Lane) pojedinačno.

Predajna strana. TLP i DLLP paketi koji dolaze sa sloja veze, smeštaju se u predajni bafer

logičkog fizičkog sloja. Fizički sloj uokviruje TLP i DLLP pakete Start i End karakterima. Ovi simboli služe prijemniku za određivanje početka i kraja paketa. Na slici 2.43 prikazani su TLP i DLLP paketi kojima su dodati Start i End karakteri. Takođe su prikazane veličine svih polja TLP i DLLP paketa.

Slika 2.43 Struktura TLP i DLLP paketa na fizičkom sloju

Ako PCI Express uređaj podržava prenos po većem broju traka, paketi se dele na bajtove (byte striping), tako da se svaki bajt prenosi po zasebnoj traci, a u skladu sa brojem raspoloživih traka. Tako se istovremeno prenosi veći broj bitova, pa se postiže veća propusnost.

Svaki bajt paketa se zatim, skrembluje. Skrembler je u ovom slučaju, pomerački registar sa

lineranom povratnom spregom (Linear Feedback Shift Register). Cilj skremblovanja kod PCI Express-a NIJE da se informacija o taktu “usadi” u tok podataka, kao što je to slučaj u nekim sistemima, već da se eliminišu bitski oblici koji se ponavljaju (npr. 10101010). Bitski oblici koji se

Page 74: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

71

ponavljaju stvaraju značajne elektromagnetne smetnje na susednim trakama, pa se njihovom eliminacijom smanjuju i smetnje na Link-u.

Dobijeni bajtovi se zatim, kodiraju u 10-bitne simbole pomoću kodera 8b/10b. Osnovna svrha kodiranja 8-bitnih karaktera u 10-bitne simbole jeste stvaranje dovoljnog broja prelaza 1-na-0 i 0-na-1, kako bi se olakšala ekstrakcija takta pomoću PLL-a u udaljenom prijemniku. Dakle, kod PCI Express magistrale ne prenose se taktni impulsi frekvencije 2,5 GHz po zasebnoj liniji, već niz bitova podataka sadrži dovoljno prelaza da omogući prijemniku regeneraciju takta.

Na kraju se 10-bitni simboli konvertuju iz paralelnog u serijski oblik (pomoću paralelno-

serijskog konvertora), i diferencijalno prenose bitskom brzinom od 2,5 Gbit/s. Prijemna strana. Električni deo fizičkog sloja prima paket koji dolazi u serijskom obliku. Serijski

niz bitova najpre se konvertuje u 10-bitne paralelne simbole pomoću serijsko-paralelnog konvertora. Prijemna logika sadrži elastični bafer koji služi za kompenzaciju razlike taktnih frekvencija

predajnika i prijemnika. Naime, serijski niz bitova uzorkuje se i upisuje u serijsko-paralelni konvertor taktnim impulsima koji se dobijaju ekstrakcijom iz primljenog niza bitova. Frekvencija ovog takta jednaka je taktnoj frekvenciji predajnika. S druge strane, najveći deo logike prijemnika taktuje se taktnim impulsima koji se generišu lokalno. Ove dve taktne frekvencije mogu da se razlikuju za najviše 600 ppm. Pomoću elastičnog bafera i skip karaktera (simbola) vrši se kompenzacija ove razlike.

Iz elastičnog bafera 10-bitni simboli se vode u dekoder 8b/10b, kojim se 10-bitni simboli vraćaju

u 8-bitni oblik. Osmobitni karakteri se zatim de-skrembluju, a zatim se logikom za sastavljanje bajtova (Byte unstriping logic) rekonstruišu izvorni paketi.

Priprema Link-a i inicijalizacija (Link Training and Initialization). Još jedna funkcija fizičkog

sloja jeste priprema Link-a i inicijalizacija. To je, zapravo, proces kojim se Link konfiguriše za normalan rad. Ovaj proces odvija se automatski bez učešća softvera, a koriste se paketi fizičkog sloja. Tokom pripreme Link-a i inicijalizacije određuje se i podešava:

• obim Link-a (Link width) • brzina prenosa po Link-u (Link data rate) • obrtanje traka (Lane reversal) • obrtanje polariteta (Polarity inversion) • bit lock za svaku traku (Bit lock per Lane) • eliminacija košenja između traka za Link-ove sa više traka (Lane-to-Lane de-skew)

Obim Link-a. PCI Express arhitektura omogućava povezivanje dva uređaja sa različitim brojem

traka. Tako se npr. uređaj koji ima port tipa x2 može povezati sa uređajem koji ima port tipa x4. Nakon inicijalizacije fizički slojevi oba uređaja određuju i postavljaju obim Link-a na maksimalnu vrednost koju podržavaju oba uređaja, a to je, u ovom slučaju, x2.

Obrtanje traka je opciona karakteristika. Trake su numerisane. Može se desiti da projektant ne

poveže ispravno trake dvaju portova. Priprema Link-a omogućava obrtanje brojeva traka, tako da se oni poklapaju za portove koji se nalaze na suprotnim krajevima Link-a.

Page 75: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

72

Obrtanje polariteta. Priključci diferencijalih parova provodnika, D+ i D-, dvaju uređaja, takođe, mogu biti pogrešno povezani. U tom slučaju vrši se obrtanje polariteta priključaka diferencijalnog prijemnika.

Brzina prenosa po Link-u. Prilikom pripreme Link-a, kao i pri normalnom radu, brzina prenosa

podataka je 2,5 Gbit/s. Međutim, PCI Express 2.0 podržava brzinu prenosa od 5 Gbit/s, a očekuje se da će naredne generacije podržavati brzinu prenosa od 10 Gbit/s. Tokom pripreme, svaki čvor objavljuje svoju maksimalnu brzinu prenosa. Link se inicijalizuje najvišom zajedničkom frekvencijom koju podržavaju oba uređaja na suprotnim krajevima Link-a.

Bit lock. PLL petlja prijemnika rekonstruiše taktne impulse na osnovu primljenih podataka. Kada

se PLL petlja prijemnika sinhronizuje sa taktnom frekvencijom predajnika kaže se da je postignut bit lock.

Eliminacija košenja između traka. Zbog razlika u dužinama linija i različitih karakteristika

drajvera/prijemnika kod Link-ova sa većim brojem traka, simboli koji su istovremeno poslati neće istovremeno stići na odredište. Ova pojava naziva se košenje između linija (Lane-to-Lane skew). Prijemnik mora da bude u stanju da kompenzuje ovo košenje dodavanjem/smanjivanjem kašnjenja za svaku traku pojedinačno.

Upravljanje potrošnjom Link-a (Link Power Management). Normalno, potpuno operativno stanje

Link-a naziva se L0 stanje. Stanja Link-a sa manjom potrošnjom, u kojima se ne prenose paketi su: L0s, L1, L2 i L3. U stanje L0s prelazi se automatski nakon određenog vremena neaktivnosti Link-a. Ulazak i izlazak iz ovog stanja odvija se bez učešća softvera, a vreme izlaska iz ovog stanja je najkraće. L1 i L2 su stanja sa manjom potrošnjom od stanja L0s, ali je vreme izlaska iz ovih stanja duže. Stanje L3 je stanje potpune isključenosti Link-a.

Resetovanje. PCI Express podržava dva načina resetovanja:

• Hladno/toplo resetovanje (cold/warm reset) koje se takođe naziva i fundamentalno

resetovanje, vrši se nakon uključenja uređaja (hladno resetovanje), a može se ostvariti i bez gašenja napajanja (toplo resetovanje). Matične ploče imaju posebnu liniju za ovaj tip resetovanja.

• Vruće resetovanje (hot reset) ponekad se naziva i protokolarno resetovanje, i predstavlja in-band način resetovanja. Generisanje vrućeg reseta inicira softver, a za ovaj tip resetovanja koriste se paketi fizičkog sloja.

Električni fizički sloj. Predajni deo PCI Express uređaja povezuje se sa Link-om pomoću

sprežnog kondenzatora, kao što je to prikazano na slici 2.44. Ovaj kondenzator odvaja naizmenične komponente siganala od jednosmerne. Kapacitivnost ovog kondenzatora kreće se u granicama od 75 do 200 nF. Nominalna vrednost karakteristične impedanse Link-a je 100 Ω diferencijalno, dok je tipična vrednost DC Common mode impedanse je 50 Ω. Završna impedansa mora se prilagoditi karakterističnoj impedansi Link-a.

Page 76: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

73

Slika 2.44 Električni fizički sloj

2.8. Performanse PCI Express sistema i efikasnost prenosa podatka.

Na kraju ovog poglavlja razmotrimo, ukratko, performanse PCI Express sistema i efikasnost

prenosa podataka. U Tabeli 2.6 prikazana je agregatisana propusnost za različite obime Link-ova (ova tabela je već

bila prikazana kao Tabela 2.3, ali je ovde ponovo data zbog preglednosti).

Tabela 2.6 Agregatisana propusnost PCI Express Link-a za različite obime Link-ova Obim PCI Express

Link-a x1 x2 x4 x8 x12 x16 x32

Agregatisana propusnost (GB/s) 0,5 1 2 4 6 8 16

Prilikom izračunavanja agregatisane propusnosti uzet je u obzir overhead koji se unosi

kodiranjem 8b/10b. To praktično znači, da se zbog ovakvog načina kodiranja, broj bitova uvaćava za 25 %.

ACK/NAK protokol i protokol za upravljanje tokom koriste DLLP pakete. Veličina ovih paketa

je fiksna i iznosi 2 dvostruke reči (8 bajta). Međutim, ovi paketi ne umanjuju propusnost sistema u većoj meri. Ostatak propusnosti raspoloživ je za prenos TLP paketa. Overhead TLP paketa iznosi 6-7 dvostrukih reči i čine ga Start i End simboli, ID sekvence, TLP zaglavlje, ECRC i LCRC polja. Ostatak TLP paketa sadrži 0-1024 dvostrukih reči korisnih podataka. Očigledno je, da je efikasnost magistrale veoma mala kada se prenose mali paketi. S druge strane, efikasnost se značajno povećava ako TLP paketi sadrže velike količine podataka.

Paketi se mogu prenositi uzastopno (back-to-back) bez prebacivanja Link-a u neaktivno stanje.

Na taj način može se postići 100 % iskorišćenost Link-a.

Page 77: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

2. PCI Express

74

Komutatori ne unose značajno kašnjenje zbog arbitraže. Osim toga, oni podržavaju i tzv. cut-thorough mod, koji omogućava da se paketi prosleđuju direktno na izlazni port, bez zadržavanja u baferima virtuelnih kanala.

Treba takođe imati u vidu, da je kod protokola deljenja transakcije potrebno dodatno vreme za

pripremu i vraćanje odgovora. To se naročito odnosi na transakcije čitanja, kod kojih su podaci sadržani u odgovoru. Ovaj faktor treba uzeti u obzir prilikom određivanja efektivne performanse magistrale. Posted transakcije upisa poboljšavaju efikasnost strukture.

Page 78: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

Zaključak

U ovom diplomskom radu ukazano je, najpre, na osnovne probleme koji prate brzi U/I prenos. Naime, pri brzinama većim od 1-2 Gbit/s, mnogi fizički efekti otežavaju prenos podataka van čipa. Između ostalih to su efekti koje unosi prenosna linija, kao što su dielektrični gubici i gubici usled skin efekta, intersimbolska interferencija, kao i gubici usled košenja podataka i takta. Ovi efekti mogu se prevazići uvođenjem dodatne logike na čipu za obradu signala, tako da se kompenzuju ovi efekti. Ovakve šeme podrazumevaju preciznu kalibraciju nivoa signala, ekvilizaciju kao i podešavanje faze takta. Za postizanje brzina većih od 5 Gbit/s biće potrebna dodatna sredstva.

PCI Express magistrala, čije su karakteristike opisane u drugom delu ovog rada, takođe koristi

tehnike za kompenzaciju uticaja prenosnih linija na brzinu prenosa. Između ostalih primenjuje se niskonaponski diferencijalni prenos (LVDS), ekvilizacija i prilagođenje. Pored toga, zahvaljujući komunikaciji tipa tačka-ka-tački, opterećenje veze između uređaja svedeno je na najmanju moguću meru. Na ovaj način ostvaruje se propusnost od 2.5 Gbit/s (PCI Express 1.0). Novi standard PCI Express 2.0 koji je predstavljen početkom ove (2007.) godine, omogućava brzinu prenosa od 5 Gbit/s, a očekuje se da će naredne generacije PCI Express arhitektura imati propusnost od 10 Gbit/s. Da bi se ove brzine postigle, najveće promene desiće se na fizičkom sloju PCI Express arhitekture. Pri tom se ne očekuje da viši slojevi dožive neke značajnije promene, osim, ako se one ne odnose na uvođenje novih mogućnosti arhitekture.

Osim neuporedivo veće propusnosti, PCI Express karakteriše veća efikasnost i veća pouzdanost prenosa podataka u odnosu na prethodne generacije magistrala. Značajnu novinu predstavlja proširivost magistrale, koja omogućava projektantima sistema da obim magistrale prilagođavaju konkretnim potrebama. Ova magistrala nudi i neke nove mogućnosti poput kvaliteta usluge (QoS), podrške rada za Hot Plug, i unapređene tehnike za upravljanje potrošnjom.

Serijski prenos podataka i upotreba poruka omogućava smanjivanje broja linija magistrale, čime

se smanjuju dimenzije i cena štampanih ploča, konektora i pakovanja čipova. Cena koja se za sve to plaća je hardverska nekompatibilnost sa prethodnim generacijama PCI

arhitektura. Pa ipak, to ne znači da odmah treba odbaciti stare PCI kartice, jer su i nove matične ploče, koje su zasnovane na PCI Express arhitekturi, opremljene starim PCI slotovima. Prelaz sa PCI na PCI Express ipak se neće desiti preko noći. Proći će još dosta vremena dok se novac uložen u PCI tehnologiju u potpunosti ne otplati, i dok PCI Express tehnologija sasvim ne potisne PCI uređaje.

Naročito ne treba odbaciti stari softver, jer je PCI Express softverski komaptibilna sa

prethodnim arhitekturama. Time je pojednostavljen prelaz sa starih na novu PCI Express arhitekturu.

Ono po čemu se, između ostalog, PCI Express razlikuje od prethodnih arhitektura, jeste i to što

ona nije namenjena nekom ograničenom segmentu tržišta računara. Naprotiv, to je magistrala opšte namene, koja zahvaljujući svojim karakteristikama, pokriva širok spektar primena od stonih i prenosivih računara, preko servera, radnih stanica, sve do embedded i komunikacionih sistema.

Page 79: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

Zaključak

76

Nema sumnje da će PCI Express arhitektura vladati tržištem računara narednih desetak godina. Njen uspon je tek počeo, a mogućnosti koje ona pruža prvi su počeli da koriste proizvođači grafičkih kartica. Postepeno, PCI Express prihvataju i proizvođači drugih perifernih uređaja.

Page 80: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

Dodatak Completer: Uređaj kome se obraća requester. Requester čita podatke iz completer-a, ili upisuje podatke u completer. Root complex i krajnje tačke mogu biti completer-i. Videti requester. Digest: isto što i ECRC (End-to-End CRC) polje - opciono polje u TLP paketima koje služi za detekciju grešaka. Dip: Ulegnuće, pad, podbačaj (u vezi sa impulsima ili frekventnim karakteristikama) Downstream port (port za prenos naniže): Port koji je usmeren od root complex-a (naniže). Svi portovi root complex-a su downstream portovi. Videti upstream port i port. Hand-shake mehanizam: Asinhroni način prenosa podataka, kojim se podaci prenose međusobnim “dogovaranjem” predajnika i priejmnika. Hot Plug/Hot Swap podrška: Mogućnost izmene kartica za proširenje bez gašenja napajanja sistema. Hub Link: Intelova brza magistrala sa malim brojem linija. Koristi se za povezivanje memorijskog hub kontrolera i U/I hub kontrolera kod nekih PCI arhitektura. In-band prenos: Prenos upravljačkih signala u obliku poruka po linijama za prenos podataka, umesto korišćenja posebnih linija (sideband signals). Lane (traka, staza): 1)U prvom poglavlju odnosi se na deo paralelne magistrale kojim se prenosi jedan bit podataka (Data lane). Traku čini jedna ili dve provodne linije, zavisno od izabranog načina prenosa podataka. 2) Skup od dva diferencijalna para provodnika koji se koristi za dvosmerni serijski prenos podataka kod PCI Express magistrale. Jedan par provodnika koristi se prenos podataka u jednom smeru, a drugi par za prenos u suprotnom smeru, čime je omogućen istovremeni prenos podataka u oba smera. Link u najjednostavnijem slučaju sadrži jednu traku, a može ih biti i do 32 (videti Link). Broj traka određuje projektant sistema u zavisnosti od potrebnih performansi magistrale (skalabilnost PCI Express magistrale) Link: Veza koja spaja dva PCI Express uređaja. Link se sastoji od x1, x2, x4, x8, x12, x16 ili x32 para provodnika za svaki smer prenosa podataka. Ovi signalni parovi zovu se trake (videti Lane). U zavisnosti od broja traka Link -ovi mogu biti tipa: x1, x2, x4, x8, x12, x16 i x32. Non-Posted transakcije (transakcije sa odgovorom): Transakcije kod kojih completer, nakon prijema zahteva, šalje odgovor requseter-u. Pri tom se primenjuje protokol deljenja transakcije. Svrha paketa odgovora jeste potvrda prijema paketa od strane completer-a. Osim toga, ovi paketi mogu da sadrže i tražene podatke (ako je u pitanju transakcija čitanja). Non-posted transakcije upisa sadrže podatke u paketu kojim se zahteva upis. Videti Posted transakcije. North bridge (severni most): Jedan od čipova koji čine čip-set nekih PCI arhitektura. Preko North bridge-a se ostvaruje komunikacija između procesora, glavne memorije, grafičke kartice i ostatka

Page 81: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

Dodatak

78

sistema preko PCI magistrale. On sadrži odgovarajuće interfejse za sve navedene tipove komunikacija odnosno magistrala (videti South bridge). Port: Interfejs između PCI Express komponente i Link-a. Sastoji se od diferencijalnih predajnika i prijemnika. Videti upstream port i downstream port. Posted transakcije (transakcije bez odgovora): Transakcije kod kojih completer, nakon prijema zahteva, NE odgovara requseter-u. Time se postiže bolja efikasnost, po cenu toga da requester nema informaciju o uspešnosti prijema paketa od strane completer-a. Posted transakcije mogu, ali i ne moraju da sadrže podatke u zahtevnom TLP-u. Requester: Uređaj koji inicira transakciju u PCI Express sistemu. Root complex i krajnje tačke mogu biti requester-i. Root Complex predstavlja komponentu koja povezuje CPU i memorijski podsistem sa PCI Express strukturom (ekvivalent mostu host-a ili North bridge-u). Može da podržava jedan ili više PCI Express portova. Root complex takođe, sadrži centralne resurse kao što su hot plug kontroler, kontroler za upravljanje potrošnjom, kontroler prekida kao i logika za detekciju grešaka. Root complex vrši incijalizaciju u PCI Express sistemu, tako što numeriše magistrale, uređaje i funkcije. Vrši konfigurisanje PCI Express uređaja. Skin efekat: Kretanje struje neposredno uz površinu provodnika na višim frekvencijama. Skip karakteri: Podaci koji nemaju značaja, ali služe za kompenzaciju razlike taktnih frekvencija predajnika i prijemnika. Skip karakteri funkcionišu tako što omogućavaju prijemniku da povremeno umetne ili ignoriše nulte sekvence podataka (null data sequences), čime se održava približno konstantna efektivna brzina prenosa podataka. South bridge (južni most): Jedan od čipova koji čine čip-set nekih PCI arhitektura. Služi za spregu PCI magistrale sa ISA magistralom, USB i IDE (Integrated Drive Electronics) magistralom (videti North bridge). Swing: Razlika naponskih nivoa između logičke jedinice i logičke nule. Switch (komutator): Logički element koji služi za povezivanje većeg broja PCI Express uređaja. Komutator može biti zaseban element ili može biti integrisan u Root Complex uređaj, čime se dobija višeportni Root Complex. Komutator se može posmatrati kao logički element koji se sastoji od dva ili više logičkih PCI-na-PCI mostova (PCI-to-PCI bridge), pri čemu je svaki most povezan sa po jednim portom. Jedan port komutatora, koji je usmeren ka root complex-u, je upstream port. Svi ostali portovi koji su usmereni od root complex-a (ka uređajima koji se nalaze niže u hijerarhiji) su downstream portovi. Tag: Polje u okviru zaglavlja TLP paketa koje omogućava requester-u da šalje veći broj uzastopnih zahteva completer-u, i da uvek “zna” na koji zahtev se odnosi primljeni paket odgovora. Polje tag u paketu odgovora identično je sa poljem tag u paketu odgovarajućeg zahteva. Upstream port (port za prenos naviše): Port koji je usmeren ka root complex-u (naviše). Svi portovi krajnjih tačaka su upstream portovi. Videti downstream port i port.

Page 82: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

Skraćenice koje su korišćene u ovom diplomskom radu 3GIO - 3rd Generation I/O ACK - Acknowledge AGP - Accelerated Graphics Port CfgRd0, CfgRd1 - Configuration Read (Type 0 and Type 1) CfgWr0, CfgWr1 - Configuration Write (Type 0 and Type 1) COM - Comma Cpl - Completion without Data CplD - Completion with Data CplDLk -Completion with Data - associated with Locked Memory Read Requests CplLk - Completion without Data - associated with Locked Memory Read Requests CRC - Cyclic Redundancy Check DDR - Dual Data Rate DLLP - Data Link Layer Packet ECRC - End-to-End CRC EISA - Extended Industry Standard Architecture FCx - Flow Control DLLP FR-4 - Flame Resistant 4 FSB - Front Side Bus ICH - IO Controller Hub IDE - Integrated Drive Electronics IORd - I/O Read IOWr - I/O Write ISA - Industry Standard Architecture LCRC - Link CRC LPC - Low Pin Count LVDS - Low-Voltage Differential Signaling MCA - Micro Channel Architecture MCH - Memory Controller Hub MRd - Memory Read Request MRdLk - Memory Read Request - Locked access Msg - Message Request without data MsgD - Message Request with data MSI - Message Signaled Interrupt MWr - Memory Write Request NAK - No acknowledge PCI - Peripheral Component Interconnect PCI-XP - PCI Express PCMCIA - Personal Computer Memory Card Industry Association PLL - Phase-locked loop PLP - Physical Layer Packet PMx - Power Management DLLP QDR - Quad Data Rate QoS - Quality of Service RAID - Redundant Array of Independent Disks

Page 83: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

Skraćenice koje su korišćene u ovom diplomskom radu

80

SCSI - Small Computer System Interface SIOM - Server IO Module TC - Traffic Class TLP - Transaction Layer Packet USB - Universal Serial Bus VC - Virtual Channel VESA - Video Electronics Standards Association

Page 84: Diplomski rades.elfak.ni.ac.rs/Papers/Diplomski rad_ PCI Express.pdfse smanjuje cena prelaza sa starih na novu arhitekturu. Ipak, PCI Express nudi i neke nove mogućnosti za čije

81

Literatura [1] Vojin G. Oklobdzija and Ram K. Krishnamurthy (eds.), High-Performance Energy-Efficient

Microprocessor Design, 289-309. © 2006 Springer. Printed in the Netherlands. [2] Ravi Budruk, Don Anderson, Tom Shanley, PCI Express System Architecture, Addison Wesley,

MindShare, Inc, 2005. [3] Ajay V. Bhatt, Technology and Research Labs, Intel Corporation, Creating PCI Express

Interconnect, (31. 1. 2007.) http://www.pcisig.com