๐ง ์บ์ ์คํจ์ ์ฒ๋ฆฌ
์บ์ ์คํจ๋ ์ ์ด ์ ๋(control unit)์ด ์ฒ๋ฆฌํฉ๋๋ค.
์ ์ด ์ ๋์ ์คํจ๋ฅผ ํ์งํด์ผ ํ๋ฉฐ, ๋ฉ๋ชจ๋ฆฌ(๋๋ ํ์ ์์ค์ ์บ์)๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ ์คํจ๋ฅผ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.
์บ์ ์ ์ค์ ์ฒ๋ฆฌํ ์ ์๊ฒ ํ๋ก์ธ์์ ์ ์ด ์ ๋์ ์์ ํ๋ ๊ฒ์ ์ฌ์ด ์ผ์ด์ง๋ง, ์คํจ์ ๊ฒฝ์ฐ์๋ ๋ช ๊ฐ์ง ์์ ์ด ๋ ํ์ํฉ๋๋ค.
์บ์ ์คํจ ์ฒ๋ฆฌ๋ ํ๋ก์ธ์์ ์ ์ด ์ ๋๊ณผ ๋ณ๋์ ์ ์ด๊ธฐ์ ๊ณต๋ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.
์ด ์ ์ด๊ธฐ๋ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ ์์ํ๊ณ , ์บ์๋ฅผ ์ฑ์ฐ๋ ์ผ์ ํฉ๋๋ค.
์์ธ๋ ์ธํฐ๋ฝํธ๋ ๋ชจ๋ ๋ ์ง์คํฐ์ ์ํ๋ฅผ ์ ์ฅํด์ผ ํ์ง๋ง, ์บ์ ์คํจ์ ์ฒ๋ฆฌ๋ ํ์ดํ๋ผ์ธ ์ง์ฐ(stall)๋ง์ ๋ฐ์์ํต๋๋ค.
์บ์ ์คํจ ๋ฐ์ ์์๋ ์์ ๋ ์ง์คํฐ์ ํ๋ก๊ทธ๋๋จธ์๊ฒ ๋ณด์ด๋ ๋ ์ง์คํฐ์ ๋ด์ฉ์ ๊ทธ๋๋ก ์ ์งํ ์ฑ ๋ฉ๋ชจ๋ฆฌ์์ ๋ฐ์ดํฐ๊ฐ ์ค๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ฉด์ ์ ์ฒด ์์คํ ์ ์ง์ฐ์ํต๋๋ค.
๋ช ๋ น์ด ์บ์ ์คํจ์ ์ฒ๋ฆฌ ๋จ๊ณ๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ ์ ์์ต๋๋ค.
- ์๋์ PC๊ฐ์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ณด๋ ๋๋ค.
- ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ฝ๊ธฐ ๋์์ ์ง์ํ๊ณ , ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ ๊ทผ์ ๋๋ผ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค.
- ์บ์ ์ํธ๋ฆฌ์ ์๋๋ค.
- ๋ช ๋ น์ด ์ํ์ ์ฒซ ๋จ๊ณ๋ถํฐ ๋ค์ ์์ํฉ๋๋ค. ์บ์์์ ๋ช ๋ น์ด๋ฅผ ๋ค์ ์ธ์ถํ๋๋ฐ ์ด๋ฒ์๋ ํ์ํ ๋ช ๋ น์ด๋ฅผ ์บ์์์ ์ฐพ์ ์ ์์ต๋๋ค.
๋ฐ์ดํฐ ์ ๊ทผ์ ์ํ ์บ์ ์ ์ด๋ ๊ธฐ๋ณธ์ ์ผ๋ก๋ ๊ฐ์์, ์คํจ๊ฐ ๋ฐ์ํ๋ฉด ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด ์ค ๋๊น์ง ํ๋ก์ธ์๋ฅผ ์ง์ฐ์ํต๋๋ค.
๐ง ์ฐ๊ธฐ์ ์ฒ๋ฆฌ
๋ฐ์ดํฐ๋ฅผ ์ฐ๋ ๊ฒฝ์ฐ์๋ ์๊ฐํ ์ ์ด ์ข ๋ ๋ง์์ง๋๋ค.
์ฐ๊ธฐ์ ๊ฒฝ์ฐ miss๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฅผ ๋ค๊ณ ์ฌ ํ์ ์์ด ๋ฐ๋ก ์ฐ๋ฉด ๋๋ค๊ณ ์๊ฐํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ์ฐ๊ธฐ์ ๊ฒฝ์ฐ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ ์บ์์๋ง ์ฐ๊ณ , ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์ง ์๋๋ค๋ฉด ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ ์บ์์ ๋ค๋ฅธ ๊ฐ์ ๊ฐ๊ฒ ๋ฉ๋๋ค.
์ด ๊ฒฝ์ฐ์ ์บ์์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์ผ์น(inconsistent)ํ๋ค๊ณ ํฉ๋๋ค.
Read๋ฅผ ํ๋ ๊ฒฝ์ฐ๋ ์ง Write๋ฅผ ํ๋ ๊ฒฝ์ฐ๋ ์ง Miss๊ฐ ๋ฐ์ํ์๋ค๋ฉด ํญ์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์บ์๋ก ๋ค๊ณ ์์ผ ํฉ๋๋ค.
(์ฐธ๊ณ - ์ฐ๊ธฐ ๋นํ ๋น(no wriet allocate))
์ฐ๊ธฐ Miss๊ฐ ๋ฐ์ํ์์ ๋, ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๋ธ๋ก์ ํด๋น ๋ถ๋ถ๋ง ๊ฐฑ์ ํ๊ณ ์บ์์๋ ์ฐ์ง ์๋ ๋ฐฉ์์ ๋๋ค.
์ด ๋ฐฉ์์ด ๋์ค๊ฒ ๋ ๋๊ธฐ๋ ํ๋ก๊ทธ๋จ์ด ๋๋๋ก ๋ฐ์ดํฐ ๋ธ๋ก์ ํต์งธ๋ก ๋ฐ๊พธ๋ ์ผ์ด ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
์๋ฅผ ๋ค๋ฉด ์ด์์ฒด์ ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ํ ํ์ด์ง๋ฅผ ๋ชจ๋ 0์ผ๋ก ๋ง๋๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
์ด ๊ฒฝ์ฐ ์ฐ๊ธฐ ์คํจ๊ฐ ์ฒ์ ๋ฐ์ํ์ ๋ ์ด ๋ธ๋ก์ ์บ์๋ก ๊ฐ์ ธ์ฌ ํ์๋ ์์ต๋๋ค.
๐ write-through
๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์บ์๋ฅผ ์ผ์น์ํค๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ํญ์ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์บ์์ ๊ฐ์ด ์ฐ๋ ๊ฒ์ ๋๋ค.
์ด ๋ฐฉ๋ฒ์ ์ฆ์ ์ฐ๊ธฐ(write-through)๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
ํด๋น ๋ฐฉ์์ด ์ฐ๊ธฐ๋ฅผ ๊ฐ๋จํ ์ฒ๋ฆฌํ ๋ฟ๋๋ฌ, ๋ฐ์ดํฐ์ ๋ถ์ผ์น๋ ํ์คํ๊ฒ ์๋ฐฉํ ์ ์์ง๋ง, ์ข์ ์ฑ๋ฅ์ ์ ๊ณตํ๊ธฐ๋ ์ด๋ ต์ต๋๋ค.
์ฆ์ ์ฐ๊ธฐ ๋ฐฉ์์์๋ ๋ชจ๋ ์ฐ๊ธฐ๊ฐ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ๋ฅผ ์จ์ผ๋ง ํฉ๋๋ค.
์ด ์ฐ๊ธฐ๋ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ ค์ ์ต์ํ 100๊ฐ์ ํด๋ญ ์ฌ์ดํด์ด ํ์ํ ๊ฒฝ์ฐ๊ฐ ๋ง๊ณ , ๋ฐ๋ผ์ ํ๋ก์ธ์์ ์ฑ๋ฅ์ ํฌ๊ฒ ์ ํ์ํต๋๋ค.
์ฑ๋ฅ ์ ํ ์์๋ฅผ ์ํด ํด๋น ์ฐ๊ธฐ์ ์ถ๊ฐ๋ก ํ์ํ ํด๋ญ ์ฌ์ดํด์ด 100๊ฐ๋ผ ํ๊ฒ ์ต๋๋ค.
๋ช ๋ น์ด์ 10%๊ฐ ์ ์ฅ ๋ช ๋ น์ด๋ผ ๊ฐ์ ํ๊ณ , ์บ์ ์คํจ๊ฐ ์์ ๋ CPI๊ฐ 1์ด๋ผ ํ๊ฒ ์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด CPI = 1 + 100 x 10% = 11์ด ๋์ด 10๋ฐฐ ์ด์์ ์ฑ๋ฅ ์ ํ๊ฐ ์๊ธฐ๊ฒ ๋ฉ๋๋ค.
ํด๋น ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ผ๋ก ์ฐ๊ธฐ ๋ฒํผ(write buffer)๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
์ฐ๊ธฐ ๋ฒํผ๋ ๋ฐ์ดํฐ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์จ์ง ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋ ๋์ ์ด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค.
๋ฐ์ดํฐ๋ฅผ ์บ์์ ์ฐ๊ธฐ ๋ฒํผ์ ์ฐ๊ณ ๋ ํ์ ํ๋ก์ธ์๋ ๋ฐ๋ก ์ํ์ ๊ณ์ํ ์ ์์ต๋๋ค.
๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ๊ธฐ๋ฅผ ์๋ฃํ๋ฉด ๋ฒํผ์ ์ํธ๋ฆฌ๋ ์ง์์ง๋๋ค.
ํ๋ก์ธ์๊ฐ ์ฐ๊ธฐ๋ฅผ ํ๋ ค๊ณ ํ ๋ ์ฐ๊ธฐ ๋ฒํผ๊ฐ ๋ชจ๋ ์ฐจ ์์ผ๋ฉด ์ฐ๊ธฐ ๋ฒํผ์ ๋น ๊ณต๊ฐ์ด ์๊ธธ ๋๊น์ง ๋ฉ์ถฐ ์์ด์ผ ํฉ๋๋ค.
์ฆ ์ค์ง ์ฐ๊ธฐ ๋ฒํผ๊ฐ ๊ฝ ์ฐฌ ์ํ์ผ ๋๋ง ์ง์ฐ(stall)์ด ๋ฐ์ํฉ๋๋ค.
๋ฌผ๋ก ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ฐ๊ธฐ๋ฅผ ์๋ฃํ ์ ์๋ ์๋๊ฐ ํ๋ก์ธ์์ ์ฐ๊ธฐ ๋์ ๋ฐ์ ์๋๋ณด๋ค ๋๋ฆฌ๋ฉด ์๋ฌด๋ฆฌ ํฐ ๋ฒํผ๋ฅผ ์ฌ์ฉํด๋ ๋์์ด ๋์ง ์์ต๋๋ค.
์๋ํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ์์คํ ์ด ์ฐ๊ธฐ๋ฅผ ๋ฐ์๋ค์ด๋ ๊ฒ ๋ณด๋ค ์ฐ๊ธฐ๊ฐ ๋ ๋นจ๋ฆฌ ์งํ๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
๐ write back
๋์ค ์ฐ๊ธฐ(write back) ๋ฐฉ์์ ์ฐ๊ธฐ๊ฐ ๋ฐ์ํ์ ๋ ์๋ก์ด ๊ฐ์ ์บ์ ๋ด์ ๋ธ๋ก์๋ง ์ผ๋ค๊ฐ,
๋์ค์ ์บ์์์ ์ซ๊ฒจ๋ ๋ ์ฐ๊ธฐ์ ์ํด ๋ด์ฉ์ด ๋ฐ๋์์ผ๋ฉด ์ด ๋ธ๋ก์ ํ์ ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต์ ์จ์ฃผ๋ ๋ฐฉ์์ ๋๋ค.
๋์ค ์ฐ๊ธฐ ๋ฐฉ์์ ์ฑ๋ฅ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์ง๋ง, ๊ตฌํ์ด ๋ณต์กํ ๋ฟ๋๋ฌ ๋ฉํฐ ํ๋ก์ธ์ค ์ํฉ ๋ฑ์์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์บ์ ์ฌ์ด์ ๋ฐ์ดํฐ ๋ถ์ผ์น๊ฐ ์ผ์ด๋ ๊ฐ๋ฅ์ฑ์ด ์กด์ฌํฉ๋๋ค.
'๐ฅ Computer Science > ์ปดํจํฐ ๊ตฌ์กฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ปดํจํฐ ๊ตฌ์กฐ] ๋ฉ๋ชจ๋ฆฌ[4] - Associative Cache (0) | 2022.12.11 |
---|---|
[์ปดํจํฐ ๊ตฌ์กฐ] ๋ฉ๋ชจ๋ฆฌ[3] - ์บ์ ์ฑ๋ฅ ์ธก์ ํ๊ธฐ (1) | 2022.12.11 |
[์ปดํจํฐ ๊ตฌ์กฐ] ๋ฉ๋ชจ๋ฆฌ[1] - ์บ์(Cache) (0) | 2022.12.04 |
[์ปดํจํฐ ๊ตฌ์กฐ] ๋ฉ๋ชจ๋ฆฌ[0] - ๋ฉ๋ชจ๋ฆฌ์ ๊ธฐ์ ๊ณผ ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต๊ตฌ์กฐ (0) | 2022.12.03 |
[์ปดํจํฐ ๊ตฌ์กฐ] ํ๋ก์ธ์[2] - ํ์ดํ๋ผ์ด๋ (0) | 2022.11.24 |