Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehGuntur Angga Telah diubah "9 tahun yang lalu
1
William Stallings Computer Organization and Architecture 6th Edition
Chapter 10 Instruction Sets: Characteristics and Functions
2
What is an instruction set?
Kumpulan lengkap instruksi-instruksi yang dimengerti oleh CPU Machine Code Binary Usually represented by assembly codes 2
3
Elements of an Instruction
Operation code (Op code) => Kode Operasi Menentukan operasi yang akan dilakukan Source Operand reference Operasi dpt melibatkan satu atau lebih operand sumber. Dgn kata lain operand adalah input bagi operasi Result Operand reference Untuk menampung hasil dari suatu operasi Next Instruction Reference Untuk mengambil posisi instruksi berikutnya yg akan dieksekusi selanjutnya 3
4
Where have all the Operands gone?
Operand sumber dan hasil dapat berada disalah satu dari daerah sbb: Main memory (or virtual memory or cache) CPU register I/O device 4
5
Instruction Cycle State Diagram
6
Instruction Representation
In machine code each instruction has a unique bit pattern For human consumption : a symbolic representation is used e.g. ADD, SUB, LOAD, DIV, STOR, MPY Operands can also be represented in this way ADD A,B 5
7
Simple Instruction Format
Opcode direpresentasikan dgn singkatan-singkatan yg disebut dengan Mnemonik. Contoh mnemonik dari komputer IAS ADD (Add / menambahkan) SUB (substarct / pengurangan) MPY (Multiply / perkalian) DIV (Divide / pembagian) LOAD Muatkan data dari memori STOR simpan data ke memori
8
Instruction Types (Jenis-Jenis Instruksi)
Instruksi dapat digolongkan menjadi sbb: Data processing ( Instruksi-instruksi aritmatika dan logika) Data storage (Instruksi-instruksi memori) Data movement (Instruksi-instruksi I/O) Program flow control (Instruksi pemeriksaan dan percabangan) 6
9
Number of Addresses (a)
Operand 1, Operand 2, Result atau Result, Operand 1, Operand 2 Contoh: OP A, B, C => A B OP C SUB Y,A,B => Y A-B Needs very long words to hold everything 7
10
Number of Addresses (b)
One address doubles as operand and result a = a + b OP A,B A =A OP B Reduces length of instruction Requires some extra work Temporary storage to hold some results 8
11
Number of Addresses (c)
Implicit second address Usually a register (accumulator) Banyak digunakan pada komputer komputer sebelunya. 9
12
Number of Addresses (d)
0 (zero) addresses All addresses implicit Uses a stack e.g. push a push b add pop c c = a + b 10
13
Diketahui persamaan sbb: Y = (A - B) / (C + D x E)
Contoh: Diketahui persamaan sbb: Y = (A - B) / (C + D x E) Buat program nya dengan : Instruksi 3 alamat Instruksi 2 alamat Instruksi 1 alamat
14
Contoh: Coba Buat program untuk instruksi 0 alamat ??
SUB Y,A,B Y=A-B MPY T,D,E T=D x E ADD T,T,C T=T+C DIV Y,Y,T Y=Y / T Instruksi 2 alamat MOVE Y,A Y=A SUB Y,B Y=Y-B MOVE T,D T=D MPY T,E T=T x E ADD T,C T = T+C DIV Y,T Y=Y/T Instruksi 1 alamat LOAD D AC=D MPY E AC = AC x E ADD C AC=AC+C STOR Y Y = AC LOAD A AC = A SUB B AC = AC – B DIV Y AC = AC / Y Coba Buat program untuk instruksi 0 alamat ??
15
How Many Addresses (OPERAND)
More addresses More complex instructions More registers Inter-register operations are quicker Fewer instructions per program Fewer addresses Less complex instructions More instructions per program Faster fetch/execution of instructions 11
16
Design Decisions (1) Set instruksi menentukan:
Banyak fungsi yg dilakukan oleh CPU Alat bagi programmer untuk mengontrol CPU Masalah rancangan set instruksi sampai saat ini masih menjadi perdebatan. Masalah rancangan fundamental yg paling signifikan meliputi : Operation repertoire: Berapa banyak operasi yg harus disediakan Sekompleks apakah operasi itu seharusnya ? Data types (berbagai tipe data pada saat operasi dijalankan) 12
17
Design Decisions (2) Instruction formats (meliputi panjang instruksi, jumlah alamat, panjang Opcode Field) Registers Number of CPU registers available Which operations can be performed on which registers? Addressing modes (mode untuk menspesifikasikan alamat suatu operand) 13
18
Types of Operand (Jenis-jenis Operand)
Instruksi mesin mengoperasikan data. Kategori data umum yang sangat penting adalah : Addresses (alamat adalah sebuah bentuk data juga) Numbers Integer/floating point Characters IRA (international Reference Alphabet) Lihat di Tbl 7.1 ASCII (American Standard Code for Information Interchange) EBCDIC (Extended Binary Coded Decimal Interchange Code) Logical Data Bits or flags 14
19
Pentium dapat mengeporasikan data yg panjangnya sbb: 8 bit => Byte
Pentium Data Types Pentium dapat mengeporasikan data yg panjangnya sbb: 8 bit => Byte 16 bit => word 32 bit =>double word 64 bit => quad word Apabila data diakses melalui bus 32-bit, masalah pemindahan data akan dilakukan dengan memakai satuan double word yang diawali pada alamat-alamat yg habis dibagi 4. 15
20
Specific Data Types pada Pentium
General – Isinya sembarang bilangan biner Integer – Bilangan biner bertanda Ordinal – Integer tdk bertanda Unpacked BCD – Satu digit bilangan per byte Packed BCD - 2 BCD digits per byte Near Pointer - 32 bit offset within segment Bit field – sejumlah bit yg berdekatan yg posisi setiap bit nya dianggap sebagai unit yg independen. Byte String – sejumlah byte,word, double word yg berdekatan Floating Point Menggunakan Little-Endian 16
21
Pentium Floating Point Data Types
17
22
PowerPC Data Types PowerPC dpt beroperasi dengan menggunakan data yang panjangnya : 8-bit (byte), 16-bit (halfword), 32-bit (word) and 64-bit (doubleword) Beberapa instruksi mengharuskan operand 32 bit Salah satu ciri PowerPC yg menarik adalah dapat menggunakan big-endian or little-endian Fixed point processor mengenal jenis data : Unsigned byte, unsigned halfword, signed halfword, unsigned word, signed word, unsigned doubleword, byte string Floating point IEEE 754 Single or double precision
23
Types of Operation (Jenis Jenis Operasi)
Data Transfer Arithmetic Logical Conversion I/O System Control Transfer of Control 18
24
May be different instructions for different movements
Data Transfer Specify Source (bisa memori, register, stack) Destination (bisa memori, register, stack) Amount of data May be different instructions for different movements e.g. IBM 370 Move memindahkan word dari sumber ke tujuan Store memindahkan word dari prosesor ke memori Load memindahkan word dari memori ke prosesor dll Or one instruction and different addresses e.g. VAX 19
25
Add, Subtract, Multiply, Divide Signed Integer, unsigned integer
Arithmetic Add, Subtract, Multiply, Divide Signed Integer, unsigned integer Floating point Packed BCD May include Increment (a++) Decrement (a--) Negate (-a) Absolute (nilai mutlak) 20
26
Shift and Rotate Operations
27
Logical Bitwise operations AND, OR, NOT 21
28
Conversion E.g. Binary to Decimal 22
29
Terdapat bermacam-macam pendekatan al :
Input/Output Terdapat bermacam-macam pendekatan al : May be done using data movement instructions (memory mapped) May be done by a separate controller (DMA) Isolated I/O Programmed 23
30
Biasanya digunakan dalam sistem operasi.
Systems Control Privileged instructions (instruksi khusus yg hanya dpt dieksekusi ketika prosesor berada dlm keadaan khusus. Biasanya digunakan dalam sistem operasi. 24
31
Transfer of Control (Pemindahan Kontrol)
Branch (instruksi percabangan) jump bersyarat dan jump tidak bersyarat e.g. branch to x if result is zero (bersyarat) jmp x (tdk bersyarat) Skip e.g. increment and skip if zero Subroutine call interrupt call 25
32
Branch Instruction
33
Nested Procedure Calls
34
Use of Stack
35
Address Value (1) Value(2) 184 12 78 185 34 56 186 56 34 186 78 12
Byte Order (example) Address Value (1) Value(2) i.e. read top down or bottom up? 28
36
Example of C Data Structure
37
Alternative View of Memory Map
38
Pentium (80x86), VAX are little-endian
Standard… What Standard? Pentium (80x86), VAX are little-endian IBM 370, Moterola 680x0 (Mac), and most RISC are big-endian Internet is big-endian Makes writing Internet programs on PC more awkward! WinSock provides htoi and itoh (Host to Internet & Internet to Host) functions to convert 30
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.