Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

William Stallings Computer Organization and Architecture 6th Edition

Presentasi serupa


Presentasi berjudul: "William Stallings Computer Organization and Architecture 6th Edition"— Transcript presentasi:

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


Download ppt "William Stallings Computer Organization and Architecture 6th Edition"

Presentasi serupa


Iklan oleh Google