Sisukord 1.
Analooginfo ,
digitaalne info, ADC, DAC ja
helikaart (14, 327-335) .................................... 2
2.
Enamkasutatavad kombinatsioonskeemid (41-79) ................................................................. 3
3. Enamkasutatavad
järjestiskeemid (80-124) ............................................................................ 4
4. Protsessori struktuur:
käsuloendur , käsuregister, käsu
dekooder ,
juhtautomaat ja
operatsioonautomaat (125-132) ..................................................................................................... 5
5.
Konveier protsessoris ja mälus (163-167 mälu + 184 cpu) .................................................... 8
6.
Vahemälu (
Cache ) (171-182) ................................................................................................ 10
7. Protsessori töö kiirendamine: superskalaarne
protsessor , konveier,
SIMD , spekulatiivne
täitmine, mitmetuumalised
protsessorid (183-186) ..................................................................... 12
8. Arvuti mälu
hierarhia (188-189) ........................................................................................... 15
9. Arvuti mälude
klassifikatsioon (190-191) ............................................................................ 16
10. Pooljuhtmälud (191-197) ...................................................................................................... 17
11. Suvapöördusmälud (191-201) ............................................................................................... 18
12. Magnetmäluseadmed (208-213) ............................................................................................ 19
13.
Optilised mäluseadmed (CD-ROM, holograafiline mälu) (213-217) ................................... 21
14. Alamprogrammide poole pöördumine ja pinumälu (
Stack ) (217-224) ................................ 22
15. Erineva pöördumisviisidega
mälud :
LIFO ,
FIFO , assotsiatiivmälu ja kahe
pordiga mälu
(217-226) ..................................................................................................................................... 23
16.
Virtuaalmälu (lehekülgedeks jagamine,
segmenteerimine ) (241-248) ................................. 24
17. Mikroarvuti ja
siinid (AB, DB, CB) address bus, data bus,
control bus (250-260) ............. 26
18.
Siinide juhtimine - katkestusteta süsteem, katkestustega süsteem ja
prioriteedid (265-282)29
19.
Andmevahetus mikroarvutis: paralleeledastus, järjestikedastus, veakindlad koodid (282-
291) .............................................................................................................................................. 30
20. LCD, LED OLED ja
plasma kuvarid (292-308) ................................................................... 32
21. Puutetundlikud
ekraanid (308-317)....................................................................................... 34
22.
Printerid (317-322) ................................................................................................................ 37
23.
Klaviatuur (322-324) ............................................................................................................. 39
24.
Katkematu pingeallikas (UPS) (335-337) ............................................................................. 40
25. Spetsiaalse
riistvara realiseerimine (
tehnoloogiad , võrdlus) (338-357) ............................... 42
1
1. Analooginfo, digitaalne info, ADC, DAC ja helikaart (14, 327-335) 1.1. Analooginfo Mingi suurus peab olema mingi
teise suuruse analoogiks.
Elektrisüsteemides on
info analoogiks pinge.
Füüsiline infokandja (näiteks pinge 0Vst kuni +5Vni) võib võtta ükskõik millisel ajahetkel
oma rajaväärtuste vahel suvalise väärtuse.
Pinge muudab oma väärtust pidevalt suvalise väärtuse võrra ilma
mingite hüpeteta.
1.2. Digitaalinfo Ainult teatud hulk
lubatud väärtusi, mida infokandja võib omada oma rajaväärtuste vahel.
Infokandja ei või võtta
suvalist väärtust oma rajaväärtuste vahel. Näiteks olgu lubatud pinge
nivood 0,
+3 ja +5V.
Info töötlemine lihtsam.
Info
edastaja, töötleja ja
vastuvõtja peavad suutma
eraldama infokandja teatud kindlaid väärtusi.
Kasutatakse
diskreetset aega. Tänu millele infokandja väärtusi vaadeldakse fikseeritud momentidel.
1.3. Analoog -digitaalmuundurid
ADC
koodimuundur peab
muutma sisendis oleva
ajas muutuva pinge kahendkoodiks, mis on võrdeline
sisendpinge väärtusega. Näiteks
otsese muundamise meetodi puhul, mis põhineb
ADC
analoogvõrdlusskeemil, on kaks
sisendit :
muunduv analoogsisend ja
konstantse fikseeritud pingega sisend
(Vref), mida kasut võrdluses etalonina.
Kui alumise sisendi pinge (+) väärtus on võrdne või suurem kui ülemise
sisendi (-) pinge väärtus, siis võrdlusskeemi väljund on kõrgel nivool (1). Kui alumise sisendi pinge väärtus on
väiksem kui ülemise sisendi pinge väärtus, siis võrdluskeemi väljund on madalal nivool (0). 1.4. Digitaal -analoogmuundurid
DAC muudab lõpliku pikkusega kahendarvu pingeks või mõneks muuks füüsiliseks suuruseks (laeng, surve).
Seega tuleb genereerida analoogväärtus, mis on proportsionaalne iga kahendkoodi bitiga ja nad lõpuks
summeerida, et saada terviklik väärtus.
1.5. Helikaart Tekitab kõrvale
kuuldavaid õhu võnkumise arvutis oleva digiinfo alusel.
Arvutis on info digi kujul, seega
helikaardis DAC.
Heli salvestamisesks ADC, sest mikrofonist tulev info on
analoogne , mida
arvutisse ei saa
salvestada ega töödelda.
Heli taasesitamisel ja salvestamisel on olulised
sagedus, mis määrab
heli kõrguse ja
amplituud, mis
määrab
heli tugevuse.
Inim kõrv eristab sagedust vahemikus
20Hz kuni 20kHz.
2
2. Enamkasutatavad kombinatsioonskeemid (41-79) Mälu omadused puuduvad, st ajaparameetrit pole vaja. Väljundid muutuvad kohe, kui muutuvad sisendite
väärtused.
2.1. Välistav või XOR Välistava VÕI juures kasutatakse
nimetust summa mooduliga kaks.
Funkt väärtus on 1, kui sisendite väärtused on erinevad, ja 0, kui sisendite väärtused on võrdsed. Võimaldab
teha skeemi kompaktsemaks, oleme seda elementi kasutanud näiteks
lahutaja skeemi tegemisel.
2.2. Summaator
Teostab arvkoodi aritmeetilist summeerimist ehk y=a+b. (kahe arvu liitmiseks, summaatori osavõtul toimub ka
lahutamine, korrut, jagam s.t taanduvad liitmisele ja nihutamisele).
Täissummaator – võimaldab liita arvestades ülekandeid. Argumentideks 3 sisendit (
operandid :
Ai, Bi ja ülekanne Ci nooremast i-1-järgust antud järku i) ning funkt, mida
soovime saada, on
summa Si ja ülekanne Ci+1, mis läheb vanemasse järku.
Poolsummaator – ei võta arvesse madalamast järgust toimuvat ülekannet
Järjestik ülekandega summaator – probleemiks on
töökiirus , sest ülekanne levib läbi kõikide
ühejärguliste summaatorite.
Paralleelülekandega summaator – paralleelne ülekanne, kus iga järgu ülekanne arvut eraldi
funktsioonina ainult sisenditest. Sellisel juhul ei akumuleeru viited, mis tekivad kõigis nooremates
järkudes.
Kiire ülekanne – levinuim summaatori ülekandemeetod. Tegemist on järjestikuse ja paralleelse
ülekande kompromisslahendusega.
2.3. Lahutaja Loogikaskeem kahe kahendarvu vahe leidmiseks. Argumentideks on operandid ai, bi ja
laen li.
Funktsioonideks, mida soovime saada, on vahe vi, ja
laen li+1, mida võetakse vanemast i+1
järgust. Lahutamine on täiendkoodi
liitmine .
2.4. Multipleksor
Andmekommutaator, mis võimaldab
edastada loogilise väärtuse (0 või 1) mitmest sisendist ühte väljundisse.
Sisendi
valikuks on juhtsisendid S0, S1 jne. Tavaliselt on n juhtsisendi korral 2n andmesisendit. Info liigub
ainult ühes suunas (sisendilt väljundisse). Võimaldab realiseerida suvalisi kahendfuntsioone.
Demultipleksoris on 1 andmesisend, juhtsisendid ja mitu andmeväljundit.
2.5. ALU – Aritmeetika- loogika seade
Kombinatsioonskeem, mis teeb teatud hulga aritmeetika- ja loogikaoperatsioone (baasoperatsioonid)
protsessoris otse riistvaras. Iga operatsiooni jaoks on ALUs oma loogikaskeem. ALU-l puudub mälu omadus.
Alu on kahejärguline. Kõikide järkude realiseerimiseks on identsed loogikaskeemid ja järgulisuse
suurendamiseks tuleb neid paralleelselt rohkem ühendada.
2.6. Dekooder
Kahendarvude dekodeerimisel tehakse kindlaks, milline on sisendkood. Igale võimalikule sisendkoodi
väärtusele vastab
dekoodril üks väljund ( n sisendi korral 2n väljundit). Kuivõrd iga sisendkoodi korral on
aktiivne ainult üks väljund, on
väljundis unitaarkood. St, et igas
koodis (tõeväärtustabelis igas reas) on ainult
üks 1.
2.7. Koodimuundur
Teisendab ühe koodi teiseks nende koodide vahel
kehtivate teisendusreeglite järgi.
3
3. Enamkasutatavad järjestiskeemid (80-124) 3.1. Järjestikskeemide sünkroniseerimine
Taktgeneraatorist tulevad täisnurksed impulsid, mida kasut kogu arvuti sünkroniseerimiseks. Vajadusel
jagatakse või kordistatakse taktsagedust süsteemi osa komponentides olenevalt nende töökiirusest. Mäluga
järjestikskeemide juures on võimalik juhtida ümberlülitumise aega sünkroniseerimisega. Sünkroniseerimiseks
kasut taktsignaali juures nelja sündmust: kõrge potentsiaal, madal potentsiaal, esifront ja tagafront.
Viimased määravad, millal toimub mäluga elemendi ümberlülitumine sisendie väärtuste järgi.
Potentsiaaliga sünkroniseeritavad järjestikskeemid – avatud ümberlülitumisele siis, kui sünkrosisendis on kas
kõrge või madal väärtus olenevalt skeemi tüübist. Kõrge potentsiaaliga sünkroniseeritav järjestikskeem lülitub
ümber ainult siis, kui spetsiaalses sünkrosisendis on kõrge potentsiaal. Muul ajal võivad sisendite väärtused
muutuda, kui j.s-is mingeid ümberlülitusi ei toimu.
Frondiga sünkroniseeritavad järjestikskeemid lülituvad ümber, kui sünkrosisendis on kas
esi- või tagafront olenevalt järjestikskeemi tüübist. Näiteks
esifrondiga sünkroniseeritav j.s. lülitub ümber
sisendite väärtuste
järgi, kui sünkrosisendis toimub taktsignaali üleminek madalalt potentsiaalilt
kõrgele , kuid muul ajal on ta
suletud ja ei reageeri ühelegi sisendi väärtuse muutusele. Üleminekuks esifrondiga sünkroniseerimiselt
tagafrondiga sünkroniseerimisele tuleb sünkrosisendi ette panna
EI-element. 3.2. Trigerid ( Latch , Flip - Flop )
Mälu omadus olemas, vaja ajaparameetrit. St väljundi väärtus sõltub
sisendite väärtustest kõnealuselt hetkel ja
väljundi väärtustest eelnevatel hetkedel. T – elementaarne mäluelement, mis säilitab infot 1
bitt (info
hulk, mida sisaldab 1 kahendjärk). Näiteks: SR-trige r (set
reset ), D-
triger (
delay )
3.3. Registrid
Tihti on arvutis vaja opereerida info edastamisel või andmete töötlusel bittide asemel sõnadega (nt
baidid ). Sel
juhul on vaja terve rühma
trigereid kuna 1 triger salvest infot vaid 1 bitt.
Register – defineeritud kui rühm ühise
juhtimisega trigereid.
3.4. Loendur
Võimaldab loendada, kui väärtus hakkab korduma. Paralleel laadimiseta ja paraleellaadimisega.
4
4.
Protsessori struktuur: käsuloendur, käsuregister, käsu dekooder, juhtautomaat ja operatsioonautomaat (125-132) 4.1. Käsuloendur
Olgu mälus programm, mis kujutab endast käskude jada vaheldumise
andmetega , mida
protsessor peab täitma.
Selle programmi täitmisel on meil protsessoris vaja
järjehoidjat, et teada, millise käsu täitmise juures
parajasti ollakse.
Loogikaelement , kus hoitakse
järgmisena täitmisele tuleva käsu aadressi. Käskude loendamisega
protsessoris käsuloendur ei tegele, vaid siin säilitatakse järgmisena täitmisele tuleva käsu aadressi.
(
Kahend )loendurit kasutatakse seepärast, et sellele on lihtne liita +1 ja panna osutama järgmisele käsule.
4.2. Käsuregister ja käsu dekooderimine 1. Kui protsessor väljastab käsuloendurist (PC) aadressi ja loeb selle järgi mälust käsukoodi, siis
salvestatakse see käsuregistrisse. 2. Käsuregistri väljundisse on ühendatud dekooder.
3. Dekoodri väljundis on iga sisendkoodi korral
aktivne ainult üks väljund.
4. Käsudekoodril läheb aktiivseks üks väljunditest, mis näitab, millise
käsu kood loeti protsessorisse.
5.
Kõik käsud sisaldavad alati käsukoodi, kui
sealjuures vb käsus ka andmeid võid aadress (IRp).
6.
Käsukood sisaldab infot selle kohta, mida peab
protsessor tegema (nt liitma,
lahutama , nihutama jne)
4.3. Juhtautomaat
Pärast käsukoodi dekodeerimist asub käsu edasist täitmist
juhtima juhtautomaat. J – käsu täitmise
algoritm riistvaralise realisatsiooni loogikaskeem. Kõikidel käskude täitmise algoritmidel on alguses ühisosa (käsukoodi
lugemine, käsukoodi modifitseerimine jne) ja pärast dekodeerimiset täidetav eriosa (operandide lugemine, ALU
operatsioonid , resultaadi
salvestamine jne)
5
4.4. Operatsioonautomaat
Vahetu andmete teisendaja, mis koosneb
registermälust,
ALU-st ja
lippude registrist.
Registermälu – väga kiire protsessori sagedusel töötav mälu, vahetult teisendatavate operandide,
vahetulemuste ja lõpptulemuste salvestamiseks.
Lippude registris säilit info ALU-s tehtud
operatsioonide tulemuste kohta (nt tulemus oli 0, tekkis
ületäitumine, tekkis ülekanne jne).
6
7
5. Konveier protsessoris ja mälus (163-167 mälu + 184 cpu) Käsu täitmise
protsessoris võib jagada teatud sõltumatuteks
etappideks . Näiteks on siin
käsk jagatud
neljaks etapiks:
1. Käsukoodi
laadimine ja dekodeerimine (IF - Instruction Fetch + Instruction Decode)
2. Operantide laadimine (OF - Operand Fetch)
3. Operatsiooni täitmine ALU-s (OE - Operand Execute)
4. Tulemuse salvestamine (OS - Operand
Store )
Ilma konveierita täidetakse käske jadamisi ning igal taktil on hõivatud vaid 25% protsessorist.
Kui need neli käsutäitmise
etappi on sõltumatud, ligilähedaselt sama kestvusega ning iga käsuga käib ümber
teatud osa riistvarast, saab
käskude täitmise efektiivsuse tõstmiseks kasutada
konveierit, mis täidab käske
paralleelselt. See ei
suurenda käsu täitmise kiirust, kuid tänu sellele täidetakse neid keskmiselt ajaühikus
rohkem. Kui esimene käsk on läbinud esimese etapi ja jõudnud teise, saab alustada teise käsu juures esimese
etapi täitmist. Samamoodi saab alustada kolmanda käsu esimese etapiga, kui eelnevad käsud on jõudnud
järgmisse etappi.
Selline konveieri kasutamine tõstab tootlikust vaid siis, kui see töötab järjest, ilma et konveierit oleks vaja
peatada või uuesti käivitada. Konveieri tõhusust vähendavad:
1.
Siirdekäsud – käsud, mis realiseerivad
programmis hargnemisi ning iga hargnemise korral tuleb
program uuesti käivitada.
8
2.
Operantide laadimine mälust – kuna mälu poole pöördumise aeg on tavaliselt pikem ning mälu
kasutavad ka teised süsteemide komponendid, võib operandide laadimine mälust tekitada ressursside
konflikti, mis peatab konveieri töö. Sellepärast on otstarbekas
laadida operandid ja ka tulemus
registermällu. Vajadusel saab tulemuse eraldi käsuga salvestada põhimällu.
3.
Andmete ja käskude sõltuvus – tekitab probleeme, kui teineteisele järgnevate käskude andmed on
üksteisest sõltuvad. Kui konveier seda ei arvestaks, oleks tulemus vale. Kasutatakse ka andmete
otseedastust, kus järgmine käsk saab eelneva käsu tulemuse operandiks enne resultaadi salvestamise
registermällu.
5.1. Hargnemiste ennustamine ( Branch Prediction )
Hargnemine tähendab seda, et järgmise käsu aadress ei saada käsuloenduri suurendamisega ühe võrra, vaid
käsuloendurisse laetakse täiesti uus väärtus. Hargnemise ennustamisega vähendatakse konveieri uuesti
käivitamise vajaduse tõenäosust. Selleks kasutatakse kolme põhilist strateegiat: 1. Fikseeritud hargnemiste ennustamine (Fixed Branch Prediction) – Võetakse eelduseks , et hargnemist kunagi ei toimu ja minnakse edasi käsuloenduri väärtust ühe võrra suurendades. 2. Staatiline hargnemiste ennustamine (Static Branch Prediction) – Varem tehakse käskude analüüs ning eri tüüpi käskude jaoks tehakse erinev ennustus ( nt tingimuslike siirdekäskude juures ei eeldata, kuid
tingimusteta siirdekäskude, tsükli käskude ning alamprogrammide poole pöördumise ja
tagasipöördumise käskude juures eeldatakse hargnemist). 3. Dünaamiline hargnemiste ennustamine (Dynamic Branch Prediction) – Jälgitakse pidevalt programmi täitmise kulgu , igas olekus on 2 bitti, vasak näitab, kas hargnemist eeldatakse ning parem näitab, kas
viimase hargnemiskäsu juures toimus hargnemine või ei. 9
6. Vahemälu (Cache) (171-182) Vahemälu e
peidikmälu on
komponent , mis hoiustab andmeid nende
kiireks uuesti kasutamiseks. Vahemälust
andmete lugemine on kiirem kui
lähteandmete lugemine muutmälust (RAM) või kõvakettalt. Vahemälu
kasutamise tulemusena väheneb korduvalt kasutatavate andmete lugemiseks kulunud aeg ja suureneb üldine
tulemuslikkus arvutisüsteemis.
Kui vahemälu kasutaja (CPU, veebibrauser, operatsioonisüsteem) soovib andmeid, uuritakse
kõigepealt vahemälu. Kui vahemälus leitakse kirje ID-ga, mis sobib otsitud andmeühiku ID-ga, siis kasutatakse
andmeelementide vahemälu. Seda nimetatakse
vahemälu tabamuseks (
cache hit). Kui vahemälust ei leitud
kirjet, mis sisaldab otsitud ID-d, siis loetakse see põhimälust vahemällu ja on sealt edaspidistel vahemälu
otsingutel kättesaadav. Seda nimetatakse
vahemälu möödalasuks (
cache miss ). Vahemälust leitud tulemuste
protsenti võrreldes päringutega nimetatakse
cache tabamuse tasemeks või
tabamuse koefitsiendiks.
Pöördumine mälu poole on protsessori töökiirusega võrreldes väga aeglane. Tehniliselt võiks teha mälu mis
töötaks protsessori taktsagedusega, aga see oleks vajalike mälumahtude juures liialt kallis.
Aeglase põhimälu poole pöördumine tekitab olukorra, kus kiire protsessor peab seisma ja ootama andmete ning käskude saamist
põhimälust. Seega kaotab mõtte järjest kiiremate
protsessorite ehitamine, kuigi
uuenev tehnoloogia seda
võimaldab.
Lahenduseks on vahemälu, kus hoitakse
sagedamini kasutavat osa programmist (käsud ja andmed).
Tegemist on millegi telefonimärkmiku sarnasega, kus enamkasutatavad
numbrid on märkmikus, ülejäänud aga
telefoniraamatus. Alati on mõni nr märkmikus asendatav
teisega , kui nr-it enam ei kasutata, ja kui mõnda nr-it
on jälle
tihedamalt vaja, võib selle ju alati telefoniraamaust ümber kirjutada märkmikku. Analoogselt hoitakse
kiires ja väiksemahulises vahemälus just tihedalt kasutatavat osa programmist. Alati on võimalik mõni osa
vahemälust
asendada infoga põhimälust.
Vahemälus asendatav
info säilib alati põhimälus ja seda saab sealt alati uuesti vahemällu laadida. Vahemälu
on ühe osa põhimälu koopia. Loomulikult peab olema tagatud, et kui midagi vahemälus muudetakse, siis
muudetakse ka vastavat osa põhimälus.
6.1. Vahemälu organiseerimine
Kasutatakse kolme vahemälu organiseerimisviisi:
Otsevastavusega vahemälu (Direct-mapped cache);
Assotsiatiivne vahemälu (Associative-mapped cache);
Kogumassotsiatiivne vahemälu (Set associative-mapped cache).
1.
Otsevastavusega vahemälu Otsevastavusega vahemälu on üks lihtsamaid vahemälu organiseerimisviise. Infot loetakse mälust
plokkidena (Line - minimaalne vahemäluga vahetatav info hulk (4-16
baiti )). Mälu on jagatud segmentideks (Set), millest
igaüks sisaldab teatud hulga plokke. Otsevastavusega vahemälus sisaldab
aadress seega
segmendi aadressi,
ploki aadressi ja sõna aadressi (joonis 3.50).
Vahemälus on igal
plokil oma koht. Vajalikust segmendist vajaliku ploki olemasolu kontroll on
otsevastavusega vahemälus väga lihtne. Ploki koht on fikseeritud ja seal võrreldakse vahemälus olevat
segmendi numbrit protsessori aadressis oleva segmendi numbriga. Kokkulangemise korral on
plokk õigest
10
segmendist vahemälus ja sealt otsitakse juba olemasoleva ploki seest protsessori aadressi sõna aadressi järgi
vajalik sõna.
2.
Assotsiatiivne vahemälu Assotsiatiivne vahemälu ei ole jagatud segmentideks, kuid endiselt on olemas
plokid .
Aadress koosneb kahest
osast:
ploki aadress ja sõna aadress (joonis 3.53)
Kui vahemälus otsitavat
plokki ei ole, tuleb see lugeda põhimälust ja mõni olemasolev plokk asendada.
Otsevastavusega vahemälu korral on alati teada, milline plokk tuleb asendada. Assotsiatiivse vahemälu puhul
tuleb see otsustada kontrolleril, milline plokk tuleb asendada.
Assotsiatiivse vahemälu uuendamise strateegiad: asendatakse kõige vähem kasutatud plokk (LRU -
Least Recently Used)
asendatakse kõige harvemini kasutatud plokk (LFU – Least Frequently Used
asendatakse kõige kauem vahemälus olnud plokk (FIFO –
First In First Out)
asendatakse juhuslik plokk (
Random )
järjestikune uuendamine (
Round -Robin)
Kolm esimest strateegiat eeldavad täiendava riistvara olemasolu, et jälgida pöördumiste arvu ja vahemälus
oleku aega.
Mõne ploki asendamine vahemälus tähendab, et kui protsessor on sinna midagi kirjutanud, tuleb ploki sisu
kirjutada põhimällu.
Vahemällu kirjutamisel on kaks strateegiat:
otsekirjutamine (Write-through, protsessor kirjutab korraga muutused vahemällu ja põhimällu (Intel
486))
tagasikirjutamine (Write-
back ,
kirjutatakse ploki sisu põhimällu siis, kui vahemälus toimub ploki
asendamine, DMA või mõne teise siinihõive õigusega seadme pöördumisel antud aadressil või ka kui ei
ole piisavalt kaua andmeid põhimällu kirjutatud (Pentium).
3.
Kogumassotsiatiivne vahemälu Otsevastavusega vahemälu oli odav ja lihtne, kuid tsüklid tegid selle aeglaseks. Assotsiatiivne vahemälu oli
kiire ja ei olnud tsüklite probleemi, kuid oli väga kallis. Kogumassotsiatiivne vahemälu on
kompromiss kahe
eelneva vahemälu organiseerimise viisi vahel. Kogumassotsiatiivne vahemälu on
hulk paralleelselt töötavaid
otsevastavusega vahemälusid. Lahendab tsüklite probleemi (nt kui on vaja pöörduda
tsüklis kolmanda ploki
poole kord
esimesest , kord kolmandast segmendist, siis enam ei pea pidevalt vahemälu ümberlaadimiseks
põhimälu poole pöörduma).
11
7. Protsessori töö kiirendamine: superskalaarne protsessor, konveier, SIMD, spekulatiivne täitmine, mitmetuumalised protsessorid (183-186) 7.1. Superskalaarne protsessor
Kasutab
mitut parallelset konveieriharu töö kiirendamiseks.
Joonis 1 Käsu täitmine jagatud viieks etapiks Sellist arhitektuuri nt kasut
Pentiumi protsessoris, kus korraga laetakse kaks käsku ja sõltumatud käsud
täidetakse eri konveierites.
Konveier töötab kõige paremini siis, kui kõik etapid
võtavad ühepalju aega.
(Joonis 1). Käsud, mis on tehtud täisarvudega võtavad vähem aega kui
ujuva komaga
arvudega . Selle probleemi
lahendamiseks kasut superskalaarset arhitektuuri, kus konveieris on mitu käsu täitmise osa. (
Joonis 2) Joonis 2 Protsessor, kus on kaks seadet tehteks täisarvudega ja kaks ujuvkoma arvudega PowerPC protsessoris on
seitse haru käsu täitmiseks ja teoreetiliselt võib olla seitse käsku korraga täitmisel.
Superkonveieriga protsessorites – jagatakse konveieri etapid kaheks või enamaks alametapiks
(Joonis 3) 12
Joonis 3 Neljaetapiline konveier. Käsukoodi laadimine (IF), operandide laadimine (OF), operatsiooni teostamine (OF) ja tulemuse salvestamine
(OS) 7.2. SIMD arhitektuuriga protsessor
Võimaldab ühte käsku täita erinevate andmetega
Käsk I määrab, millist operatsiooni täidetakse.
Sedasama operatsiooni tehakse erinevate andmetega ja tulemused
salvestatakse eri kohtadesse .
Käsu I samaaegne täitmine erinevate andmetega eeldab, et operatsiooni
teostavat riistvara on
mitmekordistatud, aga paralleelsus suurendab tootlikkust.
Programmi käske täidetakse järjestikku, aga
andmed töödeldakse paralleelselt.
7.3. 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. See meetod võimaldab paremini ära kasutada
konveieri jõudeolekus
seisva ressursi.
7.4. Mitmetuumalised protsessorid
Mitme tuuma tehnoloogia võimaldab
paralleelarvutusi,
multitegumtöö (inglise keeles "multitasking"). See
tähendab, et mitut toimingut tehakse samal ajal või
vaheldumisi . protsessori jaoks tähendab see mitme protsessi
jälgimist ja täitmist samal ajal. Mitme tuuma puhul ei pea protsessor jagama
täiturmootori ressurssi
protsesside vahel, mis võib jõudlusele piirangu panna, vaid ta võib anda igale
tuumale oma ülesande. Nii
saavad andmed kiiremini töödeldud ning jõudlus on märgatavalt kõrgem.
13
14
8. Arvuti mälu hierarhia (188-189) Mälu hierarhia
tipus on suhteliselt väikesemahuline, kuid kiire registermälu
( Error ! Reference source not found .). Registermälu on võrdlemisi kallis ja sellepärast on tema maht piiratud.
Registermälu töötab protsessori kiirusega.
Järgneb
vahemälu (Cache), mis on juba suurema mahuga, aga ka mõnevõrra
aeglasem . Need kaks on
realiseeritud reeglina staatilise suvapöördusmäluna, mis on dünaamilisest mälust kiirem.
Põhimälu on dünaamiline suvapöördusmälu, mis tagab suurema pakkimistiheduse kristallil kui
staatiline mälu, kuid on aeglasem.
Järgnevad juba
järjestikpöördusega mälud, mis on veelgi aeglasemad, kuid suurema mahuga.
Parima tulemuse annab erinevate mälutüüpide
kombineerimine arvuti eri kohtades. Seal, kus on
palju
infomahtu, kasutatakse suhteliselt
odavat mälu, mis aga ei ole eriti kiire. Samas seal, kus on
oluline
kiirus, kasutatakse kiireid mälusid, mille maht on aga hinna tõttu piiratud.
15
9. Arvuti mälude klassifikatsioon (190-191) Arvuti mälu klassifikatsioon haarab kõiki arvutis kasutatavaid mälutüüpe
(Error! Reference source not
found.). Mälud võib jagada
suvapöördusmäludeks (RAM) ja
jadapöördusmäludeks (SAM).
Suvapöördusmälud on sellised mälud, kus suvalise sõna poole pöördumine võtab
ühesuguse aja sõltumata tema asukohast mälus. RAM jaguneb valmistamise tehnoloogia järgi omakorda
magnetmäludeks ja pooljuhtmäludeks:
Magnetilised RAM-i mälud on oma tähtsuse kaotanud, kuid kunagi kasutati just ferriitrõngastest
koostatud kuupe arvuti põhimäludena.
Pooljuht RAM-i mälud on valmistatud pooljuhtidest, kasutades mikroskeemide valmistamise
tehnoloogiat. RAM-i pooljuhtmälud jagunevad:
o Mittesäilivateks. Mittesäilivatest mäludest kaob info, kui
toide on välja lülitatud.
o Säilivateks. Säilivates mäludes toite väljalülitamine infot ei kustuta
Jadapöördusmäludes (SAM)
erinev aeg (Eri sõnade poole pöördumise aja erinevuse põhjuseks on
vajadus positsioneerida lugemise/kirjutamise päid),
sõltub asukohast. SAM-i mälud jagunevad:
o Magnetilisteks
o Optilisteks
Osa neist mäludest on tänaseks oma tähtsuse kaotanud (näiteks pehme
ketas (Floppy
disk )).
16
10. Pooljuhtmälud (191-197) Mittesäiliv
o staatiline RAM – info salvestatud pos tagasiside kaudu trigerites. Kiire mälu, mida kasut nt
registermälus ja vahemälus. Kiiruselt suudab
SRAM funkts CPU taktsagedusega, aga sisaldab
suht palju transistore, mis nõuavad palju kristallipinda ->
ei sobi suurte mälumahtude
reliseerimiseks o dünaamiline RAM – tavaliselt on tüüpilise PC arvuti põhimälu realiseeritud
DRAM -ina.
Seal kulub ühe pesiku valmistamiseks üks
transistor , samas kui SRAM-is on vaja 4-6
transistori biti kohta.
Info salvestatakse laenguna
väljatransistoris.
Tänu väiksemale transistoride arvule biti kohta on
info tihedus kristalli pinnal oluliselt suurem.
Kuivõrd pole olemas ideaalset isolaatorit, siis laeng teatud aja
möödudes kaob ja info
hävib. Selle vältimiseks toimub DRAMis
pidev mälu värskendamine, mille käigus kirj
pidevalt infot uuesti üle.
SRAMIist
odavama hinna tõttu kasut suuremahulise põhimälu valmistamiseks
Aeglasem kui SRAM
Säiliv
o Maskiga programeeritav mälu püsimälu – ROM
Programmeeritakse
mikroskeemide tootja juures valmistamise käigus
Kasutaja ei saa muuta mälu
sisu
Väheneb paindlikkus , sest
muudatuste tegemine on
kulukas ja aeganõudev
o Programmeeritav püsimälu – PROM-tüüpi mällu saab kasutaja kirjutada ühe korra, sest info
salvestamine on destruktiivne protsess
o Ümberkirjutatavad
püsimälud – kõik need mälud põhinevad ujuva paisuga väljatrasistoritel,
erinedes kustutusviisi ja ka vähesel määral sisemise ehituse poolest.
EPROM – kustutamine toimub
ultravioletvalgusega läbi mikroskeemi korpuses oleva
läbipaistva kvartsakna
EEPROM – infot kustutatakse
elektiväljaga, kustutakse tavaliselt
sõnade kaupa FlashEPROM – infot kustutatakse
sektorite kaupa elektiväljaga. Üks levinuimaid
püsimälusid, mida kasut väga laialdasel kantava infokandjana (mälupulk),
digikaamerates, MP3 mängijates jne
17
11. Suvapöördusmälud (191-201) Vt Pooljuhtmälud ja Magnetmäluseadmed
18
12. Magnetmäluseadmed (208-213) Magnetiline infosalvestus
põhineb magnetmaterjali magnetiseerimises ühes või teises suunas. Õhukese
magnetmaterjaliga kaetakse mittemagneetuv alus (
keraamika , klaas,
alumiinium , lavsaan). Kui algselt on
magnetmaterjalis ilma välise magnetväljata
doomenid orienteeritud kaootiliselt, siis
summaarne magnetväli
puudub. Kui aga tekitada magnetväli vooluga
juhtmega , siis magnetmaterjali sees
orienteeruvad
magnetdoomenid ühes kindlas suunas. Kui väline magnetväli kaob säilitab osa doomeneid oma
oriantatsiooni. Nende hulk oleneb konkreetse magnetmaterjali omadustest.
Kui muuta voolu suund juhis vastupidiseks, orienteeruvad ka doomenid vastupidises suunas ja voolu
katkestamisel säilitavad osaliselt oma orienteerituse.
Joonis 4 Magneetumise protsessi näitab
(Joonis 4) hüstereesisilmus, kus horisontaalteljel on väline magnetväli ja
vertikaalteljel sisemine magnetväli.
19
Kirjutamiseks kasutatakse
lugemis/kirjutamispead, mis on magnetmaterjalist ja mille peal on mähis (joonis
4.21).
Magnetmaterjaliga kaetud alus (ketas või
lint ) liigub lugemis/kirjutamispea lähedal. Juhtides
mähisesse
voolu ühes või teises suunas, tekib vastavasuunaline magnetväli ka lugemis/kirjutamispea sees.
Magnet- jõujooned kaarduvad materjalist välja sinna tehtud
pilu tõttu, mis aga omakorda on magnetmaterjali
lähedal. Muutes lugemis/kirjutamispeas
kirjutamisel voolu suunda, saame magnetmaterjali eri piirkondi
magneetida
erinevas suunas.
12.1. Kõvaketas –
kujutab endast
paketti pöörlevaid kettaid, mis on jäigast mittemagneetuvast
alusest (klaas, alumiinium) ja
kaetud
väga õhukese magnetmaterjali kihiga . Iga
ketta pinna jaoks on oma
lugemis/kirjutamispea. Kõik
pead positsioneeritakse koos vastavate ketaste pindadel olevate
radade kohale. Ketaste pindadel kohakuti
olevad
rajad moodustavad läbi kogu
paketi silindri.
Kõvaketast isel. järgmised näitajad:
mahud ulatuvad 111GB-st kuni 4TB-ni
levinumad ketta
läbimõõdud on 1,8”, 2,5” ja 3,5” tolli
ketaste
pakett pöörlemiskiirus 4200 kuni 15000 pööret
minutis .
pöördumisaeg – näitab aega pöördumise algusest kuni andmete edastuse
alguseni
ülekande kiirus: o
sisemine – näitab, millise kiirusega andmed jõuavad kõvaketalt kontrollerisse
o
väline – näitab andmeedastuse kiirust kõvaketta kontrolleri ja pöörduja vahel
20
13. Optilised mäluseadmed (CD-ROM, holograafiline mälu) (213-217) Algselt töötasid
Sony ja Philips
audio -CD välja
muusika salvestamiseks. Hiljem arendati välja CD-ROM-i
andmete säilitamiseks. Esimest CD-d esitati 1984. aastal. Standardselt on CD-ROM-i läbimõõt 12 cm. Plaat
(joonis 4.25) koosneb järgmistest kihtidest (alustades alt, sealt valgustab
laser ):
polükarbonaatkiht, mis
laseb valgust läbi ja moodustab plaadi aluse
valgustpeegeldav kiht (tavaliselt alumiinium, aga kasutatakse ka kulda)
kaitsekiht, mis on suhteliselt õhuke
markeering Markeeringu poolt rikneb plaat kergemini, sest markeeringualune kaitsekiht on õhuke.
Info kantakse plaadi pinnale radadena, mille
vahekaugus on 1,6 µm ja mis on 30 korda väiksem inimese
juuksekarva läbimõõdust. Kokku on 20 000 rada kogupikkusega peaaegu 7 kilomeetrit. Kui kõvakettal
paiknesid rajad kontsentriliste ringidena, siis siin on üks pikk spiraal, mis erinevalt vinüülplaadist algab seest,
mitte äärest. Info salvestatakse rajale
süvendite (pit) ja
põhipinna ( land ) abil.
13.1. Holograafiline mälu
Tänapäeval käivad intensiivsed uuringud, et kasutada hologrammi mälude valmistamisel. Kui praegu
kasutatavad magnet- ja optilised mälud salvestavad
andmekandja pinnale, siis holograafilises mälus kasutatakse
kogu andmekandja ruumala. Seega saab samasse infokandjasse kanda mitu hologrammi, muutes laseri nurka
või valguse lainepikkust, mis oluliselt suurendab info tihedust. Teoreetiliselt võiks andmete tihedus olla 4
gigabitti ruutmillimeetri kohta. Tegelikult on sellist mahtu raske saavutada optilise süsteemi piirangute tõttu ja
see
teeks mälu väga kalliks.
Tavalistes magnet - ja optilistes mäludes loetakse ja kirjutatakse bitthaaval
järjestikku, aga holograafilises mälus saab seda teha paralleelselt (
ca miljon bitti korraga), mis tagab väga suure
pöördumiskiiruse. Info tiheduse ja lugemiskiiruse poolest ületab see praegu kasutatavaid mälusid oluliselt.
21
14. Alamprogrammide poole pöördumine ja pinumälu (Stack) (217-224) Pinumälu tööpõhimõte on
FILO (First in, Last out), mis tähendab, et
esimesena salvestatud sõna loetakse
välja viimasena. Hoitakse alles ainult viimasena salvestatud sõna aadressi (TOS – Top Of Stack) ning varem
salvestatud sõnu saab lugeda siis, kui hiljem salvestatud sõnad on juba loetud. Põhimälus on eraldatud teatud
piirkond, kus pinumälu realiseeritakse. TOS aadress säilitatakse protsessoris spetsiaalses registris. Pinuga
opereerimiseks on olemas käsud
PUSH (salvestamine) ja
POP (pinust lugemine).
Alamprogrammi poole pöördumisel salvestatakse käsuloenduri sisu pinumälusse, see on ühtlasi ka
tagasipöördumise aadressiks. Kui see alamprogramm pöördub mõne järgmise alamprog. poole, siis
salvestatakse ka see aadress pinumälusse ning tagasipöördumisel võetakse pinumälust järjest aadresse, kuni
programmi täitmine jõuab põhiprogrammi juurde tagasi.
Joonis 5Alamprogrammide poole pöördumine Pinumälu arvutis ei ole käsukoodi juures
näidatud operandide ega resultaadi aadresse. Operandid võetakse alati
pinumälust, teostatakse ALU-s ja tulemus salvestatakse tagasi pinumälusse.
Näide
Poola pöördkujust (Reverse Polish notation) valemi (A-B)(D+C) arvutamiseks pinumälu arvutis.
Joonis 6 Valemi arvutamine pinumälu arvutis 22
15. Erineva pöördumisviisidega mälud: LIFO, FIFO, assotsiatiivmälu ja kahe pordiga mälu (217-226) 15.1. LIFO – Last in, First Out
LIFO pöördumisviisi kasutav mälu on mälupuhver, kus viimasena kirjutatud info liigub esimesena mälust välja.
Kasutatakse näiteks protsessorites, katkestusega tegelemisel pannakse käsiloleva
tegevusega seotud andmed
pinumällu ja katkestusega seotud tegevuse lõpus loetakse tagasi.
15.2. Puhvermälu (FIFO – First In, First Out)
Esimesena loetakse välja esimesena salvestatud info. Kasutatakse erineva kiirusega töötavate süsteemi
komponentide vahel info puhvedamiseks. Üks seade kirjutab oma kiirusega info sisse ja teine seade loeb oma
kiirusega samas järjekorras välja.
15.3. Kahe pordiga mälu (Dual port memory )
Võimaldab
samaaegselt lugeda ja kirjutada, kuid eeldab, et adresseerimine, kirjutamise ja lugemise juhtimise
loogika ja andmeedastuse kanalid lugemiseks ning kirjutamiseks peavad olema sõltumatud.
15.4. Assotsiatiivmälu (Content-Adressable Memory – CAM, Associative Memory)
Kui tavalistes mäludes
viitab aadress mingile mälu pesale, mille poole pöördumine toimub, siis
assotsiatiivmäludes
ei osutata aadressiga mälu sõnale, vaid
otsitakse sõna ühe osa sisu järgi ülejäänud
sõnaosa või aadressi, kus see sõna asub. Võimaldab ülikiire otsimise, CAM otsib kogu oma mälust, kas otsitav
sõna seal leidub. Kokkulangevus võib olla mitmes sõnas.
Joonis 7Assotsiatiivmälu Joonisel on paremal näidatud, et otsimine toimub sõnade 1,3 ja 4 hulgast (bitid on ühed). Kokku langevad
esimene ja neljas sõna (tuleb teha valik, kui otsitavaga langeb kokku mitu sõna).Otsimine peab toimuma
paralleelselt ja otse riistvaras, kuid sellega lisandub igale mälubitile kümneid transistore ja see teeb
assitsiatiivmälu väga kalliks. Vahemälus saab olla kokkulangevus vaid ühes sõnad, sest iga plokk saab olla vaid ühes kohas vahemälus. 23
16. Virtuaalmälu (lehekülgedeks jagamine, segmenteerimine) (241-248) Virtuaalmälu on mäluhaldustehnoloogia, mis kasutab nii arvuti
riistvara ja
tarkvara . Virtuaalmälu eesmärgiks
on laiendada aadressiruumi ehk
mäluaadresside hulka, mida
programmid kasutada saavad. Kui virtuaalmälu
ei kasutataks, ei pruugiks programm, mis kasutab rohkem mälu, kui
arvutil füüsiliselt olemas on, üldse töötada.
Seevastu, kui kasutada virtuaalmälu, kopeeritakse põhimällu ainult need programmi osad, mida antud ajahetkel
programmi tööks vajatakse. Seeläbi ei tule programmil töö käigus mälust puudust.
Virtuaalmälu organiseerimiseks kasutatakse 3 mehhanismi:
1. lehekülgedeks jagamine
2. segmenteerimine
3. segementeerimine lehekülgedeks jagamisega
16.1. Lehekülgedeks jagamine
Mälu jagatakse fikseeritud suurusega lehekülgedeks. V juures lahut teineteisest programmis kasutatavad
virtuaalaadressid füüsilistest aadressidest, millega viidatakse tegelikult sõnadele põhimälus. Programmi
täitmise ajal teisendatakse automaatselt kasutajale nähtamatult virtuaalsed
aadressid füüsilisteks aadressideks.
Olgu näiteks kogu aadressiruumist laetud põhimällu 4K suurune lehekülg, mis hetkel on virtuaalse
aadresside vahemikus 4096 kuni 8191. Vajadusel laetakse välismälust põhimällu mõni teine lehekülg, mida tarkvara vajab.
Lehekülje maht on
fikseeritud (näites 4096 sõna)
(Joonis 5.11) 16.2. Segmenteerimine
Segmenteeritud virtuaalse mälu juures jagat
virtuaalne aadressiruum segmentideks.
Segmenteerimine toimub tarkvaraliselt, kuid alati tuleb arvestada
riistvaralisi kitsendusi.
Kuivõrd segmentide
mõõdud on erinevad, ei ole põhimälu jagatud
fikseeritud piirkondadeks nagu lehekülgedeks jagamisel, vaid
segment laetakse vabasse kohta, kus on piisavalt ruumi.
Max segmendi suurus määrab ära, kui palju järke tuleb kasutada nihkele segmendi sees.
Kuivõrd
segmendid ei ole fikseeritud pikkusega nagu
leheküljed , kasutatakse teistsugust aadressi
transleerimise meetodit.
Kui
segmendi algus ei ole fikseeritud, siis ei saa aadressi koostada kahest osast (kus vanem pool oli lk-e
alguse aadress ja noorem pool oli
nihe lk-l)
24
25
17. Mikroarvuti ja siinid (AB, DB, CB) address bus, data bus, control bus (250-260) Mikroprotsessorite ilmumine tõi kaasa
siiniarhitektuuri, kus info vahetamiseks süsteemi komponentide vahel
on kasutusel ühised liinid ehk siinid (bus). Füüsiliselt on tegemist komplekti juhtmetega, mis asuvad
mikroskeemi sees või trükiplaadil. Kõik arvutisüsteemi komponendid peavad täitma teatud reegleid –
siini
protokolli, et vältida konflikte. Andmeedastuse kiirus siinide kaudu määrab paljuski kogu arvuti töökiiruse,
kuna mikroskeemi väljaviikude arv on piiratud ning suhteliselt võimas protsessor peab kõikide teiste süsteemi
komponentidega
suhtlema läbi selle piiratud infoedastus kanali.
Andmeedastus põhineb kolme
olekuga siinipuhvritel. Kolmas olek tähendab seda, et siinipuhvrid on elektriliselt
lahti ühendatud – siinipuhvri väljund pole 1 ega 0, vaid tema potentsiaal on määramata. Väljund läheb
kolmandasse olekusse, kui E=0 (Low). Kui E=1(High), siis võrdub väljundi (Y) väärtus sisendi (X) väärtusega.
Joonis 8 Kolme olekuga siini puhver (Tri-state buffer, Bus driver ) Kahe siinipuhvri ühendamisel saab teha kahesuunalist andmevahetust. Kasutades siinipuhvrite
paare , on
võimalik siinide(nt A ja B) vahel andmevahetust organiseerida ühise siini (C) kaudu, kuid tuleb jälgida, et
korraga ei tohi kaks siini saata infot ühisele siinile (võib põhjustada puhvri läbipõlemise).
Joonis 9Andmevahetus ühise siini kaudu Kuna siini edastuskiirus peab olema vastuvõetav ka kõige aeglasemale süsteemikomponendile, siis on uuemad
arvutid mitme siiniga: kiirem siin protsessorile lähemal ning aeglasem siin
sisend -väljundseadmete juures.
Erineva andmeedastuskiirusega siine ühendab
sild (
Bridge), mis kasutab andmevahetuseks FIFO-tüüpi mälu, et
siduda erinevate protokollide ja kiirustega siinide signaale.
26
17.1. Siinide jagunemine funktsioonide järgi
Andmesiin (DB –Data Bus): Edastatakse andmeid. DB laius ja
taktsagedus määravad ära
andmeedastuskiiruse. Nt kui DB on 64-
järguline (koosneb 64-st liinist), saab ühe siinitsükliga edastada
64-bitilise sõna. Võimalik on info liikumine
mõlemas suunas (protsessorisse ja protsessorist välja),
kuid kõikidel
liinidel alati ühes suunas.
Aadressisiin (AB – Address Bus): Edastatakse aadresse. Järgulisus määrab maksimaalse adresseeritava
mälu mahu ja maksimaalse sisend-väljundseadmete hulga. Info liigub
vaid protsessorist välja ning
kõikidel
liinidel samas suunas.
Juhtsiin (CB – Control Bus): Edastatakse erinevaid signaale süsteemikomponentide töö
kooskõlastamiseks (
nt mälust lugemine ja mällu kirjutamine; S/V-seadmest lugemine ja sinna
kirjutamine; taktsignaal; Ready, Interrupt ja Interrupt Acknowledgement ning Reset signaalid ). Siini eri
liinidel liigub info
erinevates suunades.
17.2. Erinevad siiniprotokollid
Sünkroonne siin: Kõik tegevused on seotud sünkrosignaaliga ning kõikide signaalide muutused
toimuvad
sünkrosignaali esi- või tagafrontide ajal. Taktsagedus peab sobima kõikidele süsteemi
komponentidele.
o
Ploki edastus : Näiteks vahemälu (Cache)
laadimisel on kasulik edastada info plokkide kaupa,
mitte üksikute sõnadena. Kui mälust lugemise tsükli pikkuseks on nt 3
takti , siis korratakse teist
takti, edastades iga kord ühe sõna. (Esimese takti ajal algab siinitsükkel aadressi ja mälust
lugemise signaali edastusega ning kolmanda taktiga lõpetatakse siinitsükkel)
Asünkroonne siin: Taktsignaali pole otseselt näha, andmeedastuse
kooskõlastamine toimub
täiendavate signaalide vahetamise abil (MSYN, SSYN). Asünkroonse siini ajastus on
paindlikum ,
puudub sõltuvus jäigast sünkrosignaalist.
Joonis 10Sünkroonse siini mälust lugemise tsükli ajadiagramm 27
Joonis 11Asünkroonse siini mälust lugemise ajadiagramm 28
18. Siinide juhtimine - katkestusteta süsteem, katkestustega süsteem ja prioriteedid (265-282) 18.1. Katkestustega andmevahetus
Katkestus sunnib protsessorit muutma käskude täitmise
järjekorda .
Katkestuse käivitamine:
Programmselt, nt INT-käsuga S/V-seadmete poole pöördumiseks. Analoogiline alamprogrammi poole
pöördumisega.
Erandina (Exeption) mingi süsteemis tekkinud vea korral (nt nulliga jagamisel). Katkestatakse
programmi täitmine ja väljastatakse vastav
veateade kasutajale.
Riistvaraliselt, kui S/V-seade
saadab vastava signaali, et soovib andmevahetust. Protsessor ei pea
pidevalt kontrollima S/V-seadme olekuregistrit, vaid katkestuse küsimise signaali aktiveerimisel
käivitub katkestuse
teenindamise protsess.
Katkestuse
täitmine:
Protsessor lõpetab pooleli oleva käsu. Mikroprogrammi ei saa tavaliselt katkestada, kui käsk on
lõpetatud, kontrollitakse
trigeri seisu ja hakatakse vastavat katkestust teenindavat alamprog. täitma.
Pinumällu salvestatakse tagasipöörde aadress (PC-väärtus). Osa protsessoreid salvestab ka PSW
(Program Status Word) – akumulaatori ja lippude registri sisu.
Käsuloendurisse laetakse katkestust teenindava alamprogrammi
algusaadress,
juhtimine läheb
vastavale
katkestust teenindavale programmile.
Pärast katkestust täitva programmi lõppu
taastatakse pinumälust PC sisu ja PSW abil akumulaatori ja
lippude registri sisu. Jätkatakse programmi täitmist sealt, kus katkestati.
Katkestuste teeninduse programm hakkab peale katkestuse signaali saamist ükshaaval kontrollima kõigi S/V-
seadmete olekuregistreid, et teha kindlaks, kes soovis andmevahetust.
18.2. Prioriteedid
Programmselt määratavad prioriteedid – Võimalik on paindlikult programmselt muuta S/V-seadmete
prioriteete muutes küsitluse järjekorda. Algoritm on fikseeritus olekuregistrite küsitlemise programmis.
Riistvaras jäigalt määratud prioriteedid – Iga S/V-seadme juures on loogikaskeem, mis kontrollib, kas
see seade soovis teenindamist. Prioriteedid on määratud seadmete järjestusega ahelas. Prioriteetide
muutmine tähendab riistvara muutusi.
Kontrolleriga määratavad prioriteedid – Kontroller vabastab protsessori katkestustega tegelemisest,
lahendades need vastavalt sellele, kuidas see on programmeeritud. Katkestuse teeninduse protsess algab
ainult siis, kui protsessorilt on selleks luba saadud. Määrab prioriteete nii fikseeritult, kui ka selle järgi,
kuidas S/V-
seadmed on saanud teenindatud (teenindatud seade saab madalaima prioriteedi)
29
19. Andmevahetus mikroarvutis: paralleeledastus, järjestikedastus, veakindlad koodid (282-291) Liidesel on alati kaks poolt -
protsessori pool (mis peab täitma siini protokolli selle järgi, millise siini külge ta
on ühendatud) ja
S/V-seadme pool (kus andmevahetus võib toimuda paralleelselt või järjestikuselt).
19.1. Järjestikandmeedastus
Piisab ühest liinist (+
nullnivoo ), iga biti edastamiseks kulub üks
takt . (8 biti edastamiseks 8 takti)
1)
Asünkroonne järjestikandmeedastus –
saatja ja vastuvõtja taktgeneraatorite sagedused
ei pea olema sünkroniseeritud. Andmeid edastatakse sümbolitena ja nende vahel ei ole fikseeritud mingit kindlat
ajavahemikku. Saatja ja vastuvõtja peavad olema kokku leppinud järgmistes tingimustes:
a. Sümboli pikkus
b. Biti edastamiseks lubatav aeg
c. Milline on ooteolek, kui andmeid ei edastata
d. Stardibiti väärtus (0 või 1)
e. Stopp-bittide väärtused (0 või 1)
2)
Sünkroonne jäjestikandmeedastus – saatja ja vastuvõtja taktgeneraatorid
peavad olema sünkroniseeritud. Selleks kasutatakse spetsiaalset riistvara ( PLL – Phase-locked-
loop ). Kasutatakse nt
USB puhul.
19.2. Paralleelandmeedastus
8 biti edastamiseks on vaja 8 liini (+ nullnivoo), kuid aega kulub 1 takt. Pikkades liinides on võimalikud
moonutused ja kõik bitid ei jõua sünkrosignaali ajal kohale. Kasutatakse nt
printeriga andmevahetuses.
19.3. Veakindlad koodid
Informatsiooni edastamisel tekib vigu ning võimalike moonutuste kindlakstegemiseks kasutatakse
järgnevaid meetodeid :
1)
Vigu avastavad koodid – Edastatavatele andmebittidele lisatakse
paarsusbitt (koodi pikkus n+1). Igas
õiges koodisõnas peab olema paarisarv
ühtesid . Vea olemasolu näitab see, kui
edastamise käigus mõni
andmebitt muutub ja koodis ei ole enam paarisarv ühtesid. Eeldatakse, et viga on ühes
järgus , ei ole
võimalik avastada kahe või enama biti vigu ning leitud vigu
ei saa parandada. Kahe õige koodi
erinevust kahendjärkudes nimetatakse
Hammingi distantsiks.
2)
Vigu parandavad koodid – Võimaldav avastada ja parandada. Kahe õige koodi vaheline Hammingi
distants peab olema vähemalt kolm. Seega ühe järgu viga viib vale koodi õigest koodist ühe ühiku
kaugusele, samas kui teise õige koodini on kaks ühikut. Valitakse väiksema distantsiga kood.
30
31
20. LCD, LED OLED ja plasma kuvarid (292-308) 20.1. Vedelkristallkuvadri (LCD – liquid cristal display )
LCD-kuvaris kasutatavad vedelkristallid
ei emiteeri valgust, vaid moduleerivad tagant tulevat valgust (juhivad
läbipaistvat valgust).
1. Kahe klaasplaadi vahel on
vedelkristall ja mõlemal plaadil on
sooned.
(Error! Reference source not found.) 2. Kristalli molekulid
võtavad soontega määratud suuna.
3. Et aga
soonte suunad on plaatidel risti, tekivad kahe klaasplaadi vahel
keerdunud ahelad (twisted
efekt).
4. Kui valgus läbib selliseid keerdunud molekulide ahelaid, muudab ta
polarisatsioon 90 kraadi.
Joonis 12Klaasplaadid LCD-s Olukord muutub, kui panna vedelkristalli
mõlemale poole elektroodid ja lasta sealt läbi
pinge. Vedelkristalli
molekulid joonduvad sellisel juhul
elektrivälja järgi olenemata suunast. Seega pingega saab juhtida seda, kas
vedelkristalli läbiv pinge säilitab
esialgse polarisatsiooni või muudab seda 90 kraadi.
Kuivõrd vedelkristall valgust ei kiirga, on vaja
valgusallikat, millest lähtuvat valgust on võimalik lasta läbi
vedekristalli või mitte. Valguse saamiseks kasut 3 erinevat võimalust:
1. Kasutades
peeglit, mis peegeldab vaataja pool olevat valgust tagasi läbi LCD-elementide.
2. Kasut ekraanitagust
aktiivset valgusallikat (fluorestseeriv allikas või LED-
kuvarite puhul
valgusdioodid )
3.
Kombineeritud meetod, kus osa saadakse peegeldumise ja osa tuleb tagumisest valgusallikast
20.2. LED
LED-kuvarite puhul on valgusallikat vaja
vähem jahutada, sest LED-id tarbivad
vähem voolu -> seega saab
teha
õhematena. Neid kasut
kaasaskantavates arvutites,
meditsiiniseadmetes jne
20.3. Orgaaniliste valgusdioodidega kuvar (OLED – organic light emitting diode )
Orgaanilistel valgusdioodile põhinev tehnoloogia on üks uuematest võimalustest kuvarite valmistamiseks.
OLED koosneb järg kihtidest
(Error! Reference source not found.):
alus
anood
orgaanilised kihid
katood Valguse
emiteerimine OLED-is
(Error! Reference source not found.): 1. Anoodi ja katoodi vahele rakendatud pinge tõttu tekib
elektrivool katoodilt anoodile läbi
orgaaniliste kihtide. Elektrone kantakse emiteerivale kihile ja juhitakse ära juhtivalt kihilt.
2. Ärajuhitud elektronidest jäävad järele
augud, mis tuleb täita elektronidega emiteerivas kihis
3. Augud hüppavad emiteeritavasse kihti, kus nad täidetakse elektronidega. Kui
elektron täidab
augu ,
läheb ta kõrgemalt energiatasemelt madalamale. Vabaneb
footon energiat, mille hulk
määrab värvuse.
32
Joonis 13Valguse emiteerimine OLED-is 20.4. Plasma kuvarid (PDP – plasma display panel) Plasmaekraanide tehnoloogia sobib
suuremate kvaliteetekraanide valmistamiseks, nii et ei kannataks
kujundi kvaliteet ja
ekraan ei muutuks väga raskeks.
Erinevalt LCD-kuvaritest on iga ekraanivälja punkt
valgusallikas ja
vaatenurk on lai (160-180 kraadi)
ning kujundi kvaliteet väga head.
LCD-l olevat
musta probleemi (läbi filtrite ja vedelkristalli
lekib valgust, mis rikub musta värvi
kvaliteedi) PDP-ekraanidel
ei ole, sest kõik punktid saab välja lülitada ja nad ei kiirga enam valgust.
PDP-kuvar on
valmistatud klaasalusel ja purunemise oht on suur.
33
21. Puutetundlikud ekraanid (308-317)
21.1. Takistuslik puuteekraan (Resistive touchscreen) Ekraan koosneb kõvast alusest (nt klaas), mis on kaetud läbipaistva takistusliku
materjaliga , tavaliselt
indium -
tinaoksiidiga (ITO). Välimine kiht on
painduv ning samuti kaetud ITO kihiga. Kaks kihti on eraldatud
isolaatoritega ning kui
vajutada välimist kihti, puutuvad kaks ITO-ga kaetud kihti isolaatorite vahel kokku.
Nelja juhtmega versioonil on kaks juhet ühendatud välimise ITO kihi
servadega ning kaks sisemise kihi
servadega. Üks kiht pingestatakse ning
teiselt loetakse kontrollerisse puutepunkti pingeväärtus (X-
koordinaat ),
seejärel pingestatakse teine kiht ja loetakse esimeselt Y-
Joonis 14Takistuslik puuteekraan koordinaat. Puuduseks – painduval kihil tekivad mõrad ja pinge jaotus pole ühtlane,
kalibreerimine aitab.
Viie juhtmega versioonil pingestatakse ainult alumine kiht, ning ülemiselt loetakse pingeväärtused.
Võimaldavad kindlaks teha ainult
ühe punkti koordinaate.
Maatrikstakistusliku puuteekraani juures jagatakse ekraan ribadeks ja veergudeks, mis kõik on ühendatud
pingeallikate või anduritega ning kihtide kokkupuutumisel teeb kontroller kindlaks puute koordinaadid.
Võimaldab kindlaks teha
mitme punkti koordinaadid.
21.2. Mahtuvuslik puuteekraan (Capacitive touchscreen) Väga vastupidavad. Elektrit mittejuhtiv mustus ei sega ekraani tööd, samas ei toimi ka kinnastega puudutus .
Kallim kui takistuslik.
Pindmahtuvuslikud – puutepind kaetakse ainult
ühelt poolt läbipaistva juhtiva (ITO) kihiga. Ekraani
nurkades on elektroodid, mis vahelduvvoolu generaatorit kasutades tekitavad ekraani pinnale ühtlase
elektrivälja. Kui juhtiv keha (
sõrm ) puutub tekkinud välja, tekib dünaamiline
kondensaator , mis
muudab elektrivälja ning laengute liikumist on võimalik mõõta nurkades olevate anduritega. Kuna ITO
omab teatud takistust, sõltub voolu komponentide muutuse suurus
Joonis 15Mahtuvuslik puuteekraan puutepunkti kaudusest andurist ning andurite näitude muutuste järgi
määratakse
puutepunkt .
Projekteeritud mahtuvuslikud – ekraani pinnale moodustatakse ITO
ribadest võrk. Need ribad, kuhu
salvestub laeng, on isoleeritud ja nende vahel on
mahtuvus . Puudutusel võtab sõrm osa laengust endale
ja laengu liikumise fikseerib kontroller.
34
21.3. Infrapunapuuteekraan (Infrared touchscreen)
Ekraani kahte serva paigutatakse infrapunavalgusdioodid ning nende vastasservadesse infrapunaandurid.
Dioodide kiirtest moodustub võrgustik.
Puudutuse korral ei jõua vähemalt üks kiir X ja Y suundadel andurini ja
kontroller määrab selle järgi puudutuse asukoha. Toimib ükskõik millise esemega „puudutades“, kuid
probleemiks võib olla ka mustus mis tekitab valepuuteid.
Modifikatsioonina kasutatakse
täieliku sisepeegeldusega infrapuna - puuteekraani, kus kiir levib ekraani ees
oleva kaitseklaasi sees, peegeldudes sisse. Puudutusel murdub valgus ning andurid registreerivad valguse
lahkumise ja kontroller teeb kindlaks puute asukoha.
21.4. Akustilise laine impulsstuvastus (Acoustic pulse recognition)
Ekraani servadesse paigutatakse
piesoandurid. Puudutusel tekivad
akustilised lained, mis eemalduvad
puutekohast ning andurid muudavad akustiliste võngete energia elektrisignaaliks. Iga puute järel võrreldakse
lainepilti kontrolleri mällu salvestatud lainepiltidega ning määratakse selle alusel puute koordinaadid. Toimib
ükskõik millise esemega.
21.5. Optiline puuteekraan (Optical touchscreen)
Puute asukoha
määramiseks kasutatakse kaamerat. Võimaldab tuvastada
puute tekitaja suurust ning töödelda
mitut puudet korraga. Kaks
varianti :
Hajutatud valgustuse meetod – kasutatakse täielikku sisepeegeldust, kuid dioodidega tekitatakse
ekraani ees infrapunavalguse
ühtlane foon ja pildi fikseerib
kaamera . Puudutusel tekib
peegeldus ja
osa valgust lahkub keskkonnast. Kaamera fikseerib muutuse.
35
Hajutatud pinnavalgustuse meetod –
dioodid asuvad puutepinna servades. Pinna peale paigutatakse
valguse hajutaja. Kaamera fikseerib puutepinna eest suunatud valguse korral puutekohas varju ning
puutepinna tagant tuleva valguse korral puutekohas
peegelduse . Nende järgi määrab koordinaadid.
21.6. Pindakustilised lained (Surface acoustic waves)
Ekraani kahes
nurgas on piesogeneraatorid, servades pindakustiliste lainete peegeldajad ning kahes teises
nurgas on piesovastuvõtjad mis
fikseerivad tekkiva võngete pildi. Puute korral
võnked selles punktis sumbuvad.
Vastuvõtja kaugusest sõltub peeglist
tulevate võngete
viide , selle kaudu tehakse kindlaks puute asukoht.
21.7. Jõutundlik puuteekraan (Force- Based )
Puutepind kinnitatakse piesoanduritele, mis muudavad füüsilise jõu elektrisignaaliks. Olenevalt puute kohast on
anduritele erinevad surved ja nende survete erinevuste järgi määratakse koordinaadid.
Puute võib teha ükskõik millega, kuid ei ole võimalik eristada mitut samaaegset puudet. Tundlik vibratsioonile
ning puudete vahel peab olema piisavalt pikk
paus .
Joonis 16Jõutundlik puuteekraan 36
22. Printerid (317-322) 22.1. Printerid
1. Löökprinter. Kasutavad vanemat kirjutusmasinatest tuntud tehnoloogiat, kus printimise pea ja paberi vahel
on
tindiga immutatud värvilint. Kujund saadakse löögiga vastu värvilinti. Printimispäid mida kasutatakse
on väga erinevaid. Võib kohata
golfipalli sarnast pead või
trummel .
1.1. Nõelmaatriksprinter
Kõige tuntum
Trükipeas on
nõelad, mida liigutatakse
elektromagnetiga.
Kvaliteet sõltub
nõelte arvust.
Selliseid printereid võib kohata praegu
pankades, kus tehakse kliendile trükitust kopeeriva
paberiga koopia.
Teeb iseloomulikku
krõbisevat häält.
1.2. Ridaprinter
1.3. Õisprinter
2. Löögita printer 2.1.
Termoprinter 2.1.1. Termosiirdeprinter
Ei kasuta
spetsiaalset paberit.
Printimispea ja paberi vahel on
värvilint, mis on vahaga immutatud.
Trükipeas olevate takistitega saab punkte kuumutada ja paberile
moodustub kujund sulavatest vahapunktides.
2.1.2. Sublimatsioonprinter – sees on lint, millel on eri piirkondades üksteise kõrval
4 põhivärvi sublimaat. Kui lint liigub trükitava alusmaterjali peal, siis teda kuumutatakse, sublimaat aurustub
ja moodustab alusmaterjalile läikiva kihi enne, kui ta muutub taas
tahkeks aineks.
Eri värvi
piirkonnad on väga täpsed ja sellist printerit kasutatakse
fotoprinterina. Väga hea värviline
trükikvaliteet.
2.1.3. Termokontaktprinter
Kasutatakse
spetsiaalset paberit, mis sisaldab alumiiniumit.
Trükipeas on nõelte asemel
takistid, mida saab kuumutada vooluimpulsiga.
Kujund moodustub
täppidest.
Puuduseks on spetsiaalse paberi vajadus ja trükitu ei säili kaua.
Kasutatakse
kinopiletite ja
kviitungite trükkimisel.
2.2. Fotoelektriline printer
2.2.1. LED-printer
2.2.2. Laserprinter
Töö põhineb
valgustundliku
materjaliga kaetud trumlil.
Trumli kattematerjal on
isolaator . Trumlile
antakse laeng, mille käigus
tekkib elektrostaatilisest laengust kujund
trumlile. Edasi liigub trummel
tooneri lähedale ja tõmbab laetud
kohtadega tooneri külge. Toonerist
moodustub kujund trumlile. Lõpuks
kuumutatakse
tooner paberile kinni
ning trummel puhastatakse tooneri
jääkidest ja laengust.
2.3.
Jugaprinter - moodustab kujundi väljapritsitud
tindi või vaha tilkadest.
37
2.3.1. Vahaprinter
2.3.2. Tindiprinter
22.2. Värviline trükk
Värvitrükk saadakse laserprinteri juures
eri värvi toonerite ületrükiga. Iga värvi jaoks on
oma trummel ja
neilt trumlitelt kantakse kõikide värvidega saadud kujundid
vahekandjaks olevale lindile või trumlile. Sealt
kantakse
valmiskujund juba paberile.
Jugaprinterites kasutatakse
ületrükiks erinevaid pihusteid eri värvide jaoks.
Termosiirdeprinterites tehakse ületrükk
eri värviga immutatud värvilintide abil.
Sublimatsiooniprinterite
temperatuuriga reguleeritakse, kui palju värvainet paberile kantakse
38
23. Klaviatuur (322-324) Klaviatuur on riistvaraline
arvuti juhtimis- või andmesisestusvahend.
Klahvide paigutust tuntakse kõrvuti
asetsevate klahvide järgi ülemises tähereas -
QWERTY . Selline paigutus
kujunes välja
mehhaaniliste kirjutusmasinate ajal. Klahvide taga olid haamrikesed, mis vastava sümboliga lõid
vastu värvilinti. Kui vajutada kõrvuti klahve kiiresti järjest, kippusid haamrikesed kinni
jääma . Tehti nii, et
inglise keeles tihedamini kasutatavate tähtede klahvide vahel olid harvemini kasutatavad. Praegu toimub kõik
elektroonselt ehk paigutust võiks muuta, kuid keegi ei ole seda teinud, sest inimestel oleks palju
ümberõppimist.
Klahvide all on oma
olemuselt binaarsed lülitid - ühendus on (1) või ühendust ei ole (0). Kasutatakse erinevat
tüüpi lüliteid. Tavaliselt on trükiplaadi peal plastist materjal, mis on sümbolite kohalt metalliseeritud ja klahvi
vajutusel tekib kontakt alumise pinnaga.
Plast täidab ka vedru ülesannet. Agressiivsemates kohtades
kasutatakse hermeetilises klaaskorpuses asetsevaid kontakte, mis magneti lähendamisel tõmbuvad kokku. On
olemas ka kontaktivabad
klaviatuurid , kuid kallima hinna tõttu need laia
kasutust ei leia.
Vajutatud klahvide tuvastamiseks skaneeritakse pidevalt
klaviatuuri . Klaviatuur moodustab maatriksi, kus read
on ühendatud väljundpordi külge (joonis 7.33). See tähendab, et klaviatuuri kontroller saadab sinna teatud
skaneerimise koode.
Veerud on ühendatud läbi kaitsva
takisti toitenivooga (väärtus 1) ja samuti saab lugeda
veergude väärtusi läbi sisendpordi klaviatuuri kontrollerisse. Kõigis horisontaalide ja vertikaalide
ristumiskohtades on lülitid (klahvid). Iga lüliti küljes on klahv vastava numbri või
tähega . Joonisel on
klaviatuuril 16 tähte.
39
24. Katkematu pingeallikas (UPS) (335-337) UPS-i
olemasolul on võimalik üle minna
akude toitele ja vooluvõrgu häiretest tingitud probleeme lahendada.
UPS-i abil lahendatakse järgmisi probleeme:
täielik elektrikatkestus – elektrivõrgus on
toitepinge täielikult kadunud;
ülepinge ja
impulsshäired –
lühiajaliselt tõuseb toitepinge elektrivõrgus lubatust kõrgemaks;
pingelangus – pinge langeb toitevõrgus lühemaks või pikemaks ajaks lubatust madalamaks;
sageduse erinevus normaalsest 50 Hz-st.
Odavamate UPS-ide
akud võivad võimaldada ainult
kiiret programmide töö korrektset lõpetamist, kuid
kallimad UPS-id
lubavad ka teatud aja jooksul edasi töötada. Arvestades akude suhteliselt suurt hinda, on
viimased UPS-id muidugi oluliselt kallimad.
Vallas-UPS (Offline UPS,
Passive Standby UPS)
Sellise UPS-i
kasutamisel kajastuvad võrgupinge kõikumised ja sageduse muutused ka otseselt arvuti
toiteahelas, sest puudub sisendpinge lahtisidestus arvutit toitvast väljundist (joonis 7.43).
Normaalolukorras töötab arvuti otse elektrivõrgust ja samaaegselt laetakse akut.
Kui võrgu pinge langeb
alla kriitilise väärtuse, läheb UPS üle
aku toitele ja arvuti töö jätkub, kuni
akud seda võimaldavad.
Ümberlülitus peab toimuma
piisavalt kiiresti (alla 25 millisekundi), et arvuti töö võiks jätkuda kuni
akude tühjenemiseni.
Aku toitele minnakse üle, kui toitepinge on alla kriitilise piiri, kuid väiksemaid pingelangusi seda tüüpi
UPS ei kompenseeri.
Vallas-UPS-i hea omadus on tema
odav hind.
Sidus-UPS (Online UPS,
Double Conversion UPS)
Siin toimub
kahekordne muundamine vahelduvvoolust alalisvooluks ja tagasi (joonis 7.44).
See tagab suhteliselt hästi
müradest filtreeritud toite ja ka sisend- pinge suurematel kõikumistel viiteta
ülemineku aku toitele, siludes samas ka väiksemaid kõikumisi.
Tegemist on suhteliselt
kalli UPS-iga, sest alalispingest tuleb saada nii kvaliteetne vahelduvpinge, et
sellega võiks pikemat aega toita arvutit.
Kui alalispingest saadud vahelduvpingesse jääb sisse
liiga suur alaliskomponent, ei pea arvuti
toiteplokk sellele vastu
40
Aktiivne vallas-UPS (Line-Interactive UPS)
Aktiivne vallas-UPS kujutab endast
kompromissi kahe eelneva variandi vahel (joonis 7.45).
Kui sidus-UPS võimaldab elektroonika abil pidevalt hoida pinge väärtust paigas ja vallas-UPS vaid
teatud kriitilisest väärtusest väiksema sisendpinge korral minna üle aku toitele, siis siin on võimalik
astmeline pinge väärtuse korrigeerimine.
Puudub vajadus pidevalt
teha alalispingest vahelduvpinget arvuti toitmiseks, ei
filtreerita ka
elektrivõrgust tulevaid häireid nii hästi kui kallimas sidus-UPS-is.
Arvestades, et arvuti on tihti mingi süsteemi osa, siis on olemas palju sisend- väljundseadmeid, mis on seotud
just konkreetsete rakendustega. Vaja on andureid süsteemi oleku määramiseks ja täiturmehhanisme
juhtimiseks . 41
25. Spetsiaalse riistvara realiseerimine (tehnoloogiad, võrdlus) (338-357) Tänapäeval leiab valdav osa arvutustehnika riistvarast kasutust mujal kui üldotstarbelistes arvutites.
Hinnatakse, et 99% kogu riistvarast leiab kasutust süsteemi
osana suvalistes eluvaldkondades. Ainult 1%
riistvara toodangust leiab kasutust PC-sugustes üldotstarbelistes arvutites, millega me igapäevaselt teadlikult
kõige rohkem kokku puutume. Tänapäeval on võimatu ette kujutada eluvaldkonda, kus spetsiaalset
arvutustehnikat ei kasutataks, alustades näiteks rääkivast nukust ja lõpetades kosmoselaevaga. Need
tehnoloogiad, mida kasutatakse üldotstarbeliste protsessorite ja süsteemi muude komponentide valmistamiseks,
ei anna alati
parimat tulemust kõikides rakendustes.
Olgu meil näiteks vaja realiseerida spetsiaalne digitaalseade või protsessor mingiks erirakenduseks, näiteks
juhtida tööpinki, analüüsida mingi keemilise protsessi kulgu, juhtida auto sissepritset ja süüdet, valmistada
mobiiltelefonile protsessor jne. Millised on siin realiseerimise võimalused?
25.1. Programmne realisatsioon
Programmse realisatsiooni head omadused:
saab kasutada harjumuspärast tarkvara. Näiteks kui juhitakse keemilist protsessi ja keemik on
harjunud kasutama Windowsi keskkonda, siis saab ta teha seda ka loodud süsteemiga töötades
lihtne teha muudatusi.
Muudatus tuleb teha programmis, see transleerida ja ongi
lühikese ajaga uus
versioon valmis. Alguses on vaja teha alati katsetamiseks prototüüp, siis saab hakata projekteeritud
süsteemi
tootma või ainueksemplari kasutama. Prototüübi katsetamisel võib selguda, et kuskil on
projekteerimisel tehtud vigu, mis tuleb parandada või tellija leiab, et midagi tuleks lähteülesandes
muuta.
ei ole vaja tunda riistvara. Lõppkasutajal ei ole kunagi vaja teda, kuidas on riistvara tehtud.
Algoritmi realiseerib
programmeerija , kes peab teadma vaid lisakaardi teatud parameetreid.
Programmse realisatsiooni puudused: võrreldes riistvaralise realisatsiooniga on programmne realisatsioon
aeglane, sest programmi täitmisel
toimub pidevalt käskude lugemine mälust protsessorisse ja seal käskhaaval nende täitmine. Paljudes
kohtades võib see osutuda probleemiks. Näiteks kui juhitakse keemilist reaktsiooni või mingit muud
protsessi reaalajas, kus tuleb muutustele kiiresti reageerida. Kuni programm jõuab otsuseni, võib
protsess olla muutunud juba juhitamatuks
PC või mõni teine universaalne arvuti on paljudes kohtades
mõttetult kallis. Juhtides lihtsa algoritmi
järgi tööpinki ei kasuta me võimsa arvuti ressurssidest väikestki osa. Milleks superskalaame
arhitektuur ,
vahemälu, konveier, suur mälu jne, kui me seda ressurssi ei vaja?
füüsilised mõõtmed ei ole alati vastuvõetavad.
Vaevalt meist keegi kasutaks mobiiltelefoni, kui see
töötaks ainult koos arvutiga.
25.2. Riistvaraline realisatsioon
Alati võib algoritmi realiseerida riistvaras samaselt juhtautomaadiga protsessoris. Algoritmi realiseeriva
loogikaskeemi võib valmistada trükiplaadil, koostatuna tootjatelt saadavatest valmiskomponentidest
(mikroskeemidest) loogikaskeemina või kristalli pinnal ühe rakendusspetsiifilise mikroskeemina (Application
Specific Integrated
Circuit , ASIC). Erinevus on siin vaid tehnoloogilist
laadi . Tänapäeva tehnoloogia juures on
alati võimalik teha oma mikroskeem.
Head omadused:
suurte seeriate puhul
odavam toota. Kui korra on ASIC-u valmistamiseks tehtud kogu
projekteerimistöö ja saadud mikroskeemi valmistamiseks vajalikud
maskid , on järgnevate koopiate
tootmine suhteliselt odav. Suurte partiide korral on oma mikroskeemide valmistamine kindlasti
otstarbekas
42
väikseim võimalik komponentide arv.
Disain on tehtud konkreetse realisatsiooni jaoks ja seega on
võimalik optimeerida kristalli pinnal realiseeritavat loogikaskeemi maksimaalselt. Loogikaskeem peab
sisaldama vaid neid loogikaelemente, mis on sellele realisatsioonile vajalikud
loogikaskeem realiseeritakse kristalli pinnal ja
loogikaelementide tihedus on suur. See omakorda
tähendab
suuremat töökiirust ja
väikest energiakulu
turvalisus (Security). Tööstusspionaaž oli, on ja jääb niikaua, kui
konkurents toodete turul püsib.
Tänapäeva tehnoloogia juures ei ole võimalik mikroskeemist kätte saada seal loogikaskeemina
realiseeritud algoritmi.
Puudused:
pikk juurutamise ja prototüübi valmistamise aeg. ASIC-u valmistamine eeldab terve rea
etappide läbimist mikroskeemide valmistamise
tehnoloogias enne, kui meil on valmis oma loogikaskeemi
prototüüp katsetusteks. Kui on vaja teha
prototüübis muudatusi, tuleb
tellida uued mikroskeemid sealt, kus on olemas mikroskeemide valmistamise tehnoloogia. See kõik
nõuab aega ja on kallis, sest
prototüübi valmistamise tehnoloogiale ei ole projekteerijal otsest ligipääsu. Muudatusi prototüübi
katsetamisel aga tuleb paratamatult teha
väikeste seeriate korral suhteliselt kõrged projekteerimise ja prototüübi valmistamise kulud.
Suurte seeriate tootmisel on mõtet läbida kulukas ja aeganõudev projekteerimine, kuid väikeste seeriate
korral see ei ole otstarbekas
kogu disain nõuab suhteliselt kalli spetsiaalse tarkvara (Computer Aided Design, CAD) olemasolu. Väikestes seeriates valmistatavate realisatsioonide puhul ei ole sellise tarkvara
hankimine alati otstarbekas.
25.3. Programmeerimise tehnolooagiad
25.3.1. Staatilise suvapöördusmälu tehnoloogia
Moodustatakse toorikul (tavaliselt maatriks) SRAM-i trigeritest suur nihkeregister.
Kandes sinna
registrisse bittide jada toimub konfigureerimine transistorvõtmete ja multipleksorite abil.
25.3.2. Siduvlüli ja katkevlüli tehnoloogia
Tekitatakse või katkestatakse ühendus vooluimpulsiga
25.3.3. EPROM-i, EEPROM-i ja
Flash -tehnoloogiad
Põhinevad samuti ujuva paisuga transistoritel nagu vastavad püsimälu tehnoloogiad.
43
Kõik kommentaarid