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.
Gambar terkait

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 :
- 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 :
- 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

Postingan populer dari blog ini

PIPELINING dan RISC

PARALEL PROCESSING