• Hargnemiskäsud
  • Käsupuhvrid
  • Kõige tõenäolisemalt täidetava käsu lugemine
  • Viitega hargnemiskäsud
  • Konfliktid ressursside nõudmisel




    Download 0.86 Mb.
    bet3/11
    Sana25.09.2020
    Hajmi0.86 Mb.
    #11657
    1   2   3   4   5   6   7   8   9   10   11

    Konfliktid ressursside nõudmisel


    Kõige sagedamini tekib konflikt, kui mitu erinevat konveieri osa pöörduvad korraga mälu poole (näiteks üks käsu lugemiseks ja teine operandide lugemiseks).

    Olgu konveier kolmeosaline:



    aeg

    t1

    1.käsu lugemine







    t2

    2.käsu lugemine

    1.käsu dekodeerimine




    t3

    3.käsu lugemine

    2.käsu dekodeerimine

    1.käsu operandide

    lugemine


    Ajahetkel t3 pöörduvad nii esimene kui ka kolmas seade mälu poole, et sealt lugeda. Probleem laheneb, kui kasutatakse mitut erinevat mälumoodulit, siis näiteks 3.käsk ja 1.käsu operandid asuvad erinevates mälu moodulites ja konflikti ei teki.



    Hargnemiskäsud


    Konveieri töö on kõige efektiivsem siis, kui täidetakse üksteisele järgnevaid võimalikult ühesuguse pikkusega käske. Tingimusliku hargnemiskäsu puhul pole teada, milline kahest võimalikust käsust järgmisena täidetakse, sest see sõltub parajasti täidetava käsu tulemusest. Kui hargnemiskäsu tulemusena ei täideta enam järgmist käsku, siis tuleb kogu konveier tühjendada ja uuesti initsialiseerida (s.t. uus esimene käsk sisse lugeda). Mida pikem on konveier, seda rohkem kaotatakse aega. Ajakulu vähendamiseks hargnemiskäskude puhul kasutatakse põhiliselt kolme erinevat strateegiat:

    1. käsupuhvrid;

    2. loogika kõige tõenäolisemalt täidetava käsu lugemiseks;

    3. viitega hargnemiskäsud.


    Käsupuhvrid


    Käsupuhvreid kasutatakse selleks, et lugeda mälust mõlemad võimalikud täidetavad käsud. Käsupuhvrid moodustavad osa konveierist ja suurendavad konveieri pikkust.


    Probleem tekib siis, kui programmis on järjestikku mitu hargnemiskäsku. Kahe järjestikulise hargnemiskäsu puhul on siis juba neli erinevat haru, 3 puhul 8, jne.

    Kõige tõenäolisemalt täidetava käsu lugemine


    Kasutatakse spetsiaalset loogikat, et ennustada, milline hargnemiskäsu harudest kõige tõenäolisemalt täidetakse. Selleks on mitmeid erinevaid meetodeid. Kõige lihtsam ja sagedamini kasutatav on strateegia kus sama hargnemiskäsu järjekordsel täitmisel eeldatakse, et täidetakse sama haru, mis eelmine kordki.

    Viitega hargnemiskäsud


    Hargnemiskäsku ei täideta mitte kohe, vaid paari-kolme hargnemiskäsule järgneva käsu järel. Siis ei ole vaja konveierit vahepeal tühjendada. Olgu näiteks kahest seadmest koosnev konveier (eraldi seadmed käsu lugemiseks ja käsu täitmiseks):
    aeg käsu lugemine käsu täitmine

    t1

    hargnemiskäsu lugemine




    t2

    järgmise käsu lugemine




    t3

    hargnemine

    järgmise käsu täitmine





    Download 0.86 Mb.
    1   2   3   4   5   6   7   8   9   10   11




    Download 0.86 Mb.