๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Computer Science/Computer Structure

9 ๋ช…๋ น์–ด ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ๊ธฐ๋ฒ•

by Dowon Kang 2023. 12. 28.

๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ธ์€ ์—ฌ๋Ÿฌ ๋ช…๋ น์–ด๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ฆฌ๋ˆ…์Šค/์œ ๋‹‰์Šค ์šด์˜ ์ฒด์ œ์—์„œ ํ”ํžˆ ์‚ฌ์šฉ๋˜๋ฉฐ, ๊ฐ ๋ช…๋ น์–ด๋Š” ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ , ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์Œ ๋ช…๋ น์–ด๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฒ˜๋ฆฌ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ–ˆ์„ ๋•Œ์˜ ์ด์ 

  1. ๋ชจ๋“ˆํ™”์™€ ์žฌ์‚ฌ์šฉ์„ฑ: ๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ธ์€ ๊ฐ ๋ช…๋ น์–ด๊ฐ€ ํŠน์ • ์ž‘์—…์„ ๋‹ด๋‹นํ•˜๋ฏ€๋กœ ๋ชจ๋“ˆํ™”๊ฐ€ ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ๋ช…๋ น์–ด๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐœ๋ฐœ, ํ…Œ์ŠคํŠธ ๋ฐ ์œ ์ง€๋ณด์ˆ˜ํ•  ์ˆ˜ ์žˆ๊ณ , ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  2. ๊ฐ„ํŽธํ•œ ์ž‘์—… ํ๋ฆ„ ๊ตฌ์„ฑ: ํŒŒ์ดํ”„๋ผ์ธ์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ„๋‹จํ•œ ๋ช…๋ น์–ด๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ๋ณต์žกํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋กœ์จ ์‚ฌ์šฉ์ž๋Š” ํ•˜๋‚˜์˜ ๋ช…๋ น์–ด๋กœ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ํ•œ ๋ฒˆ์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ๋น ๋ฅธ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ: ๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ธ์€ ๊ฐ ๋ช…๋ น์–ด๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ฉด์„œ ๋™์‹œ์— ๋‹ค์Œ ๋ช…๋ น์–ด๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์ด ๋‹จ์ถ•๋˜๊ณ , ์ž‘์—… ํ๋ฆ„์ด ๋น ๋ฅด๊ฒŒ ์ง„ํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  4. ์ฝ”๋“œ ๊ฐ„๊ฒฐ์„ฑ: ํŒŒ์ดํ”„๋ผ์ธ์„ ์‚ฌ์šฉํ•˜๋ฉด ํ•œ ์ค„์˜ ๋ช…๋ น์–ด๋กœ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ž‘์—…์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ฝ”๋“œ๋ฅผ ๋” ์ฝ๊ธฐ ์‰ฝ๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค.
  5. ๋‹ค์–‘ํ•œ ๋„๊ตฌ ๋ฐ ์–ธ์–ด ํ†ตํ•ฉ: ๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ธ์€ ๋‹ค์–‘ํ•œ ๋„๊ตฌ์™€ ์–ธ์–ด๋ฅผ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ๋ช…๋ น์–ด๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์–ธ์–ด๋‚˜ ๋„๊ตฌ๋กœ ์ž‘์„ฑ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋“ค์„ ์—ฐ๊ฒฐํ•˜์—ฌ ํšจ๊ณผ์ ์ธ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ๊ฐ€๋Šฅ์ผ€ ํ•ฉ๋‹ˆ๋‹ค.
  6. ์œ ์—ฐ์„ฑ๊ณผ ํ™•์žฅ์„ฑ: ํŒŒ์ดํ”„๋ผ์ธ์€ ๊ฐ ๋ช…๋ น์–ด๋ฅผ ์›ํ•˜๋Š” ๋Œ€๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๋ช…๋ น์–ด๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด ๋ช…๋ น์–ด๋ฅผ ๋ณ€๊ฒฝํ•˜์—ฌ ํŒŒ์ดํ”„๋ผ์ธ์„ ์‰ฝ๊ฒŒ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  7. ์ž๋™ํ™” ๋ฐ ์Šคํฌ๋ฆฝํŒ…: ๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ธ์„ ์Šคํฌ๋ฆฝํŒ…ํ•˜์—ฌ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ฐ˜๋ณต์ ์ด๊ฑฐ๋‚˜ ์ผ๊ด„์ ์ธ ์ž‘์—…์„ ํšจ์œจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค.

 

๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ธ์˜ ์œ„ํ—˜

1. ๋ฐ์ดํ„ฐ ์œ„ํ—˜ (Data Risk)

  • ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ๋ฌธ์ œ: ํŒŒ์ดํ”„๋ผ์ธ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๊ฐ€ ์ „๋‹ฌ๋˜๋Š” ๋™์•ˆ, ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์ด ์†์ƒ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€์กฐ๋˜๊ฑฐ๋‚˜ ์†์‹ค๋˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก๊ณผ ์ €์žฅ์„ ์œ„ํ•ด ์•ˆ์ „ํ•œ ์ „์†ก ๋ฐ ๋ฐฑ์—… ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ์œ ์ถœ ๊ฐ€๋Šฅ์„ฑ: ํŒŒ์ดํ”„๋ผ์ธ์—์„œ ์ฒ˜๋ฆฌ๋˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ์ค‘๊ฐ„ ๋‹จ๊ณ„์—์„œ ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฏผ๊ฐํ•œ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ์˜ ์œ ์ถœ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์•”ํ˜ธํ™” ๋ฐ ์ ‘๊ทผ ์ œ์–ด์™€ ๊ฐ™์€ ๋ณด์•ˆ ์กฐ์น˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

2. ์ œ์–ด ์œ„ํ—˜ (Control Risk)

  • ๋ช…๋ น์–ด ์ฃผ์ž… (Command Injection): ์‚ฌ์šฉ์ž ์ž…๋ ฅ์ด ์ ์ ˆํ•˜๊ฒŒ ๊ฒ€์ฆ๋˜์ง€ ์•Š์œผ๋ฉด ๋ช…๋ น์–ด ์ฃผ์ž… ๊ณต๊ฒฉ์— ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ๊ฒ€์ฆํ•˜๊ณ  ์ด์Šค์ผ€์ดํ•‘ํ•˜์—ฌ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ถ€์ ์ ˆํ•œ ๊ถŒํ•œ ์‚ฌ์šฉ: ํŒŒ์ดํ”„๋ผ์ธ ์‹คํ–‰ ์ค‘์—๋Š” ์‚ฌ์šฉ์ž๋‚˜ ํ”„๋กœ์„ธ์Šค์˜ ๊ถŒํ•œ์ด ๋ถ€์ ์ ˆํ•˜๊ฒŒ ์„ค์ •๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ์†Œ ๊ถŒํ•œ ์›์น™์„ ์ค€์ˆ˜ํ•˜๊ณ , ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ ์Šˆ๋„ ๊ถŒํ•œ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

3.๊ตฌ์กฐ์  ์œ„ํ—˜ (Structural Risk)

  • ์˜์กด์„ฑ ๊ด€๋ฆฌ ๋ถ€์กฑ: ๊ฐ ๋ช…๋ น์–ด๋Š” ๋‹ค๋ฅธ ๋ช…๋ น์–ด์— ์˜์กดํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Ÿฌํ•œ ์˜์กด์„ฑ์„ ๊ด€๋ฆฌํ•˜์ง€ ์•Š์œผ๋ฉด ํŒŒ์ดํ”„๋ผ์ธ์ด ์ž‘๋™ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์™ธ๋ถ€ ์˜์กด์„ฑ์„ ์ ์ ˆํžˆ ๊ด€๋ฆฌํ•˜๊ณ , ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ ์„ค์ •์„ ๊ณ ๋ คํ•˜์—ฌ ์•ˆ์ •์ ์ธ ํŒŒ์ดํ”„๋ผ์ธ์„ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ ๋ถ€์กฑ: ํŒŒ์ดํ”„๋ผ์ธ ์‹คํ–‰ ๋„์ค‘ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์˜ค๋ฅ˜๋ฅผ ์ ์ ˆํžˆ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š์œผ๋ฉด ์ค‘๊ฐ„ ๋‹จ๊ณ„์—์„œ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์ด ์†์ƒ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด์— ๋Œ€ํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ์™€ ๋กœ๊น…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์œ„ํ—˜์„ ์ตœ์†Œํ™”ํ•˜๊ณ  ์•ˆ์ •์„ฑ์„ ๋†’์ด๋ ค๋ฉด, ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ฐœ๋ฐœ ๋ฐ ์šด์˜ํ•  ๋•Œ ๋ณด์•ˆ ๊ด€์ ์—์„œ ์ฃผ์˜ ๊นŠ๊ฒŒ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค

 


 

์Šˆํผ์Šค์นผ๋ผ(Superscalar) ์ฒ˜๋ฆฌ ๊ธฐ๋ฒ• 

์Šˆํผ์Šค์นผ๋ผ(Superscalar)๋Š” ์ปดํ“จํ„ฐ ํ”„๋กœ์„ธ์„œ์˜ ์•„ํ‚คํ…์ฒ˜ ๋””์ž์ธ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์šฉ์–ด ์ค‘ ํ•˜๋‚˜๋กœ, ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ธ์„ ํฌํ•จํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด ์•„ํ‚คํ…์ฒ˜๋Š” ๋‹จ์ผ ํด๋Ÿญ ์ฃผ๊ธฐ ๋™์•ˆ์— ์—ฌ๋Ÿฌ ๋ช…๋ น์–ด๋ฅผ ๋™์‹œ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์Šˆํผ์Šค์นผ๋ผ ํ”„๋กœ์„ธ์„œ์˜ ์ฃผ์š” ํŠน์ง•

  1. ๋‹ค์ค‘ ๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ธ: ์Šˆํผ์Šค์นผ๋ผ ํ”„๋กœ์„ธ์„œ๋Š” ํ•˜๋‚˜์˜ ๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ธ์ด ์•„๋‹ˆ๋ผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ธ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ํŒŒ์ดํ”„๋ผ์ธ์€ ๋ช…๋ น์–ด์˜ ํŠน์ • ๋‹จ๊ณ„๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, ๋ณ‘๋ ฌ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ช…๋ น์–ด ์ˆ˜ํ–‰ ๋ณ‘๋ ฌํ™”: ์Šˆํผ์Šค์นผ๋ผ๋Š” ๋‹จ์ผ ํด๋Ÿญ ์ฃผ๊ธฐ ๋™์•ˆ์— ์—ฌ๋Ÿฌ ๋ช…๋ น์–ด๋ฅผ ๋™์‹œ์— ์‹คํ–‰ํ•จ์œผ๋กœ์จ ๋ช…๋ น์–ด ์ˆ˜ํ–‰์„ ๋ณ‘๋ ฌํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ”„๋กœ์„ธ์„œ์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ๋ช…๋ น์–ด ์ˆ˜ํ–‰ ์ˆœ์„œ ์กฐ์ ˆ: ์Šˆํผ์Šค์นผ๋ผ ํ”„๋กœ์„ธ์„œ๋Š” ๋ช…๋ น์–ด์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ๋ช…๋ น์–ด๋ฅผ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ”„๋กœ์„ธ์„œ๋Š” ํŠน์ • ์ข…๋ฅ˜์˜ ๋ช…๋ น์–ด์— ๋Œ€ํ•œ ์ตœ์ ํ™”๋œ ์‹คํ–‰ ๊ฒฝ๋กœ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  4. ๋ช…๋ น์–ด ๋ฐœํ–‰ (Issue) ๋ฐ ์™„๋ฃŒ (Commit): ์Šˆํผ์Šค์นผ๋ผ๋Š” ๋ช…๋ น์–ด๋ฅผ ๋ฐœํ–‰ํ•˜๋Š” ๋‹จ๊ณ„์™€ ๋ช…๋ น์–ด๋ฅผ ์™„๋ฃŒํ•˜๋Š” ๋‹จ๊ณ„๋ฅผ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ช…๋ น์–ด์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ช…๋ น์–ด๋ฅผ ๋™์‹œ์— ๋ฐœํ–‰ํ•˜๊ณ , ์™„๋ฃŒ๋˜๋Š” ์ˆœ์„œ์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

์Šˆํผ์Šค์นผ๋ผ ํ”„๋กœ์„ธ์„œ๋Š” ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ์™€ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ๊ณ ๊ธ‰ ์•„ํ‚คํ…์ฒ˜๋กœ, ํ˜„๋Œ€์˜ ๋Œ€๋‹ค์ˆ˜ ๊ณ ์„ฑ๋Šฅ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ์•„ํ‚คํ…์ฒ˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๋ช…๋ น์–ด ์ˆ˜ํ–‰์„ ๋ช…์‹œ์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ด์ง€ ์•Š์•„๋„ ์ž๋™์œผ๋กœ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์žฅ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 


 

๋น„์ˆœ์ฐจ์  ๋ช…๋ น์–ด ์ฒ˜๋ฆฌ์  ๊ธฐ๋ฒ•

๋น„์ˆœ์ฐจ์  ๋ช…๋ น์–ด ์ฒ˜๋ฆฌ์  ๊ธฐ๋ฒ•(Out-of-Order Execution)์€ ํ”„๋กœ์„ธ์„œ์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•œ ๊ธฐ์ˆ  ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ ๋ช…๋ น์–ด์˜ ์‹คํ–‰ ์ˆœ์„œ๋ฅผ ๋ช…๋ น์–ด๊ฐ€ ๋ฐœํ–‰๋œ ์ˆœ์„œ์™€ ๋‹ค๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•˜์—ฌ, ๋‹ค์ˆ˜์˜ ๋ช…๋ น์–ด๋ฅผ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰ํ•จ์œผ๋กœ์จ ํ”„๋กœ์„ธ์„œ์˜ ํ™œ์šฉ๋„๋ฅผ ๋†’์ด๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ๋ช…๋ น์–ด๋“ค์ด ๋™์‹œ์— ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.


๋น„์ˆœ์ฐจ์  ๋ช…๋ น์–ด ์ฒ˜๋ฆฌ์˜ ์ฃผ์š” ํŠน์ง•

  1. ๋ช…๋ น์–ด ๋ฐœํ–‰ (Issue): ๋ช…๋ น์–ด๊ฐ€ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ , ํ”„๋กœ์„ธ์„œ๊ฐ€ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋ช…๋ น์–ด๋ฅผ ์ž์œ ๋กญ๊ฒŒ ์„ ํƒํ•˜์—ฌ ๋ฐœํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ช…๋ น์–ด์˜ ์ข…์†์„ฑ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ , ๋™์‹œ์— ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋ช…๋ น์–ด๋ฅผ ์ฐพ์•„๋‚ด์–ด ๋ฐœํ–‰ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ช…๋ น์–ด ์™„๋ฃŒ (Commit): ๋ช…๋ น์–ด๋Š” ๋ฐœํ–‰๋œ ์ˆœ์„œ๋Œ€๋กœ๊ฐ€ ์•„๋‹ˆ๋ผ, ์‹คํ–‰์ด ์™„๋ฃŒ๋œ ์ˆœ์„œ์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ช…๋ น์–ด์˜ ์‹คํ–‰ ์ˆœ์„œ์™€ ๋ฐœํ–‰ ์ˆœ์„œ๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ, ์‹คํ–‰์ด ์™„๋ฃŒ๋œ ๋ช…๋ น์–ด๋ฅผ ๋จผ์ € ์™„๋ฃŒํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.
  3. ๋ช…๋ น์–ด ์˜ˆ์•ฝ (Reservation Stations): ๋ช…๋ น์–ด๊ฐ€ ๋ฐœํ–‰๋˜๋ฉด ํ•ด๋‹น ๋ช…๋ น์–ด์˜ ์‹คํ–‰์„ ์œ„ํ•œ ์ž์›์„ ์˜ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์˜ˆ์•ฝ๋œ ์ž์›์€ ๋ช…๋ น์–ด๊ฐ€ ์‹คํ–‰๋  ๋•Œ ์‚ฌ์šฉ๋˜๋ฉฐ, ์‹คํ–‰์ด ์™„๋ฃŒ๋˜๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์œ„ํ•ด ์ž์›์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  4. ๋ช…๋ น์–ด ์ค‘๋‹จ (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.

 

๋Œ“๊ธ€