• Nem Talált Eredményt

Cache Segítség 2015. április 23.

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Cache Segítség 2015. április 23."

Copied!
107
0
0

Teljes szövegt

(1)

2015. április 23.

Izsó Tamás Cache/ 1

(2)

Izsó Tamás Cache/ 2

(3)

cache mérete: 256 byte cache block mérete : 64 byte Direct leképzés:

index eltolás TAG

Egy cache bejegyzés Összesen 4 bejegyzés van.

Egy cache bejegyzés 64 byte-ot tartalmaz valid bit és fizikai cím

felső része Cache index

Output byte Cím

TAG ADAT

Hanyadik byte 6 bit 2 bit n bit

Izsó Tamás Cache/ 3

(4)

Adatok: 1, 3, 8, 4, 3, 6, 8, 1 valid Block

0 ?

0 ?

0 ?

0 ?

Izsó Tamás Cache/ 4

(5)

Adatok: 1 , 3, 8, 4, 3, 6, 8, 1 valid Block

0 ?

1 1

0 ?

0 ?

Izsó Tamás Cache/ 4

(6)

Adatok: 1 , 3 , 8, 4, 3, 6, 8, 1 valid Block

0 ?

1 1

0 ?

1 3

Izsó Tamás Cache/ 4

(7)

Adatok: 1 , 3 , 8 , 4, 3, 6, 8, 1 valid Block

1 8

1 1

0 ?

1 3

Izsó Tamás Cache/ 4

(8)

Adatok: 1 , 3 , 8 , 4 , 3, 6, 8, 1 valid Block

1 8 4

1 1

0 ?

1 3

Izsó Tamás Cache/ 4

(9)

Adatok: 1 , 3 , 8 , 4 , 3 , 6, 8, 1 valid Block

1 8 4

1 1

0 ?

1 3

Izsó Tamás Cache/ 4

(10)

Adatok: 1 , 3 , 8 , 4 , 3 , 6 , 8, 1 valid Block

1 8 4

1 1

1 6

1 3

Izsó Tamás Cache/ 4

(11)

Adatok: 1 , 3 , 8 , 4 , 3 , 6 , 8 , 1 valid Block

1 8 4 8

1 1

1 6

1 3

Izsó Tamás Cache/ 4

(12)

Adatok: 1 , 3 , 8 , 4 , 3 , 6 , 8 , 1 valid Block

1 8 4 8

1 1

1 6

1 3

Izsó Tamás Cache/ 4

(13)

cache mérete: 256 byte cache block mérete : 64 byte Teljes asszociatív leképzés:

Output Effective Address

PFN,

Word eltolás

tag data tag data

Byte in Block Permissions

Tag contains

Hit?

One cache block contains multiple words PFN, valid bit,

tag data tag data

coherence bits

Hit? Hit? Hit?

tag

Izsó Tamás Cache/ 5

(14)

Adatok: 1, 3, 8, 4, 3, 6, 8, 1

Valid Block Time

0 ? ?

0 ? ?

0 ? ?

0 ? ?

Izsó Tamás Cache/ 6

(15)

Adatok: 1 , 3, 8, 4, 3, 6, 8, 1

Valid Block Time

1 1 1

0 ? ?

0 ? ?

0 ? ?

Izsó Tamás Cache/ 6

(16)

Adatok: 1 , 3 , 8, 4, 3, 6, 8, 1

Valid Block Time

1 1 2

1 3 1

0 ? ?

0 ? ?

Izsó Tamás Cache/ 6

(17)

Adatok: 1 , 3 , 8 , 4, 3, 6, 8, 1

Valid Block Time

1 1 3

1 3 2

1 8 1

0 ? ?

Izsó Tamás Cache/ 6

(18)

Adatok: 1 , 3 , 8 , 4 , 3, 6, 8, 1

Valid Block Time

1 1 4

1 3 3

1 8 2

1 4 1

Izsó Tamás Cache/ 6

(19)

Adatok: 1 , 3 , 8 , 4 , 3 , 6, 8, 1

Valid Block Time

1 1 4

1 3 1

1 8 3

1 4 2

Izsó Tamás Cache/ 6

(20)

Adatok: 1 , 3 , 8 , 4 , 3 , 6 , 8, 1

Valid Block Time

1 1 6 1

1 3 2

1 8 4

1 4 3

Izsó Tamás Cache/ 6

(21)

Adatok: 1 , 3 , 8 , 4 , 3 , 6 , 8 , 1

Valid Block Time

1 1 6 2

1 3 3

1 8 1

1 4 4

Izsó Tamás Cache/ 6

(22)

Adatok: 1 , 3 , 8 , 4 , 3 , 6 , 8 , 1

Valid Block Time

1 1 6 3

1 3 4

1 8 2

1 4 1 1

Izsó Tamás Cache/ 6

(23)

Adatok: 1, 3, 8, 4, 3, 6, 8, 1

Valid Block Time Valid Block Time

0 ? ? 0 ? ?

0 ? ? 0 ? ?

Izsó Tamás Cache/ 7

(24)

Adatok: 1 , 3, 8, 4, 3, 6, 8, 1

Valid Block Time Valid Block Time

0 ? ? 0 ? ?

1 1 1 0 ? ?

Izsó Tamás Cache/ 7

(25)

Adatok: 1 , 3 , 8, 4, 3, 6, 8, 1

Valid Block Time Valid Block Time

0 ? ? 0 ? ?

1 1 2 1 3 1

Izsó Tamás Cache/ 7

(26)

Adatok: 1 , 3 , 8 , 4, 3, 6, 8, 1

Valid Block Time Valid Block Time

1 8 1 0 ? ?

1 1 2 1 3 1

Izsó Tamás Cache/ 7

(27)

Adatok: 1 , 3 , 8 , 4 , 3, 6, 8, 1

Valid Block Time Valid Block Time

1 8 2 1 4 1

1 1 2 1 3 1

Izsó Tamás Cache/ 7

(28)

Adatok: 1 , 3 , 8 , 4 , 3 , 6, 8, 1

Valid Block Time Valid Block Time

1 8 2 1 4 1

1 1 2 1 3 1

Izsó Tamás Cache/ 7

(29)

Adatok: 1 , 3 , 8 , 4 , 3 , 6 , 8, 1

Valid Block Time Valid Block Time

1 8 6 1 1 4 2

1 1 2 1 3 1

Izsó Tamás Cache/ 7

(30)

Adatok: 1 , 3 , 8 , 4 , 3 , 6 , 8 , 1

Valid Block Time Valid Block Time

1 8 6 2 1 4 8 1

1 1 2 1 3 1

Izsó Tamás Cache/ 7

(31)

Adatok: 1 , 3 , 8 , 4 , 3 , 6 , 8 , 1

Valid Block Time Valid Block Time

1 8 6 2 1 4 8 1

1 1 1 1 3 2

Izsó Tamás Cache/ 7

(32)

Cache mérete : 32Kbyte Cache blokkméret : 64 byte Fizikai cím 32 bites

virtuális cím 48 bites

Izsó Tamás Cache/ 8

(33)

Cache mérete : 32Kbyte Cache blokkméret : 64 byte Fizikai cím 32 bites

virtuális cím 48 bites Eltolás mérete ?

Izsó Tamás Cache/ 8

(34)

Cache mérete : 32Kbyte Cache blokkméret : 64 byte Fizikai cím 32 bites

virtuális cím 48 bites

Eltolás mérete: blokk méretéb ˝ol 26=64→6bit?

Izsó Tamás Cache/ 8

(35)

Cache mérete : 32Kbyte Cache blokkméret : 64 byte Fizikai cím 32 bites

virtuális cím 48 bites

Eltolás mérete: blokk méretéb ˝ol 26=64→6bit? Cache blokkok száma ?

Izsó Tamás Cache/ 8

(36)

Cache mérete : 32Kbyte Cache blokkméret : 64 byte Fizikai cím 32 bites

virtuális cím 48 bites

Eltolás mérete: blokk méretéb ˝ol 26=64→6bit? Cache blokkok száma: 32KByte64byte

= 512

Izsó Tamás Cache/ 8

(37)

Cache mérete : 32Kbyte Cache blokkméret : 64 byte Fizikai cím 32 bites

virtuális cím 48 bites

Eltolás mérete: blokk méretéb ˝ol 26=64→6bit? Cache blokkok száma: 32KByte64byte

= 512

4 utas szervezés az index mérete?

Izsó Tamás Cache/ 8

(38)

Cache mérete : 32Kbyte Cache blokkméret : 64 byte Fizikai cím 32 bites

virtuális cím 48 bites

Eltolás mérete: blokk méretéb ˝ol 26=64→6bit? Cache blokkok száma: 32KByte64byte

= 512

4 utas szervezés az index mérete: 512/4=128=27sor→7bit

Izsó Tamás Cache/ 8

(39)

Cache mérete : 32Kbyte Cache blokkméret : 64 byte Fizikai cím 32 bites

virtuális cím 48 bites

Eltolás mérete: blokk méretéb ˝ol 26=64→6bit? Cache blokkok száma: 32KByte64byte

= 512

4 utas szervezés az index mérete: 512/4=128=27sor→7bit Fizikai cím esetén?

Izsó Tamás Cache/ 8

(40)

Cache mérete : 32Kbyte Cache blokkméret : 64 byte Fizikai cím 32 bites

virtuális cím 48 bites

Eltolás mérete: blokk méretéb ˝ol 26=64→6bit? Cache blokkok száma: 32KByte64byte

= 512

4 utas szervezés az index mérete: 512/4=128=27sor→7bit Fizikai cím esetén: 32−7−6=19bit, egyszerre 4 db 19 bites komparátor dolgozik.

Izsó Tamás Cache/ 8

(41)

Cache mérete : 32Kbyte Cache blokkméret : 64 byte Fizikai cím 32 bites

virtuális cím 48 bites

Eltolás mérete: blokk méretéb ˝ol 26=64→6bit? Cache blokkok száma: 32KByte64byte

= 512

4 utas szervezés az index mérete: 512/4=128=27sor→7bit Fizikai cím esetén: 32−7−6=19bit, egyszerre 4 db 19 bites komparátor dolgozik.

Virtuális tag esetén?

Izsó Tamás Cache/ 8

(42)

Cache mérete : 32Kbyte Cache blokkméret : 64 byte Fizikai cím 32 bites

virtuális cím 48 bites

Eltolás mérete: blokk méretéb ˝ol 26=64→6bit? Cache blokkok száma: 32KByte64byte

= 512

4 utas szervezés az index mérete: 512/4=128=27sor→7bit Fizikai cím esetén: 32−7−6=19bit, egyszerre 4 db 19 bites komparátor dolgozik.

Virtuális tag esetén: 48−7−6=35bit, egyszerre 4 db 35 bites komparátor dolgozik.

Izsó Tamás Cache/ 8

(43)

Cache blokkméret : 64 byte Fizikai cím 16 bites

Izsó Tamás Cache/ 9

(44)

Cache blokkméret : 64 byte Fizikai cím 16 bites

Eltolás mérete?

Izsó Tamás Cache/ 9

(45)

Cache blokkméret : 64 byte Fizikai cím 16 bites

Eltolás mérete a blokkméretb ˝ol 64=26azaz 6 bit

Izsó Tamás Cache/ 9

(46)

Cache blokkméret : 64 byte Fizikai cím 16 bites

Eltolás mérete a blokkméretb ˝ol 64=26azaz 6 bit Blokkok száma?

Izsó Tamás Cache/ 9

(47)

Cache blokkméret : 64 byte Fizikai cím 16 bites

Eltolás mérete a blokkméretb ˝ol 64=26azaz 6 bit Blokkok száma: 512/64=8 azaz 3 bit

Izsó Tamás Cache/ 9

(48)

Cache blokkméret : 64 byte Fizikai cím 16 bites

Eltolás mérete a blokkméretb ˝ol 64=26azaz 6 bit Blokkok száma: 512/64=8 azaz 3 bit

Teljes asszociatív esteben:

0 5

6 15

TAG Eltolás

Izsó Tamás Cache/ 9

(49)

0 5

6 15

TAG Eltolás

Eltolás alsó 6 bit = x % 64

13 136 490 541 670 74 581 980 eltolás

Izsó Tamás Cache/ 10

(50)

13 =

0 5

6 15

0000000000 001101 Eltolás alsó 6 bit = 13 % 64 = 13

13 136 490 541 670 74 581 980

eltolás 13

Izsó Tamás Cache/ 10

(51)

136 =

0 5

6 15

0000000010 001000 Eltolás alsó 6 bit = 136 % 64 = 8

13 136 490 541 670 74 581 980

eltolás 13 8

Izsó Tamás Cache/ 10

(52)

490 =

0 5

6 15

0000000111 101010 Eltolás alsó 6 bit = 490 % 64 = 42

13 136 490 541 670 74 581 980

eltolás 13 8 42

Izsó Tamás Cache/ 10

(53)

541 =

0 5

6 15

0000001000 011101 Eltolás alsó 6 bit = 541 % 64 = 29

13 136 490 541 670 74 581 980

eltolás 13 8 42 29

Izsó Tamás Cache/ 10

(54)

670 =

0 5

6 15

0000001010 011110 Eltolás alsó 6 bit = 670 % 64 = 30

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30

Izsó Tamás Cache/ 10

(55)

74 =

0 5

6 15

0000000001 001010 Eltolás alsó 6 bit = 74 % 64 = 10

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10

Izsó Tamás Cache/ 10

(56)

581 =

0 5

6 15

0000001001 000101 Eltolás alsó 6 bit = 581 % 64 = 5

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5

Izsó Tamás Cache/ 10

(57)

980 =

0 5

6 15

0000001111 010100 Eltolás alsó 6 bit = 980 % 64 = 20

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

Izsó Tamás Cache/ 10

(58)

5 0 6 15

TAG Eltolás

Fels ˝o 10 bit = x / 64

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag

Izsó Tamás Cache/ 11

(59)

13 =

5 0 6 15

0000000000 001101 Fels ˝o 10 bit = 13 / 64 = 0

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0

Izsó Tamás Cache/ 11

(60)

136 =

5 0 6 15

0000000010 001000 Fels ˝o 10 bit = 136/ 64 = 2

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2

Izsó Tamás Cache/ 11

(61)

490 =

5 0 6 15

0000000111 101010 Fels ˝o 10 bit = 490 / 64 = 7

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7

Izsó Tamás Cache/ 11

(62)

541 =

5 0 6 15

0000001000 011101 Fels ˝o 10 bit = 541 / 64 = 8

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8

Izsó Tamás Cache/ 11

(63)

670 =

5 0 6 15

0000001010 011110 Fels ˝o 10 bit = 670 / 64 = 10

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10

Izsó Tamás Cache/ 11

(64)

74 =

5 0 6 15

0000000001 001010 Fels ˝o 10 bit = 74/ 64 = 1

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1

Izsó Tamás Cache/ 11

(65)

581 =

5 0 6 15

0000001001 000101 Fels ˝o 10 bit = 581 / 64 =9

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9

Izsó Tamás Cache/ 11

(66)

980 =

5 0 6 15

0000001111 010100 Fels ˝o 10 bit = 980 / 64 = 15

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

Izsó Tamás Cache/ 11

(67)

5 0 6 8 9 15

TAG Inx Eltolás Fels ˝o 7 bit = x / 512

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag

Izsó Tamás Cache/ 12

(68)

13 =

5 0 6 8 9 15

0000000 000 001101 Fels ˝o 7 bit = 13 / 512 = 0

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0

Izsó Tamás Cache/ 12

(69)

136 =

5 0 6 8 9 15

0000000 010 001000 Fels ˝o 7 bit = 136/ 512=0

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0

Izsó Tamás Cache/ 12

(70)

490 =

5 0 6 8 9 15

0000000 111 101010 Fels ˝o 7 bit = 490 / 512 = 0

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0

Izsó Tamás Cache/ 12

(71)

541 =

5 0 6 8 9 15

0000001 000 011101 Fels ˝o 7 bit = 541 / 512 = 1

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1

Izsó Tamás Cache/ 12

(72)

670 =

5 0 6 8 9 15

0000001 010 011110 Fels ˝o 7 bit = 670 / 512 = 1

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1

Izsó Tamás Cache/ 12

(73)

74 =

5 0 6 8 9 15

0000000 001 001010 Fels ˝o 7 bit = 74/ 512 = 0

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0

Izsó Tamás Cache/ 12

(74)

581 =

5 0 6 8 9 15

0000001 001 000101 Fels ˝o 7 bit = 581 / 512 =1

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1

Izsó Tamás Cache/ 12

(75)

980 =

5 0 6 8 9 15

0000001 111 010100 Fels ˝o 7 bit = 980 / 512 = 1

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

Izsó Tamás Cache/ 12

(76)

0 5

6 8 9 15

TAG Inx Eltolás 6-8 bitek = (x / 64) % 8

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index

Izsó Tamás Cache/ 13

(77)

13 =

0 5

6 8 9 15

0000000 000 001101 6-8 bitek = (13 / 64) % 8

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0

Izsó Tamás Cache/ 13

(78)

136 =

0 5

6 8 9 15

0000000 010 001000 6-8 bitek = (136 / 64) % 8

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2

Izsó Tamás Cache/ 13

(79)

490 =

0 5

6 8 9 15

0000000 111 101010 6-8 bitek = (490 / 64) % 8

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7

Izsó Tamás Cache/ 13

(80)

541 =

0 5

6 8 9 15

0000001 000 011101 6-8 bitek = (541 / 64) % 8

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0

Izsó Tamás Cache/ 13

(81)

670 =

0 5

6 8 9 15

0000001 010 011110 6-8 bitek = (670 / 64) % 8

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0 2

Izsó Tamás Cache/ 13

(82)

74 =

0 5

6 8 9 15

0000000 001 001010 6-8 bitek = (74 / 64) % 8

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0 2 1

Izsó Tamás Cache/ 13

(83)

581 =

0 5

6 8 9 15

0000001 001 000101 6-8 bitek = (581 / 64) % 8

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0 2 1 1

Izsó Tamás Cache/ 13

(84)

980 =

0 5

6 8 9 15

0000001 111 010100 6-8 bitek = (980 / 64) % 8

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0 2 1 1 7

Izsó Tamás Cache/ 13

(85)

5 0 7 6 8 15

TAG Inx Eltolás Fels ˝o 8 bit = x / 256

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0 2 1 1 7

2 utas tag

Izsó Tamás Cache/ 14

(86)

13 =

5 0 7 6 8 15

00000000 00 001101 Fels ˝o 8 bit = 13 / 256

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0 2 1 1 7

2 utas tag 0

Izsó Tamás Cache/ 14

(87)

136 =

5 0 7 6 8 15

00000000 10 001000 Fels ˝o 8 bitek = 136 / 256

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0 2 1 1 7

2 utas tag 0 0

Izsó Tamás Cache/ 14

(88)

490 =

5 0 7 6 8 15

00000001 11 101010 Fels ˝o 8 bit = 490 / 256

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0 2 1 1 7

2 utas tag 0 0 1

Izsó Tamás Cache/ 14

(89)

541 =

5 0 7 6 8 15

00000010 00 011101 Fels ˝o 8 bit = 541 / 256

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0 2 1 1 7

2 utas tag 0 0 1 2

Izsó Tamás Cache/ 14

(90)

670 =

5 0 7 6 8 15

00000010 10 011110 Fels ˝o 8 bit = 670 / 256

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0 2 1 1 7

2 utas tag 0 0 1 2 2

Izsó Tamás Cache/ 14

(91)

74 =

5 0 7 6 8 15

00000000 01 001010 Fels ˝o 8 bit = 74 / 256

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0 2 1 1 7

2 utas tag 0 0 1 2 2 0

Izsó Tamás Cache/ 14

(92)

581 =

5 0 7 6 8 15

00000010 01 000101 Fels ˝o 8 bit = 581 / 256

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0 2 1 1 7

2 utas tag 0 0 1 2 2 0 2

Izsó Tamás Cache/ 14

(93)

980 =

5 0 7 6 8 15

00000011 11 010100 Fels ˝o 8 bit = 980 / 256

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0 2 1 1 7

2 utas tag 0 0 1 2 2 0 2 3

Izsó Tamás Cache/ 14

(94)

0 5

6 7 8 15

TAG Inx Eltolás 6-7 bitek = (x / 64) % 4

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0 2 1 1 7

2 utas tag 0 0 1 2 2 0 2 3

2 utas index

Izsó Tamás Cache/ 15

(95)

13 =

0 5

6 7 8 15

00000000 00 001101 6-7 bitek = (13 / 64) % 4

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0 2 1 1 7

2 utas tag 0 0 1 2 2 0 2 3

2 utas index 0

Izsó Tamás Cache/ 15

(96)

136 =

0 5

6 7 8 15

00000000 10 001000 6-7 bitek = (136 / 64) % 4

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0 2 1 1 7

2 utas tag 0 0 1 2 2 0 2 3

2 utas index 0 2

Izsó Tamás Cache/ 15

(97)

490 =

0 5

6 7 8 15

00000001 11 101010 6-7 bitek = (490 / 64) % 4

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0 2 1 1 7

2 utas tag 0 0 1 2 2 0 2 3

2 utas index 0 2 3

Izsó Tamás Cache/ 15

(98)

541 =

0 5

6 7 8 15

00000010 00 011101 6-7 bitek = (541 / 64) % 4

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0 2 1 1 7

2 utas tag 0 0 1 2 2 0 2 3

2 utas index 0 2 3 0

Izsó Tamás Cache/ 15

(99)

670 =

0 5

6 7 8 15

00000010 10 011110 6-7 bitek = (670 / 64) % 4

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0 2 1 1 7

2 utas tag 0 0 1 2 2 0 2 3

2 utas index 0 2 3 0 2

Izsó Tamás Cache/ 15

(100)

74 =

0 5

6 7 8 15

00000000 01 001010 6-7 bitek = (74 / 64) % 4

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0 2 1 1 7

2 utas tag 0 0 1 2 2 0 2 3

2 utas index 0 2 3 0 2 1

Izsó Tamás Cache/ 15

(101)

581 =

0 5

6 7 8 15

00000010 01 000101 6-7 bitek = (581 / 64) % 4

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0 2 1 1 7

2 utas tag 0 0 1 2 2 0 2 3

2 utas index 0 2 3 0 2 1 1

Izsó Tamás Cache/ 15

(102)

980 =

0 5

6 7 8 15

00000011 11 010100 6-7 bitek = (980 / 64) % 4

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0 2 1 1 7

2 utas tag 0 0 1 2 2 0 2 3

2 utas index 0 2 3 0 2 1 1 3

Izsó Tamás Cache/ 15

(103)

13 136 490 541 670 74 581 980

eltolás 13 8 42 29 30 10 5 20

asszoc. tag 0 2 7 8 10 1 9 15

direkt tag 0 0 0 1 1 0 1 1

direkt index 0 2 7 0 2 1 1 7

2 utas tag 0 0 1 2 2 0 2 3

2 utas index 0 2 3 0 2 1 1 3

Izsó Tamás Cache/ 16

(104)

b1. Cache végs ˝o tartalma asszociatív esetben: mind a 8 bejegyzés ki van töltve.

b2. Direkt index esetben:

valid Tag Block tartalom

1 1

1 1

1 1

0 ?

0 ?

0 ?

0 ?

1 1

Izsó Tamás Cache/ 17

(105)

b3. 2 utas asszociatív esetben:

valid Tag Block valid Tag Block

tartalom tartalom

index=0 1 0 1 2

index=1 1 0 1 2

index=2 1 0 1 2

index=3 1 1 1 3

Izsó Tamás Cache/ 18

(106)

Vegyünk egy 1 kB méret ˝u cache-t 64 byte-os blokkmérettel.

short i n t t [ 3 2 ] [ 3 2 ] ; i n t sum = 0 ;

f o r (i n t i = 0 ; i <32; i ++) f o r (i n t j = 0 ; j <32; j ++)

sum += t [ i ] [ j ] ;

1 Hány cache hibát vált ki a fenti algoritmus? Számolja ki a cache hiba-arányt!

2 Hány cache hibát vált ki a fenti algoritmus, ha megcseréljük a két ciklust? Számolja ki a cache hiba-arányt!

3 Mekkora cache-re lenne szükség, hogy a megcserélt for ciklusokkal is ugyanolyan hiba-arányt kapjunk, mint az eredeti algoritmussal?

Izsó Tamás Cache/ 19

(107)

1 32×32 m ˝uveletre 32 cache hiba esik.

32/(32×32) =3.125%

2 16 sor fér be a cache-be. A következ ˝o 16 felülírja az el ˝oz ˝o cache értékeket. Ezért amikor a küls ˝o ciklus fut, megint be kell hozni az adatokat. Cache hiba 100%.

3 2 Kbyte cache esetén a teljes mátrix belefér a cache-be.

Így csak a 32 db cache blokk feltöltésénél adódik cache hiba, azaz 32 cache hiba áll el ˝o.

Izsó Tamás Cache/ 20

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

név e-mail bankszla cím-IRSZ cím-város

4 When we query an entity first time, it is retrieved from database and stored in first level cache associated with hibernate session. 4 If we query same object again with

Hence, our idea is to store the static objects - like images and HTML parts - in the Cache Storage by using Service Workers, and store the dynamic parts - like records from

Fejezet Cím Alcím Jog- Jog- Kiemelt Fejezet Cím Alcím Jog- Jog- A módosítás jogcíme Módosítás A módosítás2. szám szám szám cím

• this permit the user process to cache K for a possibly extended session duration, without compromising the security of the authdata on which it is based.. Example – creating a

Amennyiben a Felek az e cikk (2) bekezdésében meghatározott időszakon belül nem tudnak megállapodni a választottbírói testület összetételről, bármelyik Fél

cikkének (4) bekezdésében meghatározott kereskedelmi formációban ülésező Társulási Bizottság legkésőbb az e megállapodás hatálybalépését követően hat

egyedi szám szám szám cím cím csoport előir. név név név cím cím csop. szám száma szám csop. név név Kiemelt előirányzat évre. szám név