[๋ฉํฐ์ฝ์ดCPU] 02. ํ๋ก์ธ์ค์ ๊ธฐ๋ณธ ๋ถํ / ์ฑ๋ฅ ์งํ
์ ๋ดํ ๊ต์๋์ด ์ถ์ฒํ ์ฑ
ใ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ชฐ๋๋ ๋ฉํฐ์ฝ์ด CPU ์ด์ผ๊ธฐใ - ๊น๋ฏผ์ฅ ์ง์
์์ ์ฑ ์ ํ ๋๋ก ๊ณต๋ถํ ๋ด์ฉ์ด ์์ฑ๋์์
- ๋ง์ดํฌ๋ก์ํคํ ์ฒ (Microarchitecture)
: ๋ง์ดํฌ๋กํ๋ก์ธ์ ํ๋๋ฅผ ๋ง๋ค ๋ ํ์ํ ์๊ณ ๋ฆฌ์ฆ๊ณผ ํ๋ก ์์ค์ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๋ ๊ฒ
: 1) ๋ง์ดํฌ๋ก์ํคํ ์ฒ ์ค๊ณ : ์๋ฎฌ๋ ์ดํฐ ์์์ ์ฝ๋๊ฐ ์ฑ๋ฅ ํฅ์์ ๋ณด์ธ๋ค๋ฉด ์ด ์๊ณ ๋ฆฌ์ฆ์ RTL ์ธ์ด๋ก ๊ธฐ์ ๋จ
: 2) ๋ก์ง ์ค๊ณ : RTL์ ์ค์ ํ๋์จ์ด ๊ตฌํ์ ์ ํฉํ์ง ํ ์คํธํ๊ณ ๊ฐ๋ค๋ฌ์ด HDL ์ธ์ด๋ก ๋ฐ๊ฟ
- ์ฐ์ ๋ ผ๋ฆฌ ์ฅ์น (ALU)
: ๊ณ์ฐ์ ๋ด๋นํ๋ ์ฅ์น
: ์ ์ ์ฌ์น ์ฐ์ฐ (+, -, *, /), ๋นํธ ๋ ผ๋ฆฌ ์ฐ์ฐ, ๋นํธ ์ํํธ ์ฐ์ฐ

: ๋ถ๋์์์ โ ์ค์ ์ฒ๋ฆฌ์ ํํ ํํ (์ต์์ 1๋นํธ ๋ถํธ, ๋๋จธ์ง ๋นํธ๋ฅผ ์ง์์ ๊ฐ์๋ก ํํ)
โ 32๋นํธ ๋จ์ ๋ float - 8๋นํธ ์ง์, 23๋นํธ ๊ฐ์ / 64๋นํธ ๋ฐฐ์ ๋ double - 11๋นํธ ์ง์, 52๋นํธ ๊ฐ์
โ 16๋นํธ๋ผ๋ฉด 2์ 16์น๋งํผ์ ํํ์ด ๊ฐ๋ฅํ ์ ์์ง๋ง, ์ค์ ๋ฐ์ดํฐ๋ ๊ทผ์ฌ์ ์ฐจ์ด๊ฐ ์์
: ์ฐ์ ๋น์ฉ๊ณผ ์๊ฐ โ ํ๋ก์ธ์๋ ์ฒ๋ฆฌ ์๊ฐ์ ๋ฐ๋ผ ๋จ์ ์ ์ ์ฐ์ฐ, ๋ณต์ก ์ ์ ์ฐ์ฐ, ๋ถ๋์์์ ๊ณ์ฐ์ผ๋ก ๋ถ๋ฆฌํด ์ฒ๋ฆฌ
- ํด๋ก (clock)
: ํ๋ก์ธ์๊ฐ ์ฒ๋ฆฌํ๋ ๋ช ๋ ํ๋๋ ์ฌ๋ฌ ๋ง๋๋ก ๊ตฌ๋ถ์ด ๊ฐ๋ฅํจ
: ์ด ๋ง๋๋ฅผ ๋์งํธ ํ๋ก์์ ์ํ๋ผ๊ณ ํจ
: ๋ช ๋ น์ด๋ ์ด ํด๋ก์ ๋ง์ถฐ์ ์ฒ๋ฆฌ๋จ
: 2GHz์ ํ๋ก์ธ์ โ 1์ด์ 20์ต ๋ฒ์ ํด๋ก ์ ํธ ๋ฐ์ (์ด์์ : 1์ด๋ง๋ค 20์ต๊ฐ์ ์ฐ์ฐ ์๋ฃ)
- ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต
: ๋ฉ๋ชจ๋ฆฌ ๋์ญํญ๊ณผ ๋ ์ดํด์๋ฅผ ์ผ๋ง๋ ๊ฐ์ ํ๋๊ฐ โ ์ปดํจํฐ ์ฑ๋ฅ ํฅ์์ ํฐ ์ํฅ
(๋์ญํญ : ๋จ์ ์๊ฐ์ ์ผ๋ง๋ ๋ง์ ๋ฐ์ดํฐ๊ฐ ํ๋ฅผ ์ ์๋๊ฐ, ๋ ์ดํด์ : ์ํ๋ ์์ ์ ์๋ฃํ๋๋ฐ ์์๋๋ ์๊ฐ)
: DRAM์ผ๋ก ๊ตฌํ โ ํ๋ก์ธ์์์ ๋ฉ๋ฆฌ ๋จ์ด์ ธ ์์ โ ์บ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํจ

: ๋งจ ์๋ก ๊ฐ ์๋ก ๊ฐ์ฅ ๋น ๋ฅด๋ฉด์ ๊ฐ์ ์ธ๊ณ , ์ฉ๋์ ์ ์ (๋ด๋ ค๊ฐ ์๋ก ๋ฐ๋)
: ๋ฒ์ฉ๋ ์ง์คํฐ(GPR) โ ๋ด๋ถ ์์ ์ ์ฅ ์ฅ์
: ํ๋ก๊ทธ๋จ ์นด์ดํฐ(PC) ๋ ์ง์คํฐ โ ํ์ฌ ์ํ ์ค์ธ ๋ช ๋ น์ด ์ฃผ์ (์ค๋จ์ ) - x64 : RIP
: ์ปจํธ๋กค ๋ ์ง์คํฐ โ ์์คํ ๋ด๋ถ ์ํ ๊ด๋ฆฌ
: ์์ 3๊ฐ์ ๋ ์ง์คํฐ โ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ณผ ์ ์๋, ๋ณดํต ๊ตฌ์กฐ ๋ ์ง์คํฐ
: ์ธ๋ถ๋ก ๋ ธ์ถ๋์ง ์์ ๋ ์ง์คํฐ โ ๋ฌผ๋ฆฌ ๋ ์ง์คํฐ
: ์ปดํ์ผ๋ฌ๋ ์ต๋ํ ๋ ์ง์คํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฐ๋๋ก ์ต์ ํ.
: ๋ ์ง์คํฐ์ ์ฌ์ ๊ฐ ์๋ค๋ฉด ๋ถํ์ํ ๋ณ์๋ฅผ ์ค์ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋นํ์ง ์๊ณ ๋ ์ง์คํฐ๋ก ๋์ฒดํ๋ ์ต์ ํ ์งํ
- ํ๋ก์ธ์ค์ ์ค๋ ๋
: ์ค๋ ๋๊ฐ ํ๋ก์ธ์๋ฅผ ์ฌ์ฉํ๋ ์ต์ ๋จ์.
: ์ค๋ ๋๋ ์์ ์ ๋ ์ง์คํฐ ์ํ๋ ํธ์ถ ์คํ์ ์ํ๋ฅผ ๊ฐ๊ณ ์์ด ํ๋์ ์คํ ํ๋ฆ ์ ์ง
: ํ๋ก์ธ์ค๋ PID, ์ฃผ์ ๊ณต๊ฐ, ํ๋ก์ธ์ค ์ฐ์ ์์, ํ์ฌ ์ด๋ ค์๋ ํ์ผ ๋ชฉ๋ก ๋ฑ์ ์ ๋ณด๋ฅผ ๊ฐ๊ณ ์์ ์ด ์ ๋ณด๊ฐ ๋ฌธ๋งฅ(context)
: ์ ์ ํ ๋ฉํฐํ์คํน ๊ตฌํ - ๋ผ์ด๋ ๋ก๋น ์ค์ผ์ค๋ง
- ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ (virtual memory)
: ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ๋ ํฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ฉฐ, OS์ ์์ ์ฑ์ ํฌ๊ฒ ๋์
: ํ๋์จ์ด๊ฐ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ค์ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ณํํ๋ ์์ ์ ๋ค๋ฃจ์ด ์ฒ๋ฆฌ ์๋ ํฅ์ํจ
: ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์์ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ๋ก์ ๋ณํ - ์ฃผ์๋ฅผ ๋ณํํ๋ ํจ์๋ฅผ ๋ง๋ค์ด์ผ ํ๊ณ ๊ทธ ๋ณํ ๋ด์ญ์ ๊ธฐ์ต.
: ์ฃผ์ ๋ณํ์ ์ฉ์ดํ๊ฒ ํ๊ณ ์ OS๋ ํ์ด์ง๋ผ๋ ๊ณ ์ ๋ ํฌ๊ธฐ๋ก ๋๋์ด ๊ด๋ฆฌํจ
: ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ํญ์ ํ์ด์ง ๋จ์๋ก ํ ๋นํ๊ณ ๋ฐํํจ
: ํ์ด์ง ํดํธ โ ๊ฐ์ ์ฃผ์์ ์ฌ์ ๊ด๊ณ๊ฐ ์์ง ํ์ด์ง ํ ์ด๋ธ์ ์๋ ์์ธ ์ํฉ์ด ๋ ๊ฒฝ์ฐ, ์ด ์ํฉ์ด ๋ฐ์ํ๋ฉด ํ๋ก๊ทธ๋จ์ ์คํ์ ์ ์ ๋ฉ์ถ๊ณ ์ ์ด๊ถ์ OS์๊ฒ ๋๋ ค์ค, OS๋ ์ด ํ์ด์ง ๋ด์ฉ์ ์ฝ์ด ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ ์ด๋๊ฐ ์ ์ฅํ๊ณ , ์ ํจํ ์ฌ์ ๊ด๊ณ๋ฅผ ํ์ด์ง ํ ์ด๋ธ์ ์จ์ค ํ ํ๋ก๊ทธ๋จ ๋ค์ ์คํ
- ์๋ฌ์ ๋ฒ์น(Amdahl's law)
: ์๋ฌด๋ฆฌ ์ต์ ํ ํด๋ ์ด ๋ถ๋ถ์ผ๋ก๋ถํฐ ์ํฅ ๋ฐ์ง ์์ ๋ค๋ฅธ ๋ถ๋ถ์ผ๋ก ๊ทธ ํจ๊ณผ๋ ์ ํ์ ์ผ ์ ์๋ค
: ํ๋ก๊ทธ๋จ ์ฑ๋ฅ ๊ฐ์ ์ ํ ๋ ํ๋ ๊ณณ์ ์๊ฐ์ ๋ญ๋นํ์ง ๋ง๊ณ ๊ฐ์ฅ ๋ง์ ์๊ฐ์ด ์์๋๋ ๊ณณ์ ์ง์คํด๋ผ
- ํ๋ก๊ทธ๋จ ์ํ ์๊ฐ๊ณผ ์ฑ๋ฅ ํฅ์
: CPI๋ฅผ ์ฌ์ฉํ ํ๋ก๊ทธ๋จ ์คํ ์๊ฐ โ T = N * CPI * T
: T๋ ์ฌ์ดํด, CPI๋ ๋ช ๋ น์ด๋น ํ๊ท ์์ ์ฌ์ดํด, N์ ์คํํ ๋ช ๋ น์ด ๊ฐ์
1) ๋ช ๋ น์ด ๊ฐ์ N ์ค์ด๊ธฐ : ์ปดํ์ผ๋ฌ๊ฐ ํฐ ์ญํ ๊ฐ๋ฅ, ํจ์ ์ธ๋ผ์ธํ, ๋ฃจํ ํ๊ธฐ ๋ฑ๋ฑ
2) CPI ์ค์ด๊ธฐ : ์ปดํจํฐ ๋ด๋ถ ๊ตฌ์กฐ ์ํฅ์ด ํผ, ์ดํ์ ๊ณ์ ์์๋ณผ ๊ฒ
3) ํด๋ก ์๋ ๋์ด๊ธฐ : ํด๋ก์ ๊ฒฐ์ ์ง๋ ์ฃผ์ ์์๋ ํ ์ฌ์ดํด์ ์๋ฃํด์ผ ํ๋ ์์ โ ํ์ดํ๋ผ์ธ ๋ฑ