図面 (/)

技術 演算処理装置及び演算処理装置の制御方法

出願人 富士通株式会社
発明者 三品健引地徹
出願日 2015年7月16日 (5年4ヶ月経過) 出願番号 2015-142344
公開日 2017年2月2日 (3年9ヶ月経過) 公開番号 2017-027156
状態 特許登録済
技術分野 機械語命令の実行 階層構造のメモリシステム
主要キーワード スレッド構成 一次キャッシュメモリ 抑制信号 タグ検索 LRU スヌープ応答 外部ポート 要求タイミング
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2017年2月2日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (12)

課題

複数のバンクを有し、複数の演算部で共有されるキャッシュメモリを有する演算処理装置にて、キャッシュメモリのアクセスレイテンシを改善する。

解決手段

複数のコア11と、それら複数のコアで共有される複数のバンクを有するLLラストベル)キャッシュメモリと、キャッシュメモリに対する要求の内のコアからの新規データの要求以外の要求から、出力する要求を選択するパイプライン選択部<1>15と、キャッシュメモリのバンク毎に新規データの要求及びパイプライン選択部<1>により選択された要求から要求を選択しLLキャッシュメモリのパイプラインに出力するパイプライン選択部<2>17−1、17−2とを有する。パイプライン選択部<2>を、パイプライン選択部<1>よりもキャッシュメモリに近い位置に配置することで、新規データの要求に係る信号の流れる経路を短縮し、LLキャッシュメモリのアクセスレイテンシを改善する。

概要

背景

キャッシュメモリは、プロセッサ演算処理部からの要求データを格納して性能を向上させるために使用されている。プロセッサは、複数のコア演算部)とそれら複数のコア(演算部)で共有される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では、アクセス要求を保持するポート手段をスレッド構成に合わせて分割して使用するように制御して、ポート手段の保持するスレッドの発行したアクセス要求の中からアクセス要求を選択する処理を行うことで、アクセス処理に必要となる資源を効率的に利用してキャッシュメモリへのアクセス処理を実行できるようにしている。

概要

複数のバンクを有し、複数の演算部で共有されるキャッシュメモリを有する演算処理装置にて、キャッシュメモリのアクセスレイテンシを改善する。複数のコア11と、それら複数のコアで共有される複数のバンクを有するLL(ラストレベル)キャッシュメモリと、キャッシュメモリに対する要求の内のコアからの新規データの要求以外の要求から、出力する要求を選択するパイプライン選択部<1>15と、キャッシュメモリのバンク毎に新規データの要求及びパイプライン選択部<1>により選択された要求から要求を選択しLLキャッシュメモリのパイプラインに出力するパイプライン選択部<2>17−1、17−2とを有する。パイプライン選択部<2>を、パイプライン選択部<1>よりもキャッシュメモリに近い位置に配置することで、新規データの要求に係る信号の流れる経路を短縮し、LLキャッシュメモリのアクセスレイテンシを改善する。

目的

本発明は、複数のバンクを有し、複数の演算部で共有されるキャッシュメモリを有する演算処理装置にて、当該キャッシュメモリのアクセスレイテンシを改善することを目的とする

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

複数の演算部と、複数のバンクを有し、前記複数の演算部で共有されるキャッシュメモリと、前記キャッシュメモリに対する要求の内の前記演算部からの第1の要求以外の要求から、出力する要求を選択する第1の選択部と、前記キャッシュメモリのバンク毎に前記第1の選択部よりも前記キャッシュメモリに近い位置に配置され、前記第1の要求及び前記第1の選択部により選択された要求から要求を選択し、選択した要求を前記キャッシュメモリのアクセスに係るパイプラインに対して出力する第2の選択部とを有することを特徴とする演算処理装置

請求項2

前記キャッシュメモリのバンク毎に前記第1の選択部よりも前記キャッシュメモリに近い位置に前記第2の選択部とともに配置され、前記第1の要求以外の前記キャッシュメモリに対する要求を受けるポート部とは異なる前記第1の要求を受ける第1のポート部を有することを特徴とする請求項1記載の演算処理装置。

請求項3

前記第1の要求は、前記第1の選択部で選択される要求よりも優先順位が低い要求であることを特徴とする請求項1又は2記載の演算処理装置。

請求項4

複数の演算部と、複数のバンクを有し、前記複数の演算部で共有されるキャッシュメモリと、前記キャッシュメモリに対する要求の内の前記演算部からの第1の要求以外の要求から、出力する要求を選択する第1の選択部と、前記キャッシュメモリのバンク毎に、前記第1の要求及び前記第1の選択部により選択された要求から要求を選択し、選択した要求を前記キャッシュメモリのアクセスに係るパイプラインに対して出力する第2の選択部とを有することを特徴とする演算処理装置。

請求項5

前記キャッシュメモリのバンク毎に、前記第1の要求以外の前記キャッシュメモリに対する要求を受けるポート部とは異なる前記第1の要求を受ける第1のポート部を有することを特徴とする請求項4記載の演算処理装置。

請求項6

前記第1の要求は、前記演算部からの新規データの要求であることを特徴とする請求項1〜5の何れか1項に記載の演算処理装置。

請求項7

複数の演算部と、複数のバンクを有し、前記複数の演算部で共有されるキャッシュメモリとを有する演算処理装置の制御方法であって、前記演算処理装置の第1の選択部により、前記キャッシュメモリに対する要求の内の前記演算部からの第1の要求以外の要求から出力する要求を選択し、前記キャッシュメモリのバンク毎に設けられた前記演算処理装置の第2の選択部により、前記第1の要求及び前記第1の選択部により選択された要求から要求を選択し、選択した要求を前記キャッシュメモリのアクセスに係るパイプラインに対して出力することを特徴とする演算処理装置の制御方法。

技術分野

0001

本発明は、演算処理装置及び演算処理装置の制御方法に関する。

背景技術

0002

キャッシュメモリは、プロセッサ演算処理部からの要求データを格納して性能を向上させるために使用されている。プロセッサは、複数のコア演算部)とそれら複数のコア(演算部)で共有されるLL(Last Level、ラストベル)キャッシュメモリとを有する構成が一般的である。それぞれのコア(演算部)は、演算処理パイプラインから直接アクセス可能な高速で小容量の一次(レベル1)キャッシュメモリ(さらに二次(レベル2)キャッシュメモリ等を有することもある)を有しており、一次キャッシュメモリキャッシュミスが発生したときにLLキャッシュメモリへアクセスされる。

0003

従来のプロセッサのレイアウトの例を図9に示す。図9には、4つのコア(コア<0>〜コア<3>)と、それら4つのコアで共有される1バンクのLLキャッシュメモリとを有する例を示している。それぞれのコア901は、演算部及び一次(レベル1)キャッシュメモリを有する。また、LLキャッシュメモリは、LL(ラストレベル)キャッシュタグ部906及びLL(ラストレベル)キャッシュデータ部907を有する。なお、外部ポート908は、プロセッサの外部とやりとりする要求のインターフェースである。

0004

例えば、コア<3>901からの要求データが、LLキャッシュメモリでキャッシュヒットした場合の信号(要求及びデータ等)が流れる経路は、図9破線で示すようになる。すなわち、コア<3>901→コアからの様々な要求のインターフェースであるポート(各種ポート903)→優先順位に従ってパイプライン投入するコアからの要求を決定するパイプライン制御部904のパイプライン選択部905→LLキャッシュタグ部906→LLキャッシュデータ部907→コア<3>901となる。

0005

近年のプロセッサは、性能向上のためにコア(演算部)の数が増加傾向にあり、キャッシュヒット率を保つためにLLキャッシュメモリの容量も増加している。それに伴い、LLキャッシュメモリを効率よく使用するために、図10に示すようなLLキャッシュメモリを複数のバンクに分割する方法が用いられる。図10は、LLキャッシュメモリを複数のバンクに分割した従来のプロセッサのレイアウトの例を示す図である。図10において、図9に示した構成要素と同じ機能を有する構成要素には同一の符号を付している。

0006

図10には、LLキャッシュメモリを2バンクとした例、すなわちLLキャッシュタグ部906−1及びLLキャッシュデータ部907−1を有する1つのバンクと、LLキャッシュタグ部906−2及びLLキャッシュデータ部907−2を有する1つのバンクとの2バンクとした例を示している。なお、コア<7>901からの要求データが、LLキャッシュメモリでキャッシュヒットした場合の信号(要求及びデータ等)が流れる経路を破線で示している。

0007

SMT(Simultaneous Multi Thread)方式のプロセッサにおいて、同時に実行されるスレッドで共有されるキャッシュメモリへのアクセス要求を制御するキャッシュ制御技術が提案されている(特許文献1参照)。特許文献1では、アクセス要求を保持するポート手段をスレッド構成に合わせて分割して使用するように制御して、ポート手段の保持するスレッドの発行したアクセス要求の中からアクセス要求を選択する処理を行うことで、アクセス処理に必要となる資源を効率的に利用してキャッシュメモリへのアクセス処理を実行できるようにしている。

先行技術

0008

国際公開第2008/155822号公報

発明が解決しようとする課題

0009

図10に一例を示したように、複数のコアで共有されるLLキャッシュメモリを複数のバンクに分割した場合、LLキャッシュメモリの各バンクへのアクセスに係る距離等を考えると、パイプラインに投入する要求を選択するパイプライン選択部905は、通常、パイプライン制御部904の中央に配置される。したがって、LLキャッシュメモリのバンクの数を多くするほど、パイプライン制御部のパイプライン選択部とLLキャッシュメモリのLLキャッシュタグ部との物理的な距離が長くなり、LLキャッシュメモリのアクセスレイテンシの悪化を招く。

0010

1つの側面では、本発明は、複数のバンクを有し、複数の演算部で共有されるキャッシュメモリを有する演算処理装置にて、当該キャッシュメモリのアクセスレイテンシを改善することを目的とする。

課題を解決するための手段

0011

演算処理装置の一態様は、複数の演算部と、複数のバンクを有し、前記複数の演算部で共有されるキャッシュメモリと、キャッシュメモリに対する要求の内の演算部からの第1の要求以外の要求から、出力する要求を選択する第1の選択部と、キャッシュメモリのバンク毎に第1の要求及び第1の選択部により選択された要求から要求を選択してキャッシュメモリのアクセスに係るパイプラインに対して出力する第2の選択部とを有する。第2の選択部は、第1の選択部よりもキャッシュメモリに近い位置に配置される。

発明の効果

0012

発明の一態様においては、第1の要求及び第1の選択部により選択された要求から要求を選択して出力する第2の選択部をキャッシュメモリの近傍に配置することで、第1の要求に係る信号の流れる経路を短縮し、キャッシュメモリのアクセスレイテンシを改善することができる。

図面の簡単な説明

0013

本発明の実施形態における演算処理装置のレイアウトの例を示す図である。
本実施形態におけるパイプライン選択部の構成例を示す図である。
本実施形態におけるキャッシュメモリへのアクセスを説明するための図である。
従来技術におけるキャッシュメモリへのアクセスを説明するための図である。
本実施形態と従来技術でのキャッシュメモリのアクセスレイテンシを比較するための図である。
本実施形態における演算処理装置でのスループット向上の例を示す図である。
本実施形態におけるパイプライン選択部の動作例を示す図である。
本実施形態と従来技術でのパイプラインスロットの比較例を示す図である。
本実施形態における演算処理装置のレイアウトの他の例を示す図である。
従来のプロセッサのレイアウトを示す図である。
従来のプロセッサのレイアウトを示す図である。

実施例

0014

以下、本発明の実施形態を図面に基づいて説明する。

0015

図1は、本発明の一実施形態における演算処理装置としてのプロセッサのレイアウトの例を示す図である。本実施形態におけるプロセッサは、複数のコア(演算部)と、それら複数のコアで共有される複数のバンクを有するキャッシュメモリとを有する。図1には、8つのコア(コア<0>〜コア<7>)と、それら8つのコアで共有される2バンクのLL(ラストレベル)キャッシュメモリとを有する例を示している。

0016

それぞれのコア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に格納されたデータのタグ(データのアドレスやデータの状態を示す情報等)が記憶されている。

0017

コア11(コア<0>〜コア<7>)とLLキャッシュメモリ(LLキャッシュタグ部18−1、18−2及びLLキャッシュデータ部19−1、19−2)とは転送バス12を介して通信可能に接続されている。コア11(コア<0>〜コア<7>)からの要求やプロセッサの外部からの要求に基づくLLキャッシュメモリへのアクセスは、要求の受付や選択及びタグ検索等のパイプライン制御を行うパイプライン制御部14によって実行される。

0018

本実施形態におけるプロセッサは、コア11からの要求の内の最も要求頻度が高い新規データの要求(新規要求)のインターフェースである新規要求ポート16−1、16−2と、コア11からの要求の内の新規要求以外の様々な要求のインターフェースである各種ポート13とを有する。新規要求以外のコア11からの要求には、例えばデータの書き換え等を行うスヌープ応答などがある。また、本実施形態におけるプロセッサは、プロセッサの外部とやりとりする要求のインターフェースである外部ポート20を有する。

0019

また、本実施形態において、パイプライン制御部14におけるパイプライン選択部は、新規要求以外の要求の内から出力する要求を選択するパイプライン選択部<1>15と、新規要求及びパイプライン選択部<1>15により選択された要求のどちらかをパイプライン投入する要求として選択しLLキャッシュタグ部18−1、18−2に渡すパイプライン選択部<2>17−1、17−2とを有する。パイプライン選択部<1>15及びパイプライン選択部<2>17−1、17−2は、予め設定された優先順位に従って要求の選択を行う。

0020

図2は、本実施形態におけるパイプライン選択部15、17の構成例を示す図である。なお、本実施形態では、パイプライン投入する要求のポートとして、新規要求ポート、スヌープ応答ポート、ロードバッファポート、及び外部スヌープポートの4つとし、投入する優先順位が、スヌープ応答ポートが一番高く、ロードバッファポート、外部スヌープポートの順に低くなり、新規要求ポートが一番低いものとする。パイプライン選択部<1>15は、AND(論理積演算回路201、202、203及び選択回路204を有する。また、パイプライン選択部<2>17は、AND回路206及び選択回路207を有する。

0021

AND回路201には、スヌープ応答ポートの信号SRPT及びスヌープ応答ポートの抑制信号SRPT_INHが入力される。AND回路202には、ロードバッファポートの信号LDPT、ロードバッファポートの抑制信号LDPT_INH、及びスヌープ応答ポートの信号SRPTが入力される。また、AND回路203には、外部スヌープポートの信号OSPT、外部スヌープポートの抑制信号OSPT_INH、スヌープ応答ポートの信号SRPT、及びロードバッファポートの信号LDPTが入力される。選択回路204は、AND回路201、202、203の出力を選択的に出力する。

0022

AND回路206には、新規要求ポートの信号RQPT及び新規要求ポートの抑制信号RQPT_INHが入力されるAND回路205の出力と、パイプライン選択部<1>15の選択回路204の出力とが入力される。選択回路207は、パイプライン選択部<1>15の選択回路204の出力及びAND回路206の出力を選択的に出力する。

0023

ここで、信号SRPT、LDPT、OSPT、RQPTは、それぞれのポートに要求があるときに“1”となり、要求がない状態では“0”となる信号である。また、信号SRPT_INH、LDPT_INH、OSPT_INH、RQPT_INHは、それぞれのポートに対して要求タイミングが適切でない場合に“1”とされる信号である。例えば、抑制信号は、メモリ読み込みに全体で4サイクルかかる場合に、3サイクル以内に次のメモリ読み込みの信号がきたときに4サイクルが経過する(前のメモリ読み込みが完了する)まで次の出力を抑制させる信号である。

0024

図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は要求を出力しない。

0025

また、図2に示した構成のパイプライン選択部<2>17は、パイプライン選択部<1>15がスヌープ応答、ロードバッファ、外部スヌープの何れの要求を出力しているとき、パイプライン選択部<1>15が出力する要求を出力する。また、パイプライン選択部<1>15がスヌープ応答、ロードバッファ、外部スヌープの何れかの要求も出力しておらず、新規要求ポートの信号RQPTが“1”であり、新規要求ポートの抑制信号RQPT_INHが“0”であるとき、新規要求を出力する。それら以外の場合、パイプライン選択部<2>17は要求を出力しない。

0026

このように本実施形態では、パイプライン選択部<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とに分けて設ける。

0027

これにより図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キャッシュメモリのアクセスレイテンシが悪化することはない。

0028

図3A及び図3Bを参照して、本実施形態におけるLLキャッシュメモリへのアクセスについて説明する。図3Aは、本実施形態におけるLLキャッシュメモリへのアクセスを説明するための図であり、図3Bは、図10に示した従来のプロセッサにおけるLLキャッシュメモリへのアクセスを説明するための図である。なお、図3A及び図3Bにおいて、期間ST1、ST2、ST3、ST4、ST5、ST6のそれぞれは、プロセッサの動作周波数の1サイクル期間に相当する。

0029

図3Bに示すように、図10に示した従来のプロセッサにおいては、コア301からの新規要求は、期間ST2において、それぞれのコアに対応する新規要求ポート361に入力される。そして、次のサイクルの期間ST3においてLRU(Least Recently Used)制御部371により最も古い新規要求が選択されて出力される。続く、期間ST4において、所定の優先順位に従ってパイプライン投入する要求を選択するパイプライン選択部381により選択されると、期間ST6においてLLキャッシュタグ部351に到達する。なお、期間ST5は、パイプライン選択部381とLLキャッシュタグ部351との間の転送に要する期間として設けている。

0030

また、コア301からのスヌープ応答の要求も同様に、期間ST2において、それぞれのコアに対応するスヌープ応答ポート362に入力され、次のサイクルの期間ST3においてLRU制御部372により最も古いスヌープ応答の要求が選択されて出力される。続く、期間ST4において、パイプライン選択部381により選択されると、期間ST6においてLLキャッシュタグ部351に到達する。

0031

メモリ制御部302からの外部スヌープの要求、メモリ制御部303からのロードバッファの要求、その他の機能部304からのエラー処理等の要求は、期間ST2において、それぞれ対応するポート363、364、365に入力される。そして、期間ST4において、パイプライン選択部381により選択されると、期間ST6においてLLキャッシュタグ部351に到達する。

0032

このように図10に示した従来のプロセッサにおいては、要求の種類にかかわらずLLキャッシュタグ部351に達するには6サイクル分の時間を要している。

0033

それに対して、図3Aに示すように、本実施形態におけるプロセッサにおいては、コア301からの新規要求は、期間ST2において、それぞれのコアに対応する新規要求ポート331に入力される。そして、次のサイクルの期間ST3においてLRU制御部341により最も古い新規要求が選択されて出力され、さらにパイプライン選択部<2>342により選択されると、期間ST4においてLLキャッシュタグ部351に到達する。

0034

コア301からのスヌープ応答の要求は、期間ST2において、それぞれのコアに対応するスヌープ応答ポート311に入力される。そして、次のサイクルの期間ST3においてパイプライン選択部<1>321により選択され、期間ST5においてパイプライン選択部<2>342により選択されると、期間ST6においてLLキャッシュタグ部351に到達する。なお、期間ST5は、パイプライン選択部<1>321とパイプライン選択部<2>342との間の転送に要する期間として設けている。

0035

メモリ制御部302からの外部スヌープの要求、メモリ制御部303からのロードバッファの要求、その他の機能部304からのエラー処理等の要求は、期間ST2において、それぞれ対応するポート312、313、314に入力される。そして、次のサイクルの期間ST3においてパイプライン選択部<1>321により選択され、期間ST5においてパイプライン選択部<2>342により選択されると、期間ST6においてLLキャッシュタグ部351に到達する。

0036

このように本実施形態では、パイプライン選択部<1>321とパイプライン選択部<2>342との2つに分けるとともに、新規要求ポート331及びパイプライン選択部<2>342をLLキャッシュタグ部351に近接した位置に配置することで、新規要求以外の要求は従来と同様に6サイクル分の時間でLLキャッシュタグ部351に到達するが、コア301からの新規要求は4サイクル分の時間でLLキャッシュタグ部351に到達させることが可能となる。

0037

すなわち、コアからの新規データの要求(新規要求)は、本実施形態におけるプロセッサでは図4(A)に示すように、新規要求ポート及びパイプライン選択部<2>を介して4サイクル分の時間(ST1〜ST4)でLLキャッシュタグ部351に到達させることが可能となる。一方、従来のプロセッサでは、図4(B)に示すように、各種ポート内の新規要求ポート及びパイプライン選択部を介してLLキャッシュタグ部351に到達するまでに6サイクル分の時間(ST1〜ST6)を要する。

0038

図3A図3B、及び図4を参照して説明したように、本実施形態におけるプロセッサは、パイプライン選択部<1>321とパイプライン選択部<2>342との2つに分けたことによって、新規要求に係る経路の論理段数を減少させることができ、LLキャッシュメモリのアクセスレイテンシを短縮することが可能となる。

0039

また、本実施形態では、新規要求が新規要求以外の要求よりも短い時間でLLキャッシュタグ部に到達することが可能となるため、スループットを向上させることができる。例えば、図5に示すように、R(新規要求以外の要求)、E(要求なし)、R、R、N(新規要求)の順に1サイクル毎に要求が発行されたとする。このとき、STAGE0ではR、E、R、R、Nとなるが、N(新規要求)はSTAGE4でLLキャッシュタグ部に到達するため、以降ではE(要求なし)の部分にN(新規要求)が割り込むことができ、スループットが向上していることがわかる。

0040

ここで、前述したようにパイプライン投入する優先順位が、スヌープ応答ポートが一番高く、ロードバッファポート、外部スヌープポートの順に低くなり、新規要求ポートが一番低い場合、従来のプロセッサにおけるパイプライン選択部は、例えば図6(B)に示すように構成される。図6(B)は、従来のプロセッサにおけるパイプライン選択部の構成例をしており、AND回路601、602、603、604及び選択回路605を有する。

0041

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の出力を選択的に出力する。

0042

図6(B)に示したように構成されたパイプライン選択部においては、要求の入力順序によっては、どの要求も選択されずスループットを低下させてしまうことがある。例えば、コアからの要求が、スヌープ応答ポート→ロードバッファポート→スヌープ応答ポート及び新規要求ポート(同時)の順に来ていた場合、パイプラインに投入される順序は優先順位に従うと、スヌープ応答ポート→ロードバッファポート→スヌープ応答ポート→新規要求ポートとなる。

0043

しかし、スヌープ応答ポート及び新規要求ポート(同時)が来ているタイミングにおいて、スヌープ応答ポートの信号SRPT、スヌープ応答ポートの抑制信号SRPT_INH、及び新規要求ポートの信号RQPTが“1”であり、その他の信号LDRT、OSPT及び抑制信号LDRT_INH、OSPT_INH、RQPT_INHが“0”である場合、優先度の高いスヌープ応答ポートの要求は来ているがスヌープ応答ポートの抑制信号SRPT_INHによりスヌープ応答ポートの要求は通らない。また、新規要求ポートの要求も、優先度の高いスヌープ応答ポートの要求が来ているために通らない。したがって、AND回路601、602、603、604の出力は“0”となり、パイプライン選択部の選択回路605は、どの要求も選択しない。

0044

それに対して、本実施形態によれば、図6(A)に示すように、スヌープ応答ポートの信号SRPT、スヌープ応答ポートの抑制信号SRPT_INH、及び新規要求ポートの信号RQPTが“1”であり、その他の信号LDRT、OSPT及び抑制信号LDRT_INH、OSPT_INH、RQPT_INHが“0”である場合、パイプライン選択部<1>の選択回路204は、どの要求も選択しない。本実施形態では、パイプライン選択部<2>が新規要求と新規要求以外の要求との選択を行うので、パイプライン選択部<2>の選択回路207は、新規要求ポートの要求を選択して出力することができる。

0045

すなわち、コアからの要求が、スヌープ応答ポート→ロードバッファポート→スヌープ応答ポート及び新規要求ポート(同時)の順に来ていた場合、従来のプロセッサにおいては、図7(B)に示すように、スヌープ応答ポート→ロードバッファポート→(命令なし)→スヌープ応答ポート→新規要求ポートの順でパイプラインに投入される。それに対して、本実施形態によれば、図7(A)に示すように、スヌープ応答ポート→ロードバッファポート→新規要求ポート→スヌープ応答ポートの順でパイプラインに投入することが可能となり、パイプラインスロットを効率的に使用でき、スループットを向上させることが可能となる。

0046

なお、前述した説明では、8つのコア(コア<0>〜コア<7>)と、それらのコアで共有される2バンクのLLキャッシュメモリとを有する例を示したが、本発明は、これに限定されるものではない。本実施形態におけるプロセッサが有するコアの数や、LLキャッシュメモリのバンク数は、任意の複数であればよい。例えば、図8に一例を示すように、8つのコア(コア<0>〜コア<7>)と、それら8つのコアで共有される4バンクのLLキャッシュメモリとを有するプロセッサにおいても適用可能である。

0047

図8は、本実施形態における演算処理装置としてのプロセッサのレイアウトの他の例を示す図である。図8において、図1に示した構成要素と同じ機能を有する構成要素には同一の符号を付し、重複する説明は省略する。

0048

図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つのバンクを構成している。

0049

また、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キャッシュメモリのアクセスレイテンシを短縮することができる。

0050

本実施形態によれば、パイプライン選択部<1>とパイプライン選択部<2>とに分け、新規要求ポート及びパイプライン選択部<2>をLLキャッシュメモリに近接した位置に配置することで、コアからのLLキャッシュメモリに対する要求の内で最も要求頻度が高い新規データの要求に係る経路の物理的な距離を短縮することができ、LLキャッシュメモリのアクセスレイテンシを改善し、プロセッサ全体での処理性能を向上させることができる。

0051

なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。

0052

11コア
12転送バス
13 各種ポート
14パイプライン制御部
15パイプライン選択部<1>
16新規要求ポート
17 パイプライン選択部<2>
18LL(ラストレベル)キャッシュタグ部
19 LL(ラストレベル)キャッシュデータ部
20 外部ポート

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ