Upload
mills
View
165
Download
5
Embed Size (px)
DESCRIPTION
Pertemuan 4 ( Set Instruksi ARM ). 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. - PowerPoint PPT Presentation
Citation preview
Group 4 PTIK 09 1
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
Pertemuan 4(Set Instruksi ARM)
Group 4 PTIK 09 2
Dalam arsitektur ARM, memori adalah byte-addressble, menggunakan alamat 32-bit, dan register prosesor memiliki panjang 32-bit. Dua panjang operand digunakan dalam memindahkan data antara memori dan register prosessor : byte (8 bit) dan word (32 bit).
3.1 Register, Akses Memori dan Transfer Data
Group 4 PTIK 09 3
- Register prosesor yang digunakan oleh program aplikasi ditampilkan terdapat enam belas register 32 bit berlabel R0 hingga R15 yang terdiri dari lima belas general-purpose register (R0 hingga R14) dan register program counter (PC), R15, yang terdiri dari 15.
- General purpose register dapat menyimpan alamat memori atau operand data. Current progarm status register (CPRS), atau cukup disebut register status, menyimpan condition code flag (N, Z, C, V), interupt disable flag, dan bit mode prosesor.
- Disini kita akan mengasumsikan bahw prosesor dalam mode user dan dieksekusi sebagai program aplikasi.terdapat 15 general purpose register tambahn yang yang disebut register banked.
3.1.1 Struktur Register
Group 4 PTIK 09 4
- Eksekusi Conditional Instruksi Fitur yang membedakan dan agak tidak biasa dari
prosesor ARM adalah semua instruksinya dieksekusi secara conditional, tergantung pada kondisi yang ditetapkan pada instruksi tersebut. Instruksi tersebut dieksekusi hanya jika keadaan saat ini dari conditional code flag prosesor memenuhi kondisi yang ditetapkan dalam bit b31-28 dari instruksi tersebut. Jika tidak prosesor melanjutkan ke instruksi berikutnya salah satu kondisi tersebut digunakan untuk mengindikasikan bahwa instruksi tersebut selalu dieksekusi
3.1.2 Instruksi Akses Memory Dan Mode Pengalamatan
Group 4 PTIK 09 5
- Mode Pengalamatan Memori Metode dasar untuk mengalamati operand memori adalah membangkitkan effective address, EA, dari operan tersebut dengan menambahkan offset bertanda keisi base register Rn, yang ditentukan dalam instruksi. Besarnya offset tersebut dapat berupa nilai immediate yang terdapat dalam 12 bit low order instruksi atau isi dari register ketiga, Rm, yang dinamai dengan 4 bit low order tanda arah offset terdapat dalam field OP-code.
Group 4 PTIK 09 6
- OPERAND LOAD/STORE MULTIPLESelain instruksi load dan store untuk operand tunggal,
terdapat 2 instruksi untuk me-load dan menyimpan banyak operand. Instruksi itu disebut instruksi transfer block. Sub set apapun dari general purpose register load atau disimpan. Hanya operand word yang diperbolehkan, dan OP code yang digunakan dalam load multiple dan store multiple. Operand memori harus berada dalam lokasi word yang berurutan.
Group 4 PTIK 09 7
Acap kali kita perlu meng-copy isi satu register ke register lain atau untuk me-load nilai immediate ke suatu register. Instruksi move
MOV Rd , Rm
3.1.3 Instruksi Move Register
Group 4 PTIK 09 8
Set instruksi ARM memiliki sejumlah instruksi untuk operand aritmatika dan logika pada operand yang berada dalam general-purpose register atau dinyatakan sebagai operand immediate dalam instruksi itu sendiri.
Terdapat instruksi untuk operand logika AND,OR,NOT,XOR, dan bit-clear. Instruksi seperti compare disediakan untuk men-set condition code flag berdasarkan hasil dari operasi aritmatika dan logika pada dua operand
3.2 Instruksi Aritmatika Dan Logika
Group 4 PTIK 09 9
Ekspresi bahasa assembly dasar untuk instruksi aritmatika adalahOpcode Rd, Rn, Rm
Dimana operasi yang ditetapkan oleh OP code dilakukan menggunakan 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]
3.2.1 Instruksi Aritmatika
Group 4 PTIK 09 10
Operasi logika AND, OR, XOR, dan Bit-clear diimplementasikan oleh instruksi OP code AND, ORR, EOR, dan BIC. Kode tersebut memiliki format yang sama dengan instruksi aritmatika. Instruksi
AND Rd, Rn, RmMenjalankan operasiRd [Rn] ^ [Rm]
Yang merupakan bitwise logical AND antara operand dalam register Rn dan Rm. Misalnya, jika register R0 berisi pola hexadesimal 02FA62CA dan R1 berisi pola 0000FFFF, maka instruksi
AND R0, RO, R1Akan menyebabkan pola 000062CA diletakkan dalam register R0.
3.2.2 Instruksi Logika
Group 4 PTIK 09 11
Instruksi branch CONDITIONAL berisi offset 24-bit, 2’-complement, bertanda yang ditambahkan ke isi ter-update Program Counter untuk menghasilkan alamat target branch.
Instruksi Branch dieksekusi dengan cara yang sama seperti instruksi ARM yang lain, yaitu dieksekusi hanya jika keadaan terbaru condition code flag berhubungan dengan kondisi ditetapkan dalam field codition instruksi tersebut.
3.3 Instruksi Branch
Group 4 PTIK 09 12
beberapa instruksi, seperti compare, dinyatakan sebagai berikut
CMP Rn, RmYang menjalankan operasi
[Rn] – [Rm]Memiliki tujuan utama untuk men-set condition code flag berdasar pada hasil operasi pengurangan.
3.3.1 Setting Condition Code
Group 4 PTIK 09 13
Operasi load dan store dilakukan oleh instruksi pertama, kedua, dan terakhir yang digunakan oleh mode pengalamatan relative. Ini mengasumsikan bahwa lokasi memori N, pointer, dan SUM terdapat dalam rentang yang terjangkau oleh offset relatif terhadap PC. Lokasi memori pointer berisi alamat NUM 1 dari bilangan pertama yang akan ditambahkan, N berisi jumlah entri didalam list dan SUM digunakan untuk menyimpan jumlah tersebut
3.3.2 Program Loop untuk penambahan bilangan
Group 4 PTIK 09 14
Bahasa assembly ARM memiliki assembler directive untuk menyiapkan ruang penyimpanan, menetapkan nilai numerik ke label alamat dari simbol konstanta, menentukan dimana program dan blok data akan ditempatkan dalam memori, menetapkan akhir teks source program fasilitas tersebut didekskripsikan secara umum.
3.4 Bahasa Assembly
Group 4 PTIK 09 15
- Condition Code Flag68000 memiliki lima condition code flag, disimpan
dalam register status. Selain flag M,Z,V, dan C yang dideskripsikan pada bagian 2.4.6, 6800 memiliki lima flag, X (extend). Di-set dengan cara yang sama dengan flag C, tetapi tidak dipengaruhi oleh banyak instruksi.- Instruksi Branch
Instruksi conditional branch menyebabkan eksekusi program berlanjut dengan instruksi pada alamat target branch jika kondisi branch dipenuhi.
3.5 Kontrol Aliran Program
Group 4 PTIK 09 16
Prosessor 68000 mensyaratkan semua status dan buffer data dalam antar muka perangkat I/O menjadi addressable seperti lokasi memori. Ini berarti program-program I/O dalam komputer 68000 dapat dicapai.
3.6 Operasi I/O
Group 4 PTIK 09 17
Suatu stack dapat diimplementasikan, menggunakan register alamat apapun sebagai pointer. Mode pengalamatan Autoincrement dan Autodecrement memfasilitasi proses ini. Satu register spesifik, register A7, ditunjuk sebagai pointer stack prosesor, dan stack yang ditunjuk register ini disebut stack prosesor. Ini adalah stack yang digunakan dalam semua operasi stack yang dilakukan prosesor secara otomatis, sebagaimana dalam kasus linkage subroutine.
3.7 Stack dan Subroutine
Group 4 PTIK 09 18
Operand yang terlibat dalam instruksi ini memiliki panjang tetap 32, 16, atau 8 bit. Pada beberapa aplikasi perlu untuk memanipulasi: ukuran data yang lain, mungkin hanya bit individu, dan melakukan operasi logika pada data ini.
3.8 Instruksi Logika
Group 4 PTIK 09 19
Dalam arsitektur 1A-32, memori adalah byte addressable menggunakan alamat 32-bit, dan instruksi beroperasi pada operand data 8 dan 32 bit. Ukuran operand ini disebut byte dan doubleword dalam istilah intel.
3.9 Register dan Pengalamatan
Group 4 PTIK 09 20
Terdapat delapan floating-point register untuk menyimpan operand data floating point doubleword atau quadword (64 bit). Floating-point register yang memiliki field ekstensi untuk menyediakan panjang total 80 bit.
Arsitektur 1A-32 berbasis pada model memori yang menghubungkan area yang berbeda di dalam memori, yang disebut segmen dengan kegunaan yang berbeda.
3.9.1 Struktur Register 1A-32
Group 4 PTIK 09 21
Arsitektur 1A-32 memiliki set mode pengalamatan yang besar dan fleksibel. Mode tersebut didesain untuk mengakses item data individu atau item data yang merupakan aggota dari list yang berurutan yang mulai pada alamat memori tertentu. Mode dasar, yang tersedia pada kebanyakan prosesor telah dideskripsikan. Mode tersebut adalah : Immediate, Absolute, Register, dan Register indirect.
3.9.2 Mode Pengalamatan 1A-32