JP2791761B2 - 演算装置 - Google Patents

演算装置

Info

Publication number
JP2791761B2
JP2791761B2 JP8055485A JP5548596A JP2791761B2 JP 2791761 B2 JP2791761 B2 JP 2791761B2 JP 8055485 A JP8055485 A JP 8055485A JP 5548596 A JP5548596 A JP 5548596A JP 2791761 B2 JP2791761 B2 JP 2791761B2
Authority
JP
Japan
Prior art keywords
alu
bus
storage element
setting storage
alus
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 - Lifetime
Application number
JP8055485A
Other languages
English (en)
Other versions
JPH09222989A (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.)
SAN GURAFUITSUKUSU JUGEN
Original Assignee
SAN GURAFUITSUKUSU JUGEN
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 SAN GURAFUITSUKUSU JUGEN filed Critical SAN GURAFUITSUKUSU JUGEN
Priority to JP8055485A priority Critical patent/JP2791761B2/ja
Publication of JPH09222989A publication Critical patent/JPH09222989A/ja
Application granted granted Critical
Publication of JP2791761B2 publication Critical patent/JP2791761B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、高速演算処理が
可能な演算装置に関し、特に特定用途の論理演算装置に
関する。
【0002】
【本発明の前提となる技術】従来のCPUを有する一般
の演算装置は、プログラムを段階的に処理すると共に、
そのプログラムを処理する段階において、外部のメモリ
に記憶されているプログラムから、演算処理に必要な命
令を読み込まなければならなかった。例えば、従来の演
算装置で累算をしようとすると、図8に示すような状況
になる。すなわち、従来の装置は、累算を1回行うの
に、命令アクセス、入力1、命令アクセス、結果入力
1、命令アクセス、加算1、命令アクセス、結果記憶
1、命令アクセス、結果出力1というように10ステッ
プ必要になるとともに、各段階ごとに命令アクセスが必
要であった。この装置で、5個の演算結果出力を出すた
めには、50ステップの処理が必要である。このように
した従来の演算装置(CPU)では、プログラムの処理
中に、必要な命令を読み込まなければならないうえ、全
ての処理が段階的に行われるので、その処理速度が遅く
なるという問題があった。
【0003】この問題を解決するために、以下のような
演算装置が考えられた。図5〜図7に示した演算装置
は、基板1上に、1つのALUaijを主要素にしたAL
U編成体4をN×Nの行列に配列している(ただし、
i,jは、1≦i,j≦N)。これによって、N2個の
ALUaijを基板1上に配列できる。そして、ALUa
11を外部入力手段2と接続し、ALUaN1は外部出力手
段3と接続している。各ALUaijには、それぞれ論理
設定記憶素子bijがチャネル9により接続され、左右、
上下に隣合うALUは、入出力用の一対の隣接配線5及
び6を介して互いに接続されている。またALUの行列
間にはバスxi,yjを設け、各ALUaijは、最も近い
バスxi,yjに、入出力用の一対のチャネル7及び8を
介して接続している。上記のようにALU編成体4は、
ALUaijと、論理設定記憶素子bijと、左右のALU
i(j-1),ai(j+1)に接続するための一対の隣接配線5
と、上下に位置するALUa(i-1)j,a(i+1)jに接続す
るための一対の隣接配線6と、バスxi,yjと、このバ
スxi,yjにALUaijを接続するチャネル7,8と、
論理設定記憶素子bijを隣の論理設定記憶素子
i(j-1),bi(j+1)と接続するチャネル10と、論理設
定記憶素子bijとALUaijとを接続するチャネル9と
からなる。
【0004】なお、図5,図6で、各々1本線で示され
たバスxi,yjは、それは両方向の信号の伝送路として
用いるものである。このALU編成体4を行列状に配列
すると、図5に示すように、隣接配線及び各チャネルが
必然的に接続される。ただし、論理設定記憶素子b21
2Nのチャネル10の信号の向きは、図2と逆方向にな
る。以下b4j、b6j…も同様である。全ての論理設定記
憶素子bijを直列に接続するために、左右両側に、編成
体4の外部配線11,12を設けている。この外部配線
11,12によって、両端に位置する論理設定記憶素子
ij、例えば、b1Nとb2N、b21とb31等を接続するこ
とができる。また、バスx0は、横方向のバスxiと、縦
方向のバスyjとを接続するために設定したバスで、A
LUは接続されていない。ALUaij行列間に設けるバ
スxi,yjとは、ALUaij行列の隣に設けたバス
i,yjのことで、バスx0や、xN,yNのように、行
列の外側に設けたものも含む。横方向に設けたバスx0
〜xNと、縦方向のバスy1〜yNのそれぞれの一端に
は、ALUからバスへの出力許可のタイミングを制御す
るアービタ13,14が接続されている。
【0005】図6示すように、アービタ14はメモリ1
8を備えていて、外部入力手段2から入力されるティー
チングスケジュールを記憶することができる。このティ
ーチングスケジュールとは、アービタ14が、バスyに
接続されているALUaijに信号の出力許可を与えるタ
イミングを記憶させたものである。なお、アービタ13
も同様のメモリを備えている。また、縦方向のバスy1
〜yNとバスx0との間には、スイッチS1〜SNが接続さ
れていて、縦横のバスの接続を切換えるようにしてい
る。このスイッチS1〜SNは、バスx0に接続したアー
ビタ13aに連動してスイッチングを行うものである。
例えば、隣り合わないALUa31から、ALUa23への
信号を伝送する場合には、両ALUをバスを介して接続
しなければならない。先ず、バスy1に接続したアービ
タ14aの出力許可により、ALUa31は、信号をバス
1に出力する。バスx0に接続したアービタ13aの制
御により、スイッチS1が閉じ、バスy1とバスx0が接
続し、S3が閉じ、バスx0とバスy3がが接続する。こ
れにより、信号は、バスy1→バスx0→バスy3を介し
てALUa23に入力される。
【0006】次に、この演算装置の作用を説明する。先
ず、各ALU編成体4のALUaijの個別機能を分担さ
せるためのフローグラフコードを、外部入力手段2から
論理設定記憶素子bijに入力する。このとき、外部入力
手段2からの機能分担コードは、チャネル10から論理
設定記憶素子bijに入力される。論理設定記憶素子bij
は、チャネル10および外部配線11,12によって、
11→b12→、…、→b1N→配線11→b2N→、…、→
N1というように、直列に接続されている。外部入力手
段2から論理設定記憶素子bijに入力された機能分担コ
ードは、チャネル10により論理設定記憶素子b12、論
理設定記憶素子b13…と、順送りすることができる。こ
れにより、機能分担コードは、N2番目の論理設定記憶
素子bN1から逆に入力され、最後に論理設定記憶素子b
11に入力される。これで、機能分担コードの入力は終了
し、各機能分担コードを受けた論理設定記憶素子b
ijは、入力されたコード内容を記憶すると共に、当該A
LUaijに個別機能を設定する。この個別機能とは、各
ALUaijの演算機能だけでなく、他のALUとの接続
の切換え機能も含むものである。
【0007】外部入力手段2からは、上記機能分担コー
ドとは別に、アービタ13、14のメモリ18にティー
チングスケジュールが入力される。アービタ13とアー
ビタ14は、配線16によって直列に接続されているの
で、ティーチングスケジュールも入力手段2に直接接続
されたアービタ14aから順送りで入力することができ
る。このようにして、ALUaijの個別機能の設定と、
ティーチングスケジュールの入力が終了すると、この演
算装置の論理回路が編成され、特定用途のための論理回
路として、セットアップが終了する。つまり、特定用途
のフローグラフコードのハード化が完了する。この状態
で、入力部として設定されたALUa11にデータを入力
すれば、設定された論理回路に従って、データは他のA
LUaijに送られ、演算処理されることを繰り返し、最
後に、出力部の機能を設定されたALUaN1から外部出
力手段3に出力する。
【0008】ALUaijに入力され、処理されたデータ
のうち、隣り合うALUには、チャネル7,8を介して
伝送され、それ以外のALUには、バスxi,yjを介し
て送られる。各バスxi,yjには、複数のALUが接続
されている。例えば、バスx1には、上側からALUa
11〜a1Nが接続している。つまり、1本のバスに、N個
のALUが接続している。これらのALUが同時にバス
1への信号を出力しないようにアービタ13bが調整
する。このアービタ13bは、バスx1に接続している
ALUに出力許可を与えるタイミングをティーチングス
ケジュールとしてメモリ18に記憶しているので、その
スケジュールに従って、出力許可を与えれば良い。アー
ビタとしては、このメモリ18を持たないものでもかま
わない。ただし、その場合には、アービタ13bは、常
にバスx1に接続している全てのALUを監視している
必要があるので、極めて高い周波数で動作するアービタ
が必要となる。
【0009】このような演算装置は、それ自体をセット
アップすれば、必要な演算処理を行う用途が特定された
専用演算装置となり、従来装置のようになメモリへのア
クセスが不要となる。従来例と同じ演算結果を得る際に
も、命令アクセスが不要となるので、1個の出力を得る
ための処理ステップ数が半減する。本発明の装置では、
各処理を行うために、各ALUが個別機能を設定されて
いるので、複数の出力を得る場合には、各ステップを同
時に行うことができる。例えば、累算を行う場合の処理
状況を示したのが、図7である。図7に示すように、こ
の演算装置によれば、入力→結果入力→加算→結果記憶
→結果出力を同時並行的に実施できる。5個の結果出力
を得るためには、従来のCPUでは、50ステップ必要
であったが、この演算装置では、9ステップで足りる。
従って、演算時間が大幅に短縮される。そして、処理が
複雑になりステップ数が多くなるほど、その差は大きく
なる。なお、バスxn,ynは、全ての行列間に設けなく
てもかまわない。ただし、バスの本数を増やすことによ
り、より多くの情報を伝送できることになるので、演算
処理時間を短縮することができる。反面、この場合に
は、結線スペースを要するという別な問題が出てくる。
バスを介しての接続よりも、隣接配線のような直接接続
の方が、さらに伝達速度が速くなるが、やはり、結線が
複雑になるので、処理速度とスペースとの兼ね合いで、
最適なパターンを選ぶことができる。
【0010】
【発明が解決しようとする課題】このような装置で、用
途を変更する際には、外部入力手段2より、論理設定記
憶素子bij及び、アービタ13,14に、その用途に応
じたセットアップ用のフローグラフコードを入力し、再
セットアップを行えば良い。外部入力手段2と、論理設
定記憶素子bij及び、アービタ13,14とは、入力ポ
ートの数を少なくするために、直列に接続してあるの
で、セットアップのためのフローグラフコードの入力
は、順送りに行うことになる。このため、特に、論理設
定記憶素子bijの数が多い場合には、セットアップに時
間がかかってしまう。そこで、本発明は、論理設定記憶
素子のセットアップ時間を短縮することを目的とする。
【0011】
【課題を解決するための手段】第1の発明の演算装置
は、基板上に行列状に配置したALUと、各ALUにそ
れぞれ接続し、複数の頁を備えた論理設定記憶素子と、
隣合うALUを互いに接続する隣接配線と、ALUの行
列間に設けたバスと、各バスの端部に接続し、ALUか
らバスへの出力許可制御をするアービタと、ALUと論
理設定記憶素子との間で頁を切換えるスイッチとを備
え、上記ALUのうちひとつのALUを外部入力手段に
接続し、他のひとつのALUを外部出力手段に接続し、
各ALUは上記隣接配線及び上記バスを介して全てのA
LUと接続するとともに、上記論理設定記憶素子は、各
頁毎に外部から個別機能の分担と接続関係をセットアッ
プするプログラムをハード化する信号として入力するフ
ローグラフコードに応じた上記個別機能を各ALUに設
定し、この個別機能を記憶した各ALUと出力許可制御
をするアービタとで、特定用途のための論理回路を編成
することを特徴とする。第2の発明は、上記発明を前提
とし、論理設定素子の各頁を他の論理設定記憶素子の対
応頁と直列に接続するスイッチを設けた点に特徴を有す
る。
【0012】上記のように構成したので、演算装置に実
行させる処理に応じたフローグラフコードを外部入力手
段から論理設定記憶素子の第1頁に入力すれば、論理設
定記憶素子が各ALUに個別の機能を設定するので、A
LUはそのフローグラフコードに応じた自己の演算処理
内容を記憶保持する。この状態で、各ALUは個別の機
能を持った演算素子となり、この装置は、フローグラフ
コードに応じた処理専用の演算装置として、設定され
る。そこで、外部入力手段から所定のデータが入力する
と、命令アクセス無しで、各ALUが処理を実行する。
そして、ALUが演算処理を行っている間に、上記論理
設定記憶素子の第2頁に、別の用途のためのフローグラ
フコードを入力しておくことができ、用途の切換時のセ
ットアップ時間を短縮することができる。また、論理設
定記憶素子の頁間を直列に接続するスイッチを設けるこ
とによって、外部入力手段からの入力ポート数を少なく
することができる。なお、行列間に設けるバスは、接続
されるALUの数と、アービタの能力に応じて設定すれ
ば良く、必ずしも、全ての行間および、列間にバスを設
ける必要は無い。
【0013】
【発明の実施の形態】図1、図2に示す第1実施例は、
論理設定記憶素子bijが、2個の頁を備え、セットアッ
プ用のフローグラフコードを入力するチャネル10にス
イッチSW1と、SW2とを接続し、論理設定記憶素子b
ijとALUとの間にSW3を接続したものである。図1
に示すALU編成体4を行列状に配置した基板1の回路
図は、図5と同様であり、この演算装置の基本的な作用
は、上記前提となる技術の欄で説明したので、ここで
は、省略する。本実施例の、論理設定記憶素子bijとそ
の周囲のスイッチSW1〜SW3設置部の拡大図が、図2
である。論理設定記憶素子bijは、2個の頁P1,P2
備えている。そして、スイッチSW1〜SW3は、それぞ
れ、頁P1とP2とを切換えるためのスイッチで、互い
に連動し、スイッチSW1が頁P1側を閉じた時には、
スイッチSW2も頁P1側を閉じ、SW3は、頁P2側を
閉じる。スイッチSW1がP2側を閉じた時には、スイ
ッチSW2もP2側、SW3は、P1側を閉じる。
【0014】このように、スイッチSW1とSW2がP1
側を閉じた時、論理設定記憶素子bijの頁P1はチャネ
ル10と外部配線11、12により全て直列に接続さ
れ、セットアップ用のフローグラフコードを各論理設定
記憶素子bijの頁P1に順送りに入力することができ
る。全ての頁P1にフローグラフコードを入力し終わっ
た後、スイッチSW3がP1側を閉じると、頁P1が、
スイッチSW3とチャネル9を介して、ALUaijの個
別機能を設定して、特定用途Aのセットアップは終了す
る。そして、この用途Aのために、演算装置を使用して
いる間に、スイッチSW1及び、SW2の頁P2側を閉じ
ると、今度は、頁P2が全て直列に接続されることにな
る。この状態で、入力手段2から上記特定用途Aとは異
なる用途Bのためのフローグラフコードを順送りに入力
することができる。用途Aの処理が終わったら、スイッ
チSW3の頁P2側を閉じれば、用途Bのための個別機
能が、各ALUaijに設定され、セットアップが終了す
る。このように、論理設定記憶素子bijに、順送りに入
力するという、最も時間のかかる部分を、別の処理をし
ている間に、行っておけるので、切換時間を短縮でき
る。また、図3に示した第2実施例は、頁P1,P2を
分離して表記したもので、実質的には第1実施例の場合
と同様に機能するものである。
【0015】図4に示す第3実施例は、論理設定記憶素
子bijが、3個の頁を備えている例である。第1実施例
と同様に、スイッチSW1とSW2によって、直列に接続
された頁Pにフローグラフコードを入力しながら、他の
頁PがALUaij設定した個別機能によって、演算処理
を行うことができる。頁数が多ければ、それだけ多くの
用途に対応するセットアップを、予め、行うことができ
るようになるが、スイッチの配線が複雑になったり、ス
ペースを必要とするようになる。
【0016】
【発明の効果】この発明によれば、プログラムの処理中
に、それを処理するための命令アクセスの必要がなく、
また、ステップを並行して処理することができるので、
高速処理が可能な演算装置において、セットアップ時間
を短縮することができるようになった。
【図面の簡単な説明】
【図1】第1実施例のALU編成体を示した図である。
【図2】図1のスイッチ部分拡大図である。
【図3】第2実施例のスイッチ部分の拡大図である。
【図4】第3実施例のスイッチ部分拡大図である。
【図5】前提技術の回路を示したブロック図である。
【図6】前提技術の回路のアービタ接続部分の拡大図で
ある。
【図7】前提技術による演算装置での累算処理状況を示
した図である。
【図8】従来例の累算処理状況を示した図である。
【符号の説明】
1 基板 2 入力手段 3 出力手段 5、6 隣接配線 13,14 アービタ xi,yj バス aij ALU bij 論理設定記憶素子 SW1,SW2,SW3 スイッチ

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 基板上に行列状に配置したALUと、各
    ALUにそれぞれ接続し、複数の頁を備えた論理設定記
    憶素子と、隣合うALUを互いに接続する隣接配線と、
    ALUの行列間に設けたバスと、各バスの端部に接続
    し、ALUからバスへの出力許可制御をするアービタ
    と、ALUと論理設定記憶素子との間で頁を切換えるス
    イッチとを備え、上記ALUのうちひとつのALUを外
    部入力手段に接続し、他のひとつのALUを外部出力手
    段に接続し、各ALUは上記隣接配線及び上記バスを介
    して全てのALUと接続するとともに、上記論理設定記
    憶素子は、各頁毎に外部から個別機能の分担と接続関係
    をセットアップするプログラムをハード化する信号とし
    て入力するフローグラフコードに応じた上記個別機能を
    各ALUに設定し、この個別機能を記憶した各ALUと
    出力許可制御をするアービタとで、特定用途のための論
    理回路を編成することを特徴とする演算装置。
  2. 【請求項2】 論理設定素子の各頁を他の論理設定記憶
    素子の対応頁と直列に接続するスイッチを設けた請求項
    1に記載の演算装置。
JP8055485A 1996-02-19 1996-02-19 演算装置 Expired - Lifetime JP2791761B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8055485A JP2791761B2 (ja) 1996-02-19 1996-02-19 演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8055485A JP2791761B2 (ja) 1996-02-19 1996-02-19 演算装置

Publications (2)

Publication Number Publication Date
JPH09222989A JPH09222989A (ja) 1997-08-26
JP2791761B2 true JP2791761B2 (ja) 1998-08-27

Family

ID=12999934

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8055485A Expired - Lifetime JP2791761B2 (ja) 1996-02-19 1996-02-19 演算装置

Country Status (1)

Country Link
JP (1) JP2791761B2 (ja)

Also Published As

Publication number Publication date
JPH09222989A (ja) 1997-08-26

Similar Documents

Publication Publication Date Title
US6859869B1 (en) Data processing system
US7272691B2 (en) Interconnect switch assembly with input and output ports switch coupling to processor or memory pair and to neighbor ports coupling to adjacent pairs switch assemblies
JP2007329936A (ja) フィールドプログラマブルプロセッサアレイ
GB2178572A (en) A processor array
US20040133750A1 (en) Apparatus for controlling access in a data processor
US20040103264A1 (en) Array-type processor
JP3987784B2 (ja) アレイ型プロセッサ
US7571198B2 (en) Dynamically reconfigurable processor and processor control program for controlling the same
JP3987782B2 (ja) アレイ型プロセッサ
KR20080106129A (ko) 복수의 다중 모드 프로세서를 연결하는 방법과 장치
JP2791761B2 (ja) 演算装置
US5603046A (en) Method for complex data movement in a multi-processor data processing system
JPH04295953A (ja) 要素プロセッサの2次元アレイを内蔵する並列データ処理装置および要素プロセッサのサブアレイユニット
JP2791764B2 (ja) 演算装置
KR100225008B1 (ko) 다중 공유 로직 어레이를 갖는 프로그래머블 로직 디바이스
JP2791762B2 (ja) 演算装置
JPH09223011A (ja) 演算装置
US5572198A (en) Method and apparatus for routing in reduced switch matrices to provide one hundred percent coverage
JPH0683787A (ja) 並列プロセッサ
US20070220236A1 (en) Reconfigurable computing device
JP2791763B2 (ja) 演算装置
US7647445B2 (en) Processor bus arrangement
CN105009454A (zh) 用于嵌入式可重配置计算的切换结构
US7804325B1 (en) Dedicated function block interfacing with general purpose function blocks on integrated circuits
JP3987805B2 (ja) アレイ型プロセッサ