Arvutid I eksamiküsimuste vastused

Arvutid I eksamiküsimuste vastused
Eero Ringmäe
mai 2002
õj = Teet Evartson
I Digitaalloogika
1._Mikroskeemide valmistamise tehnoloogiad:
Bipolaarsed tehnoloogiad:
dioodloogika: kokku ühendatud n-p pooljuhid lüliti avatud, kui vool kulgeb noole suunas. Väljundvoolu hergnevustegur – dioodide arv loogikaskeemis piiratud, kuna vastasel juhul võib ühte dioodi hakata läbima liiga suur vool ... summa eelnenud dioodidest * I ... vana, ei kasutata
TTL – Transistor-Transistor Loogika: bipolaarne transistor ... npn = emitter-base-collector ja pnp = emitter-base-collector ... viimane on negatiivse loogika näide (invertor)
kolme olekuga väljund: Enabled+x1+x2. Kui E=0, f=?
väiksema energitarbega & kiirem kui eelmine
STTL – Shotky TTL ... lisatud Shotky diood, kiire lülitumisega
IIL – Integrated Injection Logics ... suhteliselt madalam töökiirus, suurim elemenditihedus.. TTL modifikatsioon, milles kahe transistori pnpnp osad kokku ühendet
ECL – Emitter-Coupled Logic ... väga kiire bipolaartransistoritel põhinev loogika
Pooljuhtide tehnoloogia: MOS – Metal Oxide Semiconductor
n(channel)MOS transistor: pnp poljuhid, p-p pooljuhtide vahele tekib voolu juhtiv kanal, mis suleb transistori, kui pinge n-pooljuhi kohal = +V = H
p(channel)MOS transistor: npn pooljuhid, sama lugu, ainult nüüd asub gate p- pooljuhi kohal
CMOS – Complementary MOS ... kiire, voolutarve vaid lülitumishetkel
MOS on unipolaarne, energiatarve väike, suhteliselt aeglasem, kuid võimaldab suurt pakkimistihedust
2. Baaselemendid:
Loogikaelement e gate – teatud Boole'i funktsiooni realiseeriv mikolülitus.
AND järjestikku asetsevad lülitid
OR – paralleelselt asetsevad lülitid
NOT – elektromagnet, mis ühendab lahti, kui vool on ... kokku ühendatud nMOS ja pMOS transistorid, pnp TTL tranistor
NAND – and+inversoon
NOR – or+inversioon
summa-mod-2
Täielik loogikafunktsioonide süsteem on selline, milles saab kirjeldada iga eksisteerivat Boole'i funktsiooni. Näiteks: and-or-not või and-not süsteem. Loogikaf.-ni superpositsioon on f.-n, milles mingi(d) argument(id) on asendatud nende väärtust arvutavate funktsioonidega.
3. Kombinatsioonskeem: digitaalskeem, milles, teades sisendite väärtusi, võime väljundid välja arvutada üheselt, väljundid on määratud üks-üheselt sisendite väärtustega.
Järjestikskeem: digitaalskeem, milles väljundi väärtus sõltub eelmistest, eelnevatel diskreetse aja hetkedel I/O-s olnud väärtustest – skeemil on mäluolek.
Positiivne vs negatiivne loogika. Täielikult vs mittetäielikult määratud Boole'i funktsioonid
{LAB1}
Enamkasutatavaid järjestikskeeme
4. Trigerid:
Triger on mäluelement mis säilitab 1bit informatsiooni. Qt = S + -R * Qt-1
Trigeril on 2 stabiilset olekut 1 ja 0. Olekuks nimetatakse trigeri väljundi väärtust antud ajakhetkel. Sõltuvalt sisendsignaalist muudab triger oleku vastupidiseks või säilitab endise oleku.
Sünkroniseerimine – kui trigeriga on ühendatud lubav sisend, mille kõrgel väärtusel loetakse sisse uued sisendid, toimuvad üleminekud, madalal olekul aga on triger passiivne, säilitades oma endise oleku. Vastasel juhul võiksid erinevate elementide ja kombinatsioonide erinevad viited väjundit mõjutada. Esifront vs tagafront.
Ühe- vs kahetaktiline triger (MS-triger) – master ja slave pool ... kahetaktilisse on kokku ühendatud 2 trigerit, et sünkroniseerimisel nulli haaramist elimineerida... slave lülitub esimesel taktil, master järgneval
SR – Set-Reset Triger ... seadesisendiga triger
T-triger – Toggle triger .. sisendisse impulsi andmisel muudab oleku vastupidiseks
D – delay triger ... säilitab niikaua eelmise väärtuse, kuni sisendisse antakse uus väärtus
JK – triger –universaalsisenditega triger ... nagu SRt, ainult sisendi 11 korral, mis enne oli keelatud, muudab JK oleku vastupidiseks.
5. Registrid:
... hulk kokku ühendatud trigereid. Registrite tüübid = trigerite tüübid.
Võimaldab säilitada infot ühe sõna kaupa. Enamasti 8-, 16-, 24- ja 32-bitised registrid (säilitamaks sõnu 1, 2, 3, 4 Bytes).
Nihkeregister võimaldab infosõnu nihutada vasakule ja paremale, teisendades nii andmeid järjestik- ja paralleelkuju vahel. Registrit juhitakse vastavate trigerite Set Reset käskudega. Nihkeregister RS trigeritel Clock on kõigil ühtne. Sisend järjestikkujul = Set , selle inversioon = Reset, i trigeri otseväjund = i+1 Set, inversioonväljund = i+1 Reset. Paralleellaadimisega nihkeregistrid.
6. Loendurid:
Loendur on loogikalülitus, mis loendab sisendimpulsse. Kasutatakse automaatikaseadmetes ja arvutitehnikas.
Realiseeritud trigeritel, mille otseväljundist läheb läbi Enabled signaaliga konjuktsiooni väärtus järgmise järgu sisendisse. Kui kõik eelmised järgud = 1, peab antud järk ümber lülituma.
Sünkroonne – mistahes kombinatsioonide vahel ülemineku viide = const .. arvutitehnikas kasutusel
Asünkroonne – ülemineku viide sõltub kombinatsioonidest
Loenduri moodul – erinevate väljundkombinatsioonide arv ... väljundi väärtus, mille korral alustab uuesti nullist.
Suvalise mooduliga loendur = ntx Grey koodi loendur, milles iga järgnev kood on eelmise naaberkood. Igasse sisendisse tuleb anda eelmise järgu moodul kaks summa iseendaga.
Reversiivne loendur loendab nii pos. kui neg. suunas.
{LAB2}
Enamkasutatavaid kombinatsioonskeeme
7. Summaatorid:
Summaator on kombinatsioonskem, mis liidab arvkoode. Iga järk summeeritakse eraldi. Lisaks sisendite väärtustele arvestatakse ka noorematest järkudest tulevaid ülekandeid.
A ® B ® C = summa
A&B+A&C+B&C = ülekanne
Täissummaator arvestab ka ülekandega vanemasse järku.
Poolsummaator ei arvesta ülekandega vanemasse järku.
Lahutaja: lahutamine = täiendkoodi liitmine. Täiendkood ... pöördkood, mille viimasesse järku liidetakse 1.
Liitja-lahutaja – kui teatud lisasisendiga määratakse teostatav operatsioon & vastavalt sellele valitakse lahutatava operandi kood või täiendkood.
Kiire ülekanne: paralleelülekanne, et vältida pikka viiteaega, kuni ülekanne levib mööda järke.
generation – ülekande tekitamine
propagation – ülekande edasiandmine
8. Dekooder:
Dekooder on loogikalülitus, mis teeb kindlaks, milline kood sisendis on, milline sisend on aktiivne. Dekooder tunneb ära vastava kahendkoodi & aktiveerib sellele vastava väljundi.
Sisendis n-järguline kood, väljundis 2 astmel n-järguline kood.
Dekoodriga saab kahendkoodi muundada koodiks, millega aktiveerida mälupesa, juhtida segmentindikaatorit, konverteerida bin<-->dec, jne.
Koosneb AND elementidest. Kaskaadlülitus... kõrgema taseme dekooder aktiveerib madalama taseme dekoodrid, need omakorda väljundid, etc.
9. Multipleksor:
Multipleksor on andmeselektor. Mitmest andmesisendist (2n) valitakse n juhtsisenditega välja üks, ning edastatakse see väljundisse.
Multipleksorite süsteemil saab piisava arvu sisendite korral realiseerida mistahes Boole'i funktsiooni.
Laiendamiseks nimetatakse multipleksorite hierarhia tekitamist, milles iga järk multipleksoreid (2x vähem, kui nooremas) realiseerib juhtsisendite teatavat järku.
10. Komparaator:
... on võrdlusskeem, mis sisendisse tulevaid operande võrdleb ning teeb kindlaks, kas esimeses sisendis olev operand on suurem (Great), võrdne (Equal) või väiksem (Less) kui teises olev, aktiveerides vastava väljundi.
11. Koodimuundur:
On loogikaskeem, mis teisendab sisendkoodi mingisse teise loogikasse. Näiteks positiivsest loogikast negatiivsesse loogikasse inversiooni läbi. Binary-Decimal.
Igale sisendjärgule vastab loogikaskeem, mis toimetab teisenduse.
12. ALU:
Aritmeetika-Loogikaseadme ülesandeks on mitmekohaliste kahendarvudega erinevate aritmeetiliste ja loogiliste tehete tegemine. Tehe, mida teha, määratakse juhtsisenditega, operandid andmesisenditega. Iga järgu jaoks arvutatakse väljundi väärtus iseseisvalt.
Protsessor
13. Üldstruktuur:
Protsessor teostab mitmesuguseid operatsioone mälus paiknevate käskude järgi. Protsessori koosseisu kuulub ALU, juhtautomaat-mikroprogrammautomaat, mitu registrit ning vahemälu.
Käsuloenduri ülesandeks on järjestikuste käskude lugemine PC aadressi järgi. Käsuloendur saab järgneva käsu aadressi ???-st (juhtautomaadist arvatavasti ... või siis programmistilt). Saadab Read signaali ja mälu aadressi Mäluaadressi Registrisse, kus selle järgi leitakse mälust vastav pesa ja kirjutatakse selle sisu Mälu Puhverregistrisse, sealt omakorda käsukood ning operand(id) käsuregisreisse.
Mälust saadud käsk säilitatakse käsuregistris kuni käsudekooder selle identifitseerib.
Käsudekoodrist liigub vastavast väljundist signaal juhtautomaati. Juhtautomaat saadab juhtsignaalid operatsiooniautomaati. Operatsiooniautomaat loeb nõutud andmed oma suurde registermälusse ning saadab andmed ALU-sse, mis juhtautomaadi käskude järgi teeb vastavad tehted. Lippude register saadab samuti operande ALU-sse.
Siirdekäsk – käsk, mis nihutab käsuleonduri aadressile, mis ei oleks olnud loenduri loomulik järgmine aadress.
Käsuleondur on loendur, mis väärtustatakse teatud algtingimustega ja mida juhib programmist oma siirdekäskudega. Ülejäänud CPU töötab automaatselt.
Juhtautomaat: käsukood --> mikrokäsu aasressi register ---> mikroprogrammi mälu --> mikroprogrammi täitmine --> järgmise mikrokäsu aadress mikrokäsu aadressi registrisse / protsessori teiste osade juhtimine.
sisendud
väljundid
olekud
üleminekud
Mealy automaat: väljundfunktsioon sõltub nii olekutest kui sisenditest
Moore'i automaat: väljundf.-n sõltub ainult olekust. algolek = lõppolek
operaatorsõlm – milles sooritatakse mingi tegevus
tingimuslik sõlm – hargnemine
Jäiga loogikaga juhtautomaat – milles algoritmi säilitatakse püsimälus
14. Käsu täitmine protsessoris:
e. von Neumanni tsükkel.
käsukoodi laadimine (käsuloendurisse)
käsuleonduri modifitseerimine: PC:=PC+1
käsu aadress mälu aadressiregistrisse + read
mälupesa sisu mälu puhverregistrisse
mälu puhverregistrist kood käsuregistrisse + ALU-sse
Käsukoodi dekodeerimine
käsu täitmine
juhtautomaadi sisendid, mille käsudekooder aktiveeris
ALU seadistamine
15. RISC-CISC-protsessor:
RISC – Reduced Instruction Set Computer
Vähe käske. Kiire. Interpreteeriv mikroprogramm puudub, käsk läheb kohe täitmisele.
kiirem käsutäitmine (paralleelselt)
fix käsuformaat – käsu lihtsam dekodeerimine
mälu poole ainult LOAD & STORE käsud (ühes käsus 3 registeraadressi)
võimas registermälu
efektiivne andmevahetus alamprogrammidega
efektiivne siirdekäskude ja alamprogrammide juhtimine
lihtsad käsud
CISC – Complex Instruction Set Computer
Palju käske. Aeglane. Interpretaatori rolli täidab kristalli pinnal realiseeritud mikroprogramm.
~ 1 CISC-käsk = 5 RISC käsku
Tavaliselt on reaalsetes protsessorites RISC & CISC ideoloogia paralleelselt.
16. Konveier protsessoris:
Kuulub RISC ideoloogia alla.
IF – instruction fetch
OF – operand fetch
OE – operand execute (ALU)
OS – operand store
Kuna protsessor suudab korraga teha igast käsust ühte, kuluks ilma konveierita iga käsu täitmiseks 4 takti. Konveier võimaldab korraga ühe käsu IF, teise OF, kolmanda OE ja neljanda OS teostada. Nii surutakse käsu täitmise aega oluliselt kokku.
Probleemiks on siirdekäsud, kuna IF teostatakse parajasti käsu jaoks, mida kavas polegi. Tekib 'mull'.
Viivitustega siire. Kuna uue käsu aadressi arvutamine toimub eelmise OE ajal, täidetakse järgnev käsk täielikult, enne kui siirdekäsu aadressile minnakse .. kotatakse ainult 1 takt.
Andmete sõltuvuse korral tekib samuti 'mull' .. probleemi lahendab andmete edastus otse.
17. Hargnemiste ennustamine:
Ennustamisel saadakse tõenäosus, et järgmine käsk tuleb siirdekäsk .. reaalsuses vastab ennustusele sündmus 'järgmine käsk' (PC+1). Neli varianti:
siiret eeldati & see tuli --> T
siiret eeldati & seda ei tulnud --> F
siiret ei eeldatud & see tuli --> F
siiret ei eeldatud & seda ei tulnud --> T
Keerulised valemid reaalsetes protsessorites.
18. Cache:
Vahemälu e peidikmälu protsessori sees. Programmeerija eest varjatud. Väga kiire. Kasulik, kuna paljusid operande, mälusõnu tuleb protsessori töös kasutada korduvalt. Seepärast salvestatakse viimatitöödeldud andmed ka cache-s. Cache'i kontroller analüüsib protsessorist mälu poole minevaid aadresse, juhul kui mälusõna leitakse cache'ist (hit), võetakse see sealt.
line – min cache'iga vahetatav infohulk
Cache'i organiseerimise viisid:
otsevastavusega (direct-mapped) – cache'is määratud mälu 'set' (segment) ja 'line'
+lihtsa organisatsiooniga
+selle poole pöördumisel saab korraga pöörduda nii cache'i kui põhimälu poole
-igast segmendist saab korraga sees olla 1 line
+andmete update põhimälus lihtne
associatice mapped – mälus on aadresside asemel teat. osad line'st (tag) + line. Identifitseerimine toimub tag'i kaudu
-uuendamine: Least Recently Used, Least Frequently Used, First In First Out, Random
andmete kirjutamine cache'i
write-through – korraga muutused cache's & põhimälus (486)
write-back – põhimälu update'itakse cache'i bloki asendamisel (Pentium)
kogumassotsiatiivne vahemälu – n cache segmenti on järjestikku ühendet. Hit ühes = NO hit teistes.
L1 – inside CPU: Instruction Cache (16KB) + Data Cache (64KB)
L2 – outside CPU: 0.5..1MB
L3 – on the motherboard: SRAM 1..5MB
Arvuti mälu
cell – pesik, mälu elementaarkomponent, mis sisaldab 1bit infot
word – pesa, mälu ühik, millele viitab 1 aadress
capacity – mälu maht (Bytes)
density – capacity / size, tihedus
access time – pöördusaeg, aeg mälu poole pöördumisest andmete saamiseni
bandwith – ribalaius, läbilaskevõime, MB/s
latency – latentsusaeg, aeg mälu poole pöördumise algusest andmete saatmise alguseni
RAM – Random Access Memory, suvapöördusmälu
SAM – Serial Access Mem, jadapöördusmälu
ROM – püsimälu
Volatile memory – hävimismälu, toite väljalülitamisel andmed hävivad
Static M – püsimälu
dynamic mem – muutmälu
võimalikud mälukandjad:
mehaaniline deformatsioon – CD-ROM, perfolint ... serial access
laeng – DRAM
tagasiside – triger
magnetism – cache, registermälu
magnetnähtused – ferrolint
optika – CD-R
viiteliinid
19. Mälu hierarhia arvutis:
registermälu: 100B, 5ns staatiline suvapöördusmälu, baseerub
positiivsel tagasisidel, väike maht,
random access memory kiire, kallis
protsessor - ALU, mälupuhvrid, etc
peidikmälu / cache: 512KB kiire, mahukam... protsessor, puhvrid
põhimälu: 50ns, 4GB aeglasem, mahukam, emaplaat
kõvaketas: 10ms, 180GB aeglasem, mahukam
CD-ROM: 100ms, 17~GB odavam, teisaldatav
perifeeriaseadmed (magnetlint,...): 100s, 10TB
serial access memory
20. Mälu klassifikatsioon:
suvapöördusmälu jadapöördusmälu
pooljuhtmälu magnetmälu magnetmälu optiline mälu
mittesäiliv säiliv säiliv säiliv säiliv
Static RAM ROM ferriit mullmälu CD-ROM
Dynamic RAM PROM floppy disk CD-R
EPROM hard disk CD-RW
EEPROM magnet disk DVD
FlashEEPROM Lint M/O
Holograafiline
21. Staatiline pooljuht-suvapöördusmälu:
Koosneb trigeritest vm positiivse tagasisidega elementidest. Andmed hävivad toite kadumisel. Kasutatakse protsessoris töötsüklite ajal vajaminevate andmete säilitamiseks. Chip, millel aadressisisend, data väljund ning ChipSelect, OutputEnabled ning Read/Write väljundid.
22. Dünaamiline pooljuht-suvapöördusmälu:
Koosneb mälumaatriksist, milles küljes rea aadressi ning veeru aadressi puhvrid. RowAddressSelect ning ColumnAddressSelect sisendid, R/W sisend. Andmed tuleb mingi aja jooksul refreshida, vastasel juhul imbub laeng transistoritest välja & andmed hävivad.
FastPageMode DRAM – mälus järjestikku paiknevad andmed paiknevad mälumaatriksi aktiveeritud rea järjestikustes veergudes.
ExtendedDataOutput DRAM – väljundis olev puhver lubab alustada uut pöördumist enne eelmise lõppu
Synchronous DRAM – jaguneb mitmeks pangaks, milledes saab iseseisvalt infot refreshida, sünkroonne süsteemi kellaga, genereerib ise järjestikused aadressid
Rambus DRAM – multibank DRAM + liideslülitus, edastab infot nii eis kui tagafrondist, kiire
Content Adressable Memory, CAM – assotsiatiivmälu
Double Data Rate DRAM – edastab infot nii esi kui tagafrondist
SIMM – 72 klemmi
DIMM – 168 klemmi
PÕHIMÄLU
23. Püsimälud:
Maskiga programmeeritav ROM
Progtammeeritav ROM – fuse-maatriks tehnoloogia
Kustutatav püsimälu – Erasable ROM – transistoris ujuvpais, mis ei lase laengul välja imbuda. Kustutatakse UV-kiirgusega – ujuvpaisul olev laeng hajub
Mälu jaotatakse moodulitesse, millest lugemiseks tuleb aktiveerida vastav ChipSelect sisend. Vastavalt CPUs töödeldavate mälusõnade järkudele ehitatakse andmesiinid ja mälu sõnalaiused.
BIOS, mikroprogrammid
24. Magnetmälud:
Mittemagneetuval alusel magneentuv substants, mille kohal liigub vooluga mähis, milles kitsas pilu. Pilust väljuv magnetväli pöörab magneetuva substantsi doomenid vastavalt voolu suunale. Lugemisel kasutatakse magnetilist induktsiooni, mille puhul doomenite pöördumiskohas genereerub lugemispeasse pingeimpulss, mis registreeritakse.Salvestamisel kasutatakse hüstereesi – isegi pärast magnetvälja mõju lõppu jääb kettale teatud magneetumus.
HDD:
Pöörleb 3600 .. 10200 rpm
Internal Transfer Rate – lugemispeast andmete liikumise kiirus kontrollerile
Burst TR – liidese ülekande kiirus
Sustained (pidev) TR – keskmine kiirus CPU ja Drive'ide vahel
Access time = seek time + latency
seek time – lugemispea õigele rajale jõudmise aeg
latency – varjatud otsimisaeg.. kui kaua läheb HDD-l ketta pööramiseks õigele kohale
Standardid:
Intgrated Drive Electronics – AT Attachment 8,3MB/s, up to 512MB vint
Enchanced IDE – 16,6MB/s, max 4Drives
Mean Time Bw Failures ~200 000 .. 500 000 h
Constant Linear Velocity
Constant Angular Velocity
Magnet-Optiline põhimõte – laser kuumutab ketta biti ala ~200 kraadini (Curie' punkt) magnet polariseerib selle. Lugemisel arvestatakse peegelduva valguse polaarsusega.
25. Optiline mälu:
valgust läbilaskval alusmaterjalil peegeldav kiht, mille sisse kõrvetatakse laseriga 'pit'. Tavaolukorras alust nim 'land'. Lugemisel arvestatakse peegeldunud valguse intensiivsuse jms-ga. Tavaliselt peegeldub tagasi 75% valgusest, ülminekul ~10%. Track width = 0.6 mikrom, space bw tracks 1.6 mikrom.
CD-R = Aluse ja peegelduva materjali vahel org materjalist kiht (tsüaniin), mille kuumutamine muudab selle mitteläbipaistvaks.. laser peab seda lohuks.
CD-RW = orgaanilise kihi kuumutamisel 300 kraadini see kristalliseerub (erase), 600 kraadini aga muutub amorfseks (write) .. read 0.1..0.7 mW, erase 3..8mW, write 10..15mW.
26. Erinevate pöördusviisidega mälud:
Pinumälu – First In Last Out – Käsud Push & Pop, mis viivad kirjutamise-lugemise viidad ühe võrra edasi-tagasi. Realiseeritud nihkeregistrite põhimõttel
Puhvermälu – First In First Out – reversiivne nihkeregister, kirjutatakse ühest otsast, loetakse teisest otsast.
Suvapöördusmälu – vastavalt aadressile saab otse vastava mälupesa kätte
Jadapöördusmälu – tuleb lugeda terve seeria eelenvaid andmeid, mille hulgast leida õige data.
Kahe pordiga mälu – lugemine ja kirjutamine samaaegselt, ntx videomälu
Käsuformaadid
27. Käsuformaadid ja käsusüsteem:
3 aadressiga arvuti –
käsukood + I operandi pikk aadress + II o. pikk aadress + resultaadi pikk aadress
A=B+C
2 aadressiga arvuti –
kk + I operandi pikk aadress (resultaat läheb sinna) + II operandi pikk aadress
B=B+C
1,5 aadressiga arvuti –
kk + I operandi pikk aadress + resultaadi lühike aadress (registriaadress)
1 aadressiga arvuti –
kk + I operandi aadress
Ac – akumulaatorregister.
1 operand asub mälus, teine operand ning resultaat samal akumulaatorregistri aadressil
Käsusüsteem:
andmeedastuskäsud – MOV, LOAD, STORE
aritmeetika-loogika käsud – AND, OR, SUB, MUL
siirete käsud –JMP, CALL, RET
pinumälu, I/O-seadmete, CPU juhtimise käsud – PUSH, POP, IN, OUT, NOP
28. Adresseerimise viisid:
1. otsene adresseerimine – operandid vahetult järgnevatel mäluaadressidel
2. vahetu adresseerimine – operandide aadressid sõltumatud ning antakse eraldi aadressiga kas registermälus või põhimälus
3. kaudne adresseerimine – käsukoodis on aadressi aadress, operandide vahetamise võimalus CPU-de vahel
4. autoinkrementne adresseerimine – pinumälust lugemiseks (pop) .. aadress saadakse registermälust, sellele lisatakse operandi mõõt & tulemus läheb pinumälu järgmisesse aadressi
5. autodekrementne adresseerimine – registrist lühike aadress, mille järgi pinumälust operandid (aadressist lahutatakse op. mõõt) & resultaat pinusse
6. segmenteerimine – kk + aadress segmendis .. kui kõik andmed on ühes mälusegmendis, segmentidevaheline liikumine käsuloenduri abil
7. indekseerimisega adresseerimine – aadressibaas & indeks + nihe -> kui palju peab edasi liikuma, leidmaks operande, indeksiregister (selles pikk aadress)
8. baseerimisega adresseerimine – käsukoodiga antakse ainult nihe, aadressibaas asub baasiregistris
9. baseerimise ning indekseerimisega adresseerimine – nii indeksi- kui baasiregistrid
10. suhteline adresseerimine – käsukoodiga antakse nihe
Mikroarvuti riistvara
29. Mikroarvuti arhitektuur ja siinid:
Mikroarvuti on mikroprotsessori baasil realiseeritud arvuti.
Siin – andmevahetuskanal arvutis, mille tegevust koordineerib siiniprotokoll
Siinipuhver – kolme olekuga Enable (out 0 või 1), NOT Enable (out ?)
siinitsükkel – üks andmeedastustsükkel, mille käigus liigub 1 kvant infot
bridge – erinevate protokollidega siinide sidestamine
Siinid on andevahetuskanalid mikroarvuti CPU, mälu ning I/O seadmete vahel. Eristatakse ühe vs mitme siiniga arvuteid. Ühe siiniga arvuti puhul on sildadega ühe põhisiini külge poogitud CPU, I/O & memory. Mitme siiniga arvutite korral võib eristada Local Bus'i (CPU<-->mälu, cache), mis bridge'itud System Bus'i külge (CPU<-->main mem), mis bridge'itud I/O bus e Expansion Bus'i külge (CPU<-->I/O)
Siin kujutab endast mitut paralleelselt jooksvat juhti, mille kaudu vooluimpulsid liiguvad saatjast vastuvõtjasse.
Sünkroonne vs asünkroonne siin, tagasisidega vs tagasisideta. Grupi andmeedastusega & konevier-andmeedastusega.
30. Erinevad siinid ning nende osa andmevahetuses:
andmesiin – data liigutamiseks
aadress-siin – määrab pöördutava mälupesa, identifitsserib I/O-seadme, selle laius määrab max adresseeritava mälu. ChipSelect..
16 bit adresseerib 64Kb
20 bit 1Mb
32 bit 4Gb
juhtsiin – R/W + siiniprotokolli juhtimine, eristab pöördumise mälu või I/O seadme poole. Siinitsükli alustamisel saadab välja olekusõna, milles määrab R/W, CS jne.
mem R/W
I/O R/W
acknowledge
bus request
bus grant
interrupt request/acknowledge
clock
reset
Multiplekseeritud siin – mux-ga tehakse ühest siinist tsükli käigis kõigepealt aadress-siin, siis data-bus.
31. Andmeedastusprotokollid:
Sünkroonne siin – clock reguleerib, millal andmed leotakse
Asünkroonne siin – Siinitsükkel = 'mälu aadress valmis' genereerib 'mem. read' signaali, lisaks saadetakse sünkrosignaal, mille peale paneb mälu andmed valmis. Kui andmed käes, saadab prose teise sünkrosignaali, mis eelmised maha võtab.
Tagasisideta siin – DAtaValid signaal, mille peale võib siini teises otsas asuv seade hakata andmeid lugema
Tagasisidega siin – DAtaValid signaal, millele vastu võõtev seade annab DataACcepet signaali. Signaalide kestvusaeg ei sõltu üksteisest
Täieliku tagasisidega siin – Andmed valmis genereerib DataValid, mis loob DataAccepted. Viimase ilmumisel kustutatakse 2 esimest.
Ootetsüklite lisamisega.. kui DataAccepted signaali pole tulnud, ei võeta mälu aadressi signaali address busilt ära.
Grupi andmeedastus – antakse count.. arv, mitu tsüklit tuleb teha & esimene aadress.. ülejäänud data võetakse järjestikustelt aadressidelt.
Andmeedastus konveierina.. uus mäluaadress pannakse aadressisiinile enne, kui eelmise andmed on kohal
Mux-tud siin
32. Andmevahetuse juhtimine:
Passiivne andmevahetus – I/O seadmete prioriteetide probleem lahendatakse korrapäraselt mux-'de kaudu. Seadme käest loetakse olekusõna ning järjestatakse andmevahetuseks ... polling.
Staatiline vs dünaamiline prioriteetide jaotamine
Katkestustega süsteem – katkestus = pöördumine alamprogrammi poole
CPU lõpetab poolelioleva käsu, PC (process count) & PSW (process status word) pinumällu. PC-sse AP I käsk.
Polling + Interrupt – programne katkestuste lahendamine
Daisy chain – prioriteedid paika pandud riistvaraliselt (jäigalt) füüsilise asetusega
Interrupt controller – olekuregistris oleva juhtsõnaga saab prioriteete juhtida
Andmevahetus otsepöördusrezhiimis – Direct Memory Access
request data transfer (peripeheral) --> request DMA cycle (DMA controller) --> grant DMA cycle (CPU) --> grant data transfer (DMA controller) ---> transfer data (peripeheral)
DMA tsükli ajal on CPU olekus HALT.
Cycle stealing – DMA controller & CPU teevad siinitsüklid vaheldumisi.
33. Sisend-väljundseadmete ja CPU andmevahetus:
CPU --> parallel to serial converter --> serial data --> serial to parallel converter peripheral controller
CPU ja peripherali vahel Peripheral interface chip --> Seal konverteeritakse juhtsiini, aadress-siini & andmesiini inf perifeeriaseadmele arusaadavale kujule.
CPU+mem <--> Host adaptor <--> controller <--> device
34. Mikroprotsessori juurde kuuluvad komponendid:
kontroller – programmeritav protsessor, mis juhib I/O seadet, teisendab elektromagnetilised signaalid, mis siinides levivad kahendkoodideks, puhverdab andmeid CPU ja device'i vahel, kui kiirused on erinevad, otsib ja korrigeerib vigu andmeedastuses
mälukontroller – saab CPUst aadressi, võtab vastava mälusõna oma registrisse ning saadab prose poole
cache kontroller – saab CPU-st signaali ning otsib selle järgi cache'st andmeid, kui leiab, tekitab siinitsükli CPU-ga.
siinikontroller – kindlustab siiniprotokolli täitmise ... viib andmed antud kindlal siinil kasutatavasse vormi (serial to parallel converter, etc)
DMA-kontroller – lihtne cpu .. saab I/O seadmelt signaali andmevahetuse alustamiseks, tekitab protsessoris katkestuse ning võtab üle siinide juhtimise kuni andmed vahetet'
address register
byte count
control register
Programmeeritav katkestuste kontroller – lihtne processing unit, millesse suubuvad CPU siinid, välja lähevad siinid iga teenindatava seadme juurde
nihkeregister, kuhu saab kirjutada katkestuste vektori
katkestuste teenindusregister – kus parasjagu oleme
maski register
prioriteetide loogika
katkestuste puhver – sellessse ühendet' seadmed
Programmeritav taimer – piesoelektriline kvartsplaat, mis genereerib kindlal sagedusel elektriimpulsse, selle juures asuvad loendurid, mis annavad väljundsignaali mingisse kindlasse harusse iga teatud intervalli tagant. Nii saab taimerit juhtida ning anda erinevatele seadmetele erineva sagedusega clk-tsükleid.
cnt 0 – irq controller, priority 0
cnt 1 – memory refresh
cnt 2 pc-speaker
Sisend-väljundseadmed
35. Klaviatuur:
sisendseade, mis kujutab endast maatriksit lülititest (magnetiline induktsioon, mehaaniline deformatsioon, takistuse muutumine). Skaneerimine: saadetakse välja rea kood, milles skaneeritava rea väärtus 0, loetakse sellele vastav veeru kood, kui selles on toimunud teatavad muutused, analüüsitakse koodi ning leitakse vastav lüliti, mis on alla vajutet.
36. Hiir ja juhtkang:
Hiir: seade, milles ümmargune kuul liigutab pööreldes kaht rullikut (vastavalt x- ja y-telg), rullikud pööravad augukestega kettaid, mille ühel pool asub valgusdiood, teisel aga fototransistor (genereerib elektriimpulsi, kui saab valgustet).. rulliku pöörlemisel tekkinud elektriimpulsid loetakse kummalgi kettal kahe transistori poolt tekitet impulssidest kontrolleris kokku ning arvutatakse hiire liikumistee. Kokku saadetakse arvutisse 3B = nupud + x-telg + y-telg.
Juhtkang: koosneb kahest takistist, mida mööda saab liugkontakte libistada, muutes vastava telje takistust --> pinget. Pingemuutus registreeritakse kontrolleris ning muudetakse kahendkoodiks, mis saadetakse CPU-sse.
37. Kuvar:
CRT kuvar: Cathode Ray Tube: kasutatakse metallide omadust termoemiteerida elektrone. ~600 kraadini kuumutatud katoodist hakkavad välja lendama elektronid, mis kiirendadatakse ~20 000 .. 25 000 V potentsiaalide vahega. Katoodi lähedale paigutatud võrgul oleva laengu muutmisega saab reguleerida väljalendava elektronidevoo intensiivsust. Elektonkiir koondatakse laetud plaatide vahel ning kallutatakse mähise abil, tabamaks kindlat piirkonda fosforkattel.
Kujundi moodustamine: kallutusmähisega mõjustatult tekitab elektronkiir ekraanile siksakilise mustri, mille eri punktides kiire intensiivsuse erinevused (videomälust saadud koodide järgi) tekitavad inimsilma jaoks illusiooni ekraanil olevast reaalse maailma peegeldusest.
Saadakse n veergu ja m rida, mille Cartesiuse korrutise iga punkti jaoks saadakse videomälust kood, vastavalt sellele laeb DigitalAnalogConverter võrgu.
Dot clk / n / m = crt syncro
Aadressi moodustaja järgi saadab videomälu crt signaali.
Videomälu: Dot clock annab aadressigeneraatorisse impulsi, viimane saadab aadressi videomällu (realiseeritud tavaliselt kahepordiliste nihkeregistrite baasil), mis samal ajal vahetab infot (aadresse ja datat) CPUga. Videomälu tühjendab oma nihkeregistri crt-väljundisse, kus see läbib DAC ja jõuab monitori.
Videokaart: video RAM, graphics controller (accelerator), 3D/mpeg co-processor / controller, bus connector form CPU, DAC + bus to crt. Saab CPU-lt andmeid edastatava pildi kohta, arvutab täpsed aadressid ja värvid (color lookup table), konverteerib need analoogi.
LCD: Kahe elektroodi vahel asub vedelkristall, mis teatud pinge andmisel polariseerib valgust (90¤). Tagant langeb ekraanile polariseerimata valgus, mis läbib filtri, mis hoolitseb veelkord polarisatsiooni nullistamise eest, siis läbib valgus LC kihi, mis kas polariseerib selle või mitte, olenevalt elektroodide pingest. Vedeklristallist teisel pool asub 90¤ polariseeriv filter, mille läbib ainult polariseeritud valgus.
Passiivne maatriks: tavaline rea & veeru valimine paneb ruudu helendama, helendab niikaua, kuni pinget antakse.
Aktiivmaatriks: baseerub Thin Film Transistoril: rea ja veeru registritest saadetakse kood, mille järgi hakkavad helendama vastavad cell'id, helendus kestab uue signaali saabumiseni ilma pinget alal hoimata. Laptops.
värviline kujund: kolm elektronkahurit: RGB. Kõik on erineva nurga all. Ekraani ette on pandud augukestega 'mask', et eri kahurite vood üksteist segama ei hakkaks. Iga augukese kohta antakse igale kahurile sõltumatu heledus – moodustuvad segunenud värvid.
plasmakuvar: pilt tekitatakse ioniseeritud keskkonna (plasma) elektrilise mõjutamisega
elektroluminesentskuvar: pilt genereeritakse gaaslahendust kasutades
38. Puudutustundlik ekraan:
Takistusel põhinev: ekraani peal kilekiht, millel takistitega maatriks. Selle peal teine kile. Vajutus ekraanile muudab maatriksi mingi elemendi takistust: ridade ja veergude pingete skaneerimisega on võimalik kindlaks teha, kuhu vajutati. Alalisvool.
Mahtuvusel põhinev: Ekraani igas nurgas voolab vahelduvvool. Kui asetada sõrm vastu monoliitset klaasist ekraanipinda, muutub selle mahtuvus. Nurkade kaudu mahtuvusi arvutades ja trianguleerides, saab leida vajutuskoha koordinaadid.
39. Printer:
Perifeeriaseade arvutist tulevate andmete trükkimiseks mingile maisele kandjale.
Maatriksprinter: printimispeas asub nõeltest maatriks, iga nõela taga on solenoid, millesse voolu laskmisel magnetväli tõukab nõela peast välja. Paberi ja nõela vahel on trükilint, mis jätab paberile täpi. Täppidest moodustub kujund.
Õisprinter: ümmargune printpea, mille küljes ASCII märgid, pea pööratakse õigesse asendisse ning antakse impulss vastavale märgile, mis lööb läbi trükilindi jälje paberile.
Pallprinter :): sfääriline printpea, mis pööratakse ümber rotating telje ja tilting telje vastava märgiga kohani ja lüüakse siis läbi trükilindi paberile.
Tindiprits: tindianumast pumbatakse tint peenesse torusse, kust lennutatakse see tilkade kaupa välja. Lennutajaks on piesokristall, mis elektriimpulsile reageerib deformatsiooniga. Väljalennanud tindtilk juhtakse horisontaalsete ning vertikaalsete laetud plaatidega õige kohani paberil.
Laserprinter: Laser muudab prinditava kujundi valgustäpikesteks, mille abil muudetakse laengut valgustundlikul trumlil. Trummel paigutatakse tahmaanuma lähedale. Anumast lendunud tahmaosakesed tõmmatakse trumli laetud piirkondadele. Tahmane trummel surutakse vastu paberilehte ning tahm kuumutatakse paberile kinni.
Laserkiir peegeldatakse ning moduleeritakse. Siis peegeldatakse kiirt omakorda pöörleval trumlil, mille abil skaneeritakse paberile read.
Ilma laserita saab ka: valgusallikas --> LCD shutter --> koondav lääts --> trummel
Värviline laserprinter: neelamise printsiip
cyan – neelab punast, R
magenta - neelab rohelist, G
yellow – neelab sinist, B
black –neelab valget
40. Plotter: printer, milles ei liigu mitte paber vaid printimispea, milleks on enamasti mingi kirjapulk. Võimaldab suure täpsusega teha tehnilisi jooniseid.
41. Skanner: CCD-alus. Valgustundlik alus, mida libistatakse valgustatud pinna lähedal. Kuna erinevad RGB värvid jätavad alusele erineva potentsiaaliga impulsi on võimalik ka värve scannida.
CCD aluse all läbi ADC nihkeregister, mis saadab loetavad väärtused väljundporti.
42. Modem:
MOdulator-DEModulator: AM, FM, Phase Modulation (üleminek = faasinihe)
Konverteerib arvutist tuleva digitaalsignaali analoogkujule ning, vastupidi, võrgust tuleva analoogsignaali digitaalkujule.
Kvantimise viga on ±0.5Q (kus Q on väikseim digitaalse muutusena kajastuv muutus analoogsignaalis).
43. Analoogliides:
Digitaal-analoog konverter – muudab kahendkoodis signaali pidevaks analoogsignaaliks. Paralleelkujul ülekantava signaali jaoks näiteks pingete summaator, mille abil saab määrata, kui mitu 'ühte' on antud signaalis.
Või siis analoogimine, milles igas järgus paiknevale ühele antakse kindel pingenivoo (teistest suhteliselt erinev) ning pingete summeerimisega on võimalik määrata mistahes kood.
Analoog-digitaal muundur: analoogsignaal lastakse läbi mitme erineva takistusega dioodi. Vastavalt sellele, kui mitu dioodi on jõudnud diskreetimisel pingenivoole '1', leitakse koodimuunduris kahendkood. Pingete analüsaator.
Temperatuuriandur: Termopaar + ADC.. vastavalt termovoolu tugevusele.
Luksmeeter: pingeallikas + fotodiood + ADC .. vastavalt dioodi takistuse suurenemisele.
Spidomeeter: pöörlemisteljele on hulknurgakujuliselt paigutatud piesokristallid, nende deformatsiooni tõttu tekkinud elektriväli mõõdetakse ning läbi komparaatori leitakse selle väärtus.
Spetsiaalne riistvara
44. Spetsiaalse riistvara realiseerimise võimalused:
Programne realisatsioon + riistvaraline realisatsioon: CPU-ga ühendatakse siine mööda mikrokontroller (RAM, ROM, CLK, CPU + pordid), selle külge omakorda riistvaraline skeem / trükkplaat.
Tegevust kontrollib multifunktsionaalne CPU oma programmide ja algoritmidega, infot edastab spetsiaalne kontroller.
Odav, laiendatav, aeglane, kohmakas.
Võimalik ka puhtalt riistvaraline lahendus --> sellisel juhul luuakse iseseisev trükkplaat, mis sobib ainult antud ülesande lahendamiseks.
Ülesande püstitamine --> projekteerimine --> mikroskeemi valmistamine --> Application Specific Integrated Circuit
Kallis, kiire, sobib suurte andmekoguste ning ekstremaalsete rakenduskohtade jaoks.
Programmeeritav loogika:
Tehnoloogiad:
SRAM tech – StaticRAM trigerid ühendatakse mux-ga.
AntiFuse tech – programmeeritavad maatriksid, milles saab erinevaid programme luua, põletades programmaatoriga maatriksi sõlmedest 'fuse' ühendusi.
metall-amorfne_räni-metall ühendused.
EPROM tech – ErasableProgrammableReadOnlyMemory – EPROM transistorid, millel npn-ühenduse paisu ning pooljuhi vahel on veel teine, nn ujuvpais, mis ei lase laengul transistorist hajuda, kuid võimaldab andmeid UV-kiirgusega kustutada.
(näiteks segmentindikaatori juhtimine püsimäluga --> sisenditeks on aadressid 1..2..3 etc)
Programmeritavad maatriksid:
PLA – Programmable Logic Array
Enamasti ei lähe vaja mitme muutuja Boole'i funktsiooni muutujate kõigi kombinatsioonide kasutamist – seega sisaldavad dekoodrid jms elemendid ülearuseid transistoreid.
Konjunktsioone realiseeriv maatriks + disjunktsioone realiseeriv maatriks.
AND-OR-NOT – f.-nide süsteemi jaoks.
PLA põhimõte – tehakse maatriks, mille veergudeks sisendelemendid ja nende inversioonid, ridadeks pingestatud ühendused. Igas sõlmes asub transistor, mille kollektor on trükitud äärmiselt peene juhtmena (põleb läbi pingel +2Vh).
Vastava programmaatoriga saab teatud ühenduskohtades connectionid läbi põletada ning panna maatriksi väljundina realiseerima mingi kindla Boole'i funktsiooni DNK-d.
Kasutaja poolt programmeritavad maatriks-struktuurid:
FPGA – Field Programmable Gate Array
Maatriks loogikaelementidest (AND, NOT, OR, ..), mille ümber, maatriks välimiste elementidena asuvad sisend-väljundblokid. Luues maskiga? ühendusi maatriksi sees ning paigutades sisendid-väljundid, saab skeemi panna realiseerima mistahes Boole'i f.-ni.
Loogikablokid:
Look-up Table – mingi register, SRAM, ROM, whatever, milles on võimalik säilitada seosed sisendite vahel. Kasutades sisendväärtuste kombinatsiooni aadressina, saab väljundiks vastava seose LUT-st.
Mux-realisatsioon – andmesisenditeks loogilised '0' & '1', juhtsisenditeks f.-ni muutujad. Mux-de ühendused loovad vastavad loogilised seosed.
I/O-blokid – reguleeritakse mux-de ning eripidi asetsevate dioodidega
FPGA arhitektuurid:
Sümmeetriline – maatriks
Row-based – ridades
Sea of gates – loogikablokid tihedalt üksteise kõrval
Hierarhiline
FPGA-del põhineva riistvara programmeerimine
Riistvara kirjeldus (Boole'i f.-nid)
Loogiline optimeerimine & minimeerimine
Ülesande jaotamine (Technology mapping)
Osaülesannete paigutus
Trasseerimine
Programmeerimine-konfigureerimine
45. Erinevate spetsiaalse riistvara realiseerimise võimaluste kasutusvaldkonnad ja võrdlus:
Programne lahendus:
Odav, aeglane, paindlik. Kasutusvaldkonnad peamiselt mitte väga nõudlike ning väikesemahuliste ülesannete juures.
Riistvaraline realistatsioon trükkplaadina:
Kallis, keerukas, väga kiire, jäik. Sobiv suuremahuliste, andmerohkete ning ekstreemsetes oludes läbiviidavate ülesannete lahendamise jaoks. Väikeste tootmismahtude juures hirmkallis. Juba loodud skeemi ei saa ümber konfigureerida.
PLA:
Paindlik, odav, säästlik, kuna kasutab optimaalset hulka kristalli pinda. Anti-fuse tehnoloogia vajab suhteliselt täpset tootmist, muidu võivad tekkida läbilöögid.
Ühe ja sama algmaatriksiga võib eri maskide abil luua erinevaid skeeme.
Väikesemahuline tootmine. Ülesanded, mis vajavad kiiret, ka ebatavalistesse füüsikalistesse tingimustesse sobivat riistvara.
FPGA:
Kaustaja poolt programmeritav. Paindlik. Kasutab optimaalset hulka kristalli pinda.
|