Arvutite komponendid ja arhitektuur

Arvutite komponendid ja arhitektuur

1.1. Arvuti riistavra komponendid

Personaalarvuti (PC - Personal Computer 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.
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 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.


1.1.1. Arvutisüsteemi põhikomponentidevahelised seosed

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.


1.1.2. Peamised perifeeriaseadmed ja nende funktsionaalsus

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 arvuti ekraanil 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.

    1.1.3. Perifeeriaseadme parameetrid

    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 monitori 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 jPrinterite 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 USBaoks, DVI-D,DisplayPort või HDMI digitaalse sisendi jaoks.
    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.


    1.1.4. Mäluseadmed

    Mälu funktsioon on salvestada programmikoodi ja andmeid. Mälu olulised parameetrid on mälu maht, mida hinnatakse bittides või baitides koos spetsiaalse eesliitega: K (kilo - 1024), M (mega - 1024×1024), G (giga - 1024×1024× 1024), millele järgneb sõna bitt või bait. Teine oluline parameeter on mälu andmevahetuskiirus mälust andmete lugemiseks või kirjutamiseks. Mälud jagunevad muutmäluks (RAM - Random Access Memory) ja püsimäluks (ROM - Read Only Memory). Muutmälu ei säilita oma sisu väljalülitatud olekus ja seda kasutatakse arvutis töötavate rakenduste programmikoodi ja andmete salvestamiseks. Muutmälu nimetatakse ka suvapöördusmäluks, mis viitab sellele, et mälu on otseselt juurdepääsetav üle kogu aadresside vahemiku.
    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.

    1.2. Arvuti arhitektuur

    1.2.1. Tugikiibistiku mõiste ja erinevate siinitüüpide otstarve

    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. 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 andmevahetusekiirusele 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 PCIesiin 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.


    1.2.2. Mälu hierarhia

    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.


    1.2.3. Arvutisüsteemide erinevused sõltuvalt kasutusotstarbest

    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.
    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.


    1.3. Protsessorid

    1.3.1. Protsessori arhitektuur

    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) sisaldabaritmeetikaseadme (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.

    1.3.2. Protsessori käsustik

    Protsessori käsustiku arhitektuur (ISA - InstructionSetArchitecture) 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.


    1.3.3. Protsessorite jagunemine käsustiku alusel RISC ja CISC arhitektuurideks

    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

    1.3.4. Käsukonveierid, käsutaseme paralleelsus, dünaamiline ajastamine ja spekulatiivne käivitamine

    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
    • osaliselt 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.

    1.3.5. Kaasprotsessori mõiste

    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.


    1.3.6. Protsessorite tehnoloogiad ja parameetrid

    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 (CacheMemory), 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älupuhvri 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.

    Kommentaarid