Set Instruksi

Download Report

Transcript Set Instruksi

ORGANISASI & ARSITEKTUR KOMPUTER 2
SET INSTRUKSI
IBP WIDJA, MT
Apakah set Instruksi itu?




Kumpulan instruksi lengkap yang dimengerti
oleh CPU
Kode mesin
Biner
Biasanya direpresentasikan oleh Kode
Assembly
ORKOM 2
SET INSTRUKSI
2
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 ...
ORKOM 2
SET INSTRUKSI
3
Dimana operand itu bisa berada?



Memory Utama atau Memory Virtual
CPU register
I/O device
ORKOM 2
SET INSTRUKSI
4
Diagram Status Siklus Instruksi
ORKOM 2
SET INSTRUKSI
5
Representasi Instruksi

Dalam kode mesin setiap instruksi memiliki
pola-bit tertentu
4bit
opcode

acuan operand
6bit
acuan operand
Untuk konsumsi programmers disediakan
penyajian simbolik untuk kode operasi (opcode)


6bit
Contoh: ADD, SUB, LOAD
Acuan operand juga disajikan secara simbolik

ORKOM 2
Contoh: A,B
SET INSTRUKSI
6
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
–
ORKOM 2
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
SET INSTRUKSI
7
Jenis Instruksi




Data processing
Data storage (main memory)
Data movement (I/O)
Program flow control
ORKOM 2
SET INSTRUKSI
8
Jumlah Alamat (a)

3 alamat





ORKOM 2
Hasil, Operand 1, Operand 2
Contoh: ADD A,B,C
a = b + c;
Jarang digunakan
Perlu word yang panjang
SET INSTRUKSI
9
Jumlah Alamat (b)

2 alamat





Salah satu sebagai operand dan hasil
Contoh: ADD A,B
a=a+b
Instruksi lebih pendek
Diperlukan kerja ekstra

ORKOM 2
Temporary storage untuk menyimpan beberapa hasil
operasi
SET INSTRUKSI
10
Jumlah Alamat (c)

1 alamat



ORKOM 2
Addres kedua Implicit
Biasanya menggunakan register (accumulator)
Umum pada mesin-mesin terdahulu
SET INSTRUKSI
11
Jumlah Alamat (d)

0 (nol) alamat









ORKOM 2
semua addres implicit
menggunakan stack
Contoh:
push a
push b
add
pop c
Berarti:
c=a+b
SET INSTRUKSI
12
Contoh program menggunakan
eksekusi 1,2,3 alamat
Program untuk mengeksekusi :
ORKOM 2
SET INSTRUKSI
13
Berapa banyak alamat?

Alamat banyak





Instruksi semakin kompleks
perlu register banyak
Program lebih pendek
Eksekusi lebih lambat per instruksi
Alamat sedikit



ORKOM 2
Instruksi lebih sederhana
Program lebih panjang (banyak Instruksi per
program)
Eksekusi lebih cepat per instruksi
SET INSTRUKSI
14
Pertimbangan Perancangan

Operation





Berapa banyak operand?
Apa saja operasi yang disediakan?
Seberapa kompleks?
Jenis data
Format instruksi


ORKOM 2
Panjang opcode
Jumlah addres
SET INSTRUKSI
15
Pertimbangan Perancangan...

Register



Pengalamatan


Jumlah register yang tersedia dlm CPU
Operasi apa yg dpt dikerjakan oleh masing-masing
registers?
Mode untuk menspesifikasikan alamat suatu
operand
RISC vs CISC
ORKOM 2
SET INSTRUKSI
16
Jenis Operand


Address
Number


Character


ASCII etc.
Logical Data


Integer/floating point
Bits or flags
(Apa ada bedanya antara number dg character?)
ORKOM 2
SET INSTRUKSI
17
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:
ORKOM 2
–
Jump (cabang), Jump bersyarat, Return, Skip, Halt,
Wait
SET INSTRUKSI
18
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-InFirst-Out
ORKOM 2
SET INSTRUKSI
19
Penggunaan stack untuk menghitung
f = (a-b) / (d x e +c )
ORKOM 2
SET INSTRUKSI
20
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 + /

ORKOM 2
SET INSTRUKSI
21
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
ORKOM 2
SET INSTRUKSI
22
Pertanyaan
1. Sebutkan elemen khusus dari instruksi mesin?
2. Jenis lokasi apakah yg dapat menggunakan operand sumber
dan tujuan?
3. Sebutkan dan jelaskan lima rancangan set instruksi penting?
4. Bandingkan mesin 0, 1, 2, 3 alamat dng menulis program untuk
menghitung:
X = (A+BxC)/(D-ExF)
Instruksi yg
tersedia
untuk
digunakan
ORKOM 2
0 Alamat
PUSH M
POP M
ADD
SUB
MUL
DIV
1 Alamat
LOAD M
STORE M
ADD M
SUB M
MUL M
DIV M
SET INSTRUKSI
2 Alamat
MOVE(X< --Y)
ADD(X< --X+ Y)
SUB(X< --X-Y)
MUL(X< --XxY)
DIV(X< --X/Y)
3 Alamat
MOVE(X< --Y)
ADD(X< --Y+ Z)
SUB(X< --Y-Z)
MUL(X< --YxZ)
DIV(X< --Y/Z)
23