KR100253196B1 - Interrupt control method and apparatus of hipi+ bus - Google Patents
Interrupt control method and apparatus of hipi+ bus Download PDFInfo
- Publication number
- KR100253196B1 KR100253196B1 KR1019970053001A KR19970053001A KR100253196B1 KR 100253196 B1 KR100253196 B1 KR 100253196B1 KR 1019970053001 A KR1019970053001 A KR 1019970053001A KR 19970053001 A KR19970053001 A KR 19970053001A KR 100253196 B1 KR100253196 B1 KR 100253196B1
- Authority
- KR
- South Korea
- Prior art keywords
- interrupt
- bus
- hipi
- arbitration
- request signal
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4031—Coupling between buses using bus bridges with arbitration
-
- 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
Abstract
Description
본 발명은 주전산기에서 채택한 HiPi+버스상에서 다수의 프로세서를 지원하는 인터럽트 제어기의 설계기술에 관한 것으로, 특히 인터럽트 제어기를 설계함에 있어서 용량 증가, 구현상의 어려움을 극복하고, 버스들간의 거리에 의해 신호의 특수성이 나빠지는 것을 방지하며, 인터럽트 핸들러내 중재기의 공정성이 확보되도록한 HiPi+버스상의 인터럽트 제어 방법 및 장치에 관한 것이다.The present invention relates to a design technique of an interrupt controller that supports a plurality of processors on a HiPi + bus adopted by a main computer. In particular, the design of an interrupt controller overcomes the increase in capacity and implementation difficulties, and the specificity of signals due to the distance between buses. The present invention relates to an interrupt control method and apparatus on a HiPi + bus which prevents the deterioration and ensures fairness of an arbitrator in an interrupt handler.
HiPi+버스는 주전산기 Ⅲ 시스템에서 채택된 시스템 버스로서 데이터 전송을 위한 데이터 전송버스(DTB: Data Transfer Bus), 인터럽트 전송을 위한 인터럽트버스(IB : Interrupt Bus), 그리고 기타 부가기능을 위한 유틸리티버스(UB : Utility Bus)로 이루어진다. 이 중에서 인터럽트버스 HiPi+버스에 연결된 버스 모듈간의 비동기적인 신호 교환의 통로로서 프로세서간의 통신을 지원한다.HiPi + bus is a system bus adopted in main computer III system. Data transfer bus (DTB) for data transfer, interrupt bus (IB) for interrupt transfer, and utility bus (UB) for other additional functions. : Utility Bus). Among them, it supports communication between processors as a path of asynchronous signal exchange between bus modules connected to Interrupt bus HiPi + bus.
통상적으로, 주전산기 Ⅲ 시스템은 도 1에서와 같이 HiPi+버스(10)를 상호접속매체로 하여 MPU(Multiple Processing Unit)모듈(11), 메모리모듈(12), IOP(Input/ Output Processor)모듈(13), SCM(System Control Module)모듈(14)로 이루어져 있으며, 여기서, 인터럽트는 상기 MPU, IOP, SCM간의 비동기 통신에 사용된다.Typically, the main computer III system is a multiple processing unit (MPU)
상기 각 모듈(11-14)에는 하나 또는 그 이상의 프로세서가 존재하는데, 각 프로세서는 시스템내의 다른 프로세서에 인터럽트신호를 송출하거나 자신에게 요청된 인터럽트를 처리한다. 이와 같이 프로세서간의 인터럽트 전송을 HiPi+버스(10)를 전달매체로 하여 전달해주는 역할을 하는 제어기를 인터럽트 제어기라 정의한다.Each module 11-14 has one or more processors, each of which sends an interrupt signal to another processor in the system or processes an interrupt requested by the module 11-14. As such, a controller that serves to transfer interrupts between processors using the HiPi +
하나의 프로세서를 지원하는 통상적인 인터럽트 제어기를 도 2에 나타내었다.A typical interrupt controller supporting one processor is shown in FIG.
상기 도 2에서, MPIR(MPIR: Multi-Processor Interrupt Requester)(21)은 모듈내의 프로세서로 부터 요청된 인터럽트 전송요구신호를 HiPi+버스(10)측으로 전송하는 기능을 수행하고, MPIH(MPIH : Multi-Processor Interrupt Handler)(22)는 상기 HiPi+버스(10)로 부터의 인터럽트 전송요구를 받아들이는 역할을 수행한다. 또한, IRAC(IRAC : Interrupt Acknowledge Controller)(23)는 상기 MPIH(22)와 그밖의 인터럽트 소오스들에서 발생된 인터럽트 처리 요구신호들을 모아 모듈내의 프로세서에 인터럽트를 걸어 이의 처리를 요구한다.In FIG. 2, MPIR (MPIR: Multi-Processor Interrupt Requester) 21 performs a function of transmitting an interrupt transmission request signal requested from a processor in a module to the HiPi +
이때, 상기 HiPi+버스(10)는 BTL(BTL : Bus Transfer Logic) 규격을 지원하며, 따라서, HiPi+버스 인터페이스 블록인 SBIB(SBIB : System Bus Interface Block)는 BTL 송수신기들로 이루어진다.In this case, the HiPi +
하나의 모듈내에 여러 프로세서가 존재하는 경우에는 상기에서 언급한 인터럽트 제어기가 프로세서 수만큼 필요하게 되는데, 기존의 인터럽트 제어기를 그대로 사용하는 경우 몇가지 문제점이 발생된다. 도 3은 이와 같은 경우에 대한 일실시 예를 보인 것이다. 여기서, 간과할 수 없는 사항은 제어기의 용량이 매우 커져 구현상에 어려움이 있고, HiPi+버스상의 부하 문제가 발생된 다는 것이다.When there are several processors in one module, the above-mentioned interrupt controller is required as many as the number of processors mentioned above. Some problems arise when the existing interrupt controller is used as it is. Figure 3 shows an embodiment for such a case. Here, what cannot be overlooked is that the capacity of the controller is very large, which makes it difficult to implement and causes a load problem on the HiPi + bus.
그러나, 이와 같은 종래의 인터럽트 제어기술에 있어서는 하나의 모듈내에 여러 프로세서가 존재하여 그 프로세서 수 만큼의 인터럽트 제어기를 사용하는 경우, 인터럽트 제어기는 비교적 많은 용량을 필요로하기 때문에 이에 의해 전체 제어기의 용량이 매우 커지므로 구현하는데 어려움이 있고, 또한, BTL 송수신기가 프로세서의 수만큼 증가되어 버스상의 하나의 신호가 연결된 송수신기의 수가 매우 증가되므로 전체 부하량이 커질뿐만 아니라 버스와 송수신기간의 거리가 멀어져(stub 길이 증가) 신호의 특성이 매우 나빠지는 결함이 있었다.However, in such a conventional interrupt control technique, when there are several processors in one module and using as many interrupt controllers as the number of processors, the interrupt controller needs relatively large capacity, thereby reducing the capacity of the entire controller. As it becomes very large, it is difficult to implement, and in addition, since the number of BTL transceivers is increased by the number of processors, the number of transceivers to which one signal is connected on the bus is greatly increased, thereby increasing the overall load and the distance between the bus and the transmission / reception period. Increase) the signal characteristics are very bad.
따라서, 본 발명이 이루고자 하는 기술적 과제는 인터럽트 제어기의 설계시 내부 프로세서들간에 중재기를 두어 그 중재기를 통해 제어기의 용량을 줄이고, BTL 송수신기를 하나의 셋트만 사용하며, 인터럽트 핸들러의 내부 중재시 라운드 로빈에 우선순위를 적용하는 HiPi+ 버스상의 인터럽트 제어 방법 및 장치를 제공함에 있다.Therefore, the technical problem of the present invention is to place an arbiter between internal processors when designing an interrupt controller to reduce the capacity of the controller through the arbiter, use only one set of BTL transceivers, and round robin during internal arbitration of an interrupt handler. The present invention provides a method and apparatus for controlling interrupts on a HiPi + bus.
도 1은 일반적인 주전산기의 전체적인 블록도.1 is an overall block diagram of a typical main computer.
도 2는 하나의 프로세서를 지원하는 일반적인 인터럽트 제어기의 블록도.2 is a block diagram of a typical interrupt controller supporting one processor.
도 3은 네 개의 프로세서를 지원하는 일반적인 인터럽트 제어기의 블록도.3 is a block diagram of a typical interrupt controller supporting four processors.
도 4는 본 발명에 의한 HiPi+ 버스상의 인터럽트 장치의 일실시 예시 블록도.4 is a block diagram of one embodiment of an interrupt device on a HiPi + bus in accordance with the present invention;
도 5은 본 발명에서 중재 인터럽트 처리단계별 전송 정보 표.5 is a table of transmission information for each arbitration interrupt processing step in the present invention.
도 6는 본 발명에 의한 인터럽트 핸들러의 메인 상태머신 중 중재 단계 설명도.6 is a diagram illustrating an arbitration step in the main state machine of the interrupt handler according to the present invention;
도 7은 본 발명에 의한 인터럽트 핸들러의 중재 플래그 제어 알고리듬.7 is an arbitration flag control algorithm of an interrupt handler according to the present invention.
도 8는 본 발명에서 직접 인터럽트 전송/처리과정에 대한 신호 흐름도.8 is a signal flow diagram for direct interrupt transmission / processing in the present invention.
도 9는 본 발명에서 중재 인터럽트 전송/처리과정에 대한 신호 흐름도.9 is a signal flow diagram for arbitration interrupt transmission / processing in the present invention.
***도면의 주요 부분에 대한 부호의 설명****** Description of the symbols for the main parts of the drawings ***
10 : HiPi+버스 41 : MPIR10: HiPi + bus 41: MPIR
42 : MPIH 43A-43D : IRAC42: MPIH 43A-43D: IRAC
44 : SBIB 45A-45D : 프로세서44: SBIB 45A-45D: Processor
본 발명의 목적을 달성하기 위한 HiPi+ 버스상의 인터럽트 제어 방법은 직접 인터럽트 전송/처리 모드에서, MPIR이 각 프로세서에 의한 인터럽트 요구 신호를 발생하고, HiPi+버스 중재에 참여하여 인터럽트 요구신호를 선정한 후 타겟 모듈의 ID, 자신의 ID, 벡터를 순차적으로 전송한 후 내부 중재를 실시하여 선정된 프로세서로 하여금 인터럽트 처리를 요구하는 제1과정(SA1-SA10)과; 중재 인터럽트 전송/처리 모드에서, MPIR은 자신이 인터럽트 전송구간 중재에 참여한 사실을 MPIH측에 알려주고, 인터럽트 요구신호를 선정하면, 타겟 모듈의 ID, 자신의 ID, 벡터를 HiPi+버스를 통해 MPIH측으로 전송하는 제2과정(SB1-SB7)과; 중재 인터럽트 전송/처리 모드에서, MPIH는 현재 인터럽트가 중재 인터럽트임을 확인한 후 내부적으로 프로세서들간의 중재를 실시하고, MPIR이 선정되면, 상기 HiPi+버스상에 발생된 인터럽트 처리 요구가 자신이 소속된 그룹이고,MPIH들간의 중재에서 자신이 선정되는 것을 확인하여 조건이 성립되는 경우 상기 MPIR로 부터 벡터를 전송받고 응답신호를 송출하는 제3과정(SC1-SC8)으로 이루어진다.In the interrupt control method on the HiPi + bus to achieve the object of the present invention, in the direct interrupt transfer / process mode, the MPIR generates an interrupt request signal by each processor, participates in HiPi + bus arbitration, selects an interrupt request signal, and then selects a target module. A first step (SA1-SA10) of requesting interrupt processing by the selected processor by sequentially transmitting the ID, its ID, and the vector of the ID, its ID, and the vector; In the moderation interrupt transmission / processing mode, the MPIR informs the MPIH that it has participated in arbitration of the interrupt transmission section, and when the interrupt request signal is selected, the ID, its ID, and the vector of the target module are transmitted to the MPIH side via the HiPi + bus. A second process (SB1-SB7); In the moderation interrupt transmission / processing mode, the MPIH internally arbitrates between processors after confirming that the current interrupt is an arbitration interrupt, and if MPIR is selected, the interrupt processing request generated on the HiPi + bus is the group to which it belongs. In the mediation between MPIHs, a third process (SC1-SC8) is performed to receive a vector from the MPIR and send a response signal when the condition is established.
도 4는 본 발명의 다른 목적을 달성하기 위한 HiPi+ 버스상의 인터럽트 제어 장치의 일실시 예시 블록도로서 이에 도시한 바와 같이, 주전산기에 채택되어 BTL 규격을 지원하는 HiPi+버스(10)와; 모듈내의 프로세서(45A~45D)들로 부터 인터럽트 전송요구신호가 발생될 때, 인터럽트 중재기능을 수행한 후 선정된 인터럽트 요구신호가 시스템내의 인터럽트 핸들러에 의해 처리될 수 있도록 상기 HiPi+버스(10)를 구동하는 MPIR(41)과; 상기 HiPi+버스(10)를 통해 인터럽트 전송요구신호가 입력될 때 자신의 모듈로의 직접적인 인터럽트요구신호인지를 확인하여 조건이 성립될 때 중재기능을 수행한 후 선정된 프로세서의 인터럽트 응답요구신호를 내부의 레지스터에 저장하는 MPIH(42)와; 상기 MPIH(42)와 그밖의 인터럽트 소오스들로 부터 발생되는 인터럽트처리 요구신호를 모아 모듈내의 각각의 프로세서(45A~45D)에 인터럽트를 걸어 이의 처리를 요구하는 다수의 IRAC(43A~43D)와; BTL송수신기를 구비하여, 인터럽트 제어기(40)와 상기 HiPi+버스(10)간의 인터럽트 요구신호를 전달하는 SBIB(44)로 구성하였다.4 is a block diagram of an exemplary embodiment of an interrupt control apparatus on a HiPi + bus for achieving another object of the present invention. As shown therein, a HiPi +
상기 MPIR(41)은 각 프로세서(45A~45D)별로 인터럽트 요구시 필요한 인터럽트 응답요구용 레지스터(41A~41D)를 별도로 보유하고 있으나 상기 HiPi+버스(10)상에서 인터럽트 요구신호가 발생되게 하는 일종의 제어기이며, 각 프로세서(45A~45D)의 요구를 내부적으로 중재하기 위한 라운드 로빈(round-robine) 방식의 중재기(42E)를 보유하는 구성을 갖는다.The MPIR 41 has a separate interrupt
상기 MPIH(42)는 상기 HiPi+버스(10)상에서 인터럽트 요구신호 발생시 이에 응답하는 하나의 제어기로 이루어져 각 프로세서(45A~45D)별로 인터럽트 요구시 필요한 인터럽트 응답요구용 레지스터(42A~42D)를 별도로 보유하고 있으며, 상기 HiPi+버스(10)상에서 처리 요구된 인터럽트는 원칙적으로 각 프로세서(45A~45D)들간에 라운드 로빈방식으로 처리하는데 이를 위한 중재기(42E)를 보유하는 구성을 구성을 갖는다. 여기서, 중재기(42E)는 중재 인터럽트시 공정성을 보장하기 위해 우선권 체킹 기능이 부여된 중재기이다.The MPIH 42 is composed of one controller that responds to the occurrence of an interrupt request signal on the HiPi +
이와 같이 구성한 본 발명의 작용을 첨부한 도 4 내지 도 9를 참조하여 상세히 설명하면 다음과 같다.When described in detail with reference to Figures 4 to 9 attached to the operation of the present invention configured as described above are as follows.
각각의 프로세서(45A~45D)가 MPIR(41) 내부의 인터럽트 응답요구용 레지스터(41A~41D)에 인터럽트 요구정보를 기록하면 그 MPIR(41) 내부의 중재기(41E)는 라운드 로빈방식에 의거하여 중재를 수행한 후 선택된 인터럽트 요구신호를 HiPi+버스(10)상에 송출하고, 이로 인하여 시스템내의 인터럽트 핸들러는 인터럽트 처리를 요구받는다.When each
상기 HiPi+버스(10)상에서 정의된 인터럽트의 종류는 특정 프로세서에게 전송하는 직접 인터럽트와 임의의 그룹에게 전송하여 그룹내의 인터럽트 핸들러들간의 중재를 통해 전송이 이루어지는 중재 인터럽트가 있다.The types of interrupts defined on the HiPi +
도 5는 중재 인터럽트의 단계별 전송정보를 보인 표이다. 상기 MPIR(41)은 벡터(vector)를 전송한 후 인지단계(acknowledge phase)에서 처리 수용결과를 확인하는 것으로 역할을 마친다.5 is a table showing transmission information for each step of an arbitration interrupt. The
인터럽트 요청기에 의해 HiPi+버스(10)상에서 인터럽트 처리 요구신호가 발생하면 MPIH(42)는 그것이 자신의 모듈로의 직접적인 인터럽트인지를 확인한다. 상기의 확인결과 직접적인 인터럽트로 판명되면, MPIH(42)는 내부적으로 프로세서(45A~45D)들간의 라운드 로빈방식에 의한 중재를 시도하여 선정(win)된 프로세서의 정보를 인터럽트 응답요구용 레지스터(42A~42D)에 저장한다.When an interrupt processing request signal is generated on the HiPi +
상기 HiPi+버스(10)상에 액티브된 인터럽트 처리 요구신호가 중재 인터럽트신호 이면서 동시에 자신의 모듈이 해당 그룹에 속하는 경우, MPIH(42)는 내부적으로 프로세서(45A~45D)들간의 라운드 로빈방식에 의한 중재에 의해 선정된 프로세서의 ID로서 도 5에서의 제2단계부터 제16단계까지의 인터럽트 핸들러(IH)간의 중재에 참여하게 되는데, 이때 중재에서 자신이 선정되면 해당 인터럽트 처리 요구를 MPIH(42)내의 인터럽트 응답요구용 레지스터(42A~42D) 중에서 자신의 인터럽트 레지스터에 정보를 저장한다.When the interrupt processing request signal activated on the HiPi +
상기와 같은 중재 인터럽트시 프로세서(45A~45D)들간에 내부 중재를 수행함에 있어서 라운드 로빈방법만을 사용하면 인터럽트 서비스가 마스킹되어 있지 않은 프로세서가 존재함에도 불구하고 마스킹되어 있는 프로세서가 선정될 수 있는데, 이를 해결하기 위하여 추가적인 중재방법이 필요하다.In performing the internal arbitration among the
즉, 도 5에서 -5단계부터 -1단계까지의 기간에 프로세서(45A~45D) 중에서 내부 중재로 선택된 프로세서가 인터럽트 마스킹되어 있는지 체크하여 마스킹되어 있는 것으로 판명되는 경우에는 다음 순번의 프로세서로 우선권을 넘긴다. 이것을 인터럽트 핸들러(IH)의 상태 머신(state machine)으로 나타내면 도 6과 같다.That is, in the period from -5 to -1 in FIG. 5, if the processor selected by the internal arbitration among the
다시말해서, 도 6에서의 ARB1 상태부터 ARB5 상태 사이에서 이러한 우선권 체크를 수행하여 내부 중재에서의 공정성을 보장한다. 이때, 중재 인터럽트를 위한 내부 프로세서(45A~45D)들간의 중재시 선정된 프로세서의 ID를 ai_flag라고 하였을 때 이의 제어 알고리듬을 도 7에 나타내었다.In other words, this priority check is performed between the ARB1 state and the ARB5 state in FIG. 6 to ensure fairness in internal arbitration. At this time, when the ID of the processor selected during arbitration between the
즉, 도 7에서와 같이, 인터럽트신호의 전송 종료시 라운드 로빈에 의해 다음 프로세서로 인터럽트 책임을 넘기고, HiPi+버스(10)상의 중재 상태이면서 책임을 진 MPIH((42)가 인터럽트를 추리할 수 있는 경우에는 매 클럭마다 라운드 로빈방식에 의해 다음 프로세서로 인터럽트 책임을 넘기며, 그밖의 경우에 있어서는 책임 프로세서에서 유지한다.That is, as shown in Fig. 7, when the interrupt signal is transferred to the next processor by round robin at the end of transmission of the interrupt signal, the MPIH (42) responsible for the arbitration state and the responsible state on the HiPi +
상기 IPIH(42)내의 인터럽트 응답요구용 레지스터(42A~42D)에 저장된 인터럽트 응답 요구는 IRAC(43A~43D)로 보내지고, 그 IRAC(43A~43D)에 의한 처리가 종료되면 인터럽트 응답 요구는 말소된다.The interrupt response request stored in the interrupt response request registers 42A to 42D in the
상기 MPIH(42)내 인터럽트 응답요구용 레지스터(42A~42D)에 저장된 인터럽트 응답 요구신호가 IRAC(43A~43D)로 보내지면 그 IRAC(43A~43D)는 자신에 해당되는 프로세서와 관련된 모든 인터럽트 소오스를 받아서 우선순위에 따라 프로세서(45A~45D) 중 해당 프로세서에 인터럽트를 걸고 이에 대응하는 프로세서의 인터럽트 응답시 해당 벡터를 보내준다.When the interrupt response request signal stored in the interrupt response request registers 42A to 42D in the
상기 IRAC(43A~43D)는 프로세서별로 존재하며, 이들은 단일 프로세서를 지원하는 인터럽트 제어기와 같은 구조로 구현된다.The IRACs 43A to 43D exist for each processor, and they are implemented in the same structure as an interrupt controller supporting a single processor.
한편, 도 8은 본 발명에 의한 인터럽트 제어 방법에 있어서, 직접 인터럽트 전송/처리과정에 대한 신호 흐름도를 보인 것으로, 이를 참조하여 상기의 전송/처리과정을 좀더 상세히 설명하면 다음과 같다.Meanwhile, FIG. 8 shows a signal flow diagram for direct interrupt transmission / processing in the interrupt control method according to the present invention. The transmission / processing process will be described in detail with reference to the following.
MPIR(41)는 각 프로세서(45A~45D)에 의한 인터럽트 요구 신호를 발생하고, 전송구간(프로세서간)을 중재한다.(SA1,SA2)The
상기 MPIR(41)는 HiPi+버스(10) 중재에 참여하여 인터럽트 요구신호를 선정하게 되는데, 이와 같이 중재에 참여하면 현재 인터럽트가 직접 인터럽트인지 또는 중재 인터럽트인지를 MPIH(42)에 알려준다.(SA3,SA4)The
이후, 상기 MPIR(41)은 타겟 모듈의 ID와 자신의 ID를 상기 HiPi+버스(10)측으로 전송하고, 이어서 그 HiPi+버스(10)에 벡터를 전송한다.(SA5~SA7)Thereafter, the
이후, 상기 MPIH(42)에서는 상기 HiPi+버스(10)측에 정상적으로 응답전송이 되었는지를 확인하여 조건이 만족하지 않으면 제3스텝(SA3)으로 복귀하고, 만족하면 내부 중재에 참여하여 선정된 프로세서로 인터럽트 처리를 요구한다.(SA8~SA10)Thereafter, the
한편, 도 9는 본 발명에 의한 인터럽트 제어 방법에 있어서, 중재 인터럽트 전송/처리과정에 대한 신호 흐름도를 보인 것으로, 이를 참조하여 상기의 전송/처리과정을 좀더 상세히 설명하면 다음과 같다.Meanwhile, FIG. 9 shows a signal flow diagram for an arbitration interrupt transmission / process in the interrupt control method according to the present invention. Referring to this, the transmission / process described above will be described in detail as follows.
상기 MPIR(41)이 인터럽트 전송구간 중재에 참여하면(SB1) 현재 인터럽트가 중재 인터럽트임을 상기 MPIH(42)에 알려주고(SB2), MPIH(42)는 그 사실을 확인(SC1)한 후 내부 중재를 실시하게 되는데, 이때, MPIR(41)과 MPIH(42)는 동시에 인터럽트를 처리하게 된다. 즉, 스텝(SB~SB7)과 스텝(SC1~SC8)은 동시에 진행된다.When the
상기 MPIR(41)가 인터럽트 중재에 참여하여 인터럽트 요구신호를 선정하면(SB3), 타겟 모듈의 ID를 HiPi+버스(10)측으로 전송하고(SB4), 소정시간 대기한 후 자신의 ID와 벡터를 전송한다(SB5).When the
이후, MPIH(42)측으로 부터 응답을 받아 그 응답상태가 "양호"로 나타나면 종료하고, 그렇지 않으면 상기의 과정(SB2~SB6)을 반복 수행한다.Subsequently, when the response is received from the MPIH 42 side and the response state is "good", the process ends. Otherwise, the above processes (SB2 to SB6) are repeated.
한편, 상기 MPIH(42)는 현재 인터럽트가 중재 인터럽트임을 확인한 후 내부적으로 프로세서들간의 중재를 실시하고(SC1), 상기의 중재에서 MPIR(41)이 선정되면(SC2), 상기 HiPi+버스(10)상에 발생된 인터럽트 처리 요구가 자신이 소속된 그룹인지를 확인하여(SC3) 조건이 성립되면 MPIH(42)들간의 중재에서 자신이 선정되었는지를 확인한다(SC4).On the other hand, the
상기의 확인결과 자신이 선정된 것으로 판단되면 MPIR(41)측으로 부터 벡터를 전송받은 후(SC5) 그 경로로 응답신호를 송출하고(SC6), 이때, "응답양호" 상태이면 프로세서측으로 인터럽트 처리를 요구하고 종료한다(SC7,SC8).If it is determined that the self is selected as a result of the above check, it receives the vector from the MPIR 41 side (SC5) and sends a response signal to the path (SC6). Request and exit (SC7, SC8).
이상에서 상세히 설명한 바와 같이, 본 발명은 주전산기 Ⅲ 시스템에서 채택한 HiPi+버스상에서 다수의 프로세서를 지원하는 인터럽트 제어기의 설계시 내부 프로세서들간의 중재기를 통해 제어기의 용량을 줄일 수 있게 함으로써 구현이 용이하게 되는 효과가 있고, 특히 BTL 송수신기를 사용한 셋트만을 사용함으로써 버스상의 전기적인 불안요소가 제거되어 안정성이 보장되는 효과가 있으며, 또한, 인터럽트 핸들러의 내부 중재시 라운드 로빈에 우선권을 보강한 방법을 사용함으로써 공정성을 최대한 확보할 수 있는 효과가 있다.As described in detail above, the present invention can be easily implemented by reducing the capacity of the controller through the arbiter between internal processors when designing an interrupt controller supporting a plurality of processors on the HiPi + bus adopted in the host computer III system. In particular, by using only a set using a BTL transceiver, electrical instability on the bus is eliminated and stability is ensured. In addition, fairness is ensured by using a method that reinforces the priority of round robin during internal arbitration of an interrupt handler. It is effective to secure as much as possible.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970053001A KR100253196B1 (en) | 1997-10-16 | 1997-10-16 | Interrupt control method and apparatus of hipi+ bus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970053001A KR100253196B1 (en) | 1997-10-16 | 1997-10-16 | Interrupt control method and apparatus of hipi+ bus |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990032069A KR19990032069A (en) | 1999-05-06 |
KR100253196B1 true KR100253196B1 (en) | 2000-04-15 |
Family
ID=19522849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970053001A KR100253196B1 (en) | 1997-10-16 | 1997-10-16 | Interrupt control method and apparatus of hipi+ bus |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100253196B1 (en) |
-
1997
- 1997-10-16 KR KR1019970053001A patent/KR100253196B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19990032069A (en) | 1999-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5854906A (en) | Method and apparatus for fast-forwarding slave request in a packet-switched computer system | |
EP0356110B1 (en) | Multiprocessor interconnection and access arbitration arrangement | |
US6557069B1 (en) | Processor-memory bus architecture for supporting multiple processors | |
JPH0652096A (en) | Method and apparatus for executing arbitration of bus using arbiter in data processing system | |
US6425037B1 (en) | Information processing system, bus arbiter, and bus controlling method | |
JP3919765B2 (en) | Method and processor for managing arbitration | |
US5822549A (en) | Computer system and bus controller for controlling access to a computer bus | |
CN100504824C (en) | Opportunistic read completion combining | |
JP4669113B2 (en) | Connection port for interconnect modules in integrated circuits | |
EP1089501B1 (en) | Arbitration mechanism for packet transmission | |
KR100253196B1 (en) | Interrupt control method and apparatus of hipi+ bus | |
US20110219155A1 (en) | Processing system and method for transmitting data | |
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 | |
KR100357284B1 (en) | The one chip asynchronous microprocessor Inter Processor Communication circuit | |
US6889283B2 (en) | Method and system to promote arbitration priority in a buffer queue | |
CN111722916B (en) | Method for processing MSI-X interrupt through mapping table | |
EP1193607B1 (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 | |
US7356669B2 (en) | Processing system and method for transmitting data | |
EP1193605B1 (en) | Apparatus and method for the transfer of signal groups between digital signal processors in a digital signal processing unit | |
CN115269467B (en) | Bus arbitration method and device, storage medium and electronic equipment | |
GB2352143A (en) | Token passing scheme | |
WO2023016910A2 (en) | Interconnecting reconfigurable regions in an field programmable gate array | |
JPH03210654A (en) | Distributed control processor | |
JP3050131B2 (en) | Arbitration method | |
JPH04335457A (en) | Bus arbitration system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20061220 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |