KR920007170B1 - Apparatus for interrupt bus matching on multiprocessor system - Google Patents
Apparatus for interrupt bus matching on multiprocessor system Download PDFInfo
- Publication number
- KR920007170B1 KR920007170B1 KR1019890019307A KR890019307A KR920007170B1 KR 920007170 B1 KR920007170 B1 KR 920007170B1 KR 1019890019307 A KR1019890019307 A KR 1019890019307A KR 890019307 A KR890019307 A KR 890019307A KR 920007170 B1 KR920007170 B1 KR 920007170B1
- Authority
- KR
- South Korea
- Prior art keywords
- interrupt
- register
- information
- requester
- bus
- 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/32—Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
Abstract
Description
제1도는 본 발명의 개략적인 구성을 나타낸 블럭도.1 is a block diagram showing a schematic configuration of the present invention.
제2도는 본 발명의 인터럽트 요청기의 블럭도.2 is a block diagram of an interrupt requester of the present invention.
제3도는 본 발명의 인터럽트 처리기의 블럭도.3 is a block diagram of an interrupt handler of the present invention.
본 발명은 다중처리기 시스템(multiprocessor system)에서 입출력 처리장치와 중앙처리 장치 등의 모듈(module)사이의 비동기적인 신호교환(Asynchronous Communication) 즉, 인터럽트 전송을 위한 인터럽트 버스 정합장치에 관한 것이다. 프로세서, 입출력 장치 및 메모리 등의 모든 모듈은 인터럽트 버스 정합장치를 통하여 인터럽트 버스와 연결된다.The present invention relates to an asynchronous communication between an input / output processing unit and a module such as a central processing unit, that is, an interrupt bus matching device for interrupt transmission in a multiprocessor system. All modules, such as processors, I / O devices and memory, are connected to the interrupt bus through an interrupt bus matcher.
인터럽트 버스 정합장치는 모든 모듈과 인터럽트 버스 사이에 인터럽트의 전송 및 접수방법의 차이를 정합시키는 기능을 수행한다.The interrupt bus matching device serves to match the differences in how interrupts are sent and received between all modules and the interrupt bus.
종래의 단일 프로세서 시스템에서의 인터럽트 전송방법은 인터럽트의 종류나 인터럽트를 요청할 수 있는 모듈장치에 각각 신호를 배당하고, 인터럽트를 걸고자 하는 모듈이 해당신호를 구동하면 중앙의 프로세서(CPU)는 각 신호의 상태에 따라 인터럽트의 존재유무를 확인하는 방법에 의해 인터럽트를 처리하였었다.In the conventional single processor system, the interrupt transmission method allocates a signal to each type of interrupt or a module device capable of requesting an interrupt, and when a module to be interrupted drives the corresponding signal, the central processor (CPU) transmits each signal. The interrupt was handled by checking the existence of the interrupt depending on the state of.
그러나 여러개의 프로세서가 여러개의 메모리를 공유하는 다중처리기 시스템에서는 인터럽트를 처리할 수 있는 프로세서가 여러개 존재하고, 인터럽트를 걸 수 있는 모듈(Module)의 수도 증가된 상태이므로, 종래의 단일 프로세서 시스템과 같은 방법으로 인터럽트를 전송할 경우에는 너무 많은 종류의 인터럽트 신호가 필요하게 되었다.However, in a multiprocessor system in which several processors share multiple memories, there are several processors capable of handling interrupts, and the number of modules that can interrupt can be increased. To send an interrupt in this way, too many kinds of interrupt signals are needed.
따라서 다중처리기 시스템에서의 인터럽트 전송이 어드레스를 이용카여 인터럽트를 처리할 수 있는 프로세서들을 구별하고, 전송되는 데이터로 인터럽트의 종류등을 나타내는 방법을 이용하려는 추세이다.Therefore, the transmission of interrupts in a multiprocessor system tends to use a method of distinguishing processors that can handle interrupts by using an address and indicating the type of interrupt with the transmitted data.
이에 따라 본 발명은 다중처리기 시스템에서 가 모듈 사이에 비동기적인 신호교환을 위한 통로인 인터런트 버스를 제공하는 것을 그 목적으로 한다.Accordingly, an object of the present invention is to provide an interrupt bus that is a path for asynchronous signal exchange between modules in a multiprocessor system.
또한 본 발명은 인터럽트 버스를 통하여 효율적인 정보교환이 이루어지도록 하는 인터럽트 버스 정합장치를 제공하는 것을 또다른 목적으로 한다.It is another object of the present invention to provide an interrupt bus matching device for efficient information exchange through an interrupt bus.
본 발명을 첨부 도면에 의거 상세히 기술하여 보면 다음과 같다.The present invention will be described in detail with reference to the accompanying drawings as follows.
제1도는 본 발명에 대한 설명을 간단 명료하게 하기 위하여 여러개의 프로세서가 여러개의 메모리를 공유하는 다중처니기 시스템에서 두개의 프로세서 모듈이 하나의 쌍을 이루어 동작하는 상태의 구성을 예로써 나타낸 것으로, 하나의 CPU보드에 2개의 프로세서(1), (2)가 존재하고, 제1, 제2프로세서(1), (2)로부터 (또는, 다른 모듈로부터) 인터럽트 전송요구가 있을때 이 요구를 받아 인터럽트 버스(3)를 통해 해당 인터럽트 처리기로 보내는 인터럽트 요청시(4)와, 인터럽트 버스(3)를 통해 요청한 인터럽트와 CPU보드내에서 발생한 인터럽트를 처리하거나 해당 프로세서(1), (2)로 알려주어 처리하도록 하며, 인터럽트 버스(3)를 통하여 전달되는 인터럽트를 접수하여 해당 모듈로 보내는 제1, 제 2인터럽트 처리기(5), (6)와, 인터럽트 요청기(4)로부터의 인터런트 요구를 받아 인터런트를 수행하기 위하여 인터럽트 처리기(5), (6)사이에 인터럽트 버스(3)의 사용을 중재하고 그 결과를 인터럽트 요청기(4)에 알려주는 인터럽트 아비터(Interrupt Abrbiter) (7)와, 인터럽트 요청기(4)가 필요로 하는 제1프로세서(1)와 관련된 정보를 저장하는 제1요청기 레지스터(8)와, 제1인터럽트 처리기(5)가 필요로 하는 제1프로세서(1)와 관련된 정보를 저장하는 제1처리기 레지스터(9)와, 인터럽트 요청기(4)가 필요로 하는 제2프로세서(2)와 관련된 정보를 저장하는 제2요청기 레지스터(10)와, 제2인터럽트 처리기(6)가 필요로 하는 제2프로세서(2)와 관련된 정보를 저장하는 제2처리기 레지스터(11)와, 프로세서(1), (2)중 어느하나와 관련되어 제1, 제2요청기 레지스터(9), (10)중 어느 하나와 인터럽트 버스(3)와의 신호선을 형성하여 인터럽트 요청기(4)에 의한 인터럽트 요청이 이루어 지도록 하는 요청기 어댑터(Requester Adapter) (12)와, 프로세서(1), (2)중 어느 하나와 관련되어 제1, 제2처리기 레지스터 (9), (11)중 어느 하나와 인터럽트 버스(3)와의 신호선을 형성하여 두 인터럽트 처리기(5), (6)중 어느 하나에 의해 인터럽트 처리가 수행되도록 하는 처리기 어댑터(Handler Adapter) (13)들로 구성한 것이다.FIG. 1 is a diagram illustrating an example of a configuration in which two processor modules operate as a pair in a multi-processing system in which several processors share multiple memories for clarity of explanation of the present invention. When there are two processors (1) and (2) on one CPU board, and there is an interrupt transfer request from (or from another module) the first and second processors (1) and (2), the request is interrupted. When interrupt request (4) is sent to the corresponding interrupt handler through the bus (3), the interrupt and the interrupt generated in the CPU board are processed or notified to the corresponding processor (1) or (2). Interrupts from the first and second interrupt handlers 5 and 6 that receive and send interrupts transmitted through the interrupt bus 3 to the corresponding module. Interrupt Abrbiter that mediates the use of the interrupt bus 3 between the interrupt handlers 5 and 6 in order to perform an interrupt upon request and informs the
제2도는 인거럽트 요청기(4)의 구성을 나타낸 것으로, 인터럽트 요청기의 상태에 대한 정보를 저장하는 상태 레지스터(Status Register) (21)와, 프로세서로부터 제공되는 인터럽트 요청기에 필요한 제어용 정보를 저장하는 콘트롤 레지스터(Control Register) (22)와, 인터럽트 처리기가 인터런트 요청에 대한 응답 사이클 수행 단계(phase)에서 보내준 메시지 수신의 결과에 대한 정보를 저장하는 응답 레지스터(Acknowledge Register) (23)와, 인터럽트 요청기와 전송할 인터럽트의 내용에 대한 정보를 저장하는 레지스터 화일(Register File) (24)과, 프로세서로부터의 로컬 어드레스에 따라 4개의 레지스터(21)∼(24)중에서 하나를 인에이블(enable)시키는 디코우더(25)와, 정보를 송신할 때 패리티(parity)정보를 부가하여 송신하는 패리티 생성기(26)와, 콘트롤 레지스터(22) 및 레지스터 화일(24)로부터 제공되는 정보에 의해 인터럽트 요청에 필요한 기능 및 동작을 제어하는 인터런트 요청기 콘트롤러(Interrupt sequester Controller) (27)로 구성한 것이다.2 shows the configuration of the
그러므로 인터럽트를 요청하기 위하여는 프로세서가 먼저 전송 레지스터가 비어 있는가를 확인하기 위하여 상태 레지스터(21)의 정보가 "0"인가를 검사하여 "0"인 경우에만 즉, 전송이 완료되어 인터럽트를 처리 하고 있지 않은 경우에만 상태 레지스터(21)의 인터럽트 요청 및 전송에 필요한 각 정보들을 콘트롤 레지스터(22)에 쓰기 동작을 수행하고, 이 동작이 완료되면 콘트롤 레지스터(22)의 제어정보를 세트(Set)시킨다.Therefore, in order to request an interrupt, the processor first checks whether the information in the
콘트를 레지스터(22)의 제어정보가 세트되면 인터럽트 요청기 콘트롤러(27)에서 인터럽트 수행의 프로토콜(Protocol)에 맞추어 인터럽트 중재하기 위한 사이클 수행단계가 시작되어 인터럽트 페이즈를 차례로 수행 한다.When the control information of the
상기 종래 사이클 단계에서는 복수의 모듈들이 동시에 인터럽트 버스(3)를 사용하려는 경우에 이를 중재 하게 된다. 인터럽트의 수행중에는 해당 레지스터에 저장된 정보를 인터럽트 버스로 출력시키기 되는데, 정보들을 전송할 때 에러가 발생하면 재시도를 하지만 두번째 에러가 발생하면 상태 레지스터(21)의 정보를 세트시키면서 발생된 에러의 종류를 응답 레지스터(23)에 표시하고 인터럽트를 요청한 프로세서에서 "인터 럽트 전송실패"라는 인터럽트를 요청한다.In the conventional cycle step, when a plurality of modules intend to use the interrupt bus 3 at the same time, it arbitrates this. During the execution of the interrupt, the information stored in the register is output to the interrupt bus. When an error occurs when the information is transmitted, the retry is attempted, but when the second error occurs, the type of error generated by setting the information in the
상기한 바와 같이 인터럽트에 의한 정보전달 과정은 우선 인터럽트 버스(3)를 사용하기 위한 중재과정을 거쳐야 하고, 중재는 인터럽트 아비터(7)에 의해 이루어지지만 중재를 위한 메시지의 출력은 인터럽트 요청기 콘트롤러(27)에 의해 이루어진다.As described above, an interrupt information transfer process must first undergo an arbitration process for using the interrupt bus 3, and the arbitration is performed by the
인터런트 아비터(28)로부터 중재결과를 받은 인터럽트 요청기 콘트롤러(27)는 인터럽트 화일(24)의 종류를 나타내는 정보, 인터럽트를 받을 목적지 인터럽트 처리기의 어드레스 정보, 벡터의 종류를 구분하는 정보, 인터럽트 메시지를 보낸 인터럽트 요청기의 어드레스 정보, 인터럽트 벡터를 나타내는 정보들의 종류에 따라 각 페이즈를 수행하면서 인터럽트의 처리를 하도록 하고, 인터럽트 수행의 마지막 순서는 응답 단계로서 이는 수행의 결과를 인터럽트 처리기에서 인터럽트 요청기로 알려주는 것이다.The
제3도는 인터럽트 처리기의 구성을 나타낸 것으로, 인터럽트 처리기의 상태에 대한 정보들을 저장하는 상태 레지스터(31)와, 인터럽트 처리기에 필요한 제어용 정보를 저장하는 콘트롤 레지스터(32)와, 중재가 인터럽트 처리기들 사이에서 이루어지므로 이에 사용되는 중재용 정보를 저장하는 중재 레지스터(33)와, 수신한 인터럽트 벡터를 종류별(Q타잎, I타잎, N타잎, E타잎)로 나누어 저장하는 레지스터 화일(34)과, 프로세 서로부터의 로컬 어드레스에 따라 4개의 레지스터(31)∼(34)중에서 하나를 선택적으로 인에이블 시키는 디코우더(35)와, 인터럽트 버스(3)를 통하여 전달되어온 정보의 패리티를 검사하는 패리티 검출기(37)와, 인터럽트 아비터(7) 및 중재 레지스터(33)로부터 제공되는 정보에 의해 인터런트 처리기에 필요한 기능과 동작을 제어하는 인터럽트 처리기 콘트롤러(38)들로 구성한 것이다.3 shows the configuration of an interrupt handler, a
그러므로 인터럽트 처리기 콘트롤러(38)에서는 인터럽트 중재 과정에서 인터럽트 요청기(4)로부터 보내온 처리기 어드레스에 대한 정보를 해석하여 목적지 처리기가 자신이고 또 그것이 콘트롤 레지스터(32)에서 허용하는 인터럽트인 경우에 보내온 메시지를 따라 필요한 경우 상태 레지스터(31)의 해당 정보를 래치시키면서 계속되는 다음 페이즈(Phase)의 메시지들을 차례로 해당 레지스터 화일(34)에 래치시킨다. 만약 수행하는 인터럽트의 종류가 중재 인터럽트라면 인터럽트 처리기들 사이에서 수행되는 중재 주기를 먼저하면서 중재 레지스터(33)의 정보를 인터럽트 버스(3)로 출력시킨다.Therefore, the
그리고, 메시지 전송 웨이즈가 완료되면 인터럽트 처리기 콘트롤러(38)가 인터럽트 요청기(4)의 인터럽트 요청에 응답하는 사이클 단계 즉, 페이즈를 수행하여 인터럽트 요청기(4)로 응답신호를 보내고 인터럽트의 메시지 수신을 종료한다.When the message transfer wake is completed, the
이때, 인터런트 처리기 콘트롤러(38)는 해당 프로세서나 인터럽트를 처리할 곳으로 인터럽트를 요청하여 이를 처리하도록 한다.At this time, the
그러면, 인터럽트 서비스 요청을 받은 프로세서 (또는, 모듈)는 레지스터 화일(34)로부터 인터럽트 벡터의 정보를 읽어 들이면서 해당되는 서비스 루틴을 수행하는 것이다.Then, the processor (or module) receiving the interrupt service request reads the interrupt vector information from the
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019890019307A KR920007170B1 (en) | 1989-12-22 | 1989-12-22 | Apparatus for interrupt bus matching on multiprocessor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019890019307A KR920007170B1 (en) | 1989-12-22 | 1989-12-22 | Apparatus for interrupt bus matching on multiprocessor system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR910012963A KR910012963A (en) | 1991-08-08 |
KR920007170B1 true KR920007170B1 (en) | 1992-08-27 |
Family
ID=19293462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019890019307A KR920007170B1 (en) | 1989-12-22 | 1989-12-22 | Apparatus for interrupt bus matching on multiprocessor system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR920007170B1 (en) |
-
1989
- 1989-12-22 KR KR1019890019307A patent/KR920007170B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR910012963A (en) | 1991-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4737932A (en) | Processor | |
EP0535696B1 (en) | Apparatus for avoiding processor deadlock in a multiprocessor system | |
US4698746A (en) | Multiprocessor communication method and apparatus | |
US4381542A (en) | System for interrupt arbitration | |
US5469542A (en) | Serial diagnostic interface bus for multiprocessor systems | |
US4744023A (en) | Processor access control arrangement in a multiprocessor system | |
US5528761A (en) | Message passing apparatus for determining if counted acknowledgements from a set of processors are within a defined range | |
EP0369265A2 (en) | Multiprocessor system having global data replication | |
EP0752667A1 (en) | Method and apparatus for hybrid packet-switched and circuit-switched flow control in a computer system | |
US4736319A (en) | Interrupt mechanism for multiprocessing system having a plurality of interrupt lines in both a global bus and cell buses | |
EP0644489A2 (en) | Method and apparatus for signalling interrupt information in a data processing system | |
EP0306043B1 (en) | Storage of input/output command timeout and acknowledge responses | |
US20050177760A1 (en) | Computer system, bus controller, and bus fault handling method used in the same computer system and bus controller | |
US5471638A (en) | Bus interface state machines with independent access to memory, processor and registers for concurrent processing of different types of requests | |
US4858234A (en) | Method and apparatus for error recovery in a multibus computer system | |
US6061757A (en) | Handling interrupts by returning and requeuing currently executing interrupts for later resubmission when the currently executing interrupts are of lower priority than newly generated pending interrupts | |
US4837767A (en) | Bus adapter module with improved error recovery in a multibus computer system | |
US4974153A (en) | Repeater interlock scheme for transactions between two buses including transaction and interlock buffers | |
EP1091301A2 (en) | Method and apparatus for transmitting operation packets between functional modules of a processor | |
US6381663B1 (en) | Mechanism for implementing bus locking with a mixed architecture | |
US5432910A (en) | Coupling apparatus and method for increasing the connection capability of a communication system | |
KR920007170B1 (en) | Apparatus for interrupt bus matching on multiprocessor system | |
US5805841A (en) | Symmetric parallel multi-processing bus architeture | |
US6940311B2 (en) | Data transmission system | |
JPH0666061B2 (en) | Multi CPU communication device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20020730 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |