290 likes | 692 Vues
10. Set Intruksi : Karakteristik dan Fungsi. By Serdiwansyah N. A. Set Instruksi. Set Instruksi : Kumpulan instruksi lengkap yang dimengerti oleh CPU Kode mesin , Biner , dan Kode Assembly Elemen Instruksi : Operation code (Op code) Kerjakan Source Operand reference
E N D
10. Set Intruksi : KarakteristikdanFungsi By Serdiwansyah N. A.
Set Instruksi • Set Instruksi : • Kumpulan instruksilengkap yang dimengertioleh CPU • Kodemesin, Biner, danKode Assembly • ElemenInstruksi : • Operation code (Op code) • Kerjakan • Source Operand reference • Dengan data ini • Result Operand reference • Simpanhasilnyakesini • Next Instruction Reference • Setelahselesai, kerjakanini... Set Intruksi
Operand danPenyajianInstruksi • Operand : • Main memory (or virtual memory or cache) • CPU register • I/O device • PenyajianInstruksi : • Dlmkodemesinsetiapinstruksimemilikipola-bit tertentu. • Untukkonsumsi programmers disediakanpenyajiansimbolik. • Contoh: ADD, SUB, LOAD • Operand jugadisajikansecarasimbolik. • Contoh: ADD A,B Set Intruksi
JenisInstruksi • Data processing • Data storage (main memory) • Data movement (I/O) • Program flow control Set Intruksi
JumlahAddres (a) • 3 addres • Operand 1, Operand 2, Result • Contoh: ADD A,B,C • a = b + c; • Jarangdigunakandanperluword yang panjang. • 2 addres • Salah satusebagai operand dan result • Contoh: ADD A,B • a = a + b • Instruksilebihpendek • Diperlukankerjaekstra • Temporary storage untukmenyimpanbeberapahasiloperasi Set Intruksi
JumlahAddres (b) • 1 addres • Addreskedua Implicit • Biasanya register (accumulator) • 0 (zero) addres • semuaaddres implicit • menggunakan stack • Contoh: • push a • push b • Add • pop c • Berarti: c = a + b Set Intruksi
AddresBanyakdanSedikit • Addresbanyak • Instruksisemakinkompleks • perlu register banyak • Program lebihpendek • Lebihcepat? • Addressedikit • Instruksilebihsederhana • Eksekusilebihcepat Set Intruksi
PertimbanganPerancangan • Operation • Berapabanyak operand? Apasajaoperasi yang dikerjakan? Seberapakomplekx? • Jenis data • Format instruksi • Panjangopcode • Jumlahaddres • Register • Jumlah register yang tersediadlm CPU • Operasiapaygdptdikerjakanolehmasing-masing registers? • Addressing modes (…) • RISC v CISC Set Intruksi
Jenis Operand • Addres • Number • Integer/floating point • Character • ASCII etc. • Logical Data • Bits or flags • (Apaadabedanyaantara number dengancharacter?) Set Intruksi
Tipe Data Pentium • 8 bit Byte • 16 bit word • 32 bit double word • 64 bit quad word • Addressing menggunakan 8 bit unit • 32 bit double word dibacapadaaddresyghabisdibagi dg 4 Set Intruksi
Tipe Data Spesifik • General – sembarangisibiner • Integer - single binary value • Ordinal - unsigned integer • Unpacked BCD - One digit per byte • Packed BCD - 2 BCD digits per byte • Near Pointer - 32 bit offset within segment • Bit field • Byte String • Floating Point Set Intruksi
JenisOperasi • Data Transfer • Arithmetic • Logical • Conversion • I/O • System Control • Transfer of Control Set Intruksi
Data Transfer • Menentukan : • Source • Destination • Jumlahdata • Beda instruksiuntuksetiap data movement yang beda. • pada IBM 370 • Atausatu instruction denganaddresygbeda. • pada VAX Set Intruksi
Arithmetic • Add, Subtract, Multiply, Divide • Signed Integer • Floating point ? • Termasukoperasi: • Increment (a++) • Decrement (a--) • Negate (-a) Set Intruksi
Logical danKonversi • Logika : • Bitwise operations • AND, OR, NOT • Konversi • Contoh: BinerkeDecimal Set Intruksi
Input Output • Tersediainstruksikhusus. • Ataudigunakaninstruksi data movement (memory mapped). • Ataudikerjakanoleh controller (DMA). Set Intruksi
System Control dan Transfer of Control • System Control : • Privileged instructions • CPU harusberadapada state tertentu • Ring 0 pada 80386+ Kernel mode • Digunakanoleh operating systems • Transfer of Control : • Branch , contoh: branch to x if result is zero • Skip, contoh: increment and skip if zero • ISZ Register1 • Branch xxxx • ADD A • Subroutine call • interrupt call Set Intruksi
Byte Order • Bagaiamanaurutanbilangan yang lebihdari 1 byte disimpan/dibaca, contoh(dalam hex). • Bilangan 12345678 dapatdisimpanpadalokasi4x8 bit. • Contoh : • Address Value (1) Value(2) • 184 12 78 • 185 34 56 • 186 56 34 • 186 78 12 • top down atau bottom up? Set Intruksi
Penamaan Byte Order • Problem ordering dinamakan Endian • LSB padaposisi paling kiri (padaaddresterkecil) • Dinamakan big-endian • LSB padaposisi paling kanan (padaaddresterbesar) • Dinamakanlittle-endian Set Intruksi
Standard • Pentium (80x86), VAX adalah little-endian • IBM 370, Motorola 680x0 (Mac), dan RISC yang lain, adalah big-endian • Internet menggunakan big-endian • Membuat program untuk Internet pada PC lebihsusah. • WinSock menyediakanhtoi (Host to Internet) danitoh (Internet to Host) untukkeperluankonversi Set Intruksi