League Of Legends - Link Select [๋ฉ€ํ‹ฐ์ฝ”์–ดCPU] 03. ์˜์กด์„ฑ๊ณผ ํ”„๋กœ์„ธ์„œ ๊ธฐ๋ณธ ๋™์ž‘
๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿค“ Study/์ปดํ“จํ„ฐ ๊ตฌ์กฐ

[๋ฉ€ํ‹ฐ์ฝ”์–ดCPU] 03. ์˜์กด์„ฑ๊ณผ ํ”„๋กœ์„ธ์„œ ๊ธฐ๋ณธ ๋™์ž‘

by GAMEMING 2024. 3. 29.
728x90

 

 

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

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

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

 

 


 

 

- ๋ฐ์ดํ„ฐ ์˜์กด์„ฑ (Data dependence)

 : ๋ช…๋ น์–ด๋“ค ์‚ฌ์ด์˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„, ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฌธ๋งฅ์„ ๊ฒฐ์ •ํ•˜๋Š” ์ค‘์š” ์š”์†Œ

 : ์˜์กด์„ฑ์ด ์žˆ๋Š” ๋ช…๋ น์–ด → ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰๋˜์–ด์•ผ ํ•จ

 

 : ์ฝ๊ธฐ/์“ฐ๊ธฐ ์ˆœ์„œ์— ๋”ฐ๋ผ ๋ถ„๋ฅ˜๋จ

// RAW ์˜์กด์„ฑ
x = y + 1;
z = x * 2; 

// ๋ณ€์ˆ˜ x๋Š” 1๋ฒˆ ๋ช…๋ น์ด ๊ณ„์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ค๊ณ  2๋ฒˆ ๋ช…๋ น์ด ์ด๋ฅผ ์‚ฌ์šฉํ•จ
// ๋ณ€์ˆ˜ x์— Read - After - Write ์˜์กด์„ฑ์ด ์กด์žฌ



// WAR ์˜์กด์„ฑ
z = x * 2;
x = y + 1;

// ๋ณ€์ˆ˜ x์— Write - After - Read ์˜์กด์„ฑ์ด ์กด์žฌ



// WAW ์˜์กด์„ฑ
x = Z * 2;
x = y + 1;

// ๊ฐ™์€ ๋Œ€์ƒ์— ๊ฐ’์ด ์“ฐ์—ฌ์ง
// ๋ณ€์ˆ˜ x์— Write - After - Write ์˜์กด์„ฑ์ด ์กด์žฌ


// RAW ์˜์กด์„ฑ์€ ์ง„์งœ ์˜์กด์„ฑ, ๋‚˜๋จธ์ง€๋Š” ๊ฐ€์งœ ์˜์กด์„ฑ
// ๊ฐ€์งœ ์˜์กด์„ฑ์€ RAW์‹์œผ๋กœ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ

 

 

 

 

- ์ปจํŠธ๋กค ์˜์กด์„ฑ

 : ์‹คํ–‰ ํ๋ฆ„์œผ๋กœ ์ธํ•œ ์˜์กด์„ฑ  →  ์กฐ๊ฑด ๋ถ„๊ธฐ๋ฌธ

 : ๋ฌด์กฐ๊ฑด์ ์œผ๋กœ ๋ถ„๊ธฐ๋ฌธ์€ ์ปจํŠธ๋กค ์˜์กด์„ฑ์„ ๋งŒ๋“ค์ง„ ์•Š์Œ  →  ๋‹จ์ˆœ ํ•จ์ˆ˜ํ˜ธ์ถœ

 : PC๋ ˆ์ง€์Šคํ„ฐ์— ์˜ํ•œ RAW ๋ฐ์ดํ„ฐ ์˜์กด์„ฑ์œผ๋กœ๋„ ๋ณผ ์ˆ˜ ์žˆ์Œ

 

 

 

- ๋ฉ”๋ชจ๋ฆฌ ์˜์กด์„ฑ

 : ํฌ์ธํ„ฐ๋กœ ์ธํ•œ ๋ฉ”๋ชจ๋ฆฌ ์˜์กด์„ฑ ํŒŒ์•…์€ ์‰ฝ์ง€ ์•Š๋‹ค  →  ๊ทธ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์–ด๋–ค ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ๊ฐ€๋ฅดํ‚ค๊ณ  ์žˆ๋Š”์ง€์— ๋”ฐ๋ผ์„œ ์˜์กด์„ฑ ์—ฌ๋ถ€์™€ ์ข…๋ฅ˜๊ฐ€ ๊ฒฐ์ •๋จ

 : ์ฃผ์–ด์ง„ ๋ช…๋ น์–ด ์‚ฌ์ด์— ๋ฉ”๋ชจ๋ฆฌ ์˜์กด์„ฑ์˜ ์—ฌ๋ถ€๋ฅผ ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ  →  ๋ฉ”๋ชจ๋ฆฌ ๋ช…ํ™•ํ™” / ํฌ์ธํ„ฐ ๋ถ„์„

 

 

 

 - ๋ฃจํ”„ ์ „์ด ์˜์กด์„ฑ

 : RAW, WAR, WAW ์˜์กด์„ฑ ์กด์žฌ

 : ์–ด๋–ค ๋ฃจํ”„์ด๊ฑด ๋ฃจํ”„ ์ „์ด ์˜์กด์„ฑ์ด ์ œ๊ฑฐ๋˜๋ฉด ์ด ๋ฃจํ”„๋Š” ๋ณ‘๋ ฌํ™”๊ฐ€ ๊ฐ€๋Šฅํ•ด์ง

 : ๋ฃจํ”„ ๋ณ‘ํ•ฉ, ๋ฃจํ”„ ๋ฐ”๊พธ๊ธฐ ๊ฐ™์€ ์ตœ์ ํ™”๋„ ์˜์กด์„ฑ ๋ถ„์„์„ ํ•ด์•ผ๋งŒ ๊ฐ€๋Šฅ

or(int i=1; i<N; i++)
	A[i] = A[i-1] + 1;
// ๋ฃจํ”„ ์ˆœํ™˜์— ๋”ฐ๋ฅธ 2๋ฒˆ ๊ตฌ๋ฌธ์˜ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ
i=1: A[1] = A[0] + 1;
i=2: A[2] = A[1] + 1;	// A[1]์— ๋Œ€ํ•œ RAW ์˜์กด์„ฑ
i=3: A[3] = A[2] + 1;	// A[2]์— ๋Œ€ํ•œ RAW ์˜์กด์„ฑ

 

 


 

 

 →  ๋ช…๋ น์–ด ์‚ฌ์ด์˜ ์˜์กด์„ฑ์ด ์—†๋‹ค๋ฉด ์ด๋“ค์€ ์–ด๋–ค  ์ˆœ์„œ or ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰๋˜์–ด๋„ ์ƒ๊ด€ ์—†์Œ

 →  ์˜์กด์„ฑ ๋ถ„์„์„ ํ†ตํ•ด ์–ด๋–ค ์ˆœ์„œ ํ˜น์€ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰๋˜์–ด๋„ ์ƒ๊ด€์ด ์—†๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์Œ (๋ช…๋ น์–ด ์‹คํ–‰ ์ˆœ์„œ๋ฅผ ์ •ํ•  ์ˆ˜ ์žˆ์Œ). ์ด๋ฅผ ๋ช…๋ น์–ด ์žฌ๋ฐฐ์น˜ / ๋ช…๋ น์–ด ์Šค์ผ€์ค„๋ง ์ตœ์ ํ™”๋ผ ํ•จ

 

 

 

 

- CPU์˜ ๋ช…๋ น์–ด ์ฒ˜๋ฆฌ 

 1) ALU ์—ฐ์‚ฐ : ์‚ฌ์น™, ๋…ผ๋ฆฌ ์—ฐ์‚ฐ

 2) ๋ฉ”๋ชจ๋ฆฌ ๋กœ๋“œ : ํ”ผ์—ฐ์‚ฐ์ž์— ๊ธฐ๋ก๋œ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๊ตฌํ•ด ์ง€์ •๋œ ๋ ˆ์ง€์Šคํ„ฐ์— ๊ฐ’์„ ์”€

 3) ๋ฉ”๋ชจ๋ฆฌ ์Šคํ† ์–ด : ์ฃผ์–ด์ง„ ๋ ˆ์ง€์Šคํ„ฐ์˜ ๋‚ด์šฉ์„ ์ง€์ •๋œ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์— ์”€

 4) ๋ถ„๊ธฐ๋ฌธ : ์ฃผ์–ด์ง„ ์กฐ๊ฑด์„ ๊ณ„์‚ฐํ•ด ๋‹ค์Œ ์ˆ˜ํ–‰๋  PC์–ป์Œ

 

 

 

- ๋ช…๋ น์–ด ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•

 1) ๋ช…๋ น์–ด ์ธ์ถœ

   : ์ฒ˜๋ฆฌํ•  ๋ช…๋ น์–ด๋ฅผ IP/PC ๋ ˆ์ง€์Šคํ„ฐ๊ฐ€ ๊ฐ€๋ฅดํ‚ค๊ณ  ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋กœ๋ถ€ํ„ฐ ๊ฐ€์ ธ์˜ด

 2) ๋ช…๋ น์–ด ํ•ด๋…

   : ๋ช…๋ น์–ด๊ฐ€ ์–ด๋–ค ์ผ์„ ํ•ด์•ผ ํ•˜๋Š”์ง€ ํŒŒ์•…

 3) ํ”ผ์—ฐ์‚ฐ์ž ์ธ์ถœ

   : ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ์ฝ์Œ → ์ฃผ์†Œ๋ชจ๋“œ์— ๋”ฐ๋ผ ๋ ˆ์ง€์Šคํ„ฐ / ์ƒ์ˆ˜ / ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋กœ ๋ฒˆ์—ญ๋จ

   : ์ƒ์ˆ˜๋Š” ์ธ์ฝ”๋”ฉ๋˜์–ด ์žˆ์–ด ํ•ด๋… ๋‹จ๊ณ„์—์„œ ์ฝ์€ ๋‚ด์šฉ์„ ๋ฐ”๋กœ ์“ธ ์ˆ˜ ์žˆ์Œ

   : ๋ ˆ์ง€์Šคํ„ฐ๋Š” ๋ชฉ์ ์— ๋”ฐ๋ผ ๋ฒ”์šฉ ๋ชฉ์  ๋ ˆ์ง€์Šคํ„ฐ, ๋ถ€๋™ ์†Œ์ˆ˜์  ๋ ˆ์ง€์Šคํ„ฐ, ์ปจํŠธ๋กค ๋ ˆ์ง€์Šคํ„ฐ, ๋””๋ฒ„๊ทธ ๋ ˆ์ง€์Šคํ„ฐ, PC๊ฐ€ ์žˆ์Œ

   : ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฅดํ‚ค๋ฉด ๊ฐ€์ ธ์˜ฌ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ฃผ์†Œ์™€ ๊ทธ ์ฃผ์†Œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์Œ

 4) ๋ช…๋ น์–ด ์‹คํ–‰

   : ์ง€์‹œ์— ๋”ฐ๋ผ ์‹ค์ œ ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•จ

 5) ๊ฒฐ๊ณผ ์ €์žฅ