Senin, 02 November 2009

Arsitektur dan Organisasi Komputer

Set Instruksi

1. Set instruksi (instruction set): sekumpulan lengkap instruksi yang dapat dimengerti
Oleh sebuah CPU
2. Disebut juga machine code (bahasa mesin), aslinya juga berbentuk biner merupakan
Bahasa assembly
3. Untuk konsumsi manusia (programmer), biasanya digunakan representasi yang lebih
mudah dimengerti merupakan bahasa yang dapat dimengerti manusia

Elemen-elemen Instruksi
1. Operation code (Op code)
2. Kerjakan ini
3.Source Operand reference
4. Terhadap isi alamat ini
5. Result Operand reference
6. Letakkan hasilnya di alamat ini
7. Next Instruction Reference
8. Kalau sudah selesai, selanjutnya kerjakan alamat
ini
Dalam sebuah instruksi, tidak harus semua elemen ini dicantumkan, tergantung
kebutuhan dan jenis instruksinya

Operand disimpan
a. Ingat: Semua instruksi dijalankan dalam CPU
b. Rata-rata operasi hanya membutuhkan register sebagai tempat membaca / menyimpan
operand
c. Adakalanya juga register tidak berisi operand tapi menunjuk ke tempat penyimpanan
lainnya (memory, cache, modul I/O)

Representasi Instruksi
1. Pada bahasa mesin, setiap instruksi berbentuk pola bit biner yang unik
2. Agar dapat dimengerti manusia, dibuatlah representasi simbolik instruksi,
biasanya berupa singkatan (disebut mnemonic)
3. misal ADD, SUB, LOAD
4. Sedangkan alamat operand direpresentasikan sebagai berikut:
5. ADD A,B
6. Ada beberapa jenis representasi instruksi, tergantung dari jumlah alamat operand
yang bisa diolah oleh satu instruksi

Format Instruksi (Biner)
1. Misal Instruksi dengan 2 Alamat Operand:
2. ADD A, B  A & B suatu alamat register ADD A B (dalam bentuk biner tentunya)

Contoh Simbolik Instruksi
1. ADD: Add (Jumlahkan)
2. SUB: Subtract (Kurangkan)
3. MPY/MUL: Multiply (Kalikan)
4. DIV: Divide (Bagi)
5. LOAD: Load data dari register/memory
6. STOR: Simpan data ke register/memory
7. MOVE: pindahkan data dari satu tempat ke tempat lain
8. SHR: shift kanan data
9. SHL: shift kiri data dan lain-lain

Cakupan Jenis Instruksi
1. Data processing: Aritmetik (ADD, SUB, dsb); Logic (AND, OR, NOT, SHR, dsb);
Konversi data
2. Data storage (memory): Transfer data (STOR, LOAD, MOVE, dsb)
3. Data movement: Input dan Output ke modul I/O
4. Program flow control: JUMP, HALT, dsb.

Set Instruksi lengkap bisa dilihat di kitabnya William Stallings

Format Instruksi 3 Alamat
1. Bentuk umum: [OPCODE] [AH], [AO1], [AO2]
2. Satu alamat hasil, dua alamat operand
3. Misal: SUB Y, A, B
- Bentuk algoritmik: Y  A – B
- Arti: Kurangkan isi Reg A dengan isi Reg B,
kemudian simpan hasilnya di Reg Y.
1. Bentuk ini tidak umum digunakan di komputer
2. Mengoperasikan banyak register sekaligus
3. Program lebih pendek

Format Instruksi 2 Alamat
1. Bentuk umum: [OPCODE] [AH], [AO]
2. Satu alamat hasil merangkap operand, satu alamat operand
3. Misal: SUB Y, B
- Bentuk algoritmik: Y  Y – B
- Arti: Kurangkan isi Reg Y dengan isi Reg B, kemudian simpan hasilnya di Reg Y.
1. Bentuk ini masih digunakan di komputer
sekarang
2. Mengoperasikan lebih sedikit register, tapi panjang program tidak bertambah
terlalubanyak


Format Instruksi 1 Alamat
1. Bentuk umum: [OPCODE] [AO]
2. Satu alamat operand, hasil disimpan di accumulator
3. Misal: SUB B
- Bentuk algoritmik: AC  AC – B
- Arti: Kurangkan isi Acc. dengan isi Reg B, kemudian simpan hasilnya di Acc.
4. Bentuk ini digunakan di komputer jaman dahulu
5. Hanya mengoperasikan satu register, tapi program menjadi bertambah panjang

Format Instruksi 0 Alamat
1. Bentuk umum: [OPCODE] [O]
2. Semua alamat operand implisit, disimpan dalam bentuk stack. Operasi yang
biasanya membutuhkan 2 operand, akan mengambil isi stack paling atas dan di
bawahnya
3. 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
4. Ada instruksi khusus Stack: PUSH dan POP

Yang Perlu Diperhatikan
1. Semakin banyak register yang diolah dalam satu instruksi semakin lambat
2. Semakin banyak baris operasi untuk mengeksekusi sebuah program juga
semakin lambat
3. Oleh karena itu, CPU masakini bisa dikatakan menggunakan perpaduan dari beberapa
format instruksi, tergantung konteksnya.

Tidak ada komentar:

Posting Komentar