๐ง ์บ์(Cache)
์บ์๋ผ๋ ๋ช ์นญ์ ์ต์ด์๋ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ํ๋ก์ธ์ ์ฌ์ด์ ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต์ ๋ํ๋ด๊ธฐ ์ํด์ ์ฌ์ฉ๋ ์ฉ์ด์ ๋๋ค.
์ค๋๋ ์๋ ์ด๋ฌํ ์๋ฏธ๋ก ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๊ธฐ๋ ํ์ง๋ง, ๋ฐ์ดํฐ ์ ๊ทผ์ ์ง์ญ์ฑ(Locality)์ ์ด์ฉํด์ ๊ด๋ฆฌ๋๋ ๋ชจ๋ ๊ธฐ์ต์ฅ์น๋ฅผ ๋ถ๋ฅด๋ ๋ฐ์๋ ์ฌ์ฉ๋ฉ๋๋ค.
์ฒ์์๋ ํ๋ก์ธ์๋ ํ๋์ ์๋ ๋จ์์ ๋ฐ์ดํฐ๋ฅผ ํ์๋ก ํ๋ฉฐ, ๋ธ๋ก(block) ๋ํ ํ๋์ ์๋๋ก ์ด๋ฃจ์ด์ง ๋จ์ํ ์บ์๋ฅผ ์ดํด๋ณด๋ ๊ฒ์ผ๋ก ์์ํ๊ฒ ์ต๋๋ค.
๋ค์์ ์บ์์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๊ธฐ ์ ๊ณผ ํ์ ์บ์ ์ํ๋ฅผ ๋ํ๋ด์์ต๋๋ค.
์์ฒญํ๊ธฐ ์ ์ ์บ์์๋ ์ต๊ทผ์ ์ ๊ทผํ $X_1, X_2, ..., X_{n-1}$์ด ์กด์ฌํ๊ณ , ํ๋ก์ธ์๋ ์บ์์ ์๋ ์๋ $X_n$์ ์์ฒญํ์์ต๋๋ค.
์ด ์์ฒญ์ ์คํจ(Miss)๋ฅผ ๋ฐ์์ํค๊ณ , ์๋ $X_n$์ ๋ฉ๋ชจ๋ฆฌ์์ ์บ์๋ก ๊ฐ์ ธ์ค๊ฒ ๋ฉ๋๋ค.
์์ ์ํฉ์ ์ดํด๋ณด๋ฉด ๋ ๊ฐ์ง ํด๊ฒฐํด์ผ ํ ์๋ฌธ์ ์ด ์๊น๋๋ค.
1. ๋ฐ์ดํฐ๊ฐ ์บ์ ๋ด์ ์๋์ง ํ์ธํ๋ ๋ฐฉ๋ฒ
2. ์บ์ ๋ด๋ถ์ ๋ฐ์ดํฐ๊ฐ ์์ ๋, ๊ทธ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ
๊ฐ ์๋๊ฐ ์บ์ ๋ด๋ถ์ ๋ฑ ํ ์ฅ์์๋ง ์์ ์ ์๋ค๋ฉด, ์๋๊ฐ ์บ์ ๋ด๋ถ์ ์๋์ง ์๋์ง๋ฅผ ๋ฐ๋ก ์ ์ ์์ต๋๋ค.
๊ฐ ๋ฉ๋ชจ๋ฆฌ ์๋์ ์บ์ ๋ด์์์ ์์น๋ฅผ ํ ๋นํ๋ ๊ฐ์ฅ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ ํด๋น ์๋์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
๐ง ์ง์ ์ฌ์(Direct Mapped)
๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์์น๊ฐ ์บ์ ๋ด์ ์ ํํ ํ ๊ณณ์๋ง ์ฌ์๋๋ ์บ์ ๊ตฌ์กฐ๋ฅผ ์ง์ ์ฌ์(Direct Mapped)์ด๋ผ ๋ถ๋ฆ ๋๋ค.
์ง์ ์ฌ์ ์บ์๊ฐ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์บ์ ๋ด๋ถ์ ์์น(์บ์ ์ธ๋ฑ์ค)๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์ ๋๋ถ๋ถ ๊ฐ๋จํ๋ฉฐ, ์์๋ก๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์บ์ ์ธ๋ฑ์ค = ๋ธ๋ก ์ฃผ์ modulo (์บ์๊ฐ ํฌํจํ ์ ์๋ ๋ธ๋ก ์)
์บ์ ๋ด์ ๋ธ๋ก ์๊ฐ 2์ ๊ฑฐ๋ญ์ ๊ณฑ์ธ ๊ฒฝ์ฐ, ์ฃผ์์ ํ์ $log_2$(์บ์ ๋ด์ ์ ์ฒด ๋ธ๋ก ์) ๊ฐ์์ ๋นํธ๋ฅผ ์ทจํ๋ ๊ฒ์ผ๋ก modulo ์ฐ์ฐ์ ์ํํ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ 8๋ธ๋ก ์บ์๋ ๋ธ๋ก ์ฃผ์์ ํ์ 3(8 = $2^3$)๋นํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์๋ฅผ ๋ค์ด ๋ธ๋ก์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ 001101 ์ด๊ณ , ๋ธ๋ญ์ด ์ต๋ 8๊ฐ(1000)๊ฐ์ ๋ธ๋ก์ ํฌํจํ ์ ์๋ค๋ฉด,
ํด๋น ๋ธ๋ก์ ์บ์ ๋ด์ ์์น๋ 001101 modulo 1000 = 101์ด ๋ฉ๋๋ค.
์๋ ๊ทธ๋ฆผ์ ๋ ๋ค์ํ ์์๋ค์ ๋งคํ์ ๋ณด์ฌ์ค๋๋ค.
๐ง ํ๊ทธ(tag)์ ์ ํจ ๋นํธ(valid bit)
๊ฐ ์บ์ ๋ธ๋ก(์ํธ๋ฆฌ)์ ์ฌ๋ฌ ์ฃผ์์ ๋ฉ๋ชจ๋ฆฌ ๋ด์ฉ์ ๊ฐ์ง๊ณ ์์ ์ ์์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์บ์ ๋ด๋ถ์ ๋ฐ์ดํฐ๊ฐ ํ๋ก์ธ์๊ฐ ์๊ตฌํ๋ ๊ฒ๊ณผ ์ผ์นํ๋์ง ์๋์ง๋ฅผ ํ๋จํ ์ ์๋ ๋ฐฉ๋ฒ์ด ํ์ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์บ์ ๋ธ๋ก์ 001์ ์๋ ๋ฐ์ดํฐ๋ ๋ฉ๋ชจ๋ฆฌ์ 00001์์ ์จ ๊ฒ์ธ์ง, 01001์์ ์จ ๊ฒ์ธ์ง๋ฅผ ๊ตฌ๋ถํ ์ ์๋ ๋ฐฉ๋ฒ์ด ํ์ํ๋ค๋ ๊ฒ์ ๋๋ค.
์ด๋ ์บ์์ ํ๊ทธ(tag)๋ฅผ ์ถ๊ฐํจ์ผ๋ก์จ ํด๊ฒฐํ ์ ์์ต๋๋ค.
ํ๊ทธ๋ ์บ์ ๋ด์ ๋ธ๋ก์ด ํ๋ก์ธ์๊ฐ ์์ฒญํ ๊ฒ์ธ์ง ์๋์ง๋ฅผ ์๋ณํ๋ ๋ฐ ํ์ํ ์ฃผ์ ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค.
ํ๊ทธ๋ ์บ์ ์ธ๋ฑ์ค๋ก ์ฌ์ฉ๋์ง ์์, ์ฆ ์ฃผ์์ ์์ ๋ถ๋ถ ๋นํธ๋ค๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
์์ ์์์์ 001101 ์ฃผ์์ ๋ฐ์ดํฐ๊ฐ ์บ์ ๋ด์์๋ 101์ ์์นํ์์ต๋๋ค.
์ด๋ ํ๊ทธ๋ ์บ์ ์ธ๋ฑ์ค๋ก ์ฌ์ฉ๋์ง ์์ ๋ถ๋ถ, ์ฆ 001์ด ๋ฉ๋๋ค.
๋ํ ์บ์ ๋ธ๋ก์ด ์ ํจํ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋์ง๋ฅผ ์์๋ผ ๋ฐฉ๋ฒ์ด ํ์ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ปดํจํฐ๋ฅผ ์ฒ์ ์ผ์ ํ๋ก์ธ์๊ฐ ์์ ์ ์์ํ ๋ ์บ์์๋ ์๋ฌด๋ฐ ๊ฐ์ด ์์ด์ผ ํ์ง๋ง ์ฌ์ค์ ์ฐ๋ ๊ธฐ ๊ฐ๋ค๋ก ์ฑ์์ ธ ์์ ๊ฒ์ ๋๋ค.
์ด๋ ์บ์ ์ ์ฒด๋ฅผ 0์ผ๋ก ์ด๊ธฐํ ํ์ฌ ์ฌ์ฉํ๊ธฐ๋ณด๋ค(์ฌ์ค ์ด๋ ๊ฒ ์ด๊ธฐํ ํ๋๋ผ๋, ์ค์ ๋ฐ์ดํฐ๊ฐ 0000000.. ์ธ ๊ฒฝ์ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.), ํด๋น ์บ์๊ฐ ์ ํจํ ๋ฐ์ดํฐ์ธ์ง ์๋์ง๋ฅผ ํ์ธํ๋ ๋นํธ๋ฅผ ์ถ๊ฐ๋ก ๋์ด ์ด๋ฅผ ์ด๊ธฐํํ์ฌ ์ฌ์ฉํ๋ ๋ฐฉ์์ด ๋์ฑ ํจ์จ์ ์ ๋๋ค.
์ฆ ์บ์ ์ํธ๋ฆฌ๋ง๋ค ์ ํจ ๋นํธ(Valid bit)๋ฅผ ์ถ๊ฐํด์ ์ํธ๋ฆฌ์ ์ ํจํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋์ง ์๋์ง๋ฅผ ํ์ํ๋ ๋ฐฉ๋ฒ์ ๋ง์ด ์ฌ์ฉํฉ๋๋ค.
ํด๋น ๋นํธ๊ฐ 0์ธ ๊ฒฝ์ฐ ํด๋น ์ํธ๋ฆฌ์ ๋ค์ด์๋ ๋ฐ์ดํฐ๋ ์ ํจํ์ง ์์ ๊ฒ์ผ๋ก ํ๋จํฉ๋๋ค.
๐ง ์บ์ ์ ๊ทผ ์์
๋น์ด์๋ ๋ธ๋ก 8๊ฐ๋ก ๊ตฌ์ฑ๋ ์บ์์ ๋ํ์ฌ, ๋ฉ๋ชจ๋ฆฌ ์ฐธ์กฐ์ ๋ฐ๋ฅธ ์บ์ ๋ด์ฉ์ ๋ณํ๋ฅผ ์ดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๋ธ๋ก์๋ 1์๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋ค๊ณ ๊ฐ์ ํ๊ฒ ์ต๋๋ค.
์บ์ ๋ด์ ๋ธ๋ก์ด $2^3$๊ฐ ์กด์ฌํ๋ฏ๋ก, ๋ฉ๋ชจ๋ฆฌ ์ฃผ์์ ํ์ 3๋นํธ๋ง์ด ์บ์ ๋ธ๋ก ๋ฒํธ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
๋ํ ์ฃผ์์ ๊ธฐ๋ณธ ๋จ์๋ฅผ ๋ฐ์ดํธ๊ฐ ์๋๋ผ ์๋๋ผ ํ๊ฒ ์ต๋๋ค.
์ต์ด ์บ์ ์ํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ธ๋ฑ์ค๋ ์ด 8๊ฐ์ ๋ธ๋ก์ด ์กด์ฌํ๋ฏ๋ก 000(0)๋ถํฐ 111(7)๊น์ง ์กด์ฌํ๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
์ฒ์์ผ๋ก ์ฐธ์กฐ๋๋ ๋ฐ์ดํฐ๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ก 22๋ฒ์ง(10110)์ ์กด์ฌํ๋ ๋ฐ์ดํฐ์ ๋๋ค.
์บ์์ ์กด์ฌํ์ง ์์ผ๋ฏ๋ก ์คํจ(Miss)ํ๋ฉฐ, ์ดํ ๋ฉ๋ชจ๋ฆฌ์์ ํด๋น ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ฒ ๋ฉ๋๋ค. (๊ฐ์ง๊ณ ์ค๋ ๋ฐ์ดํฐ๋ ๋ธ๋ญ ๋จ์์ ๋๋ค)
์ดํ ์ฐธ์กฐ๋๋ ๋ฐ์ดํฐ๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ก 26๋ฒ์ง(11010)์ ์กด์ฌํ๋ ๋ฐ์ดํฐ์ ๋๋ค.
์บ์์ ์กด์ฌํ์ง ์์ผ๋ฏ๋ก ์คํจ(Miss)ํ๋ฉฐ, ์ดํ ๋ฉ๋ชจ๋ฆฌ์์ ํด๋น ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ฒ ๋ฉ๋๋ค.
์ดํ ๋ค์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ 22์ 26์ ์กด์ฌํ๋ ๋ฐ์ดํฐ์ ์ ๊ทผํ๋ฉฐ, ์ด ๋์ ๋ชจ๋ ์บ์์ ์กด์ฌํ๋ฏ๋ก ์ ์ค(hit)ํฉ๋๋ค.
์ดํ 16, 3, 16์ ์์๋ก ์ฐธ์กฐ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก 18, 16, 26์ ์์๋ก ์ฐธ์กฐ๊ฐ ๋ฐ์ํฉ๋๋ค.
๊ฐ๋จํ ์์์์ผ๋ฏ๋ก ์ดํดํ๋๋ฐ ํฐ ์ด๋ ค์์ ์์์ ๊ฒ์ด๋ผ ์๊ฐํฉ๋๋ค.
๐ง ์ฃผ์์ ๋ถํ
์ ์์ ๋ฅผ ํตํด ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ์ฃผ์ด์ง๋ฉด ์บ์์ ์ด๋ ๊ณณ์ ์ฐพ์๋ด์ผ ํ๋์ง๋ฅผ ๋ฐ๋ก ์ ์ ์์์ ํ์ธํ ์ ์์ต๋๋ค.
์ฃผ์์ ํ์ ๋นํธ๋ค์ ์ฌ์ฉํด์ ์ด ์ฃผ์๊ฐ ์ฌ์๋๋ ์ ์ผํ ์บ์ ์ํธ๋ฆฌ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ ๋ค์๊ณผ ๊ฐ์ด ๋ถํ ๋์ด ์บ์์ ์ฌ์๋ฉ๋๋ค.
(๋ฉ๋ชจ๋ฆฌ) ์ฃผ์ = (์บ์) ๋ธ๋ก ์ฃผ์ + (์บ์) ๋ธ๋ก ๋ณ์(Offset)
(๋ธ๋ก ๋ณ์๋ ์ฌ๋ฌ ์๋๋ก ๊ตฌ์ฑ๋ ๋ธ๋ก์์ ํ์ํ ํ๋์ ์๋๋ฅผ ์ฐพ์๋ด๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.)
๋ธ๋ก ์ฃผ์๋ ํ๊ทธ์ ์บ์ ๋ธ๋ก ์ธ๋ฑ์ค๋ก ๋๋์ด์ง๋๋ค.
๋ธ๋ก ๋ณ์๋ ๋ธ๋ก ๋ด์ ์๋๋ฅผ ๊ตฌ๋ณํ๋๋ฐ ์ฐ์ด๋ ๋นํธ์, ์๋ ๋ด์ ๋ฐ์ดํธ๋ฅผ ๊ตฌ๋ณํ๋ ๋ฐ ์ฐ์ด๋ ๋นํธ๋ก ๋๋์ด์ง๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ๋ํ๋ด๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- 64๋นํธ ์ฃผ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ์ง์ ์ฌ์ ์บ์์ ๋๋ค.
- ์บ์์๋ $2^n$ ๊ฐ์ ๋ธ๋ก์ด ์์ด์ (๋ฉ๋ชจ๋ฆฌ) ์ฃผ์์ n๋นํธ๊ฐ ์บ์ ๋ธ๋ก์ ์ธ๋ฑ์ค๋ก ์ฌ์ฉ๋ฉ๋๋ค.
- ์บ์ ๋ธ๋ก ํ๋์ ํฌ๊ธฐ๋ $2^m$ ์๋($2^{m+2}$ ๋ฐ์ดํธ)์
๋๋ค.
- ๋ฐ๋ผ์ (๋ฉ๋ชจ๋ฆฌ) ์ฃผ์์ m๋นํธ๋ ํ๋์ ์บ์ ๋ธ๋ก ๋ด์์ ์๋๋ค์ ๊ตฌ๋ถํ๋ ๋ฐ ์ฐ์ด๋ฉฐ, 2๋นํธ๋ ํ๋์ ์๋ ๋ด์์ ๋ฐ์ดํธ๋ฅผ ๊ตฌ๋ณํ๋ ์ญํ ์ ํฉ๋๋ค.
- ๋ฐ๋ผ์ m+ 2๋นํธ๋ ์บ์์ ์ ๊ทผํ๋ ๊ฒฝ์ฐ์๋ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
์์์ ๋ง์ง๋ง ์ด์ ๋๋ฌธ์, ์์ ์์์์ ์ฃผ์์ ๋จ์๋ฅผ ๋ฐ์ดํธ ๋จ์๊ฐ ์๋๋ผ ์๋ ๋จ์๋ก ๊ฐ์ ํ ๊ฒ์ ๋๋ค.
๋ฐ์ดํธ ๋จ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ฌ๋ฐ๋ฅด์ง๋ง, ์ดํดํ๋๋ฐ์๋ ์๋ ๋จ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ด์ ๋ถํฐ ๋ค์ ์ฃผ์๋ ์๋ ๋จ์๊ฐ ์๋ ๋ฐ์ดํธ ๋จ์๋ก ์ฌ์ฉํ๋๋ก ํ๊ฒ ์ต๋๋ค.
์บ์์์ ํ๊ทธ ํ๋์ ํฌ๊ธฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
64 - (n + m + 2)
์ง์ ์ฌ์ ์บ์์ ์ ์ฒด ๋นํธ ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. (ํฌ๊ธฐ์ ๋จ์๋ ๋ชจ๋ ๋นํธ์ ๋๋ค.)
$2^n$ $\times$ (๋ธ๋ก ํฌ๊ธฐ $+$ ํ๊ทธ ํฌ๊ธฐ $+$ ์ ํจ ๋นํธ ํฌ๊ธฐ)
=
$2^n$ $\times$ ($2^{m+5}$ $+$ ($64 - (n +m + 2)$) $+$ $1$)
(๋ธ๋ก์ ํฌ๊ธฐ๋ $2^m$ ์๋ = $2^{m+2}$ ๋ฐ์ดํธ = $2^{m+5}$ ๋นํธ ์ ๋๋ค)
๐ง ์ฌ๋ฌ ์๋ ๋ธ๋ก์ ๊ฐ๋ ์บ์์ ์ฃผ์ ์ฌ์
๋ธ๋ก ์ฃผ์๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํ ์ ์์ต๋๋ค.
๋ฉ๋ชจ๋ฆฌ ์ฃผ์ / ๋ธ๋ก ํฌ๊ธฐ(๋ธ๋ก๋น ๋ฐ์ดํธ ์)
ํด๋น ๋ธ๋ก ์ฃผ์๋
$\left \lfloor \frac{๋ฐ์ดํธ \;์ฃผ์}{๋ธ๋ก๋น\;๋ฐ์ดํธ\;์} \right \rfloor \times ๋ธ๋ก๋น\;๋ฐ์ดํธ\;์$ ~ $\left \lfloor \frac{๋ฐ์ดํธ \;์ฃผ์}{๋ธ๋ก๋น\;๋ฐ์ดํธ\;์} \right \rfloor \times ๋ธ๋ก๋น \; ๋ฐ์ดํธ\; ์+ (๋ธ๋ก๋น\;๋ฐ์ดํธ\;์-1)$ ์ฌ์ด์ ๋ชจ๋ ์ฃผ์๋ฅผ ํฌํจํ๋ ๋ธ๋ก์ ํด๋นํฉ๋๋ค.
๋ธ๋ก ๋ณ์๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํ ์ ์์ต๋๋ค.
๋ฉ๋ชจ๋ฆฌ ์ฃผ์ modulo ๋ธ๋ก ํฌ๊ธฐ(๋ธ๋ก๋น ๋ฐ์ดํธ ์)
๋ธ๋ก ๋ฒํธ(์บ์ ์ธ๋ฑ์ค)๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํ ์ ์์ต๋๋ค.
๋ธ๋ก ์ฃผ์ modulo ์บ์ ๋ด ๋ธ๋ก ์
ํ๊ทธ๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํ ์ ์์ต๋๋ค.
๋ธ๋ก ์ฃผ์ / ์บ์ ๋ด ๋ธ๋ก ์
ํ๋์ ์์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
- 64๋นํธ ์ฃผ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ์ง์ ์ฌ์ ์บ์์ ๋๋ค.
- ์บ์์๋ 64($2^6$)๊ฐ์ ๋ธ๋ก์ด ์กด์ฌํฉ๋๋ค.
- 1๊ฐ์ ๋ธ๋ก์ ํฌ๊ธฐ๋ 16 ๋ฐ์ดํธ(= 4์๋)์ ๋๋ค.
๋ฉ๋ชจ๋ฆฌ ์ฃผ์ 1204๋ ๋ค์๊ณผ ๊ฐ์ด ์ฌ์๋ฉ๋๋ค.
- ๋ธ๋ก ์ฃผ์ : 1204 / 16 =75
- ๋ธ๋ก ๋ณ์ : 1204 modulo 16 = 4
- ๋ธ๋ก ๋ฒํธ (์บ์ ์ธ๋ฑ์ค) : 75 modulo 64 = 11
- ํ๊ทธ : 75 / 64 = 1
์๋ ๊ทธ๋ฆผ์ ๋ธ๋ญ์ ํฌ๊ธฐ๊ฐ 1 ์๋์ธ 1024๊ฐ์ ๋ธ๋ญ์ ๊ฐ์ง ์ ์๋ ์บ์์ ๋ํด ์ฃผ์๋ฅผ ์ด๋ป๊ฒ ๋ถํ ํ์ฌ ์ฌ์ฉํ๋์ง ๋ณด์ฌ์ค๋๋ค.
์๋ ๊ทธ๋ฆผ์ ๋ธ๋ญ์ ํฌ๊ธฐ๊ฐ 16 ์๋์ธ 256๊ฐ์ ๋ธ๋ญ์ ๊ฐ์ง ์ ์๋ ์บ์์ ๋ํด ์ฃผ์๋ฅผ ์ด๋ป๊ฒ ๋ถํ ํ์ฌ ์ฌ์ฉํ๋์ง ๋ณด์ฌ์ค๋๋ค.
(32๋นํธ ์ฃผ์ ์ฌ์ฉ)
๐ง ๋ธ๋ก์ ํฌ๊ธฐ์ ์คํจ์จ
๋ธ๋ก์ด ํฌ๋ค๋ฉด ๊ณต๊ฐ์ ์ง์ญ์ฑ(Spatial Locality)์ ์ ํ์ฉํ๊ธฐ ๋๋ฌธ์ ์คํจ์จ(miss rate)์ด ๊ฐ์ํฉ๋๋ค.
๊ทธ๋ฌ๋ ์ ์กํด์ผ ํ ๋ธ๋ญ์ ์์ ๋ง์์ง๊ธฐ ๋๋ฌธ์ miss penalty๊ฐ ์ฆ๊ฐํฉ๋๋ค.
๋ธ๋ก์ด ์๋ค๋ฉด miss rate๊ฐ ์ฆ๊ฐํฉ๋๋ค.
๊ทธ๋ฌ๋ ์ ์กํด์ผ ํ ๋ธ๋ญ์ ์์ ์ ์ด์ง๋ฏ๋ก miss penalty๊ฐ ๊ฐ์ํฉ๋๋ค.
์ ๊ทธ๋ฆผ์์ ๋ณด์ด๋ ๊ฒ์ฒ๋ผ ๋ธ๋ก ํฌ๊ธฐ๋ฅผ ๋๋ฆฌ๋ฉด ๋๊ฒ ์คํจ์จ(miss rate)์ ์ค์ด๋ญ๋๋ค.
ํ์ง๋ง ๋ธ๋ก์ด ๋๋ฌด ์ปค์ ธ ๋ธ๋ก ํ๋๊ฐ ์บ์์ ์๋น ๋ถ๋ถ์ ์ฐจ์งํ๊ฒ ๋๋ค๋ฉด ์คํจ์จ์ด ์คํ๋ ค ์ปค์ง ์ ์์ต๋๋ค.
์๋ํ๋ฉด ์บ์ ๋ด์ ๋ธ๋ก ๊ฐ์๊ฐ ์ ์ด์ง๊ธฐ ๋๋ฌธ์, ๋ธ๋ก์ ๋ํ ๊ฒฝ์์ด ์ฌํ๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ๋ธ๋ก ๋ด์ ์๋๋ฅผ ๋ณ๋ก ์ฌ์ฉํ์ง๋ ๋ชปํ๋๋ฐ ๊ทธ ๋ธ๋ก์ด ์บ์์์ ์ซ๊ฒจ๋๋ ์ํฉ์ด ๋ฐ์ํฉ๋๋ค.
๋ฐ๊ฟ ๋งํ๋ฉด ๋ธ๋ก์ ํฌ๊ธฐ๊ฐ ๋๋ฌด ์ปค์ง ๊ฒฝ์ฐ ์คํ๋ ค ๊ณต๊ฐ์ ์ง์ญ์ฑ์ด ๊ฐ์ํ์ฌ ์คํจ์จ(miss rate)์ด ์ฆ๊ฐํ๊ฒ ๋ฉ๋๋ค.
๋ธ๋ก ํฌ๊ธฐ๊ฐ ์ฆ๊ฐํ๋ฉด ๋ฐ์ํ๋ ๋ ์ฌ๊ฐํ ๋ฌธ์ ๋ miss penalty๊ฐ ์ฆ๊ฐํ๋ ๊ฒ์ ๋๋ค.
miss penalty๋ ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต๊ตฌ์กฐ์ ๋ค์ ํ์ ๊ณ์ธต์์ ๋ธ๋ก์ ๊ฐ์ ธ์์ ์บ์์ ์ ์ฌํ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ์ํด ๊ฒฐ์ ๋ฉ๋๋ค.
๋ธ๋ก์ ๊ฐ์ ธ์ค๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ๋ ๋ถ๋ถ์ผ๋ก ๋๋์ด ๋ณผ ์ ์์ต๋๋ค.
์ฒซ ๋ฒ์งธ ์๋๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์ ๊ทผ ์ง์ฐ(latency)๊ณผ, ๋ธ๋ก์ ๋๋จธ์ง ๋ถ๋ถ์ ๋ํ ์ ์ก์๊ฐ์ ๋๋ค.
๋ธ๋ก ํฌ๊ธฐ๊ฐ ์ปค์ง๋ฉด ์ปค์ง์๋ก ์ ์ก์๊ฐ์ด ์ฆ๊ฐํ๋ ๊ฒ์ ์๋ช ํฉ๋๋ค. ์ฆ ์คํจ ์์ค ์ญ์ ์ฆ๊ฐํ ๊ฒ์ด ์๋ช ํฉ๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ๋ธ๋ก์ด ๋๋ฌด ์ปค์ง๋ฉด ์คํจ ์์ค์ ์ฆ๊ฐ๊ฐ ์คํจ์จ ๊ฐ์๋ฅผ ์๋ํ๊ฒ ๋๊ณ , ์บ์์ ์ฑ๋ฅ ๋ํ ๊ฐ์ํ๊ฒ ๋ฉ๋๋ค.
๐ ์กฐ๊ธฐ ์ฌ์์(early restart)
ํฐ ๋ธ๋ก์ ์คํจ ํ๋ํฐ ์ค ์ง์ฐ์๊ฐ(latency) ๋ถ๋ถ์ ๋ํด์๋ ์กฐ์น๋ฅผ ์ทจํ๊ธฐ ์ด๋ ต์ง๋ง, ์ ์ก์๊ฐ์ ์ผ๋ถ๋ฅผ ๋ณด์ด์ง ์๊ฒ ํด์ ์คํจ ํ๋ํฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ค์ผ ์ ์์ต๋๋ค.
์ด๋ ๊ฒ ํ๋ ๊ฐ์ฅ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ผ๋ก ์กฐ๊ธฐ ์ฌ์์์ด ์์ต๋๋ค.
์ด๋ ๋ธ๋ก ์ ์ฒด๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋ธ๋ก ๋ด์ ์์ฒญ๋ ์๋๊ฐ ๋๋ฌํ๋ฉด ๊ณง๋ฐ๋ก ์คํ์ ์์ํ๋ ๊ฒ์ ๋๋ค.
๋ง์ ์์คํ ๋ค์ด ๋ช ๋ น์ด ์ ๊ทผ์ ์ด ๊ธฐ๋ฒ์ ์ด์ฉํ๊ณ ์์ผ๋ฉฐ, ๊ทธ ํจ๊ณผ๊ฐ ๋งค์ฐ ์ข์ต๋๋ค.
๊ทธ๋ฌ๋ ์ด๋ฌํ ๋ฐฉ๋ฒ์ ๋ฐ์ดํฐ ์บ์์ ๋ํด์๋ ๋ ํจ๊ณผ์ ์ธ๋ฐ, ๋ธ๋ก ๋ด์ ์๋ ์์ฒญ์ด ์์ธกํ๊ธฐ ์ด๋ ค์ด ๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด์ง๋ ๊ฒฝํฅ์ด ์๊ณ , ๋ฐ์ดํฐ ์ ์ก์ด ๋ค ๋๋๊ธฐ๋ ์ ์ ๋ค๋ฅธ ์บ์ ๋ธ๋ก์ ์๋๋ฅผ ํ์๋ก ํ ๊ฐ๋ฅ์ฑ์ด ๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ ์ก์ด ์งํ ์ค์ด๋ผ ํ๋ก์ธ์๊ฐ ๋ฐ์ดํฐ ์บ์์ ์ ๊ทผํ ์ ์์ผ๋ฉด ํ๋ก์ธ์๋ ์ง์ฐ๋ ์๋ฐ์ ์์ต๋๋ค.
๐ ์๊ตฌ ์๋ ์ฐ์ (requested word first)
์ข ๋ ์ ๊ตํ ๊ธฐ๋ฒ์ผ๋ก ์์ฒญํ ์๋๊ฐ ๋ฉ๋ชจ๋ฆฌ์์ ์บ์๋ก ์ ์ผ ๋จผ์ ์ ์ก๋๋๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
์ดํ ์์ฒญ๋ ์๋์ ๋ค์ ์ฃผ์๋ถํฐ ์์๋๋ก ์ ์กํ๊ณ , ๋ธ๋ก ๋๊น์ง ์ ์กํ ํ์๋ ๋ค์ ๋ธ๋ก์ ์ฒ์ ์๋๋ถํฐ ๋จ์ ์๋๋ค์ ์์ฐจ์ ์ผ๋ก ์ ์กํฉ๋๋ค.
์ด ๊ธฐ๋ฒ์ ์๊ตฌ ์๋ ์ฐ์ ๋ฐฉ์ ๋๋ ์ค์ ์๋ ์ฐ์ ๋ฐฉ์์ด๋ผ ๋ถ๋ฅด๋ฉฐ, ์กฐ๊ธฐ ์ฌ์์ ๋ฐฉ์๋ณด๋ค๋ ์กฐ๊ธ ๋น ๋ฅด์ง๋ง ์ฌ์ ํ ์กฐ๊ธฐ ์ฌ์์์ด ๊ฐ์ง ํ๊ณ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.