Procesoriaus architektūra laikoma jo vidinė organizacija visų pirma programuotojo požiūriu. Ją didele dalimi apibrėžia procesoriaus komandų sistema. Tam, kad komandos galėtų būti įvykdytos, procesoriuje būtini tam tikri funkciniai blokai. Procesoriaus funkcionavimo organizavimas lemia, kaip tie blokai vienas su kitu sąveikauja.
Komandos, kurias atlieka procesorius skirstomos į skaliarines ir vektorines.
Komanda vadinama skaliarine, jei jos operandai yra skaičiai (skaliarai).
Komanda vadinama vektorine, jei operandai ir, dažniausiai, rezultatas yra vektoriai (skaičių masyvai). Duomenų masyvui (vektoriui ) apdoroti panaudojama vektorinė komanda.
Vektorinės komandos pavyzdys: eiliniai dviejų masyvų elementai sudauginami, gautas rezultatas prisumuojamas prie nurodyto registro turinio, po to išrenkami kiti masyvų elementai ir veiksmai kartojami ciklų skaitiklyje nurodytą skaičių kartų. Vektorinių komandų vykdymo sparta didesnė, nes nereikia daugelio komandų išrinkimo, dešifravimo ir t. t., tačiau vektorinės programos sudėtingesnės, iš esmės tai – lygiagretaus tipo programos.
Šiuo metu plačiausiai sutinkam du procesorių architektūrų su lygiagrečiu komandų vykdymu tipai:
Ø Superskaliarinės architektūros procesoriai
Ø Procesoriai su ilgu komandos žodžiu.
Superskaliarinės architektūros procesorių komandų sistemoje nėra jokių lygiagretaus duomenų apdorojimo nuorodų. Pavadinimas juos atriboja nuo vektorinių procesorių ir tuo pačiu parodo jų vidinę lygiagretaus tipo architektūrą, įgalinančią vienu taktu gauti keletą skaliarinių operacijų rezultatų.
Apibendrinta elementaraus nuosekliai komandas vykdančio skaliarinio procesoriaus architektūra pateikta 2.1 pav.. Su tokio procesoriaus darbu susipažinome modulyje 1.
2.1 pav. Skaliarinio procesoriaus sandara
Komentarų nėra:
Rašyti komentarą