์ด์ ๊ธ์์ ์ดํด๋ณธ associative cache๋ miss rate๋ฅผ ์ค์ด๋ ๋ฐฉ์์ผ๋ก ์ฑ๋ฅ์ ๊ฐ์ ํ์์ต๋๋ค.
์ด๋ฒ์ ์ดํด๋ณผ Multilevel cache๋ miss penalty๋ฅผ ๊ฐ์์์ผ ์ฑ๋ฅ์ ๋์ด๋ ๋ฐฉ๋ฒ์ ๋๋ค.
๐ง Multilevel Cache
ํ๋์ ๋ชจ๋ ์ปดํจํฐ๋ ์บ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
ํ๋ก์ธ์์ ๋น ๋ฅธ ์๋์ ์๋์ ์ผ๋ก ์ ์ ๋๋ ค์ง๋ DRAM์ ์ ๊ทผ์๊ฐ์ ์ฐจ์ด๋ฅผ ๋์ฑ ์ค์ด๊ธฐ ์ํด์, ๋๋ถ๋ถ์ ๋ง์ดํฌ๋กํ๋ก์ธ์๋ ์บ์๋ฅผ ํ ๊ณ์ธต ๋ ์ง์ํฉ๋๋ค.
L1 cache(1์ฐจ ์บ์, primary cache) : ํ๋ก์ธ์์ ๊ฐ์ฅ ๊ฐ๊น์ด ์บ์. ์๋๋ฅผ ์ํด I cache์ D cache๋ก ๋๋ฉ๋๋ค.
- Instruction Cache (I cache) : ๋ฉ๋ชจ๋ฆฌ์ TEXT ์์ญ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ์บ์์ ๋๋ค.
- Data Cache (D cache) : TEXT ์์ญ์ ์ ์ธํ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ์บ์์ ๋๋ค.
L2 cache : ์ฉ๋์ด ํฐ ์บ์. miss rate๋ฅผ ์ค์ด๋ ๊ฒ์ ์ค์ ์ ๋ก๋๋ค. ๋ณดํต ๋ง์ดํฌ๋กํ๋ก์ธ์์ ๊ฐ์ ์นฉ์ ์์ต๋๋ค.
L3 cache : ์ผ๋ถ ๊ณ ๊ธ ์์คํ ์์ ์ฌ์ฉํ๋ฉฐ, ๋ฉํฐ ์ฝ์ด ์์คํ ์์ ์ฌ๋ฌ ์ฝ์ด๊ฐ ์ฉ์ ํ๋ ์บ์์ ๋๋ค.
L2 ์บ์๋ L1 ์บ์์์ ์คํจ๊ฐ ๋ฐ์ํ๋ฉด ์ ๊ทผํฉ๋๋ค.
๋ง์ฝ ์ํ๋ ๋ฐ์ดํฐ๊ฐ L1์๋ ์์ผ๋ฉฐ L2์ ์กด์ฌํ ๋ miss penalty๋ L2 ์บ์์ ์ ๊ทผ์๊ฐ์ด ๋๋ฉฐ ์ด ๊ฐ์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์๊ฐ๋ณด๋ค ํจ์ฌ ์งง์ต๋๋ค.
๊ทธ๋ฌ๋ L1 ์บ์์ L2 ์บ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณ ์์ง ์์ ๊ฒฝ์ฐ, ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ด ํ์ํ๋ฉฐ, ์ด ๊ฒฝ์ฐ์๋ ๋ ํฐ miss penalty๊ฐ ๋ฐ์ํฉ๋๋ค.
L2 ์บ์๋ฅผ ์ฌ์ฉํ์ฌ ์ผ๋ง๋ ํฐ ์ฑ๋ฅ ํฅ์์ ์ป์ ์ ์๋์ง ์ดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๐ง ์ฑ๋ฅ ํฅ์ ์์
ํด๋ญ ์๋๊ฐ 4 GHz์ด๊ณ ๋ชจ๋ ์ฐธ์กฐ๊ฐ 1์ฐจ ์บ์์์ ์ ์ค๋๋ค๊ณ ๊ฐ์ ํ์ ๋์ ๊ธฐ๋ณธ CPI๊ฐ 1์ธ ํ๋ก์ธ์๋ฅผ ์๊ฐํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์คํจ ์ฒ๋ฆฌ๊น์ง ํฌํจํ์ฌ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์๊ฐ์ด 100ns์ด๊ณ ,
1์ฐจ ์บ์์์ ๋ช ๋ น์ด ํ๋๋น ์คํจ์จ์ด 2%๋ผ๊ณ ๊ฐ์ ํ๊ฒ ์ต๋๋ค.
์ ๊ทผ์๊ฐ์ด 5ns์ธ 2์ฐจ ์บ์๋ฅผ ์ถฉ๋ถํ ๋ง์ด ์ถ๊ฐํ์ฌ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๊น์ง ๊ฐ์ผ ํ๋ ์คํจ์ ๋น์จ์ 0.5%๋ก ๋ฎ์ถ ์ ์๋ ๊ฒฝ์ฐ, ํ๋ก์ธ์์ ์ฑ๋ฅ์ด ์ผ๋ง๋ ๋นจ๋ผ์ง๋์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ก ๊ฐ๋ ๊ฒฝ์ฐ์ ์คํจ ์์ค : 100ns $\times$ 4GHz = 400 ํด๋ญ ์ฌ์ดํด
์บ์๊ฐ ํ ๊ณ์ธต๋ง ์๋ ๊ฒฝ์ฐ์ ์ ํจ CPI๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
'์ ์ฒด CPI = ๊ธฐ๋ณธ CPI + ๋ช ๋ น์ด ํ๋๋น ๋ฉ๋ชจ๋ฆฌ ์ง์ฐ ์ฌ์ดํด ์' ์ด๋ฏ๋ก,
1 + 400 $\times$ 0.02 = 9
2์ฐจ ์บ์๊ฐ ์๋ ๊ฒฝ์ฐ, 1์ฐจ ์บ์ ์คํจ๊ฐ 2์ฐจ ์บ์์์ ์ฒ๋ฆฌ๋ ์๋ ์๊ณ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์์ ์ฒ๋ฆฌ๋ ์๋ ์์ต๋๋ค.
2์ฐจ ์บ์ ์ ๊ทผ์ ๋ฐ๋ฅธ ์คํจ ์์ค์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
5ns $\times$ 4GHz = 20 ํด๋ญ ์ฌ์ดํด
๋ง์ฝ ์บ์ ์คํจ๊ฐ 2์ฐจ ์บ์์์ ์ฒ๋ฆฌ๋๋ค๋ฉด ์ ๊ฐ์ด ์ ์ฒด Miss penalty๊ฐ ๋ฉ๋๋ค.
ํ์ง๋ง ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๊น์ง ๊ฐ์ ์คํจ๋ฅผ ์ฒ๋ฆฌํ๊ฒ ๋๋ค๋ฉด ์ ์ฒด Miss penalty๋ 2์ฐจ ์บ์ ์ ๊ทผ๊ณผ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์๊ฐ์ ํฉ์ธ 420 ์ฌ์ดํด์ด ๋ฉ๋๋ค.
๋ฐ๋ผ์ 2๋จ๊ณ ์บ์์์ ์ ์ฒด CPI๋ ๋ ์บ์์์ ๋ฐ์ํ๋ ์ง์ฐ ์ฌ์ดํด๊ณผ ๊ธฐ๋ณธ CPI์ ํฉ์ด ๋ฉ๋๋ค.
'์ ์ฒด CPI = ๊ธฐ๋ณธ CPI + ๋ช ๋ น์ด ํ๋๋น 1์ฐจ ์บ์ ์ง์ฐ + ๋ช ๋ น์ด ํ๋๋น 2์ฐจ ์บ์ ์ง์ฐ' ์ด๋ฏ๋ก,
1 + 20 $\times$ 0.02 + 400 $\times$ 0.05= 3.4
๋ฐ๋ผ์ 2์ฐจ ์บ์๋ฅผ ๊ฐ๋ ํ๋ก์ธ์๋ $\frac{9}{3.4} = 2.6$ ๋ฐฐ๋งํผ ๋นจ๋ผ์ง๊ฒ ๋ฉ๋๋ค.
๐ง ์บ์์ ์ค๊ณ ๊ณ ๋ ค์ฌํญ
1์ฐจ ์บ์์ 2์ฐจ ์บ์์ ์ค๊ณ ๊ณ ๋ ค์ฌํญ์ ๋งค์ฐ ๋ค๋ฆ ๋๋ค.
1์ฐจ ์บ์(primary cache)
ํด๋ญ ์ฌ์ดํด์ ๋จ์ถ์ด๋ ํ์ดํ๋ผ์ธ ๋จ๊ณ์ ์ถ์๊ฐ ๊ฐ๋ฅํ๋๋ก ์ ์ค์๊ฐ(hit time) ์ต์ํ์ ์ค์ ์ ๋ก๋๋ค.
๋จ์ผ ์บ์์ ๋น๊ตํ ๋ multilevel cache์ 1์ฐจ ์บ์๋ ๋๊ฒ ๋ ์์ต๋๋ค.
๋ํ 1์ฐจ ์บ์๋ ํฌ๊ธฐ๋ฅผ ์๊ฒ ํ๊ณ miss penalty๋ฅผ ์ค์ด๊ธฐ ์ํด ๋ธ๋ก ํฌ๊ธฐ๊ฐ ์์ต๋๋ค.
2์ฐจ ์บ์(Level-2 cache)
๊ธด ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์๊ฐ์ผ๋ก ์ธํ ์์ค์ ์ค์ด๋๋ก ์คํจ์จ(miss rate)์ ์ค์ ์ ๋ก๋๋ค.
2์ฐจ ์บ์๋ ๋จ์ผ ์บ์์ ๋น๊ตํ ๋ ์ ๊ทผ์๊ฐ์ด ๋ ์ค์ํ๊ธฐ ๋๋ฌธ์ ํฌ๊ธฐ๊ฐ ํจ์ฌ ๋ ํฝ๋๋ค.
(์๋๊ฐ ์ค์ด๋ ๋๊ธฐ ๋๋ฌธ์ ์ ๋ ดํ ์บ์๋ฅผ ๋ง์ด ์ฌ์ฉํ ์ ์์ต๋๋ค.)
๋ฐ๋ผ์ ๋จ์ผ ์บ์์ ์ ์ ํ ๋ธ๋ก ํฌ๊ธฐ๋ณด๋ค ๋ ํฐ ๋ธ๋ก์ 2์ฐจ ์บ์์ ์ฌ์ฉํ์ฌ miss rate๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
๋ํ 2์ฐจ ์บ์๋ miss rate๋ฅผ ์ค์ด๋ ๋ฐ ์ง์คํด์ผ ํ๋ฏ๋ก 1์ฐจ ์บ์๋ณด๋ค ๋ ๋์ Associativity๋ฅผ ๋ง์ด ์ฌ์ฉํฉ๋๋ค.
'๐ฅ Computer Science > ์ปดํจํฐ ๊ตฌ์กฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ปดํจํฐ ๊ตฌ์กฐ] ๋ฉ๋ชจ๋ฆฌ[6] - ๊ฐ์๋ฉ๋ชจ๋ฆฌ(Virtual Memory) (0) | 2022.12.12 |
---|---|
[์ปดํจํฐ ๊ตฌ์กฐ] ๋ฉ๋ชจ๋ฆฌ[4] - Associative Cache (0) | 2022.12.11 |
[์ปดํจํฐ ๊ตฌ์กฐ] ๋ฉ๋ชจ๋ฆฌ[3] - ์บ์ ์ฑ๋ฅ ์ธก์ ํ๊ธฐ (1) | 2022.12.11 |
[์ปดํจํฐ ๊ตฌ์กฐ] ๋ฉ๋ชจ๋ฆฌ[2] - ์บ์์ Miss์ Write ์ฒ๋ฆฌ (0) | 2022.12.04 |
[์ปดํจํฐ ๊ตฌ์กฐ] ๋ฉ๋ชจ๋ฆฌ[1] - ์บ์(Cache) (0) | 2022.12.04 |