1. INHERENT
Dalam mode pengalamatan inherent, semua informasi yang dibutuhkan untuk operasi telah diketahui otomatis oleh CPU, dan tidak dibutuhkan operan eksternal dari memori atau dari program. Operan yang digunakan hanyalah register internal dari CPU atau data dalam stack. Karena itu operasi ini hanyalah terdiri dari satu byte instruksi.
Dalam mode pengalamatan inherent, semua informasi yang dibutuhkan untuk operasi telah diketahui otomatis oleh CPU, dan tidak dibutuhkan operan eksternal dari memori atau dari program. Operan yang digunakan hanyalah register internal dari CPU atau data dalam stack. Karena itu operasi ini hanyalah terdiri dari satu byte instruksi.
2. IMMEDIATE
Dalam mode pengalamatan immediate, operan terkandung di dalam byte yang langsung mengikuti kode operasi. Mode ini digunakan saat suatu harga atau konstanta diketahui saat program dibuat dan tidak akan dirubah selama eksekusi program. Operasi dengan mode ini membutuhkan dua byte instruksi, satu untuk kode operasi dan satu lagi untuk data byte.
3. DIRECTION
Mode pengalamatan direct mirip dengan mode pengalamatan extended kecuali bahwa upper byte dari alamat operan selalu dianggap $00. Karena itu, hanya lower-byte dari operan yang diperlukan untuk dimasukkan dalam instruksi. Pengalamatan direct menyebabkan efisiensi alamat dalam 256 byte pertama dalam memori. Area ini dinamakan dengan direct page dan mengandung on-chip RAM dan register I/O. Pengalamatan direct ini efisien bagi memori program dan waktu eksekusi. Dalam mode ini instruksi terdiri dari dua byte, satu untuk kode operasi dan satu lagi untuk alamat operan.
4. EXTENDED
Dalam mode pengalamatan extended, alamat dari operan terkandung dalam dua byte yang mengikuti kode operasi. Pengalamatan extended ini dapat digunakan untuk mengakses semua lokasi dalam memori mikrokontroler termasuk I/O, RAM, ROM, dan EPROM. Karena itu operasi ini membutuhkan tiga byte, satu untuk kode operasi, dan dua untuk alamat dari operan.
5. INDEXED
Dalam mode pengalamatan indexed, alamat efektif adalah variabel dan tergantung pada dua faktor: 1) isi index register saat itu dan 2) nilai offset yang terkandung dari byte yang mengikuti kode operasi. Terdapat tiga jenis pengalamatan indexed yang didukung oleh CPU keluarga M68HC05, yaitu: no-offset, 8-bit offset, dan 16-bit offset. Dalam mode pengalamatan indexed-no offset, alamat efektif dari operan terkandung dalam index register 8-bit. Karena itu, mode pengalamatan ini dapat mengakses 256 lokasi memori (dari $0000 sampai $00FF). Instruksi mode ini membutuhkan satu byte instruksi.
6. RELATIVE
Mode pengalamatan relative ini digunakanhanya dalam instruksi percabangan. Instruksi percabangan, selain percabangan instruksi manipulasi bit, membangkitkan dua byte kode mesin: satu untuk kode operasi dan satu untuk offset relatifnya. Karena kemampuannya untuk bercabang ke dua arah, byte offset adalah bilangan bertanda dengan jangkauan –128 sampai +127. Jika kondisi percabangan TRUE, isi dari byte bertanda 8-bit yang mengikuti kode operasi akan ditambahkan dengan isi dari PC untuk membentuk alamat efektif percabangan; jika FALSE maka kontrol program akan terus ke instruksi di bawah instruksi percabangan. Programmer akan menspesifikasikan tujuan dari percabangan sebagai alamat absolute (dengan label atau alamat langsung). Kemudian assembler akan mengkalkulasi offset relatif 8-bit yang akan diletakkan di belakang kode memori dalam memori.
7. Machine Code, Opcode , Mnemonic, Operation, Addressing Mode.
A. Elemen Instruksi Mesin
- Operation code (Op code): Menspesifikasi operasi yang akan dilakukan. Kode operasi berbentuk kode biner
- Source Operand reference: Operasi dapat berasal dari lebih satu sumber. Operand adalah input operasi
- Result Operand reference: Merupakan hasil atau keluaran operasi
- Next Instruction Reference: Elemen ini menginformasikan CPU posisi instruksi berikutnya yang harus diambil dan dieksekusi
B. Mnemonic
Kode operasi (opcode) direpresentasi kan dengan singkatan – singkatan, yang disebut mnemonic. Mnemonic mengindikasikan suatu operasi bagi CPU.
Contoh mnemonic adalah :
– ADD = penambahan
– SUB = substract (pengurangan)
– LOAD = muatkan data ke memori
• Setiap opcode simbolik memiliki representasi biner yang tetap dan programer dapat menetapkan lokasi masing – masing operand
• Operand dari Operation
1. Memori ke memori.
Dalam hal ini data berasal dan kembali ke memori, dan tahap operasi secara umum adalah :
a. Ambil nilai operand dari memori
b. Eksekusi operasi yang diperlukan
c. Kembalikan hasilnya ke memori
2. Memori ke register.
Yaitu memindah nilai dari data kememori ke register. Satu nilai data berasal dari memori dan satu lagi dari register. Hasil eksekusi dikembalikan ke memori atau ke register dimana operand berasal.
3. Register ke register.
Dalam hal ini digunakan sejumlah register untuk menyimpan seluruh nilai data yang akan digunakan dalam komputasi. Data harus diambil dari memori oleh sederet instruksi sebelum komputasi dimulai. Setelah komputasi dilakukan maka hasilnya dikembalikan lagi dengan register.
• Representasi Instruksi
1. Memori ke memori.
Dalam hal ini data berasal dan kembali ke memori, dan tahap operasi secara umum adalah :
a. Ambil nilai operand dari memori
b. Eksekusi operasi yang diperlukan
c. Kembalikan hasilnya ke memori
2. Memori ke register.
Yaitu memindah nilai dari data kememori ke register. Satu nilai data berasal dari memori dan satu lagi dari register. Hasil eksekusi dikembalikan ke memori atau ke register dimana operand berasal.
3. Register ke register.
Dalam hal ini digunakan sejumlah register untuk menyimpan seluruh nilai data yang akan digunakan dalam komputasi. Data harus diambil dari memori oleh sederet instruksi sebelum komputasi dimulai. Setelah komputasi dilakukan maka hasilnya dikembalikan lagi dengan register.
• Representasi Instruksi
- Instruksi komputer direpresentasikan oleh sekumpulan bit. Instruksi dibagi menjadi beberapa field.
- Field-field ini diisi oleh elemen-elemen instruksi yang membawa informasi bagi operasi CPU.
- Layout instruksi dikenal dengan format instruksi.
• Korelasi
- Terlihat hubungan antara ekspresi bahasa tingkat tinggi dengan bahasa mesin.
- Dalam bahasa tingkat tinggi, operasi dinyatakan dalam bentuk aljabar singkat menggunakan variabel.
- Dalam bahasa mesin hal tersebut diekspresikan dalam operasi perpindahan antar register.
• Jenis-Jenis Instruksi
1. Pengolahan data (data processing),
meliputi operasi-operasi aritmetika dan logika. Operasi aritmetika memiliki kemampuan komputasi untuk pengolahan data numerik. Sedangkan instruksi logika beroperasi terhadap bit-bit word sebagai bit, bukannya sebagai bilangan, sehingga instruksi ini memiliki kemampuan untuk pengolahan data lain.
2. Perpindahan data(data movement),
berisi instruksi perpindahan data antar register maupun modul I/O. Untuk dapat diolah oleh CPU maka diperlukan instruksi-instruksi yang bertugas memindahkan data operand yang diperlukan.
3. Penyimpanan data (data storage),
berisi instruksi-instruksi penyimpanan ke memori. Instruksi penyimpanan sangat penting dalam operasi komputasi, karena data tersebut akan digunakan untuk operasi berikutnya, minimal untuk ditampilkan pada layar harus diadakan penyimpanan walaupun sementara.
4. Kontrol aliran program (program flow control),
berisi instruksi pengontrolan operasi dan pencabangan. Instruksi ini berguna untuk pengontrolan status dan mengoperasikan percabangan ke set instruksi lain
C. Addressing Mode ( Mode Pengalamatan )
1. Pengolahan data (data processing),
meliputi operasi-operasi aritmetika dan logika. Operasi aritmetika memiliki kemampuan komputasi untuk pengolahan data numerik. Sedangkan instruksi logika beroperasi terhadap bit-bit word sebagai bit, bukannya sebagai bilangan, sehingga instruksi ini memiliki kemampuan untuk pengolahan data lain.
2. Perpindahan data(data movement),
berisi instruksi perpindahan data antar register maupun modul I/O. Untuk dapat diolah oleh CPU maka diperlukan instruksi-instruksi yang bertugas memindahkan data operand yang diperlukan.
3. Penyimpanan data (data storage),
berisi instruksi-instruksi penyimpanan ke memori. Instruksi penyimpanan sangat penting dalam operasi komputasi, karena data tersebut akan digunakan untuk operasi berikutnya, minimal untuk ditampilkan pada layar harus diadakan penyimpanan walaupun sementara.
4. Kontrol aliran program (program flow control),
berisi instruksi pengontrolan operasi dan pencabangan. Instruksi ini berguna untuk pengontrolan status dan mengoperasikan percabangan ke set instruksi lain
C. Addressing Mode ( Mode Pengalamatan )
Mengatasi keterbatasan format instruksi :
– Dapat mereferensi lokasi memori yang besar
– Mode pengalamatan yang mampu menangani keterbatasan tersebut :
1. Masing – masing prosesor menggunakan mode pengalamatan yang berbeda – beda.
2. Memiliki pertimbangan dalam penggunaannya.
– Dapat mereferensi lokasi memori yang besar
– Mode pengalamatan yang mampu menangani keterbatasan tersebut :
1. Masing – masing prosesor menggunakan mode pengalamatan yang berbeda – beda.
2. Memiliki pertimbangan dalam penggunaannya.
Ada beberapa teknik pengalamatan :
a. Immediate Addressing Bentuk pengalamatan ini yang paling sederhana :
a. Immediate Addressing Bentuk pengalamatan ini yang paling sederhana :
- Operand benar – benar ada dalam instruksi atau bagian dari instruksi = Operand sama dengan field alamat.
- Umumnya bilangan akan disimpan dalam bentuk komplemen dua.
- Bit paling kiri sebagai bit tanda.
- Ketika operand dimuatkan ke dalam register data, bit tanda akan digeser ke kiri hingga maksimum word data
Keuntungan
- Mode ini adalah tidak adanya referensi memori selain dari instruksi yang diperlukan untuk memperoleh
- Menghemat siklus instruksi sehingga proses keseluruhan akan cepat.
Kerugiannya
- Ukuran bilangan dibatasi oleh ukuran field alamat
b. Direct AddressingPengalamatan langsung
Kelebihan :
- Field alamat berisi efektif address sebuah operand.
- Teknik ini banyak digunakan pada komputer lama dan komputer kecil.
- Hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulasi khusus.
Kelemahan :
- Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang wor, contoh : ADD A ; tambahkan isi pada lokasi alamat A ke akumulator
c. Indirect AddressingMode pengalamatan tak langsung
Field alamat mengacu pada alamat word di dalam memori, yang pada gilirannya akan berisi alamat operand yang panjang
Contoh : ADD (A) ; tsmbahkan isi yang ditunjuk oleh isi alamat A ke akumulator
Keuntungan : Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi.
Kerugian : Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat proses operasi
d. Register Addressing
- Metode pengalamatan register mirip dengan mode pengalamatan langsung.
- Perbedaannya terletak pada field alamat yang mengacu pada register, bukan pada memori utama.
- Field yang mereferensi register memiliki panjang 3 atau 4 bit, sehingga dapat mereferensi 8 atau 16 register general purpose.
Keuntungan pengalamatan register
- Diperlukan field alamat berukuran kecil dalam instruksi dan tidak diperlukan referensi memori.
- Akses ke register lebih cepat daripada akses ke memori, sehingga proses eksekusi akan lebih cepat.
Kerugian
- Ruang alamat menjadi terbatas
e. Register Indirect Addressing
- Metode pengalamatan register tidak langsung mirip dengan mode pengalamatan tidak langsung.
- Perbedaannya adalah field alamat mengacu pada alamat register.
- Letak operand berada pada memori yang ditunjuk oleh isi register.
- Keuntungan dan keterbatasan pengalamatan register tidak langsung pada dasarnya sama dengan pengalamatan tidak langsung.
– Keterbatasan field alamat diatasi dengan pengaksesan memori yang tidak langsung sehingga alamat yang dapat direferensi makin banyak.
– Dalam satu siklus pengambilan dan penyimpanan, mode pengalamatan register tidak langsung hanya menggunakan satu referensi memori utama sehingga lebih cepat daripada mode pengalamatan tidak langsung
f. Displacement Addressing
– Dalam satu siklus pengambilan dan penyimpanan, mode pengalamatan register tidak langsung hanya menggunakan satu referensi memori utama sehingga lebih cepat daripada mode pengalamatan tidak langsung
f. Displacement Addressing
- Menggabungkan kemampuan pengalamatan langsung dan pengalamatan register tidak langsung.
- Mode ini mensyaratkan instruksi memiliki dua buah field alamat, sedikitnya sebuah field yang eksplisit.
- Field eksplisit bernilai A dan field implisit mengarah pada register
- Operand berada pada alamat A ditambah isi register.
Tiga model displacement
- Relative addressing, register yang direferensi secara implisit adalah program counter (PC).
- Base register addressing, register yang direferensikan berisi sebuah alamat memori, dan field alamat berisi perpindahan dari alamat itu.
- Indexing adalah field alamat mereferensi alamat memori utama, dan register yang direferensikan berisi pemindahan positif dari alamat tersebut.
g. Stack Addressing
- Stack adalah array lokasi yang linier = pushdown list = last-in-firstout-queue.
- Stack merupakan blok lokasi yang terbalik. Butir ditambahkan ke puncak stack sehingga setiap saat blok akan terisi secara parsial.
- Yang berkaitan dengan stack adalah pointer yang nilainya merupakan alamat bagian paling atas stack.
- Dua elemen teratas stack dapat berada di dalam register CPU, yang dalam hal ini stack ponter mereferensi ke elemen ketiga stack.
- Stack pointer tetap berada di dalam register.
- Dengan demikian, referensi – referensi ke lokasi stack di dalam memori pada dasarnya merupakan pengalamatan register tidak langsung Perbandingan Mode pengalamatan
Format-Format Instruksi
- Format instruksi menentukan layout bit suatu instruksi.
- Format instruksi harus mencakup opcode dan secara implisit atau eksplisit, nol operand atau lebih
- Seluruh operand eksplisit direferensikan dengan menggunakan salah satu mode pengalamatan yang ada
- Secara implisit atau eksplisit format harus dapat mengindikasikan mode pengalamatan seluruh operandnya.
- Pada sebagian besar set instruksi digunakan lebih dari satu format instruksi.
Kode Instruksi (KI)
- Selain dari representasi data, kode biner juga digunakan untuk membuat instruksij kontrol dalam komputer, yang disebut kode instruksi.
- Kode instruksi merupakan kelompok bit yang memberitahukan kepada komputer untuk menunjukan suatu operasi tertentu.
- Kode Instruksi dibagi dalam bagian-bagian, yang masing-masing bagian mempunyai interpretasi sendiri
- Bagian yang paling pokok adalah kode operasi (Operation Code / Opcode)operasi (Operation Code / Opcode)
- Opcode adalah sekelompok bit yang menunjukan operasi seperti ADD, SUBTRACT, SHIFT, dan COMPLEMENT
- Bagian lain dari instruksi mencakup satu operasi (operand) atau lebih
- Operand adalah suatu nama yang digunakan untuk obyek instruksi dan mungkin data atau alamat yang mengatakan dimana data tersebut
- Untuk membuat kode instruksi dalam komputer harus kode biner. (seperti operasi LOAD dan Store)
- Load adalah meng-copy bilangan dari lokasi memori kedalam register
- Strore adalah meng-copy bilangan dari register kedalam lokasi memori
0 Response to "MODE dan FORMAT PENGALAMATAN"
Post a Comment
Terima kasih telah berkunjung ke blog tentang tugas sekolah ini, silahkan tuliskan komentar