์๋ก
์ด์ ๊ฒ์๊ธ์์ ํ์ด์ง ๊ธฐ๋ฒ์ ๋ํด ์์๋ณด์์ต๋๋ค. ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ํ์ด์ง ํ ์ด๋ธ์ ์ ์ฅํ๋ฉด ๋ฌธ๋งฅ ๊ตํ ์๋๊ฐ ๋นจ๋ผ์ง์ง๋ง ํ์ด์ง ํ ์ด๋ธ์ ํ์ธํ๊ธฐ ์ํด ๋ฉ๋ชจ๋ฆฌ ์ก์ธ์ค๋ฅผ ํจ์ผ๋ก์จ ์๊ฐ์ด ๋ ๋๋ ค์ง ์๋ ์์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ i์ ์ก์ธ์ค ํ๋ ค๊ณ ํ๋ค๊ณ ๊ฐ์ ํด๋ด ์๋ค. ๋จผ์ ํ์ด์ง ๋ฒํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ํ์ด์ง ํ ์ด๋ธ ๊ธฐ์ค ๋ ์ง์คํฐ(PTBR) ์คํ์ ์ ๊ฐ์ ์ฌ์ฉํ์ฌ ํ์ด์ง ํ ์ด๋ธ์ ํญ๋ชฉ์ ์ฐพ์ต๋๋ค. ์ด ์์ ์๋ ํ ๋ฒ์ ๋ฉ๋ชจ๋ฆฌ ์ก์ธ์ค๊ฐ ํ์ํฉ๋๋ค. ์ด๋ ๊ฒ ์ป์ ํ๋ ์ ๋ฒํธ์ ํ์ด์ง ์คํ์ ์ ๊ฒฐํฉํ์ฌ ์ค์ ์ฃผ์๋ฅผ ์์ฑํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ๋ฉ๋ชจ๋ฆฌ์์ ์ํ๋ ์์น์ ์ก์ธ์ค ํ ์ ์์ต๋๋ค. ์ด ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ์ ์ก์ธ์ค ํ๋ ค๋ฉด ๋ ๋ฒ์ ๋ฉ๋ชจ๋ฆฌ ์ก์ธ์ค๊ฐ ํ์ํฉ๋๋ค(ํ ๋ฒ์ ํ์ด์ง ํ ์ด๋ธ ํญ๋ชฉ๊ณผ ํ ๋ฒ์ ์ค์ ๋ฐ์ดํฐ). ๋ฐ๋ผ์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ์๊ฐ์ 2๋ฐฐ๋ก ๋๋ ค์ง๊ณ ์ด๋ ๋๋ถ๋ถ์ ์ํฉ์์ ํ์ฉํ ์ ์๋ ์ง์ฐ์๊ฐ์ ๋๋ค.
์ด๋ฒ ๊ฒ์๊ธ์์๋ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ TLB(translation look-aside buffers)๋ผ๊ณ ๋ถ๋ฆฌ๋ ํน์ํ ์ํ ํ๋์จ์ด ์บ์์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
์ด ์ฅ์ ๋ชฉํ
1. ๋ ผ๋ฆฌ ์ฃผ์์ ๋ฌผ๋ฆฌ ์ฃผ์์ ์ฐจ์ด์ ๊ณผ ์ฃผ์๋ฅผ ๋ณํํ ๋ MMU(๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ฅ์น)์ ์ญํ ์ ์ ๋ฆฌํด ๋ณธ๋ค.(์ด์ ๊ฒ์๊ธ)
2. ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐ์์ ์ผ๋ก ํ ๋นํ๊ธฐ ์ํด ์ต์ด, ์ต์ , ๋ฐ ์ต์ ์ ํฉ ์ ๋ต์ ์ ์ฉํด ๋ณธ๋ค.(์ด์ ๊ฒ์๊ธ)
3. ๋จํธํ์ ๋ํด ์์๋ณด๊ณ ๋จํธํ์ ๋ ๊ฐ์ง ์ข ๋ฅ ๋ด๋ถ ๋ฐ ์ธ๋ถ ๋จํธํ์ ์ฐจ์ด์ ์ ์ ๋ฆฌํด ๋ณธ๋ค. (์ด์ ๊ฒ์๊ธ)
4. ์ธ๋ถ ๋จํธํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ํ์ด์ง ๊ธฐ๋ฒ์ ์ดํด๋ณธ๋ค. (์ด์ ๊ฒ์๊ธ)
5. TLB(translation look-aside buffer)๊ฐ ํฌํจ๋ ํ์ด์ง ์์คํ ์์ ๋ ผ๋ฆฌ ์ฃผ์๋ฅผ ๋ฌผ๋ฆฌ ์ฃผ์๋ก ๋ณํํ๋ค. (ํ์ฌ ๊ฒ์๊ธ)
6. ๊ณ์ธต์ ํ์ด์ง, ํด์ ํ์ด์ง ๋ฐ ์ญ ํ์ด์ง ํ ์ด๋ธ์ ์ค๋ช ํ๋ค. (๋ค์ ๊ฒ์๊ธ)
TLB(translation look-aside buffers)
TLB(translation look-aside buffers)๋ ๋งค์ฐ ๋น ๋ฅธ ์ฐ๊ด ๋ฉ๋ชจ๋ฆฌ(associative memory)๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. TLB ๋ด์ ๊ฐ ํญ๋ชฉ์ ํค(key)์ ๊ฐ(value)์ ๋ ๋ถ๋ถ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. TLB์ ํ์ด์ง๋ฅผ ์ฐพ์๋ฌ๋ผ๊ณ ์์ฒญ์ด ๋ค์ด์ค๋ฉด ์ด ์ฐพ๊ณ ์ ํ๋ ํ์ด์ง๋ฅผ ๋์์ ์ฌ๋ฌ ๊ฐ์ ๋ด๋ถ ํค(ํ์ด์ง ๋ฒํธ)์ ๋น๊ตํฉ๋๋ค. ํ์ด์ง ๋ฒํธ๊ฐ ๊ฐ์ ๊ฒ์ด ๋ฐ๊ฒฌ๋๋ฉด ๊ทธ์ ๋์ํ๋ ํ๋ ์ ๋ฒํธ๋ฅผ ์๋ ค์ค๋๋ค. ๊ฒ์์ ์๋๋ ๋น ๋ฅด๊ณ ํ๋ ํ๋์จ์ด์์์ TLB ๊ฒ์์ ๋ช ๋ น์ด ํ์ดํ๋ผ์ธ์ ์ผ๋ถ๋ก ๋์ํ๋ฉฐ ์ฑ๋ฅ์ ์ถ๊ฐ์ ์ธ ์ํด๋ฅผ ๋ผ์น์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํ์ดํ๋ผ์ธ ๋จ๊ณ ๋์ ๊ฒ์์ ํ๊ธฐ ์ํด์๋ TLB์ ํฌ๊ธฐ๋ ์๊ฒ ์ ์งํ ์๋ฐ์ ์์ผ๋ฉฐ ํต์ 32๊ฐ์์ 1024๊ฐ์ ํญ๋ชฉ์ ์ ์งํฉ๋๋ค.
TLB๋ ํ์ด์ง ํ ์ด๋ธ๊ณผ ํจ๊ป ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉ๋ฉ๋๋ค. TLB๋ ํ์ด์ง ํ ์ด๋ธ์ ์ผ๋ถ๋ถ๋ง์ ์ ์ฅํฉ๋๋ค. CPU๊ฐ ๋ ผ๋ฆฌ ์ฃผ์๋ฅผ ์์ฑํ๋ฉด MMU๋ ํด๋น ํ์ด์ง ๋ฒํธ๊ฐ TLB์ ์๋์ง ํ์ธํฉ๋๋ค. ํ์ด์ง ๋ฒํธ๊ฐ ๋ฐ๊ฒฌ๋๋ฉด ํด๋น ํ๋ ์ ๋ฒํธ๋ฅผ ์ฆ์ ์ ์ ์๊ณ , ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ๊ทผํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
ํ์ด์ง ๋ฒํธ๊ฐ TLB์ ์์ผ๋ฉด(TLB ๋ฏธ์ค๋ผ๊ณ ํจ) ์ฃผ์ ๋ณํ์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ(1) ๊ฒ์๊ธ์์ ์ค๋ช ํ ๋จ๊ณ์ ๋ฐ๋ผ ์งํ๋๋ฉฐ, ์ฌ๊ธฐ์ ํ์ด์ง ํ ์ด๋ธ์ ๋ํ ๋ฉ๋ชจ๋ฆฌ ์ฐธ์กฐ๊ฐ ์ด๋ฃจ์ด์ ธ์ผ ํฉ๋๋ค. ํ๋ ์ ๋ฒํธ๊ฐ ํ๋ณด๋๋ฉด ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์๋ ์ด๋ฏธ์ง์ ๊ฐ์ด ๋ฉ๋ชจ๋ฆฌ์ ์ก์ธ์ค ํ ์ ์์ต๋๋ค.
๋ํ ํ์ด์ง ๋ฒํธ์ ํ๋ ์ ๋ฒํธ๋ฅผ TLB์ ์ถ๊ฐํ์ฌ ๋ค์ ์ฐธ์กฐ์์ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์๋๋ก ํฉ๋๋ค.
๋ง์ฝ TLB๊ฐ ๊ฐ๋ ์ฐจ๋ฉด, ๊ธฐ์กด ํญ๋ชฉ ์ค์์ ๊ต์ฒด๋ ํญ๋ชฉ์ ์ ํํด์ผ ํฉ๋๋ค. ๊ต์ฒด ์ ์ฑ ์ LRU, ๋ผ์ด๋ ๋ก๋น, ๋ฌด์์ ๋ฑ ๋ค์ํ ์ ์ฑ ์ด ์ฌ์ฉ๋๋๋ฐ ์ด๋ ๋์ค์ ๋ค๋ฅธ ํ๋ฒ ์ ๋ฆฌํด ๋ณด๊ฒ ์ต๋๋ค.
์ ๊ทผํ๋ ค๋ ๋ฉ๋ชจ๋ฆฌ์ ํ์ด์ง ๋ฒํธ๊ฐ TLB์์ ๋ฐ๊ฒฌ๋๋ ๋น์จ์ ์ ์ค๋ฅ (hit ratio)์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ์๋ฅผ ๋ค์ด 80% ์ ์ค๋ฅ ์ด๋ TLB์์ ์ํ๋ ํ์ด์ง ๋ฒํธ๋ฅผ ๋ฐ๊ฒฌํ ํ๋ฅ ์ด 80%๋ผ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
์ ๋ฆฌ
- TLB๋ ํ์ด์ง ํ ์ด๋ธ์ ํ๋์จ์ด ์บ์์ด๋ค.
- ๊ฐ TLB ํญ๋ชฉ์๋ ํ์ด์ง ๋ฒํธ์ ์์ํ๋ ํ๋ ์์ ์ ์ฅํ๋ค.
- ํ์ด์ง ์์คํ ์ ์ฃผ์ ๋ณํ์ TLB๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋ ผ๋ฆฌ ์ฃผ์์์ ํ์ด์ง ๋ฒํธ๋ฅผ ๊ฐ์ ธ์์ ํด๋น ํ์ด์ง์ ํ๋ ์์ด TLB์ ์๋์ง ํ์ธํ๋ค.
- ๋ง์ฝ TLB์ ์๋ค๋ฉด ํ๋ ์์ TLB๋ก๋ถํฐ ์ป์ด์ง๊ณ TLB์ ํ๋ ์์ด ์๋ค๋ฉด ํ์ด์ง ํ ์ด๋ธ์์ ์ฐพ์์ผ ํ๋ค.
'ComputerScience ๐ > ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[OS] ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ(4) - ํ์ด์ง ํ ์ด๋ธ์ ๊ตฌ์กฐ(Structure of the Page Table) (0) | 2022.04.03 |
---|---|
[OS] ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ(2) - ํ์ด์ง ๊ธฐ๋ฒ (0) | 2022.03.20 |
[OS] ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ(1) - ๋ฌผ๋ฆฌ, ๋ ผ๋ฆฌ์ฃผ์ ๋ฐ ์ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น (0) | 2022.03.20 |
[OS] ๊ต์ฐฉ ์ํ(Deadlocks) (0) | 2022.03.10 |
[OS] ์์ฌํ๋ ์ฒ ํ์๋ค ๋ฌธ์ (The Dining-Philosophers Problem) (0) | 2022.03.02 |
[OS] ํ๋ก์ธ์ค ๋๊ธฐํ(Process Synchronization) (0) | 2022.02.24 |
๋๊ธ