Informatikai eszközök zikai alapjai
Párhuzamos kommunikáció Enyingi Vera Atala Fizikus MSc. II. évfolyam
2015. március 18.
1.
Általában a párhuzamos kommunikációról
A párhuzamos kommunikáció során egy adatcsomagot több vezeték felhasználásával egyidej¶leg továbbítunk, és ezeket egymással szinkronizáljuk. 1.1.
A párhuzamos adatátvitel története
Az eredeti 8 bites párhuzamos csatlakozót az IBM fejlesztette ki 1981-ben a mátrixnyomtatókhoz, a gyorsabb adatátvitel reményében. Ez az egybites soros porttal szemben egyszerre tudott 8 bitet, azaz egyszerre egy bájtot átvinni. Ezt a bájtot úgynevezett "handshaking " jelekkel egészítették ki, amelyek mindegyike a saját vezetékén lett elküldve, így biztosítva a zökken®mentes adatátvitelt. A legf®bb hátránya ennek az els® próbálkozásnak (aminek Standard Parallel Port, azaz SPP a neve) a kommunikáció egyirányúsága volt. Az ellentétes irányú kommunikáció (a nyomtató státusjelzése) csak egy pozitív vagy negatív töltés továbbítása volt bizonyos vezetékeken keresztül. Az els® igazán használható kétirányú párhuzamos protokoll az ún. IEEE-1284 volt, amit 1994-ben hagytak jóvá. Ez sikeresen kijavította az addigi hátrányok egy részét: az els® ezek közül abból adódott, hogy a párhuzamos perifériák nem ugyanazt a mechanikai interfészt használták, így a maximális áthidalható távolság 1,82 méter volt. Az új sztenderd a kábelre, csatlakozóra és a elektronikai interfészre is vonatkozott, így átjárhatóságot hozott létre a perifériák között. Így akár 9 méteren át megtartható az adatok sértetlensége, akár a legmagasabb bitrátán is. Ezen felül az új szabvány az igazi kétirányú kommunikációt is lehet®vé tette, bár ebben igazi el®rehaladást az EPP (Enhanced Parallel Port ) jelentett igazán. Az EPP adat ciklusokat használ, ami a kétirányú kommunikáción felül valós idej¶ adatátvitelt tesz lehet®vé a blokk transzferek, író és olvasó operációk keveredésének engedélyezésével. A sebesség is megnövekedett, hiszen míg eddig a párhuzamosítás szoftveres alapon történt, az EPP-ben már hardveres handshake található, ami akár 2 Mbps-os sebességet is lehet®vé tesz.
1
1.1. ábra. IEEE-1284-es szabványú parallel printer port 1.2.
A párhuzamos kommunikáció összehasonlítása a sorossal
A legegyszer¶bben látható el®ny a párhuzamos módszerben a sebesség: ugyanazon adatot, ugyanakkora órajel¶ adóból párhuzamos adatátvitellel n-szer olyan gyorsan lehet továbbítani, mint sorossal (ahol n a párhuzamos erek száma). Azonban a több vezeték értelemszer¶en több pénzbe is kerül, és ahogy n® a kábel hossza, úgy lesz egyre érzékenyebb a rendszer a pontos szinkronizációra. A párhuzamos adatátvitel során sok egyéb hatás is fellép, amelyek a rendszert lassíthatják, ronthatják a hatékonyságát: ilyen a párhuzamos erek közötti interferencia például: az ellenállás és kölcsönös indukció miatt romlik a sávszélesség, ami végs® soron a bitráta romlásához vezet. Ezen felül n® a zaj, így a jel-zaj-arány (SNR, signal to noise ratio ) csökken. Ezek is okozzák a párhuzamos átvitelhez használt kábelek hosszának limitáltságát. 1.3.
A párhuzamos adatátvitel fehasználási területei
F®leg a számítógépen belüli adatátvitelre, illetve közeli eszközök csatlakoztatására használják (nyomtatók: parallel printer port, stb.).
2
1.2. ábra. A soros és párhuzamos adatátvitel sematikus ábrája 2.
Adatbuszok
"A busz vagy sín (hosszabb elnevezéssel buszrendszer vagy sínrendszer) a számítógéparchitektúrákban a számítógép olyan, jól deniált része, alrendszere, amely lehet®vé teszi adatok vagy tápfeszültségek továbbítását a számítógépen belül vagy számítógépek, illetve a számítógép és a perifériák között. Eltér®en a pont-pont kapcsolattól, a busz logikailag összekapcsol több perifériát ugyanazt a vezetékrendszert használva. Minden buszhoz számos csatlakozó tartozik, amelyek lehet®vé teszik a kártyák, egységek vagy kábelek elektromos csatlakoztatását." A számítógép alapvet®en három f® részre osztható: a CPU-ra (Central Processing Unit, központi feldolgozó egység), ami feldolgozza az adatokat, a memóriára, ami a feldolgozásra váró adatokat tárolja, illetve a perifériás eszközökre, amik a külvilággal való kapcsolatot létesítik. A buszok ezeket a részeket kötik össze. A hagyományosabb felépítés¶ rendszereknél a CPU és a memória szorosan össze vannak kötve. Ezek általában szinkronban m¶ködnek, és azonos jelzési rendszerük van. Az ezeket összeköt® busz az egyik jellemz®je a rendszernek, és csak "system bus" (rendszer busz) néven említik. Lehetséges rögtön ehhez a buszhoz kapcsolni olyanokat, amik küls® eszközökkel kommunikálnak. Ekkor azonban fontos arra gyelni, hogy ezek a lokális vagy kiterjesztett buszok ne zavarják meg az eredeti CPU-memória rendszer sebességét. Erre két f® megoldás létezik: az egyik a CPU-nak egy második csatlakozósora, ami képes más 3
sebességet használni más protokollal, a másik pedig olyan irányítók használata, amik az adatokat közvetlenül a memóriába írják. Azonban a küls® eszközök számának gyarapodásával ezek a módszerek nem bizonyultak praktikusnak, így buszrendszereket alakítottak ki, amik több perifériás eszközt tudnak kezelni. Ennek az egyik példája a SATA (Serial ATA, ATA: AT Attachment, AT: Advanced Technology), amit merevlemezek csatlakoztatására használnak, ez azonban drága, és felesleges pl. egy egér csatlakoztatásához. Erre fejlesztettek ki sok másik, olcsóbb technológiát, pl. az USB-t (Universal Serial Bus). Ma már a processzorokban beépített memória (cache) található, ami szükséges a megnövekedett sebesség követéséhez. Ekkor a küls® memóriával olyan protokollokkal kommunikál a CPU, ami korábban perifériás eszközökre volt kifejlesztve, így a korábban bevezetett bels® és küls® busz fogalmak már nem egyértelm¶ek. A buszok lehetnek párhuzamosak, vagy sorosak. 3.
Az IEEE-488 m¶szervezérl®
Az IEEE-488 (IEEE : Institute of Electrical and Electronics Engineers ) az egyik legnépszer¶bb szabvány a m¶szerezés és vezérlés területén, amit egyszer¶ségének és rugalmasságának köszönhet®. Ismert neve még: HP-IB (Hewlett Packard Interface Bus ), GPIB (General Purpose Interface Bus ).
3.1. ábra. Az IEEE-488 csatlakozója
3.1.
Története
Az els® terveket 1965-ben készítette a Hewlett Packard (HP) mér®eszközökhöz: innen származik a HP-IB elnevezés. Az akkori technológiával könnyen kezelhet® volt akár TTL-ekkel is (tranzisztor-tranzisztor logika), mikroprocesszor nélkül. 4
A szabvány 1975-ben került elfogadásra IEEE-488/1975 -ös kóddal. Ekkor, és a három évvel kés®bbi (1978-as: IEEE-488.1-1987 ) módosításkor a mechanikai-, elektronikusés alapvet® protokoll-paramétereket állapították meg, de nem határozták meg a parancsok formátumát, vagy az átvitt adatokat. 1987-ben bevezették a következ® módosítást ("Standard Codes, Formats, Protocols, and Common Commands" ), amit 1992-ben felülvizsgáltak. Ekkor született meg az IEEE-488.2, amiben szerepeltek például az alap szintaxis, formátum konvenciók, eszközfüggetlen parancsok, adatstruktúrák, hibaprotokollok. Azonban különleges, eszköz-specikus parancsok továbbra is változhattak gyártótól függ®en. A HP és az Amerikai Légier® felismerte ezt a problémát, és 1989-ben a HP kidolgozta a TML nyelvet, ami az SCPI (SCPI, Standard Commands for Programmable Instrumentation ) el®futára volt, utóbbi 1990-ben lett szabvány. amiben már szerepelnek a standard paracsok és programozható m¶szerezettség, ezáltal teljesen kompatibilissá és kongurálhatóvá válnak a különböz® eszközök, így nem szükséges különböz® parancsrendszer elsajátítása, és az eszközök könnyebben helyettesíthet®k. 3.2.
Jellemz®k
Az átvitel 8 bites, párhuzamos formában történik, 16 jel-éren (8 az adatátvitelre, 3 a "handshake"-re, 5 a busz kezelésre), illetve 8 föld vonalon. Half-duplex módon, azaz mindkét irányban engedélyezett a kommunikáció, azonban az egyszerre csak egy irányban történhet. A bináris kód "unipolar, non-returnto-zero" módszerrel továbbított, ami azt jelenti, hogy az 1-ek valamilyen szignikáns állapottal jellemezhet®ek (általában pozitív feszültséggel), a 0-ák pedig egy másik szignikáns állapottal (általában 0 V feszültséggel), de nincsen más semleges, vagy nyugalmi helyzet. Ez nem egy önid®zít® jel, így külön szinkronizáció szükséges, hogy elkerüljük a "bit slip"-et. Az adatátvitel aszinkron, azaz nem használunk külön id®zít®jelet, viszont az adatok közé olyan információt helyezünk, ami jelzi, hol kezd®dnek, és hol végz®dnek az adatok. A GPIB egy pont-több pont kapcsolat (busz rendszer). A rendszer maximális átviteli sebessége 1 Mbyte/sec, a kábel maximális hossza 20 méter, két egység között maximálisan 2 méter. Minden eszköznek van egy 5 bites els®dleges címe (0-tól 30-ig, azaz 31 lehetséges cím létezik). A szabvány összesen 15 eszköznek engedi egy zikai busz használatát. Lineáris, vagy csillag topológia alakítható ki vele. 5
3.2. ábra. A vonalak felosztása Az irányítás és az adatátvitel elválasztott funkciók: egy irányító eszköz kijelölhet eszközöket "hallgatónak", amik az adatokat felveszik (egyszerre több is lehet, ugyanazt az adatot fogadják), más eszközöket pedig "beszél®nek", amik az adatokat a buszra töltik (ebb®l egyszerre csak egy aktív lehet). A vezérl® lehet hallgató, beszél®, de nem kell feltétlenül részt venni az adatátvitelben. Egyszerre egy vezérl® lehet aktív. Az eredeti protokoll szerint háromvezetékes ready-valid-accepted (kész-érvényes-elfogadott ) handshake-módszert használ. A három vonal: (Data Available ): beszél® jelzése, érvényes adat a buszon
•
DAV
•
(Not Ready For Data ): hallgató(k) jelzése, még nem kész a következ® adat/parancs fogadására NRFD
6
3.3. ábra. Önid®zít® jel
3.4. ábra. Jelfajták •
(No Data Accepted ): hallgató(k) jelzése, nem vették még a buszon lév® adatot/parancsot NDAC
Átvitel az NRFD hamis állapotánál indulhat meg, ekkor NDAC igaz szinten van. A beszél® a buszra helyezi az adatot, majd DAV-ot aktiválja. Ez az állapot fenn kell maradjon addig, míg NDAC hamis szintre nem kerül. Ekkor a hallgatók vették az adatot, a beszél® megszünteti a busz meghajtását. A hallgatók a feldolgozás végéig NRFD-t igaz szintre állítják, majd a feldolgozás végeztével hamisra, így indulhat a következ® ciklus.
7
3.5. ábra. Lineáris és csillag topológia
3.6. ábra. Handshake ciklus 4.
Hivatkozások • Elektronikus m¶szerek, IEEE488 m¶szervezérl® BUS-rendszer http://www.
muszeroldal.hu/measurenotes/IEEE488_busz.pdf • WikiBooks - Communication Networks http://en.wikibooks.org/wiki/Communication_
Networks/Parallel_vs_Serial • B&B Electronics Parallel communication overview http://www.bb-elec.com/
Learning-Center/All-White-Papers/Serial/Parallel-Communication-Overview. aspx
8
• Yurcik, William J. "Serial and Parallel Transmission." Computer Sciences.
2002. Encyclopedia.com. 15 Mar. 2015 http://www.encyclopedia.com/doc/ 1G2-3401200276.html. • History of GPIB http://sine.ni.com/np/app/main/p/ap/ictrl/lang/en/
pg/1/sn/n17:ictrl,n21:25/fmid/5995/ • Wikipedia, IEEE-488 http://en.wikipedia.org/wiki/IEEE-488 • Wikipédia http://hu.wikipedia.org/wiki/Busz_(informatika) és http:
//en.wikipedia.org/wiki/Bus_(computing)
9