KR20010102142A - 공유 자원 중재 방법 및 장치 - Google Patents

공유 자원 중재 방법 및 장치 Download PDF

Info

Publication number
KR20010102142A
KR20010102142A KR1020017010327A KR20017010327A KR20010102142A KR 20010102142 A KR20010102142 A KR 20010102142A KR 1020017010327 A KR1020017010327 A KR 1020017010327A KR 20017010327 A KR20017010327 A KR 20017010327A KR 20010102142 A KR20010102142 A KR 20010102142A
Authority
KR
South Korea
Prior art keywords
agent
list
access
priority
shared resource
Prior art date
Application number
KR1020017010327A
Other languages
English (en)
Other versions
KR100757791B1 (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 롤페스 요하네스 게라투스 알베르투스
Publication of KR20010102142A publication Critical patent/KR20010102142A/ko
Application granted granted Critical
Publication of KR100757791B1 publication Critical patent/KR100757791B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)

Abstract

메모리 등의 공유자원을 사용하기 위한 에이전트를 선택하는 중재장치를 개시함. 정규 라운드 로빈 리스트가 부트 동작동안 선택 프로세스에 이용된다. 초기화 프로세스동안, 시스템 필요조건에 따라 동적 리스트가 생성되며, 이 동적 리스트 선택프로세스는 임의의 형태를 취할 수 있다. 제 1 모드에서 이 프로세스는 우선 순위로 리스트 된 에이전트만을 선택하는데, 이 에이전트중 임의의 하나는 소정주기의 선택동안 반복될 수 있다. 제 2 모드에서, 이 프로세스는 선택된 우선 순위 에이전트가 아이들상태에 있는 경우 지정된 버디 에이전트를 선택할 수 있다. 어느 한 모드에서 한 세트의 우선 순위 선택규칙에 따라, 소정 리스트 엔트리 슬롯에 있어 지정된 상위 우선 순위 에이전트가 아이들상태에 있는 경우에 하나 이상의 최하위 우선 순위 에이전트가 액세스될 수 있다.

Description

공유 자원 중재 방법 및 장치{SHARED RESOURCE ARBITRATION METHOD AND APPARATUS}
중재기는, 다수의 에이전트 즉 리퀘스터들 간에 메모리나 통신버스 등의 공유자원에 대한 액세스 허가를 제어한다. 메모리자원의 경우에, 위의 리퀘스터는 중앙처리장치(CPU), 스크린 리프레시(screen refresh) DMA(직접 메모리 액세스)프로세서, 3D 드로잉 블록(drawing block) DMA, 2D 드로잉 블록 DMA, USB 인터페이스, 이더넷 인터페이스 등을 포함할 수 있으며, 이들 각각의 장치는 공통자원에 대해 경합하지만 각 에이전트나 리퀘스터의 필요조건은 소정 시간에 실행되는 데이터처리의 타입에 따라 가변적이다.
현재 중재 태스크(task)를 실행하는 공지의 방법은, 통상적으로 복잡하고 비적응적인 스케줄링 기술을 이용하거나, 가변적인 시스템부하에 비적응적인 아주 간단한 방법을 이용하고 있다. 이러한 기술의 예로, "라운드 로빈(round robin)", 고정 우선 순위(fixed priority), 다중레벨 우선 순위, 중재자원에 대한 이전의 선점자에 따라 가변적인 리퀘스터 우선 순위 방식 등을 들 수 있다. 복잡한 중재시스템 하나를 예시하면, 이 시스템은 소정시간의 시스템 필요조건에 따라 전술한 몇 개의 중재 방법 중에서 다른 한 방법들을 동적으로 절환하는 방식을 이용하고 있다.
따라서, 소정 세트의 에이전트 또는 자원 리퀘스터의 가변적인 필요조건에 대해 고유한 적응성을 가지면서, 필요한 곳에 다른 에이전트를 부가해서 새롭게 할당된 태스크를 실행할 수 있게 하는 간단한 중재방법이 요구되고 있다.
본 발명은 일반적으로 공유자원 액세스 중재(shared resource access arbitration)에 관한 것으로, 특히 데이터 처리 시스템의 메모리 등의 공유 공통자원을 사용하고자 하는 복수의 에이전트 즉 리퀘스터(requester)의 요구에 부합하는 적응성을 제공하는 방법 및 장치에 관한 것이다.
도 1은 본 발명의 일 실시예에 이용된 중재기를 구비한 데이터 처리 시스템도,
도 2는 본 발명의 일 실시예를 구현한 중재시스템의 블록도,
도 3은 본 발명의 일 실시예를 구현한 데이터 처리 시스템에 이용된 흐름도,
도 4는 본 발명의 일 실시예에 이용된 정적(static) 즉, 부트 리스트의 예시도,
도 5는 본 발명의 일 실시예에 이용된 동적(dynamic) 즉, 정규동작 리스트의 예시도.
본 발명은 적어도 두 가지 모드에서 동작할 수 있는 중재방법에서 구동된 리스트를 포함한다. 부트모드(boot mode)에서 모든 가능한 리퀘스터를 포함하는 리스트가 사용되며, 중재기는 "라운드 로빈" 과 같은 한 가지 방법을 이용해서 시스템 초기화 프로세스동안 공유자원을 할당할 수 있다. 초기화 후, 다른 즉 제 2 리스트를 사용해서 공유자원에 대한 액세스가 허여되는 특정 에이전트를 지정한다. 이 제 2 리스트는 통상적으로 부트 리스트 보다 소수의 고유한 에이전트를 나타내며, 리스트에 명명된 에이전트와 리스트의 번역(interpretation) 모두에 대해 동적으로 변화될 수 있어서, 시스템부하 필요조건에 따라 큰 적응성을 부여할 수 있다.
본 발명의 특징에 대한 보다 완전한 이해를 위해, 이하 첨부도면을 참조하여 상세히 설명한다.
도 1을 보면, 블록(10)은 하나이상의 CPU, 모니터, 하나이상의 디스크드라이브 등(이들은 모두 공지의 요소이므로, 특별히 도시치 않는다)을 포함하는 데이터 처리 시스템을 나타내며, 블록(10)내의 공유메모리 자원블록(12)은 특히 중재기(14)와 함께 도시한다. 메모리자원(12)에 대한 에이전트 즉 리퀘스터는 0,1,N으로서 또한 도면번호 16,18,20으로서 각각 도시한다. 이 에이전트 각각은 요구 및 허가링크를 거쳐 중재기(14)에 접속되며, 공통버스(22)를 통해 메모리자원(12)에 접속되는 것으로 도시된다.
도 2에 있어서, 중재기(14)는 리스트 선택부(32)와 프로그래밍 인터페이스(34)에 신호를 공급하는 제어 논리 블록(30)을 구비하는 것으로 보다 상세히 도시된다. 리스트 선택부(32)는 부트 즉 정적 리스트(36), 동적 즉 정규동작 리스트(38) 및 파선블록(40)에 접속되는데, 이 파선블록은 본 발명의 일부의 바람직한 실시예에서 바람직한 임의의 제 2 동적 리스트이다. 리스트 선택부(32)는 또한, 리드(lead;44,46)를 통해 우선 순위와 버디(buddy) 에이전트 지정자를 각각 공급하는 요구정합블록(42)에 접속되며, 통상, 리드(44)를 통해 공급된 우선 순위 에이전트는 제어 논리 블록(30) 또는 프로그래밍 인터페이스(34)에 의해 결정된 리스트(36,38,40)중 하나로부터 얻어진다. 버디 에이전트 지정자는 위에서 액세스되는 동적 리스트의 특정 엔트리 액세스슬롯으로부터 획득된다. 제어 논리 블록(30)은 리드(48)를 통해 모드선택신호를 요구정합블록(42)에 공급하여 높은 우선 순위에 있는 에이전트가 아이들상태에 있는 경우, 만약 있다면, 가능한 다른 에이전트 중 어느 에이전트가 선택할지를 상기 블록(42)에 전달한다. 상기 프로그래밍 인터페이스(34)는 또한, 디폴트 에이전트블록(50)과 요구정합블록(42)에 신호를 공급한다. 또한 도시한 바와 같이, 요구정합블록(42)은 에이전트 각각으로부터 요구입력과 그 에이전트 각각으로의 허가출력을 갖는다.
도 3의 흐름도는 부트모드 결정블록(70)으로부터 시작하며, 시스템이 아직 초기화중인 경우, 도 4에 도시한 바와 같이, 부트 리스트로부터 다음 부트 에이전트 선택블록(72)으로 프로세스가 진행한다. 도 4의 엔트리 각각은 "라운드 로빈"절차로 연속으로 액세스된다. 환언하면, 리스트 상의 첫째 엔트리로부터 마지막 엔트리까지의 각각의 에이전트에 대해 연속적으로 액세스요구가 검사되면, 프로세스는 리스트상의 첫째 아이템으로 복귀한다. 검사는 판별블록(74)에서 행해져서 에이전트의 메모리자원(12)에 대한 액세스 요구여부를 확인할 수 있다. 액세스요구가 없다면, 프로세스가 판별블록(76)으로 진행되어 초기화 완료 및 부트모드 종료여부를 판별한다. 블록(74)에서 선택된 에이전트가 액세스를 요구한 것으로 판별된 경우, 블록(78)에서 액세스 요구가 허가된다. 선택된 에이전트가 메모리자원(12)을 다 쓴 경우, 프로세스는 블록(76)으로 진행한다. 블록(76)에서 시스템이 아직 부트모드에 있는 것으로 판별된 경우, 프로세스는 블록(72)으로 복귀하여 리스트에서 다음 부트 에이전트를 선택한다. 한편, 블록(76)에서 초기화가 완료된 것으로 판별된 경우, 프로세스가 부트모드블록(70)으로 복귀하고 이어서 다음 우선 순위 에이전트 선택블록(80)으로 진행한다. 판별블록(82)에서는 검사된 엔트리에 대한 선택된 우선 순위 에이전트가 메모리자원(12)에 대해 액세스를 요구했는지 여부를 확인하는 검사가 진행된다.
도 5의 일례의 동적 즉, 정규리스트에서 우선 순위 에이전트 및 관련 버디 에이전트를 기술한다. 도시한 바와 같이, 9개의 엔트리 각각에 대해 1, 2, 3 에이전트가 반복되며, 이 실시예에서 에이전트 4, 5는 낮은 우선 순위를 가지므로 우선 순위 에이전트중 하나가 일시적으로 아이들상태에 있는 경우에만 액세스가 허가된다.
도 3을 다시 참조하면, 선택된 우선 순위 에이전트가 액세스 요구한 경우, 블록(84)에서 액세스가 허가된다. 이 에이전트가 액세스를 완료하면, 본 발명의 바람직한 실시예에서 판별블록(86)으로 진행하고, 부트모드 변화가 없는 경우, 프로세스가 블록(86)에서 블록(80)으로 진행하여 도 5의 리스트로부터 다음 우선 순위의 에이전트를 선택한다. 부트 변화가 없는 경우, 프로세스는 블록(70)으로 복귀한다.
도 1, 3 및 5를 참조하면, 판별블록(82)이 선택된 우선 순위의 에이전트가 액세스 요구를 하지 않은 경우(즉 일시적으로 아이들상태), 판별블록(88)으로 진행하여 도 1의 프로그래밍 인터페이스블록(34)에 따라 버디 모드가 이네이블(enable) 되었는지를 판별한다. 버디 모드가 이네이블 되었으면, 선택된 엔트리에 대한 리스트 된 버디 에이전트가 검사된다. 선택된 엔트리가 2인 경우, 도 5에 따라 우선 순위 에이전트가 에이전트 3이되며, 버디는 에이전트 5가된다. 에이전트 5가 액세스를 요구한 경우, 이 요구는 블록(90)에서 허가되며, 에이전트 5가 메모리자원(12)에 대한 액세스를 완료한 경우, 프로세스가 블록(86)으로 진행한다.
판별블록(88)에서의 판별이 버디 이네이블 또는 선택된 버디 요구 액세스에 대해 NO로 판별된 경우, 프로세스는 판별블록(92)으로 진행하여, 이 블록에서, 하나 이상의 디폴트 에이전트가 액세스를 요구하고 있는지 여부에 따라 디폴트 이네이블이 검사된다. 디폴트 이네이블과 함께 액세스 요구가 있는 경우, 블록(86)으로 복귀이전에 블록(94)에 따라 그 요구가 허가된다. 디폴트 이네이블이 없거나 디폴트 에이전트 액세스요구가 없는 경우, 프로세스는 블록(92)으로부터 직접적으로 블록(86)으로 진행한다.
이어서 하나 이상의 디폴트 에이전트가 이네이블된다. 이 이네이블 통지는프로그래밍 인터페이스(34)에 의해 논리블록(30)과 요구블록(42)으로 전달된다. 도 2의 중재기(14)는 주 에이전트와 보조 에이전트의 가능성을 도시한다. 위의 설명으로부터, 어느 에이전트가 메모리자원(12)에 대한 액세스를 허가받을 지를 선택하도록 중재기(14)가 동적 리스트를 사용하고 있는 경우, 그 때의 시스템 필요조건에 따라 큰 적응성이 부여될 수 있음을 알 수 있다. 바꾸어 말하면, 동적 리스트로부터의 선택은 우선 순위 에이전트의 선택이거나, 우선 순위 에이전트가 일시적으로 아이들상태에 있는 경우에 있어 지정된 버디 에이전트를 선택하는 것이 될 수 있다.
위의 설명으로부터, 버디 에이전트가 이네이블되지 않고 두 개의 디폴트 에이전트가 이네이블되는 선형 동적 모드상황에 있어서 도 5의 테이블상의 각 엔트리 위치에 대해 다음의 테이블에 따라 액세스가 결정된다.
리스트 에이전트 제 1 (최고) 우선 순위
디폴트 에이전트 0 제 2 우선 순위
디폴트 에이전트 1 제 3 (최저) 우선 순위(보조 디폴트 에이전트)
버디 모드가 사용되고, 두 개의 디폴트 에이전트가 이네이블되는 경우, 다음의 테이블이 도 5의 테이블의 각 엔트리 위치에 대한 액세스를 결정하는데 이용될 수 있다.
주 에이전트 제 1 (최고) 우선 순위
버디 에이전트 0 제 2 우선 순위
디폴트 에이전트 0 제 3 우선 순위
디폴트 에이전트 1 제 4 (최저) 우선 순위
중재방법은 몇 가지 다른 모드에서 동작할 수 있으며, 초기화 동안, 공유자원에 대한 액세스를 필요로 하는 각각의 에이전트는 도 4에 도시한 고정 즉 정적 리스트에 따라 액세스가 부여된다. 초기화 프로세스동안, 많은 에이전트가 주어진 자원에 대한 액세스를 필요로 하지 않으므로, 선택부는 그 리스트대로 여러 번 순환하며, 많이 리스트된 에이전트 중 소수에 대해 공유자원에 대한 액세스를 제공한다. 초기화가 완료되면, 판별블록(76)에서 이러한 변화가 검출되며, 상기 리스트 선택부(32)는 블록(36)에서 정적 리스트 선택을 정지하고, 블록(38)의 동적 리스트를 선택하는데 그 한 예를 도 5에 도시했다.
도 5의 예에 있어서, 에이전트 1,2 및 3은 메모리에 대한 액세스를 확실히 보장받는 "우선 순위" 에이전트이다. 에이전트 4,5는 상기 우선 순위 에이전트가 액세스를 필요로 하지 않을 때에만, 메모리에 대한 액세스를 보장받는 낮은 우선 순위 에이전트이다. 이 경우, 에이전트 6은 블록(50)에서 최저 우선 순위에 있어서 주/버디 에이전트가 메모리에 대한 액세스를 요하지 않는 경우에만 액세스를 보장받는 디폴트 에이전트를 나타낸다.
도 2의 중재기는 도 5의 리스트에 포함된 하나 이상의 에이전트를 가지므로(도시 않음), 도 2의 블록(50)은 불필요하다. 리스트 선택부(32)는 프로그래밍 인터페이스(34) 및 시스템 필요조건에 따라 하나 이상의 디폴트가 이네이블되는 경우 디폴트 에이전트 출력을 추가적으로 갖는다.
도 3의 흐름도에 따라 중재기는 시스템조건이 변경되어 동적 리스트가 변경될 필요가 있는 경우, 부트모드로 복귀할 수 있는데, 부트모드 조건의 이러한 변화는 도 3의 판별블록(86)에서 검출된다. 동적 모드 변경이 완료되면, 이러한 동작 즉 단계가 블록(70)에서 검출되며, 중재기[이에 수반한 리스트 선택부(32)]가 새로이 변경된 동적 리스트(38)에 의거하여 액세스를 할당한다.
본 발명의 다른 바람직한 실시예에서는 제 2 동적 리스트[도 2에 파선블록(40)으로 도시]를 사용하여 모드변화에 기여한다. 두 개의 동적 리스트를 사용함으로서, 현재 비사용 즉 비선택 리스트가 변경될 수 있는 동시에 다른 리스트가 사용된다. 비선택 리스트가 바르게 변경 즉 갱신되면, 중재기는 '스위치 리스트'라 할 수 있다. 선택 프로세스에서의 원활한 즉 적시점(timely point)에서 중재기는 리스트를 변경하고, 이전에 사용된 리스트를 변경가능하게 사용할 수 있는 동시에 새로이 선택된 리스트를 중재를 위해 사용할 수 있어서, "핑퐁(ping-pong)"형 동작(즉 하나가 사용되면서 다른 하나가 변경됨)을 할 수 있다.
통상, 도 5의 리스트에는 에이전트보다 많은 엔트리가 있다. 따라서, 소정의 에이전트를 리스트에 하나 이상 편입시킴으로써 그 에이전트에 공유자원에 대한 보다 많은 액세스를 할당할 수 있다. 도시된 바와 같이, 도 5는 9개의 엔트리를 예시하며, 버디 모드가 이네이블되지 않는 경우, 에이전트 1은 중간 엔트리 2, 4, 6, 8에 편입된 에이전트 2, 3과 함께 제 1의 8 엔트리들의 다른 모든 엔트리들(1, 3, 5, 7)에 대해 리스트될 수 있다. 이 경우 엔트리 9는 블랭크(blank)로 남으며, 비존재 에이전트가 리스트될 수 있다. 도 3의 흐름도는 이 엔트리에 대한 요구가 없는 것으로 결정한다. 그러나, 에이전트 1에게는 50%의 시간이 부여된다.
상기 리스트는 도시처럼, 고정장으로 되거나, 리스트의 최종 유효엔트리를 지정하도록 리스트지정의 마지막을 포함할 수 있어서, 리스트에 정해진 마지막의 검출시 리스트의 시작으로 흐름도가 복귀한다.
지금까지 본 발명의 일 실시예를 참고로 본 발명을 기술하였으나, 본 발명은 이에 제한되지 않으며, 이하의 부속 청구범위의 사상 및 영역을 일탈치 않는 범위내에서 당업자에 의해 용이하게 수정 및 변형실시될 수 있다.

Claims (15)

  1. 현재의 한 에이전트를 선택해서 공유자원(12)을 사용하는 중재방법으로서,
    중재시스템을 초기화하면서 상기 공유자원(12)의 다음 액세스슬롯 유저를 선택함에 있어 중재기(14)에 의해 연속적으로 액세스되는 저장 리스트(36)로부터 제 1 포괄 모드(a first comprehensive mode)에서 작동시키는 단계; 및
    상기 공유자원(12)의 다음 액세스슬롯 유저를 선택함에 있어 중재기(14)에 의해 연속적으로 액세스되는 동적으로 생성된 에이전트 리스트(38)로부터 정규동작동안 제 2 선택 모드(a second selective mode)에서 작동시키는 단계를 포함하는 중재방법.
  2. 제 1 항에 있어서,
    상기 제 2 모드에서 사용을 위해 에이전트 리스트(도 5, 또는 30,38 및 46)를 형성하되, 그 리스트내의 적어도 하나의 우선 순위 에이전트가 추가로 다른 버디 에이전트를 지정하게 하는 단계;
    상기 우선 순위 에이전트(82)에 상기 공유자원(12)에 대한 액세스를 정상적으로 허가하는 단계; 및
    상기 우선 순위 에이전트가 일시 아이들상태에 있는 경우 상기 지정 버디 에이전트(88)에게 액세스슬롯을 부여하는 단계를 더 포함하는 중재방법.
  3. 제 1 항에 있어서,
    상기 제 2 모드에서 사용을 위해, 우선 순위 에이전트를 포함하는 에이전트 리스트(도 5, 또는 30,38 및 46)를 형성하는 단계;
    상기 우선 순위 에이전트(82)에 상기 공유자원(12)에 대한 액세스를 정상적으로 허가하는 단계; 및
    현재 선택된 우선 순위 에이전트가 상기 공유자원(12)에 대한 액세스를 필요로 하지 않는 경우, 지정된 디폴트 에이전트(92)에게 액세스를 허가하는 단계를 더 포함하는 중재방법.
  4. 제 2 항에 있어서,
    상기 제 2 모드에서의 사용을 위해 디폴트 에이전트(50)를 지정하는 단계; 및
    현재 선택된 우선 순위 에이전트(82)와 상기 지정 버디 에이전트(88)가 상기 공유자원에 대한 액세스를 필요로 하지 않는 경우, 상기 지정 디폴트 에이전트(92)에게 액세스를 허가하는 단계를 더 포함하는 중재방법.
  5. 제 1 항에 있어서,
    상기 제 2 모드에 사용을 위해, 고유한 우선 순위 액세스 에이전트 보다 많은 엔트리를 갖는 에이전트 리스트(도 5, 또는 30,38 및 46)를 형성해서, 상기 리스트(도 5, 또는 30,38 및 46)에 있는 적어도 하나의 우선 순위 에이전트가 중재 주기에서 1회 이상 공유자원(12)에 대한 액세스를 갖도록 하는 단계를 더 포함하는 중재방법.
  6. 제 1 항에 있어서,
    상기 저장리스트(36)로부터 제 1 포괄 모드로 작동시키면서, 상기 공유자원(12)의 다음 액세스슬롯 유저를 선택함에 있어 상기 중재기에 의해 연속적인 액세스 방식으로 사용되는 동적으로 생성된 에이전트 리스트(38)의 포맷을 변경하는 단계를 더 포함하는 중재방법.
  7. 제 1 항에 있어서,
    동적으로 생성된 제 1 및 제 2 에이전트 리스트(38,40)를 얻는 단계; 및
    상기 동적으로 생성된 제 1 및 제 2 에이전트 리스트 중 하나부터 작동시켜 이들 리스트중 나머지 리스트의 포맷을 변경하는 단계를 더 포함하는 중재방법.
  8. 공유자원(12)에 대한 액세스를 제어하는 데이터 처리 시스템(10)내의 중재기(14)로서,
    고정리스트(36);
    초기화 프로세스동안 생성되고, 정규동작시 공유자원(12)에 대한 액세스를 허가받는 에이전트를 포함하는 동적 리스트(38); 및
    상기 데이터 처리 시스템이 초기화되는 동안, 상기 공유자원(12)의 다음 액세스슬롯 유저의 선택에 있어 상기 고정리스트(36)를 연속적으로 액세스하고, 정규동작동안, 상기 공유자원(12)의 다음 액세스슬롯 유저의 선택에 있어 상기 동적 리스트(38)를 액세스하는 선택부(32)를 포함하는 중재기.
  9. 제 8 항에 있어서,
    시스템 동작변화가 검출되면, 상기 동적 리스트(38)에 리스트 된 고유 에이전트의 수를 변경하는 수단(34)을 더 포함하는 중재기.
  10. 제 8 항에 있어서,
    시스템 동작변화가 검출될 때의 상기 공유자원의 사용과 관련하여 선택된 우선 순위 에이전트가 일시 아이들상태에 있는 경우, 상기 동적 리스트(38)에서 선택되는 에이전트의 해석을 변경하는 수단(34)을 더 포함하는 중재기.
  11. 제 8 항에 있어서,
    상기 동적 리스트(38)는 각각의 액세스슬롯에 우선 순위 에이전트 및 다른 버디 에이전트를 포함하며,
    우선 순위 에이전트가 일시 아이들상태에 있는 경우, 상기 슬롯이 지정 버디 에이전트(88)에게 할당되게 하는 기부 선택부(a donating selector)(32)를 더 포함하는 중재기.
  12. 제 8 항에 있어서,
    현재 액세스슬롯에 리스트된 높은 우선 순위 에이전트가 상기 공유자원(12)에 대한 액세스를 필요로 하지 않는 경우, 지정 디폴트 에이전트에게 액세스가 허가되게 하는 디폴트 에이전트(92)를 더 포함하는 중재기.
  13. 제 8 항에 있어서,
    상기 동적 리스트(38)는 고유 우선 순위 액세스 에이전트보다 많은 엔트리를 포함하여 상기 동적 리스트(30)에 있는 적어도 하나의 우선 순위 에이전트가 하나의 중재 주기에서 1회이상 공유자원(12)에 대한 액세스를 갖는 중재기.
  14. 제 8 항에 있어서,
    상기 동적 리스트(38)에 포함된 고유 에이전트의 우선 순위 포맷 및 수중 적어도 하나를 변경하도록 동작하는 동적 리스트변경자(34); 및
    상기 동적 리스트(38)의 포맷이 변경되고 있는 동안, 상기 고정리스트(36)를 사용하도록 동작하는 선택복원기(32)를 더 포함하는 중재기.
  15. 제 8 항에 있어서,
    제 2 동적 리스트(40) 생성기(34);
    시스템 필요조건에 따라 상기 제 1 동적 리스트(38)와 제 2 동적 리스트(40)사이에서 이 리스트중 하나 또는 다른 하나로 그 사용을 절환하도록 동작하는 선택복원기(32); 및
    현재 사용되지 않는 동적 리스트(38 또는 40)에 포함된 고유 에이전트의 우선 순위 포맷 및 번호중 적어도 하나를 변경하도록 동작하는 동적 리스트변경자(34)를 더 포함하는 중재기.
KR1020017010327A 1999-12-16 2000-12-12 공유 자원 중재 프로토콜 방법 및 중재기 KR100757791B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/464,248 US6678774B2 (en) 1999-12-16 1999-12-16 Shared resource arbitration method and apparatus
US09/464,248 1999-12-16

Publications (2)

Publication Number Publication Date
KR20010102142A true KR20010102142A (ko) 2001-11-15
KR100757791B1 KR100757791B1 (ko) 2007-10-17

Family

ID=23843139

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017010327A KR100757791B1 (ko) 1999-12-16 2000-12-12 공유 자원 중재 프로토콜 방법 및 중재기

Country Status (6)

Country Link
US (1) US6678774B2 (ko)
EP (1) EP1208435B1 (ko)
JP (1) JP2003517681A (ko)
KR (1) KR100757791B1 (ko)
DE (1) DE60039439D1 (ko)
WO (1) WO2001044944A2 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7124224B2 (en) * 2000-12-22 2006-10-17 Intel Corporation Method and apparatus for shared resource management in a multiprocessing system
US20030158985A1 (en) * 2002-02-15 2003-08-21 Edward Fried Systems and methods for fair arbitration between multiple request signals
US7352741B2 (en) * 2002-02-21 2008-04-01 Sun Microsystems, Inc. Method and apparatus for speculative arbitration
JP2007026021A (ja) * 2005-07-15 2007-02-01 Nec Electronics Corp バス制御システム及びバス制御方法
US8213461B2 (en) * 2006-03-29 2012-07-03 Arm Limited Method of designating slots in a transmission frame for controlling transmission of data over an interconnect coupling a plurality of master units with a plurality of slave units
CN102087637B (zh) * 2009-12-02 2012-08-22 奇景光电股份有限公司 利用率增强的共享汇流排系统及汇流排仲裁方法
US8918558B2 (en) * 2011-09-28 2014-12-23 International Business Machines Corporation Round robin priority selector
US8930601B2 (en) * 2012-02-27 2015-01-06 Arm Limited Transaction routing device and method for routing transactions in an integrated circuit
KR101945390B1 (ko) * 2015-10-08 2019-02-07 (주)와치텍 효율적인 데이터 수집 관리를 위한 Active-Active-Active 방식의 시스템 분산 아키텍쳐

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US432463A (en) * 1890-07-15 white
US4787033A (en) * 1983-09-22 1988-11-22 Digital Equipment Corporation Arbitration mechanism for assigning control of a communications path in a digital computer system
US5148545A (en) * 1989-07-21 1992-09-15 Clearpoint Research Corporation Bus device which performs protocol confidential transactions
US5303382A (en) 1989-09-21 1994-04-12 Digital Equipment Corporation Arbiter with programmable dynamic request prioritization
EP0432463B1 (en) * 1989-11-13 1997-01-22 Hewlett-Packard Company Distributed fair arbitration scheme for providing access to a data communication bus
US5729702A (en) 1993-06-21 1998-03-17 Digital Equipment Corporation Multi-level round robin arbitration system
US5649206A (en) 1993-09-07 1997-07-15 Motorola, Inc. Priority arbitration protocol with two resource requester classes and system therefor
US5515516A (en) * 1994-03-01 1996-05-07 Intel Corporation Initialization mechanism for symmetric arbitration agents
WO1996035173A1 (en) 1995-05-03 1996-11-07 Apple Computer, Inc. Arbitration of computer resource access requests
US5664121A (en) * 1995-11-07 1997-09-02 Sun Microsystems, Inc. Dual mode arbitration apparatus and method for reducing latency by allowing the possibility of simultaneous request and access for a shared bus
US5987549A (en) * 1996-07-01 1999-11-16 Sun Microsystems, Inc. Method and apparatus providing short latency round-robin arbitration for access to a shared resource
US5915102A (en) * 1996-11-06 1999-06-22 International Business Machines Corporation Common arbiter interface device with arbitration configuration for centralized common bus arbitration
US6349297B1 (en) * 1997-01-10 2002-02-19 Venson M. Shaw Information processing system for directing information request from a particular user/application, and searching/forwarding/retrieving information from unknown and large number of information resources
KR100223897B1 (ko) * 1997-03-12 1999-10-15 구본준 버스(BUS) 아비트레이션(Arbitration)장치

Also Published As

Publication number Publication date
US6678774B2 (en) 2004-01-13
WO2001044944A3 (en) 2002-03-21
EP1208435A2 (en) 2002-05-29
US20030110318A1 (en) 2003-06-12
WO2001044944A2 (en) 2001-06-21
JP2003517681A (ja) 2003-05-27
KR100757791B1 (ko) 2007-10-17
DE60039439D1 (de) 2008-08-21
EP1208435B1 (en) 2008-07-09

Similar Documents

Publication Publication Date Title
JP3088241B2 (ja) 割当要求を調整するシステムとその方法
KR100899951B1 (ko) 캐시 메모리 버스트 싸이클 동안 버스 중재를 제어하는시스템 및 방법
US5168570A (en) Method and apparatus for a multiple request toggling priority system
US5303382A (en) Arbiter with programmable dynamic request prioritization
US7107363B2 (en) Microprocessor having bandwidth management for computing applications and related method of managing bandwidth allocation
EP0550147B1 (en) Method and apparatus for arbitration based on the availability of resources
JP4336108B2 (ja) ネットワークプロセッサにおいてメモリ帯域幅を効率的に共用する装置および方法
US6141713A (en) Bus arbitrator with a hierarchical control structure
KR20040029254A (ko) 자원관리장치
JP2005243033A (ja) インタラプトコントローラ
US8213461B2 (en) Method of designating slots in a transmission frame for controlling transmission of data over an interconnect coupling a plurality of master units with a plurality of slave units
JPH0773137A (ja) 多レベル・バス・アービトレーションのための方法、アダプタおよびシステム
EP1439467B1 (en) System and method for allocating a plurality of sources to a plurality of channels
US8706940B2 (en) High fairness variable priority arbitration method
US7814253B2 (en) Resource arbiter
KR100757791B1 (ko) 공유 자원 중재 프로토콜 방법 및 중재기
EP0901080A1 (en) Arbitration system
JP2002312309A (ja) 調停回路及び調停方法
WO2002035345A2 (en) Arbitration method and apparatus
KR100973419B1 (ko) 버스 중재 방법 및 장치
US7130947B2 (en) Method of arbitration which allows requestors from multiple frequency domains
KR100606701B1 (ko) 계층적 구조의 중재 시스템 및 이를 이용한 중재 방법
US7689781B2 (en) Access to a collective resource in which low priority functions are grouped, read accesses of the group being given higher priority than write accesses of the group
JPH07114496A (ja) 共有メモリ制御回路
JP2007164713A (ja) リソース管理装置及びリソース管理方法

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
N231 Notification of change of applicant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee