Arithmetic,Register and Memory Operand
Arithmetic Operation.
Arimetic operasi – tambahan dan pengurangan untuk tiga operand, iaitu dua sumber dan satu lokasi.
Sebagai contoh:
Add a , b , c bermaksud a=b+c .
Semua arithmetic operasi adalah dalam bentuk ini.
Prisip Reka bentuk (Design principle) 1:
Hal ini kerana simplicity dan regularity.
regularity – mebuat pelaksanaan lebih muda.
Contoh 1:
C code:
g= h+i+k+j
Compiled MIPS code:
Add g , h , i @ menambah h dan i ke dalam g.
Add g , g , k @menambah h , i , dan k ke dalam g.
Add g , g , j @menambah h , i , k dan j ke dalam g
Contoh 2:
C code :
a=(b+c)+(d+e)
compiled MIPS code:
Add t0, b , c menambah b dan c ke dalam t0
Add t1, d , e menambah d dan e ke dalam t1
Add a, t0, t1 menambah t0 dan t1 ke dalam a
Register Operands
-Petunjuk aritmetik yang menguna register operands
-MIPS menpunyai 32x32bit register file.
èmempunyai numbor 0 -31
èbiasa digunakan untuk mengakses data
è32bits data dipanggil sebagai “word”
Assembler names
- t0,t1,~~,t9 adalah untuk nilai sementara.
- s0,s1,~~,s7 adalah untuk menyimpan nilai yang berubah.
Prinsip reka bentuk (design principle 2):
Smaller is faster = lebih kecil lebih cepat.
Contoh register operand
C code: a=(b-c)+(d-e)
compiled MIPS code dengan menggunakan register:
a=$s0, b=$s1, c=$s2, d=$s3, e=$s4
sub $t0 ,$s1, $s2
sub $t1 ,$s3, $s4
add $s0, $t0, $t1
Memory Operand .
1.Memory utama digunakan untuk gabungkan data.
2.untuk menerap operasi aritmetik
3.memory dialamatkan dengan byte
4.word sejajar di memory.
Contoh 1:
C code:
a = b+ C[8];
a=$s1, b= $s2, base address of C in $s3
Compiled MIPS code.
#indeks 8 memerlukan pengimbangan dengan 32 =>4bytes per word
lw $t0, 32($s3) èmemuat(load) word
add $s1, $s2, $t0
Contoh 2:
C code: A[10] = b + A[4]
B= $s0, base address A in $s1
Compiled MIPS code.
Lw $t0, 14($s3) #memuat(load) words
Add $t0, $s0,$t0
sw $t0, 40($s1) #simpan(store) words
#################################################################################
MIPS Register Convention.
#################################################################################
Register Vs Memory .
1. Register lebih cepat mengakseskan data daripada Memory.
2. Operasi dalam memory data memerlukan memuat(load) dan simpan(store).
No comments:
Post a Comment