26
Hanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja @hanifoza [email protected] http://hanifoza.wordpress.com

Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Embed Size (px)

Citation preview

Page 1: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Hanif Fakhrurroja, MT ©PIKSI GANESHA, 2013

Pertemuan 11

Organisasi Komputer Arsitektur Set-Set Instruksi

Hanif Fakhrurroja @hanifoza [email protected] http://hanifoza.wordpress.com

Page 2: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Apakah set Instruksi itu?

Kumpulan instruksi lengkap yang dimengerti oleh CPU

Kode mesin

Biner

Biasanya direpresentasikan oleh Kode Assembly

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 3: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Elemen Instruksi

Operation code (Kode Operasi)

Kerjakan perintah ini ...

Source Operand reference (Acuan Operand sumber)

Dengan data ini ...

Result Operand reference (Acuan Operand hasil)

Simpan hasilnya kesini ...

Next Instruction Reference (Acuan Instruksi berikutnya

Setelah selesai, kerjakan ini ...

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 4: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Dimana operand itu bisa berada?

Memory Utama atau Memory Virtual

CPU register

I/O device

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 5: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Diagram Status Siklus Instruksi

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 6: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Representasi Instruksi

Dalam kode mesin setiap instruksi memiliki pola-bit tertentu

Untuk konsumsi programmers disediakan penyajian simbolik untuk kode operasi (opcode)

Contoh: ADD, SUB, LOAD

Acuan operand juga disajikan secara simbolik

Contoh: A,B

opcode acuan operand acuan operand

6bit 4bit 6bit

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 7: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Bahasa Assembly

• Representasi Instruksi diatas dapat disajikan dalam bentuk lengkap untuk merepresentasikan set instruksi yang dikenal sebagai bahasa assembly

• Contoh:

– MOV A, X : Berarti data ditransfer dari

alamat yang ditunjukkan oleh register X ke alamat register A

– ADD A, B : Berarti menjumlahkan

bilangan yang berada di alamat Register B dengan bilangan yang ditunjukkan oleh Register A dan hasilnya diletakkan pada alamat Register A

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 8: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Jenis Instruksi

Data processing

Data storage (main memory)

Data movement (I/O)

Program flow control

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 9: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Jumlah Alamat (a)

3 alamat

Hasil, Operand 1, Operand 2

Contoh: ADD A,B,C

a = b + c;

Jarang digunakan

Perlu word yang panjang

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 10: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Jumlah Alamat (b)

2 alamat

Salah satu sebagai operand dan hasil

Contoh: ADD A,B

a = a + b

Instruksi lebih pendek

Diperlukan kerja ekstra

Temporary storage untuk menyimpan beberapa hasil operasi

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 11: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Jumlah Alamat (c)

1 alamat

Addres kedua Implicit

Biasanya menggunakan register (accumulator)

Umum pada mesin-mesin terdahulu

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 12: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Jumlah Alamat (d)

0 (nol) alamat

semua addres implicit

menggunakan stack

Contoh:

push a

push b

add

pop c

Berarti:

c = a + b

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 13: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Contoh program menggunakan eksekusi 1,2,3 alamat

Program untuk mengeksekusi :

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 14: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Latihan

Selesaikan proses aritmatika berikut dengan menggunakan algoritma mnemonic 3 addresses (3 operands), 2 addresses (2 operands), dan 1 addresses (1 operand):

a) A = B*C+D

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

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 15: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

A = B*C+D

3 addresses (3 operands)

MUL Y,B,C Y ← B*C

ADD A,Y,D A ← Y+D

2 addresses (2 operands)

MOV A,B A ← B

MUL A,C A ← A*C

ADD A,D A ← A+D

1 addresses (1 operands)

LOAD B AC ← B

MUL C AC ← AC*C

ADD D AC ← AC+D

STOR A A ← AC

Catatan: AC = Accumulator

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 16: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

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

3 addresses (3 operands)

ADD Y,A,B Y ← A+B

MUL T,D,E T ← D*E

SUB C,C,T C ← C-T

DIV Y,Y,C Y ← Y÷C

2 addresses (2 operands)

MOV Y,A Y ← A

ADD Y,B Y ← Y+B

MOV T,D T ← D

MUL T,E T ← T*E

SUB C,T C ← C-T

DIV Y,C Y ← Y÷C

1 addresses (1 operands)

LOAD E AC ← E

MUL D AC ← AC*D

STOR T T ← AC

LOAD C AC ← C

SUB T AC ← AC-T

STOR Y Y ← AC

LOAD A AC ← A

ADD B AC ← AC + B

DIV Y AC ← AC÷Y

STOR Y ← AC

Catatan: AC = Accumulator

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 17: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Berapa banyak alamat?

Alamat banyak Instruksi semakin kompleks perlu register banyak Program lebih pendek Eksekusi lebih lambat per instruksi

Alamat sedikit Instruksi lebih sederhana Program lebih panjang (banyak Instruksi per

program) Eksekusi lebih cepat per instruksi

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 18: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Pertimbangan Perancangan

Operation Berapa banyak operand? Apa saja operasi yang disediakan?

Seberapa kompleks?

Jenis data

Format instruksi Panjang opcode Jumlah addres

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 19: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Pertimbangan Perancangan

Register

Jumlah register yang tersedia dlm CPU

Operasi apa yg dpt dikerjakan oleh masing-masing registers?

Pengalamatan

Mode untuk menspesifikasikan alamat suatu operand

RISC vs CISC

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 20: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Jenis Operand

Address

Number Integer/floating point

Character ASCII etc.

Logical Data Bits or flags

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 21: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Jenis Operasi Umum

Transfer Data :

– Move, Store, Load, Exchange, Clear, Set, Push, Pop

Aritmetika :

– Add, Substract, Multiply, Divide, Absolute, Negate, Increment, Decrement

Logika:

– AND, OR, NOT, Ex-OR, Test, Compare, Shift, Rotate

Konversi : Translate, Convert

I/O : Input, Output, Start, test

Transfer Control:

– Jump (cabang), Jump bersyarat, Return, Skip, Halt, Wait

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 22: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Operasi dengan Stack

Stack adalah sekumpulan elemen (register/memori) yang berurutan dan hanya satu elemen saja yg dapat diakses

Titik akses disebut sebagai puncak (top) stack

Panjang stack bersifat variabel

Karena stack hanya dapat diakses dari puncaknya saja maka stack juga dikenal sebagai pushdown list atau antrian Last-In-First-Out

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 23: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Penggunaan stack untuk menghitung f = (a-b) / (d x e +c )

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 24: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Notasi Infix ke Postfix

Rumus matematika biasa disebut notasi infix

Ada suatu teknik untuk membalik dan membuatnya menjadi postfix sehingga dengan mudah dievaluasi dng stack

Contoh:

A + B menjadi A B +

A + (B x C) menjadi A B C x +

(A + B) x C menjadi A B + C x

(A – B) / (C + D x E) menjadi A B – C D E x + /

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 25: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

Mesin 0 alamat (stack) untuk X = (A+BxC)/(D-ExF)

Transfer infix Ke postfix menjadi ABCx+DEFx-/

Penyelesaian dng stack menjadi:

PUSH A

PUSH B

PUSH C

MUL

ADD

PUSH D

PUSH E

PUSH F

MUL

SUB

DIV

POP X

http://hanifoza.wordpress.com ©Hanif Fakhrurroja, 2013

Page 26: Pertemuan 11 Organisasi Komputer Arsitektur Set-Set · PDF fileHanif Fakhrurroja, MT ©PIKSI GANESHA, 2013 Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja

©Hanif Fakhrurroja, 2013