1 / 83

TEMA: ARSITEKTUR DAN ORGANISASI KOMPUTER

TEMA: ARSITEKTUR DAN ORGANISASI KOMPUTER. Pokok Bahasan : Instruction Sets Addressing Modes & Format Disusun oleh : Sutriono Azhari rahmadi lubis Eka cahya UNIVERSITAS INDRAPRASTA PGRI JAKARTA. BAB I INSTRUCTION SETS. Apakah instruksi set itu ? Elemen-elemen instruksi

olisa
Télécharger la présentation

TEMA: ARSITEKTUR DAN ORGANISASI KOMPUTER

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TEMA:ARSITEKTUR DAN ORGANISASI KOMPUTER PokokBahasan: Instruction Sets Addressing Modes & Format Disusunoleh: Sutriono Azharirahmadilubis Ekacahya UNIVERSITAS INDRAPRASTA PGRI JAKARTA

  2. BAB IINSTRUCTION SETS • Apakahinstruksi set itu? • Elemen-elemeninstruksi • Macam-macaminstruksi • Berapabanyak address digunakan? • Macam-macam operand • Macam-macamoperasi

  3. ApakahInstruksi set itu? • Kumpulan dariinstruksi-instruksi yang berbeda yang dapatdijalankanoleh CPU disebut set Instruksi (Instruction Set). • Operasidari CPU ditentukanolehinstruksi-instruksi yang dilaksanakanataudijalankannya. Instruksiiniseringdisebutsebagaiinstruksimesin (mechine instructions) atauinstruksikomputer (computer instructions).

  4. ELEMEN-ELEMEN DARI INSTRUKSI MESIN (SET INSTRUKSI) • Operation Code (opcode) : menentukanoperasi yang akandilaksanakan • Source Operand Reference : merupakan input bagioperasi yang akandilaksanakan • Result Operand Reference : merupakanhasildarioperasi yang dilaksanakan • Next instruction Reference : memberitahu CPU untukmengambil (fetch) instruksiberikutnyasetelahinstruksi yang dijalankanselesai.

  5. Macam-macamInstruksi Macam-macaminstruksiada 2,yaitu: • menurutjumlahoperasi yang di-spesifikasikan • menurutsifataksesterhadapmemoriatau register

  6. Macam-macaminstruksimenurutjumlahoperasi yang di-spesifikasikan 1. O – Address Instruction 2. 1 – Addreess Instruction. 3. N – Address Instruction 4. M + N – Address Instruction

  7. Macam-macaminstruksimenurutsifataksesterhadapmemoriatau register 1. Memori To Register Instruction 2. Memori To Memori Instruction 3. Register To Register Instruction

  8. Jenisinstruksi • Data processing: Arithmetic dan Logic Instructions • Data storage: Memory instructions • Data Movement: I/O instructions • Control: Test and branch instructions

  9. 1. Data Processing Arithmatic & Logic Instruction A. Data processing arithmatic • TindakanCPU untukmelakukanoperasi arithmetic : 1. Transfer data sebelumatausesudah. 2. Melakukanfungsidalam ALU. 3. Mensetkode-kodekondisidan flag. • Operasi set instruksiuntuk arithmetic : 1. ADD : penjumlahan 5. ABSOLUTE 2. SUBTRACT : pengurangan 6. NEGATIVE 3. MULTIPLY : perkalian 7. DECREMENT 4. DIVIDE : pembagian 8. INCREMENT Nomor 5 sampai 8 merupakaninstruksi operand tunggal.

  10. 1. Data Processing Arithmatic & Logic Instruction B. Data processing logic instruction • TindakanCPU samadengan arithmetic • Operasi set instruksiuntukoperasi logical : 1. AND, OR, NOT, EXOR 2. COMPARE : melakukanperbandinganlogika. 3. TEST : mengujikondisitertentu. 4. SHIFT : operand menggeserkekiriataukananmenyebabkan konstantapadaujung bit. 5. ROTATE : operand menggeserkekiriataukekanandengan ujung yang terjalin.

  11. 2. DATA STORAGE MEMORI INTRUCTION • Tindakan CPU samadengan arithmetic dan logical. • Instruksi yang mengubah format instruksi yang beroperasiterhadap format data. • Misalnyapengubahanbilangandesimalmenjadibilanganbiner. • Operasi set instruksiuntukconversi : 1. TRANSLATE : menterjemahkannilai-nilaidalamsuatubagian memoriberdasarkantabelkorespodensi. 2. CONVERT : mengkonversiisisuatu word darisuatubentuk kebentuklainnya.

  12. 3. DATA MOVEMENT INPUT / OUPUT INSTRUCTION • Tindakan CPU untukmelakukan INPUT /OUTPUT : 1. Apabila memory mapped I/O makamenentukanalamat memory mapped. 2. Mengawaliperintahkemodul I/O • Operasi set instruksi Input / Ouput : 1. INPUT : memindahkan data dariperangkatI/O tertentuke tujuan 2. OUTPUT : memindahkan data darisumbertertentuke perangkat I/O 3. START I/O : memindahkaninstruksikeprosesor I/O untuk mengawalioperasi I/O 4. TEST I/O : memindahkaninformasidarisistem I/O ketujuan

  13. Desain set instruksi Desain set instruksimerupakanmasalah yang sangatkomplek yang melibatkanbanyakaspek, diantaranyaadalah: 1. Kelengkapan set instruksi 2. Ortogonalitas (sifatindependensi instruksi) 3. Kompatibilitas : - Source code compatibility - Object code Compatibility

  14. Selainketigaaspektersebutjugamelibatkan hal-halsebagaiberikut: 1. Operation Repertoire: Berapabanyakdanoperasiapasaja yang disediakan, danberapasulitoperasinya 2. Data Types: tipe/jenis data yang dapatolah Instruction Format: panjangnya, banyaknyaalamat, dsb. 3. Register: Banyaknya register yang dapatdigunakan 4.Addressing: Mode pengalamatanuntuk operand

  15. Format Instruksi • Suatuinstruksiterdiridaribeberapafield yang sesuaidenganelemendalaminstruksitersebut. Layout darisuatuinstruksiseringdisebutsebagai Format Instruksi (Instruction Format).

  16. Jumlahalamat yang digunakan JUMLAH ALAMAT (NUMBER OF ADDRESSES) • Salah satucaratradisionaluntukmenggambarkanarsitekturprosessoradalahdenganmelihatjumlahalamat yang terkandungdalamsetiapinstruksinya. • Jumlahalamatmaksimum yang mungkindiperlukandalamsebuahinstruksi : 1. EmpatAlamat ( dua operand, satuhasil, satuuntukalamat instruksiberikutnya) 2. TigaAlamat (dua operand, satuhasil) 3. DuaAlamat (satu operand merangkaphasil, satunyalagi operand) 4. SatuAlamat (menggunakan accumulator untukmenyimpan operand danhasilnya)

  17. Macam-macam Operand • Addresses (akandibahaspada addressing modes) • Numbers : - Integer or fixed point - Floating point - Decimal (BCD) • Characters : - ASCII - EBCDIC • Logical Data : Bila data berbentuk binary: 0 & 1

  18. Tranfer Data • Menetapkanlokasi operand sumberdan operand tujuan. • Lokasi-lokasitersebutdapatberupamemori, register ataubagian paling atasdaripada stack. • Menetapkanpanjang data yang dipindahkan. • Menetapkan mode pengalamatan. • Tindakan CPU untukmelakukan transfer data adalah : a. Memindahkan data darisatulokasikelokasi lain. b. Apabilamemoridilibatkan : Menetapkanalamatmemori. Menjalankantransformasialamatmemori virtual kealamat memoriaktual. Mengawalipembacaan / penulisanmemori

  19. Operasi set instruksiuntuk transfer data : • MOVE : memindahkan word ataublokdarisumberketujuan • STORE : memindahkan word dariprosesorkememori. • LOAD : memindahkan word darimemorikeprosesor. • EXCHANGE : menukarisisumberketujuan. • CLEAR / RESET : memindahkan word 0 ketujuan. • SET : memindahkan word 1 ketujuan. • PUSH : memindahkan word darisumberkebagian paling atas stack. • POP : memindahkan word daribagian paling atassumber

  20. Source danresult operandsdapatberupasalah Satudiantaratigajenisberikutini: • Main or Virtual Memory • CPU Register • I/O Device

  21. Macam-macamOperasi

  22. BAB IIADDRESSING MODES & FORMAT • Model-model addressing • Direct and Indirect Addressing • Register Addressing • Instruction Format

  23. ADDRESSING MODES Jenis-jenis addressing modes (Teknik Pengalama-tan) yang paling umum: • Immediate • Direct • Indirect • Register • Register Indirect • Displacement • Stack

  24. Tabel Basic Addressing Modes

  25. Gambar Addressing Mode

  26. Immediate Addressing • Operan adalah bagian dari instruksiOperan = alamat lapanganmisalnya Masukkan 5Tambahkan 5 untuk isi akumulator5 adalah operanTidak ada referensi memori untuk mengambil datacepatketerbatasan

  27. Immediate Addressing Diagram Instruction Opcode Operand

  28. Direct Addressing • Address field berisi alamat dari operanAlamat Efektif (EA) = alamat lapangan (A)misalnya ADD ATambahkan isi sel A ke akumulatorLihat dalam memori pada alamat A untuk operandReferensi memori tunggal untuk mengakses dataTidak ada tambahan perhitungan untuk bekerja di luar alamat efektifTerbatas ruang alamat

  29. Direct Addressing Diagram Instruction Opcode Address A Memory Operand

  30. Indirect Addressing (1) • Sel memori yang ditunjuk oleh field alamat berisi alamat (pointer ke) operanEA = (A)Lihat dalam A, menemukan alamat (A) dan tampak di sana untuk operanmisalnya ADD (A)Tambahkan isi sel ditunjukkan oleh isi dari A ke akumulator

  31. Indirect Addressing (2) • Besar ruang alamat2n dimana n = kata panjangBisa diulang, bertingkat, mengalirmisalnya EA = (((A)))Gambarlah diagram diriMemori rangkap mengakses untuk menemukan operanOleh karena itu lebih lambat

  32. Indirect Addressing Diagram Instruction Opcode Address A Memory Pointer to operand Operand

  33. Register Addressing (1) • Operan diadakan di daftar alamat yang disebutkan dalam mengajukanEA = RTerbatas jumlah registerSangat kecil alamat lapangan diperlukanShorter instruksiInstruksi lebih cepat mengambil

  34. Register Addressing (2) • Tidak ada akses memoriSangat cepat eksekusiSangat terbatas ruang alamatBeberapa register membantu kinerjaMembutuhkan pemrograman perakitan baik atau menulis compilerN.B. pemrograman Cmendaftar int a;c.f. langsung mengatasi

  35. Register Addressing Diagram Instruction Opcode Register Address R Registers Operand

  36. Register Indirect Addressing • C.f. tidak langsung menanganiEA = (R)Operan dalam sel memori yang ditunjuk oleh isi dari register RAlamat yang besar ruang (2n)Satu lebih sedikit memori akses langsung dari pengalamatan

  37. Register Indirect Addressing Diagram Instruction Opcode Register Address R Memory Registers Operand Pointer to Operand

  38. Displacement Addressing • EA = A + (R)Address field memegang dua nilaiSebuah nilai dasar =R = register yang memegang perpindahanatau sebaliknya

  39. Displacement Addressing Diagram Instruction Address A Opcode Register R Memory Registers Pointer to Operand Operand +

  40. Relative Addressing • Sebuah versi dari perpindahan menanganiR = Program counter, PCEA = A + (PC)yaitu mendapatkan operan dari A sel dari lokasi saat ini ditunjuk oleh PCc.f lokalitas penggunaan referensi & Cache

  41. Base-Register Addressing • Sebuah memegang perpindahanR memegang pointer ke alamat dasarR dapat menjadi eksplisit atau implisitmisalnya segmen register di 80x86

  42. Indexed Addressing • A = dasarR = perpindahanEA = A + RBaik untuk mengakses arrayEA = A + RR + +

  43. Combinations • Postindex • EA = (A) + (R) • Preindex • EA = (A+(R)) • (Draw the diagrams)

  44. Stack Addressing • Operan adalah (secara implisit) di atas tumpukanmisalnyaMasukkan Pop atas dua item dari stack dan tambahkan

  45. x86 Addressing Modes • Alamat virtual atau efektif adalah offset ke dalam segmenAlamat awal ditambah diimbangi memberikan alamat linierIni berjalan melalui terjemahan halaman jika paging diaktifkan12 mode pengalamatan yang tersediasegeraDaftar operanpemindahandasarBase dengan perpindahanScaled indeks dengan perpindahanDasar dengan indeks dan perpindahanBasis skala indeks dengan perpindahanrelatif

  46. x86 Addressing Mode Calculation

  47. ARM Addressing ModesLoad/Store • Hanya petunjuk yang referensi memoriSecara tidak langsung melalui register dasar ditambah diimbangimengimbangiOffset ditambahkan ke atau dikurangkan dari isi register dasar untuk membentuk alamat memoriPreindexAlamat memori dibentuk sebagai untuk mengatasi mengimbangiAlamat memori juga ditulis kembali ke base registerJadi base register nilai bertambah atau decremented oleh nilai offsetPostindexAlamat memori adalah nilai base registerOffset Hasil ditambahkan atau dikurangi ditulis kembali ke base registerBase register bertindak sebagai daftar indeks untuk preindex dan postindex menanganiOffset baik nilai langsung dalam instruksi atau mendaftar lainJika mendaftar skala mendaftar mengatasi tersediaOffset mendaftar nilai ditingkatkan oleh operator pergeseranInstruksi menentukan ukuran pergeseran

  48. ARM Indexing Methods

  49. ARM Data Processing Instruction Addressing& Branch Instructions • Pengolahan DataDaftar menanganiNilai dalam operan mendaftar dapat ditingkatkan menggunakan operator pergeseranAtau campuran dari register dan segera menanganicabangsegeraInstruksi berisi 24 nilai bitBergeser meninggalkan 2 bitPada batas kataJarak efektif + /-32MB dari PC.

  50. ARM Load/Store Multiple Addressing • Load / store bagian dari tujuan umum register16-bit bidang instruksi menetapkan daftar registerSequential kisaran alamat memoriSelisih setelah, kenaikan sebelumnya, setelah pengurangan, dan pengurangan sebelumBase register menentukan alamat memori utamaIncrementing atau decrementing dimulai sebelum atau setelah akses memori pertama

More Related