๐ฅ๏ธ CPU(Central Processing Unit; ์ค์์ฒ๋ฆฌ์ฅ์น)
๐ฅ๏ธ ALU
ALU(Arithmetic Logic Unit; ์ฐ์ ๋ ผ๋ฆฌ์ฐ์ฐ์ฅ์น)๋ CPU์ ๊ณ์ฐ์ ๋ด๋นํ๋ ์ฅ์น์ ๋๋ค.
- ALU๊ฐ ๋ฐ์๋ค์ด๋ ์ ๋ณด
- ๋ ์ง์คํฐ(Register)์ ์ ์ฅ๋ Operand
- ์ ์ด์ ํธ(์ํํ ์ฐ์ฐ์ด ๋ฌด์์ธ์ง ์ ์ด์ฅ์น(Control Unit)๊ฐ ์๋ ค์ฃผ๋ ์ ํธ)
- ALU๊ฐ ๋ด๋ณด๋ด๋ ์ ๋ณด
- ์ฐ์ฐํ ๊ฒฐ๊ด๊ฐ์ ๋ ์ง์คํฐ์ ์ผ์์ ์ผ๋ก ์ ์ฅ
- ํ๋๊ทธ(Flag)๋ฅผ ํ๋๊ทธ ๋ ์ง์คํฐ์ ์ ์ฅ
๐ฅ๏ธ Control Unit
์ ์ด์ฅ์น(Control Unit)๋ ์ ์ด์ ํธ๋ฅผ ๋ด๋ณด๋ด๊ณ ๋ช ๋ น์ด๋ฅผ ํด์ํ๋ ๋ถํ์ ๋๋ค.
- ์ ์ด์ฅ์น๊ฐ ๋ฐ์๋ค์ด๋ ์ ๋ณด
- Clock ์ ํธ
- IR(Instruction Register; ๋ช ๋ น์ด ๋ ์ง์คํฐ)๋ก๋ถํฐ ํด์ํด์ผ ํ ๋ช ๋ น์ด
- ํ๋๊ทธ ๋ ์ง์คํฐ ์ ํ๋๊ทธ ๊ฐ
- CPU ์ธ๋ถ ์ฅ์น์์ ์ ์ด ๋ฒ์ค(Control Bus)๋ก ์ ๋ฌ๋ ์ ์ด์ ํธ
- ์ ์ด์ฅ์น๊ฐ ๋ด๋ณด๋ด๋ ์ ๋ณด
- CPU ๋ด๋ถ ์ฅ์น์ ์ ๋ฌํ๋ ์ ์ด์ ํธ(Ex. ALU, Register)
- ์ ์ด ๋ฒ์ค๋ก ์ ๋ฌํ์ฌ CPU ์ธ๋ถ ์ฅ์น์ ์ ๋ฌํ๋ ์ ์ด์ ํธ(Ex. Memory, I/O Device)
๐ฅ๏ธ Register
๋ ์ง์คํฐ(Register)๋ CPU ๋ด๋ถ์ ์์ ์์ ์ ์ฅ ์ฅ์น๋ก ํ๋ก๊ทธ๋จ ์ ๋ช ๋ น์ด์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ฉ๋๋ค.
CPU ์์๋ ๋ค์ํ ๋ ์ง์คํฐ๋ค์ด ์๊ณ CPU ์ข ๋ฅ๋ง๋ค ์๋ก ๋ค๋ฅธ ๋ ์ง์คํฐ๋ค์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๋ง์ CPU๋ค์ด ๊ณตํต์ ์ผ๋ก ๊ฐ์ง๊ณ ์๋ ๋ ์ง์คํฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Register | Store |
---|---|
PC(Program Counter) | IP(Insturction Pointer) | ๊ฐ์ ธ์ฌ ๋ช ๋ น์ด๊ฐ ์ ์ฅ๋์ด ์๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ ์ฅ |
MAR(Memory Address Register) | PC์ ์ ์ฅ๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ ์ฅ |
MBR(Memory Buffer Register) | MDR(Memory Data Register) | MAR์ ์ ์ฅ๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์์ ์ ์ฅ๋์ด ์๋ ๋ช ๋ น์ด ๋๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ |
IR(Instruction Register) | MBR์ ์ ์ฅ๋ ๋ช ๋ น์ด๋ฅผ ์ ์ฅ |
General Purpose Register | MAR, MBR๊ณผ ๋ค๋ฅด๊ฒ ๋ฐ์ดํฐ์ ์ฃผ์ ์๊ด์์ด ์ ์ฅ |
Flag Register | ALU ์ฐ์ฐ ๊ฒฐ๊ณผ ์ค Flag๋ฅผ ์ ์ฅ |
Stack Pointer | Stack Area์ ๋ง์ง๋ง์ผ๋ก ์ ์ฅ๋ ๊ฐ์ ์ฃผ์๋ฅผ ์ ์ฅ |
Base Register | ํ๋ก๊ทธ๋จ์ ์ฒซ Physical Address๋ฅผ ์ ์ฅ |
Limit Register | Logical Address์ ์ต๋ ํฌ๊ธฐ๋ฅผ ์ ์ฅ |
๐ฅ๏ธ Cache
Cache(์บ์)์ ๋ฑ์ฅ ์ด์ ์ ๊ธฐ๋ณธ ์คํ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์บ์ ๋ฑ์ฅ ์ด์ : CPU์ ์ฐ์ฐ ์๋์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ์๋ ์ฐจ์ด๋ฅผ ์ค์ด๊ธฐ ์ํด ๋ฑ์ฅํ SRAM ๊ธฐ๋ฐ์ ์ ์ฅ ์ฅ์น
- ์บ์์ ์์น: CPU(CPU Core โ L1 Cache โ L2 Cache) โ L3 Cache โ Memory
- ์บ์์ ์ฉ๋: Register < L1 Cache < L2 Cache < L3 Cache < Memory
- ์บ์์ ์๋: Register > L1 Cache > L2 Cache > L3 Cache > Memory
์บ์์ ์ด์ ์ ์ ๋๋ก ํ์ฉํ๊ธฐ ์ํด์๋ Cache Hit Ratio๋ฅผ ๋์ฌํ๋๋ฐ ์ด๋ฅผ ์ํด ์บ์๋ ๋ค์๊ณผ ๊ฐ์ ์ฐธ์กฐ ์ง์ญ์ฑ ์๋ฆฌ(Locality Of Reference, Principle Of Locality)์ ๋ฐ๋ผ ๋ฉ๋ชจ๋ฆฌ๋ก๋ถํฐ ๊ฐ์ ธ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
- ์๊ฐ ์ง์ญ์ฑ(Temporal Locality): CPU๋ ์ต๊ทผ์ ์ ๊ทผํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ค์ ์ ๊ทผํ๋ ค๋ ๊ฒฝํฅ์ด ์กด์ฌ
- ๊ณต๊ฐ ์ง์ญ์ฑ(Spatial Locality): CPU๋ ์ต๊ทผ์ ์ ๊ทผํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ๊ทผ์ฒ๋ฅผ ์ ๊ทผํ๋ ค๋ ๊ฒฝํฅ์ด ์กด์ฌ
Cache Hit Ratio:
Cache Hit Ratio
$=$Cache Hit
$/$ $($Cache Hit
+Cache Miss
$)$
๐ฅ๏ธ Multi-Core
Multi-Core(Multi-Core Processor)๋ CPU Core๋ฅผ ์ฌ๋ฌ ๊ฐ ํฌํจํ๊ณ ์๋ CPU๋ฅผ ๋งํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก Core์ ๊ฐ์๊ฐ ์ฆ๊ฐํ๋ฉด ์ฑ๋ฅ์ด ์ฆ๊ฐํ์ง๋ง ์ฐ์ฐ ์๋๊ฐ ๋ฐ๋์ Core์ ๊ฐ์์ ๋น๋กํด์ ์ฆ๊ฐํ์ง๋ ์์ผ๋ฉฐ ์์ ๋์ด ์ ์ ๊ฒฝ์ฐ Core์ ๊ฐ์๊ฐ ์ฆ๊ฐํ๋ค๊ณ ํด์ ์ฑ๋ฅ์ด ์ข์์ง์ง๋ ์์ต๋๋ค.
๐ฅ๏ธ Multi-Thread
Multi-Thread Processor(Multi-Thread CPU)๋ ํ๋์ Core๋ก ์ฌ๋ฌ ๋ช ๋ น์ด๋ฅผ ๋์์ ์ฒ๋ฆฌํ๋ CPU๋ฅผ ๋งํฉ๋๋ค.
ํ๋์ Core๋ก ์ฌ๋ฌ ๋ช ๋ น์ด๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด์๋ ํ๋์ ๋ช ๋ น์ด๋ฅผ ์ฒ๋ฆฌํ๋๋ฐ ํ์ํ ๋ ์ง์คํฐ๊ฐ ์ฌ๋ฌ ๊ฐ ์์ผ๋ฉด ๋๊ธฐ ๋๋ฌธ์ Multi-Thread Processor์์๋ ๋ ์ง์คํฐ๊ฐ ํต์ฌ ์ฅ์น์ ๋๋ค.
- ํ๋์จ์ด์ Thread(Logical Processor): ํ๋์ Core๊ฐ ๋์์ ์ฒ๋ฆฌํ๋ ๋ช ๋ น์ด ๋จ์
- ์ํํธ์จ์ด์ Thread: ํ๋์ ํ๋ก๊ทธ๋จ์์ ๋ ๋ฆฝ์ ์ผ๋ก ์คํ๋๋ ๋จ์