Tuesday 8 January 2013

Computer Language - 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 :
    = b + c + d + e

- Compiled MIPS code :
   add b              # sum of 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 :
   = () - ( d + e ) ;

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



No comments:

Post a Comment