Registras (procesoriaus): Skirtumas tarp puslapio versijų

362 pridėti baitai ,  prieš 16 metų
nėra keitimo aprašymo
SNo edit summary
No edit summary
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š [[Atmintis (kompiuterio)|atminties]] į registrą, atlieka su duomenimis tam tikrus veiksmus, o paskui perkelia duomenis atgal į atmintį:
 
<font color=gray># Įsivaizduojamo supaprastinto procesoriaus, turinčio bendros paskirties registrus, programa</font>
MOVB REG0, 0000h <font color=gray># Į registrą REG0 perkeliamas baitas, esantis atminties adresu 0000</font>
MOVB REG0REG1, 0001h <font color=gray># Į registrą REG1 perkeliamas baitas, esantis atminties adresu 0001</font>
ADD REG0, REG1 <font color=gray># Prie REG0 turinio pridedamas REG1 turinys, rezultatas patenka į REG0</font>
MOVB 0002h, REG0 <font color=gray># Baitas, esantis REG0, perkeliamas į atmintį, adresu 0002</font>
 
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:
 
<font color=gray># Įsivaizduojamo supaprastinto CISC procesoriaus, turinčio bendros paskirties registrus, programa</font>
MOVB 0002h, 0000h <font color=gray># Perkelti ląstelės 0000 turinį į 0002, faktiškai atliekami veiksmai:</font>
<font color=gray># MOVB REG0, 0000h # 0000 turinys perkeliamas į registrą</font>
<font color=gray># MOVB 0002h, REG0 # registro turinys perkeliamas į 0002</font>
ADDB 0002h, 0001h <font color=gray># Prie ląstelės 0000 turinio pridėti 0001 turinį, faktiškai atliekami veiksmai:</font>
<font color=gray># MOVB REG0, 0002h # 0002 turinys perkeliamas į registrą REG0</font>
<font color=gray># MOVB REG1, 0001h # 0001 turinys perkeliamas į registrą REG1</font>
<font color=gray># ADD REG1, REG0 # registrų turinys sudedamas</font>
<font color=gray># MOVB 0002h, REG1 # registro turinys perkeliamas adresu 0002</font>
 
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).
 
[[Category:Kompiuteriai]]
[[en:Processor register]]
49 775

pakeitimai