μΈν°λ½νΈ (Interrupt)
μΈν°λ½νΈλ?
νλ‘κ·Έλ¨μ μ€ννλ λμ€μ μκΈ°μΉ μμ μν©μ΄ λ°μν κ²½μ° μ€ν μ€μΈ μμ μ μ€λ¨νκ³ , μν©μ μ²λ¦¬ν ν μ€ν μ€μ΄λ μμ μΌλ‘ 볡κ·νμ¬ λ§μ μ²λ¦¬νλ κ². μ¦, μ§κΈλ³΄λ€ μ€μν μΌμ΄ λ°μνλ©΄ κ·Έ μΌμ λ¨Όμ μ²λ¦¬νλ κ²
μΈλΆ μΈν°λ½νΈ
- CPUμ νλμ¨μ΄ μ νΈμ μν΄ λ°μ
- μ μΆλ ₯ μ₯μΉ, νμ΄λ° μμΉ, μ μ λ± μΈλΆμ μμΈμ λ°μ
- μ μ μ΄μ, κΈ°κ³ μ°©μ€, μΈλΆ μ νΈ, μ μΆλ ₯
λ΄λΆ μΈν°λ½νΈ
- CPUμ νλμ¨μ΄ μ νΈμ μν΄ λ°μ
- Trapμ΄λΌ λΆλ₯΄λ©°, μλͺ»λ λͺ λ Ήμ΄λ μλͺ»λ λ°μ΄ν°λ₯Ό μ¬μ©ν λ λ°μ
- 0μΌλ‘ λλκΈ°, μ€λ²νλ‘μ°, Exception..
SW μΈν°λ½νΈ
- λͺ λ Ήμ΄μ μνμ μν΄ λ°μ
- μ¬μ©μκ° νλ‘κ·Έλ¨μ μ€νμν¬ λ λ°μ
- SWμ΄μ© μ€μ λ€λ₯Έ νλ‘μΈμ€λ₯Ό μ€νμν€λ©΄ μλΆν μ²λ¦¬λ₯Ό μν΄ μμ ν λΉ λμμ΄ μν
μΈν°λ½νΈ λ°μ μ²λ¦¬ κ³Όμ
- νλ‘κ·Έλ¨ μ€ν μ€ μΈν°λ½νΈ λ°μ!
- μν μ€μΈ νλ‘κ·Έλ¨ μ€μ§ ν, μΈν°λ½νΈ μμΈ νμ
- μν λ μ§μ€ν°μ PC λ±μ μ€νμ μ μ₯
- μΈν°λ½νΈ μλΉμ€ 루ν΄μΌλ‘ λΆκΈ°, μ²λ¦¬ 루ν΄μ μννκ³ μ€μ§μν¨ νλ‘κ·Έλ¨μ μ΄μ΄μ μ€ν
μΈν°λ½νΈ μ°μ μμ νλ³ λ°©λ²
CPUμ μ°κ²°λμ΄ μλ μ¬λ¬ μ₯μΉμμ λμμ νλ μ΄μμ μΈν°λ½νΈ λ°μμ λ¨Όμ μλΉμ€ μ₯μΉλ₯Ό κ²°μ νκΈ° μνμ¬ μ¬μ©νλ€.
ν΄λ§ λ°©μ
- μννΈμ¨μ΄λ‘ λ³νλ₯Ό 체ν¬ν μ μλ λ°©λ²μ΄λ€.
- λ§μ½ μΈν°λ½νΈκ° μλ€λ©΄, 컨νΈλ‘€λ¬λ μ΄λ€ νΉμ ν μΌμ ν μκΈ°λ₯Ό μκΈ° μν΄ κ³μ λ°λ³΅μ μΌλ‘ μ²΄ν¬ ν΄μΌν¨
- μ¬μ©μκ° λͺ λ Ήμ΄λ₯Ό μ¬μ©ν΄ μ λ ₯ νμ κ°μ μ£ΌκΈ°μ μΌλ‘ μ½μ΄ λ³νλ₯Ό μμλ΄λ λ°©μ
- μΈν°λ½νΈ μμ² νλκ·Έλ₯Ό μ°¨λ‘λ‘ λΉκ΅νμ¬ μ°μ μμκ° κ°μ₯ λμ μΈν°λ½νΈ μμμ μ°Ύμ μ΄μ λ§λ μΈν°λ½νΈ μλΉμ€ λ£¨ν΄ μν
μΈν°λ½νΈ λ°©μ
- MCU μμ²΄κ° νλμ¨μ΄μ μΌλ‘ λ³νλ₯Ό 체ν¬νμ¬ λ³ν μμλ§ μΌμ λμ μν
- λ°μμκΈ°λ₯Ό μμΈ‘ν μ μμ λ 컨νΈλ‘€λ¬κ° κ°μ₯ 빨리 λ°μν μ μλ λ°©λ²
- μΈν°λ½νΈ λ°©μμ HW μ§μμ λ°μμΌ νλ μ μ½μ΄ μ‘΄μ¬
- Daisy Chain, λ³λ ¬ μ°μ μμ λΆμ¬
μΈν°λ½νΈ λ°©μ : λ°μ΄μ§ 체μΈ
νλμ¨μ΄μ μΌλ‘ μΈν°λ½νΈ μ°μ μμλ₯Ό νλ³νλ λ°©λ²μΌλ‘ μ§λ ¬ μ°μ μμ λΆμ¬ λ°©μμ΄λ€. μΈν°λ½νΈκ° λ°μνλ λͺ¨λ μ₯μΉλ₯Ό νκ°μ νμ μ μ§λ ¬λ‘ μ°κ²°νμ¬, μ°μ μμ λμ μμλλ‘ μ₯μΉλ₯Ό μ°κ²°νλ λ°©μμ΄λ€.
Reference
https://blog.naver.com/ann_arbor/221356496580
https://blog.naver.com/yeonsu1936/221524810825