Tuesday, 18 December 2012

Arithmetic,Register and Memory Operand

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 , b ,             # sum of b and c is placed in a 
   add , , d              # sum of band d is placed in a 
   add , , e              # sum of bcd and e is placed in a

Contoh :

- C code :
   a = (c ) - ( d + e ) ;

- Compiled MIPS code :
   add  t0 ,   b ,  c         # temp t0 bc
   add  t1 ,   d ,  e         # temp t1 de
   sub    ,  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

Disediakan oleh,
KANG YI SHIN   B031210356



 

No comments:

Post a Comment