set instruksi
A.
Arsitektur Set Instruksi
Set instruksi adalah suatu aspek dalam arsitektur komputer yang juga
dikenal sebagai Instruction Set Architecture (ISA). Umumnya,
ISA mencakup jenis data yang didukung, jenis instruksi yang digunakan, jenis
register, mode pengalamatan, arsitektur memori operasi I/O dan sebagainya.
ISA adalah sebuah spesifikasi dari Pullman kode-kode
biner (opcode) yang diimplementasikan dalam bentuk aslinya. Kumpulan
dari opcode terebut adalah bahasa mesin. ISA yang paling
populer digunakan adalah set instruksi untuk chip Intel x86, Sun SPARC. DEC dan
lain-lain.
Jenis-Jenis Instruksi
1.
Pengolahan Data
Instruksi untuk aritmetika dan logika. Instruksi
Aritmetika memiliki kemampuan untuk mengolah data numeric. Instruksi Logika
beroperasi pada bit-bit word sebagai bit bukan sebagai bilangan.
2. Penyimpanan Data
Instruksi untuk Memori. Instruksi memori diperlukan
untuk memindahkan data yang terdapat pada memori dan register.
3.
Perpindahan Data
Instruksi untuk I/O. Instruksi I/O diperlukan untuk
memindahkan program dan data ke dalam memori dan mengembalikan hasil komputansi
kepada pengguna.
4. Kontrol
Instruksi untuk pemeriksaan dan percabangan. Instruksi
kontrol digunakan untuk memeriksa nilai data dannmencambangkan ke set industri
lain.
Klasifikasi Set Instruksi
Ada 2 jenis klasifikasi set instruksi yang utama yaitu CISC (Complex
Instruction Set of Computing) dan RISC (Reduced Instruction Set of Computing)
1.
CISC (Complex Instruction Set of Computing)
CISC
(Complex Instruction Set of Computing) adalah desain prosesor dimana instruksi
tunggal dapat menjalankan beberapa operasi tingkat rendah (seperti beban dari
memori, operasi aritmatika, dan penyimpanan memori). CISC mampu menjalankan
operasi multi-langkah atau mode pengalamatan dalam instruksi tunggal. Komputer
mainframe yang besar dan kompleks untuk mikrokontroler sederhana, di mana beban
memori dan operasional penyimpanan tidak lepas dari instruksi aritmatika.
2.
RISC (Reduced Instruction Set of Computing)
RISC
(Reduced Instruction Set of Computing) adalah strategi desain CPU berdasarkan
ide bahwa set instruksi yang disederhanakan memberikan kinerja yang lebih
tinggi bila dikombinasikan dengan arsitektur mikroprosesor mampu melaksanakan
instruksi tersebut menggunakan siklus mikroprosesor yang lebih sedikit per
instruksi.
Karakteristik dan Fungsi Set Instruksi
·
Operasi dari CPU ditentukan oleh instruksi-instruksi yang dilaksanakan atau
dijalankan. Instruksi ini sering disebut sebagai instruksi mesin (mechine
instructions) atau instruksi komputer (computer instructions).
·
Kumpulan dari instruksi-instruksi yang berbeda yang dapat dijalankan oleh
CPU disebut set Instruksi (Instruction Set).
Elemen-elemen
dari Set Instruksi
·
Operation Code (opcode) untuk 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.
Design set instruksi merupakan masalah yang sangat kompleks yang melibatkan
banyak aspek, diantaranya adalah :
1. Kelengkapan set instruksi
2. Ortogonalitas (sifat independensi instruksi)
3. Kompatibilitas merupakan Source Code Compatibility
& Object Code Compatibility
Suatu instruksi terdiri dari beberapa field yang sesuai dengan elemen dalam
instruksi tersebut. Layout dari suatu instruksi sering disebut sebagai Format
Instruksi (Instruction Format).
Jenis Operand
·
Address
·
Numbers : Integer, Floating Point, Decimal
·
Character : ASCII, EBCDIC
·
Logical Data
B. Teknik Pengalamatan
Untuk menyimpan data ke dalam memori komputer, tentu
memori tersebut diberi identitas (yang disebut dengan alamat/ address) agar
ketika data tersebut diperlukan kembali, komputer bisa mendapatkannya sesuai
dengan data yang pernah diletakkan di sana. Teknik pengalamatan ini hampir
sudah tidak diperlukan lagi oleh pemakai komputer saat ini karena hampir
seluruh software yang beredar di pasaran tidak mengharuskan si pemakai
menentukan di alamat mana datanya akan disimpan (semua sudah otomatis dilakukan
oleh si software).
Ada tiga teknik dasar untuk pengalamatan, yakni
1. Pemetaan langsung (direct mapping) yang terdiri dari
dua cara yakni Pengalamatan Mutlak (absolute addressing) dan Pengalamatan
relatif (relative addressing),
2. Pencarian Tabel (directory look-up), dan
3. Kalkulasi (calculating)
1.
Pemetaan Langsung
Teknik ini dapat dijuluki dengan device dependent
(tergantung pada peralatan rekamnya). Pada teknik ini, tidak dapat langsung
meng-copy data ke komputer lainnya, karena mungkin saja di komputer lainnya itu
menggunakan alat rekam yang berbeda spesifikasinya.
Teknik ini juga dapat dijuluki dengan address space
dependent (tergantung pada alamat-alamat yang masih kosong), artinya, kita
tidak dapat begitu saja meng-copy data berkas ini ke komputer lainnya, karena
mungkin saja di komputer lainnya itu alamat-alamat yang dibutuhkan sudah tidak
tersedia lagi.
2.
Teknik Pencarian Tabel
Teknik ini dilakukan dengan cara, mengambil seluruh
kunci atribut dan alamat memori yang ada dan dimasukkan ke dalam tabel
tersendiri. Jadi tabel itu (misal disebut dengan tabel INDEX) hanya berisi
kunci atribut (misalkan NIM) yang telah disorting (diurut) dan alamat
memorinya.
Pencarian yang dilakukan di tabel INDEX akan lebih
cepat dilakukan dengan teknik pencarian melalui binary search. ketimbang
dilakukan secara sequential. Nilai key field (kunci atribut) bersifat address
space independent (tidak terpengaruh terhadap perubahan organisasi file-nya),
yang berubah hanyalah alamat yang ada di INDEX-nya.
3.
Teknik Kalkulasi Alamat
Perhitungan (kalkulasi) terhadap nilai kunci atribut
untuk mendapatkan nilai suatu alamat disebut dengan fungsi hash. Bisa juga
fungsi hash digabungkan dengan teknik pencarian lainnya, tetapi akan menjadi
lebih lama pengerjaannya dibanding hanya dengan satu jenis.
Teknik pengamalamatan ada beberapa jenis, yaitu immediate, direct, indirect,
register, register indirect, displacement, dan stack.
1. Immediate Addressing
immediate addressing merupakan pengalamatan yang paling sederhana. Operand
benar-benar ada dalam instruksi atau bagian dari instruksi operand sama dengan
field alamat. Umumnya bilangan akan disimpan dalam bentuk complement dua bit paling
kiri sebagai bit tanda ketika operand dimuatkan ke dalam register data, bit
tanda digeser ke kiri hingga maksimum word data.
Keuntungan :
- Tidak ada
referensi memori selain dari instruksi yang diperlukan untuk memperoleh operand
- Menghemat
siklus instruksi sehingga proses keseluruhanakan akan cepat
Kekurangan :
Kekurangan :
- Ukuran
bilangan dibatasi oleh ukuran field. Contohnya ADD 7 ; tambahkan 7 pada
akumulator
2. Direct Addressing
Teknik direct addressing banyak digunakan pada komputer lama dan komputer
kecil. Hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulus
khusus.
Kelebihan :
- Field
alamat berisi efektif address sebuah operand.
Kekurangan :
-
Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil
dibandingkan panjang word. Contoh : ADD A ; tambahkan isi pada lokasi alamat A
ke akumulator
3. Indirect Addressing
Indirect addressing merupakan mode pengalamatan tak langsung. Field alamat
mengacu pada alamat word di alamat memori, yang pada gilirannya akan berisi
alamat operand yang panjang.
Kelebihan :
- Ruang bagi
alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi.
Kekurangan :
Kekurangan :
- Diperlukan
referensi memori ganda dalam satu fetch sehingga memperlambat proses operasi.
Contoh : ADD (A) ; tambahkan isi memori yang ditunjuk oleh isi alamat A ke
akumulator.
4. Register Addressing
Metode pengalamatan register mirip dengan mode pengalamatan langsung. Perbedaanya
terletak pada field alamat yang mengacu pada register, bukan pada memori utama.
Field yang mereferensi register memiliki panjang 3 atau 4 bit, sehingga dapat
mereferensi 8 atau 16 register general purpose
Keuntungan :
- Diperlukan field alamat berukuran kecil dalam instruksi dan tidak diperlukan referensi memori
- Akses ke
register lebih cepat daripada akses ke memori, sehingga proses eksekusi akan
lebih cepat.
Kerugian :
- Ruang
alamat menjadi terbatas
5. Register
Indirect Addressing
Metode pengalamatan register tidak langsung mirip dengan mode pengalamatan
tidak langsung. Perbedaannya adalah field alamat mengacu pada alamat register. Letak
operand berada pada memori yang dituju oleh isi register. Keuntungan dan
keterbatasan pengalamatan register tidak langsung pada dasarnya sama dengan
pengalamatan tidak langsung. Keterbatasan field alamat diatasi dengan
pengaksesan memori yang tidak langsung sehingga alamat yang dapat direferensi
makin banyak. Dalam satu siklus pengambilan dan penyimpanan, mode pengalamatan
register tidak langsung hanya menggunakan satu referensi memori utama sehingga
lebih cepat daripada mode pengalamatan tidak langsung
6. Displacement
Addressing
Displacement addressing menggabungkan kemampuan pengalamatan langsung dan
pengalamatan register tidak langsung. Mode ini mensyaratkan instruksi memiliki
dua buah field alamat, sedikitnya sebuah field yang eksplisit. Operand berada
pada alamat A ditambahkan isi register.
Tiga model
displacement.
- Relative addressing : register yang direferensi
secara implisit adalah Program Counter (PC). Alamat efektif didapatkan dari
alamat instruksi saat itu ditambahkan ke field alamat. Memanfaatkan konsep
lokalitas memori untuk menyediakan operand-operand berikutnya.
- Base register addressing : register yang direferensi
berisi sebuah alamat memori dan field alamat berisi perpindahan dari alamat
itu. Referensi register dapat eksplisit maupun implisit memanfaatkan konsep
lokalitas memori.
- Indexing : field alamat mereferensi alamat
memori utama, dan register yang direferensikan berisi pemindahan positif dari
alamat tersebut yang merupakan kebalikan dari mode base register. Field alamat
dianggap sebagai alamat memori dalam indexing. Manfaat penting dari indexing
adalah untuk eksekusi program-program iteratif. Contoh : Field eksplisit
bernilai A dan field imlisit mengarah pada register
7. Stack
Addressing
Stack merupakan blok lokasi yang terbaik. Yang berkaitan dengan stack
adalah pointer yang nilainya merupakan alamat bagian paling atas stack. Dua
elemen teratas stack berada di dalam register CPU, dalam hal ini stack pointer
mereferensi ke elemen ketiga stack. Stack pointer tetap berada dalam register. Dengan
demikian, referensi-referensi ke lokasi stack di dalam memori pada dasarnya
merupakan pengalamatan register tidak langsung.
C. Desain Set Instruksi
Dalam mendesain set instruksi banyak melibatkan aspek
sehingga hal tersebut sangatlah kompleks. Aspek yang terlibat diantaranya :
1.
Kelengkapan Set Instruksi
2.
Ortogonalitas
3.
Kompabilitas
4. Operation
Repertoire
5. Data
Types
6.
Instruction Format
7. Register
8.
Addressing Mode
Referensi :
Komentar
Posting Komentar