Selasa, 18 Agustus 2015

Element - Element Instruksi

A.   Element - Element Instruksi

     
1. Operation Code (Opcode)
         Menspesifikasikan operasi yang akan dilakukan. Kode operasi berbentuk kode biner.
     2. Source Operand Reference
         Operasi dapat berasal dari lebih satu sumber. Operand adalah input instruksi.
     3. Result Operand Reference
         Merupakan hasil atau keluaran operasi.
     4. Next Instruction Reference
         Elemen ini menginformasikan CPU posisi instruksi berikutnya yang harus diambil dan dieksekusi

B.     Tipe-Tipe Intruksi

1.      Pengolahan Data (Data Processing)
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.

2.      Perpindahan Data (Data Movement)
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.

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 diadakan penyimpanan walaupun sementara.

4.      Kontrol aliran program (Program Flow Control)
Berisi instruksi pengontrolan operasi dan percabangan. Instruksi ini berfungsi untuk pengontrolan status dan mengoperasikan percabangan ke set instruksi lain.

C.    Tipe-Tipe Operand

1.      Addresses
2.      Numbers :
 – 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.)

3.      Characters :
 – 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

4.      Logical Data : Bila data berbentuk binary: 0 dan 1

D.   TIPE-TIPE OPERASI

1.      TRANSFER 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.
·         Tindakan CPU untuk melakukan transfer data adalah :
·         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
o   Operasi set instruksi untuk transfer data :
o   MOVE : memindahkan word atau blok dari sumber ke tujuan
o   STORE : memindahkan word dari prosesor ke memori.
o   LOAD : memindahkan word dari memori ke prosesor.
o   EXCHANGE : menukar isi sumber ke tujuan.
o   CLEAR / RESET : memindahkan word 0 ke tujuan.
o   SET : memindahkan word 1 ke tujuan.
o   PUSH : memindahkan word dari sumber ke bagian paling atas stack.
o   POP : memindahkan word dari bagian paling atas sumber
2.      ARITHMETIC

Tindakan CPU untuk melakukan operasi arithmetic :
1.      Transfer data sebelum atau sesudah.
2.      Melakukan fungsi dalam ALU.
3.      Menset kode-kode kondisi dan flag.

Operasi set instruksi untuk arithmetic :
1. ADD : penjumlahan                          5. ABSOLUTE
2. SUBTRACT : pengurangan              6. NEGATIVE
3. MULTIPLY : perkalian                    7. DECREMENT
4. DIVIDE : pembagian                        8. INCREMENT
Nomor 5 sampai 8 merupakan instruksi operand tunggal.

3.      LOGICAL

Tindakan CPU sama dengan arithmetic
Operasi set instruksi untuk operasi logical :
AND, OR, NOT, EXOR
2. COMPARE   : melakukan perbandingan logika.
3. TEST             : menguji kondisi tertentu.
4. SHIFT           : operand menggeser ke kiri atau kanan menyebabkan konstanta pada ujung bit.
5. ROTATE       : operand menggeser ke kiri atau ke kanan dengan ujung yang terjalin.

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


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



6.      TRANSFER CONTROL

Tindakan CPU untuk transfer control :
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

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

E.    Set Instruksi dalam Organisasi dan Arsitektur Komputer


1. Karakteristik Instruksi Mesin

Menurut Kamus Besar Bahasa Indonesia, Karakteristik adalah ciri-ciri khusus atau mempunyai sifat khas sesuai dengan perwatakan tertentu. Instruksi adalah perintah atau arahan (untuk melakukan suatu pekerjaan atau melaksanakan suatu tugas). Mesin adalah perkakas untuk menggerakkan, atau membuat sesuatu yang dijalankan dengan roda-roda dan digerakkan oleh tenaga manusia atau motor penggerak yang menggunakan bahan bakar minyak atau tenaga alam.

Jadi, karakteristik-karakteristik instruksi mesin adalah ciri-ciri khusus atau sifat khas yang dimiliki oleh instruksi-instruksi atau kode operasi dalam pemrograman komputer.. Operasi CPU ditentukan oleh instruksi-instruksi yang dieksekusinya. Instruksi-instruksi ini dikenal sebagai intruksi mesin atau instruksi computer. Set fungsi dari instruksi-instruksi yang berbeda yang dapat di eksekusi oleh CPU dikenal sebagai set instruksi CPU.

A. Elemen-elemen Instuksi Mesin

Setiap instruksi harus terdiri dari informasi yang diperlukan oleh CPU untuk dieksekusi. Gambar langkah-langkah yang terdapat dalam eksekusi instruksi dan bentuk elemen-elemen instruksi mesin, adalah sebagai berikut :


• Kode Operasi : menentukan operasi-operasi yang akan dilakukan (misalnya: ADD,I/O). Operasi itu dispesifilan oleh sebuah kode biner, dikenal sebagai kode operasi.

• Acuan Operand Sumber : Operasi dapat melibatkan satu atau lebih operand sumber, dengan kata lain, operand adalah input bagi operasi.

• Acuan Operand Hasil: Operasi dapat menghasilkan sebuah hasil.

• Acuan Instruksi Berikutnya: Elemen ini memberitahukan CPU posisi instruksi berikutnya yang harus diambil setelah menyelesaikan eksekusi suatu instruksi. Instuksi berikutnya yang akan diambil berada di memori utama atau pada system memori virtual, akan berada baik di dalam memori utama atau memori sekunder. Umumnya, instruksi yang akan segera diambil selanjutnya, berada setelah instruksi saat itu. Ketika acuan eksplisit dibutuhkan, maka alamat memori utama atau alamat memori virtual harus disiapkan. Operand sumber dan hasil dapat berada di salah satu dari ketiga daerah berikut ini:

• Memori Utama atau Memori Virtual: Dengan adanya acuan instruksi berikutnya, maka alamat memori utama atau memori virtual harus diketahui.

• Register CPU: Dengan suatu pengecualian yang jarang terjadi, CPU terdiri dari sebuah register atau lebih yang dapat diacu oleh instruksi-instruksi mesin. Bila hanya terdapat sebuah register saja, maka acuan ke instruksi tersebut dapat berbentuk implicit. Sedangkan jika terdapat lebih dari satu register, maka setiap register diberi nomor yang unik, dan instruksi harus terdiri dari nomor register yang dimaksud.

• Perangkat I/O: Instruksi harus menspesifikan modul I/O dan perangkat yang diperlukan oleh operasi. Jika digunakan I/O memori terpetakan, maka perangkat ini merupakan memori utama atau memori virtual.

B. Representasi Instruksi

Di dalam computer, instruksi dipresentasikan oleh sehimpunan bit. Himpunan bit ini dibagi menjadi beberapa bidang, dengan bidang-bidang ini berkaitan dengan elemen-elemen yang akan memuat instruksi. Layout instruksi ini dikenal sebagai bentuk instruksi. Contoh yang sederhana ditunjukkan pada gambar. Pada sebagian besar set instruksi, dapat digunakan lebih dari satu bentuk. Selama berlangsungnya eksekusi instruksi, instruksi dibaca ke dalam register instruksi yang terdapat dalam CPU. Untuk melakukan operasi yang diperlukan, CPU harus dapat mengeluarkan data dari berbagai bidang instruksi. Opcode direpresentasikan dengan singkatan-singkatan, yang disebut mnemorik, yang mengindikasikan operasi, contohnya adalah:

ADD Add (Menambahkan)
SUB Substract (Pengurangan)
MPY Multiply (Perkalian)
DIV Divide (Pembagian0
LOAD Muatkan data data dari memori
STOR Simpan data ke memori

Operand-operand juga direpresentasikan secara simbolik. Misalnya instruksi ADD R,Y Berarti tambahkan niali yang terdapat pada lokasi Y ke isi register R. Dalam contoh ini, Y berkaitan dengan alamat lokasi di dalam memori, dan R berkaitan dengan register tertentu. Perlu dicatat bahwa operasi dilakukan terhadap isi alamat, bukan terhadap alamatnya.

Sehingga adalah mungkin untuk menuliskan program bahasa mesin dalam bentuk simbolik. Setiap opcode simbolik memiliki representasi biner yang tetap, dan pemrograman dapat menetapkan masing-masing operand simbolik. Misalnya, pemrograman dapat memulainya dengan definisi-definisi:
X=523
Y=514
dan seterusnya. Sebuah program yang sederhana akan menerima input simbol ini, kemudian mengkonversiakn opcode dan acuan operand menjadi bentuk biner, dan akhirnya membentuk instruksi mesin biner.
F.    FLOWCHART
1. Flowchart adalah bagan-bagan yang mempunyai arus menggambarkan langkah-langkah  penyelesaian suatu masalah
 
2. Merupakan cara penyajian dari suatu algoritma

3. Ada 2 macam flowchart :
- System flowchart adalah urutan proses dalam system dengan menunjukkan      alat media input, output serta jenis penyimpanan dalam proses pengolahan data.
- Program flowchart adalah urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah dalam suatu program.

Symbol-symbol dalam FlowChart :
 



Contoh penyelesaian masalah algoritma menggunakan FlowChart :

1. Algoritma kelulusan mahasiswa
Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60maka mahasiswa tersenut dinyatakan lulus, jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus.
Deskripsi:
Baca nama dan nilai mahasiswa
            Jika nilai > = 60 maka
            Keterangan = lulus
            Tetapi jika salah
            Keterangan = tidak lulus
            Tulis nama dan keterangan.

Tahapan Pembuatan Program:
1.  Mendefinisikan masalah dan menganalisanya. Mencangkup : tujuan pembuatan, parameter yang digunakan, fasilitas yang disediakan, algoritma yang diterapkan, dan bahasa pemrograman yang digunakan.
2.  Merealisasikan dengan langkah-langkah sebagai berikut :


Tidak ada komentar:

Posting Komentar