Projektuojant procesorių, pirmiausiai parenkama komandų sistema.
Komandų sistemas galima klasifikuoti pagal šiuos pagrindinius požymius
Ø    Operando saugojimo vieta
Ø    Operandų tipas ir dydis 
Ø    Komandoje aiškiai nurodomų operandų skaičius
Ø    Operacijų tipai
Vidinės CPU atminties tipas yra pagrindinis skiriamasis požymis. Čia yra 3 alternatyvos: dėklas, kaupiklis ir registrų grupė.
Lentelė 5.1. Pagrindiniai komandų sistemų tipai
| 
Vidinės atminties tipas | 
Pavyzdžiai | 
Aiškiai nurodomas operandų skaičius ALU komandose | 
Rezultato talpinimo vieta | 
Operandų išrinkimo procedūra | 
| 
Dėklas | 
B5500 | 
0 | 
Dėklas | 
PUSH, POP | 
| 
Kaupiklis | 
PDP-8,Motorola 6809 | 
1 | 
Kaupiklis | 
Kaupiklio įkrovimas, įrašymas į atmintį (load, store) | 
| 
Registrų grupė | 
IBM  370, DEC VAX | 
2 arba 3 | 
Registrai arba atmintis | 
Registrų/atminties įkrovimas, įrašymas (load, store) | 
Procesorius nebūtinai naudoja vieno tipo architektūros komandas. Dažniausiai jame rasime bent dviejų tipų komandas. Pavyzdžiui, Intel 80x86 procesoriai - kaupiklio ir bendrųjų registrų tipo architektūrų junginys. Dėklo architektūroje operandai yra dėklo viršuje, o kaupiklio tipo komandų sistemose  vienas iš operandų yra kaupiklyje.
Čia paminėti neišreikšti operandai, t.y. žinoma, kad jie ten yra, ir jokių nuorodų į tai komandoje nėra. Tuo tarpu registrų architektūroje visi operandai aiškiai nurodomi komandoje - tai registrai arba atminties ląstelės. Operandai gali būti imami tiesiai iš atminties arba gali būti pirma įkraunami į registrus, jei to reikalauja komandų specifika.
Lentelė 5.2 Pagrindiniai komandų sistemų tipai. Jų privalumai ir trūkumai
| 
Tipas | 
Privalumai | 
Trūkumai | 
| 
Dėklo | 
Trumpos komandos, kompaktiškas kodas. Paprastas išraiškų paskaičiavimo modelis. | 
Negalimas laisvas išrinkimas iš dėklo, todėl sunku generuoti efektyvų kodą | 
| 
Kaupiklio | 
Komandos gana trumpos. Jos minimizuoja vidinį procesoriaus valdymo įtaisą. | 
Kadangi kaupiklis - laikino saugojimo priemonė, tenka vykdyti nemažai mainų su atmintimi | 
| 
Bendrųjų registrų | 
Paprastas kodo generavimas | 
Visi operandai turi būti įvardyti, todėl komandos ilgesnės | 
Pirmieji kompiuteriai (įskaitant UNIVAC 1, EDSAC) buvo kaupiklio tipo. Pirmasis bendrosios paskirties registrų tipo kompiuteris buvo Pegasus (Ferranti, 1956 m.). Jame buvo 8 bendrosios paskirties registrai. Šie registrai buvo įkraunami, persiunčiant duomenų bloką iš būgno. Registro R0 turinys visuomet buvo lygus 0.
Pastaruoju metu vyrauja bendrosios paskirties registrų tipo architektūra.Tai paaiškinama tuo, kad:
Ø  Registrai, kaip ir kiti CPU mazgai, greitesni, nei atmintis;
Ø   Kompiliatoriai juos panaudoja kodo generavimui efektyviau, nei kitas vidines CPU atminties formas (pvz., dėklą);
Ø   Saugant operandus ir tarpinius rezultatus registruose, sumažėja kreipinių į atmintį skaičius, tuo atlaisvinant ją kitiems tikslams (pvz., įvedimui ar išvedimui);
Ø   Generuojamas kompaktiškesnis kodas, nes registrams nurodyti reikia mažiau vietos.
Yra dvi pagrindinės charakteristikos, kurios skiria bendrosios paskirties registrų architektūras:
Ø   aritmetinių komandų operandų skaičius - 2 ar 3; pirmu atveju rezultatas talpinamas į vieno iš operandų vietą);
Ø  kiek operandų komandoje gali būti atmintyje; šis skaičius gali būti nuo 0 iki 3.
Lentelė 5.3. Pagrindiniai komandų sistemų tipai. Adresų ir operandų skaičius
| 
Atminties adresų skaičius 
 tipinėje ALU komandoje | 
Maksimalus operandų 
skaičius | 
Pavyzdžiai | 
| 
0 | 
2 3 | 
IBM RT-PC SPARC, MIPS | 
| 
1 | 
2 3 | 
MC68000, dalis IBM 360 dalis IBM 360 (RS) | 
| 
2 | 
2 3 | 
PDP-11, 
dalis IBM 360 (SS) | 
| 
3 | 
3 | 
VAX | 
Taigi, yra 7 galimos kombinacijos. Trys iš jų būdingesnės ir naudojamos klasifikuojant daugumą egzistuojančių kompiuterių:
Ø    registras-registras,
Ø    registras-atmintis,
Ø    atmintis-atmintis.
Lentelė 5.4. Pagrindiniai komandų tipai.
| 
Tipas | 
Privalumai | 
Trūkumai | 
| 
Registras-registras(0,3) | 
Paprastos, fiksuoto ilgio komandos. Paprastas kodo generavimo modelis. Komandų vykdymo trukmė maždaug vienoda | 
Didesnis komandų skaičius programoje. Trumpų komandų kodavimas perteklinis | 
| 
Registras-atmintis(1,2) | 
Duomenis galima panaudoti be išankstinio jų įkrovimo į registrus. Komandų formatai nesudėtingi, pakankamai kompaktiškas kodas | 
Operandai ne ekvivalentiški. Vienas iš šaltinių pakeičiamas rezultatu, todėl jis prarandamas. Komandų vykdymo trukmė priklauso nuo operandų vietos | 
| 
Atmintis-atmintis(3,3) | 
Kompaktiškiausia programa. Nereikia registrų tarpiniams rezultatams saugoti | 
Labai įvairus komandų ilgis, ypač 3 operandų komandų. Daug kreipinių į atmintį, todėl ji labai apkrauta | 
Jei komandoje nėra nė vieno adreso, reiškia, kad abu operandai turi būti iš anksto sutartoje vietoje. Paprastai tai būna dvi "viršutinės" dėklo ląstelės, todėl 0 adresų kompiuteris dar vadinamas dėklo tipo architektūros kompiuteriu.
 
Komentarų nėra:
Rašyti komentarą