# C.1 Arvutite komponendid ja arhitektuur

Selle teema materjale läbi töötades saad teadmised arvuti riistvarakomponentidest, arvutite arhitektuurist ja protsessori tööpõhimõtetest.

# C.1.1 Arvuti riistvarakomponendid

Selle alateema materjale läbi töötades õpid:

  • Määratlema arvutisüsteemi põhilised komponendid ja kirjeldada nende koostööd
  • Tooma välja lihtsa arvutisüsteemi peamised perifeeriaseadmed ja nende parameetrid
  • Eristama põhilisi mälutehnoloogiaid.

# C.1.1.1 Arvutisüsteemi põhikomponendid

Õppekava

Määratleda arvutisüsteemi, põhilised osad: protsessor muutmälu, püsimälu ja kirjeldad nende tööpõhimõtet.

Personaalarvuti Personal Computer / PC edaspidi arvuti on arvutusseade, mis koosneb erinevaid funktsioone täitvatest elektroonikaplokkidest, mis koos funktsioneerides teostavad mingit kasutaja poolt määratud ülesannet.

Arvuti on ehituselt modulaarne ja see tähendab, et arvuti erinevaid funktsionaalseid plokke või mooduleid saab vastavalt soovitud kasutusotstarbele erinevalt kombineerida ning nii muuta arvuti funktsionaalsust või jõudlusparameetreid. Näiteks kontoriarvuti jaoks ei ole reeglina vaja võimsa protsessoriga, eriti suure muutmäluga ja graafikatööks mõeldud spetsiaalsete omadustega arvutit. Samas on loetletud omadused hädavajalikud graafikadisaineri arvutil. Ainult riistvarakomponentidest ei piisa, et panna arvuti teostama mingit ülesannet.

Riistvarakomponendid paneb koos funktsioneerima programm ehk käskude jada, mis ütleb arvutile kuidas mingit ülesannet täita. Programm, mille käske arvuti protsessor mõistab, on arvutikeeles ühtede ja nullide jada ja selle abil toimub ka suhtlus erinevate arvutikomponentide vahel.

Iga üksik element selles nullide või ühtede ahelas on väikseim infoühik ehk bitt.

Bittide jada moodustab binaarkoodi ehk kahendkoodi , mis on kogu arvutiteooria aluseks ja mille unepealt tundmine on igale IT spetsialistile oluline kirjaoskus. Konkreetsete sõnumite moodustamiseks on kahendkoodis kasutusel infoühik bait , mis omakorda koosneb kaheksast bitist. Baidi väärtus kümnendkoodis on vahemikus 0 kuni 255 ja igale bitile baidi sees vastab kahendaste nagu näidatud allpooltoodud joonisel:

Joonis 1‑1. Bitipositsioonidele vastavad kahendastmed

Igale biti positsioonile vastab kahendaste ja kui vastava positsiooni biti väärtus on üks siis liidetakse sellele vastav kahendaste teistele bittidele ja nii saadakse vastava baidi väärtus kümnendkoodis. Näiteks kahendkoodis baidi 10000001 väärtus kümnendkoodis on 1×27+0×26+0×25+0×24+0×23+0×22+0×21+1×20=129

Arvuti riistvara koosneb funktsionaalsetest plokkidest, millest igal on oma spetsiifiline ülesanne. Iga arvuti keskne koostisosa on protsessor (CPU – Central Processing Unit), mis loeb mälust programmikoodi ja töötleb andmeid.

Põhitsükkel, mida protsessor järjest täidab on:

  • Käsu lugemine mälust (Instruction Fetch)
  • Käsu dekodeerimine (Instruction Decode)
  • Käsu täitmine (Execute)
  • Tulemuse salvestus (Store).

Muutmälu (RAM – Random Access Memory) ehk põhimälu kasutatakse arvutis töötavate rakenduste programmikoodi ja andmete salvestamiseks.

Püsimälu (ROM – Read Only Memory) on on kasutusel erinevate arvuti riistvarakomponentide püsivara (firmware) programmikoodi ja andmete salvestamiseks. Esmane programm arvuti käivitumisel loetakse protsessorisse spetsiaalsest püsimälust BIOS (Basic Input Output System). BIOS'i otstarve on varustada arvuti käivitumiseks vajaliku programmikoodiga, sisaldab driverid suhtlemiseks riistvarakomponentidega ja infot arvuti riistvarakonfiguratsiooni kohta ning kasutajaliidese (BIOS SETUP) arvutitootja riistvaraseadete muutmiseks või taastamiseks. Arvuti käivitamisel täidab protsessor püsimälust loetud käske riistvara testimiseks (POST – Power On Self Test) ja esmase käivitusseadme poole pöördumiseks, et laadida arvuti muutmällu operatsioonisüsteem. Viimane mõiste hõlmab tarkvarakeskkonda, mille kaudu hallatakse süsteemiressursse ja jagatakse kasutajale juurdepääsu erinevatele riistvarakomponentidele ning võimaldatakse käivitada erinevaid programme ehk rakendusi, et panna arvuti teostama kasutajale vajalikke ülesandeid.

# C.1.1.2 Arvutisüsteemi põhikomponentidevahelised seosed

Õppekava

Kirjeldada peamiste arvutikomponentide omavahelist koostööd.

Arvutisüsteemi põhikomponentide omavaheline andmevahetus toimub mööda füüsilisi meediumeid ehk siine bus: mööda andmesiini liiguvad andmed, aadressisiinil olev info näitab kuhu andmed liiguvad ja juhtsiini seisuga määratakse mis suunaliselt ja mille vahel andmed parajasti liiguvad.

Joonis 1‑2. Arvuti plokkskeem

Et ühendada erinevad komponendid ja võimaldada arvutil andmevahetust perifeeriaseadmetega on kasutusel täiendav integraalskeemide komplekt ehk tugikiibistik. Kõik arvuti komponendid ühendatakse koos tööle spetsiaalsel trükkplaadil ehk emaplaadil. Emaplaadil on tugikiibistik koos vajalike pesadega, et ühendada sellele protsessor, mälu ning sisend-väljundseadmete pordid. Emaplaat jagab ka voolu erinevatele süsteemikomponentidele ja selleks on seal toitepistikud ning täiendavad pingeregulaatorid. Et arvutisüsteem saaks funktsioneerida on vaja arvutile toiteadapterit.

Arvuti põhikomponendid on ümbritsetud arvutikorpusega. Arvutikorpuse ülesanne on kaitsta arvutikomponente vigastuste eest, muuta arvuti ohutuks, käepäraseks ja meeldivaks arvutikasutajale, ära hoida elektromagnetiliste häirete levimine keskkonda ja tagada arvuti immuunsus keskkonnast tulevate häirete suhtes, võimaldada piisav õhuvool arvutikomponentide jahutuseks ning isoleerida arvuti komponentide jahutussüsteemi poolt põhjustatud müra arvutikasutajast. Arvuti põhikomponendid töötavad kõrgetel sagedustel ja on allikaks elektromagnetilistele häiretele (EMI – Electromagnetic Interference), mis võivad häirida teiste elektroonikaseadmete toimimist. Samas on arvuti põhikomponendid tundlikud ka välistele häiretele. Seetõttu peavad arvuti põhikomponendid olema paigutatud arvutikorpusesse, mis piirab elektromagnetiliste häirete leviku nii sisse kui ka väljapoole.

Teine väga oluline põhjus arvuti põhikomponentide koondamiseks korpusesse on elektriohutus, sest arvutis on sees toitesüsteem ja elektrikaabeldus, millega kokkupuude võib olla eluohtlik. Eelpoolmainitud elektromagnetiliste häirete vastavuse aluseks on elektromagnetilise ühilduvuse (EMC – Electormagnetic Compatibility) direktiiv. Arvuti elektriohutusele vastavust reguleerib madalpingedirektiiv (LVD – Low Voltage Directive). Iga arvuti peab vastama nii EMC kui LVD direktiivile ja selle kinnituseks on arvutikorpusel vastav märgistus – CE. Kolmas põhjus, miks arvuti põhikomponendid on korpuses on vajadus arvutikomponente jahutada ja selleks tekitatakse arvutikorpuses suunatud õhuvool, millega tagatakse põhikomponentide nõuetele vastav temperatuur.

# C.1.1.3 Peamised perifeeriaseadmed ja nende funktsionaalsus

Õppekava

Tuua välja lihtsa arvuti- süsteemi peamised perifeeriaseadmed: monitor, klaviatuur, osundusseadmed, massmäluseadmed, võrgukaardid, printerid ja kirjeldada nende tööpõhimõtet.

Arvuti perifeeriaseadmed on seadmed, mida saab täiendavalt lisada arvuti peamistele riistvarakomponentidele aga mille olemasolu ei ole hädavajalik arvuti toimimiseks. Perifeeriaseadmed ühendatakse arvutiga kasutades arvuti tugikiibistikku sisseehitatud sisend-väljundmoodulit ja selles sisalduvaid erinevaid kontrollereid, mis pakuvad valiku siinidest ja portidest perifeeriaseadmete ühendamiseks. Kõige olulisemad perifeeriaseadmed, mis teevad võimalikuks inimese suhtlemise arvutiga on klaviatuur andmete sisestamiseks ja monitor , et näha arvutuse tulemust. Monitori ühendamiseks peab arvutis olema graafikakaart.

Peale eelpoolmainitud seadmete on inimese ja arvutiga suhtlemisel kasutusel erinevaid sisendseadmed:

hiir on osundusseade arvutiekraanil navigeerimiseks ja rakendustega töötamiseks

  • kiipkaardilugeja isikutuvastuseks. Eesti ID-kaardi lugemiseks vajaliku info leiad aadressilt http://www.id.ee/
  • kaugjuhtimispult koduse meediakeskuse eemalt juhtimiseks
  • mikrofon ja kaamera heli ning pildi salvestamiseks või veebisuhtluseks
  • skänner dokumentide muutmiseks elektroonilisele kujule
  • mängukonsoolid arvutimängude lisana.

Ja väljundseadmed:

  • printer elektroonilise info paberil esitamiseks
  • kõlarid muusika või kõne kuulamiseks arvutist
  • teler arvuti kasutamisel filmide vaatamiseks või arvutimängudeks.

Suurte andmehulkade, operatsioonisüsteemi ja kasutajarakenduste salvestamiseks kasutatakse massmäluseadmeid , mis säilitavad oma sisu ka siis kui arvuti on väljalülitatud seisundis.

Massmäluseadmetele salvestatakse arvuti operatsioonisüsteem, rakendused ja kasutaja andmed.

Väga oluline komponent arvutis on võrgukaart , et ühendada arvuti lokaalsesse võrku (LAN – Local Area Network) ja võimaldada ühenduse loomist teiste võrku ühendatud arvutitega ning internetiga.

Täiendavate perifeeriaseadmete funktsionaalsus võib olla väga erinev ja allpool on mõned näited:

  • Katkematu toite allikad, et arvuti töö ei katkeks hetkelise elektrikatkestuse või võrgupingekõikumise tõttu
  • Infokandjad, massmäluseadmed andmete salvestamiseks
  • Signaalitöötluskaardid andmete kodeerimiseks või krüpteerimiseks
  • TV-kaardid arvuti kasutamiseks teleri või videosalvestina
  • Fotoaparaadid ja kaamerad piltide ja video salvestamiseks arvutisse
  • Modemid ja võrguseadmed arvuti ühendamiseks võrku
  • Sensorid ja automaatikaseadmed mingite protsesside jälgimiseks, automatiseerimiseks ja kaugjuhtimiseks.
  • Raadioühendus ehk juhtmevaba side. Traadita seadmete ühendamiseks on saadaval mitmesuguseid erinevaid tehnoloogiaid. IrDA (ehk infrapuna) ühendust kasutati algselt personaalarvutite ühendamiseks mobiiltelefonide ja pihuarvutitega. Tänaseks on kasutusele võetud siiski üha rohkem muid raadioühenduse tehnoloogiaid, nagu näiteks WiFi ja Bluetooth, mis tagavad parema töökindluse ja sooritusvõime.

# C.1.1.4 Perifeeriaseadmete parameetrid

Õppekava

Määratleda erinevat tüüpi perifeeriaseadmeid ja võrdlema nende omadusi ning jõudlust kasutades sobivaid parameetreid nagu maht, kiirus, resolutsiooni, ühilduvusstandardid.

Perifeeriaseadme parameetrid kirjeldavad seadme toimimist. Arvuti klaviatuuri puhul on parameetriteks klahvide arv, toetatud keel, lisafunktsiooniklahvid ja ühendusliides. Tähemärkide paigutuse järgi nimetatakse kaasaegset klaviatuuri ka QWERTY, mis on esimesed 5 klaviatuuri tähemärki. Eesti klaviatuuri eripäraks on "Õ" sümbol ja selle olemasolu järgi saab kontrollida, kas klaviatuur on eesti keele jaoks kohandatud.

Monitori olulised parameetrid on monitori ehituslikust eripärast kas CRT / Cathode Ray Tube või LCD / Liquid Crystal Display. CRT tüüpi monitor sisaldab elektronkiiretoru, milles elektronkiir joonistab kujutise ekraanile. Seda tüüpi monitori puudusteks on elektronkiire liikumisest tulenev värelus, kujutise teravuse sõltuvus heledusest ja kontrastsusest, kujutise geomeetria ja elektronkiirte kokkujooksu probleemid, suur voolutarve ja suured mõõtmed. Neid probleeme ei ole LCD tüüpi ekraaniga monitoridel, kus kujutis tekitatakse tagant valgustatud LCD-paneelile. Selle iga pikselit tüüritakse eraldi transistoridega, mis võimaldab juhtida vajaliku hulga valgust erinevatesse ekraanipunktidesse. LCD-monitori eelisteks on 100% sirgete servadega kujutis, täiesti lame ekraan, madal voolutarve ja väikesed mõõtmed ning digitaalse liidese ehk DVI (Digital Visual Interface) olemasolul, mis võimaldab arvuti graafikakaardist kanda digitaalse ekraanipildiinfo ilma muundamata otse ekraanile.

Olulised tehnilised parameetrid LCD ekraanil on:

Ekraani mõõtmed – pildi suhe näitab, kas tegemist on laiekraaniga suhtega 16:9 või tavaekraaniga suhtega 4:3, ekraani suurust iseloomustatakse ekraani diagonaali mõõduga tollides. Tänapäeval kasutatav ekraani suhe on enamasti 16:9, mis võimaldab vaadata monitoi ekraanilt mugavalt ka filme.

Ekraani mõõtmed – pildi suhe näitab, kas tegemist on laiekraaniga suhtega 16:9 või tavaekraaniga suhtega 4:3, ekraani suurust iseloomustatakse ekraani diagonaali mõõduga tollides. Tänapäeval kasutatav ekraani suhe on enamasti 16:9, mis võimaldab vaadata monitoi ekraanilt mugavalt ka filme.

  • Resolutsioon – pikslite arv ridades ja veergudes näitab kui palju infot on võimalik ekraanile kuvada, näiteks 1920x1080
  • Reageerimisaeg [ms] ehk aeg, mis kulub muutunud ekraanipunkti muutmiseks monitoril
  • Heledus [cd/m2] näitab monitori maksimaalset heledust
  • Kontrast väljendab monitori musta ja valge värvi suhet
  • Vaatenurk ehk kui suure nurga ulatuses on pilt selgesti jälgitav (eraldi horisontaal- ja vertikaalsuunale)
  • Ühendatavus – monitori liides arvutiga ühendamiseks, mis võib olla VGA – analoogsignaali jaoks, DVI-D, DisplayPort või HDMI digitaalse sisendi jaoks.

Printerite ja skännerite jaoks olulised parameetrid:

  • resolutsioon punktides tolli kohta ehk DPI (Dots Per Inch)
  • värvide toetus ehk kas tegemist on värvilise või must-valge seadmega
  • maksimaalne toetatud paberi formaat
  • seadmete kiirusnäitajad PPM (Page Per Minute) ehk mitu lehekülge minutis suudab seade töödelda

  • ühendatavus – reeglina USB

Massmäluseadmete jaoks olulised parameetrid:

Salvestustehnoloogia:

  • Optiline salvestustehnoloogia on kasutusel CD-, DVD- ja Blu-Ray seadmetes. Neid seadmeid iseloomustab andmete salvestusmaht ja andmevahetuse kiirus, mis võib erineda lugemisel ja kirjutamisel. Kiirust mõõdetakse kordades baasühikust.
  • Magnetiline salvestustehnoloogia on kasutusel kõvaketastel - HDD (Hard Disk Drive). Kõvakettal kasutatakse andmete salvestamisel pöörlevat magnetplaati, mille kohal paikneb lugemis/kirjutamis pea. Suurim viivitus on seotud lugemispea juhtimisega kõvakettal soovitud sektorini. Viivitus on seda väiksem, mida suurem on ketta pöörlemise kiirus RPM (Revolutions Per Minute).
  • Mälukiipide baasil massmäluseadmed on välkmäluseadmed ehk SSD (Solid-state Drive), mis kasutavad andmete salvestamiseks mälukiipe. Nende seadmete suureks eeliseks on liikuvate osade puudumine ja suurepärane pöördusaeg suvalises mälupesas hoitavate andmete poole. Kiire pöördusaeg koos hea andmevahetuse kiirusega, mis ulatub juba 3Gbit/s on teinud need massmäluseadmed populaarseks ja ka SSD seadmete mälumaht kasvab kiirelt.
  • Maht – kui palju andmeid seade salvestada võimaldab
  • Ühendatavus – PATA, SATA, eSATA, USB, Firewire, RJ45

Kui arvutiporti ühendatud seade ei käivitu siis tuleb veaotsingut alustada füüsilisest pistikust, millel ei tohi olla vigastusi. Port peab olema lubatud arvuti BIOS'is ja port peab olema lubatud ka operatsioonisüsteemi seadmete all ning seadme jaoks installeeritud vastavad driverid.

# C.1.1.5 Mäluseadmed

Õppekava

Eristada põhilisi mälutehnoloogiaid nagu DRAM, SRAM, EPROM, välkmälu ja võrdlema nende kasutusotstarvet.

Muutmälud jagunevad:

  • Staatiline mälu SRAM / Static Random Access Memory. See on väga kiire muutmälu, mis realiseeritud trigerite bassil ja mille tootmine on kallis. Seda mälu kasutatakse vahemäluna cache memory või protsessorite registrite mäluna.

Dünaamiline mälu DRAM / Dynamic Random Access Memory. Selle mälutehnoloogia puhul kasutatakse info salvestamiseks väljatransistori paisusiirde elektrimahtuvust. Ühe biti info salvestamiseks piisab ühest transistorist aga laengu säilitamiseks vajab mälu regulaarset värskendamist, mis muudab seda tüüpi mälu oluliselt aeglasemaks. See muutmälu tüüp on kasutusel tänapäevastes personaalarvutites põhimäluna operatsioonisüsteemi ja rakenduste jooksvaks töötamiseks vajaliku programmikoodi ja andmete salvestamiseks. DRAM mälu on korraldatud mälubittide maatriksina. Andmevahetustsükli alustamiseks aktiveerib mälukontroller vastava rea maatriksist, millele kulub teatud viivitus taktides, seejärel aktiveerib kontroller veeruaadressi (milleks samuti kulub teatud hulk takte) ja loeb või kirjutab mällu andmed. Edasised lugemised sama rea veergudest saab teha juba ilma ekstra viivitusteta kuni on vaja lugemisega jätkata uuest reast. Uuele reale ümberlülitumiseks on vaja olemasolev rida deaktiveerida, milleks kulub samuti teatud aeg.

Dünaamiline mälu DRAM / Dynamic Random Access Memory. Selle mälutehnoloogia puhul kasutatakse info salvestamiseks väljatransistori paisusiirde elektrimahtuvust. Ühe biti info salvestamiseks piisab ühest transistorist aga laengu säilitamiseks vajab mälu regulaarset värskendamist, mis muudab seda tüüpi mälu oluliselt aeglasemaks. See muutmälu tüüp on kasutusel tänapäevastes personaalarvutites põhimäluna operatsioonisüsteemi ja rakenduste jooksvaks töötamiseks vajaliku programmikoodi ja andmete salvestamiseks. DRAM mälu on korraldatud mälubittide maatriksina. Andmevahetustsükli alustamiseks aktiveerib mälukontroller vastava rea maatriksist, millele kulub teatud viivitus taktides, seejärel aktiveerib kontroller veeruaadressi (milleks samuti kulub teatud hulk takte) ja loeb või kirjutab mällu andmed. Edasised lugemised sama rea veergudest saab teha juba ilma ekstra viivitusteta kuni on vaja lugemisega jätkata uuest reast. Uuele reale ümberlülitumiseks on vaja olemasolev rida deaktiveerida, milleks kulub samuti teatud aeg.

Peamised 4 parameetrit mälude iseloomustamiseks on järgmised:

  • CL – veeruviivitus CAS latency / Column Address Strobe Latency näitab viivitust mälukontrolleri pöördumisest mälu vastava veeru poole kuni soovitud andmete kättesaadavaks ilmumisega andmesiinil taktides.
  • RCDRAS to CAS delay viivitus rea aadressi valikuks
  • RPRAS precharge viivitus rea deaktiveerimiseks, et pöörduda uue rea poole
  • RASRow active time minimaalne aeg, mis vaja rea ja veeru valikuks koos andmevahetusega kuni rea deaktiveerimissignaalini.

Tavaliselt on need parameetrid mälumooduli spetsifikatsioonis näidatud numbrite järgnevusena, mis eraldatud sidekriipsudega (näiteks 4-4-4-12) ja need numbrid on mälumooduli tootja poolt salvestatud spetsiaalses püsimälukiibis SPD (Serial Presence Detect), mis paikneb igal mälumoodulil ning neid andmeid kasutatakse arvuti mäluparameetrite automaatsel konfigureerimisel arvuti käivitumisel POST testimise käigus. Mälu parameetrite tuvastuseks on saadaval erinevaid rakendusi. Üks selline on näiteks CPU-Z nimeline rakendus (http://www.cpuid.com/), mille väljavõte mälu parameetritest on toodud joonisel.

Tänapäeval arvutites kasutusel olevad sünkroonsed DRAM muutmälud on omakorda teinud läbi arengu, mille etapid olid järgmised:

  • SDR SDRAM / Single Data Rate Synchronous DRAM ehk sünkroonne dünaamiline muutmälu. SDR SDRAM mälu taktsagedus on sünkroonis arvuti protsessori taktsagedusega ning andmevahetus on võimalik üks kord iga takti kohta. Kuna andmesiini laius ühekanalisel mälul on 64 bitti ehk 8 Baiti siis andmevahetuse kiiruse arvutamiseks tuleb korrutada mälu taktsagedus 8 Baidiga.

  • SDR SDRAM / Single Data Rate Synchronous DRAM ehk sünkroonne dünaamiline muutmälu. SDR SDRAM mälu taktsagedus on sünkroonis arvuti protsessori taktsagedusega ning andmevahetus on võimalik üks kord iga takti kohta. Kuna andmesiini laius ühekanalisel mälul on 64 bitti ehk 8 Baiti siis andmevahetuse kiiruse arvutamiseks tuleb korrutada mälu taktsagedus 8 Baidiga.

  • DDR SDRAM / Double Data Rate SDRAM ehk topeltkiirusega sünkroonne dünaamiline muutmälu võimaldab oluliselt kiiremat andmevahetust edastades andmeid nii tõusva kui langeva taktsageduse frondiga kasutades 2-bitist andmepuhvrit.

  • DDR2 SDRAM – selle edasiarenduse puhul suurendati puhvrit 4-bitiseks ja tõsteti mälu välist takti, mis võimaldas lugeda 4 korda kiiremini andmeid kui mälu sisemine takt. Samuti alandati mälu toitepinget 1,8V'ni, mis omakorda võimaldas vähendada mälu voolutarvet.

  • DDR3 SDRAM – vähenes voolutarve ja toitepinge, puhvrid 8-bitised, mis võimaldab lugeda mälusiinilt andmeid järjest puhvrisse 8 korda kiiremini mälu sisemisest taktsagedusest.

  • RDRAM / Rambus DRAM – see on tänaseks juba praktiliselt unustatud mälutehnoloogia, mis tuli uuenduslikuna kasutusse paralleelselt esimeste DDR mäludega. Sellel mälul oli vaikimisi sisseehitatud kahekanaliline andmevahetus ja kõrgemad taktsagedused. Samas oli selle tehnoloogia probleemiks kõrge hind, mälude jahutusprobleemid ja litsentsitasu nõue, mistõttu soodsam DDR mälutehnoloogia jäi võitjaks.

Mälutehnoloogiate standardimisega tegeleb JEDEC: http://www.jedec.org

Mälude funktsionaalsust kirjeldavaid tehnilisi dokumente on võimalik leida ka mälutootjate veebilehtedelt, näiteks: http://www.elpida.com/en/products/documents.html

Andmevahetuse kiirust saab tõsta kui kasutada mitmekanalilist mälulahendust, mis on kaasaegsetes arvutites juba standardiks kujunenud.

Arvuti muutmälu on arvuti põhikomponent ja selle parameetrid peavad hästi sobima arvuti mälukontrolleriga. Samuti on stabiilsuse poolest oluline installeerida arvutisse kokku vaid sama tootja samade parameetritega mälumooduleid. Kui mälu töös esineb tõrkeid siis on sellest mõjutatud kogu arvuti ning normaalne töötamine arvutiga ei ole võimalik. Arvuti mälu testimiseks on erinevaid vahendeid. Mälutestid on kaasas uuemate operatsioonisüsteemidega ja saab neid leida ka internetist. Näiteks aadressilt: http://www.memtest.org/

Püsimälud on kasutusel erinevate arvuti riistvarakomponentide püsivara (firmware) programmikoodi ja andmete salvestamiseks. Näiteks on iga arvuti emaplaadil püsimälu, milles sisaldub BIOS / Basic Input Output System.

Püsimälud jagunevad omakorda:

  • ROM / Read-Only Memory – püsimälu, mis programmeeritud tootmise käigus ja seda ei ole võimalik hiljem ümber programmeerida.
  • PROM / Programmable ROM - ühekordselt programmeeritav püsimälukiip.
  • EPROM / Erasable PROM – mitmekrodselt programmeeritav püsimälukiip, mille ümberprogrammeerimiseks on vaja vana programm kustutada ultraviolettkiirguse abil.
  • EEPROM / Electrically Erasable PROM – mitmekordselt ümberprogrammeeritav püsimälukiip, mille eelnev kustutamine toimub elektrilise signaali abil ja seda tüüpi püsimälu kasutatakse tänapäevastes arvutites ja riistvaraseadmetes, et võimaldada riistvaraseadmete programmikoodi uuendada paranduste ja uue funktsionaalsuse lisamiseks.

Mälude veakontroll on kasutusel kriitilistes kontrollerites või serverarvutites. Veakontroll võib olla realiseeritud kas paarsuskontrolliga, kus teatud arvu bittide kohta arvutatakse kontrollsumma ning andmete mälust lugemisel kontrollitakse, kas summa on sama. Sellise lahenduse korral on võimalik avastada 1-bitiseid mäluvigu. Teine mälukiipides tuntud veakontrollimeetod on ECC / Error detection and correction. Selle kontrollimeetodi puhul on iga mälumoodulil eraldi kontrollbit ja selle kontrollimehanism ka mälukontrollerile sisse ehitatud. ECC mälude korral on võimalik korrigeerida 1-bitiseid mäluvigu ja avastada 2-bitiseid mäluvigu.

# C.1.1 Kordamisküsimused

  1. Milline komplekt komponente on kõige sobivam funktsioneeriva arvuti koostamiseks?
  • Protsessor, mälu, mikrokood
  • Protsessor, mälu, sisend-väljund seade
  • Protsessor, emaplaat, mälu, BIOS, toiteplokk X
  1. Millise valemi järgi on õige teisendada 2 bitine kahendkood kümnendkoodiks?
  • Kõrgem bitt×22+madalam bitt×21
  • Kõrgem bitt×21+madalam bitt×20 X
  • Kõrgem bitt×20+madalam bitt×21
  1. Millises funktsioonis ei kasutata püsimälu arvuti koosluses?
  • BIOS
  • Vahemälu X
  • Mikrokood
  1. Millised parameetrid iseloomustavad DDR2 SDRAM mälu jõudlust?
  • RPM
  • SPD
  • Veeruviivitus X
  • POST
  1. Millisel massmäluseadmel on kõige väiksem viivitus andmete poole pöördumisel?
  • USB
  • LVD
  • HDD
  • SSD X
  • ODD
  • DVD

# C.1.2 Arvuti arhitektuur

Selle alateema materjale läbi töötades õpid:

  • Määratlema diagrammi abil üldotstarbelise arvuti arhitektuur
  • Kirjeldama tugikiibistiku mõistet ja erinevate siinitüüpide otstarvet arvutisüsteemis
  • Kirjeldama mälu hierarhia mõistet
  • Tuvastama erineva otstarbega arvutisüsteeme.

# C.1.2.1 Arvuti arhitektuuriskeem

Õppekava

Määratleda diagrammi abil üldotstarbelise arvuti arhitektuuri

Kaasaegse arvutiarhitektuuri plokkskeem on kirjeldatud allpooltoodud joonisel.

Joonis 1‑10. Arvuti arhitektuur Inteli Q67 tugikiibistiku baasil

Joonisel on toodud kaasaegse arvuti arhitektuuri plokkskeem, kus on näha arvutisüsteemi põhikomponendid eesotsas protsessoriga, milles sisaldub nii graafikakontroller kui ka mälukontroller. Protsessor on ühenduses teiste süsteemikomponentidega läbi kiire DMI (Direct Memory Interface) liidese. Viimane asendab varem tuntud protsessori süsteemisiini (FSB – Front Side Bus) ja sarnaneb ülesehituselt PCI Express siinile. Protsessoris sisalduv graafikakiirendi on ühenduses väljundportidega FDI (Flexible Display Interface) liidese abil. Tugikiibistiku komponent (PCH –Platform Controller Hub) võimaldab arvutisüsteemil erinevad siinid suhtlemiseks välismaailmaga. Sealhulgas graafikapordid, PCIe ja PCI siinid, SATA liidese ja pordid, USB liidese ja pordid, helikaardi ja helipordid, võrgukaardi ja RJ-45 pordi. Joonisel on toodud ka SPI (Serial Peripheral Interface Bus) liides BIOS'i poole pöördumiseks ja LPC (Low Pin Count) liides, mille kaudu ühendatakse tugikiibistikuga järjestik- ja paralleelpordid ning pääseb juurde teistele funktsionaalsetele moodulitele (DMA kontroller, katkestuste kontrollerid, süsteemi timer, võimsussäästu režiimide haldus, süsteemi kell, jne).

# C.1.2.2 Tugikiibistiku mõiste ja erinevate siinitüüpide otstarve

Õppekava

Kirjeldada tugikiibistiku mõistet ja erinevate siinitüüpide otstarvet arvutisüsteemis.

Tugikiibistik on täiendav integraalskeemide komplekt, mis seob omavahel erinevad arvuti riistvarakomponendid ja sisaldab vajalikud kontrollerid erinevate sisend-väljundseadmete ühendamiseks nii arvuti sees kasutades siine ja porte kui ka arvutist väljaspool kasutades arvutikorpusele väljatoodud porte.

Andmete transportimiseks ühest kohast teise kasutatakse füüsilisi meediumeid ehk siine : mööda andmesiini liiguvad andmed, aadressisiinil olev info näitab kuhu andmed liiguvad ja juhtsiini seisuga määratakse mis suunaliselt ja mille vahel andmed parajasti liiguvad. Siinil liikuvate elektrisignaalide jada ehk protokoll võimaldab hallata seadmete vahelist suhtlust. Kui siin on jagatud mitmete võrdsete seadmete vahel on vaja kasutada siini arbitreerimist , millega antakse ühele seadmele korraga õigus siini hallata. Tsentraliseeritud arbitreerimise puhul on arbitreerimiseks eraldi riistvara. Detsentraliseeritud arbitreerimise korral peavad seadmed ise suutma otsustama, kes siini kasutab.

Seadmete ühendamine arvutiga saab toimuda kas arvuti sees olevate siinide või portide kaudu või arvutist väljatoodud portide abil.

# PCI

Põhiline siin riistvarakomponentide ühendamiseks arvutis on tänapäeval PCI Express ehk PCIe. PCIe siin on järglaseks PCI siinile aga erinevalt viimase paralleelsest lähenemisest on PCIe järjestiksiin, mille ühe ühenduse (lane) moodustab traatide paar, millest üks mõeldud andmete saatmiseks ja teine vastuvõtmiseks.

PCIe võimaldab häid kiirusomadusi, kuna ei pea jagama siini teistega ning võimalik on kombineerida mitu ühendust tööle samaaegselt. Kasutab punktist punktini topoloogiat seadmete vahel ja kahe seadme vahel võib ühendus koosneda mitmest traatide paarist, millega saab vastavate seadmetevahelise ühenduse soovitud andmevahetuse kiirusele vastavalt konfigureerida. Näiteks võrgukaardi jaoks kasutatakse PCIe x1 siinipesa aga graafikakaardi jaoks on kasutusel PCIe x16 siini pesa. Eelkäija PCI siin vajas riistvaralist arbitreerimist, millega jagati seadmetele õigust siini kasutada, kuna siin oli jagatud erinevate seadmete vahel ja korraga sai sai siinil olla ainult üks juhtiv seade. Ehituselt on PCIe siin soodsam, kuna vajab vähem komponente.

PCIe toetab uuemaid tehnoloogiaid (kuumvahetatavus, võimsusäästurežiimid, QoS / Quality of Service, jne).

PCIe siini eri versioonide jõudlusnäitajad on toodud allpool tabelis.

PCIe arhitektuur Andmevahetuskiirus kanali kohta ühes suunas Summaarne andmevahetuse kiirus x16
PCIe 1.x ~250MB/s ~8GB/s
PCIe 2.x ~500MB/s ~16GB/s
PCIe 3.0 ~1GB/s ~32GB/s

Võrdluseks on 32 bitise ja 33MHz PCI siini andmevahetuse kiirus 133MB/s, mis on ligi 2x aeglasem andmevahetuse kiirus ühes suunas ja lisaks on PCIe kahesuunaline.

Lisainfo PCI ja PCIe spetsifikatsiooni ja arhitektuuri kohta: http://www.pcisig.com/news_room/faqs/

# SATA

SATA / Serial Advanced Technology Attachment liides on massmäluseadmete ühendamiseks. SATA eelisteks tema eelkäija PATA (Parallel Advanced Technology Attachment) ees on kõrgem andmevahetuskiirus (kuni 6 Gbps), parem häirekindlus, kuumvahetatavus, odavam kaabel. Viimase SATA versiooni 3.0 andmevahetuse kiirus on kuni 6 Gbps.

Perifeeriaseadmete ühendamiseks on arvutikorpusest välja toodud pordid.

Joonis 1‑11. Arvuti tagapaneeli pordid (Allikas: Intel DQ57TM emaplaadi installatsioonijuhend)

Erinevad pordid, mida võib leida kaasaegsetest arvutitest on:

  • USB (Universal Serial Bus). Toetab seadmete kuumvahetatavust. Tähtühenduses saab lisada kuni 127 seadet läbi jaoturite. Andmevahetuse kiirused on USB seadmetel pidevalt kasvanud ja on vastavalt USB 1.1 seadmetel 12 Mbps, USB 2.0 seadmetel 480Mbps, USB 3.0 seadmetel 4.8Gbps. Viimase USB 3.0 versiooni pistikute/pesade disainis on täiendavad kontaktid, mis annavad juurde jõudlust aga samas on tagatud ka ühilduvus vanemate seadmetega. Info: http://www.usb.org/

  • Firewire ehk IEEE 1394 liides on Apple loodud ja toetab kuni 63 kuumvahetatavat seadet. Erinevad standardi versioonid 1394a kiirusega 400 Mbps ja 1394b 800 Mbps

  • eSATA (external Serial Advanced Technology Attachment) – väline SATA liides kõvaketta ühendamiseks. Reeglina on vaja eraldi toiteallikat massmäluseadmele voolu jagamiseks.

  • Helipordid (analoogsed või digitaalsed) mõeldud kasutamiseks mikrofoni, kõlarite ühendamiseks

  • Monitori pordid:

  • DVI-I – mõeldud nii analoog-, kui digitaalse monitori ühendamiseks

  • DVI-D – ainult digitaalse monitori ühendamiseks

  • VGA – analoogmonitori ühendamiseks,

  • DisplayPort – digitaalsete monitoride või olmeelektroonikaseadmete ühendamiseks

  • HDMI (High Definition Media Interface) – võimaldab ühendada arvuti otse teleriga ja kanda üle nii digitaalse telepildi kui ka digitaalse heli SP/DIF (Sony-Philips Digital Interface)vormingus

  • Arvutivõrgu port RJ-45

  • Järjestikport ehk RS-232 järjestikport andmevahetuseks vanemate seadmetega. Oli enimkasutatav port kuni USB liidese kasutuselevõtmiseni. Reeglina ei ole see port uuematel arvutitel vaikimisi välja toodud aga see on tugikiibistikku endiselt integreeritud ja võimalik arvutikorpusele välja tuua.

  • Paralleelport - port paralleelseks infovahetuseks arvutiga. Kasutati enamasti printerite ühendamiseks. See port on tänaseks juba praktiliselt kasutusest kõrvale jäänud, kuna jõudlus on väga madal võrreldes uuemate liidestega (näiteks USB).

Infovahetus protsessori ja seadmete vahel saab toimuda kas programmeeritud sisend-väljundoperatsioonina (Programmed I/O), katkestuse kaudu (Interrupt Driven I/O) või otsemälupöörduse abil (DMA – Direct Memory Access):

  • Andmevahetus programmeeritud sisend-väljundoperatsioonina toimub täielikult protsessori juhtimisel. Protsessor annab seadme kontrollerile määratud aadressi kaudu käsu andmevahetusoperatsiooniks, kontrollib, kas andmed on saadaval ja siis loeb andmed. Juhul kui seadme andmevahetusoperatsioon sisaldab viivitusi peab protsessor ootama seadme reageerimist ja protsessori kasutus on ebaefektiivne.

  • Katkestuste kaudu andmevahetuse puhul ei jää protsessor ootama seadme andmevahetusoperatsiooni täitmist vaid peale seadmele andmevahetusoperatsiooniks käsu edastamist jätkab tööd teiste protsessidega ning seade kutsub peale andmete kättesaadavaks tegemist ise esile andmevahetuse protsessoriga kasutades riistvaralist katkestust. Protsessor katkestab seejärel käimasoleva rakenduse teostamise, et käivitada katkestuste haldur. Katkestuste haldur teeb kindlaks seadme, kust katkestussignaal tuli, ning loeb seadmest andmed.

  • Otsemälupöörduse puhul saab seade kasutada otseühendust suuremate andmeplokkide mällu kirjutamisel, et vältida protsessori koormamist üksikute andmevahetusoperatsioonidega. Sel juhul saab protsessor delegeerida andmevahetusoperatsiooni DMA kontrollerile, saates DMA moodulile andmevahetusoperatsiooni liigi, seadme aadressi, mäluaadressi kuhu andmed kopeerida ja andmete mahu ning naasta siis muude protsesside täitmisele. Kui DMA kontroller teostab andmevahetuse saadab ta katkestuse protsessorile.

Seadmed saavad juurdepääsu ressurssidele läbi kontrolleri, millele on määratud oma IRQ, I/O ja DMA aadressid.

Andmevahetus protsessori ja perifeeriaseadmete vahel toimub sünkroonse või asünkroonse andmevahetuse põhimõttel. Sünkroonse andmevahetuse korral juhib andmevahetust protsessor ning perifeeriaseade töötab sünkroonselt taktigeneraatoriga. Enamik perifeeriaseadmeid töötab autonoomselt ning pole sünkroniseeritud arvuti või mikrokontrolleri taktigeneraatoriga.

# C.1.2.3 Mälu hierarhia

Õppekava

Kirjeldada mälu hierarhia mõistet nagu hierarhia tasemed, kiirem mälu ja aeglasemad massmäluseadmed, vahemälu efektiivsust ja selle mõju arvutisüsteemi jõudlusele.

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 kiiremad, väiksemad ja kallimad. Alamate tasemete mälud on aeglasemad, suuremad ja odavamad. Alama taseme mäludeks on suure mahuga mälud, mida kasutatakse andmekogumite püsivaks salvestamiseks.

Joonis 1‑12. Mälu hierarhia (Allikas: Learning Materials for Information Technology Professionals (EUCIP-Mat))

Kõrgema taseme mälud on registrid, protsessori vahemälu ja täiendav vahemälu ja alama taseme mäludeks on põhimälu ja massmälu. Kõrgema taseme mälus tuleb hoida andmeid, mis on vajalikud jooksva töö tegemiseks ja ülejäänud andmed püütakse hoida alama taseme mälus.

# C.1.2.4 Arvutisüsteemide erinevused sõltuvalt kasutusotstarbest

Õppekava

Tuvastada erineva otstarbega arvutisüsteeme nagu tahvelarvuti, sülearvuti, lauaarvuti, mitmetuumaline serverarvuti, suurarvuti ja välja tooma nende arhitektuurilisi erinevusi.

Arvutisüsteemid võivad väga erineda sõltuvalt kasutusotstarbest.

Personaalarvuti on mõeldud kasutamiseks kas kodus või kontoris. Personaalarvuteid võib olla väga erineva suurusega ja funktsionaalsusega, vastavalt sellele, mis otstarbeks arvutit peamiselt kasutatakse. Näiteks arvutimänguri arvuti peab olema reeglina konfigureeritud suure mälumahu ja võimsa graafikakaardiga ja tavaliselt on see ka suuremas korpuses, et pakkuda võimsale konfiguratsioonile paremat jahutust.

Joonis 1‑13. Arvutimänguri jaoks konfigureeritud arvuti tornkorpuses

Kontoritööks vajalik arvuti võib olla hästi väikeste mõõtmetega, kuna jooksvaks kontoritööks ei ole vaja võimsaid komponente ega jahutust.

Kontoriarvuti võib tänapäeval olla realiseeritud ka terminalina , mis vahendab kasutaja tegevusi serverisse ja kuvab ekraanile tulemust aga kogu töö teeb ära serverarvuti protsessor, millega terminal on pidevas ühenduses.

Suurepäraselt sobib kontoritöö tegemiseks ka näiteks mobiilne arvuti. Viimane sisaldab akut ja seda saab lihtsasti võtta kaasa reisile, et olla ühenduses enda ettevõtte või koduvõrguga ka töölt või kodust eemal viibides. Mobiilne arvuti võib olla kas tahvelarvuti (Tablet), sülearvuti (Laptop) või pihuarvuti (Palmtop, PDA, jne.).

Serverarvutit kasutatakse teatud teenuste pidevaks käigushoidmiseks ettevõtte võrgus või avalikus võrgus. Serverarvuti eripära on kõrge käideldavus, mis tagatakse erinevate süsteemsete osade dubleerimisega. Seetõttu kui näiteks serverarvutis lakkab töötamast üks toiteplokk siis võtab tema töö üle dubleeritud toiteplokk ja server töötab edasi. Serverarvuti omadusteks on võimalus jälgida erinevate riistvaramoodulite tervislikku seisundit ja teavitada süsteemiadministraatorit kohe kui mingi komponendiga veaolukord avaldub. Kaasaja serverilahendused ei saa üle ega ümber virtualiseerimisest. See aeg, kus iga teenuse jaoks oli eraldi füüsiline server on möödas ja kaasaegsed virtualiseerimiskeskkonnad võimaldavad käivitada ühel füüsilisel serverarvutil kümneid virtuaalseid servereid. Selline lähenemine aitab oluliselt paremini ära kasutada serverarvuti ressursid, vähendab energiakulu, lihtsustab andmete varundamist ja erinevate serverite transportimist ühelt füüsiliselt masinalt teisele, kuna virtuaalse serveri puhul on vaja serveri transportimiseks üle kanda vaid üks fail arvuti kõvakettalt teise arvutisse.

# C.1.2 Kordamisküsimused

  1. Tugikiibistik sisaldab:
  • Protsessori käsustiku
  • Protsessori registrid
  • Protsessori pingeregulaatori X
  1. Millise valemiga saab arvutada PCI siini läbilaskevõimet megabaiti/sekundis?
  • Siini laius baitides×ülekandekiirus [MHz]/106
  • Siini laius baitides×ülekandekiirus [MHz] X
  • Siini laius bittides×ülekandekiirus [MHz]/8
  1. Millised ei ole PCIe siini omadused?
  • Kahesuunaline infovahetus
  • Kahe seadme vahel võib olla mitu ühenduskanalit (lane)
  • Punktist-punktini topoloogia
  • Siinil on vajalik tsentraliseeritud arbitreerimine X
  1. Terminali funktsioon on:
  • Ühendada palju arvuteid koos tööle
  • Ühendada palju servereid koos tööle
  • Võimaldab üle kanda kasutajakeskkonda serverist arvutitöökohale X
  1. Virtualiseerimine võimaldab:
  • Käivitada palju servereid samaaegselt
  • Käivitada terminali-serveri seansse
  • Paremini ära kasutada ühe füüsilise serveri ressurssi X

# C.1.3 Protsessorid

Selle alateema materjale läbi töötades õpid:

  • Kirjeldama protsessori arhitektuuri
  • Kirjeldama CISC ja RISC arhitektuuriga protsessori disaini eripära
  • Kirjeldama käsukonveieri, käsutaseme paralleelsuse dünaamilise ajastamise ja spekulatiivse käivitamise mõisteid
  • Defineerima kaasprotsessori roll
  • Kirjeldama protsessori omadusi.

# C.1.3.1 Protsessori arhitektuur

Õppekava

Kirjeldada käsustiku arhitektuuri (Instruction Set Architecture) mõistet

Protsessor ehk CPU (Central Processing Unit) on keskne arvuti komponent, mis täites mälust loetud käske töötleb andmeid ja juhib nii kogu arvuti tööd. Protsessor on ühendatud muu arvutisüsteemiga andme-, aadressi- ja juhtsiini abil. Et protsessor saaks töötada peavad tal minimaalselt olema sisemised andmeregistrid ja juhtregistrid, töötlemisplokk, juhtplokk ja käsustik, mida protsessor tunneb ja mis võimaldab talle käske anda.

Protsessori tööd sünkroniseerib väline taktsignaal. Selle signaali järgi toimub käskude lugemine protsessorisse ja nende täitmine. Taksignaali sagedus määrab ära protsessori töö kiiruse aga see ei ole ainus parameeter protsessori jõudluse hindamiseks. Esimestel 8-bitistel protsessoritel oli taktsagedus ~4 MHz, tänapäevastel protsessoritel ulatub see gigahertsidesse.

Protsessori erinevate osade kirjeldus:

  • Juhtplokk (Control Unit) dekodeerib käsu mikrooperatsioonideks ja annab protsessori teistele osadele vastavad korraldused käsu täitmiseks ning vastutab hiljem tulemi tagasikirjutamise eest. Kasutab spetsiaalseid registreid: programmiloendur (Program Counter) ja käsuregister (Instruction Register).

  • Töötlemisplokk (Processing Unit) sisaldab aritmeetikaseadme (ALU – Arithmetic Logic Unit), mis suudab teostada arvutustehteid etteantud andmetega ehk liita, teostada loogikatehteid ja korrutada ning kombineerida neid tegevusi ning ujukoma seadme (FPU – Floating Point Unit) keeruliste arvutuste jaoks, mis ei ole sooritatavad ALU abil. Töötlemisplokk kasutab spetsiaalseid registreid: olekuregister (Status Register) ja akuregister (Accumulator Register).

  • Registrid on protsessori sisemiseks töömäluks ja jagunevad järgmiselt:

  • Üldotstarbelised registrid. Need on mõeldud käskude poolt kasutatavate andmete ja/või operandide hoidmiseks.

  • Spetsiaalsed registrid, millel on täita spetsiaalsed funktsioonid protsessori töös. Spetsiaalsed registrid on järgmised:

  • Akuregister (A – Accumulator Register) hoiab käskude täitmise vahetulemusi

  • Käsuloendur (PC - Program Counter) sisaldab järgmise käsu mäluaadressi. Seda suurendatakse automaatselt iga käsutsükli jaoks. Alamprogrammid ja katkestused muudavad selle registri tavalist töötsüklit, sisestades käsuloendurisse uue väärtuse

  • Käsuregister (IR – Instruction Register) sisaldab mälust loetud käsku

  • Olekuregister (SR – Status Register) sisaldab protsessori tehete teostamise olekut

  • Pinuviit (SP – Stack Pointer) sisaldab pinumälu järgmist vaba aadressi

Pinumälu kasutatakse protsessori registrite seisu salvestamiseks. Näiteks on see vajalik katkestust teenindava alamprogrammi käivitamise eel, et salvestada protsessori jooksev tööseis ja taastada see peale katkestuse alamprogrammi lõpetamist, et naasta põhiprogrammi täitmise juurde. Pinumälu töötab viimasena sisse esimesena välja (LIFO – Last In First Out) struktuurina.

# Protsessori käsustik

Protsessori käsustiku arhitektuur ISA / Instruction Set Architecture hõlmab protsessori käsustikku ja registreid, mille kaudu pääseb protsessori funktsionaalsust kasutama programmeerija.

Protsessori poolt teostatavad masinkäskudele vastavad operatsioonid on tavaliselt liigitatavad järgmiselt:

  • andmete ülekanne (registritest registritesse, mälust registrisse ja vastupidi)
  • loogilis-aritmeetilised tehted (liitmine, lahutamine, operandi bittide rotatsioon, paremnihutus, vasaknihutus jne)
  • bittide käitlus
  • stringide käitlus
  • käsuvoog (tingimuslikud ja mittetingimuslikud hargnemised, alamprogrammid jne)
  • eranditöötlus
  • Sisendi-väljundi haldus
  • protsessori töö juhtimine.

Protsessori sees paikneb spetsiaalne püsimälu – mikrokood, millega kontrollitakse protsessori masinakäskude täitmist. See püsimälu on uuematel protsessoritel ümberkirjutatav ja võimaldab rakendada vigade parandusi protsessorile.

Programmi täitmine protsessoris koosneb järgmistest põhietappidest:

  • Mälust käsu lugemine Instruction Fetch
  • Käsu dekodeerimine elementaaroperatsioonideks Instruction Decode
  • Käsu täitmine Execute
  • Tulemuse salvestamine Store.

Programmi täitmisel võivad esineda erandjuhtumid, kus süsteem peab reageerima välistele sündmustele, mis pole programmile teada. Tüüpilisteks näideteks on suhtlemine operatsioonisüsteemiga, andmevahetus perifeeriaseadmetega, silumise operatsioonid, viga, käsu viga, jne. Selliseid erandeid nimetatakse katkestusteks. Katkestuste korralikuks haldamiseks on vaja spetsiaalseid käske, mis suudavad katkestada protsessorit (st. ajutiselt peatada programmi rakendamist), käivitada alamprogrammi, mis seda haldab ning kui katkestusrutiin on lõpetanud, taastada katkestatud programmi täpselt samas punktis, kus see oli peatatud.

# C.1.3.2 Protsessorite jagunemine käsustiku alusel RISC ja CISC arhitektuurideks

Õppekava

Kirjeldada CISC ja RISC arhitektuuriga protsessori disaini eripära.

Protsessorid jagunevad lähtuvalt käsustiku keerukuselt:

  • Komplekskäsustikuga arhitektuur ehk CISC (Complex Instruction Set Computer). Selle arhitektuuri puhul on protsessori käsustik keerukam ja iga käsk täidab mitmeid madalama taseme operatsioone. Seetõttu saab ühe käsuga täita keerukamaid ülesandeid. Samas võtab käsu täitmine rohkem aega. Selle arhitektuuri baasil on toodetud tänapäeva personaalarvutite protsessorid.
  • Kärbitud käsustikuga arhitektuur ehk RISC (Reduced Instruction Set Computer). Selle arhitektuuri puhul on käskude arv piiratud ja käsu täitmine kiirem aga ülesande täitmiseks kulub rohkem käske. RISC arhitektuuri baasil käsud on sobivamad konveierrakendustes

# C.1.3.3 Käsukonveierid, käsutaseme paralleelsus, dünaamiline ajastamine ja spekulatiivne käivitamine

Õppekava

Kirjeldada käsukonveieri, käsutaseme paralleelsuse dünaamilise ajastamise ja spekulatiivse käivitamise mõisteid.

Protsessoris on erinevate käsutäitmisetappide jaoks erinevad osad ning kui käskude täitmine toimuks protsessoris ükshaaval tuleb iga käsu alustamiseks oodata ära eelneva käsu täitmise tulemus ja protsessori erinevad osad peavad ootama jõudeolekus mitu takti kuni eelmise käsu täitmine on lõpetatud.

Protsessori erinevate osade efektiivseks kasutamiseks ja protsessori jõudluse tõstmiseks rakendatakse kaasaegsetes protsessorites käsukonveieri meetodit Instruction Pipelining. Käsukonveieri põhimõte on alustada järgmise käsu täitmise tsüklit kohe peale jooksva käsutsükli esimese osa lõpetamist ehk kui on jooksva käsu lugemine mälust lõppenud ja algab selle dekodeerimine alustatakse kohe ka järgmise käsu mälust lugemisega, jne. Käsukonveier toimib ideaalselt juhul kui käsud ei ole üksteisest sõltuvad ja eelmise käsu tulemust ei ole vaja järgmise käsu täitmisel kasutada. Kui järgnevate käskude täitmisel on vaja eelmise käsu tulemust tuleb tekitada käsukonveieril seisak või tühi operatsioon, et oodata ära vajalik eelmise käsu tulemus. Käsukonveieril võib tekkida seisak ka juhul kui üks käsk nõuab keerukamat arvutust ja suunatakse täitmiseks ujukoma seadmesse, kus käsu täitmine võib võtta aega palju protsessori takte. Selle olukorra vastu on kaasaegsetes protsessorites mitu käsukonveierit, millest üks täidab näiteks aritmeetikakäske ja teine ujukomakäske nii et protsessori töö ei seiskuks.

Käsutaseme paralleelsus ILP / Instruction Level Parallelism on termin, mis viitab võimalusele täita mitut käsku protsessoris samaaegselt kui nende käskude tulemused ei ole teineteisest sõltuvuses. Näiteks kui kolmest käsust kahe tulemused ei ole ülejäänutest sõltuvuses siis saab täita kolm käsku kahe ajaühiku sees, mis teeb käsutaseme paralleelsuseks ILP=3/2.

On olemas kaks varianti ILP lahendusteks:

  • Rohkemate käskude samaaegne täitmine, mis peavad siiski olema erineval täitmise astmetel. Sellisel juhul on tegemist käsukonveieriga.
  • Eri käskude samal astmel oleku võimaldamine. See lahendus nõuab täitmise ressursside mitmekordistamist. Seda lahendust pakub superskalaarne protsessor.

Superskalaarseteks nimetatakse selliseid arhitektuure, mis on varustatud rohkem kui ühe konveieriga. Selliste arhitektuuride puhul on funktsionaalsed seadmed konveieris dubleeritud.

Superskalaarse protsessori arhitektuuri saab omakorda rakendada erinevalt:

  • sõltumatute konveieritega: iga funktsionaalne seade kuulub mingi kindla konveieri juurde
  • saliselt kattuvate konveieritega: funktsionaalsete seadmete osas kulude kokkuhoidmiseks on mõned seadmed eri konveierite jaoks ühised.

Teisel juhul vajatakse täiendavaid riistvarakomponente, mis võimaldaksid lahendada konflikte, kus konveierid üritavad juurdepääsu samale jagatud seadmele üheaegselt.
Intel Pentiumi protsessoril on näiteks üks konveier, mida saab kasutada ükskõik milliseks operatsiooniks (ALU või FPU), ning teine konveier, mida saab kasutada ainult lihtoperatsioonideks, mis teostatakse täisarvulistel operandidel.

Võimalikud tehnoloogiad käsukonveierite seisakute vältimiseks:

  • Dünaamiline ajastamine Dynamic Sceduling, mille puhul riistvara korraldab programmi koodi käivitamise ümber, et vähendada seisakuid. See tehnoloogia aitab lahendada juhtumeid, kus käsutäitmise sõltuvused üksteisest on teadmata programmi kompileerimisel ja lihtsustab kompileerimise protsessi ning lubab ühe konveieri jaoks kirjutatud koodi efektiivselt käivitada mitmel konveieril.
  • Spekulatiivne käivitamine Speculative Execution, mille puhul käivitatakse koodi enne kui on teada, kas selle koodi tulemusi üldse vaja läheb. Seda saab teha juhul kui protsessoril on vabu ressursse. Näiteks täidavad kaasaegsed protsessorid selle meetodiga tingivuslikele hargnevustele järgnevat koodi. See meetod võimaldab paremini ära kasutada konveieri jõudeolekus seisva ressursi.

# C.1.3.4 Kaasprotsessori mõiste

Õppekava

Defineerida kaasprotsessori roll ja tuua välja selle osa käsustiku arhitektuuris.

Protsessori jõudlust aitab suurendada kaasprotsessori (Coprocessor) kasutamine, mis täiendab põhiprotsesori funktsionaalsust. Operatsioonid, mida võivad täita kaasprotsessorid on ujukomaarvutused, graafikatöö, signaalitöötlus, kodeerimine/dekodeerimine, krüpteerimine. Kaasprotsessorid aitavad vabastada põhiprotsessori spetsiifilistest toimingutest ja tõsta nii süsteemi jõudlust. Selline lähenemine aitab kohandada arvuteid paremini kasutajate vajadustega, nii et kasutaja, kes ei vaja ekstra jõudlust, ei pea ka selle eest maksma. Näiteks võimaldab spetsiaalsel graafikakaardil olev protsessor vabastada põhiprotsessori Blu-Ray video dekodeerimisega seotud koormusest ja põhiprotsessor saab samal ajal pühenduda teistele operatsioonisüsteemi hooldustegevustele või muude kasutajarakenduste käivitamisele, mis töötavad koos filmi kuvamisega.

# C.1.3.5 Protsessorite tehnoloogiad ja parameetrid

Õppekava

Kirjeldada protsessori omadusi nagu ühe/mitmetuumaline, taktsagedus, konveieri astmed, vahemälu, kiibi mõõtmed, võimsustarve, soojuseralduvus.

Protsessorite omadusi iseloomustavad laiemalt järgmised parameetrid:

  • Käsustiku arhitektuur: käskude arv ja lähenemine (RISC, CISC)

  • Käsustike laiendused on protsessori arhitektuuri ja käsustiku täiendused suurte andmehulkade protsessimiseks, kus ühe käsuga töödeldakse suur hulk andmeid: MMX (Multimedia Extentsions); SSE – SSE4 - Streaming SIMD (Single Instruction Multiple Data) Extensions; AVX (Advanced Vector Extensions)

  • Siinilaius: bittide hulk, mis protsessitakse ühe käsuga. 64-bitised protsessorid võimaldavad adresseerida rohkem mälu ja töödelda ühe käsuga rohkem andmeid, samas ei ole 32-bitised rakendused alati hästi ühilduvad 64-bitise operatsioonisüsteemiga ja seetõttu tuleb siinilaius valida vastavalt arvuti kasutusotstarbele ja kasutatavatele rakendustele.

  • Taktsagedus: iseloomustab protsessori poolt täidetavate käskude arvu sekundis.

  • Energiatarve ja soojusenergia eraldumine: Tehnoloogia arenedes on saanud võimalikuks protsessorite taktsageduse tõus gigahertsidesse, mis omakorda on toonud kaasa protsessorite energiatarbe tõusu ja samuti soojusenergia eraldumise protsessorist. Protsessorite töötemperatuuri hoidmine ettenähtud piirides on tõsine väljakutse.

  • Käsukonveieri astmete arv: mida rohkem astmeid on käskukonveireil, seda rohkem käske on võimalik samaaegselt töös hoida ja seda väiksemad on viivitused käskude täitmise vahel. Kõige lihtsamal juhul on tegemist 4-astmelise konveieriga: käsu lugemine, dekodeerimine, käivitamine ja salvestamine. Kaasaegsetes protsessorites on käsukonveieri etappe oluliselt rohkem, ulatudes kuni 20 erineva astmeni

  • Protsessori vahemälu: kiire staatiline mälu põhimälu ja protsessori vahel. Käsukonveier töötab edukalt siis kui tal on ees piisavalt käske ja andmeid, mida töödelda. Kuna protsessori töökiirus on oluliselt kõrgem muutmälu töökiirusest siis otse mälust andmete lugemine põhjustaks protsessoris pidevaid seisakuid. Seetõttu kasutatakse dünaamilise muutmälu ja protsessori vahel kiiret staatilist muutmälu ehk vahemälu (Cache Memory), kus püütakse hoida sees protsessori tööks jooksvalt vajalikke andmeid. Kaasaegsed protsessorid oskavad ennustada programmi kulgu (Branch Prediction) ja vastavalt sellele uuendada vahemälu sisu ka siis kui toimub hüpe programmikoodis.

Vahemälu parameetrid:

  • Vahemälu tabamus (cache hit) – vahemälust leiti vajalik info

  • Vahemälu möödalask (cache fail) – vahemälust ei leitud vajalikku infot

  • Kirjuta tagasi (write back) – muutunud andmed kirjutatakse pühimällu tagasi alles siis kui vahemälu tühjendatakse, et vähendada aeglase põhimälu poole pöördumisi

  • Kirjuta üle (write through) – muutunud andmed kirjutatakse kohe püsimällu tagasi

  • Vahemälu puhvri tabamise tõenäosus (Hit ratio) – suhe, mis iseloomustab vahemälu jõudlust

  • Vahemälu puhvri ridade arv (block size) – ploki suurus kirjete lugemiseks vahemällu.

  • Tootmistehnoloogia: tehnoloogia arenedes on saanud võimalikuks vähendada protsessori skeemikomponentide mõõtmeid, toitepingeid ja sellega vähendada komponentide energiatarvet ja mahutada rohkem elemente väiksesse korpusesse. Kui Intel 8088 protsessor oli toodetud 3 mikromeetrit tootmistehnoloogias siis tänapäevased protsessorid on toodetud juba 32 nanomeetrit tootmistehnoloogias. Uuemas tootmistehnoloogias toodetud samade parameetritega protsessor eraldab reeglina vähem soojust.

  • Tuumade arv: näitab mitu protsessorit on ühes füüsilises protsessorikorpuses. Mitmetuumaline protsessor aitab tõsta jõudlust võimaldades jagada rakenduste käivitamise erinevatele tuumadele ja nii näiteks piirata mingi ressursimahuka rakenduse käivitamine teatud tuumadele, et hoida osa protsessoriressurssi muude rakenduste jaoks. Samuti annab mitmetuumaline protsessor võimaluse jagada protsessidele rohkem ressurssi, käivitades nende lõimi korraga erinevatel protsessori tuumadel.

  • Virtualiseerimise tugi sisaldab spetsiaalsed täiendused protsessorile koos eraldi käsustikuga protsessoriressursi virtualiseerimiseks. Selle abil on võimalik jagada ühe füüsilise protsessori ressursid kasutamiseks erinevatele operatsioonisüsteemidele. Selline lähenemine aitab paremini ära kasutada vaba arvutusvõimsuse ja koondada ühele arvutile töötama mitmeid erinevaid servereid või tööjaamu. See on suurepärane vahend õppe- või testimiskeskkonna loomiseks, et näiteks õppida tundma erinevaid operatsioonisüsteeme samas arvutis või testida klient-server lahendusi ühel füüsilisel arvutil. Virtualiseerimine on kahtlemata võimalik ka ilma riistvaralise toetuseta aga kui kogu virtualiseerimiskeskkond on emuleeritud tarkvaraliselt langeb oluliselt sellise süsteemi jõudlus.

# C.1.3 Kordamisküsimused

  1. Protsessori masinkäskudega ei saa teostada järgmist funktsiooni:
  • Protsessori andmevahetuse sünkroniseerimine X
  • Paremnihutus
  • Eranditöötlus
  1. Millises järjekorras täidab protsessor programmi
  • Tulemuse salvestamine, käsu täitmine, käsu lugemine, käsu dekodeerimine
  • Käsu dekodeerimine, käsu lugemine, käsu täitmine, tulemuse salvestamine
  • Käsu lugemine, käsu dekodeerimine, käsu täitmine, tulemuse salvestamine X
  1. Milline protsessori omadus võimaldab riistvara tasemel samaaegselt käivitada mitut operatsioonisüsteemi?
  • Käsukonveier
  • Superskalaarne arhitektuur
  • Mitmetuumalisus
  • Virtualiseerimise tugi X
  • SIMD
  1. Kuidas taastakse protsessori käsuloendur katkestuse programmist naasmisel?
  • Vahemälust
  • Mikrokoodist
  • Pinumälust X
  • Püsimälust
  1. Käsutaseme paralleelsus viitab võimalusele
  • Kasutada samas protsessoris mitut erinevat käsustikku paralleelselt
  • Käivitada samaaegselt mitu operatsioonisüsteemi
  • Käivitada samaaegselt mitut erinevat käsku X

# Soovitatavad praktilised harjutused

  • Tuvastada protsessori ja mälu parameetrid utiliidiga CPU-Z
  • Tuvastada arvuti kiibistik, BIOS ja süsteemikomponendid kasutades utiliiti msinfo32 (Microsoft Windows)
  • Koostada arvutimängurile vajaliku arvuti plokkskeem ja teha selle jaoks nimekiri reaalselt saadaolevatest arvutikomponentidest

# Lisamaterjalid