JPH09223011A - 演算装置 - Google Patents

演算装置

Info

Publication number
JPH09223011A
JPH09223011A JP8055484A JP5548496A JPH09223011A JP H09223011 A JPH09223011 A JP H09223011A JP 8055484 A JP8055484 A JP 8055484A JP 5548496 A JP5548496 A JP 5548496A JP H09223011 A JPH09223011 A JP H09223011A
Authority
JP
Japan
Prior art keywords
alu
ij
bus
connected
respective
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8055484A
Other languages
English (en)
Inventor
Hitoshi Nishimura
仁志 西村
Original Assignee
San Graphics:Kk
有限会社サングラフィックス
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 Graphics:Kk, 有限会社サングラフィックス filed Critical San Graphics:Kk
Priority to JP8055484A priority Critical patent/JPH09223011A/ja
Publication of JPH09223011A publication Critical patent/JPH09223011A/ja
Application status is Pending legal-status Critical

Links

Abstract

(57)【要約】 【課題】 命令アクセスを不要にし、高速処理が可能な
演算装置を提供すること。 【解決手段】 基板上に行列状に配置した複数のALU
と、各ALUにそれぞれ接続した論理設定記憶素子と、
隣合う前記ALUを互いに接続する隣接配線と、前記A
LUの行列間に設けたバスと、各バスの端部に接続し、
ALUから隣接する前記バスへの出力許可制御をするア
ービタとを備え、ALUのうちひとつのALUを外部入
力部に接続し、他のひとつのALUを外部出力部に接続
し、各ALUは前記隣接配線及びバスを介して全てのA
LUと接続するとともに、前記論理設定記憶素子は、外
部から入力するフローグラフコードに応じた前記個別機
能を前記各ALUに設定し、前記個別機能を記憶した前
記各ALUとアービタとを用いて、特定用途のための論
理演算回路を前記基板上に構成する。

Description

【発明の詳細な説明】

【0001】

【発明の属する技術分野】この発明は、高速演算処理が
可能な演算装置に関し、特に特定用途の論理演算装置に
関する。

【0002】

【従来の技術】従来のCPUを有する一般の演算装置
は、プログラムを段階的に処理すると共に、そのプログ
ラムを処理する段階において、外部のメモリに記憶され
ているプログラムから、演算処理に必要な命令を読み込
まなければならなかった。例えば、従来の演算装置で累
算をしようとすると、図6に示すような実行内容のステ
ップ状況になる。すなわち、従来の装置は、累算を1回
行うのに、命令アクセス、入力1、命令アクセス、結果
入力1、命令アクセス、加算1、命令アクセス、結果記
憶1、命令アクセス、結果出力1というように10ステ
ップ必要になるとともに、各段階ごとに命令アクセスが
必要であった。そこで、この装置によって、5個の演算
結果出力を得るためには、50ステップの処理が必要で
ある。

【0003】

【発明が解決しようとする課題】このようにした従来の
演算装置では、プログラムの処理中に、必要な命令を読
み込まなければならないうえ、全ての演算処理が段階的
に直列に行われるので、その処理速度が遅くなるという
問題があった。この発明の目的は、命令アクセスを不要
にし、高速処理が可能な演算装置を提供することであ
る。

【0004】

【課題を解決するための手段】本発明の演算装置は、基
板上に行列状に配置した複数のALUと、前記各ALU
にそれぞれ接続した論理設定記憶素子と、隣合う前記A
LUを互いに接続する隣接配線と、前記ALUの行列間
に設けたバスと、前記各バスの端部に接続し、前記AL
Uから隣接する前記バスへの出力許可制御をするアービ
タとを備え、前記ALUのうちひとつのALUを外部入
力部に接続し、他のひとつのALUを外部出力部に接続
し、前記各ALUは前記隣接配線及び前記バスを介して
全ての前記ALUと接続するとともに、前記論理設定記
憶素子は、外部から個別機能の分担と接続関係をセット
アップするプログラムをハード化する信号として入力す
るフローグラフコードに応じた前記個別機能を前記各A
LUに設定し、前記個別機能を記憶した前記各ALUと
アービタとを用いて、特定用途のための論理演算回路を
前記基板上に構成している。

【0005】上記のように構成したので、演算装置に実
行させる処理に応じて個別機能の分担と接続関係の設定
(セットアップ)のプログラムをハード化する手段とし
てのフローグラフコードを外部入力部から入力すれば、
論理設定記憶素子が各ALUに個別の機能を設定するの
で、ALUはそのフローグラフコードに応じた自己の演
算処理内容を記憶保持する。この状態で、各ALUは個
別の機能を持った演算素子となり、この装置は、フロー
グラフコードに応じた処理専用の演算装置として、設
定、即ちセットアップされる。そこで、次に、外部入力
部から所定のデータが入力すると、命令アクセス無し
で、各ALUが設定された個別機能に従って演算処理を
実行する。なお、行列間に設けるバスは、接続されるA
LUの数と、アービタの能力に応じて設定すれば良く、
必ずしも、全ての行間および、列間にバスを設ける必要
は無い。

【0006】

【発明の実施の形態】次に、図面を参照して、本発明の
実施例を説明する。図1は、本発明の第1実施例のブロ
ック図、図2と図3はそれぞれ、図1のALU編成体の
ブロック図および、アービタ接続部分の拡大図である。
図1〜図4に示した第1実施例は、基板1上に、1つの
ALUaijを主要素にしたALU編成体4をN×Nの行
列に配列している(ただし、i,jは、1≦i,j≦N
なる整数)。これによって、N2個のALUaijを基板
1上に配列できる。そして、ALUa11を外部入力部2
と接続し、ALUaN1は外部出力部3と接続している。
図2に示すようにALU編成体4の各ALUaijには、
それぞれ論理設定記憶素子bijがチャネル9により接続
され、左右、上下に隣合うALUは、入出力用の一対の
隣接配線5及び6を介して互いに接続されている。また
ALUの行列間にはバスxi,yjを設け、各ALUaij
は、最も近いバスxi,yjに、入出力用の一対のバス接
続チャネル7及び8を介して接続している。上記のよう
にALU編成体4は、ALUaijと、論理設定記憶素子
ijと、左右のALUに接続するための一対の隣接配線
5と、上下に位置するALUに接続するための一対の隣
接配線6と、バスxi,yjと、このバスxi,yjにAL
Uaijを接続するチャネル7,8と、論理設定記憶素子
ijを左右隣の論理設定記憶素子bi(j-1),bi(j+1)
接続するチャネル10と、論理設定記憶素子bijとAL
Uaijとを接続するチャネル9とからなる。なお、図
1,図2で、各々1本線で示されたバスxi,yjは、両
方向の信号の伝送路として用いるものである。

【0007】このALU編成体4を行列状に配列する
と、図1に示すように、隣接配線及び各チャネルが必然
的に接続される。ただし、論理設定記憶素子b21〜b2N
のチャネル10の信号の向きは、図2と逆方向になる。
以下b4j,b6j…も同様である。全ての論理設定記憶素
子bijを直列に接続するために、左右両側に、編成体4
の外部配線11、12を設けている。この外部配線1
1、12によって、両端に位置する論理設定記憶素子b
ij、例えば、b1Nとb2N、b21とb31等を接続すること
ができる。また、バスx0は、縦方向の2本のバスを接
続するために設定したバスで、ALUは接続されていな
い。ALUaij行列間に設けるバスxi,yjとは、AL
Uaij行列の隣に設けたバスxi,yjのことで、バスx
0や、xN,yNのように、行列の外側に設けたものも含
む。横方向に設けたバスx0〜xNと、縦方向のバスy1
〜yNのそれぞれの一端には、ALUからバスへの出力
許可のタイミングを制御をするアービタ13,14が接
続されている。

【0008】図3に示すように、アービタ14はメモリ
18を備えていて、外部入力部2から入力されるティー
チングスケジュールを記憶することができる。このティ
ーチングスケジュールとは、アービタが定められたAL
Uに定められた順序で出力許可を与えるためのデータで
ある。なお、アービタ13も同様のメモリ18を備えて
いる。また、縦方向のバスy1〜yNとバスx0との間に
は、スイッチS1〜SNが接続されていて、縦横のバスの
接続を切換えるようにしている。このスイッチS1〜SN
は、バスx0に接続したアービタ13aのタイミングに
連動してスイッチングを行うものである。例えば、隣り
合わないALUa31から、ALUa23への信号を伝送す
る場合には、両ALUをバスを介して接続しなければな
らない。先ず、バスy1に接続したアービタ14aの出
力許可により、ALUa31は、信号をバスy1に出力す
る。バスx0に接続したアービタ13aの制御により、
スイッチS1が閉じ、バスy1とバスx0が接続し、S3
閉じ、バスx0とバスy3がが接続する。これにより、信
号は、バスy1→バスx0→バスy3を介してALUa23
に入力される。

【0009】次に、この第1実施例の作用を説明する。
先ず、各ALU編成体4のALUaijの個別機能を分担
させるためのフローグラフコードである機能分担コード
を、外部入力部2から論理設定記憶素子bijに入力す
る。このとき、外部入力部2からの機能分担コードは、
チャネル10から論理設定記憶素子bijに入力される。
論理設定記憶素子bijは、チャネル10および外部配線
11、12によって、b11→b12→、…、→b1N→配線
11→b2N→、…、→bN1というように、直列に接続さ
れている。そこで、外部入力部2から論理設定記憶素子
11にフローグラフコードによって入力された機能分担
コードは、チャネル10により論理設定記憶素子b12
論理設定記憶素子b13…と、順送りすることができる。
これにより、機能分担コードは、N2番目の論理設定記
憶素子bN1から逆に入力され、最後に論理設定記憶素子
11に入力される。これで、機能分担コードの入力は終
了し、各機能分担コードを受けた論理設定記憶素子bij
は、入力されたコード内容を記憶すると共に、当該AL
Uaijに個別機能を設定する。この個別機能とは、各A
LUaijの演算機能だけでなく、他のALUとの接続の
切換え機能も含むものである。

【0010】外部入力部2からは、上記機能分担コード
とは別に、アービタ13,14のメモリ18にスイッチ
Sの切換タイミングであるティーチングスケジュールが
入力される。アービタ13とアービタ14は、それぞれ
配線15,16によってそれぞれ縦と横方向に直列に接
続されているので、ティーチングスケジュールも外部入
力部2に直接接続されたアービタ13,14から順送り
で入力することができる。このようにして、ALUaij
の個別機能の設定と、ティーチングジュールの入力が終
了すると、この演算装置の論理回路が構成され、特定用
途のための論理回路として、セットアップが終了する。
つまり、特定用途のフローグラフコードのハード化が完
了する。なお、装置の用途を変更する際には、外部入力
部2より、論理設定記憶素子bij及び、アービタ13,
14に、その用途に応じたフローグラフコードを入力
し、再セットアップを行えば良い。この状態で、入力部
として設定されたALUa11にデータを入力すれば、設
定された論理回路に従って、データは他のALUaij
送られ、演算処理されることを繰り返し、最後に、出力
部の機能を設定されたALUaN1から外部出力部3に出
力する。

【0011】ALUaijに入力され、処理されたデータ
のうち、隣り合うALUには、チャネル5,6を介して
伝送され、それ以外のALUには、バスxi,yjを介し
て送られる。各バスxi,yjには、複数のALUが接続
されている。例えば、バスx1には、上側からALUa
11〜a1Nが接続している。つまり、1本のバスに、N個
のALUが接続している。これらのALUが同時にバス
1への信号を出力しないようにアービタ13bが調整
する。このアービタ13bは、バスx1に接続している
ALUに出力許可を与えるタイミングをティーチングス
ケジュールとしてメモリ18に記憶しているので、その
スケジュールに従って、出力許可を与えれば良い。アー
ビタとしては、このメモリ18を持たないものでもかま
わない。ただし、その場合には、アービタ13bは、常
にバスx1に接続している全てのALUを監視している
必要があるので、極めて高い周波数で動作するアービタ
が必要となる。

【0012】このような演算装置は、それ自体をセット
アップすれば、必要な演算処理を行う用途が特定された
専用演算装置となり、従来装置のようになメモリへのア
クセスが不要となる。従来例と同じ計算結果を得る際に
も、命令アクセスが不要となるので、1個の出力を得る
ための処理ステップ数が半減する。本実施例の装置で
は、各処理を行うために、各ALUaijが個別機能を設
定されているので、複数の出力を得る場合には、各ステ
ップを同時に行うことができる。例えば、累算を行う場
合の処理状況を示したのが、図4である。図4に示すよ
うに、この実施例によれば、入力→結果入力→加算→結
果記憶→結果出力を1ステップずらして同時並行的に実
施できる。5個の結果出力を得るためには、従来装置で
は、50ステップ必要であったが、本発明では、9ステ
ップで足りる。従って、演算時間が大幅に短縮されると
いう効果がある。そして、処理が複雑になりステップ数
が多くなるほど、その差は大きくなる。

【0013】図5に示す第2実施例は、全てのアービタ
13,14を1本の配線16で直列に接続しており、そ
れ以外は第1実施例と同様である。第1実施例では図1
のように、アービタ14を配線16を用いて横方向に直
列に、アービタ13を配線15を用いて縦方向に直列
に、外部入力部2と接続しているのに対して、本実施例
では、一方から全てのアービタ13,14のためのティ
ーチングスケジュールを順送りに、入力するため、入力
ポート数を減らすことができる。なお、第1,第2実施
例では、論理設定記憶素子bijを全て直列に接続して、
入力するコードを順送りにするように構成したが、各論
理設定記憶素子bijに対応するコードを直接入力するよ
うにしてもかまわない。ただし、個別に入力する場合に
は、入力ポート数が、N2個必要となる。また、バス
i,yjは、全ての行列間に設けなくてもかまわない。
バスの本数を増やすことにより、より多くの情報を伝送
できることになるので、演算処理時間を短縮することが
できるが、反面、結線スペースを要する。バスを介して
の接続よりも、隣接配線のような直接接続の方が、さら
に伝達速度が速くなるが、やはり、結線が複雑になるの
で、処理速度とスペースとの兼ね合いで、最適なパター
ンを選ぶことができる。

【0014】

【発明の効果】この発明の演算装置によれば、プログラ
ムの処理中に、それを処理するための命令アクセスの必
要がないので、それだけ演算速度が速くなる。また、結
果出力を繰り返し得る場合には、ステップをずらして並
行して処理することができるので、さらに、高速処理が
可能となった。

【図面の簡単な説明】

【図1】本発明の第1実施例のロック図である。

【図2】図1のALU編成体のブロック図である。

【図3】図1のアービタ接続部分の拡大図である。

【図4】第1実施例の累算処理状況を説明するために示
した図である。

【図5】本発明の第2実施例のブロック図である。

【図6】従来例の累算処理状況を説明するために示した
図である。

【符号の説明】

1 基板 2 外部入力部 3 外部出力部 5,6 隣接配線 13,14 アービタ xi,yj バス aij ALU bij 論理設定記憶素子

Claims (1)

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

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
JPH09223011A true JPH09223011A (ja) 1997-08-26

Family

ID=12999906

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8055484A Pending JPH09223011A (ja) 1996-02-19 1996-02-19 演算装置

Country Status (1)

Country Link
JP (1) JPH09223011A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008226275A (ja) * 2000-12-19 2008-09-25 Picochip Designs Ltd プロセッサアーキテクチャ
JP2009054154A (ja) * 2000-12-19 2009-03-12 Picochip Designs Ltd プロセッサアーキテクチャ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008226275A (ja) * 2000-12-19 2008-09-25 Picochip Designs Ltd プロセッサアーキテクチャ
JP2009054154A (ja) * 2000-12-19 2009-03-12 Picochip Designs Ltd プロセッサアーキテクチャ

Similar Documents

Publication Publication Date Title
Siegel et al. The multistage cube: A versatile interconnection network
US5136188A (en) Input/output macrocell for programmable logic device
US5684980A (en) FPGA virtual computer for executing a sequence of program instructions by successively reconfiguring a group of FPGA in response to those instructions
JP2647327B2 (ja) 大規模並列コンピューティング・システム装置
EP0318221B1 (en) Controlling responding by users of an intercommunications bus
US7188192B2 (en) Controlling multiple context processing elements based on transmitted message containing configuration data, address mask, and destination indentification
US6467017B1 (en) Programmable logic device having embedded dual-port random access memory configurable as single-port memory
US5055997A (en) System with plurality of processing elememts each generates respective instruction based upon portions of individual word received from a crossbar switch
JP3444216B2 (ja) プログラマブルデバイス
US5152000A (en) Array communications arrangement for parallel processor
EP0198010B1 (en) Packet switched multiport memory nxm switch node and processing method
US4709327A (en) Parallel processor/memory circuit
US6122719A (en) Method and apparatus for retiming in a network of multiple context processing elements
US6219785B1 (en) Reconfigurable computer architecture using programmable logic devices
EP0053457B1 (en) Data processing apparatus
KR100343696B1 (ko) 평면 어레이 구조를 갖는 에뮬레이션 모듈
US5175862A (en) Method and apparatus for a special purpose arithmetic boolean unit
US5606520A (en) Address generator with controllable modulo power of two addressing capability
US6314487B1 (en) Adaptive routing controller of a crossbar core module used in a crossbar routing switch
US4237534A (en) Bus arbiter
US5123109A (en) Parallel processor including a processor array with plural data transfer arrangements including (1) a global router and (2) a proximate-neighbor transfer system
US5664214A (en) Parallel processing computer containing a multiple instruction stream processing architecture
US6108760A (en) Method and apparatus for position independent reconfiguration in a network of multiple context processing elements
EP0102242B1 (en) Data processing apparatus
US7340562B2 (en) Cache for instruction set architecture