KR101622712B1 - 프로세서-기반 하이브리드 링 버스 상호연결부 - Google Patents

프로세서-기반 하이브리드 링 버스 상호연결부 Download PDF

Info

Publication number
KR101622712B1
KR101622712B1 KR1020157012349A KR20157012349A KR101622712B1 KR 101622712 B1 KR101622712 B1 KR 101622712B1 KR 1020157012349 A KR1020157012349 A KR 1020157012349A KR 20157012349 A KR20157012349 A KR 20157012349A KR 101622712 B1 KR101622712 B1 KR 101622712B1
Authority
KR
South Korea
Prior art keywords
ring
bus
interconnect
buses
transaction messages
Prior art date
Application number
KR1020157012349A
Other languages
English (en)
Other versions
KR20150074032A (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 KR20150074032A publication Critical patent/KR20150074032A/ko
Application granted granted Critical
Publication of KR101622712B1 publication Critical patent/KR101622712B1/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
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • 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
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17375One dimensional, e.g. linear array, ring
    • Y02B60/1228
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

프로세서-기반 시스템 하이브리드 링 버스 상호연결부들, 관련 디바이스들, 프로세서-기반 시스템들 및 방법들이 개시된다. 일 실시예에서, 프로세서-기반 시스템 하이브리드 링 버스 상호연결부가 제공된다. 프로세서-기반 시스템 하이브리드 링 버스 상호연결부는, 각각이 버스 폭을 갖고 요청자 디바이스(들)로부터 버스 트랜잭션 메시지들을 수신하도록 구성된 복수의 링 버스들을 포함한다. 프로세서-기반 시스템 하이브리드 링 버스 상호연결부는 또한 링 버스들에 커플링되는 인터-링 라우터(들)를 포함한다. 인터-링 라우터(들)는 요청자 디바이스(들)의 대역폭 요건들에 기초하여 링 버스들 간에 버스 트랜잭션 메시지들을 동적으로 지향시키도록 구성된다. 따라서, 더 단순한 스위칭 구성들로 인해 크로스바 상호연결부에 의한 것보다 더 적은 전력이 소비된다. 또한, 인터-링 라우터(들)는 대역폭 요건들에 기초하여 동적으로 활성화 및 비활성화될 수 있는 다수의 링 버스들의 프로비전을 허용한다. 이는 프로세서-기반 시스템 하이브리드 링 버스 상호연결부에 관한 전체 대역폭 요건이 요구되지 않을 때 전력의 보존을 제공한다.

Description

프로세서-기반 하이브리드 링 버스 상호연결부{PROCESSOR-BASED HYBRID RING BUS INTERCONNECT}
[0001] 본 개시의 기술은 일반적으로 프로세서-기반 시스템들에서 다양한 전자 시스템들을 통신 가능하게 인터페이싱하기 위한 버스 상호연결부들에 관한 것이다.
[0002] 모바일 전화들, 개인용 디지털 보조기기(PDA)들 등과 같은 휴대용 전자 디바이스들은 주문형 집적 회로(ASIC) 설계들을 사용하여 제조될 수 있다. 높은 레벨들의 실리콘 집적의 달성에서의 발전들은 복잡한 ASIC들 및 필드 프로그램가능 게이트 어레이(FPGA) 설계들의 생성을 허용하였다. 이들 ASIC들 및 FPGA들은 SOC(system-on-a-chip)을 제공하기 위해 단일 칩에서 제공될 수 있다. SOC는 예를 들어, 프로세서들, 승산기들, 캐시들, 및/또는 다른 전자 컴포넌트들과 같은 단일 반도체 칩 상에서의 다수의 기능 서브시스템들을 제공한다. SOC들은 단일 칩 내에서 다수의 특징들 및 애플리케이션들을 제공할 수 있는 다수의 서브시스템들의 그들의 집적으로 인해 휴대용 전자 디바이스들에서 특히 유용하다. 또한, SOC들은 그렇지 않은 경우 다수의 칩들을 사용하여 제공되었을 수 있는, 단일 칩의 사용에 의해 더 작은 휴대용 전자 디바이스들을 제공할 수 있다.
[0003] 칩(들) 상에 제공된 회로 내에서 다수의 다양한 컴포넌트들 또는 서브시스템들을 통신 가능하게 인터페이싱하기 위해, 버스 상호연결부로서 또한 참조되는, 상호접속 통신 버스가 제공될 수 있다. 버스 상호연결부는 예들로서 레지스터들, 큐들, 및/또는 다양한 서브시스템들 사이의 통신들을 관리하기 위한 다른 회로들을 포함할 수 있는, 클로킹 회로(clocked circuitry)를 포함하는 회로를 사용하여 제공된다. 버스 상호연결부는 통신 요청들의 개시자들과 통신 요청들의 타겟들 간의 점-대-점 연결을 용이하게 한다. 버스 상호연결부 내의 회로는 원하는 쓰루풋을 제공하기 위해 원하는 버스 클록 주파수(들)에서 동작하는 마스터 클록 신호로부터 생성되는 하나 이상의 클록 신호들로 클로킹될 수 있다.
[0004] 전력 소비 감소가 요망되는 애플리케이션들에서, 버스 클록 주파수는 전력 소비가 fCV2과 같다는 널리 공지된 방정식에 따라 낮아질 수 있으며, 여기서, 'f'는 주파수이고, 'C'는 커패시턴스이고, 'V'는 전압이다. 그러나, 버스 클록 주파수를 낮추는 것은 또한 버스 상호연결부의 성능을 낮춘다. 역으로, 버스 클록 주파수를 낮추는 것이 버스 상호연결부에 커플링된 서브시스템들에 대한 조건들 또는 레이턴시 요건들을 넘어 버스 레이턴시를 증가시킬 수 있으며, 이 경우에, 서브시스템의 성능은 전체적으로 저하되거나 고장날 수 있다. 서브시스템의 성능 저하 또는 고장(failure)을 초래하기 보다는, 버스 클록 주파수는 성능 마진을 제공하고 레이턴시를 감소시키도록 더 높은 주파수로 세팅될 수 있다. 그러나 버스 상호연결부에 대해 더 높은 버스 클록 주파수를 제공하는 것은 더 많은 전력을 소모한다.
[0005] 이에 관하여, 높은 버스 클록 주파수들에서 더 낮은 전력 소비를 갖는 고속 점-대-점 통신들을 가능하게 하기 위해 링 버스 아키텍처들이 버스 상호연결부에서 제공될 수 있다. 도 1은 버스 상호연결부를 제공하는데 이용될 수 있는 예시적인 링 버스(10)를 예시한다. 링 버스(10)는 크로스바 상호연결부에 비해, 링 버스 노드들(12(0)-12(15)) 내에 로케이팅되는 그의 더 단순한 스위치들의 이용으로 인해 더 높은 버스 클록 주파수들을 허용할 수 있다. 예를 들어, 도 1에서 예시된 링 버스 노드들(12)은 멀티플렉서(MUX) 및 래치(예를 들어, D 플립-플롭)로 구성될 수 있다. 버스 상호연결부에서 구현되는 링 버스 아키텍처는 또한 칩 다중-프로세서(CMP)-기반 설계들에 대해 스케일러블(scalable)할 수 있다.
[0006] 도 1을 계속 참조하면, 링 버스(10)로의 통신을 위한 진입 지점들은 전송 링 인터페이스 유닛들(Tx RIU들)(14(0)-14(2))에 의해 제공된다. 링 버스(10)로부터의 통신에 대한 출구 지점들은 수신 링 인터페이스 유닛들(Rx RIU들)(16(0)-16(1))에 의해 제공된다. 버스 트랜잭션 메시지들(18)(예를 들어, 18(0)-18(15))은 클록(20)의 각각의 사이클 상에서 링 버스(10)를 돌아 전진한다. 도 1에서 16개의 링 버스 노드들(12)이 제공된다. 그 결과, 16개까지의 버스 트랜잭션 메시지들(18)이 임의의 정해진 시간에 링 버스(10) 상에서 통신될 수 있다. 그러나 링 버스 노드들(12)의 수가 증가하면, 점-대-점 통신들의 레이턴시 또한 증가할 수 있다. 이 예에서 레이턴시를 감소시키기 위해, 링 버스(10)에서 다수의 진입 및 출구 지점들을 제공하기 위해, 3개의 링 버스 노드들(12)에는 Tx RIU(14(0)-14(2))가 부착되고 2개의 링 버스 노드들(12)에는 2개의 RX RIU들(16(0)-16(1))이 부착된다. 그렇다 하더라도, 링 버스(10)의 데이터 버스 크기는 링 버스 노드들(12) 간의 각각의 통신 스테이지에서의 최대 대역폭을 제한한다. 더 고속의 점-대-점 연결들을 위한 원하는 대역폭 요건들을 달성하기 위해 다수의 병렬 링 버스들(10)(각각이 와이드(wide) 데이터 버스들을 가짐)이 이용될 수 있다. 그러나 이는 공유된 버스들 또는 크로스바 상호연결부 아키텍처들에 비해 더 높은 전력 소비를 야기한다.
[0007] 상세한 설명에서 개시되는 실시예들은 프로세서-기반 시스템 하이브리드 링 버스 상호연결부들, 관련 디바이스들, 프로세서-기반 시스템들 및 방법들을 포함한다. 이것에 관하여, 일 실시예에서, 프로세서-기반 시스템 하이브리드 링 버스 상호연결부가 제공된다. 프로세서-기반 시스템 하이브리드 링 버스 상호연결부는 비-제한적인 예로서, 온-칩 프로세서-기반 시스템 하이브리드 링 버스 상호연결부일 수 있다. 프로세서-기반 시스템 하이브리드 링 버스 상호연결부는, 각각이 버스 폭을 갖고 적어도 하나의 요청자 디바이스로부터 버스 트랜잭션 메시지들을 수신하도록 구성되는 복수의 링 버스들을 포함한다. 프로세서-기반 시스템 하이브리드 링 버스 상호연결부는 또한 상기 복수의 링 버스들에 커플링되는 적어도 하나의 인터-링 라우터를 포함한다. 상기 적어도 하나의 인터-링 라우터는 상기 적어도 하나의 요청자 디바이스의 대역폭 요건들에 기초하여 상기 복수의 링 버스들 간에 버스 트랜잭션 메시지들을 동적으로 지향시키도록 구성된다. 이러한 방식으로, 프로세서-기반 시스템 하이브리드 링 버스 상호연결부는 링 버스 아키텍처 및 크로스바 상호연결부 아키텍처 둘 다의 성능 이익들을 포함한다.
[0008] 비-제한적인 예들로서, 링 버스들 간에 버스 트랜잭션 메시지들을 지향하기 위해 다수의 인터-링 라우터들을 제공하는 것은, 인터-링 라우터들을 이용하지 않는 링 버스의 라우트보다, 버스 트랜잭션 요청자와 버스 트랜잭션 응답자 간의 라우트(route)들을 더 짧게 야기할 수 있다. 인터-링 라우터들을 이용하지 않는 링 버스의 레이턴시는 링 버스에 참가하는 링 버스 노드들의 수에 기초한 레이턴시를 갖는다. 프로세서-기반 시스템 하이브리드 링 버스 상호연결부는 또한 크로스바 상호연결부 아키텍처에 대조적으로 더 단순한 스위칭 구성들을 이용함으로써 더 적은 전력을 소비할 수 있다. 또한, 요청자 디바이스(들)의 대역폭 요건에 기초하여 링 버스 간에 버스 트랜잭션 메시지들을 동적으로 지향시키도록 하나 또는 그 초과의 인터-링 라우터들을 제공하는 것은 대역폭 요건들에 기초하여 동적으로 활성화 및 비활성화될 수 있는 다수의 링 버스들의 프로비전(provision)을 허용한다. 이는 버스 상호연결부에 관한 전체 대역폭 요건들이 요구되지 않을 때 전력의 보존을 허용한다. 링 버스들 중 하나 이상을 비활성화하는 것은, 대역폭 요건들이 여전히 달성될 수 있을 때 전력을 보존할 수 있다.
[0009] 다른 실시예에서, 프로세서-기반 시스템 하이브리드 링 버스 상호연결부 수단이 제공된다. 프로세서-기반 시스템 하이브리드 링 버스 상호연결부 수단은, 각각이 버스 폭을 갖고 적어도 하나의 요청자 디바이스로부터 버스 트랜잭션 메시지들을 수신하도록 구성된 복수의 링 버스 수단을 포함한다. 프로세서-기반 시스템 하이브리드 링 버스 상호연결부 수단은 또한 상기 복수의 링 버스 수단에 커플링되는 적어도 하나의 인터-링 라우터 수단을 포함한다. 상기 적어도 하나의 인터-링 라우터 수단은 상기 적어도 하나의 요청자 디바이스의 대역폭 요건들에 기초하여 상기 복수의 링 버스 수단 간에 버스 트랜잭션 메시지들을 동적으로 지향시키도록 구성된다.
[0010] 다른 실시예에서, 프로세서-기반 시스템 하이브리드 링 버스 상호연결부에서 버스 트랜잭션 메시지들을 지향하는 방법이 제공된다. 이 방법은 적어도 하나의 요청자 디바이스로부터 버스 트랜잭션 메시지들을 수신하는 단계를 포함한다. 이 방법은 또한 복수의 링 버스들 중의 링 버스 상에 상기 버스 트랜잭션 메시지들을 지향시키는 단계를 포함하며, 상기 복수의 링 버스들 각각은 버스 폭을 갖고 상기 버스 트랜잭션 메시지들을 수신하도록 구성된다. 이 방법은 또한 상기 적어도 하나의 요청자 디바이스의 대역폭 요건에 기초하여 상기 링 버스로부터 상기 복수의 링 버스들 중의 다른 링 버스로, 상기 링 버스에 커플링되는 적어도 하나의 인터-링 라우터로부터, 상기 버스 트랜잭션 메시지들을 동적으로 지향시키는 단계를 포함한다.
[0011] 다른 실시예에서, 프로세서-기반 시스템 하이브리드 링 버스 상호연결부를 제어하기 위한 자원 관리자가 제공된다. 자원 관리자는 복수의 버스 트랜잭션 요청자들이 활성인지 여부를 결정하도록 구성된다. 자원 관리자는 또한 각각의 활성 버스 트랜잭션 요청자의 대역폭 요건들을 결정하도록 구성된다. 자원 관리자는 또한 상기 활성 버스 트랜잭션 요청자들의 대역폭 요건들에 기초하여 상기 프로세서-기반 시스템 하이브리드 링 버스 상호연결부의 토폴로지(topology)를 계산하도록 구성된다. 자원 관리자는 또한, 계산된 토폴로지에 기초하여 버스 트랜잭션 메시지들을 라우팅하는 적어도 하나의 인터-링 라우터의 구성을 수정하도록 구성된다.
[0012] 다른 실시예에서, 프로세서-기반 시스템 하이브리드 링 버스 상호연결부를 제어하기 위한 자원 관리자가 제공된다. 자원 관리자는 복수의 버스 트랜잭션 요청자들이 활성인지 여부를 결정하기 위한 활성 요청자 결정 수단을 포함한다. 자원 관리자는 또한 각각의 활성 버스 트랜잭션 요청자의 대역폭 요건들을 결정하기 위한 대역폭 결정 수단을 포함한다. 자원 관리자는 또한 상기 활성 버스 트랜잭션 요청자들의 대역폭 요건들에 기초하여 상기 프로세서-기반 시스템 하이브리드 링 버스 상호연결부의 토폴로지(topology)를 계산하기 위한 계산 수단을 포함한다. 자원 관리자는 또한, 계산된 토폴로지에 기초하여 버스 트랜잭션 메시지들을 라우팅하는 적어도 하나의 인터-링 라우터의 구성을 수정하기 위한 수정 수단을 포함한다.
[0013] 다른 실시예에서, 자원 관리자로 하여금 프로세서-기반 시스템 하이브리드 링 버스 상호연결부에서 버스 트랜잭션 메시지들을 지향하게 하기 위한 컴퓨터-실행 가능한 명령들이 저장되어 있는 컴퓨터-판독 가능한 매체가 제공된다. 컴퓨터-실행 가능한 명령들은, 자원 관리자로 하여금, 적어도 하나의 요청자 디바이스로부터 버스 트랜잭션 메시지들을 수신하게 하고, 각각이 버스 폭을 갖고 상기 적어도 하나의 요청자 디바이스로부터 상기 버스 트랜잭션 메시지들을 수신하도록 구성되는 복수의 링 버스들 중의 링 버스 상에 상기 버스 트랜잭션 메시지들이 지향되게 하고, 상기 적어도 하나의 요청자 디바이스의 대역폭 요건에 기초하여, 상기 복수의 링 버스들에 커플링되는 적어도 하나의 인터-링 라우터를 통해 상기 복수의 링 버스들 간에 상기 버스 트랜잭션 메시지들이 지향되게 하고, 그리고 상기 적어도 하나의 요청자 디바이스의 대역폭 요건을 결정하게 한다.
[0014] 도 1은 버스 상호연결부를 제공하기 위한 예시적인 링 버스의 블록도이다.
[0015] 도 2는 다수의 링 버스들을 포함하고 요청자 디바이스(들)의 대역폭 요건들에 기초하여 링 버스들 간에 버스 트랜잭션 메시지들을 동적으로 지향시키도록 구성된 인터-링 라우터들을 또한 포함하는 예시적인 온-칩 하이브리드 링 버스 상호연결부의 블록도이다.
[0016] 도 3a는 모든 링 버스들이 활성화될 때 도 2의 프로세서-기반 시스템 하이브리드 링 버스 상호연결부를 통한 버스 트랜잭션 메시지들의 예시적인 라우트들을 예시하는 블록도이다.
[0017] 도 3b는 글로벌 링 버스가 비활성화된 이후, 도 2의 프로세서-기반 시스템 하이브리드 링 버스 상호연결부를 통한 버스 트랜잭션 메시지들의 예시적인 대안적인 라우트들을 예시하는 블록도이다.
[0018] 도 4는 적어도 하나의 요청자 디바이스의 대역폭 요건들에 기초하여 복수의 링 버스들 간에 버스 트랜잭션 메시지들을 동적으로 지향시키기 위해 도 2, 3a 및 도 3b의 프로세서-기반 시스템 하이브리드 링 버스 상호연결부(들)의 인터-링 라우터(들)를 제어하도록 구성된 자원 관리자의 예시적인 상태 머신을 예시한다.
[0019] 도 5는 도 4의 상태 머신의 시동 상태 동안 수행될 수 있는 자원 관리자의 예시적인 방법의 흐름도를 예시한다.
[0020] 도 6은 도 4의 상태 머신의 버스 상호연결부 구성 상태 동안 수행될 수 있는 자원 관리자의 예시적인 방법의 흐름도를 예시한다.
[0021] 도 7은 도 3a의 버스 상호연결부를 포함하는 프로세서-기반 시스템 하이브리드 링 버스 상호연결부의 인터-링 라우터에 대한 예시적인 라우팅 표를 예시한다.
[0022] 도 8은 도 3b의 버스 상호연결부를 포함하는 프로세서-기반 시스템 하이브리드 링 버스 상호연결부의 인터-링 라우터에 대한 다른 예시적인 라우팅 표를 예시한다.
[0023] 도 9는, 다수의 링 버스들을 포함하고, 요청자 디바이스(들)의 대역폭 요건들에 기초하여 링 버스들 간에 버스 트랜잭션 메시지들을 동적으로 지향시키도록 구성된 인터-링 라우터들을 또한 포함하는, 다른 예시적인 프로세서-기반 시스템 하이브리드 링 버스 상호연결부의 블록도이다.
[0024] 도 10은 모든 링 버스들이 활성화될 때, 도 9의 프로세서-기반 시스템 하이브리드 링 버스 상호연결부를 통한 버스 트랜잭션 메시지들의 예시적인 라우트들을 예시하는 블록도이다.
[0025] 도 11은 글로벌 링 버스가 비활성화된 이후 도 9의 프로세서-기반 시스템 하이브리드 링 버스 상호연결부를 통한 버스 트랜잭션 메시지들의 예시적인 대안적인 라우트들을 예시하는 블록도이다.
[0026] 도 12는, 프로세서-기반 시스템 하이브리드 링 버스 상호연결부의 상이한 링 버스들에 전력공급하기 위한 상이한 전압 레일들을 포함하는, 도 9의 프로세서-기반 시스템 하이브리드 링 버스 상호연결부를 예시하는 블록도이다.
[0027] 도 13은 요청자 디바이스(들)의 대역폭 요건들에 기초하여 프로세서-기반 시스템 하이브리드 링 버스 상호연결부의 복수의 링 버스들 간에 버스 트랜잭션 메시지들을 동적으로 지향시키도록 구성되는 인터-링 라우터를 갖는, 도 2 내지 도 12의 프로세서-기반 시스템 하이브리드 링 버스 상호연결부들을 포함(그러나 이들로 제한되지 않음)하여, 본 개시에 따른 프로세서-기반 시스템 하이브리드 링 버스 상호연결부들을 포함할 수 있는 예시적인 프로세서-기반 시스템의 블록도이다.
[0028] 이제 도시된 도면들을 참조하여, 본 개시의 몇몇 예시적인 실시예들이 설명된다. 용어 "예시적인"은 "예, 경우 또는 예시로서 작용하는" 것을 의미하도록 여기서 사용된다. "예시적인" 것으로서 여기서 설명된 임의의 실시예가 반드시 다른 실시예들보다 바람직하거나 유리한 것으로서 해석되는 것은 아니다.
[0029] 상세한 설명에서 개시되는 실시예들은 프로세서-기반 시스템 하이브리드 링 버스 상호연결부들 및 관련된 디바이스들, 프로세서-기반 시스템들 및 방법들을 포함한다. 이것에 관하여, 일 실시예에서, 프로세서-기반 시스템 하이브리드 링 버스 상호연결부가 제공된다. 프로세서-기반 하이브리드 링 버스 상호연결부는 비-제한적인 예로서, 온-칩 프로세서-기반 시스템 하이브리드 링 버스 상호연결부일 수 있다. 프로세서-기반 시스템 하이브리드 링 버스 상호연결부는, 각각이 버스 폭을 갖고 요청자 디바이스(들)로부터 버스 트랜잭션 메시지를 수신하도록 구성되는 다수의 링 버스들을 포함한다. 프로세서-기반 시스템 하이브리드 링 버스 상호연결부는 또한 링 버스들에 커플링되는 하나 또는 그 초과의 인터-링 라우터들을 포함한다. 하나 또는 그 초과의 인터-링 라우터들은 요청자 디바이스(들)의 대역폭 요건들에 기초하여 링 버스들 간에 버스 트랜잭션 메시지를 동적으로 지향시키도록 구성된다. 이러한 방식으로, 프로세서-기반 시스템 하이브리드 링 버스 상호연결부는 링 버스 아키텍처 및 크로스바 상호연결부 아키텍처 둘 다의 성능 이익들을 포함한다.
[0030] 비-제한적인 예들로서, 링 버스들 간에 버스 트랜잭션 메시지들을 지향시키기 위해 다수의 인터-링 라우터들을 제공하는 것은 인터-링 라우터들을 이용하지 않은 링 버스의 라우터보다, 버스 트랜잭션 요청자와 버스 트랜잭션 응답자 간의 라우트들을 더 짧게 야기할 수 있다. 인터-링 라우터들을 이용하지 않은 링 버스의 레이턴시는 링 버스에 참여하는 링 버스 노드들의 수에 기초한 레이턴시를 갖는다. 프로세서-기반 시스템 하이브리드 링 버스 상호연결부는 또한 크로스바 상호연결부 아키텍처와 대조적으로, 더 단순한 스위칭 구성들을 이용함으로써 더 적은 전력을 소비할 수 있다. 부가적으로, 요청자 디바이스(들)의 대역폭 요건에 기초하여 링 버스 간에 버스 트랜잭션 메시지들을 동적으로 지향시키기 위해 하나 또는 그 초과의 인터-링 라우터들을 제공하는 것은 대역폭 요건들에 기초하여 동적으로 활성화되고 비활성화될 수 있는 다수의 링 버스들의 프로비전(provision)을 허용한다. 이는 버스 상호연결부의 전체(full) 대역폭이 요구되지 않을 때 전력의 보존을 허용한다. 링 버스들 중 하나 또는 그 초과들을 비활성화하는 것은, 대역폭 요건들이 여전히 달성될 수 있을 때 전력을 보존할 수 있다.
[0031] 이것에 관하여, 도 2는 프로세서-기반 시스템 하이브리드 링 버스 상호연결부(22)의 예를 예시한다. 도 2의 이 예에서, 프로세서-기반 시스템 하이브리드 링 버스 상호연결부(22)는 온-칩 하이브리드 링 버스 상호연결부(22)이고, 이에 따라 이 예에서 "온-칩 하이브리드 링 버스 상호연결부(22)"로서 지칭될 것이다. 본 명세서에서 이용된 바와 같은 온-칩(on-chip)은, 하이브리드 링 버스 상호연결부가 칩 또는 일련의 칩들에서 컴퓨터 또는 다른 프로세서-기반 시스템의 다른 컴포넌트들과 통합되는 집적 회로(IC)에서 제공될 수 있다는 것을 의미한다. 비-제한적인 예로서, 온-칩 하이브리드 링 버스 상호연결부(22)는 SOC(system-on-a-chip)에서 제공될 수 있다. 그러나 본 명세서에서 개시된 개시물 및 실시예들은, 하이브리드 링 버스 상호연결부들이 온-칩 하이브리드 링 버스 상호연결부인 것으로 제한되지 않는다는 것에 주의한다.
[0032] 도 2를 계속 참조하면, 온-칩 하이브리드 링 버스 상호연결부(22)는 이 예에서 통신을 위해 적어도 하나의 반도체 다이(25)에 제공되는 SOC(system-on-a-chip) 내의 버스 트랜잭션 참가자들(24)을 상호연결한다. 버스 트랜잭션 참가자들(24)은 "버스 마스터들"로서 또한 지칭되는 다수의 버스 트랜잭션 요청자들(26)을 포함한다. 예를 들어, 버스 트랜잭션 요청자들(26(0)-26(X))은 추가로 프로세서들(28(0)-28(X))을 포함할 수 있다. 버스 트랜잭션 참가자들(24)은 또한, "버스 슬래이브"로서 또한 지칭되는 다수의 버스 트랜잭션 응답자들(30(0)-30(Y))을 포함할 수 있다. 예를 들어, 버스 트랜잭션 응답자들(30(0)-30(Y))은 메모리 노드들(32(0)-32(Y))을 포함할 수 있다. 온-칩 하이브리드 링 버스 상호연결부(22)는 복수의 로컬 링 버스들(34(0)-34(M)) 및 글로벌 링 버스들(36(0)-36(N))로 구성된다. 도 2에서 예시된 바와 같이, 글로벌 링 버스들(36)은 중앙 처리 장치(CPU) 아키텍처에서 모든 로컬 링 버스들(34(0)-34(M))에 걸쳐 스패닝(span)할 수 있다. 로컬 링 버스(34)가 2개의 참가자 노드들(38)을 상호연결하는 경우, 특정한 로컬 링 버스(34) 상에서 2개의 참가자 노드들(38) 간에 점-대-점 통신들이 발생할 수 있다. 그렇지 않은 경우, 인터-링 라우터(40)(예를 들어, 40(0))는 원하는 목적지에 도달하기 위해 하나의 링 버스(예를 들어, 로컬 링 버스(34(0)))로부터 다른 링 버스(예를 들어, 글로벌 링 버스(36(0)))로 버스 트랜잭션 메시지(18)(도시되지 않음)를 라우팅할 수 있다. 자원 관리자(42)는 인터-링 라우터들(40)의 라우팅을 제어하도록 제공될 수 있다. 버스 트랜잭션 메시지(18)가 인터-링 라우터(40)에 의해 라우팅될 수 있는 예시적인 라우팅 방향들(44)은 도 2에서 언급된다.
[0033] 인터-링 라우터들(40(0)-40(15))의 라우트들이 변경될 수 있기 때문에, 하나 또는 그 초과의 글로벌 링 버스들(예를 들어, 글로벌 링 버스(36)(N))은, 링 버스 성능이 수용 가능한 레벨에 도달하는 경우 전력을 절감하도록 비활성화될 수 있다. 글로벌 링 버스(36(N))가 비활성화되는 경우, 인터-링 라우터들(40)의 라우트들은 다른 링 버스들(예를 들어, 로컬 링 버스들(34) 및/또는 글로벌 링 버스들(36))을 통한 버스 트랜잭션 메시지들(18)의 전달을 보장하도록 세팅된다. 글로벌 링 버스(36(N))는 또한 성능을 증가시키기 위해 재활성화될 수 있다. 글로벌 링 버스(36(N))가 재활성화될 때, 인터-링 라우터들(40)의 라우트들은, 증가된 전력 소비의 트레이드 오프가 있지만 증가된 성능을 달성하기 위해 버스 트랜잭션 메시지들(18)의 전달의 성능을 증가시키도록 세팅된다. 예를 들어, 인터-링 라우터들(40)의 라우트들이, 온-칩 하이브리드 링 버스 상호연결부(22)를 이동하는 버스 트랜잭션 메시지(들)(18)에 대해 단축된 경로(들) 및/또는 감소된 경합 경로(들)를 제공하도록 제어될 수 있다. 감소된 경합 경로를 이동할 때, 버스 트랜잭션 메시지(들)(18)는 또한 큐잉 지연들(queuing delays)을 방지하고 그리고/또는 증가된 경합 경로를 이동할 때보다 더 짧은 큐잉 지연들을 초래할 수 있다. 단축된 경로(들) 및/또는 감소된 경합 경로(들)의 결과로서, 버스 트랜잭션 메시지들(18)의 전달 쓰루풋이 증가될 수 있다.
[0034] 버스 트랜잭션 요청자들(26(0)-26(X))의 대역폭 요건들이 증가된 성능을 요구하는 경우, 온-칩 하이브리드 링 버스 상호연결부(22)의 모든 링 버스들(예를 들어, 모든 로컬 링 버스들(34(0)-34(M)) 및/또는 모든 글로벌 링 버스들(36(0)-36(N)))은 버스 트랜잭션 메시지들(18)의 라우팅에 있어 최대 유연성을 제공하도록 활성화될 수 있다. 이것에 관하여, 하기에 보다 상세히 설명되는 바와 같이, 도 3a는, 모든 링 버스들(34, 36)이 활성화될 때, 도 2의 온-칩 하이브리드 링 버스 상호연결부(22)를 통한 버스 트랜잭션 메시지들(18)의 예시적인 라우트들(46, 48)을 예시한다. 그러나, 버스 트랜잭션 요청자들(26)의 대역폭 요건들이 감소된 성능을 허용하는 경우, 특정한 링 버스들(예를 들어, 글로벌 링 버스(36(N))는 전력을 절감하도록 비활성화될 수 있다. 그 결과, 버스 트랜잭션 메시지들(18)은, 그렇지 않은 경우 모든 링 버스들(34, 36)이 활성화되었던 경우 가능했었을 것보다 더 긴 경로들 및/또는 더 많은 경합 경로들을 통해 라우팅될 수 있다. 이것에 관하여, 하기에 보다 상세히 설명되는 바와 같이, 도 3b는, 글로벌 링 버스(36(N))가 비활성화된 이후, 도 2의 온-칩 하이브리드 링 버스 상호연결부(22)를 통한 버스 트랜잭션 메시지(18)의 예시적인 대안적 라우트들(50, 52)을 예시한다.
[0035] 이제 도 3a를 다시 참조하면, 온-칩 하이브리드 버스 상호연결부(22)의 모든 링 버스들(34, 36)이 활성일 때 도 2의 온-칩 하이브리드 링 버스 상호연결부(22)를 통한 버스 트랜잭션 메시지들(18)의 예시적인 라우트들(46, 48)이 도시된다. 도 3a에서, 버스 트랜잭션 요청자(26(0))로부터 버스 트랜잭션 응답자(30(0))로의 버스 트랜잭션 요청 메시지(도시되지 않음)가 온-칩 하이브리드 링 버스 상호연결부(22)에 의해 라우트(46)를 따라 라우팅된다. 이 예에서, 버스 트랜잭션 요청 메시지는 참가자 노드(38(0))로부터 인터-링 라우터(40(14))로 라우팅된다. 인터-링 라우터(40(14))는 버스 트랜잭션 요청 메시지를 글로벌 링 버스(36(N)) 상에서 라우팅한다. 인터-링 라우터(40(13))는 이어서 로컬 링 버스(34(M)) 상에서 버스 트랜잭션 요청 메시지를 참가자 노드(38(1))로 라우팅하며, 여기서 이 버스 트랜잭션 요청 메시지는 버스 트랜잭션 응답자(30(0))에 의해 수신된다. 이에 응답하여, 버스 트랜잭션 응답자(30(0))는 라우트(48)를 따라 라우팅된 버스 트랜잭션 응답 메시지(도시되지 않음)를 버스 트랜잭션 요청자(26(0))에 전송한다. 버스 트랜잭션 응답 메시지는 로컬 링 버스(34(M)) 상에서 참가자 노드(38(1))로부터 전송된다. 인터-링 라우터(40(11))는 이어서 버스 트랜잭션 응답 메시지를 글로벌 링 버스(36(N)) 상에서 라우팅한다. 인터-링 라우터(40(8))는 이어서 버스 트랜잭션 응답 메시지를 로컬 링 버스(34(0)) 상에서 라우팅한다. 버스 트랜잭션 응답 메시지는 참가자 노드(38(0))에 의해 수신되고 버스 트랜잭션 요청자(26(0))에 전달된다.
[0036] 버스 트랜잭션 요청자들(26(0)-26(X))의 대역폭 요건이 감소된 성능을 허용하는 경우, 하나 또는 그 초과의 링 버스들(예를 들어, 글로벌 링 버스(36(N))는 전력을 보존하기 위해 비활성화될 수 있다. 대역폭 요건들은 하나 또는 그 초과의 버스 트랜잭션 요청자들(26(0)-26(X))이 비활성화(예를 들어, 파워 다운(powering down) 및/또는 전력공급 중단(powering off))되기 때문에 그리고/또는 CPU가 더 낮은-전력 모드에 진입하기 때문에 감소된 성능을 허용할 수 있다. 온-칩 하이브리드 링 버스 상호연결부(22)의 부분들이 비활성화되기 때문에, 온-칩 하이브리드 링 버스 상호연결부(22)는 더 적은 전력을 소비할 수 있다. 그러나 하나 또는 그 초과의 링 버스들(예를 들어, 글로벌 링 버스(36(N))이 비활성화될 때, 버스 트랜잭션 메시지들(18)(예를 들어, 버스 트랜잭션 요청 메시지(들) 및/또는 버스 트랜잭션 응답 메시지(들))은 도 3a에서 예시된 라우트들(46, 48)보다 더 긴 경로들 및/또는 더 많은 경합 경로들을 통해 라우팅될 수 있다.
[0037] 이것에 관하여, 도 3b는, 글로벌 링 버스(36(N))가 비활성화된 이후 도 2의 온-칩 하이브리드 링 버스 상호연결부(22)를 통한 버스 트랜잭션 메시지들(18)의 예시적인 대안적 라우트들(50, 52)을 예시한다. 글로벌 링 버스(36(N))가 도 3b에서 비활성화되기 때문에, 버스 트랜잭션 요청자(26(0))로부터 버스 트랜잭션 응답자(30(0))로의 버스 트랜잭션 요청 메시지는 (도 3a에서 도시된 라우트(46)와 상이한) 대안적인 라우트(50)를 따라 이제 라우팅된다. 도 3b의 대안적인 라우트(50)는 도 3a에서 도시된 라우트(46)보다 더 길다. 그러나 온-칩 하이브리드 링 버스 상호연결부(22)는 또한 글로벌 링 버스(36(N))가 비활성화될 때 더 적은 전력을 소비할 수 있다.
[0038] 도 3b에서, 버스 트랜잭션 요청 메시지는 참가자 노드(38(0))에 의해 로컬 링 버스(34(0)) 상에서 전송된다. 인터-링 라우터(40(14))는, 도 3a에서와 같이 글로벌 링 버스(36(N))로 버스 트랜잭션 요청 메시지를 라우팅하는 대신, 로컬 링 버스(34(0)) 상에서 버스 트랜잭션 요청 메시지를 유지한다. 인터-링 라우터(40(6))는 이어서 글로벌 링 버스(36(0))로 버스 트랜잭션 요청 메시지를 라우팅한다. 인터-링 라우터(40(5))는 이어서 로컬 링 버스(34(M))로 버스 트랜잭션 요청 메시지를 라우팅한다. 버스 트랜잭션 요청 메시지는 참가자 노드(38(1))에 의해 수신되고 버스 트랜잭션 응답자(30(0))에 전달된다.
[0039] 이에 응답하여, 버스 트랜잭션 응답자(30(0))는 버스 트랜잭션 응답 메시지를 버스 트랜잭션 요청자(26(0))에 전송한다. 글로벌 링 버스(36(N))가 도 3b에서 비활성화되기 때문에, 버스 트랜잭션 응답자(30(0))로부터 버스 트랜잭션 요청자(26(0))로의 버스 트랜잭션 응답 메시지는 이제 (도 3a에서 도시된 라우트(48)와 상이한) 대안적인 라우트(52)를 따라 라우팅된다. 도 3b의 대안적인 라우트(52)는 또한 도 3a에서 도시된 라우트(48)보다 더 길다. 그러나 온-칩 하이브리드 링 버스 상호연결부(22)는 글로벌 링 버스(36(N))가 비활성화될 때 더 적은 전력을 또한 소비할 수 있다. 이것에 관하여, 버스 트랜잭션 응답 메시지는 참가자 노드(38)(1))로부터 로컬 링 버스(34(M))로 전송된다. 인터-링 라우터(40(11))는, 도 3a에서와 같이 글로벌 링 버스(36(N)) 상에서 버스 트랜잭션 응답 메시지를 라우팅하는 대신, 로컬 링 버스(34(M)) 상에서 버스 트랜잭션 응답 메시지를 유지한다. 인터-링 라우터(40(3))는 이어서 글로벌 링 버스(36(0)) 상에서 버스 트랜잭션 응답 메시지를 라우팅한다. 인터-링 라우터(40(0))는 이어서 로컬 링 버스(34(0)) 상에서 버스 트랜잭션 응답 메시지를 라우팅한다. 버스 트랜잭션 응답 메시지는 참가자 노드(38(0))에 의해 수신되고 버스 트랜잭션 요청자(26(0))에 전달된다.
[0040] 따라서 도 2, 3a 및 3b의 온-칩 하이브리드 링 버스 상호연결부(22)는 링 버스들(10) 및/또는 인터-링 라우터들(40)을 이용하지 않는 크로스바 상호연결부 및 인터-링 라우터들(40)을 이용하지 않는 (도 1에서 예시된) 단순 링 버스(10) 둘 다에 비해 이점들을 갖는다. 온-칩 하이브리드 링 버스 상호연결부(22)가 인터-링 라우터들(40)을 이용하기 때문에, 버스 트랜잭션 메시지들(18)은 단순 링 버스(10)를 따라 전송되는 경우 가능했었을 더 짧은 라우트를 따라 전송될 수 있다. 그 결과, 온-칩 하이브리드 링 버스 상호연결부(22)는 단순 링 버스(10)보다 더 높은 쓰루풋을 경험할 수 있다. 또한 단순 링 버스(10) 상에서 전송될 때, 버스 트랜잭션 메시지들(18)은 단순 링 버스(10)의 동일 부분에 대해 경합할 수 있다. 그러나 온-칩 하이브리드 링 버스 상호연결부(22) 상에서 전송될 때, 버스 트랜잭션 메시지들(18)은 또한 단순 링 버스(10)에서 보다 더 적은 경합을 경험할 수 있다. 이것에 관하여 감소된 경합 라우트를 이동할 때, 버스 트랜잭션 메시지들(18)은 큐잉 지연들을 방지하고 그리고/또는 증가된 경합 라우트를 이동할 때보다 큐잉 지연들을 더 짧게 할 수 있다. 온-칩 하이브리드 링 버스 상호연결부(22)의 더 짧은 라우트들 및/또는 감소된 경합 라우트들의 결과로서, 버스 트랜잭션 메시지들(18)의 전달 쓰루풋이 증가된다. 이 부가적인 이유로, 온-칩 하이브리드 링 버스 상호연결부(22)는 단순 링 버스(10)보다 더 높은 쓰루풋을 경험할 수 있다.
[0041] 온-칩 하이브리드 링 버스 상호연결부(22)는 또한 링 버스들(10) 및 인터-링 라우터들(40)을 이용하지 않는 크로스바 상호연결부에 비해 이점들을 갖는다. 온-칩 하이브리드 링 버스 상호연결부(22)의 인터-링 라우터들(40)은 크로스바 상호연결부보다 더 단순한 스위치들을 이용하여 구현될 수 있다. 예를 들어, 각각의 인터-링 라우터(40)는 2-포트 크로스바 스위치로서 구현될 수 있다. 그러나 크로스바 상호연결부는 2개 초과의 입력 및 출력 포트들을 갖는 크로스바 스위치들을 요구할 수 있다. 또한, 온-칩 하이브리드 링 버스 상호연결부(22)는 크로스바 상호연결부보다 더 적은 전력을 소비할 수 있다. 예를 들어, 온-칩 하이브리드 링 버스 상호연결부(22)의 하나 또는 그 초과의 링 버스들(34, 36)이 비활성화될 때, 온-칩 하이브리드 링 버스 상호연결부(22)는 크로스바 상호연결부보다 더 적은 전력을 소비할 수 있다. 또한 온-칩 하이브리드 링 버스 상호연결부(22)는 크로스바 상호연결부보다 더 높은 주파수로 동작될 수 있다. 이는 온-칩 하이브리드 링 버스 상호연결부(22)가 동작될 수 있는 최대 주파수가 인접한 인터-링 라우터들(40) 간의 최대 거리에 의존할 수 있기 때문이다.
[0042] 인터-링 라우터들(40)의 라우팅은 자원 관리자(42)에 의해 제어될 수 있다. 이제 도 4 내지 도 6을 참조하면, 예시적인 자원 관리자 상태 머신(54)(도 4) 및 수반되는 자원 관리자 방법들(500, 600)(도 5 내지 도 6)이 제공된다. 도 4에서 예시된 자원 관리자 상태 머신(54)은 3개의 상태들: 시동 상태(56), 버스 상호연결부 구성 상태(58) 및 업데이트 대기 상태(60)를 포함한다. 자원 관리자 상태 머신(54)은 시동 상태(56)에서 시작한다. 도 5는 시동 상태(56) 동안 수행될 수 있는 자원 관리자 상태 머신(54)의 예시적인 방법(500)을 예시한다. 인터-링 라우터들(40)의 라우팅을 제어하기 위해, 자원 관리자 상태 머신(54)은 버스 트랜잭션 요청자들(26)이 활성인지 여부를 결정할 수 있다(블록 502). 자원 관리자 상태 머신(54)은 또한 활성 버스 트랜잭션 요청자들(26)의 대역폭 요건들을 룩업(lookup)할 수 있다(블록 504). 활성 버스 트랜잭션 요청자들(26)의 대역폭 요건들에 기초하여, 자원 관리자 상태 머신(54)은 온-칩 하이브리드 링 버스 상호연결부(22)의 링 버스들(34, 36)을 통해 버스 트랜잭션 메시지들(18)을 라우팅하기 위해 버스 상호연결부 토폴로지를 계산할 수 있다(블록 506).
[0043] 버스 상호연결부 토폴로지 계산의 완료 시에, 자원 관리자 상태 머신(54)은 버스 상호연결부 구성 상태(58)로 천이할 수 있다(도 4의 천이(62)). 도 6은 버스 상호연결부 구성 상태(58) 동안 수행될 수 있는 자원 관리자 상태 머신(54)의 예시적인 방법(600)을 예시한다. 이것에 관하여, 자원 관리자 상태 머신(54)은 결정된 토폴로지로 온-칩 하이브리드 링 버스 상호연결부(22)를 재구성할 수 있다. 예를 들어, 자원 관리자 상태 머신(54)은 링 버스들(34, 36) 중 하나 또는 그 초과를 독립적으로 활성화 및/또는 비활성화할 수 있다(블록 602). 자원 관리자 상태 머신(54)은 추가로 인터-링 라우터들(40) 중 하나 또는 그 초과를 활성화 및/또는 비활성화할 수 있다(블록 604).
[0044] 도 6을 계속 참조하면, 자원 관리자 상태 머신(54)은 다음으로, 각각의 인터-링 라우터(40)(블록 606)에 대한 라우팅 표를 결정할 수 있다. 라우팅 표들의 예들은 도 7 및 도 8에 관하여 아래에서 논의될 것이다. 자원 관리자(42)는 또한 인터-링 라우터들(40)에 라우팅 표들을 전송하고 그리고/또는 그렇지 않고, 라우팅 표들에 따라 버스 트랜잭션 메시지들(18)을 라우팅하도록 인터-링 라우터들(40)을 구성할 수 있다(블록 608). 또한, 자원 관리자 상태 머신(54)에서, 자원 관리자(42)는 인터-링 라우터들(40)에 핸드쉐이크 메시지(handshake message)를 또한 전송할 수 있다(블록 610). 핸드쉐이크 메시지는, 활성 라우팅 표들에 대한 업데이트가 있을 것이고 인터-링 라우터들(40)은 자원 관리자(42)로의 확인응답 이전에 버스 트랜잭션 메시지들(18)을 거부(quiesce)해야 한다고 인터-링 라우터들(40)에 표시한다. 재구성에 의해 영향을 받은 모든 인터-링 라우터들(40)이 자신의 버스 트랜잭션 메시지들(18)을 거부한다고 표시하면, 자원 관리자(42)는 라우팅 표들의 업데이트가 허용된다고 인터-링 라우터들(40)에 표시할 수 있다. 방법(600)이 완료된 이후, 자원 관리자 상태 머신(54)은 업데이트 대기 상태(60)로 천이한다(도 4의 천이(64)).
[0045] 업데이트를 수신 시에, 자원 관리자 상태 머신(54)은 재차 각각의 활성 버스 트랜잭션 요청자(26)의 대역폭 요건들을 결정하고(업데이트 이후), 온-칩 하이브리드 링 버스 상호연결부(22)의 버스 상호연결부 토폴로지를 재계산한다(도 4의 천이(66)). 버스 상호연결부 구성 상태(58)에 재진입시에, 자원 관리자 상태 머신(54)은 재차 도 6의 방법(600)을 실행한다. 다양한 업데이트들이 온-칩 하이브리드 링 버스 상호연결부(22)의 버스 상호연결부 토폴로지의 재계산 및 재구성을 트리거할 수 있다. 비-제한적인 예들로서, 더 낮은 전력 모드 업데이트, 더 높은 전력 모드 업데이트, 버스 트랜잭션 요청자(26)가 활성(예를 들어, 파워 업(powering up))인 업데이트 및/또는 버스 트랜잭션 요청자(26)가 비활성인(예를 들어, 파워 다운) 업데이트가 각각 천이(66)를 트리거할 수 있다. 예를 들어, 자원 관리자 상태 머신(54)은 더 낮은 전력 모드 업데이트의 수신에 응답하여 글로벌 링 버스(36(N))를 비활성화할 수 있다. 자원 관리자 상태 머신(54)은 더 높은 전력 모드 업데이트의 수신에 응답하여 글로벌 링 버스(36(N))를 후속적으로 재활성화할 수 있다.
[0046] 도 7 및 도 8은 온-칩 하이브리드 링 버스 상호연결부(22)의 인터-링 라우터(40)에 대한 예시적인 라우팅 표들(68(1), 68(2))을 예시한다. 도 7에서 예시된 바와 같이, 각각의 인터-링 라우터(40)에 대한 라우팅 표(68(1)) 업데이트는 다양한 버스 트랜잭션 메시지들(18)을 라우팅하기 위한 방향들(70)을 포함할 수 있다. 라우팅 방향들(70)은 버스 트랜잭션 메시지(18)의 목적지(목적지 식별자(72)) 및/또는 버스 트랜잭션 메시지(18)의 소스(소스 식별자(74))에 기초할 수 있다. 자원 관리자 상태 머신(54)은 또한 링 버스들(34, 36) 각각을 독립적으로 주파수 스케일링할 수 있다. 이것에 관하여, 라우팅 표(68(1))는 또한 버스 트랜잭션 메시지(18)를 포워딩할 버스 주파수 데이터 레이트(76)(예를 들어, SDR(single data rate) 또는 DDR(double data rate))를 특정할 수 있다. 버스 주파수 데이터 레이트(76)가 SDR로 세팅될 때, 온-칩 하이브리드 링 버스 상호연결부(22)의 인터-링 라우터들(40)은 각각의 클록 사이클 마다 한번 버스 트랜잭션 메시지들(18)을 포워딩할 수 있다. 버스 주파수 데이터 레이트(76)가 DDR로 세팅될 때, 온-칩 하이브리드 링 버스 상호연결부(22)의 인터-링 라우터들(40)은 각각의 클록 비트 마다 한번(즉, 각각의 클록 사이클마다 2번) 버스 트랜잭션 메시지들(18)을 포워딩할 수 있다. 라우팅 표(68(1))는 또한 버스 트랜잭션 메시지들(18)을 포워딩하는데 이용할 버스 폭(78)(비-제한적인 예들로서, 32 비트들, 64 비트들, 128 비트들 등)을 특정할 수 있다.
[0047] 비-제한적인 예로서, 라우팅 표(68(1))는 도 2-3b의 인터-링 라우터(40(14))의 라우팅 표일 수 있다. 도 7은 글로벌 링 버스(36(N))가 활성화될 때(도 3a) 인터-링 라우터(40(14))에 대한 인터-링 라우터 라우팅 표(68(1))를 예시한다. 도시된 바와 같이, 도 7의 인터-링 라우터 라우팅 표(68(1))의 제 1 엔트리에서, 글로벌 링 버스(36(N))가 활성화되면, 인터-링 라우터(40(14))의 라우팅 방향은, (열(74)에서)소스 식별자(0) 및 (열(72)에서)목적지 식별자(1)에 대해, 도 3a에서 도시된 우측의 것이거나 또는 '1'일 것이다. 도 8은 글로벌 링 버스(36(N))가 비활성화된 이후(도 3b) 인터-링 라우터(40(14))에 대한 다른 인터-링 라우터 라우팅 표(68(2))를 예시한다. 도시된 바와 같이, 도 8의 인터-링 라우터 라우팅 표(68(2))의 제 1 엔트리에서, 글로벌 링 버스(36(N))가 비활성화될 때, 인터-링 라우터(40(14))의 라우팅 방향은, (열(74)에서)소스 식별자(0) 및 (열(72)에서)목적지 식별자(1)에 대해, 도 3b에서 도시된 아래의 것이거나 또는 '2' 일 것이다. 각각의 인터-링 라우터(40)는 라우팅 표(68(1), 68(2))를 포함할 수 있거나, 라우팅 표(68(1), 68(2))에 따라 구성될 수 있다.
[0048] 또한, 각각의 인터-링 라우터(40)는 활성 라우팅 표 및 쉐도우 라우팅 표를 포함할 수 있다. 활성 라우팅 표는 버스 트랜잭션 메시지들(18)을 라우팅하기 위해 이용될 수 있는 반면에, 쉐도우 라우팅 표는 자원 관리자 상태 머신(54)에 의해 로딩된다. 쉐도우 라우팅 표의 로딩이 완료될 때, 쉐도우 라우팅 표는 인터-링 라우터(40)의 활성 라우팅 표로서 이용하도록 스위칭될 수 있다.
[0049] 도 9는 프로세서-기반 하이브리드 링 버스 상호연결부의 예로서 온-칩 하이브리드 링 버스 상호연결부(22(1))의 다른 예를 예시한다. 달리 설명된 것을 제외하고, 동일한 엘리먼트 번호들을 갖는 동일한 엘리먼트들은 동일하거나 유사하다. 도 9의 온-칩 하이브리드 링 버스 상호연결부(22(1))는 이 예에서 통신들을 위해 SOC(system-on-a-chip) 내의 버스 트랜잭션 참가자들(24)을 상호연결한다. 버스 트랜잭션 참가자들(24)은, "버스 마스터들"로서 또한 지칭되는 버스 트랜잭션 요청자들(26')(예를 들어, 26'(0)-26'(1))을 포함한다. 예를 들어, 버스 트랜잭션 요청자들(26')은 추가로 프로세서들(28')(예를 들어, 28'(0)-28'(1))을 포함할 수 있다. 버스 트랜잭션 참가자들(24)은 또한, "버스 슬래이브들"로서 또한 지칭되는 버스 트랜잭션 응답자들(30')(예를 들어, 30'(0)-30'(3))을 포함한다. 예를 들어, 버스 트랜잭션 요청자들(30')은 메모리 노드들(32')(예를 들어, 32'(0)-32'(1)) 및/또는 캐시들(33')(예를 들어, 33'(0)-33'(1))을 포함할 수 있다. 온-칩 하이브리드 링 버스 상호연결부(22(1))는 로컬 링 버스들(34')(예를 들어, 34'(0)-34'(5)) 및 글로벌 링 버스들(36)로 구성된다. 도 9에서, 글로벌 링 버스들(36)은 하나의 글로벌 요청 링 버스(80) 및 2개 또는 그 초과의 글로벌 데이터 링 버스들(82(0)-82(N))을 포함한다. 도 9에서 예시된 바와 같이, 글로벌 링 버스들(36)은 중앙 처리 장치(CPU) 아키텍처에서 모든 로컬 링 버스들(34')에 걸쳐서 스패닝(span)할 수 있다. 점-대-점 통신들은, 로컬 링 버스(34')가 2개의 참가자 노드들(38)을 상호연결하는 경우 로컬 링 버스(34') 상의 2개의 참가자 노드들(38) 간에 발생할 수 있다. 그렇지 않으면, 인터-링 라우터(40)(예를 들어, 40(16))는 원하는 목적지에 도달하기 위해 하나의 링 버스(예를 들어, 로컬 링 버스(34')(0))로부터 다른 링 버스(예를 들어, 글로벌 요청 링 버스(80))로 버스 트랜잭션 메시지(18)를 라우팅할 수 있다. 자원 관리자(42(1))는 인터-링 라우터들(40)의 라우팅을 제어하기 위해 제공될 수 있다.
[0050] 인터-링 라우터들(40)의 라우트들이 변경될 수 있기 때문에, 하나 또는 그 초과의 글로벌 링 버스들(예를 들어, 글로벌 데이터 링 버스(82)(N))은 전력을 절감하도록 비활성화될 수 있다. 글로벌 링 버스(82(N))가 비활성화되는 경우, 인터-링 라우터들(40)의 라우트들은 다른 링 버스들(예를 들어, 34',36)을 통한 버스 트랜잭션 메시지들(18)의 전달을 보장하도록 세팅된다. 글로벌 링 버스(82(N))는 또한 성능을 증가시키기 위해 재활성화될 수 있다. 글로벌 링 버스(82(N))가 재활성화될 때, 인터-링 라우터들(40)의 라우트들은, 증가된 전력 소비의 트래이드오프가 있지만, 증가된 성능을 달성하기 위해 버스 트랜잭션 메시지들(18)의 전달의 성능을 증가시키도록 세팅된다. 예를 들어, 인터-링 라우터들(40)의 라우트들이, 온-칩 하이브리드 링 버스 상호연결부(22(1))를 이동하는 버스 트랜잭션 메시지(들)(18)에 대해 단축된 경로(들) 및/또는 감소된 경합 경로(들)를 제공하도록 제어될 수 있다.
[0051] 버스 트랜잭션 요청자들(26')의 대역폭 요건들이 증가된 성능을 요구하는 경우, 온-칩 하이브리드 링 버스 상호연결부(22(1))의 모든 링 버스들(34', 36)은 버스 트랜잭션 메시지들(18)의 라우팅에 있어 최대 유연성을 제공하도록 활성화될 수 있다. 이것에 관하여, 하기에 보다 상세히 설명되는 바와 같이, 도 10은, 모든 링 버스들(34', 36)이 활성화될 때, 도 9의 온-칩 하이브리드 링 버스 상호연결부(22(1))를 통한 버스 트랜잭션 메시지들(18)의 예시적인 라우트들(84, 86, 88, 90)을 예시한다. 그러나, 버스 트랜잭션 요청자들(26')의 대역폭 요건들이 감소된 성능을 허용하는 경우, 특정한 링 버스들(예를 들어, 글로벌 데이터 링 버스(82(N))는 전력을 절감하도록 비활성화될 수 있다. 그 결과, 버스 트랜잭션 메시지들(18)은, 그렇지 않은 경우 모든 링 버스들(34', 36)이 활성화되었던 경우 가능했었을 것보다 더 긴 경로들 및/또는 더 많은 경합 경로들을 통해 라우팅될 수 있다.
[0052] 이제 도 10을 참조하면, 온-칩 하이브리드 링 버스 상호연결부(22(1))의 모든 링 버스들(34', 36)이 활성일 때 도 9의 온-칩 하이브리드 링 버스 상호연결부(22(1))를 통한 버스 트랜잭션 메시지들(18)의 예시적인 라우트들이 도시된다. 이 예에서, 버스 트랜잭션 요청자들(26'(0))로부터 버스 트랜잭션 응답자(30'(2))로의 버스 트랜잭션 요청 메시지(도시되지 않음)는 온-칩 하이브리드 링 버스 상호연결부(22(1))에 의해 라우트(84)를 따라 라우팅된다. 이것에 관하여, 버스 트랜잭션 요청 메시지는 참가자 노드(38(4))를 통해 로컬 링 버스(34'(0))를 따라 참가자 노드(38(19))로부터 인터-링 라우터(40(16))로 라우팅된다. 인터-링 라우터(40(16))는 글로벌 요청 링 버스(80) 상에서 버스 트랜잭션 요청 메시지를 라우팅한다. 인터-링 라우터(40(17))는 이어서 로컬 링 버스(34'(2))) 상에서 버스 트랜잭션 요청 메시지를 참가자 노드(38(7))로 라우팅되며, 여기서 버스 트랜잭션 요청 메시지는 버스 트랜잭션 응답자(30'(2))에 의해 수신된다. 이에 응답하여, 버스 트랜잭션 응답자(30'(2))는 라우트(86)를 따라 라우팅되는 버스 트랜잭션 응답 메시지(도시되지 않음)를 전송한다. 버스 트랜잭션 응답 메시지는 참가자 노드(38(8))로부터 로컬 링 버스(34'(3)) 상에서 전송된다. 인터-링 라우터(40(27))는 버스 트랜잭션 응답 메시지를 글로벌 데이터 링 버스(82(0)) 상에서 라우팅한다. 인터-링 라우터(40(29))는 이어서 로컬 링 버스(34'(1)) 상에서 버스 트랜잭션 응답 메시지를 라우팅한다. 버스 트랜잭션 응답 메시지는 참가자 노드(38(17))에 의해 수신된다.
[0053] 도 10을 계속 참조하여, 제 2 버스 트랜잭션 요청 메시지(도시되지 않음)가 라우트(88)를 따라 전송된다. 이것에 관하여 제 2 버스 트랜잭션 요청 메시지는 버스 트랜잭션 요청자(26'(1))로부터 로컬 링 버스(34'(4)) 상에서 전송된다. 인터-링 라우터(40(20))는 글로벌 요청 링 버스(80) 상에서 제 2 버스 트랜잭션 요청 메시지를 라우팅한다. 인터-링 라우터(40(21))는 로컬 링 버스(34'(2)) 상에서 제 2 버스 트랜잭션 요청 메시지를 라우팅하며, 여기서 제 2 버스 트랜잭션 요청 메시지는 버스 트랜잭션 응답자(30'(0))에 의해 수신된다. 이에 응답하여, 버스 트랜잭션 응답자(30'(0))는 제 2 버스 트랜잭션 응답 메시지(도시되지 않음)를 로컬 링 버스(34'(3)) 상에서 전송한다. 제 2 버스 트랜잭션 응답 메시지는 라우트(90)를 따라 라우팅된다. 이것에 관하여, 인터-링 라우터(40(30))는 제 2 버스 트랜잭션 응답 메시지를 글로벌 데이터 링 버스(82(N)) 상에서 라우팅한다. 인터-링 라우터(40(32))는 제 2 버스 트랜잭션 응답 메시지를 로컬 링 버스(34'(5)) 상에서 라우팅하며, 이로부터, 제 2 버스 트랜잭션 응답 메시지는 버스 트랜잭션 응답자(26'(1))의 참가자 노드(38(12))에 의해 수신된다.
[0054] 도 11은 글로벌 링 버스(36)(여기서 글로벌 데이터 링 버스(82(N))가 비활성화된 이후 도 9 및 도 10의 온-칩 하이브리드 링 버스 상호연결부(22(1))를 통한 버스 트랜잭션 메시지들(18)의 예시적인 대안적 라우트들을 예시한다. 도 11에서, 라우트들(84, 86 및 88)은 도 10에서와 동일하다. 그러나 제 2 버스 트랜잭션 응답 메시지는 (도 10에서 도시된 라우트(90)와 상이한) 대안적인 라우트(92)를 따라 이제 라우팅된다. 도 11의 대안적인 라우트(92)는 또한 도 10에서 도시된 라우트(90)보다 더 길다. 이것에 관하여, 도 11에서, 인터-링 라우터(40(30))는, 도 10에서와 같이 글로벌 데이터 링 버스(82(N))로 제 2 버스 트랜잭션 응답 메시지를 라우팅하는 대신, 그것을 로컬 링 버스(34'(3)) 상에서 유지한다. 인터-링 라우터(40(24))는 글로벌 데이터 링 버스(82(0)) 상에서 제 2 버스 트랜잭션 응답 메시지를 라우팅한다. 인터-링 라우터(40(26))는 제 2 버스 트랜잭션 응답 메시지를 로컬 링 버스(34'(5)) 상에서 라우팅하며, 여기서 제 2 버스 트랜잭션 응답 메시지는 참가자 노드(38(12))에 의해 수신된다.
[0055] 이제 도 12를 참조하면, 하나 또는 그 초과의 글로벌 링 버스들(36)을 비활성화하기 위해, 온-칩 하이브리드 링 버스 상호연결부(22(2))는 2개 또는 그 초과의 상이한 전압 레일들(94)(예를 들어, 94(0)-94(N))을 포함할 수 있다. 온-칩 하이브리드 링 버스 상호연결부(22(2))의 글로벌 링 버스들(36) 각각은 2개 또는 그 초과의 상이한 전압 레일들(94(0)-94(N)) 중 하나에 의해 전력공급될 수 있다. 따라서 온-칩 하이브리드 링 버스 상호연결부(22(2))의 각각의 글로벌 링 버스(36)는 글로벌 링 버스(들)(36)에 전력을 공급하는 전압 레일(94)로의 전력공급을 중단(depowering)함으로써 비활성화될 수 있다. 전압 레일들(94(0)-94(N)) 각각의 전압은 상이한 전압 레귤레이터들(96(0)-96(N))에 의해 별개로 유지될 수 있다. 전압 레귤레이터들(96(0)-96(N))은 동일한 기준 전압 레일(98)에 커플링될 수 있거나 커플링되지 않을 수 있다. 도 12에서, 글로벌 요청 링 버스(80) 및/또는 글로벌 데이터 링 버스(82(0))는 전압 레일(94(0))로의 전력공급을 중단함으로써 비활성화될 수 있다. 글로벌 데이터 링 버스(82(N))는 전압 레일(94(N))로의 전력공급을 중단함으로써 비활성화될 수 있다. 대안적으로 글로벌 링 버스(들)(36)는 글로벌 링 버스(들)(36)를 클로킹(clocking)하는 클록 신호(20)(도시되지 않음)를 정지함으로써 비활성화될 수 있다.
[0056] 본 명세서에서 개시된 실시예들에 따른 온-칩 하이브리드 링 버스 상호연결부(22, 22(1), 22(2)) 및 관련된 디바이스들, 프로세서-기반 시스템들 및 방법들은 임의의 프로세서-기반 디바이스에 제공되거나 그에 통합될 수 있다. 예들은, 제한 없이, 셋톱 박스, 엔터테인먼트 유닛, 내비게이션 디바이스, 통신 디바이스, 고정식 위치 데이터 유닛, 이동식 위치 데이터 유닛, 모바일 전화, 셀룰러 전화, 컴퓨터, 휴대용 컴퓨터, 데스크톱 컴퓨터, 개인용 디지털 보조기기(PDA), 모니터, 컴퓨터 모니터, 텔레비전, 튜너, 라디오, 위성 라디오, 음악 재생기, 디지털 음악 재생기, 휴대용 음악 재생기, 디지털 비디오 재생기, 비디오 재생기, 디지털 비디오 디스크(DVD) 재생기, 및 휴대용 디지털 비디오 재생기를 포함한다.
[0057] 이것에 관하여, 도 13은 도 2 내지 도 12에서 예시된 온-칩 하이브리드 링 버스 상호연결부(22, 22(1), 또는 22(2))일 수 있는, 본 명세서에서 논의된 프로세서-기반 시스템 하이브리드 링 버스 상호연결부(101)를 이용할 수 있는 프로세서-기반 시스템(100)의 예를 예시한다. 이 예에서, 프로세서-기반 시스템(100)은 SOC(system-on-a-chip)(102)를 포함한다. 프로세서-기반 시스템(100)은, 각각이 하나 또는 그 초과의 프로세서들(106)을 포함하는 하나 또는 그 초과의 중앙 처리 장치들(CPU들)(104)을 추가로 포함한다. 도 13에서 예시된 바와 같이, 하나 또는 그 초과의 프로세서들(106)은 온-칩 하이브리드 링 버스 상호연결부(22, 22(1), 22(2))에 커플링될 수 있다. 도 13에서 또한 예시된 바와 같이, CPU(들)(104)은, 임시 저장된 데이터에 대한 프로세서(들)(106) 고속 액세스를 허용하도록 온-칩 하이브리드 링 버스 상호연결부(22, 22(1), 22(2))에 커플링된 캐시 메모리(들)(108)를 포함할 수 있다. 프로세서(들)(106)는 버스 트랜잭션 요청자(26, 26')(예를 들어, 버스 마스터 디바이스(들))일 수 있다. 캐시 메모리(들)(108)는 버스 트랜잭션 응답자(30, 30')(예를 들어, 버스 슬래이브 디바이스(들))일 수 있다.
[0058] 도 13에서 예시된 바와 같이, CPU(들)(104)은, 시스템 버스로서 역할하는 온-칩 하이브리드 링 버스 상호연결부(22', 22(1)', 또는 22(2)')일 수 있는 다른 프로세서-기반 시스템 하이브리드 링 버스 상호연결부(105)에 커플링될 수 있다. 프로세서-기반 시스템 하이브리드 링 버스 상호연결부(105)는 프로세서-기반 시스템(100)에 포함되는 버스 마스터 슬래이브 디바이스들을 상호커플링한다. CPU(들)(104)은 프로세서-기반 시스템 하이브리드 링 버스 상호연결부(105)를 통해 어드레스, 제어 및 데이터 정보를 교환함으로써 이들 다른 디바이스들과 통신한다. 예를 들어, CPU(들)(104)는 슬래이브 디바이스의 예로서 메모리 제어기(110)에 버스 트랜잭션 요청들을 통신할 수 있다. 도 13에서 예시된 바와 같이, 다수의 프로세서-기반 시스템 하이브리드 링 버스 상호연결부들(예를 들어, 101, 105)이, SOC(102)에 제공될 수 있으며, 여기서 각각의 프로세서-기반 시스템 하이브리드 링 버스 상호연결부(101, 105)는 상이한 패브릭(fabric)를 구성한다. 그러나, 프로세서-기반 시스템 하이브리드 링 버스 상호연결부들(101, 105)은 또한 SOC(102)에서 대한 단일 온-칩 하이브리드 링 버스 상호연결부(101, 105)로서 제공될 수 있다.
[0059] 다른 마스터 및 슬래이브 디바이스들은 프로세서-기반 시스템 하이브리드 링 버스 상호연결부(105)에 연결될 수 있다. 도 13에서 예시된 바와 같이, 이들 디바이스들은 예로서, 메모리 시스템(112), 하나 또는 그 초과의 입력 디바이스들(116)과 통신하기 위한 하나 또는 그 초과의 아키텍처 입력 인터페이스 디바이스들(114), 하나 또는 그 초과의 출력 디바이스들(120)과 통신하기 위한 하나 또는 그 초과의 출력 인터페이스 디바이스들(118), 하나 또는 그 초과의 네트워크 인터페이스 디바이스들(122) 및 하나 또는 그 초과의 디스플레이 제어기들(124)을 포함할 수 있다. 입력 디바이스(들)(116)는 입력 키들, 스위치들, 음성 프로세서들 등을 포함(그러나 이것으로 제한되지 않음)하는 임의의 타입의 입력 디바이스를 포함할 수 있다. 출력 디바이스(들)(120)는 오디오, 비디오, 다른 시각적 표시자들 등을 포함(그러나 이들로 제한되지 않음)하는 임의의 타입의 출력 디바이스를 포함할 수 있다. 네트워크 인터페이스 디바이스(들)(122)는 네트워크(126)에 그리고 네트워크(126)로부터 데이터의 교환을 허용하도록 구성되는 임의의 디바이스일 수 있다. 네트워크(126)는 유선 또는 무선 네트워크, 개인 또는 공공 네트워크, 로컬 영역 네트워크(LAN), 광역 로컬 영역 네트워크(WLAN), 및 인터넷을 포함(그러나 이들로 제한되지 않음)하는 임의의 타입의 네트워크일 수 있다. 네트워크 인터페이스 디바이스(들)(122)는 요구되는 임의의 타입의 통신 프로토콜을 지원하도록 구성될 수 있다. 메모리 시스템(112)은 하나 또는 그 초과의 메모리 유닛들(128(0)-128(N))을 포함할 수 있다.
[0060] CPU(들)(104)는 또한 하나 또는 그 초과의 디스플레이들(130)에 송신되는 정보를 제어하기 위해 프로세서-기반 시스템 하이브리드 링 버스 상호연결부(105)를 통해 디스플레이 제어기(들)(124)에 액세스하도록 구성될 수 있다. 디스플레이 제어기(들)(124)는, 디스플레이(들)(130)에 적합한 포맷으로 디스플레이되게 정보를 프로세싱하는 하나 또는 그 초과의 비디오 프로세서들(132)을 통해, 디스플레이될 정보를 디스플레이(들)(130)에 송신한다. 디스플레이(들)(130)는 CRT(cathode ray tube), LCD(liquid crystal display), 플라즈마 디스플레이, LED(light-emitting display) 등을 포함(그러나 이들로 제한되지 않음)하는 임의의 타입의 디스플레이를 포함할 수 있다. CPU(들)(104) 및 디스플레이 제어기(들)(124)는 프로세서-기반 시스템 하이브리드 링 버스 상호연결부(105) 상에서 메모리 액세스 요청들을 행하기 위한 마스터 디바이스들로서 작동할 수 있다.
[0061] 당업자는 본 명세서에서 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들 및 알고리즘들이 전자 하드웨어, 메모리 또는 또 다른 컴퓨터-판독 가능한 매체에 저장되고 프로세서 또는 다른 프로세싱 디바이스에 의해 실행되는 명령들, 또는 이들 둘의 조합으로서 구현될 수 있다는 점을 추가로 이해할 것이다. 본 명세서에서 설명된 프로세서-기반 시스템 하이브리드 링 버스 상호연결부들, 마스터 디바이스들, 및 슬래이브 디바이스들은 예들로서 임의의 회로, 하드웨어 컴포넌트, 집적 회로(IC), 또는 IC 칩에서 이용될 수 있다. 본 명세서에서 개시된 메모리는 임의의 타입 및 크기의 메모리일 수 있고, 원하는 임의의 타입의 정보를 저장하도록 구성될 수 있다. 이러한 상호교환가능성을 명백하게 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능성의 견지에서 일반적으로 전술되었다. 이러한 기능성이 구현되는 방법은 전체 시스템에 부과된 특정 애플리케이션, 설계 선택들, 및/또는 설계 제약들에 의존한다. 당업자는 각각의 특정 애플리케이션에 대해 다양한 방식들로 설명된 기능성을 구현할 수 있지만, 이러한 구현 결정들은 본 개시의 범위로부터의 이탈을 야기하는 것으로서 해석되지 않아야 한다.
[0062] 본 명세서에서 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들 및 회로들은 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적 회로(ASIC), 필드-프로그램가능 게이트 어레이(FPGA) 또는 다른 프로그램가능 논리 디바이스, 이산 게이트 또는 트랜지스터 논리, 이산 하드웨어 컴포넌트들, 또는 여기서 설명된 기능들을 수행하기 위해 설계된 이들의 임의의 조합을 이용하여 구현되거나 수행될 수 있다. 프로세서는 마이크로프로세서일 수 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합, 예를 들어, DSP 및 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 공조하는 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성으로서 구현될 수 있다.
[0063] 본 명세서에서 개시된 실시예들은 하드웨어로 그리고 하드웨어에 저장된 명령들로 구현될 수 있고, 예를 들어, 랜덤 액세스 메모리(RAM), 플래시 메모리, 판독 전용 메모리(ROM), 전기적 프로그램가능 ROM (EPROM), 전기적 소거가능 프로그램가능 ROM (EEPROM), 레지스터들, 하드 디스크, 제거가능 디스크, CD-ROM(compact disc read-only memory), 또는 당해 기술분야에 공지된 임의의 다른 형태의 컴퓨터 판독 가능한 매체에 상주할 수 있다. 예시적인 저장 매체는 프로세서가 저장 매체로부터 정보를 판독하고 저장 매체에 정보를 기록할 수 있도록 프로세서에 커플링된다. 대안적으로, 저장 매체는 프로세서에 통합될 수 있다. 프로세서 및 저장 매체는 ASIC에 상주할 수 있다. ASIC은 원격국에 상주할 수 있다. 대안적으로, 프로세서 및 저장 매체는 원격국, 기지국 또는 서버 내에 이산 컴포넌트들로서 상주할 수 있다.
[0064] 또한, 여기서 예시적인 실시예들 중 임의의 것에 설명된 동작 단계들이 예들 및 논의를 제공하기 위해 설명된다는 점에 유의한다. 설명된 동작들은 예시된 순서가 아닌 다수의 상이한 순서들로 수행될 수 있다. 또한, 단일 동작 단계에서 설명된 동작들은 실제로 다수의 상이한 단계들에서 수행될 수 있다. 추가적으로, 예시적인 실시예들에서 논의된 하나 이상의 동작 단계들이 결합될 수 있다. 당업자에게 쉽게 자명할 바와 같이, 흐름도 도면들에서 예시된 동작 단계들에 다수의 상이한 수정들이 이루어질 수 있다는 점이 이해되어야 한다. 당업자는 또한 정보 및 신호들이 다양한 상이한 기술들 및 기법들 중 임의의 것을 사용하여 표현될 수 있다는 점을 이해할 것이다. 예를 들어, 위 설명 전반에 걸쳐 참조될 수 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들 및 칩들이 전압들, 전류들, 전자기파들, 자기장들 또는 자기 입자들, 광학장들 또는 광학 입자들, 또는 이들의 임의의 조합에 의해 표현될 수 있다.
[0065] 본 개시의 이전 설명은 임의의 당업자가 본 개시를 제작하거나 사용할 수 있도록 제공된다. 본 개시에 대한 다양한 수정들이 당업자에게 쉽게 자명할 것이며, 여기서 정의된 포괄적 원리들은 본 개시의 사상 또는 범위로부터 벗어남 없이 다른 변형예들에 적용될 수 있다. 따라서, 본 개시는 여기서 설명된 예들 및 설계들에 제한되도록 의도되는 것이 아니라, 본 명세서에서 개시된 원리들 및 신규한 특징들에 부합하는 가장 넓은 범위에 따라야 한다.

Claims (39)

  1. 프로세서-기반 시스템을 위한 하이브리드 링 버스 상호연결부로서,
    각각의 복수의 링 버스들이 버스 폭을 갖고 적어도 하나의 요청자 디바이스로부터 버스 트랜잭션 메시지들을 수신하도록 구성된 반도체 다이(die) 내의 복수의 링 버스들; 및
    상기 복수의 링 버스들에 커플링되는 상기 반도체 다이 내의 복수의 인터-링 라우터들을 포함하고,
    상기 복수의 인터-링 라우터들은, 상기 적어도 하나의 요청자 디바이스의 대역폭 성능 요건들에 기초하여 상기 복수의 링 버스들 중의 상기 버스 트랜잭션 메시지들을 동적으로 지향(direct)시키도록 구성되는,
    프로세서-기반 시스템을 위한 하이브리드 링 버스 상호연결부.
  2. 제 1 항에 있어서,
    상기 복수의 링 버스들은 복수의 로컬 링 버스들 및 복수의 글로벌 링 버스들을 포함하고,
    상기 복수의 인터-링 라우터들은, 상기 적어도 하나의 요청자 디바이스의 대역폭 성능 요건들에 기초하여 상기 복수의 로컬 링 버스들 중 로컬 링 버스로부터 상기 복수의 글로벌 링 버스들 중 글로벌 링 버스로 상기 버스 트랜잭션 메시지들을 동적으로 지향시키도록 구성되는,
    프로세서-기반 시스템을 위한 하이브리드 링 버스 상호연결부.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 복수의 링 버스들 내의 적어도 하나의 전송 링 버스 및 적어도 하나의 수신 링 버스를 더 포함하는,
    프로세서-기반 시스템을 위한 하이브리드 링 버스 상호연결부.
  5. 제 1 항에 있어서,
    상기 적어도 하나의 요청자 디바이스의 대역폭 성능 요건들에 기초하여 상기 복수의 링 버스들 간에 상기 버스 트랜잭션 메시지들을 지향시키도록 상기 복수의 인터-링 라우터들을 제어하도록 구성되는 자원 관리자
    를 더 포함하는,
    프로세서-기반 시스템을 위한 하이브리드 링 버스 상호연결부.
  6. 제 5 항에 있어서,
    상기 자원 관리자는 추가로,
    상기 복수의 링 버스들 각각을 독립적으로 주파수 스케일링하도록 구성되는,
    프로세서-기반 시스템을 위한 하이브리드 링 버스 상호연결부.
  7. 제 5 항에 있어서,
    상기 자원 관리자는 추가로,
    상기 복수의 링 버스들 각각을 독립적으로 활성화 및 비활성화하도록 구성되는,
    프로세서-기반 시스템을 위한 하이브리드 링 버스 상호연결부.
  8. 제 7 항에 있어서,
    상기 자원 관리자는 추가로,
    더 낮은 전력 모드 업데이트의 수신에 응답하여, 상기 복수의 링 버스들 중에서 적어도 하나의 링 버스를 비활성화하도록 구성되는,
    프로세서-기반 시스템을 위한 하이브리드 링 버스 상호연결부.
  9. 제 8 항에 있어서,
    상기 자원 관리자는 추가로,
    더 높은 전력 모드 업데이트의 수신에 응답하여, 상기 적어도 하나의 링 버스를 재활성화하도록 구성되는,
    프로세서-기반 시스템을 위한 하이브리드 링 버스 상호연결부.
  10. 제 5 항에 있어서,
    상기 자원 관리자는 추가로,
    상기 복수의 링 버스들 각각의 버스 폭을 변경하도록 구성되는,
    프로세서-기반 시스템을 위한 하이브리드 링 버스 상호연결부.
  11. 제 1 항에 있어서,
    적어도 2개의 상이한 전압 레일들
    을 더 포함하고,
    상기 복수의 링 버스들 각각은 상기 적어도 2개의 상이한 전압 레일들 중 하나에 의해 전력공급되는,
    프로세서-기반 시스템을 위한 하이브리드 링 버스 상호연결부.
  12. 제 1 항에 있어서,
    적어도 하나의 반도체 다이에 통합되는,
    프로세서-기반 시스템을 위한 하이브리드 링 버스 상호연결부.
  13. 제 1 항에 있어서,
    상기 하이브리드 링 버스 상호연결부가 통합되는, 셋 톱 박스, 엔터테인먼트 유닛, 내비게이션 디바이스, 통신 디바이스, 고정식 위치 데이터 유닛, 이동식 위치 데이터 유닛, 모바일 전화, 셀룰러 전화, 컴퓨터, 휴대용 컴퓨터, 데스크톱 컴퓨터, 개인용 디지털 보조기기(PDA), 모니터, 컴퓨터 모니터, 텔레비전, 튜너, 라디오, 위성 라디오, 음악 재생기, 디지털 음악 재생기, 휴대용 음악 재생기, 디지털 비디오 재생기, 비디오 재생기, 디지털 비디오 디스크(DVD) 재생기, 및 휴대용 디지털 비디오 재생기로 구성되는 그룹으로부터 선택되는 디바이스
    를 더 포함하는,
    프로세서-기반 시스템을 위한 하이브리드 링 버스 상호연결부.
  14. 삭제
  15. 하이브리드 링 버스 상호연결 수단으로서,
    적어도 하나의 요청자 디바이스로부터 버스 트랜잭션 메시지들을 수신하기 위한 복수의 수단들 ― 상기 수신하기 위한 복수의 수단들 각각은 버스 폭을 가짐 ―; 및
    반도체 다이 내의 상기 수신하기 위한 복수의 수단들에서 상기 버스 트랜잭션 메시지들을 라우팅하기 위한 복수의 수단들을 포함하고,
    상기 라우팅하기 위한 복수의 수단들은, 상기 적어도 하나의 요청자 디바이스의 대역폭 성능 요건들에 기초하여 상기 수신하기 위한 복수의 수단들 간에 상기 버스 트랜잭션 메시지들을 동적으로 지향시키도록 구성되는,
    하이브리드 링 버스 상호연결 수단.
  16. 하이브리드 링 상호연결부에서 버스 트랜잭션 메시지들을 지향시키는 방법으로서,
    적어도 하나의 요청자 디바이스로부터 버스 트랜잭션 메시지들을 수신하는 단계;
    반도체 다이 내의 복수의 링 버스들 중의 링 버스 상에 상기 버스 트랜잭션 메시지들을 지향시키는 단계 ― 상기 복수의 링 버스들 각각은 버스 폭을 갖고 상기 버스 트랜잭션 메시지들을 수신하도록 구성됨 ―; 및
    상기 적어도 하나의 요청자 디바이스의 대역폭 성능 요건에 기초하여 상기 링 버스로부터 상기 복수의 링 버스들 중의 다른 링 버스로, 상기 링 버스에 커플링되는 상기 반도체 다이 내의 복수의 인터-링 라우터들 중 적어도 하나의 인터-링 라우터로부터, 상기 버스 트랜잭션 메시지들을 동적으로 지향시키는 단계
    를 포함하는,
    하이브리드 링 상호연결부에서 버스 트랜잭션 메시지들을 지향시키는 방법.
  17. 제 16 항에 있어서,
    상기 복수의 링 버스들은 복수의 로컬 링 버스들 및 복수의 글로벌 링 버스들을 포함하고,
    상기 버스 트랜잭션 메시지들을 동적으로 지향시키는 단계는, 상기 적어도 하나의 요청자 디바이스의 대역폭 성능 요건들에 기초하여 상기 복수의 로컬 링 버스들 중 로컬 링 버스로부터 상기 복수의 글로벌 링 버스들 중 글로벌 링 버스로 상기 버스 트랜잭션 메시지들을 상기 적어도 하나의 인터-링 라우터로부터 동적으로 지향시키는 단계를 포함하는,
    하이브리드 링 상호연결부에서 버스 트랜잭션 메시지들을 지향시키는 방법.
  18. 제 17 항에 있어서,
    상기 버스 트랜잭션 메시지들을 동적으로 지향시키는 단계는, 상기 적어도 하나의 요청자 디바이스의 대역폭 성능 요건들에 기초하여 상기 복수의 로컬 링 버스들 중 상기 로컬 링 버스로부터 상기 복수의 글로벌 링 버스들 중 상기 글로벌 링 버스로 상기 버스 트랜잭션 메시지들을 상기 복수의 인터-링 라우터들로부터 동적으로 지향시키는 단계를 포함하는,
    하이브리드 링 상호연결부에서 버스 트랜잭션 메시지들을 지향시키는 방법.
  19. 제 16 항에 있어서,
    상기 대역폭 성능 요건들에 기초하여 상기 복수의 링 버스들 중 적어도 하나의 링 버스를 비활성화하는 단계
    를 더 포함하는,
    하이브리드 링 상호연결부에서 버스 트랜잭션 메시지들을 지향시키는 방법.
  20. 제 19 항에 있어서,
    상기 대역폭 성능 요건들에 기초하여 상기 적어도 하나의 링 버스를 재활성화하는 단계
    를 더 포함하는,
    하이브리드 링 상호연결부에서 버스 트랜잭션 메시지들을 지향시키는 방법.
  21. 제 16 항에 있어서,
    상기 적어도 하나의 요청자 디바이스의 대역폭 성능 요건들에 기초하여 상기 링 버스로부터 상기 복수의 링 버스들 중 상기 다른 링 버스로 상기 버스 트랜잭션 메시지들을 상기 링 버스에 커플링된 상기 반도체 다이 내의 상기 적어도 하나의 인터-링 라우터로부터 동적으로 지향시키는 단계를 포함하는,
    하이브리드 링 상호연결부에서 버스 트랜잭션 메시지들을 지향시키는 방법.
  22. 하이브리드 링 버스 상호연결부를 제어하기 위한 자원 관리자로서,
    상기 자원 관리자는,
    복수의 버스 트랜잭션 요청자들이 활성인지 여부를 결정하고;
    각각의 활성 버스 트랜잭션 요청자의 대역폭 성능 요건들을 결정하고;
    상기 활성 버스 트랜잭션 요청자들의 대역폭 성능 요건들에 기초하여 반도체 다이 내의 상기 하이브리드 링 버스 상호연결부의 토폴로지(topology)를 계산하고; 그리고
    상기 계산된 토폴로지에 기초하여 상기 반도체 다이 내의 복수의 링 버스들 간에 버스 트랜잭션 메시지들을 동적으로 라우팅하도록 복수의 인터-링 라우터들의 구성을 수정하도록
    구성되는,
    하이브리드 링 버스 상호연결부를 제어하기 위한 자원 관리자.
  23. 제 22 항에 있어서,
    상기 하이브리드 링 버스 상호연결부는,
    상기 반도체 다이 내의 복수의 링 버스들 ― 상기 복수의 링 버스들 각각은 버스 폭을 갖고 적어도 하나의 요청자 디바이스로부터 상기 버스 트랜잭션 메시지들을 수신하도록 구성됨 ―; 및
    상기 복수의 링 버스들에 커플링되는 상기 반도체 다이 내의 상기 복수의 인터-링 라우터들을 포함하고,
    상기 자원 관리자는 상기 적어도 하나의 요청자 디바이스의 대역폭 성능 요건들에 기초하여 상기 복수의 링 버스들 중에서 상기 버스 트랜잭션 메시지들을 동적으로 지향시키도록 상기 복수의 인터-링 라우터들을 제어하도록 구성되는,
    하이브리드 링 버스 상호연결부를 제어하기 위한 자원 관리자.
  24. 제 23 항에 있어서,
    상기 복수의 인터-링 라우터들의 구성을 수정하기 위해, 상기 자원 관리자는,
    상기 계산된 토폴로지에 기초하여 상기 복수의 인터-링 라우터들에 대한 복수의 라우팅 표(table)들을 결정하고; 그리고
    상기 복수의 라우팅 표들을 상기 복수의 인터-링 라우터들에 전송하도록
    구성되는,
    하이브리드 링 버스 상호연결부를 제어하기 위한 자원 관리자.
  25. 제 24 항에 있어서,
    상기 전송되는 복수의 라우팅 표들을 재구성하도록 상기 복수의 인터-링 라우터들에 핸드쉐이크 메시지(handshake message)들을 전송하도록
    추가로 구성되는,
    하이브리드 링 버스 상호연결부를 제어하기 위한 자원 관리자.
  26. 제 24 항에 있어서,
    상기 복수의 라우팅 표들 각각은,
    상기 버스 트랜잭션 메시지들의 목적지 및 상기 버스 트랜잭션 메시지들의 소스 중 적어도 하나에 기초하여 상기 버스 트랜잭션 메시지들을 전송할 방향을 포함하는,
    하이브리드 링 버스 상호연결부를 제어하기 위한 자원 관리자.
  27. 제 24 항에 있어서,
    상기 복수의 라우팅 표들 각각은,
    상기 버스 트랜잭션 메시지들의 목적지 및 상기 버스 트랜잭션 메시지들의 소스 중 적어도 하나에 기초하여 상기 버스 트랜잭션 메시지들을 전송할 버스 주파수 데이터 레이트(bus frequency data rate)를 추가로 포함하는,
    하이브리드 링 버스 상호연결부를 제어하기 위한 자원 관리자.
  28. 제 24 항에 있어서,
    상기 복수의 라우팅 표들 각각은,
    상기 버스 트랜잭션 메시지들의 목적지 및 상기 버스 트랜잭션 메시지들의 소스 중 적어도 하나에 기초하여 상기 버스 트랜잭션 메시지들을 전송할 버스 폭을 포함하는,
    하이브리드 링 버스 상호연결부를 제어하기 위한 자원 관리자.
  29. 제 23 항에 있어서,
    더 낮은 전력 모드 업데이트의 수신에 응답하여 상기 복수의 링 버스들 중에서 적어도 하나의 링 버스를 비활성화하도록 추가로 구성되는,
    하이브리드 링 버스 상호연결부를 제어하기 위한 자원 관리자.
  30. 제 29 항에 있어서,
    상기 적어도 하나의 링 버스에 전력공급하는 전압 레일에 전력공급을 중단(depowering)함으로써 상기 적어도 하나의 링 버스를 비활성화하도록 구성되는,
    하이브리드 링 버스 상호연결부를 제어하기 위한 자원 관리자.
  31. 제 29 항에 있어서,
    상기 적어도 하나의 링 버스를 클로킹(clocking)하는 클록 신호를 중단시킴으로써 상기 적어도 하나의 링 버스를 비활성화하도록 구성되는,
    하이브리드 링 버스 상호연결부를 제어하기 위한 자원 관리자.
  32. 제 29 항에 있어서,
    더 높은 전력 모드 업데이트의 수신에 응답하여 상기 적어도 하나의 링 버스를 재활성화하도록 추가로 구성되는,
    하이브리드 링 버스 상호연결부를 제어하기 위한 자원 관리자.
  33. 삭제
  34. 제 23 항에 있어서,
    상기 복수의 링 버스들은 복수의 로컬 링 버스들 및 복수의 글로벌 링 버스들을 포함하고,
    상기 자원 관리자는,
    상기 적어도 하나의 요청자 디바이스의 대역폭 성능 요건들에 기초하여 상기 복수의 로컬 링 버스들 중 로컬 링 버스로부터 상기 복수의 글로벌 링 버스들 중 글로벌 링 버스로 상기 버스 트랜잭션 메시지들을 동적으로 지향시키기 위해 상기 복수의 인터-링 라우터들을 제어하도록 구성되는,
    하이브리드 링 버스 상호연결부를 제어하기 위한 자원 관리자.
  35. 제 22 항에 있어서,
    적어도 하나의 요청자 디바이스의 대역폭 성능 요건들에 기초하여 상기 복수의 링 버스들 중에서 상기 버스 트랜잭션 메시지들을 동적으로 지향시키기 위해 상기 복수의 인터-링 라우터들을 제어하도록 구성되는,
    하이브리드 링 버스 상호연결부를 제어하기 위한 자원 관리자.
  36. 하이브리드 링 버스 상호연결부를 제어하기 위한 자원 관리자로서,
    복수의 버스 트랜잭션 요청자들이 활성인지 여부를 결정하기 위한 수단;
    각각의 활성 버스 트랜잭션 요청자의 대역폭 성능 요건들을 결정하기 위한 수단;
    각각의 활성 버스 트랙잭션 요청자의 상기 대역폭 성능 요건들에 기초하여 반도체 다이 내의 하이브리드 링 버스 상호연결부의 토폴로지를 계산하기 위한 수단; 및
    상기 계산된 토폴로지에 기초하여 복수의 링 버스들 간에 버스 트랜잭션 메시지들을 동적으로 라우팅하기 위해 복수의 인터-링 라우터들의 구성을 수정하기 위한 수단
    을 포함하는,
    하이브리드 링 버스 상호연결부를 제어하기 위한 자원 관리자.
  37. 컴퓨터-실행 가능한 명령들이 저장되어 있는 컴퓨터-판독 가능한 매체로서,
    상기 컴퓨터-실행 가능한 명령들은, 자원 관리자로 하여금,
    적어도 하나의 요청자 디바이스로부터 버스 트랜잭션 메시지들을 수신하게 하고;
    복수의 링 버스들 중 반도체 다이 내의 링 버스 상에 상기 버스 트랜잭션 메시지들이 지향되게 하고 ― 상기 복수의 링 버스들 각각은 버스 폭을 갖고 상기 적어도 하나의 요청자 디바이스로부터 상기 버스 트랜잭션 메시지들을 수신하도록 구성됨 ―;
    상기 적어도 하나의 요청자 디바이스의 대역폭 성능 요건에 기초하여, 상기 복수의 링 버스들에 커플링되는 상기 반도체 다이 내의 복수의 인터-링 라우터들을 통해 상기 복수의 링 버스들 중에서 상기 버스 트랜잭션 메시지들이 동적으로 지향되게 하고; 그리고
    상기 적어도 하나의 요청자 디바이스의 대역폭 성능 요건들을 결정하게 함으로써,
    상기 자원 관리자로 하여금 하이브리드 링 버스 상호연결부에서 상기 버스 트랜잭션 메시지들을 지향시키게 하기 위한 명령들인,
    컴퓨터-실행 가능한 명령들이 저장되어 있는 컴퓨터-판독 가능한 매체.
  38. 제 37 항에 있어서,
    상기 자원 관리자로 하여금, 상기 대역폭 성능 요건들에 기초하여 상기 복수의 링 버스들 중 적어도 하나의 링 버스를 비활성화하게 하기 위한 컴퓨터-실행 가능한 명령들
    을 더 포함하는,
    컴퓨터-실행 가능한 명령들이 저장되어 있는 컴퓨터-판독 가능한 매체.
  39. 제 38 항에 있어서,
    상기 자원 관리자로 하여금, 상기 대역폭 성능 요건들에 기초하여 상기 적어도 하나의 링 버스를 재활성화하게 하기 위한 컴퓨터-실행 가능한 명령들
    을 더 포함하는,
    컴퓨터-실행 가능한 명령들이 저장되어 있는 컴퓨터-판독 가능한 매체.
KR1020157012349A 2012-10-18 2013-10-09 프로세서-기반 하이브리드 링 버스 상호연결부 KR101622712B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/654,653 2012-10-18
US13/654,653 US9152595B2 (en) 2012-10-18 2012-10-18 Processor-based system hybrid ring bus interconnects, and related devices, processor-based systems, and methods
PCT/US2013/064075 WO2014062447A1 (en) 2012-10-18 2013-10-09 Processor-based hybrid ring bus interconnect

Publications (2)

Publication Number Publication Date
KR20150074032A KR20150074032A (ko) 2015-07-01
KR101622712B1 true KR101622712B1 (ko) 2016-05-19

Family

ID=49484457

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157012349A KR101622712B1 (ko) 2012-10-18 2013-10-09 프로세서-기반 하이브리드 링 버스 상호연결부

Country Status (6)

Country Link
US (1) US9152595B2 (ko)
EP (1) EP2909730B1 (ko)
JP (1) JP5968549B2 (ko)
KR (1) KR101622712B1 (ko)
CN (1) CN104718537B (ko)
WO (1) WO2014062447A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9565032B2 (en) 2014-12-03 2017-02-07 Qualcomm Incorporated Monitoring and controlling bus ring performance
JP6546479B2 (ja) * 2015-08-25 2019-07-17 キヤノン株式会社 情報処理装置
US10740236B2 (en) 2017-05-12 2020-08-11 Samsung Electronics Co., Ltd Non-uniform bus (NUB) interconnect protocol for tiled last level caches
US10691632B1 (en) * 2019-03-14 2020-06-23 DeGirum Corporation Permutated ring network interconnected computing architecture
GB2596102B (en) * 2020-06-17 2022-06-29 Graphcore Ltd Processing device comprising control bus
CN112416852B (zh) * 2020-12-08 2023-11-21 海光信息技术股份有限公司 环形互连结构路由确定方法及装置
CN113055260A (zh) * 2021-02-20 2021-06-29 北京航天自动控制研究所 一种环状拓扑与交换机混合通信方法和装置
CN116783585A (zh) * 2021-02-23 2023-09-19 华为技术有限公司 一种互联系统、数据传输方法以及芯片
CN113709604B (zh) * 2021-07-02 2022-05-03 浙江大学 基于环形转盘总线架构的快速可重构无阻塞全连接路由器
US20240072812A1 (en) * 2022-08-31 2024-02-29 Texas Instruments Incorporated Synchronous alignment of multiple high-speed dividers

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080140891A1 (en) * 2006-12-07 2008-06-12 Integrated Device Technology, Inc. Common Access Ring System
US20090016358A1 (en) * 2007-07-12 2009-01-15 Netklass Technology, Inc. Method for transmitting data in virtual wan and system thereof

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4821174A (en) * 1984-03-20 1989-04-11 Westinghouse Electric Corp. Signal processing system including a bus control module
JPH0773394B2 (ja) * 1988-03-09 1995-08-02 富士通株式会社 異種通信網の一元的通信網への統合方法
US5349583A (en) * 1991-08-16 1994-09-20 International Business Machines Corporation Multi-channel token ring
EP0960509B1 (en) * 1997-02-17 2005-12-07 COMMUNICATION & CONTROL ELECTRONICS LIMITED Local communication system
US6167502A (en) * 1997-10-10 2000-12-26 Billions Of Operations Per Second, Inc. Method and apparatus for manifold array processing
US6606297B1 (en) 1998-05-29 2003-08-12 Tellabs Operations, Inc. Bi-directional ring network having minimum spare bandwidth allocation and corresponding connection admission control
US6658509B1 (en) * 2000-10-03 2003-12-02 Intel Corporation Multi-tier point-to-point ring memory interface
US7095714B2 (en) * 2000-11-28 2006-08-22 Kabushiki Kaisha Toshiba Ring interconnection network system, node equipment, network management equipment, and path setting method
USRE44782E1 (en) * 2002-11-11 2014-02-25 Supracomm, Inc. Multicast videoconferencing
US7062668B2 (en) * 2003-04-24 2006-06-13 Dell Products L.P. Method and system for information handling system component power management sequencing
US7099969B2 (en) * 2003-11-06 2006-08-29 Dell Products L.P. Dynamic reconfiguration of PCI Express links
US7293212B2 (en) * 2005-03-22 2007-11-06 Arm Limted Memory self-test via a ring bus in a data processing apparatus
US7539809B2 (en) 2005-08-19 2009-05-26 Dell Products L.P. System and method for dynamic adjustment of an information handling systems graphics bus
US7447824B2 (en) * 2005-10-26 2008-11-04 Hewlett-Packard Development Company, L.P. Dynamic lane management system and method
US7487371B2 (en) * 2005-12-16 2009-02-03 Nvidia Corporation Data path controller with integrated power management to manage power consumption of a computing device and its components
US20070186027A1 (en) 2006-02-07 2007-08-09 International Business Machines Corporation Method and apparatus for implementing control of a multiple ring hybrid crossbar partially non-blocking data switch
US7808931B2 (en) 2006-03-02 2010-10-05 Corrigent Systems Ltd. High capacity ring communication network
US7843856B2 (en) 2007-01-31 2010-11-30 Cisco Technology, Inc. Determination of available service capacity in dynamic network access domains
US7916636B2 (en) 2009-01-05 2011-03-29 Corrigent Systems Ltd. Ring network aggregate rates
WO2011004566A1 (ja) * 2009-07-07 2011-01-13 パナソニック株式会社 バス制御装置
US20120155273A1 (en) * 2010-12-15 2012-06-21 Advanced Micro Devices, Inc. Split traffic routing in a processor
US20120195321A1 (en) * 2011-02-02 2012-08-02 Futurewei Technologies, Inc. Method and Apparatus for Low-Latency Interconnection Networks Using Hierarchical Rings
US9423847B2 (en) * 2011-12-20 2016-08-23 Advanced Micro Devices, Inc. Method and apparatus for transitioning a system to an active disconnect state
US20130173933A1 (en) * 2011-12-29 2013-07-04 Advanced Micro Devices, Inc. Performance of a power constrained processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080140891A1 (en) * 2006-12-07 2008-06-12 Integrated Device Technology, Inc. Common Access Ring System
US20090016358A1 (en) * 2007-07-12 2009-01-15 Netklass Technology, Inc. Method for transmitting data in virtual wan and system thereof

Also Published As

Publication number Publication date
CN104718537B (zh) 2017-03-08
JP2016502700A (ja) 2016-01-28
US9152595B2 (en) 2015-10-06
WO2014062447A1 (en) 2014-04-24
EP2909730B1 (en) 2017-08-16
US20140115221A1 (en) 2014-04-24
EP2909730A1 (en) 2015-08-26
JP5968549B2 (ja) 2016-08-10
KR20150074032A (ko) 2015-07-01
CN104718537A (zh) 2015-06-17

Similar Documents

Publication Publication Date Title
KR101622712B1 (ko) 프로세서-기반 하이브리드 링 버스 상호연결부
US10613616B2 (en) Systems and methods for facilitating low power on a network-on-chip
US9829962B2 (en) Hardware and software enabled implementation of power profile management instructions in system on chip
KR101519023B1 (ko) 버스 상호접속부를 위한 버스 클록 주파수 스케일링 및 관련 디바이스들, 시스템들 및 방법들
US9529400B1 (en) Automatic power domain and voltage domain assignment to system-on-chip agents and network-on-chip elements
US9298212B2 (en) Distributed management of a shared clock source to a multi-core microprocessor
US9571341B1 (en) Clock gating for system-on-chip elements
TWI444023B (zh) 用於性能及流量知覺的異質互連網路的方法、設備以及系統
US9477280B1 (en) Specification for automatic power management of network-on-chip and system-on-chip
US20140181824A1 (en) Qos inband upgrade
US10218580B2 (en) Generating physically aware network-on-chip design from a physical system-on-chip specification
US9998401B2 (en) Architecture for on-die interconnect
JP6807874B2 (ja) クロック管理を介した電力低減
US9747239B2 (en) Transaction filter for on-chip communications network
US9760515B2 (en) Shared control of a phase locked loop (PLL) for a multi-port physical layer (PHY)
JP2016038865A (ja) 演算処理装置,情報処理装置,及び情報処理装置の制御方法

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
LAPS Lapse due to unpaid annual fee