Jenis Operan dan Jenis Operasi Instruksi Mesin

17.09.00 Unknown 0 Comments





Instruksi mesin komputer adalah Instruksi-instruksi yang dieksekusi oleh CPU yang dapat melakukan bermacam-macam fungsi.
Elemen-elemen instruksi mesin
1.   Operation Code (Opcode), kode operasi: menspesifikasikan operasi yang akan dilakukan, dimana operasi ini dispesifikasikan oleh kode biner.
2.   Source Operand Reference, referensi perand sumber: operasi dapat mencakup satu atau lebih operand sumber, operand merupakan input bagi operasi.
3.   Result Operand Reference, referensi operand hasil: operasi harus dapat membuat hasil operasi.
4.   Next Instruction Reference, referensi operand berikutnya, adalah elemen yang memberitahu CPU posisi instruksi berikutnya yang harus diambil setelah menyelesaikan eksekusi atau instruksi.

Sumber dan hasil operan dapat berada disalah satu dari daerah berikut:
1.    Main memori , virtual memori : dengan adanya referensi instruksi berikutnya maka alamat memori utama atau virtual memori harus dikatahui.
2.    Register CPU : berisi sejumlah register atau lebih yang dapat direferensikan oleh instruksi-instruksi mesin.
3.    I/O device, peralatan I/O: instruksi harus menspesifikasikan modul I/O dan perangkat yang diperlukan oleh operasi.

Jenis instruksi
Set instruksi mesin harus dapat mengekspresikan setiap instruksi bahasa tingkat tinggi. Jenis–jenis instruksi digolongkan sebagai berikut:
1.      Data processing, data pengolah : instruksi –instruksi aritmetika dan logika.
2.      Data storage, penyimpan data : instruksi memori.
3.      Data movement, perpindahan data : instruksi I/O.
4.      Control : instruksi pemeriksaan dan pencabangan.

Faktor yang penting dalam  rancangan set instruksi:
1.  Repertoir operasi, berapa banyak dan operasi apa sajayang harus disediakan.
2.  Type/jenis data, berbagai jenis data pada saat operasi dijalankan.
3.  Register, jumlah register CPU yang direferensikan oleh instruksi dan apa fungsinya.
4.  Addressing/pengalamatan: mode untuk menspesifikasikan alamat suatu operand.  
JENIS OPERAND
Instruksi mesin melakukan operasi terhadap data. Pada umumnya data dikategorikan ke dalam angka, karakter dan data logika.
a.  Angka
Setiap bahasa mesin mengandung tipe data numerik. Umunya terdapat tiga tipe data angka yang ada pada komputer yaitu: Binary integer; Binary floating point; Desimal
Semua operasi pada internal komputer berupa data biner, namun user berinteraksi dengan bilangan desimal. Maka perlu dilakukan konversi dari desimal ke bilangan biner pada input dan konversi dari biner ke desmimal pada output. Bilangan desimal direpresentasikan dalam 4 bit kode biner maka 0=0000, 1=0001,...,8=1000, 9=1001. Sedangkan untuk desimal 246 = 0000 0010 0100 0110. Untuk bilangan negatif direpresentasikan dengan 4 bit yang diletakkan pada awal atau akhir string. Standar tanda yang digunakan adalah 1100 untuk bilangan positif dan 1101 untuk tanda bilangan negatif.

b.  Karakter
Umumnya bentuk data adalah teks atau kumpulan karakter. Sedangkan sistem komputer didesain untuk data biner. Maka sejumlah kode dalam urutan bit perlu di tentukan untuk merepresentasikan sebuah karakter. Saat ini standar kode yang digunakan untuk merepresentasikan karakter adalah American Standart Code for Information Interchange(ASCII). Setiap karakter pada kode ASCII direpresentasikan dengan 7 bit biner yang unik. Maka terdapat 128 karakter yang berbeda yang dapat direpresentasikan. Selain itu juga ada yang menggunakan Extended Binary Coded Decimal Interchange Code (EBCDIC) yang digunakan oleh IBM mainframe.

c.   Data logika
Pada umumnya setiap word atau yang lain merupakan satu unit data yang masing masing unit data memiliki nilai 0 atau 1. Ketika dipandang dengan cara ini, maka data tersebut dianggap sebagai data logika. Data logika hanya bernilai true “1” atau false “0”.

JENIS OPERASI
Jumlah opcode dari sebuah mesin ke mesin lain beragam. Akan tetapi tipe operasi-operasi umum akan sama untuk semua mesin. Berikut dikategorikan operasi berdasarkan fungsi dan tipenya:
a.  Transfer data
b.  Aritmatikaa
c.   Logika
d.  Konversi
e.  Input/output
f.    Kendali sistem
g.  Kendali transfer
Contoh Instruksi Umum Pada CPU
No
Tipe
Instruksi
Nama
Aksi
1
Transfer data
MOVE
Mentransfer data dari lokasi sumber ke lokasi tujuan
LOAD
Mentransfer data dari lokasi memori ke register CPU
STORE
Mentransfer data dari register CPU ke lokasi memori
PUSH
Mentransfer data dari sumber ke stack
POP
Mentransfer data dari stack ke tujuan
XCHG
Saling menukar isi sumber dan tujuan
CLEAR
Me-reset tujuan dengan semua bit ‘0’
SET
Mengeset tujuan dengan semua bit ‘1’
2
Aritmatika
ADD
Penjumlahan, hitung jumlah dari 2 operan
SUB
Pengurangan, hitung selisih dari 2 operan
MUL
Perkalian, hitung hasil kali dari 2 operan
DIV
Pembagian, hitung hasil bagi dari 2 operan
NEG
Negasi, ganti tanda operan
INC
Tambahkan 1 pada operan
DEC
Kurangkan 1 dari operan
SHIFT A
Geser operan (kekiri atau kekanan) dengan tanda
3
Logika
NOT
Komplemenkan (komplemen 1) operan
OR
Lakukan operasi logika OR pada operan
AND
Lakukan operasi logika AND pada operan
XOR
Lakukan operasi logika XOR pada operan
SHIFT
Geser operan (kekiri atau kekanan), isi nilai pada ujung bit
ROT
Geser operan (kekiri atau kekanan) dengan berputar
TEST
Uji kondisi yang ditetapkan dan pengaruhi flag yang sesuai
4
Kendali Transfer
JUMP
Perpindahan tak bersyarat, masukkan alamat yang ditetapkan ke PC
JUMPIF
Perpindahan bersyarat, masukkan alamat yang ditetapkan ke PC jika kondisi terpenuhi
JUMPSUB
CALL, simpan ‘status program control’ yang sekarang, pindah kealamat yang ditetukan ke PC
RET
RETURN, restore ‘status program control’ dari stack ke PC dan register/flag yang relevan lainnya
5
Input/Output
IN (read)
Mentransfer data dari perangkat atau port i/o yang ditentukan ke tujuan (memori utama atau register)
OUT (write)
Mentransfer data dari sumber yang ditentukan ke perangkat atau port i/o
START I/O
Mentransfer instruksi ke prosesor i/o untuk menginisiasi operasi i/o
TEST I/O
Mentransfer informasi status dari sistem i/o ke instruksi yang ditentukan
6
Konversi
TRANSLATE
Menterjemahkan nilai-nilai dalam suatu bagian memori berdasarkan tabel korespodensi
CONVERT
Mengkonversi isi suatu word dari suatu bentuk ke bentuk lainnya (contoh decimal ke biner)

a.  Transfer data
Tipe instruksi mesin yang paling dasar yaitu instruksi transfer data. Pada instruksi transfer data harus ditentukan beberapa hal. Pertama, penentuan lokasi sumber dan tujuan dari operan.Lokasinya dapat terletak di memori, register atau stack. Kedua, panjang data yang akan ditransfer harus diketahui. Ketiga, sama untuk semua instruksi dengan operan, cara pengalamatannya harus ditentukan.
Dari sisi aksi prosesor, operasi transfer data mungkin merupakan tipe yang paling sederhana. Jika kedua-duanya baik sumber maupun tujuan adalah register, maka  prosesor hanya menyebabkan data dipindahkan dari satu register ke register lain (operasi internal prosesor). Jika salah satu atau kedua operan berada dalam memori, maka prosesor harus melakukan beberapa atau semua tindakan berikut.
1. Menghitung alamat memori, berdasarkan mode pengalamatan ( dibahas di bagian selanjutnya)
2.       Jika alamat mengacu pada virtual memori, menerjemahkan dari alamat memori virtual ke alamat memori sebenarnya/fisik.
3.       Menentukan apakah operan yang dituju ada di dalam chace
4.       Jika tidak, berikan perintah ke modul memori.

b.  Aritmatika
Kebanyakan mesin menyediakan operasi aritmatika/perhitungan dasar  seperti tambah, kurang, kali, dan bagi. Dimana operasi tersebut disediakan untuk menangani bilangan integer bertanda (fixed-point), juga bilangan floating point atau desimal.
Eksekusi instruksi aritmatika dapat melibatkan operasi transfer data untuk menempatkan operan dari input ke ALU, dan untuk mengantarkan output dari ALU.

c.  Logika
Kebanyakan mesin juga menyediakan berbagai operasi untuk memanipulasi setiap bit dari sebuah word atau unit (yang dapat diberi alamat) lainnya, operasi ini juga di sebut "bit twiddling". Bit-bit tersebut didasarkan pada operasi boolean. Beberapa operasi logika dasar dapat dilakukan pada data boolean atau biner yang ditunjukkan pada tabel berikut.
Contoh Operasi Logika Dasar

d.  Konversi
Instruksi konversi adalah instruksi-instruksi yang mengubah format atau beroperasi pada format data. Contohnya yaitu mengkonversi dari desimal ke biner.

e.  Input/Output
Beberapa pendekatan I/O yang bisa diambil, diantaranya programmed I/O (isolated&memory mapped), DMA, dan penggunaan prosesor I/O. Implementasi instruksi I/O banyak dilakukan dengan hanya menyediakan beberapa instruksi I/O, dengan tindakan spesifik yang ditentukan oleh parameter, kode, atau kata perintah.

f.    Kendali Sistem
Instruksi kendali sistem adalah instruksi yang dapat dieksekusi hanya ketika prosesor dalam keadaan tertentu atau mengeksekusi program pada area khusus dalam memori. Biasanya, instruksi ini dipesan untuk digunakan sistem operasi. Contoh Sebuah instruksi kendali sistem boleh membaca atau mengubah kendali register; instruksi untuk membaca atau memodifikasi penyimpanan protection key, seperti yang digunakan pada sistem memori EAS/390; akses untuk memproses blok kontrol dalam sistem multiprogramming.

g.  Kendali Transfer
Untuk semua tipe operasi yang sudah dibahas sejauh ini, instruksi selanjutnya yang akan dibahas tepat setelah ini, pada memori, adalah kendali transfer. Namun, pecahan yang signifikan dari instruksi dalam setiap program memiliki fungsi mengubah urutan eksekusi instruksi. Untuk instruksi ini, operasi yang dilakukan oleh prosesor 


Sumber:



0 komentar: