- ๋ช ๋ น์ด์ ์คํ
- ๊ธฐ๋ณธ ๋ช
๋ น์ด ํ์
๋ช ๋ น์ด ํ์์ ์ฐ์ฐ์ฝ๋์ ์คํผ๋๋๋ก ๋๋๋ค. ์ฐ์ฐ ์ฝ๋(operation code)๋ CPU๊ฐ ์ํํ ์ฐ์ฐ์ ์ง์ ํ๊ณ , ์คํผ๋๋(operand)๋ ๋ช ๋ น์ด ์คํ์ ํ์ํ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ ์ฃผ์๋ฅผ ์ง์ ํ๋ค.
์ฐ์ฐ์ฝ๋ : ์ํํ ์ฐ์ฐ ์ง์
์คํผ๋๋ : ๋ช ๋ น์ด ์คํ์ ํ์ํ ๋ฐ์ดํฐ ์ ์ฅ๋ ์ฃผ์ ์ง์ - ๋ช
๋ น์ด ์ฌ์ดํด
CPU๊ฐ ํ ๊ฐ์ ๋ช ๋ น์ด๋ฅผ ์คํํ๋๋ฐ ํ์ํ ์ ์ฒด ์ฒ๋ฆฌ ๊ณผ์ ์ ๋ช ๋ น์ด ์ฌ์ดํด์ด๋ผ๊ณ ํ๋ค. ๋ช ๋ น์ด ์ฌ์ดํด์ ๋ช ๋ น์ด ์ธ์ถ ์ฌ์ดํด๊ณผ ๋ช ๋ น์ด ์คํ ์ฌ์ดํด๋ก ๋๋๋ค. - ๋ช
๋ น์ด ์ธ์ถ ์ฌ์ดํด
CPU๊ฐ ์ฃผ๊ธฐ์ต์ฅ์น๋ก๋ถํฐ ๋ช ๋ น์ด๋ฅผ ์ฝ์ด์ค๋ ๋จ๊ณ์ด๋ค. ์ด ๋จ๊ณ๊ฐ ์์์ ๋งํ CPU์ ๊ธฐ๋ฅ์์ ๋ช ๋ น์ด ์ธ์ถ ํด๋นํ๋ค. - ๋ช
๋ น์ด ์คํ ์ฌ์ดํด
๋ช ๋ น์ด๋ฅผ ์คํํ๋ ๋จ๊ณ์ด๋ค. ์ด ๋จ๊ณ์์ ๋ช ๋ น์ด ์ฝ๋๋ฅผ ํด๋ (decode)ํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ์ ๋ฐ์ดํฐ๋ฅผ ์ธ์ถ, ์ฒ๋ฆฌ, ์ ์ฅ์(๋ฅผ) ํ์์ ๋ฐ๋ผ ์คํํ๋ค. ์ด ๋จ๊ฒ์์ ๋ช ๋ น์ด ํด๋ ๊ณผ ํจ๊ป ๋ช ๋ น์ด์ ๋ฐ๋ฅธ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ํ ๊ฒ์ธ์ง ๊ฒฐ์ ํ๋ ๊ฒ์ด๋ค. - ๊ฐ์ ์ฌ์ดํด
์ธ์ถํ ๋ช ๋ น์ด์ ์ฃผ์ ํ๋ ๋ด์ฉ์ ์ด์ฉํด ๋ฉ๋ชจ๋ฆฌ์์ ๋ฐ์ดํฐ์ ์ค์ ์ฃผ์๋ฅผ ์ธ์ถํ๊ณ , ๋ช ๋ น์ด ๋ ์ง์คํฐ์ ์ฃผ์ ํ๋์ ์ ์ฅํ๋ค. - ์ธํฐ๋ฝํธ ์ฌ์ดํด
ํ๋ก๊ทธ๋จ ์คํ ์ค์ CPU์ ํ์ฌ ์ฒ๋ฆฌ ์์๋ฅผ ์ค๋จ์ํค๊ณ ๋ค๋ฅธ ๋์์ ์ํํ๋๋ก ํ๋ ๊ฒ์ด๋ค.
๊ฐ์ธ์ ์ผ๋ก ๋ช ๋ น์ด ์คํ ๋ถ๋ถ์์ ์ธํฐ๋ฝํธ ์ฌ์ดํด์ด ์ค์ํ๋ค๊ณ ์๊ฐํ๋๋ฐ, ์ดํ์ ๋์ค๋ ๋ฌธ๋งฅ๊ตํ(Context Switching) ๊ทธ๋ฆฌ๊ณ ์ค๋ฒํค๋(Overhead)์ ์ฐ๊ด์ด ์๋ค๊ณ ์๊ฐํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ธํฐ๋ฝํธ ์ฌ์ดํด์ ์ธํฐ๋ฝํธ ์๊ตฌ๊ฐ ๋ค์ด์ค๋ฉด, CPU๋ ์๋์ ํ๋ก๊ทธ๋จ ์ํ์ ์ค๋จํ๊ณ , ๋ณต๊ทํ ์ฃผ์ ๋ฑ์ ์ํ์ ๋ณด๋ฅผ ์ ์ฅํ๋ค. ์ฌ๊ธฐ์ ์ํ์ ๋ณด๋ฅผ PCB(Process Control Block, ํ๋ก์ธ์ค ๋์คํฌ๋ฆฝํฐ)์ ์ ์ฅํ๋ ๊ฒ์ผ๋ก ์๊ณ ์๋ค.
์ดํ ์ธํฐ๋ฝํธ ๋ฐฑํฐ๋ฅผ ์ฐพ์์ ์๊ตฌ๋ ์ธํฐ๋ฝํธ ์๋น์ค ๋ฃจํด์ ๋ค์ ์ํํ๋ค. ์ธํฐ๋ฝํธ๋ ๋ณดํต ๋ค์ค ํ๋ก๊ทธ๋๋ฐ์์ ์ฌ์ฉํ๋ค. ๋ค์ค ํ๋ก๊ทธ๋๋ฐ ํ๊ฒฝ์ด๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์ ์์น์์ผ๋๊ณ CPU์์ ๋์์ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๊ฒ์ฒ๋ผ ์ฒ๋ฆฌํ๋ ์์คํ ์ ์๋ฏธํ๋ค.
๋ค์ค ํ๋ก๊ทธ๋๋ฐ ์์คํ vs ๋ค์ค ์ฒ๋ฆฌ ์์คํ ์ด ๋งค๋ฒ ํท๊ฐ๋ฆฐ๋ค.
- ๋ค์ค ํ๋ก๊ทธ๋๋ฐ ์์คํ : ํ๋์ CPU, ์ฌ๋ฌ ํ๋ก๊ทธ๋จ ์คํ ( Context Switching ์ด ์ฆ์ )
- ๋ค์ค ์ฒ๋ฆฌ ์์คํ : ์ฌ๋ฌ ๊ฐ์ CPU, ๋์์ ์์ ์ ์ฒ๋ฆฌ - ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ
์ธํฐ๋ฝํธ ์๊ตฌ๊ฐ ๋ค์ด์์ ๋, CPU๋ ์ด๋ค ์ฅ์น๊ฐ ์ธํฐ๋ฝํธ๋ฅผ ์๊ตฌํ๋์ง ํ์ธํ์ฌ ํด๋น ์ธํฐ๋ฝํธ ์๋น์ค ๋ฃจํด์ด ์์นํ ์ธํฐ๋ฝํธ ๋ฐฑํฐ๋ฅผ ์ฐพ์, ์ธํฐ๋ฝํธ ์๋น์ค ๋ฃจํด์ผ๋ก ๋ถ๊ธฐํ์ฌ ์ธํฐ๋ฝํธ ์๋น์ค ์์ ์ ์ํ
์ฌ๊ธฐ์ ๋ถ๊ธฐ๋ CPU ๋ ์ง์คํฐ ์ธํธ์์ ํ๋ก๊ทธ๋จ ์นด์ดํฐ(PC)๊ฐ ๋ช ๋ น์ด๊ฐ ์คํ๋ ๋ชฉ์ ์ง ์ฃผ์๋ก ๊ฐฑ์ ๋จ์ ์๋ฏธํ๋ค.
(1) ํ์ฌ ๋ช ๋ น์ด ์คํ์ ๋๋ธ ์ฆ์, ๋ค์์ ์คํํ ๋ช ๋ น์ด์ ์ฃผ์(PC : Program Counter ์ ๋ด์ฉ)๋ฅผ Stack์ ์ ์ฅํ๋ค.
(2) ์ธํฐ๋ฝํธ ์๋น์ค ๋ฃจํด์ ํธ์ถํ๊ธฐ ์ํ์ฌ ๊ทธ ๋ฃจํด์ ์์ ์ฃผ์ PC์ ์ ์ฌํ๋ค.
'์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
20180112 ํ๋ก์ธ์ค 01 (0) | 2018.01.12 |
---|---|
20180111 ์ด์์ฒด์ ๊ตฌ์ฑ (0) | 2018.01.11 |
2018-01-06 ์ปดํจํฐ ์์คํ ์ ๋์ (0) | 2018.01.06 |
2018-01-06 ํ๋์จ์ด ๊ธฐ๋ณธ ๊ตฌ์ฑ ๋ฐ ์ค๋ช 02 (0) | 2018.01.06 |
2018-01-06 ํ๋์จ์ด ๊ธฐ๋ณธ ๊ตฌ์ฑ ๋ฐ ์ค๋ช 01 (0) | 2018.01.06 |