11/19/2014
PART 3: THE CENTRAL PROCESSING UNIT
ARSITEKTUR DAN ORGANISASI KOMPUTER
CHAPTER 11: ADDRESSING MODES AND FORMATS
PRIO HANDOKO, S.KOM., M.T.I.
CHAPTER 11: ADDRESSING MODES AND FORMATS
11.1 Addressing
Kompetensi Dasar
Teknik-teknik pengalamatan (addressing):
Mahasiswa memiliki pengetahuan mengenai format dan modus pengalamatan
• • • • • • •
Agenda • • • •
Addressing x86 and ARM Addressing Modes Instruction Formats x86 and ARM Instruction Formats Arsitektur dan Organisasi Komputer
3
Immediate Direct Indirect Register Register Indirect Displacement (Indexed) Stack Arsitektur dan Organisasi Komputer
4
1
11/19/2014
11.1 Addressing (cont…)
11.1 Addressing (cont…)
Immediate
Direct
• • •
opcode
• •
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 Arsitektur dan Organisasi Komputer
Berisikan field alamat yang terdapat dalam instruksi mengacu ke memori
opcode
5
Arsitektur dan Organisasi Komputer
11.1 Addressing (cont…)
11.1 Addressing (cont…)
• 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
Arsitektur dan Organisasi Komputer
6
berisikan field alamat terdapat dalam instruksi mengacu ke memori
opcode
7
Arsitektur dan Organisasi Komputer
8
2
11/19/2014
11.1 Addressing (cont…) • • • • • •
11.1 Addressing (cont…)
Pengalamatan tidak langsung Memiliki ruang alamat yang luas (2N) 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 Arsitektur dan Organisasi Komputer
Register opcode
9
berisikan field alamat yang dalam instruksi yang mengacu kepada register
Arsitektur dan Organisasi Komputer
11.1 Addressing (cont…)
11.1 Addressing (cont…)
• 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
Arsitektur dan Organisasi Komputer
11
Arsitektur dan Organisasi Komputer
10
12
3
11/19/2014
11.1 Addressing (cont…)
11.1 Addressing (cont…)
Register Indirect
• 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
opcode
berisikan field alamat yang dalam instruksi yang mengacu kepada register
Arsitektur dan Organisasi Komputer
13
Arsitektur dan Organisasi Komputer
11.1 Addressing (cont…)
11.1 Addressing (cont…)
Displacement
• Merupakan perpaduan antara direct dan register indirect addressing EA = A + (R) • Field alamat menyimpan 2 nilai:
opcode
berisikan field alamat terdapat dalam instruksi mengacu ke memori
1. A = base value 2. R = register that holds displacement
berisikan field alamat yang dalam instruksi yang mengacu kepada register
Arsitektur dan Organisasi Komputer
14
• Terdapat 3 tipe displacement addressing: 1. Relative addressing 2. Base-register addressing 3. Indexing 15
Arsitektur dan Organisasi Komputer
16
4
11/19/2014
11.1 Addressing (cont…)
11.1 Addressing (cont…)
Relative Addressing
Indexing •
• Dimana register R = Program counter, PC • EA = A + (PC)
• • • •
Base Register Addressing • Khusus di 80x86 • A = holds displacement • R = menyimpan pointer ke base address Arsitektur dan Organisasi Komputer
Umumnya digunakan untuk prosesyang memiliki iterasi A = base R = displacement EA = A + R Terdapat 3 jenis operasi: 1. Autoindexing 2. Postindexing 3. Preindexing
17
11.1 Addressing (cont…)
11.1 Addressing (cont…)
Autoindexing
Stack
Melakukan penambahan/pengurangan secara otomatis index register setelah selesai direferensi
Arsitektur dan Organisasi Komputer
18
Arsitektur dan Organisasi Komputer
20
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 Arsitektur dan Organisasi Komputer
19
5
11/19/2014
11.1 Addressing (cont…)
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)
•
Arsitektur dan Organisasi Komputer
21
11.2 Pentium Addressing Mode (cont…)
Arsitektur dan Organisasi Komputer
22
11.2 Pentium Addressing Mode (cont…)
x86 Addressing Modes
Arsitektur dan Organisasi Komputer
23
Arsitektur dan Organisasi Komputer
24
6
11/19/2014
11.3 Instruction Format
11.3 Instruction Format (cont…)
• Mendefinisikan representasi bit dalam sebuah instruksi termasuk opcode dan operand • Pada umumnya terdapat lebih dari 1 instruksi dalam sebuah instruction set • Terdiri dari:
Instruction Length
• •
Panjang Instruksi mempengaruhi : • • • • •
Instruction length Allocation of bits
Arsitektur dan Organisasi Komputer
25
Memory size Memory organization Bus structure CPU complexity CPU speed
Arsitektur dan Organisasi Komputer
26
11.3 Instruction Format (cont…)
PART 3: THE CENTRAL PROCESSING UNIT
Allocation of Bits Faktor-faktor yang menentukan penggunaan addressing bit: • • • • • •
CHAPTER 11: ADDRESSING MODES AND FORMATS
Number of addressing modes Number of operands Register versus memory Number of register sets Address range Address granularity (alamat mengacu byte, word, dll)
- THANK YOU Arsitektur dan Organisasi Komputer
27
7