KR19980044600A - 순차식 pci 버스용 다중 인터럽트 제어장치 및 방법 - Google Patents
순차식 pci 버스용 다중 인터럽트 제어장치 및 방법 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0024—Peripheral 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 버스에 연결된 시스템내에서 한개의 인터럽트로 만족했으나, 칩의 소형화 및 시스템의 다기능화로 인해 호스트 버스에 연결된 시스템내의 인터럽트 자원들이 다수개가 되어, 인터럽트 처리상의 어려움과 인터럽트 우선순위에 따른 인터럽트 기아(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)
- PCI 버스에 연결된 호스트 시스템과 시스템내 다수개의 로컬 인터럽트 자원들을 PCI 버스중 한개의 인터럽트 라인으로 처리하기 위해,상기 다수개의 로컬 인터럽트 자원들로부터 검출된 인터럽트 정보를 검출하여 해당 인터럽트 플래그를 제어하고, 인터럽트 우선순위에 따라 큐 입력 요청을 하고, 큐 입력확인신호를 받아 해당 플래그를 제어하는 인터럽트 검출수단과;상기 인터럽트 검출수단의 플래그 제어에 따라 다수개의 인터럽트 상태를 나타내는 인터럽트 플래그와;상기 인터럽트 검출수단의 인에이블신호에 따라 상기 입력된 다수개의 인터럽트 정보의 우선순위를 결정하는 우선순위 결정수단과;상기 큐 입력요청신호 및 큐 쉬프트 요청신호를 받아 인터럽트 큐를 제어하는 인터럽트 큐 제어수단과;상기 인터럽트 큐 제어수단의 제어에 따라 인터럽트가 입력되고 상기 우선순위 결정수단에서 결정된 순위에 따라 출력하는 인터럽트 큐와;상기 인터럽트 큐의 유효상태를 검사하여 호스트 시스템으로 인터럽트 신호를 발생하고, 호스트 시스템으로부터 인터럽트 정보 요구신호를 받아 PCI 버스를 통해 호스트 시스템으로 인터럽트 큐의 정보를 송신하고 상기 인터럽트 큐 제어수단에 큐 쉬프트 요청을 하는 인터럽트 큐 입출력 제어수단으로 구성된 것을 특징으로 하는 순차식 PCI 버스용 다중 인터럽트 제어 장치.
- 제 1항에 있어서, 상기 우선순위 결정수단은인코더를 사용한 것을 특징으로 하는 순차식 PCI 버스용 다중 인터럽트 제어 장치.
- 제 1항에 있어서, 상기 인터럽트 큐 제어수단은큐를 어드레싱하기 위해, 상기 인터럽트 검출수단으로부터의 큐 입력 요청신호에 따라 증가하고, 상기 인터럽트 큐 입출력 제어수단으로부터의 이 큐 쉬프트 요청신호에 따라 감소하는 큐 카운터를 구비한 것을 특징으로 하는 순차식 PCI 버스용 다중 인터럽트 제어 장치.
- 제 1항에 있어서, 상기 인터럽트 큐는인터럽트 큐의 유효여부를 나타내는 큐 플래그를 구비한 것을 특징으로 하는 순차식 PCI 버스용 다중 인터럽트 제어 장치.
- 인터럽트 검출기, 인터럽트 큐 제어기, 우선순위 인코더 및 인터럽트 큐 입출력 제어기를 구비하며,PCI 버스에 연결된 호스트와 시스템내의 다수개의 인터럽트 자원들을 PCI 버스중 한개의 인터럽트 라인을 통해 처리하기 위해,인터럽트 검출기로부터 인터럽트를 검출하여 인터럽트 플래그를 셋트하고 이 플래그 상태로부터 인터럽트 우선순위를 결정하며, 인터럽트 큐 제어기에 큐 입력을 요청하고 이를 확인 받아 인터럽트 플래그를 리셋트 처리하는 제 1과정과;상기 큐 입력 요청을 받으면 인터럽트 큐에 인터럽트 정보를 셋트하고 큐 카운터를 증가 시키고 큐 입력을 확인하며, 큐 쉬프트 요구를 받으면 인터럽트 큐를 오른쪽으로 쉬프트하고 큐 카운터를 감소시키는 제 2과정과;상기 인터럽트 큐의 큐 플래그를 검사하여 세트되었으면 호스트에 인터럽트를 요구하고 호스트로부터 인터럽트 정보를 요구 받으면 이를 전송하고 큐 쉬프트를 요청하는 제 3과정으로 이루어진 것을 특징으로 하는 순차식 PCI 버스용 다중 인터럽트 제어 장치.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100448931B1 (ko) * | 1997-08-11 | 2004-11-16 | 삼성전자주식회사 | 피씨아이 인터럽트 공유장치 |
-
1996
- 1996-12-07 KR KR1019960062702A patent/KR100199021B1/ko not_active IP Right Cessation
Cited By (1)
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 |