Operasi dari sebuah prosesor ditentukan oleh instruksi yang akan dieksekusi yang disebut dengan instruksi mesin atau instruksi komputer. Berbagai 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
3. Instruction
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