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์ด ๋๋ค.