Set Instruksi 1 Set instruksi z Kumpulan instruksi




























- Slides: 28

Set Instruksi: 1

Set instruksi ? z Kumpulan instruksi lengkap yang dimengerti oleh CPU z Operasi dari CPU ditentukan oleh instruksi yang dilaksanakan atau dijalankannya. Instruksi ini sering disebut sebagai instruksi mesin (machine instructions) atau instruksi komputer (computer instructions). 2

Elemen Instruksi z Operation code (Op code) y Kerjakan, menentukan operasi yang akan dilaksanakan z Source Operand reference y Dengan data ini, merupakan input bagi operasi yang akan dilaksanakan z Result Operand reference y Simpan hasilnya kesini, merupakan hasil dari operasi yang dilaksanakan z Next Instruction Reference y Setelah selesai, kerjakan ini. . . , memberitahu CPU untuk mengambil (fetch) instruksi berikutnya setelah instruksi yang dijalankan selesai. 3

Operands ? z Main memory (or virtual memory or cache) z CPU register z I/O device 4

Penyajian Instruksi z Dlm kode mesin setiap instruksi memiliki pola-bit tertentu z Untuk konsumsi programmers disediakan penyajian simbolik y. Contoh: ADD, SUB, LOAD z Operand juga disajikan secara simbolik y. Contoh: ADD A, B 5

Jenis Instruksi z Data processing, Arithmetic dan Logic Instructions z Data storage (main memory), Memory instructions z Data movement (I/O), I/O instructions z Program flow control, Test and branch instructions 6

Jumlah addres (a) z 3 addres y. Operand 1, Operand 2, Result y. Contoh: ADD A, B, C ya = b + c; y. Jarang digunakan y. Perlu word yang panjang 7

Jumlah addres (b) z 2 addres y. Salah satu sebagai operand dan result y. Contoh: ADD A, B ya = a + b y. Instruksi lebih pendek y. Diperlukan kerja ekstra x. Temporary storage untuk menyimpan beberapa hasil operasi 8

Jumlah addres (c) z 1 addres y. Addres kedua Implicit y. Biasanya register (accumulator) 9

Jumlah addres (d) z 0 (zero) addres ysemua addres implicit ymenggunakan stack y. Contoh: y push a y push b y add y pop c y. Berarti: yc = a + b 10

Addres banyak ? Sedikit ? z Addres banyak y. Instruksi semakin kompleks yperlu register banyak y. Program lebih pendek y. Lebih cepat ? z Addres sedikit y. Instruksi lebih sederhana y. Eksekusi lebih cepat 11

Pertimbangan Perancangan (1) z Operation y. Berapa banyak operand? y. Apa saja operasi yang dikerjakan? y. Seberapa komplekx? z Jenis data z Format instruksi y. Panjang opcode y. Jumlah addres 12

Pertimbangan Perancangan (2) z Register y. Jumlah register yang tersedia dlm CPU y. Operasi apa yg dpt dikerjakan oleh masing-masing registers? z Addressing modes (…) 13

Jenis Operand z Addres z Number y. Integer/floating point z Character y. ASCII etc. z Logical Data y. Bits or flags z (Apa ada bedanya antara number dg character? ) 14

Jenis Operasi z Data Transfer z Arithmetic z Logical z Conversion z I/O z System Control z Transfer of Control 15

Data Transfer z menentukan y Source, Destination lokasi operand sumber dan operand tujuan. Menetapkan Lokasi-lokasi tersebut dapat berupa memori, register atau bagian paling atas daripada stack. y Jumlah data panjang data yang dipindahkan. y Menetapkan mode pengalamatan. z 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 16

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

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

Logical z Bitwise operations z AND, OR, NOT z 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. 19

Conversion z Contoh: Biner ke Decimal z Operasi set instruksi untuk conversi : 1. TRANSLATE : menterjemahkan nilai-nilai dalam suatu bagian memori berdasarkan tabel korespodensi. 2. CONVERT : mengkonversi isi suatu word dari suatu bentuk ke bentuk lainnya. 20

Input/Output z z Tersedia instruksi khusus Atau digunakan instruksi data movement (memory mapped) Atau dikerjakan oleh controller (DMA) 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 21

Systems Control z Privileged instructions z CPU harus berada pada state tertentu y Ring 0 pada 80386+ y Kernel mode z Digunakan oleh operating systems z 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. z Contoh : membaca atau mengubah register kontrol. 22

Transfer Control z Tindakan CPU untuk transfer control : Mengupdate program counter untuk subrutin , call / return. z 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 23

Transfer Control 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. 10. NO OPERATION : tidak ada operasi yang dilakukan. 24

Transfer Control z Branch y. Contoh: branch to x if result is zero z Skip y. Contoh: increment and skip if zero y. ISZ Register 1 y. Branch xxxx y. ADD A z Subroutine call y interrupt call 25

ADDRESSING MODES Jenis-jenis addressing modes (Teknik Pengalama-tan) yang paling umum: z Immediate z Direct z Indirect z Register Indirect z Displacement z Stack 26

Tabel Basic Addressing Modes Mode Algorithm Principal Advantage Principal Disadvantage Immediate Operand = A No memory reference Limited operand magnitude Direct EA = A Simple Limited address space Indirect EA = (A) Large address space Multiple memory references Register EA = R No memory Reference Limited address space Register Indirect EA = (R) Large address space Extra memory reference Displace-ment EA=A+(R) flexibility Complexity Stack EA=top of Stack No memory Reference Limited applicability 27

Gambar Addressing Mode 28
Kumpulan keterangan atau informasi yang diperoleh
Pengertian konsep set adalah
Total set awareness set consideration set
Training set validation set test set
Alamat memori
Elemen instruksi
Operasi set instruksi
Set instruksi adalah
What is the overlap of data set 1 and data set 2?
Fuzzy theory
Correspondence function examples
Crisp set vs fuzzy set
Crisp set vs fuzzy set
Bounded set vs centered set
Kumpulan data yang digunakan bersama yang saling terhubung
Nose in medical terminology
Kumpulan simbol
Ecaruman
Kumpulan objek
Nama kumpulan dalam islam
Kumpulan node yang saling terhubung disebut
Ecaruman
Kloroplas kumpulan tilakoid disebut gerhana
Debet atau kredit
Kumpulan wahyu allah swt yang diturunkan
Ciri ciri kehidupan masyarakat zaman logam
Himpunan adalah kumpulan benda - benda yang jelas
Pertanyaan kritis tentang asbabun nuzul
Contoh kardinalitas himpunan