KR950011059B1 - 다중 프로세서 시스템의 버스중재기 - Google Patents

다중 프로세서 시스템의 버스중재기 Download PDF

Info

Publication number
KR950011059B1
KR950011059B1 KR1019920025396A KR920025396A KR950011059B1 KR 950011059 B1 KR950011059 B1 KR 950011059B1 KR 1019920025396 A KR1019920025396 A KR 1019920025396A KR 920025396 A KR920025396 A KR 920025396A KR 950011059 B1 KR950011059 B1 KR 950011059B1
Authority
KR
South Korea
Prior art keywords
arbitration
bus
signal
request signal
arbitration request
Prior art date
Application number
KR1019920025396A
Other languages
English (en)
Other versions
KR940015815A (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 KR1019920025396A priority Critical patent/KR950011059B1/ko
Publication of KR940015815A publication Critical patent/KR940015815A/ko
Application granted granted Critical
Publication of KR950011059B1 publication Critical patent/KR950011059B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

내용 없음.

Description

다중 프로세서 시스템의 버스중재기
제 1 도는 다중 프로세서 시스템의 개략도.
제 2 도는 우선순위를 기초로 하는 종래의 중재기의 블록도.
제 3 도는 본 발명에 따른 공평성 규칙을 나타낸 흐름도.
제 4 도는 본 발명에 따른 공평성 규칙을 적용한 중재기의 블록도.
* 도면의 주요부분에 대한 부호의 설명
2 : 데이타버스 4 : 중재버스
6 : 슬롯 7 : 디코더
8 : 인코더 9 : 비교기
13 : 공평성 점검회로
본 발명은 다중 프로세서 시스템(multiple processor system)에서 두개 이상의 프로세서들이 동시에 공유자원을 사용하려는 경우 충돌없이 공유자원을 사용할 수 있도록 중재하는 버스중재기에 관한 것이다.
여러 요청기에 의해 공유되는 공유자원을 충돌없이 사용하기 위해서는 해당 공유자원을 사용하기에 앞서 중재가 필요하다.
예로써, 제 1 도에 도시된 바와 같이, 여러 프로세서 보드(1, 1a, 1b, …, 1n)들이 버스(2)를 통해 메모리보드(3, 3a, 3b,…, 3m)들과 연결되어 있는 다중 프로세서 시스템의 경우, 프로세서 보드(1)가 메모리보드(3)에 있는 데이타(공유자원)를 읽거나 쓰기 위해서는 반드시 버스(2)를 사용해야 된다.
그러나 버스(2)가 여러 프로세서 보드(1, 1a, 1b, …, 1n)들에 의해 공유되고 있으므로 사용에 앞서 중재동작을 수행하여 중재결과로 승리(win)한 경우에만 데이타버스(2)를 사용할 수 있도록 해야만 한다.
중재는 중재버스(4)를 통해 각 프로세서 보드(1, 1a, 1b, …,1n)에 있는 중재기(5, 5a, 5b, …, 5n)에 의해 수행된다.
중재란 결국 각 보드들에게 특정한 우선순위를 부여하여 동시에 요청이 있는 경우 가장 높은 우선순위를 가진 보드를 선택하는 동작이다.
제 2 도는 제 1 도에서 중재기(5)만을 표시한 것이다.
각 프로세서 보드(1, 1a, 1b, …,1n)들은 데이타버스(2)의 슬롯에 꽂히게 되고, 이때 버스 슬롯(b)에서 슬롯번호가 거기에 꽂힌 보드로 공급된다.
중재는 슬롯에서 공급되는 슬롯번호를 우선순위로 사용하게 되는데, 이 슬롯번호는 슬롯마다 다르므로 각 프로세서 보드(1, 1a, 1b, …,1n)는 각기 다른 슬롯번호를 갖게 된다.
따라서 슬롯번호가 디코더(7)를 지나면 중재버스(4)상의 특정한 한개 신호선만이 선택적으로 구동된다.
이때 선택되는 신호선은 데이타버스(2)의 각 슬롯(6)에 할당된 중재요청 신호선이며 이들 중재요청신호선의 모임이 중재버스(4)가 된다.
따라서 중재에 참가해야 되는 보드가 꽂힐 슬롯(6)의 갯수가 α라면 우선순위로 사용되는 슬롯번호는 β비트폭을 갖는다.
이때 α와 β의 관계는 β=「log2α」가 된다(「 γ」은 γ보다 작지않은 가장 작은 정수).
그리고 중재버스(4)의 신호선은 α개가 된다.
중재버스(4)에 구동되어 형성된 중재요청 신호는 우선순위 인코더(8)를 지나면 구동된 신호들 중 가장 높은 순위를 갖는 신호선의 번호가 결정된다.
우선순위 인코더(8)의 출력과 자신의 슬롯번호를 비교하는 비교기(9)이 출력신호(10)는 현재 진행중인 중재요청중 자신의 가장 높은 우선순위를 갖고 있음을 의미하게 된다.
따라서 비교기(9)의 출력신호(10)는 중재에서 승리하였다는 것을 알려준다.
이상에서 설명한 중재는 우선순위를 기초로 한 것이므로 우선순위가 높은 프로세서 보드가 우선순위가 낮은 프로세서 보드에 비해 상대적으로 중재에서 이길 기회가 많게 된다.
이런 상황은 제 1 도와 같이 동일한 기능을 수행하는 여러 프로세서 보드(1, 1a, 1b, …,1n)들로 구성된 시스템에서는 우선순위가 상대적으로 높은 특정 프로세서 보드에 버스 사용 기회가 집중되는 문제가 발생한다.
이런 불공평한 종재 결과를 방지하기 위해서는 중재동작에 제한을 가하여 공평성이 유지되도록 해야 한다.
고정적인 우선순위를 사용하게 되면 근본적으로 완전한 공평성을 보장하기는 어렵다.
따라서, 본 발명은 다중 프로세서 시스템에서 공유자원을 충돌없이 사용하도록 하는 중재에 있어서 공평성이 보장되도록 하는 중재기를 제공하는 것이다.
제 3 도는 본 발명에 따른 공평성 규칙을 나타낸 것이다.
중재에 참가하기 전에 현재 중재버스(4)에 구동되어 있는 중재 요청신호의 수를 계산한다(11).
계산된 값이 "0"또는 "1"이라면 지금 진행중인 중재에 중재요청이 없거나 한개 중재요청만이 진행되고 있는 것을 의미하므로 이어지는 다음 중재동작에는 중재에 참가하였다가 아직 이기지 못한 것이 없음이 확실하게 된다.
그러나 만약 그 수가 "2" 이상이라면 이어지는 다음 중재동작에도 아직 이기지 못한 것이 있게됨을 의미한다.
따라서 중재요청신호의 수를 계산한 값이 "0" 또는 "1"인지를 판단하여 중재에 참가할 것인지 아닌지를 결정한다(12).
이렇게 함으로써 자신보다 먼저 요청된 모든 중재요청이 만족되어야 자신이 새롭게 중재에 참가할 수 있는 것이다.
따라서 우선순위 보다는 시간적으로 앞선 중재요청이 항상 먼저 중재에서 이기게 됨을 보장한다.
제 4 도는 제 3 도의 기능을 추가한 본 발명의 중재기를 나타낸 것이다.
공평성 점검회로(13)의 기능은 중재버스(4)에서 현재 구동되어 있는 중재신호의 수를 세는 것이다.
즉 공평성 점검회로(13)의 출력을 중재요청신호 구동에 사용되는 디코더(7)의 인에이블단자와 연계시키므로써 공평성 규칙이 지켜졌을 때만 중재요청신호를 구동할 수 있도록 하는 것이다.
예를들어, 중재버스(4)의 중재요청신호 Rn이 8비트(R0, R1, …, R7)인 경우 공평성 점검회로(13)의 구성 즉, 공평성 점검회로(13)로부터 출력되는 공평성신호(F)를 부울리언(Boolean) 식으로 나타내면 다음의 식(1)과 같다.
(여기서, ""는 NOT Rn, "*"는 AND, "+"는 OR을 의미한다.)
상기 식(1)의 제 1 번 줄은 중재요청신호(R0, R1, …, R7)들중 아무것도 구동되지 않은 경우를 점검하고, 제 2 번 줄은 중재요청신호 R0만이 구동된 경우를 점검하고, 제 3 번 줄은 중재요청신호 R1만이 구동된 경우를 점검하고, 제 4 번 줄은 중재요청신호 R2만이 구동된 경우를 점검하고, 제 5 번 줄은 중재요청신호 R3만이 구동된 경우를 점검하고, 제 6 번 줄은 중재요청신호 R4만이 구동된 경우를 점검하고, 제 7 번 줄은 중재요청신호 R5만이 구동된 경우를 점검하고, 제 8 번 줄은 중재요청신호 R6만이 구동된 경우를 점검하고, 제 9 번 줄은 중재요청신호 R7만이 구동된 경우를 점검한다.
결국 식(1)의 결과는 중재요청신호가 아무것도 구동되지 않은 경우와 단 한개의 중재요청신호가 구동된 경우를 찾아서 출력하게 된다.
상기한 부울리언 식(1)은 PAL(programinable array logic)과 같은 간단한 소자로 쉽게 구현할 수 있다.

Claims (2)

  1. 데이타버스(2)의 슬롯(6)으로부터 제공되는 슬롯번호신호를 해독하여 자신의 것이면 중재버스(4)로 중재요청신호를 출력하는 디코더(7)와, 상기 중재버스(4)를 통하여 제공되는 적어도 하나 이상의 중재요청신호를 받아들여 우선순위가 가장 높은 신호를 결정하는 우선순위 인코더(8)와, 상기 슬롯번호신호와 상기 우선순위 인코더(8)의 출력신호를 비교하여 중재에 있어서 가장 높은 우선순위임을 나타내는 승리신호를 출력하는 비교기(9)를 포함하는 다중 프로세서 시스템의 중재기에 있어서, 상기 중재버스(4)상에 구동되고 있는 중재요청신호가 적어도 두개 이상인 경우에는 중재에 참가하지 않도록 하기 위해 상기 디코더(7)로부터 상기 중재요청신호가 출력되지 않게 하는 공평성 점검회로(13)를 포함하는 것을 특징으로 하는 다중 프로세서 시스템의 버스중재기.
  2. 제 1 항에 있어서, 상기 공평성 점검회로(13)는 상기 중재버스(4)상에 구동되는 상기 중재요청신호의 수가 0 또는 1인지를 판별하는 논리수단에 의해 구성되는 것을 특징으로 하는 다중 프로세서 시스템의 버스중재기.
KR1019920025396A 1992-12-24 1992-12-24 다중 프로세서 시스템의 버스중재기 KR950011059B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019920025396A KR950011059B1 (ko) 1992-12-24 1992-12-24 다중 프로세서 시스템의 버스중재기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019920025396A KR950011059B1 (ko) 1992-12-24 1992-12-24 다중 프로세서 시스템의 버스중재기

Publications (2)

Publication Number Publication Date
KR940015815A KR940015815A (ko) 1994-07-21
KR950011059B1 true KR950011059B1 (ko) 1995-09-27

Family

ID=19346551

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920025396A KR950011059B1 (ko) 1992-12-24 1992-12-24 다중 프로세서 시스템의 버스중재기

Country Status (1)

Country Link
KR (1) KR950011059B1 (ko)

Also Published As

Publication number Publication date
KR940015815A (ko) 1994-07-21

Similar Documents

Publication Publication Date Title
JP2613005B2 (ja) デバイスのアービトレーション優先レベルを切り換える方法並びに多優先レベルのアービトレーションを行うためのアダプタ及びシステム
CA1193338A (en) Circuitry for allocating access to a demand-shared bus
US5996037A (en) System and method for arbitrating multi-function access to a system bus
US4577273A (en) Multiple microcomputer system for digital computers
US5239651A (en) Method of and apparatus for arbitration based on the availability of resources
US7003593B2 (en) Computer system architecture and memory controller for close-coupling within a hybrid processing system utilizing an adaptive processor interface port
US20070088886A1 (en) Dynamic priority conflict resolution in a multi-processor computer system having shared resources
US5842025A (en) Arbitration methods and apparatus
US20080288689A1 (en) Opportunistic granting arbitration scheme for fixed priority grant counter based arbiter
CA2009055A1 (en) Arbitration of bus access in digital computers
KR840003370A (ko) 데이타 처리 시스템의 공통버스 이용검출 논리회로
JPH08255126A (ja) バスアクセス調停システムおよびバスアクセスを認める方法
US4611275A (en) Time sharing device for access to a main memory through to a single bus connected between a central computer and a plurality of peripheral computers
US5317696A (en) Bus arbitration scheme
EP0327203A2 (en) NxM arbitrating non-blocking high bandwidth switch
US7739436B2 (en) Method and apparatus for round robin resource arbitration with a fast request to grant response
US5509125A (en) System and method for fair arbitration on a multi-domain multiprocessor bus
US5894562A (en) Method and apparatus for controlling bus arbitration in a data processing system
US4985890A (en) Data transmission unit
KR960042385A (ko) 엘알유(lru)에 의한 중재기
US7080174B1 (en) System and method for managing input/output requests using a fairness throttle
KR100657256B1 (ko) 중재기 및 그 중재기를 채용한 버스 시스템
KR950011059B1 (ko) 다중 프로세서 시스템의 버스중재기
JP2004062910A (ja) マルチコアプロセッサにセマフォを具現化し、共通資源へのアクセスを制御する方法
JPS594733B2 (ja) キヨウツウバスセイギヨカイロ

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: 20030901

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee