Chapter_9 (1)
-
Upload
arum-prasetyo -
Category
Documents
-
view
227 -
download
0
description
Transcript of Chapter_9 (1)
-
William Stallings Computer Organization and ArchitectureChapter 9Set Instruksi:Karakteristikdan Fungsi
-
Set instruksi ?Kumpulan instruksi lengkap yang dimengerti oleh CPUKode mesinBinerKode assembly
-
Elemen InstruksiOperation code (Op code)KerjakanSource Operand referenceDengan data iniResult Operand referenceSimpan hasilnya kesiniNext Instruction ReferenceSetelah selesai, kerjakan ini ...
-
Operands ?Main memory (or virtual memory or cache)CPU registerI/O device
-
Penyajian InstruksiDlm kode mesin setiap instruksi memiliki pola-bit tertentuUntuk konsumsi programmers disediakan penyajian simbolikContoh: ADD, SUB, LOADOperand juga disajikan secara simbolik Contoh: ADD A,B
-
Jenis InstruksiData processingData storage (main memory)Data movement (I/O)Program flow control
-
Jumlah addres (a)3 addresOperand 1, Operand 2, ResultContoh: ADD A,B,Ca = b + c;Jarang digunakanPerlu word yang panjang
-
Jumlah addres (b)2 addresSalah satu sebagai operand dan resultContoh: ADD A,Ba = a + bInstruksi lebih pendekDiperlukan kerja ekstraTemporary storage untuk menyimpan beberapa hasil operasi
-
Jumlah addres (c)1 addresAddres kedua Implicit Biasanya register (accumulator)
-
Jumlah addres (d)0 (zero) addressemua addres implicitmenggunakan stackContoh: push a push b add pop cBerarti:c = a + b
-
Addres banyak ? Sedikit ?Addres banyakInstruksi semakin kompleksperlu register banyakProgram lebih pendekLebih cepat ?Addres sedikitInstruksi lebih sederhanaEksekusi lebih cepat
-
Pertimbangan Perancangan (1)OperationBerapa banyak operand?Apa saja operasi yang dikerjakan?Seberapa komplekx?Jenis dataFormat instruksiPanjang opcodeJumlah addres
-
Pertimbangan Perancangan (2)RegisterJumlah register yang tersedia dlm CPUOperasi apa yg dpt dikerjakan oleh masing-masing registers?Addressing modes ()
RISC v CISC
-
Jenis OperandAddresNumberInteger/floating pointCharacterASCII etc.Logical DataBits or flags(Apa ada bedanya antara number dg character?)
-
Tipe Data pada 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 4
-
Tipe Data SpecifikGeneral 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 Point
-
Tipe Data Floating Point pada Pentium Stallings hal:324
-
Jenis OperasiData TransferArithmeticLogicalConversionI/OSystem ControlTransfer of Control
-
Data TransfermenentukanSourceDestinationJumlah dataBeda instruksi untuk setiap data movement yang bedapada IBM 370Atau satu instruction dengan addres yg bedapada VAX
-
ArithmeticAdd, Subtract, Multiply, DivideSigned IntegerFloating point ?Termasuk operasi:Increment (a++)Decrement (a--)Negate (-a)
-
LogicalBitwise operationsAND, OR, NOT
-
ConversionContoh: Biner ke Decimal
-
Input/OutputTersedia instruksi khususAtau digunakan instruksi data movement (memory mapped)Atau dikerjakan oleh controller (DMA)
-
Systems ControlPrivileged instructionsCPU harus berada pada state tertentu Ring 0 pada 80386+Kernel modeDigunakan oleh operating systems
-
Transfer of ControlBranchContoh: branch to x if result is zeroSkipContoh: increment and skip if zeroISZ Register1Branch xxxxADD ASubroutine call interrupt call
-
Baca sendiriJenis operasi pada Pentium and PowerPCStallings hal:338
-
Byte Order(bagian dari chips?)Bagaiamana urutan bilangan yang lebih dari 1 byte disimpan/dibacacontoh (dalam hex)Bilangan 12345678 dapat disimpan pada lokasi 4x8bit sbb:
-
Contoh Byte OrderAddressValue (1)Value(2)1841278185345618656341867812
top down atau bottom up?
-
Penamaan Byte OrderProblem ordering dinamakan EndianLSB pada posisi paling kiri (pada addres terkecil)Dinamakan big-endianLSB pada posisi paling kanan (pada addres terbesar)Dinamakan little-endian
-
Standard?Pentium (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 konversi
23456789101112131415161718192021222324252627282930