Operanzi (acces direct): De unde luam datele (operanzii)?
- Putem folosi registri specifici (de la 0 la 31),
pentru access rapid.
- Datele se acceseaza direct (sunt in procesor).
Exemplul anterior devine
add $t0,$s1,$s2; # reg temp $t0 contine g + h
add $t1,$s3,$s4; # reg temp t1 contine i + j
sub $s0,$t0,$t1; # f este $t1 - $t0, deci (g + h) - (i + j)
Principiul II: Mai mic inseamna mai rapid.
Operatiile nu se fac direct pe datele din memorie, ci pe cele din registri; un numar
mic de registri favorizeaza o frecventa de ceas mai mare.
Memorie
Slide 3.9 CS-11xx / Arhitectura sistemelor de calcul, Sem.1 / G Stefanescu
Operanzi (acces indirect):
- Daca datele sunt in memorie, procedura este indirecta, folosind
instruct,iuni de transfer de date (data transfer);
- Pentru aceasta avem nevoie de adresa de memorie;
- Transferul: Memorie! Registri se numeste incarcare (load);
instruct,iunea este lw (load word);
- Transferul: Registri!Memorie se numeste memorare (store);
instruct,iunea este sw (store word);
Accesarea memoriei
Slide 3.10 CS-11xx / Arhitectura sistemelor de calcul, Sem.1 / G Stefanescu
Exemplu: Daca variabilele g,h sunt in registri $s1,$s2, iar adresa
de inceput a vectorului A este in $s3,
g = h + A[8];
se translateaza in
lw $t0,8($s3); # reg temp $t0 contine A[8]
add $s1,$s2,$t0; g = h + A[8]
(format provizoriu, cu deplasare neajustata)
Intr-o instruct,iune de tipul lw $t0,8($s3) , adresa de inceput a
vectorului este cea data de registrul de baza ($s3), iar constanta (8)
reprezinta deplasarea (offset-ul) de la inceputul vectorului la elementul
curent.
Adresarea memoriei
Slide 3.11 CS-11xx / Arhitectura sistemelor de calcul, Sem.1 / G Stefanescu
Adresarea memoriei:
- in st^anga, avem adresare directa, prin numere/indici;
- in dreapta, avem adresare prin adrese de memorie;
- multe arhitecturi ofera adresa la nivel de octet (byte - B) (1
byte = 8b (bit,i); 1 cuv^ant (word) = 4B); restrictie de aliniere -
in MIPS adresa cuvintelor incepe la un multiplu de 4.
Proiectarea circuitelor logice
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.