Arithmetic Operand
- Prinsip Reka Bentuk 1 : Keringkasan Menyumbang Kepada Kekerapan
▪ Kekerapan memudahkan pelaksanaan.
▪ Keringkasan menyumbang kepada prestasi yang tinggi pada kos yang rendah.
- Melakukan operasi tambahan atau penolakan.
- Semua operasi aritmetik mempunyai format :
add a, b, c # a gets b+c
- 3 operand ( 2 sumber dan satu destinasi )
Contoh 1 :
- C code :
a = b + c + d + e
- Compiled MIPS code :
add a , b , c # sum of b and c is placed in a
add a , a , d # sum of b, c and d is placed in a
add a , a , e # sum of b, c, d and e is placed in a
Contoh :
- C code :
a = (b + c ) - ( d + e ) ;
- Compiled MIPS code :
add t0 , b , c # temp t0 = b + c
add t1 , d , e # temp t1 = d + e
sub a , t0 , t1 # a = t0 - t1
____________________________________________________________________________
Register Operand
- Prinsip Reka Bentuk 2 : Lebih Kecil, Lebih Cepat
- Arahan aritmetik menggunakan register operands
- MIPS mempunyai 32x32 bit register file.
▪ Digunakan untuk data yang sering dibaca
▪ Bernombor 0 - 31
▪ 32-bit data dipanggil suatu 'word'
- Penghimpunan nama :
▪ $t0 , $t1 , ........ , $t9 bagi nilai sementara
▪ $s0 , $s1, ......... , $s7 bagi pembolehubah yang telah disimpan
Contoh :
- C code :
a = ( b + c ) - ( d + e )
- Compiled MIPS code :
add $t0, $s1, $s2
add $t1, $s3, $s4
sub $s0, $t0, $t1
____________________________________________________________________________
Memory Operand
- Memori utama digunakan untuk menggabungkan data
▪ Array, structures, dynamic data
- Untuk mengaplikasi operasi aritmetik
▪ Muat turun nilai dari memory ke dalam register
▪ Menyimpan keputusan dari register ke dalam memory
- Memory is byte addressed
▪ Setiap address mengenal pasti suatu 8-bit byte
- Perkataan disusun secara sejajar dalam memory
▪ Address mestilah gandaan 4
Contoh 1 :
- C code :
a = b + C [8] ;
( a dalam $s1, b dalam $s2, base address of C dalam $s3 )
- Compiled MIPS code :
lw $t0, 32 ($s3) # load word
add $s1, $s2. $t0
Contoh 2 :
- C code :
A [12] = b + A [8] ;
( b dalam $s2, base address of A dalam $s3 )
- Compiled MIPS code :
lw $t0 , 32 ($s3) # load word
add $t0, $s2, $t0
sw $t0, 48 ($s3) # store word
KANG YI SHIN
B031210356