인터럽트 편집하기
IT위키
편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
19번째 줄: | 19번째 줄: | ||
=== 내부 인터럽트 === | === 내부 인터럽트 === | ||
* 잘못된 명령이나 잘못된 데이터를 사용할때 발생 | * 잘못된 명령이나 잘못된 데이터를 사용할때 발생 | ||
* '''Trap'''이라고도 함 | |||
* '''프로그램 검사 인터럽트(Program check interrupt)''' | * '''프로그램 검사 인터럽트(Program check interrupt)''' | ||
** Division by zero | ** Division by zero | ||
42번째 줄: | 43번째 줄: | ||
#* 인터럽트 서비스 루틴을 실행할 때 인터럽트 플래그(IF)를 0으로 하면 인터럽트 발생을 방지할 수 있다. | #* 인터럽트 서비스 루틴을 실행할 때 인터럽트 플래그(IF)를 0으로 하면 인터럽트 발생을 방지할 수 있다. | ||
# '''상태복구''' : 인터럽트 발생 시 저장해둔 PC(Program counter)를 다시 복구한다. | # '''상태복구''' : 인터럽트 발생 시 저장해둔 PC(Program counter)를 다시 복구한다. | ||
# '''중단된 프로그램 실행 재개''': | # '''중단된 프로그램 실행 재개''': PC의 값을 이용하여 이전에 수행중이던 프로그램을 재개한다. | ||
== 인터럽트 우선순위 == | == 인터럽트 우선순위 == | ||
56번째 줄: | 58번째 줄: | ||
* 일반적으로 하드웨어 인터럽트가 소프트웨어 인터럽트보다 우선 순위가 높고, | * 일반적으로 하드웨어 인터럽트가 소프트웨어 인터럽트보다 우선 순위가 높고, | ||
* 일반적으로 내부 인터럽트 보다 외부 인터럽트가 우선 순위가 높다. | * 일반적으로 높고 내부 인터럽트 보다 외부 인터럽트가 우선 순위가 높다. | ||