(57)【要約】  分散仮想メモリ(DVM)ネットワークに関する電力ドメインおよびクロックドメインの完全ハードウェア管理のための方法およびシステムを開示する。一態様は、DVMイニシエータからDVMネットワークに、DVM動作を送信すること、DVMネットワークによって、複数のDVMターゲットにDVM動作をブロードキャストすること、および、DVM動作がDVMネットワークによって複数のDVMターゲットにブロードキャストされることに基づいて、1つまたは複数のハードウェア最適化を実行することを含み、1つまたは複数のハードウェア最適化は、DVMネットワーク、またはDVM動作のターゲットである複数のDVMターゲットのうちのDVMターゲットに結合された、クロックドメインをオンにすること、クロックドメインの周波数を上げること、電力ドメインがオフにされることに基づいて、DVMターゲットに結合された電力ドメインをオンにすること、あるいはDVMターゲットがオフにされることに基づいて、DVMターゲットへのDVM動作を終了させることを含む。
2019517052.tif 000002
【特許請求の範囲】
【請求項１】
分散仮想メモリ(DVM)ネットワークに関する電力ドメインおよびクロックドメインの完全ハードウェア管理のための方法であって、
DVMイニシエータからDVMネットワークに、DVM動作を送信するステップと、
前記DVMネットワークによって、複数のDVMターゲットに、前記DVM動作をブロードキャストするステップと、
前記DVM動作が前記DVMネットワークによって前記複数のDVMターゲットにブロードキャストされることに基づいて、1つまたは複数のハードウェア機能を実行するステップであって、前記1つまたは複数のハードウェア機能が、
前記DVMネットワーク、または前記DVM動作のターゲットである前記複数のDVMターゲットのうちのDVMターゲットに結合された、クロックドメインをオンにするステップ、
前記DVMネットワーク、または前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットに結合された、前記クロックドメインの周波数を上げるステップ、
電力ドメインがオフにされることに基づいて、前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットに結合された前記電力ドメインをオンにするステップ、
前記DVMターゲットがオフにされることに基づいて、前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットへの前記DVM動作を終了させるステップ、あるいは
それらの任意の組合せ
を含む、ステップと
を含む方法。
【請求項２】
前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットに結合された、前記クロックドメインをオンにするステップが、
前記DVMイニシエータによって、前記DVMターゲットに結合された前記クロックドメインに、ウェイクアップ要求をアサートするステップと、
前記DVMネットワークによって、前記DVMターゲットに結合された前記クロックドメインがオフにされる間、前記DVM動作をブロックするステップと、
前記DVMターゲットに結合された前記クロックドメインをオンにするステップと、
前記DVMターゲットに結合された前記クロックドメインがオンにされることに基づいて、前記DVM動作をアンブロックし、前記DVMネットワークによって、前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットに、前記DVM動作を送信するステップと
を含む、請求項1に記載の方法。
【請求項３】
前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットに結合された、前記クロックドメインの前記周波数を上げるステップが、
前記DVMイニシエータによって、前記DVMターゲットに結合された前記クロックドメインに、ウェイクアップ要求をアサートするステップと、
前記DVMイニシエータに結合されたクロックセレクタユニットによって、前記DVMターゲットに結合された前記クロックドメインの分周されていないバージョンを選択するステップと、
前記DVMターゲットに結合された前記クロックドメインの前記分周されていないバージョンが選択されることに基づいて、前記DVMネットワークによって、前記DVM動作の前記ターゲットである前記DVMターゲットに、前記DVM動作を送信するステップと
を含む、請求項1に記載の方法。
【請求項４】
前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットに結合された前記電力ドメインをオンにするステップが、
前記DVMネットワークに結合された電力コラプスマネージャによって、前記DVM動作の前記ターゲットである前記DVMターゲットに結合された前記電力ドメインに、電源投入要求を発行するステップと、
前記電力コラプスマネージャによって、前記DVM動作の前記ターゲットである前記DVMターゲットに、電源投入要求を発行するステップと、
前記DVM動作の前記ターゲットである前記DVMターゲットによって、前記電力コラプスマネージャから受信された前記電源投入要求に基づいて、前記DVMネットワークからのDVM動作をアンブロックするステップと、
前記DVM動作の前記ターゲットである前記DVMターゲットによって、前記DVMネットワークに再接続するステップと、
前記DVMネットワークによって、前記DVM動作の前記ターゲットである前記DVMターゲットに、前記DVM動作を送信するステップと
を含む、請求項1に記載の方法。
【請求項５】
前記DVM動作の前記ターゲットである前記DVMターゲットに、前記電源投入要求を発行するステップが、前記電力コラプスマネージャによって、前記DVMターゲットに結合された前記電力ドメインがオンにされることを示す、前記DVMターゲットに結合された前記電力ドメインからの応答を受信することに基づく、請求項4に記載の方法。
【請求項６】
前記DVM動作の前記ターゲットである前記DVMターゲットに電源投入するための要求を受信するステップであって、前記要求が、前記DVMイニシエータによって実行されているソフトウェアから受信される、ステップと、
前記DVMターゲットに結合された前記電力ドメインがオンにされることを示す、電力状態信号を、前記ソフトウェアに送るステップと
をさらに含む、請求項4に記載の方法。
【請求項７】
前記DVMターゲットがオフにされることに基づいて、前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットへの前記DVM動作を終了させるステップが、
DVM切断モジュールから、後続のDVM動作を終了させるためのコマンドを受信するステップ
を含む、請求項1に記載の方法。
【請求項８】
前記DVMターゲットがオフにされることに基づいて、前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットへの前記DVM動作を終了させるステップが、
前記DVMネットワークによって、前記DVM動作を終了させるステップと、
前記DVMネットワークによって、前記DVM動作に対する応答を生成するステップと
を含む、請求項1に記載の方法。
【請求項９】
前記複数のDVMターゲットが、1つまたは複数のメモリ管理ユニットを備える、請求項1に記載の方法。
【請求項１０】
前記DVMイニシエータがプロセッサを備える、請求項1に記載の方法。
【請求項１１】
前記DVM動作が、トランスレーションルックアサイドバッファ(TLB)無効化動作、同期動作、またはそれらの任意の組合せを含む、請求項1に記載の方法。
【請求項１２】
前記DVMイニシエータが、前記DVMネットワークのクロックドメインおよび電力ドメインとは別個のクロックドメインおよび別個の電力ドメインに結合される、請求項1に記載の方法。
【請求項１３】
前記複数のDVMターゲットが、前記DVMイニシエータのクロックドメインおよび電力ドメイン、ならびに前記DVMネットワークのクロックドメインおよび電力ドメインとは別個の、クロックドメインおよび電力ドメインに結合される、請求項1に記載の方法。
【請求項１４】
前記複数のDVMターゲットの各々が、前記複数のDVMターゲットの残りのものとは別個のクロックドメインおよび別個の電力ドメインに結合される、請求項1に記載の方法。
【請求項１５】
前記複数のDVMターゲットが、単一のクロックドメインおよび電力ドメインに結合される、請求項1に記載の方法。
【請求項１６】
分散仮想メモリ(DVM)ネットワークに関する電力ドメインおよびクロックドメインの完全ハードウェア管理のための装置であって、
DVMイニシエータと、
複数のDVMターゲットと、
前記DVMイニシエータおよび前記複数のDVMターゲットに結合されたDVMネットワークであって、前記DVMネットワークが、前記DVMイニシエータから前記複数のDVMターゲットにDVM動作をブロードキャストするように構成される、DVMネットワークと
を備え、
前記DVMネットワークにおけるDVM動作が前記複数のDVMターゲットにブロードキャストされることに基づいて、
前記DVMネットワーク、または前記DVM動作のターゲットである前記複数のDVMターゲットのうちのDVMターゲットに結合された、クロックドメインがオンにされ、
前記DVMネットワーク、または前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットに結合された、前記クロックドメインの周波数が上げられ、
電力ドメインがオフにされることに基づいて、前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットに結合された前記電力ドメインがオンにされ、
前記DVMターゲットがオフにされることに基づいて、前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットへの前記DVM動作が終了され、あるいは
それらの任意の組合せ
である、装置。
【請求項１７】
前記複数のDVMターゲットが、1つまたは複数のメモリ管理ユニットを備える、請求項16に記載の装置。
【請求項１８】
前記1つまたは複数のメモリ管理ユニットが、トランスレーションルックアサイドバッファ(TLB)を各々備える、請求項17に記載の装置。
【請求項１９】
前記DVMイニシエータがプロセッサを備える、請求項16に記載の装置。
【請求項２０】
前記DVM動作が、TLB無効化動作、同期動作、またはそれらの任意の組合せを含む、請求項16に記載の装置。
【請求項２１】
前記DVMイニシエータが、前記DVMネットワークのクロックドメインおよび電力ドメインとは別個のクロックドメインおよび別個の電力ドメインに結合される、請求項16に記載の装置。
【請求項２２】
前記複数のDVMターゲットが、前記DVMイニシエータのクロックドメインおよび電力ドメイン、ならびに前記DVMネットワークのクロックドメインおよび電力ドメインとは別個の、クロックドメインおよび電力ドメインに結合される、請求項16に記載の装置。
【請求項２３】
前記複数のDVMターゲットの各々が、前記複数のDVMターゲットの残りのものとは別個のクロックドメインおよび別個の電力ドメインに結合される、請求項16に記載の装置。
【請求項２４】
前記複数のDVMターゲットが、単一のクロックドメインおよび電力ドメインに結合される、請求項16に記載の装置。
【請求項２５】
前記DVMネットワークが、前記複数のDVMターゲットからの応答を、マージされた応答にマージし、前記マージされた応答を前記DVMイニシエータに報告する、請求項16に記載の装置。
【請求項２６】
前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットへの前記DVM動作が終了されることに基づいて、前記DVMネットワークが、前記DVMターゲットに代わって前記DVMイニシエータに応答する、請求項16に記載の装置。
【請求項２７】
分散仮想メモリ(DVM)ネットワークに関する電力ドメインおよびクロックドメインの完全ハードウェア管理のための装置であって、
DVMネットワークに、DVM動作を送信するための手段と、
複数のDVMターゲットに、前記DVM動作をブロードキャストするための手段と、
前記DVM動作が前記DVMネットワークによって前記複数のDVMターゲットにブロードキャストされることに基づいて、1つまたは複数のハードウェア機能を実行するための手段であって、前記1つまたは複数のハードウェア機能が、
前記DVMネットワーク、または前記DVM動作のターゲットである前記複数のDVMターゲットのうちのDVMターゲットに結合された、クロックドメインをオンにすること、
前記DVMネットワーク、または前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットに結合された、前記クロックドメインの周波数を上げること、
電力ドメインがオフにされることに基づいて、前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットに結合された前記電力ドメインをオンにすること、
前記DVMターゲットがオフにされることに基づいて、前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットへの前記DVM動作を終了させること、あるいは
それらの任意の組合せ
を含む、手段と
を備える装置。
【請求項２８】
前記複数のDVMターゲットが、1つまたは複数のメモリ管理ユニットを備える、請求項27に記載の装置。
【請求項２９】
前記DVMイニシエータが、前記DVMネットワークのクロックドメインおよび電力ドメインとは別個のクロックドメインおよび別個の電力ドメインに結合される、請求項27に記載の装置。
【請求項３０】
前記複数のDVMターゲットが、前記DVMイニシエータのクロックドメインおよび電力ドメイン、ならびに前記DVMネットワークのクロックドメインおよび電力ドメインとは別個の、クロックドメインおよび電力ドメインに結合される、請求項27に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の態様は、メモリ管理ユニット(MMU)および分散仮想メモリ(DVM)ネットワークのためのハードウェア管理電力コラプスおよびクロックウェイクアップ、ならびに関連する概念に関する。
【背景技術】
【０００２】
「DVMネットワーク」は、「DVMイニシエータ」からDVMネットワークのすべての「DVMターゲット」に、「DVM動作」をブロードキャストするように設計されたシステムオンチップ(SoC)のハードウェア/ソフトウェアアーキテクチャ内のブロードキャストネットワークである。DVMネットワークは、DVMターゲットからの応答をマージすること、および、単一の統合された応答をDVMイニシエータに戻すように提示することを担う。DVM動作は、DVMターゲットに位置するTLBへのトランスレーションルックアサイドバッファ(TLB)無効化動作、以前のDVM動作の完了を保証するための同期動作、DVMターゲットに位置する命令キャッシュへの命令キャッシュ無効化動作、および他の関連動作を含み得る。
【０００３】
DVMネットワークは、ARM Ltd.によるアドバンストマイクロコントローラバスアーキテクチャ(AMBA:Advanced Microcontroller Bus Architecture)4アドバンストエクステンシブルインターフェース(AXI:Advanced Extensible Interface)コヒーレンシ拡張(ACE:Coherency Extensions)標準に基づくプロトコルを使用する。AMBA 4は、SoC設計における機能ブロックの接続および管理のためのオープン標準、オンチップ相互接続仕様である。この標準仕様は、DVMネットワークのための「プロトコル」のみを記述しており、DVMネットワークの特定の実装形態を義務づけるものではない。
【発明の概要】
【課題を解決するための手段】
【０００４】
以下に、本明細書で開示する1つまたは複数の態様に関する簡略化された概要を提示する。したがって、以下の概要は、すべての企図される態様に関する包括的な概観と見なされるべきではなく、また、以下の概要は、すべての企図される態様に関する主要または重要な要素を識別するか、または任意の特定の態様に関連付けられた範囲を定めるものと見なされるべきでもない。したがって、以下の概要は、以下で提示する詳細な説明に先立って、本明細書で開示する機構に関する1つまたは複数の態様に関するいくつかの概念を簡略化された形で提示することが唯一の目的である。
【０００５】
分散仮想メモリ(DVM)ネットワークに関する電力ドメインおよびクロックドメインの完全ハードウェア管理のための方法は、DVMイニシエータからDVMネットワークに、DVM動作を送信するステップと、DVMネットワークによって、複数のDVMターゲットに、DVM動作をブロードキャストするステップと、DVM動作がDVMネットワークによって複数のDVMターゲットにブロードキャストされることに基づいて、1つまたは複数のハードウェア機能を実行するステップであって、1つまたは複数のハードウェア機能が、DVMネットワーク、またはDVM動作のターゲットである複数のDVMターゲットのうちのDVMターゲットに結合された、クロックドメインをオンにするステップ、DVMネットワーク、またはDVM動作のターゲットである複数のDVMターゲットのうちのDVMターゲットに結合された、クロックドメインの周波数を上げるステップ、電力ドメインがオフにされることに基づいて、DVM動作のターゲットである複数のDVMターゲットのうちのDVMターゲットに結合された電力ドメインをオンにするステップ、DVMターゲットがオフにされることに基づいて、DVM動作のターゲットである複数のDVMターゲットのうちのDVMターゲットへのDVM動作を終了させるステップ、あるいはそれらの任意の組合せを含む、ステップとを含む。
【０００６】
DVMネットワークに関する電力ドメインおよびクロックドメインの完全ハードウェア管理のための装置は、DVMイニシエータと、複数のDVMターゲットと、DVMイニシエータおよび複数のDVMターゲットに結合されたDVMネットワークであって、DVMネットワークが、DVMイニシエータから複数のDVMターゲットにDVM動作をブロードキャストするように構成される、DVMネットワークとを含み、DVMネットワークにおけるDVM動作が複数のDVMターゲットにブロードキャストされることに基づいて、DVMネットワーク、またはDVM動作のターゲットである複数のDVMターゲットのうちのDVMターゲットに結合された、クロックドメインがオンにされ、DVMネットワーク、またはDVM動作のターゲットである複数のDVMターゲットのうちのDVMターゲットに結合された、クロックドメインの周波数が上げられ、電力ドメインがオフにされることに基づいて、DVM動作のターゲットである複数のDVMターゲットのうちのDVMターゲットに結合された電力ドメインがオンにされ、DVMターゲットがオフにされることに基づいて、DVM動作のターゲットである複数のDVMターゲットのうちのDVMターゲットへのDVM動作が終了され、あるいはそれらの任意の組合せである。
【０００７】
DVMネットワークに関する電力ドメインおよびクロックドメインの完全ハードウェア管理のための装置であって、DVMネットワークに、DVM動作を送信するための手段と、複数のDVMターゲットに、DVM動作をブロードキャストするための手段と、DVM動作がDVMネットワークによって複数のDVMターゲットにブロードキャストされることに基づいて、1つまたは複数のハードウェア機能を実行するための手段であって、1つまたは複数のハードウェア機能が、DVMネットワーク、またはDVM動作のターゲットである複数のDVMターゲットのうちのDVMターゲットに結合された、クロックドメインをオンにすること、DVMネットワーク、またはDVM動作のターゲットである複数のDVMターゲットのうちのDVMターゲットに結合された、クロックドメインの周波数を上げること、電力ドメインがオフにされることに基づいて、DVM動作のターゲットである複数のDVMターゲットのうちのDVMターゲットに結合された電力ドメインをオンにすること、DVMターゲットがオフにされることに基づいて、DVM動作のターゲットである複数のDVMターゲットのうちのDVMターゲットへのDVM動作を終了させること、あるいはそれらの任意の組合せを含む、手段とを含む。
【０００８】
本明細書で開示する態様および態様に関連付けられた他の目的および利点は、添付の図面および詳細な説明に基づいて、当業者に明らかになるであろう。
【０００９】
以下の詳細な説明を参照しながら、本開示を限定するためではなく単に例示するために提示される添付の図面とともに検討すれば、本開示の態様およびその付随する利点の多くがよりよく理解されるようになるので、それらに関するより完全な諒解が容易に得られるであろう。
【図面の簡単な説明】
【００１０】
【図１】本開示の少なくとも1つの態様による、複数のシステムメモリ管理ユニット(SMMU)を含み得る、例示的なプロセッサベースシステムのブロック図である。
【図２】本開示の少なくとも1つの態様による、分散仮想メモリ(DVM)イニシエータと、DVMネットワークと、DVMターゲットとを含む、例示的なシステムを示す図である。
【図３Ａ】本開示の少なくとも1つの態様による、図2のシステムによって実行される、例示的な仮想アドレスによるTLB無効化(TLBIVA:TLB Invalidate by Virtual Address)動作を示す図である。
【図３Ｂ】本開示の少なくとも1つの態様による、DVMイニシエータ、DVMネットワーク、およびDVMターゲットのうちの各々が別個のクロックドメインおよび電力ドメイン上にある、図2のシステムを示す図である。
【図４】本開示の少なくとも1つの態様による、DVMネットワークおよびDVMターゲットに関係する電力ドメインおよびクロックドメインの完全ハードウェア管理のための例示的なシステムを示す図である。
【図５】本開示の少なくとも1つの態様による、図4のシステムにおけるDVMターゲットを電力コラプスさせるための例示的なフローを示す図である。
【図６】本開示の少なくとも1つの態様による、図4のシステムにおけるDVMターゲットに電源投入するための例示的なフローを示す図である。
【図７Ａ】本開示の少なくとも1つの態様による、図4のシステムにおける自動クロックウェイクアップのための例示的なフローを示す図である。
【図７Ｂ】本開示の少なくとも1つの態様による、図4のシステムにおける自動クロックウェイクアップのための例示的なフローを示す図である。
【図８】本開示の少なくとも1つの態様による、DVMネットワークに関係する電力ドメインおよびクロックドメインの完全ハードウェア管理のための例示的なフローを示す図である。
【発明を実施するための形態】
【００１１】
分散仮想メモリ(DVM)ネットワークに関する電力ドメインおよびクロックドメインの完全ハードウェア管理のための方法およびシステムを開示する。一態様は、DVMイニシエータからDVMネットワークに、DVM動作を送信すること、DVMネットワークによって、複数のDVMターゲットにDVM動作をブロードキャストすること、および、DVM動作がDVMネットワークによって複数のDVMターゲットにブロードキャストされることに基づいて、1つまたは複数のハードウェア機能を実行することを含み、1つまたは複数のハードウェア機能は、DVMネットワーク、またはDVM動作のターゲットである複数のDVMターゲットのうちのDVMターゲットに結合された、クロックドメインをオンにすること、DVMネットワーク、またはDVM動作のターゲットである複数のDVMターゲットのうちのDVMターゲットに結合された、クロックドメインの周波数を上げること、電力ドメインがオフにされることに基づいて、DVM動作のターゲットである複数のDVMターゲットのうちのDVMターゲットに結合された電力ドメインをオンにすること、あるいはDVMターゲットがオフにされることに基づいて、DVM動作のターゲットである複数のDVMターゲットのうちのDVMターゲットへのDVM動作を終了させることを含む。
【００１２】
本開示のこれらのおよび他の態様は、本開示の特定の態様を対象とした以下の説明および関連する図面において開示される。本開示の範囲から逸脱することなく、代替の態様が考案され得る。さらに、本開示の関連する詳細を不明瞭にしないように、本開示のよく知られている要素は詳細に説明されないか、または省略される。
【００１３】
「例示的」および/または「例」という語は、本明細書では「例、事例、または例示として働くこと」を意味するために使用される。本明細書で「例示的」および/または「例」として説明するいかなる態様も、必ずしも他の態様よりも好ましいか、または有利であると解釈されるべきではない。同様に、「本開示の態様」という用語は、本開示のすべての態様が、論じられた特徴、利点、または動作モードを含むことを必要としない。
【００１４】
さらに、様々な態様について、たとえば、コンピューティングデバイスの要素によって実行されるべきアクションのシーケンスに関して説明する。本明細書で説明する様々なアクションは、特定の回路(たとえば、特定用途向け集積回路(ASIC)、システムオンチップ(SoC))によって、1つまたは複数のプロセッサによって実行されているプログラム命令によって、または両方の組合せによって実行され得ることが認識されよう。さらに、本明細書で説明するこれらのアクションのシーケンスは、実行されると、関連するプロセッサに本明細書で説明する機能を実行させるコンピュータ命令の対応するセットを記憶した、任意の形態のコンピュータ可読記憶媒体内で完全に具現化されるものと見なされ得る。したがって、本開示の様々な態様は、請求する主題の範囲内にそのすべてが入ることが企図されている、いくつかの異なる形態で具現化され得る。加えて、本明細書で説明する態様ごとに、任意のそのような態様の対応する形態について、たとえば、説明するアクションを実行する「ように構成された論理」として本明細書で説明する場合がある。
【００１５】
一般に、別段に明示的に記載されていない限り、本開示全体にわたって使用される「ように構成された論理」という句は、ハードウェアで少なくとも部分的に実装される態様を呼び出すものとし、ハードウェアから独立したソフトウェアだけの実装形態に位置づけるものではない。様々なブロックにおける構成された論理または「ように構成された論理」は、特定の論理ゲートまたは論理要素に限定されるのではなく、概して、本明細書で説明する機能性を、(ハードウェアまたはハードウェアとソフトウェアの組合せのいずれかを介して)実行するための能力を指すことが諒解されよう。したがって、様々なブロックに示す構成された論理または「ように構成された論理」は、「論理」という語を共有しているにもかかわらず、必ずしも論理ゲートまたは論理要素として実装されるとは限らない。様々なブロックにおける論理間の他の対話または協働が、以下でより詳細に説明する態様の検討から、当業者には明らかになるであろう。
【００１６】
本明細書で開示する態様による、DVMネットワークに関する電力ドメインおよびクロックドメインの完全ハードウェア管理の提供は、任意のプロセッサベースデバイス内に設けられるか、またはその中に組み込まれ得る。例には、限定はしないが、セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、サーバ、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビジョン、チューナ、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、ポータブルデジタルビデオプレーヤなどが含まれる。
【００１７】
この点について、図1は、本開示の少なくとも1つの態様によるプロセッサベースシステム100の例を示す。この例では、プロセッサベースシステム100は、各々が1つまたは複数のプロセッサ104を含む、1つまたは複数の中央処理ユニット(CPU)102を含む。CPU102は、一時的に記憶されたデータに迅速にアクセスするために、プロセッサ104に結合されたキャッシュメモリ106を有してもよい。CPU102は、CPUメモリアクセス要求のためのアドレス変換サービスを提供するためのCPUメモリ管理ユニット(MMU)108をさらに含む。CPU102は、メモリユニット114A〜114Nを提供する、メモリシステム112のメモリコントローラ118に、トランザクション要求を通信することができる。
【００１８】
CPU102は、プロセッサベースシステム100内に含まれるマスタデバイスとスレーブデバイスとを相互結合することができる、(DVMネットワーク(図示せず)を含む)システムバス110に結合される。CPU102は、システムバス110を介してアドレス、制御、およびデータ情報を交換することによって、これらの他のデバイスと通信する。図1の例では、SMMU116がシステムバス110に結合される。他のマスタデバイスおよびスレーブデバイスは、SMMU116を介してシステムバス110に接続され得る。図1に示すように、これらのデバイスは、例として、1つまたは複数の入力デバイス120、1つまたは複数の出力デバイス122、1つまたは複数のネットワークインターフェースデバイス124、および1つまたは複数のディスプレイコントローラ126を含み得る。入力デバイス120は、限定はしないが、入力キー、スイッチ、音声プロセッサなどを含む、任意のタイプの入力デバイスを含み得る。出力デバイス122は、限定はしないが、オーディオ、ビデオ、他の視覚的インジケータなどを含む、任意のタイプの出力デバイスを含み得る。ネットワークインターフェースデバイス124は、ネットワーク128との間のデータの交換を可能にするように構成された任意のデバイスであり得る。ネットワーク128は、限定はしないが、ワイヤードまたはワイヤレスネットワーク、専用または公衆ネットワーク、ローカルエリアネットワーク(LAN)、ワイドローカルエリアネットワーク(WLAN)、インターネットなどを含む、任意のタイプのネットワークであり得る。ネットワークインターフェースデバイス124は、任意のタイプの所望の通信プロトコルをサポートするように構成され得る。
【００１９】
CPU102はまた、1つまたは複数のディスプレイ130へ送られる情報を制御するために、システムバス110を介してディスプレイコントローラ126にアクセスするように構成され得る。ディスプレイコントローラ126は、1つまたは複数のビデオプロセッサ132を介して、表示されるべき情報をディスプレイ130に送り、ビデオプロセッサ132は、表示されるべき情報を、ディスプレイ130に適したフォーマットになるように処理する。ディスプレイ130は、限定はしないが、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイなどを含む任意のタイプのディスプレイを含み得る。
【００２０】
システムバス110は、DVMイニシエータ(たとえば、CPU102)を1つまたは複数のDVMターゲット(たとえば、SMMU116)に結合する、DVMネットワークを含む。DVMネットワーク(システムバス110の一部)は、DVMネットワークの、CPU102などの「DVMイニシエータ」から、SMMU116などのすべての「DVMターゲット」に、「DVM動作」をブロードキャストするために、SoCのハードウェア/ソフトウェアアーキテクチャ内に含まれている。
【００２１】
図2は、本開示の少なくとも1つの態様による、DVMイニシエータ202と、DVMネットワーク204と、DVMターゲット206A〜206Nとを含む、例示的なシステム200を示す。DVMネットワーク204は、DVMターゲット206A〜206Nからの応答をマージすること、および、単一の統合された応答をDVMイニシエータ202に戻すように提示することを担う。より詳細には、DVMネットワーク204は、DVMターゲット206A〜206Nからの応答のすべてを待機し、それらを単一の応答に結合(または「マージ」)し、単一の応答をDVMイニシエータ202に戻す。DVM動作は、DVMターゲットに位置するTLBへのトランスレーションルックアサイドバッファ(TLB)無効化動作、以前のDVM動作の完了を保証するための同期動作、DVMターゲットに位置する命令キャッシュへの命令キャッシュ無効化動作などを含み得る。
【００２２】
DVMネットワーク204などのDVMネットワークは、ARM Ltd.によるAMBA 4 ACE標準に基づくプロトコルを使用し得る。AMBA 4は、SoC設計における機能ブロックの接続および管理のためのオープン標準、オンチップ相互接続仕様である。この標準仕様は、DVMネットワークのための「プロトコル」のみを記述しており、DVMネットワークの特定の実装形態を義務づけるものではない。たとえば、クロッキングおよび電力コラプス、ならびに多数の他の実装詳細は、標準仕様の範囲を超えている。
【００２３】
一態様では、DVMターゲット206A〜206Nは、SMMUであり得る。SMMUは、DVMネットワーク204などのDVMネットワークから、DVM動作を受信するTLBを備える、DVMターゲットである。SMMUが、たとえば、DVMネットワーク204を介して、TLB無効化動作を受信するとき、SMMUは、1)TLB無効化確認をDVMネットワーク204に戻し、2)TLB(および、任意のキャッシュされた変換)において、TLB無効化を実行する。SMMUが、たとえば、DVMネットワーク204を介して、同期動作を受信するとき、SMMUは、1)以前に投稿されたTLB無効化が実行されることを保証し、2)古い/ターゲットにされたTLBエントリを使用中であったクライアント要求(たとえば、読取り/書込み/その他)が、「同期完了」を戻す前にグローバルに観測されていることを保証する。
【００２４】
図3Aは、本開示の少なくとも1つの態様による、図2のシステム200によって実行される、例示的な「仮想アドレスによるTLB無効化」(TLBIVA)動作を示す。DVMイニシエータ202は、DVMネットワーク204を介して、TLBIVA動作を発行する(ブロック310として表される)。DVMネットワーク204は、すべてのDVMターゲット、すなわち、DVMターゲット206A〜206Nに、TLBIVA動作をブロードキャストする(ブロック312として表される)。各DVMターゲット206A〜206Nは、TLBIVA動作の受信を確認し、DVMネットワーク204に確認応答を与える(ブロック314として表される)。DVMネットワーク204は、DVMターゲットからのすべての確認応答をマージし、DVMイニシエータ202に戻すように、統合された受信応答を提示する(ブロック316として表される)。
【００２５】
電力最適化および/または性能の理由のために、別個のクロックドメインおよび別個の電力ドメイン上でSMMU/DVMターゲットを有することが望ましいことがある。図3Bは、本開示の少なくとも1つの態様による、DVMイニシエータ202、DVMネットワーク204、およびDVMターゲット206A〜206Nのうちの各々が別個のクロックドメインおよび電力ドメイン上にある、図2のシステム200を示す。図3Bの例では、DVMイニシエータ202は、それ自体のクロックおよび電力ドメイン322上にあり、DVMネットワーク204は、それ自体のクロックおよび電力ドメイン324上にあり、DVMターゲット206Aおよび206Bは、それら自体のクロックおよび電力ドメイン326上にあり、DVMターゲット206Nは、それ自体のクロックおよび電力ドメイン328上にある。DVMターゲット206A〜206Nは、各々、別個のクロックおよび電力ドメイン上にあり得るか、または、DVMターゲット206A〜206Nのすべては、同じクロックおよび電力ドメイン上にあり得るか、または、(図3Bに示されているように)DVMターゲット206A〜206Nの異なるグループは、異なるクロックおよび電力ドメイン上にあり得る。
【００２６】
DVMネットワーク204内の複数のクロックドメインおよび複数の電力ドメインの導入は、クロックドメインおよび電力ドメインがソフトウェアで管理/制御されている場合、ソフトウェアに負担をかけることがある。そのような場合、CPU(図1におけるCPU102など)からTLB無効化が発行されるとき、かつ/または、DVMイニシエータ202およびDVMネットワーク204は、DVMターゲット206A〜206NのうちのDVMターゲットが電力コラプス(すなわち、電源切断)されるとき、ソフトウェアで管理されなければならない。
【００２７】
DVMネットワーク204、およびDVMターゲット206A〜206Nのすべてを、単一のクロックおよび電力ドメイン上にすることで、問題が簡略化される。しかしながら、これによって、たとえば、DVMネットワーク204およびDVMターゲット206A〜206Nが単一の高速/低速クロック上で動作するように強制される場合、望ましくないレイテンシ性能プロファイルにつながり得る。また、たとえば、DVMネットワーク204およびDVMターゲット206A〜206Nが「常時電力供給」される場合、望ましくない電力性能プロファイルにもつながり得る。
【００２８】
したがって、本開示は、DVMネットワーク204などのDVMネットワーク、およびDVMターゲット206A〜206NなどのDVMターゲットに関係する、電力ドメインおよびクロックドメインの完全ハードウェア管理のための機構を提示する。一態様では、開示するハードウェア機構は、1)DVMネットワーク204におけるDVM動作の存在に基づいて、関連クロックをオンにする(および、次いで、動作が完了したとき、関連クロックがオフに戻される)こと、2)DVMネットワーク204におけるDVM動作の存在に基づいて、関連クロックを加速させる(および、次いで、動作が完了したとき、関連クロックが低速に戻される)こと、および/または、3)適宜に、電力コラプスしたDVMターゲット206A〜206NにブロードキャストされるDVM動作を、自動的に終了させることを行うことができる。場合によっては、電力コラプスされるDVMターゲット206A〜206Nは、DVMネットワーク204におけるDVM動作の存在に基づいて、「パワーアップ」され得る。
【００２９】
上記の点1および2は、(高性能DVMネットワーク応答のための)低レイテンシを保証する。本開示の影響は、DVMターゲット206A〜206Nが電源切断されるより前に、DVMネットワーク204をソフトウェア管理しなければならない負担から、ソフトウェアを解放すること、および、DVMイニシエータ202がDVM動作(たとえば、TLB無効化)を発行するより前に、クロックをソフトウェア管理しなければならない負担から、ソフトウェアを解放することを含む。
【００３０】
図4は、本開示の少なくとも1つの態様による、DVMネットワークおよびDVMターゲットに関係する電力ドメインおよびクロックドメインの完全ハードウェア管理のための例示的なシステム400を示す。システム400は、DVMイニシエータとして働く、図1におけるCPU102に対応し得る、CPUサブシステム402を含む。CPUサブシステム/DVMイニシエータ402は、CPUサブシステム/DVMイニシエータ402におけるDVMマスタポート412、およびDVMネットワーク404におけるDVMスレーブポート414を介して、図1におけるシステムバス110の一部であり得るDVMネットワーク404に、コマンド/DVM動作を発行する。DVMネットワーク404は、図1におけるSMMU116に対応し得る、DVMターゲット406(たとえば、SMMU)などのDVMターゲットに、コマンド/DVM動作をブロードキャストする。
【００３１】
DVMインターセプタ428は、すべてのダウンストリームターゲットDVMクロックがオンにされない限り、DVM動作がDVMターゲットまで通過しないことを保証する。DVMインターセプタ428は、関連クロックがオンにされるまで、いかなるDVM動作をも停止するための論理を含む。DVMインターセプタ428は、オフにされるDVM動作に関係するいかなるクロックをもオンにすることを担う、クロックマネージャ410と通信する。
【００３２】
DVMターゲット406などのDVMターゲットが電力コラプスされるとき、DVM切断モジュール426は、電力コラプスマネージャ420と通信して、DVMターゲット406の適切なシャットダウンを保証する。電力コラプスマネージャ420は、DVMターゲット406と通信して、DVMターゲット406の適切なシャットダウン/電力コラプスを保証する。電力コラプスマネージャ420は、DVM切断モジュール426を介して、DVMネットワーク404と通信して、DVMネットワーク404がDVMイニシエータ、すなわち、CPUサブシステム/DVMイニシエータ402に適切な応答を与えることを保証する。電力コラプスマネージャ420はまた、電力コラプスインターフェースのためのレジスタ440から「電源切断要求」を読み取り、電力コラプスインターフェースのためのレジスタ440に「電力切断状態」を書き込む。
【００３３】
クロックブリッジ424は、2つの別個のクロックドメインの間の通信(この場合、DVM通信)を可能にする、相互接続デバイスである。たとえば、ここでは、DVMネットワーク404は、あるクロックドメイン上にあるが、DVMターゲット406は、別個のクロックドメイン上にあり、したがって、2つのクロックドメインをブリッジするために、「クロックブリッジ」を必要とする。
【００３４】
CPUサブシステム/DVMイニシエータ402は、クロックセレクタ432Aおよび432Bに、動的クロック分周(DCD:dynamic clock divide)ウェイクアップコマンドを発行し得る。クロックセレクタ432Aおよび432Bは、クロック分周器434Aおよび434Bがバイパスされることを引き起こすことによって、DVMアクティビティがあるとき、最速クロックを選択する。より詳細には、DCDウェイクアップコマンドが「1」であるとき、クロックセレクタ432Aおよび432Bは、クロック分周器434Aおよび434Bに結合されたマルチプレクサに、分周されていないクロック信号を選択し、それをクロックマネージャ410に送ることを行わせる。これによって、対応するクロック回路に、クロックを加速させる。
【００３５】
クロックマネージャ410はまた、図4においてSoftwareClockONRequestとして表された、所与のクロックをオンに保つための投票を受信し得る。クロックをオンに保つための少なくとも1つの投票がある限り、そのクロックはオンのままになる。
【００３６】
図5は、本開示の少なくとも1つの態様による、図4のシステム400におけるDVMターゲット406(たとえば、SMMU)などのDVMターゲットを電力コラプス(すなわち、電源切断)させるための例示的なフローを示す。
【００３７】
502で、電力コラプスマネージャ420は、DVMターゲット406を電力コラプスさせるための、現在実行されているソフトウェアからの要求を受信する。ソフトウェアは、図4における電力コラプスインターフェースのためのレジスタ440内に「電力コラプス要求」を書き込むことによって、要求をアサートする。代替的に、ソフトウェアがDVMターゲット406の電源切断をトリガするのではなく、図4におけるCPUサブシステム/DVMイニシエータ402、またはDVMネットワーク404からの信号が、電源切断シーケンスをトリガし得る。この信号は、DVMターゲット406が電力供給されることを引き起こす他のアクティビティがないとき、DVMネットワーク404内の保留中のDVM要求が電力コラプスイベントをトリガすることを許可されないことを示すことになる。電力コラプスマネージャ420は、この信号を受信し、いつDVMターゲット406をパワーダウンさせるべきかを決定するための手段として使用することになる。DVMターゲット406のTLBコンテンツは、保持回路、または2次記憶ユニットによって、主電源が「オフ」であるときでも「保持」されることになる。
【００３８】
504で、電力コラプスマネージャ420は、DVMターゲット406をDVMネットワーク404から安全に切断するために、DVMネットワーク404にDVMDisconnectRequestメッセージを発行する。506で、DVMネットワーク404がDVMDisconnectRequestメッセージを受信すると、DVMネットワーク404は、いかなる新しいDVM動作をも安全に終了させるので、新しいDVM動作はDVMターゲット406に到達しなくなる。DVM動作を終了させることで、いかなる新しいDVM動作もが確認/完了されること、および、DVMイニシエータ(たとえば、CPUサブシステム402)が、終了されたトランザクションが「正常に」(すなわち、エラーなしに)確認/完了されたことを示す有効な非エラー応答を受信することを保証する。
【００３９】
508で、DVMネットワーク404は、すべての以前に保留中のDVM動作がDVMターゲット406によって確認または完了されることを保証する。510で、DVMネットワーク404は、すべての保留中のDVM動作がDVMターゲット406によって確認または完了されると、DVMDisconnectReadyメッセージを戻す。
【００４０】
512で、電力コラプスマネージャ420は、DVMネットワーク404からDVMDisconnectReadyメッセージを受信する。514で、電力コラプスマネージャ420は、DVMターゲット406にSMMUPowerCollapseRequestメッセージを発行する。
【００４１】
516で、DVMターゲット406が電力コラプス要求を受信すると、DVMターゲット406は、いかなる新しいクライアント要求(たとえば、CPUサブシステム/DVMイニシエータ402からのDVM動作)をもブロックする。518で、DVMターゲット406は、いかなる保留中のアクティビティもが完了される(たとえば、すべての未処理のクライアント要求が完了され、すべての未処理の変換テーブルウォークが完了される)まで待機する。520で、DVMターゲット406内のすべての保留中のアクティビティが完了されると、DVMターゲット406は、SMMUPowerCollapseReadyメッセージを戻す。
【００４２】
522で、電力コラプスマネージャ420は、電力コントローラ408にPowerONControl=0メッセージを発行する。電力コントローラ408がPowerONControl=0メッセージを受信すると、電力コントローラ408は、DVMターゲット406(それによって、DVMターゲット406を電力コラプスする)および関連する構成要素から電力を除去する。
【００４３】
524で、電力コラプスマネージャ420は、電力がDVMターゲット406から除去されたことを示す電力状態信号を戻す。この状態は、電力コラプスインターフェースのためのレジスタ440を介して、ソフトウェアによって可読である。
【００４４】
図6は、本開示の少なくとも1つの態様による、図4のシステム400におけるDVMターゲット406(たとえば、SMMU)などのDVMターゲットに電源投入するための例示的なフローを示す。
【００４５】
602で、電力コラプスマネージャ420は、DVMターゲット406に電源投入するための、現在実行されているソフトウェアからの要求を受信する。ソフトウェアは、電力コラプスインターフェースのためのレジスタ440内で「電力コラプス要求」をアサート解除することによって、要求をアサートする。代替的に、ソフトウェアがDVMターゲット406の電源投入をトリガするのではなく、DVMネットワーク404からのハンドシェイクが、電源投入シーケンスをトリガし得る。このハンドシェイクは、DVM動作がDVMターゲット406をターゲットにしている場合、実行されることになる。電力コラプスマネージャ420は、DVMネットワーク404からこの電源投入要求を受信し、DVMターゲット406が電源投入されるとき、ハンドシェイクを完了することになる。
【００４６】
604で、電力コラプスマネージャ420は、電力コントローラ408にPowerONControl=1メッセージを発行する。606で、電力コラプスマネージャ420は、DVMターゲット406が完全に電源投入されるまで待機する。より詳細には、電力コラプスマネージャ420は、電力コントローラ408からの電源投入状態インジケータを待機する。電力コントローラ408がPowerONControl=1メッセージを受信すると、DVMターゲット406が電源投入されることになる。電力がDVMターゲット406に戻されると、電力コントローラ408は、DVMターゲット406にリセットメッセージを発行し、また、DVMターゲット406にTLBリセットメッセージを発行して、TLBが「無効」であり、有効な情報を含んでいないことを保証する。この動作は、602を参照しながら上記で説明した代替形態については実行されなくてよく、その理由は、TLBが有効な情報を含むことになるからであることに留意されたい。
【００４７】
608で、電力コラプスマネージャ420は、DVMターゲット406のためのSMMUPowerCollapseRequestメッセージをアサート解除することによって、DVMターゲット406に電源投入要求をアサートする。
【００４８】
610で、DVMターゲット406が電源投入要求を受信すると、DVMターゲット406は、いかなるクライアント要求(たとえば、CPUサブシステム/DVMイニシエータ402からのDVM動作)をもアンブロックする。612で、DVMターゲット406は、電源投入要求を確認するため、および後続の電力コラプスの準備ができていることを示すために、SMMUPowerCollapseReady=1メッセージを戻す。
【００４９】
614で、電力コラプスマネージャ420は、DVMターゲット406をDVMネットワーク404に再接続するために、DVMネットワーク404へのDVMDisconnectRequestメッセージをアサート解除することによって、DVMネットワーク404に電源投入要求をアサートする。
【００５０】
616で、DVMネットワーク404が電力コラプスマネージャ420から再接続要求(すなわち、DVMDisconnectRequest=0メッセージ)を受信すると、DVMネットワーク404は、いかなる新しいDVM動作をも終了させることを停止し、それらを(正常として)DVMターゲット406に転送する。618で、DVMネットワーク404は、電力コラプスマネージャ420に電源投入要求の確認を戻す。
【００５１】
620で、電力コラプスマネージャ420は、DVMネットワーク404からの確認を待機する。622で、電力コラプスマネージャ420は、電力がDVMターゲット406に印加されたことを示す電力状態信号を戻す。この状態は、電力コラプスインターフェースのためのレジスタ440を介して、ソフトウェアによって可読である。
【００５２】
図7Aは、本開示の少なくとも1つの態様による、図4のシステム400における自動クロックウェイクアップのための例示的なフローを示す。702で、DVMイニシエータ402は、DVMネットワーク404上でDVM動作をブロードキャストする。本開示は、DVM動作の受信から、DVMターゲット406などのDVMターゲットを除外するために、ソフトウェアでプログラムされたプロビジョンを含む。したがって、すべてのDVMターゲットが「ブロードキャストされた」DVM動作を受信することになるとは限らない。
【００５３】
704で、DVMイニシエータ402は、保留中のDVM動作があるという「早期」指示として、DCDWakeUpRequest信号をアサートする。DCDWakeUpRequest信号は、DVM動作がDVMターゲット406に到達するよりかなり前にアサートされるので、保留中のDVM要求の「早期」指示であることに留意されたい。706で、クロックセレクタ432Aおよび/または432Bは、DCDWakeUpRequest信号を受信し、より高速なクロック周波数ソースに切り替えること、および/またはクロックマネージャ410に送るべき分周されていないクロック信号を選択することによって応答する。クロックマネージャ410は、SMMU/DVMターゲットのためのクロックソースとして、これらのより高速な/分周されていないクロックを使用する。「より高速な」分周されていないクロックを使用することによって、DVMネットワーク404およびDVMターゲットは、DVMネットワーク404を介してブロードキャストされるDVM動作により高速に応答することが可能である。
【００５４】
708で、クロックマネージャ410、DVMネットワーク404、およびDVMターゲット406は、より高速なクロックを使用する。710で、クロックマネージャ410、DVMネットワーク404、およびDVMターゲット406は、702でブロードキャストされたDVM動作を受信し、実行する。
【００５５】
712で、DVMイニシエータ402は、DVMネットワーク404からの応答を待機する。714で、DVMイニシエータ402は、いずれかの新しいDVM動作があるか否かを決定する。ある場合、フローは702に戻る。ない場合、フローは716に進む。716で、DVMイニシエータ402は、DCDWakeUpRequestをアサート解除する。DCDWakeUpRequest信号がアサート解除されるとき、DVM関連クロックは、電力節約のために分周されたクロックに戻るように切り替えられ得る。
【００５６】
図7Bは、本開示の少なくとも1つの態様による、図4のシステム400における自動クロックウェイクアップのための例示的なフローを示す。722で、DVM動作は、図7Aの702におけるように、図4におけるDVMネットワーク404上でブロードキャストされる。
【００５７】
724で、CPUサブシステム/DVMイニシエータ402は、図7Aの704におけるように、保留中のDVM動作があるという「早期」指示として、DCDWakeUpRequest信号をアサートする。DCDWakeUpRequest信号は、DVM動作がDVMターゲット406に到達するよりかなり前にアサートされるので、保留中のDVM要求の「早期」指示であることに留意されたい。クロックセレクタ432Aおよび/または432Bは、DCDWakeUpRequest信号を受信し、クロックマネージャ410に送るべき分周されていないクロックを選択することによって応答する。クロックマネージャ410は、SMMU/DVMターゲットのためのクロックソースとして、これらの分周されていないクロックを使用する。「より高速な」分周されていないクロックを使用することによって、DVMネットワーク404およびDVMターゲットは、DVMネットワーク404を介してブロードキャストされるDVM動作により高速に応答することが可能である。
【００５８】
726で、別のDVM動作が、DVMネットワーク404を介して、DVMターゲットの全部(または一部)にブロードキャストされる。本開示は、DVM動作の受信から、DVMターゲット406などのDVMターゲットを除外するために、ソフトウェアでプログラムされたプロビジョンを含む。したがって、すべてのDVMターゲットが「ブロードキャストされた」DVM動作を受信することになるとは限らない。
【００５９】
728で、DVMインターセプタ428は、DVMネットワーク404のDVMマスタポート412の内側でDVM動作を「インターセプト」する。730で、DVMインターセプタ428は、DVMターゲットのクロックがオンになる(「トグリング」と呼ばれる)まで、DVM動作をブロックする。732で、DVMインターセプタ428は、クロックマネージャ410にDVMSMMUClockONRequestを発行する。
【００６０】
734で、クロックマネージャ410は、クロックゲーティング要素が無効にされること、および、DVMネットワーク構成要素およびDVMターゲットに関係するクロックがオンであることを保証することになる。736で、DVMネットワーク構成要素およびDVMターゲットに関係するクロックがオンになると、クロックマネージャ410は、DVMインターセプタ428にDVMSMMUClockONReady応答を戻す。
【００６１】
738で、DVMインターセプタ428は、クロックマネージャ410がDVMSMMUClockONReady応答を戻すまで待機する。740で、DVMインターセプタ428は、DVM動作を「アンブロック」し、DVM動作がDVMターゲット406に進むことを可能にする(電力コラプスされるプロセス中ではないと仮定する)。DVMターゲットは、DVMターゲット406がDVM動作(または、いずれかの他の動作)をアクティブに処理中である限り、「SMMUIsActive」信号をアサートする。DVM応答のすべてが戻っており、DCDWakeUpRequest信号がアサート解除されるとき、DVM関連クロックは、電力節約のために分周されたクロックに戻るように切り替えられ得る。
【００６２】
742で、すべてのDVM応答が戻っており、DVMネットワーク404から出ているとき、DVMインターセプタ428は、要求信号DVMClockONRequestをアサート解除することによって、クロックがオンにされることを要求することを最終的に停止する。これは、たとえば、DVMインターセプタ428において保留中のDVM要求がないとき、および、最後のDVM要求がDVMインターセプタ428において保留中であったときから、ある時間量(たとえば、固定数のクロックサイクル)が経過したとき、行われ得る。このとき、744で、クロックマネージャ410は、他のエージェントがそれらのクロックを使用しない場合、クロックをシャットオフする(「トグルなし」と呼ばれる)ように決定し得る。
【００６３】
図8は、本開示の少なくとも1つの態様による、DVMネットワークに関係する電力ドメインおよびクロックドメインの完全ハードウェア管理のための例示的なフローを示す。図8に示すフローは、図4におけるシステム400によって実行され得る。
【００６４】
802で、CPUサブシステム/DVMイニシエータ402などのDVMイニシエータは、DVMネットワーク404などのDVMネットワークに、DVM動作を送信する。
【００６５】
804で、DVMネットワーク404などのDVMネットワークは、DVMターゲット406などの複数のDVMターゲットに、DVM動作をブロードキャストする。
【００６６】
806で、保留中のDVM動作がDVMネットワークによって複数のDVMターゲットにブロードキャストされることに基づいて、1つまたは複数のハードウェア機能が実行される。
【００６７】
たとえば、812で、DVMネットワークに結合されたクロックドメイン(たとえば、クロックドメイン324)、またはDVM動作のターゲットである複数のDVMターゲットのうちのDVMターゲットに結合されたクロックドメイン(たとえば、クロックドメイン326/328)がオンにされ得る。
【００６８】
代替または追加として、814で、DVMネットワークに結合されたクロックドメイン(たとえば、クロックドメイン324)、またはDVM動作のターゲットである複数のDVMターゲットのうちのDVMターゲットに結合されたクロックドメイン(たとえば、クロックドメイン326/328)の周波数が上げられ得る。
【００６９】
代替または追加として、816で、電力ドメインがオフにされることに基づいて、DVM動作のターゲットである複数のDVMターゲットのうちのDVMターゲットに結合された電力ドメインがオンにされる。
【００７０】
代替または追加として、818で、DVMターゲットがオフにされることに基づいて、DVM動作のターゲットである複数のDVMターゲットのうちのDVMターゲットへのDVM動作が終了される。より詳細には、DVM動作のターゲットである複数のDVMターゲットのうちのDVMターゲットがオフにされる場合、DVM動作が終了される。
【００７１】
本明細書で開示するように、ハードウェア管理電力コラプスのいくつかの利益がある。たとえば、電力管理ソフトウェアは、DVMネットワークを使用中であり得るソフトウェアと同期/協調する必要なしに、DVMターゲットを自由に電力コラプスさせることができる。空中のDVM動作は、電力のないDVMターゲットをターゲットにするときでも、依然として「正常に」完了する。さらに、いくつかの態様では、DVM動作の発行は、場合によっては、ソフトウェアからの電力を管理するための明示的な命令なしに、DVMターゲットに電源投入することになる。
【００７２】
また、本明細書で開示するように、ハードウェア管理クロッキングのいくつかの利益がある。たとえば、TLB無効化命令の発行は、ソフトウェアからのクロックを管理するための明示的な命令なしに、DVMネットワークおよびDVMターゲット上の関連付けられたクロックをオンにすることになる。さらに、TLB無効化命令の発行は、(たとえば)ソフトウェアからのクロックを管理するための明示的な命令なしに、DVMネットワークおよびDVMターゲット上の関連付けられたクロックを加速させることになる。その結果は、ソフトウェア管理に依拠しない、より高速なDVMネットワークである。
【００７３】
本開示の他の態様は、場合によっては、およびプログラム的に、DVMターゲットをDVMネットワークに参加することから除外するためのプロビジョンを含む。前記制御のプログラマビリティは、「特権的」または「セキュア」なソフトウェアから読取り可能/書込み可能なソフトウェアである。他の態様は、位相ロックループ(PLL)が無効にされるとき、クロックソースを「常に存在する」高速クロックに自動的に切り替えるためのプロビジョン/機能を含む。
【００７４】
当業者は、情報および信号が、様々な異なる技術および技法のうちのいずれかを使用して表現される場合があることを諒解するであろう。たとえば、上の説明全体にわたって言及される場合があるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表現される場合がある。
【００７５】
さらに、当業者であれば、本明細書で開示した態様に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装される場合があることを諒解されよう。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、上記では概してそれらの機能に関して説明してきた。そのような機能が、ハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課される設計制約によって決まる。当業者は、説明した機能を特定の適用例ごとに様々な方式によって実装してもよいが、そのような実装の決定は、本開示の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【００７６】
本明細書で開示する態様に関して説明した様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替として、このプロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携した1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成としても実装され得る。
【００７７】
本明細書で開示した態様に関して説明した方法、シーケンスおよび/またはアルゴリズムは、直接ハードウェアにおいて具現化されても、プロセッサによって実行されるソフトウェアモジュールにおいて具現化されても、あるいはその2つの組合せにおいて具現化されてもよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体内に存在してもよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取ること、および記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサに一体化される場合がある。プロセッサおよび記憶媒体は、ASICの中に存在する場合がある。ASICはユーザ端末(たとえば、UE)内に存在し得る。代替として、プロセッサおよび記憶媒体は、個別構成要素としてユーザ端末内に存在する場合がある。
【００７８】
1つまたは複数の例示的な態様では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組合せにおいて実装される場合がある。ソフトウェアにおいて実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信される場合がある。コンピュータ可読媒体は、コンピュータ記憶媒体と、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶デバイス、あるいは命令またはデータ構造の形態で所望のプログラムコードを搬送または記憶するために使用できるとともにコンピュータによってアクセスできる任意の他の媒体を含むことができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびblu-rayディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【００７９】
上記の開示は本開示の例示的な態様を示すが、添付の特許請求の範囲によって定義される本開示の範囲から逸脱することなく、本明細書で様々な変更および修正を行うことができることに留意されたい。本明細書で説明する本開示の態様による方法クレームの機能、ステップおよび/またはアクションは、任意の特定の順序で実行される必要はない。さらに、本開示の要素は、単数形で説明または特許請求されている場合があるが、単数形に限定することが明示的に述べられていない限り、複数形が企図される。
【符号の説明】
【００８０】
100  プロセッサベースシステム
102  中央処理ユニット(CPU)、CPU
104  プロセッサ
106  キャッシュメモリ
108  CPUメモリ管理ユニット(MMU)
110  システムバス
112  メモリシステム
114A〜114N  メモリユニット
116  SMMU
118  メモリコントローラ
120  入力デバイス
122  出力デバイス
124  ネットワークインターフェースデバイス
126  ディスプレイコントローラ
128  ネットワーク
130  ディスプレイ
132  ビデオプロセッサ
200  システム
202  DVMイニシエータ
204、404  DVMネットワーク
206A〜206N、406  DVMターゲット
322  クロックおよび電力ドメイン
324、326、328  クロックおよび電力ドメイン、クロックドメイン
400  システム
402  CPUサブシステム、CPUサブシステム/DVMイニシエータ、DVMイニシエータ
408  電力コントローラ
410  クロックマネージャ
412  DVMマスタポート
414  DVMスレーブポート
420  電力コラプスマネージャ
424  クロックブリッジ
426  DVM切断モジュール
428  DVMインターセプタ
432A、432B  クロックセレクタ
434A、434B  クロック分周器
440  電力コラプスインターフェースのためのレジスタ
【図１】
2019517052.tif 000003
【図２】
2019517052.tif 000004
【図３Ａ】
2019517052.tif 000005
【図３Ｂ】
2019517052.tif 000006
【図４】
2019517052.tif 000007
【図５】
2019517052.tif 000008
【図６】
2019517052.tif 000009
【図７Ａ】
2019517052.tif 000010
【図７Ｂ】
2019517052.tif 000011
【図８】
2019517052.tif 000012
【手続補正書】
【提出日】平成30年10月2日(2018.10.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
分散仮想メモリ(DVM)ネットワークに関する電力ドメインおよびクロックドメインの完全ハードウェア管理のための方法であって、
DVMイニシエータ(402)からDVMネットワーク(404)に、DVM動作を送信するステップと、
前記DVMネットワークによって、複数のDVMターゲット(406)に、前記DVM動作をブロードキャストするステップと、
前記DVM動作が前記DVMネットワークによって前記複数のDVMターゲットにブロードキャストされることに基づいて、1つまたは複数のハードウェア機能を実行するステップであって、前記1つまたは複数のハードウェア機能が、
前記DVMネットワーク、または前記DVM動作のターゲットである前記複数のDVMターゲットのうちのDVMターゲット(406)に結合された、クロックドメインをオンにするステップ、
前記DVMネットワーク、または前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットに結合された、前記クロックドメインの周波数を上げるステップ、
電力ドメインがオフにされることに基づいて、前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットに結合された前記電力ドメイン(408)をオンにするステップ、
前記DVMターゲットがオフにされることに基づいて、前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットへの前記DVM動作を終了させるステップ、あるいは
それらの任意の組合せ
を含む、ステップと
を含む方法。
【請求項２】
前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットに結合された、前記クロックドメインをオンにするステップが、
前記DVMイニシエータによって、前記DVMターゲットに結合された前記クロックドメインに、ウェイクアップ要求をアサートするステップと、
前記DVMネットワークによって、前記DVMターゲットに結合された前記クロックドメインがオフにされる間、前記DVM動作をブロックするステップと、
前記DVMターゲットに結合された前記クロックドメインをオンにするステップと、
前記DVMターゲットに結合された前記クロックドメインがオンにされることに基づいて、前記DVM動作をアンブロックし、前記DVMネットワークによって、前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットに、前記DVM動作を送信するステップと
を含む、請求項1に記載の方法。
【請求項３】
前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットに結合された、前記クロックドメインの前記周波数を上げるステップが、
前記DVMイニシエータによって、前記DVMターゲットに結合された前記クロックドメインに、ウェイクアップ要求をアサートするステップと、
前記DVMイニシエータに結合されたクロックセレクタユニットによって、前記DVMターゲットに結合された前記クロックドメインの分周されていないバージョンを選択するステップと、
前記DVMターゲットに結合された前記クロックドメインの前記分周されていないバージョンが選択されることに基づいて、前記DVMネットワークによって、前記DVM動作の前記ターゲットである前記DVMターゲットに、前記DVM動作を送信するステップと
を含む、請求項1に記載の方法。
【請求項４】
前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットに結合された前記電力ドメインをオンにするステップが、
前記DVMネットワークに結合された電力コラプスマネージャによって、前記DVM動作の前記ターゲットである前記DVMターゲットに結合された前記電力ドメインに、電源投入要求を発行するステップと、
前記電力コラプスマネージャによって、前記DVM動作の前記ターゲットである前記DVMターゲットに、電源投入要求を発行するステップと、
前記DVM動作の前記ターゲットである前記DVMターゲットによって、前記電力コラプスマネージャから受信された前記電源投入要求に基づいて、前記DVMネットワークからのDVM動作をアンブロックするステップと、
前記DVM動作の前記ターゲットである前記DVMターゲットによって、前記DVMネットワークに再接続するステップと、
前記DVMネットワークによって、前記DVM動作の前記ターゲットである前記DVMターゲットに、前記DVM動作を送信するステップと
を含む、請求項1に記載の方法。
【請求項５】
前記DVM動作の前記ターゲットである前記DVMターゲットに、前記電源投入要求を発行するステップが、前記電力コラプスマネージャによって、前記DVMターゲットに結合された前記電力ドメインがオンにされることを示す、前記DVMターゲットに結合された前記電力ドメインからの応答を受信することに基づく、請求項4に記載の方法。
【請求項６】
前記DVM動作の前記ターゲットである前記DVMターゲットに電源投入するための要求を受信するステップであって、前記要求が、前記DVMイニシエータによって実行されているソフトウェアから受信される、ステップと、
前記DVMターゲットに結合された前記電力ドメインがオンにされることを示す、電力状態信号を、前記ソフトウェアに送るステップと
をさらに含む、請求項4に記載の方法。
【請求項７】
前記DVMターゲットがオフにされることに基づいて、前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットへの前記DVM動作を終了させるステップが、
DVM切断モジュールから、後続のDVM動作を終了させるためのコマンドを受信するステップ
を含む、請求項1に記載の方法。
【請求項８】
前記DVMターゲットがオフにされることに基づいて、前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットへの前記DVM動作を終了させるステップが、
前記DVMネットワークによって、前記DVM動作を終了させるステップと、
前記DVMネットワークによって、前記DVM動作に対する応答を生成するステップと
を含む、請求項1に記載の方法。
【請求項９】
前記複数のDVMターゲットが、1つまたは複数のメモリ管理ユニットを備える、請求項1に記載の方法。
【請求項１０】
前記DVMイニシエータがプロセッサを備える、請求項1に記載の方法。
【請求項１１】
前記DVM動作が、トランスレーションルックアサイドバッファ(TLB)無効化動作、同期動作、またはそれらの任意の組合せを含む、請求項1に記載の方法。
【請求項１２】
前記DVMイニシエータが、前記DVMネットワークのクロックドメインおよび電力ドメインとは別個のクロックドメインおよび別個の電力ドメインに結合される、請求項1に記載の方法。
【請求項１３】
前記複数のDVMターゲットが、前記DVMイニシエータのクロックドメインおよび電力ドメイン、ならびに前記DVMネットワークのクロックドメインおよび電力ドメインとは別個の、クロックドメインおよび電力ドメインに結合される、請求項1に記載の方法。
【請求項１４】
前記複数のDVMターゲットの各々が、前記複数のDVMターゲットの残りのものとは別個のクロックドメインおよび別個の電力ドメインに結合される、請求項1に記載の方法。
【請求項１５】
前記複数のDVMターゲットが、単一のクロックドメインおよび電力ドメインに結合される、請求項1に記載の方法。
【請求項１６】
分散仮想メモリ(DVM)ネットワークに関する電力ドメインおよびクロックドメインの完全ハードウェア管理のための装置(400)であって、
DVMイニシエータ(402)と、
複数のDVMターゲット(406)と、
前記DVMイニシエータおよび前記複数のDVMターゲットに結合されたDVMネットワーク(404)であって、前記DVMネットワークが、前記DVMイニシエータから前記複数のDVMターゲットにDVM動作をブロードキャストするように構成される、DVMネットワークと
を備え、
前記DVMネットワークにおけるDVM動作が前記複数のDVMターゲットにブロードキャストされることに基づいて、
前記DVMネットワーク、または前記DVM動作のターゲットである前記複数のDVMターゲットのうちのDVMターゲット(406)に結合された、クロックドメインがオンにされ、
前記DVMネットワーク、または前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットに結合された、前記クロックドメインの周波数が上げられ、
電力ドメインがオフにされることに基づいて、前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットに結合された前記電力ドメイン(408)がオンにされ、
前記DVMターゲットがオフにされることに基づいて、前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットへの前記DVM動作が終了され、あるいは
それらの任意の組合せ
である、装置。
【請求項１７】
前記複数のDVMターゲットが、1つまたは複数のメモリ管理ユニットを備える、請求項16に記載の装置。
【請求項１８】
前記1つまたは複数のメモリ管理ユニットが、トランスレーションルックアサイドバッファ(TLB)を各々備える、請求項17に記載の装置。
【請求項１９】
前記DVMイニシエータがプロセッサを備える、請求項16に記載の装置。
【請求項２０】
前記DVM動作が、TLB無効化動作、同期動作、またはそれらの任意の組合せを含む、請求項16に記載の装置。
【請求項２１】
前記DVMイニシエータが、前記DVMネットワークのクロックドメインおよび電力ドメインとは別個のクロックドメインおよび別個の電力ドメインに結合される、請求項16に記載の装置。
【請求項２２】
前記複数のDVMターゲットが、前記DVMイニシエータのクロックドメインおよび電力ドメイン、ならびに前記DVMネットワークのクロックドメインおよび電力ドメインとは別個の、クロックドメインおよび電力ドメインに結合される、請求項16に記載の装置。
【請求項２３】
前記複数のDVMターゲットの各々が、前記複数のDVMターゲットの残りのものとは別個のクロックドメインおよび別個の電力ドメインに結合される、請求項16に記載の装置。
【請求項２４】
前記複数のDVMターゲットが、単一のクロックドメインおよび電力ドメインに結合される、請求項16に記載の装置。
【請求項２５】
前記DVMネットワークが、前記複数のDVMターゲットからの応答を、マージされた応答にマージし、前記マージされた応答を前記DVMイニシエータに報告する、請求項16に記載の装置。
【請求項２６】
前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットへの前記DVM動作が終了されることに基づいて、前記DVMネットワークが、前記DVMターゲットに代わって前記DVMイニシエータに応答する、請求項16に記載の装置。
【請求項２７】
分散仮想メモリ(DVM)ネットワークに関する電力ドメインおよびクロックドメインの完全ハードウェア管理のための装置であって、
DVMネットワーク(404)に、DVM動作を送信するための手段(402)と、
複数のDVMターゲット(406)に、前記DVM動作をブロードキャストするための手段(404)と、
前記DVM動作が前記DVMネットワークによって前記複数のDVMターゲットにブロードキャストされることに基づいて、1つまたは複数のハードウェア機能を実行するための手段(420)であって、前記1つまたは複数のハードウェア機能が、
前記DVMネットワーク、または前記DVM動作のターゲットである前記複数のDVMターゲットのうちのDVMターゲット(406)に結合された、クロックドメインをオンにすること、
前記DVMネットワーク、または前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットに結合された、前記クロックドメインの周波数を上げること、
電力ドメインがオフにされることに基づいて、前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットに結合された前記電力ドメイン(408)をオンにすること、
前記DVMターゲットがオフにされることに基づいて、前記DVM動作の前記ターゲットである前記複数のDVMターゲットのうちの前記DVMターゲットへの前記DVM動作を終了させること、あるいは
それらの任意の組合せ
を含む、手段(420)と
を備える装置。
【請求項２８】
前記複数のDVMターゲットが、1つまたは複数のメモリ管理ユニットを備える、請求項27に記載の装置。
【請求項２９】
前記DVMイニシエータが、前記DVMネットワークのクロックドメインおよび電力ドメインとは別個のクロックドメインおよび別個の電力ドメインに結合される、請求項27に記載の装置。
【請求項３０】
前記複数のDVMターゲットが、前記DVMイニシエータのクロックドメインおよび電力ドメイン、ならびに前記DVMネットワークのクロックドメインおよび電力ドメインとは別個の、クロックドメインおよび電力ドメインに結合される、請求項27に記載の装置。
【国際調査報告】
2019517052.tif 000013
2019517052.tif 000014
2019517052.tif 000015