precise interrupt / imprecise interrupt์ ๋ํด
CPU๋ ์ฌ๋ฌ ๋ฐฉ์์ผ๋ก ๋์ํ ์ ์๋ค.
single-cylce, multi-cycle, pipelined, super-pipelined, superscalar ๋ฑ๋ฑ๋ฑ
๊ทธ๋ฆฌ๊ณ CPU์ ์ข ๋ฅ์ ๋ฐ๋ผ Interrupt๊ฐ ๋ฐ์ํ์ ๋, ์ฐ๋ฆฌ๊ฐ ์ฒํ๊ฒ ๋๋ ์ํฉ๋ ์กฐ๊ธ์ฉ ๋ค๋ฅด๋ค.
precise interrupt ์ imprecise interrupt ๋ ์ฐ๋ฆฌ๊ฐ ์ฒํ๊ฒ ๋๋ ์ํฉ์ ๋ํด ๋งํ๋ค.
์์ ์ฌ์ง๋ง์ผ๋ก Precise Interrupt์ Imprecise Interrupt์ ๋ํ ์ค๋ช ์ ๋๋๋ค. ์ ์ฌํ ์ดํด๋ณด์.
1. Precise Interrupt
- PC ์ด์ ์ Instruction์ ๋ชจ๋ ์คํ์ด ๋๋ ์ํ์ด๋ค. fully executed
- PC ์ดํ์ Instruction์ ์์ง ์ ํ ์คํ๋์ง ์์๋ค.
- Interrupt handling์ ํธ์์ฑ ๋๋ฌธ์, OS ๊ฐ๋ฐ์๋ค์๊ฒ ์ ๋ฆฌ (ex: RISC-V)
2. Imprecise Interrupt
- Instruction์ด ๋ณ๋ ฌ์ ์ผ๋ก ์คํ๋๋ ์ํฉ overlapped execution
- CPU์์ ์ด๋ฏธ ์ฒ๋ฆฌ์ค์ธ Instruction ์ค ํ๋๊ฐ ํํฌ๊ฐ ๋๋ฉด, ์ด๋ฏธ CPU์ ์ฌ๋ผ๊ฐ ๋ค๋ฅธ ๋ชจ๋ Instruction์ ๋ํด handling์ ์งํํด์ผ ํจ.
= really expensive
- Interrupt๊ฐ ๋ฐ์ํ๋ฉด, ์๋๊ฐ ํฌ๊ฒ ์ ํ
- Interrupt handling์ ์ํด OS๊ฐ ๋ณต์กํด์ง.
์ด๋ ๊ฒ๋ง ๋ณด๋ฉด, Imprecise Interrupt๊ฐ ๊ทน๋๋ก ๋ถ๋ฆฌํ ์ํฉ์ธ ๊ฒ ๊ฐ๋ค.
ํ์ง๋ง Interrupt๋ง ๋ฐ์ํ์ง ์๋๋ค๋ฉด or ๋๋ฌธ๋๋ฌธ Interrupt์ ์ผ์ผํจ๋ค๋ฉด, pipelined๋ superscalar์ ์ฅ์ ์ธ ๋์ Performance๋ก ์ถฉ๋ถํ ์ด๋์ ๋ณผ ์๋ ์๋ค.
๊ทธ๋ฆฌ๊ณ ํ์ฅ์์ ์ฐ๋ CPU๊ฐ ๋๋ถ๋ถ pipelined๋ superscalar์ด๊ธฐ ๋๋ฌธ์ Imprecise Interrupt๋ฅผ ํธ๋ค๋งํ๋ ๊ฒ์ ํผํ ์ ์๋ค...
์ ๊ฒ Quiz
1. ( T / F ) Imprecise Interrupt ์ํฉ์ OS ๊ฐ๋ฐ์์๊ฒ ํธ์๋ฅผ ์ ๊ณตํ๋ค.
2. ( T / F ) Superscalar CPU์์๋ Imprecise Interrupt๊ฐ ๋ฐ์ํ ์ ์๋ค.