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

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

Info

Publication number
JP5491113B2
JP5491113B2 JP2009216909A JP2009216909A JP5491113B2 JP 5491113 B2 JP5491113 B2 JP 5491113B2 JP 2009216909 A JP2009216909 A JP 2009216909A JP 2009216909 A JP2009216909 A JP 2009216909A JP 5491113 B2 JP5491113 B2 JP 5491113B2
Authority
JP
Japan
Prior art keywords
vector
register
unit
clock
read
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.)
Expired - Fee Related
Application number
JP2009216909A
Other languages
English (en)
Other versions
JP2011065522A (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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2009216909A priority Critical patent/JP5491113B2/ja
Publication of JP2011065522A publication Critical patent/JP2011065522A/ja
Application granted granted Critical
Publication of JP5491113B2 publication Critical patent/JP5491113B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Description

本発明はベクトル処理装置に関し、特に消費電力を低減するベクトル処理装置、ベクトル処理方法、およびプログラムに関する。
ベクトル演算処理装置での消費電力を低減する技術が、特許文献1に記載されている。特許文献1の技術は、ベクトル命令で使用されないベクトルレジスタのクロックをレジスタ単位で停止する構成である。
また、ベクトルレジスタの読み出しを高い自由度で行う技術が、特許文献2に記載されている。特許文献2の技術は、同一の要素番号を有する要素をグループ化して、各グループ毎に読み出しを行う構成である。
特開2005−234968号公報 特開2007−280297号公報
特許文献1、特許文献2の技術では、ベクトルマスク制御やベクトル長制御により、ベクトル命令で読み書きが行われない要素に対して要素毎にクロックを停止し、消費電力を低減する技術の記載がない。
本発明の目的は、上記問題点を解決するベクトル処理装置、ベクトル処理方法、およびプログラムを提供することである。
本発明のベクトル処理装置は、同一要素番号を有する要素を要素単位でSRAMに格納する要素単位ベクトルレジスタと、前記要素単位ベクトルレジスタからの前記要素の読み出し、前記要素間の演算、および前記要素単位ベクトルレジスタへの前記演算の結果の書き込みを制御するベクトル演算処理部と、前記要素単位ベクトルレジスタのクロックをベクトルマスク制御またはベクトル長制御により読み書きが行われない前記要素単位で停止するクロック停止処理部と、を備える。
本発明のベクトル処理方法は、同一要素番号を有する要素を要素単位でSRAMに格納された要素単位ベクトルレジスタからの前記要素の読み出し、前記要素間の演算、および前記要素単位ベクトルレジスタへの前記演算の結果の書き込みを制御するベクトル演算処理ステップと、前記要素単位ベクトルレジスタのクロックをマスク制御またはベクトル長制御により読み書きが行われない前記要素単位で停止するクロック停止処理ステップと、を含む。
本発明のプログラムは、同一要素番号を有する要素を要素単位でSRAMに格納された要素単位ベクトルレジスタからの前記要素の読み出し、前記要素間の演算、および前記要素単位ベクトルレジスタへの前記演算の結果の書き込みを制御するベクトル演算処理と、前記要素単位ベクトルレジスタのクロックをマスク制御またはベクトル長制御により読み書きが行われない前記要素単位で停止するクロック停止処理と、をコンピュータに実行させる。
本発明の効果は、ベクトルマスク制御やベクトル長制御により、ベクトル命令で読み書きが行われない要素に対する制御で消費電力を低減できることである。
本発明の第1の実施の形態であるベクトル処理装置(1)10の構成図である。 本発明の第2の実施の形態であるベクトル処理装置(2)20の構成図である。 要素単位ベクトルレジスタ13、および要素単位ベクトルレジスタ37の構成の1例を示す図である。 本発明の第2実施の形態であるベクトル処理装置(2)の動作(時刻0)の1例を示す図である。 本発明の第2実施の形態であるベクトル処理装置(2)の動作(時刻1)の1例を示す図である。 本発明の第2実施の形態であるベクトル処理装置(2)の動作(時刻2)の1例を示す図である。 本発明の第2実施の形態であるベクトル処理装置(2)の動作(時刻3)の1例を示す図である。 本発明の第2実施の形態であるベクトル処理装置(2)の動作(時刻4)の1例を示す図である。 本発明の第2実施の形態であるベクトル処理装置(2)の動作(時刻n)の1例を示す図である。 本発明の第2実施の形態であるベクトル処理装置(2)20の動作を示すタイミングチャートの1例を示す図である。 本発明の第3の実施の形態であるベクトル処理装置(3)40の構成図である。 ベクトルレジスタの構成の1例である。
次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。
図1は、本発明の第1の実施の形態であるベクトル処理装置(1)10の構成図である。
ベクトル処理装置(1)10は、要素単位ベクトルレジスタ13と、ベクトル演算処理部11と、クロック停止処理部12から構成されている。
図3は、要素単位ベクトルレジスタ13の構成の1例を示す図である。
要素単位ベクトルレジスタ13は、SRAM(StaticRandomAccessMemory)に各レジスタ単位で要素を番号順に格納するのではなく(図12参照)、
各ベクトルレジスタV0〜V7の各要素の中で要素番号が同一である要素を、要素単位でSRAMに格納するような構成を採用している。
図3の例では、ベクトルレジスタは、V0〜V7の8個であり、要素は要素番号#00〜#15に対応する16個と想定している。
図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)が格納されている。
同様に、SRAM#1〜SRAM#15には、同様に要素単位で同一要素番号の要素が格納されている。
尚、SRAMは記憶素子にフリップフロップ回路を用いているので、クロック入力を停止することにより、読み込み/書き込み動作が抑止され消費電力が削減可能である。
また、ベクトル演算処理部11は、要素単位ベクトルレジスタ13からの要素の読み出し、要素間の演算、および要素単位ベクトルレジスタ13への演算の結果の書き込みを制御する。
クロック停止処理部12は、要素単位で要素単位ベクトルレジスタ13のクロックを停止する。
このため、本発明の第1の実施の形態であるベクトル処理装置(1)10は、マスク制御やベクトル長制御により、ベクトル命令で読み書きが行われない要素に対して、要素単位で消費電力を低減できることである。
その理由は、ベクトルレジスタを要素単位でSRAMに格納するような構成とし、マスク制御やベクトル長制御によりベクトル命令で読み書きが行われない要素を要素単位でクロックを停止するような構成を採用したためである。
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。
図2は、本発明の第2の実施の形態であるベクトル処理装置(2)20の構成図である。
ベクトル処理装置(2)20は、要素単位ベクトルレジスタ37と、ベクトル演算処理部38と、クロック停止処理部(1)30とから構成されている。
要素単位ベクトルレジスタ37は、例えば、ベクトルレジスタV0からV7の8個で、要素0から要素nから構成されている。
ベクトル演算処理部38は、命令格納処理部21と、命令発行処理部22と、読み出しクロスバ24と、演算器36と、書き込みクロスバ29と、読み出しクロスバ制御処理部23と、書き込みクロスバ制御処理部35とから構成されている。
演算器36は、ベクトル加算、ベクトル乗算等の演算を行う演算器(A)26と、演算器(B)27と、演算器(C)28と、オペランドを一時保持するオペランド保持レジスタ25から構成されている。
演算器(A)26は、図示していないが、演算器Aパイプライン(1)と演算器Aパイプライン(2)の2段のパイプラインで構成されていると想定している。
オペランド保持レジスタ25は、演算器で2つ以上のベクトルデータのオペランドの演算を処理するときに、1つ目のオペランドを1サイクル余計に保持し2つ目のオペランドを受けるタイミングに合わせる機能をもつ。
読み出しクロスバ24は、要素単位ベクトルレジスタ37から読み出されたデータ(ベクトル要素)を各入力口から出力口へ切り替える。
読み出しクロスバ制御処理部23は、読み出しクロスバ24に対してどのタイミングでどの各入力口からどの出力口へ切り替えするかどうかを指示する。
書き込みクロスバ29は、演算器36の出力を受け取って、入力口から出力口の要素単位ベクトルレジスタ37への切り替えを制御する。
書き込みクロスバ制御処理部35は、書き込みクロスバ29に対してどのタイミングで要素単位ベクトルレジスタ37のどの要素の出力口へ切り替えすればよいかを指示する。
命令格納処理部21は、ベクトル命令の格納処理を行う。命令発行処理部22は、命令格納処理部21から受け取ったベクトル命令を解読し命令がマスク有効命令か否かを判別する。
また、命令発行処理部22は、ベクトル命令が使用するリソース(要素単位ベクトルレジスタ37、演算器36等)を判別する処理と、現在そのリソースが使用可能状態か否かを判別する処理と、要素単位ベクトルレジスタ37に対し読み出しの開始タイミングを指示する処理と、読み出しクロスバ24を制御する読み出しクロスバ制御処理部23に対して指示する処理を
行う。
さらに、命令格納処理部21は、演算器36のどの演算器が何の命令の処理をいつ開始するか指示する処理と、書き込みクロスバ29を制御する書き込みクロスバ制御処理部35に対して指示する処理を行う。
クロック停止処理部(1)30は、マスクレジスタ33と、マスクレジスタ制御処理部32と、クロック供給処理部31と、クロックゲーティング処理部34とから構成されている。
マスクレジスタ33は、全ベクトルレジスタ共通でベクトルレジスタ内のどの要素がマスク有効かを保持する。
マスクレジスタ制御処理部32は、命令発行処理部22からの指示によりどの要素がマスク有効かを示すマスクデータをマスクレジスタ33に設定する。
クロック供給処理部31は、装置全体のクロックを供給する機能をもつが、ここでは、要素単位ベクトルレジスタ37に対するクロックを供給する処理に特化して記述されている。
クロックゲーティング処理部34は、マスクレジスタ33の値に基づいて要素単位ベクトルレジスタ37に対するクロックの供給停止を行う。
尚、読み出しクロスバ制御処理部23と、書き込みクロスバ制御処理部35は、ハードウェアで実現してもよいしソフトウェアで実現してもよい。
また、要素単位ベクトルレジスタ37、ベクトル演算処理部38、およびクロック停止処理部(1)30は、それぞれ、本発明の第1実施の形態であるベクトル処理装置(1)10の要素単位ベクトルレジスタ13と、ベクトル演算処理部11と、クロック停止処理部12の1例である。
図4から図9は、本発明の第2実施の形態であるベクトル処理装置(2)20の動作(時刻0から時刻nまで)の1例を示す図である。
図10は、本発明の第2実施の形態であるベクトル処理装置(2)20の動作を示すタイミングチャートの1例を示す図である。
次に、本発明の第2の実施の形態であるベクトル処理装置(2)20の動作について、図2、図3、図4〜図9、および図10を参照して説明する。
本発明の第2の実施の形態であるベクトル処理装置(2)20の動作を説明する上で、ベクトルレジスタV0(第一オペランド)とベクトルレジスタV1(第二オペランド)のデータを読み出し演算器(A)26で演算を行い、結果をベクトルレジスタV2へ格納するベクトル演算命令時の動作について説明する。
まず、命令発行処理部22は、ベクトル命令を解読しリソースの空き状況を管理して実行可能な状態を判別し、実行可能になり次第順次命令発行を行う。
次に、命令発行処理部22は、要素単位ベクトルレジスタ37、演算器(A)26、マスクレジスタ制御処理部32、読み出しクロスバ制御処理部23、および書き込みクロスバ制御処理部35に対して動作指示を出す。
また、命令発行処理部22は、ベクトル命令を解読すると、ベクトルレジスタV0とベクトルレジスタV1からデータを読み出すことを必要であると判別し、要素単位ベクトルレジスタ37のV0とV1に対して読み出し指示を出す。
要素単位ベクトルレジスタ37は、この指示に従い、要素0から順次ベクトルレジスタ内データを読み出し読み出しクロスバ24にデータを送出する。このとき、要素0はV0とV1とも同じSRAMに格納されているため、V1はタイミングを1サイクルずらして読み出しを開始する必要がある。
次に、命令発行処理部22は、ベクトルレジスタV0とV1の読み出し開始タイミングを読み出しクロスバ制御処理部23に指示する。この指示から読み出しクロスバ制御処理部23は、読み出しクロスバ24に対し、どのタイミングのデータをどの演算器の入力口に出力するかどうかの指示を出す。
この指示に従い、読み出しクロスバ24は、ベクトルレジスタV0とベクトルレジスタV1から読み出された各要素のデータを演算器(A)26の対応する入力口へのデータの切り替えを行う。
読み出しクロスバ24は、演算の第一オペランド側の要素をオペランド保持レジスタ25への入力側へ切り替え、演算の第二オペランド側の要素を演算器の第二オペランド入力側へ切り替える。
このときの切り替え動作の詳細を図4から図9、図10を用いて説明すると、時刻0では、V0の要素0のデータV0(0)が、要素0用のポートから入力され演算器(A)26の第一オペランド側に出力され、オペランド保持レジスタ25に格納される(図4参照)。
時刻1では、V1の要素0のデータV1(0)が要素0用のポートから入力され演算器(A)26の第二オペランド側に出力されると同時に、V0の要素1のデータV0(1)が要素1用のポートから送られ演算器(A)26の第一オペランド側に出力される(図5参照)。
同様に、時刻2ではV0の要素2のデータV0(2)とV1の要素1V1(1)のデータが演算器(A)26の第一/第二オペランドへと出力される(図6参照)。時刻nではV0のデータ供給は終了しV1の要素nV1(n)のみが演算器(A)26の第二オペランド側に出力される。
さらに、命令発行処理部22は、演算器(A)26の演算結果のベクトルレジスタV2への書き込み開始タイミングを書き込みクロスバ制御処理部35に指示する。
この指示から、書き込みクロスバ制御処理部35は、書き込みクロスバ29に対し、どのタイミングで演算器(A)26から出された演算結果をベクトルレジスタV2のどの要素番号に対応するSRAMに出力するかどうかの指示を出す。
この指示に従い、書き込みクロスバ29は、演算器(A)26から出された演算結果をベクトルレジスタV2の各要素に対するSRAMのパスへの切り替えを行う。
図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参照)。
一方、命令発行処理部22は、ベクトル命令がマスク有効命令であることを判別すると、マスクレジスタ制御処理部32に対して、どの要素がマスク有効かを示すマスクデータをマスクレジスタ33に設定するように指示する。
クロックゲーティング処理部34は、クロック供給処理部31から送られたクロックと
マスクレジスタ33の出力とがANDされベクトル命令で有効でない要素が格納されているSRAMへのクロック供給が停止される。
このため、レジスタの読み出し時には固定のデータが出力され、レジスタの書き込み時には書き込み動作を一切行わないが、元々処理する必要のない要素であるので処理としては問題なく、電力削減が可能になる。
この実施例では、要素1,3,4がマスク無効であるため、要素1,3,4に対応するSRAMへのクロック供給が停止されている。
このため、本発明の第2の実施の形態であるベクトル処理装置(2)20の効果は、ベクトル命令で、読み書きが行われない有効でない要素に対して消費電力を低減できることである。
その理由は、ベクトルレジスタを要素単位でSRAMに格納するように構成し、ベクトル命令で、読み書きが行われない要素単位でクロックの停止を制御するような構成を採用したためである。
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。
図11は、本発明の第3の実施の形態であるベクトル処理装置(3)40の構成図である。
ベクトル処理装置(3)40は、本発明の第2の実施の形態であるベクトル処理装置(2)20と比べて、クロック停止処理部(2)41が異なっている。
クロック停止処理部(2)41は、ベクトル長レジスタ42と、ベクトル長制御処理部43と、クロック供給処理部31と、クロックゲーティング処理部34とから構成されている。
尚、図11に示す例では、要素開始アドレスが要素0であると想定している。
命令発行処理部22は、命令格納処理部21から受け取ったベクトル命令を解読し命令のベクトル長を判別する処理と、解読した命令が使用するリソースを判別し、現在そのリソースが使用可能状態か否かを判別する処理と、要素単位ベクトルレジスタ37に対し読み出し開始タイミングを指示する処理を行う。
次に、命令発行処理部22は、読み出しクロスバ24を制御する読み出しクロスバ制御処理部23に対する指示を行う。
さらに、命令格納処理部21は、演算器36のどの演算器が何の命令の処理をいつ開始するかの指示と、書き込みクロスバ29を制御する書き込みクロスバ制御処理部35に対する指示を行う。
一方、ベクトル長レジスタ42は、全ベクトルレジスタ共通で実行命令のベクトル長が現在いくつになっているかどうかのデータを保持する。
ベクトル長制御処理部43は、ベクトル長レジスタ42の値によりどの要素が有効でないかの判定を行う。
クロックゲーティング処理部34は、ベクトル長制御処理部43から送られた有効なベクトル長以降の無効な要素に対して要素単位でのクロックの供給停止を行う。
このため、本発明の第3の実施の形態であるベクトル処理装置(3)40の効果は、有効なベクトル長以降の読み書きが行われない無効な要素に対して消費電力を低減できることである。
その理由は、ベクトルレジスタを要素単位でSRAMに格納するように構成し、有効なベクトル長以降の読み書きが行われない無効な要素単位でクロックの停止を制御するような構成を採用したためである。
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 ベクトル長制御処理部

Claims (15)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009216909A JP5491113B2 (ja) 2009-09-18 2009-09-18 ベクトル処理装置、ベクトル処理方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009216909A JP5491113B2 (ja) 2009-09-18 2009-09-18 ベクトル処理装置、ベクトル処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2011065522A JP2011065522A (ja) 2011-03-31
JP5491113B2 true JP5491113B2 (ja) 2014-05-14

Family

ID=43951677

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009216909A Expired - Fee Related JP5491113B2 (ja) 2009-09-18 2009-09-18 ベクトル処理装置、ベクトル処理方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP5491113B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2519108A (en) 2013-10-09 2015-04-15 Advanced Risc Mach Ltd A data processing apparatus and method for controlling performance of speculative vector operations

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2216307B (en) * 1988-03-01 1992-08-26 Ardent Computer Corp Vector register file
JPH10240525A (ja) * 1997-02-25 1998-09-11 Hitachi Ltd 情報処理装置
JP4800582B2 (ja) * 2004-02-20 2011-10-26 セイコーエプソン株式会社 演算処理装置
JP2006293741A (ja) * 2005-04-12 2006-10-26 Sanyo Electric Co Ltd プロセッサ
JP2007280184A (ja) * 2006-04-10 2007-10-25 Seiko Epson Corp プロセッサ、レジスタファイル回路、集積回路装置、マイクロコンピュータ及び電子機器

Also Published As

Publication number Publication date
JP2011065522A (ja) 2011-03-31

Similar Documents

Publication Publication Date Title
CN109240746B (zh) 一种用于执行矩阵乘运算的装置和方法
JP4986431B2 (ja) プロセッサ
JP3656587B2 (ja) 並列演算プロセッサ、その演算制御方法及びプログラム
KR100983135B1 (ko) 패킷의 의존성 명령을 그룹핑하여 실행하는 프로세서 및 방법
JP4569934B2 (ja) 情報処理装置、例外制御回路及び例外制御方法
KR101077425B1 (ko) 효율적 인터럽트 리턴 어드레스 저장 메커니즘
JP5491113B2 (ja) ベクトル処理装置、ベクトル処理方法、およびプログラム
JP2009193378A (ja) ベクトル処理装置
JP4800582B2 (ja) 演算処理装置
JP2014215624A (ja) 演算処理装置
JP2014191663A (ja) 演算処理装置、情報処理装置、および演算処理装置の制御方法
JP2008299729A (ja) プロセッサ
JP5630798B1 (ja) プロセッサーおよび方法
JPH07244588A (ja) データ処理装置
KR100639146B1 (ko) 카테시안 제어기를 갖는 데이터 처리 시스템
JP2014238832A (ja) 少なくとも1つの処理パイプラインにおけるオペランド生成
EP4202664B1 (en) System, apparatus and method for throttling fusion of micro-operations in a processor
JP3767529B2 (ja) マイクロプロセッサ
US20140281368A1 (en) Cycle sliced vectors and slot execution on a shared datapath
JP4151497B2 (ja) パイプライン処理装置
JP2012150589A (ja) 演算装置
JP2011150636A (ja) マイクロプロセッサ及びその制御方法
JPWO2007004323A1 (ja) 情報処理装置
JP2008299740A (ja) 非同期マイクロプロセッサ、電子情報装置
JP2010140398A (ja) データ処理装置及びデータ処理方法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110712

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120820

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131022

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140116

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140227

R150 Certificate of patent or registration of utility model

Ref document number: 5491113

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees