KR20020055326A - 인터럽트 처리 장치 - Google Patents

인터럽트 처리 장치 Download PDF

Info

Publication number
KR20020055326A
KR20020055326A KR1020000084750A KR20000084750A KR20020055326A KR 20020055326 A KR20020055326 A KR 20020055326A KR 1020000084750 A KR1020000084750 A KR 1020000084750A KR 20000084750 A KR20000084750 A KR 20000084750A KR 20020055326 A KR20020055326 A KR 20020055326A
Authority
KR
South Korea
Prior art keywords
interrupt
chip
request signal
encoder
interrupt request
Prior art date
Application number
KR1020000084750A
Other languages
English (en)
Other versions
KR100431132B1 (ko
Inventor
이종찬
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR10-2000-0084750A priority Critical patent/KR100431132B1/ko
Publication of KR20020055326A publication Critical patent/KR20020055326A/ko
Application granted granted Critical
Publication of KR100431132B1 publication Critical patent/KR100431132B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30029Logical and Boolean instructions, e.g. XOR, NOT

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 동일한 우선 순위의 인터럽트(Interrupt) 처리를 필요로 하는 교환 시스템에서 FIFO(First-in First-out)를 이용하여 인터럽트가 발생한 순서대로 처리하도록 한 인터럽트 처리 장치에 관한 것이다.
본 발명의 장치는 각 디바이스 칩으로부터 인터럽트 요구 신호를 인가받아 인터럽트 소스를 구분하여 응답 신호에 따라 칩 식별 ID와 함께 출력하는 ID 인코더와; 상기 ID 인코더로부터 인가되는 칩 식별 ID와 인터럽트 요구 신호를 차례로 저장했다가 출력하는 FIFO와; 상기 FIFO로부터 칩 식별 ID와 인터럽트 요구 신호를 판독하여 인터럽트 처리할 디바이스 칩을 식별해 인터럽트 처리한 후에 응답 신호를 상기 모뎀 칩과 ID 인코더에 인가하는 CPU를 포함하여 이루어진 것을 특징으로 한다.

Description

인터럽트 처리 장치 {Apparatus of Controlling Interrupts}
본 발명은 인터럽트 처리 장치에 관한 것으로, 특히 동일한 우선 순위의 인터럽트 처리를 필요로 하는 교환 시스템에서 FIFO를 이용하여 인터럽트가 발생한 순서대로 처리하도록 한 인터럽트 처리 장치에 관한 것이다.
일반적으로, 교환 시스템에 있어서 CPU에 인터럽트 디바이스 칩(Interrupt Device Chip)을 다수 개 붙이기 위한 방법으로는 크게, 모든 디바이스의 인터럽트 신호를 로직(Logic)에서 하드와이어-오아시켜 CPU의 한 인터럽트 소스(Interrupt Source)에 공급해 주도록 하는 방법과, 각 디바이스를 CPU의 인터럽트 소스에 직접 연결하는 방법과, 인터럽트 대신에 폴링을 사용하여 소프트웨어(Software)적으로 처리하는 방법의 세 가지가 있다.
첫 번째로, 하드와이어-오아를 이용한 인터럽트 처리 장치는 도 1에 도시된 바와 같이, 다수 개의 모뎀 칩(11-1 ~ 11-n)과, 오아게이트(12)와, CPU(13)를 포함하여 이루어져 있는데, 모든 디바이스들의 인터럽트 소스들을 하나로 묶어 놓고 해당 CPU(13)의 한 개 인터럽트 핀(Interrupt Pin)에 연결시켜서 사용하도록 이루어져 있다. 여기서, 어느 디바이스가 인터럽트를 요청했는지를 구분해 주기 위해서로직에 별도의 어드레스 디코더(Address Decoder; 설명의 편의상 도면에는 표시하지 않음)가 필요하다.
또한, 먼저 인터럽트를 요청한 디바이스에 서비스를 수행해 주게 되는데, 이때 뒤에 인터럽트를 요청한 디바이스가 많은 경우에는 다음에 어느 디바이스가 서비스를 받게 될지는 알 수가 없다.
그런데, 이런 경우에는 해당 CPU(13)가 인터럽트 서비스를 수행하고 있는 동안에 다른 디바이스들에서 인터럽트가 발생하게 되면, 다음 번의 서비스는 어느 디바이스가 받게 될지를 알 수 없으며, 해당 문제가 반복되는 경우에는 계속해서 서비스를 받지 못하는 디바이스가 생길 수 있다. 즉, 서비스의 딜레이 문제가 발생되는 단점이 있었다.
두 번째로, 직접 연결에 의한 인터럽트 처리 장치는 도 2에 도시된 바와 같이, 다수 개의 모뎀 칩(14-1 ~ 14-n)과, CPU(15)를 포함하여 이루어져 있는데, 각 디바이스마다 별도의 인터럽트 요구 신호 수신 단자(IRQ1 ~ IRQn)를 할당하여 어느 디바이스가 인터럽트를 요청했는지를 구분해 주도록 이루어져 있다. 여기서, 하나의 디바이스가 하나의 인터럽트 요구 신호 수신 단자(IRQ1 ~ IRQn)를 각각 사용하므로, 별도의 추가 로직은 필요가 없다.
그런데, 이런 경우에 해당 다수 개의 인터럽트 요구 신호 수신 단자(IRQ1 ~ IRQn)의 자원은 한정되어 있기 때문에 연결할 수 있는 디바이스의 개수가 소수로 제한되는 단점이 있으며, 또한 해당 각 인터럽트 요구 신호 수신 단자(IRQ1 ~ IRQn)에는 우선 순위가 존재하기 때문에 높은 우선 순위를 가지는 인터럽트 요구신호 수신 단자(IRQ1 ~ IRQn)에 연결된 디바이스는 조금 더 서비스를 많이 받을 수 있는 기회가 주어지지만 낮은 우선 순위를 가지는 인터럽트 요구 신호 수신 단자(IRQ1 ~ IRQn)에 연결된 디바이스는 동등한 작업을 수행하는 디바이스임에도 불구하고 서비스가 늦어질 수 있다. 즉, 디바이스의 연결 개수 제한 및 서비스의 딜레이가 발생되는 단점이 있었다.
세 번째로, 폴링을 사용한 인터럽트 처리 장치는 도 3에 도시된 바와 같이, 다수 개의 모뎀 칩(16-1 ~ 16-n)과, CPU(17)를 포함하여 이루어져 있는데, 인터럽트 요구 신호 수신 단자(IRQ1 ~ IRQn)에 연결하지 않고 디바이스에 인터럽트가 발생해도 이것을 바로 처리하지 않고 소프트웨어의 폴링에 의해서 자기 차례가 되기를 대기시켰다가 차례대로 인터럽트를 처리해 주도록 이루어져 있다. 여기서, 필요한 하드웨어(Hardware)적인 연결은 어드레스 및 데이터 버스의 연결만으로 충분하게 된다.
그런데, 이런 경우에는 디바이스의 수가 늘어나면 폴링해야 하는 수가 늘어나게 되므로 모든 디바이스의 상태들을 점검하는데 많은 시간이 걸리게 되며, 서비스가 필요하지 않은 디바이스의 상태도 점검하게 되므로 자원을 낭비하는 결과를 초래하게 된다. 또한, 폴링하기 위해 태스크(Task)를 사용하게 되는데, 이때 태스크 스케줄링 타임에 따라서 데이터를 처리하는 속도가 영향을 받게 된다. 즉, 디바이스의 연결 수가 증가됨에 따른 자원의 낭비 및 펄포먼스(Performance)의 감소가 발생되는 단점이 있었다.
다시 말해서, 종래의 모뎀 풀(Modem Pool)과 같이 하나의 CPU에 의해 제어되는 인터럽트 처리 방식의 디바이스 칩이 다수 개 존재할 경우, 해당 디바이스 칩들간에 서로 다른 우선 순위로 인하여 특정 채널(Channel)만 우선적으로 서비스를 받는 문제점이 있다. 해당 디바이스 칩들은 많은 개수로 이루어지고 해당 목적 상 동일한 작업을 수행하므로, 서로 다른 우선 순위를 가지는 인터럽트 핀을 할당하게 되는 경우에, 시스템의 운영 중에 각 디바이스 칩들이 인터럽트 요청을 수행할 때에 상위 우선 순위를 가지는 인터럽트 핀에 연결된 디바이스 칩의 채널이 더 많은 서비스를 부여받게 되며, 이것은 다른 하위 우선 순위를 가지는 인터럽트 핀에 연결된 디바이스 칩의 사용자에게 피해를 주게 되는 문제점이 있다.
본 발명은 전술한 바와 같은 문제점을 해결하기 위하여 FIFO를 이용한 손실 없는 인터럽트 소스 저장 처리 장치에 관한 것으로, 동일한 우선 순위를 가지고 처리해야 하는 다수의 인터럽트 처리 디바이스 칩을 가진 CPU에 FIFO를 이용하여 인터럽트가 발생한 순서대로 저장해 둠으로써, 손실 없는 처리와 디바이스 칩마다 시간적으로 공정한 처리를 수행할 수 있도록 하는데, 그 목적이 있다.
또한, 본 발명은 동일한 우선 순위의 인터럽트 처리를 필요로 하는 장치가 붙는 시스템에서 손실 없는 인터럽트 소스의 저장 및 처리를 위한 것으로, 모뎀 풀과 같은 시간적으로 먼저 요청한 데이터의 처리가 우선이 되는 시스템에 적당하도록 한 FIFO를 이용한 인터럽트 소스 저장 장치를 제공하는데, 그 목적이 있다.
또한, 본 발명은 CPU에 동일한 작업을 수행하는 데이터 처리 장치가 많이 붙어있는 경우에 이들간의 인터럽트 유실을 방지할 수 있을 뿐만 아니라, 동일한 인터럽트 요인에 대해서는 동일한 우선 순위를 부여하고 각 인터럽트 요인간에는 우선 순위를 두어 인터럽트 처리가 밀려 있더라도 높은 우선 순위의 처리를 먼저 수행하도록 하는데, 그 목적이 있다.
도 1은 종래의 하드와이어-오아(Hardwired-OR)를 이용한 인터럽트(Interrupt) 처리 장치를 나타낸 구성 블록도.
도 2는 종래의 직접 연결에 의한 인터럽트 처리 장치를 나타낸 구성 블록도.
도 3은 종래의 폴링(Polling)을 이용한 인터럽트 처리 장치를 나타낸 구성 블록도.
도 4는 본 발명의 일 실시 예에 따른 인터럽트 처리 장치를 나타낸 구성 블록도.
도 5는 본 발명의 다른 실시 예에 따른 인터럽트 처리 장치를 나타낸 구성 블록도.
* 도면의 주요 부분에 대한 부호의 설명 *
21-1 ~ 21-n, 31-1 ~ 31-n : 모뎀 칩(Modem Chip)
22, 32 : ID 인코더(Identifier Encoder)
23, 33-1 ~ 33-m : FIFO(First-in First-out)
24, 34 : CPU(Central Processing Unit)
상술한 바와 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 인터럽트 처리 장치는 각 디바이스 칩으로부터 인터럽트 요구 신호를 인가받아 인터럽트 소스를 구분하여 응답 신호에 따라 칩 식별 ID와 함께 출력하는 ID 인코더와; 상기 ID 인코더로부터 인가되는 칩 식별 ID와 인터럽트 요구 신호를 차례로 저장했다가 출력하는 FIFO와; 상기 FIFO로부터 칩 식별 ID와 인터럽트 요구 신호를 판독하여 인터럽트 처리할 디바이스 칩을 식별해 인터럽트 처리한 후에 응답 신호를 상기 모뎀 칩과 ID 인코더에 인가하는 CPU를 포함하여 이루어진 것을 특징으로 한다.
다르게는, 상술한 바와 같은 목적을 달성하기 위한 본 발명의 다른 실시 예에 따른 인터럽트 처리 장치는 각 디바이스 칩으로부터 인터럽트 요구 신호와 SRB를 인가받아 인터럽트 소스와 우선 순위를 구분한 후에 인터럽트 요구 신호와 SRB를 논리곱하며, 응답 신호를 중재하여 해당 논리곱된 신호와 칩 식별 ID를 출력하는 ID 인코더와; 상기 ID 인코더로부터 인가되는 칩 식별 ID와 논리곱된 신호를 차례로 저장했다가 출력하는 다수 개의 FIFO와; 상기 각 FIFO로부터 칩 식별 ID와 논리곱된 신호를 판독하여 인터럽트 처리할 디바이스와 우선 순위를 식별해 우선 순위에 따라 차례로 인터럽트 처리한 후에 응답 신호를 상기 디바이스 칩과 ID 인코더에 인가하는 CPU를 포함하여 이루어진 것을 특징으로 한다. 여기서, 상기 SRB는 상기 각 디바이스 칩의 입터럽트 발생 요인 별로 먼저 처리하고자 하는 순위를 나타내며, 상기 응답 신호는 상기 ID 인코더의 응답 중재에 의해 다음의 인터럽트 요청에 대해 가장 낮은 우선 순위를 가지는 인터럽트 요구 신호 수신 단자에 연결되도록 하고 상기 FIFO를 통해 동일한 우선 순위를 가지는 인터럽트 요구 신호를 인가받는 경우에도 시간적으로 먼저 인터럽트 요구된 것부터 처리하도록 해 주는 것을 특징으로 한다.
본 발명은 인터럽트를 수신하는 부분을 FIFO를 사용함으로써 시간적으로 먼저 인터럽트를 요청한 디바이스 칩에게만 해당 FIFO의 선입선출 방식에 따라 우선적으로 서비스해 주도록 한다. 이하, 본 발명의 실시 예를 첨부한 도면을 참조하여 상세하게 설명하면 다음과 같다.
본 발명의 일 실시 예에 따른 인터럽트 처리 장치는 도 4에 도시된 바와 같이, 다수 개의 디바이스 칩인 모뎀 칩(21-1 ~ 21-n)과, ID 인코더(22)와, FIFO(23)와, CPU(24)를 포함하여 이루어지는데, 해당 각 모뎀 칩(21-1 ~ 21-n)으로부터 인가되는 인터럽트들을 동일한 우선 순위로 보고 시간적으로 먼저 발생한 것부터 처리해 주도록 이루어진다.
상기 각 모뎀 칩(21-1 ~ 21-n)은 각각 연결되어 있는 사용자의 서비스 요청시에 인터럽트 요구 신호를 발생시켜 상기 CPU(24)로부터 인가되는 응답 신호에 따라 상기 ID 인코더(22)로 인가해 준다.
상기 ID 인코더(22)는 상기 각 모뎀 칩(21-1 ~ 21-n)으로부터 인터럽트 요구 신호를 인가받아 인터럽트 소스를 구분하여 상기 CPU(24)로부터 인가되는 응답 신호에 따라 해당 칩 식별 ID와 함께 차례로 상기 FIFO(23)에 저장해 준다.
상기 FIFO(23)는 상기 ID 인코더(22)로부터 인가되는 칩 식별 ID와 인터럽트 요구 신호를 저장했다가 상기 CPU(24)로 출력해 준다.
상기 CPU(24)는 인터럽트 루틴(Interrupt Routine)에 의해 상기 FIFO(23)로부터 칩 식별 ID와 인터럽트 요구 신호를 판독하여 해당 인터럽트 처리할 모뎀 칩(21-1 ~ 21-n)을 식별해 인터럽트 처리를 수행한 후에 응답 신호를 상기 모뎀 칩(21-1 ~ 21-n)과 ID 인코더(22)에 인가해 준다.
본 발명의 일 실시 예에 따른 인터럽트 처리 장치의 동작을 살펴하면 다음과 같다.
먼저, 많은 수의 가입자를 수용해야 하는 데이터 풀(Data Pool)의 경우에 특정한 프로토콜(Protocol)을 처리하는 많은 수의 디바이스 칩들이 삽입되어 있게 되며, CPU(24)는 각 디바이스 칩의 인터럽트 요청을 수신받아 해당 디바이스 칩에 연결된 가입자의 데이터를 처리하도록 해 준다.
이 때, 상기 CPU(24)는 시간적으로 먼저 서비스를 요청한 디바이스 칩에 대한 처리부터 순서적으로 해 주어야 가입자에 공평한 정보의 서비스를 해 줄 수 있게 되는데, 디바이스 칩이 많은 경우에 인터럽트가 동시다발적으로 발생할 수 있기 때문에 유실을 방지하기 위해서 인터럽트를 요구한 디바이스 칩을 구분하여 시간적인 순서대로 저장해 두고 순차적으로 처리해야 한다.
이에, 사용자의 서비스 요청에 따라 각 디바이스 칩, 즉 모뎀 칩(21-1 ~ 21-n)에서는 인터럽트 요구 신호를 발생시켜 ID 인코더(22)로 인가해 주는데, 이때 해당 ID 인코더(22)에서는 내부에 각 모뎀 칩(21-1 ~ 21-n)의 인터럽트 요구 신호를 인가받는 단자에 하드웨어적으로 칩 식별 ID를 정해 둠으로써 어느 모뎀 칩(21-1 ~ 21-n)으로부터 인터럽트 요구 신호를 인가받았는지를 알 수 있도록 해 준다.
즉, 상기 ID 인코더(22)는 상기 각 모뎀 칩(21-1 ~ 21-n)으로부터 인터럽트 요구 신호를 인가받아 인터럽트 소스를 구분한 후, 해당 인가받은 인터럽트 요구 신호의 액티브 신호에 맞추어 칩 식별 ID를 FIFO(23)에 인가함과 동시에 해당 인가받은 인터럽트 요구 신호를 차례로 해당 FIFO(23)에 쌓아놓게 된다.
그리고, 대개의 디바이스 칩들에는 여러 개의 인터럽트 발생 요인이 있는데, 해당 인터럽트 발생 요인이 하나 이상 발생하게 되면 인터럽트 요구 신호를 발생시켜 상기 CPU(24) 측으로 인터럽트 처리를 요구하게 된다. 이때, 만약 하나의 인터럽트 발생 요인에 의해서 상기 FIFO(23)에 등록되고 상기 CPU(24)에 의해 서비스를 받기 전에 다른 인터럽트 발생 요인이 생길 경우, 상기 FIFO(23)에 또 등록해야 하는 작업이 발생하는데, 이렇게 되면 필요한 FIFO(23)의 수를 예측할 수 없게 된다.
상술한 바와 같은 경우를 방지하기 위해서, 상기 ID 인코더(22)는 상기 CPU(24)의 인터럽트 루틴에 의해 인가되는 응답 신호를 수신할 때까지 한 번 상기FIFO(23)에 등록된 디바이스 칩의 인터럽트 요구를 무시하며, 상기 CPU(24)의 인터럽트 루틴에서는 실행 시에 디바이스 칩의 모든 인터럽트 발생 요인을 스캔(Scan)하여 해당 발생된 인터럽트를 처리해 줌으로써, 최대로 필요한 FIFO(23)의 ??스(Depth)는 총 디바이스 칩의 개수와 동일하다.
그리고, 상기 FIFO(23)가 비지 않은 경우에는 상기 CPU(24)의 핀으로 인터럽트 요청이 있게 되며, 이에 상기 CPU(24)는 인터럽트 루틴에서 상기 FIFO(23)로부터 칩 식별 ID와 인터럽트 요구 신호를 판독하여 해당 인터럽트 처리해 줄 디바이스 칩의 어드레스를 알아내서 해당 인터럽트 요구에 대한 적절한 처리를 수행해 주게 된다.
본 발명의 다른 실시 예에 따른 인터럽트 처리 장치는 도 5에 도시된 바와 같이, 다수 개의 디바이스 칩인 모뎀 칩(31-1 ~ 31-n)과, ID 인코더(32)와, 다수 개의 FIFO(33-1 ~ 33-m)와, CPU(34)를 포함하여 이루어지는데, 해당 모뎀 칩(31-1 ~ 31-n)을 통해 시간적으로 먼저 요청된 인터럽트를 처리하되, 이들간에 우선 순위를 부여하여 수행할 수 있도록 이루어진다. 여기서, 해당 모뎀 칩(31-1 ~ 31-n)의 인터럽트 발생 요인 중 폴트(Fault)와 같이 긴급하게 처리를 요하는 것이 있는 경우에는 이것들을 따로 묶어서 조금 더 높은 우선 순위를 가지는 인터럽트 핀에 연결시켜 줌으로써, 다른 인터럽트에 의해 지체될 수 있는 상황을 피할 수 있도록 해 준다.
상기 모뎀 칩(31-1 ~ 31-n)은 각각 연결되어 있는 사용자의 서비스 요청 시에 인터럽트 요구 신호와 먼저 처리하고자 하는 SRB(Status Register Specific Bit)를 논리곱시켜 상기 CPU(34)로 인가되는 응답 신호를 상기 ID 인코더(32)에서 주도록 하는 역할을 수행한다.
상기 ID 인코더(32)는 상기 각 모뎀 칩(31-1 ~ 31-n)으로부터 인터럽트 요구 신호와 SRB를 인가받아 인터럽트 소스와 우선 순위를 구분한 후에 인터럽트 요구 신호와 SRB를 논리곱하고 상기 CPU(34)로부터 인가되는 응답 신호를 중재하여 해당 논리곱된 신호와 칩 식별 ID를 차례로 상기 FIFO(33-1 ~ 33-m)에 저장해 준다.
상기 FIFO(33-1 ~ 33-m)는 상기 ID 인코더(32)로부터 인가되는 칩 식별 ID를 저장했다가 상기 CPU(34)로 출력해 준다.
상기 CPU(34)는 인터럽트 루틴에 의해 상기 FIFO(33-1 ~ 33-m)로부터 칩 식별 ID를 판독하여 해당 인터럽트 처리할 모뎀 칩(21-1 ~ 21-n)을 우선 순위만 식별해 인터럽트 루틴에 정의된 인터럽트 처리를 수행한 후에 응답 신호를 상기 모뎀 칩(31-1 ~ 31-n)과 ID 인코더(32)에 인가해 준다.
본 발명의 다른 실시 예에 따른 인터럽트 처리 장치의 동작을 살펴하면 다음과 같다.
먼저, ID 인코더(32)에서는 도 4의 구성과는 조금 다르게, 높은 우선 순위를 가지도록 하기를 원하는 디바이스 칩의 SRB에 인터럽트 요구 신호와 논리곱으로 연결되어 다수 개의 FIFO(33-1 ~ 33-m)에 칩 식별 ID를 등록시켜 주도록 한다.
이런 경우, 상기 CPU(34)의 응답 신호는 다음의 인터럽트 요청 시에 대해 상기 ID 인코더(32)의 응답 중재 기능을 통해 가장 낮은 우선 순위를 가지는 인터럽트 요구 신호 수신 단자(IRQ0 ~ IRQn)에 연결되도록 함으로써, 해당 각 디바이스 칩의 입터럽트 발생 요인 별로 우선 순위를 줄 수 있고 동일한 우선 순위를 가지는 인터럽트의 경우에는 시간적으로 먼저 요청된 것부터 처리해 주도록 해 준다.
이에, 사용자의 서비스 요청에 따라 각 디바이스 칩, 즉 모뎀 칩(31-1 ~ 31-n)에서는 인터럽트 요구 신호와 SRB를 발생시켜 ID 인코더(32)로 인가해 주는데, 이때 해당 ID 인코더(32)에서는 내부에 각 모뎀 칩(31-1 ~ 31-n)의 인터럽트 요구 신호를 인가받는 단자에 하드웨어적으로 칩 식별 ID를 정해 둠과 동시에 모뎀 칩(31-1 ~ 31-n)의 SRB에 해당 인가받은 인터럽트 요구 신호와 논리곱하여 출력해 줌으로써, 어느 모뎀 칩(31-1 ~ 31-n)으로부터 얼마나 높은 우선 순위의 인터럽트 요구 신호를 인가받았는지를 알 수 있도록 해 준다.
즉, 상기 ID 인코더(32)는 상기 각 모뎀 칩(31-1 ~ 31-n)으로부터 인터럽트 요구 신호와 SRB를 인가받아 인터럽트 소스 및 우선 순위를 구분하여 논리곱한 후, 해당 인가받은 인터럽트 요구 신호의 액티브 신호에 맞추어 칩 식별 ID를 FIFO(33-1 ~ 33-m)에 차례로 쌓아놓게 된다.
이에 따라, 상기 CPU(34)는 인터럽트 루틴에서 상기 FIFO(33-1 ~ 33-m)로부터 칩 식별 ID를 판독하고 인터럽트 루틴에서 처리해 줄 디바이스 칩의 상태를 인터럽트 루틴에 할당된 우선 순위대로 적절한 처리를 수행해 주게 된다.
이상과 같이, 본 발명에 의해 다량의 데이터 처리 칩을 드라이브하는 경우에 있어서 실제로 인터럽트를 처리하는 소프트웨어의 인터럽트 루틴에서는 폴링을 사용하고 인터럽트의 인지는 하드웨어적으로 함으로써 유실 없고 빠른 인터럽트 처리가 가능하다.

Claims (3)

  1. 각 디바이스 칩으로부터 인터럽트 요구 신호를 인가받아 인터럽트 소스를 구분하여 응답 신호에 따라 칩 식별 ID와 함께 출력하는 ID 인코더와;
    상기 ID 인코더로부터 인가되는 칩 식별 ID와 인터럽트 요구 신호를 차례로 저장했다가 출력하는 FIFO와;
    상기 FIFO로부터 칩 식별 ID와 인터럽트 요구 신호를 판독하여 인터럽트 처리할 디바이스 칩을 식별해 인터럽트 처리한 후에 응답 신호를 상기 모뎀 칩과 ID 인코더에 인가하는 CPU를 포함하여 이루어진 것을 특징으로 하는 인터럽트 처리 장치.
  2. 각 디바이스 칩으로부터 인터럽트 요구 신호와 SRB를 인가받아 인터럽트 소스와 우선 순위를 구분한 후에 인터럽트 요구 신호와 SRB를 논리곱하며, 응답 신호를 중재하여 해당 논리곱된 신호와 칩 식별 ID를 출력하는 ID 인코더와;
    상기 ID 인코더로부터 인가되는 칩 식별 ID와 논리곱된 신호를 차례로 저장했다가 출력하는 다수 개의 FIFO와;
    상기 각 FIFO로부터 칩 식별 ID와 논리곱된 신호를 판독하여 인터럽트 처리할 디바이스와 우선 순위를 식별해 우선 순위에 따라 차례로 인터럽트 처리한 후에 응답 신호를 상기 디바이스 칩과 ID 인코더에 인가하는 CPU를 포함하여 이루어진것을 특징으로 하는 인터럽트 처리 장치.
  3. 제2항에 있어서,
    상기 SRB는 상기 각 디바이스 칩의 입터럽트 발생 요인 별로 먼저 처리하고자 하는 순위를 나타내며, 상기 응답 신호는 상기 ID 인코더의 응답 중재에 의해 다음의 인터럽트 요청에 대해 가장 낮은 우선 순위를 가지는 인터럽트 요구 신호 수신 단자에 연결되도록 하고 상기 FIFO를 통해 동일한 우선 순위를 가지는 인터럽트 요구 신호를 인가받는 경우에도 시간적으로 먼저 인터럽트 요구된 것부터 처리하도록 해 주는 것을 특징으로 하는 인터럽트 처리 장치.
KR10-2000-0084750A 2000-12-28 2000-12-28 인터럽트 처리 장치 KR100431132B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0084750A KR100431132B1 (ko) 2000-12-28 2000-12-28 인터럽트 처리 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0084750A KR100431132B1 (ko) 2000-12-28 2000-12-28 인터럽트 처리 장치

Publications (2)

Publication Number Publication Date
KR20020055326A true KR20020055326A (ko) 2002-07-08
KR100431132B1 KR100431132B1 (ko) 2004-05-12

Family

ID=27688078

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0084750A KR100431132B1 (ko) 2000-12-28 2000-12-28 인터럽트 처리 장치

Country Status (1)

Country Link
KR (1) KR100431132B1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950023099A (ko) * 1993-12-18 1995-07-28 강진구 인터럽트 콘트롤러 리퀘스트 레지스터 장치 및 그 제어방법
JPH09293033A (ja) * 1996-04-26 1997-11-11 Hitachi Ltd ファイバーチャネルデータ受信装置
JPH10105488A (ja) * 1996-10-01 1998-04-24 Nec Corp 通信用コントローラ
JP3487759B2 (ja) * 1998-04-20 2004-01-19 富士通株式会社 通信機能を有するシステムlsi

Also Published As

Publication number Publication date
KR100431132B1 (ko) 2004-05-12

Similar Documents

Publication Publication Date Title
US5471618A (en) System for classifying input/output events for processes servicing the events
US7076545B2 (en) Load balancing the servicing of received packets
US7140026B2 (en) Message preprocessing method and device for computer network communications
JPH08171526A (ja) 入出力インタフェース装置及びその制御方法
US20070005742A1 (en) Efficient network communications via directed processor interrupts
US7937499B1 (en) Methods and apparatus for dynamically switching between polling and interrupt mode for a ring buffer of a network interface card
JP2004038758A (ja) 記憶制御装置、記憶制御装置の制御方法、及びプログラム
US20020181396A1 (en) Network switching apparatus and method for congestion control
JP2007079789A (ja) 計算機システム及びイベント処理方法
US20070058649A1 (en) Packet queuing system and method
US20050097226A1 (en) Methods and apparatus for dynamically switching between polling and interrupt to handle network traffic
CN111240813A (zh) 一种dma调度方法、装置和计算机可读存储介质
CN111163018A (zh) 网络设备及其降低传输时延的方法
US7370117B2 (en) Communication system and method for communicating frames of management information in a multi-station network
AU2003234641B2 (en) Inter-chip processor control plane
EP1891503B1 (en) Concurrent read response acknowledge enhanced direct memory access unit
US20020040381A1 (en) Automatic load distribution for multiple digital signal processing system
JP2005510959A (ja) リアルタイムネットワークトラフィックの受け入れ及びスケジューリング方法
KR100431132B1 (ko) 인터럽트 처리 장치
US8090801B1 (en) Methods and apparatus for performing remote access commands between nodes
EP0400500A2 (en) A method and apparatus managing tasks
WO2022151766A1 (zh) 一种io请求流水线处理设备、方法、系统及存储介质
JPH09101902A (ja) ジョブスケジューリング方式
WO2016134634A1 (zh) 报文接收方法、装置、设备、计算机存储介质及中央处理器
WO2021135763A1 (zh) 数据处理方法和装置、存储介质及电子装置

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130409

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140414

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170410

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20180426

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20190409

Year of fee payment: 16