KR100606701B1 - Hierarchical Arbitration System, Method for arbitrating using the system - Google Patents

Hierarchical Arbitration System, Method for arbitrating using the system Download PDF

Info

Publication number
KR100606701B1
KR100606701B1 KR1019990009711A KR19990009711A KR100606701B1 KR 100606701 B1 KR100606701 B1 KR 100606701B1 KR 1019990009711 A KR1019990009711 A KR 1019990009711A KR 19990009711 A KR19990009711 A KR 19990009711A KR 100606701 B1 KR100606701 B1 KR 100606701B1
Authority
KR
South Korea
Prior art keywords
access
arbitration
arbiter
request
arbitrators
Prior art date
Application number
KR1019990009711A
Other languages
Korean (ko)
Other versions
KR20000060998A (en
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 KR1019990009711A priority Critical patent/KR100606701B1/en
Publication of KR20000060998A publication Critical patent/KR20000060998A/en
Application granted granted Critical
Publication of KR100606701B1 publication Critical patent/KR100606701B1/en

Links

Images

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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40084Bus arbitration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

중재 시스템에 있어서, 특히 다수의 공유 자원을 갖는 시스템에서 효율적으로 부하를 분산시켜 주기 위한 계층적 구조의 중재 시스템 및 이를 이용한 중재 방법에 관한 것으로, 다수의 공유 자원을 갖는 임의의 시스템에서, 각 공유 자원으로의 접근 요청에 대한 실제적인 접근을 제어하는 다수의 상위 중재기와, 상기 상위 중재기로부터 제공받은 해당 공유 자원으로의 접근 요청 상태에 대한 정보를 근거로 하여, 미리 선정된 외부의 다수 접근 요청들을 각각 분산한 후 상기 상위 중재기로 중재하는 다수의 하위 중재기를 포함하여 구성되는 계층적 구조의 중재 시스템과 이를 이용한 계층적 구조의 중재 방법에 관한 것이다. In the arbitration system, in particular, it relates to a hierarchical arbitration system and an arbitration method using the same to efficiently distribute load in a system having a plurality of shared resources. Multiple pre-selected external access requests based on a plurality of higher arbitrators that control actual access to the request for access to resources and information on the status of access request to the corresponding shared resource provided from the higher arbitrator. The present invention relates to a hierarchical arbitration system including a plurality of subordinate arbitrators each of which is distributed to each of the higher arbitrators and to a hierarchical arbitration method using the same.

우선 순위 구조(Priority scheme)의 중재 방식, 라운드 로빈 구조(Round-robin scheme)의 중재 방식, 계층적 구조의 중재 시스템(hierarchical Arbitration System)Arbitration of Priority Scheme, Arbitration of Round-Robin Scheme, Hierarchical Arbitration System

Description

계층적 구조의 중재 시스템 및 이를 이용한 중재 방법{Hierarchical Arbitration System, Method for arbitrating using the system}Hierarchical Arbitration System, Method for arbitrating using the system

도 1 은 일반적인 계층적 구조의 중재 시스템의 일부 구성을 나타낸 블록구성도.1 is a block diagram showing a part of a general hierarchical arbitration system.

도 2 는 일반적인 계층적 구조의 중재 시스템에서 상위 중재기의 상세 구성을 나타낸 블록구성도.2 is a block diagram illustrating a detailed configuration of an upper arbiter in a general hierarchical arbitration system.

도 3 은 종래의 독립적인 다수 공유 자원을 갖는 계층적 구조의 중재 시스템 구성을 나타낸 블록구성도.Figure 3 is a block diagram showing a conventional hierarchical arbitration system configuration having a plurality of independent shared resources.

도 4 는 독립적인 다수 공유 자원을 갖는 계층적 구조의 중재 시스템에서 하위 중재기의 일반적인 구성을 나타낸 블록구성도.4 is a block diagram illustrating a general configuration of a lower arbiter in a hierarchical arbitration system having independent multiple shared resources.

도 5 는 독립적인 다수 공유 자원을 갖는 계층적 구조의 중재 시스템에서 상위 중재기의 일반적인 구성을 나타낸 블록구성도.5 is a block diagram illustrating a general configuration of a higher arbiter in a hierarchical arbitration system having independent multiple shared resources.

도 6 은 본 발명에 따른 계층적 구조의 중재 시스템에서 하위 중재기의 구성을 나타낸 블록구성도.6 is a block diagram showing the configuration of a lower arbiter in a hierarchical arbitration system according to the present invention;

도 7 은 본 발명에 따른 계층적 구조의 중재 시스템에서 상위 중재기의 구성을 나타낸 블록구성도.7 is a block diagram showing the configuration of an upper arbiter in a hierarchical arbitration system according to the present invention;

도 8 은 본 발명에 따른 계층적 구조의 중재 방법을 나타낸 플로우챠트.8 is a flowchart illustrating a method for arbitrating a hierarchical structure according to the present invention.

*도면의 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *

500 : 하위 중재기(Sub-level arbiter)500: sub-level arbiter

540 : 상위 중재 인터페이스부540: upper arbitration interface unit

700 : 상위 중재부(Top-level arbiter)700: top-level arbiter

740 : 자원 접근 제어부740: resource access control

800 : 공유 자원800: shared resources

본 발명은 중재 시스템에 관한 것으로, 특히 다수의 공유 자원을 갖는 시스템에서 효율적으로 부하를 분산시켜 주기 위한 계층적 구조의 중재 시스템 및 이를 이용한 중재 방법에 관한 것이다. The present invention relates to an arbitration system, and more particularly, to an arbitration system having a hierarchical structure and an arbitration method using the same for efficiently distributing load in a system having a plurality of shared resources.

일반적으로 임의의 시스템은 그 시스템의 목적에 따라 다수의 모듈(module)로 구성되어지며, 이 모듈들은 주어진 입력이 있으면 상호간의 정보 교환에 의한 적절한 출력을 발생시킨다.In general, any system consists of a number of modules, depending on the purpose of the system, and these modules, when given inputs, generate an appropriate output by exchanging information with each other.

이 때 시스템을 구성하는 자원(resource) 중에는 다수의 다른 모듈에 의해 공유되는 모듈이 존재할 수 있는데, 예를 들면 메모리와 같은 것이 될 수 있다. At this time, among the resources constituting the system may be a module shared by a number of different modules, for example, may be a memory.

메모리와 같이 다수의 다른 모듈에 의해 공유하게 되는 자원의 경우에는, 이 자원으로의 접근을 중재하기 위한 중재기(arbiter)가 요구되며, 각 모듈의 접근 방식에 따라 다양한 형태의 중재 알고리즘(Arbitration Algorithm)이 사용된다.In the case of resources shared by many different modules, such as memory, an arbiter is required to mediate access to these resources, and various types of arbitration algorithms are provided according to each module's approach. ) Is used.

대표적인 중재 알고리즘으로는 우선 순위 구조(Priority scheme) 방식과 라운드 로빈 구조(Round-robin scheme) 방식 등이 있다. Representative arbitration algorithms include a priority scheme and a round-robin scheme.

이 중에서 접근을 요청하는 모든 모듈(Requester)(이하, 리퀘스터 라 명칭함)에게 공평한 기회를 주는 방식을 원하는 경우에는 라운드 로빈 구조를 사용하며, 리퀘스터(Requester)별로 우선권을 주는 방식을 원하는 경우에는 우선 순위 구조를 기본적으로 사용하게 된다.If you want to give a fair chance to all requesters (hereinafter referred to as requesters) among them, use the round robin structure, and if you want to give priority to each requester. In default, the priority structure is used.

또한 이들 라운드 로빈 구조 및 우선 순위 구조를 기본으로 하여 여러 변형된 중재 알고리즘이 사용되고 있는데, 그 중 하나가 계층적 구조의 중재 방식(hierarchical arbitration)이다. In addition, various modified arbitration algorithms based on these round robin structures and priority structures are used, one of which is hierarchical arbitration.

이 계층적 구조의 중재 방식은 공유 자원에 대한 접근 요청이 다수 개인 경우에 이들을 몇 개의 그룹으로 나눈 뒤 먼저 각 그룹에 대해 중재가 이루어진다. 이후 각 그룹에서 선정된 접근 요청들간에 다시 중재가 이루어지는 방식이다.In this hierarchical mode of arbitration, when there are a large number of requests for access to shared resources, they are divided into several groups, and then arbitration is first performed for each group. Thereafter, mediation is performed again between access requests selected from each group.

도 1 은 일반적인 계층적 구조의 중재 시스템의 일부 구성을 나타낸 블록구성도이다.1 is a block diagram showing some components of a general hierarchical arbitration system.

도 1을 참조하면, 공유 자원(30)에 대한 접근 요청은 일단 하위 중재기(Sub-level arbiter)(10,11,12)에 의해 각각 중재가 이루어진다.Referring to FIG. 1, the request for access to the shared resource 30 is mediated once by the sub-level arbiters 10, 11, and 12, respectively.

하위 중재기(10,11,12)에서의 중재 결과에 따라, 각 하위 중재기(10,11,12)마다 하나의 요청(Req[1], Req[2], Req[n])이 선정되고, 일단 선정된 해당 요청은 다시 상위 중재기(Top-level arbiter)(20)에 전달된다.According to the arbitration results in the lower arbitrators 10, 11 and 12, one request (Req [1], Req [2], Req [n]) is selected for each lower arbitrator 10,11,12. Once selected, the request is passed back to the top-level arbiter 20.

상위 중재기(20)는 하위 중재기(10,11,12)로부터 전달받은 요청들간에 다시 중재를 실시한 후 하나의 요청을 최종적으로 선정한다.The upper arbiter 20 arbitrates again among the requests received from the lower arbiters 10, 11, and 12, and finally selects one request.

이후 최종 선정된 요청에 대한 서비스 즉 공유 자원(30)으로의 실제적 접근이 이루어지며, 공통 어드레스/명령 또는 전용 어드레스/명령에 따른 공통 데이터나 전용 데이터를 공유 자원과 리퀘스터간에 주고받는다.Afterwards, a real access to the service, that is, the shared resource 30, is made for the final selected request, and common data or dedicated data according to a common address / command or a dedicated address / command are exchanged between the shared resource and the requester.

그런데 이때 상위 중재기(20)내에 요청 대기열(Queue)이 존재하지 않는 경우에 서비스가 완료되면 다시 각 요청들에 대한 중재가 하위 중재기(10,11,12) 및 상위 중재기(20)에 의해 시도되지만, 상위 중재기(20)내에 요청 대기열(Queue)이 존재하는 경우에는 최종 선정된 요청이 요청 대기열에 로드(Load)될 수 있을 때 비로소 다시 각 요청들에 대한 중재가 시도된다. In this case, when a request queue is not present in the upper arbiter 20, when the service is completed, the arbitration for each request is again sent to the lower arbiters 10, 11, 12 and the upper arbiter 20. However, if there is a request queue in the upper arbiter 20, arbitration for each request is attempted again when the last selected request can be loaded into the request queue.

이와 같은 동작을 설명하기 위한 상위 중재기의 상세 구성을 도 2 에 나타내었다. The detailed configuration of the upper arbitrator for explaining such an operation is shown in FIG.

도 2는 일반적인 계층적 구조의 중재 시스템에서 상위 중재기의 상세 구성을 나타낸 도면으로, 도시된 상위 중재기(20)에는 일반적으로 요청 대기열(Queue)(23)을 가지고 있다.FIG. 2 is a diagram illustrating a detailed configuration of an upper arbiter in a general hierarchical arbitration system. The upper arbiter 20 illustrated in FIG. 2 generally includes a request queue 23.

전체적으로 보면 각각의 리퀘스터(Requester)(미도시)가 상위 중재기(20)에 접근 요청 신호(Req[I])를 구동하고, 상위 중재기(20)는 이에 대한 응답으로 접근 허용 신호(grn[I])를 구동함으로써 중재가 이루어진다. In general, each requester (not shown) drives the access request signal Req [I] to the upper arbiter 20, and the upper arbiter 20 responds to the access grant signal grn in response thereto. Arbitration is done by driving [I]).

또한 리퀘스터(미도시)가 우선 순위 신호(pri[I])를 구동하는 것을 나타내었는데, 이는 우선 순위 구조의 중재 방식을 사용할 경우를 가정한 것이다.Also, the requester (not shown) shows that the priority signal pri [I] is driven, which assumes a case where a priority structure arbitration method is used.

먼저 상위 중재기(20)에 접근 요청 신호(Req[I])를 구동되면, 요청 선정부(Winner Determining Block)(22)는 하나의 접근 요청을 선정한다. First, when the access request signal Req [I] is driven to the upper arbiter 20, the Winner Determining Block 22 selects one access request.

이후 선정된 접근 요청에 대한 정보가 요청 대기열(23)에 저장되고, 자원 접근 제어부(24)의 제어신호에 의해 공유 자원으로의 실제적 접근이 이루어진다.Thereafter, the information on the selected access request is stored in the request queue 23, and the actual access to the shared resource is performed by the control signal of the resource access control unit 24.

그런데 도 1 및 도 2 에 도시된 것과는 달리 공유 자원은 시스템에 따라 다수 개가 독립적으로 구성될 수 있다. 즉 하나의 리퀘스터(Requester)가 하나의 공유 자원에 대해 접근 중일 때 다른 리퀘스터(Requester)는 다른 공유 자원에 동시에 접근할 수 있다는 것이다.1 and 2, however, a plurality of shared resources may be independently configured according to a system. That is, when one requester is accessing one shared resource, the other requester can access other shared resources at the same time.

이와 같이 독립적인 다수의 공유 자원을 갖는 계층적 구조의 중재 시스템을 도 3 에 나타내었다. As shown in FIG. 3, a hierarchical arbitration system having a plurality of independent shared resources is illustrated.

도 3 은 종래의 독립적인 다수 공유 자원을 갖는 계층적 구조의 중재 시스템 구성을 나타낸 블록구성도로써, 공유 자원(70,71,72)이 독립적인 경우에는, 각 공유 자원(70,71,72)에 대한 접근을 중재하고 각 공유 자원(70,71,72)에 대한 실제 접근을 제어하는 중재기가 각각 존재한다. 3 is a block diagram showing a conventional hierarchical arbitration system configuration having a plurality of independent shared resources. When the shared resources 70, 71, 72 are independent, each shared resource 70, 71, 72 is illustrated. There are mediators that mediate access to the control panel and control the actual access to each shared resource (70, 71, 72).

즉, 도시된 바와 같이 다수의 상위 중재기(60,61,62)가 구비되어 각 공유 자원(70,71,72)에 대한 접근을 제어하게 된다.That is, as shown, a plurality of higher arbitrators 60, 61, and 62 are provided to control access to each shared resource 70, 71, and 72.

그러나 이와 같이 다수의 공유 자원(70,71,72)을 갖는 중재 시스템에서 하위 중재를 수행한 후 상위 중재를 수행하게 될 경우에는 효율적인 공유 자원으로의 접근이 어렵게 된다. However, when the lower level mediation is performed after the lower level arbitration in the arbitration system having a plurality of shared resources 70, 71, and 72, access to the shared resources becomes difficult.

이는 하위 중재기(40,41,42)에서 1차적으로 선정된 요청들이 공유 자원 전체로 분산되지 않고 소수의 공유 자원으로 집중되는 경우가 발생될 수 있기 때문이 다.This is because the requests initially selected in the lower arbiters 40, 41, and 42 may be concentrated in a small number of shared resources instead of being distributed throughout the shared resources.

도 4 는 독립적인 다수 공유 자원을 갖는 계층적 구조의 중재 시스템에서 하위 중재기의 일반적인 구성을 나타낸 블록구성도이다.4 is a block diagram illustrating a general configuration of a lower arbiter in a hierarchical arbitration system having independent multiple shared resources.

도 4를 참조하면, 일반적으로 각각의 리퀘스터(Requester)(미도시)는 하위 중재기(100)에 접근 요청 신호(Req[i][j])를 구동하고, 하위 중재기(100)는 이에 대한 응답으로 접근 허용 신호(grn[i][j])를 구동함으로써 중재가 이루어진다. Referring to FIG. 4, generally, each requester (not shown) drives an access request signal Req [i] [j] to the lower arbiter 100, and the lower arbiter 100 In response, arbitration is performed by driving an access grant signal grn [i] [j].

여기서는 리퀘스터(미도시)가 우선 순위 신호(pri[i][j])를 구동하는 것을 나타내었는데, 이는 우선 순위 구조의 중재 방식을 사용할 경우를 가정한 것이다.Here, it is shown that the requester (not shown) drives the priority signal pri [i] [j], which assumes the case of using an arbitration method of priority structure.

먼저 하위 중재기(100)에 접근 요청 신호(Req[i][j])를 구동되면, 요청 선정부(Winner Determining Block)(120)는 하나의 접근 요청을 선정한다. First, when the access request signal Req [i] [j] is driven to the lower arbiter 100, the Winner Determining Block 120 selects one access request.

이후 선정된 접근 요청에 대한 정보들은 요청 대기열(130)에 저장되며, 상위 중재 인터페이스부(140)에 의해 상위 중재기(300)로 전달된다. Thereafter, the information on the selected access request is stored in the request queue 130 and is transmitted to the upper arbiter 300 by the upper arbitration interface unit 140.

이 때 주로 어드레스에 의해 결정되는 접근 영역에 따라 제2스위치(220)에 의해 해당 요청 신호(Req_k[i])가 구동되며, 이 때 상위 중재기(300)에서 해당 요청에 대한 접근 허용 신호(grn_k[i])가 구동됨에 따라 하위 중재기(100)는 요청 대기열(130)에 저장되어 있던 공유 자원으로의 접근에 필요한 정보를 상위 중재기(300)에 전달한다.At this time, the request signal Req_k [i] is driven by the second switch 220 according to the access area mainly determined by the address, and at this time, the upper arbitrator 300 access permission signal for the request ( As grn_k [i]) is driven, the lower arbiter 100 transmits information necessary for access to the shared resource stored in the request queue 130 to the upper arbiter 300.

도 5 는 독립적인 다수 공유 자원을 갖는 계층적 구조의 중재 시스템에서 상위 중재기의 일반적인 구성을 나타낸 블록구성도이다.FIG. 5 is a block diagram illustrating a general configuration of a higher arbiter in a hierarchical arbitration system having independent multiple shared resources.

도 5를 참조하면, 하위 중재기(100)에서 선정된 해당 요청에 대한 접근 요청 신호(Req_k[i])가 상위 중재기(300)에게 구동되면, 상위 중재기(300)가 이에 대한 접근 허용 신호(grn_k[i])를 구동함으로써 중재가 이루어진다.Referring to FIG. 5, when the access request signal Req_k [i] for the corresponding request selected by the lower arbiter 100 is driven to the upper arbiter 300, the upper arbiter 300 permits access to the upper arbiter 300. Arbitration is accomplished by driving signal grn_k [i].

여기서도 하위 중재기(100)가 우선 순위 신호(pri_k[i])를 구동하는 것을 나타내었는데, 이는 역시 우선 순위 구조의 중재 방식을 사용할 경우를 가정한 것이다.Here, it is shown that the lower arbiter 100 drives the priority signal pri_k [i], which also assumes a case of using an arbitration scheme having a priority structure.

먼저 하위 중재기(100)로부터 상위 중재기(300)에 접근 요청 신호(Req[i][j])를 구동되면, 요청 선정부(Winner Determining Block)(320)는 하나의 접근 요청을 선정한다. First, when the access request signal Req [i] [j] is driven from the lower arbiter 100 to the upper arbiter 300, the Winner Determining Block 320 selects one access request. .

이후 선정된 접근 요청에 대한 정보들은 요청 대기열(330)에 저장되며, 자원 접근 제어부(340)의 제어신호에 의해 공유 자원으로의 실제적 접근이 이루어진다.Thereafter, the information on the selected access request is stored in the request queue 330, and the actual access to the shared resource is made by the control signal of the resource access control unit 340.

도 4와 도 5를 살펴보면, 공유 자원이 다수인 경우 하위 중재기(100)에 의해 1차 선정된 요청은, 그 요청이 주로 어드레스에 의해 결정되는 접근 영역에 따라 정해진 공유 자원에 해당하는 상위 중재기(300)에 전달된다.4 and 5, when there are a plurality of shared resources, a request selected first by the lower arbiter 100 may be a higher arbitration corresponding to a shared resource determined according to an access region whose request is mainly determined by an address. Delivered to machine 300.

이 같은 경우에도 하위 중재기(100)에서 1차적으로 선정된 요청들이 공유 자원 전체로 분산되지 않고 소수의 공유 자원으로 집중되는 경우가 발생될 수 있기 때문에 효율적인 공유 자원으로의 접근이 어렵다.Even in such a case, since the requests primarily selected by the lower arbiter 100 may be concentrated on a few shared resources instead of being distributed as a whole shared resource, access to efficient shared resources is difficult.

따라서 종래에는 요청들이 일부 공유 자원으로 집중되는 경우에, 요청들이 집중되는 공유 자원에 대한 요청들의 대기 시간(Latency)이 커질 뿐만 아니라 다른 공유 자원들에게는 요청에 대한 접근이 이루어지지 않으므로, 모든 공유 자원으로 접근하기 위해 요구되는 대역폭(bandwidth)이 많아지게 된다.Therefore, in the case where requests are concentrated to some shared resources, not only the latency of requests for the shared resources to which the requests are concentrated increases but also the access to the requests to other shared resources. The bandwidth required for access is increased.

이 때 공유 자원으로 접근하는데 사용하는 대역폭이 필요로 하는 것보다 훨씬 큰 경우에는 별 문제가 되지 않지만, 일반적으로 그렇지 못하기 때문에 일부 공유 자원으로의 요청 집중 현상이 자주 발생하게 되면 공유 자원 접근 대역폭이 부족하여 전체 시스템의 오동작을 유발하게 된다는 문제점이 있다. This is not a problem if the bandwidth used to access the shared resource is much larger than necessary, but generally this is not so. Insufficient there is a problem that causes a malfunction of the entire system.

본 발명의 목적은 상기한 문제점을 해결하기 위해 안출한 것으로, 다수의 공유 자원을 갖는 시스템에서 공유 자원에 대한 접근을 골고루 분산시키고자 다수의 하위 중재기(Sub-level arbiter)가 상위 중재기(Top-level arbiter)에서 제공되는 접근 요청 상황에 대한 정보를 반영하여 다수의 요청에 대한 중재를 수행하는 계층적 구조의 중재 시스템 및 이를 이용한 중재 방법을 제공하는 것이다.SUMMARY OF THE INVENTION An object of the present invention is to solve the above problems, and in order to distribute the access to the shared resources evenly in a system having a plurality of shared resources, a plurality of sub-arbiters are assigned to a higher arbiter ( It is to provide a hierarchical arbitration system and a method of arbitration using the hierarchical structure that performs arbitration for a plurality of requests by reflecting the information on the access request status provided by the top-level arbiter.

상기한 목적을 달성하기 위한 본 발명에 따른 계층적 구조의 중재 시스템의 특징은, 다수의 공유 자원을 갖는 임의의 시스템에서, 각 공유 자원으로의 접근 요청에 대한 실제적인 접근을 제어하는 다수의 상위 중재기와, 상기 상위 중재기로부터 해당 공유 자원으로의 접근 요청 상태에 대한 정보를 제공받아 외부의 다수 요청들에 대한 중재를 수행한 후 이에 따라 선정된 상기 공유 자원으로의 접근 요청들을 각각 분산하여 상기 상위 중재기로 전달하는 다수의 하위 중재기를 포함하여 구성된다는 것이다. A feature of the hierarchical arbitration system according to the present invention for achieving the above object is that, in any system having a plurality of shared resources, a number of higher levels that control the actual access to access requests to each shared resource. The mediator receives information on the access request status to the corresponding shared resource from the higher arbitrator, performs arbitration on a plurality of external requests, and distributes the access requests to the shared resources selected accordingly. It consists of a number of subordinate arbitrators passing to the superior arbitrator.

또한 상기 목적을 달성하기 위한 본 발명에 따른 계층적 구조의 중재 방법의 특징은, 다수의 하위 중재기와 다수의 상위 중재기를 포함하는 중재 시스템에서 공 유 자원으로의 접근 요청이 다수 발생함에 따라, 이들 접근 요청을 해당 공유 자원에 중재함에 있어서, 상기 다수의 하위 중재기가 상기 발생된 다수의 접근 요청 중 임의의 접근 요청을 각각 선정하는 단계와, 상기 선정된 요청을 접근시키기 위한 해당 공유 자원의 접근 요청 상태를 상기 상위 중재기로부터 제공받아 분석하는 단계와, 상기 분석 결과에 따라, 상기 선정된 접근 요청을 해당 상위 중재기에 중재하는 단계와, 상기 중재된 해당 요청에 따라 해당 공유 자원으로 실제 접근을 수행하는 단계를 포함하여 이루어진다는 것이다. In addition, a feature of the hierarchical arbitration method according to the present invention for achieving the above object is that, as a number of requests for access to shared resources in the arbitration system including a plurality of sub-arbiters and a plurality of higher arbitrators, In arbitrating an access request to a corresponding shared resource, the plurality of sub-arbitrators respectively selecting any access request among the generated plurality of access requests, and access request of the corresponding shared resource for accessing the selected request. Receiving and analyzing a status from the upper arbiter, arbitrating the selected access request to the upper arbiter according to the analysis result, and performing actual access to the corresponding shared resource according to the mediated request. It is to include the step.

이하, 본 발명에 따른 계층적 구조의 중재 시스템 및 이를 이용한 중재 방법에 대한 바람직한 일 실시 예를 첨부된 도면을 참조하여 설명한다.Hereinafter, a preferred embodiment of a hierarchical arbitration system and a mediation method using the same according to the present invention will be described with reference to the accompanying drawings.

도 6 은 본 발명에 따른 계층적 구조의 중재 시스템에서 하위 중재기의 구성을 나타낸 블록구성도이다.6 is a block diagram illustrating a configuration of a lower arbiter in a hierarchical arbitration system according to the present invention.

도 6을 참조하면, 다수의 공유 자원을 갖는 계층적 구조의 중재 시스템 중 부하 분산형 하위 중재기(500)의 구성을 나타낸 것이다.Referring to FIG. 6, a configuration of a load balancer lower arbiter 500 in a hierarchical arbitration system having a plurality of shared resources is shown.

본 발명에서는 도 4 및 도 5에 도시된 중재 시스템과 달리 하위 중재기(500)가 상위 중재기(700)부터 현재 해당 공유 자원(800)으로의 접근 요청 상태에 대한 정보를 제공 받아 자신의 중재에 이용한다는 것이다. In the present invention, unlike the arbitration system illustrated in FIGS. 4 and 5, the lower arbiter 500 receives its information on the access request state from the upper arbiter 700 to the corresponding shared resource 800, and then arbitrates its arbitration. Is to use.

즉 하위 중재기(500)의 요청 선정부(520)가 공유 자원(800)으로의 접근 요청 상태에 대한 정보를 이용하여 특정 공유 자원으로의 접근 요청이 집중되는 현상을 줄이도록 한다는 것이다.That is, the request selector 520 of the lower arbiter 500 may reduce the concentration of access requests to a specific shared resource by using the information on the access request state to the shared resource 800.

이 때 접근 요청 상태에 대한 정보를 하위 중재기(500)에 전달하기 위해 사 용되는 신호는 다음과 같다.At this time, the signal used to deliver information about the access request status to the lower arbiter 500 is as follows.

"Req_stat[k]"는 현재 k번째 상위 중재기로의 접근 요청 상황을 나타내는 신호로써, 접근 요청 중인 신호(Req_k[i])의 수 즉 k번째 상위 중재기로 접근 요청 중인 이벤트 수를 나타낸다. "Req_stat [k]" is a signal indicating the access request status to the k-th upper arbitrator and indicates the number of access request signals Req_k [i], that is, the number of events being requested to access to the k-th upper arbitrator.

그런데 만약 우선 순위 구조의 중재 방식을 사용할 경우에 "Req_stat[k]"는 현재 접근 요청 중인 신호(Req_k[i]) 중 우선 순위가 가장 높은 신호의 우선 순위값(pri_k[i])으로 정의할 수 있다.However, in case of using the priority structure arbitration method, "Req_stat [k]" can be defined as the priority value (pri_k [i]) of the signal having the highest priority among the signals (Req_k [i]) currently being requested for access. Can be.

"Queue_stat[k]"는 현재 k번째 상위 중재기의 제어에 의해 실제 공유 자원으로의 접근 허용 상황을 나타낸 신호로써, 해당 공유 자원으로의 접근이 허용되어 실제 접근을 기다리고 있는 요청 수를 나타낸다. "Queue_stat [k]" is a signal indicating the situation of allowing access to the actual shared resource under the control of the kth upper arbitrator, and indicates the number of requests waiting to access the corresponding shared resource.

도 7 은 본 발명에 따른 계층적 구조의 중재 시스템에서 상위 중재기의 구성을 나타낸 블록구성도이다.7 is a block diagram showing the configuration of a higher arbiter in a hierarchical arbitration system according to the present invention.

도 7을 참조하면, 다수의 공유 자원을 갖는 계층적 구조의 중재 시스템 중 부하 분산형 상위 중재기(700)의 구성을 나타낸 것이다.Referring to FIG. 7, a configuration of a load balancing upper arbiter 700 in a hierarchical arbitration system having a plurality of shared resources is shown.

본 발명에서는 도 4 및 도 5에 도시된 중재 시스템과 달리 상위 중재기(700)가 하위 중재기(500)에게 현재 해당 공유 자원(800)으로의 접근 요청 상태에 대한 정보를 제공하여, 이 정보를 하위 중재기(500)로 하여금 중재에 이용할 수 있도록 한다는 것이다. In the present invention, unlike the arbitration system shown in Figs. 4 and 5, the upper arbiter 700 provides the lower arbiter 500 with information about the current access request status to the corresponding shared resource 800. To make the lower arbiter 500 available for arbitration.

즉, 요청 래치부(710)에서는 현재 해당 상위 중재기(700)로 접근 요청 중인 이벤트 수를 나타내는 "Req_stat[k]"를 하위 중재기(500)에 전달하고, 요청 대기열(730)에서는 현재 해당 상위 중재기(700)의 제어에 의해 실제 공유 자원으로의 접근이 허용되어 실제 접근을 기다리고 있는 요청 수를 나타내는 "Queue_stat[k]"를 전달함으로써, 이들 정보를 하위 중재기(500)가 사용할 수 있도록 한다는 것이다.That is, the request latch unit 710 transmits "Req_stat [k]" indicating the number of events currently being requested to access to the upper arbitrator 700 to the lower arbiter 500, and the request queue 730 currently transmits the corresponding. This information is made available to the lower arbiter 500 by passing "Queue_stat [k]", which indicates the number of requests awaiting actual access due to the control of the upper arbiter 700 allowing access to the actual shared resources. To make it work.

도 8 은 본 발명에 따른 계층적 구조의 중재 방법을 나타낸 플로우챠트로써, 도 6 및 도 7을 추가로 참조하여 설명한다. 8 is a flowchart illustrating a method for arbitrating a hierarchical structure according to the present invention, which will be described with reference to FIGS. 6 and 7.

먼저 하위 중재기(500)는 유휴 상태(Idle) 즉 중재 준비가 되면 리퀘스트(Requester)(미도시)들로부터의 접근 요청 신호(Req[i][j])를 모니터(monitor)한다(S10).First, the lower arbiter 500 monitors an access request signal Req [i] [j] from requests (not shown) when idle, i.e., ready for arbitration (S10). .

이 때 만약 하나 이상의 요청이 발생할 경우에는 우선 순위 구조의 방식을 이용하여, 우선 순위가 가장 높은 요청을 선정한다(S20,S30).At this time, if one or more requests occur, the request having the highest priority is selected using the scheme of priority structure (S20, S30).

이후 하위 중재기(500)는 상기 선정된 요청이 접근할 해당 공유 자원의 접근 요청 상태에 대한 정보(Req_stat[k], Queue_stat[k])를 상위 중재기(700)로부터 제공받아 래치(latch)한다(S40).Thereafter, the lower arbiter 500 receives and receives information (Req_stat [k], Queue_stat [k]) of the access request status of the corresponding shared resource to which the selected request is to be accessed from the upper arbiter 700. (S40).

이에 따라 하위 중재기(500)는 제공받은 정보를 분석하여, 접근 요청하려는 해당 공유 자원(800)에 현재 얼마나 많은 접근 요청이 있는지, 이미 접근이 허용되어 현재 대기 중인 요청들이 얼마나 되는지를 알 수 있게 된다.Accordingly, the lower arbiter 500 analyzes the information provided to know how many access requests are currently in the corresponding shared resource 800 to be accessed, and how many requests are already waiting to be accessed. do.

만약 상위 중재기(700)가 우선 순위 구조의 중재 방식을 사용할 경우에는, 하위 중재기(500)에 의해 선정된 접근 요청의 우선 순위와 현재 접근 요청 중인 다른 요청들에 대한 우선 순위를 비교함으로써, 상위 중재기(700)에서의 중재 결과를 예상할 수 있다.If the upper arbiter 700 uses an arbitration scheme of priority structure, by comparing the priority of the access request selected by the lower arbiter 500 with the priority of other requests currently being accessed, The mediation results in the higher arbitrator 700 can be expected.

따라서 하위 중재기(500)에서 선정된 접근 요청에 대한 상위 중재기(70)의 중재가 실패할 가능성이 매우 높거나 현재 상위 중재기(700)의 요청 대기열(730)에 현재 대기 중인 접근 요청들이 많아 중재 실패 가능성이 높을 경우, 즉 접근 요청이 분주(busy)할 경우에는, 이미 하위 중재기(500)에 의해 선정된 요청의 우선 순위를 낮추어 다시 하위 중재기(500)에 의한 중재를 시도한다(S60,S30).Therefore, it is very likely that the arbitration of the upper arbiter 70 fails to access the access request selected by the lower arbiter 500, or the access requests currently waiting in the request queue 730 of the upper arbiter 700 are In the case of a high probability of arbitration failure, that is, when an access request is busy, the priority of the request already selected by the lower arbiter 500 is lowered, and the mediation by the lower arbiter 500 is attempted again. (S60, S30).

이와 같이 하위 중재기(500)에 의해 다시 중재를 시도하게 되면 다른 접근 요청이 선정되고, 이 다시 선정된 요청이 접근할 해당 공유 자원의 접근 요청 상태에 대한 정보(Req_stat[k], Queue_stat[k])를 상위 중재기(700)로부터 제공받아 래치(latch)한 후 분석한다. When the mediation is attempted by the lower arbiter 500 again, another access request is selected, and information on the access request status of the corresponding shared resource to be accessed by this reselected request (Req_stat [k], Queue_stat [k). ]) Is received from the upper arbitrator 700 and then latched.

이후 분석 결과에 따라 상위 중재기(700)가 분주(busy)하지 않으면, 해당 상위 중재기(700)로 접근 요청 신호(Req_k[i])를 구동하여 중재에 참여하게 된다(S70).Thereafter, if the upper arbiter 700 is not busy according to the analysis result, the upper arbiter 700 drives the access request signal Req_k [i] to the upper arbiter 700 to participate in the arbitration (S70).

이러한 상위 중재기(700)에 의한 중재가 수행되어 해당 공유 자원으로의 접근이 허용되면, 실제적인 공유 자원에 대한 접근이 이루어져 해당 서비스를 받게 된다(S80).When the mediation by the upper arbitrator 700 is performed and access to the corresponding shared resource is allowed, the access to the shared resource is actually performed to receive the corresponding service (S80).

이와 같이 본 발명 계층적 구조의 중재 시스템 및 이를 이용한 중재 방법에 따르면, 다수의 공유 자원을 갖는 시스템에서 다수의 하위 중재기(Sub-level arbiter)가 상위 중재기(Top-level arbiter)에서 제공되는 접근 요청 상황에 대한 정보를 반영하여 중재를 수행하기 때문에 다수의 요청에 대한 중재를 골고루 분산시킬 수 있게 된다. As described above, according to the hierarchical arbitration system and the arbitration method using the hierarchical structure, a plurality of sub-arbiters are provided in a top-level arbiter in a system having a plurality of shared resources. Since the arbitration is performed by reflecting the information on the access request situation, the arbitration of multiple requests can be evenly distributed.

따라서 접근 요청이 특정 공유 자원으로 집중되는 현상을 줄일 수 있으며, 이에 따라 시스템 대역폭의 부족으로 인한 시스템 오동작을 방지할 수 있기 때문에 시스템 전체의 성능을 향상시킬 수 있다는 효과가 있다.Therefore, it is possible to reduce the phenomenon that the access request is concentrated to a specific shared resource, thereby preventing system malfunction due to lack of system bandwidth, thereby improving the performance of the entire system.

Claims (5)

다수의 공유 자원을 갖는 임의의 시스템에서 각 공유 자원으로의 접근 요청에 대한 실제적인 접근을 제어하는 다수의 상위 중재기와;A plurality of higher arbiters for controlling actual access to access requests for each shared resource in any system having a plurality of shared resources; 상기 상위 중재기로부터 제공받은 해당 공유 자원으로의 접근 요청 상태에 대한 정보를 근거로 하여 상기 상위 중재기를 중재하는 다수의 하위 중재기를 포함하는 시스템에 있어서;12. A system comprising a plurality of lower arbiters for arbitrating the upper arbiters based on information on a status of a request for access to a corresponding shared resource received from the upper arbiters; 상기 다수의 하위 중재기는, 미리 선정된 외부의 다수 접근 요청들을 각각 분산한 후 상기 상위 중재기로 중재하는 것을 특징으로 하는 계층적 구조의 중재 시스템.And the plurality of lower arbitrators arbitrate each of a plurality of external access requests previously selected and arbitrate to the upper arbitrator. 제 1 항에 있어서, 상기 하위 중재기는, The method of claim 1, wherein the sub-arbitrator, 상기 발생된 다수의 접근 요청을 우선 순위에 따라 각각 선정하되, 상기 하위 중재기에서 선정된 접근 요청에 대한 상위 중재기의 중재가 실패할 가능성이 높거나 또는, 상기 상위 중재기의 요청 대기열에 현재 대기 중인 접근 요청들이 많아 중재 실패 가능성이 높을 경우(busy), 이미 상기 하위 중재기에 의해 선정된 요청의 우선 순위를 낮추어 다시 상기 하위 중재기에 의한 중재를 재시도하도록 하는 것을 특징으로 하는 계층적 구조의 중재 시스템.The plurality of generated access requests are respectively selected in order of priority, and the arbitration of the upper arbiter with respect to the access request selected by the lower arbiter is likely to fail, or is currently present in the request queue of the upper arbiter. When there is a high probability of arbitration failure due to a large number of pending access requests (busy), the hierarchical structure characterized by lowering the priority of the request already selected by the sub-arbitrator to retry the arbitration by the sub-arbitrator again. Arbitration system. 제 1 항에 있어서, 상기 하위 중재기는, The method of claim 1, wherein the sub-arbitrator, 상기 다수의 각 상위 중재기로 접근 요청 중인 이벤트 수;The number of events requesting access to each of the plurality of higher arbitrators; 해당 공유 자원으로 실제 접근을 기다리고 있는 요청 수에 대한 정보;Information about the number of requests waiting for actual access to the shared resource; 상기 다수의 각 상위 중재기로 접근 요청 중인 이벤트들의 우선 순위에 대한 정보중 적어도 어느 하나 이상의 정보를 상기 각각의 상위 중재기로부터 제공받는 것을 특징으로 하는 계층적 구조의 중재 시스템.And at least one or more pieces of information on the priority of the events being requested to access to each of the plurality of higher arbitrators are provided from the respective higher arbitrators. 다수의 하위 중재기와 다수의 상위 중재기를 포함하는 중재 시스템에서 공유 자원으로의 접근 요청이 다수 발생함에 따라, 이들 접근 요청을 해당 공유 자원에 중재함에 있어서, In arbitrating a mediation system including a plurality of subordinate arbitrators and a plurality of higher arbitrators, in the arbitration of these access requests to the shared resources, 상기 다수의 하위 중재기가 상기 발생된 다수의 접근 요청 중 임의의 접근 요청을 각각 선정하는 단계와,The plurality of sub-arbitrators respectively selecting any one of the generated plurality of access requests; 상기 선정된 요청을 접근시키기 위한 해당 공유 자원의 접근 요청 상태를 상기 상위 중재기로부터 제공받아 분석하는 단계와,Receiving and analyzing an access request state of a corresponding shared resource for accessing the selected request, from the higher arbiter; 상기 분석 결과에 따라, 상기 선정된 접근 요청을 해당 상위 중재기에 중재하는 단계와,Mediating the selected access request to a corresponding higher arbiter according to the analysis result; 상기 중재된 해당 요청에 따라 해당 공유 자원으로 실제 접근을 수행하는 단계를 포함하되,Performing physical access to the shared resource in accordance with the mediated request; 상기 미리 선정된 외부의 다수 접근 요청들을 각각 분산한 후 상기 상위 중재기로 중재하는 단계를 더 포함하는 것을 특징으로 하는 계층적 구조의 중재 방법.And arranging each of the plurality of predetermined external access requests and arbitrating to the upper arbitrator. 제 4 항에 있어서, The method of claim 4, wherein 상기 발생된 다수의 접근 요청을 우선 순위에 따라 각각 선정하되, 상기 하위 중재기에서 선정된 접근 요청에 대한 상위 중재기의 중재가 실패할 가능성이 높거나 또는, 상기 상위 중재기의 요청 대기열에 현재 대기 중인 접근 요청들이 많아 중재 실패 가능성이 높을 경우(busy), 이미 상기 하위 중재기에 의해 선정된 요청의 우선 순위를 낮추어 다시 상기 하위 중재기에 의한 중재를 재시도하도록 하는 것을 특징으로 하는 계층적 구조의 중재 방법. The plurality of generated access requests are respectively selected in order of priority, and the arbitration of the upper arbiter with respect to the access request selected by the lower arbiter is likely to fail, or is currently present in the request queue of the upper arbiter. If there is a high probability of arbitration failure due to a large number of pending access requests (busy), the hierarchical structure characterized in that the priority of the request already selected by the subordinate arbiter is lowered so as to retry the arbitration by the subordinate arbiter again. Arbitration Method.
KR1019990009711A 1999-03-22 1999-03-22 Hierarchical Arbitration System, Method for arbitrating using the system KR100606701B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990009711A KR100606701B1 (en) 1999-03-22 1999-03-22 Hierarchical Arbitration System, Method for arbitrating using the system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990009711A KR100606701B1 (en) 1999-03-22 1999-03-22 Hierarchical Arbitration System, Method for arbitrating using the system

Publications (2)

Publication Number Publication Date
KR20000060998A KR20000060998A (en) 2000-10-16
KR100606701B1 true KR100606701B1 (en) 2006-07-31

Family

ID=19577325

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990009711A KR100606701B1 (en) 1999-03-22 1999-03-22 Hierarchical Arbitration System, Method for arbitrating using the system

Country Status (1)

Country Link
KR (1) KR100606701B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022221068A1 (en) * 2021-04-16 2022-10-20 Brookhaven Science Associates, Llc Event-driven readout system with non-priority arbitration for multichannel data sources

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100429894B1 (en) * 2001-10-30 2004-05-03 한국전자통신연구원 Apparatus and method for managing network faults by multi-agent communication

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05175968A (en) * 1991-12-20 1993-07-13 Nec Corp Common access controller
JPH06104916A (en) * 1992-09-17 1994-04-15 Nippon Telegr & Teleph Corp <Ntt> Access arbiter
JPH07303109A (en) * 1994-05-09 1995-11-14 Matsushita Electric Ind Co Ltd Packet communication equipment
KR19990003941A (en) * 1997-06-26 1999-01-15 김영환 Multilevel control bus arbitrator

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05175968A (en) * 1991-12-20 1993-07-13 Nec Corp Common access controller
JPH06104916A (en) * 1992-09-17 1994-04-15 Nippon Telegr & Teleph Corp <Ntt> Access arbiter
JPH07303109A (en) * 1994-05-09 1995-11-14 Matsushita Electric Ind Co Ltd Packet communication equipment
KR19990003941A (en) * 1997-06-26 1999-01-15 김영환 Multilevel control bus arbitrator

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022221068A1 (en) * 2021-04-16 2022-10-20 Brookhaven Science Associates, Llc Event-driven readout system with non-priority arbitration for multichannel data sources

Also Published As

Publication number Publication date
KR20000060998A (en) 2000-10-16

Similar Documents

Publication Publication Date Title
US6073132A (en) Priority arbiter with shifting sequential priority scheme
EP1403773B1 (en) Resource management device
US6473817B2 (en) Method and apparatus for efficient bus arbitration
US5168570A (en) Method and apparatus for a multiple request toggling priority system
US5996037A (en) System and method for arbitrating multi-function access to a system bus
US5239651A (en) Method of and apparatus for arbitration based on the availability of resources
US6519666B1 (en) Arbitration scheme for optimal performance
EP2192496B1 (en) Arbitration in multiprocessor device
US8190801B2 (en) Interconnect logic for a data processing apparatus
JP2009512092A (en) Resolving dynamic priority conflicts in multiprocessor computer systems with shared resources
JPH0773137A (en) Method, adaptor and system for arbitration of multilevel bus
US6628662B1 (en) Method and system for multilevel arbitration in a non-blocking crossbar switch
US7664901B2 (en) Data processing apparatus and method for arbitrating access to a shared resource
US20070239888A1 (en) Controlling transmission of data
KR19990003941A (en) Multilevel control bus arbitrator
US20120317322A1 (en) High fairness variable priority arbitration method
JPH0635729A (en) Method and device for controlling resource access by plurality of user in data processing system
US5805835A (en) Parallel architecture computer system and method
US7299311B1 (en) Apparatus and method for arbitrating for a resource group with programmable weights
US5905878A (en) Method for controlling access to a computer bus
US6678774B2 (en) Shared resource arbitration method and apparatus
KR100606701B1 (en) Hierarchical Arbitration System, Method for arbitrating using the system
US20090006693A1 (en) Apparatus and Method for Fairness Arbitration for a Shared Pipeline in a Large SMP Computer System
CN103620568B (en) Methods, devices and systems for variable length arbitration
JP3094944B2 (en) Arbitration method and device

Legal Events

Date Code Title Description
N231 Notification of change of applicant
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: 20130624

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140624

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150624

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160624

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee