Kompiuterio techninė įranga loginiu požiūriu yra labai paprasta – bet koks kompiuteris susideda iš šių dalių:
• procesoriaus, kuris vykdo logines ir programos logikos valdymo komandas,
• atminties, kurioje saugoma vykdomoji programa (ne programos failas, o vykdomų procesoriaus komandų rinkinys) bei įvairūs jos vykdymo metu naudojami duomenys, duomenų greitkeliai, kuria perduodami duomenys tarp procesoriaus ir atminties,
• išorinių įrenginių, skirtų duomenų įvedimui ir išvedimui (bei papildomai funkcijai – saugojimui).
Paskutiniai iš minėtų įrenginių būna labai įvairūs ir dažnai sudaro daugiau, nei 80 procentų kompiuterio kainos. Tipiški išoriniai įrenginiai:
TURINYS ĮVADAS 2.1. AK savybės, konstrukcija Kompiuterio techninė įranga Kompiuterio techninė įranga loginiu požiūriu yra labai paprasta – bet koks kompiuteris susideda iš šių dalių: • procesoriaus, kuris vykdo logines ir programos logikos valdymo komandas, • atminties, kurioje saugoma vykdomoji programa (ne programos failas, o vykdomų procesoriaus komandų rinkinys) bei įvairūs jos vykdymo metu naudojami duomenys, duomenų greitkeliai, kuria perduodami duomenys tarp procesoriaus ir atminties, • išorinių įrenginių, skirtų duomenų įvedimui ir išvedimui (bei papildomai funkcijai – saugojimui). Paskutiniai iš minėtų įrenginių būna labai įvairūs ir dažnai sudaro daugiau, nei 80 procentų kompiuterio kainos. Tipiški išoriniai įrenginiai: • kietasis diskas • klaviatūra • pelė (kompiuterio) • monitorius • vaizdo plokštė • garso plokštė • mikroschemų rinkinys • IDE kontroleris Duomenų magistralė kai kada irgi priskiriama išoriniams kompiuterio įrenginiams, tačiau, skirtingai nuo daugumos kitų, yra praktiškai neatskiriama kompiuterio dalis, tam tikru būdu egzistuojanti net tada, kai kompiuteris neturi jokios atminties, išskyrus procesoriaus registrus. Kai kuriose kompiuterių realizacijose atmintis irgi galėjo veikti, kaip atskiras kompiuterio įrenginys, tačiau tokios kompiuterių realizacijos nepapilto. Konstrukcija Tipiškas asmeninis kompiuteris susideda iš sisteminio bloko, kuriame yra motininė plokštė (kartais dar vadinama sistemine ar pagrindine plokšte) bei maitinimo blokas. Dažniausiai kaip atskiri įrenginiai, prie kompiuterio jungiami: • Monitorius • Klaviatūra • Pelė • Spausdintuvas • Skaitytuvas (skeneris) Funkciškai viena iš svarbiausių kompiuterio dalių būna motininė plokštė, kuri atlieka dvi funkcijas: • Turi savyje įmontuotus daugelį (dešimtis ar šimtus) paprastesnių įrenginių (garso kortą, tinklo kortą, IDE kontrolerį ir t. t.) • Veikia kaip konstrukcinis radijo montažo pagrindas: į ją (per specialius lizdus) įjungiami procesorius, atmintis, video korta, laidai išorinių įrenginių (diskų, spausdintuvų, monitorių) pajungimui ir pan. Periferinė įranga Periferine įranga dažniausiai vadinami įrenginiai, kurie yra ne kompiuterio dėžėje („sisteminiame bloke“), o jo išorėje, nors architektūros požiūriu dauguma viduje esančių įrenginių niekuo nesiskiria: pvz., kietasis diskas yra toks pat duomenų įvedimo/išvedimo įrenginys, kaip ir spausdintuvas. Kai kurie periferiniai įrenginiai, tokie, kaip klaviatūra ar monitorius, yra tiesiog būtini, kiti – reikalingi tik specialistams (pvz., elektroniniai mikroskopai). Šiais laikais daugelis įprastų namų apyvokos daiktų, pvz., telefonas, televizorius, fotoaparatas gali būti prijungti prie kompiuterio ir veikti, kaip periferiniai įrenginiai. Kompiuterio dalys Kompiuterio dalims galima priskirti visus įrenginius, esančius kompiuterio dėžės („sisteminio bloko“) viduje: • Pagrindinės dalys: • Motininė plokštė • Procesorius • Atmintis (kompiuterio) • Maitinimo blokas Kompiuteriui dažniausiai būtinos dalys: • Kietasis diskas • Video plokštė • Tinklo plokštė • Garso plokštė • Įvairios papildomos dalys • Flešas ir taip toliau Skirtumai tarp techninės ir programinės įrangos Riba tarp programinės ir techninės įrangos nėra visiškai aiški – pavyzdžiui, nėra vieningo požiūrio ar kompiuterio detalėse įmontuotoji programinė įranga (firmware) yra programinė įranga ar techninės įrangos dalis: kiekvienam inžinieriui ar programuotojui akivaizdu, kad (angl. firmware) yra programinė įranga, tačiau ji dažnai būna tiek giliai susijusi su įrenginiu, kad techniškai jos neįmanoma atskirti – įrenginys be tokių programų dirbti negali. Kita vertus, šios programos būna bevertės ir nedarbingos be įrenginių, kurioms jos skirtos. Dėl šių priežasčių firmware teisiškai dažniausiai priskiriama techninei, bet ne programinei įrangai. Kitas diskutuotinas atvejis – ar programa, vykdanti pilną įrenginio emuliaciją, savo pagrindinėmis (funkcinėmis) savybėmis atitiktų įrenginį ar programą? 2.2. AK von Neumann‘o modelis Neumann‘o (skaičiavimo) mašina 1946 m. Neumann‘as kartu su savo kolegomis Prinstono pažangiųjų studijų institute (Princeton Institute for Advanced Studies) ėmėsi kurti kompiuterį IAS pavadinimu. Šis kompiuteris buvo baigtas tik 1952 m. ir yra visų vėlesnių bendrosios paskirties kompiuterių prototipas. 1.7 pav. pateikta IAS kompiuterio apibendrinta struktūra. Pagrindinės komponentės: • Pagrindinė atmintis, sauganti ir duomenis, ir instrukcijas; • Aritmetinis ir loginis įrenginys (ALĮ), galintis operuoti dvejetainiais skaičiais. • Valdymo įrenginys, interpretuojantis atmintyje esančias instrukcijas ir kontroliuojantis jų vykdymą. • Įvesties ir išvesties (Į/I) įrenginys, kurio veikimą taip pat kontroliuoja valdymo įrenginys. Ši struktūra Noimano pasiūlyta anksčiau ir jos apibūdinimą čia verta pacituoti: Pirma: Kadangi įrenginys (kompiuteris) visų pirmą yra skaičiuotuvas {computer}, jis turi gebėti atlikti dažniausiai pasitaikančias elementarias aritmetines operacijas, t. y. sudėties, atimties, daugybos ir dalybos: +, –, ´, ¸. Todėl labai naudinga, kad jame būtų specializuoti šias operacijas atliekantys organai. Nepaisant to, kad kol kas šis principas tėra tik tuščias garsas, specifiniam būdui, kuriuo jis bus įgyvendintas, reikia skirti daugiau dėmesio… Bet kuriuo atveju centrinė aritmetinė {Central Arithmetic – CA} dalis įrenginyje turėtų būti. Taigi deklaruotina jo (kompiuterio) pirmoji specifinė dalis – CA. Antra: Įrenginio (kompiuterio) veikimo logiką, t. y. tikslų jo operacijų nuoseklumą, efektyviausiai gali valdyti centrinis valdymo organas. Jeigu įrenginio (kompiuterio) veikimas pasižymės lankstumu, t. y. kompiuteris atitiks visas įmanomas paskirtis, tuomet reikės atskirti specifiškas instrukcijas, numatytas specialioms užduotims spręsti, nuo bendrųjų valdymo organų, kurie šias instrukcijas gauna ir vykdo nesigilindami, kas jos iš esmės yra. Minėtos instrukcijos turi būti tam tikru būdu įsimenamos, o valdymo organai yra įrenginio (kompiuterio) tam tikros veikiančios dalys. Taigi centriniu valdymu {Central Control – CC} vadinsime tik šias pastarąsias funkcijas atliekančius organus, ir jie sudaro antrąją specifinę dalį – centrinį valdymą – CV. Trečia: Kiekvienas įrenginys, atliekantis ilgas ir sudėtingas operacijų sekas (ypač skaičiavimus), turi turėti pakankamai atminties… a) Instrukcijoms, kurios valdo sudėtingą uždavinį, būtina daug informacinės medžiagos, ypač tada, kai kodas yra labai išsamus (detalus, o taip dažniausiai ir būna daugelyje uždavinių). Ši medžiaga turi būti įsimenama… Bet kuriuo atveju atminties būtinumas lemia trečiąją įrenginio specifinę dalį – atmintį – A {Memory – M}. Trys specifinės dalys – CA, CV ir A atitinka asociatyvųjį žmogaus nervųsistemos neuroną. Dar liko neaptarti sensorinių arba jautriųjų ir motorinių, arba varomųjų neuronų ekvivalentai. T. y. įrenginio (kompiuterio) įvesties ir išvesties organai… Turi būti užtikrinti įrenginio įvesties ir išvesties (sensoriniai ir motoriniai) kontaktai su tam tikra specifine išorine aplinka. Ši aplinka gali būti vadinama įrenginio išorine įrašymo terpe – R {Recording medium – R}… Ketvirta: Įrenginys turi turėti organus, transformuojančius informaciją iš R terpės į jo specifines CA, CV ir A dalis. Šie organai formuoja jo įvestį {input}, ketvirtąją specifinę dalį – Į {input – I}. Atrodo natūralu, kad geriausia visas transformacijas daryti iš R (taikant Į) į A ir niekada tiesiogiai į CA ar CV … Penkta. Įrenginys turi turėti organus, transformuojančius informaciją iš jo specifinių CA, CV ir A dalių į R. Šie organai formuoja jo išvestį. Tai penktoji specifinė dalis – I {Output – O}. Ir vėl turėtų būti natūralu, kad geriausia visas transformacijas daryti iš A (taikant I) į R, ir niekada tiesiogiai iš CA ar CV. Su labai reta išimtimi visų šiuolaikiškų kompiuterių apibendrinta struktūra ir funkcionavimas yra tokie patys (jie ir vadinami Noimano mašinomis), tad labai naudinga išnagrinėti IAS kompiuterio veikimą [2]. Kad būtų aiškiau nūdienos vartotojams, Noimano terminologija pakeista. IAS kompiuterio atmintį sudaro 1000 saugojimo ląstelių, vadinamų žodžiais {words}, kiekvienas – po 40 dvejetainių skaitmenų (bitų). Atmintyje kartu saugomi ir duomenys, ir instrukcijos. Taigi ir skaičiai, ir instrukcijos turi būti pateikti dvejetaine forma. 1.8 pav. pavaizduoti abudu šie formatai. Kiekvienas skaičius pateikiamas ženklo bitu ir 39-iais reikšmės bitais. Žodis taip pat gali būti sudarytas iš dviejų 20-ies bitų instrukcijų. Kiekviena instrukcija sudaryta iš 8 bitų operacijos kodo {opcode}, kuris apibūdina vykdomą operaciją, ir 12 bitų adreso, kuriuo galima nurodyti tam tikrą žodį atmintyje (nuo 0 iki 999, nors 212 = 4096). Valdymo įrenginys kontroliuoja IAS kompiuterį išrenkant instrukcijas iš atminties ir jas vykdant tuo pačiu metu be delsos. Tai paaiškinti reikalinga detalesnė struktūrinė schema (1.9 pav.). Ir valdymo įrenginys, ir ALĮ turi saugojimo įtaisus, vadinamuosius registrus (žr. pav.), kurie, apibūdinami taip: • Atminties buferinis registras (ABR) – jame esti žodis, kuris turi būti išsaugomas atmintyje (įrašytas į atmintį) arba nuskaitytas iš atminties; • Atminties adreso registras (AAR) nurodo adresą atmintyje, kur žodis turi būti įrašytas iš ABR arba į jį nuskaitytas. • Instrukcijų registras (IR) saugo vykdomos instrukcijos 8 bitų operacijos kodą. • Instrukcijų buferinis registras (IBR) laikinai saugo dešiniąją instrukciją iš atminties žodžio. • Programinis skaitiklis (PS) saugo kitos instrukcijų poros, kuri turi būti išrinkta iš atminties, adresą. • Akumuliatorius (AK) ir sandaugos koeficientas (SK) laikinai saugo operandus ir ALĮ veiksmų rezultatus. Pavyzdžiui, dviejų 40 bitų skaičių sandauga bus 80 bitų; aukštesnieji 40 bitai saugomi AK, o žemesnieji – SK. IAS kompiuteris veikia pagal begalinį algoritmą, vykdant instrukcijos ciklą {instruction cycle} (1.10 pav.). Kiekvieną instrukcijos ciklą sudaro du subciklai. Per išrankos ciklą {fetch cycle} kitos instrukcijos operacijos kodas įkeliamas į IR, o atitinkamas adresas talpinamas į AAR. Ši instrukcija gali būti imama iš IBR arba iš atminties, žodį šiuo atveju talpinant į ABR ir toliau siunčiant jį į IBR, IR ir AAR. Kodėl ne tiesiogiai? Taip yra todėl, kad visos šios operacijos kontroliuojamos elektroninių schemų, todėl naudojami elektriniai duomenų keliai. Elektroninei daliai supaprastinti, skaitymui ir rašymui į atmintį bei duomenims siųsti arba priimti naudojama tik po vieną adresų registrą. Kai operacijos kodas jau yra IR, prasideda vykdymo ciklas. Valdymo schemos interpretuoja operacijos kodą ir, generuodamos atitinkamus valdymo signalus, nurodinėja, kad būtų siunčiami duomenys arba kad būtų atliktos ALĮ operacijos, vykdo pasirinktą instrukciją. IAS kompiuteryje buvo numatyta 21 instrukcija. Jas galima sugrupuoti taip: • Duomenų siuntimas. Vykdoma duomenų kaita tarp atminties ir ALĮ registrų arba tarp dviejų ALĮ registrų {LOAD #, STOR #}. • Besąlyginis šakojimasis. Valdymo įrenginys paprastai operacijas vykdo nuosekliai iš atminties. Tačiau šį nuoseklumą gali pakeisti šakojimosi instrukcijos. Tuomet galima vykdyti ciklines operacijas {JUMP #}. • Sąlyginis šakojimasis. Šakojimasis gali būti daromas pagal tam tikrą sąlygą. Tokiu būdu į programas įvedami šakojimosi (perėjos) taškai {JUMP #}. • Aritmetinės operacijos. Vykdomos ALĮ {ADD #, SUB #, MUL #…}. • Adresų modifikacija. Suteikia galimybę adresus skaičiuoti ALĮ ir juos įterpti į atmintyje saugomas instrukcijas. Programos įgyja adresavimo lankstumo. 2.3. Duomenų apsikeitimas ir pagrindinė plokštė Pagrindinė plokštė naudojama, kaip montažo pagrindas kompiuteryje (2 pav.). Pagrindinė plokštė yra viena iš pagrindinių asmeninio kompiuterio techninės įrangos dalių. Superkompiuteriuose vietoje pagrindinių plokščių dažniau naudojamos kitos konstrukcijos, pvz., montažinės šynos. Svarbiausia pagrindinės plokštės funkcija - duomenų magistralių, apjungiančių procesorių, atmintį ir įvairius prietaisus, realizacija. Be šios, pagrindinė plokštė atlieka ir kitas būtinas funkcijas. Į šiuolaikines pagrindines plokštes gamykloje įmontuojami labiausiai reikalingi montažo elementai: procesoriaus lizdas (arba lizdai); atminties jungtys; PCI jungtys, skirtos įvairiems papildomiems įrenginiams; AGP jungtis (kartais - kelios jungtys), dažniausiai skirta vaizdo plokštei; kitų (ISA, EISA, ir t.t.) kortų jungtys; taip pat - dažniausiai naudojami įrenginiai (dažniausiai realizuoti, kaip mikroschemų rinkinio (Chipset) dalis): PCI kontroleriai, IDE kontroleriai, USB kontroleriai, paralelinių ir nuosekliųjų portų kontroleriai, įvairūs kiti įrenginiai. Kai kada į pagrindines plokštes būna įlituojamos ir pagrindinės kompiuterio techninės įrangos dalys: procesorius ir atmintis, kai kuriais atvejais (nešiojamuose ir delniniuose kompiuteriuose) - ir periferinė įranga, pvz., klaviatūra. Be šių būtinų komponentų daugumoje sisteminių plokščių yra statomi ir interfeisų kontrolieriai lanksčiųjų ir kietųjų diskų (IDE, SCSI) pajungimui, grafinis adapteris, garso (audio) kanalas, o taip pat adapteriai COM ir LPT jungčių, pelės ir kt. Kontrolieriai, reikalaujantys intensyvaus duomenų apsikeitimo (IDE, SCSI, grafinis adapteris) yra naudojami kaip pirmenybė lokaliniam pajungimui prie procesoriaus. Kitų kontrolierių patalpinimo tikslas sisteminėje plokštėje – bendro plokščių skaičiaus kompiuteryje, sumažinimas. Pirmųjų PK sisteminės plokštės (su procesoriais 8088/8086) be procesoriaus sudarė keletą periferinių BIK (pertraukimo kontrolieriai, tiesioginio padavimo į atmintį, šynos kontrolierius) ir surišamąją logiką mažo ir vidutinio integracijos laipsnio mikroschemose. Šiuolaikinės plokštės sudaromos mikroschemų pagrindu – tai rinkinys iš keleto BIK, realizuojančių visas būtinas pagrindinių komponentų ryšio funkcijas – procesoriaus, atminties. Mikroschemos nustato taikymo galimybę, skirtingų procesorių tipų, pagrinde ir keš-atmintį ir eilę kitų sistemos charakteristikų, nustatančių jos modernizacijos galimybes. Jos tipas turi įtakos ir našumui – esant vienodiems įdiegtiems komponentams (procesorius, atmintis, grafinis adapteris ir kietasis diskas) kompiuterių našumas, surinktų su skirtingom sisteminėm plokštėm – gali skirtis 30 %. Taigi, sisteminė plokštė yra sisteminio bloko pagrindas, nusakanti kompiuterio architektūrą ir našumą. Ant jos statosi šie komponentai: procesorius, atmintis (pastovi ir operatyvioji), operatyvioji buferinė atmintis, sisteminės įėjimo/išėjimo priemonės, interfeisinės schemos ir šynų išsiplėtimo jungtys, kvarcinis sinchronizacijos generatorius su sistemos išjungimo sistema, papildomi maitinimo įtampos stabilizatoriai. . Kompiuterio funkcijos Kompiuterio viduje duomenys nuolatos keliauja tarp įvairių įrenginių arba per juos. Daugelis duomenų nė neišeina iš pagrindinės plokštės, kuri sujungia į nedalomą visumą daug kompiuterio dalių. Pagrindinėje plokštėje prasideda arba baigiasi visi duomenų srautai - todėl ji vadinama svarbiausia kompiuterio dalimi. Ir kompiuterio struktūra, ir kompiuterio funkcionavimas iš esmės labai paprasti. 1.1 pav. parodyta, kokias funkcijas gali atlikti kompiuteris. Apibendrinus jų yra tik keturios: • Duomenų apdorojimas. • Duomenų saugojimas. • Keitimasis duomenimis. • Valdymas. Be abejo, kompiuteris turi gebėti apdoroti duomenis {process data}. Duomenų pateikimo formų gali būti labai daug. Duomenų apdorojimo būdai labai įvairūs, tačiau, kaip vėliau pamatysime, tėra tik keli apdorojimo metodai arba tipai. Taip pat labai svarbu, kad kompiuteris duomenis saugo {store data}. Net jei duomenys apdorojami tučtuojau (t. y. duomenys įeina, apdorojami ir rezultatai iš karto išvedami), turi laikinai išlikti bent ta duomenų dalis, su kuria šiuo metu dirbama. Tai trumpalaikis duomenų saugojimas. Tačiau kompiuteris atlieka ir ilgalaikio duomenų saugojimo funkciją. Duomenų failai kompiuteryje saugomi, kad vėliau galėtų būti peržiūrimi ir atnaujinami. Kompiuteris turi gebėti atlikti keitimąsi duomenimis {move data} – vidinį ir su išoriniu pasauliu. Kompiuterio darbo aplinka – įrenginiai, kurie yra arba duomenų šaltiniai, arba jų sankaupos {destinations of data}. Duomenų priėmimo iš įrenginio, kuris tiesiogiai prijungtas prie kompiuterio, arba siuntimo į jį procesas vadinamas įvestimi/išvestimi (Į/I) {Input-Output – I/O}, o atitinkami įrenginiai – periferiniais, keitimosi duomenimis per didelį atstumą procesas – skaitmeniniu ryšiu {data communication}. Šios trys funkcijos valdomos (kontroliuojamos) {control}. Kontrolę faktiškai atlieka asmenys, teikiantys kompiuteriui instrukcijas. Kompiuterio sistemoje kontrolės įrenginys pagal šias instrukcijas valdo kompiuterio išteklius ir ,,diriguoja“ jo funkcinių dalių galimybėms. Galimų aptarto lygmens operacijų nėra daug. 1.2 pav. pateikti keturi jų tipai. Kompiuteris gali veikti kaip keitimosi duomenimis įrenginys (1.2 pav. a), paprastai duomenis siunčiant iš vieno periferinio įrenginio arba komunikacijos linijos į kitą. Jis taip pat gali veikti kaip duomenų saugojimo įrenginys (1.2 pav. b), kuris duomenis siunčia iš išorinės kompiuterio aplinkos į kaupiklį (skaitymo operacija {read}) arba priešinga kryptimi (rašymo operacija {write}). Kituose dviejuose paveiksluose parodytos operacijos duomenis apdorojant. Atliekant vieną iš jų (1.2 pav. c) apdoroti duomenys sugrąžinami į kaupiklį, o kitą (1.2 pav. d) – siunčiami į išorinį įrenginį. Šis visiškai supaprastintas aptarimas iš tikrųjų įmanomas net ir aukščiausiam kompiuterio hierarchijos struktūros lygmeniui paaiškinti, nustatyti funkcijų įvairovę. Tačiau iš kompiuterio struktūros labai sunku spręsti, kokias konkrečias funkcijas jis gali atlikti. Būtent tai susiję su kompiuterio bendrosios paskirties pobūdžiu – visos funkcinės specializacijos atsiranda kompiuterį programuojant, o ne jį projektuojant. 1.2 pav. Galimos kompiuterio operacijos 2.4. Sisteminės programos, įkeltis, magistralės Kiekvienoje pagrindinėje plokštėje laikomos tam tikros programos. ROM grandinėse yra svarbios sisteminės programos, padedančios paleisti kompiuterį ir kurios viską laiko kartu. Įjungus kompiuterio maitinimą, nutinka daugybė dalykų. Išgirstate įvairių ventiliatorių ūžesį ir netrukus ekrane pradeda slinkti tekstas. Tai dirba sisteminės programos. Komandos - programų, įkeltų į CPU, fragmentai. CPU pradeda vykdyti sisteminių programų, laikomų pagrindinėje plokštėje, komandas. Vėliau, kai kompiuteris jau paleistas, operacinė sistema gali gauti komandas (programas) iš kietajame diske esančių programų, bet paleisties metu CPU gauna instrukcijas iš ROM, esančios pagrindinėje plokštėje. Taigi paleisties programa laikoma ROM grandinėse. ROM (Read Only Memory) - pastovioji atmintis. Šiose grandinėse laikomi duomenys, kuriuos paprastai galima tik perskaityti. Kompiuteris jau „gimsta"su sisteminėmis programomis, kurios laikomos jo techninėje įrangoje. BIOS yra svarbi programinė įranga, nes tik įkėlus ir atlikus šias programas, galima įsikelti kompiuterio operacinę sistemą iš kietojo disko (arba iš diskelio ar kitos laikmenos). Tai vadinama pradine įkeltimi. Techninės įrangos tikrinimas. Įjungus maitinimo šaltinį, CPU gauna pirmąsias komandas iš ROM BIOS. Tada paleidžiama POST programa, kuri patikrina techninę įrangą. POST (Poiuer On Self Tęst) - parengties dirbti savikontrolė, kuri atliekama greitai. Tekstas nepasiekia ekrano, kol neįvykdoma POST. Jeigu POST nustato klaidą, programa ekrane pateiks pranešimą. Jeigu ekranas dar neparengtas arba jeigu aptinkama klaidų, pvz., susijusių su vaizdo plokšte, programa paprastai pypteli per vidinį garsiakalbį. Įvairių BIOS gamintojų signalų ir pypsėjimų pobūdis skiriasi, tačiau bet kokiu atveju ji parodo, kur yra klaida. Pvz., aštuoni „AMI BIOS" pyptelėjimai gali reikšti klaidą grafikos sistemoje, o nuolatinis pypsėjimas rodo klaidą RAM, jeigu naudojama „Award BIOS". Dabar paleisties programa tikrina įvairią techninę įrangą, ir iš esmės „atgaivina mašiną". Šiuo momentu galite susisiekti su paleisties programa, pvz., paspausdami klavišą Delete. Po to pamatysite, kaip „skaičiuojama RAM". Taip pat galite perskaityti, koks CPU yra kompiuteryje. Dabar ekrane rodomos visos klaidos (pvz., jeigu kietasis diskas prijungtas netinkamai). Procesą galima sustabdyti klavišu Pause, kad pakaktų laiko pranešimams perskaityti. Žemiau pateiktos kompiuterio, kuriame yra 512 MB RAM su „Award BIOS" paleisties žinutės. CMOS ir paleistis. Paleisties programai reikia informacijos apie kompiuterio techninę įrangą. Tačiau tam tikra sistemos informacija turi būti įvesta rankiniu būdu. Tai informacija apie tai, ar įdiegtas diskelių įrenginys, tikroji data ir laikas ir t.t. Laimė, kiekvieną kartą paleidžiant kompiuterį šios informacijos įvesti nereikia. Tai padarė gamintojas, ir ši informacija saugoma nedideliame CMOS luste. CMOS - specialus RAM tipas, reikalaujantis labai mažai energijos. Luste laikoma maža informacijos apie techninę įrangą duomenų bazės. Šios duomenų bazės reikia paleisties programoms, kurios, pvz., naudoja ją tikrindamos techninės įrangos sąrašą. Tai saugykla, kurioje yra informacija apie su „Plug and Play" suderinamus įrenginius. CMOS atmintyje telpa 256 baitai, ją palaiko maža baterija, esanti pagrindinėje plokštėje. Be nuolatinio maitinimo šaltinio visa CMOS informacija išnyktų. Galima koreguoti CMOS atminties parametrus. Jums gali prireikti tai padaryti, pvz., norint įdiegti naują kietąjį diską. Štai kodėl per paleisties programą, kuri taip pat laikoma pagrindinės plokštės ROM grandinėse, galima pasiekti CMOS atmintį. Paleisties programą galima aktyvuoti specialiu klavišu (pvz., Delete). Paleisties programa įdiegia kitus sistemos įrenginius, kaip antai diskelį ir EIDE kaupiklius, ir nustato loginių įrenginių (COM, LPT) vietą. Įrenginiams patikrinama PCI magistralė. Paskutinis paleisties darbas - BIOS CMOS atmintinėje suranda pasirinktą pradinės įkelties įrenginį. Paprastai ji turi įkelti iš vieno iš kietųjų diskų, ir todėl BIOS turi perskaityti pagrindinį pradinės įkelties įrašą (tai tam tikras kietojo disko sektorius). Paskui iš kietojo disko įkeliama operacinė sistema ir paleisties programa baigia darbą. Kompiuterio komponentės Visų šiuolaikinių kompiuterių projektavimas pagrįstas koncepcijomis, kurias Noimanas „Prinstono pažangiųjų studijų“ institute sukūrė dar 1945-aisiais metais. Tad šis projektavimas ir vadinamas Noimano architektūra. Ji remiasi trimis esminėmis koncepcijomis: • Duomenys ir instrukcijos saugomos vienoje bendroje atmintyje, į kurią galima įrašinėti ir iš kurios galima skaityti. • Šios atminties turinys yra adresuojamas pagal tam tikrą išsidėstymą, visiškai neatsižvelgiant į saugomų duomenų tipą. • Programų vykdymas vyksta nuosekliąja tvarka pereinant nuo vienos instrukcijos prie kitos (kol ši tvarka bus sąmoningai modifikuota). Kompiuterių architektūroje magistrale vadinamas posistemis, skirtas duomenims perduoti kompiuterio viduje arba tarp kompiuterių Skiriamos • lygiagrečiosios magistralės, kai duomenys perduodami naudojant kiekvienam bitui atskirą liniją, ir • nuosekliosios magistralės, kai duomenys perduodami bitas po bito per tą pačią liniją (nuosekliu kodu) Kad dvejetainiai duomenys būtų įsimenami, saugomi, kad su jais būtų atliekami aritmetiniai ir loginiai veiksmai, paprastai reikia labai nedaug pagrindinių loginių komponenčių, kurios pagal užduotį gali būti įvairiais būdais derinamos. Jeigu, pvz., bus vykdomi specifiniai skaičiavimai, loginių komponenčių kombinacija projektuojama būtent taip, kad šie skaičiavimai galėtų vykti. Įvairių komponenčių tarpusavio sujungimo procesą galime įsivaizduoti kaip tam tikrą programavimo formą. Galutinė ,,programa“ atrodys kaip specifiška techninė įranga {hardware}, todėl pavadinta pastoviąja (technine) programa {hardwired program}. Jeigu visos programos būtų realizuojamos panašiu būdu, iš tokios techninės įrangos būtų labai mažai naudos. Dabar panagrinėkime šio būdo alternatyvą. Įsivaizduokime, kad konstruojama bendrosios paskirties kompiuterio konfigūracija aritmetinėms ir loginėms funkcijoms. Tokia techninė įranga galės įvairiai apdoroti duomenis pagal gaunamus valdymo signalus. Kai techninė įranga originali, sukonstruota pagal specialų užsakymą, sistema gauna duomenis (juos apdoroja) ir teikia rezultatus (4.3 pav. a). Kai aparatūra yra bendrosios paskirties, sistema gauna duomenis, valdymo signalus (duomenis apdoroja) ir tik tada pateikia rezultatus. Taigi užuot techninę įrangą permontavus kiekvienai naujai programai programuotojui tereikia parengti naują valdymo signalų rinkinį. 4.3 pav. Visą programą sudaro atskirų žingsnių seka. Tam tikrame žingsnyje su tam tikrais duomenimis vykdomos aritmetinės arba loginės operacijos. Kiekvienam žingsniui reikalingas naujas valdymo signalų rinkinys. Įsivaizduokime, jog kiekvieną įmanomą valdymo signalų rinkinį atitinka unikalus kodas, ir, tarkime, kad prie bendrosios paskirties techninės įrangos pridėsime dar vieną bloką, kuris gali priimti kodą ir generuoti atitinkamus valdymo signalus (4.3 pav. b). Dabar programuoti daug lengviau. Užuot techninę įrangą permontavus kiekvienai naujai programai, tereikia gauti naują kodų seką. Kiekvienas kodas pagal veikimo rezultatą yra kaip instrukcija, o tam tikra techninės įrangos dalis kiekvieną instrukciją interpretuoja ir generuoja atitinkamus valdymo signalus. Šiam naujam programavimo metodui išskirti kodas arba instrukcijų seka pavadinta programine įranga {software}. 4.3 pav. b parodytos dvi svarbiausios kompiuterizuotos sistemos komponentės: instrukcijų interpretatorius ir bendrosios paskirties aritmetinių ir loginių funkcijų modulis. Šie du moduliai sudaro CPĮ. Kompiuterio veikimui užtikrinti reikalingos dar kelios kitos komponentės. Duomenys ir instrukcijos turi būti talpinami kompiuterizuotoje sistemoje. Šiems tikslams būtinas tam tikro tipo įvesties modulis. Šiame modulyje turėtų būti komponentės, kurios priima duomenis bei instrukcijas ir juos konvertuoja į sistemai priimtiną vidinių signalų formą. Natūralu, kad rezultatai turi įgyti tam tikrą išraišką, tai užtikrina išvesties modulis. Pastarųjų dviejų modulių visuma sudaro Į/I komponentes {I/0 components}. Būtina dar viena komponentė. Įvesties įrenginys instrukcijas ir duomenis priiminėja nuosekliai. Tačiau programos ne visada vykdomos nuosekliai; jos gali daryti šuolius (pvz., pagal JUMP# instrukciją). Be to, operacijoms su duomenimis vienu metu gali prireikti daugiau negu vieno duomenų elemento iš anksto nustatytoje instrukcijų sekoje. Todėl turi būti numatyta vieta, kur laikinai bus saugomos ir instrukcijos, ir duomenys. Šis modulis pavadintas atmintimi, arba pagrindine atmintimi, siekiant jį atskirti nuo išorinių kaupiklių arba periferinių įrenginių. Noimanas pabrėžė, kad ta pati atmintis gali būti naudojama ir instrukcijoms, ir duomenims. Duomenys, kol vyksta skaičiavimai, visada traktuojami kaip duomenys. Tačiau instrukcijos taip pat gali būti traktuojamos kaip duomenys, iš kurių interpretuojami kodai valdymo signalams generuoti. 4.4 pav. (dešinėje, (5)) parodytos kompiuterio hierarchijos aukštesniojo lygmens komponentės ir numatoma sąveika tarp jų. CPĮ paprastai valdo visas funkcijas. Jis keičia duomenis atmintyje naudodamas du vidinius (CPĮ atžvilgiu) registrus: atminties adresų registrą (AAR), kuris nusako adresą atmintyje, iš kur bus skaitomi arba rašomi kiti duomenys, ir atminties buferinį registrą (ABR), kuriame esti duomenys, rašomi į atmintį arba ką tik nuskaityti iš jos. Panašiu būdu Į/I adresų registras (Į/I AR) nusako tam tikrą Į/I įrenginį. Į/I buferinis registras (Į/I BR) reikalingas tam, kad vyktų keitimasis duomenimis tarp Į/I modulio ir CPĮ. Atminties modulį sudaro vadinamųjų ląstelių, kurios pažymimos iš eilės sunumeruotais adresais, visuma. Kiekvienoje ląstelėje yra dvejetainis skaičius, kuris gali būti arba instrukcija, arba duomenys. Į/I modulis transportuoja duomenis iš išorinių įrenginių į CPĮ ir į atmintį arba atvirkščiai. Jame yra vidiniai buferiai, kuriuose šie duomenys saugomi, kol juos bus galima išsiųsti. Kompiuterio funkcionavimas Programos vykdymas – pagrindinė kompiuterio funkcija. Vykdoma programa – tai visuma atmintyje saugomų instrukcijų. Centrinis procesorinis įrenginys dirba tam tikrą darbą vykdydamas programoje nurodytas instrukcijas. Kad geriau suprastume šią pagrindinę funkciją, suvoktume, kokiu būdu vykdant programą sąveikauja pagrindinės kompiuterio komponentės, turime detaliau išnagrinėti patį programos vykdymo procesą. Pats paprasčiausias būdas – tarti, kad instrukcija apdorojama per du žingsnius: vienu laiko momentu CPĮ skaito (išrenka) {fetches} instrukciją iš atminties, o kitu – ją vykdo. Taigi programos vykdymo procesą sudaro pasikartojantis instrukcijų išrankos bei instrukcijų vykdymo procesas. Suprantama, patį instrukcijos vykdymo procesą tai pat gali sudaryti keli smulkesni žingsniai. Šiuo etapu apsiribosime tuo, kad instrukcijos apdorojimas dviejų stadijų – išrankos ir vykdymo: •Išranka yra ta pati operacija visų instrukcijų ir vyksta skaitant jas atminties ląstelėse. •Instrukcija, priklausomai nuo jos pobūdžio, gali būti vykdoma viena arba keliomis operacijomis. Kiekvieno instrukcijos ciklo pradžioje CPĮ instrukciją išrenka iš atminties. Nustatant, kuri instrukcija bus išrenkama toliau, tipiškajame CPĮ taikomas programos skaitikliu (PS) pramintas registras. Nekalbant apie specialius atvejus, CPĮ po kiekvienos išrankos padidina PS vienetu ir taip gali išrinkti kitą sekos instrukciją (t. y. instrukciją, kurią rodo kitas, aukštesnis, atminties ląstelės adresas). Išrinktoji instrukcija siunčiama į CPĮ registrą, kuris žinomas kaip instrukcijų registras (IR). Instrukcijos pateikiamos dvejetainiu kodu, nurodančiu, kokį veiksmą turi daryti CPĮ. CPĮ interpretuoja instrukciją ir vykdo būtiną veiksmą. Bendruoju atveju šie veiksmai suskirstomi į keturias kategorijas: •CPĮ - Atmintis. Duomenys gali būti siunčiami iš CPĮ į atmintį arba iš atminties į CPĮ. •CPĮ - Į/I. Duomenys gali būti siunčiami į išorinę aplinką arba iš jos, juos transliuojant tarp CPĮ ir Į/I modulio. •Duomenų apdorojimas. CPĮ su duomenimis gali vykdyti tam tikras aritmetines ir logines operacijas. •Valdymas. Tam tikra instrukcija gali nurodyti, kad vykdomoji seka pakeičiama (pvz., JUMP# instrukcija). Įvesties/išvesties funkcija. Į/I modulis su CPĮ duomenimis gali keistis tiesiogiai. Lygiai taip pat kaip CPĮ, specifikuojant tam tikrą adresą, gali inicijuoti skaitymą arba rašymą iš atminties arba į ją, CPĮ taip pat gali duomenis skaityti arba rašyti iš – arba į Į/I modulį. Pastaruoju atveju CPĮ identifikuoja tam tikrą įrenginį, valdomą specialaus Į/I modulio. Tam tikrais atvejais labai naudinga užtikrinti tiesioginę Į/I ir atminties sąveiką. Tada CPĮ ,,suteikia“ Į/I moduliui ,,teisę“ skaityti iš – arba rašyti į atmintį taip, kad Į/I ↔ atminties duomenų siunta vyktų nedalyvaujant pačiam CPĮ. Vykstant tokioms siuntoms Į/I modulis perduoda atminčiai skaitymo arba rašymo komandas ir palengvina CPĮ darbą keičiantis duomenimis. Tokia operacija vadinama tiesiogine kreiptimi į atmintį {Direct Memory Access – DMA} ir detaliau bus nagrinėjama vėliau. Kol kas pakanka žinoti kompiuterio vidinių ryšių struktūrą vykstant tiesioginei Į/I ir atminties sąveikai. 2.5. Įvedimo ir išvedimo magistralės Kompiuterio architektūroje numatyta daugybė Į/I prievadų, su kuriais susiję Į/I įrenginiai ir standartai. Į/I reiškia įvestis/išvestis; šie abu prievadai gali siųsti ir gauti duomenis iš procesoriaus ir RAM. Į/I įrenginiai kompiuterį padarė neįtikėtinai lanksčia mašina. Kompiuteriai naudojami bet kam - nuo įprastų biuro užduočių, tekstų ir skaičių apdorojimo iki vaizdų apdorojimo su skaneriais ir vaizdo kameromis, vaizdo įrašų, šviesos ir muzikos kūrimo. Į/l magistralių paskirtis Pietinis tiltelis pasirodė 1987 m. Jis sukurtas todėl, kad Į/I įrenginiai nebespėjo su dideliais CPU ir RAM taktiniais dažniais. Siunčiant signalus į pridėtines plokštes, pagrindinėje plokštėje kildavo elektrinis triukšmas ir kitokių problemų. Tik kelios pridėtinės plokštės veikė kiek didesniu už 40 MHz dažniu - elektronika nebesusidorojo, mikroschemos ir laidininkai nebegalėjo taip greitai reaguoti. Todėl Į/I greitis turėjo sumažėti, lyginant su sistemos magistrale. Nuo tada sukurta daugybė įvairių Į/I magistralių standartų, kurie visi kilo iš pietinio tiltelio valdiklių. Tai senesnės ISA, MCA, EISA bei VL magistralės ir dabartinės PCI ir USB magistralės. Jos skiriasi jungimosi prie pagrindinės plokštės konstrukcija ir architektūra. Pietinis tiltelis atlieka daug įvairių funkcijų Iš pradžių įvairūs Į/I įrenginiai galėjo turėti savo valdiklį, įmontuotą į pagrindinę plokštę. Pažvelgę į 1980-ųjų pagrindinę plokštę, rasime tuzinus atskirų lustų - kiekvienas atlieka tam tikrą funkciją. Ilgainiui valdiklio funkcijos buvo sujungtos į keletą didesnių lustų. Modernus pietinis tiltelis dabar yra milžiniškas daugialypis valdiklis, jungiantis ankstesnių nepriklausomų lustų funkcijas. Keli Į/l magistralės tipai. Per daugelį metų sukurtos kelios skirtingos Į/I magistralės: ISA magistralė - sena, lėta magistralė, daugiau nebenaudojama. MCI, EISA ir VL magistralės - spartesnės magistralės, bet irgi jau nebenaudojamos. PCI magistralė - pagrindinė Į/I magistralė, naudojama visuose šiuolaikiniuose kompiuteriuose. Šios „tikros" Į/I magistralės sukonstruotos įvairioms papildomoms plokštėms tiesiogiai jungti prie pagrindinės plokštės. Tam pagrindinėje plokštėje yra įtaisytos pailgų lizdų grupės: Kompiuterio raidos metu įvairios Į/I magistralės pamažu keitė viena kitą. Pagrindinėse plokštėse dažnai būdavo kelios magistralės, tačiau dabar naudojama tik viena PCI magistralė papildomoms plokštėms, kaip tinklo, garso ir kt., prijungti. Kiekvienas įrenginys užima vieną IRQ (ir galbūt DMA) kanalą ir su kitais įrenginiais dažnai kyla nesusipratimų. Didžiulis lūžis įvyko paskutiniojo dešimtmečio pabaigoje, kai „Intel" pagaliau atsisakė ISA magistralės ir ją pakeitė USB magistrale EISA ir VL magistralės ISA magistralė buvo per lėta, todėl Į/I įrenginiams reikėjo sukurti naujus standartus. 1987-1988 m. pasirodė dvi naujos Į/I magistralės. IBM išleido technologiškai patobulintą MCA magistralę. Bet ją užpatentavus, daugybė kitų bendrovių susivienijo EISA magistralei kurti. Tačiau nei MCA, nei EISA rinkai neturėjo didelės reikšmės. Iki 1993 m. dar buvo naudojamasi ISA magistrale, kol galiausiai paplito VL magistralė. Tai buvo vietinė magistralė, ir tai reiškė, kad ji su sistemine magistrale veikė sinchroniškai. VL magistralė labai primityvi; iš tikrųjų ji yra tik sisteminės magistralės plėtinys. VL niekada neturėjo didelės reikšmės, nes beveik tuo pačiu metu pasirodė stipri ir efektyvi. CI magistralė. Žemiau pateikta įvairių Į/I magistralių apžvalga: Ši magistralė taip pat tam tikru mastu suderinama su ISA magistrale, nes PCI įrenginiai reaguoja į ISA magistralės signalus, kuria tuos pačius IRQ ir t.t. Todėl buvo sukurtos abiem magistralėms tinkamos garso plokštės „Sound Blaster", o praėjusio dešimtmečio viduryje tai buvo labai svarbu. Optimaliomis sąlygomis PCI magistralė kiekvienu taktiniu impulsu pasiunčia vieną duomenų paketą (32 bitus). PCI magistralė PCI (Peripheral Component Interconnect -periferinių komponentų sąsaja). Ši magistralė yra „Intel" kūrinys, naudojamas visuose šiuolaikiniuose PC sistemos ir kitų sistemų kompiuteriuose, nes PCI magistralė nepriklauso nuo procesoriaus. Ją galima naudoti su visais 32 ir 64 bitų procesoriais, todėl ją galima aptikti įvairios architektūros kompiuteriuose. PCI magistralė turi buferį, kuris veikia tarp CPU ir periferinių įrenginių (RAM podėlio). Tai leidžia CPU pristatyti duomenis į buferį, o paskui atlikti kitas užduotis. Magistralė prižiūri likusį perdavimą. Alternatyva - PCI papildomos vidinės plokštės taip pat gali pasiųsti duomenis į buferį, nepaisant to, ar CPU turi laiko juos apdoroti, ar ne. Duomenys tik stovi eilėje ir laukia, kol atsiras vietos sisteminėje magistralėje, kuri paskui juos siunčia į CPU. 2.6. Pagrindinės plokštės mikroschemų rinkinys Mikroschemų rinkinys – daugiafunkcijinių mikroschemų rinkinys viename ar keliuose mikroschemų korpusuose. Būna įvairių paskirčių mikroschemų rinkiniai, pvz., rinkiniai, skirti stiprintuvams, kontroleriams ar kitiems prietaisams realizuoti, bet plačiau ši sąvoka taikoma, kalbant apie kompiuterių mikroschemų rinkinius. Kompiuterio mikroschemų rinkiniai Kompiuteriuose naudojami mikroschemų rinkiniai (neretai vadinami žargonu „čipsetas“) atlieka dvi pagrindines funkcijas: duomenų perdavimo (realizuoja duomenų magistrales ir jų kontrolerius) bei įvairius nesudėtingus, standartinius įrenginius. Dažniausiai tai dvi (rečiau – viena ar trys) mikroschemos, įmontuotos į sisteminę plokštę. Labiausiai paplitęs lustų rinkinys yra sudarytas iš dviejų grandinių, paprastai vadinamų šiauriniu ir pietiniu tilteliais. Šios schemos laikosi populiariausių lustų rinkinių gamintojai VIA ir „Intel". Šiaurinį ir pietinį tiltelius jungia galinga magistralė, kartais vadinama jungiamuoju kanalu: Šiaurinis tiltelis - tai valdiklis, valdantis duomenų srautą tarp pagrindinio procesoriaus, darbinės atminties ir AGP prievado. AGP iš tiesų yra vaizdo plokštės įvesties/išvesties (Į/I) prie vadas. Kitaip nei kiti Į/I įrenginiai, AGP prijungtas tiesiai prie šiaurinio tiltelio, nes jis turi būti kuo arčiau RAM. Pietinis tiltelis atlieka daug įvairių valdymo funkcijų. Jis prižiūri duomenų perdavimą iš ir į kietąjį diską ir kitus Į/I įrenginius bei perduoda šiuos duomenis į magistralę, jungiančią su šiauriniu tilteliu. Į pagrindinės plokštės lustų rinkinius šiuo metu diegiamos tokios papildomos funkcijos: • Vaizdo plokštė (šiaurinis tiltelis) • Garso plokštė (pietinis tiltelis) • Modemas (pietinis tiltelis) • Tinklo plokštė ir jungtys „Firewire" (pietinis tiltelis). Paprastai visas šias funkcijas gali atlikti išoriniai arba vidiniai (jungiami per išorines jungtis arba per plokštės PCI lizdus) įrenginiai. Tačiau paaiškėjo, kad šias plokštes galima integruoti į lustų rinkinį. 2.7. Vidinė atmintis, procesorius Procesorius atlieka įvairiausius veiksmus su duomenimis. Duomenis reikia kur nors pasidėti – įsiminti, įrašyti. Tam kompiuteris turi atmintinę. Atmintinė skirstoma į dvi dalis: vidinę ir išorinę. Vėlgi galime palyginti su žmogumi: smegenys – vidinė atmintinė, žmogaus naudojami informacijos šaltiniai – išorinė atmintinė. Abiejų rūšių atmintinės turi savų privalumų ir trūkumų. Vidinėje atmintinėje galima labai greitai pasiekti bet kurią ten laikomą informaciją. Tačiau šios atmintinės gamyba brangi, todėl ji kompiuteryje nėra didelė. Išorinė atmintinė gali būti didelė, nesunkiai pagaminama, tačiau joje esanti informacija pasiekiama lėčiau. Todėl visa informacija saugoma išorinėje atmintinėje, o į vidinę įkeliama tik ta, kurios reikia konkrečiu momentu. piuterio vidinę atmintinę galime įsivaizduoti kaip popieriaus lapą, suskirstytą langeliais, į kuriuos rašomi skaičiai, reiškiantys komandas arba duomenis. Atmintinė (paveikslėlis apačioje) būna kompiuterio sisteminiame bloke. Dažniausiai minimos keturios esminės vidinės atmintinės rūšys: 1) pastovioji (ROM); 2) pagrindinė, operatyvioji (RAM); 3) sparčioji (cache); 4) vaizdo (VRAM). Pastoviojoje atmintinėje saugoma būtiniausia informacija, iš jos galima tik skaityti, o įrašyti į ją nieko neleidžiama (todėl ji vadinama anglų k. – read only memory (ROM), t.y. „tik skaityti iš atmintinės“. Pastoviojoje atmintinėje būna įrašyta pagrindinė įvesties ir išvesties sistema (anglų k. basic input/output system (BIOS)), kompiuterio darbo pradžia ir t.t. Informacija į šią atmintinę įrašoma gaminant kompiuterį, vartotojas jos negali pakeisti. Sutrikus pastoviajai atmintinei, sutrinka ir viso kompiuterio darbas. Svarbiausioji vidinės atmintinės dalis – pagrindinė atmintinė. Nuo jos priklauso viso kompiuterio darbas. Joje laikoma informacija, su kuria konkrečiu metu dirba centrinis procesorius. Tai būtų: - operacinės sistemos branduolys; - programa, su kuria konkrečiu metu dirbama (pavyzdžiui, teksto tvarkymo sistema); - dalis duomenų, kuriuos vartoja konkrečiu metu aktyvi programa; - duomenų, kurie rodomi vaizduoklyje, kodai – vaizdai. Taigi pagrindinė atmintinė laiko programinę įrangą ir informaciją, kurią dirbdamas naudoja centrinis procesorius. Taip pat į ją įkeliama vartotojo pasirinkta ir vykdoma programa. Daug keblumų su pagrindinės atmintinės pavadinimu. Anglų k. ji vadinama random access memory (RAM) – tiesioginės kreipties atmintinė. Šios atmintinės svarbiausia savybė – informacija joje surandama greičiau, negu išorinėje atmintinėje, todėl ji dažnai vadinama operatyviąja. Nevengiama vadinti ir išsamiau: tiesioginės kreipties atmintine. Įvardijant pagrindine atmintine, pabrėžiamas šios atmintinės rūšies svarbumas vartotojui. Kasmet kompiuteriai gaminami su vis didesne ir didesne pagrindine atmintine. Dabartinių kompiuterių pagrindinės atmintinės talpa – 64 ir daugiau Mbaitų. Sparčioji atmintinė (anglų k. cache memory) – tai tarpininkė tarp pagrindinės atmintinės ir procesoriaus. Joje laikoma aktualiausia informacija, kurios dažniausiai prireikia procesoriui – jis ją gauna greičiau ir dėlto paspartėja viso kompiuterio darbas. Šios rūšies atmintinės kompiuteriuose atsirado ne taip seniai, jos susijusios su mikroschemų gamyba ir gali būti laikoma tarytum pagrindinės atmintinės dalimi. Analogiškai nuo pagrindinės atmintinės atsiskyrė ir vaizdo atmintinė (anglų k. visual access memory, sutrumpintai VRAM). Ji aptarnauja vaizduoklio procesorių ir skiriama grafinei informacijai, kuri turi būti vaizduojama ekrane, laikyti. Procesoriumi vadinamas įtaisas, kuriame atliekamos visos skaičiavimo operacijos, loginės operacijos, skaičiavimų valdymo operacijos, duomenų mainai su pagrindine ir išorine atmintine operacijos. Kompiuteris, duomenų magistralė ir tinklo plokštė leimia darbo tinkle našumą. Beto darbo našumą tarp plokštės ir kompiuterio lemia šie veiksniai: • Tiesioginė kreiptis į kompiuterio RAM (Random–Access Memory), kai duomenys iš tinklo plokštės buferio tiesiogiai perduodami į kompiuterio operatyviąją atmintį aplenkiant CPU (Central Processing Unit) • Kuo didesnė tinklo plokštės darbinė atmintis RAM (Random–Access Memory) talpa, tuo labiau pagreitina jos veikimą, nes yra arčiausiai • Jei kompiuteris turi didelį operatyvios atminties RAM (Random–Access Memory) rezervą, tai jį gali panaudoti tinklo plokštės procesorius, joje kaupdamas siunčiamų ir gaunamų duomenų paketus • Jeigu plokštė gali laikinai perimti kompiuterio duomenų magistralės valdymą, tai duomenis perduos tiesiogiai į kompiuterio operatyviąją atmintį RAM (Random–Access Memory). CPU (Central Processing Unit) tuo metu gali spręsti kitus uždavinius. Tokiu būdu visos sistemos greitaveika padidėja 20–70%. • Kadangi šiuolaikinės tinklo plokštės duomenis perduoda ir priima daug greičiau, negu sugeba juos apdoroti. Jei plokštės atminties buferis yra pakankamai talpus, tai duomenų kaupimas jame gali žymiai paspartinti tinklo plokštės veikimą • Dauguma šiuolaikinių tinklo plokščių turi nuosavą vidinį mikroprocesorių. Todėl mažiau apkraunamas centrinis kompiuterio procesorius CPU (Central Processing Unit) ir pagreitėja visos tinklinės operacijos 2.8. Išorinės atminties kaupikliai Išorinės atminties įrenginiuose informacija saugoma autonomiškai nepriklausomai nuo to, ar kompiuteris įjungtas. Šiuose įrenginiuose informacijai saugoti naudojami įvairūs metodai – magnetinis, optinis, elektroninis arba jų derinys. Pagal kreipties į išorinėje atmintyje saugomą informaciją būdą jos įrenginiai skirstomi į tiesioginės ir nuosekliosios kreipties. Išorinės atminties įrenginiams būdinga tai, kad visi jie operuoja informacijos blokais, bet ne baitais, žodžiais arba bitais. Paprastai šie blokai būna fiksuotojo dydžio. Diskiniai kaupikliai. Duomenys bei programos kompiuteriuose saugomi įvairiuose kaupikliuose: lanksčiuosiuose diskuose {floppy disk}, standžiųjų diskų įrenginiuose {hard disk}, juostiniuose {tape} ir kituose kaupikliuose. Nepaisant didelės diskinių kaupiklių įvairovės ir informacijos rašymo bei skaitymo principų, pagrindinis jų mechanizmas yra toks, kaip supaprastintai pavaizduota 8.1 pav. Diskinio kaupiklio mechanizmas (4) Informacijos nešiklio sluoksnis – magnetinis, optinis arba koks nors kitas – yra diskų darbiniuose paviršiuose. Diskus suka ašinis variklis {spindle motor}, užtikrinantis tam tikrą sukimosi greitį. Diske yra indeksų žymeklis, specialiu davikliu pažymintis kiekvieną disko apsisukimo pradžią. Informacija diskuose išdėstoma koncentriniuose takeliuose {tracks}, kurių numeracija prasideda nuo išorinio {track 00}. Kiekvienas takelis suskaidytas į fiksuotojo dydžio sektorius {sector}. Sektorius yra minimalus informacijos blokas, kuris gali būti įrašytas arba nuskaitytas iš disko. Sektorių numeracija prasideda vienetu ir derinama prie indeksų žymeklio. Kiekviename sektoriuje yra tam tikros tarnybinės informacijos apie jo adresą, kontrolinius kodus ir pan. bei duomenų sritis, kurios dydis paprastai 512 baitai. Jei kaupiklyje esti keli darbiniai paviršiai (ašyje gali būti išdėstytas diskų paketas ir kiekviename diske abu paviršiai gali būti darbiniai), tai to paties numerio takelių visuma sudaro šio numerio cilindrą {cylinder}. Kiekvienam disko darbiniam paviršiui skirta sava informaciją skaitanti ir rašanti galvutė {head}. Galvutės numeruojamos nuo nulio. Kad įvyktų elementari keitimosi duomenimis operacija – sektoriaus skaitymas arba rašymas – ašis turi suktis nustatytu greičiu, galvučių blokas turi būti pastumtas ties tam tikru cilindru ir tik tada, kai tam tikras sektorius priartės prie nurodytos galvutės, tarp galvutės ir kaupiklio elektroninių schemų prasidės keitimasis duomenimis. Duomenų magnetinis įrašymas. Įrašinėjant kiekvieną duomenų bitą magnetiniame diske formuojasi skirtingo įmagnetinimo atkarpųseka. Įrašymo takelio atkarpa, kurioje gali būti įrašyta viena įmagnetinimo ženklo keitimosi zona, vadinama perėjos ląstele {transition cell}, arba tiesiog bito ląstele. Tokios ląstelės geometriniai matmenys priklauso nuo įrašo signalo taktinio dažnio ir greičio, kuriuo diskas juda įrašymo galvutės atžvilgiu. Įrašinėjant atskirus duomenų bitus šiose ląstelėse iš ženklo keitimosi zonų formuojasi tam tikram informacijos kodavimo metodui būdingas „ornamentas“. Tai susiję su tuo, kad įrašymo signalas nėra tiksli išeities duomenų impulsų sekos kopija (prieš įrašant, duomenys tam tikru būdu koduojami). Diskinių kaupiklių komponentės. Diskų plokštelės {platter} gali būti lanksčios arba standžios, medžiaga, iš kurios jos pagamintos turi užtikrinti geometrinių matmenų stabilumą. Diskelių plokštelės gaminamos iš mailaro arba lavsano, standžiųjų diskų – pagrindinai iš aliuminio. Plokštelių paviršiuje sudaromas darbinis magnetinis sluoksnis (geležies oksidas). Nuo darbinio sluoksnio medžiagos kokybės priklauso didžiausiasis leistinas informacijos įrašymo tankis. Diskų sukimosi greitis skirtinguose kaupikliuose skiriasi. Kaupikliuose su lanksčiaisiais diskeliais sukimosi greitis 300…360 min-1, diskiniuose kaupikliuose – 3600 min-1. Sparčiuosiuose kaupikliuose sukimosi greitis gali būti 5400 min-1 ir net 7200 min-1. Tačiau esant dideliems sukimosi greičiams, kyla balansavimo, giroskopinio efekto ir galvučių aerodinamikos problemų. Esant magnetinėms galvutėms labai svarbu, kokiu atstumu jos išdėstytos virš magnetinio sluoksnio paviršiaus. Diskeliniuose kaupikliuose ne darbo metu galvutė būna per kelis milimetrus virš disko paviršiaus, o informaciją skaitant arba rašant, speciali elektromagnetinė pavara ją prispaudžia prie disko paviršiaus. Tačiau tiesioginis galvutės ir paviršiaus sąlytis leistinas tik esant nedideliems sukimosi greičiams. Kaupikliuose, kuriuose diskų sukimosi greičiai dideli, galvutės virš darbinių paviršių aerodinaminės keliamosios jėgos palaikomos per mikroskopinius tarpelius. Galvutės „kritimas“ ant darbinio paviršiaus, diskui sustojus, gali pažeisti ir pačią galvutę, ir diską. Kad taip neįvyktų, ne darbo metu galvutės išvedamos {parking} į nedarbinę zoną, kur leistinas jų nusileidimas. Galvučių padėčiai į tam tikrą cilindrą nustatyti diskeliniuose kaupikliuose ir senuosiuose diskiniuose kaupikliuose naudojami žingsniniai varikliai. Šių variklių veleną, siunčiant tam tikrą impulsų skaičių, galima apsukti nurodytu kampu. Kampinis (sukamasis) judėjimas į tiesinį keičiamas sliekine arba juosteline pavara. Automatinio sistemų valdymo požiūriu pavara su žingsniniu varikliu yra atviroji sistema (nėra grįžtamojo ryšio). Tokioje sistemoje neįmanoma klaidų korekcija. Visose keitimosi duomenimis operacijose tikrinamas cilindro numeris ir jeigu jis nesutampa su tam tikru, galvučių padėtis nustatoma iš naujo – grįžtama į nulinį cilindrą ir siunčiami tam tikro žingsnio impulsai. Galvučių padėties nustatymas į nulinį cilindrą kontroliuojamas specialiu nulinio cilindro jutikliu (dažniausiai tai būna optopora). 8.2 pav. Sukimosi pavara (4) Moderniuosiuose kaupikliuose naudojama judančių ričių {voice coil actuator} galvučių pavara, kuri veikia pagal magnetoelektrinės sistemos elektrinių matavimo prietaisų principą. Tokioje pavaroje galvučių blokas susietas su induktyvumo rite, ši patalpinta į nuolatinio magneto lauką. Daugumoje modernių diskinių kaupiklių naudojama sukimosi pavara (8.2 pav.), čia, valdant srovės kryptį ir stiprį, galvučių bloką galima išdėstyti bet kur, o ne pagal fiksuotus žingsnius. Tačiau tokioje sistemoje būtinas grįžtamasis ryšys – informacija apie esamą galvutės padėtį. Pavara, užtikrinanti tikslų galvutės padėties nustatymą pagal grįžtamojo ryšio signalą, vadinama servopavara (sekos pavara). Valdymo sistemą šiuo atveju pavyko uždaryti išdėstant pagalbinę „nutaikymo“ informaciją – tarnybines žymes (servožymes) – pačiame diske. Kadangi tarnybinės žymės išdėstomos tuose pačiuose diskuose, disko ir pavaros matmenų pokyčiai neturės didelės įtakos galvučių padėties nustatymo tikslumui. Tarnybinės žymės įrašomos kaupiklio surinkimo metu. Eksploatacijos metu tarnybinės žymės tik skaitomos. Duomenų kodavimo būdai. Didinant įrašymo tankį, ženklo keitimosi zonų ir tolygaus įmagnetinimo atkarpų matmenys tampa panašūs ir universalios magnetinės galvutės išėjimo signalas iš impulsinio vis labiau tampa panašus į analoginį. Atkūrimo signalo pulsacijų ir plokščiųjų dalių tarp jų trukmės taip pat tampa panašios ir jas atskirti vienas nuo kitų darosi problemiška. Keičiantis dvejetaine informacija ypač svarbu užtikrinti patikimą imtuvo ir siųstuvo sinchronizaciją. Diskiniuose kaupikliuose siųstuvas – tai magnetinis diskas, imtuvas – galvutė ir visas tolesnis keitimosi duomenimis traktas. Magnetiniuose diskuose sinchronizavimo signalai jungiami su informatyviais signalais ir siunčiami viena linija. Šis signalų jungimas ir įkūnija duomenų kodavimo daugelio metodų idėją. Elementarus duomenų ir sinchronizavimo signalų jungimas – „apskliausti“ kiekvieną informacijos bitą, t. y. prieš siunčiant duomenų ląstelę į ryšio liniją siunčiamas sinchronizavimo signalas. Kai nešikliai esti magnetiniai, tai reiškia, pavyzdžiui, kad informaciją sauganti ląstelė turi prasidėti nuo ženklo keitimosi zonos, kuri atstos antraštę. Toliau seka informacijos bitą atitinkanti perėja. Nagrinėjamoji ląstelė baigiasi dar viena ženklo keitimosi zona, kuri tuo pat metu bus kitos ląstelės startinė zona. Aprašytasis metodas (buvo realizuotas Manchester II kompiuteryje) labai patikimas, tačiau papildomos ženklo keitimosi zonos užima diske papildomą vietą. Diskinių kaupiklių kūrėjai išradinėja tokius duomenų kodavimo būdus, kurie suteikia galimybę sutalpinti kuo daugiau duomenų bitų esant minimaliam ženklų keitimosi zonų kiekiui. Realiai taikomi trys duomenų kodavimo būdai: • dažninės moduliacijos {FM – Frequency Modulation}; • MFM ir • RLL. Įrašų sektoriai. Disko įrašo takelis per didelis, kad jį galima būtų naudoti kaip informacijos saugojimo vienetą. Daugelio kaupiklių takelio talpa viršija 50 000 baitų, tokį bloką skirti mažam failui saugoti labai neekonomiška. Todėl takeliai diske skaidomi į tarpines atkarpas – sektorius. Sektorių takelyje būna skirtingai. Pavyzdžiui, diskeliuose – nuo 8 iki 36, diskuose – nuo 17 iki 100 ir daugiau. Dabar standartinė PC tipo kompiuterių kaupiklių sektorių talpa – 512 baitų. Sektorių numeracija prasideda vienetu (galvutės ir cilindrai numeruojami nuo 0). Pavyzdžiui, didelio tankumo {HD – High Density} 3,5² colio diskelis (1,44M talpos) suskaidytas į 80 cilindrų (0 – 79), tokime kaupiklyje yra dvi galvutės (0 ir 1), o kiekvieno cilindro takelis suskaidytas į 18 sektorių (1 – 18); taigi – 80 x 2 x 512 = 1 474 560 baitų. Sužymint diską kiekvieno sektoriaus pradžioje ir pabaigoje sudaromos papildomos sritys. Šiose srityse įrašomi sektorių numeriai ir kita tarnybinė informacija, būtina valdikliui identifikuoti sektoriaus pradžią ir pabaigą. Todėl sužymėto ir nesužymėto disko talpos skiriasi. Pavyzdžiui, 3,5² skersmens diskelio talpa nuo pradinių 2M (dabar jau yra 4M) po sužymėjimo mažėja iki 1,44 M (atitinkamai iki 2,88M). Buvo minėta, kad sektoriaus talpa yra 512 baitų, tačiau tai ne visai tikslus teiginys. Sektoriuje gali būti įrašyta būtent tiek duomenų, tačiau duomenys sudaro tik dalį sektoriaus įrašo. Visas sektoriaus dydis (kartu su tarnybine informacija) yra per 571 baitų. Skirtinguose kaupikliuose sektoriaus antraštė {header} ir pabaiga {trailer} būna įvairaus dydžio, tačiau nurodytoji sektoriaus talpa tipiška. Sektoriaus tarnybinės sritys sudaromos diską sužymint; duomenų sritys šiuo atveju užpildomos fiktyviomis reikšmėmis. Įrašinėjant, duomenų srities turinys perrašomas, o antraštės ir pabaigos informacija – ne. Ją galima pakeisti tik peržymėjus diską. 2.9. AK įvedimo ir išvedimo sistema Kompiuterizuotoje sistemoje be centrinio procesoriaus ir atminties įrenginių posistemių yra trečia svarbi kompiuterio struktūros dalis – įvesties/išvesties {I/O – Input/Output} posistemio moduliai. Kiekvienas įvesties/išvesties modulis sąveikauja su sistemine magistrale arba centriniu procesoriumi ir užtikrina vieno arba kelių periferinių įrenginių veikimą. Įvesties/išvesties (Į/I) modulį sudaro ne tik paprasta mechaninė jungtis, laidininkais ir tarpiniais įrenginiais sujungta su sistemine magistrale, jame yra ir tam tikra „intelekto“ dalis, kuri leidžia sujungti periferinius įrenginius su magistrale. Jungimo per įvesties/išvesties modulį pagrindimai gali būti tokie: • Žinoma labai daug įvairių periferinių įrenginių, kurių veikimo principai iš esmės skiriasi. Todėl labai neracionalu inkorporuoti būtiniausiąją logiką į centrinį procesorių, kad jis galėtų valdyti visus periferinius įrenginius. • Periferiniuose įrenginiuose keitimasis duomenimis dažniausiai vyksta ne taip intensyviai, kaip tarp operatyviosios atminties ir centrinio procesoriaus. Taigi taip pat būtų neracionalu naudoti sparčias sistemines magistrales betarpiškai sąveikai su periferine įranga. • Periferinėje įrangoje labai dažnai naudojami kitokie, nei kompiuterio viduje duomenų formatai (t. y. ne baitai ir ne žodžiai). Taigi kompiuteryje yra būtinas įvesties/išvesties modulis. Šis modulis vykdo dvi pagrindines funkcijas (9.1 pav.): • Sąveikauja {interface} su centriniu procesoriumi ir atmintimi per sisteminę magistralę arba centrinį skirstytuvą {central switch}. • Sąveikauja su vienu arba keliais periferiniais įrenginiais taikant bendrąjį informacijos kaitos protokolą. Pav. Nr.: 9.1 Į/I modelis 2.9.2 Išoriniai įrenginiai Kompiuterizuotos sistemos negalima įsivaizduoti be informacijos įvedimo ir išvedimo. Įvesties/išvesties operacijos vykdomos visais periferiniais įrenginiais. Jos užtikrina keitimąsi duomenimis tarp periferijos ir kompiuterio. Išoriniai įrenginiai prie kompiuterio jungiami per įvesties/išvesties modulio ryšio kanalus {links}. Ryšio kanalai naudojami valdymo ir būklės {status} informacijos bei keitimuisi duomenimis tarp įvesties/išvesties modulio ir išorinio įrenginio. Į įvesties/išvesties modulį jungiamas išorinis įrenginys dažnai vadinamas periferiniu įrenginiu arba, tiesiog, periferija. Pav. Nr.: 9.2 9.2 pav. labai apibendrintai parodyta išorinių įrenginių struktūra. Interfeisas su įvesties/išvesties moduliu realizuotas valdymo, būklės {status} ir duomenų signalais. Įvesties/išvesties modulio funkcionavimas ir struktūra Įvesties/išvesties modulis yra kompiuterio struktūros dalis valdanti vieną arba kelis išorinius įrenginius ir tvarkanti kaitimąsi duomenimis tarp šių įrenginių ir pagrindinės atminties bei centrinio procesoriaus. Taigi įvesties/išvesties modulis turi turėti du interfeisus, vieną – atžvilgiu kompiuterio, vidinį – sąveikai su centriniu procesoriumi ir operatyviąja atmintimi, o kitą – išorinį – sąveikai su išoriniais įrenginiais. Pagrindinės įvesties/išvesties modulio funkcijos gali būti suskirstytos į tokias kategorijas: • Valdymas ir taktavimas {control and timing}. • Komunikacijos su centriniu procesoriumi. • Įrenginių komunikacijos. • Duomenų buferizavimas. • Klaidų aptikimas.Įvesties/išvesties moduliai vieni nuo kitų labai skiriasi sudėtingumu ir valdomų išorinių įrenginių skaičiumi. Prie kompiuterio modulis jungiamas per signalines linijas, t. y. per sisteminės magistralės linijas. Į modulį arba iš modulio siunčiami duomenys buferizuojami viename arba keliuose duomenų registruose. Modulyje taip pat gali būti keletas registrų informuojančių apie esamą periferinio įrenginio būklę. Detalesnės valdymo informacijos iš centrinio procesoriaus gavimui kiekvienas būklės registras taip pat vykdo ir valdymo {control} registro funkcijas. Modulio struktūroje esančios loginės schemos sąveikauja su centriniu procesoriumi per valdymo linijas, kuriomis pastarasis siunčia į modulį valdymo komandas. Kai kuriomis signalinėmis linijomis naudojasi ir pats įvesties/išvesties modulis, pvz., arbitravimo ir būklės signalams perduoti. Įvesties/išvesties modulis generuoja ir atpažįsta jam priskirtų periferinių įrenginių adresus. Kiekvienas įvesties/išvesties modulis turi unikalų adresą, o jeigu jis valdo kelis išorinius įrenginius – unikalų adresų rinkinį (diapazoną). Be to, įvesties/išvesties modulyje yra specifinis loginis įrenginys jo sąveikai su jam priskirtais įrenginiais tvarkyti. Pav. Nr.: 9.3 Programinė įvestis/išvestis Pagrindinė problema, su kuria susiduriama organizuojant kompiuterizuotose sistemose įvesties/išvesties operacijas, yra labai didelis centrinio procesoriaus ir periferijos darbo spartos skirtumas. Šiuo metu žinomi ir naudojami trys įvesties/išvesties operacijos vykdymo metodai: programinis, pertraukčių ir tiesioginės kreipties. Programinėje įvesties/išvesties operacijoje keitimasis duomenimis vyksta tarp centrinio procesoriaus ir įvesties/išvesties modulio. Šiuo atveju, centrinis procesorius vykdo taikomąją programą, kuri visiškai kontroliuoja įvesties/išvesties operaciją, t. y. nustato periferinių įrenginių būklę, valdo rašymo arba skaitymo komandas ir transliuoja duomenis. Išsiuntęs komandą įvesties/išvesties moduliui, centrinis procesorius laukia kol bus įvykdyta įvesties/išvesties operacija. Jei centrinis procesorius yra spartesnis už įvesties/išvesties modulį, procesorius įvesties/išvesties operacijos metu daugiau laukia nei dirba. Pertraukiančių valdomoje įvesties/išvesties operacijoje centrinis procesorius, pasiuntęs įvesties/išvesties komandą, tęsia kitų su įvesties/išvesties operacija nesusijusių instrukcijų vykdymą. Jo darbas vėl pertraukiamas, kai įvesties/išvesties modulis užbaigia savo darbą. Skaitytojas turėtų įsidėmėti, kad programinės ir pertraukčių įvesties/išvesties atvejais tik centrinis procesorius valdo duomenų skaitymą iš operatyviosios atminties jų išvedimui {output} ir rašymą į atmintį jų įvedimui {input}. Šiems metodams yra žinoma alternatyva – įvesties/išvesties modulio tiesioginė kreiptis į atmintį {Direct Memory Access – DMA}. Šiame metode numatyta tiesioginė (betarpiška) operatyviosios atminties ir įvesties/išvesties modulio sąveika. Centrinis procesorius įvesties/išvesties operacijoje nedalyvauja. Programinio įvesties/išvesties metodo funkcijos Kai centrinis procesorius vykdomoje programoje aptinka įvesties/išvesties instrukciją, jis ją atlieka taikydamas įvesties/išvesties moduliui tinkančias komandas. Programinės įvesties/išvesties atveju, įvesties/išvesties modulis atlieka nurodytą Į/I operaciją ir tada jungia atitinkamą bitą įvesties/išvesties statuso registre (9.4 pav.). Operacijos vykdymo metu įvesties/išvesties modulis daugiau nesiunčia centriniam procesoriui jokių įspėjimo pranešimų. Centrinio procesoriaus darbas nepertraukiamas. Taigi centrinis procesorius „priverstas“ periodiškai tikrinti įvesties/išvesties modulio būklę, kol būklės registre bus aptikta informacija, kad operacija įvykdyta. Programinės įvesties/išvesties metodo nagrinėjimą pradėsime nuo procesoriaus siunčiamų komandų į įvesties/išvesties modulį apžvalgos, o po to nagrinėsime paties centrinio procesoriaus vykdomas įvesties/išvesties instrukcijas. Įvesties/išvesties komandos Įvesties/išvesties instrukcijai atlikti, centrinis procesorius siunčia adresą, specifikuoja tam tikrą įvesties/išvesties modulį bei išorinį įrenginį ir įvesties/išvesties komandą. Yra keturios centrinio procesoriaus kreipimosi komandų rūšys, kurias gali atpažinti įvesties/išvesties modulis. Tai valdymo, testavimo, skaitymo bei rašymo komandos. Valdymo komandos suaktyvina periferiją ir praneša jai ką jį turės daryti. Pvz., juostiniam įrenginiui gali būti nurodyta atsukti juostą atgal arba pajudėti į priekį per vieną įrašą. Šios komandos yra derinamos kiekvienam periferinių įrenginių tipui. Testavimo komandos taikomos nustatant įvesties/išvesties modulio ir jo periferinių įrenginių būklę. Pvz., centriniam procesoriui reikia nustatyti ar įjungtas tam tikro periferinio įrenginio elektrinis maitinimas ir ar galima šiuo įrenginiu naudotis. Taikant šias komandas centrinis procesorius taip pat gali „sužinoti“ kokia įvesties/išvesties operacija neseniai buvo vykdyta ir ar buvo joje klaidų ir pan. Skaitymo {READ} komanda nurodo įvesties/išvesties moduliui priimti duomenų dalį (porciją) iš periferinio įrenginio ir juos patalpinti į vidinį buferį, kuris 9.4 pav. pažymėtas kaip duomenų registras. Tai atlikus, centrinis procesorius jau gali gauti šią duomenų dalį (porciją). Tam jis turi pareikalauti iš įvesties/išvesties modulio, kad šis duomenis išdėstytų duomenų magistralėje. Rašymo {WRITE} komanda yra atvirkščia skaitymo komandai. Ji nurodo įvesties/išvesties moduliui priimti iš duomenų magistralės duomenų dalį (baitą arba žodį) ir toliau juos išsiųsti atitinkamam periferiniam įrenginiui. Įvesties/išvesties instrukcijos Programinėje įvesties/išvesties operacijoje tampriai susiję centrinio procesoriaus išrenkamos iš operatyviosios atminties įvesties/išvesties instrukcijos ir įvesties/išvesties komandos, kurias procesorius siunčia įvesties/išvesties moduliui šioms instrukcijoms įvykdyti. Šioje situacijoje palanku yra tai, kad instrukcijos lengvai transformuojamos {mapped} į įvesties/išvesties komandas ir gana dažnai jos visiškai sutampa. Instrukcijos forma priklauso nuo išorinio įrenginio adresavimo būdo. Paprastai prie kompiuterio sistemos per vieną įvesties/išvesties modulį gali būti prijungti keli periferiniai įrenginiai. Kiekvienas įrenginys gauna unikalų adresą. Centrinio procesoriaus siunčiamoje įvesties/išvesties komandoje būna pasirinkto įrenginio adresas. Tam, kad įvesties/išvesties modulis aptiktų jam skirtas komandas, jis turi stebėti ir interpretuoti adresų linijų signalus. Centrinis procesorius, pagrindinė operatyvioji atmintis ir įvesties/išvesties modulis bendrai naudoja {share} tą pačią adresų magistralę. Todėl galimi du adresavimo būdai: asocijuotas su atmintimi {memory-mapped} ir izoliuotasis. Esant asocijuotam su atmintimi įvesties/išvesties adresavimo būdui, operatyvioji atmintis ir įvesties/išvesties įrenginiai naudoja tuos pačius adresus (bendrą adresų erdvę). Šiuo atveju centrinis procesorius įvesties/išvesties modulio būklės ir duomenų registrus interpretuoja kaip atminties ląsteles ir kreipdamasis į atmintį bei į įvesties/išvesties modulį, naudoja tas pačias mašinines instrukcijas. Pavyzdžiui, esant 10 adresų linijų, galima bet kaip kombinuojant kreiptis į bet kurias 210 = 1024 atminties ląsteles arba į tiek pat įvesties/išvesties įrenginių. Esant asocijuotajam su atmintimi įvesties/išvesties įrenginių adresavimui magistralėje turi būti tik viena rašymo {WRITE} komandos linija ir vieną skaitymo {READ} komandos linija. Esant izoliuotajam adresavimo būdui, magistralėje turi būti numatytos atskiros linijos rašymo į atmintį bei skaitymo iš jos komandoms ir atskiros papildomos linijos įvesties/išvesties operacijos įvesties {INPUT} bei išvesties {OUTPUT} komandoms. Šiuo atveju, komandų linijos nurodo kam skirta komanda – atminčiai ar įvesties/išvesties įrenginiams. Tokiu būdu adresuojant komandas, minėtomis 10 adresų linijų, kompiuterio sistema gali operuoti 1024 atminties ląstelėmis ir 1024 įvesties/išvesties adresais. Kadangi įvesties/išvesties įrenginių ir atminties adresų erdvės, šis adresavimo būdas vadinamas izoliuotuoju įvesties/išvesties adresavimu {isolated I/O}. 2.10. Mikrovaldiklių architektūros ypatumai Mikrovaldikliai naudojami skaitmeninėje elektronikoje, kur nereikia atlikti itin sudėtingų skaičiavimų realiame laike. Jie itin patogūs ir lankstūs dėl įvairios periferijos integracijos, galimybės suderinti analogines ir skaitmenines grandines, galimybės atnaujinti projektą, neatliekant pakeitimų schemoje, bei sąlyginai nedidelės kainos. Pirmieji kontroleriai buvo gaminami is loginių komponentų. Tęsiantis miniatiūrizacijos procesui, visi komponentai reikalingi kontroleriui buvo įdiegti tiesiai į vieną integrinę schemą (kristalą). Tokiu būdu issivystė taip vadinamas vienkristalis kompiuteris, arba mikrovaldiklis. Mikrovaldiklis yra didelio integracijos lygio mikroschema, kurioje yra visos kontroleriui reikalingos dalys. Pagrindinės yra sios: · Centrinis procesorius (CPU); · Operatyvinė atmintis (RAM); · Ištrinama programuojama pastovioji atmintis (EPROM/PROM/ROM); · Nuoseklūs ir lygiagretūs įėjimo/išėjimo prievadai (I/O ports); · LCD kontroleriai; · Taimeriai; · Pertraukimų kontroleris. Įdiegus savybes, specifines tam tikrai uzduočiai atlikti, mikrovaldiklio kaina yra santykinai maza. Tipiskas mikrovaldiklis turi bito valdymo instrukcijas, tiesioginį įėjimo/isėjimo prievadų isrinkimą, taip pat greitą ir efektyvų pertraukimų apdorojimą. Mikrovaldiklį galima vadinti "vieno kristalo sprendimu". Tokia konstrukcija sumazina dalių skaičių ir kainą. Mikrovaldiklių rinka labai plati ir rinktis tikrai yra is ko. Nesunku susirasti projekto reikalavimus geriausiai atitinkantį produktą. Mikrovaldikliai pagal architektūrą skiriami į dvi grupes, Harvard ir von Neumonn. Harvard būdingos dvi skirtingos magistralės, duomenų ir programos, tuo tarpu von Neumonn architektūroje ji yra bendra. Dėl sios priezasties Harvard architektūra pranasesnė greitaveikos atzvilgiu. Apibendrinta MPS struktūrinė schema pateikta 2 pav. Ją sudaro prie bendros magistralės prijungti MP arba MV, duomenų ir programų atminties, tiesioginių mainų ir pertraukčių, komunikacijų su lokaliniu skaitmeniniu tinklu blokai, taip pat ryšio su objektu sąsajos elementai. Informacija apie objekto būseną gaunama iš daviklių (sensorių), kurie prie MPS prijungiami per matavimo keitiklius, keičiančius matuojamą fizikinį dydį dažniausiai į įtampą, srovę, impulsų trukmę, lygiagretų arba nuoseklų skaitmeninį kodą arba impulsų pasikartojimo dažnį. Į objektą siunčiami valdymo signalai dažniausiai būna įtampos, srovės, impulso pločio, impulsų skaičiaus, koduotos sekos arba jų pasikartojimo dažnio pavidalo. Jei MPS panaudotas MV, sudedamųjų dalių skaičius sumažėja, nes 10 dažnai į MV DIG sudėtį būna įkomponuota programų ir duomenų atmintis, pertraukčių blokas, komunikacijų su lokaliniu tinklu blokas, įvykių skaitikliai, taimeriai, analoginiai-skaitmeniniai (ASK) ir skaitmeniniai–analoginiai keitikliai (SAK). 2 pav. pateikta MPS struktūra yra gana reguliari. Dažnausiai atskiro objekto MPS funkcinę individualybę nustato MPS darbo programa. Konkrečiam objektui specialiai parenkamas MP arba MV tipas, OA ir PA DIG tipai ir kiekis, suprojektuojamos sąsajos su objektu schemos. Reikia atkreipti dėmesį į magistralinį-modulinį MPS organizavimo principą. Atskiri sistemos blokai ir įtaisai yra funkcionaliai užbaigti moduliai su savomis vidinėmis valdymo schemomis. Visi moduliai sujungti į bendrą magistralę, susidedančią iš įvairios paskirties linijų. Šiomis linijomis atskirų sistemų moduliai atlieka tarpusavio mainus. Esant tokiai organizacijai sistema yra “atvira”. Ją galima praplėsti prijungus naujus modulius, o modernizuoti - pakeitus atskirus modulius kitais. magistralių, dažniausiai duomenų mainams su periferiniais įrenginiais, kitais procesoriais (slave processors) ar atmintimi. Tokios struktūros pavyzdys galėtų būti firmos Analog Devices signalų procesorių SHARC (Super Harvard Architecture) šeima. Programos atmintis skirta išsaugoti parašytai programai. Kadangi atmintis yra pagaminta FLASH technologija todėl ji gali būti užprogramuota ir ištrinta daugiau nei vieną kartą, tai padaro mikrokontrolerį tinkamą įrenginio plėtojimui. EEPROM- naudojama programos ar duomenų išsaugojimui. Dažniausiai naudojama išsaugojimui duomenims kurių negalima prarasti jei dingtu maitinimas.(jungiama išoriškai). RAM - informacijos atmintis naudojama per programos vygdymą. RAM atmintyje saugoma visi tarpiniai ar laikini duomenys programos vykdymo metu. PORTA ir PORTB yra fizinė sąsaja tarp mikrokontrolerio ir išorinio pasaulio. PORTA turi penkis įėjimus/išėjimus, PORTB turi aštuonis įėjimus/išėjimus. FREE-RUN TIMER yra 8- bitų registras mikro kontrolerio viduje, kuri dirba nepriklausomai nuo programos. Kas keturis generatoriaus impulsus skaitliukas didinasi vienetu savo reikšmę tol kol pasiekia maksimalę (255) reikšmę ir vėl pradeda skaičiuoti reikšmę nuo nulio. Taimeris gali būti naudojamas skaičiuoti laiką ir tai yra labai naudinga kaikuriuose prietaisuose. CPU centrinis procesorius atlieka pagrindinę rolę mikrokontroleryje. Jis apjungia visus sisteminius blokus mikrokontroleryje. Jis kordinuoja kitų sisteminių blokų darbą ir atlieka vartotojo programą. 2.11. Mikrovaldiklio įvedimo ir išvedimo sistema Kadangi kiekv. objektas charakterizuojamas savitais ryšiais, tai interfeiso priemonės kiekvienu atveju bus skirtingos. Pasikeitimo duomenimis tarp mikroprocesoriaus ir periferinių įrenginių galimus variantus skirstome į 3 grupes. Programuojamas pasikeitimas duomenimis. Šiuo atveju laiko momentai, kuriais turėtų prasidėti pasikeitimas duomenimis, turėtų būti nustatomi programoje. Konkretus I/O komandos tipas, sutinkamas darbo programoje, nurodo reikiamą veiksmų seką sistemoje. Pasikeitimas duomenimis, kuris sužadina I/O įrenginio pertraukimo iškvietimo signalą. Šiuo atveju pasikeitimo duomenimis pradžią apsprendžia periferinių įrenginių darbas. Pasirodžius pertraukimo užklausimo signalui, uP pradeda vykdyti specialią paprogramę, skirtą duomenų pasikeitimui valdyti. Pasikeitimas duomenimis TKA (tiesioginis kreipimasis į atmintį) režimu. Pasikeitimo duomenimis procedūrai realizuoti reikalinga PĮ ir procesoriaus darbo sinchronizacija, kitaip tariant, jų darbo greičiai t.b.suderinti taip, kad vėlinant lėtesniam įrenginiui, greitesnis turi palaukti. Tarp I/O įrenginio ir procesoriaus perduodami tokie signalai: Būvių signalai, kurie informuoja P apie I/O įrenginio būvį. Valdymo signalai, kuriuos uP pasiunčia I/O įrenginiams. Duomenų signalai, kuriais perduodama turininė informacija. Pirmieji 2 signalai užtikrina reikiamą veiksmų pasirinkimą. t1 – uP suformuoja duomenų reikalavimo signalą t2 – įrenginys paruošia duomenis t3 – būvio signalas parodo, kad duomenys jau paruošti. t4 –vald.sign.nustatomas į 0. t5 – nuima ir būvio signalą, ir duomenis iš magistralės. Toks perdavimas naudojamas kvitavimui. Patikimumas uP ir I/O įrenginių sinchronizavimo gali būti chronizacija,00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000pasiektas tekstinių patikrinimų pagalba. Tam įvedimo įrenginys į uP pasiunčia signalą, rodantį, kad duomenys paruošti. Šis signalas žymimas DAVIN. Prieš įvedant uP turi patikrinti šį signalą. Savo ruožtu uP turi nurodyti, kad baigė apdoroti pradėtą duomenų porciją ir pasiruošęs priimti naują. Keičiantis inf-ja, užklausimai ir atsakymai dažniausiai vyksta tokia seka: uP generuoja duomenų užklausimo signalą Q ir tuo pačiu parodo, kad pasiruošęs priimti naujus duomenis. Prieš pradėdamas perduoti duomenis, išorinis įrenginys turi patikrinti, kam lygus užklausimo signalas. Pasikeitimas valdymo signalais yra šio įvedimo pagrindas. Kai kuriais atvejais vykdant įvedimo operaciją, tikrinimą galima atlikti 1 signalu – strobu. Jis rodo, ar įvedimui skirti duomenys paruošti. Pasirodžius strobo signalui iš periferinio įrenginio, uP turi įvesti duomenis per užduotą laiko tarpą. 2.12. Mikrovaldiklio duomenų apsikeitimo kanalas UART arba Universalus Asinchroninis Imtuvas-Siųstuvas (Universal Asynchronous Receiver – Transmiter) – prietaisas, kuris verčia lygiagrečius duomenų bitus į nuoseklius duomenų bitus. UART dažniausiai būna intergruotas pagrindinėje asmeninio kompiuterio plokštėje ir palaiko nuosekliają komunikaciją tarp kompiuterio ir periferinių įrenginių. UART taip pat gali būti integruotas kaikuriuose mikrovaldikliuse, pavyzdžiui, PIC16F628. Pagrindai Bitai iš vienos vietos į kitą buvo perduodami naudojant laidus. Didėjant atstumui, laidų naudojimas pasidarė per daug brangus. Kad sumažinti išlaidas, duomenų bitai buvo pradėti siųsti eiliškai, vienas po kito, naudojant UART konvertuoti siunčiamus bitus tarp eiliškos ir lygiagrečios formos kiekviename sąsajos gale. Kiekvienas UART naudoja postūmio registrą, kuris yra pagrindinis būdas „susišnekėti“ nuoseklioms ir lygiagrečioms duomenų formoms. UART greitis matuojamas bitais per sekundę (bps), nors jis kartais neteisingai vadinamas bodu. Standartiniai greičiai yra 110, 300, 1200, 2400, 4800, 9600, 19200, 28800, 38400, 57600, 115200 bit/s ir papildomi 230400, 460800, 921600 bit/s. Pastarieji tiesiogiai priklauso nuo naudojamų įrenginių. Teoriškai, galima pasiekti ir didesnes spartas ribojimas yra tik iš kompiuterio pusės. UART dažniausiai tiesiogiai nesukuria ir nepriima įtampos lygių kurie ateina laidais iš įvairių prietaisų. Tam naudojama standartinė sąsaja, kuri apiprėžia įtampos lygius ir kitas susijungimo chrakteristikas. Tokie standartai yra EIA RS232, RS422, RS 485. Priklausomai nuo komunikacijos kanalo apribojimų su kuriuo susietas UART, komunikacijos gali būti dviejų rūšių: „pilnas dvipusis“ (abu siunčia ir priima tuo pačiu metu) arba „pusiau dvipusis“(įrenginiai pasiskirsto priimti ar siųsti). UART naudojamas nusekliuose komunikacijos kanaluose. 2.13. AK centrinio procesoriaus pertraukimai Procesoriaus sandara Pagrindinės CPĮ komponentės yra aritmetikos ir logikos įrenginys (ALĮ) bei valdymo įrenginys (VĮ). ALĮ vykdo visus būtinus apskaičiavimus ir apdoroja duomenis. Valdymo įrenginys kontroliuoja duomenų ir instrukcijų judėjimą į CPĮ ir iš jo, taip pat valdo ALĮ veikimą. 13.1 pav. parodyta maža vidinė atmintie, kurią sudaro saugojimo ląstelės vadinamos registrais. 11.1 pav (3) Registrų sandara CPĮ registrai skirti dviem funkcijoms vykdyti: Vartotojo pasiekiami registrai. Šie registrai leidžia programuotojui, taikant asemblerio programavimo kalbą arba tiesiog per mašininius kodus, sumažinti kreipčių į pagrindinę atmintį skaičių ir optimizuoti šių registrų vartojimą. • Valdymo ir būklės registrai. Jie naudojami valdymo įrenginio CPĮ darbui kontroliuoti, o taip pat valdyti operacinių sistemų programų (utilitų) taikomųjų programų vykdymą. Vartotojo pasiekiami registrai yra vieni iš tų, į kuriuos galima kreiptis taikant mašinines komandas (t. y. tas, kurias vykdo CPĮ). Faktiškai visuose dabartiniuose CPĮ yra ne tik pavienis akumuliatorius, bet ir keli vartotojo pasiekiami registrai. Pastaruosius galima sugrupuoti į tokias kategorijas: bendrosios paskirties, duomenų, adresų ir sąlygų kodų. Bendrosios paskirties registrai programuotojo gali būti pritaikyti įvairioms funkcijoms. Duomenų registrai gali būti taikomi tik duomenims saugoti ir niekada netaikomi apskaičiuojant operandų adresus. Adresų registrai patys gali būti realizuojami iš bendrosios paskirties registrų, o gali būti skirti specialiems adresavimo metodams. Paskutinė registrų, į kuriuos gali kreiptis vartotojas, grupė saugo sąlygų kodus. Juos taip pat vadina veiksmaženkliais {flags}. Sąlygų kodus sudaro tam tikri bitai, kuriais gali operuoti CPĮ techninė įranga, priklausomai nuo vykdomos operacijos rezultato. Pavyzdžiui, paprastos aritmetinės operacijos rezultatas gali būti teigiamas, neigiamas, nulinis arba perteklinis. Tokiu būdu, operacijos rezultatas saugomas atmintyje, arba registruose, tačiau kartu su juo nustatoma tam tikra sąlygos kodo reikšmė, kuri tikrinama šakojimosi operacijoje. Sąlygų kodo bitai apjungiami į vieną arba kelis registrus. Paprastai jie sudaro valdymo registro dalį. Apskritai, šiuos mašininės instrukcijos bitus galima tik skaityti, programuotojas jų keisti negali. CPĮ darbui valdyti naudojama aibė įvairių registrų. Dauguma jų vartotojams nėra pasiekiami. Kai kuriuos iš jų galima pasiekti vykdant mašinines instrukcijas valdymo arba operacinės sistemos režimuose. Natūralu, kad skirtinguose procesoriuose skiriasi registrų sandara. Taip pat naudojami skirtingi terminai. Instrukcijų vykdymui svarbiausi yra šie keturi registrai: Programos skaitiklis (PS). Saugo sekančios išrenkamos instrukcijos adresą. Instrukcijos registras (IR). Saugo naujausiąją išrinktą instrukciją. Atminties adreso registras (AAR). Saugo atminties ląstelės, iš kurios ką tik buvo perskaityta informacija arba į kurią vyks duomenų rašymas, adresą. Atminties buferio registras (ABR). Saugomas duomenų žodis, kuris bus įrašytas į atmintį arba iš atminties ką tik nuskaitytas. 2.14. Mikrovaldiklio pertraukimai • Interrupt – Function provided in most micro-controllers to allow an“external” event to cause a branch in program execution • Events associated to interrupts – External port lines • Level and edge triggered – Peripherals • Serial I/O – Asynchronous – I2C, SPI • Timers time-out • A/D end of conversion – Software instruction • Typical structural elements of interrupt functions – Control or indication functions • Specific interrupt enable function (bits/flags) • Global interrupt enable function (bits/flags) • Interrupt source indication (bits/flags) – Triggering mechanisms (level change or edge) • Typical structural elements of interrupt functions – continued – – Automatic clearing of source flags – Prioritization • May have one to many levels • Same level interrupts do not pre-empt, higher level pre-empts • Latency in servicing interrupts – Critical factor in task overhead – Composed of • Time to complete current instruction • Time to save current context • RISC strategy – Single interrupt – Processor must poll to determine interrupt source. • Hardware may be added to provide sources (PIC) or sources may be available in internal source related registers • Low power strategy – Allow the processor to sleep and wakeup only to process interrupts 2.15. Mikrovaldiklio duomenų apsikeitimo kanalas AVR AT2313 mikrovaldiklio UART'ą (Universal Asynchronous Receiver and Transmitter) galime laikyti mikrovaldiklio COM prievadu, kuris turi tokias pačias savybes, kaip ir asmeninio kompiuterio RS232 prievadas. Skirtumas tik toks, kad kompiuterio COM prievado signalų įtampų lygiai yra +/-12 V, o mikrovaldiklio 0..5 V. UART privalumas yra tas, kad jis nereikalauja programinio RS232 protokolo įgyvendinimo, kadangi tai atlieka integruota schema mikrovaldiklio viduje. Todėl pakanka tik nustatyti tos schemos parametrus įrašant reikšmes į UART registrus UBRR bei UCR. UBRR registras skirtas duomenų siuntimo/priėmimo greičiui nustatyti, kuris tiesiogiai priklauso nuo kvarcinio rezonatoriaus prijungto prie mikrovaldiklio. Lentelėje (1 pav.) pateikta keletą UBRR registro reikšmių, kaip matyti prie skirtingų kvarcinio rezonatoriaus dažnių reikšmių gauname skirtingus duomenų perdavimo greičius. Pagal lentelę minimalus duomenų perdavimo greitis yra 2400 bps, esant poreikiui gauti 1200 bps galima išsisukti iš padėties. Tokiu atveju nustatome UBRR = 103, kuris atitinka 2400 bps greitį prie 4 MHz kvarcinio rezonatoriaus. Tik šiuo atveju naudojame ne 4 MHz bet 2 MHz rezonatorių, tokiu būdu gauname reikiamą UART duomenų perdavimo spartą 1200 kbs. Tokia pati situacija, iš principo, galima ir į duomenų perdavimo spartos didinimą, bet tai paprastai nenaudojama. 1 pav. Keletas UBRR registro reikšmių UCR registras skirtas UART'o valdymui, keičiant jo reikšmes galime valdyti siuntimo bei priėmimo pertrauktis. UART'as valdomas įrašant vienetus bei nulius į registro UCR skiltis RXCIE, TXCIE, UDRIE, RXEN, TXEN. Pirmos trys skiltys valdo UART'o pertrauktis, likusios dvi leidžia įjungti bei išjungti siuntimą. Bandymams su UART reikės keleto dalykų, tai C kompiliatoriaus (IAR ar kito), programatoriaus, terminalo skirto darbui su RS232 bei pačio prietaiso (2 pav.). Prietaisui pagaminti reikės AT90S2313 mikrovaldiklio, MAX232 mikroschemos, 4 MHz kvarco, RS232 jungties, keleto kondensatorių bei varžų su šviesos diodais. Patogumo sumetimais, galite naudoti 3 mm skersmens šviesos diodus. Šveisos diodai reikalingi tam, kad būtų galima matyti ką mikrovaldiklis priėmė per UART'ą. Bandymus pradėkime nuo paprastos mirkovaldikliui skirtos programos, kuri pastoviai per UART siunčia skaičių 5. Tokiu metodu lengva patikrinti ar teisingai prijungta MAX232 mikroschema. #include "io2313.h" void main() { UBRR=143; // Nustatome 4800 bps perdavimo greitį 11 MHz rezonatoriui //Įjungiame perdavimo pertraukt į 1-> TXCIE //Įjungiame perdavimo pertrauktį per UART kai UDR tuščias //Išjungiame priėmimą 0-> RXEN //Įjungiame perdavimą 1-> TXEN UCR=(1 „Options“ ir pažymėti „Enable bit definition“ (3 pav.). 3 pav. Parametro nustatymas „ #include
Šį darbą sudaro 11764 ž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!
Norint atsisiųsti šį darbą spausk ☞ Peržiūrėti darbą mygtuką!
Mūsų mokslo darbų bazėje yra daugybė įvairių mokslo darbų, todėl tikrai atrasi sau tinkamą!
Panašūs darbai
Atsisiuntei rašto darbą ir neradai jame reikalingos informacijos? Pakeisime jį kitu nemokamai.
Pirkdamas daugiau nei vieną darbą, nuo sekančių darbų gausi 25% nuolaidą.
Išsirink norimus rašto darbus ir gauk juos akimirksniu po sėkmingo apmokėjimo!