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

Post on 04-Jan-2016

30 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

Platform Technology

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

เน่��อหา

Introduction to cache memoryHit rate/Miss rateWrite PolicyReplacement algorithmMapping function

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

processor

ProcessorM ain

m em oryC ache

MULTILEVEL CACHEProcessor

M ainm em ory

C acheL2

C acheL1

Processor

M ainm em ory

C acheL2

C acheL1

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

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

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

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

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);

}

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

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

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

ทำ�!งหมด้

WRITE POLICYWrite back

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

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

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

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

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

MULTIPROCESSOR

C ache

P rocesso r1

C ache

P rocesso r1

M a inm em ory

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

UNIFIED CACHE

ProcessorM ain

m em oryC ache

SEPARATED CACHE

ProcessorM ain

m em ory

codecache

datacache

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

PENTIUM PRO CACHE

REPLACEMENT ALGORITHM

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

CACHE MAPPING

Direct mapping Fully associative mapping Set associative mapping

DIRECT MAPPING

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

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

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

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

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

FULLY ASSOCIATIVE MAPPING

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

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

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

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

SET-ASSOCIATIVE MAPPING

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

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

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

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

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

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

PROCESSOR CACHE COMPARISON

C

AC

HE

OF

INTEL

CELE

RO

N

CACHE OF INTEL CELERON

C

AC

HE

OF

AM

DATH

LON

CACHE OF AMD ATHLON

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

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

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

top related