KR19980044600A - 순차식 pci 버스용 다중 인터럽트 제어장치 및 방법 - Google Patents

순차식 pci 버스용 다중 인터럽트 제어장치 및 방법 Download PDF

Info

Publication number
KR19980044600A
KR19980044600A KR1019960062702A KR19960062702A KR19980044600A KR 19980044600 A KR19980044600 A KR 19980044600A KR 1019960062702 A KR1019960062702 A KR 1019960062702A KR 19960062702 A KR19960062702 A KR 19960062702A KR 19980044600 A KR19980044600 A KR 19980044600A
Authority
KR
South Korea
Prior art keywords
interrupt
queue
pci bus
input
flag
Prior art date
Application number
KR1019960062702A
Other languages
English (en)
Other versions
KR100199021B1 (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 KR1019960062702A priority Critical patent/KR100199021B1/ko
Publication of KR19980044600A publication Critical patent/KR19980044600A/ko
Application granted granted Critical
Publication of KR100199021B1 publication Critical patent/KR100199021B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0024Peripheral component interconnect [PCI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

본 발명은 PCI 버스에 연결하여 사용하게 될 시스템과 호스트 시스템 사이의 인터럽트를 처리하기 위한 순차식 PCI 버스용 다중 인터럽트 제어장치 및 방법에 관한 것으로서, 종래기술에서의 인터럽트 처리상의 어려움, 타 시스템과의 인터럽트 사용에 있어서의 제약성을 해결하기 위해, 본 발명은 PCI 버스에 연결된 시스템내의 다수개의 인터럽트 자원들을 PCI 버스중 한개의 인터럽트 라인을 통해 호스트 시스템이 발생순서 및 우선순위에 따라 인터럽트를 처리할 수 있도록 하기 위해 제안된 것이다.

Description

순차식 PCI 버스용 다중 인터럽트 제어장치 및 방법
본 발명은 PCI 버스에 연결하여 사용하게 될 시스템과 호스트 시스템 사이의 언터럽트를 처리하기 위한 순차식 PCI 버스용 다중 인터럽트 제어장치 및 방법에 관한 것이다.
종래에는 PCI 버스에 연결된 시스템내에서 한개의 인터럽트로 만족했으나, 칩의 소형화 및 시스템의 다기능화로 인해 호스트 버스에 연결된 시스템내의 인터럽트 자원들이 다수개가 되어, 인터럽트 처리상의 어려움과 인터럽트 우선순위에 따른 인터럽트 기아(Starvation)현상이 발생하고 타 시스템과 동시에 사용시 인터럽트의 충돌이 야기되는 등 시스템의 성능 및 이용에 많은 제약을 가하는 문제점이 발생하였다.
본 발명은 PCI 버스에 연결된 시스템내의 다수개의 인터럽트 자원들을 PCI 버스중 한개의 인터럽트 라인을 통해, 호스트 시스템이 발생순서 및 우선순위에 따라 인터럽트를 처리할 수 있도록 함으로써, 시스템내의 로컬 인터럽트 자원들로부터의 인터럽트 큐 및 플래그에 의해 효율적으로 관리되어, 시스템내의 로컬 인터럽트 자원들의 인터럽트 처리를 기아현상 없이 발생순서 및 우선순위에 따라 처리할 수 있도록 해주기 위한 것이다.
도 1은 본 발명과 주변 관계 기능 블록을 나타낸 블록 구성도.
도 2는 본 발명의 순차식 PCI 버스용 다중 인터럽트 제어장치의 블럭 구성도.
도 3은 본 발명에 따른 인터럽트 검출기의 제어 흐름도.
도 4는 본 발명에 따른 인터럽트 큐 제어기의 제어 흐름도.
도 5는 본 발명에 따른 인터럽트 큐 입출력 제어기의 제어 흐름도.
* 도면의 주요부분에 대한 부호의 설명 *
410 : 인터럽트 검출기420 : 인터럽트 플래그
430 : 인터럽트 큐 제어기431 : 큐 카운터
440 : 인터럽트 큐441 : 큐 플래그
450 : 인터럽트 큐 입출력 제어기460 : 우선순위 인코더
상기 목적을 달성하기 위한 본 발명의 순차식 PCI버스용 다중 인터럽트 제어는, PCI 버스에 연결된 호스트와 시스템내의 다수개의 인터럽트 자원들을 PCI 버스중 한개의 인터럽트 라인을 통해 처리하기 위해;
인터럽트 검출기로부터 인터럽트를 검출하여 인터럽트 플래그를 셋트하고 이 플래그 상태로부터 인터럽트 우선순위를 결정하며, 인터럽트 큐 제어기에 큐 입력을 요청하고 이를 확인 받아 인터럽트 플래그를 리셋트 처리하는 과정과; 큐 입력 요청을 받으면 인터럽트 큐에 인터럽트 정보를 셋트하고 큐 카운터를 증가 시키고 큐 입력을 확인하며, 큐 쉬프트 요구를 받으면 인터럽트 큐를 오른쪽으로 쉬프트하고 큐 카운터를 감소시키는 과정과; 인터럽트 큐의 큐 플래그를 검사하여 세트되었으면 호스트에 인터럽트를 요구하고 호스트로부터 인터럽트 정보를 요구 받으면 이를 전송하고 큐 쉬프트를 요청하는 과정을 포함한 것을 특징으로 한다.
이하, 본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.
도 1은 본 발명의 구성과 주변 관계 기능 블록을 나타낸 블록도이며, 호스트 시스템(100)과 PCI 버스(110)를 통해 연결되게 되는 PCI 버스용 시스템을 나타낸다.
PCI 버스용 시스템은 필수 요소로서, PCI 버스를 통한 데이타 전송을 담당하는 PCI 버스 마스터/슬레이브 제어기(200), PCI 버스의 구성을 저장하는 PCI 버스 구성 레지스터(300)로 구성되며, 이들 필수 요소들과 본 발명에 의한 PCI 버스용 다중 인터럽트 제어기(400)와의 연결 상태를 나타낸 것이다.
PCI 버스용 다중 인터럽트 제어기(400)는 다수개의 로컬 인터럽트 자원들(500)로부터의 로컬 인터럽트들을 받아 이를 PCI 버스(110)를 통해 연결된 호스트 시스템(100)으로 인터럽트를 전달하기 위한 처리를 담당하게 되며, 다중 인터럽트 제어기(400)와 호스트 시스템(100)과는 PCI 버스(110)를 통한 인터럽트 라인이 직접적으로 연결된다.
호스트 시스템(100)으로부터의 큐 출력 요구는 PCI 버스용 시스템의 필수요소인 PCI 버스 마스터/슬레이브 제어기(200)를 통해 다중 인터럽트 제어기(400)로 전달되게 됨을 나타낸다.
도 2는 본 발명의 순차적 PCI 버스용 다중 인터럽트 제어장치(400)의 내부 블록 구성도로서, 크게 인터럽트 검출기(410), 인터럽트 플래그(420), 우선순위 인코더(460), 인터럽트 큐 제어기(430), 큐 카운터(431), 인터럽트 큐(440) 및 인터럽트 큐 입출력 제어기(450)로 구성된다.
인터럽트 검출기(410)는 로컬 인터럽트 자원(1, 2, 3, ..., n)들로부터의 인터럽트를 검출한 후, 해당 인터럽트 플래그(420)를 세트(415)하고, 인터럽트 정보를 인터럽트 큐(440)에 쏘기 위하여 인터럽트 큐 제어기(430)에 큐 입력 요청(416)을 한다. 이때 여러개의 인터럽트가 동시에 검출되면, 동시에 검출된 여러개의 인터럽트 사이의 우선순위를 우선순위 인코더(460)에 의해 결정하고, 이 순위에 따라 순차적으로 인터럽트 큐 제어기(430)로 큐 입력 요청(416)을 하며, 인터럽트 큐 제어기(430)로부터의 큐 입력 확인 신호(417)를 받아 해당 플래그를 리셋트(415)하는 동작을 인터럽트 요구 검출 수 만큼 반복 수행한다.
그리고 인터럽트 큐 제어기(430)는 인터럽트 검출기(410)로부터의 큐 입력 요청(416) 및 인터럽트 큐 입출력 제어기(450)로부터의 큐 쉬프트 요청(451)을 받아 인터럽트 큐(440)를 제어하게 되며, 큐를 어드레싱하기 위한 큐 카운터(431)를 구비하고 있다. 이는 인터럽트 검출기(410)로부터의 큐 입력 요청(416)이 오면, 현재 큐 카운터(431) 값에 해당하는 인터럽트 큐(440)에 입력하고 큐 카운터를 증가시킨 후, 인터럽트 검출기(410)로 큐 입력 확인(417)를 보내는 것으로 큐 입력(432)을 완료하게 되고, 인터럽트 큐 입출력 제어기(450)로부터의 큐 쉬프트 요청(451)이 오면 인터럽트 큐(440)를 오른쪽으로 쉬프트하고 큐 카운터(431)를 감소시키는 기능을 수행한다.
또한 인터럽트 큐 입출력 제어기(450)는 인터럽트 큐(440)가 유효한지를 나타내는 큐 플래그(441)를 검색하여 세트되어 있으면 호스트로 인터럽트 신호를 발생한다. 인터럽트 발생후에 호스트 시스템(100)으로부터의 인터럽트 정보를 요구 받으면, 인터럽트 큐(440)의 0번째 큐를 PCI 버스(110)를 통해 호스트 시스템(100)으로 송신하고, 인터럽트 큐 제어기(430)로 큐 쉬프트 요청(451)을 수행한다.
본 발명에 따른 제어 흐름은 인터럽트 검출기의 제어 흐름, 인터럽트 큐 제어기의 제어흐름 및 인터럽트 큐의 입출력 제어 흐름으로 나누어지며, 각각에 대한 설명은 다음과 같다.
도 3은 인터럽트 검출기의 검출 흐름도이다.
시작 상태에서 인터럽트가 검출되었는지를 반복적으로 검사(S1)하며, 인터럽트가 검출되면, 검출된 인터럽트가 1개 이상인지를 먼저 검사하여(S2) 검출된 인터럽트가 1개이면, 해당 플래그를 셋트하고(S3) 인터럽트를 인코딩(S4)한 후 인터럽트 큐 제어기(430)로 큐 입력 요청(416)을 하게 된다(S5). 인터럽트 큐 제어기(430)로부터 큐 입력 확인을 검사(S6)하다가 큐 입력 확인 신호(417)가 오면, 해당 플래그를 리셋트하고 (S7)시작 상태로 분기한다.
그러나 검출된 인터럽트가 1개 이상이면(S2), 우선순위 인코더(460)에 의해 그 검출된 인터럽트를 인코딩한 후(S8) 인터럽트 큐 제어기(430)로 큐 입력 요청(S9)을 한 후 인터럽트 큐 제어기(430)로부터 큐 입력확인(417)을 검사(S10)하다가 큐 입력 확인신호(417)를 받으면 해당 플래그를 리셋하며(S11), 동시에 검출된 인터럽트가 모두 인터럽트 큐에 순차적으로 입력될 때까지 이 과정을 반복적으로 수행하게 된다(S12).
도 4는 인터럽트 큐 제어기 제어 흐름도로서, 인터럽트 검출기와 인터럽트 큐 입출력 제어기로부터 입력을 받아 인터럽트 큐를 관리하기 위한 흐름도이다.
시작 상태에서 인터럽트 큐 입출력 제어기(450)로부터 큐 쉬프트 요청(451)이 있었는지를 체크한다(S13). 큐 쉬프트 요청이 있으면, 인터럽트 큐를 오른쪽으로 쉬프트(S14)한 후 큐 카운터를 1감소(S15) 시킨 후 시작상태로 분기한다. 큐 쉬프트 요청이 없으면, 인터럽트 검출기(410)로부터 큐 입력 요청(416)이 있었는지를 확인하여(S16) 없으면 초기 상태로 분기한다. 큐 쉬프트 요청이 있으면, 큐 카운터(431)로부터 카운트 값을 읽어 큐가 비어 있나를 검사한 후 큐가 비어 있으면, 이 값에 따라 해당 큐에 우선순위 인코더(460)로부터 인터럽트 큐(440)에 인터럽트 정보를 쓸 수 있도록 제어하고(S18) 큐 카운터(431)를 1 증가시키며(S19), 인터럽트 검출기(410)에 큐 입력 확인 신호(417)를 보낸 후, 초기 상태로 분기한다.
도 5는 인터럽트 큐의 입출력 제어 흐름도이다.
시작 상태에서 인터럽트 큐 입출력 제어기(450)는 인터럽트 큐 플래그(441)를 검사하여 세트되었으면(S20), 호스트에 인터럽트 신호를 발생하고(S21) 호스트로부터 인터럽트 정보 요구를 받으면(S22) 인터럽트 큐(440)로부터 인터럽트 정보를 읽어 호스트에 송신하고(S23) 인터럽트 큐 제어기에 큐 쉬프트 요청(S24)을 한 후 시작 상태로 분기한다.
이상과 같은 본 발명은 PCI 버스에 연결된 시스템내의 다수개의 인터럽트 자원들을 PCI 버스중 한개의 인터럽트 라인을 통해 처리함으로써, 인터럽트 사용의 편리성과 제한된 인터럽트 자원을 타 시스템이 이용할 수가 있기 때문에 호스트 시스템의 활용을 증진시킬 수 있다.
또한 인터럽트 발생순서에 따라 인터럽트를 처리하고 동시에 인터럽트가 발생하는 경우 우선순위의 인터럽트를 먼저 처리함으로써 멀티미디어 처리에 용이하고, 시스템 지원의 효율적 이용이 가능하며, 큐 플래그를 사용하여 호스트와의 접속(access) 수를 감소시킬 수 있다.

Claims (5)

  1. PCI 버스에 연결된 호스트 시스템과 시스템내 다수개의 로컬 인터럽트 자원들을 PCI 버스중 한개의 인터럽트 라인으로 처리하기 위해,
    상기 다수개의 로컬 인터럽트 자원들로부터 검출된 인터럽트 정보를 검출하여 해당 인터럽트 플래그를 제어하고, 인터럽트 우선순위에 따라 큐 입력 요청을 하고, 큐 입력확인신호를 받아 해당 플래그를 제어하는 인터럽트 검출수단과;
    상기 인터럽트 검출수단의 플래그 제어에 따라 다수개의 인터럽트 상태를 나타내는 인터럽트 플래그와;
    상기 인터럽트 검출수단의 인에이블신호에 따라 상기 입력된 다수개의 인터럽트 정보의 우선순위를 결정하는 우선순위 결정수단과;
    상기 큐 입력요청신호 및 큐 쉬프트 요청신호를 받아 인터럽트 큐를 제어하는 인터럽트 큐 제어수단과;
    상기 인터럽트 큐 제어수단의 제어에 따라 인터럽트가 입력되고 상기 우선순위 결정수단에서 결정된 순위에 따라 출력하는 인터럽트 큐와;
    상기 인터럽트 큐의 유효상태를 검사하여 호스트 시스템으로 인터럽트 신호를 발생하고, 호스트 시스템으로부터 인터럽트 정보 요구신호를 받아 PCI 버스를 통해 호스트 시스템으로 인터럽트 큐의 정보를 송신하고 상기 인터럽트 큐 제어수단에 큐 쉬프트 요청을 하는 인터럽트 큐 입출력 제어수단으로 구성된 것을 특징으로 하는 순차식 PCI 버스용 다중 인터럽트 제어 장치.
  2. 제 1항에 있어서, 상기 우선순위 결정수단은
    인코더를 사용한 것을 특징으로 하는 순차식 PCI 버스용 다중 인터럽트 제어 장치.
  3. 제 1항에 있어서, 상기 인터럽트 큐 제어수단은
    큐를 어드레싱하기 위해, 상기 인터럽트 검출수단으로부터의 큐 입력 요청신호에 따라 증가하고, 상기 인터럽트 큐 입출력 제어수단으로부터의 이 큐 쉬프트 요청신호에 따라 감소하는 큐 카운터를 구비한 것을 특징으로 하는 순차식 PCI 버스용 다중 인터럽트 제어 장치.
  4. 제 1항에 있어서, 상기 인터럽트 큐는
    인터럽트 큐의 유효여부를 나타내는 큐 플래그를 구비한 것을 특징으로 하는 순차식 PCI 버스용 다중 인터럽트 제어 장치.
  5. 인터럽트 검출기, 인터럽트 큐 제어기, 우선순위 인코더 및 인터럽트 큐 입출력 제어기를 구비하며,
    PCI 버스에 연결된 호스트와 시스템내의 다수개의 인터럽트 자원들을 PCI 버스중 한개의 인터럽트 라인을 통해 처리하기 위해,
    인터럽트 검출기로부터 인터럽트를 검출하여 인터럽트 플래그를 셋트하고 이 플래그 상태로부터 인터럽트 우선순위를 결정하며, 인터럽트 큐 제어기에 큐 입력을 요청하고 이를 확인 받아 인터럽트 플래그를 리셋트 처리하는 제 1과정과;
    상기 큐 입력 요청을 받으면 인터럽트 큐에 인터럽트 정보를 셋트하고 큐 카운터를 증가 시키고 큐 입력을 확인하며, 큐 쉬프트 요구를 받으면 인터럽트 큐를 오른쪽으로 쉬프트하고 큐 카운터를 감소시키는 제 2과정과;
    상기 인터럽트 큐의 큐 플래그를 검사하여 세트되었으면 호스트에 인터럽트를 요구하고 호스트로부터 인터럽트 정보를 요구 받으면 이를 전송하고 큐 쉬프트를 요청하는 제 3과정으로 이루어진 것을 특징으로 하는 순차식 PCI 버스용 다중 인터럽트 제어 장치.
KR1019960062702A 1996-12-07 1996-12-07 순차식 pci 버스용 다중 인터럽트 제어장치 및 방법 KR100199021B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960062702A KR100199021B1 (ko) 1996-12-07 1996-12-07 순차식 pci 버스용 다중 인터럽트 제어장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960062702A KR100199021B1 (ko) 1996-12-07 1996-12-07 순차식 pci 버스용 다중 인터럽트 제어장치 및 방법

Publications (2)

Publication Number Publication Date
KR19980044600A true KR19980044600A (ko) 1998-09-05
KR100199021B1 KR100199021B1 (ko) 1999-06-15

Family

ID=19486329

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960062702A KR100199021B1 (ko) 1996-12-07 1996-12-07 순차식 pci 버스용 다중 인터럽트 제어장치 및 방법

Country Status (1)

Country Link
KR (1) KR100199021B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100448931B1 (ko) * 1997-08-11 2004-11-16 삼성전자주식회사 피씨아이 인터럽트 공유장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100448931B1 (ko) * 1997-08-11 2004-11-16 삼성전자주식회사 피씨아이 인터럽트 공유장치

Also Published As

Publication number Publication date
KR100199021B1 (ko) 1999-06-15

Similar Documents

Publication Publication Date Title
EP0458304B1 (en) Direct memory access transfer controller and use
US5664200A (en) Apparatus and method for providing more effective reiterations of interrupt requests in a multiprocessor system
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
US6115767A (en) Apparatus and method of partially transferring data through bus and bus master control device
US5805841A (en) Symmetric parallel multi-processing bus architeture
KR100199033B1 (ko) 절충식 pci버스용 다중 인터럽트 제어장치 및 방법
KR100199021B1 (ko) 순차식 pci 버스용 다중 인터럽트 제어장치 및 방법
JP2972491B2 (ja) バス制御機構及び計算機システム
US6625678B1 (en) Livelock avoidance method
US5577260A (en) Data processing system having a serial interface comprising an end-of-transmission flag
JPH03263158A (ja) 共通バス調停制御方式
KR960003649B1 (ko) 통신용 마이크로컴퓨터 시스템
JPH10116245A (ja) Dma制御装置
JPH1055341A (ja) バスインタフェース制御方式
JP2702832B2 (ja) 低優先度アダプタの救済制御装置
JPH04369065A (ja) ダイレクトメモリアクセスコントローラ
JP2573790B2 (ja) 転送制御装置
JP2802091B2 (ja) 割込ベクタ制御方式
JP2860733B2 (ja) バス接続装置
JPH0512203A (ja) バス性能測定システム
JPH04266147A (ja) バスアダプタ装置
JPS6240558A (ja) 通信処理装置
JPH0455969A (ja) Dma制御回路
JPH0512219A (ja) プロセス転送方式
JPH02310657A (ja) バス接続装置

Legal Events

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

Payment date: 20080303

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee