관리 메뉴

Frog is cry

전자계산기 구조 : 7-인터럽트 및 병렬 컴퓨터 구조 본문

자격증/정보처리산업기사

전자계산기 구조 : 7-인터럽트 및 병렬 컴퓨터 구조

Frog is cry 2020. 8. 6. 19:07

1장 인터럽트의 기본

인터럽트 개념

> 인터럽트의 필요성은 중앙 처리 장치와 주변 장치의 차이에 따른 효율적인 시스템 자원의 활용과 기계적 장애로 인하여 실행하던 프로그램을 완료하지 못하였을 때, 처음부터 다시 하지 않고 중단된 위치로 복귀되어 이상 없이 계속해서 프로그램이 진행되도록 하는데 있다.

 

인터럽트의 원인

> 정전, 데이터 전달 과정의 오류, 기계 장치의 장애

> 타이머, 외부 프로세스 등의 요청

> 컴퓨터 조작원의 의도적인 동작

> 보호된 기억 공간의 접근, 불법적인 명령어의 수행

> 0으로 나누기, Overflow/Underflow 발생

> 페이지 폴트, 캐시 미스 발생 

> 입출력 장치에서 CPU에게 기능 요청 시

> SCV(SuperVisor Call) 인터럽트

 

인터럽트의 종류

외부 인터럽트(External Interrupt)

> 예상할 수 없는 시기에 프로세스 외부인 주변 장치에서 처리를 요청하는 인터럽트를 의미한다.

> 타이머 인터럽트 : 정해진 시간이 지났을 때 발생시키는 인터럽트를 의미한다.

> I/O 인터럽트 : 조작원(Operator)의 의도적 동작, 입출력 장치가 전송을 요구, 전송을 끝내고 나서 발생시키는 인터럽트를 의미한다.

> 머신 체크(Machine Check) 인터럽트 : 기계적인 고장에 의해서 발생시키는 인터럽트를 의미한다.

> 정전 인터럽트 : 전원의 이상으로 전기 공급이 갑자기 중단되어 발생하는 인터럽트를 의미한다.

 

내부 인터럽트(Internal Interrupt)

예상된 시기에 어떤 기능을 발휘하도록 하기 위해 프로세스 내부에서 발생하는 인터럽트로 트랩(Trap)이라고도 한다.

> 0으로 나누기 인터럽트

> Overflow/Underflow 인터럽트

> 불법적인 명령어 사용 인터럽트

> 보호 공간 접근 인터럽트

 

2장 인터럽트 체제

인터럽트 동작 순서

인터럽트 요청 > 현 상태 보존 > 인터럽트 판별 > 인터럽트 취급 > 인터럽트 복귀

 

고유 인터럽트 신호 요청 회선(벡터 인터럽트(Vector Interrupt) 방식

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

> 벡터 인터럽트 방식이라고도 하며, 하드웨어 신호가 발생하면 인터럽트 서비스 루틴으로 분기하는 명령들로 구성된 인터럽트 벡터를 이용하여 바로 인터럽트 서비스 루틴을 실행시킨다.

> 장치마다 고유한 인터럽트 요청 신호 회선을 가지므로 인터럽트를 요청한 장치 판별 과정이 필요없다.

 

소프트웨어(S/W)에 의한 판별 폴링((Polling))

> 인터럽트 요청을 받았을 때 프로그램에 의해 각각의 장치 플래그를 검사하여 어느 장치에서 발생하였는가를 판별하는 방식이다.

> 프로그램으로 처리를 하기 때문에 인터럽트 반응 속도가 느리다.

> 프로그램의 변경이 쉽기 때문에 융통성이 있다.

> 하드웨어적인 장비가 없기 때문에 경제적이다.

> 비교적 큰 정보를 교환하는 시스템에 적합하다.

> 우선순위 변경이 비교적 쉽다.

 

3장 인터럽트 우선순위 체제

인터럽트 우선순위(Interrupt Priority) 순서

전원 이상 인터럽트(Power Fail) > 기계 고장 인터럽트(Machine Check) > 외부 신호 인터럽트 > 프로그램 인터럽트(Program Check) > SVC(SuperVisor Call) 

 

소프트웨어에 의한 우선순위 부여 방식(폴링(Polling) 방식)

> 인터럽트 순위가 가장 높은 장치로부터 가장 낮은 장치 순으로 비교 순서를 정해 놓고 우선순위를 부여하는 방식으로 폴링(Poling)이라고 한다.

> 프로그램으로 처리를 하기 때문에 인터럽트 반응 속도가 느리다.

> 프로그램의 변경이나 수정이 쉽기 때문에 융통성이 있다.

> 하드웨어적인 장비가 없기 때문에 경제적이다.

 

데이지 체인(Daisy Chain)에 의한 우선순위 부여 방식

인터럽트 순위가 가장 높은 장치로부터 가장 낮은 장치순으로 하드웨어 회로를 직렬로 연결(Daisy Chain)하여 우선순위를 부여한 방식이다.

 

인터럽트 요청 제안 방식(Interrupt Request Chain)

> 직렬연결 회로에서 CPU의 인터럽트 인지신호를 최초로 받은 장치가 가장 우선순위로 높도록 회로를 설계하여 우선순위를 부여하는 방식이다.

 

인터럽트 우선순위 체인 방식(Inteerrupt Priority Chain)

> 인터럽트 요청을 하는 장치 중에서 가장 우선순위가 높은 장치만이 장치번호 버스를 이용하여 장치번호를 보낼 수 있도록 회로를 설계하여 우선순위를 부여하는 방식이다.

 

Comments