Pert.4 set instruksi arm

21
ARM - Advanced RISC Machines (ARM) limited telah mendesain suatu famili mikroprosesor dan melisensikan desain tersebut ke perusahaan lain untuk fabrikasi chip yang penggunaannya dalam produk komputer dan sistem uang embedded. - Perusahan ARM yang relatif baru, merupakan perkembangan dari perusahan Acorn Computer yang mengembangkan desain prosesor pada awal tahun 1980-an. - Penggunaan utama mikroprosesor ARM adalah pada aplikasi embedded yang berdaya rendah dan berbiaya rendah, seperti misalnya mobile telephone, modem komunikasi, sistem manejemen mesin mobil, dan hand-held 1 Group 4 PTIK 09

Transcript of Pert.4 set instruksi arm

Page 1: Pert.4 set instruksi arm

ARM

- Advanced RISC Machines (ARM) limited telah mendesain suatufamili mikroprosesor dan melisensikan desain tersebut keperusahaan lain untuk fabrikasi chip yang penggunaannyadalam produk komputer dan sistem uang embedded.

- Perusahan ARM yang relatif baru, merupakan perkembangandari perusahan Acorn Computer yang mengembangkan desainprosesor pada awal tahun 1980-an.

- Penggunaan utama mikroprosesor ARM adalah pada aplikasiembedded yang berdaya rendah dan berbiaya rendah, sepertimisalnya mobile telephone, modem komunikasi, sistemmanejemen mesin mobil, dan hand-held

1Group 4 PTIK 09

Page 2: Pert.4 set instruksi arm

Dalam arsitektur ARM, memori adalah byte-addressble, menggunakan alamat 32-bit, dan registerprosesor memiliki panjang 32-bit. Dua panjang operanddigunakan dalam memindahkan data antara memori danregister prosessor : byte (8 bit) dan word (32 bit).

2Group 4 PTIK 09

Page 3: Pert.4 set instruksi arm

- Register prosesor yang digunakan oleh program aplikasiditampilkan terdapat enam belas register 32 bit berlabel R0hingga R15 yang terdiri dari lima belas general-purposeregister (R0 hingga R14) dan register program counter(PC), R15, yang terdiri dari 15.

- General purpose register dapat menyimpan alamat memoriatau operand data. Current progarm status register(CPRS), atau cukup disebut register status, menyimpancondition code flag (N, Z, C, V), interupt disable flag, dan bitmode prosesor.

- Disini kita akan mengasumsikan bahw prosesor dalammode user dan dieksekusi sebagai programaplikasi.terdapat 15 general purpose register tambahn yangyang disebut register banked.

3Group 4 PTIK 09

Page 4: Pert.4 set instruksi arm

- Eksekusi Conditional Instruksi

Fitur yang membedakan dan agak tidak biasa dariprosesor ARM adalah semua instruksinya dieksekusi secaraconditional, tergantung pada kondisi yang ditetapkan padainstruksi tersebut. Instruksi tersebut dieksekusi hanya jikakeadaan saat ini dari conditional code flag prosesormemenuhi kondisi yang ditetapkan dalam bit b31-28 dariinstruksi tersebut. Jika tidak prosesor melanjutkan ke instruksiberikutnya salah satu kondisi tersebut digunakan untukmengindikasikan bahwa instruksi tersebut selalu dieksekusi

4Group 4 PTIK 09

Page 5: Pert.4 set instruksi arm

- Mode Pengalamatan Memori

Metode dasar untuk mengalamati operand memoriadalah membangkitkan effective address, EA, dari operantersebut dengan menambahkan offset bertanda keisi baseregister Rn, yang ditentukan dalam instruksi. Besarnya offsettersebut dapat berupa nilai immediate yang terdapat dalam12 bit low order instruksi atau isi dari registerketiga, Rm, yang dinamai dengan 4 bit low order tanda arahoffset terdapat dalam field OP-code.

5Group 4 PTIK 09

Page 6: Pert.4 set instruksi arm

- OPERAND LOAD/STORE MULTIPLE

Selain instruksi load dan store untuk operandtunggal, terdapat 2 instruksi untuk me-load dan menyimpanbanyak operand. Instruksi itu disebut instruksi transfer block.Sub set apapun dari general purpose register load ataudisimpan. Hanya operand word yang diperbolehkan, dan OPcode yang digunakan dalam load multiple dan store multiple.Operand memori harus berada dalam lokasi word yangberurutan.

6Group 4 PTIK 09

Page 7: Pert.4 set instruksi arm

Acap kali kita perlu meng-copy isi satu register keregister lain atau untuk me-load nilai immediate ke suaturegister. Instruksi move

MOV Rd , Rm

7Group 4 PTIK 09

Page 8: Pert.4 set instruksi arm

Set instruksi ARM memiliki sejumlah instruksi untukoperand aritmatika dan logika pada operand yang beradadalam general-purpose register atau dinyatakan sebagaioperand immediate dalam instruksi itu sendiri.

Terdapat instruksi untuk operand logikaAND,OR,NOT,XOR, dan bit-clear. Instruksi seperti comparedisediakan untuk men-set condition code flag berdasarkanhasil dari operasi aritmatika dan logika pada dua operand

8Group 4 PTIK 09

Page 9: Pert.4 set instruksi arm

Ekspresi bahasa assembly dasar untuk instruksi aritmatika adalahOpcode Rd, Rn, Rm

Dimana operasi yang ditetapkan oleh OP code dilakukanmenggunakan operand dalam general-purpose register Rn dan Rm. Hasilnya diletakkan dalam register Rd. Misalnya, instruksi

ADD R0, R2, R4Menjalankan operasiR0 [R2] + [R4]Dan instruksi

SUB R0, R6, R5Menjalankan operasi

R0 [R6] – [R5]

9Group 4 PTIK 09

Page 10: Pert.4 set instruksi arm

Operasi logika AND, OR, XOR, dan Bit-cleardiimplementasikan oleh instruksi OP code AND, ORR, EOR, dan BIC.Kode tersebut memiliki format yang sama dengan instruksiaritmatika. Instruksi

AND Rd, Rn, Rm

Menjalankan operasi

Rd [Rn] ^ [Rm]

Yang merupakan bitwise logical AND antara operand dalamregister Rn dan Rm. Misalnya, jika register R0 berisi polahexadesimal 02FA62CA dan R1 berisi pola 0000FFFF, maka instruksi

AND R0, RO, R1

Akan menyebabkan pola 000062CA diletakkan dalam register R0.

10Group 4 PTIK 09

Page 11: Pert.4 set instruksi arm

Instruksi branch CONDITIONAL berisi offset 24-bit, 2’-complement, bertanda yang ditambahkan ke isi ter-updateProgram Counter untuk menghasilkan alamat target branch.

Instruksi Branch dieksekusi dengan cara yang samaseperti instruksi ARM yang lain, yaitu dieksekusi hanya jikakeadaan terbaru condition code flag berhubungan dengankondisi ditetapkan dalam field codition instruksi tersebut.

11Group 4 PTIK 09

Page 12: Pert.4 set instruksi arm

beberapa instruksi, seperti compare, dinyatakan sebagaiberikut

CMP Rn, Rm

Yang menjalankan operasi

[Rn] – [Rm]

Memiliki tujuan utama untuk men-set condition code flagberdasar pada hasil operasi pengurangan.

12Group 4 PTIK 09

Page 13: Pert.4 set instruksi arm

Operasi load dan store dilakukan oleh instruksipertama, kedua, dan terakhir yang digunakan oleh modepengalamatan relative. Ini mengasumsikan bahwa lokasimemori N, pointer, dan SUM terdapat dalam rentang yangterjangkau oleh offset relatif terhadap PC. Lokasi memoripointer berisi alamat NUM 1 dari bilangan pertama yangakan ditambahkan, N berisi jumlah entri didalam list danSUM digunakan untuk menyimpan jumlah tersebut

13Group 4 PTIK 09

Page 14: Pert.4 set instruksi arm

Bahasa assembly ARM memiliki assembler directiveuntuk menyiapkan ruang penyimpanan, menetapkan nilainumerik ke label alamat dari simbol konstanta, menentukandimana program dan blok data akan ditempatkan dalammemori, menetapkan akhir teks source program fasilitastersebut didekskripsikan secara umum.

14Group 4 PTIK 09

Page 15: Pert.4 set instruksi arm

- Condition Code Flag

68000 memiliki lima condition code flag, disimpandalam register status. Selain flag M,Z,V, dan C yangdideskripsikan pada bagian 2.4.6, 6800 memiliki lima flag, X(extend). Di-set dengan cara yang sama dengan flag C, tetapitidak dipengaruhi oleh banyak instruksi.

- Instruksi Branch

Instruksi conditional branch menyebabkan eksekusiprogram berlanjut dengan instruksi pada alamat targetbranch jika kondisi branch dipenuhi.

15Group 4 PTIK 09

Page 16: Pert.4 set instruksi arm

Prosessor 68000 mensyaratkan semua status danbuffer data dalam antar muka perangkat I/O menjadiaddressable seperti lokasi memori. Ini berarti program-program I/O dalam komputer 68000 dapat dicapai.

16Group 4 PTIK 09

Page 17: Pert.4 set instruksi arm

Suatu stack dapat diimplementasikan, menggunakanregister alamat apapun sebagai pointer. Mode pengalamatanAutoincrement dan Autodecrement memfasilitasi proses ini.Satu register spesifik, register A7, ditunjuk sebagai pointerstack prosesor, dan stack yang ditunjuk register ini disebutstack prosesor. Ini adalah stack yang digunakan dalam semuaoperasi stack yang dilakukan prosesor secaraotomatis, sebagaimana dalam kasus linkage subroutine.

17Group 4 PTIK 09

Page 18: Pert.4 set instruksi arm

Operand yang terlibat dalam instruksi inimemiliki panjang tetap 32, 16, atau 8 bit. Pada beberapaaplikasi perlu untuk memanipulasi: ukuran data yanglain, mungkin hanya bit individu, dan melakukan operasilogika pada data ini.

18Group 4 PTIK 09

Page 19: Pert.4 set instruksi arm

Dalam arsitektur 1A-32, memori adalah byteaddressable menggunakan alamat 32-bit, dan instruksiberoperasi pada operand data 8 dan 32 bit. Ukuranoperand ini disebut byte dan doubleword dalam istilahintel.

19Group 4 PTIK 09

Page 20: Pert.4 set instruksi arm

Terdapat delapan floating-point register untukmenyimpan operand data floating point doubleword atauquadword (64 bit). Floating-point register yang memilikifield ekstensi untuk menyediakan panjang total 80 bit.

Arsitektur 1A-32 berbasis pada model memori yangmenghubungkan area yang berbeda di dalammemori, yang disebut segmen dengan kegunaan yangberbeda.

20Group 4 PTIK 09

Page 21: Pert.4 set instruksi arm

Arsitektur 1A-32 memiliki set mode pengalamatan yangbesar dan fleksibel. Mode tersebut didesain untukmengakses item data individu atau item data yangmerupakan aggota dari list yang berurutan yang mulai padaalamat memori tertentu.

Mode dasar, yang tersedia pada kebanyakan prosesor telahdideskripsikan. Mode tersebut adalah :Immediate, Absolute, Register, dan Register indirect.

21Group 4 PTIK 09