KR100309862B1 - 인터럽트를서비스하기위한방법및장치 - Google Patents

인터럽트를서비스하기위한방법및장치 Download PDF

Info

Publication number
KR100309862B1
KR100309862B1 KR1019980016705A KR19980016705A KR100309862B1 KR 100309862 B1 KR100309862 B1 KR 100309862B1 KR 1019980016705 A KR1019980016705 A KR 1019980016705A KR 19980016705 A KR19980016705 A KR 19980016705A KR 100309862 B1 KR100309862 B1 KR 100309862B1
Authority
KR
South Korea
Prior art keywords
interrupt
level
devices
response
state
Prior art date
Application number
KR1019980016705A
Other languages
English (en)
Other versions
KR19990006428A (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 포만 제프리 엘
Publication of KR19990006428A publication Critical patent/KR19990006428A/ko
Application granted granted Critical
Publication of KR100309862B1 publication Critical patent/KR100309862B1/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

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

제1 장치와 동일한 레벨에 있는 제2 장치의 인터럽트가 서비스되는 것을 검출하고 그에 응답하여 제1 장치의 인터럽트 레벨을 상승시킴으로써, VME 버스 등의 데이지 체인 방식으로 연결된 아키텍쳐 버스 내의 동일한 인터럽트 레벨에 있는 장치들 간에 인터럽트를 균형있게 서비스하는 것을 보장하기 위한 방법 및 장치가 제공된다.

Description

인터럽트를 서비스하기 위한 방법 및 장치{METHOD AND APPARATUS FOR SERVICING INTERRUPTS}
본 발명은 VME 버스와 같이 데이지 체인 방식으로 연결된 버스 아키텍쳐 상에서 인터럽트를 서비스하기 위한 방법 및 장치에 관한 것이다. 더 상세하게는, 동일한 인터럽트 레벨 상의 장치로부터의 인터럽트를 균형있게 서비스하는 것을 보장하기 위한 방법 및 장치에 관한 것이다.
VME 버스와 같이 데이지 체인 방식으로 연결된 버스에 있어서, 동일한 인터럽트 레벨을 공유하는 두 개의 상이한 장치로부터의 인터럽트가 균형 잡힌 방식으로 서비스되는 것을 보장하는 아키텍쳐 방법은 개시되어 있지 않다. 인터럽트를 매우 빈번하게 발생하는 장치는 버스 상의 더 높은 번호의 슬롯에 플러그된 다른 장치보다 더 자주 서비스될 것이다. 버스 프로토콜은 더 낮은 번호의 슬롯에 있는 장치가 정지된 후에만 다른 장치의 인터럽트가 서비스되는 것이 가능하도록 되어 있다. 인터럽트 서비스를 지연시키는 것은 시간이 중요한 여러 응용예(many timecritical application)에서 허용될 수는 없다.
VME 버스의 데이지 체인 방식으로 연결된 인터럽트 승인 아키텍쳐는 1차적으로는 인터럽트의 레벨에 의해, 그리고 2차적으로는 인터럽트 장치의 슬롯 위치에 의해 인터럽트 우선 순위를 할당한다. 동일한 인터럽트 레벨을 공유하는 두 개의 장치가 인터럽트 서비스를 필요로 하는 경우, 더 낮은 번호의 슬롯에 있는 장치의 인터럽트가 우선적으로 처리될 것이다. 다른 장치의 인터럽트는 대기 상태로 남아있게 될 것이다. 더 높은 번호의 장치의 인터럽트가 서비스되기 전에 더 낮은 번호의 장치의 인터럽트가 다시 활성 상태로 되면, 인터럽트 핸들러에 의해 더 낮은 번호의 장치의 인터럽트가 다시 서비스될 것이다. 버스 아키텍쳐는 더 높은 번호의 장치의 인터럽트가 계속적으로 서비스되지 않는 것을 방지할 프로토콜을 갖고 있지 않다. 인터럽트 핸들러에서의 인터럽트 서비스 대기 시간 및 더 낮은 번호의 장치로부터의 인터럽트 빈도에 따라 문제가 발생한다.
그러므로, 본 발명의 목적은 데이지 체인 방식으로 연결된 아키텍쳐 버스에서 동일한 인터럽트 레벨을 공유하는 장치들로부터의 인터럽트가 균형있게 서비스되는 것을 보장하는 것이다.
본 발명에 따르면, 제1 장치와 동일한 레벨에 있는 제2 장치의 인터럽트가 서비스되는 것을 검출하고 그에 응답하여 제1 장치의 인터럽트 레벨을 상승시킴으로써, 데이지 체인 방식으로 연결된 아키텍쳐의 버스 내의 동일한 인터럽트 레벨에 있는 장치들 간 인터럽트를 균형있게 서비스하는 것을 보장하기 위한 방법 및 장치가 제공된다.
본 발명의 다른 특징 및 장점은 이하의 본 발명의 바람직한 실시예 및 첨부된 도면의 상세한 설명을 통해 명확해질 것이다.
도 1은 본 발명의 시스템을 도시하는 하이 레벨 흐름도.
도 2는 본 발명의 방법의 단계들을 도시하는 흐름도.
도 3은 본 발명의 방법을 도시하는 타이밍 챠트.
도 4는 본 발명의 바람직한 실시예를 도시하는 논리 흐름도.
도 5는 도 4에 도시된 인터럽트 실패 논리 블록(22)을 더욱 상세히 도시하는 논리 흐름도.
도 6은 도 4 및 도 5에 도시된 인터럽트 실패 논리(22) 및 장치 인터럽트 논리(24)의 동작을 도시하는 타이밍 챠트.
<도면의 주요 부분에 대한 부호의 설명>
10 : 장치 A
20 : 장치 B
30 : 인터럽트 핸들러
40 : 버스
12, 22 : 인터럽트 레벨 2
14, 24, 51 : 인터럽트 대기
26 : 인터럽트 실패 상태
32 : 인터럽트 준비
34 : 인터럽트 승인 사이클
41, 44, 45, 47, 48 : 인버터
42, 46, 49 : AND 게이트
43 : 플립 플롭 회로
VME 버스 장치가 인터럽트 서비스 대기 상태(interrupt service pending state)로 들어갈 때 아키텍쳐 버스 프로토콜은 단지 장치가 자신의 인터럽트가 승인, 즉 서비스되기를 기다릴 것을 요구한다. 본 발명에 따르면, 그러한 장치는 버스 상의 인터럽트 승인 동작을 모니터링한다. 인터럽트 레벨이 동일한 다른 하나의 장치의 인터럽트가 이미 서비스된 것을 확인하면, 장치는 인터럽트 서비스 대기 상태에서 나와 즉시 인터럽트 실패 상태(missed interrupt state)로 들어간다.
인터럽트 실패 상태로 들어가면 장치는 부가적이고 더 높은 우선 순위의 인터럽트 레벨을 활성화시킨다. 더 높은 우선 순위의 인터럽트는 이제 더 낮은 번호의 인터럽트가 활성 상태로 되는지의 여부에 무관하게 더 낮은 번호의 장치에 우선하게 된다. 인터럽트 핸들러(interrupt handler)가 또 다른 인터럽트를 서비스할 준비가 되면, 그것은 이러한 더 높은 우선 순위의 인터럽트를 승인할 것이다. 이러한 기술은 동일한 우선 순위 레벨을 공유하는 두 개의 다른 장치로부터의 인터럽트가 균형 잡힌 방식으로 서비스되는 것을 보장한다.
도 1을 참조하면, 인터럽트 핸들러(30)와 함께 장치 A 및 장치 B가 슬롯(10) 및 슬롯(20)에서 버스(40)에 각각 연결된다. 장치 A 및 장치 B는 동일한 인터럽트 레벨에 할당된다.
도 2를 참조하면, 본 발명의 방법이 제시되어 있다. 단계(100)에서 모든 장치들(10 및 20)에 대해 모든 인터럽트 및 상태를 리셋하는 시스템 리셋이 수행된다. 그 결과, 단계(102)에는 이러한 장치(20)에 대해 대기하고 있는 인터럽트가 존재하지 않는다. 단계(104)에서, 이 장치(20)는 레벨 n에서 대기 상태에 있는 인터럽트를 개시하며, 그것의 인터럽트 레벨 n을 활성 상태로 설정한다. 단계(106)에서, 인터럽트 승인 사이클이 인터럽트 핸들러(30)에 의해 수행되며, 인터럽트 승인 사이클이 인터럽트 레벨 n에 있었는지를 판정하기 위해 장치(20)에 의해 모니터링된다. 레벨 n에 있지 않았던 경우, 이 장치(20)는 단계(104 및 106)에서 후속 인터럽트 승인 사이클에 대해 모니터링을 계속한다. 장치(20)가 인터럽트 핸들러(30)에 의해 수행된 인터럽트 승인 사이클이 레벨 n에 대한 것으로 판정하는 경우, 단계(108)에서 장치(20)는 그 사이클이 장치(20)에 의해 승인되었는지 또는 소정의 다른 장치들에 의해 승인되었는지를 판정한다. 장치(20)가 사이클을 승인하면, 프로세싱은 어떤 인터럽트도 대기하지 않는 상태(102)로 복귀한다. 이 장치(20)가 사이클을 승인하는 장치가 아닌 경우, 단계(110)에서 장치(20)는 인터럽트 실패 상태에 들어가고, 인터럽트 레벨 n+X를 활성 상태로 설정한다. 단계(112)에서, 장치(20)는 인터럽트 핸들러(30)에 의해 수행되는 인터럽트 승인 사이클에 대해 버스(40)를 계속 모니터링한다. 그러한 사이클이 레벨 n+X에서 발생하고, 단계(115)에서 소정의 다른 장치(10)에 의해 승인된 것으로 검출하면, 단계(110)에서 장치(20)는 그것의 인터럽트 레벨을 새로운 레벨 n+X(단계(116)에서 X의 값은 증가됨)로 증가시키고, 인터럽트 승인 사이클에 대한 모니터링을 계속한다. 단계(114)에서 장치(20)가 인터럽트 승인 사이클을 승인한 것으로 판정되면, 장치(20)는 그것의 대기 인터럽트 레벨 및 인터럽트 실패 상태를 리셋하고, 단계(102)로 복귀한다.
도 3을 참조하면, VME 버스(40) 상에서 슬롯(10)에 접속된 장치 A 및 슬롯(20)에 접속된 장치 B의 다양한 상태가 시간(단위가 없는 정수로 표기함)의 경과에 따라 도시된다. 장치 A 및 장치 B는 레벨 2의 인터럽트를 사용한다. 시간 0에서 장치 A는 라인(12)에 의해 표시되는 레벨 2의 인터럽트를 활성화시킨다. 시간 1에서, 장치 B는 라인(22)에 의해 표시되는 레벨 2의 인터럽트를 활성화시킨다. 따라서, 시간 2에서 장치 A 및 B는 각각 라인(14 및 24)에 의해 표시되는 인터럽트 서비스 대기 상태에 있게 된다. 시간 2에서, 인터럽트 핸들러(30)는 라인(32)으로 표시되는 바와 같이, 인터럽트를 서비스할 준비를 한다. 라인(34)에 표시되는 바와 같이 시간 3에서 인터럽트 승인 사이클이 VME 버스(40) 상에서 개시된다. 동일한 레벨 2에서 대기상태에 있는 인터럽트를 가지는 장치 A 및 B 중 장치 A가 선행 슬롯(10)에 있기 때문에, 장치 A의 인터럽트가 시간 4에서 서비스된다. 장치 B는 이것을 확인하여, 라인(26)에 의해 표시되는 바와 같이 인터럽트 실패 상태에 들어가고, 시간 5에서 라인(28)으로 표시된 것과 같이 레벨 4의 부가적인 인터럽트를 활성화시킨다. 즉, 시간 5에서 장치 A는 아무런 대기 상태에 있는 인터럽트(라인(12) 비활성)도 가지지 않으며, 장치 B는 레벨 2(라인(22)) 및 레벨 4(라인(28))에 있는 두 개의 인터럽트를 활성화시키고, 인터럽트 실패 상태에 들어간다(라인(26) 활성). 시간 6에서 장치 A는 인터럽트 서비스 대기 상태(라인(14)활성)에 들어가고, 레벨 2의 라인(12)을 활성화시킨다. 시간 7에서 인터럽트 핸들러(30)는 다른 인터럽트를 서비스할 준비를 한다. VME 프로토콜에 따라 가장 높은 레벨의 인터럽트가 서비스되고 인터럽트 승인 사이클이 시간 8에서 개시된다. 장치 B의 인터럽트(라인(28))는 시간 9에 서비스된다. 시간 10에서 장치 B는 아무런 대기 상태에 있는 인터럽트도 갖지 않고(라인(22, 24 및 28)은 비활성), 장치 A는 레벨 2의 인터럽트 활성(라인(12))을 가지며, 여전히 인터럽트 서비스 대기 상태(라인(14))에 있게 된다. 따라서, 장치 A 및 B가 초기에 동일한 인터럽트 레벨에 할당되었다하더라도, 좀 더 멀리 있는 또는 더 높은 슬롯 위치에 있는 장치 B도 장치 A에서의 대기 상태에 있는 인터럽트에 의해 차단되지 않는다.
도 4를 참고하여, VME 버스에 구현된 본 발명의 인터럽트 실패 논리를 도시하는 논리도가 설명될 것이다. 도 4에서, 인터럽트 핸들러(30)와 함께 두 개의 장치들(10 및 20)이 서로 접속되어 도시된다. 그러나, 더 많은 장치가 있을 수 있다. 또한, 간단히 하기 위해, 장치 인터럽트 논리를 서로 접속하고, VME 버스(40)를 거쳐 인터럽트 핸들러(30)에 접속하기 위한 내부 접속 신호 라인들은 장치(20)에 대해서만 상세하게 도시된다. 장치(10)의 논리 블록들(12 및 14)과 본 발명의 바람직한 실시예의 인터럽트 실패 논리를 구현하는 다른 유사 배치 장치들(도시되지 않음)에 대해서도 유사한 내부 접속이 필요할 것이다.
VME 버스는 VITA; 10299 Scottsdale Road, Suite B; Scottsdale, AZ 85253-1437에 의해 출판된 "The VMEbus Specification(conform to IEEE 1014-1987 & IEC 821 & 297)에 설명되며, 그 내용이 여기에 참고로 포함된다.
VME 버스(40) 상의 인터럽트 핸들러(30)로의 입력은 장치 인터럽트 논리(24)로부터의 VME DTACK 라인(59)과 인터럽트 실패 논리(22)로부터의 VME IRQ 4 라인(61) 및 VME IRQ 2 라인(52)을 포함한다. VME 버스(40) 상의 인터럽트 핸들러(30)로부터의 출력은 VME DS0 라인(57), VME IACK 라인(54), VME AS 라인(56) 및 VME A01, VME A02, VME A03의 8진 버스(53), 그리고 장치(10)로의 VME IACKIN 라인(55a)을 포함한다. 장치(20)로의 VME IACKIN 라인(55)은 장치(10)로부터 데이지 체인 VME IACKOUT 라인이다. 라인들(57, 54, 56 및 53)은 VME 버스(40) 상의 장치들(10 및 20) 모두에 병렬로 공급된다.
장치(20)에서 장치 인터럽트 논리(24)로의 입력은 VME IACKIN(55), MISSED INTR STATE 라인(60), DECODE LVL 2 라인(58) 및 VME DS0 라인(57)을 포함한다. 장치 인터럽트 논리(24)의 출력은 논리(22)와 핸들러(30)로의 출력 VME DTACK(59), 핸들러(30)로의 출력인 데이지 체인 방식으로 연결된 VME IACKIN 라인(55b) 및 논리(22)로의 출력인 INTR SERV PENDING 라인(51)을 포함한다. 논리 장치(22 및 24)들의 동작이 아래에서 도 5 및 도 6을 참조하여 설명될 것이다.
도 5를 참조하면, VME 버스 상에서 본 발명의 바람직한 실시예를 구현하기 위한 인터럽트 실패 논리 회로(22)는 플립 플롭(43)의 클럭 입력을 공급하는 AND 게이트(42)를 포함한다.
표 1을 참조하면, 플립 플롭(43)의 작동이 진리표에 의해 설명된다.
여기에서,
D : 데이터 입력
> : 클럭 입력; 입력이 논리 0에서 논리 1로의 변화에 민감한지를 표시함
R : 리셋 입력
Q(T+1) : 시간 T+1에서의 플립 플롭 출력
Q(T-1) : 시간 T-1에서의 플립 플롭 출력
X : 논리 0 또는 논리 1의 값을 가질 수 있는 돈트 케어(don't care) 값
0->1 : 상승 에지; 시간 T에서 논리 0에서 논리 1로 변하는 입력
1->0 : 하강 에지; 시간 T에서 논리 1에서 논리 0으로 변하는 입력
D 플립 플롭(43) 진리표
입력 출력
D > R Q(T+1)
XXXX01 X011->00->10->1 100000 0Q(T-1)Q(T-1)Q(T-1)01
도 5의 실시예에서, 플립 플롭(43)의 데이터 입력은 논리 대수 "1"로 고정된다.
AND 게이트(42)로의 입력은 인버터(41)에 의해 반전된 VME IACKIN 라인(55), VME AS 라인(56), VME DS0 라인(57), VME IACK 라인(54), VME DTACK 라인(59) 및 DECODE LVL2 라인(58)이다. 인버터들(44 및 45)은 반전된 VME A01, VME A02 및 반전된 VME A03 라인(53)을 입력으로서 가지는 AND 게이트(46)로의 입력 라인 상에 있다. 세 개의 1비트 라인 VME A01, VME A02 및 VME A03은 인터럽트 핸들러(30)에 의해 사용되어, 그것이 서비스하고자 하는 인터럽트 레벨 7개(8진법: 8진수 1에서8진수 7까지) 중의 하나에 신호를 보낸다. AND 게이트(46)의 출력은 DECODE LVL2 라인(58)이다. INTR SERV PENDING 라인(51)은 AND 게이트(49) 및 인버터(47)에 공급되며, 인버터(47)의 출력은 플립 플롭(43)의 리셋 핀 및 인버터(48)에 공급되고, 인버터(48)의 출력은 VME IRQ2 라인(52)이다. 또, INTR SERV PENDING 라인(51)은 MISSED INTR STATE 라인(60)과 함께 AND 게이트(49)에 공급된다. AND 게이트(49)의 출력은 VME IRQ4 라인(61)이며, 본 예시에서는 레벨 2의 인터럽트로부터 인터럽트 실패 상태에 들어간 경우 장치(20)에 의해 활성화되는 후속의 더 높은 레벨(레벨 4)의 인터럽트를 나타낸다.
이제 도 4 및 도 5와 함께 도 6을 참조하면, 장치들(10 및 20)에서의 인터럽트 실패 처리에 관여하는 인터럽트 실패 논리(22)의 동작과 장치 인터럽트 논리(24)를 도시하여, 본 발명의 VME 프로토콜 실시예가 설명될 것이다. 장치(10)를 위한 인터럽트 모니터는 AND 게이트(42 및 46)와 플립 플롭(43)을 포함한다. 장치(10)를 위한 인터럽트 발생기는 AND 게이트(49)와 플립 플롭(43)을 포함한다.
장치 B(20)가 인터럽트 서비스 대기 상태에 들어가고 시간 0에서 장치 인터럽트 논리 블록(24)으로부터의 INTR SERV PENDING 라인(51)을 활성화시키며, 그 다음에 시간 0.5에서 VME IRQ2 라인(52)을 활성화시킴으로써 자신의 할당된 레벨 2의 인터럽트에 인터럽트 요청을 하는 상황이 장치 B(20) 내에서 발생한다. 장치(10, 20)로부터의 활성 인터럽트인 VME IRQ2 라인(52)은 인터럽트 핸들러(30)가 인터럽트 승인 사이클을 개시하게 한다. 이러한 사이클의 개시는 시간 1에서 VME A03-A01 라인(53) 상의 승인하고자 하는 인터럽트 레벨에 위치할 때의 인터럽트핸들러(30), 시간 2에서 VME AS 라인(56)의 활성화, 및 시간 2에서 VME IACK 라인(54)의 활성화에 의해 표시된다. 시간 2.5에서 핸들러(30)는 VME DS0 라인(57)을 활성화시킴으로써 인터럽트 장치가 응답할 준비가 되었음을 나타낸다. 또 다른 장치의 이러한 예시에서, 장치 A(10)는 승인 사이클을 차단하여 장치 B(20)의 인터럽트가 승인되는 것을 방지한다.
DECODE LVL 라인(58)이 활성화되면, 장치 B(20)는 그것의 인터럽트 레벨이 승인되었음을 검출한다. 인터럽트 레벨의 디코드는 회로들(44, 45 및 46)에 의해 수행된다. DECODE LVL 라인(58)은 장치 B(20)에 의해 상승하여 라인(53)에서 실행된 인터럽트 레벨이 VME IRQ2와 정합되는 것을 나타낸다. 인버터(47)는 장치 B(20)가 인터럽트 승인이 실패하였음을 검출하는 경우에 한하여, D 플립 플롭(43) 상의 최우선의 리셋 입력을 비활성 상태로 하여 MISSED INTR STATE 라인(60)이 활성화되는 것을 승인하기 때문에, 장치 B(20)가 대기 상태에 있는 인터럽트를 가질 때마다, 즉 INTR SERV PENDING 라인(51)이 활성화될 때마다, 장치 B(20)는 인터럽트 실패 상태에 들어갈 수 있다.
인터럽트 승인 실패는 회로(41 및 42)에 의해 검출된다. 장치 A(10)는 시간 3.5에서 인터럽트 승인 신호 라인 VME DTACK(59)을 활성화시킴으로써 인터럽트 사이클을 승인하고, 데이지 체인 방식의 신호 VME IACKIN 라인(55)은 전파하지 않는다. 비활성 VME IACKIN 라인(55), 활성 VME AS 라인(56), 활성 VME DS0 라인(57), 활성 VME IACK 라인(54), 활성 DECODE LVL2 라인(58), 및 활성 VME DTACK 라인(59)의 조합은 AND 게이트(42)의 출력이 활성화되게 한다. AND 게이트(42)로부터의 클록 입력 라인상의 0에서 1로의 전이에 의한 논리 회로(42)의 활성화는 논리 회로(43)에서의 D 플립 플롭이 시간 4에서 MISSED INTR STATE 라인(60)을 활성화시키게 한다. 일단 MISSED INTR STATE 라인(60)이 활성화되면, 장치 B(20)는 인터럽트 실패 상태에 들어가며, 시간 4.5에서 더 높은 우선 순위 의 인터럽트 VME IRQ4를 활성화시킨다. 인터럽트 핸들러(30)는 시간 3.5에서 VME DTACK 라인(59)이 활성화되는지를 확인하여, 그 결과 인터럽트 사이클이 장치(10 및 20)에서 승인되었는지의 여부를 안다. 그 다음에, 인터럽트 핸들러(30)는 시간 4.5에서 VME IACK 라인(54), VME AS 라인(53), VME DS0 라인(57) 및 VME A03-A01 라인(53)들을 비활성화시켜 인터럽트 승인 사이클을 종료한다. 일단 장치 A(10)가 VME DS0가 활성화되지 않는 것을 확인하면, 장치 A(20)는 시간 5에서 VME DTACK 라인(59)의 비활성화시킨다.
소정의 시간 후에 인터럽트 핸들러(30)는 VME IRQ4 라인(61) 상에서 활성인 인터럽트를 승인할 수 있는지를 판정한다. 본 예시에서, 인터럽트 핸들러(30)가 VME A03-A01 라인(53) 상의 승인하고자 하는 인터럽트 레벨에 위치하는 시간 7에서 이러한 새로운 사이클이 개시된다. 또한 인터럽트 핸들러(30)는 VME AS 라인(56), VME IACK 라인(54) 및 VME DS0 라인(57)을 시간 7.5 및 8에서 활성화시킨다. 본 예시에서, 다른 장치들은 레벨 4의 활성 인터럽트를 갖지 않으며, 장치 B(20)는 데이지 체인 방식의 신호 VME IACKIN 라인(55)이 시간 8에서 활성인 것을 확인한다. 장치 B(20) 내의 다른 논리는 시간 9에서 VME DTACK 라인(59)을 활성화시키고, 시간 9.5에서 INTR SERV PENDING 라인(51)을 비활성화시킴으로써 인터럽트 승인 사이클에 응답한다. 비활성화된 INTR SERV PENDING 라인(51)은 인버터 회로(47 및 48)에 의해 VME IRQ 2 라인(52)을 활성화시키고, AND 회로에 의해 VME IRQ 4가 비활성화시키며, MISSED INTR STATE 라인(60)이 인버터 회로(47) 및 플립 플롭(43)에 의해 비활성화되게 한다. 인터럽트 핸들러(30)는 시간 9에서 VME DTACK 라인(59)이 활성인 것을 확인하여 인터럽트 사이클이 승인되었는지의 여부를 안다. 그 다음에 인터럽트 핸들러(30)는 시간 10에서 VME IACK 라인(54), VME AS 라인(56), VME DS0 라인(57), 및 VME A03-A01을 비활성화시킴으로써 인터럽트 승인 사이클을 종료한다. 일단 장치 B(20)가 VME DS0가 비활성임을 확인하면, 장치 B(20)는 시간 11에서 VME DTACK 라인(59)을 비활성화시킨다.
본 발명의 장점은 데이지 체인 방식으로 연결된 아키텍쳐 인터럽트 승인 버스 내의 선행 슬롯에서 작동하는 장치들이 후행 슬롯에서 작동하는 장치들의 인터럽트들이 승인되는 것을 차단하지 않는다는 것이다.
본 발명의 특정한 실시예가 설명의 목적으로 여기에 개시되었지만, 본 발명의 취지와 범위를 벗어나지 않는 다양한 변경들이 만들어질 수 있을 것이다. 특히, 본 발명의 방법 및/또는 본 발명의 시스템에 따른 부품의 구조에 따라 컴퓨터의 작동을 제어하기 위한 신호를 저장하기 위해 송신 매체, 자기 또는 광학 테이프 또는 디스크 등의 기억 장치를 서비스하는 것은 본 발명의 범위 안에 포함될 것이다.
따라서, 본 발명의 보호 범위는 다음의 청구항 및 그 등가물들에 의해 제한된다.

Claims (14)

  1. 컴퓨터 장치들(computer devices)을 서비스하기 위한 중앙 조정 장치(central arbitration device)를 포함하는 컴퓨터 시스템에서 상기 컴퓨터 장치를 차단하는 것을(blocking out computer devices) 막는 방법에 있어서,
    적어도 두 개의 상기 장치의 각각으로부터 제1 우선 순위의 레벨의 인터럽트 대기 상태를 생성하는 단계와,
    제1 상기 장치에서 제2 상기 장치가 인터럽트를 서비스되게 하는 때를 검출하는 단계와, 이에 응답하여,
    상기 제1 장치로부터, 제2의, 더 높은 우선 순위의 인터럽트 레벨의 부가적인 인터럽트 대기 상태를 생성하는 단계와,
    상기 제2의, 더 높은 우선 순위의 인터럽트 레벨에 응답하여, 상기 제1 장치를 서비스하기 위하여 상기 중앙 조정 장치를 작동하는 단계
    를 포함하는 방법.
  2. 데이지 체인 방식으로 연결된 인터럽트 승인 아키텍쳐 버스(daisy-chained interrupt acknowledge architected bus) 상의 각각의 슬롯 위치에 접속된 복수의 장치들 - 상기 복수의 장치들 각각은 복수의 인터럽트 레벨 중 하나가 할당되어 있음 - 을 갖고, 1차적으로는 인터럽트 레벨의 순서로, 그리고 2차적으로는 슬롯 위치의 순서로 상기 장치들을 서비스하는 중앙 조정 장치를 포함하는 컴퓨터 시스템에 접속된 제1 장치를 작동시키기 위한 방법에 있어서,
    레벨 N의 인터럽트 대기 상태(interrupt pending state)에 들어갈 때, 인터럽트 대기 신호 라인 N을 활성화시키는 단계와,
    제2 장치에 의해 승인된 레벨 N에서의 인터럽트 승인 사이클에 대해 상기 버스를 모니터링하고, 그에 응답하여 인터럽트 실패 상태(missed interrupt state)로 들어가는 단계와,
    상기 인터럽트 실패 상태로 들어가는 것에 응답하여, 상기 인터럽트 대기 신호 라인 N이 활성화된 동안, N보다 높은 우선 순위의 인터럽트 레벨에 대한 인터럽트 대기 신호 라인을 활성화시키는 단계
    를 포함하는 제1 장치 작동 방법.
  3. 제2항에 있어서, 인터럽트 실패 상태에 있는 동안에 하나의 인터럽트를 승인하는 것에 응답하여, 상기 인터럽트 레벨을 레벨 N으로 복귀시키는 단계를 더 포함하는 방법.
  4. 복수의 이산 우선 레벨 신호 라인을 포함하는 데이지 체인 방식으로 연결된 인터럽트 승인 아키텍쳐 버스 상의 각각의 슬롯 위치에 접속된 복수의 장치들 - 상기 복수의 장치들 각각은 복수의 인터럽트 레벨 중 하나가 할당되어 있음 - 을 갖고, 1차적으로는 인터럽트 레벨의 순서로, 그리고 2차적으로는 슬롯 위치의 순서로 상기 장치들을 서비스하는 중앙 조정 장치를 포함하는 컴퓨터 시스템에 접속된 제1장치를 작동시키기 위한 방법에 있어서,
    제1 변수를 기초값으로 초기화하는 단계와,
    제1 우선 레벨 신호 라인을 활성화시킴으로써, 제1 인터럽트 레벨에서 인터럽트 대기 상태에 들어가는 단계와,
    상기 제1 인터럽트 레벨에 있는 동안, 상기 제1 인터럽트 레벨에서 인터럽트 승인 사이클 동안 상기 버스를 모니터링하는 단계와,
    상기 제1 인터럽트 레벨에서의 인터럽트 승인 사이클에 응답하여, 상기 인터럽트 승인 사이클이 다른 장치에 의해 승인되었는지의 여부를 판정하고, 상기 인터럽트 승인 사이클이 다른 장치에 의해 승인된 것으로 판정된 경우에 인터럽트 실패 상태에 들어가는 단계 - 상기 인터럽트 실패 상태는 상기 소정의 레벨과 상기 제1 변수의 합과 동일한 제2 인터럽트 레벨에 대응하는 제2 우선 레벨 신호를 활성화시킴으로써 들어감 -
    를 포함하는 방법.
  5. 제4항에 있어서,
    상기 제2 인터럽트 레벨에서 상기 인터럽트 실패 상태에 있는 동안, 상기 제2 인터럽트 레벨에서 제2 인터럽트 승인 사이클 동안 상기 버스를 모니터링하는 단계와,
    상기 제2 인터럽트 레벨에서의 제2 인터럽트 승인 사이클에 응답하여, 상기 인터럽트 승인 사이클이 다른 장치에 의해 승인되었는지의 여부를 판정하고, 상기인터럽트 승인 사이클이 다른 장치에 의하여 승인된 경우에 상기 제1 변수를 증가시켜, 상기 제1 인터럽트 레벨과 상기 증가된 제1 변수의 합과 동일한 인터럽트 레벨에 들어가는 단계
    를 더 포함하는 방법.
  6. 제5항에 있어서, 상기 제2 인터럽트 승인 사이클이 상기 제1 장치에 의해 승인된 것에 응답하여 상기 제1 변수를 리셋하고, 비 인터럽트 대기 상태(not interrupt pending state)에 들어가는 단계를 더 포함하는 방법.
  7. 데이지 체인 방식으로 연결된 인터럽트 승인 아키텍쳐 버스 상의 각각의 슬롯 위치에 접속된 복수의 장치들 - 상기 복수의 장치들 각각은 복수의 인터럽트 레벨 중 하나가 할당되어 있음 - 을 갖고, 1차적으로는 인터럽트 레벨의 순서로, 그리고 2차적으로는 슬롯 위치의 순서로 상기 장치들을 서비스하는 중앙 조정 장치를 포함하는 컴퓨터 시스템에 있어서,
    상기 장치와 동일한 레벨의 인터럽트를 서비스하는 또 다른 장치가 인터럽트서비스되는 때를 검출하여, 상기 장치를 인터럽트 실패 상태에 놓기 위한 상기 각각의 장치 내의 인터럽트 모니터와,
    제1 인터럽트 레벨 신호 라인을 활성화시키기 위한 인터럽트 대기 상태로 들어가는데 응답하고, 상기 장치가 상기 인터럽트 실패 상태에 놓인 것에 응답하여 부가적인 더 높은 우선 순위의 인터럽트 레벨 신호 라인을 활성화시키기 위한 상기각각의 장치 내의 인터럽트 발생기
    를 포함하는 컴퓨터 시스템.
  8. 데이지 체인 방식으로 연결된 인터럽트 승인 아키텍쳐 버스 상의 각각의 슬롯 위치에 접속된 복수의 장치들 - 상기 복수의 장치들 각각은 복수의 인터럽트 레벨 중 하나가 할당되어 있음 - 을 갖고, 1차적으로는 인터럽트 레벨의 순서로, 그리고 2차적으로는 슬롯 위치의 순서로 상기 장치들을 서비스하는 중앙 조정 유닛을 포함하는 컴퓨터 시스템에 접속된 제1 장치를 위한 인터럽트 인터페이스에 있어서,
    상기 제1 장치와 동일한 레벨의 인터럽트를 서비스하는 다른 장치가 인터럽트 하는 때를 검출하여 상기 제1 장치를 인터럽트 실패 상태에 놓기 위한 인터럽트 모니터와,
    제1 인터럽트 레벨 신호 라인을 활성화시키기 위한 대기 상태로 들어가는데 응답하고, 상기 인터럽트 실패 상태에 놓인 상기 제1 장치에 응답하여 부가적이고 더 높은 우선 순위의 인터럽트 레벨 신호 라인을 활성화시키는 인터럽트 발생기
    를 포함하여, 상기 제1 장치가 상기 동일한 인터럽트 레벨이 할당된 더 낮은 슬롯 위치의 다른 장치들에 의해 차단되는 것을 방지하는 인터럽트 인터페이스.
  9. 제8항에 있어서, 상기 인터럽트 실패 상태에 들어가는 것에 응답하여, 상기 버스를 따른 데이지 체인 방식의 인터럽트 신호의 송신을 차단하기 위한 수단을 더 포함하는 인터럽트 인터페이스.
  10. 제8항에 있어서, 상기 인터럽트 모니터가 상기 인터럽트 실패 상태를 발생하기 위한 플립 플롭 회로를 포함하되, 상기 플립 플롭 회로는 인터럽트 서비스 대기 표시가 없는 경우에 리셋되고, 또 다른 장치가 상기 제1 장치와 동일한 인터럽트 레벨에서 인터럽트 사이클을 승인한 것을 검출한 때 셋되는 인터럽트 인터페이스.
  11. 제10항에 있어서, 상기 인터럽트 발생기는, 상기 인터럽트 서비스 대기 표시와 상기 인터럽트 실패 상태가 있는 것에 응답하여 상기 더 높은 우선 순위의 인터럽트 레벨을 활성화시키기 위한 AND 게이트를 포함하는 인터럽트 인터페이스.
  12. 데이지 체인 방식으로 연결된 인터럽트 승인 아키텍쳐 버스 상의 장치를 서비스하기 위한 중앙 조정 유닛에 있어서,
    제1 우선 순위 레벨에서 각각의 제1 및 제2 장치로부터의 제1 및 제2 인터럽트 서비스 대기 신호가 존재하는 경우 작동하는, 상기 제1 우선 순위 레벨에서 인터럽트를 서비스할 준비가 되어있다는 것을 신호하기 위한 인터럽트 사이클 승인 개시 논리와,
    상기 제1 장치로부터의 승인에 응답하여, 상기 인터럽트 사이클을 종료하기 위한 인터럽트 사이클 종료 논리
    를 포함하고,
    상기 인터럽트 사이클 승인 개시 논리는 부가적으로 상기 제1 우선 순위 레벨에서 상기 제2 인터럽트 서비스 대기 신호가 존재하는 경우, 그리고 상기 제2의, 더 높은 우선 순위 레벨에서, 상기 제2 장치로부터의 제3 인터럽트 서비스 대기 신호에 대해 작동하여, 상기 제2의, 더 높은 우선 순위 레벨에서 인터럽트를 서비스할 준비가 되어 있다는 것을 신호하는 중앙 조정 유닛.
  13. 복수의 인터럽트 대기 상태에 들어가기 위한 인터럽트 발생기에 있어서,
    장치 조건(a device condition)에 응답하여, 미리 지정된 우선 순위 레벨에서 제1 인터럽트 대기 상태에 들어가기 위한 제1 인터럽트 대기 상태 개시부(first interrupt pending state initiator)와,
    인터럽트 실패 상태로의 진입에 응답하여, 더 높은 우선 순위 레벨에서 제2의, 동시 인터럽트 대기 상태(concurrent interrupt pending state)에 진입하기 위한 제2 인터럽트 대기 상태 개시부
    를 포함하는 인터럽트 발생기.
  14. 중앙 조정자를 포함하는, 데이지 체인 방식으로 연결된 시스템에서 장치를 두 개의 동시 인터럽트 대기 상태로 들어가게 하는 방법에 있어서,
    장치 조건에 응답하여, 미리 지정된 우선 순위 레벨에서 제1 인터럽트 대기 상태를 상기 중앙 조정자에 신호하는 단계;
    실패 인터럽트의 검출에 응답하여, 상기 미리 지정된 우선 순위 레벨보다 더 높은 레벨에서 제2의, 동시 인터럽트 대기 상태를 상기 중앙 조정자에 신호하는 단계를 포함하는 방법.
    제10항에 있어서, 상기 인터럽트 발생기는, 상기 인터럽트 대기 표시와 상기 인터럽트 실패 상태가 있는 것에 응답하여 상기 더 높은 우선 순위의 인터럽트 레벨을 활성화시키기 위한 AND 게이트를 포함하는 인터럽트 인터페이스.
KR1019980016705A 1997-06-10 1998-05-11 인터럽트를서비스하기위한방법및장치 KR100309862B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8/872,590 1997-06-10
US08/872,590 1997-06-10
US08/872,590 US6023743A (en) 1997-06-10 1997-06-10 System and method for arbitrating interrupts on a daisy chained architected bus

Publications (2)

Publication Number Publication Date
KR19990006428A KR19990006428A (ko) 1999-01-25
KR100309862B1 true KR100309862B1 (ko) 2001-11-15

Family

ID=25359910

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980016705A KR100309862B1 (ko) 1997-06-10 1998-05-11 인터럽트를서비스하기위한방법및장치

Country Status (2)

Country Link
US (2) US6023743A (ko)
KR (1) KR100309862B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7024509B2 (en) * 2000-08-31 2006-04-04 Hewlett-Packard Development Company, L.P. Passive release avoidance technique
US6877057B2 (en) * 2002-01-25 2005-04-05 Dell Products L.P. Information handling system with dynamic interrupt allocation apparatus and methodology
DE102006004346A1 (de) * 2006-01-30 2007-10-18 Deutsche Thomson-Brandt Gmbh Datenbusschnittstelle mit abschaltbarem Takt
US7752353B2 (en) * 2007-10-22 2010-07-06 Sandisk Il Ltd. Signaling an interrupt request through daisy chained devices

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1145730B (it) * 1981-11-13 1986-11-05 Olivetti & Co Spa Sistema di elaborazione di dati con dispositivo di controllo delle interruzioni di programma
US4907149A (en) * 1983-07-22 1990-03-06 Texas Instruments Incorporated Dynamic redirection of interrupts
US4631670A (en) * 1984-07-11 1986-12-23 Ibm Corporation Interrupt level sharing
KR900005265B1 (ko) 1986-02-24 1990-07-21 미쯔이 토오아쯔가가꾸 가부시기가이샤 전자사진용 토오너에 사용되는 수지 조성물의 제조방법
US5016162A (en) * 1988-03-30 1991-05-14 Data General Corp. Contention revolution in a digital computer system
SE8902718L (sv) * 1988-11-25 1990-05-26 Standard Microsyst Smc Asynkron avbrottsarbitrerare
US5185864A (en) * 1989-06-16 1993-02-09 International Business Machines Corporation Interrupt handling for a computing system with logical devices and interrupt reset
JPH0743691B2 (ja) * 1990-09-28 1995-05-15 インターナショナル・ビジネス・マシーンズ・コーポレイション リソース・マスタ装置およびそのデイジーチェイン装置
JPH0823859B2 (ja) * 1990-09-28 1996-03-06 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理システム
US5282272A (en) * 1990-12-21 1994-01-25 Intel Corporation Interrupt distribution scheme for a computer bus
AU2270892A (en) * 1991-06-26 1993-01-25 Ast Research, Inc. Automatic distribution of interrupts controller for a multiple processor computer system
JPH0589028A (ja) * 1991-09-27 1993-04-09 Mitsubishi Denki Eng Kk 情報処理装置
US5321818A (en) * 1992-05-12 1994-06-14 Hughes Aircraft Company System for arbitrating for access on VME bus structures
FR2691558B1 (fr) * 1992-05-21 1997-08-01 Sextant Avionique Dispositif de gestion de la priorite d'acces a des ressources communes, de modules fonctionnels repartis dans une pluralite d'unites locales en formant dans chacune de celles-ci, une "daisy chain" locale.
US5515538A (en) * 1992-05-29 1996-05-07 Sun Microsystems, Inc. Apparatus and method for interrupt handling in a multi-threaded operating system kernel
US5590372A (en) * 1992-07-14 1996-12-31 International Business Machines Corporation VME bus transferring system broadcasting modifiers to multiple devices and the multiple devices simultaneously receiving data synchronously to the modifiers without acknowledging the modifiers
US5671446A (en) * 1995-03-16 1997-09-23 Apple Computer, Inc. Method and apparatus for atomically accessing a queue in a memory structure where LIFO is converted to FIFO
US5740383A (en) * 1995-12-22 1998-04-14 Cirrus Logic, Inc. Dynamic arbitration priority

Also Published As

Publication number Publication date
KR19990006428A (ko) 1999-01-25
US6023743A (en) 2000-02-08
US6260100B1 (en) 2001-07-10

Similar Documents

Publication Publication Date Title
CA1231178A (en) Access-arbitration scheme
US5613075A (en) Method and apparatus for providing deterministic read access to main memory in a computer system
KR920010916B1 (ko) 멀티프로세서의 레벨 변경 동기장치
EP0576240B1 (en) Computer system and system expansion unit
US4979097A (en) Method and apparatus for interconnecting busses in a multibus computer system
CA2026737C (en) Bus master interface circuit with transparent preemption of a data transfer controller
KR0167817B1 (ko) 브리지 및 컴퓨터 시스템
JPH02293959A (ja) インタフェース装置
JPS6357822B2 (ko)
JPH01162967A (ja) 割込み処理方法及び装置
KR100309862B1 (ko) 인터럽트를서비스하기위한방법및장치
CN114461550A (zh) 基于i2c通信的多主控设备访问仲裁系统及方法
US6219744B1 (en) Interrupt masker for an interrupt handler with double-edge interrupt request signals detection
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
EP0251234A2 (en) Multiprocessor interrupt level change synchronization apparatus
EP0576241A1 (en) Computer system and system expansion unit
US5428797A (en) Circuitry for eliminating bus contention at high frequencies by driving a bus to an available state prior to its relinquishing control of the bus
KR0150011B1 (ko) 프로세서간 직렬버스통신 장치
JP3113355B2 (ja) データ伝送装置
KR200446071Y1 (ko) 다중 인터럽트요청 신호를 지원하는 버스의 로직게이트웨이 회로
JPH03191410A (ja) 共用ハードウェア割込み回路
JPH09218848A (ja) バスインタフェースのデイジーチェーン方式
JPH03191446A (ja) アクセス要求調停回路
JPH06149424A (ja) 情報処理装置
JPH0581171A (ja) Gp−ibにおけるdmaデータ転送システム

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
LAPS Lapse due to unpaid annual fee