Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ......

22
Arsitektur Set Instruksi Abdul Syukur [email protected] http://skurlinux.blogspot.com 085374051884

Transcript of Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ......

Page 1: Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ... Disebut juga machine code (bahasa mesin), aslinya juga ... dalam bentuk stack.

Arsitektur Set Instruksi

Abdul [email protected]

http://skurlinux.blogspot.com

085374051884

Page 2: Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ... Disebut juga machine code (bahasa mesin), aslinya juga ... dalam bentuk stack.

Tujuan

Memahami representasi set instruksi, dan jenis-jenisformat instruksi.

Mengetahui jenis-jenis tipe operand yang digunakan.

Macam-macam mode pengalamatan.

Format instruksi.

Memahami implementasi set instruksi.

Page 3: Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ... Disebut juga machine code (bahasa mesin), aslinya juga ... dalam bentuk stack.

Apa itu Set Instruksi ?

Set Instruksi (instruction set) : Sekumpulan instruksilengkap yang dapat dimengerti oleh CPU.

Disebut juga machine code (bahasa mesin), aslinya jugaberbentuk biner bahasa assembly.

Untuk konsumsi manusia (programmer), digunakanrepresentasi yang lebih mudah dimengerti bahasayang dapat dimengerti oleh manusia.

Page 4: Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ... Disebut juga machine code (bahasa mesin), aslinya juga ... dalam bentuk stack.

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

Page 5: Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ... Disebut juga machine code (bahasa mesin), aslinya juga ... dalam bentuk stack.

Operand ?

Main memory (or virtual memory or cache).

CPU register

I/O device

Page 6: Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ... Disebut juga machine code (bahasa mesin), aslinya juga ... dalam bentuk stack.

Penyajian Instruksi

Pada bahasa mesin, setiap instruksi berbentuk pola bit biner yang unik.

Agar dimengerti oleh manusia dibuatlah representasisimbolik instruksi, berupa singkatan (disebut Mnemonic).

– Contoh : LOAD, MOVE, ADD, SUB, MPY, DIV, STORE

Sedangkan alamat operand direpresentasikan sebagaiberikut :

– Contoh : ADD A, B

Page 7: Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ... Disebut juga machine code (bahasa mesin), aslinya juga ... dalam bentuk stack.

Jenis Instruksi

Data processing

Arithmetic (ADD, SUB, MPY, DIV), Logical (AND, OR, XOR), konversi data.

Data storage (main memory)

Transfer data (LOAD, MOVE, STORE).

Data movement (I/O)

Input dan Output ke modul I/O.

Program flow control

JUMP, HALT.

Page 8: Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ... Disebut juga machine code (bahasa mesin), aslinya juga ... dalam bentuk stack.

Instruksi 3 Alamat

Bentuk umum : Operand 1, Operand 2, Result

Satu alamat hasil, dua alamat operand.

Contoh : 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 karenamengoperasikan banyak register sekaligus.

Program lebih pendek.

Page 9: Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ... Disebut juga machine code (bahasa mesin), aslinya juga ... dalam bentuk stack.

Instruksi 2 Alamat

Bentuk umum : Salah satu sebagai operand dan result.

Contoh : SUB Y, B

Bentuk algoritmik : Y = Y – B

Arti : Kurangkan isi register Y dengan isi register B, kemudian simpan hasilnya di register Y.

Instruksi ini masih digunakan di komputer sekarang.

Mengoperasikan lebih sedikit register, dan panjangprogram tidak bertambah terlalu banyak.

Page 10: Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ... Disebut juga machine code (bahasa mesin), aslinya juga ... dalam bentuk stack.

Instruksi 1 Alamat

Bentuk umum : Satu alamat operand, hasil disimpan diAccumulator.

Contoh : SUB B

Bentuk algoritmik : AC = AC – B

Arti : Kurangkan isi Accumulator dengan isi register B, kemudian simpan hasilnya di register accumulator.

Bentuk ini digunakan di komputer zaman dulu.

Hanya mengoperasikan satu register, tapi program menjadi bertambah panjang.

Page 11: Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ... Disebut juga machine code (bahasa mesin), aslinya juga ... dalam bentuk stack.

Instruksi 0 Alamat

Bentuk umum : Semua alamat operand implisit, disimpandalam bentuk stack.

Operasi membutuhkan 2 operand, akan mengambil isistack paling atas dan dibawahnya.

Contoh : SUB

Bentuk algoritmik : S[top] = S[top-1] – S[top]

Arti : Kurangkan isi stack nomor 2 dari atas dengan isistack paling atas, kemudian simpan hasilnya di stack paling atas.

Instruksi khusus stack : PUSH dan POP.

Page 12: Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ... Disebut juga machine code (bahasa mesin), aslinya juga ... dalam bentuk stack.

Contoh Instruksi 3 Pengalamatan

A, B, C, D, E = Operand; T, Y = Register.

Program : Y = (A – B) / (C + D * E)

(1) SUB Y, A, B Y = A – B

(2) MPY T, D, E T = D * E

(3) ADD T, C, T T = C + T

(4) DIV Y, Y, T Y = Y / T

Menggunakan 4 instruksi.

Page 13: Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ... Disebut juga machine code (bahasa mesin), aslinya juga ... dalam bentuk stack.

Contoh Instruksi 2 Pengalamatan

A, B, C, D, E = Operand; T, Y = Register.

Program : Y = (A – B) / (C + D * E)

(1) MOVE Y, A Y = A

(2) SUB Y, B Y = A – B

(3) MOVE T, D T = D

(4) MPY T, E T = D * E

(5) ADD T, C T = C + T

(6) DIV Y, T Y = Y / T

Menggunakan 6 instruksi.

Page 14: Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ... Disebut juga machine code (bahasa mesin), aslinya juga ... dalam bentuk stack.

Contoh Instruksi 1 Pengalamatan

A, B, C, D, E = Operand; Y = Register. Program : Y = (A – B) / (C + D * E)

(1) LOAD A AC = A(2) SUB B AC = AC – B(3) STORE Y Y = AC(4) LOAD D AC = D(5) MPY E AC = AC * E(6) ADD C AC = C + AC(7) DIV Y AC = Y / AC(8) STORE Y Y = AC

Menggunakan 8 instruksi.

Page 15: Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ... Disebut juga machine code (bahasa mesin), aslinya juga ... dalam bentuk stack.

Contoh Instruksi 0 Pengalamatan

A, B, C, D, E = Operand; Y = Register. Program : Y = (A – B) / (C + D * E)

(1) PUSH A S[top] = A(2) PUSH B S[top] = B(3) SUB S[top] = A – B(4) PUSH C S[top] = C(5) PUSH D S[top] = D(6) PUSH E S[top] = E(7) MPY S[top] = D * E(8) ADD S[top] = C + S[top](9) DIV S[top] = S(top) / S[top](10) POP Y Out = S[top]

Menggunakan 10 instruksi.

Page 16: Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ... Disebut juga machine code (bahasa mesin), aslinya juga ... dalam bentuk stack.

Siklus Instruksi

Terdapat 2 tahapan siklus, yaitu :

– FETCH

– EXECUTE.

Page 17: Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ... Disebut juga machine code (bahasa mesin), aslinya juga ... dalam bentuk stack.

Siklus FETCH

Program Counter (PC) berisi address instruksi berikutnyayang akan diambil.

Processor mengambil instruksi dari memori pada lokasiyang ditunjuk oleh PC.

Naikkan PC

– Kecuali ada perintah tertentu

Instruksi dimasukkan ke Instruction Register (IR).

Processor meng-interpret dan melakukan tindakan yang diperlukan.

Page 18: Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ... Disebut juga machine code (bahasa mesin), aslinya juga ... dalam bentuk stack.

Siklus EXECUTE

Processor - Memory

– Transfer data antara CPU dengan main memory.

Processor I/O

– Transfer data antara CPU dengan I/O module.

Data Processing

– Operasi arithmetic dan logical pada data tertentu.

Control

– Mengubah urutan operasi

– Contoh : Jump

Kombinasi diatas.

Page 19: Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ... Disebut juga machine code (bahasa mesin), aslinya juga ... dalam bentuk stack.

Contoh Eksekusi Program

Page 20: Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ... Disebut juga machine code (bahasa mesin), aslinya juga ... dalam bentuk stack.

Kesimpulan

Semakin banyak register yang diolah dalam satu instruksimaka akan semakin lambat.

Semakin banyak baris operasi untuk mengeksekusisebuah program maka juga semakin lambat.

Oleh karena itu, CPU masa kini bisa dikatakanmenggunakan perpaduan dari beberapa format instruksi, tergantung konteksnya.

Page 21: Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ... Disebut juga machine code (bahasa mesin), aslinya juga ... dalam bentuk stack.

Latihan (1)

A, B, C, D, E = Operand; T, Y = Register.

Program : Y = (A * B) – (C / D + E)

Kerjakan dengan :

– Instruksi 3 Alamat.

– Instruksi 2 Alamat.

– Instruksi 1 Alamat.

Page 22: Arsitektur Set Instruksi - restubj.files.wordpress.com fileMacam-macam mode pengalamatan. ... Disebut juga machine code (bahasa mesin), aslinya juga ... dalam bentuk stack.

Latihan (2)

A, B, C, D, E, F = Operand; T, Y = Register.

Program : Y = (A + B * C) / (D – E * F)

Kerjakan dengan :

– Instruksi 3 Alamat.

– Instruksi 2 Alamat.

– Instruksi 1 Alamat.