Referatai

Programų sąveika su išoriniais įrenginiais

10   (1 atsiliepimai)
Programų sąveika su išoriniais įrenginiais 1 puslapis
Programų sąveika su išoriniais įrenginiais 2 puslapis
Programų sąveika su išoriniais įrenginiais 3 puslapis
Programų sąveika su išoriniais įrenginiais 4 puslapis
Programų sąveika su išoriniais įrenginiais 5 puslapis
Programų sąveika su išoriniais įrenginiais 6 puslapis
Programų sąveika su išoriniais įrenginiais 7 puslapis
www.nemoku.lt
www.nemoku.lt
Aukščiau pateiktos peržiūros nuotraukos yra sumažintos kokybės. Norėdami matyti visą darbą, spustelkite peržiūrėti darbą.
Ištrauka

Programų sąveika su išoriniais įrenginiais Atvira PC sandara leidžia plačiai panaudoti įvairius didinimo adapterius, jungiamus prie standartiniu išorinių sąsajų ar įdiegiamus į jungimo lizdus (magistralių angas): ISA/EISA, PCI, PC Card, MCA, VLB. Programos su adapteriais dažniausiai bendrauja per kreipimosi instrukcijas. Tiesioginiam priėjimui prie atminties ir magistralių valdymui, bendraujant su atmintimi ir įvesties-išvesties prievadais naudojamos pertrauktis. Bendraujant per atmintį, kuriai priskirtas adapteris, nestandartiniai ISA adapteriai naudojami retai, nes atminties paskirstymo schema labai užkimšta (ir pertverta). Nežiūrint į tai, kad PCI įrenginiams rekomenduojama bendrauti per atmintį. PCI specifikoje įdiegti visiško resursų perdiegimo reikalavimai, užimančius bet kokius įrenginius. Ši rekomendacija yra tokia tik dėl procesoriaus x86 architektūriniu ypatumų, kuriuose yra daugybė peradresavimo į atminti galimybių ir tik keletas (tiesioginių ir netiesioginių) – įvesties-išvesties prievadų. Todėl tvarkyklės orientuotos į resursų perkėlimus, jie gaunami daug efektyvesni kai atmintyje pertvarkomi visi įvesties-išvesties registrai (memory mapped I/O). Beje atmintis daug didesnė – 4 GB lyginant su 64 KB, suskirstyti skersai ir išilgai tradiciniais PC registrais lygintųjų kompiuterių. Duomenų perdavimo metodai Duomenų perdavimui iš programos į išorinį įrenginį naudojami skirtingi metodai: ▪ programos valdomi mainai; ▪ įvesties-išvesties programavimas; ▪ mainai DMA kanalu; ▪ mainai tiesioginio magistralės valdymo režime. Pirmieji du metodai leidžia tiesiogiai keistis duomenimis su įrenginiu – visi duomenis keitimosi su įrenginiu metu, praeina per procesorių. Sekančiuose dviejuose mainai su įrenginiu vyksta asinchroniškai, naudojamos programos atžvilgiu kuri gauna ir perduoda duomenis tik per buferius, kurie išdėstyti operatyvinėje kompiuterio atmintyje. Duomenų perdavimo metodas paprastai pasirenkamas atsižvelgiant į praleidimo galimybių reikalavimus, įvykiui atlikti reikalinga laiką, procesus vykstančius adapteryje, leidžiamas procesoriaus apkrovimas. Kalbant apie programiškai valdomus mainus turima omenyje sekantys vykdomi veiksmai (žingsniai): 1. Įrenginio registro būsenos skaitymo operacija analizuojant jo pasirengimą; 2. Pasirengimo laukimas (prieš tai buvusio žingsnio užciklinimas); 3. Reikiamas baitų ar žodinių duomenų pasikeitimas. Tokie mainai labai apkrauna procesorių, ypatingai jei programa sudaro ir valdo mainų signalus. Pvz.: paralelinės jungties tvarkyklė dirba standartiniame režime, kai duomenų strobas formuojasi dviem OUT instrukcijomis. Tokios jungties praleidimo galimybės rezultatas, priklauso nuo procesoriaus galingumo gali būti apie 150 KB/s. Jei procesorius užkraunamas nuo analizės pasirengimo ir strobo formavimosi, kaip pvz. EPP – paralelinės jungties režime, tai jungties galimybes galima gerokai padidinti. Bet tokį mainų režimą nekorektiška vadinti programa valdoma – tai jau vadinama programinio įvesties-išvesties su aparatiniu srauto valdikliu, kai mainų greitį nustato prijungtas įrenginys. Programinių mainų režimas PIO (Programmed Input/Output), persiunčiant baitų blokus, žodžius ar dvigubus žodžius tarp atminties ir įvesties-išvesties jungties, nustatytas blokinio persiuntimo instrukcijomis REP INS/OUTS. Šiom instrukcijom užduodamas pradinis atminties adresas, bloko ilgis, jungties adresas ir atminties adreso pasikeitimo kryptis (inkrementas ar dekrementas). Blokinio persiuntimo instrukcijos ( ir PIO mainai) pasirodė su 80286 procesoriumi. Persiuntimai atliekami greitai, perdavimo greitis nustatomas atsižvelgiant į procesoriaus ir magistralės galimybes (dažnius). Mainai PIO režime sėkmingai naudojami ir su ATA (IDE) įrenginiais, su AT mašinomis tai atliekama greičiau nei per standartini DMA kanalą. Kadangi viso PIO greičio, periferiniai įrenginiai dažniausiai priimti negali, sąsajų valdiklis automatiškai įveda laukimo taktus, > mainus iki jam įmanomų (protingu) greičių kurie nustatomi mainų režimo metu. ATA įrenginiams nustatyti Penki režimai, vadinamas PIO Mode su mainų greičiais nuo 3,3 MB/s (PIO Mode 0) iki 22,2 MB/s (PIO Mode 4). 0,1 ir 2 režimuose sinchronizacija su įrenginių nenumatyta – manoma, kad jis privalo suspėti. Režimuose su dideliais skaičiais (greičiais) naudojamas pasirengimo signalas nuo įrenginio per kurį gali būti įvesti papildomi laukimo taktai. ATA įrenginiams PIO režimas užduodamas tada kai inicijuojama valdiklio sąsaja ATA ir suderinama su įrenginio galimybėmis. Tiesioginio priėjimo prie atminties mainai (DMA) procesorius beveik neapkraunamas – juo vykdomos įvedimo-išvedimo instrukcijos priklauso tik nuo analizės būsenos ir DMA kanalo inicijavimo, bet ne pačiam duomenų perdavimui. Vieno užklausimo atlikimo laikas, kai valdiklis > mainams, neviršija šimtų nanosekundžių. Standartinio DMA kanalo greitis ribotas reikšmėmis nuo 2MB/s iki 4 MB/s, priklausomai nuo kanalo iškrovimo. Tiesioginio magistralės valdymo režimo mainai (bus mastering) vykdomi tik valdant intelektualaus valdiklio arba jo iniciatyva, šiuo būdu centrinis procesorius mažiausiai apkraunamas (tuo užsiima tik magistralė). Tiesioginio magistralės valdymo režimo galimybės dažniausiai didesnės nei mainai standartinių DMA kanalu. Valdiklis su tiesioginiu valdymu gali kopijuoti pajungiamų periferinių prietaisų mainus DMA režime, bet efektyviau nei standartiniai kanalai, kas ir atliekama atitinkamuose ATA (IDE) valdikliuose. Progresuojantys DMA režimai leidžia atlikti mainus daug didesniais greičiais - plačiai naudojami Ultra DMA/66 ir diegiami Ultra DMA/100. Šie režimai palaiko manų greitį iki 66 MB/s ir net 100 MB/s. Programų ir prietaisų sinchronizavimas Peržvelgėme pačius duomenų perdavimo būdus, o dabar aptarsime inicijavimo ir sinchronizavimo klausimus. Mainu inicijavimas gali būti atliekamas kaip programos taip ir pačio įrenginio. Programa laukia kokio nors įvykio įrenginyje ( pvz.: bito pasirengimo nustatymo) periodiškai skaitant jo registrų stovį. Šis būdas vadinamas pasirengimo apklausos manais. Reagavimo laikas į įvykį gali būti sumažintas iki mikrosekundžių, kai programa aktyviai užsiima įrenginio apklausa monopoliniame režime. Taigi laukimo momentu procesorius apkraunamas bereikalingu darbu. Kitoks būdas – aparatinių pertraukčių panaudojimas, kurias įrenginys apdoroja veikdamas, reikalaudamas bendradarbiavimo su programa. Programiniai pertraukčių apdorotojai paprastai inicijuoja bet kuriuos iš ankščiau išvardintų blokiniu mainų būdus ar atlieka viena persiuntimo operaciją. Reagavimo į pertraukčių užklausas laikas priklauso nuo daugelio faktorių, tame tarpe ir procesoriaus darbo režimo. Apsaugotame režime pertrauktis priveda prie automatinio procesoriaus turinio išsaugojimo laikinoje informacijos saugykloje (stack) ir užduočių perjungime. Šie veiksmai susiję su intensyvesniais mainais naudojant atminti taip, kad atsiliepimo laikas į pertraukimus gali pasiekti dešimtis mikrosekundžių. O jei į perdavimą įtraukta ir vidinė atmintis tada skaičiuojama dešimtimis ir net šimtais milisekundžių. Realiame procesoriaus darbo režime atsakymas į pertraukimus gali būti gaunamas per kelias mikrosekundes (ar net jų dalis). Galimas ir kompleksinis apklausos sprendimas – (polling) – keli įrenginiai apklausiami apie pasirengimą periodinių pertraukimų metu Pvz. Iš sisteminio laikmačio. Įtaisas kuris apklausimo metu aptinkamas pasirengęs, aptarnaujamas, ne pasirengęs – praleidžiamas iki sekančio pertraukimo. Tuo tarpu procesorius neužsiima daugeliu ir galbūt nereikalingais ciklais, tokiu kaip pasirengimo apklausimui, o tuo tarpu gali vykdyti kitas užduotis. Tiesa uždedamosios sąnaudos pertraukčių aptarnavimui išlieka, o maksimalus reakcijos į įvykius laikas ne gali būti mažesnis kaip iš laikmačio pertraukimo periodui duodamas laikas. Kaip pavyzdžiui, dirba foninio spausdinimo tvarkyklė PRINT. Ji nenaudoja aparatinių pertraukčių nuo LPT -išėjimo (nors galėtu) bet dirba pagal laikmatį. Duomenų buferizavimas įrenginiuose Kiekvienas įrenginys turi savo specifika, duomenų keitimosi charakterį, nustatoma jo išorine puse (kompiuterio atžvilgiu). Pagal mainų charakterius įrenginius galima išskirstyti į tris pagrindinius tipus. • Blokiniai įtaisai, pavyzdžiui diskiniai kaupikliai. Mainai su jais galimi tik fiksuotais blokiniais didžiais – sektoriais. Keičiantis su fiziniu disku (pavyzdžiui per HГМД valdiklį) bloko perdavimo stabdyti per vidurį negalima. • Srautiniai įrenginiai, pavyzdžiui spausdintuvai ir skeneriai. Į spausdintuvą siunčiamas duomenų srautus, kuriuos spausdintuvas naudodamas savo elektromechanines galimybes išveda (išspausdina) duomenis ant popieriaus kaip vaizdą. Srautą galimą sustabdyti bet kokiu momentu, po to ji galima pratęsti, ir tai nepadarys jokių pašalinių efektų. • Registru orientuoti įrenginiai kurie kaip taisyklė nėra šaltiniai ar didelių duomenų mainų imtuvai. Programai paprastai reikia žinoti duotų įrenginių būseną ar (ir) formuoti einamuosius valdomus poveikius. Pavyzdys registro-orientuoto įrenginio – liksmalazdės (joistiko): tam tikrame momente programa vykdo apklausą apie klavišų būseną ir koordinačių daviklius. Kaip taisyklė yra įvairių registro–orientuotų įrenginių atitinkančių sujungimus su technologiniais įrenginiais: kompiuterizuoti matavimo kompleksai ir t.t. Daugelis įrenginių yra šių pagrindinių tipų mišinys, netgi spausdintuvas turi registro-orientuotų dalių – be srauto priėmimo, jis perduoda esamos būsenos signalus (klaida, nėra popieriaus). Tam, kad duoti laisvę aptarnaujančių įrenginių programom, atitinkamiems duomenų formavimui (naudojimui) procesams gaunamiems iš įrenginių, naudojami įvairūs duomenų buferizacijos būdai įrenginių viduje ar jų valdikliuose. Buferis yra kaip vidinės atminties celių rinkinys su tam tikromis priėjimo taisyklėmis, kaip iš įrenginio pusės taip ir iš kompiuterinio >. Buferio dydis ir jo aptarnavimo būdas parenkamas pagal technines charakteristikas (perdavimo greitis ir leidžiamas duomenų užlaikymo kiekis) ir ekonominių (kaina) požiūrio. Blokiniuose įrenginiuose paprastai naudojamas buferis, kurio minimalus dydis lygus bloko dydžiui. Pirmieji IDE/ATA įrenginiai turėjo 512 baitų dydžio buferį– vienam disko sektoriui. Pradžioje buferis buvo vieno prievado: nuskaitant nuo disko įstatytas valdiklis pradžioje užpildydavo buferį sektoriaus duomenimis, ir tik po to duomenis iš buferio galėjo būti nuskaityti į kompiuterio atmintį. Vėliau buferio dydis buvo padidintas iki kelių sektorių ir pradėta naudotis dviejų prievadų buferiais kurie praktiškai leidžia vienu metu kreiptis iš dviejų pusiu (portu) – iš įrenginio pusės (keičiantis su nešėju) ir iš sąsajos pusės (keičiantis per ATA magistralę). Duomenų sektorių nuskaitymo nuoseklumas; kaip tik sekantis sektorius pilnai patenka į buferį ir valdymo schema praneša, “klaidų nėra”, disko valdiklis gali duoti šio sektoriaus duomenis į išorinę sąsają, o pats toliau tęsti sekančių sektorių nuskaitymą į likusia buferio dalį. Apsukresnis valdiklis gali panaudoti žiedinį buferį, tęsiant sektorių nuskaitymą nuo nešėjo į atsilaisvinusią (nuskaityta per išorinį interfeisą) buferio pradžią. Didelės apimties vieno prievado buferiai pasirodo nebeefektyvus, nes ilgų operacijų metu jis pristato duomenis su dideliu užlaikymu. Dviejų prievadų buferiai sumažina užlaikymus, o žiedu organizuotas buferio darbas praktiškai padaro ji neribotu (su sąlyga jei jis bus laiku atlaisvinamas). Vietinių tinklų adapteriai traukiami prie blokinių įrenginių – jie perduoda duomenis ištisais paketais, kurie turi būti priimami ir išsiunčiami atitinkamais greičiais (10, 100 ar 1000 MB/s. Trečios kartos Ethernet). Jų dydis ir buferio organizuotumas priklauso nuo persiuntimo aplinkos greičio ir sąsajų galimybių (išplėtimo magistralės) prie kurios jie prijungti. Maksimalus paketo (kadro) dydis Ethernetui – apie 1,5 KB (TokenRing technologijai ir FDDI daug daugiau). Ethernet 10 MB tinklo kortos ISA/EISA magistralės turėjo buferi mažiausiai vienam kadrui, o pilnai dupleksinės - dviejų. Žymiai didesnio efekto kortos buvo su didelės apimties buferiu ( 3C509B kortos daug “šustresnės” nei 3C509). Šie buferiai taip pat galėjo būti vieno prievado ar dviejų prievadų su visomis aukščiau išvardintomis savybėmis. Vieno prievado buferiai užlaiko perdavimą tol, kol perduodamas visas kadras ko pasėkoje atsiliepimo į tinklą laikas padidėja. 100 megabitinės (Fast Ethernet) kortos PCI su tiesioginių magistralių valdymų atsirado galimybė panaudoti tik pora 64-baitinius buferius (po viena priėmimui ir išsiuntimui pilnam dupleksui). Kiekvienas buferis padalintas į dvi dalis ir jų pusikės kaitaliojasi (ping-pong buffer): priimant paketą iš tinklo pirma užsipildoma pirmoji pusė po to antroji. Kaip tiktai pirmoji pusė pasikrauna korta užklausia valdymo magistralės ir kai gauna atsakymą pati iškrauna duomenis į atmintį. Kai pasikrauna antroji korta persijungia į pirmąją (kuri jau laisva) ir užklausia valdymo, Kada iškrauti antrąją pusę?. Kai korta priiminėja duomenis tai atrodo lyg žaistum stalo tenisą, žaidimas tęsiasi; kadro perdavimas atrodo analogiškai. Toks organizavimo supaprastinimas (taip techniškai paprasčiau aprūpinti dviejų prievadų priėjimą prie vietinės atminties) tapo galimas atsiradus aukšto magistralės pralaidumo galimybėmis ir pateiktam garantuotam priėjimo prie magistralės laikui. Vis tik Gigabit Ethernet kortai šis variantas jau nebetinka ir ant jų statomi pilno kadro buferiai. Srautiniams įrenginiams dažnai naudojami buferiai su aptarnavimo disciplina FIFO ( First In – First Out, pirmas įėjo – pirmas išėjo). Tokio buferio dydis kaip taisyklė nedidelis (pvz. 16 baitų). Buferis montuojamas tarp > ir įrenginio iš vienos pusės jis pakraunamas iš priešingos iškraunamas. Išsikraunamoji pusė gali išimti duomenis iš buferio tik tada, kai pakraunamoji puse juos tenai pakraus. Bandymas ištraukti duomenis iš tuščio buferio vadinamas iškrovimo klaida (underflow), bandymas padėti informacija į perkrautą – perkrovimo klaida (overflow). Buferio logika seka jo prisipildymo lygį ir praneša > apie kritines situacijas. Kai > (programa, vykdoma procesoriumi) išveda duomenis per FIFO, logika prižiūri buferio užpildymo mažėjimą žemiau už ištuštinimo slenksčio , tam atsitikus duoda signalą (paprastais pertrukimais) apie sekančios duomenų porcijos išvedimo būtinumą. Logika taip pat užkerta perpildymo galimybę, atmesdama bandymus užrašyti duomenų perteklių ir iškart praneša apie klaidą (paprastai per atitinkama programinį – skaitomojo stovio bitą). Įvedant duomenų per FIFO buferį jo logika prižiūri ir kontroliuoja laisvos vietos buvimą buferyje ir jei peržengiamas užpildymo slenkstis taip pat praneša pertraukimo signalais. Analogiškai ji neleidžia nuskaityti duomenų iš tuščio buferio ir praneša tai atitinkamo bito pagalba. Taip pat buferio logika turi leisti ji išvalyti procesoriaus iniciatyva, užklausus procesoriui pranešti apie duomenis buferyje jų kieki (ar jų egzistavimą). Slenksčiu valdymas leidžia programai priklausomai nuo išorinio duomenų pasikeitimo tempo, galimybės einamojo kompiuterio užkrautumo išrinkti optimalų pasikeitimo režimą, leidžiantį ne >, ir neleisti buferio perpildymų/ištuštinimų. Dvikrypčiuose įrenginiuose kaip taisyklė turima pora FIFO-buferių (pilnam dupleksui), simpleksiniams įrenginiams užtenka vieno. Pavyzdžiui HГМД valdiklyje (nors tai ir blokinis įrenginys bet lėtas) turimas vienas perjungiamas buferis. FIFO buferiai naudojami COM jungtyse, LPT jungtyse ir eilėje kitų srautinių kompiuterio mazgų. Pavyzdžiui be FIFO buferiu, neįmanomas foninis duomenų pasikeitimas su modemais greičiais didesniais kaip 19,2 KB/s. Spausdintuvų buferinė atmintis taip pat yra FIFO buferis, tiesa ne labai lanksti ir > (apie savo pripildymo laipsnį per standartinę sąsają jis neįvardina). Šiuolaikinių įrenginių išorinės atminties buferiai turi daug sudėtingesnes organizacijas, aprūpinantis duomenų saugojimą atsarginėje atmintyje; vis tik ir jie naudoja aukščiau išvardintus organizacijos principus. Didelės kaitos vieno prievado buferiai kaip jau buvo pasakyta gali įnešti ryškų užlaikymą. Srautiniam naudojimui (pavyzdžiui multimedinių failų atnaujinimui) šis užlaikymas nelabai turi įtakos ir gamybingumui įtakos nedaro. Bet > pobūdžio priedams, kai buferis atsiranda grandyje klausimas-atsakymas, jo užlaikymas gali sumažinti gamybingumą. Kaip pavyzdys duomenų perdavimas tinklu paprastai pristatomas kaip nuoseklūs duomenų kadrai, kiekvienam iš kurių perduodamoji pusė laukia patvirtinančio kadro. Jei kiekvienas kadras užsilaikys buferyje akivaizdu, kad gamybingumas sumažės. Nuo šios bėdos apsaugo > metodas, kuriame perduodanti pusė leidžia kai kuriuos priėmimo patvirtinimo atsilikimus. Apytiksliai tokia pati idėja naudojama ir sinchronineme perdavimo režime SCSI magistralėje.

Daugiau informacijos...

Šį darbą sudaro 2121 žodžiai, tikrai rasi tai, ko ieškai!

★ Klientai rekomenduoja


Šį rašto darbą rekomenduoja mūsų klientai. Ką tai reiškia?

Mūsų svetainėje pateikiama dešimtys tūkstančių skirtingų rašto darbų, kuriuos įkėlė daugybė moksleivių ir studentų su skirtingais gabumais. Būtent šis rašto darbas yra patikrintas specialistų ir rekomenduojamas kitų klientų, kurie po atsisiuntimo įvertino šį mokslo darbą teigiamai. Todėl galite būti tikri, kad šis pasirinkimas geriausias!

Detali informacija
Darbo tipas
Šaltiniai
✅ Šaltiniai yra
Failo tipas
RAR archyvas (.rar)
Apimtis
7 psl., (2121 ž.)
Darbo duomenys
  • Informacinių technologijų referatas
  • 7 psl., (2121 ž.)
  • RAR archyvas 62 KB
  • Lygis: Universitetinis
  • ✅ Yra šaltiniai
www.nemoku.lt Atsisiųsti šį referatą
Privalumai
Pakeitimo garantija Darbo pakeitimo garantija

Atsisiuntei rašto darbą ir neradai jame reikalingos informacijos? Pakeisime jį kitu nemokamai.

Sutaupyk 25% pirkdamas daugiau Gauk 25% nuolaidą

Pirkdamas daugiau nei vieną darbą, nuo sekančių darbų gausi 25% nuolaidą.

Greitas aptarnavimas Greitas aptarnavimas

Išsirink norimus rašto darbus ir gauk juos akimirksniu po sėkmingo apmokėjimo!

Atsiliepimai
www.nemoku.lt
Dainius Studentas
Naudojuosi nuo pirmo kurso ir visad randu tai, ko reikia. O ypač smagu, kad įdėjęs darbą gaunu bet kurį nemokamai. Geras puslapis.
www.nemoku.lt
Aurimas Studentas
Puiki svetainė, refleksija pilnai pateisino visus lūkesčius.
www.nemoku.lt
Greta Moksleivė
Pirkau rašto darbą, viskas gerai.
www.nemoku.lt
Skaistė Studentė
Užmačiau šią svetainę kursiokės kompiuteryje. :D Ką galiu pasakyti, iš kitur ir nebesisiunčiu, kai čia yra viskas ko reikia.
Palaukite! Šį darbą galite atsisiųsti visiškai NEMOKAMAI! Įkelkite bet kokį savo turimą mokslo darbą ir už kiekvieną įkeltą darbą būsite apdovanoti - gausite dovanų kodus, skirtus nemokamai parsisiųsti jums reikalingus rašto darbus.
Vilkti dokumentus čia:

.doc, .docx, .pdf, .ppt, .pptx, .odt