1 of 37

Set Intruksi Mode Dan Format Pengalamatan

Ridho Surya Kusuma, S.T., M.Kom.

Lukman Reza M.Kom.

2 of 37

Karakter 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 CPU

3 of 37

Karakteristik Instruksi Mesin

Elemen-elemen instruksi mesin

Representasi instruksinya

Jenis-jenis instruksinya

Penggunaan alamat

Rancangan Set Intruksi

4 of 37

Elemen Instruksi Mesin

Operation Code (OPCODE)

Menspesifikasikan operasi yang akan

dilakukan. Kode operasi berbentuk

kode biner

Result operand Reference

Merupakan Hasil atau keluaran

Source Operand Reference

Operasi dapat berasal lebih

dari satu sumber. Operand

adalah input operasi

Next instruction reference

Elemen ini menginformasikan

CPU posisi intruksi berikutnya

Yang harus diambil dan dieksekusi

5 of 37

Operand dan operasi

Melihat dari sumbernya, Operand suatu operasi dapat berada di salah satu dari ketiga daerah berikut ini :

- Memori utama atau memori virtual

- Register CPU

- Perangkat I/O

6 of 37

Representasi intruksi

Instruksi computer di representasikan oleh sekumpulan bit.

Instruksi dibagi menjadi beberapa field.

Field-field ini diisi oleh elemen-elemen instruksi yang membawa

Informasi bagi operasi CPU

Layout intruksi dikenal dengan format instruksi

7 of 37

Format Instruksi

Opcode Alamat

- Kode Operasi/opcode direpresentasikan dengan singkatan-singkatan

yang biasa disebut “MNEMONIC

- MNEMONIC mengindikasikan suatu operasi bagi CPU

8 of 37

Contoh Mnemonic

ADD : Penambahan

SUB : Substract atau pengurangan

LOAD : Muatkan data ke memori

Contoh representasi operand secara simbolik

ADD X,Y

Artinya : tambahkan nilai yang berada pada lokasi Y ke isi register X, dan

Simpan hasilnya di register X.

*Programmer dapat menuliskan program bahas mesin dalam Bahasa simbolik

9 of 37

Jenis-jenis Instruksi

Contoh X=X+Y

Pernyataan dalam Bahasa tingkat tinggi tersebut menginstruksikan computer untuk melakukan Langkah-Langkah berikut:

1. Muatkan sebuah register dengan isi lokasi memori 513

2. Tambahkan isi lokasi memori 514 ke register

3. Simpan isi register ke lokasi memori 513

X dan Y berkorespondensi dengan lokasi 513 dan 514

10 of 37

Jumlah Alamat

  1. Alamat per intruksi yang lebih sedikit akan membuat instruksi lebih sederhana dan pendek, tetapi lebih sulit mengimplementasikan fungsi-fungsi yang kita inginkan
  2. Karena instruksi CPU sederhana maka rancangan CPU juga lebih sederhana
  3. Jumlah bit dan referensi per instruksi lebih sedikit shingga fetch dan ekseskusi lebih cepat
  4. Jumlah intruksi per program biasanya jauh lebih banyak
  5. Pada jumlah alamat per intruksi banyak, jumlah bit dan referensi intruksi lebih banyak sehingga waktu eksekusi lebih lama
  6. Diperlukan register CPU yang banyak, namu operasi antar register lebih cepat
  7. Lebih mudah mengimplementasikan fungsi-fungsi yang kita inginkan
  8. Jumlah instruksi per program jauh lebih sedikit

11 of 37

Contoh Kasus

12 of 37

Y = (A-B) ÷ (C+D*E)

Instruksi 3 alamat

Instruksi

Komentar

SUB

Y , A , B

Y = A – B

MPY

T , D , E

T = D x E

ADD

T , T , C

T = T + C

DIV

Y , Y , T

Y = Y ÷ T

13 of 37

Y = (A-B) ÷ (C+D*E)

Spek Instruksi 3 alamat

  • Simbolik: a = b + c
  • Format alamat : hasil, operand1, operand2
  • Digunakan dalam arsitektur MIPS (Microprosesor without Interlocked Pipelines Stages)
  • Memerlukan word pandang dalam satu intruksi

14 of 37

Y = (A-B) ÷ (C+D*E)

Instruksi 2 alamat

Instruksi

Komentar

MOVE

Y , A

Y = A

SUB

Y , B

Y = Y – B

MOVE

T , D

T = D

MPY

T , E

T = T x E

ADD

T , C

T = T + C

DIV

Y , T

Y = Y ÷ T

15 of 37

Y = (A-B) ÷ (C+D*E)

Spek Instruksi 2 alamat

  • Simbolik: a = a + b
  • Salah satu alamat diisi operand terlebih dahulu, kemudian digunakan untuk menyimpan hasilnya
  • Tidak memerlukan instruksi yang Panjang
  • Jumlah intruksi per program akan lebih banyak dari 3 alamat
  • Diperlukan penyimpanan sementara untuk menyimpan hasil

16 of 37

Y = (A-B) ÷ (C+D*E)

Instruksi 1 alamat

Instruksi

Komentar

LOAD

D

AC = D

MPY

E

AC = AC x E

ADD

C

AC = AC + C

STOR

Y

Y = AC

LOAD

A

AC = A

SUB

B

AC = AC – B

DIV

Y

AC = AC ÷ Y

STOR

Y

Y = AC

17 of 37

Y = (A-B) ÷ (C+D*E)

Spek Instruksi 1 alamat

  • Memerlukan alamat implisit untuk operasi
  • Menggunakan register akumulator (AC) dan digunakan pada mesin lama /computer jadul

18 of 37

Y = (A-B) ÷ (C+D*E)

Instruksi 0 alamat

Instruksi

KETERANGAN

Isi Stack

PUSH

B

B

PUSH

A

B,A

SUB

A-B

(A-B)

PUSH

E

(A-B),E

PUSH

D

(A-B),E,D

MUL

D*E

(A-B),(D*E)

PUSH

C

(A-B),(D*E),C

ADD

C+(D*E)

(A-B),(C+D*E)

DIV

(A-B)/(C+(D*E))

(A-B)/(C+(D*E))

19 of 37

Y = (A-B) ÷ (C+D*E)

Spek Instruksi 0 alamat

  • Seluruh alamat yang digunakan adalah implisit
  • Digunakan pada organisasi memori, terutama operasi stack

20 of 37

Operasi set instruksi

21 of 37

Operasi set instruksi

22 of 37

23 of 37

Operasi set instruksi

24 of 37

Gerbang Logika

25 of 37

Gerbang Logika

Gerbang logika adalah komponen elektronika yang digunakan untuk melakukan operasi logika. Sebuah logic gate menerima input dalam bentuk sinyal listrik dan menghasilkan output berdasarkan aturan logika yang ditentukan.

26 of 37

Gerbang AND ( & )

Simbol ini memiliki dua input yang berbeda, dan memiliki output menjadi satu yang sama. Karakteristik dari gerbang ini, memiliki masukan yang tinggi, lalu keluaran yang akan tinggi juga

27 of 37

Gerbang OR ( | )

Gerbang OR memiliki masukan jumlah dua masukan, dan keluaran jumlah satu, ciri khas gerbang ini menyesuaikan dengan input, dimana input rendah maka output juga rendah, dan sebaliknya.

28 of 37

Gerbang NOT ( ! )

Pada gerbang yang satu ini, memiliki input jumlah satu, dan dengan output berjumlah satu, dan setiap input yang masuk akan mengeluarkan output dengan berbanding terbalik

29 of 37

Gerbang NAND ( !& )

Gerbang ini memiliki input dua buah, dengan output satu buah, dan memiliki karakteristik logika output dan input yang rendah

30 of 37

Gerbang XOR

Gerbang XOR ini memerlukan dua input untuk menghasilkan satu output. Jika input berbeda (misalkan: input A=1, input B=0) maka output yang dihasilkan adalah bilangan biner 1. Sedangkan jika input adalah sama maka akan menghasilkan output dengan bilangan biner 0.

31 of 37

Contoh

32 of 37

Contoh

33 of 37

Ada Pertanyaan?

34 of 37

Tugas

No 1.

p = 1 q = 0

35 of 37

Tugas

No 2.

p = 1 q = 1 r = 0 s = 0

36 of 37

Tugas

No 3.

p = 0 q = 1 r = 1

37 of 37

Terima kasih