arkom-1 c isa 2006

Post on 01-Nov-2014

119 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

IF-3531Pengantar Arsitektur Komputer

PENDAHULUAN

FULL ADDER 1 - Bit

MULTIPLIER 2/4 - Bit

ALU 1 - Bit

ALU 1-Bit and Table

Representasi ALU

ALU1-bit

ALU1-bit

ALU1-bit

ALU1-bit

ALU1-bit

ALU1-bit

ALU1-bit

ALU1-bit

ALUSimbol ALU

CPU and Internal Bus

CPU - Internal Architecture System

MainMemory

Arithmetic and Logic Unit

Program Control Unit

InputOutputEquipment

MBR

Arithmetic & Logic Circuits

MQAccumulator

MAR

ControlCircuits

IBR

IR

PC

Address

Instructions& Data

Central Processing Unit (CPU)

IBR : Instruction Buffer RegisterMBR : Memory Buffer RegisterPC : Program Counter IR : Instruction Register MAR : Memory Address RegisterMQ : Memory Queue

MQ : Multiplier QuotientMBR : Memory Buffer Register

Computer ComponentsTop Level View

Three Memory Management Model

Basic Execution Environment – Intel 32 bit

Model InstruksiTwo Step

INSTRUCTION POINTER

CONTROL UNIT

INSTRUCTION DECODER

CODE CACHE

DATA CACHE

Register Set

CODE

Memory

DATA

FLOATING POINT UNIT

Simplified CPU Block Diagram

Addres Bus

Data Bus

i-CACHE

d-CACHE

Instruction Execution Cycle

• Fetch: Control Unit mengaktifkan instruction berikutnya yang ada dalam antrian instruksi (instruction queue) dan menaikkan angka penunjuk pointer instruksi IP kadang disebut dengan istilah lain program counter (PC).

• Decode: Control Unit memeriksa code instruksi (Decode) yang artinya untuk mengetahui apa yang ingin dilakukan oleh code instruksi tsb. Code instruksi kemudian dilepas ke ALU, dengan melepas signal tertentu ke ALU yang mengindijasikan operasi ALU yang harus dikerjakan.

• Fetch operands: Jika code instruksi memiliki operand yang berlokasi di memory, Control Unit beraksi membaca dan mengambil operand dan mengcopy ke internal registers processor.

• Execute: ALU mengksekusi instruction, internal registers berisi operand dan hasil operasi ALU, dapat pula hasil ALU disimpan ke memory. ALU meng-update status flags untuk menyediakan info bagi OS atau User tentang processor state.

• Store output operand: If the output operand is in memory, the control unit uses a write operation to store the data.

Model InstruksiMulti Step

InstructionFetch

OperandFetch

OperandStore

OperandAddressCalculation

InstructionOperationDecoding

DataOperation

OperandAddressCalculation

InstructionAddressCalculation

Multiple Operand

Multiple Operand

Return for String or vector data

Instruction Complete Fetch Next Instruction

CPU

MEMORY

Processor Instructions Set

Instruction Set : ada 3 Class yang umum• 1. Data movement instructions

– Move data from a memory location or register to another memory location or register without changing its form

– Load—source is memory and destination is register– Store—source is register and destination is memory

• 2. Arithmetic and logic (ALU) instructions– Change the form of one or more operands to produce a result

stored in another location– Add, Sub, Shift, etc.

• 3. Branch instructions (control flow instructions)– Alter the normal flow of control from executing the next

instruction in sequence– Br Loc, Brz Loc2,—unconditional or conditional branches

Data Movement Instruction Instruction Meaning Machine

MOV A, B

LDA A, Addr

LWZ R3, A

LI $3, 455MOV R4, doutIN AL, KBDLEA. L (A0), A2

Move 16 bits from memory location A to Location BLoad accumulator A with the byte at memorylocation AddrMove 32-bit data from memory location A toregister R3Load the 32-bit integer 455 into register $3Move 16-bit data from R4 to output port doutLoad a byte from in port KBD to accumulatorLoad the address pointed to by A0 into A2

VAX11M6800

PPC601

MIPS R3000DEC PDP11Intel PentiumM6800

ALU InstructionInstruction Meaning Machine

MULF A, B, C

nabs r3, r1ori $2, $1, 255DEC R2SHL AX, 4

multiply the 32-bit floating point values at mem loc’ns. A and B, store at CStore abs value of r1 in r3Store logical OR of reg $ 1 with 255 into reg $2Decrement the 16-bit value stored in reg R2Shift the 16-bit value in reg AX left by 4 bit pos’ns.

VAX11

PPC601MIPS R3000DEC PDP11Intel 8086

Instruction Meaning Machine

BLSS A, Tgt

bun r2

beq $2, $1, 32

SOB R4, LoopJCXZ Addr

Branch to address Tgt if the least significantbit of mem loc’n. A is set (i.e. = 1)Branch to location in R2 if result of previousfloating point computation was Not a Number(NAN)Branch to location (PC + 4 + 32) if contents of $1 and $2 are equalDecrement R4 and branch to Loop if R4 ¹ 0Jump to Addr if contents of register CX ¹ 0.

VAX11

PPC601

MIPS R3000

DEC PDP11Intel 8086

Branch Instruction

Format dan pseudo code Instruksi, BERBEDA antar masing-masing mesin prosessor.Namun beberapa pabrikan Processor yang berbeda kadang-kadang menyepakati satu model ISA tertentu.

INSTRUCTION POINTER

CONTROL UNIT

INSTRUCTION DECODER

CODE CACHE

DATA CACHE

Register Set

CODE

Memory

DATA

FLOATING POINT UNIT

Simplified CPU Block Diagram

Addres Bus

Data Bus

i-CACHE

d-CACHE

Format ISA

Operand Address

n bit m bit ; n < m

• Opcode : jenis instruksi operasi processor• Operand Address : Alamat Operand ( Register atau Memory )• Jumlah operand address ISA yang dikenal adalah :

– 4 Address– 3 Address– 2 Address– 1 Address– 0 Address

opcode

4 Address ISA

opcode OpAdd1

n bit 4 x m bit

OpAdd2 OpAdd3 OpAdd4

Contoh :

ADD R3, R1, R2, R4 artinya : R3 R1 + R2

R1, R2, R3, dan R4 adalah Register

Biasanya digunakan dengan urutan sebagai berikut : R3 R1 + R2 R4 berisi alamat instruksi berikutnya (PC PC + 1)

3 Address ISA

OpAdd1

n bit 3 x m bit

OpAdd2 OpAdd3

Contoh :

SUB R3, R1, R2 artinya : R3 R1 – R2

opcode

2 Address ISA

OpAdd1

n bit 2 x m bit

OpAdd2

Contoh :

MOV R1, R2 artinya : salin isi R2 ke R1 : R1 R2

Untuk menghtung : R3 R1 * R2, digunakan dengan urutan sebagai berikut : MOV R3, R1 MUL R3, R2 jika diperhatikan perintahnya menjadi 2 baris ….!

opcode

1 Address ISA

n bit 4 x m bit

Operand Address

Contoh :

MUL R4

Bagaimana dengan : R3 R1 + R2

LOAD R1 ADD R2 STORE R3

perhatikan jumlah instruksi menjadi 3 baris

opcode

0 Address ISA

opcode

n bit

Contoh : C A + B

PUSH A PUSH B ADD POP C

Machine View 4 Address

Machine View 3 Address

Machine View 2 Address

Machine View 1 Address

Machine View 0 Address

Instruction Set Principles

TOS

ALUALU ALU ALU

AccumulatorStack Reg. Set Reg. Set

Memory Memory Memory Memory

(a) Stack (b) Accumulator (c) Register-Memory (d) Reg-Reg/Load-Store

Push APush BAddPop C

Load AAdd BStore C

Load R1,AAdd R3,R1,BStore R3,C

Load R1,ALoad R2,BAdd R3,R1,R2Store R3,C

ALU

Memory

Add C,A,B

(e) Memory-Memory

Y = (A-B)/(C+D*E)

3 Op Address 2 Op Address 1 Op Address 0 Op Address

SUB Y,A,BMUL T,D,EADD T,T,CDIV Y,Y,T

MOV Y,ASUB Y,BMOV T,DMUL T,EADD T,CDIV Y,T

LOAD DMUL EADD CSTORE YLOAD ASUB BDIV YSTORE Y

PUSH APUSH BSUBPUSH CPUSH DPUSH EMULADDDIVPOP Y

top related