You are on page 1of 14

FAKULTET ELEKTROTEHNIKE I RAUNARSTVA

Zavod za elektronike sustave i obradu informacija












Sustavi za praenje i voenje procesa






Seminarski rad

Mreni procesori

30. svibnja 2005.














Hrvoje Kalini
0036387298
1
Sadraj


Sadraj ................................................................................................................. 1
Apstraktno ........................................................................................................... 2
Problem ................................................................................................................ 3
Mreni procesor ................................................................................................... 5
Osnovne (ope) funkcije mrenog procesora ................................................... 5
Tipovi aplikacija ugraenih u mrenim procesorima ...................................... 6
Znaajke arhitekture mrenih procesora ....................................................... 7
Summa summarum ............................................................................................ 10
Zakljuak ........................................................................................................... 11
Dodatak .............................................................................................................. 12
Literatura ........................................................................................................... 13
2



















Apstraktno

U tekstu je prikazan problem zbog kojeg je dolo do razvoja mrenih procesora, u grubo su
objanjeni nedostaci prijanjih tehnologija ta varijacije koje su dovele do razvoja mrenih
procesora kakvi se koriste danas.
Dalje se raspravlja o opim funkcijama mrenog procesora, tipinim aplikacijama, te na kraju
i arhitekturi koja se koristi u mrenim procesorima.

Ukratko, ovo je samo kratak uvod u to podruje, za koji sam nastojao da bude to openitiji,
postupno irei definiciju pojma, pokuavajui slijediti i povijesni razvoj.
3
Problem

Gotovo svi ureaji na mrei koriste neke oblike obrade paketa. Ethernet preklopnici (switch-
evi), AMT prekopnici, IP usmjerivai (rout-eri), vatrozidovi (firewalls), ureaji za
presretanje, web serveri, web preklopnici (...) su samo neki od njih. U prolosti, kada je
protok podataka bio relativno sporiji u odnosu na mogunosti procesora, a mreni protokoli
jednostavniji, mreni ureaji su bili izvedeni poput programa koji su nastanjivali procesore
ope namjene (i njima bili pokretani). No, kao se poveavao protok podataka, a time i zahtjevi
za sloenijim mrenim protokolima brzina sabirnice i takta procesora ope namjene je bila
ubrzo premaena.

Naravno, moemo postaviti pitanje kao je mogue da imamo problem s brzinom, s obzirom
da je ope poznato da je brzina razvoja novih tehnologija u siliciju iznimno brza.

Odgovor moemo vidjeti na Slici 1 gdje je prikazano kako frekvencijski pojas optikih
vlakana raste i veom brzinom no razvoj silicija.


Slika 1. Usporedan rast brzine procesora i komunikacijskih kanala

Rast poluvodikih komponenti je ve legendaran pa je moda zapanjujue da neka druga
tehnologija moe nadmaiti taj rast. Slika 1 pokazuje rast brzine takta procesora u usporedbi s
brzinom protoka podataka kroz mreu u posljednjem desetljeu 20og stoljea. Zanimljivo je
primijetiti da se brzina takta procesora poveala za 12 puta dok se brzina mree poveala za
240 puta. Daljnji eksponencijalni rast se oekuje prvenstveno iz razloga to su temeljne
barijere dovoljno udaljene.

Drugi razlog moemo pronai u sve sloenijim protokolima, veim zahtjevima na mreu,
raznim aspektima sigurnosti (...) dakle, rast sloenosti obrade paketa, jednako kao i njihovoj
koliini.

Danas, u jezgri mree postoje sustavi brine i do 10Gbps, a pojavljuju se i brzine do 40Gbps.
Pristupne i rubne mree rade na brzinama do 1Gbps, pa ak i do 2.5Gbps. Smjer u razvoju
dananjih mrea okrenut je prema sve sloenijim protokolima i dodatnim uslugama. Neke od
navedenih usluga ukljuuje poboljanje kvalitete usluge (QoS), sigurnost, i poznavanje s IPv6
protokola. Navedena unaprjeenja zahtijevaju znaajnu procesorsku mo, koja u veini
sluajeva nadilazi sposobnosti procesora ope namjene. Donedavno je jedino rjeenje bilo u
4
ASIC
1
procesora. No koritenje ASIC-a znailo je odricanje programibilnosti nautrb brzini i
procesorskoj snazi. To je kompromis u kojem svakako gubimo. To je postalo jasno daljnjim
razvojem mrea koje su posebno na svojim rubnim i pristupnim dijelovima mora biti
prilagodljiva, da bi i noviji protokoli mogli biti podravani. To zahtjeva odreeno dozu
programibilnosti, da bi mreni ureaji mogli biti unaprijeeni tokom svog rada na mrei. To
je neto to ASIC ne omoguava. Uz to, razvojno vrijeme ASIC sklopa je dugotrajno
nadmauje 18 mjeseci u veini sluajeva. S obzirom na brzinu razvoja mrea, zahtjevi na
razvoj takvog sklopa su da mora biti raen u najnaprednijim sub-mikronskim tehnologijama
to dodatno komplicira razvoj (s obzirom na pouzdanost novih tehnologija) i, naravno,
dodatno poveava vrijeme razvoja. Takoer bitno je napomenuti da ti isti razlozi uzrokuju i
implementaciju sklopa na veoj povrini silicija, a sve to zajedno, naravno, pridonosi i
poveanju cijene. Tako dugi razvojni ciklusi zahtijevaju preciznije predvianje mrenih
protokola koje e trebati podrati u trenutku kada izau na trite. To naravno, obino
rezultira mijenjanjem proizvoda tokom samog razvojnog procesa. Ako tome pribrojimo
mogunost da protokol nije doraen ili u potpunosti definiran, problemi kao da niu na
svakom koraku. Takoer, da bi proizvodnja bila isplativa, potrebno je imati velike serije. to
je za namjenske sklopove kao to je ASIC dosta tee ispuniti.
Kao drugo rjeenje samo nam se namee u ovom trenutku FPGA sklopovlje. FPGA
sklopovlje ima krai razvojni ciklus no ASIC, no ipak dui, s obzirom na programsko rjeenje
ugraeno u procesorima ope namjene. Kao glavni nedostatak i FPGA sklopovlja moemo
navesti visoku potronju i cijenu. Fiksna arhitektura FPGA sklopa je takoer nedostatak za
sloenije i bre aplikacije, takoer FPGA nema toliku propusnost kao ASIC, a takoer i
manju unutarnju memoriju.


Slika 2. Usporedne karakteristike razliitih familija procesora



1
Eng. Application Specific Integrated Circuit Integrirani krug dizajniran s posebnom namjerom, s
jedinstvenim funkcijama ugraenim u sebe. Koristi se s namjerom da se povea brzina obrade podataka, smanji
potronja energije ili cijena.

5
Zbog svih navedenih razloga, postaje jasno da ureaj koji nam je potreban za obradu paketa
na mrei treba biti programibilan, uz zadovoljavanje specifinih zahtijeva mrenih aplikacija.
Slika 2
2
prikazuje usporene karakteristike razliitih familija procesora u ovisnost o njihovoj
fleksibilnosti i performansama. Fleksibilnost moemo dobiti veom programibilnou sklopa,
bolje performanse arhitekturo.

Takav ureaj je poznat pod nazivom mreni procesor.




Mreni procesor

Jednostavna definicija mrenog procesora moe izgledati neto poput:

Mreni procesor je programibilni ureaj posebno dizajniran s namjerom da obrauje podatke
mrenom brzinom.

Naravno, to nam ba i ne govori mnogo o tome to to mreni procesor tono obrauje i koje
su njegove funkcije. Stoga emo se prvo tome posvetiti malo panje.


Osnovne (ope) funkcije mrenog procesora

U svojoj opoj namjeni kao procesor mrenih paketa mreni procesor ima neke tipine
znaajke koje ukljuuju:

Izdvajanje obrazaca (uzoraka) (eng. Pattern Matching)
Sposobnost da pronalazi odreene uzorke bitova (ili bajtova) unutar paketa, to mu
omoguava da klasificira tipove paketa. To je bitno npr. ukoliko treba odluiti je li
paket IPv4 ili IPv6 tipa.

Pogledavanje po kljuu (eng. Key Lookup e.g. Address Lookup)
Sposobnost brzog pregledavanja baze podataka koristei klju (najee adresu
paketa), a u svrhu pronalaenja bitnih informacija, najee o usmjeravanju.
Podatke pregledava obino u vlastitoj tablici koja moe biti i dio unutarnje kao i
vanjske memorije. Za mala polja to moe biti i tablica 1na1 koja zahtjeva samo jednu
provjeru, no za velika polja mogu se zahtijevati viestruke provjere zbog pretraivanja
po stablu. Tipina provjera se odnosi na provjeru odredine adrese s namjerom da se
odredi adresa sljedeeg skoka.

Obrada podataka (eng. Data Manipulation)
Promjena podataka sadranih u paketu, tokom njegove obrade.
Neki od primjera zato nam je potrebna ova sposobnost mrenog procesora mogu biti
primjena CRC
3
algoritma (provjera ispravnosti), rastavljanje i ponovno sastavljanje
podataka, zatitno kodiranje ili dekodiranje podataka.


2
Za neto detaljnije karakteristike pogledati tablicu u dodatku
3
Eng. Cyclic redundancy check
6
Menadment nizova (eng. Queue Managment)
Kako se podaci primaju i obrauju tako se za daljnje slanje sortiraju u nizove (queue
4
).
Rasporeivanje u nizove ima svoje prioritete i svaki paket dobiva svoj redoslijed
definirajui na taj nain promet na mrei i prioritete QoS-a.

Kontrola obrade paketa (eng. Control Processing)
Manji procesi koji obrauju pakete kontrolirani su sa vie razine koja ukljuuje
komunikaciju i usklaivanje s ostalim vorovima sustava.

Raunanje


Koristei ope funkcije mrenog procesora, program implementiran kao aplikacija koju
mreni procesor izvrava rezultira komadiem fizike opreme koja obavlja zadanu funkciju.
Stoga na jednom mjestu nabrojimo jo i aplikacije koje se obino ugrauju u mrene
procesore




Tipovi aplikacija ugraenih u mrenim procesorima

Filtriranje ili prosljeivanje paketa ili okvira; dakle, osnovne operacije usmjerivaa
(router-a) ili preklopnika (switch-eva).
Unapreivanje kvalitete usluge (eng. QoS) identificiranje razliitih tipova ili klasa
paketa i posebno obraivanje tih tipova i klasa nautrb nekih drugih tipova i klasa.
Dakle, kontroliranje vjerojatnosti da se odreeni paket obradi.
Kontrola pristupa odluivanje hoe li se odreenom paketu (ili nizu paketa)
dopustiti prijelaz preko tog dijela mrene opreme.
Zatitno kodiranje toka podataka (eng. Encryption of data streams) ugraeni
mehanizmi koji na fizikoj osnovi omoguavaju kodiranje individualnim (zasebnim)
tokovima podataka.

















4
Queue dolazi od latinske rijei cauda, koja znai rep.
7









Promotrimo takoer i neke
znaajke arhitekture koje
su proizvoai mrenih
procesora usvojili, s namjerom
da postignu eljene performanse.














Znaajke arhitekture mrenih procesora

U definiciji mrenog procesora smo ve spomenuli da mreni procesor programibilan ureaj.
No, programibilne ureaje smo takoer ve spomenuli kao ureaje izvedene na procesorima
ope namjene i primijetili da takvi ureaji nisu pogodni za primjene na mrei, osim, moda,
za najsporije aplikacije, iz razloga to nisu dovoljno brzi. Postavlja se, dakle, pitanje: Po
emu su to mreni procesori toliko razliiti od procesora ope namijene?

Odgovor je da je njihova glavna znaajka mehanizmi viestruke obrade podataka.


Mehanizmi viestruke obrade podataka (eng. Multiple Programmable Processing Engines)
Svojstvo mrenog procesora je da posjeduje vie mehanizama viestruke obrade
podataka (eng. PPEs
5
) ili procesorskih jezgara, za razliku od procesora ope namijene
koji imaju samo jednu jezgru procesora.

Posljednjih godina mnoga kompanije zapoele su rad na vlastitim mrenim procesorima,
jednako poznate tvrtke, kao i mnoge male tvrtke. To je dovelo do raznih arhitektura mrenih
procesora, no svima im je zajedniko to to imaju viestruke jezgre unutar procesora.
Mehanizmi viestruke obrade podataka se iz istog razloga mogu pronai pod raznim nazivima

5
Eng, Programmable Processing Engines
8
i s razliitim funkcijama, ovisno o proizvoau
6
. Neke od izvedbi procesora su bazirane na
RISC
7
jezgrama. No, ope RISC jezgre nisu sasvim pogodne za manipulaciju bitovima, dok je
manipulacija bitova glavna funkcija mrenih procesora. Stoga je manipulacija bitovima
dodavana jezgri RISC-a. Openito mreni procesori bazirani na RISC jezgrama imaju svoje
mehanizme obrade podataka organizirane paralelno, tako da svaki paket koji doe u mreni
procesor je dodijeljen svojoj jezgri procesora, na taj nain da ona vri itavu obradu nad njim.
Takoer mehanizmi viestruke obrade podataka mogu biti organizirani u protonoj strukturi,
ili u kombinaciji protone i paralelne strukture, pa ak i da budu podesive da primjene
najpogodniju kombinaciju paralelno-protone strukture za danu aplikaciju. Kao alternativa
RISC arhitekturi moe posluiti VLIW arhitektura. Procesori s VLIW arhitekturom imaju
vei broj naredbi i stoga rijei njihovih naredbi iznimno dugake odakle im i naziv (eng.
Very Long Instruction Word). No VLIW procesori takoer imaju i prednost da za gotovo
svaku operaciju koju trebaju izvriti imaju naredbu, tako da ak i one sloenije mogu izvesti s
relativno malim skupom naredbi. To se koristi i u dizajnu mrenih procesora. S VLIW
jezgrama mehanizme obrade podataka moemo podijeliti na nain da svakoj jezgri dodijelimo
odreenu zadau. Kao posljedicu toga imamo sluaj u kojemu veinu naredbi u pojedinoj
VLIW jezgri ne koristimo, saimajui na taj nain broj naredbi potrebnih danoj jezgri za
izvravanje zadae. To moe dovesti do znaajnog poboljanja u performansama ukoliko
iskoristimo te posebnosti za optimiziranje mehanizama obrade podataka. Dakle, u ovoj
izvedbi jezgre su organizirane na nain da svaka obavlja tono odreenu funkciju u protonoj
strukturi, za daljnje poboljanje performansi nita nas ne sprjeava da koristimo viestruku
paralelnu protonu strukturu u obradi nadolazeih paketa. No, takva namjenska struktura
pojedinih dijelova VLIW arhitekture ima za posljedicu da su mreni procesori s takvim
jezgrama tei za programiranje i manje fleksibilni. Mnogi mreni procesori, a posebno oni s
arhitekturu baziranom na RISC jezgrama koriste oblike vieprotonosti
8
u svojim
mehanizmima obrade podataka. To je jasno s stajalita poveanja performansi jer se moe
dogoditi tijekom izvravanja naredbe da neka od jezgara treba ekati da se zavri neka druga
operacija. Za primjer nam moe posluiti itanje podataka iz zajednike memorije. Ukoliko
neka druga jezgra upravo ima pristup memoriji, sabirnica je zauzeta, te naa jezgra mora
ekati (svoj red). Neaktivno stanje neke od jezgara je uzaludno troenje procesorskog
vremena koje se izravno oituje na performansama ureaja. Iz tog razloga se koristi
vieprotonost koja omoguava da se vie od jedne zadae izvrava na jednoj jezgri,
prebacujui se s jedne zadae na drugu ukoliko jedna od njih treba ekati na svretak nekog
drugog procesa. Da bi se osiguralo dovoljno brzo prebacivanje izmeu zadaa jezgre mreni
procesor ima sklopovlje koje to prebacivanje ini praktiki trenutnim, to je jo jedna od
razlika prema procesorima ope namjene kojima mora proi odreeni broj instrukcija da bi se
prebacili s zadae ne zadau. Kao, moda jedini nedostatak, u takvom pristupu napomenut
emo da vieprotonost kao i sami viestruki mehanizmi obrade podataka se izravno oituju u
sloenosti koda programa koji se izvravaju na takvom procesoru.

Namjensko sklopovlje (eng. Dedicated Hardware)
Mreni procesori, posebno oni temeljeni na RISC jezgrama, posjeduju posebno
namijenjeno sklopovlje, ili integrirane koprocesore koji slue za obavljanje

6
Eng. Neki od naziva su: micro engines, channel processors, task optimised processor... S obzirom na
turost literature o ovom pojmu na Hrvatskom jeziku, smatrao sam da te nazive nema smisla prevoditi.
7
Procesor s reduciranim setom naredbi (eng. Reduced Instruction Set Computer). Arhitektura RISC-a ima vrlo
jednostavan skup naredbi, stoga, da bi izvrio sloenije naredbe, zahtjeva vei broj operacija.
8
Eng. multithreading, thread- pobijati se, progurati, specifino oznaava i dio programa koji se moe izvriti
sam za sebe. Razlikovati od viezadanosti (multitaskinaga) jer se zadae u tom sluaju mogu bitno razlikovati
jedna od druge. Prevodim taj pojam kao vieprotonost po uzoru na protonu strukturu.
9
uobiajenih funkcija poput pregledavanja po kljuu, menadment nizova, raunanje
CRC algoritma ili zatitnog kodiranja. To dodano sklopovlje takoer moe biti
napravljeno ciljano za jednu (i upravo samo za tu) funkciju.

Suelje prema mrei (eng. Network Interface)
Kljuno obiljeje mrenih procesora je njihovo mreno suelje, kao mjesto gdje paketi
odlaze na mreu i s mree dolaze na mreni procesor.
Neki od standardnih suelja koji se danas koriste su UTOPIA 2 i 3, SPI-3, a za
10Gbps promet SPI4.2.
Takoer SPI4.2 se koristi i kako suelje za izradu preklopnika (eng. Switch Fabric
Interface), s obzirom da se mnogi od mrenih procesora koriste i kao usmjerivai.

Kontrola obrade paketa (eng. Control Processing)
Glavna zadaa mrenog procesora je da obrauje pakete podataka mrenom brzinom.
No, neki od paketa, takozvani kontrolni
9
paketi ne trebaju biti obraeni tolikom
brzinom. To nam pokazuje da neki paketi imaju prioritet pred drugima i zahtjeva nam
obraanje panje na iznimne pakete i preslagivanje redoslijeda obrade. Kontrolni
paketi obino zahtijevaju sloeniju obradu no ostali paketi, te ukoliko budu obraivani
standardnom procedurom u nekoj od jezgri mogu znaajno usporiti protok podataka
kroz nju. Ti podaci su stoga izdvojeni iz uobiajenog toka podataka i proslijeeni
odvojenom procesoru koji nazivamo kontrolni procesor. Taj procesor je obino
odgovoran i za neke druge funkcije poput statistike obrade podataka, a funkciju mu
moe izvravati i procesor ope namijene poput ARM-a. Iako mnogi mreni procesori
imaju integriranu jezgru koja obavlja funkciju kontrolnog procesora, moe postojati i
vanjski procesor ope namjene spojen sabirnicom s ostatkom sklopa. Je li kontrolni
procesor unutar ili van mrenog procesora obino je definirano poloajem mrenog
procesora u samoj mrei. Tako se zbog cijene obino ugrauje u mreni procesor za
mree blie korisniku, dok unutranjost mree (vee brzine) zahtjeva postojanje
zasebnog procesora.

Memorija
Mreni procesor koristi memoriju za pohranjivanje programskog koda, tablica za
pregledavanje
10
, podataka o paketima itd. Iako je izvedivo da memorija bude unutar
mrenog procesora, koliina memorije potrebne u nekim sluajevima ini neizbjenim
da se koristi i vanjska memorija. Namjenska memorija se esto koristi za pohranu
programskog koda, nalazi se lokalno do svake jezgre. Kod potreban za obradu paketa
obino je saet i zbijen tako da memorija potrebna za to moe biti prilino malena,
npr. 4Kbyta po jezgri za mrene procesore s manjim zahtjevima. Nasuprot tome, kod
potreban kontrolnom procesoru moe biti drastino velik, to je izravna posljedica
iznimki koje mora obraditi. Stoga je memorija potrebna kontrolnom procesoru
izvedena kao vanjska, iako e naravno imati neto prirune
11
unutarnje memorije.
Dodatno, osim tog komadia memorije dodijeljenog lokalno svakoj jezgri procesora
postoji i zajednika unutarnja memorija, koju jezgre meusobno dijele.
Veina mrenih procesora ima barem dva suelja prema vanjskoj memoriji, jedno
prema SRAM-u
12
, a jedno prema DRAM-u
13
, dok mreni procesori s veim

9
Eng. control and management packets
10
Eng. lookup tables
11
Eng. cache
12
Eng. Static Random Access Memory
13
Eng. Dynamic Random Access Memory
10
zahtjevima imaju i vie od jednog suelja za svaki tip memorije. Pristup vanjskoj
memoriji je usko grlo u svakoj arhitekturi, stoga proizvoai koriste posljednje
tehnologije da bi omoguili bre pristupe memoriji, neki od primjera su DDR (Eng.
Double Data Rate) ili QDR (Eng. Quadruple Data Rate) SRAM, DDR SDRAM
(Eng. Synchronous DRAM), FCRAM (Eng. Fast Cycle RAM) ili RDRAM (Eng.
Rambus DRAM).

Dosadanji pregled trebao bi nam barem donekle dati uvid u arhitekturu mrenog procesora.
Sve navedene karakteristike arhitekture prikazane su na Slici 3 koja prikazuje opu
arhitekturu mrenog procesora.



Slika 3. Opa arhitektura mrenog procesora



Summa summarum

Kako su rasli mreni protoci podataka pojavio se zahtjev za sve naprednijim mrenim
protokolima, te su se zahtijevali sve bri procesori na mrei. Uskoro je dosegnuto da su
eljene brzine mogli postii samo ASIC sklopovi koji su imali predug razvoj i prekratko
zadravanje na tritu, s obzirom na nedostatak fleksibilnosti. Iz tog razloga su se pojavili
zahtjevi za programibilnim sklopovima to je dovelo do razvoja mrenih procesora.

Mreni procesori ostvaruju svoju prednost zahvaljujui mehanizmima viestruke obrade
podataka koji su ugraeni u mreni procesor kao viestruke jezgre. Takoer sadre i dodatno
sklopovlje koje im pomae u sueljavanju s mrenim prometom.


11
Zakljuak

Moram priznati da je moj odabir teme bio potpuno sluajan, da nisam uope bio upoznat s
ovim pojmom kada sam ga prvi put proitao. Tako da je bio prilian izazov prouiti sve to u
tako kratkom vremenu i odglumiti strunjaka. Nadam se da sam u dome barem donekle uspio.
Takoer, nastojao sam i sve termine prevesti na hrvatski jezik, jer smatram da sam to duan
prema svojoj kulturi, no svjestan sam da bi to svima otealo daljnje istraivanje bilo po
kljunoj rijei bilo po literaturi. Stoga se nadam da sam ostavi dovoljno napomena u tekstu za
sve koji e se dalje baviti ovim pojmom. Takoer, ispriavam se ukoliko sam unio zabunu s
kojim od svojih prijevoda, jer iako sam se trudio da istraim kako su pojedini pojmovi ve
prevedeni na hrvatski jezik, nisam za sve pojmove uspio, dijelom stoga to su oni rijetki autori
koji piu na hrvatskom jeziku ili esto jednostavnijim putem koristei se slang-ovnim
pojmovnikom, ili jednostavno zato to mi nisu dostupni.


Nadam se ujedno da e ovaj tekst svima koji ga budu itali posluiti kao kratak uvod u ovo
podruje. Kao to i rekoh, teko je biti strunjak iz podruja za koje ima manje od mjesec
dana da mu se posveti, tako da su neke stvari sigurno ture, a neke moda prejednostavno
opisane. Toga sam svjestan, no dijelom sam to uinio i namjerno, s namjerom da tekst ve u
prvom itanju bude razumljiv. Nastojao sam u njemu ocrtati nain na koji sam i sam uio o
mrenim procesorima.





12
Dodatak:

13
Literatura:

Herity, Dominic: Network Processor Programming
http://www.embedded.com/story/OEG20010730S0053
http://www.s3group.com/pdf/ESP2001-NP-Programming.pdf

Heppel, Andrew: An Introduction to Network Processors
http://www.roke.co.uk/download/white_papers/network_processors_introduction.pdf

Husak, David: Network Processors: A Definition and Comparison
http://www.mi.chu.edu.tw/~ykchang/cial/IP-Routers/network-processor-definition-
comparison.pdf
http://www.freescale.com/files/netcomm/doc/white_paper/COMMPROCWP.pdf

Intel: Next Generation Network Processor Technologies
http://www.intel.com/design/network/papers/27905001.pdf

De Angelis, G.: A Model Based Approach to Design Applicactions for network Processors
http://pacinotti.isti.cnr.it/ERI/VIworkshop/DeAngelis.pdf

Ostali internet izvori:
http://computing-dictionary.thefreedictionary.com/network%20processor
http://www.intel.com/education/highered/Networking/Lectures.htm
http://en.wikipedia.org/wiki/Network_processor
http://newsroom.cisco.com/dlls/2004/hd_051904c.html

You might also like