JP2016164798A - バス相互接続のためのバスクロック周波数スケーリング、ならびに関係するデバイス、システム、および方法 - Google Patents

バス相互接続のためのバスクロック周波数スケーリング、ならびに関係するデバイス、システム、および方法 Download PDF

Info

Publication number
JP2016164798A
JP2016164798A JP2016082695A JP2016082695A JP2016164798A JP 2016164798 A JP2016164798 A JP 2016164798A JP 2016082695 A JP2016082695 A JP 2016082695A JP 2016082695 A JP2016082695 A JP 2016082695A JP 2016164798 A JP2016164798 A JP 2016164798A
Authority
JP
Japan
Prior art keywords
clock signal
bus interconnect
bandwidth
port
master
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2016082695A
Other languages
English (en)
Other versions
JP5985777B1 (ja
Inventor
リチャード・ジェラルド・ホフマン
Richard Gerard Hofmann
ジャヤ・プラカシュ・スブラマニアム・ガナサン
Jaya Prakash Subramaniam Ganasan
ブランドン・ウェイン・ルイス
wayne lewis Brandon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of JP5985777B1 publication Critical patent/JP5985777B1/ja
Publication of JP2016164798A publication Critical patent/JP2016164798A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • 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/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • 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
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3209Monitoring remote activity, e.g. over telephone lines or network connections
    • 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/324Power saving characterised by the action undertaken by lowering clock frequency
    • 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

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

【課題】バス相互接続ならびに関係するデバイス、システム、および方法のためのバスクロック周波数スケーリングを提供する。【解決手段】バス相互接続は、マスターポートをスレーブポートに接続するように構成可能な相互接続ネットワークを含む。バス相互接続クロック信号が、相互接続ネットワークをクロック制御する。コントローラは、トラフィックに関する帯域幅情報を受信し、マスターポートおよび/もしくはスレーブポートの帯域幅が個々の帯域幅条件を満たす場合ならびに/またはマスターポートのレイテンシがマスターポートに対する個々のレイテンシ条件を満たす場合、バス相互接続クロック信号の周波数をスケーリングする(たとえば、増加または減少させる)。マスターポートおよび/またはスレーブポートはまた、性能を最適化し、電力を温存するためにバス相互接続クロック信号の周波数を変更することに応答して再構成されてもよい。【選択図】図1

Description

本開示の技術は、多様な電子的構成要素を一緒に通信可能にインターフェースするための電子的バス相互接続に関する。一例として、そうしたバス相互接続は、システムオンチップ(SOC)設計において提供され得る。
モバイルフォン、携帯情報端末(PDA)など、ポータブル電子デバイスは、通常、特定用途向け集積回路(ASIC)設計を使用して製造される。ハイレベルのシリコン集積の達成における発展は、複雑なASICおよびフィールドプログラマブルゲートアレイ(FPGA)設計の創出を可能にした。これらのASICおよびFPGAは、システムオンチップ(SOC)を可能にするために、シングルチップで提供され得る。SOCは、たとえばプロセッサ、マルチプライヤ、キャッシュ、および他の電子的構成要素など、単一の半導体チップ上で複数の機能を果たすサブシステムを提供する。SOCは、シングルチップで複数の特徴および用途を提供することができる複数のサブシステムの統合のために、特にポータブル電子デバイスに有用である。さらに、SOCは、通常ならばマルチチップを使用して提供されていたチップにシングルチップを使用することによって、より小さいポータブル電子デバイスを可能にする。
一例としてSOCであってよいチップ上に設けられた回路内で、複数の多様な構成要素またはサブシステムを一緒に通信可能にインターフェースするために、バス相互接続とも呼ばれる相互接続通信バスが提供される。バス相互接続は、例としてレジスタ、キュー(queue)、および様々なサブシステム間の通信を管理するための他の回路を含み得る、クロック制御される回路(clocked circuitry)を含む回路を使用して提供される。バス相互接続内の回路は、所望のスループットを与えるために、所望のバスクロック周波数で動作するマスタークロック信号から生成される1つまたは複数のクロック信号を用いてクロック制御される。低減された電力消費が望ましいアプリケーションでは、よく知られている、fCV2に等しい電力消費の式に従って、バスクロック周波数が引き下げられてよく、ここで「f」は周波数、「C」はキャパシタンス、「V」は電圧である。しかしながら、バスクロック周波数を引き下げることで、バス相互接続の性能が低下する。バスクロック周波数を引き下げることで、バス相互接続に結合されているサブシステムに対するレイテンシの要件または条件を超えてバスのレイテンシが増加する場合、サブシステムの性能は、劣化するかまたは全く機能しなくなる。劣化または機能不全の危険を冒すのではなく、バスクロック周波数は、レイテンシを低減し、性能余裕を与えるために、より高い周波数に設定されることがある。しかしながら、より高いバスクロック周波数をバス相互接続に与えることで、より多くの電力が消費される。
詳細な説明において開示する実施形態は、バス相互接続ならびに関係するデバイス、システム、方法、およびコンピュータ可読媒体に対するバスクロック周波数スケーリングを含む。バス相互接続は、バス相互接続の複数のマスターポートの中の1マスターポートに各々が接続される、1つまたは複数のマスターデバイスが、バス相互接続の1スレーブポートに各々が接続される複数のスレーブデバイスのいずれかに通信可能に接続されることを可能にするように構成可能である。ある周波数で動作しているマスターデバイスが異なる周波数で動作しているスレーブデバイスと通信する相互接続を可能にするために、マスターポートおよびスレーブポートは、異なる周波数で動作するように構成可能であってよい。バス相互接続クロック信号が、相互接続ネットワークをクロック制御するために与えられる。バス相互接続によって消費される電力を温存するために、バス相互接続クロック信号の周波数は、個々の帯域幅条件および/または個々のレイテンシ条件に基づいてスケーリング(たとえば、増加または減少)されてよい。このようにして、バス相互接続による電力消費が、バス相互接続の所望の性能条件の要件を維持しながら、最適化され得る。
この点について、一実施形態では、バス相互接続が提供される。バス相互接続は、複数のマスターポートの中の1つまたは複数のマスターポートを1つまたは複数のスレーブポートに接続するように構成可能な相互接続ネットワークを備える。バス相互接続はまた、相互接続ネットワークをクロック制御するためにバス相互接続クロック信号を生成するように構成されたコントローラを備える。コントローラは、少なくとも1つのマスターポートを介して通信されるトラフィックに関する少なくとも1つの第1の帯域幅情報を受信するように構成される。コントローラはまた、少なくとも1つのスレーブポートを介して通信されるトラフィックに関する少なくとも1つの第2の帯域幅情報を受信するように構成される。コントローラはまた、(a)少なくとも1つの第1の帯域幅情報が個々の少なくとも1つの第1の帯域幅条件を満たすことと、(b)少なくとも1つの第2の帯域幅情報が個々の少なくとも1つの第2の帯域幅条件を満たすこととのうちの少なくとも1つに応答して、バス相互接続クロック信号の周波数をスケーリングする(たとえば、増加または減少させる)ように構成される。
コントローラは、少なくとも1つの第1の帯域幅情報が個々の少なくとも1つの第1の帯域幅条件を満たすことと、少なくとも1つの第2の帯域幅情報が個々の少なくとも1つの第2の帯域幅条件を満たすこととに応答して、バス相互接続クロック信号の周波数を減少させるように構成され得る。コントローラはまた、少なくとも1つの第1の帯域幅情報が個々の少なくとも1つの第1の帯域幅条件を満たすことか、または少なくとも1つの第2の帯域幅情報が個々の少なくとも1つの第2の帯域幅条件を満たすことに応答して、バス相互接続クロック信号の周波数を増加させるように構成され得る。
別の実施形態では、バス相互接続のためのバス相互接続クロック信号をスケーリングする方法が提供される。方法は、少なくとも1つのマスターポートを少なくとも1つのスレーブポートに接続するように構成される相互接続ネットワークに接続された複数のマスターポートの中の少なくとも1つのマスターポートを介して通信されるトラフィックに関する少なくとも1つの第1の帯域幅情報を受信するステップを含む。方法はまた、少なくとも1つのスレーブポートを介して通信されるトラフィックに関する少なくとも1つの第2の帯域幅情報を受信するステップを含む。方法はまた、(a)少なくとも1つの第1の帯域幅情報が個々の少なくとも1つの第1の帯域幅条件を満たすことと、(b)少なくとも1つの第2の帯域幅情報が個々の少なくとも1つの第2の帯域幅条件を満たすこととのうちの少なくとも1つに応答して、相互接続ネットワークをクロック制御するバス相互接続クロック信号の周波数をスケーリングするステップを含む。
別の実施形態では、コンピュータ可読媒体が提供される。コントローラによって生成され、(a)少なくとも1つのマスターポートを介して通信されるトラフィックに関する少なくとも1つの第1の帯域幅情報が個々の少なくとも1つの第1の帯域幅条件を満たすことと、(b)少なくとも1つのスレーブポートを介して通信されるトラフィックに関する少なくとも1つの第2の帯域幅情報が個々の少なくとも1つの第2の帯域幅条件を満たすこととのうちの少なくとも1つに応答して、相互接続ネットワークをクロック制御するように構成された、バス相互接続クロック信号の周波数をスケーリングする(たとえば、増加または減少させる)ことを、複数のマスターポートの中の1マスターポートをスレーブポートに接続するように構成可能な相互接続ネットワークを備えるバス相互接続に引き起こさせるためのコンピュータ実行可能命令を、コンピュータ可読媒体が、自体の中に記憶している。
他の実施形態では、コントローラはまた、マスターポートに対するレイテンシがマスターポートに対する個々のレイテンシ条件を満たす場合にのみ、付加的にバス相互接続クロック信号の周波数をスケーリングする(たとえば、増加または減少させる)ように構成され得る。たとえば、マスターポートに対するレイテンシがマスターポートに対する最大レイテンシ閾値未満であり、かつマスターポートおよびスレーブポートの帯域幅がヘッドルーム帯域幅閾値未満である場合、コントローラは、バス相互接続クロック信号の周波数を減少させるように構成され得る。別の例として、マスターポートに対するレイテンシがマスターポートに対する最大レイテンシ閾値よりも大きいか、またはマスターポートまたはスレーブポートの帯域幅がヘッドルーム帯域幅閾値よりも大きい場合、コントローラは、バス相互接続クロック信号の周波数を増加させるように構成され得る。
さらに、本明細書で開示する実施形態は、可能な場合、バス相互接続におけるレイテンシを低減または回避するために、バス相互接続クロック信号の変化に応答して、同期してかつ/または立上がりエッジに同期して動作するように、マスターポートおよびスレーブポートが構成される能力を提供する。マスターポートインターフェースおよびスレーブポートインターフェースはまた、バス相互接続クロック信号に対して非同期に動作するように構成され得る。
周波数をスケーリングされるバス相互接続クロック信号を使用してクロック制御される相互接続ネットワークを介して、複数のマスターポートを複数のスレーブポートのいずれかと接続するように構成された相互接続ネットワークを備える、例示的なバス相互接続システムのブロック図である。 マスターポートがスレーブポートに接続される間の図1のバス相互接続においてセットアップされた通信経路における例示的な回路のサブシステムのブロック図である。 マスターポートおよびスレーブポートのために構成された個々の帯域幅条件および/またはマスターポートのために構成された個々のレイテンシ条件に基づいて、図1のバス相互接続に対するバス相互接続クロック信号の周波数スケーリングを提供する例示的なフローチャートを示す図である。 マスターポートおよびスレーブポートのために構成された個々の帯域幅条件および/またはマスターポートのために構成された個々のレイテンシ条件に基づいて、図1のバス相互接続に対するバス相互接続クロック信号の周波数スケーリングを提供する例示的なフローチャートを示す図である。 図1のバス相互接続に設けられたコントローラに含まれる例示的な構成要素のブロック図である。 バス相互接続クロック信号と同期して、立上がりエッジと同期して、および非同期で、動作するポートクロック信号を示す例示的な図である。 バス相互接続クロック信号がスケーリングされるときの、バス相互接続クロック信号に対する同期動作、立上がりエッジ同期動作、および非同期動作のポートクロック信号の例示的な構成を示すフローチャートである。 図1のバス相互接続における、ポートクロック信号および/またはバス相互接続クロック信号の周波数をスケーリングし得る例示的なクロック変更回路のブロック図である。 ポートクロック信号および/またはバス相互接続クロック信号をスケーリングする図7のクロック変更回路の例示的なタイミング図である。 ポートクロック信号および/またはバス相互接続クロック信号を停止する図7のクロック変更回路の例示的なタイミング図である。 本明細書で説明する実施形態によるバス相互接続を使用する例示的な中央処理装置(CPU)回路および関係するシステムのブロック図である。
ここで図面を参照して、本開示のいくつかの例示的な実施形態を説明する。「例示的な」という言葉は、「一例、実例または例として」を意味するために本明細書で使用される。「例示的」として本明細書で説明する任意の実施形態は、必ずしも他の実施形態よりも好ましいまたは有利であると解釈されるべきではない。
詳細な説明において開示する実施形態は、バス相互接続ならびに関係するデバイス、システム、および方法のためのバスクロック周波数スケーリングと、コンピュータ可読媒体とを含む。バス相互接続は、バス相互接続の複数のマスターポートの中のあるマスターポートに各々が接続される、1つまたは複数のマスターデバイスが、バス相互接続のスレーブポートに各々が接続される複数のスレーブデバイスのいずれかに通信可能に接続されることを可能にするように構成可能である。ある周波数で動作しているマスターデバイスが異なる周波数で動作しているスレーブデバイスと通信するために相互接続することを可能にするために、マスターポートおよびスレーブポートは、異なる周波数で動作するように構成可能であってよい。バス相互接続クロック信号が、相互接続ネットワークをクロック制御するために与えられる。バス相互接続によって消費される電力を温存するために、バス相互接続クロック信号の周波数は、個々の帯域幅条件および/または個々のレイテンシ条件に基づいてスケーリング(たとえば、増加または減少)されてよい。このようにして、バス相互接続による電力消費が、バス相互接続の所望の性能条件の要件を維持しながら、最適化され得る。
この点について、一実施形態では、図1は、例示的なバス相互接続システム10のブロック図である。バス相互接続システム10は、バス相互接続12からなる。例として、バス相互接続12は、ソフトウェア命令を実行することができるフィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、コントローラ、マイクロコントローラもしくはマイクロプロセッサ、またはそれらの任意の組合せによって提供され得る。以下でより詳細に説明するように、バス相互接続12は、バス相互接続12によって与えられるマスターポート16(0〜M)に各々が接続された1つまたは複数のマスターデバイス14(0〜M)が、バス相互接続12によって与えられるスレーブポート20(0〜N)に各々が接続された複数のスレーブデバイス18(0〜N)のうちの1つまたは複数に通信可能に接続されることを可能にするように構成可能である。バス相互接続12は、半導体ダイ21内に設けられてよく、所望される場合、システムオンチップ(SOC)集積回路設計において設けられてよい。マスターデバイス14(0〜M)およびスレーブデバイス18(0〜N)は、任意のタイプの電子デバイスまたはサブシステムであってよく、電子デバイスまたはサブシステムの例は、限定はしないが、中央処理装置(CPU)、デジタル信号プロセッサ(DSP)、直接メモリアクセス(DMA)コントローラ、メモリコントローラ、グラフィックスプロセッサなどを含む。
通信は、マスターポート16(0〜M)に結合されたマスターポートバス22(0〜M)を介して、マスターデバイス14(0〜M)とバス相互接続12との間でサポートされる。同様に、通信は、スレーブポート20(0〜N)に結合されたスレーブポートバス24(0〜N)を介して、スレーブデバイス18(0〜N)とバス相互接続12との間でサポートされる。個別のマスターポートバス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に示すように、バス相互接続12内に設けられ、1つのマスターデバイス14(0〜M)と1つのスレーブデバイス18(0〜N)との間の相互接続ネットワーク26内に通信経路を設けるように構成可能な、例示的な構成要素を示す。
図2を参照すると、マスターポート16(0〜M)は各々、マスターデバイス14(0〜M)から通信を受信するためにマスターポートバス22(0〜M)に接続されたマスターポートインターフェース28(0〜M)を含む。相互接続ネットワーク26は、マスターポートバス22(0〜M)とスレーブポートバス24(0〜N)の両方と異なる周波数で動作し得るので、マスターポートキュー30(0〜M)とスレーブポートキュー34(0〜N)との間の通信をアービトレーションするためにアービタ32に提供されるバストランザクションまたはバスコマンドを記憶するために、マスターポートキュー30(0〜M)が設けられてよい。アービタ32は、スレーブポート20(0〜N)へのバストランザクションをアービトレーションするためにスレーブポート20(0〜N)に関連付けられた個別のアドレス指定アービタ36(0〜N)と、スレーブポート20(0〜N)から来るデータの読取りおよび書込み完了応答(read data and write completion responses)をアービトレーションするためにマスターポート16(0〜M)に関連付けられたデータ(読取り/書込み)アービタ38(0〜M)とを含み得る。スレーブポートキュー34(0〜N)は、スレーブポートバス24(0〜N)に接続されたスレーブポートインターフェース40(0〜N)への通信を提供する。図2は、1つのマスターデバイス14(0〜M)に結合された1つのマスターポート16(0〜M)と、1つのスレーブデバイス18(0〜N)に結合された1つのスレーブポート20(0〜N)との間の通信経路を示すが、バス相互接続12に設けられたアービタ36(0〜N)、38(0〜M)は、マスターポート16(0〜M)のいずれかとスレーブポート20(0〜N)のいずれかとの間の通信経路をアービトレーションするように構成され得ることに留意されたい。
図1に戻って参照すると、相互接続ネットワーク26内の通信経路は、バス相互接続12内で設けられたアービタ36(0〜N)、38(0〜M)によって、所望のマスターデバイス14(0〜M)とスレーブデバイス18(0〜N)との間で相互接続を構成するように構成可能である。相互接続ネットワーク26内でクロック制御される回路をクロック制御するために、バス相互接続クロック信号(bus_clk)46を生成するように構成されたバスクロック変更回路44を含む、クロックコントローラであってよいコントローラ42が提供される。コントローラ42は、コマンドをバスクロック変更回路44に発することによって、バス相互接続クロック信号46の周波数を制御する。バスクロック変更回路44は、クロック発生器50によって生成されるクロックソース信号(clk_src)48から、バス相互接続クロック信号46を生成する。クロック発生器50は、バス相互接続12の外部に設けられているように図1に示すが、必要な場合は代わりに、クロック発生器50は、バス相互接続12に含まれてもよい。クロック発生器50は、ソース周波数におけるクロックソース信号48を生成し、クロックソース信号48は次いで、バスクロック変更回路44に与えられ、またはバスクロック変更回路によって分割されて、相互接続ネットワーク26をクロック制御するためのバス相互接続クロック信号46をもたらす。コントローラ42は、バス相互接続12に含まれているように示されるが、必要な場合は代わりに、コントローラ42は、バス相互接続12の外部に設けられてもよいことに留意されたい。
バス相互接続クロック信号46の周波数を引き下げることで、fCV2に従ってバス相互接続12の電力消費が低減され得、ここで「f」は周波数、「C」はキャパシタンス、「V」は電圧である。キャパシタンス「C」は、バス相互接続12のクロックバッファリングツリー(clock buffering tree)と、クロックバッファリングツリーを駆動する回路とに基づく。バス相互接続クロック信号46の周波数を引き下げることで、バス相互接続12によって実行されるバストランザクションのレイテンシが増加し、それによりバス相互接続12の性能が低下する可能性がある。いくつかの例では、バス相互接続クロック信号46の周波数を引き下げることで、マスターポート16(0〜M)およびスレーブポート20(0〜N)の帯域幅とレイテンシとの(たとえば、規定された条件、たとえば閾値を超えることによる)許容できない劣化が引き起こされることはない。またある時には、バス相互接続クロック信号46の周波数を引き下げることで、マスターポート16(0〜M)およびスレーブポート20(0〜N)の帯域幅とレイテンシとの(たとえば、規定された条件、たとえば閾値を超えることによる)許容できない劣化が引き起こされる。マスターポート16(0〜M)およびスレーブポート20(0〜N)のために構成された個々の帯域幅条件と、マスターポート16(0〜M)のために構成された個々のレイテンシ条件とを維持するのに十分な周波数よりも高い周波数で、バス相互接続クロック信号46の周波数を維持し、そのことで、バス相互接続12において、追加の電力を不必要に消費する性能余裕が与えられるのではなく、本明細書で開示する実施形態は、バス相互接続クロック信号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)およびスレーブポート20(0〜N)の帯域幅のニーズを超えることに加えて、バス相互接続12の性能が、マスターポート16(0〜M)のために構成された最大レイテンシを凌駕する(すなわち、レイテンシは最大閾値条件よりも小さい)ものと付加的に判断される場合、バス相互接続クロック信号46の周波数は、電力を温存するために引き下げられてよい。バス相互接続クロック信号46の周波数が、マスターポート16(0〜M)のために構成された個々の最大レイテンシ条件を満たさないことを、バス相互接続12に引き起こさせる場合、バス相互接続クロック信号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〜M)およびスレーブポートバス24(0〜N)の周波数が変更され得る場合、バス相互接続クロック信号46の周波数は、マスターポート16(0〜M)およびスレーブポート20(0〜N)の個々の帯域幅のニーズならびにマスターポート16(0〜M)のために構成された個々のレイテンシ条件を維持しながら、電力を温存するために引き下げられてよい。図1および図2に示すように、この点について、この実施形態におけるコントローラ42はまた、クロックソース信号48をクロック変更回路52(0〜M)およびクロック変更回路54(0〜N)に与える。コントローラ42は、マスターポートバス22(0〜M)およびスレーブポートバス24(0〜N)の各々の周波数を変更するために、クロック変更回路52(0〜M)、54(0〜N)の各々にコマンドを発することができる。図2に示すように、クロック変更回路52(0〜M)およびクロック変更回路54(0〜N)は、マスターポートクロック信号56(0〜M)およびスレーブポートクロック信号58(0〜N)のそれぞれをマスターポートインターフェース28(0〜M)およびスレーブポートインターフェース40(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に対する下限周波数(frequency floor)および上限周波数(frequency ceiling)を構成する(図3Aのブロック70)。ヘッドルーム帯域幅レジスタは、帯域幅条件としてマスターポート16(0〜M)およびスレーブポート20(0〜N)上で利用可能な状態で保持される必要がある、余分な帯域幅の量を提供する。余分な帯域幅は、帯域幅の増加を検出し、それに応じて周波数を調整するためのヘッドルームが存在するように構成されてよい。
たとえば、任意の所与の時間において、マスターポートバス22(0〜M)のうちの1つまたは複数またはスレーブポートバス24(0〜N)のうちの1つまたは複数に対する最大帯域幅閾値の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〜N)の帯域幅が、マスターポート16(0〜M)およびスレーブポート20(0〜N)のすべてのために構成されたヘッドルーム帯域幅閾値よりも小さい場合(図3Aのブロック74)、バス相互接続クロック信号46の周波数を引き下げることが可能である。帯域幅が、マスターポート16(0〜M)およびスレーブポート20(0〜N)のために構成されたヘッドルーム帯域幅に等しいものとコントローラ42が判断する場合(図3Aのブロック74)、コントローラ42は、マスターポート16(0〜M)および/またはスレーブポート20(0〜N)のモニタリングを継続するために戻ることができる(図3Aのブロック72)。ブロック74で、帯域幅のいずれかが、マスターポート16(0〜M)およびスレーブポート20(0〜N)のために構成されたヘッドルーム帯域幅よりも大きいものとコントローラ42が判断する場合、コントローラ42は、図3Aのブロック86に関して以下で論じるように、バス相互接続クロック信号46の周波数を増加させることができる。図3Aのブロック74で、帯域幅が、マスターポート16(0〜M)およびスレーブポート20(0〜N)のために構成されたヘッドルーム帯域幅よりも小さいものとコントローラ42が判断する場合、コントローラ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)のみを抑制することで、バス相互接続クロック信号46の周波数を変更している間に、他のマスターポート16(0〜M)およびスレーブポート20(0〜N)が、バストランザクションを実行することを継続することが可能になる。次いで、コントローラ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)。必要なマスターポートキュー30(0〜M)およびスレーブポートキュー34(0〜N)は抑制されているので必要ではないが、マスターポートクロック信号56(0〜M)およびスレーブポートクロック信号58(0〜N)を停止することで、再同期のための再構成の間、電力消費が低減され得る。バス相互接続クロック信号46の周波数は、コントローラ42で構成される増分で引き下げられ得る。
バス相互接続12において与えられる構成に従う、ブロック74または76における帯域幅条件またはレイテンシ条件が、守られない場合、バス相互接続クロック信号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)のみを抑制することで、バス相互接続クロック信号46の周波数を変更している間に、他のマスターポート16(0〜M)およびスレーブポート20(0〜N)が、バストランザクションを実行することを継続することが可能になる。次いで、コントローラ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が設けられる。FSM93は、ハードウェア、ソフトウェア、または両方の組合せで実装することができる。
引き続き図4を参照すると、バス相互接続クロック信号46をスケーリングするために、マスターポート16(0〜M)に対して満たされるべきレイテンシ条件を構成するために、最大読取りレイテンシレジスタ94および最大書込みレイテンシレジスタ96が設けられる。たとえば、レイテンシ条件は、最大レイテンシ閾値であってよい。図4に示す一例では、バス相互接続クロック信号46をスケーリングするために、マスターポート16(0〜M)またはスレーブポート20(0〜N)に対して満たされるべき最小ヘッドルーム帯域幅を構成するために、読取りヘッドルーム帯域幅レジスタ98および書込みヘッドルーム帯域幅レジスタ100が設けられる。マスターポート16(0〜M)に対するトラフィックモニタ回路60(0〜M)またはスレーブポート20(0〜N)に対するトラフィックモニタ回路62(0〜N)から受信される読取りおよび書込みのレイテンシおよび帯域幅の情報を判断するために、読取りトラフィックモニタ102および書込みトラフィックモニタ104が、同様に設けられる。読取りレイテンシおよび書込みレイテンシが、それぞれ、最大読取りレイテンシレジスタ94および最大書込みレイテンシレジスタ96より低いかどうか、ならびに読取り帯域幅および書込み帯域幅が、それぞれ、読取りヘッドルーム帯域幅レジスタ98および書込みヘッドルーム帯域幅レジスタ100に記憶されている帯域幅のリミット内(すなわち、以下)にあるかどうか、を判断するために、読取りトラフィック比較器106および書込みトラフィック比較器108が設けられる。
引き続き図4を参照すると、OR論理112からの出力信号110によって与えられるとき、最大読取りレイテンシまたは最大書込みレイテンシのいずれかが満たされないか、または帯域幅に対するヘッドルームが維持されない場合、FSM93はこの条件を登録し、バス相互接続クロック信号46の周波数を引き下げることは、許可されない。例として、たとえば100ナノ秒(100ns)などの絶対時間に基づく最大レイテンシ閾値、または代わりに、一例として基準クロック信号を使用する相対的タイミングに基づく最大レイテンシ閾値が、レイテンシ条件として、最大読取りレイテンシレジスタ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の周波数と独立になることが可能になる。したがって、必要に応じて、マスターポート16(0〜M)およびスレーブポート20(0〜N)が、異なる周波数で動作することを継続することを可能にしながら、電力を温存し、性能余裕を低減または回避するために、バス相互接続クロック信号46のスケーリングが、所望の周波数において実行されてよい。マスターポート16(0〜M)と異なる周波数で動作するバス相互接続クロック信号46の一例を、図5に示す。この例では、バス相互接続クロック信号46は、100メガヘルツ(MHz)で動作している。マスターポート16(0)に対するマスターポートクロック信号56(0)は、バス相互接続クロック信号46と同期して動作しており、動作エッジ(operating edge)が、同じ周波数、すなわち本例では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)に対して整数の倍数/整除可能(integer multiple/divisible)であるときに発生する。この例では、マスターポートクロック信号56(1)は、バス相互接続クロック信号46の速度の半分である50MHzの周波数で動作している。マスターポートインターフェース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の新しい周波数と適合するように再構成される。この点について、本明細書で開示する実施形態は、バス相互接続クロック信号46の周波数がスケーリングされてレイテンシが低減されると、コントローラ42が、マスターポート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)によって使用されるこれらのクロック信号のうちの1つを選択する。本明細書の目的を論じるために、マルチプレクサ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を制御する。FSM140はまた、ポートクロック信号56(0〜M)、58(0〜N)がブランチセル138の出力として与えられることを可能にするために、クロック変更クロックイネーブル信号136を制御する。たとえば、対応するマスターポート16(0〜M)および/またはスレーブポート20(0〜N)が電力を温存するために使用されていないとき、ポートクロック信号56(0〜M)、58(0〜N)を停止することが所望されることがある。この点について、FSM140は、ポートクロック信号56(0〜M)、58(0〜N)を停止するために、クロック変更クロックイネーブル信号136を非アクティブにする。
クロックディバイダ135を制御してポートクロック信号56(0〜M)、58(0〜N)の周波数を選択するために、FSM140は、入力として、クロック変更要求信号(clk_chng_req)142と、ローカル状態機械クロック信号(sm_clk)144と、クロック変更コマンド信号(clk_chng_cmd)146上のコントローラ42からのクロック変更コマンドとを受信するように構成される。クロック変更コマンド要求は、ポートクロック信号56(0〜M)、58(0〜N)が、停止されるか、または周波数が増加もしくは減少されるかどうかを示す。FSM140は、クロック変更確認信号(clk_chng_ack)148上に、そのような要求の受信および完了の表示を与えることができる。ポートクロック信号56(0〜M)、58(0〜N)のステータスが、クロックオフステータス信号(clk_off_stat)150を介してFSM140によって取得され得る。
ポートクロック信号56(0〜M)、58(0〜N)の周波数を増加または減少させるために、FSM140が、クロック変更要求信号(clk_chng_req)142とクロック変更コマンド信号(clk_chng_cmd)146とを、図1のコントローラ42から受信すると、FSM140は、クロックディバイダ135を制御してバス相互接続クロック信号46の周波数を変更してポートクロック信号56(0〜M)、58(0〜N)を与える。新しい周波数が、上限周波数信号(div_ceiling)152および下限周波数信号(div_floor)154によってそれぞれ構成されるような上限周波数より上に、または下限周波数より下になる場合、この実施形態におけるFSM140は、ポートクロック信号56(0〜M)、58(0〜N)の周波数を変更しない。FSM140は、更新信号(div_update)156の構成によって選択される段階で、ポートクロック信号56(0〜M)、58(0〜N)の周波数を増加/減少させる。クロック変更コマンド要求がポートクロック信号56(0〜M)、58(0〜N)を停止することである場合、FSM140は、クロック変更クロックイネーブル信号136を非アクティブにする。
図8は、ポートクロック信号56(0〜M)、58(0〜N)および/またはバス相互接続クロック信号46をスケーリングする、図7のクロック変更回路の例示的なタイミング図である。そこに示されているように、クロック変更要求信号(clk_chng_req)142およびクロック変更コマンド信号(clk_chng_cmd)146は、コントローラ42によって、図7のクロック変更回路52(0〜M)、54(0〜N)に対してアサートされる。クロック変更コマンドは、ポートクロック信号56(0〜M)、58(0〜N)の周波数を減少させる(DOWN)ようにFSM140に要求するための符号化を与える。応答して、FSM140は、クロック変更確認信号(clk_chng_ack)148と「STEADY」状態から「SCALE」状態への遷移とをアサートする。ポートクロック信号56(0〜M)、58(0〜N)の周波数は、クロックディバイダ135を制御することによって低減される。クロック変更確認信号(clk_chng_ack)148は、周波数変更要求が完了するまでアサートされたままである。その後、クロック変更要求信号(clk_chng_req)142がアサート停止され、クロック変更コマンド信号(clk_chng_cmd)146が、FSM140に対して「DON'T CARE」(DC)になる。同様に、FSM140が「STEADY」状態に戻った後、コントローラ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は、コントローラ42によって、図7のクロック変更回路52(0〜M)、54(0〜N)に対してアサートされる。クロック変更コマンド信号(clk_chng_cmd)146は、ポートクロック信号56(0〜M)、58(0〜N)を停止する(STOP)ようにFSM140に要求するための符号化を与える。応答して、FSM140は、クロック変更確認信号(clk_chng_ack)148をアサートし、「STEADY」状態から「STANDBY」状態へ遷移する。ポートクロック信号56(0〜M)、58(0〜N)は、FSM140によって停止され、図7のブランチセル138に対してクロック変更イネーブル信号(clk_chng_clk_en)136がアサート停止される。クロック変更確認信号(clk_chng_ack)148は、停止要求がアサート停止されるまでアサートされたままである。その後、クロック変更要求信号(clk_chng_req)142がアサートされたままであり、クロック変更コマンド信号(clk_chng_cmd)146が、FSM140に対して「DON'T CARE」(DC)になる。クロックオフステータス信号(clk_off_stat)150は、ポートクロック信号56(0〜M)、58(0〜N)が停止されていることを示す。ポートクロック信号56(0〜M)、58(0〜N)は、クロック変更要求信号(clk_chng_req)142がアサート停止された後、再起動され得、それにより、FSM140は、「WAIT」状態から遷移し、次いでクロック変更確認信号(clk_chng_ack)148をアサート停止し、新しいコマンドを待つために「STEADY」状態に遷移する。
本明細書で論じる、バス相互接続ならびに関係するデバイス、システムおよび方法、ならびにバス相互接続周波数スケーリングをサポートするコンピュータ可読媒体は、限定はしないが、同期デジタル回路、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を含むCPU164を含む。キャッシュシステム168は、頻繁にアクセスされるデータの一時的な記憶への高速なアクセスのために、プロセッサ166にアクセス可能なキャッシュメモリ172へのアクセスを制御する、キャッシュ管理ユニット170を含む。CPU164は、プロセッサベースのシステム160に含まれる他のデバイスを相互に接続するシステムバス174に結合される。よく知られているように、CPU164は、システムバス174を介してアドレス情報、制御情報、およびデータ情報を交換することによって、これらの他のデバイスと通信する。これらのデバイスは、任意の種類のデバイスを含み得る。図10に示すように、これらのデバイスは、例として、システムメモリ176、1つまたは複数の入力デバイス178、1つまたは複数の出力デバイス180、ネットワークインターフェースデバイス182、およびディスプレイコントローラ184を含み得る。システムメモリ176は、コンピュータ可読媒体の一例である。
1つまたは複数の入力デバイス178は、限定はしないが、入力キー、スイッチ、音声プロセッサ、メモリドライブ、ディスク、コンパクトディスク(CD)、デジタルビデオディスク(DVD)などを含めて、任意のタイプの入力デバイスを含み得る。これらの入力デバイス178はまた、ソフトウェア命令を含むコンピュータ可読媒体であり得る。1つまたは複数の出力デバイス180は、限定はしないが、オーディオ、ビデオ、他の視覚インジケータなどを含めて、任意のタイプの出力デバイスを含み得る。ネットワークインターフェースデバイス182は、ワイヤード接続を介してまたはワイヤレスにアンテナ187を介して、ネットワーク186との間でデータを交換することができるように構成された任意のデバイスであってよい。ネットワーク186は、限定はしないが、ワイヤードネットワークまたはワイヤレスネットワーク、非公開ネットワークまたは公開ネットワーク、ローカルエリアネットワーク(LAN)、ワイドローカルエリアネットワーク(WLAN)、インターネット、第3世代(3G)ネットワーク、および第4世代(4G)ネットワークの例を含めて、任意の種類のネットワークであってよい。ネットワークインターフェースデバイス182は、所望の任意の種類の通信プロトコルをサポートすることができる。
CPU164はまた、システムバス174を介してシステムメモリ176にアクセスすることもできる。システムメモリ176は、システムメモリ176にアクセスするための、上記で前に説明した回路および方法を含み得る。システムメモリ176は、スタティックメモリおよび/またはダイナミックメモリを含み得る。システムメモリ176は、CPU164のために、プログラム記憶装置188およびデータ記憶装置190を含み得る。CPU164はまた、システムバス174を介してディスプレイコントローラ184にアクセスして、ディスプレイ192に送信される情報を制御することもできる。ディスプレイコントローラ184は、メモリコントローラ194と、CPU164との通信に応答してディスプレイ192に送信されるべきデータを記憶するためのメモリ196とを含み得る。ディスプレイコントローラ184は、ビデオプロセッサ198を介して表示されるべき情報を、ディスプレイ192に送り、ビデオプロセッサ198は、表示されるべき情報を、ディスプレイ192に適切なフォーマットとなるように処理する。ディスプレイ192は、限定はされないが、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイなどを含む、任意の種類のディスプレイを含み得る。
本明細書で開示する実施形態とともに説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムは、電子的なハードウェアとして、メモリもしくは別のコンピュータ可読媒体に記憶されプロセッサもしくは他の処理デバイスにより実行される命令として、またはこれら両方の組合せとして実装され得ることが、当業者にはさらに理解されよう。この互換性を明確に示すために、上記では、様々な例示的構成要素、ブロック、モジュール、回路、およびステップは全般的に、それらの機能に関して説明している。そのような機能がどのように実装されるかは、具体的な用途、設計の選択、および/またはシステム全体に課される設計制約により決まる。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、および回路は、プロセッサ、DSP、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理回路、個別ハードウェア構成要素、または本明細書で説明する機能を実行するように設計されたそれらの任意の組合せで実装または実行することができる。プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。
本明細書で開示する実施形態は、ハードウェアで具現化されてよく、メモリに記憶される命令により具現化されてよく、たとえば、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、電気的プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または、当技術分野で知られている任意の他の形態のコンピュータ可読媒体に、存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体はASIC中に常駐し得る。ASICは遠隔局に存在し得る。代替的には、プロセッサおよび記憶媒体は、遠隔局、基地局、またはサーバの中に、個別の構成要素として存在し得る。本明細書で「信号」と呼ばれる任意の要素はまた、回路の配線(line)もしくは線路(trace)または他の通信線であってよく、回路の配線もしくは線路または他の通信線の上に供給されてもよい。
本明細書の例示的な実施形態のいずれかで説明した動作ステップは、例および議論を提供するために説明したものであることにも、留意されたい。説明した動作は、例示した順序以外の多くの異なる順序で実行されてもよい。さらに、単一の動作ステップで説明する動作は、実際には、多くの異なるステップで実行され得る。加えて、例示的な実施形態において論じた1つまたは複数の動作ステップは、組み合わされてもよい。フロー図において例示する動作ステップは、当業者に容易に明らかとなるような多くの異なる修正を受けてもよいことを、理解されたい。情報および信号は、多種多様な技術および技法のいずれかを使用して表され得ることも、当業者には理解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
本開示の前述の説明は、いかなる当業者でも本開示を作成または使用することができるように提供される。本開示への様々な修正は当業者には容易に明らかであり、本明細書で定義した一般原理は、本開示の趣旨または範囲から逸脱することなく他の変形形態に適用できる。したがって、本開示は、本明細書で説明した例および設計に限定されることを意図するものではなく、本明細書で開示する原理および新規の特徴に一致する最も広い範囲を与えられるべきである。
10 バス相互接続システム
12 バス相互接続
14(0〜M) マスターデバイス
16(0〜M) マスターポート
18(0〜N) スレーブデバイス
20(0〜N) スレーブポート
21 半導体ダイ
22(0〜M) マスターポートバス
24(0〜N) スレーブポートバス
26 相互接続ネットワーク
28(0〜M) マスターポートインターフェース
30(0〜M) マスターポートキュー
32 アービタ
34(0〜N) スレーブポートキュー
36(0〜N) アドレス指定アービタ
38(0〜M) データ(読取り/書込み)アービタ
40(0〜N) スレーブポートインターフェース
42 コントローラ
44 バスクロック変更回路
46 バス相互接続クロック信号
48 クロックソース信号
50 クロック発生器
52(0〜M) クロック変更回路
54(0〜N) クロック変更回路
56(0〜M) マスターポートクロック信号
58(0〜N) スレーブポートクロック信号
60(0〜M) マスターポートトラフィックモニタ回路
62(0〜N) スレーブポートトラフィックモニタ回路
93 有限状態機械(FSM)
94 最大読取りレイテンシレジスタ
96 最大書込みレイテンシレジスタ
98 読取りヘッドルーム帯域幅レジスタ
100 書込みヘッドルーム帯域幅レジスタ
102 読取りトラフィックモニタ
104 書込みトラフィックモニタ
106 読取りトラフィック比較器
108 書込みトラフィック比較器
110 出力信号
112 OR論理
134 マルチプレクサ
135 クロックディバイダ
136 クロック変更クロックイネーブル信号
138 ブランチセル
140 FSM
142 クロック変更要求信号
144 ローカル状態機械クロック信号
146 クロック変更コマンド信号
148 クロック変更確認信号
150 クロックオフステータス信号
152 上限周波数信号
154 下限周波数信号
156 更新信号
160 プロセッサベースのシステム
162 電子デバイス
164 CPU
166 プロセッサ
168 キャッシュシステム
170 キャッシュ管理ユニット
172 キャッシュメモリ
174 システムバス
176 システムメモリ
178 入力デバイス
180 出力デバイス
182 ネットワークインターフェースデバイス
184 ディスプレイコントローラ
186 ネットワーク
187 アンテナ
188 プログラム記憶装置
190 データ記憶装置
192 ディスプレイ
194 メモリコントローラ
196 メモリ
198 ビデオプロセッサ

Claims (46)

  1. 複数のマスターポートの中の少なくとも1つのマスターポートを少なくとも1つのスレーブポートに接続するように構成可能な相互接続ネットワークと、
    前記相互接続ネットワークをクロック制御するためにバス相互接続クロック信号を生成するように構成されたコントローラとを備え、
    前記コントローラが、
    前記少なくとも1つのマスターポートを介して通信されるトラフィックに関する少なくとも1つの第1の帯域幅情報を受信し、
    前記少なくとも1つのスレーブポートを介して通信されるトラフィックに関する少なくとも1つの第2の帯域幅情報を受信し、
    (a)前記少なくとも1つの第1の帯域幅情報が個々の少なくとも1つの第1の帯域幅条件を満たすことと、
    (b)前記少なくとも1つの第2の帯域幅情報が個々の少なくとも1つの第2の帯域幅条件を満たすことと
    のうちの少なくとも1つに応答して、前記バス相互接続クロック信号の周波数をスケーリングするように構成される、バス相互接続。
  2. 前記コントローラが、前記少なくとも1つの第1の帯域幅情報が前記個々の少なくとも1つの第1の帯域幅条件を満たすことと、前記少なくとも1つの第2の帯域幅情報が前記個々の少なくとも1つの第2の帯域幅条件を満たすこととに応答して、前記バス相互接続クロック信号の前記周波数を減少させるように構成される、請求項1に記載のバス相互接続。
  3. 前記コントローラが、少なくとも1つの第1のヘッドルーム帯域幅閾値よりも小さいという前記少なくとも1つの第1の帯域幅情報と、少なくとも1つの第2のヘッドルーム帯域幅閾値よりも小さいという前記少なくとも1つの第2の帯域幅情報とに応答して、前記バス相互接続クロック信号の前記周波数を減少させるように構成される、請求項2に記載のバス相互接続。
  4. 前記コントローラが、前記複数のマスターポートのすべてに対する前記少なくとも1つの第1の帯域幅情報が前記個々の少なくとも1つの第1の帯域幅条件を満たすことと、前記複数のスレーブポートのすべてに対する前記少なくとも1つの第2の帯域幅情報が前記個々の少なくとも1つの第2の帯域幅条件を満たすこととに応答して、前記バス相互接続クロック信号の前記周波数を減少させるようにさらに構成される、請求項2に記載のバス相互接続。
  5. 前記コントローラが、前記少なくとも1つの第1の帯域幅情報が前記個々の少なくとも1つの第1の帯域幅条件を満たさないことか、または前記少なくとも1つの第2の帯域幅情報が前記個々の少なくとも1つの第2の帯域幅条件を満たさないことに応答して、前記バス相互接続クロック信号の前記周波数を増加させるように構成される、請求項1に記載のバス相互接続。
  6. 前記コントローラが、個々の少なくとも1つの第1のヘッドルーム帯域幅閾値よりも大きいという前記個々の少なくとも1つの第1の帯域幅情報か、または個々の少なくとも1つの第2のヘッドルーム帯域幅閾値よりも大きいという前記個々の少なくとも1つの第2の帯域幅情報に応答して、前記バス相互接続クロック信号の前記周波数を増加させるように構成される、請求項5に記載のバス相互接続。
  7. 前記個々の少なくとも1つの第1の帯域幅条件が、個々の読取りヘッドルーム帯域幅条件と個々の第1の書込みヘッドルーム帯域幅条件とからなる、請求項1に記載のバス相互接続。
  8. 前記コントローラが、
    前記少なくとも1つのマスターポートを介して通信されるトラフィックに関する少なくとも1つのレイテンシ情報を受信し、
    前記少なくとも1つのレイテンシ情報が個々のレイテンシ条件を満たすことに応答して、付加的に前記バス相互接続クロック信号の前記周波数をスケーリングする
    ようにさらに構成される、請求項1に記載のバス相互接続。
  9. 前記コントローラが、前記少なくとも1つのレイテンシ情報が前記個々のレイテンシ条件を満たすことに応答して、付加的に前記バス相互接続クロック信号の前記周波数を減少させるように構成される、請求項8に記載のバス相互接続。
  10. 前記コントローラが、個々の少なくとも1つの最大レイテンシ閾値よりも小さいという前記個々の少なくとも1つのレイテンシ情報に応答して、付加的に前記バス相互接続クロック信号の前記周波数を減少させるように構成される、請求項9に記載のバス相互接続。
  11. 前記コントローラが、前記複数のマスターポートのすべてに対する前記少なくとも1つのレイテンシ情報が前記個々のレイテンシ条件を満たすことに応答して、付加的に前記バス相互接続クロック信号の前記周波数を減少させるようにさらに構成される、請求項9に記載のバス相互接続。
  12. 前記個々のレイテンシ条件が、最大読取りレイテンシ閾値と最大書込みレイテンシ閾値とからなる、請求項8に記載のバス相互接続。
  13. 前記少なくとも1つのマスターポートをクロック制御するために少なくとも1つのマスターポートクロック信号を生成するように構成された少なくとも1つのマスターポートクロック発生器と、
    前記少なくとも1つのスレーブポートをクロック制御するために少なくとも1つのスレーブポートクロック信号を生成するように構成された少なくとも1つのスレーブポートクロック発生器と
    をさらに備える、請求項1に記載のバス相互接続。
  14. 前記コントローラが、前記少なくとも1つのマスターポートクロック信号と前記少なくとも1つのスレーブポートクロック信号とのうちの1つまたは複数を、前記バス相互接続クロック信号と同期するように構成するようにさらに構成される、請求項13に記載のバス相互接続。
  15. 前記コントローラが、前記少なくとも1つのマスターポートクロック信号と前記少なくとも1つのスレーブポートクロック信号とのうちの1つまたは複数を、前記バス相互接続クロック信号と立上がりエッジ同期するように構成するようにさらに構成される、請求項13に記載のバス相互接続。
  16. 前記コントローラが、前記少なくとも1つのマスターポートクロック信号と前記少なくとも1つのスレーブポートクロック信号とのうちの1つまたは複数を、前記バス相互接続クロック信号と非同期となるように構成するようにさらに構成される、請求項13に記載のバス相互接続。
  17. 前記少なくとも1つのマスターポートクロック発生器および前記少なくとも1つのスレーブポートクロック発生器のうちの少なくとも1つが前記コントローラである、請求項13に記載のバス相互接続。
  18. 前記少なくとも1つのマスターポートクロック信号および前記少なくとも1つのスレーブポートクロック信号が、前記バス相互接続クロック信号から生成される、請求項13に記載のバス相互接続。
  19. 前記コントローラが、前記バス相互接続クロック信号の周波数がスケーリングされる前に再構成されるべき、前記少なくとも1つのマスターポートおよび前記少なくとも1つのスレーブポートのうちの1つまたは複数に対して、前記少なくとも1つのマスターポートクロック発生器および前記少なくとも1つのスレーブポートクロック発生器のうちの1つまたは複数を停止するようにさらに構成される、請求項13に記載のバス相互接続。
  20. 少なくとも1つの半導体ダイに組み込まれる、請求項1に記載のバス相互接続。
  21. 前記バス相互接続が一体化されるセットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定位置データユニット、モバイル位置データユニット、モバイルフォン、セルラーフォン、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、モニタ、コンピュータモニタ、テレビ、チューナ、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、ビデオプレーヤ、デジタルビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、およびポータブルデジタルビデオプレーヤからなる群から選択されたデバイスをさらに備える、請求項1に記載のバス相互接続。
  22. 複数のマスターポートの中の少なくとも1つのマスターポートを少なくとも1つのスレーブポートに接続するように構成可能な相互接続ネットワークと、
    前記相互接続ネットワークをクロック制御するためにバス相互接続クロック信号を生成するように構成されたコントローラとを備え、
    前記コントローラが、
    前記少なくとも1つのマスターポートを介して通信されるトラフィックに関する少なくとも1つの第1の帯域幅情報を受信し、
    前記少なくとも1つのスレーブポートを介して通信されるトラフィックに関する少なくとも1つの第2の帯域幅情報を受信し、
    前記少なくとも1つのマスターポートを介して通信されるトラフィックに関する少なくとも1つのレイテンシ情報を受信し、
    (a)前記少なくとも1つの第1の帯域幅情報が個々の少なくとも1つの第1の帯域幅条件を満たさないことか、または
    (b)前記少なくとも1つの第2の帯域幅情報が個々の少なくとも1つの第2の帯域幅条件を満たさないことか、または
    (c)前記少なくとも1つのレイテンシ情報が個々のレイテンシ条件を満たすこと
    に応答して、前記バス相互接続クロック信号の周波数を増加させるように構成される、バス相互接続。
  23. 前記少なくとも1つの第1の帯域幅情報が少なくとも1つの第1のヘッドルーム帯域幅閾値からなり、前記少なくとも1つの第2の帯域幅情報が少なくとも1つの第2のヘッドルーム帯域幅閾値からなる、請求項22に記載のバス相互接続。
  24. 前記少なくとも1つのレイテンシ情報が、少なくとも1つの最大レイテンシ閾値からなる、請求項22に記載のバス相互接続。
  25. 複数のマスターポートの中の少なくとも1つのマスターポートを少なくとも1つのスレーブポートに接続するように構成可能な相互接続ネットワークと、
    前記相互接続ネットワークをクロック制御するためにバス相互接続クロック信号を生成するように構成されたコントローラとを備え、
    前記コントローラが、
    前記少なくとも1つのマスターポートを介して通信されるトラフィックに関する少なくとも1つの第1の帯域幅情報を受信し、
    前記少なくとも1つのスレーブポートを介して通信されるトラフィックに関する少なくとも1つの第2の帯域幅情報を受信し、
    前記少なくとも1つのマスターポートを介して通信されるトラフィックに関する少なくとも1つのレイテンシ情報を受信し、
    (a)前記少なくとも1つの第1の帯域幅情報が個々の少なくとも1つの第1の帯域幅条件を満たさないことと、
    (b)前記少なくとも1つの第2の帯域幅情報が個々の少なくとも1つの第2の帯域幅条件を満たさないことと、
    (c)前記少なくとも1つのレイテンシ情報が個々のレイテンシ条件を満たすことと
    に応答して前記バス相互接続クロック信号の周波数を減少させるように構成される、バス相互接続。
  26. 前記少なくとも1つの第1の帯域幅情報が少なくとも1つの第1のヘッドルーム帯域幅閾値からなり、前記少なくとも1つの第2の帯域幅情報が少なくとも1つの第2のヘッドルーム帯域幅閾値からなる、請求項25に記載のバス相互接続。
  27. 前記少なくとも1つのレイテンシ情報が、少なくとも1つの最大レイテンシ閾値からなる、請求項26に記載のバス相互接続。
  28. 複数のマスターポートの中の少なくとも1つのマスターポートを少なくとも1つのスレーブポートに接続するための相互接続ネットワーク手段と、
    前記少なくとも1つのマスターポートを介して通信されるトラフィックに関する少なくとも1つの第1の帯域幅情報を受信することと、
    前記少なくとも1つのスレーブポートを介して通信されるトラフィックに関する少なくとも1つの第2の帯域幅情報を受信することと、
    (a)前記第1の帯域幅情報のうちの前記少なくとも1つが個々の少なくとも1つの第1の帯域幅条件を満たすことと、
    (b)前記第2の帯域幅情報のうちの前記少なくとも1つが個々の少なくとも1つの第2の帯域幅条件を満たすことと
    のうちの少なくとも1つに応答して、バス相互接続クロック信号の周波数をスケーリングすることと
    によって相互接続ネットワークをクロック制御するために、バス相互接続クロック信号を生成するためのコントローラ手段とを備える、バス相互接続。
  29. バス相互接続のためのバス相互接続クロック信号をスケーリングする方法であって、
    少なくとも1つのマスターポートを少なくとも1つのスレーブポートに接続するように構成される相互接続ネットワークに接続された複数のマスターポートの中の少なくとも1つのマスターポートを介して通信されるトラフィックに関する少なくとも1つの第1の帯域幅情報を受信するステップと、
    前記少なくとも1つのスレーブポートを介して通信されるトラフィックに関する少なくとも1つの第2の帯域幅情報を受信するステップと、
    (a)前記少なくとも1つの第1の帯域幅情報が個々の少なくとも1つの第1の帯域幅条件を満たすことと、
    (b)前記少なくとも1つの第2の帯域幅情報が個々の少なくとも1つの第2の帯域幅条件を満たすことと
    のうちの少なくとも1つに応答して、前記相互接続ネットワークをクロック制御する前記バス相互接続クロック信号の周波数をスケーリングするステップとを含む、方法。
  30. 前記スケーリングするステップが、前記少なくとも1つの第1の帯域幅情報が前記個々の少なくとも1つの第1の帯域幅条件を満たすことと、前記少なくとも1つの第2の帯域幅情報が前記個々の少なくとも1つの第2の帯域幅条件を満たすこととに応答して、前記バス相互接続クロック信号の前記周波数を減少させるステップを含む、請求項29に記載の方法。
  31. 前記複数のマスターポートのすべてに対する前記少なくとも1つの第1の帯域幅情報が前記個々の少なくとも1つの第1の帯域幅条件を満たすことと、前記複数のスレーブポートのすべてに対する前記少なくとも1つの第2の帯域幅情報が前記個々の少なくとも1つの第2の帯域幅条件を満たすこととに応答して、前記バス相互接続クロック信号の前記周波数を減少させるステップをさらに含む、請求項30に記載の方法。
  32. 前記スケーリングするステップが、前記少なくとも1つの第1の帯域幅情報が前記個々の少なくとも1つの第1の帯域幅条件を満たさないことか、または前記少なくとも1つの第2の帯域幅情報が前記個々の少なくとも1つの第2の帯域幅条件を満たさないことに応答して、前記バス相互接続クロック信号の前記周波数を増加させるステップを含む、請求項29に記載の方法。
  33. 前記少なくとも1つのマスターポートを介して通信されるトラフィックに関する少なくとも1つのレイテンシ情報を受信するステップと、
    前記少なくとも1つのレイテンシ情報が個々のレイテンシ条件を満たすことに応答して、付加的に前記バス相互接続クロック信号の前記周波数をスケーリングするステップと
    をさらに含む、請求項29に記載の方法。
  34. 前記スケーリングするステップが、前記少なくとも1つのレイテンシ情報が前記個々のレイテンシ条件を満たすことに応答して、付加的に前記バス相互接続クロック信号の前記周波数を減少させるステップを含む、請求項33に記載の方法。
  35. 前記少なくとも1つのマスターポートをクロック制御するために少なくとも1つのマスターポートクロック信号を生成するステップと、
    前記少なくとも1つのスレーブポートをクロック制御するために少なくとも1つのスレーブポートクロック信号を生成するステップと
    をさらに含む、請求項29に記載の方法。
  36. 前記少なくとも1つのマスターポートクロック信号と前記少なくとも1つのスレーブポートクロック信号とのうちの1つまたは複数を、前記バス相互接続クロック信号と同期するように構成するステップをさらに含む、請求項35に記載の方法。
  37. 前記少なくとも1つのマスターポートクロック信号と前記少なくとも1つのスレーブポートクロック信号とのうちの1つまたは複数を、前記バス相互接続クロック信号と立上がりエッジ同期するように構成するステップをさらに含む、請求項35に記載の方法。
  38. 前記少なくとも1つのマスターポートクロック信号と前記少なくとも1つのスレーブポートクロック信号とのうちの1つまたは複数を、前記バス相互接続クロック信号と非同期となるように構成するステップをさらに含む、請求項35に記載の方法。
  39. 前記バス相互接続クロック信号の前記周波数がスケーリングされる前に再構成されるべき、前記少なくとも1つのマスターポートおよび前記少なくとも1つのスレーブポートのうちの1つまたは複数に対して、前記少なくとも1つのマスターポートクロック発生器および前記少なくとも1つのスレーブポートクロック発生器のうちの1つまたは複数を停止するステップをさらに含む、請求項29に記載の方法。
  40. コントローラによって生成され、(a)少なくとも1つのマスターポートを介して通信されるトラフィックに関する少なくとも1つの第1の帯域幅情報が個々の少なくとも1つの第1の帯域幅条件を満たすことと、(b)少なくとも1つのスレーブポートを介して通信されるトラフィックに関する、少なくとも1つの第2の帯域幅情報が個々の少なくとも1つの第2の帯域幅条件を満たすこととのうちの少なくとも1つに応答して、相互接続ネットワークをクロック制御するように構成された、バス相互接続クロック信号の周波数をスケーリングすることを、複数のマスターポートの中の少なくとも1つのマスターポートを少なくとも1つのスレーブポートに接続するように構成可能な相互接続ネットワークを備えるバス相互接続に引き起こさせるコンピュータ実行可能命令を記録する、コンピュータ可読記録媒体。
  41. 前記コンピュータ実行可能命令が、さらに、前記少なくとも1つの第1の帯域幅情報が前記個々の少なくとも1つの第1の帯域幅条件を満たすことと、前記少なくとも1つの第2の帯域幅情報が前記個々の少なくとも1つの第2の帯域幅条件を満たすこととに応答して、前記バス相互接続クロック信号の前記周波数を減少させることを、前記コントローラに引き起こさせる、請求項40に記載のコンピュータ可読記録媒体。
  42. 前記コンピュータ実行可能命令が、さらに、前記少なくとも1つの第1の帯域幅情報が前記個々の少なくとも1つの第1の帯域幅条件を満たさないことか、または前記少なくとも1つの第2の帯域幅情報が前記個々の少なくとも1つの第2の帯域幅条件を満たさないことに応答して、前記バス相互接続クロック信号の前記周波数を増加させることを、前記コントローラに引き起こさせる、請求項40に記載のコンピュータ可読記録媒体。
  43. 前記コンピュータ実行可能命令が、さらに、
    前記少なくとも1つのマスターポートを介して通信されるトラフィックに関する少なくとも1つのレイテンシ情報を受信することと、
    前記少なくとも1つのレイテンシ情報が個々のレイテンシ条件を満たすことに応答して、付加的に前記バス相互接続クロック信号の前記周波数をスケーリングすることと
    を前記コントローラに引き起こさせる、請求項40に記載のコンピュータ可読記録媒体。
  44. 前記コントローラが、少なくとも1つのマスターポートクロック信号と少なくとも1つのスレーブポートクロック信号とのうちの少なくとも1つを、前記バス相互接続クロック信号と同期するように構成するようにさらに構成される、請求項40に記載のコンピュータ可読記録媒体。
  45. 前記コントローラが、前記少なくとも1つのマスターポートをクロック制御するために少なくとも1つのマスターポートクロック信号を生成するように構成された少なくとも1つのマスターポートクロック発生器と、前記少なくとも1つのスレーブポートをクロック制御するために少なくとも1つのスレーブポートクロック信号を生成するように構成された少なくとも1つのスレーブポートクロック発生器とのうちの少なくとも1つを、前記バス相互接続クロック信号と非同期になるように構成するようにさらに構成される、請求項40に記載のコンピュータ可読記録媒体。
  46. 前記コントローラが、前記少なくとも1つのマスターポートをクロック制御するために少なくとも1つのマスターポートクロック信号を生成するように構成された少なくとも1つのマスターポートクロック発生器と、前記少なくとも1つのスレーブポートをクロック制御するために少なくとも1つのスレーブポートクロック信号を生成するように構成された少なくとも1つのスレーブポートクロック発生器とのうちの少なくとも1つを、前記バス相互接続クロック信号と立上がりエッジ同期するように構成するようにさらに構成される、請求項40に記載のコンピュータ可読記録媒体。
JP2016082695A 2011-01-28 2016-04-18 バス相互接続のためのバスクロック周波数スケーリング、ならびに関係するデバイス、システム、および方法 Active JP5985777B1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
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
US13/015,657 2011-01-28

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013551419A Division JP5923525B2 (ja) 2011-01-28 2012-01-30 バス相互接続のためのバスクロック周波数スケーリング、ならびに関係するデバイス、システム、および方法

Publications (2)

Publication Number Publication Date
JP5985777B1 JP5985777B1 (ja) 2016-09-06
JP2016164798A true JP2016164798A (ja) 2016-09-08

Family

ID=45607388

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013551419A Active JP5923525B2 (ja) 2011-01-28 2012-01-30 バス相互接続のためのバスクロック周波数スケーリング、ならびに関係するデバイス、システム、および方法
JP2016082695A Active JP5985777B1 (ja) 2011-01-28 2016-04-18 バス相互接続のためのバスクロック周波数スケーリング、ならびに関係するデバイス、システム、および方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2013551419A Active JP5923525B2 (ja) 2011-01-28 2012-01-30 バス相互接続のためのバスクロック周波数スケーリング、ならびに関係するデバイス、システム、および方法

Country Status (6)

Country Link
US (1) US9286257B2 (ja)
EP (1) EP2668579B1 (ja)
JP (2) JP5923525B2 (ja)
KR (1) KR101519023B1 (ja)
CN (1) CN103477334B (ja)
WO (1) WO2012103558A1 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140013129A1 (en) 2012-07-09 2014-01-09 L. Pierre de Rochemont Hybrid computing module
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
US9690736B2 (en) * 2012-07-10 2017-06-27 Nvidia Corporation Managing state transitions of a data connector using a finite state machine
US9672046B2 (en) * 2012-12-28 2017-06-06 Intel Corporation Apparatus and method for intelligently powering heterogeneous processor components
US9639372B2 (en) 2012-12-28 2017-05-02 Intel Corporation Apparatus and method for heterogeneous processors mapping to virtual cores
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工作频率的方法
KR102384347B1 (ko) 2015-05-26 2022-04-07 삼성전자주식회사 클록 관리 유닛을 포함하는 시스템 온 칩 및 그 동작방법
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
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
US11354659B1 (en) * 2016-12-19 2022-06-07 Amazon Technologies, Inc. Securing transaction messages based on a dynamic key selection
US11341489B1 (en) 2016-12-19 2022-05-24 Amazon Technologies, Inc. Multi-path back-end system for payment processing
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001256179A (ja) * 2000-03-14 2001-09-21 Sharp Corp プロセッサシステム
JP2005071367A (ja) * 2003-08-22 2005-03-17 Hewlett-Packard Development Co Lp デバイスの帯域幅特性に基づいたバスクロック周波数管理
JP2007034459A (ja) * 2005-07-25 2007-02-08 Sharp Corp バスシステム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210506A (ja) 1994-01-21 1995-08-11 Hitachi Ltd アクセス制御方式
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
US6954821B2 (en) * 2003-07-31 2005-10-11 Freescale Semiconductor, Inc. Crossbar switch that supports a multi-port slave device and method of operation
US7606960B2 (en) * 2004-03-26 2009-10-20 Intel Corporation Apparatus for adjusting a clock frequency of a variable speed bus
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
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001256179A (ja) * 2000-03-14 2001-09-21 Sharp Corp プロセッサシステム
JP2005071367A (ja) * 2003-08-22 2005-03-17 Hewlett-Packard Development Co Lp デバイスの帯域幅特性に基づいたバスクロック周波数管理
JP2007034459A (ja) * 2005-07-25 2007-02-08 Sharp Corp バスシステム

Also Published As

Publication number Publication date
US9286257B2 (en) 2016-03-15
KR101519023B1 (ko) 2015-05-11
CN103477334B (zh) 2016-07-06
JP5923525B2 (ja) 2016-05-24
EP2668579A1 (en) 2013-12-04
JP5985777B1 (ja) 2016-09-06
US20120198266A1 (en) 2012-08-02
KR20130129270A (ko) 2013-11-27
WO2012103558A1 (en) 2012-08-02
EP2668579B1 (en) 2016-06-29
JP2014505310A (ja) 2014-02-27
CN103477334A (zh) 2013-12-25

Similar Documents

Publication Publication Date Title
JP5985777B1 (ja) バス相互接続のためのバスクロック周波数スケーリング、ならびに関係するデバイス、システム、および方法
US8769332B2 (en) Regional clock gating and dithering
US10175905B2 (en) Systems and methods for dynamically switching memory performance states
US20130151869A1 (en) Method for soc performance and power optimization
US8671380B2 (en) Dynamic frequency control using coarse clock gating
US8661284B2 (en) Method and system to improve the operations of a registered memory module
US11748284B2 (en) Systems and methods for arbitrating traffic in a bus
TW201234169A (en) Coordinating performance parameters in multiple circuits
US8912830B2 (en) Method and apparatus for atomic frequency and voltage changes
JP2018512681A (ja) 出力イネーブル信号を生成するための制御回路ならびに関連のシステムおよび方法
EP3757998A1 (en) Static random access memory (sram) global bitline circuits for reducing power glitches during memory read accesses, and related methods and systems
US20230112432A1 (en) Dynamic setup and hold times adjustment for memories
US10304530B2 (en) Per-pin compact reference voltage generator
US20240004449A1 (en) Domain clock and power activation control circuit to reduce voltage droop and related methods
US20140181571A1 (en) Managing fast to slow links in a bus fabric
WO2023064729A1 (en) Dynamic setup and hold times adjustment for memories
CN118103908A (zh) 存储器的动态设置时间和保持时间调节

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160624

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160704

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160803

R150 Certificate of patent or registration of utility model

Ref document number: 5985777

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250