2012 m. gruodžio 28 d., penktadienis

4. Mikroprocesorių sistemos sandara ir funkcionavimo principai



Temos tikslai:
  1. Paaiškinti mikroprocesorinių sistemų paskirtį, sudėtį ir pagrindines funkcijas. 
  2. Sugebėti paaiškinti keitimosi duomenimis sistemoje principus, žinoti kas tai yra procesoriaus darbo taktas, ciklai, kas lemia ciklų skaičių komandoje.

Temai studijuoti skirtas laikas:               2 teorijos valandos;
2 savarankiško darbo valandos.
Mokydamiesi šios temos turėsite  suprasti, kas tai yra mikroprocesorinė sistema, iš ko ji sudaryta, koks joje mikroprocesoriaus vaidmuo, kokios jos funkcijos, kaip ji sąveikauja su operacine sistema.
Jūs turėsite perprasti, kaip jungiami vienas su kitu mikroprocesorinę sistemą sudarantys moduliai, kaip gali būti organizuojamas keitimasis informacija sistemoje. Tik gerai suprasdami mikroprocesorinės sistemos struktūrą ir paskirtį galėsite nuodugniau gilintis į patį mikroprocesorių.
Mikroprocesorius   yra  procesoriaus   modulio   svarbiausia  dalis   -   "širdis".   Tam, kad mikroprocesorius dirbtų, reikalingas impulsų šaltinis, išduodantis  stačiakampio formos sinchrosignalus, sinchronizuojančius sistemos darbą. Tokių impulsų generatorius   vadinamas laikrodžiu. Kai sinchronizatorius neveikia, jokie informacijos perdavimai ar pakeitimai procesoriuje negalimi. Procesorius turi gauti komandas ir duomenis, kuriuos reikia apdoroti. Tuo tikslu jam būtina keistis informacija su kitais mikroprocesorinės sistemos moduliais per sistemos magistralę. Magistralės valdymosignalus formuoja sistemos valdiklis. Visos paminėtos dalys, sujungtos per sistemos (bendrąją) magistralę sudaro minimalios sudėties  procesoriaus modulį.
Be procesoriaus modulio į mikroprocesorinę sistemą įeina:
Ø                    atmintinės modulis,
Ø                    įvesties – išvesties modulis,
Ø                    sąsajos su realiais objektais modulis ( tik valdymo sistemose).
Visi moduliai sujungiami tarpusavyje per sistemos (bendrąją) magistralę.
Įvesties - išvesties modulį sudaro išoriniai įrenginiai ir jų valdikliai.
Mikroprocesorinė sistema su prijungtais prie jos išoriniais įrenginiais vadinama mikrokompiuteriu.
4.1 pav. Mikroprocesorinės sistemos sandara
Sąsaja - tai mikroprocesorinės sistemos standartizuota ryšio tarp įrenginių priemonių sistema.
Sąsają sudaro:
Ø      unifikuotos informacijos perdavimo magistralės,
Ø      unifikuotos elektroninės schemos, valdančios informacijos perdavimą jomis,
Ø      informacijos mainus apibūdinantys    algoritmai, signalai ir reikalavimai jiems.
Procesorius jungiasi su likusia kompiuterio dalimi trimis pagrindinėmis išvadų (kontaktų) grupėmis:
Ø      duomenų,
Ø      adreso,
Ø      valdymo.
Duomenų magistrale perduodami duomenys. Priklausomai nuo valdymo magistralės signalų, duomenų perdavimo kryptis gali būti tiek iš procesoriaus, tiek ir į procesorių. Šio tipo kontaktų paprastai būna tiek, koks yra procesoriaus žodžio ilgis. Vienavardžiai procesoriaus ir visų atmintinės bei įvedimo - išvedimo įrenginių duomenų magistralės išvadai sujungti tarpusavyje.
Adresų magistralėje procesorius nustato kiekvienai atmintinės ląstelei ir kiekvienam įvedimo-išvedimo įrenginiui specifinę kombinaciją (adresą). Adresų magistralė mikroprocesorinėje sistemoje yra skirta mikroprocesoriaus duodamiems adresams perduoti į kitus sistemos modulius, t.y. adresų magistralė paprastai yra vienakryptė.  Iš procesoriaus priima (arba savo duomenis perduoda) tik tas įrenginys ar atmintinės ląstelė, kurios adresas nurodytas šioje magistralėje. Pavyzdžiui, Intel 8080 adreso magistralė yra šešiolikos bitų. Taigi galima dirbti su 65536 (tiek gali būti derinių) atmintinės ląstelėmis - atmintinės apimtis lygi 64 kilobaitams (tuo metu to pakako). Atmintinės ir įvedimo-išvedimo įrenginiai, kurių adresas neatitinka šiuo metu išduoto, savo duomenų magistralės elektrines grandines perveda į Z būseną (loginio elemento išėjimas nuo lusto išėjimo kontakto elektriškai atjungtas).
Valdymo magistralėje procesorius nurodo duomenų perdavimo kryptį (iš ar į procesorių) bei neretai ir išorinio įrenginio tipą (atmintinė ar įvedimo-išvedimo įrenginys). Ja taip pat perduodami ir įvairūs paties procesoriaus darbą valdantys signalai (pertraukimo ir kiti).
Kiekviename konkrečiame darbo cikle paprastai per sistemos magistralę vyksta keitimasis informacija tarp 2 mikroprocesorinės sistemos modulių. Todėl kitų modulių duomenų išvadai būna trečiojoje "z" būsenoje.
Keitimasis informacija vykdomas užsakovo - vykdytojo principu. Atmintinės modulis visada būna tik vykdytoju (slave), o kiti moduliai gali būti užsakovai (master) ir vykdytojai. Kiekvienu laiko momentu magistrale perduodamas tik vienas žodis, tačiau tuo pačiu metu gali vykti keitimasis informacija tarp daugelio modulių.
Sistemos magistralės nesudėtingoms mikroprocesorinėms sistemoms gali būti projektuojamos atsižvelgiant į vartotojo poreikius, o sudėtingesnėms - paprastai parenkamos standartinės sistemos magistralės, kuriose yra griežtai apibrėžtas ryšio linijų skaičius, išduodami jomis signalai, jų parametrai ir t.t.
Atmintinėje saugomos programos ir joms vykdyti reikalingi duomenys. Į tas pačias ląsteles galima įrašyti arba komandas arba duomenis.
Kompiuterio atmintinė naudojama lyg jo rašomasis stalas, žaidimų laukas arba darbo kambarys. Pagrindinė vidinės atmintinės paskirtis - darbo erdvės suteikimas procesoriui.
Atmintinė suskirstyta baitais. Kiekvieną baitą sudaro 8 bitai. Vienas ir tas pats bitų rinkinys gali būti skačiumi, abėcėlės raide ar komandos kodu. Tose pačiose atmintinės ląstelėse gali  būti saugomos arba programų komandos arba skaitmeniniai (raidiniai) duomenysBaitai gali būti sujungti į didesnius informacijos vienetus, žodžius. Žodį (W) sudaro du baitai. keturi baitai sudaro dvigubą žodį (DW), aštuoni – keturgubą žodį (QW).
Kiekvienam baitui saugoti skiriama atskira atmintinės ląstelė. Ląstelių adresai numeruojami pradedant nuo nulio.
Tie patys skaičiai, kurie naudojami kompiuteryje, kaip duomenys, gali būti pritaikyti ir atminčiai adresuoti. Kiekviena atmintinės ląstelė turi fiksuotą fizinį adresą (numerį). Į ją gali būti įrašomas arba iš jos nuskaitomas duomenų baitas.. Į adresų magistralę išdavus atmintinės ląstelės adresą, išrenkama tik viena iš ląstelių ir priklausomai, nuo vykdomo kreipties į atmintinę ciklo, informacija iš ląstelės nuskaitoma ir perduodama į procesorių, arba įrašoma iš procesoriaus į atmintinės ląstelę.
4.2 pav. Duomenų kaita tarp procesoriaus ir atmintinės

Kompiuteris gali atlikti veiksmus  ir su adresais. Tai suteikia jam ypatingą galią.
Taikomi du pagrindiniai kreipties į atmintinę principai:
Ø      tiesioginis
Ø      dėklinis (stekinis)
Išrenkant iš atmintinės komandas ir duomenis taikomas tiesioginės kreipties (random acces memory) metodas. Adresas iš komandų skaitiklio arba bendrųjų registrų išduodama į adresų magistralę. Kiekvieną kitą ciklą gali būti išduodamas bet kuris kitas adresas.
Dėklinis kreipties į atmintinę principas  pagrįstas specialaus dėklo viršūnės registro turinio padidinimu vienetu įrašant informaciją ir sumažinimu – nuskaitant.
Dėklas – tai savotiška saugykla, kurioje yra visa informacija apie kompiuterio darbą. Pereinant prie kitos programos vykdymo, dėkle įsimenama informaciją apie tai, ką kompiuteris darė.
Pertraukiamos gali būti kelios programos paeiliui, tačiau užbaigus kurią tai pertraukiančiąją programą, grįžtama prie vykdytos pieš ją ir t.t.. T. y. informacija iš dėklo išrenkama pagal principą FILO (firt in – last out), lietuviškai tariant: “paskutinis į maišą, pirmas iš maišo”. Dėklas angl. –“stack” (šieno kupeta).

4.3 pav. Kreipties į dėklą principas

Dirbant kompiuteriui formuojasi vis sudėtingesnis uždavinių dėklas.
Persijungiant nuo vieno darbo prie kito, kompiuteriui reikia laikinai atidėti vieną iš jų taip, kad nesunku būtų bet kada sugrįžti prie jo.
Atmintinei ir išoriniams įrenginiams reikalingos priemonės keistis informacija. Tam tikslui skirti prievadai. Prievadas primena telefono liniją.
Bet kuriam kompiuterio elementui, su kuriuo turi ryšį procesorius, skiriamas prievado numeris ir procesorius naudojasi juo tartum telefono numeriu, kai reikia kreiptis į konkretų adresatą (atmintinės ląstelę ar įrenginį).

I/O prievadų jungimo sąsaja  jungia adresuojamus kaip atmintinės (memory - mapped I/O) prievadus, kai tam tikra atmintinės erdvės dalis priskiriama I/O įrenginiams. Ši sąsaja leidžia, į periferinius įrenginius kreiptis atmintinės tipo komandomis, tokiomis kaip MOV vietoj IN ir OUT komandų.
Kiekvienas procesorius gauna pagrindinę sinchronizuojančių jo darbą signalų seriją iš sistemos laikrodžio.
Su kitais mikroprocesorinės sistemos moduliais procesorius keičiasi informacija sinchroniniu – asinchroniniu principu. Pavyzdžiui, vienam duomenų baitui perduoti elementariame aštuonių skilčių procesoriuje I8080 reika bent trijų taktų: pirmuoju taktu į magistralę išduodamas adresas, antruoju – trečiuoju jau vykdomas baito priėmimas ar išdavimas. Jei įrenginys, su kuriuo keičiamasi informacija nėra pasiruošęs duomenis išduoti ar priimti, tarp antrojo ir trečiojo takto vykdomi laukimo taktai, kol bus gautas pasirengimo signalas iš išorinio įrenginio.
Vienu taktu procesorius gali atlikti vieną mikrooperaciją. Mikrooperacijos - tai pačios elementariausios centrinio procesoriaus vykdomos operacijos. Kiekvieną mažą instrukcijos ciklą galima suskaidyti į žingsnių, kuriuose visada naudojami CPU registrai, seką. Šie žingsniai vadinamimikrooperacijomis. Priešdėlis mikro- reiškia, kad žingsniai yra elementarūs ir labai greitai įvykdomi. 3.4  paveiksle parodyta mikrooperacijų vieta programos vykdymo procese. Bendrais bruožais programos vykdymą kompiuteryje galima apibūdinti taip: programos vykdymo metu vykdomos instrukcijų ciklų sekos; kiekviena instrukcijos ciklo vykdomo metu vykdomi trumpesni subciklai (pvz., išranka, netiesioginis adresavimas, vykdymas, pertrauktis); kiekvieno subciklo vykdymo metu atliekamos viena ar kelios trumpesnės operacijos - mikrooperacijos.















4.4 pav. Programos vykdymo sudėtiniai elementai (čia mikroop. - mikrooperacija)

Instrukcijos ciklą sudarantys subciklai:
  • Išranka {angl. fetch}. Iš atminties į CPU nuskaitoma kita instrukcija.
  • Vykdymas {angl. execute}. ID dešifruojamas operacijos kodas ir vykdoma jį atitinkanti operacija.
Sudėtingesni kompiuteriai turi keletą procesorių arba ir kitokių įrenginių, kurie prireikus paeiliui užima procesoriaus rolę. Pavyzdžiui, taip neretai elgiasi diskų skaitymo įrenginys, pats nustatydamas adresą ir rašydamas skaitomą informaciją į atmintinę tiesiogiai (ne per procesorių). Visų tokių įrenginių adreso (ir kai kurie valdymo) magistralės vienvardžiai kontaktai irgi sujungti kartu. Neaktyvių įrenginių jie taip pat pervedami į Z būseną.
Išorinis įrenginys į valdymo magistralę gali pasiųsti pertraukimo signalą, priversdamas procesorių laikinai palikti tuo metu vykdomą operacijų seką ir įvykdyti šiam įrenginiui reikalingus veiksmus. Pavyzdžiui, vykdant programą galima perkelti į kitą vietą pelės kursorių - procesorius jį perpieš reaguodamas į pelės pertraukimą.
Šiuolaikiniai procesoriai gali turėti ir įvairių vėliau pasiūlytų, šios schemos neatitinkančių signalų.
Pertrauktys pirmiausiai reikalingos instrukcijų apdorojimo efektyvumui pagerinti. Pavyzdžiui, procesorius siunčia duomenis į spausdintuvą, po kiekvienos rašymo operacijos procesorius darys pauzę ir nedirbs, kol spausdintuvas baigs spausdinti. Ši pauzė gali trukti šimtus ir net tūkstančius instrukcijos ciklų (dauguma Į/I yra daug lėtesni už procesorių), per kuriuos nebus kreipiamasi į atmintį. Akivaizdu, kad tai labai „išlaidus" procesas - kol atliekamos išorinio įrenginio operacijos, procesorius galėtų vykdyti kitas instrukcijas.

4.5 pav. Instrukcijos ciklas

Vartotojo programos atžvilgiu pertrauktis, tai įprastos vykdymo sekos sutrikdymas. Kai pertraukties apdorojimas įvykdytas, vėl tęsiama vykdyti vartotojo programą.
Siekiant prisiderinti, prie pertraukčių, į instrukcijos ciklą įvedamas pertraukties ciklas (3.5 pav.). Per pertraukties ciklą procesorius tikrina, ar nėra signalo, rodančio, kad yra pertrauktis. Jei iki šio ciklo pertraukčių nebuvo, procesorius apdorojo išrankos ciklą ir dabar išrenka kitą esamos programos instrukciją. Plačiau apie pertrauktis sužinosite 8 temoje.
Tiesioginiai mainai- tai. programiškai valdomi duomenų mainai tarp pagrindinės atmintinės ir išorinių įrengimų aplenkiant procesorių. Tokiu atveju būtina turėti specializuotą valdiklį,  kuris perimtų iš procesoriaus ne itin sudėtingas mainų valdymo funkcijas.  Nors DMA sustabdo procesorių (cycle stealing)duomenų siuntimo momentutai nėra pertraukimasnes programos kontekstas nesaugojamas ir procesorius nieko neapdoroja.  Plačiau apie tiesioginius duomenų mainus sužinosite 9 temoje.
Operacinė sistema – tai programinė įranga, valdanti aparatinės įrangos (pvz., pagrindinės atmintinės centrinio procesoriaus, disko atmintinės, išorinių įrenginių) darbą ir teikianti sąsają su kompiuterio naudotoju.
Operacinė sistema yra terpė, kurioje gali veikti kitos, į ją įdiegtos programos. Ji apsprendžia būdą, kuriuo programinė įranga naudoja kompiuterio techninę įrangą. Šis valdymas leidžia kompiuteriui dirbti pagal vartotojo poreikius sistemiškai, patikimai ir efektingai. Pasiliekanti pagrindinėje atmintinėje kompiuteriui dirbant operacininės sistemos dalis vadinama branduoliu (Kernel), valdytoju (supervisor) arba vykdančiąja (executive) operacinės sistemos dalimi. Ji valdo visų kitų programų darbą. Likusios operacinės sistemos programos saugomos tiesioginio pasiekiamumo kaupikliuose, iš kurių reikiama programa vykdytojo iškviečiama į pagrindinę atmintinę reikiamu metu. Mažuose kompiuteriuose vykdančioji programa būna ROM. Ji vadinama monitoriumi ir įsijungia tuoj įjungus kompiuterį. Pav. 3.6 parodytos pagrindinės tipinės OS funkcijos.

4.6 pav. Apibendrinta OS struktūra

4.9. SVK
1.      Nurodykite sisteminių magistralių privalumus ir trūkumus.
2.      Kam skirta adreso magistralė ir kodėl ji vienakryptė?
3.      Kuris iš mikroprocesorinės sistemos modulių niekada nebūna užsakovu?
4.      Kuo skiriasi dėklo ir operatyviosios atmintinės darbo principai?
5.      Kodėl MP darbo cikluose būna laukimo taktų, ar jie neišvengiami?
6.      Kaip nustatomi pertraukčių signalų pasirodymo momentai?
7.      Kodėl atmintinė skirstoma ląstelėmis?
8.      Kaip vadinamas ir kaip apibrėžiamas pagrindinis informacijos kiekio matavimo vienetas?
9.      Kas vadinama informacijos baitu ir informacijos žodžiu?
10.  Ar galima atskirti, kokia informacija saugoma ląstelėje?
11.  Ar visų atmintinės ląstelių adresai vienodo ilgio?
12.  Kas lemia adreso ilgį?
13.  Ar adresas gali būti saugomas atmintinės ląstelėje?
14.  Kokios yra operacinės sistemos funkcijos?
1.       Be procesoriaus modulio į mikroprocesorinę sistemą įeina atmintinės , įvesties - išvesties ir ryšio su objektais moduliai (valdymo sistemose).
2.       Mikroprocesorinė sistema su prijungtais prie jos išoriniais įrenginiais vadinama mikrokompiuteriu.
3.       Sąsaja - tai mikroprocesorinės sistemos standartizuota ryšio tarp įrenginių priemonių sistema.
4.       Sąsają  sudaro: unifikuotos informacijos perdavimo magistralės, unifikuotos elektroninės schemos, valdančios informacijos perdavimą, informacijos mainus valdantys algoritmai, signalai ir reikalavimai jiems.
5. Magistralė bendru atveju sudaryta iš tokių linijų: adreso,   duomenų   valdymo.
6.  Adresų magistralė mikroprocesorinėje  sistemoje yra skirta mikroprocesoriaus  išduodamiems adresams perduoti į kitus sistemos modulius, t.y. adresų magistralė yra vienakryptė.
7.   Pagrindinė vidinės atmintinės paskirtis - suteikti darbo erdvę procesoriui
8.   Atmintinė suskirstyta baitais. Kiekvieną baitą sudaro 8 bitai.
9.   Žodį sudaro 2 baitai.
10.Kiekvienam baitui saugoti skiriama atskira atmintinės ląstelė. Ląstelių adresai numeruojami pradedant nuo nulio.
11.Operacinė sistema apsprendžia būdus, kuriais programinė įranga naudoja kompiuterio techninę įrangą.
12.MP darbo taktas - tai laiko intervalas tarp dviejų 01 serijos impulsų priekinių frontų.
13.I8080 mikroprocesoriaus darbo ciklą sudaro nuo 3 iki 5 taktų.
14.Trys pirmieji I8080 kiekvieno ciklo taktai naudojami duomenų baitui priimti - perduoti. Ketvirtu, penktu taktais baigiamas komandos vykdymas procesoriuje.


Komentarų nėra:

Rašyti komentarą

Etiketės