산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial Internet of Things >> 임베디드

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

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(Non Maskable Interrupt) 입력에 사용되며 잘못된 인터럽트가 시스템에 영향을 미치지 않도록 합니다.

    메시지 신호됨

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

    초인종

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

    다중 프로세서 IPI

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

    일반적인 용도/응용 프로그램

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

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

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

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

    2). NMI란 무엇입니까?

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

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

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

    4). 하드웨어 인터럽트를 설명합니다. 예를 들어보세요

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

    5). 소프트웨어 인터럽트를 설명합니다.

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

    6). 어떤 인터럽트가 가장 높은 우선 순위를 가집니까?

    <울>
  • 마스크할 수 없는 가장자리 및 레벨 트리거됨
  • TRAP가 가장 높은 우선 순위를 가집니다.
  • 7). 인터럽트 사용하기

    <울>
  • 시간에 민감한 이벤트 또는 실시간 이벤트에 신속하게 대응
  • 주변 장치와의 데이터 전송
  • 전원 끄기 신호, 트랩 및 감시 타이머와 같은 우선 순위가 높은 작업에 응답
  • CPU의 비정상적인 이벤트를 나타냅니다.
  • 8). 하이브리드 유형의 시스템 구현이란 무엇입니까?

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

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


    임베디드

    1. 티타늄 와이어의 종류와 용도
    2. 13가지 내화재료의 종류와 응용
    3. 하프늄 산화물과 그 구조 및 응용
    4. 거리 센서의 작동 원리와 응용
    5. AD8232 ECG 센서란 무엇입니까:작동 및 응용
    6. HC-SR04 초음파 센서란? 작동 및 응용
    7. 전압 센서 작동 및 응용
    8. Lambda 센서 – 작동 및 애플리케이션
    9. 3D 프린팅이란?- 유형 및 작동 원리
    10. 다양한 유형의 가스 용접 공정 및 응용