์ปดํ“จํ„ฐ ๊ตฌ์กฐ - ๋‹ค์ค‘ ์ธํ„ฐ๋ŸฝํŠธ, ๊ฐ„์ ‘ ์‚ฌ์ดํด, ๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ธ

2020. 9. 15. 21:55ใ†์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

์ปดํ“จํ„ฐ ๊ตฌ์กฐ - ๋‹ค์ค‘ ์ธํ„ฐ๋ŸฝํŠธ, ๊ฐ„์ ‘ ์‚ฌ์ดํด, ๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ธ

 

๋‹ค์ค‘ ์ธํ„ฐ๋ŸฝํŠธ

- ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์ด ์ˆ˜ํ–‰๋˜๋Š” ๋„์ค‘ ๋‹ค๋ฅธ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ.

 

๋‹ค์ค‘ ์ธํ„ฐ๋ŸฝํŠธ์˜ ์ฒ˜๋ฆฌ๋ฐฉ๋ฒ•

  1. ์ƒˆ๋กœ์šด ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋“ค์–ด์˜ค๋”๋ผ๋„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๋Š”๋‹ค. (์ธํ„ฐ๋ŸฝํŠธ ํ”Œ๋ž˜๊ทธ๋ฅผ 0์œผ๋กœ)

  2. ์ธํ„ฐ๋ŸฝํŠธ์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ •ํ•˜๊ณ  ๋†’์€ ์šฐ์„ ์ˆœ์œ„์˜ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋“ค์–ด์˜จ๋‹ค๋ฉด ๊ธฐ์กด์˜ ๊ฒƒ์„ ์ค‘๋‹จํ•˜๊ณ  ์ƒˆ๋กœ์šด ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ฒ˜๋ฆฌ.

 

 

๊ฐ„์ ‘ ์‚ฌ์ดํด

- ๋ช…๋ น์–ด์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•˜์—ฌ, ๊ทธ ๋ช…๋ น์–ด ์‹คํ–‰์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ์˜ ์ฃผ์†Œ๋ฅผ ์ธ์ถœํ•˜๋Š” ์‚ฌ์ดํด --> ๊ฐ„์ ‘ ์ฃผ์†Œ์ง€์ • ๋ฐฉ์‹

- ์ธ์ถœ ์‚ฌ์ดํด๊ณผ ์‹คํ–‰ ์‚ฌ์ดํด ์‚ฌ์ด์— ์œ„์น˜

- t0 : MAR <- IR(addr)

  t1 : MBR <- M[MAR]

  t2 : IR(addr) <- MBR

 

์ฒ˜์Œ IR์˜ addr์— ํ•ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„์—๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๊ณ ์žˆ๋Š” ์ฃผ์†Œ๋ฅผ ๋‹ด์€ ์ฃผ์†Œ๊ฐ€ ๋‹ด๊ฒจ์žˆ๋‹ค. ์ฆ‰ IR์˜ addr์„ ์ฐธ์กฐํ•˜๋”๋ผ๋„ ๋ฐ์ดํ„ฐ์˜ ๊ฐ’์ด ์•„๋‹Œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์€ ์ฃผ์†Œ๋ฅผ ์ฐธ์กฐํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ๋•Œ๋ฌธ์— ์ด ๊ฐ™์€ ๊ฐ„์ ‘์‚ฌ์ดํด์ด ์‚ฌ์šฉ๋œ๋‹ค. 

 

 

๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ด๋‹(instruction pipelining)

-CPU์˜ ํ”„๋กœ๊ทธ๋žจ ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•˜์—ฌ CPU ๋‚ด๋ถ€ ํ•˜๋“œ์›จ์–ด๋ฅผ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ„์–ด ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ์ˆ 

 

2-๋‹จ๊ณ„ ๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ธ

- ์ธ์ถœ ๋‹จ๊ณ„์™€ ์‹คํ–‰ ๋‹จ๊ณ„๋ผ๋Š” ๋‘ ๊ฐœ์˜ ๋…๋ฆฝ์ ์ธ ํŒŒ์ดํ”„๋ผ์ธ ๋ชจ๋“ˆ๋กœ ๋ถ„๋ฆฌ

 

์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ฒซ๋ฒˆ์จฐ ๋ช…๋ น์–ด๊ฐ€ ์ธ์ถœ๋˜๋ฉด ์‹คํ–‰๋จ๊ณผ ๋™์‹œ์— ๋ช…๋ น์–ด 2๊ฐ€ ์ธ์ถœ์ด ๋œ๋‹ค. ์ด๋ฅผ 2-๋‹จ๊ณ„ ๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ธ์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

2-๋‹จ๊ณ„ ๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ธ ๋ฌธ์ œ์ 

- ๋‘ ๋‹จ๊ณ„์˜ ์ฒ˜๋ฆฌ์‹œ๊ฐ„์ด ๋™์ผํ•˜์ง€ ์•Š์œผ๋ฉด ๋‘ ๋ฐฐ์˜ ์†๋„ ํ–ฅ์ƒ x

Solution) ๋‹จ๊ณ„์˜ ์ˆ˜๋ฅผ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.

 

4-๋‹จ๊ณ„ ๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ธ

๋ช…๋ น์–ด ์ธ์ถœ(IF) -> ๋ช…๋ น์–ด ํ•ด๋…(ID) -> ์˜คํผ๋žœ๋“œ ์ธ์ถœ(OF) -> ์‹คํ–‰(EX)

 

ํŒŒ์ดํ”„๋ผ์ธ์— ์˜ํ•œ ์‹คํ–‰ ์‹œ๊ฐ„

  • ํŒŒ์ดํ”„๋ผ์ธ ๋‹จ๊ณ„ ์ˆ˜ = k
  • ์‹คํ–‰ํ•  ๋ช…๋ น์–ด๋“ค์˜ ์ˆ˜ = N
  • ์ „์ฒด ๋ช…๋ น์–ด ์‹คํ–‰์‹œ๊ฐ„ = Tk

๊ฐ ํŒŒ์ดํ”„๋ผ์ธ ๋‹จ๊ณ„๊ฐ€ ํ•œ ํด๋Ÿญ ์ฃผ๊ธฐ์”ฉ ๊ฑธ๋ฆฐ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž.

->  Tk = k + (N-1)

์ฆ‰ ์ฒซ๋ฒˆ์งธ ๋ช…๋ น์–ด๊ฐ€ ์ผ์–ด๋‚˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„ k + ๋‘๋ฒˆ์จฐ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰๊นŒ์ง€๋Š” 1๋ฒˆ์”ฉ ์ฆ๊ฐ€ํ•˜๋ฏ€๋กœ (N-1)๋ฒˆ

 = k+ (N-1)์ด ๋œ๋‹ค. (1์„ ๋บด์ฃผ๋Š” ์ด์œ ๋Š” ์ฒซ๋ฒˆ์จฐ ๋ช…๋ น์–ด๋Š” ์•ž์—์„œ ์นด์šดํŠธ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ)

 

ํŒŒ์ดํ”„๋ผ์ธ์ด ๋˜์ง€ ์•Š์•˜์„ ๋•Œ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์€ ์–ด๋–ป๊ฒŒ ๋ ๊นŒ?

- k X N์ด ๋œ๋‹ค. ๋ช…๋ น์–ด์˜ ๋‹จ๊ณ„๊ฐ€ 4์ด๊ณ  ์ˆ˜๊ฐ€ 10์ด๋ผ๋ฉด 40์ด ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ์ด๋‹ค. 

 

์†๋„ ํ–ฅ์ƒ์€ ์ด๋ ‡๋‹ค.

T1์€ ํŒŒ์ดํ”„๋ผ์ธ์ด ๋˜์ง€ ์•Š์•˜์„ ๋–„, 

Tk๋Š” ํŒŒ์ดํ”„๋ผ์ธ์ด ํ˜•์„ฑ ๋˜์—ˆ์„ ๋•Œ์ด๋‹ค.

 

ํŒŒ์ดํ”„๋ผ์ธ์˜ ํšจ์œจ ์ €ํ•˜ ์š”์ธ๋“ค

  • ๋ชจ๋“  ๋ช…๋ น์–ด๋“ค์ด ๋‹จ๊ณ„๋“ค์„ ๋ชจ๋‘ ๊ฑฐ์น˜์ง€๋Š” ์•Š์Œ.
  • ํŒŒ์ดํ”„๋ผ์ธ์˜ ํด๋ก(์‹œ๊ฐ„)์€ ๊ฐ€์žฅ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ๋‹จ๊ณ„๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฒฐ์ •
  • IF์™€ OF๋ฅผ ๋™์‹œ์— ๊ธฐ์–ต์žฅ์น˜๋ฅผ ์—‘์„ธ์Šคํ•  ์‹œ, ๊ธฐ์–ต์žฅ์น˜ ์ถฉ๋Œ ๊ฐ€๋Šฅ
  • ์กฐ๊ฑด ๋ถ„๊ธฐ ๋ช…๋ น์–ด --> ๋ฏธ๋ฆฌ ์ธ์ถœํ•˜์—ฌ ์ฒ˜๋ฆฌํ•˜๋˜ ๊ฒƒ๋“ค์ด ๋ฌดํšจ๋จ

๋„ค๋ฒˆ์งธ์˜ ์กฐ๊ฑด ๋ถ„๊ธฐ์— ๋Œ€ํ•ด์„œ ์กฐ๊ธˆ๋งŒ ์‚ดํŽด๋ณด์ž๋ฉด, ์˜ˆ๋ฅผ ๋“ค์–ด ๋ช…๋ น์–ด 4๋ฒˆ์—์„œ ๋งŒ์•ฝ ๊ฒฐ๊ณผ๊ฐ’์ด 0์ด๋ผ๋ฉด ๋ช…๋ น์–ด 12๋กœ ๋›ฐ๋Š” Jump๊ฐ€ ์™”๋‹ค๊ณ  ํ•ด๋ณด์ž. ์ด๋•Œ ๋ช…๋ น์–ด 4๋Š” ์ธ์ถœํ•˜๊ณ  ์‹คํ–‰์ด ๋˜๊ณ  ๋ช…๋ น์–ด 12๋กœ ๋›ฐ๊ฒŒ ๋œ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ ์‚ฌ์ด์— ์‹คํ–‰ ๋œ ๋ช…๋ น์–ด 5,6์€ ์‹คํ–‰์ „๊นŒ์ง€์˜ ๋‹จ๊ณ„(์ธ์ถœ ๋ฐ IF๋‹จ๊ณ„)์ผ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ด ๋ช…๋ น์–ด๋“ค์€ ๋ฌดํšจํ™”๊ฐ€ ๋œ๋‹ค.

 

์ด๋ฅผ ์ตœ์†Œํ•œ์œผ๋กœ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์ด ์กด์žฌํ•œ๋‹ค.

  • ๋ถ„๊ธฐ ์˜ˆ์ธก --> ๋ถ„๊ธฐ๋ฅผ ์˜ˆ์ธกํ•˜๊ณ  ๊ทธ์— ๋”ฐ๋ฅธ ๋ช…๋ น์–ด๋ฅผ ์ธ์ถœ
  • ๋ถ„๊ธฐ ๋ชฉ์ ์ง€ ์„ ์ธ์ถœ --> ์กฐ๊ฑด ๋ถ„๊ธฐ ์ธ์‹ ์‹œ์—, ๋ถ„๊ธฐ์˜ ๋ชฉ์ ์ง€ ๋ช…๋ น์–ด๋„ ๊ฐ™์ด ์ธ์ถœ
  • ๋ฃจํ”„ ๋ฒ„ํผ ์‚ฌ์šฉ --> ๋ฐ˜๋ณต๋˜๋Š” ๋ช…๋ น์–ด๋“ค์„ ์ž‘์€ ๊ณ ์† ๊ธฐ์–ต์žฅ์น˜์ธ ๋ฃจํ”„ ๋ฒ„ํผ์— ์ €์žฅํ•ด๋‘์–ด ์‚ฌ์šฉ
  • ์ง€์—ฐ ๋ถ„๊ธฐ  --> ๋ถ„๊ธฐ ๋ช…๋ น์–ด์˜ ์œ„์น˜๋ฅผ ์žฌ๋ฐฐ์น˜

์ƒํƒœ ๋ ˆ์ง€์Šคํ„ฐ

- ์กฐ๊ฑด๋ถ„๊ธฐ ๋ช…๋ น์–ด๊ฐ€ ์‚ฌ์šฉํ•  ์กฐ๊ฑด ํ”Œ๋ž˜๊ทธ๋“ค ์ €์žฅ

 

S Z C X E V I P

๋ถ€ํ˜ธ (S) ํ”Œ๋ž˜๊ทธ : 0์ด๋ฉด ์–‘์ˆ˜ 1์ด๋ฉด ์Œ์ˆ˜

์˜(Z) ํ”Œ๋ž˜๊ทธ : ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๊ฐ’์ด 0 ์ด๋ฉด, 1

์˜ฌ๋ฆผ์ˆ˜(C) ํ”Œ๋ž˜๊ทธ : ๋ง์…ˆ ๋ฐ ๋บ„์…ˆ์—์„œ ์˜ฌ๋ฆผ์ˆ˜๋‚˜ ๋นŒ๋ฆผ์ˆ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ 1๋กœ ์„ธํŠธ

๋™๋“ฑ(E) ํ”Œ๋ž˜๊ทธ : ๊ฐ™์œผ๋ฉด 1๋กœ ์„ธํŠธ

์˜ค๋ฒ„ํ”Œ๋กœ์šฐ(V) ํ”Œ๋ž˜๊ทธ : ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ๋ฐœ์ƒํ•˜๋ฉด 1๋กœ ์„ธํŠธ

์ธํ„ฐ๋ŸฝํŠธ(I) ํ”Œ๋ž˜๊ทธ : ์ธํ„ฐ๋ŸฝํŠธ ๊ฐ€๋Šฅ์ด๋ฉด 0, ๋ถˆ๊ฐ€๋Šฅ์ด๋ฉด 1

์Šˆํผ๋ฐ”์ด์ €(P) ํ”Œ๋ž˜๊ทธ : ์‚ฌ์šฉ์ž ๋ชจ๋“œ๋ฉด 0, ์Šˆํผ๋ฐ”์ด์ € ๋ชจ๋“œ๋ฉด 1๋กœ ์„ธํŠธ

 

 

์Šˆํผ์Šค์นผ๋ผ

- CPU ๋‚ด๋ถ€์— ๋‘๊ฐœ ํ˜น์€ ๊ทธ ์ด์ƒ์˜ ๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ธ๋“ค์„ ํฌํ•จ์‹œํ‚จ ๊ตฌ์กฐ

- ๋งค ํด๋ก ์ฃผ๊ธฐ๋งˆ๋‹ค ๊ฐ ๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ธ์ด ๋ณ„๋„์˜ ๋ช…๋ น์–ด๋ฅผ ์ธ์ถœ --> ์†๋„๊ฐ€ ํŒŒ์ดํ”„๋ผ์ธ์˜ ์ˆ˜๋งŒํผ ํ–ฅ์ƒ

- ํŒŒ์ดํ”„๋ผ์ธ ์ˆ˜ =  m  (m-way : ์Šˆํผ์Šค์นผ๋ผ) 

 

m-way ์Šˆํผ์Šค์นผ๋ผ์— ์˜ํ•œ ์‹คํ–‰ ์‹œ๊ฐ„์€ ์ด๋ ‡๋‹ค.

 

T(m) = k + N-m/m ์ฆ‰ ์ฒซ๋ฒˆ์งธ ๋ช…๋ น์–ด ์‹œ๊ฐ„ k + ์ฒซ๋ฒˆ์งธ ํŒŒ์ดํ”„๋ผ์ธ ๊ฐฏ์ˆ˜๋ฅผ ๋บ€ ๊ฒƒ์„ m์˜ ๊ฐฏ์ˆ˜๋กœ ๋‚˜๋ˆˆ ๊ฒƒ์ด๋‹ค.

 

์‘์šฉํ•ด์„œ ์ŠˆํผํŒŒ์ดํ”„๋ผ์ธ๊นŒ์ง€ ์•Œ์•„๋ณด์ž

 

์ŠˆํผํŒŒ์ดํ”„๋ผ์ธ์€ ๋‹จ๊ณ„๋ฅผ ๋ถ„ํ• ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋‹จ๊ณ„๋ฅผ ๋ถ„ํ• ํ•œ๋‹ค๋ฉด ์ธ์ถœ๋’ค์— ์˜ค๋Š” ์‹คํ–‰์ด ์กฐ๊ธˆ ๋” ๋นจ๋ผ์งˆ ๊ฒƒ์ด๋ฉฐ ๊ทธ ๋นจ๋ผ์ง„ ๊ฐ’์€ ๊ฒฐ๊ตญ ๋๋‚˜๋Š” ๊ฒƒ์—๋„ ์˜ํ–ฅ์„ ์ค€๋‹ค.

๋งŒ์•ฝ ์ŠˆํผํŒŒ์ดํ”„๋ผ์ธ์ด n์ด๋ผ๋ฉด ๊ธฐ์กด์˜ T(k) = k + (N-1) ์—์„œ T(k) = k + 1/n(N-1)์ด ๋œ๋‹ค. 

 

๊ทธ๋ ‡๋‹ค๋ฉด ์Šˆํผ์Šค์นผ๋ผ์™€ ์ŠˆํผํŒŒ์ดํ”„๋ผ์ธ ๋‘˜ ๋‹ค ์กด์žฌํ•œ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ?

ํ‘œ๊ธฐ๋Š” ์ด๋ ‡๋‹ค.

 

T(N,M)์ด ์žˆ์„ ๋•Œ N์€ ์Šˆํผ์Šค์นผ๋ผ์˜ ํฌ๊ธฐ M์€ ์ŠˆํผํŒŒ์ดํ”„๋ผ์ธ์˜ ์ •๋„์ด๋‹ค.

์˜ˆ๋ฅผ๋“ค์–ด T(2,3)์ด ์žˆ์„ ๋•Œ ์Šˆํผ์Šค์นผ๋ผ์˜ ํฌ๊ธฐ๋Š” 2์ด๊ณ  ์ŠˆํผํŒŒ์ดํ”„๋ผ์ธ์˜ ์ •๋„๋Š” 3์ด๋‹ค.

๊ณ ๋กœ T(2,3)์˜ T(k) = k + (N-2)/mn์ด ๋œ๋‹ค.