Arsitektur Komputer Set Instruksi
Pendahuluan
Operasi dari CPU ditentukan oleh instruksi-instruksi •
yang dilaksanakan atau dijalankannya. Instruksi ini
sering disebut sebagai instruksi mesin (mechine instructions) atau instruksi komputer (computer instructions).Elemen dari instruksi mesin (set instruksi)
Operation Code (opcode) : menentukan operasi yang akan dilaksanakan Source Operand Reference : merupakan input bagi operasi yang akan dilaksanakan Result Operand Reference : merupakan hasil dari operasi
Source dan result operands dapat berupa salah
satu diantara tiga jenis berikut ini:
1. Main or Virtual Memory
2. CPU Register
Desain Set Instruksi Desain set instruksi merupakan masalah yang
sangat komplek yang melibatkan banyak aspek,
diantaranya adalah:1. Kelengkapan set instruksi
Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut:
1. Operation Repertoire: Berapa banyak dan operasi apa saja yang disediakan, dan berapa sulit operasinya
2. Data Types: tipe/jenis data yang dapat olah
Format Instruksi
- Suatu instruksi terdiri dari beberapa field yang
sesuai dengan elemen dalam instruksi tersebut.
Layout dari suatu instruksi sering disebut sebagai Format Instruksi (Instruction Format).
Jenis-jenis Operand
• Addresses (akan dibahas pada addressing modes)
- Numbers : - Integer or fixed point
- Floating point
- Decimal (BCD)
Jenis Instruksi
1. Data processing: Arithmetic dan Logic Instructions
2. Data storage: Memory instructions
3. Data Movement: I/O instructions
TRANSFER DATA • Menetapkan lokasi operand sumber dan operand tujuan
- Lokasi-lokasi tersebut dapat berupa memori, register atau bagian paling atas daripada stack.
- Menetapkan panjang data yang dipindahkan.
- Menetapkan mode pengalamatan.
Operasi set instruksi untuk transfer data
- MOVE : memindahkan word atau blok dari sumber ke tujuan • STORE : memindahkan word dari prosesor ke memori.
- LOAD : memindahkan word dari memori ke prosesor.
- EXCHANGE : menukar isi sumber ke tujuan.
ARITHMETIC
- Tindakan CPU untuk melakukan operasi arithmetic : 1. Transfer data sebelum atau sesudah.
2. Melakukan fungsi dalam ALU.
3. Menset kode-kode kondisi dan flag.
- Operasi set instruksi untuk arithmetic :
LOGICAL
Tindakan CPU sama dengan arithmetic •
Operasi set instruksi untuk operasi logical : •
1. AND, OR, NOT, EXOR 2. COMPARE : melakukan perbandingan logika.
3. TEST : menguji kondisi tertentu.
KONVERSI
Tindakan CPU sama dengan arithmetic dan logical. • Instruksi yang mengubah format instruksi yang • beroperasi terhadap format data. Misalnya pengubahan bilangan desimal menjadi • bilangan biner.
INPUT / OUPUT Tindakan CPU untuk melakukan Input /Output :
- 1. Apabila memory mapped I/O maka menentukan alamat memory mapped.
2. Mengawali perintah ke modul I/O
Operasi set instruksi Input / Ouput :
TRANSFER CONTROL
- Tindakan CPU untuk transfer control : Mengupdate program counter untuk subrutin , call / return.
- Operasi set instruksi untuk transfer control :
1. JUMP (cabang) : pemindahan tidak bersyarat dan memuat PC dengan alamat tertentu.
2. JUMP BERSYARAT : menguji persyaratan tertentu
6. SKIP : menambah PC sehingga melompati instruksi berikutnya.
7. SKIP BERSYARAT : melompat atau tidak melakukan apa- apa berdasarkan pada persyaratan
8. HALT : menghentikan eksekusi program.
9. WAIT (HOLD) : melanjutkan eksekusi pada saat
- Hanya dapat dieksekusi ketika prosesor berada dalam keadaan khusus tertentu atau sedang
mengeksekusi suatu program yang berada dalam
area khusus, biasanya digunakan dalam sistem
Jumlah Alamat ( number of addresses)
Salah satu cara tradisional untuk menggambarkan arsitektur • prosessor adalah dengan melihat jumlah alamat yang terkandung dalam setiap instruksinya.
Jumlah alamat maksimum yang mungkin diperlukan • dalam sebuah instruksi :
Macam-macam instruksi menurut jumlah operasi yang dispesifikasikan
1. O – Address Instruction 2. 1 – Addreess Instruction.
3. N – Address Instruction
Macam-macam instruksi menurut sifat akses
terhadap memori atau register
1. Memori To Register Instruction
2. Memori To Memori Instruction
3. Register To Register Instruction
Jenis-jenis addressing modes (Teknik Pengalama-
tan) yang paling umum:- – Immediate – Direct
Tabel Basic Addressing Modes Mode Algorithm Principal Advantage Principal Disadvantage Immediate Operand =
A No memory reference Limited operand magnitude Direct EA = A Simple Limited address space Indirect EA = (A) Large address space Multiple memory references
Gambar Addressing Mode
Mode Pengalamatan Mode Pengalamatan
- Membatasi keterbatasan format instruksi
- –Dapat mereferensi lokasi memori yang besar
- –Mode pengalamatan yang mampu menangani keterbatasan tersebut
- Memiliki pertimbangan dalam penggunaannya
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 kompleent
dua
Kelebuhan dan Kekurangan Immediate Addressing
- Keuntungan
- –Tidak adanya referensi memori selain dari instruksi yang diperlukan untuk memperoleh operand
- –Menghemat siklus instruksi sehingga proses
Direct Addressing
- Kelebihan
- – Field alamat berisi efektif address sebuah operand
• Teknik ini banyak digunakan pada komputer lama dan komputer
ecil- Hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulus khusus
- Kelemahan
Indirect Addressing
- Mode Pegalamatan tak langsung
- –Field alamat mengacu pada alamat word di alamat memori, yang pada gilrannya
Kelebihan dan Kekurangan Indirect Addressing
- Kelebihan
- –Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi
- Kekurangan
Register Addressing
- Metode pengalamatan register mirip dengan mode pengalamatan langsung
- Perbedaannya terletak pada field alamat yang mengacu pada register, bukan pada
Keuntungan dan Kekurangan Register Addressing
- Keuntungan pengalamatan register
- –Diperlukan field alamat berukuran kecil dalam instruksi dan tidak diperlukan referensi memori
- –Akses ke regster lebih cepat daripada akses ke
Register Indirect Addressing
- Metode pengalamatan register tidak langsung mirip dengan mode pengalamatan tidak langsung
• Perbedaannya adalah field alamat mengacu pada alamat
register.
Register Indirect Addressing
- 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
Diplacement Addressing
- Menggabungkan kemampuan pengalamatan langsung dan pengalamatan register tidak langsung
- Mode in mensyaratkan instruksi memiliki dua buah field alamat, sedikitnya sebuah field yang eksplisit
- –Field eksplisit bernilai A dan field implisit mengarah pada register
Diplacement Addressing
• Operand berada pada alamat A ditambahkan isi
register- Tiga model displacement
- –Relative addressing
Diplacement Addressing
- Relative addresing, register yang direferensi secara implisit adalah progra counter (PC)
- – Alamat efektif didapatkan dari alamat instruksi saat itu ditambahkan ke field alamat
- – Memanfaatkan konsep lokalitas memori untuk menyediakan operand- operand berikutnya
Diplacement Addressing
- Indexing dalah field alamat mereferensi alamat
memori utama, dan register yang direferensikan
berisi pemindahan positif dari alamat tersebut - –Merupakan kebalikan dari mode base register
Stack Addressing
- Stack adalah array lokasi yang linier = pushdown list = last-in-first- out
- Stack merupakan blok lokasi yang terbalik
- – Btir ditambakan ke puncak stack sehingga setiap saat blok akan terisi secara parsial
- Yang berkaitan dengan stack adalah pointer yang nilainya