Set instruksi (instruction set) adalah sekumpulan lengkap
instruksi yang dapat dimengerti oleh sebuah CPU. Instruksinya berbentuk machine
code (bahasa mesin), aslinya seluruhnya dalam bilangan biner. Untuk programmer,
biasanya digunakan representasi yang lebih mudah dimengerti, yaitu bahasa yang
dapat dimengerti manusia, dikenal dengan bahasa Assembly.
Arsitektur dan
Organisasi Komputer
Set instruksi (instruction set) adalah sekumpulan lengkap
instruksi yang dapat dimengerti oleh sebuah CPU. KUMPULAN PERINTAH/INSTRUKSI
YANG DAPAT DIMENGERTI OLEH SEBUAH CPU atau dikenal dengan sebuah kamus berisi
daftar perintah apa saja yang dapat dilakukan (didukung) oleh sebuah prosesor,
dan biasanya terikat dengan sebuah keluarga arsitektur prosesor tertentu (misal
x86, x64)
Jenis-Jenis Instruksi
Ø
Instruksi: CISC
Complex instruction set computer (CISC) adalah sebuah dimana
satu instruksi dapat mengeksekusi beberapaoperasi tinkat rendah (seperti memuat
dari memori, operasi aritmatika, dan penyimpanan memori) dan/atau mampu melakukan
multi-step operations atau addressing mode dalam satu instruksi.
Contoh instruksi dari arsitektur set instruksi CISC adalah :
System/360 through z/Architecture, PDP-11, VAX, Motorola 68k, and x86.
Ø
Instruksi: RISC
Reduced instruction set computing (RISC), adalah strategi desain CPU didasarkan pada wawasan yang disederhanakan (sebagai lawan kompleks instruksi)
dapat memberikan lebih tinggi kinerja jika kesederhanaan ini memungkinkan banyak eksekusi lebih cepat
dari setiap instruksi Arsitektur dan Organisasi Komputer
Set Instruksi Spesifik.
Meskipun termasuk dalam satu golongan RISC atau CISC (dari
segi jenis instruksinya), atau sama-sama dalam keluarga x86 (golongan
arsitekturnya); tiap prosesor bisa memiliki set instruksi spesifik yang
berbeda.
Sebagai contoh,
Intel Pentium dan AMD Athlon mengimplementasikan versi yang hampir identik dari
instruksi x86 mengatur, namun memiliki desain internal yang berbeda secara radikal.
Elemen-elemen Instruksi
Operation Code (OPCODE) / Kode Operasi : Kerjakan ini
Source Operand Reference / Alamat Asal Operand : Terhadap
isi alamat ini
Result Operand Reference / Alamat Hasil Operand : Letakkan
hasilnya di alamat ini
Next Instruction Reference : Alamat yang berisi instruksi
selanjutnya
Sebuah instruksi tidak harus memiliki semua elemen di atas,
tergantung kebutuhan dan jenis instruksinya.
Semua instruksi deksekusi di dalam CPU, sebuah operasi hanya
membutuhkan register sebagai tempat membaca / menyimpan operand sementara.
Adakalanya juga operand disimpan di lokasi lain melalui register yang berisi
alamat tempat penyimpanan tersebut (memory, cache, modul I/O).
Representasi Instruksi
Pada bahasa mesin, setiap instruksi berbentuk pola bit biner
yang unik. Agar dapat dimengerti manusia, dibuatlah representasi simbolik
instruksi, biasanya berupa singkatan (disebut mnemonic). Misal ADD, SUB, LOAD.
Sedangkan alamat operand direpresentasikan sebagai berikut: ADD A,B. Ada beberapa jenis representasi
instruksi, yang dibedakan oleh jumlah alamat operand yang dapat diterima oleh
satu baris instruksi
Contoh Simbolik Instruksi
ADD: Add (Jumlahkan), SUB: Subtract (Kurangkan), MPY/MUL:
Multiply (Kalikan), DIV: Divide (Bagi), 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 dan lain-lain.
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.
Teknik Pengalamatan
- Format Instruksi 3 Alamat
Bentuk umum: [OPCODE] [AH], [AO1], [AO2]
Satu alamat hasil, dua alamat operand
Misal: SUB Y, A, B - Bentuk algoritmik: Y A – B - Arti:
Kurangkan Kurangkan isi Reg A dengan isi Reg B, kemudian simpan hasilnya di Reg
Y.
Mengoperasikan banyak register sekaligus
Program lebih pendek
- Format Instruksi 2 Alamat
Bentuk umum: [OPCODE] [AH], [AO]
Satu alamat hasil merangkap operand, satu alamat operand
Misal: SUB Y, B - Bentuk algoritmik: Y Y – B - Arti: Kurangkan
isi Reg Y dengan isi Reg B, - Bentuk algoritmik: Y Y – B - Arti: Kurangkan isi
Reg Y dengan isi Reg B, kemudian simpan hasilnya di Reg Y.
Bentuk ini masih digunakan di komputer sekarang
Mengoperasikan lebih sedikit register, tapi panjang program tidak
bertambah terlalu banyak
- Format Instruksi 1 Alamat
Bentuk umum: [OPCODE] [AO]
Satu alamat operand, hasil disimpan di accumulator
Misal: SUB B - Bentuk algoritmik algoritmik: AC AC – B -
Arti: Kurangkan isi Acc. dengan isi Reg B, kemudian simpan hasilnya di Acc.
Hanya mengoperasikan satu register, tapi program menjadi
bertambah panjang.
- Format Instruksi 0 Alamat
Bentuk umum: [OPCODE] [O]
Semua alamat operand implisit, disimpan dalam bentuk stack.
Operasi yang biasanya membutuhkan 2 operand, akan mengambil isi stack paling
atas dan di bawahnya
Misal: SUB
Bentuk algoritmik: S[top] <= S[top-1] – S[top]
Arti: Kurangkan isi Stack no.2 dari atas dengan isi Stack
paling atas,kemudian simpan hasilnya di Stack paling atas
Ada instruksi khusus Stack: PUSH dan POP yang dapat diberi
alamat
REFERENSI