KR101519023B1 - 버스 상호접속부를 위한 버스 클록 주파수 스케일링 및 관련 디바이스들, 시스템들 및 방법들 - Google Patents
버스 상호접속부를 위한 버스 클록 주파수 스케일링 및 관련 디바이스들, 시스템들 및 방법들 Download PDFInfo
- Publication number
- KR101519023B1 KR101519023B1 KR1020137022798A KR20137022798A KR101519023B1 KR 101519023 B1 KR101519023 B1 KR 101519023B1 KR 1020137022798 A KR1020137022798 A KR 1020137022798A KR 20137022798 A KR20137022798 A KR 20137022798A KR 101519023 B1 KR101519023 B1 KR 101519023B1
- Authority
- KR
- South Korea
- Prior art keywords
- clock signal
- bandwidth
- frequency
- bus interconnect
- port
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/06—Clock generators producing several clock signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3209—Monitoring remote activity, e.g. over telephone lines or network connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Power Sources (AREA)
- Information Transfer Systems (AREA)
- Bus Control (AREA)
Abstract
버스 상호접속부를 위한 버스 클록 주파수 스케일링 및 관련된 디바이스들, 시스템들, 및 방법들이 개시된다. 일 실시예에서, 버스 상호접속부는 슬레이브 포트(들)에 마스터 포트(들)를 접속시키도록 구성가능한 상호접속 네트워크를 포함한다. 버스 상호접속 클록 신호는 상호접속 네트워크를 클로킹한다. 제어기는 마스터 포트(들) 및 슬레이브 포트(들)를 통해 전달되는 트래픽에 관련된 대역폭 정보를 수신하도록 구성된다. 제어기는 마스터 포트(들) 및/또는 슬레이브 포트(들)의 대역폭이 개별 대역폭 조건(들)을 만족시키는 경우, 그리고/또는 마스터 포트(들)의 레이턴시가 마스터 포트(들)에 대한 개별 레이턴시 조건(들)을 만족시키는 경우, 버스 상호접속 클록 신호의 주파수를 스케일링(예를 들어, 증가 또는 감소)하도록 추가로 구성된다. 마스터 포트(들) 및/또는 슬레이브 포트(들)는 또한 성능을 최적화하고 전력을 보존하기 위해 버스 상호접속 클록 신호의 주파수의 변경에 응답하여 재구성될 수 있다.
Description
본 개시내용의 기술은 다양한 전자 컴포넌트들을 함께 통신상으로 인터페이싱하기 위한 전자 버스 상호접속부들에 관한 것이다. 일 예로서, 버스 상호접속부들은 시스템-온-어-칩(SOC) 설계들에서 제공될 수 있다.
모바일 전화들, 개인 디지털 정보 단말(PDA)들 등과 같은 휴대용 전자 디바이스들은 주문형 집적 회로(ASIC) 설계들을 사용하여 일반적으로 제조된다. 높은 레벨들의 실리콘 집적의 달성에서의 발전들은 복잡한 ASIC들 및 필드 프로그램가능 게이트 어레이(FPGA) 설계들의 생성을 허용하였다. 이들 ASIC들 및 FPGA들은 시스템-온-어-칩(SOC)을 제공하기 위해 단일 칩에서 제공될 수 있다. SOC는 예를 들어, 프로세서들, 승산기들, 캐시들, 및 다른 전자 컴포넌트들과 같은 단일 반도체 칩 상에서 다수의 기능 서브시스템들을 제공한다. SOC들은 단일 칩에서 다수의 특징들 및 애플리케이션들을 제공할 수 있는 다수의 서브시스템들의 그들의 집적으로 인해 휴대용 전자 디바이스들에서 특히 유용하다. 또한, SOC들은 그렇지 않은 경우 다수의 칩들을 사용하여 제공되었을 수 있는, 단일 칩의 사용에 의해 더 작은 휴대용 전자 디바이스들을 허용할 수 있다.
일 예로서 SOC일 수 있는 칩(들) 상에 제공된 회로 내에서 다수의 다양한 컴포넌트들 또는 서브시스템들을 함께 통신상으로 인터페이싱하기 위해, 버스 상호접속부로서 또한 참조되는, 상호접속 통신 버스가 제공된다. 버스 상호접속부는 예들로서 레지스터들, 큐들, 및 다양한 서브시스템들 사이의 통신들을 관리하기 위한 다른 회로들을 포함할 수 있는, 클로킹된 회로를 포함하는 회로를 사용하여 제공된다. 버스 상호접속부 내의 회로는 원하는 스루풋을 제공하기 위해 원하는 버스 클록 주파수(들)에서 동작하는 마스터 클록 신호로부터 생성되는 하나 이상의 클록 신호들로 클로킹된다. 감소한 전력 소비가 바람직한 애플리케이션들에서, 버스 클록 주파수는 전력 소비가 fCV2과 같다는 널리 공지된 방정식에 따라 낮아질 수 있으며, 여기서, 'f'는 주파수이고, 'C'는 커패시턴스이고, 'V'는 전압이다. 그러나, 버스 클록 주파수를 낮추는 것은 버스 상호접속부의 성능을 낮춘다. 버스 클록 주파수를 낮추는 것이 버스 상호접속부에 커플링된 서브시스템들에 대한 조건들 또는 레이턴시 요건들을 넘어 버스 레이턴시를 증가시키는 경우, 서브시스템의 성능은 전체적으로 저하하거나 실패할 수 있다. 위험성 저하 또는 실패(failure)보다는, 버스 클록 주파수는 성능 마진을 제공하고 레이턴시를 감소시키도록 더 높은 주파수로 세팅될 수 있다. 그러나, 버스 상호접속부에 대해 더 높은 버스 클록 주파수를 제공하는 것은 더 많은 전력을 소모한다.
상세한 설명에 개시된 실시예들은 버스 상호접속부들을 위한 버스 클록 주파수 스케일링, 및 관련 디바이스들, 시스템들, 방법들, 및 컴퓨터-판독가능한 매체들을 포함한다. 버스 상호접속부는, 각각이 버스 상호접속부의 복수의 마스터 포트들 중 하나의 마스터 포트에 접속되는 하나 이상의 마스터 디바이스들로 하여금 각각이 버스 상호접속부의 슬레이브 포트에 접속되는 복수의 슬레이브 디바이스들 중 임의의 것에 통신상으로 접속되도록 구성가능하다. 마스터 포트(들) 및 슬레이브 포트(들)는 상이한 주파수에서 동작하는 슬레이브 디바이스(들)와 통신하기 위해 하나의 주파수에서 동작하는 마스터 디바이스(들)의 상호접속을 용이하게 하기 위해 상이한 주파수들에서 동작하도록 구성가능할 수 있다. 버스 상호접속 클록 신호가 상호접속 네트워크를 클로킹하기 위해 제공된다. 버스 상호접속부에 의해 소모되는 전력을 보존하기 위해, 버스 상호접속 클록 신호의 주파수가 개별 대역폭 및/또는 개별 레이턴시 조건들에 기초하여 스케일링(예를 들어, 증가 또는 감소)될 수 있다. 이러한 방식으로, 버스 상호접속부에 의한 전력 소모가 최적화되는 동시에, 버스 상호접속부의 원하는 성능 조건 요건들을 유지할 수 있다.
이와 관련하여 일 양상에서, 버스 상호접속부가 제공된다. 버스 상호접속부는 하나 이상의 슬레이브 포트들에 복수의 마스터 포트들 중 하나 이상의 마스터 포트들을 접속시키도록 구성가능한 상호접속 네트워크를 포함한다. 버스 상호접속부는 또한 상호접속 네트워크를 클로킹하기 위해 버스 상호접속 클록 신호를 생성하도록 구성되는 제어기를 포함한다. 제어기는 적어도 하나의 마스터 포트를 통해 전달된 트래픽에 관련된 적어도 하나의 제1 대역폭 정보를 수신하도록 구성된다. 제어기는 또한 적어도 하나의 슬레이브 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 제2 대역폭 정보를 수신하도록 구성된다. 제어기는 또한 (a) 적어도 하나의 제1 대역폭 정보가 개별적인 적어도 하나의 제1 대역폭 조건을 만족시키는 것, 및 (b) 적어도 하나의 제2 대역폭 정보가 개별적인 적어도 하나의 제2 대역폭 조건을 만족시키는 것 중 적어도 하나에 응답하여 버스 상호접속 클록 신호의 주파수를 스케일링(예를 들어, 증가 또는 감소)하도록 구성된다.
제어기는 적어도 하나의 제1 대역폭 정보가 개별적인 적어도 하나의 제1 대역폭 조건을 만족시키는 것 및 적어도 하나의 제2 대역폭 정보가 개별적인 적어도 하나의 제2 대역폭 조건을 만족시키는 것에 응답하여 버스 상호접속 클록 신호의 주파수를 감소시키도록 구성될 수 있다. 제어기는 또한 적어도 하나의 제1 대역폭 정보가 개별적인 적어도 하나의 제1 대역폭 조건을 만족시키는 것 또는 적어도 하나의 제2 대역폭 정보가 개별적인 적어도 하나의 제2 대역폭 조건을 만족시키는 것에 응답하여 버스 상호접속 클록 신호의 주파수를 증가시키도록 구성될 수 있다.
또다른 실시예에서, 버스 상호접속부를 위해 버스 상호접속 클록 신호를 스케일링하는 방법이 제공된다. 방법은 적어도 하나의 슬레이브 포트에 적어도 하나의 마스터 포트를 접속시키도록 구성되는 상호접속 네트워크에 접속되는 복수의 마스터 포트들 중 적어도 하나의 마스터 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 제1 대역폭 정보를 수신하는 단계를 포함한다. 방법은 또한 적어도 하나의 슬레이브 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 제2 대역폭 정보를 수신하는 단계를 포함한다. 방법은 또한 (a) 적어도 하나의 제1 대역폭 정보가 개별적인 적어도 하나의 제1 대역폭 조건을 만족시키는 것, 및 (b) 적어도 하나의 제2 대역폭 정보가 개별적인 적어도 하나의 제2 대역폭 조건을 만족시키는 것 중 적어도 하나에 응답하여 상호접속 네트워크를 클로킹하는 버스 상호접속 클록 신호의 주파수를 스케일링하는 단계를 포함한다.
또다른 실시예에서, 컴퓨터-판독가능한 매체가 제공된다. 컴퓨터-판독가능한 매체는, 슬레이브 포트(들)에 복수의 마스터 포트들 중 하나의 마스터 포트를 접속시키도록 구성가능한 상호접속 네트워크를 포함하는 버스 상호접속부로 하여금, 제어기에 의해 생성되며, (a) 적어도 하나의 마스터 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 제1 대역폭 정보가 개별적인 적어도 하나의 제1 대역폭 조건을 만족시키는 것, 및 (b) 적어도 하나의 슬레이브 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 제2 대역폭 정보가 개별적인 적어도 하나의 제2 대역폭 조건을 만족시키는 것 중 적어도 하나에 응답하여 상호접속 네트워크를 클로킹하도록 구성되는 버스 상호접속 클록 신호의 주파수를 스케일링(예를 들어, 증가 또는 감소)하도록 하기 위한 저장된 컴퓨터 실행가능한 명령들을 가진다.
다른 실시예들에서, 제어기는 또한 마스터 포트(들)에 대한 레이턴시가 마스터 포트(들)에 대한 개별 레이턴시 조건을 만족하는 경우에만 추가적으로 버스 상호접속 클록 신호의 주파수를 스케일링(예를 들어, 증가 또는 감소)하도록 구성될 수 있다. 예를 들어, 제어기는 마스터 포트(들)에 대한 레이턴시가 마스터 포트(들)에 대한 최대 레이턴시 임계보다 더 작고, 마스터 및 슬레이브 포트(들)의 대역폭(들)이 헤드룸 대역폭 임계(들)보다 더 작은 경우 버스 상호접속 클록 신호의 주파수를 감소시키도록 구성될 수 있다. 또다른 예로서, 제어기는 마스터 포트(들)에 대한 레이턴시가 마스터 포트(들)에 대한 최대 레이턴시 임계보다 더 크거나 또는 마스터 또는 슬레이브 포트(들)에 대한 대역폭들이 헤드룸 대역폭 임계(들)보다 더 큰 경우 버스 상호접속 클록 신호의 주파수를 증가시키도록 구성될 수 있다.
또한, 여기서 개시된 실시예들은, 가능한 경우, 버스 상호접속부에서의 레이턴시들을 감소시키거나 회피하기 위해 버스 상호접속 클록 신호에 대한 변경에 응답하여 동기적 및/또는 상승-에지 동기적 동작을 위해 구성되도록 마스터 포트(들) 및 슬레이브 포트(들)의 능력을 제공한다. 마스터 포트 인터페이스(들) 및 슬레이브 포트 인터페이스(들)는 또한 버스 상호접속 클록 신호에 대한 비동기적 동작을 위해 구성될 수 있다.
도 1은 주파수-스케일링된 버스 상호접속 클록 신호를 사용하여 클로킹된 상호접속 네트워크를 통해 복수의 슬레이브 포트들 중 임의의 것에 복수의 마스터 포트들을 접속시키도록 구성되는 상호접속 네트워크를 포함하는 예시적인 버스 상호접속 시스템의 블록도이다.
도 2는 슬레이브 포트에 접속된 마스터 포트 사이의 도 1의 버스 상호접속부의 통신 경로 셋업에서의 예시적인 회로 서브시스템들의 블록도이다.
도 3a 및 3b는 마스터 포트(들)에 대해 구성된 개별 레이턴시 조건들 및/또는 마스터 포트(들) 및 슬레이브 포트(들)에 대해 구성되는 개별 대역폭 조건들에 기초하여, 도 1의 버스 상호접속부에 대한 버스 상호접속 클록 신호의 주파수 스케일링을 제공하는 예시적인 흐름도를 예시한다.
도 4는 도 1의 버스 상호접속부에 제공되는 제어기에 포함된 예시적인 컴포넌트들의 블록도이다.
도 5는 버스 상호접속 클록 신호와 동기적, 상승-에지 동기적, 및 비동기적으로 동작하는 포트 클록 신호들을 예시하는 예시적인 다이어그램이다.
도 6은 버스 상호접속 클록 신호가 스케일링되는 경우 버스 상호접속 클록 신호에 대해 동기적, 상승-에지 동기적, 및 비동기적 동작에 대한 포트 클록 신호들의 예시적인 구성을 예시하는 흐름도이다.
도 7은 도 1의 버스 상호접속부에서 버스 상호접속 클록 신호 및/또는 포트 클록 신호의 주파수를 스케일링할 수 있는 예시적인 클록 변경 회로의 블록도이다.
도 8은 버스 상호접속 클록 신호 및/또는 포트 클록 신호를 스케일링하는 도 7의 클록 변경 회로의 예시적인 타이밍도이다.
도 9는 버스 상호접속 클록 신호 및/또는 포트 클록 신호를 중지시키는 도 7의 클록 변경 회로의 예시적인 타이밍도이다.
도 10은 여기서 설명된 실시예들에 따라 버스 상호접속부를 사용하는 예시적인 중앙 처리 장치(CPU) 회로 및 관련 시스템의 블록도이다.
도 2는 슬레이브 포트에 접속된 마스터 포트 사이의 도 1의 버스 상호접속부의 통신 경로 셋업에서의 예시적인 회로 서브시스템들의 블록도이다.
도 3a 및 3b는 마스터 포트(들)에 대해 구성된 개별 레이턴시 조건들 및/또는 마스터 포트(들) 및 슬레이브 포트(들)에 대해 구성되는 개별 대역폭 조건들에 기초하여, 도 1의 버스 상호접속부에 대한 버스 상호접속 클록 신호의 주파수 스케일링을 제공하는 예시적인 흐름도를 예시한다.
도 4는 도 1의 버스 상호접속부에 제공되는 제어기에 포함된 예시적인 컴포넌트들의 블록도이다.
도 5는 버스 상호접속 클록 신호와 동기적, 상승-에지 동기적, 및 비동기적으로 동작하는 포트 클록 신호들을 예시하는 예시적인 다이어그램이다.
도 6은 버스 상호접속 클록 신호가 스케일링되는 경우 버스 상호접속 클록 신호에 대해 동기적, 상승-에지 동기적, 및 비동기적 동작에 대한 포트 클록 신호들의 예시적인 구성을 예시하는 흐름도이다.
도 7은 도 1의 버스 상호접속부에서 버스 상호접속 클록 신호 및/또는 포트 클록 신호의 주파수를 스케일링할 수 있는 예시적인 클록 변경 회로의 블록도이다.
도 8은 버스 상호접속 클록 신호 및/또는 포트 클록 신호를 스케일링하는 도 7의 클록 변경 회로의 예시적인 타이밍도이다.
도 9는 버스 상호접속 클록 신호 및/또는 포트 클록 신호를 중지시키는 도 7의 클록 변경 회로의 예시적인 타이밍도이다.
도 10은 여기서 설명된 실시예들에 따라 버스 상호접속부를 사용하는 예시적인 중앙 처리 장치(CPU) 회로 및 관련 시스템의 블록도이다.
이제 도시된 도면들을 참조하여, 본 개시내용의 몇몇 예시적인 실시예들이 설명된다. 용어 "예시적인"은 "예, 경우 또는 예시로서 작용하는" 것을 의미하도록 여기서 사용된다. "예시적인" 것으로서 여기서 설명된 임의의 실시예가 다른 실시예들보다 바람직하거나 유리한 것으로서 해석될 필요는 없다.
상세한 설명에 개시된 실시예들은 버스 상호접속부들을 위한 버스 클록 주파수 스케일링, 및 관련된 디바이스들, 시스템들, 방법들, 및 컴퓨터-판독가능한 매체들을 포함한다. 버스 상호접속부는 각각이 버스 상호접속부의 복수의 마스터 포트들 중 하나의 마스터 포트에 접속되는 하나 이상의 마스터 디바이스들로 하여금 각각이 버스 상호접속부의 슬레이브 포트에 접속된 복수의 슬레이브 디바이스들 중 임의의 것에 통신상으로 접속되게 하도록 구성가능하다. 마스터 포트(들) 및 슬레이브 포트(들)는 상이한 주파수에서 동작하는 슬레이브 디바이스(들)와 통신하기 위해 하나의 주파수에서 동작하는 마스터 디바이스(들)의 상호접속을 용이하게 하기 위해 상이한 주파수들에서 동작하도록 구성가능할 수 있다. 버스 상호접속 클록 신호는 상호접속 네트워크를 클로킹하기 위해 제공된다. 버스 상호접속부에 의해 소모되는 전력을 보존하기 위해, 버스 상호접속 클록 신호의 주파수는 개별 대역폭 및/또는 개별 레이턴시 조건들에 기초하여 스케일링(예를 들어, 증가 또는 감소)될 수 있다. 이러한 방식으로, 버스 상호접속부에 의한 전력 소모가 최적화되는 동시에 버스 상호접속부의 원하는 성능 조건 요건들을 유지할 수 있다.
이와 관련하여 제1 실시예에서, 도 1은 예시적인 버스 상호접속 시스템(10)의 블록도이다. 버스 상호접속 시스템(10)은 버스 상호접속부(12)로 구성된다. 예들로서, 버스 상호접속부(12)는 필드 프로그램가능 게이트 어레이(FPGA), 주문형 집적 회로(ASIC), 제어기, 소프트웨어 명령들을 실행하는 마이크로 제어기 또는 마이크로 프로세서, 또는 이들의 임의의 조합에 의해 제공될 수 있다. 하기에 더 상세하게 설명될 바와 같이, 버스 상호접속부(12)는 각각이 버스 상호접속부(12)에 의해 제공되는 마스터 포트(16(0-M))에 접속되는 하나 이상의 마스터 디바이스들(14(0-M))로 하여금, 각각이 버스 상호접속부(12)에 의해 제공되는 슬레이브 포트(20(0-N))에 접속되는 복수의 슬레이브 디바이스들(18(0-N)) 중 하나 이상에 통신상으로 접속되도록 구성가능하다. 버스 상호접속부(12)는 반도체 다이(21)에 제공될 수 있고, 원하는 경우, 시스템-온-어-칩(SOC) 집적 회로 설계에서 제공될 수 있다. 마스터 디바이스들(14(0-M)) 및 슬레이브 디바이스들(18(0-N))은 임의의 타입의 전자 디바이스 또는 서브시스템일 수 있고, 그 예들은 중앙 처리 장치(CPU), 디지털 신호 프로세서(DSP), 직접 메모리 액세스(DMA) 제어기, 메모리 제어기, 그래픽 프로세서 등을 포함하지만 이에 제한되지 않는다.
통신들은 마스터 포트들(16(0-M))에 커플링되는 마스터 포트 버스들(22(0-M))을 통해 버스 상호접속부(12) 및 마스터 디바이스들(14(0-M)) 사이에서 지원된다. 유사하게, 슬레이브 포트들(20(0-N))에 커플링된 슬레이브 포트 버스들(24(0-N))을 통해 버스 상호접속부(12) 및 슬레이브 디바이스들(18(0-N)) 사이의 통신들이 지원된다. 별도의 마스터 포트 버스들(22(0-M)) 및 슬레이브 포트 버스들(24(0-N))을 제공하는 것은 버스 상호접속부(12)로 하여금 상이한 클록 주파수들에서 동작하는 마스터 디바이스들(14(0-M)) 및 슬레이브 디바이스들(18(0-N))을 상호접속하게 한다. 마스터 디바이스(14(0-M)) 및 특정 슬레이브 디바이스(18(0-N)) 사이의 접속을 구성하기 위해, 버스 상호접속부(12)는 상호접속 네트워크(26)를 포함한다. 도 2에 예시된 바와 같이, 상호접속 네트워크(26)는 바람직한 마스터 디바이스(14(0-M)) 및 바람직한 슬레이브 디바이스(18(0-N))를 커플링시키도록 구성가능한, 예들로서 게이트들, 래치들 및 레지스터들과 같은 클로킹된 회로를 포함한다. 예를 들어, 도 2에 예시된 바와 같이, 하나의 마스터 디바이스(14(0-M)) 및 하나의 슬레이브 디바이스(18(0-N)) 사이의 상호접속 네트워크(26)에서 통신 경로를 제공하도록 구성가능한 버스 상호접속부(12)에서 제공되는 예시적인 컴포넌트들이 예시된다.
도 2를 참조하면, 마스터 포트들(16(0-M)) 각각은 마스터 디바이스들(14(0-M))로부터 통신들을 수신하기 위해 마스터 포트 버스들(22(0-M))에 접속된 마스터 포트 인터페이스들(28(0-M))을 포함한다. 상호접속 네트워크(26)가 마스터 포트 버스들(22(0-M)) 및 슬레이브 포트 버스들(24(0-N)) 모두로부터 상이한 주파수에서 동작할 수 있으므로, 마스터 포트 큐들(30(0-M))은 마스터 포트 큐들(30(0-M)) 및 슬레이브 포트 큐들(34(0-N)) 사이의 통신들을 중재하기 위해 아비터(들)(32)에 제공되는 버스 트랜잭션들 또는 커맨드들을 저장하기 위해 제공될 수 있다. 아비터(32)는 슬레이브 포트들(20(0-N))로부터 오는 판독 데이터 및 기록 완료 응답들을 중재하기 위해 마스터 포트들(16(0-M))과 연관된 데이터(판독/기록) 아비터(38(0-M)) 및 슬레이브 포트들(20(0-N))에 대한 버스 트랜잭션들을 중재하기 위해 슬레이브 포트들(20(0-N))과 연관된 별도의 어드레싱 아비터(36(0-N))를 포함할 수 있다. 슬레이브 포트 큐들(34(0-N))은 슬레이브 포트 버스들(24(0-N))에 접속된 슬레이브 포트 인터페이스들(40(0-N))에 통신들을 제공한다. 도 2가 하나의 마스터 디바이스(14(0-M))에 커플링된 하나의 마스터 포트(16(0-M))와 하나의 슬레이브 디바이스(18(0-N))에 커플링된 하나의 슬레이브 포트(20(0-N)) 사이의 통신 경로를 예시하지만, 버스 상호접속부(12)에서 제공되는 아비터들(36(0-N), 38(0-M))이 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N)) 중 임의의 것 사이의 통신 경로들을 중재하도록 구성될 수 있다는 점에 유의한다.
도 1을 다시 참조하면, 상호접속 네트워크(26)에서의 통신 경로는 바람직한 마스터 디바이스(14(0-M)) 및 슬레이브 디바이스(18(0-N)) 사이의 상호접속을 구성하기 위해 버스 상호접속부(12)에서 제공되는 아비터들(36(0-N), 38(0-M))에 의해 구성가능하다. 상호접속 네트워크(26)에서 클로킹된 회로를 클로킹하기 위해 버스 상호접속 클록 신호(bus_clk)(46)를 생성하도록 구성되는 버스 클록 변경 회로(44)를 포함하는, 클록 제어기일 수 있는 제어기(42)가 제공된다. 제어기(42)는 버스 클록 변경 회로(44)에 커맨드들을 발행함으로써 버스 상호접속 클록 신호(46)의 주파수를 제어한다. 버스 클록 변경 회로(44)는 클록 생성기(50)에 의해 생성된 클록 소스 신호(clk_src)(48)로부터 버스 상호접속 클록 신호(46)를 생성한다. 클록 생성기(50)가 버스 상호접속부(12)로부터 외부에 제공되는 것으로서 도 1에 도시되지만, 클록 생성기(50)는 원하는 경우 버스 상호접속부(12)에 대안적으로 포함될 수 있다. 클록 생성기(50)는 소스 주파수에서 클록 소스 신호(48)를 생성하고, 이는 이후 상호접속 네트워크(26)를 클로킹하기 위해 버스 상호접속 클록 신호(46)를 생성하도록 버스 클록 변경 회로(44)에 의해 제공되거나 분할될 수 있다. 제어기(42)는 버스 상호접속부(12)에 포함되는 것으로서 예시되지만, 제어기(42)는 대안적으로 원하는 경우 버스 상호접속부(12)에 대해 외부에 제공될 수 있다는 점에 유의한다.
버스 상호접속 클록 신호(46)의 주파수를 낮추는 것은 fCV2에 따라 버스 상호접속부(12)의 전력 소모를 감소시킬 수 있고, 여기서 'f'는 주파수이고, 'C'는 커패시턴스이고, 'V'는 전압이다. 커패시턴스 'C'는 클록 버퍼링 트리를 구동하는 회로 및 버스 상호접속부(12)에 대한 클록 버퍼링 트리에 기초한다. 버스 상호접속 클록 신호(46)의 주파수를 낮추는 것은 버스 상호접속부(12)에 의해 수행되는 버스 트랜잭션들의 레이턴시를 증가시키고, 따라서, 버스 상호접속부(12)의 성능을 감소시킬 수 있다. 일부 경우들에서, 버스 상호접속 클록 신호(46)의 주파수를 낮추는 것은 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))의 레이턴시들 및 대역폭들의 수용불가능한 저하(예를 들어, 정의된 조건, 예를 들어, 임계(들)를 초과함에 의한)를 야기하지 않을 것이다. 다른 시간들에서, 버스 상호접속 클록 신호(46)의 주파수의 저하는 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))의 레이턴시들 및 대역폭들의 수용불가능한 저하(예를 들어, 정의된 조건, 예를 들어, 임계(들)를 초과함에 의한)를 야기할 것이다. 추가적인 전력을 불필요하게 소모하는 버스 상호접속부(12)에서 성능 마진을 제공할 수 있는, 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))에 대해 구성되는 개별 대역폭 조건들 및 마스터 포트들(16(0-M))에 대해 구성되는 개별 레이턴시 조건들을 유지하기에 충분한 것보다 더 높은 주파수에서 버스 상호접속 클록 신호(46)의 주파수를 유지하기보다는, 여기서 개시된 실시예들은 버스 상호접속 클록 신호(46)의 주파수를 스케일링한다.
개별 대역폭 조건들에 의해, 버스 상호접속 클록 신호(46)의 스케일링을 결정하기 위해 사용되는 대역폭 조건들이 각각의 마스터 포트(16(0-M)) 및 슬레이브 포트들(20(0-N))에 대해 구성될 수 있다는 점이 의도된다. 비-제한적인 예들로서, 이들 대역폭 조건들은 각각의 마스터 포트(16(0-M)) 및 각각의 슬레이브 포트(20(0-N))에 대해 고유하게 구성되거나, 모든 마스터 포트들(16(0-M))에 대해 동일하게 구성되거나, 모든 슬레이브 포트들(20(0-N))에 대해 동일하게 구성되거나, 또는 모든 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))에 대해 동일하게 구성되거나, 또는 이들의 조합으로서 구성될 수 있다. 유사하게, 개별 레이턴시 조건들에 의해, 버스 상호접속 클록 신호(46)의 스케일링을 결정하기 위해 사용되는 레이턴시 조건들이 각각의 마스터 포트(16(0-M))에 대해 구성될 수 있다는 점이 의도된다. 비-제한적인 예들로서, 레이턴시 조건들은 각각의 마스터 포트(16(0-M))에 대해 고유하게 구성되거나, 또는 모든 마스터 포트들(16(0-M))에 대해 동일하게 구성될 수 있다.
예를 들어, 버스 상호접속부(12)의 성능이 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))의 대역폭 요구들을 초과한다고 결정되는 경우, 버스 상호접속 클록 신호(46)의 주파수는 성능에 영향을 주지 않고 전력을 보존하기 위해 낮아질 수 있다. 버스 상호접속 클록 신호(46)의 주파수가 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))의 대역폭을 바람직한 성능 미만으로 더 낮추는 경우, 버스 상호접속 클록 신호(46)의 주파수는 버스 상호접속부(12)의 성능을 증가시키기 위해 높아질 수 있다.
또한, 마스터 디바이스들(14(0-M))은 버스 상호접속부(12)를 통한 트랜잭션들을 수행하기 위한 최대 레이턴시를 가질 수 있다. 최대 레이턴시는 트랜잭션의 브로드캐스트 및 응답의 수신 사이의 최대 수용가능한 레이턴시이다. 예를 들어, 판독 레이턴시는 판독 요청이 마스터 디바이스(14(0-M))로부터 버스 상호접속부(12)를 통해 슬레이브 디바이스(18(0-N))에 전달될 때 및 판독 응답이 마스터 디바이스(14(0-M))에서 수신될 때 사이의 시간이다. 기록 레이턴시는 기록 요청이 마스터 디바이스(14(0-M))로부터 버스 상호접속부(12)를 통해 슬레이브 디바이스(18(0-N))에 전달될 때 및 데이터가 슬레이브 디바이스(18(0-N))에 기록되고 기록 응답이 마스터 디바이스(14(0-M))에서 수신될 때 사이의 시간이다. 따라서, 특정 실시예들에서, 버스 상호접속부(12)의 성능이 마스터 포트(16(0-M))에 대해 구성되는 최대 레이턴시를 초과하는 것(즉, 레이턴시가 최대 임계 조건보다 더 작음) 및 버스 상호접속부(12)의 성능이 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))의 대역폭 요구들을 초과하는 것이 추가적으로 결정되는 경우, 버스 상호접속 클록 신호(46)의 주파수는 전력을 보존하기 위해 더 낮아질 수 있다. 버스 상호접속 클록 신호(46)의 주파수가 버스 상호접속부(12)로 하여금 마스터 포트들(16(0-M))에 대해 구성되는 개별 최대 레이턴시 조건들을 만족시키지 않게 하는 경우, 버스 상호접속 클록 신호(46)의 주파수는 버스 상호접속부(12)의 성능을 증가시키기 위해 높아질 수 있고, 이에 의해 액세스 레이턴시들이 감소할 수 있다.
이와 관련하여, 도 1 및 2에서 예시된 바와 같이, 마스터 포트 트래픽 모니터 회로들(60(0-M)) 및 슬레이브 포트 트래픽 모니터 회로들(62(0-N))은 개별적으로 각각의 마스터 포트(16(0-M)) 및 슬레이브 포트(20(0-N))에 대해 제공된다. 마스터 포트 트래픽 모니터 회로들(60(0-M)) 및 슬레이브 포트 트래픽 모니터 회로들(62(0-N))은, 각각 마스터 포트 버스들(22(0-M)) 및 슬레이브 포트 버스들(24(0-N)) 상의 통신들을 모니터링함으로써, 각각 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))의 대역폭 또는 트래픽을 모니터링하도록 구성된다. 마스터 포트 트래픽 모니터 회로들(60(0-M))은 또한 마스터 포트들(16(0-M))의 레이턴시를 모니터링하도록 구성된다. 이러한 대역폭 정보는 버스 상호접속 클록 신호(46)의 주파수를 스케일링(예를 들어, 증가 또는 감소)할 시에 사용하기 위해 제어기(42)에 제공된다.
또한 하기에 더욱 상세하게 논의될 바와 같이, 버스 상호접속 클록 신호(46)의 주파수가 스케일링될 수 있다. 예를 들어, 마스터 포트 버스들(22(0-N)) 및 슬레이브 포트 버스들(24(0-N))의 주파수가 변경될 수 있는 경우, 버스 상호접속 클록 신호(46)의 주파수는 전력을 보존하는 동시에 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))의 개별 대역폭 요구들 및 마스터 포트들(16(0-M))에 대해 구성되는 개별 레이턴시 조건들을 유지하기 위해 더 낮아질 수 있다. 이와 관련하여 도 1 및 도 2에서 예시된 바와 같이, 이러한 실시예에서 제어기(42)는 또한 클록 변경 회로들(52(0-M)) 및 클록 변경 회로들(54(0-N))에 클록 소스 신호(48)를 제공한다. 제어기(42)는 마스터 포트 버스들(22(0-M)) 및 슬레이브 포트 버스들(24(0-N)) 각각의 주파수를 변경하기 위해 클록 변경 회로들(52(0-M), 54(0-N)) 각각에 커맨드들을 발행할 수 있다. 도 2에 예시된 바와 같이, 클록 변경 회로들(52(0-M)) 및 클록 변경 회로들(54(0-N))은 각각 마스터 포트 인터페이스(28(0-M)) 및 슬레이브 포트 인터페이스(40(0-N))에 각각 마스터 포트 클록 신호(56(0-M)) 및 슬레이브 포트 클록 신호(58(0-N))를 제공하는 클록 생성기들이다.
도 3a 및 3b는 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))에 대해 구성되는 개별 대역폭 조건들, 및 마스터 포트들(16(0-M))에 대해 구성되는 개별 레이턴시 조건들에 기초하여 도 1의 버스 상호접속부(12)에 대해 버스 상호접속 클록 신호(46)의 주파수 스케일링을 제공하는 예시적인 흐름도를 예시한다. 도 3a 및 3b의 흐름도는 이 실시예에서 제어기(42)에 의해 수행된다. 주파수 스케일링 루프에 진입하기 전에, 이 예에서, 제어기(42)는 마스터 포트(16(0-M)) 및 슬레이브 포트들(20(0-N))에 대한 최대 레이턴시 및 구간 카운터들, 및 헤드룸 대역폭 레지스터들을 구성함으로써 개별 대역폭 및 레이턴시 조건들을 구성한다(도 3a의 블록 70). 제어기(42)는 또한 버스 상호접속부(12)에 대한 주파수 상한(ceiling) 및 주파수 하한(floor)을 구성한다(도 3a의 블록 70). 헤드룸 대역폭 레지스터들은 대역폭 조건으로서 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N)) 상에서 이용가능한 것으로 유지될 필요가 있는 초과 대역폭의 양을 제공한다. 초과 대역폭은 적절하게 주파수들을 조정하도록 대역폭에서의 증가들을 검출하기 위한 헤드룸이 존재하도록 구성될 수 있다.
예를 들어, 헤드룸 대역폭 레지스터는 판독 또는 기록 데이터 트래픽이 임의의 주어진 시간에서 마스터 포트 버스들(22(0-M)) 중 하나 이상 또는 슬레이브 포트 버스들(24(0-N)) 중 하나 이상을 통해 최대 대역폭 임계의 90 퍼센트(90%) 초과 대역폭을 소모하지 않아야 하는 대역폭 조건을 제공할 수 있다. 각각의 마스터 포트(16(0-M))에 대한 개별 최대 레이턴시 조건이 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N)) 사이의 데이터 통신들을 위해 버스 상호접속부(12)에 의해 만족되어야 하는 최대 임계 레이턴시 조건들일 수 있다. 구간 카운터들은 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))의 대역폭, 및 마스터 포트들(16(0-M))의 레이턴시를 모니터링하기 위해 트래픽 모니터링 회로들(60(0-M), 62(0-N))에 의해 사용된다. 주파수 하한 및 주파수 상한은 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))에 대해 구성된 개별 대역폭 조건들 및 마스터 포트들(16(0-M))에 대해 구성된 개별 레이턴시 조건들과는 무관하게, 침해되지 않아야 하는 동작할 버스 상호접속부(12)에 대해 지정된 버스 상호접속 클록 신호(46)의 최소 및 최대 주파수들을 개별적으로 제공한다.
제어기(42)는 트래픽 모니터링 회로들(60(0-M), 62(0-N))을 사용하여 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))의 대역폭들을 모니터링한다(도 3a의 블록 72). 제어기(42)는 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))을 통해 전달되는 트래픽에 관련된 대역폭 정보를 수신한다. 논의된 바와 같이, 하기에서, 대역폭들이 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))에 대해 구성되는 개별 대역폭 조건들을 만족시키지 않는 경우, 버스 상호접속 클록 신호(46)의 주파수가 스케일링될 수 있다. 예를 들어, 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-M))의 대역폭들이 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N)) 모두에 대해 구성되는 헤드룸 대역폭 임계들보다 더 작은 경우(도 3a의 블록 74), 버스 상호접속 클록 신호(46)의 주파수를 낮추는 것이 가능할 수 있다. 제어기(42)가 대역폭들이 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))에 대해 구성되는 헤드룸 대역폭과 동일하다고 결정하는 경우(도 3a의 블록 74), 제어기(42)는 마스터 포트들(16(0-M)) 및/또는 슬레이브 포트들(20(0-N))의 모니터링을 계속하기 위해 리턴할 수 있다(도 3a의 블록 72). 제어기(42)가 대역폭들 중 임의의 것이 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))에 대해 구성되는 헤드룸 대역폭보다 더 크다고 블록(72)에서 결정하는 경우, 도 3a의 블록(86)에 대해 하기에 설명될 바와 같이, 제어기(42)는 버스 상호접속 클록 신호(46)의 주파수를 증가시킬 수 있다. 제어기(42)가 도 3a의 블록(74)에서 대역폭들이 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))에 대해 구성되는 헤드룸 대역폭보다 더 작다고 결정하는 경우, 제어기(42)는 마스터 포트들(16(0-M))의 레이턴시들이 마스터 포트들(16(0-M))에 대해 구성되는, 최대 레이턴시 임계들과 같은 개별 레이턴시 조건을 만족시키는지의 여부를 결정한다(도 3a의 블록 76). 만약 그러하다면, 제어기(42)는 새로운 더 낮은 주파수가 버스 상호접속부(12)에 대해 구성되는 주파수 하한을 초과할 경우 버스 상호접속 클록 신호(46)의 주파수를 더 낮출 수 있을 수 있다. 이와 관련하여, 제어기(42)는 버스 상호접속 클록 신호(46)의 새로운 더 낮은 주파수가 버스 상호접속부(12)에 대해 구성되는 주파수 하한을 초과할 것인지의 여부를 결정한다(도 3b의 블록 78). 그렇지 않은 경우, 제어기(42)는 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))의 대역폭들, 및 마스터 포트들(16(0-M))의 레이턴시들을 모니터링하도록 리턴한다(도 3a의 블록들 72, 74, 76).
버스 상호접속 클록 신호(46)의 새로운 더 낮은 주파수가 버스 상호접속부(12)에 대해 구성되는 주파수 하한보다 더 높을 경우(도 3b의 블록 78), 제어기(42)는 구성된 성능 레벨들을 넘어서 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))의 성능에 영향을 주지 않고 전력 소모를 감소시키기 위해 버스 상호접속 클록 신호(46)의 주파수를 더 낮출 수 있다. 이러한 실시예에서, 제어기(42)는 버스 상호접속 클록 신호(46)의 주파수의 스케일링으로 인해 동기화 모드의 재구성을 요구할, 도 2의 오직 필요한 마스터 및 슬레이브 포트 큐들(30(0-M), 34(0-N))만을 억제한다(도 3b의 블록 80). 하기에 논의된 도 6은 버스 상호접속 클록 신호(46)의 주파수의 스케일링으로 인해 동기화 모드의 재구성의 예를 제공한다. 도 3b를 다시 참조하면, 이들 마스터 포트 큐들(30(0-M)) 및 슬레이브 포트 큐들(34(0-N))은 버스 상호접속 클록 신호(46) 주파수가 더 낮아지고 포트 클록 신호들(56(0-M), 58(0-N))이 이용가능할 때까지 버스 트랜잭션들을 프로세싱하지 않을 것이다(도 3b의 블록 80). 오직 필요한 마스터 및 슬레이브 포트 큐들(30(0-M), 34(0-N))만을 억제하는 것은 다른 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))로 하여금 버스 상호접속 클록 신호(46)의 주파수에서의 변경 동안 버스 트랜잭션들을 계속 수행하게 한다. 제어기(42)는 이후, 가능하다면 버스 상호접속 클록 신호(46)의 주파수가 감소하기 전에(도 3b의 블록 82), 재동기화에서의 변경 이전에 필요한 마스터 및 슬레이브 포트 클록 신호들(56(0-M), 58(0-N))을 중지시킨다(도 3b의 블록 81). 버스 상호접속 클록 신호(46)의 주파수가 감소한 이후, 마스터 및 슬레이브 포트 클록 신호들(56(0-M), 58(0-N))이 재시작하고(블록 83), 마스터 및 슬레이브 포트 큐들(30(0-M), 34(0-N))은 억제되지 않는다(블록 84). 마스터 및 슬레이브 포트 클록 신호들(56(0-M), 58(0-N))을 중지시키는 것은, 필요한 마스터 및 슬레이브 포트 큐들(30(0-M), 34(0-N))이 억제되므로 요구되지 않지만, 재동기화를 위한 재구성 동안 전력 소모를 감소시킬 수 있다. 버스 상호접속 클록 신호(46)의 주파수는 제어기(42)에서 구성되는 증가들에서 더 낮아질 수 있다.
블록들(74 또는 76)에서의 대역폭 조건들 또는 레이턴시 조건들이 버스 상호접속부(12)에서 제공되는 구성들에 따라 침해될 경우, 버스 상호접속 클록 신호(46)의 주파수는 도 3a에 예시된 바와 같이 증가할 필요가 있을 수 있다. 주파수가 증가한 이후 버스 상호접속 클록 신호(46)의 새로운 주파수가 버스 상호접속부(12)에 대해 구성되는 주파수 상한을 초과하지 않을 경우(도 3a의 블록 86), 제어기(42)는 버스 상호접속 클록 신호(46)의 주파수를 증가시킬 수 있다. 이러한 경우, 제어기(42)는 만들어질 버스 상호접속 클록 신호(46)의 주파수의 증가로 인해 재구성을 요구할 도 2의 필요한 마스터 포트 큐들(30(0-M)) 및 슬레이브 포트 큐들(34(0-N))을 억제한다(도 3a의 블록 88). 이와 관련하여, 이들 마스터 포트 큐들(30(0-M)) 및 슬레이브 포트 큐들(34(0-N))은 버스 상호접속 클록 신호(46)의 주파수가 증가하고 포트 클록 신호들(56(0-M), 58(0-N))이 이용가능할 때까지 버스 트랜잭션들을 프로세싱하지 않을 것이다. 또한, 오직 필요한 마스터 및 슬레이브 포트 큐들(30(0-M), 34(0-N))만을 억제하는 것은 다른 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))로 하여금 버스 상호접속 클록 신호(46)의 주파수에서의 변경 동안 버스 트랜잭션들을 계속 수행하게 한다. 제어기(42)는 이후, 가능한 경우, 버스 상호접속 클록 신호(46)의 주파수가 증가하기 전에(도 3b의 블록 90) 필요한 마스터 및 슬레이브 포트 클록 신호들(56(0-M), 58(0-N))을 중지시켜서, 재동기화에서의 변경을 허용한다(도 3b의 블록 89).
제어기(42)는 (순차적으로 또는 병렬로) 버스 상호접속 클록 신호(46)의 주파수를 새로운 더 높은 주파수로 증가시키고(도 3a의 블록 90), 마스터 및 슬레이브 포트 클록 신호들(56(0-M), 58(0-N))이 재시작한다(도 3a의 블록 91). 제어기(42)는 통신들이 새로운 더 높은 주파수에서 버스 상호접속 클록 신호(46)로 시작하게 하기 위해 도 3a의 블록(88)에서 억제된 임의의 마스터 포트 큐들(30(0-M)) 및 슬레이브 포트 큐들(34(0-N))을 억제하지 않는다(도 3a의 블록 92). 제어기(42)는 이후 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))의 대역폭들 및 마스터 포트들(16(0-M))의 레이턴시들을 모니터링하기 위해 리턴한다(도 3a의 블록들 72, 74, 76).
도 4는 버스 상호접속 클록 신호(46)의 주파수의 스케일링을 결정하기 위해 도 1의 버스 상호접속부(12)에 제공되는 제어기(42)에 포함되는 예시적인 컴포넌트들의 블록도이다. 이와 관련하여, 버스 상호접속 클록 신호(46)의 스케일링을 결정하기 위해 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))의 트랜잭션들의 대역폭 및 마스터 포트들(16(0-M))의 레이턴시에 관한 정보를 수신하는 유한 상태 머신(FSM)(93)이 제공된다. FSM(93)은 하드웨어, 소프트웨어, 또는 이들 모두의 조합에서 제공될 수 있다.
도 4를 계속 참조하면, 최대 판독 레이턴시 레지스터(94) 및 최대 기록 레이턴시 레지스터(96)가 버스 상호접속 클록 신호(46)를 스케일링하기 위해 마스터 포트들(16(0-M))에 대해 만족되어야 하는 레이턴시 조건을 구성하기 위해 제공된다. 예를 들어, 레이턴시 조건은 최대 레이턴시 임계일 수 있다. 도 4에 예시된 바와 같은 일 예에서, 판독 헤드룸 대역폭 레지스터(98) 및 기록 헤드룸 대역폭 레지스터(100)는 버스 상호접속 클록 신호(46)를 스케일링하기 위해 마스터 포트들(16(0-M)) 또는 슬레이브 포트들(20(0-N))에 대해 만족되어야 하는 최소 헤드룸 대역폭을 구성하기 위해 제공된다. 판독 트래픽 모니터(102) 및 기록 트래픽 모니터(104)는 또한 마스터 포트들(16(0-M)) 또는 슬레이브 포트들(20(0-N))에 대해 트래픽 모니터 회로들(60(0-M) 또는 62(0-N))로부터 수신된 기록 및 판독 레이턴시 및 대역폭 정보를 결정하기 위해 제공된다. 판독 트래픽 비교기(106) 및 기록 트래픽 비교기(108)는 판독 및 기록 레이턴시들이 각각 최대 판독 및 기록 레이턴시 레지스터들(94, 96) 미만인지의 여부, 및 판독 및 기록 대역폭들이 각각 판독 및 기록 헤드룸 대역폭 레지스터들(98, 100)에 저장된 대역폭들의 제한 내에 있는지(즉, 이보다 더 작거나 같은지)의 여부를 결정하기 위해 제공된다.
도 4를 계속 참조하면, OR 로직(112)으로부터의 출력 신호(110)에 의해 제공될 때, 최대 판독 레이턴시 또는 최대 기록 레이턴시 중 어느 하나가 만족되지 않거나 또는 대역폭들에 대한 헤드룸이 유지되지 않는 경우, FSM(93)은 이 조건을 등록할 것이고, 버스 상호접속 클록 신호(46)의 주파수는 더 낮아지도록 허가되지 않을 것이다. 예들로서, 예를 들어 100 나노초(100 ns)와 같은 절대 시간에 기초하거나, 또는 대안적으로 일 예로서 기준 클록 신호를 사용하는 상대적 타이밍에 기초하는 최대 레이턴시 임계는 레이턴시 조건들로서 최대 판독 레이턴시 레지스터(94) 및 최대 기록 레이턴시 레지스터(96)에 대해 구성될 수 있다. 판독 헤드룸 대역폭 레지스터(98) 및/또는 기록 헤드룸 대역폭 레지스터(100)에서 구성되는 헤드룸 대역폭의 예는 버스 상호접속 클록 신호(46)의 현재 주파수에서 가능한 최대 대역폭의 90 퍼센트(90%)일 수 있다.
여기서 설명되는 실시예들에서 제공될 수 있고 도 5에 대해 더 상세하게 하기에 설명되는 또다른 특징은 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N)) 각각으로 하여금 버스 상호접속 클록 신호(46)로부터 독립적으로 클로킹되게 하는 능력이다. 이러한 방식으로, 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N)) 각각은 마스터 디바이스들(14(0-M))을 상이한 대역폭 요구들을 가질 수 있는 슬레이브 디바이스들(18(0-N))과 상호접속시킬 시의 유연성을 허용하기 위해 동기성 관계에 있어서 버스 상호접속 클록 신호(46)의 주파수와는 상이한 주파수에서 동작할 수 있다. 예를 들어, 도 1에 예시된 바와 같이, 각각의 마스터 포트(16(0-M)) 및 슬레이브 포트(20(0-N))에 대한 별도의 클록 변경 회로들(52(0-M), 54(0-N))을 각각 제공하는 것은 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))의 주파수들이 버스 상호접속 클록 신호(46)의 주파수에 독립적이도록 한다. 따라서, 버스 상호접속 클록 신호(46)의 스케일링은 전력을 보존하고 성능 마진을 감소시키거나 회피하기 위해 원하는 주파수에서 수행되는 동시에, 원하는 경우, 마스터 포트들(16(0-M)) 및 슬레이브 포트(20(0-N))로 하여금 상이한 주파수들에서 계속 동작하게 할 수 있다. 마스터 포트들(16(0-M))과는 상이한 주파수에서 동작하는 버스 상호접속 클록 신호(46)의 예가 도 5에 예시된다. 이 예에서, 버스 상호접속 클록 신호(46)는 100 메가헤르츠(MHz)에서 동작한다. 마스터 포트(16(0))에 대한 마스터 포트 클록 신호(56(0))는 버스 상호접속 클록 신호(46)와 동기적으로 동작하는데, 이는 동작 에지가 동일한 주파수, 또는 이 예에서 100MHz에서 위상 정렬됨을 의미한다. 따라서, 마스터 포트 인터페이스(28(0))는 버스 상호접속 클록 신호(46)와 동기적인 것으로서 구성될 수 있다. 이와 관련하여, 구성된 바와 같은 마스터 포트 인터페이스(28(0))는 트랜잭션들을 수행하기 위해 버스 상호접속 클록 신호(46)를 동기화하기 위해 추가적인 클록 신호들을 유입하지 않는다. 마스터 포트(16(0))에 대한 마스터 포트 인터페이스(28(0))는 동기화를 위해 버스 상호접속 클록 신호(46)의 추가적인 클록 사이클들을 요구하거나 트랜잭션들에 레이턴시를 추가하지 않고, 버스 상호접속 클록 신호(46)와 동기적으로(즉, 동일한 속도로) 트랜잭션들을 수행할 수 있다.
도 5의 예에서 마스터 포트(16(1))에 대한 마스터 포트 클록 신호(56(1))는 버스 상호접속 클록 신호(46)와 상승-에지 동기적으로 동작한다. 상승-에지 동기적이라는 것은 마스터 포트 클록 신호(56(1))의 상승 에지들이 버스 상호접속 클록 신호(46)의 상승에지와 동기적이지만, 버스 상호접속 클록 신호(46)와 동일한 동작 주파수에 있지 않음을 의미한다. 이는 버스 상호접속 클록 신호(46)가 마스터 포트 클록 신호(56(1))의 정수 배/정제(divisible)인 경우 발생한다. 이 예에서, 마스터 포트 클록 신호(56(1))는 버스 상호접속 클록 신호(46)의 속도의 절반인 50 MHz의 주파수에서 동작한다. 레이턴시는 마스터 포트 인터페이스(28(1))가 비동기적인 것에 비해 상승-에지 동기적인 것으로서 구성되는 경우 감소될 수 있다. 그러나, 마스터 포트 인터페이스(28(1))에 의한 트랜잭션 요청 이후 마스터 포트 클록 신호(56(1))의 다음 상승 에지가 버스 상호접속 클록 신호(46)의 다음 상승 에지와 동기적인 경우, 트랜잭션은 추가적인 레이턴시 없이 상호접속 네트워크(26)에서 마스터 포트 인터페이스(28(1))에 대해 수행될 수 있다.
도 5의 예에서 마스터 포트(16(2))에 대한 마스터 포트 클록 신호(56(2))는 버스 상호접속 클록 신호(46)와 비동기적으로 동작하도록 구성된다. 비동기적이라는 것은 버스 상호접속 클록 신호(46)가 마스터 포트 클록 신호(56(2))의 정수배/정제가 아님을 의미한다. 따라서, 마스터 포트 클록 신호(56(2))는 버스 상호접속 클록 신호(46)와 비동기적이다. 예를 들어, 마스터 포트 클록 신호(56(2))는 이 예에서, 30MHz의 주파수에서 동작한다. 비동기적 동작에 대해, 마스터 포트 인터페이스(28(2))에 의한 트랜잭션 요청은 버스 상호접속 클록 신호(46)에 의해 두 배로 동기화되어야 하는데, 이는 상승-에지 동기보다 더 크게 레이턴시를 증가시킬 수 있다.
버스 상호접속 클록 신호(46)의 주파수가 스케일링되는 경우, 마스터 포트 인터페이스들(28(0-M)) 및 슬레이브 포트 인터페이스들(40(0-N))은, 전력 및/또는 성능 관점에서 필요하거나 유리하다면, 상호접속 네트워크(26)와의 인터페이싱을 허용하기 위해 버스 상호접속 클록 신호(46)의 새로운 주파수와 호환가능하도록 재구성된다. 이와 관련하여, 여기서 개시된 실시예들은 제어기(42)로 하여금, 버스 상호접속 클록 신호(46)의 주파수가 레이턴시를 감소시키도록 스케일링되는 경우, 동기적 또는 상승-에지 동기적인 것으로서 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))을 구성하게 한다. 그렇게 구성되는 경우, 마스터 포트 클록 신호들(56(0-M)) 및 슬레이브 포트 클록 신호들(58(0-N))의 주파수들은 원하는 구성들 밖에서 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))의 대역폭 성능에 영향을 주지 않고, 버스 상호접속 클록 신호(46)의 스케일링에 비례하여 스케일링될 수 있다(마약 그것이 가능하다면). 그 결과, 버스 상호접속부(12)에서의 동기화 사이클들은, 버스 상호접속 클록 신호(46)가 스케일링되는 경우 감소하거나 회피될 수 있고, 따라서, 레이턴시가 감소한다. 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))을 동기적 또는 상승-에지 동기적인 것으로서 구성하는 것이 가능하지 않은 경우, 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))은 버스 상호접속 클록 신호(46)에 대해 비동기적인 것으로서 구성될 수 있다.
도 6은 버스 상호접속 클록 신호가 스케일링되는 경우 버스 상호접속 클록 신호에 대한 동기적, 상승-에지 동기적, 및 비동기적 동작을 위한 포트 클록 신호들의 예시적인 구성을 예시하는 흐름도이다. 제어기(42)는, 구성들에 기초하여, 각각의 마스터 포트(16(0-M)) 및 슬레이브 포트(20(0-N))에 대해, 마스터 포트들(16(0-M)) 또는 슬레이브 포트들(20(0-N)) 중 임의의 것을 버스 상호접속 클록 신호(46)의 새로운 주파수와 동기적인 것으로서 구성하는 것이 가능한지를 결정한다(블록 121). 만약 그러하다면, 제어기(42)는 또한, 이러한 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))에 대한 마스터 포트 클록 신호들(56(0-M)) 또는 슬레이브 포트 클록 신호들(58(0-N))에 대해 이루어지도록 요구되는 주파수 변경이, 개별적으로, 이러한 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))의 임의의 개별 대역폭 조건들을 침해할 것인지의 여부를 결정할 수 있다(블록 122). 만약 그렇지 않다면, 제어기(42)는 버스 상호접속 클록 신호(46)의 주파수에서의 변경으로 인해 동기적 동작에 대해 재구성될 수 있는 필요한 마스터 및 슬레이브 포트 큐들(30(0-M), 34(0-N))을 억제한다(블록 124). 이와 관련하여, 이들 마스터 포트 큐들(30(0-M)) 및 슬레이브 포트 큐들(34(0-N))은 이들 필요한 마스터 포트 인터페이스들(28(0-M)) 및 슬레이브 포트 인터페이스들(40(0-N))이 재구성되고(블록 126), 버스 상호접속 클록 신호(46)의 주파수가 변경되고(블록 128), 필요한 마스터 및 슬레이브 포트 큐들(30(0-M), 34(0-N))이 억제되지 않을 때까지(블록 129) 버스 트랜잭션들을 프로세싱하지 않을 것이다.
임의의 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))이 동기적 동작에 대해 구성될 수 있는지의 여부가 결정된 후에, 제어기(42)는 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N)) 중 임의의 것이 버스 상호접속 클록 신호(46)의 새로운 주파수와의 상승-에지 동기적 동작에 대해 구성될 수 있는지의 여부를 결정한다(블록 131). 만약 그러하다면, 제어기(42)는 이러한 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))에 대한 마스터 또는 슬레이브 포트 클록 신호(56(0-M), 58(0-N))에 대해 이루어지도록 요구되는 주파수 변경이 이러한 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))의 임의의 개별 대역폭 조건들을 침해할 지의 여부를 결정한다(블록 132). 만약 그렇지 않다면, 제어기(42)는 버스 상호접속 클록 신호(46)의 주파수에서의 변경으로 인해 상승-에지 동기적 동작에 대해 재구성될 수 있는 필요한 마스터 및 슬레이브 포트 큐들(30(0-M), 34(0-N))을 억제한다(블록 124). 이와 관련하여, 이들 마스터 포트 큐들(30(0-M)) 및 슬레이브 포트 큐들(34(0-N))은 이들 필요한 마스터 포트 인터페이스들(28(0-M)) 및 슬레이브 포트 인터페이스들(40(0-N))이 재구성되고(블록 126), 버스 상호접속 클록 신호(46) 주파수가 변경되고(블록 128), 필요한 마스터 및 슬레이브 포트 큐들(30(0-M), 34(0-N))이 억제될 때까지(블록 129) 버스 트랜잭션들을 프로세싱하지 않을 것이다.
임의의 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))이 동기적 및 상승-에지 동기적 동작에 대해 구성될 수 있는지 여부가 결정된 이후, 제어기(42)는 이러한 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))에 대해 블록들(124-130)을 수행함으로써 비동기적 동작들을 위해 임의의 나머지 마스터 포트 인터페이스들 및 슬레이브 포트 인터페이스들(28(0-M), 40(0-N))을 구성한다(블록 133). 이후, 프로세스는 종료한다(블록 130).
도 6이 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))이 비동기적 동작을 위해 임의의 나머지 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))을 구성하기 전에 직렬 방식으로 동기적 동작 및 상승-에지 동기적 동작에 대해 구성될 수 있는지의 여부를 결정하는 것을 예시하지만, 이러한 프로세싱 순서가 요구되지는 않는다는 점에 유의한다. 예를 들어, 모든 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))은 버스 트래픽이 초기에 모든 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))에 대해 억제되는 경우 비동기적 동작에 대해 초기에 구성될 수 있다. 그 후, 임의의 마스터 포트들(16(0-M)) 및 슬레이브 포트들(20(0-N))이 동기적 및 상승-에지 동기적 동작에 대해 구성될 수 있는지의 여부가 결정될 수 있다.
또한, 또다른 대안으로서, 제어기(42)는 모든 마스터 포트 인터페이스들(28(0-M)) 및 슬레이브 포트 인터페이스들(40(0-N))의 구성을 비동기적 동작으로 변경할 수 있다. 이러한 동작은 동기적 및/또는 상승-에지 동기적 동작을 제공하고 그리고/또는 버스 상호접속 클록 신호(46)의 주파수에서의 변경에 응답하여 마스터 포트 클록 신호들(56(0-M)) 및 슬레이브 포트 클록 신호들(58(0-N))의 주파수를 변경하기 위해 마스터 포트 인터페이스들(28(0-M)) 및 슬레이브 포트 인터페이스들(40(0-N))에서 로직을 제공하는 것이 바람직하지 않은 경우 제어기(42)에 의해 제공될 것이다.
도 7은 예를 들어, 도 6의 블록(128)에 제공된 바와 같이, 포트 클록 신호(56(0-M), 58(0-N))의 주파수를 스케일링하기 위해 사용될 수 있는 예시적인 클록 변경 회로(52(0-M), 54(0-N))의 블록도이다. 클록 변경 회로(52(0-M), 54(0-N))는 또한 원하는 경우, 버스 상호접속 클록 신호(46)를 스케일링하기 위해 제어기(42)에서 사용될 수 있다. 이와 관련하여, 클록 변경 회로들(52(0-M), 54(0-N))은 클록 소스 신호(48) 및 버스 상호접속 클록 신호(46) 모두를 수신하도록 구성된다. 클록 변경 회로들(52(0-M), 54(0-N))은 또다른 클록 신호를 수신할 수 있다. 멀티플렉서(134)는 포트 클록 신호들(56(0-M), 58(0-N))을 제공하기 위해 클록 변경 회로(52(0-M), 54(0-N))에 의해 사용될 이들 클록 신호들 중 하나를 선택할 것이다. 여기서 논의의 목적으로, 멀티플렉서(134)가 버스 상호접속 클록 신호(46)를 선택한다고 가정될 것이다. 버스 상호접속 클록 신호(46)는 포트 클록 신호(56(0-M), 58(0-N))로서 제공될 버스 상호접속 클록 신호(46)를 분할하고 따라서 스케일링하기 위해 클록 분할기(135)에 제공된다. 클록 변경 클록 인에이블 신호(clk_chng_clk_en)(136)가 분기 셀(138)을 인에이블시키기 위해 활성인 경우, 클록 분할기(135)의 출력(clk_div_src)은 포트 클록 신호(56(0-M), 58(0-N))로서 제공된다.
회로 또는 회로 및 소프트웨어의 조합에서 제공될 수 있는 유한 상태 머신(FSM)(140)은 포트 클록 신호(56(0-M), 58(0-N))의 주파수들을 스케일링하기 위해 클록 분할기(135)를 제어한다. FSM(140)은 또한 포트 클록 신호(56(0-M), 58(0-N))가 분기 셀(138)의 출력으로서 제공되도록 하기 위해 클록 변경 클록 인에이블 신호(136)를 제어한다. 예를 들어, 대응하는 마스터 포트(들)(16(0-M)) 및/또는 슬레이브 포트(들)(20(0-N))가 전력을 보존하기 위해 사용중이지 않은 경우, 포트 클록 신호(들)(56(0-M), 58(0-N))를 중지시키는 것이 바람직할 수 있다. 이와 관련하여, FSM(140)은 포트 클록 신호(56(0-M), 58(0-N))를 중지시키기 위해 클록 변경 클록 인에이블 신호(136)를 비활성화시킨다.
포트 클록 신호(56(0-M), 58(0-N))의 주파수를 선택하도록 클록 분할기(135)를 제어하기 위해, FSM(140)은 클록 변경 요청 신호(clk_chng_req)(142), 로컬 상태 머신 클록 신호(sm_clk)(144), 및 클록 변경 커맨드 신호들 상에서 제어기(42)로부터의 클록 변경 커맨드(clk_chng_cmd)(146)를 입력으로서 수신하도록 구성된다. 클록 변경 커맨드 요청은 포트 클록 신호(56(0-M), 58(0-N))가 중지될지 또는 주파수가 증가 혹은 감소할 지의 여부를 표시한다. FSM(140)은 클록 변경 확인응답 신호(clk_chng_ack)(148) 상에서의 이러한 요청의 수신 및 완료의 표시를 제공할 수 있다. 포트 클록 신호(56(0-M), 58(0-N))의 상태는 클록 오프 상태 신호(clk_off_stat)(150)를 통해 FSM(140)에 의해 획득될 수 있다.
FSM(140)이 포트 클록 신호(56(0-M), 58(0-N))의 주파수를 증가시키거나 감소시키기 위해 도 1의 제어기(42)로부터, 클록 변경 요청 신호(clk_chng_req)(142) 및 클록 변경 커맨드 신호들(clk_chng_cmd)(146)을 수신하는 경우, FSM(140)은 포트 클록 신호(56(0-M), 58(0-N))를 생성하기 위해 버스 상호접속 클록 신호(46)의 주파수를 변경하기 위해 클록 분할기(135)를 제어한다. 이러한 실시예에서 FSM(140)은, 각각 주파수 상한 및 주파수 하한 신호들(div_ceiling, div_floor)(152, 154)에 의해 구성된 바와 같이, 새로운 주파수가 주파수 상한을 초과하거나, 또는 주파수 하한 미만이 될 경우, 포트 클록 신호(56(0-M), 58(0-N))의 주파수를 변경시키지 않을 것이다. FSM(140)는 업데이트 신호들(div_update)(156)에 대한 구성에 의해 선택된 단계들에서 포트 클록 신호(56(0-M), 58(0-N))의 주파수를 증분/감소시킬 것이다. 클록 변경 커맨드 요청이 포트 클록 신호(56(0-M), 58(0-N))를 중지시킬 경우, FSM(140)는 클록 변경 클록 인에이블 신호(136)를 비활성화한다.
도 8은 포트 클록 신호(56(0-M), 58(0-N)) 및/또는 버스 상호접속 클록 신호(46)를 스케일링하는 도 7의 클록 변경 회로의 예시적인 타이밍도이다. 여기서 예시된 바와 같이, 클록 변경 요청 신호(clk_chng_req)(142) 및 클록 변경 커맨드 신호(clk_chng_cmd)(146)는 도 7에서 클록 변경 회로(52(0-M), 54(0-N))에 제어기(42)에 의해 어써트된다. 클록 변경 커맨드는 포트 클록 신호(56(0-M), 58(0-N))의 주파수를 감소시키도록(DOWN) FSM(140)에 요청하기 위한 인코딩을 제공한다. 그 응답으로, FSM(140)는 클록 변경 확인응답 신호(clk_chng_ack)(148)를 어써트하고, "정상" 상태로부터 "스케일" 상태로 트랜지션한다. 포트 클록 신호(56(0-M), 58(0-N))의 주파수는 클록 분할기(135)를 제어함으로써 감소한다. 클록 변경 확인응답 신호(clk_chng_ack)(148)는 주파수 변경 요청이 완료될 때까지 어써트된 채 유지된다. 그 후, 클록 변경 요청 신호(clk_chng_req)(142)가 디어써트(deassert)되고, 클록 변경 커맨드 신호(clk_chng_cmd)(146)는 FSM(140)에 대해 "DC(DON'T CARE)"가 된다. 유사하게, FSM(140)가 "안정" 상태로 돌아간 이후, 제어기(42)는 도 8에 예시된 바와 같이, 포트 클록 신호(56(0-M), 58(0-N))의 주파수를 증가(UP)시키도록 클록 변경 회로(52(0-M), 54(0-N))에 명령할 수 있다. 클록 오프 상태 신호(clk_off_stat)(150)는 포트 클록 신호(56(0-M), 58(0-N))가 온임을 표시한다.
도 9는 포트 클록 신호(56(0-M), 58(0-N))를 중지시키는 도 7의 클록 변경 회로의 예시적인 타이밍도이다. 포트 클록 신호(56(0-M), 58(0-N))를 중지시키기 위해, 클록 변경 요청 신호(clk_chng_req)(142) 및 클록 변경 커맨드 신호(clk_chng_cmd)(146)는 도 7의 클록 변경 회로(52(0-M), 54(0-N))에 제어기(42)에 의해 어써트된다. 클록 변경 커맨드 신호(clk_chng_cmd)(146)는 포트 클록 신호(56(0-M), 58(0-N))를 중지(STOP)시키도록 FSM(140)에 요청하기 위한 인코딩을 제공한다. 그 응답으로, FSM(140)는 클록 변경 확인응답 신호(clk_chng_ack)(148)를 어써트하고 "안정" 상태로부터 "스탠바이" 상태로 트랜지션한다. 포트 클록 신호(56(0-M), 58(0-N))는 도 7의 분기 셀(138)에 대해 클록 변경 인에이블 신호(clk_chng_clk_en)(136)를 디어써팅하는 FSM(140)에 의해 중지된다. 클록 변경 확인응답 신호(clk_chng_ack)(148)는 중지 요청이 디어써팅될 때까지 어써팅된 채로 유지된다. 그 후, 클록 변경 요청 신호(clk_chng_req)(142)는 어써트된 채로 유지되고, 클록 변경 커맨드 신호(clk_chng_cmd)(146)는 FSM(140)에 대해 "DC(DON'T CARE)"가 된다. 클록 오프 상태 신호(clk_off_stat)(150)는 포트 클록 신호(56(0-M), 58(0-N))가 중지됨을 표시한다. 포트 클록 신호(56(0-M), 58(0-N))는 클록 변경 요청 신호(clk_chng_req)(142)가 디어써팅된 이후 재시작될 수 있고, 이에 의해 FSM(140)이 "대기" 상태로부터 트랜지션하고, 이후 클록 변경 확인응답 신호(clk_chng_ack)(148)를 디어써팅하고, 새로운 커맨드를 대기하기 위해 "안정" 상태로 트랜지션한다.
여기서 논의된 버스 상호접속 클록 주파수 스케일링을 지원하는 버스 상호접속부 및 관련 디바이스들, 시스템들, 및 방법들 및 컴퓨터-판독가능한 매체들이, 동기적 디지털 회로, CPU 시스템, 및 메모리 회로 또는 시스템을 포함하지만 이에 제한되지 않는 임의의 회로 또는 시스템에서 사용될 수 있다. 메모리 회로 또는 시스템은 임의의 타입의 메모리일 수 있다. 예들은, 제한 없이, 정적 랜덤 액세스 메모리(RAM)(SRAM), 동적 RAM(DRAM), 동기적 DRAM(SDRAM), 데이터-더블-레이트(DDR) SDRAM, 데이터-더블-레이트-2(DDR2) SDRAM, 데이터-더블-레이트-3(DDR3) SDRAM, 모바일 DDR(MDDR) SDRAM, 저전력(LP) DDR SDRAM, 및 LP DDR2 SDRAM을 포함한다. 이들 형태들의 메모리는 또한 여기서 논의된 바와 같은 클로킹된 저장 엘리먼트들에 대한 모델 출력 지연을 결정할 수 있는 소프트웨어 명령들을 포함하는 컴퓨터-판독가능한 매체들일 수 있다.
여기서 논의된 버스 상호접속 클록 주파수 스케일링을 지원하는 버스 상호접속부 및 관련 디바이스들, 시스템들, 및 방법들 및 컴퓨터-판독가능한 매체들은, 전자 디바이스 및/또는 프로세서-기반 디바이스 또는 시스템을 포함하는, 반도체 다이, 집적 회로, 및/또는 디바이스에 포함되거나 집적될 수 있다. 이와 관련하여, 이러한 디바이스들의 예들은, 제한 없이, 셋톱 박스, 엔터테인먼트 유닛, 내비게이션 디바이스, 통신 디바이스, 개인용 디지털 정보 단말(PDA), 고정식 위치 데이터 유닛, 이동식 위치 데이터 유닛, 모바일 폰, 셀룰러 폰, 컴퓨터, 휴대용 컴퓨터, 데스크톱 컴퓨터, 모니터, 컴퓨터 모니터, 텔레비젼, 튜너, 라디오, 위성 라디오, 음악 플레이어, 디지털 음악 플레이어, 휴대용 음악 플레이어, 비디오 플레이어, 디지털 비디오 플레이어, 디지털 비디오 디스크(DVD) 플레이어, 및 휴대용 디지털 비디오 플레이어를 포함한다.
이와 관련하여, 도 10은 여기서 개시된 버스 상호접속부를 포함할 수 있는 전자 디바이스에 포함될 수 있는 프로세서-기반 시스템(160)을 예시한다. 프로세서-기반 시스템(160)은 타이밍 모델을 사용하여 모델링되고, 여기서 제공된 출력 지연 결정 실시예들을 모델링할 수 있는 클로킹된 저장 엘리먼트들을 포함한다. 또한, 프로세서-기반 시스템(160)은 타이밍 모델링을 수행하고, 다른 회로들에 대한 출력 지연 결정들을 모델링하는 소프트웨어 명령들을 실행할 수 있다. 소프트웨어 명령들은 컴퓨터-판독가능한 매체에 제공될 수 있다. 프로세서-기반 시스템(160)은 위에서 이전에 참조된 것들 중 임의의 것을 포함하는, 전자 디바이스(162)에 포함될 수 있다. 이 예에서, 프로세서-기반 시스템(160)은 프로세서(166) 및 집적 캐시 시스템(168)을 포함하는 CPU(164)를 포함한다. 캐시 시스템(168)은 빈번하게 액세스되는 데이터에 대한 임시 저장소에 대한 고속 액세스를 위해 프로세서(166)에 대해 액세스 가능한 캐시 메모리(172)에 대한 액세스를 제어하는 캐시 관리 유닛(170)을 포함한다. CPU(164)는, 프로세서-기반 시스템(160)에 포함되는 다른 디바이스들을 상호접속시키는 시스템 버스(174)에 커플링된다. 널리 공지된 바와 같이, CPU(164)는 시스템 버스(174)를 통해 어드레스, 제어 및 데이터 정보를 교환함으로써 이들 다른 디바이스들과 통신한다. 이들 디바이스들은 임의의 타입들의 디바이스들을 포함할 수 있다. 도 10에 예시된 바와 같이, 이들 디바이스들은 예들로서, 시스템 메모리(176), 하나 이상의 입력 디바이스들(178), 하나 이상의 출력 디바이스들(180), 네트워크 인터페이스 디바이스(182), 및 디스플레이 제어기(184)를 포함할 수 있다. 시스템 메모리(176)는 컴퓨터-판독가능한 매체의 일 예이다.
하나 이상의 입력 디바이스들(178)은 입력 키들, 스위치들, 음성 프로세서들, 메모리 드라이브들, 디스크들, 컴팩트 디스크(CD), 디지털 비디오 디스크(DVD) 등을 포함하지만 이에 제한되지 않는 임의의 타입의 입력 디바이스를 포함할 수 있다. 이들 입력 디바이스들(178)은 또한 소프트웨어 명령들을 포함하는 컴퓨터-판독가능한 매체들일 수 있다. 하나 이상의 출력 디바이스들(180)은 오디오, 비디오, 다른 시각적 표시자들 등을 포함하지만 이에 제한되지 않는 임의의 타입의 출력 디바이스를 포함할 수 있다. 네트워크 인터페이스 디바이스(182)는 안테나(187)를 통해 무선으로 또는 유선 접속을 통해 네트워크(186)에 그리고 네트워크(186)로부터 데이터의 교환을 허용하도록 구성되는 임의의 디바이스일 수 있다. 네트워크(186)는 유선 또는 무선 네트워크, 개인 또는 공공 네트워크, 로컬 영역 네트워크(LAN), 광역 로컬 영역 네트워크(WLAN), 인터넷, 제3 세대(3G) 네트워크, 및 제4 세대(4G) 네트워크의 예들을 포함하지만 이에 제한되지 않는 임의의 타입의 네트워크일 수 있다. 네트워크 인터페이스 디바이스(182)는 요구되는 임의의 타입의 통신 프로토콜을 지원할 수 있다.
CPU(164)는 또한 시스템 버스(174)를 통해 시스템 메모리(176)에 액세스할 수 있다. 시스템 메모리(176)는 시스템 메모리(176)에 액세스하기 위해 이전에 위에서 설명된 회로들 및 방법들을 포함할 수 있다. 시스템 메모리(176)는 정적 메모리 및/또는 동적 메모리를 포함할 수 있다. 시스템 메모리(176)는 CPU(164)에 대한 프로그램 저장소(188) 및 데이터 저장소(190)를 포함할 수 있다. CPU(164)는 또한, 디스플레이(192)에 송신된 정보를 제어하기 위해 시스템 버스(174)를 통해 디스플레이 제어기(184)에 액세스할 수 있다. 디스플레이 제어기(184)는 CPU(164)와의 통신들에 응답하여 디스플레이(192)에 송신될 데이터를 저장하기 위한 메모리(196) 및 메모리 제어기(194)를 포함할 수 있다. 디스플레이 제어기(184)는, 디스플레이(192)에 적합한 포맷으로 디스플레이되도록 정보를 프로세싱하는 비디오 프로세서(198)를 통해 디스플레이되도록 디스플레이(192)에 정보를 송신한다. 디스플레이(192)는 음극선관(CRT), 액정 디스플레이(LCD), 플라즈마 디스플레이 등을 포함하지만 이에 제한되지 않는 임의의 타입의 디스플레이를 포함할 수 있다.
당업자는 여기서 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들 및 알고리즘들이 전자 하드웨어, 메모리 또는 또다른 컴퓨터-판독가능한 매체에 저장되고 프로세서 또는 다른 프로세싱 디바이스에 의해 실행되는 명령들, 또는 이들 둘의 조합으로서 구현될 수 있다는 점을 추가로 이해할 것이다. 이러한 상호교환가능성을 명백하게 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능성의 견지에서 일반적으로 전술되었다. 이러한 기능성이 구현되는 방법은 전체 시스템에 부과된 특정 애플리케이션, 설계 선택들, 및/또는 설계 제약들에 의존한다. 당업자는 각각의 특정 애플리케이션에 대해 가변적 방식들로 설명된 기능성을 구현할 수 있지만, 이러한 구현 결정들은 본 발명의 범위로부터의 이탈을 야기하는 것으로서 해석되지 않아야 한다.
여기서 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들 및 회로들은 프로세서, DSP, 주문형 집적 회로(ASIC), 필드-프로그램가능 게이트 어레이(FPGA) 또는 다른 프로그램가능 논리 디바이스, 이산 게이트 또는 트랜지스터 논리, 이산 하드웨어 컴포넌트들, 또는 여기서 설명된 기능들을 수행하기 위해 설계된 이들의 임의의 조합을 이용하여 구현되거나 수행될 수 있다. 프로세서는 마이크로프로세서일 수 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합, 예를 들어, DSP 및 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 공조하는 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성으로서 구현될 수 있다.
여기서 개시된 실시예들은 하드웨어로 그리고 메모리에 저장된 명령들로 구현될 수 있고, 예를 들어, 랜덤 액세스 메모리(RAM), 플래시 메모리, 판독 전용 메모리(ROM), 전기적 프로그램가능 ROM (EPROM), 전기적 소거가능 프로그램가능 ROM (EEPROM), 레지스터들, 하드 디스크, 제거가능 디스크, CD-ROM, 또는 당해 기술분야에 공지된 임의의 다른 형태의 컴퓨터 판독가능한 매체에 상주할 수 있다. 예시적인 저장 매체는 프로세서가 저장 매체로부터 정보를 판독하고 저장 매체에 정보를 기록할 수 있도록 프로세서에 커플링된다. 대안적으로, 저장 매체는 프로세서에 통합될 수 있다. 프로세서 및 저장 매체는 ASIC에 상주할 수 있다. ASIC은 원격국에 상주할 수 있다. 대안적으로, 프로세서 및 저장 매체는 원격국, 기지국 또는 서버 내에 이산 컴포넌트들로서 상주할 수 있다. "신호들"로서 여기서 참조되는 임의의 엘리먼트들은 또한 회로 라인들, 트레이스들, 또는 다른 통신 라인들일 수 있고, 회로 라인들 또는 트레이스들, 또는 다른 통신 라인들 상에 제공될 수 있다.
또한, 여기서 예시적인 실시예들 중 임의의 것에 설명된 동작 단계들이 예들 및 논의를 제공하기 위해 설명된다는 점에 유의한다. 설명된 동작들은 예시된 순서가 아닌 다수의 상이한 순서들로 수행될 수 있다. 또한, 단일 동작 단계에서 설명된 동작들은 실제로 다수의 상이한 단계들에서 수행될 수 있다. 추가적으로, 예시적인 실시예들에서 논의된 하나 이상의 동작 단계들이 결합될 수 있다. 당업자에게 자명할 바와 같이, 흐름도에서 예시된 동작 단계들에 다수의 상이한 수정들이 이루어질 수 있다는 점이 이해되어야 한다. 당업자는 또한 정보 및 신호들이 다양한 상이한 기술들 및 기법들 중 임의의 것을 사용하여 표현될 수 있다는 점을 이해할 것이다. 예를 들어, 위 설명 전반에 걸쳐 참조될 수 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들 및 칩들이 전압들, 전류들, 전자기파들, 자기장들 또는 자기 입자들, 광학장들 또는 광학 입자들, 또는 이들의 임의의 조합에 의해 표현될 수 있다.
본 개시내용의 이전 설명은 임의의 당업자가 본 개시내용을 제작하거나 사용할 수 있도록 제공된다. 본 개시내용에 대한 다양한 수정들이 당업자에게 쉽게 자명할 것이며, 여기서 정의된 포괄적 원리들은 본 개시내용의 사상 또는 범위로부터의 이탈 없이 다른 변형예들에 적용될 수 있다. 따라서, 본 개시내용은 여기서 설명된 예들 및 설계들에 제한되도록 의도되는 것이 아니라, 여기서 개시된 원리들 및 신규한 특징들에 부합하는 가장 넓은 범위에 따라야 한다.
Claims (72)
- 버스 상호접속부(bus interconnect)로서,
적어도 하나의 슬레이브 포트에 복수의 마스터 포트들 중 적어도 하나의 마스터 포트를 접속시키도록 구성가능한 상호접속 네트워크;
상기 상호접속 네트워크를 클로킹(clock)하기 위해 버스 상호접속 클록 신호를 생성하도록 구성되는 제어기;
상기 적어도 하나의 마스터 포트를 클로킹하기 위해 적어도 하나의 마스터 포트 클록 신호를 생성하도록 구성되는 적어도 하나의 마스터 포트 클록 생성기; 및
상기 적어도 하나의 슬레이브 포트를 클로킹하기 위해 적어도 하나의 슬레이브 포트 클록 신호를 생성하도록 구성되는 적어도 하나의 슬레이브 포트 클록 생성기
를 포함하고, 상기 제어기는:
상기 적어도 하나의 마스터 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 제1 대역폭 정보를 수신하고;
상기 적어도 하나의 슬레이브 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 제2 대역폭 정보를 수신하고; 그리고
(a) 상기 적어도 하나의 제1 대역폭 정보가 개별적인 적어도 하나의 제1 대역폭 조건을 만족시키는 것; 및
(b) 상기 적어도 하나의 제2 대역폭 정보가 개별적인 적어도 하나의 제2 대역폭 조건을 만족시키는 것
중 적어도 하나에 응답하여 상기 버스 상호접속 클록 신호의 주파수를 스케일링하도록 구성되는, 버스 상호접속부. - 제1항에 있어서,
상기 제어기는 상기 적어도 하나의 제1 대역폭 정보가 상기 개별적인 적어도 하나의 제1 대역폭 조건을 만족시키는 것 및 상기 적어도 하나의 제2 대역폭 정보가 상기 개별적인 적어도 하나의 제2 대역폭 조건을 만족하는 것에 응답하여 상기 버스 상호접속 클록 신호의 주파수를 감소시키도록 구성되는, 버스 상호접속부. - 제2항에 있어서,
상기 제어기는 상기 적어도 하나의 제1 대역폭 정보가 적어도 하나의 제1 헤드룸 대역폭 임계보다 더 작은 것, 및 상기 적어도 하나의 제2 대역폭 정보가 적어도 하나의 제2 헤드룸 대역폭 임계보다 더 작은 것에 응답하여 상기 버스 상호접속 클록 신호의 주파수를 감소시키는 것에 의해 상기 버스 상호접속 클록 신호의 주파수를 스케일링하도록 구성되는, 버스 상호접속부. - 제2항에 있어서,
상기 제어기는 복수의 마스터 포트들 모두에 대한 상기 적어도 하나의 제1 대역폭 정보가 상기 개별적인 적어도 하나의 제1 대역폭 조건을 만족시키는 것, 및 상기 복수의 슬레이브 포트들 모두에 대한 상기 적어도 하나의 제2 대역폭 정보가 상기 개별적인 적어도 하나의 제2 대역폭 조건을 만족시키는 것에 응답하여 상기 버스 상호접속 클록 신호의 주파수를 감소시키는 것에 의해 상기 버스 상호접속 클록 신호의 주파수를 스케일링하도록 추가로 구성되는, 버스 상호접속부. - 제1항에 있어서,
상기 제어기는 상기 적어도 하나의 제1 대역폭 정보가 상기 개별적인 적어도 하나의 제1 대역폭 조건을 만족시키지 않는 것 또는 상기 적어도 하나의 제2 대역폭 정보가 상기 개별적인 적어도 하나의 제2 대역폭 조건을 만족시키지 않는 것에 응답하여 상기 버스 상호접속 클록 신호의 주파수를 증가시키는 것에 의해 상기 버스 상호접속 클록 신호의 주파수를 스케일링하도록 구성되는, 버스 상호접속부. - 제5항에 있어서,
상기 제어기는 상기 개별적인 적어도 하나의 제1 대역폭 정보가 개별적인 적어도 하나의 제1 헤드룸 대역폭 임계보다 더 큰 것, 또는 상기 개별적인 적어도 하나의 제2 대역폭 정보가 개별적인 적어도 하나의 제2 헤드룸 대역폭보다 더 큰 것에 응답하여 상기 버스 상호접속 클록 신호의 주파수를 증가시키는 것에 의해 상기 버스 상호접속 클록 신호의 주파수를 스케일링하도록 구성되는, 버스 상호접속부. - 제1항에 있어서,
상기 개별적인 적어도 하나의 제1 대역폭 조건은 개별 제1 판독 헤드룸 대역폭 조건 및 개별 제1 기록 헤드룸 대역폭 조건으로 구성되는, 버스 상호접속부. - 제1항에 있어서,
상기 제어기는:
상기 적어도 하나의 마스터 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 레이턴시 정보를 수신하고; 그리고
상기 레이턴시 정보 중 적어도 하나가 개별 레이턴시 조건을 만족시키는 것에 추가적으로 응답하여 상기 버스 상호접속 클록 신호의 주파수를 스케일링하도록 추가로 구성되는, 버스 상호접속부. - 제8항에 있어서,
상기 제어기는 상기 적어도 하나의 레이턴시 정보가 상기 개별 레이턴시 조건을 만족시키는 것에 추가적으로 응답하여 상기 버스 상호접속 클록 신호의 주파수를 감소시키는 것에 의해 상기 버스 상호접속 클록 신호의 주파수를 스케일링하도록 구성되는, 버스 상호접속부. - 제9항에 있어서,
상기 제어기는 상기 개별적인 적어도 하나의 레이턴시 정보가 개별적인 적어도 하나의 최대 레이턴시 임계보다 더 작은 것에 추가적으로 응답하여 상기 버스 상호접속 클록 신호의 주파수를 감소시키는 것에 의해 상기 버스 상호접속 클록 신호의 주파수를 스케일링(scale)하도록 구성되는, 버스 상호접속부. - 제9항에 있어서,
상기 제어기는 상기 복수의 마스터 포트들 모두에 대한 상기 적어도 하나의 레이턴시 정보가 상기 개별 레이턴시 조건을 만족시키는 것에 추가적으로 응답하여 상기 버스 상호접속 클록 신호의 주파수를 감소시키는 것에 의해 상기 버스 상호접속 클록 신호의 주파수를 스케일링하도록 구성되는, 버스 상호접속부. - 제8항에 있어서,
상기 개별 레이턴시 조건은 최대 판독 레이턴시 임계 및 최대 기록 레이턴시 임계로 구성되는, 버스 상호접속부. - 삭제
- 제1항에 있어서,
상기 제어기는 상기 적어도 하나의 마스터 포트 클록 신호 및 상기 적어도 하나의 슬레이브 포트 클록 신호 중 하나 이상이 상기 버스 상호접속 클록 신호와 동기적이게 구성하도록 추가로 구성되는, 버스 상호접속부. - 제1항에 있어서,
상기 제어기는 상기 적어도 하나의 마스터 포트 클록 신호 및 상기 적어도 하나의 슬레이브 포트 클록 신호 중 하나 이상이 상기 버스 상호접속 클록 신호와 상승-에지 동기적이게 구성하도록 추가로 구성되는, 버스 상호접속부. - 제1항에 있어서,
상기 제어기는 상기 적어도 하나의 마스터 포트 클록 신호 및 상기 적어도 하나의 슬레이브 포트 클록 신호 중 하나 이상이 상기 버스 상호접속 클록 신호와 비동기적이게 구성하도록 추가로 구성되는, 버스 상호접속부. - 제1항에 있어서,
상기 적어도 하나의 마스터 포트 클록 생성기 및 상기 적어도 하나의 슬레이브 포트 클록 생성기 중 적어도 하나는 제어기인, 버스 상호접속부. - 제1항에 있어서,
상기 적어도 하나의 마스터 포트 클록 신호 및 상기 적어도 하나의 슬레이브 포트 클록 신호는 상기 버스 상호접속 클록 신호로부터 생성되는, 버스 상호접속부. - 제1항에 있어서,
상기 제어기는 상기 버스 상호접속 클록 신호의 주파수가 스케일링되기 전에 재구성될 상기 적어도 하나의 마스터 포트 및 상기 적어도 하나의 슬레이브 포트 중 하나 이상에 대한 상기 적어도 하나의 마스터 포트 클록 생성기 및 상기 적어도 하나의 슬레이브 포트 클록 생성기 중 하나 이상을 중지시키도록 추가로 구성되는, 버스 상호접속부. - 제1항에 있어서,
적어도 하나의 반도체 다이에 집적되는, 버스 상호접속부. - 제1항에 있어서,
내부에 상기 버스 상호접속부가 집적되는, 셋톱 박스, 엔터테인먼트 유닛, 내비게이션 디바이스, 통신 디바이스, 개인 디지털 정보 단말(PDA), 고정 위치 데이터 유닛, 모바일 위치 데이터 유닛, 모바일 폰, 셀룰러 폰, 컴퓨터, 휴대용 컴퓨터, 데스크톱 컴퓨터, 모니터, 컴퓨터 모니터, 텔레비젼, 튜너, 라디오, 위성 라디오, 음악 플레이어, 디지털 음악 플레이어, 휴대용 음악 플레이어, 비디오 플레이어, 디지털 비디오 플레이어, 디지털 비디오 디스크(DVD) 플레이어, 및 휴대용 디지털 비디오 플레이어로 구성된 그룹으로부터 선택된 디바이스를 더 포함하는, 버스 상호접속부. - 버스 상호접속부로서,
적어도 하나의 슬레이브 포트에 복수의 마스터 포트들 중 적어도 하나의 마스터 포트를 접속시키도록 구성가능한 상호접속 네트워크; 및
상기 상호접속 네트워크를 클로킹하기 위해 버스 상호접속 클록 신호를 생성하도록 구성되는 제어기
를 포함하고, 상기 제어기는:
상기 적어도 하나의 마스터 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 제1 대역폭 정보를 수신하고;
상기 적어도 하나의 슬레이브 포트를 통해 전송되는 트래픽에 관련된 적어도 하나의 제2 대역폭 정보를 수신하고;
상기 적어도 하나의 마스터 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 레이턴시 정보를 수신하고; 그리고
(a) 상기 적어도 하나의 제1 대역폭 정보가 개별적인 적어도 하나의 제1 대역폭 조건을 만족시키지 않는 것; 및
(b) 상기 적어도 하나의 제2 대역폭 정보가 개별적인 적어도 하나의 제2 대역폭 조건을 만족시키지 않는 것; 및
(c) 상기 적어도 하나의 레이턴시 정보가 개별 레이턴시 조건을 만족시키는 것
에 응답하여 상기 버스 상호접속 클록 신호의 주파수를 증가시키도록 구성되는, 버스 상호접속부. - 제22항에 있어서,
상기 적어도 하나의 제1 대역폭 정보는 적어도 하나의 제1 헤드룸 대역폭 임계로 구성되고, 상기 적어도 하나의 제2 대역폭 정보는 적어도 하나의 제2 헤드룸 대역폭 임계로 구성되는, 버스 상호접속부. - 제22항에 있어서,
상기 적어도 하나의 레이턴시 정보는 적어도 하나의 최대 레이턴시 임계로 구성되는, 버스 상호접속부. - 버스 상호접속부로서,
적어도 하나의 슬레이브 포트에 복수의 마스터 포트들 중 적어도 하나의 마스터 포트를 접속시키도록 구성가능한 상호접속 네트워크; 및
상기 상호접속 네트워크를 클로킹하기 위해 버스 상호접속 클록 신호를 생성하도록 구성된 제어기를 포함하고, 상기 제어기는:
상기 적어도 하나의 마스터 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 제1 대역폭 정보를 수신하고;
상기 적어도 하나의 슬레이브 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 제2 대역폭 정보를 수신하고;
상기 적어도 하나의 마스터 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 레이턴시 정보를 수신하고; 그리고
(a) 상기 적어도 하나의 제1 대역폭 정보가 개별적인 적어도 하나의 제1 대역폭 조건을 만족시키지 않는 것; 및
(b) 상기 적어도 하나의 제2 대역폭 정보가 개별적인 적어도 하나의 제2 대역폭 조건을 만족시키지 않는 것; 및
(c) 상기 적어도 하나의 레이턴시 정보가 개별 레이턴시 조건을 만족시키는 것
에 응답하여 상기 버스 상호접속 클록 신호의 주파수를 감소시키도록 구성되는, 버스 상호접속부. - 제25항에 있어서,
상기 적어도 하나의 제1 대역폭 정보는 적어도 하나의 제1 헤드룸 대역폭 임계로 구성되고, 상기 적어도 하나의 제2 대역폭 정보는 적어도 하나의 제2 헤드룸 대역폭 임계로 구성되는, 버스 상호접속부. - 제26항에 있어서,
상기 적어도 하나의 레이턴시 정보는 적어도 하나의 최대 레이턴시 임계로 구성되는, 버스 상호접속부. - 버스 상호접속부로서,
적어도 하나의 슬레이브 포트에 복수의 마스터 포트들 중 적어도 하나의 마스터 포트를 접속시키기 위한 상호접속 네트워크 수단;
상기 적어도 하나의 마스터 포트를 클로킹하기 위해 적어도 하나의 마스터 포트 클록 신호를 생성하기 위한 적어도 하나의 마스터 포트 클록 생성기 수단;
상기 적어도 하나의 슬레이브 포트를 클로킹하기 위해 적어도 하나의 슬레이브 포트 클록 신호를 생성하기 위한 적어도 하나의 슬레이브 포트 클록 생성기 수단; 및
상기 적어도 하나의 마스터 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 제1 대역폭 정보를 수신하고;
상기 적어도 하나의 슬레이브 포트를 통해 전송되는 트래픽에 관련된 적어도 하나의 제2 대역폭 정보를 수신하고; 그리고
(a) 상기 적어도 하나의 제1 대역폭 정보가 개별적인 적어도 하나의 제1 대역폭 조건을 만족시키는 것; 및
(b) 상기 적어도 하나의 제2 대역폭 정보가 개별적인 적어도 하나의 제2 대역폭 조건을 만족시키는 것
중 적어도 하나에 응답하여 버스 상호접속 클록 신호의 주파수를 스케일링함으로써 상호접속 네트워크를 클로킹하기 위해 상기 버스 상호접속 클록 신호를 생성하기 위한 제어기 수단을 포함하는, 버스 상호접속부. - 버스 상호접속부를 위한 버스 상호접속 클록 신호를 스케일링하는 방법으로서,
상호접속 네트워크를 클로킹하기 위해 버스 상호접속 클록 신호를 생성하는 단계;
복수의 마스터 포트들 중 적어도 하나의 마스터 포트를 클로킹하기 위해 적어도 하나의 마스터 포트 클록 신호를 생성하는 단계;
적어도 하나의 슬레이브 포트를 클로킹하기 위해 적어도 하나의 슬레이브 포트 클록 신호를 생성하는 단계;
상기 적어도 하나의 슬레이브 포트에 상기 적어도 하나의 마스터 포트를 접속시키도록 구성되는 상기 상호접속 네트워크에 접속되는 상기 적어도 하나의 마스터 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 제1 대역폭 정보를 수신하는 단계;
상기 적어도 하나의 슬레이브 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 제2 대역폭 정보를 수신하는 단계; 및
(a) 상기 적어도 하나의 제1 대역폭 정보가 개별적인 적어도 하나의 제1 대역폭 조건을 만족시키는 것; 및
(b) 상기 적어도 하나의 제2 대역폭 정보가 개별적인 적어도 하나의 제2 대역폭 조건을 만족시키는 것
중 적어도 하나에 응답하여 상기 상호접속 네트워크를 클로킹하는 상기 버스 상호접속 클록 신호의 주파수를 스케일링하는 단계를 포함하는, 버스 상호접속 클록 신호를 스케일링하는 방법. - 제29항에 있어서,
상기 버스 상호접속 클록 신호의 주파수를 스케일링하는 단계는 상기 적어도 하나의 제1 대역폭 정보가 상기 개별적인 적어도 하나의 제1 대역폭 조건을 만족시키는 것 및 상기 적어도 하나의 제2 대역폭 정보가 상기 개별적인 적어도 하나의 제2 대역폭 조건을 만족시키는 것에 응답하여 상기 버스 상호접속 클록 신호의 주파수를 감소시키는 단계를 포함하는, 버스 상호접속 클록 신호를 스케일링하는 방법. - 제30항에 있어서,
상기 버스 상호접속 클록 신호의 주파수를 스케일링하는 단계는, 상기 복수의 마스터 포트들 모두에 대한 적어도 하나의 제1 대역폭 정보가 상기 개별적인 적어도 하나의 제1 대역폭 조건을 만족시키는 것, 및 상기 복수의 슬레이브 포트들 모두에 대한 상기 적어도 하나의 제2 대역폭 정보가 상기 개별적인 적어도 하나의 제2 대역폭 조건을 만족시키는 것에 응답하여 상기 버스 상호접속 클록 신호의 주파수를 감소시키는 단계를 포함하는, 버스 상호접속 클록 신호를 스케일링하는 방법. - 제29항에 있어서,
상기 버스 상호접속 클록 신호의 주파수를 스케일링하는 단계는 상기 적어도 하나의 제1 대역폭 정보가 상기 개별적인 적어도 하나의 제1 대역폭 조건을 만족시키지 않는 것 또는 적어도 하나의 제2 대역폭 정보가 상기 개별적인 적어도 하나의 제2 대역폭 조건을 만족시키지 않는 것에 응답하여 상기 버스 상호접속 클록 신호의 주파수를 증가시키는 단계를 포함하는, 버스 상호접속 클록 신호를 스케일링하는 방법. - 제29항에 있어서,
상기 적어도 하나의 마스터 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 레이턴시 정보를 수신하는 단계; 및
상기 적어도 하나의 레이턴시 정보가 개별 레이턴시 조건을 만족시키는 것에 추가적으로 응답하여 상기 버스 상호접속 클록 신호의 주파수를 스케일링하는 단계를 더 포함하는, 버스 상호접속 클록 신호를 스케일링하는 방법. - 제33항에 있어서,
상기 버스 상호접속 클록 신호의 주파수를 스케일링하는 단계는 상기 적어도 하나의 레이턴시 정보가 상기 개별 레이턴시 조건을 만족시키는 것에 추가적으로 응답하여 상기 버스 상호접속 클록 신호의 주파수를 감소시키는 단계를 포함하는, 버스 상호접속 클록 신호를 스케일링하는 방법. - 삭제
- 제29항에 있어서,
상기 적어도 하나의 마스터 포트 클록 신호 및 상기 적어도 하나의 슬레이브 포트 클록 신호 중 하나 이상이 상기 버스 상호접속 클록 신호와 동기적이도록 구성하는 단계를 더 포함하는, 버스 상호접속 클록 신호를 스케일링하는 방법. - 제29항에 있어서,
상기 적어도 하나의 마스터 포트 클록 신호 및 상기 적어도 하나의 슬레이브 포트 클록 신호 중 하나 이상이 버스 상호접속 클록 신호와 상승-에지 동기적이도록 구성하는 단계를 더 포함하는, 버스 상호접속 클록 신호를 스케일링하는 방법. - 제29항에 있어서,
상기 적어도 하나의 마스터 포트 클록 신호 및 상기 적어도 하나의 슬레이브 포트 클록 신호 중 하나 이상이 상기 버스 상호접속 클록 신호와 비동기적이도록 구성하는 단계를 더 포함하는, 버스 상호접속 클록 신호를 스케일링하는 방법. - 제29항에 있어서,
상기 버스 상호접속 클록 신호의 주파수를 스케일링하기 전에 재구성될 상기 적어도 하나의 마스터 포트 및 상기 적어도 하나의 슬레이브 포트 중 하나 이상에 대한 상기 적어도 하나의 마스터 포트 클록 생성기 및 상기 적어도 하나의 슬레이브 포트 클록 생성기 중 하나 이상을 중지시키는 단계를 더 포함하는, 버스 상호접속 클록 신호를 스케일링하는 방법. - 컴퓨터 실행가능한 명령들을 저장하는 컴퓨터-판독가능한 매체로서,
상기 컴퓨터 실행가능한 명령들은, 적어도 하나의 슬레이브 포트에 복수의 마스터 포트들 중 적어도 하나의 마스터 포트를 접속시키도록 구성 가능한 상호접속 네트워크를 포함하는 버스 상호접속부로 하여금,
제어기에 의해 생성되고,
상기 복수의 마스터 포트들 중 적어도 하나의 마스터 포트를 클로킹하는 적어도 하나의 마스터 포트 클록 신호, 및 상기 적어도 하나의 슬레이브 포트를 클로킹하기 위한 적어도 하나의 슬레이브 포트 클록 신호 중 적어도 하나를 버스 상호접속 클록 신호와 동기화 되게 구성하도록 구성되며,
(a) 적어도 하나의 마스터 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 제1 대역폭 정보가 개별적인 적어도 하나의 제1 대역폭 조건을 만족시키는 것, 및 (b) 적어도 하나의 슬레이브 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 제2 대역폭 정보가 개별적인 적어도 하나의 제2 대역폭 조건을 만족시키는 것 중 적어도 하나에 응답하여 상기 상호접속 네트워크를 클로킹하도록 구성되는 버스 상호접속 클록 신호의 주파수를 스케일링하게 하는, 컴퓨터-판독가능한 매체. - 제40항에 있어서,
상기 컴퓨터 실행가능한 명령들은 추가로 상기 제어기로 하여금 상기 적어도 하나의 제1 대역폭 정보가 상기 개별적인 적어도 하나의 제1 대역폭 조건을 만족시키는 것, 및 상기 적어도 하나의 제2 대역폭 정보가 상기 개별적인 적어도 하나의 제2 대역폭 조건을 만족시키는 것에 응답하여 상기 버스 상호접속 클록 신호의 주파수를 감소시키는 것에 의해 상기 버스 상호접속 클록 신호의 주파수를 스케일링하게 하는, 하는, 컴퓨터-판독가능한 매체. - 제40항에 있어서,
상기 컴퓨터 실행가능한 명령들은 추가로 상기 제어기로 하여금 상기 적어도 하나의 제1 대역폭 정보가 상기 개별적인 적어도 하나의 제1 대역폭 조건을 만족시키지 않는 것 또는 상기 적어도 하나의 제2 대역폭 정보가 상기 개별적인 적어도 하나의 제2 대역폭 조건을 만족시키지 않는 것에 응답하여 상기 버스 상호접속 클록 신호의 주파수를 증가시키는 것에 의해 상기 버스 상호접속 클록 신호의 주파수를 스케일링하게 하는, 컴퓨터-판독가능한 매체. - 제40항에 있어서,
상기 컴퓨터 실행가능한 명령들은 추가로 상기 제어기로 하여금:
상기 적어도 하나의 마스터 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 레이턴시 정보를 수신하고; 그리고
상기 레이턴시 정보 중 적어도 하나가 개별 레이턴시 조건을 만족시키는 것에 추가적으로 응답하여 상기 버스 상호접속 클록 신호의 주파수를 스케일링하게 하는, 컴퓨터-판독가능한 매체. - 삭제
- 제40항에 있어서,
상기 제어기는 상기 적어도 하나의 마스터 포트를 클로킹하기 위해 적어도 하나의 마스터 포트 인터페이스 클록 신호를 생성하도록 구성되는 적어도 하나의 마스터 포트 클록 생성기 및 적어도 하나의 슬레이브 포트를 클로킹하기 위해 적어도 하나의 슬레이브 포트 클록 신호를 생성하도록 구성되는 적어도 하나의 슬레이브 포트 클록 생성기 중 적어도 하나를 상기 버스 상호접속 클록 신호와 비동기적이게 구성하도록 추가적으로 구성되는, 컴퓨터-판독가능한 매체. - 제40항에 있어서,
상기 제어기는 상기 적어도 하나의 마스터 포트를 클로킹하기 위해 적어도 하나의 마스터 포트 클록 신호를 생성하도록 구성되는 적어도 하나의 마스터 포트 클록 생성기 및 상기 적어도 하나의 슬레이브 포트를 클로킹하기 위해 적어도 하나의 슬레이브 포트 클록 신호를 생성하도록 구성되는 적어도 하나의 슬레이브 포트 클록 생성기 중 적어도 하나를 상기 버스 상호접속 클록 신호와 상승-에지 동기적이게 구성하도록 추가로 구성되는, 컴퓨터-판독가능한 매체. - 버스 상호접속부로서,
적어도 하나의 슬레이브 포트에 복수의 마스터 포트들 중 적어도 하나의 마스터 포트를 접속시키도록 구성가능한 상호접속 네트워크; 및
상기 상호접속 네트워크를 클로킹하기 위해 버스 상호접속 클록 신호를 생성하도록 구성되는 제어기;
를 포함하고, 상기 제어기는:
상기 적어도 하나의 마스터 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 제1 대역폭 정보를 수신하고;
상기 적어도 하나의 슬레이브 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 제2 대역폭 정보를 수신하고; 그리고
(a) 상기 적어도 하나의 제1 대역폭 정보가 개별적인 적어도 하나의 제1 헤드룸 대역폭 임계를 만족시키는 것; 및
(b) 상기 적어도 하나의 제2 대역폭 정보가 개별적인 적어도 하나의 제2 헤드룸 대역폭 임계를 만족시키는 것
중 적어도 하나에 응답하여 상기 버스 상호접속 클록 신호의 주파수를 스케일링하도록 구성되는, 버스 상호접속부. - 제47항에 있어서,
상기 제어기는, 상기 적어도 하나의 제1 대역폭 정보가 상기 개별적인 적어도 하나의 제1 헤드룸 대역폭 임계를 만족하는 것, 및 상기 적어도 하나의 제2 대역폭 정보가 상기 개별적인 적어도 하나의 제2 헤드룸 대역폭 임계를 만족하는 것에 응답하여, 상기 버스 상호접속 클록 신호의 주파수를 감소시키는 것에 의해 상기 버스 상호접속 클록 신호의 주파수를 스케일링하도록 구성되는, 버스 상호접속부. - 제48항에 있어서,
상기 제어기는, 상기 적어도 하나의 제1 대역폭 정보가 상기 개별적인 적어도 하나의 제1 헤드룸 대역폭 임계보다 더 작은 것, 및 상기 적어도 하나의 제2 대역폭 정보가 상기 개별적인 적어도 하나의 제2 헤드룸 대역폭 임계보다 더 작은 것에 응답하여, 상기 버스 상호접속 클록 신호의 주파수를 감소시키는 것에 의해 상기 버스 상호접속 클록 신호의 주파수를 스케일링하도록 구성되는, 버스 상호접속부. - 제47항에 있어서,
상기 제어기는,
상기 복수의 마스터 포트들 모두를 위한 상기 적어도 하나의 제1 대역폭 정보가 상기 개별적인 적어도 하나의 제1 헤드룸 대역폭 임계를 만족하는 것, 및
상기 적어도 하나의 슬레이브 포트를 위한 상기 적어도 하나의 제2 대역폭 정보가 상기 개별적인 적어도 하나의 제2 헤드룸 대역폭 임계를 만족하는 것에 응답하여, 상기 버스 상호접속 클록 신호의 주파수를 감소시키는 것에 의해 상기 버스 상호접속 클록 신호의 주파수를 스케일링하도록 구성되는, 버스 상호접속부. - 제47항에 있어서,
상기 제어기는, 상기 적어도 하나의 제1 대역폭 정보가 상기 개별적인 적어도 하나의 제1 헤드룸 대역폭 임계를 만족시키지 않는 것, 또는 상기 적어도 하나의 제2 대역폭 정보가 상기 개별적인 적어도 하나의 제2 헤드룸 대역폭 임계를 만족시키지 않는 것에 응답하여, 상기 버스 상호접속 클록 신호의 주파수를 증가시키는 것에 의해 상기 버스 상호접속 클록 신호의 주파수를 스케일링하도록 구성되는, 버스 상호접속부. - 제51항에 있어서,
상기 제어기는, 상기 적어도 하나의 제1 대역폭 정보가 상기 개별적인 적어도 하나의 제1 헤드룸 대역폭 임계보다 더 큰 것, 또는 상기 적어도 하나의 제2 대역폭 정보가 상기 개별적인 적어도 하나의 제2 헤드룸 대역폭 임계보다 더 큰 것에 응답하여, 상기 버스 상호접속 클록 신호의 주파수를 증가시키는 것에 의해 상기 버스 상호접속 클록 신호의 주파수를 스케일링하도록 구성되는, 버스 상호접속부. - 제47항에 있어서,
상기 개별적인 적어도 하나의 제1 헤드룸 대역폭 임계는, 개별적인 제1 판독(read) 헤드룸 대역폭 임계 및 개별적인 제1 기록(write) 헤드룸 대역폭 임계를 포함하는, 버스 상호접속부. - 버스 상호접속부를 위한 버스 상호접속 클록 신호를 스케일링하는 방법으로서,
적어도 하나의 슬레이브 포트에 적어도 하나의 마스터 포트를 접속시키도록 구성되는 상호접속 네트워크에 접속되는 복수의 마스터 포트들 중 적어도 하나의 마스터 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 제1 대역폭 정보를 수신하는 단계;
상기 적어도 하나의 슬레이브 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 제2 대역폭 정보를 수신하는 단계; 및
(a) 상기 적어도 하나의 제1 대역폭 정보가 개별적인 적어도 하나의 제1 헤드룸 대역폭 임계를 만족시키는 것; 및
(b) 상기 적어도 하나의 제2 대역폭 정보가 개별적인 적어도 하나의 제2 헤드룸 대역폭 임계를 만족시키는 것
중 적어도 하나에 응답하여, 상기 상호접속 네트워크를 클로킹하는 상기 버스 상호접속 클록 신호의 주파수를 스케일링하는 단계를 포함하는, 버스 상호접속 클록 신호를 스케일링하는 방법. - 제54항에 있어서,
상기 버스 상호접속 클록 신호의 주파수를 스케일링하는 단계는, 상기 적어도 하나의 제1 대역폭 정보가 상기 개별적인 적어도 하나의 제1 헤드룸 대역폭 임계를 만족하는 것, 및 상기 적어도 하나의 제2 대역폭 정보가 상기 개별적인 적어도 하나의 제2 헤드룸 대역폭 임계를 만족하는 것에 응답하여, 상기 버스 상호접속 클록 신호의 주파수를 감소시키는 단계를 포함하는, 버스 상호접속 클록 신호를 스케일링하는 방법. - 제55항에 있어서,
상기 버스 상호접속 클록 신호의 주파수를 스케일링하는 단계는, 상기 적어도 하나의 제1 대역폭 정보가 상기 개별적인 적어도 하나의 제1 헤드룸 대역폭 임계보다 더 작은 것, 및 상기 적어도 하나의 제2 대역폭 정보가 상기 개별적인 적어도 하나의 제2 헤드룸 대역폭 임계보다 더 작은 것에 응답하여, 상기 버스 상호접속 클록 신호의 주파수를 감소시키는 단계를 포함하는, 버스 상호접속 클록 신호를 스케일링하는 방법. - 제54항에 있어서,
상기 버스 상호접속 클록 신호의 주파수를 스케일링하는 단계는,
상기 복수의 마스터 포트들 모두를 위한 상기 적어도 하나의 제1 대역폭 정보가 상기 개별적인 적어도 하나의 제1 헤드룸 대역폭 임계를 만족하는 것, 및
상기 적어도 하나의 슬레이브 포트를 위한 상기 적어도 하나의 제2 대역폭 정보가 상기 개별적인 적어도 하나의 제2 헤드룸 대역폭 임계를 만족하는 것에 응답하여, 상기 버스 상호접속 클록 신호의 주파수를 감소시키는 단계를 포함하는, 버스 상호접속 클록 신호를 스케일링하는 방법. - 제54항에 있어서,
상기 버스 상호접속 클록 신호의 주파수를 스케일링하는 단계는, 상기 적어도 하나의 제1 대역폭 정보가 상기 개별적인 적어도 하나의 제1 헤드룸 대역폭 임계를 만족시키지 않는 것, 또는 상기 적어도 하나의 제2 대역폭 정보가 상기 개별적인 적어도 하나의 제2 헤드룸 대역폭 임계를 만족시키지 않는 것에 응답하여, 상기 버스 상호접속 클록 신호의 주파수를 증가시키는 단계를 포함하는, 버스 상호접속 클록 신호를 스케일링하는 방법. - 제58항에 있어서,
상기 버스 상호접속 클록 신호의 주파수를 스케일링하는 단계는, 상기 적어도 하나의 제1 대역폭 정보가 상기 개별적인 적어도 하나의 제1 헤드룸 대역폭 임계보다 더 큰 것, 또는 상기 적어도 하나의 제2 대역폭 정보가 상기 개별적인 적어도 하나의 제2 헤드룸 대역폭 임계보다 더 큰 것에 응답하여, 상기 버스 상호접속 클록 신호의 주파수를 증가시키는 단계를 포함하는, 버스 상호접속 클록 신호를 스케일링하는 방법. - 제54항에 있어서,
상기 개별적인 적어도 하나의 제1 헤드룸 대역폭 임계는, 개별적인 제1 판독 헤드룸 대역폭 임계 및 개별적인 제1 기록 헤드룸 대역폭 임계를 포함하는, 버스 상호접속 클록 신호를 스케일링하는 방법. - 버스 상호접속부로서,
적어도 하나의 슬레이브 포트에 복수의 마스터 포트들 중 적어도 하나의 마스터 포트를 접속시키도록 구성가능한 상호접속 네트워크; 및
상기 상호접속 네트워크를 클로킹하기 위해 버스 상호접속 클록 신호를 생성하도록 구성되는 제어기;
를 포함하고, 상기 제어기는:
상기 적어도 하나의 마스터 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 제1 대역폭 정보를 수신하고;
상기 적어도 하나의 슬레이브 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 제2 대역폭 정보를 수신하고;
상기 적어도 하나의 마스터 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 레이턴시 정보를 수신하고; 그리고
(a) 상기 적어도 하나의 제1 대역폭 정보가 개별적인 적어도 하나의 제1 대역폭 조건을 만족시키는 것; 및
(b) 상기 적어도 하나의 제2 대역폭 정보가 개별적인 적어도 하나의 제2 대역폭 조건을 만족시키는 것; 및
(c) 상기 적어도 하나의 레이턴시 정보가 개별 레이턴시 조건을 만족시키는 것
에 응답하여 상기 버스 상호접속 클록 신호의 주파수를 스케일링하도록 구성되는, 버스 상호접속부. - 제61항에 있어서,
상기 제어기는, 상기 적어도 하나의 레이턴시 정보가 상기 개별 레이턴시 조건을 만족시키는 것에 응답하여, 상기 버스 상호접속 클록 신호의 주파수를 추가적으로 감소시키는 것에 의해 상기 버스 상호접속 클록 신호의 주파수를 스케일링하도록 구성되는, 버스 상호접속부. - 제62항에 있어서,
상기 제어기는, 상기 적어도 하나의 레이턴시 정보가 개별적인 적어도 하나의 최대 레이턴시 임계보다 더 작은 것에 응답하여, 상기 버스 상호접속 클록 신호의 주파수를 추가적으로 감소시키도록 구성되는, 버스 상호접속부. - 제62항에 있어서,
상기 제어기는, 상기 복수의 마스터 포트들 모두를 위한 상기 적어도 하나의 레이턴시 정보가 상기 개별 레이턴시 조건을 만족시키는 것에 응답하여, 상기 버스 상호접속 클록 신호의 주파수를 추가적으로 감소시키도록 추가로 구성되는, 버스 상호접속부. - 제61항에 있어서,
상기 개별 레이턴시 조건은, 최대 판독 레이턴시 임계 및 최대 기록 레이턴시 임계를 포함하는, 버스 상호접속부. - 버스 상호접속부를 위한 버스 상호접속 클록 신호를 스케일링하는 방법으로서,
적어도 하나의 슬레이브 포트에 적어도 하나의 마스터 포트를 접속시키도록 구성되는 상호접속 네트워크에 접속되는 복수의 마스터 포트들 중 적어도 하나의 마스터 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 제1 대역폭 정보를 수신하는 단계;
상기 적어도 하나의 슬레이브 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 제2 대역폭 정보를 수신하는 단계;
상기 적어도 하나의 마스터 포트를 통해 전달되는 트래픽에 관련된 적어도 하나의 레이턴시 정보를 수신하는 단계; 및
(a) 상기 적어도 하나의 제1 대역폭 정보가 개별적인 적어도 하나의 제1 대역폭 조건을 만족시키는 것; 및
(b) 상기 적어도 하나의 제2 대역폭 정보가 개별적인 적어도 하나의 제2 대역폭 조건을 만족시키는 것; 및
(c) 상기 적어도 하나의 레이턴시 정보가 개별 레이턴시 조건을 만족시키는 것
에 응답하여 상기 상호접속 네트워크를 클로킹하는 상기 버스 상호접속 클록 신호의 주파수를 스케일링하는 단계를 포함하는, 버스 상호접속 클록 신호를 스케일링하는 방법. - 제66항에 있어서,
상기 버스 상호접속 클록 신호의 주파수를 스케일링하는 단계는, 상기 적어도 하나의 레이턴시 정보가 상기 개별 레이턴시 조건을 만족시키는 것에 응답하여, 상기 버스 상호접속 클록 신호의 주파수를 추가적으로 감소시키는 단계를 포함하는, 버스 상호접속 클록 신호를 스케일링하는 방법. - 제67항에 있어서,
상기 버스 상호접속 클록 신호의 주파수를 스케일링하는 단계는, 상기 적어도 하나의 레이턴시 정보가 개별적인 적어도 하나의 최대 레이턴시 임계보다 더 작은 것에 응답하여, 상기 버스 상호접속 클록 신호의 주파수를 추가적으로 감소시키는 단계를 포함하는, 버스 상호접속 클록 신호를 스케일링하는 방법. - 제66항에 있어서,
상기 버스 상호접속 클록 신호의 주파수를 스케일링하는 단계는, 상기 복수의 마스터 포트들 모두를 위한 상기 적어도 하나의 레이턴시 정보가 상기 개별 레이턴시 조건을 만족시키는 것에 응답하여, 상기 버스 상호접속 클록 신호의 주파수를 추가적으로 감소시키는 단계를 포함하는, 버스 상호접속 클록 신호를 스케일링하는 방법. - 제66항에 있어서,
상기 개별 레이턴시 조건은, 최대 판독 레이턴시 임계 및 최대 기록 레이턴시 임계를 포함하는, 버스 상호접속 클록 신호를 스케일링하는 방법. - 제1항에 있어서, 상기 제어기는, 상기 적어도 하나의 마스터 포트 상에서 상기 적어도 하나의 마스터 포트에 고유하게(uniquely) 구성되는 상기 적어도 하나의 제1 대역폭 정보를 수신하도록 구성되는, 버스 상호접속부.
- 제1항에 있어서, 상기 제어기는, 상기 적어도 하나의 슬레이브 포트 상에서 상기 적어도 하나의 슬레이브 포트에 고유하게 구성되는 상기 적어도 하나의 제2 대역폭 정보를 수신하도록 구성되는, 버스 상호접속부.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/015,657 | 2011-01-28 | ||
US13/015,657 US9286257B2 (en) | 2011-01-28 | 2011-01-28 | Bus clock frequency scaling for a bus interconnect and related devices, systems, and methods |
PCT/US2012/023194 WO2012103558A1 (en) | 2011-01-28 | 2012-01-30 | Bus clock frequency scaling for a bus interconnect and related devices, systems, and methods |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130129270A KR20130129270A (ko) | 2013-11-27 |
KR101519023B1 true KR101519023B1 (ko) | 2015-05-11 |
Family
ID=45607388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020137022798A KR101519023B1 (ko) | 2011-01-28 | 2012-01-30 | 버스 상호접속부를 위한 버스 클록 주파수 스케일링 및 관련 디바이스들, 시스템들 및 방법들 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9286257B2 (ko) |
EP (1) | EP2668579B1 (ko) |
JP (2) | JP5923525B2 (ko) |
KR (1) | KR101519023B1 (ko) |
CN (1) | CN103477334B (ko) |
WO (1) | WO2012103558A1 (ko) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9304951B1 (en) * | 2011-04-18 | 2016-04-05 | American Megatrends, Inc. | Policy based input/output dispatcher |
US8914650B2 (en) * | 2011-09-28 | 2014-12-16 | Intel Corporation | Dynamically adjusting power of non-core processor circuitry including buffer circuitry |
US9977482B2 (en) * | 2011-12-21 | 2018-05-22 | Intel Corporation | Method and apparatus for setting an I/O bandwidth-based processor frequency floor |
US20120095607A1 (en) * | 2011-12-22 | 2012-04-19 | Wells Ryan D | Method, Apparatus, and System for Energy Efficiency and Energy Conservation Through Dynamic Management of Memory and Input/Output Subsystems |
US9348385B2 (en) | 2012-07-09 | 2016-05-24 | L. Pierre deRochement | Hybrid computing module |
US9690736B2 (en) * | 2012-07-10 | 2017-06-27 | Nvidia Corporation | Managing state transitions of a data connector using a finite state machine |
US9639372B2 (en) | 2012-12-28 | 2017-05-02 | Intel Corporation | Apparatus and method for heterogeneous processors mapping to virtual cores |
US9672046B2 (en) * | 2012-12-28 | 2017-06-06 | Intel Corporation | Apparatus and method for intelligently powering heterogeneous processor components |
US9372818B2 (en) * | 2013-03-15 | 2016-06-21 | Atmel Corporation | Proactive quality of service in multi-matrix system bus |
US9727345B2 (en) | 2013-03-15 | 2017-08-08 | Intel Corporation | Method for booting a heterogeneous system and presenting a symmetric core view |
US20150161070A1 (en) * | 2013-12-05 | 2015-06-11 | Qualcomm Incorporated | Method and system for managing bandwidth demand for a variable bandwidth processing element in a portable computing device |
JP6774160B2 (ja) * | 2013-12-06 | 2020-10-21 | キヤノン株式会社 | 情報処理装置、並びに、データ転送装置の制御方法 |
US9471524B2 (en) | 2013-12-09 | 2016-10-18 | Atmel Corporation | System bus transaction queue reallocation |
US9373418B2 (en) * | 2014-01-02 | 2016-06-21 | Advanced Micro Devices, Inc. | Circuit and data processor with headroom monitoring and method therefor |
US9524264B2 (en) | 2014-06-26 | 2016-12-20 | Qualcomm Incorporated | Generating combined bus clock signals using asynchronous master device reference clocks in shared bus systems, and related methods, devices, and computer-readable media |
US9565032B2 (en) | 2014-12-03 | 2017-02-07 | Qualcomm Incorporated | Monitoring and controlling bus ring performance |
CN104410893B (zh) * | 2014-12-05 | 2017-06-23 | 杭州国芯科技股份有限公司 | 一种电视解调soc芯片调整ddr工作频率的方法 |
DE102016109387A1 (de) | 2015-05-26 | 2016-12-01 | Samsung Electronics Co., Ltd. | Ein-Chip-System mit Taktverwaltungseinheit und Verfahren zum Betreiben des Ein-Chip-Systems |
KR102384347B1 (ko) * | 2015-05-26 | 2022-04-07 | 삼성전자주식회사 | 클록 관리 유닛을 포함하는 시스템 온 칩 및 그 동작방법 |
US10095301B2 (en) | 2015-12-01 | 2018-10-09 | Infineon Technologies Ag | Interconnect serialization system and method |
KR102474620B1 (ko) * | 2016-01-25 | 2022-12-05 | 삼성전자주식회사 | 반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법 |
US10019306B2 (en) * | 2016-04-27 | 2018-07-10 | Western Digital Technologies, Inc. | Collision detection for slave storage devices |
US10241536B2 (en) * | 2016-12-01 | 2019-03-26 | Intel Corporation | Method, apparatus and system for dynamic clock frequency control on a bus |
US11341489B1 (en) | 2016-12-19 | 2022-05-24 | Amazon Technologies, Inc. | Multi-path back-end system for payment processing |
US11354659B1 (en) * | 2016-12-19 | 2022-06-07 | Amazon Technologies, Inc. | Securing transaction messages based on a dynamic key selection |
KR20180074197A (ko) | 2016-12-23 | 2018-07-03 | 삼성전자주식회사 | 버스 트래픽 컨트롤 장치 및 이를 갖는 버스 시스템 |
US10296069B2 (en) * | 2017-06-27 | 2019-05-21 | Qualcomm Incorporated | Bandwidth-monitored frequency hopping within a selected DRAM operating point |
US10649929B2 (en) * | 2017-07-10 | 2020-05-12 | Dialog Semiconductar Korea Inc. | Memory time-sharing method and apparatus capable of distributing bus traffic of system-on-chip |
FR3094810B1 (fr) * | 2019-04-03 | 2023-01-13 | Thales Sa | Système sur puce comprenant une pluralité de ressources maitre |
US20190278503A1 (en) * | 2019-05-29 | 2019-09-12 | Intel Corporation | Nvram memory module with hard write throttle down |
GB2589594B (en) * | 2019-12-03 | 2023-10-11 | Siemens Ind Software Inc | Detecting anomalous latent communications in an integrated circuit chip |
US11281604B2 (en) * | 2020-02-28 | 2022-03-22 | Micron Technology, Inc. | Multiple memory type shared memory bus systems and methods |
US11934251B2 (en) * | 2021-03-31 | 2024-03-19 | Advanced Micro Devices, Inc. | Data fabric clock switching |
CN113114404B (zh) * | 2021-04-01 | 2023-06-02 | 四川创智联恒科技有限公司 | 一种通用eCPRI接口拓展装置及方法 |
CN114003453B (zh) * | 2021-10-29 | 2023-04-07 | 哲库科技(北京)有限公司 | 一种测试方法、电子设备、系统及计算机存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050027920A1 (en) * | 2003-07-31 | 2005-02-03 | Fitzsimmons Michael D. | Crossbar switch that supports a multi-port slave device and method of operation |
US20050216643A1 (en) * | 2004-03-26 | 2005-09-29 | Munguia Peter R | Arbitration based power management |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07210506A (ja) | 1994-01-21 | 1995-08-11 | Hitachi Ltd | アクセス制御方式 |
JP2001256179A (ja) * | 2000-03-14 | 2001-09-21 | Sharp Corp | プロセッサシステム |
US6735653B2 (en) | 2001-02-16 | 2004-05-11 | Koninklijke Philips Electronics N.V. | Bus bandwidth consumption profiler |
JP3510618B2 (ja) | 2002-02-05 | 2004-03-29 | 沖電気工業株式会社 | バスブリッジ回路及びそのアクセス制御方法 |
US7007121B1 (en) * | 2002-02-27 | 2006-02-28 | Xilinx, Inc. | Method and apparatus for synchronized buses |
JP2003271261A (ja) | 2002-03-18 | 2003-09-26 | Seiko Epson Corp | 半導体装置 |
JP2004126646A (ja) | 2002-09-30 | 2004-04-22 | Canon Inc | バス制御方法 |
US7496109B1 (en) * | 2003-02-12 | 2009-02-24 | Cypress Semiconductor Corporation | Method of maximizing bandwidth efficiency in a protocol processor |
US7146519B2 (en) | 2003-08-22 | 2006-12-05 | Hewlett-Packard Development Company, L.P. | Bus clock frequency management based on device bandwidth characteristics |
JP2006119998A (ja) | 2004-10-22 | 2006-05-11 | Canon Inc | バス情報収集装置、データ処理装置及びバス情報収集方法 |
US7725759B2 (en) * | 2005-06-29 | 2010-05-25 | Sigmatel, Inc. | System and method of managing clock speed in an electronic device |
JP2007034459A (ja) | 2005-07-25 | 2007-02-08 | Sharp Corp | バスシステム |
JP2007219962A (ja) | 2006-02-20 | 2007-08-30 | Fujitsu Ltd | 半導体集積回路装置 |
CN101206631B (zh) | 2006-12-22 | 2010-09-29 | 中芯国际集成电路制造(上海)有限公司 | 高速外设部件互连接口及信号处理方法 |
US8405617B2 (en) | 2007-01-03 | 2013-03-26 | Apple Inc. | Gated power management over a system bus |
US7673084B2 (en) | 2007-02-20 | 2010-03-02 | Infineon Technologies Ag | Bus system and methods of operation using a combined data and synchronization line to communicate between bus master and slaves |
-
2011
- 2011-01-28 US US13/015,657 patent/US9286257B2/en active Active
-
2012
- 2012-01-30 WO PCT/US2012/023194 patent/WO2012103558A1/en active Application Filing
- 2012-01-30 KR KR1020137022798A patent/KR101519023B1/ko active IP Right Grant
- 2012-01-30 CN CN201280014553.1A patent/CN103477334B/zh active Active
- 2012-01-30 EP EP12704186.1A patent/EP2668579B1/en active Active
- 2012-01-30 JP JP2013551419A patent/JP5923525B2/ja active Active
-
2016
- 2016-04-18 JP JP2016082695A patent/JP5985777B1/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050027920A1 (en) * | 2003-07-31 | 2005-02-03 | Fitzsimmons Michael D. | Crossbar switch that supports a multi-port slave device and method of operation |
US20050216643A1 (en) * | 2004-03-26 | 2005-09-29 | Munguia Peter R | Arbitration based power management |
Also Published As
Publication number | Publication date |
---|---|
US20120198266A1 (en) | 2012-08-02 |
US9286257B2 (en) | 2016-03-15 |
WO2012103558A1 (en) | 2012-08-02 |
CN103477334B (zh) | 2016-07-06 |
JP2014505310A (ja) | 2014-02-27 |
JP2016164798A (ja) | 2016-09-08 |
JP5985777B1 (ja) | 2016-09-06 |
EP2668579B1 (en) | 2016-06-29 |
CN103477334A (zh) | 2013-12-25 |
EP2668579A1 (en) | 2013-12-04 |
KR20130129270A (ko) | 2013-11-27 |
JP5923525B2 (ja) | 2016-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101519023B1 (ko) | 버스 상호접속부를 위한 버스 클록 주파수 스케일링 및 관련 디바이스들, 시스템들 및 방법들 | |
US8769332B2 (en) | Regional clock gating and dithering | |
JP5819027B2 (ja) | メモリアクセス遅延トレーニングのための方法および装置 | |
KR101396652B1 (ko) | 코어스 클럭 게이팅을 사용하는 동적 프리퀀시 제어 | |
WO2013082069A2 (en) | Method of power calculation for performance optimization | |
US20200057737A1 (en) | Systems and methods for arbitrating traffic in a bus | |
EP3283971B1 (en) | Control circuits for generating output enable signals, and related systems and methods | |
US11683149B2 (en) | Precise time management using local time base | |
US20230112432A1 (en) | Dynamic setup and hold times adjustment for memories | |
US11687115B2 (en) | Precise time management for peripheral device using local time base | |
US8786332B1 (en) | Reset extender for divided clock domains | |
US12019494B2 (en) | Domain clock and power activation control circuit to reduce voltage droop and related methods | |
US9170768B2 (en) | Managing fast to slow links in a bus fabric | |
US20240334340A1 (en) | Dynamic adjustment of memory operating frequency to avoid rf interference with wifi | |
KR20240072272A (ko) | 메모리에 대한 동적 셋업 및 홀드 시간 조정 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180329 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190327 Year of fee payment: 5 |