PC : Program Counter
PC ๋ ๋ ์ง์คํฐ์ ์ผ์ข
์ผ๋ก์จ CPU ๊ฐ ๋ค์์ ์คํ์์ผ์ผ ํ ๋ช
๋ น์ ์ฃผ์๋ฅผ ๋ด๊ณ ์๋ค.
- IP (Instrcuton Pointer) ๋๋ IAR (Instruction Address Register) ๋ผ ๋ถ๋ฆฌ๊ธฐ๋ ํ๋ค.
๋ช
๋ น์ด๋ค์ Main Memory ์ ์ ์ฅ๋์ด ์๋ค.
PC ๋ Main Memory ๊ฐ ๋ค์์ผ๋ก ์คํํด์ผ ํ๋ ๋ช
๋ น์ด์ ์ฃผ์๋ฅผ ํฌ์ธํฐ๋ก ๊ฐ๋ฆฌํจ๋ค.
- ์ฒซ ๋ฒ์งธ ๋ช ๋ น์ด์ ์ฃผ์๋ ๋ 0 ๋ฒ์ง๋ถํฐ ์์ํ๋ค.
LIFO(Last In First Out) ์ ํน์ฑ์ ์ง๋ Stack ์ ์ฃผ์๋ฅผ ์ฐจ๊ณก ์ฐจ๊ณก ์์๋๋ค.
ํ์ฌ์ ๋ช ๋ น์ด๋ฅผ ์คํ์ํจ CPU ๋ ํฌ์ธํฐ๊ฐ ๊ฐ๋ฆฌํค๋ ์ฃผ์๋ก ์ฐพ์๊ฐ ๋ค์์ ์งํ ์์ผ์ผํ๋ ๋ช ๋ น๋ค์ ์์ฐจ์ ์ผ๋ก ์คํ์์ผ๋๊ฐ๋ค.
ํ๋์ instruction์ ์คํ ์ํจ ์ดํ์ PC ๊ฐ์ด ์ฆ๊ฐ๋๋ค.
PC ๋ 32 bits ์ ๊ธธ์ด๋ฅผ ๊ฐ์ง๋ค.
32 bits == 4 bytes.
๋ชจ๋ ๋ช
๋ น์ 32 ๋นํธ์ด๋ค. ์ด๋ ALU๊ฐ 32 ๋นํธ ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
32 ๋นํธ ๊ธธ์ด๋ก ๊ท๊ฒฉํ ํด ๋์์ผ๋ก์จ fetch ๋ฐ decode ํ๊ธฐ๊ฐ ์์ํด ์ง๋ค.
- ALU (Arithmetic and Logic Unit) ์ฐ์ฐ์ฅ์น : CPU์ ๋ช
๋ น์ ๋ฐ๋ผ ์ฐ์ฐ์ ์ํํ๋ ์ฅ์น.
- ์ฐ์ฐ์ ์ข ๋ฅ๋ ์ฐ์ ์ฐ์ฐ, ๋ ผ๋ฆฌ ์ฐ์ฐ, ๊ด๊ณ ์ฐ์ฐ, ์ด๋(Shift) ๋ฑ์ด ์๋ค.
32 ๋นํธ๋ 3๊ฐ์ ํ๋๋ก ๋๋๋ค.
- 1 operation code (8 bits)
- 2 operands (8 bits + 16 bits)
PC ๋ ์ธ ๊ฐ์ ์ปจํธ๋กค ์๊ทธ๋์ ๊ฐ์ง๋ค.
- CE
Program Counter Enable - CO
Program Counter Output Enable - J
Program counter Jump

