05-1 ๋น ๋ฅธ CPU๋ฅผ ์ํ ์ค๊ณ ๊ธฐ๋ฒ
ํด๋ญ
์ปดํจํฐ ๋ถํ๋ค์ 'ํด๋ญ ์ ํธ'์ ๋ง์ถฐ ์ผ์ฌ๋ถ๋ํ๊ฒ ์์ง์ธ๋ค.
CPU๋ '๋ช ๋ น์ด ์ฌ์ดํด'์ด๋ผ๋ ์ ํด์ง ํ๋ฆ์ ๋ง์ถฐ ๋ช ๋ น์ด๋ค์ ์คํํ๋ค.
ํด๋ญ ์๋๊ฐ ๋์์ง๋ฉด CPU๋ ๋ช ๋ น์ด ์ฌ์ดํด์ ๋ ๋น ๋ฅด๊ฒ ๋ฐ๋ณตํ ๊ฒ์ด๊ณ , ๋ค๋ฅธ ๋ถํ๋ค๋ ๊ทธ์ ๋ฐ๋ง์ถฐ ๋ ๋น ๋ฅด๊ฒ ์๋ํ๋ฏ๋ก ํด๋ญ ์๋๊ฐ ๋์ CPU ์ผ์๋ก ์ผ๋ฐ์ ์ผ๋ก ์ฑ๋ฅ์ด ์ข๋ค.
ํด๋ญ ์๋
- ํค๋ฅด์ธ (Hz) ๋จ์๋ก ์ธก์
- 1์ด์ ํด๋ญ์ด ๋ช ๋ฒ ๋ฐ๋ณต๋๋์ง
- 2.5GHz๋ 1์ด์ 25์ต(2.5 x 10^9)๋ฒ ๋ฐ๋ณต๋จ
์ฝ์ด์ ๋ฉํฐ์ฝ์ด
ํด๋ญ ์๋๋ฅผ ๋์ด์ง ์๊ณ ๋ CPU์ ์ฑ๋ฅ์ ๋์ด๋ ๋ํ์ ์ธ ๋ฐฉ๋ฒ์ CPU์ ์ฝ์ด์ ์ค๋ ๋ ์๋ฅผ ๋๋ฆฌ๋ ๊ฒ์ด๋ค.
- CPU๋ '๋ช ๋ น์ด๋ฅผ ์คํํ๋ ๋ถํ'
- ์ ํต์ ์ธ ๊ด์ ์์ '๋ช ๋ น์ด๋ฅผ ์คํํ๋ ๋ถํ'์ ์์น์ ์ผ๋ก ํ๋๋ง ์กด์ฌ
- ํ์ง๋ง ์ค๋๋ ๊ธฐ์ ๋ฐ์ ์ ๊ฑฐ๋ญํด CPU ๋ด๋ถ์๋ '๋ช ๋ น์ด๋ฅผ ์คํํ๋ ๋ถํ'์ด ์ฌ๋ฌ ๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ด๋ฅผ '์ฝ์ด(core)'๋ผ๋ ์ฉ์ด๋ก ์ฌ์ฉ
- ์ฝ์ด๋ฅผ ์ฌ๋ฌ ๊ฐ ํฌํจํ๊ณ ์๋ CPU๋ฅผ ๋ฉํฐ์ฝ์ด CPU ๋๋ ๋ฉํฐ์ฝ์ด ํ๋ก์ธ์ ๋ผ๊ณ ๋ถ๋ฆ
์ค๋ ๋์ ๋ฉํฐ์ค๋ ๋
์ค๋ ๋์ ์ฌ์ ์ ์๋ฏธ๋ '์คํ ํ๋ฆ์ ๋จ์'
ํ๋์จ์ด์ ์ค๋ ๋
'ํ๋์ ์ฝ์ด๊ฐ ๋์์ ์ฒ๋ฆฌํ๋ ๋ช ๋ น์ด ๋จ์'
- ํ๋์ ์ฝ์ด๋ก ์ฌ๋ฌ ๋ช ๋ น์ด๋ฅผ ๋์์ ์ฒ๋ฆฌํ๋ CPU๋ฅผ ๋ฉํฐ์ค๋ ๋ ํ๋ก์ธ์ ๋๋ ๋ฉํฐ์ค๋ ๋ CPU ๋ผ๊ณ ํจ
- ๋ฉํฐ์ค๋ ๋ ํ๋ก์ธ์๋ ์ฌ๋ฌ ๊ฐ์ ํ๋์จ์ด์ ์ค๋ ๋๋ฅผ ์ง์ํ๋ CPU๋ฅผ ๋งํจ
์ํํธ์จ์ด์ ์ค๋ ๋
'ํ๋์ ํ๋ก๊ทธ๋จ์์ ๋ ๋ฆฝ์ ์ผ๋ก ์คํ๋๋ ๋จ์'
์์ ๊ฐ์ด 1์ฝ์ด 1์ค๋ ๋ CPU๋ ์ํํธ์จ์ด์ ์ค๋ ๋๋ฅผ ์์ญ ๊ฐ ์คํ ํ ์ ์๊ธฐ ๋๋ฌธ์ ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ ๋ถ๋ถ์ ๋์์ ์คํํ ์ ์๋ค.
๋ฉํฐ์ค๋ ๋ ํ๋ก์ธ์
๋ฉํฐ์ค๋ ๋ ํ๋ก์ธ์ ์ค๊ณ์ ๊ฐ์ฅ ํฐ ํต์ฌ์ ๋ ์ง์คํฐ์ด๋ค.
- ํ๋ก๊ทธ๋จ ์นด์ดํฐ, ์คํ ํฌ์ธํฐ, ๋ฉ๋ชจ๋ฆฌ ๋ฒํผ ๋ ์ง์คํฐ, ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ ๋ ์ง์คํฐ์ ๊ฐ์ด ํ๋์ ๋ช ๋ น์ด๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๊ผญ ํ์ํ ๋ ์ง์คํฐ๋ฅผ ์ฌ๋ฌ ๊ฐ ๊ฐ์ง๊ณ ์์ผ๋ฉด ๋๋ค.
- ๋ค์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ ์ง์คํฐ ์ธํธ๊ฐ ๋ ๊ฐ์ธ CPU๋ ๋ ๊ฐ์ ๋ช ๋ น์ด๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํ ์ ๋ณด๋ค์ ๊ธฐ์ตํ ์ ์๋ค.
- ALU์ ์ ์ด์ฅ์น๊ฐ ๋ ๊ฐ์ ๋ ์ง์คํฐ ์ธํธ์ ์ ์ฅ๋ ๋ช ๋ น์ด๋ฅผ ํด์ํ๊ณ ์คํํ๋ฉด ํ๋์ ์ฝ์ด์์ ๋ ๊ฐ์ ๋ช ๋ น์ด๊ฐ ๋์์ ์คํ.
๋ ผ๋ฆฌ ํ๋ก์ธ์
- ํ๋์จ์ด ์ค๋ ๋๋ฅผ ์ด์ฉํด ํ๋์ ์ฝ์ด๋ก๋ ์ฌ๋ฌ ๋ช ๋ น์ด๋ฅผ ๋์์ ์ฒ๋ฆฌํ ์ ์๋ค.
- ๊ทธ๋ฌ๋ ๋ฉ๋ชจ๋ฆฌ ๋ด์ ํ๋ก๊ทธ๋จ ์ ์ฅ์์ ํ๋์จ์ด ์ค๋ ๋๋ ๋ง์น 'ํ ๋ฒ์ ํ๋์ ๋ช ๋ น์ด๋ฅผ ์ฒ๋ฆฌํ๋ CPU'๋ ๋ค๋ฆ์๋ค.
- ์๋ฅผ๋ค์ด 2์ฝ์ด 4์ค๋ ๋ CPU๋ ํ ๋ฒ์ ๋ค ๊ฐ์ ๋ช ๋ น์ด๋ฅผ ์ฒ๋ฆฌํ ์ ์๋๋ฐ, ํ๋ก๊ทธ๋จ ์ ์ฅ์์๋ CPU๊ฐ ๋ค ๊ฐ ์๋ ๊ฒ์ฒ๋ผ ๋ณด์.
- ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ ผ๋ฆฌ์ ์ธ CPU๋ผ๋ ์๋ฏธ๋ก ํ๋์จ์ด ์ค๋ ๋๋ฅผ ๋ ผ๋ฆฌ ํ๋ก์ธ์ ๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค.
์ฝ์ด vs ์ค๋ ๋
- ์ฝ์ด๋ ๋ช ๋ น์ด๋ฅผ ์คํ ํ ์ ์๋ 'ํ๋์จ์ด ๋ถํ'
- ์ค๋ ๋๋ '๋ช ๋ น์ด๋ฅผ ์คํํ๋ ๋จ์'
- ๋ฉํฐ์ฝ์ด ํ๋ก์ธ์๋ ๋ช ๋ น์ด๋ฅผ ์คํํ ์ ์๋ ํ๋์จ์ด ๋ถํ์ด CPU์์ ๋ ๊ฐ ์ด์ ์๋ CPU
- ๋ฉํฐ์ค๋ ๋ ํ๋ก์ธ์๋ ํ๋์ ์ฝ์ด๋ก ์ฌ๋ฌ ๊ฐ์ ๋ช ๋ น์ด๋ฅผ ๋์์ ์คํ ํ ์ ์๋ CPU
05-2 ๋ช ๋ น์ด ๋ณ๋ ฌ ์ฒ๋ฆฌ ๊ธฐ๋ฒ
๋ช ๋ น์ด๋ฅผ ๋์์ ์ฒ๋ฆฌํ์ฌ CPU๋ฅผ ํ์๋ ์ฌ์ง ์๊ณ ์๋์ํค๋ ๊ธฐ๋ฒ
๋ช ๋ น์ด ํ์ดํ๋ผ์ธ
๋ช ๋ น์ด ์ฒ๋ฆฌ ๊ณผ์ ์ ํด๋ญ ๋จ์๋ก ๋๋๋ฉด
- ๋ช ๋ น์ด ์ธ์ถ(Instruction Fetch)
- ๋ช ๋ น์ด ํด์(Instruction Decode)
- ๋ช ๋ น์ด ์คํ(Execute Instruction)
- ๊ฒฐ๊ณผ ์ ์ฅ(Write Back)
- ๊ฐ์ ๋จ๊ณ๊ฐ ๊ฒน์น์ง๋ง ์๋๋ค๋ฉด CPU๋ ๊ฐ ๋จ๊ณ๋ฅผ ๋์์ ์คํํ ์ ์๋ค.
- ๋ง์น ๊ณต์ฅ ์์ฐ ๋ผ์ธ๊ณผ ๊ฐ์ด ๋ช ๋ น์ด๋ค์ ๋ช ๋ น์ด ํ์ดํ๋ผ์ธ์ ๋ฃ๊ณ ๋์์ ์ฒ๋ฆฌํ๋ ๊ธฐ๋ฒ์ ๋ช ๋ น์ด ํ์ดํ๋ผ์ด๋์ด๋ผ๊ณ ํ๋ค.
ํ์ดํ๋ผ์ธ ์ํ
- ํ์ดํ๋ผ์ด๋์ด ์ฑ๋ฅ ํฅ์์ ์คํจํ๋ ์ํฉ
๋ฐ์ดํฐ ์ํ
- ๋ช ๋ น์ด ๊ฐ '๋ฐ์ดํฐ ์์กด์ฑ'์ ์ํด ๋ฐ์.
- ๋ชจ๋ ๋ช ๋ น์ด๋ฅผ ๋์์ ์ฒ๋ฆฌํ ์๋ ์๋ค. ์ด์ ๋ช ๋ น์ด๋ฅผ ๋๊น์ง ์คํํด์ผ๋ง ๋น๋ก์ ์คํํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ์๊ธฐ ๋๋ฌธ.
- ๋ฐ์ดํฐ ์์กด์ ์ธ ๋ ๋ช ๋ น์ด๋ฅผ ๋์์ ์คํํ๋ ค๊ณ ํ๋ฉด ํ์ดํ๋ผ์ธ์ด ์ ๋๋ก ์๋ํ์ง ์๋ ๊ฒ.
์ ์ด ์ํ
- ๋ถ๊ธฐ ๋ฑ์ผ๋ก ์ธํ ํ๋ก๊ทธ๋จ ์นด์ดํฐ์ ๊ฐ์์ค๋ฌ์ด ๋ณํ์ ์ํด ๋ฐ์.
- ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋๊ทธ๋จ ์นด์ดํฐ๋ ํ์ฌ ์คํ ์ค์ธ ๋ช ๋ น์ด์ ๋ค์ ์ฃผ์๋ก ๊ฐฑ์ .
- ํ์ง๋ง ํ๋ก๊ทธ๋จ ์นด์ดํฐ ๊ฐ์ ๊ฐ์์ค๋ฌ์ด ๋ณํ๊ฐ ์๊ธด๋ค๋ฉด ํ์ดํ๋ผ์ธ์ ๋ฏธ๋ฆฌ ๊ฐ์ง๊ณ ์์ ์ฒ๋ฆฌ์ค์ด์๋ ๋ช ๋ น์ด๋ค์ ์ธ๋ชจ ์์ด์ง.
- ๋ถ๊ธฐ ์์ธก: ํ๋ก๊ทธ๋จ์ด ์ด๋๋ก ๋ถ๊ธฐํ ์ง ๋ฏธ๋ฆฌ ์์ธกํ ํ ๊ทธ ์ฃผ์๋ฅผ ์ธ์ถํ๋ ๊ธฐ์ .
๊ตฌ์กฐ์ ์ํ
- ๋ช ๋ น์ด๋ค์ ๊ฒน์ณ ์คํํ๋ ๊ณผ์ ์์ ์๋ก ๋ค๋ฅธ ๋ช ๋ น์ด๊ฐ ๋์์ ALU, ๋ ์ง์คํฐ ๋ฑ๊ณผ ๊ฐ์ CPU ๋ถํ์ ์ฌ์ฉํ๋ ค ํ ๋ ๋ฐ์.
์ํผ์ค์นผ๋ผ
- CPU ๋ด๋ถ์ ์ฌ๋ฌ ๊ฐ์ ๋ช ๋ น์ด ํ์ดํ๋ผ์ธ์ ํฌํจํ ๊ตฌ์กฐ
- ์ํผ์ค์นผ๋ผ ๊ตฌ์กฐ๋ก ๋ช ๋ น์ด ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ CPU๋ฅผ ์ํผ์ค์นผ๋ผ ํ๋ก์ธ์(CPU)๋ผ๊ณ ํจ.
๋น์์ฐจ์ ๋ช ๋ น์ด ์ฒ๋ฆฌ(OoOE: Out of Order Execution)
- ๋ช ๋ น์ด๋ค์ ์์ฐจ์ ์ผ๋ก ์คํํ์ง ์๋ ๊ธฐ๋ฒ -> ํฉ๋ฒ์ ์ธ ์์น๊ธฐ
- ์์์น ๋ชปํ ์ํฉ์์ ํ์ดํ๋ผ์ธ์ ์ค๋จ์ ๋ฐฉ์งํ๊ธฐ ์ํจ.
- ์๋ก ๋ฐ์ดํฐ ์์กด์ฑ์ด ์์ด์ผ ํ๋ฉฐ, ์์๋ฅผ ๋ฐ๊ฟ ์คํํด๋ ๋ฌด๋ฐฉํ ๋ช ๋ น์ด๋ฅผ ๋จผ์ ์คํ
- ์์
- 3๋ฒ์ 1,2๋ฒ์ด ๋๋ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ด ์์ฐจ์ ์ผ๋ก ์คํ๋๋ค.
- 3๋ฒ์ ์์๋ฅผ ๋ณ๊ฒฝํ์ ๋ ๋ ํจ์จ์ ์ผ๋ก ์ํ๋๋ค.
05-3 CISC์ RISC
๋ช ๋ น์ด ์งํฉ
CISC
RISC
'๐ฅ๏ธ CS > ๐ป ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CS] ํผ๊ณต์ปด์ด Chapter 11. CPU ์ค์ผ์ค๋ง (0) | 2024.08.14 |
---|---|
[CS] ํผ๊ณต์ปด์ด Chapter 10. ํ๋ก์ธ์ค์ ์ค๋ ๋ (0) | 2024.08.12 |
[CS] ํผ๊ณต์ปด์ด Chapter 9. ์ด์์ฒด์ ์์ํ๊ธฐ (0) | 2024.08.09 |
[CS] ํผ๊ณต์ปด์ด Chapter 8. ์ ์ถ๋ ฅ์ฅ์น (0) | 2024.08.07 |
[CS] ํผ๊ณต์ปด์ด Chapter 7. ๋ณด์กฐ๊ธฐ์ต์ฅ์น (0) | 2024.08.05 |