Interrupt
๐ซ Interrupt ์ธํฐ๋ฝํธ
(๊ฐ๋ก์ฑ๊ธฐ, ์ฒ๋ฆฌ ์ค๊ฐ์ ๋ฐฉํด/์ค๋จ๋๊ณ ๋ค๋ฅธ ์ผ์ ์ ์ ์ฒ๋ฆฌ, ํฐ ํ์์ ๋ดค์ ๋ ์ฒ๋ฆฌํ๋ ์ผ์ ๋ณํจ ์์)
- #CPU์์ ํ๋ก๊ทธ๋จ์ ์คํํ๊ณ ์์ ๋ ์ ์ถ๋ ฅ ํ๋์จ์ด ๋ฑ์ ์ฅ์น์ ์์ธ์ํฉ์ด ๋ฐ์ํ์ฌ ์ฒ๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ์ CPU์๊ฒ ์๋ ค ์ฒ๋ฆฌํ ์ ์๋๋ก ํ๋ ๊ฒ
- CPU์ ์ ๋ฌ๋๋ ์ฌ์ ์ ํธ Event Signal
- ์ฌ๊ฑด ์ ํธ์๋ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ผ๋ฉฐ, ์ฃผ๋ก ๊ฐ๊ฐ์ ์ ์ฉ ํ์ ์ผ๋ก ์ ๋ฌ๋จ (Source I.E. ํค๋ณด๋ ๋ง์ฐ์ค ๋ฑ)
- Vectored Interrupt
- ์ ์ฉ ํ์ ์ด ์๋ ๊ฒฝ์ฐ, ์ด๋ค ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๋์ง๋ฅผ ํ์ํด์ผ ํจ
- Interrupt Polling(Polling Interrupt)
- ISR, Interrupt Service Routine Or Interrupt Handler
๐ซ ์ธํฐ๋ฝํธ ์ฐ์ ์์ Interrupt Priority
- ์ฌ๋ฌ ๊ฐ์ ์ธํฐ๋ฝํธ๊ฐ ๋์์ ๋ฐ์ํ ๊ฒฝ์ฐ ๋์ ์ฒ๋ฆฌ ์์๋ฅผ ๊ฒฐ์ ํจ
- ์ธํฐ๋ฝํธ์ ๋ํ ๋์ ์ฒ๋ฆฌ ๋์ค, ๋ ๋ค๋ฅธ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ์ ๋, ๊ทธ ์ธํฐ๋ฝํธ๋ฅผ ๋ณด๋ฅ ์ํฌ ๊ฒ์ธ์ง ์๋๋ฉด ์ง๊ธ ์ฆ์ ์ฒ๋ฆฌํ ๊ฒ์ธ์ง๋ฅผ ๊ฒฐ์ ํจ
- ์๋ก ๋ฐ์ํ ์ธํฐ๋ฝํธ์ ์ฐ์ ์์๊ฐ ๋ ๋์ผ๋ฉด ์งํ ์ค์ด๋ ๋์ ์ฒ๋ฆฌ๋ฅผ ์ ์ ์ ๋ณดํ๊ณ ์๋ก์ด ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ๋ฅผ ๋จผ์ ์ฒ๋ฆฌํ ํ ์ฌ๊ฐํจ
๐ซ ์ธํฐ๋ฝํธ ์ฌ์ดํด Interrupt Cycle
CPU๊ฐ ์ธํฐ๋ ํธ ๋ฐ์ ์ฌ๋ถ๋ฅผ ์ฒดํฌ(์กฐ์ฌ)ํ๋ ์๊ธฐ๋ฅผ ๋งํ๋ค.
4๋จ๊ณ์ ๊ธฐ๊ณ/๋ช
๋ น ์ฌ์ดํด์ ๋ง์น ๋๋ง๋ค, ๋ค์๋งํด ํ๋์ ๊ธฐ๊ณ ๋ช
๋ น์ด์ ๋ํ ์ฒ๋ฆฌ๋ฅผ ๋ง์น ๋๋ง๋ค, ์ธํฐ๋ฝํธ ๋ฐ์ ์ฌ๋ถ๋ฅผ ์กฐ์ฌํ๋ค.
๊ฒฐ๊ตญ ๊ธฐ๊ณ/๋ช
๋ น ์ฌ์ดํด์, ์ธํฐ๋ฝํธ ์ฌ์ดํด์ ํฌํจํ์ฌ ์ด 5๋จ๊ณ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค๊ณ ๋ณผ ์ ์๋ค.
๐ซ ์ธํฐ๋ฝํธ ์ ํ
- ๋๋ฐ์ด์ค ์ธํฐ๋ฝํธ Device Interrupt
- ์
์ถ๋ ฅ ์ฅ์น ๋ฑ CPU ์ธ๋ถ ์ฃผ๋ณ ๊ธฐ๊ธฐ์์ ๋ฐ์ํ๋ ์ธํฐ๋ฝํธ
- ํ๋์จ์ด ์ธํฐ๋ฝํธ HW Interrupt ๋ผ๊ณ ๋ ํจ
- ์
์ถ๋ ฅ ์ฅ์น ๋ฑ CPU ์ธ๋ถ ์ฃผ๋ณ ๊ธฐ๊ธฐ์์ ๋ฐ์ํ๋ ์ธํฐ๋ฝํธ
- ์ค๋ฅ ์ธํฐ๋ฝํธ Error Interrupt
- CPU๊ฐ ๊ธฐ๊ณ ๋ช ๋ น์ด๋ฅผ ์ฒ๋ฆฌํ๋ ๋์ค์ ๋ฐ์ํ๋ ์ธํฐ๋ฝํธ
- ์๋ชป๋ ๊ธฐ๊ณ ๋ช
๋ น์ด๋ฅผ ๋ง๋๊ฑฐ๋ 0์ผ๋ก ๋๋๋ ๋ฑ์ ์ฐ์ฐ ๋ถ๊ฐ ์ํฉ์์ ๋ฐ์
- ์์ํ์ง ์๋ ์ค๋ฅ ๋ฐ์์ด๋ ๋ป์์ ์์ธ Exception๋ผ๊ณ ํจ
- ์ํํธ์จ์ด ์ธํฐ๋ฝํธ SW Interrupt
- ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์์ํค๋ ๊ธฐ๊ณ ๋ช ๋ น์ด, ์ฆ ํ๋ก๊ทธ๋จ์ ์ํด ๋ฐ์๋ ์ธํฐ๋ฝํธ
- ์ธํฐ๋ฝํธ ๋์ ์ฒ๋ฆฌ๋ฅผ ํ
์คํธํ๊ฑฐ๋, ์์คํ
์ฝ์ ์ํด ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์์ ์ด์์ฒด์ ๋ก ์ง์
ํ๊ธฐ ์ํด ์ฌ์ฉ
- ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ ์ธ์์ ์ผ๋ก ํน๋ณํ ๋ถ๋ถ์ผ๋ก ๋น ์ ธ๋ค๊ฒ ํ๋ฏ๋ก ํธ๋ฉ Trap ์ด๋ผ๊ณ ๋ ํจ
๐ซ != Polling ํด๋ง
์ธํฐ๋ฝํธ๋ ํด๋ง๊ณผ ๋ค๋ฅด๋ค.
ํด๋ง์ ํ๋์ ์ฅ์น ํน์ ํ๋ก๊ทธ๋จ์ด ์ถฉ๋ ํํผ ๋๋ ๋๊ธฐํ ์ฒ๋ฆฌ ๋ฑ์ ๋ชฉ์ ์ผ๋ก ๋ค๋ฅธ ์ฅ์น ํน์ ํ๋ก๊ทธ๋จ์ ์ํ๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ๊ฒ์ฌํ์ฌ ์ผ์ ํ ์กฐ๊ฑด์ ๋ง์กฑํ ๋ ์ก์ ๋ฑ์ ์๋ฃ์ฒ๋ฆฌ๋ฅผ ํ๋ ๋ฐฉ์
๋์์ ์ฃผ๊ธฐ์ ์ผ๋ก ๊ฐ์ํ์ฌ ์ํฉ์ด ๋ฐ์ํ๋ฉด ํด๋น์ฒ๋ฆฌ ๋ฃจํด์ ์คํํด ์ฒ๋ฆฌํ๋ ํด๋ง๊ณผ๋ ๋ฌ๋ฆฌ, ์ธํฐ๋ฝํธ๋ ์๋๊ฐ CPU์๊ฒ ์ผ์ ์ฒ๋ฆฌํด ๋ฌ๋ผ๊ณ ์์ฒญํ๋ ์๋จ.