[์šด์˜์ฒด์ œ] ์ธํ„ฐ๋ŸฝํŠธ

1. ์ธํ„ฐ๋ŸฝํŠธ (Interrupt) 

1.1. ์ธํ„ฐ๋ŸฝํŠธ๋ž€? 

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

1.2. ์™ธ๋ถ€ ์ธํ„ฐ๋ŸฝํŠธ 

  1. CPU์˜ ํ•˜๋“œ์›จ์–ด ์‹ ํ˜ธ์— ์˜ํ•ด ๋ฐœ์ƒ 
  2. ์ž…์ถœ๋ ฅ ์žฅ์น˜, ํƒ€์ด๋ฐ ์ž์น˜, ์ „์› ๋“ฑ ์™ธ๋ถ€์  ์š”์ธ์— ๋ฐœ์ƒ 
  3. ์ „์› ์ด์ƒ, ๊ธฐ๊ณ„ ์ฐฉ์˜ค, ์™ธ๋ถ€ ์‹ ํ˜ธ, ์ž…์ถœ๋ ฅ 

1.3. ๋‚ด๋ถ€ ์ธํ„ฐ๋ŸฝํŠธ

  1. CPU์˜ ํ•˜๋“œ์›จ์–ด ์‹ ํ˜ธ์— ์˜ํ•ด ๋ฐœ์ƒ 
  2. Trap์ด๋ผ ๋ถ€๋ฅด๋ฉฐ, ์ž˜๋ชป๋œ ๋ช…๋ น์ด๋‚˜ ์ž˜๋ชป๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐœ์ƒ
  3. 0์œผ๋กœ ๋‚˜๋ˆ„๊ธฐ, ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ, Exception.. 

1.4. SW ์ธํ„ฐ๋ŸฝํŠธ

  1. ๋ช…๋ น์–ด์˜ ์ˆ˜ํ–‰์— ์˜ํ•ด ๋ฐœ์ƒ 
  2. ์‚ฌ์šฉ์ž๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰์‹œํ‚ฌ ๋•Œ ๋ฐœ์ƒ 
  3. SW์ด์šฉ ์ค‘์— ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰์‹œํ‚ค๋ฉด ์‹œ๋ถ„ํ•  ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ์ž์› ํ• ๋‹น ๋™์ž‘์ด ์ˆ˜ํ–‰  

2. ์ธํ„ฐ๋ŸฝํŠธ ๋ฐœ์ƒ ์ฒ˜๋ฆฌ ๊ณผ์ • 

  1. ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘ ์ธํ„ฐ๋ŸฝํŠธ ๋ฐœ์ƒ! 
  2. ์ˆ˜ํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ ์ค‘์ง€ ํ›„, ์ธํ„ฐ๋ŸฝํŠธ ์›์ธ ํŒŒ์•…
  3. ์ƒํƒœ ๋ ˆ์ง€์Šคํ„ฐ์™€ PC ๋“ฑ์„ ์Šคํƒ์— ์ €์žฅ 
  4. ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์œผ๋กœ ๋ถ„๊ธฐ, ์ฒ˜๋ฆฌ ๋ฃจํ‹ด์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์ค‘์ง€์‹œํ‚จ ํ”„๋กœ๊ทธ๋žจ์„ ์ด์–ด์„œ ์‹คํ–‰   

2.1. ์ธํ„ฐ๋ŸฝํŠธ ์šฐ์„ ์ˆœ์œ„ ํŒ๋ณ„ ๋ฐฉ๋ฒ• 

CPU์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์—ฌ๋Ÿฌ ์žฅ์น˜์—์„œ ๋™์‹œ์— ํ•˜๋‚˜ ์ด์ƒ์˜ ์ธํ„ฐ๋ŸฝํŠธ ๋ฐœ์ƒ์‹œ ๋จผ์ € ์„œ๋น„์Šค ์žฅ์น˜๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.

2.2. ํด๋ง ๋ฐฉ์‹ 

  1. ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๋ณ€ํ™”๋ฅผ ์ฒดํฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.
  2. ๋งŒ์•ฝ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ์—†๋‹ค๋ฉด, ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์–ด๋–ค ํŠน์ •ํ•œ ์ผ์„ ํ•  ์‹œ๊ธฐ๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด ๊ณ„์† ๋ฐ˜๋ณต์ ์œผ๋กœ ์ฒดํฌ ํ•ด์•ผํ•จ 
  3. ์‚ฌ์šฉ์ž๊ฐ€ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด ์ž…๋ ฅ ํ•€์˜ ๊ฐ’์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ฝ์–ด ๋ณ€ํ™”๋ฅผ ์•Œ์•„๋‚ด๋Š” ๋ฐฉ์‹ 
  4. ์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ ํ”Œ๋ž˜๊ทธ๋ฅผ ์ฐจ๋ก€๋กœ ๋น„๊ตํ•˜์—ฌ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๊ฐ€์žฅ ๋†’์€ ์ธํ„ฐ๋ŸฝํŠธ ์ž์›์„ ์ฐพ์•„ ์ด์— ๋งž๋Š” ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด ์ˆ˜ํ–‰ 

2.3. ์ธํ„ฐ๋ŸฝํŠธ ๋ฐฉ์‹ 

  1. MCU ์ž์ฒด๊ฐ€ ํ•˜๋“œ์›จ์–ด์ ์œผ๋กœ ๋ณ€ํ™”๋ฅผ ์ฒดํฌํ•˜์—ฌ ๋ณ€ํ™” ์‹œ์—๋งŒ ์ผ์ • ๋™์ž‘ ์ˆ˜ํ–‰ 
  2. ๋ฐœ์ƒ์‹œ๊ธฐ๋ฅผ ์˜ˆ์ธกํ•  ์ˆ˜ ์—†์„ ๋•Œ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๊ฐ€์žฅ ๋นจ๋ฆฌ ๋ฐ˜์‘ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ• 
  3. ์ธํ„ฐ๋ŸฝํŠธ ๋ฐฉ์‹์€ HW ์ง€์›์„ ๋ฐ›์•„์•ผ ํ•˜๋Š” ์ œ์•ฝ์ด ์กด์žฌ 
  4. Daisy Chain, ๋ณ‘๋ ฌ ์šฐ์„ ์ˆœ์œ„ ๋ถ€์—ฌ 

2.4. ์ธํ„ฐ๋ŸฝํŠธ ๋ฐฉ์‹ : ๋ฐ์ด์ง€ ์ฒด์ธ

ํ•˜๋“œ์›จ์–ด์ ์œผ๋กœ ์ธํ„ฐ๋ŸฝํŠธ ์šฐ์„ ์ˆœ์œ„๋ฅผ ํŒ๋ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ง๋ ฌ ์šฐ์„ ์ˆœ์œ„ ๋ถ€์—ฌ ๋ฐฉ์‹์ด๋‹ค. ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ชจ๋“  ์žฅ์น˜๋ฅผ ํ•œ๊ฐœ์˜ ํšŒ์„ ์— ์ง๋ ฌ๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ, ์šฐ์„ ์ˆœ์œ„ ๋†’์€ ์ˆœ์„œ๋Œ€๋กœ ์žฅ์น˜๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

 

 

Reference

https://blog.naver.com/ann_arbor/221356496580

 

Polling๊ณผ ์ธํ„ฐ๋ŸฝํŠธ์˜ ์ž˜๋ชป ์„ค๋ช…๋œ ์˜ˆ

์•„๋‘์ด๋…ธ๊ฐ™์€ MCU๊ฐ€ ์‹ ํ˜ธ ์ž…๋ ฅ์„ ๋ฐ›์•„์„œ ์–ด๋–ค ์ผ์„ ์ฒ˜๋ฆฌํ•  ๋•Œ Polling ๋ฐฉ์‹๊ณผ Interrupt ๋ฐฉ์‹์„ ์‚ฌ์šฉ...

blog.naver.com

https://blog.naver.com/yeonsu1936/221524810825

 

์ธํ„ฐ๋ŸฝํŠธ ์ฒ˜๋ฆฌ ๊ณผ์ •

์ธํ„ฐ๋ŸฝํŠธ(Interrupt)๋ž€?โ€‹'์–ด๋–ค ํŠน์ •ํ•œ ์‚ฌ๊ฑด'์ด ์ผ์–ด๋‚˜๋ฉด CPU๋Š” ํ˜„์žฌ ํ•˜๊ณ  ์žˆ๋Š” ์ผ์„ ์ž ์‹œ ...

blog.naver.com

 

https://github.com/gyoogle

 

gyoogle - Overview

Email : gyuseok6394@gmail.com. gyoogle has 18 repositories available. Follow their code on GitHub.

github.com