ARSITEKTUR DAN ORGANISASI KOMPUTER PART 3: THE CENTRAL PROCESSING UNIT CHAPTER 11: ADDRESSING MODES AND FORMATS PRIO HANDOKO, S.KOM., M.T.I. CHAPTER 11: ADDRESSING MODES AND FORMATS Kompetensi Dasar Mahasiswa memiliki pengetahuan mengenai format dan modus pengalamatan Agenda Addressing x86 and ARM Addressing Modes Instruction Formats x86 and ARM Instruction Formats 11.1 Addressing Teknik-teknik pengalamatan (addressing): Immediate Direct Indirect Register Register Indirect Displacement (Indexed) Stack 3 4 1
Immediate Nilai operand muncul pada instruksi Operand = nilai yang terdapat pada address field dalam instruksi Tidak memiliki referensi memori untuk melakukan fetch data Cepat Jangkauan terbatas Direct Berisikan field alamat yang terdapat dalam instruksi mengacu ke memori 5 6 Address field berisikan alamat operand EA (effective address) adalah alamat aktual dari lokasi yang berisi operand EA = A Membutuhkan satu referensi memori untuk mengakses operand Ruang alamat terbatas Indirect berisikan field alamat terdapat dalam instruksi mengacu ke memori 7 8 2
Pengalamatan tidak langsung Memiliki ruang alamat yang luas (2 N ) Field alamat berisikan alamat dari alamat operand EA = (A) Membutuhkan dua referensi memori untuk melakukan fetch data; 1 untuk alamat dan 1 untuk nilai yang disimpan Lambat Membutuhkan multiple access untuk dapat menemukan operand Register berisikan field alamat yang dalam instruksi yang mengacu kepada register 9 10 Operand tersimpan dalam register EA = R Jumlah register terbatas Membutuhkan field alamat yang sangat kecil Instruksi lebih ringkas Fetch instruksi cepat Tidak mengakses memori Ruang alamat yang terbatas Multiple registers membantu kinerja Memiliki kesamaan dengan direct addressing 11 12 3
Register Indirect berisikan field alamat yang dalam instruksi yang mengacu kepada register Memiliki kesamaan dengan indirect addressing Perbedaan: field alamat mengacu pada register, bukan ke memori EA = (R) Operand berada pada sel memori yang menunjukkan ke isi dari register (R) Memiliki ruang alamat yang luas Memiliki lebih sedikit akses ke memori jika dbandingkan dengan insirect addressing 13 14 Displacement berisikan field alamat terdapat dalam instruksi mengacu ke memori berisikan field alamat yang dalam instruksi yang mengacu kepada register Merupakan perpaduan antara direct dan register indirect addressing EA = A + (R) Field alamat menyimpan 2 nilai: 1. A = base value 2. R = register that holds displacement Terdapat 3 tipe displacement addressing: 1. Relative addressing 2. Base-register addressing 3. Indexing 15 16 4
Relative Addressing Dimana register R = Program counter, PC EA = A + (PC) Base Register Addressing Khusus di 80x86 A = holds displacement R = menyimpan pointer ke base address Indexing Umumnya digunakan untuk prosesyang memiliki iterasi A = base R = displacement EA = A + R Terdapat 3 jenis operasi: 1. Autoindexing 2. Postindexing 3. Preindexing 17 18 Autoindexing Melakukan penambahan/pengurangan secara otomatis index register setelah selesai direferensi Postindexing Melakukan penambahan/pengurangan secara otomatis index register setelah proses indirect addressing selesai Pretindexing Melakukan penambahan/pengurangan secara otomatis index register sebelum proses indirect addressing dilakukan Stack 19 20 5
11.2 Pentium Addressing Mode Mekanisme penerjemahan alamat pada X86 menghasilkan sebuah alamat yang disebut dengan virtual (AE) Virtual atau effective address merupakan offset ke segment Alamat awal + offset = linier address (LA) 21 22 11.2 Pentium Addressing Mode (cont ) 11.2 Pentium Addressing Mode (cont ) x86 Addressing Modes 23 24 6
11.3 Instruction Format Mendefinisikan representasi bit dalam sebuah instruksi termasuk dan operand Pada umumnya terdapat lebih dari 1 instruksi dalam sebuah instruction set Terdiri dari: Instruction length Allocation of bits 11.3 Instruction Format (cont ) Instruction Length Panjang Instruksi mempengaruhi : Memory size Memory organization Bus structure CPU complexity CPU speed 25 26 11.3 Instruction Format (cont ) Allocation of Bits Faktor-faktor yang menentukan penggunaan addressing bit: Number of addressing modes Number of operands Register versus memory Number of register sets Address range Address granularity (alamat mengacu byte, word, dll) 27 PART 3: THE CENTRAL PROCESSING UNIT CHAPTER 11: ADDRESSING MODES AND FORMATS - THANK YOU - 7