Kombinatsioonskeemid ja järjestiskeemid.
Kõikides
arvutites kasutatavad loogikaskeemid kuuluvad kahte suurde klassi. 3.
võimalust ei ole.
Kombinatsioonskeemid
on sellised loogikaelementidest koostatud
skeemid , millel ei ole
mälu omadusi. Nad kirjelduvad loogikafunktsioonidega, milles ei ole
aja parameetrit. Teades hetke sisendit, saame arvutada samal hetkel
väljundite väärtused vastava
loogikafunktsiooni abil. Ei ole
oluline, millised olid sisendite väärtused varasematel hetkedel.
Kui väljundeid on mitu, siis on iga väljundi jaoks eraldi
funktsioon.
Järjestikskeemid
on sellised loogikaelementidest koostatud skeemid, millel on mälu
omadused. See tähendab, et kõnealusel hetkel on väljundite
väärtuste määramiseks vaja teada väljundite väärtusi ka
eelnevatel hetkedel. Sel juhul sisaldab olek infot eelnevate hetkede
väljundite väärtuste kohta. Sünkroonsel
skeemil on spetsiaalne
taktsisend, mis määrab üleminekuaja ühest olekust teise.
Asünkroonsel järjestikskeemil toimub üleminek ühest olekust teise
mõne sisendi väärtuse muutudes. Oluliselt rohkem kasutatakse
sünkroonseid
skeeme , sest väärtuste
muutmist on lihtsam juhtida ja
jälgida. Järjestikskeemi sisemist struktuuri võib vaadelda kahe
osana . Funktsioonid, mis määravad väljundute väärtused olenevalt
selle hetke sisendite väärtustest ja olekust ning funktsiionid, mis
määravad uue oleku olenevalt
varasemast olekust.
Summaator: järjestik, paralleel ja kiire ülekanne.
Summaator on
kombinatsioonskeem, mis on ette nähtud kahendarvude aritmeetiliseks
summeerimiseks.
Kahendarvud on jagatud järkudeks ning kahendarvude
liitmisel saadakse tulemus, mis koosneb
sammuti järkudest. Summatori
loogikaskeemi saamiseks tuleb vaatada vaid ühte järku. Kui teha
loogikaskeem ühe järgu jaoks, siis saab ühejärgulisi skeeme kokku
ühendades teha n-järgulise summaatori. Summaatori sisenditeks on
liidetavad ai ja bi ning ülekanne nooremast
järgust ci-1. Väljunditeks on resultandi i-järks Si
ja üleminek vanemasse järku Ci. S = a
b
c
C = ab | ac |bc
Järjestiksummaator
Paralleelülekandega
summaator. Suure järgulisuse korral võib järjestiksummaatori
probleemiks olla kiirus, sest ülekanne levib läbi kõigi
summaatorite. Kõigis summaatorites akumuleeruv
viide võib muuta töö
liialt aeglaseks ning piirata arvuti taktsagedust. Paralleelülekande
puhul arvutatakse viide igas järgus eraldi
funktsioonina ainult
sisenditest.
C0 C1 = a0b0 +
(a0 + b0)c0 C2 = a1b1+ (a1+b1)c1= a1b1 + (a1+b1)a0b0 +
(a1+b1)(a0+b0)c0
Võib ette
kujutada, kui pikk on viimase järgu
avaldis 64-järgulise arvu
korral ning kui suur on teda realiseeriva loogikaskeemi maht.
Paralleelülekande korral hakkab
riistvara maht kasvama väga
kiiresti ja suurema järgulisuse korral ei saa paralleellülekannet
kasutada.
Kiire ülekanne
on kõige levinum ülekande meetod. Tegemist on järjestik ja
paralleel ülekannete kompromislahendusega. Toome uue
tähistus Gi =
Ai*Bi ülekande genereerimine ja Pi = Ai|Bi ülekande levik.
C0, c1 = g0 +
p0c0 , c2 = g1 + p1g0 + p1p0c0, c3 = g2 + p2g1 + p2p1g0 + p2p1p0c0
Seejuures
realiseerib kiire ülekande skeem veel kaks funktsiooni, mis näitavad
ülekande genereerimist G või levikut P läbi neljajärgulise
summatori. G= g3+p3g2+p3p2g1+p3p2p1g0, P=p3p2p1p0. Selliseid
neljajärgulisi grupe saab samasuguste kiirete ülekande skeemide
abil kokku ühendada ja laiendada järgulisust. Näitks 16 järgulise
summaatori jaoks oleks vaja 5 sellist ülekande skeemi ja 16
ühejärgulist summaatorit.
Dekooder on ette nähtud kahendarvude dekodeerimiseks.
Dekoodril tehakse
kindlaks, milline on sisendkood. Igale võimalikule sisendkoodile
vastab dekoodris üks väljund ja järlikult on dekoodril n
sisend korral 2n väljundit. Väljund on unitaarkood (1-ou-of 2) kood. Unitaarkood on selline,
kus on ainult 1 1. Lisaks on juhtsisend E mis, lubab või keelab
dekodeerimist.
C
B
A
E
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
X
X
x
0
0
0
0
0
0
0
0
0
Multipleksor, demultipleksor.
Multipleksor on
andmekommutaator, mis võimaldab
edastada loogilise väärtuse
mitmest sisendist ühte väljundisse. Sisendi
valikuks on
juhtsisendid S0, S1 jne. Tavaliselt on n juhtsisendi kohta 2n
andmesisendit. Multipleksorit võib vaadelda funktsioonaalselt kui
lülitit, aga arvestada tuleb et info liigub ainult ühes suunas. Lülitit seal loomulikult ei ole, sest mikroskeemides seda ei
realiseerita. Tegelikult juhitakse sisendi väärtusega väljundi
väärtust. Kui multipleksoril on 4 andmesisendit siis öeldakse, et
tegemist on neli-ühte multipleksor. Väiksemate multipleksorite
baasil saab alati realiseerida
suuremaid . Multipleksor võimaldab
realiseerida suvalisi loogikafunktsioone. ˇ
Demultipleksor on
andmekommutaator, milllel on 1 andmesisend ja mitu andmeväljundit.
Vastavalt juhtsisenditele juhitakse andmesisend ühte väljundisse.
Aritmeetika-loogika seade (ALU).
ALU on
kombinatsioonskeem, mis teeb teatud hulka aritmeetika ja
loogikafunktsioone. Need on baasoperatsioonid , mida tehakse
protsessoris otse riistvaras. Näiteks
liitmine ja lahutamine
aritmeetika poolelt ja EI JA VÕI
loogika poolelt. Eeldame, et meil
on võrdselt aritmeetika ja loogikafunktsiooni. Tabelis määrab M
kas tegemist on aritmeetika või loogikareziimiga ning konkreetse
funktsiooni määravad valiku sisendite väärtused. ALUl on
andmesisendid, mis on üldjuhul k-järgulised.
Operandid a ja b ning
resultaat Y on k-järgulised kahendarvud. Iga operatsiooni jaoks on
ALUs oma loogikaskeem. ALU on kombinatsiooniskeem, ehk mälu puudub.
Kui juhtsisendi ja valiku
sisenditega on
operatsioon valitud, siis
loogikaskeemi väljund määrab kogu ALU väärtuse. Operatsiooni
valikuks kasutatakse multipleksorit. Kõigi järkude realiseerimiseks
on identsed loogikaskeemid ja järgulisuse
suurendamiseks tuleb neid
lihtsalt paralleelselt omavahel ühendada. Kahejärgulise nelja
operatsiooniga ALU jaoks on vaja kahte 4-1 multipleksorit. Iga
lisanduva järgu jaoks on vaja täiendavat 4-1 multipleksorit.
Võrdlusskeem on
ette nähtud kahendarvude võrdlemiseks. Olgu meil kahejärgulised
kahendarvud A ja B. Väljund G näitab et A on suurem kui B, L näitab
et B on suurem ning E näitab et A ja B on võrdsed. Kasutades
kahejärgulisi võrdlusskeeme saame võrrelda suvalise järgulisusega
kahendarve.
Tihti on vaja
arvutis opereerida info edastamisel või andmete töötlusel bittide
asemel sõnadega(baidid, 16järku 32järku). Sellisel juhul on meil
vaja
tervet rühma
trigereid , sest üks
triger salvestab ühe biti.
Register on defineeritud kui rühm ühise juhtimisega trigereid.
Minimaalselt tähendab see ühist sünkroniseerimist. Peale
kahendsõna(hulk
bitte ) võib olla registril ka muid
operatsioone(algväärtuse asetud, mitme
infoallika valik,
nihe jne)
, kuid
sünkroniseerimine on alati oluline, millega määratakse
kõigile trigeritele ühiselt info salvestamise aeg.
Nihkeregister
on register, milles on võimalik kaheninformatsiooni ühes või
mõlemas suunas nihutada. Ehk liigutada bitte vasakule ja paremale.
Nihkeregistrit, mis võimaldab nihet mõlemas suunas nim.
Reversiivseks nihkeregistriks. Nihet kasutatakse näiteks info
teisendamisel paralleelkujult järjestikkujule ja vastupidi.
Matemaatikas tähendab nihe arvu jagamist ja korrutamist
arvusüsteemi alusega.
Ringnihe tähendab, et bitid ei lähe kaduma vaid ringi
algusesse.
Struktuurilt kujutab nihkeregister endast järjestikku
ühendataud trigereid, kus ühe väljund on ühendatud teise
sisendiga. Nihkeregistreid võid koostada kõigi trigeritüüpide
baasil. Nihkeregistritel võib sammuti olla asetussisend(nullimine v
muu algkood).
Paralleellaadimisega
nihkeregister. Tihti on nihkeregistritel ka paralleellaadimise
võimalus, siis võib alguväärtuse kanda registrisse
paralleelkoodis. Ilma selle võimaluseta saab sinna kanda väärtuse
vaid järjestiksisendi kaudu sissenihutades. Sama sünkrosignaaliga
juhitakse nii nihet kui ka
paralleelset sissekannet. Sellepärast
peab arvestama, et PL-sisendi muutus ei oleks ajaliselt liialt
lähedal sünkrosignaali tagafrondile, et vältida ebakorrektset
ajastust. Paralleellkujult järjestikkujule teisendamisel kantakse
info paralleellaadimise sisendite kaudu nihkeregistrisse ja sealt
nihutatakse info järjestikkujul bitthaaval välja.
Protsessor :
Käsu täitmine protsessoris.
Kogu käsu
täitmise võib kokku võtte ühe tsüklina, mida nimetatakse ka von
Neumanni tsükliks. See
tsükkel näitab käsu täitmist von
Neumann tüüpi arvutis.
Alustades
käsukoodi laadimisest,
saadetakse käsuloenduri sisu mälu
aadressiregistrisse, modifitseeritakse käsuloenduri väärtus, et
see sisaldaks järgmise käsu aadressi. Seejärel laetakse
käsukood mälust käsuregistrisse. Käsukood dekordeeritakse. Seejärel
genereerib
juhtautomaat käsu täitmiseks terve rea juhtsignaale, mis
näiteks kommuteerivad ALU sisenditesse läbi multipleksorite
registermälu operandid. Juhtautomaat valib ka ALU operatsiooni ja
kommuteerib ALU väljundisse registri, kuhu läheb tulemus. Iga käsu
täitmiseks on oma individuaalne elementaartegevuste jada. See
tähendab, et dekodeerimisele järgneb hargnemine, kus igas harus
genereeritakse juhtsignaalid, mis on vajalikud just konkreetse käsu
täitmiseks.
Protsessori üldstruktuur (käsuloendur, käsuregister, käsudekooder, juhtautomaat, operatsioonautomaat).
Operatsiooniautomaat
tegeleb andmete vahetu teisendamisega. See koosneb ALUst,
registermälust ja ALU juurde kuuluvast
lippude registrist.
Registermälu on väga kiire protsessori sagedusel töötav mälu,
vahetult teisendavate operandide, vahetulemuste ja lõpptulemuste
salvestamiseks. Kiire mälu on väga kallis ja sellepärast on ta
väikesemahuline. Mõne käsu täitmisel võivad operandid läbida
ALU korduvalt. Ntks jagamist saab teha nihutamise ja
liitmise abil.
Lippude registris säilitatakse info ALUs tehtud
operatsioonide tulemuste kohta. Kuna ALUl puudub mälu siis eelnevate tulemuste
säilitamiseks kasutatakse lippude registrit.
Juhtautomaadi
ülesandeks on käsu täitmise juhtimine vajalikke juhtsignaale nii
protsessori teistele komponentidele kui ka kogu arvutile väljastades.
Käsu täitmine koosneb mitmetest etappidest, mida käivitavad
juhtautomaadist tulevad juhtsignaalid.
Käsuloendur on
järjehoidja , mis näitab alati järgmisena
täitmisele tuleva käsu
asukohta mälus. Loendurit kasutatakse sellepärast, et sellele on
lihtne liita +1 ja panna see osutama järgmisele käsule. Käsuloendur
sisaldab alati järgmise täitmisele tuleva käsu aadressi. Järgmise
käsu aadress on vajalik näiteks katkestuste korral ja alamprogrammi
poole pöördumisel, et
fikseerida tagasipöörde aadress järgmise
käsu juurde.
Käsuregister. Kui protsessor väljastab käsuloendurist addressi ja
loeb selle järgi mälust käsukoodi siis salvestatakse see
käsuregistrisse. Käsuregistri väljundisse on ühendatud dekooder.
Dekoodri
väljundis on iga sisendkoodi korral aktiivne ainult üks
väljund. Käsudekoodril läheb aktiivseks üks väljunditest, mis
näitab, millise käsu kood loeti protsessorisse. Kõik käsud
sisaldavad käsukoodi. Käsukood sisaldab infot selle kohta, mida
peab protsessor tegema ja kust kohast tulevad operandid ning kuhu
tulemus salvestatakse.
Juhtautomaat : osa käsu täitmisel ja realiseerimine.
Iga käsu
täitmine algab üldise osaga, kus loetakse sisse käsukood ja
modifitseeritakse käsuloenduri väärtus. Pärast käsukoodi
lugemist vastab igale käsule oma haru. Haru valik toimub vastavalt
käsukoodi dekodeerimisel saadud infole selle järgi, missugune on
täitmisele minev
käsk . Mõnede käskude täitmisel on vaja
realiseerida mikroprogrammis ka hargnemisi, mis sõltuvad protsessori
mõne teise osa seisundist. Meil on
algoritm käsu täitmiseks, mis
määrab juhtsignaalide väljastamise järjekorra, mis riistvara
tasemel juhivad loogikaelemendid. Nüüd tuleb meil siduda
algoritmid ja digitaalloogika. Juhtautomaat on käsu täitmise
algoritmi riistvaraline
realisatsioon loogikaskeemina. Põhimõtteliselt on
juhtautomaadi realiseerimiseks 2 võimalust: jäiga loogikaga ja
mikroprogrammeeritav.
Jäiga
loogikaga juhtautomaat. Jäiga loogika korral realiseeritakse
algoritm loogikaskeemina kristalli pinnal ja iga muutus käsusüsteemis
tähendab uue loogikaskeemi sünteesi ning uue mikroskeemi valmimist.
Algoritmi realiseerimiseks loogiskeemina on vaja teada järgmisi
parameetreid:
X1 jne
sisendid ,
millest sõltub, kuidas läbitakse algoritmi. Algoritmi täitmisel
määravad tingimuslikud
sõlmed erinevate harude valiku.
Juhtautomaadis vastavad tingimustele sisendid, mis tulevad
protsessori teistest osadest.
Y1 jne väljundid,
mis aktiveerivad tegevusi protsessoris ja kogu süsteemis, käivitavad
mikrooperatsioone ehk elementaartegevusi arvutis.
A1 jne
olekud ,
ehk info, kus oleme algoritmi täitmisel. Olek kujutab endast
algoritmil märgitud punkti, mis näitab kus ollakse parasjagu.
Am=Fü(As,Xi)
üleminekute funktsioon,mis määrab millisesse olekusse As me
liigume, kui oleme olekus Am ja tuleb sisendväärtuste kombinatsioon
Xi. Üleminekute funktsioon määrab algoritmis märgitud punktide
vahel liikumise seaduspärasuse.
Yj = Fv(As,Xi)
väljundfunktsioon Mealy
automaadil määrab väljundväärtuste
kombinatsiooni funktsioonina olekust As ja sisendite väärtuste
kombinatsioonist Xi. Moore automaadil määratakse
väljundfunktsiooniga Y=Fv(As) väljundite väärtuste
kombinatsioon funktsioonina olekust As. Moore automaadil sõltub
väljund ainult olekust.
Mikroprogrammeeritav
juhtautomaat. Kui mikroprogrammi hoitakse püsimälus, siis saab
käsusüsteemis teha muudatusi ilma uut loogikaskeemi koostamata.
Kogu mikroprogrammi täitmine taandub sõnade lugemisele õiges
järjekorras mikroprogrammi sisaldavast püsimälust sõ. Käsuregistris oleva käsukoodi järgi valitakse
mikroprogrammi alguse aadress. Edasi valib aadressigeneraator
järgmise aadressi püsimälust loetud sõna mõnest väljast ja
vajadusel
hargnemiste puhul
arvestab ka tingimustega. Samuti
võimaldavad aadressigeneraatorid programmi täitmisel mõnel juhul
liikuda +1 operatsiooniga järgmisele aadressile. Üht osa
püsimälust loetud sõnast kasutatakse juhtsignaalide määramiseks.
RISC ja CISC protsessorid, mikroprogramm.
CISC .
Protsessoris on palju käske. Keerukas käsusüsteem realiseeriti
mikroprogrammide abil, mismoodustasid kihi käsusüsteemi käskude ja
otseselt riistvaras teostatavate tegevuste vahel. Leidub rida käske
mida ei ole otstarbekas ALUs realiseerida, CISC realiseerib need
mikroprogrammi abil.
RISC .
Protsessoris on vähe käske. Käsk tuleb täita ühe taktiga
otse riistvaras. Välditakse keerulisi käske. Vähe aadresseerimise
viise. Vähe käsuformaate, et kiirendada dekodeerimist. Maksimaalne
käikude täitmise kiirus. Ainult
lOAD ja
STORE meetodid pöörduvad
mälu poole. Võimas registermälu. Tõhus
andmevahetus alamprogramidega.
Konveier protsessoris ja mälus
Käsu täitmise
protsessoris võib jagada teatud sõltumatuteks etappideks. Näiteks
on käsk jagatud
neljaks etapiks: 1. Käsukoodi
laadimine ja
dekodeerimine IF 2. operandide laadimine OF 3. Operatsiooni täitmine
ALUs OE. 4. tulemuse
salvestamine OS
Eeldades, et iga
etapi täitmisel on hõivatud võrreldav hulk riistvara, siis igal
taktil on hõivatud vaid 25% protsessorist. Mõistlik oleks koormata
kogu protsessori riistvara maksimaalselt. Siin on üks käskude
täitmise efektiivsuse tõstmise võimalus, mille on siise
toonud RISC ideoloogia, nimelt koveier. Kui etapid oleksid sõltumatud ja
ligilähedaselt sama kestvusega, siis saaks peale esimese etapi
läbimist liikuda protsessor edasi teise käsu esimese etapi juurde
ning esimese käsu 2. etapi juurde. Sedasi on võimalik koormata kogu
protsessori riistvara ning tänu käskude paralleelusele ei täideta
käske kiiremini vaid keskmiselt ajaühikus rohkem.
Konveieri
kasutamine tõstab oluliselt protsessori tootlikkust juhul kui see
töötab järjest, ilma ,et konveierit oleks vaja peatada või uuesti
käivitada. Parimal juhul ainult, võtab
etappide läbimine ühepalju
aega. Konveieri tõhusust vähendavad siirdekäsud, operandide
laadimine mälust ja andmete ja käskude
sõltuvus .
Siirdekäsud: Konveier töötab
senikaua hästi kuni pole käske mis realiseerivad
programmis hargnemisi. Hargnemise korral tuleb programm uuesti
käivitada. Tuleb arvestada võimalusega, et programmi ilma
hargnemiseta teha ei saa, kuid mida vähem on vaja konveierit uuesti
käivitada seda kiirem on programmi täitmine.
Operandide
laadimine mälust: Mälu poole pöördumise aeg on tavaliselt
pikem kui teised käsu täitmise etapid ja tavaliselt ei ole selle
pikkus prognoositav, sest mälu kasutavad ka teised süsteemi
komponendid peale protsessori. Operandide laadimine mälust võib
tekitada ressurside konflikti, mis peatab konveieri töö.
Sellepärast on otstarbekas realiseerida konveieriga protsessoris
ainult selliseid käske, kus operandid on registermälus ja ka
tulemus
kirjutatakse sinna. RISC seosed.
Andmete
sõltuvus: Konveieriga protsessoris tekitab probleeme
teineteisele järgnevate käskude andmete sõltuvus. Kui teine käsk
kasutab esimeses käsus kasutatud registreid siis konveier peab
seisma ning ootama esimese käsu lõpule
viimist .
Siirete hargnemiste ennustamine. Strateegiad
Protsessorites
on tihti eraldi loogikaskeem mis tegeleb
hargnemiste
ennustamisega,
et muuta konveier mõjusamaks uuesti käivitamiste arvelt. Hargnemise
ennustamine toimub teatud statistiliste kriteeriumite järgi ja ei
saa anda alati õiget tulemust, kuid siiski suudab vähendada
konveieri uuesti käivitamise vajaduse tõenäosust. Hargnemine
tähendab seda, et järgmise käsu aadressi ei saada käsuloenduri
väärtuse suurendamisega ühe võrra, vaid käsuloendurisse laetakse
täiesti uus väärtus. Programmis võib hargnemine realiseeruda, kui
on siirdekäsk sest teised käsud käsuloenduri väärtust ei muuda.
3.
põhilist strateegiat:
Fikseeritud
hargnemiste ennustamine:Võetakse
eelduseks , et hargnemist kunagi ei toimu ja minnakse alati edasi
käsuloenduri väärtust ühe võrra suurendades.
Staatiline
hargnemiste ennustamine:
Varem
on tehtud käskude analüüs. Eri tüüpi käskude jaoks on vaja teha
erinev
ennustus . Ntks tingimusteta siirdekäskude juures eeldatakse
hargnemist, tingimuslike juures ei eeldata, tsükli käskude juures,
alamprogrammi poole pöördumise ning tagasipöördumise juures
eeldatakse hargnemist. Hinnanguline õige 82%.
Dünamiiline
hargnemiste ennustamine:Jälgitakse
pidevalt programmi täitmise
kulgu , Igas olekus 2
bitti . Vasakpoolne
näitab ennustust: 1- tuleb
siire 0-ei tule siiret. Parem näitab
eelmise siirde tulemust: 0 – ei tulnud siiret, 1-tuli siire. Sedasi
saab vale ennustuse teha kahel korral, mille järel muudetakse
ennustust. Hinnaguline 90%
Vahemälu ( Cache ) organiseerimine: otsevastavusega, assotsiatiivne ja kogumassotsiatiivne.
Pöördumine mälu
poole on protsessori töökiirusega võrreldes väga aeglane. Mälu
mis töötaks protsessesori taktsagedusel oleks vajaliku mahtude
juures liiga kallis.
Aeglase põhimälu poole pöördumine tekitab
olukorra, kus kiire protsessor peab ootama andmete ja käskude
saamist põhimälust. Lahenduseks on vahemälu, kus hoitakse
sagedamini kasutatavat osa programmist. Vahemälu on kiire kuid
väikesemahuline. Alati on võimalik vahemälus mõni osa
asendada teise
infoga põhimälust. Vahemälus asendatav info säilib alati
põhimälus ja seda saab sealt alati vajadusel laadida.
Vahemälu
organiseeimine:
Otsevastavusega vahemälu on üks lihtsamaid vahemälu organiseerimisviise.
Infot loetakse mälust plokkidena. Mälu on jagatud segmentideks,
millest igaüks sisaldab teatud hulga plokke. Otsevastavusega
vahemälus sisaldab aadress seega segmendi aadressi, ploki aadressi
ja sõna aadressi. Vahemälus on igal
plokil oma koht.
Plokk võib
kuuluda ükskõik millisesse
segmenti . Selleks, et kindlaks määrata
segment on segmendi juures number. Vajalikust segmendist vajaliku
ploki olemasolu kontroll on otsevastavusega vahemälus väga lihtne.
Ploki koht on fikseeritud ja seal võrreldakse segmendi numbrit. Kokkulangemise korral otsitakse sõna aadressi järgi plokist üles
vajalik sõna. Adresseerimine on lihtne ja ka suhteliselt odav aga
probleeme tekib tsüklitega. Tsüklite puhul võib tekkida vajadus
pöörduda suurel hulgal kordadel põhimälu poole, mis vähendab
vahemälu mõjusust.
Assotsiatiiivne
vahemälu ei ole jagatud segmentideks. Aadress koosneb kahest
osast, ploki aadress ja sõna aadress. Assotsiatiivse vahemälu puhul
võib vahemälus olla ükskõik milline plokk põhimälust.
Plokid ei
ole järjestatud, nii nagu otsevastavuses. Kui protsessor pöördub
mõne ploki poole siis pole teada, kas ta on vahemälus ja kui on
siis kus ta asub. Assotsiatiivmälu on selline mälu, kus pöördumine
sõna poole ei toimu aadressi järgi vaid sõna ühe osa sisu järgi.
Soovitakse leida sõna teis osa või aadressi. Sõna sisu järgi
otsimine toimub väga kiiresti sest sõnu otsitakse läbi
paralleelselt. Sel juhul on protsessori aadressist teada, millise
ploki poole protsessor pöördub ja kontrollitakse kas kuskil
vahemälus on selline aadress. Kui on siis saadakse juba vajalik
sõna. Kui ei siis pöördudakse põhimälu poole. Põhimälu poole
pöördumisi on vähe, kuid assotsiatiivmälu on väga kallis. Ploki
asendamisel kasutatakse kontrollerit, kasutusel on erinevad
strateegiad. Kõige vähem, harvem, kõige kauem olnud, juhuslik,
rotatsioon .
Kogumassotsiatiivne
vahemälu on kompromiss kahe eelneva vahel. Kogumassotsiatiivne
vahemälu ei ole midagi muud kui hulk paralleelselt töötavaid
otsevastavustega vahemälusid. Näiteks kahe kanaliga(two-way) km
vahemälus on nullindatele plokkidele kaks kohta eri segmentides ja
esimestele plokkidele sammuti 2 kohta eri segmentides. Selline on
levinum vahemälu organiseerimise viis. Tihti kasutatakse ka 4
kanaliga või 6 kanaliga km vahemälusid.
Mälud :
Arvuti mälu
klassifikatsioon haarab kõiki arvutis kasutatavaid mälutüüpe.
Mälud võib jagada suvapöördusmäludeks ja jadapöördusmäludeks.
Suvapöördusmälud (RAM) on sellised mälud, kus suvalise sõna
poole pöördumine võtab sama ühesuguse aja sõltumata tema
asukohast mälus. Jadapöördusmäludes(SAM) sõltub sõna poole
pöördumise aeg selle asukohast mälus. RAM jaguneb valmistamise
tehnoloogia järgi omakorda pooljuhtmäludeks ja magnetmäludeks.
Magneetilised RAM-i mälud on oma tähtsuse kaotanud, kuid kunagi
kasutati just ferriitrõngastest koostatud kuupe arvuti põhimäludena.
Pooljuhtmälud on valmistatud pooljuhtidest, kasutades mikroskeemide
valmistamise tehnoloogiat. Need jagunevad säilivateks ja mitte
säilivateks. Mittesäilivatest mäludest kaob info kui
toide on
välja lülitatud. SAMi mälud jagunevad magnetilisteks ja
optilisteks. Eri sõnade poole pöördumise aja erinevuse põhjuseks
on vajadus positsioneeride lugemise/kirjutamise päid. Osa neist on
tänaseks tähtsuse kaotanud.
Andmeliinide arv
määrab tavaliselt sõna järgulisuse mälus. Ühe pöördumisega
saab lugeda/kirjutada sõna, mille järgulisus langeb kokku
andmeliinide järgulisusega. Oluline probleem on seotud mälu sõnade
arvuga mälus. Kogu aadressiliinine abil adresseeritavat mälu mahtu
on tehnoloogiliselt võimatu valmistada ühe mäluplokina. Seega
tuleb koostada mälu mitmest mäluplokist. See annab võimaluse ka
kasutada väiksemat mälumahtu, millile võib vastavalt vajadusele
mälu lisada. Mäluplokkide valikuks on kasutatud vanemat
aadressijärki a10. 1k mahuga plokidel kasutatakse 10
nooremat aadressijärku sõnade valikuks. Kui a10 = 0 siis tema
eitus on 1 ja järelikult on aktiivne ka CS1.
Niikaua kui a10 on 0 vastab
kõigile
kirjutamis /lugemis signaalidele mäluplokk 1. Mälujaotuselt
on näha, et kõik
aadressid 000 kuni 3FF on mäluplkois 1. Kui
aadressi vanim järk a10 = 1 siis vastab mäluplokk 2. 400 – 7FF
asuvad mäluplkois 2. Mälu koosneb füüsiliselt kahest mäluplokist
aga
tarkvara jaoks on tegemist ühe tervikliku mäluga. 4 mäluplokiga
on vaja 2 aadressi lisajärku ning dekodeerimisel saadakse mäluploki
signaal .
Vaheldamine:
Vaheldamata mäludes paiknevad järjestikuste aadressidega
pesad samas mäluplokis. Suuremate mälude saamiseks lisatakse mäluplokke,
aga järjestikuste aadressidega pesad jäävad endiselt ühe
mäluploki sisse. Puuduseks on, et
samast mäluplokist saab sõna
hakata lugema alles siis kui eelneva sõna lugemine on lõpetatud.
Ühes mäluplokis olevate sõnade dekodeerimiseks kasutatakse sama
dekoodrit. Mäluplokk a4a3 sõna a2a1a0
Vaheldatud mälus
paiknevad järjestikuste aadressidega sõnad eri mäluplokkides. See
tähendab, et samaaegselt saab pöörduda nii mitme sõna poole, kui
on mäluplokke. Eri mäluplokkides on sõltumatu
adresseerimise ja
lugemise/kirjutamise riistvara. Vaheldatud mälu võimaldab käivitada
konveieri analoogiliselt
protsessoriga . Konveieri eelduseks on see,
et eri etapid oleksid sõltumatud ja neid saaks teostada samaaegselt.
Vaheldatud mälus on need eeldused loodud.Vaheldatud mälust saab
lugeda mitu sõna samaaegselt ja kui loetaks järgmisi sõnu,
edastatakse MDR registritest igal taktil üks varem loetud sõna. Sõna a4a3a2 mäluplokk a1a0.
Magneetiline
infosalvestus põhineb magnetmaterjali magnetiseerimises ühes või
teises suunas. Õhukese magnetmaterjaliga kaetakse mittemagneetuv
alus . 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
orientatsiooni.
Kirjutamiseks
kasutatakse lugemis/kirjutamispead, mis on magnetmaterjalist ja mille
peal on
mähis . Magnetmaterjaliga kaetud alus liigub
lugemis/kirjutamispea lähedal. Juhtides mähisesse voolu ühes või
teises suunas, tekib vastavasuunaline magnetväli ka l/kpea sees.
Magnetjõujooned kaarduvad materjalist välja sinna tehtud pilt
tõttu, mis aga omakorda on magnetmaterjali lähedal. Muutes l/kpeas
kirjutamisel voolu suunda saame magnetmaterjali eri piirkondi
magneetida
erinevas suunas.
Lugemisel ei ole
võimlik kindlaks teha, millises suunas on üks või teine piirkond
magnetiseeritud. Peas ei indutseerita midagi, kui pea on ühes või
teises suunas magnetiseeritud, sest siis ei ole muutuvat magnetvälja.
Lugemisel indutseerib mähises pinge impulsse ainult magnetvälja
muutus. Vool indutseeritakse selles kohas, kus toimub üleminek
magneetimise
ühelt suunalt teisele ja suund sõltub sellest,
millises suunas on magnetvälja üleminek. Seega peab salvestamisel
info olema kodeeritud üleminekute kaudu. Selleks leidub erinevaid
meetodeid .
Kõvaketas
(HDD) kujutab endast paketti pöörlevaid kettaid, mis on jäigast
mittemagneetuvast
alusest ja ka kaetud väga õhukese magnetmaterjali
kihiga . Iga
ketta pinna jaoks on oma lug/kir pea. Kõik pead
positsioneeritakse koos vastavate ketaste pindadel olevate
radade kohale. Kasutatakse tagasisidega süsteemi, kus teatud ketta pinnal
oleva spetsiaalse servoinfo järgi häälestatakse pead maksimaalse
signaali järgi. Ketaste pindadel kohakuti olevad
rajad moodustavad
läbi kogu
paketi silindri. Rajad jagunevad omakorda sektoriteks.
Ketta pind peab olema väga sile, sest pead liiguvad ketta pinnale
väga lähedal. Kui pead puudutavad
ketast on õhuke magnetmaterjal
rikutud ja selvestunud info läinud.
CD-ROM.
Cd-romi läbimõõt on
12cm . Cd
kihid alt üles:
polükarbonaatkiht, mis
laseb valgust läbi ja moodustab plaadi
aluse, valgustpeegeldav kiht(
alumiinium ,
kuld ), kaitsekiht mis on
suht õhtuke ning
markeering . Info kantakse plaadi pinnale radadena,
mille
vahekaugus on 1,6m
ja mis on 30 väikesemad juuksekarva läbimõõdust. Kokku on 20000
rada kogupikkusega 7km. Kui kõvakettal paiknesid rajad
kontsentriliste ringidena siis siin on üks pikk spiraal, mis
erinevalt vinüülplaadist algab keskilt. Info salvestatakse
süvendite ja põhipinna abil.
Lugemisel
kasutatakse valgusallikana laserit, millest saadakse monokroomne
valgus. Optilise süsteemi abil juhitakse valgus läbi plaadi aluse
valgustpeegeldavale
kihile . Kui kiir langeb põhipinnale või süvendi
põhja, peegeldub see tagasi ja juhitakse detektorile. Kui laseri
kiir langeb põhipinna ja süvendi üleminekule, läbib osa valgust
250nm pikema tee, mis on pool valguse lainepikkusest. Seega
põhipinnalt peegeldunud valgus ja süvendist peegeldunud valgus on
vastasfaasides ning summutavad teineteist (detektorisse jõuab 10%
valgusest). Seda üleminekut loetakse väärtuseks 1. Kuna 2
üleminekut ei saa olla kõrvuti, kasutatakse EFM kodeerimisviisi
(
eight to
fourteen modulation). Neljateistkümnest bitist
piisab et
moodusta 256 sellist koodi kus kahe ühe vahel on alati vähemalt 2
nulli. Selleks et ühe koodi viimase ja teise koodi esimese ühe
vahele
jääks vähemalt 2 nulli, pannakse nende vahele 3 nulli.
CD-R ehk
ühekordselt kirjutatav optiline
ketas sarnaneb ehituselt CD_ROMile,
kuid aluse ja metallikihi vahel on valgustundlikust orgaanilisest
materjalist andmekiht. Alusele on pressitud pidev spiraalvage, mille
järgi kirjutav seade hiljem kirjutuslaserit
positsioneerib(kirjutamiseks kasutatakse intensiivset laserkiirt).
Kirjutamisel tekitatakse valgust mittepeegeldavaid alasid, mis ei ole
süvendid vaid materjali kerge sulatamisega mittepeegeldavaks
muudetud piirkonnad, mis laseri poolt ära tuntakse.
CD-RW ehk
ümberkirjutatava optilise ketta andmekihi pind koosneb erilistest
keemilistest komponentidest, mis võivad olenevalt temperatuurist oma
olekut korduvalt muuta ja säilitada.
Laserikiire abil kuumutatakse
materjal teatud temperatuuriini ja seejärel jahutatakse, aine
kristalliseerub. Kui kuumutame teise temperatuurini ja jahutame võtab
aine mittekristalliseerunud oleku. Kui aine on kristalliseerunud
peegeldab ta rohkem valgust. Seega peab korduvkirjutamisel kasutama
kahte erinevat laserikiire võimsust.
Erineva pöördus viisiga mälud :FILO, FIFO, assotsiatiivmälu, kahe pordiga mälu. ||||||||||| Pinumälu (stack) realiseerimine ja kasutamine protsessoris.
Pinumälu
( FILO ) on mälu, kus viimasena loetakse välja esimesena
salvestatud sõna (FilO
First In Last Out). Seejuures hoitakse alles
pinumälu osutit ehk viimasena salvestatud sõna aadressi (Top Of
Stack TOS). Varem salvestatud sõnu saab lugeda siis, kui hiljem
salvestatud sõnad on juba loetud. Pinumälu juures loetakse
kirjutamist
Push -operatsiooniks ja lugemist Pop-operatsiooniks.
Pinumälu realiseeritakse arvutites tavaliselt põhimälus, kus
selleks on eraldatud teatud piirkonnad. TOS-i aadress säilitatakse
protsessoris spetsiaalses registris (StackPointer SP).
Puhvermälu
( FIFO ) on mälu, kust esimesena loetakse välja esimesena
salvestatud sõna (First In First Out). Tegemist on puhvermäluga,
mida kasutatakse erineva kiirusega töötavate süsteemi komponentide
vahel. Ühelt pool kirjutab üks seade infopaketi oma kiirusega sisse
ja
teiselt poolt loeb teine seade paketi oma kiirusega samas
järjekorras välja.
Kahe pordiga mälu võimaldab sama aegselt lugeda ja kirjutada. Samaaegne
kirjutamine ja lugemine eeldab, et adresseerimine, kirjutamise ja
lugemise juhtimise loogika ja andmeedastuse kanalid lugemiseks ning
kirjutamiseks peavad olema sõltumatud. Lugemise ja kirjutamise
sõltumatus tõstab mälu hinda (more kristallipind). Võib kohata ka
kolme pordiga, kust saab kahest allikast korraga kirjutada ning ühest
infot lugeda.
Assotsiatiivmälu.
Tavalises mälus määratakse aadress, mis
viitab mingile mälu
pesale, mille poole toimub pöördumine. Assotsiatiivmäludes aga ei
osutata
aadressiga mälu sõnale vaid otsitakse sõna ühe osa järgi
ülejäänud
sõnaosa või aadressi, kus see sõna asub. Otsimine
toimub paralleelselt ja otse riistvaras. See teeb aga
assotsiatiivmälu väga kalliks, sest igale bitile lisandub kümneid
transistore. Üldjuhul võib kokkulangevus olla mitmes sõnas, mille
vahel teeb valiku loogika. Vahemälus saab olla kokkulangevus
otsitava sõnaga ainult ühes sõnas, sest iga plokk saab olla vaid
ühes kohas vahemälus.
Riistvara tegevus alamprogrammide poole pöördumisel.
Alamprogrammi
poole pöördumine ja siis tagasipöörde
aadresside salvestamine
on üks pinumälu rakendusi. Kui toimub alamprogrammi poole
pöördumine, siis käsuloenduri sisu salvestatakse pinumälusse, ja
kuna käsuloendur näitab alati järgmisena täitmisele tuleva käsu
aadressi, on ka see tagasipöörde aadressiks. Kui nüüd
alamprogramm pöördub veel alamprograami poole kirjutatakse ka see
pinumälusse. Tagasipöördumisel võetakse pinumälust järjest
tagasipöörde aadresse, kui programmi täitmine jõuab uuesti
põhiprogrammi juurde.
Kui põhiprogramm
jõuab alamprogrammi poole pöördumise käsu täitmisele (
Call AP1),
sisaldab käsuloendur järgmise käsuaadressi(PC1). Call-käsk
täitmise etapid: Käsuloenduri sisu salvestatakse pinumälusse.
Push-operatsiooni ajal vähendatakse pinumälu osutit SP ühe võrra
sõnale xxx ja pärast vähendamist sisaldab see esimese vaba pesa
aadressi. Pinumälusse kirjutatakse PC1 väärtus. Käsuloendurisse
laetakse alamprogrammi AP1 algusaadress. Tavaliselt on see aaadress
Call käsu käsukoodi juures. Kui AP1 jõuab käsu täitmisele, on
käsuloenduris selle käsule järgneva käsu PC2 aadress. Call-käsu
täitmisel salvestatakse pinumällu PC2 väärtus ja Call-käsu
juurest laetakse käsuloendurisse PC Ap2 alguse aadress. Kui AP2
jõuab tagasipöörde käsu Ret juurde, loetakse pinumälust (POP)
PC2 väärtus ja salvestatakse käsuloendurisse. Seega pöördutakse
tagasi AP1 programmi ja Ap2 käsule järgneva käsu juurde. POP
operatsiooni ajal suurendati pinumälu osuti SP väärtust ühe võrra
ja see viitab nüüd
viimaseks kirjeks olevale PC1-le. Ja sama
protsess uuesti.
Osa protsessoreid
salvestab koos käsuloenduri väärtusega ka PSW(
Program Status Word), mis sisaldab lippude registri ja akumulaatori sisu, et
alamprogramm nende sisu ei muudaks. Ülejäänud
registrite päästmine
jääb
programmeerija hooleks.
Sõltumatute
ketaste liiasmassiv ( Reduntant Array of Independent Disks, RAID).
Arvuti tunneb ketaste massiivi sammuti ühe suure kettana. Raidi
arendamiseks on 3 põhjust. Liiasus tõstab oluliselt süsteemi
töökindlust, paralleelne pöördumine sõltumatute ketaste poole
tõstab töökiirust, ühe suure ketta hind on kõrgem kui väikeste
ketaste
massiiv . Kui info salvestamiseks kasutada mitut ketast,
langeb kohe veakindlus, sest ühe ketta
rike rikub salvestatava
informatsiooni. Töökindluse parandamiseks kasutatakse liiasust.
Liiasuse korral on vea korral võimalik viga parandada või minnna
üle teise ketta kasutamisele.
RAID kettaid realiseeritakse
nii riistvaraliselt kui ka tarkvaraliselt.
Raid
kettad jagatakse tasemeteks:
Tase 0 (level
0) puhul on tegemist ilma liiasuseta ketaste massiiviga, mis on
raidi tasemetest kõige odavam. Kiirus suureneb kui veakindlus mitte.
Ühe ketta rike tähendab info kadumist. Kasutatakse superarvutites
kus oluline kiirus ja mälumaht.
Tase 1.
Liiasusega ketta puhul kasutatakse peegeldamist, mille korral
dubleeritakse identne info
mitmele kettale. Kogu infost on olemas
koopia teisel kettal. Tegemist on väga kiire massiiviga kuna, kus
lugemise kiirus on suurem kui ühe ketta puhul. Ühe ketta rikke
korral saab tööd jätkata, sest infost on koopia. Kasutatakse tihti
andmebaasides.
Tase 2. Andmed
jaotatakse ketaste vahel bittidena. Iga bitirea jaoks kasutatakse
Hammingi veaparanduskoodi(ECC). Ühele või mitmele kettale
salvestatakse veaparanduskoodi lisajärgud. Veaparanduskoodi
kasutamisega püütakse vähendada ketaste massiivi hinda võrreldes
taseme 1 info dubleerimisega. Kui tekib viga ühelt kettalt
lugemisega siis saab seda parandada.
Tase 3
Andmed jagatakse baitidena ketaste vahel ja ühte ketast kasutatakse
paarsuskontrolli info salvestamiseks.
Tase 4 Info
salvestatakse plokkidena eri ketastele.Kõik kettad on sõltumatud ja
nende poole
saaab pöörduda samaaegselt, mis võimaldab tõsta
pöördumise kiirust, kuid kõikide plokkide paarsusinfo on
salvestatud eraldi ühele kettale. Probleemiks on pidev pöördumine
paarsusketta poole, mis võib hakata kiirust piirama.
Tase 5. Info
kirjutatakse plokkidena ja kasutatakse paarsuskontrolli aga nüüd on
paarsusinfo jaotatud ketaste vahel. Kaob vajadus pidevalt ühe ketta
poole pöörduda.
Tase 6 Infot
jagatakse ketaste vahel plokkidena ja kontrollkood kirjutatakse
mitmele kettale, kasutades Reed-Solomoni koodi. Keerukama kodeerimise
tulemusena võib tööd jätkata pärast kahe kettaseadme purunemist.
Pooljuhtketas SSD. Kõvaketta kõrvale on juba
ammu püütud luua
pooljuhttehnoloogias valmistatud välismälu. Tehnoloogia arenedes on
sellised kettad muutunud kättesaadavaks. Praegu kasutatakse
SSD-mälude valmistamiseks tavaliselt
välkmälu (
flash )
tehnoloogiat. SSD mälu tunneb arvuti kõvakettana, sest nad
kasutavad sama liidest. Tegemist oleks nagu suure mälupulgaga, mis
on ehitatud arvuti sisse.
Eelised:
Pöördumisaeg on 100 väiksem, sest ei ole vaja positsioneerida
päid. Lugmise/kirjutamise aeg on 3 korda kiirem. Puudub
müra sest
pole liikuvaid osi. Vastupidavus löökidele hinnanguliselt 8 korda
parem.
Energiatarve oluliselt väiksem. Vibratsiooni ei ole.
Töökindlam, keskmine tõrkevaba aeg 3 korda pikem. Magnetväli ei
mõjuta välkmälu. Soojust eraldub vähem. Väiksem kaal.
Puudused: Kallim,
gigabaidi hind on üle 10 korra suurem,. Maksimaalne mälumaht on
väiksem, kantavates arvutites kuni 256GB aga kõvakettal kuni 1Tb.
Käsustik:
Käsuformaadid - 0, 1, 2, 3 ja 1,5 aadressiga arvutid.
Kõikides
käskudes on alati käsukood, mis määrab tegevuse, mida tuleb teha.
Lisaks võib sisalduda info operandide leidmise ning tulemuse
salvestamise kohta. Operandi ja tulemuse asukoha leidmiseks on rida
eri meetodeid mida nimetatakse adresseerimisviisideks. Käskude
pikkus on oluline mälu kasutamise effektiivsuse jaoks.
3
aadressiga arvuti
– Käsu juurde kuulub 3 pikka aadressi.
käsukood
+ I operandi pikk aadress + II o. pikk aadress + tulemuse asokoha
pikk aadress:
add
A1 A2 A3: A2 + A3 -> A1
2
aadressiga arvuti
– Käsu juurde kuulub 2 pikka aadressi.
Tulemus
salvestatakse tavaliselt ühe operandi kohale
kk +
I operandi pikk aadress (resultaat läheb sinna) + II operandi pikk
aadress
add
A1 A1 A2: A1 + A2 -> A1
1,5
aadressiga arvuti
– kk + I operandi pikk aadress + 2. operandi ja hiljem resultaadi
lühike aadress (registriaadress) (asub registris)
1
aadressiga arvuti
– Käsukoodiga kaasas ainult 1 pikk aadress, mis näitab mälupesale
kus üks operand või tulemus. kk + I operandi aadress
Kui
on tegemist kahe operandi käsuga siis, siis tavaliselt asub teine
operand ühes kindlalt fikseeritud registermälu registris
(akumulaator Ac) ja sinna paigutatakse ka tulemus.
Add
Ac Ac A1: Ac + A1 ->Ac
0
aadressiga arvuti –
adresse käsukoodiga kaasa ei kuulu. Tegemist on pinumälul põhineva
arvutiga. Alati võetakse operandid pinumälu pealt ning sinna
kirjutatakse ka tulemus.
Vahetu
adresseerimine: Käsukoodi
juurde kuulub kohe operand. Käsukoodiga ei ole kaasas mitte operandi
aadress vaid operand ise. Tähendab, programmi on kirjutatud konstant
ja masinkoodi transleerituna on see käsukoodi juures.
Otsene
adresseerimine: Käsukoodiga
tuleb kaasa operandi aadress.
Programmis
on otseselt määratud operandi asukoht mälus. Operandi väärtus
võib muutuda aga aadress jjääb samaks.
Kaudne
adresseerimine: Käsuga
antakse kaasa aadressi aadress ehk kaasa antav aadress näitab
operandi aadressi asukoha mälus.
AutoDEkrementne
adresseerimine: on
seotud pinumällu kirjutamiseg(PUSH)
Alguses
vähendatakse pinumälu osuti väärtust, et see näitaks esimesele
vabale pesale pinumälu piirkonnas ja siis kirjutatakse operand
mällu. Pinumälu osutis säilib viimasena kirjutatud sõna aadress.
AutoINkrementne
adresseerimine: on
seotud pinumälust lugemisega(POP). Alguses loetakse sõna, millele
osutab pinumälu osuti ja siis suurendadakse osutit nii, et see
näitaks järgmisele sõnale pinumälu piirkonnas.
Baseerimisega
adresseerimine:
Arvutatakse aadress summana baasregistri väärtustest ja nihkest mis
antakse koos käsukoodiga. Baasregistris on pikk mäluaadress aga
nihe(index) võib olla lühem. See võimaldab teatud elemendile
andmestruktuurist juurdepääsu andmebaasi alguse suhtes.
Baas osutab tavaliselt andmestruktuuri algusele
ja indexiga valitakse teatud kirje.
Indekseerimisega
adresseerimine: Aadress leiakse
summana käsukoodiga koosolevast baasaadressist ja kuskil registris
säilitavast indexist. Käsukoodiga kaasas olev aadress on pikk
aadress.
Baseerimisega
ja indekseerimisega adresseerimine: Aadress
leitakse kahe registri väärtuste summeerimisel. Üks registritest
on baasaadress ja teine on index. Juurde võidakse liita ka veel
nihe.
Suhteline
adresseerimine: Käsukoodiga antakse
kaasa märgiga nihe, mis liidetakse käsuloenduri väärtusele. See
võimaldab programmis ntks liikuda nihke võrra edasi v tagasi.
Selline adresseerimine võimaldab programmi mälus laadida suvalisse
kohta, sest siirdeid tehakse
mainitud aadressi suhtes.
Virtuaalmälu (lehekülgedeks jagamine, segmenteerimine).
Virtuaalmälu .
Tihti tekib olukord, kus
programmid nõuavad rohkem mälu, kui
aruvti riistvara seda võimaldab. Programmi täitmise ajal peab
programm (käsud ja andmed) olema põhimälus. Välismälumaht on
alati suurem kui põhimälu ning varem jagati programm üksteisest
sõltumatuteks
osadeks , mida vajaduse järgi mällu loeti. See tegi
programmi kirjutamise ja täitmise raskemaks, sest kogu
mehhanism oli
programmeerijale nähtav. Virtuualmälu mehhanism teeb seda kõike
automaatselt riistvaras ja tegevus pole programmeerijale nähtav.
Virtuaalmälu korral seotakse oluliselt suurem virtuaalse mälu ruum
väiksema füüsilise põhimälu ruumiga.
Lehekülgedeks
jagamist kasutatakse virtuaalmälude juures, kus mälu jagatakse
fikseeritud suurusega lehekülgedeks. Virtuaalmälude juures
lahutatakse teineteisest programmis kasutatavad loogilised aadressid
ehk virtuaalaadressid füüsilistest aadressidest, millega viidatakse
tegelikult sõnadele põhimälus. Programmi täitmise ajal
teisendatakse virtuaalsed aadressid füüsilisteks aadressideks,
virtuaalse lehekülje number transleeritakse füüsiliseks lehekülje
numbirks ja koos nihkega moodustavad nad lehekülje füüsilise aadressi.
Virtuaalne mälu võimaldab suurendad aadressi järkude
arvu, mida tarkvara kasutab ehk virtuaalmahtu. Samas laetakse
põhimällu aeglasemast välismälust infot lehekülgede kaupa.
Transleerimiseks kasutatakse tabelit. Aadresside
teisendamine tehakse
mälu juhitmise
plokis (
Memory Management Unit MMU), mis võib olla
realiseeritud ka riistvaras. Kui põhimälus pole vastavat lehekülge,
laetakse see välismälust põhimällu. Analoogiliselt vahemäluga,
asendakse lehekülgi kui selleks on vajadus. Oluliselt erinevad
plokkide ja lehekülgede suurused, vahemälu plokid on oluliselt
väiksemad, sammuti on vahemälu kiirem, sest juhtimine toimub
riistvaras. Vahemälus toimub plokkide asendamine riistvaras,
virtuaalmälus teeb seda tavalist tarkvara.Virtuaalmälude korral ei
kirjutada otse välismällu, see on liiga aeglane. Lehekülje
asendamisel kirjutatakse muutused välismällu. Tavaliselt
asendatakse vähim kasutuses olnud lehekülg.
Segmenteerimine .
Virtuaalne aadressiruum jagatakse segmentideks. Segmenteerimine
toimub tarkvaraliselt aga tuleb arvestada riistvaraliste
kitsendustega. Segmentide suurused on erinevad ning segment laetakse
vabasse kohta, kus on piisavalt ruumi. Kuna segmendi pikkus ei ole
fikseeritud kasutatakse teistsugust aadressi transleerimise meetodit.
Tabelist võetakse
täispikk segmendi aadress ja talle liidatakse
juurde nihe segmendi sees, et saada
korrektne füüsiline aadress.
Tabelis on peale segmendi alguse aadressi igas reas veel täiendavaid
op.süsteemile vajalikke parameetreid. Kui protsessor pöördub
segmendi poole, mida ei ole põhimälus, siis MMU genereerib op.
süsteemile
katkestuse . Opsüsteet otsib vaba ruumi ja laeb vastava
segmedi põhimällu. Segmenteerimisel toimuvad protsessid on
keerulisemad , ning võtavad rohkem aega. Eri protsessidele
eraldatakse erinevad
segmendid ja see annab täiendavaid võimalusi
sõltuvalt segmendi sisust. Ntks võib programmi kood kaitsta
segmenti kirjutamise eest.
Segmenteerimine
lehekülgedeks jagamisega tähendab, et virtuaalne aadress
jaguneb segmendi numbriks, leheküljenumbriks ja nihkeks.
Segmenteerimisel on
mõningaid eeliseid lehekülgedeks jaotamise ees.
Näiteks saab muutuva suurusega segmentide juures paindlikult lisada
kaitset. Segmendi number on indeks segmendi tabelis, mis osutab
lehekülgede tabeli baasaadressile. Seega vastab igale segmendile oma
lehekülgede tabel ja segment on jagatud mitmeks leheküljeks.
Mikroarvuti
andmebahetus:
Andmeedastus protokollid : sünkroonne, asünkroonne jne.
Sünkroonne
siin Kõik tegevused on seotud sünkrosignaaliga. Kõik tegevused
on seotud esi või tagafrondiga. Näiteks kolme taktiga mälust
lugemine. Esimese
takti alguses paneb protsessor aadressisiinile
aadressi. Tagafrondi ajal väljastab protsessor mälust lugemise
signaali. Teise takti tagafrondi ajal väljastab mälu aadressile
vastava sõna andmesiinile ja samal aja
teatab signaaliga
Ready andmete valmisolekust. Kolmanda takti esifrondi ajal loeb protsessor
andmeb andmesiiinilt. Tagafrondi ajal lõpetab mälu andmesiinil
andmete väljastamine, samuti signaali ready. Protsessor lõpetab
aadressi väljastamise ja võtab mälust lugemise signaali ära. Protsessori andmeedastuse kiirus ei ole alati vastuvõetav süsteemi
aeglasematele komponentidele. Näiteks mälust lugemisel võib
aeglasem mälu vajada edastamiseks lisaaega. Kui õigeks ajaks ei ole
valmisolekusignaale Ready siis genereeritakse vahele ootetakt. Neid
genereeritakse kuni mälust sõna saabumiseni.
Ploki edastus.
Alati ei ole kasulik edastada ainult üksikuid sõnu vaid
edastada plokk korraga. Ntks vahemälu laadimisel. Tavaliselt
koosnevad plokid oluliselt
suuremates hulgast sõnadest. Esimese
takti ajal algab siinitsükkel aadressi ja mälust lugemise signaali
edastamisega protsessori poolt. Teist takti korratakse mitu korda ja
igakord edastatakse üks sõna. Protsessor paneb aadressisiinile
ainult ploki algusaadressi ning ülejäänud aadressid genereeritakse
juba mälu poolt. Edastatavad plokis olevate sõnade arv võib olla
fikseeritud siini protokooliga või edastab protsessor siinitsükli
alguses andmeliine kasutades ploki pikkuse.
Asünkroonne
siin. Taktsignaali pole otseselt näha,
kooskõlastamine toimub
täiendavate signaalide (MSYN, SSYN) vahetamise abil. Siinitsüklit
juhtiv
komponent (master) paneb aadressisiinile aadressi ja väljastab
signaali mälust lugemise kohta. Ajahetkel 1 teatab protsessor
signaaliga MSYN algavast siinitsüklist. Mälu paneb nüüd sõna,
millele aadress viitab, andmesiinile ja hetkel 2 teatab valmisolekust
SSYN. Hetkel 3 võtab protsessor maha aadressi, lugemise ja MSYN
signaali, mis näitab et protsessor
luges andmed ning lõpetab
siinitsükli. Peale seda, hetkel 4, võtab mälu andmesiinilt maha
andmed ja signaaly SSYN ning siinitsükkel lõppeb. Ajastus on async
siinil paindlikum. Pole vaja oodata uut sünkrosignaali ning
taktsagedus pidi
sobima kõigi
komponentidega . Sünkroonset on samas
lihtsam realiseerida.
Riistvara tegevus katkestuste (Intrrupt) täitmisel arvutis.
Protsessor
lõpetab poolelioleva käsu. Kui katkestust nõudev signaal, mis
teatab mõne seadme soovist andmeid vahetada tuleb käsu täitmise
ajal, fikseeritakse see trigeris ja jätkatakse sama käsu täitmist.
Mikroprogrammi täitmist ei saa tavaliselt katkestada. Kui käsk on
lõpetatud kontrollitakse
trigeri seisu. Kui on tulnud signaal
katkestusteks ja
katkestused on lubatud, hakatakse vastavat
katkestust teenindavat alamprogrammi täitma.
Analoogiliselt
alamprogrammipooole pöördumisega, salvestatakse pinumällu
tagasipöörde aadress. Sellepärast peabki PC sisaldama järgmise
käsu aadressi. Osa protsessoreid salvestab ka akumulaatori ja
lippude registri sisu. Põhjus sama ehk
teenindav programm rikub
muidu nende sisu ja tagasipöördel ei ole võimalik pöördumisele
eelnevat olukorda taastada. Kui programm muudab ka teiste registrite
sisu, peab programmeerija juba enne salvestama nende sisu mõnda
mälupiirkonda ning programme lõpus taastama eelnema oleku.
Käsuloendurisse
loetakse uus väärtus (teenindava alamprogrammi algusaadress).
Juhtimine läheb katkestust teenindava programmi kätte.
Pärast
katkestust täitva programmi lõppu taastatakse pinumälust PC sisu
ja PSW abil akumulaatori ja lippude registri sisu. See toimub
riistvaraliselt. Algne olukord on taastatud ja programm jätkav tööd.
Andmeedastus arvutis (järjestikandmeedastus, paralleelandmeedastus, veakindlad koodid).
Liidesel on alati
kaks poolt: protsessori pool ja SV seadme pool. Protsessori pool peab
täitma siini protokolli selle järgi, millise siini külge on ta
ühendatud. Svseadme poolel võib andmevahetus toimuda kas
paralleelselt või järjestikuliselt olenevalt kasutatavast
andmeedastuse ressursist ja nõudmistest info liikumiskiirusele.
JärjestikAndmeedastus.
Selle korral piisab ühest liinist andmete edastamiseks, juurde
kuulub veel ka
nullnivoo (GND). Samas kulub iga biti edastamiseks üks
takt ja näites toodud 8 biti edastamiseks ka vastavalt 8 takti.
Asünkrronne
järjestik.
Saatja ja
vastuvõtja taktgeneraatorite
sagedused ei pea
olema sünkroniseeritud. Andmeid edastataks sümboli kaupa ja nende
vahel ei ole kindlat ajavahemikku. Kokku tuleb leppida, sümboli
pikkuses , biti edastamiseks kuluvas ajas, ooteolek, stardibiti ja
stoppbittide väärtused. Sobib aeglaste sv seadete jaoks, kus
sümbolid tulevad pikkade vaheaegadega, ntks
klaviatuur .
SünkrooneJärjestik.
Taktgeneraatori sagedused peavad olema sünkroniseeritud. Selleks
kasutatakse spetsiaalset riistvara. See on tõhusam aga ka kallim.
Kuna pole vaja start ja stop bitte siis on kiiremad. Ntks USB ja
FireWire, kasutavaad sünkrot.
Paralleelandmeedastus.
Selle korral on vaja 8 biti edastamiseks 8 liini ja ka
nullinuvood, kuid aega kulub ainult 1 takt. Kasutatakse mõlemaid
seadmeid sõlutvalt selles, millise
seadmega andmeid vahetakse.
Paraleelandmeedastuse korral on pikkades liinides võimalikud
moonutused ja kõik bitid ei jõua kohale sünkrosignaali ajal.
Järjestik on odavam ja selliseid probleeme ei teki.
Tavaliselt toimub
süsteemkomponentide sees
andmeedastus ja töötlus paralleelkujul.
See tähendab, et kui
toimuks andmevahetus süsteemi komponentide
vahel järjestikkujul tuleks teha järjestik-paralleel-
teisendus ja
vastuvõtja poole
vastupidine teisendus. Teisendamiseks kasutatakse
nihkeregistrit.
Veakindlad
koodidInformatsiooni
edastamisel tekib vigu. Mõni 1 muutub 0 või 0 muutub 1ks. Oluliselt
aitab
vigade tekkimist vältida see kui 1 ja 0
nivood on hästi
eraldatud. Isegi siis tekib vigu.
Vigu avastavad
koodid võimaldavad kindlaks teha võimalikke moonutusi
edastatavas
koodis . See tähendab, et andmebittidele tuleb juurde
panna lisabitid, mis ei edasti infot vaid kontrollivad õigsust.
Lihsaim viis on paarsusbitt. Igas õiges koodisõnas peab olema
paarisarv bitte. Paarsusbitiga ei ole võimalik avastada vigu, mis on
tekkinud kahe või enama biti vigu. Paarsusbitiga ei ole võimalik
tuvastada muudetud bitti, see ainult teavitad kas tegu on õige või
vale
koodiga .
Vigu
parandavad koodid lisavad rohkem bitte kui avastavad koodid. Vigu
parandavate koodidel peab Hammingi
distants kahe õige koodi vahel
olema vähemalt 3. Valitakse lähemal olev kood. Seda võib vaadata
ka kui, et igal õigel koodil on ühe biti moondumise korral eraldi
valede koodide hulk.
Sisend-väljund:
LCD, LED, OLED ja plasma kuvarid. Passivmaatriks ja aktiivmaatriks.
LCD
kuvariskasutatavad vedelkristallid ei emiteeri valgust vaid
moduleerivad tagant tulevat valgust (juhivad läbilastavat valgust).
Kahe klaasplaadi vahel on
vedelkristall ja mõlemal plaadil
sooned .
Kristalli molekulid võtavad soontega määratud suuna. Et aga
soonte suunad on risti, tekivad kahe klaasiplaadi vahel keerdunud aheled
(twisted
effect ). Kui valgus läbib selliseid ahelaid, muutub ta
orientatsioon 90kraadi. Olukord muutub kui panna mõlemale poole
elektroodid ja lasta sealt läbi pinge. Vedelkristalli molekulid
joonduvad sellisel juhul elektrivälja järgi olenemata soonte
suunast . Kui nüüd valgus läbib kristalli, säilitab ta oma
esialgse polarisatsiooni. Seega saame pingega juhtida valguse
polarisatsiooni algse ja 90kraadi vahel. Kahe
filtriga on võimalik
juhtida kas saadud element laseb valgust läbi või mitte.
Valgusallika pool on pol 0
filter ja vaaja pool 90 pol filter. Kui
element saab pinget siis ta valgust läbi ei lase. Vaja on
valgusallikat.
Esimene
võimalusena ei ole LCD-ekraani taga valgusallikat, vaid on
peegel ,
mis peegeldab vaataja pool olevat valgust tagasi läbi
LCD-elementide. Selline
ekraan ei toimi hämarates tingimustes,
kasutatakse kalkulaatorites ja randmekellades.
LED. Teisel
juhul kasutatakse ekraanitagust aktiivset valgusallikat. Selleks võib
olla fluorestseeriv
valgusallikas või LED
kuvarite puhul
valgusdioodid . LEDid tarbivad vähem voolu ja toodavad vähem
soojust. Neid kasutatakse läpakates, meditsiiniseadmete,
elektrimõõteriistades jne. Heleda päikese korral on
vedelkristallidelt peegelduv valgus intensiivsem tagant
tulevast valgusest ja pilti ei näe hästi.
Kolmas võimalus
on
kombineeritud meetod. LCD elementide taga on osaliselt peegeldav
kiht. Saadakse küll
kuvar mida saab nii sees kui väljas kasutada
kui meetod ei ole nii tõhus kui kaks eelnevat. GPS,
Telefonid jne.
Passiivmaatriksiga
LCD. Passiivmaatriks on moodustatud elektrodioodidest, millega
saab sisse ja välja lülitada pildivälja punkte. Elektroodid on
tavaliselt läbipaistvast indiumtinaoksiidist ning paigutatud
vedelkristallide alla ja peale, x ja y suunal. Ridade ja veergude
elektroodid on ühendatud mikroskeemiga, mis
jagab laenguid
pildivälja punktides olevatele vedelkristallidiele. Selleks, et
saata laeng mingisse pildivälja punkti, peab vastaval veerul olema
kõrge nivoo ja vastaval
real madal nivoo. Selle laengu mõjul
moodustub vedelkristallis sirge ahel ja see ei lase valgust läbi.
Selline multiplekseeritud vedelkristallide juhtimine võimaldab
oluliselt vähendada vajalike liinide arvu. Igal real ja veerul on
oma
liin . Probleeme on impulsi õigel ajal kohale jõudmisega ning
impulsi hajumisega, mis kaotab pildi kontrastsust. Twisted Nematic TW
tehnoloogia on passiivmaatriksil põhinev.
Akttiivmaatriksiga
LCD on ehituselt sarnane pas.mat. kuvaritega. Endiselt on
maatriksis liinid
viidud iga vedelkristallini, et neid juhtida.
Erinevuseks on aga iga vedelkristalli juurde paigutatud
transistor .
TFT töötab
lülitina , mis juhib vedelkristalli tulevat pinget.
Siinkohal ei ole probleemi leketega, sest transistor on nagu toimib
lülitina ja väldib laengu sattumist naaberkristallidele. Tulemuseks
on selline, efekt nagu oleks igal punktil oma liinide kaudu eraldi
juhtimine. See tagab kontrastuse ja kenad
hallid toonid. Kasutatakse
arvuti kuvarite ja
telerite juures.
OLED
(orgaaniliste valgusdioodidega kuvar). Oled koosneb kihidest,
Alus, mis võib olla ka
painduv plastmass ,
Anood , millle läbi
liiguvad elektronid, orgaanilised kihid, juhtiv kiht, mis on
valmistatud orgaanilise
plasti molekulidest ja mis
saadab elektrone
anoodile ning, emiteeric kiht, mis on valmistatud teist tüüpi
orgaanilise plasti molekulidest ja transpordib elektrone katoodilt.
Katood , mis võib olla läbipaistev.
Anoodi ja katoodi
vahele rakendatud pinge tõttu tekiv
elektrovool katoodilt anoodile
läbi orgaaniliste kihtide. Elektrone juhitakse emiteerivale kihile
ja juhitakse ära juhtivalt kihilt. Ärajuhitud elektronidest jäävad
alles augud, mis tuleb täita elektronidega emiteerivas kihis. Augud
hüppavad emiteerivasse kihti, kus nad täidetakse elektronidega. Kui
elektron täidab
augu läheb ta kõrgemalt energiatasemelt
madalamale. Vabaneb
footon energiat. Vabaneva energia hulk määrab
siis eralduva valguse värvuse. Anood ja katood on tehtud risti
ribadena, mis võimaldab pingestada eraldi ristumiskohtades olevaid
OLEDe.
Plasmaekraan
sobib suuremate kvaliteetekraanide valmistamiseks. Plasmaekraan
koosneb suurest hulgast klaaskihtide vahel asuvatest kambrikestest,
mis on täidetud neooni ja kseooni seguga. Esiklaasi taga on
läbipaistvad elektroodid mis on kaetud kaitsva MgO kihiga.
Kambrikeste taga on teisesuunalised elektroodid, mis võimaldavad
kambrikesi ükshaaval adresseerida. Kambrikeste sees on
fosfor , mis
tänu lisanditele on võimaline eraldama kolme põhivärvi.
Andes elektroodidele pinge,
gaas inoniseeritakse ja ta muutub plasmaks.
Selle tulemusena eraldub
ultraviolett valgus, mis ergastab
kambrikeses oleva fosfori elektronid. Kui need elektronid lähevad
tagasi normaalsele energia
tasemele , eraldub valgus. Punktide vahel
on seinad, et
naabrid ei mõjutaks üksteist. On võimalik teha väga
suuri ekraane, nii et ei kannata kujundi kvaliteet ja ekraan ei muutu
suureks. Punktid võivad kinni põleda seisva kujutise korral, ehk
pilt peab pidevalt liikuma. Kulub ka väga palju energiat.
TakistuslikMahtuvuslikInfrapuneAkustilise
laine impulsstuvastusOptiline
puuteekraanPindakustilised
lainedJõutundlik
puuteekraan Printerid, värviline trükk.
Löökprinterid
kasutavad vanemat tehnoloogiat, kus printimise pea ja paberi
vahel on tindiga
immutatud värvilint. Kujund saadakse löögiga
vastu värvilint. Kasutatakse erinevaid printimispäid. Trükipea
võib olla
karikakra kujuline, golfipalli või
trumli . Pead on
võimalik liigutada, et positsioneerida kujund õigesse kohta. Väga
levinud olid nõelmaatriksprinterid, kus trükipeas on nõelad mida
saab elektromagnetiga liigutada. Nõelaga tehtud täppidest sai
moodustada erinevaid kujundeid.
Termoprinterid
Termokontaktprinteris kasutatakse temperatuuritundlikku
spetsiaalset paberit. Nõelte asemel on
takistid , mida saab kuumutada
vooluimpullsidega. Kujund moodustub täppidest. Trükitu ei säili.
Termosiirdeprinter
ei kasuta spetsiaalset paberit. Printimispea ja paberi vahel on
vahaga immutatud värvilint. Trükipeas olevate takistitega saab
punkte kuumutada ja kujund moodustub sulavatest vahapunktidest.
Sublimatsioonprinteri
sees on
lint , millel on eri piirkondades üksteise kõrval nelja
põhivärvi sublimaat. Sublimaat on aine, mis läheb tahkest otse
gaasilisse ja tagasi. Kui lint liigub trükitava alusmaterjali peal,
siis seda kuumutatakse, sublimaat
aurustub ja moodustab
alusmaterjalile läikiva kihi enne kui tahkub. Eri värvi piirkondade
servad on täpsed ja kvaliteet on hea. Kasutatakse fotoprinteritena.
Säilib kvaliteetselt ka pikema aja jooksul.
Jugaprinter
moodustab pildi väljapritsitud tindi või vaha
tilkadest . Tilku
on kujundi moodustamisel 10-30 mm kohta. Kasutusel kaks pihustuse
tehnoloogiat. Buble Jet puhul kasutatakse pihustites väikeseid
takisteid, mis kuumutamisel tekitavad gaasimulli, mis tõukab tilga
välja. Lahkunud tilk tekitab vaakumi ja kassetist imatakse uus tilk.
Piesoelektrilist tehnoloogia kasutab piesokristalle. Kui kristallile
anda laeng, siis muudab see oma mõõtmeid ja lükkab tinditilga
välja. Kui
kristall tõmbub tagasi tuleb kassettist uus tilk.
Fotoelektriline/ laser printer . Valgustundliku
materjaliga on kaetud trumel. Trumli
kattematerjal on
isolaator , mis valguse toimel muutub juhiks.
Trummel laetakse kõrgepingega ning seejärel mõjutatakse
valgusega .
Valgusallikaks on laser. Need kohad mis saavad valgust muutuvad
juhiks ja
neilt kaob laeng. Seega tekib trumli pinnale
elektrostaatilisest laengust kujund. Need kohad, mis on laetud
tõmbavad toonerit külge ja need mis said valgust ei
tõmba . Seega
moodustub toonerist trumlile kujund. Seejärel suunatakse trummel
vastu puhast paberit. Paberile tekib toonerist kujund, mis
kuumutatakse paberile kinni. Tummel puhastatakse jääkidest. Laser
on ainult valgusallikas. Pooltoone saadakse punkti jagamisega
alamosadeks.
Värviprinterid.
Printimisel kasutatakse värvide lahutamist. Valge värvus
tähendab, et peegeldatakse kõiki värvusi. Põhivärvideks (CMYK)
on Cyan (helesinine), Magneta(lilla), Yellow, Key
Black . Musta
kasutatakse sest kõigi värvide lahutamisel saadakse ainult
tumepruun . Värvitrükk saadakse laserprinteri juures eri värvi
toonerite ületrükiga. Iga värvi jaoks on oma trummel ning kõikide
värvidega saadud kujundid kantakse vahekandjale ja seal juba
paberile. Jugaprinteris kasutatakse erinevaid pihusteid eri värvide
jaoks. Termoprinterites eri värvi lindiga.
Klahvide all on
lülitid , mis on
binaarsed (1 v 0). Tavaliselt on trükiplaadi peal
plastist materjal, mis on sümbolite kohast metalliseeritud ja klahvi
vajutusel tekib kontakt alumise pinnaga.
Plast täidab ka vedru
ülesannet. Vajutusel tekib alati mitmekordne ühendamisefekt. Selle
vältimiseks kasutatakse klahvi vajutuse fikseerimisel viidet, mis on
pikem värelemise ajast.
Klaviatuur
moodustab maatriksi, kus read on ühendatud väljundpordi külge.
Veergude väärtusi saab lugeda läbi sisendporfi. Kõigis ridade ja
veergude ristumiskohtades on lülitid.
Klaviatuuri skaneeritakse
pidevalt. Skaneerimise koodi saamiseks saadetakse vertikaalliinidele
kood, kus on väärtus 0 ainult ülemisel horisontaalil. Kui mõni
ülemise horisontaali klahv on alla vajutatud, siis on ka vastaval
vertikaalil väärtus 0. Seejärel on järgmisel liinil väärtus 0
jne. Teades horisontaalliinil väljastatud koode ja vertikaalidel
sisse tulnud koode saab kindlaks määrata klahvi asukoha. Kui on
mitu klahvi alla vajutatud valitakse neist üks ja vastav kood
saadetakse protsessorisse. Kui oli vale klahv on juba kasutaja asi
parandada.
Analoog ja digitaal info. Analoog liides (DAC,ADC).
Analooginfo
juures on mingi suurus teise suuruse analoogiks. Analooginfo korral
võib füüsiline infokandja võtta ükskõik millisel ajahetkel oma
rajaväärtuste vahel suvalise väärtuse. Väärtus muutub pidevalt
ja sujuval, ilma hüpeteta. Igasugune signaali kuju muutus põhjustab
infomoonutusi.
Digitaalnfo
esituse
korral on lubatud ainult teatud hulk väärtusi, mida infokandja võib
omada oma rajaväärtuste vahel. Nüüd ei või infokandja võtta
suvalist väärtust rajaväärtuste vahel. Info töötlemine muutub
seeläbi palju lihtsamaks. Nii info edastaja, töötlejda kui ka
vastuvõtja peavad suutma eraldada
kindlaid väärtusi. Digitaalinfo
juures kasutatakse ka diskreetset aega, ehk väärtusi mõõdetakse
vaid fikseeritud momentidel.
Analoog -Digitaalmuundur
(ADC). Teisendamine eeldab, et igale analoogväärtusele, mille
hulk on lõpmata suur vastab kahendkood. Lõpmatult suurt hulka ei
saa kirjeldada, arvestama peab täpsusega, mis on hetkel vajalik.
Vaja on määrata 2 asja, mitu väärtust kirjeldame(koodi pikkus) ja
kui tihti seame vastavuse.
ADC peab
muutma ajas muutuva pinge kahendkoodiks, mis on võrdeline sisendpinge
väärtusega. Üks võimalus on seda teha analoogvõrdlusskeemi abil. Kui alumise sisendi pinge väärtus on võrdne või suurem kui
ülemise sisendi pinge väärtus siis võrdlusskeemi väljund on 1.
Vastupidises olukorras on võrdlusskeemi väljund 0. Sisse tuleb
konstante pinge, mida kasutatakse võrdluses etalonina. Pinge
jagatakse takistite vahel. Pinged on
proportsionaalsed takistite
takistuse suurusega. Kui meil on tegemist lineerselt kasvava
pingega, siis on kõik koodimuunduri sisendid 0d. E
Digitaal -Analoogmuundur
(DAC) muudab lõpliku pikkusega kahendarvu pingeks või muuks
füüsiliseks suuruseks. Seega tuleb genereerida analoogväärtus,
mis on proportsionaalne iga kahendkoodi bitiga ja nad lõpuks
summeerida, et saada terviklik vastus. Registri väljundis on
lülitid, mis kommuteerivad analoogsummaatori sisendisse vastava
pinge, kui järgu väärtus on 1. Kui aga vastava järgu väärtus on
0, siis vastav pinge analoogsummaatori sisendisse ei lähe.
Summeerimise võib realiseerida operatsioonivõimendite
vaasil .
Analoog ja digitaal info. Helikaart ja heli digitaalne salvestamine.
Helikaart tekitab
kõrvale kuuldavaid õhu võnkumisi arvutis oleva digitaalinfo
alusel. Arvutis on info digitaalkujul ja seega on kindlasti vaja
DACi. Heli salvestamiseks on vaja ADC-d sest mikrofonist tuleb heli
analoogkujul, mida arvutis ei saa töödelda ega
salvestada .
Kasutatakse diskreetimissagedust 44100hZ. Ehk signaali mõõdetakse
23 mikrosekundi tagant. Helikaardil on veel tavaliselt
digitaalsignaali protsessor, mis kujutab endast spetsiaalset
signaalide töötlemiseks ette nähtud protsessorit. DSP vabastab
protsessori audiosignaalide töötlemisest.
Helisüntesaator
võimaldab sünteesida heli, miite taasesitada salvestatud muusikat.
Sagedusmodulatsiooni
süntesaator tekitab heli generaatorite abil
kirjelduse järgi ja siis on väga raske saada loomulikku heli. Iga
instrumendi helipildis on kõrgemad harmoonilisemad komponendid, mida
on raske generaatoriga tekitada. Rohkem kasutatakse
lainetabelisüntesaatorit, kus on olemas erinevate instrumentide
helinäidised ja
kirjelduses on vaja lisada
amplituud ja sagedus.
Spets riist .
Spetsiaalse riistvara realiseerimine.
Spetsiaalse
riistvara realiseerimiseks on kaks võimalust:
Programne
realisatsioon. Alati saab suvalist algoritmi, mis juhib ükskõik
millist seadet realiseerida üldkasutatavas arvutis. Seade tuleb
ühendada arvuti külge ning tuleb kirjutada programm juhtalgritmi
täitmiseks. Realisatsioon on programne selles mõttes, et
juhtalgoritm on realiseeritud arvuti mälus säilitatava programmina,
mida protsessoris käsk käsu järel täidetakse. Seega langetatakse
kõik otsused arvutis programmi pool vastavalt realiseeritavale
algoritmile.
Head omadused:
Saab kasutada harjumuspärast tarkvara. Lihtne teha muudatusi.
Muudatus tuleb teha programmis, see transleerida ja ongi uus
versioon valmis. Vigade leidmisel on saab kiiresti parandada. Ei ole vaja
tunda riistvara. Lõppkasutajal pole kunagi vaja teada kuidas on
riistvara tehtud.
Puudused:
Aeglane, käskude lugemine mälust protsessorisse ja seal käskhaaval
nende täitmine. PC on paljudes kohtades mõttetult kallis, tihti ei
vajata võimsa arvuti ressurssidest vähematki osa. Füüsilised
mõõtmed pole alati vastuvõetavad.
Mikrokontroller
on ühel kristallil realiseeritud arvuti. Seal on protsessor,
taimer ,
liidesed, mälu
ehki maht on piiratud. On võimeline täitma
lihtsamaid algoritme. Lihtne teha muudatusi, odav, väikesed
füüsilised mõõtmed. Puudused: spetsiifiline tarkvara
programmeerimisel, eeldab riistvara tundmist, võib endiselt olla
liiga suur, on aeglane võrreldes riistvaralise realisatsiooniga.
Riistvaraline
realisatsioon. Algoritmi võib realiseerida riistvaras sarnaselt
juhtautomaadiga protsessoris. Loogikaskeemi võib valmistada
trükiplaadil, koostatuna tootjateltsaadavatest valmiskomponentidest
loogikaskeemina või kristalli pinnal ühe rakendusspetsiifilise
mikroskeemina.
Head omadused:
Suurte seeriate puhul odavam toota. Väikseim võimalike komponentide
arv, kuna on tehtud konkreetse realisatsiooni jaoks. Loogikaskeem
realiseeritakse kristalli pinnalja loogikaelementide tihedus on suur
– suurem töökiirus ja väiksem energiakulu. Turvalisus, ei ole
võimalik kääte saada algoritmi.
Puudused: Pikk
juurutamine ja prototüübi valmistamise aeg. Kui on vaja teha
muudatusi tuleb
tellida uued mikroskeemid, see on kallis. Väikeste
seeriate korral suhtelist kõrged valmistamise kulud. Nõuab
kalli tarkvara olemasolu.
Programmeeritav
loogika tähendab riistvara tooriku konfigureerimist oma
rakenduse järgi. Kuid siin ei kasutata mikroskeemide valmistamise
tehnoloogiat. Kofigureerimise tehnooloogiatele on projekteerijal
otsene ligipääs ja tooriku baasil saab ta ise valmistada prototüübi
ning käivitada esimese tootmise.
Põhjused miks
valida: Hea kättesaadavus, Hind,
projekteerimine on lihtne, sest
tehnoloogiale on otsene ligipääs, muutuste tegemine ja
realiseerimine on lihtne, on olemas mugavad vahendid
realiseerimiseks, Laia leviku tõttu on palju kogemusi, lai toodete
valik, firmad korraldavad ka koolitust.
Suvapöördusmälud. / Pooljuhtmälud
Suvapöördusmälud
(RAM) on sellised mälud, kus suvalise sõna poole pöördumine võtab
sama ühesuguse aja sõltumata tema asukohast mälus.
Staatiline
pooljuhtsuvapöördusmälus ( SRAM ) on info salvestatud
positiivse tagasiside kaudu trigerites. Tegemist on kiire mäluga
mida kasutatakse näiteks registermälus ja vahemälus. Kiiruselt
suudab SRAM funktsioneerida protsessori taktsagedusega aga sisaldab
suhteliselt palju transistore, mis nõuab palju kristallipinda ning
ei sobi suurte mälumahtude realiseerimiseks. SRAM
juhtimiseks on
vajalik aadress, mis määrab maksimaalse mälusõnade hulga.
Dünamiiline
pooljuhtsuvapöördusmälu ( DRAM ). Tavaliselt on tüüpilise PC
arvuti põhimälu realiseeritud DRAMina. Seal kulub ühe pesiku
valmistamiseks 1 transistor, samas kui SRAMis oli vaja 4-6
transistori biti kohta. Info salvestatakse laenguna
väljatransistoris. Tänu väiksemaletransistoride arvule bit kohta
on info tihedus kristalli pinnal oluliselt suurem. Kuivõrd ei ole
olemas ideaalset isolaatorit siis laeng teatud aja
möödudes kaobja
info hävib. Selle vältimiseks toimub dünaamilises mälus pidevalt
mälu värskendamine, mille käigus kirjutatakse infot pidevalt üle.
Odavama hinna tõttu kasutatakse DRAMi suuremahulise põhimälu
valmistamiseks. DRAM on aeglasem kui SRAM. Alati on mikroskeemides
piiratud väljaviikude arv ja selleks, et kogu mälu saaks
adresseerida kasutatakse aadressiliinide multipleksorit. Mälu võib
vaadelda kui maatriksit, millel on rea ja
veeru aadressid.
Multiplekseerimine tähendab, et samu liine kasutatakse kord veeru ja
kord rea aadressi edastamisel. Täiendavalt on vajalikud 2 signaali
mis määravad kas tegu on veeru või rea aadressiga.
Maskiga
programmeeritav püsimälu (ROM, read only memory). Rom tüüpi
mälusid programmeeritakse mikroskeemide tootja juures valmistamise
käigus. Väheneb paindlikkus, sest igasugune muudatus muutub
aeganõudvaks ja kulukaks. Kui on tegemist suurte seeriatega siis on
kõige odavam ja töökindlam variant. Püsimälusid ei kasutata
mitte ainult tarkvara säilitamiseks vaid ka riistvara
realiseerimisel. Rom sisaldab aadressi dekoodrit. Aadressiga määratud
reas muutub väärtus kõrgeks (1) ja teistes on madal. Kui mingi
biti või-elemendi sisend on selle
reaga ühendatud on ka vastava
biti liini väärtus 1.
Programmeeritav
püsimälu (PROM) PROM tüüpi mällu saab kasutaja kirjutada
ainult ühe korra, sest info salvestamine on destruktiivne protsess.
Dekoodri väljundites sõnaliinide ja bitiliinide ristumiskohtades on
toorikul
dioodid . Dioodid on ühendatud väikese läbimõõduga
liinidega ehk katkevlülidega. Kui lülile langeb aga pinge, mis on
kaks korda suurem kui ühe pinge nivoo, siis ta sulab. Selles
seisnebki programmeerimine, et sulatatakse mittevajalikud
ühendused .
See on muidugi paindlikum kui väheneb pakkimise tihedus, läbipõlenud
ühenduste ja isolatsiooni arvelt.
Ümberkirjutatavad püsimälud põhinevad
ujuva paisuga väljatransistoridel,
erinedes kustutusviisi ja ka vähesel määral siseehituse poolest.
Tegemist on dünamiilise mäluga kus
hajumine võtab aastaid aega.
Info salvestatakse nii juhtpaisust kui ka alusest isoleeritud
ujuvpaisule laengu kandmisega. EPROMist kustutamine toimub
ultraviolettvalgusega läbi mikroskeemi korpuses oleva läibpaistva
kvartsakne.
Kustutada saab terve mikroskeemi sisu korraga.
FlashEPROMist ja EEPROMIST kustutatakse info elektriväljaga.
EEPROMIST saab kustutada sõnade kaupa ja teisest sektorite kaupa.
FlashEPROM on praegu üks levinumaid püsimälusid, mida kasutatakse
väga laialdaselt kantava infokandjana, kujundi salvestamiseks
videokaamerates, süsteemse tarkvara säilitamiseks jne.
Andmeedastuse juhtimine: süsteemid katkestustega ja ilma, prioriteedid.
Mikroskeemide valmistamise tehnoloogiad.
Kõik kommentaarid