KR20080072192A - 통신 시스템에서 인터럽트 처리 장치 및 방법 - Google Patents

통신 시스템에서 인터럽트 처리 장치 및 방법 Download PDF

Info

Publication number
KR20080072192A
KR20080072192A KR1020070010601A KR20070010601A KR20080072192A KR 20080072192 A KR20080072192 A KR 20080072192A KR 1020070010601 A KR1020070010601 A KR 1020070010601A KR 20070010601 A KR20070010601 A KR 20070010601A KR 20080072192 A KR20080072192 A KR 20080072192A
Authority
KR
South Korea
Prior art keywords
interrupt
interrupts
processing
start position
processing start
Prior art date
Application number
KR1020070010601A
Other languages
English (en)
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 KR1020070010601A priority Critical patent/KR20080072192A/ko
Publication of KR20080072192A publication Critical patent/KR20080072192A/ko

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

본 발명은 통신 시스템에서 동등한 우선순위를 갖는 인터럽트 소스들의 인터럽트를 처리하기 위한 장치 및 방법에 관한 것으로서, 상기 인터럽트 소스들로부터 동시에 발생한 인터럽트의 개수를 확인하는 과정과, 상기 적어도 두 개의 인터럽트가 발생한 경우, 처리 시작 위치를 확인하는 과정과, 상기 처리 시작 위치부터 서비스 루틴(Service Routine)에 따라 순차적으로 상기 인터럽트를 처리하는 과정과, 상기 인터럽트가 처리되면, 상기 처리 시작 위치를 변경하는 과정을 포함하여 동등한 우선순위를 갖는 인터럽트 소스들의 우선순위를 동등하게 유지하여 특정 인터럽트 소스의 인터럽트 처리 시간이 지연되는 것을 방지할 수 있는 이점이 있다.
인터럽트(Interrupt), 우선 순위, 서비스 루틴(service Routine), 비트 맵

Description

통신 시스템에서 인터럽트 처리 장치 및 방법{APPARATUS AND METHOD FOR PROCESSING INTERRUPT IN COMMUNICATION SYSTEM}
도 1은 본 발명에 따른 통신 시스템의 블록 구성을 도시하는 도면,
도 2는 본 발명에 따른 통신 시스템에서 제어부의 블록 구성을 도시하는 도면,
도 3은 본 발명의 실시 예에 따른 통신 시스템에서 인터럽트를 처리하기 위한 절차를 도시하는 도면, 및
도 4는 본 발명의 실시 예에 따른 통신 시스템에서 인터럽트를 처리하기 위한 서비스 루틴을 도시하는 도면.
본 발명은 통신시스템에서 인터럽트를 처리하기 위한 장치 및 방법에 관한 것으로서, 특히 상기 통신시스템에서 다수의 인터럽트 간에 동등한 우선 순위를 보장하는 처리 장치 및 방법에 관한 것이다.
상기 통신시스템은 동작 중 장애와 같은 동작의 변화가 발생하면 인터럽트를 발생시켜 상기 통신시스템의 제어부가 상기 동작 변화를 감지할 수 있도록 한다.
상기 통신시스템은 인터럽트가 발생하는 인터럽트 소스의 중요도에 따라 상기 인터럽트를 처리하기 위한 서비스 루틴의 우선권을 부여한다. 하지만, 우선순위가 동등한 인터럽트 소스들의 경우, 상기 인터럽트 소스들에서 인터럽트가 동시에 발생하면 하나의 인터럽트로 취합하여 상기 제어부가 상기 인터럽트 소스들의 인터럽트 발생 여부를 확인하여 처리할 수 있도록 한다. 즉, 상기 우선순위가 동등한 소스들의 상태를 나타내는 레지스터의 각 비트에 상기 각 인터럽트 소스에서 발생한 인터럽트를 매핑시켜 하나의 인터럽트처럼 상기 제어부로 전송한다. 만일, 상기 인터럽트 소스들에서 하나의 인터럽트만 발생한 경우, 상기 제어부는 상기 발생한 인터럽트를 처리한다.
하지만, 상기 인터럽트 소스들에서 두 개 이상의 인터럽트가 발생하는 경우, 상기 제어부는 상기 레지스터의 각 비트에 매핑된 인터럽트 소스의 순서대로 상기 인터럽트를 처리한다.
상술한 바와 같이 상기 통신 시스템에서 우선 순위가 동등한 인터럽트 소스들은 레지스터에 매핑되어 하나의 인터럽트처럼 상기 제어부에서 처리된다. 이때, 상기 제어부는 상기 레지스터의 비트 순서에 따라 상기 인터럽트를 처리한다. 따라서, 상기 레지스터의 최상위 비트(MSB(Most Significant Bit)에 매핑된 인터럽트 소스의 인터럽트는 항상 우선 처리되고, 최하위 비트(LSB(Least Significant Bit)에 매핑된 인터럽트 소스의 인터럽트는 항상 마지막에 처리가 되는 문제점이 발생 한다.
따라서, 본 발명의 목적은 통신시스템에서 동등한 우선권을 갖는 인터럽트 소스들에게 동등한 우선권을 부여하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 통신시스템에서 동등한 우선권을 갖는 인터럽트 소스들의 인터럽트 서비스 루틴을 원형으로 구성하여 상기 인터럽트 소스들에게 동등한 우선권을 부여하기 위한 장치 및 방법을 제공함에 있다.
상기 목적들을 달성하기 위한 본 발명의 제 1 견지에 따르면, 통신 시스템에서 동등한 우선순위를 갖는 인터럽트 소스들의 인터럽트를 처리하기 위한 방법은, 상기 인터럽트 소스들로부터 동시에 발생한 인터럽트의 개수를 확인하는 과정과, 상기 적어도 두 개의 인터럽트가 발생한 경우, 처리 시작 위치를 확인하는 과정과, 상기 처리 시작 위치부터 서비스 루틴(Service Routine)에 따라 순차적으로 상기 인터럽트를 처리하는 과정과, 상기 인터럽트가 처리되면, 상기 처리 시작 위치를 변경하는 과정을 포함하는 것을 특징으로 한다.
본 발명의 제 2 견지에 따르면, 통신 시스템에서 인터럽트를 처리 장치는, 동등한 우선순위를 갖으며 인터럽트를 발생하는 적어도 두 개의 인터럽트 소스들과, 상기 인터럽트 소스들로부터 적어도 두 개의 인터럽트가 동시에 발생하는 경우, 처리 시작 위치부터 서비스 루틴(Service Routine)에 따라 순차적으로 상기 인터럽트를 처리한 후, 상기 처리 시작 위치를 변경하는 제어부를 포함하여 구성되는 것을 특징으로 한다.
이하 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.
이하 본 발명은 통신시스템에서 동등한 우선순위를 갖는 인터럽트(Interrrupt) 소스(Source)들에 동등한 우선 순위를 보장하기 위한 기술에 대해 설명한다.
이하 설명은 상기 통신시스템에서 동등한 우선순위를 갖는 채널 카드들의 인터럽트 처리 순서를 동등하게 보장하는 것을 예를 들어 설명한다.
도 1은 본 발명에 따른 통신 시스템의 블록 구성을 도시하고 있다.
상기 도 1에 도시된 바와 같이 상기 통신 시스템은 제어부(100)와 다수 개의 채널 카드들(110)을 포함하여 구성된다.
상기 제어부(100)는 상기 통신 시스템의 전체적인 제어를 담당하며, 상기 채널카드들(110)에서 발생하는 인터럽트를 처리한다. 더욱이 본 발명에 따라 상기 제어부(100)는 상기 채널 카드들(110)에서 동시에 여러 개의 인터럽트가 발생하는 경우, 처리 시작 위치를 변경하여 상기 채널 카드들(110)의 인터럽트 처리 순서를 동등하게 제어한다. 이때, 상기 제어부(100)는 상기 채널 카드들(110)의 인터럽트 처 리 순서를 동등하게 제어하기 위해 하기 도 4의(a)에 도시된 바와 같이 원형(Circular)으로 구성된 서비스 루틴을 사용한다.
도 4는 본 발명의 실시 예에 따른 통신 시스템에서 인터럽트를 처리하기 위한 서비스 루틴을 도시하고 있다.
상기 도 4를 참조하면, 상기 도 4의 (a)는 상기 제어부(100)에서 인터럽트를 처리하기 위한 서비스 루틴을 나타내고, 상기 도 4의 (b)는 상기 채널 카드들(110)에서 상기 제어부(100)로 제공하는 레지스터를 나타낸다.
상기 도 4의 (a)에 도시된 바와 같이 상기 제어부(100)는 원형으로 구성된 서비스 루틴을 사용하여 인터럽트를 처리한다. 상기 서비스 루틴에서 상기 제어부(100)는 상기 처리 시작 위치부터 상기 인터럽트를 처리한다. 만일, 상기 다수 개의 인터럽트가 발생하는 경우, 상기 제어부(100)는 상기 처리 시작 위치(401)를 한 단계 증가시킨다. 예를 들어, 상기 서비스 루틴에서 초기 처리 시작 위치(401)는 A지점이다. 이때, 상기 채널 카드들(110)에서 다수 개의 인터럽트들이 발생하는 경우, 상기 제어부(100)는 A지점부터 상기 인터럽트들을 처리한 후, 상기 처리 시작 위치(401)를 B지점으로 이동시킨다. 이후, 상기 제어부(100)는 상기 B지점부터 인터럽트를 처리한다.
상기 도 4의 (b)에 도시된 바와 같이 상기 레지스터를 각 비트에 각각의 채널 카드(110)를 매핑하여 각각의 채널 카드의 상태를 나타낸다.
상기 채널 카드들(110)은 각각에 해당하는 채널 기능을 수행한다. 상기 채널 카드들(110)은 인터럽트가 발생하면 상기 제어부(100)로 제공한다. 이때, 상기 채널 카드들(110)은 상기 도 4의 (b)에 도시된 바와 같은 레지스터를 이용하여 상기 채널 카드들(110)에서 발생하는 인터럽트들을 상기 제어부(100)에서 하나의 인터럽트처럼 처리할 수 있도록 상기 제어부(100)로 제공한다.
상기 통신시스템에서 상기 채널 카드들(110)의 인터럽트를 처리하는 상기 제어부(100)는 하기 도 2와 같이 구성된다.
도 2는 본 발명에 따른 통신 시스템에서 제어부의 블록 구성을 도시하고 있다.
상기 도 2에 도시된 바와 같이 상기 제어부(100)는 인터럽트 확인부(200), 우선순위 제어부(210) 및 인터럽트 처리부(220)를 포함하여 구성된다.
상기 인터럽트 확인부(200)는 상기 채널 카드들(110)로부터 제공받은 레지스터에서 상기 채널 카드들(110)에서 발생한 인터럽트를 확인한다. 예를 들어, 상기 인터럽트 확인부(200)는 상기 레지스터의 각 비트를 확인하여 상기 채널 카드들(110)에서 발생한 인터럽트를 확인한다.
상기 우선순위 제어부(210)는 상기 인터럽트 확인부(200)로부터 다수 개의 인터럽트 발생이 확인되면, 현재 설정되어있는 처리 시작 위치를 상기 인터럽트 처리부(220)로 제공한다. 이후, 상기 우선순위 제어부(210)는 상기 처리 시작 위치를 한 단계 증가시켜 다음에 다수 개의 인터럽트가 발생할 경우, 상기 증가된 처리 시작 위치부터 상기 인터럽트를 처리할 수 있도록 한다. 예를 들어, 상기 우선 순위 제어부(210)는 상기 도 4의 (a)에 도시된 바와 같이 초기 처리 시작 위치(401)로 A지점이 설정된다. 이후, 상기 인터럽트 확인부(200)로부터 다수 개의 인터럽트 발생이 확인되면, 상기 우선순위 제어부(210)는 상기 인터럽트 처리부(220)로 상기 처리시작 지점(401)으로 A지점을 제공한 후, 상기 처리 시작 지점(401)을 B지점으로 변경한다.
상기 인터럽트 처리부(220)는 상기 인터럽터 확인부(200)에서 확인된 인터럽트를 처리한다. 만일, 상기 인터럽트 확인부(200)에서 확인된 인터럽트가 한 개인 경우, 상기 인터럽트 처리부(220)는 상기 인터럽트를 처리한다.
한편, 상기 인터럽트 확인부(200)에서 확인된 인터럽트가 다수 개인 경우, 상기 인터럽트 처리부(220)는 상기 우선순위 제어부(210)로부터 제공받은 처리 시작 위치부터 순차적으로 인터럽트를 처리한다. 예를 들어, 상기 인터럽트 확인부(200)는 상기 도 4의 (a)에 도시된 바와 같이 원형으로 구성된 서비스 루틴을 통해 상기 처리 시작 위치부터 순차적으로 상기 인터럽트를 처리한다.
이하 설명은 상술한 바와 같이 구성되는 제어부(100)에서 인터럽트를 처리하기 위한 방법에 대해 설명한다.
도 3은 본 발명의 실시 예에 따른 통신 시스템에서 인터럽트를 처리하기 위한 절차를 도시하고 있다.
상기 도 3을 참조하면, 먼저 상기 제어부(100)는 301단계에서 인터럽트 소스들로부터 인터럽트가 발생하는지 확인한다. 예를 들어, 상기 제어부(100)는 상기 채널 카드들(110)에서 인터럽트가 발생하는지 확인한다.
만일, 상기 인터럽트가 발생하면, 상기 제어부(100)는 303단계로 진행하여 상기 발생한 인터럽트의 개수를 확인한다. 예를 들어, 상기 제어부(100)는 상기 도 4의 (b)에 도시된 바와 같은 상기 인터럽트 소스들이 매핑된 레지스터에서 인터럽트의 개수를 확인한다.
상기 인터럽트의 개수를 확인한 후, 상기 제어부(100)는 305단계로 진행하여 상기 다수 개의 인터럽트가 발생하였는지 확인한다.
만일, 한 개의 인터럽트가 발생한 경우, 상기 제어부(100)는 313단계로 진행하여 상기 인터럽트를 처리한다.
한편, 다수 개의 인터럽트가 발생하였으면, 상기 제어부(100)는 307단계로 진행하여 상기 인터럽트를 처리하기 위한 서비스 루틴에서 처리 시작 위치를 확인한다.
상기 처리 시작 위치를 확인한 후, 상기 제어부(100)는 309단계로 진행하여 상기 처리 시작 위치부터 상기 서비스 루틴을 따라 순차적으로 인터럽트를 처리한다.
상기 인터럽트들을 모두 처리한 후, 상기 제어부(100)는 311단계로 진행하여 상기 인터럽트 처리 시작 위치를 변경한다. 예를 들어, 상기 도 4의 (a)에 도시된 바와 같이 상기 처리 시작 위치(401)가 A지점으로 설정된 경우, 상기 다수 개의 인터럽트가 발생하면 상기 제어부(100)는 상기 A지점부터 상기 서비스 루틴을 따라 순차적으로 인터럽트를 처리한다. 이후, 상기 처리 시작 시점(401)을 B지점으로 변 경한다. 여기서, 상기 서비스 루틴은 원형으로 구성되므로 상기 처리 시작 위치가 변경되어도 순차적으로 인터럽트를 처리하면 모든 인터럽트를 처리할 수 있다. 따라서, 상기 처리 시작 위치(401)가 B지점으로 설정될 경우, 상기 제어부(100)는 B,C,D,E,F,G,H,A순으로 인터럽트를 처리한다.
이후, 상기 제어부(100)는 본 알고리즘을 종료한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이, 통신시스템에서 인터럽트를 처리하기 위한 서비스 루틴(Service Routine)을 원형으로 구성하고, 다수 개의 인터럽트가 발생할 때마다 처리 시작 위치를 변경함으로써, 동등한 우선순위를 갖는 인터럽트 소스들의 우선순위를 동등하게 유지하여 특정 인터럽트 소스의 인터럽트 처리 시간이 지연되는 것을 방지할 수 있는 이점이 있다.

Claims (10)

  1. 통신 시스템에서 동등한 우선순위를 갖는 인터럽트 소스들의 인터럽트를 처리하기 위한 방법에 있어서,
    상기 인터럽트 소스들로부터 동시에 발생한 인터럽트의 개수를 확인하는 과정과,
    상기 적어도 두 개의 인터럽트가 발생한 경우, 처리 시작 위치를 확인하는 과정과,
    상기 처리 시작 위치부터 서비스 루틴(Service Routine)에 따라 순차적으로 상기 인터럽트를 처리하는 과정과,
    상기 인터럽트가 처리되면, 상기 처리 시작 위치를 변경하는 과정을 포함하는 것을 특징으로 하는 방법.
  2. 제 1항에 있어서,
    상기 인터럽트의 개수를 확인하는 과정은,
    상기 인터럽트 소스들의 인터럽트 발생 여부를 나타내는 레지스터(Register)로부터 상기 인터럽트의 개수를 확인하는 과정을 포함하는 것을 특징으로 하는 방법.
  3. 제 1항에 있어서,
    상기 서비스 루틴은, 원형(Circle)으로 구성되는 것을 특징으로 하는 방법.
  4. 제 1항에 있어서,
    상기 처리 시작 위치를 변경하는 과정은,
    상기 발생한 인터럽트가 처리되면, 상기 처리 시작 위치를 상기 서비스 루틴의 순서에 따라 한 단계 이동시키는 과정을 포함하는 것을 특징으로 하는 방법.
  5. 제 1항에 있어서,
    상기 한 개의 인터럽트가 발생한 경우, 상기 인터럽트를 처리하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  6. 통신 시스템에서 인터럽트를 처리 장치에 있어서,
    동등한 우선순위를 갖으며 인터럽트를 발생하는 적어도 두 개의 인터럽트 소스들과,
    상기 인터럽트 소스들로부터 적어도 두 개의 인터럽트가 동시에 발생하는 경 우, 처리 시작 위치부터 서비스 루틴(Service Routine)에 따라 순차적으로 상기 인터럽트를 처리한 후, 상기 처리 시작 위치를 변경하는 제어부를 포함하여 구성되는 것을 특징으로 하는 장치.
  7. 제 6항에 있어서,
    상기 인터럽트 소스들은, 상기 인터럽트 소스들의 상태를 나타내는 레지스터(Register)를 이용하여 상기 각 인터럽트 소스들에서 발생하는 인터럽트를 상기 제어부로 제공하는 것을 특징으로 하는 장치.
  8. 제 6항에 있어서,
    상기 제어부는, 상기 인터럽트를 처리한 후, 상기 처리 시작 위치를 상기 서비스 루틴의 순서에 따라 한 단계 이동시키는 과정을 포함하는 것을 특징으로 하는 장치.
  9. 제 6항에 있어서,
    상기 제어부의 서비스 루틴은, 원형(Circle)으로 구성되는 것을 특징으로 하는 장치.
  10. 제 6항에 있어서,
    상기 제어부는, 상기 인터럽트 소스들로부터 한 개의 인터럽트가 발생하는 경우, 상기 인터럽트를 처리하는 것을 특징으로 하는 장치.
KR1020070010601A 2007-02-01 2007-02-01 통신 시스템에서 인터럽트 처리 장치 및 방법 KR20080072192A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070010601A KR20080072192A (ko) 2007-02-01 2007-02-01 통신 시스템에서 인터럽트 처리 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070010601A KR20080072192A (ko) 2007-02-01 2007-02-01 통신 시스템에서 인터럽트 처리 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20080072192A true KR20080072192A (ko) 2008-08-06

Family

ID=39882567

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070010601A KR20080072192A (ko) 2007-02-01 2007-02-01 통신 시스템에서 인터럽트 처리 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20080072192A (ko)

Similar Documents

Publication Publication Date Title
JP7387725B2 (ja) アドレス障害を検出するためのシステム、方法、及び装置
JP2006527488A5 (ko)
JPS6095640A (ja) 誤り訂正方法及び装置
KR100311372B1 (ko) 디코더용검사장치및그검사방법
KR101688749B1 (ko) 제어 장치 및 제어 방법
US9606849B2 (en) Watchdog apparatus and control method thereof
US8539268B2 (en) Apparatus and method for controlling current consumption in a multi modem system
KR20080072192A (ko) 통신 시스템에서 인터럽트 처리 장치 및 방법
CN109753454B (zh) 半导体装置以及包含半导体装置的半导体系统
JP2010141654A (ja) フィールド通信システムおよびフィールド通信方法
JP6875661B2 (ja) 誤り検出用冗長ビットの生成方法および装置
JP4900680B2 (ja) 半導体メモリ試験装置
CN105320574B (zh) 具有与监视对象运转状况对应的错误纠正功能的控制装置
EP1990719A2 (en) Industrial controller
US20180046531A1 (en) Safety-relevant computer system
CN104809038B (zh) 一种fifo异常处理方法及装置
KR101623305B1 (ko) 정보 검사 장치 및 방법과 정보 검사 장치를 포함하는 정보 처리 시스템
CN111164523B (zh) 分散控制系统
JP6874462B2 (ja) 情報処理装置、メモリ制御システム、メモリ制御方法およびメモリ制御プログラム
JP6471234B2 (ja) 制御システム
JP5298823B2 (ja) アラーム処理回路及びアラーム処理方法
CN117706260B (zh) Esd事件检测方法
JP5921895B2 (ja) 車両誘導システム、車両誘導方法および点灯装置
CN106100827B (zh) 错误保护密钥生成方法和系统
CN102226886B (zh) 可编微程序设备代码追踪

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination