전자계산기 11장
1. 인터럽트
- 예기치 않은 상황이 발생할 경우 먼저 처리하고 실행 중이던 작업으로 복귀
- 복귀 주소인 PC의 값은 스택에 저장
- 인터럽트의 실질적인 조치를 하는 서비스 루틴을 실행할 때 인터럽트 플래그를 0으로 하면 인터럽트 발생을 방지
- 페이지 폴트 ( CPU가 액세스한 페이지가 주기억장치에 없는 현상 ) 에도 인터럽트 발생
- 부프로그램 호출 시 인터럽트 발생 X
- 처리할 데이터양이 많은 경우 인터럽트 발생 X
- 분기명령의 실행 시 인터럽트 발생 X
2. 인터럽트 종류
- 하드웨어 인터럽트
ㄱ. 기계 착오 인터럽트, 기계 검사 인터럽트(Machine Check Interrupt) : 컴퓨터 자체 내의 기계적인 장애가 발생할 경우
ㄴ. 외부 인터럽트 : 타이머에 의해 주어진 CPU 사용 시간을 해당 프로세스가 모두 소진할 경우, 오퍼레이터가 콘솔상의 인터럽트 키를 입력한 경우
ㄷ. 전원 이상 인터럽트 : 정전 ( 우선순위가 가장 높음 )
ㄹ. 입출력 인터럽트 : 프린터에 용지가 부족한 경우
- 소프트웨어 인터럽트 ( = 트랩 )
ㄱ. 프로그램 검사 인터럽트 : 불법적인 명령, 0으로 나누기, Overflow 또는 Underflow가 발생한 경우, 보호 영역 내의 기억장소 참조
ㄴ. SVC ( SuperVisor Call) 인터럽트 : 프로그램 처리 중 명령의 요청에 의해 발생할 경우, 사용자가 의도적으로 호출한 경우
3. 인터럽트 발생 시 CPU가 확인할 사항
- 프로그램 카운터의 내용
- 레지스터의 내용
- PSW ( 상태 조건의 내용 )
4. 인터럽트 체제의 동작 순서
ㄱ. 인터럽트 요청 신호 발생
ㄴ. 현재 실행 중이던 명령은 끝까지 실행
ㄷ. 현재의 프로그램 상태(PSW)를 보존 : 다음 실행할 명령의 번지는 PC가 가지고 있음
처리 루틴 |
서비스 루틴 |
ㄹ. 인터럽트를 요청한 장치를 식별 |
ㅁ. 인터럽트의 실질적인 조치 |
ㅂ. 상태 복구 : 보존 시켰던 PC의 값을 복구 |
|
인터럽트 서비스 프로그램 실행 중에 우선순위가 높은 인터럽트가 발생하면 우선순위가 높은 인터럽트를 먼저 처리 |
- 인터럽트 서비스 루틴의 기능 : 상대적으로 낮은 레벨의 마스크 레지스터 클리어
- 벡터 인터럽트 ( Vectored Interrupt ) : 하드웨어 신호에 의해 특정 번지의 서브루틴을 수행하는 것
5. 인터럽트 우선순위 판별 방법
- 소프트웨어적인 방법
ㄱ. 폴링(Polling)이라고 함
ㄴ. 인터럽트 요청 신호 플래그를 차례로 검사하여 인터럽트의 원인을 판별
ㄷ. 우선순위 변경이 쉬움
- 하드웨어적인 방법
ㄱ. 벡터 인터럽트(Vectored Interrupt) 라고 함
ㄴ. 데이지 체인 : 인터럽트를 발생시키는 모든 장치들을 인터럽트 우선순위에 따라 직렬로 연결한 방식
ㄷ. 소프트웨어적인 방법에 비해 속도가 빠름
6. 인터럽트 우선순위 운영 방식
- LCFS , FCFS , Masking Scheme
'자격증 > 정보처리기사' 카테고리의 다른 글
정보처리기사 전자계산기 구조 요약 13 (0) | 2019.07.22 |
---|---|
정보처리기사 전자계산기 구조 요약 12 (0) | 2019.07.22 |
정보처리기사 전자계산기 구조 요약 10 (0) | 2019.07.22 |
정보처리기사 전자계산기 구조 요약 9 (0) | 2019.07.22 |
정보처리기사 전자계산기 구조 요약 8 (0) | 2019.07.22 |
#IT #먹방 #전자기기 #일상
#개발 #일상