Set Intruksi

PENDAHULUAN

Latar Belakang

Set Instruksi (bahasa Inggris: Instruction Set, atau Instruction Set Architecture (ISA)) didefinisikan sebagai 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).ISA merupakan sebuah spesifikasi dari Pullman semua kode-kode biner (opcode) yang diimplementasikan dalam bentuk aslinya (native form) dalam sebuah desain prosesortertentu. 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.ISA kadang-kadang digunakan untuk membedakan kumpulan karakteristik yang disebut di atas dengan mikroarsitektur prosesor, yang merupakan kumpulan teknik desain prosesor untuk mengimplementasikan set instruksi (mencakup microcode, pipeline, sistem cache, manajemen daya, dan lainnya). 

Tujuan

Mengetahui apa itu yang dimaksud dengan karakteristik Instruksi Mesin.Mengetahui tipe operand dan operasi pada set instruksi.Mengetahuin Pengamatan dan format pada instruksi


PEMBAHASAN

Pengertian Set Instruksi

Set instruksi adalah kumpulan dari instruksi yang dapat dijalankan oleh CPU. Pada bahasa mesin, setiap instruksi berbentuk pola bit biner. Disebut juga machine code (bahasa mesin), aslinya juga berbentuk biner atau bahasa assembly. Agar dapat dimengerti manusia, dibuatlah representasi simbolik yang biasanya berupa singkatan (disebut mnemonic)

Elemen-Elemen Instruksi

Sebuah instruksi harus terdiri dari:
  1. Operation Code (Opcode)
Merupakan kode operasi yang menspesifikasikan operasi yang akan dilakukan. Kode operasi berbentuk kode biner.
  1. Source Operand Reference
Merupakan sumber dari operand (input instruksi).
  1. Result Operand Reference
Merupakan hasil atau keluaran operasi.
  1. Next Instruction Reference
elemen ini menginformasikan CPU posisi instruksi berikutnya yang harus diambil dan dieksekusi

 Jenis-Jenis Instruksi

  1. Pengolahan data (data processing)
Merupakan tipe instruksi yang meliputi operasi-operasi aritmatika dan logika. Operasi aritmatika memiliki kemampuan komputasi untuk pengolahan data numerik.Sedangkan instruksi logika beroperasi terhadap bit-bit word sebagai bit, bukannya sebagai bilangan, sehingga instruksi ini memiliki kemampuan untuk pengolahan data lain.
  1. Perpindahan data (data movement)
Merupakan tipe instruksi yang berisi instruksi perpindahan data antar register maupun modul I/O. untuk  dapat diolah oleh CPU maka diperlukan instruksi-instruksi yang bertugas memindahkan data operand yang diperlukan. Data movement terdiri dari 2 bagian besar yaitu :
• Load & Upload difokuskan untuk memindahkan data yang berupa indeks atau data itu sendiri alias isi dari database tersebut
• Export & Import memindahkan data secara lengkap, mulai dari grand, schema, dan seluruhnya 
  1. Penyimpanan data (data storage)
Merupakan tipe instruksi yang berisi instruksi-instruksi penyimpanan ke memori.Instruksi penyimpanan sangat penting dalam operasi komputasi, karena data tersebut akan digunakan untuk operasi berikutnya. Ia merupakan salah satu komponen fundamental yang terdapat di dalam semua komputer modern, dan memiliki keterkaitan dengan mikroprosesor, dan menjadi model komputer yang digunakan semenjak 1940-an.
Dalam penggunaan kontemporer, memori komputer merujuk kepada bentuk media penyimpanan berbahan semikonduktor, yang dikenal dengan sebutan Random Access Memory (RAM), dan kadang-kadang dalam bentuk lainnya yang lebih cepat tapi hanya dapat menyimpan data secara sementara. Akan tetapi, istilah “computer storage” sekarang secara umum merujuk kepada media penyimpanan massal, yang bisa berupa cakram optis, beberapa bentuk media penyimpanan magnetis (seperti halnya hard disk) dan tipe-tipe media penyimpanan lainnya yang lebih lambat ketimbang RAM, tapi memiliki sifat lebih permanen, seperti flash memory.
  1. Kontrol aliran program (program flow control)
Merupakan tipe instruksi yang Berisi instruksi pengontrolan operasi dan percabangan. Instruksi ini berfungsi untuk pengontrolan status dan mengoperasikan percabangan ke set instruksi lain.
Pada awal-awal desain komputer, CU diimplementasikan sebagai ad-hoc logic yang susah untuk didesain. Sekarang, CU diimplementasikan sebagai sebuah microprogram yang disimpan di dalam tempat penyimpanan kontrol (control store). Beberapa word dari microprogram dipilih oleh microsequencer dan bit yang datang dari word-word tersebut akan secara langsung mengontrol bagian-bagian berbeda dari perangkat tersebut, termasuk di antaranya adalah register, ALU, register instruksi, bus dan peralatan input/output di luar chip. Pada komputer modern, setiap subsistem ini telah memiliki kontrolernya masing-masing, dengan CU sebagai pemantaunya (supervisor).

 Tipe-Tipe Operasi


  1. Transfer Data

Jenis instruksi mesin yang paling penting adalah instruksi transfer data karena transfer data 
Dalam hal tindakan CPU, mungkin operasi transfer data merupakan jenis operasi yang paling sederhana. Tindakan CPU untuk melakukan transfer data adalah :
1. Menetapkan lokasi operand sumber dan operand tujuan.
2. Lokasi-lokasi tersebut dapat berupa memori, register atau bagian paling atas daripada stack.
3. Menetapkan panjang data yang dipindahkan.
4. Menetapkan mode pengalamatan.
Memindahkan data dari satu lokasi ke lokasi lain.
Apabila memori dilibatkan :
  • Menetapkan alamat memori.
  • Menjalankan transformasi alamat memori virtual ke alamat memori aktual.
  • 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
  1. Arithmetic
Tindakan CPU untuk melakukan operasi arithmetic :
  • Transfer data sebelum atau sesudah.
  • Melakukan fungsi dalam ALU.
  • Menset kode-kode kondisi dan flag.
Operasi set instruksi untuk arithmetic :
  • ADD : penjumlahan
  • SUBTRACT : pengurangan
  • MULTIPLY : perkalian
  • DIVIDE : pembagian
  • ABSOLUTE
  • NEGATIVE
  • DECREMENT
  • INCREMENT
Absolute, Negative, Decreament, dan Increament merupakan instruksi operand tunggal.
  1. Logical
Tindakan CPU sama dengan arithmetic.
Operasi set instruksi untuk operasi logical :
  • AND, OR, NOT, EXOR
  • COMPARE    : melakukan perbandingan logika.
  • TEST              : menguji kondisi tertentu.
  • SHIFT        : operand menggeser ke kiri atau kanan menyebabkan konstanta pada ujung bit.
  • ROTATE         : operand menggeser ke kiri atau ke kanan dengan ujung yang terjalin.
  1. 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 :
  • TRANSLATE : menterjemahkan nilai-nilai dalam suatu bagian memori berdasarkan tabel   korespodensi.
  • CONVERT : mengkonversi isi suatu word dari suatu bentuk ke bentuk lainnya.
  1. Input / Output
Tindakan CPU untuk melakukan INPUT /OUTPUT :
  • Apabila  memory mapped I/O maka menentukan alamat memory mapped
  • Mengawali perintah ke modul I/O
Operasi set instruksi Input / Ouput :
  • INPUT : memindahkan data dari pernagkat I/O tertentu ke tujuan
  • OUTPUT : memindahkan data dari sumber tertentu ke perangkat I/O
  • START I/O : memindahkan instruksi ke prosesor I/O untuk mengawali operasi I/O
  • TEST I/O : memindahkan informasi dari sistem I/O ke tujuan
  1. Transfer Control
Tindakan CPU untuk transfer control yaitu mengupdate program counter untuk subrutin , call / return.
Operasi set instruksi untuk transfer control :
  • JUMP (cabang) : pemindahan tidak bersyarat dan memuat PC dengan alamat tertentu.
  • JUMP BERSYARAT : menguji persyaratan tertentu dan memuat PC dengan alamat tertentu atau tidak melakukan apa tergantung dari persyaratan.
  • JUMP SUBRUTIN : melompat ke  alamat tertentu.
  • RETURN : mengganti isi PC dan register lainnya yang berasal dari lokasi tertentu.
  • EXECUTE : mengambil operand dari lokasi tertentu dan mengeksekusi sebagai instruk
  • SKIP : menambah PC sehingga melompati instruksi berikutnya.
  • SKIP BERSYARAT : melompat atau tidak melakukan apa-apa berdasarkan pada persyaratan
  • HALT : menghentikan eksekusi program.
  • WAIT (HOLD) : melanjutkan eksekusi pada saat persyaratan dipenuhi.
  • NO OPERATION : tidak ada operasi yang dilakukan
  1. 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.

Pengalamatan

Metode pengalamatan adalah bagaimana cara menunjuk dan  mengalamati suatu lokasi memori pada  sebuah alamat di mana operand akan diambil. Mode pengalamatan diterapkan pada set instruksi, pengalamatan memberikan fleksibilitas khusus yang sangat penting.  Program biasanya ditulis dalam bahasa tingkat tinggi. Pada saat mentranslasi program bahsa tingkat tinggi menjadi bahasa assembly, compiler harus mampu mengimplimentasi konstruksi ini menggunakan fasilitas yang disediakan dalam set instruksi computer dimana program akan dijalankan.
            Terdapat 6 mode pengalamatan, yaitu direct, indirect, register, register indirect, immediate, displacement dan stack.
1. Direct Addresing
            Dalam mode pengalamatan direct addressing, harga yang akan dipakai diambil langsung dalam alamat memori lain. Contohnya: MOV A,30h. Mode pengalamatan ini cukup cepat, meskipun harga yang didapat tidak langsung seperti immediate, namun cukup cepat karena disimpan dalam RAM internal. Demikian pula akan lebih mudah menggunakan mode ini daripada mode immediate karena harga yang didapat bisa dari lokasi memori yang mungkin variabel.
Kelebihan :
Field alamat berisi efektif address sebuah operand
Kelemahan :
Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang word
2. Indirect Addresing
            Mode pengalamatan indirect addressing sangat berguna karena dapat memberikan fleksibilitas tinggi dalam mengalamati suatu harga. Mode pengalamatan indirect addressing selalu merujuk pada RAM internal dan tidak pernah merujuk pada SFR. 
Kelebihan :
Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi
Kekurangan :
Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat preoses operasi
3. Immediate Addresing
            Mode pengalamatan immediate addressing sangat umum dipakai. Dengan kata lain, tidak diperlukan pengambilan harga dari alamat lain untuk disimpan. Contohnya: MOV A,20h
 Keuntungan :
Tidak adanya referensi memori selain dari instruksi yang diperlukan untuk memperoleh operand
Menghemat siklus instruksi sehingga proses keseluruhan akan cepat
 Kekurangan :
 Ukuran bilangan dibatasi oleh ukuran field alamat
4. Register Addressing
            Register adalah merupakan sebagian memori dari mikro prosessor yang dapat diakses dengan kecepatan tinggi. Metode pengalamatan register ini  mirip dengan mode pengalamatan langsung. Perbedaannya terletak pada field alamat yang mengacu pada register, bukan pada memori utama. 
Keuntungan pengalamatan register :
Diperlukan field alamat berukuran kecil dalam instruksi dan tidak diperlukan referensi memori
Akses ke regster 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. Kelebihanan dan kekurangan pengalamatan register tidak langsung adalah 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 dan Stack Addresing
1.) Displacement Addressing
Displaceent Addresing adalah menggabungkan kemampuan pengalamatan langsung dan pengalamatan register tidak langsung. Mode ini mensyaratkan instruksi memiliki dua buah field alamat, sedikitnya sebuah field yang eksplisit. Field eksplisit bernilai A dan field implisit mengarah pada register.
            Ada tiga model displacement : Relative addressing, Base register addressing, Indexing
•      Relative addressing
            Register yang direferensi secara implisit adalah progra counter (PC). Alamat efektif relative addresing didapatkan dari alamat instruksi saat itu ditambahkan ke field alamat.
•      Base register addresing,
            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 ad
             Field alamat mereferensi alamat memori utama, dan register yang direferensikan berisi pemindahan positif dari alamat tersebut. Merupakan kebalikan dari mode base register. Field alamat dianggap sebagai alamat memori dalam indexing. Manfaat penting dari indexing adalah untuk eksekusi program-program iterative.
2.) Stack
          Stack adalah array lokasi yang linier = pushdown list = last-in-first-out. Stack merupakan blok lokasi yang terbalik. Butir ditambakan ke puncak stack sehingga setiap saat blok akan terisi secara parsial. Yang berkaitan dengan stack adalah pointer yang nilainya merupakan alamat bagian paling atas stack. Dua elemen teratas stack dapat berada di dalam register CPU, yang dalam hal ini stack pointer mereferensi ke elemen ketiga stack. Stack pointer tetap berada dalam register.


KESIMPULAN



Dapat ditarik kesimpulan bahwa instruksi-instruksi mesin harus mampu  mengolah data sebagai implementasi keinginan-keinginan kita
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.
Di dalam sebuah instruksi terdapat beberapa elemen-elemen instruksi:

·         Operation code (Op code)
·         Source Operand reference
·         Result Operand reference
·         Next Instruction Reference

Terdapat kumpulan unit set instruksi yang dapat digolongkan dalam jenis-jenisnya, yaitu :
·         
1.      Pengolahan data (data processing)
Meliputi operasi-operasi aritmatika dan logika, operasi aritmatika memiliki kemapuna komputasi untuk pengolahan data numrik, sedangkan instruksi logika beroperasi terhadap bit-bit, bukannya sebagi bilangan, sehingga insrtuksi ini memiliki kemampuan untuk pengolahan data lain.
·         
2.      Perpindahan data ( data movement)
Berisi instruksi perpindahan data antar register maupun modul I/O.untuk dapat diolah oleh CPU maka diperlukan operasi-operasi yang bertugas memindahkan data operand yang diperlukan.
·         
3.      Penyimpanan data ( data storage)
Berisi instruksi-instruksi penyimpanan ke memori, instruksi penyimpanan sangat penting dalam operasi komputasi, karena data tersebut akan digunakan untuk operasi berikutnya, minimal untuk ditampilkan pada layar harus diadakanpenyimpanan walaupun sementara
·         
4.      Control aliran program ( program flow control)

Berisi instruksi pengontrolan operasi dan pencabangan, instruksi ini berguna untuk pengontrolan status dan mengoperasikan pencabangan ke set instruksi lain.

DAFTAR PUSTAKA


Komentar

Postingan populer dari blog ini

Contoh Penerapan IT Service Management (ITSM)

Sikap Warga Negara Yang Baik Dalam Kasus Korupsi Berbagai Aparat Pemerintah