1 Arvutite komponendid ja
arhitektuur Selle teema materjale läbi
töötades saad teadmised arvuti riistvarakomponentidest, arvutite
arhitektuurist ja protsessori tööpõhimõtetest.
1.1 Arvuti riistvarakomponendid
Õpieesmärgid
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.
1.1.1 Arvutisüsteemi
põhikomponendid 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. Baidi väärtus kümnendkoodis on vahemikus
0 kuni 255 ja ühe kahendkoodis esitatud baidi
teisendamine kümnendkoodi on
selgitatud 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 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.2 Arvutisüsteemi
põhikomponentidevahelised seosed
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.
1.1.3 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 :
Joonis 1 3. Klaviatuur ja
hiir (Allikas:
Learning Materials for Information
Technology Professionals (
EUCIP -Mat))
- 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:
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.4 Perifeeriaseadmete
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 jaoks, DVI-D,DisplayPort või HDMI digitaalse sisendi jaoks.
Joonis 1-4. LCD monitor (Allikas: Learning Materials for Information Technology Professionals (EUCIP-Mat))
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
Joonis 1-5. USB
pistik (Allikas: Learning Materials for Information Technology Professionals (EUCIP-Mat))
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.5 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.
Joonis 1-6. Mälu andmevahetuse skeem (Allikas: Learning Materials for Information Technology Professionals (EUCIP-Mat))
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.
Joonis 1-7. Mälumoodul
- 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:
- tCL-
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.
- tRCD
- (RAS to CAS
delay ) viivitus rea aadressi valikuks
- tRP
-(RAS precharge) viivitus rea deaktiveerimiseks, et pöörduda uue
rea poole
- tRAS
- (Row
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 (SerialPresenceDetect), 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.
Joonis 1‑8. CPU-Z programmi poolt loetud mälu parameetrid
Joonis 1‑9. DDR SDRAM
mälude eri põlvkonna moodulid on füüsiliselt kokkusobimatud
(Allikas:
http://en.wikipedia.org/wiki/File:Desktop_DDR_Memory_Comparison.sv )
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.
- 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
kontrollbitt ja selle kontrollimehhanism ka mälukontrollerile sisse
ehitatud. ECC mälude korral on võimalik korrigeerida 1-bitiseid
mäluvigu ja avastada 2-bitiseid mäluvigu.
1.2 Arvuti arhitektuur
Õpieesmärgid
Selle alateema materjale läbi
töötades õpid:
- Määratlema diagrammi abil üldotstarbelise arvuti arhitektuur
- Kirjeldamatugikiibistiku mõistet ja erinevate siinitüüpide otstarvet arvutisüsteemis
- Kirjeldama mälu hierarhia mõistet
- Tuvastama erineva otstarbega arvutisüsteeme.
1.2.1 Arvuti arhitektuuriskeem
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 (Direc tMemory
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).
1.2.2 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.
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 (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 6Gbps), parem häirekindlus,
kuumvahetatavus, odavam
kaabel . Viimase SATA versiooni 3.0
andmevahetuse kiirus on kuni 6Gbps.
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 sedmetel 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 400Mbps ja 1394b 800Mbps
- 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.
1.2.3 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.
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.
1.2.4 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.
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.
1.3
Protsessorid Õpieesmärgid
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.
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.
Joonis 1-14. Protsessori arhitektuur
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
.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õhiprotsessori 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.
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
EUCIP programmi materjal:
Learning Materials for Information Technology Professionals
(EUCIP-Mat)
Mike Meyers, Comptia A+
Certification
Exam Guide, 7th
Edition , McGraw-
Hill , 2010
USB 3.0 Arhitektuur ja pistikute
kirjeldused:
http://www.usb.org/developers/ssusb Protsessori
installijuhend:
http://download.intel.com/support/processors/corei5/sb/boxedprocessorinstallationmanual.pdf Protsessori installivideo:
http://www.youtube.com/watch?v=6abFUpPPCfI Intel'i 6 seeria tugikiibistiku
tehniline
dokumentatisoon:
http://www.intel.com/Assets/PDF/datasheet/324645.pdf Terminid:
http://vallaste.ee/ ,
http://en.wikipedia.org
Kõik kommentaarid