TOP
|
特許
|
意匠
|
商標
特許ウォッチ
Twitter
他の特許を見る
10個以上の画像は省略されています。
公開番号
2025042544
公報種別
公開特許公報(A)
公開日
2025-03-27
出願番号
2023149635
出願日
2023-09-14
発明の名称
プロセッサ
出願人
富士通株式会社
代理人
弁理士法人フィールズ国際特許事務所
主分類
G06F
12/0811 20160101AFI20250319BHJP(計算;計数)
要約
【課題】メモリアクセスのレイテンシを抑制するプロセッサを提供する。
【解決手段】プロセッサは、複数のコア回路COREと、1次キャッシュL1$と、2次キャッシュL2$からN(Nは3以上の整数)次キャッシュまで複数のキャッシュを有するキャッシュユニット$_UNITを有し、1次キャッシュは、1次キャッシュでキャッシュミスになったメモリアクセス命令を格納する複数のエントリを有するムーブインバッファMIBを有し、ムーブインバッファは、キャッシュミスになったメモリアクセス命令のメモリアクセスを行うメモリリクエストRQを2次キャッシュへ発行したとき、メモリアクセスを行う擬似メモリリクエストP_RQを3次キャッシュからN次キャッシュにパラレルに発行し、擬似メモリリクエストがキャッシュヒットした何れかのキャッシュからコヒーレンシ未確保のデータを有する擬似データ応答を受信する。
【選択図】図9
特許請求の範囲
【請求項1】
発行された命令を実行する演算回路と、発行されたメモリアクセス命令を実行するロードストアユニットと、1次キャッシュと、前記演算回路及び前記ロードストアユニットの命令実行完了処理を制御するリオーダーバッファとをそれぞれ有する複数のコア回路と、
2次キャッシュからN(Nは3以上の整数)次キャッシュまで複数のキャッシュを有するキャッシュユニットを有し、
前記1次キャッシュは、前記1次キャッシュでキャッシュミスになったメモリアクセス命令を格納する複数のエントリを有するムーブインバッファを有し、
前記ムーブインバッファは、
前記キャッシュミスになったメモリアクセス命令のメモリアクセスを行う通常メモリリクエストを前記2次キャッシュに発行し、前記通常メモリリクエストは前記2次キャッシュから前記N次キャッシュに向かってシリアルに発行され、前記通常メモリリクエストがキャッシュヒットした前記2次キャッシュから前記N次キャッシュまでの何れかのキャッシュから、コヒーレンシ確保済みデータを有する通常データ応答を受信し、
前記通常メモリリクエストが前記2次キャッシュへ発行されたとき、前記メモリアクセスを行う擬似メモリリクエストが、Nが3の場合は3次キャッシュに発行され、Nが4以上の場合は前記3次キャッシュから前記N次キャッシュにパラレルに発行され、
前記ムーブインバッファは、
前記擬似メモリリクエストがキャッシュヒットしたいずれかのキャッシュから、コヒーレンシ未確保のデータを有する擬似データ応答を受信し、
前記リオーダーバッファは、
前記通常データ応答に基づいて、通常の命令実行完了処理を実行し、
前記擬似データ応答に基づいて、擬似の命令実行完了処理を実行し、
前記擬似データ応答が失敗だった場合、前記キャッシュミスになったメモリアクセス命令の後ろの命令を前記擬似の命令実行完了処理に基づいて投機実行した前記演算回路を投機実行前の状態に巻き戻す、プロセッサ。
続きを表示(約 970 文字)
【請求項2】
前記1次キャッシュは、
前記通常データ応答に基づいて、前記通常データ応答のデータを前記1次キャッシュ内のキャッシュメモリに格納し、
前記擬似データ応答に基づいて、前記擬似データ応答のデータを前記1次キャッシュ内のキャッシュメモリに格納しない、請求項1に記載のプロセッサ。
【請求項3】
前記通常データ応答に基づいて、前記通常データ応答のデータが前記コア回路内のレジスタに格納され、
前記擬似データ応答に基づいて、前記擬似データ応答のデータが前記コア回路内のレジスタに格納され、
前記擬似データ応答が失敗だった場合、前記通常データ応答のデータが前記コア回路内のレジスタに上書きされる、請求項2に記載のプロセッサ。
【請求項4】
前記ムーブインバッファは、
前記擬似データ応答を受信した後に前記通常データ応答を受信したとき、前記擬似データ応答のデータと前記通常データ応答のデータとが一致するか否か判定し、一致する場合は前記擬似データ応答が成功だったと判定し、不一致の場合は前記擬似データ応答が失敗だったと判定し、
前記擬似データ応答の成功または失敗が前記リオーダーバッファに通知される、請求項1に記載のプロセッサ。
【請求項5】
前記演算回路は、前記発行された命令をプログラム順とは異なるアウトオブオーダー順に実行し、
前記リオーダーバッファは、前記演算回路で実行された命令を前記プログラム順であるインオーダー順に前記通常の命令実行完了処理を実行し、
前記演算回路は、依存関係のある第1の命令及び前記第1の命令の後の第2の命令を実行し、前記第1の命令の前記通常の命令実行完了処理の後に前記第2の命令を実行し、更に、前記第1の命令の前記擬似の命令実行完了処理後に前記第2の命令を投機実行する、請求項1に記載のプロセッサ。
【請求項6】
前記擬似メモリリクエストは、前記ムーブインバッファが発行する、請求項1に記載のプロセッサ。
【請求項7】
前記擬似メモリリクエストは、前記通常メモリリクエストを発行されたとき、前記2次キャッシュが発行する、請求項1に記載のプロセッサ。
発明の詳細な説明
【技術分野】
【0001】
本発明は、プロセッサに関する。
続きを表示(約 2,100 文字)
【背景技術】
【0002】
演算処理装置は、プロセッサまたはCPU(Central Processing Unit)チップである。以下、演算処理装置をプロセッサと称する。近年のプロセッサは、多機能化や微細化に伴いメモリアクセスに対するレイテンシ(メモリリクエストからデータ応答までのクロック数)の増大という課題を有する。特に、微細化による回路の大規模化は、コア数の増大、キャッシュ階層の増大を可能にするが、それに伴うレイテンシの増大を抑制することが求められる。
【0003】
以下の特許文献には、投機実行の命令においてキャッシュへのデータ格納を投機的に行うことが記載される。
【先行技術文献】
【特許文献】
【0004】
特表2014-503929号公報
特開2009-64471号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
一方、マルチコア化やキャッシュの多階層化に伴い、キャッシュ内のデータの一貫性を意味するキャッシュコヒーレンシを確保することが必要になる。キャッシュは、データを格納するデータメモリと、データメモリ内の各キャッシュラインまたはキャッシュライン内のデータの状態等を格納するタグメモリを有し、その状態に基づいて、そのデータがコヒーレンシを確保されているか否かを判定する。この状態は、例えばMESIプロトコルでは、I(キャッシュラインが無効)、S(キャッシュラインの内容はメモリと同じで、他のコアのキャッシュが共有し得る)、E(キャッシュラインの内容はメモリと同じで且つ他のコアのキャッシュには存在しない)、M(キャッシュラインの内容は書き込みにより変更され、メモリとは一致しない)の4つの状態を利用する。
【0006】
キャッシュコヒーレンシを確保するための手続きの例を以下に説明する。あるコア0があるアドレスのメモリを読もうとしたが、そのキャッシュでキャッシュミスになった場合、他のコア1のキャッシュに書き換えられた最新のデータがあり、メモリの内容は古いままということがあり得る。そこで、コア0はコア1を含む他のコアのキャッシュにブロードキャストし、そのアドレスのM状態のキャッシュラインを持っている場合はメモリに書き戻す(Copy Back)ことを要求する。これに応答して、コア1のキャッシュはM状態のキャッシュラインの内容をメモリに書き戻し、M状態をS状態に変更し、コア0に「S状態のキャッシュラインを持っている」という応答をする。その後、コア0はそのアドレスの最新のデータをメモリから読み出し自分のキャッシュに格納しそのキャッシュラインをS状態にする。また、コア0からの書き戻す要求に対してコア1のキャッシュがそのアドレスのキャッシュラインを持っていない場合、コア0に「そのアドレスのキャッシュラインを持っていない」という応答をする。これに応答して、コア0は、そのアドレスのデータをメモリから読み出し自分のキャッシュに格納しそのキャッシュラインをE状態にする。
【0007】
このようにキャッシュコヒーレンシを確保する手続きは、複数のコアのキャッシュ間でデータの一貫性が取れていて、本来のデータ、即ち最新のデータを読み出すことができる手続きをいう。キャッシュコヒーレンシが確保できていない場合、上記のようなコヒーレンシ確保の手続きを実施する必要がある。
【0008】
したがって、キャッシュコヒーレンシを確保する手続きは、レイテンシの増大を招くことがある。そして、プロセッサは、コヒーレンシを確保する手続きが完了するまでそのメモリリクエストに依存する後続のメモリリクエストをロックする。そのため、レイテンシが長い場合、後続のメモリリクエストを開始できずプロセッサの処理効率が低下する。
【0009】
上記の処理効率の低下を回避するために、分岐命令の分岐予測機構や、プリフェッチ機構を利用して、次に実行されると予測されたアドレスへのメモリアクセスを投機実行することが行われる。しかし、投機実行では投機失敗時に投機実行前の状態に回路を巻き戻す必要がある。巻き戻しできる投機実行領域は、例えばデコーダから演算器及びレジスタファイルまでに限定され、キャッシュ領域に投機実行未確定のデータを格納することは禁止されている。そのため、投機実行対象の命令のメモリリクエストがコヒーレンシを確保する手続きの間、そのメモリリクエストに依存する後続のメモリリクエストの実行はロックされ、後続のメモリリクエストを投機的に実行することはできない。その結果、命令の投機実行によるプログラム実行効率の向上が抑制される。
【0010】
そこで、本実施の形態の一つの目的は、メモリアクセスのレイテンシを抑制できるプロセッサを提供することにある。
【課題を解決するための手段】
(【0011】以降は省略されています)
この特許をJ-PlatPatで参照する
関連特許
富士通株式会社
プロセッサ
11日前
富士通株式会社
光通信装置
1か月前
富士通株式会社
画像生成方法
3日前
富士通株式会社
アンテナ装置
25日前
富士通株式会社
量子デバイス
11日前
富士通株式会社
冷却モジュール
5日前
富士通株式会社
コネクタの取り外し方法
1か月前
富士通株式会社
敗血症の診断および予測
26日前
富士通株式会社
半導体装置、及び、電子機器
26日前
富士通株式会社
評価プログラム、方法、及び装置
3日前
富士通株式会社
無線アクセス・ネットワーク調整
7日前
富士通株式会社
情報処理プログラム、方法、及び装置
17日前
富士通株式会社
LDO型電圧調整回路及び半導体装置
1か月前
富士通株式会社
人体のキーポイントの検出方法及び装置
10日前
富士通株式会社
病変検出方法および病変検出プログラム
12日前
富士通株式会社
病変検出方法および病変検出プログラム
12日前
富士通株式会社
制御プログラム、システムおよび制御方法
14日前
富士通株式会社
支援装置、支援システム、支援プログラム
1か月前
富士通株式会社
タスク特有のグラフセット解析及び視覚化
11日前
富士通株式会社
遅延制御回路、光送信機、及び遅延制御方法
25日前
富士通株式会社
演算処理装置および演算処理装置の動作方法
10日前
富士通株式会社
リソースサーバおよびサービス提供システム
19日前
富士通株式会社
車両の管理施設情報提供方法及びプログラム
13日前
富士通株式会社
プログラム、情報処理方法および情報処理装置
3日前
富士通株式会社
学習プログラム、情報処理装置および学習方法
24日前
富士通株式会社
推定方法、推定プログラム、及び通信処理装置
20日前
富士通株式会社
修正候補特定方法及び修正候補特定プログラム
13日前
富士通株式会社
出力プログラム,出力方法,及び情報処理装置
1か月前
富士通株式会社
プログラム、データ処理装置及びデータ処理方法
5日前
富士通株式会社
演算プログラム、演算方法、および情報処理装置
25日前
富士通株式会社
情報処理装置、手続きプログラムおよび手続き方法
4日前
富士通株式会社
基板接合治具、基板接合システム及び基板接合方法
1か月前
富士通株式会社
ハイブリッド古典‐量子教師なしマルチクラス分類
10日前
富士通株式会社
プログラム、データ処理方法およびデータ処理装置
25日前
富士通株式会社
移動体情報算出方法および移動体情報算出プログラム
26日前
富士通株式会社
データ処理システム、プログラム及びデータ処理方法
1か月前
続きを見る
他の特許を見る