Rabu, 19 November 2014

SET INSTRUKSI

SET INSTRUKSI

Set instruksi (instruction set) merupakan sekumpulan lengkap instruksi yang dapat dimengerti oleh sebuah CPU, disebut juga machine code (bahasa mesin), aslinya juga berbentuk biner atau bahasa assembly. Untuk konsumsi manusia (programmer), biasanya digunakan representasi yang lebih mudah dimengerti manusia.
Contoh Simbolik Instruksi
  • ADD : Add (Penjumlahan)
  • SUB : Subtract (Pengurangan)
  • MPY/MUL : Multiply (Perkalian)
  • DIV : Divide (Pembagian)
  • 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
Cakupan Jenis Instruksi
  • Data processing : Aritmetik (ADD, SUB, dsb); Logic (AND, OR, NOT, SHR, dsb); Konversi data
  • Data storage (memory) : Transfer data (STOR, LOAD, MOVE, dsb)
  • Data movement : Input dan Output ke modul I/O
  • Program flow control : JUMP, HALT, dsb.
Karakteristik Instruksi Mesin
  • Instruksi mesin (machine instruction) yang dieksekusi membentuk suatu operasi dan berbagai macam fungsi CPU.
  • Kumpulan fungsi yang dapat dieksekusi CPU disebut set instruksi (instruction set) CPU.
  • Mempelajari karakteristik instruksi mesin, meliputi :
    • Elemen-elemen instruksi mesin
    • Representasi instruksinya
    • Jenis-jenis instruksi
    • Penggunaan alamat
    • Rancangan set instruksi
 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
Representasi Instruksi
  • Instruksi komputer direpresentasikan oleh sekumpulan bit. Instruksi dibagi menjadi beberapa field.
  • Field-field ini diisi oleh elemen-elemen instruksi yang membawa informasi bagi operasi CPU.
  • Layout instruksi dikenal dengan format instruksi.
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.

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


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 Operasi Komputer
  • Transfer data. - Konversi
  • Aritmetika. - Input/Output
  • Logika. - Kontrol sistem dan transfer kontrol


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.
Masalah rancangan yang fundamental meliputi :
  • Operation repertoire :
    • Berapa banyak dan operasi-operasi apa yang harus tersedia.
    • Sekompleks apakah operasi itu seharusnya.
  • Data types :
    • Jenis data.
    • Format data.
  • Instruction format :
    • Panjang instruksi.
    • Jumlah alamat.
    • Ukuran field.
  • Registers :
    • Jumlah register CPU yang dapat direferensikan oleh instruksi, dan fungsinya.
  • Addressing :
    • Mode untuk menspesifikasi alamat suatu operand.
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).
Jadi, yang kita pelajari adalah bagaimana kira-kira si software tersebut melakukan teknik pengalamatannya, sehingga data yang sudah kita berikan dapat disimpan di alamat memori tertentu dan dapat diambil kembali dengan tepat.
Ada tiga teknik dasar untuk pengalamatan, yakni
·    Pemetaan langsung (direct mapping) yang terdiri dari dua cara yakni Pengalamatan Mutlak (absolute addressing) dan Pengalamatan relatif (relative addressing),
·         Pencarian Tabel (directory look-up), dan
·         Kalkulasi (calculating)

Pemetaan Langsung
Teknik ini dapat dijuluki dengan device dependent (tergantung pada peralatan rekamnya), artinya, kita tidak dapat begitu saja meng-copy data berkas ini 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.

     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 (dibagi dua-dua, ada di mata kuliah Struktur dan Organisasi Data 2 kelak) 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.

      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 seperti tabel di atas, tetapi akan menjadi lebih lama pengerjaannya dibanding hanya dengan satu jenis saja (fungsi hash saja atau pencarian tabel saja).



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).

 
  • Kode operasi (op code) direpresentasikan dengan singkatan-singkatan, yang disebut mnemonic.
  • Mnemonic mengindikasikan suatu operasi bagi CPU.
  • Contoh mnemonic adalah :
    • ADD = penambahan
    • SUB = substract (pengurangan)
    • LOAD = muatkan data ke memori

Referensi :
Wikipedia Instruksi Pada Komputer

Wikipedia CPU (Central Processing Unit)