MODE DAN FORMAT PENGALAMATAN SET INSTRUKSI




MODE DAN FORMAT PENGALAMATAN
SET INSTRUKSI














NAMA : DEVA NUR LATIFAH ISNAENI

KELAS : XI TJA 1



SMK TELKOM SANDHY PUTRA PURWOKERTO
2015




PENGERTIAN SET INSTRUKSI
Set intruksi adalah sekumpulan lengkap intruksi yang dapat dimengerti oleh CPU, set intruksi sering juga disebut bahasa mesin karena aslinya juga berbentuk biner kemudian dimengerti sebagai bahasa assembly untuk dimengerti manusia (programmer), biasanya digunakan representasi yang lebih mudah dimengerti oleh manusia.


ELEMEN INSTRUKSI MESIN

Untuk dapat dieksekusi CPU, suatu instruksi harus berisi elemen informasi yang diperlukan CPU secara lengkap dan jelas.

-Elemen – elemennya:
1. Operation Code (Opcode) : menspesifikasikan operasi yang akan dilakukan.  Kode operasi berbentuk kode biner.

2. Source Operand Reference : operasi dapat berasal dari lebih satu sumber.  Operand adalah input instruksi.

3. Result Operand Reference : Merupakan hasil atau keluaran operasi.

4. Next Instruction Reference : elemen ini menginformasikan CPU posisi instruksi berikutnya yang harus diambil dan dieksekusi


DESAIN SET INSTRUKSI
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

JENIS-JENIS OPERAND
  • Addresses
  • Numbers :        – Integer or fixed point
–  Floating point 
–  Decimal (BCD)
  • Characters :      – ASCII
–  EBCDIC
  • Logical Data : Bila data berbentuk binary: 0 dan 1

JENIS INSTRUKSI
1.      Data processing: Arithmetic dan  Logic Instructions
2.      Data storage: Memory instructions
3.      Data Movement: I/O instructions
4.      Control: Test and branch instructions


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 

Operasi set instruksi untuk transfer data :
  • MOVE                        : memindahkan word atau blok dari sumber ke tujuan
  • STORE                       : memindahkan word dari prosesor ke memori.
  • LOAD                         : memindahkan word dari memori ke prosesor.
  • EXCHANGE               : menukar isi sumber ke tujuan.
  • CLEAR / RESET         : memindahkan word 0 ke tujuan.
  • SET                             : memindahkan word 1 ke tujuan.
  • PUSH                          : memindahkan word dari sumber ke bagian paling atas stack.
  • POP                             : memindahkan word dari bagian paling atas sumber


ARITHMETIC
  • Tindakan CPU untuk melakukan operasi arithmetic :
     1. Transfer data sebelum atau sesudah.
     2. Melakukan fungsi dalam ALU.
     3. Menset kode-kode kondisi dan flag.
  • Operasi set instruksi untuk arithmetic :
1.      ADD : penjumlahan                          
2.      SUBTRACT   : pengurangan              
3.      MULTIPLY    : perkalian                    
4.      DIVIDE          : pembagian         
5.      ABSOLUTE     
6.      NEGATIVE  
7.      DECREMENT 
8.      INCREMENT
    Nomor 5 sampai 8 merupakan instruksi operand tunggal.


LOGICAL
  • Tindakan CPU sama dengan arithmetic

Operasi set instruksi untuk operasi logical :
     1. AND, OR, NOT, EXOR
     2. COMPARE : melakukan perbandingan logika.
     3. TEST : menguji kondisi tertentu.
     4. SHIFT : operand menggeser ke kiri atau kanan menyebabkan konstanta pada ujung bit.
     5. ROTATE : operand menggeser ke kiri atau ke kanan dengan ujung yang terjalin.


CONVERSI
  • Tindakan CPU sama dengan arithmetic dan logical.
  • Instruksi yang mengubah format instruksi yang beroperasi terhadap format data.
  • Misalnya pengubahan bilangan desimal menjadi bilangan biner.
Operasi set instruksi untuk conversi :
1. TRANSLATE : menterjemahkan nilai-nilai dalam suatu bagian memori berdasrkan tabel korespodensi.
     2. CONVERT : mengkonversi isi suatu word dari suatu bentuk ke bentuk lainnya.


INPUT / OUPUT
  • Tindakan CPU untuk melakukan INPUT /OUTPUT :
1.      Apabila  memory mapped I/O maka menentukan alamat memory mapped.
2.      Mengawali perintah ke modul I/O
  • Operasi set instruksi Input / Ouput :
1. INPUT : memindahkan data dari pernagkat I/O tertentu ke tujuan
2. OUTPUT : memindahkan data dari sumber tertentu ke perangkat I/O
3. START I/O : memindahkan instruksi ke prosesor I/O untuk mengawali operasi I/O
4. TEST I/O : memindahkan informasi dari sistem I/O ke tujuan


TRANSFER CONTROL
  • Tindakan CPU untuk transfer control :
            Mengupdate program counter untuk subrutin , call / return.

  • Operasi set instruksi untuk transfer control :
1.      JUMP (cabang) : pemindahan tidak bersyarat dan memuat PC dengan alamat tertentu.
2.      JUMP BERSYARAT : menguji persyaratan tertentu danmemuat PC dengan alamat tertentu atau tidak melakukan apa tergantung dari persyaratan.
3.      JUMP SUBRUTIN : melompat ke  alamat tertentu.
4.      RETURN : mengganti isi PC dan register lainnya yang berasal dari lokasi tertentu.
5.      EXECUTE : mengambil operand dari lokasi tertentu dan mengeksekusi sebagai instruksi
6.      SKIP : menambah PC sehingga melompati instruksi berikutnya.
7.      SKIP BERSYARAT : melompat atau tidak melakukan apa-apa berdasarkan pada persyaratan
8.      HALT : menghentikan eksekusi program.
9.      WAIT (HOLD) : melanjutkan eksekusi pada saat persyaratan dipenuhi.
1.  NO OPERATION : tidak ada operasi yang dilakukan.


CONTROL SYSTEM
  • Hanya 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.

MODE PENGALAMATAN

Ada 7 mode pengalamatan yang digunakan oleh CPU yaitu :

1.      Addressing
Bentuk pengalamatan : OPERAND = A
Mode pengalamatan ini dipergunakan untuk menentukan dan menggunakan konstanta atau nilai-nilai variabel awal. Di dalam Immediate Addressing tidak terdapat referensi memori selain dari instruksi yang diperlukan untuk memperoleh operand. Kelebihan mode pengalamatan ini adalah dapat menghemat siklus memori atau cache dalam siklus instruksi. Sementara kerugian dari immediate addressing adalah ukuran bilangan dibatasi oleh ukuran field alamat.

2.      Direct Addressing
Bentuk pengalamatan : EA = A
Direct Addressing adalah mode pengalamatan yang sederhana yang hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulasi khusus. Hanya saja, pada Direct Addressing memiliki keterbatasan ruang alamat.

3.      Indirect Addressing
Bentuk pengalamatan : EA = ( A )
Di dalam Indirect Addressing, field alamat mengacu pada alamat word di dalam memori, sehingga membuat alamat operand menjadi lebih panjang. Untuk setiap panjang word sebesar N, dapat digunakan sebuah ruang alamat 2N. Sedangkan kerugiannya adalah bahwa eksekusi instruksi memerlukan dua referensi memori untuk mengambil operand, sebuah referensi memori untuk mengambil alamat dan referensi lainnya untuk mendapatkan nilainya

4.      Register Addressing
Bentuk pengalamatan : EA = R
Register Addressing mirip dengan Direct Addressing, dan yang membedakannya hanya terletak pada field alamat yang mengacu pada sebuah register, dan bukannya pada alamat memori utama. Register Addressing memerlukan field alamat berukuran kecil dalam instruksi dan tidak memerlukan referensi memori. 

5.      Indirect Register Addressing
Bentuk pengalamatan : EA = (R)
Indirect Register Addressing mirip dengan Indirect Addressing, yang membedakannya hanya terletak pada field alamat yang mengacu pada register dan bukannya pada alamat memori utama. Keterbatasan ruang alamat dapat diatasi dengan membiarkan field alamat mereferensi lokasi panjang word di dalam register yang berisi sebuah alamat. Hanya saja untuk eksekusi instruksi, menggunakan satu referensi memori yang lebih sedikit dibandingkan dengan Indirect Addressing.


6.      Displacement Addressing
Bentuk pengalamatan : EA =A + (R)
Displacement Addressing adalah mode pengalamatan yang fleksibel yang mampu mengkombinasikan Direct Addressing dan Indirect Register Addressing. Diplacement Addressing yang kompleks mensyaratkan instruksi untuk memiliki dua buah field alamat, dan sedikitnya sebuah field yang eksplisit. Nilai A yang eksplisit digunakan secara direct sedangkan (R) merupakan referensi implisit yang berdasarkan opcode, mengacu ke register yang isinya ditambahkan ke A sehingga memperoleh Effective Address.

7.      Stack Addressing
Bentuk penglamatan : EA = puncak stack
Stack adalah array lokasi yang linear, yang merupakan blok lokasi yang terbalik, sehingga sering disebut juga Last In First Out Queue. Tidak ada referensi memori di dalam Stack Addressing di mana aplikasi memori yang dimilikinya terbatas. Stack addressing merupakan bentuk implied addressing. Instruksi-instruksi mesin tidak perlu memiliki referensi memori namun secara implisit beroperasi pada bagian paling atas stack.

0 Response to "MODE DAN FORMAT PENGALAMATAN SET INSTRUKSI"

Posting Komentar