๐ง ์บ์ ์ฑ๋ฅ ์ธก์
ํด๋น ๊ธ์์ CPU ์๊ฐ(time)์ ๋ํด ์ ๊น ์ดํด๋ณด์๋ฏ์ด, CPU ์๊ฐ์ ํด๋ญ ์ฌ์ดํด์ ์์ ํด๋ญ ์ฌ์ดํด ์๊ฐ์ ๊ณฑ์ผ๋ก ํํํ ์ ์์์ต๋๋ค.
์ด๋ ํด๋ญ ์ฌ์ดํด์ ์๋ ๋ค์ CPU๊ฐ ํ๋ก๊ทธ๋จ์ ์ํํ๋ ๋ฐ ์ด ํด๋ญ ์ฌ์ดํด๊ณผ, ๋ฉ๋ชจ๋ฆฌ ์์คํ ์ ๊ธฐ๋ค๋ฆฌ๋ ๋ฐ ์ฌ์ฉํ ํด๋ญ ์ฌ์ดํด๋ก ๋๋์ด๋ณผ ์ ์์ต๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ ์ค ์๊ฐ(hit time)์ CPU ํด๋ญ ์ฌ์ดํด์ ์ผ๋ถ๋ก ๊ฐ์ฃผํฉ๋๋ค.
CPU Time = (CPU ํด๋ญ ์ฌ์ดํด(hit time ํฌํจ) + ๋ฉ๋ชจ๋ฆฌ ์ง์ฐ ํด๋ญ ์ฌ์ดํด) X ํด๋ญ ์ฌ์ดํด ์๊ฐ(Clock Cycle Time)
๋ฉ๋ชจ๋ฆฌ ์ง์ฐ ํด๋ญ ์ฌ์ดํด์ ์ฃผ๋ก ์บ์ ์คํจ ๋๋ฌธ์ ๋ฐ์ํ๋ฉฐ, ์ฝ๊ธฐ์ ์ฐ๊ธฐ ์์ ๋ฐ์๋๋ ์ง์ฐ ์ฌ์ดํด์ ํฉ์ผ๋ก ์ ์ํ ์ ์์ต๋๋ค.
๋ฉ๋ชจ๋ฆฌ ์ง์ฐ ํด๋ญ ์ฌ์ดํด = ์ฝ๊ธฐ ์ง์ฐ ์ฌ์ดํด + ์ฐ๊ธฐ ์ง์ฐ ์ฌ์ดํด
์ฝ๊ธฐ ์ง์ฐ ์ฌ์ดํด์ ํ๋ก๊ทธ๋จ๋น ์ฝ๊ธฐ ์ ๊ทผ์ ์์ ์ฝ๊ธฐ ์์ ์คํจ ์์ค(miss penalty) ํด๋ญ ์ฌ์ดํด์ ์, ์ฝ๊ธฐ ์คํจ์จ์ ์ํด ์ ์๋ฉ๋๋ค.
์ฝ๊ธฐ ์ง์ฐ ์ฌ์ดํด = $\frac{์ฝ๊ธฐ ์ ๊ทผ ํ์} {ํ๋ก๊ทธ๋จ}$ $\times$ ์ฝ๊ธฐ ์คํจ์จ $\times$ ์ฝ๊ธฐ Miss Penalty
์ฐ๊ธฐ์ ๊ฒฝ์ฐ๋ ๋ ๋ณต์กํฉ๋๋ค.
์ฐ๊ธฐ ์ง์ฐ ์ฌ์ดํด = $\frac{์ฐ๊ธฐ ์ ๊ทผ ํ์} {ํ๋ก๊ทธ๋จ}$ $\times$ ์ฐ๊ธฐ ์คํจ์จ $\times$ ์ฐ๊ธฐ Miss Penalty + ์ฐ๊ธฐ ๋ฒํผ ์ง์ฐ
๊ทธ๋ฌ๋ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์ฐ๊ธฐ ๋ฒํผ ์ง์ฐ์ด ๋งค์ฐ ์๊ธฐ ๋๋ฌธ์ ๋ฌด์ํ ์ ์์ต๋๋ค.
์ด๋ก ์ธํด ๋๋ถ๋ถ์ ์ฆ์ ์ฐ๊ธฐ(write through) ์บ์ ๊ตฌํ ๋ฐฉ์์์ ์ฝ๊ธฐ ์คํจ ์์ค๊ณผ ์ฐ๊ธฐ ์คํจ ์์ค์ ๊ฐ์ต๋๋ค.
๋ฐ๋ผ์ ๋ฉ๋ชจ๋ฆฌ ์ง์ฐ ํด๋ญ ์ฌ์ดํด์ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ ์ ์์ต๋๋ค.
๋ฉ๋ชจ๋ฆฌ ์ง์ฐ ํด๋ญ ์ฌ์ดํด = $\frac{๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ํ์} {ํ๋ก๊ทธ๋จ}$ $\times$ ์คํจ์จ $\times$ Miss Penalty
๋ค์๊ณผ ๊ฐ์ด ์ธ ์๋ ์์ต๋๋ค.
๋ฉ๋ชจ๋ฆฌ ์ง์ฐ ํด๋ญ ์ฌ์ดํด = $\frac{Intstructions} {ํ๋ก๊ทธ๋จ}$ $\times$ $\frac{Misses} {๋ช ๋ น์ด}$ $\times$ Miss Penalty
๐ง ์์
๋ค์๊ณผ ๊ฐ์ด ์ฃผ์ด์ก์ ๋, ์ฑ๋ฅ์ ์ธก์ ํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
- Instruction Cache Miss Rate(๋ช ๋ น์ด ์บ์ ์คํจ์จ) = 2%
- Data Cache Miss Rate(๋ฐ์ดํฐ ์บ์ ์คํจ์จ) = 4%
- Miss penalty(์คํจ ์์ค) = 100 Cycle
- ๋ฉ๋ชจ๋ฆฌ ์ง์ฐ์ด ์์ ๋ CPI = 2 (ํ์ดํ๋ผ์ธ์ ์ง์ฐ ๋ฑ์ ๊ณ ๋ ค)
- Load & Store ๋ช ๋ น์ด๋ ์ ์ฒด ๋ช ๋ น์ด์ 36%
์ฐ์ ๋ช ๋ น์ด ์๊ฐ I์ผ ๋, ๋ช ๋ น์ด ์บ์์ ๋ฐ์ดํฐ ์บ์ ๊ฐ๊ฐ์ ์คํจ ์ฌ์ดํด์ ๊ตฌํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๋ช ๋ น์ด ์บ์๋ ๋ชจ๋ ๋ช ๋ น์ด์ ์คํ ์๋ง๋ค ์ ๊ทผํฉ๋๋ค.
๋ช ๋ น์ด ์บ์ ์คํจ ์ฌ์ดํด = I $\times$ 0.02 $\times$ 100 = 2 $\times$ I
๋ฐ์ดํฐ ์บ์๋ ๋ช ๋ น์ด ์บ์์๋ ๋ค๋ฅด๊ฒ ํน์ ๋ช ๋ น์ด(ld, sd)์์๋ง ์ ๊ทผํฉ๋๋ค.
๋ฐ์ดํฐ ์บ์ ์คํจ ์ฌ์ดํด = I $\times$ 0.36 $\times$ 0.04 $\times$ 100 = 1.44 $\times$ I
์ด๋ฅผ ํตํด ๋ฉ๋ชจ๋ฆฌ ์ง์ฐ์ ํฌํจํ ์ค์ CPI(๋ช ๋ น์ด ๋น Cycle ์)๋ฅผ ๊ตฌํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
CPI = 2 + 2 + 1.44 = 5.44
๋ง์ฝ ์ง์ฐ์ด ๋ฐ์ํ์ง ์๋ ์๋ฒฝํ ์บ์(์ฆ CPI = 2)๊ฐ ์๋ค๋ฉด, ์ฑ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ด ์ข์์ง๋๋ค.
$\frac{5.44}{2}$ = 2.72๋ฐฐ
๐ง ๋ฉ๋ชจ๋ฆฌ ์์คํ ๊ณผ ํ๋ก์ธ์์ ์ฑ๋ฅ ์ฌ์ด์ ๊ด๊ณ
๋ฉ๋ชจ๋ฆฌ ์์คํ ์ ๊ทธ๋๋ก์ผ ๋, CPU๋ง์ ๋ ๋น ๋ฅด๊ฒ ๋ง๋ ๋ค๋ฉด ๋ฉ๋ชจ๋ฆฌ ์ง์ฐ์ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ์ ์ฒด ์คํ์๊ฐ ์ค์์ ๋ ํฐ ๋ถ๋ถ์ ์ฐจ์งํ๊ฒ ๋ ๊ฒ์ ๋๋ค.
์๋ฅผ ๋ค์ด, ์์ ์์ ์ํฉ์์ ํด๋ญ ์๋(ํด๋ญ ์ฌ์ดํด ์๊ฐ์ ์ญ์)๋ ๋ณํ์ํค์ง ์๊ณ , CPU์ ์ฑ๋ฅ์ ๋์ฌ CPI๊ฐ 2์์ 1๋ก ์ค์ด๋ค์๋ค๊ณ ๊ฐ์ ํ๊ฒ ์ต๋๋ค.
ํ์ดํ๋ผ์ธ์ ๊ฐ์ ํ๋ฉด ์ด๋ ๊ฒ ๋ง๋ค์ด๋ผ ์ ์์ต๋๋ค.
์ด๋ ์บ์ ์คํจ๊ฐ ์๋ ์์คํ ์ CPI๋ 1 + 2 + 1.44 = 4.44๊ฐ ๋๋ฏ๋ก, ์๋ฒฝํ ์บ์๋ฅผ ๊ฐ๋ ์์คํ ์ด $\frac{4.44}{1}$ = 4.44๋ฐฐ ๋ ๋น ๋ฅด๊ฒ ๋ฉ๋๋ค.
์คํ์๊ฐ ์ค ๋ฉ๋ชจ๋ฆฌ ์ง์ฐ์ ์ฐ์ธ ์ฌ์ดํด์ ๋น์จ๋ก์จ ๋น๊ตํ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$\frac{3.44}{5.44}$ = 63% ์์ $\frac{3.44}{4.44}$ = 77%๋ก ์ฆ๊ฐํฉ๋๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก ๋ฉ๋ชจ๋ฆฌ ์์คํ ์ ๋ณํ ์์ด ํด๋ญ ์๋๋ฅผ ์ฆ๊ฐ์ํค๋ ๊ฒ ๋ํ ์บ์ ์คํจ๋ก ์ธํ ์ฑ๋ฅ ์์ค์ ์ฆ๊ฐ์ํต๋๋ค.
๋ฉ๋ชจ๋ฆฌ ์ง์ฐ์ด ๋ ๋ง์ ํด๋ญ ์ฌ์ดํด์ ์ฌ์ฉํ๊ฒ ๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
๐ง ์บ์ ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํ ๋ฐฉ๋ฒ
์์ ์์ ์ ์๋ค์ ํตํ์ฌ ๋ค์์ ํตํด ์บ์์ ์ฑ๋ฅ์ ๋์ผ ์ ์์์ ์ดํด๋ณด์์ต๋๋ค.
Miss Rate(์บ์ ์คํจ์จ) ์ค์ด๊ธฐ
ex) associative cache
Miss penalty(์คํจ ์์ค) ์ค์ด๊ธฐ
ex) multi-level cache
๋ํ ์์ ์์ ์ ์๋ค์์๋ ์ ์ค ์๊ฐ์ ์บ์์ ์ฑ๋ฅ์ ๊ฒฐ์ ํ์ง ์์ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค.
๊ทธ๋ฌ๋ ์ ์ค์๊ฐ์ด ์ฆ๊ฐํ๋ค๋ฉด ๋ฉ๋ชจ๋ฆฌ ์์คํ ์์ ํ ์๋๋ฅผ ์ ๊ทผํ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์ ์ฒด ์๊ฐ์ด ์ฆ๊ฐํ ๊ฒ์ด๊ณ , ๋ฐ๋ผ์ CPU ์๊ฐ ๋ํ ๋์ด๋ ์ ์์ต๋๋ค.
hit time(์ ์ค ์๊ฐ) ์ค์ด๊ธฐ
์ ์ค์๊ฐ์ด ๋์ด๋๋ ํ๋์ ์์๋ ์บ์ ํฌ๊ธฐ์ ์ฆ๊ฐ์ ๋๋ค.
๋ ํฐ ์บ์๋ ๋น์ฐํ ๋ ๊ธด ์ ๊ทผ์๊ฐ์ ํ์๋ก ํฉ๋๋ค.
์์ ์บ์ ์คํจ์จ์ ์ค์ด๋ ์์๋ก์จ associative cache๊ฐ ๋์์์ต๋๋ค.
์ด๋ ๋ค์ ๊ธ์์ ์ดํด๋ณด๊ฒ ์ง๋ง, ์ด๋ directed mapped cache ์๋ ๋ค๋ฅธ ์บ์ ๊ตฌ์กฐ์ด๋ฉฐ, ์คํจ์จ์ ๊ฐ์์ํค์ง๋ง ์ ์ค ์๊ฐ์ ์ฆ๊ฐ์ํฌ ์ ์์ต๋๋ค.
'๐ฅ Computer Science > ์ปดํจํฐ ๊ตฌ์กฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ปดํจํฐ ๊ตฌ์กฐ] ๋ฉ๋ชจ๋ฆฌ[5] - Multilevel Cache (0) | 2022.12.11 |
---|---|
[์ปดํจํฐ ๊ตฌ์กฐ] ๋ฉ๋ชจ๋ฆฌ[4] - Associative Cache (0) | 2022.12.11 |
[์ปดํจํฐ ๊ตฌ์กฐ] ๋ฉ๋ชจ๋ฆฌ[2] - ์บ์์ Miss์ Write ์ฒ๋ฆฌ (0) | 2022.12.04 |
[์ปดํจํฐ ๊ตฌ์กฐ] ๋ฉ๋ชจ๋ฆฌ[1] - ์บ์(Cache) (0) | 2022.12.04 |
[์ปดํจํฐ ๊ตฌ์กฐ] ๋ฉ๋ชจ๋ฆฌ[0] - ๋ฉ๋ชจ๋ฆฌ์ ๊ธฐ์ ๊ณผ ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต๊ตฌ์กฐ (0) | 2022.12.03 |