Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

William Stallings Computer Organization and Architecture 6 th Edition Chapter 10 Instruction Sets: Characteristics and Functions.

Presentasi serupa


Presentasi berjudul: "William Stallings Computer Organization and Architecture 6 th Edition Chapter 10 Instruction Sets: Characteristics and Functions."— Transcript presentasi:

1 William Stallings Computer Organization and Architecture 6 th 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

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

4 Where have all the Operands gone? Operand sumber dan hasil dapat berada disalah satu dari daerah sbb: 1.Main memory (or virtual memory or cache) 2.CPU register 3.I/O device

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

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)

9 Number of Addresses (a) 3 addresses —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

10 Number of Addresses (b) 2 addresses —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

11 Number of Addresses (c) 1 address —Implicit second address —Usually a register (accumulator) —Banyak digunakan pada komputer komputer sebelunya.

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

13 Contoh: Diketahui persamaan sbb: Y = (A - B) / (C + D x E) Buat program nya dengan : 1.Instruksi 3 alamat 2.Instruksi 2 alamat 3.Instruksi 1 alamat

14 Contoh: Instruksi 3 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 STOR Y  Y = AC 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

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 : 1.Operation repertoire: +Berapa banyak operasi yg harus disediakan +Sekompleks apakah operasi itu seharusnya ? 2.Data types (berbagai tipe data pada saat operasi dijalankan)

17 Design Decisions (2) 3.Instruction formats (meliputi panjang instruksi, jumlah alamat, panjang Opcode Field) 4.Registers +Number of CPU registers available +Which operations can be performed on which registers? 5.Addressing modes ( mode untuk menspesifikasikan alamat suatu operand )

18 Types of Operand (Jenis-jenis Operand) Instruksi mesin mengoperasikan data. Kategori data umum yang sangat penting adalah : 1.Addresses (alamat adalah sebuah bentuk data juga) 2.Numbers –Integer/floating point 3.Characters –IRA (international Reference Alphabet) Lihat di Tbl 7.1 –ASCII (American Standard Code for Information Interchange) –EBCDIC (Extended Binary Coded Decimal Interchange Code) 4.Logical Data –Bits or flags

19 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.

20 Specific Data Types pada Pentium 1.General – Isinya sembarang bilangan biner 2.Integer – Bilangan biner bertanda 3.Ordinal – Integer tdk bertanda 4.Unpacked BCD – Satu digit bilangan per byte 5.Packed BCD - 2 BCD digits per byte 6.Near Pointer - 32 bit offset within segment 7.Bit field – sejumlah bit yg berdekatan yg posisi setiap bit nya dianggap sebagai unit yg independen. 8.Byte String – sejumlah byte,word, double word yg berdekatan 9.Floating Point 10.Menggunakan Little-Endian

21 Pentium Floating Point Data Types

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

24 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

25 Arithmetic Add, Subtract, Multiply, Divide Signed Integer, unsigned integer Floating point Packed BCD May include —Increment (a++) —Decrement (a--) —Negate (-a) —Absolute (nilai mutlak)

26 Shift and Rotate Operations

27 Logical Bitwise operations AND, OR, NOT

28 Conversion E.g. Binary to Decimal

29 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

30 Systems Control Privileged instructions (instruksi khusus yg hanya dpt dieksekusi ketika prosesor berada dlm keadaan khusus. Biasanya digunakan dalam sistem operasi.

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

32 Branch Instruction

33 Nested Procedure Calls

34 Use of Stack

35 Byte Order (example) AddressValue (1)Value(2) i.e. read top down or bottom up?

36 Example of C Data Structure

37 Alternative View of Memory Map

38 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


Download ppt "William Stallings Computer Organization and Architecture 6 th Edition Chapter 10 Instruction Sets: Characteristics and Functions."

Presentasi serupa


Iklan oleh Google