์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- ๋ฌธ์์ด
- ํ๋ฐฉ์ฟผ๋ฆฌ
- ์ฟ ํกDB
- ์ฐ์ฐ์
- ์คํ
- ๋ฐฑ์ค11053 #ํ์ด์ฌ #python
- ๋ฐฐ์ด
- ์
- StringBuffer
- StringBuilder
- ์ฟ ํกERD
- ์๋ฐ
- ๋
- ์ฐ
- ๋ฐฑ์ค1874
- ๋ฐฑ์ค9093
- ๋ฐ์ดํฐํ์
- ๋ฐฑ์ค9012
- stream
- java
- ์คํธ๋ฆผ
- ์คํ์์ด
- Today
- Total
Tech Log ๐ ๏ธ
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ๋ (๋ ผ๋ฆฌ์ฃผ์, ํ์ด์ง ํดํธ, ์ค์ํ) ๋ณธ๋ฌธ
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ๋ (๋ ผ๋ฆฌ์ฃผ์, ํ์ด์ง ํดํธ, ์ค์ํ)
sehaan 2024. 1. 10. 17:39๊ฐ์๋ฉ๋ชจ๋ฆฌ๋?
ํ๋ก๊ทธ๋จ์ ์์ํ๊ธฐ ์ํด์๋ ํ๋ก๊ทธ๋จ์ด ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์์ผ ํ๋๋ฐ, ๋ชจ๋ ํ๋ก๊ทธ๋จ์ ์ฌ๋ฆฌ๊ธฐ์๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฉ๋์ด ํฑ ์์ด ๋ถ์กฑํ๋ค. ์ด๋ ํ์ํ ๊ฒ์ด ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ด๋ค.
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ์ปดํจํฐ๊ฐ ์ด์ฉ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ ์์๋ค์ ์ถ์ํํ๋ ๊ฒ์ด๋ผ๊ณ ํ๋๋ฐ, ์ด๊ฒ ๋ฌด์จ ๋ง์ผ๊น?
CPU๋ ํ๋ก์ธ์ค๋ฅผ ์คํํ ๋ ๋ ผ๋ฆฌ ์ฃผ์(logical memory)๋ฅผ ๋ฐ๋ผ๋ณธ๋ค.
์ด๋ ์ค์ ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์๋ ์ง ์๋ ์ง ์๊ด์์ด, ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํตํด์ ๋ ผ๋ฆฌ ์ฃผ์๋ฅผ ๋ชจ๋ ํ๋ก์ธ์ค์๊ฒ ํ ๋นํ์ฌ์ค๋ค.
์ด๋ ๊ฒ ํด์ฃผ๋ฉด CPU ์ ์ฅ์์๋ "๋ชจ๋ ํ๋ก์ธ์ค๋ค์ด ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์ ์๋ค?" ๋ผ๋ ์ฐฉ๊ฐ์ ํ๊ฒ ๋๊ณ ์ด๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ถ์ํ๋ผ๊ณ ๋ณผ ์ ์๋ค.
(์ค์ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ์๋ CPU ์ ์ฅ์์ ์ ํ์ ์๋ค.)
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํ ์ด์
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ํต์ฌ์ ํ๋ก์ธ์ค์ ์ผ๋ถ๋ถ๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆด ์ ์๋ค๋ ๊ฒ์ด๋ค.
๊ธฐ์กด์๋ ํ๋ก์ธ์ค๋ฅผ ์คํ์ํค๊ธฐ ์ํด์ ๋ฉ๋ชจ๋ฆฌ์ ํ๋ก์ธ์ค ์ ์ฒด๋ฅผ ์ฌ๋ ค์ผํ๋ค. ํ์ง๋ง ์ด๋ฌํ ๋ฐฉ์์ ๋ฉ๋ชจ๋ฆฌ์ ์ฉ๋์ด ๋ถ์กฑํ๊ฑฐ๋ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ์คํ๋ ๊ฒฝ์ฐ ๋น๋ฒํ๊ฒ ์ค์(swap) ์์ฒญ์ด ๋ฐ๋ณต๋๋ค๋ ๋ฌธ์ ๊ฐ ์์์ผ๋ฉฐ, ๋ฉ๋ชจ๋ฆฌ์ ๋นํจ์จ์ฑ์ ์ด๋ํ๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์์๋ ์๊ตฌํ์ด์ง ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ฌ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ์ด์ง๋ก ๋๋๊ณ ๊ผญ ํ์ํ ํ์ด์ง๋ค๋ง ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ ธ์จ๋ค.
์๊ตฌ ํ์ด์ง ๊ธฐ๋ฒ์ด๋
๋ชจ๋ ํ๋ก์ธ์ค๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค๋์ผ๋ฉด ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๊ฐ ํ๋ค์ด์ง๊ณ ์๋ต ์๊ฐ์ด ๋๋ ค์ง๋ค๋ ๋จ์ ์ด ์์๋ค.
์๊ตฌ ํ์ด์ง ๊ธฐ๋ฒ์ ์ด๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋์จ ๊ฒ์ธ๋ฐ, ์๊ตฌ๋๋ ํ๋ก์ธ์ค์ ์ผ๋ถ๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํจ์ผ๋ก์จ ๊ธฐ์กด ๋ฌธ์ ๋ค์ ์ํ์ํฌ ์ ์๋ค.
๋ง์ฝ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์์ 4๋ฒ ํ์ด์ง๋ฅผ ์์ฒญํ๋๋ฐ page fault๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ๋ฅผ ์ดํด๋ณด์.
ํ์ฌ 4๋ฒ ํ์ด์ง์ ์ ํจ๋นํธ๋ 1(invalid)์ด๋ค. ๊ทธ๋ ๋ค๋ฉด ์ค์ ์์ญ์์ ๊ฐ์ ธ์์ผํ๋๋ฐ ์ด๋ ์ค์ํ์ด ๋ฐ์ํ๋ค.
์ผ๋จ, ์์๋ก 4๋ฒ์ ์๋ ํ์ด์ง๋ฅผ ์ค์ ์์ญ์ผ๋ก ๋ฐฉ์ถ(์ค์ ์์)ํ๋ค. ๊ทธ๋ฌ๋ฉด ์ ํจ๋นํธ๋ 1์์ 0์ด ๋๊ณ ์ค์ ์์ญ ๋ด์ ์ฃผ์(6)๊ฐ ๋ค์ด๊ฐ๊ฒ ๋๋ค.
๊ทธ ๋ค์ ์ค์ ์์ญ์ 1๋ฒ์ ํด๋นํ๋ ํ๋ก์ธ์ค(E)๊ฐ ๋ฌผ๋ฆฌ๋ฉ๋ชจ๋ฆฌ์ 3๋ฒ ํ๋ ์์ผ๋ก ์ฌ๋ผ๊ฐ๊ณ ์ ํจ ๋นํธ๋ 1์์ 0์ผ๋ก ๋ฐ๋๋ค.
์ด์ฒ๋ผ ์ ํจ๋นํธ๊ฐ 1(๋ฉ๋ชจ๋ฆฌ์ ์์)์ผ๋๋ ์ฃผ์ ํ๋์ ํ๋ ์ ๋ฒํธ๊ฐ ๋ค์ด๊ฐ๊ณ 0(๋ฉ๋ชจ๋ฆฌ์ ์์)์ผ๋๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ๋ค์ด๊ฐ๋ค.
๊ทธ๋ฆฌ๊ณ ์์์์๋ ์์๋ก ํ์ด์ง๋ฅผ ๋ฐฉ์ถํ์ง๋ง, ์ค์ ๋ก๋ ํ์ด์ง๊ฐ ๊ฝ ์ฐผ์ ๊ฒฝ์ฐ ์ง์ญ์ฑ์ ๊ณ ๋ คํด์ ํ์ด์ง ์๊ณ ๋ฆฌ์ฆ์ ์ค๊ณํ๋ค.
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ๋์ ๋ฐฉ์
ํ์์ฑ์ ์์๋ค๋ฉด ๊ธฐ๋ณธ์ ์ธ ๋์ ๋ฐฉ์์ ๋ค๋ค๋ณด๋ ค๊ณ ํ๋ค.
๋จผ์ ์ฒ์์๋ CPU๊ฐ ํ๋ก์ธ์ค ์์ฒญ์ ํ๋ ๊ฒ๋ถํฐ ์์ํ๋ค.
์ด๋ ๋ฐ๋ก ํ์ด์ง ํ ์ด๋ธ๋ก ๊ฐ๋ ๊ฒ์ด ์๋ ์บ์ฑ ๊ณ์ธต์ธ TLB๋ฅผ ๋ฐฉ๋ฌธํ๋ค. -> ์ฌ๊ธฐ์๋ ์์ผ๋ฉด ํ์ด์ง ํ ์ด๋ธ๋ก ๊ฐ๋ค.
ํ์ง๋ง ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ์์ฒด์ ์ ์ ๊ฐ ๋์ด์์ง ์๋ค๋ฉด ํ์ด์ง ํดํธ ํ์์ด ๋ฐ์ํ๋ค.
๋ฉ๋ชจ๋ฆฌ์ ์๋ ํ๋ก์ธ์ค๋ง์ ๋ ผ๋ฆฌ ์ฃผ์๋ฅผ ํ ๋นํ๊ธฐ ๋๋ฌธ์ ์ด ํ์์ ๋ถ๊ฐํผํ๋ค.
์ค์ํ ๊ฒ์ ํ์ด์ง ํดํธ๊ฐ ์ผ์ด๋ ๋ค์์ธ๋ฐ, ๋ฐ๋ก ์ค์ํ์ ํตํด ํ์ด์ง ํดํธ๋ฅผ ๋์ฒํ ์ ์๋ค.
์ค์ํ์ด๋ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ํ๋ก์ธ์ค๋ฅผ ๋ฐ๋ก ๋์คํฌ์ ์ค์ ์์ญ์์ ๊ฐ์ ธ์ด์ผ๋ก์จ ๋นจ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ์ํค๋ ๊ฒ์ด๋ค.
์ค์ํ์ด ์์ฃผ ์ผ์ด๋๋ค๋ ๊ฒ์ ์ข์ ํ์์ด ์๋๋ค. ๋ํ์ ์ธ ๋ฌธ์ ๊ฐ *์ค๋ ์ฑ์ด๋ค.
์ค์ํ์ด ๋์ ๋ค๋ฐ์ ์ผ๋ก ๋ฐ์ํ๋ฉด CPU ์ฒ๋ฆฌ์ ๊ณต๋ฐฑ์ด ๋ฐ์ํ๋ค.
๊ทผ๋ฐ ์ด์์ฒด์ ๋ ์ด๋ฅผ CPU๊ฐ ๋๊ณ ์๋ค๊ณ ์ธ์ํ๊ณ ๋ ๋ง์ ํ๋ก์ธ์ค๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๋๋ฐ ์ด๋ฌํ ์ ์ํ์ ๋ฐ๋ณต์ผ๋ก ์ฑ๋ฅ์ด ๋จ์ด์ง๊ฒ๋๋ค.
์ค๋ ์ฑ : ํ์ด์ง ๋ถ์ฌ์จ(Page fault)์ด ์ฆ๊ฐํ์ฌ CPU ์ด์ฉ์จ์ด ๊ธ๊ฒฉํ๊ฒ ๋จ์ด์ง๋ ํ์
์ค๋ ์ฑ ํ์์ ๋ํ์ ์ธ ํด๊ฒฐ๋ฒ์ผ๋ก๋ PFF(page fault frequency)๋ฅผ ์ฌ์ฉํ์ฌ ํ์ด์ง ํดํธ์ ์ํ์ ๊ณผ ํํ์ ์ ์ ํด์ค์ผ๋ก์จ ์ต์ํ์ ํ์ด์ง ํ๋ ์ ํ ๋น์ ๋ณด์ฅํด์ฃผ๋ ๋ฐฉ์์ด ์๋ค.
์ด ๋ฐฉ์์ ํตํด ํ์ด์ง ํดํธ ๋น๋๋ฅผ ๊ณ์ฐํ์ฌ ํ์ด์ง ํดํธ๊ฐ ์ํ์ ๋ณด๋ค ๋์ผ๋ฉด ๋ ๋ง์ ํ๋ ์์ ํ ๋นํด์ฃผ๊ณ ๋ฎ์ผ๋ฉด ํ ๋นํ ํ๋ ์์ ํ์ํด์ค ์ ์๋ค.
์๋๋ฉด ์์ ์งํฉ ๋ชจ๋ธ(Working Set)์ ๋ง๋ค์ด์ ๊ฐ์ฅ ์ต๊ทผ์ ์ฐธ์กฐ๋ ํ์ด์ง๋ค์ ์งํฉ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ค.
์ด๋ ์ต๊ทผ์ ์ฐธ์กฐ๋ ํ๋ ์๋ค์ด ์ดํ์๋ ๋ ์ฐธ์กฐ๋ ๊ฒ์ด๋ผ๋ ์ง์ญ์ฑ์ ๊ธฐ๋ฐํ๋ค.
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฅ๋จ์
์ฅ์
๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ํ ์ ์๋ค.
๊ธฐ์กด์๋ ํ๋ก์ธ์ค ์ ์ฒด๊ฐ ์ฌ๋ผ์์ผ ํ๋ค๋ฉด ํ์ด์ง ํ ์ด๋ธ์ ํตํด ๊ผญ ํ์ํ ํ์ด์ง๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆด ์ ์๋ค.
๋ํ ๋จ+์ค์ ์์ญ์ ํตํด ๋น๊ต์ ๋์ ์์ญ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ฅํ ์ ์์ด์ ๋ฉ๋ชจ๋ฆฌ ์ถฉ๋ ์ํ์ด ์ ๊ณ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๊ฐ ๋น๊ต์ ๋จ์ํด์ง๋ค.
๋จ์
ํ์ด์ง ํดํธ ํ์์ด ๋น๋ฒํ ์ ์ค๋ ์ฑ์ผ๋ก ์ธํ ์ฑ๋ฅ ์ ํ๊ฐ ๋ฐ์ํ๋ ๋ฐ ์ด๋ฅผ ์ํํ๊ธฐ ์ํ ์ถ๊ฐ ์์ ์ด ํ์ํ๋ค. ex) ํ์ด์ง ์๊ณ ๋ฆฌ์ฆ
๊ฒฐ๋ก
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ๊ผญ ํ์ํ ํ๋ก์ธ์ค๋ค๋ง ํ์ด์ง ๋จ์๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆด ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ํจ๊ณผ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ ์ ์๋ค.
CPU ์ ์ฅ์์๋ ์ด๋ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ถ์ํ๋ฅผ ํตํด ๋ชจ๋ ํ๋ก์ธ์ค๋ค์ ์์ ๋กญ๊ฒ ์์ฒญํ ์ ์๊ณ ๋ง์ฝ ๋ฉ๋ชจ๋ฆฌ์ ์๋๋ผ๋ ์ค์์ ํตํด ๋ฐ๋ก ์์ฒญํ ์ ์๋ค.
ํ์ง๋ง ์ฆ์ ํ์ด์ง ํดํธ๋ก ์ธํ ์ค๋ ์ฑ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ด๋ค ํ๋ก์ธ์ค๋ฅผ ์ฌ๋ฆฌ๊ณ ๋ด๋ฆด ์ง์ ๋ํ ์ถ๊ฐ์ ์ธ ํ์ด์ง ์๊ณ ๋ฆฌ์ฆ์ด ํ์ํ๋ค.
'Computer Science > ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
CISC์ RISC์ ๊ฐ๋ ๊ณผ ์ฐจ์ด (1) | 2024.01.24 |
---|---|
์ปค๋ ์์คํ ์์๋ณด๊ธฐ (0) | 2024.01.17 |
์ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น๊ณผ ํ์ด์ง ๋ฐฉ์ (1) | 2024.01.03 |
๋ฐ๋๋ฝ์ด ๋ฐ์ํ๋ ์ด์ ์ ํด๊ฒฐ ์ ๋ต (2) | 2024.01.03 |
๋ชจ๋ํฐ์ ๋์ ๋ฐฉ์๊ณผ ์๋ฐ์์์ ๋ชจ๋ํฐ (0) | 2023.12.30 |