Interrupt

์ธํ„ฐ๋ŸฝํŠธ๋ž€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰ ์ค‘ ์ž…์ถœ๋ ฅ ์ด๋ฒคํŠธ์™€ ๊ฐ™์€ ์˜ˆ๊ธฐ์น˜ ๋ชปํ•œ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ, ์ž‘์—…์„ ์ค‘์ง€ํ•˜๊ณ  ์ƒํ™ฉ ์ฒ˜๋ฆฌ ํ›„, ์›๋ž˜ ์ž‘์—…์œผ๋กœ ๋ณต๊ท€ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•ด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰์„ ๋ฐฉํ•ดํ•œ ๊ฒƒ์ด๋‹ค.

ํ•˜๋“œ์›จ์–ด (๋ฉ”๋ชจ๋ฆฌ, ๋””์Šคํฌ ๋“ฑ)์—๋Š” ์ปจํŠธ๋กค๋Ÿฌ๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์ž‘์€ CPU์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋กœ์ปฌ ๋ฒ„ํผ๊ฐ€ ์กด์žฌํ•œ๋‹ค. ์ปจํŠธ๋กค๋Ÿฌ์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด ๋กœ์ปฌ ๋ฒ„ํผ์— ์ €์žฅํ•˜๋Š”๋ฐ, ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค ์ €์žฅํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ธํ„ฐ๋ŸฝํŠธ ์‹ ํ˜ธ๋ฅผ ๋ฐœ์ƒ ์‹œ์ผœ CPU์—๊ฒŒ ์•Œ๋ ค์ค€๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๋“œ์›จ์–ด์—์„œ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋ฐœ์ƒ์‹œ์ผœ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ์„ ์™ธ๋ถ€ ์ธํ„ฐ๋ŸฝํŠธ ๋˜๋Š” ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๋ผ๊ณ  ํ•œ๋‹ค. ์ž…์ถœ๋ ฅ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ์ด ์™ธ๋ถ€ ์ธํ„ฐ๋ŸฝํŠธ์— ์†ํ•œ๋‹ค. (์ž…์ถœ๋ ฅ ์žฅ์น˜๊ฐ€ ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์š”๊ตฌํ•˜๊ฑฐ๋‚˜, ์ „์†ก์ด ๋๋‚˜ ๋‹ค์Œ ์ž‘์—…์ด ์‹คํ–‰๋˜์–ด์•ผ ํ•  ๊ฒฝ์šฐ ๋ฐœ์ƒ)

๋ฐ˜๋Œ€๋กœ ๋‚ด๋ถ€ ์ธํ„ฐ๋ŸฝํŠธ๋Š” ํ•˜๋“œ์›จ์–ด๊ฐ€ ์•„๋‹Œ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋ฐœ์ƒ ์‹œํ‚ค๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ์ž˜๋ชป๋œ ๋ช…๋ น์ด๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋  ๊ฒฝ์šฐ ๋ฐœ์ƒํ•˜๋ฉฐ, ์šฐ๋ฆฌ๊ฐ€ ๋งŽ์ด ์ ‘ํ–ˆ๋˜ Division by Zero, Over/Under flow ๋“ฑ์˜ ์—๋Ÿฌ๊ฐ€ ๋ชจ๋‘ ๋‚ด๋ถ€ ์ธํ„ฐ๋ŸฝํŠธ์ด๋‹ค.

๊ทธ๋Ÿผ ์ด์ œ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ์–ด๋–ค ์‹์œผ๋กœ ์ฒ˜๋ฆฌ ๋˜๋Š”์ง€ ์‚ดํŽด๋ณด์ž.

์šด์˜์ฒด์ œ์—์„œ๋Š” ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒ์‹œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฏธ๋ฆฌ ์ •์˜ํ•œ ์ฝ”๋“œ๋ฅผ ์ปค๋„ ์•ˆ, ์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ ์— ์ €์žฅ์‹œ์ผœ ๋†“๋Š”๋‹ค. ์ด ์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ์—๋Š” ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒ์‹œ ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” ์ฝ”๋“œ๋“ค์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ณต๊ฐ„์ด๋ฉฐ, ์ด ์ฝ”๋“œ๋ฅผ ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด (Interrupt Service Routine: ISR) ์ด๋ผ๊ณ  ํ•œ๋‹ค. ์ดํ›„ ์‹ค์ œ๋กœ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜๋ฉด, CPU๋Š” ์šด์˜์ฒด์ œ์—๊ฒŒ ์ œ์–ด๊ถŒ์„ ๋„˜๊ธฐ๊ณ  ์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ์•ˆ์˜ ํ•ด๋‹น ์ธํ„ฐ๋ŸฝํŠธ์˜ ์„œ๋น„์Šค ๋ฃจํ‹ด์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ: ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์˜ ์‹œ์ž‘์ฃผ์†Œ

์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ ํ…Œ์ด๋ธ” : ์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ๋“ค์ด ์ €์žฅ๋œ ๊ณต๊ฐ„

๋”ฐ๋ผ์„œ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒ์‹œ,

  1. ์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜๋ฉด CPU๋Š” ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค‘๋‹จํ•œ๋‹ค. ์ด๋•Œ, ์‹คํ–‰ ์ค‘์ธ ๋ช…๋ น์–ด๊ฐ€ ์žˆ๋‹ค๋ฉด, ๋ช…๋ น์–ด์˜ ์‹คํ–‰์„ ๋๋‚ด๊ณ  ์ค‘๋‹จ ํ•œ๋‹ค.

CPU๋Š” ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๊ฐ€์ ธ์˜จ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ธฐ ์ „, ์ธํ„ฐ๋ŸฝํŠธ ๋ผ์ธ์„ ํ™•์ธํ•˜์—ฌ ๊ฐ์ง€๋œ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ์žˆ๋Š”์ง€ ๋จผ์ € ํ™•์ธํ•œ๋‹ค.

  1. ์ด์–ด์„œ ํ”„๋กœ์„ธ์Šค์˜ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๊ณ  ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์„ ์‹คํ–‰ํ•ด ์ฒ˜๋ฆฌํ•œ๋‹ค

  2. ๋‹ค์‹œ ์›๋ž˜ ํ”„๋กœ์„ธ์Šค๋กœ ๋Œ์•„์™€ ์ž‘์—… ์ค‘๋‹จ๋˜์—ˆ๋˜ ๊ณณ๋ถ€ํ„ฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

์œ„์™€ ๊ฐ™์€ ์ผ๋ จ์˜ ๊ณผ์ •์„ ๊ฑฐ์น˜๊ฒŒ ๋œ๋‹ค.

Last updated