図面 (/)

技術 ベクトル演算処理装置

出願人 エヌイーシーコンピュータテクノ株式会社
発明者 川口忠春
出願日 1997年5月13日 (24年6ヶ月経過) 出願番号 1997-122469
公開日 1998年11月24日 (23年0ヶ月経過) 公開番号 1998-312374
状態 拒絶査定
技術分野 先行制御 複合演算
主要キーワード ベクトル加算器 シフト演算処理 ベクトル乗算器 複数要素 ベクトル演算器 系統用 演算処理速度 リードレジスタ
関連する未来課題
重要な関連分野

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

図面 (3)

課題

同一ヘ゛クトルレシスタの要素を2つ以上の同一処理を含むヘ゛クトル演算器により1マシンサイクルに2要素以上の演算を行い、複数のヘ゛クトル演算器を有効使用し、従来の2倍以上のスヒ゜ート゛でヘ゛クトル演算を行なうヘ゛クトル演算処理装置を提供する。

解決手段

1、2はヘ゛クトル演算器であり、少なくとも1種以上の演算処理が可能である。ヘ゛クトルレシ゛スタ20、ヘ゛クトルレシ゛スタ21、ヘ゛クトルレシ゛スタ22およびヘ゛クトルレシ゛スタ23は、ヘ゛クトルテ゛ータを格納するレシ゛スタであり、格納されているヘ゛クトルテ゛ータの要素テ゛ータが1マシンサイクルあたり2要素あるいは1要素で読みだされる。分配手段30は、リート゛テ゛ータレシ゛スタ31、リート゛レシ゛スタ32、リート゛テ゛ータレシ゛スタ33とリート゛レシ゛スタ34とのヘ゛クトルの要素テ゛ータをマシンサイクル毎に分配供給する。10は処理要素数制御手段であり、ヘ゛クトル演算器1およびヘ゛クトル演算器2とヘ゛クトル要素供給元であるヘ゛クトルレシ゛スタ20、ヘ゛クトルレシ゛スタ21および演算結果格納先であるヘ゛クトルレシ゛スタ24の動作を監視する。

概要

背景

従来、科学技術計算においては、ベクトルデータを取り扱う場合が非常に多いため、スーパーコンピュータなどには大量のベクトルデータに対する演算を1命令で実行するベクトル演算命令が用意されている。そして、スーパーコンピュータ等は、複数のベクトルレジスタおよび複数のベクトル演算器を設けることにより大量のデータ演算高速に処理している。

図2は、この種のベクトル演算処理装置の基本的な一例を示すブロック図である。この図において、1および2は、一種類の演算を行うベクトル演算器であり、供給されるベクトル要素のデータの演算処理を行う。20および21は、ベクトルレジスタであり、ベクトル演算器1に対し供給するベクトル要素のデータを記憶している。22および23は、ベクトルレジスタであり、ベクトル演算器2に対し供給するベクトル要素のデータを記憶している。

31は、リードレジスタであり、ベクトルレジスタ20に記憶されているベクトル要素のデータをベクトル演算器1へマシンサイクルごとに1要素づつ供給する。32は、リードレジスタであり、ベクトルレジスタ21に記憶されているベクトル要素のデータをベクトル演算器1へマシンサイクルごとに1要素づつ供給する。

33は、リードレジスタであり、ベクトル演算器2へマシンサイクルごとに1要素づつ供給されるベクトルレジスタ22に記憶されているベクトル要素のデータの1要素のデータを保持している。34は、リードレジスタであり、ベクトル演算器2へマシンサイクルごとに供給されるベクトルレジスタ23に記憶されているベクトル要素のデータの1要素のデータを保持している。

24は、ベクトルレジスタであり、ベクトル演算器1の演算結果のデータが格納される。25は、ベクトルレジスタであり、ベクトル演算器2の演算結果のデータが格納される。

40はライトレジスタであり、マシンサイクル毎にベクトルレジスタ24へ書き込まれるベクトル演算器1からの演算結果のベクトルの1要素のデータを記憶する。41はライトレジスタであり、マシンサイクル毎にベクトルレジスタ25へ書き込まれるベクトル演算器2からの演算結果のベクトルの1要素のデータを記憶する。

ベクトルレジスタ20とベクトルレジスタ21に格納されているベクトル要素のデータは、リードデータレジスタ30、31を経て1マシンサイクル毎にベクトル演算器1に1要素のデータづつ供給される。また、ベクトルレジスタ22とベクトルレジスタ23に格納されているベクトル要素のデータは、リードデータレジスタ32、33を経て1マシンサイクル毎にベクトル演算器2に2要素のデータづつ供給されるよう接続されている。

さらに、おのおののベクトル演算器1、2において、ベクトルレジスタより供給されたベクトル要素のデータは、時系列に連続して処理される。そして、おのおののベクトル演算器1、2からの演算結果の1要素のデータは、ライトレジスタ40および41を介して、それぞれベクトルレジス24、25に1マシンサイクル毎に1要素の速度で格納される。

11は制御回路であり、ベクトル演算器1とベクトル要素データ供給元であるベクトルレジスタ20、21との間、およびベクトル演算器1とベクトルレジスタ24との間のベクトルの要素のデータの転送制御を行う。また、制御回路11は、ベクトル演算器2とベクトル要素データの供給元であるベクトルレジスタ22、23との間、およびベクトル演算器1とベクトルレジスタ25との間のベクトルの要素のデータの転送制御を行う。

次に、上述したベクトル演算処理装置の動作を図2を用いて説明する。たとえば、ベクトル演算器1は、加算処理をベクトル演算器2は、論理演算処理を行うものとする。そして、ここで
Y(I)=A(I)+B(I)、(I=1、2、・・・N;Nは自然数
のベクトル演算を処理する場合、制御回路11は、本従来例における処理によりベクトルレジスタ20に格納されたベクトルデータAとベクトルレジスタ22に格納されたベクトルデータBとのおのおの1マシンサイクル毎に1要素のデータの読みだしを開始させる。

これにより、読みだされたベクトルデータAの1要素のデータは、リードレジスタ31を介しベクトル演算器1に供給される。また、読みだされたベクトルデータBの1要素のデータは、リードレジスタ32を介し、ベクトル演算器1へ供給される。そして、制御回路11は、ベクトル演算器1の使用状況チェックし、未使用であることを確認した後、ベクトル演算器1にベクトル加算処理の実行を開始させる。

次に、制御回路11は、ベクトル演算器1による演算結果の加算結果Y(I)をライトレジスタ40を介して、ベクトルレジスタ24へ格納する。そして、制御回路11は、1マシンサイクル毎にベクトルレジスタ20およびベクトルレジスタ21からそれぞれベクトルデータAとベクトルデータBとをベクトル演算器1へ供給し、加算演算処理を行わせる。

これにより、制御回路11は、1マシンサイクル毎にベクトル演算器1により行われる1要素データの演算処理の結果Y(I)をベクトルレジスタ24へ、1マシンサイクル毎に順次格納する。

また、制御回路11は、ベクトルレジスタ22に記憶されているベクトルデータとベクトルレジスタ23に記憶されているベクトルデータとのベクトル演算器2による演算結果のデータをベクトルレジスタ25へ格納する制御を前記ベクトル演算器1の処理に並行して実行できるよう制御する。

この場合、処理要素数をNとすると、処理時間は「N×1マシンサイクル」の値にオーバーヘッドを加えたものとなる。上述したベクトル演算処理装置において、おのおののベクトル演算器1およびベクトル演算器2は、1マシンサイクル毎に1要素のデータの演算処理を行う動作しかできない。

そのため、さらにベクトル演算処理の性能を高めるために、同時動作可能なベクトルレジスタとベクトル演算器を増やしていたので、従来例においては、八一ドウェア量が増大するという欠点があった。また、上記のような式をベクトル演算器1を用いて処理する際には、ベクトル演算器2は使用されない状態であり、従来例においては、実装されているベクトル演算器1および2が有効に活用されないという欠点があった。

そこで、特開昭61−151781では、本従来例に、同一要素を同時に異種演算器で処理可能とするために、ベクトルレジスタからの読みだしパスを2系統用意している。そして、たとえばパスの1系統は、ベクトル加算器に、他の1系統はベクトル乗算器にベクトル要素を供給させるよう構成している。これにより、1つのベクトルレジスタからの読みだし操作は、1マシンサイクルに2要素を実現させている。

しかし、ベクトルレジスタからは並列に2系統の読みだし動作を行なうことができるが、おのおのの読みだされたデータは、別々のベクトル演算器にしか供給できないので、各ベクトル演算器へのデータ供給は、1マシンサイクルに1要素となる。したがって、ベクトル演算器の処理サイクルは、本従来例と同様に1マシンサイクルに1要素となる。

概要

同一ヘ゛クトルレシスタの要素を2つ以上の同一処理を含むヘ゛クトル演算器により1マシンサイクルに2要素以上の演算を行い、複数のヘ゛クトル演算器を有効使用し、従来の2倍以上のスヒ゜ート゛でヘ゛クトル演算を行なうヘ゛クトル演算処理装置を提供する。

1、2はヘ゛クトル演算器であり、少なくとも1種以上の演算処理が可能である。ヘ゛クトルレシ゛スタ20、ヘ゛クトルレシ゛スタ21、ヘ゛クトルレシ゛スタ22およびヘ゛クトルレシ゛スタ23は、ヘ゛クトルテ゛ータを格納するレシ゛スタであり、格納されているヘ゛クトルテ゛ータの要素テ゛ータが1マシンサイクルあたり2要素あるいは1要素で読みだされる。分配手段30は、リート゛テ゛ータレシ゛スタ31、リート゛レシ゛スタ32、リート゛テ゛ータレシ゛スタ33とリート゛レシ゛スタ34とのヘ゛クトルの要素テ゛ータをマシンサイクル毎に分配供給する。10は処理要素数制御手段であり、ヘ゛クトル演算器1およびヘ゛クトル演算器2とヘ゛クトル要素供給元であるヘ゛クトルレシ゛スタ20、ヘ゛クトルレシ゛スタ21および演算結果格納先であるヘ゛クトルレシ゛スタ24の動作を監視する。

目的

本発明はこのような背景の下になされたもので、複数のベクトルレジスタと複数の演算器とを用いて、1マシンサイクルに1要素で演算処理するか、あるいは同一ベクトルレジスタの要素を2つ以上の同一処理が含まれるベクトル演算器により1マシンサイクルに2要素以上で演算処理するかを選択でき、実装されている複数のベクトル演算器を有効に使用し、従来の2倍以上のスピードでベクトル演算処理を行なうベクトル演算処理装置を提供することにある。

効果

実績

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

この技術が所属する分野

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

請求項1

一連順序づけられた要素を連続して演算するベクトル演算処理装置において、少なくとも2つ以上の組み合わせで同一演算処理が可能な複数のベクトル演算器と、この復数のベクトル演算器に対して被演算ベクトルデータの供給が可能な複数の第1の記憶手段と、この複数の第1の記憶手段のいずれかから前記ベクトル演算器へ前記被演算ベクトルデータの供給を行う分配手段と、前記分配手段にマシンサイクルあたりの処理可能な前記被演算ベクトルデータ数を指示し、かつマシンサイクルあたりの処理可能な前記被演算ベクトルデータ数に応じた数のベクトル演算器に演算処理を指示する処理要素数制御手段と、前記複数のベクトル演算器による演算結果のベクトルデータを格納する複数の第2の記憶手段と、を具備することを特徴とするベクトル演算処理装置。

請求項2

前記ベクトル演算器は、複数の種類の演算機能を持ち、前記処理要素数制御手段により演算機能が選択されることを特徴とする請求項1記載のベクトル演算処理装置。

請求項3

前記処理要素数制御手段は、複数の前記ベクトル演算器の使用状況に応じて、実行するベクトル演算の演算処理速度可変とすることを特徴とする請求項1または請求項2記載のベクトル演算処理装置。

技術分野

0001

本発明は、ベクトル演算におけるベクトルレジスタベクトル演算器とを制御するベクトル演算処理装置に関するものである。

背景技術

0002

従来、科学技術計算においては、ベクトルデータを取り扱う場合が非常に多いため、スーパーコンピュータなどには大量のベクトルデータに対する演算を1命令で実行するベクトル演算命令が用意されている。そして、スーパーコンピュータ等は、複数のベクトルレジスタおよび複数のベクトル演算器を設けることにより大量のデータ演算高速に処理している。

0003

図2は、この種のベクトル演算処理装置の基本的な一例を示すブロック図である。この図において、1および2は、一種類の演算を行うベクトル演算器であり、供給されるベクトル要素のデータの演算処理を行う。20および21は、ベクトルレジスタであり、ベクトル演算器1に対し供給するベクトル要素のデータを記憶している。22および23は、ベクトルレジスタであり、ベクトル演算器2に対し供給するベクトル要素のデータを記憶している。

0004

31は、リードレジスタであり、ベクトルレジスタ20に記憶されているベクトル要素のデータをベクトル演算器1へマシンサイクルごとに1要素づつ供給する。32は、リードレジスタであり、ベクトルレジスタ21に記憶されているベクトル要素のデータをベクトル演算器1へマシンサイクルごとに1要素づつ供給する。

0005

33は、リードレジスタであり、ベクトル演算器2へマシンサイクルごとに1要素づつ供給されるベクトルレジスタ22に記憶されているベクトル要素のデータの1要素のデータを保持している。34は、リードレジスタであり、ベクトル演算器2へマシンサイクルごとに供給されるベクトルレジスタ23に記憶されているベクトル要素のデータの1要素のデータを保持している。

0006

24は、ベクトルレジスタであり、ベクトル演算器1の演算結果のデータが格納される。25は、ベクトルレジスタであり、ベクトル演算器2の演算結果のデータが格納される。

0007

40はライトレジスタであり、マシンサイクル毎にベクトルレジスタ24へ書き込まれるベクトル演算器1からの演算結果のベクトルの1要素のデータを記憶する。41はライトレジスタであり、マシンサイクル毎にベクトルレジスタ25へ書き込まれるベクトル演算器2からの演算結果のベクトルの1要素のデータを記憶する。

0008

ベクトルレジスタ20とベクトルレジスタ21に格納されているベクトル要素のデータは、リードデータレジスタ30、31を経て1マシンサイクル毎にベクトル演算器1に1要素のデータづつ供給される。また、ベクトルレジスタ22とベクトルレジスタ23に格納されているベクトル要素のデータは、リードデータレジスタ32、33を経て1マシンサイクル毎にベクトル演算器2に2要素のデータづつ供給されるよう接続されている。

0009

さらに、おのおののベクトル演算器1、2において、ベクトルレジスタより供給されたベクトル要素のデータは、時系列に連続して処理される。そして、おのおののベクトル演算器1、2からの演算結果の1要素のデータは、ライトレジスタ40および41を介して、それぞれベクトルレジス24、25に1マシンサイクル毎に1要素の速度で格納される。

0010

11は制御回路であり、ベクトル演算器1とベクトル要素データ供給元であるベクトルレジスタ20、21との間、およびベクトル演算器1とベクトルレジスタ24との間のベクトルの要素のデータの転送制御を行う。また、制御回路11は、ベクトル演算器2とベクトル要素データの供給元であるベクトルレジスタ22、23との間、およびベクトル演算器1とベクトルレジスタ25との間のベクトルの要素のデータの転送制御を行う。

0011

次に、上述したベクトル演算処理装置の動作を図2を用いて説明する。たとえば、ベクトル演算器1は、加算処理をベクトル演算器2は、論理演算処理を行うものとする。そして、ここで
Y(I)=A(I)+B(I)、(I=1、2、・・・N;Nは自然数
のベクトル演算を処理する場合、制御回路11は、本従来例における処理によりベクトルレジスタ20に格納されたベクトルデータAとベクトルレジスタ22に格納されたベクトルデータBとのおのおの1マシンサイクル毎に1要素のデータの読みだしを開始させる。

0012

これにより、読みだされたベクトルデータAの1要素のデータは、リードレジスタ31を介しベクトル演算器1に供給される。また、読みだされたベクトルデータBの1要素のデータは、リードレジスタ32を介し、ベクトル演算器1へ供給される。そして、制御回路11は、ベクトル演算器1の使用状況チェックし、未使用であることを確認した後、ベクトル演算器1にベクトル加算処理の実行を開始させる。

0013

次に、制御回路11は、ベクトル演算器1による演算結果の加算結果Y(I)をライトレジスタ40を介して、ベクトルレジスタ24へ格納する。そして、制御回路11は、1マシンサイクル毎にベクトルレジスタ20およびベクトルレジスタ21からそれぞれベクトルデータAとベクトルデータBとをベクトル演算器1へ供給し、加算演算処理を行わせる。

0014

これにより、制御回路11は、1マシンサイクル毎にベクトル演算器1により行われる1要素データの演算処理の結果Y(I)をベクトルレジスタ24へ、1マシンサイクル毎に順次格納する。

0015

また、制御回路11は、ベクトルレジスタ22に記憶されているベクトルデータとベクトルレジスタ23に記憶されているベクトルデータとのベクトル演算器2による演算結果のデータをベクトルレジスタ25へ格納する制御を前記ベクトル演算器1の処理に並行して実行できるよう制御する。

0016

この場合、処理要素数をNとすると、処理時間は「N×1マシンサイクル」の値にオーバーヘッドを加えたものとなる。上述したベクトル演算処理装置において、おのおののベクトル演算器1およびベクトル演算器2は、1マシンサイクル毎に1要素のデータの演算処理を行う動作しかできない。

0017

そのため、さらにベクトル演算処理の性能を高めるために、同時動作可能なベクトルレジスタとベクトル演算器を増やしていたので、従来例においては、八一ドウェア量が増大するという欠点があった。また、上記のような式をベクトル演算器1を用いて処理する際には、ベクトル演算器2は使用されない状態であり、従来例においては、実装されているベクトル演算器1および2が有効に活用されないという欠点があった。

0018

そこで、特開昭61−151781では、本従来例に、同一要素を同時に異種演算器で処理可能とするために、ベクトルレジスタからの読みだしパスを2系統用意している。そして、たとえばパスの1系統は、ベクトル加算器に、他の1系統はベクトル乗算器にベクトル要素を供給させるよう構成している。これにより、1つのベクトルレジスタからの読みだし操作は、1マシンサイクルに2要素を実現させている。

0019

しかし、ベクトルレジスタからは並列に2系統の読みだし動作を行なうことができるが、おのおのの読みだされたデータは、別々のベクトル演算器にしか供給できないので、各ベクトル演算器へのデータ供給は、1マシンサイクルに1要素となる。したがって、ベクトル演算器の処理サイクルは、本従来例と同様に1マシンサイクルに1要素となる。

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

0020

上述したように、従来のベクトル演算処理装置では、おのおののベクトル演算器は、1マシンサイクルに1要素で動作しており、さらにベクトル性能を高めるためには、同時動作可能なベクトルレジスタとベクトル演算器を追加することにより、1マシンサイクル当たりの処理要素数を増やしていたため、ハードウェア量が膨大に増大してしまう欠点があった。また、ベクトル演算の処理内容によっては、使用されないベクトル演算器もあり、従来のベクトル演算処理装置には、構成されたベクトル演算器が有効に活用できない問題があった。

0021

本発明はこのような背景の下になされたもので、複数のベクトルレジスタと複数の演算器とを用いて、1マシンサイクルに1要素で演算処理するか、あるいは同一ベクトルレジスタの要素を2つ以上の同一処理が含まれるベクトル演算器により1マシンサイクルに2要素以上で演算処理するかを選択でき、実装されている複数のベクトル演算器を有効に使用し、従来の2倍以上のスピードでベクトル演算処理を行なうベクトル演算処理装置を提供することにある。

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

0022

請求項1記載の発明は、一連順序づけられた要素を連続して演算するベクトル演算処理装置において、少なくとも2つ以上の組み合わせで同一演算処理が可能な複数のベクトル演算器と、この復数のベクトル演算器に対して被演算ベクトルデータの供給が可能な複数の第1の記憶手段と、この複数の第1の記憶手段のいずれかから前記ベクトル演算器へ前記被演算ベクトルデータの供給を行う分配手段と、前記分配手段にマシンサイクルあたりの処理可能な前記被演算ベクトルデータ数を指示し、かつマシンサイクルあたりの処理可能な前記被演算ベクトルデータ数に応じた数のベクトル演算器に演算処理を指示する処理要素数制御手段と、前記複数のベクトル演算器による演算結果のベクトルデータを格納する複数の第2の記憶手段とを具備することを特徴とする。

0023

請求項2記載の発明は、請求項1記載のベクトル演算処理装置において、前記ベクトル演算器は、複数の種類の演算機能を持ち、前記処理要素数制御手段により演算機能が選択されることを特徴とする。

0024

請求項3記載の発明は、請求項1または請求項2記載のベクトル演算処理装置において、前記処理要素数制御手段は、複数の前記ベクトル演算器の使用状況に応じて、実行するベクトル演算の演算処理速度可変とすることを特徴とする。

発明を実施するための最良の形態

0025

以下、図面を参照して本発明の実施形態について説明する。図1は本発明の一実施形態によるベクトル演算処理装置の構成を示すブロック図である。この図において、1、2はベクトル演算器であり、少なくとも1種以上の演算処理が可能である。

0026

たとえば、ベクトル演算器1は、制御信号103により演算処理が制御され、ベクトルデータの加算演算処理またはシフト演算処理処理を行う。またベクトル演算器1は、分配手段30により供給が制御されたベクトルレジスタ20とベクトルレジスタ21とのベクトルデータ、またはベクトルレジスタ22とベクトルレジスタ23とのベクトルデータの演算処理を1マシンサイクル毎に時系列に行い、演算結果をベクトルレジスタ24へライトレジスタ40を介して1マシンサイクル当たり1要素データの速度で時系列に格納する。

0027

また、ベクトル演算器2は、制御信号103により演算処理が制御され、ベクトルデータの加算演算処理または論理演算処理を行う。またベクトル演算器2は、分配手段30により供給が制御されたベクトルレジスタ20とベクトルレジスタ21とのベクトルデータ、またはベクトルレジスタ22とベクトルレジスタ23とのベクトルデータの演算処理を1マシンサイクル毎に時系列に行い、演算結果をベクトルレジスタ25へライトレジスタ41を介して1マシンサイクル当たり1要素データの速度で時系列に格納する。

0028

ベクトルレジスタ20、ベクトルレジスタ21、ベクトルレジスタ22およびベクトルレジスタ23は、ベクトルデータを格納するレジスタであり、格納されているベクトルデータの要素データが1マシンサイクルあたり2要素あるいは1要素で読みだされる。

0029

分配手段30は、リードデータレジスタ31とリードレジスタ32とに格納されているベクトルの要素データ、またはリードデータレジスタ33とリードレジスタ34とに格納されているベクトルの要素データをマシンサイクル毎にベクトル演算器1かベクトル演算器2のどちらか一方に1要素データずつ供給するか、あるいはベクトル演算器1とベクトル演算器2の両方に各々1要素データずつ供給するようにベクトルの要素データを分配する。

0030

31は分配手段30を構成するリードレジスタであり、ベクトルレジスタ20から読みだされた要素データを同時に2要素保持することが出来る。32は分配手段30を構成するリードレジスタであり、ベクトルレジスタ21から読みだされた要素データを同時に2要素保持することが出来る。

0031

33は分配手段30を構成するリードレジスタであり、ベクトルレジスタ22から読みだされた要素データを同時に2要素保持することが出来る。34は分配手段30を構成するリードレジスタであり、ベクトルレジスタ23から読みだされた要素データを同時に2要素保持することが出来る。

0032

10は処理要素数制御手段であり、ベクトル演算器1およびベクトル演算器2とベクトル要素供給元であるベクトルレジスタ20、ベクトルレジスタ21および演算結果格納先であるベクトルレジスタ24の動作を監視する。

0033

また、同様に処理要素数制御手段10は、ベクトル演算器2およびベクトル演算器1とベクトル要素供給元であるベクトルレジスタ22、ベクトルレジスタ23および演算結果格納先であるベクトルレジスタ25の動作を監視する。

0034

さらに、処理要素数制御手段10は、上述の監視結果によりベクトル演算器1で行う加算演算処理またはシフト演算処理と、ベクトル演算器1で行う論理演算処理または加算演算処理のなかで、同種の演算処理が2つある加算処理を行う場合を検知する。

0035

また、処理要素数制御手段10は、上述の検知によりベクトル演算器1およびベクトル演算器2の両方が未使用の場合のみ、ベクトルデータの要素データをベクトルレジスタ20、ベクトルレジスタ21またはベクトルレジスタ22、ベクトルレジスタ23から1マシンサイクル当たり2要素データの読みだし速度で読みだし、ベクトル演算器1およびベクトル演算器2へ供給させる様に分配手段30を制御する。

0036

また、処理要素数制御手段10は、ベクトル演算器1およびベクトル演算器2を制御し、おのおのの演算結果をベクトルレジスタ24またはベクトルレジスタ25へ格納させるようにする。

0037

さらに、処理要素数制御手段10は、同種の演算処理が2つある加算処理を行う場合で、かつ、ベクトル演算器1およびベクトル演算器2が互いに未使用の場合のみ以外は1マシンサイクル当たり1要素データでの通常処理を行うように、ベクトルレジスタ20、ベクトルレジスタ21とベクトルレジスタ22、ベクトルレジスタ23とについて1マシンサクル当たり1要素の読みだし速度の選択と開始とを制御し、演算させた後、演算結果をベクトルレジスタ24またはベクトルレジスタ25へ格納させる。

0038

次に、図1を参照し、一実施形態の動作例を説明する。例えば、たとえば、
Y(X)=A(X)+B(X)、(X=1、2、・・・、N;Nは自然数)
を処理する場合に、処理要素数制御手段10は、加算処理を行なうことのできるベクトル演算器1およびベクトル演算器2の使用状況をチェックする。

0039

そして、処理要素数制御手段10は、両演算器とも未使用であることを確認すると信号101によりベクトルレジスタ20に格納されたベクトルデータAとベクトルレジスタ21に格納されたベクトルデータBとをおのおの1マシンサイクル当たり2要素データの速度で読みだしを開始する。

0040

その結果、ベクトルレジスタ20から読みだされたベクトルデータAの要素データは、1マシンサイクル当たり2要素データの速度で分配手段30へ供給される。そして、分配手段30は、リードデータレジスタ31においてベクトル要素(A(1)、A(2)、A(3)、A(4)、A(5)、A(6)、……)を連続して1マシンサイクル当たり2要素データの速度により格納する。

0041

そして、分配手段30は、処理要素数制御手段10からの制御信号102によりベクトル演算器1とベクトル演算器2との両方におのおの1マシンサイクル当たり1要素データの割合で分配する。すなわち、ベクトル演算器1には、処理要素数制御手段10からの制御信号102によりリードデータレジスタ31からA(1)、A(3)、A(5)、…(以下A1とする)がマシンサイクル毎に供給される。

0042

そして、ベクトル演算器2には、処理要素数制御手段10からの制御信号102によりリードデータレジスタ31からA(2)、A(4)、A(6)、…(以下A2とする)がマシンサイクル毎に供給される。

0043

また、同様に並行して、ベクトルレジスタ21から読みだされたベクトルデータBの要素データは、1マシンサイクル当たり2要素データの速度で分配手段30へ供給される。分配手段30は、リードデータレジスタ32においてベクトル要素(B(1)、B(2)、B(3)、B(4)、B(5)、B(6)、……)を連続して1マシンサイクル当たり2要素データの速度により格納する。

0044

そして、分配手段30は、処理要素数制御手段10からの指示である制御信号102によりベクトル演算器1とベクトル演算器2との両方におのおの1マシンサイクル当たり1要素データの割合で分配する。すなわち、ベクトル演算器1には、処理要素数制御手段10からの制御信号102によりB(1)、B(3)、B(5)、…(以下B1とする)がマシンサイクル毎に供給される。

0045

そして、ベクトル演算器2には、処理要素数制御手段10からの制御信号102によりB(2)、B(4)、B(6)…(以下B2とする)がマシンサイクル毎に供給される。

0046

この結果、ベクトル演算器1は、処理要素数制御手段10からの制御信号103によりリードデータレジスタ31とリードレジスタ32とから供給されたベクトルの要素データA1およびベクトルの要素データB1を1マシンサイクル当たり1要素の割合で加算処理する。

0047

そして、ベクトル演算器1は、加算結果Y1(すなわちY(1)、Y(3)、Y(5)、…)をライトレジスタ40を介して1マシンサイクル当たり1要素データの割合でベクトルレジスタ24へ格納する。

0048

また、同時に、ベクトル演算器2は、ベクトル演算器1と並行して、処理要素数制御手段10からの制御信号103により、リードデータレジスタ31とリードレジスタ32とから供給されたベクトルの要素データA2およびベクトルの要素データB2を1マシンサイクル当たり1要素の割合で加算処理する。

0049

そして、ベクトル加算器2は、加算結果Y2(すなわちY(2)、Y(4)、Y(6)…)をライトレジスタ41を介して1マシンサイクル当たり1要素データ割合でベクトルレジスタ25へ格納する。

0050

この時、処理されるベクトルの要素データ数をNとすると、演算処理時間は(N/2)×マシンサイクルにオーバーヘッド時間を加えたものとなる。この結果、演算処理時間は、従来例におけるベクトル演算処理装置の約1/2となる。

0051

次に、処理要素数制御手段10が加算処理を行なうことのできるベクトル演算器1およびベクトル演算器2の使用状況をチェックした際に、片方の演算器が使用中の場合、たとえば、処理要素数制御手段10は、ベクトル演算器2が論理演算を処理中であることを認識する。

0052

これにより、処理要素数制御手段10は、制御信号101によりベクトルレジスタ20に格納されたベクトルデータAとベクトルレジスタ21に格納されたベクトルデータBとをおのおの1マシンサイクル当たり1要素データの速度で読みだしを開始する。この読みだされたベクトルデータAとベクトルデータBとは、1マシンサイクル当たり1要素データ速度で分配手段30に供給される。

0053

そして、分配手段30においては、リードデータレジスタ31がベクトルの要素データA(すなわちA(1)、A(2)、A(3)、A(4)、A(5)、A(6)、…)を1マシンサイクル当たり1要素データの速度で格納する。また、リードデータレジスタ31は、処理要素数制御手段10の制御信号101によりベクトルの要素データを1マシンサイクル当たり1要素データの速度でベクトル演算器1のみに供給する。

0054

同様に、並行して分配手段30においては、リードデータレジスタ32がベクトルの要素データB(すなわちB(1)、B(2)、B(3)、B(4)、B(5)、B(6)、…)を1マシンサイクル当たり1要素データの速度で格納する。また、リードデータレジスタ32は、処理要素数制御手段10の制御信号101によりベクトルの要素データを1マシンサイクル当たり1要素データの速度でベクトル演算器1のみに供給する。

0055

ベクトル演算器1はリードデータレジスタ31とベクトルレジスタ32とから供給されるベクトルの要素データAおよびベクトルの要素データBを1マシンサイクル当たり1要素データで加算処理する。そして、ベクトル演算器1は加算結果Y(すなわちY(1)、Y(2)、Y(3)、Y(4)、Y(5)、Y(6)…)をライトレジスタ40を介して1マシンサイクル当たり1要素データの速度でベクトルレジスタ24へ格納する。この時、処理要素数をNとすると、処理時間はL×マシンサイクルにオーバーへッドを加えたものになる。

0056

なお、上述の説明において、ベクトル演算処理装置は、1ベクトルレジスタの同時読みだし要素データの数と同種の演算処理を行うベクトル演算器の個数を2つで構成していたが、3つ以上で構成しても構わない。ここで、処理要素データ数をNとし、ベクトル演算器の個数をM(自然数)とすると、処理時間は、(N/M)xマシンサイクルにオーバーヘッドを加えたものになり、さらにベクトル演算処理の性能を向上させることができる。

0057

以上説明したように、本発明のベクトル演算処理装置では、複数個のベクトルレジスタとベクトル演算器とを用いて1マシンサイクル当たり1要素データの演算処理を行うか、または同一ベクトルレジスタの要素を同一処理を含む複数のベクトル演算器を用いて1マシンサイクル当たり複数要素データの演算処理を行うかを制御する処理要素数制御手段を設けることにより、少量のハードウェア量の追加によって、演算器を有効に使いベクトル演算性能を従来例のベクトル演算処理装置の2倍以上に向上させることが可能となる。

0058

すなわち、実施形態におけるベクトル演算処理装置は、通常ベクトル処理速度の複数個のベクトルレジスタと複数のベクトル演算器を用い、1マシンサイクル当たり1要素データの演算処理から、重複する同種演算を行うベクトル演算器の個数倍まで処理速度を可変にしてベクトル処理を行い、内蔵するベクトル演算器を有効活用している。

発明の効果

0059

請求項1記載の発明は、一連の順序づけられた要素を連続して演算するベクトル演算処理装置において、少なくとも2つ以上の組み合わせで同一演算処理が可能な複数のベクトル演算器と、この復数のベクトル演算器に対して被演算ベクトルデータの供給が可能な複数の第1の記憶手段と、この複数の第1の記憶手段のいずれかから前記ベクトル演算器へ前記被演算ベクトルデータの供給を行う分配手段と、前記分配手段にマシンサイクルあたりの処理可能な前記被演算ベクトルデータ数を指示し、かつマシンサイクルあたりの処理可能な前記被演算ベクトルデータ数に応じた数のベクトル演算器に演算処理を指示する処理要素数制御手段と、前記複数のベクトル演算器による演算結果のベクトルデータを格納する複数の第2の記憶手段とを具備するため、内蔵するベクトル演算器を有効に活用でき、通常ベクトル処理速度の複数個のベクトルレジスタと複数のベクトル演算器を用い、1マシンサイクル当たり1要素データの演算処理から1マシンサイクル当たり重複する同種演算を行うベクトル演算器の個数倍まで処理速度を可変にしてベクトル処理を行い、かつ複数個のベクトルレジスタとベクトル演算器とを用いて1マシンサイクル当たり1要素データの演算処理を行うか、または同一ベクトルレジスタの要素を同一処理を含む複数のベクトル演算器を用いて1マシンサイクル当たり複数要素データの演算処理を行うかを処理要素数制御手段により制御することができ、少量のハードウェア量の追加によって、演算器を有効に使いベクトル演算性能を従来例のベクトル演算処理装置の2倍以上に向上させることが可能となる効果がある。

0060

請求項2記載の発明は、請求項1記載のベクトル演算処理装置において、前記ベクトル演算器は、複数の種類の演算機能を持ち、前記処理要素数制御手段により演算機能が選択されるため、内蔵するベクトル演算器を有効に活用でき、通常ベクトル処理速度の複数個のベクトルレジスタと複数のベクトル演算器を用い、1マシンサイクル当たり1要素データの演算処理から1マシンサイクル当たり重複する同種演算を行うベクトル演算器の個数倍まで処理速度を可変にしてベクトル処理を行える効果がある。

0061

請求項3記載の発明は、請求項1または請求項2記載のベクトル演算処理装置において、前記処理要素数制御手段は、複数の前記ベクトル演算器の使用状況に応じて、実行するベクトル演算の演算処理速度を可変とするため、複数個のベクトルレジスタとベクトル演算器とを用いて1マシンサイクル当たり1要素データの演算処理を行うか、または同一ベクトルレジスタの要素を同一処理を含む複数のベクトル演算器を用いて1マシンサイクル当たり複数要素データの演算処理を行うかを処理要素数制御手段により制御することができる効果がある。

0062

図面の簡単な説明

0063

図1本発明の一実施形態によるベクトル演算処理装置のブロック図である。
図2従来例によるベクトル演算処理装置のブロック図である。

--

0064

1、2ベクトル演算器
10処理要素数制御手段
11 制御手段
101、104信号線
20、21、22、23、24、25ベクトルレジスタ
30分配手段
31、32、33、34リードレジスタ
40、41 ライトレジスタ

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

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

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

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

  • 株式会社東芝の「 ニューラルネットワーク装置およびニューラルネットワークシステム」が 公開されました。( 2021/09/30)

    【課題】消費電力が低減されたニューラルネットワーク装置を提供する。【解決手段】実施形態のニューラルネットワーク装置1は、第1の値を表す第1ビット列X0に基づいて、前記第1の値の3倍の値を表す第2ビット... 詳細

  • インテル・コーポレーションの「 行列乗算を加速する方法、装置、製造物品」が 公開されました。( 2021/09/30)

    【課題】行列乗算を加速する方法、装置、及び製造物品を提供する。【解決手段】行列乗算システムは、計算エンジンを有する行列乗算エンジンと、ホスト/コントローラと、を含む。計算エンジンは、列及び行により定め... 詳細

  • 株式会社東芝の「 演算回路」が 公開されました。( 2021/09/30)

    【課題】和演算における最適化を実現する。【解決手段】演算回路は、第1処理回路と、第2処理回路と、加算回路と、飽和演算回路と、を備える。第1処理回路は、所定桁数ごとのブロックであって、それぞれのブロック... 詳細

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

関連性が強い 技術一覧

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

関連性が強い人物一覧

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

該当するデータがありません

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

該当するデータがありません

astavision 新着記事

サイト情報について

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

主たる情報の出典

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