´ÞѩӨ¡ª¡ª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