KR20080039499A - 전송 방향 및 소비되는 대역폭에 기초하는 가중된 버스중재 - Google Patents

전송 방향 및 소비되는 대역폭에 기초하는 가중된 버스중재 Download PDF

Info

Publication number
KR20080039499A
KR20080039499A KR1020087006693A KR20087006693A KR20080039499A KR 20080039499 A KR20080039499 A KR 20080039499A KR 1020087006693 A KR1020087006693 A KR 1020087006693A KR 20087006693 A KR20087006693 A KR 20087006693A KR 20080039499 A KR20080039499 A KR 20080039499A
Authority
KR
South Korea
Prior art keywords
bus
channel
master device
arbitration
bandwidth
Prior art date
Application number
KR1020087006693A
Other languages
English (en)
Other versions
KR101012213B1 (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 KR20080039499A publication Critical patent/KR20080039499A/ko
Application granted granted Critical
Publication of KR101012213B1 publication Critical patent/KR101012213B1/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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt

Landscapes

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

Abstract

버스 중재 알고리즘은 버스 트랜잭션의 방향 및/또는 버스 트랜잭션에 의해 소비되는 버스 채널 대역폭을 고려함으로써 각각의 마스터 디바이스에 할당된 상대적인 버스 채널 대역폭을 정확하게 제어한다. 적어도 하나의 가중 레지스터는 각각의 마스터 디바이스와 연관되며, 일 실시예에서, 버스 채널당 하나의 가중 레지스터가 연관된다. 레지스터에는 사용가능한 버스 대역폭의 비례 공유가 주기적으로 로딩된다. 버스 채널에서 버스 트랜잭션이 허가되면, 상응하는 가중 레지스터는 트랜잭션을 종료하는데 요청되는 버스 데이터 전송 사이클들의 개수 또는 전송되는 데이터의 양에서 측정되는 트랜잭션에 의해 소비되는 버스 채널 대역폭을 반영하는 양만큼 감소된다. 상대적인 대역폭 공유의 동일한 초기 할당의 경우에, 버스 채널 대역폭을 소비하는 마스터 디바이스들은 상대적으로 낮은 우선순위를 가지며, 버스 채널 대역폭을 소비하지 않는 마스터 디바이스들은 상대적으로 높은 우선순위를 갖는다.

Description

전송 방향 및 소비되는 대역폭에 기초하는 가중된 버스 중재{WEIGHTED BUS ARBITRATION BASED ON TRANSFER DIRECTION AND CONSUMED BANDWIDTH}
본 발명은 일반적으로 프로세서 분야에 관한 것이며, 특히 데이터 전송 방향 및 버스 채널 대역폭 소비를 고려하는 버스 중재 방법에 관한 것이다.
휴대용 전자 디바이스들은 계속 증가하는 기능성을 사용자들에게 제공할 때 복잡성 및 계산 전력도 계속해서 증가하고 있다. 현대의 휴대용 전자 디바이스들은 무선 데이터 및 음성 통신들; 사진 및 비디오 포착 및 재생; 위치 결정 및 지리적 라우팅; 정교한 그래픽이 제공되는 게임-플레이; 고-충실도 오디오 수신 및 재생 등등을 포함할 수 있다. 가까운 미래에, 휴대용 전자 디바이스들은 유비쿼터스 애드혹 데이터 통신들(예컨대, IEEE 802.11, 블루투스, 등등), 가상 현실 사용자 인터페이스들 및 다수의 다른 개선들을 지원할 것으로 예상된다. 다수의 경우들에서, 상기 다양한 기능은 하나 또는 그 이상의 메인 프로세서들에 부가하여 전용 처리 회로들을 사용하여 구현된다. 예를 들어, 그래픽 보조 프로세서, MPEG 비디오 인코더/디코더, GPS 수신기 프로세서 및/또는 다른 전용 프로세서들은 휴대용 전자 디바이스 내에 상주할 수 있고, 메모리, 사용자 인터페이스 엘리먼트들 등등과 같은 시스템 자원들을 공유할 수 있다.
기능 유니트들 사이에서 데이터의 효율적인 전송은 휴대용 전자 디바이스들을 포함하는 임의의 데이터 시스템의 기본적인 동작이다. 디스크로부터의 프로그램을 메모리로, 프로세서로 전송하고; 그래픽 엔진으로부터의 데이터를 프레임 버퍼로, 비디오 디스플레이 회로로 전송하고; 키패드, 마우스 또는 터치 스크린으로부터의 입력을 프로세서로 전송하는 것은 컴퓨팅 시스템 내의 데이터 전송의 모든 공통 예들이 된다.
도 1은 숫자 10에 의해 표시되는 공지된 시스템 버스 구조의 간략화된 도면을 도시한다. 시스템 버스(12)는 시스템 유니트들을 상호접속한다. 시스템 버스(12)는 어드레스, 데이터 및 제어 채널들을 포함할 수 있고, 양방향(예컨데, 판독 및 기록) 데이터 전송들을 수행할 수 있다. CPU(14) 또는 DMA 엔진(16)과 같은 마스터 디바이스들은 메모리(18) 및 입/출력 회로들(20)과 같은 슬레이브 디바이스들로 또는 이들로부터 버스(12 - 본 명세서에서 버스 트랜잭션들로 지칭됨 - )의 하나 또는 그 이상의 채널들을 통한 데이터 전송들을 포함한다. 둘 또는 그 이상의 독립적인 마스터들(14, 16)이 버스(12)에 접속될 때, 버스로의 액세스는 중재기(22)에 의해 제어된다.
당업계에 공지된 것과 같이, 하나 또는 그 이상의 마스터 디바이스들(14, 16)은 버스 요청을 중재기(22)에 주장한다(assert). 중재기(22)는 버스(12)에서 동작을 모니터하여 버스(12)가 사용가능할 때 버스 허가를 요청 마스터 디바이스들(14, 16) 중 하나에 전송한다. 허가된 마스터 디바이스(14, 16)는 그후에 하나 또는 그 이상의 슬레이브 디바이스들(18, 20)로 전송되는 판독 또는 기록 사이클들 과 같이 버스(12)의 하나 또는 그 이상의 채널들을 통해 트랜잭션들을 개시할 수 있다.
다양한 버스 중재 알고리즘들이 공지되어 있다. 2004년 4월 27일에 제출되고 본 발명의 양수인에게 양수되며, 본 명세서에서 참조로서 통합되는 계류중인 미국 특허 출원 번호 10/833,716는 각각의 마스터 디바이스에 먼저 프로그램가능한 가중이 할당되는 버스 중재 방식을 개시한다. 각각의 마스터 디바이스에 버스로의 액세스가 허가되면, 그 가중 레지스터가 감소되며, 미결의(pending) 요청들을 가지는 다른 마스터 디바이스들과 관련하여 상기 마스터의 요청 우선순위를 효율적으로 감소시킨다. 중재기는 가중된 라운드-로빈 중재 알고리즘을 구현하며, 상기 알고리즘에서 더 높은 가중들을 가지는 마스터 디바이스들은 더 낮은 가중들을 가지는 마스터 디바이스들 보다 높은 우선순위를 가지고, 마스터 디바이스들 사이의 라운드-로빈 선택은 동일한 가중을 갖는다. 모든 마스터 디바이스들이 그들의 가중 레지스터들을 제로로 감소시키면, 공평한 라운드-로빈 중재는 가중 인터벌의 기간 동안 구현되며, 상기 가중 인터벌은 그 종료시 모든 마스터 디바이스들에 초기 프로그래밍 가능한 가중이 할당된다.
일 실시예에서, 마스터 디바이스들의 둘 또는 그 이상의 층(tier)들이 정의될 수 있다. 더 높은 층의 마스터 디바이스들의 프로그래밍 가능한 가중은 더 낮은 층의 마스터 디바이스들의 프로그래밍 가능한 가중보다 더 높은 빈도로 업데이트될 수 있다. 따라서, 마스터 디바이스의 가중들은 각각의 마스터 디바이스들에서 가중 인터벌 동안의 버스 트랜잭션 사이클이 허가됨에 따라 감소되며, 더 높은 층의 마스터 디바이스들은 전체 더 높은 우선순위를 더 높은 층의 마스터 디바이스들에 효율적으로 제공할 때 더 높은 빈도에 기초하여 초기 가중치들로 리셋될 수 있다.
상기 중재 방식은 공정한 방식으로 다수의 마스터 디바이스들 사이에서 버스 자원들을 공유하는데 효과적이며, 버스에 액세스하는 마스터 디바이스들만이 때때로 더 높은 우선순위를 보유하고, 다수의 버스 트랜잭션들을 수행하는 디바이스들은 그들의 상대적인 우선순위를 신속하게 소비한다.
그러나, 마스터 디바이스에 의해 수행되는 버스 트랜잭션들의 회수는 사용가능한 버스 대역폭의 마스터 디바이스 소비에 대한 대략적인 근사화이다. 예를 들어, 16개 데이터 전송 사이클들 또는 "비트들"(즉, 64-비트 데이터 버스에 대하여 128 바이트들)을 포함하는 판독 버스트는 단 하나의 버스 비트를 요청하는 바이트 판독보다 훨씬 더 큰 버스 대역폭을 소비한다. 그러나, 전술된 중재 방식은 마스터 디바이스의 가중 레지스터를 어떤 경우든지 동일한 양만큼 감소시킬 것이다.
부가적으로, 현재의 고성능 버스들은 독립적인 판독 및 기록 버스 채널들을 포함할 수 있고, 마스터 디바이스들은 변화하는 양들 내에서 판독 및 기록 버스 채널들을 사용한다. 전술된 중재 알고리즘은 마스터 디바이스가 사용하는 채널을 고려하지 않기 때문에, 그 중재 가중 방식은 마스터 디바이스의 실제 버스 대역폭 소비를 정확히 반영하지 않는다.
일 또는 그 이상의 실시예들에서, 버스 중재 알고리즘은 버스 트랜잭션의 방향 및/또는 버스 트랜잭션에 의해 소비되는 버스 채널 대역폭을 고려하여 각각의 마스터 디바이스에 할당된 상대적인 버스 채널 대역폭을 정확하게 제어한다. 적어도 하나의 가중 레지스터는 각각의 마스터 디바이스와 연관되며; 일 실시예에서 버스 채널당 하나의 레지스터가 할당된다. 레지스터에는 사용가능한 버스 대역폭의 비례 공유가 주기적으로 로딩된다. 버스 채널에 버스 트랜잭션이 허가되면, 상응하는 가중 레지스터는 트랜잭션을 완료하는데 요구되는 버스 데이터 전송 사이클들의 개수 또는 전송되는 데이터의 양에서 측정된 트랜잭션에 의해 소비되는 버스 채널 대역폭을 반영하는 양만큼 감소된다. 상대적인 대역폭 공유의 동일한 초기 할당의 경우에, 버스 채널 대역폭을 소비하는 마스터 디바이스들은 상대적으로 낮은 우선순위를 가지고, 버스 채널 대역폭을 소비하지 않는 마스터 디바이스들은 상대적으로 높은 우선순위를 가질 것이다.
일 실시예는 다수의 마스터 디바이스들 사이에서 버스 중재를 수행하는 방법에 관한 것이다. 버스 대역폭의 비례 공유(proportionate share)는 각각의 마스터 디바이스에 할당한다. 각각의 마스터 디바이스의 버스 대역폭 소비는 상기 마스터 디바이스에 의해 수행되는 버스 트랜잭션들의 길이에 응답하여 할당된 공유를 감소시킴으로써 추적된다. 각각의 마스터 디바이스의 나머지 대역폭 공유를 상기 버스에 대한 중재시 우선순위로 사용된다.
또다른 실시예는 개별 전송 및 수신 채널들을 가지는 버스를 통해 다수의 마스터 디바이스들 사이에서 중재를 수행하는 방법에 관한 것이다. 중재 우선순위는 상기 전송 및 수신 채널들에 대하여 각각의 마스터 디바이스에 독립적으로 할당된다. 각각의 마스터 디바이스의 전송 및 수신 채널 우선순위는 각각의 개별 채널에서 상기 마스터 디바이스에 의해 수행되는 버스 트랜잭션들에 응답하여 독립적으로 감소된다.
또다른 실시예는 개별 전송 및 수신 채널들을 가지는 버스를 통해 다수의 마스터 디바이스들 사이에서 중재를 수행하는 방법으로서, 각각의 마스터 디바이스는 각각의 채널에 상응하는 가중 레지스터와 연관된다. 각각의 마스터 디바이스와 연관된 전송 채널 가중 레지스터 및 수신 채널 가중 레지스터는 대역폭의 상대적인 비례 공유를 사용하여 상기 각각의 채널에 로딩된다. 중재는 상기 가중 레지스터들의 컨텐츠에 의해 반영되도록 현재 대역폭 공유에 기초하여 버스 채널들을 통해 버스 트랜잭션들을 요청하는 마스터 디바이스들 사이에서 수행된다. 상기 마스터 디바이스가 버스 채널로 액세스하도록 허가되면, 상기 허가된 마스터 디바이스와 연관된 채널에 상응하는 가중 레지스터는 허가된 버스 트랜잭션에서 소비되는 버스 채널 대역폭만큼 감소된다.
또다른 실시예는 전자 디바이스에 관한 것이다. 상기 디바이스는 데이터 전송 버스, 데이터 전송 관계로 상기 버스에 접속된 적어도 2개의 마스터 디바이스들, 데이터 전송 관계로 상기 버스에 접속된 적어도 하나의 슬레이브 디바이스를 포함한다. 상기 디바이스는 또한 각각의 마스터 디바이스와 연관되며, 초기값이 로딩되도록 동작하고, 상기 버스를 통한 버스 트랜잭션을 허가받는 상기 마스터 디바이스에 응답하여 상기 버스 트랜잭션에 의해 소비되는 버스 대역폭을 반영하는 양만큼 감소하도록 동작하는 중재 우선순위 레지스터를 포함한다. 상기 디바이스는 또한 연관된 중재 우선순위 레지스터 내에서 최고값을 가지는 요청 마스터 디바이스에 상기 버스를 허가하도록 동작하는 버스 중재기를 포함한다.
또다른 실시예는 적어도 2개의 마스터 디바이스들 및 적어도 하나의 슬레이브 디바이스들을 포함하는 전자 디바이스에 관한 것이다. 상기 디바이스는 마스터 디바이스로부터 슬레이브 디바이스로 정보를 전송하도록 동작하는 전송 버스 채널 및 슬레이브 디바이스로부터 마스터 디바이스로 정보를 전송하도록 동작하는 수신 버스 채널을 포함한다. 상기 디바이스는 또한 각각의 마스터 디바이스와 연관된 상기 전송 및 수신 버스 채널들의 각각에 대한 중재 우선순위 레지스터를 포함한다. 중재 우선순위 레지스터는 초기값이 로딩되도록 동작하고, 상기 개별 버스 채널을 통한 버스 트랜잭션을 허가받는 상기 마스터 디바이스에 응답하여 감소하도록 동작한다. 상기 디바이스는 또한 버스 채널에 대하여 연관된 중재 우선순위 레지스터 내의 최고값을 가지는 요청 마스터 디바이스에 상기 버스 채널을 허가하도록 동작하는 버스 중재기를 포함한다.
도 1은 종래 기술의 버스의 블럭 다이어그램이다.
도 2는 전자 디바이스의 기능 블럭 다이어그램이다.
도 3은 스케일 가능한 버스 구조의 블럭 다이어그램이다.
도 4는 스케일 가능한 버스 구조를 구현하는 단일-칩 컴퓨터의 블럭 다이어그램이다.
도 5는 버스 중재 방법의 흐름도이다.
도 2는 4개의 마스터 디바이스들; 프로세서(102), 그래픽 보조 프로세서(104), DMA 엔진(106) 및 MPEG 인코딩/디코딩 엔진(108)을 가지는 전자 디바이스(100)를 도시한다. 도시된 마스터 디바이스들은 단지 대표격이며, 전자 디바이스(100)는 다양한 기능을 가지는 몇몇 마스터 디바이스들을 포함할 수 있다. 마스터 디바이스들(102, 104, 106, 108)은 메모리(110) 및 I/O 회로(112)와 같은 대표적인 슬레이브 디바이스들로부터 판독되고, 상기 디바이스들에 기록한다. 데이터는 115에 의해 표시되는 시스템 버스를 통해 마스터 디바이스와 슬레이브 디바이스 사이에서 전송된다.
도 2에 도시된 실시예에서, 시스템 버스(115)는 마스터 디바이스들(102, 104, 106, 108)로부터의 데이터를 슬레이브 디바이스들(110, 112)에 전송하는 기록 버스 채널(114)을 포함한다. 시스템 버스(115)는 부가적으로 슬레이브 디바이스들(110, 112)로부터의 데이터를 마스터 디바이스들(102, 104, 106, 108)로 전송하는 판독 버스 채널(116)을 포함한다. 개별 어드레스 및 제어 신호 채널은 명확함을 위해 도 2에서 생략된다. 시스템 버스의 기록 채널(114) 및 판독 채널(116)로의 분배는 단지 대표적이며, 제한되지 않는다. 예를 들어, 어드레스 채널(비도시)은 기록 채널(114)과 통합된다. 선택적으로, 버스 채널들(114, 116)은 단일의 양방향 채널에 통합될 수 있다.
각각의 마스터 디바이스(102, 104, 106, 108)는 마스터가 시스템 버스(115)를 통해 버스 트랜잭션을 수행하기를 원할 때 요청 신호를 버스 중재기(118)에 전 송한다. 버스 중재기는 2개의 버스 채널들(114, 116)에 대한 상기 경우에 마스터 디바이스들(102, 104, 106, 108) 사이에서 중재를 수행하고, 독점적인 허가 신호를 각각의 버스 채널(114, 116)에 대한 하나의 마스터 디바이스(102, 104, 106, 108)에 발행한다. 요청 및 허가 신호들에 대한 도 2의 도면은 단지 대표격이다. 임의의 특정 실시예에서, 상기 논리적 신호들은 임의의 개수의 실제 신호 라인들을 포함할 수 있다.
프로세서(102)는 판독 채널 중재 가중 레지스터(120) 및 기록 채널 중재 가중 레지스터(122)를 포함한다. 유사하게, 마스터 디바이스(104)는 판독 채널 가중 레지스터(124) 및 기록 채널 가중 레지스터(126)를 포함하고; 마스터 디바이스(106)는 판독 채널 가중 레지스터(128) 및 기록 채널 가중 레지스터(130)를 포함하고; 마스터 디바이스(108)는 판독 채널 가중 레지스터(132) 및 기록 채널 가중 레지스터(134)를 포함한다. 기록 채널 가중 레지스터들(120, 124, 128, 132) 및 기록 채널 가중 레지스터들(122, 126, 130, 134)은 데이터 전송 방향(즉, 어떤 버스 채널(114, 116) 및 버스(115) 중재를 수행할 때 소비되는 버스 대역폭(즉, 관련 채널(114, 116)을 통해 전송되는 데이터의 양) 모두를 고려하는 창의적인 버스 중재 메카니즘을 구현한다.
다수의 컴퓨팅 시스템에서, 기록 채널(114) 및 판독 채널(116)은 동일하게 사용되지 않는다. 오히려, 판독 채널(116) 활동이 우세하다. 또한, 다수의 마스터 디바이스들(102, 104, 106, 108)은 기록 채널(114) 및 판독 채널(116)의 특징적으로 서로 다른 활용 레이트들을 갖는다. 예를 들어, 디스플레이에 직접 결합된 그래픽 보조 프로세서(104) 또는 MPEG 디코더(108)는 메모리로부터 다량의 데이터를 판독할 수 있지만, 상대적인 적은 데이터를 기록한다. 기록 채널(114)과 판독 채널(116)을 구별하고, 상응하는 기록 채널 가중 레지스터들(122, 126, 130, 134)과 판독 채널 가중 레지스터들(120, 124, 128, 132)을 구별함으로써, 각각의 마스터 디바이스(102, 104, 106, 108)의 상대적인 중재 우선순위는 시스템 성능의 섬세한 조정을 고려할 때 각각의 채널(114, 116)에서 개별적으로 제어될 수 있다.
일 실시예에 따라, 판독 채널(116) 대역폭은 각각 판독 채널 가중 레지스터들(120, 124, 128, 132)에 기록된 값들에 의해 마스터 디바이스들(102, 104, 106, 108) 사이에서 주기적으로 비례으로 할당된다. 예를 들어, 판독 채널 가중 레지스터(120)는 40의 값을 수신하고, 판독 채널 가중 레지스터들(124, 128, 132)은 각각 20의 값을 수신한다. 이는 100의 판독 채널(116) 버스 비트들의 중재 인터벌 동안 판독 채널(116) 대역폭의 40%를 마스터 디바이스(102)에 할당하고, 판독 채널(116) 대역폭의 20%를 마스터 디바이스들(104, 106, 108)의 각각에 할당한다.
요청 마스터 디바이스(102, 104, 106, 108)에게 판독 채널(116)을 통한 버스 트랜잭션이 허가되면, 상기 마스터 디바이스의 판독 채널 가중 레지스터(120, 124, 128, 132)는 버스 트랜잭션에 의해 소비된 판독 채널(116)의 대역폭에 상응하는 양만큼 감소된다. 따라서 판독 채널(116) 중재시 마스터 디바이스(102, 104, 106, 108)의 우선순위는 상기 마스터 디바이스가 슬레이브 디바이스들(110, 112)로부터 다량의 데이터를 전송함으로써 판독 채널(116) 대역폭을 소비함에 따라 감소된다. 주기적으로, 또는 선택적으로 모든 가중 레지스터들(120, 124, 128, 132)이 종료되 면, 레지스터들은 그들의 초기 값들(또는 판독 채널(116) 대역폭의 서로 다른 상대적인 비례 공유)로 리셋될 수 있다.
일 실시예에서, 마스터 디바이스(120, 104, 106, 108)에 판독 채널(116) 버스 트랜잭션이 허가되면, 상응하는 판독 채널 가중 레지스터(120, 124, 128, 132)는 바이트 단위와 같은 데이터 전송 크기 만큼 감소된다. 그러나, 상기 경우에 64-비트 폭의 데이터 경로를 가지는 판독 버스 채널(116)에 대하여, 대략 1 내지 8 바이트의 전송은 동일한 양의 버스 채널(116) 대역폭 - 즉, 단일 데이터 전송 사이클 또는 "비트"를 소비한다. 본 명세서에서 사용된 것과 같이, 데이터 전송 사이클 또는 비트는 소스로부터 목적지로 버스 채널(114, 116)을 통해 데이터를 전송하는데 요청되는 기간이다. 최선으로, 데이터 비트는 단일 버스 클럭 사이클을 포함하지만, 단일 버스 비트는 둘 또는 그 이상의 버스 클럭 사이클들을 소비할 수 있다.
또다른 실시예에 따라, 버스 트랜잭션에서 마스터 디바이스(102, 104, 106, 108)에 의해 소비되는 관련 버스 채널(114, 116)의 실제 대역폭은 버스 채널(114, 116) 내에서 소비되는 대역폭을 바이트들이 아니라 비트들로 측정함으로써 마스터 디바이스의 상대적인 중재 우선순위에 반영된다. 즉, 1 내지 8 바이트를 판독하기 위해 판독 채널(116) 버스 트랜잭션들이 허가된 마스터 디바이스들(102, 104, 106, 108)은 모두 모든 버스 트랜잭션들이 판독 채널(116)내에서 1 비트 대역폭을 소비함에 따라 그들의 판독 채널 가중 레지스터(120, 124, 128, 132)를 1 만큼 감소시킨다.
따라서, 일 실시예에서, 마스터 디바이스(102, 104, 106, 108)에 판독 버스 채널(116)로의 액세스가 허가되면, 그 판독 채널 가중 레지스터(120, 124, 128, 132)는 요청된 트랜잭션을 완료하는데 요청되는 판독 버스 채널(116)을 통한 비트들의 개수만큼 감소된다. 예를 들어, 1 내지 8 바이트들의 판독은 판독 버스 채널(116)에서 하나의 비트를 요청할 때 관련된 판독 채널 가중 레지스터(120, 124, 128, 132)를 1 만큼 감소시킬 것이다. 16의 버스트는 관련된 판독 채널 가중 레지스터(120, 124, 128, 132)를 16 만큼 감소시킬 것이다. 상기 방식에서, 각각의 마스터 디바이스(102, 104, 106, 108)의 중재 우선순위 가중은 상기 마스터 디바이스에 초기에 할당된 관련된 판독 채널(116) 대역폭뿐만 아니라 상기 마스터 디바이스의 판독 채널(116)의 실제 활용 모두를 반영한다.
동작에서, 판독 채널(116, 상기 경우에 판독 채널(116) 대역폭을 소비하는)을 통한 긴 버스트들 또는 다수의 버스 트랜잭션들을 수행하는 마스터 디바이스들(102, 104, 106, 108)은 다른 마스터 디바이스들과 관련하여 더 낮은 중재 우선순위를 가질 것이다. 판독 채널(116)을 많이 사용하지 않는 마스터 디바이스들(102, 104, 106, 108)은 많이 사용하는 마스터 디바이스들과 관련하여 더 낮은 중재 우선순위를 가질 것이다. 이는 마스터 디바이스들(102, 104, 106, 108)이 그들의 할당된 상대적인 비례 대역폭 공유 및 판독 채널(116)에서 그들의 실제 대역폭 소비 모두에 상응하여 판독 채널(116)로 액세스하는 것을 보장한다.
유사하게, 각각의 마스터 디바이스(102, 104, 106, 108)에는 먼저(및 주기적으로) 기록 채널 가중 레지스터(122, 126, 130, 134) 각각에 하나의 값을 기록함으 로써 기록 채널(114)의 비례 공유가 할당된다. 기록 채널(114)과 관련된 마스터 디바이스의 초기 우선순위는 판독 채널(116)과 관련된 초기 우선순위와 서로 다를 수 있다. 각각의 마스터 디바이스(102, 104, 106, 108)에 대한 기록 채널 가중 레지스터(122, 126, 130, 134)는 기록 채널(114)에서 버스 트랜잭션이 허가될 때 일 실시예에서 허가된 버스 트랜잭션을 완료하는데 요청되는 비트 수 만큼 감소된다. 따라서, 임의의 주어진 시간에서, 기록 채널(114) 및 판독 버스 채널(116)에서 마스터 디바이스의 상대적인 우선순위는 초기 할당된 관련된 대역폭 공유 및 관련된 버스 채널(114, 116)의 대역폭의 실제 사용 모두를 반영한다.
요청 마스터 디바이스들(102, 104, 106, 108)과 연관된 모든 판독 채널 가중 레지스터(120, 124, 128, 132) 또는 기록 채널 가중 레지스터(122, 126, 130, 134)가 동일한 값을 가질 때, 중재기(118)는 라운드-로빈 중재 알고리즘으로 스위칭할 수 있다. 특히, 이와 같은 상황은 모든 마스터 디바이스들에 채널들(114, 116) 중 하나 또는 둘 다의 동등한 비례 대역폭 공유가 할당되는 경우에 가중 레지스터들(120-134)을 다시 로딩할 때 발생할 수 있다. 또한, 라운드-로빈 중재는 모든 판독 채널 가중 레지스터(120, 124, 128, 132) 또는 기록 채널 가중 레지스터(122, 126, 130, 134)가 0으로 완전히 감소될 때 사용될 수 있다. 판독 채널 가중 레지스터(120, 124, 128, 132) 및 기록 채널 가중 레지스터(122, 126, 130, 134)는 시간 또는 버스 비트들의 개수로 측정될 수 있는 중재 인터벌의 종료시 그들의 초기 값들로 업데이트될 수 있다.
일 실시예에서, 일 또는 그 이상의 마스터 디바이스들(102, 104, 106, 108) 은 상위-층 마스터 디바이스로 정의될 수 있고, 그 판독 및 기록 채널 가중 레지스터들(120-134)은 다른 마스터 디바이스들 보다 더 높은 빈도로 업데이트될 수 있다. 즉, 상위-층 마스터 디바이스들의 중재 인터벌은 하위-층 마스터 디바이스들의 중재 인터벌보다 짧을 수 있다. 일반적으로, 층들의 임의의 개수는 상응하는 연관된 중재 인터벌들을 사용하여 정의될 수 있다.
상기 방식에서, 각각의 버스 트랜잭션의 방향(즉, 기록 채널(114) 및 판독 채널(116)을 위한 개별 우선순위들을 유지하는 방향) 및 소비되는 대역폭(즉, 비트 단위)은 각각의 버스 채널(114, 116)에서 각각의 마스터 디바이스(102, 104, 106, 108)의 중재 우선순위를 조정하기 위해 사용된다. 이는 각각의 마스터 디바이스에 할당된 시스템 버스(115) 대역폭의 상대적인 공유에서 더 많은 제어를 제공한다. 하기의 테이블은 4개의 마스터 디바이스들(M0-M3)의 각각에 대하여 판독 및 기록 채널 가중 레지스터들(120-134)의 내용을 도시하며, 일 실시예에 따른 중재 알고리즘의 동작의 대표 예를 제공한다:
마스터 디바이스들에는 먼저 판독 및 기록 채널들 모두에 대하여 동일한 25%의 대역폭 공유가 할당된다.
M0 Rd M0 Wr M1 Rd M1 Wr M2 Rd M2 Wr M3 Rd M3 Wr
25 25 25 25 25 25 25 25
판독 채널
모두 4개의 마스터 디바이스들이 동시에 판독 채널에서의 버스 트랜잭션들을 요청하고, 요청들을 유지하는 것을 가정한다(어떤 마스터 디바이스도 기록 채널에서 버스 트랜잭션을 요청하지 않음). 모든 가중들이 동일할 때, 라운드-로빈 중재 알고리즘은 어떤 요청 마스터 디바이스에 채널이 할당되는지 결정한다. M0에는 8의 판독 버스트가 허가되고, M0 Rd(120)는 8 만큼 감소된다:
M0 Rd M0 Wr M1 Rd M1 Wr M2 Rd M2 Wr M3 Rd M3 Wr
17 25 25 25 25 25 25 25
M1에는 4의 판독 버스트가 허가되고, M1 Rd(124)는 4 만큼 감소된다:
M0 Rd M0 Wr M1 Rd M1 Wr M2 Rd M2 Wr M3 Rd M3 Wr
17 25 21 25 25 25 25 25
M2에는 워드 판독이 허가되고, M2 Rd(128)는 1 만큼 감소된다(트랜잭션은 판독 채널에서 1 비트를 소비한다):
M0 Rd M0 Wr M1 Rd M1 Wr M2 Rd M2 Wr M3 Rd M3 Wr
17 25 21 25 24 25 25 25
M3에는 16의 판독 버스트가 허가되고, M3 Rd(132)는 16 만큼 감소된다:
M0 Rd M0 Wr M1 Rd M1 Wr M2 Rd M2 Wr M3 Rd M3 Wr
17 25 21 25 24 25 9 25
M2는 판독 채널에 대하여 최고 우선순위를 가지며(최소한의 판독 채널 대역폭이 소비됨), 12의 판독 버스트가 허가되며, M2 Rd(128)는 12만큼 감소된다:
M0 Rd M0 Wr M1 Rd M1 Wr M2 Rd M2 Wr M3 Rd M3 Wr
17 25 21 25 12 25 9 25
판독 채널에 대한 중재는 모두 4개의 마스터 디바이스의 판독 채널 가중 레지스터들이 0으로 감소될 때까지, 즉 라운드-로빈 중재가 다시 시작할 때 또는 중재 인터벌의 종료 까지, 즉 판독 채널 가중 레지스터들에 그들의 초기값이 다시 로딩될 때 상기 방식으로 계속될 것이다.
기록 채널
모든 판독 채널 요청들이 주장되지 않고, 모든 마스터 디바이스들이 동시에 기록 채널에서 버스 트랜잭션들을 요구하는 것을 가정한다. M0에는 4의 기록 버스트가 허가되고(동일한 가중들을 위한 라운드-로빈), M0 Wr(122)는 4 만큼 감소된다:
M0 Rd M0 Wr M1 Rd M1 Wr M2 Rd M2 Wr M3 Rd M3 Wr
17 21 21 25 12 25 9 25
M1에는 8의 기록 버스트가 허가되고, M1 Wr(126)은 8 만큼 감소된다:
M0 Rd M0 Wr M1 Rd M1 Wr M2 Rd M2 Wr M3 Rd M3 Wr
17 21 21 17 12 25 9 25
M2에는 16의 기록 버스트가 허가되고, M2 Wr(130)는 16 만큼 감소된다:
M0 Rd M0 Wr M1 Rd M1 Wr M2 Rd M2 Wr M3 Rd M3 Wr
17 21 21 17 12 9 9 25
M3에는 바이트 기록이 허가되고, M3 Wr(134)는 1(하나의 기록 채널 비트) 만큼 감소된다:
M0 Rd M0 Wr M1 Rd M1 Wr M2 Rd M2 Wr M3 Rd M3 Wr
17 21 21 17 12 9 9 24
M3는 기록 채널에 대하여 최고 우선순위를 가지고(최소한의 기록 채널 대역폭이 소비된다), 워드 기록이 허가되며, M3 Wr(134)는 1(하나의 기록 채널 비트) 만큼 감소된다:
M0 Rd M0 Wr M1 Rd M1 Wr M2 Rd M2 Wr M3 Rd M3 Wr
17 21 21 17 12 9 9 23
기록 채널에 대한 중재는 모두 4개의 마스터 디바이스의 기록 채널 가중 레지스터들이 0으로 감소될 때까지, 즉 라운드-로빈 중재가 다시 시작할 때 또는 중재 인터벌의 종료까지, 즉 기록 채널 가중 레지스터들에 그들의 초기값들이 다시 로딩될 때 상기 방식으로 계속될 것이다.
상기 예에서, 5개 판독 채널(116) 트랜잭션 및 5개 기록 채널(114) 트랜잭션에 대한 중재 이후에, 마스터 디바이스 M3(108)는 허가된 버스(115) 트랜잭션들에 이해 기록 채널(114)에 대하여 최고 중재 우선순위를 가지고, 판독 채널(116)에 대하여 최저 중재 우선순위를 갖는다. 다른 마스터 디바이스들(102, 104, 106)은 버스 채널들(114, 116)의 실제 사용을 반영하는 버스 채널들(114, 116)에 대한 중재 우선순위를 갖는다(상기 예에서와 같이, 버스 채널들(114, 116)에 대하여 초기 할당된 비례 대역폭 공유는 동일했다).
만약 판독 채널 가중 레지스터들(120, 124, 128, 132) 또는 기록 채널 가중 레지스터들(122, 126, 130, 134) 모두가 중재 인터벌의 종료 이전에 소모되면, 중재기(118)는 당업계에 공지된 것과 같은 라운드-로빈 중재 알고리즘 또는 몇몇 다른 중재 알고리즘을 구현할 수 있다. 일 실시예에서, 판독 채널 가중 레지스터들(120, 124, 128, 132) 또는 기록 채널 가중 레지스터들(122, 126, 130, 134)을 그들의 초기값들을 사용하여 다시 로딩하는 것은 모든 마스터 디바이스들(102, 104, 106, 108)이 그들의 할당된 채널(114, 116) 대역폭 공유를 완전히 소비하였음을 표시할 때 완전히 감소한 개별 가중 레지스터들 모두에 의해 트리거될 수 있다.
일 실시예에서, 판독 채널 가중 레지스터들(120, 124, 128, 132) 및 기록 채널 가중 레지스터들(122, 126, 130, 134)은 버스 트랜잭션이 중재기(118)에 의해 상응하는 마스터 디바이스들(102, 104, 106, 108)에 허가되면 버스(115) 트랜잭션 내의 비트들의 개수만큼 감소된다. 당업자는 가중 레지스터들(120-134)이 선택적으로 버스 전송의 종료시 감소되거나 중단되는 경우 또는 불완전한 버스 트랜잭션들이 버스 트랜잭션이 완료한 경우와 같이 마스터 디바이스의 중재 우선순위를 감소하지 않는 경우에 버스 전송의 각각의 비트가 종료함에 따라 감소될 수 있음을 인식할 것이다. 또한, 도 2는 가중 레지스터들(120-134)이 마스터 디바이스들(102-108) 내에 있는 것으로 도시하지만, 선택적인 실시예에서, 가중 레지스터들(120-134)은 버스 중재기(118) 내에, 상호 접속 행렬(비도시) 내에, 또는 전자 디바이스(100) 내에 상주할 수 있다.
또다른 실시예에서, 판독 채널 가중 레지스터들(120, 124, 128, 132) 및 기록 채널 가중 레지스터들(122, 126, 130, 134)은 각각의 허가된 버스(115) 트랜잭션에 대하여 한 번만 감소된다. 상기 실시예에서, 각각의 마스터 디바이스(102, 104, 106, 108)의 기록 채널(114)과 판독 채널(116)의 사용은 개별적으로 추적되지만, 데이터 전송의 길이에 기초하여 어떠한 구별도 수행되지 않고, 다라서 실재 대역폭 소비는 고려되지 않는다. 또다른 실시예에서, 각각의 마스터 디바이스(102, 104, 106, 108)는 데이터 전송이 기록 동작인지 아니면 판독 동작인지의 여부와 관계없이 각각의 데이터 전송 비트에 대하여 감소되는 단일 채널 가중 레지스터(비도시) 만을 포함한다. 상기 실시예에서, 마스터 디바이스의 전체 버스(115) 대역폭 공유가 추적되며, 그 중재 우선순위는 어떤 채널에서(즉, 어떤 방향으로) 전송들이 발생하는지와 관계없이 상응하여 조정된다. 상기 실시예는 특히 도 1에 도시된 것과 같이 기록 및 판독 전송들 모두가 동일한 데이터 라인을 사용하는 단일 데이터 버스를 가지는 시스템 버스에 적합할 수 있다.
전술되고 도 2에 도시된 전자 디바이스(100)는 개별 기록 채널(114), 판독 채널(116) 및 어드레스 채널(비도시)을 사용한다. 다양한 실시예들에서, 전송 방향 및/또는 소비되는 대역폭을 고려하는 중재 알고리즘은 유리하게 다양한 버스 구조들에 적용될 수 있다. 예를 들어, 2004년 8월 17일에 제출되고 본 발명의 양수인에게 양수되며, 본 명세서에서 참조로서 통합되는 계류중인 미국 특허 출원 제 10/921,053은 버스의 특정 구현의 대역폭 요구조건에 독립적인 공통의 버스 구조 및 시그널링 프로토콜을 사용하는 시스템-온-칩(SOC) 설계들을 위한 버스 구조를 개시한다. 상기 구조는 본 명세서에서 스케일 가능한 버스 구조로 지칭된다.
스케일 가능한 버스 구조는 버스 폭 및 클럭 주파수 모두에서 스케일 가능하며, 그 시그널링 프로토콜은 사용되는 임의의 상위 레벨 버스 프로토콜과 독립적이다. 이는 버스의 시그널링 프로토콜을 버스를 통해 정보를 전송 또는 수신하는데 요구되는 필수 신호들만으로 감소시킴으로써 달성된다. 시그널링 프로토콜 자체로부터 특정한 상위 레벨 프로토콜을 제거하는 것은 임의의 버스 구조가 동일한 기본적인 시그널링 프로토콜을 사용하여 구현되도록 한다. 또한, 상기 구조의 스케일 능력(scalability)은 동일한 시그널링 프로토콜을 사용하여 다양한 구현들을 허용한다.
종래 기술의 온-칩 버스 구조들은 종종 어드레스 버스, 전송 한정 버스, 기록 데이터 버스, 기록 데이터 버스 인에이블들 및 판독 데이터 버스를 포함한다. 상기 버스들은 각각 자신의 시그널링 프로토콜, 버스 폭 및 전송 프로토콜을 가지 는 독립적인 채널로 구현될 수 있다. 각각의 버스 채널은 버스를 통한 데이터 흐름을 제어하기 위해 필수적인 교환을 허용하는 소량의 제어 신호들을 포함한다.
도 3에 도시된 스케일 가능한 버스 구조에서, 어드레스, 전송 한정자들, 기록 데이터 및 기록 데이터 인에이블들은 모두 송신측 디바이스(150)로부터 수신측 디바이스(152)로 전송되는 정보로 고려된다. 상기 정보는 모두 도시된 것과 같은 단일 전송 채널(154) 또는 다수의 전송 채널들을 통해 동일한 전송 프로토콜을 사용하여 전송된다. 판독 데이터는 수신측 디바이스(152)로부터 송신측 디바이스(150)로 수신 채널(156)을 통해 동일한 시그널링 프로토콜을 사용하여 전송된다. 모드 버스 전송 프로토콜은 전송 채널(154) 및 수신 채널(156)을 통해 정보를 전송함으로써 통신하는 송신측 디바이스(150) 및 수신측 디바이스(152)의 기본 동작으로 분류된다. 시간 분할 멀티플렉싱 방식에서, 서로 다른 타입의 정보는 송신측 디바이스(150)로부터 수신측 디바이스(152)로 방송될 수 있다.
스케일 가능한 구조에서, 송신측 디바이스(150)는 어드레스 보유 기간 동안 전송 채널(154)을 통해 어드레스 또는 어드레스들을 방송함으로써 판독 또는 기록 전송 또는 이들의 임의의 조합을 초기화하기 위해 어드레스, 전송 한정자들, 기록 데이터 또는 기록 데이터 인에이블들을 포함하는 정보를 전송 채널(154)을 통해 전송한다. 기록 전송, 어드레스, 전송 한정자들, 기록 데이터 및 기록 데이터 인에이블들은 모두 전송 채널(154)을 통해 전송되고 수신 채널(152)은 사용되지 않는다. 판독 전송의 경우에, 어드레스 및 전송 한정자들은 전송 채널(154)을 통해 전송된다. 수신측 디바이스(152)는 상기 방송을 확인응답하며, 이후에 판독 데이터 를 수신 채널(156)을 통해 방송함으로서 요청되는 데이터를 제공한다.
도 4는 스케일링 가능한 버스 구조를 사용하는 대표적인 SOC 설계를 도시한다. 시스템(160)은 2개의 마스터 디바이스들, CPU(162) 및 DMA 제어기(164)를 포함하며, 이들은 슬레이브 디바이스, 즉 DRAM 제어기(168)로/부터 데이터를 판독 및 기록한다. 데이터 전송들은 온-칩 버스 상호접속(166)을 통해 발생한다. CPU(162)는 전송 채널(172) 및 수신 채널(174)에 의해 온-칩 버스(166)에 접속한다. 유사하게, DMA 제어기(164)는 전송 채널(176) 및 수신 채널(178)에 의해 온-칩 버스(166)에 접속한다. 차례로, 온-칩 버스(166)는 전송 채널(180)과 수신 채널(182)을 통해 슬레이브 DRAM 제어기에 접속한다. DRAM 제어기(168)는 어드레스 버스(184), 제어 신호들(186) 및 양방향 데이터 버스(188)를 포함하는 종래의 인터페이스를 통해 오프-칩 DRAM(170)을 판독 및 기록한다.
전송 채널들(172, 176, 180)은 어드레스 보유들, 전송 한정자들 및 기록 데이터 보유들을 전송한다. 수신 채널들(174, 187, 182)은 판독 데이터 보유들을 전달한다. 온-칩 버스(166)는 허가된 마스터 디바이스(162, 164)의 버스 채널들(172, 174 또는 176, 178)을 각각 슬레이브 디바이스(168)의 상응하는 버스 채널들(180, 182)에 접속하는 상호접속부이다. 예를 들어, 온-칩 버스 상호접속부(166)에 상주할 수 있는 중재기(비도시)는 마스터 디바이스들(162, 164) 사이에서 전송 방향 및/또는 소비된 버스 채널 대역폭을 고려하여 그들 사이에서 온-칩 버스(166) 대역폭을 정확히 할당하는 중재를 수행한다.
일 실시예에서, CPU(162)는 전송 채널 가중 레지스터(190) 및 수신 채널 가 중 레지스터(192)를 포함한다. 유사하게, DMA 제어기(164)는 전송 채널 가중 레지스터(194) 및 수신 채널 가중 레지스터(196)를 포함한다. 가중 레지스터들(190-196) 내의 값들은 개별 전송 및 수신 버스 채널들을 위해 마스터 디바이스들(162, 164)의 중재 우선순위를 결정한다. 가중 레지스터들(190-196)에는 각각의 채널에 대한 각각의 마스터 디바이스의 온-칩 버스(166) 대역폭에 대한 할당된 상대적인 비례 공유를 반영하는 초기값이 주기적으로 로딩된다.
일 실시예에서, 기록 동작을 수행하기 위해 버스(166)를 마스터 디바이스(162, 164)에 허가하면, 허가된 마스터의 전송 채널 가중 레지스터(190, 194)는 어드레스 보유에 대하여 1 만큼 감소되고, 전송 한정자 전송에 대하여 2번 감소되고, 전송 채널(172, 176, 180)을 통한 각각의 기록 데이터 전송 또는 비트에 대하여 한번 감소된다. 판독 동작을 위해, 허가된 마스터의 수신 채널 가중 레지스터(192, 196)는 수신 채널(174, 178, 182)에서 각각의 데이터 비트에 대하여 1 만큼 감소된다. 또한, 허가된 마스터의 전송 채널 가중 레지스터(190, 194)는 어드레스 보유에 대하여 1 만큼 감소되고, 전송 채널(172, 176, 180)을 통한 전송 한정자 전송에 대하여 1 만큼 감소된다.
상기 방식에서, 전송 및 수신 채널 가중 레지스터들(190-196)은 버스 트랜잭션을 완료하는데 요구되는 전송 채널(172, 176, 180) 및 수신 채널(174, 178, 182)의 각각의 통한 정확한 전송 횟수에 기초하여 감소된다. 가중 레지스터들(190-196)을 상기 방식으로 감소시킬 때, 시스템은 전송 및 수신 채널들(172-182) 모두에서 마스터들의 각각에 할당된 대역폭을 정확히 제어할 수 있다.
또다른 실시예에서, 기록 동작을 위해, 허가된 마스터의 전송 채널 가중 레지스터(190, 194)는 전송 채널(172, 176, 180)을 통한 기록 데이터 비트들에 대해서만 감소되고, 수신 채널 가중 레지스터(192, 196)는 수신 채널(174, 178, 182)을 통한 판독 데이터 비트들에 대해서만 감소된다. 상기 실시예에서, 판독 및 기록 동작들 모두를 위해 전송 채널(172, 176, 180) 상의 어드레스 보유 및 전송 한정자 전송들은 시스템 오버헤드로 고려되고, 버스 중재의 수행시 마스터 디바이스들(162, 164) 사이에서 버스 대역폭 할당시 특별히 추정되지 않는다. 이는 덜 정확한 대역폭 할당 제어 메카니즘을 제공하지만, 구현을 간단히 하고 전송 오버헤드를 감소시킬 수 있다.
일 실시예에서, 각각의 마스터 디바이스(162, 164) 내의 단일 버스 가중 레지스터는 각각의 정보 전송 비트 또는 온-칩 버스(166)를 통한 방향에서 각각의 데이터 비트에 대해서만 감소될 수 있고, 따라서 전송 채널(172, 176, 180) 및 수신 채널(174, 178, 182)의 개별 사용이 아니라 전체 버스 사용을 추적한다. 또다른 실시예에서, 각각의 마스터(162, 164)는 전송 채널 가중 레지스터(190, 194) 및 수신 채널 가중 레지스터(192, 196)를 포함할 수 있지만, 레지스터들(190-194)은 개별 마스터 디바이스(162, 164)에 관련된 데이터 전송을 위해 온-칩 버스(166)가 허가되면 단 일 회만 감소된다. 상기 실시예에서, 마스터 디바이스의 온-칩 버스(166)의 사용은 각각의 데이터 전송 방향에 대하여 개별적으로 추적되지만, 상기 각각의 전송의 길이 - 및 따라서 마스터 디바이스의 실제 버스 대역폭 소비 - 는 추적되지 않는다.
도 5는 일 실시예에 따라 흐름도 형식으로 중재 방법을 도시한다. 각각의 버스 채널에 대한 가중 레지스터에는 버스 채널 대역폭의 상대적인 비례 공유가 부가된다(블럭 200). 이는 단일 버스 또는 전송(기록) 및 수신(판독) 버스 채널들에 대한 개별 가중 레지스터들과 같은 단일 가중 레지스터를 로딩하는 것을 포함할 수 있다. 일 또는 그 이상의 레지스터들은 개별 버스 채널들에서 버스 트랜잭션들을 위한 중재에 참여할 수 있는 각각의 마스터 디바이스와 연관되며, 상기 레지스터들은 비례 대역폭 공유를 유지한다. 마스터 디바이스가 채널들을 통해 버스 트랜잭션들을 요청하면, 중재기는 그들 사이에서 중재를 수행하고, 요청된 버스 채널을 최고의 현재 할당된 대역폭 공유를 가지는 마스터 디바이스에 허가한다(블럭 202). 버스 채널을 요청하는 모든 마스터 디바이스들이 동일한 현재 할당된 대역폭 공유를 가지는 경우에, 라운드-로빈 중재 알고리즘이 사용될 수 있다.
마스터 디바이스에 요청된 버스 채널을 통한 버스 트랜잭션이 허가되면, 연관된 할당된 대역폭 공유는 전송된 데이터의 양 또는 버스 채널 비트들과 관련하여 버스 트랜잭션에 의해 소비되는 채널 대역폭만큼 감소된다. 중재 인터벌의 종료시, 또는 선택적으로 모든 마스터 디바이스들의 버스 채널에 대하여 할당된 대역폭 공유들이 완전히 감소되면(블럭 206), 레지스터들에는 마스터 디바이스의 상대적으로 비례하는 할당된 대역폭 공유가 다시 로딩된다(블럭 200). 그렇지 않으면, 버스 중재가 계속된다(블럭 202).
본 명세서에 설명된 중재 방법들은 하나 또는 그 이상의 실시예들과 관련하여 종래 기술의 버스 시스템들 및 중재 방법들에 비해 신규한 장점들을 제공한다. 중재는 판독 및 기록 데이터 채널 대역폭에 대한 개별적이고 독립적인 가중을 허용한다. 다수의 시스템들에서, 판독 데이터 채널은 전체 시스템 성능에서 제한적인 인자이다. 판독 전송들이 허가될 때만 감소되는 개별 가중 인자를 제공하는 것은 판독 데이터 채널을 통한 대역폭의 할당에 더 정확한 제어 레벨을 허용하며, 따라서 잠재적으로 더 양호한 전체 시스템 성능을 허용한다.
다수의 온-칩 버스 구조들에서, 단일 요청 보유를 가지는 판독 또는 기록 데이터 채널(예를 들면, 판독 및 기록 "버스트들")을 통해 다수의 비트 전송들을 요청하는 것이 가능하다. 관련된 가중 인자들을 요청되는 비트들의 개수만큼 감소시키는 것은 가중 인자들이 어드레스 보유들의 개수 대신에 판독 또는 기록 데이터 버스를 통해 요구되는 데이터 보유들의 개수를 나타내도록 한다. 가중 인자들은 각각의 버스 채널에서 실제 버스 폭을 가지고 더 밀접하게 정렬되며, 마스터 디바이스들이 다양한 서로 다른 데이터 전송 크기들을 가지는 버스 트랜잭션들을 요청할 때 동일한 효과를 제공한다.
몇몇 실시예들에서, 판독 및 기록 버스 채널들을 위한 개별 가중 레지스터들의 사용은 요청되는 데이터 비스트들의 개수에서 측정된 소비되는 대역폭에 기초항 가중 레지스터들을 감소시키는 것과 함께 마스터 디바이스로 프로그래밍된 가중 인자들 사이의 직접 상관 및 상기 마스터 디바이스에 할당될 기록 및 판독 버스 채널들의 실제 대역폭을 제공한다. 이는 대역폭 할당을 더 정확하게 수행하며, 각각의 마스터 디바이스에 할당된 실제 대역폭에서 프로그래머가 더 제어하도록 한다.
개별 어드레스, 판독 데이터 및 데이터 채널들을 가지는 버스트 프로토콜을 사용하는 다수의 현대의 온-칩 버스 구조들에서, 어드레스 채널은 충분히 이용되지 못하며, 시스템 내의 최대 달성가능한 대역폭을 결정하는데 제한적인 인자가 되지 않는다. 오히려, 판독 데이터 채널이 종종 제한적인 인자가 되며, 판독 데이터 채널 대역폭을 더 정확하게 제어하는 능력을 가지는 것은 더 높은 전체 시스템 성능에 더 최적의 중재 방식 지도를 허용할 수 있다.
개시된 실시예의 전술된 설명은 당업자가 본 발명을 구현하고 이용하기에 용이하도록 하기 위하여 제공되었다. 이들 실시예에 대한 여러 가지 변형은 당업자에게 자명하며, 여기서 한정된 포괄적인 원리는 본 발명의 사용 없이도 다른 실시예에 적용될 수 있다. 따라서, 본 발명은 설명된 실시예에 한정되는 것이 아니며, 여기에 개시된 원리 및 신규한 특징에 나타낸 가장 넓은 범위에 따른다.

Claims (42)

  1. 다수의 마스터 디바이스들 사이에서 버스 중재를 수행하는 방법으로서,
    버스 대역폭의 비례 공유(proportionate share)를 각각의 마스터 디바이스에 할당하는 단계;
    상기 마스터 디바이스에 의해 수행되는 버스 트랜잭션들의 길이에 응답하여 할당된 공유를 감소시킴으로써 각각의 마스터 디바이스의 버스 대역폭 소비를 추적하는 단계; 및
    각각의 마스터 디바이스의 나머지 대역폭 공유를 상기 버스에 대한 중재시 우선순위로 사용하는 단계를 포함하는 방법.
  2. 제 1항에 있어서,
    상기 버스는 개별 전송 및 수신 채널들을 포함하고, 상기 각각의 채널의 대역폭의 비례 공유는 각각의 마스터에 개별 할당되고, 상기 각각의 채널에서 수행되는 버스 트랜잭션의 길이에 응답하여 감소되며, 상기 각각의 채널에서 버스 트랜잭션들에 대한 중재시 사용되는 것을 특징으로 하는 방법.
  3. 제 2항에 있어서,
    기록 동작들은 상기 전송 채널에서 발생하고, 판독 동작들은 상기 수신 채널에서 발생하는 것을 특징으로 하는 방법.
  4. 제 2항에 있어서,
    상기 버스는 개별 어드레스 채널을 더 포함하는 것을 특징으로 하는 방법.
  5. 제 2항에 있어서,
    어드레스 정보 및 기록 데이터는 상기 전송 채널을 통해 전송되는 것을 특징으로 하는 방법.
  6. 제 1항에 있어서,
    상기 마스터 디바이스에 의해 수행되는 상기 버스 트랜잭션의 길이는 상기 버스 트랜잭션에서 전송되는 데이터의 품질에 의해 측정되는 것을 특징으로 하는 방법.
  7. 제 1항에 있어서,
    상기 마스터 디바이스에 의해 수행되는 상기 버스 트랜잭션의 길이는 상기 버스 트랜잭션을 수행하기 위해 상기 버스를 통해 요청되는 정보 전송 사이클들의 개수에 의해 측정되는 것을 특징으로 하는 방법.
  8. 제 7항에 있어서,
    상기 마스터 디바이스에 의해 수행되는 상기 버스 트랜잭션의 길이는 상기 버스 트랜잭션을 수행하기 위해 상기 버스를 통해 요청되는 데이터 전송 사이클들의 개수에 의해 측정되는 것을 특징으로 하는 방법.
  9. 제 1항에 있어서,
    버스 대역폭의 비례 공유를 각각의 마스터 디바이스에 재할당하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  10. 제 9항에 있어서,
    상기 재할당은 중재 인터벌의 종료시 발생하는 것을 특징으로 하는 방법.
  11. 제 10항에 있어서,
    상기 중재 인터벌은 버스 데이터 전송 사이클들 내에서 모든 마스터 디바이스들의 할당된 공유들의 합인 것을 특징으로 하는 방법.
  12. 제 10항에 있어서,
    적어도 하나의 마스터 디바이스로의 재할당은 적어도 하나의 다른 마스터 디바이스로의 재할당보다 높은 빈도로 발생하는 것을 특징으로 하는 방법.
  13. 제 9항에 있어서,
    상기 재할당은 모든 마스터 디바이스들이 그들의 할당된 버스 대역폭의 공유 를 완전히 감소시킬 때 발생하는 것을 특징으로 하는 방법.
  14. 제 1항에 있어서,
    상기 중재는 모든 마스터 디바이스의 나머지 대역폭 공유가 동일할 때 라운드-로빈(round-robin) 기반으로 수행되는 것을 특징으로 하는 방법.
  15. 개별 전송 및 수신 채널들을 가지는 버스를 통해 다수의 마스터 디바이스들 사이에서 중재를 수행하는 방법으로서,
    상기 전송 및 수신 채널들에 대한 중재 우선순위를 각각의 마스터 디바이스에 독립적으로 할당하는 단계; 및
    각각의 개별 채널에서 상기 마스터 디바이스에 의해 수행되는 버스 트랜잭션들에 응답하여 각각의 마스터 디바이스의 전송 및 수신 채널 우선순위를 독립적으로 감소시키는 단계를 포함하는 방법.
  16. 제 15항에 있어서,
    상기 각각의 채널에 대하여 각각의 마스터 디바이스에 할당된 중재 우선순위는 채널 대역폭의 상대적인 비례 공유인 것을 특징으로 하는 방법.
  17. 제 16항에 있어서,
    상기 각각의 마스터 디바이스에 대한 각각의 채널 우선순위는 상기 마스터 디바이스에 의해 소비되는 채널 대역폭의 양에 응답하여 감소되는 것을 특징으로 하는 방법.
  18. 제 17항에 있어서,
    상기 소비된 대역폭은 상기 버스 트랜잭션에서 채널을 통해 전송된 데이터의 양에서 측정되는 것을 특징으로 하는 방법.
  19. 제 17항에 있어서,
    상기 소비된 대역폭은 상기 버스 트랜잭션을 수행하는데 요청되는 상기 채널 상의 정보 전송 사이클들에서 측정되는 것을 특징으로 하는 방법.
  20. 제 19항에 있어서,
    상기 소비된 대역폭은 상기 버스 트랜잭션을 수행하는데 요청되는 상기 채널 상의 데이터 전송 사이클들에서 측정되는 것을 특징으로 하는 방법.
  21. 제 15항에 있어서,
    상기 전송 및 수신 채널들에 대한 중재 우선순위를 각각의 마스터 디바이스에 재할당하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  22. 제 21항에 있어서,
    상기 각각의 채널에 대한 중재 우선순위는 중재 인터벌의 종료시 재할당되는 것을 특징으로 하는 방법.
  23. 제 22항에 있어서,
    상기 적어도 하나의 채널에 대한 중재 우선순위는 상기 채널 우선순위가 적어도 하나의 다른 마스터 디바이스에 재할당되는 빈도 보다 높은 빈도로 적어도 하나의 마스터 디바이스에 재할당되는 것을 특징으로 하는 방법.
  24. 제 21항에 있어서,
    상기 중재 우선순위는 모든 마스터 디바이스들 내의 상기 전송 또는 수신 채널에 대한 우선순위들이 완전히 감소될 때 각각의 마스터 디바이스에 재할당되는 것을 특징으로 하는 방법.
  25. 제 15항에 있어서,
    상기 버스는 기록 데이터 및 기록 인에이블들을 전송하는 전송 채널, 판독 데이터를 전송하는 수신 채널 및 어드레스 및 전송 한정(qualifier) 정보를 전송하는 어드레스 채널을 포함하는 것을 특징으로 하는 방법.
  26. 제 25항에 있어서,
    상기 버스는 기록 데이터, 기록 인에이블들, 어드레스들 및 전송 한정 정보 를 전송하는 전송 채널 및 판독 데이터를 전송하는 수신 채널을 포함하는 것을 특징으로 하는 방법.
  27. 제 15항에 있어서,
    상기 모든 요청 마스터 디바이스들에 대한 개별 채널 우선순위들이 동일할 때 라운드-로빈 중재 알고리즘을 사용하여 상기 전송 또는 수신 채널들을 요청하는 마스터 디바이스들 사이에서 중재하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  28. 개별 전송 및 수신 채널들을 가지는 버스를 통해 다수의 마스터 디바이스들 사이에서 중재를 수행하는 방법으로서, 각각의 마스터 디바이스는 각각의 채널에 상응하는 가중 레지스터와 연관되고, 상기 방법은,
    대역폭의 상대적인 비례 공유를 사용하여 각각의 마스터 디바이스와 연관된 전송 채널 가중 레지스터 및 수신 채널 가중 레지스터를 상기 각각의 채널에 로딩하는 단계;
    상기 가중 레지스터들의 컨텐츠에 의해 반영되도록 현재 대역폭 공유에 기초하여 버스 채널들을 통해 버스 트랜잭션들을 요청하는 마스터 디바이스들 사이에서 중재하는 단계; 및
    상기 마스터 디바이스가 버스 채널로 액세스하도록 허가되면, 상기 허가된 마스터 디바이스와 연관된 채널에 상응하는 가중 레지스터를 허가된 버스 트랜잭션 에서 소비되는 버스 채널 대역폭만큼 감소시키는 단계를 포함하는 방법.
  29. 제 28항에 있어서,
    상기 요청 마스터 디바이스들 사이에서 중재하는 단계는 요청되는 버스 채널에 상응하는 모든 가중 레지스터들이 동일한 경우에 라운드-로빈 중재 알고리즘을 사용하는 단계를 포함하는 것을 특징으로 하는 방법.
  30. 제 28항에 있어서,
    대역폭의 상대적인 비례 공유를 가지는 가중 레지스터들을 상기 개별 채널에 주기적으로 다시 로딩하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  31. 제 30항에 있어서,
    상기 가중 레지스터들은 중재 인터벌의 종료시 다시 로딩되는 것을 특징으로 하는 방법.
  32. 제 30항에 있어서,
    상기 가중 레지스터들은 버스 채널에 대한 모든 가중 레지스터들이 완전히 감소될 때 다시 로딩되는 것을 특징으로 하는 방법.
  33. 전자 디바이스로서,
    데이터 전송 버스;
    데이터 전송 관계로 상기 버스에 접속된 적어도 2개의 마스터 디바이스들;
    데이터 전송 관계로 상기 버스에 접속된 적어도 하나의 슬레이브 디바이스;
    각각의 마스터 디바이스와 연관되며, 초기값이 로딩되도록 동작하고, 상기 버스를 통한 버스 트랜잭션을 허가받는 상기 마스터 디바이스에 응답하여 상기 버스 트랜잭션에 의해 소비되는 버스 대역폭을 반영하는 양만큼 감소하도록 동작하는 중재 우선순위 레지스터; 및
    연관된 중재 우선순위 레지스터 내에서 최고값을 가지는 요청 마스터 디바이스에 상기 버스를 허가하도록 동작하는 버스 중재기를 포함하는 전자 디바이스.
  34. 제 33항에 있어서,
    상기 버스 중재기는 상기 모든 요청 마스터 디바이스들과 연관된 상기 버스 우선순위 레지스터들 내의 값들이 동일할 때 라운드-로빈 기반으로 상기 요청 마스터 디바이스에 상기 버스를 허가하도록 더 동작하는 것을 특징으로 하는 전자 디바이스.
  35. 제 33항에 있어서,
    상기 데이터 전송 버스는 기록 데이터를 전송하도록 동작하는 전송 채널 및 판독 데이터를 전송하도록 동작하는 수신 채널을 포함하며, 각각의 마스터 디바이스와 연관된 각각의 채널에 대하여 각각 버스 트랜잭션에 의해 서비되는 채널 대역 폭을 반영하는 양만큼 감소하도록 동작하는 개별 중재 우선순위 레지스터를 더 포함하고, 상기 중재기는 각각의 채널에 대하여 중재하는 것을 특징으로 하는 전자 디바이스.
  36. 제 35항에 있어서,
    상기 전송 채널은 어드레스들을 전송하도록 더 동작하는 것을 특징으로 하는 전자 디바이스.
  37. 제 33항에 있어서,
    상기 중재 우선순위 레지스터는 다시 로딩되도록 더 동작하는 것을 특징으로 하는 전자 디바이스.
  38. 제 37항에 있어서,
    상기 중재 우선순위 레지스터는 중재 인터벌의 종료시 다시 로딩되도록 동작하는 것을 특징으로 하는 전자 디바이스.
  39. 제 37항에 있어서,
    상기 중재 우선순위 레지스터는 상기 전송 또는 수신 채널들에 대한 모든 중재 우선순위 레지스터들이 완전히 감소될 때 다시 로딩되도록 동작하는 것을 특징으로 하는 전자 디바이스.
  40. 전자 디바이스로서,
    적어도 2개의 마스터 디바이스들;
    적어도 하나의 슬레이브 디바이스들;
    마스터 디바이스로부터 슬레이브 디바이스로 정보를 전송하도록 동작하는 전송 버스 채널;
    슬레이브 디바이스로부터 마스터 디바이스로 정보를 전송하도록 동작하는 수신 버스 채널;
    각각의 마스터 디바이스와 연관된 상기 전송 및 수신 버스 채널들의 각각에 대하여, 초기값이 로딩되도록 동작하고, 상기 개별 버스 채널을 통한 버스 트랜잭션을 허가받는 상기 마스터 디바이스에 응답하여 감소하도록 동작하는 중재 우선순위 레지스터; 및
    버스 채널에 대하여 연관된 중재 우선순위 레지스터 내의 최고값을 가지는 요청 마스터 디바이스에 상기 버스 채널을 허가하도록 동작하는 버스 중재기를 포함하는 전자 디바이스.
  41. 제 40항에 있어서,
    상기 각각의 채널에 대한 중재 우선순위 레지스터는 허가된 버스 트랜잭션에서 상기 채널 상에서 연관된 마스터 디바이스의 대역폭 소비를 반영하는 양만큼 감소하도록 동작하는 것을 특징으로 하는 전자 디바이스.
  42. 제 40항에 있어서,
    상기 전송 채널을 통해 상기 마스터 디바이스로부터 슬레이브 디바이스로 전송된 정보는 어드레스들을 포함하는 것을 특징으로 하는 전자 디바이스.
KR1020087006693A 2005-08-19 2006-08-18 전송 방향 및 소비되는 대역폭에 기초하는 가중된 버스중재 KR101012213B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/208,089 2005-08-19
US11/208,089 US7395361B2 (en) 2005-08-19 2005-08-19 Apparatus and methods for weighted bus arbitration among a plurality of master devices based on transfer direction and/or consumed bandwidth

Publications (2)

Publication Number Publication Date
KR20080039499A true KR20080039499A (ko) 2008-05-07
KR101012213B1 KR101012213B1 (ko) 2011-02-08

Family

ID=37772199

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087006693A KR101012213B1 (ko) 2005-08-19 2006-08-18 전송 방향 및 소비되는 대역폭에 기초하는 가중된 버스중재

Country Status (8)

Country Link
US (1) US7395361B2 (ko)
EP (1) EP1917601A2 (ko)
JP (1) JP4705171B2 (ko)
KR (1) KR101012213B1 (ko)
CN (1) CN101288057B (ko)
HK (1) HK1122628A1 (ko)
TW (1) TWI309358B (ko)
WO (1) WO2007024677A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014188328A1 (en) * 2013-05-20 2014-11-27 Ericsson Television Inc. Weighted ingest policy management in a content distribution network

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519060B2 (en) * 2003-03-19 2009-04-14 Intel Corporation Reducing inter-packet gaps in packet-based input/output communications
US9367493B2 (en) * 2005-12-09 2016-06-14 Globalfoundries Inc. Method and system of communicating between peer processors in SoC environment
FR2894696A1 (fr) * 2005-12-14 2007-06-15 Thomson Licensing Sas Procede d'acces a un bus de transmission de donnees, dispositif et systeme correspondant
JP4999925B2 (ja) * 2006-06-27 2012-08-15 トムソン ライセンシング 調停を実行する方法及び装置
US8463589B2 (en) * 2006-07-28 2013-06-11 Synopsys, Inc. Modifying a virtual processor model for hardware/software simulation
US8644305B2 (en) * 2007-01-22 2014-02-04 Synopsys Inc. Method and system for modeling a bus for a system design incorporating one or more programmable processors
US7668996B2 (en) * 2007-10-23 2010-02-23 International Business Machines Corporation Method of piggybacking multiple data tenures on a single data bus grant to achieve higher bus utilization
US7987437B2 (en) 2007-10-23 2011-07-26 International Business Machines Corporation Structure for piggybacking multiple data tenures on a single data bus grant to achieve higher bus utilization
US8032678B2 (en) * 2008-11-05 2011-10-04 Mediatek Inc. Shared resource arbitration
US8156274B2 (en) * 2009-02-02 2012-04-10 Standard Microsystems Corporation Direct slave-to-slave data transfer on a master-slave bus
WO2010113262A1 (ja) * 2009-03-31 2010-10-07 富士通株式会社 調停方法、調停回路、及び調停回路を備えた装置
US8984198B2 (en) * 2009-07-21 2015-03-17 Microchip Technology Incorporated Data space arbiter
US20120089759A1 (en) * 2010-10-08 2012-04-12 Qualcomm Incorporated Arbitrating Stream Transactions Based on Information Related to the Stream Transaction(s)
US9064050B2 (en) * 2010-10-20 2015-06-23 Qualcomm Incorporated Arbitrating bus transactions on a communications bus based on bus device health information and related power management
US9094326B2 (en) 2010-11-02 2015-07-28 Qualcomm Incorporated Systems and methods for communicating in a network
FR2968878A1 (fr) * 2010-12-14 2012-06-15 Thomson Licensing Procede et dispositif pour generer des images comportant du flou cinetique
US20120155273A1 (en) * 2010-12-15 2012-06-21 Advanced Micro Devices, Inc. Split traffic routing in a processor
KR101841173B1 (ko) * 2010-12-17 2018-03-23 삼성전자주식회사 리오더 버퍼를 이용한 메모리 인터리빙 장치 및 그 메모리 인터리빙 방법
JP5784353B2 (ja) * 2011-04-25 2015-09-24 オリンパス株式会社 画像表示装置
EP2856690B1 (en) 2012-06-01 2020-12-02 BlackBerry Limited Universal synchronization engine based on probabilistic methods for guarantee of lock in multiformat audio systems
US9479275B2 (en) * 2012-06-01 2016-10-25 Blackberry Limited Multiformat digital audio interface
CN103077141B (zh) * 2012-12-26 2015-08-26 西安交通大学 一种基于amba总线的自适应实时加权优先仲裁方法及仲裁器
US9280503B2 (en) * 2013-04-12 2016-03-08 Apple Inc. Round robin arbiter handling slow transaction sources and preventing block
US9377958B2 (en) * 2014-08-12 2016-06-28 Facebook, Inc. Allocation of read/write channels for storage devices
US20160196231A1 (en) * 2015-01-07 2016-07-07 Qualcomm Incorporated System and method for bus bandwidth management in a system on a chip
US9558528B2 (en) * 2015-03-25 2017-01-31 Xilinx, Inc. Adaptive video direct memory access module
CN116401184A (zh) * 2016-01-22 2023-07-07 索尼互动娱乐股份有限公司 模拟向后兼容的传统总线行为
US10649813B2 (en) * 2018-03-29 2020-05-12 Intel Corporation Arbitration across shared memory pools of disaggregated memory devices
JP7401050B2 (ja) * 2018-09-18 2023-12-19 キヤノン株式会社 バス制御回路
US11210104B1 (en) 2020-09-11 2021-12-28 Apple Inc. Coprocessor context priority
US11809289B2 (en) * 2021-10-15 2023-11-07 Dell Products L.P. High-availability (HA) management networks for high performance computing platforms
CN114840458B (zh) * 2022-07-06 2022-09-20 北京象帝先计算技术有限公司 读写模块、片上系统和电子设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4901234A (en) * 1987-03-27 1990-02-13 International Business Machines Corporation Computer system having programmable DMA control
JPH03177953A (ja) * 1989-12-07 1991-08-01 Yokogawa Medical Syst Ltd データ転送方式
US6385678B2 (en) * 1996-09-19 2002-05-07 Trimedia Technologies, Inc. Method and apparatus for bus arbitration with weighted bandwidth allocation
US6363445B1 (en) * 1998-10-15 2002-03-26 Micron Technology, Inc. Method of bus arbitration using requesting device bandwidth and priority ranking
US6223244B1 (en) * 1998-12-10 2001-04-24 International Business Machines Corporation Method for assuring device access to a bus having a fixed priority arbitration scheme
US6513089B1 (en) * 2000-05-18 2003-01-28 International Business Machines Corporation Dual burst latency timers for overlapped read and write data transfers
US6415369B1 (en) * 2000-08-29 2002-07-02 Agere Systems Guardian Corp. Shared devices and memory using split bus and time slot interface bus arbitration
US6751684B2 (en) * 2000-12-21 2004-06-15 Jonathan M. Owen System and method of allocating bandwidth to a plurality of devices interconnected by a plurality of point-to-point communication links
US20040153591A1 (en) * 2003-01-07 2004-08-05 Yoshiteru Tanaka Bus arbiter
US7065595B2 (en) * 2003-03-27 2006-06-20 International Business Machines Corporation Method and apparatus for bus access allocation
US7107376B2 (en) * 2004-01-26 2006-09-12 International Business Machines Corp. Systems and methods for bandwidth shaping

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014188328A1 (en) * 2013-05-20 2014-11-27 Ericsson Television Inc. Weighted ingest policy management in a content distribution network
US8973073B2 (en) 2013-05-20 2015-03-03 Telefonaktiebolaget L M Ericsson (Publ) Weighted ingest policy management in a content distribution network

Also Published As

Publication number Publication date
US20070067528A1 (en) 2007-03-22
KR101012213B1 (ko) 2011-02-08
EP1917601A2 (en) 2008-05-07
WO2007024677A3 (en) 2007-05-31
TWI309358B (en) 2009-05-01
CN101288057B (zh) 2010-08-18
WO2007024677A2 (en) 2007-03-01
JP4705171B2 (ja) 2011-06-22
TW200745865A (en) 2007-12-16
JP2009505296A (ja) 2009-02-05
CN101288057A (zh) 2008-10-15
US7395361B2 (en) 2008-07-01
HK1122628A1 (en) 2009-05-22

Similar Documents

Publication Publication Date Title
KR101012213B1 (ko) 전송 방향 및 소비되는 대역폭에 기초하는 가중된 버스중재
EP3238083B1 (en) Mitigating traffic steering inefficiencies in distributed uncore fabric
KR100440657B1 (ko) 가중된대역폭할당에의한버스중재방법및장치
US6393506B1 (en) Virtual channel bus and system architecture
US9535860B2 (en) Arbitrating memory accesses via a shared memory fabric
US6775727B2 (en) System and method for controlling bus arbitration during cache memory burst cycles
EP1820309B1 (en) Streaming memory controller
KR100814904B1 (ko) 칩 내부 회로 간의 데이터 전송을 위한 통신 시스템
US7225281B2 (en) Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms
US10545898B2 (en) Shared resource access arbitration method, and shared resource access arbitration device and shared resource access arbitration system for performing same
US7096293B2 (en) Dynamic bus arbitration method and bus arbiter
CA2527428A1 (en) System for allocating minimum and maximum bandwidths
US20070156937A1 (en) Data transfer in multiprocessor system
JP2009505241A (ja) 部分的にポピュレートされる階層型クロスバ
CN115454897A (zh) 一种改善处理器总线仲裁机制的方法
EP1894108A2 (en) Memory controller
US20080195782A1 (en) Bus system and control method thereof
KR20220102160A (ko) 패킷 전송을 위한 스위치, 그것을 갖는 네트워크 온 칩, 및 그것의 동작 방법
JPH1125036A (ja) 調停システム、およびアクセスを調停する方法
CN115017093B (zh) 一种片上外部总线通信的方法以及装置
US20080229030A1 (en) Efficient Use of Memory Ports in Microcomputer Systems
US7117281B1 (en) Circuit, system, and method for data transfer control for enhancing data bus utilization
US7177997B2 (en) Communication bus system
KR20070098352A (ko) 메모리 중재 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20131227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151230

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181227

Year of fee payment: 9