JP6569347B2 - 演算処理装置及び演算処理装置の制御方法 - Google Patents

演算処理装置及び演算処理装置の制御方法 Download PDF

Info

Publication number
JP6569347B2
JP6569347B2 JP2015142344A JP2015142344A JP6569347B2 JP 6569347 B2 JP6569347 B2 JP 6569347B2 JP 2015142344 A JP2015142344 A JP 2015142344A JP 2015142344 A JP2015142344 A JP 2015142344A JP 6569347 B2 JP6569347 B2 JP 6569347B2
Authority
JP
Japan
Prior art keywords
request
cache memory
unit
selection unit
port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015142344A
Other languages
English (en)
Other versions
JP2017027156A (ja
Inventor
健 三品
健 三品
徹 引地
徹 引地
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015142344A priority Critical patent/JP6569347B2/ja
Publication of JP2017027156A publication Critical patent/JP2017027156A/ja
Application granted granted Critical
Publication of JP6569347B2 publication Critical patent/JP6569347B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、演算処理装置及び演算処理装置の制御方法に関する。
キャッシュメモリは、プロセッサの演算処理部からの要求データを格納して性能を向上させるために使用されている。プロセッサは、複数のコア(演算部)とそれら複数のコア(演算部)で共有されるLL(Last Level、ラストレベル)キャッシュメモリとを有する構成が一般的である。それぞれのコア(演算部)は、演算処理パイプラインから直接アクセス可能な高速で小容量の一次(レベル1)キャッシュメモリ(さらに二次(レベル2)キャッシュメモリ等を有することもある)を有しており、一次キャッシュメモリでキャッシュミスが発生したときにLLキャッシュメモリへアクセスされる。
従来のプロセッサのレイアウトの例を図9に示す。図9には、4つのコア(コア<0>〜コア<3>)と、それら4つのコアで共有される1バンクのLLキャッシュメモリとを有する例を示している。それぞれのコア901は、演算部及び一次(レベル1)キャッシュメモリを有する。また、LLキャッシュメモリは、LL(ラストレベル)キャッシュタグ部906及びLL(ラストレベル)キャッシュデータ部907を有する。なお、外部ポート908は、プロセッサの外部とやりとりする要求のインターフェースである。
例えば、コア<3>901からの要求データが、LLキャッシュメモリでキャッシュヒットした場合の信号(要求及びデータ等)が流れる経路は、図9に破線で示すようになる。すなわち、コア<3>901→コアからの様々な要求のインターフェースであるポート(各種ポート903)→優先順位に従ってパイプライン投入するコアからの要求を決定するパイプライン制御部904のパイプライン選択部905→LLキャッシュタグ部906→LLキャッシュデータ部907→コア<3>901となる。
近年のプロセッサは、性能向上のためにコア(演算部)の数が増加傾向にあり、キャッシュヒット率を保つためにLLキャッシュメモリの容量も増加している。それに伴い、LLキャッシュメモリを効率よく使用するために、図10に示すようなLLキャッシュメモリを複数のバンクに分割する方法が用いられる。図10は、LLキャッシュメモリを複数のバンクに分割した従来のプロセッサのレイアウトの例を示す図である。図10において、図9に示した構成要素と同じ機能を有する構成要素には同一の符号を付している。
図10には、LLキャッシュメモリを2バンクとした例、すなわちLLキャッシュタグ部906−1及びLLキャッシュデータ部907−1を有する1つのバンクと、LLキャッシュタグ部906−2及びLLキャッシュデータ部907−2を有する1つのバンクとの2バンクとした例を示している。なお、コア<7>901からの要求データが、LLキャッシュメモリでキャッシュヒットした場合の信号(要求及びデータ等)が流れる経路を破線で示している。
SMT(Simultaneous Multi Thread)方式のプロセッサにおいて、同時に実行されるスレッドで共有されるキャッシュメモリへのアクセス要求を制御するキャッシュ制御技術が提案されている(特許文献1参照)。特許文献1では、アクセス要求を保持するポート手段をスレッド構成に合わせて分割して使用するように制御して、ポート手段の保持するスレッドの発行したアクセス要求の中からアクセス要求を選択する処理を行うことで、アクセス処理に必要となる資源を効率的に利用してキャッシュメモリへのアクセス処理を実行できるようにしている。
国際公開第2008/155822号公報
図10に一例を示したように、複数のコアで共有されるLLキャッシュメモリを複数のバンクに分割した場合、LLキャッシュメモリの各バンクへのアクセスに係る距離等を考えると、パイプラインに投入する要求を選択するパイプライン選択部905は、通常、パイプライン制御部904の中央に配置される。したがって、LLキャッシュメモリのバンクの数を多くするほど、パイプライン制御部のパイプライン選択部とLLキャッシュメモリのLLキャッシュタグ部との物理的な距離が長くなり、LLキャッシュメモリのアクセスレイテンシの悪化を招く。
1つの側面では、本発明は、複数のバンクを有し、複数の演算部で共有されるキャッシュメモリを有する演算処理装置にて、当該キャッシュメモリのアクセスレイテンシを改善することを目的とする。
演算処理装置の一態様は、複数の演算部と、複数のバンクを有し、前記複数の演算部で共有されるキャッシュメモリと、キャッシュメモリに対する要求の内の演算部からの第1の要求以外の要求から、予め設定された優先順位に従って出力する要求を選択する第1の選択部と、キャッシュメモリのバンク毎に第1の選択部から要求が出力されている場合には当該要求をキャッシュメモリのアクセスに係るパイプラインに対して出力し、第1の選択部から要求が出力されてなく、かつ第1の要求が出力されている場合には第1の要求をキャッシュメモリのアクセスに係るパイプラインに対して出力する第2の選択部とを有する。第2の選択部は、第1の選択部よりもキャッシュメモリに近い位置に配置される。
発明の一態様においては、第1の要求及び第1の選択部により選択された要求から要求を選択して出力する第2の選択部をキャッシュメモリの近傍に配置することで、第1の要求に係る信号の流れる経路を短縮し、キャッシュメモリのアクセスレイテンシを改善することができる。
本発明の実施形態における演算処理装置のレイアウトの例を示す図である。 本実施形態におけるパイプライン選択部の構成例を示す図である。 本実施形態におけるキャッシュメモリへのアクセスを説明するための図である。 従来技術におけるキャッシュメモリへのアクセスを説明するための図である。 本実施形態と従来技術でのキャッシュメモリのアクセスレイテンシを比較するための図である。 本実施形態における演算処理装置でのスループット向上の例を示す図である。 本実施形態におけるパイプライン選択部の動作例を示す図である。 本実施形態と従来技術でのパイプラインスロットの比較例を示す図である。 本実施形態における演算処理装置のレイアウトの他の例を示す図である。 従来のプロセッサのレイアウトを示す図である。 従来のプロセッサのレイアウトを示す図である。
以下、本発明の実施形態を図面に基づいて説明する。
図1は、本発明の一実施形態における演算処理装置としてのプロセッサのレイアウトの例を示す図である。本実施形態におけるプロセッサは、複数のコア(演算部)と、それら複数のコアで共有される複数のバンクを有するキャッシュメモリとを有する。図1には、8つのコア(コア<0>〜コア<7>)と、それら8つのコアで共有される2バンクのLL(ラストレベル)キャッシュメモリとを有する例を示している。
それぞれのコア11は、演算処理等を行う演算部及び一次(レベル1)キャッシュメモリを有する。なお、各コア11が、さらに二次(レベル2)キャッシュメモリを有する構成であっても良い。また、LLキャッシュメモリは、LLキャッシュタグ部18−1とLLキャッシュデータ部19−1とが1つのバンクを構成しており、LLキャッシュタグ部18−2とLLキャッシュデータ部19−2とが1つのバンクを構成している。LLキャッシュタグ部18−1、18−2には、LLキャッシュデータ部19−1、19−2に格納されたデータのタグ(データのアドレスやデータの状態を示す情報等)が記憶されている。
コア11(コア<0>〜コア<7>)とLLキャッシュメモリ(LLキャッシュタグ部18−1、18−2及びLLキャッシュデータ部19−1、19−2)とは転送バス12を介して通信可能に接続されている。コア11(コア<0>〜コア<7>)からの要求やプロセッサの外部からの要求に基づくLLキャッシュメモリへのアクセスは、要求の受付や選択及びタグ検索等のパイプライン制御を行うパイプライン制御部14によって実行される。
本実施形態におけるプロセッサは、コア11からの要求の内の最も要求頻度が高い新規データの要求(新規要求)のインターフェースである新規要求ポート16−1、16−2と、コア11からの要求の内の新規要求以外の様々な要求のインターフェースである各種ポート13とを有する。新規要求以外のコア11からの要求には、例えばデータの書き換え等を行うスヌープ応答などがある。また、本実施形態におけるプロセッサは、プロセッサの外部とやりとりする要求のインターフェースである外部ポート20を有する。
また、本実施形態において、パイプライン制御部14におけるパイプライン選択部は、新規要求以外の要求の内から出力する要求を選択するパイプライン選択部<1>15と、新規要求及びパイプライン選択部<1>15により選択された要求のどちらかをパイプライン投入する要求として選択しLLキャッシュタグ部18−1、18−2に渡すパイプライン選択部<2>17−1、17−2とを有する。パイプライン選択部<1>15及びパイプライン選択部<2>17−1、17−2は、予め設定された優先順位に従って要求の選択を行う。
図2は、本実施形態におけるパイプライン選択部15、17の構成例を示す図である。なお、本実施形態では、パイプライン投入する要求のポートとして、新規要求ポート、スヌープ応答ポート、ロードバッファポート、及び外部スヌープポートの4つとし、投入する優先順位が、スヌープ応答ポートが一番高く、ロードバッファポート、外部スヌープポートの順に低くなり、新規要求ポートが一番低いものとする。パイプライン選択部<1>15は、AND(論理積演算)回路201、202、203及び選択回路204を有する。また、パイプライン選択部<2>17は、AND回路206及び選択回路207を有する。
AND回路201には、スヌープ応答ポートの信号SRPT及びスヌープ応答ポートの抑制信号SRPT_INHが入力される。AND回路202には、ロードバッファポートの信号LDPT、ロードバッファポートの抑制信号LDPT_INH、及びスヌープ応答ポートの信号SRPTが入力される。また、AND回路203には、外部スヌープポートの信号OSPT、外部スヌープポートの抑制信号OSPT_INH、スヌープ応答ポートの信号SRPT、及びロードバッファポートの信号LDPTが入力される。選択回路204は、AND回路201、202、203の出力を選択的に出力する。
AND回路206には、新規要求ポートの信号RQPT及び新規要求ポートの抑制信号RQPT_INHが入力されるAND回路205の出力と、パイプライン選択部<1>15の選択回路204の出力とが入力される。選択回路207は、パイプライン選択部<1>15の選択回路204の出力及びAND回路206の出力を選択的に出力する。
ここで、信号SRPT、LDPT、OSPT、RQPTは、それぞれのポートに要求があるときに“1”となり、要求がない状態では“0”となる信号である。また、信号SRPT_INH、LDPT_INH、OSPT_INH、RQPT_INHは、それぞれのポートに対して要求タイミングが適切でない場合に“1”とされる信号である。例えば、抑制信号は、メモリ読み込みに全体で4サイクルかかる場合に、3サイクル以内に次のメモリ読み込みの信号がきたときに4サイクルが経過する(前のメモリ読み込みが完了する)まで次の出力を抑制させる信号である。
図2に示した構成のパイプライン選択部<1>15は、スヌープ応答ポートの信号SRPTが“1”であり、スヌープ応答ポートの抑制信号SRPT_INHが“0”であるとき(入力状態1)、スヌープ応答の要求を出力する。また、スヌープ応答ポートの信号SRPTが“0”であり、ロードバッファポートの信号LDPTが“1”であり、ロードバッファポートの抑制信号LDPT_INHが“0”であるとき(入力状態2)、ロードバッファの要求を出力する。また、スヌープ応答ポートの信号SRPTが“0”であり、ロードバッファポートの信号LDPTが“0”であり、外部スヌープポートの信号OSPTが“1”であり、外部スヌープポートの抑制信号OSPT_INHが“0”であるとき(入力状態3)、外部スヌープの要求を出力する。前述した入力状態1、入力状態2、入力状態3のいずれでもない場合には、パイプライン選択部<1>15は要求を出力しない。
また、図2に示した構成のパイプライン選択部<2>17は、パイプライン選択部<1>15がスヌープ応答、ロードバッファ、外部スヌープの何れの要求を出力しているとき、パイプライン選択部<1>15が出力する要求を出力する。また、パイプライン選択部<1>15がスヌープ応答、ロードバッファ、外部スヌープの何れかの要求も出力しておらず、新規要求ポートの信号RQPTが“1”であり、新規要求ポートの抑制信号RQPT_INHが“0”であるとき、新規要求を出力する。それら以外の場合、パイプライン選択部<2>17は要求を出力しない。
このように本実施形態では、パイプライン選択部<1>15及びパイプライン選択部<2>17−1、17−2を配置し、パイプライン選択部<1>15では新規要求以外の要求を選択し、パイプライン選択部<2>17−1、17−2では新規要求とパイプライン選択部<1>15で選択された要求のどちらかを選択してLLキャッシュタグ部18−1、18−2に渡す。また、コア11からの要求のインターフェースとして、新規要求のための新規要求ポート16−1、16−2と、新規要求以外の要求の各種ポート13とに分けて設ける。
これにより図1に示すように、新規要求ポート16−1、16−2とパイプライン選択部<2>17−1、17−2とを、パイプライン選択部<1>15よりもLLキャッシュタグ部18−1、18−2に近づけて近傍に配置することが可能になる。したがって、例えば図1に破線で示したようにコア<7>11からの要求データが、LLキャッシュメモリのLLキャッシュタグ部18−2及びLLキャッシュデータ部19−2で構成されるバンクでキャッシュヒットした場合、従来のようにパイプライン制御部14の中央を経由する必要がなくなるため、信号が流れる経路が短くなり、LLキャッシュメモリのアクセスレイテンシを短縮することができる。なお、例えば、コア<7>11からの要求データが、LLキャッシュメモリにおいてコア<7>11から遠方のLLキャッシュタグ部18−1及びLLキャッシュデータ部19−1で構成されるバンクでキャッシュヒットしたとしても、信号が流れる経路は、従来のパイプライン制御部14の中央を経由する経路と同様の距離であるので、LLキャッシュメモリのアクセスレイテンシが悪化することはない。
図3A及び図3Bを参照して、本実施形態におけるLLキャッシュメモリへのアクセスについて説明する。図3Aは、本実施形態におけるLLキャッシュメモリへのアクセスを説明するための図であり、図3Bは、図10に示した従来のプロセッサにおけるLLキャッシュメモリへのアクセスを説明するための図である。なお、図3A及び図3Bにおいて、期間ST1、ST2、ST3、ST4、ST5、ST6のそれぞれは、プロセッサの動作周波数の1サイクル期間に相当する。
図3Bに示すように、図10に示した従来のプロセッサにおいては、コア301からの新規要求は、期間ST2において、それぞれのコアに対応する新規要求ポート361に入力される。そして、次のサイクルの期間ST3においてLRU(Least Recently Used)制御部371により最も古い新規要求が選択されて出力される。続く、期間ST4において、所定の優先順位に従ってパイプライン投入する要求を選択するパイプライン選択部381により選択されると、期間ST6においてLLキャッシュタグ部351に到達する。なお、期間ST5は、パイプライン選択部381とLLキャッシュタグ部351との間の転送に要する期間として設けている。
また、コア301からのスヌープ応答の要求も同様に、期間ST2において、それぞれのコアに対応するスヌープ応答ポート362に入力され、次のサイクルの期間ST3においてLRU制御部372により最も古いスヌープ応答の要求が選択されて出力される。続く、期間ST4において、パイプライン選択部381により選択されると、期間ST6においてLLキャッシュタグ部351に到達する。
メモリ制御部302からの外部スヌープの要求、メモリ制御部303からのロードバッファの要求、その他の機能部304からのエラー処理等の要求は、期間ST2において、それぞれ対応するポート363、364、365に入力される。そして、期間ST4において、パイプライン選択部381により選択されると、期間ST6においてLLキャッシュタグ部351に到達する。
このように図10に示した従来のプロセッサにおいては、要求の種類にかかわらずLLキャッシュタグ部351に達するには6サイクル分の時間を要している。
それに対して、図3Aに示すように、本実施形態におけるプロセッサにおいては、コア301からの新規要求は、期間ST2において、それぞれのコアに対応する新規要求ポート331に入力される。そして、次のサイクルの期間ST3においてLRU制御部341により最も古い新規要求が選択されて出力され、さらにパイプライン選択部<2>342により選択されると、期間ST4においてLLキャッシュタグ部351に到達する。
コア301からのスヌープ応答の要求は、期間ST2において、それぞれのコアに対応するスヌープ応答ポート311に入力される。そして、次のサイクルの期間ST3においてパイプライン選択部<1>321により選択され、期間ST5においてパイプライン選択部<2>342により選択されると、期間ST6においてLLキャッシュタグ部351に到達する。なお、期間ST5は、パイプライン選択部<1>321とパイプライン選択部<2>342との間の転送に要する期間として設けている。
メモリ制御部302からの外部スヌープの要求、メモリ制御部303からのロードバッファの要求、その他の機能部304からのエラー処理等の要求は、期間ST2において、それぞれ対応するポート312、313、314に入力される。そして、次のサイクルの期間ST3においてパイプライン選択部<1>321により選択され、期間ST5においてパイプライン選択部<2>342により選択されると、期間ST6においてLLキャッシュタグ部351に到達する。
このように本実施形態では、パイプライン選択部<1>321とパイプライン選択部<2>342との2つに分けるとともに、新規要求ポート331及びパイプライン選択部<2>342をLLキャッシュタグ部351に近接した位置に配置することで、新規要求以外の要求は従来と同様に6サイクル分の時間でLLキャッシュタグ部351に到達するが、コア301からの新規要求は4サイクル分の時間でLLキャッシュタグ部351に到達させることが可能となる。
すなわち、コアからの新規データの要求(新規要求)は、本実施形態におけるプロセッサでは図4(A)に示すように、新規要求ポート及びパイプライン選択部<2>を介して4サイクル分の時間(ST1〜ST4)でLLキャッシュタグ部351に到達させることが可能となる。一方、従来のプロセッサでは、図4(B)に示すように、各種ポート内の新規要求ポート及びパイプライン選択部を介してLLキャッシュタグ部351に到達するまでに6サイクル分の時間(ST1〜ST6)を要する。
図3A、図3B、及び図4を参照して説明したように、本実施形態におけるプロセッサは、パイプライン選択部<1>321とパイプライン選択部<2>342との2つに分けたことによって、新規要求に係る経路の論理段数を減少させることができ、LLキャッシュメモリのアクセスレイテンシを短縮することが可能となる。
また、本実施形態では、新規要求が新規要求以外の要求よりも短い時間でLLキャッシュタグ部に到達することが可能となるため、スループットを向上させることができる。例えば、図5に示すように、R(新規要求以外の要求)、E(要求なし)、R、R、N(新規要求)の順に1サイクル毎に要求が発行されたとする。このとき、STAGE0ではR、E、R、R、Nとなるが、N(新規要求)はSTAGE4でLLキャッシュタグ部に到達するため、以降ではE(要求なし)の部分にN(新規要求)が割り込むことができ、スループットが向上していることがわかる。
ここで、前述したようにパイプライン投入する優先順位が、スヌープ応答ポートが一番高く、ロードバッファポート、外部スヌープポートの順に低くなり、新規要求ポートが一番低い場合、従来のプロセッサにおけるパイプライン選択部は、例えば図6(B)に示すように構成される。図6(B)は、従来のプロセッサにおけるパイプライン選択部の構成例をしており、AND回路601、602、603、604及び選択回路605を有する。
AND回路601には、スヌープ応答ポートの信号SRPT及びスヌープ応答ポートの抑制信号SRPT_INHが入力される。AND回路602には、ロードバッファポートの信号LDPT、ロードバッファポートの抑制信号LDPT_INH、及びスヌープ応答ポートの信号SRPTが入力される。AND回路603には、外部スヌープポートの信号OSPT、外部スヌープポートの抑制信号OSPT_INH、スヌープ応答ポートの信号SRPT、及びロードバッファポートの信号LDPTが入力される。AND回路604には、新規要求ポートの信号RQPT、新規要求ポートの抑制信号RQPT_INH、スヌープ応答ポートの信号SRPT、ロードバッファポートの信号LDPT、及び外部スヌープポートの信号OSPTが入力される。選択回路605は、AND回路601、602、603、604の出力を選択的に出力する。
図6(B)に示したように構成されたパイプライン選択部においては、要求の入力順序によっては、どの要求も選択されずスループットを低下させてしまうことがある。例えば、コアからの要求が、スヌープ応答ポート→ロードバッファポート→スヌープ応答ポート及び新規要求ポート(同時)の順に来ていた場合、パイプラインに投入される順序は優先順位に従うと、スヌープ応答ポート→ロードバッファポート→スヌープ応答ポート→新規要求ポートとなる。
しかし、スヌープ応答ポート及び新規要求ポート(同時)が来ているタイミングにおいて、スヌープ応答ポートの信号SRPT、スヌープ応答ポートの抑制信号SRPT_INH、及び新規要求ポートの信号RQPTが“1”であり、その他の信号LDRT、OSPT及び抑制信号LDRT_INH、OSPT_INH、RQPT_INHが“0”である場合、優先度の高いスヌープ応答ポートの要求は来ているがスヌープ応答ポートの抑制信号SRPT_INHによりスヌープ応答ポートの要求は通らない。また、新規要求ポートの要求も、優先度の高いスヌープ応答ポートの要求が来ているために通らない。したがって、AND回路601、602、603、604の出力は“0”となり、パイプライン選択部の選択回路605は、どの要求も選択しない。
それに対して、本実施形態によれば、図6(A)に示すように、スヌープ応答ポートの信号SRPT、スヌープ応答ポートの抑制信号SRPT_INH、及び新規要求ポートの信号RQPTが“1”であり、その他の信号LDRT、OSPT及び抑制信号LDRT_INH、OSPT_INH、RQPT_INHが“0”である場合、パイプライン選択部<1>の選択回路204は、どの要求も選択しない。本実施形態では、パイプライン選択部<2>が新規要求と新規要求以外の要求との選択を行うので、パイプライン選択部<2>の選択回路207は、新規要求ポートの要求を選択して出力することができる。
すなわち、コアからの要求が、スヌープ応答ポート→ロードバッファポート→スヌープ応答ポート及び新規要求ポート(同時)の順に来ていた場合、従来のプロセッサにおいては、図7(B)に示すように、スヌープ応答ポート→ロードバッファポート→(命令なし)→スヌープ応答ポート→新規要求ポートの順でパイプラインに投入される。それに対して、本実施形態によれば、図7(A)に示すように、スヌープ応答ポート→ロードバッファポート→新規要求ポート→スヌープ応答ポートの順でパイプラインに投入することが可能となり、パイプラインスロットを効率的に使用でき、スループットを向上させることが可能となる。
なお、前述した説明では、8つのコア(コア<0>〜コア<7>)と、それらのコアで共有される2バンクのLLキャッシュメモリとを有する例を示したが、本発明は、これに限定されるものではない。本実施形態におけるプロセッサが有するコアの数や、LLキャッシュメモリのバンク数は、任意の複数であればよい。例えば、図8に一例を示すように、8つのコア(コア<0>〜コア<7>)と、それら8つのコアで共有される4バンクのLLキャッシュメモリとを有するプロセッサにおいても適用可能である。
図8は、本実施形態における演算処理装置としてのプロセッサのレイアウトの他の例を示す図である。図8において、図1に示した構成要素と同じ機能を有する構成要素には同一の符号を付し、重複する説明は省略する。
図8に示す例では、LLキャッシュメモリは、LLキャッシュタグ部18−1とLLキャッシュデータ部19−1とが1つのバンクを構成しており、LLキャッシュタグ部18−2とLLキャッシュデータ部19−2とが1つのバンクを構成している。また、LLキャッシュタグ部18−3とLLキャッシュデータ部19−3とが1つのバンクを構成しており、LLキャッシュタグ部18−4とLLキャッシュデータ部19−4とが1つのバンクを構成している。
また、LLキャッシュメモリの各バンクに対応させるように、新規要求ポート16−1、16−2、16−3、16−4及びパイプライン選択部<2>17−1、17−2、17−3、17−4を設けて、パイプライン選択部<1>15よりもLLキャッシュタグ部18−1、18−2、18−3、18−4に近づけて近傍に配置している。このように、新規要求ポートとパイプライン選択部<2>とを、LLキャッシュメモリの各バンクに隣接するように分割して配置すれば良い。これにより、例えば図8に破線で示すように、コア11からの要求データが、そのコアに近いLLキャッシュメモリのバンクでキャッシュヒットした場合、信号が流れる経路が短くなり、LLキャッシュメモリのアクセスレイテンシを短縮することができる。
本実施形態によれば、パイプライン選択部<1>とパイプライン選択部<2>とに分け、新規要求ポート及びパイプライン選択部<2>をLLキャッシュメモリに近接した位置に配置することで、コアからのLLキャッシュメモリに対する要求の内で最も要求頻度が高い新規データの要求に係る経路の物理的な距離を短縮することができ、LLキャッシュメモリのアクセスレイテンシを改善し、プロセッサ全体での処理性能を向上させることができる。
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
11 コア
12 転送バス
13 各種ポート
14 パイプライン制御部
15 パイプライン選択部<1>
16 新規要求ポート
17 パイプライン選択部<2>
18 LL(ラストレベル)キャッシュタグ部
19 LL(ラストレベル)キャッシュデータ部
20 外部ポート

Claims (7)

  1. 複数の演算部と、
    複数のバンクを有し、前記複数の演算部で共有されるキャッシュメモリと、
    前記キャッシュメモリに対する要求の内の前記演算部からの第1の要求以外の要求から、予め設定された優先順位に従って出力する要求を選択する第1の選択部と、
    前記キャッシュメモリのバンク毎に前記第1の選択部よりも前記キャッシュメモリに近い位置に配置され、前記第1の選択部から要求が出力されている場合には当該要求を前記キャッシュメモリのアクセスに係るパイプラインに対して出力し、前記第1の選択部から要求が出力されてなく、かつ前記第1の要求が出力されている場合には前記第1の要求を前記キャッシュメモリのアクセスに係るパイプラインに対して出力する第2の選択部とを有することを特徴とする演算処理装置。
  2. 前記キャッシュメモリのバンク毎に前記第1の選択部よりも前記キャッシュメモリに近い位置に前記第2の選択部とともに配置され、前記第1の要求以外の前記キャッシュメモリに対する要求を受けるポート部とは異なる前記第1の要求を受ける第1のポート部を有することを特徴とする請求項1記載の演算処理装置。
  3. 前記第1の要求は、前記第1の選択部で選択される要求よりも優先順位が低い要求であることを特徴とする請求項1又は2記載の演算処理装置。
  4. 複数の演算部と、
    複数のバンクを有し、前記複数の演算部で共有されるキャッシュメモリと、
    前記キャッシュメモリに対する要求の内の前記演算部からの第1の要求以外の要求から、予め設定された優先順位に従って出力する要求を選択する第1の選択部と、
    前記キャッシュメモリのバンク毎に、前記第1の選択部から要求が出力されている場合には当該要求を前記キャッシュメモリのアクセスに係るパイプラインに対して出力し、前記第1の選択部から要求が出力されてなく、かつ前記第1の要求が出力されている場合には前記第1の要求を前記キャッシュメモリのアクセスに係るパイプラインに対して出力する第2の選択部とを有することを特徴とする演算処理装置。
  5. 前記キャッシュメモリのバンク毎に、前記第1の要求以外の前記キャッシュメモリに対する要求を受けるポート部とは異なる前記第1の要求を受ける第1のポート部を有することを特徴とする請求項4記載の演算処理装置。
  6. 前記第1の要求は、前記演算部からの新規データの要求であることを特徴とする請求項1〜5の何れか1項に記載の演算処理装置。
  7. 複数の演算部と、複数のバンクを有し、前記複数の演算部で共有されるキャッシュメモリとを有する演算処理装置の制御方法であって、
    前記演算処理装置の第1の選択部により、前記キャッシュメモリに対する要求の内の前記演算部からの第1の要求以外の要求から予め設定された優先順位に従って出力する要求を選択し、
    前記キャッシュメモリのバンク毎に設けられた前記演算処理装置の第2の選択部により、前記第1の選択部から要求が出力されている場合には当該要求を前記キャッシュメモリのアクセスに係るパイプラインに対して出力し、前記第1の選択部から要求が出力されてなく、かつ前記第1の要求が出力されている場合には前記第1の要求を前記キャッシュメモリのアクセスに係るパイプラインに対して出力することを特徴とする演算処理装置の制御方法。
JP2015142344A 2015-07-16 2015-07-16 演算処理装置及び演算処理装置の制御方法 Active JP6569347B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015142344A JP6569347B2 (ja) 2015-07-16 2015-07-16 演算処理装置及び演算処理装置の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015142344A JP6569347B2 (ja) 2015-07-16 2015-07-16 演算処理装置及び演算処理装置の制御方法

Publications (2)

Publication Number Publication Date
JP2017027156A JP2017027156A (ja) 2017-02-02
JP6569347B2 true JP6569347B2 (ja) 2019-09-04

Family

ID=57945998

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015142344A Active JP6569347B2 (ja) 2015-07-16 2015-07-16 演算処理装置及び演算処理装置の制御方法

Country Status (1)

Country Link
JP (1) JP6569347B2 (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222223A (en) * 1989-02-03 1993-06-22 Digital Equipment Corporation Method and apparatus for ordering and queueing multiple memory requests
JP2944111B2 (ja) * 1989-09-20 1999-08-30 富士通株式会社 リクエスト制御方法及び記憶制御装置
JP2001325147A (ja) * 2000-05-17 2001-11-22 Hitachi Ltd パーシャルストア処理方法、メモリシステム及び大規模集積回路
JP5482145B2 (ja) * 2009-11-25 2014-04-23 富士通株式会社 演算処理装置および演算処理装置の制御方法
CN102687128B (zh) * 2009-12-25 2014-12-10 富士通株式会社 运算处理装置
US8341353B2 (en) * 2010-01-14 2012-12-25 Qualcomm Incorporated System and method to access a portion of a level two memory and a level one memory
US8521960B2 (en) * 2010-06-23 2013-08-27 International Business Machines Corporation Mitigating busy time in a high performance cache
WO2012172694A1 (ja) * 2011-06-17 2012-12-20 富士通株式会社 演算処理装置、情報処理装置および演算処理装置の制御方法

Also Published As

Publication number Publication date
JP2017027156A (ja) 2017-02-02

Similar Documents

Publication Publication Date Title
US20230418759A1 (en) Slot/sub-slot prefetch architecture for multiple memory requestors
US8082420B2 (en) Method and apparatus for executing instructions
US9965274B2 (en) Computer processor employing bypass network using result tags for routing result operands
JP5177141B2 (ja) 演算処理装置、演算処理方法
US20080189487A1 (en) Control of cache transactions
US9213640B2 (en) Promoting transactions hitting critical beat of cache line load requests
US7836253B2 (en) Cache memory having pipeline structure and method for controlling the same
JP5142868B2 (ja) キャッシュメモリ制御回路及びプロセッサ
US20130254592A1 (en) Semiconductor integrated circuit device and system using the same
JP5504523B2 (ja) 分岐先バッファの割り当て
JP2007334564A (ja) ユニファイドメモリシステム
US8707014B2 (en) Arithmetic processing unit and control method for cache hit check instruction execution
JP4635063B2 (ja) キャッシュメモリ制御回路及びプロセッサ
US20110055647A1 (en) Processor
EP2128771B1 (en) Method and apparatus for controlling cache memory
WO2006039183A2 (en) Expansion of compute engine code space by sharing adjacent control stores using interleaved program addresses
WO2009098737A1 (ja) 外部デバイスアクセス装置、その制御方法及びシステムlsi
JP6569347B2 (ja) 演算処理装置及び演算処理装置の制御方法
JP5382113B2 (ja) 記憶制御装置及びその制御方法
JP4409620B2 (ja) 演算処理装置、キャッシュメモリ制御装置及び制御方法
US10031751B2 (en) Arithmetic processing device and method for controlling arithmetic processing device
CN112540789B (zh) 一种指令处理装置、处理器及其处理方法
JPWO2004025478A1 (ja) メモリブロック間のレイテンシ差を活用するデータ処理装置および方法
US10922129B2 (en) Operation processing device and control method of operation processing device
JP2013545211A (ja) 複数メモリアクセスを伴うdsp/プロセッサ中の記憶バッファをなくすためのアーキテクチャおよび方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190108

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190709

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190722

R150 Certificate of patent or registration of utility model

Ref document number: 6569347

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150