JPH1074190A - 並列プロセッサ - Google Patents

並列プロセッサ

Info

Publication number
JPH1074190A
JPH1074190A JP23003196A JP23003196A JPH1074190A JP H1074190 A JPH1074190 A JP H1074190A JP 23003196 A JP23003196 A JP 23003196A JP 23003196 A JP23003196 A JP 23003196A JP H1074190 A JPH1074190 A JP H1074190A
Authority
JP
Japan
Prior art keywords
register
address
register address
file
memory
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.)
Pending
Application number
JP23003196A
Other languages
English (en)
Inventor
Junichi Yano
純一 矢野
Jiro Miyake
二郎 三宅
Genichiro Inoue
源一郎 井上
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP23003196A priority Critical patent/JPH1074190A/ja
Publication of JPH1074190A publication Critical patent/JPH1074190A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 3オペランドの命令に対して高速の処理が可
能であり、また3オペランド命令の実行後にも元データ
の位置が異なってしまうということがない並列プロセッ
サを提供する。 【解決手段】 並列プロセッサにおいて、少なくともレ
ジスタファイル103、106と演算器105から構成
されるプロセッサエレメントを複数個備え、前記プロセ
ッサエレメントの前記レジスタファイルをアクセスする
第1の読みだしアドレスと第2の読みだしアドレスと書
き込みアドレスを生成してレジスタファイルアクセスの
制御を行なうレジスタファイル制御手段109、110
を備えることにより、3つのアドレスをそれぞれ異なっ
た値とすることが出来、3オペランド命令に要する処理
時間を短縮することが出来る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、デジタル信号処理
等に用いられるデジタル信号処理装置に関する。
【0002】
【従来の技術】近年のデジタル信号処理の発展により、
デジタル信号処理装置の重要性がますます大きくなって
いる。デジタル信号処理においては、多くの信号に対し
て同じ処理を行なうため、並列プロセッサが用いられる
ことがしばしばある。従来のデジタル信号処理における
並列プロセッサとして、例えば、「SVP:SERIA
L VIDEO PROCESSOR/Proceed
ings of theIEEE 1990 CUST
OM INTEGRATED CIRCUITS CO
NFERENCE/P.17.3.1−4」に示される
ものがある。
【0003】この装置は具体的には図5に示すような構
成をしている。図5において、101は入力用シフトレ
ジスタ、102はプロセッサエレメント列である。プロ
セッサエレメント列102は、入力側メモリ103、4
つのレジスタ104、演算器105、出力側メモリ10
6よりなるプロセッサエレメント107を960個並べ
ることにより構成されている。108は出力用シフトレ
ジスタである。109は命令レジスタ、110は命令デ
コード回路である。命令レジスタ、命令デコード回路は
それぞれ1つずつであり、プロセッサエレメント列10
2の全プロセッサエレメントに同一の命令を供給する。
【0004】以上のように構成された並列プロセッサ
は、入力データは入力用シフトレジスタ101にシリア
ルに入力され、入力用シフトレジスタ101において、
シリアルパラレル変換が行なわれ、データをプロセッサ
エレメント列102に供給する。また、出力データはプ
ロセッサエレメント列102からパラレルに出力用シフ
トレジスタ108に供給され、出力用シフトレジスタ1
08においてパラレルシリアル変換が行なわれ、シリア
ルに出力される。また、命令の実行は、命令レジスタ1
09の命令を読みだし、それを命令デコード回路110
でデコードし、デコードされた命令をプロセッサエレメ
ント列102の全プロセッサエレメントに供給し、各プ
ロセッサエレメントにおいて命令に従った動作が行なわ
れる。また、命令には入力側メモリ103および出力側
メモリ106のアドレスのそれぞれ1つずつ、合計2つ
のアドレスが記述出来るようになっている。
【0005】以上のように構成された従来の並列プロセ
ッサにおける、信号処理動作は以下のように行なわれ
る。
【0006】[1]入力側メモリ103および出力側メ
モリ106から命令で指定されたアドレスの値を読み出
す [2]4つのレジスタ104に命令で指定された値を書
き込む [3]演算器105にて演算を行なう [4]入力側メモリ103もしくは出力側メモリ106
の命令で指定されたアドレスに演算結果を書き込む 次に示すような2オペランド演算<処理1>を従来の並
列プロセッサで行なう場合を考える。
【0007】<処理1> A=A+B ここで、Aは8ビットのデータであり、入力側メモリ1
03のアドレスaからアドレス(a+7)の値を表す。
また、Bは8ビットのデータであり、出力側メモリ10
6のアドレスbからアドレス(b+7)の値を表す。
【0008】<処理1>は以下のような流れで行なわれ
る。 [1]入力側メモリ103のアドレスa、出力側メモリ
106のアドレスbからメモリの内容を読み出す [2]メモリの内容をレジスタ104にそれぞれ書き込
む [3]演算器105にて加算を行なう [4]演算器105の和出力を入力側メモリ103のア
ドレスaに書き込む [5]入力側メモリ103のアドレス(a+1)、出力
側メモリ106のアドレス(b+1)からメモリの内容
を読み出す [6]演算器105のキャリー出力、メモリの内容をレ
ジスタ104にそれぞれ書き込む [7]演算器105にて加算を行なう [8]演算器105の和出力を入力側メモリ103のア
ドレス(a+1)に書き込む [9]入力側メモリ103のアドレス(a+2)から
(a+7)、出力側メモリ106のアドレス(b+2)
から(b+7)の内容の加算を行ない、結果を入力側メ
モリ103のアドレス(a+2)から(a+7)に書き
込む [10]演算器105のキャリー出力を入力側メモリ1
03のアドレス(a+8)に書き込む 次に3オペランド演算<処理2>を行なう場合を考え
る。
【0009】<処理2> C=A+B ここで、Aは8ビットのデータであり、演算前は入力側
メモリ103のアドレスaからアドレス(a+7)にあ
る。また、Bは8ビットのデータであり、出力側メモリ
103のアドレスbからアドレス(b+7)の値を表
す。Cは9ビットのデータである。
【0010】<処理2>を行なう場合、命令にアドレス
が2つしか記述出来ないため、入力側メモリ103のア
ドレスaの値と出力側メモリ106のアドレスbの値を
加算した結果を入力側メモリ103のアドレスcに書き
込むことができない。従って、処理は以下のように行な
わなくてはならない。
【0011】[1]入力側メモリ103のアドレスaの
値を読み出す [2]メモリの内容をレジスタ104に書き込む [3]レジスタ104の値を出力側メモリ106のアド
レスa’に書き込む [4]入力側メモリ103のアドレス(a+1)から
(a+7)の値を[1]から[3]と同様にして出力側
メモリ106のアドレス(a’+1)から(a’+7)
に書き込む [5]入力側メモリ103のアドレスaから(a+7)
の値と出力側メモリ106のアドレスbから(b+7)
の加算を<処理1>と同様に行ない、加算結果を入力側
メモリ103のアドレスaから(a+8)に書き込む 以上のように<処理2>は行なわれるが、<処理1>に
比べると、メモリからメモリへのデータの転送が余分に
加わるため、実行時間がより多くかかる。また、<処理
2>の例ではデータAの位置が処理前と後では異なって
しまうという欠点がある。
【0012】
【発明が解決しようとする課題】従来の並列プロセッサ
による3オペランド演算の実行は2オペランド演算に比
べて処理時間がかかってしまい、また3オペランド演算
結果、演算前のデータのメモリ内での位置が変わってし
まうという課題があった。
【0013】従って、本発明は、3オペランドの命令に
対して高速の処理が可能であり、また3オペランド命令
の実行後にも元データの位置が異なってしまうというこ
とがない並列プロセッサを提供することを目的とする。
【0014】
【課題を解決するための手段】この課題を解決するため
請求項1の本発明の並列プロセッサは、少なくともレジ
スタファイルと演算器から構成されるプロセッサエレメ
ントを複数個備え、前記プロセッサエレメントの前記レ
ジスタファイルをアクセスする第1の読みだしアドレス
と第2の読みだしアドレスと書き込みアドレスを生成し
てレジスタファイルアクセスの制御を行なうレジスタフ
ァイル制御手段を備えたものである。
【0015】これにより、第1の読みだしアドレスと第
2の読みだしアドレスと書き込みアドレスを独立に設定
することができ、3オペランド命令を従来の並列プロセ
ッサにおける3オペランド命令より短い処理時間で行な
うことが出来、また演算前のデータのメモリ内の位置も
変わらない。
【0016】また請求項3記載の並列プロセッサは、少
なくともレジスタファイルと演算器から構成されるプロ
セッサエレメントを複数備え、命令のモードフィールド
を解読し、前記レジスタファイルのレジスタアドレスの
変更を指示するレジスタアドレス変更信号を出力する命
令モード解読手段と、第1のレジスタアドレス、第2の
レジスタアドレス、前記レジスタアドレス変更信号を入
力とし、前記レジスタアドレス変更信号により第3のレ
ジスタアドレスの変更が指示されると、前記第1のレジ
スタアドレスもしくは前記第2のレジスタアドレスを変
更して第3のレジスタアドレスとして出力し、第3のレ
ジスタアドレスの変更が指示されなければ、前記第1の
レジスタアドレスまたは前記第2のレジスタアドレスを
そのまま第3のレジスタアドレスとして出力するレジス
タアドレス変更手段と、前記第1のレジスタアドレスを
用いて前記レジスタファイルのアクセスを行ない、前記
第2のレジスタアドレスを用いて前記レジスタファイル
のアクセスを行ない、前記第3のレジスタアドレスを用
いて前記レジスタファイルのアクセスを行なうレジスタ
ファイル制御手段とを備えたものである。
【0017】これにより、第1のレジスタアドレスと第
2のレジスタアドレスとレジスタアドレス変更信号によ
り、第3のレジスタアドレスが生成され、第3のレジス
タアドレスは第1のレジスタアドレス、第2のレジスタ
アドレスとは別のメモリ位置を指定することができ、3
オペランド命令を従来の並列プロセッサにおける3オペ
ランド命令より短い処理時間で行なうことが出来、また
演算前のデータのメモリ内の位置も変わらない。
【0018】また請求項7記載の並列プロセッサは、少
なくともレジスタファイルと演算器から構成されるプロ
セッサエレメントを複数備え、第1のレジスタアドレ
ス、第2のレジスタアドレス、アドレスオフセットを入
力とし、前記第1のレジスタアドレスもしくは前記第2
のレジスタアドレスに前記アドレスオフセットを加算あ
るいは減算し、第3のレジスタアドレスを出力するレジ
スタアドレス変更手段と、前記第1のレジスタアドレス
を用いて前記レジスタファイルのアクセスを行ない、前
記第2のレジスタアドレスを用いて前記レジスタファイ
ルのアクセスを行ない、前記第3のレジスタアドレスを
用いて前記レジスタファイルのアクセスを行なうレジス
タファイル制御手段とを備えたものである。
【0019】これにより、第1のレジスタアドレスと第
2のレジスタアドレスとアドレスオフセットにより、第
3のレジスタアドレスが生成され、第3のレジスタアド
レスは第1のレジスタアドレス、第2のレジスタアドレ
スとは別のメモリ位置を指定することができるため、3
オペランド命令を従来の並列プロセッサにおける3オペ
ランド命令より短い処理時間で行なうことが出来、また
演算前のデータのメモリ内の位置も変わらない。
【0020】また請求項9記載の並列プロセッサは、少
なくとも第1のレジスタファイルと第2のレジスタファ
イルと第3のレジスタファイルと演算器から構成される
プロセッサエレメントを複数個備え、第1のレジスタア
ドレス、第2のレジスタアドレス、第3のレジスタアド
レスを入力とし、前記第1のレジスタアドレスを用い
て、前記第1のレジスタファイルのアクセスを行ない、
前記第2のレジスタアドレスを用いて、前記第2のレジ
スタファイルのアクセスを行ない、前記第3のレジスタ
アドレスを用いて前記第3のレジスタファイルのアクセ
スを行なうレジスタファイル制御手段を備えたものであ
る。
【0021】これにより、第3のレジスタアドレスは第
1のレジスタアドレス、第2のレジスタアドレスとは別
のメモリ位置を指定することができるため、3オペラン
ド命令を従来の並列プロセッサにおける3オペランド命
令より短い処理時間で行なうことが出来、また演算前の
データのメモリ内の位置も変わらない。
【0022】
【発明の実施の形態】以下、本発明の実施の形態につい
て、図1から図4を用いて説明する。
【0023】(第1の実施の形態)図1は本発明の第1
の実施の形態における並列プロセッサのブロック図を示
している。図1において、101は入力用シフトレジス
タ、102はプロセッサエレメント列である。プロセッ
サエレメント列102は、入力側メモリ103、4つの
レジスタ104、演算器105、出力側メモリ106よ
りなるプロセッサエレメント107を複数個並べること
により構成されている。入力側メモリ103と出力側メ
モリ106を合わせてレジスタファイルとして作用す
る。108は出力用シフトレジスタである。109は命
令レジスタ、110は命令デコード回路である。命令レ
ジスタ109と命令デコード回路110を合わせてレジ
スタファイル制御手段として作用する。命令レジスタ、
命令デコード回路はそれぞれ1つずつであり、プロセッ
サエレメント列102の全プロセッサに同一の命令を供
給する。また、命令には3つのアドレスが記述出来るよ
うになっている。
【0024】以上のように構成された本発明の第1の実
施の形態における並列プロセッサにおける信号処理動作
は以下のように行なわれる。
【0025】[1]入力側メモリ103および出力側メ
モリ106から命令で指定されたアドレスの値を読み出
す [2]レジスタ104に命令で指定された値を書き込む [3]演算器105にて演算を行なう [4]命令で指定された書き込みアドレスに演算結果を
書き込む この際に命令にはアドレスの記述が入力側メモリ103
からの読みだしアドレスおよび出力側メモリ106から
の読みだしアドレスとしてそれぞれ1つずつ、そして書
き込みアドレスとしてさらに1つの合計3つのアドレス
が記述出来るようになっている。
【0026】第1の実施の形態における並列プロセッサ
において<処理2>を行なうことを考える。<処理2>
は以下のような流れで行なわれる。
【0027】[1]入力側メモリ103のアドレスa、
出力側メモリ106のアドレスbからメモリの内容を読
み出す [2]メモリの内容をレジスタ104にそれぞれ書き込
む [3]演算器105にて加算を行なう [4]演算器105の和出力を出力側メモリ106のア
ドレスcに書き込む [5]入力側メモリ103のアドレス(a+1)、出力
側メモリ106のアドレス(b+1)からメモリの内容
を読み出す [6]演算器105のキャリー出力、メモリの内容をレ
ジスタ104にそれぞれ書き込む [7]演算器105にて加算を行なう [8]演算器105の和出力を出力側メモリ106のア
ドレス(c+1)に書き込む [9]入力側メモリ103のアドレス(a+2)から
(a+7)、出力側メモリ106のアドレス(b+2)
から(b+7)の内容の加算を行ない、結果を出力側メ
モリ106のアドレス(c+2)から(c+7)に書き
込む [10]演算器105のキャリー出力を出力側メモリ1
06のアドレス(c+8)に書き込む 以上のように本発明の第1の実施の形態によれば、<処
理2>のような3オペランドの命令に対して、命令に3
つのアドレスが記述できるために、従来の並列プロセッ
サのように元データを一旦別の場所に転送する必要がな
いため、従来の並列プロセッサより高速での処理が可能
である。また、従来の並列プロセッサにおいて<処理2
>を行なった後に元データの位置が異なってしまうとい
う欠点があったが、本発明の第1の実施の形態によれ
ば、この問題もなくなる。
【0028】なお、本発明の第1の実施の形態ではレジ
スタファイルとして入力側メモリ103、出力側メモリ
106の2つがあるとしたが、レジスタファイルは1つ
のメモリであって、読みだしアドレスはそれぞれその1
つのメモリ内のアドレスを指すとしてもよい。また、レ
ジスタ104は4つであるとしたが、任意の個数であっ
てもよい。また、演算結果の書き込みは出力側メモリ1
06に行なうとしたが、入力側メモリ103に行なって
もよく、また、入力側メモリ、出力側メモリの任意の場
所に書き込みが行なえるように指定できるようになって
いてもよい。また、レジスタ104があるとしたが、レ
ジスタ104がなく、メモリから直接演算器105にデ
ータを送り、演算器105で演算を行なうとしてもよ
い。また、演算器105の演算結果を直接メモリに書き
込むとしたが、間で一旦レジスタでデータを蓄積する構
成にしてもよい。
【0029】(第2の実施の形態)図2は本発明の第2
の実施の形態における並列プロセッサのブロック図を示
している。図2において101は入力用シフトレジス
タ、102はプロセッサエレメント列である。プロセッ
サエレメント列102は、入力側メモリ103、4つの
レジスタ104、演算器105、出力側メモリ106よ
りなるプロセッサエレメント107を複数個並べること
により構成されている。入力側メモリ103と出力側メ
モリ106を合わせてレジスタファイルとして作用す
る。108は出力用シフトレジスタである。109は命
令レジスタ、210は命令デコード回路である。命令レ
ジスタ109と命令デコード回路210を合わせてレジ
スタファイル制御手段として作用する。命令レジスタ、
命令デコード回路はそれぞれ1つずつであり、プロセッ
サエレメント列102の全プロセッサに同一の命令を供
給する。また、命令レジスタには命令として、書き込み
アドレスのモード信号を記述出来るようになっている。
【0030】また、命令デコード回路210内には、書
き込みアドレスのモード信号を受けて、書き込みアドレ
ス変更信号を生成する命令モード解読手段としての書き
込みアドレス変更信号生成回路211と、書き込みアド
レス変更信号を受けて、書き込みアドレスを生成するレ
ジスタアドレス変更手段としての書き込みアドレス生成
回路212が含まれている。書き込みアドレス生成回路
212では、書き込みアドレス変更信号が0であれば、
入力側メモリ103の読みだしアドレスをそのまま書き
込みアドレスとして出力し、書き込みアドレス変更信号
が1であれば、入力側メモリ103のアドレスに対し
て、16を加算して、書き込みアドレスとして出力する
機能を持つ。
【0031】第2の実施の形態における並列プロセッサ
における信号処理動作は以下のように行なわれる。
【0032】[1]入力側メモリ103および出力側メ
モリ106から命令で指定されたアドレスの値を読み出
す [2]4つのレジスタ104に命令で指定された値を書
き込む [3]演算器105にて演算を行なう [4]命令の書き込みアドレスのモード信号から書き込
みアドレス変更信号生成回路211にて書き込みアドレ
ス変更信号を生成し、書き込みアドレス変更信号と入力
側メモリ103の読みだしアドレスから書き込みアドレ
スを生成し、生成された書き込みアドレスに演算結果を
書き込む この際に命令にはアドレスの記述が入力側メモリ103
からの読みだしアドレスおよび出力側メモリ106から
の読みだしアドレスとしてそれぞれ1つずつの計2つ記
述出来るようになっており、さらに命令の書き込みアド
レスのモード信号によって、書き込みアドレスを入力側
メモリの読みだしアドレスとは異なるアドレスとするこ
とが可能になっている。
【0033】第2の実施の形態における並列プロセッサ
において<処理2>を行なうことを考える。<処理2>
は以下のように行なわれる。
【0034】[1]書き込みアドレスのモード信号は、
書き込みアドレス変更信号が1となるような値としてお
く。書き込みアドレス生成回路は書き込みアドレス変更
信号が1であるのに従って、入力側メモリのアドレスに
対して16を加算したものを書き込みアドレスとして出
力するようになる [2]入力側メモリ103のアドレスa、出力側メモリ
106のアドレスbからメモリの内容を読み出す [3]メモリの内容をレジスタ104にそれぞれ書き込
む [4]演算器105にて加算を行なう [5]演算器105の和出力を入力側メモリ103のア
ドレス(a+16)に書き込む [6]入力側メモリ103のアドレス(a+1)、出力
側メモリ106のアドレス(b+1)からメモリの内容
を読み出す [7]演算器105のキャリー出力、メモリの内容をレ
ジスタ104にそれぞれ書き込む [8]演算器105にて加算を行なう [9]演算器105の和出力を入力側メモリ103のア
ドレス(a+17)に書き込む [10]入力側メモリ103のアドレス(a+2)から
(a+7)、出力側メモリ106のアドレス(b+2)
から(b+7)の内容の加算を行ない、結果を入力側メ
モリ103のアドレス(a+18)から(a+23)に
書き込む [11]演算器105のキャリー出力を入力側メモリ1
06のアドレス(a+24)に書き込む 以上のように本発明の第2の実施の形態によれば、<処
理2>のような3オペランドの命令に対して、命令に2
つのアドレスと書き込みアドレスのモード信号が記述出
来るため、読み出しのアドレスと書き込みのアドレスを
異なるアドレスとすることが出来るため、従来の並列プ
ロセッサのように元データを一旦別の場所に転送する必
要がないため、従来の並列プロセッサより高速での処理
が可能である。また、従来の並列プロセッサにおいて<
処理2>を行なった後に元データの位置が異なってしま
うという欠点があったが、本発明の第2の実施の形態に
よれば、この問題もなくなる。
【0035】なお、本発明の第2の実施の形態ではレジ
スタファイルとして入力側メモリ103、出力側メモリ
106の2つがあるとしたが、レジスタファイルは1つ
のメモリであって、読みだしアドレスはそれぞれその1
つのメモリ内のアドレスを指すとしてもよい。また、レ
ジスタ104は4つであるとしたが、任意の個数であっ
てもよい。また、書き込みアドレス変更信号生成回路
は、書き込みアドレスの変更を行なう場合には1、行な
わない場合には0を出力するとしたが、2つの場合の出
力が異なれば、任意の値であって構わない。また、書き
込みアドレス生成回路において、書き込みアドレス変更
時には入力側メモリ103のアドレスに16を加算する
としたが、出力側メモリ106のアドレスに加算すると
してもよく、また、入力側メモリ103のアドレスもし
くは出力側メモリ106のアドレスのどちらに加算する
かを選択出来る構成にしてもよい。また、加算する値も
16であるとしたが、その他のどのような値であっても
構わない。また、加算する値をいくつか用意しておき、
それらを選択出来る構成にしてもよい。また、入力側メ
モリ103のアドレスに対して定数を加算するとした
が、入力側メモリのアドレスの一部のビットだけを使用
し、その値に対して、定数を加算する構成であっても構
わない。また書き込みアドレスの値は加算して求めると
したが、減算などその他の任意の演算によって書き込み
アドレスを生成する構成としてもよい。また、演算結果
の書き込みは入力側メモリ103に行なうとしたが、出
力側メモリ106に行なってもよく、また、入力側メモ
リ103、出力側メモリ106の任意の場所に書き込み
が行なえるように指定できるようになっていてもよい。
また、入力側メモリ103のアドレスと出力側メモリ1
06のアドレスから書き込みアドレスを生成するように
しているが、入力側メモリ103のアドレスと書き込み
アドレスから出力側メモリ106のアドレスを生成する
構成や、出力側メモリ106と書き込みアドレスから入
力側メモリ103のアドレスを生成擦る構成や、入力側
メモリ103のアドレスと出力側メモリ106のアドレ
スと書き込みアドレスのうちの任意の2つのアドレスを
選択し、それらから残りの1つのアドレスを生成できる
ような構成や、命令に入力側メモリ103のアドレス、
出力側メモリ106のアドレス、第4のアドレスを記述
しておき、第4のアドレスから第3のアドレスを生成で
きるような構成であってもよい。また、レジスタ104
があるとしたが、レジスタ104がなく、メモリから直
接演算器105にデータを送り、演算器105で演算を
行なうとしてもよい。また、演算器105の演算結果を
直接メモリに書き込むとしたが、間で一旦レジスタでデ
ータを蓄積する構成にしてもよい。
【0036】(第3の実施の形態)図3は本発明の第3
の実施の形態における並列プロセッサのブロック図を示
している。図3において101は入力用シフトレジス
タ、102はプロセッサエレメント列である。プロセッ
サエレメント列102は、入力側メモリ103、4つの
レジスタ104、演算器105、出力側メモリ106よ
りなるプロセッサエレメント107を複数個並べること
により構成されている。入力側メモリ103と出力側メ
モリ106を合わせてレジスタファイルとして作用す
る。108は出力用シフトレジスタである。109は命
令レジスタ、310は命令デコード回路である。命令レ
ジスタ109と命令デコード回路310を合わせてレジ
スタファイル制御手段として作用する。命令レジスタ、
命令デコード回路はそれぞれ1つずつであり、プロセッ
サエレメント列102の全プロセッサに同一の命令を供
給する。また、命令レジスタには命令として、入力側メ
モリ103の読みだしアドレスと出力側メモリ106の
読みだしアドレスとオフセットアドレスを記述出来るよ
うになっている。
【0037】また、命令デコード回路310内には、入
力側メモリ103の読みだしアドレスとオフセットアド
レスを加算して、書き込みアドレスを生成するレジスタ
アドレス変更手段としての書き込みアドレス生成回路3
11が含まれている。
【0038】第3の実施の形態における並列プロセッサ
における信号処理動作は以下のように行なわれる。
【0039】[1]入力側メモリ103および出力側メ
モリ106から命令で指定されたアドレスの値を読み出
す [2]4つのレジスタ104に命令で指定された値を書
き込む [3]演算器105にて演算を行なう [4]命令の入力側メモリ103の読みだしアドレスと
オフセットアドレスを書き込みアドレス生成回路311
で加算して書き込みアドレスを生成し、生成された書き
込みアドレスに演算結果を書き込む この際に命令にはアドレスの記述が入力側メモリ103
からの読みだしアドレスおよび出力側メモリ106から
の読みだしアドレスとしてそれぞれ1つずつの計2つ記
述出来るようになっており、さらにオフセットアドレス
によって書き込みアドレスを入力側メモリの読みだしア
ドレスとは異なるアドレスとすることが可能になってい
る。
【0040】第3の実施の形態における並列プロセッサ
において<処理2>を行なうことを考える。<処理2>
は以下のように行なわれる。
【0041】[1]書き込みアドレスは書き込みアドレ
ス生成回路311により入力側メモリ103の読みだし
アドレスとオフセットアドレスを加算して生成されるよ
うになっている。ここでオフセットアドレスの値はcで
あるとする [2]入力側メモリ103のアドレスa、出力側メモリ
106のアドレスbからメモリの内容を読み出す [3]メモリの内容をレジスタ104にそれぞれ書き込
む [4]演算器105にて加算を行なう [5]演算器105の和出力を入力側メモリ103のア
ドレス(a+c)に書き込む [6]入力側メモリ103のアドレス(a+1)、出力
側メモリ106のアドレス(b+1)からメモリの内容
を読み出す [7]演算器105のキャリー出力、メモリの内容をレ
ジスタ104にそれぞれ書き込む [8]演算器105にて加算を行なう [9]演算器105の和出力を入力側メモリ103のア
ドレス(a+1+c)に書き込む [10]入力側メモリ103のアドレス(a+2)から
(a+7)、出力側メモリ106のアドレス(b+2)
から(b+7)の内容の加算を行ない、結果を入力側メ
モリ103のアドレス(a+2+c)から(a+7+
c)に書き込む [11]演算器105のキャリー出力を入力側メモリ1
03のアドレス(a+8+c)に書き込む 以上のように本発明の第3の実施の形態によれば、<処
理2>のような3オペランドの命令に対して、命令に2
つのアドレスとオフセットアドレスが記述出来るため、
読み出しのアドレスと書き込みのアドレスを異なるアド
レスとすることが出来るため、従来の並列プロセッサの
ように元データを一旦別の場所に転送する必要がないた
め、従来の並列プロセッサより高速での処理が可能であ
る。また、従来の並列プロセッサにおいて<処理2>を
行なった後に元データの位置が異なってしまうという欠
点があったが、本発明の第3の実施の形態によれば、こ
の問題もなくなる。
【0042】なお、本発明の第3の実施の形態ではレジ
スタファイルとして入力側メモリ103、出力側メモリ
106の2つがあるとしたが、レジスタファイルは1つ
のメモリであって、読みだしアドレスはそれぞれその1
つのメモリ内のアドレスを指すとしてもよい。また、レ
ジスタ104は4つであるとしたが、任意の個数であっ
てもよい。また、書き込みアドレス生成回路において、
書き込みアドレス変更時には入力側メモリ103のアド
レスにオフセットアドレスを加算するとしたが、出力側
メモリ106のアドレスに加算するとしてもよく、ま
た、入力側メモリ103のアドレスもしくは出力側メモ
リ106のアドレスのどちらかを選択してオフセットア
ドレスを加算出来る構成にしてもよい。また書き込みア
ドレスの値は加算して求めるとしたが、減算によって書
き込みアドレスを演算する構成としてもよい。また、演
算結果の書き込みは入力側メモリ103に行なうとした
が、出力側メモリ106に行なってもよく、また、入力
側メモリ103、出力側メモリ106の任意の場所に書
き込みが行なえるように指定できるようになっていても
よい。また、入力側メモリ103のアドレスと出力側メ
モリ106のアドレスから書き込みアドレスを生成する
ようにしているが、入力側メモリ103のアドレスと書
き込みアドレスから出力側メモリ106のアドレスを生
成する構成や、出力側メモリ106と書き込みアドレス
から入力側メモリ103のアドレスを生成する構成や、
入力側メモリ103のアドレスと出力側メモリ106の
アドレスと書き込みアドレスのうちの任意の2つのアド
レスを選択し、それらから残りの1つのアドレスを生成
できるような構成であってもよい。また、レジスタ10
4があるとしたが、レジスタ104がなく、メモリから
直接演算器105にデータを送り、演算器105で演算
を行なうとしてもよい。また、演算器105の演算結果
を直接メモリに書き込むとしたが、間で一旦レジスタで
データを蓄積する構成にしてもよい。
【0043】(第4の実施の形態)図4は本発明の第4
の実施の形態における並列プロセッサのブロック図を示
している。図3において101は入力用シフトレジス
タ、402はプロセッサエレメント列である。プロセッ
サエレメント列402は、第1のレジスタファイルとし
ての入力側メモリ103、4つのレジスタ104、演算
器105、第2のレジスタファイルとしての出力側メモ
リ106、第3のレジスタファイルとしての第3のメモ
リ411よりなるプロセッサエレメント407を複数個
並べることにより構成されている。108は出力用シフ
トレジスタである。109は命令レジスタ、110は命
令デコード回路である。命令レジスタ109と命令デコ
ード回路110を合わせてレジスタファイル制御手段と
して作用する。命令レジスタ、命令デコード回路はそれ
ぞれ1つずつであり、プロセッサエレメント列402の
全プロセッサに同一の命令を供給する。また、命令レジ
スタには命令に入力側メモリ103のアドレス、出力側
メモリ106のアドレス、第3のメモリ411のアドレ
スが記述出来るようになっている。
【0044】第4の実施の形態における並列プロセッサ
における信号処理動作は以下のように行なわれる。
【0045】[1]入力側メモリ103および出力側メ
モリ106から命令で指定されたアドレスの値を読み出
す [2]レジスタ104に命令で指定された値を書き込む [3]演算器105にて演算を行なう [4]第3のメモリのアドレスにより指定された第3の
メモリ411のアドレスに演算結果を書き込む この際に命令にはアドレスの記述が3つ可能になってお
り、2つの読みだしアドレスと書き込みアドレスは異な
るものとすることが可能となっている。
【0046】第4の実施の形態における並列プロセッサ
において<処理2>を行なうことを考える。<処理2>
は以下のように行なわれる。
【0047】[1]入力側メモリ103のアドレスa、
出力側メモリ106のアドレスbからメモリの内容を読
み出す [3]メモリの内容をレジスタ104にそれぞれ書き込
む [4]演算器105にて加算を行なう [5]演算器105の和出力を第3のメモリ411のア
ドレスcに書き込む [6]入力側メモリ103のアドレス(a+1)、出力
側メモリ106のアドレス(b+1)からメモリの内容
を読み出す [7]演算器105のキャリー出力、メモリの内容をレ
ジスタ104にそれぞれ書き込む [8]演算器105にて加算を行なう [9]演算器105の和出力を第3のメモリ411のア
ドレス(c+1)に書き込む [10]入力側メモリ103のアドレス(a+2)から
(a+7)、出力側メモリ106のアドレス(b+2)
から(b+7)の内容の加算を行ない、結果を第3のメ
モリ411のアドレス(c+2)から(c+7)に書き
込む [11]演算器105のキャリー出力を入力側メモリ1
03のアドレス(c+8)に書き込む 以上のように本発明の第4の実施の形態によれば、<処
理2>のような3オペランドの命令に対して、3つのメ
モリを持ち、それぞれに対してアドレスを指定すること
が出来るために、従来の並列プロセッサのように元デー
タを一旦別の場所に転送する必要がないため、従来の並
列プロセッサより高速での処理が可能である。また、従
来の並列プロセッサにおいて<処理2>を行なった後に
元データの位置が異なってしまうという欠点があった
が、本発明の第4の実施の形態によれば、この問題もな
くなる。
【0048】なお、本発明の第4の実施の形態では入力
側メモリ103のアドレス、出力側メモリ106のアド
レス、第3のメモリ411のレジスタのアドレスによっ
てそれぞれ、入力側メモリの読みだし、出力側メモリ1
06の読みだし、第3のメモリの書き込みを行なうとし
たが、3つのアドレスのうち、ある2つのアドレスによ
って読みだしを行ない、残りの1つのアドレスによって
書き込みを行なう構成であっても構わない。また、3つ
のアドレスのうち、ある任意の2つのアドレスを選択
し、それによって読みだしを行ない、残りの1つのアド
レスによって書き込みを行なえるような構成としてもよ
い。また、3つのアドレスは全て命令で指定されるとし
たが、ある1つのアドレスは残りの2つのアドレスのど
ちらかを選び、その値の一部を予め指定された値にし、
残りの部分を選んだアドレスの対応する部分に置き換え
ることによって生成する構成や、ある1つのアドレスは
第4のアドレスと予め指定された値を加算もしくは減算
することによって生成する構成や、ある1つのアドレス
は命令によって指定されるレジスタアドレス変更信号に
よって残りの2つのアドレスのどちらかの値そのままか
残りの2つのアドレスのうちどちらかから任意の演算に
よって生成される値を選択することによって生成する構
成であっても構わない。
【0049】また、本発明の第1〜第4の実施の形態に
おいて、プロセッサエレメント列の入力側には入力用シ
フトレジスタが接続され、出力側には出力用シフトレジ
スタが接続されるとしているが、任意のものが接続され
ている構成でも構わない。
【0050】
【発明の効果】以上説明したように本発明によれば、並
列プロセッサにおいて3オペランドの命令に対して高速
の処理が可能であり、また3オペランド命令の実行後に
も元データの位置が異なってしまうということがないた
め、並列プロセッサにおけるより高速な処理が可能であ
り、性能を向上することが出来る。また、それに従って
コストや消費電力に対して有利な効果が得られる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態における並列プロセ
ッサのブロック図
【図2】本発明の第2の実施の形態における並列プロセ
ッサのブロック図
【図3】本発明の第3の実施の形態における並列プロセ
ッサのブロック図
【図4】本発明の第4の実施の形態における並列プロセ
ッサのブロック図
【図5】従来の並列プロセッサのブロック図
【符号の説明】
101 入力用シフトレジスタ 102,402 プロセッサエレメント列 103 入力側メモリ 104 レジスタ 105 演算器 106 出力側メモリ 107,407 プロセッサエレメント 108 出力用シフトレジスタ 109 命令レジスタ 110,210,310 命令デコード回路 211 書き込みアドレス変更信号生成回路 212,311 書き込みアドレス生成回路 411 第3のメモリ

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 少なくともレジスタファイルと演算器か
    ら構成されるプロセッサエレメントを複数個備え、前記
    プロセッサエレメントの前記レジスタファイルをアクセ
    スする第1の読みだしアドレスと第2の読みだしアドレ
    スと書き込みアドレスを生成してレジスタファイルアク
    セスの制御を行なうレジスタファイル制御手段を備えた
    ことを特徴とする並列プロセッサ。
  2. 【請求項2】 前記レジスタファイルは第1のレジスタ
    ファイルと第2のレジスタファイルからなり、前記レジ
    スタファイル制御手段は、前記第1の読みだしアドレス
    を用いて前記第1のレジスタファイルの読み出しを制御
    し、前記第2の読みだしアドレスを用いて前記第2のレ
    ジスタファイルの読み出しを制御し、前記書き込みアド
    レスを用いて前記第1のレジスタファイルもしくは前記
    第2のレジスタファイルの書き込みを制御することを特
    徴とする請求項1記載の並列プロセッサ。
  3. 【請求項3】 少なくともレジスタファイルと演算器か
    ら構成されるプロセッサエレメントを複数備え、命令の
    モードフィールドを解読し、前記レジスタファイルのレ
    ジスタアドレスの変更を指示するレジスタアドレス変更
    信号を出力する命令モード解読手段と、第1のレジスタ
    アドレス、第2のレジスタアドレス、前記レジスタアド
    レス変更信号を入力とし、前記レジスタアドレス変更信
    号により第3のレジスタアドレスの変更が指示される
    と、前記第1のレジスタアドレスもしくは前記第2のレ
    ジスタアドレスを変更して第3のレジスタアドレスとし
    て出力し、第3のレジスタアドレスの変更が指示されな
    ければ、前記第1のレジスタアドレスまたは前記第2の
    レジスタアドレスをそのまま第3のレジスタアドレスと
    して出力するレジスタアドレス変更手段と、前記第1の
    レジスタアドレスを用いて前記レジスタファイルのアク
    セスを行ない、前記第2のレジスタアドレスを用いて前
    記レジスタファイルのアクセスを行ない、前記第3のレ
    ジスタアドレスを用いて前記レジスタファイルのアクセ
    スを行なうレジスタファイル制御手段とを備えたことを
    特徴とする並列プロセッサ。
  4. 【請求項4】 前記レジスタファイルは第1のレジスタ
    ファイルと第2のレジスタファイルから成り、前記レジ
    スタファイル制御手段は前記第1のレジスタアドレスを
    用いて前記第1のレジスタファイルのアクセスを行な
    い、前記第2のレジスタアドレスを用いて前記第2のレ
    ジスタファイルのアクセスを行ない、前記第3のレジス
    タアドレスを用いて前記第1のレジスタファイルもしく
    は前記第2のレジスタファイルのアクセスを行なうこと
    を特徴とする請求項3記載の並列プロセッサ。
  5. 【請求項5】 前記レジスタアドレス変更手段は、前記
    レジスタアドレス変更信号により第3のレジスタアドレ
    スの変更が指示されると、前記第3のレジスタアドレス
    の一部を予め指定された値にし、残りの部分を、第1の
    レジスタアドレスもしくは第2のレジスタアドレスの対
    応する部分に置き換えることにより、前記第3のレジス
    タアドレスを生成することを特徴とする請求項3または
    請求項4記載の並列プロセッサ。
  6. 【請求項6】 前記レジスタアドレス変更手段は、さら
    に第4のレジスタアドレスを入力とし、前記レジスタア
    ドレス変更信号により第3のレジスタアドレスの変更が
    指示されると、前記第4のレジスタアドレスと予め指定
    された値を加算あるいは減算して前記第3のレジスタア
    ドレスを生成することを特徴とする請求項3または請求
    項4記載の並列プロセッサ。
  7. 【請求項7】 少なくともレジスタファイルと演算器か
    ら構成されるプロセッサエレメントを複数備え、第1の
    レジスタアドレス、第2のレジスタアドレス、アドレス
    オフセットを入力とし、前記第1のレジスタアドレスも
    しくは前記第2のレジスタアドレスに前記アドレスオフ
    セットを加算あるいは減算し、第3のレジスタアドレス
    を出力するレジスタアドレス変更手段と、前記第1のレ
    ジスタアドレスを用いて前記レジスタファイルのアクセ
    スを行ない、前記第2のレジスタアドレスを用いて前記
    レジスタファイルのアクセスを行ない、前記第3のレジ
    スタアドレスを用いて前記レジスタファイルのアクセス
    を行なうレジスタファイル制御手段とを備えたことを特
    徴とする並列プロセッサ。
  8. 【請求項8】 前記レジスタファイルは第1のレジスタ
    ファイルと第2のレジスタファイルから成り、前記レジ
    スタファイル制御手段は前記第1のレジスタアドレスを
    用いて前記第1のレジスタファイルのアクセスを行な
    い、前記第2のレジスタアドレスを用いて前記第2のレ
    ジスタファイルのアクセスを行ない、前記第3のレジス
    タアドレスを用いて前記第1のレジスタファイルもしく
    は前記第2のレジスタファイルのアクセスを行なうこと
    を特徴とする請求項7記載の並列プロセッサ。
  9. 【請求項9】 少なくとも第1のレジスタファイルと第
    2のレジスタファイルと第3のレジスタファイルと演算
    器から構成されるプロセッサエレメントを複数個備え、
    第1のレジスタアドレス、第2のレジスタアドレス、第
    3のレジスタアドレスを入力とし、前記第1のレジスタ
    アドレスを用いて、前記第1のレジスタファイルのアク
    セスを行ない、前記第2のレジスタアドレスを用いて、
    前記第2のレジスタファイルのアクセスを行ない、前記
    第3のレジスタアドレスを用いて前記第3のレジスタフ
    ァイルのアクセスを行なうレジスタファイル制御手段を
    備えたことを特徴とする並列プロセッサ。
  10. 【請求項10】 命令のモードフィールドを解読し、前
    記レジスタファイルのレジスタアドレスの変更を指示す
    るレジスタアドレス変更信号を出力する命令モード解読
    手段と、前記第1のレジスタアドレス、前記第2のレジ
    スタアドレス、前記レジスタアドレス変更信号を入力と
    し、前記レジスタアドレス変更信号により前記第3のレ
    ジスタアドレスの変更が指示されると、前記第1のレジ
    スタアドレスもしくは前記第2のレジスタアドレスを変
    更して前記第3のレジスタアドレスとして出力し、前記
    第3のレジスタアドレスの変更が指示されなければ、前
    記第1のレジスタアドレスまたは前記第2のレジスタア
    ドレスをそのまま前記第3のレジスタアドレスとして出
    力するレジスタアドレス変更手段を備えたことを特徴と
    する請求項9記載の並列プロセッサ。
  11. 【請求項11】 前記レジスタアドレス変更手段は、前
    記レジスタアドレス変更信号により前記第3のレジスタ
    アドレスの変更が指示されると、前記前記第3のレジス
    タアドレスの一部を予め指定された値にし、残りの部分
    を、第1のレジスタアドレスもしくは第2のレジスタア
    ドレスの対応する部分に置き換えることにより、前記第
    3のレジスタアドレスを生成することを特徴とする請求
    項10記載の並列プロセッサ。
  12. 【請求項12】 前記レジスタアドレス変更手段は、さ
    らに第4のレジスタアドレスを入力とし、前記レジスタ
    アドレス変更信号により第3のレジスタアドレスの変更
    が指示されると、前記第4のレジスタアドレスと予め指
    定された値を加算あるいは減算して前記第3のレジスタ
    アドレスを生成することを特徴とする請求項10記載の
    並列プロセッサ。
JP23003196A 1996-08-30 1996-08-30 並列プロセッサ Pending JPH1074190A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23003196A JPH1074190A (ja) 1996-08-30 1996-08-30 並列プロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23003196A JPH1074190A (ja) 1996-08-30 1996-08-30 並列プロセッサ

Publications (1)

Publication Number Publication Date
JPH1074190A true JPH1074190A (ja) 1998-03-17

Family

ID=16901490

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23003196A Pending JPH1074190A (ja) 1996-08-30 1996-08-30 並列プロセッサ

Country Status (1)

Country Link
JP (1) JPH1074190A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7604084B2 (en) 2005-09-30 2009-10-20 Honda Motor Co., Ltd. Layout structure for motor-driven power steering unit controller

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7604084B2 (en) 2005-09-30 2009-10-20 Honda Motor Co., Ltd. Layout structure for motor-driven power steering unit controller

Similar Documents

Publication Publication Date Title
US5794067A (en) Digital signal processing device
JP2002333978A (ja) Vliw型プロセッサ
JP3237858B2 (ja) 演算装置
JPS6254359A (ja) コンピユ−タ装置
JP2004501470A (ja) スキームレジスタを用いたメモリアドレスの生成
JPH1074190A (ja) 並列プロセッサ
US6427200B1 (en) Multiple changeable addressing mapping circuit
JPH09305401A (ja) コンピュータ及びコンパイラ
JP2861560B2 (ja) データ処理装置
JP2001092658A (ja) データ処理回路及びデータ処理装置
JPH1091439A (ja) プロセッサ
JPH0644389A (ja) データ駆動型情報処理装置
JP3524240B2 (ja) 並列命令処理装置
JPH0668055A (ja) ディジタル信号処理装置
JPS6031652A (ja) Rom内蔵マイクロコンピュ−タ
JP3532026B2 (ja) 演算装置
JPH033047A (ja) 演算機能付きメモリ
JPH05250156A (ja) Riscプロセッサ
JPH06332701A (ja) 情報処理装置
JPH09265396A (ja) データ処理装置
JPH03231330A (ja) メモリアクセス方式
JPH0619702A (ja) マイクロコンピュータ演算器
JPH09244642A (ja) 信号遅延装置およびデジタル信号処理装置
JPH0758459B2 (ja) マイクロプログラム制御装置
JPS61216030A (ja) マイクロプログラム制御方式