ABOUT ME

-

Graduate of Computer Engineering at Inha University

https://github.com/juwon0605

devprofessionalism@gmail.com
  • 3.인터럽트(Interrupt)
    Computer Science/Operating System 2021. 8. 17. 15:52

      ∙인터럽트
       ∘프로그램 실행 도중 예기치 않은 상황 발생 시 실행 중 작업을 중단하고 발생 상황을 처리 한 후
         실행 중이던 작업으로 복귀하여 계속 진행하는 것
          ➀외부 인터럽트: 입출력 장치, 전원 등 외부적인 요인으로 발생
          ➁내부 인터럽트: 잘못된 명령이나 데이터를 사용할 때 발생(Trap)
          ➂소프트웨어 인터럽트: 더 우선순위가 높은 명령을 요청 받을 때 발생

      ∙인터럽트 처리 과정
       ∘현재 수행 중인 프로그램을 멈추고, 상태 레지스터와 PC 등을 스택에 잠시 저장 하고
         인터럽트 서비스 루틴으로 간다.
         서비스 루틴이 끝나고 스택에 잠시 저장했던 정보를 불러와 다시 수행한다.
                -수행 중인 정보를 스택에 임시 저장하기 위해 하드웨어의 지원을 받아야 한다.
                -폴링 방식에 비해 신속하게 대응 할 수 있다.
                -발생 시기를 예측하기 힘든 경우 컨트롤러가 가장 빠르게 대응할 수 있는 방법이다.
               -MCU(Micro Controller Unit)이 하드웨어적인 변화를 체크하여 변화 시에만 동작한다.

      ∙폴링 방식
       ∘컨트롤러가 어떤 일을 할 시기를 알기 위해 계속 체크하는 방식
                -하드웨어의 지원이 필요 없다.
                -인터럽트 방식에 비해 처리 속도가 느리다.

     

    출처

    링크

    댓글

Designed by Tistory.