League Of Legends - Link Select [๋ฉ€ํ‹ฐ์ฝ”์–ดCPU] 04. ๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ธ & ๋น„์ˆœ์ฐจ ์‹คํ–‰
๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿค“ Study/์ปดํ“จํ„ฐ ๊ตฌ์กฐ

[๋ฉ€ํ‹ฐ์ฝ”์–ดCPU] 04. ๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ธ & ๋น„์ˆœ์ฐจ ์‹คํ–‰

by GAMEMING 2024. 3. 31.
728x90

 

 

์ •๋‚ดํ›ˆ ๊ต์ˆ˜๋‹˜์ด ์ถ”์ฒœํ•œ ์ฑ…

ใ€Œ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋ชฐ๋ž๋˜ ๋ฉ€ํ‹ฐ์ฝ”์–ด CPU ์ด์•ผ๊ธฐใ€ - ๊น€๋ฏผ์žฅ ์ง€์Œ 

์œ„์˜ ์ฑ…์„ ํ† ๋Œ€๋กœ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์ด ์ž‘์„ฑ๋˜์—ˆ์Œ

 


 

 

 

- ํŒŒ์ดํ”„๋ผ์ธ(pipeline)

 : ์ž‘์—…์„ ์—ฌ๋Ÿฌ ๊ฐœ๋กœ ๋‚˜๋ˆ„๊ณ  ์„ธ๋ถ€ ๋‹จ๊ณ„๊ฐ€ ์„œ๋กœ ๋™์‹œ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ

 : ์—ฐ์†์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์žˆ์–ด ์ฒ˜๋ฆฌ์œจ์„ ๋†’์ด๋Š” ์ผ๋ฐ˜์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (๋ ˆ์ดํ„ด์‹œ ๊ฐœ์„  X)

 : ํ•ต์‹ฌ → ์žฌ์‚ฌ์šฉ / ๋ณ‘๋ ฌ ์‹คํ–‰

 : ์ด์ƒ์ ์ธ ์ฒ˜๋ฆฌ์œจ ์ฆ๊ฐ€๋Š” ํŒŒ์ดํ”„ ๋ผ์ธ ๋‹จ๊ณ„ ์ˆ˜๋งŒํผ ์ž„ → ์•„๋ž˜์˜ 4๊ฐ€์ง€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•จ

  1) ๊ท ๋“ฑํ•œ ํŒŒ์ดํ”„ ๋ผ์ธ ๋‹จ๊ณ„ (๊ฐ ๋‹จ๊ณ„๋Š” ๊ท ๋“ฑํ•œ ๊ธธ์ด๋กœ ๋‚˜๋‰จ)

  2) ๊ฐ™์€ ์ž‘์—… (ํ•ญ์ƒ ๊ฐ™์€ ์ž‘์—…๋งŒ ์ˆ˜ํ–‰ํ•จ)

  3) ๋…๋ฆฝ์ ์ธ ์ž‘์—… (ํˆฌ์ž…๋˜๋Š” ์ž‘์—…์€ ์„œ๋กœ ์˜์กด ๊ด€๊ณ„ X)

  4) ํŒŒ์ดํ”„ ๋ผ์ธ ์œ ์ง€ ๋น„์šฉ ์ตœ์†Œํ™” (์ตœ์ ์˜ ํŒŒ์ดํ”„ ๋ผ์ธ ๊นŠ์ด ์ฐพ์•„์•ผ ํ•จ) 

 

 : ๋ช…๋ น์–ด ์ฒ˜๋ฆฌ์œจ ๋†’์ด๋Š” ๋ฐฉ๋ฒ• ์ตœ๋Œ€ํ•œ ๋งŽ์€ ์ผ์„ ๋ณ‘๋ ฌ๋กœ ์ฒ˜๋ฆฌ ํ•ด์•ผ ํ•จ → ๋ณ‘๋ ฌ์„ฑ + ํ•˜๋“œ์›จ์–ด ์ง€์›

 : ex) ๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ธ : < ๋ช…๋ น์–ด ์ธ์ถœ → ๋ช…๋ น์–ด ํ•ด๋… → ํ”ผ์—ฐ์‚ฐ์ž ์ธ์ถœ → ๋ช…๋ น์–ด ์‹คํ–‰ → ๊ฒฐ๊ณผ ์ €์žฅ > ์ด ๋‹จ๊ณ„๋ฅผ ํŒŒ์ดํ”„ ๋ผ์ธ์œผ๋กœ ๋Œ๋ฆฌ๋Š” ๊ฒƒ

 : ํŒŒ์ดํ”„ ๋ผ์ธ ๋‹จ๊ณ„ ํ•˜๋‚˜๋Š” ํ•œ ์‚ฌ์ดํด ๋‚ด์— ์™„๋ฃŒ ๋˜์–ด์•ผ ํ•จ (๊ฐ€์žฅ ๊ธด ํŒŒ์ดํ”„ ๋ผ์ธ ๋‹จ๊ณ„๊ฐ€ ํ”„๋กœ์„ธ์„œ ํด๋ก ์†๋„ ๊ฒฐ์ •)

 

 : ๋ช…๋ น์–ด๊ฐ€ ์š”๊ตฌํ•˜๋Š” ์ž‘์—…์ด ๋‹ค๋ฅด๊ธฐ์— ์œ„์˜ ๋‘ ๋ฒˆ์งธ ์กฐ๊ฑด์ด ๋งŒ์กฑ ๋˜๊ธฐ ์–ด๋ ต๋‹ค

 : ์œ„์˜ ๊ณผ์ •๋Œ€๋กœ ์ง„ํ–‰ํ•˜๋ฉด ๋‚ด๋ถ€ ๋‹จํŽธํ™” ๋ฌธ์ œ ๋ฐœ์ƒ → ๋‹จ๊ณ„๋ฅผ ํ•ฉ์น˜๊ฑฐ๋‚˜ ๋‚˜๋ˆ  ํ•ด๊ฒฐ

 

 : ํŒŒ์ดํ”„ ๋ผ์ธ์˜ ๊นŠ์ด๋Š” ์„ฑ๋Šฅ์— ํฐ ์˜ํ–ฅ → ํด๋Ÿญ ์†๋„ ๊ฒฐ์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ 

 : ํŒŒ์ดํ”„ ๋ผ์ธ์˜ ๋‹จ๊ณ„๋ฅผ ๋” ์ž˜๊ฒŒ ๋‚˜๋ˆ„์–ด ๊ธธ๊ฒŒ ๋Š˜๋ฆฌ๋ฉด ๋น ๋ฅธ ํด๋ก ์–ป๊ธฐ ๊ฐ€๋Šฅํ•จ ( ๋„ˆ๋ฌด ์˜ฌ๋ ค๋ฒ„๋ฆฌ๋ฉด ์‹œ์Šคํ…œ ์„ฑ๋Šฅ ํ•˜๋ฝ ๊ฐ€๋Šฅ )

 

 

 

 - ํŒŒ์ดํ”„ ๋ผ์ธ ํ•ด์ €๋“œ(hazard)

  → ํ”„๋กœ์„ธ์„œ์—์„œ ์˜์กด์„ฑ์œผ๋กœ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ → ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• : stall (ํŒŒ์ดํ”„ ๋ผ์ธ ์ •์ง€) ?

 1) ๊ตฌ์กฐ ํ•ด์ €๋“œ (structual hazard) :  ํ”„๋กœ์„ธ์„œ์˜ ์ž์› ๋ถ€์กฑ์œผ๋กœ ์ธํ•œ ์Šคํ†จ →  ์ž์› ์ฆ๊ฐ€ ํ•„์š”

 2) ์ปจํŠธ๋กค ํ•ด์ €๋“œ (control hazard) : ํ”„๋กœ๊ทธ๋žจ์ด ๊ทผ๋ณธ์ ์œผ๋กœ ๊ฐ–๊ณ  ์žˆ๋Š” ์˜์กด์„ฑ์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒ(ex. ๋ถ„๊ธฐ๋ฌธ์˜ ๊ฒฐ๊ณผ ํ•„์š”๋กœ ์ธํ•œ stall ๋“ฑ) → ๋ถ„๊ธฐ์˜ˆ์ธก (์ถ”ํ›„ ๋‹ค๋ฃธ)

 3) ๋ฐ์ดํ„ฐ ํ•ด์ €๋“œ (data hazard) : ๋ฐ์ดํ„ฐ ์˜์กด์„ฑ๊ณผ ๋ฉ”๋ชจ๋ฆฌ ์˜์กด์„ฑ์œผ๋กœ ์ธํ•œ ๋ฐœ์ƒ → ๋ฐ”์ดํŒจ์Šค ์ด์šฉ

 : ๋ฐ”์ดํŒจ์Šค ์ด์ „ ๋‹จ๊ณ„์—์„œ ๊ณ„์‚ฐ๋œ ๊ฒฐ๊ณผ๋ฅผ ํ˜„์žฌ ๋‹จ๊ณ„์—์„œ ํ•„์š”๋กœ ํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉ, ๋ฐ์ดํ„ฐ๊ฐ€ ์•„์ง ํŒŒ์ดํ”„ ๋ผ์ธ์„ ํ†ตํ•ด ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ์ด๋™ํ•˜๊ธฐ ์ „์— ์ด๋ฏธ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ์— ์ด๋ฅผ ์ด์šฉ

 

 

 

- ๋น„์ˆœ์ฐจ ์‹คํ–‰

 : ํ”„๋กœ์„ธ์„œ๊ฐ€ ์ง์ ‘ ๋ช…๋ น์–ด ์‚ฌ์ด์˜ ์˜์กด์„ฑ์„ ๋ถ„์„ํ•ด ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋ช…๋ น์„ ๋ฏธ๋ฆฌ ์‹คํ–‰์‹œ์ผœ ์‹œ๊ฐ„ ๋‹จ์ถ•

 : ์Šˆํผ์Šค์นผ๋ผ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์กฐ → ํŒŒ์ดํ”„ ๋ผ์ธ์ด ์—ฌ๋Ÿฌ ๊ฐœ ์žˆ์–ด ๋ช…๋ น์–ด๋ฅผ ๋ณ‘๋ ฌ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ตฌ์กฐ

   1๋ณด๋‹คํฐ IPC ์–ป๊ฒŒ ํ•จ

 

 

 

- ์›๋ฆฌ) ๋ช…๋ น์–ด ์ˆ˜์ค€ ๋ณ‘๋ ฌ์„ฑ(Instruction Level Parallelism, ILP)

 : ๋น„์ˆœ์ฐจ ์‹คํ–‰์€ ILP๋ฅผ ์ฐพ์•„ ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„์— ๋”ฐ๋ผ ๋ช…๋ น์–ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ์ˆ 

 : '๋™์‹œ'์— ์‹คํ–‰๋˜๋Š” ๋ณ‘๋ ฌ์„ฑ์„ ์Šค๋ ˆ๋“œ ์ˆ˜์ค€ ๋ณ„๋ ฌ์„ฑ(TLP) → ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑ ์‹œ ์–ป๋Š” ๋ณ‘๋ ฌ์„ฑ

 ; ๋ฐ์ดํ„ฐ ์˜์กด์„ฑ๋งŒ ์ง€ํ‚จ๋‹ค๋ฉด ์‹ค์ œ ์‹คํ–‰ ์ˆœ์„œ๋Š” ๋ฐ”๋€Œ์–ด๋„ ๋ฌธ์ œ ์—†์Œ ILP