Registras (procesoriaus): Skirtumas tarp puslapio versijų

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Ištrintas turinys Pridėtas turinys
EmausBot (aptarimas | indėlis)
S r2.7.2+) (robotas Keičiama: fr:Registre de processeur
Addbot (aptarimas | indėlis)
S Bot: Migrating 35 interwiki links, now provided by Wikidata on d:q187466 (translate me)
Eilutė 45: Eilutė 45:


[[Kategorija:Procesoriai]]
[[Kategorija:Procesoriai]]

[[ar:سجل المعالج]]
[[bg:Регистър (компютър)]]
[[ca:Registres de la CPU]]
[[cs:Registr procesoru]]
[[de:Register (Computer)]]
[[el:Καταχωρητής]]
[[en:Processor register]]
[[es:Registro (hardware)]]
[[et:Register (arvutitehnika)]]
[[eu:Erregistro (hardware)]]
[[fa:ثبات]]
[[fi:Rekisteri (tietokonetekniikka)]]
[[fr:Registre de processeur]]
[[he:אוגר (מחשבים)]]
[[hu:Regiszter (számítástechnika)]]
[[id:Register prosesor]]
[[is:Gisti]]
[[it:Registro (informatica)]]
[[ja:レジスタ (コンピュータ)]]
[[kk:Процессор регистрі]]
[[ko:프로세서 레지스터]]
[[mk:Обработувачки регистар]]
[[nl:Registergeheugen]]
[[no:Prosessorregister]]
[[pl:Rejestr procesora]]
[[pt:Registrador (informática)]]
[[ro:Registru de procesor]]
[[ru:Регистр процессора]]
[[sk:Register (procesor)]]
[[sr:Регистар (рачунарство)]]
[[sv:Processorregister]]
[[th:เรจิสเตอร์]]
[[uk:Регістр процесора]]
[[vi:Thanh ghi]]
[[zh:寄存器]]

02:34, 9 kovo 2013 versija

Registras – specializuota atminties ląstelė, esanti procesoriuje. Būna dviejų rūšių registrai:

  • Programuojami – tokie, kurie pasiekiami komandomis, jie naudojami, kaip pagrindinis einamosios atminties elementas, naudojamas procesoriaus komandų.
  • Pagalbiniai – jų turinys iš viso nepasiekiamas arba pasiekiamas tik netiesiogiai, jie naudojami, vykdant komandas, pvz., komandų skaitliukas, vėliavėlės.

Programuojami registrai būna skirstomi į dvi rūšis:

  • Bendros paskirties registrai – komandose nurodomi tiesiogiai
  • Akumuliatoriai – komandose naudojami pagal nutylėjimą

Bendros paskirties registrai, savo ruožtu, kartais skirstomi į:

  • Universalius – visiems darbams tinkamus
  • Duomenų registrus – nenaudojamus ne adresacijai, o tik manipuliavimui duomenimis
  • Adresų registrus – skirtus adresavimui:

Skirtingai nuo įprastos atminties, registrai yra neatskiriama procesoriaus dalis, daugumos paplitusių procesorių komandos leidžia manipuliuoti tik duomenimis, esančiais registruose. Tipišku atveju, procesorius perkelia duomenis iš atminties į registrą, atlieka su duomenimis tam tikrus veiksmus, o paskui perkelia duomenis atgal į atmintį:

# Įsivaizduojamo supaprastinto procesoriaus, turinčio bendros paskirties registrus, programa
MOVB REG0, 0000h       # Į registrą REG0 perkeliamas baitas, esantis atminties adresu 0000
MOVB REG1, 0001h       # Į registrą REG1 perkeliamas baitas, esantis atminties adresu 0001
ADD REG0, REG1         # Prie REG0 turinio pridedamas REG1 turinys, rezultatas patenka į REG0
MOVB 0002h, REG0       # Baitas, esantis REG0, perkeliamas į atmintį, adresu 0002

Procesoriai, kurie leidžia komandose nurodyti aritmetines operacijas, nenurodant registro, priskiriami CISC grupei: šiuose proceosriuose viena komanda faktiškai atlieka kelias operacijas, kuriose dalyvauja nenurodomi, bet faktiškai panaudojami registrai:

# Įsivaizduojamo supaprastinto CISC procesoriaus, turinčio bendros paskirties registrus, programa
MOVB 0002h, 0000h      # Perkelti ląstelės 0000 turinį į 0002, faktiškai atliekami veiksmai:
 # MOVB REG0, 0000h      # 0000 turinys perkeliamas į registrą
 # MOVB 0002h, REG0      # registro turinys perkeliamas į 0002
ADDB 0002h, 0001h      # Prie ląstelės 0000 turinio pridėti 0001 turinį, faktiškai atliekami veiksmai:
 # MOVB REG0, 0002h      # 0002 turinys perkeliamas į registrą REG0
 # MOVB REG1, 0001h      # 0001 turinys perkeliamas į registrą REG1
 # ADD REG1, REG0        # registrų turinys sudedamas
 # MOVB 0002h, REG1      # registro turinys perkeliamas adresu 0002

Akivaizdu, kad nors faktiniai skaičiavimai tie patys, vietoje keturių veiksmų tenka atlikti 6 (procesoriaus efektyvumas mažesnis), tačiau jiems užrašyti tereikia 2 komandų (programuoti paprasčiau).

RISC procesorių efektyvumas didinamas, dar labiau apribojant komandų darbo su atmintimi bei konstantomis galimybes, neretai net negalima perkeldinėti duomenų tiesiogiai iš registro į atmintį ir atvirkščiai, tačiau bendras procesoriaus efektyvumas nuo to tik padidėja. Tam, kad registrai būtų panaudojami efektyviau, jie jungiami į tam tikrus masyvus, vadinamus registrų langais.

Procesorių architektūrų skirstymas taip pat paremtas registrų panaudojimu (eilės tvarka, nuo primityvių iki išvystytų architektūrų):