Locality of Reference

์บ์‹œ์˜ ์ง€์—ญ์„ฑ

Locality

  • ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์†๋„๊ฐ€ ๋น ๋ฅธ ์žฅ์น˜์™€ ๋Š๋ฆฐ ์žฅ์น˜๊ฐ„์˜ ์†๋„์ฐจ์— ๋”ฐ๋ฅธ ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ์ค„์ด๊ธฐ ์œ„ํ•œ ๋ฒ”์šฉ ๋ฉ”๋ชจ๋ฆฌ์ด๋‹ค

    • ์ด๋Ÿฌํ•œ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” CPU ๊ฐ€ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ์›ํ•  ๊ฒƒ์ธ๊ฐ€๋ฅผ ์–ด๋Š ์ •๋„ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค

    • ์บ์‹œ์˜ ์„ฑ๋Šฅ์€ ์ž‘์€ ์šฉ๋Ÿ‰์˜ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ์— CPU ๊ฐ€ ์ดํ›„์— ์ฐธ์กฐํ• , ์“ธ๋ชจ ์žˆ๋Š” ์ •๋ณด๊ฐ€ ์–ด๋Š ์ •๋„ ๋“ค์–ด์žˆ๋Š๋ƒ์— ๋”ฐ๋ผ ์ขŒ์šฐ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค

  • ์ด ๋•Œ ์ ์ค‘์œจ(Hit rate)์„ ๊ทน๋Œ€ํ™” ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ ์ง€์—ญ์„ฑ(Locality)์˜ ์›๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค

    • ์ง€์—ญ์„ฑ์˜ ์ „์ œ์กฐ๊ฑด์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์€ ๋ชจ๋“  ์ฝ”๋“œ๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ท ๋“ฑํ•˜๊ฒŒ Access ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ํŠน์„ฑ์„ ๊ธฐ๋ณธ์œผ๋กœ ํ•œ๋‹ค

    • ์ฆ‰, Locality (์ง€์—ญ์„ฑ) ๋ž€ ๊ธฐ์–ต ์žฅ์น˜ ๋‚ด์˜ ์ •๋ณด๋ฅผ ๊ท ์ผํ•˜๊ฒŒ Access ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์–ด๋Š ํ•œ ์ˆœ๊ฐ„์— ํŠน์ • ๋ถ€๋ถ„์„ ์ง‘์ค‘์ ์œผ๋กœ ์ฐธ์กฐํ•˜๋Š” ํŠน์„ฑ์ธ ๊ฒƒ์ด๋‹ค

  • ๋ฐ์ดํ„ฐ ์ง€์—ญ์„ฑ์€ ๋Œ€ํ‘œ์ ์œผ๋กœ ์‹œ๊ฐ„ ์ง€์—ญ์„ฑ(Temporal Locality)๊ณผ ๊ณต๊ฐ„ ์ง€์—ญ์„ฑ(Spatial Locality)์œผ๋กœ ๋‚˜๋‰œ๋‹ค

    • ์‹œ๊ฐ„ ์ง€์—ญ์„ฑ : ์ตœ๊ทผ์— ์ฐธ์กฐ๋œ ์ฃผ์†Œ์˜ ๋‚ด์šฉ์€ ๊ณง ๋‹ค์Œ์— ๋‹ค์‹œ ์ฐธ์กฐ๋˜๋Š” ํŠน์„ฑ

    • ๊ณต๊ฐ„ ์ง€์—ญ์„ฑ : ๋Œ€๋ถ€๋ถ„์˜ ์‹ค์ œ ํ”„๋กœ๊ทธ๋žจ์ด ์ฐธ์กฐ๋œ ์ฃผ์†Œ์™€ ์ธ์ ‘ํ•œ ์ฃผ์†Œ์˜ ๋‚ด์šฉ์ด ๋‹ค์‹œ ์ฐธ์กฐ๋˜๋Š” ํŠน์„ฑ

Caching line

  • ์บ์‹œ๊ฐ€ ์•„๋ฌด๋ฆฌ ๊ฐ€๊นŒ์ด ์žˆ๋”๋ผ๋„ ์ฐพ๊ณ ์ž ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋Š ๊ณณ์— ์ €์žฅ๋˜์–ด ์žˆ๋Š”์ง€ ๋ชฐ๋ผ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœํšŒํ•ด์•ผ ํ•œ๋‹ค๋ฉด ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๊ฒŒ ๋œ๋‹ค

    • ์ฆ‰, ์บ์‹œ์— ๋ชฉ์  ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋‹ค๋ฉด ๋ฐ”๋กœ ์ ‘๊ทผํ•˜์—ฌ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์–ด์•ผ ์บ์‹œ๊ฐ€ ์˜๋ฏธ ์žˆ์–ด์ง„๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

  • ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์บ์‹œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๋•Œ ํŠน์ • ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌถ์Œ์œผ๋กœ ์ €์žฅํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ด๋ฅผ ์บ์‹ฑ ๋ผ์ธ ์ด๋ผ๊ณ  ํ•œ๋‹ค

  • ์บ์‹œ์— ์ €์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ์—๋Š” ๋ฐ์ดํ„ฐ์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๋“ฑ์„ ๊ธฐ๋กํ•ด ๋‘” ํƒœ๊ทธ๋ฅผ ๋‹ฌ์•„๋†“์„ ํ•„์š”๊ฐ€ ์žˆ๋‹ค

    • ์ด๋Ÿฌํ•œ ํƒœ๊ทธ๋“ค์˜ ๋ฌถ์Œ์„ ์บ์‹ฑ ๋ผ์ธ์ด๋ผ๊ณ  ํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ๋กœ๋ถ€ํ„ฐ ๊ฐ€์ ธ์˜ฌ ๋•Œ๋„ ์บ์‹ฑ ๋ผ์ธ์„ ๊ธฐ์ค€์œผ๋กœ ๊ฐ€์ ธ์˜จ๋‹ค

  • Caching line์˜ ์ข…๋ฅ˜

    1. Full Associative

    2. Set Associative

    3. Direct Map

Last updated