자격증/정보처리기사

정보처리기사 전자계산기 구조 요약 11

IT grow. 2019. 7. 22. 15:57
반응형
전자계산기 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

반응형