인터럽트
인터럽트
인터럽트는 프로세서가 외부 장치 또는 소프트웨어로부터 발생하는 예외상황 또는 요청에 대해 빠르게 대응할 수 있도록 해준다.
개념
하나의 프로세서는 한 특정 순간에 하나의 일(프로세스)밖에 처리를 못 하기 때문에 처리하고 있는 일이 있는 와중에
우선 순위가 높은 요청이 있으면 이에 대응할 수 있는 방안이 있어야 한다.
인터럽트는 프로세서가 인스트럭션을 처리하는 순서를 변경한다.
시분할 방식 매우 빠른 속도로 시간을 잘게 쪼개서 여러 가지 일을 동시에 처리하는 것 같은 환상을 준다.
과정
- 인터럽트란, 프로세스가 즉각 대응이 필요할 때 하드웨어 또는 소프트웨어가 보내는 일종의 신호이며,
고(高)우선도의 프로세스에 대해 프로세서에게 알린다. - 이렇게 인터럽트가 발생하면 프로세서는 기존에 처리하던 작업을 중지하며, 현재의 레지스터와 메모리 상태 등을 저장한다.
- 인터럽트를 처리해주기 위해 인터럽트 서비스 루틴으로 점프하여 프로그램 카운터에 인터럽트 서비스 루틴의 첫 인스트럭션을 적재한다.
- 처리 이후 저장해둔 이전 작업의 상태를 복구하고 재개한다.
인터럽트 서비스 루틴 (ISR)
사진 추가 here
인터럽트의 종류
소프트웨어 인터럽트
하드웨어 인터럽트
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.