Elemen-elemen Instruksi
- Operation code (Op code) : Kerjakan ini
- Source Operand reference : Terhadap isi alamat ini
- Result Operand reference : Letakkan hasilnya di alamat ini
- Next Instruction Reference :Kalau sudah selesai, selanjutnya kerjakan alamat ini
Semua instruksi dijalankan dalam CPU. Rata-rata operasi hanya membutuhkan register sebagai tempat membaca atau menyimpan operand. Adakalanya juga register tidak berisi operand tapi menunjuk ke tempat penyimpanan lainnya (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, tergantung dari jumlah alamat operand yang bisa diolah oleh satu instruksi.
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
- 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.
- Bentuk umum : [OPCODE] [AH], [AO1], [AO2]
Misal : SUB Y, A, B
- Bentuk algoritmik : Y = A – B
- Arti : Kurangkan isi Register A dengan isi Register B, kemudian simpan hasilnya di Register Y.
Bentuk ini tidak umum digunakan di komputer, pengoperasiaannya membutuhkan banyak register sekaligus, tetapi program lebih pendek.
Format Instruksi 2 Alamat
- Bentuk umum: [OPCODE] [AH], [AO]
Misal : SUB Y, B
- Bentuk algoritmik : Y = Y – B
- Arti : Kurangkan isi Register Y dengan isi Register B, kemudian simpan hasilnya di Register Y.
Bentuk ini masih digunakan di komputer sekarang, pengoperasiannya membutuhkan lebih sedikit register, tapi panjang program tidak bertambah terlalu banyak
Format Instruksi 1 Alamat
- Bentuk umum: [OPCODE] [AO]
Misal: SUB B
- Bentuk algoritmik : AC = AC – B
- Arti : Kurangkan isi Accumulator dengan isi Register B, kemudian simpan hasilnya di Accumulator.
Bentuk ini digunakan di komputer jaman dahulu dan hanya mengoperasikan satu register, tapi program menjadi bertambah panjang.
Format Instruksi 0 Alamat
- Bentuk umum: [OPCODE] [O]
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
Semakin banyak register yang diolah dalam satu instruksi maka semakin lambat. Semakin banyak baris operasi untuk mengeksekusi sebuah program juga semakin lambat. Oleh karena itu, CPU masa kini bisa dikatakan menggunakan perpaduan dari beberapa format instruksi, tergantung konteksnya.
Tidak ada komentar:
Posting Komentar