Materi Set Intruksi



1.1 Arsitektur Set Instruksi
Set instruksi didefinisikan sebagai suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram.
a.      Dua bagian utama arsitektur komputer:
1.      Instruction set architecture (ISA) / arsitektur set instruksi ISA meliputi spesifikasi yang menentukan bagaimana   programmer bahasa mesin akan berinteraksi oleh komputer. ISA menentukan sifat komputasional komputer.
2.      Hardware system architecture (HSA) / arsitektur system hardware  HSA berkaitan dengan subsistem hardware utama    computer (CPU, system memori dan IO). HSA mencakup  desain logis dan organisasi arus data dari subsistem
1.2 Elemen-Elemen Dari Instruksi Mesin (Set Instruksi)
a.      Operation Code (opcode) : menentukan operasi yang akan dilaksanakan (misalnya: ADD).
b.      Source Operand Reference : merupakan input bagi operasi yang akan dilaksanakan
c.      Result Operand Reference : merupakan hasil dari operasi yang dilaksanakan
d.      Next instruction Reference : memberitahu CPU untuk mengambil (fetch) instruksi berikutnya setelah instruksi yang dijalankan selesai.
e.      Source dan result operands dapat berupa salah satu diantara tiga jenis berikut ini:
        Main or Virtual Memory
                 CPU Register
        I/O Device
1.3 Representasi Instruksi
·            Instruksi komputer direpresentasikan oleh sekumpulan bit. Instruksi dibagi menjadi beberapa field.
·            Field-field ini diisi oleh elemen-elemen instruksi yang membawa informasi bagi operasi CPU.
·            Layout instruksi dikenal dengan format instruksi.
Format Instruksi
·       



Kode operasi (op code) direpresentasikan dengan singkatan-singkatan, yang disebut mnemonic.
Mnemonic mengindikasikan suatu operasi bagi CPU.
                    Contoh mnemonic adalah :
LOAD = muatkan data ke mem
ADD      Add (Penambahan)
SUB      Substract (Pengurangan)
MPY      Multiply (Perkalian)
DIV        Divide (Pembagian)
STOR    Simpan data ke memori
Contoh representasi operand secara simbolik :
·         ADD X, Y artinya tambahkan nilai yang berada pada lokasi Y ke isi register X, dan simpan hasilnya di register X.
·         Programmer dapat menuliskan program bahasa mesin dalam bentuk simbolik.
·         Setiap op code simbolik memiliki representasi biner yang tetap dan programmer dapat menetapkan lokasi masing-masing operand.
1.4 Jenis-Jens Instruksi
a.      Data processing/pengolahan data : instruksi aritmetika dan logika
b.      Data storage/penyimpanan data: instruksi-instruksi memori
c.      Data movement/perpindahan data: instruksi I/O
d.      Control/control : instruksi pemeriksaan dan percabangan
1.5 Jumlah Alamat
Salah satu cara tradisional untuk menggambarkan arsitektur prosessor adalah dengan melihat jumlah alamat yang terkandung dalam setiap instruksinya.
Jumlah alamat maksimum yang mungkin diperlukan dalam sebuah instruksi :
1. Empat Alamat ( dua operand, satu hasil, satu untuk alamat instruksi berikutnya)
2. Tiga Alamat (dua operand, satu hasil)
3. Dua Alamat (satu operand merangkap hasil, satunya lagi operand)
4. Satu Alamat (menggunakan accumulator untuk menyimpan operand dan hasilnya


1.6 Rancangan Set Instruksi
Salah satu aspek yang menarik tentang rancangan komputer adalah rancangan set instruksi (instruction set design). Karena rancangan ini mempengaruhi banyak aspek sistem komputer, maka rancangan set instruksi sangat kompleks. Set instruksi menentukan banyak fungsi yang akan dilakukan oleh CPU dan karena itu memiliki efek yang sangat menentukan implementasi CPU. Set instruksi merupakan alat bagi para pemrogram untuk mengontrol CPU. Masalah rancangan fundamental yang paling penting meliputi :
1. Operation Repertoire/Repertoir Operasi
Berapa banyak dan operasi-operasi apa yang harus disediakan, dan sekompleks apakah operasi itu seharusnya.
2. Data Types/Jenis Data
Berbagai jenis data pada saat operasi dijalankan.
3. Instruction Format/Format Instruksi
Panjang instruksi (dalam bit), jumlah alamat, ukuran field, dsb.
4. Registers
Jumlah register CPU yang dapat direferensikan oleh instruksi, dan fungsinya.
5. Addressing/Pengalamatan
Mode untuk menspesifikasikan alamat suatu operand. Masalah-masalah ini saling berkaitan dan harus diperhatikan dalam merancang set instruksi.

1.7 Karakteristik Dan Fungsi Set Instruksi
a.      Operasi dari CPU ditentukan oleh instruksi-instruksi yang dilaksanakan atau dijalankannya. Instruksi ini sering disebut sebagai instruksi mesin (mechine instructions) atau instruksi komputer (computer instructions)
b.      Kumpulan dari instruksi-instruksi yang berbeda yang dapat dijalankan oleh CPU disebut set Instruksi (Instruction Set
1.8 Desain Set Instruksi
a.      Desain set instruksi merupakan masalah yang sangat komplek
yang melibatkan banyak aspek, diantaranya adalah:                                           
1. Kelengkapan set instruksi
2. Ortogonalitas (sifat independensi instruksi)
3. Kompatibilitas :              
 -  Source code compatibility
 - Object code Compatibility
Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut:
1.      Operation Repertoire: Berapa banyak dan operasi apa saja yang disediakan,    dan berapa sulit operasinya
2.      Data Types: tipe/jenis data yang dapat olah Instruction Format: panjangnya, banyaknya alamat, dsb.
3.      Register: Banyaknya register yang dapat digunakan
4.      Addressing: Mode pengalamatan untuk operand
1.9 Jenis-Jenis Operand
a.      Addresses (akan dibahas pada addressing modes)
b.      Numbers :  - Integer or fixed point
Floating point
Decimal (BCD)
c.      Characters : - ASCII
- EBCDIC
d.    Logical Data : Bila data berbentuk binary : 0 dan 1
1.10 Transfer Data
Menetapkan lokasi operand sumber dan operand tujuan.
Lokasi-lokasi tersebut dapat berupa memori, register atau bagian paling atas daripada stack.
·        Menetapkan panjang data yang dipindahkan.
·        Menetapkan mode pengalamatan.
Tindakan CPU untuk melakukan transfer data adalah :
a.      Memindahkan data dari satu lokasi ke lokasi lain
b.      Apabila memori dilibatkan :
Menetapkan alamat memori.
Menjalankan transformasi alamat memori virtual ke alamat
memori aktual.
Mengawali pembacaan / penulisan memori

1.11 Operasi Set Instruksi Untuk Transfer Data
a.      MOVE : memindahkan word atau blok dari sumber ke tujuan
b.      STORE : memindahkan word dari prosesor ke memori
c.      LOAD : memindahkan word dari memori ke prosesor
d.      EXCHANGE : menukar isi sumber ke tujuan
e.      CLEAR / RESET : memindahkan word 0 ke tujuan
f.       SET : memindahkan word 1 ke tujuan
g.      PUSH : memindahkan word dari sumber ke bagian paling atas stack
h.      POP : memindahkan word dari bagian paling atas sumber
1.12 contoh set intruksi



Untuk instruksi 3 alamat :
  • Pertama, A - B lalu disimpan di Y.
  • Lalu kita mengalikan D dan E lalu disimpan di register baru yaitu T.
  • T tersebut lalu ditambahkan dengan register C dan disimpan di register T.
  • Lalu register Y, yaitu hasil dari A - B tadi dibagi dengan register T lalu disimpan di register Y.
  • Bisa kita lihat,untuk instruksi 3 alamat, setiap instruksi terdiri dari 3 register.

Instruksi 2 alamat :
  • Pertama register A dipindahkan ke Y.
  • Register Y dikurangi dengan register B dan disimpan di register Y. A - B sudah didapatkan, simpan di register Y.
  • Selanjutnya register D dipindahkan ke register T, lalu register T dikalikan dengan register E dan disimpan di register T. Singkatnya, D*E itu sama dengan T*E dan disimpan di register T, cara ini digunakan karena kita memakain instruksi 2 alamat.
  • Lalu register T ditambahkan dengan register C dan disimpan di register T.
  • (C + D * E) sudah didapatkan dan disimpan di register T.
  • Lalu terakhir register Y yang sudah kita dapatkan tadi dibagi dengan register T dan disimpan di register Y.
  • Bisa kita lihat, instruksi 2 alamat memakai 2 instruksi, seperti Y dan A, Y dan B, T dan D, dan seterusnya.
Instruksi 1 alamat :
  • Pada istruksi tentu saja kita hanya menggunakan 1 instruksi.
  • Pertama LOAD D ke AC (Accumulator).
  • Lalu AC dikalikan dengan register E dan disimpan di AC.
  • Register AC lalu ditambahkan dengan register C dan disimpan di register AC.
  • Simpan register AC ke register Y.
  • LOAD lagi register A ke AC.
  • Register AC lalu dikurangkan dengan register B dan disimpan di register AC.
  • Lalu register AC dibagi dengan regiser Y dan disimpan di register AC.
  • Simpan register AC ke register Y.

0 komentar:

Copyright © 2013 SERING ILMU