KR20070110529A - 버스 액세스 중재 방식 - Google Patents

버스 액세스 중재 방식 Download PDF

Info

Publication number
KR20070110529A
KR20070110529A KR1020077022405A KR20077022405A KR20070110529A KR 20070110529 A KR20070110529 A KR 20070110529A KR 1020077022405 A KR1020077022405 A KR 1020077022405A KR 20077022405 A KR20077022405 A KR 20077022405A KR 20070110529 A KR20070110529 A KR 20070110529A
Authority
KR
South Korea
Prior art keywords
bus
tier
processors
interval
processor
Prior art date
Application number
KR1020077022405A
Other languages
English (en)
Other versions
KR100947193B1 (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 KR20070110529A publication Critical patent/KR20070110529A/ko
Application granted granted Critical
Publication of KR100947193B1 publication Critical patent/KR100947193B1/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
    • 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
    • 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/38Information transfer, e.g. on bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Traffic Control Systems (AREA)

Abstract

프로세싱 시스템에서 버스 중재 방식에 관한 것이다. 프로세싱 시스템은 버스, 버스에 결합된 복수의 프로세서 및 버스 중재기를 포함한다. 버스 중재기는 제 1 티어에서 프로세서 각각에 제 1 티어 가중을, 제 2 티어에서 프로세서 각각에 제 2 티어 가중을 할당할 수도 있다. 버스 중재기는 할당된 제 2 티어 가중에 기초하여 버스 간격의 초기 부분 동안 하나 이상의 프로세서에 버스 액세스를 순차적으로 승인하고, 제 1 티어 가중을 갖는 프로세서 중 임의의 프로세서로부터의 요구에 응답하여 버스 간격의 초기 부분 동안 프로세서 중 임의의 프로세서에 버스 액세스를 승인할 수도 있다. 복수의 프로세서가 버스에의 액세스를 요구하고 있는 경우, 버스 중재기는 최고의 티어에서 최고의 가중을 갖는 요구 프로세서에 버스 액세스를 승인할 수도 있다.
버스 중재기, 프로세서

Description

버스 액세스 중재 방식{BUS ACCESS ARBITRATION SCHEME}
분야
본 발명은 일반적으로는 프로세싱 시스템, 구체적으로는 프로세싱 시스템의 버스 액세스 중재 방식에 관한 것이다.
배경
컴퓨터는 키패드의 몇 번의 스트로크만으로 정교한 프로세싱 태스크가 수행될 수 있게 함으로써 전자 장비 산업에 혁명을 가져왔다. 이들 정교한 태스크는 버스를 이용하는 빠르고 효율적인 방법으로 서로 통신하는 상당히 많은 수의 복잡한 콤포넌트를 포함한다. 버스는 컴퓨터 또는 다른 연산 디바이스에서의 콤포넌트 사이의 채널 또는 경로이다.
다수의 버스는 통상적으로 공유 버스로서 구현되어 왔다. 공유 버스는, 임의의 수의 콤포넌트가 공통 경로 또는 채널을 통해 통신하는 수단을 제공한다. 최근에는, 공유 버스가 포인트-투-포인트 스위칭 접속으로 광범위하게 교체되었다. 포인트-투-포인트 스위칭 접속은 콤포넌트가 서로 통신하면서, 버스 상의 2 개의 콤포넌트 사이에 직접적인 접속을 제공한다. 다중 직접적인 링크는 몇몇의 콤포넌트가 동시에 통신할 수 있게 하는데 이용될 수도 있다. 버스 중재기는 버스를 통한 통신을 관리하는데 이용될 수도 있다.
버스 아키텍처를 구현하는 컴퓨터는 메모리와 같은 하나 이상의 공유된 자원 에 접속된 임의의 수의 프로세싱 콤포넌트를 포함할 수도 있다. 하나 이상의 프로세서 (버스 마스터) 는 버스 중재기로부터 액세스를 요구함으로써 버스 트랜잭션을 개시할 수도 있다. 버스 중재기는, 소정의 알고리즘에 기초하여 버스로의 액세스가 프로세서에 승인될 시퀀스를 결정한다. 과거에는 다양한 버스 액세스 중재 방식이 이들 트랜잭션을 관리하기 위해 구현되어 왔다. 상당히 일반적인 접근 방식은, 모든 프로세싱 콤포너트에 균등하게 대역폭을 할당하지만, 레이턴시 요구의 개념이 없는 라운드 로빈 중재 방식 (round robin arbitration scheme) 이다. 또 다른 접근 방식은 레이턴시 요구의 일부 개념을 갖지만, 높은 대역폭을 요구할 수도 있는 낮은 우선순위의 프로세서를 엄격하게 품질저하시키는 고정식 우선순위 중재 방식 (fixed priority arbitration scheme) 이다. 시간 분할 다중화는 라운드 로빈 또는 고정식 우선순위 기반 중재 방식보다 양호한 해결책일 수 있으나, 특정 프로세서가 언제 버스로의 액세스를 요구할지를 예측하는 것은 어렵다. 따라서 이 분야에는, 버스상의 프로세서에 대한 레이턴시 요구를 여전히 유지하면서 대역폭 할당을 할당하는 능력을 제공하는 버스 액세스 중재 방식이 필요하다.
요약
본 발명의 일 양태에서, 프로세싱 시스템은 버스, 버스에 결합된 복수의 프로세서, 및 하나 이상의 프로세서 각각에 제 2 티어 (tier) 가중을 할당하고, 할당된 제 2 티어 가중에 기초하여 버스 간격의 초기 부분 동안 하나 이상의 프로세서에 버스 액세스를 순차적으로 승인하도록 구성된 버스 중재기를 포함한다. 버 스 중재기는 제 1 티어 가중을 갖는 프로세서 중 임의의 프로세서로부터의 요구에 응답하여 버스 간격의 초기 부분 동안 상기 프로세서 중 임의의 프로세서에 버스 액세스를 승인하도록 더 구성된다.
본 발명의 또 다른 양태에서, 프로세싱 시스템은 버스, 버스에 결합된 복수의 프로세서, 및 제 1 티어에서 프로세서 각각에 제 1 티어 가중을 할당하고, 제 2 티어에서 프로세서 각각에 제 2 티어 가중을 할당하도록 구성된 버스 중재기를 포함한다. 버스 중재기는 최고의 티어에서 최고의 가중을 갖는 요구 프로세서에 버스 액세스를 승인함으로써 버스에의 액세스를 요구하는 하나 이상의 프로세서 사이를 중재하도록 더 구성되고, 제 1 티어는 제 2 티어보다 높다.
본 발명의 또 다른 양태에서, 버스에의 액세스를 요구하는 복수의 프로세서 사이를 중재하는 방법은, 하나 이상의 프로세서 각각에 제 2 티어 가중을 할당하는 단계, 할당된 제 2 티어 가중에 기초하여 버스 간격의 초기 부분 동안 하나 이상의 프로세서에 버스 액세스를 순차적으로 승인하는 단계, 및 제 1 티어 가중을 갖는 프로세서 중 임의의 프로세서로부터의 요구에 응답하여 버스 간격의 초기 부분 동안 상기 프로세서 중 임의의 프로세서에 버스 액세스를 승인하는 단계를 포함한다.
본 발명의 또 다른 양태에서, 버스에의 액세스를 요구하는 복수의 프로세서 사이를 중재하는 방법은, 제 1 티어에서 프로세서 각각에 제 1 티어 가중을 할당하는 단계, 제 2 티어에서 프로세서 각각에 제 2 티어 가중을 할당하는 단계, 및 최고의 티어에서 최고의 가중을 갖는 요구 프로세서에 버스 액세스를 승인함으로써 버스에의 액세스를 요구하는 하나 이상의 프로세서 사이를 중재하는 단계를 포함하 고, 제 1 티어는 제 2 티어보다 높다.
당업자는 본 발명의 다양한 실시형태가 예시적인 방법으로 도시되고 설명되는 이하의 상세한 설명으로부터 본 발명의 다른 실시형태를 쉽게 이해할 것이다. 인식될 바와 같이, 본 발명의 사상 및 범위를 벗어나지 않고, 본 발명은 또 다른 및 상이한 실시형태가 가능하고, 몇몇 세부사항은 다양한 다른 양태로 변경될 수 있다. 따라서, 도면 및 상세한 설명은 제한하는 것이 아닌, 본질적으로 예시적인 것으로 간주되어야 한다.
도면의 간단한 설명
도 1 은 프로세싱 시스템의 일 예를 나타내는 개념 블록도이다.
도 2 는 다양한 프로세서에 고 대역폭 요구를 지원할 수 있는 버스 액세스 중재 방식의 타이밍을 나타내는 개념도이다.
도 3 은 다양한 프로세서에 고 대역폭 요구를 지원할 수 있는 버스 액세스 중재 방식의 동작을 나타내는 개념도이다.
도 4 는 다양한 프로세서에 레이턴시 및 고 대역폭 요구 모두를 지원할 수 있는 버스 액세스 중재 방식의 타이밍을 나타내는 개념도이다.
도 5 는 다양한 프로세서에 레이턴시 및 고 대역폭 요구 모두를 지원할 수 있는 버스 액세스 중재 방식의 동작을 나타내는 개념도이다.
상세한 설명
첨부된 도면과 관련된 이하의 상세한 설명은, 본 발명의 다양한 실시형태의 설명으로서 의도되고, 본 발명이 실행될 수도 있는 단 하나의 실시형태를 나타내는 것으로 의도되지 않는다. 상세한 설명은 본 발명의 완전한 이해를 제공할 목적으로 특정 세부사항을 포함한다. 그러나, 본 발명이 이들 특정 세부사항 없이도 실시될 수도 있음이 당업자에게 명백할 것이다. 일부 예에서, 공지된 구조 및 콤포넌트가 본 발명의 개념을 모호하게 하는 것을 방지하기 위해 블록도 형태로 도시된다.
도 1 은 프로세싱 시스템의 일 예를 도시하는 개념 블록도이다. 프로세싱 시스템 (100) 은 컴퓨터일 수도 있고, 또는 컴퓨터 내에 상주할 수도 있으며, 또는 정보를 프로세싱, 리트리빙 및 저장할 수 있는 임의의 다른 시스템일 수도 있다. 프로세싱 시스템 (100) 은 독립형 (stand-alone) 시스템이거나, 또는 무선 전화, 개인 휴대 정보 단말기 (PDA), 개인 컴퓨터 (PC), 랩탑 등과 같은 디바이스에 내장될 수도 있다.
프로세싱 시스템 (100) 은, 버스 (110) 를 통해 메모리 (104) 에 액세스할 수도 있지만, 특정 애플리케이션 및 전체적인 설계 제한에 의존하여 임의의 수의 프로세서로 구성될 수도 있는 몇몇 프로세서 (102a - 102c) 로 도시된다. 각각의 프로세서는 예를 들어, 마이크로 프로세서, 디지털 신호 프로세서 (DSP), 비디오 그래픽 프로세서, 모뎀 프로세서, 또는 임의의 다른 정보 프로세싱 콤포넌트를 포함하는 임의의 타입의 버스 마스터링 콤포넌트로서 구현될 수도 있다. 메모리 (104) 는 메모리 제어기, 캐시, 적층된 메모리, 또는 정보를 저장하고 리트리빙할 수 있는 임의의 다른 콤포넌트일 수도 있다.
버스 중재기 (108) 는 프로세서 (102a - 102c) 에 버스 액세스를 승인하는데 이용될 수도 있다. 버스 (110) 는 버스 상호접속 (106) 을 통한 포인트-투-포인트 스위칭 접속으로 구현될 수도 있다. 이 구성에서, 버스 중재기 (108) 는 프로세서 중 하나와 메모리 (104) 사이의 직접적인 접속을 제공하기 위해 버스 상호접속 (112) 을 구성한다. 버스 상호접속 (106) 내의 복수의 직접적인 링크는, 다른 프로세서가 또 다른 버스 슬레이브 디바이스와 동시에 통신할 수 있게 하는데 이용될 수도 있다. 또한, 버스 (110) 는 공유 버스로서 구현될 수도 있고, 버스 중재기 (108) 의 제어하의 임의의 다른 유형의 버스로서 구현될 수도 있다.
버스 중재기 (108) 는 프로세서 (102a - 102c) 에 의한 버스 (100) 로의 액세스를 관리하는데 사용될 수도 있다. 버스 중재기 (108) 의 일 실시형태에서, 프로세싱 콤포넌트 (102a - 102c) 는 관련 프로그램 명령 및/또는 데이터와 함께 커맨드를 버스 중재기 (108) 에 브로드캐스팅할 수도 있다. 버스 중재기 (108) 는 커맨드, 및 관련 프로그램 명령 및 데이터가 메모리 (104) 에 제공될 시퀀스를 결정하고, 그에 따라 버스 상호접속 (106) 을 동적으로 구성할 수도 있다. 버스 중재기 (108) 의 또 다른 실시형태에서, 프로세서 (102a - 102c) 는 버스 (110) 로의 액세스를 요구할 수도 있고, 버스 중재기 (108) 는 상호접속 (106) 을 동적으로 재구성함으로써 요구가 승인될 시퀀스를 다시 결정할 수도 있다. 어떤 경우든지, 버스 중재기 (108) 는 커맨드, 및 관련 프로그램 명령 및 데이터가 버스 액세스 중재 방식에 기초하여 메모리 (104) 에 제공되는 시퀀스를 결정한다.
버스 액세스 중재 방식은 다양한 프로세서 (102a - 102c) 의 기능적인 요구 를 수용하도록 구현될 수도 있다. 예를 들어, 프로세서는 비디오 그래픽 프로세서와 같은 고 대역폭을 요구할 수도 있다. 또 다른 프로세서는 음성 통신을 프로세싱하는 DSP 와 같은 저 레이턴시 통신을 요구할 수도 있다. 또 다른 프로세서는 인터넷 이메일을 프로세싱하는 중앙 프로세싱 유닛 (CPU) 과 같이 어떠한 대역폭이나 레이턴시 요구를 갖지 않을 수도 있다. 후자의 통신 (어떠한 대역폭 또는 레이턴시 요구가 없는 통신) 은 종종 "베스트 에포트" 통신으로 칭한다.
버스 액세스 중재 방식은 레이턴시 요구를 유지하며 다양한 프로세서에 대역폭을 할당하는데 사용될 수도 있다. 이 방식은 버스 (110) 로의 액세스가 결정될 복수의 티어를 생성함으로써 획득될 수도 있다. 예를 들어, 제 1 티어는 저 레이턴시 요구를 스케쥴링하는데 이용될 수도 있고, 제 2 티어는 고 대역폭 요구를 스케쥴링하는데 이용될 수도 있으며, 제 3 티어는 레이턴시 및 대역폭의 관점에서 중요하지 않은 애플리케이션에 이용될 수도 있다. 프로그래밍 가능 또는 튜닝 가능 가중은 처음 2 개의 티어에서 각각의 프로세서에 할당될 수도 있다. 할당된 가중은 버스 (110) 에 액세스하기 위해 소비될 수 있는 "토큰" 의 수로서 고려될 수도 있다. 각각의 프로세서에 할당된 가중은 시간 주기에 기초하여 주기적으로 리셋될 수도 있다. 이 주기는 처음 2 개의 티어와 동일하거나 상이할 수도 있다.
먼저, 제 2 티어에 대한 버스 액세스 중재 방식을 설명한다. 제 2 티어는 각각의 프로세서 (102) 가, 그 프로세서 (102) 가 요구하는 대역폭을 수신하는 것을 보장하는데 사용될 수도 있다. 이것은 각각의 프로세서 (102) 에, 그 대 역폭 요구에 적합한 가중을 할당함으로써 획득될 수도 있다. 가중은 프로세서 (102) 가 주어진 시간 주기 동안 최소개의 버스 액세스 승인을 수신하는 것을 보장하는데 이용될 수도 있다. 또한, 가중은 데이터 비트 또는 바이트를 프로세서 (102) 에 할당하는데 이용될 수도 있다. 가중은 대역폭 요구를 변경할 수 있도록 프로그래밍 가능하거나 튜닝 가능할 수도 있다. 예를 들어, 프로세서 (102) 는 더 크거나 더 작은 대역폭을 요구하는 새로운 애플리케이션을 론치할 수도 있다. 버스 중재기 (108) 는 그에 따라 그 프로세서 (102) 에 할당된 가중을 변경함으로써 응답할 수도 있다.
프로세싱 시스템 (100) 이 초기에 파워 업되는 경우, 가중은 버스 중재기 (108) 에 의해 다양한 프로세서 (102) 에 할당될 수도 있다. 파워 업 동안, 버스 (110) 에 접속되고, 대역폭 요구를 갖는 각각의 프로세서 (102) 는 버스 중재기 (108) 에 그 요구를 통신한다. 이들 통신에 기초하여, 버스 중재기 (108) 는 대역폭의 일부를 각각의 프로세서 (102) 에 할당한다. 나머지 대역폭은 베스트 에포트 통신을 위해 사용될 수도 있다. 동작 동안, 프로세서 (102) 가 새로운 애플리케이션을 론치하거나, 그렇지 않고 그 대역폭 요구가 변경되는 경우, 새로운 가중이 프로세서 (102) 와 버스 중재기 (108) 사이에서 협상될 수도 있다.
도 2 는 제 2 티어 프로세서에 대한 버스 액세스 중재 방식의 타이밍을 나타내는 개념도이다. 버스 중재기는 다양한 프로세서의 대역폭 요구 및 베스트 에포트 통신을 지원할 필요에 기초하여 버스 간격 (202) 을 결정한다. 버스 간격 (202) 은 대역폭 요구의 변경을 지원하기 위해 프로그래밍 가능하거나 튜닝 가능할 수도 있다. 버스 중재기의 적어도 하나의 실시형태에서, 버스 간격 (202) 은 2 개의 시간 주기: 가중 시간 주기 (204) 및 베스트 에포트 시간 주기 (206) 로 분할될 수도 있다. 가중 시간 주기 (204) 동안, 버스에 대한 경합은 최고의 가중을 갖는 프로세서에 버스 액세스를 승인함으로써 해결될 수도 있다. 제 2 티어 프로세서가 액세스를 요구하지 않는 경우, 가중 시간 주기 (204) 동안 제 3 티어 프로세서가 버스에의 액세스를 승인받을 수도 있다. 각각의 제 2 티어 프로세서의 가중은 버스에의 액세스가 승인되는 경우마다 감소될 수도 있다. 가중 시간 주기 (204) 는 제 2 티어 프로세서 각각에 할당된 가중이 0 으로 감소될 때까지 계속된다. 베스트 에포트 시간 주기 (206) 는 가중 시간 주기 (204) 에 후속하고, 버스 간격 (202) 의 종단까지 계속된다. 베스트 에포트 시간 주기 (206) 동안, 버스에 대한 경합은 라운드 로빈 방식으로 해결될 수도 있다.
도 3 은 제 2 티어 프로세서에 대한 위한 버스 중재 방식의 동작을 나타내는 개념도이다. 이 예에서, 3 개의 제 2 티어 프로세서 (P1, P2, 및 P3) 및 3 개의 제 3 티어 프로세서 (P4, P5, 및 P6) 가 존재한다. 버스 중재기에 의해 제 2 티어 프로세서에 할당된 가중은 토큰으로 칭한다. 제 1 프로세서 P1 는 가장 큰 대역폭을 요구하고 버스 중재기에 의해 4 개의 토큰을 할당받는다. 제 2 및 제 3 프로세서 P2 및 P3 는 더 작은 대역폭 프로세서이고, 버스 중재기에 의해 각각 2 개 및 1 개의 토큰을 할당받는다. 다음의 예는 모든 프로세서가 버스에 지속적으로 액세스를 요구함을 가정한다.
도 3 을 참조하면, 버스 액세스 중재 방식은 버스 간격 (202) 의 시작시에 가중 시간 주기 (204) 를 입력한다. 제 1 시간 슬롯 (301) 동안 버스에 대한 경합은, 이 예에서는, 4 개의 토큰을 갖는 제 1 프로세서 P1 인 가장 많은 토큰을 갖는 프로세서에 액세스를 승인함으로써 해결된다. 제 1 프로세서 P1 에 액세스를 승인시, 버스 중재기는 제 1 프로세서의 토큰을 1 만큼 감소시켜, 3 개의 토큰이 남게 된다. 제 1 프로세서 P1 의 나머지 3 개의 토큰은 제 2 시간 슬롯 (302) 동안 버스에 액세스하기에 충분하다. 버스 중재기는, 버스에의 액세스를 승인한 이후, 제 1 프로세서 P1 으로부터 또 다른 토큰을 취하여, 2 개의 토큰이 남게 된다.
제 3 시간 슬롯 (303) 동안 버스에 대한 경합은 가장 많은 토큰을 갖는 프로세서에 액세스를 승인함으로써 또한 해결된다. 그러나, 이 경우, 제 1 및 제 2 프로세서 P1 및 P2 는 임의의 다른 프로세서보다 많은 2 개의 토큰을 갖는다. 버스 중재기는 이 2 개의 프로세서 사이를 중재하기 위해 라운드 로빈 중재 방식을 이용할 수도 있다. 제 1 프로세서 P1 이 이전 시간 슬롯 (302) 에서 버스에의 액세스를 승인받았기 때문에, 버스 중재기는 현재 시간 슬롯 (303) 동안 제 2 프로세서 P2 에 액세스를 승인한다. 제 2 프로세서 P2 에 액세스를 승인시, 버스 중재기는 제 2 프로세서의 토큰을 1 만큼 감소시켜, 1 개의 토큰만이 남게 된다. 나머지 2 개의 토큰을 갖는 제 1 프로세서 P1 는 제 4 시간 슬롯 (304) 동안 버스 중재기에 의해 버스에의 액세스를 승인받아, 프로세스에서 다른 토큰을 소진한다.
제 5 시간 슬롯 (305) 동안, 제 2 티어 프로세서 P1, P2, P3 각각은 1 개의 토큰을 갖는다. 버스 중재기는 버스에의 액세스를 중재하기 위해 라운드 로빈 중재 방식을 이용할 수도 있다. 이러한 경우, 제 1 및 제 2 프로세서 P1 및 P2 모두는 현재 버스 간격 (202) 동안 버스에 액세스하였다. 현재 버스 간격 (202) 에서 버스에 아직 액세스되지 않은 제 3 프로세서 P3 가 액세스를 승인받을 수도 있다. 제 3 프로세서 P3 에 버스 액세스를 승인시, 버스 중재기는 제 3 프로세서의 토큰을 0 으로 감소시켜, 제 6 시간 슬롯 (306) 에서는 가장 많은 토큰을 갖는 제 1 및 제 2 프로세서 P1 및 P2 가 남게 된다. 버스 중재기는 라운드 로빈 중재 방식을 계속 이용하여 후속하는 2 개의 시간 슬롯 (306 및 307) 에서 제 1 및 제 2 프로세서 P1 및 P2 에 임의의 순서로 메모리 액세스를 승인할 수도 있고, 이에 의해 제 2 티어 프로세서에 대한 모든 토큰을 소진하여 버스 간격 (202) 의 가중 시간 주기 (204) 를 폐쇄한다.
베스트 에포트 시간 슬롯 (206) 은 가중 시간 슬롯 (204) 에 후속한다. 베스트 에포트 시간 슬롯 (206) 동안, 버스 중재기는 라운드 로빈 방식으로 버스에의 액세스를 승인할 수도 있다. 도 3 에 도시된 예에서, 베스트 에포트 슬롯 (206) 에 6 개의 시간 슬롯 (308 - 313) 이 존재한다. 토큰이 고갈된 3 개의 제 2 티어 프로세서 P1, P2, P3 및 3 개의 제 3 티어 프로세서 P4, P5, P6 의 6 개의 프로세서가 존재한다. 따라서, 임의의 라운드 로빈 중재 방식 하에서, 각각의 프로세서는 한번씩 버스에의 액세스를 승인받아야 한다. 순서는 반드시 중요한 것은 아니지만, 베스트 에포트 시간 슬롯 (206) 이 비교적 짧은 경우, 액세스를 보장하기 위해 3 개의 제 3 티어 프로세서 P4, P5, P6 가 먼저 버스에의 액세스를 승인받아야 하는 것이 바람직하다. 도 3 에 도시된 예에서, 제 4 프로세서 P4 는 제 8 시간 슬롯 (308) 동안 버스에의 액세스를 승인받고, 제 5 프로세서 P5 는 제 9 시간 슬롯 (309) 동안 버스에의 액세스를 승인받고, 제 6 프로세서 P4 는 제 10 시간 슬롯 (310) 동안 버스에의 액세스를 승인받고, 제 1 프로세서 P1 는 제 11 시간 슬롯 (311) 동안 버스에의 액세스를 승인받고, 제 2 프로세서 P2 는 제 12 시간 슬롯 (312) 동안 버스에의 액세스를 승인받고, 제 3 프로세서 P3 는 제 13 시간 슬롯 (313) 동안 버스에의 액세스를 승인받는다.
저 레이턴시 요구를 갖는 프로세서를 수용하기 위해, 제 2 티어 버스 액세스 중재 방식에 대한 오버레이로서 제 1 티어 버스 액세스 중재 방식이 구현될 수도 있다. 도 1 로 돌아가서, 메모리 (104) 에 저 레이턴시 액세스를 요구하는 프로세서 (102) 는 버스 중재기 (108) 에 의해 제 1 티어에 할당될 수도 있다. 동일한 프로세서 (102) 가 고 대역폭 요구를 갖는 경우, 또한 제 2 티어 할당을 수신할 수도 있다. 제 2 티어 버스 액세스 중재 방식과 관련하여 설명한 방법과 유사한 방법으로, 프로그래밍 가능하거나 튜닝 가능한 가중이 버스 중재기 (108) 에 의해 제 1 티어에서 각각의 프로세서 (102) 에 할당될 수도 있다. 프로세서에 할당된 가중은, 프로세서가 주어진 시간 주기 동안 최소개의 버스 액세스 승인을 수신하는 것을 보장하는데 이용될 수도 있다. 프로세서 요구가 제 1 티어 요구가 되는 메카니즘, 또는 적절한 포인트는, 그 요구가 추가적인 신호를 통한 중재기로의 제 1 티어 요구임을 나타내는 프로세서에 의해, 또는 프로세서의 요구를 제 1 티어 요구가 되도록 엘리베이팅하는 중재기 자체에 의해 성취될 수도 있다. 예를 들어, 중재기는, 마스터의 요구가 계류되고 승인되지 않은 클럭 사이클을 카운트하는 레이턴시 타이머를 가질 수 있다. 일단 레이턴시 타이머가 프로그래밍 가능한 값에 도달하거나 초과하는 경우, 중재기는 프로세서의 요구를 제 1 티어가 되도록 내부적으로 엘리베이팅할 수 있다. 또는, 가중은 시간 주기 동안 프로세서에 데이터 비트 또는 바이트를 할당하는데 이용될 수도 있다. 시간 주기는 버스 간격과 동일하거나 상이할 수도 있다. 가중은 레이턴시 요구를 변경할 수 있도록 프로그래밍 가능하거나 튜닝 가능할 수도 있다.
프로세싱 시스템 (100) 이 파워 업되는 경우, 버스 (110) 에 접속되고 레이턴시 요구를 갖는 각각의 프로세서 (102) 는 버스 중재기 (108) 에 요구를 통신한다. 일부 예에서는, 프로세서 (102) 가 버스 중재기 (108) 에 레이턴시 및 대역폭 요구 모두를 통신할 수도 있다. 이들 통신에 응답하여, 버스 중재기는 버스 (110) 에 접속된 다양한 프로세서 (102) 에 적절하게 제 1 및 제 2 티어를 할당한다. 버스 중재기 (108) 는 또한 제 1 및 제 2 티어 프로세서 (102) 각각에 가중을 할당한다. 동작 동안, 프로세서 (102) 가 새로운 애플리케이션을 론치 하거나, 그렇지 않고 그 레이턴시 요구가 변경되는 경우, 새로운 가중이 하나 이상의 티어에 대해 버스 중재기 (108) 와 프로세서 (102) 사이에 협상될 수도 있다.
도 4 는 도 2 의 제 2 티어 버스 액세스 중재 방식에 오버레이된 제 1 티어 버스 액세스 중재 방식의 타이밍을 나타내는 개념 블록도이다. 이 예에서, 버스 중재기는 다양한 제 1 티어 프로세서의 레이턴시 요구에 기초하여 서비스 품질 간격 (402) 을 결정한다. 서비스 품질 간격 (402) 은 레이턴시 요구의 변경을 지원하기 위해 프로그래밍 가능하거나 튜닝 가능할 수도 있다. 서비스 품질 간격 (402) 동안, 버스에의 액세스를 요구하는 제 1 티어 프로세서는 제 2 및 제 3 티어 프로세서보다 우선순위를 가질 수도 있다. 2 개 이상의 제 1 티어 프로세서 사이의 버스에 대한 경합은 최고의 가중을 갖는 프로세서에 액세스를 승인함으로써 해결될 수도 있다. 각각의 프로세서의 가중은 프로세서가 버스에의 액세스를 승인받는 경우마다 감소된다. 제 1 티어 프로세서의 가중이 0 에 도달하는 경우, 제 1 티어 버스 액세스 요구는 현재의 서비스 품질 간격 (402) 동안 버스 중재기에 의해 더 이상 승인되지 않을 것이다. 각각의 제 1 티어 프로세서에 대한 가중은 각각의 서비스 품질 간격 (402) 개시시에 버스 중재기에 의해 원래 할당된 값으로 리셋된다. 서비스 품질 간격 (402) 은 버스 간격 (202) 과 동일하거나 상이할 수도 있다. 2 개의 간격이 상이한 경우, 버스 간격 (202) 은 서비스 품질 간격 (402) 보다 길거나 짧을 수도 있고, 2 개의 시간 주기는 다른 시간 주기의 배수일 수도 있고 아닐 수도 있다. 도 4 에 도시된 예에서, 버스 간격 (202) 은 서비스 품질 간격 (402) 보다 3 배 더 길다.
도 5 는 도 3 의 제 2 티어 버스 액세스 중재 방식에 오버레이된 제 1 티어 버스 액세스 중재 방식의 동작을 나타내는 개념도이다. 이 예에서, 2 개의 제 1 티어 프로세서 (P1 및 P2), 3 개의 제 2 티어 프로세서 (P2, P3 및 P4), 및 3 개의 제 3 티어 프로세서 (P5, P6 및 P7) 가 존재한다. 제 2 프로세서 P2 는 레이턴시 요구 및 고 대역폭 요구 모두를 가지고, 따라서, 제 1 및 제 2 티어 할당을 갖는다. 제 1 프로세서 P1 은 제 1 티어 할당을 갖는 저 레이턴시 프로세서이고, 제 3 및 제 4 프로세서 (P3 및 P4) 는 제 2 티어 할당을 갖는 고 대역폭 프로세서이다. 나머지 프로세서 (P5, P6 및 P7) 는 특정 레이턴시 또는 대역폭 요구를 갖지 않는 베스트 에포트 프로세서이다.
버스 중재기에 의해 제 1 및 제 2 티어 프로세서에 할당된 가중은 토큰으로 칭한다. 제 1 프로세서 P1 은 2 개의 제 1 티어 토큰을 할당받고, 제 2 프로세서 P2 는 하나의 제 1 티어 토큰 및 2 개의 제 2 티어 토큰을 할당받고, 제 3 프로세서 P3 은 3 개의 제 2 티어 토큰을 할당받으며, 제 4 프로세서 P4 는 1 개의 제 2 티어 토큰을 할당받는다.
버스 중재기는 초기에 서비스 품질 간격 (402) 을 5 개의 시간 슬롯으로, 버스 간격 (202) 을 15 개의 시간 슬롯으로 세팅한다. 제 1 프로세서 P1 은 제 3, 제 4, 제 12 및 제 13 시간 슬롯 (503, 504, 512 및 513) 동안 버스 액세스에 대한 제 1 티어를 요구하는 것으로 도시되어 있다. 제 2 프로세서 P2 는 제 3 내지 제 6 시간 슬롯 (503 - 506) 및 제 12 내지 제 14 시간 슬롯 (512 - 514) 동안 버스 액세스에 대한 제 1 티어를 요구하는 것으로 도시되어 있다. 도시되지 않았지만, 모든 프로세서가 버스 액세스에 대해 지속적으로 요구한다.
버스 액세스 중재 방식은 버스 간격 (202) 의 개시시에 가중 시간 주기 (204) 를 입력한다. 제 1 시간 슬롯 (501) 동안 버스에 대한 경합은, 이 예에서는 3 개의 토큰을 갖는 제 3 프로세서 P3 인 가장 많은 토큰을 갖는 제 2 티어 프로세서에 액세스를 승인함으로써 해결될 수도 있다. 제 3 프로세서 P3 에 버스 액세스를 승인시, 버스 중재기는 제 3 프로세서의 제 2 티어 토큰을 1 만큼 감소시켜, 2 개의 제 2 티어 토큰이 남게 된다.
제 2 시간 슬롯 (502) 동안 버스에 대한 경합은 가장 많은 토큰을 갖는 제 2 티어 프로세서에 버스 액세스를 승인함으로써 유사한 방법으로 해결될 수도 있다. 그러나, 이 경우, 제 2 및 제 3 프로세서 P2 및 P3 은 모두, 임의의 다른 제 2 티어 프로세서보다 많은, 2 개의 토큰을 갖는다. 버스 중재기는 그 2 개의 프로세서 사이를 중재하기 위해 라운드 로빈 중재 방식을 이용한다. 제 3 프로세서 P3 가 이전 시간 슬롯 (501) 동안 버스에의 액세스를 승인받았기 때문에, 버스 중재기는 현재 시간 슬롯 (502) 동안 제 2 프로세서 P2 에 버스 액세스를 승인한다. 제 2 프로세서 P2 에 버스 액세스를 승인시, 버스 중재기는 제 2 프로세서의 제 2 티어 토큰을 1 만큼 감소시켜, 1 개의 제 2 티어 토큰이 남게 된다.
제 3 시간 슬롯 (503) 동안, 제 1 및 제 2 프로세서 P2 및 P3 은 버스에 액세스하기 위해 제 1 티어를 요구한다. 제 1 티어 요구에 우선순위를 부여하도록 구성된 버스 중재기는, 이 경우 제 1 및 제 2 프로세서 P1 및 P2 사이를 중재해야 한다. 제 1 프로세서 P1 이 제 2 프로세서 P2 보다 더 많은 제 1 티어 토큰을 갖기 때문에, 버스 중재기는 제 1 프로세서 P1 에 버스 액세스를 승인한다. 제 1 프로세서 P1 에 버스 액세스를 승인시, 버스 중재기는 제 1 프로세서의 제 1 티어 토큰을 1 만큼 감소시켜, 1 개의 제 1 티어 토큰이 남게 된다.
제 1 및 제 2 프로세서 P1 및 P2 모두가 후속하는 시간 슬롯 (504) 동안 버스에 액세스하기 위해 반복적으로 제 1 티어를 요구한다. 그러나, 이 경우, 제 1 및 제 2 프로세서 P1 및 P2 는 각각 동일한 양의 제 1 티어 토큰을 가지고, 따라서, 버스 중재기는 그 2 개의 프로세서 사이를 중재하기 위해 라운드 로빈 중재 방식을 이용할 수도 있다. 제 1 프로세서 P1 이 선행하는 시간 슬롯 (503) 에서 버스에의 액세스를 승인받았기 때문에, 버스 중재기는 제 2 프로세서 P2 에 버스 액세스를 승인할 수도 있다. 제 2 프로세서 P2 에 버스 액세스를 승인시, 버스 중재기는 제 2 프로세서의 제 1 티어 토큰을 1 만큼 감소시켜, 0 개의 제 1 티어 토큰이 남게 된다.
제 2 프로세서 P2 가 모든 제 1 티어 토큰을 소진하였기 때문에, 제 5 시간 슬롯 (505) 동안 제 2 프로세서 P2 에 의해 반복된 제 1 티어 요구는 버스 중재기에 의해 거절될 수도 있다. 대신에, 버스 중재기는, 이 예에서는 2 개의 제 2 티어 토큰을 갖는 제 3 프로세서 P3 인 가장 많은 토큰을 갖는 제 2 티어 프로세서에 버스 액세스를 승인한다. 제 3 프로세서 P3 에 버스 액세스를 승인시, 버스 중재기는 제 3 프로세서의 제 2 티어 토큰을 1 만큼 감소시켜, 1 개의 제 2 티어 토큰이 남게 된다.
새로운 서비스 품질 간격 (402) 은 제 6 시간 슬롯 (506) 의 개시와 함께 시작한다. 버스 중재기는 각각의 제 1 티어 프로세서를 적절한 수의 토큰으로 리셋한다. 레이턴시 요구에서 변화가 없다면, 버스 중재기는 제 1 프로세서의 제 1 티어 토큰을 2 개로, 제 2 프로세서의 제 1 티어 토큰을 1 개로 증가시킨다. 버스 중재기는 현재, 제 6 시간 슬롯 (503) 동안 제 1 티어 요구에 응답하여 제 2 프로세서 P2 에 버스 액세스를 승인할 수 있다. 제 2 프로세서 P2 에 버스 액세스를 승인시, 버스 중재기는 제 2 프로세서의 제 1 티어 토큰을 1 만큼 감소시켜, 0 개의 제 1 티어 토큰이 남게 된다. 그 결과, 제 2 프로세서 P2 는, 다음의 서비스 품질 간격 (402) 때까지 제 1 티어 요구에 응답하여 더이상 버스에의 액세스를 승인받지 않을 것이다.
제 7 시간 슬롯 (507) 동안, 제 2 티어 프로세서 P2, P3 및 P4 는 각각 1 개 의 토큰을 갖는다. 버스 중재기는 그 3 개의 프로세서 사이의 버스 액세스를 중재하기 위해 라운드 로빈 방식을 이용할 수도 있다. 이 경우, 제 2 및 제 3 프로세서 P2 및 P3 은 제 2 티어 요구에 응답하여 현재 버스 간격 (202) 동안 버스에 액세스하였다. 현재 버스 간격 (202) 에서 아직 버스에 액세스하지 않은 제 4 프로세서 P4 가 액세스를 승인받을 수도 있다. 제 4 프로세서 P4 에 버스 액세스를 승인시, 버스 중재기는 제 4 프로세서의 제 2 티어 토큰을 0 으로 감소시켜, 제 8 시간 슬롯 (508) 에서는 가장 많은 제 2 티어 토큰을 갖는 제 2 및 제 3 프로세서 P2 및 P3 가 남게 된다. 버스 중재기는 후속하는 2 개의 시간 슬롯 (508 및 509) 에서 임의의 순서로 제 2 및 제 3 프로세서 P2 및 P3 에 메모리 액세스를 승인하기 위해 라운드 로빈 중재 방식을 이용하기를 계속할 수도 있고, 이에 의해 제 2 티어 프로세서에 대한 모든 제 2 티어 토큰을 소진하여 버스 간격 (202) 의 가중 시간 주기 (204) 를 폐쇄한다.
베스트 에포트 시간 주기 (206) 가 가중 시간 주기 (204) 에 후속한다. 베스트 에포트 시간 주기 (206) 동안, 버스 중재기는 라운드 로빈 방식으로 버스에의 액세스를 승인할 수도 있다. 도 5 에 도시된 예에서, 제 5 및 제 6 프로세서 P5 및 P6 은 제 10 및 제 11 시간 슬롯 (510 및 511) 동안 각각 버스 중재기에 의해 메모리에의 액세스를 승인받을 수도 있다. 또한, 베스트 에포트 시간 주기 (206) 의 초기 2 개의 시간 슬롯 (510 및 511) 동안 프로세서의 임의의 다른 조 합이 버스 액세스를 승인받을 수도 있다.
제 3 서비스 품질 간격 (402) 은 제 11 시간 슬롯 (511) 의 개시와 함께 시작하고, 제 1 및 제 2 프로세서 P1 및 P2 는 적절한 수의 제 1 티어 토큰으로 리셋된다. 또한, 이들 프로세서의 레이턴시 요구가 변경되지 않음을 가정하면, 제 1 프로세서의 제 1 티어 토큰은 2 개로 유지될 것이고, 제 2 프로세서의 제 1 티어 토큰은 1 개로 증가될 것이다. 도 5 에 도시된 바와 같이, 이들 프로세서 모두는 제 12 시간 슬롯 (512) 동안 메모리에 액세스하기 위해 제 1 티어를 요구한다. 이들 요구에 응답하여, 버스 중재기는 시간 슬롯 (512) 동안, 가장 많은 제 1 티어 토큰을 갖는 제 1 프로세서 P1 에 버스 액세스를 승인한다. 제 1 프로세서 P1 에 버스 액세스를 승인시, 버스 중재기는 제 1 프로세서의 제 1 티어 토큰을 1 만큼 감소시켜, 1 개의 제 1 티어 토큰이 남게 된다.
제 13 시간 슬롯 (513) 동안, 제 1 및 제 2 프로세서 P1 및 P2 모두는 메모리에 액세스하기 위해 반복적으로 제 1 티어를 요구한다. 그러나, 이 경우, 제 1 및 제 2 프로세서 P1 및 P2 는 각각 동일한 양의 제 1 티어 토큰을 갖고, 따라서, 버스 중재기는 그 시간 슬롯 (513) 동안 제 2 프로세서 P2 에 메모리 액세스를 승인하기 위해 라운드 로빈 중재 방식을 이용할 수도 있다. 제 2 프로세서 P2 에 버스 액세스를 승인시, 버스 중재기는 제 2 프로세서의 제 1 티어 토큰을 1 만큼 감소시켜, 0 개의 제 1 티어 토큰이 남게 된다.
제 2 프로세서 P2 가 그의 모든 제 1 티어 토큰을 소진하였기 때문에, 제 14 시간 슬롯 (514) 동안 제 2 프로세서 P2 에 의해 반복된 제 1 티어 요구는 버스 중재기에 의해 거절될 수도 있다. 대신에, 버스 중재기는, 베스트 에포트 통신을 지원하기 위해, 라운드 로빈 중재 방식을 이용하여 제 14 시간 슬롯 (514) 에서의 제 7 프로세서 P7 및 제 15 시간 슬롯 (515) 에서의 제 1 프로세서 P1 에 버스 액세스를 승인한다. 이들 2 개의 시간 슬롯 (514 및 515) 동안 버스 액세스 승인의 다른 조합이 또한 가능하다. 제 15 시간 슬롯 (515) 의 종단에서, 새로운 버스 간격 및 새로운 서비스 품질 간격이 시작한다. 버스 중재기는 각각의 프로세서에 대해 제 1 및 제 2 티어 토큰을 리셋하여, 전술한 프로세스가 반복된다.
본 명세서에서 개시된 실시형태와 관련하여 설명된 다양한 예시적인 로직 블록, 모듈, 회로, 엘리먼트, 및/또는 콤포넌트는, 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 반도체 (ASIC), 필드 프로그래밍 가능 게이트 어레이 (FPGA: field programmable gate arrray), 또는 다른 프로그래밍 가능 로직 콤포넌트, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 콤포넌트, 또는 본 명세서에 개시된 기능을 수행하도록 설계된 이들의 임의의 조합으로 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로 프로세서일 수도 있지만, 대안적으로, 범용 프로세서는 임의의 종래 프로세서, 제어기, 마이크로 제어기, 또는 상태 기계일 수도 있다. 또한, 프로세서는 계산 콤포넌트의 조합, 예를 들어, DSP 및 마이크로 프로세서의 조합, 복수의 마이크로 프로세서, DSP 코어와 관련된 하나 이상의 마이 크로 프로세서, 또는 임의의 다른 이러한 구성으로서 구현될 수도 있다.
본 명세서에서 개시된 실시형태와 관련하여 설명된 방법 및 알고리즘은 하드웨어, 프로세서에 의해 실행되는 소프트웨어 모듈, 또는 이 둘의 조합으로 직접 구체화될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플레시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈 가능 디스크, CD-ROM, 또는 이 분야에 공지된 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 프로세서가 저장 매체로부터 정보를 판독하고, 저장 매체에 정보를 기입할 수 있도록 저장 매체가 프로세서에 결합될 수도 있다. 또한, 저장 매체는 프로세서에 통합될 수도 있다.
개시된 실시형태의 이전의 설명은 이 분야의 당업자가 본 발명을 제조하고 이용할 수 있도록 제공된다. 이들 실시형태의 다양한 변경들이 이 분야의 당업자에게 용이하게 명백할 것이고, 본 명세서에 규정된 일반적인 원리는 본 발명의 사상 및 범위를 벗어나지 않고 다른 실시형태에 적용될 수도 있다. 그 결과, 본 발명은 본 명세서에 도시된 실시형태에 한정되지 않지만, 청구항과 합치하는 전체 범위에 일치하도록 의도되고, 단수인 엘리먼트에 대한 레퍼런스는 "하나 및 오직 하나" 로 특정하여 기재되지 않으면 "하나 이상" 을 의미하는 것으로 의도된다. 당업자에게 공지되었고 후에 공지될 이 명세서 전반에 설명된 다양한 실시형태의 엘리먼트에 대한 구조적 및 기능적 균등물은 본 명세서에 참조로서 명백히 포함되고 청구항에 의해 포함되도록 의도된다. 본 명세서에 개시된 어떠한 것도 청구항에서 명백하게 인용되었는지 여부와 무관하게 공중에 제공되도록 의도되지 않 았다. 엘리먼트가 문구 "에 대한 수단" 을 이용하여 명백히 인용되지 않거나, 또는 방법 청구항에 있어서는, 엘리먼트가 문구 "에 대한 단계" 를 이용하여 인용되지 않는 한, 어떠한 청구항도 조항 35 U.S.C. §112, 제 6 절에 따라 해석되지 않는다.

Claims (50)

  1. 버스;
    상기 버스에 결합된 복수의 프로세서; 및
    하나 이상의 프로세서 각각에 제 2 티어 가중을 할당하여, 상기 할당된 제 2 티어 가중에 기초하여 버스 간격의 초기 부분 동안 상기 하나 이상의 프로세서에 버스 액세스를 순차적으로 승인하도록 구성된 버스 중재기를 포함하고,
    상기 버스 중재기는, 제 1 티어 가중을 갖는 프로세서 중 임의의 프로세서로부터의 요구에 응답하여 상기 버스 간격의 초기 부분 동안 상기 프로세서 중 임의의 프로세서에 버스 액세스를 승인하도록 더 구성되는, 프로세싱 시스템.
  2. 제 1 항에 있어서,
    상기 버스 중재기는, 상기 버스 간격의 초기 부분에 후속하는 버스 간격의 나머지 부분 동안, 상기 프로세서 중 임의의 프로세서로부터의 요구에 응답하여 상기 프로세서 중 임의의 프로세서에 버스 액세스를 승인하도록 더 구성되는, 프로세싱 시스템.
  3. 제 2 항에 있어서,
    상기 버스 중재기는, 라운드 로빈 방식에 기초하여 상기 버스 간격의 나머지 부분 동안 상기 프로세서 중 임의의 프로세서에 버스 액세스를 승인하도록 더 구성 되는, 프로세싱 시스템.
  4. 제 1 항에 있어서,
    상기 버스 중재기는, 상기 버스 간격의 지속기간을 튜닝하도록 더 구성되는, 프로세싱 시스템.
  5. 제 1 항에 있어서,
    상기 버스 중재기는, 하나 이상의 프로세서 중 최고의 제 2 티어 가중을 갖는 프로세서에 버스 액세스를 승인하고, 상기 버스 액세스가 승인된 이후, 상기 프로세서의 상기 제 2 티어 가중을 감소시키도록 더 구성되는, 프로세싱 시스템.
  6. 제 5 항에 있어서,
    상기 버스 간격의 초기 부분은, 상기 하나 이상의 프로세서 각각의 상기 제 2 티어 가중이 0 으로 감소되는 경우 종료하는, 프로세싱 시스템.
  7. 제 6 항에 있어서,
    상기 버스 중재기는, 상기 버스 간격의 각각의 개시시에, 상기 하나 이상의 프로세서 각각에 대해 상기 제 2 티어 가중을 세팅하도록 더 구성되는, 프로세싱 시스템.
  8. 제 1 항에 있어서,
    상기 제 2 티어 가중은, 상기 제 2 티어 가중이 할당된 프로세서에 의해 상기 버스 간격 동안 요구된 버스 액세스 승인의 수를 포함하는, 프로세싱 시스템.
  9. 제 1 항에 있어서,
    상기 제 2 티어 가중은, 상기 제 2 티어 가중이 할당된 프로세서에 의해 상기 버스 간격 동안 요구된 데이터 비트 (data beat) 의 수를 포함하는, 프로세싱 시스템.
  10. 제 1 항에 있어서,
    상기 버스 중재기는, 제 1 티어 가중을 갖는 프로세서 중 임의의 프로세서 각각에 대해 서비스 품질 간격의 개시시에 상기 제 1 티어 가중을 세팅하도록 더 구성되는, 프로세싱 시스템.
  11. 제 10 항에 있어서,
    상기 서비스 품질 간격의 지속기간은 상기 버스 간격의 지속기간과 동일한, 프로세싱 시스템.
  12. 제 10 항에 있어서,
    상기 서비스 품질 간격의 지속기간은 상기 버스 간격의 지속기간과 상이한, 프로세싱 시스템.
  13. 제 10 항에 있어서,
    상기 버스 중재기는, 상기 버스에의 액세스가 승인된 프로세서 중 임의의 프로세서의 제 1 티어 가중을 감소시키도록 더 구성되는, 프로세싱 시스템.
  14. 제 10 항에 있어서,
    상기 버스 중재기는, 상기 서비스 품질 간격의 지속기간을 튜닝하도록 더 구성되는, 프로세싱 시스템.
  15. 버스;
    상기 버스에 결합된 복수의 프로세서; 및
    제 1 티어에서 상기 프로세서 각각에 제 1 티어 가중을 할당하고, 제 2 티어에서, 상기 프로세서 각각에 제 2 티어 가중을 할당하는 버스 중재기를 포함하고,
    상기 버스 중재기는, 최고의 티어에서 최고의 가중을 갖는 요구 프로세서에 버스 액세스를 승인함으로써 상기 버스에의 액세스를 요구하는 하나 이상의 프로세서 사이를 중재하도록 더 구성되고, 상기 제 1 티어는 상기 제 2 티어보다 높은, 프로세싱 시스템.
  16. 제 15 항에 있어서,
    상기 버스 중재기는, 상기 버스에의 액세스가 승인된 요구 프로세서에 대해 적절한 티어에서 가중을 감소시키도록 더 구성되는, 프로세싱 시스템.
  17. 제 16 항에 있어서,
    상기 프로세서는, 서비스 품질 간격의 개시시에 상기 제 1 티어에서 상기 프로세서 각각에 대해 상기 제 1 티어 가중을 세팅하고, 버스 간격의 개시시에 상기 제 2 티어에서 상기 프로세서 각각에 대해 상기 제 2 티어 가중을 세팅하도록 더 구성되는, 프로세싱 시스템.
  18. 제 17 항에 있어서,
    상기 서비스 품질 간격의 지속기간은 상기 버스 간격의 지속기간과 동일한, 프로세싱 시스템.
  19. 제 17 항에 있어서,
    상기 서비스 품질 간격의 지속기간은 상기 버스 간격의 지속기간과 상이한, 프로세싱 시스템.
  20. 제 17 항에 있어서,
    상기 버스 중재기는, 상기 서비스 품질 간격의 지속기간 및 상기 버스 간격의 지속기간을 튜닝하도록 더 구성되는, 프로세싱 시스템.
  21. 제 17 항에 있어서,
    상기 제 2 티어 가중은, 상기 제 2 티어 가중이 할당된 프로세서에 의해 상기 버스 간격 동안 요구된 버스 액세스 승인의 수를 포함하는, 프로세싱 시스템.
  22. 제 17 항에 있어서,
    상기 제 2 티어 가중은, 상기 제 2 티어 가중이 할당된 프로세서에 의해 상기 버스 간격 동안 요구된 데이터 비트의 수를 포함하는, 프로세싱 시스템.
  23. 제 15 항에 있어서,
    상기 제 2 티어에서 상기 프로세서 각각에 할당된 제 2 티어 가중은, 상기 제 2 티어 가중이 할당된 프로세서의 대역폭에 관련되는, 프로세싱 시스템.
  24. 제 15 항에 있어서,
    상기 버스 중재기는, 어떠한 요구 프로세서도 상기 제 1 티어 가중 또는 상기 제 2 티어 가중을 갖지 않는 경우, 라운드 로빈 방식으로 하나 이상의 요구 프로세서 중 하나의 프로세서에 버스 액세스를 승인함으로써 상기 버스에의 액세스를 요구하는 상기 하나 이상의 프로세서 사이를 중재하도록 더 구성되는, 프로세싱 시스템.
  25. 제 15 항에 있어서,
    상기 하나 이상의 프로세서는 상기 제 1 티어 및 상기 제 2 티어 모두에 존재하는, 프로세싱 시스템.
  26. 버스에의 액세스를 요구하는 복수의 프로세서 사이를 중재하는 방법으로서,
    하나 이상의 상기 프로세서 각각에 제 2 티어 가중을 할당하는 단계;
    상기 할당된 제 2 티어 가중에 기초하여 버스 간격의 초기 부분 동안 상기 하나 이상의 프로세서에 버스 액세스를 순차적으로 승인하는 단계; 및
    제 1 티어 가중을 갖는 프로세서 중 임의의 프로세서로부터의 요구에 응답하여 상기 버스 간격의 초기 부분 동안 상기 프로세서 중 임의의 프로세서에 버스 액세스를 승인하는 단계를 포함하는, 중재 방법.
  27. 제 26 항에 있어서,
    상기 버스 간격의 초기 부분에 후속하는 버스 간격의 나머지 부분 동안, 상기 프로세서 중 임의의 프로세서로부터의 요구에 응답하여 상기 프로세서 중 임의의 프로세서에 버스 액세스를 승인하는 단계를 더 포함하는, 중재 방법.
  28. 제 27 항에 있어서,
    상기 버스 간격의 나머지 부분 동안 프로세서 중 임의의 프로세서에 버스 액세스를 승인하는 단계는 라운드 로빈 방식에 기초하는, 중재 방법.
  29. 제 26 항에 있어서,
    상기 버스 간격의 지속기간을 튜닝하는 단계를 더 포함하는, 중재 방법.
  30. 제 26 항에 있어서,
    상기 버스 액세스는 하나 이상의 프로세서 중 최고의 제 2 티어 가중을 갖는 프로세서에 승인되고,
    상기 방법은 상기 버스 액세스가 승인된 이후, 상기 프로세서의 제 2 티어 가중을 감소시키는 단계를 더 포함하는, 중재 방법.
  31. 제 30 항에 있어서,
    상기 하나 이상의 프로세서 각각의 상기 제 2 티어 가중이 0 으로 감소된 경우, 상기 버스 간격의 초기 부분이 종료하는, 중재 방법.
  32. 제 31 항에 있어서,
    상기 버스 간격 각각의 개시시에, 상기 하나 이상의 프로세서 각각에 대해 상기 제 2 티어 가중을 세팅하는 단계를 더 포함하는, 중재 방법.
  33. 제 26 항에 있어서,
    상기 제 2 티어 가중은, 상기 제 2 티어 가중이 할당된 프로세서에 의해 상 기 버스 간격 동안 요구된 버스 액세스 승인의 수를 포함하는, 중재 방법.
  34. 제 26 항에 있어서,
    상기 제 2 티어 가중은, 상기 제 2 티어 가중이 할당된 프로세서에 의해 상기 버스 간격 동안 요구된 데이터 비트의 수를 포함하는, 중재 방법.
  35. 제 26 항에 있어서,
    상기 제 1 티어 가중을 갖는 프로세서 중 임의의 프로세서 각각에 대해 서비스 품질 간격의 개시시에 상기 제 1 티어 가중을 세팅하는 단계를 더 포함하는, 중재 방법.
  36. 제 35 항에 있어서,
    상기 서비스 품질 간격의 지속기간은 상기 버스 간격의 지속기간과 동일한, 중재 방법.
  37. 제 35 항에 있어서,
    상기 서비스 품질 간격의 지속기간은 상기 버스 간격의 지속기간과 상이한, 중재 방법.
  38. 제 35 항에 있어서,
    메모리에의 액세스가 승인된 프로세서 중 임의의 프로세서의 제 1 티어 가중을 감소시키는 단계를 더 포함하는, 중재 방법.
  39. 제 35 항에 있어서,
    상기 서비스 품질 간격의 지속기간을 튜닝하는 단계를 더 포함하는, 중재 방법.
  40. 버스에의 액세스를 요구하는 복수의 프로세서 사이를 중재하는 방법으로서,
    제 1 티어에서 상기 프로세서 각각에 제 1 티어 가중을 할당하는 단계;
    제 2 티어에서 상기 프로세서 각각에 제 2 티어 가중을 할당하는 단계; 및
    최고의 티어에서 최고의 가중을 갖는 요구 프로세서에 버스 액세스를 승인함으로써 상기 버스에의 액세스를 요구하는 하나 이상의 프로세서 사이를 중재하는 단계를 포함하고, 상기 제 1 티어는 상기 제 2 티어보다 높은, 중재 방법.
  41. 제 40 항에 있어서,
    상기 버스에의 액세스가 승인된 상기 요구 프로세서에 대해 적절한 티어에서 가중을 감소시키는 단계를 더 포함하는, 중재 방법.
  42. 제 41 항에 있어서,
    상기 제 1 티어에서 서비스 품질 간격의 개시시에 상기 프로세서 각각에 대 해 상기 제 1 티어 가중을 세팅하는 단계; 및
    상기 제 2 티어에서 버스 간격의 개시시에 상기 프로세서 각각에 대해 상기 제 2 티어 가중을 세팅하는 단계를 더 포함하는, 중재 방법.
  43. 제 42 항에 있어서,
    상기 서비스 품질 간격의 지속기간은 상기 버스 간격의 지속기간과 동일한, 중재 방법.
  44. 제 42 항에 있어서,
    상기 서비스 품질 간격의 지속기간은 상기 버스 간격의 지속기간과 상이한, 중재 방법.
  45. 제 42 항에 있어서,
    상기 서비스 품질 간격의 지속기간 및 상기 버스 간격의 지속기간을 튜닝하는 단계를 더 포함하는, 중재 방법.
  46. 제 42 항에 있어서,
    상기 제 2 티어 가중은, 상기 제 2 티어 가중이 할당된 프로세서에 의해 상기 버스 간격 동안 요구된 버스 액세스 승인의 수를 포함하는, 중재 방법.
  47. 제 42 항에 있어서,
    상기 제 2 티어 가중은, 상기 제 2 티어 가중이 할당된 프로세서에 의해 상기 버스 간격 동안 요구된 데이터 비트의 수를 포함하는, 중재 방법.
  48. 제 40 항에 있어서,
    상기 제 2 티어에서 상기 프로세서 각각에 할당된 상기 제 2 티어 가중은, 상기 제 2 티어 가중이 할당된 프로세서의 대역폭에 관련되는, 중재 방법.
  49. 제 40 항에 있어서,
    상기 버스에의 액세스를 요구하는 하나 이상의 프로세서 사이의 중재는, 어떠한 요구 프로세서도 상기 제 1 또는 제 2 티어 가중을 갖지 않는 경우, 라운드 로빈 방식으로 수행되는, 중재 방법.
  50. 제 40 항에 있어서,
    상기 제 1 티어에서 상기 프로세서 각각에 제 1 티어 가중의 할당 및 상기 제 2 티어에서 프로세서 각각에 제 2 티어 가중의 할당은, 상기 프로세서 중 동일한 프로세서에 상기 제 1 가중 및 상기 제 2 가중을 할당하는 단계를 포함하는, 중재 방법.
KR1020077022405A 2005-03-01 2006-03-01 버스 액세스 중재 방식 KR100947193B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/070,338 US7249210B2 (en) 2005-03-01 2005-03-01 Bus access arbitration scheme
US11/070,338 2005-03-01

Publications (2)

Publication Number Publication Date
KR20070110529A true KR20070110529A (ko) 2007-11-19
KR100947193B1 KR100947193B1 (ko) 2010-03-11

Family

ID=36933541

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077022405A KR100947193B1 (ko) 2005-03-01 2006-03-01 버스 액세스 중재 방식

Country Status (12)

Country Link
US (1) US7249210B2 (ko)
EP (1) EP1861787B1 (ko)
JP (2) JP2008532183A (ko)
KR (1) KR100947193B1 (ko)
CN (1) CN101164051B (ko)
AT (1) ATE444529T1 (ko)
CA (1) CA2599361C (ko)
DE (1) DE602006009487D1 (ko)
ES (1) ES2334387T3 (ko)
IL (1) IL185543A0 (ko)
RU (1) RU2372645C2 (ko)
WO (1) WO2006094142A2 (ko)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6959372B1 (en) * 2002-02-19 2005-10-25 Cogent Chipware Inc. Processor cluster architecture and associated parallel processing methods
US7085866B1 (en) * 2002-02-19 2006-08-01 Hobson Richard F Hierarchical bus structure and memory access protocol for multiprocessor systems
US7143220B2 (en) 2004-03-10 2006-11-28 Intel Corporation Apparatus and method for granting concurrent ownership to support heterogeneous agents in on-chip busses having different grant-to-valid latencies
JP4224438B2 (ja) * 2004-07-16 2009-02-12 日信工業株式会社 炭素繊維複合金属材料の製造方法
US20070015485A1 (en) * 2005-07-14 2007-01-18 Scosche Industries, Inc. Wireless Media Source for Communication with Devices on Data Bus of Vehicle
US7802040B2 (en) * 2005-12-22 2010-09-21 Arm Limited Arbitration method reordering transactions to ensure quality of service specified by each transaction
US8554943B1 (en) * 2006-03-31 2013-10-08 Emc Corporation Method and system for reducing packet latency in networks with both low latency and high bandwidths requirements
US7546405B2 (en) * 2006-09-26 2009-06-09 Sony Computer Entertainment Inc. Methods and apparatus for dynamic grouping of requestors of resources in a multi-processor system
US7865647B2 (en) * 2006-12-27 2011-01-04 Mips Technologies, Inc. Efficient resource arbitration
US8108545B2 (en) * 2007-08-27 2012-01-31 International Business Machines Corporation Packet coalescing in virtual channels of a data processing system in a multi-tiered full-graph interconnect architecture
US7904590B2 (en) * 2007-08-27 2011-03-08 International Business Machines Corporation Routing information through a data processing system implementing a multi-tiered full-graph interconnect architecture
US7958183B2 (en) * 2007-08-27 2011-06-07 International Business Machines Corporation Performing collective operations using software setup and partial software execution at leaf nodes in a multi-tiered full-graph interconnect architecture
US7769892B2 (en) * 2007-08-27 2010-08-03 International Business Machines Corporation System and method for handling indirect routing of information between supernodes of a multi-tiered full-graph interconnect architecture
US7769891B2 (en) * 2007-08-27 2010-08-03 International Business Machines Corporation System and method for providing multiple redundant direct routes between supernodes of a multi-tiered full-graph interconnect architecture
US8140731B2 (en) * 2007-08-27 2012-03-20 International Business Machines Corporation System for data processing using a multi-tiered full-graph interconnect architecture
US7809970B2 (en) * 2007-08-27 2010-10-05 International Business Machines Corporation System and method for providing a high-speed message passing interface for barrier operations in a multi-tiered full-graph interconnect architecture
US7840703B2 (en) 2007-08-27 2010-11-23 International Business Machines Corporation System and method for dynamically supporting indirect routing within a multi-tiered full-graph interconnect architecture
US7822889B2 (en) 2007-08-27 2010-10-26 International Business Machines Corporation Direct/indirect transmission of information using a multi-tiered full-graph interconnect architecture
US7958182B2 (en) 2007-08-27 2011-06-07 International Business Machines Corporation Providing full hardware support of collective operations in a multi-tiered full-graph interconnect architecture
US7793158B2 (en) 2007-08-27 2010-09-07 International Business Machines Corporation Providing reliability of communication between supernodes of a multi-tiered full-graph interconnect architecture
US8014387B2 (en) 2007-08-27 2011-09-06 International Business Machines Corporation Providing a fully non-blocking switch in a supernode of a multi-tiered full-graph interconnect architecture
US8185896B2 (en) * 2007-08-27 2012-05-22 International Business Machines Corporation Method for data processing using a multi-tiered full-graph interconnect architecture
US7827428B2 (en) * 2007-08-31 2010-11-02 International Business Machines Corporation System for providing a cluster-wide system clock in a multi-tiered full-graph interconnect architecture
US7921316B2 (en) * 2007-09-11 2011-04-05 International Business Machines Corporation Cluster-wide system clock in a multi-tiered full-graph interconnect architecture
WO2009072592A1 (ja) 2007-12-05 2009-06-11 Kaneka Corporation 集積型薄膜光電変換装置とその製造方法
US20090198956A1 (en) * 2008-02-01 2009-08-06 Arimilli Lakshminarayana B System and Method for Data Processing Using a Low-Cost Two-Tier Full-Graph Interconnect Architecture
US8077602B2 (en) 2008-02-01 2011-12-13 International Business Machines Corporation Performing dynamic request routing based on broadcast queue depths
US7779148B2 (en) * 2008-02-01 2010-08-17 International Business Machines Corporation Dynamic routing based on information of not responded active source requests quantity received in broadcast heartbeat signal and stored in local data structure for other processor chips
JP2010165175A (ja) * 2009-01-15 2010-07-29 Internatl Business Mach Corp <Ibm> バスの使用権を制御する装置および方法
US8676976B2 (en) * 2009-02-25 2014-03-18 International Business Machines Corporation Microprocessor with software control over allocation of shared resources among multiple virtual servers
JP5531427B2 (ja) * 2009-03-16 2014-06-25 株式会社リコー スイッチ、情報処理装置、アービトレーション方法及び画像形成システム
EP2296091A1 (en) * 2009-09-14 2011-03-16 Nxp B.V. Servicing low-latency requests ahead of best-effort requests
GB2473505B (en) * 2009-09-15 2016-09-14 Advanced Risc Mach Ltd A data processing apparatus and a method for setting priority levels for transactions
US8417778B2 (en) * 2009-12-17 2013-04-09 International Business Machines Corporation Collective acceleration unit tree flow control and retransmit
US8447905B2 (en) * 2010-06-23 2013-05-21 International Business Machines Corporation Dynamic multi-level cache including resource access fairness scheme
KR101662029B1 (ko) 2010-11-12 2016-10-06 삼성전자주식회사 버스 중재 장치 및 방법
US9697146B2 (en) * 2012-12-27 2017-07-04 Advanced Micro Devices, Inc. Resource management for northbridge using tokens
US9135193B2 (en) * 2013-03-25 2015-09-15 Hewlett-Packard Development Company, L.P. Expander interrupt processing
US20150154132A1 (en) * 2013-12-02 2015-06-04 Sandisk Technologies Inc. System and method of arbitration associated with a multi-threaded system
US9367491B2 (en) * 2013-12-31 2016-06-14 Global Unichip, Corp. Method and apparatus for on-the-fly learning traffic control scheme
JP6297853B2 (ja) * 2014-02-18 2018-03-20 ルネサスエレクトロニクス株式会社 マルチプロセッサシステム
US9563594B2 (en) 2014-05-30 2017-02-07 International Business Machines Corporation Intercomponent data communication between multiple time zones
US9582442B2 (en) * 2014-05-30 2017-02-28 International Business Machines Corporation Intercomponent data communication between different processors
US9558528B2 (en) * 2015-03-25 2017-01-31 Xilinx, Inc. Adaptive video direct memory access module
JP6582598B2 (ja) * 2015-06-19 2019-10-02 コニカミノルタ株式会社 調停回路
US10157023B2 (en) * 2016-02-25 2018-12-18 SK Hynix Inc. Memory controller and request scheduling method using request queues and first and second tokens
US10275379B2 (en) 2017-02-06 2019-04-30 International Business Machines Corporation Managing starvation in a distributed arbitration scheme
CN108121685A (zh) * 2017-08-07 2018-06-05 鸿秦(北京)科技有限公司 一种嵌入式多核cpu固件运行方法
JP7018834B2 (ja) * 2018-06-22 2022-02-14 ルネサスエレクトロニクス株式会社 半導体装置
JP7018833B2 (ja) * 2018-06-22 2022-02-14 ルネサスエレクトロニクス株式会社 半導体装置
CN112399112B (zh) * 2019-08-12 2023-04-07 天津大学青岛海洋技术研究院 一种轮权与权重相结合的仲裁模式
US11055243B1 (en) * 2020-04-19 2021-07-06 Nuvoton Technology Corporation Hierarchical bandwidth allocation bus arbiter

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6385678B2 (en) * 1996-09-19 2002-05-07 Trimedia Technologies, Inc. Method and apparatus for bus arbitration with weighted bandwidth allocation
US5784569A (en) 1996-09-23 1998-07-21 Silicon Graphics, Inc. Guaranteed bandwidth allocation method in a computer system for input/output data transfers
US6393508B2 (en) * 1997-09-30 2002-05-21 Texas Instruments Incorporated Method and apparatus for multiple tier intelligent bus arbitration on a PCI to PCI bridge
TW406229B (en) * 1997-11-06 2000-09-21 Hitachi Ltd Data process system and microcomputer
US6092137A (en) * 1997-11-26 2000-07-18 Industrial Technology Research Institute Fair data bus arbitration system which assigns adjustable priority values to competing sources
US6088751A (en) * 1998-02-12 2000-07-11 Vlsi Technology, Inc. Highly configurable bus priority arbitration system
US6138200A (en) * 1998-06-09 2000-10-24 International Business Machines Corporation System for allocating bus bandwidth by assigning priority for each bus duration time slot to application using bus frame and bus duration
US6157978A (en) * 1998-09-16 2000-12-05 Neomagic Corp. Multimedia round-robin arbitration with phantom slots for super-priority real-time agent
US6205524B1 (en) * 1998-09-16 2001-03-20 Neomagic Corp. Multimedia arbiter and method using fixed round-robin slots for real-time agents and a timed priority slot for non-real-time agents
US6363445B1 (en) * 1998-10-15 2002-03-26 Micron Technology, Inc. Method of bus arbitration using requesting device bandwidth and priority ranking
US6516369B1 (en) * 1998-12-29 2003-02-04 International Business Machines Corporation Fair and high speed arbitration system based on rotative and weighted priority monitoring
US6654833B1 (en) * 1999-07-29 2003-11-25 Micron Technology, Inc. Bus arbitration
US6804738B2 (en) * 2001-10-12 2004-10-12 Sonics, Inc. Method and apparatus for scheduling a resource to meet quality-of-service restrictions
US6907491B2 (en) * 2002-06-05 2005-06-14 Lsi Logic Corporation Methods and structure for state preservation to improve fairness in bus arbitration
US7065595B2 (en) * 2003-03-27 2006-06-20 International Business Machines Corporation Method and apparatus for bus access allocation
JP4480427B2 (ja) * 2004-03-12 2010-06-16 パナソニック株式会社 リソース管理装置

Also Published As

Publication number Publication date
WO2006094142A3 (en) 2006-12-21
JP5021822B2 (ja) 2012-09-12
CA2599361A1 (en) 2006-09-08
CN101164051A (zh) 2008-04-16
CA2599361C (en) 2012-01-10
JP2008532183A (ja) 2008-08-14
RU2372645C2 (ru) 2009-11-10
KR100947193B1 (ko) 2010-03-11
US7249210B2 (en) 2007-07-24
ES2334387T3 (es) 2010-03-09
EP1861787B1 (en) 2009-09-30
US20060200607A1 (en) 2006-09-07
RU2007136037A (ru) 2009-04-10
DE602006009487D1 (de) 2009-11-12
EP1861787A2 (en) 2007-12-05
ATE444529T1 (de) 2009-10-15
JP2011187069A (ja) 2011-09-22
IL185543A0 (en) 2008-01-06
CN101164051B (zh) 2012-08-22
WO2006094142A2 (en) 2006-09-08

Similar Documents

Publication Publication Date Title
KR100947193B1 (ko) 버스 액세스 중재 방식
US7685346B2 (en) Demotion-based arbitration
US7032046B2 (en) Resource management device for managing access from bus masters to shared resources
EP3238083B1 (en) Mitigating traffic steering inefficiencies in distributed uncore fabric
US5623672A (en) Arrangement and method of arbitration for a resource with shared user request signals and dynamic priority assignment
US5301283A (en) Dynamic arbitration for system bus control in multiprocessor data processing system
Hassan et al. A framework for scheduling DRAM memory accesses for multi-core mixed-time critical systems
US4924380A (en) Dual rotating priority arbitration method for a multiprocessor memory bus
US7191273B2 (en) Method and apparatus for scheduling a resource to meet quality-of-service restrictions
KR101478516B1 (ko) 작은 단위 중재 시스템을 제공하는 방법
US6775727B2 (en) System and method for controlling bus arbitration during cache memory burst cycles
JP4715801B2 (ja) メモリアクセス制御装置
JP2008541217A (ja) メモリーコントローラ、メモリーアクセスの制御方法、及びメモリーコントローラを具えたシステム
US11055243B1 (en) Hierarchical bandwidth allocation bus arbiter
US10268604B2 (en) Adaptive resource management in a pipelined arbiter
Jang et al. Application-aware NoC design for efficient SDRAM access
US20160350246A1 (en) Method And Apparatus For Split Burst Bandwidth Arbitration
KR100973419B1 (ko) 버스 중재 방법 및 장치
KR101013769B1 (ko) 버스 중재방법 및 장치
JPH1125035A (ja) バス調停装置
JPH0991246A (ja) バス制御装置及びその方法
IE68439B1 (en) Computer arbitration system
JPH05250308A (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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140227

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150227

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151230

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 10