โ . ์๋ก
์บ์ ๋ฉ๋ชจ๋ฆฌ์ ๊ธฐ๋ณธ ๊ฐ๋ ์ดํดํ๊ธฐ
์บ์ ๋ฉ๋ชจ๋ฆฌ(Cache Memory)๋
CPU์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ(RAM) ๊ฐ์
๋ฐ์ดํฐ ์ ์ก ์๋ ์ฐจ์ด๋ฅผ
๋ณด์ํ๊ธฐ ์ํด ๊ณ ์๋
๊ณ ์ ์์ ์ ์ฅ์ฅ์น์ ๋๋ค.
์บ์๋
์์ฃผ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ฌ
CPU๊ฐ ํ์ํ ์ ๋ณด๋ฅผ
๋น ๋ฅด๊ฒ ์ ๊ทผํ ์ ์๋๋ก ๋์์ค๋๋ค.
์ด๋ฅผ ํตํด
์ ์ฒด ์์คํ ์ ์ฒ๋ฆฌ ์๋์
ํจ์จ์ฑ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์ต๋๋ค.
์บ์ ๋ฉ๋ชจ๋ฆฌ์ ์ค์์ฑ๊ณผ ์ญํ
์ปดํจํฐ์ ์ฑ๋ฅ์
CPU์ ์๋์
๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์๋์ ํฌ๊ฒ ์์กดํฉ๋๋ค.
๊ทธ๋ฌ๋ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋
CPU์ ๋นํด ์๋์ ์ผ๋ก ๋๋ฆฌ๊ธฐ ๋๋ฌธ์,
์บ์ ๋ฉ๋ชจ๋ฆฌ๋
์ด ๋ ๋ถํ ๊ฐ์ ์๋ ์ฐจ์ด๋ฅผ ์ค์ด๋ ๋ฐ
์ค์ํ ์ญํ ์ ํฉ๋๋ค.
ํจ์จ์ ์ธ ์บ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ์ค๊ณ๋
์ปดํจํฐ ์์คํ ์ ๋ฐ์ ์๋์
์์ ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ ๊ทน๋ํํ๋ ๋ฐ ํ์์ ์ ๋๋ค.
โ ก. ๋ณธ๋ก
์บ์ ๋ฉ๋ชจ๋ฆฌ์ ๊ตฌ์ฑ๊ณผ ๊ณ์ธต ๊ตฌ์กฐ
์บ์ ๋ฉ๋ชจ๋ฆฌ๋ ์ผ๋ฐ์ ์ผ๋ก
L1, L2, L3์ ์ธ ๊ฐ์ง ๊ณ์ธต์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- L1 ์บ์:
- CPU ์ฝ์ด ๋ด์ ์ง์ ํตํฉ๋์ด ์์ผ๋ฉฐ, ๊ฐ์ฅ ๋น ๋ฅธ ์ ๊ทผ ์๋๋ฅผ ์๋ํฉ๋๋ค.
- ์ฉ๋์ ์์ง๋ง(๋ณดํต ์์ญ KB), CPU๊ฐ ๊ฐ์ฅ ์์ฃผ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค.
- L2 ์บ์:
- L1 ์บ์๋ณด๋ค ์ฝ๊ฐ ๋๋ฆฌ์ง๋ง, ์ฉ๋์ด ๋ ํฝ๋๋ค(์๋ฐฑ KB์์ ์ MB).
- ์ฌ๋ฌ CPU ์ฝ์ด๊ฐ ๊ณต์ ํ๊ฑฐ๋ ๊ฐ ์ฝ์ด์ ๊ฐ๋ณ์ ์ผ๋ก ํ ๋น๋ ์ ์์ต๋๋ค.
- L3 ์บ์:
- ๊ฐ์ฅ ํฐ ์ฉ๋์ ๊ฐ์ง๋ฉฐ(์ MB์์ ์์ญ MB), CPU ์ ์ฒด์์ ๊ณต์ ๋ฉ๋๋ค.
- L1๊ณผ L2 ์บ์๋ณด๋ค ์ ๊ทผ ์๋๋ ๋๋ฆฌ์ง๋ง, ์ฌ์ ํ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ๋น ๋ฆ ๋๋ค.
์บ์ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ์๋ฆฌ
์บ์ ๋ฉ๋ชจ๋ฆฌ๋ ์ง์ญ์ฑ ์๋ฆฌ(Temporal and Spatial Locality)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋ํฉ๋๋ค.
1. ์๊ฐ ์ง์ญ์ฑ(Temporal Locality):
- ์ต๊ทผ์ ์ ๊ทผํ ๋ฐ์ดํฐ๋ ๊ฐ๊น์ด ๋ฏธ๋์๋ ๋ค์ ์ ๊ทผ๋ ๊ฐ๋ฅ์ฑ์ด ๋๋ค๋ ์๋ฆฌ์ ๋๋ค.
- ๋ฐ๋ผ์, ์์ฃผ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ๋ ์บ์์ ์ ์ฅ๋ฉ๋๋ค.
2. ๊ณต๊ฐ ์ง์ญ์ฑ(Spatial Locality):
- ํน์ ์ฃผ์ ๊ทผ์ฒ์ ๋ฐ์ดํฐ๋ ์์ฃผ ์ฌ์ฉ๋ ๊ฐ๋ฅ์ฑ์ด ๋๋ค๋ ์๋ฆฌ์ ๋๋ค.
- ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก์ ์บ์์ ๋ฏธ๋ฆฌ ๋ก๋ํ์ฌ ์ ๊ทผ ์๋๋ฅผ ํฅ์์ํต๋๋ค.
์บ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์ ๊ธฐ๋ฅ๊ณผ ์ด์
1. ์๋ ํฅ์:
- ์บ์๋ CPU์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ฐ์ ๋ฐ์ดํฐ ์ ์ก ์๋ ์ฐจ์ด๋ฅผ ์ค์ฌ, CPU๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์๊ฒ ํฉ๋๋ค.
2. ๋๊ธฐ ์๊ฐ ๊ฐ์:
- ์บ์๋ฅผ ํตํด ์์ฃผ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ์ ๋น ๋ฅด๊ฒ ์ ๊ทผํจ์ผ๋ก์จ, ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ๋ ๋ฐ ์์๋๋ ์๊ฐ์ ์ค์ ๋๋ค.
3. ์๋์ง ํจ์จ์ฑ:
- ์บ์ ๋ฉ๋ชจ๋ฆฌ๋ ๋น ๋ฅธ ๋ฐ์ดํฐ ์ ๊ทผ์ ํตํด CPU๊ฐ ํจ์จ์ ์ผ๋ก ์๋ํ๊ฒ ๋์, ์ ์ฒด ์์คํ ์ ์๋์ง ์๋น๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
4. ์ฑ๋ฅ ์ต์ ํ:
- ์บ์์ ํจ์จ์ ์ธ ๊ด๋ฆฌ์ ์ต์ ํ๋ ๋ฉํฐํ์คํน, ๊ณ ์ฑ๋ฅ ์ ํ๋ฆฌ์ผ์ด์ ์คํ ์ ์์คํ ์ ์ ๋ฐ์ ์ธ ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค.
์บ์ ๋ฉ๋ชจ๋ฆฌ์ ์ข ๋ฅ์ ํน์ฑ
1. ๋ฐ์ดํฐ ์บ์(Data Cache):
- ์ค์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ์บ์๋ก, ํ๋ก๊ทธ๋จ ์คํ ์ค ์์ฃผ ์ฐธ์กฐ๋๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค.
2. ๋ช ๋ น์ด ์บ์(Instruction Cache):
- CPU๊ฐ ์คํํ ๋ช ๋ น์ด๋ฅผ ์ ์ฅํ๋ ์บ์๋ก, ๋ช ๋ น์ด์ ๋น ๋ฅธ ์ ๊ทผ์ ์ง์ํฉ๋๋ค.
3. ์ ๋์จ ์บ์(Unified Cache):
- ๋ฐ์ดํฐ์ ๋ช ๋ น์ด๋ฅผ ๋์์ ์ ์ฅํ๋ ์บ์๋ก, ์บ์์ ์ ์ฐ์ฑ๊ณผ ํจ์จ์ฑ์ ๋์ ๋๋ค.
์บ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น๋ ์์๋ค
1. ์บ์ ํฌ๊ธฐ(Cache Size):
- ์บ์์ ์ฉ๋์ด ํด์๋ก ๋ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์์ด, ์บ์ ์ ์ค๋ฅ (Cache Hit Rate)์ด ๋์์ง๋๋ค.
2. ์บ์ ๋ผ์ธ(Cache Line):
- ์บ์ ๋ฉ๋ชจ๋ฆฌ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์ต์ ๋จ์๋ก, ๋ผ์ธ ํฌ๊ธฐ๊ฐ ํด์๋ก ๊ณต๊ฐ ์ง์ญ์ฑ์ ๋ ์ ํ์ฉํ ์ ์์ต๋๋ค.
3. ์ฐ๊ด์ฑ(Associativity):
- ์บ์๊ฐ ํน์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ ์ฅํ๋ ๋ฐฉ์์ ์ ์ํ๋ฉฐ, ์ฐ๊ด์ฑ์ด ๋์์๋ก ์บ์ ์ ์ค๋ฅ ์ด ์ฆ๊ฐํฉ๋๋ค.
4. ๊ต์ฒด ์ ์ฑ (Cache Replacement Policy):
- ์๋ก์ด ๋ฐ์ดํฐ๊ฐ ์บ์์ ์ ์ฅ๋ ๋ ๊ธฐ์กด ๋ฐ์ดํฐ๋ฅผ ๊ต์ฒดํ๋ ๋ฐฉ์์ ์๋ฏธํ๋ฉฐ, LRU(Least Recently Used), FIFO(First-In-First-Out) ๋ฑ์ด ์์ต๋๋ค.
์บ์ ๋ฉ๋ชจ๋ฆฌ์ ์ต์ ๊ธฐ์ ๊ณผ ๋ฐ์ ๋ฐฉํฅ
1. ๋ฉํฐ ๋ ๋ฒจ ์บ์(Multi-Level Cache):
- ๋ค์ํ ๋ ๋ฒจ์ ์บ์๋ฅผ ๊ฒฐํฉํ์ฌ ๋ ๋์ ์ฑ๋ฅ์ ์ ๊ณตํ๋ฉฐ, ๊ฐ ๋ ๋ฒจ์ ์บ์๊ฐ ์ํธ ๋ณด์์ ์ผ๋ก ์๋ํฉ๋๋ค.
2. ์บ์ ์ผ๊ด์ฑ(Cache Coherency):
- ๋ฉํฐ์ฝ์ด CPU ํ๊ฒฝ์์ ๊ฐ ์ฝ์ด์ ์บ์ ๊ฐ ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ์ ์งํ๊ธฐ ์ํ ๊ธฐ์ ๋ก, ์์คํ ์ ์์ ์ฑ๊ณผ ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค.
3. ๋์ ์บ์ ํ ๋น(Dynamic Cache Allocation):
- ์ค์๊ฐ์ผ๋ก ์บ์ ์ฉ๋์ ์กฐ์ ํ์ฌ ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๊ตฌ์ ๋ง์ถ์ด ์ต์ ์ ์ฑ๋ฅ์ ์ ๊ณตํ๋ ๊ธฐ์ ์ ๋๋ค.
4. ์บ์ ํ๋ฆฌํจ์นญ(Cache Prefetching):
- ๋ฏธ๋์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ์์ธกํ์ฌ ์บ์์ ๋ก๋ํจ์ผ๋ก์จ, ๋ฐ์ดํฐ ์ ๊ทผ ์๋๋ฅผ ๋์ฑ ํฅ์์ํค๋ ๊ธฐ์ ์ ๋๋ค.
โ ข. ๊ฒฐ๋ก
์บ์ ๋ฉ๋ชจ๋ฆฌ์ ์ค์์ฑ๊ณผ ์ญํ ์์ฝ
์บ์ ๋ฉ๋ชจ๋ฆฌ๋
CPU์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ฐ์
์๋ ์ฐจ์ด๋ฅผ ๊ทน๋ณตํ๊ณ ,
์ปดํจํฐ ์์คํ ์ ์ ๋ฐ์ ์ธ
์ฑ๋ฅ์ ํฅ์์ํค๋
ํต์ฌ์ ์ธ ์ ์ฅ์ฅ์น์ ๋๋ค.
์บ์์ ํจ์จ์ ์ธ ์ค๊ณ์ ๊ด๋ฆฌ๊ฐ
์์คํ ์ ์๋์ ํจ์จ์ฑ์ ํฌ๊ฒ ์ข์ฐํ๋ฉฐ,
ํ๋ ์ปดํจํฐ ์ํคํ ์ฒ์์
์ค์ํ ์ญํ ์ ๋ด๋นํฉ๋๋ค.
์บ์ ๋ฉ๋ชจ๋ฆฌ ์ ํ๊ณผ ์ต์ ํ์ ํ
- ์ ์ ํ ์บ์ ํฌ๊ธฐ ์ ํ: ์์คํ
์ฉ๋์ ๋ง๋ ์บ์ ํฌ๊ธฐ๋ฅผ ์ ํํ์ฌ ์ต์ ์ ์ฑ๋ฅ์ ํ๋ณดํ์ธ์.
- ์ฐ๊ด์ฑ๊ณผ ๊ต์ฒด ์ ์ฑ
์ต์ ํ: ํจ์จ์ ์ธ ์ฐ๊ด์ฑ๊ณผ ์ ์ ํ ๊ต์ฒด ์ ์ฑ
์ ํตํด ์บ์ ์ ์ค๋ฅ ์ ๋์ด์ธ์.
- ๋ฉํฐ๋ ๋ฒจ ์บ์ ํ์ฉ: ๋ค์ํ ๋ ๋ฒจ์ ์บ์๋ฅผ ํ์ฉํ์ฌ ๋ฐ์ดํฐ ์ ๊ทผ ์๋๋ฅผ ๊ทน๋ํํ์ธ์.
- ์ ๊ธฐ์ ์ธ ์ฑ๋ฅ ์ ๊ฒ: ์บ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฑ๋ฅ์ ์ ๊ธฐ์ ์ผ๋ก ์ ๊ฒํ๊ณ , ํ์ ์ ์ต์ ํ ์์
์ ์ํํ์ธ์.

#์บ์๋ฉ๋ชจ๋ฆฌ #CacheMemory #์ปดํจํฐ๊ธฐ์ด #IT๊ธฐ์ด #CPU์๋ #๋ฉ์ธ๋ฉ๋ชจ๋ฆฌ #์์คํ ์ฑ๋ฅ #์บ์์ค๊ณ #์บ์๊ด๋ฆฌ #๋ฐ์ดํฐ์ ์ก #IT์ฉ์ด #์ปดํจํฐ์๋ #์บ์์ต์ ํ #์บ์๊ณ์ธต #์ปดํจํฐ์ฑ๋ฅํฅ์ #์บ์์ ์ค๋ฅ #์บ์์ํคํ ์ฒ #IT๊ธฐ์ #์ปดํจํฐ๊ณตํ #์บ์๋ฉ๋ชจ๋ฆฌ์ค๋ช