45
AIE Processor Concept

AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

Embed Size (px)

Citation preview

Page 1: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

AIE Processor Concept

Page 2: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

Sequential Processor Stages

DecodeFetch Execute Mem WB

Page 3: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

Pipelining Processor Stages

DecodeFetch Execute Mem

PipEline

WB

PipEline

PipEline

PipEline

Page 4: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

Transaction Table

Five Stages Pipeline

Page 5: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

Pipelining Design

• As Queue– Problems:

• High Circuit Complexity• If Queue is Full in a stage the previous must halt until

the queue release item, so there is no great benefit.

– Implementation• Shift Register Circuit & Registers [Waste Cycles] • Counter & Registers [Save Cycles]

Page 6: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

Shift Register Circuit & Registers

Page 7: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

Counter & Registers Pipeline

Page 8: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

Pipeline Optimal Designs

• Sync Pipeline– All Pipeline Modules Attached with Same Cycle

Controller– Cycle Time = Max Stage Clock– Problems

• There is Waste in Clock but not to much• Every stage not aware of the status of previous stage.

Page 9: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

Pipeline Optimal Designs

• A Sync Pipeline– Every Stage aware of the status of the previous stage

using internal handshaking signals• Ready – Acknowledge Signals

– Advantages• There is no clock waste thanks to handshaking signals• There is no Max Cycle Clock, every instruction take the

clocks need to perform it’s operation.

– Disadvantages• In Control Unit you must specify every instruction timing in

every stage of the pipelined processor

Page 10: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

Pipeline Optimal Designs

• Sync Pipeline & A Sync Pipeline

Page 11: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

Sync Pipeline Implementation

Page 12: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

Key Feature of AIE Processor

• 32-bit Pipelined Processor• Processor Support 48 Instruction• Processor Interface with Interleaved Memory• Interface with LCD Terminal using Instructions• Processor have it’s Assembly Interpreter

Page 13: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

Instructions

Page 14: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

Ir register

IR Register8 bit

INSTRUCIONSROM

Address Bus : 8 bit

Data Bus : 32 bit

32 bit

Modes Select

24 bit

Page 15: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

ROM CONTROLS11-CMP reg1,reg2 -3e00200012-IPNT immediate -4c02200013-RPNT reg -2c02200014-STOWE address,reg -4c10200015-STOWO address,reg -4c14200016-STODW address,reg -4c30200017-LODWE reg,address -4c19500018-LODWO reg,address -4c1d500019-LODDW reg,address -4c3950001a-JG address -8c400000 1b-JE address -8c8000001c-JL address -8cc000001d-JC address -8d0000001e-JNG address -8c400800 1f-JNE address -8c80080020-JNL address -8cc0080021-JNC address -8d00080022-JMP address -8d400000

00-NOP -0000800001-MOV reg,immediate -8c00500002-ADD d.reg,s1.reg,s2.reg -2000700003-ADC d.reg,s1.reg,s2.reg -2200700004-SUB d.reg,s1.reg,s2.reg -2400700005-SUW d.reg,s1.reg,s2.reg -2600700006-MUL d.reg,s1.reg,s2.reg -2800700007-DIV d.reg,s1.reg,s2.reg -2a00700008-TRSA d.reg,s1.reg -2c00700009-TRSB d.reg,s2.reg -2e0070000a-AND d.reg,s1.reg,s2.reg -300070000b-OR d.reg,s1.reg,s2.reg -320070000c-NAND d.reg,s1.reg,s2.reg -340070000d-NOR d.reg,s1.reg,s2.reg -360070000e-XOR d.reg,s1.reg,s2.reg -380070000f-XNOR d.reg,s1.reg,s2.reg -3a00700010-NOT d.reg,s1.reg -3c007000

Page 16: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

Main Modes

IMMEDIATE MODE

REGISTER , REGISTER MODE

MEMORY MODE

Page 17: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

IMMEDIATE MODE

ROM- address

8bit

REG-address

5 bit3bit

IMMEDIATE

16 bit

IR Register :

Instructions :*MOV reg,immediate -8c005000*JG address -8c400000 *JE address -8c800000*JL address -8cc00000*JC address -8d000000*JNG address -8c400800

*JNE address -8c800800*JNL address -8cc00800*JNC address -8d000800*JMP address -8d400000

Page 18: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

REGISTER REGISTER MODE

IR Register :

ROM- address

8bit

Source_REG2

5 bit3bit

Source_REG1

5 bit3bit

Destination_REG

5 bit3bit

Instructions :*ADD d.reg,s1.reg,s2.reg -20007000*ADC d.reg,s1.reg,s2.reg -22007000*SUB d.reg,s1.reg,s2.reg -24007000*SUW d.reg,s1.reg,s2.reg -26007000*MUL d.reg,s1.reg,s2.reg -28007000*DIV d.reg,s1.reg,s2.reg -2a007000*TRSA d.reg,s1.reg -2c007000*TRSB d.reg,s2.reg -2e007000

*AND d.reg,s1.reg,s2.reg -30007000*OR d.reg,s1.reg,s2.reg -32007000*NAND d.reg,s1.reg,s2.reg -34007000*NOR d.reg,s1.reg,s2.reg -36007000*XOR d.reg,s1.reg,s2.reg -38007000*XNOR d.reg,s1.reg,s2.reg -3a007000*NOT d.reg,s1.reg -3c007000*CMP reg1,reg2 -3e002000

Page 19: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

Indirect addressing MODE

IR Register :

8bit 5 bit3bit5 bit

Instructions :

*IDSTOWE address - 2c102000*IDSTOWO address - 2c142000*IDSTODW address - 2c302000*IDLODWE address - 2c187000*IDLODWO address - 2c1c7000*IDLODDW address - 2c387000

ROM- address

8bit

Source_REG2

5 bit3bit

Source_REG1

5 bit3bit

Destination_REG

5 bit3bit

Page 20: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

MEMORY MODE

IR Register :

ROM- address

8bit

IMMEDIATE

16 bit

REG-address

3bit 5 bit

Instructions :*STOWE address,reg -4c102000*STOWO address,reg -4c142000*STODW address,reg -4c302000*LODWE reg,address -4c195000*LODWO reg,address -4c1d5000*INC reg,immediate - 40007000*DEC reg,immediate -44007000

*LODDW reg,address -4c395000*IPNT immediate -4c022000*PUSHWE reg -4c102400*PUSHWO reg -4c142400*PUSHDW reg -4c302400*POPWE reg -4c195600*POPWO reg -4c1d5600*POPDW reg -4c395600

Page 21: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

INSTRUCTION set

B31,B30,B29

(1)

B28,B27,B26,B25

(2)

B24,B23,B22

(3)

B21,B20,B19,B18

(4)

B17 B16 B15 B14,B13,B12 B11

(5) (6) (7) (8) (9)1) Select Mode : {B31: Immediate mode , B30: Memory Mode , B29 : Register-Register Mode}2) Execution Control3) Execution Conditional Control4) Memory Control : {B21: BHE , B20:Select Memory , B19:Memory R/w , B18:Memory Even/Odd }5) Select Write Back Block or TTY Block6) Select The Input of the Write Back Block From Alu Result or Memory Output7) No Operation8) Register File Control { B14:Write Register , B13:OE Register ,B12:Enabel Write Select Register }9) Invert Condition

Page 22: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

Tracing Some Instructions

Page 23: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

MIPS Architecture based

Page 24: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

For Example

• Executing These Two Instruction Sequentially • I1:R1=R2+R3• I2:R4=R2 AND R1

Page 25: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

I1: Fetching

I2: Still in Memory

l1

Page 26: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

I1: Decoding & RegFetch R2 R3

I2: Fetching

l2 l1

Page 27: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

I1: Execute (R2 + R3)

I2: Decoding & RegFetch R2 R1

l2 l1

Page 28: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

I1: MEM[no Operation] (R2 + R3)

I2: Execute (R2 AND R1)

l2 l1

Page 29: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

I1: Write Back R1=(R2 + R3)

I2: MEM[no Operation] (R2 AND R1)

Data Stored In R1

l2 l1

Page 30: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

Solution

• I1:R1=R2+R3• NOP• NOP• NOP• I2:R4=R2 AND R1

Page 31: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

I1: Fetching

I2: Still in Memory

l1

Page 32: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

I1: Decoding & RegFetch R2 R3

I2: Still in Memory

L1NOP

Page 33: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

I1: Execute (R2 + R3)

I2: Still in Memory

NOP L1NOP

Page 34: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

I1: MEM[no Operation] (R2 + R3)

I2: Still in Memory

NOP L1NOPNOP

Page 35: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

I1: Write Back R1=(R2 + R3)

I2: Fetching

Data Stored In R1

L1NOPNOP NOPL2

Page 36: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

I1: Terminated

I2: Decoding & RegFetch R2 R1

L2 NOP NOP NOP

Page 37: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

I1: Terminated

I2:Execute (R2 AND R1)

L2 NOP NOP

Page 38: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

I1: Terminated

I2:MEM[No Operation] (R2 AND R1)

L2 NOP

Page 39: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

I1: Terminated

I2: Terminated

Page 40: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

Statistics & Comparisons

Page 41: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

Cisc Vs RiscCisc:

-Richer instruction set but very complex circuit.-Instructions generally take more than 1 clock to execute.-Instructions of a variable size.Risc:-Instructions execute in one clock cycle.-Uniformed length instructions and fixed instruction format.-Simple instructions and circuit.

Page 42: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

Speed:With Pipelining:•Each stage takes 4 clock cycles•5 stages IF,ID,EX,MEM,WB•If clock rate 5 MHz then time for performing an

instruction per pipeline stage is 0.8 µsec.

Without Pipelining:•If clock rate 5 MHz then time for performing an

instruction is 4 µsec.

Page 43: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

MOV r1,05hMOV r2,04hADD r3,r1,r2STODW r3,1234h

Pipelining

If

ID

NOP NOP

If

If ID

ID EX MEM

If ID EX MEM

WB

NOP

Page 44: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

Average no. of stall cycles per instruction is 0.75

Speed up is 2.85

Page 45: AIE Processor Concept. Sequential Processor Stages DecodeFetchExecuteMemWB

Thank you