C.1.3.3 Mälu hierarhia - Arvuti komponendid ja arhitektuurid Lk

C.1.3.3 Mälu hierarhia
Eespool toodud kaalutluste põhjal peaks olema selge, et arvutisüsteemis on tavaliselt mitut tüüpi mälusid, mis moodustavad omamoodi mälude hierarhia.
Seda võiks ette kujutada püramiidina. Kõrgema taseme mälud on enamasti kiiremad, väiksemad ja üldiselt ka hävimälud. Alamate tasemete mälud on sagedamini aeglasemad, suuremad ja üldiselt säilmälud.
Alama taseme mäludeks on suure mahuga mälud, mida kasutatakse andmekogumite püsivaks salvestamiseks.
Mälu hierarhia
Puhvermälud
Tüüpiline kaasaegne arvuti on varustatud kahe (või enama) taseme puhvritega, millel on erinevad kiirused ja mahud: esimese taseme mälu on paigutatud samale kiibile protsessoriga, teise taseme mälu, suurem ja aeglasem, on tavaliselt väljaspool protsessorit, tavaliselt emaplaadil.
Puhvermälud on koondatud ridadesse (või plokkidesse). Mälu poole pöördumiseks on vaja kogu andmeplokk laadida vahemälusse. Lokaalsuse põhimõte tagab selle, et järgnevad pöördumised tõenäoliselt vajavad neid andmeid, mis on juba puhvermälusse laetud ja seega teostatakse see tõhusamalt.
Kasutatakse väljendust puhvermälu tabamus, kui me viitame puhvermälus juba leiduvale informatsioonile. Vastupidisel juhul nimetatakse seda puhvermälu möödalask. Puhvermälu möödalasu puhul on vaja laadida puhvrisse uus plokk, mis sisaldaks nõutud andmeid. Kui puhvermälu rida uue ploki jaoks on juba kasutusel, siis on sellel real olev plokk vaja asendada.
Kuna andmeid võidakse protsessori poolt muuta, siis sellest tuleneb probleem, kuidas tagada andmete säilimine koherentsena põhimälus säilitatavate andmete suhtes. Selle koherentsuse tagamiseks on kasutusel mitmesuguseid arhitektuurilisi lahendusi. Enamkasutatavateks lahendusteks on kirjuta tagasi ja kirjuta üle. Esimese puhul on vaja andmete muutmist vaid puhvris ja kui plokk vabaneb, siis see kopeeritakse põhimällu ainult juhul, kui seda on muudetud. Ülekirjutamise puhul aga kirjutamise operatsioonid teostatakse protsessori poolt nii puhver- kui põhimälus.
Puhvri jõudlus
Puhvri möödalasu puhul nõuab katse pääseda ligi puhvermälule vajaliku andmepaketi otsingut põhimälust. Need kaks operatsiooni võib teostada koos, nii et pöördumise aeg on parimal juhul (puhvri tabamus) võrdne puhvermälu pöördumise ajaga (lühem kui põhimälusse pöördumise aeg), samas kui halvemal juhul (puhvri möödalask) võrdub see põhimälusse pöördumise ajaga.
Täpsemalt öeldes, nõuab puhvri möödalask ka ploki asendamist, mis toob kaasa ajalise viivituse, mis vastab põhimälu poole pöördumiseks kuluva ajaga. Puhvri jõudlus seega langeb, kui puhvri tabamuse tõenäosus jääb alla teatud väärtuse. Sellisel juhul on eriti oluline määrata kindlaks sobiv puhvri ridade arv. Tegelikult on nii, et kui ridade arv on liiga väike, siis ei kasuta me ära lokaalsusprintsiipi, kui aga ridade arv on liiga suur, siis laetakse sageli puhvrisse andmeid, mis ei ole vajalikud.
Sekundaarmälu
Sekundaarne mälu (ehk massmälu) on arvutis olev seade, mida kasutatakse suure hulga andmete püsivaks säilitamiseks. Selle seadme poole saab protsessor pöörduda vastavate sisend/väljundseadmete abil. Ajalooliselt olid esimesed massmäluseadmed magnetlindid. Praeguseks on tänu tehnilisele arengule olemas mitut tüüpi massmälus, mis kasutavad magnetilisi, optilisi ja välkmäluseadmeid (liikumatus olekus olevad seadmed). Turul olevad magnetkandjaid võivad salvestada sadu gigabaite (GB). Optiliste kandjate maht võib küündida mõnekümne gigabaidini. Välkmälude mahud on suurusjärgus mõned gigabaidid.
Magnetkandjate aluseks on teatud magnetiliste omadustega ained. Lugemise ja kirjutamise operatsioonid teostatakse spetsiaalse seadme (pea) abil, mis asetseb magnetiseeruva pinna kohal. Kirjutamise ajal juhitakse läbi pea elektrivool, mis võimaldab salvestada väärtusi 0 või 1 (bitt), polariseerudes ühte või kahte eri suunda selle all oleva magnetkihi. Lugemise operatsiooni ajal aga toimib pea sensorina, tehes kindlaks pinna magnetilise polarisatsiooni. Nii magnetlint kui magnetkettad töötavad samal põhimõttel. Massmäluseadmel, mis põhineb magnetlindil, jagatakse pind eri piirkondadeks (rajad), mis asetsevad järjest. Magnetkettal põhineva massmäluseadme puhul koosneb pind ühest või mitmest magnetplaadist, mis on jagatud kontsentrilisteks ringideks (radadeks), millest igaüks on jagatud sektoriteks.
Kõvakettastes kasutatakse üht või mitut magnetplaati, igaühel neist on kaks magnetiseeruvat pinda. Iga pinna jaoks on üks lugemis/kirjutamispea. Pead asetsevad käpa küljes, mida saab liigutada radiaalsuunal. Radade kogum, mis asuvad samal kaugusel ketta keskpunktist, nimetatakse silindriks. Kõvakettal olevate andmete saamiseks on vaja teada peade radiaalset asendit, st. valitakse silinder (milleks kulub nn. otsingu aeg), ketaste pöörlemine võimaldab peal hankida andmed (pöörlemise latentsusaeg) ja otseselt andmete edastamisele kuluv aeg. Otsingule kulub mõned millisekundid aega. Kaasaegsetel ketastel on suured pöörlemiskiirused, tavaliselt 5200 või 7200 p/min (pööret minutis) ja keskmine pöörlemise latentsusaeg mõned millisekundid. Ühes sektoris olevate andmete edastamiseks kulub ligikaudu mõned kümned millisekundid. Kaasaegsetes kõvaketastes on jõudlust parandatud ketastele elektroonilise mälu lisamisega, mis sisaldab kiirpöördumisega puhvrit kettale salvestatud informatsiooni jaoks.
Müügil olevaid kõvakettaid võib jagada kahte kategooriasse: IDE (Integrated Drive Electronics) ehk integreeritud ajamielektroonika ja SCSI (Small Computer System Interface) väikearvutisüsteemi liides. Esimest tüüpi kõvakettad on laiemalt levinud Inteli arvutites. Teist kasutatakse laiemalt UNIX -tööjaamades nagu Macintoshi arvutid ja keerulisemad Intel PC-d. Sisuliselt erinevad SCSI kettad IDE ketastest liidese poolest, samas kui nende ülesehitus silindrite, radade ja sektorite kaupa on praktiliselt sama. SCSI ketaste jõudlus on üldiselt parem (tavalised pöörlemiskiirused on 10 000/15 000 p/min). Lisaks sellele on SCSI siinidega varustatud süsteemid osutunud hõlpsamini skaleeritavateks kui IDE siinidega arvutid.
Virtuaalmälu
Arvutisüsteemi sujuvaks tööks on vaja, et hetkel täidetav programm ja osa töödeldavatest andmetest oleks salvestatud põhimällu.
Vaja on sobivaid mehhanisme (kas tark- või riistvaralisi), mis lahendaksid olukorra, kus programmid vajavad suuremat mälumahtu kui arvutis on olemas. Selliseid tehnikaid, mida tuntakse nime all virtuaalmälu, põhimõtteliselt jagavad nii programmid kui põhimälu saalitakse lehekülgedeks. Ainult mõned programmi leheküljed on laetud põhimällu, samas kui ülejäänud leheküljed salvestatakse sekundaarmällu.
Kui protsessoril on vaja seda lehekülge, mis ei ole salvestatud põhimällu, siis hoolitseb operatsioonisüsteem selle laadimise eest sekundaarmälust, kusjuures võib see asendada mittevajaliku põhimälus oleva lehekülje uuega.
C.1.3.4 Erinevaid arvuteid
Erinevad inimesed võivad hinnata arvutisüsteeme eri aspektidest. Vaadakem mõnda neist.
“Arvuti projekteerija” näeb arvutit “elementaarosadest” koosnevana (näit. trükkplaadid, integraalskeemid, arhitektuuri komponendid, loogikaventiilid jne), mis on üksteisega jäigalt ühendatud.
“Assembler programmeerija” vaatab süsteemi kui “funktsionaalsetest üksustest” koosnevat komplekti (näit. protsessori registrid, ALU, mälud, välisseadmed jne), mis on jäigalt ühendatud siinidele ning mis on võimelised täitma ainult masinkäskudes kirjeldatud operatsioone just sel viisil, nagu projekteerija või protsessor neid ette on määranud.
“Kõrgema taseme programmeerija” vaatleb süsteemi kui "virtuaalset arvutit", mis on võimeline täitma programme, mida on kirjeldatud valitud keeles, tavaliselt programmeerija määratud sobivate andmestruktuuridega.
“Kasutaja” vaatepunktist on arvuti “teenusepakkuja” ja/või “käsutäitja” (tehes seda, mida operatsioonisüsteem ja/või kasutajat huvitav rakendus ette kirjutab).
Rõhutagem siinkohal, et eespool tutvustatud arhitektuur kui ka protsessori töömudel on täiesti üldine ja sellele toetuvad peaaegu kõik süsteemid, millega me igapäevaselt suhtleme.
Kõigile arvutisüsteemidele, serveritest ja personaalarvutitest (PC-d) kuni niinimetatud manussüsteemideni, mis on peidetud lõppkasutaja eest (mobiiltelefonid, digitaalmärkmikud ehk PDA-d, seadmetes nagu mängukonsoolid, Playstation, kodumasinate juhtimisseadmed jne.), on omased samasugune arhitektuur ja need toimivad samalaadsele mehhanismile, mida on eespool kirjeldatud, sõltumata nende kasutusalast ja rakendusest (näiteks pigem süsteemiplaadid kui süsteemikiibid).
Kasutatud kirjandus
[HVZ01] Hamacher, C., Vranesic, Z., and Zaky, S. “Computer Organization”, McGraw-Hill, 5th edition, 2001
[S02] Stallings, W. “Computer Organization and Architecture”, Prentice Hall, 2002.
[T05] Tanenbaum, A.S. “Structured Computer Organization”, Prentice Hall, 2005.
[HP02] Hennessy, J.L., Patterson, D.A., Goldberg, D. “Computer Architecture: A Quantitative Approach”, Morgan Kaufmann, 2002.
[PHALS04] Patterson, D.A., Hennessy, J.L., Ashenden, P.J., Larus, J.R., Sorin, D.J. “Computer Organization and Design: The Hardware/Software Interface”, Morgan Kaufmann, 2004.
Kordamisküsimused
Küsimus 01
Järgnevas valikus on üks vale lause. Leidke see.
Vastus A) Arvutisüsteem on masin, mis on võimeline täitma programme.
Vastus B) Arvuti füüsiline struktuur ei muutu, ehkki see suudab lahendada erinevaid probleeme
Vastus C) Iga arvutisüsteem suudab täita ainult neid programme, mis on kirjutatud teatud programmeerimiskeeles.
Vastus D) Arvutiprogramme võib kirjeldada inimesele arusaadavates keeltes
Küsimus 02
Arvutis olev mäluseade:
Vastus A) sisaldab täidetava programmi andmeid ja käske
Vastus B) on protsessori füüsiline osa
Vastus C) võimaldab kasutajal andmeid sisestada
Vastus D) säilitab kõiki arvutis sisalduvaid programme ja andmeid
Küsimus 03
Järgnevas sisend/väljundseadmeid puudutavas väites on üks vale lause. Näidake, milline.
Vastus A) Programmi ei saa täita ilma sisend/väljundseadmeta
Vastus B) Sisend/väljundseadmed on olulised selleks, et programm saaks oma tulemusi välismaailmale edastada.
Vastus C) Klaviatuur on sisendseade.
Vastus D) Arvutisüsteem peab teadma välisseadet, millega ta tahame kommunikeeruda.
Küsimus 04
Siin on:
Vastus A) seade, mis võimaldab süsteemil olla ühenduses võrguga
Vastus B) ühetaoline registrite komplekt protsessori sees, mida protsessor kasutab üldistel eesmärkidel
Vastus C) loogiline struktuur, mis ühendab üht või mitut arvutit
Vastus D) füüsiline struktuur, mis loob elektroonilise ühenduse kahe või enama seadme vahel
Küsimus 05
Milline järgmistest parameetritest sobib pigem välisseadme kvaliteedi kui arvuti jõudluse kirjeldamiseks? Vastus A) Protsessori parallelism
Vastus B) Mälu parallelism
Vastus C) Protsessori taktsagedus
Vastus D) Monitori resolutsioon
Küsimus 06
Arvutit võib vaadelda mitmest erinevast vaatepunktist ja mitmel eri viisil Seda silmas pidades valige ebaõige lause järgmiste hulgast:
Vastus A) Arvutit võib vaadelda kui elementaarsetest osadest (st elektronskeemidest, loogikaventiilidest jne) koosnevat üksteisega sobivalt ühendatud kogumit.
Vastus B) Arvutit võib vaadelda kui funktsionaalsetest osadest (st. protsessori registritest, ALU, mäludest, välisseadmetest jne) koosnevat kohaselt siinide abil ühendatud kogumit.
Vastus C) Arvutit võib vaadelda kui mäluseadme ja sisend/väljundseadme kombinatsiooni
Vastus D)Arvutit võib kui selle kasutajatele teenuseid pakkuvat süsteemi.
Küsimus 07
Spetsiifiliste protsessoris olevate registrite hulgas
Vastus A) mäluaadresside register (MAR) sisaldab täitmisele kuuluvat käsku.
Vastus B) olekuregister (SR) sisaldab täidetava käsu poolt töödeldavaid andmeid.
Vastus C) käsuloendurit (PC) kasutatakse täidetava programmi skaneerimiseks
Vastus D) käsuloendur (PC) loendab juba täidetud käskude arvu
Küsimus 08
Milline järgnevatest lühenditest määratleb mälumoodulite paketi? (võimalik mitu õiget vastust)
Vastus A) SIMM
Vastus B) SRAM
Vastus C) DIMM
Vastus D) EPROM
Küsimus 09
Teise taseme puhver on:
Vastus A) Varunduspuhver, mida kasutatakse põhipuhvri rikke korral
Vastus B) Puhver, mis tagab madalama puhvri tabamuste arvu
Vastus C) Puhver, mis on suurem ja aeglasem kui esimese taseme puhver
Vastus D) Odavam puhver, mida kasutatakse odavamates seadmetes tavalise puhvri asendamiseks.
Küsimus 10
QWERTY klaviatuurid on:
Vastus A) nime saanud oma klahvide paigutuse järgi
Vastus B) ergonoomilised seadmed
Vastus C) juhtmevabad klaviatuurid
Vastus D) Macintoshi klaviatuurid
Küsimus 11
Milline järgnevatest vastustest vastab tõele?
Vastus A) USB porti saab ühendada kuni 10 seadet
Vastus B) USB porti ühendatud seadmed vajavad autonoomset toidet
Vastus C) USB protokoll toetab käigultvahetust
Vastus D) kui porti on ühendatud rohkem seadmeid, siis nad saavad kasutada sama ribalaiust kui ükshaaval ühendatuna
Vastus (õige ja vale)
Vastus küsimusele 01
Vastus C) on ainus vale vastus.
Vastus küsimusele 02
Õige vastus on Vastus A).
Vastus küsimusele 03
Vastus A) on ainus vale vastus.
Vastus küsimusele 04
Õige vastus on Vastus D).
Vastus küsimusele 05
Õige vastus on Vastus D)
Vastus küsimusele 06
Õige vastus on Vastus C)
Vastus küsimusele 07
Õige vastus on Vastus C)
Vastus küsimusele 08
Vastus A) ja Vastus C) määratleb mälumoodulite paketi.
Vastus küsimusele 09
Vastus C)
Vastus küsimusele 10
Vastus A)
Vastus küsimusele 11
Vastus C)
Selgitused vastuste juurde
Küsimus 01
Vastus A) See lause on õige: arvutisüsteem on masin, mis suudab täita ettemääratud operatsioonide jada (nim. käskudeks), mis moodustavad programmi.
Vastus B) See lause on õige: arvutisüsteeme iseloomustab seik, et hoolimata oma fikseeritud füüsilisest struktuurist (riistavara), on need võimelised lahendama erinevaid probleeme lihtsalt kasutades selleks erinevaid programme (tarkvara).
Vastus C) See lause ei ole õige: programmid on kirjutatud abstraktsetes keeltes, sõltuvalt arvutist ja seejärel teisendatakse spetsiifilisse täidetavasse formaati, mis on eri arhitektuuride puhul erinevad.
Vastus D) Lause on õige: programmi võib kirjeldada inimestele arusaadavas keeles (programmeerimiskeel), mida iseloomustab spetsiifiliste süntaktiliste ja semantiliste reeglite kogum, mis lastakse automaatselt teisendada masina poolt loetavasse formaati.
Küsimus 02
Vastus A) Lause on õige: mäluseadme ülesandeks on säilitada töödeldavaid andmeid (sisestatud andmeid, väljastatavaid andmeid ja vaheandmeid).
Vastus B) Lause ei ole õige: mäluseade ja protsessor on kaks eraldi arvuti arhitektuuri osa.
Vastus C) Lause ei ole õige: kasutaja poolt antud andmete lugemine on sisend/väljundseadme ülesandeks
Vastus D) Lause ei ole õige: arvutis sisemiselt kasutatavate programmide ja andmete salvestamine on massmäluseadmete (näit. kõvaketaste) ülesandeks. Põhimälu, mis on palju kiirem, kuid piiratud mahuga, sisaldab ainult andmeid ja programme nende täitmise ajal.
Küsimus 03
Vastus A) Lause ei ole õige: protsessor ja mäluseade üksi on võimelised programmi täitma eeldusel, et välismaailmaga suhtlemine ei ole vajalik.
Vastus B) Lause on õige: tegelikult sisend/väljundseadmed võimaldavad vahendada sisend- ja väljundinformatsiooni arvuti ja välismaailma vahel (kasutaja, sensorid, aktuaatorid, teised arvutid) tõlkides informatsiooni arvutile arusaadavasse formaati ühelt poolt ning välismaailmale arusaadavasse formaati teiselt poolt.
Vastus C) Lause on õige: klaviatuurid võimaldavad kasutajal sisestada süsteemi andmeid.
Vastus D) Lause on õige: tegelikult protsessori suhtlemiseks välisseadmetega ei piisa vaid füüsilise seadme olemasolust. Vajalik on ka liides, mis võimaldab protsessoril vahetada signaale välisseadmetega, füüsilist ühendust (siin) ning signaalide jada (protokolli), mis haldab protsessori ja välisseadme vahelist suhtlemist.
Küsimus 04
Vastus A) Lause ei ole õige: see kirjeldab võrguadapteri funktsiooni.
Vastus B) Lause ei ole õige: viidatakse sellisele registrite komplektile nagu registrifail mitte aga siinile.
Vastus C) Lause ei ole õige: see kirjeldab arvutivõrgu funktsiooni
Vastus D) Lause on õige: siin on tegelikult füüsiline struktuur koos sellega seotud komplekti kommunikatsiooni reeglitega ja mis võimaldavad kahel või enamal seadmel omavahel kommunikeeruda.
Küsimus 05
Vastus A) Protsessori parallelism väljendab bittide arvu protsessorseadme sisemistes registrites (tüüpilised väärtused on 8, 16, 32 ja 64 bitti) ning see mõjutab infohulka, mida protsessor on korraga võimeline töötlema.
Vastus B) Mälu parallelism on bittide arv mälu sõnades, st. bittide arv, mida on võimalik korraga hallata lugemise või kirjutamise operatsiooni aja.
Vastus C) Protsessori taktsagedus väljendab kiirust, millega protsessor teostab elementaaroperatsioone.
Vastus D) Monitori resolutsioon on väljundseadme kvalitatiivne näitaja ja sellel pole midagi tegemist arvutisüsteemi jõudlusega.
Küsimus 06
Vastus A) See vastus kujutab projekteerija vaatepunkti.
Vastus B) See vastus kujutab assembleris programmeerija vaatepunkti.
Vastus C) Selles vastuses ei ole protsessorit mainitud.
Vastus D) See vastus kujutab kasutaja vaatepunkti.
Küsimus 07
Vastus A)Mäluaadresside register (MAR) sisaldab mälu asukohta, kust andmeid loetakse või kuhu neid kirjutatakse.
Vastus B) Olekuregister (SR) sisaldab protsessori olekuga seotud informatsiooni.
Vastus C) Käsuloendur (PC) sisaldab mälukoha aadressi, kust hangitakse järgmine täitmisele kuuluv käsk.
Vastus D) Käsuloendurit (PC) kasutatakse parasjagu täitmisel oleva programmi skaneerimiseks ja see sisaldab alati selle mälukoha aadressi, kust järgmine täitmisele kuuluv käsk hangitakse.
Küsimus 08
Vastus A) ja Vastus C) viitavad paketile, ülejäänud viitavad mälu tehnoloogiale.
Küsimus 09
Vastus A) Teise taseme puhver on suurem ja aeglasem (võrreldes esimese taseme puhvriga). Mõnikord asetseb see emaplaadil põhimälu ja esimese taseme puhvri vahel.
Vastus B) Kuna teise taseme puhvri maht on suurem kui esimese taseme puhvril, siis puhvri tabamuse näitaja on üldiselt suurem.
Vastus C) Vastus on õige.
Vastus D) Teise taseme puhvrid on tavaliselt teostatud esimese taseme puhvritest odavama tehnoloogia baasil (sama mälumahu juures). Kuid see ei muuda neid teineteist asendavaks.
Küsimus 10
Vastus A) QWERTY on tähestikklahvide ülemise rea esimeste klahvide järjestus.
Vastus B) QWERTY klaviatuur võib olla kas ergonoomiline või mitte. Need on sõltumatud omadused.
Vastus C) QWERTY klaviatuur võib olla kas juhtmevaba või juhtmega. Need on sõltumatud omadused.
Vastus D) Macintoshi klaviatuurid on QZERTY-klaviatuurid.
Küsimus 11
Vastus A) Spetsiaalsete jaoturite abil saab ühte USB-porti ühendada kuni 127 seadet
Vastus B) USB-porti ühendatud seadmed saavad toidet pordi enda kaudu
Vastus C) Seadmeid on võiamlik lisada ilma arvutit välja lülitamata
Vastus D) Lause ei ole õige. Samasse USB-porti ühendatud seadmed jagavad omavahel algset ribalaiust.
|