معماری کامپیوتر فصل 9

Preview:

Citation preview

پطزاظؾ ذط لل ای ثطزاضی

9فمل

حبخی لبزلی

پطزاظؾ ذط لل ای ثطزاضی

RISCذط لل •

پطزاظؾ ثطزاضی•

پطزاظـگط آضای•

پطزاظؾ هاظی•

ذط لل•

ذط لل حؽبثی•

ذط لل زؼتضالعول•

حاجی صادقی 9معماری کامپیوتر فصل 2

پطزاظؾ هاظی

پطزاظؾ هاظی ث هعی ثکبضگیطی تکیک بی •.اؼت پطزاظؾ وعهبى زاز بهتعی زض

ؼیؽتن افعایؿ ؼطعت هحبؼجبتث هظض •بی کبهپیتطی

حاجی صادقی 9معماری کامپیوتر فصل 3

پطزاظس ثب احسبی عولیبتی چس گب

ؼیؽتن هوکي اؼت زاضای ز یب چس

ALU ثبـس ثبثطایيهی تاس ز یب چس زؼتض ضا

ثطض وعهبى اخطا . کس

حاجی صادقی 9معماری کامپیوتر فصل 4

Adder-subtractor

Integer multiply

Floatint-pointadd-subtract

Incrementer

Shift unit

Logic unit

Floatint-pointdivide

Floatint-pointmultiply

Processorregisters

To Memory

ثجبتبی پطزاظس

خوع تفطیك گط

ضطة کس لحیح

احس هطمی

احس ـیفت

افعایؿ گط

خوع تفطیك کس ـبض-هویع

ـبض-ضطة هویع

تمؽین کس هویع ـبض

(:Flynnزؼت ثسی )یکی اظ ضـب ثطای طجم ثسی پطزاظؾ هاظی•

پطزاظؾ هاظی هوکي اؼت ضی ضـت زؼتضات یب ضی ضـت •زاز ب یب ط ز ثبـس

(SISD)ضـت تک زؼتضی، ضـت تک زاز ای •

(SIMD)ضـت تک زؼتضی، ضـت چس زاز ای •

(MISD)ضـت چس زؼتضی، ضـت تک زاز ای •

(MIMD)ضـت چس زؼتضی، ضـت چس زاز ای •

حاجی صادقی 9معماری کامپیوتر فصل 5

ضـت تک زؼتضی، ضـت تک زاز ای (SISD)

ؼبظهبی اظ یک کبهپیتط ک زض آى یک احس •کتطل، یک احس پطزاظس یک احس حبفظ

حاجی صادقی 9معماری کامپیوتر فصل 6

CU MMPUIS DS

IS

(SIMD)ضـت تک زؼتضی، ضـت چس احسی

هفتطک اؼت یک احس کتطل تحت چس احس پطزاظؾ زاضای •

و پطزاظس ب زؼتضالعول احسی ضا تؼط احس کتطل •.زضیبفت ضی زاز بی هرتلفی عول هی کس

تفکیل ـس تب زض ( ثرؿ)حبفظ اظ چس هبژلاحس هفتطک •یک ظهبى ثتاس ث توبم پطزاظس ب اضتجبط ثطلطاض کس

حاجی صادقی 9معماری کامپیوتر فصل 7

CU

PU1

PUn

PU2

MM1

MMn

MM2

DS1

DS2

DSn

IS

IS

Shared memmory

(MISD)ضـت چس زؼتضی، ضـت تک زاز ای

فمط اظ ظط تئضی حبئع اویت اؼت

حاجی صادقی 9معماری کامپیوتر فصل 8

PU1

PUn

PU2

DS

CU1

CUn

CU2

IS1

IS2

ISn

MM1MMn MM2

IS1

IS2

ISn

DS

Shared memory

(MIMD)ضـت چس زؼتضی، ضـت چس زاز ای

کبهپیتط بیی ک تاى پطزاظؾ چسیي ثطبه ضا •.زض یک ظهبى زاضس

حاجی صادقی 9معماری کامپیوتر فصل 9

PU1

PUn

PU2

DSCU1

CUn

CU2

IS1

IS2

ISn

IS1

IS2

ISn

MM1

MMn

MM2

Shared memory

vv

پطزاظؾ هاظی

زض آى خعء ظیط اعوبل هحبؼج ب یب فبظبی ؼیکل )پطزاظؾ ذط لل -1

(اخطا هی ـس( وعهبى)زؼتضالعول ثمضت وپؾ

(زضثبض هحبؼجبت ثطزاضب هبتطیػ بی ثعضگ)پطزاظؾ ثطزاضی -2

ثط ضی آضای بی ثعضگی اظ زاز ب عول )پطزاظس بی آضای ای -3

(هی وبیس

حاجی صادقی 9معماری کامپیوتر فصل 10

ذط لل

ذط لل تکیکی اؼت ک یک پطزاظؾ ؼطی ضا ث عولیبت خعئی •تفکیک هی وبیس ط عول خعئی زض همطع ذبلی وعهبى ثب

.ؼبیط همبطع اخطا هی گطزز

ط لطع اظ یک ثجبت ضزی ثسجبل آى یک هساض تطکیجی ؼبذت •.ـس اؼت

حاجی صادقی 9معماری کامپیوتر فصل 11

هثبلی اظ پطزاظؾ لل اییک عول تطکیجی ضطة خوع وطا ثب

ضـت ای اظ اعساز

حاجی صادقی 9معماری کامپیوتر فصل 12

R4

Ai

R1 R2

ضطة کس

R3

خوع کس

R5

MemoryBi Ci

1قطعو

2قطعو

3قطعو

Ai * Bi + Ci for i = 1, 2, 3, ... , 7

R1 Ai, R2 Bi Load Ai , Bi

R3 R1 * R2, R4 Ci Ci ضرب و دریافت

R5 R3 + R4 جمع

هحتیبت ثجبت زض هثبل ذط لل

حاجی صادقی 9معماری کامپیوتر فصل 13

شوارهپالص

ضاعت

1لطع 2لطع 3لطع

R1 R2 R3 R4 R5 1 A1 B1 - - - - 2 A2 B2 A1 * B1 C1 - - 3 A3 B3 A2 * B2 C2 A1 * B1 + C14 A4 B4 A3 * B3 C3 A2 * B2 + C25 A5 B5 A4 * B4 C4 A3 * B3 + C36 A6 B6 A5 * B5 C5 A4 * B4 + C47 A7 B7 A6 * B6 C6 A5 * B5 + C58 A7 * B7 C7 A6 * B6 + C69 A7 * B7 + C7

ط عولی ک ثتاس ث ضـت ای اظ خعء عولب ثب پیچیسگی یکؽبی تدعی ـز هی تاس تؼط یک پطزاظس ذط لل ای پیبز ؼبظی ـز

ایي تکیک ثطای آى زؼت اظ کبضثطزب هفیس اؼت ک یبظ ث تکطاض عولیبت یکؽبی ثط ضی هدوع ای اظ زاز بی هرتلف زاضس

حاجی صادقی 9معماری کامپیوتر فصل 14

ؼبذتبض عوهی یک ذط لل چبض لطع ایعولسب اظ توبم لطع ب ثب تطتیت ثبثتی عجض هی کس-

ک تبیح هیبی لطعبت ضا گ هی Riلطعبت تؼط ثجبت بی -زاضز اظ ن خسا ـس اس

حاجی صادقی 9معماری کامپیوتر فصل 15

Clock

Input R11 2 R2 3 R3 4

1 8765432 9

1

4

3

2

Clock cycles

T1 T6T3 T5T2 T4

T1 T6T3 T5T2 T4

T1 T6T3 T5T2 T4

T1 T6T3 T5T2 T4

Segm

ent

R4

ؽجت یک پطزاظؾ غیط ذط لل ای ث پطزاظؾ ذط لل:ؼطعت پطزاظؾ

حاجی صادقی 9معماری کامپیوتر فصل 16

p

n

tnK

ntS

)1(

1 8765432 9

1

4

3

2

Clock cycles

T1 T6T3 T5T2 T4

T1 T6T3 T5T2 T4

T1 T6T3 T5T2 T4

T1 T6T3 T5T2 T4

Seg

men

t

(task)تعساز تکلیف

ظهبى ثطای تکویل ط تکلیف 6tp= زض غیط ذط لل ای

ؽجت یک پطزاظؾ غیط ذط لل ای ث پطزاظؾ ذط لل:ؼطعت پطزاظؾ

حاجی صادقی 9معماری کامپیوتر فصل 17

p

n

tnK

ntS

)1(

1 8765432 9

1

4

3

2

Clock cycles

T1 T6T3 T5T2 T4

T1 T6T3 T5T2 T4

T1 T6T3 T5T2 T4

T1 T6T3 T5T2 T4

Seg

men

t

تعساز لطع

پبلػ ؼبعت

ؽجت یک پطزاظؾ غیط ذط لل ای ث پطزاظؾ :ؼطعت پطزاظؾ ذط لل

حاجی صادقی 9معماری کامپیوتر فصل 18

49

36

)164(

6.6

)1(

p

p

p

p

p

n

t

t

t

t

tnK

ntS

1 8765432 9

1

4

3

2

Clock cycles

T1 T6T3 T5T2 T4

T1 T6T3 T5T2 T4

T1 T6T3 T5T2 T4

T1 T6T3 T5T2 T4

Seg

men

t

پبلػ ؼبعت 9= ذط لل

حاجی صادقی 9معماری کامپیوتر فصل 19

p

n

tnK

ntS

)1(

p

n

t

tSIfn ط چ تعساز تکلیف ب اضبف ـس

اگط فطن کین ک ظهبى الظم ثطای غیط ذط لل وبى ظهبى زض ذط

لل ثبـس k

t

ktSktt

p

p

pn

ثبـس kتئضی زض ذط لل هی تاس حساکثط ؽجت ؼطعتضاثط فق فبى هی زس اؼتتعساز لطع زض ذط لل kک زض آى

هثبل

(k+n-1)tp=(4+99)x20=2060nsثطای تکویل پطزاظؾ یبظ زاضز 2060nsؼیؽتن ذط لل، ظهبی ثطاثط

tn=ktp=4x20=80ns ثب ایي فطن ک

nktp=100x80=8000ns تکلیف یبظ ذاس ـس 100ثطای تکویل 8000nsؼیؽتن غیط ذط لل ظهبی ثطاثط ثب

ؽجت ؼطعت ثطاثط اؼت ثب

8000/2060=3.88

هیل هی کس4ثب افعایؿ تعساز تکلیف ب، افعایؿ ؼطعت ثؽوت

حاجی صادقی 9معماری کامپیوتر فصل 20

tp=20ns:ظهبى پطزاظؾ زض ط لطع k=4: تعساز لطع n=100: تعساز تکلیف

زض ططاحی کبهپیتط ز ظهی ثطای ذط لل خز زاضز

اعوبل حؽبثی ضا ثمضت : ذط لل حؽبثی -1خعء عول ب ثطای اخطا زض لطعبت ذط لل

تمؽین هی کس

ضی ضـت ای اظ : ذط لل زؼتضالعول -2زؼتضات عول هی کس

حاجی صادقی 9معماری کامپیوتر فصل 21

(ذط لل ثطای خوع تفطیك هویع ـبض)ذط لل حؽبثی

حاجی صادقی 9معماری کامپیوتر فصل 22

R

هقایطو نواىابا تفریق

a b

R

انتخاب نما

نوا ىا

R

A B

ردیف کردى هانتیص ىا

هانتیص ىا

تفاضل

R

جوع یا تفریق هانتیص

R

نرهالیسه کردى نواىا

R

R

ىن ریف کردى نواىا

R

1قطعو :

2قطعو :

3قطعو :

4قطعو :

همبیؽ وبب -13-2=1 X=0.9504 x 103

Y = 0.8200 x 102

وطزیف کطزى هبتیػ ب -2X = 0.9504 x 103

Y = 0.08200 x 103

خوع یب تفطیك هبتیػ ب -3

Z = 1.0324 x 103

طهبلیع کطزى تید -4

Z = 0.1324 x 104

ذط لل زؼتضالعول

چطذ زؼتضالعول

ثطزاـت زؼتض اظ حبفظ -1

زیکس زؼتض -2

هحبؼج آزضغ هؤثط -3

ثطزاـت عولس اظ حبفظ -4

اخطای زؼتض -5

شذیط تید زض هکبى هبؼت-6

حاجی صادقی 9معماری کامپیوتر فصل 23

Segment 1 :

Segment 4 :

Segment 3 :

Segment 2 :

Fetch instructionfrom memory

Decode instructionand calculate

effective address

Fetch operandfrom memory

Execute instruction

Branch ?

Interrupt ?Interrupthandling

Update PC

Empty pipe

برداشت دضترالعول از حافظو

کذ گشایی دضترالعول هحاضبو آدرش هؤثر

برداشت عولنذ از حافظو

اجرای دضترالعول

برداشت در قبال قفو

PCبينگام ضازی

تخلیو خط للو

افعبة؟

لف؟

1قطعو :

2قطعو :

3قطعو :

4قطعو :

ذط لل زؼتضالعول

لطع ای 4ذط لل زؼتضالعول : هثبل

CPUلطع ذط لل 4

(1FI :زؼتضالعول ثطزاـت

(2DA : زیکس زؼتضالعول هحبؼجآزضغ هؤثط

(3FO :ثطزاـت عولس

(4EX :اخطا

حاجی صادقی 9معماری کامپیوتر فصل 24

Segment 1 :

Segment 4 :

Segment 3 :

Segment 2 :

Fetch instructionfrom memory

Decode instructionand calculate

effective address

Fetch operandfrom memory

Execute instruction

Branch ?

Interrupt ?Interrupthandling

Update PC

Empty pipe

برداشت دضترالعول از حافظو

کذ گشایی دضترالعول هحاضبو آدرش هؤثر

برداشت عولنذ از حافظو

اجرای دضترالعول

برداشت در قبال قفو

بينگام ضازی PC

تخلیو خط للو

افعبة؟

لف؟

1قطعو :

2قطعو :

3قطعو :

4قطعو :

1 32

1

4

3

2

7

6

5

87654 9 121110 13

FI EXFODA

FI EXFODA

FI EXFODA

FI EXFODA

FI EXFODA

FI EXFODA

FI EXFODA

FI

Instruction :

(Branch)

Step :

BranchNo Branch

انشعاب: 3دضترالعول

(:هفکل عوس 3)احطاف زؼتض ذط لل اظ ضس هعولی

هفکالت هبثع اطالعبت1)

زؼتیبثی وعهبى ز لطع ث حبفظ

اثؽتگی زاز ب( 2

ظهبی ضخ هی زس ک زؼتضی ث تید زؼتض لجلی زیگطی اثؽتگی زاـت ثبـس آى تید ظ ثسؼت یبهس ثبـس

هفکالت افعبة( 3

لف، ثبظگفت اظ )اظ زؼتض افعبة زیگط زؼتضالعولب ضا تغییط هی زس PCک اضظؾ ...( ظیطضال،

حاجی صادقی 9معماری کامپیوتر فصل 25

اثؽتگی ث زاز ب

اثؽتگی زاز گبهی ضخ هی زس ک زؼتضی، زاز ای ضا ک ظ .آهبز یؽت الظم زاضز

:ضـبی ثطذضز ثب چیي هفکالتی

ؼرت افعاضی•هساضی ک ظیف اؾ ـبؼبیی زؼتضاتی اؼت ک :وجسبی ؼرت افعاضی

.عولسبی هجسا آب هممس عولسبی زؼتضات ثعسی زض ذط لل اؼت

ثب تبذیط کبفی اظ پبلػ بی ؼبعت هفکل ضا هطتفع هی ؼبظس

اؼتفبز اظ ؼرت افعاض ذبلی ثطای ـبؼبیی هفکل ؼپػ : اضؼبل عولستید، ثجبت، ALU)خت زی ث زاز اظ ططیك هؽیطبی ذبلی ثیي لطعبت

( ث لضت هؽتمین ALUضزی

(ؼپطزى هؽئلیت ضفع هفکل ث کبهپبیلط)طم افعاضی •

(ثب اخطای زؼتضات یچ کبض تغییط تطتیت اخطای زؼتضالعول ب)ثبض کطزى ثب تبذیط

حاجی صادقی 9معماری کامپیوتر فصل 26

زؼتکبضی زؼتضالعول بی افعبة

زؼتضات افعبة تطتیت اخطای ضـت زؼتضات•

ضا ـکؽت هفکالتی ضا زض ذط لل ایدبز هی وبیس

حاجی صادقی 9معماری کامپیوتر فصل 27

RISCذط لل

RISCاحس پطزاظؾ

ذط لل زؼتضالعول

اخطای زؼتضالعول زض یک ؼیکل ؼبعت

(زض ـبذت حسالل کطزى تبذیطات)پفتیجبی کبهپبیلط

ذط لل زؼتضالعول ؼ لطع ای: هثبل

حاجی صادقی 9معماری کامپیوتر فصل 28

زؼتکبضی زؼتضالعول بی افعبة

RISCاحس پطزاظؾ

(ؼ عول خعئی زض ؼ لطع)ؼیکل زؼتض

I- ثطزاـت زؼتض

A- عولALU

E- اخطای زؼتض

حاجی صادقی 9معماری کامپیوتر فصل 29

عولی ثطای زؼتضالعولبی زؼتکبضی-1هحبؼج آزضغ هؤثط یک زؼتض ثبضکطزى یب شذیط -2هحبؼج آزضغ افعبة ثطای زؼتضالعول کتطل ثطبه-3

ثجبت هممس-1حبفظ زاز -2افعبة-3

RISCذط لل

ثبض کطزى ثب تبذیط•

کبهپبیلط یک زؼتض•

یچ کبض زض ثطبه هی گدبس

حاجی صادقی 9معماری کامپیوتر فصل 30

1 32 654

1. Load R1

4. Store R3

3. Add R1+R2

2. Load R2

I EA

I EA

I EA

I EA

(a) Pipeline timing with data conflict

1 32 654

1. Load R1

4. Add R1+R2

2. Load R2

I EA

I EA

I EA

I EA

(b) Pipeline timing with delayed load

5. Store R3

3. No-operation

7

I EA

Clock cycles :

Clock cycles :

3

213

2

1

3:4

:3

2:2

1:1

RaddressMSTORE

RRRADD

addressMRLOAD

addressMRLOAD

RISCذط لل

افعبة ثب تبذیط•

:هثبل• R1ثبض کطزى حبفظ زض

R2افعایؿ

R4ثب R3خوع

R6اظ R5تفطیك

Xافعبة ث آزضغ

حاجی صادقی 9معماری کامپیوتر فصل 31

1 32 654

1. Load

4. Subtract

3. Add

2. Increment

I EA

I EA

I EA

I EA

(a) Using no-operation instructions

Clock cycles :

1 32 654

I EA

I EA

I EA

I EA

(b) Rearranging the instructions

7

I EA

Clock cycles :

5. Branch to X

8. Instruction in X

6. No-operation

7. No-operation

7 1098

I EA

I EA

I EA

I EA

1. Load

5. Subtract

4. Add

2. Increment

3. Branch to X

6. Instruction in X

8

I EA

PC ثبض هی ـز

پطزاظؾ ثطزاضی

کبهپیتط بیی ک لبثلیت پطزاظؾ ثطزاضی ضا •کبضثطز زاضسکبضبی ترممی زاضس زض

و بیی اظ ظهی بی کبضثطزی زض پطزاظؾ ثطزاضی

پیؿ ثیی زضاظهست ضع ا•

اکتفبفبت فت•

تحلیل زاز بی ظلعل گبضی•

تفریك پعـکی•

غیط•

حاجی صادقی 9معماری کامپیوتر فصل 32

عولیبت ثطزاضی

DO 20 I = 1, 10020 C(I) = B(I) + A(I)

پطزاظس هعولیInitialize I = 0

20 Read A(I)Read B(I)Store C(I) = A(I) + B(I)Increment I = i + 1If I 100 goto 20

پطزاظس ثطزاضی

C(1:100) = A(1:100) + B(1:100)

اتالف کبهپیتطی ک لبزض ث پطزاظؾ ثطزاضی اؼت • لت هطثط ث ثطزاـت اخطای زؼتضالعول ب

ضا زض حلم ثطبه حصف هی کس

حاجی صادقی 9معماری کامپیوتر فصل 34

حاجی صادقی 9معماری کامپیوتر فصل 35

لبلت زؼتض ثطای پطزاظس ثطزاضی

Operation code

Base address source 1

Base address source 2

Base address destination

Vector length

ضطة هبتطیؽی

حاجی صادقی 9معماری کامپیوتر فصل 36

333231

232221

131211

333231

232221

131211

333231

232221

131211

ccc

ccc

ccc

bbb

bbb

bbb

aaa

aaa

aaa

31132112111111 bababac

Source A

Source B

Multiplier pipeline

Adder pipeline

خط لوله ضرب

(قطعه 4)کننده

خط لوله جمع

(قطعه 4)کننده

ذط لل ثطای هحبؼج یک ضطة زاذلی(لطع 4)ذط لل ضطة کس •(لطع 4)ذط لل خوع کس •

–after 8th clock input

–Four section summation

kkBABABABAC 332211

SourceA

SourceB

Multiplierpipeline

Adderpipeline

» پالس ساعت 4بعد از

A1B1

SourceA

SourceB

Multiplierpipeline

Adderpipeline

A4B4 A3B3 A2B2 A1B1

SourceA

SourceB

Multiplierpipeline

Adderpipeline

SourceA

SourceB

Multiplierpipeline

Adderpipeline

» پالس ساعت...و11، 10، 9بعد از

A8B8 A7B7 A6B6 A5B5 A4B4 A3B3 A2B2 A1B1 A8B8 A7B7 A6B6 A5B5 A4B4 A3B3 A2B2 A1B1

5511 BABA

, , ,

6622 BABA

161612128844

151511117733

141410106622

1313995511

BABABABA

BABABABA

BABABABA

BABABABAC

» بعد از یک پالس ساعت

» پالس ساعت 8بعد از

ثطگی کطزى حبفظپطزاظس بی ذط لل ثطزاضی اغلت یبظ ث زؼتیبثی وعهبى ث ز یب ؼ هجع زاضس–

ثبثطایي حبفظ ضا هی تاى ث تعسازی هبژل ک ث گصضگب بی آزضغ زاز للس .تمؽین کطز

وبس ـکل–، ز ثیت کن اضظـتط آزضغ ثطای AR DRحبفظ زاضای ثجبت چبض هبژل، ط آضای –

هبژل 4تفکیک

(هثال ز هبژل ثطای حبفظ آزضؼبی ظج فطز ثطای ط یک)اهکبى ثطگی کطزى حبفظ–

AR

Memoryarray

DR

AR

Memoryarray

DR

AR

Memoryarray

DR

AR

Memoryarray

DR

Address bus

Data bus

:هعیت حبفظ هبژلییک پطزاظس ثطزاضی زاضای

ثطگی هی nیک حبفظ nعولس ضا اظ nتاس

هبژل هرتلف ثطزاضز

ؼپط کبهپیتط

عولیبت حؽبثی + زؼتضالعولبی ثطزاضی = ؼپط کبهپیتطهویع ـبض ذط لل ای

پطزاظس آضای ای•هحبؼجبت ضا ثط ضی آضای بی ثعضگی اظ زاز ب ادبم هی زس

آضای پطزاظ الحبلی•عی پطزاظس کوکی اؼت ث یک کبهپیتط و هظض هتمل –

.هی گطزز

سف اظ ثکبضگیطی ایگ پطزاظس ب ثبال ثطزى عولکطز کبهپیتط –.اللی زض هحبؼجبت عسزی ذبق اؼت

General-purposecomputer

Input-Outputinterface

Attached arrayProcessor

Main memory Local memoryHigh-speed memory to-

memory bus

(ؼبظهبى تک زؼتضالعول چس زاز ای)SIMDآضای پطزاظ

ایي پطزاظس زؼتضالعولبی ثطزاضی ضا ثب اؼتفبز اظ احسبی –عولیبتی هتعسزی زض پبؼد ث یک زؼتض ادبم هی زس

»C = A + B ci = ai + bi

یک احس حؽبة هویع ،ALUیک )PEiعمط پطزاظؾ ، (ـبض،تعسازی ثجبت عولیبتی

Mi طPE یک حبفظ هحلیM ضا زاضاؼت

حاجی صادقی 9معماری کامپیوتر فصل 41

PE1

PE3

PE2

M1

M3

M2

PEn Mn

Master controlunit

Main memory

9پبیبى فمل

حاجی صادقی 9معماری کامپیوتر فصل 42

حاجی صادقی 9معماری کامپیوتر فصل 43