Pengertian Set Instruksi
Set instruksi adalah kumpulan dari instruksi yang dapat dijalankan oleh CPU. Pada bahasa bahasa mesin mesin,, setia setiap p instru instruksi ksi berben berbentuk tuk pola pola bit biner biner.. Disebu Disebutt juga juga mach machin ine e code code (bah (bahas asa a mesi mesin) n),, aslin aslinya ya juga juga berb berben entu tuk k bine binerr atau atau baha bahasa sa assembly. Agar dapat dimengerti manusia, dibuatlah representasi simbolik yang biasanya berupa singkatan (disebut mnemonic). isal ADD, SU!, "#AD, dll. Sedangkan alamat operand direpresentasikan direpresentasikan seperti $ ADD A,! !eberapa contoh simbolik instruksi dalam bahasa manusia $ •
ADD $ Add (%umlahkan)
•
SU! $ Substract (&urangkan)
•
U" $ ultiply (kalikan)
•
D' $ Deide (bagi)
•
"#AD $ "oad (mengambil data dari register * memori)
•
S+# $ Store (simpan data ke register * memori)
•
#- $ oe (pindakhan data dari satu tempat ke tempat lain)
•
S $ shi/t kanan data
•
S" $ shi/t kiri data,
•
Dll
Elemen-Elemen Elemen-Elemen Instruksi
Sebuah instruksi harus terdiri dari$ 0. Operation Code (Opcode) erupakan kode operasi yang menspesi1kasikan operasi yang akan dilakukan. &ode operasi berbentuk kode biner. 2. Source Operand Reference erupakan sumber dari operand (input instruksi). 3. Result Operand Reference erupakan hasil atau keluaran operasi. 4. Next Instruction Reference elemen ini mengin/ormasikan CPU posisi instruksi berikutnya yang harus diambil dan dieksekusi Tipe-Tipe Instruksi Pengolaan data (data processing) 0. Pengolaan
erupakan tipe instruksi yang meliputi operasi5operasi aritmatika dan logika. #perasi aritmatika memiliki kemampuan komputasi untuk pengolahan data numerik. Sedangkan instruksi logika beroperasi terhadap bit5bit 6ord sebagai bit, bukannya sebagai bilangan, sehingga instruksi ini memiliki kemampuan untuk pengolahan data lain. 2. Perpindaan data (data mo!ement) erupakan tipe instruksi yang berisi instruksi perpindahan data antar register maupun modul '*#. untuk dapat diolah oleh CPU maka diperlukan instruksi5 instruksi yang bertugas memindahkan data operand yang diperlukan. 3. Pen"impanan data (data storage) erupakan tipe instruksi yang berisi instruksi5instruksi penyimpanan ke memori. 'nstruksi penyimpanan sangat penting dalam operasi komputasi, karena data tersebut akan digunakan untuk operasi berikutnya, minimal untuk ditampilkan pada layar harus diadakan penyimpanan 6alaupun sementara. 4. #ontrol aliran program (program $o% control) erupakan tipe instruksi yang !erisi instruksi pengontrolan operasi dan percabangan. 'nstruksi ini ber/ungsi untuk pengontrolan status dan mengoperasikan percabangan ke set instruksi lain. Tipe-Tipe Operand
0. &ddresses erupakan tipe inputan instruksi berupa alamat dari instruksi. 2. Num'ers $ erupakan tipe inputan instruksi berupa 7 'nteger or 18ed point 9: sebuah integer yang skala dengan /aktor tertentu. Penting untuk dicatat bah6a /aktor skala ditentukan oleh jenis, itu adalah sama untuk semua nilai dari jenis 18ed5titik tertentu. 7 ;loating point 9: sebuah bilangan yang digunakan untuk menggambarkan sebuah nilai yang sangat besar atau sangat kecil 7 Decimal (!CD) 9: sistem pengkodean bilangan desimal yang metodenya mirip dengan bilangan biner biasa< hanya saja dalam proses konersi, setiap simbol dari bilangan desimal dikonersi satu per satu, bukan secara keseluruhan seperti konersi bilangan desimal ke biner biasa. 3. Caracters $ erupakan tipe inputan instruksi berupa 7 ASC'' (American Standard Code for Information Interchange) 9: suatu standar internasional dalam kode huru/ dan simbol seperti e8 dan Unicode tetapi ASC'' lebih bersi/at uniersal, contohnya 024 adalah untuk karakter =>?. 'a selalu digunakan oleh komputer dan alat komunikasi lain untuk menunjukkan teks. 7 -!CD'C (Extended Binary Coded Decimal Interchange Code) => kode @ bit untuk huru/ yang dipakai pada sistem operasi komputer merk '!, seperti *#S, #S*3B, , S-, #S*4, serta i*#S
4. ogical ata $ erupakan tipe inputan instruksi bila data berbentuk binary$ dan 0 Tipe-Tipe Operasi
0. Transfer ata •
+indakan CPU untuk melakukan trans/er data adalah $
•
enetapkan mode pengalamatan.
•
enetapkan panjang data yang dipindahkan.
•
•
"okasi5lokasi tersebut dapat berupa memori, register atau bagian paling atas daripada stack. enetapkan lokasi operand sumber dan operand tujuan. •
emindahkan data dari satu lokasi ke lokasi lain.
•
Apabila memori dilibatkan $
•
enetapkan alamat memori.
•
enjalankan trans/ormasi alamat memori irtual ke alamat memori aktual.
•
enga6ali pembacaan * penulisan memori
#perasi set instruksi untuk trans/er data $ •
#- $ memindahkan 6ord atau blok dari sumber ke tujuan
•
S+#- $ memindahkan 6ord dari prosesor ke memori.
•
"#AD $ memindahkan 6ord dari memori ke prosesor.
•
-ECAFG- $ menukar isi sumber ke tujuan.
•
C"-A * -S-+ $ memindahkan 6ord ke tujuan.
•
S-+ $ memindahkan 6ord 0 ke tujuan.
•
PUS $ memindahkan 6ord dari sumber ke bagian paling atas stack.
•
P#P $ memindahkan 6ord dari bagian paling atas sumber
2. &ritmetic +indakan CPU untuk melakukan operasi arithmetic $ •
+rans/er data sebelum atau sesudah.
•
elakukan /ungsi dalam A"U.
•
enset kode5kode kondisi dan Hag.
#perasi set instruksi untuk arithmetic $ •
ADD $ penjumlahan
•
SU!+AC+ $ pengurangan
•
U"+'P"I $ perkalian
•
D''D- $ pembagian
•
A!S#"U+-
•
F-GA+'-
•
D-C--F+
•
'FC--F+
Absolute, Fegatie, Decreament, dan 'ncreament merupakan instruksi operand tunggal. 3. ogical +indakan CPU sama dengan arithmetic. #perasi set instruksi untuk operasi logical $ •
AFD, #, F#+, -E#
•
C#PA-
•
•
•
+-S+
$ melakukan perbandingan logika. $ menguji kondisi tertentu.
S';+ $ operand menggeser menyebabkan konstanta pada ujung bit.
ke
kiri
atau
kanan
#+A+$ operand menggeser ke kiri atau ke kanan dengan ujung yang terjalin.
4. Con!ersi +indakan CPU sama dengan arithmetic dan logical. 'nstruksi yang mengubah /ormat instruksi yang beroperasi terhadap /ormat data. isalnya pengubahan bilangan desimal menjadi bilangan biner. #perasi set instruksi untuk conersi $ •
•
+AFS"A+- $ menterjemahkan nilai5nilai dalam suatu bagian memori berdasarkan tabel korespodensi. C#F-+ $ mengkonersi isi suatu 6ord dari suatu bentuk ke bentuk lainnya.
. Input * Output +indakan CPU untuk melakukan 'FPU+ *#U+PU+ $ •
Apabila memory mapped '*# maka menentukan alamat memory mapped
•
enga6ali perintah ke modul '*#
#perasi set instruksi 'nput * #uput $ •
'FPU+ $ memindahkan data dari pernagkat '*# tertentu ke tujuan
•
#U+PU+ $ memindahkan data dari sumber tertentu ke perangkat '*#
•
•
S+A+ '*# $ memindahkan instruksi ke prosesor '*# untuk menga6ali operasi '*# +-S+ '*# $ memindahkan in/ormasi dari sistem '*# ke tujuan
J. Transfer Control +indakan CPU untuk trans/er control yaitu mengupdate program counter untuk subrutin , call * return. #perasi set instruksi untuk trans/er control $ •
•
•
•
•
•
•
%UP (cabang) $ pemindahan tidak bersyarat dan memuat PC dengan alamat tertentu. %UP !-SIAA+ $ menguji persyaratan tertentu dan memuat PC dengan alamat tertentu atau tidak melakukan apa tergantung dari persyaratan. %UP SU!U+'F $ melompat ke alamat tertentu. -+UF $ mengganti isi PC dan register lainnya yang berasal dari lokasi tertentu. -E-CU+- $ mengambil operand dari lokasi tertentu dan mengeksekusi sebagai instruk S&'P $ menambah PC sehingga melompati instruksi berikutnya. S&'P !-SIAA+ $ melompat atau tidak melakukan apa5apa berdasarkan pada persyaratan
•
A"+ $ menghentikan eksekusi program.
•
KA'+ (#"D) $ melanjutkan eksekusi pada saat persyaratan dipenuhi.
•
F# #P-A+'#F $ tidak ada operasi yang dilakukan
L. Control S"stem anya 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.