#1 ์ด์์ฒด์ ์ ์ปดํจํฐ ๊ตฌ์กฐ์ ์ดํด
by JiwonDev
์ด์์ฒด์ ๋ฅผ ๊ณต๋ถํ๊ธฐ ์ , ์ปดํจํฐ ๊ตฌ์กฐ ์๋ฆฌ์ฆ๋ฅผ ๊ฐ๋ณ๊ฒ ์ฝ๊ณ ์ค์๋๊ฑธ ์ถ์ฒ๋๋ฆฝ๋๋ค.
#1. ์ด์์ฒด์
ํ๋์ ์ปดํจํฐ๋, ํฐ๋ ธ์ด๋ง ๊ตฌ์กฐ๋ก ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ(ํ๋ก๊ทธ๋จ, ๋ฐ์ดํฐ)๋ก ๊ตฌ์ฑ๋ ์ฅ์น๋ฅผ ๋งํฉ๋๋ค. ์ปดํจํฐ๋ ์ ๋ง ๋ง์ ๋ฐ์ ์ด ์์์ง๋ง ๊ฒฐ๊ตญ ์ ๋ ฅ์ ๋ฐ์ ๊ณ์ฐ์ ํ๊ณ ์ถ๋ ฅ์ ํ๋ ๊ฑด ๋์ผํฉ๋๋ค.
ํ์ง๋ง ์๋ง์ ์ ์ถ๋ ฅ ์ฅ์น๋ค์ ๊ด๋ฆฌํ๊ณ , ๋ฉ๋ชจ๋ฆฌ์์ ํ์ํ ์ ๋ณด๋ฅผ ์ฝ์ด์ ํ๋ก์ธ์์๊ฒ ์์ ์ ์ฃผ๋ ์์ ์ ์ ๋ง ๋ณต์กํฉ๋๋ค. ๋ํ ์ฐ๋ฆฌ๋ ์ปดํจํฐ ํ๋์ ์ ๋ง ์๋ง์ ํ๋ก๊ทธ๋จ๋ค์ ๋์์ ๋๋ฆฌ๋๋ฐ, ์ด๊ฒ ์ด๋ป๊ฒ ๊ฐ๋ฅํ๊ฑธ๊น์?
์ ๋ต์ ๋ฐ๋ก ์ด ์๋ง์ ์์ ๋ค์ ๋์ ํด์ฃผ๋ ์ํํธ์จ์ด๊ฐ ์ปดํจํฐ์ ๋ถํ ๊ณผ ํจ๊ป ์์๋๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๊ฒ์ด ๋ฐ๋ก Operating System, ์ด์์ฒด์ ์ด์ฃ .
1. ์ปดํจํฐ ์์คํ ์ ์์๋ค์ 'ํจ์จ์ ' ์ผ๋ก ๊ด๋ฆฌ
2. ์ฌ์ฉ์๊ฐ ํ๋์จ์ด ๊ตฌ์กฐ๋ฅผ ๋ชจ๋ฅด๋๋ผ๋ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋ ํ๊ฒฝ ์ ๊ณต (์ถ์ํ)
3. ํ๋ก๊ทธ๋จ <-> ํ๋์จ์ด ๊ฐ์ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ ์์คํ ์ํํธ์จ์ด
# ์ด์์ฒด์ ์ดํด๋ฅผ ์ํ ์ปดํจํฐ ๊ตฌ์กฐ
์ด์์ฒด์ ๋ ์ฒ๋ฆฌํ ์์ ์ ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํด์ฃผ๊ณ , ๋ณด์กฐ์ฅ์น์ ์ ์ถ๋ ฅ์ ์ ์ดํฉ๋๋ค.
@ ํ๋ก์ธ์ (Process)
์ค์์ฒ๋ฆฌ์ฅ์น(CPU)๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ฉฐ ์ปดํจํฐ์ ๋ชจ๋ ๋์์ ์ ์ดํ๊ณ , ์ฐ์ฐ์ ์ฒ๋ฆฌํ๋ค. CPU ๋ด๋ถ์๋ ์์ฃผ ์๊ณ ๋น ๋ฅธ ๋ ์ง์คํฐ๋ผ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํฌํจํ๊ณ ์๋ค. ์ค์ ๋ก CPU๊ฐ ๋์ํ ๋ ๋ค์ํ ๋ ์ง์คํฐ๋ฅผ ํ์ฉํ๋๋ก ์ค๊ณ๋์ด ์๋ค.
https://www.youtube.com/watch?v=Fg00LN30Ezg
@ ๋ ์ง์คํฐ (register)
๋ ์ง์คํฐ๋ CPU์ ํฌํจ๋ ๊ฐ์ฅ ๋น ๋ฅด๊ณ , ์์ ๋ฉ๋ชจ๋ฆฌ๋ก CPU๊ฐ ์ฐ์ฐํ๊ฑฐ๋ ์์คํ ์ ์กฐ์ํ ๋ ์ง์ ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ์ ๋๋ค. ๋ ์ง์คํฐ์๋ ์๊ฐ๋ณด๋ค ๋ค์ํ ์ข ๋ฅ๊ฐ ์๋๋ฐ, ๋ค์๊ณผ ๊ฐ์ด ๋ถ๋ฅํ ์ ์์ต๋๋ค.
- ์ฉ๋์ ๋ฐ๋ฅธ ๋ถ๋ฅ
- ์ ์ฉ ๋ ์ง์คํฐ(์ฉ๋๊ฐ ์์), ๋ฒ์ฉ ๋ ์ง์คํฐ(์์ ๋กญ๊ฒ ์ฌ์ฉ) - ์ฌ์ฉ์์ ๋ณ๊ฒฝ ๊ฐ๋ฅ ์ฌ๋ถ์ ๋ฐ๋ฅธ ๋ถ๋ฅ
- ์ฌ์ฉ์ ๊ฐ์ ๋ ์ง์คํฐ(์ฝ๋๋ก ์กฐ์ ๊ฐ๋ฅ), ๋ถ๊ฐ์ ๋ ์ง์คํฐ - ์ ์ฅํ๋ ์ ๋ณด์ ๋ฐ๋ฅธ ๋ถ๋ฅ
- ๋ฐ์ดํฐ ๋ ์ง์คํฐ, ์ฃผ์ ๋ ์ง์คํฐ, ์ํ ๋ ์ง์คํฐ
@ ๋ฉ๋ชจ๋ฆฌ(Memory)
๋ ์ง์คํฐ๋ฅผ ํฌํจํ์ฌ ์ปดํจํฐ์์ ๋ฌด์ธ๊ฐ๋ฅผ '์ ์ฅ'ํ๋๊ฑด ์ ๋ถ ๋ฉ๋ชจ๋ฆฌ์ ๋๋ค. ๋ฉ๋ชจ๋ฆฌ๋ ๊ณ์ธต๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ์์ต๋๋ค.
@ ์ฃผ๊ธฐ์ต์ฅ์น (Main Memory)
์ ์ฅ์ฅ์น(ํ๋๋์คํฌ)์์ ๋ฐ๋ก CPU์ ๋ ์ง์คํฐ๋ก ๋ฐ๋ก ์ ์กํ๋ฉด ๋ ๊ฒ ๊ฐ์๋ฐ, ๊ตณ์ด Main memory๋ฅผ ์ค๊ฐ์ ๋๋ ์ด์ ๋ ๋์คํฌ<->๋ ์ง์คํฐ์ ์ ์ถ๋ ฅ ๋ณ๋ชฉํ์์ ํด์ํ๊ธฐ ์ํจ์ ๋๋ค. ๋์คํฌ๊ฐ ์๋ฌด๋ฆฌ ๋นจ๋ผ๋ CPU์ ์๋๋ฅผ ๋ง์ถ๊ธด ์ด๋ ต์ต๋๋ค. ๊ทธ๋์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋กํ์ง ์๊ณ , ์ ๊ธฐ/์ ์๋ฐฉ์์ ์ฌ์ฉํ๋ Main Memory๋ฅผ ๋๋ ๊ฒ์ ๋๋ค. ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ ์ ๊ธฐ๊ฐ ๋์ด์ง๋ฉด ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ง๋ค๋ ๋จ์ ์ด ์์ง๋ง ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์๋๊ฐ ๋งค์ฐ ๋น ๋ฆ ๋๋ค. ๋์คํฌ๊ฐ ์ด๋น 5000๋ฒ์ด๋ผ๋ฉด, ๋ฉ๋ชจ๋ฆฌ๋ ์ด๋น 10์ต๋ฒ ์ ๊ทผ ๊ฐ๋ฅํฉ๋๋ค.
@ ์บ์ ๋ฉ๋ชจ๋ฆฌ(Cache Memory)
ํ๋์ ์ปดํจํฐ๋ ํ๋ก์ธ์๋ ๋ฉ์ธ๋ณด๋์ L1, L2 ์บ์๋ผ๊ณ ๋ถ๋ฆฌ์ฐ๋ '์บ์ ๋ฉ๋ชจ๋ฆฌ'๋ฅผ ์ถ๊ฐ์ ์ผ๋ก ์ฌ์ฉํฉ๋๋ค. ์บ์๋ฉ๋ชจ๋ฆฌ์๋ ์์ฃผ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ๋ค์ ๋ฏธ๋ฆฌ ๋ถ๋ฌ์๋๋ ๋ฒํผ ์ญํ ์ ํ๋๋ฐ, ๊ฒฐ๊ตญ ์บ์๋ฉ๋ชจ๋ฆฌ๋ ๋ฉ์ธ๋ฉ๋ชจ๋ฆฌ<-> ๋ ์ง์คํฐ์ ์ ์ถ๋ ฅ ๋ณ๋ชฉํ์์ ํด์ํ๊ธฐ ์ํด ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต๊ตฌ์กฐ๋ก ๋ง๋ค์ด์ง ๊ฒ์ ๋๋ค.
์บ์๋ ํน๋ณํ ์ํ๋ฅผ ๊ด๋ฆฌํ๋๊ฒ ์๋๋ผ, ๋ง ๊ทธ๋๋ก ์์ฃผ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ๊ฐ์ ธ์๋๋ ๋ฉ๋ชจ๋ฆฌ์ ๋๋ค. ๋ณดํต CPU์์ ํ๋์จ์ด์ ์ผ๋ก ๊ด๋ฆฌ๋๋ฉฐ ์บ์์์ ์๋ ๋ฐ์ดํฐ์ค์ CPU์ ํ์ํ ๋ฐ์ดํฐ๊ฐ ์๋ค๋ฉด ์บ์ ํํธ(Cache hit), ์๋ค๋ฉด ์บ์ ๋ฏธ์ค(Cache Miss)๋ผ๊ณ ํฉ๋๋ค. ์บ์ ๋ฏธ์ค๊ฐ ๋ฐ์ํ๋ค๋ฉด ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ฉ์ธ๋ฉ๋ชจ๋ฆฌ์์ ์บ์๋ก ๊ฐ์ ธ์ต๋๋ค.
@ ์ปดํจํฐ ๋ฉ๋ชจ๋ฆฌ์ ์ง์ญ์ฑ(Locality)
CPU ์ ์ฅ์์ ์ด๋ป๊ฒ ๋ค์์ ์คํ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ฏธ๋ฆฌ์๊ณ , ์บ์์์ ๋ฃ์ด๋ ์ ์์๊น์? ๊ทธ๊ฑด ๋ฐ๋ก ์ปดํจํฐ์ ์ฌ์ฉ๋๋ ๋ฉ๋ชจ๋ฆฌ๋ ์ง์ญ์ฑ์ด๋ผ๋ ํน์ง์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ง์ญ์ฑ์ ์บ์ ์ ์ค๋ฅ (cache hit ratio) ํฅ์๊ณผ ๋ฐ์ ํ ๊ด๊ณ๊ฐ ์์ผ๋ฉฐ ์ปดํจํฐ ์ฑ๋ฅ์ ํฐ ์ํฅ์ ๋ผ์นฉ๋๋ค. (์ฐธ๊ณ ๋ก ํ๋์ ์ปดํจํฐ์๋ ์ง์ญ์ฑ๊ณผ ํจ๊ป CPU์ ๋จธ์ ๋ฌ๋ ๊ธฐ์ ์ ์ ๋ชฉ์ํค๋ ํฉ๋๋ค.
- ๊ณต๊ฐ์ ์ง์ญ์ฑ (Spatial Locality)
๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์ฐจ์ ์ผ๋ก ๋ง์ด ์ฌ์ฉํฉ๋๋ค. ์ฐธ์กฐํ ์ฃผ์์ ์ธ์ ํ ์ฃผ์๋ฅผ ์ฐธ์กฐํฉ๋๋ค. - ์๊ฐ์ ์ง์ญ์ฑ (temporal Locality)
ํ ๋ฒ ์ฐธ์กฐํ ์ฃผ์๋ฅผ ๊ณง ๋ค์ ์ฐธ์กฐํ๋ ํน์ฑ์ด ์์ต๋๋ค. (๋ฐ๋ณต๋ฌธ, ๊ฐ์ฒด๋ฑ)
@ ๋ณด์กฐ๊ธฐ์ต ์ฅ์น
CPU์ ๋ณ๋ชฉํ์์ ํด๊ฒฐํ๊ธฐ์ํด ๋ ์ง์คํฐ, ์บ์, ๋ฉ์ธ๋ฉ๋ชจ๋ฆฌ๊ฐ ์๊ธฐ๊ฒ ๋๋ฉฐ ์์ฐ์ค๋ฝ๊ฒ ํ๋ก๊ทธ๋จ์ ์ ์ฅํ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ '๋ณด์กฐ๊ธฐ์ต ์ฅ์น'๋ผ๊ณ ๋ถ๋ฅด๊ฒ ๋์์ต๋๋ค. ๋ณด์กฐ๊ธฐ์ต์ฅ์น๋ CPU๊ฐ ์ง์ ์กฐ์ํ ์ ์์ต๋๋ค. ๊ทธ ๋์ ๋ณดํต ์ฉ๋์ด ํฌ๊ณ , ๊ฐ๊ฒฉ์ด ์ ๋ ดํฉ๋๋ค. ( ํ๋์๋ ROM->USB->SSD๋ฅผ ๊ฑฐ์ณ ๋ณด์กฐ๊ธฐ์ต์ฅ์น์ ์๋๊ฐ ๋ง์ด ๋นจ๋ผ์ก๊ธดํ๋ ๋ฉ์ธ๋ฉ๋ชจ๋ฆฌ์ ์๋์ ๋น๊ตํ ์ ๋๋ ์๋๋๋ค. ๊ฒฐ๊ตญ ์ ๊ธฐ๊ฐ ๋๊ฒจ๋ ๋ฐ์ดํฐ๋ฅผ '์ ์ง'ํด์ผํ๋ ์ฐจ์ด๊ฐ ์์ผ๋๊น์.
์ฐธ๊ณ ๋ก ๋ฉ์ธ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ ๋ ๋์คํฌ๋ฅผ ๋น๋ ค ์ ๊น ์ ์ฅํด๋๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ ์ด๋ฅผ '๊ฐ์ ๋ฉ๋ชจ๋ฆฌ'๋ผ๊ณ ํฉ๋๋ค. ํ๋ก๊ทธ๋จ์์๋ ๋ง์น ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ฒ๋ผ ๋์ํ๋๊น์.
@ ์์คํ ๋ฒ์ค (System Bus)
CPU๋ ์ฅ์น๋ค๊ณผ BUS๊ตฌ์กฐ๋ก ์ ๊ธฐ ์ ํธ๋ฅผ ์ฃผ๊ณ ๋ฐ์ต๋๋ค. ํ๋ก์ธ์๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ ์ ์ถ๋ ฅ ์ฅ์น๋ค์ BUS๋ฅผ ์ด์ฉํ์ฌ ์ ์ดํ๊ณ , ํ์ํ ๊ฐ๋ค์ ๋ ์ง์คํฐ๋ก ๋ฐ์์ค๊ฑฐ๋ ๋ฐ๋๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํฉ๋๋ค.
CPU๊ฐ ๋ ์ง์คํฐ๋ฅผ ์ด์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ๋ ๊ณผ์ ์ ํฐ ๊ทธ๋ฆผ์ผ๋ก ๋ณธ๋ค๋ฉด ์๋์ ๊ฐ์ต๋๋ค.
@ ์ ์ถ๋ ฅ์ฅ์น์ ๋๋ผ์ด๋ฒ
์ ์ถ๋ ฅ์ฅ์น๋ ์ปดํจํฐ์ ๊ตฌ์ฑ์์๋ ์๋๊ณ , ์ฌ์ฉ์์๊ฒ ์ ์ถ๋ ฅ์ ์ ๊ณตํ๊ธฐ ์ํด ๋ง๋ญ๋๋ค.
์ ์ถ๋ ฅ์ฅ์น๋ ์ ๋ง ๋ค์ํ๊ฒ ์กด์ฌํฉ๋๋ค. ํ๋ก๊ทธ๋จ์ ์ ์ฅํ ๋์คํฌ๋ฅผ ํฌํจํด์ ํค๋ณด๋, ๋ง์ฐ์ค, ํ๋ฆฐํฐ, ํฐ์น์คํฌ๋ฆฐ, ์คํผ์ปค... ์ด์์ฒด์ ๊ฐ ๋ฏธ๋์ ๋์ฌ ๋ชจ๋ ์ ์ถ๋ ฅ์ฅ์น์ ํธํ๋๋ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋๋ ๊ฒ์ ์ฌ์ค์ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
๊ทธ๋์ ์ด์์ฒด์ ์์ ํด๋น ๋๋ผ์ด๋ฒ๋ฅผ ์กฐ์ํ ์ ์๊ฒ ํด์ฃผ๋ ํ์ค ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํด์ฃผ๊ณ , ์ฅ์น ์ ์กฐ์ฌ(๋ฒค๋)์์ ํด๋น ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค๊ฒ ๋๋๋ฐ ์ด๋ฅผ '์ฅ์น ๋๋ผ์ด๋ฒ ํ๋ก๊ทธ๋จ'์ด๋ผ๊ณ ํฉ๋๋ค.
'๐ฑโ๐ป์ ๊ณต ๊ณต๋ถ > ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
#2 ์ด์์ฒด์ ๊ฐ ํ๋ ์ผ (0) | 2021.08.21 |
---|
๋ธ๋ก๊ทธ์ ์ ๋ณด
JiwonDev
JiwonDev