JPH02181257A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH02181257A JPH02181257A JP29789A JP29789A JPH02181257A JP H02181257 A JPH02181257 A JP H02181257A JP 29789 A JP29789 A JP 29789A JP 29789 A JP29789 A JP 29789A JP H02181257 A JPH02181257 A JP H02181257A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- address
- blocks
- information processing
- output
- 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
Landscapes
- Bus Control (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
本発明は電子計算機等の情報処理装置に係り、特にアナ
ログ計算機やニューラルネット等の並列度の高い処理を
行なう情報処理装置に関する。
ログ計算機やニューラルネット等の並列度の高い処理を
行なう情報処理装置に関する。
【従来の技術1
いわゆるアナログ計算機と呼ばれるものは、複数個の加
算器や積分器等の機能ブロックを持ち、各機能ブロック
は他の機能ブロックから出力される信号を直接もしくは
乗算機能を持った係数器や正負反転器等を介して受ける
。そして、各機能ブロックは受けた信号に加算や積分等
の演算を施して自分の出力値を決定し、他の機能ブロッ
クに出力する。どの機能ブロックの出力をどの機能ブロ
ックに入力し、係数器の数値等をどうするかは、通常は
適用する問題に応じて人手によって決める。 また、いわゆるニューラルネットと呼ばれるものは1例
えば第2図に示すように複数個の細胞体や樹状突起と呼
ばれる機能ブロック100を持ち、各機能ブロックはそ
れぞれ他の機能ブロックから出力される信号をシナプス
と呼ばれる係数器101を介して受ける。そして、各機
能ブロックはその信号の総和を計算して自分め内部値を
決定し、その内部値に応じた信号を他の機能ブロックへ
出力するようになっている。どの係数器の係数をどのよ
うにするかは、通常は学習と呼ばれる過程を通じて自動
的に決定される。このようなニューラルネットの例が1
日経エレクトロニクス誌1987年8月10日号(No
、427) (7)115頁から124頁に紹介されて
いる。また1日経マイクロデバイセス誌1988年7月
号の72頁から78頁には、ディジタル回路によって構
成されたニューラルネットが紹介されている。ディジタ
ル回路は集積化するのが容易であり、また、素子のバラ
ツキやノイズに対して強いため精度を上げることも容易
である。しかしながら、ディジタル回路はアナログ回路
に比べて部品数が多くなる。 このため、−船釣にはパルスコードで表現される数値を
、この例ではパルス数によって表現し回路の簡略化を図
っている。 【発明が解決しようとする課題] ところで、アナログ計算機やニューラルネットによって
より複雑な情報処理をさせようとすると、加算器や積分
器等の機能ブロックの数を増やすことが必要になる。す
ると、各機能ブロック同士を接続する配線や係数器等の
数も増えることになる。 機能ブロックの個数をNとすると、機能ブロックから機
能ブロックへの接続個所はNX(N−4)個有ることに
なり、機能ブロックの個数の2乗にほぼ比例した物量の
配線や係数器等が必要になる。 従って、機能ブロックの個数をある程度以上多くすると
、ハードウェアの量が飛躍的に増加するため、事実上は
実現不可能になる。特にディジタル回路を使って集積化
しようとした場合、係数器等を構成する素子が多いため
、この問題は一層深刻になる。また、数値をパルス数で
表現することによってハードウェアの量を節減しようと
すると、10進で3桁程度の数値でも、これを表現する
ために必要な時間は、パルスコードで表現したときの約
1000倍となり、処理時間が非常に長くなる。 本発明の目的は、ニューラルネットやアナログ計算機に
おいて、機能ブロックの個数を増やしてもハードウェア
の量が飛昭的には増加しない情報処理装置を提供するこ
とにある。 【課題を解決するための手段】 本発明は、第1図に示すように各機能ブロック100の
出力を共通に伝送するためのデータバス111を設け、
各機能ブロック100同士の間のデータのやりとりはこ
のデータバス111を介して時分割で行なうようにした
ものである。出力が競合しないようにするために、各機
能ブロック毎にアドレスを割り当て、タイミング発生装
置120からアドレスバス112を介して送られてくる
アドレス信号によって自分のアドレスが指定された機能
ブロックのみデータバス111に信号を出力し、その他
の機能ブロックはその時にアドレスが指定されている機
能ブロックからの信号としてデータバス111上の情報
を受は取る。そして、タイミング発生装置120によっ
てアドレスを順次変更していく。 1作用】 このようにすれば、アドレスが一巡する間に任意の機能
ブロックから任意の機能ブロックへ信号を伝送すること
ができる。また、信号を受ける側は、多数の相手に対し
て係数器101等を共用できるため、これらの回路の物
量と機能ブロックの個数の関係は比例となり、機能ブロ
ック数の増加によって飛躍的にハードウェアの量が増加
することはない。 【実施例] 以下、第1図および第3図を用いて本発明の一実施例を
説明する。第1図は全体構成の主要部を示したものであ
り、100は機能ブロック、101は係数器、102は
時分割制御回路。 111はデータバス、112はアドレスバス、113は
クロックバス、120はタイミング発生装置である。ま
た、第3図は機能ブロック100゜係数器101.およ
び、時分割制御回路102が構成する部分の1つを更に
詳しく示したものである。第3図に示すように、機能ブ
ロック100は、加算器301とランチ回路302,3
03、および、トライステート出力のバッファ回路30
4から構成され、係数器101は乗算器311により構
成され、時分割制御回路102はアドレスデコーダ32
1,322とメモリ回路323から構成される。 アドレスデコーダ321はアドレスバス112を介して
送られてくるアドレス信号が一巡したことを検出するた
めのものであり、アドレスデコーダ322はアドレス信
号がこの機能ブロックを指すものであるかどうかを判断
するためのものである。すなわち1機能ブロック100
の個数をNとした時、機能ブロック100と係数器10
1と時分割制御回路102が構成する各粗筋に、例えば
1.2,3.・・・、Nのアドレスを割り当て、アドレ
ス信号を、0,1,2,3.−、N、0,1゜2.3.
・・・のように繰り返す。ここで、0はどの機能ブロッ
クにも割り当てないアドレスであり。 アドレス信号が一巡したことを検出するためのアドレス
である。そして、アドレス信号がOの時には全ての時分
割制御回路102内のアドレスデコーダ321が選択さ
れたことを示す信号を出力する。また、アドレス信号が
0以外の時には、そのアドレスが割り当てられた時分割
制御回路内のアドレスデコーダ322のみが選択された
ことを示す信号を出力し、それと対をなす機能ブロック
内のバッファ回路304が活性化されてデータバス11
1に信号を出力する。それ以外の機能ブロックではバッ
ファ回路304の出力は高抵抗状態になっている。 また、メモリ回路323は、それと対をなす機能ブロッ
クと他の機能ブロックの間の結合係数を記憶させておく
ためのものであり、その時のアドレス信号が指す機能ブ
ロックからの出力を上記対をなす機能ブロックへ入力す
る時の結合係数を出力する。この時、そのアドレス信号
が指す機能ブロックからの出力がデータバス111に乗
っているため、乗算器311はその機能ブロックからの
信号と結合係数の積を出力することになり、その結果が
加算器301に加えられる。この時、クロックバス11
3を介してクロック信号が加えられると、ラッチ回路3
02に累積されたそれまでの加算結果と乗算器311の
出力との和が新たな累積結果としてラッチ回路302に
記憶される。従って、アドレス信号が一巡すると、全て
の機能ブロックからの出力を結合係数で重み付けして加
算した結果がラッチ回路302の出力として得られるこ
とになる。そして、その時のラッチ回路302の出力を
ラッチ回路303に記憶してアドレス信号が次に一巡す
るまでの間のこの機能ブロックの内部値とする。なお、
アドレスが一巡する毎にラッチ回路302の内容をリセ
ットすればこの機能ブロックはアナログ計算機で言うと
ころの加算器として動作し、リセットせずに累積してい
けば積分器として動作する。なお、アドレスデコーダ3
21および322の具体的な一例を第4図に示す。第4
図(a)はアドレスデコーダ321として使用するもの
であり、入力が全て0、すなねちアドレス信号が0を示
している時にのみ出力がハイレベルとなり、その他の時
にはローレベルとなる。また第4図(b)はアドレスデ
コーダ322として使用するものであり、アドレス信号
が自分に指定されたアドレ不を示している時にのみ出力
がハイレベルとなり、その他の時にはローレベルとなる
。ここで、アドレス信号のどのビットにインバータを入
れるかによって、任意のアドレスを設定することができ
る。 以上述べたように、本実施例によれば、第2図の従来例
では機能ブロック毎に他の機能ブロックの数だけ必要で
あった係数器101の数を、1機能ブロック当たり1個
に低減することができる。 また、本実施例によれば、従来は機能ブロック毎に他の
機能ブロックの数だけ必要であった加算器301の数を
、1機能ブロック当たり1個に低減することができる。 従って、従来は物量節減のためにパルス数で表現されて
いた数値をパルスコードで表現することが可能となり、
−船釣に時分割処理を行った時に問題となる処理時間の
増大を、打ち消すことが出来る。 次に、この装置をアナログ計算機として使用する方法に
ついて、更に具体的に説明する。例として、 t なる連立微分方程式を解く場合を説明する。この場合に
は、第1図に示す機能ブロック100と係数器101と
時分割制御回路102の組は2組使用し、一方のアドレ
スを1、他方を2とする。また、機能ブロック100は
両方共積分器として使用するため、その内部のラッチ回
路302は計算の途中ではリセットしない。そして、ア
ドレス1側の機能ブロックの出力をX、アドレス2側の
機能ブロックの出力をYと定義する。すると、機能ブロ
ックすなわち積分器の入力は出力を微分したものである
から、それぞれ に相当する。従って、係数器101を介して機能ブロッ
ク100に加えられる信号が、それぞれ(1)式または
(2)式の右辺に相当するようにすればよい。すなわち
、積分計算の時間の刻みをτとした時、メモリ回路32
3の記憶内容として、アドレス1側のメモリの0番地に
は0.1番地にはτa、2番地にはτb、アドレス2側
のメモリの0番地にはO11番地にはτC52番地には
τdをそれぞれ記憶させておく。そして、各ラッチ回路
302にそれぞれX、Yの初期値をセラj・すれば準備
完了である。計算の動作は、第5図に示すように、アド
レスバス112には各フレーム毎に0.1,2,0,1
,2,0,1.・・・、と繰り返すアドレス信号を、ク
ロックバス113には各フレーム内に1パルスずつのク
ロック信号を、りィミング発生装置120から出力する
ことにより行なう。すると、第1のフレームでは、アド
レス信号がOであるから第3図のメモリ回路323の出
力は両方共Oとなる。従って、乗算器311の出力も両
方共Oとなり、加算器301の出力はラッチ回路302
の出力すなわちXまたはYの初期値に等しくなる。この
時にラッチ回路302にクロック信号が入ってもX、Y
の初期値を保持したままである。一方、ラッチ回路30
3は、このフレームのクロック信号によってラッチ回路
302の出力すなわちX、Yの初期値を取り込む。次に
第2のフレームに移ると、アドレス信号が1となるから
アドレス1側のバッファ回路304が活性化され、デー
タバス111にはアドレス1側のラッチ回路303の出
力すなわちXの初期値が出力される。また、アドレス信
号が1であるから、メモリ回路323の出力はアドレス
1側はτa、アドレス2側はτCとなり、乗算器311
の出力はそれぞれでaX、τcXとなる。従って、加算
器301の出力は、それぞれX+τaX、Y+tcXと
なり、このフレーム内のクロック信号によってラッチ回
路302にはこの値が取り込まれる。 なお、このフレームではラッチ回路303にはクロック
信号が加わらないため、ラッチ回路303はそれぞれ元
のX、Yを保持したままである。次に第3のフレームに
移ると、アドレス信号は2となり、データバスにはYの
、初期値が出力され、メモリ回路323の出力はそれぞ
れτb、τdとなる。すると、加算器301の出力値は
ラッチ回路302の出力値にそれぞれτbyまたはτd
Yが加算されて、X+τ(aX+bY)。 Y+r (cX+dY)となる。(1)、(2)式から
明らかなように、この値は初期状態から微小時間τ後の
X、Yの値となる。そして、このフレームではこの値が
ラッチ回路302に取り込まれ、第4のフレームではこ
の値が新たなX、Yとしてラッチ回路303に取り込ま
れる。以下、同様の計算を繰り返す。これにより、上記
連立微分方程式(1)、(2)を時間での刻みで解くこ
とができる。τを小さくすることにより、計算に要する
時間は増加するが計算の精度を上げることができる。 また、アナログ計算機で言うところの加算器が必要な時
には、アドレス信号が0となるフレームにおいて、ラッ
チ回路303に新しい値を書き込むと共にラッチ回路3
02の値をリセットする(0にする)ことにより、機能
ブロック100を加算器として動作させることができる
。従って、そのリセット信号を出すか否かを制御するこ
とによって、同一の回路を積分器として使用することも
加算器として使用することもできる。また、乗算器31
1や加算器301は補数表現等によって負数も扱えるよ
うにしておくことは言うまでもない。 また、積分時間の刻みτを小さく取れば、ラッチ回路3
03は必ずしも必要ではない。 なお、以上述べたアナログ計算機は、回路自体はディジ
タル回路で出来ているが、方程式を解く原理は従来のア
ナログ計算機と同じである。従って、ドリフト等のよう
にアナログ回路に起因する不安定性は無くなるが、正帰
還を含む場合等のようにアナログ計算機の原理に起因す
る不安定性については注意する必要がある。また、従来
のアナログ計算機では、回路自体もアナログ回路であっ
たため、3桁以上の精度を実現しようとすると途端に高
価になり、数桁以上の精度を実現するのは非現実的であ
った。しかし、本発明によれば回路自体はディジタル回
路であるため、ビット数さえ増やせば簡単に精度を上げ
ることが出来る。また。 ディジタル回路であるので集積化も容易である。 また、従来は機能ブロック同士の結線はパッチボード等
を使って人手で行なっていたため、コネクタ部分の集積
化も難しく機能ブロックの数はせいぜい画側以下が限度
であった。しかし本発明によれば、機能ブロック同士の
結線は結線情報をメモリに書き込むだけで行なえるため
、この部分の集積化も容易であり、また、必要に応じて
結線情報を磁気ディスク等の記憶媒体に保存したり、デ
ィジタル計算機で自動的に生成した結線情報を自動的に
書き込むこともできる。また、本発明の計算機の原理は
アナログ計算機と同じであるため、複数の機能ブロック
が同時に動作することになる。 従って、ディジタル計算機と比べて、変数の個数が多い
連立方程式を解く場合等には計算時間の点で有利である
。 次に、この装置をニューラルネットとして使用する場合
について説明する。この場合、第3図に示した回路全体
がいわゆるニューロンと呼ばれる単位1個に相当し、係
数器101が他のニューロンからの信号を受けるいわゆ
るシナプスに、加算器301とラッチ回路302の構成
する部分がシナプスの受けた信号を加算するいわゆる樹
状突起にそれぞれ相当する。各シナプスの重み付けは、
メモリ回路323に重み係数を記憶させることによって
行う。重み係数が負の時は抑制性、正の時は興奮性の信
号として作用し、絶対値が大きくなるほど重みが大きく
なる。従って、このメモリ323の内容を書き換えるこ
とによっていわゆる学習と呼ばれる操作が可能である。 なお、アナログ計算機の場合には、ラッチ回路302の
出力が表わす数値をそのまま(もしくは下位のビットを
切り捨てただけで)その機能ブロックの出力値とするが
、ニューラルネットの場合には で表わされるシグモイド関数か、または、これを折線で
近似した なる関数によって数値変換した結果をそのニューロンの
出力値とする。この数値変換を行なう回路はラッチ回路
302とラッチ回路303の間、もしくは、ラッチ回路
303とバッファ回路304の間のいずれかに挿入する
。ここで、(4)式の折線の関数によって数値変換する
回路は、例えば第6図(a)に示すような構成によって
実現できる。第6図(a)において、610は入力端、
611は出力端である。また、比較器601゜602、
乗算器603、セレクタ604,605、加算器606
の入力の片側には、それぞれ数値a。 −a、1/2a、1,0.1/2を表わす信号を接続す
る。すると、入力端610に加えられる入力信号の表わ
す数値が8以上の時には比較器601がセレクタ604
を制御して出力端611には数値1を表わす信号が出力
される。また、入力信号の表わす数値が−a以下の時に
は比較器602がセレクタ605を制御して出力端61
1には数値0を表わす信号が出力される。また、入力信
号の表わす数値が−aとaの間にある時には、乗算器6
03と加算器606を通った信号が出力端611に出力
される。従って、第6図(a)の回路によって(4)式
の関数による数値変換を実現することができる。なお、
(3)式のシグモイド関数やその他の複雑な関数による
数値変換を実現したいときには、第6図(b)のように
メモリ回路を使うのが容易である。この場合、入力値に
対する出力値をあらかじめ計算しておいて、メモリ回路
内のその人力信号が表わすアドレスに記憶させ、使用時
は入力信号をアドレスとして読み出したデータを出力値
として使う。このようにすれば、どんな複雑な関数によ
る数値変換でも実現することができる。以上説明したよ
うに、第1図の装置はニューラルネットとして使用する
こともできる。 ところで、独立変数の多い方程式を解いたり、複雑な情
報処理を行なう場合、多数の機能ブロックが必要になる
。すると、第1図のような接続方法ではデータバス11
1やアドレスバス112、タロツクバス113に付く負
荷が大きくなって迅区動が困難になる。第7図はこれを
避けるための一実施例である。第7図において、701
〜706はそれぞれが複数の機能ブロックを有する機能
ブロック群である。その中の接続は第1図と同様であり
、111,112,113はそれぞれデータバス、アド
レスバス、クロックバスである。また、711.712
,713はそれぞれ上位のデータバス、上位のアドレス
バス、上位のクロックバスである。アドレス信号および
クロック信号は、タイミング発生装置120からそれぞ
れ上位のアドレスバス712または上位のクロックバス
713に出力され、駆動回路722または723を介し
てアドレスバス112またはクロックバス113に供給
される。第7図の場合にも、各機能ブロック100に対
してそれぞれ異なるアドレスが指定され、あるアドレス
信号が指す機能ブロックはこの中から一意的に決まる。 また、データ信号の方は、アドレス信号によって制御さ
れる双方向性の駆動回路751〜756を介して上位の
データバス711に接続される。そして、アドレス信号
が指す機能ブロックを含む機能ブロック群(701〜7
06の内のいずれか1つ)と対をなす双方向性の駆動回
路(751〜756の内のいずれか1つ)のみ下位のデ
ータバス111上の信号を上位のデータバス711側に
送出し、その他の双方向性の駆動回路は上位のデータバ
ス711上の信号を下位のデータバス111側に送出す
る。従って、第7図の場合にもアドレス信号によって指
定された機能ブロックの出力が全機能ブロックに一斉に
伝えられることになる。なお、更に機能ブロックの数を
増やしたい時には、更に上位のデータバスやアドレスバ
ス、クロックバスを設け、第7図の回路全体(但し、タ
イミング発生装置120の部分を除く)を1つの機能ブ
ロック群として、もう−股上の階層構造を設けることも
できる。このように階層構造を深くしていくことにより
、データバス等に接続される負荷の上限値をある一定値
以下に保ったまま機能ブロックの個数を増やしていくこ
とができる。なお、双方向性の駆動回路を上述のように
制御するためには、例えばアドレス信号の上位のビット
が機能ブロック群を指定し下位のビットが個々の機能ブ
ロックを指定するようにアドレスを決めておき、上位の
ビットのみを第4図に示したようなアドレスデコーダに
加えて制御信号を得ることにより実現できる。 ところで、機能ブロックの個数を増やした時のもう1つ
の問題は、処理時間の増加である。すなわち、本発明の
装置ではアドレス信号が一巡する毎に計算の1ステツプ
が進行するが、機能ブロックの個数が多くなるとアドレ
ス信号の上限値も大きくなり、アドレス信号が一巡する
のに要する時間が長くなる。これは、全ての機能ブロッ
クを他の全ての機能ブロックと接続しようとすると避け
られない問題であるが、接続する範囲をある程度限定し
ても実用上は問題無い場合が多い。例えば、熱拡散の方
程式を解いである物体の各部の温度の変化を求めようと
した場合、その物体上の各点の瞬時的な温度変化はその
近傍の点の温度の影響を受けるが遠く離れた点の温度は
直接は影響しない。 そのほか電磁波の伝播等、多くの物理量の瞬時的な変化
は着目している点の近傍の状況のみに影響され遠く離れ
た点の状況は直接は影響しない。従って5少なくとも本
発明の装置をアナログ計算機として使用する場合、各機
能ブロックが論理的にその近くにある機能ブロックと接
続できれば実用上は殆ど問題無い。この点を考慮して処
理時間を短縮した構成の一実施例を第8図に示す。 第8図において、701〜706は第7図と同様の機能
ブロック群である。また、アドレス信号およびクロック
信号をタイミング発生装置120から上位のアドレスバ
ス712または上位のクロックバス713に供給し、更
に駆動回路722または723を介してアドレスバス1
12またはクロックバス113に供給するのも第7図の
場合と同様である。第8図の回路が第7図の回路と異な
る点は、データバス111の接続方法にある。すなわち
、各データバス111は双方向性の駆動回路851〜8
56を介して両隣のデータバスとのみ接続される。そし
て、双方向性の駆動回路は、アドレス信号によって指定
された機能ブロックを含む機能ブロック群から両隣の機
能ブロック群へのみ信号を伝達する。例えば、第8図の
機能ブロック群702内の斜線を施した機能ブロック1
00が指定された時は、双方向性の駆動回路852は機
能ブロック群702から機能ブロック群701へ、85
3は機能ブロック群702から機能ブロック群703へ
、それぞれ信号を伝達する。そして、双方向性の駆動回
路851および854はいずれの方向へも信号を伝達し
ない。双方向性の駆動回路を、互いに入力側と出力側を
接続した2個のトライステート出力のバッファ回路によ
り構成すれば、このような制御は可能である。 そしてこの場合、アドレス信号により指定された機能ブ
ロックの出力は、機能ブロック群701゜702.70
3内の各機能ブロックには伝送されるが、機能ブロック
群704,705,706には伝送されない。そこで、
機能ブロック群705内の機能ブロックのうちの1つ(
例えば、第8図の機能ブロック群705内の斜線を施し
た機能ブロック)にも同じアドレスを指定すれば、同じ
アドレス信号によってその機能ブロックの出力を機能ブ
ロック群704,705,706内の各機能ブロックに
伝送することができる。同様に、機能ブロック群701
内の機能ブロックと機能ブロック群704内の機能ブロ
ックに同じアドレスを指定すれば、機能ブロック群70
1内の機能ブロックの出力が機能ブロック群701,7
02゜706内の機能ブロックに伝送されている間に、
機能ブロック群704内の機能ブロックの出力を機能ブ
ロック群703,704,705内の機能ブロックに伝
送することができる。同様に、機能ブロック群703内
の機能ブロックと機能ブロック群706内の機能ブロッ
クに同じアドレスを指定すれば、それぞれ機能ブロック
群702゜703.704の間で伝送する間に、機能ブ
ロック群705,706,701の間でも伝送すること
ができる。以上のようにすれば、アドレス信号の上限値
は機能ブロックの総数に関わらず、常に1個の機能ブロ
ック群に含まれる機能ブロックの数の3倍となる。従っ
て、アドレス信号が一巡するのに要する時間も、機能ブ
ロックの総数に関わらず一定となる。なお、ここまでの
説明は両隣の機能ブロック群にのみデータを伝送する場
合について述べたが、双方向性の駆動回路の制御の方法
を変更すれば、両隣と更にその隣の計5個の機能ブロッ
ク群にまで伝送することもできる。その場合には、アド
レス信号の上限値は1個の機能ブロック群に含まれる機
能ブロックの数の5倍となるが、1個の機能ブロックか
ら直接データを伝送できる機能ブロックの数は5/3倍
になる。また、1個の機能ブロック群に含まれる機能ブ
ロックの数を増やしたいときには、第7図の回路全体(
但し、タイミング発生装置120の部分を除く)を1個
の機能ブロック群として、第8図の機能ブロック群70
1〜706のそれぞれをこれと置き換えた構成にすれば
よい。また、第7図の場合と同様に更にその下の階層を
設けることも可能である。 また、第8図は1次元的に近くにある機能ブロック同士
を接続したものであるが、2次元的に近くにある機能ブ
ロック同士を接続したような構成も考えられる。その一
実施例を第9図に示す。ただし、第9図には機能ブロッ
ク群の枠とデータバスおよび双方向性の駆動回路のみを
記載し、機能ブロック群内の詳細やアドレスバスやクロ
ックバスおよびタイミング発生装置等については第7図
や第8図と同様であるためその記載は省略した。 第9図における双方向性の駆動回路の制御は、ある機能
ブロック群内の機能ブロックのアドレスが指定されたと
き、その機能ブロック群を含む列から両隣の列にデータ
を伝送し、かつ、その機能ブロック群を含む行から両隣
の行にデータを伝送するように行なう。これにより、例
えば第9図の機能ブロック群705内の機能ブロックが
指定されたとき、701〜709の機能ブロック群内に
ある機能ブロックにデータが伝送される。以上のように
すれば、2次元的に近くにある機能ブロック同士を接続
することができ、る。 [発明の効果] 以上述べたように、本発明によれば1機能ブロックの個
数を増やしてもハードウェアの量が飛躍的には増加しな
いアナログ計算機やニューラルネットを実現することが
できる。
算器や積分器等の機能ブロックを持ち、各機能ブロック
は他の機能ブロックから出力される信号を直接もしくは
乗算機能を持った係数器や正負反転器等を介して受ける
。そして、各機能ブロックは受けた信号に加算や積分等
の演算を施して自分の出力値を決定し、他の機能ブロッ
クに出力する。どの機能ブロックの出力をどの機能ブロ
ックに入力し、係数器の数値等をどうするかは、通常は
適用する問題に応じて人手によって決める。 また、いわゆるニューラルネットと呼ばれるものは1例
えば第2図に示すように複数個の細胞体や樹状突起と呼
ばれる機能ブロック100を持ち、各機能ブロックはそ
れぞれ他の機能ブロックから出力される信号をシナプス
と呼ばれる係数器101を介して受ける。そして、各機
能ブロックはその信号の総和を計算して自分め内部値を
決定し、その内部値に応じた信号を他の機能ブロックへ
出力するようになっている。どの係数器の係数をどのよ
うにするかは、通常は学習と呼ばれる過程を通じて自動
的に決定される。このようなニューラルネットの例が1
日経エレクトロニクス誌1987年8月10日号(No
、427) (7)115頁から124頁に紹介されて
いる。また1日経マイクロデバイセス誌1988年7月
号の72頁から78頁には、ディジタル回路によって構
成されたニューラルネットが紹介されている。ディジタ
ル回路は集積化するのが容易であり、また、素子のバラ
ツキやノイズに対して強いため精度を上げることも容易
である。しかしながら、ディジタル回路はアナログ回路
に比べて部品数が多くなる。 このため、−船釣にはパルスコードで表現される数値を
、この例ではパルス数によって表現し回路の簡略化を図
っている。 【発明が解決しようとする課題] ところで、アナログ計算機やニューラルネットによって
より複雑な情報処理をさせようとすると、加算器や積分
器等の機能ブロックの数を増やすことが必要になる。す
ると、各機能ブロック同士を接続する配線や係数器等の
数も増えることになる。 機能ブロックの個数をNとすると、機能ブロックから機
能ブロックへの接続個所はNX(N−4)個有ることに
なり、機能ブロックの個数の2乗にほぼ比例した物量の
配線や係数器等が必要になる。 従って、機能ブロックの個数をある程度以上多くすると
、ハードウェアの量が飛躍的に増加するため、事実上は
実現不可能になる。特にディジタル回路を使って集積化
しようとした場合、係数器等を構成する素子が多いため
、この問題は一層深刻になる。また、数値をパルス数で
表現することによってハードウェアの量を節減しようと
すると、10進で3桁程度の数値でも、これを表現する
ために必要な時間は、パルスコードで表現したときの約
1000倍となり、処理時間が非常に長くなる。 本発明の目的は、ニューラルネットやアナログ計算機に
おいて、機能ブロックの個数を増やしてもハードウェア
の量が飛昭的には増加しない情報処理装置を提供するこ
とにある。 【課題を解決するための手段】 本発明は、第1図に示すように各機能ブロック100の
出力を共通に伝送するためのデータバス111を設け、
各機能ブロック100同士の間のデータのやりとりはこ
のデータバス111を介して時分割で行なうようにした
ものである。出力が競合しないようにするために、各機
能ブロック毎にアドレスを割り当て、タイミング発生装
置120からアドレスバス112を介して送られてくる
アドレス信号によって自分のアドレスが指定された機能
ブロックのみデータバス111に信号を出力し、その他
の機能ブロックはその時にアドレスが指定されている機
能ブロックからの信号としてデータバス111上の情報
を受は取る。そして、タイミング発生装置120によっ
てアドレスを順次変更していく。 1作用】 このようにすれば、アドレスが一巡する間に任意の機能
ブロックから任意の機能ブロックへ信号を伝送すること
ができる。また、信号を受ける側は、多数の相手に対し
て係数器101等を共用できるため、これらの回路の物
量と機能ブロックの個数の関係は比例となり、機能ブロ
ック数の増加によって飛躍的にハードウェアの量が増加
することはない。 【実施例] 以下、第1図および第3図を用いて本発明の一実施例を
説明する。第1図は全体構成の主要部を示したものであ
り、100は機能ブロック、101は係数器、102は
時分割制御回路。 111はデータバス、112はアドレスバス、113は
クロックバス、120はタイミング発生装置である。ま
た、第3図は機能ブロック100゜係数器101.およ
び、時分割制御回路102が構成する部分の1つを更に
詳しく示したものである。第3図に示すように、機能ブ
ロック100は、加算器301とランチ回路302,3
03、および、トライステート出力のバッファ回路30
4から構成され、係数器101は乗算器311により構
成され、時分割制御回路102はアドレスデコーダ32
1,322とメモリ回路323から構成される。 アドレスデコーダ321はアドレスバス112を介して
送られてくるアドレス信号が一巡したことを検出するた
めのものであり、アドレスデコーダ322はアドレス信
号がこの機能ブロックを指すものであるかどうかを判断
するためのものである。すなわち1機能ブロック100
の個数をNとした時、機能ブロック100と係数器10
1と時分割制御回路102が構成する各粗筋に、例えば
1.2,3.・・・、Nのアドレスを割り当て、アドレ
ス信号を、0,1,2,3.−、N、0,1゜2.3.
・・・のように繰り返す。ここで、0はどの機能ブロッ
クにも割り当てないアドレスであり。 アドレス信号が一巡したことを検出するためのアドレス
である。そして、アドレス信号がOの時には全ての時分
割制御回路102内のアドレスデコーダ321が選択さ
れたことを示す信号を出力する。また、アドレス信号が
0以外の時には、そのアドレスが割り当てられた時分割
制御回路内のアドレスデコーダ322のみが選択された
ことを示す信号を出力し、それと対をなす機能ブロック
内のバッファ回路304が活性化されてデータバス11
1に信号を出力する。それ以外の機能ブロックではバッ
ファ回路304の出力は高抵抗状態になっている。 また、メモリ回路323は、それと対をなす機能ブロッ
クと他の機能ブロックの間の結合係数を記憶させておく
ためのものであり、その時のアドレス信号が指す機能ブ
ロックからの出力を上記対をなす機能ブロックへ入力す
る時の結合係数を出力する。この時、そのアドレス信号
が指す機能ブロックからの出力がデータバス111に乗
っているため、乗算器311はその機能ブロックからの
信号と結合係数の積を出力することになり、その結果が
加算器301に加えられる。この時、クロックバス11
3を介してクロック信号が加えられると、ラッチ回路3
02に累積されたそれまでの加算結果と乗算器311の
出力との和が新たな累積結果としてラッチ回路302に
記憶される。従って、アドレス信号が一巡すると、全て
の機能ブロックからの出力を結合係数で重み付けして加
算した結果がラッチ回路302の出力として得られるこ
とになる。そして、その時のラッチ回路302の出力を
ラッチ回路303に記憶してアドレス信号が次に一巡す
るまでの間のこの機能ブロックの内部値とする。なお、
アドレスが一巡する毎にラッチ回路302の内容をリセ
ットすればこの機能ブロックはアナログ計算機で言うと
ころの加算器として動作し、リセットせずに累積してい
けば積分器として動作する。なお、アドレスデコーダ3
21および322の具体的な一例を第4図に示す。第4
図(a)はアドレスデコーダ321として使用するもの
であり、入力が全て0、すなねちアドレス信号が0を示
している時にのみ出力がハイレベルとなり、その他の時
にはローレベルとなる。また第4図(b)はアドレスデ
コーダ322として使用するものであり、アドレス信号
が自分に指定されたアドレ不を示している時にのみ出力
がハイレベルとなり、その他の時にはローレベルとなる
。ここで、アドレス信号のどのビットにインバータを入
れるかによって、任意のアドレスを設定することができ
る。 以上述べたように、本実施例によれば、第2図の従来例
では機能ブロック毎に他の機能ブロックの数だけ必要で
あった係数器101の数を、1機能ブロック当たり1個
に低減することができる。 また、本実施例によれば、従来は機能ブロック毎に他の
機能ブロックの数だけ必要であった加算器301の数を
、1機能ブロック当たり1個に低減することができる。 従って、従来は物量節減のためにパルス数で表現されて
いた数値をパルスコードで表現することが可能となり、
−船釣に時分割処理を行った時に問題となる処理時間の
増大を、打ち消すことが出来る。 次に、この装置をアナログ計算機として使用する方法に
ついて、更に具体的に説明する。例として、 t なる連立微分方程式を解く場合を説明する。この場合に
は、第1図に示す機能ブロック100と係数器101と
時分割制御回路102の組は2組使用し、一方のアドレ
スを1、他方を2とする。また、機能ブロック100は
両方共積分器として使用するため、その内部のラッチ回
路302は計算の途中ではリセットしない。そして、ア
ドレス1側の機能ブロックの出力をX、アドレス2側の
機能ブロックの出力をYと定義する。すると、機能ブロ
ックすなわち積分器の入力は出力を微分したものである
から、それぞれ に相当する。従って、係数器101を介して機能ブロッ
ク100に加えられる信号が、それぞれ(1)式または
(2)式の右辺に相当するようにすればよい。すなわち
、積分計算の時間の刻みをτとした時、メモリ回路32
3の記憶内容として、アドレス1側のメモリの0番地に
は0.1番地にはτa、2番地にはτb、アドレス2側
のメモリの0番地にはO11番地にはτC52番地には
τdをそれぞれ記憶させておく。そして、各ラッチ回路
302にそれぞれX、Yの初期値をセラj・すれば準備
完了である。計算の動作は、第5図に示すように、アド
レスバス112には各フレーム毎に0.1,2,0,1
,2,0,1.・・・、と繰り返すアドレス信号を、ク
ロックバス113には各フレーム内に1パルスずつのク
ロック信号を、りィミング発生装置120から出力する
ことにより行なう。すると、第1のフレームでは、アド
レス信号がOであるから第3図のメモリ回路323の出
力は両方共Oとなる。従って、乗算器311の出力も両
方共Oとなり、加算器301の出力はラッチ回路302
の出力すなわちXまたはYの初期値に等しくなる。この
時にラッチ回路302にクロック信号が入ってもX、Y
の初期値を保持したままである。一方、ラッチ回路30
3は、このフレームのクロック信号によってラッチ回路
302の出力すなわちX、Yの初期値を取り込む。次に
第2のフレームに移ると、アドレス信号が1となるから
アドレス1側のバッファ回路304が活性化され、デー
タバス111にはアドレス1側のラッチ回路303の出
力すなわちXの初期値が出力される。また、アドレス信
号が1であるから、メモリ回路323の出力はアドレス
1側はτa、アドレス2側はτCとなり、乗算器311
の出力はそれぞれでaX、τcXとなる。従って、加算
器301の出力は、それぞれX+τaX、Y+tcXと
なり、このフレーム内のクロック信号によってラッチ回
路302にはこの値が取り込まれる。 なお、このフレームではラッチ回路303にはクロック
信号が加わらないため、ラッチ回路303はそれぞれ元
のX、Yを保持したままである。次に第3のフレームに
移ると、アドレス信号は2となり、データバスにはYの
、初期値が出力され、メモリ回路323の出力はそれぞ
れτb、τdとなる。すると、加算器301の出力値は
ラッチ回路302の出力値にそれぞれτbyまたはτd
Yが加算されて、X+τ(aX+bY)。 Y+r (cX+dY)となる。(1)、(2)式から
明らかなように、この値は初期状態から微小時間τ後の
X、Yの値となる。そして、このフレームではこの値が
ラッチ回路302に取り込まれ、第4のフレームではこ
の値が新たなX、Yとしてラッチ回路303に取り込ま
れる。以下、同様の計算を繰り返す。これにより、上記
連立微分方程式(1)、(2)を時間での刻みで解くこ
とができる。τを小さくすることにより、計算に要する
時間は増加するが計算の精度を上げることができる。 また、アナログ計算機で言うところの加算器が必要な時
には、アドレス信号が0となるフレームにおいて、ラッ
チ回路303に新しい値を書き込むと共にラッチ回路3
02の値をリセットする(0にする)ことにより、機能
ブロック100を加算器として動作させることができる
。従って、そのリセット信号を出すか否かを制御するこ
とによって、同一の回路を積分器として使用することも
加算器として使用することもできる。また、乗算器31
1や加算器301は補数表現等によって負数も扱えるよ
うにしておくことは言うまでもない。 また、積分時間の刻みτを小さく取れば、ラッチ回路3
03は必ずしも必要ではない。 なお、以上述べたアナログ計算機は、回路自体はディジ
タル回路で出来ているが、方程式を解く原理は従来のア
ナログ計算機と同じである。従って、ドリフト等のよう
にアナログ回路に起因する不安定性は無くなるが、正帰
還を含む場合等のようにアナログ計算機の原理に起因す
る不安定性については注意する必要がある。また、従来
のアナログ計算機では、回路自体もアナログ回路であっ
たため、3桁以上の精度を実現しようとすると途端に高
価になり、数桁以上の精度を実現するのは非現実的であ
った。しかし、本発明によれば回路自体はディジタル回
路であるため、ビット数さえ増やせば簡単に精度を上げ
ることが出来る。また。 ディジタル回路であるので集積化も容易である。 また、従来は機能ブロック同士の結線はパッチボード等
を使って人手で行なっていたため、コネクタ部分の集積
化も難しく機能ブロックの数はせいぜい画側以下が限度
であった。しかし本発明によれば、機能ブロック同士の
結線は結線情報をメモリに書き込むだけで行なえるため
、この部分の集積化も容易であり、また、必要に応じて
結線情報を磁気ディスク等の記憶媒体に保存したり、デ
ィジタル計算機で自動的に生成した結線情報を自動的に
書き込むこともできる。また、本発明の計算機の原理は
アナログ計算機と同じであるため、複数の機能ブロック
が同時に動作することになる。 従って、ディジタル計算機と比べて、変数の個数が多い
連立方程式を解く場合等には計算時間の点で有利である
。 次に、この装置をニューラルネットとして使用する場合
について説明する。この場合、第3図に示した回路全体
がいわゆるニューロンと呼ばれる単位1個に相当し、係
数器101が他のニューロンからの信号を受けるいわゆ
るシナプスに、加算器301とラッチ回路302の構成
する部分がシナプスの受けた信号を加算するいわゆる樹
状突起にそれぞれ相当する。各シナプスの重み付けは、
メモリ回路323に重み係数を記憶させることによって
行う。重み係数が負の時は抑制性、正の時は興奮性の信
号として作用し、絶対値が大きくなるほど重みが大きく
なる。従って、このメモリ323の内容を書き換えるこ
とによっていわゆる学習と呼ばれる操作が可能である。 なお、アナログ計算機の場合には、ラッチ回路302の
出力が表わす数値をそのまま(もしくは下位のビットを
切り捨てただけで)その機能ブロックの出力値とするが
、ニューラルネットの場合には で表わされるシグモイド関数か、または、これを折線で
近似した なる関数によって数値変換した結果をそのニューロンの
出力値とする。この数値変換を行なう回路はラッチ回路
302とラッチ回路303の間、もしくは、ラッチ回路
303とバッファ回路304の間のいずれかに挿入する
。ここで、(4)式の折線の関数によって数値変換する
回路は、例えば第6図(a)に示すような構成によって
実現できる。第6図(a)において、610は入力端、
611は出力端である。また、比較器601゜602、
乗算器603、セレクタ604,605、加算器606
の入力の片側には、それぞれ数値a。 −a、1/2a、1,0.1/2を表わす信号を接続す
る。すると、入力端610に加えられる入力信号の表わ
す数値が8以上の時には比較器601がセレクタ604
を制御して出力端611には数値1を表わす信号が出力
される。また、入力信号の表わす数値が−a以下の時に
は比較器602がセレクタ605を制御して出力端61
1には数値0を表わす信号が出力される。また、入力信
号の表わす数値が−aとaの間にある時には、乗算器6
03と加算器606を通った信号が出力端611に出力
される。従って、第6図(a)の回路によって(4)式
の関数による数値変換を実現することができる。なお、
(3)式のシグモイド関数やその他の複雑な関数による
数値変換を実現したいときには、第6図(b)のように
メモリ回路を使うのが容易である。この場合、入力値に
対する出力値をあらかじめ計算しておいて、メモリ回路
内のその人力信号が表わすアドレスに記憶させ、使用時
は入力信号をアドレスとして読み出したデータを出力値
として使う。このようにすれば、どんな複雑な関数によ
る数値変換でも実現することができる。以上説明したよ
うに、第1図の装置はニューラルネットとして使用する
こともできる。 ところで、独立変数の多い方程式を解いたり、複雑な情
報処理を行なう場合、多数の機能ブロックが必要になる
。すると、第1図のような接続方法ではデータバス11
1やアドレスバス112、タロツクバス113に付く負
荷が大きくなって迅区動が困難になる。第7図はこれを
避けるための一実施例である。第7図において、701
〜706はそれぞれが複数の機能ブロックを有する機能
ブロック群である。その中の接続は第1図と同様であり
、111,112,113はそれぞれデータバス、アド
レスバス、クロックバスである。また、711.712
,713はそれぞれ上位のデータバス、上位のアドレス
バス、上位のクロックバスである。アドレス信号および
クロック信号は、タイミング発生装置120からそれぞ
れ上位のアドレスバス712または上位のクロックバス
713に出力され、駆動回路722または723を介し
てアドレスバス112またはクロックバス113に供給
される。第7図の場合にも、各機能ブロック100に対
してそれぞれ異なるアドレスが指定され、あるアドレス
信号が指す機能ブロックはこの中から一意的に決まる。 また、データ信号の方は、アドレス信号によって制御さ
れる双方向性の駆動回路751〜756を介して上位の
データバス711に接続される。そして、アドレス信号
が指す機能ブロックを含む機能ブロック群(701〜7
06の内のいずれか1つ)と対をなす双方向性の駆動回
路(751〜756の内のいずれか1つ)のみ下位のデ
ータバス111上の信号を上位のデータバス711側に
送出し、その他の双方向性の駆動回路は上位のデータバ
ス711上の信号を下位のデータバス111側に送出す
る。従って、第7図の場合にもアドレス信号によって指
定された機能ブロックの出力が全機能ブロックに一斉に
伝えられることになる。なお、更に機能ブロックの数を
増やしたい時には、更に上位のデータバスやアドレスバ
ス、クロックバスを設け、第7図の回路全体(但し、タ
イミング発生装置120の部分を除く)を1つの機能ブ
ロック群として、もう−股上の階層構造を設けることも
できる。このように階層構造を深くしていくことにより
、データバス等に接続される負荷の上限値をある一定値
以下に保ったまま機能ブロックの個数を増やしていくこ
とができる。なお、双方向性の駆動回路を上述のように
制御するためには、例えばアドレス信号の上位のビット
が機能ブロック群を指定し下位のビットが個々の機能ブ
ロックを指定するようにアドレスを決めておき、上位の
ビットのみを第4図に示したようなアドレスデコーダに
加えて制御信号を得ることにより実現できる。 ところで、機能ブロックの個数を増やした時のもう1つ
の問題は、処理時間の増加である。すなわち、本発明の
装置ではアドレス信号が一巡する毎に計算の1ステツプ
が進行するが、機能ブロックの個数が多くなるとアドレ
ス信号の上限値も大きくなり、アドレス信号が一巡する
のに要する時間が長くなる。これは、全ての機能ブロッ
クを他の全ての機能ブロックと接続しようとすると避け
られない問題であるが、接続する範囲をある程度限定し
ても実用上は問題無い場合が多い。例えば、熱拡散の方
程式を解いである物体の各部の温度の変化を求めようと
した場合、その物体上の各点の瞬時的な温度変化はその
近傍の点の温度の影響を受けるが遠く離れた点の温度は
直接は影響しない。 そのほか電磁波の伝播等、多くの物理量の瞬時的な変化
は着目している点の近傍の状況のみに影響され遠く離れ
た点の状況は直接は影響しない。従って5少なくとも本
発明の装置をアナログ計算機として使用する場合、各機
能ブロックが論理的にその近くにある機能ブロックと接
続できれば実用上は殆ど問題無い。この点を考慮して処
理時間を短縮した構成の一実施例を第8図に示す。 第8図において、701〜706は第7図と同様の機能
ブロック群である。また、アドレス信号およびクロック
信号をタイミング発生装置120から上位のアドレスバ
ス712または上位のクロックバス713に供給し、更
に駆動回路722または723を介してアドレスバス1
12またはクロックバス113に供給するのも第7図の
場合と同様である。第8図の回路が第7図の回路と異な
る点は、データバス111の接続方法にある。すなわち
、各データバス111は双方向性の駆動回路851〜8
56を介して両隣のデータバスとのみ接続される。そし
て、双方向性の駆動回路は、アドレス信号によって指定
された機能ブロックを含む機能ブロック群から両隣の機
能ブロック群へのみ信号を伝達する。例えば、第8図の
機能ブロック群702内の斜線を施した機能ブロック1
00が指定された時は、双方向性の駆動回路852は機
能ブロック群702から機能ブロック群701へ、85
3は機能ブロック群702から機能ブロック群703へ
、それぞれ信号を伝達する。そして、双方向性の駆動回
路851および854はいずれの方向へも信号を伝達し
ない。双方向性の駆動回路を、互いに入力側と出力側を
接続した2個のトライステート出力のバッファ回路によ
り構成すれば、このような制御は可能である。 そしてこの場合、アドレス信号により指定された機能ブ
ロックの出力は、機能ブロック群701゜702.70
3内の各機能ブロックには伝送されるが、機能ブロック
群704,705,706には伝送されない。そこで、
機能ブロック群705内の機能ブロックのうちの1つ(
例えば、第8図の機能ブロック群705内の斜線を施し
た機能ブロック)にも同じアドレスを指定すれば、同じ
アドレス信号によってその機能ブロックの出力を機能ブ
ロック群704,705,706内の各機能ブロックに
伝送することができる。同様に、機能ブロック群701
内の機能ブロックと機能ブロック群704内の機能ブロ
ックに同じアドレスを指定すれば、機能ブロック群70
1内の機能ブロックの出力が機能ブロック群701,7
02゜706内の機能ブロックに伝送されている間に、
機能ブロック群704内の機能ブロックの出力を機能ブ
ロック群703,704,705内の機能ブロックに伝
送することができる。同様に、機能ブロック群703内
の機能ブロックと機能ブロック群706内の機能ブロッ
クに同じアドレスを指定すれば、それぞれ機能ブロック
群702゜703.704の間で伝送する間に、機能ブ
ロック群705,706,701の間でも伝送すること
ができる。以上のようにすれば、アドレス信号の上限値
は機能ブロックの総数に関わらず、常に1個の機能ブロ
ック群に含まれる機能ブロックの数の3倍となる。従っ
て、アドレス信号が一巡するのに要する時間も、機能ブ
ロックの総数に関わらず一定となる。なお、ここまでの
説明は両隣の機能ブロック群にのみデータを伝送する場
合について述べたが、双方向性の駆動回路の制御の方法
を変更すれば、両隣と更にその隣の計5個の機能ブロッ
ク群にまで伝送することもできる。その場合には、アド
レス信号の上限値は1個の機能ブロック群に含まれる機
能ブロックの数の5倍となるが、1個の機能ブロックか
ら直接データを伝送できる機能ブロックの数は5/3倍
になる。また、1個の機能ブロック群に含まれる機能ブ
ロックの数を増やしたいときには、第7図の回路全体(
但し、タイミング発生装置120の部分を除く)を1個
の機能ブロック群として、第8図の機能ブロック群70
1〜706のそれぞれをこれと置き換えた構成にすれば
よい。また、第7図の場合と同様に更にその下の階層を
設けることも可能である。 また、第8図は1次元的に近くにある機能ブロック同士
を接続したものであるが、2次元的に近くにある機能ブ
ロック同士を接続したような構成も考えられる。その一
実施例を第9図に示す。ただし、第9図には機能ブロッ
ク群の枠とデータバスおよび双方向性の駆動回路のみを
記載し、機能ブロック群内の詳細やアドレスバスやクロ
ックバスおよびタイミング発生装置等については第7図
や第8図と同様であるためその記載は省略した。 第9図における双方向性の駆動回路の制御は、ある機能
ブロック群内の機能ブロックのアドレスが指定されたと
き、その機能ブロック群を含む列から両隣の列にデータ
を伝送し、かつ、その機能ブロック群を含む行から両隣
の行にデータを伝送するように行なう。これにより、例
えば第9図の機能ブロック群705内の機能ブロックが
指定されたとき、701〜709の機能ブロック群内に
ある機能ブロックにデータが伝送される。以上のように
すれば、2次元的に近くにある機能ブロック同士を接続
することができ、る。 [発明の効果] 以上述べたように、本発明によれば1機能ブロックの個
数を増やしてもハードウェアの量が飛躍的には増加しな
いアナログ計算機やニューラルネットを実現することが
できる。
第1図は本発明の一実施例を示す構成図、第2図は従来
例の構成図、第3図は本発明に使用する機能ブロックと
係数器および時分割制御回路の部分の一実施例を示す構
成図、第4図(a)、(b)はそれぞれ更にその中のア
ドレスデコーダの−実流側を示す構成図、第5図は本発
明の詳細な説明するためのタイミング図、第6図(a)
、(b)はそれぞれ本発明をニューラルネットとして使
用する時に必要な関数変換回路の一実施例を示す構成図
、第7図〜第9図はそれぞれ本発明の他の実施例を示す
構成図である。 符号の説明 100・・・機能ブロック、101・・・係数器、10
2・・・時分割制御回路、111・・・データバス、1
12・・・アドレスバス、113・・・クロッグバス、
701〜709・・・機能ブロック群、711・・・上
位のデータバス、712・・・上位のアドレスバス、7
13・・・上位のクロックバス、751〜756゜85
1〜856・・・双方向性の駆動回路である。 第 第4図 (a) (b) 第5図 第6図 (、) (b)
例の構成図、第3図は本発明に使用する機能ブロックと
係数器および時分割制御回路の部分の一実施例を示す構
成図、第4図(a)、(b)はそれぞれ更にその中のア
ドレスデコーダの−実流側を示す構成図、第5図は本発
明の詳細な説明するためのタイミング図、第6図(a)
、(b)はそれぞれ本発明をニューラルネットとして使
用する時に必要な関数変換回路の一実施例を示す構成図
、第7図〜第9図はそれぞれ本発明の他の実施例を示す
構成図である。 符号の説明 100・・・機能ブロック、101・・・係数器、10
2・・・時分割制御回路、111・・・データバス、1
12・・・アドレスバス、113・・・クロッグバス、
701〜709・・・機能ブロック群、711・・・上
位のデータバス、712・・・上位のアドレスバス、7
13・・・上位のクロックバス、751〜756゜85
1〜856・・・双方向性の駆動回路である。 第 第4図 (a) (b) 第5図 第6図 (、) (b)
Claims (11)
- 1.記憶機能を備えた第1の回路と乗算機能を備えた第
2の回路と加算機能を備えた第3の回路を含むブロック
を複数個有し、上記ブロックのそれぞれは、上記第2ま
たは/および第3の回路が他のブロックの複数に対して
共通に設けられ、上記第2の回路によって上記第1の回
路に記憶された値と他のブロックの出力との積を求め、
上記第3の回路によってその総和を求めて出力値を決め
るように構成したことを特徴とする情報処理装置。 - 2.記憶機能を備えた第1の回路と乗算機能を備えた第
2の回路と加算の機能を備えた第3の回路を含むブロッ
クを複数個有し、上記ブロックのそれぞれは、上記第2
の回路によって上記第1の回路に記憶された値と他のブ
ロックの出力との積を求め、上記第3の回路によってそ
の総和を求めて出力値を決めるように構成され、かつ上
記ブロックを順次指定するアドレス信号によって指定さ
九たブロックが他のブロックに一斉に信号を出力するよ
うに構成したことを特徴とする情報処理装置。 - 3.上記アドレス信号が一巡する中にどのブロックをも
指定しない状態を設けたことを特徴とする請求項2記載
の情報処理装置。 - 4.上記第3の回路の出力を一時的に記憶する回路を設
けたこと特徴とする請求項1〜3のいずれかに記載の情
報処理装置。 - 5.上記ブロックの出力を一時的に記憶する回路を設け
たこと特徴とする請求項1〜4のいずれかに記載の情報
処理装置。 - 6.上記複数のブロックは複数の群に分かれ、各ブロッ
クの出力を他のブロックに伝送するデータバスが上記群
毎に設けられ、かつ、上記群毎に設けられたデータバス
を互いに接続するための上位のデータバスが設けられて
いることを特徴とする請求項1〜5のいずれかに記載の
情報処理装置。 - 7.上記複数のブロックは複数の群に分かれ、各ブロッ
クの出力を他のブロックに伝送するデータバスが上記群
毎に設けられ、上記群毎に設けられたデータバスは互い
に隣接するもの同士が双方向性の駆動回路によって接続
されたことを特徴とする請求項1〜6のいずれかに記載
の情報処理装置。 - 8.上記複数のブロックの内の少なくとも2個以上が同
時に信号を出力し、各ブロックからの出力信号はそれぞ
れが上記複数のブロックの内の一部にのみ伝送されるよ
うに構成したことを特徴とする請求項1〜7のいずれか
に記載の情報処理装置。 - 9.アナログ計算機として使用することを特徴とする請
求項1〜8のいずれかに記載の情報処理装置。 - 10.ニューラルネットとして使用したことを特徴とす
る請求項1〜8のいずれかに記載の情報処理装置。 - 11.ディジタル回路によって構成したことを特徴とす
る請求項1〜10のいずれかに記載の情報処理装置。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP64000297A JP2765903B2 (ja) | 1989-01-06 | 1989-01-06 | 情報処理装置 |
| DE69032680T DE69032680T2 (de) | 1989-01-06 | 1990-01-04 | Neuronaler Rechner |
| EP90100171A EP0378115B1 (en) | 1989-01-06 | 1990-01-04 | Neural computer |
| US07/461,080 US5165010A (en) | 1989-01-06 | 1990-01-04 | Information processing system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP64000297A JP2765903B2 (ja) | 1989-01-06 | 1989-01-06 | 情報処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02181257A true JPH02181257A (ja) | 1990-07-16 |
| JP2765903B2 JP2765903B2 (ja) | 1998-06-18 |
Family
ID=11469963
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP64000297A Expired - Lifetime JP2765903B2 (ja) | 1989-01-06 | 1989-01-06 | 情報処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2765903B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07219919A (ja) * | 1994-01-28 | 1995-08-18 | Mitsubishi Electric Corp | 数値演算処理装置 |
| JPH07306845A (ja) * | 1994-05-12 | 1995-11-21 | Chubu Denki Kk | 神経系学習装置用の並列処理装置 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5515542A (en) * | 1978-07-18 | 1980-02-02 | Nec Corp | Data transmitter |
| JPS61283975A (ja) * | 1985-06-11 | 1986-12-13 | Komatsu Ltd | 物体の位置検出装置 |
| JPS63163674A (ja) * | 1986-12-26 | 1988-07-07 | Nippon Telegr & Teleph Corp <Ntt> | 複合演算回路 |
-
1989
- 1989-01-06 JP JP64000297A patent/JP2765903B2/ja not_active Expired - Lifetime
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5515542A (en) * | 1978-07-18 | 1980-02-02 | Nec Corp | Data transmitter |
| JPS61283975A (ja) * | 1985-06-11 | 1986-12-13 | Komatsu Ltd | 物体の位置検出装置 |
| JPS63163674A (ja) * | 1986-12-26 | 1988-07-07 | Nippon Telegr & Teleph Corp <Ntt> | 複合演算回路 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07219919A (ja) * | 1994-01-28 | 1995-08-18 | Mitsubishi Electric Corp | 数値演算処理装置 |
| JPH07306845A (ja) * | 1994-05-12 | 1995-11-21 | Chubu Denki Kk | 神経系学習装置用の並列処理装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2765903B2 (ja) | 1998-06-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5506998A (en) | Parallel data processing system using a plurality of processing elements to process data and a plurality of trays connected to some of the processing elements to store and transfer data | |
| US4908751A (en) | Parallel data processor | |
| US5544336A (en) | Parallel data processing system which efficiently performs matrix and neurocomputer operations, in a negligible data transmission time | |
| EP0122117B1 (en) | Digital signal processors | |
| JP2615422B2 (ja) | 時系列学習神経回路素子およびそれを用いた時系列学習神経回路 | |
| US5604840A (en) | Information processing apparatus | |
| EP0421639A2 (en) | Parallel data processing system | |
| JPH01201764A (ja) | 神経回路網およびその回路網に用いる回路 | |
| JPH07117948B2 (ja) | コンピユータ装置 | |
| US5369731A (en) | Asynchronous control system for a neuro computer | |
| JP3172352B2 (ja) | ニューラルネットワーク回路 | |
| CN111985628B (zh) | 计算装置及包括所述计算装置的神经网络处理器 | |
| JP2003512683A (ja) | ニューラルネットワーク素子 | |
| JPH02181257A (ja) | 情報処理装置 | |
| JPH04316153A (ja) | ニューロプロセッサ | |
| JPH024944B2 (ja) | ||
| JP2825133B2 (ja) | 並列データ処理方式 | |
| CN112949834A (zh) | 一种概率计算脉冲式神经网络计算单元和架构 | |
| JPH0547870B2 (ja) | ||
| JPH06180684A (ja) | 高速データアクセスオペレーション実行システム | |
| KR940001172B1 (ko) | 네트워크 구성데이타 처리장치의 학습처리 방식 | |
| RU2029368C1 (ru) | Устройство для моделирования нейрона | |
| JPH079572B2 (ja) | パタ−ンデ−タの縦横変換装置 | |
| JP2513179B2 (ja) | カウンタ付直列−並列変換回路 | |
| JPH02228116A (ja) | 時空間フィルタ |