0% menganggap dokumen ini bermanfaat (0 suara)
286 tayangan33 halaman

Topik 9 - Instruction Sets - Characteristics and Functions

Instruksi mesin merupakan kumpulan perintah-perintah yang dieksekusi oleh processor untuk menjalankan program komputer. Setiap instruksi terdiri atas opcode, operand sumber, dan operand hasil yang digunakan processor untuk menentukan operasi apa yang harus dilakukan dan lokasi data mana yang terkait. Jumlah alamat yang dipakai setiap instruksi bervariasi, namun pada umumnya lebih sedikit alamat berarti instruksi lebih sederhana tetapi membut

Diunggah oleh

Meiti Za
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
286 tayangan33 halaman

Topik 9 - Instruction Sets - Characteristics and Functions

Instruksi mesin merupakan kumpulan perintah-perintah yang dieksekusi oleh processor untuk menjalankan program komputer. Setiap instruksi terdiri atas opcode, operand sumber, dan operand hasil yang digunakan processor untuk menentukan operasi apa yang harus dilakukan dan lokasi data mana yang terkait. Jumlah alamat yang dipakai setiap instruksi bervariasi, namun pada umumnya lebih sedikit alamat berarti instruksi lebih sederhana tetapi membut

Diunggah oleh

Meiti Za
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 33

Topik 9

Instruction Sets -
Characteristics and Functions
Rangkaian Instruksi
 Operasi processor tergantung pada instruksi
yang sedang dieksekusinya yaitu instruksi
mesin.

 Rangkaian instruksi : kumpulan instruksi


mesin berbeda yang dapat dieksekusi oleh
processor.
 Berupa bilangan biner
 Biasanya direpresentasikan oleh kode assembly
Elemen-elemen Instruksi
 Setiap instruksi harus berisi informasi yang
dibutuhkan processor untuk eksekusi, yaitu:
 Operation code (Op code)
▪ Lakukan ini, e.g. : ADD, I/O
 Source Operand reference
▪ Terhadap ini, berupa input untuk operasi
 Result Operand reference
▪ Simpan hasilnya disini
 Next Instruction Reference
▪ Jika selesai, lakukan ini...
Operand Sumber dan Operand Hasil

 Merupakan salah satu lokasi berikut:


1. Memory utama atau memori virtual
2. Processor register
3. Immediate :
▪ nilai operand ada pada field instruksi yang sedang
dieksekusi
4. I/O device
Representasi Instruksi
 Dalam instruksi mesin, setiap instruksi mempunyai pola bit yang
unik dan dibagi atas elemen-elemen terkait.

 Selama eksekusi, instruksi akan dibaca dalam IR processor.

 Processor harus dapat mengekstrak bagian-bagian isntruksi


tersebut agar dapat dieksekusi.

 Untuk konsumsi manusia, dipakai representasi symbolik dari


instruksi mesin (mnemonics).
 E.g. ADD, SUB, LOAD
 Contoh pemakaian : ADD R,B
 Artinya :
Format Instruksi Sederhana
Jenis-jenis instruksi (1)

 Contoh : dalam HLL ditulis :


 X = X +Y

 Jika X dan Y alamat memory 513 dan 514,

 Maka artinya : tambahkan nilai yang


tersimpan pada variabel Y dengan nilai yang
tersimpan di X, hasilnya disimpan di X.
Jenis-jenis instruksi (2)
 Statement X = X + Y pada HLL dapat dilaksanakan sbb
oleh instruksi mesin sederhana:
1. Muat ke register isi dari alamat memory 513
2. Tambahkan isi dari alamat memory 514 ke register tersebut.
3. Simpan isi dari register tersebut ke alamat memory 513.

 Hubungan HLL dengan instruksi mesin : HLL


memberikan instruksi dalam bentuk aljabar ringkas,
sedangkan instruksi mesin memberikan instruksi dalam
bentuk dasar yang melibatkan perpindahan data dari
dan ke register.
Jenis-jenis instruksi (3)
1. Data processing :
 instruksi aritmatik dan logika

2. Data storage :
 Perpindahan data ke atau dari register dan lokasi di memori.

3. Data movement
 Instruksi I/O

4. Program flow control


 Instruksi pengecekan dan percabangan.
Jumlah alamat (a)
 Jumlah alamat setiap instruksi : salah satu
cara untuk menggambarkan arsitektur
processor .

 Berapa jumlah alamat maksimum yang


dibutuhkan oleh satu instruksi?
Contoh :

 Y = (A – B)/ (C + (DxE))

 Bagaimana instruksi mesin yang digunakan


untuk menghitung persamaan tersebut?
Jumlah alamat (b)

 3 alamat
 Operand 1, Operand 2, Hasil
 Contoh : a = b + c;
 Mungkin 4 – yaitu : instruksi berikut (biasanya
implisit)
 Tidak umum digunakan
 Membutuhkan format instruksi yng relatif
panjang untuk menyimpan 3 referensi alamat.
Instruksi 3 alamat

Instruction Comment
SUB Y, A, B Y A-B

MPY T, D, E T DXE

ADD T, T, C T T+C

DIV Y, Y, T Y Y+ T
Number of Addresses (c)
 2 alamat
 Satu alamat berfungsi sebagai operand sumber
sekaligus operand hasil.
 Contoh : a = a + b
 Memperkecil kebutuhan ruang memory
 Membutuhkan pekerjaan ekstra
▪ Membutuhkan penyimpanan temporer sebelum operasi
dilakukan.
Instruksi 2 alamat
INSTRUCTION COMMENT

MOVE Y, A Y A

SUB Y, B Y Y- B

MOVE T, D T D

MPY T, E T TX E

ADD T, C T T+C

DIV Y, T Y Y+ T
Number of Addresses (c)
 1 alamat
 Alamat kedua bersifat implisit
 Biasanya menggunakan Accumulator (AC).
 AC berisi satu operand dan digunakan untuk
menyimpan hasil.
 Biasa digunakan pada mesin komputer zaman
dulu.
Instruksi 1 alamat
instruction comment

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
Number of Addresses (d)
 0 (zero) addresses
 Semua alamat bersifat implisit
 Menggunakan stack
 Contoh : c = a + b
1. push a
2. push b
3. add
4. pop c
Berapa banyak alamat akan dipakai?

 Lebih banyak alamat


 instruksi lebih kompleks
 Memakai lebih banyak register
▪ Operasi antar register akan lebih cepat
 Lebih sedikit instruksi per program

 Lebih sedikit alamat


 Operasi kurang kompleks
 Lebih banyak instruksi per program
Keputusan Perancangan (1)
 Operation repertoire
 Berapa banyak operand?
 Apa saja yang dapat dilakukan operand tersebut?
 Seberapa kompleks?
 Tipe data
 Format Instruksi
 Panjang op code
 Jumlah alamat
Keputusan perancangan(2)
 Registers
 Jumlah register CPU yang tersedia
 Operasi apa yang dapat dilakukan, pada register
mana?

 Model pengalamat (later…)

 RISC v CISC
Jenis-jenis operand

1. Alamat
2. Angka
▪ Integer/floating point
3. Karakter
▪ ASCII etc.
4. Logical Data
▪ Bits or flags
Jenis-jenis Operasi

1. Data Transfer
2. Arithmetika
3. Logika
4. Konversi
5. I/O
6. System Control
7. Transfer of Control
Data Transfer
 Menentukan
 Sumber
 Tujuan
 Jumlah data
 Dapat berupa instruksi yang berbeda untuk
perpindahan yang berbeda.
 e.g. IBM 370
 Atau satu instruksi dan alamat berbeda
 e.g. VAX
Arithmetic
 Add, Subtract, Multiply, Divide
 Signed Integer
 Floating point ?
 May include
 Increment (a++)
 Decrement (a--)
 Negate (-a)
Logical
 Bitwise operations
 AND, OR, NOT
Conversion
 E.g. Binary to Decimal
Input/Output
 May be specific instructions
 May be done using data movement
instructions (memory mapped)
 May be done by a separate controller (DMA)
Systems Control
 Privileged instructions
 CPU needs to be in specific state
 Ring 0 on 80386+
 Kernel mode
 For operating systems use
Transfer of Control
 Branch
 e.g. branch to x if result is zero
 Skip
 e.g. increment and skip if zero
 ISZ Register1
 Branch xxxx
 ADD A
 Subroutine call
 c.f. interrupt call
Branch Instruction
Nested Procedure Calls
Use of Stack

Anda mungkin juga menyukai