TOP特許意匠商標
特許ウォッチ Twitter
10個以上の画像は省略されています。
公開番号2024046499
公報種別公開特許公報(A)
公開日2024-04-03
出願番号2022151924
出願日2022-09-22
発明の名称演算処理装置及び演算処理方法
出願人富士通株式会社
代理人弁理士法人酒井国際特許事務所
主分類G06F 12/0862 20160101AFI20240327BHJP(計算;計数)
要約【課題】演算性能を向上させる演算処理装置及び演算処理方法を提供する。
【解決手段】ステート管理部134は、所定のプログラムカウンタで示される2つのメモリアクセス命令のそれぞれの要求アドレスを基にストライド幅を算出し、所定のプログラムカウンタで示される複数のメモリアクセス命令の要求アドレス及び算出したストライド幅を基にストライドアクセスの発生を検出する。プリフェッチ要求生成部133は、ステート管理部134によりストライドアクセスが検出された場合、ストライド幅に基づくプリフェッチ要求を発行する。
【選択図】図2
特許請求の範囲【請求項1】
所定のプログラムカウンタで示される2つのメモリアクセス命令のそれぞれの要求アドレスを基にストライド幅を算出し、前記所定のプログラムカウンタで示される複数のメモリアクセス命令の要求アドレス及び算出した前記ストライド幅を基にストライドアクセスの発生を検出する管理部と、
前記管理部により前記ストライドアクセスが検出された場合、前記ストライド幅に基づくプリフェッチ要求を発行するプリフェッチ要求生成部と
を備えたことを特徴とする演算処理装置。
続きを表示(約 1,400 文字)【請求項2】
プリフェッチキューと、
前記所定のプログラムカウンタで示される第1メモリアクセス命令でキャッシュミスが発生し、且つ、前記所定のプログラムカウンタの情報を含む所定エントリが前記プリフェッチキューに存在しない場合、前記所定のプログラムカウンタの情報を含む前記所定エントリを前記プリフェッチキューに登録する監視部とをさらに備え、
前記管理部は、前記第1メモリアクセス命令の要求アドレス及び前記所定エントリの後続の前記所定のプログラムカウンタで示される複数の第2メモリアクセス命令のそれぞれの要求アドレスを基に前記ストライド幅を算出して前記所定エントリに登録し、且つ、前記第2メモリアクセス命令の前記要求アドレスに前記ストライド幅を加算して算出した予測アドレスを前記所定エントリに登録し、前記第2メモリアクセス命令の後続の前記所定のプログラムカウンタで示される複数の第3メモリアクセス命令のそれぞれの要求アドレスに前記ストライド幅を加算して算出した値で前記予測アドレスを順次更新し、前記第3メモリアクセス命令のそれぞれの要求アドレスと前記所定エントリに登録された前記予測アドレスとを比較してストライドアクセスの発生を検出する
ことを特徴とする請求項1に記載の演算処理装置。
【請求項3】
前記管理部は、前記第3メモリアクセス命令の要求アドレスと前記所定エントリに登録された前記予測アドレスとが一致する場合に信頼度カウンタを増加させ、且つ、前記第3メモリアクセス命令の要求アドレスと前記所定エントリに登録された前記予測アドレスとが一致しない場合に信頼度カウンタを減少させ、前記信頼度カウンタが上限値を超えた場合に前記所定エントリに登録された前記ストライド幅による前記ストライドアクセスを検出することを特徴とする請求項2に記載の演算処理装置。
【請求項4】
前記プリフェッチ要求生成部は、前記管理部により前記ストライドアクセスの発生が検出された場合、前記所定のプログラムカウンタで示されるメモリアクセス命令の要求アドレスに前記ストライド幅を所定数倍した値を加算したアドレスでプリフェッチ要求を発行することを特徴とする請求項1に記載の演算処理装置。
【請求項5】
前記監視部は、前記プリフェッチキューに前記所定エントリを登録する空きが存在しない場合、前記プリフェッチキューに格納された複数のエントリから1つエントリを選択して無効にして、前記所定エントリを登録することを特徴とする請求項2に記載の演算処理装置。
【請求項6】
前記監視部は、前記プリフェッチキューに格納された各前記エントリのそれぞれに含まれるプログラムカウンタで示されるメモリアクセス命令の発行頻度を基に、無効にするエントリを選択することを特徴とする請求項5に記載の演算処理装置。
【請求項7】
所定のプログラムカウンタで示される2つのメモリアクセス命令のそれぞれの要求アドレスを基にストライド幅を算出し、
前記所定のプログラムカウンタで示される複数のメモリアクセス命令の要求アドレス及び算出した前記ストライド幅を基にストライドアクセスの発生を検出し、
前記ストライドアクセスを検出した場合、前記ストライド幅に基づくプリフェッチ要求を発行する
処理を演算処理装置が実行することを特徴とする演算処理方法。

発明の詳細な説明【技術分野】
【0001】
本発明は、演算処理装置及び演算処理方法に関する。
続きを表示(約 2,300 文字)【背景技術】
【0002】
コンピュータはCPU(Central Processing Unit)コアと主記憶装置との間に複数階層のキャッシュメモリを有し、主記憶装置や下位階層キャッシュメモリへのアクセスレイテンシ隠蔽やスループット不足の改善を図っている。さらに、近年CPUにおけるコアの高速化やメニーコア化が進んでおり、キャッシュメモリのヒット率向上やキャッシュミスレイテンシの隠蔽が重要となっている。
【0003】
キャッシュメモリのヒット率向上やキャッシュミスレイテンシの隠蔽のための方法の1つとして、近い将来の使用が予測されるデータを予めキャッシュメモリに読み込んでおくことでキャッシュミスの発生を減らすプリフェッチ手法の導入が進んでいる。プリフェッチの実現方法としては、ソフトウェアプリフェッチと呼ばれるソフトウェアによる手法とハードウェアプリフェッチと呼ばれるハードウェアによる手法とがある。
【0004】
従来、ハードウェアプリフェッチ手法としては、ストリームプリフェッチと呼ばれる手法やストライドプリフェッチと呼ばれる手法が多く採用されている。ストリームプリフェッチは、キャッシュライン単位での連続アクセスであるストリームアクセスに対するプリフェッチを行うハードウェアプリフェッチ手法である。ストライドプリフェッチは、一定間隔での定型ストライドアクセスに対するプリフェッチを行うハードウェアプリフェッチ手法である。
【0005】
ここで、アクセスA1、アクセスA2、・・・といったロード命令やストア命令などのメモリアクセス命令が、追番の順にメインメモリの所定の位置にアクセスする場合で説明する。例えば、アクセスA1、アクセスA2、・・・がキャッシュライン(Cache Line)単位で連続アクセスする場合、CPUは、ストリームプリフェッチで対応することが可能である。例えば、CPUは、アクセスA1、アクセスA2、アクセスA3でアクセスしたキャッシュメモリアドレスからストリームアクセスであることを検出する。そして、CPUは、アクセスA3のキャッシュメモリアドレスの次のキャッシュラインにアクセスが来ることを予測し、アクセスA4がアクセスする領域をプリフェッチによって予めキャッシュメモリに読み込んでおく。その結果、アクセスA4の命令実行時にはキャッシュメモリにすでにデータが登録されているため、CPUは、キャッシュミスの発生を抑えることができ演算性能が向上する。
【0006】
一方、アクセスA1、アクセスA2、・・・がキャッシュラインを一定間隔でアクセスする場合、CPUは、ストライドプリフェッチで対応することが可能である。例えば、CPUは、アクセスA1、アクセスA2、アクセスA3のアクセスしたキャッシュメモリアドレス(アドレス)から1個跳びでアクセスしていることを検出する。そして、CPUは、アクセスA3の次も1個跳びでアクセスが発生すると予測して、アクセスA4がアクセスする領域をプリフェッチによって予めキャッシュメモリに読み込んでおく。この場合も、アクセスA4の命令実行時にはキャッシュメモリにすでにデータが登録されているため、CPUは、キャッシュミスの発生を抑えることができ演算性能が向上する。この一定間隔のキャッシュラインの幅を、ストライド幅と呼ぶ。
【0007】
ここで、ストライドアクセスには単一ストライドと複数ストライドに分けることができる。単一ストライドは、常に一定のストライド幅でアクセスが発生する場合である。これに対して、複数ストライドは、複数のストライド幅が混在するようにアクセスが発生する場合である。複数ストライドは、例えば、第1のストライド幅でのアクセスが一定回数発生した後に、異なる第2のストライド幅でのアクセスが発生するような場合である。ただし、複数ストライドであっても、キャッシュラインサイズ内のストライド幅とキャッシュラインサイズを超えるストライド幅との2種類の混在のような場合は、キャッシュライン単位では単一ストライドと見ることも可能である。
【0008】
このようなプリフェッチの技術として、前後のアドレスの差分によりストライド幅を決定し、メモリアクセス毎にストライド幅の数をカウントし、カウンタが上限値以上となった場合にプリフェッチを行う技術が提案されている。また、ストライド幅が所定のレンジに含まれるか否かによりカウンタを増減させ、カウンタの値を基にストライド幅を計算してプリフェッチを行う技術が提案されている。
【先行技術文献】
【特許文献】
【0009】
特表2006-510082号公報
特表2013-539117号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、従来のストライドプリフェッチが対象とするストライドアクセスは、単一ストライドである。従来のストライドプリフェッチでは、複数ストライドと単一ストライドとのアクセスパターンの区別は行われず、複数ストライドのアクセスに対しても単一ストライドのプリフェッチを起動してしまう。複数ストライドに対して単一ストライドのプリフェッチを起動してしまうと、誤ったアドレスでプリフェッチが行われる場合がある。その場合、不要なデータをキャッシュに格納することによるキャッシュ汚染やメモリバンド幅の圧迫が原因となり、CPUの性能低下を引き起こすおそれがある。
(【0011】以降は省略されています)

この特許をJ-PlatPatで参照する

関連特許

個人
乗降調査装置
19日前
個人
管理装置
3日前
個人
自動販売機
26日前
日本精機株式会社
投影装置
19日前
個人
コメント配信システム
1か月前
個人
リユース統合システム
1か月前
個人
広告提供方法
1か月前
日本精機株式会社
投影システム
20日前
個人
チラシ掲載位置表示システム
1か月前
小林クリエイト株式会社
RFタグ
26日前
個人
モノづくり知識情報システム
1か月前
株式会社SUBARU
車両
27日前
株式会社SUBARU
車両
1か月前
個人
情報処理装置及びプログラム
1か月前
個人
釣PAID降水確率ポイント
1か月前
17LIVE株式会社
サーバ
19日前
株式会社協同印刷
防災・災害マウス
1か月前
株式会社ゼロボード
価格決定システム
18日前
太陽誘電株式会社
触覚生成装置
1か月前
トヨタ自動車株式会社
検査装置
3日前
株式会社カネカ
異常推定システム
1か月前
株式会社アジラ
姿勢推定システム
17日前
中国電力株式会社
ゲームシステム
1か月前
株式会社カクシン
管理装置
1か月前
株式会社NGA
画像投稿システム
3日前
株式会社イトーキ
分析装置
1か月前
株式会社フォーバル
仕訳システム
1か月前
株式会社小野測器
移動量計測システム
10日前
小林クリエイト株式会社
あて先表示システム
26日前
日本電気株式会社
勤務管理装置
25日前
個人
ブロックチェーンと既存網との接続方法
1か月前
個人
デジタルコンテンツ提供システム
1か月前
個人
言語翻訳システム及びプログラム
10日前
日本信号株式会社
自転車貸出システム
20日前
NVデバイス株式会社
視線検出システム
1か月前
NISSHA株式会社
指装着型コントローラー
25日前
続きを見る