¼ÆËã»úÌåϵ½á¹¹cacheÄ£ÄâÆ÷ʵÑ鱨¸æ ÏÂÔØ±¾ÎÄ

´ÞѩӨ¡ª¡ªCacheʵÏÖ·ÖÎö

¼ÆËã»úÌåϵ½á¹¹¡ª¡ª

CacheÄ£ÄâÆ÷ʵÑé

ʵÑ鱨¸æ

ÐÕÃû ´ÞѩӨ ѧºÅ 12281166 °à¼¶¼Æ¿Æ1202°à ÀÏʦ ¶­á°

2015Äê 06ÔÂ07ÈÕ

1

´ÞѩӨ¡ª¡ªCacheʵÏÖ·ÖÎö

Ò»¡¢ ÔĶÁ·ÖÎö¸½¼þÄ£ÄâÆ÷´úÂë .............................................................................................. 3

1¡¢¹Ø¼ü²ÎÊý ............................................................................................................. 3 2¡¢¹Ø¼üËã·¨ ............................................................................................................. 4

¶þ¡¢¿ÎºóϰÌâ ........................................................................................................................... 6

1¡¢Ï°ÌâÄÚÈÝ ............................................................................................................. 6 2¡¢ÌâÄ¿·ÖÎö ............................................................................................................. 6 3¡¢¼ÆËã¼°½á¹û ......................................................................................................... 7 4¡¢Ä£ÄâÆ÷ÉÏʵÑé½á¹û¼ìÑé ..................................................................................... 8

Èý¡¢ ÕûÌå·ÖÎö ....................................................................................................................... 11

1¡¢ÈýÖÖÓ³É䷽ʽ¶ÔCacheЧÂʵĵÄÓ°Ïì ........................................................... 11 2¡¢block¿é´óСÓëCacheÈÝÁ¿¶ÔCacheЧÂʵÄÓ°Ïì .......................................... 12 3¡¢CacheÈÝÁ¿ÓëÏàÁ¬¶È¶ÔCacheЧÂʵÄÓ°Ïì .................................................... 13 4¡¢ÈýÖÖʧЧÀàÐÍÓ°ÏìÒòËØ ................................................................................... 14

ËÄ¡¢ ʵÑé˼¿¼ºÍ¸ÐÊÜ ........................................................................................................... 16

1¡¢¹ØÓÚÄ£ÄâÆ÷µÄ˼¿¼ ........................................................................................... 16 2¡¢¹ØÓÚÕû¸öʵÑéµÄ˼¿¼ ....................................................................................... 17

2

´ÞѩӨ¡ª¡ªCacheʵÏÖ·ÖÎö

Ò»¡¢ ÔĶÁ·ÖÎö¸½¼þÄ£ÄâÆ÷´úÂë

1¡¢¹Ø¼ü²ÎÊý

£¨1£© Óû§¿É¼û²ÎÊý£º£¨Óû§Í¨¹ýÃüÁîÐÐÊäÈë²ÎÊý£© ²ÎÊýÃû choice cachesize blocksize assoc º¬Òå Ó³Ïñ·½Ê½Ñ¡Ïî Cache´óС Block´óС ÏàÁ¬¶È Öµ 1/2/3 ±¸×¢ 1Ϊֱ½ÓÓ³É䣬2Ϊ×éÏàÁ¬Ó³É䣬 3ΪȫÏàÁ¬Ó³Éä 16/64/128/256 ÒÔ×Ö½ÚΪµ¥Î» 1/2/4 1/2/4/8/16 ´ýÊä³ö ´ýÊä³ö ´ýÊä³ö ´ýÊä³ö ´ýÊä³ö ´ýÊä³ö ÒÔ×ÖΪµ¥Î» assoc·×éÏàÁ¬£¨n-way£© µÈÓÚproject.txtµÄÖµ¸öÊý ³É¹¦ÔÚCacheÕÒµ½´ÎÊý HitRate= hitcount/accesscount ûÔÚCacheÕÒµ½´ÎÊý misscount = 1-hitcount MissRate= misscount/accesscount ·Ö±ðΪÈýÖÖʧЧÀàÐ͵ĴÎÊý accesscount ÇëÇó´ÎÊý hitcount hitrate misscount missrate ÃüÖдÎÊý ÃüÖÐÂÊ Î´ÃüÖдÎÊý δÃüÖÐÂÊ c1c ,c2c ,c3c ʧЧ´ÎÊý £¨2£©³ÌÐòÄÚ²¿Ö÷Òª²ÎÊý£º£¨´úÂëÄÚ²¿ÖØÒª²ÎÊý£©

²ÎÊýÃû blockinbyte NOofblock NOofset bytearray[] º¬Òå ¼ÆËã ±¸×¢ ÿһ¸ö¿éÕ¼¶àÉÙ×Ö½Ú CacheÖжàÉÙ¸ö¿é ¿é·Ö³ÉÁ˶àÉÙ¸ö×é project.txtÎļþÊý¾Ý¸³¸øÁËbytearray[]Êý×é blocksizeÊÇ×ÖΪµ¥Î»µÄ£¬¾ÍÊÇ=bytearray[j]/4 ˵һ¸öblockÕ¼¶àÉÙ¸ö×Ö£¬ËùÒÔÊý¾ÝÒ²ÒªÇó×ÖµØÖ· Êý¾ÝÔÚµÚ¼¸¿é ¿éµÄ×Ö½Ú´óС =blocksize*4 ¿é¸öÊý ×é¸öÊý Òª·ÃÎʵÄÊý¾ÝµÄ×Ö½ÚµØÖ· Òª·ÃÎʵÄÊý¾ÝµÄ×ÖµØÖ· =cachesize/blockinbyte =NOofblock/assoc =projec.txtÖеÄÖµ wordaddress[] blockaddress[] Êý¾ÝµÄ¿éµØÖ· =wordaddress[]/blocksize 3