인터럽트란?
|
컴퓨터가 파일을 처리하면서 복잡하고 커다란 파일을 처리하면 거기에 집중해서 아무런 일을 못하게 됩니다. 커다란 파일을 복사하는데 CPU가 마우스 동작을 받지 않고 거기에만 집중한다면 파일을 옮길동안 아무것도 하지 못하는 상황이 될 것입니다. 이런예기치 않은 상황이 발생할 경우 현재 실행중인작업을 일시 중단하고, 발생된 상황을 우선 처리한 후 실행중이던 작업으로 복귀하여 계속 처리하는 것을 말합니다.
IRQ
인터럽트를 요청하는 것에도 우선순위가 있습니다. 이것을 IRQ라고 부르는데 컴퓨터를 구성하는 각 장치들은 CPU에게 인터럽트를 요청할 때 CPU가 각 장치를 구분할 수 있는 고유한 IRQ가 있습니다. CPU는 각 장치에서 발생하는 IRQ를 확인한 후 우선순외가 가장 높은 장치에게 먼저 인터럽트를 허용합니다. 만약 IRQ가 동일한 하드웨어가 있으면 충돌이 발생하여 두 장치 모두 사용할 수 없게 됩니다.
인터럽트는 외부 인터럽트, 내부 인터럽트, 소프트웨어 인터럽트로 구분됩니다.
외부인터럽트
외부인터럽트는 입·출력장치, 타이밍 장치, 전원 등 외부적인 요인에 의해서 발생합니다.
예를들면
입 출력장치가 데이터의 전송을 요구하거나 전송이 끝났음을 알리는 경우
특정 장치에 할당된 작업 시간이 끝났을 경우
컴퓨터의 전원 공급이 끊어졌을 경우
내부 인터럽트
내부인터럽트는 다음과 같이 잘못된 명령이나 데이터를 사용할 때 발생하며, 트랩이라고도 부른다.
예를들면
명령 처리 중 오버플로 또는 언더플로가 발생했을 경우
0으로 나눈느 명령이 수행됬을 경우
소프트웨어 인터럽트
소프트웨어 인터럽트는 프로그램 처리중 명령의 요청에 의해 발생하는 것으로, 가장 대표적인 형태는 운영체제의 감시 프로그램을 호출하는 SVC인터럽트가 있다.
'이론 > 컴퓨터 개론' 카테고리의 다른 글
보조기억장치의 이해 (0) | 2014.10.10 |
---|---|
주기억장치의 이해 (0) | 2014.10.10 |
메인보드란? (0) | 2014.10.09 |
2진법 연산 - 빼기 (1) | 2011.04.23 |
2진법 연산 - 진법 바꾸기 (0) | 2011.04.21 |