인터럽트(Interrupt)

Download Report

Transcript 인터럽트(Interrupt)

인터럽트(Interrupt)
목표
1.인터럽트의 개념에 대해 이해한다.
2.인터럽트의 종류를 구별한다.
3.인터럽트가 어떻게 수행하는지 동
작체계를 이해한다.




1.
2.
3.
4.
인터럽트의 개념
인터럽트의 종류
인터럽트의 동작체계
우선순위
(1)인터럽트의 개념
① 개념
정상적인 명령어 인출 단계로 진행하지 못하고, 그 때에 특별히 부여된
작업을 수행한 후 원래의 인출 단계로 진행하도록 하는 것이다.
② 발생하는 경우
*정전이나 기계적인 고장
*프로그램의 잘못
*조작원의 지시
*입출력 기능
*프로그램에서 인터럽트 요청
③ 필요성
중앙 처리 장치와 주변 장치의 차이에 따른 효율적인 시스템 자원의 활용
과 기계적 장애로 인하여 실행하던 프로그램을 완료하지 못하였을 때, 처
음부터 다시 하지 않아도 되도록 할 수 있기 때문에 한다.
(2) 인터럽트의 종류
① 외부 인터럽트
: 조작원이 콘솔에서 인터럽트 스위치를 눌러서 강제로 인터럽트 시키거나
정해놓은 되었을 때 계시기(timer)에서 인터럽트를 발생시키는 경우 및 전원
스위치가 꺼지거나 정전이 되는 경우에 해당한다.
② 기계오류 인터럽트
: 프로그램이 실행되는 중에 어떤 장치의 고장으로 인하여 제어 프로그램에
게 조치를 취해주도록 요청하는 인터럽트이다.
③ 프로그램 검사 인터럽트
: 프로그램 실행 중에 잘못된 데이터를 사용하거나 보호된 구역에 불법 접근
하는 등의 프로그램 자체에서 잘못되었기 때문에 발생되는 인터럽트이다.
④ 입출력 인터럽트
: 입력이나 출력 명령을 만나면 현재 프로그램의 진행을 정지하고 입출력을
담당하는 채널 같은 기구에 입출력이 이루어지도록 명령하고 중앙 처리 장
치는 다른 프로그램을 실행하도록 하는 인터럽트이다.
⑤ 감시 프로그램 호출 인터럽트
: 프로그램 내에서 제어 프로그램에게 인터럽트를 요청하는 명령으로 인터
럽트 시키는 방법이다.
(3) 인터럽트 동작의 체계
① 인터럽트 요청 순서
1.인터럽트 발생 장치로부터 인터럽트 기능을 요청한다.
2.제어 프로그램에서는 현재 실행 중이던 프로그램의 상태를 안전한 장소
에 보관시킨다.
3.인터럽트의 원인이 무엇인지를 찾아 그것을 처리하는 인터럽트 취급 루
틴을 실행시킨다.
4. 인터럽트 취급 루틴에서는 해당 인터럽트에 대한 조치를 취한다.
5. 인터럽트 요청 시 보관되었던 상태를 이용하여 원래 프로그램이 계속되
도록 한다.
② 인터럽트 요청 회선
중앙 처리 장치에 회선을 연결하는 방법의 종류
단일 회선 방식 : 단일 회선으로 된 버스에 여러 장치가 인터페이스를 통
하여 결합시키는 방법
다중 회선 방식 : 각 장치가 독립적인 전용 회선을 인터페이스를 중계하여
결합시키는 방법
혼합 회선 방식 : 다중 회선을 가지고 있고, 각 회선에는 여러 개의 장치들
이 인터페이스를 통하여 결합시키는 방법
③ 하드웨어적 장치 판별
중앙 처리 장치에서 인터럽트 판별 신호를 보내면 인터레이스에 의하여
해당 장치의 번호가 중앙 처리 장치에 전달되게 한다.
④ 소프트웨어적 장치 판별
각 장치별로 부여한 각 장치 코드가 있어야 한다.
⑤ 상태 보관 방법
명령 계수기를 보관하는 방법 3가지
*프로그램에서 사용하지 않는 0번지에 기억시키는 방법
*스택에 저장하는 방법
*명령 계수기의 내용과 인터럽트 취급 루틴을 하나의 쌍으로 하녀 인터럽
트 배열 내에 함께 기억시키는 방법
(4)우선순위
▲우선 순위 부여 방법
가장 최근에 발생한 것을 먼저 처리하는 근착 우선(last come first serve),
가장 먼저 요청한 것을 먼저 처리하는 선착 우선(first come first serve)
① 우선 순위 체제
: 인터럽트를 처리하기 위한 우선 순위 체제 세가지
1. 각 장치에 우선 순위를 부과하는 기능
2. 인터럽터를 요청한 장치의 우선 순위를 판별하는 기능
3. 우선 순위가 높은 것을 먼저 처리할 수 있는 기능
▲우선순위를 부여하는 순위
1. 정전이나 전원의 끊어짐
2. 기계적 고장
3. 프로그램의 오류:
4. 조작원의 인터럽트 지시
5. 입력과 출력
② 하드웨어에 의한 방법
(가) 인터럽트 요청 체인
우선 순위가 높은 장치에서 인터럽트를 요청하면 그 보다 더 낮은 등급의
장치는 그 처리가 끝날 때까지 인터럽트 요청을 못하도록 하는 것
(나) 인터럽트 우선 순위 체인
인터럽트를 요청할 때 자신의 장치 번호를 버스에 나타나도록 하고, 우선
순위가 높은 장치만이 장치 번호 버스를 사용하도록 하는 방법
③ 소프트웨어에 의한 방법
프로그램 내에 각 장치 코드별로 부여된 우선 순위에 따라 선택할 수 있는
프로그램에서 수행하게 하는 방법, 각 장치별로 우선 순위를 나타내는 코
드가 있어야 함.