p10 Set Intruksi

20
10. Set Intruksi : Karakteristik dan Fungsi By Serdiwansyah N. A.

description

set interuksi sistem komputer

Transcript of p10 Set Intruksi

Organisasi dan Arsitektur Komputer

10. Set Intruksi : Karakteristik dan FungsiBy Serdiwansyah N. A.Set InstruksiSet Instruksi :Kumpulan instruksi lengkap yang dimengerti oleh CPUKode mesin, Biner, dan Kode Assembly

Elemen Instruksi :Operation code (Op code)KerjakanSource Operand referenceDengan data iniResult Operand referenceSimpan hasilnya kesiniNext Instruction ReferenceSetelah selesai, kerjakan ini ...2Set IntruksiOperand dan Penyajian InstruksiOperand :Main memory (or virtual memory or cache)CPU registerI/O device

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

3Set IntruksiJenis InstruksiData processingData storage (main memory)Data movement (I/O)Program flow control 4Set IntruksiJumlah Addres (a)3 addresOperand 1, Operand 2, ResultContoh: ADD A,B,Ca = b + c;Jarang digunakan dan perlu word yang panjang.2 addresSalah satu sebagai operand dan resultContoh: ADD A,Ba = a + bInstruksi lebih pendekDiperlukan kerja ekstraTemporary storage untuk menyimpan beberapa hasil operasi5Set IntruksiJumlah Addres (b)1 addresAddres kedua Implicit Biasanya register (accumulator)

0 (zero) addressemua addres implicitmenggunakan stackContoh:push apush bAddpop c

Berarti: c = a + b6Set IntruksiAddres Banyak dan SedikitAddres banyakInstruksi semakin kompleksperlu register banyakProgram lebih pendekLebih cepat ?

Addres sedikitInstruksi lebih sederhanaEksekusi lebih cepat7Set IntruksiPertimbangan PerancanganOperationBerapa banyak operand? Apa saja operasi yang dikerjakan? Seberapa komplekx?Jenis dataFormat instruksiPanjang opcodeJumlah addresRegisterJumlah register yang tersedia dlm CPUOperasi apa yg dpt dikerjakan oleh masing-masing registers?Addressing modes ()RISC v CISC8Set IntruksiJenis OperandAddresNumberInteger/floating pointCharacterASCII etc.Logical DataBits or flags

(Apa ada bedanya antara number dengan character?)9Set IntruksiTipe Data Pentium8 bit Byte16 bit word32 bit double word64 bit quad wordAddressing menggunakan 8 bit unit32 bit double word dibaca pada addres yg habis dibagi dg 410Set IntruksiTipe Data SpesifikGeneral sembarang isi binerInteger - single binary valueOrdinal - unsigned integerUnpacked BCD - One digit per bytePacked BCD - 2 BCD digits per byteNear Pointer - 32 bit offset within segmentBit fieldByte StringFloating Point11Set IntruksiJenis OperasiData TransferArithmeticLogicalConversionI/OSystem ControlTransfer of Control12Set IntruksiData TransferMenentukan :SourceDestinationJumlah data

Beda instruksi untuk setiap data movement yang beda.pada IBM 370

Atau satu instruction dengan addres yg beda.pada VAX13Set IntruksiArithmeticAdd, Subtract, Multiply, DivideSigned IntegerFloating point ?Termasuk operasi:Increment (a++)Decrement (a--)Negate (-a)14Set IntruksiLogical dan KonversiLogika :Bitwise operationsAND, OR, NOT

KonversiContoh: Biner ke Decimal15Set IntruksiInput OutputTersedia instruksi khusus.Atau digunakan instruksi data movement (memory mapped).Atau dikerjakan oleh controller (DMA).16Set IntruksiSystem Control dan Transfer of ControlSystem Control :Privileged instructionsCPU harus berada pada state tertentu Ring 0 pada 80386+ Kernel modeDigunakan oleh operating systems

Transfer of Control :Branch , contoh: branch to x if result is zeroSkip, contoh: increment and skip if zeroISZ Register1Branch xxxxADD ASubroutine callinterrupt call17Set IntruksiByte OrderBagaiamana urutan bilangan yang lebih dari 1 byte disimpan/dibaca, contoh (dalam hex).Bilangan 12345678 dapat disimpan pada lokasi 4x8 bit.Contoh :AddressValue (1)Value(2)1841278185345618656341867812

top down atau bottom up?

18Set IntruksiPenamaan Byte OrderProblem ordering dinamakan EndianLSB pada posisi paling kiri (pada addres terkecil)Dinamakan big-endianLSB pada posisi paling kanan (pada addres terbesar)Dinamakan little-endian19Set IntruksiStandardPentium (80x86), VAX adalah little-endianIBM 370, Motorola 680x0 (Mac), dan RISC yang lain, adalah big-endianInternet menggunakan big-endianMembuat program untuk Internet pada PC lebih susah.WinSock menyediakan htoi (Host to Internet) dan itoh (Internet to Host) untuk keperluan konversi20Set Intruksi