説明

ベクトル処理装置、ベクトル処理方法、およびプログラム

【課題】 ベクトル処理において、ベクトルマスク制御やベクトル長制御により、ベクトル命令で読み書きが行われない要素に対する制御で消費電力を低減する。
【解決手段】 同一要素番号を有する要素を要素単位でSRAMに格納する要素単位ベクトルレジスタと、要素単位ベクトルレジスタからの要素の読み出し、要素間の演算、および要素単位ベクトルレジスタへの演算の結果の書き込みを制御するベクトル演算処理部と、マスク制御またはベクトル長制御により読み書きが行われない要素単位で要素単位ベクトルレジスタのクロックを停止するクロック停止処理部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はベクトル処理装置に関し、特に消費電力を低減するベクトル処理装置、ベクトル処理方法、およびプログラムに関する。
【背景技術】
【0002】
ベクトル演算処理装置での消費電力を低減する技術が、特許文献1に記載されている。特許文献1の技術は、ベクトル命令で使用されないベクトルレジスタのクロックをレジスタ単位で停止する構成である。
【0003】
また、ベクトルレジスタの読み出しを高い自由度で行う技術が、特許文献2に記載されている。特許文献2の技術は、同一の要素番号を有する要素をグループ化して、各グループ毎に読み出しを行う構成である。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−234968号公報
【特許文献2】特開2007−280297号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1、特許文献2の技術では、ベクトルマスク制御やベクトル長制御により、ベクトル命令で読み書きが行われない要素に対して要素毎にクロックを停止し、消費電力を低減する技術の記載がない。
【0006】
本発明の目的は、上記問題点を解決するベクトル処理装置、ベクトル処理方法、およびプログラムを提供することである。
【課題を解決するための手段】
【0007】
本発明のベクトル処理装置は、同一要素番号を有する要素を要素単位でSRAMに格納する要素単位ベクトルレジスタと、前記要素単位ベクトルレジスタからの前記要素の読み出し、前記要素間の演算、および前記要素単位ベクトルレジスタへの前記演算の結果の書き込みを制御するベクトル演算処理部と、前記要素単位ベクトルレジスタのクロックをベクトルマスク制御またはベクトル長制御により読み書きが行われない前記要素単位で停止するクロック停止処理部と、を備える。
【0008】
本発明のベクトル処理方法は、同一要素番号を有する要素を要素単位でSRAMに格納された要素単位ベクトルレジスタからの前記要素の読み出し、前記要素間の演算、および前記要素単位ベクトルレジスタへの前記演算の結果の書き込みを制御するベクトル演算処理ステップと、前記要素単位ベクトルレジスタのクロックをマスク制御またはベクトル長制御により読み書きが行われない前記要素単位で停止するクロック停止処理ステップと、を含む。
【0009】
本発明のプログラムは、同一要素番号を有する要素を要素単位でSRAMに格納された要素単位ベクトルレジスタからの前記要素の読み出し、前記要素間の演算、および前記要素単位ベクトルレジスタへの前記演算の結果の書き込みを制御するベクトル演算処理と、前記要素単位ベクトルレジスタのクロックをマスク制御またはベクトル長制御により読み書きが行われない前記要素単位で停止するクロック停止処理と、をコンピュータに実行させる。
【発明の効果】
【0010】
本発明の効果は、ベクトルマスク制御やベクトル長制御により、ベクトル命令で読み書きが行われない要素に対する制御で消費電力を低減できることである。
【図面の簡単な説明】
【0011】
【図1】本発明の第1の実施の形態であるベクトル処理装置(1)10の構成図である。
【図2】本発明の第2の実施の形態であるベクトル処理装置(2)20の構成図である。
【図3】要素単位ベクトルレジスタ13、および要素単位ベクトルレジスタ37の構成の1例を示す図である。
【図4】本発明の第2実施の形態であるベクトル処理装置(2)の動作(時刻0)の1例を示す図である。
【図5】本発明の第2実施の形態であるベクトル処理装置(2)の動作(時刻1)の1例を示す図である。
【図6】本発明の第2実施の形態であるベクトル処理装置(2)の動作(時刻2)の1例を示す図である。
【図7】本発明の第2実施の形態であるベクトル処理装置(2)の動作(時刻3)の1例を示す図である。
【図8】本発明の第2実施の形態であるベクトル処理装置(2)の動作(時刻4)の1例を示す図である。
【図9】本発明の第2実施の形態であるベクトル処理装置(2)の動作(時刻n)の1例を示す図である。
【図10】本発明の第2実施の形態であるベクトル処理装置(2)20の動作を示すタイミングチャートの1例を示す図である。
【図11】本発明の第3の実施の形態であるベクトル処理装置(3)40の構成図である。
【図12】ベクトルレジスタの構成の1例である。
【発明を実施するための形態】
【0012】
次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。
【0013】
図1は、本発明の第1の実施の形態であるベクトル処理装置(1)10の構成図である。
【0014】
ベクトル処理装置(1)10は、要素単位ベクトルレジスタ13と、ベクトル演算処理部11と、クロック停止処理部12から構成されている。
【0015】
図3は、要素単位ベクトルレジスタ13の構成の1例を示す図である。
【0016】
要素単位ベクトルレジスタ13は、SRAM(StaticRandomAccessMemory)に各レジスタ単位で要素を番号順に格納するのではなく(図12参照)、
各ベクトルレジスタV0〜V7の各要素の中で要素番号が同一である要素を、要素単位でSRAMに格納するような構成を採用している。
【0017】
図3の例では、ベクトルレジスタは、V0〜V7の8個であり、要素は要素番号#00〜#15に対応する16個と想定している。
【0018】
図3を参照すると、SRAM#0には、ベクトルレジスタV0の要素番号#00の要素(V0−#00)と、ベクトルレジスタV1の要素番号#00の要素(V1−#00)と、ベクトルレジスタV2の要素番号#00の要素(V2−#00)と、以下、要素(V3−#00)と、要素(V4−#00)と、要素(V5−#00)と、要素(V6−#00)と、要素(V7−#00)が格納されている。
【0019】
同様に、SRAM#1〜SRAM#15には、同様に要素単位で同一要素番号の要素が格納されている。
【0020】
尚、SRAMは記憶素子にフリップフロップ回路を用いているので、クロック入力を停止することにより、読み込み/書き込み動作が抑止され消費電力が削減可能である。
【0021】
また、ベクトル演算処理部11は、要素単位ベクトルレジスタ13からの要素の読み出し、要素間の演算、および要素単位ベクトルレジスタ13への演算の結果の書き込みを制御する。
【0022】
クロック停止処理部12は、要素単位で要素単位ベクトルレジスタ13のクロックを停止する。
【0023】
このため、本発明の第1の実施の形態であるベクトル処理装置(1)10は、マスク制御やベクトル長制御により、ベクトル命令で読み書きが行われない要素に対して、要素単位で消費電力を低減できることである。
【0024】
その理由は、ベクトルレジスタを要素単位でSRAMに格納するような構成とし、マスク制御やベクトル長制御によりベクトル命令で読み書きが行われない要素を要素単位でクロックを停止するような構成を採用したためである。
【0025】
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。
【0026】
図2は、本発明の第2の実施の形態であるベクトル処理装置(2)20の構成図である。
【0027】
ベクトル処理装置(2)20は、要素単位ベクトルレジスタ37と、ベクトル演算処理部38と、クロック停止処理部(1)30とから構成されている。
【0028】
要素単位ベクトルレジスタ37は、例えば、ベクトルレジスタV0からV7の8個で、要素0から要素nから構成されている。
【0029】
ベクトル演算処理部38は、命令格納処理部21と、命令発行処理部22と、読み出しクロスバ24と、演算器36と、書き込みクロスバ29と、読み出しクロスバ制御処理部23と、書き込みクロスバ制御処理部35とから構成されている。
【0030】
演算器36は、ベクトル加算、ベクトル乗算等の演算を行う演算器(A)26と、演算器(B)27と、演算器(C)28と、オペランドを一時保持するオペランド保持レジスタ25から構成されている。
【0031】
演算器(A)26は、図示していないが、演算器Aパイプライン(1)と演算器Aパイプライン(2)の2段のパイプラインで構成されていると想定している。
【0032】
オペランド保持レジスタ25は、演算器で2つ以上のベクトルデータのオペランドの演算を処理するときに、1つ目のオペランドを1サイクル余計に保持し2つ目のオペランドを受けるタイミングに合わせる機能をもつ。
【0033】
読み出しクロスバ24は、要素単位ベクトルレジスタ37から読み出されたデータ(ベクトル要素)を各入力口から出力口へ切り替える。
【0034】
読み出しクロスバ制御処理部23は、読み出しクロスバ24に対してどのタイミングでどの各入力口からどの出力口へ切り替えするかどうかを指示する。
【0035】
書き込みクロスバ29は、演算器36の出力を受け取って、入力口から出力口の要素単位ベクトルレジスタ37への切り替えを制御する。
【0036】
書き込みクロスバ制御処理部35は、書き込みクロスバ29に対してどのタイミングで要素単位ベクトルレジスタ37のどの要素の出力口へ切り替えすればよいかを指示する。
【0037】
命令格納処理部21は、ベクトル命令の格納処理を行う。命令発行処理部22は、命令格納処理部21から受け取ったベクトル命令を解読し命令がマスク有効命令か否かを判別する。
【0038】
また、命令発行処理部22は、ベクトル命令が使用するリソース(要素単位ベクトルレジスタ37、演算器36等)を判別する処理と、現在そのリソースが使用可能状態か否かを判別する処理と、要素単位ベクトルレジスタ37に対し読み出しの開始タイミングを指示する処理と、読み出しクロスバ24を制御する読み出しクロスバ制御処理部23に対して指示する処理を
行う。
【0039】
さらに、命令格納処理部21は、演算器36のどの演算器が何の命令の処理をいつ開始するか指示する処理と、書き込みクロスバ29を制御する書き込みクロスバ制御処理部35に対して指示する処理を行う。
【0040】
クロック停止処理部(1)30は、マスクレジスタ33と、マスクレジスタ制御処理部32と、クロック供給処理部31と、クロックゲーティング処理部34とから構成されている。
【0041】
マスクレジスタ33は、全ベクトルレジスタ共通でベクトルレジスタ内のどの要素がマスク有効かを保持する。
【0042】
マスクレジスタ制御処理部32は、命令発行処理部22からの指示によりどの要素がマスク有効かを示すマスクデータをマスクレジスタ33に設定する。
【0043】
クロック供給処理部31は、装置全体のクロックを供給する機能をもつが、ここでは、要素単位ベクトルレジスタ37に対するクロックを供給する処理に特化して記述されている。
【0044】
クロックゲーティング処理部34は、マスクレジスタ33の値に基づいて要素単位ベクトルレジスタ37に対するクロックの供給停止を行う。
【0045】
尚、読み出しクロスバ制御処理部23と、書き込みクロスバ制御処理部35は、ハードウェアで実現してもよいしソフトウェアで実現してもよい。
【0046】
また、要素単位ベクトルレジスタ37、ベクトル演算処理部38、およびクロック停止処理部(1)30は、それぞれ、本発明の第1実施の形態であるベクトル処理装置(1)10の要素単位ベクトルレジスタ13と、ベクトル演算処理部11と、クロック停止処理部12の1例である。
【0047】
図4から図9は、本発明の第2実施の形態であるベクトル処理装置(2)20の動作(時刻0から時刻nまで)の1例を示す図である。
【0048】
図10は、本発明の第2実施の形態であるベクトル処理装置(2)20の動作を示すタイミングチャートの1例を示す図である。
【0049】
次に、本発明の第2の実施の形態であるベクトル処理装置(2)20の動作について、図2、図3、図4〜図9、および図10を参照して説明する。
【0050】
本発明の第2の実施の形態であるベクトル処理装置(2)20の動作を説明する上で、ベクトルレジスタV0(第一オペランド)とベクトルレジスタV1(第二オペランド)のデータを読み出し演算器(A)26で演算を行い、結果をベクトルレジスタV2へ格納するベクトル演算命令時の動作について説明する。
【0051】
まず、命令発行処理部22は、ベクトル命令を解読しリソースの空き状況を管理して実行可能な状態を判別し、実行可能になり次第順次命令発行を行う。
【0052】
次に、命令発行処理部22は、要素単位ベクトルレジスタ37、演算器(A)26、マスクレジスタ制御処理部32、読み出しクロスバ制御処理部23、および書き込みクロスバ制御処理部35に対して動作指示を出す。
【0053】
また、命令発行処理部22は、ベクトル命令を解読すると、ベクトルレジスタV0とベクトルレジスタV1からデータを読み出すことを必要であると判別し、要素単位ベクトルレジスタ37のV0とV1に対して読み出し指示を出す。
【0054】
要素単位ベクトルレジスタ37は、この指示に従い、要素0から順次ベクトルレジスタ内データを読み出し読み出しクロスバ24にデータを送出する。このとき、要素0はV0とV1とも同じSRAMに格納されているため、V1はタイミングを1サイクルずらして読み出しを開始する必要がある。
【0055】
次に、命令発行処理部22は、ベクトルレジスタV0とV1の読み出し開始タイミングを読み出しクロスバ制御処理部23に指示する。この指示から読み出しクロスバ制御処理部23は、読み出しクロスバ24に対し、どのタイミングのデータをどの演算器の入力口に出力するかどうかの指示を出す。
【0056】
この指示に従い、読み出しクロスバ24は、ベクトルレジスタV0とベクトルレジスタV1から読み出された各要素のデータを演算器(A)26の対応する入力口へのデータの切り替えを行う。
【0057】
読み出しクロスバ24は、演算の第一オペランド側の要素をオペランド保持レジスタ25への入力側へ切り替え、演算の第二オペランド側の要素を演算器の第二オペランド入力側へ切り替える。
【0058】
このときの切り替え動作の詳細を図4から図9、図10を用いて説明すると、時刻0では、V0の要素0のデータV0(0)が、要素0用のポートから入力され演算器(A)26の第一オペランド側に出力され、オペランド保持レジスタ25に格納される(図4参照)。
【0059】
時刻1では、V1の要素0のデータV1(0)が要素0用のポートから入力され演算器(A)26の第二オペランド側に出力されると同時に、V0の要素1のデータV0(1)が要素1用のポートから送られ演算器(A)26の第一オペランド側に出力される(図5参照)。
【0060】
同様に、時刻2ではV0の要素2のデータV0(2)とV1の要素1V1(1)のデータが演算器(A)26の第一/第二オペランドへと出力される(図6参照)。時刻nではV0のデータ供給は終了しV1の要素nV1(n)のみが演算器(A)26の第二オペランド側に出力される。
【0061】
さらに、命令発行処理部22は、演算器(A)26の演算結果のベクトルレジスタV2への書き込み開始タイミングを書き込みクロスバ制御処理部35に指示する。
【0062】
この指示から、書き込みクロスバ制御処理部35は、書き込みクロスバ29に対し、どのタイミングで演算器(A)26から出された演算結果をベクトルレジスタV2のどの要素番号に対応するSRAMに出力するかどうかの指示を出す。
【0063】
この指示に従い、書き込みクロスバ29は、演算器(A)26から出された演算結果をベクトルレジスタV2の各要素に対するSRAMのパスへの切り替えを行う。
【0064】
図6から図9を用いて、このときの切り替え動作の詳細を説明すると、時刻2では、演算器(A)26からの要素0の演算結果が入力され要素0用のポートから出力される(図6、図10参照)。時刻3では、演算器(A)26からの要素1の演算結果が入力されポート1へ出力される(図7、図10)。同様にして、時刻nでは演算器(A)26からの要素n−2の演算結果が入力され要素n−2用のポートへ出力される(図9、図10参照)。時刻n+2では演算器(A)26からの要素nの演算結果が入力され要素n用のポートへ出力される(図10参照)。
【0065】
一方、命令発行処理部22は、ベクトル命令がマスク有効命令であることを判別すると、マスクレジスタ制御処理部32に対して、どの要素がマスク有効かを示すマスクデータをマスクレジスタ33に設定するように指示する。
【0066】
クロックゲーティング処理部34は、クロック供給処理部31から送られたクロックと
マスクレジスタ33の出力とがANDされベクトル命令で有効でない要素が格納されているSRAMへのクロック供給が停止される。
【0067】
このため、レジスタの読み出し時には固定のデータが出力され、レジスタの書き込み時には書き込み動作を一切行わないが、元々処理する必要のない要素であるので処理としては問題なく、電力削減が可能になる。
【0068】
この実施例では、要素1,3,4がマスク無効であるため、要素1,3,4に対応するSRAMへのクロック供給が停止されている。
【0069】
このため、本発明の第2の実施の形態であるベクトル処理装置(2)20の効果は、ベクトル命令で、読み書きが行われない有効でない要素に対して消費電力を低減できることである。
【0070】
その理由は、ベクトルレジスタを要素単位でSRAMに格納するように構成し、ベクトル命令で、読み書きが行われない要素単位でクロックの停止を制御するような構成を採用したためである。
【0071】
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。
【0072】
図11は、本発明の第3の実施の形態であるベクトル処理装置(3)40の構成図である。
【0073】
ベクトル処理装置(3)40は、本発明の第2の実施の形態であるベクトル処理装置(2)20と比べて、クロック停止処理部(2)41が異なっている。
【0074】
クロック停止処理部(2)41は、ベクトル長レジスタ42と、ベクトル長制御処理部43と、クロック供給処理部31と、クロックゲーティング処理部34とから構成されている。
【0075】
尚、図11に示す例では、要素開始アドレスが要素0であると想定している。
【0076】
命令発行処理部22は、命令格納処理部21から受け取ったベクトル命令を解読し命令のベクトル長を判別する処理と、解読した命令が使用するリソースを判別し、現在そのリソースが使用可能状態か否かを判別する処理と、要素単位ベクトルレジスタ37に対し読み出し開始タイミングを指示する処理を行う。
【0077】
次に、命令発行処理部22は、読み出しクロスバ24を制御する読み出しクロスバ制御処理部23に対する指示を行う。
【0078】
さらに、命令格納処理部21は、演算器36のどの演算器が何の命令の処理をいつ開始するかの指示と、書き込みクロスバ29を制御する書き込みクロスバ制御処理部35に対する指示を行う。
【0079】
一方、ベクトル長レジスタ42は、全ベクトルレジスタ共通で実行命令のベクトル長が現在いくつになっているかどうかのデータを保持する。
【0080】
ベクトル長制御処理部43は、ベクトル長レジスタ42の値によりどの要素が有効でないかの判定を行う。
【0081】
クロックゲーティング処理部34は、ベクトル長制御処理部43から送られた有効なベクトル長以降の無効な要素に対して要素単位でのクロックの供給停止を行う。
【0082】
このため、本発明の第3の実施の形態であるベクトル処理装置(3)40の効果は、有効なベクトル長以降の読み書きが行われない無効な要素に対して消費電力を低減できることである。
【0083】
その理由は、ベクトルレジスタを要素単位でSRAMに格納するように構成し、有効なベクトル長以降の読み書きが行われない無効な要素単位でクロックの停止を制御するような構成を採用したためである。
【符号の説明】
【0084】
10 ベクトル処理装置(1)
11 ベクトル演算処理部
12 クロック停止処理部
13 要素単位ベクトルレジスタ
20 ベクトル処理装置(2)
21 命令格納処理部
22 命令発行処理部
23 読み出しクロスバ制御処理部
24 読み出しクロスバ
25 オペランド保持レジスタ
26 演算器(A)
27 演算器(B)
28 演算器(C)
29 書き込みクロスバ
30 クロック停止処理部(1)
31 クロック供給処理部
32 マスクレジスタ制御処理部
33 マスクレジスタ
34 クロックゲーティング処理部
35 書き込みクロスバ制御処理部
36 演算器
37 要素単位ベクトルレジスタ
38 ベクトル演算処理部
40 ベクトル処理装置(3)
41 クロック停止処理部(2)
42 ベクトル長レジスタ
43 ベクトル長制御処理部

【特許請求の範囲】
【請求項1】
同一要素番号を有する要素を要素単位でSRAMに格納する要素単位ベクトルレジスタと、前記要素単位ベクトルレジスタからの前記要素の読み出し、前記要素間の演算、および前記要素単位ベクトルレジスタへの前記演算の結果の書き込みを制御するベクトル演算処理部と、前記要素単位ベクトルレジスタのクロックをベクトルマスク制御またはベクトル長制御により読み書きが行われない前記要素単位で停止するクロック停止処理部と、を備えることを特徴とするベクトル処理装置。
【請求項2】
前記ベクトル演算処理部は、前記要素単位ベクトルレジスタから読み出した前記要素を切り替える読み出しクロスバと、前記要素間の前記演算を行う演算器と、前記演算器の出力を切り替える書き込みクロスバを備え、
前記クロック停止処理部は、クロックを供給するクロック供給処理部と、前記要素単位ベクトルレジスタ内のどの前記要素がマスク有効かを示すマスクレジスタと、前記クロック供給回路の出力、および前記マスクレジスタの出力から前記要素単位で前記クロックを停止するクロックゲーティング処理部と、を備えることを特徴とする請求項1記載のベクトル処理装置。
【請求項3】
前記クロック停止処理部は、ベクトル長を保持するベクトル長レジスタと、前記ベクトル長レジスタの出力をデコードするベクトル長レジスタ制御処理部と、前記クロック供給回路の出力、および前記のベクトル長レジスタ制御回路の出力から前記要素単位で前記クロックを停止するクロックゲーティング処理部と、を有することを特徴とする請求項1または請求項2記載のベクトル処理装置。
【請求項4】
前記演算器は、オペランドを一時保持するオペランド保持レジスタを有し、前記読み出しクロスバは、前記演算の第一オペランド側の前記要素を前記オペランド保持レジスタへの入力側へ切り替え、前記演算の第二オペランド側の前記要素を前記演算器の第二オペランド入力側へ切り替える回路を有することを特徴とする請求項2または請求項3記載のベクトル処理装置。
【請求項5】
前記ベクトル処理装置は、ベクトル命令を保持する命令格納処理部と、ベクトル命令を解読し前記演算器への制御、および前記要素単位ベクトルレジスタへの制御を行う命令発行処理部と、前記読み出しクロスバの制御を行う読み出しクロスバ制御処理部と、前記書き込みクロスバの制御を行う書き込みクロスバ制御処理部と、を有することを特徴とする請求項2乃至請求項4のいずれかに記載のベクトル処理装置。
【請求項6】
同一要素番号を有する要素が
要素単位でSRAMに格納された要素単位ベクトルレジスタからの前記要素の読み出し、前記要素間の演算、および前記要素単位ベクトルレジスタへの前記演算の結果の書き込みを制御するベクトル演算処理ステップと、前記要素単位ベクトルレジスタのクロックをマスク制御またはベクトル長制御により読み書きが行われない前記要素単位で停止するクロック停止処理ステップと、を含むことを特徴とするベクトル処理方法。
【請求項7】
前記ベクトル演算処理ステップは、読み出しクロスバにより前記要素単位ベクトルレジスタから読み出した前記要素を切り替える読出切替処理ステップと、演算器により前記要素間の前記演算を行う演算処理ステップと、書き込みクロスバにより前記演算器の出力を切り替える書込切替処理ステップを含み、
前記クロック停止処理ステップは、クロックを供給するクロック供給処理ステップと、前記要素単位ベクトルレジスタ内のどの前記要素がマスク有効かを示すマスクレジスタの出力から前記要素単位での前記クロックを停止するクロックゲーティング処理ステップを含むことを特徴とする請求項6記載のベクトル処理方法。
【請求項8】
前記クロック停止処理ステップは、ベクトル長を保持するベクトル長レジスタの出力をデコードするベクトル長レジスタ制御処理ステップと、前記のベクトル長レジスタのデコード出力から前記要素単位での前記クロックを停止するクロックゲーティング処理ステップを含むことを特徴とする請求項6または請求項7記載のベクトル処理方法
【請求項9】
前記演算ステップは、オペランドを一時保持するオペランド保持レジスタを有し、前記読出切替ステップは、前記演算の第一オペランド側の前記要素を前記オペランド保持レジスタへの入力側へ切り替え、前記演算の第二オペランド側の前記要素を前記演算器の第二オペランド入力側へ切り替えることを特徴とする請求項7または請求項8記載のベクトル処理方法。
【請求項10】
前記ベクトル演算処理ステップは、ベクトル命令を保持する命令格納処理ステップと、ベクトル命令を解読し前記演算器への制御、および前記要素単位ベクトルレジスタへの制御を行う命令発行処理ステップと、前記読み出しクロスバの制御を行う読み出しクロスバ制御処理ステップと、前記書き込みクロスバの制御を行う書き込みクロスバ制御処理ステップと、を含むことを特徴とする請求項7乃至請求項9のいずれかに記載のベクトル処理方法。
【請求項11】
同一要素番号を有する要素が要素単位でSRAMに格納された要素単位ベクトルレジスタからの前記要素の読み出し、前記要素間の演算、および前記要素単位ベクトルレジスタへの前記演算の結果の書き込みを制御するベクトル演算処理と、前記要素単位ベクトルレジスタのクロックをマスク制御またはベクトル長制御により読み書きが行われない前記要素単位で停止するクロック停止処理と、コンピュータに実行させることを特徴とするプログラム。
【請求項12】
前記ベクトル演算処理は、読み出しクロスバにより前記要素単位ベクトルレジスタから読み出した前記要素を切り替える読出切替処理と、演算器により前記要素間の前記演算を行う演算処理と、書き込みクロスバにより前記演算器の出力を切り替える書込切替処理を含み、前記クロック停止処理は、クロックを供給するクロック供給処理と、前記要素単位ベクトルレジスタ内のどの前記要素がマスク有効かを示すマスクレジスタの出力から前記要素単位での前記クロックを停止するクロックゲーティング処理と、を含むことを特徴とする請求項11記載のプログラム。
【請求項13】
前記クロック停止処理は、ベクトル長を保持するベクトル長レジスタの出力をデコードするベクトル長レジスタ制御処理と、前記のベクトル長レジスタのデコード出力から前記要素単位での前記クロックを停止するクロックゲーティング処理を含むことを特徴とする請求項11または請求項12記載のプログラム。
【請求項14】
前記演算器は、オペランドを一時保持するオペランド保持レジスタを有し、前記読み出しクロスバは、前記演算の第一オペランド側の前記要素を前記オペランド保持レジスタへの入力側へ切り替え、前記演算の第二オペランド側の前記要素を前記演算器の第二オペランド入力側へ切り替える回路を有することを特徴とする請求項11または請求項12記載のプログラム。
【請求項15】
前記ベクトル演算処理は、ベクトル命令を保持する命令格納処理と、ベクトル命令を解読し前記演算器への制御、および前記要素単位ベクトルレジスタへの制御を行う命令発行処理と、前記読み出しクロスバの制御を行う読み出しクロスバ制御処理と、前記書き込みクロスバの制御を行う書き込みクロスバ制御処理と、を含むことを特徴とする請求項11乃至請求項14のいずれかに記載のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2011−65522(P2011−65522A)
【公開日】平成23年3月31日(2011.3.31)
【国際特許分類】
【出願番号】特願2009−216909(P2009−216909)
【出願日】平成21年9月18日(2009.9.18)
【出願人】(000168285)エヌイーシーコンピュータテクノ株式会社 (572)
【Fターム(参考)】