JPS59132070A - アレイ演算用デ−タ処理装置 - Google Patents
アレイ演算用デ−タ処理装置Info
- Publication number
- JPS59132070A JPS59132070A JP58006082A JP608283A JPS59132070A JP S59132070 A JPS59132070 A JP S59132070A JP 58006082 A JP58006082 A JP 58006082A JP 608283 A JP608283 A JP 608283A JP S59132070 A JPS59132070 A JP S59132070A
- Authority
- JP
- Japan
- Prior art keywords
- data
- control
- unit
- array
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明は、高速にアレイ演算を行なうためのデータ処理
装置に関するものであり、更に具体的には、データおよ
びフ゛ログラムを6己憶するグローバル・メモリ・ユニ
ット、プログラムを実行し、アレイ演算の制御等を行な
うコントロール・プロセッサ・ユニット、アレイ演算を
実行するアレイ・プロセッサ・ユニットおよび゛外部の
入出力装置とのインターフェースである外部インターフ
ェース・ユニットとを有し、これらの機能ユニットがデ
ータ・バスおよび制御バスによって接続されたデータ処
理装置に関するものである。
装置に関するものであり、更に具体的には、データおよ
びフ゛ログラムを6己憶するグローバル・メモリ・ユニ
ット、プログラムを実行し、アレイ演算の制御等を行な
うコントロール・プロセッサ・ユニット、アレイ演算を
実行するアレイ・プロセッサ・ユニットおよび゛外部の
入出力装置とのインターフェースである外部インターフ
ェース・ユニットとを有し、これらの機能ユニットがデ
ータ・バスおよび制御バスによって接続されたデータ処
理装置に関するものである。
一般に、科学技術計算においてアレイ演算の占める割り
合いは高く、これを汎用計算機で処理すると時間がかか
り過ぎることから、アレイ演算を専用に行なうデータ処
理装置が種々考案され、そのうちのいくつかは実用化さ
れてきた。このようなアレイ演算用のデータ処理装置に
は、下に示すようないくつかの形式に分類される。
合いは高く、これを汎用計算機で処理すると時間がかか
り過ぎることから、アレイ演算を専用に行なうデータ処
理装置が種々考案され、そのうちのいくつかは実用化さ
れてきた。このようなアレイ演算用のデータ処理装置に
は、下に示すようないくつかの形式に分類される。
A、 FFTプロセッサのように、アレイ演算でも特
定の種類の演算のみの高速化を図った専用のプロセッサ
。
定の種類の演算のみの高速化を図った専用のプロセッサ
。
B、汎用計算機にその入出力インターフェースを介して
接続され、一般の科学技術計算におけるアレイ演算を汎
用計算機よりも高速に実行するアレイ・プロセッサ。
接続され、一般の科学技術計算におけるアレイ演算を汎
用計算機よりも高速に実行するアレイ・プロセッサ。
C0汎用計算機の中央処理装置を共有し、アレイ演算専
用の機能を付加した内蔵アレイ・プロセッサ。
用の機能を付加した内蔵アレイ・プロセッサ。
D、超高速に科学技術計算におけるアレイ演算を処理す
るスーパーコンピュータ。
るスーパーコンピュータ。
上記のうち、Aの形式の専用プロセッサにおいては、そ
の構成はある特定の処理に向いたものとなっており、限
られた種類の演算を対象としている。このため、対象と
している演算の処理は高速に行なえるが、対象外の演算
は全く行なえないか。
の構成はある特定の処理に向いたものとなっており、限
られた種類の演算を対象としている。このため、対象と
している演算の処理は高速に行なえるが、対象外の演算
は全く行なえないか。
あるいは行なえるとしても非常に低速の処理となυ、処
理の柔軟性に欠けるという欠点があった。
理の柔軟性に欠けるという欠点があった。
また、上記Bの形式のアレイ・プロセッサでは。
処理の柔軟性はあるが、特定の処理を考えたとき。
汎用計算機に比べて処理性能は改善されるものの。
専用プロセッサが必要な分野に適用できるほどの処理性
能は有していないという欠点があった。また、汎用計算
機の入出力装置の1つとして接続されているため、ある
1つの演算から他の演算に処理が移るときには入出力の
オーバーヘッドが太きいという欠点もあった。
能は有していないという欠点があった。また、汎用計算
機の入出力装置の1つとして接続されているため、ある
1つの演算から他の演算に処理が移るときには入出力の
オーバーヘッドが太きいという欠点もあった。
さらに、上記Cの形式の内蔵アレイ・プロセッサでは、
処理の柔軟性は汎用計算機の中央処理装置を共有してい
るため充分にあるが、その反面。
処理の柔軟性は汎用計算機の中央処理装置を共有してい
るため充分にあるが、その反面。
処理性能は上記Bの形式のアレイ・プロセッサはどは改
善されないという欠点があった。
善されないという欠点があった。
上記りの形式のスーパーコンピュータでは、大規模科学
技術計算を指向しており、処理は非常に高速に行なえる
。一般に、スーパーコンピュータでは取り扱えるデータ
幅も広く精度良く計算が行寿えるようになっている。し
かし、構成は大規模であり、精度をそれほど要求しない
応用に対しては、高価過ぎるという欠点があった。
技術計算を指向しており、処理は非常に高速に行なえる
。一般に、スーパーコンピュータでは取り扱えるデータ
幅も広く精度良く計算が行寿えるようになっている。し
かし、構成は大規模であり、精度をそれほど要求しない
応用に対しては、高価過ぎるという欠点があった。
以上のことより、@記憶 −Dの形式のデータ処理装置
を次のような条件を要求する応用に対して用いることは
不適当である。
を次のような条件を要求する応用に対して用いることは
不適当である。
一科学技術計算、とくに、アレイ計算を主体とする。
一専用プロセッサとはゾ同等の高速な処理を行なう。
一演算の精度はそれほど要求しない。
−プログラムにより処理内容を動的に変更できる。
一処理内容の変更に伴うオーバーヘッドが小さい0
〔発明の概要〕
本発明は、このような市川に対して、高速でかつ柔軟性
ああるアレイ演算用データ処理装置を提供し、前述の従
来のアレイ演算用データ処理装置の欠点を補うためにな
されたもので、特許請求の範囲に記載したように構成し
たことを特徴とするものである。
ああるアレイ演算用データ処理装置を提供し、前述の従
来のアレイ演算用データ処理装置の欠点を補うためにな
されたもので、特許請求の範囲に記載したように構成し
たことを特徴とするものである。
実施例
第1図は1本発明に従うアレイ演算用データ処理装置全
体の概略を示すものである。図中。
体の概略を示すものである。図中。
(1oo)、 (2oo)、 (soo)、 (40C
)、 (500)は機能ユニットを示し、 (10)、
(20)、 (30)は複数めバスの束(以後、これ
をバンドルと呼ぶ)を示す。
)、 (500)は機能ユニットを示し、 (10)、
(20)、 (30)は複数めバスの束(以後、これ
をバンドルと呼ぶ)を示す。
第1図において、大欧のデータ(アレイ・データおよび
スカシ・データ)およびプログラムは大容最の記憶部を
持つグローバル・メモリ・ユニツ1− (100)に記
憶され、実行しようとするプログラムおよびこれに関係
したデータはメモリ・バンドル(11)ヲ介して、コン
トロール・プロセッサ・ユニツh (200)内のロー
カル・プログラム・メモリ(210)に転送される。
スカシ・データ)およびプログラムは大容最の記憶部を
持つグローバル・メモリ・ユニツ1− (100)に記
憶され、実行しようとするプログラムおよびこれに関係
したデータはメモリ・バンドル(11)ヲ介して、コン
トロール・プロセッサ・ユニツh (200)内のロー
カル・プログラム・メモリ(210)に転送される。
第1図に示されているデータ処理装置に関するほとんど
全ての制御を、コントロール・プロセッサ・ユニツl−
(200)が、その内部に持つローカル・プログラム・
メモリ(210)に格納されているプログラムを、同じ
くその内部にあるプログラム実行ユニツ) (220)
で実行することによって行なう。コントロール・プロセ
ッサ・ユニットは。
全ての制御を、コントロール・プロセッサ・ユニツl−
(200)が、その内部に持つローカル・プログラム・
メモリ(210)に格納されているプログラムを、同じ
くその内部にあるプログラム実行ユニツ) (220)
で実行することによって行なう。コントロール・プロセ
ッサ・ユニットは。
ローカル・プログラム・メモリ(210)を主記憶とし
、プログラム実行ユニット(220)を中央処理装置と
する計算機と見なすことができる。C5従って。
、プログラム実行ユニット(220)を中央処理装置と
する計算機と見なすことができる。C5従って。
コントロール・プロセッサ・ユニット(200)でのプ
ログラムの実行は1通常、その内部で閉じた形で行なわ
れ、新しくプログラムが必要になった場合やプログラム
の実行結果をグローバルメモリ・ ′ユニツ) (10
0)に格納する必要が生じた場合などニ限って、グロー
バル・メモリ・ユニッh (ioo)とコントロール・
プロセッサ・ユニッ) (200)トの間でデータ転送
が行なわれる。このことにより。
ログラムの実行は1通常、その内部で閉じた形で行なわ
れ、新しくプログラムが必要になった場合やプログラム
の実行結果をグローバルメモリ・ ′ユニツ) (10
0)に格納する必要が生じた場合などニ限って、グロー
バル・メモリ・ユニッh (ioo)とコントロール・
プロセッサ・ユニッ) (200)トの間でデータ転送
が行なわれる。このことにより。
クローバル・メモリ・ユニッI=(100)へノ定常的
なデータ・アクセスをなくシ、他の機能ユニットがアク
セスする機会を増やしている。
なデータ・アクセスをなくシ、他の機能ユニットがアク
セスする機会を増やしている。
コンドロールーフ
のプログラム実行ユニット(22o)は、ローカル・プ
ログラム・メモリ(210)とバンドル(40)によっ
て接j読され,これを介して命令のフェッチ、データの
読み出し,およびデータの書き込みが行なわれる。プロ
クラム実行ユニッl− (220)は、本データ処理装
置に機械命令として定義されているマクロ命令を逐次実
行するもので,マイクロブロクラームによって,マクロ
命令の読み出し,、解読,データの読み出し,実行,実
行結果の書き込み等が制御される。
ログラム・メモリ(210)とバンドル(40)によっ
て接j読され,これを介して命令のフェッチ、データの
読み出し,およびデータの書き込みが行なわれる。プロ
クラム実行ユニッl− (220)は、本データ処理装
置に機械命令として定義されているマクロ命令を逐次実
行するもので,マイクロブロクラームによって,マクロ
命令の読み出し,、解読,データの読み出し,実行,実
行結果の書き込み等が制御される。
グローバル・メモリ・ユニット(1oo)に記憶されて
いる大量のアレイ・データを処理するのは。
いる大量のアレイ・データを処理するのは。
メモリ・バンドルGO+に接続されたアレイ・プロセッ
サ・ユニット(300)で、これは、ローカル・データ
・メモリ(310)とアレイ演算実行ユニット(320
)とから構成される。処理するアレイ・データは,まス
,グローバル・メモリ・ユ゛ニット(ioo)よりロー
カル・データ・メモリ(31 Cl )に転送され。
サ・ユニット(300)で、これは、ローカル・データ
・メモリ(310)とアレイ演算実行ユニット(320
)とから構成される。処理するアレイ・データは,まス
,グローバル・メモリ・ユ゛ニット(ioo)よりロー
カル・データ・メモリ(31 Cl )に転送され。
この後,アレイ演算実行ユニツl− (320)にロー
カル・データ・メモリ(310)から取り出されたデー
タが供給され,処理された後,結果をローカル・データ
・メモリ(310)に返す。ローカル・データ・メモリ
(310)とアレイ演算実行ユニット(320)との間
で,バンドル(50)を介してデータの授受を行ないな
がら,必要な回数だけ,この処理サイクルを繰り返す。
カル・データ・メモリ(310)から取り出されたデー
タが供給され,処理された後,結果をローカル・データ
・メモリ(310)に返す。ローカル・データ・メモリ
(310)とアレイ演算実行ユニット(320)との間
で,バンドル(50)を介してデータの授受を行ないな
がら,必要な回数だけ,この処理サイクルを繰り返す。
最終的な結果がローカル・データ・メモリ(3 10
)に格納された後,これよりグローバル・データ・メモ
IJ(100)に転送される。
)に格納された後,これよりグローバル・データ・メモ
IJ(100)に転送される。
機能ユニット(400 )は外部インターフェース・ユ
ニットで,これと入出カバンドル(30)を介し−て接
続される例えばディスグレイ装置および実時間信号入力
装置等の入出力装置(500a) 、 (soob)と
グローバル・メモリ・ユニツB1o’o)との間でのデ
ータ転送を制御する。
ニットで,これと入出カバンドル(30)を介し−て接
続される例えばディスグレイ装置および実時間信号入力
装置等の入出力装置(500a) 、 (soob)と
グローバル・メモリ・ユニツB1o’o)との間でのデ
ータ転送を制御する。
コントロール・プロセッサ・ユニット(200]’!
。
。
データ処理装置全体の制御を行なうために,制御バンド
ル(20)を介して,アレイ・プロセッサ・ユニット(
300) 、グローバル・メモリ・ユニット(100)
、外部インターフェース・ユニット(400)に対し制
御データを送出したり,あるいはCれらの機能ユニット
の状態に関するデータを読み込んだりする。アレイ・プ
ロセッサ・ユニツl− (300)に対するアレイ演算
の制御あるいは外部インターフェース・ユニツl− (
400)に対する入出力データの転送制御はこの制御バ
ンドル(2旬を用いて行なわれる。
ル(20)を介して,アレイ・プロセッサ・ユニット(
300) 、グローバル・メモリ・ユニット(100)
、外部インターフェース・ユニット(400)に対し制
御データを送出したり,あるいはCれらの機能ユニット
の状態に関するデータを読み込んだりする。アレイ・プ
ロセッサ・ユニツl− (300)に対するアレイ演算
の制御あるいは外部インターフェース・ユニツl− (
400)に対する入出力データの転送制御はこの制御バ
ンドル(2旬を用いて行なわれる。
次忙,アレイ演算実行ユニツ) (320)の構成を第
2図に示す。図中, (330) 、 (3+1a)〜
(331c) 。
2図に示す。図中, (330) 、 (3+1a)〜
(331c) 。
(332a) 〜(332f) 、 (333a) 〜
(333g) 、(334a) 〜(334d)、 (
33s) 、 (336a) 〜(336b)は演算器
, (340) 、 (341)、 (342)はデー
タ・バンドルを示す。
(333g) 、(334a) 〜(334d)、 (
33s) 、 (336a) 〜(336b)は演算器
, (340) 、 (341)、 (342)はデー
タ・バンドルを示す。
演算器は,コントロール・プロセッサ・ユニット・イン
ターフェース(330) 、ローカル・データ・メモリ
・入力インターフェース(351a)〜(331c)
。
ターフェース(330) 、ローカル・データ・メモリ
・入力インターフェース(351a)〜(331c)
。
算術論理演算器(332a) 〜(332f) 、遅延
器(333a) 〜(333g) 、乗算器(3541
1) 〜(+34d) ’,シフタ(335) 。
器(333a) 〜(333g) 、乗算器(3541
1) 〜(+34d) ’,シフタ(335) 。
ローカル・データ・メモリ・出力インターフェース(3
36a) 、 (336d)から成り.これらの演算器
の入出力はそれぞれ第2図に示すようにデータ・バンド
ルに接続されている。
36a) 、 (336d)から成り.これらの演算器
の入出力はそれぞれ第2図に示すようにデータ・バンド
ルに接続されている。
通常,ローカル・データ・メモリ(ろ10)から読み出
されるデータを,ローカル・データ・メモリ・入力イン
ターフェース(331a)〜(331c)を介して各種
の演算器に送られ′,演算結果はローカル・データ・メ
モリ・出力インターフェース(536a)〜(356b
) ’s:介してロール・データ・メモリ(310)に
格納される。データ・バンドル(340) 、 (34
1) 、 (342)は複数のデータ・バスから成って
いるため、演算器間のデータ転送は複数同時に行える。
されるデータを,ローカル・データ・メモリ・入力イン
ターフェース(331a)〜(331c)を介して各種
の演算器に送られ′,演算結果はローカル・データ・メ
モリ・出力インターフェース(536a)〜(356b
) ’s:介してロール・データ・メモリ(310)に
格納される。データ・バンドル(340) 、 (34
1) 、 (342)は複数のデータ・バスから成って
いるため、演算器間のデータ転送は複数同時に行える。
ローカル・データ・メモリ・入力インターフェース(3
31a)〜(331C)を介して入力されたデータに対
してどのような演算が行なわれるかは各演算器の入力デ
ータ選択および昏データ・バンドルのデータ選択に依存
するもので、アレイ演算の種類に応じて任意に決定でき
るようになっている。
31a)〜(331C)を介して入力されたデータに対
してどのような演算が行なわれるかは各演算器の入力デ
ータ選択および昏データ・バンドルのデータ選択に依存
するもので、アレイ演算の種類に応じて任意に決定でき
るようになっている。
各演算器はそれぞれ入力データ選択回路に接続される演
算回路、演算回路の結果を保持するレジスタおよびレジ
スタに保持されたデータ乞データ・バンドルに出力する
選択回路から構成される。
算回路、演算回路の結果を保持するレジスタおよびレジ
スタに保持されたデータ乞データ・バンドルに出力する
選択回路から構成される。
演算回路の一例として、第2図に示す算術論理演算器(
332a)の構成を第3図に示す。図中(340a)〜
(340d)はデータ・バンドル(340) ’g構成
するデータ・バス、 (350a) 、 (350b)
は入力データ選択回路、 (351)は算術論理演算回
路、 (352)は演算結果を保持するレジスタ、 (
sss)v4出力データ選択回路、 (341a) 、
(341b)はデータ・バンドル(641)の一部を
なすデータ・ノ(スである。
332a)の構成を第3図に示す。図中(340a)〜
(340d)はデータ・バンドル(340) ’g構成
するデータ・バス、 (350a) 、 (350b)
は入力データ選択回路、 (351)は算術論理演算回
路、 (352)は演算結果を保持するレジスタ、 (
sss)v4出力データ選択回路、 (341a) 、
(341b)はデータ・バンドル(641)の一部を
なすデータ・ノ(スである。
1つの演算器と他の演算器とがデータ・)(スで接続さ
れているとき、演算器のレジスタに保持されたデータが
他の演算器の入力となり、演算回路を通って結果がレジ
スタに保持されるような)くスができる。第2図に示さ
れたアレイ演算実行ユニットは、このようなレジスタか
らレジスタまでのバスをデータが1サイクルで通るよう
に考慮されている。即ち、アレイ演算実行ユニット(3
20)では、1サイクル毎に1つの演算が演算器で行な
われる。全て゛の演算器のレジスタは同期して動作する
ようになっており、1サイクルごとにローカル・データ
・メモリ・入力インターフェース(331a)〜(33
1c)からデータが入力されれば、1サイクルごとにロ
ーカル・データ・メモリ・出力インターフェース(33
6a)〜(336b)から演算結果が出力される。
れているとき、演算器のレジスタに保持されたデータが
他の演算器の入力となり、演算回路を通って結果がレジ
スタに保持されるような)くスができる。第2図に示さ
れたアレイ演算実行ユニットは、このようなレジスタか
らレジスタまでのバスをデータが1サイクルで通るよう
に考慮されている。即ち、アレイ演算実行ユニット(3
20)では、1サイクル毎に1つの演算が演算器で行な
われる。全て゛の演算器のレジスタは同期して動作する
ようになっており、1サイクルごとにローカル・データ
・メモリ・入力インターフェース(331a)〜(33
1c)からデータが入力されれば、1サイクルごとにロ
ーカル・データ・メモリ・出力インターフェース(33
6a)〜(336b)から演算結果が出力される。
従って、演算のパイプライン処理が可能となる。
演算のパイプライン処理の例として、第4図に示すFF
T (高速フーリエ変換)にお(・てよく用(・られる
バタフライ演算を考える。第4図に示す〕くタフライ演
算は2次の式を図式化したものである。
T (高速フーリエ変換)にお(・てよく用(・られる
バタフライ演算を考える。第4図に示す〕くタフライ演
算は2次の式を図式化したものである。
ここで、Wは回転因子を示し、P、Q、W、P、Q′
は全て複素数(実数部および虚数部はそれぞれ整数)
である。
は全て複素数(実数部および虚数部はそれぞれ整数)
である。
バタフライ演算を行なうために、アレイ演算実行ユニツ
) (320)乞構成した様子を第5図に示す。
) (320)乞構成した様子を第5図に示す。
図中、 (331a)〜(331c) 、 (332a
)〜(332f) 、 (333a) 。
)〜(332f) 、 (333a) 。
(333c) 〜(333d) 、 (334a)〜(
354d) 、 (336a) 、 (336b)は第
2図に示したものと同じ演算器2示し、 (340a)
〜(340d)はデータ・バンドル(340)のf−ト
バス、 (341a)〜(341i)はデータ・バンド
ル(341)のデータ・バス、 (342a)〜(34
2c)はデータ・バンドル(542)のデータ・バスを
示す。
354d) 、 (336a) 、 (336b)は第
2図に示したものと同じ演算器2示し、 (340a)
〜(340d)はデータ・バンドル(340)のf−ト
バス、 (341a)〜(341i)はデータ・バンド
ル(341)のデータ・バス、 (342a)〜(34
2c)はデータ・バンドル(542)のデータ・バスを
示す。
第5図で示されているバタフライ演算は9式(1)とは
少し異なり、データ長が短かいために生じる可能性のあ
るオーバーフローを避けろため1式(2)に示すような
演算となっている。
少し異なり、データ長が短かいために生じる可能性のあ
るオーバーフローを避けろため1式(2)に示すような
演算となっている。
ここで、第5図の構成を説明するため、以下のことを仮
定する。
定する。
■データ長:1ワードY2nビットとする。
■実数データ=nビット(半ワード)又ハス0ビツト(
1ワード) ただし、「実数」とは「複素数」に対する言葉で、実際
には符号付きの整数。
1ワード) ただし、「実数」とは「複素数」に対する言葉で、実際
には符号付きの整数。
■複素数テーク:実数部nビット(半ワード)。
虚数部nビット(半ワード)
複素数、X =’R6(X) + j工m−(X)に対
し、実数部Re(X)も虚数部Im (X)もともにn
ビット(半ワード)の符号付き整数で表わされ、1ワー
ドに、Rθ(X)と工m (X)がパックされており、
この1ワードで1つの複素数を表わすものとする。
し、実数部Re(X)も虚数部Im (X)もともにn
ビット(半ワード)の符号付き整数で表わされ、1ワー
ドに、Rθ(X)と工m (X)がパックされており、
この1ワードで1つの複素数を表わすものとする。
■演算器のデータ幅=nビット(半ワード)×2又は2
0ビツト(1ワード)×1 乗算器を除く全ての演算器は、全ワード・モードと半ワ
ード・モードがあり、全ワード・モードにおいては、
2nビツト(1ワード)のデータ幅で演算を行ない、半
ワード・モードでは、 2nビツトの1つの演算器が2
つのnビットの演算器に分割され、各々独立に演算でき
るものとする。ただし2乗算器はモードの区別なくnビ
ットのオペランドの乗算を行ない、結果172n ビ
ットで表わすものとする。
0ビツト(1ワード)×1 乗算器を除く全ての演算器は、全ワード・モードと半ワ
ード・モードがあり、全ワード・モードにおいては、
2nビツト(1ワード)のデータ幅で演算を行ない、半
ワード・モードでは、 2nビツトの1つの演算器が2
つのnビットの演算器に分割され、各々独立に演算でき
るものとする。ただし2乗算器はモードの区別なくnビ
ットのオペランドの乗算を行ない、結果172n ビ
ットで表わすものとする。
■データ・バス二〇ビット(半ワード)×21つのデー
タ・バスは2nビツトから成るが、演算器の出力レジス
タからデータ・バスへのデータ出力の選択はnビット単
位で可能とする。
タ・バスは2nビツトから成るが、演算器の出力レジス
タからデータ・バスへのデータ出力の選択はnビット単
位で可能とする。
以上のことを仮定して、第5図に示される各演算器にお
ける演算を以下に示す。ただし、〈F〉は全ワード・モ
ードでの演算を示し、くH〉は半ワード・モードでの演
算を示す。
ける演算を以下に示す。ただし、〈F〉は全ワード・モ
ードでの演算を示し、くH〉は半ワード・モードでの演
算を示す。
−ローカル・データ・メモリ・入力インターフェース(
531a) <H>データP = R
6(P)十j工m fP)を入力する。
531a) <H>データP = R
6(P)十j工m fP)を入力する。
−ローカル・データ・メモリ・入力インターフェース(
631b) <H>データQ = R
e (Q) + 、IIm (Q)を入力−する。
631b) <H>データQ = R
e (Q) + 、IIm (Q)を入力−する。
−ローカル・データ・メモリ・入力インターフェース(
331C) <H>データW==Rθ
(W)十jIm倣)を入力する。
331C) <H>データW==Rθ
(W)十jIm倣)を入力する。
−算術論理演算器(332a) <H>X =?
R6(P) 十;) 、工m (P)−算術論理演算
器(332b) y =−7Re (Q)+ j÷工m (にL)−遅延
器(333a) <H>Z = W =
R6(W) + jIm(W)−乗算器(334a) Drr = R6(Y) x Re (Zl−乗算器(
334b) Dri = REJ (Y) XIm(Z)−乗算器(
634c) Dir= 1m (y) x Re (z)−乗算器(
334d) Dii =Im jY) XIm(Z)−遅延器(33
3c )<H> 0 =Z =Re(Z)+ jIm (Z)−算術論理
演算器(552C)<F> Br = Drr + Dii −算術論理演算器(632d)<F〉 Ei = Dri + Dir −遅延器(333(1) (H)B =
C= Re (0) + jIm (C)−算術論理
演算器(662θ) 〈H〉F’= (Re(B)
十Er/znl+j (Im(B)+Ei/2” 1−
算術論理演算器(332f) <H>Gl’ =
(Re (B) Er/!Ω)十j(1m(B)
−F:V′2n ]以上のようなアレイ演算実行ユニッ
トは、演算の精度をあまり要求しない整数演算で充分な
応用にlid] t、・ており、演算器の接続を動的に
変更することにより応用に合った柔軟な構成をとること
ができる。
R6(P) 十;) 、工m (P)−算術論理演算
器(332b) y =−7Re (Q)+ j÷工m (にL)−遅延
器(333a) <H>Z = W =
R6(W) + jIm(W)−乗算器(334a) Drr = R6(Y) x Re (Zl−乗算器(
334b) Dri = REJ (Y) XIm(Z)−乗算器(
634c) Dir= 1m (y) x Re (z)−乗算器(
334d) Dii =Im jY) XIm(Z)−遅延器(33
3c )<H> 0 =Z =Re(Z)+ jIm (Z)−算術論理
演算器(552C)<F> Br = Drr + Dii −算術論理演算器(632d)<F〉 Ei = Dri + Dir −遅延器(333(1) (H)B =
C= Re (0) + jIm (C)−算術論理
演算器(662θ) 〈H〉F’= (Re(B)
十Er/znl+j (Im(B)+Ei/2” 1−
算術論理演算器(332f) <H>Gl’ =
(Re (B) Er/!Ω)十j(1m(B)
−F:V′2n ]以上のようなアレイ演算実行ユニッ
トは、演算の精度をあまり要求しない整数演算で充分な
応用にlid] t、・ており、演算器の接続を動的に
変更することにより応用に合った柔軟な構成をとること
ができる。
第2図に示きれたアレイ・プロセッサ・ユニット(30
り内のアレイ演算実行ユニン1−(32りの構成と機能
の制御は1本発明の核心ヶなすものであり、これを以下
に述べる。
り内のアレイ演算実行ユニン1−(32りの構成と機能
の制御は1本発明の核心ヶなすものであり、これを以下
に述べる。
第1図において、アレイ・プロセッサ・ユニット<3o
o) u、 制御バンドル(社)を介してコントロール
・プロセッサ・ユニット(2oりの制御ン受ける。
o) u、 制御バンドル(社)を介してコントロール
・プロセッサ・ユニット(2oりの制御ン受ける。
制御バンドル(201は、第6図に示されるように、コ
ントロール・プロセッサ・ユニット(2oo)内のプロ
クラム実行ユニット(22o)内のコントロール・:I
マント・レジスタ(221)およびコントロール・デ
ータ・レジスタ(’222)に接続されたコントロール
・コマンド・バスQυとコントロール・データ・バス(
22)から構成てれる。
ントロール・プロセッサ・ユニット(2oo)内のプロ
クラム実行ユニット(22o)内のコントロール・:I
マント・レジスタ(221)およびコントロール・デ
ータ・レジスタ(’222)に接続されたコントロール
・コマンド・バスQυとコントロール・データ・バス(
22)から構成てれる。
コントロール・コマンド・バスQυハ、フログラム実行
ユニッ1−(22りが他のユニットヲ制御する際に、ユ
ニットヲ識別するためのユニット番号と何をするかを示
すコマンドおよびデータ2送るためのもので、一方、コ
ントロール・データ・バスQ21は、プログラム実行ユ
ニット(22りがら他のユニントヘ、あるいはその逆の
方向へデータ転送を行なうためのものである。
ユニッ1−(22りが他のユニットヲ制御する際に、ユ
ニットヲ識別するためのユニット番号と何をするかを示
すコマンドおよびデータ2送るためのもので、一方、コ
ントロール・データ・バスQ21は、プログラム実行ユ
ニット(22りがら他のユニントヘ、あるいはその逆の
方向へデータ転送を行なうためのものである。
コントロール・コマンド・レジスタ(221)およびコ
ン1゛ロール・データ・レジスタ(222)に値を七ン
)・するのは、プログラム実行ユニソl−(220)で
実行訟れるマイクロ命令であり、また、コマンドおよび
データ等の送出およびデータの受は取りの制御もマイク
ロ命令が行なう。
ン1゛ロール・データ・レジスタ(222)に値を七ン
)・するのは、プログラム実行ユニソl−(220)で
実行訟れるマイクロ命令であり、また、コマンドおよび
データ等の送出およびデータの受は取りの制御もマイク
ロ命令が行なう。
以上のような制御バンドル■は、アレイ演算実行ユニソ
l−(320)において、1つの演算器に対して、入力
データの選択と機能ヶ制御する制御モジュール、あるい
1屯1つのデータ・バスへの入力データを選択するため
に演算器の出刃?制御する制御モジュールに接続されて
いる。これを第7図に示す。
l−(320)において、1つの演算器に対して、入力
データの選択と機能ヶ制御する制御モジュール、あるい
1屯1つのデータ・バスへの入力データを選択するため
に演算器の出刃?制御する制御モジュールに接続されて
いる。これを第7図に示す。
第7図(a)において、 (3SOa) 、 (3
60b) 、 (360c)は制御%シ、=t、 −ル
4示、t、、 (370a)、(370b)、(’+
70c、は演算器又はデータ・バスン示す。1だ、第7
図(’bJには、制御モジュール(560,)が制御デ
ータ・メモリ(361)、データ選択回路(3<52)
、および制御レジスタ(36りから構成でれ、制御レ
ジスタ(363)から制御信号が演算器又はテーク・メ
モIJ (370)に送られることが示されている。
60b) 、 (360c)は制御%シ、=t、 −ル
4示、t、、 (370a)、(370b)、(’+
70c、は演算器又はデータ・バスン示す。1だ、第7
図(’bJには、制御モジュール(560,)が制御デ
ータ・メモリ(361)、データ選択回路(3<52)
、および制御レジスタ(36りから構成でれ、制御レ
ジスタ(363)から制御信号が演算器又はテーク・メ
モIJ (370)に送られることが示されている。
第7図(b)において、演算器の入力データ選択および
機能の制御あるいはデータ・バスへの演算器出力の入力
選択制御を行なうため制御データが制御レジスタ(56
5)に保持でれておシ、この制御データは1通常9種々
の制御データを保持している制御データ・メモリ(36
1)から読み出湯れる。制御データ・メモリ(561)
のアドレスは制御バンドル四のコントロール・コマンド
・バス(2+1 から与えられる。また、コントロール
・データ・バス(221がらのデータを直接制御レジス
タ(565)にセットできるようにデータ選択回路+
362 )が設けられている。
機能の制御あるいはデータ・バスへの演算器出力の入力
選択制御を行なうため制御データが制御レジスタ(56
5)に保持でれておシ、この制御データは1通常9種々
の制御データを保持している制御データ・メモリ(36
1)から読み出湯れる。制御データ・メモリ(561)
のアドレスは制御バンドル四のコントロール・コマンド
・バス(2+1 から与えられる。また、コントロール
・データ・バス(221がらのデータを直接制御レジス
タ(565)にセットできるようにデータ選択回路+
362 )が設けられている。
以上のエラな制御モジュールを設けることによ、シ、ア
レイ演算実行ユニットで行なわnる演算のうち、頻繁に
行なわれる演算に対する制御データンあらかじめ制御デ
ータ・メモリ(361)に格納し7オffff、 l1
1mハンドル■のコントロール、コマンド・バスeυを
介してアドレスを与えるタケテ。
レイ演算実行ユニットで行なわnる演算のうち、頻繁に
行なわれる演算に対する制御データンあらかじめ制御デ
ータ・メモリ(361)に格納し7オffff、 l1
1mハンドル■のコントロール、コマンド・バスeυを
介してアドレスを与えるタケテ。
このアドレスに記憶でれている制御データが読み出をれ
て制御レジスタにセントlれる。また、制御データ・メ
モリ(36りに格納されていない制御データがあれば、
制御バンドル■のコントロール。
て制御レジスタにセントlれる。また、制御データ・メ
モリ(36りに格納されていない制御データがあれば、
制御バンドル■のコントロール。
データ・バス(22ヲ用いて直接制御レジスタ(363
)に制御データを直接セットすることが可能である。
)に制御データを直接セットすることが可能である。
第8図に、第7図に示場扛だ制御モジュールを設ケたこ
とにより、コントロール・コマンド・バスに1つのアド
レス2与えれば、これに応じて。
とにより、コントロール・コマンド・バスに1つのアド
レス2与えれば、これに応じて。
全ての制御モジュール内の制御データ・メモリに格納さ
nている制御データが同時に読み出されそれぞれの制御
レジスタにセットセ汎ることを示す。
nている制御データが同時に読み出されそれぞれの制御
レジスタにセットセ汎ることを示す。
図中、 (31a、)、(361bつ、(361c’
) はそれぞれ異なった制御モジュールの制御データ
・メモリを示し。
) はそれぞれ異なった制御モジュールの制御データ
・メモリを示し。
(363a) 、 (366b) 、 (363c、)
はそれぞれの制御レジスタを示す。
はそれぞれの制御レジスタを示す。
第8図においては、コントロール・コマンド・ハス(2
gにFFT制御データ・アドレスが与えられると、全て
の制御データ・メモリの同一アドレスに格納埒れている
FFT制御データが読み出をれで制御レジスタにセット
ジ詐ることケ示している。
gにFFT制御データ・アドレスが与えられると、全て
の制御データ・メモリの同一アドレスに格納埒れている
FFT制御データが読み出をれで制御レジスタにセット
ジ詐ることケ示している。
このような機能KLp、多くの演算器に対する多くの制
御データ乞制御レジスタにセットするのに要する時間ン
大幅に削減することが可能となる。
御データ乞制御レジスタにセットするのに要する時間ン
大幅に削減することが可能となる。
これはすなわち、アレイ演算実行ユニット内で各種のア
レイ演算火行なうのに適した構成ヶ動的につくるための
オーバーヘッド欠減少することにつながるものである。
レイ演算火行なうのに適した構成ヶ動的につくるための
オーバーヘッド欠減少することにつながるものである。
次に1以上述べたようがアレイ演算実行ユニット(52
りにおける演算器およびこれケ制御するための制御モジ
ュールの構成を効果的に用いることによシ、プログラム
の実行ン高速に行なえる例について述べる。
りにおける演算器およびこれケ制御するための制御モジ
ュールの構成を効果的に用いることによシ、プログラム
の実行ン高速に行なえる例について述べる。
第9図に、FFT(高速フーリエ変換)ン行なうプログ
ラムの一部乞示す。プログラムの意味は以下の通りであ
る。
ラムの一部乞示す。プログラムの意味は以下の通りであ
る。
第100行 レジスタR3をFFTのループ・カウンタ
に用いる。第8図の例ではルー プ乞4回行なう工うにR3に−470 −ドする。
に用いる。第8図の例ではルー プ乞4回行なう工うにR3に−470 −ドする。
、 第101行: FFTのループの先
頭で、レジスタROニ、クローバル・メモリ・ユニット に格納埒れているデータの先頭アド レス乞SAからロードする。
頭で、レジスタROニ、クローバル・メモリ・ユニット に格納埒れているデータの先頭アド レス乞SAからロードする。
第102行゛レジスタR1にデータ・セラ1数ンDSN
からロードする。
からロードする。
第103行 レジスタR2にFFTのサンプル点数32
乞ロードする。
乞ロードする。
第104行:レジスタRQ 、 R1,R2にそれぞれ
格納てれた。データの先頭アドレス。
格納てれた。データの先頭アドレス。
データ・セット数、およびサンプル
点数装用いてFFTを行なう。
第105行゛レジスタR4にデータ・セント数′f!:
:ロードする〇 第106行 レジスタR4の内容とレジスタR2の内容
7掛は合わせて、結果tレジス タR4(積の上位部分)とR5(積の下位部分)に入れ
る。これによって。
:ロードする〇 第106行 レジスタR4の内容とレジスタR2の内容
7掛は合わせて、結果tレジス タR4(積の上位部分)とR5(積の下位部分)に入れ
る。これによって。
FFT Y行なったデータ数を計算する。
第107行°第106行で計算した積の下位部分(レジ
スタRs)乞データの先頭アド レス(レジスタRG)に加える。これ によって1次のFFTのためのデータ の先頭アドレス乞生成する。
スタRs)乞データの先頭アド レス(レジスタRG)に加える。これ によって1次のFFTのためのデータ の先頭アドレス乞生成する。
第108行 第101行で計算した次のFFTのための
データの先頭アドレス乞SAに格 納する。
データの先頭アドレス乞SAに格 納する。
第109行:ループカウンタであるレジスタR3に1加
える。
える。
第110行 第109行での演算結果が0であればラベ
ルNEXTで示される第113行へ分岐し、そうでなけ
れば次の第111 行へ移る。
ルNEXTで示される第113行へ分岐し、そうでなけ
れば次の第111 行へ移る。
第111行:第104行で実行路せたFF’Tが終了し
たかどうかンチェックするもので。
たかどうかンチェックするもので。
終了していれば第101行のLOOPへ分岐し、そうで
なければ次の行へ移 る。
なければ次の行へ移 る。
第112行:無条件分岐で、ラベルTSTLで示される
第111行へ分岐する。
第111行へ分岐する。
第9図で示されたプログラムでFi、第104行のCM
F命令(コール・マクロ機能命令〕でアレイ・プロセッ
サ・ユニットにおけるFFT演算が起動嘔扛る。ロード
命令LD 、 LD工、加算命令ADD 、 ADD]
乗算命令MPY 、ストマ命令ST1条件分岐命令BC
Dテスl−命令’rST flj:コントロール・プロ
セッサ・ユニツ1゛内でマイクロプログラムにより処理
てれる。
F命令(コール・マクロ機能命令〕でアレイ・プロセッ
サ・ユニットにおけるFFT演算が起動嘔扛る。ロード
命令LD 、 LD工、加算命令ADD 、 ADD]
乗算命令MPY 、ストマ命令ST1条件分岐命令BC
Dテスl−命令’rST flj:コントロール・プロ
セッサ・ユニツ1゛内でマイクロプログラムにより処理
てれる。
CMF 命令!”i、 コントロール・プロセッサ・
ユニット内のマイクロプログラムが、アレイ演算実行ユ
ニット内における演算器間の接続制御および演算器の演
算選択制御などCMF命令で指定anたアレイ演算ンア
レイ・プロセッサ・ユニツ;−で始める、のに必要な制
御を行ない、この後演算乞開始するようにアレイ・プロ
セッサ・ユニットン起動してその処理l終了する。O’
MP命令に続く命令は、アレイ・プロセッサ・ユニット
内でのアレイ演算が終了する前に処理ン行なうことがで
き、コントロール・プロセッサ・ユニットとアレイ・プ
ロセッサ・ユニットとの並列処理が可節とhる一CMF
命令で起動さfしたアレイ・プロセッサ・ユニ7+−に
おけるアレイ演算が終了したか否かン検査するために、
第9図のプログラムにおける第111行のTST命令(
テスト命令)が設けられている。
ユニット内のマイクロプログラムが、アレイ演算実行ユ
ニット内における演算器間の接続制御および演算器の演
算選択制御などCMF命令で指定anたアレイ演算ンア
レイ・プロセッサ・ユニツ;−で始める、のに必要な制
御を行ない、この後演算乞開始するようにアレイ・プロ
セッサ・ユニットン起動してその処理l終了する。O’
MP命令に続く命令は、アレイ・プロセッサ・ユニット
内でのアレイ演算が終了する前に処理ン行なうことがで
き、コントロール・プロセッサ・ユニットとアレイ・プ
ロセッサ・ユニットとの並列処理が可節とhる一CMF
命令で起動さfしたアレイ・プロセッサ・ユニ7+−に
おけるアレイ演算が終了したか否かン検査するために、
第9図のプログラムにおける第111行のTST命令(
テスト命令)が設けられている。
:、 以上のように、 CM?命令というアレイ演算
欠制、 御する専用の機械命令を設けることにより、並
列処理を可能とし、処理速度の向上ケ図ることができる
。
欠制、 御する専用の機械命令を設けることにより、並
列処理を可能とし、処理速度の向上ケ図ることができる
。
なお1以上は特定の構成をもつアレイ演算用データ処理
装置について説明したが9本発明はこれに限らず特許請
求の範囲に明示坏れている項目ケ効果的に用いたアレイ
演算用データ処理装置であればどのようなものでもよい
。
装置について説明したが9本発明はこれに限らず特許請
求の範囲に明示坏れている項目ケ効果的に用いたアレイ
演算用データ処理装置であればどのようなものでもよい
。
以上のように1本発明に係るアレイ演算用データ処理装
置では、アレイ演算実行ユニット内の多数の演算器をア
レイ演算に合わせて動的に構成することができ、かつ、
制御!客演算器に対応をせて分散させたため処理内容の
変更に伴うオーバーヘッドヶ減少ζせることができ、従
って、精度はそれほど撰求しないが高速な処理を髪求す
るアレイ演算ケ主体とする科学技術計算の応用に対し処
理の高速性と柔軟性乞提供できる効果l有する。
置では、アレイ演算実行ユニット内の多数の演算器をア
レイ演算に合わせて動的に構成することができ、かつ、
制御!客演算器に対応をせて分散させたため処理内容の
変更に伴うオーバーヘッドヶ減少ζせることができ、従
って、精度はそれほど撰求しないが高速な処理を髪求す
るアレイ演算ケ主体とする科学技術計算の応用に対し処
理の高速性と柔軟性乞提供できる効果l有する。
図はいずれもこの発明の実施例を示すもので。
第1図・・アレイ演算用データ処理装置の構成2示す図
2 第2図・・アレイ演算実行ユニットの構成2示す図。 第3図・・・算術論理演算器フ示す図。 第4図・・バタフライ演算アポす図。 第5図・・・アレイ演算実行ユニット内の演算器の接続
2示す図。 第6図・・制御バスのインターフェースを示す図。 第1図・・制御モジュールの構成乞示す図。 第8図・制御データ・メモリの読み出し乞示す図。 第9図・・プログラム例ン示す図。 図中、10.20 バスの束(バンドル)、21゜2
2・・バス、30,40,50・・・バンドル、100
・・・グローバル・メモリ・ユニット、 200・・
コントロール・プロセッサ・ユニツl−,210・・・
ローカル・プログラム・メモリ、220・・・プログラ
ム実行ユニット、 221. 222・・ルジスタ、
300・・・アレイ・フ。 ロセツサ・ユニット、310・・:ローカル・チー タ
・メモリ、320 ・アレイ演算実行ユニット、
330゜331a〜331c、 332a〜332f
’、 333a〜333g、 334a〜334d、
335. 336a〜336b ’ 演算器、
340−=バンドル、 340a〜340d・・・
ノくス、341・・・ノくンドル。 341a〜3411 ・・バス、342・・・ノくン
ドル、 342a〜342c・・・バス、 350
a〜350b・・・データ選択回路。 351 ・・算術論理演算回路、352・・・レジスタ
、353・・データ選択回路、 360. 360a
〜360C・・・制御モジュール、 361. 36
1a〜361C・・・メモリ、 362−・データ選
択回路、 363. 363a〜363c ・=レジ
スタ。 370 、 370a 〜3γoc −演算器。 なお図中、同一あるいは和尚部分には同−符号7付して
示しである。 代理人 葛 野 信 − 第3図 第4図 第5図 336a 336b 第6図 第9図 ■ +00 Lf)I +01 LOOP l +02 1 +03 LEI1 104 CMF 105 u) 06MPY 10、:、 Aef) +0a 5T IO? ADDl 1108CL) +II TSTL TST 112 6Cf) 目B NEXT 1f) 1?3. −4 ROlSA R1,f)SIJ R2,32 FF丁 R4,DSt、J R4,R2 RO,R5 RO,5A R3,1 ZEFi’Q、 NEXT CMFEND、 LOOP TRLIE、 TSTL 尺0. NSA
2 第2図・・アレイ演算実行ユニットの構成2示す図。 第3図・・・算術論理演算器フ示す図。 第4図・・バタフライ演算アポす図。 第5図・・・アレイ演算実行ユニット内の演算器の接続
2示す図。 第6図・・制御バスのインターフェースを示す図。 第1図・・制御モジュールの構成乞示す図。 第8図・制御データ・メモリの読み出し乞示す図。 第9図・・プログラム例ン示す図。 図中、10.20 バスの束(バンドル)、21゜2
2・・バス、30,40,50・・・バンドル、100
・・・グローバル・メモリ・ユニット、 200・・
コントロール・プロセッサ・ユニツl−,210・・・
ローカル・プログラム・メモリ、220・・・プログラ
ム実行ユニット、 221. 222・・ルジスタ、
300・・・アレイ・フ。 ロセツサ・ユニット、310・・:ローカル・チー タ
・メモリ、320 ・アレイ演算実行ユニット、
330゜331a〜331c、 332a〜332f
’、 333a〜333g、 334a〜334d、
335. 336a〜336b ’ 演算器、
340−=バンドル、 340a〜340d・・・
ノくス、341・・・ノくンドル。 341a〜3411 ・・バス、342・・・ノくン
ドル、 342a〜342c・・・バス、 350
a〜350b・・・データ選択回路。 351 ・・算術論理演算回路、352・・・レジスタ
、353・・データ選択回路、 360. 360a
〜360C・・・制御モジュール、 361. 36
1a〜361C・・・メモリ、 362−・データ選
択回路、 363. 363a〜363c ・=レジ
スタ。 370 、 370a 〜3γoc −演算器。 なお図中、同一あるいは和尚部分には同−符号7付して
示しである。 代理人 葛 野 信 − 第3図 第4図 第5図 336a 336b 第6図 第9図 ■ +00 Lf)I +01 LOOP l +02 1 +03 LEI1 104 CMF 105 u) 06MPY 10、:、 Aef) +0a 5T IO? ADDl 1108CL) +II TSTL TST 112 6Cf) 目B NEXT 1f) 1?3. −4 ROlSA R1,f)SIJ R2,32 FF丁 R4,DSt、J R4,R2 RO,R5 RO,5A R3,1 ZEFi’Q、 NEXT CMFEND、 LOOP TRLIE、 TSTL 尺0. NSA
Claims (1)
- 【特許請求の範囲】 大量(D 7レイ・データ、スカシ・データ、およびプ
ログラムを記憶するためのグローバル・メモリ・ユニッ
トと。 前記グローバル・メモリ・ユニットにデータ・バスを介
して接続され、実行プロクラムおよびこれに関係したデ
ータを記憶するためのローカル・プログラム・メモリお
よびプログラムを構成する機械命令に対応したマイクロ
プロクラムを記憶するためのマイクロプログラム・メモ
リを有し、前記ローカル・プログラム・メモリより順次
読み出される機械命令に対応してマイクログログラム・
メモリに記憶されたマイクロプログラムを実行すル手段
を有するコントロール・プロセッサ・ユニットと。 前記グローバル・メモリ・ユニットにデータ・ハスを介
して接続され、かつ、前記コントロール・プロセッサ・
ユニットと制御バスを介して接続され、アレイ演算に用
いるアレイ・データを記憶するためのローカル・データ
・メモリを有し、アレイ演算を行なうための算術論理演
算器あるいは乗算器等の複数の演算器を有し、前記ロー
カッし・データ・メモリと演算器とがデータ・バスによ
り接続され、また、演算器と別の演算器との間もデータ
・バスにより接続され、前記コントロール・プロセッサ
・ユニットで実行された少なくとも1つのマイクロ命令
によって前記制御バスを介して制御されるアレイ演算を
実行する手段を有するアレイ・プロセッサ・ユニットと
。 制御装置を介してディスプレイ装置および実時間信号入
力装置等の入出力装置およびホスト・プーロセツサとの
インターフェース装置を接続fき。 前言口グローバル・メモリ・ユニットとデータ・バスを
介して接続され、また、前記コントロール・プロセッサ
・ユニットと制御バスを介して接続され、前d己コント
ロール・)“ロセツサ・ユニ゛ントで実行された少なく
とも1つのマイクロ命令によつてデータの転送制御が行
なわれる外部インターフェース・ユニットと。 を含むデータ処理装置において。 a、前記アレイ・プロセッサ・ユニット内において−1
1つ又は複数の演算器および1つ又は複数のデータ・バ
スに対して各々専用の制御モジュールを設け。 b、前記制御モジュールを、これに対応した演算器ある
いはデータ・バスを制御する制御データを少なくとも1
つ記憶するための制御データ・メモリとこの制御データ
・メモリより読み出した制御データを保持するための制
御レジスタとから構成し。 C1前記制御モジュールの中で、演算器に対する制御モ
ジュールにおいて、制御レジスタに格納された制御デー
タにより、演算器の入力データを演算器の入力に接続さ
れているデータ・バスから取り込む手段と、演算器で行
なわれる演算等の選択ができるような手段を設け。 d、前記制御モジュールの中で、データ・バスに対する
制御モジュールにおいて、制御レジスタに格納された制
御データにより、データ・バスに接続されている演算器
の出力のうちいずれの出力を当該データ・バスに出すか
を選択できるような手段を設け。 e、少なくとも1つの前記アレイ・プロ、セッサ・ユニ
ットにおけるアレイ演算を制御するための専用の機械命
令を設け。 f、前記アレイ演算制御用機械命令が前記コントロール
・プロセッサ・ユニットで実行されたとき。 この機械命令に対応して実行されるマイクロ命令の少な
くとも1つが、前記アレイ・プロセッサ・ユニット内の
1つ又は複数の制御モジュールに対して同時に、アレイ
演算の種類を示すとともに当該制御モジュール内の制御
データ・メモリのアドレスをも示す1つのデータを、前
記コントロールプロセッサ・ユニットとアレイ・プロセ
ッサ・ユニットとの間の制御パスを介して送出すると、
当該制御モジュール内の制御データ・メモリより制御デ
ータが読み出され、制御レジスタに格納さ糺るような手
段を有し。 g、前記fiのようにして、前記アレイ・プロセッサ・
ユニット内の各演算器が行なうべき演算と演算器とデー
タ・バスとの間の接続を全て決定した(&14fJ記コ
ントロール・プロセラ」す・ユニット内で実行されたマ
イクロ命令によりアレイ演算を始めることができ、また
、アレイ演算の終了が前記アレイ・プロセッサ・ユニッ
トで検知されたとき。 こレヲ前記コントロール・プロセッサ・ユニットに前記
制御バスを介して知らせることができる手段 を有することを特徴とするアレイ演算用データ処理装置
。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58006082A JPS59132070A (ja) | 1983-01-18 | 1983-01-18 | アレイ演算用デ−タ処理装置 |
US06/524,326 US4825359A (en) | 1983-01-18 | 1983-08-18 | Data processing system for array computation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58006082A JPS59132070A (ja) | 1983-01-18 | 1983-01-18 | アレイ演算用デ−タ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS59132070A true JPS59132070A (ja) | 1984-07-30 |
JPH036545B2 JPH036545B2 (ja) | 1991-01-30 |
Family
ID=11628625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58006082A Granted JPS59132070A (ja) | 1983-01-18 | 1983-01-18 | アレイ演算用デ−タ処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US4825359A (ja) |
JP (1) | JPS59132070A (ja) |
Families Citing this family (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5729757A (en) * | 1985-05-20 | 1998-03-17 | Shekels; Howard D. | Super-computer system architectures using status memory to alter program |
GB2211638A (en) * | 1987-10-27 | 1989-07-05 | Ibm | Simd array processor |
US5333263A (en) * | 1987-09-25 | 1994-07-26 | Minolta Camera Kabushiki Kaisha | Digital image processing apparatus |
US4959776A (en) * | 1987-12-21 | 1990-09-25 | Raytheon Company | Method and apparatus for addressing a memory by array transformations |
FR2628553B1 (fr) * | 1988-03-08 | 1990-11-09 | Labo Electronique Physique | Systeme graphique video muni d'un curseur graphique |
GB2217058A (en) * | 1988-03-23 | 1989-10-18 | Benchmark Technologies | Processing integral transform operations |
US5003471A (en) * | 1988-09-01 | 1991-03-26 | Gibson Glenn A | Windowed programmable data transferring apparatus which uses a selective number of address offset registers and synchronizes memory access to buffer |
US5598545A (en) * | 1989-10-13 | 1997-01-28 | Texas Instruments Incorporated | Circuitry and method for performing two operating instructions during a single clock in a processing device |
EP0432359A3 (en) * | 1989-11-21 | 1993-03-17 | International Business Machines Corporation | Method and apparatus for performing memory protection operations in a parallel processor system |
JP3228927B2 (ja) * | 1990-09-20 | 2001-11-12 | 沖電気工業株式会社 | プロセッサエレメント、プロセッシングユニット、プロセッサ、及びその演算処理方法 |
JP2959104B2 (ja) * | 1990-10-31 | 1999-10-06 | 日本電気株式会社 | 信号処理プロセッサ |
US5625836A (en) * | 1990-11-13 | 1997-04-29 | International Business Machines Corporation | SIMD/MIMD processing memory element (PME) |
US5734921A (en) * | 1990-11-13 | 1998-03-31 | International Business Machines Corporation | Advanced parallel array processor computer package |
US5588152A (en) * | 1990-11-13 | 1996-12-24 | International Business Machines Corporation | Advanced parallel processor including advanced support hardware |
US5815723A (en) * | 1990-11-13 | 1998-09-29 | International Business Machines Corporation | Picket autonomy on a SIMD machine |
US5630162A (en) * | 1990-11-13 | 1997-05-13 | International Business Machines Corporation | Array processor dotted communication network based on H-DOTs |
ATE180586T1 (de) * | 1990-11-13 | 1999-06-15 | Ibm | Paralleles assoziativprozessor-system |
US5963745A (en) * | 1990-11-13 | 1999-10-05 | International Business Machines Corporation | APAP I/O programmable router |
US5590345A (en) * | 1990-11-13 | 1996-12-31 | International Business Machines Corporation | Advanced parallel array processor(APAP) |
US5765015A (en) * | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Slide network for an array processor |
US5828894A (en) * | 1990-11-13 | 1998-10-27 | International Business Machines Corporation | Array processor having grouping of SIMD pickets |
US5765012A (en) * | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Controller for a SIMD/MIMD array having an instruction sequencer utilizing a canned routine library |
US5966528A (en) * | 1990-11-13 | 1999-10-12 | International Business Machines Corporation | SIMD/MIMD array processor with vector processing |
US5809292A (en) * | 1990-11-13 | 1998-09-15 | International Business Machines Corporation | Floating point for simid array machine |
US5963746A (en) * | 1990-11-13 | 1999-10-05 | International Business Machines Corporation | Fully distributed processing memory element |
US5617577A (en) * | 1990-11-13 | 1997-04-01 | International Business Machines Corporation | Advanced parallel array processor I/O connection |
US5752067A (en) * | 1990-11-13 | 1998-05-12 | International Business Machines Corporation | Fully scalable parallel processing system having asynchronous SIMD processing |
US5765011A (en) * | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams |
US5794059A (en) * | 1990-11-13 | 1998-08-11 | International Business Machines Corporation | N-dimensional modified hypercube |
JP2770603B2 (ja) * | 1991-03-14 | 1998-07-02 | 三菱電機株式会社 | 並列計算機 |
US5594918A (en) * | 1991-05-13 | 1997-01-14 | International Business Machines Corporation | Parallel computer system providing multi-ported intelligent memory |
JP2642039B2 (ja) * | 1992-05-22 | 1997-08-20 | インターナショナル・ビジネス・マシーンズ・コーポレイション | アレイ・プロセッサ |
US6298162B1 (en) | 1992-12-23 | 2001-10-02 | Lockheed Martin Corporation | Image compression/expansion using parallel decomposition/recomposition |
GB2370380B (en) | 2000-12-19 | 2003-12-31 | Picochip Designs Ltd | Processor architecture |
GB2397668B (en) * | 2003-01-27 | 2005-12-07 | Picochip Designs Ltd | Processor array |
US20050070265A1 (en) * | 2003-09-29 | 2005-03-31 | Nokia Corporation | Method, terminal device and system for remote initiation of network applications within mobile communication environment |
US20050071610A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus for debug support for individual instructions and memory locations |
US7937691B2 (en) * | 2003-09-30 | 2011-05-03 | International Business Machines Corporation | Method and apparatus for counting execution of specific instructions and accesses to specific data locations |
US20050071816A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus to autonomically count instruction execution for applications |
US20050071821A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus to autonomically select instructions for selective counting |
US7373637B2 (en) * | 2003-09-30 | 2008-05-13 | International Business Machines Corporation | Method and apparatus for counting instruction and memory location ranges |
US20050071608A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus for selectively counting instructions and data accesses |
US7395527B2 (en) * | 2003-09-30 | 2008-07-01 | International Business Machines Corporation | Method and apparatus for counting instruction execution and data accesses |
US20050071611A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus for counting data accesses and instruction executions that exceed a threshold |
US20050071609A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus to autonomically take an exception on specified instructions |
US7421681B2 (en) * | 2003-10-09 | 2008-09-02 | International Business Machines Corporation | Method and system for autonomic monitoring of semaphore operation in an application |
US8381037B2 (en) * | 2003-10-09 | 2013-02-19 | International Business Machines Corporation | Method and system for autonomic execution path selection in an application |
US7526757B2 (en) * | 2004-01-14 | 2009-04-28 | International Business Machines Corporation | Method and apparatus for maintaining performance monitoring structures in a page table for use in monitoring performance of a computer program |
US7895382B2 (en) * | 2004-01-14 | 2011-02-22 | International Business Machines Corporation | Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs |
US7197586B2 (en) * | 2004-01-14 | 2007-03-27 | International Business Machines Corporation | Method and system for recording events of an interrupt using pre-interrupt handler and post-interrupt handler |
US7082486B2 (en) * | 2004-01-14 | 2006-07-25 | International Business Machines Corporation | Method and apparatus for counting interrupts by type |
US7392370B2 (en) | 2004-01-14 | 2008-06-24 | International Business Machines Corporation | Method and apparatus for autonomically initiating measurement of secondary metrics based on hardware counter values for primary metrics |
US7415705B2 (en) * | 2004-01-14 | 2008-08-19 | International Business Machines Corporation | Autonomic method and apparatus for hardware assist for patching code |
US7421684B2 (en) | 2004-03-22 | 2008-09-02 | International Business Machines Corporation | Method and apparatus for autonomic test case feedback using hardware assistance for data coverage |
JP4594666B2 (ja) * | 2004-07-12 | 2010-12-08 | 富士通株式会社 | 再構成可能な演算装置 |
JP2007249843A (ja) * | 2006-03-17 | 2007-09-27 | Fujitsu Ltd | 再構成可能な演算装置 |
DE102007034684A1 (de) * | 2007-07-25 | 2009-01-29 | Siemens Ag | Verfahren zum Betrieb eines Multiprozessorsystems, insbesondere im Zusammenhang mit einem medizinischen bildgebenden System |
GB2454865B (en) * | 2007-11-05 | 2012-06-13 | Picochip Designs Ltd | Power control |
GB2466661B (en) * | 2009-01-05 | 2014-11-26 | Intel Corp | Rake receiver |
GB2470037B (en) | 2009-05-07 | 2013-07-10 | Picochip Designs Ltd | Methods and devices for reducing interference in an uplink |
GB2470891B (en) | 2009-06-05 | 2013-11-27 | Picochip Designs Ltd | A method and device in a communication network |
GB2470771B (en) | 2009-06-05 | 2012-07-18 | Picochip Designs Ltd | A method and device in a communication network |
GB2474071B (en) | 2009-10-05 | 2013-08-07 | Picochip Designs Ltd | Femtocell base station |
GB2482869B (en) | 2010-08-16 | 2013-11-06 | Picochip Designs Ltd | Femtocell access control |
GB2489716B (en) | 2011-04-05 | 2015-06-24 | Intel Corp | Multimode base system |
GB2489919B (en) | 2011-04-05 | 2018-02-14 | Intel Corp | Filter |
GB2491098B (en) | 2011-05-16 | 2015-05-20 | Intel Corp | Accessing a base station |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3296426A (en) * | 1963-07-05 | 1967-01-03 | Westinghouse Electric Corp | Computing device |
US3364472A (en) * | 1964-03-06 | 1968-01-16 | Westinghouse Electric Corp | Computation unit |
US3537074A (en) * | 1967-12-20 | 1970-10-27 | Burroughs Corp | Parallel operating array computer |
US3593351A (en) * | 1969-08-14 | 1971-07-20 | Benjamin A Dove | Patient transfer device |
US3815095A (en) * | 1972-08-29 | 1974-06-04 | Texas Instruments Inc | General-purpose array processor |
ZA742069B (en) * | 1973-04-13 | 1975-03-26 | Int Computers Ltd | Improvements in or relating to array processors |
US3970993A (en) * | 1974-01-02 | 1976-07-20 | Hughes Aircraft Company | Cooperative-word linear array parallel processor |
US4065808A (en) * | 1975-01-25 | 1977-12-27 | U.S. Philips Corporation | Network computer system |
US4041461A (en) * | 1975-07-25 | 1977-08-09 | International Business Machines Corporation | Signal analyzer system |
US4199811A (en) * | 1977-09-02 | 1980-04-22 | Sperry Corporation | Microprogrammable computer utilizing concurrently operating processors |
US4541048A (en) * | 1978-10-06 | 1985-09-10 | Hughes Aircraft Company | Modular programmable signal processor |
US4380046A (en) * | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
US4481580A (en) * | 1979-11-19 | 1984-11-06 | Sperry Corporation | Distributed data transfer control for parallel processor architectures |
US4435758A (en) * | 1980-03-10 | 1984-03-06 | International Business Machines Corporation | Method for conditional branch execution in SIMD vector processors |
US4393457A (en) * | 1981-03-26 | 1983-07-12 | Advanced Micro Devices, Inc. | Method and apparatus for sequencing addresses of a fast Fourier transform array |
-
1983
- 1983-01-18 JP JP58006082A patent/JPS59132070A/ja active Granted
- 1983-08-18 US US06/524,326 patent/US4825359A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US4825359A (en) | 1989-04-25 |
JPH036545B2 (ja) | 1991-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS59132070A (ja) | アレイ演算用デ−タ処理装置 | |
US5430862A (en) | Emulation of CISC instructions by RISC instructions using two pipelined stages for overlapped CISC decoding and RISC execution | |
US5752071A (en) | Function coprocessor | |
US4149243A (en) | Distributed control architecture with post and wait logic | |
KR100267091B1 (ko) | 비대칭싱글-칩이중멀티프로세서의정합및동기화 | |
US4302818A (en) | Micro-vector processor | |
WO2017185389A1 (zh) | 一种用于执行矩阵乘运算的装置和方法 | |
EP0511674A2 (en) | Single chip microcomputer | |
JPH06195322A (ja) | 汎用型ニューロコンピュータとして用いられる情報処理装置 | |
CN112199119B (zh) | 向量运算装置 | |
JPH06195229A (ja) | パイプラインプロセッサにおける割込み処理のための装置 | |
US5179691A (en) | N-byte stack-oriented CPU using a byte-selecting control for enhancing a dual-operation with an M-byte instruction word user program where M<N<2M | |
US6327648B1 (en) | Multiprocessor system for digital signal processing | |
CA1123961A (en) | Modular programmable signal processor | |
Aschenbrenner et al. | Intrinsic multiprocessing | |
US5287522A (en) | External procedure invocation apparatus utilizing internal branch vector interrupts and vector address generation, in a RISC chip | |
JPH0345420B2 (ja) | ||
JPH07110769A (ja) | Vliw型計算機 | |
JP3278441B2 (ja) | ベクトル処理装置 | |
JP2856784B2 (ja) | 電子計算機 | |
Chevtchenko et al. | Neuroprocessor NeuroMatrix NM6403 architectural overview | |
JP2625510B2 (ja) | 計算機システム | |
JPS62245439A (ja) | シンボリツク処理システムおよび方法 | |
JPH0234058B2 (ja) | ||
JPH03189868A (ja) | データ処理プロセツサ |