다음 지문은 인터럽트 처리과정을 나타낸 것이다. 처리과정의 순서를 올바… | [정보통신기사 필기] 15년 1회차 기출문제 상세 페이지
1[정보통신기사 필기] 15년 1회차
다음 지문은 인터럽트 처리과정을 나타낸 것이다. 처리과정의 순서를 올바르게 나열한 것은?
- ⓐ 주변장치로부터 인터럽트 요구가 들어옴
- ⓑ pc 내용을 스택에서 꺼냄
- ⓒ 본 프로그램으로 복귀
- ⓓ 인터럽트 서비스 루틴의 시작번지로 점프해서 프로그램 수행
- ⓔ pc 내용을 스택에 저장
- ⓕ 중단했던 원래의 프로그램번지로부터 수행
1
ⓐ → ⓓ → ⓑ → ⓒ → ⓕ → ⓔ
2
ⓐ → ⓔ → ⓓ → ⓑ → ⓒ → ⓕ
3
ⓔ → ⓐ → ⓓ → ⓑ → ⓒ → ⓕ
4
ⓔ → ⓐ → ⓑ → ⓓ → ⓒ → ⓕ
해설
올바른 순서는 ⓐ → ⓔ → ⓓ → ⓑ → ⓒ → ⓕ 이다.
인터럽트 처리는 요구 접수 → 복귀 지점 보관 → 서비스 루틴 수행 → 복귀 지점 복원 → 원래 프로그램 재개의 흐름을 따른다. 주변장치의 요구가 들어오면(ⓐ) CPU는 실행 중인 명령을 끝낸 뒤 다음에 실행할 주소인 PC 내용을 스택에 저장하고(ⓔ), 서비스 루틴의 시작번지로 점프해 처리를 수행한다(ⓓ).
처리가 끝나면 스택에서 PC 값을 꺼내(ⓑ) 본 프로그램으로 복귀하고(ⓒ), 중단했던 원래의 프로그램번지부터 이어서 수행한다(ⓕ).
판별의 핵심은 저장이 점프보다 먼저라는 점이다. 점프한 뒤에는 PC가 이미 서비스 루틴 주소로 덮여 돌아올 지점을 잃으므로, 저장을 뒤로 미룬 배열이나 요구 접수보다 저장을 앞세운 배열은 성립하지 않는다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.