Read Hit
ํด๋น ๋ฐ์ดํฐ๋ฅผ ์บ์์์ ์ฝ๋ ๊ฒ
Read Misses
์๋ฌด๊ฒ๋ ํ ์ ์์ผ๋ฏ๋ก ๋ฉ๋ชจ๋ฆฌ๋ก๋ถํฐ ๋ธ๋ญ์ fetchํด์์ cache๋ก ์ ์ฅํ ํ ๋ค์ ์์ํ๋ค.
Stall the CPU ๋๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ฉด์ freezing ํด ๋๋๋ค. CPU๊ฐ ์ผ์ ๊ด์ฌํ๋ ๊ฒ์ด ์๋๋ผ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ๋ฅผ ์บ์๋ก ๊ฐ์ ธ์จ๋ค. ์ ์ฅํ ํ ์ ๋ค์ Execution์ ํ๋ผ๋ ์ ์ฐจ๋ฅผ ๋ฐ๊ฒ ๋๋ค. 4์ฅ์์ ์ฌ์ฉํ๋ Pipleine์ด Cache๋ก ๋์ฒด๋ ์ ์๋ค. Instruction Cache์ Data Cache๋ฅผ ๋ฐ๋ก ๋๊ณ ์ฌ์ฉ์ ํ๋ฉด ๋ ๊ฒ์ด๋ค. ์ฆ, Instruction Memor ์ Data Memory๊ฐ ๋ฐ๋ก ์กด์ฌํ๋ ๊ฒ์ด ์๋๋ผ Cache๊ฐ ๋ฐ๋ก ์กด์ฌํ๋ ๊ฒ์ด๋ค(4์ฅ์์ ํ์ง ๋ชปํ๋ ์๋ฌธ์ด ์ฌ๊ธฐ์ ํ๋ฆผ)
Instruction Cache์ Data Cache์ ๊ณตํต์ ์ 2,3,4 ๋ฒ์ด๋ค.
ํ ๊ฐ์ง ์ฐจ์ด์ ์ด ์๋ค๋ฉด Instruciton์ ๊ฒฝ์ฐ PC์ ๊ฐ์ 4๋งํผ ๊ฐ์์์ผ์ผ ํ๋ค. PC์ ๊ฐ์ ํตํด์ Istruction์ ๊ฐ์ ธ์ค๋ ค๊ณ ํ ๋ ๋์์ 4๊ฐ ์ฆ๊ฐํ๊ฒ ๋์ง๋ง Miss๊ฐ ์๋ ๊ฒฝ์ฐ stall๋๊ณ ๋ค์ Instruction์ ๊ฐ์ ธ์์ผ ํ๋๋ฐ ๊ทธ ์ ์ Access๊ฐ ์๋ 4๊ฐ ์ฆ๊ฐ๋ ๊ฐ์ด ์กด์ฌํ๋ฏ๋ก 4๋งํผ ๋ค์ ๊ฐ์์ํค๊ณ ๊ฐ์ ธ์์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ํ๋ ๋ฐ์ดํฐ๊ฐ ์์ด์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ฒ ๋๋๋ฐ ๊ธฐ์กด์ ์๋ ๋ฐ์ดํฐ ๊ฐ์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํด์ผ ํ๋๊ฐ?
์ ํ์ ๋ ๊ฐ์ง์ด๋ค. ๊ธฐ์กด์ ์๋ ๊ฒ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ ๊ฒ ์ธ๊ฐ ์๋๋ฉด ๋ฒ๋ฆด ๊ฒ์ธ๊ฐ์ ์ ํ์ด ์์ ๊ฒ์ด๋ค.
์ด๊ฒ์ ์ฐ๊ธฐ Write๋ฅผ ํ ๋ ๋ฌ๋ผ์ง๋ค.
1. Write Through
Data Cache๊ฐ 0์์ 1๋ก ๋ฐ๋๋ฉด ๊ทธ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์์๋ 0์์ 1๋ก ๋ฐ๊ฟ์ค์ผ ํ๋ ๊ฒ์ด๋ค.
Both the block in the cache and the main memory.
์ด๋ฐ ๊ฒฝ์ฐ์ Cache์ ๊ฐ๊ณผ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ด ํญ์ ์ผ์นํ๋ค.
miss์ ๊ฒฝ์ฐ ์ฝ์ผ๋ ค๊ณ ํ ๋ ์ํ๋ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ผ ํ๋๋ฐ Cache์ ๊ฐ๊ณผ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ด ์ผ์นํ๋ฏ๋ก ๋ฌด์ํ๊ณ ์๋ก์ด ๊ฐ์ ๊ทธ๋ฅ overwrite ํ๊ธฐ๋ง ํ๋ฉด ๋๋ค. ์ฝ์ผ๋ ค๊ณ ํ ๋ miss์ ๊ฒฝ์ฐ ๋น ๋ฅด๋ค(*****) ๋จ์ ์ ์บ์์ ์ฐ๋ ค๊ณ ํ ๋ ๋ฉ๋ชจ๋ฆฌ์๋ ์จ์ผ ํ๋ค๋ ์ ์ด๋ค.
Write Through
00100์ Block์ accessํ๋ ค๊ณ ํ๋ ์ํฉ์์ Cache์ 100์ ์์น๋ก ๊ฐ์ 12๋ผ๋ ๊ฐ์ ์ฐ๊ฒ ๋๋ค. ๋ฉ๋ชจ๋ฆฌ์๋ ์ญ์
00100์ ํด๋นํ๋ ๊ณณ์ ๊ฐ๋ 12๋ก ์จ์ค๋ค. 11100์ด๋ผ๋ ์ฃผ์์ accessํ๋ ค๋ฉด ์ผ๋จ miss๊ฐ ๋๊ณ 11100 ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์
๊ฐ์ ธ์ค๊ณ 15๋ฅผ ๊ฐ์ ธ์จ ํ 11์ด๋ผ๊ณ Tag๋ฅผ ๋ฐ๊ฟ์ค๋ค.
Write Back
ํ๋ก์ธ์๊ฐ ์บ์์ ๊ฐ์ ์ธ ๋ ๋ฉ๋ชจ๋ฆฌ๋ ๋๊ณ ์บ์๋ง ์ฐ๋ ๊ฒฝ์ฐ์ด๋ค. coherenceํ์ง ์์ ๊ฒ. ์ผ์นํ์ง ์๋ค๋ ๊ฒ์ด๊ณ
์บ์์ ๋ฐ์ดํฐ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ๊ฐ ์ผ์นํ์ง ์๋๋ค.
cleanํ๊ฐ?
์ฒ์์ ๊ฐ์ ๊ฐ์ ธ์จ ๋ค์์ Cache์ ๊ฐ์ ๋ค๋ฅธ ๊ฐ์ผ๋ก ๋ฐ๊ฟจ๋์ง์ ์ ๋ฌด๋ฅผ ๋งํ๋ ๊ฒ์ด๋ค. ๊ฐ์ด ๋ณํ๊ฐ ์๋ ๊ฒฝ์ฐ clean์ ๊ฒฝ์ฐ ์ผ์นํ๊ธฐ ๋๋ฌธ์ updateํ ํ์๊ฐ ์๋ค. ๋ค์ ๋งํด ์ผ์นํ๋ค๋ ๊ฒ์ ์บ์์ ๋ฐ์ดํฐ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ๊ฐ ๋์ผํ๊ธฐ ๋๋ฌธ์ ์๋ก์ด block์ ์ฝ์ด์ค๋ ๊ฒฝ์ฐ ๊ธฐ์กด์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ค์ writeํ ํ์๊ฐ ์๋ค๋ ๊ฒ์ด๋ค.
dirtyํ๊ฐ?
๊ฐ์ ๋ณํ๊ฐ ์๋ ๊ฒฝ์ฐ ์๋ก์ด block์ ๋ถ๋ฌ์์ ๋ ๊ธฐ์กด์ ์๋ ๋ฐ์ดํฐ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ด์ค์ผ ํ๋ค.
๊ทธ๋ฌ๋ฏ๋ก writeback ์์๋ Dirty bit 1bit๊ฐ ์กด์ฌํ๋ค.
Write Through์ ์ฅ์
miss๊ฐ ์ผ์ด๋ฌ์ ๋ ์บ์์ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ด ๊ฐ์ผ๋ฏ๋ก updateํ ํ์๊ฐ ์๋ค
Write Back์ ์ฅ์
๋ฉ๋ชจ๋ฆฌ์ ์ธ ํ์๊ฐ ์์ด์ ์๊ฐ์ด ์ ์ฝ๋๋ค.
์บ์์ ์ธ ๋๋ง๋ค Write buffer์๋ ์ฐ๋๋ฐ Processor๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ๋ ๊ฒ ๊น์ง ์๊ดํ์ง ์๊ณ ๋ฉ๋ชจ๋ฆฌ ์ปจํธ๋กค๋ฌ๊ฐ Write buffer์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ด์ฃผ๋ ๊ฒ์ด๊ณ ํ๋ก์ธ์๊ฐ ํ๋๋ ์ผ์ ํ๋ ๊ฒ๊น์ง ๊ด์ฌํ์ง ์๋๋ค. ๋ค๋ฅธ ์ ๊ฐ write buffer์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ๋ ์ผ์ ๊ด์ฌํ๋ค.
์ผ๋ฐ์ ์ผ๋ก Write back์ Performance๊ฐ Write Through๋ณด๋ค ๋ซ๋ค๊ณ ํ ์ ์๋ค.
'๐ Major Study (Bachelor) > ๐ฉ Computer Architecture' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ปดํจํฐ ๊ตฌ์กฐ 5_Cache Performance (0) | 2021.12.01 |
---|---|
์ปดํจํฐ ๊ตฌ์กฐ 5_Cache Performance (0) | 2021.12.01 |
์ปดํจํฐ ๊ตฌ์กฐ 5_Cache Memory (0) | 2021.11.29 |
์ปดํจํฐ ๊ตฌ์กฐ 5_Cache Memory (0) | 2021.11.29 |
์ปดํจํฐ ๊ตฌ์กฐ 4.2 (0) | 2021.10.25 |