๋ช ๋ น์ด ํ์ดํ๋ผ์ธ์ ์ฌ๋ฌ ๋ช ๋ น์ด๋ฅผ ์กฐํฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ๋งํฉ๋๋ค. ์ด๋ ๋ฆฌ๋ ์ค/์ ๋์ค ์ด์ ์ฒด์ ์์ ํํ ์ฌ์ฉ๋๋ฉฐ, ๊ฐ ๋ช ๋ น์ด๋ ํน์ ์์ ์ ์ํํ๊ณ , ๊ฒฐ๊ณผ๋ฅผ ๋ค์ ๋ช ๋ น์ด๋ก ์ ๋ฌํฉ๋๋ค. ์ด๋ฌํ ์ฒ๋ฆฌ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.


๋ช ๋ น์ด ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ์ ๋์ ์ด์
- ๋ชจ๋ํ์ ์ฌ์ฌ์ฉ์ฑ: ๋ช ๋ น์ด ํ์ดํ๋ผ์ธ์ ๊ฐ ๋ช ๋ น์ด๊ฐ ํน์ ์์ ์ ๋ด๋นํ๋ฏ๋ก ๋ชจ๋ํ๊ฐ ์ฉ์ดํฉ๋๋ค. ๊ฐ๊ฐ์ ๋ช ๋ น์ด๋ ๋ ๋ฆฝ์ ์ผ๋ก ๊ฐ๋ฐ, ํ ์คํธ ๋ฐ ์ ์ง๋ณด์ํ ์ ์๊ณ , ํ์ํ ๊ฒฝ์ฐ ์ฌ์ฌ์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
- ๊ฐํธํ ์์ ํ๋ฆ ๊ตฌ์ฑ: ํ์ดํ๋ผ์ธ์ ์ฌ์ฉํ๋ฉด ๊ฐ๋จํ ๋ช ๋ น์ด๋ฅผ ์ฐ๊ฒฐํ์ฌ ๋ณต์กํ ์์ ์ ์ํํ ์ ์์ต๋๋ค. ์ด๋ก์จ ์ฌ์ฉ์๋ ํ๋์ ๋ช ๋ น์ด๋ก ์ฌ๋ฌ ์์ ์ ํ ๋ฒ์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
- ๋น ๋ฅธ ๋ฐ์ดํฐ ์ฒ๋ฆฌ: ๋ช ๋ น์ด ํ์ดํ๋ผ์ธ์ ๊ฐ ๋ช ๋ น์ด๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ฉด์ ๋์์ ๋ค์ ๋ช ๋ น์ด๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํฉ๋๋ค. ์ด๋ก ์ธํด ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๊ฐ์ด ๋จ์ถ๋๊ณ , ์์ ํ๋ฆ์ด ๋น ๋ฅด๊ฒ ์งํ๋ ์ ์์ต๋๋ค.
- ์ฝ๋ ๊ฐ๊ฒฐ์ฑ: ํ์ดํ๋ผ์ธ์ ์ฌ์ฉํ๋ฉด ํ ์ค์ ๋ช ๋ น์ด๋ก ๊ฐ๊ฒฐํ๊ฒ ์์ ์ ํํํ ์ ์์ต๋๋ค. ์ด๋ ์ฝ๋๋ฅผ ๋ ์ฝ๊ธฐ ์ฝ๊ณ ์ดํดํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค์ด์ค๋๋ค.
- ๋ค์ํ ๋๊ตฌ ๋ฐ ์ธ์ด ํตํฉ: ๋ช ๋ น์ด ํ์ดํ๋ผ์ธ์ ๋ค์ํ ๋๊ตฌ์ ์ธ์ด๋ฅผ ํตํฉํ ์ ์์ต๋๋ค. ๊ฐ๊ฐ์ ๋ช ๋ น์ด๋ ์๋ก ๋ค๋ฅธ ์ธ์ด๋ ๋๊ตฌ๋ก ์์ฑ๋ ์ ์์ผ๋ฉฐ, ์ด๋ค์ ์ฐ๊ฒฐํ์ฌ ํจ๊ณผ์ ์ธ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ๊ฐ๋ฅ์ผ ํฉ๋๋ค.
- ์ ์ฐ์ฑ๊ณผ ํ์ฅ์ฑ: ํ์ดํ๋ผ์ธ์ ๊ฐ ๋ช ๋ น์ด๋ฅผ ์ํ๋ ๋๋ก ๊ตฌ์ฑํ ์ ์๋ ์ ์ฐ์ฑ์ ์ ๊ณตํฉ๋๋ค. ์๋ก์ด ๋ช ๋ น์ด๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ๊ธฐ์กด ๋ช ๋ น์ด๋ฅผ ๋ณ๊ฒฝํ์ฌ ํ์ดํ๋ผ์ธ์ ์ฝ๊ฒ ํ์ฅํ ์ ์์ต๋๋ค.
- ์๋ํ ๋ฐ ์คํฌ๋ฆฝํ : ๋ช ๋ น์ด ํ์ดํ๋ผ์ธ์ ์คํฌ๋ฆฝํ ํ์ฌ ์๋ํํ ์ ์์ต๋๋ค. ์ด๋ ๋ฐ๋ณต์ ์ด๊ฑฐ๋ ์ผ๊ด์ ์ธ ์์ ์ ํจ์จ์ ์ผ๋ก ์ํํ ์ ์๋๋ก ๋์์ค๋๋ค.
๋ช ๋ น์ด ํ์ดํ๋ผ์ธ์ ์ํ
1. ๋ฐ์ดํฐ ์ํ (Data Risk)
- ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ๋ฌธ์ : ํ์ดํ๋ผ์ธ์ ํตํด ๋ฐ์ดํฐ๊ฐ ์ ๋ฌ๋๋ ๋์, ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ์ด ์์๋ ์ ์์ต๋๋ค. ์ด๋ ๋ฐ์ดํฐ๊ฐ ๋ณ์กฐ๋๊ฑฐ๋ ์์ค๋๋ ๊ฒฝ์ฐ๋ฅผ ์๋ฏธํ๋ฉฐ, ์ ๋ขฐํ ์ ์๋ ๋ฐ์ดํฐ ์ ์ก๊ณผ ์ ์ฅ์ ์ํด ์์ ํ ์ ์ก ๋ฐ ๋ฐฑ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
- ๋ฐ์ดํฐ ์ ์ถ ๊ฐ๋ฅ์ฑ: ํ์ดํ๋ผ์ธ์์ ์ฒ๋ฆฌ๋๋ ๋ฐ์ดํฐ๋ ์ค๊ฐ ๋จ๊ณ์์ ๋ ธ์ถ๋ ์ ์์ต๋๋ค. ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ํฌํจ๋ ๋ฐ์ดํฐ์ ์ ์ถ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ํธํ ๋ฐ ์ ๊ทผ ์ ์ด์ ๊ฐ์ ๋ณด์ ์กฐ์น๊ฐ ํ์ํฉ๋๋ค.
2. ์ ์ด ์ํ (Control Risk)
- ๋ช ๋ น์ด ์ฃผ์ (Command Injection): ์ฌ์ฉ์ ์ ๋ ฅ์ด ์ ์ ํ๊ฒ ๊ฒ์ฆ๋์ง ์์ผ๋ฉด ๋ช ๋ น์ด ์ฃผ์ ๊ณต๊ฒฉ์ ๋ ธ์ถ๋ ์ ์์ต๋๋ค. ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด์๋ ์ฌ์ฉ์ ์ ๋ ฅ์ ๊ฒ์ฆํ๊ณ ์ด์ค์ผ์ดํํ์ฌ ๋ณด์์ ๊ฐํํด์ผ ํฉ๋๋ค.
- ๋ถ์ ์ ํ ๊ถํ ์ฌ์ฉ: ํ์ดํ๋ผ์ธ ์คํ ์ค์๋ ์ฌ์ฉ์๋ ํ๋ก์ธ์ค์ ๊ถํ์ด ๋ถ์ ์ ํ๊ฒ ์ค์ ๋ ์ ์์ต๋๋ค. ์ต์ ๊ถํ ์์น์ ์ค์ํ๊ณ , ํ์ํ ๊ฒฝ์ฐ์๋ง ์๋ ๊ถํ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
3.๊ตฌ์กฐ์ ์ํ (Structural Risk)
- ์์กด์ฑ ๊ด๋ฆฌ ๋ถ์กฑ: ๊ฐ ๋ช ๋ น์ด๋ ๋ค๋ฅธ ๋ช ๋ น์ด์ ์์กดํ ์ ์์ผ๋ฉฐ, ์ด๋ฌํ ์์กด์ฑ์ ๊ด๋ฆฌํ์ง ์์ผ๋ฉด ํ์ดํ๋ผ์ธ์ด ์๋ํ์ง ์์ ์ ์์ต๋๋ค. ์ธ๋ถ ์์กด์ฑ์ ์ ์ ํ ๊ด๋ฆฌํ๊ณ , ํ๊ฒฝ์ ๋ฐ๋ฅธ ์ค์ ์ ๊ณ ๋ คํ์ฌ ์์ ์ ์ธ ํ์ดํ๋ผ์ธ์ ์ ์งํด์ผ ํฉ๋๋ค.
- ์ค๋ฅ ์ฒ๋ฆฌ ๋ถ์กฑ: ํ์ดํ๋ผ์ธ ์คํ ๋์ค ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ค๋ฅ๋ฅผ ์ ์ ํ ์ฒ๋ฆฌํ์ง ์์ผ๋ฉด ์ค๊ฐ ๋จ๊ณ์์ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ด ์์๋ ์ ์์ผ๋ฉฐ, ์ด์ ๋ํ ์์ธ ์ฒ๋ฆฌ์ ๋ก๊น ์ด ํ์ํฉ๋๋ค.
์ด๋ฌํ ์ํ์ ์ต์ํํ๊ณ ์์ ์ฑ์ ๋์ด๋ ค๋ฉด, ๋ฐ์ดํฐ ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ์ ๊ฐ๋ฐ ๋ฐ ์ด์ํ ๋ ๋ณด์ ๊ด์ ์์ ์ฃผ์ ๊น๊ฒ ๊ณ ๋ คํด์ผ ํฉ๋๋ค
์ํผ์ค์นผ๋ผ(Superscalar) ์ฒ๋ฆฌ ๊ธฐ๋ฒ
์ํผ์ค์นผ๋ผ(Superscalar)๋ ์ปดํจํฐ ํ๋ก์ธ์์ ์ํคํ ์ฒ ๋์์ธ์์ ์ฌ์ฉ๋๋ ์ฉ์ด ์ค ํ๋๋ก, ์ฌ๋ฌ ๊ฐ์ ๋ช ๋ น์ด ํ์ดํ๋ผ์ธ์ ํฌํจํ๋ ๊ตฌ์กฐ๋ฅผ ๋ํ๋ ๋๋ค. ์ด ์ํคํ ์ฒ๋ ๋จ์ผ ํด๋ญ ์ฃผ๊ธฐ ๋์์ ์ฌ๋ฌ ๋ช ๋ น์ด๋ฅผ ๋์์ ์คํํ ์ ์๋ ๋ฅ๋ ฅ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.


์ํผ์ค์นผ๋ผ ํ๋ก์ธ์์ ์ฃผ์ ํน์ง
- ๋ค์ค ๋ช ๋ น์ด ํ์ดํ๋ผ์ธ: ์ํผ์ค์นผ๋ผ ํ๋ก์ธ์๋ ํ๋์ ๋ช ๋ น์ด ํ์ดํ๋ผ์ธ์ด ์๋๋ผ ์ฌ๋ฌ ๊ฐ์ ๋ช ๋ น์ด ํ์ดํ๋ผ์ธ์ ํฌํจํฉ๋๋ค. ๊ฐ๊ฐ์ ํ์ดํ๋ผ์ธ์ ๋ช ๋ น์ด์ ํน์ ๋จ๊ณ๋ฅผ ์ฒ๋ฆฌํ๋ฉฐ, ๋ณ๋ ฌ๋ก ๋์ํฉ๋๋ค.
- ๋ช ๋ น์ด ์ํ ๋ณ๋ ฌํ: ์ํผ์ค์นผ๋ผ๋ ๋จ์ผ ํด๋ญ ์ฃผ๊ธฐ ๋์์ ์ฌ๋ฌ ๋ช ๋ น์ด๋ฅผ ๋์์ ์คํํจ์ผ๋ก์จ ๋ช ๋ น์ด ์ํ์ ๋ณ๋ ฌํํฉ๋๋ค. ์ด๋ฅผ ํตํด ํ๋ก์ธ์์ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
- ๋ช ๋ น์ด ์ํ ์์ ์กฐ์ : ์ํผ์ค์นผ๋ผ ํ๋ก์ธ์๋ ๋ช ๋ น์ด์ ์ข ๋ฅ์ ๋ฐ๋ผ ๋ค์ํ ๋ช ๋ น์ด๋ฅผ ๋์์ ์ํํ ์ ์๋๋ก ์ค๊ณ๋์ด ์์ต๋๋ค. ์ด๋ฅผ ํตํด ํ๋ก์ธ์๋ ํน์ ์ข ๋ฅ์ ๋ช ๋ น์ด์ ๋ํ ์ต์ ํ๋ ์คํ ๊ฒฝ๋ก๋ฅผ ์ ํํ ์ ์์ต๋๋ค.
- ๋ช ๋ น์ด ๋ฐํ (Issue) ๋ฐ ์๋ฃ (Commit): ์ํผ์ค์นผ๋ผ๋ ๋ช ๋ น์ด๋ฅผ ๋ฐํํ๋ ๋จ๊ณ์ ๋ช ๋ น์ด๋ฅผ ์๋ฃํ๋ ๋จ๊ณ๋ฅผ ๋ถ๋ฆฌํฉ๋๋ค. ์ด๋ ๋ช ๋ น์ด์ ์ข ๋ฅ์ ๋ฐ๋ผ ์ฌ๋ฌ ๊ฐ์ ๋ช ๋ น์ด๋ฅผ ๋์์ ๋ฐํํ๊ณ , ์๋ฃ๋๋ ์์์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํฉ๋๋ค.
์ํผ์ค์นผ๋ผ ํ๋ก์ธ์๋ ๋ณ๋ ฌ ์ฒ๋ฆฌ์ ์ฑ๋ฅ ํฅ์์ ๋ชฉํ๋ก ํ๋ ๊ณ ๊ธ ์ํคํ ์ฒ๋ก, ํ๋์ ๋๋ค์ ๊ณ ์ฑ๋ฅ ์ปดํจํฐ ์์คํ ์์ ์ฌ์ฉ๋ฉ๋๋ค. ์ด ์ํคํ ์ฒ๋ ์ํํธ์จ์ด๊ฐ ๋ช ๋ น์ด ์ํ์ ๋ช ์์ ์ผ๋ก ๋ํ๋ด์ง ์์๋ ์๋์ผ๋ก ๋ณ๋ ฌ๋ก ์คํ๋ ์ ์๋๋ก ํ๋ ์ฅ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
๋น์์ฐจ์ ๋ช ๋ น์ด ์ฒ๋ฆฌ์ ๊ธฐ๋ฒ
๋น์์ฐจ์ ๋ช ๋ น์ด ์ฒ๋ฆฌ์ ๊ธฐ๋ฒ(Out-of-Order Execution)์ ํ๋ก์ธ์์ ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํ ๊ธฐ์ ์ค ํ๋์ ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ๋ช ๋ น์ด์ ์คํ ์์๋ฅผ ๋ช ๋ น์ด๊ฐ ๋ฐํ๋ ์์์ ๋ค๋ฅด๊ฒ ์ฒ๋ฆฌํ์ฌ, ๋ค์์ ๋ช ๋ น์ด๋ฅผ ๋ณ๋ ฌ๋ก ์คํํจ์ผ๋ก์จ ํ๋ก์ธ์์ ํ์ฉ๋๋ฅผ ๋์ด๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ๋ค์ํ ๋ช ๋ น์ด๋ค์ด ๋์์ ์คํ๋ ์ ์๋๋ก ์ค๊ณ๋์ด ์์ต๋๋ค.

๋น์์ฐจ์ ๋ช
๋ น์ด ์ฒ๋ฆฌ์ ์ฃผ์ ํน์ง
- ๋ช ๋ น์ด ๋ฐํ (Issue): ๋ช ๋ น์ด๊ฐ ์์ฐจ์ ์ผ๋ก ์คํ๋์ง ์๊ณ , ํ๋ก์ธ์๊ฐ ์คํ ๊ฐ๋ฅํ ๋ช ๋ น์ด๋ฅผ ์์ ๋กญ๊ฒ ์ ํํ์ฌ ๋ฐํํฉ๋๋ค. ์ด๋ ๋ช ๋ น์ด์ ์ข ์์ฑ์ ๊ณ ๋ คํ์ง ์๊ณ , ๋์์ ์คํ ๊ฐ๋ฅํ ๋ช ๋ น์ด๋ฅผ ์ฐพ์๋ด์ด ๋ฐํํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
- ๋ช ๋ น์ด ์๋ฃ (Commit): ๋ช ๋ น์ด๋ ๋ฐํ๋ ์์๋๋ก๊ฐ ์๋๋ผ, ์คํ์ด ์๋ฃ๋ ์์์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํฉ๋๋ค. ์ด๋ ๋ช ๋ น์ด์ ์คํ ์์์ ๋ฐํ ์์๋ฅผ ๋ถ๋ฆฌํ์ฌ, ์คํ์ด ์๋ฃ๋ ๋ช ๋ น์ด๋ฅผ ๋จผ์ ์๋ฃํ๋ ๋ฐฉ์์ ๋๋ค.
- ๋ช ๋ น์ด ์์ฝ (Reservation Stations): ๋ช ๋ น์ด๊ฐ ๋ฐํ๋๋ฉด ํด๋น ๋ช ๋ น์ด์ ์คํ์ ์ํ ์์์ ์์ฝํฉ๋๋ค. ์ด๋ ๊ฒ ์์ฝ๋ ์์์ ๋ช ๋ น์ด๊ฐ ์คํ๋ ๋ ์ฌ์ฉ๋๋ฉฐ, ์คํ์ด ์๋ฃ๋๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ํด ์์์ ๋ฐํํฉ๋๋ค.
- ๋ช ๋ น์ด ์ค๋จ (Reorder Buffer): ๋ช ๋ น์ด์ ๋ฐํ ์์์ ์๋ฃ ์์๋ฅผ ์ถ์ ํ๊ธฐ ์ํด ๋ช ๋ น์ด ์ค๋จ ๋ฒํผ(Reorder Buffer)๊ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด ๋ฒํผ๋ ๋ช ๋ น์ด์ ๋ฐํ ์์๋ฅผ ๊ธฐ๋กํ๊ณ , ๋ช ๋ น์ด๊ฐ ์๋ฃ๋๋ฉด ๊ฒฐ๊ณผ๋ฅผ ์์ฐจ์ ์ผ๋ก ๊ธฐ๋กํฉ๋๋ค.
๋น์์ฐจ์ ๋ช ๋ น์ด ์ฒ๋ฆฌ์ ์ด์ ์ ๋ช ๋ น์ด ๊ฐ์ ์์กด์ฑ์ ๊ณ ๋ คํ์ง ์๊ณ ๋ณ๋ ฌ๋ก ์คํํ ์ ์์ด ํ๋ก์ธ์์ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค. ํ์ง๋ง ๋ช ๋ น์ด์ ๋ฐํ๊ณผ ์๋ฃ๋ฅผ ์ถ์ ํ๊ธฐ ์ํ ์ถ๊ฐ์ ์ธ ํ๋์จ์ด์ ๋ ผ๋ฆฌ ํ๋ก๊ฐ ํ์ํ๋ฉฐ, ๋ช ๋ น์ด ๊ฐ์ ์์กด์ฑ์ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋ณต์กํ ํ๋ก๋ฅผ ๋์ ํด์ผ ํฉ๋๋ค.
Instruction Pipeline: A processor design that divides instructions into multiple stages, allowing parallel processing of each stage such as instruction fetch, decode, execute, and memory access.
Risks of Instruction Pipelines: Categorized into data risk (integrity and leakage), control risk (command injection and improper permission usage), and structural risk (dependency management and error handling), posing security and performance concerns.
Superscalar: A processor architecture incorporating multiple instruction pipelines, executing several instructions simultaneously within a single clock cycle, enhancing overall performance.
Out-of-Order Execution: A technique reordering the execution sequence of instructions to parallelize processing, separating instruction issue and completion, and utilizing reservation stations and reorder buffers to execute instructions without considering dependencies.
'Computer Science > Computer Structure' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
11 RAM (1) | 2023.12.30 |
---|---|
10 ๋ช ๋ น์ด ์งํฉ ๊ตฌ์กฐ (Feat. CISC & RISC) (0) | 2023.12.29 |
8 Clock, Core and Thread (ํด๋ญ, ์ฝ์ด, ์ค๋ ๋) (0) | 2023.12.26 |
7 Instruction Cycle & Interrupt (๋ช ๋ น์ด ์ฌ์ดํด๊ณผ ์ธํฐ๋ฝํธ) (1) | 2023.12.23 |
6 CPU - Register (๋ ์ง์คํฐ) (0) | 2023.12.21 |
๋๊ธ