| s-201
| Tehnilistele tingimuste kohaselt suudab mälulülitus TC58DVG02A1 korrektselt täita mitte vähem kui 100 000 programmeerimis-kustutustsüklit. |
| s-202
| Normaalsetes keskkonnatingimustes peaks informatsioon säilima mälulülituses kuni kümme aastat. |
| s-203
| Joonis 3. |
| s-204
| Välkmälulülituse TC58DVG02A1 sisemine hierarhiline korraldus |
| s-205
| Välkmäludraiv USB Thumb Drive suhtleb hostseadmega kiire USB 2.0-standardile vastava liidese kaudu. |
| s-206
| USB Thumb Drive 'i ühendamine hostseadmega võib toimuda kuum_v_hetus_reþiim. |
| s-207
| Kui hostseadmes töötab operatsioonisüsteem Windows ME, Windows 2000, Windows XP, Mac OS 9-10X või Linux 2.4.17, siis välkmäludraivi kasutamiseks ei ole vaja mingeid täiendavaid draivereid hosti installeerida (hosti USB-porti ühendatud USB välkmäludraiv on otsekohe töövalmis). |
| s-208
| Teatavasti kuuluvad USB-tüüpi liidesed jadaliideste klassi. |
| s-209
| Kuigi jadaliidesed on suhteliselt lihtsa konstruktiivse lahendusega ja küllaltki töökindlad, piirab nende kasutamist piiratud infoläbilaskevõime. |
| s-210
| Jadaliides edastab samu liine pidi nii andme-, aadressi- kui ka juhtinformatsiooni, kusjuures andmevahetus toimub pooldupleksreþiimis. |
| s-211
| Seetõttu toimuvad ka USB-liideses andmeedastused üksteisele järgnevaist seanssidest, millest igaüks sisaldab üht või enamat andmeülekannet. |
| s-212
| Iga andmeülekanne võib koosneda ühest kuni kolmest paketist ehk edastuse faasist, mis toimuvad kindlas järjestuses. |
| s-213
| Esmalt kantakse üle loapakett (token packet), seejärel andmepakett (data packet) ja ülekande lõpetab konkreetse andmeülekande käitluspakett (handshake packet). |
| s-214
| Maksimaalselt kantakse USB-liideses ühe andmeülekande jooksul host- ja välisseadme vahel üle 64 baiti. |
| s-215
| Näiteks 1024 baidist koosneva andmemassiivi ülekandeks tuleks sooritada 16 tehingut. |
| s-216
| Kaua selliseks operatsiooniks aega kulub, sõltub eeskätt sellest, kas kasutatakse USB1.1 või USB 2.0 liidest. |
| s-217
| Kui “ aeglase ” USB1.1-liidese maksimaalseks andmeedastuse kiiruseks on kuni 12 megabitti sekundis, siis “ kiire ” USB 2.0-liidese edastuskiirus küünib juba 480 megabitini sekundis. |
| s-218
| Suuremahuliste andmemassiivide ülekandel võib tunduda USB välkmäludraiv aeglasevõitu ja tihti peetakse töökiiruse languse põhjuseks USB-liidese piiratud infoläbilaskevõimet. |
| s-219
| Enamasti kipub süüdlaseks olema hoopiski laisavõitu välkmälulülitus. |
| s-220
| Paljudes USB välkmäludraivides sisalduvate välkmälulülituste infoläbilaskevõime ei ületa 100 megabitti sekundis. |
| s-221
| Kuna USB välkmäludraive kasutatakse valdavalt suuremahuliste teisaldatavate andmekandjatena, mitte aga kõvaketta asendajatena, siis seadmete piiratud jõudlus ei tohiks olla eriti tõsiseks probleemiks. |
| s-222
| LÕPETUSEKS |
| s-223
| Tehnilise progressiga kaasneb paratamatult seniste paradigmade kriitiline ümberhindamine. |
| s-224
| Arvutimälude maailmas on toimumas magnetilise andmekandjaga elektromehaaniliste mäluseadmete asendamine täiselektroonilistega. |
| s-225
| Viimaste üheks populaarsemaks esindajaks on mäluseadmed välkmäludel. |
| s-226
| Välkmälude tormiline võidukäik kuulutab paratamatut kadu vanamoodsatele kohmakatele mürarikastele ja võrdlemisi kapriissetele magnetlinte või -kettaid kasutavaile mäludraividele. |
| s-227
| USB välkmäludraivide head tehnilised näitajad - pidevalt suurenev infomahutavus, minimaalne energiatarve, kõrge töökindlus, väliskeskkonna kahjulike mõjude (elektromagnethäiringud, vibratsioon, temperatuuri kõikumine jne) taluvus, mehaaniliste sõlmede puudumine, väikesed gabariidid ja mass, käsitsemise lihtsus ning suhteliselt madal hind - on põhjusteks, miks need seadmed on arvutikasutajaskonna seas muutunud nii menukaiks. |
| s-228
| Lähitulevikus keskenduvad USB välkmäludraivide tootjad seadmete komponentide edasisele vähendamisele. |
| s-229
| Peagi on oodata, et valmivad suure infomahutavusega USB välkmäludraivid, mis tuginevad vaid ühele lausintegraallülitusele. |
| s-230
| Seeläbi lihtsustuks seadmete tootmistehnoloogia ning alaneks välkmäludraivide maksumus. |
| s-231
| Loodetavasti peaksid ilmuma ka esimesed traaditud USB välkmäludraivid ja välkmäludraivid, mis on varustatud väga kiire Firewire-liidesega (IEEE 1394, 1394b). |
| s-232
| Vajadus tõsta mikroprotsessorite jõudlust sunnib pidevalt täiustama olemasolevaid ja otsima uusi, veelgi paremaid protsessorarhitektuure. |
| s-233
| Mikroprotsessorite arendamisel pööratakse praegu enim tähelepanu superskalaarse, superspekulatiivse, multiskalaarse, andmeskalaarse arhitektuuriga ning jäljeprotsessoritele. |
| s-234
| Nimetatud protsessorarhitektuuridest kolme on lähemalt kirjeldatud artiklis “ Monomikro- protsessorite arhitektuuri põhilisi arengusuundi ”. |
| s-235
| Kui lühidalt meenutada, siis olenevalt käsuvoo töötluse korraldusest protsessoris eristatakse enamasti järgmisi põhilisi arhitektuurseid lahendusi. |
| s-236
| 1. Protsessorite arhitektuurid, kus jõudluse tõus saavutatakse üheainsa käsuvoo töötlemise kiirendamise kaudu. |
| s-237
| Selle suuna esindajateks on superspekulatiivse ja täiustatud superskalaarprotsessori arhitektuurid. |
| s-238
| 2. Protsessorite arhitektuurid, kus jõudluse tõstmiseks rakendatakse mitme käsuvoo töötlust, s.t harg- ehk lõimtöötlust. |
| s-239
| Võtet rakendatakse simultaanse hargtöötlusega protsessoris ja kiipmultiprotsessoris. |
| s-240
| 3. Protsessorite arhitektuurid, kus hargtöötluse võtteid kasutatakse ühe käsuvoo sees. |
| s-241
| Antud arhitektuuri esindavad jälje-, multiskalaarne ja andmeskalaarne protsessor. |
| s-242
| Järgnevalt vaatlekski veidi lähemalt kolmanda arhitektuurse suuna kahte esindajat - multiskalaarse ja andmeskalaarse arhitektuuriga protsessorit. |
| s-243
| Mis puutub jäljeprotsessorisse, siis seda on kirjeldatud ülalmainitud artiklis. |
| s-244
| MULTISKALAARSE PROTSESSORI ARHITEKTUUR |
| s-245
| Nimetus “ multiskalaarne ” tuleneb protsessori struktuursest korraldusest. |
| s-246
| Multiskalaarset protsessorit võib vaadelda kui kogumit jadamisi talitlevaist (skalaarseist) protsessoreist, mis töötlevad ühiselt üht jadaprogrammi. |
| s-247
| Multiskalaarse protsessori arhitektuuris väljendub ilmne püüe ära kasutada järjestikuse programmi käsuvoos peituvat sisemist rööpsust ning selle abil tõsta protsessori jõudlust. |
| s-248
| Kui väga lihtsustatult iseloomustada multiskalaarse protsessori tööpõhimõtet, siis võib öelda, et protsessor talitleb printsiibil “ jaga ja valitse ”. |
| s-249
| Multiskalaarse arhitektuuriga protsessoris arendatakse edasi superskalaarses protsessoris kasutatavat võtet, mis seisneb selles, et dünaamiline käsuvoog jagatakse mitmeks, teatavat liiki infoteisendustele spetsialiseerunud piirnevaiks käsukogumeiks. |
| s-250
| Jadaprogrammi tükeldamine käsukogumeiks võib toimuda kas riistvaraliselt, tarkvaraliselt või nende kahe meetodi ühendamisel. |
| s-251
| Moodustunud käsukogumeid töödeldakse rööpselt töötluselementide PE (PE - Processing Element) või nagu neid sageli veel nimetatakse - protsessorüksuste kogumil. |
| s-252
| Iga sellesse kogumisse kuuluv protsessorelement võib olla kas skalaarne või superskalaarne protsessor, mis iseseisvalt sooritab käsuvõtte ja käskude töötlemist. |
| s-253
| Väliselt näib multiskalaarse protsessori arhitektuur sarnanevat monokiipprotsessori ehk CMP arhitektuuriga, kuid sisuliselt on tegemist siiski erinevate protsessorarhitektuuridega. |
| s-254
| Erinevalt CMPst iseloomustab multiskalaarset protsessorit märksa tihedam informatiivne seos üksikute protsessorelementide vahel. |
| s-255
| Kui CMPs töödeldakse käsuvoogude erinevaid harusid (lõimi), mis on staatiliselt moodustatud kas programmeerija või paralleliseeriva kompilaatori poolt, siis multiskalaarses protsessoris töödeldakse jadaprogrammi, mida on rikastatud täiendava järjestusinfoga. |
| s-256
| Et tavalist jadaprogrammi saaks multiskalaarses protsessoris töödelda, tuleb see spetsiaalselt ette valmistada. |
| s-257
| Selleks kirjeldatakse programmi käitumust spetsiaalse juhtvoograafi ehk CFG abil (CFG - Control Flow Graph). |
| s-258
| CFG esitab orienteeritud graafi, mille tippudeks on programmi baas- ehk põhiplokid (basic block). |
| s-259
| Graafi tippe ühendavad kaared tähistavad aga juhtvoo kulgemist ühest põhiplokist teise. |
| s-260
| Programmi töötlemist multiskalaarses protsessoris võib vaadelda kui liikumist piki CFGs moodustunud teid. |
| s-261
| Liikumisel CFGs moodustatakse dünaamiliselt põhiplokkide järjestus, mida täidetakse konkreetsel programmi töötluse etapil. |
| s-262
| Programmi jaotamine üksikuiks tegumeiks (seejuures ei ole nõutav, et tegumid oleksid üksteisest sõltumatud) toimub staatiliselt ning moodustunud tegumite kirjeldus lisatakse CFG kirjeldusse. |
| s-263
| Iga tegum kujutab endast teatavat käskude kogumit, selleks võib olla põhiplokk või mõni suurem osa põhiplokist, programmne silmus jne. |
| s-264
| Programmi töötluse korraldamisel multiskalaarses protsessoris tuleb arvestada asjaoluga, et liikumine CFGs toimub spekulatiivselt, s.t üksikute tegumsammudena (task-sized step) ilma peatusteta selleks, et lähemalt analüüsida tegumi üksikuid käske. |
| s-265
| Kõrge jõudluse saavutamiseks on vajalik, et programmi töötlus toimuks CFGs võimalikult rööpsena (liigutakse rööpselt piki graafi paralleelseid teid). |
| s-266
| Samas ei tohi CFG alusel läbiviidav infotöötluse korraldus rikkuda töödeldava programmi enda seesmist jadastruktuuri. |
| s-267
| Tegumite töötlemist korraldab multiskalaarses protsessoris otseselt tegumijärjesti (task sequencer), mis programmi töötluse käigus järjestab tegumeid spekulatiivselt, eraldades igale tegumile individuaalse töötluselemendi. |
| s-268
| Et paremini esile tuua infotöötluse korralduse põhimõttelisi erinevusi erinevais protsessor- arhitektuurides, on joonisel 1 näidatud, kuidas lähtekoodist (1a), millest lähtuvalt moodustatakse ka CFG, kujuneb konkreetne töödeldavate käskude dünaamiline voog (1b), mida võib töödelda kas tavalises jadaprotsessoris (1c), käsukonveierit sisaldavas protsessoris (1d), superskalaarses protsessoris (1e) või siis multiskalaarses protsessoris (1f). |
| s-269
| Sümbolitega A, B, C, D ja E on joonisel tähistatud erinevad käsud. |
| s-270
| MULTISKALAARSE PROTSESSORI MIKROARHITEKTUURIST |
| s-271
| Multiskalaarse arhitektuuriga protsessoril võib olla erinevaid struktuurseid lahendusi, neist üks tuntumaid on esitatud joonisel 2. |
| s-272
| Kujutatud protsessoris on n protsessorelementi (PE1-PEn), igaühes neist töödeldakse tegumijärjesti poolt neile eraldatud tegumit seni, kuni kõik antud tegumisse kuuluvad käsud on täidetud. |
| s-273
| Et tagada protsessorelementide autonoomne rööpne talitlus, on kõik PEd varustatud individuaalsete riistvaraliste ressurssidega. |
| s-274
| Töödeldavas tegumis sisalduvate käskude säilitamiseks on käsuvahemälu, käskude töötlust sooritab vastav töötlusüksus, lähteandmete ning tulemite säilitamiseks on piisavalt suure infomahutavusega registrikogum. |
| s-275
| Joonis 1. |
| s-276
| Käsuvoo töötlemine erineva arhitektuuriga protsessoreis. |
| s-277
| Joonis 2.. |
| s-278
| Multiskalaarse arhitektuuriga protsessori mudel. |
| s-279
| Multiskalaarse arhitektuuriga protsessori kasutamisel tõstatuvad olulised küsimused: kuidas vältida või minimeerida tegumitevahelistest sõltuvustest tulenevaid jõudluspiiranguid ja kuidas otstarbekalt korraldada tegumitevahelist informatsioonivahetust? |
| s-280
| Multiskalaarse arhitektuuriga protsessoris toimib käskude töötlusesse suunamise kahetasemeline mehhanism, mis arvestab nii tegumite sisemisi kui ka tegumitevahelisi sõltuvusi. |
| s-281
| Tegumisisene mehhanism tegeleb iga tegumi sees käskude dünaamilise järjestuse prognoosimisega. |
| s-282
| Tegumitevaheline mehhanism prognoosib käskude järjestusi tegumeis, võttes arvesse ka tegumisisese prognoosi tulemusi. |
| s-283
| Kui tegumisisesel prognoosil piirdutakse vaid ühe ennusti kasutamisega, siis tegumitevahelisel prognoosil rakendatakse iga protsessorüksuse tarvis individuaalset ennustit. |
| s-284
| Et tagada sisulise jadastatuse säilimine töödeldavas programmis, lähtutakse protsessori töö korraldamisel kahest põhimõttest. |
| s-285
| 1. Igas protsessorelemendis toimub talle eraldatud tegumi töötlemine jadamisi. |
| s-286
| 2. Protsessorelementide kogumisse kuuluvate PEde käivitamine toimub jadamisi. |
| s-287
| Selleks moodustatakse protsessorelementidest ühesuunaline ringstruktuur. |
| s-288
| Joonisel 2 kujutatud multiskalaarse protsessori mudelis on näidatud PEde ringstruktuuris (PE1-PEn) protsessorelement, mis alustab programmi töötlemist esimesena nn pea-protsessorelement, ja viimasena käivituv ehk nn lõpp-protsessorelement. |
| s-289
| PEde kindla käivitusjärjekorra abil tagatakse töödeldavate andmete õige ajaline liikumine nende vahel. |
| s-290
| Mis puutub multiskalaarse protsessori mälusüsteemi, siis seda vaadeldakse kui tervikut, mille moodustavad vastava protsessorelemendi registrikogum ja protsessorelemendile eraldatud individuaalne mälulülitus ehk andmepank AP. |
| s-291
| Multiskalaarses protsessoris toimub andmevahetus nii lokaalselt (protsessorelement-kinnistatud andmepank) kui ka globaalselt protsessorelementide vahel. |
| s-292
| Viimasel juhul toimub andmevahetus sünkroonselt. |
| s-293
| Et tagada protsessorelementidele piisav autonoomsus, varustatakse kõik PEd neile vajaliku üldkasutatava informatsiooniga (üldkasutatava info koopiaga). |
| s-294
| Protsessorelementides töötluse käigus moodustunud tulemite edastamisel teistele PEdele arvestatakse aga eelnevalt kompilaatori poolt genereeritud maske. |
| s-295
| Andmeid edastatakse otse (läbi otseedastuse ringstruktuuri) vaid neile PEdele, mis kasutavad antud protsessorelemendis saadud tulemeid lähteandmetena. |
| s-296
| Andmeedastuse ohjet korraldab vastav registerstruktuur, mis analüüsib andmetega kaasnevaid juht- ehk maskibitte. |
| s-297
| Maskibittide asukoht määratakse kindlaks programmi kompileerimise etapis. |
| s-298
| Tegumi töötlus PEs käivitub vaid tingimusel, et kõik infotöötluseks vajalikud lähteandmed on kasutuskõlblikud. |
| s-299
| Struktuurselt on multiskalaarse protsessori andmemälu korraldatud ühiskasutatavate vahemälusegmentide ehk andmepankade kogumina (AP1-APn). |
| s-300
| Andmepank pole siiski pelgalt andmevahemälu, selle koosseisu kuuluvad lisaks tavalistele mälulülitustele veel kaks olulist lülitust - ARB (Address Resolution Buffer) ja MDT (Memory Dependence Table). |