KR100757791B1 - 공유 자원 중재 프로토콜 방법 및 중재기 - Google Patents

공유 자원 중재 프로토콜 방법 및 중재기 Download PDF

Info

Publication number
KR100757791B1
KR100757791B1 KR1020017010327A KR20017010327A KR100757791B1 KR 100757791 B1 KR100757791 B1 KR 100757791B1 KR 1020017010327 A KR1020017010327 A KR 1020017010327A KR 20017010327 A KR20017010327 A KR 20017010327A KR 100757791 B1 KR100757791 B1 KR 100757791B1
Authority
KR
South Korea
Prior art keywords
agent
list
priority
access
shared resource
Prior art date
Application number
KR1020017010327A
Other languages
English (en)
Other versions
KR20010102142A (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

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
    • 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}
본 발명은 전반적으로는 공유 자원 액세스 중재(shared resource access arbitration)에 관한 것으로, 보다 구체적으로는, 데이터 처리 시스템의 메모리 등의 공유 공통 자원을 사용하고자 하는 복수의 에이전트 또는 리퀘스터(requester)의 요구에 부합하는 적응성을 제공하는 방법 및 장치에 관한 것이다.
중재기는, 다수의 에이전트 또는 리퀘스터들 간에 메모리나 통신 버스 등의 공유 자원으로의 액세스 허가를 제어한다. 메모리 자원의 경우에, 위의 리퀘스터는 중앙 처리 장치(CPU), 스크린 리프레쉬(screen refresh) DMA(직접 메모리 액세스) 프로세서, 3D 드로잉 블록(drawing block) DMA, 2D 드로잉 블록 DMA, USB 인터페이스, 이더넷 인터페이스 등을 포함할 수 있으며, 이들 각각의 장치는 공통 자원에 대해 경합하지만, 각 에이전트나 리퀘스터의 요건은 소정 시간에 실행되는 데이터 처리의 타입에 따라 변할 수도 있다.
현재 중재 태스크(task)를 실행하는 공지의 방법은, 통상적으로 복잡하고 비적응적인 스케줄링 기술을 이용하거나, 변화하는 시스템 부하에 비적응적인 아주 간단한 방법을 이용하고 있다. 이러한 기술의 예로, "라운드 로빈(round robin)", 고정 우선 순위(fixed priority), 다중 레벨 우선 순위, 중재 자원에 대한 이전의 선점자에 따라 변화하는 리퀘스터 우선 순위 방식 등을 들 수 있다. 복잡한 중재 시스템 하나를 예시하면, 이 시스템은 소정 시간의 시스템 요건에 따라 전술한 몇 개의 중재 방법 중의 다른 방법들 간에 동적으로 전환하는 방식을 이용하고 있다.
소정의 에이전트 또는 자원 리퀘스터 세트의 변화하는 시스템 요건에 대해 고유한 적응성을 가지면서, 다른 에이전트의 추가를 여전히 가능하게 하여 새롭게 할당된 태스크를 실행할 수 있게 하는 간단한 중재 방법이 바람직할 것이다.
본 발명은 적어도 두 가지 모드에서 동작할 수 있는 리스트 구동 중재 방법을 포함한다. 부트 모드(boot mode)에서는, 모든 가능한 리퀘스터를 포함하는 리스트가 사용되며, 중재기는 "라운드 로빈"과 같은 간단한 방법을 이용해서, 시스템 초기화 프로세스 동안 공유 자원을 할당한다. 초기화 후, 다른 리스트, 즉, 제 2 리스트를 사용해서 공유 자원으로의 액세스가 허여되는 특정 에이전트를 지정한다. 이 제 2 리스트는 통상적으로 부트 리스트보다 적은 고유한 에이전트를 지정하며, 리스트에 명명된 에이전트와 리스트의 번역(interpretation) 모두에 관해 동적으로 변화하여, 시스템 부하 요건에 따라 큰 적응성을 부여할 수 있다.
도 1은 본 발명의 일 실시예에 이용된 중재기를 구비한 데이터 처리 시스템도,
도 2는 본 발명의 일 실시예를 구현한 중재 시스템의 블록도,
도 3은 본 발명의 일 실시예를 구현한 데이터 처리 시스템에 이용된 흐름도,
도 4는 본 발명의 일 실시예에 이용된 정적(static) 리스트, 즉, 부트 리스트의 예시도,
도 5는 본 발명의 일 실시예에 이용된 동적(dynamic) 리스트, 즉, 일반 동작 리스트의 예시도이다.
본 발명의 특징에 대한 보다 완전한 이해를 위해, 이하 첨부도면을 참조하여 상세히 설명한다.
도 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)에 접속되는데, 이 파선 블록(40)은 본 발명의 일부의 바람직한 실시예에서 바람직한 임의의 제 2 동적 리스트 블록이다. 또한, 리스트 선택부(32)는 리드(lead; 44, 46) 상의 우선 순위 및 버디(buddy) 에이전트 지정자를 공급하는 요구 정합 블록(42)에 접속되며, 통상, 리드(44) 상에서 공급되는 우선 순위 에이전트 지정자는 제어 논리부(30) 또는 프로그래밍 인터페이스(34)에 의해 결정된 리스트 블록들(36, 38, 40) 중 하나로부터 얻어진다. 버디 에이전트 지정자는 위에서 액세스되는 동적 리스트의 특정 엔트리 액세스 슬롯으로부터 획득된다. 제어 논리부(30)는 리드(48) 상에서 모드 선택 신호를 요구 정합 블록(42)에 공급하여, 더 높은 우선 순위의 에이전트가 아이들 상태(idle)에 있는 경우, 만약 있다면, 가능한 대체 에이전트 중 어느 에이전트를 선택할 것인지를 상기 요구 정합 블록(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 (최고) 우선 순위
버디 에이전트 제 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은 처음 8개의 엔트리 중 한번 걸러 하나의 엔트리 1, 3, 5, 7에 대해 리스트될 수 있고, 에이전트 2, 3은 중간 엔트리 2, 4, 6, 8에 편입될 수 있다. 이러한 상황에 있어서, 엔트리 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)(36, 38, 40)을 형성하되, 상기 리스트 블록 내의 적어도 하나의 우선 순위 에이전트는 대체 버디 에이전트를 더 지정하는 단계와,
    상기 우선 순위 에이전트(82)에 의한 상기 공유 자원으로의 액세스를 통상적으로 허가하는 단계와,
    상기 우선 순위 에이전트가 일시적으로 아이들 상태에 있는 경우, 지정된 버디 에이전트(88)에 액세스 슬롯을 부여하는 단계를 더 포함하는 중재 프로토콜 방법.
  3. 제 1 항에 있어서,
    상기 제 2 선택 모드에서의 사용을 위해 에이전트 리스트(도 5)(36, 38, 40)를 형성하되, 상기 리스트 블록은 우선 순위 에이전트를 포함하는 단계와,
    상기 우선 순위 에이전트(82)에 의한 상기 공유 자원(12)으로의 액세스를 통상적으로 허가하는 단계와,
    현재 선택된 우선 순위 에이전트가 상기 공유 자원(12)으로의 액세스를 요구하지 않는 경우, 지정된 디폴트 에이전트(92)로의 액세스를 허가하는 단계를 더 포함하는 중재 프로토콜 방법.
  4. 제 2 항에 있어서,
    상기 제 2 선택 모드에서의 사용을 위해 디폴트 에이전트(50)를 지정하는 단계와,
    현재 선택된 우선 순위 에이전트(82) 및 상기 지정된 버디 에이전트(88)가 상기 공유 자원으로의 액세스를 요구하지 않는 경우, 상기 지정된 디폴트 에이전트(92)로의 액세스를 허가하는 단계를 더 포함하는 중재 프로토콜 방법.
  5. 제 1 항에 있어서,
    상기 제 2 선택 모드에서의 사용을 위해, 고유한 우선 순위 액세스 에이전트보다 더 많은 엔트리를 갖는 에이전트 리스트(도 5)(36, 38, 40)를 형성하고, 이에 의해, 상기 리스트(도 5)(36, 38, 40)에 있는 적어도 하나의 우선 순위 에이전트가 중재 사이클 내에 1회 이상 상기 공유 자원(12)으로의 액세스를 갖는 단계를 더 포함하는 중재 프로토콜 방법.
  6. 제 1 항에 있어서,
    상기 저장 리스트(36)에 의거하여 상기 제 1 포괄 모드에서 동작하면서, 상기 공유 자원(12)의 다음 액세스 슬롯 사용자를 선택할 때 상기 중재기에 의해 순차적인 액세스 방식으로 사용되는 상기 동적으로 생성된 에이전트 리스트(38)의 포맷을 변화시키는 단계를 더 포함하는 중재 프로토콜 방법.
  7. 제 1 항에 있어서,
    동적으로 생성된 제 1 및 제 2 에이전트 리스트(38, 40)를 작성하는 단계와,
    상기 동적으로 생성된 제 1 및 제 2 에이전트 리스트 중 하나의 리스트에 의거하여 동작하면서, 상기 동적으로 생성된 제 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)에 할당되게 하는 선택부(32)를 더 포함하는 중재기.
  12. 제 8 항에 있어서,
    현재 액세스 슬롯에 리스트된 더 높은 우선 순위 에이전트가 상기 공유 자원(12)으로의 액세스를 요구하지 않는 경우, 지정된 디폴트 에이전트에 액세스가 허가되게 하는 디폴트 에이전트(92)를 더 포함하는 중재기.
  13. 제 8 항에 있어서,
    상기 동적 리스트(38)는 고유 우선 순위 액세스 에이전트보다 더 많은 엔트리를 포함하고, 이에 의해, 상기 리스트에 있는 적어도 하나의 우선 순위 에이전트가 완전한 중재 사이클 내에 1회 이상 상기 공유 자원(12)으로의 액세스를 갖는 중재기.
  14. 제 8 항에 있어서,
    상기 동적 리스트(38)에 포함된 고유 에이전트의 우선 순위 포맷 및 개수 중 적어도 하나를 변경시키도록 동작하는 동적 리스트 수정자(modifier)(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 1999-12-16
US09/464,248 US6678774B2 (en) 1999-12-16 1999-12-16 Shared resource arbitration method and apparatus

Publications (2)

Publication Number Publication Date
KR20010102142A KR20010102142A (ko) 2001-11-15
KR100757791B1 true 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150120915A (ko) * 2015-10-08 2015-10-28 (주)와치텍 효율적인 데이터 수집 관리를 위한 Active-Active-Active 방식의 시스템 분산 아키텍쳐

Families Citing this family (8)

* 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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US432463A (en) * 1890-07-15 white
US5901297A (en) * 1994-03-01 1999-05-04 Intel Corporation Initialization mechanism for symmetric arbitration agents
US5915102A (en) * 1996-11-06 1999-06-22 International Business Machines Corporation Common arbiter interface device with arbitration configuration for centralized common bus arbitration

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
AU5563696A (en) 1995-05-03 1996-11-21 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
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)장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US432463A (en) * 1890-07-15 white
US5901297A (en) * 1994-03-01 1999-05-04 Intel Corporation Initialization mechanism for symmetric arbitration agents
US5915102A (en) * 1996-11-06 1999-06-22 International Business Machines Corporation Common arbiter interface device with arbitration configuration for centralized common bus arbitration

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150120915A (ko) * 2015-10-08 2015-10-28 (주)와치텍 효율적인 데이터 수집 관리를 위한 Active-Active-Active 방식의 시스템 분산 아키텍쳐
KR101945390B1 (ko) * 2015-10-08 2019-02-07 (주)와치텍 효율적인 데이터 수집 관리를 위한 Active-Active-Active 방식의 시스템 분산 아키텍쳐

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100899951B1 (ko) 캐시 메모리 버스트 싸이클 동안 버스 중재를 제어하는시스템 및 방법
US5996037A (en) System and method for arbitrating multi-function access to a system bus
KR100440657B1 (ko) 가중된대역폭할당에의한버스중재방법및장치
US6584523B1 (en) Device for organizing the access to a memory bus
US5303382A (en) Arbiter with programmable dynamic request prioritization
US5239651A (en) Method of and apparatus for arbitration based on the availability of resources
US6848015B2 (en) Arbitration technique based on processor task priority
JPH04260954A (ja) アービトレーション・システム及び方法
JPH0773137A (ja) 多レベル・バス・アービトレーションのための方法、アダプタおよびシステム
US6985985B2 (en) Methods and structure for dynamic modifications to arbitration for a shared resource
KR100757791B1 (ko) 공유 자원 중재 프로토콜 방법 및 중재기
US8706940B2 (en) High fairness variable priority arbitration method
US7814253B2 (en) Resource arbiter
US7080174B1 (en) System and method for managing input/output requests using a fairness throttle
KR100973419B1 (ko) 버스 중재 방법 및 장치
JPH04280347A (ja) 高速バス装置
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
KR100606701B1 (ko) 계층적 구조의 중재 시스템 및 이를 이용한 중재 방법
KR100188004B1 (ko) 동적 메모리 장치를 구비한 시스템의 버스 중재방법 및 회로
US5799160A (en) Circuit and method for controlling bus arbitration
KR100263791B1 (ko) 우선 순위 조정에 의한 버스 중재 방법
JP2007164713A (ja) リソース管理装置及びリソース管理方法
JPH07134689A (ja) バスアービトレーション装置
KR950005244B1 (ko) 타이콤 시스템의 어드레스 버스 중재방법
JPS59108162A (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