Karakteristik Set Instruksi 14 JP
Karakteristik Set Instruksi 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). Misal ADD, SUB, LOAD, dll. Sedangkan alamat operand direpresentasikan seperti : ADD A,B
Bahasa rakitan atau lebih umum dikenal sebagai Assembly adalahbahasa pemrograman tingkat rendah yang digunakan dalam pemrograman komputer, mikroprosesor, pengendali mikro, dan perangkat lainnya yang dapat diprogram.
Beberapa contoh simbolik instruksi dalam bahasa manusia : ADD : Add (Jumlahkan) SUB : Substract (Kurangkan) MUL : Multiply (kalikan) DIV : Devide (bagi) LOAD : Load (mengambil data dari register / memori) STOR : Store (simpan data ke register / memori) MOVE : Move (pindakhan data dari satu tempat ke tempat lain) SHR : shift kanan data SHL : shift kiri data, Dll
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
Tipe-Tipe Instruksi 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. 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.
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, minimal untuk ditampilkan pada layar harus diadakan penyimpanan walaupun sementara. 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.
Tipe-Tipe Operand Addresses Merupakan tipe inputan instruksi berupa alamat dari instruksi. Numbers : Merupakan tipe inputan instruksi berupa – Integer or fixed point => sebuah integer yang skala dengan faktor tertentu. Penting untuk dicatat bahwa faktor skala ditentukan oleh jenis, itu adalah sama untuk semua nilai dari jenis fixed-titik tertentu. – Floating point => sebuah bilangan yang digunakan untuk menggambarkan sebuah nilai yang sangat besar atau sangat kecil – Decimal (BCD) => sistem pengkodean bilangan desimal yang metodenya mirip dengan bilangan biner biasa; hanya saja dalam proses konversi, setiap simbol dari bilangan desimal dikonversi satu per satu, bukan secara keseluruhan seperti konversi bilangan desimal ke biner biasa.
Characters : Merupakan tipe inputan instruksi berupa – ASCII (American Standard Code for Information Interchange) => suatu standar internasional dalam kode huruf dan simbol seperti Hex dan Unicode tetapi ASCII lebih bersifat universal, contohnya 124 adalah untuk karakter “|”. Ia selalu digunakan oleh komputer dan alat komunikasi lain untuk menunjukkan teks. – EBCDIC (Extended Binary Coded Decimal Interchange Code) => kode 8 bit untuk huruf yang dipakai pada sistem operasi komputer merk IBM, seperti z/OS, OS/390, VM, VSE, OS/400, serta i5/OS Logical Data : Merupakan tipe inputan instruksi bila data berbentuk binary: 0 dan 1
Tipe-Tipe Operasi Transfer Data Tindakan CPU untuk melakukan transfer data adalah : Menetapkan mode pengalamatan. Menetapkan panjang data yang dipindahkan. Lokasi-lokasi tersebut dapat berupa memori, register atau bagian paling atas daripada stack. Menetapkan lokasi operand sumber dan operand tujuan. 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
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.
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.
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.
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
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
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.