์ฃผ์ ๋ฐ์ธ๋ฉ
๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ๊ด๋ จ๋ ์ฉ์ด
๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น ๋ฐฉ์
ํ์ด์ง ๊ธฐ๋ฒ
ํ๋ก์ธ์ค์ ๊ฐ์(๋ ผ๋ฆฌ์ ) ์ฃผ์๋ฅผ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ก ์ฐ๊ฒฐํ๋ ์์ ์ ๋งํฉ๋๋ค.
- ์ฐ๋ฆฌ๊ฐ ํํ ์ฌ์ฉํ๋ ์ปดํจํฐ ์์คํ ์ 32๋นํธ ํน์ธ 64๋นํธ์ ์ฃผ์ ์ฒด๊ณ๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค.
- 32๋นํธ์ ์ฃผ์ ์ฒด๊ณ๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ 2^32๊ฐ์ง์ ์๋ก ๋ค๋ฅธ ๋ฉ๋ชจ๋ฆฌ ์์น๋ฅผ ๊ตฌ๋ถํ ์ ์๊ฒ ๋๋ค.
- ์ปดํจํฐ์์๋ byte ๋จ์๋ก ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๋ถ์ฌํ๊ธฐ ๋๋ฌธ์ 32๋นํธ ์ฃผ์ ์ฒด๊ณ๋ฅผ ์ฌ์ฉํ๋ฉด 2^32 ๋ฐ์ดํธ๋งํผ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์๋ก ๋ค๋ฅธ ์ฃผ์๋ฅผ ํ ๋นํ ์ ์๋ค.
-
๊ฐ์(๋ ผ๋ฆฌ์ ) ์ฃผ์(virtual address):
- ํ๋ก๊ทธ๋จ์ด ์คํ์ ์ํด ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋๋ฉด ๊ทธ ํ๋ก์ธ์ค๋ฅผ ์ํ ๋ ์์ ์ธ ์ฃผ์ ๊ณต๊ฐ์ด ์์ฑ๋๋ค.
- ๊ฐ ํ๋ก์ธ์ค๋ง๋ค 0๋ฒ์ง๋ถํฐ ์์ํ๋ค.
- CPU๊ฐ ๋ณด๋ ์ฃผ์์ด๋ค.
-
๋ฌผ๋ฆฌ์ ์ฃผ์(physical address):
- ๋ฉ๋ชจ๋ฆฌ์ ์ค์ ๋ก ์ฌ๋ผ๊ฐ๋ ์์น์ด๋ค.
- ๋ณดํต ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ฎ์ ์ฃผ์ ์์ญ์๋ ์ด์์ฒด์ ๊ฐ ์ฌ๋ผ๊ฐ๊ณ , ๋์ ์ฃผ์ ์์ญ์๋ ์ฌ์ฉ์ ํ๋ก์ธ์ค๋ค์ด ์ฌ๋ผ๊ฐ๋ค.
์ฃผ์ ๋ฐ์ธ๋ฉ์ ๋ฐฉ์์ ํ๋ก๊ทธ๋จ์ด ์ ์ฌ๋๋ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๊ฐ ๊ฒฐ์ ๋๋ ์๊ธฐ์ ๋ฐ๋ผ ์ธ ๊ฐ์ง๋ก ๋ถ๋ฅ๋ ์ ์๋ค.
-
Compile time binding: ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผํ ๋ ๊ฒฐ์ ๋๋ ์ฃผ์ ๋ฐ์ธ๋ฉ ๋ฐฉ์
-
Load time binding: ํ๋ก๊ทธ๋จ์ ์คํ์ด ์์๋ ๋์ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ๊ฒฐ์ ๋๋ ์ฃผ์ ๋ฐ์ธ๋ฉ ๋ฐฉ์
-
Execution time binding(Runtime binding):
- ํ๋ก๊ทธ๋จ์ด ์คํ์ ์์ํ ํ์๋ ๊ทธ ํ๋ก๊ทธ๋จ์ด ์์นํ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์์ ์ฃผ์๊ฐ ๋ณ๊ฒฝ๋ ์ ์๋ ๋ฐ์ธ๋ฉ ๋ฐฉ์
- CPU๊ฐ ์ฃผ์๋ฅผ ์ฐธ์กฐํ ๋๋ง๋ค ํด๋น ๋ฐ์ดํฐ๊ฐ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ์ด๋ ์์น์ ์กด์ฌํ๋์ง ํ์ธํด์ผํ๋๋ฐ, ์ด๋ ์ฃผ์ ๋งคํ ํ ์ด๋ธ(+MMU)์ ์ฌ์ฉํ๋ค.
- ๋ฐํ์ ๋ฐ์ธ๋ฉ ๋ฐฉ์์ด ๊ฐ๋ฅํ๊ธฐ ์ํด์๋ ๊ธฐ์ค ๋ ์ง์คํฐ(base register)์ ํ๊ณ ๋ ์ง์คํฐ(limit register)๋ฅผ ํฌํจํด MMU๋ผ๋ ํ๋์จ์ด์ ์ธ ์ง์์ด ํ์ํ๋ค.
๋ ผ๋ฆฌ์ ์ฃผ์๋ฅผ ๋ฌผ๋ฆฌ์ ์ฃผ์๋ก ๋งคํํด์ฃผ๋ ํ๋์จ์ด ์ฅ์น
- MMU๋ฅผ ์ฌ์ฉํด ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ์์ผ๋ก ์ฃผ์ ๋ณํ์ ์ํํ๋ MMU ๊ธฐ๋ฒ(MMU scheme)
- CPU๊ฐ ํน์ ํ๋ก์ธ์ค์ ๊ฐ์ ์ฃผ์๋ฅผ ์ฐธ์กฐํ๋ ค๊ณ ํ ๋ MMU ๊ธฐ๋ฒ์ ๊ทธ ์ฃผ์๊ฐ์ ๊ธฐ์ค ๋ ์ง์คํฐ(base register)์ ๊ฐ์ ๋ํด ๋ฌผ๋ฆฌ์ ์ฃผ์๊ฐ์ ์ป์ด๋ธ๋ค.
- ๊ธฐ์ค ๋ ์ง์คํฐ๋ ํด๋น ํ๋ก์ธ์ค์ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ์์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
- ๋ฌธ๋งฅ๊ตํ์ผ๋ก CPU์์ ์ํ ์ค์ธ ํ๋ก์ธ์ค๊ฐ ๋ฐ๋ ๋๋ง๋ค ๊ธฐ์ค ๋ ์ง์คํฐ์ ๊ฐ์ ๊ทธ ํ๋ก์ธ์ค์ ํด๋น๋๋ ๊ฐ์ผ๋ก ์ฌ์ค์ ํจ์ผ๋ก์จ ๊ฐ ํ๋ก์ธ์ค์ ๋ง๋ ์์น์ ์ ๊ทผํ๋ ๊ฒ์ ์ง์ํ๋ค.
- ํ๊ณ ๋ ์ง์คํฐ๋ ํ๋ก์ธ์ค๊ฐ ์์ ์ ์ฃผ์ ๊ณต๊ฐ์ ๋์ด์๋ ๋ฉ๋ชจ๋ฆฌ ์ฐธ์กฐ๋ฅผ ํ๋ ค๊ณ ํ๋์ง ์ฒดํฌํ๋ ์ฉ๋๋ก ์ฌ์ฉ๋๋ฉฐ, ํ์ฌ CPU์์ ์ํ ์ค์ธ ํ๋ก์ธ์ค์ ๋ ผ๋ฆฌ์ ์ฃผ์์ ์ต๋๊ฐ, ์ฆ ๊ทธ ํ๋ก์ธ์ค์ ํฌ๊ธฐ๋ฅผ ๋ด๊ณ ์๋ค.
ํ๋ก์ธ์ค ๋ด์์ ์คํ์ ํ์ํ ๋ถ๋ถ์ด ์ค์ ๋ก ๋ถ๋ฆด ๋๋ง๋ค ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๋ ๊ฒ
- ๋ค์ค ํ๋ก๊ทธ๋๋ฐ ํ๊ฒฝ์์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ํจ์จ์ฑ์ ๋์ด๋ ๊ธฐ๋ฒ ์ค ํ๋์ด๋ค.
- ๊ฐ๋์ฉ ์ฌ์ฉ๋๋ ๋ง์ ์์ ์ฝ๋์ ๊ฒฝ์ฐ ์ ์ฉํ๋ค.
- ex) ์ค๋ฅ ์ฒ๋ฆฌ ๋ฃจํด
- ์ด์์ฒด์ ์ ํน๋ณํ ์ง์ ์์ด ํ๋ก๊ทธ๋จ ์์ฒด์์ ๊ตฌํ์ด ๊ฐ๋ฅํ๋ฉฐ, ์ด์์ฒด์ ๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด ์ง์ํ ์๋ ์๋ค.
ํ๋ก์ธ์ค์ ์ฃผ์ ๊ณต๊ฐ์ ๋ถํ ํด ์ค์ ํ์ํ ๋ถ๋ถ๋ง์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๋ ๊ธฐ๋ฒ
- ์ด์ฐฝ๊ธฐ ์ปดํจํฐ ์์คํ ์์ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ํฌ๊ธฐ ์ ์ฝ์ผ๋ก ์ธํด ํ๋์ ํ๋ก์ธ์ค์กฐ์ฐจ๋ ๋ฉ๋ชจ๋ฆฌ์ ํ๊บผ๋ฒ์ ์ฌ๋ฆด ์ ์์ ๋, ํ๋ก์ธ์ค์ ์ฃผ์ ๊ณต๊ฐ์ ๋ถํ ํด์ ๋น์ฅ ํ์ํ ์ผ๋ถ๋ถ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค ์คํํ๊ณ ํด๋น ๋ถ๋ถ์ ๋ํ ์คํ์ด ๋๋ ํ์ ๋๋จธ์ง ๋ถ๋ถ์ ์ฌ๋ ค ์คํํ๋ ๊ธฐ๋ฒ์ ๋ปํ๋ค.
- ํ๋ก์ธ์ค์ ํฌ๊ธฐ๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ํด ๋ ์ ์ฉํ๋ค.
- ์์ ๊ณต๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ์ด์ฐฝ๊ธฐ ์์คํ
์์ ์ด์์ฒด์ ์ ์ง์ ์์ด ์์์
์ผ๋ก ํ๋ก๊ทธ๋๋จธ๊ฐ ๊ตฌํํ์๋ค.
- ์์์ ์ค๋ฒ๋ฉ
- ํ๋ก๊ทธ๋๋ฐ์ด ์๋นํ ๋ณต์กํ๋ค.
- ๋์ ๋ก๋ฉ๊ณผ์ ์ฐจ์ด์
- ๋์ ๋ก๋ฉ: ๋ค์ค ํ๋ก์ธ์ค ํ๊ฒฝ์์ ๋ฉ๋ชจ๋ฆฌ์ ๋ ๋ง์ ํ๋ก์ธ์ค๋ฅผ ๋์์ ์ฌ๋ ค๋๊ณ ์คํํ๊ธฐ ์ํ ์ฉ๋์ด๋ค.
- ์ค๋ฒ๋ฉ: ๋จ์ผ ํ๋ก์ธ์ค๋ง์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค๋๋ ํ๊ฒฝ์์ ๋ฉ๋ชจ๋ฆฌ ์ฉ๋๋ณด๋ค ํฐ ํ๋ก์ธ์ค๋ฅผ ์ฌ๋ฆฌ๊ธฐ ์ํ ์ด์ฉ ์ ์๋ ์ ํ์ด๋ค.
๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์จ ํ๋ก์ธ์ค์ ์ฃผ์ ๊ณต๊ฐ ์ ์ฒด๋ฅผ ๋์คํฌ์ ์ค์ ์์ญ(swap area)์ ์ผ์์ ์ผ๋ก ๋ด๋ ค๋๋ ๊ฒ
- ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์จ ํ๋ก์ธ์ค์ ์ฃผ์ ๊ณต๊ฐ ์ ์ฒด๋ฅผ ๋์คํฌ์ ์ค์ ์์ญ์ผ๋ก ์ซ์๋ด๋ ๊ฒ์ด๋ค.
- swap area๋ backing store๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ, ๋์คํฌ ๋ด์ ํ์ผ ์์คํ ๊ณผ๋ ๋ณ๋๋ก ์กด์ฌํ๋ ๋ง์ ์ฌ์ฉ์์ ํ๋ก์ธ์ค๋ฅผ ๋ด์ ๋งํผ ์ถฉ๋ถํ ๋น ๋ฅด๊ณ ํฐ ์ ์ฅ ๊ณต๊ฐ์ด๋ค.
- ๋์คํฌ์์ ๋ฉ๋ชจ๋ฆฌ๋ก ์ฌ๋ฆฌ๋ ์์ ์ swap in, ๋ฉ๋ชจ๋ฆฌ์์ ๋์คํฌ๋ก ๋ด๋ฆฌ๋ ์์ ์ swap out๋ผ๊ณ ๋ถ๋ฅธ๋ค.
- swap์ด ์ผ์ด๋๋ ๊ณผ์
- ์ผ๋ฐ์ ์ผ๋ก ์ค๊ธฐ ์ค์ผ์ค๋ฌ๊ฐ swap outํ ํ๋ก์ธ์ค๋ฅผ ์ ์ ํ๋ค.
- ์ฃผ๋ก, ์ฐ์ ์์ ๊ธฐ๋ฐ CPU ์ค์ผ์ค๋ง์ ์ฌ์ฉํ๋ค.
- ์ฐ์ ์์๊ฐ ๋ฎ์ ํ๋ก์ธ์ค๋ฅผ swap outํจ.
- ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค๋ฅผ swap inํจ.
- ๋ง์ฝ ์ปดํ์ผ ํ์ ๋ฐ์ธ๋ฉ ํน์ ๋ก๋ ํ์ ๋ฐ์ธ๋ฉ์ด ์ฌ์ฉ๋๊ณ ์๋ค๋ฉด, swap out๋์๋ค๊ฐ swap in์ด ๋๋ฉด ์๋ ์กด์ฌํ๋ ๋ฉ๋ชจ๋ฆฌ ์์น๋ก ๋ค์ ์ฌ๋ผ๊ฐ์ผ ํ๋ค.
- ๋ฐ๋ฉด ๋ฐํ์ ๋ฐ์ธ๋ฉ์ด ์ฌ์ฉ๋๊ณ ์๋ค๋ฉด, ์ถํ ๋น ๋ฉ๋ชจ๋ฆฌ ์์ญ ์๋ฌด ๊ณณ์๋ ํ๋ก์ธ์ค๋ฅผ ์ฌ๋ฆด ์ ์์ผ๋ฏ๋ก Swapping์ ์ ํฉํ๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ์ค๊ธฐ ์ค์ผ์ค๋ฌ๊ฐ swap outํ ํ๋ก์ธ์ค๋ฅผ ์ ์ ํ๋ค.
- swap time์ ๋์คํฌ์ ํ์ ์๊ฐ์ด๋ ํ์ ์ง์ฐ ์๊ฐ ๋ณด๋ค๋ ๋์คํฌ ์นํฐ์์ ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ฐ๋ ์ ์ก ์๊ฐ(transfer time)์ด ๋๋ถ๋ถ์ ์ฐจ์งํ๋ค.
์ปดํ์ผ์ ํตํด ์์ฑ๋ ๋ชฉ์ ํ์ผ๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ผ ์ฌ์ด์ ์ฐ๊ฒฐ์ ํ๋ก๊ทธ๋จ์ ์คํ ์ง์ ๊น์ง ์ง์ฐ์ํค๋ ๊ธฐ๋ฒ
- ์ฐ๊ฒฐ(linking)์ด๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ์์ฑํ ์์ค ์ฝ๋๋ฅผ ์ปดํ์ผํ์ฌ ์์ฑ๋ ๋ชฉ์ ํ์ผ(object file)๊ณผ ์ด๋ฏธ ์ปดํ์ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ผ๋ค์ ๋ฌถ์ด ํ๋์ ์คํ ํ์ผ์ ์์ฑํ๋ ๊ณผ์ ์ด๋ค.
- ์ ์ ์ฐ๊ฒฐ
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ๋ก๊ทธ๋จ์ ์คํ ํ์ผ ์ฝ๋์ ํฌํจ๋๋ค.
- ์คํ ํ์ผ์ ํฌ๊ธฐ๊ฐ ์ปค์ง๋ค.
- ๋์ผํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฐ๊ฐ์ ํ๋ก์ธ์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๋ฏ๋ก ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๊ฐ ์ฌํ๋ค. (ex. printf ํจ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฝ๋)
- ๋์ ์ฐ๊ฒฐ
- ์คํ ํ์ผ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฝ๋๊ฐ ํฌํจ๋์ง ์์ผ๋ฉฐ, ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ฉด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์๋ฅผ ํธ์ถํ ๋๊ฐ ๋์ด์์ผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ์ฐ๊ฒฐ์ด ์ด๋ฃจ์ด์ง๋ค.
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํธ์ถ ๋ถ๋ถ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฃจํด์ ์์น๋ฅผ ์ฐพ๊ธฐ ์ํ stub์ด๋ผ๋ ์์ ์ฝ๋๋ฅผ ๋๋ค.
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ด๋ฏธ ๋ฉ๋ชจ๋ฆฌ์ ์์ผ๋ฉด ๊ทธ ๋ฃจํด์ ์ฃผ์๋ก ๊ฐ๊ณ , ์์ผ๋ฉด ๋์คํฌ์์ ์ฝ์ด ์จ๋ค.
- ์ด์ ์ฒด์ ์ ๋์์ด ํ์ํ๋ค.
- ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ๋ ์ด์์ฒด์ ์์ฃผ ์์ญ๊ณผ ์ฌ์ฉ์ ํ๋ก์ธ์ค ์์ญ์ผ๋ก ๋๋๋ค.
- ์ด์์ฒด์ ์์ฃผ ์์ญ์ ์ธํฐ๋ฝํธ ๋ฒกํฐ์ ํจ๊ป ๋ฎ์ ์ฃผ์ ์์ญ์ ์ฌ์ฉํ๋ค.
- ์ฌ์ฉ์ ํ๋ก์ธ์ค ์์ญ์ ๋์ ์ฃผ์ ์์ญ์ ์ฌ์ฉํ๋ค.
- ์ฌ์ฉ์ ํ๋ก์ธ์ค ์์ญ์ ํ ๋น ๋ฐฉ๋ฒ
- ์ฐ์ ํ ๋น
- ๊ฐ๊ฐ์ ํ๋ก์ธ์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์์ ์ธ ๊ณต๊ฐ์ ์ ์ฌ๋๋๋ก ํ๋ ๊ฒ์ด๋ค.
- ๊ณ ์ ๋ถํ ๋ฐฉ์๊ณผ ๊ฐ๋ณ ๋ถํ ๋ฐฉ์์ด ์กด์ฌํ๋ค.
- ๋ถ์ฐ์ ํ ๋น
- ํ๋์ ํ๋ก์ธ์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฌ ์์ญ์ ๋ถ์ฐ๋์ด ์ฌ๋ผ๊ฐ๋ ๊ฒ์ด๋ค.
- Paging, Segmentaing, Paged Segmentation ๋ฐฉ์์ด ์กด์ฌํ๋ค.
- ์ฐ์ ํ ๋น
- ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฃผ์ด์ง ๊ฐ์๋งํผ์ ์๊ตฌ์ ์ธ ํํฐ์ ์ผ๋ก ๋ฏธ๋ฆฌ ๋๋์ด๋๊ณ ๊ฐ ํํฐ์ ์ ํ๋์ ํ๋ก์ธ์ค๋ฅผ ์ ์ฌํด ์คํํ๋ค.
- ๋์์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆด ์ ์๋ ํ๋ก๊ทธ๋จ์ ์๊ฐ ๊ณ ์ ๋์ด ์์ผ๋ฉฐ ์ํ ๊ฐ๋ฅํ ํ๋ก๊ทธ๋จ์ ์ต๋ ํฌ๊ธฐ ๋ํ ์ ํ๋๋ค๋ ์ ์์ ์ตํต์ฑ์ด ๋จ์ด์ง๋ค.
- ์ธ๋ถ ์กฐ๊ฐ๊ณผ ๋ด๋ถ ์กฐ๊ฐ์ด ๋ฐ์ํ ์ ์๋ค.
- ์ธ๋ถ ์กฐ๊ฐ: ํ๋ก๊ทธ๋จ์ ํฌ๊ธฐ๋ณด๋ค ํํฐ์
์ ํฌ๊ธฐ๊ฐ ์์ ๊ฒฝ์ฐ ํด๋น ํํฐ์
์ด ๋น์ด์๋ ๋ฐ๋ ๋ถ๊ตฌํ๊ณ ํ๋ก๊ทธ๋จ์ ์ ์ฌํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ์๊ธฐ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์๋ฏธํ๋ค.
- ๋ด๊ฐ ์ฌ๋ฆฌ๋ ค๋ ํ๋ก๊ทธ๋จ๋ณด๋ค ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๊ฐ ์๋ค.
- ๋ด๋ถ ์กฐ๊ฐ: ํ๋ก๊ทธ๋จ์ ํฌ๊ธฐ๋ณด๋ค ํํฐ์
์ ํฌ๊ธฐ๊ฐ ํฐ ๊ฒฝ์ฐ ํด๋น ํํฐ์
์ ํ๋ก๊ทธ๋จ์ ์ ์ฌํ๊ณ ๋จ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์๋ฏธํ๋ค.
- ๋ด๊ฐ ์ฌ๋ฆฌ๋ ค๋ ํ๋ก๊ทธ๋จ๋ณด๋ค ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๊ฐ ํฌ๋ค.
- ์ธ๋ถ ์กฐ๊ฐ: ํ๋ก๊ทธ๋จ์ ํฌ๊ธฐ๋ณด๋ค ํํฐ์
์ ํฌ๊ธฐ๊ฐ ์์ ๊ฒฝ์ฐ ํด๋น ํํฐ์
์ด ๋น์ด์๋ ๋ฐ๋ ๋ถ๊ตฌํ๊ณ ํ๋ก๊ทธ๋จ์ ์ ์ฌํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ์๊ธฐ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์๋ฏธํ๋ค.
- ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋๋ ํ๋ก๊ทธ๋จ์ ํฌ๊ธฐ์ ๋ฐ๋ผ ํํฐ์ ์ ํฌ๊ธฐ, ๊ฐ์๊ฐ ๋์ ์ผ๋ก ๋ณํ๋ ๋ฐฉ์์ด๋ค.
- ๊ณ ์ ๋ถํ ๋ฐฉ์๊ณผ ๋ฌ๋ฆฌ ๋ฏธ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๋๋์ด ๋์ง ์๋๋ค.
- ํ๋ก๊ทธ๋จ์ด ์คํ๋ ๋๋ง๋ค ์ฐจ๊ณก์ฐจ๊ณก ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๋ฏ๋ก ๋ด๋ถ ์กฐ๊ฐ์ด ๋ฐ์ํ์ง ์๋๋ค.
- ๋ค๋ง ์ค๊ฐ์ ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋์ด ๋ฉ๋ชจ๋ฆฌ์์ ๋น ์ ธ ๋๊ฐ๊ณ , ๊ทธ ๊ณต๊ฐ์ ์๋ก์ด ํ๋ก๊ทธ๋จ์ด ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น๋ ๊ฒฝ์ฐ ์ธ๋ถ ์กฐ๊ฐ์ด ๋ฐ์ํ ์ ์๋ค.
Hole
- ๊ฐ์ฉ ๊ณต๊ฐ์ ์๋ฏธํ๋ค.
- ๊ฐ์ฉ ๊ณต๊ฐ์ด๋ ์ฌ์ฉ๋์ง ์์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ผ๋ก์ ๋ฉ๋ชจ๋ฆฌ ๋ด์ ์ฌ๋ฌ ๊ณณ์ ์ฐ๋ฐ์ ์ผ๋ก ์กด์ฌํ ์ ์๋ค.
- ํ๋ก์ธ์ค๊ฐ ๋์ฐฉํ๋ฉด ์์ฉ ๊ฐ๋ฅํ hole์ ํ ๋นํด์ผ ํ๋ค.
- ์ด์ ์ฒด์ ๋ ์ด๋ฏธ ์ฌ์ฉ ์ค์ธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ธ ํ ๋น ๊ณต๊ฐ๊ณผ ์ฌ์ฉํ๊ณ ์์ง ์์ ๊ฐ์ฉ ๊ณต๊ฐ์ ๋ํ ์ ๋ณด๋ฅผ ์ ์งํ๊ณ ์๋ค.
- ์๋ ๊ทธ๋ฆผ์์ ์ด๋์ด ์ ์์ญ์ด Hole์ด๋ค.
๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฌธ์
- ๊ฐ๋ณ ๋ถํ ๋ฐฉ์์์ ์ฃผ์ ๊ณต๊ฐ์ ํฌ๊ธฐ๊ฐ n์ธ ํ๋ก์ธ์ค๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆด ๋ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ๋ด์ ๊ฐ์ฉ ๊ณต๊ฐ ์ค ์ด๋ค ์์น์ ์ฌ๋ฆด ๊ฒ์ธ์ง ๊ฒฐ์ ํ๋ ๋ฌธ์ ์ด๋ค.
- First-fit
- size๊ฐ n ์ด์์ธ ๊ฒ ์ค ์ต์ด๋ก ์ฐพ์์ง๋ hole์ ํ ๋นํ๋ค.
- Best-fit
- size๊ฐ n ์ด์์ธ ๊ฐ์ฅ ์์ hole์ ์ฐพ์์ ํ ๋นํ๋ค.
- Hole๋ค์ ๋ฆฌ์คํธ๊ฐ ํฌ๊ธฐ ์์ผ๋ก ์ ๋ ฌ๋์ง ์์ ๊ฒฝ์ฐ ๋ชจ๋ hole์ ํ์ํด์ผ ํ๋ค.
- ๋ง์ ์์ ์์ฃผ ์์ hole์ด ์์ฑ๋๋ค.
- Worst-fit
- ๊ฐ์ฅ ํฐ hole์ ํ ๋นํ๋ค.
- ์ญ์ hole์ ํ์ํด์ผ ํ๋ค.
- ์๋์ ์ผ๋ก ์์ฃผ ํฐ hole์ด ์์ฑ๋๋ค.
- First-fit๊ณผ Best-fit์ด Worst-fit๋ณด๋ค ์๋์ ๊ณต๊ฐ ์ด์ฉ๋ฅ ์ธก๋ฉด์์ ํจ๊ณผ์ ์ด๋ค.
Compaction (์์ถ)
- ์ธ๋ถ ์กฐ๊ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ ์ค ํ๋์ด๋ค.
- ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ์ค์์ ํ๋ก์ธ์ค์ ์ํด ์ฌ์ฉ ์ค์ธ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ํ ์ชฝ์ผ๋ก ๋ชฐ๊ณ , ๊ฐ์ฉ ๊ณต๊ฐ๋ค์ ๋ค๋ฅธ ํ์ชฝ์ผ๋ก ๋ชฐ์์ ํ๋์ ํฐ ๊ฐ์ฉ ๊ณต๊ฐ์ ๋ง๋๋ ๋ฐฉ๋ฒ์ด๋ค.
- ๋งค์ฐ ๋น์ฉ์ด ๋ง์ด ๋๋ ๋ฐฉ๋ฒ์ด๋ค.
- ์ต์ํ์ ๋ฉ๋ชจ๋ฆฌ ์ด๋์ผ๋ก ์์ถํ๋ ๋ฐฉ๋ฒ์ ๋งค์ฐ ๋ณต์กํ ๋ฌธ์ ์ด๋ค.
- ์์ถ์ ํ๋ก์ธ์ค์ ์ฃผ์๊ฐ ์คํ ์๊ฐ์ ๋์ ์ผ๋ก ์ฌ๋ฐฐ์น๊ฐ ๊ฐ๋ฅํ ๋ฐํ์ ๋ฐ์ธ๋ฉ ๋ฐฉ์์ ์ง์ํ๋ ํ๊ฒฝ์๋ง ๊ฐ๋ฅํ๋ค.
- ํ๋ก์ธ์ค์ ์ฃผ์ ๊ณต๊ฐ์ ๋์ผํ ํฌ๊ธฐ์ ํ์ด์ง ๋จ์๋ก ๋๋์ด ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ์๋ก ๋ค๋ฅธ ์์น์ ํ์ด์ง๋ฅผ ์ ์ฅํ๋ ๋ฐฉ์์ด๋ค.
- ๊ฐ ํ๋ก์ธ์ค์ ์ฃผ์ ๊ณต๊ฐ ์ ์ฒด๋ฅผ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ํ๊บผ๋ฒ์ ์ฌ๋ฆด ํ์๊ฐ ์๊ณ , ์ผ๋ถ๋ backing storage, ์ผ๋ถ๋ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ํผ์ฌํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค.
- ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ด์ง์ ๊ฐ์ ๋์ผํ ํฌ๊ธฐ์ ํ๋ ์์ผ๋ก ๋ฏธ๋ฆฌ ๋๋์ด ๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๋ ๋จ์๊ฐ ๋์ผํ ํฌ๊ธฐ์ ํ์ด์ง ๋จ์์ด๋ฏ๋ก ์ธ๋ถ ์กฐ๊ฐ์ด ๋ฐ์ํ์ง ์๊ณ , ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฌธ์ ๋ ๊ณ ๋ คํ ํ์๊ฐ ์๋ค.
- ํ์ด์ง ํ ์ด๋ธ์ ์ฌ์ฉํ์ฌ ๋ ผ๋ฆฌ์ ์ฃผ์๋ฅผ ๋ฌผ๋ฆฌ์ ์ฃผ์๋ก ๋ณํํ๋ ์์ ์ด ํ์ํ๋ค.
- ํ๋ก๊ทธ๋จ์ ํฌ๊ธฐ๊ฐ ํญ์ ํ์ด์ง ํฌ๊ธฐ์ ๋ฐฐ์๊ฐ ๋๋ค๋ ๋ณด์ฅ์ด ์์ผ๋ฏ๋ก ํ๋ก์ธ์ค์ ์ฃผ์ ๊ณต๊ฐ ์ค ์ ์ผ ๋ง์ง๋ง์ ์์นํ ํ์ด์ง์์๋ ๋ด๋ถ ์กฐ๊ฐ์ด ๋ฐ์ํ ์ ์๋ค.
- ๋ ผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ๋ ํ์ด์ง ๋จ์๋ก ๋ถํ ์ด ๋๊ณ , ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ๋ ํ๋ ์ ๋จ์๋ก ๋ถํ ์ด ๋์ด ์๋ก ๋งค์นญ๋๋ค. ์ด๋ ๋ ผ๋ฆฌ์ ์ฃผ์๋ฅผ ๋ฌผ๋ฆฌ์ ์ฃผ์๋ก ๋ณํํ๊ธฐ ์ํด ํ์ด์ง ํ ์ด๋ธ์ ํ์ฉํ๋ค.
- ํ์ด์ง ๊ธฐ๋ฒ์์๋ CPU๊ฐ ์ฌ์ฉํ๋ ๋ ผ๋ฆฌ์ ์ฃผ์๋ฅผ ํ์ด์ง ๋ฒํธ(p)์ ํ์ด์ง ์คํ์ (d)์ผ๋ก ๋๋์ด ์ฃผ์ ๋ณํ์ ์ฌ์ฉํ๋ค.
- ํ์ด์ง ๋ฒํธ๋ ๊ฐ ํ์ด์ง๋ณ ์ฃผ์ ๋ณํ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ ํ์ด์ง ํ ์ด๋ธ ์ ๊ทผ ์ ์ธ๋ฑ์ค๋ก ์ฌ์ฉ๋๊ณ , ํด๋น ์ธ๋ฑ์ค์ ํญ๋ชฉ์๋ ๊ทธ ํ์ด์ง์ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ์์ ๊ธฐ์ค ์ฃผ์, ์ฆ ์์ ์์น๊ฐ ์ ์ฅ๋๋ค.
- ๋ฐ๋ผ์ ํน์ ํ๋ก์ธ์ค์ p๋ฒ์งธ ํ์ด์ง๊ฐ ์์นํ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ์์ ์์น๋ฅผ ์๊ณ ์ถ๋ค๋ฉด ํด๋น ํ๋ก์ธ์ค์ ํ์ด์ง ํ ์ด๋ธ์์ p๋ฒ์งธ ํญ๋ชฉ์ ์ฐพ์๋ณด๋ฉด ๋๋ค.
- ํ์ด์ง ์คํ์ ์ ํ๋์ ํ์ด์ง ๋ด์์์ ๋ณ์๋ฅผ ์๋ ค์ค๋ค. ๋ฐ๋ผ์ ๊ธฐ์ค ์ฃผ์ ๊ฐ์ ๋ณ์๋ฅผ ๋ํจ์ผ๋ก์จ ์์ฒญ๋ ๋ ผ๋ฆฌ์ ์ฃผ์์ ๋์ํ๋ ๋ฌผ๋ฆฌ์ ์ฃผ์๋ฅผ ์ป์ ์ ์๋ค.
- ์ ๊ทธ๋ฆผ์์ f (๋ฌผ๋ฆฌ์ ์ฃผ์์ ์์ ์์น) + d๋ฅผ ์ทจํ๋ฉด ์ฒ์์ CPU๊ฐ ์์ฒญํ ๋ ผ๋ฆฌ์ ์ฃผ์์ ๋์ํ๋ ๋ฌผ๋ฆฌ์ ์ฃผ์๊ฐ ๋๋ค.
- ํ์ด์ง ํ ์ด๋ธ์ ํ์ด์ง ๊ธฐ๋ฒ์์ ์ฃผ์ ๋ณํ์ ํ๊ธฐ ์ํ ์๋ฃ ๊ตฌ์กฐ๋ก, ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ธ Main Memory์ ์์ฃผํ๋ค.
- ํ์ฌ CPU์์ ์คํ ์ค์ธ ํ๋ก์ธ์ค์ ํ์ด์ง ํ
์ด๋ธ์ ์ ๊ทผํ๊ธฐ ์ํด 2๊ฐ์ ๋ ์ง์คํฐ๋ฅผ ์ฌ์ฉํ๋ค.
- ํ์ด์ง ํ
์ด๋ธ ๊ธฐ์ค ๋ ์ง์คํฐ(page-table base register)
- ๋ฉ๋ชจ๋ฆฌ ๋ด์์ ํ์ด์ง ํ ์ด๋ธ์ ์์ ์์น๋ฅผ ๊ฐ๋ฆฌํด
- ํ์ด์ง ํ
์ด๋ธ ๊ธธ์ด ๋ ์ง์คํฐ(page-table length register)
- ํ์ด์ง ํ ์ด๋ธ์ ํฌ๊ธฐ๋ฅผ ๋ณด๊ดํจ
- ํ์ด์ง ํ
์ด๋ธ ๊ธฐ์ค ๋ ์ง์คํฐ(page-table base register)
- ํ์ด์ง ๊ธฐ๋ฒ์์ ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ์ฐ์ฐ์ ์ด 2๋ฒ์ฉ ํ์ํ๋ค.
- ์ฃผ์ ๋ณํ์ ์ํด ํ์ด์ง ํ ์ด๋ธ์ ์ ๊ทผ
- ๋ณํ๋ ์ฃผ์์์ ์ค์ ๋ฐ์ดํฐ์ ์ ๊ทผ
- ์ด๋ฌํ ์ค๋ฒํค๋๋ฅผ ์ค์ด๊ณ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผ ์๋๋ฅผ ํฅ์ํ๊ธฐ ์ํด **TLB(Translation Look-aside Buffer)**๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ณ ์์ ์ฃผ์ ๋ณํ์ฉ ํ๋์จ์ด ์บ์๋ฅผ ์ฌ์ฉํ๋ค.
- TLB๋ ๊ฐ๊ฒฉ์ด ๋น์ธ๊ธฐ ๋๋ฌธ์ ๋น๋ฒํ ์ฐธ์กฐ๋๋ ํ์ด์ง์ ๋ํ ์ฃผ์ ๋ณํ ์ ๋ณด๋ง ๋ด๊ฒ ๋๋ค.
- ์์ฒญ๋ ํ์ด์ง ๋ฒํธ๊ฐ TLB์ ์กด์ฌํ๋ค๋ฉด ๊ณง๋ฐ๋ก ๋์ํ๋ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ํ๋ ์ ๋ฒํธ๋ฅผ ์ป์ ์ ์์ง๋ง, TLB์ ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ์๋ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ํ์ด์ง ํ ์ด๋ธ๋ก๋ถํฐ ํ๋ ์ ๋ฒํธ๋ฅผ ์์๋ด์ผ ํ๋ค.
- ํ์ด์ง ํ
์ด๋ธ์๋ ํ์ด์ง ๋ฒํธ๊ฐ ์ฃผ์ด์ง๋ฉด ํด๋น ํ์ด์ง์ ๋์ํ๋ ํ๋ ์ ๋ฒํธ๋ฅผ ์ป์ ์ ์์ง๋ง, TLB์๋ ํ์ด์ง ๋ฒํธ์ ํ๋ ์ ๋ฒํธ ์์ ๊ฐ์ง๊ณ ์์ผ๋ฏ๋ก ํน์ ํ์ด์ง ๋ฒํธ๊ฐ ์๋์ง TLB ์ ์ฒด๋ฅผ ์ฐพ์๋ด์ผ ํ๋ค.
- ์ด๋ TLB ํ ์ค์บ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๋ฏ๋ก ๋ณ๋ ฌ์ ์ผ๋ก ํ์์ด ๊ฐ๋ฅํ ์ฐ๊ด ๋ ์ง์คํฐ๋ฅผ ์ฌ์ฉํ๋ค.
- TLB๋ context switch์, ์ด์ ํ๋ก์ธ์ค์ ์ฃผ์ ๋ณํ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ ๋ด์ฉ์ด ์ ๋ถ ์ง์์ง๋ค.
- ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ๋ ์๊ฐ์ 1์ด๋ผ ํ๊ณ , ์ฐ๊ด ๋ ์ง์คํฐ์ ์ ๊ทผํ๋ ์๊ฐ์ ฮต์ด๋ผ๊ณ ํ์. (์ด๋, ฮต์ 1๋ณด๋ค ์ถฉ๋ถํ ์์ ๊ฐ์ด๋ค.)
- ์์ฒญ๋ ํ์ด์ง์ ๋ํ ์ฃผ์ ๋ณํ ์ ๋ณด๊ฐ ์ฐ๊ด ๋ ์ง์คํฐ์ ์กด์ฌํ ํ๋ฅ ์ a๋ผ๊ณ ํ์.
- ํ๊ท ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ์๊ฐ EAT๋ ๋ค์๊ณผ ๊ฐ๋ค.
- EAT = (1 + ฮต)a + (2 + ฮต)(1 - a) = 2 + ฮต - a
- (1 + ฮต)a ํญ์ ์์ฒญ๋ ํ์ด์ง์ ์ฃผ์ ๋ณํ ์ ๋ณด๊ฐ TLB์ ์กด์ฌํ๋ ๊ฒฝ์ฐ์ด๋ค.
- TLB๋ก๋ถํฐ ์ง์ ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ป๋ ๋ฐ ฮต์๊ฐ์ด ์์๋๊ณ , ์ค์ ์ํ๋ ๋ฐ์ดํฐ์ ์ ๊ทผํ๊ธฐ ์ํด ํ ๋ฒ์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ด ํ์ํ๋ฏ๋ก (1 + ฮต)์ด ๋๋ค. ์ฌ๊ธฐ์ TLB์์ ์กด์ฌํ๋ ํ๋ฅ ์ธ a๋ฅผ ๊ณฑํ๋ฉด, (1 + ฮต)a๊ฐ ๋๋ค.
- (2 + ฮต)(1 - a) ํญ์ ์์ฒญ๋ ํ์ด์ง์ ๋ํ ์ฃผ์ ๋ณํ ์ ๋ณด๊ฐ TLB์ ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ์ด๋ค.
- ์์ฒญ๋ ํ์ด์ง์ ๋ํ ์ฃผ์ ๋ณํ ์ ๋ณด๊ฐ TLB์ ์๋์ง ํ์ธํ๋ ์๊ฐ ฮต์ด ์์๋๊ณ , ํ์ด์ง ํ ์ด๋ธ์ ์ ๊ทผํ๋ ์๊ฐ ฮต๊ณผ ์ค์ ์ํ๋ ๋ฐ์ดํฐ์ ์ ๊ทผ ์๊ฐ a, ๋ ๋ฒ์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ด ํ์ํ๊ฒ ๋๋ค. ๋ฐ๋ผ์ (2 + ฮต)์ ์๊ฐ์ด ์์๋๋ฉฐ, ์ฌ๊ธฐ์ TLB์์ ์ฐพ์ง ๋ชปํ๋ ๋น์จ์ธ (1 - a)๋ฅผ ๊ณฑํ์ฌ (2 + ฮต)(1 - a)๊ฐ ๋๋ค.
- ํ๋์ ์ปดํจํฐ๋ ์ฃผ์ ๊ณต๊ฐ์ด ๋งค์ฐ ํฐ ํ๋ก๊ทธ๋จ์ ์ง์ํ๋ค.
- ์๋ฅผ ๋ค์ด 32๋นํธ ์ฃผ์ ์ฒด๊ณ๋ฅผ ์ฌ์ฉํ๋ ์ปดํจํฐ์์๋ 4GB์ ์ฃผ์ ๊ณต๊ฐ์ ๊ฐ๋ ํ๋ก๊ทธ๋จ์ ์ง์ํ๋ค.
- ํ์ด์ง ์ฌ์ด์ฆ๊ฐ 4K๋ผ๋ฉด, ํ ํ๋ก์ธ์ค๋น ํ์ด์ง ํ ์ด๋ธ์ ์ํด 1M ํฌ๊ธฐ์ ํ์ด์ง ํ ์ด๋ธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ํ์ํ๋ค.
- ๊ทธ๋ฌ๋ ๋๋ถ๋ถ์ ํ๋ก๊ทธ๋จ์ 4G์ ์ฃผ์ ๊ณต๊ฐ ์ค ์ง๊ทนํ ์ผ๋ถ๋ถ๋ง ์ฌ์ฉํ๋ฏ๋ก ํ์ด์ง ํ ์ด๋ธ ๊ณต๊ฐ์ด ์ฌํ๊ฒ ๋ญ๋น๋๋ค.
- ์๋ฅผ ๋ค์ด 32๋นํธ ์ฃผ์ ์ฒด๊ณ๋ฅผ ์ฌ์ฉํ๋ ์ปดํจํฐ์์๋ 4GB์ ์ฃผ์ ๊ณต๊ฐ์ ๊ฐ๋ ํ๋ก๊ทธ๋จ์ ์ง์ํ๋ค.
- ์ ๋ฌธ์ ๋ก ์ธํ์ฌ ํ์ด์ง ํ ์ด๋ธ ์์ฒด๋ฅผ ํ์ด์ง๋ก ๊ตฌ์ฑํ๋ 2๋จ๊ณ ํ์ด์ง ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ค.
2๋จ๊ณ ํ์ด์ง ๊ธฐ๋ฒ
- ์ฃผ์ ๋ณํ์ ์ํด ์ธ๋ถ ํ์ด์ง ํ ์ด๋ธ๊ณผ ๋ด๋ถ ํ์ด์ง ํ ์ด๋ธ์ ๋ ๋จ๊ณ์ ๊ฑธ์น ํ์ด์ง ํ ์ด๋ธ์ ์ฌ์ฉํ๋ค.
- ์ฌ์ฉํ์ง ์๋ ์ฃผ์ ๊ณต๊ฐ์ ๋ํด์๋ ์ธ๋ถ ํ์ด์ง ํ ์ด๋ธ์ ํญ๋ชฉ์ NULL๋ก ์ค์ ํ๋ฉฐ, ์ฌ๊ธฐ์ ๋์ํ๋ ๋ด๋ถ ํ์ด์ง ํ ์ด๋ธ์ ์์ฑํ์ง ์๋๋ค.
- ํ์ด์ง ํ ์ด๋ธ์ ์ํด ์ฌ์ฉ๋๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ค์ด์ง๋ง, ํ์ด์ง ํ ์ด๋ธ์ ์๊ฐ ์ฆ๊ฐํ๋ฏ๋ก ์๊ฐ์ ์ธ ์ํด๊ฐ ๋ค๋ฐ๋ฅธ๋ค.
2๋จ๊ณ ํ์ด์ง ๊ธฐ๋ฒ์ ์ฃผ์ ๋ณํ
- ํ๋ก์ธ์ค์ ๋
ผ๋ฆฌ์ ์ฃผ์๋ฅผ ๋ ์ข
๋ฅ์ ํ์ด์ง ๋ฒํธ(P1, P2)์ ํ์ด์ง ์คํ์
(d)์ผ๋ก ๊ตฌ๋ถํ๋ค.
- P1์ ์ธ๋ถ ํ์ด์ง ํ ์ด๋ธ์ ์ธ๋ฑ์ค์ด๊ณ , P2๋ ๋ด๋ถ ํ์ด์ง ํ ์ด๋ธ์ ์ธ๋ฑ์ค์ด๋ค.
- ๋ ผ๋ฆฌ์ ์ฃผ์๋ฅผ <P1, P2, d> ํํ๋ก ํ์ํ ์ ์๊ฒ ๋๋ค.
- ์ธ๋ถ ํ์ด์ง ํ ์ด๋ธ๋ก๋ถํฐ P1๋งํผ ๋จ์ด์ง ์์น์์ ๋ด๋ถ ํ์ด์ง ํ ์ด๋ธ์ ์ฃผ์๋ฅผ ์ป๊ฒ ๋๊ณ , ๋ด๋ถ ํ์ด์ง ํ ์ด๋ธ๋ก๋ถํฐ P2๋งํผ ๋จ์ด์ง ์์น์์ ์์ฒญ๋ ํ์ด์ง๊ฐ ์กด์ฌํ๋ ํ๋ ์์ ์์น๋ฅผ ์ป์ ํ, ํด๋น ํ๋ ์์ผ๋ก๋ถํฐ d๋งํผ ๋จ์ด์ง ๊ณณ์ด ๋ฐ๋ก ์ฐพ์ผ๋ ค๋ ๋ฌผ๋ฆฌ์ ์ฃผ์์ด๋ค.
- 32๋นํธ ์ฃผ์ ์ฒด๊ณ๋ฅผ ๊ฐ๋ ์์คํ
์์ ํ์ด์ง ํ๋์ ํฌ๊ธฐ๋ฅผ 4KB๋ผ ํ๊ณ ํ์ด์ง ํ
์ด๋ธ ํญ๋ชฉ์ ํฌ๊ธฐ๋ฅผ 4byte๋ผ๊ณ ํ ๋, 32๋นํธ์ ๋
ผ๋ฆฌ์ ์ฃผ์ ์ค ํ์ด์ง ๋ฒํธ์ ํ์ด์ง ์คํ์
์ ์ํด ๊ฐ๊ฐ ๋ช ๋นํธ์ฉ ํ ๋นํด์ผ ํ๋๊ฐ?
- ๋จผ์ ํ์ด์ง์ ํฌ๊ธฐ๊ฐ 4KB์ด๋ฏ๋ก ํ๋์ ํ์ด์ง ๋ด์์์ byte ์คํ์ ์ ๊ฒฐ์ ํ๊ธฐ ์ํด 12๋นํธ๊ฐ ํ์ํ๋ค.
- 2๋จ๊ณ ํ์ด์ง ๊ธฐ๋ฒ์์๋ ๋ด๋ถ ํ์ด์ง ํ ์ด๋ธ ์์ฒด๋ฅผ ํ๋์ ํ๋ ์์ ๋ณด๊ดํ๊ฒ ๋๋ฏ๋ก ๋ด๋ถ ํ์ด์ง ํ ์ด๋ธ์ ํฌ๊ธฐ ์ญ์ 4KB๊ฐ ๋๋ค. ํ์ด์ง ํ ์ด๋ธ ํญ๋ชฉ์ ํฌ๊ธฐ๊ฐ 4byte์ด๋ฏ๋ก ๋ด๋ถ ํ์ด์ง ํ ์ด๋ธ์ 4KB/4byte, ์ฆ 1K๊ฐ์ ํญ๋ชฉ์ ๊ฐ์ง๊ฒ ๋๋ค. 1K ํญ๋ชฉ์ ๊ตฌ๋ถํ๊ธฐ ์ํด์๋ 10๋นํธ๊ฐ ํ์ํ๋ค.
- P1์ (32 - 12- 10)์ ์ทจํ์ฌ 10๋นํธ๊ฐ ํ ๋น๋๋ค.
๋ค๋จ๊ณ ํ์ด์ง ๊ธฐ๋ฒ
- ํ๋ก์ธ์ค์ ์ฃผ์ ๊ณต๊ฐ์ด ์ปค์ง์๋ก ํ์ด์ง ํ ์ด๋ธ์ ํฌ๊ธฐ๋ ์ปค์ง๋ฏ๋ก ์ฃผ์ ๋ณํ์ ์ํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ๋ญ๋น๊ฐ ์ฌํด์ง๋ค.
- ๋ค๋จ๊ณ ํ์ด์ง ํ ์ด๋ธ์ ์ฌ์ฉํ๋ฉด ํ์ด์ง ํ ์ด๋ธ์ ์ํด ์ฌ์ฉ๋๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์๋ชจ๋ฅผ ์ค์ผ ์ ์์ง๋ง, ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ์๊ฐ์ด ๋์ด๋๋ค.
- TLB๋ฅผ ํตํด ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ์๊ฐ์ ์ค์ผ ์ ์๋ค.
- 4๋จ๊ณ ํ์ด์ง ํ
์ด๋ธ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
- ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ์๊ฐ์ด 100ns, TLB ์ ๊ทผ ์๊ฐ์ด 20ns
- ์์ฒญ๋ ํ์ด์ง์ ๋ํ ์ฃผ์ ๋ณํ ์ ๋ณด๊ฐ TLB์ ์กด์ฌํ ํ๋ฅ 98%
- ํ๊ท ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ์๊ฐ (EAT) = 0.98 x 120 + 0.02 x 520 = 128ns
- TLB hit์ด ์ฑ๊ณตํ ๋๋ TLB ์ ๊ทผ ์๊ฐ๊ณผ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ์๊ฐ์ ํฉ์ธ 120ns๊ฐ ๋๋ค.
- TLB hit์ด ์คํจํ ๋๋ TLB ์ ๊ทผ ์๊ฐ๊ณผ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ์๊ฐ x 5์ ํฉ์ธ 520ns์ด ๋๋ค.
- ๊ฒฐ๊ณผ์ ์ผ๋ก ์ฃผ์ ๋ณํ์ ์ํด์๋ง 28ns๊ฐ ์์๋๋ค.
- ํ์ด์ง ํ
์ด๋ธ๋ก ์ธํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ญ๋น๊ฐ ์ฌํ ์ด์
- ๋ชจ๋ ํ๋ก์ธ์ค์ ๋ชจ๋ ํ์ด์ง์ ๋ํ ํ์ด์ง ํ ์ด๋ธ ํญ๋ชฉ์ ๊ตฌ์ฑํด์ผ ํจ.
- ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ญํ์ด์ง ๊ธฐ๋ฒ์ ์ฌ์ฉํ ์ ์๋ค.
- ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ํ์ด์ง ํ๋ ์ ํ๋๋น ํ์ด์ง ํ ์ด๋ธ์ ํ๋์ฉ์ ํญ๋ชฉ์ ๋๋ ๋ฐฉ์์ด๋ค.
- ๋ ผ๋ฆฌ์ ์ฃผ์์ ๋ํด ํ์ด์ง ํ ์ด๋ธ์ ๋ง๋๋ ๊ฒ์ด ์๋๋ผ, ๋ฌผ๋ฆฌ์ ์ฃผ์์ ๋ํด ํ์ด์ง ํ ์ด๋ธ์ ๋ง๋๋ ๊ฒ์ด๋ค.
- ์์คํ ์ ์ฒด์ ํ์ด์ง ํ ์ด๋ธ์ ํ๋๋ง ๋๋ค.
- ํ์ด์ง ํ
์ด๋ธ์ ๊ฐ ํญ๋ชฉ์ ์ด๋ ํ๋ก์ธ์ค์ ์ด๋ ํ์ด์ง๊ฐ ์ด ํ๋ ์์ ์ ์ฅ๋์๋ ์ง์ ์ ๋ณด๋ฅผ ๋ณด๊ดํ๊ณ ์๋ค.
- ํ์ด์ง ํ ์ด๋ธ์ ๊ฐ ํญ๋ชฉ์ ํ๋ก์ธ์ค ๋ฒํธ(pid)์ ๊ทธ ํ๋ก์ธ์ค ๋ด์ ๋ ผ๋ฆฌ์ ํ์ด์ง ๋ฒํธ(p)๋ฅผ ๋ด๊ณ ์๋ค.
- ํ์ด์ง ์ ์ฒด๋ฅผ ํ์ํด์ผ ํ๋ ๋จ์ ์ด ์๋ค.
- ๋ฐ๋ผ์ ์ผ๋ฐ์ ์ผ๋ก ์ฐ๊ด ๋ ์ง์คํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ๋ ฌ ํ์์ ์ํํ๋ค.
- ๊ณต์ ์ฝ๋๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํจ์จ์ ์ธ ์ฌ์ฉ์ ์ํด ์ฌ๋ฌ ํ๋ก์ธ์ค์ ์ํด ๊ณตํต์ ์ผ๋ก ๋ ์ ์๋๋ก ์์ฑ๋ ์ฝ๋๋ฅผ ๋งํ๋ค.
- ์ฌ์ง์ ๊ฐ๋ฅ ์ฝ๋, ์์ ์ฝ๋๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ฉฐ, ์ฝ๊ธฐ ์ ์ฉ์ ํน์ฑ์ ๊ฐ์ง๊ณ ์๋ค.
- ๊ณต์ ํ์ด์ง๋ ๊ณต์ ์ฝ๋๋ฅผ ๋ด๊ณ ์๋ ํ์ด์ง๋ฅผ ๋งํ๋ค.
- ๊ณต์ ํ์ด์ง๋ ์ฌ๋ฌ ํ๋ก์ธ์ค์ ์ํด ๊ณต์ ๋๋ ํ์ด์ง์ด๋ฏ๋ก ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ํ๋๋ง ์ ์ฌ๋์ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
- ์๋ฅผ ๋ค์ด ๋ฌธ์ ํธ์ง๊ธฐ ํ๋ก๊ทธ๋จ์ ๊ณต์ ํ์ด์ง๋ฅผ ์ฌ์ฉํด์ ์์ฑํ ๊ฒฝ์ฐ, ์ด ํ๋ก์ธ์ค๋ฅผ ์ฌ๋ฌ ๊ฐ ์ํํ๋๋ผ๋ ๊ณต์ ์ฝ๋๋ฅผ ๋ด์ ํ์ด์ง๋ ๋ฉ๋ชจ๋ฆฌ์ ํ๋๋ง ์ฌ๋ผ๊ฐ๋ค.
- ๊ณต์ ์ฝ๋๋ ์ฝ๊ธฐ ์ ์ฉ์ ์ฑ์ง์ ๊ฐ์ ธ์ผ ํ๊ณ ๋ชจ๋ ํ๋ก์ธ์ค์ ๋ ผ๋ฆฌ์ ์ฃผ์ ๊ณต๊ฐ์์ ๋์ผํ ์์น์ ์กด์ฌํด์ผ ํ๋ค.
- ์ฌ์ ํ์ด์ง๋ ํ๋ก์ธ์ค๋ค์ด ๊ณต์ ํ์ง ์๊ณ , ํ๋ก์ธ์ค ๋ณ๋ก ๋
์์ ์ผ๋ก ์ฌ์ฉํ๋ ํ์ด์ง๋ฅผ ๋ปํจ.
- ์ฌ์ ํ์ด์ง๋ ํด๋น ํ๋ก์ธ์ค์ ๋ ผ๋ฆฌ์ ์ฃผ์ ๊ณต๊ฐ ์ค ์ด๋ ํ ์์น์ ์์ด๋ ๋ฌด๋ฐฉํ๋ค.
- ed 1, ed 2, ed 3๋ ๊ณต์ ํ์ด์ง์ด๊ณ , data 1, data 2, data 3๋ ์ฌ์ ํ์ด์ง์ด๋ค.
- ํ์ด์ง ํ ์ด๋ธ์ ๊ฐ ํญ๋ชฉ์๋ ์ฃผ์ ๋ณํ ์ ๋ณด ์ธ์ ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ๋ฅผ ์ํ ๋ณดํธ ๋นํธ์ ์ ํจ-๋ฌดํจ ๋นํธ๊ฐ ์กด์ฌํ๋ค.
- ๋ณดํธ ๋นํธ๋ ๊ฐ ํ์ด์ง์ ๋ํด ์ฝ๊ธฐ-์ฐ๊ธฐ/์ฝ๊ธฐ ์ ์ฉ ๋ฑ์ ์ ๊ทผ ๊ถํ์ ์ค์ ํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
- ์ ํจ-๋ฌดํจ ๋นํธ๋ ํด๋น ํ์ด์ง์ ๋ด์ฉ์ด ์ ํจํ ์ง์ ๋ํ ๋ด์ฉ์ ๋ด๊ณ ์๋ค.
- ์ ํจ-๋ฌดํจ ๋นํธ๊ฐ โ์ ํจโ: ํด๋น ๋ฉ๋ชจ๋ฆฌ ํ๋ ์์ ํด๋น ํ์ด์ง๊ฐ ์กด์ฌ. ๋ฐ๋ผ์ ์ ๊ทผ ํ์ฉ
- ์ ํจ-๋ฌดํจ ๋นํธ๊ฐ โ๋ฌดํจโ: ํด๋น ํ์ด์ง๊ฐ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์ ์์ง ์๊ณ , backing store์ ์กด์ฌํ์ฌ ํด๋น ๋ฉ๋ชจ๋ฆฌ ํ๋ ์์ ์ ๊ทผ ๋ถ๊ฐ
์๋๋ ์ ํจ-๋ฌดํจ ๋นํธ์ ๊ด๋ จ๋ ์ฌ์ง์ด๋ค.
๋ฐํจ๊ฒฝ๊ต์๋ ์ด์์ฒด์ ๊ฐ์
- ์ฌ์ฉ์ ํ๋ก์ธ์ค ์์ญ์ ํ ๋น ๋ฐฉ๋ฒ์ ์ข ๋ฅ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์. -> (์ฐ์ ํ ๋น, ๋ถ์ฐ์ ํ ๋น) ๊ฐ๊ฐ์ ์ข ๋ฅ ํน์ง ์ค๋ช
- Paging ๊ธฐ๋ฒ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
- Paging์ ์ฅ๋จ์ ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.