본문 바로가기

Hello CE,Mobile

IRQ(Interrupt Request) 란

 

Interrupt Request의 약자입니다.

일반적인 PC 시스템에는 16개의 IRQ(0~15번)를 지원합니다. (PCI interrupt와 ISA interrupt) IRQ라는 것을 좀 쉽게 설명하자면 PC 내부의 어떤 장치가 시스템에 자기가 system의 어떤 부분을 사용하기 위해 system을 콜을 하는 것입니다.

따라서 일반적으로 PC 시스템 내부의 장치는 각각 하나의 고유 IRQ를 갖습니다. 어떤 장치가 몇 번 IRQ를 사용해야하는지는 규정이 되어 있기도 하고, 그렇지 않은 경우도 있습니다. 규정이 되어있지않은 장치들에 대해서는 보통 처음 컴에 전원을 넣고 부팅을 하기전 과정에서 바이오스가 자동적으로 특정 IRQ로 세팅을 해주는 경우도 있고, 부팅후 O/S가 비어있는 IRQ를 특정장치에 할당해주는 경우도 있습니다. 주로 그 장치의 driver에 setting이 되어있는 경우도 많죠. 따라서 IRQ를 사용자가 직접 지정을 할 경우 대부분 그 장치가 동작을 하지 않는 경우가 많습니다. 이미 그 IRQ가 다른 장치에 할당이 되어있는 경우이거나, 장치의 드라이버에 setting 되어있는 IRQ가 아닌 IRQ를 사용자가 강제 지정하기 때문입니다. IRQ가 충돌을 일으킨다고 PC가 느려지지는 않습니다.

다만 그 장치가 동작을 않할뿐이죠. 일반적으로 요즘에 설계되는 컴들은 몇몇 장치들이 IRQ를 공유해서 쓰기도 합니다. 그만큼 장치의 종류는 많아졌는데 컴에 할당되어질 수 있는 IRQ 수는 제한적이기 때문이죠. 이렇게 IRQ를 공유해서 쓴다해도 컴에 문제가 생기거나 장치가 동작을 안 하지는 않습니다.

IRQ를 공유하는 장치들은 기본적으로 그 장치들이 동시에 system에 IRQ를 날릴 일이 없는 장치들이기 때문입니다.

요즘 사용자들이 컴에대해 많은 지식들이 있어서 이것저것 만지는 것은 좋으나, IRQ같은 system 내부에 관계되는 것들을 건드리는 것은 별로 좋은 방법이 아닙니다. 혹시 새로 추가한 특정장치가 동작을 하지 않는다면 IRQ를 바꿔봄도 좋으나 요즘은 거의 대부분 PCI방식의 장치들이므로 이 또한 아무런 의미가 없습니다.

그래도 정히 알고 싶으시다면 일반적으로 비어있거나 추가가 가능한 장비들을 위해 주로 사용되는 IRQ는 7,11번입니다.

장치에 할당된 IRQ를 보고싶으시다면 장치관리자 에서 메뉴중【 보기 ☞ 리소스(종류별)】을 check하시면 인터럽트 요청(IRQ)라는 항목이 보입니다.

거기서 인터럽트를 바꾸는 것도 가능합니다.(물론 변경이 가능한 장치일 경우만)

특정 장치를 마우스 오른쪽 클릭하시어 등록정보를 보시면 "리소스"라는 탭을 클릭하시면 변경이 가능한 장치일 경우는 "설정변경"이라는 항목이 active되어 있을 것이고 그렇지 않은 장치라면 글씨는 보이는데 누르지는 못하실 겁니다.


IRQ 0

시스템의 타이머는 TIMER-0에서 인터럽트 된다. 사용자가 정할 수 없는 옵션


IRQ 1

키보드 


IRQ 2

IRQ 8-15에 대한 종속 IRQ. 번호가 높은 IRQ의 오버랩 IRQ와 같은 역할을 한다. 종종 IRQ 9에 연결되는데, 예를 들면, SCSI 컨트롤러는 IRQ 2와 IRQ 9에 동시에 세팅되는 것을 들 수 있다.


IRQ 3

이 IRQ는 COM2/COM4에 이용된다. 일반적으로 모뎀은 IRQ 3에서 작동이 잘 된다. 만약 두 가지 장치가 IRQ는 같지만, 다른 COM포트를 가진다면 같은 IRQ를 나누어서 사용하는 것도 가능하다. 예를 들자면 IRQ 3을 사용하는 내장형 모뎀을 COM2에, 역시 IRQ 3을 사용하는 외장형 라디오 모뎀이나 스캐너를 COM4에 사용하는 것이 가능하다. 두 가지 장치 모두를 동시에 작동시키려고만 하지 않는다면, IRQ충돌도 걱정할 필요가 없다. 그래서 자주 사용되는 마우스의 IRQ는 나누어서 사용하면 안 된다는 것을 알 수 있다.


IRQ 4

주로 COM1/COM3에 이용되고, 표준 시리얼 마우스 연결에 사용된다. 위에서도 말했듯이 마우스를 사용하는 이 IRQ를 나누어 쓰는 것은 좋은 생각이 아니다.


IRQ 5

일반적으로 두 번째 프린터(LPT2) 포트에 사용된다. 뿐만 아니라 사운드 블래스터시리즈를 비롯한 많은 사운드 카드들이 기본으로 사용하고 있다. 만약 낮은 번호의 IRQ를 사용하는 네트워크 카드가 있다면, 보통 5번을 사용한다.


IRQ 6

플로피 드라이브 컨트롤러. 사용자가 정할 수 없는 옵션이다.


IRQ 7

첫 번째 패러렐 포트(LPT1)이다. 참고로 IRQ 7을 패러렐 외의 다른 용도로 세팅하는 것은 좋지 않다.


IRQ 8

Real Time Clock. 사용자가 정할 수 없는 옵션.


IRQ 9

IRQ 2와 겹친다. SCSI 호스트 어댑터, 네트워크 카드나 IRQ 5를 사용할 수 없는 사운드 카드에게 적당한 IRQ이다. SCSI 카드들은 IRQ 9나 11 중하나를 사용한다.


IRQ 10

대부분의 장치들이 사용할 수 없는 IRQ 이므로 네트워크 카드가 사용하기에 알맞은 IRQ이다.


IRQ 11

SCSI 컨트롤러가 선택할 수 있는 두 번째 IRQ이다.


IRQ 12

10번이나 11번과 비슷하다. 주로 버스 마우스가 사용한다.


IRQ 13

수학용 보조 프로세서. 사용자가 정할 수 없는 옵션이다.


IRQ 14

IDE 하드디스크 컨트롤러. 각각의 IDE 채널들은 각자의 IRQ를 요구한다. 한 개의 IRQ로 2개의 IDE 장치를 컨트롤 할 수 있다.


IRQ 15

두 번째 IDE 채널. 세컨드리를 IDE를 사용하지 않으면 다른 곳에 사용할 수 있다.


IRQ 들이 서로 겹쳐지지 않게 하기 위해서 균형을 맞추는 것이 바로 요령이라고 할 수 있다. 까다로운 장치들의 순서를 매겨 보자.


예를 들어, COM 포트는 IRQ 3번과 4번을 사용하고, 모뎀은 시리얼 마우스처럼 COM포트를 요구하기 때문에 IRQ 5에는 설치할 수 없다. 높은 번호의(7이상의) IRQ에서는 잘 작동하지 않는 사운드 카드 같은 장치들도 있다. 마지막으로 걱정되는 장치는 네트워크나 SCSI카드 같은 IRQ나 기본 IO 주소를 저장하기 위해 자체 ROM을 가지고 있는 장치들이다. Network나 SCSI 카드들은 높은 번호의 IRQ에서도 별 문제 없이 잘 작동한다.


마우스 COM1 IRQ4

모뎀 COM2 IRQ3

사운드 카드 COM없음 IRQ5

프린터 COM없음 IRQ7

SCSI 카드 COM없음 IRQ9

Network 카드 COM없음 IRQ10

Bus 마우스 COM없음 IRQ12

두 번째 IDE COM없음 IRQ15

보조 시리얼 COM4 IRQ3 (COM2와 동시에 사용하면 안됨)


이것은 아주 기본적인 목록이다. 약간은 도움이 될 듯 싶은데, 다른 방법들도 가능하기 때문에 직접 퍼즐 맞추는 기분으로 한 번 해볼 필요도 있다. 실제로 맞추기 전에 한 번 시도해 보는 것이 IRQ를 맞추기가 훨씬 쉬울 것이다.


충돌을 피하기 위해서 할 수 있는 최상의 조언은 사용하지 않는 것은 모두 디저블(disable) 시키라는 것이다. 만약 내장형 모뎀을 사용한다면, 콘트롤러의 COM2를 디저블 시키고, 버스 마우스를 사용한다면 COM1을 사용하지 않는 것이 좋다.


마찬가지로 세컨드리 IDE채널을 사용하지 않으면 그것을 disable 시킨다. 만약 패러렐 포트의 프린터만 사용한다면, Enhanced 모드보다 ! ;표준 모드로 사용하는 것이 좋다.


Enhanced 모드는 프린터의 속도를 빠르게 하는 것이 아니라, 높은 대역폭을 가지는 패러렐 장치를(ZIP 드라이브, CD-ROM, LapLink같은) 사용할 때를 위한 것이기 때문이다. 조심만 한다면, 사용하지 않는 포트를 굿이 억제시킬 필요는 없지만 만약을 위해 더 많은 공간을 사용할 수도 있다.


[COM포트 셋팅]


IRQ를 아는 이상, COM포트는 쉽다. 여기에 COM포트의 가능한 배치를 적어 보았다.


COM 인터럽트 주소(Address)

COM1 IRQ4 3f8h

COM2 IRQ3 2f8h

COM3 IRQ4 3e8h

COM4 IRQ3 3f8h


비록 4개의 COM포트가 있지만, 모두 2개의 IRQ만을 사용하고 있다. 요점만 간단히 이야기하자면, 4개의 시리얼 장치를 가질 수는 있지만, 동시에는 2개밖에 사용할 수 없다. 또 마우스는 자주 사용하기 때문에, 마우스와 다른 장치를 같은 IRQ를 나누어 사용하게 하는 것은 좋지 않다. 그렇다면 사용할 수 있는 COM 포트는 다음과 같다.


COM1 IRQ4

COM2 IRQ3

COM4 IRQ3


더 많은 장치가 필요하다면, 버스 마우스로 COM1이나 COM3에 자유롭게 바꾸어 가면서 사용하던가, 멀티포트 보드를 구입해서 2부터 128까지의 포트를 조절해가며 사용할 수 있다.


모뎀은 어느 COM포트에서나 잘 작동한다. 내장형 모뎀 같은 경우는 주로 현재 존재하는 컨트롤러와의 충돌을 피하기 위해서 COM4포트를 기본으로 사용한다. 이 경우에는 작동이 제대로 되지만, 사용중이지 않은 다른 COM포트에다 사용할 수도 있다.


대부분의 소프트웨어들은 기본적으로 COM2에 설정되기 때문에 일반적으로 콘트롤러에서 두 번째 COM 포트를 디저블 한후, 모뎀을 COM2로 해서 사용한다. 외장형 모뎀들은 주로 콘트롤러에 있는 COM ! 포트 설정에 따라 세팅한다. 어쨌던간에 모뎀을 사용한다면 COM2가 일반적으로 사용된다.


[패러렐 포트 세팅]

패러렐 포트의 세팅은 COM포트 세팅과 비슷하다. PC는 보통 3개의 패러렐 장치를 사용하는데, 목록을 적어보면 다음과 같다.


LPT 포트 IRQ 주소

LPT1 7 278h

LPT2 5 378h

LPT3   3bch


패러렐 포트도 마찬가지로 IRQ를 나누어 쓸 수 있다. 그러나 동시에 사용할 수는 없다. 대부분의 컴퓨터는 일반적으로 한 개의 패러렐 포트만 사용한다.



'Hello CE,Mobile' 카테고리의 다른 글

CreateEvent()  (0) 2009.12.03
윈도우 동기화  (0) 2009.12.02
CreateMutex()  (0) 2009.12.01
eVC4 에서 link시 CVT1102 에러  (0) 2009.11.25
인터럽트 처리과정  (0) 2009.11.17