인터럽트(Interrupt) 발생 시 수행되는 작업순서로 옳은 것은?ㄱ… | [9급 지방직 컴퓨터일반] 12년 1회차 기출문제 상세 페이지
1[9급 지방직 컴퓨터일반] 12년 1회차
인터럽트(Interrupt) 발생 시 수행되는 작업순서로 옳은 것은?
- ㄱ. 해당 인터럽트 서비스 루틴을 호출한다.
- ㄴ. 현재 프로그램 카운터에 적재된 명령어 주소를 스택에 저장한다.
- ㄷ. 해당 인터럽트 서비스를 수행한다.
- ㄹ. 스택에 저장된 명령어 주소를 프로그램 카운터에 저장한다.
1
ㄱ→ㄴ→ㄹ→ㄷ
2
ㄱ→ㄷ→ㄴ→ㄹ
3
ㄴ→ㄱ→ㄷ→ㄹ
4
ㄴ→ㄱ→ㄹ→ㄷ
해설
인터럽트 처리 순서는 ㄴ→ㄱ→ㄷ→ㄹ이다.
먼저 돌아올 위치인 PC 값을 스택에 저장(ㄴ)한 뒤 인터럽트 서비스 루틴을 호출(ㄱ)해 서비스를 수행(ㄷ)하고, 끝나면 스택의 주소를 PC로 되돌려(ㄹ) 중단된 프로그램을 재개한다.
- ㄱ→ㄴ→ㄹ→ㄷ: 복귀 주소를 저장하기 전에 루틴을 호출하고, 서비스 수행 전에 주소를 복원하는 잘못된 순서이다.
- ㄱ→ㄷ→ㄴ→ㄹ: 서비스를 먼저 수행하면 PC가 이미 바뀌어 원래 복귀 주소를 보존할 수 없다.
- ㄴ→ㄱ→ㄹ→ㄷ: 서비스를 수행하기 전에 복귀 주소를 PC로 되돌리면 서비스 루틴이 실행되지 않는다.
오류나 개정된 내용이 보이면 알려주세요