본문 바로가기
3. 개발 관련/정리 :: issue 와 resovle

Interrupt

by kyuho.choi 2009. 7. 9.
728x90
반응형
Interrupt 란? 
 : CPU 내,외부의 긴급 서비스 요청에 의해 현재 실행 중인 일을 중단하고 그 요청에 합당한 서비스를 하는 기능
   MCU가 입력 또는 출력을 수행하는데 중요한 기능으로 하드웨어적인 방법으로 구현되어 있음

Interrupt 가 발생하면?
 : 실행중인 프로그램 중단, 실행중 주소 값 stack 저장
   발생한 인터럽트 벡터 주소 값 PC에 저장
   인터럽트 서비스 루틴 이동 및 실행, 종료 후
   Stack에 저장된 주소 값 PC에 저장 후, 인터럽트 발생 전으로 돌아옴

RESET 은?
 : 무조건 0x0000번지로 이동(in ATmega128)
   인터럽트 발생이전으로 안 돌아옴

Interrupt 처리과정
  ① 주 프로그램 실행
  ② 인터럽트 발생
  ③ 복귀주소 저장
  ④ 인터럽트 벡터로 점프
  ⑤ 인터럽트 처리
  ⑥ 인터럽트 처리완료
  ⑦ 복귀주소 로드
  ⑧ 마지막에 실행되던 주소로 점프
  ⑨ 주 프로그램 실행

Interrupt 의 3대 요소?
 : 인터럽트 소스
   인터럽트 벡터
   인터럽트 우선순위

인터럽트 소스 
 : MCU에 따라 다르게 정의 되어 있으며, MI(Maskable Interrupt), NMI(Non-Masakable Interrupt)등이 있으며, 
   NMI의 대표적인 예로 RESET 이 있다.

인터럽트 서비스 루틴(ISR)
 : 요청한 인터럽트를 처리해주기 위한 인털버트 구동 프로그램

인터럽트 벡터(IV)
 : 인터럽트 서비스 루틴의 시작 번지

인터럽트 벡터 테이블(IVT)
 : 인터럽트 벡터를 모아놓은 메모리 공간

인터럽트 우선순위
 : 인터럽트가 2개 이상이 동시에 발생할 때 어느 것을 먼저 처리해야 할지를 결정하는 기능
   ATmega128은 하드웨어적으로 우선순위가 지정되어 있으며, 벡터 번호가 낮은 것이 우선순위가 높다. 
   MSP430 또한 하드웨어적으로 우선순위가 지정되어 있으며, 벡터 번호가 높은 것이 우선순위가 높다.
728x90
반응형

댓글