2-way Set-Associative ¹æ½ÄÀ̶õ ¹«¾ùÀϱî?
ÀÌ¿¡ ´ëÇØ ¾Ë±â À§Çؼ´Â ¸ÕÀú ij½ÃÀÇ ±¸Á¶¸¦
¾Ë¾Æ¾ß ÇÑ´Ù. ij½Ã´Â ¸Þ¸ð¸®ÀÇ µ¥ÀÌÅ͸¦ ´ã°í
ÀÖ´Â ¸Å¿ì ºü¸¥ ±â¾ïÀåÄ¡·Î, ¸Þ¸ð¸®ÀÇ µ¥ÀÌÅ͸¦
Àоî¿À´Â µ¥ ¼Ò¿äµÇ´Â ½Ã°£ ¼Õ½ÇÀ» ÁÙÀÌ´Â
Áß¿äÇÑ ¿ªÇÒÀ» ÇÑ´Ù. ÀÌ·¯ÇÑ Ä³½Ã´Â Å©°Ô Associative
Mapping°ú Direct Mapping, Set-Associative
MappingÀ̶ó´Â ¼¼ °¡Áö ¾ÆÅ°ÅØÃ³¸¦ ÀÌ¿ëÇÑ´Ù.
ÀÌ ¼¼ °¡Áö ¹æ½ÄÀÇ Â÷ÀÌÁ¡À» °£´ÜÈ÷ ¼³¸íÇϸé
´ÙÀ½°ú °°´Ù.
Associative Mapping : ÀÌ ¹æ½ÄÀº
°¡Àå ºü¸£°íµµ À¯¿¬¼ºÀÌ ³ôÀº ±¸Á¶·Î ¾Ë·ÁÁ®
ÀÖÀ¸¸ç, ¸ÞÀÎ ¸Þ¸ð¸®¿¡ À§Ä¡ÇÑ µ¥ÀÌÅÍÀÇ ÁÖ¼Ò(¹øÁö¼ö)¿Í
³»¿ëÀ» ¸ðµÎ ÀúÀåÇÏ´Â ¹æ½ÄÀÌ´Ù. °£´ÜÈ÷ ¸»ÇØ
¸Þ¸ð¸®ÀÇ ÁÖ¼Ò¿Í ³»¿ëÀ» ±×´ë·Î ij½Ã¿¡ ÀúÀåÇÏ´Â
ÇüÅÂÀ̸ç, ÇÁ·Î¼¼¼¿¡¼ ƯÁ¤ ÁÖ¼Ò¿¡ Á¢±ÙÇÒ
°æ¿ì¿Í ij½ÃÀÇ ¸Þ¸ð¸® ÁÖ¼Ò ¿µ¿ª¿¡ ã°íÀÚ
ÇÏ´Â ¹øÁö¼ö°¡ ÀÖÀ» °æ¿ì ±× µ¥ÀÌÅÍ °ªÀ» ±×´ë·Î
Àü´Þ¹Þ¾Æ »ç¿ëÇÑ´Ù. ±×·¯³ª ij½Ã¿¡ ÀúÀåµÇ´Â
¹øÁö¼ö¿Í µ¥ÀÌÅʹ Ưº°ÇÑ ¼ø¼ ¾øÀÌ ÀúÀåµÇ¹Ç·Î,
ã°íÀÚ ÇÏ´Â µ¥ÀÌÅ͸¦ °Ë»öÇÏ´Â µ¥ Ãß°¡ ºñ¿ëÀÌ
¸¹ÀÌ µç´Ù´Â ´ÜÁ¡ÀÌ ÀÖ´Ù.

Direct Mapping : ÀÌ ¹æ½ÄÀº ij½ÃÀÇ
ÁÖ¼Ò ¿µ¿ªÀ» ű×(Tag)¿Í À妽º(Index) ¿µ¿ªÀ¸·Î
³ª´®À¸·Î½á Associative Mapping ¹æ½ÄÀÇ ´ÜÁ¡À»
±Øº¹Çϰí ÀÖ´Ù. ÀϹÝÀûÀ¸·Î ij½Ã ¸Þ¸ð¸®¿¡
2k°³ÀÇ µ¥ÀÌÅͰ¡ ÀúÀåµÇ°í, ¸ÞÀÎ ¸Þ¸ð¸®¿¡
2n°³ÀÇ µ¥ÀÌÅͰ¡ ÀúÀåµÉ °æ¿ì, nbitÀÇ ¸Þ¸ð¸®
ÁÖ¼Ò´Â 2°³ÀÇ Çʵå·Î ³ª´µ°Ô µÇ´Âµ¥, ÀÌ´Â
kbitÀÇ À妽º Çʵå¿Í n-kbitÀÇ ÅÂ±× Çʵå¶ó
ºÒ¸°´Ù. ±× Áß À妽º Çʵ带 ÀÌ¿ëÇØ ¸ÞÀÎ
¸Þ¸ð¸®ÀÇ nbit Áß ÇÏÀ§ kbitÀÇ ÁÖ¼Ò¸¦ Á÷Á¢
¸ÅÇÎ(mapping)ÇÒ ¼ö ÀÖµµ·Ï µ¿ÀÏÇÑ ±¸Á¶¸¦
±¸¼ºÇÑ´Ù. ÅÂ±× Çʵå´Â ¸ÞÀÎ ¸Þ¸ð¸®ÀÇ »óÀ§
n-kbit·Î ij½Ã ¸Þ¸ð¸®¿¡ ÁÖ¼Ò ¿µ¿ª ´ë½Å ÀúÀåµÈ´Ù.
ÀÌ·Î ÀÎÇØ º°µµÀÇ ºñ±³ ¿¬»ê À¯´ÖÀÌ ¾ø¾îµµ
µÈ´Ù´Â ÀåÁ¡À» °®°Ô µÈ´Ù. ÇÏÁö¸¸ µ¿ÀÏÇÑ À妽º
ÇÊµå °ªÀ» °¡Áø ´Ù¼öÀÇ ¸Þ¸ð¸® ÁÖ¼Ò¸¦ ÇÔ²²
ÀúÀåÇÒ ¼ö ¾ø´Ù´Â ´ÜÁ¡ÀÌ ÀÖ´Ù.

[»ç·Ê¼³¸í ^^]
- ÁÖ±â¾ïÀåÄ¡ ¿ë·® = 16 MBytes (2^24)
- ÁÖ±â¾ïÀåÄ¡ ÁÖ¼Ò = 24 ºñÆ®, Byte ´ÜÀ§·Î ÁÖ¼Ò ÁöÁ¤
- ºí·Ï Å©±â = 4 Bytes
- ÁÖ±â¾ïÀåÄ¡: 4 MBytes (2^22) °³ÀÇ ºí·Ïµé·Î ±¸¼º
- ij½¬ Å©±â = 64 KBytes (2^16)
- ij½¬ ½½·Ô Å©±â = 4 Bytes
- Àüü ij½¬ ½½·ÔÀÇ ¼ö m = 16K (2^14) °³
- °¢ ±â¾ïÀåÄ¡ ºí·ÏÀÌ °øÀ¯ÇÏ°Ô µÉ ij½¬ ½½·Ô ¹øÈ£ i = j mod 2^14
Set-Associative Mapping : Associative
Mapping°ú Direct MappingÀÇ ´ÜÁ¡À» ±Øº¹Çϱâ
À§ÇÑ ¹æ½ÄÀÌ´Ù. Direct MappingÀÇ ÃÖ´ë ´ÜÁ¡ÀÎ
µ¿ÀÏ À妽º ÇʵåÀÇ ¸Þ¸ð¸® ¿µ¿ª µ¥ÀÌÅ͸¦
ÇÔ²² °øÀ¯ÇÒ ¼ö ¾ø´Ù´Â ´ÜÁ¡À» ±Øº¹Çϱâ À§ÇØ
¸¶·ÃµÈ °ÍÀ¸·Î, µ¿ÀÏÇÑ À妽º Çʵ带 ¿©·¯
½Ö °®µµ·Ï ÇÑ´Ù. Áï, 2way Set-Associative
¹æ½ÄÀº 2½ÖÀÇ ÅÂ±×¿Í µ¥ÀÌÅÍ Çʵ带 ÇϳªÀÇ
À妽º Çʵ忡 µÎ¸ç, ÀϹÝÀûÀÎ n way Set-Associative
¹æ½ÄÀº n°³ÀÇ ÅÂ±×¿Í µ¥ÀÌÅÍ Çʵ带 À妽º
Çʵ忡 ÇÔ²² µÎ´Â ¹æ½ÄÀÌ´Ù. ±×·¯¹Ç·Î n way
Set-Associative ¹æ½ÄÀÇ °æ¿ì µ¿ÀÏÇÑ À妽º
ÇʵåÀÇ ¸Þ¸ð¸® ¹øÁö µ¥ÀÌÅ͸¦ ÃÖ´ë n°³±îÁö
ÇÔ²² ij½Ã¿¡ ÀúÀåÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡À» °®´Â´Ù.

[»ç·Ê¼³¸í ^^]
- ÁÖ±â¾ïÀåÄ¡ ¿ë·® = 16 MBytes (2^24)
- ºí·ÏÅ©±â = 4 Bytes (2^2)
- Number of sets in cache = Cache size/(Set size * Block size) =
64 KBytes/(2 blocks * 4 Bytes) = 2^22/(2^1 * 2^2) = 2^13
- Number of bits in Tag = Total bits - Index bits - Offset bits = 24-13-2 = 9
±×·¸´Ù¸é nÀÇ °ªÀ» ³ôÀϼö·Ï ´õ ÁÁÀº ±¸Á¶¸¦
°®°Ô µÇ´Â °ÍÀϱî? ÀϹÝÀûÀ¸·Î ±×·¸´Ù°í ´ë´äÇÒ
¼ö ÀÖ´Ù. ÇÏÁö¸¸ n °ªÀÌ ´Ã¾î³¯¼ö·Ï µ¿ÀÏ À妽º
Çʵ忡¼ ¼·Î ´Ù¸¥ ÅÂ±× °ªÀ» ºñ±³Çϱâ À§ÇÑ
¿¬»êÀÌ º¹ÀâÇØÁ®¾ß ÇϹǷΠ°Ë»ö ºÎºÐ ·ÎÁ÷ÀÇ
±¸ÇöÀÌ ¾î·Á¿öÁø´Ù´Â ´ÜÁ¡ÀÌ »ý±ä´Ù.
