KR0155269B1 - 버스 중재방법 및 그 장치 - Google Patents

버스 중재방법 및 그 장치

Info

Publication number
KR0155269B1
KR0155269B1 KR1019950000622A KR19950000622A KR0155269B1 KR 0155269 B1 KR0155269 B1 KR 0155269B1 KR 1019950000622 A KR1019950000622 A KR 1019950000622A KR 19950000622 A KR19950000622 A KR 19950000622A KR 0155269 B1 KR0155269 B1 KR 0155269B1
Authority
KR
South Korea
Prior art keywords
bus
signal
request
processor
priority
Prior art date
Application number
KR1019950000622A
Other languages
English (en)
Other versions
KR960029991A (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 KR1019950000622A priority Critical patent/KR0155269B1/ko
Priority to CN95115357A priority patent/CN1095132C/zh
Priority to US08/539,039 priority patent/US5680554A/en
Priority to JP7277747A priority patent/JPH08263312A/ja
Publication of KR960029991A publication Critical patent/KR960029991A/ko
Application granted granted Critical
Publication of KR0155269B1 publication Critical patent/KR0155269B1/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
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines

Abstract

버스중재방법 및 그 장치를 개시한다. 본 발명은, 버스요구 프로세서들로부터 발생하는 시스템버스 요구신호들을 검출하여 우선 순위를 비교하는 단계와, 상기 버스 요구 프로세서들 중 우선 순위가 높은 버스요구 프로세서에 버스 사용권을 부여하는 단계와, 상기 버스요구 프로세서들 중에서 버스 사용권을 획득한 프로세서가 다시 버스사용을 요구하는 경우에, 이미 버스 중재에 참가하고 있는 버스 요구 프로세서가 둘 이상일 때는 버스 중재에 참가하지 못하게 하고, 버스 중재에 참가하고 있는 버스요구 프로세서가 없거나 하나만 있을 때는 버스 중재에 참가할 수 있게 하는 단계 및 상기 버스 중재에 참가한 버스요구 프로세서들의 버스사용에 대한 우선 순위가 가장 높은 프로세서에게 버스 사용권을 부여하는 단계를 구비하여, 우선권에 앞서 모든 프로세서에 동등권을 보장함으로써 버스사용 대기시간을 대폭 감소시킬 수 있다.

Description

버스중재방법 및 그 장치
제1도는 동등권을 제공하는 종래 기술의 중재 장치(U.S 5280591)를 설명하기 위한 블록도를 도시한 것이다.
제2도는 우선권을 보장하는 종래 기술의 다른 중재 장치(U.S 5,307,466)를 설명하기 위한 블록도를 도시한 것이다.
제3도는 본 발명에 의한 버스 중재방법을 설명하기 위한 흐름도를 도시한 것이다.
제4도는 제3도의 버스 중재방법에 따른 본 발명에 의한 버스 중재기의 구성을 설명하기 위한 개략도를 도시한 것이다.
제5도는 제4도의 중재기들 중 어느 하나에 대한 구성을 설명하기 위한 블록도를 도시한 것이다.
제6도는 제5도의 본 발명에 의한 버스중재기를 더 상세히 설명하기 위한 상세 블록도를 도시한 것이다.
제7도는 제5도 및 제6도의 본 발명에 의한 버스 중재기의 동작을 상세히 설명하기 위한 흐름도를 도시한 것이다.
제8a ∼ j도는 제5도 및 제6도의 본 발명에 의한 버스 중재기의 동작을 설명하기 위한 파형도를 도시한 것이다.
제9a ∼ h도는 제5도 및 제6도의 요구신호 발생부의 시스템버스의 사용상태를 검사하는 동작을 설명하기 위한 파형도이다.
제10a ∼ k도는 제5도 및 제6도의 우선 순위 비교부의 우선 순위 비교동작을 설명하기 위한 파형도를 도시한 것이다.
본 발명은 멀티 프로세싱 시스템에 있어서, 복수개의 프로세서와 공통의 자원을 중재하는 중재 장치에 관한 것으로, 특히 분산 중재방식을 이용한 버스중재방법 및 그 방법을 이용한 장치에 관한 것이다.
일반적으로, 멀티 프로세싱 시스템(Multi-processing system)은 여러 개의 프로세서를 사용하여 동시에 여러 작업을 수행하는 시스템이다. 이때, 여러 개의 프로세서를 구성하는 방식은 여러 개의 프로세서와 기타의 자원을 공통의 버스로 연결하는 방식과 통신 링크에 의해 연결하는 방식이 있다. 이러한, 멀티 프로세싱 시스템에서는 여러 개의 프로세서가 공통의 자원을 사용하는 경우 여러 프로세서가 동시에 공통의 자원의 사용을 요구할 때 자원 사용권을 할당하는 중재법이 요구된다.
중재 방법은 집중 중재 방식과 분산 중재 방식으로 나누어진다. 집중 중재 방식은 하나의 중재기가 여러 프로세서의 자원할당 요구를 일괄적으로 처리하는 방식이고, 분산 중재 방식은 각 프로세서마다 중재기가 존재하여 자원할당을 요구하는 프로세서는 현재 자원 사용 상태를 검사한 후, 정해진 알고리즘에 의하여 중재가 수행되어 자원을 사용하는 방식이다. 중재시에 사용되는 알고리즘은 공통 자원 할당권을 결정한다. 공통 자원할당권은 동등권(Fairness)과 우선권(Priority),으로 나눌 수 있는데, 동등권은 모든 프로세서가 공통 자원을 동등하게 사용할 수 있는 것이고, 우선권은 공통 자원을 사용할 수 있는 권리의 순서가 정해져 있다. 상술한 집중 중재 방식에 의한 종래의 중재 장치를 제1도를 참조하여 설명하면 다음과 같다.
제1도는 동등권을 제공하는 종래 기술의 중재 장치(U.S 5280591 : Centralize d backplane bus arbeter for multiprocessor systems of IBM)를 설명하기 위한 블록도를 도시한 것이다.
동등권을 제공하는 종래의 중재 장치는 제1차 중재기(10A, 10B)들과 제2차 중재기(20)로 구성되어 있다.
동작을 살펴보면, 제1차 및 제2차 중재기(10, 20)들은 라운드로빙(round robin)방식에 의해 각 프로세서에게 동등권을 보장한다. 이때, 라운드로빙 방식이란 모든 프로세서에게 같은 사용권을 할당하고 돌아가면서 버스 사용을 승인하는 방식이다. 그런데, 집중 중재 방식에 의한 하나의 중재기에서 버스 중재를 수행하므로 버스 요구 신호 송신, 요구신호 인지, 중재, 승인신호 송신, 승인신호 수신 및 요구 신호해제, 버스 드라이버 지연시간 등으로 인해 속도가 저하되는 요인이 된다. 또한, 중재기가 고장나면 전체 시스템이 정지한다는 문제점이 있었다. 또한, 라운드로빙 방식으로 동등권을 제공할 경우에는 일단 사용한 프로세서는 다른 프로세서들이 모두 사용한 뒤 사용권이 생기므로 대기 시간이 길어진다.
따라서, 이를 방지한다고 하더라도 우선권이나 현재 프로세서들의 요구신호를 검사하는 등의 다른 처리방식이 추가되어짐에 따라 복잡도가 증가하고 처리 속도가 낮아진다는 단점이 있다. 이어서, 분산 중재 방식에 의한 종래의 중재 장치를 제2도를 참조하여 설명하면 다음과 같다.
제2도는 우선권을 보장하는 종래 기술의 한 발명(U.S 5,307,466 : Distributed programmable priority arbitration of IBM)을 설명하기 위한 블록도를 도시한 것이다.
우선권을 보장하는 종래의 중재 장치는 분산 중재 방식을 이용한 것으로, 우선권 설정시 프로그램화하여 변경이 가능하다. 중재기(40)는 버스(50)를 통해 입력되는 버스 요구 신호들과 프로세서들(60A, 60B, 60C)의 우선 순위 번호를 배타 논리합 연상하여 버스 사용 우선권을 결정한다. 이러한 배타 논리합 연산을 수행할 때마다 하나의 시스템 버스 클럭을 사용하므로 중재로 인한 시스템 속도의 저하를 가져온다. 또한, 동등권이 보장되지 못하므로 동시에 여러 개의 요구 신호가 발생 시에 우선 순위가 낮은 프로세서는 항상 대기해야 하는 문제점이 있었다. 또한, 우선 순위를 프로그램화함에 따른 자원 낭비와 노력이 수반된다.
따라서, 본 발명의 목적은 우선권을 보장하기에 앞서 동등권을 부여하여 버스 사용 대기 시간을 짧고 중재 속도를 향상시킬 수 있는 버스 중재방법을 제공하는데 있다.
또한, 본 발명의 다른 목적은 그 방법을 이용한 버스 중재기를 제공하는데 있다.
상술한 본 발명의 목적을 달성하기 위한 버스 중재방법은, 버스요구 프로세서들로부터 발생하는 시스템버스 요구신호들을 검출하여 우선 순위 비교하는 단계; 상기 버스요구 프로세서들 중 산기 우선 순위가 높은 버스요구 프로세서에 버스 사용권을 부여하는 단계; 상기 버스요구 프로세서들 중에서 버스 사용권을 획득한 프로세서가 다시 버스사용을 요구하는 경우에, 이미 버스 중재에 참가하고 있는 버스요구 프로세서가 둘 이상일 때는 버스 중재에 참가하지 못하게 하고, 버스 중재에 참가하고 있는 버스요구 프로세서가 없거나 하나만 있을 때는 버스 중재에 참가할 수 있게 하는 단계; 및 상기 버스 중재에 참가한 버스요구 프로세서들의 버스사용에 대한 우선 순위가 가장 높은 프로세서에게 버스사용권을 부여하는 단계를 구비한 것을 특징으로 한다.
그리고 상기 버스사용권 우선 순위를 비교단계는 우선 순위가 낮더라도 최우선으로 버스 사용을 하기 위해, 최우선 순위를 가지는 대기신호가 발생되었는지를 먼저 검사하는 단계를 더 구비하며, 상기 대기신호가 발생되어 있지 않을 때 버스 사용 우선 순위를 비교하는 단계임을 특징으로 하고, 상기 버스사용권 부여단계는 상기 대기신호가 발생되었으면 상기 대기신호를 발생한 프로세서에게 버스 사용권을 우선적으로 부여함을 특징으로 한다.
또한, 상술한 본 발명의 다른 목적을 달성하기 위한 버스 중재기는, 버스요구 프로세서로부터 발생되는 시스템버스 요구신호를 검출하고, 버스사용을 원할 경우 상기 버스요구신호가 없거나 하나만 있을 때에 시스템버스 사용 요구신호를 생성하는 요구신호 처리수단; 및 상기 요구신호 처리수단에서 출력되는 시스템 버스 사용 요구신호와 다른 버스요구 프로세서들의 버스요구신호들에 대해 버스 사용 우선순위를 비교하여 우선순위가 가장 높은 프로세서에게 버스 사용권을 부여하는 우선순위 비교수단을 구비한 것을 특징으로 한다.
상기 요구신호 처리수단은 시스템 버스 요구신호를 검출하는 요구신호 검출수단; 및 상기 검출된 신호에 응답하여, 다른 버스요구프로세서들이 발생한 버스요구신호가 없거나 하나만 있을 경우 시스템버스 사용요구신호를 발생하는 버스 요구신호 발생수단을 구비함을 특징으로 한다.
그리고 우선순위가 낮더라도 최우선으로 버스 사용을 하기 위해, 최우선순위를 가지는 대기신호를 등록하는 대기신호발생레지스터를 더 구비하고, 상기 우선순위 비교수단은 상기 대기신호발생레지스터에 대기신호 발생이 등록되었으면, 대기신호 발생 프로세서에게 버스사용을 양보하게 함을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하고자 한다.
본 발명에 의한 버스 중재방법은 복수개의 프로세서에 의하여 공통의 자원이 중재되는 분산 중재방식이며, 특히 공통 자원과 연결되는 시스템버스들을 사용하기 위하여 복수개의 프로세서들의 내부버스와 상기 시스템버스를 중재하기 위한 버스 중재방법으로, 시스템버스 사용에 대한 동등권과 우선권을 동시에 보장한다. 좀 더 상세히 설명하기 위하여 제3도를 참조하면 다음과 같다.
제3도는 본 발명에 의한 버스 중재방법을 설명하기 위한 흐름도를 도시한 것이다.
본 발명에 따른 버스 중재방법은, 시스템버스를 요구하는 해당 프로세서들로부터 발생하는 시스템버스 요구신호들을 검출하고, 상기 검출된 시스템버스 요구신호들 중 버스 중재를 위하여 시스템버스를 요구하는 적어도 하나의 프로세서에 버스 사용권을 부여한다[버스 요구신호 검출 및 버스 사용권 부여단계(100)]. 상기 버스요구 프로세서들 중에서 버스 사용권을 획득한 프로세서가 다시 버스 사용을 요구하는 경우에, 버스 중재에 참가한 버스요구 프로세서가 둘 이상일 때는 버스 중재에 참가하지 못하도록 버스 사용권을 제한한다[버스 사용권 검사단계(200)]. 상기와 같은 버스중재 참가 제한을 통과한 버스요구 프로세서들의 버스요구신호들 중에서 현재 시스템버스를 사용할 프로세서를 선택하기 위해, 버스요구 프로세서들의 우선순위를 비교하여 해당 프로세서의 우선순위가 최우선 순위인지를 판단한다[우선순위 비교단계(300)]. 상기 비교단계(300)에서 해당 프로세서가 최우선 순위이면, 시스템버스 사용을 허락한다[버스 사용단계(400)].
이상에서, 우선권이 높은 프로세서라도 한 번 시스템버스 사용권을 부여받았으면, 현재 시스템버스를 사용하기 위하여 대기중인 프로세서가 많으면 우선순위 비교범위에 들어갈 수가 없다. 따라서, 모든 프로세서에 버스 사용에 대한 동등권을 보장하고 일단 우선순위 비교범위에 들어가면 각 프로세서의 우선순위를 비교하여 우선순위 비교범위내의 각 프로세서중 가장 우선순위가 높은 프로세서에 버스 사용권을 부여한다.
따라서, 본 발명에 의한 버스 중재방법은 버스 사용에 관한 동등권과 우선권을 동시에 보장한다.
제4도는 제3도의 버스 중재방법에 따른 본 발명에 의한 버스중재기를 설명하기 위한 개략도를 도시한 것이다.
본 발명에 의한 버스중재기들(80)은 여러 개의 프로세서들(70)에 연결되어 내부버스들과 시스템 버스(90)사이에 각각 배치된다.
제5도는 제4도의 중재기들(80)중 어느 하나에 대한 블록도를 도시한 것으로, 본 발명에 의한 버스중재기는 제4도의 대기중인 프로세서들(70)중 어느 하나의 프로세서의 내부 버스와 연결되는 내부버스 인터페이스부(110), 요구신호 처리부(120), 우선순위비교부(130) 및 신호전송부(140)로 구성되어 있다. 이때, 요구신호 처리부(120)는 요구신호 검출부(122), 요구신호 발생부(124) 및 요구발생 제어부(126)로 구성된다.
상기 내부버스 인터페이스부(110)는 대응되는 내부 클럭신호(LCLK)에 동기 되어 내부버스(95)로부터 NRQ, BRQ, RD 및 WR 신호들을 입력받아 대응 블록으로 요구프로세서번호(PREC#), 시스템어드레서(ADR#), 시스템 데이터 전송형태(TYPE#), 데이터크기(DSIZE#) 신호로 변환하여 출력하게 된다. 이때, NRQ신호는 데이터의 기본 단위 전송 요구신호를 말하며, BRQ신호는 데이터 기본 단위의 정수배만큼의 데이터 전송 요구신호를 말하며, RD신호는 요구 프로세서가 시스템 메모리로부터 데이터를 읽기 위한 읽기 신호를 말하며, WR신호는 요구 프로세서가 시스템 메모리에 데이터를 쓰기 위한 쓰기 신호를 말하며, SLOT신호는 시스템버스(150)로부터 입력되는 우선순위 결정신호를 말하는 것이고, 프로세서가 시스템에 장착되는 장착 위치에 따라 우선순위가 결정된다. 따라서, 해당 프로세서의 장착 위치를 변경함으로써 우선순위를 변경할 수 있다. 이때, 요구신호 검출부(112)는 대응되는 프로세서의 내부 클럭신호(LCLK)에 동기되어 내부버스 인터페이스부(110)로부터 상기 NRQ 혹은 BRQ 신호를 검출한 경우 req신호를 발생시켜 요구발생 제어부(116) 및 요구신호 발생부(114)에 출력한다. 요구발생 제어부(116)는 상기 req신호가 발생하는 경우 요구신호 발생을 알리는 JOBSTART신호를 발생하고, 프로세서의 요구 수행이 끝나서 NRQ 혹은 BRQ신호가 해제된 경우 JOBEND신호를 발생하여 다음 동작을 준비시킨다. 요구신호 발생부(114)는 내부버스 동기신호(LCLK)에 동기되어 상기 req신호와 JOBSTART 신호를 입력받아 시스템버스(150)로부터 대응되는 다른 프로세서들의 시스템버스(150)사용상태를 표시하는 시스템응답신호들(SYSREQ#)을 입력받아 시스템버스(150)의 사용상태를 검사한다. 이때, 상기 시스템응답신호들인 SYSREQ#신호는 대응되는 각 프로세서들의 시스템 버스 요구신호를 말하는 것으로, 각 프로세서마다 다른 값을 갖는다. 따라서, 요구신호 발생부(114)는 자신의 고유의 SYSREQ#신호를 발생하며, 또한 시스템버스(150)를 사용하고 있는 버스요구 프로세서가 없거나 하나만 있을 경우, 시스템버스 중재 동기신호(ARBCLK)에 동기되어 REQ신호를 발생하여 우선순위 비교부(130)에 출력한다. 이때, 우선순위 비교부(130)의 상기 시스템버스(150)를 사용하도록 허락된 WIN신호가 발생되면 자신 고유의 SYSREQ 신호는 해제되어 우선순위 비교범위에서 빠져 나온다. 우선순위 비교부(130)는 시스템버스 중재 동기신호(ARBCLK)에 동기 되어 SLOT신호를 입력받아 상기 REQ 신호가 입력되는 경우 먼저 대기신호가 발생되었는지를 검사한다. 만일 어느 한 프로세서가 최우선순위로 사용하기 위해 대기신호를 발생하면 그 외 프로세서는 우선순위가 높다 하여도 버스사용을 양보한다. 우선순위 비교시 대기신호를 발생하는 프로세서는 자신의 레지시터에 최우선순위 프로세서 비트를 저장하여 버스를 사용하며 대응되는 다른 프로세서들의 신호가 우선순위에서 이긴 경우 WIN신호를 발생한다.
이때, 상기 WIN 신호는 시스템 버스 사용신호로 WIN 신호가 발생되면, 해당 프로세서가 시스템버스(150)를 사용할 수 있게 된다. 이때, 신호전송부(140)는 상기 WIN 신호가 발생되는 경우, 해당 요구프로세서가 시스템버스(150)를 사용할 수 있도록 내부버스 동기신호(LCLK)에 동기되어 시스템버스(150)를 사용하기 위한 신호들을 내부버스 인터페이스부(110)로부터 입력받아 시스템버스 중재 클럭신호(ARBCLK)에 동기되어 시스템버스(150)에 출력한다.
제6도는 제5도의 본 발명에 의한 분산 버스중재기를 더 상세히 설명하기 위한 상세 블록도를 도시한 것이다. 제5도와 동일한 부분은 동일한 도면부호로 처리하고 설명의 중복을 피하고자 한다.
제6도의 신호전송부(140)는 요구프로세서번호 발생부(142), 시스템 어드레스 발생부(144), 시스템데이타 전송형태발생부(146) 및 데이터 크기 발생부(146)로 구성되어 있다. 요구프로세서 번호발생부(142)는 우선순위 비교부(130)의 WIN 신호가 입력되는 경우 해당 요구프로세서 번호(PROC#)를 시스템버스(150)에 출력한다. 이때, 해당 요구프로세서 번호(PROC#)는 SLOT 신호에 의해 내부버스 인터페이스부(110)를 통해 결정된다. 시스템 어드레스 발생부(144)는 상기 WIN 신호가 발생하는 경우 시스템 어드레스(ADR#)를 시스템버스(150)에 출력하며, 데이터크기발생부(147)는 시스템버스(150)로 전송하기 위한 데이터의 크기(비트 수)를 나타내는 것으로서, 내부버스 인터페이스부(110)로부터 입력받아 시스템버스(150)로 출력한다. 이때, 시스템 어드레스(ADR#)는 시스템버스(150)를 획득한 해당 프로세서가 읽거나 쓰고자 하는 메모리 어드레스를 말한다. 시스템 데이터전송형태 발생부(146)는 시스템버스(150)를 획득한 해당 프로세서가 읽거나 쓰고자 하는 데이터 전송형태를 말하는 것으로, 내부버스 인터페이스부(110)로부터 입력받아 시스템버스(150)에 출력한다. 이때, 상술한 신호들은 내부버스(95)로부터 입력되는 신호를 조합회로 혹은 순차회로를 추가하고 변경함으로써 변경될 수 있다. 도한, 대응되는 프로세서의 내부버스로부터 내부버스 인터페이스부(110)를 통해 신호 변환을 하지 않고 신호 전송부(140)에서 직접 신호들을 발생할 수 있다.
제7도는 제5도 및 제6도의 본 발명에 의한 버스 중재기의 동작을 상세히 설명하기 위한 흐름도를 도시한 것이다.
내부버스(95)로부터 데이터 전송 요구신호 들인 NRQ 혹은 BRQ신호가 내부버스 인터페이스부(110)에 입력되고 이를 요구신호검출부(122)에 전달한다[NRQ 혹은 BRQ 신호 수신단계(710)]. 이어서, 요구신호 검출부(122)는 내부버스 인터페이스부(110)로부터 상기 NRQ 혹은 BRQ 신호가 입력된 것이 검출되면 내부버스 요구신호로서 req신호를 발생시킨다[req 신호 발생단계(715)]. 이어서, 요구발생 제어부(126)는 상기 req 신호에 응답하여 JOBSTART 신호를 발행한다[JOBSTART 신호 발생단계(520)]. 이어서, 요구신호 발생부(124)는 요구발생 제어부(126)로부터 JOBSTART 신호가 발생되었는지 혹은 JOBEND 신호가 발생되었는지 검사한다[JOBSTART 및 JOBEND 신호 검사하는 단계(725)]. 상기 JOBSTART 및 JOBEND 신호 검사하는 단계(725)에서 JOBSTART 신호가 발생되었으면 REQ 신호를 발생하여 시스템버스 우선순위 비교부(130)에 출력한다. [REQ 신호 발생단계(730)]. 이어서, 시스템버스(150)상에 해당 프로세서와 대응되는 SYSREQ# 신호를 발생한다[SYSREQ 신호 발생단계(735)]. 시스템버스(150)로부터 다른 프로세서들에 대응되는 SYSREQ# 신호들을 수신하고 버스요구 상태를 검사한다. 즉, 현재 시스템버스(150)를 요구하는 프로세서가 없거나 혹은 하나인지를 알기 위해, 시스템버스 우선순위 비교부(130)에서 다른 버스요구 프로세서의 모든 SYSREQ# 검사한다[다른 SYSREQ# 수신 및 버스요구 상태 검사하는 단계(740)].
그리고 나서 우선순위를 비교하기 전에 먼저, 대기신호가 발생되었는지를 검사한다[대기신호 판단단계(740a)]. 상기 대기신호 발생은 어느 한 프로세서가 버스를 최우선 순위로 사용하기 위해 발생하는 신호로서, 대기신호 발생레지스터에 등록된다. 상기 대기신호가 발생되면 그 외 프로세서는 우선순위가 높다 하여도 자신의 대기신호 발생 레지스터에 발생 비트가 설정되어 있지 않으면 버스사용을 양보한다.
시스템버스 우선순위 비교부(130)는 상기 대기신호를 검사하여 대기신호가 없으면, SYSREQ# 신호와 상기 SLOT# 신호의 우선 순위를 비교하여 해당 프로세서가 최우선 순위인지를 판단한다[우선순위 비교단계(745)].
이어서, 상기 비교단계(745)에서 해당 프로세서가 최우선 순위이면 시스템버스 사용신호로서 WIN신호를 발생한다[WIN 신호 발생단계(750)].
이어서, 시스템버스(150)를 사용하기 위한 신호들(PROC#, ADR#, TYPE#, DSIZE#)을 내부버스 인터페이스부(110)로부터 입력받아 신호전송부(140)의 요구프로세서번호 발생부(142), 시스템어드레스 발생부(144) 및 시스템데이타 전송형태 발생부(146)를 통해 시스템버스(150)상에 출력한다[PROC#, ADR#, TYPE#, 및 DSIZE# 신호 해제단계(760)]. 이어서, 해당 프로세서가 중재기가 다음 동작을 준비하도록 하기 위한 JOBEND 신호를 발생한다.[JOBEND 신호 발생단계(765)].
제8a ∼ j도는 제5도 및 제6도의 본 발명에 의한 버스 중재기의 각 블록의 파형도를 도시한 것이다.
제8a도는 시스템버스 중재 클럭신호(ARBCLK)를 나타내는 파형도이고, 제8b도는 내부버스 클럭신호(LCLK)를 나타내는 파형도이고, 제8c도는 시스템버스(150)를 사용하기 위하여 대응되는 프로세서와 연결된 내부버스(95)를 통해 요구신호 검출부(122)에 전송되는 데이터전송 요구신호(NRQ 혹은 BRQ)(61)을 나타내는 파형도이고, 제8d도는 요구신호 검출부(122)에서 데이터 전송 요구신호(NRQ 혹은 BRQ)를 검출한 경우 발생하는 검출신호 req 신호를 나타내는 파형도이고, 제8e도는 요구발생 제어부(126)에서 상기 검출신호 req 신호가 입력되는 경우 중재 시작을 알리는 JOBSTART 신호를 나타내는 파형도이고, 제8f도는 상기 JOBSTART 신호를 발생한 후 대응되는 프로세서의 시스템버스 요구 수행이 끝난 후 요구신호 발생부(124)가 다음 시스템버스 요구발생시 다음 동작을 준비하도록 동작 제어하는 요구발생 제어부(126)에서 발생되는 JOBEND 신호를 나타내는 파형도이고, 제8g도는 요구신호 발생부(124)에서 발생되는 REQ 신호를 나타내는 파형도이고, 제8h도는 우선순위 비교부(130)에서 발생되는 WIN 신호를 나타내는 파형도이고, 제8i도는 요구신호 발생부(130)에서 발생되는 SYSREQ 신호를 나타내는 파형도이고, 제8j도는 신호전송부(140)에서 시스템버스(150)로 전송되는 신호들(PROC#, ADR#, TYPE#, DSIZE#)을 전송하는 트랜시버를 제어하는 신호의 파형도이다.
제9a ∼ h도는 제5 및 제6도의 요구신호 발생부(124)의 상기 SYSREQ# 신호를 입력받아 시스템버스(150)의 사용상태를 검사하는 동작을 설명하기 위한 파형도이다. 이때, 제9a도는 시스템버스 중재 클럭신호(ARBCLK)를 나타내는 파형도이고, 제9b ∼ f도는 각각 대응되는 시스템버스 응답신호들 SYSREQ1, SYSREQ2, ....... , SYSREQN를 나타내는 파형도이고, 제9g도는 req 신호를, 제9h도는 해당 시스템버스 응답신호 SYSREQ2를 나타내는 파형도이다. 이때, 대응되는 프로세서가 2번 슬롯으로 시스템버스 응답신호 SYSREQ2를 발생한다고 가정하자. 요구신호 발생부(124)에서 req 및 JOBSTART 신호가 입력되면 제9a도의 시스템버스 중재 클럭신호(ARBCLK)의 첫 번째 하강 모서리(81)에서 다른 시스템버스 응답신호들(SYSREQ1, SYSREQ2, ....... , SYSREQN)을 입력받아 현재 시스템버스 사용상태를 검사한다. 시스템버스 중재 클럭신호(ARBCLK)의 첫 번째 하강모서리(91)에서 시스템 응답신호 SYSREQ0 및 SYSREQ1이 시스템버스 상에 나타나고, 이에 따라서 대응되는 요구신호 발생부(124)는 시스템버스를 요구하는 프로세서가 2개이므로 REQ 신호를 발생하지 못한다. 이때, 시스템버스 중재 클럭신호(ARBCLK)의 두 번째 하강모서리(92)에서는 시스템 응답신호 SYSREQ1만이 시스템버스 상에 나타나므로 대응되는 요구신호 발생부(124)는 자신 고유의 시스템버스 응답신호 ,SYSREQ2를 시스템버스 중재 클럭신호(ARBCLK)의 다음 상승모서리(93)에서 시스템버스 상에 출력한다. 이어서, 해당 프로세서는 우선순위 비교부(130)에 의해 우선순위 범위에 참가하게 된다. 다른 프로세서의 버스 중재기도 이와 같은 방법으로 우선순위 비교범위에 참가할 수 있게 된다. 따라서, 우선순위가 낮은 프로세서인 경우에도 시스템버스를 사용할 수 있는 동등권이 보장된다. 이때, 우선순위가 해당 프로세서가 우선순위가 높다면 우선순위 비교부(130)에 의해 우선순위 비교를 행하게 되고 WIN 신호를 발생하여 시스템버스를 사용할 수 있게 된다.
제10도는 요구신호 발생부(124)에 의해 REQ 신호가 발생된 후, 우선순위 비교부(130)의 우선순위 비교 동작을 설명하기 위한 파형도를 도시한 것이다. 제10a도는 시스템버스 중재 클럭신호(ARBCLK)를, 제10b ∼ g도는 시스템버스상의 시스템버스 응답신호들 SYSREQ0, SYSREQ1, SYSREQ2, ....... , SYSREQN을, 제10h도는 REQ 신호를, 제10i도는 WIN 신호를, 제10j도는 시스템버스 사용신호들(PROC#, ADR#, TYPE#, DSIZE#)을, 제10k도는 대기신호를 나타내는 파형도를 도시한 것이다.
먼저, 대응되는 프로세서의 시스템버스 응답신호는 SYSREQ2라 가정하고 우선순위는 SYSREQN .... SYSREQ3 SYSREQ2 SYSREQ1 이라 하자. 제9a도의 시스템버스 중재 클럭신호(ARBCLK)의 첫 번째 하강모서리(101)에서 우선순위 비교부(130)는 우선순위 비교를 행하게 되는데, 먼저 대기신호를 검사하여 다른 프로세서가 최우선순위요구를 하지 않을 경우에, 우선순위비교에 들어간다. 만일 어느 한 프로세서가 대기신호를 발생하여 최우선순위 요구를 한 경우, 그 외의 프로세서들은 버스사용을 양보한다. 대기신호를 발생한 프로세서는 최우선 순위 요구레지스터에 비트를 정하여 우선순위 비교시 무조건 최우선순위로 버스를 사용할 수 있다. 또한 대기신호는 최우선 순위 요구기능이외에 버스 사용을 획득한 프로세서가 사용중인 버스를 통하여 데이터를 전송할 대 정상적인 프로토콜 유지를 위하여 다른 프로세서들의 중재를 지연시키는 기능을 갖고 있다.
이때, 시스템버스(150)상에 시스템버스 응답신호들 SYSREQ1, SYSREQ2, 및 SYSREQ3이 있으므로 해당 프로세서는 시스템버스(150)를 사용할 수 없다. 즉, 우선순위가 가장 높은 SYSREQ3에 대응되는 프로세서가 시스템버스(150) 사용권을 얻어서 시스템버스(150)를 사용하게 된다. 이어서, 두 번째 하강모서리(102)에서 비로소 SYSREQ3 신호가 해제되어 다음 우선순위가 높은 해당 프로세서가 시스템버스(150)를 사용할 수 있게 된다. 따라서, 우선순위 비교부(130)는 WIN 신호를 발생하게 된다.이어서, 신호전송부(140)는 시스템버스(150)를 사용하기 위한 시스템버스 사용신호(PROC#, ADR#, TYPE#)를 시스템버스(150)에 출력하여 해당 프로세서가 시스템버스(150)를 사용할 수 있도록 한다.
이상에서 살펴본 바와 같이 본 발명은 시스템버스를 사용하는 프로세서의 존재여부를 파악하고, 시스템버스를 사용하기 위하여 대기중인 프로세서들 중에서 대기신호를 사용하여 우선순위 비교범위에 참가하도록 하여 프로세서들의 우선순위에 따라 시스템버스를 사용할 수 있는 버스사용권을 부여한다. 즉, 시스템버스의 사용을 요구하는 프로세서에 동등권을 부여하고 일정 조건에 만족될 때, 각 프로세서들의 우선순위에 따라 시스템버스를 사용할 수 있도록 버스 사용권을 부여함으로써 시스템버스 사용에 대한 동등권과 우선권을 동시에 보장한다. 따라서, 우선권만을 혹은 동등권만을 부여하는 방식에서의 일부 프로세서의 시스템버스 사용대기시간이 지나치게 길어지는 단점을 개선하였다.

Claims (4)

  1. 버스요구 프로세서들로부터 발생하는 시스템버스 요구신호들을 검출하여 우선순위를 비교하는 단계; 상기 버스요구 프로세서들 중 우선순위가 높은 버스요구 프로세서에 버스 사용권을 부여하는 단계; 상기 버스요구 프로세서들 중에서 버스 사용권을 획득한 프로세서가 다시 버스사용을 요구하는 경우에, 이미 버스 중재에 참가하고 있는 버스요구 프로세서가 둘 이상일 때는 버스 중재에 참가하지 못하게 하고, 버스 중재에 참가하고 있는 버스요구 프로세서가 없거나 하나만 있을 때는 버스 중재에 참가할 수 있게 하는 단계; 및 상기 버스 중재에 참가한 버스요구 프로세서들의 버스사용에 대한 우선순위가 가장 높은 프로세서에게 버스사용권을 부여하는 단계를 구비한 것을 특징으로 하는 버스중재방법.
  2. 버스요구 프로세서로부터 발생되는 시스템버스 요구신호를 검출하고, 버스사용을 원할 경우 상기 버스 요구신호가 없거나 하나만 있을 때에 시스템버스 사용 요구신호를 생성하는 요구신호 처리수단; 및 상기 요구신호 처리수단에서 출력되는 시스템버스 사용 요구신호와 다른 버스요구 프로세서들의 버스요구신호들에 대해 버스 사용 우선순위를 비교하여 우선순위가 가장 높은 프로세서에게 버스 사용권을 부여하는 우선순위 비교수단을 구비한 것을 특징으로 하는 버스중재기.
  3. 제2항에 있어서, 상기 요구신호 처리수단은, 시스템버스 요구신호를 검출하는 요구신호 검출수단; 및 상기 검출된 신호에 응답하여, 다른 버스요구 프로세서들이 발생한 버스요구신호가 없거나 하나만 있을 경우 시스템버스 사용요구신호를 발생하는 버스 요구신호 발생수단을 구비함을 특징으로 하는 버스중재기.
  4. 제1항에 있어서, 상기 버스사용권 우선순위 비교단계는, 우선순위가 낮더라도 최우선으로 버스 사용을 하기 위해, 최우선순위를 가지는 대기신호가 발생되었는지를 먼저 검사하는 단계를 더 구비하며, 상기 대기신호가 발생되어 있지 않을 때 버스 사용 우선순위를 비교하는 단계임을 특징으로 하고, 상기 버스사용권 부여단계는, 상기 대기신호가 발생되었으면 상기 대기신호를 발생한 프로세서에게 버스 사용권을 우선적으로 부여함을 특징으로 하는 버스 중재방법.
KR1019950000622A 1995-01-16 1995-01-16 버스 중재방법 및 그 장치 KR0155269B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1019950000622A KR0155269B1 (ko) 1995-01-16 1995-01-16 버스 중재방법 및 그 장치
CN95115357A CN1095132C (zh) 1995-01-16 1995-08-14 总线仲裁方法及其总线仲裁器
US08/539,039 US5680554A (en) 1995-01-16 1995-10-04 Method and apparatus for arbitrating among processors for access to a common bus
JP7277747A JPH08263312A (ja) 1995-01-16 1995-10-25 バス仲裁方法及びその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950000622A KR0155269B1 (ko) 1995-01-16 1995-01-16 버스 중재방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR960029991A KR960029991A (ko) 1996-08-17
KR0155269B1 true KR0155269B1 (ko) 1998-11-16

Family

ID=19406782

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950000622A KR0155269B1 (ko) 1995-01-16 1995-01-16 버스 중재방법 및 그 장치

Country Status (4)

Country Link
US (1) US5680554A (ko)
JP (1) JPH08263312A (ko)
KR (1) KR0155269B1 (ko)
CN (1) CN1095132C (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100491949B1 (ko) * 2002-11-29 2005-05-30 전자부품연구원 공용 버스 중재 방법 및 이를 이용한 인터페이서간의데이터 전송 장치

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768544A (en) * 1996-09-26 1998-06-16 Intel Corporation Deterministic latency characterization and mitigation
KR19980026521A (ko) * 1996-10-10 1998-07-15 조진영 멀티 포트 메모리 비동기 중재 방법
US5983299A (en) * 1996-10-18 1999-11-09 Samsung Electronics Co., Ltd. Priority request and bypass bus
US5931931A (en) * 1997-04-04 1999-08-03 International Business Machines Corporation Method for bus arbitration in a multiprocessor system
US6954812B2 (en) * 2002-03-05 2005-10-11 Hewlett-Packard Development Company, L.P. Two-stage round robin arbitration system
EP1623535B1 (en) * 2003-05-05 2007-06-20 Philips Intellectual Property & Standards GmbH Error detection and suppression in a tdma-based network node
JP2006039672A (ja) * 2004-07-22 2006-02-09 Olympus Corp バス要求制御回路
US7725759B2 (en) * 2005-06-29 2010-05-25 Sigmatel, Inc. System and method of managing clock speed in an electronic device
US7447817B1 (en) * 2006-05-09 2008-11-04 Qlogic Corporation Method and system for processing arbitration requests
CN100514316C (zh) * 2007-07-11 2009-07-15 南京大学 基于片上多处理器系统的动态自适应总线仲裁器
CN101471856B (zh) * 2007-12-26 2011-01-12 无锡江南计算技术研究所 仲裁方法和仲裁器
CN114844839A (zh) * 2022-04-14 2022-08-02 重庆长安汽车股份有限公司 一种车载soa系统的服务调用请求仲裁方法

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4320467A (en) * 1980-02-25 1982-03-16 Raytheon Company Method and apparatus of bus arbitration using comparison of composite signals with device signals to determine device priority
US4785394A (en) * 1986-09-19 1988-11-15 Datapoint Corporation Fair arbitration technique for a split transaction bus in a multiprocessor computer system
US4816990A (en) * 1986-11-05 1989-03-28 Stratus Computer, Inc. Method and apparatus for fault-tolerant computer system having expandable processor section
US5068782A (en) * 1987-02-02 1991-11-26 Unisys Corp. Accessing control with predetermined priority based on a feedback arrangement
US5193197A (en) * 1987-09-24 1993-03-09 Digital Equipment Corporation Apparatus and method for distributed dynamic priority arbitration for access to a shared resource
US5388228A (en) * 1987-09-30 1995-02-07 International Business Machines Corp. Computer system having dynamically programmable linear/fairness priority arbitration scheme
US4920486A (en) * 1987-11-23 1990-04-24 Digital Equipment Corporation Distributed arbitration apparatus and method for shared bus
US5038274A (en) * 1987-11-23 1991-08-06 Digital Equipment Corporation Interrupt servicing and command acknowledgement system using distributed arbitration apparatus and shared bus
JP2633900B2 (ja) * 1988-04-22 1997-07-23 株式会社日立製作所 共通バス制御方法
US5349690A (en) * 1988-05-11 1994-09-20 Digital Equipment Corporation Fair arbitration scheme for arbitrating between multiple nodes in a computer system seeking control of a common bus
US5129090A (en) * 1988-05-26 1992-07-07 Ibm Corporation System bus preempt for 80386 when running in an 80386/82385 microcomputer system with arbitration
US5088024A (en) * 1989-01-31 1992-02-11 Wisconsin Alumni Research Foundation 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
US5274774A (en) * 1989-01-31 1993-12-28 Wisconsin Alumni Research Foundation First-come first-serve arbitration protocol
US5151994A (en) * 1989-11-13 1992-09-29 Hewlett Packard Company Distributed fair arbitration system using separate grant and request lines for providing access to data communication bus
EP0476175A1 (de) * 1990-09-20 1992-03-25 Siemens Aktiengesellschaft Einrichtung zum Betrieb eines Mehrprozessorsystems, insbesondere einer numerischen Steuerung
JPH0810445B2 (ja) * 1990-09-21 1996-01-31 インターナショナル・ビジネス・マシーンズ・コーポレイション 動的バス調停方法及び装置
US5261109A (en) * 1990-12-21 1993-11-09 Intel Corporation Distributed arbitration method and apparatus for a computer bus using arbitration groups
EP0523627A3 (en) * 1991-07-15 1993-08-25 Matsushita Electric Works, Ltd. Multi-cpu programmable controller
US5280591A (en) * 1991-07-22 1994-01-18 International Business Machines, Corporation Centralized backplane bus arbiter for multiprocessor systems
US5265223A (en) * 1991-08-07 1993-11-23 Hewlett-Packard Company Preservation of priority in computer bus arbitration
US5485586A (en) * 1992-01-10 1996-01-16 Digital Equipment Corporation Queue based arbitration using a FIFO data structure
ES2131065T3 (es) * 1992-03-27 1999-07-16 Cit Alcatel Disposicion de control de acceso.
US5307466A (en) * 1992-04-30 1994-04-26 International Business Machines Corporation Distributed programmable priority arbitration
US5420985A (en) * 1992-07-28 1995-05-30 Texas Instruments Inc. Bus arbiter system and method utilizing hardware and software which is capable of operation in distributed mode or central mode
US5430848A (en) * 1992-08-14 1995-07-04 Loral Fairchild Corporation Distributed arbitration with programmable priorities
US5404538A (en) * 1992-10-28 1995-04-04 International Business Machines Corporation Method and apparatus for multilevel bus arbitration
US5299196A (en) * 1992-11-12 1994-03-29 International Business Machines Corporation Distributed address decoding for bus structures
US5546548A (en) * 1993-03-31 1996-08-13 Intel Corporation Arbiter and arbitration process for a dynamic and flexible prioritization
US5509125A (en) * 1993-09-29 1996-04-16 Silicon Graphics, Inc. System and method for fair arbitration on a multi-domain multiprocessor bus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100491949B1 (ko) * 2002-11-29 2005-05-30 전자부품연구원 공용 버스 중재 방법 및 이를 이용한 인터페이서간의데이터 전송 장치

Also Published As

Publication number Publication date
US5680554A (en) 1997-10-21
CN1139241A (zh) 1997-01-01
JPH08263312A (ja) 1996-10-11
KR960029991A (ko) 1996-08-17
CN1095132C (zh) 2002-11-27

Similar Documents

Publication Publication Date Title
EP0581335B1 (en) Data processing system having units competing for access to shared resources and arbitration unit responsive to the status of the shared resources
US5276887A (en) Bus arbitration system for granting bus access to devices following two-wire bus arbitration protocol and devices following three-wire bus arbitration protocol
US5996037A (en) System and method for arbitrating multi-function access to a system bus
US5621897A (en) Method and apparatus for arbitrating for a bus to enable split transaction bus protocols
KR0153538B1 (ko) 데드록 검출과 마스킹을 내장하는 버스 중재구조
JP4008987B2 (ja) バス通信システム及びバス調停方法並びにデータ転送方法
US6141715A (en) Method and system for avoiding live lock conditions on a computer bus by insuring that the first retired bus master is the first to resubmit its retried transaction
KR0155269B1 (ko) 버스 중재방법 및 그 장치
US6820152B2 (en) Memory control device and LSI
US5469435A (en) Bus deadlock avoidance during master split-transactions
JPH028948A (ja) コンピュータ装置において資源へのアクセスを制御する方法および装置
JPH0623970B2 (ja) 複数バス・マイクロコンピユータ・システム
JP3519182B2 (ja) 情報処理システムおよびバスアービタならびにバス制御方法
US5740381A (en) Expandable arbitration architecture for sharing system memory in a computer system
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
WO1996013774A1 (en) Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
US5649209A (en) Bus coupling information processing system for multiple access to system bus
US4896266A (en) Bus activity sequence controller
US6697904B1 (en) Preventing starvation of agents on a bus bridge
US6959354B2 (en) Effective bus utilization using multiple bus interface circuits and arbitration logic circuit
EP1187029B1 (en) Peripheral component interconnect arbiter implementation with dynamic priority scheme
US7181558B2 (en) Avoidance of extended bus occupancy through simple control operation
JPH06149730A (ja) バスシステム,バス制御方式及びそのバス変換装置
KR100605867B1 (ko) 동적 우선순위 조정기능을 갖는 버스 중재기와 버스 중재방법
KR100243868B1 (ko) 주 전산기에서의 중재로직 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130628

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 17

EXPY Expiration of term