Copyright (c) 1999, Eugene Blanchard 번역 : 배 철수 [리눅스 월드 발행인]
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
이기사는 IBM 호환 기종 피시에서 IRQ, DMA,
Base Address 의
1. IRQ - Interrupt Request IRQ는 Interrupt ReQuest를 말한다. 이는 ISA 슬롯(EISA 및 MCA에서도 같다)에 꼽힌 주변기기 카드가 CPU에게 뭔가 할 말이 있다며 어깨를 툭툭 치는 행동이다. 흔한 주변기기 카드는 내장모뎀, 랜카드(NIC : network interface cards), 사운드카드, SCSI 어뎁터, HDD 콘트롤러, FDD 콘트롤러, COM 포트 및 프린터 포트 등이다. IRQ는 하드웨어 인터럽트이다. 이는 마더보드의 ISA 슬롯으로 물리적인 라인이 연결된다는 의미이다. ISA 슬롯에는 두가지 형태가 있다. 8비트와 16비트이다. 16비트는 8비트 슬롯에 16비트 익스텐션 슬롯이 추가된 형태이다. 8비트 ISA 슬롯으로는 8개의(IRQ 0~7) IRQ 라인이 연결된다. 16비트 익스텐션 슬롯으로는 추가로 8개의(IRQ 8~15) IRQ 라인이 더 연결된다. 일반적인 ISA 버스에는 총 16개의 IRQ가 있다. IRQ 0가 우선 순위가 가장 높고 IRQ7이 가장 낮다. IRQ8-15는 나중에 설명하는 것 처럼 특별한 우선권을 갖는다. IBM이 AT 피시를 소개했을 때 IRQ8-15를 추가했다. 그러나 AT 피시를 8비트 XT와 후방 호환성을 갖도록 하기위해, 그리고 새로운 IRQ라인의 우선순위를 올리기 위해, 두 인터럽트 콘트롤러를 연결했다. 결과로 IRQ8-15는 IRQ2와 같은 우선권을 갖는다. 우선권이란 두 IRQ 라인이 동시에 서비스를 요청시 높은 우선권을 갖는쪽이 우선 서비스를 받는다는 뜻이다. ■ 중요 ▷ IRQ 충돌이 피시 오작동의 가장 주요한 원천이다. 여기에 피시에서 IRQ를 선택하는 기준을 제시한다. IRQ는 우선 순위에 따라 나열했다.(위에서 나는 모든 IRQ 라인이 카드 슬롯으로 연결된다고 거짓말을 했다.)
*. IRQ9는 IRQ2인 것처럼 보인다. 보통은 잘 사용되지 않는다. 미묘한 문제를 야기하기 때문이다. IRQ9인가 아니면 9에 연결된 2인가. 위는 IRQ 선택에 대한 가이드라인이다. 대부분의 오토디텍트 소프트웨어나 리눅스 운영체제는 위와 같이 IRQ가 할당되는 것으로 기대한다. 역자 주 ▶ 2번과 9번은 둘 중 하나만 사용이 가능하나 일부 피시에서 문제를 야기한다. 3,4,5,7,12번을 다른 장치에서 사용하려면 CMOS 셋업에서 해당 주변기기를 disable 해주어야한다. ▷ COM 포트 충돌 com1과 com3는 IRQ4를 공유한다. 때문에 한 순간에는 한 개의 장치만 사용이 가능하다. 만약 com1에 마우스를 쓴다면 com3에 연결된 내장모뎀을 사용할 수 없다. 몇몇 통신프로그램에서 이것을 가능하게 하기도 하나 이상한 결과를 가져온다. 흔한 증상은 마우스를 움직이면 터미널프로그램에 쓰레기 문자가 나타난다. com2와 com4도 IRQ3을 공유한다. 그러나 대부분은 com2를 사용하지 않으므로 내장모뎀을 com4로 셋팅하는건 별 문제가 없다. com2는 보통 외장형 모뎀이나 플로터에 많이 사용되고 있다.
2. DMA - Direct Memory Access 이는 주변기기가 CPU를 거치지 않고 직접 메모리와 읽기/쓰기를 할 수 있는 통로를 연결하는 것이다. 이는 CPU가 다른 작업을 할 수 있도록 부담을 덜어준다. 피시에는 8개의 DMA 채널이 있다 : DMA0-7 아래는 DMA 채널을 선택하는 기준이다.
주 ▶ ▷ DMA 충돌이 피시 오작동의 2번째 원천이다. IRQ와 같이 한 순간에 활성화된 장치에 한 개의 DMA 채널만을 할당할 수 있다. 활성화란 단어를 주목하라. 이는 그 장치가 켜있고 소프트웨어에서 그 장치를 접속하고 있음을 의미한다. 한 순간에 한 장치만 활성화된다면 2개의 장치에 1개의 DMA 채널을 할당할 수 있다. 위험하기는 하나 가능하다.
3. Base Address 베이스 어드레스는 I/O ports, I/O address, base ports라고도 불린다. 이들은 운영체제와 IO 장치사이의 가교역할을 하는 메모리 장소이다. 주변기기는 운영체제와 베이스어드레스를 통해 대화한다. 각 주변기기는 독자작인 베이스어드레스를 갖고 있어야 한다. 표준 베이스 어드레스 할당 (16진법)
▷ 베이스 어드레스 충돌이 피시 오작동의 세번째 주요 요인이다. 위는 베이스 어드레스의 일부분의 사용 내역이다.
4. 리눅스에서의 자원배분에대한 정보 리눅스에서 위의 자원에 대한 구성을 보려면 /proc 디렉토리에서 아래 명령을 주라. cat /proc/interrupts 사용중인
IRQ 명세 |