ํฐ์คํ ๋ฆฌ ๋ทฐ
๋ณธ๊ธ์ ์ ๊ฐ ์ดํด๋ฅผ ๋๊ธฐ ์ํด ๋ง๋ ์๋ฃ์ ๋๋ค. ๋ค๋ฅธ ๋ถ๋ค์ด ์ฝ๊ณ ์ดํด๊ฐ ์ ๋ ์๋ ์์ต๋๋ค.
Dynamic Instruction์ ์ดํดํ๊ธฐ ์ํด์๋ ๋๋ฆฝ ๊ฐ๋ ์ธ Static Instruction์ ๋จผ์ ์ดํดํด์ผ ํ๋ค.
ํ๋ก๊ทธ๋จ์ด ๋ฌด์์ธ์ง ์๋ฉด, Static Instruction์ ์์ฃผ ๋จ์ํ๋ค.
ํ๋ก๊ทธ๋จ์ Instruction์ Sequence๋ก ์ ์๊ฐ ๋๋ค.
๊ทธ๋์ ์ฐ๋ฆฌ๋ ํ๋ก๊ทธ๋จ์ ์ ์ํ๋ ํ๋ก๊ทธ๋จ ํ์ผ์ ๊ธฐ๋ก๋ Instruction์ Static Instruction ์ด๋ผ๊ณ ํ ๊ฒ์ด๋ค.
1. ํ๋ก๊ทธ๋จ์๋ Instruction์ sequence๊ฐ ์๋ค.
2. ์ฐ๋ฆฌ๋ ํ๋ก๊ทธ๋จ์ ์ ํ Instruction์ Static Instruciton์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
์! ๊ทธ๋ผ ๋๋ฆฝ ๊ฐ๋ ์ธ Dynamic Instruction์ ๋ฌด์์ธ๊ฐ?
ํ๋ก๊ทธ๋จ์ ํ๋ก์ธ์processor์ ์ํด ์คํ๋๋ค.
๊ทธ๋ฆฌ๊ณ ํ๋ก์ธ์๋ ํ๋ก๊ทธ๋จ์ ์คํํ๊ธฐ ์ํด Instruction์ Fetchํด๋๋ค.
๊ทธ๋์ ์ฐ๋ฆฌ๋ ํ๋ก์ธ์์ ์ํด Fetch๋์ด ์คํexecute๋๋ Instruction์
Dynamic Instruction์ด๋ผ๊ณ ํ ๊ฒ์ด๋ค.
Static Instructions : Simply the fixed "file" of instruction making up program
Dynamic Instructions : The actual instruction fetched & executed by the processor
๊ฐ๋ ์ ์์์ผ๋, ์ด์ ์ค์ ์ํฉ์ ๋ง์ฃผํด๋ณด์.
์ฐ๋ฆฌ๊ฐ ์ด๋ค ํ๋ก๊ทธ๋จ A๋ฅผ ์คํํ๋ค๊ณ ํด๋ณด์.
๊ทธ๋ฆฌ๊ณ ํ๋ก๊ทธ๋จ A๋ 100๊ฐ์ (static) Instruction์ด ์๋ค๊ณ ํด๋ณด์.
๊ทธ๋ฐ๋ฐ
ํ๋ก๊ทธ๋จ A์ 100๊ฐ Instruction์ด ์๋ค๊ณ ํด์ ์ฐ๋ฆฌ๊ฐ ํ๋ก์ธ์์์ ์คํํ๋ Instruction์ 100๊ฐ๊ฐ ์๋๋ค!
์๋?
ํ๋ก๊ทธ๋จ A์ if-else ๋ฌธ๋ ์์ ๊บผ๊ณ , ํ๋ก์ธ์์ 100๊ฐ๋ ๋๋ Instruction์ ์ฌ๋ ค๋๊ณ ์คํํ๊ธฐ์๋ ๋นํจ์จ์ ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋์ ํ๋ก์ธ์์๋ 100๊ฐ Instruction ์ค ์ผ๋ถ๋ง Fetch๋์ด์ ์คํ๋๊ณ ์์ ๊ฒ์ด๋ค.
๊ทธ๋ฆฌ๊ณ ํ๋ก๊ทธ๋จ์์ ํน์ Instruction์ ์์ฃผ์์ฃผ ์ค์ํด์ ์์ฃผ ํธ์ถ๋๋ ๋ ์๋ ์์ ๊ฒ์ด๋ค.
โถ 90-10 Rule : 90%์ Execution์ 10%์ Code์ ์ํ ๊ฒ์ด๋ค.
์ฆ, ์ผ๋ฐ์ ์ผ๋ก Dynamic Instruction์ด static code๋ณด๋ค ๋ ์์ฃผ ์คํ๋๋ค๊ณ ๋ณผ ์ ์๋ค.
์ด์ ์ด๋ฐ Dynamic - Static์ ๊ฒฝํฅ์ ์ด๋ป๊ฒ ์ด์ฉํ ์ ์๋์ง ์ดํด๋ณด์!

๋ค์๊ณผ ๊ฐ์ด ๋ช๋ช ๋ถ๊ธฐ๊ฐ ์๋ ํ๋ก๊ทธ๋จ์ ์๊ฐํด๋ณด์.
๊ทธ๋ฆฌ๊ณ D๋ฅผ ๋ณด๋ฉด,
D โ E โ G๋ ํ๋ก๊ทธ๋จ์์ 90%์ ์ฉ๋์ ์ฐจ์งํ๊ณ , (static)
D โ F โ G๋ ํ๋ก๊ทธ๋จ์์ 10%์ ์ฉ๋์ ์ฐจ์งํ๋ค๊ณ ์๊ฐํด๋ณด์. (static)
๊ทธ๋ฐ๋ฐ ์ค์ ๋ก ํ๋ก๊ทธ๋จ์ ์คํํด๋ณด๋ฉด,
90% ์ฉ๋์ D โ E โ G๋ ์ ์ฒด ์คํ์์ 10% ์ ๋๋ง ์คํ๋๊ณ , (dynamic)
๋๋ถ๋ถ์ ๊ฒฝ์ฐ, 90%๋ D โ F โ G๊ฐ ์คํ๋๋ค๊ณ ํด๋ณด์. (dynamic)
๊ทธ๋ผ ์ฐ๋ฆฌ๋ ํ๋ก์ธ์์ ์บ์cache์ ๊ตณ์ด ์์ฃผ ์คํ๋์ง๋ ์๋ D โ E โ G์ E ๋ถ๋ถ์ ์ ์ฅํด๋๊ธฐ์๋ ๊ณต๊ฐ์ด ์๊น๋ค!!
๊ทธ๋์ ์ฐ๋ฆฌ๋ Trace-cache ๋ผ๋ ์บ์๋ฅผ ํตํด ์ฐ๋ฆฌ๊ฐ ์ค์ ๋ก ์คํํ๋ ๋ถ๊ธฐ์ ๋ํด์๋ง ์บ์ํด๋๋ ๋ฐฉ์์ผ๋ก ์ฉ๋์ ์ ์ฝํ๊ณ ์ ํ๋ค!! => cache utility ๊ฐ์ !
(๊ด์ฌ์๋ ์ฌ๋๋ง ๋ณผ ๊ฒ)
Intel Pentium 4(2001๋ )์ Cache์์๋ถํฐ ๋์ ๋์๋ค๊ณ ํ๋ค.
'2020-1 > ์ปดํจํฐ ๊ตฌ์กฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ปดํจํฐ ๊ตฌ์กฐ(Architecture) ์ค๊ฐ๊ณ ์ฌ ๋ฒ์ ์ ๊ฒ ํด์ฆ (0) | 2020.07.04 |
---|---|
Delay Slot: Load Delay Slot & Branch Delay Slot (0) | 2020.07.03 |
[์ปดํจํฐ๊ตฌ์กฐ] ๋ฌด์์ ๋ฒ์ ํด์ฆ (0) | 2020.06.24 |
[Cache Coherence] Bus-based Protocol ์ ๋ฆฌ (0) | 2020.06.24 |
precise interrupt / imprecise interrupt์ ๋ํด (0) | 2020.05.04 |