210 likes | 450 Views
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.
E N D
Pertemuan 4(Set Instruksi ARM) ARM - Advanced RISC Machines (ARM) limited telahmendesainsuatufamilimikroprosesordanmelisensikandesaintersebutkeperusahaan lain untukfabrikasi chip yang penggunaannyadalamprodukkomputerdansistemuang embedded. - Perusahan ARM yang relatifbaru, merupakanperkembangandariperusahan Acorn Computer yang mengembangkandesainprosesorpadaawaltahun 1980-an. - Penggunaanutamamikroprosesor ARM adalahpadaaplikasi embedded yang berdayarendahdanberbiayarendah, sepertimisalnya mobile telephone, modem komunikasi, sistemmanejemenmesinmobil, dan hand-held Group 4 PTIK 09
3.1 Register, AksesMemori dan Transfer Data Dalamarsitektur ARM, memoriadalah byte-addressble, menggunakanalamat 32-bit, dan register prosesormemilikipanjang 32-bit. Duapanjang operand digunakandalammemindahkan data antaramemoridan register prosessor : byte (8 bit) dan word (32 bit). Group 4 PTIK 09
3.1.1 Struktur Register - Register prosesor yang digunakanoleh program aplikasiditampilkanterdapatenambelas register 32 bit berlabel R0 hingga R15 yang terdiridari lima belas general-purpose register (R0 hingga R14) dan register program counter (PC), R15, yang terdiridari 15. - General purpose register dapatmenyimpanalamatmemoriatau operand data. Current progarm status register (CPRS), ataucukupdisebut register status, menyimpan condition code flag (N, Z, C, V), interupt disable flag, dan bit mode prosesor. - Disinikitaakanmengasumsikanbahwprosesordalam mode user dandieksekusisebagai program aplikasi.terdapat 15 general purpose register tambahn yang yangdisebut register banked. Group 4 PTIK 09
3.1.2 InstruksiAkses Memory Dan Mode Pengalamatan - Eksekusi Conditional Instruksi Fitur yang membedakandanagaktidakbiasadariprosesor ARM adalahsemuainstruksinyadieksekusisecara conditional, tergantungpadakondisi yang ditetapkanpadainstruksitersebut. Instruksitersebutdieksekusihanyajikakeadaansaatinidari conditional code flag prosesormemenuhikondisi yang ditetapkandalam bit b31-28 dariinstruksitersebut. Jikatidakprosesormelanjutkankeinstruksiberikutnyasalahsatukondisitersebutdigunakanuntukmengindikasikanbahwainstruksitersebutselaludieksekusi Group 4 PTIK 09
- Mode PengalamatanMemori • Metodedasaruntukmengalamati operand memoriadalahmembangkitkan effective address, EA, darioperantersebutdenganmenambahkan offset bertandakeisi base register Rn, yang ditentukandalaminstruksi. Besarnya offset tersebutdapatberupanilai immediate yang terdapatdalam 12 bit low order instruksiatauisidari register ketiga, Rm, yang dinamaidengan 4 bit low order tandaarah offset terdapatdalam field OP-code. Group 4 PTIK 09
- OPERAND LOAD/STORE MULTIPLE Selaininstruksi load dan store untuk operand tunggal, terdapat 2 instruksiuntuk me-load danmenyimpanbanyak operand. Instruksiitudisebutinstruksi transfer block. Sub set apapundari general purpose register load ataudisimpan. Hanya operand word yang diperbolehkan, dan OP code yang digunakandalam load multiple dan store multiple. Operand memoriharusberadadalamlokasi word yang berurutan. Group 4 PTIK 09
3.1.3 Instruksi Move Register Acap kali kitaperlumeng-copy isisatu register ke register lain atauuntuk me-load nilai immediate kesuatu register. Instruksi move MOV Rd , Rm Group 4 PTIK 09
3.2 InstruksiAritmatika Dan Logika Set instruksi ARM memilikisejumlahinstruksiuntuk operand aritmatikadanlogikapada operand yang beradadalam general-purpose register ataudinyatakansebagai operand immediate dalaminstruksiitusendiri. Terdapatinstruksiuntuk operand logika AND,OR,NOT,XOR, dan bit-clear. Instruksiseperti compare disediakanuntuk men-set condition code flag berdasarkanhasildarioperasiaritmatikadanlogikapadadua operand Group 4 PTIK 09
3.2.1 InstruksiAritmatika Ekspresibahasa assembly dasaruntukinstruksiaritmatikaadalah Opcode Rd, Rn, Rm Dimanaoperasi yang ditetapkanoleh OP code dilakukanmenggunakan operand dalam general-purpose register Rndan Rm. Hasilnyadiletakkandalam register Rd. Misalnya, instruksi ADD R0, R2, R4 Menjalankanoperasi R0 [R2] + [R4] Dan instruksi SUB R0, R6, R5 Menjalankanoperasi R0 [R6] – [R5] Group 4 PTIK 09
3.2.2 InstruksiLogika Operasilogika AND, OR, XOR, dan Bit-clear diimplementasikanolehinstruksi OP code AND, ORR, EOR, dan BIC. Kodetersebutmemiliki format yang samadenganinstruksiaritmatika. Instruksi AND Rd, Rn, Rm Menjalankanoperasi Rd [Rn] ^ [Rm] Yang merupakan bitwise logical AND antara operand dalam register Rndan Rm. Misalnya, jika register R0 berisipolahexadesimal 02FA62CA dan R1 berisipola 0000FFFF, makainstruksi AND R0, RO, R1 Akanmenyebabkanpola 000062CA diletakkandalam register R0. Group 4 PTIK 09
3.3 Instruksi Branch Instruksi branch CONDITIONAL berisi offset 24-bit, 2’-complement, bertanda yang ditambahkankeisiter-update Program Counter untukmenghasilkanalamat target branch. Instruksi Branch dieksekusidengancara yang samasepertiinstruksi ARM yang lain, yaitudieksekusihanyajikakeadaanterbaru condition code flag berhubungandengankondisiditetapkandalam field coditioninstruksitersebut. Group 4 PTIK 09
3.3.1 Setting Condition Code beberapainstruksi, seperti compare, dinyatakansebagaiberikut CMP Rn, Rm Yang menjalankanoperasi [Rn] – [Rm] Memilikitujuanutamauntuk men-set condition code flag berdasarpadahasiloperasipengurangan. Group 4 PTIK 09
3.3.2 Program Loop untuk penambahan bilangan Operasi load dan store dilakukanolehinstruksipertama, kedua, danterakhir yang digunakanoleh mode pengalamatan relative. Inimengasumsikanbahwalokasimemori N, pointer, dan SUM terdapatdalamrentang yang terjangkauoleh offset relatifterhadap PC. Lokasimemori pointer berisialamat NUM 1 daribilanganpertama yang akanditambahkan, N berisijumlahentrididalam list dan SUM digunakanuntukmenyimpanjumlahtersebut Group 4 PTIK 09
3.4 Bahasa Assembly Bahasa assembly ARM memiliki assembler directive untukmenyiapkanruangpenyimpanan, menetapkannilainumerikke label alamatdarisimbolkonstanta, menentukandimana program danblok data akanditempatkandalammemori, menetapkanakhirteks source program fasilitastersebutdidekskripsikansecaraumum. Group 4 PTIK 09
3.5 KontrolAliran Program - Condition Code Flag 68000 memiliki lima condition code flag, disimpandalam register status. Selain flag M,Z,V, dan C yang dideskripsikanpadabagian 2.4.6, 6800 memiliki lima flag, X (extend). Di-set dengancara yang samadengan flag C, tetapitidakdipengaruhiolehbanyakinstruksi. - Instruksi Branch Instruksi conditional branch menyebabkaneksekusi program berlanjutdenganinstruksipadaalamat target branch jikakondisi branch dipenuhi. Group 4 PTIK 09
3.6 Operasi I/O Prosessor 68000 mensyaratkansemua status dan buffer data dalamantarmukaperangkat I/O menjadi addressable sepertilokasimemori. Iniberarti program-program I/O dalamkomputer 68000 dapatdicapai. Group 4 PTIK 09
3.7 Stack dan Subroutine Suatu stack dapatdiimplementasikan, menggunakan register alamatapapunsebagai pointer. Mode pengalamatanAutoincrementdanAutodecrementmemfasilitasiprosesini. Satu register spesifik, register A7, ditunjuksebagai pointer stack prosesor, dan stack yang ditunjuk register inidisebut stack prosesor. Iniadalah stack yang digunakandalamsemuaoperasi stack yang dilakukanprosesorsecaraotomatis, sebagaimanadalamkasus linkage subroutine. Group 4 PTIK 09
3.8 InstruksiLogika Operand yang terlibatdalaminstruksiinimemilikipanjangtetap 32, 16, atau 8 bit. Padabeberapaaplikasiperluuntukmemanipulasi: ukuran data yang lain, mungkinhanya bit individu, danmelakukanoperasilogikapada data ini. Group 4 PTIK 09
3.9 Register danPengalamatan Dalamarsitektur 1A-32, memoriadalah byte addressable menggunakanalamat 32-bit, daninstruksiberoperasipada operand data 8 dan 32 bit. Ukuran operand inidisebut byte dandoubleworddalamistilahintel. Group 4 PTIK 09
3.9.1 Struktur Register 1A-32 Terdapatdelapan floating-point register untukmenyimpan operand data floating point doublewordatauquadword (64 bit). Floating-point register yang memiliki field ekstensiuntukmenyediakanpanjang total 80 bit. Arsitektur 1A-32 berbasispada model memori yang menghubungkan area yang berbedadidalammemori, yang disebutsegmendengankegunaan yang berbeda. Group 4 PTIK 09
3.9.2 Mode Pengalamatan 1A-32 • Arsitektur 1A-32 memiliki set mode pengalamatan yang besardanfleksibel. Mode tersebutdidesainuntukmengakses item data individuatau item data yang merupakanaggotadari list yang berurutan yang mulaipadaalamatmemoritertentu. • Mode dasar, yang tersediapadakebanyakanprosesortelahdideskripsikan. Mode tersebutadalah : Immediate, Absolute, Register, dan Register indirect. Group 4 PTIK 09