๐ก ๋ณธ ๊ธ์ ๋ฉด์ ์ ์ํ CS ์ ๊ณต์ง์ ๋ ธํธ ๋์๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ ๋ฆฌํ์์ต๋๋ค.
INTRO
์ปดํจํฐ๋ CPU, DMA ์ปจํธ๋กค๋ฌ, ๋ฉ๋ชจ๋ฆฌ, ํ์ด๋จธ, ๋๋ฐ์ด์ค ์ปจํธ๋กค๋ฌ ๋ฑ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๊ฐ๊ฐ์ ๋ํด ์์ธํ ์์๋ณด์.
CPU
CPU(Central Processing Unit)๋ ์ปดํจํฐ์์ ๊ฐ์ฅ ํต์ฌ์ ์ธ ์ญํ ์ ์ํํ๋ ๋ถ๋ถ์ผ๋ก, ์ธ๊ฐ์ ๋๋์ ๋น์ ํ ์ ์๋ค. ์ ์ด ์ฅ์น, ๋ ์ง์คํฐ, ์ฐ์ฐ ์ฅ์น๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
์ธํฐ๋ฝํธ์ ์ํด ๋จ์ํ ๋ฉ๋ชจ๋ฆฌ์ ์กด์ฌํ๋ ๋ช ๋ น์ด๋ฅผ ํด์ํด์ ์คํํ๋ ์ผ๊พผ์ด๋ค.
์ด์์ฒด์ ์ ์ปค๋(๊ด๋ฆฌ์ ์ญํ )์ด ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค ํ๋ก์ธ์ค๋ก ๋ง๋ค๋ฉด, CPU(์ผ๊พผ)๊ฐ ์ด๋ฅผ ์ฒ๋ฆฌ
์ ์ด ์ฅ์น
์ ์ด ์ฅ์น(CU, Control Unit)๋ ํ๋ก์ธ์ค ์กฐ์์ ์ง์ํ๋ CPU์ ๋ถํ์ด๋ค. ์ฆ, ์ปดํจํฐ์ ๋ชจ๋ ๋์์ ์ ์ดํ๋ CPU์ ํต์ฌ ๋ถ๋ถ์ด๋ค. ์ ์ด์ฅ์น์ ์ญํ ์ ๋ค์๊ณผ ๊ฐ๋ค.
- ํ๋ก์ธ์ค ์กฐ์์ ์ง์ํ๋ค.
- ์ ์ถ๋ ฅ์ฅ์น ๊ฐ ํต์ ์ ์ดํ๋ค.
- ๋ช ๋ น์ด๋ฅผ ์ฝ๊ณ ํด์ํ๋ค.
- ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ํ ์์๋ฅผ ๊ฒฐ์ ํ๋ค.
๐ก ํ๋ก์ธ์ค
ํ๋ก์ธ์ค(process)๋ ์คํ์ค์ ์๋ ํ๋ก๊ทธ๋จ์ ์๋ฏธํ๋ค. ํ ๋ก์ธ์ค๋ ์ด์์ฒด์ ์ ์ํด ๊ด๋ฆฌ๋๋ฉฐ, ๋ ๋ฆฝ์ ์ผ๋ก ์คํ๋๊ณ ์์์ ํ ๋น ๋ฐ์ ์ ์๋ ๋จ์์ด๋ค.
๋ ์ง์คํฐ
๋ ์ง์คํฐ(Register)๋ CPU ์์ ์๋ ๋งค์ฐ ๋น ๋ฅธ ์์ ๊ธฐ์ต ์ฅ์น์ด๋ค. CPU์ ์ง์ ์ฐ๊ฒฐ๋์ด ์์ด์ ์ฐ์ฐ ์๋๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ๋นํด ํจ์ฌ ๋น ๋ฅด๋ค (์์ญ ๋ฐฐ ~ ์๋ฐฑ ๋ฐฐ๊น์ง ๋น ๋ฆ). CPU๋ ์์ฒด์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ ์ง์คํฐ๋ฅผ ๊ฑฐ์ณ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ค.
์ฐ์ ๋ ผ๋ฆฌ ์ฐ์ฐ ์ฅ์น
์ฐ์ ๋ ผ๋ฆฌ ์ฐ์ฐ ์ฅ์น(ALU, Arithmetic Logic Unit)๋ ๋ ์ซ์์ ์ฐ์ ์ฐ์ฐ(ex. ๋ง์ , ๋บ์ ๋ฑ)๊ณผ ๋ ผ๋ฆฌ ์ฐ์ฐ(ex. ๋ฐฐํ์ ๋ ผ๋ฆฌํฉ, ๋ ผ๋ฆฌ๊ณฑ)์ ๊ณ์ฐํ๋ ๋์งํธ ํ๋ก์ด๋ค.
CPU์ ์ฐ์ฐ ์ฒ๋ฆฌ
CPU์ ์ฐ์ฐ ์ฒ๋ฆฌ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ๋ค.
1) ์ ์ด์ฅ์น๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ๋ ์ง์คํฐ์ ๊ณ์ฐํ ๊ฐ์ ๋ก๋ํ๋ค.
2) ์ ์ด์ฅ์น๊ฐ ์ฐ์ ๋ ผ๋ฆฌ์ฐ์ฐ์ฅ์น์๊ฒ ๋ ์ง์คํฐ์ ์๋ ๊ฐ์ ๊ณ์ฐํ๋ผ๊ณ ๋ช ๋ นํ๋ค.
3) ์ ์ด์ฅ์น๊ฐ ๊ณ์ฐ๋ ๊ฐ์ ๋ ์ง์คํฐ์์ ๋ฉ๋ชจ๋ฆฌ๋ก ์ ์ฅํ๋ค. (์ ์ด์ฅ์น -> ๋ ์ง์คํฐ -> ๋ฉ๋ชจ๋ฆฌ)
์ธํฐ๋ฝํธ
์ธํฐ๋ฝํธ๋ ์ด๋ค ์ ํธ๊ฐ ๋ค์ด์์ ๋ CPU๋ฅผ ์ ๊น ์ ์ง์ํค๋ ๊ฒ์ ๋งํ๋ค.
ex)
- IO ๋๋ฐ์ด์ค(ex. ํค๋ณด๋, ๋ง์ฐ์ค ๋ฑ)๋ก ์ธํ ์ธํฐ๋ฝํธ
- 0์ผ๋ก ์์๋ฅผ๋๋๋ ์ฐ์ ์ฐ์ฐ์์์ ์ธํฐ๋ฝํธ
- ํ๋ก์ธ์ค ์ค๋ฅ
๊ตฌ์ฒด์ ์ผ๋ก๋ ๋ค์๊ณผ ๊ฐ๋ค. CPU๊ฐ ํ๋ก๊ทธ๋จ์ ์คํํ๊ณ ์์ ๋, I/O ํ๋์จ์ด ๋ฑ์ ์ฅ์น์ ์์ธ ์ํฉ์ด ๋ฐ์ํ์ฌ ์ฒ๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ๊ฐ ์๊ธธ ์ ์๋ค. ์ด๋ ํ์ฌ ์คํ ์ค์ธ ์์ ์ ์ฆ์ ์ค๋จํ๊ณ ๋ฐ์ํ ์ํฉ์ ๋ํด ์ฐ์ ์ฒ๋ฆฌ๊ฐ ํ์ํ๋ค๊ณ CPU์๊ฒ ์๋ฆฌ๋ ๊ฒ์ด๋ค.
์ธํฐ๋ฝํธ๊ฐ ๋ฐ์๋๋ฉด ์ธํฐ๋ฝํธ ํธ๋ค๋ฌ ํจ์๊ฐ ๋ชจ์ฌ ์๋ ์ธํฐ๋ฝํธ ๋ฒกํฐ๋ก ์ด๋ํด์ ์ธํฐ๋ฝํธ ํธ๋ค๋ฌ ํจ์๊ฐ ์คํ๋๋ค.
์ธํฐ๋ฝํธ ๊ฐ์๋ ์ฐ์ ์์๊ฐ ์๊ณ , ๊ทธ ์ฐ์ ์์์ ๋ฐ๋ผ ์คํ๋๋ค.
ํ๋์จ์ด ์ธํฐ๋ฝํธ
ํ๋์จ์ด ์ธํฐ๋ฝํธ๋ IO ๋๋ฐ์ด์ค์์ ๋ฐ์ํ๋ ์ธํฐ๋ฝํธ๋ฅผ ๋งํ๋ค. (ex. ํค๋ณด๋ ์ฐ๊ฒฐ, ๋ง์ฐ์ค ์ฐ๊ฒฐ ๋ฑ)
์คํ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
- ์ธํฐ๋ฝํธ ๋ผ์ธ์ด ์ค๊ณ๋ ์ดํ ์์ฐจ์ ์ธ ์ธํฐ๋ฝํธ ์คํ์ ์ค์ง
- ์ด์์ฒด์ ์ ์์คํ ์ฝ ์์ฒญ
- ์ํ๋ ๋๋ฐ์ด์ค๋ก ํฅํจ
- ๋๋ฐ์ด์ค์ ์๋ ์์ ๋ก์ปฌ ๋ฒํผ์ ์ ๊ทผํ์ฌ ์ผ์ ์ํ
์ํํธ์จ์ด ์ธํฐ๋ฝํธ
์ํํธ์จ์ด ์ธํฐ๋ฝํธ๋ trap(ํธ๋ฉ)์ด๋ผ๊ณ ๋ ํ๋ค. ํ๋ก์ธ์ค๊ฐ ์์คํ ์ฝ์ ํธ์ถํ ๋ ๋ฐ๋ํ๋ค. (ex. ํ๋ก์ธ์ค ์ค๋ฅ ๋ฑ)
DMA ์ปจํธ๋กค๋ฌ
DAM ์ปจํธ๋กค๋ฌ๋ I/O ๋๋ฐ์ด์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ง์ ์ ๊ทผํ ์ ์๋๋ก ํ๋ ํ๋์จ์ด ์ฅ์น์ด๋ค. CPU์ ๋ถํ๋ฅผ ๋ง์์ฃผ๊ณ CPU์ ์ผ์ ๋ถ๋ดํ๋ ๋ณด์กฐ์ผ๊พผ์ด๋ฉฐ๋ค. ๋ํ, ํ๋์ ์์ ์ CPU์ DMA ์ปจํธ๋กค๋ฌ๊ฐ ๋์์ ํ๋ ๊ฒ์ ๋ฐฉ์งํ๋ค.
๋ฉ๋ชจ๋ฆฌ
์ ์ํ๋ก์์ ๋ฐ์ดํฐ or ์ํ or ๋ช ๋ น์ด ๋ฑ์ ๊ธฐ๋กํ๋ ์ฅ์น์ด๋ค. RAM(Random Access Memory)์ ์ผ์ปฌ์ด ๋ฉ๋ชจ๋ฆฌ๋ผ๊ณ ๋ ํ๋ค.
CPU : ๊ณ์ฐ ๋ด๋น, ๋ฉ๋ชจ๋ฆฌ : ๊ธฐ์ต ๋ด๋น
๊ณต์ฅ์ ๋น์ ํ ์ ์๋ค. CPU๊ฐ ์ผ๊พผ, ๋ฉ๋ชจ๋ฆฌ๊ฐ ์์ ์ฅ, ์์ ์ฅ์ ํฌ๊ธฐ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ํฌ๊ธฐ์ ๊ฐ๋ค. ์ด๋, ์์ ์ฅ์ ํฌ๊ธฐ๊ฐ ํด์๋ก ์ผ๊พผ๋ค์ด ๋ง์ ์ผ์ ํ ์ ์๋ฏ์ด, ๋ฉ๋ชจ๋ฆฌ๊ฐ ํด์๋ก CPU๊ฐ ๋ง์ ์ผ์ ๋์์ ํ ์ ์๋ค.
ํ์ด๋จธ
ํน์ ํ๋ก๊ทธ๋จ์ ์๊ฐ ์ ํ์ ๋ค๋ ์ญํ ์ ํ๋ค. ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆฌ๋ ํ๋ก๊ทธ๋จ์ด ์๋ํ ๋ ์ ํ์ ๊ฑธ๊ธฐ ์ํด ์กด์ฌํ๋ค.
๋๋ฐ์ด์ค ์ปจํธ๋กค๋ฌ
์ปดํจํฐ์ ์ฐ๊ฒฐ๋์ด ์๋ IO ๋๋ฐ์ด์ค๋ค์ ์์ CPU์ด๋ค.
๋ก์ปฌ ๋ฒํผ
- ๋๋ฐ์ด์ค ์ปจํธ๋กค๋ฌ ์์ ๋ถ์ด ์๋ ๊ฒ
- ๊ฐ ๋๋ฐ์ด์ค์์ ๋ฐ์ดํฐ๋ฅผ ์์๋ก ์ ์ฅํ๊ธฐ ์ํ ์์ ๋ฉ๋ชจ๋ฆฌ
'์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ด์์ฒด์ ] ์ด์์ฒด์ ์ ์ญํ ๊ณผ ๊ตฌ์กฐ (1) | 2023.12.15 |
---|