KR100218675B1 - 지능적 우선순위 결정 방식의 다중 인터럽트 제어기 및 그 제어 방법 - Google Patents

지능적 우선순위 결정 방식의 다중 인터럽트 제어기 및 그 제어 방법 Download PDF

Info

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
Application number
KR1019960061513A
Other languages
English (en)
Other versions
KR19980043590A (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 KR1019960061513A priority Critical patent/KR100218675B1/ko
Priority to US08/982,661 priority patent/US5931936A/en
Publication of KR19980043590A publication Critical patent/KR19980043590A/ko
Application granted granted Critical
Publication of KR100218675B1 publication Critical patent/KR100218675B1/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
    • 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
    • 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

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. 로컬 인터럽트 자원들로 부터의 인터럽트를 검출하기 위한 인터럽트 검출기와, 상기 인터럽트 검출기로부터 검출된 전체 인터럽트를 나타내는 초 인터럽트 카운터와, 상기 각 로컬 인터럽트 자원별 로컬 인터럽트의 발생을 카운트하는 개별 인터럽트 카운터와, 상기 인터럽트 검출기로부터 자신에게 해당되는 인터럽트가 검출되면 세트되는 인터럽트 플래그와, 상기 해당 인터럽트 정보를 인코더하며, 총인터럽트 카운터와 개별 인터럽트 카운트의 정보를 기본요소로 하여 우선 순위를 결정하는 인코더 및 우선 순위 결정기와, 상기 인터럽트 검출기로 부터의 큐 입력 요청 및 인터럽트 큐 출력 제어기로부터의 큐 쉬프트 요청을 받아 인터럽트 큐를 제어하게 되며, 큐의 빈곳중 가장 낮은 위치를 나타내는 큐 카운터를 보유한 인터럽트 큐 제어기와, 호스트 시스템으로부터의 큐 출력 요구를 받아 인터럽트 큐의 첫 번째 큐를 펜디드 버스를 통해 호스트 시스템으로 출력하게 되며, 동시에 인터럽트 큐 제어기로 큐 쉬프트 요청을 하는 기능을 수행하는 인터럽트 큐 출력 제어기와, 상기 인터럽트 큐 출력 제어기로부터의 큐 쉬프트 요청을 받았을 때, 쉬프트하게 될 인터럽트가 대기하는 인터럽트 큐로 구성되는 것을 특징으로 하는 지능적 우선 순위 결정 방식의 다중 인터럽트 제어기.
  2. 인터럽트가 검출되었는지를 반복적으로 확인하는 제 1 단계와, 상기 제 1 단계에서 인터럽트가 검출되면 검출된 인터럽트가 1개 이상인지를 확인하는 제 2 단계와, 상기 제 2 단계에서 검출된 인터럽트가 1개이면 해당 플래그를 셋트하고, 인터럽트를 인코딩한 후 인터럽트 큐 입력 제어기로 큐 입력 요청을 하는 제 3 단계와, 상기 인터럽트 큐 입력 제어기로부터 큐 입력 확인을 검사하다가 큐 입력 확인 신호가 오면, 해당 플래그를 리세트하고 시작 상태로 분기하는 제 4 단계와, 상기 제 2 단계에서 검출된 인터럽트가 1개 이상이면, 총 인터럽트 카운터를 세트하고, 우선 순위 해당 플래그를 세트한 후 개별 인터럽트 카운터를 세트하고, 인코딩한 후 인터럽트 큐 입력 제어기로 큐 입력 요청을 하는 제 5 단계와, 상기 인터럽트 큐 입력 제어기로부터 큐 입력 확인을 검사하다가 큐 입력 확인 신호가 오면 해당 플래그를 리세트하고 상기 제 2 단계로 분기하는 제 6 단계로 이루어진 것을 특징으로 하는 지능적 우선 순위 결정 방식의 다중 인터럽트 제어 방법.
  3. 인터럽트 큐 제어기에서 인터럽트 검출기로부터의 큐 입력 요청이나 호스트 시스템으로부터의 큐 출력 요청이 있는지를 반복적으로 확인하는 제 1 단계와, 상기 제 1 단계에서 인터럽트 검출기로부터의 큐 입력 요청이 있게 되면 먼저 큐가 비어있나를 확인하는 제 2 단계와, 상기 제 2 단계에서 검사한 후 빈 큐가 있으면 현재 큐 카운터 값에 해당하는 큐에 입력한 후 큐 입력 확인 신호를 인터럽트 검출기로 발생하고, 큐 카운터를 1만큼 증가시킨 후 시작 상태로 분기하는 제 3 단계와, 상기 제 2 단계에서 호스트 시스템으로부터 큐 출력 요구가 오면 인터럽트 큐 출력 제어기가 인터럽트 큐 제어기로 인터럽트 큐 쉬프트 요청을 하고, 인터럽트 큐 제어기가 큐 카운터를 확인하는 제 4 단계와, 상기 제 4 단계에서 큐 카운터 값이 1이면 인터럽트 큐가 완전히 비어있는 상태이므로 시작 상태로 분기하고, 큐 카운터 값이 1이 아니면 큐를 1만큼 오른쪽으로 쉬프트 한 후 큐 카운터를 1만큼 감소시키고 시작 상태로 분기하는 제 5 단계로 이루어진 것을 특징으로 하는 지능적 우선 순위 결정 방식의 다중 인터럽트 제어 방법.
KR1019960061513A 1996-12-04 1996-12-04 지능적 우선순위 결정 방식의 다중 인터럽트 제어기 및 그 제어 방법 KR100218675B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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