JP5255885B2 - ベクトルプロセッサ制御装置 - Google Patents

ベクトルプロセッサ制御装置 Download PDF

Info

Publication number
JP5255885B2
JP5255885B2 JP2008096037A JP2008096037A JP5255885B2 JP 5255885 B2 JP5255885 B2 JP 5255885B2 JP 2008096037 A JP2008096037 A JP 2008096037A JP 2008096037 A JP2008096037 A JP 2008096037A JP 5255885 B2 JP5255885 B2 JP 5255885B2
Authority
JP
Japan
Prior art keywords
vector
data
information
register
instruction
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
JP2008096037A
Other languages
English (en)
Other versions
JP2009251724A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008096037A priority Critical patent/JP5255885B2/ja
Publication of JP2009251724A publication Critical patent/JP2009251724A/ja
Application granted granted Critical
Publication of JP5255885B2 publication Critical patent/JP5255885B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Advance Control (AREA)
  • Complex Calculations (AREA)

Description

本発明は、ベクトルプロセッサ制御装置に係り、特に複数の演算処理を並行的に行う計算機において、1つの演算命令で複数のデータを同時に演算処理する演算機構の効率的な処理に関する。
大量の演算処理を高速に実行する計算機として、複数のデータ要素からなるベクトルデータをベクトル演算器で処理するベクトルプロセッサが知られている。ベクトルプロセッサは、最低1つのベクトル演算パイプラインを備えており、ベクトル演算パイプラインの中では、ベクトルデータの各データ要素が次々とベクトル演算器に供給され、供給データが途切れない限り演算が連続的に実行される。
ベクトル演算を高速に行う方法としては、図2のように、複数のベクトル演算パイプラインを備え、1つのベクトル演算命令によりそれら複数の演算パイプラインがそれぞれ別のデータ要素を同時に演算処理することで実現される。図2の例では、例えば、演算パイプライン109,119,129〜139まで8個の演算パイプラインを持つ。これによれば、ベクトルデータが途切れずに供給されれば、演算パイプラインが1個の場合に比べて演算パイプライン数倍に近い演算性能を発揮できる。
ベクトル演算命令を実行する際には、演算処理の対象であるベクトルデータのデータ要素数すなわちベクトル長が、何らかの方法で決定される。一般にプログラム中の1個の1次元配列データ、または、配列データ中のある範囲等がベクトルデータとして処理されるが、そのデータ要素数がベクトルレジスタの保持可能なデータ要素数を超える場合には、ソフトウェアまたはハードウェアによりベクトルレジスタの保持可能なデータ要素数づつに区切って処理される。また、プログラムが処理しようとするデータ要素数が、ベクトルレジスタの保持可能なデータ要素数より小さい場合には、区切られずに処理される。
この種のベクトル処理装置として、例えば、特許文献1(特開平3−6662公報)に開示されてものが知られている。
特開平3−6662公報
1つのベクトル演算命令でP個の演算パイプライン(Pは1以上の整数)を使用して演算項数×P個のデータ要素に対するP個の演算処理を同時に行う要素並列処理方式のベクトルプロセッサにおいて、ベクトル長N(Nは1以上の整数)が演算パイプライン数Pの倍数でない場合、図3に示すように、演算パイプラインにデータが供給されず、演算が行われない時間が発生することがあり、その結果、演算処理速度が低下する。
図3は、演算パイプライン数P=8、ベクトル長N=50のベクトル演算命令を演算命令1、演算命令2のように続けて複数実行する例である。この場合、1つの演算命令において、最初から最後の1つ前までの時間は8個の演算パイプラインが同時に演算処理を行うが、各命令の最後の時間に301,302のように演算対象データ要素のない区間が発生する。そのため、演算パイプライン109,119は演算を行うが、129〜139で示される6個の演算パイプラインは演算処理を行わない。その結果、本例の場合の演算実行率は100%でなく、
50÷(切り上げ(50÷8))×8=50/56
に低下する。
本発明の目的は、複数の演算パイプラインを持つベクトルプロセッサにおいて、演算データが供給されない区間を減少させることにより演算実行率の低下を防ぎ、演算処理速度を向上させることである。
本発明は、好ましは、複数のベクトルレジスタバンクに保持されるベクトルデータを、1つのベクトル演算命令で複数の演算パイプラインを使用して並行的に演算処理するベクトルプロセッサにおいて、演算対象のベクトルデータのデータ要素数が、1つの命令で同時に動作する演算パイプライン数の整数倍でないときに発生する、一部の演算パイプラインに演算対象データがある一方で演算パイプラインの演算対象データがない区間に、次の命令のデータと演算制御情報を送り込むことを特徴とするベクトルプロセサ制御装置として構成される。
好ましい例では、前記ベクトルレジスタバンクから読み出された各データ要素が入るべき前記演算パイプラインを選択する複数のデータ要素選択部と、各ベクトルレジスタのデータ要素0が何れのベクトルレジスタバンクに入っているか示す情報を保持する要素0位置情報保持部と、ベクトル長を示す情報を保持するベクトル長保持部と、該要素0位置情報保持部に保持される該情報と、該ベクトル長保持部の情報を用いて、該データ要素選択部を制御するための制御情報を生成するデータ要素選択情報生成部と、を有する前記ベクトルプロセサ制御装置として構成される。
また、好ましくは、前記データ要素選択情報生成部は、ベクトル長を命令毎に積算加算し演算パイプライン数で割った余りと、演算に使用するベクトルレジスタの要素0位置情報から前記制御情報を求め、かつ、該制御情報を用いて何れの演算パイプラインが何れの演算命令を行うべきか判定して、各該演算パイプラインに前記演算制御情報を与える前記ベクトルプロセサ制御装置として構成される。
本発明はまた、表現形式を変えれば、複数のベクトルレジスタバンクに保持されるベクトルデータを、1つのベクトル演算命令で複数の演算パイプラインを使用して並行的に演算処理するベクトルプロセッサにおいて、該ベクトルレジスタバンクと該演算パイプラインの間にデータ要素を選択する機構を設け、データ要素が入るべき該演算パイプラインを選択することで、演算データが無いために演算の行われない該演算パイプラインに次の命令の演算対象データを入れることを特徴とするベクトルプロセサ制御装置として構成される。
本発明によれば、複数の演算パイプラインを持つベクトルプロセッサにおいて、演算データが供給されない区間を減少させることにより演算実行率の低下を防ぎ、演算処理速度を向上させることができる。
以下、図面を参照して、本発明の一実施例について説明する。
図1において、ベクトルプロセッサは、8個の演算パイプライン109,119,129〜139と、演算で使用されるベクトルデータを保持するための8個のベクトルレジスタバンク100〜130を備える。
各ベクトルレジスタバンク100〜130のレジスタを選択するために、それぞれ複数のレジスタ選択部101〜104、111〜114、121〜124、131〜134(以下101〜134と示す)が設けられる。ベクトル演算命令によってあるベクトルレジスタが選択されると、関係するレジスタ選択部101〜134は対応するレジスタを選択する。選択されたレジスタから読み出されたベクトルデータは演算パイプライン109〜139へ供給され、その演算結果は命令で指定されたベクトルレジスタに格納される。
図1は二項演算を行う構造の例である。そのために、1つのベクトルレジスタバンク例えばベクトルレジスタバンク0(100)に2個ずつのレジスタ選択部101,103があり、2個の入力オペランドを同時に演算パイプラインに供給している。一般にベクトルレジスタは、ベクトルプロセッサでない計算機のレジスタと同様に数個から数十個有り、それぞれのベクトルレジスタが数十個から数百個のデータ要素を保持することができる。図1の例では、それぞれ64個のデータ要素を保持できるベクトルレジスタが32個有る。
本発明の実施例に特徴的なことは、1つのベクトル演算命令の最後の演算実行と次のベクトル演算命令の最初の演算実行を同時に行うことを可能とするために、ベクトルレジスタバンク100〜130から読み出すベクトルレジスタを選択するレジスタ選択部101〜134を、図3の例の2倍の個数用意する。また、ベクトルレジスタバンク100,110,120,130とベクトル演算パイプライン109,119,129,139との間にデータ要素選択部105,106,115,116,125,126,135,136を設け、ベクトルレジスタバンクから読み出された各データ要素が入るべき演算パイプラインを選択できるようにする。
更に、要素0位置情報保持部150に各ベクトルレジスタのデータ要素0がどのベクトルレジスタバンクに入っているかを保持し、この情報とベクトル長保持部140に保持されているベクトル長の情報を用いて、データ要素選択情報生成部160でデータ要素選択部の制御情報161を生成し、各データ要素選択部105,106,115,116,125,126,135,136を制御する。データ要素選択情報生成部160はまた、演算結果を書き込むベクトルレジスタの要素0位置情報162を生成し、要素0位置情報保持部150に書き込む。
データ要素選択部の制御情報161は、ベクトル長を命令毎に積算加算し演算パイプライン数で割った余りと、演算に使用するベクトルレジスタの要素0位置情報から求める。また同じ情報を使用して、どの演算パイプラインがどの演算命令を行うべきか判定し、各演算パイプラインに演算の種類等適切な演算制御情報を与える。
本発明の実施例によれば、ベクトルレジスタバンク100〜130と演算パイプライン109〜139の間に、データ要素選択部105,106,115,116,125,126,135,136を設け、ベクトルレジスタバンクと演算パイプラインの関係を必要に応じてずらすことができる。これにより、図3の演算対象データ要素のない区間301,302に、図4のように次の命令の演算対象データ要素を入れることができる。
一実施形態によるベクトルプロセッサの構成を示す図。 複数の演算パイプラインを持つベクトルプロセッサの構成例を示す図。 複数の演算パイプラインを持つベクトルプロセッサの演算データの流れの一例を示す図。 一実施形態による演算データの流れの一例を示す図。
符号の説明
100、110、120、130:ベクトルレジスタバンク
101〜104、111〜114、121〜124、131〜134:レジスタ選択部
105、106、115、116、125、126、135、136:データ要素選択部
109、119、129、139:演算パイプライン 140:ベクトル長保持部 150:要素0位置情報保持部 151、152、153、154:要素0位置情報の選択器
160:データ要素選択情報生成部 161:データ要素選択情報 162:生成された要素0位置情報 301、302:演算対象データ要素のない区間。

Claims (2)

  1. 複数のベクトルレジスタバンクに保持されるベクトルデータを、1つのベクトル演算命令で複数の演算パイプラインを使用して並行的に演算処理するベクトルプロセッサにおいて、演算対象のベクトルデータのデータ要素数が、1つの命令で同時に動作する演算パイプライン数の整数倍でないときに発生する、一部の演算パイプラインに演算対象データがある一方で演算パイプラインの演算対象データがない区間に、次の命令のデータと演算制御情報を送り込むベクトルプロセッサ制御装置であって
    前記ベクトルレジスタバンクと前記演算パイプラインの間に、前記ベクトルレジスタバンクから読み出すベクトルレジスタを選択する複数のレジスタ選択部と、前記ベクトルレジスタバンクから読み出され前記複数のレジスタ選択部により選択された各データ要素が入るべき前記演算パイプラインを選択する複数のデータ要素選択部と、を設け、各ベクトルレジスタのデータ要素0が何れのベクトルレジスタバンクに入っているか示す情報を保持する要素0位置情報保持部と、ベクトル長を示す情報を保持するベクトル長保持部と、該要素0位置情報保持部に保持される該情報と、該ベクトル長保持部の情報を用いて、該データ要素選択部を制御するための制御情報を生成するデータ要素選択情報生成部と、を有することを特徴とするベクトルプロセッサ制御装置。
  2. 前記データ要素選択情報生成部は、ベクトル長を命令毎に積算加算し演算パイプライン数で割った余りと、演算に使用するベクトルレジスタの要素0位置情報から前記制御情報を求め、かつ、該制御情報を用いて何れの演算パイプラインが何れの演算命令を行うべきか判定して、各該演算パイプラインに前記演算制御情報を与えることを特徴とする請求項のベクトルプロセッサ制御装置。
JP2008096037A 2008-04-02 2008-04-02 ベクトルプロセッサ制御装置 Expired - Fee Related JP5255885B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008096037A JP5255885B2 (ja) 2008-04-02 2008-04-02 ベクトルプロセッサ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008096037A JP5255885B2 (ja) 2008-04-02 2008-04-02 ベクトルプロセッサ制御装置

Publications (2)

Publication Number Publication Date
JP2009251724A JP2009251724A (ja) 2009-10-29
JP5255885B2 true JP5255885B2 (ja) 2013-08-07

Family

ID=41312409

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008096037A Expired - Fee Related JP5255885B2 (ja) 2008-04-02 2008-04-02 ベクトルプロセッサ制御装置

Country Status (1)

Country Link
JP (1) JP5255885B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6906622B2 (ja) 2017-10-18 2021-07-21 三菱電機株式会社 演算回路および演算方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3288326B2 (ja) * 1999-01-29 2002-06-04 甲府日本電気株式会社 ベクトル処理装置
JP2001167084A (ja) * 1999-12-08 2001-06-22 Nec Kofu Ltd ベクトル演算処理装置及びベクトルデータ移送方法

Also Published As

Publication number Publication date
JP2009251724A (ja) 2009-10-29

Similar Documents

Publication Publication Date Title
US10831490B2 (en) Device and method for scheduling multiple thread groups on SIMD lanes upon divergence in a single thread group
US9355061B2 (en) Data processing apparatus and method for performing scan operations
JPH11282679A (ja) 演算処理装置
US9965275B2 (en) Element size increasing instruction
TWI764966B (zh) 用於控制矢量記憶體存取之資料處理裝置及方法
JP5255885B2 (ja) ベクトルプロセッサ制御装置
US8055883B2 (en) Pipe scheduling for pipelines based on destination register number
US11481223B2 (en) Reducing operations of sum-of-multiply-accumulate (SOMAC) instructions
JP7186212B2 (ja) データ処理装置におけるベクトル・インタリーブ
JP4771079B2 (ja) Vliw型プロセッサ
JP2020502669A (ja) ベクトル生成命令
JP7377208B2 (ja) データ処理
JP5630798B1 (ja) プロセッサーおよび方法
JP5659772B2 (ja) 演算処理装置
JP5871298B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
EP1251425A2 (en) Very long instruction word information processing device and system
KR20150105209A (ko) 데이터 처리장치 및 벡터 스캔 연산의 수행방법
JP2008242947A (ja) 半導体装置
JP2009086870A (ja) ベクトル処理装置
CN112579168B (zh) 指令执行单元、处理器以及信号处理方法
JP6381019B2 (ja) 情報処理装置及び制御方法
US20210042127A1 (en) Group Load Register of a Graph Streaming Processor
WO2013137459A1 (ja) データ供給装置及びデータ処理装置
JP5170021B2 (ja) ベクトル演算装置およびベクトル演算方法
US20100185834A1 (en) Data Storing Method and Processor Using the Same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121211

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130208

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130422

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160426

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees