← Documents Documentation/core-api/irq/concepts.rst GitHub 원문 ↗

Linux 6.18.37 · Core API

What is an IRQ?

IRQ 요청의 전달 방식과 공유, IRQ 번호가 나타내는 커널 식별자 및 하드웨어 인터럽트 소스 열거 개념을 설명합니다.

Source pathDocumentation/core-api/irq/concepts.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약과 해설

concepts.rst:1-25

IRQ는 장치가 CPU에 처리를 요청하는 인터럽트 신호이며 핀이나 패킷을 통해 전달됩니다. 여러 장치가 한 IRQ를 공유할 수 있으므로 IRQ 번호가 항상 장치 하나와 일대일로 대응하는 것은 아닙니다.

커널에서 IRQ 번호는 `irq_desc` 배열이나 `sparse_irqs` 트리를 통해 인터럽트 소스를 찾는 식별자 역할을 합니다. 구체적인 매핑과 번호의 추가 의미는 아키텍처와 하드웨어 구성에 따라 달라집니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 ===============
2 What is an IRQ?
3 ===============
4
5 An IRQ is an interrupt request from a device. Currently, they can come
6 in over a pin, or over a packet. Several devices may be connected to
7 the same pin thus sharing an IRQ. Such as on legacy PCI bus: All devices
8 typically share 4 lanes/pins. Note that each device can request an
9 interrupt on each of the lanes.
10
11 An IRQ number is a kernel identifier used to talk about a hardware
12 interrupt source. Typically, this is an index into the global irq_desc
13 array or sparse_irqs tree. But except for what linux/interrupt.h
14 implements, the details are architecture specific.
15
16 An IRQ number is an enumeration of the possible interrupt sources on a
17 machine. Typically, what is enumerated is the number of input pins on
18 all of the interrupt controllers in the system. In the case of ISA,
19 what is enumerated are the 8 input pins on each of the two i8259
20 interrupt controllers.
21
22 Architectures can assign additional meaning to the IRQ numbers, and
23 are encouraged to in the case where there is any manual configuration
24 of the hardware involved. The ISA IRQs are a classic example of
25 assigning this kind of additional meaning.
26

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

IRQ란 무엇인가

1-4

IRQ란 무엇인가? (What is an IRQ?)

장치의 인터럽트 요청

5-10

IRQ는 장치가 보내는 인터럽트 요청입니다. 현재 인터럽트 요청은 핀 또는 패킷을 통해 들어올 수 있습니다. 여러 장치가 같은 핀에 연결되어 하나의 IRQ를 공유할 수도 있습니다. 레거시 PCI 버스가 그 예로, 일반적으로 모든 장치는 4개의 레인 또는 핀을 공유합니다. 각 장치는 각 레인에서 인터럽트를 요청할 수 있습니다.

커널 식별자로서의 IRQ 번호

11-15

IRQ 번호는 하드웨어 인터럽트 소스를 지칭하기 위해 커널이 사용하는 식별자입니다. 일반적으로 전역 `irq_desc` 배열 또는 `sparse_irqs` 트리의 인덱스입니다. 다만 `linux/interrupt.h`가 구현하는 부분을 제외한 세부 사항은 아키텍처마다 다릅니다.

인터럽트 소스의 열거

16-21

IRQ 번호는 한 시스템에 존재할 수 있는 인터럽트 소스를 열거한 값입니다. 일반적으로 시스템의 모든 인터럽트 컨트롤러에 있는 입력 핀 수를 열거합니다. ISA의 경우에는 두 `i8259` 인터럽트 컨트롤러 각각에 있는 8개 입력 핀을 열거합니다.

아키텍처별 추가 의미

22-25

아키텍처는 IRQ 번호에 추가 의미를 부여할 수 있습니다. 특히 하드웨어를 수동으로 구성해야 하는 경우에는 그렇게 하도록 권장합니다. ISA IRQ는 이런 추가 의미를 부여한 대표적인 예입니다.