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
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:
- Kelengkapan set instruksi
- Ortogonalitas (sifat independensi instruksi)
- Kompatibilitas : – Source code compatibility – Object code Compatibility
Selain
ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut:
- Operation Repertoire: Berapa banyak dan operasi apa saja yang disediakan, dan berapa sulit operasinya
- Data Types: tipe/jenis data yang dapat olah Instruction Format: panjangnya, banyaknya alamat, dsb.
- 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