Pages

Friday 14 December 2012

MIPS : Arithmetric operation



MIPS
Arithmetric operation:
Pengenalan
·         Semua arithmetric operation dalam MIPS adalah guna R-type punya format untuk membuat operation masing-masing.
                                                      
Tambah dan tolak operation
·         Tambah dan tolak dalam operation adalah perform dalam 32 bit numbers untuk bantu dalam general purpose register (32 bit each).
·         Keputusan ialah 32bit number itself. There two kinds of instruction campur dalam instruction set untuk buat integer tambah dan tolak.
·         1.Signed arithmetric:
-32bit numbers are considered to be represented in 2’s complement.
-Execution untuk instruction (tambah atau tolak) mungkin generate an overflow.
-Signed integers boleh positif dan negative.
·         2.Unsigned arithmetric:
-32bit numbers are considered to be in standard binary representation.
-Executing the instruction will never generate an overflow error even if there is an     actual overflow (keputusan tidak boleh represented dalam 32bits).
-Unsigned integers ialah positif integers.
·         add  instruction syntax adalah seperti:

       op
     6 bits
        rs
     5 bits
         rt
      5 bits
       rd
     5 bits
        sa
      5 bits
        fn
6        bits
- op ialah: Basic operation dalam instruction, biasa panggil opcode.
- rs ialah : Pertama register source operand.
- rt ialah : Kedua register source operand.
- rd ialah : The register destination operand . Untuk dapat result dalam operation.
- sa ialah: Shift amount.
- fn ialah: Function.Biasa panggil function code.
·         add adalah tambah 32bit dan masuk word dalam rt dengan value of rs untuk dapatkan result.
·         Sebagai contohnya, the instruction $t0,$t1,$t2 maksudnya ialah t0 = t1 + t2.
·         Jika keputusan tambah dalam 2’s complement mempunyai overflow, rd tidak berubah dan akan muncul integer Overflow exception(trap). Trap ini akan memjejaskan dalam normal machine cycle.
·          Jika tidak muncul overflow , keputusan akan masuk dalam rd.
·         Cara lain dalam tambah operation ialah addi .
·         The syntax untuk addi adalah seperti:
      op
     6 bits
       rs           
    5 bits
        rt
     5 bits
                Immediate
                  16 bits

·         Guna addi , 16-bit signed immediate value akan masuk 32-bit value dalam rs untuk membuat keputusan. Jika overflow tidak muncul , keputusan akan masuk dalam rt.
·         sub instruction syntax adalah seperti:
       op
     6 bits
        rs
     5 bits
         rt
      5 bits
       rd
     5 bits
        sa
      5 bits
        fn
6 bits

·         sebagai contoh, the instruction sub $t0,$t1,$t2 maksudnya ialah t0 = t1 + t2.

·         Rumusan bagi tambah dan tolak operation:

1.      add  ,         add       $rd,$rs,$rt.
2.      addi ,         addi     $rd,$rs,integer number.
3.      addiu ,       addiu   $rd,$rs,integer number.
4.      addu ,        addu   $rd,$rs,$rt.
5.      sub ,           sub    $rd,$rs,$rt.
6.      subi ,          subi  $rd,$rs,integer number.






Multiplications and Division Operation
·         Multipication and division may generate results that are larger than 32 bits.
·         Oleh itu architecture telah sedia dua special 32 bits register untuk menyelesaikan masalah dalam multiplication dan division instruction.
·         Register yang dipanggil hi dan lo ialah guna untuk hold the higher 32 bits punya keputusan dan lower 32 bits respectively .
·         Sepecial punya instruction juga digunakan untuk pindah data dari registers berkenaan masuk dalam general purpose ones ($0 sampai $31) .
INSTRUCTION
EFFECT

                    mfhi       rs
                  hi    〈---     rs
                    mflo       rs 
                  lo     〈---     rs

·         Ada dua kinds of instruction campur dalam instruction set untuk buat integer multiplication dan division.
·         1.Signed arithmetric:
-The 32 bit number are considered to be represented in 2’s complement.
-Dalam integer multiplication tidak akan generate an overflow, tetapi division mungkin muncul overflow.
-Instruction tidak boleh signal overflow dan ini perlu dibuat dengan software.
·         2.Unsigned arithmetric:
-The 32 bit numbers are considered to be in standard binary representation.
-Executing the instruction tidak boleh generate masalah overflow apabila muncul overflow yang sebenar.( ini ialah division punya case)
·         The actual MIPS instruction is mult rs,rt ( ini bermaksud multiply antara rs dengan rt)
·         Selain itu,the higher 32 bit punya keputusan akan masuk register hi dan the lower 32 bit punya keputusan akan masuk dalam register lo.
·         Div rs,rt (Divide the signed integer in Rsrc1 by the signed integer in Rsrc2)
·         Selain itu, quotient(32 bit) akan masuk register lo dan remainder akan masuk register hi. Overflow boleh muncul.

                                                                  CHOO YIE YUNG (B031210026)






0 comments:

Post a Comment