Interrupt Controller
[ ARM 920T ] - [Interrupt Controller] -> 1...2....3... : 60개
..... 는 필터링 역할해줌(비트 masking)
INTPND [31:0]
==============
- 코어가 처리(또는 처리하는 소스)해 주기를 기다리는 소스가 된다. : 한번에 한 비트씩 셋팅
INTMSK [31:0]
================
SRCPND의 값을 걸러줌
SRCPND [31:0]
===============
- 각 비트마다 특정 장치가 할당, 인터럽트 발생시 특정 비트가 '1'이 됨 ex) 30번 비트: RTC
- 60개의 intr.을 처리하기 위해서는 비트 수가 부족
ex) 9번비트 : WDT, AC97이 비트 공유 -> 하나의 intr.라도 발생하면 '1'로 비트 셋팅
->SUBSRCPND 이용 (공유하는 비트가 나타내는 정보를 구분하기위함)
INTSUBMSK [14:0]
====================
ex) [14] : 0, [13] : 1 이면,
sub-source 13번비트의 값만 통과하고, 나머지 비트(14번...등)는 마스킹 됨
SUBSRCPND [14:0]
======================
ex) [14] : AC97, [13] : WDT
※ 우선순위를 처리하는 과정은 미 표기
댓글