JP2020173609A - ベクトルプロセッサ装置、生成方法及びプログラム - Google Patents

ベクトルプロセッサ装置、生成方法及びプログラム Download PDF

Info

Publication number
JP2020173609A
JP2020173609A JP2019075059A JP2019075059A JP2020173609A JP 2020173609 A JP2020173609 A JP 2020173609A JP 2019075059 A JP2019075059 A JP 2019075059A JP 2019075059 A JP2019075059 A JP 2019075059A JP 2020173609 A JP2020173609 A JP 2020173609A
Authority
JP
Japan
Prior art keywords
vector
address
channels
start address
processor device
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.)
Granted
Application number
JP2019075059A
Other languages
English (en)
Other versions
JP7346883B2 (ja
Inventor
修作 内堀
Shusaku Uchibori
修作 内堀
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2019075059A priority Critical patent/JP7346883B2/ja
Publication of JP2020173609A publication Critical patent/JP2020173609A/ja
Application granted granted Critical
Publication of JP7346883B2 publication Critical patent/JP7346883B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】メモリに高速にアクセスすることのできるベクトルプロセッサ装置を提供する。【解決手段】ベクトルプロセッサ装置は、ベクトルロードストア命令の開始アドレス、ベクトル長、およびチャネル数に基づいて、プリフェッチ単位をチャネル数アドレスおきの連続アドレスとした、アドレスおよびサイズを生成する生成部、を備える。【選択図】図9

Description

本発明は、ベクトルプロセッサ装置、生成方法及びプログラムに関する。
スカラー演算を行うCPU(Central Processing Unit)よりも高速にベクトル演算を行う目的で、ベクトルプロセッサ装置が、例えば、AI(Artificial Intelligence)の分野で使用されている。
特許文献1には、関連する技術として、ロードバッファを備え、ベクトル演算装置におけるベクトルロード命令の実行時間を短縮する技術が開示されている。
特開2016−081259号公報
ところで、ベクトルプロセッサ装置が高速に演算を行うには、メモリ帯域が重要となる。
そのため、ベクトルプロセッサ装置において、メモリに高速にアクセスすることのできる技術が求められている。
本発明の各態様は、上記の課題を解決することのできるベクトルプロセッサ装置、生成方法及びプログラムを提供することを目的としている。
上記目的を達成するために、本発明の一態様によれば、ベクトルプロセッサ装置は、ベクトルロードストア命令の開始アドレス、ベクトル長、およびチャネル数に基づいて、プリフェッチ単位をチャネル数アドレスおきの連続アドレスとした、アドレスおよびサイズを生成する生成部、を備える。
上記目的を達成するために、本発明の別の態様によれば、生成方法は、ベクトルロードストア命令の開始アドレス、ベクトル長、およびチャネル数に基づいて、プリフェッチ単位をチャネル数アドレスおきの連続アドレスとした、アドレスおよびサイズを生成すること、を含む。
上記目的を達成するために、本発明の別の態様によれば、プログラムは、コンピュータに、ベクトルロードストア命令の開始アドレス、ベクトル長、およびチャネル数に基づいて、プリフェッチ単位をチャネル数アドレスおきの連続アドレスとした、アドレスおよびサイズを生成すること、を実行させる。
本発明の各態様によれば、ベクトルプロセッサ装置において、メモリに高速にアクセスすることができる。
本発明の第1実施形態によるベクトルプロセッサ装置の構成の一例を示す図である。 本発明の第1実施形態によるベクトルロードストア制御手段の一例を示す図である。 本発明の第1実施形態によるベクトルプロセッサ装置の処理フローを示す第1の図である。 本発明の第1実施形態によるベクトルプロセッサ装置の処理フローを示す第2の図である。 本発明の第2実施形態によるベクトルロードストア制御手段の一例を示す図である。 本発明の第2実施形態によるベクトルプロセッサ装置の処理フローを示す図である。 本発明の別の実施形態によるメモリ制御手段の一例を示す図である。 本発明の別の実施形態によるベクトルプロセッサ装置の構成の一例を示す図である。 本発明の実施形態による最小構成のベクトルプロセッサ装置を示す図である。 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
以下、図面を参照しながら実施形態について詳しく説明する。
<第1実施形態>
図1は、本発明の第1実施形態によるベクトルプロセッサ装置1の構成を示す図である。ベクトルプロセッサ装置1は、ベクトルロードストア制御手段100(生成部の一例)、ベクトルレジスタ200、メモリネットワーク300、メモリ制御手段400、複数のメモリ500を備える。
ベクトルプロセッサ装置1は、プリフェッチ機能を備えた複数のメモリ500に接続された装置であり、ベクトルロードストア制御手段100を用いて、プリフェッチ単位をチャネル数アドレスおきの連続アドレスとしたアドレス単位のインタリーブにすることにより、メモリ帯域を向上させる装置である。
ベクトルレジスタ200は、ベクトルロードストア制御手段100に接続される。ベクトルロードストア制御手段100は、メモリネットワーク300を経由して、複数のメモリ制御手段400に接続される。メモリ制御手段400は、複数のメモリ500にチャネル600で接続される。
ベクトルレジスタ200は、複数のベクトル要素210を備える。
メモリ500は、プリフェッチ機能を備え、プリフェッチ単位にアクセスが可能である。図1に示す例では、メモリ500は、00アドレスおよび04アドレスに一度にアクセスが可能である。
ベクトルレジスタ200、メモリネットワーク300、メモリ制御手段400、および、メモリ500は、非特許文献:ジョン・L・ヘネシー、デイビッド・A・パターソン[著]、中條拓伯、天野英晴、鈴木貢[監訳]、吉瀬謙二、佐藤寿倫[翻訳]、「ヘネシー&パターソン コンピュータアーキテクチャ 定量的アプローチ 第5版」、(日本)、株式会社翔泳社、2014年03月17日、253ページ、第4章 ベクタ、SIMD、GPUにおけるデータレベル並列性、などに記載されているように、当業者にとって既知技術である。ベクトルレジスタ200、メモリネットワーク300、メモリ制御手段400、および、メモリ500は、例えば、DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory)である。
図2は、ベクトルロードストア制御手段100の構成を示す図である。ベクトルロードストア制御手段100は、ベクトルロードまたはベクトルストア命令に応じて、メモリアクセスを行う手段である。ベクトルロードストア制御手段100は、アドレスサイズ生成手段110を備える。
アドレスサイズ生成手段110は、ベクトルロードストア命令の開始アドレス120、ベクトル長130、およびチャネル数140を入力する。
アドレスサイズ生成手段110は、入力した開始アドレス120、ベクトル長130、およびチャネル数140から、プリフェッチ単位をチャネル数アドレスおきの連続アドレスとした、アドレス150およびサイズ160を生成する。
アドレスサイズ生成手段110は、生成したアドレス150およびサイズ160を出力する。
アドレスサイズ生成手段110は、アドレスサイズ生成手段110を除いて、当業者にとって既知技術を用いて所望の処理を行う。
次に、ベクトルプロセッサ装置1の動作について、図3、図4に示すベクトルプロセッサ装置1の処理フローについて説明する。
まず、図3に示すベクトルロード命令に対してベクトルプロセッサ装置1が行う処理について説明する。
ベクトルロードは、例えば「VLD ベクトルレジスタ番号、開始アドレス、ベクトル長」といった形式で記載されたコードによって指定される。
ベクトルレジスタ番号で指定されるベクトルレジスタ200は、メモリ500の開始アドレスからベクトル長のデータを読み出す(ステップS1)。そのベクトルレジスタ200は、メモリ500の開始アドレスから読み出したベクトル長のデータを格納する(ステップS2)。
アドレスサイズ生成手段110は、ベクトルロード命令により、開始アドレス120、ベクトル長130、およびチャネル数140を入力する(ステップS3)。アドレスサイズ生成手段110は、プリフェッチ単位をチャネル数アドレスおきの連続アドレスとした、アドレス150およびサイズ160を生成する(ステップS4)。
チャネル番号Nに対するアドレス150は、N≧(開始アドレスmodチャネル数)の場合、
アドレス=(開始アドレス−(開始アドレスmodチャネル数)+N)/チャネル数
である。
また、チャネル番号Nに対するアドレス150は、N<(開始アドレスmodチャネル数)の場合、
アドレス=(開始アドレス−(開始アドレスmodチャネル数)+N+チャネル数)/チャネル数
の小数点以下を切り捨てたものである。
また、チャネル番号Nに対するサイズ160は、
サイズ=(ベクトル長−アドレス+開始アドレス+1)/チャネル数
の小数点以下を切り捨てたものである。
ベクトルロードストア制御手段100は、チャネル毎にメモリロードアクセスを生成する(ステップS5)。ベクトルロードストア制御手段100は、チャネル毎に生成したメモリロードアクセスを、メモリネットワーク300を経由して、メモリ制御手段400に送信する(ステップS6)。
メモリ制御手段400は、アドレスおよびサイズにより、メモリ500からプリフェッチ単位でデータを読み出す(ステップS7)。メモリ制御手段400は、読み出したデータを、メモリネットワーク300を経由して、ベクトルロードストア制御手段100へ送信する(ステップS8)。
ベクトルロードストア制御手段100は、ベクトルロード命令のベクトルレジスタ番号で指定されるベクトル要素210に対して、データを書き込む(ステップS9)。
次に、図4に示すベクトルストア命令に対してベクトルプロセッサ装置1が行う処理について説明する。
ベクトルストアは、例えば「VST ベクトルレジスタ番号、開始アドレス、ベクトル長」といった形式で記載されたコードによって指定される。
メモリ500は、ベクトルレジスタ番号で指定されるベクトルレジスタ200から読み出したベクトル長のデータを、開始アドレスへ格納する(ステップS11)。
ベクトルロードストア制御手段100は、ベクトルストア命令のベクトルレジスタ番号で指定されるベクトル要素210から、ベクトル長分のデータを読み出す(ステップS12)。アドレスサイズ生成手段110は、開始アドレス120、ベクトル長130、およびチャネル数140を入力する(ステップS13)。アドレスサイズ生成手段110は、入力した開始アドレス120、ベクトル長130、およびチャネル数140から、プリフェッチ単位をチャネル数アドレスおきの連続アドレスとした、アドレス150およびサイズ160を生成する(ステップS14)。
チャネル番号Nに対するアドレス150は、N≧(開始アドレスmodチャネル数)の場合、
アドレス=(開始アドレス−(開始アドレスmodチャネル数)+N)/チャネル数
である。
また、チャネル番号Nに対するアドレス150は、N<(開始アドレスmodチャネル数)の場合、
アドレス=(開始アドレス−(開始アドレスmodチャネル数)+N+チャネル数)/チャネル数
の小数点以下を切り捨てたものである。
また、チャネル番号Nに対するサイズ160は、
サイズ=(ベクトル長−アドレス+開始アドレス+1)/チャネル数
の小数点以下を切り捨てたものである。
ベクトルロードストア制御手段100は、チャネル毎にメモリストアアクセスを生成する(ステップS15)。ベクトルロードストア制御手段100は、チャネル毎に生成したメモリストアアクセスを、メモリネットワーク300を経由して、メモリ制御手段400に送信する(ステップS16)。メモリ制御手段400は、アドレスおよびサイズにより、メモリ500に対してプリフェッチ単位でデータを書き込む(ステップS17)。
以上、本発明の第1実施形態によるベクトルプロセッサ装置1について説明した。
ベクトルプロセッサ装置1において、アドレスサイズ生成手段110は、ベクトルロードストア命令の開始アドレス120、ベクトル長130、およびチャネル数140を入力する。アドレスサイズ生成手段110は、入力した開始アドレス120、ベクトル長130、およびチャネル数140から、プリフェッチ単位をチャネル数アドレスおきの連続アドレスとした、アドレス150およびサイズ160を生成する。アドレスサイズ生成手段110は、生成したアドレス150およびサイズ160を出力する。
こうすることで、ベクトルプロセッサ装置1は、プリフェッチ単位をチャネル数アドレスおきの連続アドレスとした、アドレス単位のインタリーブにすることにより、ベクトルロードストアでメモリ帯域向上し、チャネル間の競合を避けることができる。チャネル間の競合を避けることができた結果、ソフトウェアによるチューニングが不要となる。なお、チューニングとは、あるチャネル(アドレス)に対してアクセスが集中しないように、ソフトウェアでアクセスするアドレスを制御することである。
<第2実施形態>
本発明の第2実施形態によるベクトルプロセッサ装置1は、本発明の第1実施形態によるベクトルプロセッサ装置1と同様に、ベクトルロードストア制御手段100、ベクトルレジスタ200、メモリネットワーク300、メモリ制御手段400、複数のメモリ500を備える。
本発明の第2実施形態によるベクトルプロセッサ装置1は、ベクトルロードストア制御手段100が本発明の第1実施形態によるベクトルプロセッサ装置1と異なる。
図5は、ベクトルロードストア制御手段100の構成を示す図である。ベクトルロードストア制御手段100は、ベクトルロードまたはベクトルストア命令に応じて、メモリアクセスを行う手段である。ベクトルロードストア制御手段100は、アドレスサイズ生成手段110を備える。
アドレスサイズ生成手段110は、ベクトルロードストア命令の開始アドレス120、ベクトル長130、チャネル数140、およびストライド数170を入力する。
アドレスサイズ生成手段110は、入力した開始アドレス120、ベクトル長130、チャネル数140、およびストライド数170から、プリフェッチ単位をチャネル数アドレスおきの連続アドレスとした、アドレス150およびサイズ160を生成する。
アドレスサイズ生成手段110は、生成したアドレス150およびサイズ160を出力する。
アドレスサイズ生成手段110は、アドレスサイズ生成手段110を除いて、当業者にとって既知技術を用いて所望の処理を行う。
次に、ベクトルプロセッサ装置1の動作について、図6に示すベクトルプロセッサ装置1の処理フローについて説明する。
ここでは、図6に示すベクトルロード命令に対してベクトルプロセッサ装置1が行う処理について説明する。
ストライドありベクトルロードは、例えば「VLD ベクトルレジスタ番号、開始アドレス、ベクトル長、ストライド数」といった形式で記載されたコードによって指定される。
ベクトルレジスタ番号で指定されるベクトルレジスタ200は、メモリ500の開始アドレスからストライド数とびでベクトル長のデータを読み出す(ステップS21)。そのベクトルレジスタ200は、メモリ500の開始アドレスからストライド数とびで読み出したベクトル長のデータを格納する(ステップS22)。
アドレスサイズ生成手段110は、ベクトルロード命令により、開始アドレス120、ベクトル長130、チャネル数140、およびストライド数170を入力する(ステップS23)。アドレスサイズ生成手段110は、チャネル番号Nがストライド数の整数倍である場合のみ、プリフェッチ単位をチャネル数アドレスおきの連続アドレスとした、アドレス150およびサイズ160を生成する(ステップS24)。
チャネル番号Nに対するアドレス150は、N≧(開始アドレスmodチャネル数)の場合、
アドレス=(開始アドレス−(開始アドレスmodチャネル数)+N)/チャネル数
である。
また、チャネル番号Nに対するアドレス150は、N<(開始アドレスmodチャネル数)の場合、
アドレス=(開始アドレス−(開始アドレスmodチャネル数)+N+チャネル数)/チャネル数
の小数点以下を切り捨てたものである。
また、チャネル番号Nに対するサイズ160は、
サイズ=(ベクトル長−アドレス+開始アドレス+1)/チャネル数×ストライド数
の小数点以下を切り捨てたものである。
そして、ベクトルプロセッサ装置1は、ステップS5〜ステップS9の処理を行う。
以上、本発明の第2実施形態によるベクトルプロセッサ装置1について説明した。
ベクトルプロセッサ装置1において、アドレスサイズ生成手段110は、ベクトルロードストア命令の開始アドレス120、ベクトル長130、チャネル数140、およびストライド数170を入力する。アドレスサイズ生成手段110は、入力した開始アドレス120、ベクトル長130、チャネル数140、およびストライド数170から、プリフェッチ単位をチャネル数アドレスおきの連続アドレスとした、アドレス150およびサイズ160を生成する。アドレスサイズ生成手段110は、生成したアドレス150およびサイズ160を出力する。
こうすることで、ベクトルプロセッサ装置1は、ストライド付ベクトルロードストア命令に対して、不要なチャネルに対してメモリアクセスが行われない。そのため、ベクトルロードストアでメモリ帯域向上し、チャネル間の競合を避けることができる。チャネル間の競合を避けることができた結果、ソフトウェアによるチューニングが不要となる。
なお、本発明の別の実施形態によるベクトルプロセッサ装置1は、メモリ制御手段400の代わりに、図7に示すメモリ制御手段450を備えるものであってもよい。
メモリ制御手段450は、キャッシュ手段451を備える。
キャッシュ手段451は、キャッシュのエントリを、プリフェッチ単位で、チャネル数番地おきの連続番地とする。
なお、この場合のベクトルプロセッサ装置1の処理は、次のようになる。
ベクトルロードストア制御手段100は、ベクトルロードまたはベクトルストア命令に応じて、メモリ500にアクセスする。ベクトルロードストア制御手段100は、チャネル毎にメモリストアアクセスを生成する。ベクトルロードストア制御手段100は、生成したメモリストアアクセスを、メモリネットワーク300を経由して、メモリ制御手段450に送信する。メモリ制御手段450は、キャッシュ手段451にヒットした場合は、キャッシュをアクセスし、ミスした場合は、番地およびサイズにより、メモリ500に対してプリフェッチ単位でアクセスを行う。
このようにベクトルプロセッサ装置1は、キャッシュにデータをプリフェッチすることで、不要なメモリアクセスを発生させない。このため、ベクトルプロセッサ装置1は、連続アドレスでのベクトルロードストアでメモリ帯域を向上させることができる。
なお、本発明の別の実施形態によるベクトルプロセッサ装置1は、ベクトルレジスタ200の代わりに、図8に示すベクトルレジスタ250を備え、さらに、ベクトルコアネットワーク700を備えるものであってもよい。
ベクトルレジスタ250は、複数のラインに分割され、並列の動作することで性能向上が図られる。個々のラインの要素は、ラインにインタリーブされ、例えば4つのラインに分割された場合は、ライン番号0では、要素00、要素04、を含む。
なお、この場合のベクトルプロセッサ装置1の処理は、次のようになる。
ベクトルロードストア制御手段100は、ベクトルロードまたはベクトルストア命令に応じて、ベクトルレジスタ250へアクセスする。このとき、ベクトルレジスタ250は、ラインをインタリーブ(すなわち、ラインを分割)する。
このようにベクトルプロセッサ装置1は、ベクトルレジスタ250がラインを分割することで(特に、ライン数とチャネル数を一致させることで)、メモリネットワーク300およびベクトルコアネットワーク700でのアクセス競合を削減し、ベクトルロードストアでメモリ帯域を向上させることができる。
本発明の実施形態による最小構成のベクトルプロセッサ装置1について説明する。
ベクトルプロセッサ装置1は、図9に示すように、生成部10を備える。
生成部10は、ベクトルロードストア命令の開始アドレス、ベクトル長、およびチャネル数に基づいて、プリフェッチ単位をチャネル数アドレスおきの連続アドレスとした、アドレスおよびサイズを生成する。
以上、本発明の実施形態による最小構成のベクトルプロセッサ装置1について説明した。
このように、ベクトルプロセッサ装置1を構成することで、生成部10は、ベクトルロードストア命令の開始アドレス、ベクトル長、およびチャネル数に基づいて、プリフェッチ単位をチャネル数アドレスおきの連続アドレスとした、アドレスおよびサイズを生成する。その結果、ベクトルプロセッサ装置1は、プリフェッチ単位をチャネル数アドレスおきの連続アドレスとした、アドレス単位のインタリーブにすることにより、ベクトルロードストアでメモリ帯域向上し、チャネル間の競合を避けることができる。チャネル間の競合を避けることができた結果、ソフトウェアによるチューニングが不要となる。
なお、本発明の実施形態における処理は、適切な処理が行われる範囲において、処理の順番が入れ替わってもよい。
本発明の実施形態におけるベクトルレジスタ200、メモリ500、その他の記憶装置(レジスタ、ラッチを含む)のそれぞれは、適切な情報の送受信が行われる範囲においてどこに備えられていてもよい。また、本発明の実施形態におけるベクトルレジスタ200、メモリ500、その他の記憶装置のそれぞれは、適切な情報の送受信が行われる範囲において複数存在しデータを分散して記憶していてもよい。
本発明の実施形態について説明したが、上述のベクトルプロセッサ装置1、ベクトルロードストア制御手段100、メモリ制御手段400、450、その他の制御装置は内部に、コンピュータシステムを有していてもよい。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。コンピュータの具体例を以下に示す。
図10は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ5は、図10に示すように、CPU6、メインメモリ7、ストレージ8、インターフェース9を備える。
例えば、上述のベクトルプロセッサ装置1、ベクトルロードストア制御手段100、メモリ制御手段400、450、その他の制御装置のそれぞれは、コンピュータ5に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ8に記憶されている。CPU6は、プログラムをストレージ8から読み出してメインメモリ7に展開し、当該プログラムに従って上記処理を実行する。また、CPU6は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ7に確保する。
ストレージ8の例としては、HDD(Hard Disk Drive)、SSD(Solid State Drive)、磁気ディスク、光磁気ディスク、CD−ROM(Compact Disc Read Only Memory)、DVD−ROM(Digital Versatile Disc Read Only Memory)、半導体メモリ等が挙げられる。ストレージ8は、コンピュータ5のバスに直接接続された内部メディアであってもよいし、インターフェース9または通信回線を介してコンピュータ5に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ5に配信される場合、配信を受けたコンピュータ5が当該プログラムをメインメモリ7に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ8は、一時的でない有形の記憶媒体である。
また、上記プログラムは、前述した機能の一部を実現してもよい。さらに、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるファイル、いわゆる差分ファイル(差分プログラム)であってもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例であり、発明の範囲を限定しない。これらの実施形態は、発明の要旨を逸脱しない範囲で、種々の追加、省略、置き換え、変更を行ってよい。
1・・・ベクトルプロセッサ装置
5・・・コンピュータ
6・・・CPU
7・・・メインメモリ
8・・・ストレージ
9・・・インターフェース
100・・・ベクトルロードストア制御手段
110・・・アドレスサイズ生成手段
120・・・開始アドレス
130・・・ベクトル長
140・・・チャネル数
150・・・アドレス
160・・・サイズ
170・・・ストライド数
200、250・・・ベクトルレジスタ
210・・・ベクトル要素
300・・・メモリネットワーク
400、450・・・メモリ制御手段
500・・・メモリ

Claims (9)

  1. ベクトルロードストア命令の開始アドレス、ベクトル長、およびチャネル数に基づいて、プリフェッチ単位をチャネル数アドレスおきの連続アドレスとした、アドレスおよびサイズを生成する生成部、
    を備えるベクトルプロセッサ装置。
  2. 前記生成部は、
    チャネル番号Nが(開始アドレスmodチャネル数)以上の場合、前記アドレスを、
    (開始アドレス−(開始アドレスmodチャネル数)+N)/チャネル数
    と生成し、
    前記チャネル番号Nが(開始アドレスmodチャネル数)よりも小さい場合、前記アドレスを、
    (開始アドレス−(開始アドレスmodチャネル数)+N+チャネル数)/チャネル数 の小数点以下を切り捨てたものと生成する、
    請求項1に記載のベクトルプロセッサ装置。
  3. 前記生成部は、
    前記チャネル番号Nに対する前記サイズを、
    (ベクトル長−アドレス+開始アドレス+1)/チャネル数
    の小数点以下を切り捨てたものと生成する、
    請求項2に記載のベクトルプロセッサ装置。
  4. 前記生成部は、
    前記チャネル番号Nに対する前記サイズを、
    (ベクトル長−アドレス+開始アドレス+1)/チャネル数×ストライド数
    の小数点以下を切り捨てたものと生成する、
    請求項2に記載のベクトルプロセッサ装置。
  5. 前記ベクトルロードストア命令がストライド付きのベクトルロードストア命令である場合、
    前記生成部は、
    前記開始アドレス、前記ベクトル長、前記チャネル数に加えてさらにストライド数に基づいて、前記サイズを生成する、
    請求項1から請求項4の何れか一項に記載のベクトルプロセッサ装置。
  6. 前記アドレスおよび前記サイズに対応するデータをプリフェッチするためのキャッシュ、
    を備える請求項1から請求項5の何れか一項に記載のベクトルプロセッサ装置。
  7. ラインを分割させて前記アドレスおよび前記サイズに対応するデータを通信するベクトルレジスタ、
    を備える請求項1から請求項6の何れか一項に記載のベクトルプロセッサ装置。
  8. ベクトルロードストア命令の開始アドレス、ベクトル長、およびチャネル数に基づいて、プリフェッチ単位をチャネル数アドレスおきの連続アドレスとした、アドレスおよびサイズを生成すること、
    を含む生成方法。
  9. コンピュータに、
    ベクトルロードストア命令の開始アドレス、ベクトル長、およびチャネル数に基づいて、プリフェッチ単位をチャネル数アドレスおきの連続アドレスとした、アドレスおよびサイズを生成すること、
    を実行させるプログラム。
JP2019075059A 2019-04-10 2019-04-10 ベクトルプロセッサ装置及び生成方法 Active JP7346883B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019075059A JP7346883B2 (ja) 2019-04-10 2019-04-10 ベクトルプロセッサ装置及び生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019075059A JP7346883B2 (ja) 2019-04-10 2019-04-10 ベクトルプロセッサ装置及び生成方法

Publications (2)

Publication Number Publication Date
JP2020173609A true JP2020173609A (ja) 2020-10-22
JP7346883B2 JP7346883B2 (ja) 2023-09-20

Family

ID=72831457

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019075059A Active JP7346883B2 (ja) 2019-04-10 2019-04-10 ベクトルプロセッサ装置及び生成方法

Country Status (1)

Country Link
JP (1) JP7346883B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5664198B2 (ja) 2010-12-14 2015-02-04 富士通株式会社 演算処理装置
JP6961997B2 (ja) 2017-05-15 2021-11-05 富士通株式会社 情報処理装置、メモリ制御装置および情報処理装置の制御方法

Also Published As

Publication number Publication date
JP7346883B2 (ja) 2023-09-20

Similar Documents

Publication Publication Date Title
JP4820566B2 (ja) メモリアクセス制御回路
JP6253514B2 (ja) プロセッサ
US10209890B2 (en) Near memory accelerator
JP2015529865A (ja) シングルデータバッファの並行処理
JP5527340B2 (ja) ベクトル処理装置およびベクトル処理方法
JP2012159903A (ja) データ処理システム、データ処理装置、及びデータ処理方法
JP7346883B2 (ja) ベクトルプロセッサ装置及び生成方法
CN110018847B (zh) 可配置寄存器及基于可配置寄存器的数据存取方法
JP6701650B2 (ja) 情報処理装置および画像形成装置
JP5278538B2 (ja) コンパイルシステム、コンパイル方法およびコンパイルプログラム
KR20200028965A (ko) 데이터 처리장치에서의 벡터 인터리빙
JP2012008747A (ja) 集積装置、メモリ割り当て方法、および、プログラム
JP2010182000A (ja) 画像処理装置、プログラム
JP7408954B2 (ja) メモリ制御方法、メモリ制御装置、プログラム
JP2014191663A (ja) 演算処理装置、情報処理装置、および演算処理装置の制御方法
JP2005182538A (ja) データ転送装置
JP7225904B2 (ja) ベクトル演算処理装置、ベクトル演算処理装置による配列変数初期化方法、及び、ベクトル演算処理装置による配列変数初期化プログラム
CN110337637B (zh) 数据处理方法和设备
US9740428B1 (en) Circular buffer descriptor for describing and/or accessing a circular buffer
US8812813B2 (en) Storage apparatus and data access method thereof for reducing utilized storage space
JP5182175B2 (ja) 情報処理装置
JP5852090B2 (ja) 命令処理装置およびその命令処理方法
JP4664011B2 (ja) 情報処理装置及び情報処理方法
KR100800552B1 (ko) 벡터 메모리, 이를 구비한 프로세서 및 그 데이터 처리방법
TW200415515A (en) System for allowing only a partial value prediction field/cache size

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230428

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: 20230808

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230821

R151 Written notification of patent or utility model registration

Ref document number: 7346883

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151