본문 바로가기
반도체

[임베디드/ARM] 인터럽트 처리 (IRQ, GIC)

by 까망 하르방 2025. 7. 7.
반응형

인터럽트(Interrupt) 란?

CPU가 현재 작업을 하다가도
이벤트가 발생하면 그 작업을 중단하고 해당 이벤트를 처리하도록 만드는 것


VIC(Vectored Interrupt Controller)

• ARM7, ARM9 등 구형 ARM 프로세서에서 사용하는 인터럽트 컨트롤러
• 각 인터럽트의 우선순위, 마스킹 설정 가능
• 소형, 단일코어 기반 시스템에 적합 ex. MCU
• 보통 32개의 인터럽트 소스 수
• 벡터 방식

 

GIC (Generic Interrupt Controller)

• GIC은 VIC을 대체한 고성능 확장형 인터럽트 컨트롤러
• ARM Cortex-A 계열(멀티코어 시스템) ex. SoC
• 수백 개 이상의 인터럽트 소스 수
• 분산 처리 방식


IRQ vs FIQ

ARM은 인터럽트 처리 방식 중에서 IRQ나 FIQ 핸들러 제공

• IRQ(interrupt Request)

• FIQ(fast interrupt Request)

 

🔸 FIQ는 IRQ보다 빠른 처리와 더 많은 전용 레지스터를 제공해 빠른 응답을 가능하게 한다.

🔸 하지만 동시에 사용할 수 있는 개수는 제한적이며, 특수한 경우에만 사용

 

IRQ, FIQ는 인터럽트 발생했다는 것만 알 수 있지

어떤 인터럽트가 어떤 하드웨어에서 발생했는지 알 수 없다.


관계 정리

① 「인터럽트」는 하드웨어 이벤트 → CPU에게 알려야 함
② 「VIC / GIC」 인터럽트 요청 받아 → CPU로 전달
③ CPU는 「IRQ / FIQ」 모드로 전환하여 인터럽트 처리

반응형

'반도체' 카테고리의 다른 글

[임베디드/펌웨어] UART  (9) 2025.07.06
[임베디드] SSD 실제 저장 용량  (6) 2025.06.23
주파수와 대역폭란 무엇일까?  (6) 2025.06.20
[반도체] Flash NAND 신뢰성이란?  (34) 2024.11.30
Flash NAND 내구성이란  (1) 2024.11.29

댓글