인터럽트 란 무엇입니까? 유형 및 응용 프로그램

문제를 제거하기 위해 도구를 사용해보십시오





PC는 인터럽트 요청을 사용하여 다양한 하드웨어 기능을 처리합니다. 하드웨어 인터럽트는 1953 년 UNIVAC 1103에 의해 처음 도입되었습니다. 인터럽트 마스킹의 최초 발생은 1954 년 IBM 650에 의해 통합되었습니다. 다양한 기능을 수행하려면 다른 하드웨어 장치에 다른 IRQ를 할당하는 것이 필수적입니다. 프로그램 실행 중에 키보드, 마우스와 같은 장치는 CPU 서비스를 필요로하며 CPU의주의를 끌고 요청 된 서비스를 처리하기 위해 인터럽트를 생성합니다. 이것들은 인터럽트 . I / O 장치의 버스 중 하나는 ISR (Interrupt Service Routine)로 알려져 있습니다. 이들은 시간에 민감한 이벤트, 데이터 전송, 비정상 이벤트 강조, 감시 타이머, 트랩 등과 같은 다양한 애플리케이션에 사용됩니다.

인터럽트 란 무엇입니까?

정의: 입력이라고합니다. 신호 이벤트의 즉각적인 처리가 필요한 하드웨어 또는 소프트웨어 이벤트에 대해 가장 높은 우선 순위를 갖습니다. 컴퓨팅 초기에는 프로세서 신호가 이벤트를 처리 할 때까지 기다려야했습니다. 프로세서는 처리 할 신호가 있는지 이해하기 위해 모든 하드웨어 및 소프트웨어 프로그램을 확인해야합니다. 이 방법은 많은 클록 사이클을 소비하고 프로세서를 사용하게 만듭니다. 신호가 생성되는 경우 프로세서가 이벤트를 처리하는 데 다시 시간이 걸리므로 시스템 성능이 저하됩니다.




이 복잡한 프로세스를 극복하기 위해 새로운 메커니즘이 도입되었습니다. 이 메커니즘에서 하드웨어 또는 소프트웨어는 프로세서가 하드웨어 또는 소프트웨어의 신호를 확인하는 대신 신호를 프로세서로 보냅니다. 신호는 우선 순위가 가장 높은 프로세서에 경고하고 현재 상태와 기능을 저장하여 현재 활동을 일시 중단하고 인터럽트를 즉시 처리합니다.이를 ISR이라고합니다. 오래 가지 않기 때문에 프로세서는 처리되는 즉시 정상적인 활동을 다시 시작합니다.

일시 정지

일시 정지



인터럽트 유형

이들은 두 가지 주요 유형으로 분류됩니다.

하드웨어 인터럽트

프로세서와 통신하기 위해 외부 장치 또는 하드웨어에서 보내는 전자 신호로 즉각적인주의가 필요함을 나타냅니다. 예를 들어 키보드의 스트로크 또는 마우스의 동작은 CPU가이를 읽고 처리하도록하는 하드웨어 인터럽트를 호출합니다. 따라서 명령을 실행하는 동안 비동기 적으로 그리고 어느 시점 에든 도착합니다.

하드웨어 인터럽트는 두 가지 유형으로 분류됩니다.


  • 마스크 가능한 인터럽트 – 프로세서는 하드웨어 인터럽트의 활성화 및 비활성화를 허용하는 마스크 레지스터를 인터럽트해야합니다. 모든 신호는 마스크 레지스터에 비트가 있습니다. 이 비트가 설정되면 비트가 설정되지 않았을 때 인터럽트가 활성화 및 비활성화되거나 그 반대의 경우도 마찬가지입니다. 이러한 마스크를 통해 프로세서를 인터럽트하는 신호를 마스크 인터럽트라고합니다.
  • 마스크 불가능 인터럽트 (NMI) – NMI는 감시 타이머에서 생성 된 시간 초과 신호와 같은 모든 상황에서 즉시 처리되어야하는 최우선 순위 활동입니다.

소프트웨어 인터럽트

프로세서 자체는 특정 명령을 실행하거나 특정 조건이 충족되는 경우 소프트웨어 인터럽트를 요청합니다. 이는 서브 루틴 호출과 같은 인터럽트를 트리거하는 특정 명령어 일 수 있으며 예외 또는 트랩으로 알려진 프로그램 실행 오류로 인해 예기치 않게 트리거 될 수 있습니다.

트리거링 방법

일반적으로 이러한 신호는 로직 신호 레벨 또는 신호 에지를 사용하여 트리거하도록 설계되었습니다. 이 방법은 두 가지 유형이 있습니다.

레벨 트리거 인터럽트

이 유형에서 입력 모듈은이 서비스 수준이 어설 션되면 인터럽트를 호출합니다. 펌웨어 인터럽트 핸들러가 인터럽트 소스를 처리 할 때 인터럽트 소스가 계속 주장되면이 모듈은 핸들러를 재생성하고 트리거하여 다시 호출합니다. 레벨 트리거 입력은 오랜 기간 동안 어설 션을 유지하면 좋지 않습니다.

에지 트리거 인터럽트

에지 트리거 인터럽트 입력 모듈은 어설 션 에지 (하강 또는 상승 에지)를 식별하는 즉시 인터럽트를 호출합니다. 소스 레벨이 변경되면 가장자리가 눈에 띕니다. 이러한 유형의 트리거는 소스의 활동에 관계없이 즉각적인 조치가 필요합니다.

레벨 에지 트리거

레벨 에지 트리거

시스템 구현

인터럽트는 제어 라인과 함께 다른 구성 요소로 하드웨어에 적용됩니다. 통합 으로 기억 하위 시스템. 하드웨어에서 구현이 수행되는 경우 CPU의 입력 핀과 인터럽트 장치 사이를 연결하기 위해 PCI (Programmable Interrupt Controller)가 필요합니다. PCI는 다양한 인터럽트 소스를 단일 또는 이중 CPU 라인에 다중화합니다. 메모리 컨트롤러와 관련하여 구현 될 때 시스템의 메모리 주소 슬롯은 인터럽트와 직접 매핑됩니다.

IRQ (공유 인터럽트 요청)

에지 트리거 인터럽트, 풀업 또는 풀다운 저항기 인터럽트 라인을 구동하는 데 사용됩니다. 이 라인은 각 장치에서 생성 된 모든 펄스를 전송합니다. 서로 다른 장치에서 생성 된 인터럽트 펄스가 제 시간에 발생하는 경우 CPU는 인터럽트를 놓치지 않도록 펄스의 후행 에지를 호출해야하며, CPU는 서비스 요청에 대해 모든 장치를 검사합니다. IRQ 라인을 공유하는 풀업 저항이있는 잘 작동하는 ISA (Industry Standard Architecture) 마더 보드는 제대로 작동해야합니다. 그러나 프로그래밍 인터페이스가 잘못 설계된 구형 시스템에서 IRQ 라인을 공유하는 여러 장치는 인터럽트를 처리하기 어렵게 만듭니다. 반면에 PCI와 같은 새로운 시스템 아키텍처는이 문제를 상당히 완화하는 데 도움이됩니다.

잡종

하이브리드 유형의 시스템 구현에는 에지 트리거 및 레벨 트리거 신호가 모두 결합되어 있습니다. 하드웨어는 에지를 찾고 신호가 특정 기간 동안 활성 상태인지 확인합니다. 하이브리드 유형은 일반적으로 마스크 불가능 인터럽트 (NMI) 입력에 사용되며 잘못된 인터럽트가 시스템에 영향을주지 않도록합니다.

메시지 - 신호

메시지를 통해 메시지를 전송하여 장치 신호를 사용하는 서비스에 대한 메시지 신호 인터럽트 요청 통신 컴퓨터와 같은 채널 버스 . 이들은 물리적 인터럽트 라인을 사용하지 않습니다. PCI Express는 직렬 버스 역할을하며 메시지 신호 인터럽트로만 사용됩니다.

초인종

초인종 인터럽트는 일반적으로 소프트웨어 시스템이 작업을 완료하도록 컴퓨터 하드웨어에 신호를 보내는 메커니즘으로 사용됩니다. 하드웨어와 소프트웨어 간의 상호 합의에 따라 소프트웨어는 데이터를 잘 알려진 메모리 위치에 배치하고 초인종을 울려 데이터가 준비되고 처리 대기 중임을 하드웨어에 알립니다. 이제 컴퓨터 하드웨어 장치는 데이터가 유효하다는 것을 이해하고 그에 따라 처리합니다.

다중 프로세서 IPI

다중 프로세서 시스템, 프로세서의 인터럽트 요청은 프로세서 간 인터럽트 (IPI)를 통해 다른 프로세서로 전송됩니다.

일반적인 용도 / 응용

이들은 일반적으로 사용되는 강력한 입력입니다.

  • 하드웨어 타이머 서비스, 키보드 스트로크 및 마우스 동작 처리
  • 시간에 민감한 이벤트 또는 실시간 이벤트에 신속하게 대응
  • 주변 장치와의 데이터 전송
  • 전원 차단 신호, 트랩 및 감시 타이머와 같이 우선 순위가 높은 작업에 응답합니다.
  • CPU의 이상 이벤트를 나타냅니다.
  • 전원 차단 인터럽트는 전원 손실을 예측하여 체계
  • 절대 시간을 추적하기위한 주기적 인터럽트

자주 묻는 질문

1). 인터럽트가 사용되는 이유는 무엇입니까?

이들은 하드웨어 또는 소프트웨어에서 요청한 서비스를 수행하기 위해 CPU의주의를 끌기 위해 사용됩니다.

2). NMI 란 무엇입니까?

NMI는 마스크 불가능한 인터럽트로, 프로세서에서 무시하거나 비활성화 할 수 없습니다.

삼). 인터럽트 확인 라인의 기능은 무엇입니까?

프로세서는 인터럽트를받을 준비가되었음을 나타내는 신호를 장치에 보냅니다.

4). 하드웨어 인터럽트를 설명하십시오. 예를 들다

외부 장치 또는 키보드 키 또는 마우스 움직임과 같은 하드웨어에 의해 생성되면 하드웨어 인터럽트가 호출됩니다.

5). 소프트웨어 인터럽트를 설명하십시오.

서브 루틴 호출과 같은 인터럽트를 호출하는 특수 명령어로 정의됩니다. 프로그램 실행 오류로 인해 소프트웨어 인터럽트가 예기치 않게 트리거 될 수 있습니다.

6). 우선 순위가 가장 높은 인터럽트는 무엇입니까?

  • 마스크 불가능 에지 및 레벨 트리거
  • TRAP은 최우선 순위

7). 인터럽트 사용

  • 시간에 민감한 이벤트 또는 실시간 이벤트에 신속하게 대응
  • 주변 장치와의 데이터 전송
  • 전원 차단 신호, 트랩 및 감시 타이머와 같이 우선 순위가 높은 작업에 응답합니다.
  • CPU의 이상 이벤트를 나타냅니다.

8). 하이브리드 유형의 시스템 구현이란 무엇입니까?

하이브리드 유형의 시스템 구현에는 에지 트리거 및 레벨 트리거 신호가 모두 결합되어 있습니다. 하드웨어는 에지를 찾고 신호가 특정 기간 동안 활성 상태인지 확인합니다.

이 기사에서 우리는 인터럽트 요청 된 서비스를 실행하는 데 사용되는 방법. 또한 유형, 시스템 구현 및 용도에 대해 논의했습니다.