1
William Stallings Computer Organization and Architecture
Chapter 9Set Instruksi:Karakteristikdan Fungsi
2
Set instruksi ?
Kumpulan instruksi lengkap yang dimengerti oleh CPUKode mesinBinerKode assembly
3
Elemen Instruksi
Operation code (Op code)Kerjakan
Source Operand referenceDengan data ini
Result Operand referenceSimpan hasilnya kesini
Next Instruction ReferenceSetelah selesai, kerjakan ini ...
4
Operands ?
Main memory (or virtual memory or cache)CPU registerI/O device
5
Penyajian Instruksi
Dlm kode mesin setiap instruksi memiliki pola-bit tertentuUntuk konsumsi programmers disediakan penyajian simbolik
Contoh: ADD, SUB, LOAD
Operand juga disajikan secara simbolik Contoh: ADD A,B
6
Jenis Instruksi
Data processingData storage (main memory)Data movement (I/O)Program flow control
7
Jumlah addres (a)
3 addresOperand 1, Operand 2, ResultContoh: ADD A,B,Ca = b + c;Jarang digunakanPerlu word yang panjang
8
Jumlah addres (b)
2 addresSalah satu sebagai operand dan resultContoh: ADD A,Ba = a + bInstruksi lebih pendekDiperlukan kerja ekstra⌧Temporary storage untuk menyimpan beberapa hasil
operasi
9
Jumlah addres (c)
1 addresAddres kedua Implicit Biasanya register (accumulator)
10
Jumlah addres (d)
0 (zero) addressemua addres implicitmenggunakan stackContoh:
push apush baddpop c
Berarti:c = a + b
11
Addres banyak ? Sedikit ?
Addres banyakInstruksi semakin kompleksperlu register banyakProgram lebih pendekLebih cepat ?
Addres sedikitInstruksi lebih sederhanaEksekusi lebih cepat
12
Pertimbangan Perancangan (1)
OperationBerapa banyak operand?Apa saja operasi yang dikerjakan?Seberapa komplekx?
Jenis dataFormat instruksi
Panjang opcodeJumlah addres
13
Pertimbangan Perancangan (2)
RegisterJumlah register yang tersedia dlm CPUOperasi apa yg dpt dikerjakan oleh masing-masing registers?
Addressing modes (…)
RISC v CISC
14
Jenis Operand
AddresNumber
Integer/floating point
CharacterASCII etc.
Logical DataBits or flags
(Apa ada bedanya antara number dg character?)
15
Tipe Data pada Pentium
8 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
16
Tipe Data Specifik
General – 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
17
Tipe Data Floating Point pada Pentium
Stallings hal:324
18
Jenis Operasi
Data TransferArithmeticLogicalConversionI/OSystem ControlTransfer of Control
19
Data Transfer
menentukanSourceDestinationJumlah data
Beda instruksi untuk setiap data movement yang beda
pada IBM 370
Atau satu instruction dengan addres yg bedapada VAX
20
Arithmetic
Add, Subtract, Multiply, DivideSigned IntegerFloating point ?Termasuk operasi:
Increment (a++)Decrement (a--)Negate (-a)
21
Logical
Bitwise operationsAND, OR, NOT
22
Conversion
Contoh: Biner ke Decimal
23
Input/Output
Tersedia instruksi khususAtau digunakan instruksi data movement (memory mapped)Atau dikerjakan oleh controller (DMA)
24
Systems Control
Privileged instructionsCPU harus berada pada state tertentu
Ring 0 pada 80386+Kernel mode
Digunakan oleh operating systems
25
Transfer of Control
BranchContoh: branch to x if result is zero
SkipContoh: increment and skip if zeroISZ Register1Branch xxxxADD A
Subroutine callinterrupt call
26
Baca sendiri
Jenis operasi pada Pentium and PowerPCStallings hal:338
27
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:
28
Contoh Byte Order
Address Value (1) Value(2)184 12 78185 34 56186 56 34186 78 12
top down atau bottom up?
29
Penamaan Byte Order
Problem ordering dinamakan EndianLSB pada posisi paling kiri (pada addres terkecil)Dinamakan big-endianLSB pada posisi paling kanan (pada addres terbesar)Dinamakan little-endian
30
Standard…?
Pentium (80x86), VAX adalah little-endianIBM 370, Motorola 680x0 (Mac), dan RISC yang lain, adalah big-endianInternet menggunakan big-endian
Membuat program untuk Internet pada PC lebih susah.WinSock menyediakan htoi (Host to Internet) dan itoh (Internet to Host) untuk keperluan konversi
Top Related