Pipedija - tautosaka, gandai, kliedesiai ir jokios tiesos! Durniausia wiki enciklopedija durnapedija!
Procesoriaus registrai
Procesoriaus registrai - tokia esminė procesoriaus dalis - specialios atminties ląstelės, su kuriomis tiesiogiai atliekami skaičiavimai ir į kurias tiesiogiai išsaugomi visokie duomenys. Beveik jokiam normaliam naudotojui visiškai nežinoma, kas tai yra per daiktas, tačiau registrus puikiai žino visi, kas bent kažkiek moka programuoti asembleriu, nes dauguma veiksmų būna būtent su registrais.
Registrai yra viena iš kelių svarbiausių kompiuterio atminties rūšių - viena yra būtent registrai, o kita - tai operacinė atmintis. Aišku, dar kartais būna koks nors stekas, bet paprastai šiais laikais jo niekas beveik nenaudoja, o dar būna registrų langai, bet jie yra išties tie patys registrai, tik sugrupuoti į didesnes grupes.
Registrai paprastai būna pačiame procesoriuje (nors senovėje būdavo ir kaip atskiras įrenginys), ir jų esmė labai paprasta - kiekviena procesoriaus operacija ką tai daro su tų registrų turiniu, pvz., perkelia į registrą skaičių iš operacinės atminties ar atvirkščiai, perkelia skaičių iš registro į operacinę atmintį. Arba, pvz., sudeda du registrus vieną su kitu. Arba sudaugina du registrus vieną iš kito. Arba dar ką nors padaro.
Pagal savo paskirtį registrai gali būti skirstomi į kokias penkias rūšis:
- Universalūs duomenų registrai, su kuriais daromi bet kokie skaičiavimai
- Specializuoti registrai, skirti konkretiems skaičiavimų operandams ir rezultatams, t.y., akumuliatoriai
- Adresų registrai, kurie saugo operacinės atminties adresus - t.y., rodykles arba pointerius
- Universalūs registrai, kurie gali būti naudojami ir kaip duomenų, ir kaip adresų registrai
- Specializuoti registrai, kurie atlieka kokias nors papildomas funkcijas, pvz., saugo segmento adresą, steko adresą, kokį nors vykdymo statusą ar dar ką nors neaiškaus
Registrai yra labai svarbūs, kai kalbame apie procesorių architektūrą, nes pagrindinai pagal registro dydį nusakoma ir tai, kiek bitų ta architektūra yra: jei dauguma registrų yra 8 bitų dydžio, tai čia bus 8 bitų architektūra, o jei dauguma registrų yra 16 bitų - tai bus 16 bitų architektūra, o jei dauguma bus 32 bitų - tai bus 32 bitų architektūra, o jei bus 64 bitų registrai - tai bus 64 bitų architektūra.
Vėlgi, jei registrai bus specializuoti ir skirtingos operacijos vyks su skirtingais registrais - tai bus architektūra su akumuliatoriais (dažniausiai tai primityvios 8 bitų architektūros). Jei registrai bus universalūs - tai bus architektūra su bendros paskirties registrais. Jei bus labai daug skirtingų operacijų su registrais - tai bus CISC architektūra.
Jei registrų bus daug, jie apjungti į grupes ir bus bendros operacijos, skirtos visos krūvos registrų pakrovimui į operacinę atmintį ar atvirkščiai, o dar bus ir persijungimo tarp tų registrų grupių operacijos - tai reikš, kad turime RISC architektūrą.
Skirtingos procesorių architektūros turi labai skirtingus registrų rinkinius, ir daugiausiai per registrus ir skiriasi.