KR100606701B1 - Hierarchical Arbitration System, Method for arbitrating using the system - Google Patents
Hierarchical Arbitration System, Method for arbitrating using the system Download PDFInfo
- 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
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/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40084—Bus 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
도 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
하위 중재기(10,11,12)에서의 중재 결과에 따라, 각 하위 중재기(10,11,12)마다 하나의 요청(Req[1], Req[2], Req[n])이 선정되고, 일단 선정된 해당 요청은 다시 상위 중재기(Top-level arbiter)(20)에 전달된다.According to the arbitration results in the
상위 중재기(20)는 하위 중재기(10,11,12)로부터 전달받은 요청들간에 다시 중재를 실시한 후 하나의 요청을 최종적으로 선정한다.The
이후 최종 선정된 요청에 대한 서비스 즉 공유 자원(30)으로의 실제적 접근이 이루어지며, 공통 어드레스/명령 또는 전용 어드레스/명령에 따른 공통 데이터나 전용 데이터를 공유 자원과 리퀘스터간에 주고받는다.Afterwards, a real access to the service, that is, the shared
그런데 이때 상위 중재기(20)내에 요청 대기열(Queue)이 존재하지 않는 경우에 서비스가 완료되면 다시 각 요청들에 대한 중재가 하위 중재기(10,11,12) 및 상위 중재기(20)에 의해 시도되지만, 상위 중재기(20)내에 요청 대기열(Queue)이 존재하는 경우에는 최종 선정된 요청이 요청 대기열에 로드(Load)될 수 있을 때 비로소 다시 각 요청들에 대한 중재가 시도된다. In this case, when a request queue is not present in the
이와 같은 동작을 설명하기 위한 상위 중재기의 상세 구성을 도 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
전체적으로 보면 각각의 리퀘스터(Requester)(미도시)가 상위 중재기(20)에 접근 요청 신호(Req[I])를 구동하고, 상위 중재기(20)는 이에 대한 응답으로 접근 허용 신호(grn[I])를 구동함으로써 중재가 이루어진다. In general, each requester (not shown) drives the access request signal Req [I] to the
또한 리퀘스터(미도시)가 우선 순위 신호(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
이후 선정된 접근 요청에 대한 정보가 요청 대기열(23)에 저장되고, 자원 접근 제어부(24)의 제어신호에 의해 공유 자원으로의 실제적 접근이 이루어진다.Thereafter, the information on the selected access request is stored in the
그런데 도 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
즉, 도시된 바와 같이 다수의 상위 중재기(60,61,62)가 구비되어 각 공유 자원(70,71,72)에 대한 접근을 제어하게 된다.That is, as shown, a plurality of
그러나 이와 같이 다수의 공유 자원(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
이는 하위 중재기(40,41,42)에서 1차적으로 선정된 요청들이 공유 자원 전체로 분산되지 않고 소수의 공유 자원으로 집중되는 경우가 발생될 수 있기 때문이 다.This is because the requests initially selected in the
도 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
여기서는 리퀘스터(미도시)가 우선 순위 신호(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
이후 선정된 접근 요청에 대한 정보들은 요청 대기열(130)에 저장되며, 상위 중재 인터페이스부(140)에 의해 상위 중재기(300)로 전달된다. Thereafter, the information on the selected access request is stored in the
이 때 주로 어드레스에 의해 결정되는 접근 영역에 따라 제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
도 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
여기서도 하위 중재기(100)가 우선 순위 신호(pri_k[i])를 구동하는 것을 나타내었는데, 이는 역시 우선 순위 구조의 중재 방식을 사용할 경우를 가정한 것이다.Here, it is shown that the
먼저 하위 중재기(100)로부터 상위 중재기(300)에 접근 요청 신호(Req[i][j])를 구동되면, 요청 선정부(Winner Determining Block)(320)는 하나의 접근 요청을 선정한다. First, when the access request signal Req [i] [j] is driven from the
이후 선정된 접근 요청에 대한 정보들은 요청 대기열(330)에 저장되며, 자원 접근 제어부(340)의 제어신호에 의해 공유 자원으로의 실제적 접근이 이루어진다.Thereafter, the information on the selected access request is stored in the
도 4와 도 5를 살펴보면, 공유 자원이 다수인 경우 하위 중재기(100)에 의해 1차 선정된 요청은, 그 요청이 주로 어드레스에 의해 결정되는 접근 영역에 따라 정해진 공유 자원에 해당하는 상위 중재기(300)에 전달된다.4 and 5, when there are a plurality of shared resources, a request selected first by the
이 같은 경우에도 하위 중재기(100)에서 1차적으로 선정된 요청들이 공유 자원 전체로 분산되지 않고 소수의 공유 자원으로 집중되는 경우가 발생될 수 있기 때문에 효율적인 공유 자원으로의 접근이 어렵다.Even in such a case, since the requests primarily selected by the
따라서 종래에는 요청들이 일부 공유 자원으로 집중되는 경우에, 요청들이 집중되는 공유 자원에 대한 요청들의 대기 시간(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
본 발명에서는 도 4 및 도 5에 도시된 중재 시스템과 달리 하위 중재기(500)가 상위 중재기(700)부터 현재 해당 공유 자원(800)으로의 접근 요청 상태에 대한 정보를 제공 받아 자신의 중재에 이용한다는 것이다. In the present invention, unlike the arbitration system illustrated in FIGS. 4 and 5, the
즉 하위 중재기(500)의 요청 선정부(520)가 공유 자원(800)으로의 접근 요청 상태에 대한 정보를 이용하여 특정 공유 자원으로의 접근 요청이 집중되는 현상을 줄이도록 한다는 것이다.That is, the
이 때 접근 요청 상태에 대한 정보를 하위 중재기(500)에 전달하기 위해 사 용되는 신호는 다음과 같다.At this time, the signal used to deliver information about the access request status to the
"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
본 발명에서는 도 4 및 도 5에 도시된 중재 시스템과 달리 상위 중재기(700)가 하위 중재기(500)에게 현재 해당 공유 자원(800)으로의 접근 요청 상태에 대한 정보를 제공하여, 이 정보를 하위 중재기(500)로 하여금 중재에 이용할 수 있도록 한다는 것이다. In the present invention, unlike the arbitration system shown in Figs. 4 and 5, the
즉, 요청 래치부(710)에서는 현재 해당 상위 중재기(700)로 접근 요청 중인 이벤트 수를 나타내는 "Req_stat[k]"를 하위 중재기(500)에 전달하고, 요청 대기열(730)에서는 현재 해당 상위 중재기(700)의 제어에 의해 실제 공유 자원으로의 접근이 허용되어 실제 접근을 기다리고 있는 요청 수를 나타내는 "Queue_stat[k]"를 전달함으로써, 이들 정보를 하위 중재기(500)가 사용할 수 있도록 한다는 것이다.That is, the
도 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
이 때 만약 하나 이상의 요청이 발생할 경우에는 우선 순위 구조의 방식을 이용하여, 우선 순위가 가장 높은 요청을 선정한다(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
이에 따라 하위 중재기(500)는 제공받은 정보를 분석하여, 접근 요청하려는 해당 공유 자원(800)에 현재 얼마나 많은 접근 요청이 있는지, 이미 접근이 허용되어 현재 대기 중인 요청들이 얼마나 되는지를 알 수 있게 된다.Accordingly, the
만약 상위 중재기(700)가 우선 순위 구조의 중재 방식을 사용할 경우에는, 하위 중재기(500)에 의해 선정된 접근 요청의 우선 순위와 현재 접근 요청 중인 다른 요청들에 대한 우선 순위를 비교함으로써, 상위 중재기(700)에서의 중재 결과를 예상할 수 있다.If the
따라서 하위 중재기(500)에서 선정된 접근 요청에 대한 상위 중재기(70)의 중재가 실패할 가능성이 매우 높거나 현재 상위 중재기(700)의 요청 대기열(730)에 현재 대기 중인 접근 요청들이 많아 중재 실패 가능성이 높을 경우, 즉 접근 요청이 분주(busy)할 경우에는, 이미 하위 중재기(500)에 의해 선정된 요청의 우선 순위를 낮추어 다시 하위 중재기(500)에 의한 중재를 시도한다(S60,S30).Therefore, it is very likely that the arbitration of the
이와 같이 하위 중재기(500)에 의해 다시 중재를 시도하게 되면 다른 접근 요청이 선정되고, 이 다시 선정된 요청이 접근할 해당 공유 자원의 접근 요청 상태에 대한 정보(Req_stat[k], Queue_stat[k])를 상위 중재기(700)로부터 제공받아 래치(latch)한 후 분석한다. When the mediation is attempted by the
이후 분석 결과에 따라 상위 중재기(700)가 분주(busy)하지 않으면, 해당 상위 중재기(700)로 접근 요청 신호(Req_k[i])를 구동하여 중재에 참여하게 된다(S70).Thereafter, if the
이러한 상위 중재기(700)에 의한 중재가 수행되어 해당 공유 자원으로의 접근이 허용되면, 실제적인 공유 자원에 대한 접근이 이루어져 해당 서비스를 받게 된다(S80).When the mediation by the
이와 같이 본 발명 계층적 구조의 중재 시스템 및 이를 이용한 중재 방법에 따르면, 다수의 공유 자원을 갖는 시스템에서 다수의 하위 중재기(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)
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)
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)
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)
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 |
-
1999
- 1999-03-22 KR KR1019990009711A patent/KR100606701B1/en not_active IP Right Cessation
Patent Citations (4)
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)
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 |