KR970002399B1 - 안정적인 버스 중재정보 구동을 위한 상태 할당방법(State assignment for stable drive of bus arbirtation information) - Google Patents

안정적인 버스 중재정보 구동을 위한 상태 할당방법(State assignment for stable drive of bus arbirtation information) Download PDF

Info

Publication number
KR970002399B1
KR970002399B1 KR1019940012743A KR19940012743A KR970002399B1 KR 970002399 B1 KR970002399 B1 KR 970002399B1 KR 1019940012743 A KR1019940012743 A KR 1019940012743A KR 19940012743 A KR19940012743 A KR 19940012743A KR 970002399 B1 KR970002399 B1 KR 970002399B1
Authority
KR
South Korea
Prior art keywords
state
interrupt
arbitration
bus
multiprocessor
Prior art date
Application number
KR1019940012743A
Other languages
English (en)
Other versions
KR960001994A (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 재단법인 한국전자통신연구소
Priority to KR1019940012743A priority Critical patent/KR970002399B1/ko
Publication of KR960001994A publication Critical patent/KR960001994A/ko
Application granted granted Critical
Publication of KR970002399B1 publication Critical patent/KR970002399B1/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

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

내용없음.

Description

안정적인 버스 중재정보 구동을 위한 상태 할당방법(State assignment for stable drive of bus arbitration information)
제1도는 본 발명에 있어서 다중프로세서 인터럽트 요청기의 연결도.
제2도는 다중프로세서 인터럽트 요청기의 내부레지스터 구성도.
제3도는 다중프로세서 인터럽트 요청기의 내부상태 천이의 개략도.
제4도는 본 발명에 따른 내부상태 할당을 나타낸 도면.
* 도면의 주요부분에 대한 부호의 설명
1 : 프로세서 2 : 프로세서 인터페이스 회로
3 : 다중프로세서 인터럽트 요청기 4 : 인터럽트 버스 인터페이스
5 : 인터럽트 버스 6 : TMR
7 : CSR
본 발명은 다중프로세서 인터럽트 요청기에서 안정적인 버스중재 정보구동을 위한 상태 할당방법에 관한 것으로서, 구체적으로 다중프로세서 인터럽트 요청기에서 프로세서간 인터럽트의 전송을 위하여 프로세서 버스의 사용권을 얻는 중재과정에서 프로세서 버스 중래정보를 글리치(glitch)없이 안정적으로 구동하기 위한 상태할당 방법에 관한 것이다.
본 발명의 근간이 되는 프로세서간 인터럽트의 전송규칙(protocol) 및 다중프로세서 인터럽트 요청기의 하드웨어 구성은 종래의 다중프로세서 컴퓨터 시스템과는 상이한 것이다.
이에 따른 본 발명은 다중프로세서 인터럽트 요청기(multiprocessor interrupt requester)에서 안정적인 버스중재 정부구동을 위한 상태할당 방법을 제공하는데 목적이 있다.
상기 목적을 달성하기 위하여 본 발명에서는 첨부된 도면에 의거하여 그 상세한 설명을 한다.
먼저, 제1도는 본 발명에 있어서 다중프로세서 인터럽트 요청기의 연결도를 나타낸 것으로, 하나의 처리장치내에서의 단위 모듈(module)간 연결을 나타낸다.
본 발명에서의 다중프로세서 인터럽트 요청기는 다중프로세서 컴퓨터 시스템에서 프로세서간 인터럽트를 전송하는 기능을 수행한다.
상기 제1도의 구성은 프로세서(processor)(1)에서 프로세서 인터페이스 회로(processor interface circuit)(2)가 연결되고, 이 프로세서 인터페이스 회로(2)에 다중프로세서 인터럽트 요청기(3)가 연결되며, 여기에 인터럽트 버스(interrupt bus)(5)와 연결되는 인터럽트 버스 인터페이스(4)가 연결되는 구성으로 이루어진다.
상기 구성에 따른 동작은 다음과 같다.
먼저, 프로세서 인터페이스 회로(2)는 프로세서(1)와 다중프로세서 인터럽트 요청기(3) 사이의 인터페이스를 제공한다.
인터럽트 버스 인터페이스(4)는 인터럽트 버스(5)와 다중프로세서 인터럽트 요청기(3) 사이의 인터페이스를 제공하며, 상기 다중프로세서 인터럽트 요청기(3)로부터 받은 중재정보를 이용하여 상기 인터럽트 버스(5)의 사용권을 중재하는 기능도 수행한다. 상기 다중프로세서 인터럽트 요청기(3)에는 두개의 레지스터가 있는데, 이에 대해서 제2도인 다중프로세서 인터럽트 요청기의 내부 레지스터의 구성도를 설명한다.
상기 두개의 레지스터는 모두 32비트로 구성되어 있으며, 프로그램에 의해서 접근이 가능한 레지스터이다.
상기 두개의 레지스터중 하나인 전송 메세지 레지스터(이하, TMR(Transfer Message Register)(6)는 읽기와 쓰기가 가능하고, 다른 하나인 제어 및 상태 레지스터(이하, CSR(Control and State Register)(7)에서는 오류비트(error bits)(10)와 전송오류(transfer error)(11)부분은 읽기만 가능하고, 최대 재시도 계수치(maximum retry count)(8), 현재 재시도 계수치(current retry count)(9), 유사한 재시도 인에이블(finite retry enable)(13), 전송실패 인터럽트 인에이블(transfer failure interrupt enable)(14) 및 인터럽트 송신/완료(interrupt go/done)(15) 부분은 읽기와 쓰기가 가능하다.
상기 TMR(6)에는 전송하고자 하는 메세지가 저장되며, 전송 메세지에는 수신처, 송신처, 인터럽트이 종류, 벡터(vector)의 형태, 벡터등이 포함되어 있다.
또한, 상기 CSR(7)에는 최대 재시도 계수치[31 : 24](8), 현재 재시도 계수치[23 : 16](9), 오류비트[15 : 8](10), 전송오류[7](11), 유한 재시도 인에이블[2](13), 전송실패 인터럽트 인에이블[1](14), 그리고 인터럽트 송신/완료비트[0](15) 등이 저장되며, 비트 6에서 비트 3까지 (CSR[6 : 3](12)는 정의하지 않는다.
상기 최대 재시도 계수치(8)는 전송오류가 발생할 경우에 재시도하는 회수를 나타내며, 프로그램에 의해서 최대 재시도 회수가 쓰여진다.
상기 현재 재시도 계수치(9)는 프로세서(1)로부터 전송요구를 받은 메세지에 대하여 전송오류에 의한 재시도를 수행한 회수를 나타내며, 최대 재시도 계수치에서부터 시작하여 재시도를 할 때마다 내림순으로 계수한다.
현재 재시도 계수치(9)의 값이 0이면 정해진 최대 재시도 회수만큼의 재시도를 하였음을 나타낸다.
상기 각각의 오류비트(10)는 전송중 발생한 오류를 나타내며, 전송오류(11)는 하나 이상의 오류비트(10)가 세트(set)되면 동시에 세트된다.
그리고, 상기 유한 재시도 인에이블비트(13)의 값이 0이면 최대 재시도 계수치(8)의 값에 상관없이 전송이 성공할 때까지 무한히 재시도를 수행하고, 유한 재시도 인에이블비트(13)의 값이 1이면 전송이 성공할 때까지 최대 재시도 계수치(8)만큼의 재시도를 수행한다.
전송실패 인터럽트 인에이블비트(14)의 값이 1이면 전송실패시 전송실패를 나타내는 인터럽트를 프로세서 인터페이스 회로(2)를 통하여 프로세서(1)에게 구동하고, 0이면 구동하지 않는다.
또한 상기 인터럽트 송신/완료비트(15)의 값이 1이면 프로세서(1)로부터 프로세서간 인터럽트의 전송이 요구되어 현재 전송을 시도하고 있음을 나타낸다.
인터럽트 송신/완료비트(15)의 값이 0이면 프로세서간 인터럽트의 전송이 완료되었음을 나타내며, 성공적으로 완료될 수 있고 또는 전송오류가 발생하여 실패로 완료될 수도 있다.
상기 제1도 및 제2도를 참조로하여, 제3도에서는 다중프로세서 인터럽트 요청기(3) 내부의 상태천이(stater transition)를 개략적으로 설명한다.
설명에 앞서 원은 각각의 상태(state)를 나타내고, 원안의 표기는 상태면(state name)을 나타낸다.
여러개의 상태들간을 연결하는 화살표는 상태천이의 방향을 나타내며, 화살표 상의 글자표기는 상태천이의 조건을 나타낸다.
화살표에 아무런 표기가 없으면 무조건 다음 클럭에서 화살표 방향으로 천이됨을 나타낸다.
상기 상태천이는 클럭의 상승에지(rising edge)에서 일어난다. 도면에서의 IDLE(아이들) 상태(16)는 초기상태이다.
프로그램에 의하여 인터럽트 송신/완료비트(15)에 1이 쓰여지고 인터럽트 버스(5)가 유휴상태이면 (interrupt go and interrupt bus idle) 중재 상태로 천이한다.
반대로 인터럽트 송신/완료비트(15)가 0 이거나 인터럽트 버스(5)가 사용중이면(interrupt done or interrupt bus busy) IDLE 상태(16)를 유지한다.
상기 인터럽트 버스의 사용권을 얻는 중재는 ARB1 상태(ARBitration 1)(17), ARB2 상태(18), ARB3 상태(19), ARB4 상태(20) 및 ARB5 상태(21)의 다섯 단계를 거쳐 수행한다.
실제적인 중재동작은 다중프로세서 인터럽트 요청기(3)로부터 중재정보를 받아서 인터럽트 버스 인터페이스(4)에서 수행한다. 상기 중재동작이 완료되면 인터럽트 버스 인터페이스(4)는 중재의 성공 및 실패 여부를 다중프로세서 인터럽트 요청기(3)에게 알려준다.
상기 인터럽트 버스의 중재가 성공하여 인터럽트 비스의 사용권을 얻으면 TMR(6)에 저장되어 있는 전송 메세지를 인터럽트 버스 인터페이스(4)와 인터럽트 버스(5)를 통하여 전송한다.
상기 중재가 실패하면(arbitration fail) ARB5 상태(21)에서 IDLE 상태(16)로 천이하고, 중재가 성공하면(arbitration win) SEND 상태(22)로 천이한다.
상기 SEND 상태(22)에서는 TMR(6)에 저장되어 있는 전송 메세지를 인터럽트 버스 인터페이스(4)와 인터럽트 버스(5)를 통하여 송신하는 동작을 수행한다.
이 메세지 송신이 진행중이면(in sending message) 메세지 송신을 마칠 때까지 이 상태에 머물게 된다.
일련의 메세지 송신이 끝나면(message sended) DUMMY 상태(23)로 천이한다.
이 DUMMY 상태(24)는 프로세서간 인터럽트를 수신하는 측에서 수신한 정보를 디코딩(decoding)하는 단계로서, 다중프로세서 인터럽트 요청기(3)에서는 아무런 동작도 하지 않는다.
ACK 상태(24)는 이미 전송된 프로세서간 인터럽트를 수신하는 측에서 회신으로 보낸 응답정보를 받는 단계이다.
CHECK 상태(25)에서는 ACK 상태(24)에서 받은 응답정보를 검사하고, CSR(7)의 오류비트(10), 전송오류비트(11), 인터럽트 송신/완료비트(15)에 그 결과를 기록한다.
상기 응답정보를 검사한 결과 전송오류가 발생하고 무한 재시도이거나 재시도 회수가 만료되지 않았으면(error and(infinite retry or no retry out) RETRY 상태(26)로 천이하고, 전송오류가 없거나 유한 재시도이고 재시도 회수가 만료되었으면(no error or(finite retry and retry out)) IDLE 상태(16)로 천이한다.
RETRY 상태(26)는 재시도를 준비하는 단계로서 유한 재시도 인에이블(13)이 1이면 CHECK 상태(25)에서 천이됨과 동시에 현재 재시도 계수치를 1만큼 감소시킨다.
인터럽트 버스가 유휴상태이면(interrupt bus idle) ARB1 상태(17)로 천이하고, 인터럽트를 사용중이면 (interrupt bus busy) RETRY 상태(26)를 유지한다.
제4도는 본 발명에 따른 다중프로세서 인터럽트 요청기(3)의 내부상태 할당의 예를 나타낸 상태천이도이다.
제4도에서와 같이, 11개의 상태가 존재하므로 이를 코드화(coding)하는데 4비트가 필요하게 된다.
상술한 다중프로세서 요청기(3)는 인터럽트 버스의 사용권을 얻기 위하여 다섯 단계의 중재과정을 거치게 된다.
상기 다섯 단계동안 다중프로세서 인터럽트 요청기(3)는 인터럽트 버스 인터페이스(4)를 통하여 인터럽트 버스(5)에 중재정보를 글리치(glitch : 펄스주기의 급격한 변화)없이 안정적으로 구동하여야 한다.
따라서, 다섯 단계의 중재과정을 나타내는 각 상태(ARB1, ARB2, ARB3, ARB4, ARB5) 사이의 천이가 발생하는 과도상태에서 순간적으로라도 원치 않는 상태에 있어서는 안된다.
제4도의 ARB1 상태(28)에서 ARB2 상태(29)로, ARB2 상태(29)에서 ARB3 상태(30)로, ARB3 상태(30)에서 ARB4(31)로, 그리고 ARB4(31)에서 ARB5(32)로 천이되는 각각의 과정에서 순간적으로라도 원치않는 상태에 있어서는 안된다.
예를 들어, 제4도에서 IDLD 상태(27)를 0000으로, ARB1 상태(28)를 0001로 할당하고, ARB2 상태(29)를 0010으로 할당하고 0011이 SEND 상태(33)에 할당되었다고 가정하면, ARB1 상태에서 ARB2 상태로의 천이는 0001에서 0011을 거쳐서 0010으로 천이될 수 있다.
즉, 짧은 기간동안 0011 상태(SEND 상태)에 있게 된다. 이럴 경우 순간적으로 중재를 나타내는 상태가 아니므로 중재정보의 구동이 중지되어 글리치(glitch)가 발생한다.
중재도중에 중재정보에 원치않는 글리치가 포함되면 인터럽트 버스 인터페이스(4) 중재 회로의 오동작을 유발할 수 있다.
따라서 다섯단계의 중재과정을 나타내는 각 상태(ARB1, ARB2, ARB3, ARB4, ARB5) 사이의 천이에서는 이와 같은 현상이 발생하지 않도록 상태를 효과적으로 할당하여야 한다.
즉, 과도적인 전후 상태의 상태천이가 일어나도록 해야 하는데, 천이되는 전후 상태의 코드가 한 비트만 다르도록 할당하면 과도적인 중간상태 없이 상태천이가 일어난다.
예를 들면, 먼저 IDLE 상태(27)를 0000으로 할당한다.
이 상태(27)에서는 인터럽트가 완료 또는 인터럽트 버스가 사용중이면 다시 반복하여 수행하며, 인터럽트 송신요구가 있고 인터럽트 버스 유휴상태이면 중재과정을 수행한다.
이 중재과정을 수행하는 조건에 만족된다면 먼저 ARB1 상태(28)로 상태가 천이되고 이때 할당비트의 값은 0001이 된다.
다음의 중재는 상기 ARB1 상태(28)에서 ARB2 상태(29)로 천이되며, 이 상태에 대한 할당비트의 값은 0001로서 0001과 한 비트 다르게 할당된다.
다음 ARB3 상태(30)의 할당비트의 값은 0010로서 한 비트 다르게 할당된다.
상기 ARB3 상태(30)의 할당비트의 값 0010과 한 비트 다르게 ARB4 상태(31)의 할당비트 값은 0110로 할당하여 중재를 수행한다.
그리고, 상기 ARB4 상태(31)의 할당비트 값 0110과 한 비트 다르게 ARB5 상태(32)의 할당비트 값을 0111로 할당하여 중재를 수행한다.
상기 ARB5 상태(32)의 중재가 성공하면 메시지 송신 또는 메세지 전송완료를 실행하는 SEND 상태(33)로 진행하고, 반면에, 중재가 실패하면, 상기 IDLE 상태(27)로 천이한다.
제4도는 이상과 같은 방법으로 중재과정인 ARB1 상태(28), ARB2 상태(29), ARB3 상태(30), ARB4 상태(31) 및 ARB5 상태(32)를 천이 전후에 오직 한 비트만 다르게 할당한 예를 나타낸 것이다.
IDLE 상태(27)에서 ARB1 상태(28)로 천이되는 과정과, RETRY 상태(37)에서 ARB1 상태(28)로 천이되는 과정 및 중재를 마치고 ARB5 상태(32)에서 SEND 상태(33)나 IDLE 상태(27)로 천이되는 과정은 순간적으로 글리치가 발생하여도 무방하다.
또한, 그 이외의 상태에서도 하나의 동작이 연속되지 않으므로 순간적으로 글리치가 발생하여도 무방하다.

Claims (1)

  1. 프로세서간 인터럽트의 전송을 위하여 인터럽트 버스의 사용권을 얻는 중재과정에서, 인터럽트 버스중재 정보를 글리치 없이 안정적으로 구동하기 위하여 다섯단계의 중재과정을 나타내는 각 상태 사이에서 천이가 일어나는 전후 상태의 코드가 한 비트만 다르게 상태를 할당하는 것을 특징으로 하는 안정적인 버스중재 정보 구동을 위한 상태 할당방법.
KR1019940012743A 1994-06-07 1994-06-07 안정적인 버스 중재정보 구동을 위한 상태 할당방법(State assignment for stable drive of bus arbirtation information) KR970002399B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940012743A KR970002399B1 (ko) 1994-06-07 1994-06-07 안정적인 버스 중재정보 구동을 위한 상태 할당방법(State assignment for stable drive of bus arbirtation information)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940012743A KR970002399B1 (ko) 1994-06-07 1994-06-07 안정적인 버스 중재정보 구동을 위한 상태 할당방법(State assignment for stable drive of bus arbirtation information)

Publications (2)

Publication Number Publication Date
KR960001994A KR960001994A (ko) 1996-01-26
KR970002399B1 true KR970002399B1 (ko) 1997-03-05

Family

ID=19384794

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940012743A KR970002399B1 (ko) 1994-06-07 1994-06-07 안정적인 버스 중재정보 구동을 위한 상태 할당방법(State assignment for stable drive of bus arbirtation information)

Country Status (1)

Country Link
KR (1) KR970002399B1 (ko)

Also Published As

Publication number Publication date
KR960001994A (ko) 1996-01-26

Similar Documents

Publication Publication Date Title
AU620318B2 (en) Arbitration technique for a split transaction bus in a multiprocessor computer system
US4864496A (en) Bus adapter module for interconnecting busses in a multibus computer system
US4720784A (en) Multicomputer network
US4979097A (en) Method and apparatus for interconnecting busses in a multibus computer system
EP0196911B1 (en) Local area networks
US4609995A (en) Priority controller
EP0013739B1 (en) Communication controller in a data processing system
EP0374521A2 (en) Least recently used arbiter with programmable high priority mode and performance monitor
US4630041A (en) Enhanced reliability interrupt control apparatus
JP2561759B2 (ja) マルチプロセッサシステムおよびそのメッセージ送受信制御装置
EP0786726A2 (en) Interrupt sharing technique for PCMCIA cards
US4384322A (en) Asynchronous multi-communication bus sequence
US4858234A (en) Method and apparatus for error recovery in a multibus computer system
EP0731583A1 (en) Method and system for routing messages in a multi-node data communication network
US4837767A (en) Bus adapter module with improved error recovery in a multibus computer system
US4433376A (en) Intersystem translation logic system
KR970002399B1 (ko) 안정적인 버스 중재정보 구동을 위한 상태 할당방법(State assignment for stable drive of bus arbirtation information)
GB1595471A (en) Computer system
EP0180299B1 (en) Error detection system for a data processing apparatus
KR970002400B1 (ko) 다중프로세서 인터럽트 요청기에서의 인터럽트 송신 및 완료 제어방법(Control scheme of interrupt go and done in a multiprocessor interrupt requester)
KR960015586B1 (ko) 다중프로세서 인터럽트 요청기에서의 전송 실패 인터럽트의 구동방법
CN1143779A (zh) 使用改进型自编码分配中断仲裁技术的多处理机系统
KR950010947B1 (ko) 버스 프로토콜 맵핑 회로
KR930004903B1 (ko) 데이타 버스를 이용한 프로세서간 병렬 데이타 통신시스팀 및 통신방법
KR100199029B1 (ko) 펜티엄 프로세서를 위한 인터럽트 제어기

Legal Events

Date Code Title Description
A201 Request for examination
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: 20080303

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee