(57)【要約】【課題】省電力状態に早期に遷移させることにより、消費電力を低減することができる演算処理装置を提供することを課題とする。【解決手段】演算処理装置は、データ要求指示をエントリに格納するデータ要求キュー部（１１６）と、前記データ要求キュー部に格納されたデータ要求指示に対応するデータ要求を送信し、送信したデータ要求に対応するデータを受信する通信インターフェース部（１１３）と、前記通信インターフェース部が受信したデータを用いた演算を実行する演算部（１１１）と、前記データ要求キュー部のエントリが空であり、かつ前記演算部が演算の実行中である場合、前記通信インターフェース部を省電力状態に遷移させる判定部（１１７）とを有する。【選択図】図１
2018181129.tif 000002
【特許請求の範囲】
【請求項１】
データ要求指示をエントリに格納するデータ要求キュー部と、
前記データ要求キュー部に格納されたデータ要求指示に対応するデータ要求を送信し、送信したデータ要求に対応するデータを受信する通信インターフェース部と、
前記通信インターフェース部が受信したデータを用いた演算を実行する演算部と、
前記データ要求キュー部のエントリが空であり、かつ前記演算部が演算の実行中である場合、前記通信インターフェース部を省電力状態に遷移させる判定部と
を有することを特徴とする演算処理装置。
【請求項２】
前記演算処理装置はさらに、
演算指示がエントリに格納される演算指示キュー部を有し、
前記演算部は、前記演算指示キュー部に格納された演算指示に応じて、前記演算の実行を開始することを特徴とする請求項１に記載の演算処理装置。
【請求項３】
前記判定部は、前記データ要求キュー部のエントリが空であり、かつ前記演算部が演算の実行中であり、かつ前記演算指示キュー部の全てのエントリが使用されている場合、前記通信インターフェース部を前記省電力状態に遷移させることを特徴とする請求項２に記載の演算処理装置。
【請求項４】
前記演算処理装置はさらに、
第１の値又は第２の値を記憶する条件レジスタを有し、
前記判定部は、
前記条件レジスタが前記第１の値を記憶する場合に、前記データ要求キュー部のエントリが空であり、かつ前記演算部が演算の実行中であるとき、前記通信インターフェース部を前記省電力状態に遷移させ、
前記条件レジスタが前記第２の値を記憶する場合に、前記データ要求キュー部のエントリが空であり、かつ前記演算部が演算の実行中であり、かつ前記演算指示キュー部の全てのエントリが使用されているとき、前記通信インターフェース部を前記省電力状態に遷移させることを特徴とする請求項３に記載の演算処理装置。
【請求項５】
前記判定部は、前記演算部の演算の実行が完了した場合、前記通信インターフェース部を前記省電力状態から通常状態に遷移させることを特徴とする請求項１〜４のいずれか１項に記載の演算処理装置。
【請求項６】
前記判定部は、前記演算部の演算の実行が完了した場合、前記通信インターフェース部を前記省電力状態からリカバリ状態を介して前記通常状態に遷移させることを特徴とする請求項５に記載の演算処理装置。
【請求項７】
前記演算部は、１つの演算指示に応じて演算をそれぞれ実行する複数の処理部を有し、
前記判定部は、前記データ要求キュー部のエントリが空であり、かつ前記複数の処理部のうちの少なくとも１個の処理部が演算の実行中である場合、前記通信インターフェース部を前記省電力状態に遷移させることを特徴とする請求項１〜６のいずれか１項に記載の演算処理装置。
【請求項８】
前記演算部は、１つの演算指示に応じて演算をそれぞれ実行する複数の処理部を有し、
前記判定部は、前記複数の処理部が実行するすべての演算の実行が完了した場合、前記通信インターフェース部を前記省電力状態から前記通常状態に遷移させることを特徴とする請求項５又は６に記載の演算処理装置。
【請求項９】
前記演算処理装置はさらに、
前記通信インターフェース部が送信したデータ要求に対応するデータを受信した場合、受信したデータに対応するデータ要求指示を前記データ要求キュー部において当該データ要求指示を格納するエントリから消去する受信部を有することを特徴とする請求項１〜８のいずれか１項に記載の演算処理装置。
【請求項１０】
前記受信部は、前記通信インターフェース部がデータ要求指示を受信した場合には、前記受信したデータ要求指示を前記データ要求キュー部のエントリに格納することを特徴とする請求項９に記載の演算処理装置。
【請求項１１】
前記通信インターフェース部は、前記演算部の演算の実行が完了し、かつ前記通常状態に遷移した後、演算完了通知を外部に送信することを特徴とする請求項５、６及び８のいずれか１項に記載の演算処理装置。
【請求項１２】
前記判定部は、前記通信インターフェース部の物理層を前記省電力状態に遷移させることを特徴とする請求項１〜１１のいずれか１項に記載の演算処理装置。
【請求項１３】
前記通信インターフェース部は、前記判定部が前記通信インターフェース部を前記省電力状態に遷移させる場合、省電力状態への遷移を交渉する交渉指示を送信し、送信した前記交渉指示に対応する交渉応答を受信した場合、前記省電力状態に遷移することを特徴とする請求項１〜１２のいずれか１項に記載の演算処理装置。
【請求項１４】
前記通信インターフェース部は、前記判定部が前記通信インターフェース部を前記省電力状態に遷移させる場合、省電力状態への遷移を交渉する交渉指示を送信し、送信した前記交渉指示に対応する交渉応答を受信した場合、前記通信インターフェース部の物理層を前記省電力状態に遷移させることを特徴とする請求項１〜１３のいずれか１項に記載の演算処理装置。
【請求項１５】
前記通信インターフェース部は、前記判定部が前記通信インターフェース部を前記通常状態に遷移させる場合、前記省電力状態からリカバリ状態に遷移し、トレーニングに用いるオーダードセットの送信及び受信を行い、前記トレーニングに用いるオーダードセットの送信及び受信の後、前記リカバリ状態から前記通常状態に遷移することを特徴とする請求項５、６、８及び１１のいずれか１項に記載の演算処理装置。
【請求項１６】
前記通信インターフェース部は、前記判定部が前記通信インターフェース部を前記通常状態に遷移させる場合、前記通信インターフェース部の物理層を前記省電力状態からリカバリ状態に遷移させ、トレーニングのためのオーダードセットの送信及び受信を行い、前記トレーニングのためのオーダードセットの送信及び受信の後、前記通信インターフェース部の物理層を前記リカバリ状態から前記通常状態に遷移させることを特徴とする請求項１５に記載の演算処理装置。
【請求項１７】
演算処理装置と、
前記演算処理装置に接続するホスト処理装置とを有し、
前記演算処理装置は、
データ要求指示がエントリを格納するデータ要求キュー部と、
前記データ要求キュー部に格納されたデータ要求指示に対応するデータ要求を前記ホスト処理装置に送信し、送信したデータ要求に対応するデータを前記ホスト処理装置から受信する通信インターフェース部と、
前記通信インターフェース部が受信したデータを用いた演算を実行する演算部と、
前記データ要求キュー部のエントリが空であり、かつ前記演算部が演算の実行中である場合、前記通信インターフェース部を省電力状態に遷移させる判定部とを有し、
前記ホスト処理装置は、前記演算処理装置から前記データ要求を受信し、受信した前記データ要求に対応するデータを前記演算処理装置に送信することを特徴とする情報処理装置。
【請求項１８】
データ要求指示をエントリに格納するデータ要求キュー部を有する演算処理装置の制御方法において、
前記演算処理装置が有する通信インターフェース部が、前記データ要求キュー部に格納されたデータ要求指示に対応するデータ要求を送信し、
前記通信インターフェース部が、送信したデータ要求に対応するデータを受信し、
前記演算処理装置が有する演算部が、前記通信インターフェース部が受信したデータを用いた演算を実行し、
前記演算処理装置が有する判定部が、前記データ要求キュー部のエントリが空であり、かつ前記演算部が演算の実行中である場合、前記通信インターフェース部を省電力状態に遷移させることを特徴とする演算処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演算処理装置、情報処理装置及び演算処理装置の制御方法に関する。
【背景技術】
【０００２】
バス転送手段と、データ保管手段と、判断手段と、転送制御手段とを有する画像処理装置が知られている（特許文献１参照）。バス転送手段は、所定の転送先に接続されて、転送先へのデータ転送が無い状態が所定期間継続すると、通常電力状態から省電力状態に移行する。そして、バス転送手段は、省電力状態においてデータ転送依頼が発生すると、省電力状態から通常電力状態に復帰して、転送要求のあったデータを転送先に転送する。データ保管手段は、転送要求のあったデータを一時的に保管する。判断手段は、転送要求のあったデータが転送先の動作制御に関する設定データであるか否か及び所定の特定データであるか否かを判断する。転送制御手段は、転送要求のあったデータが設定データである場合、データをデータ保管手段に保管する。また、転送制御手段は、転送要求のあったデータが設定データ以外のデータ又は特定データである場合、バス転送手段に、データ保管手段に保管されているデータを順次転送させる。その後に、転送制御手段は、転送要求のあったデータを転送させ、データ保管手段のデータが所定の転送開始容量になると、バス転送手段に、データ保管手段に保管されている全てのデータを順次転送させる。
【０００３】
また、データ制御装置から転送されたデータを処理する情報処理装置が知られている（特許文献２参照）。要求手段は、データ制御装置へデータを転送するように要求する。出力手段は、転送されたデータを処理して逐次出力する。算出手段は、転送が完了してから次に転送が開始されるまでの第１の時間を、要求手段により要求されたデータの転送量と、出力手段により出力される出力レートとに基づいて算出する。比較手段は、第１の時間と、データ制御装置と情報処理装置とを接続するチップ間バスを省電力状態へ遷移させるのに要する時間と省電力状態から復帰させるのに要する時間との合計である第２の時間と、を比較する。変更手段は、比較手段により第１の時間が第２の時間よりも長いと判断されると、チップ間バスを省電力状態へ遷移させる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−８１９８号公報
【特許文献２】特開２０１２−１９０２８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の従来技術では、転送の無い状態が所定期間継続すると、通常電力状態から省電力状態に移行する。しかし、転送の無い状態が所定期間継続している間は、通常電力状態であり、電力を無駄に消費してしまう。
【０００６】
１つの側面では、本発明の目的は、省電力状態に早期に遷移させることにより、消費電力を従来よりも低減することができる演算処理装置、情報処理装置及び演算処理装置の制御方法を提供することである。
【課題を解決するための手段】
【０００７】
演算処理装置は、データ要求指示をエントリに格納するデータ要求キュー部と、前記データ要求キュー部に格納されたデータ要求指示に対応するデータ要求を送信し、送信したデータ要求に対応するデータを受信する通信インターフェース部と、前記通信インターフェース部が受信したデータを用いた演算を実行する演算部と、前記データ要求キュー部のエントリが空であり、かつ前記演算部が演算の実行中である場合、前記通信インターフェース部を省電力状態に遷移させる判定部とを有する。
【発明の効果】
【０００８】
１つの側面では、省電力状態に早期に遷移させることにより、消費電力を低減することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、第１の実施形態による情報処理装置の構成例を示す図である。
【図２】図２（Ａ）は通信インターフェースの物理層のステートマシンを示す図であり、図２（Ｂ）は状態レジスタの構成例を示す図である。
【図３】図３は、演算処理装置の制御方法を示すフローチャートである。
【図４】図４は、演算コア、論理和演算回路及び状態レジスタを示す図である。
【図５】図５は、演算処理装置の制御方法を示すフローチャートである。
【図６】図６は、演算コア、論理積演算回路及び状態レジスタを示す図である。
【図７】図７は、第２の実施形態による情報処理装置の構成例を示す図である。
【図８】図８は、演算処理装置の制御方法を示すフローチャートである。
【図９】図９（Ａ）は第３の実施形態による状態遷移判定部の構成例を示す図であり、図９（Ｂ）は条件レジスタが記憶する第１〜第３の条件の例を示す図である。
【発明を実施するための形態】
【００１０】
（第１の実施形態）
図１は、第１の実施形態による情報処理装置の構成例を示す図である。情報処理装置は、ホスト処理装置１０１と、演算処理装置１０２とを有する。演算処理装置１０２は、ホスト処理装置１０１に接続される。また、演算処理装置１０２は、スイッチを介して、ホスト処理装置１０１に接続されてもよい。ホスト処理装置１０１は、例えば中央演算処理装置（ＣＰＵ）であり、通信インターフェース１３１を有する。
【００１１】
演算処理装置１０２は、複数の演算コア（処理部）１１１と、複数の状態レジスタ１１２と、通信インターフェース１１３と、データ受信部１１４と、データ要求信号生成部１１５と、データ要求キュー１１６と、状態遷移判定部１１７と、割り込み生成部１１８を有する。通信インターフェース１１３は、受信制御部１２１と、送信制御部１２２とを有する。
【００１２】
通信インターフェース１１３は、例えばPCI express通信インターフェースであり、トランザクション層と、データリンク層と、物理層とを有し、ホスト処理装置１０１に対してデータ通信を行う。ホスト処理装置１０１の通信インターフェース１３１は、演算処理装置１０２の通信インターフェース１３１と同様である。
【００１３】
通信インターフェース１１３は、物理層では、接続のトレーニングのために、ホスト処理装置１０１の通信インターフェース１３１との間で送信及び受信を行うオーダードセット（Ordered Set）を生成する。また、通信インターフェース１１３は、トランザクション層では、ホスト処理装置１０１に送信するデータをパケット化する。また、通信インターフェース１１３は、データリンク層では、ホスト処理装置１０１との間で送受信するためのクレジット情報、及びデータパケットの送信保証のための認証（Acknowledge）をパケット化する。通信インターフェース１１３は、物理層のステートマシンにより管理される。
【００１４】
図２（Ａ）は、通信インターフェース１１３の物理層のステートマシンを示す図である。通信インターフェース１１３の物理層のステートマシンは、通常状態Ｌ０と、省電力状態Ｌ１と、リカバリ状態とを有する。通常状態Ｌ０では、通信インターフェース１１３は、消費電力が通常であり、ホスト処理装置１０１に対して、送信及び受信が可能である。省電力状態Ｌ１では、通信インターフェース１１３は、電気的アイドル状態であり、消費電力が低く、ホスト処理装置１０１に対して、送信及び受信ができない。
【００１５】
通信インターフェース１１３は、通常状態Ｌ０において、通信を行わない状態になった場合には、省電力状態Ｌ１に遷移することにより、消費電力を低減することができる。また、通信インターフェース１１３は、省電力状態Ｌ１において、通信を行う必要性が生じた場合には、リカバリ状態を介して、通常状態Ｌ０に遷移する。通信インターフェース１１３は、リカバリ状態では、ホスト処理装置１０１の通信インターフェース１３１に対して、オーダードセットの送信及び受信を行うことにより、通信接続のトレーニングを行い、その後、通常状態Ｌ０に遷移する。通信インターフェース１１３は、通常状態Ｌ０で、ホスト処理装置１０１に対して、送信又は受信を行う。
【００１６】
図２（Ｂ）は、図１の状態レジスタ１１２の構成例を示す図である。状態レジスタ１１２は、有効（valid）ビット２０１と、完了ビット２０２とを有し、演算コア１１１の状態を記憶する。有効ビット２０１は、演算コア１１１の演算が実行中であるか否かを示す。完了ビット２０２は、演算コア１１１の演算の実行が完了したか否かを示す。演算コア１１１が演算を実行していないアイドル状態である場合には、有効ビット２０１及び完了ビット２０２が共に０である。演算コア１１１が演算の実行中である場合には、有効ビット２０１が１であり、完了ビット２０２が０である。演算コア１１１が演算の実行を完了した場合には、有効ビット２０１及び完了ビット２０２が共に１である。
【００１７】
なお、状態レジスタ１１２は、上記のビット構成に限定されない。また、状態レジスタ１１２は、２ビットで、アイドル状態、演算実行中状態、 演算実行正常終了状態、及び 演算実行異常終了状態の４状態を表現してもよい。
【００１８】
次に、情報処理装置の制御方法を説明する。ここで、通信インターフェース１３１の物理層は通常状態Ｌ０であり、状態レジスタ１１２は有効ビット２０１及び完了ビット２０２が共に０である。
【００１９】
ホスト処理装置１０１は、通信インターフェース１３１により、データ要求指示のパケットを演算処理装置１０２の受信制御部１２１に送信する。受信制御部１２１は、ホスト処理装置１０１が送信したデータ要求指示のパケットを受信し、データ要求指示の信号をデータ受信部１１４に出力する。データ受信部１１４は、受信制御部１２１が出力したデータ要求指示の信号を入力し、データ要求指示をデータ要求キュー１１６のエントリに格納する。データ要求指示は、そのデータを演算する演算の種類及びその演算を行う演算コア１１１の情報を含む。
【００２０】
同様に、ホスト処理装置１０１は、複数のデータ要求指示のパケットを順次送信することができる。データ受信部１１４は、受信制御部１２１が受信したデータ要求指示のパケットに応じて、データ要求キュー１１６の複数のエントリにデータ要求指示を順次格納する。データ要求キュー１１６は、ファーストインファーストアウトで、データ要求指示を格納する。
【００２１】
次に、データ要求信号生成部１１５は、データ要求キュー１１６の先頭のエントリのデータ要求指示を読み出し、データ要求の信号を送信制御部１２２に出力する。送信制御部１２２は、データ要求信号生成部１１５が出力したデータ要求の信号をパケット化し、データ要求のパケットをホスト処理装置１０１に送信する。
【００２２】
ホスト処理装置１０１は、通信インターフェース１３１により、送信制御部１２２が送信したデータ要求のパケットを受信し、その受信したデータ要求のパケットに対応するデータのパケットを演算処理装置１０２の受信制御部１２１に送信する。
【００２３】
受信制御部１２１は、ホスト処理装置１０１が送信したデータのパケットを受信し、データをデータ受信部１１４に出力する。データ受信部１１４は、上記のデータ要求指示に応じて、受信制御部１２１が出力したデータを、そのデータを演算する一又は複数の演算コア１１１に出力する。演算コア１１１は、データ受信部１１４からデータを入力し、演算の準備を行う。
【００２４】
次に、データ受信部１１４は、上記の受信したデータに対応するデータ要求指示をデータ要求キュー１１６から消去する。すると、送信制御部１２２は、そのデータ要求指示に対応するデータ要求完了通知のパケットをホスト処理装置１０１に送信する。
【００２５】
ホスト処理装置１０１は、通信インターフェース１３１により、送信制御部１２２からデータ要求完了通知のパケットを受信すると、そのデータ要求完了通知に対応する演算指示のパケットを演算処理装置１０２の受信制御部１２１に送信する。
【００２６】
受信制御部１２１は、ホスト処理装置１０１から演算指示のパケットを受信し、演算指示の信号をデータ受信部１１４に出力する。データ受信部１１４は、受信制御部１２１が出力した演算指示の信号を入力し、その演算指示の演算に対応する演算コア１１１に演算指示を出力する。演算コア１１１は、演算指示を入力すると、上記の受信したデータを用いた演算の実行を開始する。また、演算コア１１１は、演算の実行を開始すると、自己に対応する状態レジスタ１１２の有効ビット２０１に１をセットする。以下、図３を参照しながら、演算処理装置１０２の制御方法を説明する。
【００２７】
図３は、演算処理装置１０２の制御方法を示すフローチャートである。ステップＳ３０１では、状態遷移判定部１１７は、データ要求キュー１１６のエントリが空であるか否かを判定する。データ要求キュー１１６のエントリが空である場合には、演算処理装置１０２は、以後、データ要求指示に対応するデータのパケットをホスト処理装置１０１から受信することがないし、新たな演算が指示される予定がないことを意味する。状態遷移判定部１１７は、データ要求キュー１１６のエントリが空であると判定した場合には、ステップＳ３０２に処理を進める。また、状態遷移判定部１１７は、データ要求キュー１１６のエントリが空でないと判定した場合には、受信制御部１２１がデータのパケットを受信するまで待機する必要があるので、通信インターフェース１１３の物理層の通常状態Ｌ０を維持し、ステップＳ３０１に処理を戻す。
【００２８】
ステップＳ３０２では、状態遷移判定部１１７は、状態レジスタ１１２を参照し、上記の演算指示の演算に対応する一又は複数の演算コア１１１のうちの少なくとも１個の演算コア１１１が演算の実行中であるか否かを判定する。１個の演算指示に対応して複数の演算コア１１１が演算を実行する場合には、複数の演算コア１１１のすべてが同時に演算の実行を開始するとは限らない。少なくとも１個の演算コア１１１が演算の実行を開始すれば、受信制御部１２１は、演算指示のパケットをホスト処理装置１０１から受信済みであり、演算コア１１１は、長時間の演算実行を開始する。それ以後、演算処理装置１０２は、ホスト処理装置１０１に対して、通信を行わないことが分かっている。通信が行われないのであれば、通信インターフェース１１３の物理層は、通常状態Ｌ０から省電力状態Ｌ１に遷移し、消費電力を抑制することが好ましい。状態遷移判定部１１７は、上記の少なくとも１個の演算コア１１１が演算の実行中であると判定した場合には、ステップＳ３０３に処理を進める。また、状態遷移判定部１１７は、上記の演算コア１１１のすべてが演算の実行中でないと判定した場合には、受信制御部１２１が演算指示のパケットを受信するまで待機する必要があるので、通信インターフェース１１３の物理層の通常状態Ｌ０を維持し、ステップＳ３０１に処理を戻す。
【００２９】
なお、図４に示すように、１個の演算指示に応じて演算を実行する複数の演算コア１０１の演算グループ毎に、１個の論理和演算回路（ＯＲ回路）４０１及び１個の状態レジスタ１１２を設けてもよい。論理和演算回路４０１は、１個の演算指示に応じて演算を実行する複数の演算コア１０１のうちの少なくとも１個の演算コア１０１が演算の実行開始に伴う有効フラグ２０１のセット信号を出力した場合には、状態レジスタ１１２の有効フラグ２０１に１をセットする。ステップＳ３０２では、状態遷移判定部１１７は、その状態レジスタ１１２を参照し、上記の演算指示の演算に対応する一又は複数の演算コア１１１のうちの少なくとも１個の演算コア１１１が演算の実行中であるか否かを判定することができる。
【００３０】
ステップＳ３０３では、状態遷移判定部１１７は、省電力状態Ｌ１遷移交渉指示を通信インターフェース１１３に出力する。省電力状態Ｌ１遷移交渉指示は、通信インターフェース１１３の物理層を通常状態Ｌ０から省電力状態Ｌ１に遷移させるための指示信号である。
【００３１】
次に、ステップＳ３０４では、送信制御部１２２は、状態遷移判定部１１７が出力した省電力状態Ｌ１遷移交渉指示を入力すると、省電力状態Ｌ１遷移交渉のパケットをホスト処理装置１０１の通信インターフェース１３１に送信する。ホスト処理装置１０１は、通信の必要性に応じて、通信インターフェース１３１の物理層が省電力状態Ｌ１になってもよいか否かを判定する。ホスト処理装置１０１は、通信の予定がない場合には、通信インターフェース１３１の物理層が省電力状態Ｌ１になってもよいと判定し、通信インターフェース１３１により、省電力状態Ｌ１遷移交渉応答のパケットを演算処理装置１０２の通信インターフェース１１３に送信する。通信インターフェース１１３は、ホスト処理装置１０１が送信した省電力状態Ｌ１遷移交渉応答のパケットを受信すると、通信インターフェース１１３の物理層を通常状態Ｌ０から省電力状態Ｌ１に遷移させる。同様に、通信インターフェース１３１は、通信インターフェース１３１の物理層を通常状態Ｌ０から省電力状態Ｌ１に遷移させる。
【００３２】
演算コア１１１は、演算の実行が完了すると、自己に対応する状態レジスタ１１２の完了ビット２０２に１をセットする。上記の演算指示に対応する演算が完了した場合、通信インターフェース１１３は、演算完了通知をホスト処理装置１０１に送信する必要がある。そのためには、通信インターフェース１１３は、通信インターフェース１１３の物理層を省電力状態Ｌ１から通常状態Ｌ０に遷移させる必要がある。以下、その処理の詳細を、図５を参照しながら説明する。
【００３３】
図５は、演算処理装置１０２の制御方法を示すフローチャートである。ステップＳ５０１では、状態遷移判定部１１７は、状態レジスタ１１２を参照し、上記の演算指示の演算に対応する一又は複数の演算コア１１１のすべての演算の実行が完了したか否かを判定する。１個の演算指示に対応して複数の演算コア１１１が演算を実行する場合には、複数の演算コア１１１のすべてが同時に演算の実行を完了するとは限らない。複数の演算コア１１１のすべての演算の実行が完了すれば、通信インターフェース１１３は、演算完了通知をホスト処理装置１０１に送信可能になる。状態遷移判定部１１７は、上記の一又は複数の演算コア１１１のすべての演算の実行が完了したと判定した場合には、ステップＳ５０２に処理を進める。また、状態遷移判定部１１７は、上記の一又は複数の演算コア１１１のすべての演算の実行が完了していないと判定した場合には、その演算の完了を待機する必要があるので、通信インターフェース１１３の物理層の省電力状態Ｌ１を維持し、ステップＳ５０１に処理を戻す。
【００３４】
なお、図６に示すように、１個の演算指示に応じて演算を実行する複数の演算コア１０１の演算グループ毎に、１個の論理積演算回路（ＡＮＤ回路）６０１及び１個の状態レジスタ１１２を設けてもよい。論理積演算回路６０１は、１個の演算指示に応じて演算を実行する複数の演算コア１０１のすべてが演算の実行完了に伴う完了フラグ２０２のセット信号を出力した場合には、状態レジスタ１１２の完了フラグ２０２に１をセットする。ステップＳ５０１では、状態遷移判定部１１７は、その状態レジスタ１１２を参照し、上記の演算指示の演算に対応する一又は複数の演算コア１１１のすべての演算の実行が完了したか否かを判定することができる。
【００３５】
ステップＳ５０２では、状態遷移判定部１１７は、省電力状態Ｌ１終了指示を通信インターフェース１１３に出力する。省電力状態Ｌ１終了指示は、通信インターフェース１１３の物理層を省電力状態Ｌ１からリカバリ状態を介して通常状態Ｌ０に遷移させるための指示信号である。
【００３６】
次に、ステップＳ５０３では、通信インターフェース１１３は、状態遷移判定部１１７が出力した省電力状態Ｌ１終了指示を入力すると、物理層を省電力状態Ｌ１からリカバリ状態に遷移させる。送信制御部１２２は、接続トレーニングのためのオーダードセットをホスト処理装置１０１の通信インターフェース１３１に送信する。ホスト処理装置１０１の通信インターフェース１３１は、送信制御部１２２が送信したオーダードセットを受信すると、物理層を省電力状態Ｌ１からリカバリ状態に遷移させ、接続トレーニングのためのオーダードセットを演算処理装置１０２の通信インターフェース１１３に送信する。上記のオーダードセットの送信及び受信が繰り返される。通信インターフェース１１３及び１３１は、上記の接続トレーニングが終了すると、物理層をリカバリ状態から通常状態Ｌ０に遷移させる。
【００３７】
割り込み生成部１１８は、状態レジスタ１１２を参照し、上記の演算指示の演算に対応する一又は複数の演算コア１１１のすべての演算の実行が完了したと判定した場合には、演算完了割り込み信号を通信インターフェース１１３に出力する。通信インターフェース１１３がその演算完了割り込み信号を入力すると、送信制御部１２２は、通信インターフェース１１３の物理層が通常状態Ｌ０に遷移した後、演算完了通知のパケットをホスト処理装置１０１の通信インターフェース１３１に送信する。
【００３８】
ホスト処理装置１０１は、通信インターフェース１３１により、その演算完了通知のパケットを受信すると、その演算完了通知に対応する演算結果要求のパケットを演算処理装置１０２の通信インターフェース１１３に送信する。通信インターフェース１１３が演算結果要求のパケットを受信すると、送信制御部１２２は、その演算結果要求に対応する演算コア１１１の演算結果のデータのパケットをホスト処理装置１０１の通信インターフェース１３１に送信する。
【００３９】
上記の図３のように、状態遷移判定部１１７は、データ要求キュー１１６のエントリが空であり、かつ１個の演算指示に応じて演算を実行する一又は複数の演算コア１１１のうちの少なくとも１個の演算コア１１１が演算の実行中である場合には、省電力状態Ｌ１遷移交渉指示を出力する。これにより、通信が行われない場合、通信インターフェース１１３及び１３１の物理層は、早期に、通常状態Ｌ０から省電力状態Ｌ１に移行し、消費電力を低減することができる。
【００４０】
また、上記の図５のように、状態遷移判定部１１７は、１個の演算指示に応じて演算を実行する一又は複数の演算コア１１１のすべての演算の実行が完了した場合には、省電力状態Ｌ１終了指示を出力する。これにより、通信インターフェース１１３及び１３１の物理層は、省電力状態Ｌ１からリカバリ状態を介して通常状態Ｌ０に移行し、演算完了通知のパケット等の通信を行うことが可能になる。
【００４１】
（第２の実施形態）
図７は、第２の実施形態による情報処理装置の構成例を示す図である。図７の情報処理装置は、図１の情報処理装置に対して、演算指示キュー７０１及び演算制御部７０２を追加したものである。以下、本実施形態が第１の実施形態と異なる点を説明する。演算処理装置１０２は、さらに、演算指示キュー７０１及び演算制御部７０２を有する。
【００４２】
第１の実施形態と同様に、ホスト処理装置１０１は、通信インターフェース１３１により、送信制御部１２２からデータ要求完了通知のパケットを受信すると、そのデータ要求完了通知に対応する演算指示のパケットを演算処理装置１０２の受信制御部１２１に送信する。
【００４３】
受信制御部１２１は、ホスト処理装置１０１から演算指示のパケットを受信し、演算指示の信号をデータ受信部１１４に出力する。データ受信部１１４は、受信制御部１２１が出力した演算指示の信号を入力し、その演算指示を演算指示キュー７０１のエントリに格納する。
【００４４】
同様に、ホスト処理装置１０１は、複数の演算指示のパケットを順次送信することができる。データ受信部１１４は、受信制御部１２１が受信した演算指示のパケットに応じて、演算指示キュー７０１の複数のエントリに演算指示を順次格納する。演算指示キュー７０１は、ファーストインファーストアウトで、演算指示を格納する。
【００４５】
次に、演算制御部７０２は、演算指示キュー７０１の先頭のエントリの演算指示を読み出し、その読み出した演算指示の演算に対応する演算コア１１１に演算指示を出力する。演算コア１１１は、演算指示を入力すると、上記の受信したデータを用いた演算の実行を開始する。また、演算コア１１１は、演算の実行を開始すると、自己に対応する状態レジスタ１１２の有効ビット２０１に１をセットする。なお、演算制御部７０２が状態レジスタ１１２の書き込みを行ってもよい。
【００４６】
図８は、図３に対応し、本実施形態による演算処理装置１０２の制御方法を示すフローチャートである。図８のフローチャートは、図３のフローチャートに対して、ステップＳ８０３を追加したものである。
【００４７】
ステップＳ８０１では、状態遷移判定部１１７は、データ要求キュー１１６のエントリが空であるか否かを判定する。状態遷移判定部１０２は、データ要求キュー１１６のエントリが空であると判定した場合には、ステップＳ８０２に処理を進める。また、状態遷移判定部１１７は、データ要求キュー１１６のエントリが空でないと判定した場合には、受信制御部１２１がデータのパケットを受信するまで待機する必要があるので、通信インターフェース１１３の物理層の通常状態Ｌ０を維持し、ステップＳ８０１に処理を戻す。
【００４８】
ステップＳ８０２では、状態遷移判定部１１７は、状態レジスタ１１２を参照し、上記の演算指示の演算に対応する一又は複数の演算コア１１１のうちの少なくとも１個の演算コア１１１が演算の実行中であるか否かを判定する。状態遷移判定部１１７は、上記の少なくとも１個の演算コア１１１が演算の実行中であると判定した場合には、ステップＳ８０３に処理を進める。また、状態遷移判定部１１７は、上記の演算コア１１１のすべてが演算の実行中でないと判定した場合には、受信制御部１２１が演算指示のパケットを受信するまで待機する必要があるので、通信インターフェース１１３の物理層の通常状態Ｌ０を維持し、ステップＳ８０１に処理を戻す。
【００４９】
ステップＳ８０３では、状態遷移判定部１１７は、演算指示キュー７０１のエントリが満杯（フル）であるか否か（すべて使用されているか否か）を判定する。ホスト処理装置１０１は、演算指示キュー７０１のエントリ数を把握しており、演算指示キュー７０１が満杯か否かを判断することができる。そして、ホスト処理装置１０１は、演算指示キュー７０１が満杯である場合には、新たなデータ要求指示のパケットを送信せず、演算指示キュー７０１が満杯でなくなるまで待機する。その待機中には、通信が行われないので、状態遷移判定部１１７は、通信インターフェース１１３の物理層を通常状態Ｌ０から省電力状態Ｌ１に遷移させてもよい。状態遷移判定部１１７は、演算指示キュー７０１のエントリが満杯であると判定した場合には、ステップＳ８０４に処理を進める。また、状態遷移判定部１１７は、演算指示キュー７０１のエントリが満杯でないと判定した場合には、受信制御部１２１が新たなデータ要求指示のパケットを受信する可能性があるので、通信インターフェース１１３の物理層の通常状態Ｌ０を維持し、ステップＳ８０１に処理を戻す。
【００５０】
ステップＳ８０４では、状態遷移判定部１１７は、省電力状態Ｌ１遷移交渉指示を通信インターフェース１１３に出力する。省電力状態Ｌ１遷移交渉指示は、通信インターフェース１１３の物理層を通常状態Ｌ０から省電力状態Ｌ１に遷移させるための指示信号である。
【００５１】
次に、ステップＳ８０５では、送信制御部１２２は、状態遷移判定部１１７が出力した省電力状態Ｌ１遷移交渉指示を入力すると、省電力状態Ｌ１遷移交渉のパケットをホスト処理装置１０１の通信インターフェース１３１に送信する。ホスト処理装置１０１は、通信の予定がない場合には、通信インターフェース１３１の物理層が省電力状態Ｌ１になってもよいと判定し、通信インターフェース１３１により、省電力状態Ｌ１遷移交渉応答のパケットを演算処理装置１０２の通信インターフェース１１３に送信する。通信インターフェース１１３は、ホスト処理装置１０１が送信した省電力状態Ｌ１遷移交渉応答のパケットを受信すると、通信インターフェース１１３の物理層を通常状態Ｌ０から省電力状態Ｌ１に遷移させる。同様に、通信インターフェース１３１は、通信インターフェース１３１の物理層を通常状態Ｌ０から省電力状態Ｌ１に遷移させる。
【００５２】
（第３の実施形態）
図９（Ａ）は、第３の実施形態による状態遷移判定部１１７の構成例を示す図である。以下、本実施形態が第１及び第２の実施形態と異なる点を説明する。状態遷移判定部１１７は、条件レジスタ９０１を有する。条件レジスタ９０１の複数ビットは、それぞれ、複数の条件の有効性を記憶する。ビット値が１である場合には条件の有効を示し、ビット値が０である場合には条件の無効を示す。状態遷移判定部１１７は、条件レジスタ９０１の各ビット値を設定することができる。
【００５３】
図９（Ｂ）は、条件レジスタ９０１が記憶する第１〜第３の条件の例を示す図である。第１の条件は、図３のステップＳ３０１及び図８のステップＳ８０１の判定条件であり、データ要求キュー１１６が空であることの条件である。第２の条件は、図８のステップＳ８０３の判定条件であり、演算指示キュー７０１が満杯であることの条件である。第３の条件は、図３のステップＳ３０２及び図８のステップＳ８０２の判定条件であり、演算指示の演算に対応する一又は複数の演算コア１１１のうちの少なくとも１個の演算コア１１１が演算の実行中であることの条件である。
【００５４】
条件レジスタ９０１が、第１及び第３の条件が有効であり、第２の条件が無効である値を記憶している場合、状態遷移判定部１１７は、図３に示す第１の実施形態の処理を行う。また、条件レジスタ９０１が、第１〜第３の条件が有効である値を記憶している場合、状態遷移判定部１１７は、図８に示す第２の実施形態の処理を行う。このように、状態遷移判定部１１７は、条件レジスタ９０１に設定されている値に応じて、第１の実施形態の処理又は第２の実施形態の処理を行うことができる。
【００５５】
以上のように、第１〜第３の実施形態によれば、状態遷移判定部１１７は、通信が行われない場合には、通信インターフェース１１３の物理層を通常状態Ｌ０から省電力状態Ｌ１に早期に遷移させることにより、消費電力を低減することができる。また、状態遷移判定部１１７は、通信が行われる場合には、通信インターフェース１１３の物理層を省電力状態Ｌ１から通常状態Ｌ０に早期に遷移させることができる。
【００５６】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００５７】
１０１  ホスト処理装置
１０２  演算処理装置
１１１  演算コア
１１２  状態レジスタ
１１３  通信インターフェース
１１４  データ受信部
１１５  データ要求信号生成部
１１６  データ要求キュー
１１７  状態遷移判定部
１１８  割り込み生成部
１２１  受信制御部
１２２  送信制御部
【図１】
2018181129.tif 000003
【図２】
2018181129.tif 000004
【図３】
2018181129.tif 000005
【図４】
2018181129.tif 000006
【図５】
2018181129.tif 000007
【図６】
2018181129.tif 000008
【図７】
2018181129.tif 000009
【図８】
2018181129.tif 000010
【図９】
2018181129.tif 000011