Computer Science/๐Ÿ”’ Operating System

[์šด์˜์ฒด์ œ] ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ(Cache Memory)์™€ ์ง€์—ญ์„ฑ(Locality), ์บ์‹ฑ ๋ผ์ธ(Caching Line)

J1Yun 2023. 3. 19. 15:01
728x90

์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ(Cache Memory)

  • ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ(์ฃผ๊ธฐ์–ต์žฅ์น˜)์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ ์ €์žฅํ•ด ๋‘”  ๊ณ ์† ๋ฉ”๋ชจ๋ฆฌ
  • ์†๋„๊ฐ€ ๋น ๋ฅธ ์žฅ์น˜(CPU ์—ฐ์‚ฐ)์™€ ๋Š๋ฆฐ ์žฅ์น˜(๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ) ๊ฐ„์˜ ์†๋„ ์ฐจ์— ๋”ฐ๋ฅธ ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ์ค„์ด๊ธฐ ์œ„ํ•œ ๋ฒ”์šฉ ๋ฉ”๋ชจ๋ฆฌ
  • ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์™€ CPU ์‚ฌ์ด์— ์œ„์น˜
  • ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๋Š” ํšŸ์ˆ˜๊ฐ€ ์ค„์–ด ์ปดํ“จํ„ฐ ์ฒ˜๋ฆฌ ์†๋„ ํ–ฅ์ƒ
  • ์บ์‹œ๊ฐ€ ํšจ์œจ์ ์œผ๋กœ ๋™์ž‘ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” CPU๊ฐ€ ์ฐธ์กฐํ•  ์ •๋ณด์— ๋Œ€ํ•ด ์ž˜ ์˜ˆ์ธกํ•ด์•ผ ํ•จ
    • ์บ์‹œ ์ ์ค‘๋ฅ (Hit Rate)๋ฅผ ๊ทน๋Œ€ํ™”
    • ์บ์‹œ์˜ ์ง€์—ญ์„ฑ(Locality) ๊ณ ๋ ค

 

 

์บ์‹œ ์ง€์—ญ์„ฑ(Locality)

  • ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ ‘๊ทผ์ด ์‹œ๊ฐ„์ /๊ณต๊ฐ„์ ์œผ๋กœ ๊ฐ€๊น๊ฒŒ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ
  • ๊ธฐ์–ต์žฅ์น˜ ๋‚ด์˜ ์ •๋ณด๋ฅผ ๊ท ๋“ฑํ•˜๊ฒŒ ์—‘์„ธ์Šคํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์–ด๋Š ํ•œ ์ˆœ๊ฐ„์— ํŠน์ • ๋ถ€๋ถ„์„ ์ง‘์ค‘์ ์œผ๋กœ ์ฐธ์กฐํ•˜๋Š” ํŠน์„ฑ
  • ์บ์‹œ ์ ์ค‘๋ฅ (Hit Rate)์„ ์œ„ํ•ด ์ €์žฅํ•  ๋ฐ์ดํ„ฐ๋Š” ์ง€์—ญ์„ฑ์„ ๊ฐ€์ ธ์•ผ ํ•จ

์ง€์—ญ์„ฑ ์ข…๋ฅ˜

  • ์‹œ๊ฐ„์  ์ง€์—ญ์„ฑ
    • ํŠน์ • ๋ฐ์ดํ„ฐ๊ฐ€ ํ•œ๋ฒˆ ์ฐธ์กฐ๋œ ๊ฒฝ์šฐ, ๊ฐ€๊นŒ์šด ๋ฏธ๋ž˜์— ๋˜ ํ•œ๋ฒˆ ์ฐธ์กฐ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ๊ฒƒ
    • ๋ฉ”๋ชจ๋ฆฌ ์ƒ์˜ ๊ฐ™์€ ์ฃผ์†Œ์— ์—ฌ๋Ÿฌ ์ฐจ๋ก€ ์ฝ๊ธฐ ์“ฐ๊ธฐ๋ฅผ ์ˆ˜ํ–‰ํ•  ๊ฒฝ์šฐ, ์ƒ๋Œ€์ ์œผ๋กœ ์ž‘์€ ํฌ๊ธฐ์˜ ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•ด๋„ ํšจ์œจ์„ฑ์ด ๋†’์Œ
  • ๊ณต๊ฐ„์  ์ง€์—ญ์„ฑ
    • ํŠน์ • ๋ฐ์ดํ„ฐ์™€ ์ธ์ ‘ํ•œ ์ฃผ์†Œ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ฐธ์กฐ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ๊ฒƒ
    • CPU ์บ์‹œ๋‚˜ ๋””์Šคํฌ ์บ์‹œ์˜ ๊ฒฝ์šฐ ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์— ์ ‘๊ทผํ•  ๋•Œ ๊ทธ ์ฃผ์†Œ๋ฟ ์•„๋‹ˆ๋ผ ํ•ด๋‹น ๋ธ”๋ก์„ ์ „๋ถ€ ์บ์‹œ์— ๊ฐ€์ ธ์˜ค๋„๋ก ํ•จ
      • ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์ด๋‚˜ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ˆœ์„œ๋Œ€๋กœ ์ ‘๊ทผํ•œ๋‹ค๋ฉด ์ด๋ฏธ ์บ์‹œ์— ์ €์žฅ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํšจ์œจ์„ฑ์ด ๋†’์Œ

 

 

์บ์‹ฑ ๋ผ์ธ(Caching Line)

  • ์บ์‹œ์—์„œ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”๋กœ ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด ํŠน์ • ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•ด ๋ฌถ์Œ์œผ๋กœ ์ €์žฅํ•ด ๋†“์€ ๊ฒƒ
  • ์บ์‹œ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”๋กœ ์ฐพ์ง€ ๋ชปํ•˜๊ณ  ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœํšŒํ•ด์•ผ ํ•œ๋‹ค๋ฉด ์บ์‹œ ์„ฑ๋Šฅ์ด ๋–จ์–ด์งˆ ๊ฒƒ์ž„
  • ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ์˜ ๋งคํ•‘ ํ”„๋กœ์„ธ์Šค
  • ์ฃผ๊ธฐ์–ต์žฅ์น˜๋กœ๋ถ€ํ„ฐ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ์— ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•

์บ์‹ฑ ๋ผ์ธ ์ข…๋ฅ˜

  • ์ง์ ‘ ๋งคํ•‘(Direct mapping)
    • ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์™€ ์บ์‹œ์˜ ์ˆœ์„œ๋ฅผ ์ผ์น˜์‹œ์ผœ ์ง€์ •๋œ ์บ์‹ฑ ๋ผ์ธ์œผ๋กœ๋งŒ ๋งคํ•‘
    • ๋ฉ”๋ชจ๋ฆฌ์˜ ํŠน์ • ๋ธ”๋Ÿญ์€ ํŠน์ • ์บ์‹ฑ ๋ผ์ธ์—๋งŒ ์ €์žฅ
    • ๊ตฌํ˜„์ด ๊ฐ„๋‹จํ•˜๊ณ  ๋น ๋ฅด์ง€๋งŒ, ์ถฉ๋Œ๋กœ ์ธํ•œ ์žฆ์€ ์Šค์™€ํ•‘์ด ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์•„ ์„ฑ๋Šฅ์ด ์ œํ•œ๋  ์ˆ˜ ์žˆ์Œ
  • ์—ฐ๊ด€ ๋งคํ•‘(Associative Mapping)
    • ์ˆœ์„œ๋ฅผ ์ผ์น˜์‹œํ‚ค์ง€ ์•Š๊ณ  ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ฐ’(๋ฐ์ดํ„ฐ)์„ ์บ์‹œ์˜ ์–ด๋””๋“ ์ง€ ์ €์žฅ
    • ์ฐพ๋Š” ๊ณผ์ •์ด ๋ณต์žกํ•˜๊ณ  ๋Š๋ฆฌ์ง€๋งŒ ์ถฉ๋Œ์ด ์ ์œผ๋ฉฐ ํ•„์š”ํ•œ ์บ์‹œ ์œ„์ฃผ๋กœ ์ €์žฅํ•˜๊ธฐ์— ์ ์ค‘๋ฅ  ๋†’์Œ
  • ์ง‘ํ•ฉ ์—ฐ๊ด€ ๋งคํ•‘(Set-Associative Mapping)
    • ์ง‘ํ•ฉ ๊ฐ„์˜ ์ˆœ์„œ๋Š” ์ผ์น˜์‹œํ‚ค๋Š” ๋ฐ˜๋ฉด ์ง‘ํ•ฉ ๋‚ด์—์„œ๋Š” ์ˆœ์„œ๋ฅผ ์ผ์น˜์‹œํ‚ค์ง€ ์•Š๊ณ  ํŽธํ•˜๊ฒŒ ์ €์žฅ
    • ์ง์ ‘ ๋งคํ•‘๊ณผ ์—ฐ๊ด€ ๋งคํ•‘์˜ ์žฅ์ ๋งŒ ์ทจํ•จ

 

 

โญ๏ธ ์ฐธ๊ณ 

728x90