JP3451640B2 - Simd計算機 - Google Patents

Simd計算機

Info

Publication number
JP3451640B2
JP3451640B2 JP33059192A JP33059192A JP3451640B2 JP 3451640 B2 JP3451640 B2 JP 3451640B2 JP 33059192 A JP33059192 A JP 33059192A JP 33059192 A JP33059192 A JP 33059192A JP 3451640 B2 JP3451640 B2 JP 3451640B2
Authority
JP
Japan
Prior art keywords
address
memory bank
value
signal
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.)
Expired - Fee Related
Application number
JP33059192A
Other languages
English (en)
Other versions
JPH06176176A (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP33059192A priority Critical patent/JP3451640B2/ja
Publication of JPH06176176A publication Critical patent/JPH06176176A/ja
Application granted granted Critical
Publication of JP3451640B2 publication Critical patent/JP3451640B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、いわゆるSIMD(Sin
gle Instruction Multiple Data-system) アーキテクチ
ャにおける条件分岐処理を実現するSIMD計算機に関
するものである。
【0002】
【従来の技術】従来より、例えばビデオ信号等の信号処
理用のディジタル・シグナル・プロセッサ(DSP)の
アーキテクチャとして、SIMD構成を採用するものが
ある。当該SIMD構成は、1つの命令を複数のプロセ
ッサエレメントが同時に処理できるようになされたもの
である。その具体例としては、例えば、文献「Childers
J. et al(TI), "SVP: Serial Video Processor",IEEE 1
990 Custom IntegratedCircuits Conference, pp.17.3.
1-4.」等があり、ここに開示されたDSPにおいては、
1024個のシリアルプロセッサエレメントを1024
個集積している。
【0003】
【発明が解決しようとする課題】ここで、従来のSIM
D計算機の一例を図3に示す。
【0004】この図3において、アドレスデコーダ25
では、端子32,33,34を介して供給されたアドレ
ス信号A2,A1,A0をデコードして、各プロセッサ
エレメントPE0,PE2,・・・のデータメモリ21
に対するアドレスデータ(読み出しアドレスデータ)を
生成する。なお、図3にはデータメモリ21が8ワード
の場合を示している。
【0005】各プロセッサエレメントPE0,PE2,
・・・では、上記アドレスデコーダ25からのアドレス
データに応じて各データメモリ21から読み出された値
が、図示を省略するコントローラからのALU(Arithme
tic and Logical Unit) 命令に応じて動作するALU回
路22に送られる。また、レジスタ23には上記ALU
回路22で既に演算された値が保持されており、このレ
ジスタ23の出力が上記ALU回路22に帰還されてい
る。したがって、当該ALU回路22では、上記データ
メモリ21から読み出された値と上記レジスタ23に保
持された1つ前の演算値とを用いて、累算演算がなされ
ることになる。
【0006】このように、図3のSIMD計算機では、
全てのプロセッサエレメントPE0,PE2,・・・に
対して均一なアドレス信号A2,A1,A0、及びAL
U命令が与えられて、各々のプロセッサエレメントPE
で同一の命令に対する信号処理が実行されるようになっ
ている。
【0007】すなわち、この図3の構成のようなSIM
D計算機では、アドレスデコーダ25が全てのプロセッ
サエレメントPE0,PE2,・・・で共有されてお
り、したがって、例えばデータメモリ21の読み出しア
ドレスを各プロセッサエレメントPE0,PE2,・・
・毎に変えることができない。
【0008】このようなことから、従来は、図4に示す
ように、上述同様のALU回路42における演算の状況
に応じた情報(ALUコンディションフラグ)を用い
て、データメモリ41の読み出しアドレスをプロセッサ
エレメントPE0,PE2,・・・毎に変え得るように
している。
【0009】すなわち、この図4において、端子52,
53,54を介して供給されたアドレス信号A2,A
1,A0は、各プロセッサエレメントPE0,PE2,
・・・に送られる。これらアドレス信号A2,A1,A
0のうち、例えばアドレス信号A2,A1は各プロセッ
サエレメントPE0,PE2,・・・に内蔵されるアド
レスデコーダ45に送られ、アドレス信号A0はセレク
タ46の一方の被切換端子に送られる。
【0010】また、この図4のデータメモリ41から読
み出された値は、端子55を介した図示を省略するコン
トローラからのALU命令に応じて動作するALU回路
42に送られる。また、レジスタ43には上記ALU回
路42で既に演算された値が保持されており、このレジ
スタ43の出力が上記ALU回路42に帰還されてい
る。したがって、当該ALU回路42では、上記データ
メモリ41から読み出された値と上記レジスタ43に保
持された1つ前の演算値とを用いて、累算演算がなされ
ることになる。なお、図4にはデータメモリ41が8ワ
ードの場合を示している。
【0011】ここで、この図4に示す各プロセッサエレ
メントPE0,PE2,・・・においては、上記ALU
回路42における演算の状況に応じた情報であるALU
コンディションフラグが、コンディションフラグレジス
タ44に保持されるようになっている。当該コンディシ
ョンフラグレジスタ44から出力されるコンディション
フラグが、上記セレクタ46の他方の被切換端子に送ら
れるようになっている。
【0012】当該セレクタ46は上記ALU命令に応じ
て2つの被切換端子を切り換えるものであり、当該セレ
クタ46で切り換えられたコンディションフラグ或いは
上記アドレス信号A0が、上記アドレス信号A2,A1
と共にアドレスデコーダ45に送られる。
【0013】上記アドレスデコーダ45では、上記アド
レス信号A2,A1と、コンディションフラグ或いは上
記アドレス信号A0とから、上記データメモリ41に対
するアドレスデータ(読み出しアドレスデータ)を生成
する。
【0014】上述のように、この図4の例では、上記A
LUコンディションフラグを用いて、データメモリ41
の読み出しアドレスをプロセッサエレメントPE0,P
E2,・・・毎に変え得るようにしている。
【0015】しかし、この図4の構成の場合、各々のプ
ロセッサエレメントPE0,PE2,・・・がそれぞれ
アドレスデコーダ45を持つことになる。このため、例
えば数千〜数万のプロセッサエレメントでSIMD計算
機を構成しようとするような場合には、回路規模が大き
くなり、実現が困難である。
【0016】上述したようなことに鑑み、本発明は、回
路規模を大きくすることなく各プロセッサエレメント毎
にデータメモリの読み出しアドレスを変えることを可能
とするSIMD計算機を提供することを目的としてい
る。
【0017】
【課題を解決するための手段】本発明のSIMD計算機
は、上述の目的を達成するために提案されたものであ
り、Nビットのアドレス信号のうちのMビットをデコー
ドしてアドレスデータを生成するアドレスデータ生成手
段と、当該アドレスデータ生成手段からのアドレスデー
タが供給される複数のプロセッサエレメントとからな
り、各プロセッサエレメントで並列的に演算処理を行う
SIMD計算機であって、上記各プロセッサエレメント
は、上記アドレスデータ生成手段からのアドレスデータ
が供給されると共に1つのアドレスデータで複数の記憶
領域が指定されるメモリ手段と、上記1つのアドレスデ
ータに応じて指定される上記メモリ手段の複数の記憶領
域のうちの1つを選択する第1の選択手段と、上記第1
の選択手段で選択されたメモリ手段の記憶領域に記憶さ
れた値を用いて累算演算を行う累算手段と、上記累算手
段での累算の状況に応じた情報を保持する保持手段と、
所定の制御信号に応じて上記Nビットのアドレス信号の
うちの上記Mビットを除くKビットの信号と上記保持手
段の出力とを切り換えて上記第1の選択手段への切換制
御信号とする第2の選択手段とを有してなるものであ
る。
【0018】ここで、上記メモリ手段は複数のメモリバ
ンクからなり、上記第1の選択手段は上記複数のメモリ
バンクの何れか1つを選択するものとする。すなわち、
当該第1の選択手段としては、各メモリバンクから読み
出されたデータを選択的に切り換えるもの、或いは、各
メモリバンクに対する読出イネーブル信号を生成するも
のが考えられる。これは、各メモリバンクからデータを
読み出す場合であるが、逆に、各メモリバンクにデータ
を書き込む場合の上記第1の選択手段としては、各メモ
リバンクに書き込まれるデータを選択的に切り換えて各
メモリバンクに供給するもの、或いは、各メモリバンク
に対する書込イネーブル信号を生成するものが考えられ
る。
【0019】また、本発明において、上記Nビットのア
ドレス信号のうちの上記Mビットを除くKビットの信号
は、当該Nビットのアドレス信号の最下位ビット(或い
は下位側Kビット)とすることが望ましい。すなわち、
例えば、N=3ビットでM=2ビットとした場合には、
上記Kビットを最下位ビットとする。
【0020】言い換えると、本発明のSIMD計算機
は、各々のプロセッサエレメントのデータメモリを2つ
以上のメモリバンクで構成し、各メモリバンクへのアド
レス信号のうち、メモリバンクの切り換えにかかるアド
レス信号を、各々のプロセッサエレメントのALU等の
ステータスフラグ(コンディションフラグ)の値で制御
可能にする(言い換えれば、メモリのアドレス信号のう
ち、メモリバンクの切り換えにかからないところのみを
予めデコードし、全てのプロセッサエレメントのメモリ
バンクに共通に与える。)ことで、各々のプロセッサエ
レメントの演算の状況に応じたメモリの読み出し又は書
き込みを可能にする(すなわち条件分岐的な制御を可能
とする)ものである。
【0021】
【作用】本発明のSIMD計算機によれば、各プロセッ
サエレメントにはそれぞれ同一のアドレスデータが供給
されるが、各プロセッサエレメントでは、所定の制御信
号に応じてNビットのアドレス信号のうちのKビットの
信号と累算手段での累算の状況に応じた情報とを切り換
えて第1の選択手段への切換制御信号とすることで、各
プロセッサエレメント毎に条件分岐的な制御を可能とし
ている。
【0022】
【実施例】以下、本発明のSIMD計算機の実施例を図
面を参照しながら説明する。
【0023】本発明実施例のSIMD計算機の一構成例
を図1に示す。本実施例のSIMD計算機は、図1に示
すように、Nビットのアドレス信号(例えば3ビットの
アドレス信号A2,A1,A0)のうちのMビット(例
えばアドレス信号A2,A1)をデコードしてアドレス
データを生成するアドレスデータ生成手段としてのアド
レスデコーダ5と、当該アドレスデコーダ5からのアド
レスデータが供給される複数のプロセッサエレメントP
E0,PE1,・・・とからなり、各プロセッサエレメ
ントPE0,PE1,・・・で1つの命令に対して並列
的に演算処理を行うSIMD計算機である。
【0024】このSIMD計算機において、上記各プロ
セッサエレメントPE0,PE1,・・・は、上記アド
レスデコーダ5からのアドレスデータが供給されると共
に1つのアドレスデータで複数の記憶領域が指定される
メモリ手段としての例えばメモリバンク1a,1bと、
上記1つのアドレスデータに応じて指定される上記各記
憶領域のうちの1つを選択する第1の選択手段としての
メモリバンクセレクタ7並びにANDゲート8a,8b
と、当該第1の選択手段で選択された記憶領域から読み
出された値を用いて累算演算を行う累算手段としてのA
LU回路2並びにレジスタ3と、当該累算手段のALU
回路2での累算の状況に応じた情報としてのALUコン
ディションフラグを保持する保持手段であるコンディシ
ョンフラグレジスタ4と、図示を省略するコントローラ
から端子16を介して供給される所定の制御信号として
のコンディション信号CONDに応じて上記3ビットの
アドレス信号A2,A1,A0のうちの上記2ビット
(A2,A1)を除く1ビットの信号(最下位ビットの
A0)と上記コンディションフラグレジスタ4の出力と
を切り換えて上記第1の選択手段への切換制御信号とす
る第2の選択手段であるアドレスセレクタ6とを有して
なるものである。
【0025】ここで、上記メモリバンク1a,1bはそ
れぞれが複数の記憶領域を有し、同一のアドレスデータ
でそれぞれ同一の記憶領域が指定されるものである。し
たがって、これらメモリバンク1a,1bに対して、任
意の1つのアドレスデータを供給すると共に、上記メモ
リバンクセレクタ7或いはANDゲート8a,8bで何
れか一方のメモリバンクのみを選択すれば、上記任意の
1つのアドレスデータに応じて指定される上記メモリバ
ンク1a,1bの2つの記憶領域のうちの1つのみを選
択することが可能となる。
【0026】なお、本実施例では、プロセッサエレメン
トPE0,プロセッサエレメントPE1の2つについて
のみ説明し、また、メモリバンク1a,1bのアドレス
信号がA2,A1,A0の3本(8ワード)の場合で、
各プロセッサエレメントPEには、前述の図4のように
アドレスデコーダ5を含まずALU回路2のみを演算コ
ンポーネンイトとして持つ例である。
【0027】この図1において、端子11にはメモリバ
ンク1a,1bの書込イネーブル信号WEが供給され、
端子12,13,14には上記アドレス信号A2,A
1,A0が、端子15には図示を省略するコントローラ
からのALU命令が供給されている。
【0028】また、アドレス信号A2,A1,A0のう
ちの上位側2ビットのA2,A1,A0はアドレスデコ
ーダ5に送られ、最下位ビットのA0はアドレスセレク
タ6の一方の被切換端子に送られるようになっている。
【0029】上記アドレス信号A2,A1が供給される
上記アドレスデコーダ5では、これらアドレス信号A
2,A1から、各プロセッサエレメントPE0,PE
1,・・・の上記メモリバンク1a,1bに対するアド
レスデータを生成する。
【0030】これらアドレスデータが供給される上記メ
モリバンク1aの出力端子は上記メモリバンクセレクタ
7の一方の被切換端子と接続され、上記メモリバンク1
bの出力端子は上記メモリバンクセレクタ7の他方の被
切換端子と接続されている。
【0031】上記アドレスデコーダ5からのアドレスデ
ータに基づいてメモリバンク1a,1bから読み出され
るデータは、上記メモリバンクセレクタ7を介して上記
ALU回路2に送られるようになっている。また、レジ
スタ3には上記ALU回路2で既に演算された値(初期
化の場合は“0”)が保持されており、このレジスタ3
の出力が上記ALU回路2に帰還されるようになってい
る。したがって、当該ALU回路2では、上記メモリバ
ンクセレクタ7を介して供給される何れか一方のメモリ
バンクからのデータと上記レジスタ3に保持された1つ
前の演算値(或いは初期化の場合の“0”)とを用い
て、累算演算がなされることになる。
【0032】また、本実施例のALU回路2からは上記
ALUコンディションフラグが出力されるようになって
おり、このコンディションフラグがコンディションフラ
グレジスタ4に保持されるようになっている。当該コン
ディションフラグレジスタ4から出力されるコンディシ
ョンフラグが、上記アドレスセレクタ6の他方の被切換
端子に送られるようになっている。
【0033】本実施例のアドレスセレクタ6は、端子1
6を介して供給されるコンディション信号CONDに応
じて2つの被切換端子を切り換えるものであり、例えば
コンディション信号CONDが例えば“L”(Lowレ
ベル)のときに上記アドレス信号A0が供給される上記
一方の被切換端子側が選ばれ、上記コンディション信号
CONDが“H”(Highレベル)とのきに上記コン
ディションフラグレジスタ4からのコンディションフラ
グが供給される上記他方の被切換端子側が選ばれるもの
である。
【0034】当該アドレスセレクタ6で選ばれたコンデ
ィションフラグ或いは上記アドレス信号A0は、上記メ
モリバンクセレクタ7の切換制御信号となされる。当該
メモリバンクセレクタ7は、例えば、上記アドレスセレ
クタ6の出力が“L”のときに上記メモリバンク1aの
出力が供給される上記一方の被切換端子側が選ばれ、上
記アドレスセレクタ6の出力が“H”のときに上記メモ
リバンク1bの出力が供給される上記他方の被切換端子
側が選ばれる。
【0035】また、上記アドレスセレクタ6の出力は、
一方の入力端子(非反転入力端子)に上記書込イネーブ
ル信号WEが供給される上記AND(論理積)ゲート8
bの他方の入力端子(非反転入力端子)にも送られると
共に、同じく一方の入力端子(非反転入力端子)に上記
書込イネーブル信号WEが供給されるANDゲート(書
込コントロールゲート)8aの他方の反転入力端子にも
送られるようになっている。上記ANDゲート(書込コ
ントロールゲート)8aの出力端子は上記メモリバンク
1aの書込イネーブル端子と接続され、ANDゲート
(書込コントロールゲート)8bの出力端子は上記メモ
リバンク1bの書込イネーブル端子と接続されている。
【0036】本実施例では、上述したような構成の各プ
ロセッサエレメントにおいて、例えば、上記メモリバン
ク1aにはM0,M2,M4,M6の記憶領域を設け、
上記メモリバンク1bにはM1,M3,M5,M7の記
憶領域を設けるものとし、上記アドレス信号の上位側の
アドレス信号A2,A1とこれに対応する上記メモリバ
ンク1a,1bの各記憶領域M0〜M7との間で、例え
ば、 (A2,A1) = (00),(01),(10),(11) メモリバンク1a M0 M2 M4 M6 メモリバンク1b M1 M3 M5 M7 の関係があるとする。すなわち、アドレス信号(A2,
A1)=(00)のとき上記メモリバンク1aでは記憶
領域M0が指定されると共に上記メモリバンク1bでは
記憶領域M1が指定され、アドレス信号(A2,A1)
=(01)のとき上記メモリバンク1aでは記憶領域M
2が指定されると共に上記メモリバンク1bでは記憶領
域M3が指定され、アドレス信号(A2,A1)=(1
0)のとき上記メモリバンク1aでは記憶領域M4が指
定されると共に上記メモリバンク1bでは記憶領域M5
が指定され、アドレス信号(A2,A1)=(11)の
とき上記メモリバンク1aでは記憶領域M6が指定され
ると共に上記メモリバンク1bでは記憶領域M7が指定
されるものとする。
【0037】ここで、通常のALU命令においては、上
記コンディション信号CONDが“L”となり、したが
って、上記アドレスセレクタ6では上記一方の被切換端
子が選択されて、上記アドレス信号A0を上記メモリバ
ンクセレクタ7の切換制御信号として出力する。
【0038】また、上記メモリバンクセレクタ7は、上
述したように、当該切換制御信号が“L”のときにメモ
リバンク1aの出力を選択し、逆に当該切換制御信号が
“H”のときにデータメモリ1bの出力を選択するの
で、結果として、上記コンディション信号CONDが
“L”のときの上記アドレス信号A2,A1,A0と上
記メモリバンクセレクタ7で選択される記憶領域M0〜
M7との関係は、 (A2,A1,A0) = (000),(001),(010),(011),(100),(101),(110),(111) 記憶領域 M0 ,M1 ,M2 ,M3 ,M4 ,M5 ,M6 ,M7 のようになる。すなわち、コンディション信号COND
が“L”の場合において、上記メモリバンクセレクタ7
からの出力は、アドレス信号(A2,A1,A0)=
(000)のとき上記メモリバンク1aの記憶領域M0
の値となり、アドレス信号(A2,A1,A0)=(0
01)のとき上記メモリバンク1bの記憶領域M1の値
となり、アドレス信号(A2,A1,A0)=(01
0)のとき上記メモリバンク1aの記憶領域M2の値と
なり、アドレス信号(A2,A1,A0)=(011)
のとき上記メモリバンク1bの記憶領域M3の値とな
り、アドレス信号(A2,A1,A0)=(100)の
とき上記メモリバンク1aの記憶領域M4の値となり、
アドレス信号(A2,A1,A0)=(101)のとき
上記メモリバンク1bの記憶領域M5の値となり、アド
レス信号(A2,A1,A0)=(110)のとき上記
メモリバンク1aの記憶領域M6の値となり、アドレス
信号(A2,A1,A0)=(111)のとき上記メモ
リバンク1bの記憶領域M7の値となる。
【0039】一方、条件分岐型のALU命令において
は、上記コンディション信号CONDが“H”となり、
したがって、上記アドレスセレクタ6は上記他方の被切
換端子が選択されて上記コンディションフラグレジスタ
4の出力を上記メモリバンクセレクタ7の切換制御信号
として出力することになる。
【0040】このとき、上記メモリバンクセレクタ7で
は、1ステップ前のALU回路2からのコンディション
フラグすなわちコンディションフラグレジスタ4の出力
に従って、上記メモリバンク1aか或いはメモリバンク
1bからの値が選択されるようになる。
【0041】すなわち例えば、上記ALU回路2での演
算結果が正(プラス,+)の値のときのコンディション
フラグを例えば“0”(“L”)とし、負(マイナス,
−)の値のときのコンディションフラグを例えば“1”
(“H”)としたとすると、上記アドレス信号(A2,
A1)が例えば(10)でかつ上記コンディションフラ
グレジスタ4の出力が“0”(“L”)のときにはメモ
リバンク1aの記憶領域M4の値が選択され、逆にコン
ディションフラグレジスタ4の出力が“1”(“H”)
でかつ上記アドレス信号(A2,A1)が例えば(1
0)のときは上記メモリバンク1bの記憶領域M5の値
が選択されることになる。
【0042】したがって、本実施例のSIDM計算機に
おいて、予め、例えば上記メモリバンク1a,1bの例
えば各記憶領域M4,M5に、条件分岐に対応した数値
を書き込んで(もちろん他の記憶領域にも条件分岐に対
応した数値を書き込むことができる)おけば、本実施例
のSIMD計算機で条件分岐処理が実行されることにな
る。
【0043】なお、図1でメモリの書き込みにおいて
は、アドレスセレクタ6で選択した例えば下位アドレス
を、上記ANDゲート8a,8bに送ることで、当該下
位アドレスによって書込イネーブル信号(書込制御信
号)WEがコントロールされるようになり、したがっ
て、メモリバンク1a若しくは1bへの書き込み制御が
可能となる。
【0044】次に、図2を用いて本実施例のSIMD計
算機の動作をより具体的に説明する。
【0045】なお、この図2では、プロセッサエレメン
トPE0,PE1において、例えば、メモリバンク1
a,1bの記憶領域M0とM1の値を加えて、この値が
正であったときは、メモリバンク1aの記憶領域M4の
値を更に加え、逆に記憶領域M0とM1の値の加算値が
負であったときはメモリバンク1bの記憶領域M5の値
を加えるという条件分岐処理の例について説明する。ま
た、この図2の例においても、上記ALU回路2での演
算結果がプラス(+)の値のときのコンディションフラ
グを例えば“0”(“L”)とし、マイナス(−)の値
のときのコンディションフラグを例えば“1”
(“H”)としたとする。
【0046】先ず、プロセッサエレメントPE0につい
て説明する。なお、本実施例においては、当該プロセッ
サエレメントPE0のメモリバンク1bの上記記憶領域
M5には例えば「−7」の値が格納され、メモリバンク
1aの記憶領域M4には例えば「10」の値が、メモリ
バンク1bの記憶領域M1には例えば「−23」の値
が、メモリバンク1aの記憶領域M0には例えば「1
5」の値が格納されているとする。
【0047】このプロセッサエレメントPE0におい
て、プログラムステップS1では、上記ALU命令は初
期化(Init)となり、上記コンディション信号CO
NDはLowレベル(“L”)となる。この時のアドレ
ス信号は(A2,A1,A0)=(*,*,*)とす
る。なお、*は不定を示す。
【0048】したがって、このプログラムステップS1
の初期化の場合、上記ALU回路2の出力(累算値)は
「0」となり、レジスタ3にも当該「0」が保持され
る。
【0049】次に、プログラムステップS2では、上記
ALU命令が例えば加算(Add)となり、上記コンデ
ィション信号CONDがLowレベル(“L”)となっ
ているとする。また、この時のアドレス信号は(A2,
A1,A0)=(0,0,0)とする。
【0050】この場合、上記アドレスデコーダ5からの
各メモリバンク1a,1bへのアドレスデータは、上記
アドレス信号(A2,A1)=(0,0)となり、した
がって、上記メモリバンク1aの記憶領域M0及びメモ
リバンク1bの記憶領域M1を指定するものとなる。こ
のため、上記メモリバンク1aからは記憶領域M0に格
納されている「15」の値が読み出され、上記メモリバ
ンク1bからは記憶領域M1に格納されている「−2
3」の値が読み出されるようになる。
【0051】ここで、上記アドレスセレクタ6では、上
記コンディション信号CONDが“L”であるため、当
該“L”側の被切換端子に供給されている上記(A0)
=(0)が選択される。このとき、上記メモリバンクセ
レクタ7は、上記アドレスセレクタ6からの切換制御信
号が“0”すなわち“L”であるため、当該“L”側の
被切換端子が選ばれる。したがって、当該メモリバンク
セレクタ7からは、上記メモリバンク1aから読み出さ
れている「15」の値が出力されるようになる。
【0052】このメモリバンクセレクタ7の出力「1
5」は、上記ALU回路2に送られる。当該ALU回路
2では、上記プログラムステップS1で初期化された際
にレジスタ3に保持されている「0」の値と、当該メモ
リバンクセレクタ7からの「15」の値との加算がなさ
れる。このALU回路2の累算値(加算値)である「1
5」は、レジスタ2に保持される。また、コンディショ
ンフラグレジスタ4には、上記ALU回路2の累算の結
果が「15」すなわちプラス(+)であることを示すコ
ンディションフラグの“0”(“L”)が保持される。
【0053】次のプログラムステップS3では、上記A
LU命令が例えば加算(Add)のままで、上記コンデ
ィション信号CONDもLowレベル(“L”)となっ
ているとする。また、この時のアドレス信号は(A2,
A1,A0)=(0,0,1)とする。
【0054】この場合、上記アドレスデコーダ5からの
各メモリバンク1a,1bへのアドレスデータも、上記
アドレス信号(A2,A1)=(0,0)であり、した
がって、上記メモリバンク1aからは記憶領域M0の
「15」の値が読み出され、上記メモリバンク1bから
は記憶領域M1の「−23」の値が読み出されるように
なる。
【0055】また、上記アドレスセレクタ6は上記コン
ディション信号CONDが“L”であるため当該“L”
側の被切換端子が選択されるが、当該アドレスセレクタ
6の出力(メモリバンクセレクタ7の切換制御信号)は
上記(A0)=(1)すなわち“H”となる。このた
め、上記メモリバンクセレクタ7は“H”側の被切換端
子が選ばれ、したがって、当該メモリバンクセレクタ7
からは上記メモリバンク1bから読み出されている「−
23」の値が出力されるようになる。
【0056】このメモリバンクセレクタ7の出力「−2
3」は、上記ALU回路2に送られる。当該ALU回路
2では、上記プログラムステップS2の累算で得られ既
にレジスタ3に保持されている「15」の値と、当該メ
モリバンクセレクタ7からの「−23」の値との加算が
なされる。このALU回路2の累算値(加算値)である
「−8」は、レジスタ2に保持される。また、コンディ
ションフラグレジスタ4には、上記ALU回路2の累算
の結果が「−8」すなわちマイナス(−)であることを
示すコンディションフラグの“1”(“H”)が保持さ
れる。
【0057】次のプログラムステップS4では、上記A
LU命令が例えば加算(Add)のままであるが、上記
コンディション信号CONDはHighレベル
(“H”)となったとする。また、この時のアドレス信
号は(A2,A1,A0)=(1,0,*)とする。
【0058】この場合、上記アドレスデコーダ5からの
各メモリバンク1a,1bへのアドレスデータは、上記
アドレス信号(A2,A1)=(1,0)となり、した
がって、上記メモリバンク1aからは記憶領域M4の
「10」の値が読み出され、上記メモリバンク1bから
は記憶領域M5の「−7」の値が読み出されるようにな
る。
【0059】ここで、上記アドレスセレクタ6は上記コ
ンディション信号CONDが“H”となっているため、
当該“H”側の被切換端子が選択される。このとき、当
該アドレスセレクタ6の出力(メモリバンクセレクタ7
の切換制御信号)は、上記コンディションフラグレジス
タ4に保持されているプログラムステップS3のときの
“1”(“H”)のコンディションフラグとなる。この
ため、上記メモリバンクセレクタ7は“H”側の被切換
端子が選ばれ、したがって、当該メモリバンクセレクタ
7からは上記メモリバンク1bから読み出されている
「−7」の値が出力されるようになる。
【0060】このメモリバンクセレクタ7の出力「−
7」は、上記ALU回路2に送られる。当該ALU回路
2では、上記プログラムステップS3の累算で得られ既
にレジスタ3に保持されている「−8」の値と、当該メ
モリバンクセレクタ7からの「−7」の値との加算がな
される。このALU回路2の累算値(加算値)である
「−15」は、レジスタ2に保持される。また、コンデ
ィションフラグレジスタ4には、上記ALU回路2の累
算の結果が「−15」すなわちマイナス(−)であるこ
とを示すコンディションフラグの“1”(“H”)が保
持される。
【0061】次のプログラムステップS5では、上記A
LU命令が例えば停止(HALT)となり、上記コンデ
ィション信号CONDがLowレベル(“L”)となっ
たとする。
【0062】この場合、上記ALU回路2での累算は停
止され、したがって、レジスタ3にはプログラムステッ
プS4での累算値である「−15」の値が保持されたま
まとなり、コンディションフラグレジスタ4も“1”
(“H”)が保持されたままとなる。
【0063】同様に、プロセッサエレメントPE1につ
いても説明する。なお、本実施例においては、当該プロ
セッサエレメントPE1のメモリバンク1bの上記記憶
領域M5には例えば「−7」の値が格納され、メモリバ
ンク1aの記憶領域M4には例えば「10」の値が、メ
モリバンク1bの記憶領域M1には例えば「3」の値
が、メモリバンク1aの記憶領域M0には例えば「1
5」の値が格納されているとする。
【0064】このプロセッサエレメントPE1におい
て、プログラムステップS1では、プロセッサエレメン
トPE0同様に、上記ALU命令が初期化(Init)
で、上記コンディション信号CONDは“L”、アドレ
ス信号は(A2,A1,A0)=(*,*,*)であ
る。
【0065】したがって、当該プロセッサエレメントP
E1においても、このプログラムステップS1の場合
は、上記ALU回路2の出力(累算値)が「0」とな
り、レジスタ3に当該「0」が保持される。
【0066】次に、プログラムステップS2では、上記
ALU命令が加算(Add)となり、上記コンディショ
ン信号CONDが“L”となり、また、アドレス信号は
(A2,A1,A0)=(0,0,0)となる。
【0067】この場合、上記アドレスデコーダ5からの
各メモリバンク1a,1bへのアドレスデータは、上記
アドレス信号(A2,A1)=(0,0)となり、した
がって、上記メモリバンク1aの記憶領域M0及びメモ
リバンク1bの記憶領域M1を指定するものとなる。こ
のため、当該プロセッサエレメントPE2においては、
上記メモリバンク1aからは記憶領域M0に格納されて
いる「15」の値が読み出され、上記メモリバンク1b
からは記憶領域M1に格納されている「3」の値が読み
出されるようになる。
【0068】ここで、上記アドレスセレクタ6では、上
記コンディション信号CONDが“L”であるため、当
該“L”側の被切換端子に供給されている上記(A0)
=(0)が選択される。このとき、上記メモリバンクセ
レクタ7は、上記アドレスセレクタ6からの切換制御信
号が“0”すなわち“L”であるため、当該“L”側の
被切換端子が選ばれる。したがって、当該メモリバンク
セレクタ7からは、上記メモリバンク1aから読み出さ
れている「15」の値が出力されるようになる。
【0069】このメモリバンクセレクタ7の出力「1
5」は、上記ALU回路2に送られる。当該ALU回路
2では、上記プログラムステップS1で初期化された際
にレジスタ3に保持されている「0」の値と、当該メモ
リバンクセレクタ7からの「15」の値との加算がなさ
れる。このALU回路2の累算値(加算値)である「1
5」は、レジスタ2に保持される。また、コンディショ
ンフラグレジスタ4には、上記ALU回路2の累算の結
果が「15」すなわちプラス(+)であることを示すコ
ンディションフラグの“0”(“L”)が保持される。
【0070】次のプログラムステップS3では、上記A
LU命令が加算(Add)で、上記コンディション信号
CONDも“L”であり、また、アドレス信号は(A
2,A1,A0)=(0,0,1)である。
【0071】この場合、上記アドレスデコーダ5からの
各メモリバンク1a,1bへのアドレスデータも、上記
アドレス信号(A2,A1)=(0,0)であり、した
がって、上記メモリバンク1aからは記憶領域M0の
「15」の値が読み出され、上記メモリバンク1bから
は記憶領域M1の「3」の値が読み出される。
【0072】また、上記アドレスセレクタ6は上記コン
ディション信号CONDが“L”であるため当該“L”
側の被切換端子が選択されるが、当該アドレスセレクタ
6の出力(メモリバンクセレクタ7の切換制御信号)は
上記(A0)=(1)すなわち“H”となる。このた
め、上記メモリバンクセレクタ7は“H”側の被切換端
子が選ばれ、したがって、当該メモリバンクセレクタ7
からは上記メモリバンク1bから読み出されている
「3」の値が出力されるようになる。
【0073】このメモリバンクセレクタ7の出力「3」
は、上記ALU回路2に送られる。当該ALU回路2で
は、上記プログラムステップS2の累算で得られ既にレ
ジスタ3に保持されている「15」の値と、当該メモリ
バンクセレクタ7からの「3」の値との加算がなされ
る。このALU回路2の累算値(加算値)である「1
8」は、レジスタ2に保持される。また、コンディショ
ンフラグレジスタ4には、上記ALU回路2の累算の結
果が「18」すなわちプラス(+)であることを示すコ
ンディションフラグの“0”(“L”)が保持される。
【0074】次のプログラムステップS4では、上記A
LU命令が加算(Add)で、上記コンディション信号
CONDがHighレベル(“H”)となる。また、こ
の時のアドレス信号は(A2,A1,A0)=(1,
0,*)である。
【0075】この場合、上記アドレスデコーダ5からの
各メモリバンク1a,1bへのアドレスデータは、上記
アドレス信号(A2,A1)=(1,0)となり、した
がって、上記メモリバンク1aからは記憶領域M4の
「10」の値が読み出され、上記メモリバンク1bから
は記憶領域M5の「−7」の値が読み出されるようにな
る。
【0076】ここで、上記アドレスセレクタ6は上記コ
ンディション信号CONDが“H”となっているため、
当該“H”側の被切換端子が選択される。このとき、当
該アドレスセレクタ6の出力(メモリバンクセレクタ7
の切換制御信号)は、上記コンディションフラグレジス
タ4に保持されているプログラムステップS3のときの
“0”(“L”)のコンディションフラグとなる。この
ため、上記メモリバンクセレクタ7は“L”側の被切換
端子が選ばれ、したがって、当該メモリバンクセレクタ
7からは上記メモリバンク1aから読み出されている
「10」の値が出力されるようになる。
【0077】このメモリバンクセレクタ7の出力「1
0」は、上記ALU回路2に送られる。当該ALU回路
2では、上記プログラムステップS3の累算で得られ既
にレジスタ3に保持されている「18」の値と、当該メ
モリバンクセレクタ7からの「10」の値との加算がな
される。このALU回路2の累算値(加算値)である
「28」は、レジスタ2に保持される。また、コンディ
ションフラグレジスタ4には、上記ALU回路2の累算
の結果が「28」すなわちプラス(+)であることを示
すコンディションフラグの“0”(“L”)が保持され
る。
【0078】次のプログラムステップS5では、上記A
LU命令が例えば停止(HALT)となり、上記コンデ
ィション信号CONDがLowレベル(“L”)となっ
たとする。
【0079】この場合、上記ALU回路2での累算は停
止され、したがって、レジスタ3にはプログラムステッ
プS4での累算値である「28」の値が保持されたまま
となり、コンディションフラグレジスタ4も“0”
(“L”)が保持されたままとなる。
【0080】なお、図1は本発明の一実施例にすぎず、
本発明はこれに限らず様々なバリエーションが可能であ
る。例えば、ALUの構成、プロセッサのバス構成、メ
モリのワード数、メモリバンクの数、コンディションフ
ラグレジスタの数、プロセッサエレメントの数等は、全
て様々な形態が考えられる。
【0081】また、図1ではI/Oを省略している。
【0082】上述したようなことから、本実施例によれ
ば、アドレスデコーダ5をプロセッサエレメントPE間
で共有しているため、回路規模が大きくなることは無
い。また、各々のプロセッサエレメントPEではコンデ
ィションフラグの値で演算状況に応じたメモリバンク1
の読み出し又は書き込みを可能としている。
【0083】
【発明の効果】上述したように、本発明のSIMD計算
機においては、各プロセッサエレメントのメモリ手段に
対するアドレスを、累算手段での累算の状況に応じた情
報に基づいて制御可能とすることで、各プロセッサエレ
メント毎に条件分岐的な制御が可能となり、また、アド
レスデコーダを各プロセッサエレメントで共有している
ため、回路規模が大きくならない。
【図面の簡単な説明】
【図1】本発明実施例のSIMD計算機の一構成例を示
すブロック回路図である。
【図2】本発明装置の各部の動作を説明するための図で
ある。
【図3】従来のSIMD計算機の一具体例を示すブロッ
ク回路図である。
【図4】従来のSIMD計算機の他の具体例を示すブロ
ック回路図である。
【符号の説明】
1a,1b・・・・メモリバンク 2・・・・・・・・ALU回路 3・・・・・・・・レジスタ 4・・・・・・・・コンディションフラグレジスタ 5・・・・・・・・アドレスデコーダ 6・・・・・・・・アドレスセレクタ 7・・・・・・・・メモリバンクセレクタ 8a,8b・・・・ANDゲート PE0,PE1・・プロセッサエレメント
フロントページの続き (56)参考文献 特開 昭59−16071(JP,A) 特開 昭59−223874(JP,A) 特開 平3−248229(JP,A) 特開 平4−36856(JP,A) 特開 平4−37949(JP,A) J.Childers 他,SVP: serial video proc essor,Proceedings of the IEEE 1990 Cus tom Integrated Cir cuits Conference,米 国,1990年 5月,p.17.3.1− 17.3.4 (58)調査した分野(Int.Cl.7,DB名) G06F 15/80 G06F 15/16 - 15/177 G06F 9/38

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 Nビットのアドレス信号のうちのMビッ
    トをデコードしてアドレスデータを生成するアドレスデ
    ータ生成手段と、当該アドレスデータ生成手段からのア
    ドレスデータが供給される複数のプロセッサエレメント
    とからなり、各プロセッサエレメントで並列的に演算処
    理を行うSIMD計算機であって、 上記各プロセッサエレメントは、上記アドレスデータ生
    成手段からのアドレスデータが供給されると共に1つの
    アドレスデータで複数の記憶領域が指定されるメモリ手
    段と、上記1つのアドレスデータに応じて指定される上
    記複数の記憶領域のうちの1つを選択する第1の選択手
    段と、上記第1の選択手段で選択されたメモリ手段の記
    憶領域に記憶された値を用いて累算演算を行う累算手段
    と、上記累算手段での累算の状況に応じた情報を保持す
    る保持手段と、所定の制御信号に応じて上記Nビットの
    アドレス信号のうちの上記Mビットを除くKビットの信
    号と上記保持手段の出力とを切り換えて上記第1の選択
    手段への切換制御信号とする第2の選択手段とを有して
    なることを特徴とするSIMD計算機。
  2. 【請求項2】 上記メモリ手段は複数のメモリからな
    り、上記第1の選択手段は上記複数のメモリの何れか1
    つを選択することを特徴とする請求項1記載のSIMD
    計算機。
  3. 【請求項3】 上記Nビットのアドレス信号のうちの上
    記Mビットを除くKビットの信号は、当該Nビットのア
    ドレス信号の最下位ビットとすることを特徴とする請求
    項1記載のSIMD計算機。
JP33059192A 1992-12-10 1992-12-10 Simd計算機 Expired - Fee Related JP3451640B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33059192A JP3451640B2 (ja) 1992-12-10 1992-12-10 Simd計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33059192A JP3451640B2 (ja) 1992-12-10 1992-12-10 Simd計算機

Publications (2)

Publication Number Publication Date
JPH06176176A JPH06176176A (ja) 1994-06-24
JP3451640B2 true JP3451640B2 (ja) 2003-09-29

Family

ID=18234370

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33059192A Expired - Fee Related JP3451640B2 (ja) 1992-12-10 1992-12-10 Simd計算機

Country Status (1)

Country Link
JP (1) JP3451640B2 (ja)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
J.Childers 他,SVP: serial video processor,Proceedings of the IEEE 1990 Custom Integrated Circuits Conference,米国,1990年 5月,p.17.3.1−17.3.4

Also Published As

Publication number Publication date
JPH06176176A (ja) 1994-06-24

Similar Documents

Publication Publication Date Title
US3943494A (en) Distributed execution processor
JPH10187438A (ja) 乗算器の入力に対する遷移を減少させる方法
US7386689B2 (en) Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner
US4833602A (en) Signal generator using modulo means
JP3458518B2 (ja) 並列プロセッサ
US5748555A (en) Memory address preview control circuit
JP3451640B2 (ja) Simd計算機
US5603023A (en) Processor circuit for heapsorting
US5875323A (en) Processor using implicit register addressing
JPS594049B2 (ja) コンピュ−タ装置
JP2616714B2 (ja) 半導体記憶装置
JP3441847B2 (ja) データメモリを有するプロセッサ
JPH10116226A (ja) 半導体記憶装置のアドレス整列装置
JP3085299B2 (ja) 情報処理システム
JP2874221B2 (ja) 演算制御回路
JPH0721760B2 (ja) ディジタル演算回路
JP3088956B2 (ja) 演算装置
JPH033047A (ja) 演算機能付きメモリ
JP2788765B2 (ja) 半導体記憶装置
JP2590704B2 (ja) 並列プロセッサlsi
JPH0680808B2 (ja) ゲートアレイ大規模集積回路
JPH01204139A (ja) メモリ拡張方法
JPS5875250A (ja) デジタル情報処理装置
JPH02128251A (ja) 描画アドレス演算方式
JPH01237766A (ja) データ処理装置およびそれを用いた画像データ処理システム

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030617

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

Free format text: PAYMENT UNTIL: 20080718

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090718

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090718

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100718

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100718

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120718

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees