KR100218675B1 - 지능적 우선순위 결정 방식의 다중 인터럽트 제어기 및 그 제어 방법 - Google Patents
지능적 우선순위 결정 방식의 다중 인터럽트 제어기 및 그 제어 방법 Download PDFInfo
- Publication number
- KR100218675B1 KR100218675B1 KR1019960061513A KR19960061513A KR100218675B1 KR 100218675 B1 KR100218675 B1 KR 100218675B1 KR 1019960061513 A KR1019960061513 A KR 1019960061513A KR 19960061513 A KR19960061513 A KR 19960061513A KR 100218675 B1 KR100218675 B1 KR 100218675B1
- Authority
- KR
- South Korea
- Prior art keywords
- interrupt
- queue
- controller
- counter
- input
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
본 발명은 펜디드(Pended) 버스에 연결하여 사용하게 될 시스템과 호스트 시스템 사이의 인터럽트를 처리하기 위한 것으로서, 펜디드(Pended) 버스에 연결된 시스템 내의 여러 가지 인터럽트 자원들을 버스 중 한 개의 인터럽트 라인을 통해 호스트 시스템으로 인터럽트를 전달할 수 있도록 한 지능적 우선 순위 결정 방식의 다중 인터럽트 제어기 및 그 제어 방법에 관해 개시된다.
Description
본 발명은 컴퓨터 시스템 내의 호스트 버스의 제한된 인터럽트 사용 환경에서, 하나의 인터럽트 라인을 다수의 입/출력(I/O) 장치가 다중으로 사용할 수 있도록 한 지능적 우선 순위 결정 방식의 다중 인터럽트 제어기 및 그 제어 방법에 관한 것이다.
각종 입/출력(I/O) 디바이스 칩들이 소형화, 고집적화 되어가며, 또한 멀티미디어와 같이 다기능화 되어 가는 추세이다. 컴퓨터 시스템에서 대부분의 입/출력(I/O) 장치는 자체에서 자료의 가공/처리가 끝나면 주 메모리로 보내거나 다른 입/출력 장치로 정보를 보낸다. 이때 메인 프로세서가 그 일을 해주도록 요청하는 방법이 인터럽트이다. 하나의 입/출력 장치에 하나씩 인터럽트 라인이 할당되어 있는 경우에는 문제가 없다. 그러나, 앞에서 언급된 바와 같이 최근에는 다기능 칩이나 다기능 보드가 일반화되어 감에 따라, 단일 칩이나 단일 보드에서 호스트 버스의 인터럽트를 사용하려는 하드웨어 자원이 많아져, 단일 인터럽트 라인에 여러 인터럽트 사용자가 존재하는 셈이다.
이와 같은 환경에서 높은 우선 순위가 배정된 경우는 인터럽트를 독점하여 사용하는 경우가 많고, 낮은 우선 순위가 배정된 입/출력은 기아(Starvation)에 빠지는 등, 인터럽트 자원 활용에 공평성이 결여되기 쉽다.
종래에는 컴퓨터 시스템에서 펜디드(Pended) 버스에 연결된 입/출력 장치들이 한 개의 인터럽트로 만족한 경우가 많았다. 최근에 칩의 소형화, 고집적화 및 시스템의 다기능화로 인해 버스에 연결된 시스템 내의 인터럽트 발생 자원들이 한 개 이상이 되는 경우가 많이 생기고, 인터럽트 처리에 문제가 생기게 된다. 이때 발생되는 인터럽트 처리 문제점으로는 첫째, 한 개 이상의 인터럽트를 한 개의 펜디드(Pended) 인터럽트 라인을 통해 전달하기 때문에 생기는 인터럽트 처리 시간 지연이 있으며, 둘째, 고정된 인터럽트 우선 순위에 따른 인터럽트 기아(Starvation) 현상 등을 들 수 있다.
따라서, 본 발명은 상기와 같은 문제점을 해결하기 위하여, 시스템 내의 로컬 인터럽트 자원들로부터의 인터럽트를 큐로 관리하고,시스템 내의 로컬 인터럽트 자원들의 인터럽트의 처리를 위해, 총 인터럽트의 일정 회수당 개별 인터럽트 회수의 비를 우선 순위 결정 요소로 하여 수시로 우선 순위를 자동 조정할 수 있게 하는 지능적 우선 순위 결정 방식의 다중 인터럽트 제어기 및 그 제어 방법을 제공하는데 그 목적이 있다.
상술한 목적을 달성하기 위한 본 발명에 따른 다중 인터럽트 제어기는 로컬 인터럽트 자원들로부터의 인터럽트를 검출하기 위한 인터럽트 검출기와, 상기 인터럽트 검출기로부터 검출된 전체 인터럽트를 나타내는 총 인터럽트 카운터와, 상기 각 로컬 인터럽트 자원별 로컬 인터럽트의 발생을 카운트하는 개별 인터럽트 카운터와, 상기 인터럽트 검출기로부터 자신에게 해당되는 인터럽트가 검출되면 세트되는 인터럽트 플래그와, 상기 해당 인터럽트 정보를 인코더하며, 총인터럽트 카운터와 개별 인터럽트 카운트의 정보를 기본요소로 하여 우선 순위를 결정하는 인코더 및 우선 순위 결정기와, 상기 인터럽트 검출기로부터의 큐 입력 요청 및 인터럽트 큐 출력 제어기로부터의 큐 쉬프트 요청을 받아 인터럽트 큐를 제어하게 되며, 큐의 빈곳중 가장 낮은 위치를 나타내는 큐 카운터를 보유한 인터럽트 큐 제어기와, 호스트 시스템으로 부터의 큐 출력요구를 받아 인터럽트 큐의 첫 번째 큐를 펜디드 버스를 통해 호스트 시스템으로 출력하게 되며, 동시에 인터럽트 큐 제어기로 큐 쉬프트 요청을 하는 기능을 수행하는 인터럽트 큐 출력 제어기와, 상기 인터럽트 큐 출력 제어기로 부터의 큐 쉬프트 요청을 받았을 때, 쉬프트 하게 될 인터럽트가 대기하는 인터럽트 큐로 구성되는 것을 특징으로 한다.
상술한 목적을 달성하기 위한 본 발명에 따른 다중 인터럽트 제어 방법은 인터럽트가 검출되었는지를 반복적으로 확인하는 제 1 단계와, 상기 제 1 단계에서 인터럽트가 검출되면 검출된 인터럽트가 1개 이상인지를 확인하는 제 2 단계와, 상기 제 2 단계에서 검출된 인터럽트가 1개이면 해당 플래그를 세트하고, 인터럽트를 인코딩한 후 인터럽트 큐 입력 제어기로 큐 입력 요청을 하는 제 3 단계와, 상기 인터럽트 큐 입력 제어기로부터 큐 입력 확인을 검사하다가 큐 입력 확인 신호가 오면, 해당 플래그를 리세트하고 시작 상태로 분기하는 제 4 단계와, 상기 제 2 단계에서 검출된 인터럽트가 1개 이상이면, 총 인터럽트 카운터를 세트하고, 우선 순위 해당 플래그를 세트한 후 개별 인터럽트 카운터를 세트하고, 인코딩한 후 인터럽트 큐 입력 제어기로 큐 입력 요청을 하는 제 5 단계와, 상기 인터럽트 큐 입력 제어기로부터 큐 입력 확인을 검사하다가 큐 입력 확인 신호가 오면 해당 플래그를 리세트하고 상기 제 2 단계로 분기하는 제 6 단계로 이루어진 것을 특징으로 한다.
또한, 인터럽트 큐 제어기에서 인터럽트 검출기로부터의 큐 입력 요청이나 호스트 시스템으로 부터의 큐 출력 요청이 있는지를 반복적으로 확인하는 제 1 단계와, 상기 제 1 단계에서 인터럽트 검출기로부터의 큐 입력 요청이 있게 되면 먼저 큐가 비어있나를 확인하는 제 2 단계와, 상기 제 2 단계에서 검사한 후 빈 큐가 있으면 현재 큐 카운터 값에 해당하는 큐에 입력한 후 큐 입력 확인 신호를 인터럽트 검출기로 발생하고, 큐 카운터를 1만큼 증가시킨 후 시작 상태로 분기하는 제 3 단계와, 상기 제 2 단계에서 호스트 시스템으로 부터 큐 출력 요구가 오면 인터럽트 큐 출력 제어기가 인터럽트 큐 제어기로 인터럽트 큐 쉬프트 요청을 하고, 인터럽트 큐 제어기가 큐 카운터를 확인하는 제 4 단계와, 상기 제 4 단계에서 큐 카운터 값이 1이면 인터럽트 큐가 완전히 비어있는 상태이므로 시작 상태로 분기하고, 큐 카운터 값이 1이 아니면 큐를 1만큼 오른쪽으로 쉬프트 한 후 큐 카운터를 1만큼 감소시키고 시작 상태로 분기하는 제 5 단계로 이루어진 것을 특징으로 한다.
제1도는 본 발명에 따른 다중 인터럽트 제어기의 블록도.
제2도는 본 발명이 적용되는 시스템의 블록도.
제3도는 본 발명에 따른 다중 인터럽트 제어기에서 인터럽트 검출기의 제어 흐름도.
제4도는 본 발명에 따른 다중 인터럽트 제어기에서 인터럽트 큐 제어기의 입출력 제어 흐름도.
* 도면의 주요부분에 대한 부호의 설명
1 : 인터럽트 검출기 2 : 총 인터럽트 카운터
3 : 개별 인터럽트 카운터 4 : 인터럽트 플래그
5 : 인코더 및 우선 순위 결정기 6 : 인터럽트 큐 제어기
7 : 인터럽트 큐 8 : 인터럽트 큐 출력 제어기
9 : 큐 카운터
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.
도 1은 본 발명에 따른 다중 인터럽트 제어기의 블록도로서, 인터럽트 검출기(1), 총 인터럽트 카운터(2), n개의 개별 인터럽트 카운터(3), 인터럽트 플래그(4), 인코더 및 우선 순위 결정기(5), 인터럽트 큐 제어기(6), 큐 카운터(9), 인터럽트 큐(7) 및 인터럽트 큐 출력 제어기(8)로 구성된다.
인터럽트 검출기(1)는 로컬 인터럽트 자원(1, 2, 3, ... , n)들로 부터의 인터럽트를 검출하여 해당 인터럽트 플래그(4)를 세트하고, 총 인터럽트 카운터(2) 및 개별 인터럽트 카운터(3)를 세트한다. 해당 인터럽트 플래그(4) 정보를 인코더(5)를 통해 인터럽트 정보를 숫자화하여 호스트 시스템(도시안됨)으로 전달하기 위해 인터럽트 큐 제어기(6)로 큐 입력 요청을 하게 된다. 이때 여러 개의 인터럽트가 동시에 검출되면, 동시에 검출된 여러 개의 인터럽트 사이의 우선 순위를 총 인터럽트 카운터(2)의 정보와 개별 인터럽트 카운터(3)의 정보를 결정 기본요소로 하여 총 인터럽트 카운터(2)의 일정 회수당 개별 인터럽트 회수의 비가 작은 순서별로 우선 순위를 결정하여 우선 순위에 따라 인터럽트 큐 제어기(6)로 큐 입력 요청을 하게 된다. 그리고, 인터럽트 큐 제어기(6)로 부터의 큐 입력 확인 신호를 받아 해당 플래그를 리세트하는 동작도 수행한다.
인터럽트 큐 제어기(6)는 인터럽트 검출기(1)로 부터의 큐 입력 요청 및 인터럽트 큐 출력 제어기(8)로 부터의 큐 쉬프트 요청을 받아 인터럽트 큐(7)를 제어하게 되며, 큐의 빈곳중 가장 낮은 위치를 나타내는 큐 카운터(9)를 보유하고 있다. 먼저, 인터럽트 검출기(1)로 부터의 큐 입력 요청이 오면, 현재 큐 카운터(9) 값에 해당하는 큐에 입력한 후 인터럽트 검출기(1)로 큐 입력 확인을 보내는 것으로 큐 입력을 완료하게 되고, 인터럽트 큐 출력 제어기(8)로 부터의 큐 쉬프트 요청이 오면 인터럽트 큐(7)를 오른쪽으로 쉬프트 하는 기능을 수행한다.
인터럽트 큐 출력 제어기(8)는 호스트 시스템으로부터의 큐 출력요구를 받아 인터럽트 큐(7)의 첫 번째 큐를 펜디드(Pended) 버스를 통해 호스트 시스템으로 출력하게 되며, 동시에 인터럽트 큐 제어기(6)로 큐 쉬프트 요청을 하는 기능을 수행한다. 호스트 시스템으로의 인터럽트 요청신호는 인터럽트 큐가 유효한지를 나타내는 큐 플래그를 이용하여 펜디드(Pended) 버스를 통해 발생하게 되며, 현재 유효한 큐가 없으면 인터럽트 요청신호도 발생되지 않는다.
도 2는 본 발명의 구성과 주변 관계 기능 블록을 나타낸 블록도이며, 호스트 시스템과 펜디드(Pended) 버스를 통해 연결되게 되는 펜디드(Pended) 버스용 시스템을 나타낸다. 펜디드(Pended) 버스용 시스템은 필수 요소로서 펜디드(Pended) 버스(21)를 통한 데이터 전송을 담당하는 펜디드(Pended) 버스 마스터/슬레이브 제어기(22), 펜디드(Pended) 버스의 구성을 저장하는 펜디드(Pended) 버스 구성 레지스터(23)로 구성되며, 이들 필수 요소들과 본 발명에 의한 펜디드(Pended) 버스용 지능적 다중 인터럽트 제어기(24)와의 연결 상태를 나타낸 것이다.
펜디드(Pended) 버스용 지능적 다중 인터럽트 제어기는 로컬 인터럽트 자원들(25 내지 26) 로 부터의 인터럽트를 받아 이들 펜디드(Pended) 버스(21)를 통해 연결된 호스트 시스템(27)으로 인터럽트를 전달하기 위한 처리를 담당하게 되며, 다중 인터럽트 제어기(24)와 호스트 시스템(27)과는 펜디드(Pended) 버스(21)를 통한 인터럽트 라인이 직접적으로 연결된다. 호스트 시스템(27)으로 부터의 큐 출력 요구는 펜디드(Pended) 버스용 시스템의 필수 요소인 펜디드(Pended) 버스 마스터/슬레이브 제어기(22)를 통해 다중 인터럽트 제어기(24)로 전달되게 됨을 나타낸다.
본 발명에 따른 제어 흐름은 인터럽트 검출기의 제어 흐름과 인터럽트 큐의 입출력 제어 흐름으로 각각 나누어지며, 각각에 대한 설명은 다음과 같다.
도 3은 인터럽트 검출기의 제어 흐름도이며, 인터럽트의 검출, 인터럽트 플래그와 셋트 또는 리셋트, 인터럽트의 인코딩 및 우선순위 결정을 담당하게 된다.
시작 신호로부터 단계(30, 31)에서 인터럽트가 검출되었는지를 반복적으로 검사하게 된다. 단계(31)에서 인터럽트가 검출되면, 단계(32)로 진행하여 검출된 인터럽트가 1개 이상인지를 먼저 검사하여 검출된 인터럽트가 1개이면, 단계(33)로 진행하여 해당 플래그를 셋트하고, 단계(34)로 진행하여 인터럽트를 인코딩한 후 단계(35)로 진행하여 인터럽트 큐 입력 제어기로 큐 입력 요청을 하게 된다. 이후, 단계(36)에서 인터럽트 큐 입력 제어기로부터 큐 입력 확인을 검사하다가 큐 입력 확인 신호가 오면, 단계(37)로 진행하여 해당 플래그를 리세트하고 시작 상태로 분기한다. 그러나, 상기 단계(32)에서 검출된 인터럽트가 1개 이상이면, 단계(38)로 진행하여 총 인터럽트 카운터를 세트하고, 단계(39)로 진행하여 우선 순위 해당 플래그를 세트한다. 이후, 단계(40)로 진행하여 개별 인터럽트 카운터를 세트하고, 단계(41)로 진행하여 인코딩한 후 단계(43)로 진행하여 인터럽트 큐 입력 제어기로 큐 입력 요청을 하게 된다. 이후 단계(44)에서 인터럽트 큐 입력 제어기로부터 큐 입력 확인을 검사하다가 큐 입력 확인 신호가 오면, 단계(45)로 진행하여 해당 플래그를 리세트하고 상기 인터럽트가 1개 이상인지를 검사하는 단계(32)로 분기한다. 큐 입력 인터럽트 검출기에 의해 세트된 이 정보들을 입력으로 하여 우선 순위 결정기가 우선 순위를 결정하고, 동시에 검출된 인터럽트가 모두 인터럽트 큐에 결정된 우선 순위대로 입력될 때까지 이 과정을 반복적으로 수행하게 된다.
도 4는 인터럽트 큐의 입출력 제어 흐름도이며, 인터럽트 큐를 제어하기 위한 인터럽트 큐 제어기와 인터럽트 큐 출력 제어기 사이의 동작을 나타낸다.
시작신호로 부터 단계(50, 51)에서 인터럽트 큐 제어기는 인터럽트 검출기로부터의 큐 입력 요청이나 호스트 시스템으로부터의 큐 출력 요청이 있는지를 반복적으로 검사하게 된다. 상기 단계(51)에서 인터럽트 검출기로부터의 큐 입력 요청이 있게 되면, 단계(52)로 진행하여 먼저 큐가 비어있나를 검사한 후 빈 큐가 있으면 단계(53)로 진행하여 현재 큐 카운터 값에 해당하는 큐에 입력한 후 단계(54)로 진행하여 큐 입력 확인 신호를 인터럽트 검출기로 발생하고, 단계(55)로 진행하여 큐 카운터를 1만큼 증가시킨 후 시작 상태로 분기한다. 만약 상기 단계(52)에서 호스트 시스템으로부터의 큐 출력 요구가 오면, 단계(56)로 진행하여 인터럽트 큐 출력 제어기가 인터럽트 큐 제어기로 인터럽트 큐 쉬프트 요청을 하게되고, 단계(57)로 진행하여 인터럽트 큐 제어기는 큐 카운터를 검사하여 큐 카운터 값이 1이면 인터럽트 큐가 완전히 비어있는 상태이므로 시작 상태로 분기하게 되며, 만약 큐 카운터 값이 1이 아니면 단계(58)로 진행하여 큐를 1만큼 오른쪽으로 쉬프트 한 후 단계(59)로 진행하여 큐 카운터를 1만큼 감소시키고 시작 상태로 분기하게 된다.
상술한 바와 같이 본 발명은 펜디드(Pended) 버스의 컴퓨터 시스템에서 호스트 버스의 단일 인터럽트 라인을 다중으로 사용할 때, 종래의 고정된 우선 순위의 방법에서 발생한 인터럽트 처리 시간지연 문제와, 우선 순위가 낮게 배정된 경우에 생기는 기아(Starvation)문제를 해결할 수 있는 탁월한 효과가 있다. 또한 본 발명을 다기능 장치 보드 설계 등에 도입할 경우, 인터럽트를 라인을 공유하는 모든 장치에게 공정하게 인터럽트 서비스의 기회를 부여받게 할 수 있어, 제한된 인터럽트 라인이 제공되는 하드웨어의 응용에 탁월한 효과가 있다.
Claims (3)
- 로컬 인터럽트 자원들로 부터의 인터럽트를 검출하기 위한 인터럽트 검출기와, 상기 인터럽트 검출기로부터 검출된 전체 인터럽트를 나타내는 초 인터럽트 카운터와, 상기 각 로컬 인터럽트 자원별 로컬 인터럽트의 발생을 카운트하는 개별 인터럽트 카운터와, 상기 인터럽트 검출기로부터 자신에게 해당되는 인터럽트가 검출되면 세트되는 인터럽트 플래그와, 상기 해당 인터럽트 정보를 인코더하며, 총인터럽트 카운터와 개별 인터럽트 카운트의 정보를 기본요소로 하여 우선 순위를 결정하는 인코더 및 우선 순위 결정기와, 상기 인터럽트 검출기로 부터의 큐 입력 요청 및 인터럽트 큐 출력 제어기로부터의 큐 쉬프트 요청을 받아 인터럽트 큐를 제어하게 되며, 큐의 빈곳중 가장 낮은 위치를 나타내는 큐 카운터를 보유한 인터럽트 큐 제어기와, 호스트 시스템으로부터의 큐 출력 요구를 받아 인터럽트 큐의 첫 번째 큐를 펜디드 버스를 통해 호스트 시스템으로 출력하게 되며, 동시에 인터럽트 큐 제어기로 큐 쉬프트 요청을 하는 기능을 수행하는 인터럽트 큐 출력 제어기와, 상기 인터럽트 큐 출력 제어기로부터의 큐 쉬프트 요청을 받았을 때, 쉬프트하게 될 인터럽트가 대기하는 인터럽트 큐로 구성되는 것을 특징으로 하는 지능적 우선 순위 결정 방식의 다중 인터럽트 제어기.
- 인터럽트가 검출되었는지를 반복적으로 확인하는 제 1 단계와, 상기 제 1 단계에서 인터럽트가 검출되면 검출된 인터럽트가 1개 이상인지를 확인하는 제 2 단계와, 상기 제 2 단계에서 검출된 인터럽트가 1개이면 해당 플래그를 셋트하고, 인터럽트를 인코딩한 후 인터럽트 큐 입력 제어기로 큐 입력 요청을 하는 제 3 단계와, 상기 인터럽트 큐 입력 제어기로부터 큐 입력 확인을 검사하다가 큐 입력 확인 신호가 오면, 해당 플래그를 리세트하고 시작 상태로 분기하는 제 4 단계와, 상기 제 2 단계에서 검출된 인터럽트가 1개 이상이면, 총 인터럽트 카운터를 세트하고, 우선 순위 해당 플래그를 세트한 후 개별 인터럽트 카운터를 세트하고, 인코딩한 후 인터럽트 큐 입력 제어기로 큐 입력 요청을 하는 제 5 단계와, 상기 인터럽트 큐 입력 제어기로부터 큐 입력 확인을 검사하다가 큐 입력 확인 신호가 오면 해당 플래그를 리세트하고 상기 제 2 단계로 분기하는 제 6 단계로 이루어진 것을 특징으로 하는 지능적 우선 순위 결정 방식의 다중 인터럽트 제어 방법.
- 인터럽트 큐 제어기에서 인터럽트 검출기로부터의 큐 입력 요청이나 호스트 시스템으로부터의 큐 출력 요청이 있는지를 반복적으로 확인하는 제 1 단계와, 상기 제 1 단계에서 인터럽트 검출기로부터의 큐 입력 요청이 있게 되면 먼저 큐가 비어있나를 확인하는 제 2 단계와, 상기 제 2 단계에서 검사한 후 빈 큐가 있으면 현재 큐 카운터 값에 해당하는 큐에 입력한 후 큐 입력 확인 신호를 인터럽트 검출기로 발생하고, 큐 카운터를 1만큼 증가시킨 후 시작 상태로 분기하는 제 3 단계와, 상기 제 2 단계에서 호스트 시스템으로부터 큐 출력 요구가 오면 인터럽트 큐 출력 제어기가 인터럽트 큐 제어기로 인터럽트 큐 쉬프트 요청을 하고, 인터럽트 큐 제어기가 큐 카운터를 확인하는 제 4 단계와, 상기 제 4 단계에서 큐 카운터 값이 1이면 인터럽트 큐가 완전히 비어있는 상태이므로 시작 상태로 분기하고, 큐 카운터 값이 1이 아니면 큐를 1만큼 오른쪽으로 쉬프트 한 후 큐 카운터를 1만큼 감소시키고 시작 상태로 분기하는 제 5 단계로 이루어진 것을 특징으로 하는 지능적 우선 순위 결정 방식의 다중 인터럽트 제어 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960061513A KR100218675B1 (ko) | 1996-12-04 | 1996-12-04 | 지능적 우선순위 결정 방식의 다중 인터럽트 제어기 및 그 제어 방법 |
US08/982,661 US5931936A (en) | 1996-12-04 | 1997-12-02 | Multiple interrupt controller and control method using an intelligent priority-decision mechanism |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960061513A KR100218675B1 (ko) | 1996-12-04 | 1996-12-04 | 지능적 우선순위 결정 방식의 다중 인터럽트 제어기 및 그 제어 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980043590A KR19980043590A (ko) | 1998-09-05 |
KR100218675B1 true KR100218675B1 (ko) | 1999-09-01 |
Family
ID=19485638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960061513A KR100218675B1 (ko) | 1996-12-04 | 1996-12-04 | 지능적 우선순위 결정 방식의 다중 인터럽트 제어기 및 그 제어 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5931936A (ko) |
KR (1) | KR100218675B1 (ko) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6510480B1 (en) * | 1998-08-25 | 2003-01-21 | Matsushita Electric Industrial Co., Ltd. | Data transfer circuit and data processing method using data transfer circuit for handling interruption processing |
US6145048A (en) * | 1998-09-17 | 2000-11-07 | Micron Technology, Inc. | Method of processing system management interrupt requests |
GB9827825D0 (en) * | 1998-12-17 | 1999-02-10 | Sgs Thomson Microelectronics | Interrupt management system |
KR100313945B1 (ko) * | 1999-03-03 | 2001-11-15 | 김영환 | 다단 인터럽트 제어 장치 |
US6523073B1 (en) * | 1999-08-23 | 2003-02-18 | Palm Computing, Inc. | Handheld computer system and method to detect and identify a peripheral device |
US6760799B1 (en) * | 1999-09-30 | 2004-07-06 | Intel Corporation | Reduced networking interrupts |
KR20010048185A (ko) * | 1999-11-25 | 2001-06-15 | 박종섭 | 인터럽트 처리장치 |
US6542950B1 (en) * | 2000-05-05 | 2003-04-01 | Lucent Technologies Inc. | Self-adaptive processor overload control system |
US6539448B1 (en) * | 2000-05-26 | 2003-03-25 | Texas Instruments Incorporated | Priority first come first serve interrupt controller |
US20020087614A1 (en) * | 2000-08-31 | 2002-07-04 | Andrej Kocev | Programmable tuning for flow control and support for CPU hot plug |
DE50114481D1 (de) * | 2000-09-22 | 2008-12-24 | Infineon Technologies Ag | Vorrichtung zur Auswahl und Weiterleitung von empfangenen Unterbrechungsanfragen gemäss konfigurierbarer Konditionen |
US7054975B2 (en) * | 2001-08-10 | 2006-05-30 | Koninklijke Philips Electronics N.V. | Interrupt generation in a bus system |
US6877057B2 (en) * | 2002-01-25 | 2005-04-05 | Dell Products L.P. | Information handling system with dynamic interrupt allocation apparatus and methodology |
KR100528476B1 (ko) * | 2003-07-22 | 2005-11-15 | 삼성전자주식회사 | 컴퓨터 시스템의 인터럽트 처리 장치 |
JP2005196459A (ja) * | 2004-01-07 | 2005-07-21 | Fujitsu Ltd | 割込み制御プログラムおよびその記録媒体ならびに割込み制御方法 |
EP2111584B1 (en) * | 2007-02-08 | 2011-08-17 | Freescale Semiconductor, Inc. | Request controller, processing unit, method for controlling requests and computer program product |
WO2008099238A1 (en) * | 2007-02-16 | 2008-08-21 | Freescale Semiconductor, Inc. | Request controller, processing unit, arrangement, method for controlling requests and computer program product |
US8433857B2 (en) * | 2008-02-12 | 2013-04-30 | Broadcom Corporation | Interruptible write block and method for using same |
US7689750B2 (en) * | 2008-03-13 | 2010-03-30 | Dell Products L.P. | System and method to dynamically order system management interrupt handler dispatches |
JP5125890B2 (ja) * | 2008-08-28 | 2013-01-23 | 富士通セミコンダクター株式会社 | 調停装置及び電子機器 |
US9547546B2 (en) * | 2012-03-12 | 2017-01-17 | Nxp Usa, Inc. | Interrupt supervision system, processing system and method for interrupt supervision |
JP6008745B2 (ja) * | 2013-01-15 | 2016-10-19 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
WO2015160576A1 (en) * | 2014-04-18 | 2015-10-22 | Anjum Zafir | Monetization of priority queue |
EP3663916A4 (en) * | 2017-08-02 | 2020-08-19 | FeliCa Networks, Inc. | INFORMATION PROCESSING DEVICE AND INFORMATION PROCESSING METHOD |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5325536A (en) * | 1989-12-07 | 1994-06-28 | Motorola, Inc. | Linking microprocessor interrupts arranged by processing requirements into separate queues into one interrupt processing routine for execution as one routine |
FR2680591B1 (fr) * | 1991-08-22 | 1996-01-26 | Telemecanique | Controleur d'interruption programmable, systeme interruptif et procede de controle d'interruption. |
JPH0713772A (ja) * | 1993-06-29 | 1995-01-17 | Mitsubishi Electric Corp | データ処理装置 |
JPH0895798A (ja) * | 1994-09-29 | 1996-04-12 | Fujitsu Ltd | データ処理装置 |
US5819112A (en) * | 1995-09-08 | 1998-10-06 | Microsoft Corporation | Apparatus for controlling an I/O port by queuing requests and in response to a predefined condition, enabling the I/O port to receive the interrupt requests |
US5671365A (en) * | 1995-10-20 | 1997-09-23 | Symbios Logic Inc. | I/O system for reducing main processor overhead in initiating I/O requests and servicing I/O completion events |
KR0156173B1 (ko) * | 1995-11-21 | 1998-11-16 | 문정환 | 인터럽트 발생회로 |
US5606703A (en) * | 1995-12-06 | 1997-02-25 | International Business Machines Corporation | Interrupt protocol system and method using priority-arranged queues of interrupt status block control data structures |
-
1996
- 1996-12-04 KR KR1019960061513A patent/KR100218675B1/ko not_active IP Right Cessation
-
1997
- 1997-12-02 US US08/982,661 patent/US5931936A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
KR19980043590A (ko) | 1998-09-05 |
US5931936A (en) | 1999-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100218675B1 (ko) | 지능적 우선순위 결정 방식의 다중 인터럽트 제어기 및 그 제어 방법 | |
US4296463A (en) | Select system for priority interface circuitry | |
US8051234B2 (en) | Multiprocessor system | |
EP1096376A2 (en) | Snapshot arbiter mechanism | |
US4630041A (en) | Enhanced reliability interrupt control apparatus | |
KR100225215B1 (ko) | Pcmcia 카드를 위한 인터럽트 분배 기술 | |
JP2561759B2 (ja) | マルチプロセッサシステムおよびそのメッセージ送受信制御装置 | |
US6836812B2 (en) | Sequencing method and bridging system for accessing shared system resources | |
US20070067527A1 (en) | Data transfer bus system connecting a plurality of bus masters | |
FI78994C (fi) | Distribuerad prioritetsnaetslogik foer att moejliggoera att en enhet med laegre prioritet befinner sig i en position foer hoegre prioritet. | |
GB2085624A (en) | A coupling equipment for the control of access of data processors to a data line | |
US6477600B1 (en) | Apparatus and method for processing isochronous interrupts | |
JPS5999553A (ja) | 割込制御方式 | |
CN100445973C (zh) | 总线控制权仲裁方法与仲裁器 | |
KR20170024876A (ko) | 실시간 공유 인터페이스를 포함하는 시스템 온 칩의 스케쥴링 방법 | |
US5557756A (en) | Chained arbitration | |
US4802087A (en) | Multiprocessor level change synchronization apparatus | |
US6105082A (en) | Data processor used in a data transfer system which includes a detection circuit for detecting whether processor uses bus in a forthcoming cycle | |
CN113886054A (zh) | 一种中断处理装置、芯片和电子设备 | |
KR970003319B1 (ko) | 직렬 인터페이스 장치를 갖는 처리장치 | |
US6625678B1 (en) | Livelock avoidance method | |
KR100199021B1 (ko) | 순차식 pci 버스용 다중 인터럽트 제어장치 및 방법 | |
CN111752876B (zh) | 一种用于接口优先级仲裁的*** | |
KR100199033B1 (ko) | 절충식 pci버스용 다중 인터럽트 제어장치 및 방법 | |
EP0072613B1 (en) | Bid control circuit for time-shared bus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20080530 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |