Karakteristik Set Intruksi
Karakteristik Set Intruksi |
ELEMEN-ELEMEN INTRUKSI
CPU tidak akan melakukan operasi tertentu tanpa adanya sebuah instruksi sebagai nilai input yang itunjukkan kepada CPU. Setiap proses kerja yang dilakukan oleh CPU berdasarkan perintah atau instruksi-instruksi yang diterimanya. Instruksi tersebut merupakan perintah atau kode dalam bahasa mesin atau lebih dikenal sebagai machine instructions.
Agar dapat dieksekusi, setiap instruksi harus berisi informasi yang diperlukan oleh CPU. Informasi itu dituangkan dalam elemen-elemen instruksi:
Operation Code/Kode Operasi: menspesifikasikan operasi yang akan dilakukan (misalnya, ADD).
- Operasi dispesifikasikan oleh kode biner, yang dikenal sebagai kode operasi, atau opcode.
- Source Operand Reference/Referensi Operand Sumber: operasi dapat mencakup satu atau lebih sumber, operand merupakan input bagi operasi.
- Result Operand Reference/Reference Operand Hasil: operasi dapat membuat hasil operasi.
- Next Instruction Reference/Reference Operand Selanjutnya: elemen ini memberitahu CPU posisi instruksi berikutnya yang harus diambil setelah menyelesaikan eksekusi suatu instruksi.
- Memori utama atau memori virtual: dengan referensi alamat berikutnya, maka alamat memori utama atau virtual harus diketahui.
- Register CPU: instruksi harus diberi nomor register yang dimaksud.
- Perangkat I/O: instruksi harus menspesifikasikan modul I/O yang diperlukan oleh operasi.
Representasi Instruksi
Dalam komputer, instruksi direpresentasikan oleh sekumpulan bit. Dalam penulisan format instruksi (instruction format) biasanya dibagi dalam beberapa kolom berkaitan dengan elemen-elemen yang akan mengisi instruksi.
Apa Itu Mnemonic? Adalah singkatan-singkatan yang mengindikasikan suatu operasi yang merupakan representasi dari opcode.
Operand juga dapat direpresentasikan secara simbolik.
Misalnya:
Mnemonic Operand
Artinya tambahkan nilai lokasi Y ke isi register R pemrogram dapat mendahului dengan definisi-definisi: X = 513,Y = 514, dst. Program akan mengkonversikan opcode dan referensi operand menjadi bentuk biner, akhirnya akan membentuk instruksi mesin biner.
TIPE atau JENIS-JENIS INTRUKSI
1. Data procecessing: Arithmetic dan Logic Instructions
Data processing adalah jenis pemrosesan yang dapat mengubah data menjadi informasi atau pengetahuan.Pemrosesan data ini sering menggunakan komputer sehingga bisa berjalan secara otomatis.Setelah diolah, data ini biasanya mempunyai nilai yang informatif jika dinyatakan dan dikemas secara terorganisir dan rapi, maka istilah pemrosesan data sering dikatakan sebagai sistem informasi.
Kedua istilah ini mempunyai arti yang hampir sama, pemrosesan data mengolah dan memanipulasi data mentah menjadi informasi (hasil pengolahan), sedangkan sistem informasi memakai data sebagai bahan masukan dan menghasilkan informasi sebagai produk keluaran.
2. Data Storage: Memory Instructions
Sering disebut sebagai memori komputer, merujuk kepada komponen komputer, perangkat komputer, dan media perekaman yang mempertahankan data digital yang digunakan untuk beberapa interval waktu.Penyimpanan data komputer menyediakan salah satu tiga fungsi inti dari komputer modern, yakni mempertahankan informasi.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.
3. Data Movement: I/O Instructions
Proses data movement ini adalah memindahkan (dapat diakatakan membackup juga) data - data dari database yang berupa data, indeks, grand, schema, dan lain - lain ketempat baru. Tempat baru ini bisa ke dalam database baru atau memang untuk dibackup saja.
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]
Jika dilihat, load tersebut behubungan dengan import dan upload berhubungan dengan export Load berfungsi untuk memasukan data / transaksi ke sebuah table. Dapat dikatakan juga insert, replace, atau update. Sedangkan upload berfungsi untuk membuat dari data table ke fisik / file. Kelemahan load adalah dalam prosesnya bisa saja terjadi data yang tidak berpindah secara sempurna.
- Limit [membatasi beberapa record]
- Sample [mencari sample yang telah ditentukan]
- When [berdasarkan kondisi]
- ETL [Extrat Transform Load], software yang focus terhadap data warehouse
- Replication and Propagation, software yang memonitoring source database dan target, dan yang dihasilkan oleh software ini adalah pencatatatn log.
- Autonomi [idependent], untuk tabel umum akses yang diberikan berbeda dari setiap user.
- Isolation [stand alone], untuk tabel khusus (privacy) itu terpisah dari user.
- Transparancy [all user], akses tabel terpisah dari user tetapi user masih dapat mengaksesnya.
4. Control: Test and Branch Instructions
Unit kendali (bahasa Inggris: Control Unit - CU) adalah salah satu bagian dari CPU yang bertugas untuk memberikan arahan/kendali/ kontrol terhadap operasi yang dilakukan di bagian ALU (Arithmetic Logical Unit) di dalam CPU tersebut. Output dari CU ini akan mengatur aktivitas dari bagian lainnya dari perangkat CPU tersebut.
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 masingmasing, dengan CU sebagai pemantaunya (supervisor).
TIPE-TIPE OPERAND
1. Pengertian Operand
Operand adalah sebuah objek yang ada pada operasi matematika yang dapat digunakan untuk melakukan operasi. Operand atau operator dalam bahasa C berbentuk simbol bukan berbentuk keyword atau kata yang biasa ada di bahasa pemrograman lain. Simbol yang digunakan bukan karakter yang ada dalam abjad tapi ada pada keyboard kita seperti = ,* dan sebagainya.
2. Tipe Operand
- Integer (-32768 s/d +32768) Bilangan atau angka yang tidak memiliki titik desimal atau pecahan seperti +10,-1024,+32767,+255. Tipe data ini dapat ditulisakan sebagai integer atau int. Operasi aritmatiknya terdiri dari : tambah +, kurang -, kali *, bagi /, sisa hasil bagi %. Operasi Pembandingan terdiri dari : lebih kecil <, lebih kecil atau sama , lebih besar atau sama >= .
- Long (-16 juta s/d16 juta)
- Byte (0 s/d 255)
- Double (3,7×10-308 s/d 3,7×10+308)
- Float (3,4×10-38 s/d 3,4×10+38)
- Array (larik)
- String
B. VARIABEL
Variabel adalah nama yang mewakili sutau elemen data seperti : jenkel untuk jenis kelamin, t4lahir untuk tempat lahir, alamat unutk alamat dan sebagainya.Ada aturan tertentu yang wajib diikuti dalam pemberian nama variabel, antara lain :
- Harus dimulai dengan abjad tidak boleh dengan angka atau simbol.
- Tidak boleh ada spasi diantaranya
- Jangan menggunakan simbol-simbol yang bisa membingungkan seperti titik dua, titik koma, kima, dan sebagainya.
- Sebaiknya memiliki arti yang sesuai dengan elemen data. Sebaiknya tidak terlalu panjang
C. OPERATOR DAN OPERAND
- Operator Aritmetika : Operator untuk melakukan fungsi aritmetika seperti : +(penjumlahan), – (mengurangkan), * (mengalikan), / (membagi).
- Operator relational : Operator untuk menyatakan relasi atau perbandingan antara dua operand, seperti > (lebih besr), =(lebih besar atau sama), <= (lebih kecil atau sama), == (sama), != (tidak sama).
- Operator Logik : Operator untuk merelasikan operand secara logis seperti && (and), || (or), !(not).
TIPE-TIPE OPERASI DATA
- Menetapkan lokasi operand sumber dan operand tujuan.
- Lokasi-lokasi tersebut dapat berupa memori, register atau bagian paling atas daripada stack.
- Menetapkan panjang data yang dipindahkan.
- 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.
- 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
- Transfer data sebelum atau sesudah.
- Melakukan fungsi dalam ALU.
- Menset kode-kode kondisi dan flag.
- ADD : penjumlahan
- SUBTRACT : pengurangan
- MULTIPLY : perkalian
- DIVIDE : pembagian
- ABSOLUTE
- NEGATIVE
- DECREMENT
- INCREMENT
- 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.
- TRANSLATE : menterjemahkan nilai-nilai dalam suatu bagian memori berdasrkan tabel korespodensi.
- CONVERT : mengkonversi isi suatu word dari suatu bentuk ke bentuk lainnya.
- Apabila memory mapped I/O maka menentukan alamat memory mapped
- Mengawali perintah ke modul I/O
- 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
- Mengupdate program counter untuk subrutin , call / return.
- JUMP (cabang) : pemindahan tidak bersyarat dan memuat PC dengan alamat tertentu.
- JUMP BERSYARAT : menguji persyaratan tertentu danmemuat 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 instruksi
- 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.
INTRUKSI PERCABANGAN
Alur Intruksi IF |
Alur Intruksi IF ELSE |
3. Nested If (Struktur If bersarang)
Konfigurasi Nested If |
Berikut ini cara membaca dari flowchart Nested if diatas :
Contoh soal Nested If |
Posting Komentar untuk "Karakteristik Set Intruksi"