• Käsutaseme parallelism
  • Superskalaarsed arhitektuurid
  • C.1.2.3 Mikroprotsessori omadused ja jõudlus
  • C.1.3 Arvutiarhitektuurid C.1.3.1 Üldotstarbelise arvuti arhitektuur
  • Arvuti komponendid ja arhitektuurid




    Download 145.06 Kb.
    bet4/6
    Sana21.03.2017
    Hajmi145.06 Kb.
    1   2   3   4   5   6

    C.1.2.2 Käsukonveierid ja käsu taseme parallelism

    Konveier


    Konveieri meetod kasutab ära seda seika, et mis tahes käsku võib vaadelda kui eraldiseisvat mikrooperatsioonide jada. Konveiermeetodi aluseks on mikrooperatsioonide ajaline kattuvus, mis vastavad eri käskudele, just nagu koosteliinil (konveieril). Näiteks laetakse iga käsk eraldi dekodeerimisregistrisse (väljakutsumine), dekodeeritakse ja lõpuks täidetakse. Samaaegselt suudab protsessor hallata kolme erinevat käsku, millest üks on väljakutsumise astmel, üks dekodeerimise astmel ja üks täitmise astmel.

    Konveierid koosnevad tavaliselt kolmest astmest:



    • väljakutsumise juhendid mälust

    • registrite lugemine ja käskude dekodeerimine

    • käsu täitmine ja aadressi arvutamine

    • operandi juurdepääs andmete mälus

    • tulemuste kirjutamine registritesse.

    Alati pole konveieris võimalik kasutada järgnevate käskude osalist kattumist. See võib juhtuda siis, kui näiteks järgneva käsu täitmine sõltub käsiolevate käskude tulemustest (tingimusliku hargnemise käsk). Sellisel juhul on ikkagi vajalik oodata käsioleva käsu lõpetamist enne uue käsu täitmise alustamist. Sellises olukorras öeldakse, et konveieril on seisak.

    Seisak võib veel juhtuda siis, kui mingi käsk nõuab operandina eelmise käsu tulemust. Loomulikult vähendab konveieri peatumine süsteemi jõudlust. On olemas mitmesuguseid tehnikaid, kuidas seisakuid vältida, muuhulgas käskude järjekorra ümberkorraldamine (püüdes vältida olukorda, kus mingile käsule eelnevad vahetult sellised käsud, millest selle täitmine sõltub).


    Käsutaseme parallelism


    Käsutaseme parallelism (ILP) viitab võimalusele täita mitut käsku samaaegselt. On olemas kaks varianti ILP lahendusteks:

    • Rohkemate käskude samaaegne täitmine, mis peavad siiski olema erineval täitmise astmetel. Sellisel juhul on tegemist konveieriga.

    • Eri käskude samal astmel oleku võimaldamine. See lahendus muidugi nõuab täitmise ressursside mitmekordistamist. Seda lahendust pakub superskalaarne protsessor.

    Erinevat lähenemist kasutab ilmutatud paralleelkäskudega arvutamine (EPIC), eriti just ülipikk käsusõna (VLIW) kasutavad arhitektuurid, kus üks makrokäsk rühmitab enda alla rohkem käskusid, kasutades erinevaid funktsionaalseid seadmeid.


    Superskalaarsed arhitektuurid


    Me nimetame superskalaarseteks selliseid arhitektuure, mis on varustatud rohkem kui ühe konveieriga. Selliste arhitektuuride puhul on funktsionaalsed seadmed konveieris dubleeritud. Seega peale rohkem kui käsu samaaegsele täitmisele on käsil erinevad käsud samal täitmise astmel. On olemas kaks lahendust superskalaarses protsessoris:

    • sõltumatud konveierid: iga funktsionaalne seade kuulub mingi kindla konveieri juurde

    • osaliselt kattuvad konveierid: funktsionaalsete seadmete osas kulude kokkuhoidmiseks on mõned seadmed eri konveierite jaoks ühised.

    Teisel juhul vajatakse täiendavaid riistvara komponente, mis võimaldaksid lahendada konflikte, kus konveierid üritavad juurdepääsu samale jagatud seadmele üheaegselt.

    Intel Pentiumi protsessoril on konveier u, mida saab kasutada ükskõik milliseks operatsiooniks, ning konveier v, mida saab kasutada ainult lihtoperatsioonideks, mis teostatakse täisarvulistel operandidel.


    C.1.2.3 Mikroprotsessori omadused ja jõudlus


    Erinevate arhitektuuride võrdlemiseks on väga oluline suuta mõõta protsessori jõudlust nii projekteerija kui kasutaja perspektiivist. Kaasaegsete protsessorite keeruline ehitus muudab aga raskeks protsessori jõudluse võrreldava mõõtmise. Minevikus võeti taktsagedus, st. pöördimpulsi pikkus (takti lõpule viimise aeg) kasutusele protsessori jõudluse mõõtühikuna. Kaasaegsetes süsteemides ei ole taktsagedusel enam nii määravat tähendust, sest näiteks konveiersüsteem, milles teostatakse n astet, võib olla niisama kiire kui n kordse kiirusega protsessor ilma konveierita.

    Hiljem võeti mõõtühikuna kasutusele MIPS ehk miljon käsku sekundis. Kui ka see ühik osutus ebakohaseks erinevate arhitektuuride võrdlemisel.

    Praegu toetutakse sobivatele tarkvarakomplektidele, mida nimetatakse reeperiteks). Kui neid rakendatakse erinevates süsteemides, siis võimaldavad need arvutite projekteerijatel võrrelda jõudlusi eksperimentaalsel teel saadud tulemuste põhjal.

    C.1.3 Arvutiarhitektuurid

    C.1.3.1 Üldotstarbelise arvuti arhitektuur


    Arvutisüsteem koosneb põhimõtteliselt järgmistest funktsionaalsetest seadmetest:

    • Sisend/väljundseadmed, mis võimaldavad andmevahetust välismaailmaga (kasutajad, välisseadmed, teised arvutid jne), millega arvuti peab suhtlema. Need kohandavad vajadusel sellise informatsiooni arvutisiseselt kasutatavasse formaati.

    • Mäluseade, mis on vajalik töödeldava tarkvara ja andmete (sisend- ja väljundandmete ning vahetulemuste) salvestamiseks.

    • Töötlusseade (protsessor), ms dekodeerib ja täidab mäluseadmesse salvestatud programmi käske.

    • Sidumisseade (Bus), mis on vajalik ülalnimetatud seadmete ühendamiseks, et võimaldada andmevahetust.


    Mälu on arvutisüsteemi funktsionaalne seade, mis salvestab programme ja andmeid. Mälus teostatavateks elementaarseteks operatsioonideks on: valik, lugemine ja kirjutamine. Operatsioonide valimine määrab ära mälu füüsilise osa (“asukoht” või “pesa”), kuhu andmed salvestatakse (kirjutamise operatsiooni abil) või kust andmed hangitakse (lugemise operatsiooni abil). Mälus füüsilise osa valimise aluseks on väärtus, mis on unikaalne ning kinnistatud selle osa juurde (“aadress”).

    Hinna ja jõudluse optimeerimiseks sisaldavad arvutisüsteemid sageli mitut tüüpi mälusid, millel on erinev tehnika ja juurdepääsuviisid ning neid kasutatakse eri puhkudel erinevate ülesannete täitmiseks. Näiteks sisaldab süsteem tavaliselt põhimälu, mis on enamasti valmistatud RAM-komponentidest, mis sisaldavad hetkel täidetavaid programme ja sellega seatud andmeid, ning massmälu, milleks tavaliselt on magnetkettad, mida kasutatakse andmete ja programmide arhiveerimiseks, mida hetkel ei kasutata.



    Sisend/väljundseadmed või välisseadmed vastutavad arvuti ja välismaailma infovahetuse ja andmete sisestamise / väljastamise eest.

    Nad peavad ka teisendama informatsiooni sellistesse formaatidesse, mis oleks arusaadav nii protsessorile kui välismaailmale. Tüüpilisteks sisendseadmete näideteks on klaviatuurid ja hiired, väljundseadmeteks on aga monitorid, printerid ja valjuhääldid. Lisaks on olemas ka seadmeid, mis võivad toimida nii sisend- kui väljundseadmena, näiteks modemid ja võrguliidesed.

    Et protsessor saaks vahetada andmeid välisseadmetega, vajame me:


    • füüsilist meediumi (“siin”)

    • kohast "liidest, mis võimaldaks protsessoril vahetada signaale välisseadmetega

    • signaalide jada (“protokoll”) protsessori ja välisseadme vahelise suhtlemise haldamiseks.

    Kasutatakse mitmesuguseid parameetreid, mis mõjutavad arvutisüsteemi jõudlust. Nendeks on muuhulgas:



    • protsessori parallelism: sisemiste registrite ja funktsionaalsete seadmete ribalaius bittides; tüüpilisteks väärtusteks on 8, 16, 32, 64 bitti.

    • mälu parallelism: mälu masinasõna bittides, st, bittide arv, millele saab korraga ligipääsu ühe kirjutamise või lugemise operatsiooniga

    • Siini parallelism: siini ribalaius bittides

    • Taktsagedus: sünkroniseerimissignaali (kella) sagedus, mis juhib funktsionaalseid seadmeid protsessoris

    • Masina tsükkel: aeg, mis kulub protsessoril väljakutse-rakendamise-dekodeerimise tsükli läbimiseks. Selle pikkust mõjutab nii protsessori taktsagedus kui ka mälu kiirus.
    1   2   3   4   5   6


    Download 145.06 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa


    Arvuti komponendid ja arhitektuurid

    Download 145.06 Kb.