KR920010581B1 - 다중처리기 시스템에서의 인터럽트 전송 방법 - Google Patents
다중처리기 시스템에서의 인터럽트 전송 방법 Download PDFInfo
- Publication number
- KR920010581B1 KR920010581B1 KR1019890019310A KR890019310A KR920010581B1 KR 920010581 B1 KR920010581 B1 KR 920010581B1 KR 1019890019310 A KR1019890019310 A KR 1019890019310A KR 890019310 A KR890019310 A KR 890019310A KR 920010581 B1 KR920010581 B1 KR 920010581B1
- Authority
- KR
- South Korea
- Prior art keywords
- interrupt
- information
- requester
- register file
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
내용 없음.
Description
제1도는 본 발명의 인터럽트 요청기의 구성을 나타낸 블럭도.
제2도는 본 발명의 동작을 나타내는 타이밍도.
본 발명의 여러개의 프로세서가 여러개의 메모리를 공유하는 다중처리기 시스템에서 제한된 신호를 이용하여 여러가지 기능을 구현하기 위해 시분할 방식(Time Multiplexing)을 사용하도록한 다중처리기 시스템에서의 인터럽트 전송 방법에 관한 것이다.
일반적으로 여러개의 프로세서가 여러개의 메모리를 공유하는 다중처리기 시스템에서의 인터럽트 버스의 주된 기능은 버스 모듈들 사이의 비동기적인(Asynchronous) 정보 교환이고, 인터럽트 버스는 입출력 제어를 위한 프로세서간의 통신, 에러 발생 보고, 그리고 에러 처리 및 시스템 형상(System Configuration) 제어 등을 위한 제어명령 등이 교환되는 것이다. 종래의 단일 프로세서 시스템에서는 인터럽트 전송이 인터럽트의 종류나 인터럽트를 요청할 수 있는 모듈(Module)에 각각 신호를 배당하고, 중앙의 프로세서는 각 신호와 프로세서의 상태에 따라 인터럽트를 처리하도록 하였었다.
그러나 다중처리기 시스템에서는 인터럽트를 처리할 수 있는 프로세서가 여러개가 되고, 또한 인터럽트를 걸수 있는 모듈의 수도 증가됨에 따라 단일 프로세서 시스템과 동일한 방법으로 인터럽트를 처리할 경우에는 많은 신호가 필요하게 되었다.
이에 따라 본 발명은 다중처리기 시스템에서 제한된 신호를 이용하여 시분할 방식에 따라 여러가지의 기능을 구현하도록한 다중처리기 시스템에서의 인터럽트 전송 방법을 제공하는 것을 그 목적으로 한다.
이를 위하여 본 발명은 여러개의 프로세서가 여러개의 메모리를 공유하는 다중처리기 시스템에서, 중앙의 클럭과 동기신호를 기준으로 모든 동작이 수행되도록 하고, 한 동작이 여러개의 단계(phase)로 구성되어 순서적으로 수행되도록 한다.
그리고 인터럽트 전송을 위한 동작을 중재주기(Arbitration Cycle)와 인터럽트 전송주기(Interrupt Transfer Cycle)로 구분되어 중재주기는 하나의 기본 주기(Basic Cycle)에 수행이 완료되어 인터럽트 전송주기는 인터럽트의 종류에 따라 4,8 또는 16 기본 주기에 수행되도록 한다.
본 발명을 첨부 도면에 의거 상세히 기술되어 보면 다음과 같다.
제1도는 인터럽트 요청기의 구성을 나타낸 것으로, 인터럽트 버스(1)와 연결되어 데이터를 송 수신하고 중재를 수행하는 아비터 및 트랜시버(2)와, 아비터 및 트랜시버(2)를 통해 수신되는 데이터의 패리티를 검출하여 인터럽트 요청기 콘트롤러(4)로 보내거나 송신되는 데이터에 패리터를 생성하여 부가하는 패리터 검출발생기(3)와, 아비터 및 트랜시버(2)로 중재요청을 위한 신호(request)를 출력하고 중재가 성공되었을 때 성공신호(WIN)를 수신받는 인터럽트 요청기 콘트롤러(4)와, 신호선(1a)을 통하여 인터럽트 버스 클럭신호(IBCLK)를 수신하거나 신호선(1b)을 통하여 인터럽트 버스 동기신호(IBSYNC)를 수신하여 인터럽트 요청기 콘트롤러(4)로 전달하거나 인터럽트 요청기 콘트롤러(4)의 제어에 의해 인터럽트 버스 동기신호(IBSYNC)를 신호선(1b)에 구동하는 버스 드라이버 및 리시버(5)와, 인터럽트 요청기에 필요한 제어용 정보(GO)를 저장한 상태에서 프로세서(6)의 제어에 따라 해당 정보를 인터럽트 요청기의 상태(Status)에 대한 정보(IC,PD,DN,RT,DE,RS)를 저장한 상태에서 인터럽트 요청기 콘트롤러(4)의 동작을 프로세서(6)로 알려주는 상태 레지스터(8)와, 전송하고자 하는 인터럽트 정보(IC,RA,VT,TA,V)를 저장한 상태에서 인터럽트 요청기 콘트롤러(4)나 프로세서(6)의 제어에 따라 패리터 검출 및 발생기(3)를 통하여 요청하도록 한 레지스터 화일(9)들로 구성한 것이다.
여기서 콘트롤 레지스터(7)의 정보(GO)가 “1”인 경우에는 인터럽트 요청기에게 인터럽트 메시지의 전송을 의뢰한 상태가 된다.
그리고 상태 레지스터(8)의 정보(PD:Pending)가 “1”이면 인터럽트 요청기가 인터럽트를 전송중임을 의미하고, 정보(DN:Done)가 “0”이면 인터럽트의 전송이 완료 되었음을 의미하고, 정보(RT:Retry)가 “1”이면 전송중 에러가 발생하여 다시 전송하고 있음을 의미하고, 정보(DE:Double Error)가 셋트되면 재전송중에 다시 에러가 발생하였음을 의미하며 이때에는 인터럽트를 요청한 프로세서에서 인터럽트를 실패했음을 알린다.
또한 정보(RS:Requester State)는 인터럽트의 상태를 나타내며 진단용으로 사용하고, 정보(IC:Interrupt class)는 전송할 인터럽트의 종류를 나타내며, “10”이면 중재 인터럽트, “11”이면 지정 인터럽트를 각각 나타낸다.
한편, 레지스터 화일(9)의 정보(IC:Interrupt Class)는 전송할 인터럽트의 종류를 나타내고, 정보(Ra:Receiver Address)는 전송한 지정 인터럽트를 받을 목적지 인터럽트 처리기의 어드레스를 나타내고, 정보(VT:Vector Type)는 인터럽트 벡터의 종류를 구분하는 것이며, 정보(TA:Transmitter Address)는 인터럽트 메시지를 보낸 인터럽트 요청기의 어드레스를 나타내고 정보(V:Vector)는 인터럽트 벡터를 나타낸다.
그러므로 다중처리기 시스템에서는, 제2도에 도시한 바와 같이, 인터럽트의 전송을 원하는 인터럽트 요청기들이 동시에 여러개가 발생하는 경우에는 이를 충돌없이 처리하기 위한 중재주기를 거치도록하고, 이의 주기는 신호선(1a)을 통하여 인가되는 인터럽트 버스 클럭신호(IBCLK)의 하나의 펄스동안에 이루어지도록하며, 신호선(1b)을 통하여 수신되는 인터럽트 버스 동기 신호(IBSYNC)가 “High”이면 인터럽트 버스(1)를 통하여 인터럽트가 수행중이므로 “Low”로 될 때까지 기다려야 한다.
그리고 인터럽트 버스 동기신호(IBSYNC)가 “Low”로 수신되면 중재를 요청한 각 인터럽트 요청기의 우선 순위와 요청한 순서에 따라 하나의 인터럽트 요청기에만 사용허가를 내리게 되고 이에 따라 선택된 인터럽트 요청기의 아비터 및 트랜시버(2)에서 인터럽트 요청기 콘트롤러(4)로 중재 성공신호(WIN)를 출력하게 된다.
중재 성공신호(WIN)를 받은 인터럽트 요청기 콘트롤러(4)에서는 인터럽트의 종류를 상태 레지스터(8)의 정보(IC)를 “00”-“11”중에서 선택하여 출력하면서 알려주는 동시에, 레지스터 화일(9)의 정보(RA)로 인터럽트를 받은 인터럽트 처리기의 주소를 전송하는 인터럽트 0단계를 수행한다.
그리고 인터럽트 요청기에서 레지스터 화일(9)의 정보(VT)로 벡터의 종류를 알려주면서 정보(TA)로 인터럽트 요청기의 어드레스를 전송하는 인터럽트 1단계를 수행한 후, 인터럽트 처리기로 레지스터 화일(9)의 정보(V)를 이용하여 인터럽트 요청기가 실질적으로 처리기에 원하는 행동이 무엇인지를 알려주는 인터럽트 벡터를 전송하는 인터럽트 2단계를 수행한다.
다음에 인터럽트를 받은 인터럽트 처리기가 인터럽트 요청기로 응답을 보내는 인터럽트 3단계를 수행하도록 한다. 여기서 응답에는 시퀀스 에러(Sequence Error), 패리터 에러(Parity Error), 버퍼 완전 에러(Bufler Full Error), 전송을 받을 수 없는 에러(Unacceptable Error)등의 상태를 알려주는 것이다.
따라서 본 발명은 인터럽트 버스 클럭 신호(IBCLK)와 인터럽트 버스 동기신호(IBSYNC)를 기준으로 모든 동작이 수행되도록 하고, 하나의 동작이 여러개의 단계로 구성되어 순서대로 수행되도록 함으로써 제한된 신호를 이용하여 시분할 방식으로 여러가지의 기능을 구형하도록 한 것임을 알 수 있다.
Claims (1)
- 데이터를 송수신하여 중재를 수행하는 아비터 및 트랜시버(2)와, 패리터를 검출하거나 생성하여 출력하는 패리터 검출 및 발생기(3)와, 인터럽트의 요청에 관한 동작을 제어하는 인터럽트 요청기 콘트롤러(4)와, 인터럽트 버스 클럭신호(IBCLK)와 인터럽트 버스 동기신호(IBSYNC)를 수신하거나 전송하는 버스 드라이버 및 리시버(5)와, 인터럽트 요청기에 필요한 제어용 정보를 저장하는 콘트롤레지스터(7)와, 인터럽트 요청기에 필요한 상태에 대한 정보를 저장하는 상태 레지스터(8)와, 전송하고자 하는 인터럽트 정보를 저장하는 레지스터 화일(9)로 구성된 인터럽트 요청기를 포함하는 다중처리시스템에 있어서, 상기 인터럽트 버스동기신호가 하이레벨인 상태에서 중재 성공신호(WIN)를 제공받으면, 상기 인터럽트 요청기 콘트롤러(4)에서는 상기 상태 레지스터(8)의 정보를 이용하여 인터럽트 종류를 선택하고, 아울러 상기 레지스터화일(9)의 정보(RA)를 인터럽트 처리기의 주소로 전송하는 인터럽트 0단계와, 상기 인터럽트 요청기에서 상기 레지스터 화일(9)의 정보(VT)로 인터럽트 벡터의 종류를 알려주고, 상기 레지스터 화일(9)의 정보(TA)를 인터럽트 요청기의 어드레스로 전송하는 인터럽트 1단계와, 상기 레지스터화일(9)의 정보(V)를 이용하여 인터럽트 벡터를 상기 인터럽트 처리기로 전송하는 인터럽트 2단계와, 인터럽트를 받은 인터럽트 처리기가 인터럽트 요청기로 응답을 보내는 인터럽트 3단계를 구비하여서, 상기 각 단계가 인터럽트 버스동기신호의 각 펄스기간 동안에 수행되게 하여 상기 인터럽트를 시분할 방식으로 전송하도록 한 것을 특징으로 하는 다중처리기 시스템에서의 인터럽트 전송방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019890019310A KR920010581B1 (ko) | 1989-12-22 | 1989-12-22 | 다중처리기 시스템에서의 인터럽트 전송 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019890019310A KR920010581B1 (ko) | 1989-12-22 | 1989-12-22 | 다중처리기 시스템에서의 인터럽트 전송 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR910012959A KR910012959A (ko) | 1991-08-08 |
KR920010581B1 true KR920010581B1 (ko) | 1992-12-07 |
Family
ID=19293466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019890019310A KR920010581B1 (ko) | 1989-12-22 | 1989-12-22 | 다중처리기 시스템에서의 인터럽트 전송 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR920010581B1 (ko) |
-
1989
- 1989-12-22 KR KR1019890019310A patent/KR920010581B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR910012959A (ko) | 1991-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2110838C1 (ru) | Устройство для оптимизации организации доступа к общей шине во время передачи данных с прямым доступом к памяти | |
US4570220A (en) | High speed parallel bus and data transfer method | |
US5191649A (en) | Multiprocessor computer system with data bus and ordered and out-of-order split data transactions | |
EP0358703B1 (en) | Method and apparatus for managing multiple lock indicators in a multiprocessor computer system | |
EP0278264B1 (en) | Data processing system with overlap bus cycle operations | |
KR930008039B1 (ko) | 인터페이스 회로 | |
EP0358716B1 (en) | Node for servicing interrupt request messages on a pended bus | |
JP2561759B2 (ja) | マルチプロセッサシステムおよびそのメッセージ送受信制御装置 | |
EP0321628B1 (en) | Shared memory interface for a data processing system | |
KR100267130B1 (ko) | Pci 버스 시스템 | |
US5404462A (en) | Dual bus interface transfer system for central processing module | |
EP0524684A2 (en) | A universal buffered interface for coupling multiple processors, memory units, and I/O interfaces to a common high-speed bus | |
KR910007643B1 (ko) | 펜디드 버스를 이용하는 인터럽트를 제공하기 위한 장치 및 방법 | |
US5805837A (en) | Method for optimizing reissue commands in master-slave processing systems | |
US5461723A (en) | Dual channel data block transfer bus | |
US4941083A (en) | Method and apparatus for initiating interlock read transactions on a multiprocessor computer system | |
US5428794A (en) | Interrupting node for providing interrupt requests to a pended bus | |
WO1988008584A1 (en) | Method and apparatus for implementing multiple lock indicators in a multiprocessor computer system | |
JPH0772889B2 (ja) | 情報処理システム | |
GB2365596A (en) | Transfer acknowledgement in a bus system | |
US5509127A (en) | Transmission logic apparatus for dual bus network | |
US5859986A (en) | Bandwidth efficient method and means for resynchronizing a master and slave over a clocked, arbitrated, bidirectional multistate parallel bus using local data recirculation, wait states, and cycle stealing | |
US5495585A (en) | Programmable timing logic system for dual bus interface | |
US5377334A (en) | Fast asynchronous resource master-slave combination | |
KR920010581B1 (ko) | 다중처리기 시스템에서의 인터럽트 전송 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
J2X1 | Appeal (before the patent court) |
Free format text: APPEAL AGAINST DECISION TO DECLINE 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: 19980929 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |