ARSITEKTUR SET INSTRUKSI
Set
Instruksi Arsitektur atau Instruction Set Architecture (ISA) merupakan suatu perintah yang diberikan kepada sebuah PC
ataupun CPU guna menjalankan sebuah OS (Operating System) dari suatu CPU
tersebut. Operasi dari CPU ditentukan oleh instruksi-instruksi yang ditentukan
atau dijalankannya. Kumpulan instruksi-instruksi yang berbeda yang dapat
dijalankan oleh CPU disebut set instruksi (Instruction Set). Set instruksi juga
biasanya digunakan untuk perantara komunikasi dari programmer menuju mesin, set
instruksi biasanya berupa bahasa mesin yang digunakan sebagai jembatan
komunikasi antara manusia dengan computer /sekumpulan instruksi lengkap 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. Set
instruksi juga didefinisikan sebagai
suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram.
Instruction
Set Architecture (ISA) adalah suatu aspek dalam arsitektur komputer yang dapat
dilihat oleh para pemrogram. Secara umum, ISA ini mencakup jenis data yang
didukung, jenis instruksi yang dipakai, jenis register, mode pengalamatan,
arsitektur memori, penanganan interupsi, eksepsi, dan operasi I/O eksternalnya
(jika ada). 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. ISA merupakan sebuah
spesifikasi dari Pullman semua kode-kode biner (opcode) yang diimplementasikan
dalam bentuk aslinya (native form) dalam sebuah desain prosesor tertentu.
Kumpulan opcode tersebut, umumnya disebut sebagai bahasa mesin (machine
language) untuk ISA yang bersangkutan. ISA yang populer digunakan adalah set
instruksi untuk chip Intel x86, IA-64, IBM PowerPC, Motorola 68000, Sun SPARC,
DEC Alpha, dan lain-lain. Pada beberapa mesin, semua instruksi memiliki panjang
yang sama, pada mesin-mesin yang lain mungkin terdapat banyak panjang berbeda.
Di dalam sebuah instruksi terdapat beberapa
elemen-elemen instruksi:
- Operation code (op code) : menentukan operasi yang akan
Kode operasi berbentu kode biner.
- Operand reference : merupakan input bagi operasi yang akan
adalah input operasi.
- Result operand reference : merupakan hasil dari operasi yang
- Next instruction preference : lemen ini menginformasikan
atau memberitahu CPU untuk mengambil instruksi berikutnya
setelah instruksi yang dijalankan selesai.
Jenis Intruksi
} CISC, Complex
Instruction Set Computer
Sebuah arsitektur dari set instruksi komputer
dimana setiap instruksi akan menjalankan beberapa operasi tingkat rendah,
seperti pengambilan dari memori, operasi aritmetika, dan penyimpanan ke dalam
memory, semuanya sekaligus hanya di dalam sebuah instruksi.
}
RICS, Reduce
Instruction Set Computer
Rancangan arsitektur CPU yang mengambil dasar filosofi bahwa prosesor
dibuat dengan arsitektur yang tidak rumit dengan membatasi jumlah instruksi
hanya pada instruksi dasar
yang diperlukan saja. Cakupan jenis instruksi ini yakni dibawah ini :
Data processing : Aritmetik (ADD, SUB, dsb); Logic (AND,
OR,
NOT, SHR, dsb); konversidata
NOT, SHR, dsb); konversidata
Data storage
(memory) : Transfer data (STOR, LOAD,
MOVE, dsb)
Data movement : Input dan Output ke modul I/O
Program flow control : JUMP, HALT, dsb.
Keterangan :
1.
Data Processing / Pengolahan Data : instruksi-instruksi aritmetika dan logika.
Instruksi aritmetika memiliki kemampuan untuk mengolahdata numeric, sedangkan
instruksi logika beroperasi pada bit-bit word sebagai bit bukan sebagai
bilangan. Operasi-operasi tersebut dilakukan terutama untuk data di register
CPU.
2.
Data Storage / Penyimpanan Data : instruksi-instruksi memori.
Instruksi-instruksi memori diperlukan untuk memindah data yang terdapat di
memori dan register.
3.
Data Movement / Perpindahan Data : instruksi I/O. Instruksi-instruksi I/O
diperlukan untuk memindahkan program dan data ke dalam memori dan mengembalikan
hasil komputansi kepada pengguna.
4.
Control / Kontrol : instruksi pemeriksaan dan percabangan. Instruksi-instruksi
kontrol digunakan untuk memeriksa nilai data, status komputansi dan
mencabangkan ke set instruksi lain.
Format instruksi (biner):
Misal instruksi dengan 2 alamat operand : ADD A,B A
dan B adalah suatu alamat register.
Beberapa simbolik
instruksi:
ADD = Add (jumlahkan)
SUB = Subtract (Kurangkan)
MPY/MUL = Multiply (Kalikan)
DIV = Divide (Bagi)
LOAD = Load data dari register/memory
STOR = Simpan data ke register/memory
MOVE = pindahkan data dari satu tempat ke tempat lain
SHR = shift kanan data
SHL = shift kiri data.
dan lain-lain
Contoh suatu Format
Instruksi adalah sbb :
Ilustrasi
Format Instruksi Sederhana
(Stallings, W. 1990,
hal. 294)
Lokasi Source dan Result Operand dari Operasi
Melihat dari sumbernya,
lokasi source operand dan result operand suatu operasi dapat berada di salah
satu dari ketiga daerah berikut ini :
– Main Memori atau memori
utama atau virtual memori
– CPU Register atau Register
CPU
– I/O Device atau Perangkat
I/O
Rancangan
Set Instruksi
• Aspek paling menarik
dalam arsitektur komputer adalah perancangan set
instruksi, karena rancangan ini berpengaruh
banyak pada aspek lainnya.
• Set instruksi
menentukan banyak fungsi yang harus dilakukan CPU.
• Set instruksi merupakan
alat bagi para pemrogram untuk mengontrol kerja CPU.
• Pertimbangan :
Kebutuhan pemrogram menjadi bahan pertimbangan dalam
merancang
set instruksi
TEKNIK PENGALAMATAN
Metode pengalamatan
merupakan aspek dari set instruksi arsitektur disebagian unit pengolah pusat
(CPU) desain yang didefinisikan dalam set instruksi arsitektur dan menentukan
bagaimana bahasa mesin petunjuk dalam arsitektur untuk mengidentifikasi operan
dari setiap instruksi. Sebuah mode pengalamatan menentukan bagaimana menghitung
alamat memori yang efektif dari operand dengan menggunakan informasi yang
diadakan di register dan / atau konstanta yang terkandung dalam instruksi mesin
atau di tempat lain.
Jenis-jenis metode
pengalamatan diantaranya :
1.
Immediate
Addressing Mode
2. Register Addressing Mode
3. Direct Addressing Mode
4. Indirect Addressing Mode
R0 atau R1 digunakan untuk menunjukkan Destination Address
MOV A,#30h ; salin immediate data
30h ke Akumulator
MOV R0,#7Fh ; salin immediate data
7Fh ke register R0
MOV @R0,A ; salin the data in A ke
alamat di R0
R0 atau R1 digunakan untuk menunjukkan Source Address
MOV R0,#7Fh ; salin immediate data
7Fh ke register R0
MOV @R0,#30h ; salin immediate data
30 ke alamat di R0
MOV A,@R0 ; salin isi dari alamat
di R0 ke Akumulator
*NB : klik gambar untuk
melihat lebih jelas*
Bentuk instruksi:
– Format instruksi 3 alamat
Mempunyai bentuk umum
seperti : [OPCODE][AH],[AO1],[AO2]. Terdiri dari satu alamt hasil, dan dua
alamat operand, misal SUB Y,A,B Yang mempunyai arti dalam bentuk algoritmik : Y
:= A – B dan arti dalam bentuk penjelasan : kurangkan isi reg a dengan isi reg
B, kemudian simpan hasilnya di reg Y. bentuk bentuk pada format ini tidak umum
digunakan di dalam computer, tetapi tidak dimungkinkan ada pengunaanya, dalam
peongoprasianya banyak register sekaligus dan program lebih pendek.
Contoh:
A, B, C, D, E, T, Y
adalah register
Program: Y = (A – B) / (
C + D × E)
SUB Y, A, B Y := A – B
MPY T, D, E T := D × E
ADD T, T, C T := T + C
DIV Y, Y, T Y:= Y / T
Memerlukan 4 operasi
– Format instruksi 2 alamat
Mempunyai bentuk umum :
[OPCODE][AH],[AO]. Terdiri dari satu alamat hasil merangkap operand, satu
alamat operand, missal : SUB Y,B yang mempunyai arti dalam algoritmik : Y:= Y –
B dan arti dalam bentuk penjelasan : kurangkan isi reg Y dengan isi reg B, kemudian
simpan hasillnya di reg Y. bentuk bentuk format ini masih digunakan di computer
sekarang, untuk mengoprasikan lebih sedikit register, tapi panjang program
tidak bertambah terlalu banyak.
Contoh :
A, B, C, D, E, T, Y
adalah register
Program: Y = (A – B) / (
C + D × E)
MOVE Y, A Y := A
SUB Y, B Y := Y – B
MOVE T, D T := D
MPY T, E T := T × E
ADD T, C T := T + C
DIV Y, T Y:= Y / T
Memerlukan 6 operasi
– Format instruksi 1 alamat
Mempunyai bentuk umum :
[OPCODE][AO]. Terdiri dari satu alamat operand, hasil disimpan di accumulator,
missal : SUB B yang mempunyai arti dalam algoritmik : AC:= AC – B dan arti
dalam bentuk penjelasan : kurangkan isi Acc dengan isi reg B, kemudian simpan
hasillnya di reg Acc. bentuk bentuk format ini masih digunakan di computer
jaman dahulu, untuk mengoprasikan di perlukan satu register, tapi panjang program semakin
bertambah.
Contoh :
A, B, C, D, E, Y adalah
register
Program: Y = (A – B) / (
C + D × E)
LOAD D AC := D
MPY E AC := AC × 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
Memerlukan 8 operasi
– Format instruksi 0 alamat
Mempunyai bentuk umum :
[OPCODE]. Terdiri dari semua alamat operand implicit, disimpan dalam bentuk
stack. Operasi yang biasanya membutuhkan 2 operand, akan mengambil isi stack
paling atas dan dibawahnya missal : SUB yang mempunyai arti dalam algoritmik :
S[top]:=S[top-1]-S[top] dan arti dalam bentuk penjelasan : kurangkan isi stack
no2 dari atas dengan isi stack paling atas, kemudian simpan hasilnya di stack
paling atas, untuk mengoprasikan ada beberapa instruksi khusus stack PUSH dan
POP.
Contoh :
A, B, C, D, E, Y adalah
register
Program: Y = (A – B) / (
C + D × E)
PUSH A S[top] := A
PUSH B S[top] := B
SUB S[top] := A – B
PUSH C S[top] := C
PUSH D S[top] := D
PUSH E S[top] := E
MPY S[top] := D × E
ADD S[top] := C +
S[top]
DIV S[top] := (A –
B) /S[top]
POP Y 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
DESAIN SET INSTRUKSI
Desain set instruksi
merupakan masalah yang sangat komplek yang melibatkan banyak aspek, diantaranya
:
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 :
a. Operation Repertoire, berapa banyak dan operasi apa
saja yang disediakan dan
berapa sulit
operasinya.
b. Data Types, tipe / jenis data yang dapat diolah.
c. Instruction Format, panjangnya, banyaknya alamat,
dsb.
d. Register, banyaknya register yang dapat digunakan.
e. Addressing, mode pengalamatan untuk operand.
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
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
2. SUBTRACT : pengurangan
3. MULTIPLY : perkalian
4. DIVIDE : pembagian
5. ABSOLUTE
6. NEGATIVE
7. DECREMENT
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.
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.
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.
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)
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)
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
Keterangan ADDRESSING
MODES :
1. Immediate addressing
Operand (data yang akan
dikomputasi) berada langsung pada set instruksi.
2. Direct Addressing
Operand berada pada
memori, set instruksi memegang alamat lokasi memori dimana operand tersebut
berada.
3. Indirect Addresing
Operand berada pada
memori, untuk mendapatkan operand ini CPU harus melakukan penelusuran dua kali
yaitu dari data alamat memori yang ada pada set instruksi serta alamat yang
ditunjuk oleh alamat memori yang diperoleh dari set instruksi tadi.
4. Register addressing
Operand berada pada
register, cara kerjanya mirip dengan direct addressing hanya saja CPU mengakses
alamat register bukan alamat memori.
5. Register Indirect
Addressing
Operand berada pada
memori, untuk mendapatkan operand CPU harus mengakses register terlebih dahulu
karena informasi lokasi operand berada pada register.
6. Displacement
Operand berada pada
memori, cara kerjanya merupakan gabungan dari teknik direct addressing dan
register indirect addressing.
7. Stack
Operand berada pada
stack, operand secara berkala dimasukan ke stack sehingga ketika
operand dibutuhkan maka
operand sudah berada pada “top of the stack”.
Kesimpulan
Instruction Set
Architecture (ISA) didefinisikan sebagai sesuatu aspek dalam arsitektur
computer yang dapat dilihat oleh para pemrogram. Disebut juga machine code
(bahasa mesin), aslinya juga berbentuk biner > bahasa assembly. Di dalam intruksi –
intruksi terdiri dari operand dan operator yang nantinyaakan melakukan sebuah
operasi di dalam komputer. Operasi – operasi yangberjalan di dalam CPU
ditentukan oleh instruksi-instruksi yang dieksekusinya.Di dalam set instruksi
ada elemen-elemen yang akan digunakan untukdieksekusi. Namun intruksi yang
dilakukan harus direpresentasikan olehsehimpunan bit agar dapat dimengerti oleh
manusia / programmer. Intruksidapat berupa 3 alamat – 0 alamat.
Tidak ada komentar:
Posting Komentar