VyÜlo v t²denφku: CHIPweek
╚φslo:41/96
Datum:8. °φjna 1996
Strana:22
Rubrika/kategorie: Principy poΦφtaΦov²ch sφtφ
Modul: Zßklady datov²ch komunikacφ
Dφl:5

zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ Φlßnek

Ji°φ Peterka

P°enosov² v²kon

P°enosovß rychlost, kterou jsme se zab²vali v p°edchozφch dφlech tohoto modulu, je veliΦinou kterß °φkß velmi mnoho o schopnostech konkrΘtnφ p°enosovΘ cesty p°enßÜet data. V praxi je ovÜem nutnΘ mφt na pam∞ti, ₧e jde o veliΦinu nominßlnφho charakteru, kterß jeÜt∞ nemusφ vypovφdat p°φliÜ p°esn∞ o tom, jakΘ objemy dokß₧e p°φsluÜnß p°enosovß cesta p°enΘst za delÜφ ΦasovΘ obdobφ.

Jeden ot°el² poΦφtaΦov² vtip, pochßzejφcφ jeÜt∞ z dob sßlovΘ prehistorie, °φkß ₧e nenφ d∙le₧itΘ kolik instrukcφ vykonß urΦit² poΦφtaΦ resp. procesor za sekundu, ale ₧e skuteΦn∞ d∙le₧itΘ je to, kolik jich ud∞lß za t²den, m∞sφc Φi rok. Pointa spoΦφvß v tom, ₧e p°i provozu poΦφtaΦe m∙₧e dochßzet k vÜelijak²m v²padk∙, odstßvkßm a dalÜφm vliv∙m, kv∙li kter²m procesor bu∩ v∙bec nevykonßvß ₧ßdnΘ instrukce (nebo je i vykonßvß, ale tyto jdou na vrub r∙zn²m re₧ijnφm Φinnostem, jako t°eba diagnostice). Cel² vtip pak nßzorn∞ dokumentuje rozdφl mezi veliΦinou nominßlnφho charakteru, jakou je t°eba zmφn∞n² poΦet instrukcφ vykonan²ch za sekundu, a veliΦinou äefektivnφ", kterß vyjad°uje skuteΦn² (u₧iteΦn²) efekt, obvykle sledovan² za urΦitΘ delÜφ obdobφ.

PoΦet instrukcφ, vykonan²ch procesorem za jednu sekundu, je t°eba chßpat p°edevÜφm jako ·daj vyjad°ujφcφ jak dlouho trvß provedenφ jednΘ instrukce - v tom smyslu, ₧e kdy₧ procesor provßdφ svΘ strojovΘ instrukce rychlostφ 1000 instrukcφ za sekundu (nap°φklad), pak provedenφ jednΘ strojovΘ instrukce trvß jednu tisφcinu sekundy. Ani v nßmi zvolenΘm p°φpad∞ procesoru a jeho instrukcφ pak nenφ mo₧nΘ pou₧φt jednoduchou nßsobilku a °φct, ₧e za sekundu jich provede p°esn∞ tisφc. Do hry toti₧ vstupujφ r∙znΘ vlivy, jako nap°φklad DMA p°enosy Φi v²padky blok∙ ve vyrovnßvacφch pam∞tech, a ty mohou v²znamn∞ji prodlu₧ovat dobu kterou trvß provedenφ jednotliv²ch instrukcφ. Pokud bychom tedy sledovali poΦet skuteΦn∞ proveden²ch instrukcφ za delÜφ ΦasovΘ obdobφ, posΦφtali je a pak vztßhli na Φasovou jednotku (nap°φklad sekundu), dostali bychom nejspφÜe pon∞kud jinΘ Φφslo. Hlavn∞ bychom ale dostali veliΦinu äefektivnφho" (pr∙m∞rnΘho, sumßrnφho) typu, kterß ji₧ bere do ·vahy i dalÜφ faktory, ne₧ jen nominßlnφ rychlost provßd∞nφ instrukcφ.

Srovnßme-li si ob∞ veliΦiny - nominßlnφ rychlost provßd∞nφ instrukcφ a efektivnφ poΦet skuteΦn∞ proveden²ch instrukcφ - pak rozm∞rov∞ budou shodnΘ, nebo¥ ob∞ vyjad°ujφ poΦet proveden²ch instrukcφ za sekundu. ╚φseln∞ se ale mohou i dosti v²znamn∞ liÜit, a tato jejich odliÜnost bude odrazem nejr∙zn∞jÜφch vliv∙, kterΘ se v praxi uplat≥ujφ. Je velmi d∙le₧itΘ si uv∞domit, ₧e tyto vlivy mohou p∙sobit ob∞ma sm∞ry - mohou nejen Φφseln∞ sni₧ovat äefektivnφ" rychlost oproti rychlosti nominßlnφ, ale mohou ji stejn∞ tak i zvyÜovat. Nßmi zvolen² p°φklad s provßd∞nφm strojov²ch instrukcφ to umo₧≥uje nßzorn∞ dokumentovat: dneÜnφ procesory velmi Φasto pou₧ivajφ techniky tzv. proklßdßnφ (pipelining), a zpracovßvajφ vφce instrukcφ najednou - nap°φklad jednu prßv∞ zaΦφnajφ, druhou majφ rozpracovanou zhruba z poloviny a t°etφ prßv∞ dokonΦujφ. Jestli₧e takto dochßzφ k trojnßsobnΘmu proklßdßnφ, tj. procesor v ka₧dΘm okam₧iku pracuje na t°ech instrukcφch souΦasn∞ a provedenφ ka₧dΘ instrukce trvß jednu tisφcinu sekundy, pak za tuto jednu tisφcinu sekundy procesor stihne dokonΦit hned t°i instrukce, a za jednu sekundu tak teoreticky stihne provΘst t°i tisφce instrukcφ (odmyslφme-li si na chvφli efekt opaΦn∞ p∙sobφcφch vliv∙). Tak₧e äefektivnφ" rychlost m∙₧e b²t dokonce i v²razn∞ vyÜÜφ ne₧ rychlost nominßlnφ.

P°enosovß rychlost vs. p°enosov² v²kon

Podobn∞ jako k rychlosti provßd∞nφ strojov²ch instrukcφ musφme p°i datov²ch p°enosech p°istupovat i k rychlosti p°enosovΘ. Jde op∞t o veliΦinu nominßlnφho charakteru, kterou je vhodnΘ chßpat jako vyjßd°enφ toho, jak dlouho trvß p°enos jednΘ elementßrnφ jednotky informace, tedy jednoho bitu. Tak₧e kdy₧ se nap°φklad n∞kde n∞co p°enßÜφ rychlostφ 10 Mbps (megabit∙ za sekundu), pak je t°eba tomu rozum∞t tak, ₧e p°enos jednoho bitu zabere jednu desetimili≤ntinu sekundy. Nikoli tak, ₧e za jednu sekundu se p°enese 10 ämega" bit∙, za deset sekund 100 ämega" atd. M∞jme to na pam∞ti, nap°φklad i v souvislosti s Ethernetem.

äEfektivnφ" alternativou k nominßlnφ p°enosovΘ rychlosti je v datov²ch p°enosech veliΦina, oznaΦovanß nejΦast∞ji jako äp°enosov² v²kon" (anglicky: throughput, doslova: propustnost), ale n∞kdy takΘ jako äinformaΦnφ rychlost". Tento druh² mo₧n² nßzev Üikovn∞ vystihuje jednu d∙le₧itou specifiku datov²ch p°enos∙: aby bylo mo₧nΘ p°enΘst urΦit² poΦet äu₧iteΦn²ch" bit∙ (resp. bit∙ vyjad°ujφcφch urΦitou informaci), je nutnΘ ve skuteΦnosti p°enΘst navφc i urΦitΘ re₧ijnφ bity, nutnΘ pro korektnφ fungovßnφ p°enosov²ch mechanism∙. Jde nap°φklad o nejr∙zn∞jÜφ kontrolnφ souΦty, slou₧φcφ pot°ebßm detekce neporuÜenosti datovΘho obsahu p°i spolehliv²ch p°enosech, Φi o r∙znΘ adresy p°φjemc∙ a odesilatel∙, identifikßtory obsahu, hodnoty ΦφtaΦ∙ vyjad°ujφcφch po°adφ atd.

P°enosovß rychlost existenci t∞chto re₧ijnφch bit∙ nebere v ·vahu, zatφmco p°enosov² v²kon ano. P°enosovß rychlost °φkß, jak dlouho trvß p°enos jednoho bitu a nezajφmß se o to, zda jde o re₧ijnφ bit Φi o bit nesoucφ äu₧iteΦnou" informaci. Naproti tomu p°enosov² v²kon ob∞ situace ji₧ rozliÜuje, vÜφmß si pouze äu₧iteΦn²ch bit∙" nesoucφch informace, a vyjad°uje tudφ₧ mno₧stvφ äu₧iteΦn²ch" dat, kterΘ je danß p°enosovß cesta schopna skuteΦn∞ p°enΘst. Navφc jde o veliΦinu äefektivnφho" charakteru, kterß bere v ·vahu pr∙m∞rnΘ chovßnφ vzta₧enΘ k delÜφm Φasov²m ·sek∙m.

ProblΘm je ovÜem v tom, ₧e nenφ nijak lehkΘ exaktn∞ definovat co jsou äu₧iteΦnß" data, a co jsou data re₧ijnφ. Proto je obtφ₧nΘ p°esn∞ definovat i samotn² p°enosov² v²kon, i kdy₧ p°i intuitivnφm pohledu je to vcelku jednoduchΘ. To je z°ejm∞ takΘ hlavnφ d∙vod, proΦ se v b∞₧nΘ praxi s p°enosov²m v²konem moc nepracuje, a mφsto toho se pou₧φvß p°edevÜφm p°enosovß rychlost. M∙₧e to ale mφt ostatn∞ i trochu jinΘ d∙vody, ne₧ jen obtφ₧nost a vßgnost definice p°enosovΘho v²konu: °φci nap°φklad o Ethernetu, ₧e pracuje s p°enosovou rychlostφ 10 Mbps, je jist∞ p∙sobiv∞jÜφ ne₧ prozradit, ₧e jeho p°enosov² v²kon v reßln²ch podmφnkßch b²vß n∞kde mezi 3 a₧ 4 Mbps.

Faktory ovliv≥ujφcφ p°enosov² v²kon

Jak jsme si ji₧ naznaΦili, na p°enosov² v²kon majφ vliv r∙znΘ äre₧ijnφ" bity, p°enßÜenΘ spolu s bity äu₧iteΦn²mi". Krom∞ toho je zde ale celß °ada dalÜφch vliv∙, kterΘ p∙sobφ sm∞rem ke sni₧ovßnφ p°enosovΘho v²konu v∙Φi nominßlnφ p°enosovΘ rychlosti. Jde nap°φklad o asynchronnφ zp∙sob komunikace, p°i kterΘm mohou mezi jednotliv∞ p°enßÜen²mi Φßstmi dat (jednotliv²mi znaky, bloky atd.) existovat libovoln∞ dlouhΘ prodlevy. Ty nominßlnφ p°enosovß rychlost nebere do ·vahy, zatφmco p°enosov² v²kon ano.

P°enosov² v²kon dßle bere do ·vahy nap°φklad fungovßnφ mechanism∙ zabezpeΦujφcφch spolehlivost p°enosu - dojde-li nap°φklad k poÜkozenφ p°enßÜenΘho bloku a ten musφ b²t p°enesen znovu, na p°enosovou rychlost to nemß vliv, ale p°enosov² v²kon to samoz°ejm∞ znateln∞ zmenÜuje.

DalÜφ zajφmav² vliv je mo₧nΘ dokumentovat na ji₧ citovanΘm p°φkladu Ethernetu. Ten poΦφtß s existencφ tzv. sdφlenΘho p°enosovΘho mΘdia, do kterΘho m∙₧e v principu vysφlat kdokoli, ale v praxi musφ za·Φinkovat vhodn² mechanismus, kter² v p°φpad∞ vφcenßsobnΘho zßjmu rozhodne kdo bude moci vysφlat a kdo musφ poΦkat. Ethernet pou₧φvß pro tyto ·Φely p°φstupovou metodu CSMA/CD, jejφ₧ samotnß podstata takΘ zavßdφ urΦitou re₧ii sni₧ujφcφ p°enosov² v²kon oproti nominßlnφ p°enosovΘ rychlosti. Navφc jde o tzv. ne°φzenou p°φstupovou metodu, a jejφ re₧ie p°i zvyÜujφcφ se zßt∞₧i v²znamn∞ vzr∙stß.

Mo₧nosti zvyÜovßnφ p°enosovΘho v²konu

Vedle celΘ °ady äre₧ijnφch" faktor∙, kterß v datov²ch komunikacφch p∙sobφ sm∞rem ke sni₧ovßnφ p°enosovΘho v²konu oproti p°enosovΘ rychlosti, vÜak existujφ i takovΘ vlivy, kterΘ p∙sobφ opaΦn∞. Jde zejmΘna o mechanismy on-line komprese, zabudovßvanΘ do dneÜnφch telefonnφch modem∙. Nap°φklad modemy dle standardu MNP 4 dokß₧φ komprimovat data v pom∞ru 2:1, a modemy vyu₧φvajφcφ standard V.42bis dokonce v pom∞ru 4:1. Jednoduch²m v²poΦtem pak lze zjistit, ₧e nap°φklad pro modem o p°enosovΘ rychlosti 28,8 kbps by p°i maximßlnφ kompresi mohl teoreticky dosahovat efektivnφho p°enosovΘho v²konu 115,2 kbps (ovÜem bez uvß₧enφ vlivu opaΦn∞ p∙sobφcφch faktor∙).

V praxi je ovÜem situace pon∞kud st°φdm∞jÜφ - komprimaΦnφ mechanismy, zabudovanΘ do modem∙, toti₧ musφ fungovat v reßlnΘm Φase, a nemohou tudφ₧ b²t p°φliÜ efektivnφ. TakΘ citovanß ·rove≥ komprese (a₧ 4:1) je spφÜe hornφm odhadem, zatφmco reßln∞ dosahovanΘ ·rovn∞ komprimace b²vajφ ni₧Üφ. Zßle₧φ p°itom i na konkrΘtnφ povaze dat, kterß jsou p°enßÜena - jde-li nap°φklad o soubor, kter² byl zkomprimovßn ji₧ p°ed sv²m p°enosem (n∞kter²m v²konn∞jÜφm kompresnφm prost°edkem), pak pokus modemu o jeho dalÜφ kompresi pomoci ähloup∞jÜφch" kompresnφch prost°edk∙ vede ve skuteΦnosti na jeho zv∞tÜenφ, a tudφ₧ na faktickΘ snφ₧enφ p°enosovΘho v²konu.


zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ Φlßnek
Tento Φlßnek m∙₧e b²t voln∞ Üφ°en, pokud se tak d∞je pro studijnφ ·Φely, na nev²d∞leΦnΘm zßklad∞ a se zachovßnφm tohoto dov∞tku. Podrobnosti hledejte zde, resp. na adrese http://archiv.czech.net/copyleft.htm