Set Instruksi Arsitektur Komputer

 

A. Pengertian Set Instruksi

    Set Instruksi atau bisa disebut Instruction Set Architecture (ISA) adalah sekumpulan instruksi yang dapat dimengerti dan dapat dijalankan oleh CPU berdasarkan tipe arsitekturnya. Set instruksi juga merupakan sebuah kamus yang berisi sekumpluan instruksi yang ada di CPU. Serta Tiap-tiap instruksi terdiri dari Opcode (Operation Code). Selain itu, set instruksi ini juga sering disebut instruksi mesin, karena berisi sekumpulan kode biner.


B. Elemen-Elemen Set Instruksi

  1. Operation Code

    Operation code atau sering disebut opcode adalah suatu kode yang berisi perintah yang digunakan untuk menentukan dan menjalankan Operand (Operasi Matematika) tertentu.

  2. Source Operand Reference

    Source operand reference adalah suatu sumber instruki yang digunakan untuk melibatkan sejumlah operand (Operasi matematika).

  3. Result Operand Reference

    Result operand reference adalah suatu hasil dari operand (Operasi matematika) yang dijalankan.

  4. Next Instruction Reference

    Next instruction reference adalah bagian yang menginformasikan CPU untuk mengambil instruksi berikutnya setelah intruksi yang dijalankan selesai.

            Pada bagian source operand reference dan result operand reference dapat berada pada salah satu dari tiga area berikut :
  1. Memori

    Memori adalah area yang digunakan untuk mereferensi instruksi berikutnya yang berada pada alamat memori utama ataupun memori virtual.

  2. Register CPU

    Register CPU adalah area yang digunakan untuk mereferensi instruksi berikutnya, di mana CPU terdiri dari satu atau lebih register yang mungkin dirujuk oleh instruksi mesin. Apabila CPU hanya terdiri dari satu register maka proses mereferensi instruksi berikutnya mungkin bersifat implisit (Ada tapi tidak terlihat jelas). Sedangkan jika CPU terdiri dari beberapa register maka proses mereferensi instruksi bersifat eksplisit (Ada dan jelas), alasanya adalah karena tiap register diberi nomor unik dan instruksi terdiri dari nomor register yang dimaksud.

  3. Perangkat I/O

    Perangkat I/O adalah area yang digunakan untuk mereferensikan instruksi berikutnya, di mana instruksi harus menentukan modul I/O dan perangkat yang diperlukan untuk melakukan operasi. Jika I/O yang dipetakan menggunakan memori, maka hanya alamat memori utama atau memori virtual yang digunakan.

C. Desain Set Instruksi

Desain set instruksi adalah suatu rancangan set instruksi. Dalam desain set instruksi terdapat berbagai masalah yang kompleks yang melibatkan beberpa aspek, yaitu :

  1. Kelengkapakan set instruksi.

  2. Ortogonalitas, yaitu sifat independensi instruksi.

  3. Kompabilitas, berupa source code dan object code.

Selain ketiga aspek tersebut juga melibatkan hal-hal berikut :

  1. Operation Repertoire, yaitu berkaitan dengan banyaknya operasi yang digunakan, operasi apa saja yang digunakan, dan berapa sulit operasi tersebut.

  2. Data Types, yaitu berkaitan dengan tipe data apa saja yang digunakan untuk operasi.

  3. Instruction Format, yaitu berkaitan dengan panjang instruksi (jumlah bit), banyaknya alamat, dan sebagainya.

  4. Register, yaitu banyaknya register yang dapat digunakan.

  5. Addressing, yaitu Mode pengalamatan untuk operand.

D. Jenis-Jenis Operand

  1. Address

    Address adalah lokasi tempat data disimpan di memori atau bisa juga disebut physical address. Alamat memori memiliki jumlah maksimum sesuai dengan tipe operasi yang dilakukan. Ada beberapa jumlah alamat memori yang mungkin diperlukan, yaitu :

    1. Satu alamat, yaitu menggunakan akumulator untuk menyimpan operand dan hasilnya.

    2. Dua alamat, yaitu terdiri dari satu operand yang merangkap dengan hasil dan satu lagi operand.

    3. Tiga alamat, yaitu terdiri dari dua operand dan satu hasil.

    4. Empat alamat, yang terdiri dari dua operand, satu hasil, dan satu lagi untuk alamat instruksi berikutnya.

  2. Numbers

    Number adalah sebuah angka yang digunakan untuk operasi aritmatika pada komputer. Ada beberapa jenis number yang umumnya digunakan, yaitu Integer(fixed point), Floating, dan Decimal.

  3. Character

    Character adalah sebuah unit yang berisi huruf, simbol, number, atau spasi(bisa ya atau tidak). Character sendiri bersifat tunggal, apabila lebih dari satu maka dinamakan String.

  4. Logical Data

    Logical Data adalah sebuah unit yang digunakan untuk mengubah data menjadi binary atau unary.

E. Jenis-Jenis Operasi/Instruksi

  1. Data transfer

    Dalam melakukan transfer data ada beberapa hal yang harus ditetapkan, yaitu :

    1. Menetapkan lokasi operand sumber dan operand tujuan. Setiap lokasinya berupa memori, register, atau bagian paling atas dari stack.

    2. Menetapkan panjang data yang dipindahkan.

    3. Menetapkan metode pengalamatan.

    Tindakan CPU dalam melakukan transfer data, yaitu :

    1. Melakukan transfer data dari satu lokasi ke lokasi lain atau bisa disebut transfer data internal CPU. Sebagai contoh sumber dan tujuan adalah register maka CPU akan melakukan transfer data dari satu register (sumber) ke register lainnya (tujuan).

    2. Apabila transfer data melibatkan memori maka CPU harus melakukan beberapa atau semua tindakan berikut :

      • Menetapkan alamat memori.

      • Jika alamat memori merujuk ke memori virtual maka alamat tersebut harus diterjemahkan ke alamat memori aktual.

      • Tentukan apakah yang dialamati berada dalam cache. Jika tidak keluarkan perintah dari modul memori.

      • Mengawali pembacaan memori / penulisan memori.

  2. Arithmetic

    Operasi artimatika yang dilakukan biasanya adalah penjumlahan (add), pengurangan (subtract), perkalian (multiply), dan pembagian (devide). Adapun operasi artimatika lain (bentuk tunggal), yaitu Absolute, Negative/Negate, Increment, dan Decrement. Tindakan CPU dalam melakukan Operasi Aritmatika, yaitu :

    1. Melakukan Transfer data sebelum maupun sesudah melakukan operasi aritmatika.

    2. Melakukan fungsi dalam Arithmetic Logic Unit (ALU).

    3. Memberi kode-kode kondisi dan memberi flag.

  3. Logical

    Operasi logika yang biasanya dilakukan adalah AND, OR, NOT, dan EXOR. Adapun operasi logika lain, yaitu COMPARE(Membandingkan), TEST(Menguji), SHIFT, dan ROTATE. Tindakan CPU dalam melakukan operasi logika sama seperti Operasi Aritmatika.

  4. Conversion

    Konversi adalah instruksi yang digunakan mengubah format instruksi yang beroperasi terhadap format data. Contohnya dari bilangan desimal ke bilangan biner. Adapun operasi yang dilakukan conversion adalah Translate dan Convert. Tindakan CPU dalam melakukan operasi logika sama seperti Operasi Aritmatika dan Logka.

  1. I/O

    Operasi I/O yang dilakukan adalah sebagai berikut :

    1. INPUT, yaitu Memindahkan data dari perangkat I/O tertentuke tujuan.

    2. OUTPUT, yaitu memindahkan data dari sumber tertentu ke perangkat I/O.

    3. START I/O, yaitu memindahkan instuksi ke processor I/O untuk mengawali operai I/O.

    4. TEST I/O, yaitu memindahkan informasi dari sistem I/O ke tujuan.

    Adapun tindakan CPU dalam melakukan Operasi I/O, yaitu :

    1. Apabila Memory-mapped I/O maka CPU akan menentukan alamatnya.

    2. Kemudian CPU akan mengawali perintah ke modul I/O.

  2. System Control

    System Control adalah intruksi yang hanya dapat dilakukan oleh CPU, ketika dalam keadaan tertentu atau ketika sedang menjalankan program yang berada dalam area memori khusus. Contoh membaca atau mengubah register control.

  3. Transfer of Control

    Transfer of Control dilakuakn oleh CPU untuk memperbarui program counter untuk memuat alamat memori dari beberapa instruksi yang ada dalam memori. Operasi Transfer of Control yang dilakukan, yaitu :

    1. JMP (Jump), yaitu transfer data tidak bersyarat dan memuat Program Counter dengan alamat memori tertentu.

    2. JMP bersyarat, yaitu operasi JMP yang memiliki kondisi atau persyaratan. Sehingga JMP akan dilaksanakan atau tidak tergantung dari kondisi persyartan tersebut.

    3. JMP Subroutine, yaitu operasi melompat ke alamat tertentu.

    4. RET (Return), yaitu operasi untuk mengakhiri suatu eksekusi prosedur dan mengakhiri transfer control melalui back-link pada stack program yang awalnya menjalankan prosedur. Operasi ini juga mengganti isi program counter dan register lainnya yang berasal dari lokasi tertentu.

    5. Execute, yaitu operasi yang digunakan untuk mengambil operand dari lokasi tertentu dan mengeksekusi sebagai instruksi.

    6. SKIP, yaitu operasi yang digunakan untuk melompat ke instruksi berikutnya dengan menambah program counter.

    7. SKIP Conditional, yaitu operasi SKIP yang berdasarkan suatu kondisi.

    8. HALT, yaitu operasi yang digunakan untuk menghentikan eksekusi program.

    9. WAIT (HOLD), yaitu operasi yang digunakan untuk melanjutkan eksekusi program pada saat kondisi terpenuhi.

    10. No Operation.

    Tindakan CPU dalam melakukan Tranfer of Control, yaitu memperbarui program counter.

  4. Addressing Modes

    Addressing Modes adalah sebuah metode yang digunakan untuk mengalamati alamat memori. Ada beberapa metode pengalamatan yang umum dipakai, yaitu Immediate (Segera), Direct (Langsung), Indirect (tak Langsung), Register, Register Indirect, Displacement, dan Stack.

F. Macam-Macam Instruksi Berdasarkan Sifat Akses ke Memori atau Register

  1. Memory to Register

    Memory to Register adalah sebuah instruksi yang memungkinkan operasi dilakukan di memori dan di register.

  2. Register to Memory

    Register to Memory adalah sebuah instruksi yang memungkinkan operasi dilakukan di register dan di memori.

  3. Register to Register

    Register to Register adalah sebuah instruksi yang hanya dilakukan di register.


soal latihan.

1. Manakah yang termasuk sebutan lain dari set intruksi?
a. isas
b. isa
c. usa
d. isco

2. apa yang terkandung dalam set instruksi?
a. kode desimal
b. kode octal
c. kode biner
d. kode hexa

3. mana yang temasuk dari elemen-elemen dari set instruksi?
a. opration code
b. parameter code
c. function code
d. selection code

4. apa fungsi dari result operand reference?
a. menampilkan suatu proses
b. menampilkan suatu metode
c. menampilkan suatu penerjemahan
d. menampilkan suatu hasil

5. mana yang termasuk aspek dari desain set instruksi?
a. diagonalitas
b. ortogonitas
c. keindahan
d. fleksibelitas

6. apa yang dimaksud dengan ortogonitas?
a. sifat independensi intruksi
b. sifat konsoludasi intruksi
c. sifat kondensasi intruksi
d. sifat absorsi instuksi

7. apa fungsi dari HATL pada transfer of control?
a. menjaga progaram
b. mengatur progaram
c. memberhentikan program yang di eksekusi
d. menghapus program

8. bagian komputer manakah yang dapat melakukan sistem control?
a. keyboard
b. mouse
c. CPU
d. monitor

8. manakah yang bukan merupakan operator logika?
a. XOR
b. AND
c. OR
d. DOR 

9. dimanakah operasi logika dilakukan?
a. monitor
b. CPU
c. mouse
d. hardiks

10. ada berapa macam instruksi berdasarkan sifat akses ke memori atau register?
a. 4
b. 8
c. 3
d. 10




Komentar

Postingan populer dari blog ini