IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テキサス インスツルメンツ インコーポレイテッドの特許一覧 ▶ 日本テキサス・インスツルメンツ株式会社の特許一覧

特表2022-541629低電力モードからのウェイクアップのためのプリエンプティブウェイクアップ回路
<>
  • 特表-低電力モードからのウェイクアップのためのプリエンプティブウェイクアップ回路 図1
  • 特表-低電力モードからのウェイクアップのためのプリエンプティブウェイクアップ回路 図2
  • 特表-低電力モードからのウェイクアップのためのプリエンプティブウェイクアップ回路 図3
  • 特表-低電力モードからのウェイクアップのためのプリエンプティブウェイクアップ回路 図4
  • 特表-低電力モードからのウェイクアップのためのプリエンプティブウェイクアップ回路 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-09-26
(54)【発明の名称】低電力モードからのウェイクアップのためのプリエンプティブウェイクアップ回路
(51)【国際特許分類】
   G06F 1/3237 20190101AFI20220915BHJP
   G06F 1/3228 20190101ALI20220915BHJP
   G06F 1/04 20060101ALI20220915BHJP
【FI】
G06F1/3237
G06F1/3228
G06F1/04 570
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022504500
(86)(22)【出願日】2020-07-20
(85)【翻訳文提出日】2022-03-23
(86)【国際出願番号】 US2020042723
(87)【国際公開番号】W WO2021016158
(87)【国際公開日】2021-01-28
(31)【優先権主張番号】16/519,655
(32)【優先日】2019-07-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】507107291
【氏名又は名称】テキサス インスツルメンツ インコーポレイテッド
(74)【代理人】
【識別番号】230129078
【弁護士】
【氏名又は名称】佐藤 仁
(71)【出願人】
【識別番号】390020248
【氏名又は名称】日本テキサス・インスツルメンツ合同会社
(72)【発明者】
【氏名】アナンド クマール ジー
【テーマコード(参考)】
5B011
【Fターム(参考)】
5B011DC06
5B011KK02
5B011LL13
(57)【要約】
回路(100)が電力コントローラ(150)とリアルタイムクロック(RTC)サブシステム(170)と処理サブシステム(110)とを含む。RTCサブシステムはタスクのための所定の時間を格納するアラームレジスタを含み、早期警告カウントダウン(175)及びスケジュールされた事象信号(180)を提供する。処理サブシステムは、プロセッサ(120)と、プリエンプティブウェイクアップ回路(125)と、プロセッサに結合されプロセッサと共にタスクを実行するように構成される構成要素とを含む。プリエンプティブウェイクアップ回路は、セレクタ論理回路、コンパレータ、及びウェイクアップ開始回路を含む。セレクタ論理はクロック生成器及び構成要素に対するウェイクアップ時間を示すレイテンシ値を受け取り、早期警告カウントダウンと最長ウェイクアップ時間が等しいときを示す最長ウェイクアップ時間をコンパレータに出力する。ウェイクアップ開始回路はクロック要求を生成しスリープモードインジケータ(140)をディセーブルする。電力コントローラはクロック信号(130)を提供し構成要素を起動させる。
【特許請求の範囲】
【請求項1】
電子回路であって、
タスクを実行するための所定の時間を格納するためのアラームレジスタを含むリアルタイムクロック(RTC)サブシステムであって、
前記所定の時間に基づいて早期警告カウントダウンを提供し、
前記所定の時間において、スケジュールされた事象信号を提供する、
ように構成される、前記RTCサブシステムと、
処理サブシステムであって、
前記スケジュールされた事象信号を受信するために前記RTCサブシステムに結合されるプロセッサ、
前記早期警告カウントダウンを受け取るため前記RTCサブシステムに結合され、前記早期警告カウントダウンに基づいて、クロック要求信号を生成しスリープモードインジケータをディセーブルするように構成されるプリエンプティブウェイクアップ回路、及び
前記プロセッサに接続され、前記プロセッサと連携して前記タスクを実行するように構成される構成要素、
を含む、前記処理サブシステムと、
前記処理サブシステムに結合され、前記スリープモードインジケータに基づいて、クロック信号を提供し、前記構成要素を起動させるように構成される電力コントローラと、
を含む、
電子回路。
【請求項2】
請求項1に記載の電子回路であって、前記構成要素がメモリを含み、前記電力コントローラが、前記スリープモードインジケータ及び前記クロック要求信号に応答して、前記メモリを保持モードに遷移させ、前記クロック信号をディセーブルするように構成される、電子回路。
【請求項3】
請求項1に記載の電子回路であって、前記構成要素がメモリを含み、前記電力コントローラが、前記ディセーブルされたスリープモードインジケータに応答して前記メモリをアクティブモードに遷移させるように構成される、電子回路。
【請求項4】
請求項1に記載の電子回路であって、前記プリエンプティブウェイクアップ回路が、
それぞれ、前記構成要素及びクロック生成器のためのそれぞれのウェイクアップ時間を示すレイテンシ値を受け取り、どのレイテンシ値を出力するかを示すセレクタ信号を受信するように構成される、セレクタ論理回路であって、最も長いウェイクアップ時間を示す最大レイテンシ値を提供するようにさらに構成される、前記セレクタ論理回路と、
前記セレクタ論理回路に結合されるコンパレータであって、前記早期警告カウントダウンの値が前記最大レイテンシ値に等しいことを示す信号を出力するように構成される、前記コンパレータと、
前記コンパレータに結合されるウェイクアップ開始回路であって、前記ウェイクアップ開始回路が、前記クロック要求信号を生成し前記スリープモードインジケータをディセーブルするように構成される、前記ウェイクアップ開始回路と、
を含む、電子回路。
【請求項5】
請求項1に記載の電子回路であって、前記RTCサブシステムが、時間の第1の部分についての第1のクロック周波数に基づいて、及び時間の第2の部分についての第2のクロック周波数に基づいて、前記早期警告カウントダウンを減分するように構成され、前記第2のクロック周波数が前記第1のクロック周波数よりも高い、電子回路。
【請求項6】
請求項5に記載の電子回路であって、前記早期警告カウントダウンが12ビット幅である、電子回路。
【請求項7】
請求項5に記載の電子回路であって、時間の前記第2の部分が時間の前記第1の部分よりも短い、電子回路。
【請求項8】
請求項1に記載の電子回路であって、前記RTCサブシステムが、前記スケジュールされた事象信号及び前記早期警告カウントダウンを提供するためのリアルタイムクロックを含む、電子回路。
【請求項9】
請求項1に記載の電子回路であって、前記プロセッサが、前記所定の時間を前記アラームレジスタに書き込むように構成される、電子回路。
【請求項10】
請求項1に記載の電子回路であって、前記RTCサブシステムが前記電力コントローラに結合され、前記RTCサブシステムが、処理サブシステムリセット信号に応答して前記アラームレジスタをクリアするように構成される、電子回路。
【請求項11】
請求項1に記載の電子回路であって、前記アラームレジスタが第1のアラームレジスタであり、前記RTCサブシステムが複数のアラームレジスタをさらに含み、前記各それぞれのアラームレジスタが、固有のタスクを実行するための所定の時間を格納するように構成される、電子回路。
【請求項12】
請求項11に記載の電子回路であって、前記プロセッサが、前記複数のアラームレジスタのサブセットに書き込むように構成される、電子回路。
【請求項13】
請求項12に記載の電子回路であって、前記RTCサブシステムが前記電力コントローラに結合され、前記RTCサブシステムが、処理サブシステムリセット信号に応答して、前記複数のアラームレジスタの前記サブセットをクリアするように構成される、電子回路。
【請求項14】
プリエンプティブウェイクアップ回路であって、
処理ユニットによって用いられる構成要素のセットのためのウェイクアップ時間を示すレイテンシ値と、どのレイテンシ値を出力するかを示すセレクタ信号とを受け取る入力を有するセレクタ論理回路、
前記セレクタ論理回路に結合されるコンパレータであって、早期警告カウントダウンを受け取るための入力を有する、前記コンパレータ、及び
前記コンパレータに結合されるウェイクアップ開始サブ回路であって、クロック要求を生成し、スリープモードインジケータをディセーブルするように構成される、前記ウェイクアップ開始サブ回路、
を含む、プリエンプティブウェイクアップ回路。
【請求項15】
請求項14に記載のプリエンプティブウェイクアップ回路であって、前記セレクタ信号が、スケジュールされた事象を実施するために用いられる構成要素のサブセットのため前記レイテンシ値からの最長のウェイクアップ時間を示す最大のレイテンシ値を示す、プリエンプティブウェイクアップ回路。
【請求項16】
請求項14に記載のプリエンプティブウェイクアップ回路であって、前記セレクタ論理回路がマルチプレクサを含む、プリエンプティブウェイクアップ回路。
【請求項17】
請求項14に記載のプリエンプティブウェイクアップ回路であって、前記ウェイクアップ開始サブ回路が、前記コンパレータが前記早期警告カウントダウンの値と前記セレクタ論理回路出力とが等しいことを示すことに応答して、前記クロック要求を生成し前記スリープモードインジケータをディセーブルするように構成される、プリエンプティブウェイクアップ回路。
【請求項18】
処理システムのためのプリエンプティブウェイクアップの方法であって、
早期警告カウントダウンを前記所定の時間まで減分することであって、前記所定の時間にタスクがスケジュールされることと、
前記スケジュールされたタスクを実施するために用いられるリソースのセットと、ウェイクアップ時間を示すレイテンシ値のセットとを決定することであって、前記レイテンシ値のセットが、前記リソースのセット内の各それぞれのリソースのためのそれぞれのレイテンシ値を含むことと、
前記レイテンシ値のセットからの最長のウェイクアップ時間を示す最大のレイテンシ値を決定することと、
前記最大レイテンシ値を前記早期警告カウントダウンの値と比較することと、
前記最大レイテンシ値と前記早期警告カウントダウンの値が等しいことに応答して、クロック要求を生成することと、
スリープモードインジケータをディセーブルすることと、
を含む。
【請求項19】
請求項18に記載の方法であって、
前記早期警告カウントダウンが、前記早期警告カウントダウンの第1の部分についての第1のクロック周波数に基づいて、及び前記早期警告カウントダウンの第2の部分についての第2のクロック周波数に基づいて減分され、
前記第1のクロック周波数が前記第2のクロック周波数よりも低く、
前記早期警告カウントダウンの前記第1の部分が前記早期警告カウントダウンの前記第2の部分よりも長い、
方法。
【請求項20】
請求項18に記載の方法であって、前記クロック要求と前記スリープモードインジケータのディセーブルとに応答して、前記リソースのセットをスリープモードからアクティブモードに遷移させることをさらに含む、方法。

【発明の詳細な説明】
【技術分野】
【0001】
多くの電子デバイスは、電力を節約するために、デバイス内の構成要素及びサブシステムに対して低電力モードを実装している。しかしながら、こういったサブシステムは、将来の所定の時間にタスクを実施するようにスケジュールされ得る。発振器、クロック、スタティックランダムアクセスメモリ(SRAM)などのスケジュールされたリアルタイムタスクを実施するために必要とされるリソースは、時間制約が厳しいタスクを実行するために処理サブシステムが使用するために、アクティブではないか又は低電力モードから利用可能ではない場合がある。これは、レイテンシオーバーヘッドと、時間制約が厳しいタスクの不正確なタイミングの性能とをもたらす。従って、リアルタイムタスクの場合、スケジュールされたリアルタイムタスクの前に、サブシステム及び必要なリソースを低電力モードからウェイクアップ(wake up)することが有益であり得る。
【0002】
プリエンプティブウェイクアップは、ソフトウェアで処理できるが、スケジュールされた事象に必要なハードウェアリソースの状態を管理するために複雑なソフトウェアシーケンスが必要である。これにより、低電力モードからのウェイクアップシーケンスでの消費電力が増加する可能性がある。幾つかのシステムは、各事象に対して、2つのシステムリアルタイムクロックチャネルを実装することによって正確なウェイクアップを達成する。即ち、1つは早期ウェイクアップ事象のため、もう1つはスケジュールされた事象自体のためである。しかしながら、複数の処理ユニットサブシステムのためのスケジュールされた事象に対処するために必要とされるチャネルの数は、そのシステムのための動作コスト及び構成要素コストを増大させる。
【発明の概要】
【0003】
一例において、電子回路が、処理サブシステムと、処理サブシステムに結合された電力コントローラと、処理サブシステムに結合されたリアルタイムクロック(RTC)サブシステムとを含む。RTCサブシステムは、タスクを実行するための所定の時間を格納するためのアラームレジスタを含み、所定の時間と、所定の時間のスケジュールされた事象信号とに基づいて、早期警告カウントダウンを提供するように構成される。処理サブシステムは、スケジュールされた事象信号を受信するためにRTCサブシステムに結合されたプロセッサと、プロセッサに結合され、プロセッサと共にタスクを実行するように構成された構成要素と、早期警告カウントダウンを受け取るためにRTCサブシステムに結合されたプリエンプティブウェイクアップ回路とを含む。プリエンプティブウェイクアップ回路は、早期警告カウントダウンに基づいて、クロック要求信号を生成し、スリープモードインジケータをディセーブルするように構成される。電力コントローラは、スリープモードインジケータに基づいて、クロック信号を提供し、構成要素を起動するように構成される。
【0004】
幾つかの実装において、RTCサブシステムは、スケジュールされた事象信号及び早期警告カウントダウンを生成するためのリアルタイムクロックを含む。プロセッサは、所定の時間をアラームレジスタに書き込むようにさらに構成される。幾つかの実装において、RTCサブシステムは複数のアラームレジスタを含み、複数のアラームレジスタの各々が、実行されるべき固有のタスクのための所定の時間を格納するように構成され、プロセッサは、複数のアラームレジスタのサブセットを書き込むようにさらに構成される。幾つかの実施例において、RTCサブシステムは、電力コントローラにさらに結合され、電力コントローラからの処理サブシステムリセット信号に応答して、アラームレジスタ、又は複数のアラームレジスタのサブセットをクリアするように構成される。幾つかの実装において、早期警告カウントダウンは12ビット幅であり、RTCサブシステムは、第1の時間部分については第1のクロック周波数に基づいて、第2の一層短い時間部分については第2の一層高いクロック周波数に基づいて、カウントダウンを減分する。
【0005】
幾つかの例において、プリエンプティブウェイクアップ回路は、セレクタ論理回路と、セレクタ論理回路に結合されるコンパレータと、コンパレータに結合されるウェイクアップ開始回路とを含む。セレクタ論理回路は、構成要素及びクロック生成器に対するそれぞれのウェイクアップ時間を示すレイテンシ値を受け取り、セレクタ論理回路が出力するために、最も長いウェイクアップ時間に対応して、どのレイテンシ値が最も大きいかを示すセレクタ信号を受け取る。幾つかの実装において、セレクタ論理回路はマルチプレクサである。コンパレータは、RTCサブシステムからの早期警告カウントダウンの値が最大レイテンシ値に等しいことを示す信号を出力する。ウェイクアップ開始回路は、コンパレータ出力に基づいて、クロック要求信号を生成しスリープモードインジケータをディセーブルする。
【図面の簡単な説明】
【0006】
種々の例の詳細な説明のため、ここで、添付の図面を参照する。
【0007】
図1】低電力モードからの処理ユニットのプリエンプティブウェイクアップのために構成される例示のデバイスである。
【0008】
図2図1に示された例示のデバイスにおける構成要素のためのタイミング図を図示する。
【0009】
図3】例示のプリエンプティブウェイクアップモジュールを図示する。
【0010】
図4】低電力モードからの複数の処理ユニットのプリエンプティブウェイクアップのために構成される例示のデバイスを図示する。
【0011】
図5】フローチャート形式で、低電力モードからの処理ユニットのプリエンプティブウェイクアップのための例示のプロセスを図示する。
【発明を実施するための形態】
【0012】
本明細書で説明される例示のシステムは、低電力モードからの処理サブシステム及び関連するリソースの、低電力でコスト効率のよいプリエンプティブウェイクアップを提供する。例示のシステムに含まれるシステムリアルタイムクロックは、複数のチャネルを含み、その結果、各処理ユニットサブシステムは、スケジュールされたウェイクアップ事象を、所有し得、複数のチャネルにプログラムし得る。各固有の処理ユニットサブシステムが、一度に複数のペンディングのスケジュールされたウェイクアップ事象を有することができる。システムリアルタイムクロックは、早期警告バスを用いて各処理ユニットサブシステムと通信する。幾つかの例において、システムリアルタイムクロックから特定の処理ユニットサブシステムへの同じ早期警告バスを、特定の処理ユニットサブシステムによって所有されプログラムされた各チャネルの固有の早期警告バスではなく、それぞれの処理ユニットサブシステムのスケジュールされた事象のすべてに使用することができる。そのような一例では、4つの処理ユニットサブシステムを含むシステムが、システムリアルタイムクロックが通信するための、各処理ユニットサブシステムに1つずつの、4つの早期警告バスを含む。
【0013】
処理ユニットサブシステムに含まれるプリエンプティブウェイクアップ回路が、早期警告バス上のカウントダウンに応答して、構成要素のウェイクアップを始める。ウェイクアップ回路が、最も長いウェイクアップ時間を有する構成要素に基づいて構成要素を起動し始める例において、回路は、セレクタ論理回路と、コンパレータと、ウェイクアップ開始サブ回路とを含む。セレクタ論理回路は、マルチプレクサとすることができ、処理ユニットサブシステムによって用いられるリソースのためのウェイクアップ時間を示すレイテンシ値と、セレクタ信号とを受け取るための入力を有する。セレクタ信号は、スケジュールされた事象を実行するために必要とされるリソースについて、最も長いウェイクアップ時間に対応して、どのレイテンシ値が最も最も大きいかを示す。コンパレータは、最大レイテンシ値を、システムリアルタイムクロックからの早期警告カウントダウンの値と比較し、いつカウントダウンが最大レイテンシ値に等しくなるかを示す。ウェイクアップ開始サブ回路は、クロック要求を生成し、コンパレータ出力に基づいてスリープモードインジケータをディセーブルする。これにより、スケジュールされた事象を実行するために必要なリソースを、スケジュールされた事象の前にスリープモードからアクティブモードに完全に遷移させて、スケジュールされた事象をプロセッサがすぐに実行できるようにすることができる。
【0014】
図1は、低電力モードからの処理ユニット120のプリエンプティブウェイクアップのために構成される例示のデバイス100である。デバイス100は、中央処理装置サブシステム(CPUSS)110と、電力リセットクロックマネージャ(PRCM)150と、システムリアルタイムクロック(RTC)170とを含む。CPUSS110は、スタティックランダムアクセスメモリ(SRAM)115と、中央処理装置120と、プリエンプティブウェイクアップモジュール125とを含む。「中央処理装置」及び「CPU」(単数)という用語は、本明細書では単一又は複数の処理装置のいずれかを指し、中央処理装置、デジタル信号プロセッサ、特定用途向け集積回路などを広く説明するために用いられる。SRAM115は、スタティックランダムアクセスメモリとして説明されるが、任意の適切な非一時的ストレージ媒体を用いることができる。
【0015】
PRCM150は、CPUSS110に対する、消費電力制御、クロック制御、及びリセット制御を提供する。PRCM150は、バス130を介して、CPUSS110からクロック要求を受信しCPUSS110にクロック信号を提供する。また、PRCM150は、CPUSS110からスリープモードインジケータ140を受け取り、リセット信号135をCPUSS110に提供する。PRCM150はまた、SRAM電力インタフェース145を介するSRAM115への電力を制御する。また、PRCM150は、デバイス100のクロック要求に従って、発振器155A~Nにパワーオン又はオフさせ、適切なクロック信号をデバイス100の構成要素に提供する。例えば、PRCM150は、発振器155Aによって生成されたクロック信号が、デバイス100内のいかなる構成要素によっても必要とされなくなったことに応答して、発振器155Aをパワーオフさせ、発振器155Aによって生成されたクロック信号に対する要求に応答して、発振器155Aにパワーオンさせる。また、PRCM150は、バス160を介してシステムRTC170にCPUSSリセット事象信号を提供し、これにより、システムRTC170は、CPUSS110によってシステムRTCに格納されたすべてのスケジュールされたアラームをリセットする。チャネルがリセットされた後、システムRTC170は、バス160を介してCPUSSリセット事象肯定応答信号を生成し、PRCM150はこれを受信する。その後、PRCM150は、残留するスケジュールされたアラーム及び事象から後に干渉されることなく、CPUSS110をリセットから解除することができる。
【0016】
システムRTC170は、リアルタイムクロックモードで動作し、スリープ低電力モードでデバイス100内の構成要素にウェイクアップ信号及び事象トリガを提供する。システムRTC170内の内部カウンタが、リアルタイムに関連するクロックパルスのカウントを保持し、この内部カウンタの状態を1つ又は複数のアラームレジスタに格納されたカウントと比較する。例示のデバイス100では、アラームレジスタが、チャネル1~チャネルNとしてラベル付けされる。システムRTC170の内部カウンタが、スケジュールされたアラーム時間より或る時間期間だけ前の値に等しいことに応答して、システムRTC170は、低周波数クロックに基づいて減分する早期警告カウントダウンをバス175上に生成し、それをデバイス100内の適切な構成要素に提供する。内部カウントが、スケジュールされたアラーム時間に等しいことに応答して、システムRTC170は、スケジュールされた事象信号180を生成し、それをデバイス100内の適切な構成要素に提供する。
【0017】
CPUSS110は、システムRTC170内の1つ又は複数のチャネルを所有し、レジスタ書込み動作などによって、チャネルに格納されたアラーム時間をプログラムする。アラームをスケジュールした後、CPUSS110は、スリープモードに入る。スリープモードでは、バス130上のクロック要求がオフにされ、PRCM150は、SRAM電力インタフェース145を介して電力を調整することによってSRAM115を保持状態にする。CPUSS110は、スリープモードインジケータ140をPRCM150に提供する。CPUSS110への電力供給はそのままにしておく。システムRTC170の内部カウンタが、スケジュールされたアラーム時間より或る時間期間だけ前の値に等しいことに応答して、システムRTC170は、低周波数クロックに基づいて早期警告カウントダウン減分を生成し、早期警告バス175を用いて、それをプリエンプティブウェイクアップモジュール125に提供する。例示のデバイス100では、システムRTC170は、スケジュールされたアラーム時間の約4ミリ秒前に等しいカウントに応答して、32キロヘルツ(kHz)クロックに基づいて12ビット幅の早期警告カウントダウン減分を生成する。
【0018】
システムRTC170からバス175を介して早期警告カウントダウンを受け取ることに応答して、プリエンプティブウェイクアップモジュール125は、アラームに関連する事象を実施するためにどのリソースが必要とされるかを判定し、どのリソースが最も長いウェイクアップ時間を有するかを判定する。図3に関して本明細書でさらに説明されるように、プリエンプティブウェイクアップモジュール125は、どのリソースがスリープモードからア起動モードへの移行に最も長い時間を要するかを判定し、最も長いウェイクアップ時間に対応する、スケジュールされた事象の前の或る時間に必要とされるリソースを優先的に(preemptively)起動する。これにより、必要なリソースが、低電力モードにおけるCPUSS110の電力消費に大きく影響するほど前もってではないが、スケジュールされた事象の前に完全に起動されアクセス可能となることが保証される。
【0019】
次に、プリエンプティブウェイクアップモジュール125は、最長のウェイクアップ時間をバス175上の早期警告カウントダウンの値と比較する。バス175上の低周波数クロック及び早期警告カウントダウンの最後から2番目の期間において、システムRTC170は、一層高い周波数クロックに基づいて、早期警告カウントダウンを一層迅速に減分する。例示のデバイス100では、システムRTC170は、スケジュールされたアラーム時間の32マイクロ秒前に、1MHzクロックに基づいて、マイクロ秒毎にバス175上の早期警告カウントダウンを減分する。バス175上の早期警告カウントダウンの値が最長のウェイクアップ時間に等しいことに応答して、プリエンプティブウェイクアップモジュール125は、適切なクロック信号のためにPRCM150へのクロック要求をトリガし、CPUSS110からPRCM150へのスリープモードインジケータをオフにし、CPUSS110のウェイクアップを促す。
【0020】
内部カウンタ値が、格納された警報時間に等しいことに応答して、システムRTC170は、スケジュールされた事象信号180を生成し、それをCPU120に提供する。次に、CPU120は、スケジュールされた事象信号180によって示される動作を実施する。プリエンプティブウェイクアップモジュール125は、スケジュールされたアラーム時間の前の必要なウェイクアップ時間にCPUSS110のウェイクアップをトリガするので、アラームに関連する事象を処理するために必要なリソースは、スケジュールされた事象信号180をCPU120が受信する時間までにスリープモードから起動モードに完全に遷移する。従って、CPU120は、CPUSS110の他の構成要素がスリープモードから起動する間に遅延なく、スケジュールされた事象の処理を即座に開始することができる。
【0021】
図2は、図1に示される例示のデバイス100内の構成要素のためのタイミング図を図示する。グラフ210は、それに基づき早期警告カウントダウンが減分された、可変周波数カウントダウンクロックを示す。この例では、早期警告カウントダウンは、4ミリ秒の総持続時間、すなわち32kHzの低周波数クロックに対して128の低周波数クロック周期、を有する。簡潔にするために、128の低周波数クロック期間のうちの最後の12個のみが示されており、その最後の部分が、早期警告カウントダウンを一層速く減分するためのクロック周波数の増大を示している。グラフ220は、システムRTC170からプリエンプティブウェイクアップモジュール125への12ビット早期警告カウントダウンバス175に対する減分値を示す。グラフ230は、システムRTC170からCPU120へのスケジュールされた事象信号180を示す。
【0022】
早期警告バス175は、システムRTC170からCPUSS110内のプリエンプティブウェイクアップモジュール125まで走り、スケジュールされたウェイクアップ事象を予期して早期警告カウントダウンを減分する。127クロックサイクルの間、より低い32kHz周波数に基づいて減分した後、そのうちの11がグラフ220に示されており、バス175上の早期警告カウントダウンは、より高い周波数クロックに基づいて、例示のデバイス100に対して1MHz、より速く減分する。12ビットの早期警告バス175のうち、最初の11ビットに対して低周波数クロックを用い、最後のビットのみに対し高周波数クロックを用いることによって、早期警告バス175の12ビットすべてに対して高周波数クロックを用いる場合と比べて、デバイス100内のクロックによって用いられる電力が低減される。
【0023】
CPUSS110内のプリエンプティブウェイクアップモジュール125は、早期警告カウントダウン175の値を、アラームがスケジュールされている事象を実施するために必要なリソースのための最長ウェイクアップ時間と比較し、バス175上の早期警告カウントダウンの値が最長ウェイクアップ時間に等しいことに応答して、これらのリソースにスリープモードからのウェイクアップを開始させる。これにより、必要なリソースが、スケジュールされた事象の前にスリープモードからアクティブモードに完全に遷移するのに充分な時間を提供され、一方で、それらを可能な限り長くスリープモードに保つ。バス175上の12ビット早期警告カウントダウンが終了した後、システムRTC170は、スケジュールされた事象信号180を生成してCPU120に送信し、CPU120は意図された動作を実施する。
【0024】
図3は、図1に示される例示のデバイス100におけるプリエンプティブウェイクアップモジュール125などの、例示のプリエンプティブウェイクアップモジュール300を図示する。プリエンプティブウェイクアップモジュール300は、マルチプレクサ310と、コンパレータ330と、ウェイクアップ開始モジュール340とを含む。マルチプレクサ310は、プリエンプティブウェイクアップモジュール300に関連するCPUSS内のリリソース及びそういったCPUSSによって用いられるリソースのための既知のウェイクアップ時間を含むレジスタから、レイテンシ値315~325を受け取る。例えば、レイテンシ値315は、関連するCPUSSによって用いられる10GHzクロックのためのウェイクアップ時間に対応する1マイクロ秒の値とし得る。レイテンシ値320は、関連するCPUSSによって用いられる20GHzクロックのためのウェイクアップ時間に対応する2マイクロ秒の値とし得る。レイテンシ値325は、CPUSSに関連するSRAMが保持状態からアクティブ状態に遷移するためのウェイクアップ時間に対応する、3.5マイクロ秒の値とし得る。マルチプレクサ310は3つの入力を含むが、特定の実装に従って任意の数の入力を用いることができる。
【0025】
マルチプレクサ310は、マルチプレクサ310が出力すべき特定の入力を示す制御信号305を受信する。制御信号305は、スケジュールされた事象を実施するためにCPUSSによって用いられるどのリソースが、最も長いウェイクアップ時間を有するかを示す。例えば、CPUは、スケジュールされた事象を実施するために、10GHzクロック及びSRAMを用い得る。SRAMは、1マイクロ秒と比較して3.5マイクロ秒という、10GHzクロックよりも長いウェイクアップ時間を有するので、制御信号305は、マルチプレクサ310がレイテンシ値325を出力すべきであることを示す。例示のプリエンプティブウェイクアップモジュール300はマルチプレクサを含むが、特定の実装に基づいて任意の適切なセレクタ論理回路が用いられ得る。
【0026】
コンパレータ330は、マルチプレクサ310の出力を、図1に示されるシステムRTC170からバス175上に提供される早期警告カウントダウンなどの、システムRTC早期警告カウントダウン375の値と比較する。ウェイクアップ開始モジュール340は、コンパレータ330の出力を受け取り、CPUSSに関連する電力リセットクロックマネージャへの適切なクロック要求345を生成し、CPUSSから電力リセットクロックマネージャへのスリープモードインジケータ350をオフにする。次に、電力リセットクロックマネージャは、適切なクロック信号を提供し、SRAMを保持モードからアクティブモードに遷移させる。プリエンプティブウェイクアップモジュール300及びシステムRTC早期警告カウントダウン375の結果として、スケジュールされた事象に必要なリソースは、完全に起動され、ウェイクアップレイテンシなしに、スケジュールされた事象信号を受信した際にCPUが用いるためにアクセス可能である。プリエンプティブウェイクアップモジュール300は、CPUSSの電力消費に大きく影響を与え、低電力モードの有効性を低下させるほど前もってではなく、スケジュールされた事象の前に、必要なリソースが完全に起動され、アクセス可能であることを保証する。
【0027】
図4は、低電力モードからの複数の処理ユニットのプリエンプティブウェイクアップのために構成される例示のデバイス400を図示する。例示のデバイス400は、図1に示される例示のデバイス100と同様であるが、例示のデバイス100は、単一のCPUSS 110のみを含むが、例示のデバイス400は、複数のCPUSS 410A~Nを含む。デバイス400は、電力リセットクロックマネージャ(PRCM)450及びシステムリアルタイムクロック(RTC)470を含む。バス430Aは、PRCM 450及びCPUSS 410Aが、クロック信号及びクロック要求、リセット信号、ならびにスリープモードインジケーションを送受信することを可能にする。同様に、バス430Nは、PRCM 450及びCPUSS 410Nが、クロック信号及びクロック要求、リセット信号、ならびにスリープモードインジケーションを送受信することを可能にする。PRCM450は、SRAM電力インタフェース445Aを介するCPUSS 410A内のSRAM415Aへの電力を制御する。PRCM450は、SRAM電力インタフェース445Nを介するCPUSS 410N内のSRAM415Nへの電力を制御する。
【0028】
システムRTC470はチャネル1~Mを含む。各CPUSS 410は一度に複数のチャネルを所有することができるので、システムRTC470内のチャネルの数は、例示のデバイス400に含まれるCPUSS 410の数に等しい必要はない。これにより、各CPUSS 410が、複数の事象及びアラーム時間をスケジュールすることができ、一度にペンディングの複数のスケジュールされた事象を有することが可能となる。CPUSS 410によって所有されるチャネルの数にかかわらず、特定のCPUSS 410のために単一の早期警告バスのみが必要とされ、早期ウェイクアップ事象のための1つのチャネルとスケジュールされた事象自体のための1つのチャネルの、各スケジュールされた事象に対して2つのチャネルを実装するデバイスと比較して、デバイス400内で必要とされるチャネル及び通信バスの数が低減される。特定のCPUSS 410に関連する早期警告バスは、次のスケジュールされた事象に対する時間遅延を示す。
【0029】
システムRTC470内のチャネルの所有権は、異なるCPUSS 410が所有するチャネルをCPUSS 410が上書き又は妨害できないように、セキュリティルール及び周辺機器ファイアウォールの対象とすることができる。システムRTC470は、固有の早期警告バス475A~Nによって各CPUSS 410A~Nに結合される。バス460は、PRCM450からシステムRTC470にCPUSSリセット事象信号を搬送し、システムRTC470からPRCM450にリセット事象肯定応答信号を搬送する。PRCM450からのリセット事象信号は、リセットされるべき特定のCPUSS 410を示すことができ、システムRTC470は、その特定のCPUSS 410によって所有されるチャネルのみをリセットする。
【0030】
図5は、フローチャート形式で、図1に示されるCPUSS110及び電子デバイス100などの、低電力モードからの処理ユニットのプリエンプティブウェイクアップのための例示のプロセス500を図示する。プロセス500は、電子デバイス100からのSRAM115に格納された命令を実行するCPUSS110などの、非一時的コンピュータ可読媒体に格納された命令を実行する処理ユニットによって実施される。フローチャートは動作505で始まり、動作505の間、RTC170は、スケジュールされたタスクに関連する所定の時間まで早期警告カウントダウンを減分する。動作510において、プリエンプティブウェイクアップモジュール125は、スケジュールされたタスクを実施するために必要とされるリソースのセットを決定する。動作515において、プリエンプティブウェイクアップモジュール125は、最長ウェイクアップ時間を示す最大レイテンシ値を決定する。
【0031】
動作520において、プリエンプティブウェイクアップモジュール125は、最大レイテンシ値を早期警告カウントダウンの値と比較する。動作525において、プリエンプティブウェイクアップモジュール125は、早期警告カウントダウンの値が最大レイテンシ値に等しいかどうかを判定する。早期警告カウントダウンの値が最大レイテンシ値に等しくない場合、システムRTC170は、早期警告カウントダウンを減分し続け、プリエンプティブウェイクアップモジュール125は、最大レイテンシ値と早期警告カウントダウンの値とを、これら2つが等しくなるまで再び比較する。最大のレイテンシ値及び早期警告カウントダウンの値が等しいことに応答して、プリエンプティブウェイクアップモジュール125は、動作530でクロック要求を生成し、動作535で、スリープモードインジケータをディセーブルする。
【0032】
本明細書では、「結合する」という語は、間接的又は直接的な有線又は無線接続のいずれかを意味する。そのため、第1のデバイスが第2のデバイスに結合する場合、その接続は、直接的接続を介するもの、又は他のデバイス及び接続を介した間接的接続を介するものであり得る。「~に基づく」という記載は、「少なくとも部分的に基づく」ことを意味する。従って、XがYに基づく場合、Xは、Y及び任意の数の他の要因の関数であり得る。
【0033】
本発明の特許請求の範囲内で、説明した例示の実施例に改変が成され得、他の実施例が可能である。

図1
図2
図3
図4
図5
【国際調査報告】