0% au considerat acest document util (0 voturi)
1 vizualizări14 pagini

Infrastructura Re Elei: 3.1. Cartela de Re Ea

Documentul discută despre infrastructura rețelei, incluzând componentele esențiale precum NIC, medii de transmisie și echipamente de transmisie a datelor. Se explică funcțiile plăcii de rețea, tipurile de cabluri utilizate (UTP, fibră optică, coaxial) și echipamentele precum repetoare, bridge-uri, switch-uri și routere, fiecare având roluri specifice în rețea. De asemenea, se menționează standardele de transmisie și importanța nivelului 1 și 2 din modelul OSI pentru comunicarea eficientă între calculatoare.
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
1 vizualizări14 pagini

Infrastructura Re Elei: 3.1. Cartela de Re Ea

Documentul discută despre infrastructura rețelei, incluzând componentele esențiale precum NIC, medii de transmisie și echipamente de transmisie a datelor. Se explică funcțiile plăcii de rețea, tipurile de cabluri utilizate (UTP, fibră optică, coaxial) și echipamentele precum repetoare, bridge-uri, switch-uri și routere, fiecare având roluri specifice în rețea. De asemenea, se menționează standardele de transmisie și importanța nivelului 1 și 2 din modelul OSI pentru comunicarea eficientă între calculatoare.
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

3.

Infrastructura re elei
Clien ii, serverele, imprimantele, bazele de date rela ionale, dispozitivele de interconectare formeaz
componentele unei re ele locale. Acestea realizeaz încapsularea i decapsularea datelor pentru a- i
îndeplini toate sarcinile (transmitere mail-uri, editare texte, scanare, acces la baze de date). Continu m
prezentarea tehnologiilor prin prisma modelului OSI.

3.1. Cartela de re ea

NIC (Network
Interface Card) este o
plac cu circuite ce
permite comunicarea în
re ea de la i c tre un
computer. Denumit i
adaptor LAN, ea se
monteaz într-un slot de
extensie sau folosind un
port al pl cii de baz
având un port prin care se realizeaz conectarea în re ea a computerului.
Similar altor dispozitive hardware, cartela de re ea are nevoie de un driver prin care s poat fi
controlat . în cazul în care cartela este plug&play, resursele sunt configurate în mod automat
simplificându-se instalarea. în general, orice cartel de re ea îndepline te urm toarele func ii:
• preg te te datele pentru a putea fi transmise printr-un mediu;
• transmite datele;
• controleaz fluxul datelor de la PC la mediul de transmisie.
Prin re ea datele circul în serie (un bit o dat ), în timp ce în interiorul calculatorului circul în
paralel (16, 32 sau 64 bi i o dat , în func ie de bus-ul sistemului). Prin urmare, cartela de re ea trebuie
s converteasc datele care circul în interiorul PC-ului în format serial.
Pl cile de re ea prezint uneori op iuni configurabile care trebuie setatea pentru buna
func ionare a placii de re ea:
- Intreruperea (IRQ)
- Adresa portului I/O (de intrare ie ire) de baz
- Adresa de memorie de baz

Aceste elemente sunt atribuite i gestionate automat de sistemul de operare Windows pentru
pl cile care suport setarea software a acestor componente.
IRQ – reprezint linia de cerere a întreruperii prin intermediul c reia placa de re ea (sau orice
alt dispozitiv ata at calculatorului) solicit întreruperea sau un alt serviciu microprocesorului
Portul I/O de baz – specific un canal prin care informa ia circul între dispozitivele
hardware ale [Link] este vazut de UC ca o adres . Fiecare dispozitiv trebuie s aib o
alt adres de port I/O de baz . Adresele de port sunt reprezentate de obicei în format hexazecimal.
Adresa de memorie de baza – este o adres care identific în memoria RAM a calculatorului
o zon tampon (buffer) în care sunt memorate temporar cadrele (datele) primite sau transmise de placa
de re ea. Pentru acest parametru trebuie selectat o zon care nu mai este folosit i de alte
dispozitive.

Dup configurarea corect a acestor parametrii (care se face de obicei automat), sistemul de
operare solicit instalarea unui driver, care este o rutin software special scris pentru un anumit tip
de plac (pt. un anumit tip de chip-set folosit pe plac ). Aceast rutin asigur comunicarea între
sistemul de operare i dispozitivul ata at (placa de re ea). Din acest motiv driverele sunt scrise pentru
un anumit sistem de operare i pentru un anumit tip de plac de re ea. Anumite sisteme de operare
ofer drivere standard pentru anumite dispozitive standard ata ate calculatorului.
3.2. Medii de transmisie

Dac PC-ul este dotat cu o NIC, nu înseamn c avem i o re ea. Ca i în cazul telefonului, mai este
nevoie de un element prin care PC-ul nostru s poat fi legat la re ea. în aceast categorie intr mediile
de transmisie. Vom face în continuare o prezentare a principalelor medii de transmisie în func ie de
gradul lor de utilizare în practic .
Unshielded Twisted-Pair (UTP)
Acest mediu de transmisie este format din patru perechi de fire, izolate
între ele. Prin torsadarea perechilor de fire apare efectul de anulare, efect
ce limiteaz degradarea semnalelor din cauza interferen elor magnetice
sau radio. UTP-ul este un cablu u or de instalat (are un diametru de
aproximativ 0,4 cm) i mult mai ieftin decât alte tipuri de cabluri. De i
este considerat cel mai rapid mediu de transmisie bazat pe cupru, este mai
vulnerabil în fa a zgomotelor electrice în compara ie cu alte categorii de cabluri.
Conectorul standard folosit în cazul acestui cablu este RJ-45, asem n tor cu cel de la firul telefonic.
Fibra optic
Tip cablu Utilizare
1
Categoria 1 - 22 sau 24 AWG Telefonie
Categoria 2 - 22 sau 24 AWG Transfer date pîn la 4Mbps
Categoria 3-24 AWG Transfer date pîn la 10 Mbps
Categoria 4-24 AWG Transfer date pîn la 20 Mbps
Categoria 5 - 22 sau 24 AWG Transfer date pîn la 100 Mbps
Fibra optic este mediul care asigur transmiterea
luminii, modulat la o anumit frecven . Comparativ cu
alte medii de transmisie, fibra optic este cea mai
costisitoare, dar nu este susceptibil la interferen e
electromagnetice, asigur rate de transfer mult mai
ridicate decât celelalte categorii de medii si ofera o
securitate maxima a transmisiei.
Cablul fibr optic const în dou fibre de sticl
îmbr cate separat într-un înveli de plastic (materialul se
nume te Kevlar). Cele dou fibre formeaz inima acestui mediu de transmisie, sticla din care sunt
realizate având un grad ridicat de refrac ie.
Cablul coaxial
Cablul coaxial (coax) const dintr-un înveli protector care
îmbrac dou elemente conductoare: un fir de cupru îmbr cat într-un
material izolator i o folie metalic (sau o plas ) ce ac ioneaz ca al
doilea fir din circuit. Acest al doilea element este folosit pentru a
reduce interferen ele externe. Este cablul cu cea mai bun ecranare.
Conectorul folosit de acest tip de cablu se nume te BNC (Bayone-
Neill-Concelman).
Shielded Twisted-Pair (STP)
Cablul shielded twisted-pair (STP) combin trei tehnici legate de transmisia datelor: shielding
(protejarea), cancellation (anularea) i twisted (torsadarea) firelor.
Cablul STP de 100 ohm folosit în re elele Ethernet ofer rezisten
atât la interferen ele electromagnetice, cât i la cele radio, f r a fi un
cablu prea gros. Înveli ul protector folosit în cablul de 150 ohm nu
face parte din circuit a a cum se întîmpl în cazul cablului coaxial.
Chiar dac este mai scump decât UTP (Unshielded Twisted-Pair),
cablul STP ofer protec ie împotriva tuturor tipurilor de interferen e.
Spre deosebire de cablul coaxial, înveli ul protector nu face parte din
circuitul electric. O conectare incorect face ca înveli ul protector s
ac ioneze ca o anten , absorbind semnalele electrice din cablurile aflate în vecin tate.
Wireless
Aceasta categorie include mai
multe tehnologii, insa elementul comun
este ca datele se transmit fata folositea
firelor. Tehnologiile folosite includ:
infrarosu (IrDA), bluetooth, radio.
Raspandirea cea mai mare o au
dispozitivele radio specificate de
standardele 802.11 cu toate versiunile
acestuia (a,b,g).
Prin prisma standardelor IEEE
802.3, Ethernetul folose te doar câteva din
standardele existente în materie de cabluri: 10Base5,10Base2, 10BaseT, 10BaseF, 100BaseF. Nota ia
anterioar înseamn c re eaua folose te o anumit l ime de band , utilizeaz semnalizarea în banda
de baz i poate suporta segmente de diferite lungimi pe diferite medii de transmisie. Vom face o
prezentare sintetizat a acestor standarde.
Standard Mediul fizic L ime de Lungime Topologie fizic Topologie
band segment logic
10Base2 Coaxial sub ire 10Mbps 185 metri Bus Bus
10BaseT UTP categoria 5 10Mbps 100 metri Star/Extended star Bus
10BaseFL Fibr optic multimod 10Mbps 2000 metri Star Bus
100BaseTX UPT categoria 5 100Mbps 100 metri Star Bus
100BaseFX Fibr optic multimod 100Mbps 2000 metri Star Bus
1000BaseT UTP categoria 5 1000Mbps 100 metri Star bus

3.3. Echipamente de transmisie a datelor


Chiar dac acest capitol trateaz
subiecte legate de nivelul 1 OSI, vom extinde
pu in discu ia prezentând i echipamentele
care corespund nivelurilor 2 i 3.

Repetorul
Telegrafia, telefonia (mai ales cea mobil )
folosesc repetoare de semnal pentru a
asigura transmiterea informa iilor la
distan e foarte mari.
Repetorul are rolul de a copia biti
individuali între segmente de cablu
diferite, si nu interpreteaza cadrele pe care le receptioneaza, si reprezinta cea mai simpla si ieftina
metoda de extindere a unei retele locale. Pe masura ce semnalul traverseaza cablul, el se degradeaza si
este distorsionat. Acest proces poarta numele de [Link] sunt utilizate în general pentru
a extinde lungimea cablului acolo unde este nevoie

În corespondenta cu modelul OSI repetorul functioneaza la nivelul fizic, regenerând semnalul


receptionat de pe un segment de cablu si transmitându-l pe alt segment (figura 1).

Repetoarele pot fi single port in - Sistem 1 Sistem 2


single port out, stackable (modulare) sau Aplicatie Aplicatie
multi port (cunoscute mai ales sub denumirea Prezentare Prezentare
de hub-uri). Ele sunt clasificate ca fiind Sesiune Sesiune
componente de nivel 1, deoarece ac ioneaz Transport Transport
doar la nivel de bi i. Scopul unui hub este de a Retea Retea
amplifica i a retransmite semnale, la nivel de Legatura de date Legatura de date
bit, c tre un num r mai mare de utilizatori: Fizic Repetor Fizic
8,16, sau 24. Procesul prin care se realizeaz aceast func ie se nume te concentrare.
Fiecare hub are propriul s u port prin care se conecteaz la re ea i mai multe porturi
disponibile pentru calculatoare. Unele hub-uri au un port prin care pot fi legate de o consol , ceea ce
înseamn c sunt hub-uri gestionabile/cu management. Majoritatea, îns , sunt numite „dumb hubs”,
deoarece doar preiau un semnal din re ea i îl repet c tre fiecare port în parte.
Nivel OSI Unitate de protocol Nivel OSI
Aplicatie Data Aplicatie
Prezentare Data Prezentare
Sesiune Data Sesiune
Transport Segment Transport
Retea Pachet Retea
Legatura de date Frame Legatura de date
Fizic Biti Fizic

Bridge
Bridge sau punte functioneaza pe principiul ca fiecare nod de retea are propria adresa fizica.
Puntea interconecteaza retele LAN de acelasi tip sau de tipuri diferite.
Un bridge se foloseste în situatiile urmatoare:
- extinderea fizica a unei retele LAN;
- interconectarea retelelor locale ce utilizeaza tehnici de control al accesului la mediu diferite.
Unitatea
Desi performantele sunt mai bune decat ale repetoarelor, la introducerea acestor dispozitive in retelele
de calculatoare este introdusa o anumita latenta. Aceasta este datorata timpului de interpretate a
frame-urilor si de luare a deciziilor in legatura cu oprirea sau transmiterea lor care trec prin dispozitiv

Switch-ul
Menirea acestui dispozitiv este Sistem 1 Sistem 2
de a concentra conectivitatea realizata Aplicatie Aplicatie
de bridge-uri, garantând în acela i timp Prezentare Prezentare
l imea de band . Switch-ul este un Sesiune Sesiune
Transport Transport
dispozitiv ce combin conectivitatea
Retea Retea
unui hub cu posibilitatea regulariz rii
Legatura de date Switch (Bridge) Legatura de date
traficului pentru fiecare port facuta de
Fizic Fizic Fizic
bridge. Ca manier de lucru, el comut
pachetele de pe porturile transmi toare c tre cele destinatare, asigurând fiec rui port l imea de band
maxim a re elei. Aceast comutare a pachetelor se face pe baza adresei MAC (adresa placii de retea),
ceea ce face din switch un dispozitiv de nivel 2.

Router
Simbolul routerului descrie foarte Sistem 1 Sistem 2
bine cele dou func ii ale sale: selec ia c ii Aplicatie Aplicatie
de transmitere a informa iilor i comutarea Prezentare Prezentare
pachetelor c tre cea mai bun rut . Sesiune Sesiune
Fizic, routerele se prezint sub o Transport Transport
mul ime de forme, în func ie de model i de Retea Router Retea
produc tor. Componentele principale ale Legatura de date Legatura de date Legatura de date
routerului sunt interfe ele prin care re eaua Fizic Fizic Fizic
proprietar se conecteaz la alte segmente de re ea. Din acest motiv el este considerat un dispozitiv
inter-re ele.
Scopul routerului este s examineze pachetele recep ionate, s aleag cea mai bun cale de
transmitere a acestora i, în final, s le transfere c tre portul corespunz tor. Pentru re elele mari, el
reprezint cel mai important dispozitiv prin care se regleaz traficul re elei. Deciziile routerului, în
ceea ce prive te selectarea c ii de rutare, se iau pe baza informa iilor de la nivelul 3 (adresele de
re ea), motiv pentru care sunt considerate echipamente de nivel 3. De asemenea, ele asigur
conectivitate pentru diferitele tehnologii ale nivelului 2 : Ethernet, Token Ring, FDDI.
4. Nivelul leg tur date
Nivelul 1 joac un rol important în comunica ia dintre calculatoare, dar efortul s u singular nu
este de ajuns. Fiecare dintre func iile nivelului 1 are propriile limit ri, dar acestea sunt eliminate prin
ceea ce se întîmpl la nivelul 2. The Institute of Electrical and Electronic Engineers (IEEE) este
organiza ia profesional care a definit standardele aplicabile în domeniul re elelor de calculatoare:
• 802.1- modul de interconectare în re ea;
• 802.2- controlul leg turii logice (LLC);
• 802.3- re ele LAN cu acces multiplu i cu detectarea purt toarei i a coliziunilor CSMA / CD, sau
re elele Ethernet;
• 802.4- re ele LAN cu transfer de jeton pe magistral (Token Bus);
• 802.5- re ele LAN cu transfer de jeton în inel (Token Ring);
• 802.6- re ele metropolitane (MAN);
• 802.11-re ele f r fir (wireless);
• 802.12-re ele LAN cu prioritate la cerere.

Conform standardului Ethernet, o re ea local este compus din noduri i medii de interconectare.
Nodurile pot fi împ r ite în dou categorii:
• Data terminal equipment (DTE) - sunt echipamentele care func ioneaz ca surs sau destina ie a
cadrelor transmise prin re ea. Cel mai adesea, în aceast categorie intr PC-urile.
• Data communication equipment (DCE) - sunt dispozitive intermediare care recep ioneaz i
transmit cadrele prin re ea. Se includ în aceast categorie hub-
urile, switch-urile, routerele, NIC-urile sau modem-urile.
În timp ce modelul OSI reprezint teoria care a stat la baza
dezvolt rii re elelor, standardele IEEE au ap rut în momentul
în care problemele practice trebuiau rezolvate. Chiar dac
modelul OSI este folosit în continuare, când se vorbe te de
nivelul 2, se au în vedere i cele dou noi componente ap rute
în timp: LLC i MAC :
• Media Access Control (MAC) - realizeaz tranzi ia în jos,
c tre mediul fizic de transmisie.
• Logical Link Control (LLC) - realizeaz tranzi ia în sus,
c tre nivelul re ea.
Subnivelul LLC este independent de tehnologia folosit , în
timp ce MAC este dependent de tehnologia folosit .

4.1. Func iile MAC

Subnivelul LLC a fost introdus de c tre IEEE din nevoia de a asigura independen a tehnologic
a unora dintre func iile nivelului leg tur date. Oarecum inconsistent în serviciile pe care le ofer
protocoalelor de la nivelul re ea, subnivelul LLC comunic cu tehnologiile specifice nivelurilor
dinaintea sa. LLC preia datele protocolului re ea i le adaug mai multe informa ii de control pentru a
transmite pachetele IP c tre destina ie. Pachetul IP astfel reîmpachetat este transmis subnivelului MAC
unde urmeaz a fi încapsulat.

Subnivelul LLC r spunde de


gestionarea comunica iilor între
echipamentele de pe o singur
linie/leg tur a re elei. LLC este definit
prin specifica iile IEEE 802.2,
specifica ii care se refer atât la serviciile
orientate conexiune, cât i la cele f r
conexiune, servicii folosite de
protocoalele superioare.
Subnivelul MAC se ocup de
protocoalele pe care un calculator le
folose te pentru a accesa mediul fizic de
transmisie a datelor. Adresa MAC are o lungime de 48 de bi i i este exprimat în hexazecimal (12
cifre). Primele 6 care formeaz OUI (Organizational Unique Identifîer) sunt administrate de c tre IEEE,
identificând produc torul sau vânz torul produsului. Celelalte 6 descriu num rul interfe ei (Serial
Number Interface) sau o alt valoare administrat de fiecare produc tor sau vânz tor.
Adresa MAC este „scris " în memoria ROM a cartelei de re ea, de unde este apoi copiat în RAM la
ini ializarea cartelei. Prin urmare, dac o cartel este înlocuit , se va schimba i adresa fizic a
calculatorului.
Când un dispozitiv din
cadrul unei re ele Ethernet
încearc s transmit date
c tre alt dispozitiv, va
c uta s deschid un canal
de comunica ie cu acesta, folosind adresa MAC : datele transmise vor transporta i adresa MAC a
destina iei.
Datele sunt insotite, pe langa adresa sursa si cea destinatie, si de o suma de control care poate
permite determinarea starii frame-ului: daca acesta are erori nu va fi transmis mai departe in retea de
catre dispozitivele de nivel 2 si 3 (bridge, swtich sau router).
Pe m sur ce datele traverseaz mediul fizic de transmisie, NIC-ul fiec rui calculator din re ea
verific dac adresa sa MAC corespunde adresei destina ie incluse în pachet. Dac adresele nu sunt
identice, NIC (Network Interface Card – placa de retea) ignor datele din pachet, date ce continu s
circule c tre urm toarea destina ie. Dac adresele sunt identice, NIC face o copie a pachetului cu date i
plaseaz aceast copie în calculator, la nivelul leg tur de date. Pachetul original va continua s circule
prin re ea, c tre alte destina ii, unde se va verifica coresponden a dintre adresele MAC.
Dezavantajul major al adres rii MAC const în faptul c aceste adrese nu au o structur strict
definit : vânz torii au OUI-uri diferite. Altfel spus, adresarea MAC nu este o adresare ierarhic , dup
cum se va vedea c este adresarea IP Pe m sur ce re eaua „cre te", acest dezavantaj devine o
problem major .

Aplicatii ale controlerului Fast Ethernet RTL8139 folosind portul PCI


Aceasta lucrare se dore te a fi un studiu dedicat modului de conectare si al transferului de date
prin portul PCI, realizat de o placa de re ea ce are la baza un chipset Realtek 8139 conectat folosind
magistrala PCI la un calculator PC.
Elemente de introducere in standardul PCI.

In momentul de fata, standardul pentru conectarea de dispozitive periferice este PCI, toate
calculatoarele prezentand acest tip de conectori. Nu intotdeauna a fost insa asa. Voi descrie, in ordine
cronologica, care au fost standardele care au precedat sau au concurat cu PCI, deoarece pentru a-i
intelege avantajele cel mai usor mod de prezentare este cel comparativ.

ISA: Industry Standard Architecture.


Aceasta arhitectura permite conecterea placilor de extensie in calculatoare compatibile IBM. A fost
introdus initial in IBM PC/XT cu un bus de 8 biti, si a fost ectins in 1984, cand IBM a introdus
PC/AT, care permitea un bus de 16 biti. Acestia erau compusi din doua slotuli pe 8 biti placate cap la
cap. Acest bus a fost produs pentru un numar de ani fara un standard anume, pana cand a fost definit
standardul ISA si, simultan, standardul EISA.

EISA: Extended Industry Standard Architecture


Este standardul dezvoltat de Compaq, AST, Zenith, etc., si aduce o standardizare a bus-ului ISA.
Placile EISA folosesc conectori pe mai multe randuri, ca in figura. Conectorii EISA au o cheie care nu
permite inserarea de placi ISA obisnuite suficient de adanc incat sa faca contact cu conectorii EISA
(situati mai jos).

VLB: VESA local bus.


Acest tip de arhitectura a fost introdusa de Video Electronics Standards Association. Standardul
permite conectarea a maxim trei placi de extensie, si permite bus mastering. Arhitectura consta intr-un
conector standard VLB si un conector adi ional pe 16 biti tip Micro Channel Architecture care trebuie
sa fie construit in placa de baza de catre producator. O placa care nu corespunde standardului VLB
poate fi introdusa in slot, insa nu poate efectua operatii de transfer pe bus. Extensia optionala a bus-
ului la 64 de biti nu necesita pini aditionali. Ea foloseste multiplexarea pinilor. Standardul a aparut
pentru a inlocui standardul ISA, insa deoarece a aparut in aceeasi perioada cu standardul PCI, care era
promovat de Intel, a disparut in scurt timp

PCI: Peripheral Component Interconnect.


Acesta specifica ie este introdusa de Intel Corporation si defineste un tip de bus care permite
instalarea a maxim 10 placi de extensie pe un calculator. Pentru a putea fi utilizat, este necesara
plasarea unei placi controler PCI in unul din sloturile disponibile. Un astfel de controler poate
comunica cu procesorul pe 32 sau 64 de biti, in functie de implementare, si permite placilor
specializate sa execute sarcini concurent, printr-o tehnica denumita bus mastering (independent de
CPU). Standardul PCI permite multiplexarea, deci la un moment dat, mai multe semnale pot sa circule
prin bus.

CompactPCI: Standard elaborat de PCI Industrial Computer Manufacturers Group (PICMG) pentru
placi destinate aplicatiilor industriale. Standardul este diferit in multe aspecte fata de PCI, atat prin
conectorul care are si pini si socket, cat si prin design-ul ce permite introducerea si scoaterea placilor
prin panouri frontale. Standardul este orientat atat pentru aplicatii industriale , militare si de preluare
date in timp real, cat si pentru utilizarea in comunicatiile de mare viteza, cum ar fi routere, deoarece
permite hot-plugging (conecterea/deconecterea componentelor in timp de sistemul in care sunt
introduse functioneaza)
AGP (Advanced Graphics Port) este o extensie a standardului PCI care nu este compatibila cu acesta,
permitand placilor grafice sa acceseze memoria direct, precum si o functionare la 66MHz (uneori
chiar mai mult). Poate transfera de 2x, 4x sau 8x ori mai multe date decat PCI in acelasi interval de
timp.

Standardul PCI

PCI (Peripheral Component Interconnect) este un bus capabil sa functioneze la 33MHz pe 32 de biti si
la 66MHz pe 64 de biti. Deja au aparut dispozitive care folosesc extensia acestuia, PCI-X care este
capabil sa functioneze la 133MHz. Ne vom orienta in prezentare mai mult la aspecte de I/O decat la
prezentarea standardului, aspecte care pot ajuta la proiectarea unor placi de dezvoltare PCI. Trebuie
retinut ca datorita frecventei de lucru marite fata de ISA, placile PCI au cerinte de design mult mai
stricte, deci sunt mai greu de reallizat corect.

Bus-ul PCI trateaza toate transferurile ca fiind burst. Fiecare ciclu incepe cu o etapa de
adresare urmata de una sau mai multe etape de transfer de date. Etapele de transfer de date pot sa se
repete la infinit daca nu ar exista un mecanism de temporizare care controleaza timpul cat dispozitivil
PCI poate detine controlul asupra bus-ului. Acest timer este setat de CPU ca parte integranta a
spatiului de configurare PCI. Fiecare dispozitiv are propriul timer. Aceleasi linii sunt folosite pentru
date si adrese. Acest lucru este facut pentru a micsora numarul de pini necesari portului.
Liniile de comanda (C/BE3 pana la C/BE0) indica tipul transferului pe bus in timpul etapei de
adresare:
C/BE Tip Comanda
0000 Interrupt Acknowledge
0001 Special Cycle
0010 I/O Read
0011 I/O Write
0100 reserved
0101 reserved
0110 Memory Read
0111 Memory Write
1000 reserved
1001 reserved
1010 Configuration Read
1011 Configuration Write
1100 Multiple Memory Read
1101 Dual Address Cycle
1110 Memory-Read Line
1111 Memory Write and Invalidate
Tipurile de transfer de baza sunt I/O, memorie si configurare.
Scheme de sincronizare a semnalelor sunt reprezentate mai jos
Ciclu de transfer PCI cu 4 faze de date, fara stari de astepatare, data transferata pe frontul
pozitiv (01) al semnalului de ceas:

Ciclu de transfer PCI cu stari de asteptare. Data e transferata pe frontul pozitiv al ceasului in
A,B si C.

Descrierea ciclilor:
Interrupt Acknowledge (0000)
Controlerul de intreruperi recunoaste automat si reactioneaza la comanda INTA (interrupt
acknowledge). In faza de date, transfera vectorul de intreruperi catre liniile A/D.
Special Cycle (0001)
AD15-AD0 Descriere
0x0000 Processor Shutdown
0x0001 Processor Halt
0x0002 Cod specific x86
0x0003 la 0xFFFF Reservat
I/O Read (0010) and I/O Write (0011)
Operatii de I/O ale dispozitivului. Linile AD contin o adresa pe un octet. (AD0 siAD1 trebuie
decodate). I/O pentru portul PCI trebuie sa fie pe 8 sau 16 biti. PCI permite adresrea unui spatiu de
adrese de 32 biti. Totusi, pe calculatoarele care suporta ISA/EISA, spatiul I/O este limitat la 16 biti
pentru a mentine compatibilitatea. (ISA decodeaza doar 10 biti inferiori de adrese, deci datele se
duplica in memorie in spatiul pe 16 biti!) . Spatiul de configurare PCI poate fi accesat prin porturile
0x0CF8 (Adresa) si 0x0CFC (Data). Portul de adresa trebuie insa scris primul.
Memory Read (0110) and Memory Write (0111)
Operatie de scriere/citire in spatiul de configurare al dispozitivului PCI, de lungime 256 octeti. AD0 si
AD1 contin 0, AD2-7 contin adresele de dimensiune double word, AD8-10 sunt folosite pentru
selectie dispozitiv ce da semnale necorespunzatoare (eronate), iar liniile AD ramase nu sunt folosite.

Multiple Memory Read (1100)


Este o extensie a ciclului de citire din memorie. E folosita pentru citirea de blocuri mari de memorie
fara buffering, lucru care e mai rapid pentru un acces secvential.
Dual Address Cycle (1101)
Doi cicli de adresare sunt necesari cand se folosesc adrese pe 64 de biti, dar numai 32 de biti fizice
exista. Prima se plaseaza cea mai putin semnificativa parte a adresei. Al doilea ciclu mai contine
comanda pentru tipul de transfer (I/O, memorie, etc.). Spatiul de aderse suportat de PCI este de 64 de
biti, dar e limitat de posibilitatile CPU.
Memory-Read Line (1110)
Cilcul e folosit pentru citirea a mai mult de doua blocuri de date de 32biti E mai rapid pentru un acces
secvential lung al memoriei.
Memory Write and Invalidate (1111)
Indica faptul ca minimul de o singura linie de cache va fi transferata. Aceasta permite memoriei
principale sa se updateze, fara a mai fi nevoie de un ciclu de write-back in cache.

Seria de chip-uri RTL8139 produsa de Realtek

Sub denumerea generica de RTL8139 se ascunde o intreaga familie de chip-uri destinate placilor de
retea. Daca in urma cu 2-3 ani placile de retea se construiau pentru ISA, avand dimensiuni mari datorita
componentelor hardware auxiliare necesare functionarii si configurarii, astazi piata se orienteaza spre integrare
si standardizare. In acest sens, aproape toate functiile sunt incluse in chipset, iar compatibilitatea cu standardul
plug-and-play asigura modificarea din software a diferitelor configuratii.
Realtek a urmat aceasta cale pentru toata familia RTL8139 dupa cum se vede in tabelul urmator:

Pentru a reduce costurile,au mai fost implementate: suport pentru boot-are prin retea (pentru a permete
instalarea de statii de lucru fara hard-disk), au fost implementate moduri de operare suplimentare fata de cele
standardizate pentru a permite migrarea unei retele vechi de la 10Mbps catre 100Mbps (sau 200Mbps in modul
full duplex), anumiti pini au functii multiple, etc.

Datorita vitezelor mari de transfer si pentru a reduce la maxim numarul erorilor, se va implementa
chipsetul pe o placa cu filtre bune pentru zgomot si inteferante EMI/EMC atat dinspre exterior, cat si de la
componentele proprii (oscilator) catre bus sau alte periferice.
Asezarea optima in placa de retea este prezentata in urmatoarea schema:

Aici se doresc L1 si L2 cat mai mici, dar trebuie sa se tina cont ca traseele pentru Tx si Rx trebuie sa fie
aproximativ de aceeasi lungime si cat posibil simetrice.
Intr-o eventuala proiectare trebuie sa se ia in considerare faptul ca chipset-ul opereaza optim la 3,3 V,
insa este tolerant la I/O de 5V.
Schemele tipice pentru realizarea unui sistem centrat pe acest chipset, si care sa fie conectat la
magistrala de date printr-un port PCI sunt prezentate in anexa A.
Aplicatie folosind accesarea directa a intreruperilor
si a spatiului de memorie al chip-ului RTL8139

Calea de transmisie a lui RTL8139 foloseste 4 seturi de registri denumiti „descriptor”. Fiecare din ei
are o adresa I/O fixa, si sunt folositi pe rand. In momentul cand un descriptor este scris, operatia PCI incepe sa
transfere pachete in stiva FIFO din memoria specificata de acel descriptor. Stiva FIFO de transmisie are 2ko si
contine datele ce vor fi transmise. Pe masura ce nivelul de transmisie este atins (dimensiunea pachetului) datele
sunt transmise, Valoarea pragului e si ea specificata de descriptor.
Un descriptor are doi registri componenti: TSAD0-3 care contine adresa de inceput a transmisiei si
TSD0-3 care indica starea transmisiei.
Simbolic :

Procesul de transmitere a unui pachet implica:


1. copiere pachet in zona continua de memorie
2. scriere descriptor activ cu: adresa de inceput
buffer si incarcare stare transmisie
3. pe masura ce datele se incarca in buffer, se
depaseste pragul de transmisie si datele sunt
transmise
4. Bitul OWN semnalizeaza incarcarea
intregului pachet in stiva FIFO, iar bitul TOK
indica transmisia intregului pachet pe linia de
retea.
5. Activarea lui TOK determina aparitia unei intreruperi care trebuie stearsa in software

Exemplu de cod folosit:


unsigned char NextDesc(unsigned char CurrentDescriptor)
{
// (CurrentDescriptor == TX_SW_BUFFER_NUM-1) ? 0 : (1 + CurrentDescriptor);
if(CurrentDescriptor == TX_SW_BUFFER_NUM-1) { return 0; }
else { return ( 1 + CurrentDescriptor); }
}
unsigned char CheckTSDStatus( unsigned char Desc )
{
ULONG Offset = Desc << 2;
ULONG tmpTSD;
tmpTSD=inpdw(IOBase + TSD0 + Offset);
switch ( tmpTSD & (TSD_OWN | TSD_TOK) )
{
case (TSD_OWN | TSD_TOK): return TSDSTATUS_BOTH;
case (TSD_TOK) : return TSDSTATUS_TOK;
case (TSD_OWN) : return TSDSTATUS_OWN;
case 0 : return TSDSTATUS_0;
}
return 0;
}

void IssueCMD(unsigned char descriptor)


{
unsigned long offset = descriptor << 2;
outpdw(IOBase + TSAD0 + offset, TxDesc[TxHwSetupPtr].PhysicalAddress);
outpdw(IOBase + TSD0 + offset , TxDesc[TxHwSetupPtr].PacketLength);
}

int SendPacket(PPACKET pPacket)


{
disable();
if( TxHwFreeDesc>0 )
{
TxDesc[TxHwSetupPtr].PacketLength=
CopyFromPacketToBuffer( pPacket , TxDesc[TxHwSetupPtr].buffer);
IssueCMD(TxHwSetupPtr);
TxHwSetupPtr = NextDesc(TxHwSetupPtr);
TxHwFreeDesc--;
enable();
return TRUE; //succes
}
else
{ enable();
return FALSE; //nu mai sunt resurse
}
}
void TxInterruptHandler()
{
while( (CheckTSDStatus(TxHwFinishPtr) == TSDSTATUS_BOTH ) && (TxHwFreeDesc < 4 ) )
{
//acum buffer-ul poate fi eliberat
TxHwFinishPtr = NextDesc(TxHwFinishPtr);
TxHwFreeDesc++;
}
}

Calea de receptie a pachetelor este


organizata ca un buffer in inel.
Acesta este o zona continua de
memorie. Data care soseste este
stocata intr-o stiva FIFO, apoi
mutata in bufferul de receptie cand
este depasit un prag de receptie.
Registrul CBA e cel care tine seama
de adresa datei mutate in buffer.
CAPR este un pointer care indica
adresa datei citite de driver. Starea
receptiei unui pachet este stocata in
header-ul pachetului.
Simbolic:

Algoritmul de receptie al unui


pachet este urmatorul:
1. Data receptionata este scrisa in
stiva FIFO
2. Cand e depasit pragul de receptie,
data este mutata in bufferul de
receptie
3. dupa ce tot pachetul e transferat in
buffer, se scrie header-ul (cu starea
si lungimea) in fata pachetului
4. Este setat bitul CMD (buffer empty) si se activeaza intreruperea corespunzatoare
5 .software-ul sterge bitul setat, pentru a putea continua receptia.

Exemplu de cod folosit:

BOOLEAN
PacketOK(PPACKETHEADER pPktHdr)
{
BOOLEAN BadPacket = pPktHdr->RUNT ||
pPktHdr->LONG ||
pPktHdr->CRC ||
pPktHdr->FAE;
if( ( !BadPacket ) && ( pPktHdr->ROK ) )
{
if ( (pPktHdr->PacketLength > RX_MAX_PACKET_LENGTH ) || (pPktHdr->PacketLength <RX_MIN_PACKET_LENGTH ) )
{return(FALSE);}
PacketReceivedGood++;
ByteReceived += pPktHdr->PacketLength;
return TRUE ;
}
else
{ return FALSE; }
}

BOOLEAN RxInterruptHandler()
{
unsigned char TmpCMD;
unsigned int PktLength;
unsigned char *pIncomePacket, *RxReadPtr;
PPACKETHEADER pPacketHeader;
while (TRUE)
{
TmpCMD = inportb(IOBase + CR);
if (TmpCMD & CR_BUFE)
{ break;}
do
{
RxReadPtr = RxBuffer + RxReadPtrOffset;
pPacketHeader = (PPACKETHEADER) RxReadPtr;
pIncomePacket = RxReadPtr + 4;
PktLength = pPacketHeader->PacketLength; //aceasta lungime include CRC
if ( PacketOK( pPacketHeader ) )
{
if ( (RxReadPtrOffset + PktLength) > RX_BUFFER_SIZE )
{ //sare la sfarsitul lui RxBuffer
memcpy( RxBuffer + RX_BUFFER_SIZE ,RxBuffer,
(RxReadPtrOffset + PktLength - RX_BUFFER_SIZE) );
}
//copiaza pachetul aici
CopyPacket(pIncomePacket,PktLength - 4);//nu copia 4 octeti CRC
//update pt pointerul de citire RxReadPtrOffset
RxReadPtrOffset = (RxReadPtrOffset + PktLength + 4 + 3) & RX_READ_POINTER_MASK;
//4:pt lungime header (PktLength include 4 octeti CRC)
//3:pt aliniere dword
outport( IOBase + CAPR, RxReadPtrOffset - 0x10); //-4:evitare overflow
}
else
{ // ResetRx();
break;
}
TmpCMD = inportb(IOBase + CR);
} while (!(TmpCMD & CR_BUFE));
}
return (TRUE); //final
}

Doua observatii trebuie facute cu privire la aceasta implementare:


- anumite sisteme de operare nu permit lucrul direct cu hardware-ul (windows NT/200/XP) de aceea,
programul nu va functiona pe acestea
- programul este particularizat pe un anumit set de chip-uri. Fisierele header vor trebui rescrise pentru
alte tipuri de chipset-uri, lucru care se poate dovedi destul de dificil.

S-ar putea să vă placă și