BAB VII
MODE DAN FORMAT PENGALAMATAN
1.Pengalamatan
Field alamat dalam format instruksi sangat terbatas. Untuk dapat mereferensi lokasi alamat dalam jumlah yang banyak dalam memori utama atau memori virtual pada mesin-mesin tertentu diperlukan teknik pengalamatan.
A. Teknik pengalamatan yang umum digunakan adalah : 1. Immediate addressing.
Merupakan bentuk pengalamatan yang paling sederhana. Operand benar-benar ada dalam instruksi. Operand = A
Instruksi
Keuntungan : tidak terdapat referensi memori selain dari instruksi yang diperlukan untuk memperoleh operand.
Kerugian : ukuran bilangan dibatasi oleh ukuran field alamat. 2. Direct addressing.
Field alamatnya berisi effective address sebuah operand. EA = A
Instruksi
Memori
Keuntungan : sederhana hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulasi khusus.
Kerugian : ruang alamat terbatas, panjang field alamat lebih kecil dari panjang word.
3. Indirect addressing.
Field alamat mengacu pada alamat word didalam memori, yang pada gilirannya akan berisi alamat operand. EA = (A).
Operand
A
Instruksi Memori
Keuntungan : ruang alamat besar, untuk panjang word sebesar N dapat digunakan sebuah ruang alamat sebesar 2pangkat N.
Kerugian : eksekusi instruksi memerlukan dua referensi memori untuk mengambil operand.
4. Register Addressing.
Field alamat mengacu pada sebuah register. Karena jumlah register terbatas, maka register hanya akan digunakan apabila register-register itu dipakai secara efisien . EA = R
Instruksi Register
Keuntungan : hanya diperlukan field alamat berukuran kecil dalam instruksi dan tidak memerlukan referensi memori.
Kerugian : ruang alamat sangat terbatas. 5. Register indirect addressing .
Field alamat mereferensi ke lokasi memori atau register.
Instruksi Memori
Register A
Alamat
Operand
R
Operand
R
Keuntungan : ruang alamat besar.
Instruksi-instruksi mesin tidak perlu memiliki referensi memori namun secara implicit beroperasi pada bagian atas stack. EA = Puncak stack.
Instruksi
Format instruksi merupakan penentu layout bit suatu instruksi yang harus mencakup opcode dan secara implicit atau ekplisit, nol operand atau lebih. Seluruh operand ekplisit direferensikan dengan menggunakan salah satu mode pengalamatan. Secara implicit atau ekplisit format harus harus dapat mengindikasikan mode pengalamatan seluruh operandnya. Pada sebagian besar set instruksi digunakan lebih dari satu format instruksi. Hal-hal penting yang perlu diperhatikan pada rancangan format instruksi:
A. Panjang instruksi.
Panjang instruksi mempengaruhi ukuran memori dan dipengaruhi oleh ukuran memori, organisasi memori, struktur bus, kompleksitas CPU, dan kecepatan CPU. Hal-hal yang perlu dipertimbangkan dalam menentukan panjang instruksi: 1. Instruksi yang canggih, yaitu instruksi yang memiliki opcode, operand dan
mode pengalamatan yang lebih banyak dan mempunyai range alamat yang besar.
R A
2. Opcode dan operand bermanfaat untuk memindahkan pekerjaan pemrogram, sehingga program menjadi lebih pendek.
3. Panjang instruksi harus sama dengan panjang perpindahan memori (panjang bus data).
4. Panjang instruksi harus merupakan kelipatan panjang instruksi lainnya. 5. Kecepatan perpindahan memori.
B. Alokasi Bit pada format instruksi.
Hal-hal penting yang saling berkaitan dalam menentukan penggunaan bit-bit pengalamatan, antara lain :
1. Jumlah mode pengalamatan , kadang mode pengalamatan dapat
diindikasikan secara implicit (opcode tertentu bisa merupakan pemanggilan indexing), kadang harus dinyatakan secara ekplisit ( membutuhkan satu atau lebih bit mode).
2. Jumlah operand dibanyak mesin saat ini menyediakan dua buah operand, yaitu setiap alamat operand dalam instruksi memerlukan indicator modenya sendiri,atau penggunaan indicator mode dapat dibatasi menjadi hanya sebuah field.
3. Register dan memori , sebuah mesin harus mempunyai register sehingga data dapat dibawa ke CPU untuk diproses.
4. Jumlah set register, sebuah mesin biasanya memiliki satu set general purpose register, yang umumnya didalamnya terdapat 8 atau 16 buah register.
5. Jangkauan alamat, untuk alamat-alamat yang mereferensi memori, jangkauan alamat yang dapat direferensikan sesuai dengan jumlah bit alamat.