본문 바로가기
dev, tech/embedded

<img src="http://blogimgs.naver.com/nblog/ico_scrap01.gif" class="i_scrap" width="50" height="15" alt="본문스크랩" /> Interrupt Controller

by 구띵 2006. 7. 13.

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

 

 

 

※ 우선순위를 처리하는 과정은 미 표기

 

 

댓글