이번에는 정보처리기사 필기 과목인 전자계산기 구조의 인터럽트를 알아보아요.
인터럽트(Interrupt)
컴퓨터 시스템에 특수한 상태가 발생하여 현재 실행하고 있는 프로그램을 일시 중단하고 특수한 상태를 처리하는 루틴으로 옮겨서 처리한 후 원래 프로그램을 처리하는 현상을 인터럽트라고 말합니다.
인터럽트 종류
전원 공급이 이상
CPU의 기계적인 오류
외부 신호에 의한 인터럽트 발생(스케쥴러 타임 인터럽트, 외부 장치로부터 인터럽트 요청)
입출력 전송 요청 및 전송 완료, 전송 오류
프로그램 검사 인터럽트 발생(Overflow나 Underflow, Divide Zero)
슈퍼바이저 호출(SVC 인터럽트) 호출(사용자가 SVC 명령 호출, 복잡한 입출력 처리, 기억 장치 할당 및 오퍼레이터와 대화)
인터럽트 처리 과정
1. 인터럽트 요청 신호 발생
2. 현재 수행중인 명령을 완료하고 상태를 기억
3. 어느 장치가 인터럽트를 요청하였는지 확인
4. 인터럽트 취급 루틴을 수행
5. 보존한 프로그램 상태를 복귀
인터럽트 발생 시 CPU가 확인해야 할 사항
1. 프로그램 카운터 내용
2. 상태 조건의 내용
3. 레지스터의 내용
인터럽트 체제의 기본 요소
1. 인터럽트 요청 신호
2. 인터럽트 처리
3. 인터럽트 서비스 루틴