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