1. Komanda vadinama skaliarine, jei jos operandai yra skaičiai (skaliarai).
2. Komanda vadinama vektorine, jei įvesties operandai ir, dažniausiai, rezultatas yra vektoriai (skaičių masyvai).
3. Duomenų masyvui (vektoriui ) apdoroti panaudojama vektorinė komanda.
4. Šiuo metu plačiausiai sutinkam du procesorių architektūrų su lygiagrečiu komandų vykdymu tipai: superskaliarinės architektūros procesoriai ir procesoriai su ilgu komandos žodžiu.
5. Superskaliarinės architektūros procesorių komandų sistemoje nėra jokių lygiagretaus duomenų apdorojimo nuorodų.
6. Procesoriuose su ilgu komandos žodžiu (VLIW) specialiuose komandų laukuose yra nuorodos dėl lygiagretaus duomenų apdorojimo.
7. Pagrindinės problemos, kurias projektuotojai turi išspręsti projektuodami superskaliarinius procesorius yra: komandų priklausomybės pagal duomenis pašalinimas, adresų ir duomenų apdorojimo paskyrimas atskiriems procesoriams, išankstinis komandų išrinkimas ir nukreipimų nuspėjimas.
8. Adresų ir duomenų apdorojimo paskyrimas atskiriems procesoriams įgalina sutapatinti laike adresų ir duomenų apdorojimą. Adresai visada yra tik sveiki skaičiai. Tuo tarpu duomenys gali būti ir slankaus kablelio formos. Parengti adresai ir duomenys sudaro eiles, todėl tik atsilaisvinus techniniams resursams, operacija vykdoma nedelsiant.
9. Nemaža kliūtimi organizuojant lygiagretųjį duomenų apdorojimą yra programoms charakteringi ciklai. Nukreipimo sąlygos formavimas, komandos išrinkimas, dešifravimas ir veiksmų su adresais atlikimas užima nemažai laiko, todėl konvejeriuose atsiranda tušti taktai. To išvengti įmanoma tokiais būdais: nuspėjant nukreipimus, keičiant atliekamų komandų eiliškumą, sąlyginai vykdant tiek nukreipimo, tiek ir kitos programos šakos komandas.
10. Nuspėjant nukreipimus, nelaukiama kol sąlyga bus patikrinta, o pradedamos vykdyti nukreipimo (dažniausiai tai naujo ciklo) komandos. Jei vėliau išaiškėja, kad nuspėjimas neteisingas, tenka atliktus veiksmus anuliuoti.
11. Keičiant atliekamų komandų eiliškumą taip pat galima išvengti tuščių taktų, tačiau duomenų tarpusavio priklausomybių šalinimas tuo atveju vėlgi lėtina procesoriaus darbą.
12. Sąlyginai vykdant tiek nukreipimo, tiek ir kitos programos šakos komandas užimami du konvejeriai, tačiau vieno iš jų darbas gali būti pratęstas po to, kai patikrinama nukreipimo sąlyga.
13. Kadangi vienu taktu superskaliariniame procesoriuje reikia išrinkti kelias komandas, padidinti reikalavimai keliami procesoriaus – atmintinės magistralei, pirmiausia jos pločiui.
14. L1 priešatmintinės duomenims ir komandos naudojamos atskiros. Dešifruotos ir parengtos vykdyti komandos perduodamos į buferinius įtaisus ir, atsilaisvinus reikiamiems vykdomųjų įtaisų resursams, jos patenka į atitinkamus vykdymo konvejerius. Apdorojami duomenys perduodami iš atitinkamų registrų.
15. Svarbu, kad atliktų operacijų rezultatai būtų pertvarkomi ir fiksuojami taip, kaip numatyta programos kode.
16. Simetrinė multiprocesorinė sistema SMP (Symmetrical Multi Processor system) - tai sistema, kur visi procesorius turi vienodas teisės naudoti operatyvinę atmintinę.
17. NUMA (Non-Uniform Memory Access system). Sistemose atmintinė tampa sudėtingesnės organizacijos. Kai kurios atmintinės sritys veikia sparčiau, o kai kurios lėčiau.
Komentarų nėra:
Rašyti komentarą