Dog foot print

[C-Architecture]인터럽트 본문

컴퓨터 구조

[C-Architecture]인터럽트

개 발자국 2019. 9. 29. 02:05

인터럽트 Interrrupt 

 

인터럽트란 프로그램을 수행 중 다른 명령이 먼저 수행되도록 하는 시스템 동작이다. 농구용어 intercept 라는 단어 처럼 기존 실행하던 명령어 순서를 빼앗고 새치기하는 형태의 명령 수행으로 기억하면 좋을 듯하다. 

 

인터럽트 서비스 루틴 ISR : interrupt service toutine

 

ISR은 인터럽트 접수에 의해 발생되는 인터럽트에 대응하여 특정 기능을 처리하는 기계어 코드 루틴이다. 

-위키백과 https://ko.wikipedia.org/wiki/인터럽트_핸들러

 

인터럽트가 발생되면 본인의 컴퓨터가 설정한 ISR을 완료 하고 종료 후 기존에 실행하다 중지된 명령어 부터 다시 실행한다.

 

 

인터럽트 실행시 CPU의 동작

 

현재 중지된 명령어의 주소를 메모리의 Stack에 적재한다. 그리고 program Counter는 루틴을 실행할 명령어 주소를 가리킨다.

 

ISR이 종료되면 PC는 마지막에 사용된 명령어의 주소를  stack으로 부터 가지고 와서 다시 실행한다. 

 

다중 인터럽트 처리 방법 

다중 인터럽트를 처리하기 위해서는 다음과 같은 두가지 방법이 있다. 

 

ISR이 실행 중일때 새로운 인터럽트 요청이 와도 새로운 ISR을 실행하지 않는 방법

 

인터럽트 플래그를 두어 ISR이 실행 중 일때 인터럽트 요청이 들어오더라도 플래그에 따라 실행이 되지 않게 하는 방법이다. 

 

주로 시스템 운영상 중요한 프로그램이나 중단 할 수 없는 데이터 입출력 등을 위한 인터럽트를 처리하는데 사용된다. 

 

인터럽트에 우선순위를 지정하여 우선순위가 높은 인터럽트를 먼저 수행하게 하는 방법 

 

인터럽트 우선순위는 다음과 같다.

 

전원 이상 > 기계 착오 > 외부 신호 > 입출력 > 명령어 오류 > 프로그램 검사 > 관리자 호출 

 

참조

https://devkim93.tistory.com/entry/%EC%9D%B8%ED%84%B0%EB%9F%BD%ED%8A%B8-%EC%9A%B4%EC%84%A0%EC%88%9C%EC%9C%84Priority-%EC%B2%B4%EC%A0%9C

 

인터럽트 운선순위(Priority) 체제

<인터럽트 우선순위> 전원 이상(Power Fail) 높음 ↑ ↓ 낮음 ↓ 기계 착오(Machine Check) ↓ 외부 신호(External) ↓ 입·출력(I/O) ↓ 명령어 잘못 ↓ 프로그램(Program Check) ↓ SVC(Supervisor Check) <인터..

devkim93.tistory.com

https://raisonde.tistory.com/entry/%EC%9D%B8%ED%84%B0%EB%9F%BD%ED%8A%B8Interrupt%EC%9D%98-%EA%B0%9C%EB%85%90%EA%B3%BC-%EC%A2%85%EB%A5%98

 

인터럽트(Interrupt)의 개념과 종류

인터럽트는 컴퓨터 구조에서 CPU의 활동에 많은 영향을 끼치는 중요한 개념이다. 어느 전산 시험, 어느 회차에서도 관련 문제가 꼭 등장하므로 인터럽트에 대해서만 확실히 이해하고 가도 몇 문제는 더 풀 수 있을..

raisonde.tistory.com

 

반응형
Comments