350 likes | 1.28k Views
ORGANISASI & ARSITEKTUR KOMPUTER 2 SET INSTRUKSI IBP WIDJA, MT. Apakah set Instruksi itu?. Kumpulan instruksi lengkap yang dimengerti oleh CPU Kode mesin Biner Biasanya direpresentasikan oleh Kode Assembly. Elemen Instruksi. Operation code (Kode Operasi) Kerjakan perintah ini ...
E N D
ORGANISASI & ARSITEKTUR KOMPUTER 2 SET INSTRUKSI IBP WIDJA, MT
SET INSTRUKSI Apakah set Instruksi itu? • Kumpulan instruksi lengkap yang dimengerti oleh CPU • Kode mesin • Biner • Biasanya direpresentasikan oleh Kode Assembly
SET INSTRUKSI Elemen Instruksi • Operation code (Kode Operasi) • Kerjakan perintah ini ... • Source Operand reference (Acuan Operand sumber) • Dengan data ini ... • Result Operand reference (Acuan Operand hasil) • Simpan hasilnya kesini ... • Next Instruction Reference (Acuan Instruksi berikutnya • Setelah selesai, kerjakan ini ...
SET INSTRUKSI Dimana operand itu bisa berada? • Memory Utama atau Memory Virtual • CPU register • I/O device
SET INSTRUKSI Diagram Status Siklus Instruksi
SET INSTRUKSI Representasi Instruksi • Dalam kode mesin setiap instruksi memiliki pola-bit tertentu • Untuk konsumsi programmers disediakan penyajian simbolik untuk kode operasi (opcode) • Contoh: ADD, SUB, LOAD • Acuan operand juga disajikan secara simbolik • Contoh: A,B 6bit 6bit 4bit acuan operand acuan operand opcode
SET INSTRUKSI Bahasa Assembly • Representasi Instruksi diatas dapat disajikan dalam bentuk lengkap untuk merepresentasikan set instruksi yang dikenal sebagai bahasa assembly • Contoh: • MOV A, X : Berarti data ditransfer dari alamat yang ditunjukkan oleh register X ke alamat register A • ADD A, B : Berarti menjumlahkan bilangan yang berada di alamat Register B dengan bilangan yang ditunjukkan oleh Register A dan hasilnya diletakkan pada alamat Register A
SET INSTRUKSI Jenis Instruksi • Data processing • Data storage (main memory) • Data movement (I/O) • Program flow control
SET INSTRUKSI Jumlah Alamat (a) • 3 alamat • Hasil, Operand 1, Operand 2 • Contoh: ADD A,B,C • a = b + c; • Jarang digunakan • Perlu word yang panjang
SET INSTRUKSI Jumlah Alamat (b) • 2 alamat • Salah satu sebagai operand dan hasil • Contoh: ADD A,B • a = a + b • Instruksi lebih pendek • Diperlukan kerja ekstra • Temporary storage untuk menyimpan beberapa hasil operasi
SET INSTRUKSI Jumlah Alamat (c) • 1 alamat • Addres kedua Implicit • Biasanya menggunakan register (accumulator) • Umum pada mesin-mesin terdahulu
SET INSTRUKSI Jumlah Alamat (d) • 0 (nol) alamat • semua addres implicit • menggunakan stack • Contoh: • push a • push b • add • pop c • Berarti: • c = a + b
SET INSTRUKSI Contoh program menggunakan eksekusi 1,2,3 alamat Program untuk mengeksekusi :
SET INSTRUKSI Berapa banyak alamat? • Alamat banyak • Instruksi semakin kompleks • perlu register banyak • Program lebih pendek • Eksekusi lebih lambat per instruksi • Alamat sedikit • Instruksi lebih sederhana • Program lebih panjang (banyak Instruksi per program) • Eksekusi lebih cepat per instruksi
SET INSTRUKSI Pertimbangan Perancangan • Operation • Berapa banyak operand? • Apa saja operasi yang disediakan? • Seberapa kompleks? • Jenis data • Format instruksi • Panjang opcode • Jumlah addres
SET INSTRUKSI Pertimbangan Perancangan... • Register • Jumlah register yang tersedia dlm CPU • Operasi apa yg dpt dikerjakan oleh masing-masing registers? • Pengalamatan • Mode untuk menspesifikasikan alamat suatu operand • RISC vs CISC
SET INSTRUKSI Jenis Operand • Address • Number • Integer/floating point • Character • ASCII etc. • Logical Data • Bits or flags • (Apa ada bedanya antara number dg character?)
SET INSTRUKSI Jenis Operasi Umum • Transfer Data : • Move, Store, Load, Exchange, Clear, Set, Push, Pop • Aritmetika : • Add, Substract, Multiply, Divide, Absolute, Negate, Increment, Decrement • Logika: • AND, OR, NOT, Ex-OR, Test, Compare, Shift, Rotate • Konversi : Translate, Convert • I/O : Input, Output, Start, test • Transfer Control: • Jump (cabang), Jump bersyarat, Return, Skip, Halt, Wait
SET INSTRUKSI Operasi dengan Stack • Stack adalah sekumpulan elemen (register/memori) yang berurutan dan hanya satu elemen saja yg dapat diakses • Titik akses disebut sebagai puncak (top) stack • Panjang stack bersifat variabel • Karena stack hanya dapat diakses dari puncaknya saja maka stack juga dikenal sebagai pushdown list atau antrian Last-In-First-Out
SET INSTRUKSI Penggunaan stack untuk menghitung f = (a-b) / (d x e +c )
SET INSTRUKSI Notasi Infix ke Postfix • Rumus matematika biasa disebut notasi infix • Ada suatu teknik untuk membalik dan membuatnya menjadi postfix sehingga dengan mudah dievaluasi dng stack • Contoh: A + B menjadi A B + A + (B x C) menjadi A B C x + (A + B) x C menjadi A B + C x (A – B) / (C + D x E) menjadi A B – C D E x + /
SET INSTRUKSI Mesin 0 alamat (stack) untuk X = (A+BxC)/(D-ExF) • Transfer infix Ke postfix menjadi ABCx+DEFx-/ • Penyelesaian dng stack menjadi: PUSH A PUSH B PUSH C MUL ADD PUSH D PUSH E PUSH F MUL SUB DIV POP X
SET INSTRUKSI Pertanyaan • Sebutkan elemen khusus dari instruksi mesin? • Jenis lokasi apakah yg dapat menggunakan operand sumber dan tujuan? • Sebutkan dan jelaskan lima rancangan set instruksi penting? • Bandingkan mesin 0, 1, 2, 3 alamat dng menulis program untuk menghitung: X = (A+BxC)/(D-ExF) Instruksi yg tersedia untuk digunakan