Tuesday 8 January 2013

Computer Language - Branch, Jump And Target Addressing


Branch addressing
* Arahan cabang adalah dinyatakan
   - Opcode, two registers, target address
* Sasaran “branch” kebanyakan berhampiran “branch”
* Formats:
* dengan adanya branch addressing kita dapat menentukan register (seperti LW dan Sw) dan                                
   menambah ia untuk menangani
  - penggunaan Instruction Address Register (PC = program counter)
  - Kebanyakan branch adalah local (principle of locality)


Jump addressing
* Jump (j and jal) targets boleh berada di mana-mana sahaja dalam segmen teks
   - Kodkan alamat penuh dalam pengajaran
* J format ada 26 bits dalam address field
* Untuk mendapatkan 32 bits
   - Anggapkan bahawa jump address adalah word address
   - 26 + 2 (least significant bits) = 28
   - Dapatkan 4 bit yang paling ketara  dari computer
   - 4 + 26 + 2 = 32
   - Hanya boleh “jump”  antara 228 = 256 MB block of addresses
* (Pseudo)Direct jump addressing
   - Target address = PC31…28 : (address × 4)


Target Addressing Example
- Assume Loop at location 80000
 Loop : sll       $t1,    $s3,    2
            add    $t1,    $t1,    $s6          
            lw       $t0,     0($t1)
            bne    $t0,    $s5,    Exit
            add    $s3,    $s3,    1
            j          Loop
Exit :…


LIM ZERKIE
B031210127

No comments:

Post a Comment