인터럽트 처리과정 및 정의, 종류 알아보기

정보통신 기술/컴퓨터 기술정보

인터럽트 처리과정 및 정의, 종류 알아보기

리챠드후앙 2021. 1. 11. 17:46
반응형

인터럽트란 사전적 의미로는

'끼어들다', '중단시키다' 의 의미를 가진 단어입니다.

, 어떤 일을 하는 중에 다른 무엇인가 끼어들어와서

하던 일을 중단시키고 끼어들어온 일부터 진행시키는 것을 의미합니다.

 

컴퓨터의 구조에서는 CPU 프로세서가 다른 여러 가지 원인에 의하여

현재 하는 일을 중단하고 발생된 일을 처리한 후

다시 실행중인 작업으로 복귀하는 것을 말합니다.

[Interrupt 종류]

 

외부 , 내부 , 소프트웨어 로 나눌수 있습니다.

 

내부 (소프트웨어)

프로그램 내부에서 발생하는 것으로, 잘못된 명령이나

잘못된 데이터를 사용할 때 발생되며 Trap이라고도 부릅니다.

 

예를들어 허용하지 않는 명령 또는 공간을 접근, 계산결과에 대한

오버플로어(Overflow)/언더플로어(Underflow) 등이 있습니다.

 

외부 (하드웨어)

일반적으로 컴퓨터의 하드웨어에서 발생하는 것으로,

전원의 이상, CPU의 기능 및 기계의 착오, 키보드 동작

또는 입출력 장치의 데이터 전송 등이 있습니다.

 

소프트웨어 (SVC : SuperVisor Call)

사용자가 프로그램을 실행 또는 감시프로그램(Supervisor)을 호출하는 동작을 수행하거나,

소프트웨어 실행 중 다른 프로세스를 실행시키면

시분할 처리를 위해 자원 할당 등의 동작이 수행 됩니다.

반응형

 인터럽트 요청 시 처리 과정

1) 인터럽트 요청 발생

2) 프로그램 수행 중단

-현재 수행중인 명령의 수행이 완료된 시점에서 중단

-현재의 주기억 장치 사이클이 끝나는 시점이 아님

3) PC에 기억되어 있는 주소를 안전한 곳에 기억시켜서 보존

4) 인터럽트 전처리 실행

- 원인 판단

- 처리 루틴(Interrupt Processing Routine)을 호출

 

5) 인터럽트 처리 루틴 수행

   - 프로그램의 상태를 안전한 곳에 기억시켜 보존

- 해결

6. 보존시킨 PC의 값을 PC, 그리고 보존시킨 프로그램의 상태를

환원시킨 프로그램의 수행을

중단되었던 곳에서부터 계속하여 수행 되도록 함

 

이처럼 처리과정은 PC의 값을 안전한 곳에 기억시켜 보존하고,

원인 판단. 인터럽트 처리 루틴(IRP)

수행을 개시시키는 순서로 이루어집니다.

다음은 Interrupt 요청 회선 방식을 보면,

3가지의 요청 방식이 있습니다.

 

단일 회선 인터럽트 요청 (Single Line Interrupt Request)

인터럽트 요청이 가능한 장치를 CPU와 단일 회선으로 연결하는 방식입니다.

 

모든 자원이 하나의 회선을 사용하므로

인터럽트를 요청한 장치 판별 과정이 필요하고 복귀 주소인 PC값을

Memory 0번지나 Stack에 저장해서 처리 속도가 느립니다.

 

■ 다중 회선 인터럽트 요청 (Multiple Line Interrupt Request)

: CPU에 인터럽트 레지스터의 각 비트에 고유 회선을 연결하는 방식입니다.

 

장치마다 고유한 요청 신호 회선을 가지므로

인터럽트 요청한 장치 판별 과정이 필요 없으므로 처리 속도가 빠릅니다.

 

■ 혼합 방식 (Mixed Interrupt Request)

: 단일, 다중 방식의 장점을 모아 놓은 방식입니다.

우선순위를 보면

 

여러 장치를 통해 인터럽트가 동시에 발생하거나

서비스 루틴을 수행하는 중에

인터럽트가 발생했을 경우 우선순위를 따져서 처리합니다.

 

1) 전원 이상 (Power fail)

: 정전 Interrupt

 

2) 기계 고장 (Machine Check)

: 기계 이상에 의해서 발생한 Interrupt

 

3) 외부 신호 (External)

: 외부 프로세서 등의 요청에 의해 발생한 Interrupt

 

4) 프로그램 검사 (Program Check)

: 불법적인 연산자 사용, Overflow/Underflow Interrupt

 

5) SVC(SuperVisor Call)

: 제어 프로그램 호출 Interrupt

 

일반적으로 하드웨어가 소프트웨어 Interrupt가

보다 우선 순위가 높고,

내부 보다 외부 Interrupt가 우선 순위가 높습니다.

 

또한 내,외부 신호에 의해서 발생하며,

분기주소는 하드웨어에 의해 결정됩니다.

 

많은 도움 되시길 바랍니다.

반응형