-
[Windows Programming] Stored Program Concept, ํ๋ก๊ทธ๋จ ์คํ๊ณผ์ Windows Programming 2020. 6. 6. 22:17๋ฐ์ํ
- ๋๋ฅผ ์๊ทนํ๋ ์๋์ฐ์ฆ ์์คํ ํ๋ก๊ทธ๋๋ฐ ์ฑ ์ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ต๋๋ค.
โ ํ๋ก๊ทธ๋จ ์คํ๊ณผ์
์ ์ฒ๋ฆฌ๊ธฐ - ์ปดํ์ผ๋ฌ - ์ด์ ๋ธ๋ฌ - ๊ฒฐํฉ
1. ์ ์ฒ๋ฆฌ๊ธฐ์ ์ํ ์นํ ์์
- #์ผ๋ก ์์ํ๋ ์ง์์2. ์ปดํ์ผ๋ฌ์ ์ํ ๋ฒ์ญ
- CPU์ ๋ช ๋ น์ด๋ก ๋ฒ์ญ
- ์ปดํจํฐ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ์ค๋ธ์ ํธ ์ฝ๋(.obj) ๋ก์ ๋ณํ
- ์ข์ ์๋ฏธ๋ก ๊ณ ์์ค์ธ์ด์์ ์ ์์ค์ธ์ด(์ด์ ๋ธ๋ฆฌ์ด, ๊ธฐ๊ณ์ด)๋ก์ ๋ณํ
3. ์ด์ ๋ธ๋ฌ์ ์ํ ๋ฐ์ด๋๋ฆฌ ์ฝ๋ ์์ฑ
- CPU์ ๋ช ๋ น์ด๋ฅผ ๋ฐ์ด๋๋ฆฌ ์ฝ๋๋ก ๋ฒ์ญ ex) ADD -> 0011
4. ๋ง์ปค์ ์ํ ์ฐ๊ฒฐ๊ณผ ๊ฒฐํฉ
- ์ค๋ธ์ ํธ ์ฝ๋(.obj)๋ฅผ ์ฌ๋ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ฒฐํฉํ์ฌ ์คํํ์ผ(.exe) ์์ฑ
โป ํท๊ฐ๋ฆฌ๋ ์ฉ์ด ์ ๋ฆฌ ( ์ด์ ๋ธ๋ฆฌ์ด vs ์ด์ ๋ธ๋ฌ )
์ด์ ๋ธ๋ฆฌ์ด : ๊ธฐ๊ณ์ด์ ์ผ๋์ผ ๋์๋๋ ์ปดํจํฐ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
์ด์ ๋ธ๋ฌ : ์ด์ ๋ธ๋ฆฌ์ด๋ฅผ ๊ธฐ๊ณ์ด ํํ์ ์ค๋ธ์ ํธ ์ฝ๋๋ก ํด์ํด์ฃผ๋ ํ๋ก๊ทธ๋จ
์ฆ, ์ด์ ๋ธ๋ฆฌ์ด๋ ์ธ์ด์ ํ ์ข ๋ฅ์ด๊ณ ์ด์ ๋ธ๋ฌ๋ ์ปดํ์ผ๋ฌ์ ๊ฐ์ ์ญํ ์ ํด์ฃผ๋ ํ๋ก๊ทธ๋จ์ด๋ค.
โ Stored Program Concept ( ํฐ ๋ ธ์ด๋ง ์ํคํ ์ฒ)
Program์ Memory ๋ด๋ถ์ ์์ด์ผ ํ๋ค!
CPU์ ์ํด Fetch -> Decode -> Execution ์์
- Fetch : CPU ๋ด๋ถ๋ก ๋ช ๋ น์ด ์ด๋
- Decode : ๋ช ๋ น์ด ํด์(Control Unit)
- Execution : ์ฐ์ฐ ์งํ ( ALU )
1. Memory Unit์ ์๋ ๋ช ๋ น์ด A๋ฅผ Fetch๋ฅผ ํตํด CPU๋ก ์ด๋ ( I/O Bus , Bus Interface ์ด์ฉ )
2. Fetch๋ ๋ช ๋ น์ด๋ฅผ Decode๋ฅผ ํตํด ๋ช ๋ น์ด ํด์(ADD, MIN ... )
3. ALU๊ฐ ๋ช ๋ น์ด ํด์๋ ๋ด์ฉ์ ์ดํดํ๊ณ Execution
โ ๋ฐ์ดํฐ ์ด๋ ๊ธฐ๋ฐ ๋ฒ์ค ์์คํ
Memory์์ CPU๋ก ๋ฐ์ดํฐ๋ฅผ ์ด๋ํ๊ธฐ ์ํด์ Bus Interface๊ฐ ๋ฌด์กฐ๊ฑด ํ์!
- ๋ฐ์ดํฐ ๋ฒ์ค : ๋ฐ์ดํฐ ์ด๋
- ์ด๋๋ ์ค ๋ฒ์ค : ๋ฐ์ดํฐ ์ฃผ์ ์ด๋
ex) Memory์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ง์ ๊ฐ์ ธ๋ค ์ฐ๊ธฐ ์ํด ์ฃผ์ ์ ์ก
- ์ปจํธ๋กค ๋ฒ์ค : ์ปจํธ๋กค ์ ํธ ์ด๋
ex) Memory์ ์๋ ๋ฐ์ดํฐ๋ฅผ CPU์ ์ด๋ํ์ง๋ง ๋ฐ๋๋ก CPU์์ Memory๋ก ์ ์ฅํ ์ ์๊ธฐ ๋๋ฌธ์ ๊ท์ฝ ํ์
- ๊ถ๊ธํ ์ ์ด๋ ์์ ํ ๋ถ๋ถ ์์ผ๋ฉด ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์ธ์.
๋ฐ์ํ'Windows Programming' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ