William Stallings Computer Organization and...

Post on 05-Feb-2018

235 views 1 download

Transcript of William Stallings Computer Organization and...

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