ํ์ด์ง์ ๋ ๋ฒ์งธ ๋ฌธ์ ๋ ํ์ด์ง ํ ์ด๋ธ์ ํฌ๊ธฐ์ด๋ค. ์ด๋ป๊ฒ ํ๋ฉด ํ์ด์ง ํ ์ด๋ธ์ด ์ฐจ์งํ๋ ๋ฉ๋ชจ๋ฆฌ์ ํฌ๊ธฐ๋ฅผ ์ค์ผ ์ ์์๊น??
1. ๊ฐ๋จํ ํด๋ฒ: ๋ ํฐ ํ์ด์ง
ํ์ด์ง ํฌ๊ธฐ๋ฅผ ์ฆ๊ฐ์ํค๋ฉด, ํ์ด์ง ํ ์ด๋ธ์ ํฌ๊ธฐ๊ฐ ์ค์ด๋ ๋ค. ํ์ด์ง ํฌ๊ธฐ๋ฅผ 4KB์์ 16KB๋ก ์ฆ๊ฐ์ํจ๋ค๋ฉด, ํ์ด์ง ํ ์ด๋ธ์ ํฌ๊ธฐ๋ 4MB์์ 1MB๋ก ๋์ด๋ค ๊ฒ์ด๋ค. ํ์ด์ง ํฌ๊ธฐ์ ์ฆ๊ฐ๋ ๋ถ์์ฉ์ด ์๋ค. ๋ฐ๋ก ๋ด๋ถ ๋จํธํ์ด๋ค.
ํ์ด์ง ํฌ๊ธฐ๊ฐ ๋๋ฌด ํฌ๋ค๋ฉด, ํ ๋น๋ ํ์ด์ง ๋ด๋ถ์์ ๋ญ๋น๊ฐ ๋ฐ์ํ ๊ฒ์ด๋ค. ๊ฒฐ๊ตญ ์ปดํจํฐ ์์คํ ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๊ธ๋ฐฉ ๊ณ ๊ฐ๋ ๊ฒ์ด๋ค. ๋๋ฌธ์ ์ผ๋ฐ์ ์ผ๋ก 4KB ํน์ 8KB์ ํ์ด์ง ํฌ๊ธฐ๋ฅผ ์ฌ์ฉํ๋ค.
2. ํ์ด๋ธ๋ฆฌ๋: ํ์ด์ง๊ณผ ์ธ๊ทธ๋จผํธ

1KB ํฌ๊ธฐ์ ํ์ด์ง๋ฅผ ๊ฐ๋ 16KB์ ์ฃผ์ ๊ณต๊ฐ์ ์๋ก ๋ค์ด๋ณด์. ์ด ์์ ์์ ํ ๊ฐ์ ์ฝ๋ ํ์ด์ง(VPN 0)๊ฐ ๋ฌผ๋ฆฌ ํ์ด์ง 10๋ฒ, ๊ทธ๋ฆฌ๊ณ ํ ๊ฐ์ ํ ํ์ด์ง(VPN 4)๊ฐ 23๋ฒ ๋ฌผ๋ฆฌ ํ์ด์ง์ ๋งคํ๋์ด ์๋ค. ๊ฐ์ ์ฃผ์ ๊ณต๊ฐ์ ๋๋ถ๋ถ์ ๋ ๊ฐ์ ์คํ ํ์ด์ง (VPN 14, 15)๊ฐ ๋ฌผ๋ฆฌ ํ์ด์ง 28๋ฒ๊ณผ 4๋ฒ์ ๋งคํ๋์ด ์๋ค.
๊ทธ๋ฆผ์์ ๋ณด์ด๋ฏ ํ์ด์ง ํ ์ด๋ธ ๋๋ถ๋ถ์ด ๋น์ด ์๋ค. ์ด๋ฐ ๋ญ๋น๋ฅผ ๋ง์๋ณด์.
ํ๋ก์ธ์ค์ ์ ์ฒด ์ฃผ์ ๊ณต๊ฐ์ ์ํด ํ๋์ ํ์ด์ง ํ ์ด๋ธ์ ๋๋ ๋์ , ๋ ผ๋ฆฌ ์ธ๊ทธ๋ฉํธ๋ง๋ค ๋ฐ๋ก ํ์ด์ง ํ ์ด๋ธ์ ๋๋ฉด ์ด๋จ๊น? ์ฝ๋, ํ, ์คํ ์ธ๊ทธ๋ฉํธ์ ๋ํด ํ์ด์ง ํ ์ด๋ธ์ ๊ฐ๊ฐ ๋ง๋ค์ด๋ณด์.
์ธ๊ทธ๋ฉํ ์ด์ ์์๋ ์ธ๊ทธ๋ฉํธ์ ๋ฌผ๋ฆฌ ์ฃผ์ ์์ ์์น๋ฅผ ๋ํ๋ด๋ ๋ฒ ์ด์ค ๋ ์ง์คํฐ, ๊ทธ๋ฆฌ๊ณ ํฌ๊ธฐ๋ฅผ ๋ํ๋ด๋ ๋ฐ์ด๋ ๋๋ ๋ฆฌ๋ฏธํธ ๋ ์ง์คํฐ๊ฐ ์๋ค.
์ฐ๋ฆฌ ๋ฐฉ์์์, ๋ฒ ์ด์ค ๋ ์ง์คํฐ๋ ์ธ๊ทธ๋ฉํธ ์์ ์ฃผ์๊ฐ ์๋๋ผ ์ธ๊ทธ๋ฉํธ์ ํ์ด์ง ํ ์ด๋ธ์ ์์ ์ฃผ์๋ฅผ ๊ฐ๋๋ค. ๋ฐ์ด๋ ๋ ์ง์คํฐ๋ ํ์ด์ง ํ ์ด๋ธ์ ๋์ ๋ํ๋ด๊ธฐ ์ํด ์ฌ์ฉํ๋ค.

ํ๋์จ์ด์ ์ธ ๊ฐ์ ๋ฒ ์ด์ค/๋ฐ์ด๋ ๋ ์ง์คํฐ ์์ด ์ฝ๋, ํ, ์คํ์ ์ํด ์กด์ฌํ๋ค๊ณ ๊ฐ์ ํด๋ณด์. ์ด ์์คํ ์์ ๋ชจ๋ ํ๋ก์ธ์ค๋ ์ธ ๊ฐ์ ํ์ด์ง ํ ์ด๋ธ์ ๊ฐ๋๋ค.
TLB ๋ฏธ์ค๊ฐ ๋ฐ์ํ๋ฉด ํ๋์จ์ด๋ ์ธ๊ทธ๋ฉํธ ๋นํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ค ๋ฒ ์ด์ค์ ๋ฐ์ด๋ ์์ ์ฌ์ฉํ ์ง ๊ฒฐ์ ํ๋ค. ํ๋์จ์ด๋ ๊ทธ ๋ ์ง์คํฐ์ ๋ค์ด ์๋ ๋ฌผ๋ฆฌ ์ฃผ์๋ฅผ VPN๊ณผ ๋ค์๊ณผ ๊ฐ์ ํ์ฑ์ผ๋ก ์กฐ์ํ์ฌ ํ์ด์ง ํ ์ด๋ธ ํญ๋ชฉ (PTE) ์ ์ฃผ์๋ฅผ ์ป๋๋ค.
SN = (VirtualAddress & SEG_MASK) >> SN_SHIFT
VPN = (VirtualAddress & VPN_MASK) >> VPN_SHIFT
AddressOfPTE = Base[SN] + (VPN * sizeof(PTE))
์์์ ์ดํด๋ณธ ์ ํ ํ์ด์ง ํ ์ด๋ธ๊ณผ ์๋์ด ๊ฑฐ์ ๋์ผํ๋ค. ์ธ ๊ฐ์ ํ์ด์ง ํ ์ด๋ธ ๋ ์ง์คํฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ฐจ์ด์ ์ด๋ค.
์ด ๋ฐฉ๋ฒ ์ญ์ ๋ฌธ์ ๊ฐ ์กด์ฌํ๋ค.
- ์ฌ์ ํ ์ธ๊ทธ๋ฉํ ์ด์ ์ ์ฌ์ฉํ๋ค. ์ธ๊ทธ๋ฉํ ์ด์ ์ ์ฃผ์ ๊ณต๊ฐ์ ์ฌ์ฉ์ ์์ด ํน์ ํจํด์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ ์ฐํ์ง ๋ชปํ๋ค.
- ์ธ๋ถ ๋จํธํ๋ฅผ ์ ๋ฐํ๋ค. ํ์ด์ง ํ ์ด๋ธ ํฌ๊ธฐ์ ์ ํ์ด ์์ผ๋ฉฐ ๋ค์ํ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๋ค. ๋ฐ๋ผ์ ๋ฉ๋ชจ๋ฆฌ ์์์ ํ์ด์ง ํ ์ด๋ธ์ฉ ๊ณต๊ฐ์ ํ๋ณดํ๋ ๊ฒ์ด ๋ ๋ณต์กํ๋ค.
3. ๋ฉํฐ ๋ ๋ฒจ ํ์ด์ง ํ ์ด๋ธ
ํ์ด์ง ํ ์ด๋ธ์ ํ์ด์ง ๋จ์๋ก ์๋ฅธ ๋ค, ํ๋๋ผ๋ ์ ํจํ entry๊ฐ ์๋ค๋ฉด, ํด๋น ํ์ด์ง ํ ์ด๋ธ์ ์ ์งํ์ง ์๋ ๋ฐฉ์์ด๋ค. ์ด๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋ฉํฐ ๋ ๋ฒจ ํ์ด์ง ํ ์ด๋ธ์๋ ํ์ด์ง ๋๋ ํ ๋ฆฌ (page directory) ๋ผ๋ ๊ฐ๋ ์ ๋์ ํ๋ค. ํ์ด์ง ํ ์ด๋ธ์ ํ์ด์ง๊ฐ ์ด๋์ ์๋์ง, ํด๋น ํ์ด์ง ํ ์ด๋ธ์ ์ ํจํ ํ์ด์ง๊ฐ ์๋์ง๋ฅผ ์๋ ค์ฃผ๋ ๋ฐ ์ฌ์ฉํ๋ค.

ํ์ด์ง ๋๋ ํ ๋ฆฌ์๋ ์ค์ ๋ก ์ฌ์ฉ์ค์ธ ๋ ๊ฐ์ ํ์ด์ง ํ ์ด๋ธ์๋ง ์ ๊ทผํ ์ ์๋๋ก ํ์ฌ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๋ฅผ ๋ฐฉ์งํ๋ค.
์ด๋ ๊ฒ ์ฃผ์ ๋ณํ์ ํ ๋ฒ์ ๋จ๊ณ๊ฐ ์ถ๊ฐ๋์๊ธฐ ๋๋ฌธ์ ๋ฉํฐ ๋ ๋ฒจ์ด๋ผ๊ณ ๋ถ๋ฆฐ๋ค.
ํ์ด์ง ๋๋ ํ ๋ฆฌ๋ ํ์ด์ง๋น ํ๋์ entry๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ํ์ด์ง ํ ์ด๋ธ์ ์์ ๋ถ๋ถ, ์ฆ ๋ฒ ์ด์ค ๋ ์ง์คํฐ ๊ฐ์ ๋๋์ด๋ค. page directory entry๊ฐ ์ ํจํ์ง ์๋ ค์ฃผ๋ valid bit์ page frame number๋ก ๊ตฌ์ฑ๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๋ฅผ ์ค์ผ ์ ์์ง๋ง, TLB ๋ฏธ์ค๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ์์ ํ์ด์ง ํ ์ด๋ธ์ ์ ๊ทผํ๊ธฐ ์ํด 2๋ฒ์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ด ๋ฐ์ํ๋ค. ๋๋ ํ ๋ฆฌ ํ ๋ฒ, ํ์ด์ง ํ ์ด๋ธ ํ ๋ฒ.
2๋จ๊ณ ์ด์ ์ฌ์ฉํ๊ธฐ
๋ง์ฝ ํ์ด์ง ๋๋ ํฐ๋ฆฌ๊ฐ ๋๋ฌด ์ปค์ง๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น? ํ์ด์ง ๋๋ ํฐ๋ฆฌ ์์ฒด๋ฅผ ๋ฉํฐ ํ์ด์ง๋ค๋ก ๋๋์ด์, ํธ๋ฆฌ์ ๋จ๊ณ๋ฅผ ๋๋ฆฌ๋ ๋ฐฉ์์ผ๋ก ํด๊ฒฐํ ์ ์๋ค.

4. ์ญ ํ์ด์ง ํ ์ด๋ธ

๋ฌผ๋ฆฌ ํ์ด์ง๋ฅผ ๊ฐ์ ์ฃผ์ ์์ ํ์ด์ง๋ก ๋ณํํ๋ค. ์์ฐจ ํ์์ ํ๋ฉด ๋๋ฆฌ๊ธฐ ๋๋ฌธ์, ํด์ ํ ์ด๋ธ ๋ฑ์ ์ฌ์ฉํ๋ค. ์ญ ํ์ด์ง ํ ์ด๋ธ์ ๊ฐ ํญ๋ชฉ์ ํด๋น ๋ฌผ๋ฆฌํ์ด์ง๋ฅผ ์ฌ์ฉ ์ค์ธ ํ๋ก์ธ์ค ๋ฒํธ, ํด๋น ๊ฐ์ ํ์ด์ง ๋ฒํธ๋ฅผ ๊ฐ๊ณ ์๋ค.
์ญ ํ์ด์ง ํ ์ด๋ธ(Inverted Page Table, IPT)์ ์ผ๋ฐ์ ์ธ ํ์ด์ง ํ ์ด๋ธ๊ณผ ๋ค๋ฅด๊ฒ ๋์ํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋ฐฉ์์ ๋๋ค. ์ผ๋ฐ์ ์ธ ํ์ด์ง ํ ์ด๋ธ์ ๊ฐ ํ๋ก์ธ์ค์ ๋ํด ๊ฐ์ ์ฃผ์๋ฅผ ๋ฌผ๋ฆฌ ์ฃผ์๋ก ๋งคํํ๋ ์ญํ ์ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฐ ๋ฐฉ์์ ํ ์ด๋ธ์ ํฌ๊ธฐ๊ฐ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ํฌ๊ธฐ์ ๋น๋กํ๊ธฐ ๋๋ฌธ์, ํ ์ด๋ธ ์์ฒด๊ฐ ๋งค์ฐ ํฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐจ์งํ๊ฒ ๋ ์ ์์ต๋๋ค.
์ญ ํ์ด์ง ํ ์ด๋ธ์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ก, ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ ํ์ด์ง๋ฅผ ๊ฐ์ ์ฃผ์ ๊ณต๊ฐ์ ๋งคํํฉ๋๋ค. ์ด๋ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ ํ์ด์ง๋ฅผ ์ธ๋ฑ์ค๋ก ํ๋ ๋ฐฐ์ด์ ์ ์งํจ์ผ๋ก์จ ์ด๋ฃจ์ด์ง๋๋ค. ๊ฐ ์ํธ๋ฆฌ๋ ํด๋น ๋ฌผ๋ฆฌ ํ์ด์ง๋ฅผ ์ฌ์ฉ ์ค์ธ ํ๋ก์ธ์ค์ ์๋ณ์(ID)์ ํด๋น ๊ฐ์ ํ์ด์ง์ ์ฃผ์๋ฅผ ์ ์ฅํฉ๋๋ค. ๋ฐ๋ผ์ ์ญ ํ์ด์ง ํ ์ด๋ธ์ ๋ชจ๋ ํ๋ก์ธ์ค์ ๋ํ ์ ๋ณด๋ฅผ ํ ๊ณณ์์ ๊ด๋ฆฌํฉ๋๋ค.
์ญ ํ์ด์ง ํ ์ด๋ธ์ ์ฌ์ฉํ๋ฉด ์ ์ฒด ์์คํ ์ ๋ํ ํ์ด์ง ํ ์ด๋ธ์ ํฌ๊ธฐ๊ฐ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ํฌ๊ธฐ์ ๋น๋กํ๊ฒ ๋ฉ๋๋ค. ์ด๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ ๊ณต๊ฐ์ด ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ํจ์ฌ ํด ์ ์๊ธฐ ๋๋ฌธ์, ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ํฌ๊ฒ ์ค์ผ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ์ญ ํ์ด์ง ํ ์ด๋ธ์ ์ฌ์ฉํ๋ฉด ๊ฐ์ ์ฃผ์๋ฅผ ๋ฌผ๋ฆฌ ์ฃผ์๋ก ๋ณํํ๋ ๊ณผ์ ์ด ๋ณต์กํด์ง๋๋ค. ์ฃผ์ด์ง ๊ฐ์ ์ฃผ์์ ํ๋ก์ธ์ค ID๋ฅผ ๊ฐ์ง ๋ฌผ๋ฆฌ ํ์ด์ง๋ฅผ ์ฐพ๊ธฐ ์ํด ์ ์ฒด ํ ์ด๋ธ์ ๊ฒ์ํด์ผ ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, ์ผ๋ฐ์ ์ผ๋ก ๋น ๋ฅธ ๊ฒ์์ ๊ฐ๋ฅํ๊ฒ ํ๋ ํด์ ํ ์ด๋ธ์ด๋ ๋ค๋ฅธ ๋ฐฉ์์ ์ธ๋ฑ์ฑ์ด ์ฌ์ฉ๋ฉ๋๋ค.
5. ํ์ด์ง ํ ์ด๋ธ์ ๋์คํฌ๋ก ์ค์
์๋ฌด๋ฆฌ ์ถ์ํด๋ ๋ฉ๋ชจ๋ฆฌ์ ์์ฃผ์ํค๊ธฐ์ ๋๋ฌด ์ปค์ง๋ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น? ํ์ด์ง ํ ์ด๋ธ์ ๋์คํฌ์ ์ ์ฅํ๊ธฐ๋ ํ๋ค. ์ค์์ ๋ค์ ๋จ์์์ ์์๋ณด์.