๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ CPU๊ฐ ์ง์ ์ ๊ทผํ ์ ์๋ ๊ธฐ์ต ์ฅ์น
ํ๋ก์ธ์ค๊ฐ ์คํ๋๋ ค๋ฉด ํ๋ก๊ทธ๋จ์ด ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์์ผ ํจ
๋ฉ๋ชจ๋ฆฌ๋ ์ฃผ์๊ฐ ํ ๋น๋ ์ผ๋ จ์ ๋ฐ์ดํธ๋ค๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
CPU๋ ๋ ์ง์คํฐ๊ฐ ์ง์ํ๋ ๋๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ์ฌ ๋ค์ ์ํํ ๋ช ๋ น์ด๋ฅผ ๊ฐ์ ธ์จ๋ค.
๋ช ๋ น์ด ์ํ ์ ๋ฉ๋ชจ๋ฆฌ์ ํ์ํ ๋ฐ์ดํฐ๊ฐ ์์ผ๋ฉด ๋ฉ๋ชจ๋ฆฌ๋ก ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ฐ์ ๊ฐ์ ธ์์ผ ํ๋ค.
์ด ์ญํ ์ ํ๋ ๊ฒ์ด ๋ฐ๋ก MMU์ด๋ค.
๋ ผ๋ฆฌ ์ฃผ์๋ฅผ ๋ฌผ๋ฆฌ ์ฃผ์๋ก ๋ณํํด ์ค
๋ฉ๋ชจ๋ฆฌ ๋ณดํธ๋ ์บ์ ๊ด๋ฆฌ ๋ฑ CPU๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ๋ ๊ฒ์ ์ด๊ด๋ฆฌํด ์ฃผ๋ ํ๋์จ์ด
๋ฉ๋ชจ๋ฆฌ์ ๊ณต๊ฐ์ด ํ์ ์ ์ด๊ธฐ ๋๋ฌธ์, ์ฌ์ฉ์์๊ฒ ๋ ๋ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด '๊ฐ์ ์ฃผ์'๋ผ๋ ๊ฐ๋ ์ด ๋ฑ์ฅํ๋ค.
๊ฐ์ ์ฃผ์๋ ํ๋ก๊ทธ๋จ์์์ ์ฌ์ฉ์๊ฐ ๋ณด๋ ์ฃผ์ ๊ณต๊ฐ์ด๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
์ด ๊ฐ์ ์ฃผ์์์ ์ค์ ๋ฐ์ดํฐ๊ฐ ๋ด๊ฒจ ์๋ ๊ณณ์ ์ ๊ทผํ๊ธฐ ์ํด์ ๋น ๋ฅธ ์ฃผ์ ๋ณํ์ด ํ์ํ๋ฐ, ์ด๋ฅผ MMU๊ฐ ๋์์ค๋ค.
์ฆ, MMU์ ์ญํ ์ ๋ค์๊ณผ ๊ฐ๋ค๊ณ ๋งํ ์ ์๋ค.
- MMU๊ฐ ์ง์๋์ง ์์ผ๋ฉด, ๋ฌผ๋ฆฌ ์ฃผ์์ ์ง์ ์ ๊ทผํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ถ๋ด์ด ์๋ค.
- MMU๋ ์ฌ์ฉ์๊ฐ ๊ธฐ์ต ์ฅ์๋ฅผ ์ผ์ผ์ด ํ ๋นํด์ผ ํ๋ ๋ถํธ์ ์์ ์ค๋ค.
- ํ๋ก์ธ์ค์ ํฌ๊ธฐ๊ฐ ์ค์ ๋ฉ๋ชจ๋ฆฌ์ ์ฉ๋์ ์ด๊ณผํด๋ ์คํ๋ ์ ์๊ฒ ํด ์ค๋ค.
๋ํ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ ์ง์ ์ ๊ทผ์ ๋นํจ์จ์ ์ด๋ฏ๋ก, CPU์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ ์๋๋ฅผ ๋ง์ถ๊ธฐ ์ํด ์บ์๊ฐ ์กด์ฌํ๋ค.
ํ๋ก์ธ์ค๋ ๋ ๋ฆฝ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ฐ์ ธ์ผ ํ๊ณ , ์์ ์ ๊ณต๊ฐ์๋ง ์ ๊ทผํด์ผ ํ๋ค.
๋ฐ๋ผ์ ํ ํ๋ก์ธ์ค์ ํฉ๋ฒ์ ์ธ ์ฃผ์ ์์ญ์ ์ค์ ํ๊ณ , ์๋ชป๋ ์ ๊ทผ์ด ์ค๋ฉด trap์ ๋ฐ์์ํค๋ฉฐ ๋ณดํธํ๋ค.
base์ limit ๋ ์ง์คํฐ๋ฅผ ํ์ฉํ ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ ๊ธฐ๋ฒ
- base ๋ ์ง์คํฐ: ๋ฉ๋ชจ๋ฆฌ์์ ํ๋ก์ธ์ค ์์ ์ฃผ์๋ฅผ ๋ฌผ๋ฆฌ ์ฃผ์๋ก ์ ์ฅ
- limit ๋ ์ง์คํฐ: ํ๋ก์ธ์ค์ ์ฌ์ด์ฆ๋ฅผ ์ ์ฅ
์ด๋ก์จ ํ๋ก์ธ์ค์ ์ ๊ทผ ๊ฐ๋ฅํ ํฉ๋ฒ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์์ญ(x)์ ๋ค์๊ณผ ๊ฐ๋ค.
base <= x < base+limit
์ด ์์ญ ๋ฐ์์ ์ ๊ทผ์ ์๊ตฌํ๋ฉด trap์ ๋ฐ์์ํจ๋ค.
์์ ์ฑ์ ์ํด base์ limit ๋ ์ง์คํฐ๋ ์ปค๋ ๋ชจ๋์์๋ง ์์ ๊ฐ๋ฅํ๋๋ก(์ฌ์ฉ์ ๋ชจ๋์์๋ ์ง์ ๋ณ๊ฒฝํ ์ ์๋๋ก) ์ค๊ณ๋๋ค.
์ค์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ์ด์ฆ๋ณด๋ค ๋ ํฐ ์ฌ์ด์ฆ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ๋ก์ธ์ค์ ํ ๋นํ ์ํฉ
ํ์ด์ง ๊ธฐ๋ฒ๊ณผ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ ์ฌ์ฉ์๊ฐ ๋์น์ฑ์ง ๋ชปํ๋๋ก ๋์์์ ํตํด(๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ด์ฉํด์) ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํด ์ค๋ค.
๋ค์๊ณผ ๊ฐ์ ์ํฉ์์ ์ฌ์ฉ์๋ฅผ ์์ด๊ณ ๊ณผํ ๋นํ ๊ฒ์ ๋คํฌ ์ ์๋ค.
- ํ๋ก์ธ์ค ์คํ ๋์ค ํ์ด์ง ํดํธ ๋ฐ์
- ํ์ด์ง ํดํธ๋ฅผ ๋ฐ์์ํจ ํ์ด์ง ์์น๋ฅผ ๋์คํฌ์์ ์ฐพ์
- ๋ฉ๋ชจ๋ฆฌ์ ๋น ํ๋ ์์ ํ์ด์ง๋ฅผ ์ฌ๋ ค์ผ ํ๋๋ฐ, ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ฌ์ฉ ์ค์ด๋ผ ๋น ํ๋ ์์ด ์์
๊ณผํ ๋น์ ํด๊ฒฐํ๊ธฐ ์ํด์๋, ๋น ํ๋ ์์ ํ๋ณดํ ์ ์์ด์ผ ํ๋ค.
- ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์ ์๋ ํ ํ๋ก์ธ์ค๋ฅผ ์ข ๋ฃ์์ผ ๋น ํ๋ ์์ ์ป์
- ํ๋ก์ธ์ค ํ๋๋ฅผ swap outํ๊ณ , ์ด ๊ณต๊ฐ์ ๋น ํ๋ ์์ผ๋ก ํ์ฉ
swapping ๊ธฐ๋ฒ์ ํตํด ๊ณต๊ฐ์ ๋ฐ๊ฟ์น๊ธฐํ๋ 2๋ฒ ๋ฐฉ๋ฒ๊ณผ ๋ฌ๋ฆฌ 1๋ฒ ๋ฐฉ๋ฒ์ ์ฌ์ฉ์์๊ฒ ํ์ด์ง ์์คํ ์ ๋คํฌ ๊ฐ๋ฅ์ฑ์ด ๋งค์ฐ ๋๋ค.
ํ์ด์ง ๊ธฐ๋ฒ์ ์์คํ ๋ฅ๋ฅ ์ ๋์ด๊ธฐ ์ํด OS ์ค์ค๋ก ์ ํํ ์ผ์ด๋ฏ๋ก ์ฌ์ฉ์์๊ฒ ๋คํค์ง ์๊ณ ์ฒ๋ฆฌํด์ผ ํ๋ค.
๋ฐ๋ผ์ 2๋ฒ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ํตํด ํ์ด์ง ๊ต์ฒด๊ฐ ์ด๋ฃจ์ด์ ธ์ผ ํ๋ค.
๋ฉ๋ชจ๋ฆฌ ๊ณผํ ๋น์ด ๋ฐ์ํ์ ๋, ํ๋ก์ธ์ค ํ๋๋ฅผ swap outํด์ ๋น ํ๋ ์์ ํ๋ณดํ๋ ๊ฒ
-
ํ๋ก์ธ์ค ์คํ ๋์ค ํ์ด์ง ๋ถ์ฌ ๋ฐ์
-
ํ์ด์ง ํดํธ๋ฅผ ๋ฐ์์ํจ ํ์ด์ง ์์น๋ฅผ ๋์คํฌ์์ ์ฐพ์
-
๋ฉ๋ชจ๋ฆฌ์ ๋น ํ๋ ์์ด ์๋์ง ํ์ธ
- ๋น ํ๋ ์์ด ์์ผ๋ฉด, ํด๋น ํ๋ ์์ ์ฌ์ฉ
- ๋น ํ๋ ์์ด ์์ผ๋ฉด, victim ํ๋ ์์ ์ ์ ํด ๋์คํฌ์ ๊ธฐ๋กํ๊ณ ํ์ด์ง ํ ์ด๋ธ ์ ๋ฐ์ดํธ
-
๋น ํ๋ ์์ ํ์ด์ง ํดํธ๊ฐ ๋ฐ์ํ ํ์ด์ง๋ฅผ ์ฌ๋ฆฌ๊ณ ํ์ด์ง ํ ์ด๋ธ ์ ๋ฐ์ดํธ
ํ์ด์ง ๊ต์ฒด๊ฐ ์ด๋ฃจ์ด์ง๋ฉด ์๋ฌด ์ผ์ด ์๋ ๊ฒ์ฒ๋ผ ํ๋ก์ธ์ค๋ฅผ ๊ณ์ ์ํ์์ผ ์ฃผ๋ฉด์ ์ฌ์ฉ์๊ฐ ์์ง ๋ชปํ๋๋ก ํด์ผ ํ๋ค.
์ด๋ ์๋ฌด ์ผ๋ ์ผ์ด๋์ง ์์ ๊ฒ์ฒ๋ผ ํ๋ ค๋ฉด, ํ์ด์ง ๊ต์ฒด ๋น์ ์ค๋ฒํค๋๋ฅผ ์ต๋ํ ์ค์ฌ์ผ ํ๋ค.
์ด์ฒ๋ผ ๋น ํ๋ ์์ด ์๋ ์ํฉ์์ victim ํ๋ ์์ ๋น์ธ ๋์ ์ํ๋ ํ์ด์ง๋ฅผ ํ๋ ์์ผ๋ก ์ฌ๋ฆด ๋ ๋ ๋ฒ์ ๋์คํฌ ์ ๊ทผ์ด ์ด๋ฃจ์ด์ง๋ค.
ํ์ด์ง ๊ต์ฒด๊ฐ ๋ง์ด ์ด๋ฃจ์ด์ง๋ฉด, ์ด์ฒ๋ผ ์ ์ถ๋ ฅ ์ฐ์ฐ์ด ๋ง์ด ๋ฐ์ํ๊ฒ ๋๋ฉด์ ์ค๋ฒํค๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
๋ฐฉ๋ฒ 1
๋นํธ๋ฅผ ํ์ฉํด ๋์คํฌ์ ๊ธฐ๋กํ๋ ํ์๋ฅผ ์ค์ด๋ฉด์ ์ค๋ฒํค๋๋ฅผ ์ต๋ ์ ๋ฐ์ผ๋ก ๊ฐ์์ํค๋ ๋ฐฉ๋ฒ์ด๋ค.
๋ชจ๋ ํ์ด์ง๋ง๋ค ๋ณ๊ฒฝ ๋นํธ๋ฅผ ๋๊ณ , victim ํ์ด์ง๊ฐ ์ ํด์ง๋ฉด ํด๋น ํ์ด์ง์ ๋ณ๊ฒฝ ๋นํธ๋ฅผ ํ์ธํ๋ค.
- ๋ณ๊ฒฝ ๋นํธ๊ฐ set ์ํ๋ผ๋ฉด?
- ๋ฉ๋ชจ๋ฆฌ์์ ํ์ด์ง ๋ด์ฉ์ด ๋์คํฌ์์ ํ์ด์ง ๋ด์ฉ๊ณผ ๋ฌ๋ผ์ก๋ค๋ ๋ป
- ํ์ด์ง๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ก ์ฌ๋ผ์จ ์ดํ ์์ ๋ผ์ ๋ด๋ ค๊ฐ ๋ ๋์คํฌ์ ๊ธฐ๋กํด์ผ ํจ
- ๋ณ๊ฒฝ ๋นํธ๊ฐ clear ์ํ๋ผ๋ฉด?
- ๋ฉ๋ชจ๋ฆฌ์์ ํ์ด์ง ๋ด์ฉ์ด ๋์คํฌ์์ ํ์ด์ง ๋ด์ฉ๊ณผ ์ ํํ ์ผ์นํ๋ค๋ ๋ป
- ํ์ด์ง๊ฐ ๋์คํฌ์์ ํ์ด์ง ๋ด์ฉ๊ณผ ๊ฐ์์ ๋ด๋ ค๊ฐ ๋ ๊ธฐ๋กํ ํ์๊ฐ ์์
๋ฐฉ๋ฒ 2
ํ์ฌ ์ํฉ์์ ํ์ด์ง ํดํธ๊ฐ ๋ฐ์ํ ํ๋ฅ ์ ์ต๋ํ ์ค์ผ ์ ์๋ ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ๋ค.
- FIFO
- OPT
- LRU
๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ ๋ด์ฉ์ ์ผ๋ถ๋ฅผ ์์๋ก ์ ์ฅํด ๋๋ ๊ธฐ์ต ์ฅ์น
CPU์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ์ฐจ์ด๋ก ์ธํ ์ฑ๋ฅ ์ ํ๋ฅผ ๋ฐฉ์งํ๋ ๋ฐฉ๋ฒ
CPU๊ฐ ์ด๋ฏธ ๋ณธ ๋ฐ์ดํฐ์ ์ฌ์ ๊ทผํ ๋, ๋ฉ๋ชจ๋ฆฌ ์ฐธ์กฐ ๋ฐ ์ธ์ถ ๊ณผ์ ๋น์ฉ์ ์ค์ด๊ธฐ ์ํด ์บ์์ ์ ์ฅํด ๋ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ๋ค.
์บ์๋ ํ๋ฆฝํ๋กญ ์์๋ก ๊ตฌ์ฑ๋ SRAM์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ด์ DRAM๋ณด๋ค ๋น ๋ฅด๋ค๋ ์ฅ์ ์ด ์๋ค.
- ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ: DRAM
- ์บ์ ๋ฉ๋ชจ๋ฆฌ: SRAM
-
CPU์์ ์ฃผ์ ์ ๋ฌ โ ์บ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ช ๋ น์ด๊ฐ ์กด์ฌํ๋์ง ํ์ธ
-
(์กด์ฌ) Hit โ ํด๋น ๋ช ๋ น์ด๋ฅผ CPU๋ก ์ ์ก โ ์๋ฃ
-
(๋น์กด์ฌ) Miss โ ๋ช ๋ น์ด๋ฅผ ํฌํจํ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผ โ ํด๋น ๋ช ๋ น์ด๋ฅผ ๊ฐ์ง ๋ฐ์ดํฐ ์ธ์ถ โ ํด๋น ๋ช ๋ น์ด ๋ฐ์ดํฐ๋ฅผ ์บ์์ ์ ์ฅ โ ํด๋น ๋ช ๋ น์ด๋ฅผ CPU๋ก ์ ์ก โ ์๋ฃ
-
๋ง์ด ํ์ฉ๋๋ ์ธ๋ชจ ์๋ ๋ฐ์ดํฐ๊ฐ ์บ์์ ๋ค์ด ์์ด์ผ ์ฑ๋ฅ์ด ๋์์ง๋ค.
๋ฐ๋ผ์ CPU๊ฐ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ํ ์ง ์ด๋ ์ ๋ ์์ธกํ ์ ์์ด์ผ ํ๋ค.
์ ์ค๋ฅ ์ ๊ทน๋ํํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๊ฒ์ด ๋ฐ๋ก ์ง์ญ์ฑ์ ์๋ฆฌ
์ด๋ค.
๊ธฐ์ต ์ฅ์น ๋ด์ ๋ฐ์ดํฐ์ ๊ท ์ผํ๊ฒ ์ ๊ทผํ๋ ๊ฒ์ด ์๋๋ผ ํ์๊ฐ์ ํน์ ๋ถ๋ถ์ ์ง์ค์ ์ผ๋ก ์ฐธ์กฐํ๋ ํน์ฑ
์ง์ญ์ฑ์ ์ข ๋ฅ๋ ์๊ฐ๊ณผ ๊ณต๊ฐ์ผ๋ก ๋๋์ด์ง๋ค.
์๊ฐ ์ง์ญ์ฑ: ์ต๊ทผ์ ์ฐธ์กฐ๋ ์ฃผ์์ ๋ด์ฉ์ ๊ณง ๋ค์์๋ ์ฐธ์กฐ๋๋ ํน์ฑ
๊ณต๊ฐ ์ง์ญ์ฑ: ์ค์ ํ๋ก๊ทธ๋จ์ด ์ฐธ์กฐ๋ ์ฃผ์์ ์ธ์ ํ ์ฃผ์์ ๋ด์ฉ์ด ๋ค์ ์ฐธ์กฐ๋๋ ํน์ฑ
๋น๋ฒํ๊ฒ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ๋ค์ ์บ์์ ์ ์ฅํ๋๋ผ๋, ๋ด๊ฐ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์บ์์์ ์ฐพ์ ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ํํ๋ ๊ฒ์ ์๊ฐ ๋ญ๋น๋ค.
์ฆ, ์บ์์ ๋ชฉ์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋์ด ์์ ๋ ๋ฐ๋ก ์ ๊ทผํ์ฌ ์ถ๋ ฅํ ์ ์์ด์ผ ์บ์ ํ์ฉ์ด ์๋ฏธ ์๊ฒ ๋๋ค.
๋ฐ๋ผ์ ์บ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ํ์ฉํด ๋ฌถ์ด์ ์ ์ฅํ๋๋ฐ, ์ด๋ฅผ ์บ์ฑ ๋ผ์ธ
์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
์บ์์ ์ ์ฅํ๋ ๋ฐ์ดํฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ํจ๊ป ์ ์ฅํ๋ฉด์ ๋น ๋ฅด๊ฒ ์ํ๋ ์ ๋ณด๋ฅผ ์ฐพ์ ์ ์๋ค. (set, map ๋ฑ ํ์ฉ)