KR19990061475A - Interrupt Bus Arbitration in Multiprocessor Systems - Google Patents

Interrupt Bus Arbitration in Multiprocessor Systems Download PDF

Info

Publication number
KR19990061475A
KR19990061475A KR1019970081741A KR19970081741A KR19990061475A KR 19990061475 A KR19990061475 A KR 19990061475A KR 1019970081741 A KR1019970081741 A KR 1019970081741A KR 19970081741 A KR19970081741 A KR 19970081741A KR 19990061475 A KR19990061475 A KR 19990061475A
Authority
KR
South Korea
Prior art keywords
interrupt
arbitration
bus
message
processor
Prior art date
Application number
KR1019970081741A
Other languages
Korean (ko)
Other versions
KR100261730B1 (en
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 KR1019970081741A priority Critical patent/KR100261730B1/en
Publication of KR19990061475A publication Critical patent/KR19990061475A/en
Application granted granted Critical
Publication of KR100261730B1 publication Critical patent/KR100261730B1/en

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
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration

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

본 발명은 공유 메모리 구조의 다중 프로세서 시스템에서 인터럽트 버스의 사용을 고속으로 중재하기 위한 인터럽트 버스 중재방법에 관한 것이다.The present invention relates to an interrupt bus arbitration method for fast arbitration of the use of an interrupt bus in a multiprocessor system of shared memory architecture.

이러한 본 발명의 방법은 인터럽트 중재가 요구되면, 버스사용권을 중재하기 위하여 인터럽트 종료 메시지에 가장 높은 우선순위를 두어 중재하는 인터럽트 종료 우선 중재 단계와; 상기 인터럽트 종료 우선 중재단계가 수행된 후 순환 우선순위 중재 프로토콜에 따라 중재하는 순환 우선 순위 중재 단계; 인터럽트 중재가 요구되면, 수신자 결정을 중재하기 위하여 최하위 우선중재 프로토콜에 따라 중재하는 최하위 우선 중재 단계; 상기 중재단계에서 승리한 인터럽트 제어기가 인터럽트 종료 메시지를 전송하기 위한 인터럽트 종료 메시지 전송 사이클 수행단계; 상기 중재단계에서 승리한 인터럽트 제어기가 쇼트 메시지를 전송하기 위한 쇼트 메시지 전송 사이클 수행단계; 및 상기 중재단계에서 승리한 인터럽트 제어기가 넌 포커스 최하위 우선 중재 메시지를 전송하기 위한 넌 포커스 최하위 우선중재 메시지 사이클 수행단계를 포함하여 인터럽트 중재를 원핫 엔코딩 방식으로 수행하여 병렬 비교를 통해 신속하게 처리할 수 있다.This method of the present invention comprises an interrupt termination priority arbitration step of arranging, if an interrupt arbitration is required, to arbitrate with the highest priority to the interrupt termination message in order to mediate a bus right; A cyclic priority arbitration step of arbitration according to a cyclic priority arbitration protocol after the interrupt termination priority arbitration step is performed; If interrupt arbitration is required, the lowest priority arbitration step of arbitrating according to the lowest priority arbitration protocol to mediate the recipient decision; Performing an interrupt termination message transmission cycle for the interrupt controller winning the arbitration step to transmit an interrupt termination message; Performing a short message transmission cycle by the interrupt controller winning the arbitration step to transmit a short message; And performing a non-focus lowest priority arbitration message cycle for the interrupt controller winning the arbitration step to transmit a non-focus lowest priority arbitration message. have.

Description

다중 프로세서 시스템에 있어서 인터럽트 버스 중재방법 (Method of arbitrating interrupt bus in multi processor system)Method of arbitrating interrupt bus in multi processor system

본 발명은 공유 메모리 구조의 다중 프로세서 시스템에서 인터럽트를 처리하기 위한 기술에 관한 것으로, 특히 인터럽트 버스의 사용을 고속으로 중재하기 위한 인터럽트 버스 중재방법에 관한 것이다.TECHNICAL FIELD The present invention relates to a technique for handling interrupts in a multiprocessor system of shared memory architecture, and more particularly, to an interrupt bus arbitration method for arbitration at high speeds.

지속적인 마이크로 프로세서 성능향상에 의거해서 단일 프로세서 컴퓨터의 성능이 계속 향상되긴 했지만, 궁국적으로 계산 성능을 획기적으로 향상시키기 위해서는 복수개 프로세서를 동시에 사용하는 다중 프로세서 컴퓨터에 의존하게 된다.While the performance of single-processor computers has continued to improve as a result of continued microprocessor performance improvements, eventually relying on multiprocessor computers that use multiple processors simultaneously to dramatically improve computational performance.

다중 프로세서 컴퓨터는 메모리구조와 연결방식에 의해서 중앙집중형 공유 메모리구조와, 분산 메모리구조로 구분된다. 공유 메모리구조는 최대 수십개의 프로세서가 공유버스를 통해 단일 공유 메모리에 접근하는 형태로서, 메모리 접근시간이 균일하기 때문에 UMA(Uniform Memory Access) 구조라고 불린다. 버스기반 공유 메모리구조는 상대적으로 프로그래밍 모델이 단순하고, 캐쉬 일관성 유지 구현이 쉽다는 장점에 힙입어 널리 사용되고 있다. 이에 반해 분산 메모리구조는 각 프로세서 노드가 자신의 지역 메모리(local memory)를 가지고 있는 형태이다. 구현에 따라 지역 메모리접근은 고속으로 수행되는데 반하여 다른 노드의 원격지 메모리 접근에는 많은 시간이 걸리는 NUMA(Non-Uniform Memory Access)구조와, 원격 메모리 접근을 허용하지 않은 NORMA(NO Remote Memory Access)구조로 나뉜다. 최근에는 분산 메모리구조가 새로운 각광을 받고 있지만 아직까지는 최적화된 운영체제 지원이 미흡한 편이다.A multiprocessor computer is divided into a centralized shared memory structure and a distributed memory structure by a memory structure and a connection method. The shared memory structure is a form in which up to several dozen processors access a single shared memory through a shared bus, and is called a UMA (Uniform Memory Access) structure because the memory access time is uniform. Bus-based shared memory architectures are widely used due to their relatively simple programming model and easy implementation of maintaining cache coherency. In contrast, distributed memory architectures in which each processor node has its own local memory. Depending on the implementation, local memory access is performed at high speed, whereas non-uniform memory access (NUMA) structure takes a long time for remote memory access by other nodes, and NO remote memory access (NORMA) structure that does not allow remote memory access. Divided. In recent years, distributed memory architectures have received new attention, but there is still insufficient support for optimized operating systems.

한편, 버스(Bus)구조와 공유 메모리(Shared Memory)를 기반으로 하는 다중 프로세서 시스템에서 각 프로세서 에이젼트는 버스와 메모리를 공유하며, 모든 데이터의 전송은 시스템 버스를 통하여 이루어진다. 즉, 다중 프로세서 시스템은 도 1에 도시된 바와 같이, 하나의 시스템 버스(1)에 다수의 프로세서 에이젼트(MPU:2)와 메모리 에이젼트(SMB:3), 입출력 에이젼트(IOP:4), 및 시스템 제어 에이젼트(SCM:5)가 연결되어 시스템 버스(1)를 통해 데이터를 교환하도록 되어 있다. 이러한 다중 프로세서 시스템에 있어서 시스템 버스(1)는 컴퓨터의 성능을 좌우하는 중요한 요소이다.Meanwhile, in a multiprocessor system based on a bus structure and shared memory, each processor agent shares a bus and a memory, and all data is transferred through the system bus. That is, a multiprocessor system, as shown in FIG. 1, includes a plurality of processor agents (MPU: 2), memory agents (SMB: 3), input / output agents (IOP: 4), and a system on one system bus 1. A control agent (SCM) 5 is connected to exchange data via the system bus 1. In such a multiprocessor system, the system bus 1 is an important factor in determining the performance of a computer.

시스템버스는 중재버스(arbitration bus), 데이터 전송버스(data transfer bus), 인터럽트 전송버스(interrupt transfer bus), 그리고 유틸리티 버스(utility bus)로 구분되고, 이 중재버스는 어드레스 버스 중재버스와 데이터 버스 중재버스로 구성되며, 데이터 버스는 어드레스 버스(address bus), 데이터 버스(data bus), 그리고 상태 버스(status bus)로 구성된다. 또한 유틸리티 버스는 버스의 기능을 수행하기 위해 기본적으로 필요한 신호와 버스의 부가적인 기능을 구현하기 위해 추가된 신호들의 집합으로서, 버스의 클럭을 제공하기 위한 버스클럭(BCLK*)과 슬롯의 위치를 나타내는 슬롯 어드레스를 위한 지오그래피컬 슬롯 어드레스(GA4..0)*로, 시스템 고장을 나타내기 위한 시스템 페일(SFAIL)신호선, 시스템 리셋을 위한 리셋(RST)신호선, JTAG 바운더리 스캔 옵션을 위한 Tx4..0신호선등으로 이루어진다. 이러한 시스템 버스의 동작은 중재버스에 의한 중재동작과 데이터전송버스에 의한 데이터 전송동작, 및 인터럽트 버스에 의한 인터럽트동작으로 크게 구분되는데, 이러한 동작은 시스템 버스의 클럭에 의해 동기되어 이루어진다.The system bus is divided into an arbitration bus, a data transfer bus, an interrupt transfer bus, and a utility bus, which are address bus arbitration buses and data buses. It consists of an arbitration bus, which consists of an address bus, a data bus, and a status bus. In addition, the utility bus is the default, the necessary signal to the bus portion as a set of signals added to implement the functions, the bus clock (BCLK *) for providing a bus clock to the slot position in order to carry out the functions of the bus Geoslot slot address (GA4..0) * for indicating slot address, indicating system failure (SFAIL) signal line for indicating system failure, reset (RST) signal line for system reset, Tx4 .. for JTAG boundary scan option. It consists of a 0 signal line light. The operation of the system bus is roughly divided into the arbitration operation by the arbitration bus, the data transmission operation by the data transmission bus, and the interrupt operation by the interrupt bus. These operations are synchronized by the clock of the system bus.

이와 같이 다중 프로세서 시스템은 입출력 전용프로세서가 입출력을 전담하도록 구성될 수도 있고, 불특정 프로세서에게 동적으로 입출력 작업이 분산되도록 구성될 수도 있는데, HiPi+버스 시스템은 전용 IPU가 공유메모리의 유닉스 커널과는 별개로 자신의 미니 커널을 수행하면서 입출력작업을 전담하는 구조이다.As such, a multiprocessor system may be configured such that an I / O dedicated processor is dedicated to I / O, or may be configured to dynamically distribute I / O operations to unspecified processors. In a HiPi + bus system, a dedicated IPU is separated from a Unix kernel of shared memory. It is a structure dedicated to I / O work while executing its own mini kernel.

그리고 인터럽트 전송버스를 포함해서 거의 모든 버스시스템은 버스 사용전에 중재가 선행되어서 한 순간에는 한 개 버스 에이전트만이 버스 사용할 수 있도록 보장해주어야 한다. 예컨대, 데이터 전송버스의 경우에는 전송 데이터 내용에 관계없이 라운드 로빈 등의 단순한 중재 알고리즘으로도 공평한 중재를 보장할 수 있다. 이에 비해 인터럽트 버스는 전송될 메시지의 중요도에 따라 중재우선순위가 결정되어야 하므로, 단순한 에이전트 식별자만으로 중재되는 데이터 전송버스와 달리 메시지 유형 및 내용에 기반해서 중재되어야 한다.And almost all bus systems, including interrupt transfer buses, must be arbitrated before bus use, ensuring that only one bus agent can use the bus at a time. For example, in the case of the data transmission bus, even arbitration algorithms such as round robin can guarantee fair arbitration regardless of the contents of the transmission data. In contrast, an interrupt bus must be arbitrated based on the importance of the message to be transmitted. Therefore, unlike an data bus that is mediated by a simple agent identifier, the interrupt bus should be arbitrated based on the message type and content.

그런데 종래의 인터럽트 버스에서는 중재방식이 전용 BTL 디바이스에 의존하는 순차적 비동기 비교기방식이었기 때문에, 인터럽트버스의 중재에 시간이 많이 걸리는 문제점이 있다.However, in the conventional interrupt bus, since the arbitration method is a sequential asynchronous comparator method that depends on the dedicated BTL device, the arbitration of the interrupt bus takes a long time.

즉, 인터럽트버스 중재로직 구현시 문제가 되는 것은 신호선 수의 제약인데, 데이터 전송버스는 전송할 데이터 내용이 중재와 무관하기 때문에 슬롯 주소만으로 중재 가능하나, 전송할 데이터 내용이 중재에 영향을 미치는 인터럽트버스의 경우에는 데이터 내용에 대한 신호선이 요구되게 된다. 예를 들어, 8비트 중재정보라면 총 256가지 우선순위가 존재하기 때문에, 매 우선순위마다 하나씩의 중재요구신호선을 할당하는 것은 지나친 오버헤드가 된다. 이 문제를 해결하기 위해 종래의 고속 중형 컴퓨터에서는 전용 BTL 디바이스에 의한 8비트 순차적 비동기 비교방식을 채택하고 있다.In other words, the problem with the implementation of the interrupt bus arbitration logic is the limitation of the number of signal lines.The data transmission bus can be arbitrated only by the slot address because the data contents to be transmitted are not related to arbitration. In this case, signal lines for data contents are required. For example, since there are 256 priorities in 8-bit arbitration information, assigning one arbitration request signal line to each priority becomes excessive overhead. In order to solve this problem, a conventional high-speed medium-size computer adopts 8-bit sequential asynchronous comparison by a dedicated BTL device.

그런데, 종래와 같이 순차적이 비교방식을 채택할 경우 중재에 시간이 많이 걸리게 되는 문제점이 있다.However, when adopting a sequential comparison method as in the prior art, there is a problem in that it takes much time for arbitration.

이에 본 발명은 상기와 같은 문제점을 해소하기 위하여 안출된 것으로, 병렬비교방식에 의해 중재시간을 단축하여 처리시간을 개선시킬 수 있는 다중 프로세서 시스템에 있어서 인터럽트 버스 중재방법을 제공하는데 그 목적이 있다.Accordingly, an object of the present invention is to provide an interrupt bus arbitration method in a multiprocessor system capable of improving processing time by reducing arbitration time by a parallel comparison method.

상기와 같은 목적을 달성하기 위하여 본 발명은 인터럽트 버스상에 M개의 프로세서 모듈과 N개의 입출력 모듈이 연결되고, 상기 프로세서 모듈에는 적어도 하나 이상의 프로세서 인터럽트 제어기가 구비되며 입출력 모듈에도 하나의 입출력 인터럽트 제어기가 구비된 다중 프로세서 시스템에 있어서, 인터럽트 중재가 요구되면, 버스사용권을 중재하기 위하여 인터럽트 종료 메시지에 가장 높은 우선순위를 두어 중재하는 인터럽트 종료 우선 중재 단계와; 상기 인터럽트 종료 우선 중재단계가 수행된 후 순환 우선순위 중재 프로토콜에 따라 중재하는 순환 우선 순위 중재 단계; 인터럽트 중재가 요구되면, 수신자 결정을 중재하기 위하여 최하위 우선 중재 프로토콜에 따라 중재하는 최하위 우선 중재 단계; 상기 중재단계에서 승리한 인터럽트 제어기가 인터럽트 종료 메시지를 전송하기 위한 인터럽트 종료 메시지 전송 사이클 수행단계; 상기 중재단계에서 승리한 인터럽트 제어기가 쇼트 메시지를 전송하기 위한 쇼트 메시지 전송 사이클 수행단계; 및 상기 중재단계에서 승리한 인터럽트 제어기가 넌-포커스 최하위 우선 중재 메시지를 전송하기 위한 넌 포커스 최하위 우선중재 메시지 사이클 수행단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, the present invention provides M processor modules and N input / output modules connected to an interrupt bus, and the processor module includes at least one processor interrupt controller and one input / output interrupt controller is also provided in the input / output module. 11. An equipped multiprocessor system, comprising: an interrupt termination priority arbitration step, if an interrupt arbitration is required, mediating the highest priority to an interrupt termination message to mediate bus usage rights; A cyclic priority arbitration step of arbitration according to a cyclic priority arbitration protocol after the interrupt termination priority arbitration step is performed; If interrupt arbitration is required, the lowest priority arbitration step of arbitrating according to a lowest priority arbitration protocol to mediate a recipient decision; Performing an interrupt termination message transmission cycle for the interrupt controller winning the arbitration step to transmit an interrupt termination message; Performing a short message transmission cycle by the interrupt controller winning the arbitration step to transmit a short message; And performing a non-focus lowest priority arbitration message cycle for the interrupt controller winning the arbitration step to transmit the non-focus lowest priority arbitration message.

도 1은 일반적인 다중 프로세서 시스템을 도시한 예,1 shows an example of a typical multiprocessor system,

도 2는 본 발명이 적용되는 인터럽트 관련 구성을 도시한 예,2 is an example showing an interrupt related configuration to which the present invention is applied;

도 3은 도 2에 도시된 입출력 인터럽트 제어기의 구성,3 is a configuration of an input / output interrupt controller shown in FIG. 2;

도 4는 도 2에 도시된 프로세서 인터럽트 제어기의 구성,4 is a configuration of the processor interrupt controller shown in FIG.

도 5는 본 발명에 따른 인터럽트 버스에서 중재방법을 도시한 순서도이다.5 is a flowchart illustrating an arbitration method in an interrupt bus according to the present invention.

*도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

210-1∼210-M: 프로세서 모듈 211-1∼211-4: 프로세서210-1 to 210-M: Processor module 211-1 to 211-4: Processor

213-1∼213-4: 프로세서 인터럽트 제어기 215: 인터럽트 버스 정합부213-1 to 213-4: processor interrupt controller 215: interrupt bus matching unit

220: 인터럽트버스220: interrupt bus

230-1∼230-N: 메모리 및 입출력 모듈 231: 입출력 인터럽트 제어기230-1 to 230-N: Memory and I / O module 231: I / O interrupt controller

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명이 적용되는 인터럽트 관련 구성을 도시한 예이고, 도 3은 도 2에 도시된 입출력 인터럽트 제어기의 구성이며, 도 4는 도 2에 도시된 프로세서 인터럽트 제어기의 구성이다.2 is an example showing an interrupt related configuration to which the present invention is applied, FIG. 3 is a configuration of an input / output interrupt controller shown in FIG. 2, and FIG. 4 is a configuration of a processor interrupt controller shown in FIG. 2.

도 2를 참조하면, 본 발명이 적용되는 다중 프로세서 시스템은 인터럽트 버스(220)에 M개의 프로세서 모듈(210-1∼210-M)과 N개의 메모리 및 입출력 모듈(230-1∼230-N)이 연결되어 있다. 각 프로세서 모듈(210-1∼210-M)은 서로 동일한 구성으로 이루어지는데, 하나의 프로세서 모듈(210-1)은 4개의 프로세서(211-1∼211-4)와 4개의 프로세서 인터럽트 제어기(213-1∼213-4), 및 하나의 인터럽트 버스 정합부(215)를 포함하고 있다. 그리고 각 메모리 및 입출력 모듈(230-1∼230-N)은 서로 동일한 구성으로 이루어지는데, 하나의 메모리 및 입출력 모듈(230-1)은 하나의 입출력 인터럽트 제어기(231)를 포함하고 있다.Referring to FIG. 2, in the multiprocessor system to which the present invention is applied, M processor modules 210-1 to 210 -M and N memory and input / output modules 230-1 to 230 -N are placed on an interrupt bus 220. Is connected. Each processor module 210-1 to 210 -M has the same configuration, and one processor module 210-1 includes four processors 211-1 to 211-4 and four processor interrupt controllers 213. -1 to 213-4, and one interrupt bus matching section 215. Each memory and the input / output modules 230-1 to 230 -N have the same configuration, and one memory and the input / output module 230-1 includes one input / output interrupt controller 231.

입출력 인터럽트 제어기(231)는 도 3에 도시된 바와 같이, 내부 버스(internal bus)에 연결되는 버전 레지스터(Version Regisrer:31), 중재 ID 레지스터(Arb ID Register:32), 입출력 인터럽트 제어기 ID 레지스터(I/O APIC ID Register: 33), 입출력선택 레지스터(I/O Register Select Register: 34), 입출력 윈도우 레지스터(I/O Window Register:35), 입출력 리디렉션 테이블(I/O Redirection: 36), 송수신 로직(Send/Receive logic:37)으로 이루어진다.As illustrated in FIG. 3, the input / output interrupt controller 231 includes a version register 31 connected to an internal bus, an arbitration ID register 32, and an input / output interrupt controller ID register. I / O APIC ID Register: 33), I / O Register Select Register: 34, I / O Window Register: 35, I / O Redirection Table (36), Send / Receive It consists of logic (Send / Receive logic: 37).

그리고 각 프로세서 인터럽트 제어기(213-1∼213-4)는 서로 동일한 구성으로 이루어지는데, 하나의 프로세서 인터럽트 제어기(231-1)는 도 4에 도시된 바와 같이, 내부버스(Internal bus)에 연결되는 버전 레지스터(Version Register:401), 타이머(Timer: 402), LVT(403), 인터럽트 컴맨드 레지스터(Intr Command Reg: 404), 제1 레지스터그룹(405), EOI 레지스터(EOI Register: 406), 타스크 우선순위 레지스터(Task Priority Reg: 407), 우선순위조정기(Prioritizer: 408), 제2 레지스터그룹(409), S/W 트렌스페어런스 레지스터(S/W Transparent Regs: 410), 중재 ID 레지스터(Arb ID Register: 411), 제1 프로세서 우선순위 레지스터(Processor Priority Reg: 412)와 송수신 로직(Send/Receive Logic: 413), 제2 프로세서 우선순위 레지스터(Processor Priority Reg: 414), 벡터 디코더(Vector Decode: 415)로 이루어진다. 그리고 타이머(403)는 커런트 카운트 레지스터(Current Count Reg), 이니셜 카운트 레지스터(Initial Count Reg), 디바이드 콘피그 레지스터(Divide Config Reg)로 이루어지고, 제1 레지스터그룹(405)은 리모트 레지스터(Remote Register), 인터럽트제어기 아이디 레지스터(APIC ID Register), 로지컬 데스티네이션 레지스터(Logical Destination), 데스트네이션 포맷 레지스터(Dest Format Reg)로 이루어진다.Each processor interrupt controller 213-1 to 213-4 has the same configuration. One processor interrupt controller 231-1 is connected to an internal bus as illustrated in FIG. 4. Version Register (401), Timer (402), LVT (403), Interrupt Command Register (404), First Register Group (405), EOI Register (EOI Register: 406), Task Priority Reg (407), Priority Regulator (408), Second Register Group (409), S / W Transparent Regs (410), Arbitration ID Register ( Arb ID Register (411), First Processor Priority Reg (412), Send / Receive Logic (413), Second Processor Priority Register (414), Vector Decoder (Vector) Decode: 415). The timer 403 includes a current count register, an initial count register, and a divide config reg, and the first register group 405 includes a remote register. ), An interrupt controller ID register (APIC ID Register), a logical destination register (Logical Destination), and a destination format register (Dest Format Reg).

도 2를 참조하면, 모든 인터럽트 제어기들은 인터럽트 버스(220)에 접속되는데, 프로세서 인터럽트 제어기(213-1∼213-4)는 프로세서 하나당 1개씩 프로세서 모듈(210-1∼210-M)내에 존재하며, 입출력 인터럽트 제어기(231)는 메모리 및 입출력 모듈(230-1∼230-N)내에 존재한다. 한 모듈내의 복수개 인터럽트 제어기가 있는 경우, 각 인터럽트 제어기들은 인터럽트 버스 정합부(215)를 통해 인터럽트 버스와 연결되며, 이때 인터럽트 버스 사용을 위한 중재전에 모듈내에서 모듈내 인터럽트들간의 중재를 선행하여 승리한 인터럽트 제어기만이 인터럽트 버스 구동에 참여한다.Referring to FIG. 2, all interrupt controllers are connected to the interrupt bus 220. Processor interrupt controllers 213-1 to 213-4 are present in the processor modules 210-1 to 210-M, one per processor. The I / O interrupt controller 231 is present in the memory and the I / O modules 230-1 to 230-N. When there are a plurality of interrupt controllers in one module, each interrupt controller is connected to the interrupt bus through an interrupt bus matching unit 215, where the victory is preceded by arbitration between the interrupts in the module before the arbitration for use of the interrupt bus. Only one interrupt controller participates in the interrupt bus drive.

이와 같이 구성되는 본 발명이 적용되는 고속 중형 컴퓨터에서 인터럽트 버스의 중재는 도 5에 도시된 바와 같이, 인터럽트가 발생되면 인터럽트 버스를 중재하기 위한 중재단계(501,502,503,504)와 중재에서 승리한 인터럽트 제어기가 인터럽트 버스를 통해 메시지를 전달하는 버스 전송단계(505∼510)로 크게 구분되고, 중재단계는 버스 사용권을 중재하기 위한 버스사용권 중재(502,503)와 수신자를 결정하기 위한 수신자 결정중재(504)로 구분되어 수행되며, 버스 전송단계는 인터럽트 종료(EOI) 메시지 사이클(506), 쇼트 메시지 사이클(507), 넌 포커스 최하위 우선 중재 메시지 사이클(508), 인터럽트 인지 사이클(509), 인터럽트 전송에러 핸들링 사이클(510)로 구분되어 각각 수행된다.In the high speed medium computer to which the present invention configured as described above is applied, the arbitration of the interrupt bus is interrupted by the arbitration step (501, 502, 503, 504) for arbitrating the interrupt bus when the interrupt is generated and the interrupt controller winning the arbitration. The mediation stage is divided into bus transmission stages 505 to 510 that transmit messages through the bus, and the mediation stage is divided into bus license arbitration 502 and 503 for arbitrating bus licenses and receiver decision arbitration 504 for determining receivers. The bus transfer phase is performed by interrupt termination (EOI) message cycle 506, short message cycle 507, non-focus lowest priority arbitration message cycle 508, interrupt acknowledgment cycle 509, interrupt transfer error handling cycle 510 Separated by), each is performed.

도 5를 참조하면, 단계 501에서는 인터럽트 버스에 연결된 인터럽트 제어기에 의해 인터럽트가 요청된다. 인터럽트가 요구되면 인터럽트 버스에 대한 주도권을 획득하기 위한 중재가 요구되는데, 이때 버스사용권 중재와 수신자 결정중재로 구분되어 수행된다.Referring to FIG. 5, in step 501 an interrupt is requested by an interrupt controller connected to an interrupt bus. If an interrupt is requested, arbitration is required to obtain control over the interrupt bus, which is divided into bus license arbitration and receiver decision arbitration.

앞서 설명한 바와 같이, 전송할 데이터 내용이 중재에 영향을 미치는 인터럽트 버스의 경우, 중재정보를 구분하기 위한 많은 신호선이 필요하게 된다. 따라서 신호선을 적게 하면서 중재정보를 나타내기 위한 다양한 방법들이 연구되었는데, 고속중형 컴퓨터에 사용되는 시스템버스인 HiPi+버스와, 인텔사의 APIC버스, 본 발명에 따른 HiPi++버스의 경우를 각각 비교해보면 다음 표 1과 같다.As described above, in the case of an interrupt bus whose content of data to be transmitted affects arbitration, many signal lines are needed to distinguish the arbitration information. Therefore, various methods for displaying the arbitration information while reducing the signal line have been studied. The comparison between the HiPi + bus, a system bus used in a high-speed medium computer, the APIC bus of Intel, and the HiPi ++ bus according to the present invention are shown in Table 1 below. Same as

버스Bus HiPi+인터럽트버스HiPi + Interrupt Bus 인텔 APIC버스Intel APIC Bus HiPi++인터럽트버스HiPi ++ Interrupt Bus 중재방식Arbitration method 전용BTL디바이스에 의존하는 순차적 비공기비교Sequential non-air comparison dependent on dedicated BTL devices 클럭에 동기되는 순차비교Sequential Comparison Synchronized to Clock 원핫인코당애 의한 병렬비교Parallel comparison by one hot party 전송중재시간Transfer Arbitration Time 16.5NHz*5클럭(8비트: 최종중재승리신호가 백플레인상에 안정되는 시간 필요)16.5 NHz * 5 clocks (8 bits: time required for final mediation victory signal to settle on backplane) 16.5MHz*4클럭(4비트: 최대 16개 APIC만허용)16.5 MHz * 4 clocks (4-bit: allow up to 16 APICs only) 25MHz*2클럭(16개 슬롯ID를 8비트씩 둘로 나누어 구동 최대16슬롯 허용)25 MHz * 2 clocks (16 slot IDs divided into 8 bits each for up to 16 slots allowed) 수신중재시간Reception Arbitration Time 16.5MHz*15클럭(PPR 5클럭, 기수신된 인터럽트 갯수 5클럭, 슬롯ID 5클럭16.5 MHz * 15 clocks (5 PPR clocks, 5 interrupts received, 5 slot IDs) 16.5MHz*12클럭(8비트PPR8클럭, APIC ID 4클럭)16.5 MHz * 12 clocks (8-bit PPR8 clocks, APIC ID 4 clocks) 25MHz*6클럭(8비트 PPR을 4비트씩 나누어 수행(각 2클럭) 4클럭, 슬롯ID중재 2클럭25 MHz * 6 clocks (8 bit PPR divided by 4 bits (2 clocks each) 4 clocks, slot ID mediated 2 clocks

상기 표 1에서 HiPi+버스에서는 전용 BTL 디바이스에 의한 8비트 순차적 비동기 비교방식을 채택하였고, 이 방식은 최상위비트부터 순차적으로 구동하면서 자신의 N번째 비트가 0이고 인터럽트 버스에는 1이 관철되면 중재에 패배한 것으로 간주하여 N-1번째 비트부터는 중재에 참여하지 않는 것이다. 그외의 경우는 N번째 비트중재에서 승리한 것으로 간주하고, N-1번째 비트중재에 계속 참여한다. 만일, 0번째 비트에서도 중재에 패배하지 않았다면 최종 승자가 된다.In Table 1, the HiPi + bus adopts an 8-bit sequential asynchronous comparison method by a dedicated BTL device. This method loses arbitration when its Nth bit is 0 and 1 is interrupted while driving from the most significant bit sequentially. It is regarded as one and does not participate in arbitration from the first bit. Otherwise, it is considered to have won the Nth bit arbitration and continues to participate in the N-1th bit arbitration. If the 0th bit is not lost in arbitration, it is the final winner.

인텔사의 APIC(Advanced programmable interrupt controller) 버스는 중재정보를 한 번에 한 비트씩 수십 클럭에 걸쳐 순차적으로 비교한다. 이러한 방식은 종래의 인터럽트 버스방식과 동일한 직렬 비교방식이나 클럭에 의해 동기된다는 점에서 다르다.Intel's Advanced Programmable Interrupt Controller (APIC) bus compares arbitration information sequentially over dozens of clocks, one bit at a time. This method differs in that it is synchronized by the same serial comparison method or clock as the conventional interrupt bus method.

본 발명에 따른 HiPi++ 인터럽트 버스는 원핫 인코딩(one-hot encoding)에 의거한 병렬비교 중재방식을 채택해서 중재시간을 획기적으로 단축한다. 예를들어, 중재ID = 12인 인터럽트 제어기 A와 중재 ID = 7인 인터럽트 제어기 B가 중재에 참여하는 경우를 보자. 인터럽트 제어기 A는 중재 phase0에서 IBD[7:0] = 0001 0000, 중재 phase1에서 0000 0000을 구동하고, 인터럽트 제어기 B는 중재 phase0에서 0000 0000을, 중재 phase1에서 1000 0000을 구동한다. 이때 인터럽트 버스상에는 0001 0000, 1000 0000으로 나타나게 되므로, 인터럽트 버스상의 모든 인터럽트 제어기들은 중재 ID = 12인 인터럽트 제어기가 중재에서 승리하였음을 알 수 있다.The HiPi ++ interrupt bus according to the present invention adopts a parallel comparison arbitration method based on one-hot encoding, thereby dramatically reducing the arbitration time. For example, suppose that interrupt controller A with arbitration ID = 12 and interrupt controller B with arbitration ID = 7 participate in arbitration. Interrupt controller A drives IBD [7: 0] = 0001 0000 in mediation phase0, 0000 0000 in mediation phase1, and interrupt controller B drives 0000 0000 in mediation phase0 and 1000 0000 in mediation phase1. At this time, since it is shown as 0001 0000 and 1000 0000 on the interrupt bus, all the interrupt controllers on the interrupt bus can know that the interrupt controller with arbitration ID = 12 wins the arbitration.

다시 도 5를 참조하면, 본 발명에 따른 인터럽트 버스 중재 프로토콜은 인터럽트 전송을 위한 버스사용권 중재와, 최하위 우선 메시지(lowest priority message )인터럽트시 포커스 프로세서(focus processor)가 없는 경우에 수신자를 결정하기 위한 중재가 있다. 그리고 본 발명에서는 8비트 인터럽트 버스상에서 최대 16개 에이전트의 중재를 위해 2클럭에 걸친 원-핫 엔코딩(one-hot encoding)을 사용한다.Referring back to FIG. 5, the interrupt bus arbitration protocol according to the present invention provides for bus license arbitration for interrupt transmission and for determining a receiver in the absence of a focus processor during interruption of a lowest priority message. There is mediation. In addition, the present invention uses one-hot encoding over two clocks for arbitration of up to 16 agents on an 8-bit interrupt bus.

인터럽트 버스를 사용하기 위한 전송요구 중재가 발생되면, 먼저 인터럽트 종료(EOI) 메시지 전송요구에 우선권을 준다. 그외의 경우에는 순환 우선순위 중재 프로토콜(rotating priority arbitration protocol)에 따른 중재가 이루어진다(501,502,503).When a request for arbitration to use an interrupt bus occurs, priority is given to the request to send an Interrupt Termination (EOI) message first. In other cases, arbitration is performed according to the rotating priority arbitration protocol (501, 502, 503).

순환 우선순위 중재 프로토콜을 위해서 프로세서 모듈의 프로세서 인터럽트 제어기와 메모리 및 입출력 모듈의 입출력 인터럽트 제어기는 모두 유니크한 중재ID를 갖는다. 중재 ID는 슬롯 어드레스에 의거해서 초기화되며, 0 내지 15 사이의 값을 갖는다. 그리고 중재에 참여한 인터럽트 제어기중 중재 ID가 가장 큰 제어기가 인터럽트 버스 사용권을 갖는데, 중재 ID는 원핫 엔토딩(one-hot encoding)된 값으로 중재 phase의 해당 시간 슬롯에 1을 구동하고, 나머지 phase에서는 구동하지 않는다. 인터럽트 버스상에 인터럽트 전송주기가 성공적으로 종료될 때마다, 인터럽트 버스상의 모든 인터럽트 제어기는 자신의 중재 ID를 1씩 증가시킨다. 단, 중재에 승리한 인터럽트 제어기는 자신의 중재 ID를 0으로 세트하고, 중재 ID = 15였던 인터럽트 제어기는 자신이 중재에서 승리한 경우외에는 승리한 제어기의 중재 ID로 세트한다. 인터럽트 전송이 성공하지 못한 경우에는 중재 ID를 변경하지 않는다.For the cyclic priority arbitration protocol, both the processor interrupt controller of the processor module and the I / O interrupt controller of the memory and the I / O module have unique arbitration IDs. The arbitration ID is initialized based on the slot address and has a value between 0 and 15. Among the interrupt controllers participating in arbitration, the controller with the largest arbitration ID has an interrupt bus license. The arbitration ID is a one-hot encoded value that drives 1 in the corresponding time slot of the arbitration phase. Do not drive. Each time an interrupt transfer period on the interrupt bus is terminated successfully, every interrupt controller on the interrupt bus increments its arbitration ID by one. However, the interrupt controller winning the arbitration sets its arbitration ID to 0, and the interrupt controller whose arbitration ID = 15 sets it to the arbitration ID of the winning controller except when it wins the arbitration. If the interrupt transmission is not successful, the arbitration ID is not changed.

한편, 수신자 결정을 위한 최하위 우선(lowest priority)중재는 최하위 우선 메시지(lowest priority message) 인터럽트에서 불특정 다수 수신 대상 에이전트 중 우선순위가 가장 낮은 에이전트가 인터럽트를 수신하도록 동적으로 결정하는 것이다(504). 만일, 포커스 프로세서가 존재한다면 해당 프로세서 인터럽트 제어기는 첫 번째 송신 응답시 자신이 포커스 프로세서임을 알려서 수신 중재없이 중재를 끝마친다. 포커스 프로세서가 존재하지 않을 경우에는 수신 대상 프로세서 인터럽트 제어기들은 최하위 우선(lowest priority) 중재를 시작한다.Meanwhile, the lowest priority mediation for receiver determination is to dynamically determine 504 the lowest priority message among the unspecified multiple receiving target agents to receive the interrupt in the lowest priority message interrupt. If there is a focus processor, the processor interrupt controller informs itself of the focus processor in the first transmission response and finishes the arbitration without receiving arbitration. If there is no focus processor, the receiving processor interrupt controllers start the lowest priority arbitration.

최하위 우선(lowest priority)중재 프로토콜은 각 인터럽트 제어기의 LPAR(lowest priority arbitration register)값의 역수를 인터럽트 버스에 구동해서 자신의 승리여부를 확인하는 것이다. 8비트 LPAR을 원-핫 엔코딩(one-hot encoding)할 경우 256 슬롯이 필요하므로, 4비트씩 나누어서 16 슬롯씩 2회(총 4클럭) 순차적으로 구동한다. 이때 승리한 인터럽트 제어기가 정해지지 않으면, 중재ID를 이용한 중재가 수행된다.The lowest priority arbitration protocol is to run the inverse of the LPAR (lowest priority arbitration register) value of each interrupt controller on the interrupt bus to verify its victory. Since one-hot encoding of 8-bit LPARs requires 256 slots, the 4-bit LPARs are sequentially driven twice in 16 slots (4 clocks in total). At this time, if the winning interrupt controller is not determined, arbitration using the arbitration ID is performed.

이와 같이 하여 중재가 완료되어 승리한 인터럽트 제어기가 정해지면, 해당 인터럽트 제어기에 의한 전송 사이클이 시작된다(505). 이때 전송 사이클은 다음과 같이 5가지로 구분되어 해당 사이클이 수행된다.In this way, when the arbitration is completed and the winning interrupt controller is determined, the transmission cycle by the interrupt controller is started (505). At this time, the transmission cycle is divided into five types as follows.

단계 506에서는 인터럽트 종료(EOI) 메시지 사이클을 수행한다. 인터럽트 종료 메시지 사이클은 I/O모듈이 프로세서 모듈로 레벨 트리거드 인터럽트를 전송하고 나면, 입출력 인터럽트 제어기의 해당 리디렉션 테이블 엔트리의 리모트 IRR비트가 세트되어 동종 인터럽트를 차단한다. 프로세서의 인터럽트 종료(EOI)동작은 자신의 프로세서 인터럽트 제어기에 의해 인터럽트 종료(EOI) 메시지 사이클로 바뀌어 처음 인터럽트를 발생시킨 입출력 인터럽트 제어기에게 전송된다. 입출력 인터럽트 제어기는 인터럽트 종료(EOI) 메시지에 포함된 인터럽트 벡터에 해당하는 리디렉션 테이블 엔트리 리모트 IRR비트를 클리어해서 동종 인터럽트를 허용한다. 에지 트리거드 인터럽트에 대해서는 프로세서 인터럽트 종료(EOI)동작은 프로세서 인터럽트 제어기에 대해서 수행될 뿐 인터럽트 버스상의 인터럽트 종료(EOI) 메시지 사이클은 발생하지 않는다. 인터럽트 종료(EOI) 메시지는 수신 대상이 반드시 입출력 인터럽트 제어기이기 때문에 목적지(destination)를 포함하지 않는다.Step 506 performs an interrupt termination (EOI) message cycle. Interrupt termination message cycles, after the I / O module sends a level triggered interrupt to the processor module, the remote IRR bit in the corresponding redirection table entry of the I / O interrupt controller is set to block homogeneous interrupts. The interrupt termination (EOI) operation of the processor is transferred to the interrupt termination (EOI) message cycle by its processor interrupt controller and transmitted to the input / output interrupt controller that generated the first interrupt. The I / O interrupt controller allows homogeneous interrupts by clearing the redirection table entry remote IRR bit corresponding to the interrupt vector contained in the interrupt termination (EOI) message. For edge triggered interrupts, the processor interrupt termination (EOI) operation is performed on the processor interrupt controller, but no interrupt termination (EOI) message cycle occurs on the interrupt bus. The interrupt termination (EOI) message does not include a destination because the receiving destination is necessarily an input / output interrupt controller.

단계 507에서는 쇼트 메시지 사이클(short message cycle)을 수행한다. 쇼트 메시지란 EOI 메시지, 넌 포커스 취하위 우선 중재 메시지, 원격 리드 메시지를 제외한 모든 메시지를 통칭하는 것으로, 데스티네이션이 정해져 있는 인터럽트이다. Fixed, NMI, INIT, Reset, ExtINT, lowest priority with focus processor 인터럽트를 포함한다. NMI, Ext INT 메시지는 시스템이 PC AT호환모드에 있을 때만 사용되며, 그외 메시지들은 다중 프로세서 모드에서만 사용된다. 수신자가 미리 정해져 있지 않은 최하위 우선 중재 메시지(lowest priority arbitration message)라 하더라도 포커스 프로세서(focus processor)가 존재하면 해당 프로세서 인터럽트 제어기는 1차 응답시 자신이 포커스 프로세서임을 알리고, 더 이상의 수신 중재없이 전송를 종료한다.In step 507, a short message cycle is performed. The short message is a generic term for all messages except EOI message, non-focus priority mediation message, and remote lead message. It is an interrupt with a predetermined destination. Includes Fixed, NMI, INIT, Reset, ExtINT, lowest priority with focus processor interrupts. NMI, Ext INT messages are only used when the system is in PC AT compatible mode, and other messages are only used in multiprocessor mode. Even if the receiver has a low priority priority arbitration message, if there is a focus processor, the processor interrupt controller indicates that it is the focus processor in the first response and terminates the transmission without further reception arbitration. do.

단계 508에서는 넌 포커스 최하위 우선 중재 메시지 전송 사이클을 수행한다. 넌 포커스 최하위 우선 중재 메시지 전송 사이클은 최하위 우선 중재 메시지에 대해 포커스 프로세서가 없음이 판명되면 최하위 우선중재가 추가적으로 실시된다. 이 메시지는 다중 프로세서 모드에서만 발생된다.In step 508, a non-focus lowest priority arbitration message transmission cycle is performed. If the focus lowest priority arbitration message transmission cycle is found to have no focus processor for the lowest priority arbitration message, then the lowest priority arbitration is performed. This message only occurs in multiprocessor mode.

단계 509에서는 인터럽트 승인 사이클이 수행되는데, 인터럽트 승인 사이클은 통상, 인터럽트 버스가 아니라 데이터 전송버스에서 발생한다. 다중 프로세서모드에서 인터럽트 승인은 프로세서와 해당 프로세서 인터럽트 제어기간에 발생하므로 시스템 버스상에 나타나지 않는다. 그러나 PC AT호환모드에서 인터럽트 승인은 BSP와 8259A PIC 사이에서 발생해야 하므로 HiPi++버스상에 나타나게 된다.In step 509 an interrupt acknowledgment cycle is performed, which typically occurs on the data transfer bus rather than on the interrupt bus. In multiprocessor mode, interrupt acknowledgments occur during the processor and corresponding processor interrupt control periods and do not appear on the system bus. However, in PC AT compatible mode, an interrupt acknowledgment must occur between the BSP and the 8259A PIC and therefore appear on the HiPi ++ bus.

단계 510에서는 인터럽트 전송 에러 처리 사이클을 수행하는데, 인터럽트 전송 에러 처리 사이클은 입출력 인터럽트 전송결과가 성공적이지 않은 경우 프로세서 인터럽트 제어기가 인터럽트 에러 인터럽트를 발생하는 것이다.In step 510, an interrupt transmission error processing cycle is performed, in which the processor interrupt controller generates an interrupt error interrupt when the input / output interrupt transmission result is unsuccessful.

이상에서 살펴본 바와 같이, 본 발명이 적용되는 입출력모듈은 디바이스 인터럽트를 프로세서모듈로 리디렉션하는 역할만을 수행하고, 실제 인터럽트 처리는 프로세서 모듈이 수행하는 구조로되어 단일 커널 이미지를 사용하므로 운영체제 이식노력을 최소화 할 수 있고, 인터럽트 중재를 원핫 엔코딩 방식으로 수행하여 병렬 비교를 통해 신속하게 처리할 수 있는 효과가 있다.As described above, the input / output module to which the present invention is applied only plays a role of redirecting device interrupts to the processor module, and the actual interrupt processing is structured by the processor module to use a single kernel image, thereby minimizing the operating system porting effort. Interrupt arbitration can be done in a full-encoded manner, which can be quickly processed through parallel comparison.

Claims (1)

인터럽트 버스상에 M개의 프로세서 모듈과 N개의 입출력 모듈이 연결되고, 상기 프로세서 모듈에는 적어도 하나 이상의 프로세서 인터럽트 제어기가 구비되며 입출력 모듈에도 하나의 입출력 인터럽트 제어기가 구비된 다중 프로세서 시스템에 있어서,In a multi-processor system, M processor modules and N input / output modules are connected on an interrupt bus, the processor module includes at least one processor interrupt controller, and the input / output module includes one input / output interrupt controller. 인터럽트 중재가 요구되면, 버스사용권을 중재하기 위하여 인터럽트 종료 메시지에 가장 높은 우선순위를 두어 중재하는 인터럽트 종료 우선 중재 단계와;If interrupt arbitration is required, an interrupt termination priority arbitration step of arbitrating with the highest priority to the interrupt termination message to mediate bus usage rights; 상기 인터럽트 종료 우선 중재단계가 수행된 후 순환 우선순위 중재 프로토콜에 따라 중재하는 순환 우선 순위 중재 단계;A cyclic priority arbitration step of arbitration according to a cyclic priority arbitration protocol after the interrupt termination priority arbitration step is performed; 인터럽트 중재가 요구되면, 수신자 결정을 중재하기 위하여 최하위 우선중재 프로토콜에 따라 중재하는 최하위 우선 중재 단계;If interrupt arbitration is required, the lowest priority arbitration step of arbitrating according to the lowest priority arbitration protocol to mediate the recipient decision; 상기 중재단계에서 승리한 인터럽트 제어기가 인터럽트 종료 메시지를 전송하기 위한 인터럽트 종료 메시지 전송 사이클 수행단계;Performing an interrupt termination message transmission cycle for the interrupt controller winning the arbitration step to transmit an interrupt termination message; 상기 중재단계에서 승리한 인터럽트 제어기가 쇼트 메시지를 전송하기 위한 쇼트 메시지 전송 사이클 수행단계; 및Performing a short message transmission cycle by the interrupt controller winning the arbitration step to transmit a short message; And 상기 중재단계에서 승리한 인터럽트 제어기가 넌 포커스 최하위 우선 중재 메시지를 전송하기 위한 넌 포커스 최하위 우선중재 메시지 사이클 수행단계를 포함하는 것을 특징으로 하는 다중 프로세서 시스템에 있어서 인터럽트 버스 중재방법.And performing a non-focus lowest priority arbitration message cycle for the interrupt controller winning the arbitration step to transmit a non-focus lowest priority arbitration message.
KR1019970081741A 1997-12-31 1997-12-31 Method of arbitrating interrupt bus in multi processor system KR100261730B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970081741A KR100261730B1 (en) 1997-12-31 1997-12-31 Method of arbitrating interrupt bus in multi processor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970081741A KR100261730B1 (en) 1997-12-31 1997-12-31 Method of arbitrating interrupt bus in multi processor system

Publications (2)

Publication Number Publication Date
KR19990061475A true KR19990061475A (en) 1999-07-26
KR100261730B1 KR100261730B1 (en) 2000-07-15

Family

ID=19530644

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970081741A KR100261730B1 (en) 1997-12-31 1997-12-31 Method of arbitrating interrupt bus in multi processor system

Country Status (1)

Country Link
KR (1) KR100261730B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100393786B1 (en) * 2000-12-29 2003-08-02 엘지전자 주식회사 Operation controlling method for hardware state machine
CN117170745A (en) * 2023-11-03 2023-12-05 睿思芯科(深圳)技术有限公司 RISC-V external interrupt processing method, system and related equipment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100393786B1 (en) * 2000-12-29 2003-08-02 엘지전자 주식회사 Operation controlling method for hardware state machine
CN117170745A (en) * 2023-11-03 2023-12-05 睿思芯科(深圳)技术有限公司 RISC-V external interrupt processing method, system and related equipment
CN117170745B (en) * 2023-11-03 2024-01-12 睿思芯科(深圳)技术有限公司 RISC-V external interrupt processing method, system and related equipment

Also Published As

Publication number Publication date
KR100261730B1 (en) 2000-07-15

Similar Documents

Publication Publication Date Title
US5555420A (en) Multiprocessor programmable interrupt controller system with separate interrupt bus and bus retry management
US4050097A (en) Synchronization technique for data transfers over an asynchronous common bus network coupling data processing apparatus
US5410710A (en) Multiprocessor programmable interrupt controller system adapted to functional redundancy checking processor systems
US5088024A (en) Round-robin protocol method for arbitrating access to a shared bus arbitration providing preference to lower priority units after bus access by a higher priority unit
US4030075A (en) Data processing system having distributed priority network
US5301283A (en) Dynamic arbitration for system bus control in multiprocessor data processing system
US5710891A (en) Pipelined distributed bus arbitration system
US5878279A (en) HDLC integrated circuit using internal arbitration to prioritize access to a shared internal bus amongst a plurality of devices
EP0383475A2 (en) Shared resource arbitration
US5555413A (en) Computer system and method with integrated level and edge interrupt requests at the same interrupt priority
US4744023A (en) Processor access control arrangement in a multiprocessor system
CA2009055A1 (en) Arbitration of bus access in digital computers
JP2561759B2 (en) Multiprocessor system and message transmission / reception control device thereof
JP2004318901A (en) High-speed control and data bus system mutually between data processing modules
US4974148A (en) Bus arbiter with equitable priority scheme
US5317696A (en) Bus arbitration scheme
KR20020008955A (en) Bus system and execution scheduling method for access commands thereof
US5255373A (en) Decreasing average time to access a computer bus by eliminating arbitration delay when the bus is idle
US5307466A (en) Distributed programmable priority arbitration
US5590338A (en) Combined multiprocessor interrupt controller and interprocessor communication mechanism
KR100261730B1 (en) Method of arbitrating interrupt bus in multi processor system
EP1089501B1 (en) Arbitration mechanism for packet transmission
US6701388B1 (en) Apparatus and method for the exchange of signal groups between a plurality of components in a digital signal processor having a direct memory access controller
JPH06324996A (en) Integrated circuit and programmable multiprocessor interruption controller system
EP0675446B1 (en) Multi-processor system including priority arbitrator for arbitrating request issued from processors

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee