SET INSTRUKSI
Set instruksi (instruction set)
merupakan sekumpulan lengkap instruksi yang dapat dimengerti oleh sebuah CPU,
disebut juga machine code (bahasa mesin), aslinya juga berbentuk biner atau
bahasa assembly. Untuk konsumsi manusia (programmer), biasanya
digunakan representasi yang lebih mudah dimengerti manusia.
Contoh Simbolik Instruksi
- ADD : Add (Penjumlahan)
- SUB : Subtract (Pengurangan)
- MPY/MUL : Multiply (Perkalian)
- DIV : Divide (Pembagian)
- LOAD : Load data dari register/memory
- STOR : Simpan data ke register/memory
- MOVE : pindahkan data dari satu tempat ke tempat lain
- SHR: shift kanan data
- SHL: shift kiri data
Cakupan Jenis Instruksi
- Data processing : Aritmetik (ADD, SUB, dsb); Logic (AND, OR, NOT, SHR, dsb); Konversi data
- Data storage (memory) : Transfer data (STOR, LOAD, MOVE, dsb)
- Data movement : Input dan Output ke modul I/O
- Program flow control : JUMP, HALT, dsb.
Karakteristik
Instruksi Mesin
- Instruksi mesin (machine instruction) yang dieksekusi membentuk suatu operasi dan berbagai macam fungsi CPU.
- Kumpulan fungsi yang dapat dieksekusi CPU disebut set instruksi (instruction set) CPU.
- Mempelajari karakteristik instruksi mesin, meliputi :
- Elemen-elemen instruksi mesin
- Representasi instruksinya
- Jenis-jenis instruksi
- Penggunaan alamat
- Rancangan set instruksi
ELEMEN-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 yang dilaksanakan
- Next instruction Reference : memberitahu CPU untuk mengambil (fetch) instruksi berikutnya setelah instruksi yang dijalankan selesai.
Source dan result operands dapat berupa salah Satu
diantara tiga jenis berikut ini:
- Main or Virtual Memory
- CPU Register
- I/O Device
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.
DESAIN SET INSTRUKSI
Desain set instruksi merupakan
masalah yang sangat komplek yang melibatkan banyak aspek, diantaranya
adalah:
1. Kelengkapan set instruksi
2. Ortogonalitas (sifat independensi
instruksi)
3. Kompatibilitas
:
- Source code
compatibility
- Object code Compatibility
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 Instruction Format: panjangnya, banyaknya alamat, dsb.
3. Register: Banyaknya register yang
dapat digunakan.
4.Addressing: Mode pengalamatan
untuk operand.
JENIS INSTRUKSI
1. Data processing: Arithmetic
dan Logic Instructions
2. Data storage: Memory
instructions
3. Data Movement: I/O
instructions
4. Control: Test and branch
instructions
JENIS-JENIS OPERAND
- Addresses (akan dibahas pada addressing modes)
- Numbers : - Integer or fixed point
- Floating
point
- Decimal
(BCD)
- Characters : - ASCII
- EBCDIC
- Logical Data : Bila data berbentuk binary: 0 dan 1
Jenis
Operasi Komputer
- Transfer data. - Konversi
- Aritmetika. - Input/Output
- Logika. - Kontrol sistem dan transfer kontrol
Rancangan
Set Instruksi
- Aspek paling menarik dalam arsitektur komputer adalah perancangan set instruksi, karena rancangan ini berpengaruh banyak pada aspek lainnya.
- Set instruksi menentukan banyak fungsi yang harus dilakukan CPU.
- Set instruksi merupakan alat bagi para pemrogram untuk mengontrol kerja CPU.
- Pertimbangan : Kebutuhan pemrogram menjadi bahan pertimbangan dalam merancang set instruksi.
Masalah rancangan yang fundamental
meliputi :
- Operation repertoire :
- Berapa banyak dan operasi-operasi apa yang harus tersedia.
- Sekompleks apakah operasi itu seharusnya.
- Data types :
- Jenis data.
- Format data.
- Instruction format :
- Panjang instruksi.
- Jumlah alamat.
- Ukuran field.
- Registers :
- Jumlah register CPU yang dapat direferensikan oleh instruksi, dan fungsinya.
- Addressing :
- Mode untuk menspesifikasi alamat suatu operand.
Teknik
Pengalamatan
Untuk menyimpan data ke dalam memori komputer, tentu memori
tersebut diberi identitas (yang disebut dengan alamat/ address) agar ketika
data tersebut diperlukan kembali, komputer bisa mendapatkannya sesuai dengan
data yang pernah diletakkan di sana.
Teknik pengalamatan ini hampir sudah tidak diperlukan lagi
oleh pemakai komputer saat ini karena hampir seluruh software yang beredar di
pasaran tidak mengharuskan si pemakai menentukan di alamat mana datanya akan
disimpan (semua sudah otomatis dilakukan oleh si software).
Jadi, yang kita pelajari adalah bagaimana kira-kira si
software tersebut melakukan teknik pengalamatannya, sehingga data yang sudah
kita berikan dapat disimpan di alamat memori tertentu dan dapat diambil kembali
dengan tepat.
Ada tiga teknik dasar untuk pengalamatan, yakni
·
Pemetaan langsung (direct mapping)
yang terdiri dari dua cara yakni Pengalamatan Mutlak (absolute addressing) dan
Pengalamatan relatif (relative addressing),
·
Pencarian Tabel (directory look-up),
dan
·
Kalkulasi (calculating)
Pemetaan Langsung
Teknik ini
dapat dijuluki dengan device dependent (tergantung pada peralatan rekamnya),
artinya, kita tidak dapat begitu saja meng-copy data berkas ini ke komputer
lainnya, karena mungkin saja di komputer lainnya itu menggunakan alat rekam
yang berbeda spesifikasinya.
Teknik ini juga dapat dijuluki dengan address space
dependent (tergantung pada alamat-alamat yang masih kosong), artinya, kita
tidak dapat begitu saja meng-copy data berkas ini ke komputer lainnya, karena
mungkin saja di komputer lainnya itu alamat-alamat yang dibutuhkan sudah tidak
tersedia lagi.
Teknik Pencarian Tabel
Teknik ini
dilakukan dengan cara, mengambil seluruh kunci atribut dan alamat memori yang
ada dan dimasukkan ke dalam tabel tersendiri. Jadi tabel itu (misal disebut
dengan tabel INDEX) hanya berisi kunci atribut (misalkan NIM) yang telah
disorting (diurut) dan alamat memorinya.
Pencarian yang
dilakukan di tabel INDEX akan lebih cepat dilakukan dengan teknik pencarian
melalui binary search (dibagi dua-dua, ada di mata kuliah Struktur dan Organisasi Data 2 kelak) ketimbang
dilakukan secara sequential.
Nilai key field (kunci atribut) bersifat address space
independent (tidak terpengaruh terhadap perubahan organisasi file-nya), yang
berubah hanyalah alamat yang ada di INDEX-nya.
Teknik Kalkulasi Alamat
Perhitungan
(kalkulasi) terhadap nilai kunci atribut untuk mendapatkan nilai suatu alamat
disebut dengan fungsi hash.
Bisa
juga fungsi hash digabungkan dengan teknik pencarian seperti tabel di atas,
tetapi akan menjadi lebih lama pengerjaannya dibanding hanya dengan satu jenis
saja (fungsi hash saja atau pencarian tabel saja).
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).
- Kode operasi (op code) direpresentasikan 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
Referensi :
Wikipedia Instruksi Pada Komputer
Wikipedia CPU (Central Processing Unit)