You are on page 1of 11

BAB II SET INTRUKSI

Set instruksi (instruction set) adalah sekumpulan lengkap instruksi yang dapat di mengerti oleh
sebuah CPU, set instruksi sering juga disebut sebagai bahasa mesin (machine code), karna
aslinya juga berbentuk biner kemudian dimengerti sebagai bahasa assembly, untuk konsumsi
manusia (programmer), biasanya digunakan representasi yang lebih mudah dimengerti oleh
manusia. (Fitrianto, 2013)

Sebuah instruksi terdiri dari sebuah opcode, biasanya bersama dengan beberapa informasi
tambahan seperti darimana asal operand-operand dan kemana hasil-hasil akan ditempatkan.
Subyek umum untuk menspesifikasikan di mana operand-operand berada (yaitu, alamat-
alamatnya) disebut pengalamatan

Pada beberapa mesin, semua instruksi memiliki panjang yang sama, pada mesin-mesin yang lain
mungkin terdapat banyak panjang berbeda. Instruksi-instruksi mungkin lebih pendek dari,
memiliki panjang yang sama seperti, atau lebih panjang dari panjang word. Membuat semua
instruksi memiliki panjang yang sama lebih muda dilakukan dan membuat pengkodean lebih
mudah tetapi sering memboroskan ruang, karena semua instruksi dengan demikian harus sama
panjang seperti instruksi yang paling panjang.

1. Elemen-elemen Instruksi
Operation code (Op code) : berisikan perintah yang akan dikerjakan
Source Operand reference : letak data yang harus dikerjakan sesuai perintah
Result Operand reference : Penyimpan hasil operasi
Next Instruction Reference : Perintah selanjutya yang harus diselesaikan
Dalam sebuah instruksi, tidak harus semua elemen ini dicantumkan, tergantung kebutuhan dan
jenis instruksinya. Semua instruksi dijalankan didalam CPU dan umumnya menggunakan
register sebagai tempat membaca/menyimpan operand meskipun tidak selamanya register
berisikan operand melainkan menunjuk kepada salah satu media penyimpan lainnya missal:
memori, cache, modul I/O.

Source and result operand dari suatu operasi dapat berada pada tiga tempat berikut:
Memori utama atau memori virtual
CPU register
Perangkat I/O

Representasi Instruksi
Pada bahasa mesin, setiap instruksi berbentuk pola bit biner yang unik untuk itu agar dapat
dimengerti oleh pengguna maka dibuatlah berbagai instruksi menggunakan singkatan sebagai
simbolik yang disebut sebagai mnemonic. Missal: ADD, SUB, MPY, DIV, LOAD, STOR.
Operand dapat direpresentasikan dengan menggunakan simbolik missal: ADD A,B
Tambahkan nilai yang berada pada B kedalam register A dan simpan hasilnya di register A.
seorang programmer diperkenankan menggunakan symbol dan menetapkan lokasi untuk
merepresentasikan bahasa mesin dimana setiap opcode symbol direpresentasikan dengan angka
biner yang selalu tetap.
Jenis-jenis Instruksi
1. Data processing:
Aritmetik misal : ADD, SUB dll.
Logic missal : AND, OR, NOT, SHR,
dll. Konversi data
2. Data storage (memori):
Transfer data missal : STOR, LOAD, MOVE, dll.
3. Data movement: Input dan Output ke modulI/O
4. Program flow control: JUMP, HALT, dll.

2. Format-format Instruksi
Format Instruksi 3 Alamat
Bentuk umum: [OPCODE] [AH], [AO1], [AO2] merupakan suatu instruksi dengan satu alamat
hasil dan dua alamat operand.

Misal: SUB Y,A,B bentuk algoritmik Y A B yang mengandung arti kurangkan isi register A
dengan isi register B kemudian simpan hasilnya di register Y.
Dengan format seperti ini program lebih pendek dan mengoperasikan banyak register sekaligus
dan bentuk ini tidak umum digunakan di komputer.
Format Instruksi 2 Alamat
Bentuk umum: [OPCODE] [AH], [AO] merupakan instruksi dengan satu alamat operand dan
satu alamat hasil merangkap salah satu operand lainnya.

Misal: SUB Y, B bentuk algoritmik Y Y B yang mengandung arti kurangkan isi register Y
dengan isi register B kemudian simpan hasilnya di register Y.
Dengan format instruksi seperti ini panjang program tidak bertambah terlalu banyak tetapi
mengoperasikan lebih sedikit register dan bentuk instruksi seperti ini masih digunakan di
komputer.
Format Instruksi 1 Alamat
Bentuk umum: [OPCODE] [AO], merupakan instruksi dengan satu alamat operand dan hasil
disimpan di accumulator.

Misal: SUB B bentuk algoritmik AC AC B mengandung arti kurangkan isi Acc dengan isi
register B kemudian simpan hasilnya di Acc.
Dengan format instruksi seperti ini program menjadi bertambah panjang sementara register yang
digunakan hanya satu dan bentuk ini digunakan pada komputer jaman dahulu.
Misal: SUB bentuk algoritmik: S[top] S[top-1] S[top] mengandung arti kurangkan isi stack
no.2 dari atas dengan isi stack paling atas kemudian simpan isi hasilnya di stack paling atas.
Untuk instruksi PUSH dan POP mempunyai cara kerja yang berbeda.
Contoh Format Instruksi 3 Alamat
A, B, C, D, E, T, Y adalah register
Program: Y = (A B) / ( C + D E)

SUB Y, A, B bentuk algoritmik Y A B


MPY T, D, E bentuk algoitmik T D E
ADD T, T, C bentuk algoritmik T T + C
DIV Y, Y, T bentuk algoritmik Y Y / T
Memerlukan 4 operasi

Contoh Format Instr 2 Alamat


A, B, C, D, E, T, Y adalah register
Program: Y = (A B) / ( C + D E)

MOVE Y, A bentuk algoritmik Y A


SUB Y, B bentuk algoritmik Y Y - B
MOVE T, D bentuk algoritmik T D
MPY T, E bentuk algoritmik T T E
ADD T, C bentuk algoritmik T T+C
DIV Y, T bentuk algoritmik Y Y/T

Memerlukan 6 operasi

Contoh Format Instr 1 Alamat


A, B, C, D, E, Y adalah register
Program: Y = (A B) / ( C + D E)
LOAD D bentuk algoritmik AC D
MPY E bentuk algoritmik AC AC E
ADD C bentuk algoritmik AC AC + C
STOR Y bentuk algoritmik Y AC
LOAD A bentuk algoritmik AC A
SUB B bentuk algoritmik AC AC B
DIV Y bentuk algoritmik AC AC / Y
STOR Y bentuk algoritmik Y AC
Memerlukan 8 operasi

Contoh Format Instr 0 Alamat


A, B, C, D, E, Y adalah register
Program: Y = (A B) / ( C + D E)
PUSH A bentuk algoritmik S[top] A
PUSH B bentuk algoritmik S[top] B
SUB bentuk algoritmik S[top] A - B
PUSH C bentuk algoritmik S[top] C
PUSH D bentuk algoritmik S[top] D
PUSH E bentuk algoritmik S[top] E
MPY bentuk algoritmik S[top] D E
ADD bentuk algoritmik S[top] C + S[top]
DIV bentuk algoritmik S[top] (A - B) / S[top]
POP Y bentuk algoritmik Out S[top]

Memerlukan 10 operasi

Set instruksi pada CISC:


Berikut ini merupakan karakteristik set instruksi yang digunakan pada beberapa computer yang
memiliki arsitektur CISC

Perbandingan set instruksi


Beberapa computer CISC (Complex Instruction Set Computer) menggunakan cara implist dalam
menentukan mode addressing pada setiap set instruksinya. Penentuan mode addressing dengan
cara implicit memiliki arti bahwa pada set instruksi tidak di ada bagian yang menyatakan tipe
dari mode addressing yang digunakan, deklarasi dari mode addressing itu berada menyatu
dengan opcode. Lain hal nya dengan cara imsplisit, cara eksplisit sengaja menyediakan tempat
pada set instruksi untuk mendeklarasikan tipe mode addressing. Pada cara eksplisit deklarasi
opcode dan mode addressing berada terpisah.

Data pada tempat deklarasi mode addressing diperoleh dari logaritma basis dua jumlah mode
addressing. Jika deklarasi mode addressing dilakukan secara implicit akan menghemat tempat
dalam set instruksi paling tidak satu bit untuk IBM 3090 dan 6 bit untuk MC68040. Perubahan
satu bit pada set instruksi akan memberikan jangkauan alamat memori lebih luas mengingat
range memori dinyatakan oleh bilangan berpangkat dua.

ELEMEN-ELEMEN DARI INSTRUKSI MESIN (SET INSTRUKSI)


* Operation Code (opcode) : menentukan operasi yang akan dilaksanakan
* Source Operand Reference : merupakan input bagi operasi yang akan dilaksanakan
* Result Operand Reference : merupakan hasil dari operasi yang dilaksanakan
* Next instruction Reference : memberitahu CPU untuk mengambil (fetch) instruksi berikutnya
setelah instruksi yang dijalankan selesai. Source dan result operands dapat berupa salah satu
diantara tiga jenis berikut ini:
Main or Virtual Memory
CPU Register
I/O Device
DESAIN SET INSTRUKSI
Desain set instruksi merupakan masalah yang sangat komplek yang melibatkan banyak aspek,
diantaranya adalah:
1. Kelengkapan set instruksi
2. Ortogonalitas (sifat independensi instruksi)
3. Kompatibilitas : Source code compatibility Object code Compatibility
Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut:
1. Operation Repertoire: Berapa banyak dan operasi apa saja yang disediakan, dan berapa
sulit operasinya
2. Data Types: tipe/jenis data yang dapat olah Instruction Format: panjangnya, banyaknya
alamat, dsb.
3. Register: Banyaknya register yang dapat digunakan 4.Addressing: Mode pengalamatan
untuk operand
FORMAT INSTRUKSI
Suatu instruksi terdiri dari beberapa field yang sesuai dengan elemen dalam instruksi
tersebut. Layout dari suatu instruksi sering disebut sebagai Format Instruksi (Instruction
Format).
OPCODE OPERAND REFERENCE OPERAND REFERENCE JENIS-JENIS OPERAND
Addresses (akan dibahas pada addressing modes)
Numbers : Integer or fixed point Floating point Decimal (BCD)
Characters : ASCII EBCDIC
Logical Data : Bila data berbentuk binary: 0 dan 1

JENIS INSTRUKSI
Data processing: Arithmetic dan Logic Instructions
Data storage: Memory instructions
Data Movement: I/O instructions
Control: Test and branch instructions

TRANSFER DATA

Menetapkan lokasi operand sumber dan operand tujuan.


Lokasi-lokasi tersebut dapat berupa memori, register atau bagian paling atas daripada
stack.
Menetapkan panjang data yang dipindahkan.
Menetapkan mode pengalamatan.
Tindakan CPU untuk melakukan transfer data adalah :
a. Memindahkan data dari satu lokasi ke lokasi lain.
b. Apabila memori dilibatkan :
1. Menetapkan alamat memori.
2. Menjalankan transformasi alamat memori virtual ke alamat memori aktual.
3. Mengawali pembacaan / penulisan memori
Operasi set instruksi untuk transfer data :
MOVE : memindahkan word atau blok dari sumber ke tujuan
STORE : memindahkan word dari prosesor ke memori.
LOAD : memindahkan word dari memori ke prosesor.
EXCHANGE : menukar isi sumber ke tujuan.
CLEAR / RESET : memindahkan word 0 ke tujuan.
SET : memindahkan word 1 ke tujuan.
PUSH : memindahkan word dari sumber ke bagian paling atas stack.
POP : memindahkan word dari bagian paling atas sumber

ARITHMETIC
Tindakan CPU untuk melakukan operasi arithmetic :
1. Transfer data sebelum atau sesudah.
2. Melakukan fungsi dalam ALU.
3. Menset kode-kode kondisi dan flag.
Operasi set instruksi untuk arithmetic :
1. ADD : penjumlahan 5. ABSOLUTE
2. SUBTRACT : pengurangan 6. NEGATIVE
3. MULTIPLY : perkalian 7. DECREMENT
4. DIVIDE : pembagian 8. INCREMENT
Nomor 5 sampai 8 merupakan instruksi operand tunggal. LOGICAL

Tindakan CPU sama dengan arithmetic


Operasi set instruksi untuk operasi logical :
1. AND, OR, NOT, EXOR
2. COMPARE : melakukan perbandingan logika.
3. TEST : menguji kondisi tertentu.
4. SHIFT : operand menggeser ke kiri atau kanan menyebabkan konstanta pada ujung
bit.
5. ROTATE : operand menggeser ke kiri atau ke kanan dengan ujung yang terjalin.

CONVERSI
Tindakan CPU sama dengan arithmetic dan logical.
Instruksi yang mengubah format instruksi yang beroperasi terhadap format data.
Misalnya pengubahan bilangan desimal menjadi bilangan biner.
Operasi set instruksi untuk conversi :
1. TRANSLATE : menterjemahkan nilai-nilai dalam suatu bagian memori berdasrkan
tabel korespodensi.
2. CONVERT : mengkonversi isi suatu word dari suatu bentuk ke bentuk lainnya.

INPUT / OUPUT
Tindakan CPU untuk melakukan INPUT /OUTPUT :
1. Apabila memory mapped I/O maka menentukan alamat memory mapped.
2. Mengawali perintah ke modul I/O

Operasi set instruksi Input / Ouput :


1. INPUT : memindahkan data dari pernagkat I/O tertentu ke tujuan
2. OUTPUT : memindahkan data dari sumber tertentu ke perangkat I/O
3. START I/O : memindahkan instruksi ke prosesor I/O untuk mengawali operasi I/O
4. TEST I/O : memindahkan informasi dari sistem I/O ke tujuan TRANSFER
CONTROL

Tindakan CPU untuk transfer control : Mengupdate program counter untuk subrutin , call
/ return.
Operasi set instruksi untuk transfer control :
1. JUMP (cabang) : pemindahan tidak bersyarat dan memuat PC dengan alamat
tertentu.
2. JUMP BERSYARAT : menguji persyaratan tertentu dan memuat PC dengan alamat
tertentu atau tidak melakukan apa tergantung dari persyaratan.
3. JUMP SUBRUTIN : melompat ke alamat tertentu.
4. RETURN : mengganti isi PC dan register lainnya yang berasal dari lokasi tertentu.
5. EXECUTE : mengambil operand dari lokasi tertentu dan mengeksekusi sebagai
instruksi
6. SKIP : menambah PC sehingga melompati instruksi berikutnya.
7. SKIP BERSYARAT : melompat atau tidak melakukan apa-apa berdasarkan pada
persyaratan
8. HALT : menghentikan eksekusi program.
9. WAIT (HOLD) : melanjutkan eksekusi pada saat persyaratan dipenuhi
10. NO OPERATION : tidak ada operasi yang dilakukan.

CONTROL SYSTEM
Hanya dapat dieksekusi ketika prosesor berada dalam keadaan khusus tertentu atau
sedang mengeksekusi suatu program yang berada dalam area khusus, biasanya digunakan
dalam sistem operasi.
Contoh : membaca atau mengubah register kontrol.

JUMLAH ALAMAT (NUMBER OF ADDRESSES)

Salah satu cara tradisional untuk menggambarkan arsitektur prosessor adalah dengan
melihat jumlah alamat yang terkandung dalam setiap instruksinya.
Jumlah alamat maksimum yang mungkin diperlukan dalam sebuah instruksi :
1. Empat Alamat ( dua operand, satu hasil, satu untuk alamat instruksi berikutnya)
2. Tiga Alamat (dua operand, satu hasil)
3. Dua Alamat (satu operand merangkap hasil, satunya lagi operand)
4. Satu Alamat (menggunakan accumulator untuk menyimpan operand dan hasilnya)

Macam-macam instruksi menurut jumlah operasi yang dispesifikasikan


1. O Address Instruction
2. 1 Addreess Instruction.
3. N Address Instruction
4. M + N Address Instruction

Macam-macam instruksi menurut sifat akses terhadap memori atau register


1. Memori To Register Instruction
2. Memori To Memori Instruction
3. Register To Register Instruction

ADDRESSING MODES

Jenis-jenis addressing modes (Teknik Pengalamatan) yang paling umum:


Immediate
Direct
Indirect
Register
Register Indirect
Displacement
Stack

Bibliography
Fitrianto, E. (2013, Oktober 30). SET INSTRUKSI | Ekofitriyanto's Blog. Retrieved November 8,
2016, from https://ekofitriyanto.wordpress.com

Yulianingsih; Panjaitan, Darwin Isasar;. (2014, November 3). Diktat Organisasi dan Arsitektur
Komputer-SlideShare. Retrieved November 9, 2016, from
www.slideshare.net/yudiblaugrana5/diktat-arsitektur-organisasi-komputer

You might also like