(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6799265
(24)【登録日】2020年11月25日
(45)【発行日】2020年12月16日
(54)【発明の名称】演算処理装置、情報処理装置及び演算処理装置の制御方法
(51)【国際特許分類】
G06F 1/3206 20190101AFI20201207BHJP
G06F 1/3287 20190101ALI20201207BHJP
H04L 29/00 20060101ALI20201207BHJP
【FI】
G06F1/3206
G06F1/3287
H04L13/00 T
【請求項の数】18
【全頁数】15
(21)【出願番号】特願2017-82580(P2017-82580)
(22)【出願日】2017年4月19日
(65)【公開番号】特開2018-181129(P2018-181129A)
(43)【公開日】2018年11月15日
【審査請求日】2020年1月15日
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100090273
【弁理士】
【氏名又は名称】國分 孝悦
(72)【発明者】
【氏名】鵜飼 恵美
【審査官】
佐賀野 秀一
(56)【参考文献】
【文献】
特開2013−020284(JP,A)
【文献】
特開2010−057160(JP,A)
【文献】
特開2008−040559(JP,A)
【文献】
特開2011−175555(JP,A)
【文献】
特開2001−075687(JP,A)
【文献】
米国特許出願公開第2012/0140286(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 1/26− 1/3296
H04L 29/00
(57)【特許請求の範囲】
【請求項1】
データ要求指示をエントリに格納するデータ要求キュー部と、
前記データ要求キュー部に格納されたデータ要求指示に対応するデータ要求を送信し、送信したデータ要求に対応するデータを受信する通信インターフェース部と、
前記通信インターフェース部が受信したデータを用いた演算を実行する演算部と、
前記データ要求キュー部のエントリが空であり、かつ前記演算部が演算の実行中である場合、前記通信インターフェース部を省電力状態に遷移させる判定部と
を有することを特徴とする演算処理装置。
【請求項2】
前記演算処理装置はさらに、
演算指示がエントリに格納される演算指示キュー部を有し、
前記演算部は、前記演算指示キュー部に格納された演算指示に応じて、前記演算の実行を開始することを特徴とする請求項1に記載の演算処理装置。
【請求項3】
前記判定部は、前記データ要求キュー部のエントリが空であり、かつ前記演算部が演算の実行中であり、かつ前記演算指示キュー部の全てのエントリが使用されている場合、前記通信インターフェース部を前記省電力状態に遷移させることを特徴とする請求項2に記載の演算処理装置。
【請求項4】
前記演算処理装置はさらに、
第1の値又は第2の値を記憶する条件レジスタを有し、
前記判定部は、
前記条件レジスタが前記第1の値を記憶する場合に、前記データ要求キュー部のエントリが空であり、かつ前記演算部が演算の実行中であるとき、前記通信インターフェース部を前記省電力状態に遷移させ、
前記条件レジスタが前記第2の値を記憶する場合に、前記データ要求キュー部のエントリが空であり、かつ前記演算部が演算の実行中であり、かつ前記演算指示キュー部の全てのエントリが使用されているとき、前記通信インターフェース部を前記省電力状態に遷移させることを特徴とする請求項3に記載の演算処理装置。
【請求項5】
前記判定部は、前記演算部の演算の実行が完了した場合、前記通信インターフェース部を前記省電力状態から通常状態に遷移させることを特徴とする請求項1〜4のいずれか1項に記載の演算処理装置。
【請求項6】
前記判定部は、前記演算部の演算の実行が完了した場合、前記通信インターフェース部を前記省電力状態からリカバリ状態を介して前記通常状態に遷移させることを特徴とする請求項5に記載の演算処理装置。
【請求項7】
前記演算部は、1つの演算指示に応じて演算をそれぞれ実行する複数の処理部を有し、
前記判定部は、前記データ要求キュー部のエントリが空であり、かつ前記複数の処理部のうちの少なくとも1個の処理部が演算の実行中である場合、前記通信インターフェース部を前記省電力状態に遷移させることを特徴とする請求項1〜6のいずれか1項に記載の演算処理装置。
【請求項8】
前記演算部は、1つの演算指示に応じて演算をそれぞれ実行する複数の処理部を有し、
前記判定部は、前記複数の処理部が実行するすべての演算の実行が完了した場合、前記通信インターフェース部を前記省電力状態から前記通常状態に遷移させることを特徴とする請求項5又は6に記載の演算処理装置。
【請求項9】
前記演算処理装置はさらに、
前記通信インターフェース部が送信したデータ要求に対応するデータを受信した場合、受信したデータに対応するデータ要求指示を前記データ要求キュー部において当該データ要求指示を格納するエントリから消去する受信部を有することを特徴とする請求項1〜8のいずれか1項に記載の演算処理装置。
【請求項10】
前記受信部は、前記通信インターフェース部がデータ要求指示を受信した場合には、前記受信したデータ要求指示を前記データ要求キュー部のエントリに格納することを特徴とする請求項9に記載の演算処理装置。
【請求項11】
前記通信インターフェース部は、前記演算部の演算の実行が完了し、かつ前記通常状態に遷移した後、演算完了通知を外部に送信することを特徴とする請求項5、6及び8のいずれか1項に記載の演算処理装置。
【請求項12】
前記判定部は、前記通信インターフェース部の物理層を前記省電力状態に遷移させることを特徴とする請求項1〜11のいずれか1項に記載の演算処理装置。
【請求項13】
前記通信インターフェース部は、前記判定部が前記通信インターフェース部を前記省電力状態に遷移させる場合、省電力状態への遷移を交渉する交渉指示を送信し、送信した前記交渉指示に対応する交渉応答を受信した場合、前記省電力状態に遷移することを特徴とする請求項1〜12のいずれか1項に記載の演算処理装置。
【請求項14】
前記通信インターフェース部は、前記判定部が前記通信インターフェース部を前記省電力状態に遷移させる場合、省電力状態への遷移を交渉する交渉指示を送信し、送信した前記交渉指示に対応する交渉応答を受信した場合、前記通信インターフェース部の物理層を前記省電力状態に遷移させることを特徴とする請求項1〜13のいずれか1項に記載の演算処理装置。
【請求項15】
前記通信インターフェース部は、前記判定部が前記通信インターフェース部を前記通常状態に遷移させる場合、前記省電力状態からリカバリ状態に遷移し、トレーニングに用いるオーダードセットの送信及び受信を行い、前記トレーニングに用いるオーダードセットの送信及び受信の後、前記リカバリ状態から前記通常状態に遷移することを特徴とする請求項5、6、8及び11のいずれか1項に記載の演算処理装置。
【請求項16】
前記通信インターフェース部は、前記判定部が前記通信インターフェース部を前記通常状態に遷移させる場合、前記通信インターフェース部の物理層を前記省電力状態からリカバリ状態に遷移させ、トレーニングのためのオーダードセットの送信及び受信を行い、前記トレーニングのためのオーダードセットの送信及び受信の後、前記通信インターフェース部の物理層を前記リカバリ状態から前記通常状態に遷移させることを特徴とする請求項15に記載の演算処理装置。
【請求項17】
演算処理装置と、
前記演算処理装置に接続するホスト処理装置とを有し、
前記演算処理装置は、
データ要求指示がエントリを格納するデータ要求キュー部と、
前記データ要求キュー部に格納されたデータ要求指示に対応するデータ要求を前記ホスト処理装置に送信し、送信したデータ要求に対応するデータを前記ホスト処理装置から受信する通信インターフェース部と、
前記通信インターフェース部が受信したデータを用いた演算を実行する演算部と、
前記データ要求キュー部のエントリが空であり、かつ前記演算部が演算の実行中である場合、前記通信インターフェース部を省電力状態に遷移させる判定部とを有し、
前記ホスト処理装置は、前記演算処理装置から前記データ要求を受信し、受信した前記データ要求に対応するデータを前記演算処理装置に送信することを特徴とする情報処理装置。
【請求項18】
データ要求指示をエントリに格納するデータ要求キュー部を有する演算処理装置の制御方法において、
前記演算処理装置が有する通信インターフェース部が、前記データ要求キュー部に格納されたデータ要求指示に対応するデータ要求を送信し、
前記通信インターフェース部が、送信したデータ要求に対応するデータを受信し、
前記演算処理装置が有する演算部が、前記通信インターフェース部が受信したデータを用いた演算を実行し、
前記演算処理装置が有する判定部が、前記データ要求キュー部のエントリが空であり、かつ前記演算部が演算の実行中である場合、前記通信インターフェース部を省電力状態に遷移させることを特徴とする演算処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、演算処理装置、情報処理装置及び演算処理装置の制御方法に関する。
【背景技術】
【0002】
バス転送手段と、データ保管手段と、判断手段と、転送制御手段とを有する画像処理装置が知られている(特許文献1参照)。バス転送手段は、所定の転送先に接続されて、転送先へのデータ転送が無い状態が所定期間継続すると、通常電力状態から省電力状態に移行する。そして、バス転送手段は、省電力状態においてデータ転送依頼が発生すると、省電力状態から通常電力状態に復帰して、転送要求のあったデータを転送先に転送する。データ保管手段は、転送要求のあったデータを一時的に保管する。判断手段は、転送要求のあったデータが転送先の動作制御に関する設定データであるか否か及び所定の特定データであるか否かを判断する。転送制御手段は、転送要求のあったデータが設定データである場合、データをデータ保管手段に保管する。また、転送制御手段は、転送要求のあったデータが設定データ以外のデータ又は特定データである場合、バス転送手段に、データ保管手段に保管されているデータを順次転送させる。その後に、転送制御手段は、転送要求のあったデータを転送させ、データ保管手段のデータが所定の転送開始容量になると、バス転送手段に、データ保管手段に保管されている全てのデータを順次転送させる。
【0003】
また、データ制御装置から転送されたデータを処理する情報処理装置が知られている(特許文献2参照)。要求手段は、データ制御装置へデータを転送するように要求する。出力手段は、転送されたデータを処理して逐次出力する。算出手段は、転送が完了してから次に転送が開始されるまでの第1の時間を、要求手段により要求されたデータの転送量と、出力手段により出力される出力レートとに基づいて算出する。比較手段は、第1の時間と、データ制御装置と情報処理装置とを接続するチップ間バスを省電力状態へ遷移させるのに要する時間と省電力状態から復帰させるのに要する時間との合計である第2の時間と、を比較する。変更手段は、比較手段により第1の時間が第2の時間よりも長いと判断されると、チップ間バスを省電力状態へ遷移させる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2013−8198号公報
【特許文献2】特開2012−190283号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記の従来技術では、転送の無い状態が所定期間継続すると、通常電力状態から省電力状態に移行する。しかし、転送の無い状態が所定期間継続している間は、通常電力状態であり、電力を無駄に消費してしまう。
【0006】
1つの側面では、本発明の目的は、省電力状態に早期に遷移させることにより、消費電力を従来よりも低減することができる演算処理装置、情報処理装置及び演算処理装置の制御方法を提供することである。
【課題を解決するための手段】
【0007】
演算処理装置は、データ要求指示をエントリに格納するデータ要求キュー部と、前記データ要求キュー部に格納されたデータ要求指示に対応するデータ要求を送信し、送信したデータ要求に対応するデータを受信する通信インターフェース部と、前記通信インターフェース部が受信したデータを用いた演算を実行する演算部と、前記データ要求キュー部のエントリが空であり、かつ前記演算部が演算の実行中である場合、前記通信インターフェース部を省電力状態に遷移させる判定部とを有する。
【発明の効果】
【0008】
1つの側面では、省電力状態に早期に遷移させることにより、消費電力を低減することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、第1の実施形態による情報処理装置の構成例を示す図である。
【
図2】
図2(A)は通信インターフェースの物理層のステートマシンを示す図であり、
図2(B)は状態レジスタの構成例を示す図である。
【
図3】
図3は、演算処理装置の制御方法を示すフローチャートである。
【
図4】
図4は、演算コア、論理和演算回路及び状態レジスタを示す図である。
【
図5】
図5は、演算処理装置の制御方法を示すフローチャートである。
【
図6】
図6は、演算コア、論理積演算回路及び状態レジスタを示す図である。
【
図7】
図7は、第2の実施形態による情報処理装置の構成例を示す図である。
【
図8】
図8は、演算処理装置の制御方法を示すフローチャートである。
【
図9】
図9(A)は第3の実施形態による状態遷移判定部の構成例を示す図であり、
図9(B)は条件レジスタが記憶する第1〜第3の条件の例を示す図である。
【発明を実施するための形態】
【0010】
(第1の実施形態)
図1は、第1の実施形態による情報処理装置の構成例を示す図である。情報処理装置は、ホスト処理装置101と、演算処理装置102とを有する。演算処理装置102は、ホスト処理装置101に接続される。また、演算処理装置102は、スイッチを介して、ホスト処理装置101に接続されてもよい。ホスト処理装置101は、例えば中央演算処理装置(CPU)であり、通信インターフェース131を有する。
【0011】
演算処理装置102は、複数の演算コア(処理部)111と、複数の状態レジスタ112と、通信インターフェース113と、データ受信部114と、データ要求信号生成部115と、データ要求キュー116と、状態遷移判定部117と、割り込み生成部118を有する。通信インターフェース113は、受信制御部121と、送信制御部122とを有する。
【0012】
通信インターフェース113は、例えばPCI express通信インターフェースであり、トランザクション層と、データリンク層と、物理層とを有し、ホスト処理装置101に対してデータ通信を行う。ホスト処理装置101の通信インターフェース131は、演算処理装置102の通信インターフェース131と同様である。
【0013】
通信インターフェース113は、物理層では、接続のトレーニングのために、ホスト処理装置101の通信インターフェース131との間で送信及び受信を行うオーダードセット(Ordered Set)を生成する。また、通信インターフェース113は、トランザクション層では、ホスト処理装置101に送信するデータをパケット化する。また、通信インターフェース113は、データリンク層では、ホスト処理装置101との間で送受信するためのクレジット情報、及びデータパケットの送信保証のための認証(Acknowledge)をパケット化する。通信インターフェース113は、物理層のステートマシンにより管理される。
【0014】
図2(A)は、通信インターフェース113の物理層のステートマシンを示す図である。通信インターフェース113の物理層のステートマシンは、通常状態L0と、省電力状態L1と、リカバリ状態とを有する。通常状態L0では、通信インターフェース113は、消費電力が通常であり、ホスト処理装置101に対して、送信及び受信が可能である。省電力状態L1では、通信インターフェース113は、電気的アイドル状態であり、消費電力が低く、ホスト処理装置101に対して、送信及び受信ができない。
【0015】
通信インターフェース113は、通常状態L0において、通信を行わない状態になった場合には、省電力状態L1に遷移することにより、消費電力を低減することができる。また、通信インターフェース113は、省電力状態L1において、通信を行う必要性が生じた場合には、リカバリ状態を介して、通常状態L0に遷移する。通信インターフェース113は、リカバリ状態では、ホスト処理装置101の通信インターフェース131に対して、オーダードセットの送信及び受信を行うことにより、通信接続のトレーニングを行い、その後、通常状態L0に遷移する。通信インターフェース113は、通常状態L0で、ホスト処理装置101に対して、送信又は受信を行う。
【0016】
図2(B)は、
図1の状態レジスタ112の構成例を示す図である。状態レジスタ112は、有効(valid)ビット201と、完了ビット202とを有し、演算コア111の状態を記憶する。有効ビット201は、演算コア111の演算が実行中であるか否かを示す。完了ビット202は、演算コア111の演算の実行が完了したか否かを示す。演算コア111が演算を実行していないアイドル状態である場合には、有効ビット201及び完了ビット202が共に0である。演算コア111が演算の実行中である場合には、有効ビット201が1であり、完了ビット202が0である。演算コア111が演算の実行を完了した場合には、有効ビット201及び完了ビット202が共に1である。
【0017】
なお、状態レジスタ112は、上記のビット構成に限定されない。また、状態レジスタ112は、2ビットで、アイドル状態、演算実行中状態、 演算実行正常終了状態、及び 演算実行異常終了状態の4状態を表現してもよい。
【0018】
次に、情報処理装置の制御方法を説明する。ここで、通信インターフェース131の物理層は通常状態L0であり、状態レジスタ112は有効ビット201及び完了ビット202が共に0である。
【0019】
ホスト処理装置101は、通信インターフェース131により、データ要求指示のパケットを演算処理装置102の受信制御部121に送信する。受信制御部121は、ホスト処理装置101が送信したデータ要求指示のパケットを受信し、データ要求指示の信号をデータ受信部114に出力する。データ受信部114は、受信制御部121が出力したデータ要求指示の信号を入力し、データ要求指示をデータ要求キュー116のエントリに格納する。データ要求指示は、そのデータを演算する演算の種類及びその演算を行う演算コア111の情報を含む。
【0020】
同様に、ホスト処理装置101は、複数のデータ要求指示のパケットを順次送信することができる。データ受信部114は、受信制御部121が受信したデータ要求指示のパケットに応じて、データ要求キュー116の複数のエントリにデータ要求指示を順次格納する。データ要求キュー116は、ファーストインファーストアウトで、データ要求指示を格納する。
【0021】
次に、データ要求信号生成部115は、データ要求キュー116の先頭のエントリのデータ要求指示を読み出し、データ要求の信号を送信制御部122に出力する。送信制御部122は、データ要求信号生成部115が出力したデータ要求の信号をパケット化し、データ要求のパケットをホスト処理装置101に送信する。
【0022】
ホスト処理装置101は、通信インターフェース131により、送信制御部122が送信したデータ要求のパケットを受信し、その受信したデータ要求のパケットに対応するデータのパケットを演算処理装置102の受信制御部121に送信する。
【0023】
受信制御部121は、ホスト処理装置101が送信したデータのパケットを受信し、データをデータ受信部114に出力する。データ受信部114は、上記のデータ要求指示に応じて、受信制御部121が出力したデータを、そのデータを演算する一又は複数の演算コア111に出力する。演算コア111は、データ受信部114からデータを入力し、演算の準備を行う。
【0024】
次に、データ受信部114は、上記の受信したデータに対応するデータ要求指示をデータ要求キュー116から消去する。すると、送信制御部122は、そのデータ要求指示に対応するデータ要求完了通知のパケットをホスト処理装置101に送信する。
【0025】
ホスト処理装置101は、通信インターフェース131により、送信制御部122からデータ要求完了通知のパケットを受信すると、そのデータ要求完了通知に対応する演算指示のパケットを演算処理装置102の受信制御部121に送信する。
【0026】
受信制御部121は、ホスト処理装置101から演算指示のパケットを受信し、演算指示の信号をデータ受信部114に出力する。データ受信部114は、受信制御部121が出力した演算指示の信号を入力し、その演算指示の演算に対応する演算コア111に演算指示を出力する。演算コア111は、演算指示を入力すると、上記の受信したデータを用いた演算の実行を開始する。また、演算コア111は、演算の実行を開始すると、自己に対応する状態レジスタ112の有効ビット201に1をセットする。以下、
図3を参照しながら、演算処理装置102の制御方法を説明する。
【0027】
図3は、演算処理装置102の制御方法を示すフローチャートである。ステップS301では、状態遷移判定部117は、データ要求キュー116のエントリが空であるか否かを判定する。データ要求キュー116のエントリが空である場合には、演算処理装置102は、以後、データ要求指示に対応するデータのパケットをホスト処理装置101から受信することがないし、新たな演算が指示される予定がないことを意味する。状態遷移判定部117は、データ要求キュー116のエントリが空であると判定した場合には、ステップS302に処理を進める。また、状態遷移判定部117は、データ要求キュー116のエントリが空でないと判定した場合には、受信制御部121がデータのパケットを受信するまで待機する必要があるので、通信インターフェース113の物理層の通常状態L0を維持し、ステップS301に処理を戻す。
【0028】
ステップS302では、状態遷移判定部117は、状態レジスタ112を参照し、上記の演算指示の演算に対応する一又は複数の演算コア111のうちの少なくとも1個の演算コア111が演算の実行中であるか否かを判定する。1個の演算指示に対応して複数の演算コア111が演算を実行する場合には、複数の演算コア111のすべてが同時に演算の実行を開始するとは限らない。少なくとも1個の演算コア111が演算の実行を開始すれば、受信制御部121は、演算指示のパケットをホスト処理装置101から受信済みであり、演算コア111は、長時間の演算実行を開始する。それ以後、演算処理装置102は、ホスト処理装置101に対して、通信を行わないことが分かっている。通信が行われないのであれば、通信インターフェース113の物理層は、通常状態L0から省電力状態L1に遷移し、消費電力を抑制することが好ましい。状態遷移判定部117は、上記の少なくとも1個の演算コア111が演算の実行中であると判定した場合には、ステップS303に処理を進める。また、状態遷移判定部117は、上記の演算コア111のすべてが演算の実行中でないと判定した場合には、受信制御部121が演算指示のパケットを受信するまで待機する必要があるので、通信インターフェース113の物理層の通常状態L0を維持し、ステップS301に処理を戻す。
【0029】
なお、
図4に示すように、1個の演算指示に応じて演算を実行する複数の演算コア101の演算グループ毎に、1個の論理和演算回路(OR回路)401及び1個の状態レジスタ112を設けてもよい。論理和演算回路401は、1個の演算指示に応じて演算を実行する複数の演算コア101のうちの少なくとも1個の演算コア101が演算の実行開始に伴う有効フラグ201のセット信号を出力した場合には、状態レジスタ112の有効フラグ201に1をセットする。ステップS302では、状態遷移判定部117は、その状態レジスタ112を参照し、上記の演算指示の演算に対応する一又は複数の演算コア111のうちの少なくとも1個の演算コア111が演算の実行中であるか否かを判定することができる。
【0030】
ステップS303では、状態遷移判定部117は、省電力状態L1遷移交渉指示を通信インターフェース113に出力する。省電力状態L1遷移交渉指示は、通信インターフェース113の物理層を通常状態L0から省電力状態L1に遷移させるための指示信号である。
【0031】
次に、ステップS304では、送信制御部122は、状態遷移判定部117が出力した省電力状態L1遷移交渉指示を入力すると、省電力状態L1遷移交渉のパケットをホスト処理装置101の通信インターフェース131に送信する。ホスト処理装置101は、通信の必要性に応じて、通信インターフェース131の物理層が省電力状態L1になってもよいか否かを判定する。ホスト処理装置101は、通信の予定がない場合には、通信インターフェース131の物理層が省電力状態L1になってもよいと判定し、通信インターフェース131により、省電力状態L1遷移交渉応答のパケットを演算処理装置102の通信インターフェース113に送信する。通信インターフェース113は、ホスト処理装置101が送信した省電力状態L1遷移交渉応答のパケットを受信すると、通信インターフェース113の物理層を通常状態L0から省電力状態L1に遷移させる。同様に、通信インターフェース131は、通信インターフェース131の物理層を通常状態L0から省電力状態L1に遷移させる。
【0032】
演算コア111は、演算の実行が完了すると、自己に対応する状態レジスタ112の完了ビット202に1をセットする。上記の演算指示に対応する演算が完了した場合、通信インターフェース113は、演算完了通知をホスト処理装置101に送信する必要がある。そのためには、通信インターフェース113は、通信インターフェース113の物理層を省電力状態L1から通常状態L0に遷移させる必要がある。以下、その処理の詳細を、
図5を参照しながら説明する。
【0033】
図5は、演算処理装置102の制御方法を示すフローチャートである。ステップS501では、状態遷移判定部117は、状態レジスタ112を参照し、上記の演算指示の演算に対応する一又は複数の演算コア111のすべての演算の実行が完了したか否かを判定する。1個の演算指示に対応して複数の演算コア111が演算を実行する場合には、複数の演算コア111のすべてが同時に演算の実行を完了するとは限らない。複数の演算コア111のすべての演算の実行が完了すれば、通信インターフェース113は、演算完了通知をホスト処理装置101に送信可能になる。状態遷移判定部117は、上記の一又は複数の演算コア111のすべての演算の実行が完了したと判定した場合には、ステップS502に処理を進める。また、状態遷移判定部117は、上記の一又は複数の演算コア111のすべての演算の実行が完了していないと判定した場合には、その演算の完了を待機する必要があるので、通信インターフェース113の物理層の省電力状態L1を維持し、ステップS501に処理を戻す。
【0034】
なお、
図6に示すように、1個の演算指示に応じて演算を実行する複数の演算コア101の演算グループ毎に、1個の論理積演算回路(AND回路)601及び1個の状態レジスタ112を設けてもよい。論理積演算回路601は、1個の演算指示に応じて演算を実行する複数の演算コア101のすべてが演算の実行完了に伴う完了フラグ202のセット信号を出力した場合には、状態レジスタ112の完了フラグ202に1をセットする。ステップS501では、状態遷移判定部117は、その状態レジスタ112を参照し、上記の演算指示の演算に対応する一又は複数の演算コア111のすべての演算の実行が完了したか否かを判定することができる。
【0035】
ステップS502では、状態遷移判定部117は、省電力状態L1終了指示を通信インターフェース113に出力する。省電力状態L1終了指示は、通信インターフェース113の物理層を省電力状態L1からリカバリ状態を介して通常状態L0に遷移させるための指示信号である。
【0036】
次に、ステップS503では、通信インターフェース113は、状態遷移判定部117が出力した省電力状態L1終了指示を入力すると、物理層を省電力状態L1からリカバリ状態に遷移させる。送信制御部122は、接続トレーニングのためのオーダードセットをホスト処理装置101の通信インターフェース131に送信する。ホスト処理装置101の通信インターフェース131は、送信制御部122が送信したオーダードセットを受信すると、物理層を省電力状態L1からリカバリ状態に遷移させ、接続トレーニングのためのオーダードセットを演算処理装置102の通信インターフェース113に送信する。上記のオーダードセットの送信及び受信が繰り返される。通信インターフェース113及び131は、上記の接続トレーニングが終了すると、物理層をリカバリ状態から通常状態L0に遷移させる。
【0037】
割り込み生成部118は、状態レジスタ112を参照し、上記の演算指示の演算に対応する一又は複数の演算コア111のすべての演算の実行が完了したと判定した場合には、演算完了割り込み信号を通信インターフェース113に出力する。通信インターフェース113がその演算完了割り込み信号を入力すると、送信制御部122は、通信インターフェース113の物理層が通常状態L0に遷移した後、演算完了通知のパケットをホスト処理装置101の通信インターフェース131に送信する。
【0038】
ホスト処理装置101は、通信インターフェース131により、その演算完了通知のパケットを受信すると、その演算完了通知に対応する演算結果要求のパケットを演算処理装置102の通信インターフェース113に送信する。通信インターフェース113が演算結果要求のパケットを受信すると、送信制御部122は、その演算結果要求に対応する演算コア111の演算結果のデータのパケットをホスト処理装置101の通信インターフェース131に送信する。
【0039】
上記の
図3のように、状態遷移判定部117は、データ要求キュー116のエントリが空であり、かつ1個の演算指示に応じて演算を実行する一又は複数の演算コア111のうちの少なくとも1個の演算コア111が演算の実行中である場合には、省電力状態L1遷移交渉指示を出力する。これにより、通信が行われない場合、通信インターフェース113及び131の物理層は、早期に、通常状態L0から省電力状態L1に移行し、消費電力を低減することができる。
【0040】
また、上記の
図5のように、状態遷移判定部117は、1個の演算指示に応じて演算を実行する一又は複数の演算コア111のすべての演算の実行が完了した場合には、省電力状態L1終了指示を出力する。これにより、通信インターフェース113及び131の物理層は、省電力状態L1からリカバリ状態を介して通常状態L0に移行し、演算完了通知のパケット等の通信を行うことが可能になる。
【0041】
(第2の実施形態)
図7は、第2の実施形態による情報処理装置の構成例を示す図である。
図7の情報処理装置は、
図1の情報処理装置に対して、演算指示キュー701及び演算制御部702を追加したものである。以下、本実施形態が第1の実施形態と異なる点を説明する。演算処理装置102は、さらに、演算指示キュー701及び演算制御部702を有する。
【0042】
第1の実施形態と同様に、ホスト処理装置101は、通信インターフェース131により、送信制御部122からデータ要求完了通知のパケットを受信すると、そのデータ要求完了通知に対応する演算指示のパケットを演算処理装置102の受信制御部121に送信する。
【0043】
受信制御部121は、ホスト処理装置101から演算指示のパケットを受信し、演算指示の信号をデータ受信部114に出力する。データ受信部114は、受信制御部121が出力した演算指示の信号を入力し、その演算指示を演算指示キュー701のエントリに格納する。
【0044】
同様に、ホスト処理装置101は、複数の演算指示のパケットを順次送信することができる。データ受信部114は、受信制御部121が受信した演算指示のパケットに応じて、演算指示キュー701の複数のエントリに演算指示を順次格納する。演算指示キュー701は、ファーストインファーストアウトで、演算指示を格納する。
【0045】
次に、演算制御部702は、演算指示キュー701の先頭のエントリの演算指示を読み出し、その読み出した演算指示の演算に対応する演算コア111に演算指示を出力する。演算コア111は、演算指示を入力すると、上記の受信したデータを用いた演算の実行を開始する。また、演算コア111は、演算の実行を開始すると、自己に対応する状態レジスタ112の有効ビット201に1をセットする。なお、演算制御部702が状態レジスタ112の書き込みを行ってもよい。
【0046】
図8は、
図3に対応し、本実施形態による演算処理装置102の制御方法を示すフローチャートである。
図8のフローチャートは、
図3のフローチャートに対して、ステップS803を追加したものである。
【0047】
ステップS801では、状態遷移判定部117は、データ要求キュー116のエントリが空であるか否かを判定する。状態遷移判定部102は、データ要求キュー116のエントリが空であると判定した場合には、ステップS802に処理を進める。また、状態遷移判定部117は、データ要求キュー116のエントリが空でないと判定した場合には、受信制御部121がデータのパケットを受信するまで待機する必要があるので、通信インターフェース113の物理層の通常状態L0を維持し、ステップS801に処理を戻す。
【0048】
ステップS802では、状態遷移判定部117は、状態レジスタ112を参照し、上記の演算指示の演算に対応する一又は複数の演算コア111のうちの少なくとも1個の演算コア111が演算の実行中であるか否かを判定する。状態遷移判定部117は、上記の少なくとも1個の演算コア111が演算の実行中であると判定した場合には、ステップS803に処理を進める。また、状態遷移判定部117は、上記の演算コア111のすべてが演算の実行中でないと判定した場合には、受信制御部121が演算指示のパケットを受信するまで待機する必要があるので、通信インターフェース113の物理層の通常状態L0を維持し、ステップS801に処理を戻す。
【0049】
ステップS803では、状態遷移判定部117は、演算指示キュー701のエントリが満杯(フル)であるか否か(すべて使用されているか否か)を判定する。ホスト処理装置101は、演算指示キュー701のエントリ数を把握しており、演算指示キュー701が満杯か否かを判断することができる。そして、ホスト処理装置101は、演算指示キュー701が満杯である場合には、新たなデータ要求指示のパケットを送信せず、演算指示キュー701が満杯でなくなるまで待機する。その待機中には、通信が行われないので、状態遷移判定部117は、通信インターフェース113の物理層を通常状態L0から省電力状態L1に遷移させてもよい。状態遷移判定部117は、演算指示キュー701のエントリが満杯であると判定した場合には、ステップS804に処理を進める。また、状態遷移判定部117は、演算指示キュー701のエントリが満杯でないと判定した場合には、受信制御部121が新たなデータ要求指示のパケットを受信する可能性があるので、通信インターフェース113の物理層の通常状態L0を維持し、ステップS801に処理を戻す。
【0050】
ステップS804では、状態遷移判定部117は、省電力状態L1遷移交渉指示を通信インターフェース113に出力する。省電力状態L1遷移交渉指示は、通信インターフェース113の物理層を通常状態L0から省電力状態L1に遷移させるための指示信号である。
【0051】
次に、ステップS805では、送信制御部122は、状態遷移判定部117が出力した省電力状態L1遷移交渉指示を入力すると、省電力状態L1遷移交渉のパケットをホスト処理装置101の通信インターフェース131に送信する。ホスト処理装置101は、通信の予定がない場合には、通信インターフェース131の物理層が省電力状態L1になってもよいと判定し、通信インターフェース131により、省電力状態L1遷移交渉応答のパケットを演算処理装置102の通信インターフェース113に送信する。通信インターフェース113は、ホスト処理装置101が送信した省電力状態L1遷移交渉応答のパケットを受信すると、通信インターフェース113の物理層を通常状態L0から省電力状態L1に遷移させる。同様に、通信インターフェース131は、通信インターフェース131の物理層を通常状態L0から省電力状態L1に遷移させる。
【0052】
(第3の実施形態)
図9(A)は、第3の実施形態による状態遷移判定部117の構成例を示す図である。以下、本実施形態が第1及び第2の実施形態と異なる点を説明する。状態遷移判定部117は、条件レジスタ901を有する。条件レジスタ901の複数ビットは、それぞれ、複数の条件の有効性を記憶する。ビット値が1である場合には条件の有効を示し、ビット値が0である場合には条件の無効を示す。状態遷移判定部117は、条件レジスタ901の各ビット値を設定することができる。
【0053】
図9(B)は、条件レジスタ901が記憶する第1〜第3の条件の例を示す図である。第1の条件は、
図3のステップS301及び
図8のステップS801の判定条件であり、データ要求キュー116が空であることの条件である。第2の条件は、
図8のステップS803の判定条件であり、演算指示キュー701が満杯であることの条件である。第3の条件は、
図3のステップS302及び
図8のステップS802の判定条件であり、演算指示の演算に対応する一又は複数の演算コア111のうちの少なくとも1個の演算コア111が演算の実行中であることの条件である。
【0054】
条件レジスタ901が、第1及び第3の条件が有効であり、第2の条件が無効である値を記憶している場合、状態遷移判定部117は、
図3に示す第1の実施形態の処理を行う。また、条件レジスタ901が、第1〜第3の条件が有効である値を記憶している場合、状態遷移判定部117は、
図8に示す第2の実施形態の処理を行う。このように、状態遷移判定部117は、条件レジスタ901に設定されている値に応じて、第1の実施形態の処理又は第2の実施形態の処理を行うことができる。
【0055】
以上のように、第1〜第3の実施形態によれば、状態遷移判定部117は、通信が行われない場合には、通信インターフェース113の物理層を通常状態L0から省電力状態L1に早期に遷移させることにより、消費電力を低減することができる。また、状態遷移判定部117は、通信が行われる場合には、通信インターフェース113の物理層を省電力状態L1から通常状態L0に早期に遷移させることができる。
【0056】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0057】
101 ホスト処理装置
102 演算処理装置
111 演算コア
112 状態レジスタ
113 通信インターフェース
114 データ受信部
115 データ要求信号生成部
116 データ要求キュー
117 状態遷移判定部
118 割り込み生成部
121 受信制御部
122 送信制御部