Jumat, 22 Maret 2019

Karakteristik Instruksi Mesin


Operasi dari sebuah prosesor ditentukan oleh instruksi yang akan dieksekusi yang disebut dengan instruksi mesin atau instruksi komputerBerbagai macam instruksi yang dapat dieksekusi oleh prosesor disebut dengan processor instruction set.


 a.        Elemen Instruksi Mesin
       Setiap instruksi harus mengandung informasi yang dibutuhkan oleh prosesor untuk dieksekusi yang meliputi :
- Operation Code
Menentukan operasi yang akan dilakukan, contohnya (ADD, I/O). Operasi ini menggunakan kode biner yang disebut dengan operation code atau opcode.
- Source Operand Reference
Operasi dapat berasal dari satu atau lebih sumber operand. Operand (data) adalah input instruksi yang akan dieksekusi.
- Result Operand Reference
Merupakan hasil atau keluaran dari operasi yang telah dilaksanakan.
- Next Instruction Reference
Elemen ini menginformasikan kepada prosesor posisi instruksi berikutnya yang harus diambil dan dieksekusi setelah instruksi selesai dilaksanakan.
  Alamat instruksi berikutnya yang akan diambil merupakan salah satu alamatnyata atau alamat virtual tergantung dari arsitektur yang digunakan. Umumnya perbedaan yang ada adalah pada arsitektur set instruksinya. Pada beberapa kasus, instruksi berikutnya akan segera di ambil mengikuti instruksi yang sedang dieksekusi.Memori utama atau memori virtual harus menyediakan data ketika dibutuhkan.
Sumber dan hasil operand dapat berasal dari:
- Memori utama atau memori virtual
  Memori utama atau memori virtual harus menyediakan keterangan instruksi berikutnya yang akan dieksekusi.
- Register prosesor
  Pada kondisi tertentu, terdapat satu atau lebih register yang dijadikan referensi oleh instruksi mesin. Jika hanya terdapat satu register, maka hanya akan mengacu kepada register tersebut. Jika terdapat lebih dari satu register, maka setiap register diberi tanda yang unik berupa nama atau angka, dan setiap instruksi harus mengandung tanda tersebut.
- Immediate
  Isi dari operand terdapat pada instruksi yang sedang dieksekusi.
- I/O device
  Suatu instruksi harus menentukan modul I/O dan perangkat dari operasi yang akan digunakan

  
b.        Representasi Instruksi

       Instruksi yang ada pada komputer direpresentasikan oleh urutan bit. Instruksi dibagi dalam beberapa bagian yang saling berhubungan. Berikut ini adalah gambar contoh format instruksi.



  Terdapat lebih dari satu format instruction set. Selama instruksi dieksekusi, sebuah instruksi dibaca dari instruction register (IR) pada prosesor. Prosesor harus mampu mengekstrak data dari berbagai jenis instruksi untuk melakukan operasi yang diperlukan.
  Programer mengalami kesulitan dalam membaca instruksi mesin yang direpresentasikan dengan biner. Maka diperlukan simbol yang merepresentasikan instruksi mesin.
 Opcode direpresentasikan dengan singkatan yang menunjukkan operasi yang disebut mnemonics. Contohnya adalah:
ADD           Add
SUB             Subtract
MUL           Multiply
DIV             Divide
LOAD         Load data from memory

STOR          Store data to memory

Operand juga direpresentasikan menggunakan simbol. Contohnya:
  ADD R,Y
  Artinya isi dari data pada lokasi Y ditambahkan pada register R. Pada contoh ini, Y merupakan alamat lokasi pada memori dan R adalah register khusus. Operasi ini menambahkan isi dari sebuah lokasi bukan pada lokasinya.
Maka memungkinkan untuk menulis bahasa mesin menggunakan simbol. Setiap simbol opcode direpresentasikan dengan biner yang tetap dan programer menentukan lokasi dari setiap simbol operand. Contoh, programer mendefinisikan
X = 513
Y = 514
  Program akan menerima simbol yang dimasukkan, merubah opcode dan operand kedalam biner dan membuat instruksi mesin dalam biner. Bahasa mesin saat ini jarang sekali digunakan langsung oleh programer karena sudah banyak berkembang bahasa tingkat tinggi yang lebih mudah untuk digunakan. Namun, simbol dari bahasa mesin merupakan alat yang digunakan untuk mendefinisikan instruksi mesin yang digunakan untuk tujuan tertentu.

c.        Jenis Instruksi
       Pada bahasa tingkat tinggi, instruksi dapat dinyatakan menggunakan bahasa pemrograman seperti BASIC atau FORTRAN. Contoh:
X = X + Y
Statemen tersebut memnginstruksikan komputer untuk menambahkan isi dari Y dengan isi dari X dan disimpan pada X. Kita asumsikan variabel X dan Y berada pada lokasi 513 dan 514. Jika kita gunakan set instruksi mesin, maka operasi yang dilakukan adalah sebagai berikut:
1.    Isi sebuah register dengan data yang ada pada memori dilokasi 513
2.    Tambahkan isi memori dilokasi 514 ke register
3.    Simpan isi register ke memori dilokasi 513

Tipe instruksi yang ada dapat dibagi kedalam beberapa kategori yaitu:
1.    Dataprocessing
  Berupa instruksi aritmatika dan logika
2.    DataStorage
  Perpindahan data masuk atau keluar dari register dan atau memori
3.    DataMovement
  Instruksi input dan output
4.    Control

  Instruksi untuk pengujian dan percabangan

Desain Set Instruksi
       Salah satu hal yang menarik dalam mendesain sistem komputer adalah mendesain set instruksi. Desain set instruksi merupakan hal yang cukup komplek karena mempengaruhi berbagai aspek dalam sistem komputer. Dalam mendesain set instruksi, ada beberapa hal yang penting yang harus diperhatikan antara lain adalah:
1. Operation repertoire
  Berapa banyak seberapa kompleks operasi yang disediakan.
2.  Data types
  Tipe data apa saja yang didukung dalam operasi yang dilakukan
3Instruction format
  Panjang instruksi (dalam bit), jumlah alamat, ukuran berbagai field dan sebagainya
4.  Register
  Jumlah register yang dimiliki prosesor yang dapat direferensikan oleh instruksi dan yang digunakan
5.  Addressing

  Bagaiman pengalamatan dilakukan.

Tidak ada komentar:

Posting Komentar