platform technology หน่วยความจำแคช cache memory

34
Platform Technology หหหหหหหหหหหหหหห Cache memory

Upload: yeo-clayton

Post on 04-Jan-2016

30 views

Category:

Documents


0 download

DESCRIPTION

Platform Technology หน่วยความจำแคช Cache memory. เนื้อหา. Introduction to cache memory Hit rate/Miss rate Write Policy Replacement algorithm Mapping function. What is Cache memory. A high speed memory closely connected to the processor. Multilevel cache. ทำไมต้อง cache memory?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Platform Technology หน่วยความจำแคช Cache memory

Platform Technology

หน่�วยความจำาแคชCache memory

Page 2: Platform Technology หน่วยความจำแคช Cache memory

เน่��อหา

Introduction to cache memoryHit rate/Miss rateWrite PolicyReplacement algorithmMapping function

Page 3: Platform Technology หน่วยความจำแคช Cache memory

WHAT IS CACHE MEMORY A high speed memory closely connected to the

processor

ProcessorM ain

m em oryC ache

Page 4: Platform Technology หน่วยความจำแคช Cache memory

MULTILEVEL CACHEProcessor

M ainm em ory

C acheL2

C acheL1

Processor

M ainm em ory

C acheL2

C acheL1

Page 5: Platform Technology หน่วยความจำแคช Cache memory

ทำ��ไมต้�อง CACHE MEMORY?

หน่�วยคว�มจำ��หลั�กทำ��ง�น่ได้�ช้��ม�กเม��อเทำ�ยบก�บซี�พี�ย� ก�อปป ! ค��ใน่หน่�วยคว�มจำ��หลั�กม�ใส่�ใน่แคช้ก�อน่แลั�วค�อยให�

ซี�พี�ย�อ��งถึ&งหน่�วยคว�มจำ��แคช้ด้�วยคว�มเร็(วส่�ง โปร็แกร็มส่�วน่ใหญ่�เม��อใช้�หน่�วยคว�มจำ��ต้��แหน่�งหน่&�งแลั�ว ม�ก

จำะอ��น่ค��หน่�วยคว�มจำ��ต้��แหน่�งน่�!น่ๆ อ�กหลั�ยๆ คร็�!ง (locality of reference)

Page 6: Platform Technology หน่วยความจำแคช Cache memory

LOCALITY OF REFERENCE :EXAMPLE

void main (void){

int table[1024];for (i= 0; i<100000; i++)

k = i % 26;c = table[k]printf(“%d”,c);

}

Page 7: Platform Technology หน่วยความจำแคช Cache memory

น่.ย�มต้��งๆ ของ CACHE

Hit : โพีร็เซีส่เซีอร็0พีบข�อม�ลัใน่แคช้ Miss : โพีร็เซีส่เซีอร็0ไม�พีบข�อม�ลัใน่แคช้ Hit rate

จำ��น่วน่คร็�!งทำ��พีบข�อม�ลัใน่แคช้จำ��น่วน่ก�ร็แอกเซีส่หน่�วยคว�มจำ��แคช้

ทำ�!งหมด้

Page 8: Platform Technology หน่วยความจำแคช Cache memory

WRITE POLICYWrite back

เข�ยน่ข�อม�ลัลังใน่แคช้เทำ��น่�!น่ แลั�วค�อยไปเข�ยน่ลังหน่�วยคว�มจำ��หลั�กหลั�งยกเลั.กก�ร็ใช้�แคช้บลั�อกน่�!น่ๆ

ปร็ะส่.ทำธิ.ภ�พีส่�ง - ไม�เหม�ะก�บร็ะบบม�ลัต้.โพีร็เซีส่เซีอร็0

Write throughทำ4กคร็�!งทำ��เข�ยน่ข�อม�ลัใน่แคช้ ให�เข�ยน่ข�อม�ลัลังใน่

หน่�วยคว�มจำ��หลั�กด้�วยปร็ะส่.ทำธิ.ภ�พีต้���กว�� แต้�ส่�ม�ร็ถึใช้�ก�บร็ะบบม�ลัต้.

โพีร็เซีส่เซีอร็0ได้�

Page 9: Platform Technology หน่วยความจำแคช Cache memory

MULTIPROCESSOR

C ache

P rocesso r1

C ache

P rocesso r1

M a inm em ory

Page 10: Platform Technology หน่วยความจำแคช Cache memory

UNIFIED VS SEPARATED CACHE

Unified cache Keeping both program and data More simple and higher hit rate

Separate cache Keeps program in code cache Keeps data in data cache Suitable for Von-Neuman architecture

Page 11: Platform Technology หน่วยความจำแคช Cache memory

UNIFIED CACHE

ProcessorM ain

m em oryC ache

Page 12: Platform Technology หน่วยความจำแคช Cache memory

SEPARATED CACHE

ProcessorM ain

m em ory

codecache

datacache

Page 13: Platform Technology หน่วยความจำแคช Cache memory

VON-NEUMANN ARCHITECTURE AND CACHE

F etch D ecode E xecute W rite

F etch D ecode E xecute W rite

F etch D ecode E xecute W rite

F etch D ecode E xecute W rite

F etch D ecode E xecute W rite

1 c lock 1 c lock 1 c lock 1 c lock 1 c lock 1 c lock 1 c lock 1 c lock

Page 14: Platform Technology หน่วยความจำแคช Cache memory

PENTIUM PRO CACHE

Page 15: Platform Technology หน่วยความจำแคช Cache memory

REPLACEMENT ALGORITHM

แคช้ม�ขน่�ด้เลั(ก เม��อเทำ�ยบก�บหน่�วยคว�มจำ��หลั�ก ต้�องเอ�ของเก��ออกจำ�กแคช้เพี��อใส่�ข�อม�ลัทำ��ต้�องก�ร็ Least Recently used (LRU) Least Frequently Used (LFU) First-in-First-Out (FIFO)

Page 16: Platform Technology หน่วยความจำแคช Cache memory

CACHE MAPPING

Direct mapping Fully associative mapping Set associative mapping

Page 17: Platform Technology หน่วยความจำแคช Cache memory

DIRECT MAPPING

ง��ยต้�อก�ร็ส่ร็��ง ใช้�จำ��น่วน่บ.ต้ของ tag field น่�อย บลั�อก 0 , 128, 256, … , 3968 ไม�ส่�ม�ร็ถึอย��ใน่หน่�วย

คว�มจำ��พีร็�อมๆ ก�น่ได้�

Page 18: Platform Technology หน่วยความจำแคช Cache memory

DIRECT MAPPING

blo

ck0

blo

ck1

blo

ck1

27

blo

ck1

28

blo

ck1

29

blo

ck2

55

blo

ck2

56

blo

ck2

57

blo

ck3

83

blo

ck3

96

8

blo

ck3

96

9

blo

ck4

09

5

Ma

in m

em

ory

G roup0 G roup1 G roup2 G roup31

blo

ck 0

blo

ck 1

blo

ck 1

27

ca

ch

e

tag

tag

tag

tag b lock word

5 7 4

Page 19: Platform Technology หน่วยความจำแคช Cache memory

DIRECT MAPPING

blo

ck0

blo

ck1

blo

ck1

27

blo

ck1

28

blo

ck1

29

blo

ck2

55

blo

ck2

56

blo

ck2

57

blo

ck3

83

blo

ck3

96

8

blo

ck3

96

9

blo

ck4

09

5

Ma

in m

em

ory

G roup0 G roup1 G roup2 G roup31

blo

ck 1

28

blo

ck 3

96

9

blo

ck 3

83

ca

ch

e

1 31 2

tag b lock word

5 7 4

blo

ck2

58

blo

ck1

26

blo

ck 2

58

2

Page 20: Platform Technology หน่วยความจำแคช Cache memory

DIRECT MAPPING

blo

ck0

blo

ck1

blo

ck1

27

blo

ck1

28

blo

ck1

29

blo

ck2

55

blo

ck2

56

blo

ck2

57

blo

ck3

83

blo

ck3

96

8

blo

ck3

96

9

blo

ck4

09

5

Ma

in m

em

ory

G roup0 G roup1 G roup2 G roup31

blo

ck 1

28

blo

ck 3

96

9

blo

ck 4

09

5

ca

ch

e

1 31

31

tag b lock word

5 7 4

blo

ck2

58

blo

ck1

26

blo

ck 2

58

2

Page 21: Platform Technology หน่วยความจำแคช Cache memory

FULLY ASSOCIATIVE MAPPING

หน่�วยคว�มจำ��บลั�อกใด้ๆ ก(ต้�มส่�ม�ร็ถึอย��ใน่แคช้ต้��แหน่�งใด้ก(ได้�

ส่.!น่เปลั�องจำ��น่วน่เกทำใน่ก�ร็ส่ร็��งส่�งม�ก จำ��น่วน่บ.ต้ทำ��ต้�องก�ร็ใน่ tag field ม�จำ��น่วน่ม�ก

Page 22: Platform Technology หน่วยความจำแคช Cache memory

FULLY ASSOCIATIVE MAPPINGb

lock

0

blo

ck1

blo

ck4

09

5

Ma

in m

em

ory

ca

ch

e

tag

tag

tag

tag word

12 4

blo

ck2

blo

ck3

blo

ck4

09

3

blo

ck4

09

4

blo

ck 0

blo

ck i

blo

ck 1

27

blo

ck i

Page 23: Platform Technology หน่วยความจำแคช Cache memory

FULLY ASSOCIATIVE MAPPINGb

lock

0

blo

ck1

blo

ck4

09

5

Ma

in m

em

ory

ca

ch

e

2 i

40

93

tag word

12 4

blo

ck2

blo

ck3

blo

ck4

09

3

blo

ck4

09

4

blo

ck 2

blo

ck i

blo

ck 4

09

3

blo

ck i

Page 24: Platform Technology หน่วยความจำแคช Cache memory

SET-ASSOCIATIVE MAPPING

จำ�บข�อด้�ของ Fully-associative แลัะ Direct mapped ม�ร็วมก�น่

ส่�ม�ร็ถึออกแบบให�ม�หลั�ย way ทำ��ส่�ม�ร็ถึเก(บข�อม�ลั

Page 25: Platform Technology หน่วยความจำแคช Cache memory

2-WAY SET ASSOCIATIVE MAPPED

blo

ck0

blo

ck1

blo

ck6

3

blo

ck6

4

blo

ck6

5

blo

ck1

27

blo

ck1

28

blo

ck1

29

blo

ck2

55

blo

ck4

03

2

blo

ck4

03

3

blo

ck4

09

5

Ma

in m

em

ory

G roup0 G roup1 G roup2 G roup63

block 1

block 3

block 127

tag

tag

tag

tag set word

6 6 4

block 0

block 2

block 126

cache

tag

tag

tag

set0

set1

set63

Page 26: Platform Technology หน่วยความจำแคช Cache memory

2-WAY SET ASSOCIATIVE MAPPED

blo

ck0

blo

ck1

blo

ck6

3

blo

ck6

4

blo

ck6

5

blo

ck1

27

blo

ck1

28

blo

ck1

29

blo

ck2

55

blo

ck4

03

2

blo

ck4

03

3

blo

ck4

09

5

Ma

in m

em

ory

G roup0 G roup1 G roup2 G roup63

block 129

block 127

63

2

1

tag set word

6 6 4

block 64

block 65

block 63

cache

1

1

0

set0

set1

set63

block 4032

Page 27: Platform Technology หน่วยความจำแคช Cache memory

4-WAY SET ASSOCIATIVE MAPPEDb

lock

0

blo

ck1

blo

ck3

1b

lock

32

blo

ck3

3

blo

ck6

3

blo

ck6

4

blo

ck6

5

blo

ck9

5

blo

ck4

06

4

blo

ck4

06

5

blo

ck4

09

5

Ma

in m

em

ory

G roup0 G roup1 G roup2 G roup128

b lock 3

b lock 7

b lock 127

tag

tag

tag

tag set word

7 5 4

b lock 2

b lock 6

b lock 126

cache

tag

tag

tag

set0

set1

set31

b lock 1

b lock 5

b lock 125

tag

tag

tag

b lock 0

b lock 4

b lock 124

cache

tag

tag

tag

Page 28: Platform Technology หน่วยความจำแคช Cache memory

4-WAY SET ASSOCIATIVE MAPPEDb

lock

0

blo

ck1

blo

ck3

1

blo

ck3

2

blo

ck3

3

blo

ck6

3

blo

ck6

4

blo

ck6

5

blo

ck9

5

blo

ck4

06

4

blo

ck4

06

5

blo

ck4

09

5

Ma

in m

em

ory

G roup0 G roup1 G roup2 G roup127

block 4064

block i

b lock 95

127

tag

2

block 64

block 4065

block 4095

cache

2

127

127

set0

set1

set31

block 32

block 33

block 31

1

1

0

block 0

block 1

block 63

cache

0

0

1

tag set word

7 5 4

Page 29: Platform Technology หน่วยความจำแคช Cache memory

PROCESSOR CACHE COMPARISON

Page 30: Platform Technology หน่วยความจำแคช Cache memory

C

AC

HE

OF

INTEL

CELE

RO

N

Page 31: Platform Technology หน่วยความจำแคช Cache memory

CACHE OF INTEL CELERON

Page 32: Platform Technology หน่วยความจำแคช Cache memory

C

AC

HE

OF

AM

DATH

LON

Page 33: Platform Technology หน่วยความจำแคช Cache memory

CACHE OF AMD ATHLON

Page 34: Platform Technology หน่วยความจำแคช Cache memory

HOMEWORK จำงออกแบบหน่�วยคว�มจำ��แคช้ของโพีร็เซีส่เซีอร็0ทำ��ส่�ม�ร็ถึ

อ��งหน่�วยคว�มจำ��ได้� 64 ก.โลัไบต้0 โด้ยก��หน่ด้ให�หน่�วยคว�มจำ��แคช้ม�ขน่�ด้ 512 ไบต้0

จำงออกแบบหน่�วยคว�มจำ��แคช้ใน่ร็�ปแบบต้�อไปน่�! Direct mapped Fully associative 2-way set associative 4-way set associative