JPS63197274A - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JPS63197274A JPS63197274A JP2750788A JP2750788A JPS63197274A JP S63197274 A JPS63197274 A JP S63197274A JP 2750788 A JP2750788 A JP 2750788A JP 2750788 A JP2750788 A JP 2750788A JP S63197274 A JPS63197274 A JP S63197274A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- data
- bank
- write
- read
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/8053—Vector processors
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)
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
〔発明の利用分野〕
本発明は、複数の演算器を書込みが間欠に行なわれても
正しく読出しが可能なファーストイン・ファーストアウ
ト記憶装置(以下1” i F Oメモリと称する)に
より選択的に結合可能なデータ処理装置に関する。 ここで、F’iFOメモリとは書き込んだ情報のうち最
初にVき込んだ情報、すなわち、最も古い情報から順番
に、読み出せる記憶装置と定義する。
正しく読出しが可能なファーストイン・ファーストアウ
ト記憶装置(以下1” i F Oメモリと称する)に
より選択的に結合可能なデータ処理装置に関する。 ここで、F’iFOメモリとは書き込んだ情報のうち最
初にVき込んだ情報、すなわち、最も古い情報から順番
に、読み出せる記憶装置と定義する。
複数の演算器を同時に動作させることによる高速なデー
タ処理装置に関する先行技術としては。 例えば、米国特許4,128,880に開示されている
様に、演算器の間をベクトルレジスタを仲立ちとして選
択的に結合する方法がある。 〔発明が解決しようとする課題〕 チェイニングと呼ばれるこの方法では、ある演算器が休
みなく連続して有効なデータを入力することを前提とし
ている。しかしながら、記憶装置からデータを取込む場
合の様にデータが間欠的に転送される場合には正しく動
作しない。すなわち、まだ書込まれていないデータにつ
いても誤って読出してしまう危険性を有している。 本発明の目的は、複数の演算器を選択的に結合して同時
動作させ、′6LfF、器からデータが間欠的に出力さ
れても正しいデータを有効データとして後続の演算器に
入力することができるデータ処理装置を提供することで
ある。 〔課題を解決するための手段〕 このような目的を達成するために5本発明では、1−0
それぞれが一群のデータを保持するための。 それぞれ複数のデータバンクからなる複数の記憶手段と
。 順次入力されるデータに対して演算をそれぞれ行い、演
算結果に対応するデータを新たな入力データの受信と並
行して出力する複数の演算手段と。 選択された第1の記憶手段から読み出された一群のデー
タを順次少くとも一つの選択された演算手段に供給し、
該選択された演算手段から出力される一群のデータを選
択された第2の記憶手段に順次供給するように該複数の
記憶手段と該複数の演算手段とを命令に応答して選択的
に接続する選択手段と、 該選択された第]−の記憶手段に保持された一群のデー
タを、あらかじめ定められたメモリバンクの順序に従い
順次異なるデータバンクから読み出すように該第1の記
憶手段を制御し、該選択された演算手段から出力される
一群のデータを、該第2の記憶手段にあらかじめ定めら
れたデータバンクの順序に従い順次異なるデータバンク
に書き込むように該第2の記憶手段を制御する手段であ
って、該第1の記憶手段から次に読み出すべきデータが
すでにそこに存在するか否かに応じてその読出しを制御
し、かつ、各記憶手段について、データを次に書き込む
べきバンクとデータを次に読み出すべきバンクが同一の
ときには、書き込みおよび読み出しの一方が該同一バン
グに対して遅らせて行なわれるように制御する手段を設
けた。 〔作用〕 上記制御手段による制御の結果として、一つの演算手段
の出力が間欠的に出力された場合でも、その出力データ
を記憶手段の一つに書き込みつつ、その一つの記憶手段
から書込み済のデータを読み出して、別の演算手段に送
出することかできる。 この際、各記憶手段が複数のデータバンクから構成され
ているので、それぞれの記憶手段に対して読出しと書込
みの一方を大きな遅延なし実行できる。 〔発明の実施例〕 以下、本発明を実施例により詳細に説明する。 最初に本発明で使用するFi、FOメモリの構成と機能
を明確化するために第1図以下を用いて演算器間をFi
FOメモリを仲立として固定的に結合した場合のデータ
処理装置の構成と動作をF i ?’ Oメモリを中心
に説明し、最後に第7図を用いて本発明の実施例である
プログラムからの指示により前述のFiF○メモリを仲
立として選択的に結合できるデータ処理装置の構成を説
明する。 近年、第1図に示すように、パイプライン方式の演算処
理装置に、FiFOメモリが適用されるようになってき
た6回図において、一点鎖線で囲ったパイプライン方式
の演算ユニット1は、パイプライン演算器2およびこの
演算器を制御するためのパイプライン制御論理回路3か
らなり、演算ユニット4と5からデータ線30と31を
経由した入力データ(1ビツトまたは複数ビットデータ
)を受取り、別の演算ユニット6にデータ線32を経由
して演算結果を送出する。F i F’ Oメモリ20
.21,22は入力データと演算結果にバッファとして
、ユニット間に設けられている。つまり、演算ユニット
4からの入力データ(ユニット4から見れば、ユニット
4の演算結果)はデータa30からFiFOメモリ20
に入力された後、データ線10を経由してユニッ1−1
中のパイプライン演算器2に入力される。FiF’Oメ
モリ21と22も同様であり、データ線11と12が使
用される。 この様な?’ i F’ Oメモリをバッファとして使
用した場合の利点は6次の2点である。 (1)演算ユニット4と5からの人力データの途切れ対
策。第1図で示した様な多入力のパイプライン演算器2
では、同一番号を持った多数個の入力データの対は同時
に入力される必要があるのが一般的である。ここで、演
算ユニット4からのある番号の入力データは到着したが
、別の演算ユニット5からの対応する同一番号の人力デ
ータが何らかの要因により。 到着が遅れた場合を考える。F’ jF’ Oメモリ2
0は、データ線30を経由して各サイクルに送出されて
くるデータを受付けながら、データ線10を経由してユ
ニット1に送出するデータを、他のユニット5からの人
力データの到着するまで遅らせるために使用される。 この間、パイプライン演算器2には無効なデータが入力
され、対応する演算結果も無効なものが出力されるが、
パイプライン制御論理回路3がこの無効な出力が他のユ
ニット6に送出されない様に制御している。 (2)ユニット6の受付は拒否対策。ユニット6はデー
タ!1432からのデータの受付けを拒否する場合があ
る。FiFOメモリ22は、データ線12を経由するパ
イプライン演算器2からの演算結果を一時的にバッファ
リングし、ユニット6の受付けが可能になるまでデータ
を待たせるために使用される。 この様に、上記のデータの途切れ現象が発する場合には
、パイプライン演算器を有するユニット間に、FiFO
メモリを設けることが有効である。 このFiFOメモリに必要とされる機能は次の点である
。 (A)パイプラインのピッチ時間内に、読み出しと書き
込みが同時に可能であること。 (+3)IFき込まれたデータを短時間に読み出せるこ
と。 従来は、この様な高速なFiFOメモリの記憶素子とし
ては、ゲートを組合せたフリップフロップ(以下、FF
と称する)又はラッチ、一般のメモリ17’(1つのメ
モリサイクルには1回の読み出しまたは1回の書き込み
が可能)のいずれかを用いる場合が多かった。前者は、
充分に高速ではあるが、大容量のFiFOメモリを構成
するためにはゲート数が莫大になる欠点を有する。一方
、一般のメモリ素子では上記(A)の機能を満足するた
めに、パイプラインのピッチ時間内に、2(可のメモリ
サイクルを実行させる必要がある。しかし、現在のパイ
プライン技術とメモリ素子の高速化技術からでは、パイ
プラインピッチ時間の半分で、−回のメモリサイクルを
実行できる大容量のメモリ素子を入手することは困難で
ある。 本発明で使用するFiFOメモリは、書き込みす?よび
読み出し可能な複数個のデータバンクと、上記複数個の
データバンクを繰り返して書き込みモードに指定するモ
ード指定手段と、受信データをに記書き込みモードに指
定されたデータバンクに書き込み、かつ、上記書き込み
モードに指定されていないデータバンクからデータを読
み出して受信した順番通りにデータを出力する書き込み
読み出し制御手段とを備えた点に特徴がある。 第2図は、本発明で使用するFiFOメモリの全体ブロ
ック構成図である。とのFiFOメモリは、第1図のF
iFOメモリ20,21.22のいずれにも適用可能で
ある。 第2図において、47.48はデータバンク(以下、#
にバンクと称する)であり、互に面立に書き込みおよび
読み出しができるものであり、各データバンク47.4
8は1個のランダムアクセスメモリ(以下、RAMと称
する)からなる。 なお、各バンクは必要とする容認とワード構成に応じて
、複数個のRA Mにより構成する場合があるのはいう
までもない。 外部から送られてくるデータは、送られてきた順番に従
い、バンク47.48に書き込まれる。 たとえば、最初に送られてきた0番のデータはバング4
7に、その次に送られてきた1番のデータはバンク48
に、その次に送られてきた2番のデータはバンク47に
、その次に送られてきた3番のデータはバンク48に、
・・・・・・というように、バンク47.48に順番に
繰り返して書き込まれる。 したがって、バンク47には0,2,4.・・・・・・
。 2n番(nは整数)のデータすなわち、偶数番のデータ
が順番に書き込まれるので偶数バンクと呼ぶことにする
。バンク48には1,3,5.・・・・・・。 2n+1番のデータ、すなわち、奇数バンクと呼ぶこと
にする。 41は、バンク47.48のうち、どのバンクが書き込
み可能のモードなのかを一定周期で繰返し指定するため
のモード指定回路である。いま、書き込み可能モードを
Wモード、読み出し可能モードをRモードと称す。モー
ド指定回路41は“Q##、111” 1(Q”、1
”、・・・・・・と一定の周期で“0”、“1″を繰り
返えして出力する。 モード指定回路41の出力が“0″のとき、偶数バンク
47がWモードとなり、奇数バンク48がRモードとな
る。回路41の出力が“1”のとき。 # Otpのときとは逆に、偶数バンク47がRモード
となり、奇数バンク48がRモードとなる。したがって
、バンク47.48は各時点において互にモードが異な
るように、RモードとWモードのモード指定を一定の周
期で繰返し、モード指定回路41により、受けている。 100は1回路42〜46.49からなる、バンク47
.48の書き込み・読み出し制御回路である。回路10
0は、偶数番のデータが入力されたとき、偶数バンク4
7がWモードであれば、偶数バンク47にこのデータが
Wモードであれば、偶数バンク47がWモードでなけれ
ば、すなわち、Rモードであれば、Wモードになるまで
待ち、Wモードになった時点でこのデータを書き込む。 奇数番のデータの書き込みについても、同様である。 また、回路100は、読み出し要求があり、今度、読み
出すべきデータが偶数バンク47に書き込まれていると
き、偶数バンク47がRモードであれば偶数バンク47
からただちに読み出す。偶数バンク47がWモードであ
れば、Rモードになるまで待ち、Rモードになった時点
で読み出す。 この第2図のF’ i F’ Oメモリの構成により書
き込みと同時に読み出しが可能となる。たとえば、偶数
バンク47にデータを書き込むと同時に、奇数バンク4
8からデータを読み出すことができる。 第2図において、太線の信号線は多数本からなる信号線
を表わす。 次に、このF’ i F’ Oメモリの動作について説
明する。 第2図において、書き込み要求を受信する(書き込み要
求が到着する)時には、43号、i@33.hの書き込
み要求指示信号WREQが′1″であり、データ線30
上のデータ信号W L) A ’1’ Aの値が書き込
みデータである。信号W RE QとW D A TA
は、第[の外部装置、たとえば演算ユニット4から、書
き込み制御回路42(以下W制御回路と呼ぶ)に入力さ
れる。W制御回路は、信号WREQに基づき、書き込み
要求の到着を検出し、書き込みデータを信号WDATA
から受信し、また到着する書き込み要求の到着番号を検
出する手段を有する。書き込み要求の到着番号がN番目
であることを検出したとしよう、Nが偶数であるか奇数
であるかより、書き込むべきデータバンクが偶数バンク
であるか奇数バンクであるかが決定される。 一方、前述のモード指定回路41の出力信号SWがWモ
ードのバンクを指定するから、Nの偶奇により決定され
るデータバンクと、信号SWがWモードに指定するデー
タバンクが一致した時、W制御回路42はNの2進表現
における下位1ビツトを除く上位ビットの値により決定
されるアドレスを信号線93上の信号WAHに出力し、
信号線93上の書き込み指示信号WEに“1″を出力し
、偶数バンクへの書き込みデータは信号線82上の信号
5DREに出力し5奇数バンクへの書き込みデータは信
号線83上の信号5DROに出力する。 言き込み要求が到着した時、上記バンクの一致が成達し
ない可能性がある場合には、書き込み要求の存在と書き
込みデータを上記バンクの一致が成立するまで記憶する
手段が必要である。その手段の詳細な実施例は、第4図
を用いて後述する6信号線39を介して入力される初期
値設定信号S ’1’ A RTにより、W制御回路4
2は後述するように初期状態に設定される。 一点鎖線で囲まれた回路44は、モード指定信号SWと
書き込み許可信号WEに応答して、信号1iI59.5
8を介して書き込み指令信号WEE。 WEOをバンク47.48にそれぞれ出力する書き込み
信号作成回路である。回路44のアンドゲート441は
、信号、SWが“Onでかつ信号WEが“1#である条
件を満すときのみ、書き込み指令信号WEEの1′を偶
数バンク47に出力する。このようにして、偶数バンク
47がWモードで(信号WEがit Ottで)かつ令
書き込むべきデータが存在する時(信号WEが′1″の
時)偶数バンク47に書き込み指令信号WEEに“1″
が出力される。アンドゲート442は、44号SWが1
でかつ信号WEが“1”である条件を満すときのみ、書
き込み指令信号WEOに“1″を奇数バンク48に出力
する。このようにして、奇数バンク48がWモードで(
信号SWが“1″で)かつ今擦き込むデータが存在する
時(信号WEが“1”の時)奇数バンク48への書き込
み指令信号WE○に“1″が出力される。アンドゲート
441の人力の片側につけられた丸印は人力信号の反転
を行なうことを示す。 選択回路45はモード指定信号SWに応答して、前述の
書き込みアドレスWARをバンク47゜48のいずれか
に選択出力するように動作する。 回路45はセレクタ451,452からなる。セレクタ
451は、モード指定信号SWが“OItのとき、前述
の書き込みアドレス信号W A Hと後述する読み出し
アドレス信号RA Hのうち、信号W A Hを信号線
57に選択出力する。したがって、偶数バンク47が書
き込みモードにあるとき(信号SWが“O”のとき)、
書き込みアドレスW A Hが接散バンク47に出力さ
れる。信号SWが“1″のとき、セレクタ52は後述す
る読み出しアドレスRAHを偶数バンク47に選択出力
する。セレクタ452は、信号SWが“O”のとき。 後述する読み出しアドレスRAHを信号線56に選択出
力し、信号SWが“1″のとき、書き込みアドレスWA
Hを信号線56に選択出力する。したがって、奇数バン
ク48には、奇数バンク48が書き込みモードにあると
き(信号SWが“1”のとき)、書き込みアドレスWA
Hが出力される。 セレクタ451,452と後述する461゜491は、
上から印加される信号SWが“O?+の時、左上からの
入力(セレクタ451では、アドレス線93からの入力
)を選択し、信号SWが“1″の時、左下からの入力(
セレクタ451では、アドレス線99からの入力)を選
択して右の出力線(451では信号線57)に出力する
機能を有している。 選択回路46は信号SWに応答して前述の偶数バンク用
書き込みデータ信号5DREと奇数バンク用書き込みデ
ータ信号5DROを選択出力するものであり、セレクタ
461からなる。セレクタ461は、信号SWが“O”
のとき、信号線82を選択し、データ信号5DRE信号
線54.55に出力する。信号SWが11−”のとき、
信号線83を選択し、データ信号5DROを信号線54
゜55に出力する。したがって、偶数バンク47がWモ
ードのとき(信号SWが110 J#のとき)、バンク
47および48に、偶数バンク用書き込みデータ信号5
DREが印加される。 したがって、偶数番目の書き込み要求がFiFOメモリ
に到着すれば、偶数バンクがWモードのとき、偶数バン
ク47の書き込み端子W E Tには、信号“1″が人
力され、アドレス端r−A Tには前述の書き込みアド
レス信号WAHが入力され、データ端子DITにはこの
データ信号5DRh:が人力され、偶数バンク用書き込
みデータ信号5DREが偶数バンク47に書き込まれる
。 ところが、前述したように、偶数バンク47がWモード
のとき(信号SWが0”のとき)、奇数バンク48はR
モードとなり信号SWが“0”のため、アンドゲート4
42の出力である書き込み指令信号WEOは“0″とな
り、奇数バンク48の書き込みが禁止されるので奇数バ
ンク48に偶数バンク用書き込みデータ5DREが書き
込まれることはない。 奇数バンク48がWモードのとき(信号SWが“1″の
とき)、バンク47および48に、奇数バンク用書き込
みデータ信号5DROが印加される。しかし、上述と同
じ理由で、偶数バンク47にはこのデータ信号5DRO
が書き込まれることなく、奇数バンク48にこのデータ
信号5DROが書き込まれる。 なお、セレクタ461の代りに、信号線82と55とを
結線し、信号5DREが偶数バンク47に常に印加する
ようにし、かつ、信号線83と54とを結線し、信号5
DROが奇数バンク48に常に印加するようにしてもよ
い。ただし、セレクタ461を用いた方が、信号線55
と54を共通化することができ、バンク47,48とW
制御回路42間の信号線の配線が簡便となるにのように
して、0番のデータは偶数バンク47の0番地に、1番
のデータは奇数バンク48の0番地に2番のデータは偶
数バンク47の1番地に、3番のデータは偶数バンク4
8の1番地に。 ・・・・・・というように、データは、何ら外部からア
ドレスを指定しなくても受信した順番に従いバンク47
.48に交互に繰返して自動的に書き込まれる。 なお、バンク47.48は1次の入出力端子を有してい
る。WETは書込み指令信号入力端子であり、偶数バン
ク47への書込み指令信号WEE又は奇数バンク48へ
の書込み指令信号WEOが端子WETに入力される。A
Tはメモリアドレス入力端pであり、偶数バンク47へ
のメモリアドレスAE又は奇数バンク48へのメモリア
ドレスAOが端子ATに入力される。DITは書込みデ
ータ入力端子であり、データ信号DIE又はi) I
Oが端子DITに入力される。 DOTは読出しデータ出力端子であり、偶数バンク47
の端T−DOTから読出しデータDOEがデータ線47
1に出力され、奇数バンク48の端7− D OTから
読出しデータDOOがデータ線481に出力される。端
子WETの入力が1”のとき、バンク47.48はデー
タ端子DXTのデータをアドレス入力端子ATに入力さ
れるアドレス信号が示すアドレス番地にストアする。端
子WE”l’の入力が“0#のとき、バンク47.48
はアドレス入力端子に入力されるアドレス信号が示す番
地にストアされているデータを読み出す。 第2図に示さなかったバンク47.48の他の入出力端
子としては、電源端子、チップセレクト端子、出力エネ
ブル端子などがある。 以上で、書き込みの動作説明が終ったので1次に読み出
しの動作説明をする。 読み出し制御回路(以下、R制御回路と称する)43は
、外部からの初期値設定信号5TARTにより、後述す
るように初期設定がされている。R制御回路43は、後
述するように、これからバンク47.48の読み出すべ
きアドレスRAを記憶している。アドレスRAは、後述
する読み出し要求信号RREQによって、“1”だけカ
ウントアツプされる。読み出しアドレス信号RAHは、
アドレスRAを2進ビツトで表わしたとき、下位1ビッ
トを除くビットの信号であり、R制御回路43から信号
線99に出力される。また、回路43は書き込まれたデ
ータのうち、まだ読み出されていないデータの個数Mを
記憶している0個数Mは、書き込み許可信号WEが1′
1 +#になるごとに、すなわち、データが1個書き込
まれるごとに、“1″だけカウントアツプされ、読み出
し許可信号ROKを受信する第2の外部装置たとえば、
パイプライン演算ユニット1から信号線15を介して入
力される読み出し要求信号RREQが“1”になるごと
に、すなわち、データが1個読み出されるごとに、′1
”だけカウントダウンされる。 Mが1以上であり(バンク47.48にまだ読みだされ
ていないデータが書き込まれている状態にあり)、かつ
、モード指定信号SWが読み出しモードを指定している
バンクにこのデータが書き込まれているときのみ、信号
線13を介して、外部装置にR制御回路43から、信号
ROKに“1″が出力される。このデータが、バンク4
7.48のどちらかに書き込まれているかは、2進数の
読み出しアドレスRAの最下位ビットが“OIIか“1
″かで検出される。 信号線99の読み出しアドレス信号RAHは。 前述したセレクタ451,452に印加され、モード指
定信号SWがII OIjか(r i、 IPかによっ
て。 セレクタ451,452からバンク47.48のアドレ
ス端子ATに印加される。すなわち、信号SWが“On
のときは奇数バンク48が読み出しモードとなっており
、セレクタ452を介して読み出しアドレス信号RA
Hが奇数バンク48に出力される。信号SWが“1′の
ときは偶数バンク47が読み出しモードとなっており、
セレクタ451を介して読み出しアドレス信号RAMが
偶数バンク47に出力される。このように、読み出しモ
ードになっているバンクに、読み出しアドレス信号RA
Hは印加される。 したがって、読み出しモードになっているバンク内の、
読み出しアドレス信号RAWにより指定される番地から
読み出すべきデータが出力端子DOTに出力される。 セレクタ491からなる選択回路49は、読み出しモー
ドにあるバンクの出力を選択的に信号線10に出力する
ものである。モード指定信号SWが“0”のとき奇数バ
ンク48が読み出しモードにあり、奇数バンク48から
読み出されたデータ信号DOOをセレクタ491は信号
線10に選択出力する。この信号が読み出しデータ信号
RD A T Aとして外部の装置に送られる。モード
指定信号SWが111 Ttのとき偶数バンク47が読
み出しモードにあり、偶数バンク47から読み出された
データ信号DOEをセレクタ491は選択して、第2の
外部装置に信号、5iioを介して、出力する。もちろ
ん、バンク47.48の出力端子D OTに結線論理が
許されれば、バンク47゜48のチップセレクト端子や
出力エネブル端子の入力を制御することにより、データ
線471とデータ線 481を結合しただけ、選択回路491に相当する機能
を実現することもできる。 なお、第2の外部装置、たとえばパイプライン演算ユニ
ットは、信号ROKがu 1 ppであり、かつ、自己
が読み取り可能のとき、信号RDATA取り込み、読出
しデータを受取ることを示すため、信号RREQを“1
″としてR制御回路43に出力する。R制御回路は、信
号RREQが“1″の時次のサイクルでは読出しアドレ
スRAを1つ増加した状態にする。 このようにして、偶数バンク47の0番地のデータ、奇
数バンク48の0番地のデータ、偶数バンク47の1番
地のデータ、奇数バンク48の1番地のデータ、・・・
・・・というように、バンク47゜48に書き込んだも
っとも古いデータから、古い順に順次、バンク47.4
8に書き込まれたデータが読み出される。したがって、
第2図のFiF○メモリは、いわゆるファーストインフ
ァーストアウトのメモリ機能を有している。また、以上
説明したように各バンクごとに独立にモード指定がなさ
れているため、偶数バンク47にデータを書き込んでい
るとき、同時に、奇数バンク48から書き込まれたデー
タを読み出すことと、偶数バング47から書き込まれた
データを読み出し、同時に、奇数バンク481にデータ
を書き込むことができる。すなわち、書き込みと読み出
しとを同時に実行することができる。 第1図に示した構成において、第2図のFiFOメモリ
を20.21として使用しているので、FiFOメモリ
20と21における信号SWは同期化しておく必要があ
る。なぜならばパイプライン演算器2では、2つの入力
データの番号はデータが正しく入力されるサイクルでは
常に等しいことが一般的であり、20と21での信号S
Wの値が異なっていると、常に片側のFiF○メモリか
らは読み出し不可となり、両者が同時に読み出し可とな
らぬため一つも演算が開始できなくなる。これを避ける
ためには、全装置内のすべてのFiFOメモリ中の信号
SWが常に同一の値となる様な構成としても良い、たと
えば、一つのF i F Oメモ’J 20 (7)
S W信号を他のFiFOメモリ21でも共有すれば良
い、第2図では。 FiFOメモリ22に関しては、演算ユニット6への入
力がFiFOメモリ22以外にないので、信号SWに関
する同期は不要である。 次に、モード指定回路41.W制御回路42゜R制御回
路43について、さらに具体的に第3図(A)、第4図
、第5図を用いて説明する。 回路41,42,43は、−相のクロック信号′1゛で
動作しこのクロックの周期が、パイプライン演算器のピ
ッチであると同時に、メモリ素子のメモリサイクル時間
になっている。第6図の下に示したごとく、各サイクル
にOから13までの番号を付けて説明する。各サイクル
はTの立上りからの次のTの立上りまでと考える。 特記しない限り、フリップフロップ(以下、FFと称す
、)と同期型カウンタ(以下、CNTと称す、)はクロ
ック入力信号Tの立上りで動作するエッヂトリガタイプ
である。 図中の左右の信号線の端子での一重丸は、FiFOメモ
リ内部のインタフェイス信号を示し、二重光はFiFO
メモリ外部とのインタフェイス信号であることを示す。 ここでは最大8個までの入力データを記憶できるFiF
Oメモリとして以下の説明を行なう、この構成では、バ
ンク47と48は各々4個のデータを格納可能なメモリ
容量があれば良い、また。 信号WAHの信号線939M号RAMの信号線99、信
号AEの信号線57.信号AOの信号線も2ビツトのア
ドレス線で良い。 第3図(A)から第5図までに示した回路41゜42.
43はすべてクロック信号Tに同期した同期式回路であ
る。以下の説明では次の2点を仮定する。(1)ゲート
の遅延時間やFFとCNTの遅延時間がクロック信号T
のサイクル時間に比較して充分に小さい、(2)クロッ
ク信号Tで動作するFFやCNTの出力を同じクロック
信号Tで動作する次段のFFやCNTに入力しても誤動
作しない。 上記(2)の仮定は「あるサイクルでの前段のFFの値
が、次のサイクルでの後段のFFの値を決定し、同一サ
イクル中に前段のFFの値が、後段のFFの値に影響を
与えることが無い」ということである、上記(1)仮定
が満されない場合には、使用するバンクを含めた詳細な
遅延時間の算定と検討が必要であり、上記(2)の仮定
が満されない場合には、クロッ948号の2相化等の対
策が必要であることは、同期式回路であれば当然である
。 第3図(A)はモード指定回路41の回路図である。F
F50の反転出力端子Qの出力がFF50の入力端子り
に入力されている。FF50のクロック端子には、メモ
リサイクル、すなわち、パイプラインピッチ毎に“1″
となるクロック信号Tが印加されている。FF50の出
力端子Qからの信号が前述のモード指定信号SWとなる
。今。 FF50の内部状態が“1″とする。このときの端子Q
の出力″0”が入力端子りに入力される。 クロック信号Tの1回目の立ち上りで、FF50は、端
子Qの出力110”を取り込み、FF50の内部状態は
1′i P#からOnに変化する。このとき、端子Qの
出力も“0″から“1″となる。したがって、入力端子
りの入力も“1″となる。りロック信号Tの2回目の立
ち上りで、FF50は、端7− Dの入力“1″を取り
込み、FF50の内部状態は再び“]−″に戻る。この
ように、クロック信号Tの立ち上り時点で、FF50の
内部状態は16019 、 II I PIの反転を
繰り返す。したがって、FF50の出力端子Qの出力で
ある信号SWもクロック信号Tの立ち上りに応答して“
0” u 1 ppの反転を繰返す。このようすを第6
図のタイムチャートのTとSWに示す。信号SWの役割
は前述したようにバンクの動作モードを指定することに
ある。 第3図(B)はモード指定信号SWによって指定される
偶数バンク47.奇数バンク48の各モードを示したも
のである。 なお、モード指定回路は、 (1) 前述した複数個のFiF○メモリ間の同期化
をはかるため、モード指定回路を1つ設けて、それを共
用してもよい。 (2)8個の書き込みデータがすべて到着しバンク上で
の読み出しと書き込みが競合する可能性が無くなった時
、次に読出したい側のバンクを常に選択できる様に信号
SWを変更する回路を設けてもよい。 第4図は、W制御回路42の回路図である。 (3)書き込みと読み出しが競合しない条件下では、到
着するデータの偶奇とWモードに指定するバンクの偶奇
と常に一致する様に、信号SWを変更する回路を設けて
も良い。 第4図は、W制御回路42の回路図である。 まず最初に、第4図のCNTとFFの役割と主要なゲー
トの機能を説明し1次に第6図のタイムチャートに従っ
てその動作例を説明する。CNT62は前述したエツジ
トリガタイプの同期型カウンタであり出力のビット数が
1ビツトである。 CNT64もエツジトリガタイプ3ビツトの同期型カウ
ンタである。端子upはカウントアツプ指示入力端子で
あり、端子Rは内容をゼロクリアするためのリセット端
子、端?−GKはクロック端子Tの入力端子、端子Qは
カウンタ内容の出力端子である。カウントアツプ動作は
、端?−upの入力信号が“1″の状態で、端子CKに
印加されるクロック信号Tが“0”から“1″へ立上が
る時点で実行される。端子upの入力信号が“O″の状
態ではCNTの値は不変である。FF63は、エツジト
リガタイプのFFであり、前述のカウンタと同じく端子
GKに印加されるクロック信号の立上がりで出力端子Q
の値が変化する。 CN T 62は、外部からの信号5TARTでリセッ
トされ、外部からの書き込み要求信号WREQが到着す
るサイクルの終り(クロック信号Tの立上り)でカウン
トアツプされ、その出力WCNTはそのサイクルで到着
する書き込み要求(書き込み要求信号WREQと書き込
みデータWDATA)が奇数バンク48に対するものか
偶数バンク47に対するものかを示す。つまり、出力W
CNTの110”は偶数バンク47への書き込み要求を
意味し 111 F+は奇数バンク48への書き込み要
求を意味する。CNT62のもう1つの出力信号WCN
Tは出力信号WC:NTの逆極性信号になっている。 CN T 64は、外部からの信号5TARTでリセッ
トされ、いずれかのバンクへの書込みが実行されるサイ
クル(WEが“1″であるサイクル)の終りでカウント
アツプされる。CNT64の出力が前記WAであり、そ
の上位2ビツト出力WAHは、バンクの書込みアドレス
を示し、その下位1ビツトの出力WALは書込みバンク
の偶奇を示す。つまり、CNT64の出力が“0OOz
”(添字の2は2進数を示す。以下同じ)であれば、W
制御回路42は偶数バンク47のOO2番地を書込み先
として指示することになる。CNT64の出力が“00
1□”であれば、奇数バンク48のOO2番地を指示し
、“0102”であれば、偶数バンクの“012”番地
を指示している。実際にバンクで書込みを実行するため
には、後述する書込み許可信号WEが“1″でなければ
いけない。 あるサイクルで信号WREQが“1″であれば、そのサ
イクルに書込み要求はW制御回路42に到着している。 書込むべきデータ信号は、そのサイクルでの信号WDA
TAである。つまり、対応する信号WREQと信号W
L) A T Aは同一サイクルでW制御42に到着す
る。 第3図(B)に示す様に、あるサイクルにおいて信号S
Wの値により、偶数バンク47 ’#1奇数バンク48
の片方がWモードに指定される。一方、外部からW制御
回路42に到着する書込み要求は、信号SWの値とは独
立に到着する。従って、W制御回路42では1次の2種
類の書込み動作手順のいずれかを到着する各々の外込み
要求と対応して実行する。 (、i) 要求が到着したサイクルと同一サイクルに
、バンクへの書込みが実行される。ある要求が到着し、
かつ、到着した要求の番号の偶奇(すなわち書込み先の
バンクの偶奇)と要求が到着したサイクルでのWモード
状態にあるバンクの偶奇が一致した時、(a)の書込み
動作手順が実行される。以下直接書込み手順と呼ぶ。 (b) 要求が到着したサイクルの次のサイクルに、
バンクへの書込みが実行される。ある要求が到着し、か
つ到着した要求の番跨の偶奇と、要求が到着したサイク
ルでのWモード状態にあるバンクの偶奇が一致しない時
、(ロ)の書込み動作手順が実行される。以下遅延書込
みと呼ぶ。 第4図の排他的論理和(以下FORと称す)ゲート69
は、到着する要求の番号の偶奇とWモードのバンクの偶
奇の不一致を認識する。つまり。 あるサイクルで信号線88上のEORゲート69の出力
が“0″であれば、偶奇が一致し5ており、要求が到着
した場合には直接擦込み手順を実行すべきである。また
、EORゲーl−69の出力が“1”であれば、偶奇が
一致しておらず、要求が到着した場合には遅延書込み手
順を実行すべきである。アンドゲート69と68はそれ
ぞれ、直接書込み手順の実行と遅延書込み手順の実行を
認識する。アンドゲート69の入力端子の片方に付けら
れた丸印は、第2図のアンドゲート441と同様に、人
力信号の反転を示している。つまり、アンドゲート69
の出力が111 Nとなる必要充分条件は・信号線33
上の信号WREQが“1″であり、かつ、信号線88上
の信号が0“であることである。 111 II信号線90上のアンドゲート69の出力が
“1″であれば、オアゲート70を経由して信号線91
」二の書込み許可信号WEが111 Hとなり、書込み
要求が到着したサイクルに、バンクへの書込みが実行さ
れる。これが、直接書込み動作の実行である。 信号線89上のアンドゲート68の出力が1′1”であ
れば、FF63には端PDより((111が入力され次
のサイクルでは、信号線86上のFF63の出力信号W
REQDLが“1”となり、書込み要求が到着した次の
サイクルに、バンクでの書込みが実行される。これが、
遅延書込み手順の実行である。l” F 63は、遅延
書込み手順で実行すべき書込み要求が到着したことを記
憶し、次のサイクルにバンクの書込みを指示する。 (+’F号WEが“1″の時、偶数バンク47か奇数バ
ンク48において書込みが実行される。書込み先のバン
クの偶奇は、信号SWと信号WALのいずれによっても
知ることができる。第2図に示された実施例では、信号
SWを書込み先バンクの偶奇の選択信号として使用して
いることは前述した。 書込み指示信号WREQについては、その値がこの様に
W制御回路42に到着したサイクル中に信号WEとして
伝えられる場合と、一時記憶されて次のサイクルに信号
WEとして伝えられる場合とがあると考えることができ
る。書込みデータ信号WDTAについても、その値が直
接用いられる場合と次のサイクルまで記憶されなければ
ならない場合とがある。信号WDATAも信号WREQ
と同様に、2組のアンドゲート群(アンドゲート68と
69に相当)FF群(FF63に相当)とORゲート群
(ORゲート70に相当)を用いて上記2つの場合の動
作を実現することもで斥る。 しかし、第4図では2群のラッチを用いる別の方式を示
した。 ラッチ60と61は、前述しまたエッヂトリガタイプの
l?Fとは動作が異なり、入力端、、7− CKからの
クロック信号が111 ITの状態では、入力端子りか
らの入力内容がただちに出力端T−Qからの出力となり
、クロック信号がat l nからl(OF+に立下が
った時入力端子りからの入力内容が保持され(保持する
動作をラッチ動作と呼ぶ)、保持された内容は再びクロ
ック信号が1′0”から“1″に立上がるまでの間出力
端子Qから出力される。 ラッチ60は、偶数番目の書込みデータ(偶数バンク4
7への書込みデータ)を一時的に保持するために用いら
れ、ラッチ61は奇数番目の書込みデータ(奇数バンク
48への書込みデータ)を一時的に保持するために用い
られる。偶数番目の書込み要求が到着したサイクルを考
えてみると。 信号WCNTが11111であるので、ラッチ60の出
力信号5DREには信号WDATAの内容がそのまま出
力され1次のサイクルに移る信号W CN Tが111
++から“0″に立下がり信号WDATAの内容が保
持され1次のサイクルでも信号5DREの内容は前のサ
イクルと同一である。 つまり偶数番目の書込み要求が到着したサイクルに偶数
バンク47で書込みが実行される場合にも、到着した次
のサイクルに書込みが実行される場合でも、信号5DR
Eの内容は正しい偶数番目の書込みデータの内容である
。 ラッチ61とその出力信号5DROも、ラッチ61への
クロック信号が信号WCNTである点を除き同一の構成
であり、信号5DROの内容が正しい奇数バンクへの書
込みデータの内容である。 次に、第6図のタイムチャートに示した動作例に基づい
て、FiFOメモリ2oの書込み動作について説明する
。到着する書込み要求には、0番目から7番目までの番
号付けが行なわれそれぞれ偶数バンク47の0番地、奇
数バンク48の0番地、偶数バンクの1番地の順に、奇
数バンクの3番地までに書込まれる。 第6図には示されていないが、一連の書込み動作に先立
つ、信号5TARTの111 IPのパルスにより、C
NT62とCNT64は“0″にリセットされている。 FF63も、リセット端子Rに信号5TARTの“1″
のパルスが入力されるので同様にリセットされ、最初の
書込み要求が偶数番目であることを示す。 第6図の動作例では、0番目から2#目までの書込み要
求に対しては遅延書込み手順が実行され。 5番目から7番目の要求に対しては直接書込み手順が実
行される。 最初に、サイクルOに0番目の書込み要求が到着する。 信号線33上の信号WREQとデータ線30−1−の信
号WDATがW制御回路42に人力さtb6. つ*)
J、WREQが”1” であ)J、48%Wl)ATA
の内容は0番目の書込みデータである。 サイクル0ではまだ信号W に N Tが“0″であり
、第6図の例では信号SWがit Ortつまり偶数バ
ンクがWモードであることを示しているので、E OR
ゲート67の出力は“O”であり、アンドゲート68の
出力が“0″となり、アンドゲート90の出力がrt
L +zとなり、オアゲー1−70の出力信号WEが′
1″となる。信号WEが“1″のサイクルでは、第2図
に示した様に信号SWによりWモードに指定されたバン
クにおいて書込みが実行される。つまり、第2図のアン
ドゲート441により、信号線59上の信号w EF、
がLL I IIとなり、偶数バンク47における書込
み動作が指示される。 次に書込みアドレスについて説明する。第4図のCN
T 64が信号S T A RTによりセットされた後
に N T64の出力は、サイクル0でも“ooo2”
のままであり、その上位2ピッ1−出力である信号W
A )Iも001′としてアドレスa93に出力される
。第2図において偶数バング47へのメモリアドレス信
号AEの内容を決定するセレクタ451は、信号SWが
“0″なのでアドレス線93上の書込みアドレス信号W
AHを選択しアドレス線57に信号WAHを出力する。 以上により、サイクルOでは偶数バンク47のアドレス
端−f−A Tに正しいアドレスである1100279
が人力される。音数バンク48にはセレクタ452の働
きにより、信号RA Hがアドレス端−J’ A Tに
人力されるが、アンドゲート442の働きにより信号W
l!: Oが′0″なので、誤まった書込みが実行さ
れることは無い。 次に書込みデータについて説明する。第4図においてサ
イクル0ではW CN Tが“1″なので、ラッチ60
はデータ線30上の0番目の要求と対応する信号W D
A T Aをただちにデータ線82上に信号S I)
REとして出力する。第2図のセレクタ461は、信
号SWが“OIIなのでデータ線82」―の信号S D
REを、データ11A55に出力する。 つまり、サイクルOでは、0番目の書込みデータ信号W
D A ’I’ Aが正しく偶数バンク47のデータ
入力端子D I Tに人力される。第2図の実施例では
奇数バンク48のデータ入力端7−DITにも0番目の
書込みデータが入力されるが、アンドゲート442の働
きにより信号WEOが“0”であることが保証されるの
で、誤まった書込みが実行されることは無い。 サイクル■にも1番目の書込み要求が到着し。 かつサイクルの中にバンクへの書込みが実行されるが、
書込み先が奇数バンク48である点がサイクル0 と異
なる。つまり、第2図において信号SWが“1″なので
、信号WEEは1′ONであり、(it号W EOは“
1”である、信号W A Hの値がセレクタ452によ
り選択されて信号AOとして出力され、信号S L)
ROの値がセレクタ461により選択されて信号DIO
として出力される。第4図の3ビツトのCN ’l”
64の値は、サイクル0からサイクル■に移る時、サイ
クルOで信号WEが“1”なので“0012”に増加す
る。 CN ’r 62 (7)出力信号W CN TとW
CN Tも、サイクル0で41号W RE Qが“1″
なのでサイクル■ではそれぞれIt 11jと“0″に
反転している。サイクルOでもアンドゲート68の出力
が0”な(7)テ、F”Fe2(7)出力W RE Q
D I、は、サイクル■に才;いても“0″のままで
ある。サイクルOでの信号W D A TAの内容はラ
ッチ60に保持されており、サイクル■でも信号S D
E I<とじて出力されているが使用されない。 サイクル■には2番目の要求が到着し、サイクル■中に
偶数バンク47に書込まれる。サイクル■おいて信号W
Eが“1″なので、CNT64の出力がサイクル■では
“0102”となり、2番目の遠き込み要求データ信号
WDATAが偶数バンク47の1番目に書込まれる。 第6図のタイムチャートでは、3番目の書込み要求がサ
イクル■ではなくサイクル■に到着した場合の動作例を
示している。サイクル■では、到着する要求は奇数番目
であり、かつ奇数バンク48はWモードでないので1次
のサイクル■)において3#目の書込み要求が奇数バン
ク48で実行される。第4図において、サイクル■では
、信号W (: N Tが“1″でありかつ信号SWが
0″′である。EORゲート67とANI)ゲート68
と69に働きにより信号線89上の信号が“i ITと
なり信号線88上の信号が“0”となる。ト” F”
63は、入力信号端子[)に“1″が人力されるので1
次のサイクル■で初めて(11IIを信号W R!!:
Q I) Lに出力する。バンク吉:込み許【1f信
号−W +”:は、サイクル■では“0″であり。 サイクル(!i)で3#目の書込みを指示するために1
1117となる。この動作は、前述した遅延書込み手順
である。 書込みアドレスWAを作成するCNT64は、サイクル
■と■ではWTりが“0″なのでサイグル■から■まで
同一の値“0112”を保持しており、サイクル■では
奇数バンクメモリ48にメモリアドレスとして正しい値
である。 “01□″が入力される。 次に、書込みデータについて説明する。サイクル■に3
番し1の書込みデータ信号W D A T Aが到着す
る。ラッチ61のクロック信号となる信号W CN ’
l’がサイクル■では“1.′、サイクル■では1g
071となるので、ラッチ61の出力信号S l) R
Oの内容は、サイクル■だけでなくサイクル■でもサイ
クル■の信号W D A ′rAの内容と同一である。 したがって、サイクル■において奇数バンク48に3番
目の要求の書込みデータを正しく入力することができる
。 第4図のW制御回路42では、奇数バンク48が3番目
の書込み要求をサイクル■では実行できないが、次のサ
イクル■では実行できることを仮定している。つまり、
サイクル■で信号SWが“OIIであれば1次のサイク
ル■では信号SWが14 L 11となることを、SW
の周期性から予測している。 4番目の書込み要求も、偶数バンク47がWモードでな
い時(サイクル■)に到着するので一すイクル遅れて偶
数バンク47に書込まれる。 5番F1の要求は、偶数バンク48がWモードの時(サ
イクル■)に到着するので、0番目、1番目、2番目の
要求と同様に、直ちに偶数バンク48に書込まれる。す
なわち対応する信号W RI!: Qと信号WEが同一
サイクル■に′111Fとなる直接書込み手順で実行さ
れる。 8個の書込み要求をバンクに一回に込む毎に。 3ビツトのカウンタC,NT64はカウントアツプされ
、その出力は“0002″から“1−112”まで増加
する。サイクル10には“0002”に戻るかもしれな
いが、8#目の書込み要求が外部から到着Eノないので
、偶数バンク47の004地の内容が破壊されることは
無い。 第5図は、R制御回路43の回路図である。エツジトリ
ガ型カウンタ(以下、CNTと称す)100は、カウン
トアツプとカウントダウンが可能な4ビツトのカウンタ
である。カウントアツプ端’7−tJpとカウントダウ
ン端7− D OW Nの入力でカウンタ100のカウ
ントアツプとダウンが指示される。端γ=xypの入力
信号WEが“】nで、かつ端子D OW Nの人力信号
RRE Qが“0”のとき、カウンタ100は、クロッ
ク端、7− G Kに入力されるクロック信号Tの立ち
上りで、61″だけカウントアツプする。端子TJ I
)の入力信号WEが“0”で、端子DOWNの入力信号
RREQが“1”のとき、同様に“1”だけカウントダ
ウンする0両人力がともに0”か1″の時にカウントア
ツプもダウンもしないカウンタである。 CNT100(714ビツト出力RE Q CN Tは
4本のデータ線101に出力される。CNT100値は
書込まれたがまだ読出されていないデータの個数を示し
ている。C:NT100は、入力データの個数がO〜8
までの9種類分記憶できるように4ビツトカウンタで閘
成されている。CNT100はリセット端子Rに入力さ
れる初期値設定信号5TARTでリセットされる。CN
’l’lOOの4ピッ1−の出力は、オワゲート1.0
4に人力され。 各ビットのオワがとられその結果が信号線105に出力
される。オワゲート104の出力がOでないときは、バ
ンク47,48に書込まれてまだ読み出されていないデ
ータがあることを示す。 CNT109は、2進3ビツトカウンタであり、リセッ
ト端子■くに入力される初期値設定信号S ’l’ A
RTでリセットされ、カウントアツプ端子tJ [1
の人力信号RREQが“1”のとき、クロック端子AC
Kに入力されるクロック信号Tの立ち」;りのタイミン
グでカウントアツプされる。 2進3ビツトのCNT 109の値は、読出しアドレス
を示している。CNT109はカウンタ値の上位2ビツ
トをバンク読み出しアドレスRA Hとしてアドレス線
99に出力し、下位1ビツトを読出すべきバンクの偶奇
を示す信号RALとじて信号線111に出力する。 112は今読み出すべきバンクと、モード指定信号SW
が読み出しを指定しているバンクと一致しているかどう
か検出するためのFORゲートである。CNT109の
最下位ビット信号RA Lが“0″のとき、偶数バンク
47が今読み出すべきバンクであり、また信号SWが1
111#のとき、この偶数バンク47がRモードとなる
。(i号RALが“1”のとき、奇数バンク48が読み
出すべきバンクであり、また信号SWが“O”のとき、
この奇数バンク48がRモードとなる。したがって。 EORゲート112は信号RAL、およびSWが、“0
”および“1″、または1”および“O”のとき“1”
を出力し、それ以外のとき、aO″を出力するという条
件を満足している。アンドゲート106により0、信号
線105,113の信号の論理積がとられる。したがっ
て、アンドゲート106の出力である読み出し許可信号
ROKが“1”となるときは、バンク47.48に書込
まれたデータでまだ読み出されていないデータがあリ、
かつ、読み出すべきデータがあるバンクが読み出しモー
ドになっている条件が成立したときのみである。それ以
外のときは# Q PIとなる。信号RO’には前述し
たようにF i F Oメモリからデータの読み出しが
可能なことを知らせる信号である。 R制御回路の動作を、第6図のタイムチャートの動作例
に基づいて説明する。信号線15から入力される読出し
要求信号RRE Qは、信号ROKが111”の時のみ
“1″なることが外部の回路で保証されている。たとえ
ば、第1図のパイプライン制御論理回路3が保証する。 また、一連の読出し要求に先立つ信号5TARTにより
、CNT100.109が“Q IFに初期設定される
点はW制御と同じである。 0番目の書込みデータが偶数バンク47に書込まれるサ
イクルOでは、信号WEは“1”となりCNT100が
クロック信号′l゛の次の立」−りでカウントアツプし
、サイクル■ではその出力RE Q CN Tは“00
012”となり、オワゲート104は11 :l II
を信号線105に出力しまだ読出されていないデータが
バンクに存在することを示す、一方サイクル■では信号
SWはu 、171であり偶数バンクの47がRモード
であることをEORゲート1】2が検出し、91″を信
号線113に出力する。2つの条件が成〃したことをア
ンドゲート106が判定して信号ROKとして°″1′
′を信号線13上に出力する。 第6図の例ではこの応答として外部からの信号RRI”
:Qが“1″となる場合を示している。信号線15」;
の信号RT< E Qが1”のときは、CN’l’ 1
09をカウントアツプする。サイクル■では、同時に1
番目の書込みを示す信号SWが1nとなるため、CNT
100はカウント動作を実行しない0次のサイクル■で
も出力信号 1、< 1≦QCNTは“00012”のまま保持され
、読出されていないデータが1個存在することを示す、
サイクルのでは、CN”l”LO9の上位2ビツトの出
力信号RA I−IはOO”であり、データ線99を経
由して第2図の選択回路45に送られる。このサイクル
では信号SWが“1”であり。 選択回路45内のセレクタ451は信号RAHを選択し
てバンク47のアドレス端子ATに送出する。一方、第
2図中のアンドゲート441は、信号SWが“1″のた
め信号WEEを“0”とする。 信号WE)Σが“0″であるため、バンク47は読出し
動作を信号AP二の示す“00”番地に対して実行し、
直前のサイクルで書込まれた0番目のデータの内容を信
号I) OEとしてデータm471に出力する。第2図
中のセレクタ491は、信号SWが“1”であるので、
信号[)OEを選択して信号T< I) A TAとし
てデータ線10に出力する。 以上の動作により、サイクル■中にO#目のデータが信
号R1,) A T Aに出力される。 1番目と2番目のデータの読出しも信号SWの値と使用
されるバンクの偶奇を除いては、同じ動作を行なう。 3#目のデータの書込みは2番目のデータ書込み完了後
、さらに3サイクル後に実行されている。 そのため、2番目のデータを読出すサイクル■では、信
号RREQが“1″でかつ信号WEが“0”となってい
るのでCNT100がカウンタダウンされ、次のサイク
ル■では信号REQCNTは“o o O02”となり
、信号ROKがII 0 +7となり、信号RREQ=
“1″が入力されないはずであり、3番目のデータに対
する読出し動作は実行されない。3番目の書込み要求信
号WREQに応答して信号WEが“1”となるサイクル
の次のサイクル■では、信号REQCNTが“0001
□′となり信号ROKが“1″となる。 しかし、第6図の動作例では別の外部の要因により信号
RRE Qが“O”になったままの場合を示している。 次のサイクル■では、信号SWが1となり3番目のデー
タの格納されている奇数バンク48がRモードではない
ので信号ROKはj(OPIとなる。このサイクルでは
、CNT1.00の値はrCL前のサイクルで4番目の
書込みを反映して”0010g”になっている。次のサ
イクル■では、信号SWが“0″なので信号ROKが“
1″となり信号RREQとして“1″が入力される例示
されている。このサイクル■では、信号T< 1!:
Q CN ’1’は“00112”にまで増加している
。 以下、4番目から7番目までのデータが連続して読出さ
れている例が示されている。サイクル12で最後の7番
目のデータが信号RI) A T Aとして送出されて
いる。サイクルOからサイクル12までの13サイクル
の間に8個の書込み要求と8個の読出し要求がこのFi
FOメモリでは処理されている。特にサイクル■からサ
イクル■までの4サイクルの間には4個の書込み要求と
4個の読出し要求が各サイクルに各々1個ずつ並列に処
理され、このFiFOメモリの最大処理能力が発揮され
ている。 第7図に1本発明の一実施例として上述のT’ i F
Oメモリを仲立として複数の演算器をプログラムから
の指示により動的に結合したデータ処理装置の構成を示
したものである。第6図までに説明した。FiFOメモ
リを使用することにより間欠的に書込みデータが発生し
ても正しく演算器から演算器にデータを転送する機能が
実現されている。 パイプライン方式の演算ユニット901゜902.90
3とFiFOメモリ921,922゜923.924,
925との間に分配論理回路91】と912が介在する
6分配論理回路911゜912は、各ユニットの入力元
と出力先にそれぞれ外部からの指示によりFiFOメモ
リを割当てる機能を持つ。分配論理回路911,91.
2は複数個の多入力セレクタ群からなり、公知のもので
ある。たとえば、ある時点ではユニット903の入力と
してはF i F Oバッファ921の出力を分配論理
回路912は選択し、ユニット903の出力はFiFO
メモリ922の入力となる様に分配論理回路911が選
択することができ、別の時点ではユニット903の入力
としてF’ i F Oメモリ923、出力としては、
FiFOメモリ924を選択する様に動的な再構成が可
能である。分配論理回路911,912は、セレクタを
多数個を使用して構成することができる。 なお、FiFOメモリ921.・・・・・・、925の
各構成は第2図の?’ i F Oメモリの回路41を
除いたもので構成されており1回路41に相当するもの
は1回路41と同じ構成の回路910として設けられ、
各F i F○メモリ921.・・・・・・。 925間で共用されている。 第7図の演算ユニットには、四則演算を実行する算術演
算ユニットだけでなく、多量のデータを記憶することが
可能な記憶制御ユニットであってもよい。 〔発明の効果〕 以」−説明した様に本発明によれば、同時動作可能な複
数の演算器および複数の記憶装置を動的に結合し、かつ
有効なデータが間欠に出力されても後続の演算器に正し
いデータを有効データとして後続の演算器に人力でき、
かつ各記憶装置では、芹込みと読出しの一方を大きく遅
延することなく実行することができるデータ処理装置を
提供することが可能である。
タ処理装置に関する先行技術としては。 例えば、米国特許4,128,880に開示されている
様に、演算器の間をベクトルレジスタを仲立ちとして選
択的に結合する方法がある。 〔発明が解決しようとする課題〕 チェイニングと呼ばれるこの方法では、ある演算器が休
みなく連続して有効なデータを入力することを前提とし
ている。しかしながら、記憶装置からデータを取込む場
合の様にデータが間欠的に転送される場合には正しく動
作しない。すなわち、まだ書込まれていないデータにつ
いても誤って読出してしまう危険性を有している。 本発明の目的は、複数の演算器を選択的に結合して同時
動作させ、′6LfF、器からデータが間欠的に出力さ
れても正しいデータを有効データとして後続の演算器に
入力することができるデータ処理装置を提供することで
ある。 〔課題を解決するための手段〕 このような目的を達成するために5本発明では、1−0
それぞれが一群のデータを保持するための。 それぞれ複数のデータバンクからなる複数の記憶手段と
。 順次入力されるデータに対して演算をそれぞれ行い、演
算結果に対応するデータを新たな入力データの受信と並
行して出力する複数の演算手段と。 選択された第1の記憶手段から読み出された一群のデー
タを順次少くとも一つの選択された演算手段に供給し、
該選択された演算手段から出力される一群のデータを選
択された第2の記憶手段に順次供給するように該複数の
記憶手段と該複数の演算手段とを命令に応答して選択的
に接続する選択手段と、 該選択された第]−の記憶手段に保持された一群のデー
タを、あらかじめ定められたメモリバンクの順序に従い
順次異なるデータバンクから読み出すように該第1の記
憶手段を制御し、該選択された演算手段から出力される
一群のデータを、該第2の記憶手段にあらかじめ定めら
れたデータバンクの順序に従い順次異なるデータバンク
に書き込むように該第2の記憶手段を制御する手段であ
って、該第1の記憶手段から次に読み出すべきデータが
すでにそこに存在するか否かに応じてその読出しを制御
し、かつ、各記憶手段について、データを次に書き込む
べきバンクとデータを次に読み出すべきバンクが同一の
ときには、書き込みおよび読み出しの一方が該同一バン
グに対して遅らせて行なわれるように制御する手段を設
けた。 〔作用〕 上記制御手段による制御の結果として、一つの演算手段
の出力が間欠的に出力された場合でも、その出力データ
を記憶手段の一つに書き込みつつ、その一つの記憶手段
から書込み済のデータを読み出して、別の演算手段に送
出することかできる。 この際、各記憶手段が複数のデータバンクから構成され
ているので、それぞれの記憶手段に対して読出しと書込
みの一方を大きな遅延なし実行できる。 〔発明の実施例〕 以下、本発明を実施例により詳細に説明する。 最初に本発明で使用するFi、FOメモリの構成と機能
を明確化するために第1図以下を用いて演算器間をFi
FOメモリを仲立として固定的に結合した場合のデータ
処理装置の構成と動作をF i ?’ Oメモリを中心
に説明し、最後に第7図を用いて本発明の実施例である
プログラムからの指示により前述のFiF○メモリを仲
立として選択的に結合できるデータ処理装置の構成を説
明する。 近年、第1図に示すように、パイプライン方式の演算処
理装置に、FiFOメモリが適用されるようになってき
た6回図において、一点鎖線で囲ったパイプライン方式
の演算ユニット1は、パイプライン演算器2およびこの
演算器を制御するためのパイプライン制御論理回路3か
らなり、演算ユニット4と5からデータ線30と31を
経由した入力データ(1ビツトまたは複数ビットデータ
)を受取り、別の演算ユニット6にデータ線32を経由
して演算結果を送出する。F i F’ Oメモリ20
.21,22は入力データと演算結果にバッファとして
、ユニット間に設けられている。つまり、演算ユニット
4からの入力データ(ユニット4から見れば、ユニット
4の演算結果)はデータa30からFiFOメモリ20
に入力された後、データ線10を経由してユニッ1−1
中のパイプライン演算器2に入力される。FiF’Oメ
モリ21と22も同様であり、データ線11と12が使
用される。 この様な?’ i F’ Oメモリをバッファとして使
用した場合の利点は6次の2点である。 (1)演算ユニット4と5からの人力データの途切れ対
策。第1図で示した様な多入力のパイプライン演算器2
では、同一番号を持った多数個の入力データの対は同時
に入力される必要があるのが一般的である。ここで、演
算ユニット4からのある番号の入力データは到着したが
、別の演算ユニット5からの対応する同一番号の人力デ
ータが何らかの要因により。 到着が遅れた場合を考える。F’ jF’ Oメモリ2
0は、データ線30を経由して各サイクルに送出されて
くるデータを受付けながら、データ線10を経由してユ
ニット1に送出するデータを、他のユニット5からの人
力データの到着するまで遅らせるために使用される。 この間、パイプライン演算器2には無効なデータが入力
され、対応する演算結果も無効なものが出力されるが、
パイプライン制御論理回路3がこの無効な出力が他のユ
ニット6に送出されない様に制御している。 (2)ユニット6の受付は拒否対策。ユニット6はデー
タ!1432からのデータの受付けを拒否する場合があ
る。FiFOメモリ22は、データ線12を経由するパ
イプライン演算器2からの演算結果を一時的にバッファ
リングし、ユニット6の受付けが可能になるまでデータ
を待たせるために使用される。 この様に、上記のデータの途切れ現象が発する場合には
、パイプライン演算器を有するユニット間に、FiFO
メモリを設けることが有効である。 このFiFOメモリに必要とされる機能は次の点である
。 (A)パイプラインのピッチ時間内に、読み出しと書き
込みが同時に可能であること。 (+3)IFき込まれたデータを短時間に読み出せるこ
と。 従来は、この様な高速なFiFOメモリの記憶素子とし
ては、ゲートを組合せたフリップフロップ(以下、FF
と称する)又はラッチ、一般のメモリ17’(1つのメ
モリサイクルには1回の読み出しまたは1回の書き込み
が可能)のいずれかを用いる場合が多かった。前者は、
充分に高速ではあるが、大容量のFiFOメモリを構成
するためにはゲート数が莫大になる欠点を有する。一方
、一般のメモリ素子では上記(A)の機能を満足するた
めに、パイプラインのピッチ時間内に、2(可のメモリ
サイクルを実行させる必要がある。しかし、現在のパイ
プライン技術とメモリ素子の高速化技術からでは、パイ
プラインピッチ時間の半分で、−回のメモリサイクルを
実行できる大容量のメモリ素子を入手することは困難で
ある。 本発明で使用するFiFOメモリは、書き込みす?よび
読み出し可能な複数個のデータバンクと、上記複数個の
データバンクを繰り返して書き込みモードに指定するモ
ード指定手段と、受信データをに記書き込みモードに指
定されたデータバンクに書き込み、かつ、上記書き込み
モードに指定されていないデータバンクからデータを読
み出して受信した順番通りにデータを出力する書き込み
読み出し制御手段とを備えた点に特徴がある。 第2図は、本発明で使用するFiFOメモリの全体ブロ
ック構成図である。とのFiFOメモリは、第1図のF
iFOメモリ20,21.22のいずれにも適用可能で
ある。 第2図において、47.48はデータバンク(以下、#
にバンクと称する)であり、互に面立に書き込みおよび
読み出しができるものであり、各データバンク47.4
8は1個のランダムアクセスメモリ(以下、RAMと称
する)からなる。 なお、各バンクは必要とする容認とワード構成に応じて
、複数個のRA Mにより構成する場合があるのはいう
までもない。 外部から送られてくるデータは、送られてきた順番に従
い、バンク47.48に書き込まれる。 たとえば、最初に送られてきた0番のデータはバング4
7に、その次に送られてきた1番のデータはバンク48
に、その次に送られてきた2番のデータはバンク47に
、その次に送られてきた3番のデータはバンク48に、
・・・・・・というように、バンク47.48に順番に
繰り返して書き込まれる。 したがって、バンク47には0,2,4.・・・・・・
。 2n番(nは整数)のデータすなわち、偶数番のデータ
が順番に書き込まれるので偶数バンクと呼ぶことにする
。バンク48には1,3,5.・・・・・・。 2n+1番のデータ、すなわち、奇数バンクと呼ぶこと
にする。 41は、バンク47.48のうち、どのバンクが書き込
み可能のモードなのかを一定周期で繰返し指定するため
のモード指定回路である。いま、書き込み可能モードを
Wモード、読み出し可能モードをRモードと称す。モー
ド指定回路41は“Q##、111” 1(Q”、1
”、・・・・・・と一定の周期で“0”、“1″を繰り
返えして出力する。 モード指定回路41の出力が“0″のとき、偶数バンク
47がWモードとなり、奇数バンク48がRモードとな
る。回路41の出力が“1”のとき。 # Otpのときとは逆に、偶数バンク47がRモード
となり、奇数バンク48がRモードとなる。したがって
、バンク47.48は各時点において互にモードが異な
るように、RモードとWモードのモード指定を一定の周
期で繰返し、モード指定回路41により、受けている。 100は1回路42〜46.49からなる、バンク47
.48の書き込み・読み出し制御回路である。回路10
0は、偶数番のデータが入力されたとき、偶数バンク4
7がWモードであれば、偶数バンク47にこのデータが
Wモードであれば、偶数バンク47がWモードでなけれ
ば、すなわち、Rモードであれば、Wモードになるまで
待ち、Wモードになった時点でこのデータを書き込む。 奇数番のデータの書き込みについても、同様である。 また、回路100は、読み出し要求があり、今度、読み
出すべきデータが偶数バンク47に書き込まれていると
き、偶数バンク47がRモードであれば偶数バンク47
からただちに読み出す。偶数バンク47がWモードであ
れば、Rモードになるまで待ち、Rモードになった時点
で読み出す。 この第2図のF’ i F’ Oメモリの構成により書
き込みと同時に読み出しが可能となる。たとえば、偶数
バンク47にデータを書き込むと同時に、奇数バンク4
8からデータを読み出すことができる。 第2図において、太線の信号線は多数本からなる信号線
を表わす。 次に、このF’ i F’ Oメモリの動作について説
明する。 第2図において、書き込み要求を受信する(書き込み要
求が到着する)時には、43号、i@33.hの書き込
み要求指示信号WREQが′1″であり、データ線30
上のデータ信号W L) A ’1’ Aの値が書き込
みデータである。信号W RE QとW D A TA
は、第[の外部装置、たとえば演算ユニット4から、書
き込み制御回路42(以下W制御回路と呼ぶ)に入力さ
れる。W制御回路は、信号WREQに基づき、書き込み
要求の到着を検出し、書き込みデータを信号WDATA
から受信し、また到着する書き込み要求の到着番号を検
出する手段を有する。書き込み要求の到着番号がN番目
であることを検出したとしよう、Nが偶数であるか奇数
であるかより、書き込むべきデータバンクが偶数バンク
であるか奇数バンクであるかが決定される。 一方、前述のモード指定回路41の出力信号SWがWモ
ードのバンクを指定するから、Nの偶奇により決定され
るデータバンクと、信号SWがWモードに指定するデー
タバンクが一致した時、W制御回路42はNの2進表現
における下位1ビツトを除く上位ビットの値により決定
されるアドレスを信号線93上の信号WAHに出力し、
信号線93上の書き込み指示信号WEに“1″を出力し
、偶数バンクへの書き込みデータは信号線82上の信号
5DREに出力し5奇数バンクへの書き込みデータは信
号線83上の信号5DROに出力する。 言き込み要求が到着した時、上記バンクの一致が成達し
ない可能性がある場合には、書き込み要求の存在と書き
込みデータを上記バンクの一致が成立するまで記憶する
手段が必要である。その手段の詳細な実施例は、第4図
を用いて後述する6信号線39を介して入力される初期
値設定信号S ’1’ A RTにより、W制御回路4
2は後述するように初期状態に設定される。 一点鎖線で囲まれた回路44は、モード指定信号SWと
書き込み許可信号WEに応答して、信号1iI59.5
8を介して書き込み指令信号WEE。 WEOをバンク47.48にそれぞれ出力する書き込み
信号作成回路である。回路44のアンドゲート441は
、信号、SWが“Onでかつ信号WEが“1#である条
件を満すときのみ、書き込み指令信号WEEの1′を偶
数バンク47に出力する。このようにして、偶数バンク
47がWモードで(信号WEがit Ottで)かつ令
書き込むべきデータが存在する時(信号WEが′1″の
時)偶数バンク47に書き込み指令信号WEEに“1″
が出力される。アンドゲート442は、44号SWが1
でかつ信号WEが“1”である条件を満すときのみ、書
き込み指令信号WEOに“1″を奇数バンク48に出力
する。このようにして、奇数バンク48がWモードで(
信号SWが“1″で)かつ今擦き込むデータが存在する
時(信号WEが“1”の時)奇数バンク48への書き込
み指令信号WE○に“1″が出力される。アンドゲート
441の人力の片側につけられた丸印は人力信号の反転
を行なうことを示す。 選択回路45はモード指定信号SWに応答して、前述の
書き込みアドレスWARをバンク47゜48のいずれか
に選択出力するように動作する。 回路45はセレクタ451,452からなる。セレクタ
451は、モード指定信号SWが“OItのとき、前述
の書き込みアドレス信号W A Hと後述する読み出し
アドレス信号RA Hのうち、信号W A Hを信号線
57に選択出力する。したがって、偶数バンク47が書
き込みモードにあるとき(信号SWが“O”のとき)、
書き込みアドレスW A Hが接散バンク47に出力さ
れる。信号SWが“1″のとき、セレクタ52は後述す
る読み出しアドレスRAHを偶数バンク47に選択出力
する。セレクタ452は、信号SWが“O”のとき。 後述する読み出しアドレスRAHを信号線56に選択出
力し、信号SWが“1″のとき、書き込みアドレスWA
Hを信号線56に選択出力する。したがって、奇数バン
ク48には、奇数バンク48が書き込みモードにあると
き(信号SWが“1”のとき)、書き込みアドレスWA
Hが出力される。 セレクタ451,452と後述する461゜491は、
上から印加される信号SWが“O?+の時、左上からの
入力(セレクタ451では、アドレス線93からの入力
)を選択し、信号SWが“1″の時、左下からの入力(
セレクタ451では、アドレス線99からの入力)を選
択して右の出力線(451では信号線57)に出力する
機能を有している。 選択回路46は信号SWに応答して前述の偶数バンク用
書き込みデータ信号5DREと奇数バンク用書き込みデ
ータ信号5DROを選択出力するものであり、セレクタ
461からなる。セレクタ461は、信号SWが“O”
のとき、信号線82を選択し、データ信号5DRE信号
線54.55に出力する。信号SWが11−”のとき、
信号線83を選択し、データ信号5DROを信号線54
゜55に出力する。したがって、偶数バンク47がWモ
ードのとき(信号SWが110 J#のとき)、バンク
47および48に、偶数バンク用書き込みデータ信号5
DREが印加される。 したがって、偶数番目の書き込み要求がFiFOメモリ
に到着すれば、偶数バンクがWモードのとき、偶数バン
ク47の書き込み端子W E Tには、信号“1″が人
力され、アドレス端r−A Tには前述の書き込みアド
レス信号WAHが入力され、データ端子DITにはこの
データ信号5DRh:が人力され、偶数バンク用書き込
みデータ信号5DREが偶数バンク47に書き込まれる
。 ところが、前述したように、偶数バンク47がWモード
のとき(信号SWが0”のとき)、奇数バンク48はR
モードとなり信号SWが“0”のため、アンドゲート4
42の出力である書き込み指令信号WEOは“0″とな
り、奇数バンク48の書き込みが禁止されるので奇数バ
ンク48に偶数バンク用書き込みデータ5DREが書き
込まれることはない。 奇数バンク48がWモードのとき(信号SWが“1″の
とき)、バンク47および48に、奇数バンク用書き込
みデータ信号5DROが印加される。しかし、上述と同
じ理由で、偶数バンク47にはこのデータ信号5DRO
が書き込まれることなく、奇数バンク48にこのデータ
信号5DROが書き込まれる。 なお、セレクタ461の代りに、信号線82と55とを
結線し、信号5DREが偶数バンク47に常に印加する
ようにし、かつ、信号線83と54とを結線し、信号5
DROが奇数バンク48に常に印加するようにしてもよ
い。ただし、セレクタ461を用いた方が、信号線55
と54を共通化することができ、バンク47,48とW
制御回路42間の信号線の配線が簡便となるにのように
して、0番のデータは偶数バンク47の0番地に、1番
のデータは奇数バンク48の0番地に2番のデータは偶
数バンク47の1番地に、3番のデータは偶数バンク4
8の1番地に。 ・・・・・・というように、データは、何ら外部からア
ドレスを指定しなくても受信した順番に従いバンク47
.48に交互に繰返して自動的に書き込まれる。 なお、バンク47.48は1次の入出力端子を有してい
る。WETは書込み指令信号入力端子であり、偶数バン
ク47への書込み指令信号WEE又は奇数バンク48へ
の書込み指令信号WEOが端子WETに入力される。A
Tはメモリアドレス入力端pであり、偶数バンク47へ
のメモリアドレスAE又は奇数バンク48へのメモリア
ドレスAOが端子ATに入力される。DITは書込みデ
ータ入力端子であり、データ信号DIE又はi) I
Oが端子DITに入力される。 DOTは読出しデータ出力端子であり、偶数バンク47
の端T−DOTから読出しデータDOEがデータ線47
1に出力され、奇数バンク48の端7− D OTから
読出しデータDOOがデータ線481に出力される。端
子WETの入力が1”のとき、バンク47.48はデー
タ端子DXTのデータをアドレス入力端子ATに入力さ
れるアドレス信号が示すアドレス番地にストアする。端
子WE”l’の入力が“0#のとき、バンク47.48
はアドレス入力端子に入力されるアドレス信号が示す番
地にストアされているデータを読み出す。 第2図に示さなかったバンク47.48の他の入出力端
子としては、電源端子、チップセレクト端子、出力エネ
ブル端子などがある。 以上で、書き込みの動作説明が終ったので1次に読み出
しの動作説明をする。 読み出し制御回路(以下、R制御回路と称する)43は
、外部からの初期値設定信号5TARTにより、後述す
るように初期設定がされている。R制御回路43は、後
述するように、これからバンク47.48の読み出すべ
きアドレスRAを記憶している。アドレスRAは、後述
する読み出し要求信号RREQによって、“1”だけカ
ウントアツプされる。読み出しアドレス信号RAHは、
アドレスRAを2進ビツトで表わしたとき、下位1ビッ
トを除くビットの信号であり、R制御回路43から信号
線99に出力される。また、回路43は書き込まれたデ
ータのうち、まだ読み出されていないデータの個数Mを
記憶している0個数Mは、書き込み許可信号WEが1′
1 +#になるごとに、すなわち、データが1個書き込
まれるごとに、“1″だけカウントアツプされ、読み出
し許可信号ROKを受信する第2の外部装置たとえば、
パイプライン演算ユニット1から信号線15を介して入
力される読み出し要求信号RREQが“1”になるごと
に、すなわち、データが1個読み出されるごとに、′1
”だけカウントダウンされる。 Mが1以上であり(バンク47.48にまだ読みだされ
ていないデータが書き込まれている状態にあり)、かつ
、モード指定信号SWが読み出しモードを指定している
バンクにこのデータが書き込まれているときのみ、信号
線13を介して、外部装置にR制御回路43から、信号
ROKに“1″が出力される。このデータが、バンク4
7.48のどちらかに書き込まれているかは、2進数の
読み出しアドレスRAの最下位ビットが“OIIか“1
″かで検出される。 信号線99の読み出しアドレス信号RAHは。 前述したセレクタ451,452に印加され、モード指
定信号SWがII OIjか(r i、 IPかによっ
て。 セレクタ451,452からバンク47.48のアドレ
ス端子ATに印加される。すなわち、信号SWが“On
のときは奇数バンク48が読み出しモードとなっており
、セレクタ452を介して読み出しアドレス信号RA
Hが奇数バンク48に出力される。信号SWが“1′の
ときは偶数バンク47が読み出しモードとなっており、
セレクタ451を介して読み出しアドレス信号RAMが
偶数バンク47に出力される。このように、読み出しモ
ードになっているバンクに、読み出しアドレス信号RA
Hは印加される。 したがって、読み出しモードになっているバンク内の、
読み出しアドレス信号RAWにより指定される番地から
読み出すべきデータが出力端子DOTに出力される。 セレクタ491からなる選択回路49は、読み出しモー
ドにあるバンクの出力を選択的に信号線10に出力する
ものである。モード指定信号SWが“0”のとき奇数バ
ンク48が読み出しモードにあり、奇数バンク48から
読み出されたデータ信号DOOをセレクタ491は信号
線10に選択出力する。この信号が読み出しデータ信号
RD A T Aとして外部の装置に送られる。モード
指定信号SWが111 Ttのとき偶数バンク47が読
み出しモードにあり、偶数バンク47から読み出された
データ信号DOEをセレクタ491は選択して、第2の
外部装置に信号、5iioを介して、出力する。もちろ
ん、バンク47.48の出力端子D OTに結線論理が
許されれば、バンク47゜48のチップセレクト端子や
出力エネブル端子の入力を制御することにより、データ
線471とデータ線 481を結合しただけ、選択回路491に相当する機能
を実現することもできる。 なお、第2の外部装置、たとえばパイプライン演算ユニ
ットは、信号ROKがu 1 ppであり、かつ、自己
が読み取り可能のとき、信号RDATA取り込み、読出
しデータを受取ることを示すため、信号RREQを“1
″としてR制御回路43に出力する。R制御回路は、信
号RREQが“1″の時次のサイクルでは読出しアドレ
スRAを1つ増加した状態にする。 このようにして、偶数バンク47の0番地のデータ、奇
数バンク48の0番地のデータ、偶数バンク47の1番
地のデータ、奇数バンク48の1番地のデータ、・・・
・・・というように、バンク47゜48に書き込んだも
っとも古いデータから、古い順に順次、バンク47.4
8に書き込まれたデータが読み出される。したがって、
第2図のFiF○メモリは、いわゆるファーストインフ
ァーストアウトのメモリ機能を有している。また、以上
説明したように各バンクごとに独立にモード指定がなさ
れているため、偶数バンク47にデータを書き込んでい
るとき、同時に、奇数バンク48から書き込まれたデー
タを読み出すことと、偶数バング47から書き込まれた
データを読み出し、同時に、奇数バンク481にデータ
を書き込むことができる。すなわち、書き込みと読み出
しとを同時に実行することができる。 第1図に示した構成において、第2図のFiFOメモリ
を20.21として使用しているので、FiFOメモリ
20と21における信号SWは同期化しておく必要があ
る。なぜならばパイプライン演算器2では、2つの入力
データの番号はデータが正しく入力されるサイクルでは
常に等しいことが一般的であり、20と21での信号S
Wの値が異なっていると、常に片側のFiF○メモリか
らは読み出し不可となり、両者が同時に読み出し可とな
らぬため一つも演算が開始できなくなる。これを避ける
ためには、全装置内のすべてのFiFOメモリ中の信号
SWが常に同一の値となる様な構成としても良い、たと
えば、一つのF i F Oメモ’J 20 (7)
S W信号を他のFiFOメモリ21でも共有すれば良
い、第2図では。 FiFOメモリ22に関しては、演算ユニット6への入
力がFiFOメモリ22以外にないので、信号SWに関
する同期は不要である。 次に、モード指定回路41.W制御回路42゜R制御回
路43について、さらに具体的に第3図(A)、第4図
、第5図を用いて説明する。 回路41,42,43は、−相のクロック信号′1゛で
動作しこのクロックの周期が、パイプライン演算器のピ
ッチであると同時に、メモリ素子のメモリサイクル時間
になっている。第6図の下に示したごとく、各サイクル
にOから13までの番号を付けて説明する。各サイクル
はTの立上りからの次のTの立上りまでと考える。 特記しない限り、フリップフロップ(以下、FFと称す
、)と同期型カウンタ(以下、CNTと称す、)はクロ
ック入力信号Tの立上りで動作するエッヂトリガタイプ
である。 図中の左右の信号線の端子での一重丸は、FiFOメモ
リ内部のインタフェイス信号を示し、二重光はFiFO
メモリ外部とのインタフェイス信号であることを示す。 ここでは最大8個までの入力データを記憶できるFiF
Oメモリとして以下の説明を行なう、この構成では、バ
ンク47と48は各々4個のデータを格納可能なメモリ
容量があれば良い、また。 信号WAHの信号線939M号RAMの信号線99、信
号AEの信号線57.信号AOの信号線も2ビツトのア
ドレス線で良い。 第3図(A)から第5図までに示した回路41゜42.
43はすべてクロック信号Tに同期した同期式回路であ
る。以下の説明では次の2点を仮定する。(1)ゲート
の遅延時間やFFとCNTの遅延時間がクロック信号T
のサイクル時間に比較して充分に小さい、(2)クロッ
ク信号Tで動作するFFやCNTの出力を同じクロック
信号Tで動作する次段のFFやCNTに入力しても誤動
作しない。 上記(2)の仮定は「あるサイクルでの前段のFFの値
が、次のサイクルでの後段のFFの値を決定し、同一サ
イクル中に前段のFFの値が、後段のFFの値に影響を
与えることが無い」ということである、上記(1)仮定
が満されない場合には、使用するバンクを含めた詳細な
遅延時間の算定と検討が必要であり、上記(2)の仮定
が満されない場合には、クロッ948号の2相化等の対
策が必要であることは、同期式回路であれば当然である
。 第3図(A)はモード指定回路41の回路図である。F
F50の反転出力端子Qの出力がFF50の入力端子り
に入力されている。FF50のクロック端子には、メモ
リサイクル、すなわち、パイプラインピッチ毎に“1″
となるクロック信号Tが印加されている。FF50の出
力端子Qからの信号が前述のモード指定信号SWとなる
。今。 FF50の内部状態が“1″とする。このときの端子Q
の出力″0”が入力端子りに入力される。 クロック信号Tの1回目の立ち上りで、FF50は、端
子Qの出力110”を取り込み、FF50の内部状態は
1′i P#からOnに変化する。このとき、端子Qの
出力も“0″から“1″となる。したがって、入力端子
りの入力も“1″となる。りロック信号Tの2回目の立
ち上りで、FF50は、端7− Dの入力“1″を取り
込み、FF50の内部状態は再び“]−″に戻る。この
ように、クロック信号Tの立ち上り時点で、FF50の
内部状態は16019 、 II I PIの反転を
繰り返す。したがって、FF50の出力端子Qの出力で
ある信号SWもクロック信号Tの立ち上りに応答して“
0” u 1 ppの反転を繰返す。このようすを第6
図のタイムチャートのTとSWに示す。信号SWの役割
は前述したようにバンクの動作モードを指定することに
ある。 第3図(B)はモード指定信号SWによって指定される
偶数バンク47.奇数バンク48の各モードを示したも
のである。 なお、モード指定回路は、 (1) 前述した複数個のFiF○メモリ間の同期化
をはかるため、モード指定回路を1つ設けて、それを共
用してもよい。 (2)8個の書き込みデータがすべて到着しバンク上で
の読み出しと書き込みが競合する可能性が無くなった時
、次に読出したい側のバンクを常に選択できる様に信号
SWを変更する回路を設けてもよい。 第4図は、W制御回路42の回路図である。 (3)書き込みと読み出しが競合しない条件下では、到
着するデータの偶奇とWモードに指定するバンクの偶奇
と常に一致する様に、信号SWを変更する回路を設けて
も良い。 第4図は、W制御回路42の回路図である。 まず最初に、第4図のCNTとFFの役割と主要なゲー
トの機能を説明し1次に第6図のタイムチャートに従っ
てその動作例を説明する。CNT62は前述したエツジ
トリガタイプの同期型カウンタであり出力のビット数が
1ビツトである。 CNT64もエツジトリガタイプ3ビツトの同期型カウ
ンタである。端子upはカウントアツプ指示入力端子で
あり、端子Rは内容をゼロクリアするためのリセット端
子、端?−GKはクロック端子Tの入力端子、端子Qは
カウンタ内容の出力端子である。カウントアツプ動作は
、端?−upの入力信号が“1″の状態で、端子CKに
印加されるクロック信号Tが“0”から“1″へ立上が
る時点で実行される。端子upの入力信号が“O″の状
態ではCNTの値は不変である。FF63は、エツジト
リガタイプのFFであり、前述のカウンタと同じく端子
GKに印加されるクロック信号の立上がりで出力端子Q
の値が変化する。 CN T 62は、外部からの信号5TARTでリセッ
トされ、外部からの書き込み要求信号WREQが到着す
るサイクルの終り(クロック信号Tの立上り)でカウン
トアツプされ、その出力WCNTはそのサイクルで到着
する書き込み要求(書き込み要求信号WREQと書き込
みデータWDATA)が奇数バンク48に対するものか
偶数バンク47に対するものかを示す。つまり、出力W
CNTの110”は偶数バンク47への書き込み要求を
意味し 111 F+は奇数バンク48への書き込み要
求を意味する。CNT62のもう1つの出力信号WCN
Tは出力信号WC:NTの逆極性信号になっている。 CN T 64は、外部からの信号5TARTでリセッ
トされ、いずれかのバンクへの書込みが実行されるサイ
クル(WEが“1″であるサイクル)の終りでカウント
アツプされる。CNT64の出力が前記WAであり、そ
の上位2ビツト出力WAHは、バンクの書込みアドレス
を示し、その下位1ビツトの出力WALは書込みバンク
の偶奇を示す。つまり、CNT64の出力が“0OOz
”(添字の2は2進数を示す。以下同じ)であれば、W
制御回路42は偶数バンク47のOO2番地を書込み先
として指示することになる。CNT64の出力が“00
1□”であれば、奇数バンク48のOO2番地を指示し
、“0102”であれば、偶数バンクの“012”番地
を指示している。実際にバンクで書込みを実行するため
には、後述する書込み許可信号WEが“1″でなければ
いけない。 あるサイクルで信号WREQが“1″であれば、そのサ
イクルに書込み要求はW制御回路42に到着している。 書込むべきデータ信号は、そのサイクルでの信号WDA
TAである。つまり、対応する信号WREQと信号W
L) A T Aは同一サイクルでW制御42に到着す
る。 第3図(B)に示す様に、あるサイクルにおいて信号S
Wの値により、偶数バンク47 ’#1奇数バンク48
の片方がWモードに指定される。一方、外部からW制御
回路42に到着する書込み要求は、信号SWの値とは独
立に到着する。従って、W制御回路42では1次の2種
類の書込み動作手順のいずれかを到着する各々の外込み
要求と対応して実行する。 (、i) 要求が到着したサイクルと同一サイクルに
、バンクへの書込みが実行される。ある要求が到着し、
かつ、到着した要求の番号の偶奇(すなわち書込み先の
バンクの偶奇)と要求が到着したサイクルでのWモード
状態にあるバンクの偶奇が一致した時、(a)の書込み
動作手順が実行される。以下直接書込み手順と呼ぶ。 (b) 要求が到着したサイクルの次のサイクルに、
バンクへの書込みが実行される。ある要求が到着し、か
つ到着した要求の番跨の偶奇と、要求が到着したサイク
ルでのWモード状態にあるバンクの偶奇が一致しない時
、(ロ)の書込み動作手順が実行される。以下遅延書込
みと呼ぶ。 第4図の排他的論理和(以下FORと称す)ゲート69
は、到着する要求の番号の偶奇とWモードのバンクの偶
奇の不一致を認識する。つまり。 あるサイクルで信号線88上のEORゲート69の出力
が“0″であれば、偶奇が一致し5ており、要求が到着
した場合には直接擦込み手順を実行すべきである。また
、EORゲーl−69の出力が“1”であれば、偶奇が
一致しておらず、要求が到着した場合には遅延書込み手
順を実行すべきである。アンドゲート69と68はそれ
ぞれ、直接書込み手順の実行と遅延書込み手順の実行を
認識する。アンドゲート69の入力端子の片方に付けら
れた丸印は、第2図のアンドゲート441と同様に、人
力信号の反転を示している。つまり、アンドゲート69
の出力が111 Nとなる必要充分条件は・信号線33
上の信号WREQが“1″であり、かつ、信号線88上
の信号が0“であることである。 111 II信号線90上のアンドゲート69の出力が
“1″であれば、オアゲート70を経由して信号線91
」二の書込み許可信号WEが111 Hとなり、書込み
要求が到着したサイクルに、バンクへの書込みが実行さ
れる。これが、直接書込み動作の実行である。 信号線89上のアンドゲート68の出力が1′1”であ
れば、FF63には端PDより((111が入力され次
のサイクルでは、信号線86上のFF63の出力信号W
REQDLが“1”となり、書込み要求が到着した次の
サイクルに、バンクでの書込みが実行される。これが、
遅延書込み手順の実行である。l” F 63は、遅延
書込み手順で実行すべき書込み要求が到着したことを記
憶し、次のサイクルにバンクの書込みを指示する。 (+’F号WEが“1″の時、偶数バンク47か奇数バ
ンク48において書込みが実行される。書込み先のバン
クの偶奇は、信号SWと信号WALのいずれによっても
知ることができる。第2図に示された実施例では、信号
SWを書込み先バンクの偶奇の選択信号として使用して
いることは前述した。 書込み指示信号WREQについては、その値がこの様に
W制御回路42に到着したサイクル中に信号WEとして
伝えられる場合と、一時記憶されて次のサイクルに信号
WEとして伝えられる場合とがあると考えることができ
る。書込みデータ信号WDTAについても、その値が直
接用いられる場合と次のサイクルまで記憶されなければ
ならない場合とがある。信号WDATAも信号WREQ
と同様に、2組のアンドゲート群(アンドゲート68と
69に相当)FF群(FF63に相当)とORゲート群
(ORゲート70に相当)を用いて上記2つの場合の動
作を実現することもで斥る。 しかし、第4図では2群のラッチを用いる別の方式を示
した。 ラッチ60と61は、前述しまたエッヂトリガタイプの
l?Fとは動作が異なり、入力端、、7− CKからの
クロック信号が111 ITの状態では、入力端子りか
らの入力内容がただちに出力端T−Qからの出力となり
、クロック信号がat l nからl(OF+に立下が
った時入力端子りからの入力内容が保持され(保持する
動作をラッチ動作と呼ぶ)、保持された内容は再びクロ
ック信号が1′0”から“1″に立上がるまでの間出力
端子Qから出力される。 ラッチ60は、偶数番目の書込みデータ(偶数バンク4
7への書込みデータ)を一時的に保持するために用いら
れ、ラッチ61は奇数番目の書込みデータ(奇数バンク
48への書込みデータ)を一時的に保持するために用い
られる。偶数番目の書込み要求が到着したサイクルを考
えてみると。 信号WCNTが11111であるので、ラッチ60の出
力信号5DREには信号WDATAの内容がそのまま出
力され1次のサイクルに移る信号W CN Tが111
++から“0″に立下がり信号WDATAの内容が保
持され1次のサイクルでも信号5DREの内容は前のサ
イクルと同一である。 つまり偶数番目の書込み要求が到着したサイクルに偶数
バンク47で書込みが実行される場合にも、到着した次
のサイクルに書込みが実行される場合でも、信号5DR
Eの内容は正しい偶数番目の書込みデータの内容である
。 ラッチ61とその出力信号5DROも、ラッチ61への
クロック信号が信号WCNTである点を除き同一の構成
であり、信号5DROの内容が正しい奇数バンクへの書
込みデータの内容である。 次に、第6図のタイムチャートに示した動作例に基づい
て、FiFOメモリ2oの書込み動作について説明する
。到着する書込み要求には、0番目から7番目までの番
号付けが行なわれそれぞれ偶数バンク47の0番地、奇
数バンク48の0番地、偶数バンクの1番地の順に、奇
数バンクの3番地までに書込まれる。 第6図には示されていないが、一連の書込み動作に先立
つ、信号5TARTの111 IPのパルスにより、C
NT62とCNT64は“0″にリセットされている。 FF63も、リセット端子Rに信号5TARTの“1″
のパルスが入力されるので同様にリセットされ、最初の
書込み要求が偶数番目であることを示す。 第6図の動作例では、0番目から2#目までの書込み要
求に対しては遅延書込み手順が実行され。 5番目から7番目の要求に対しては直接書込み手順が実
行される。 最初に、サイクルOに0番目の書込み要求が到着する。 信号線33上の信号WREQとデータ線30−1−の信
号WDATがW制御回路42に人力さtb6. つ*)
J、WREQが”1” であ)J、48%Wl)ATA
の内容は0番目の書込みデータである。 サイクル0ではまだ信号W に N Tが“0″であり
、第6図の例では信号SWがit Ortつまり偶数バ
ンクがWモードであることを示しているので、E OR
ゲート67の出力は“O”であり、アンドゲート68の
出力が“0″となり、アンドゲート90の出力がrt
L +zとなり、オアゲー1−70の出力信号WEが′
1″となる。信号WEが“1″のサイクルでは、第2図
に示した様に信号SWによりWモードに指定されたバン
クにおいて書込みが実行される。つまり、第2図のアン
ドゲート441により、信号線59上の信号w EF、
がLL I IIとなり、偶数バンク47における書込
み動作が指示される。 次に書込みアドレスについて説明する。第4図のCN
T 64が信号S T A RTによりセットされた後
に N T64の出力は、サイクル0でも“ooo2”
のままであり、その上位2ピッ1−出力である信号W
A )Iも001′としてアドレスa93に出力される
。第2図において偶数バング47へのメモリアドレス信
号AEの内容を決定するセレクタ451は、信号SWが
“0″なのでアドレス線93上の書込みアドレス信号W
AHを選択しアドレス線57に信号WAHを出力する。 以上により、サイクルOでは偶数バンク47のアドレス
端−f−A Tに正しいアドレスである1100279
が人力される。音数バンク48にはセレクタ452の働
きにより、信号RA Hがアドレス端−J’ A Tに
人力されるが、アンドゲート442の働きにより信号W
l!: Oが′0″なので、誤まった書込みが実行さ
れることは無い。 次に書込みデータについて説明する。第4図においてサ
イクル0ではW CN Tが“1″なので、ラッチ60
はデータ線30上の0番目の要求と対応する信号W D
A T Aをただちにデータ線82上に信号S I)
REとして出力する。第2図のセレクタ461は、信
号SWが“OIIなのでデータ線82」―の信号S D
REを、データ11A55に出力する。 つまり、サイクルOでは、0番目の書込みデータ信号W
D A ’I’ Aが正しく偶数バンク47のデータ
入力端子D I Tに人力される。第2図の実施例では
奇数バンク48のデータ入力端7−DITにも0番目の
書込みデータが入力されるが、アンドゲート442の働
きにより信号WEOが“0”であることが保証されるの
で、誤まった書込みが実行されることは無い。 サイクル■にも1番目の書込み要求が到着し。 かつサイクルの中にバンクへの書込みが実行されるが、
書込み先が奇数バンク48である点がサイクル0 と異
なる。つまり、第2図において信号SWが“1″なので
、信号WEEは1′ONであり、(it号W EOは“
1”である、信号W A Hの値がセレクタ452によ
り選択されて信号AOとして出力され、信号S L)
ROの値がセレクタ461により選択されて信号DIO
として出力される。第4図の3ビツトのCN ’l”
64の値は、サイクル0からサイクル■に移る時、サイ
クルOで信号WEが“1”なので“0012”に増加す
る。 CN ’r 62 (7)出力信号W CN TとW
CN Tも、サイクル0で41号W RE Qが“1″
なのでサイクル■ではそれぞれIt 11jと“0″に
反転している。サイクルOでもアンドゲート68の出力
が0”な(7)テ、F”Fe2(7)出力W RE Q
D I、は、サイクル■に才;いても“0″のままで
ある。サイクルOでの信号W D A TAの内容はラ
ッチ60に保持されており、サイクル■でも信号S D
E I<とじて出力されているが使用されない。 サイクル■には2番目の要求が到着し、サイクル■中に
偶数バンク47に書込まれる。サイクル■おいて信号W
Eが“1″なので、CNT64の出力がサイクル■では
“0102”となり、2番目の遠き込み要求データ信号
WDATAが偶数バンク47の1番目に書込まれる。 第6図のタイムチャートでは、3番目の書込み要求がサ
イクル■ではなくサイクル■に到着した場合の動作例を
示している。サイクル■では、到着する要求は奇数番目
であり、かつ奇数バンク48はWモードでないので1次
のサイクル■)において3#目の書込み要求が奇数バン
ク48で実行される。第4図において、サイクル■では
、信号W (: N Tが“1″でありかつ信号SWが
0″′である。EORゲート67とANI)ゲート68
と69に働きにより信号線89上の信号が“i ITと
なり信号線88上の信号が“0”となる。ト” F”
63は、入力信号端子[)に“1″が人力されるので1
次のサイクル■で初めて(11IIを信号W R!!:
Q I) Lに出力する。バンク吉:込み許【1f信
号−W +”:は、サイクル■では“0″であり。 サイクル(!i)で3#目の書込みを指示するために1
1117となる。この動作は、前述した遅延書込み手順
である。 書込みアドレスWAを作成するCNT64は、サイクル
■と■ではWTりが“0″なのでサイグル■から■まで
同一の値“0112”を保持しており、サイクル■では
奇数バンクメモリ48にメモリアドレスとして正しい値
である。 “01□″が入力される。 次に、書込みデータについて説明する。サイクル■に3
番し1の書込みデータ信号W D A T Aが到着す
る。ラッチ61のクロック信号となる信号W CN ’
l’がサイクル■では“1.′、サイクル■では1g
071となるので、ラッチ61の出力信号S l) R
Oの内容は、サイクル■だけでなくサイクル■でもサイ
クル■の信号W D A ′rAの内容と同一である。 したがって、サイクル■において奇数バンク48に3番
目の要求の書込みデータを正しく入力することができる
。 第4図のW制御回路42では、奇数バンク48が3番目
の書込み要求をサイクル■では実行できないが、次のサ
イクル■では実行できることを仮定している。つまり、
サイクル■で信号SWが“OIIであれば1次のサイク
ル■では信号SWが14 L 11となることを、SW
の周期性から予測している。 4番目の書込み要求も、偶数バンク47がWモードでな
い時(サイクル■)に到着するので一すイクル遅れて偶
数バンク47に書込まれる。 5番F1の要求は、偶数バンク48がWモードの時(サ
イクル■)に到着するので、0番目、1番目、2番目の
要求と同様に、直ちに偶数バンク48に書込まれる。す
なわち対応する信号W RI!: Qと信号WEが同一
サイクル■に′111Fとなる直接書込み手順で実行さ
れる。 8個の書込み要求をバンクに一回に込む毎に。 3ビツトのカウンタC,NT64はカウントアツプされ
、その出力は“0002″から“1−112”まで増加
する。サイクル10には“0002”に戻るかもしれな
いが、8#目の書込み要求が外部から到着Eノないので
、偶数バンク47の004地の内容が破壊されることは
無い。 第5図は、R制御回路43の回路図である。エツジトリ
ガ型カウンタ(以下、CNTと称す)100は、カウン
トアツプとカウントダウンが可能な4ビツトのカウンタ
である。カウントアツプ端’7−tJpとカウントダウ
ン端7− D OW Nの入力でカウンタ100のカウ
ントアツプとダウンが指示される。端γ=xypの入力
信号WEが“】nで、かつ端子D OW Nの人力信号
RRE Qが“0”のとき、カウンタ100は、クロッ
ク端、7− G Kに入力されるクロック信号Tの立ち
上りで、61″だけカウントアツプする。端子TJ I
)の入力信号WEが“0”で、端子DOWNの入力信号
RREQが“1”のとき、同様に“1”だけカウントダ
ウンする0両人力がともに0”か1″の時にカウントア
ツプもダウンもしないカウンタである。 CNT100(714ビツト出力RE Q CN Tは
4本のデータ線101に出力される。CNT100値は
書込まれたがまだ読出されていないデータの個数を示し
ている。C:NT100は、入力データの個数がO〜8
までの9種類分記憶できるように4ビツトカウンタで閘
成されている。CNT100はリセット端子Rに入力さ
れる初期値設定信号5TARTでリセットされる。CN
’l’lOOの4ピッ1−の出力は、オワゲート1.0
4に人力され。 各ビットのオワがとられその結果が信号線105に出力
される。オワゲート104の出力がOでないときは、バ
ンク47,48に書込まれてまだ読み出されていないデ
ータがあることを示す。 CNT109は、2進3ビツトカウンタであり、リセッ
ト端子■くに入力される初期値設定信号S ’l’ A
RTでリセットされ、カウントアツプ端子tJ [1
の人力信号RREQが“1”のとき、クロック端子AC
Kに入力されるクロック信号Tの立ち」;りのタイミン
グでカウントアツプされる。 2進3ビツトのCNT 109の値は、読出しアドレス
を示している。CNT109はカウンタ値の上位2ビツ
トをバンク読み出しアドレスRA Hとしてアドレス線
99に出力し、下位1ビツトを読出すべきバンクの偶奇
を示す信号RALとじて信号線111に出力する。 112は今読み出すべきバンクと、モード指定信号SW
が読み出しを指定しているバンクと一致しているかどう
か検出するためのFORゲートである。CNT109の
最下位ビット信号RA Lが“0″のとき、偶数バンク
47が今読み出すべきバンクであり、また信号SWが1
111#のとき、この偶数バンク47がRモードとなる
。(i号RALが“1”のとき、奇数バンク48が読み
出すべきバンクであり、また信号SWが“O”のとき、
この奇数バンク48がRモードとなる。したがって。 EORゲート112は信号RAL、およびSWが、“0
”および“1″、または1”および“O”のとき“1”
を出力し、それ以外のとき、aO″を出力するという条
件を満足している。アンドゲート106により0、信号
線105,113の信号の論理積がとられる。したがっ
て、アンドゲート106の出力である読み出し許可信号
ROKが“1”となるときは、バンク47.48に書込
まれたデータでまだ読み出されていないデータがあリ、
かつ、読み出すべきデータがあるバンクが読み出しモー
ドになっている条件が成立したときのみである。それ以
外のときは# Q PIとなる。信号RO’には前述し
たようにF i F Oメモリからデータの読み出しが
可能なことを知らせる信号である。 R制御回路の動作を、第6図のタイムチャートの動作例
に基づいて説明する。信号線15から入力される読出し
要求信号RRE Qは、信号ROKが111”の時のみ
“1″なることが外部の回路で保証されている。たとえ
ば、第1図のパイプライン制御論理回路3が保証する。 また、一連の読出し要求に先立つ信号5TARTにより
、CNT100.109が“Q IFに初期設定される
点はW制御と同じである。 0番目の書込みデータが偶数バンク47に書込まれるサ
イクルOでは、信号WEは“1”となりCNT100が
クロック信号′l゛の次の立」−りでカウントアツプし
、サイクル■ではその出力RE Q CN Tは“00
012”となり、オワゲート104は11 :l II
を信号線105に出力しまだ読出されていないデータが
バンクに存在することを示す、一方サイクル■では信号
SWはu 、171であり偶数バンクの47がRモード
であることをEORゲート1】2が検出し、91″を信
号線113に出力する。2つの条件が成〃したことをア
ンドゲート106が判定して信号ROKとして°″1′
′を信号線13上に出力する。 第6図の例ではこの応答として外部からの信号RRI”
:Qが“1″となる場合を示している。信号線15」;
の信号RT< E Qが1”のときは、CN’l’ 1
09をカウントアツプする。サイクル■では、同時に1
番目の書込みを示す信号SWが1nとなるため、CNT
100はカウント動作を実行しない0次のサイクル■で
も出力信号 1、< 1≦QCNTは“00012”のまま保持され
、読出されていないデータが1個存在することを示す、
サイクルのでは、CN”l”LO9の上位2ビツトの出
力信号RA I−IはOO”であり、データ線99を経
由して第2図の選択回路45に送られる。このサイクル
では信号SWが“1”であり。 選択回路45内のセレクタ451は信号RAHを選択し
てバンク47のアドレス端子ATに送出する。一方、第
2図中のアンドゲート441は、信号SWが“1″のた
め信号WEEを“0”とする。 信号WE)Σが“0″であるため、バンク47は読出し
動作を信号AP二の示す“00”番地に対して実行し、
直前のサイクルで書込まれた0番目のデータの内容を信
号I) OEとしてデータm471に出力する。第2図
中のセレクタ491は、信号SWが“1”であるので、
信号[)OEを選択して信号T< I) A TAとし
てデータ線10に出力する。 以上の動作により、サイクル■中にO#目のデータが信
号R1,) A T Aに出力される。 1番目と2番目のデータの読出しも信号SWの値と使用
されるバンクの偶奇を除いては、同じ動作を行なう。 3#目のデータの書込みは2番目のデータ書込み完了後
、さらに3サイクル後に実行されている。 そのため、2番目のデータを読出すサイクル■では、信
号RREQが“1″でかつ信号WEが“0”となってい
るのでCNT100がカウンタダウンされ、次のサイク
ル■では信号REQCNTは“o o O02”となり
、信号ROKがII 0 +7となり、信号RREQ=
“1″が入力されないはずであり、3番目のデータに対
する読出し動作は実行されない。3番目の書込み要求信
号WREQに応答して信号WEが“1”となるサイクル
の次のサイクル■では、信号REQCNTが“0001
□′となり信号ROKが“1″となる。 しかし、第6図の動作例では別の外部の要因により信号
RRE Qが“O”になったままの場合を示している。 次のサイクル■では、信号SWが1となり3番目のデー
タの格納されている奇数バンク48がRモードではない
ので信号ROKはj(OPIとなる。このサイクルでは
、CNT1.00の値はrCL前のサイクルで4番目の
書込みを反映して”0010g”になっている。次のサ
イクル■では、信号SWが“0″なので信号ROKが“
1″となり信号RREQとして“1″が入力される例示
されている。このサイクル■では、信号T< 1!:
Q CN ’1’は“00112”にまで増加している
。 以下、4番目から7番目までのデータが連続して読出さ
れている例が示されている。サイクル12で最後の7番
目のデータが信号RI) A T Aとして送出されて
いる。サイクルOからサイクル12までの13サイクル
の間に8個の書込み要求と8個の読出し要求がこのFi
FOメモリでは処理されている。特にサイクル■からサ
イクル■までの4サイクルの間には4個の書込み要求と
4個の読出し要求が各サイクルに各々1個ずつ並列に処
理され、このFiFOメモリの最大処理能力が発揮され
ている。 第7図に1本発明の一実施例として上述のT’ i F
Oメモリを仲立として複数の演算器をプログラムから
の指示により動的に結合したデータ処理装置の構成を示
したものである。第6図までに説明した。FiFOメモ
リを使用することにより間欠的に書込みデータが発生し
ても正しく演算器から演算器にデータを転送する機能が
実現されている。 パイプライン方式の演算ユニット901゜902.90
3とFiFOメモリ921,922゜923.924,
925との間に分配論理回路91】と912が介在する
6分配論理回路911゜912は、各ユニットの入力元
と出力先にそれぞれ外部からの指示によりFiFOメモ
リを割当てる機能を持つ。分配論理回路911,91.
2は複数個の多入力セレクタ群からなり、公知のもので
ある。たとえば、ある時点ではユニット903の入力と
してはF i F Oバッファ921の出力を分配論理
回路912は選択し、ユニット903の出力はFiFO
メモリ922の入力となる様に分配論理回路911が選
択することができ、別の時点ではユニット903の入力
としてF’ i F Oメモリ923、出力としては、
FiFOメモリ924を選択する様に動的な再構成が可
能である。分配論理回路911,912は、セレクタを
多数個を使用して構成することができる。 なお、FiFOメモリ921.・・・・・・、925の
各構成は第2図の?’ i F Oメモリの回路41を
除いたもので構成されており1回路41に相当するもの
は1回路41と同じ構成の回路910として設けられ、
各F i F○メモリ921.・・・・・・。 925間で共用されている。 第7図の演算ユニットには、四則演算を実行する算術演
算ユニットだけでなく、多量のデータを記憶することが
可能な記憶制御ユニットであってもよい。 〔発明の効果〕 以」−説明した様に本発明によれば、同時動作可能な複
数の演算器および複数の記憶装置を動的に結合し、かつ
有効なデータが間欠に出力されても後続の演算器に正し
いデータを有効データとして後続の演算器に人力でき、
かつ各記憶装置では、芹込みと読出しの一方を大きく遅
延することなく実行することができるデータ処理装置を
提供することが可能である。
第1図はFiFOメモリが適用された従来のパイプライ
ン方式の演算処理装置のブロック図、第2図は本発明で
使用するF’ i F Oメモリのブロック図、第3図
(A)はバンクの動作モードを指定するモード指定回路
の一例を示す回路図、第3図(B)は指定信号SWによ
って指定される各バンクのモードを示す図、第4図はバ
ンクの書込みを制御するW制御回路の一例を示す回路図
、第5図はバンクの読出しを制御するR制御回路の一例
を示す回路図、第6図はFiF○メモリの動作を説明す
るためのタイムチャート、第7図は1本発明の一実施例
であるパイプライン方式のデータ処理装置のブロック図
である。 41・・・モード指定回路、47・・・偶数バンク、4
8・・・奇数バンク、100・・・書き込み読み出し制
御回路。
ン方式の演算処理装置のブロック図、第2図は本発明で
使用するF’ i F Oメモリのブロック図、第3図
(A)はバンクの動作モードを指定するモード指定回路
の一例を示す回路図、第3図(B)は指定信号SWによ
って指定される各バンクのモードを示す図、第4図はバ
ンクの書込みを制御するW制御回路の一例を示す回路図
、第5図はバンクの読出しを制御するR制御回路の一例
を示す回路図、第6図はFiF○メモリの動作を説明す
るためのタイムチャート、第7図は1本発明の一実施例
であるパイプライン方式のデータ処理装置のブロック図
である。 41・・・モード指定回路、47・・・偶数バンク、4
8・・・奇数バンク、100・・・書き込み読み出し制
御回路。
Claims (1)
- 【特許請求の範囲】 1、それぞれが一群のデータを保持するための、それぞ
れ複数のデータバンクからなる複数の記憶手段と、 順次入力されるデータに対して演算をそれぞれ行い、演
算結果に対応するデータを新たな入力データの受信と並
行して出力する複数の演算手段と、 選択された第1の記憶手段から読み出された一群のデー
タを順次少くとも一つの選択された演算手段に供給し、
該選択された演算手段から出力される一群のデータを選
択された第2の記憶手段に順次供給するように該複数の
記憶手段と該複数の演算手段とを命令に応答して選択的
に接続する選択手段と、 該選択された第1の記憶手段に保持された一群のデータ
を、あらかじめ定められたメモリバンクの順序に従い順
次異なるデータバンクから読み出すように該第1の記憶
手段を制御し、該選択された演算手段から出力される一
群のデータを、該第2の記憶手段にあらかじめ定められ
たデータバンクの順序に従い順次異なるデータバンクに
書き込むように該第2の記憶手段を制御する手段を有し
、該制御手段は該第1の記憶手段から次に読み出すべき
データがすでにそこに存在するか否かに応じてそのデー
タの読出しを制御し、各記憶手段について、データを次
に書き込むべきバンクとデータを次に読み出すべきバン
クが同一のときには、書き込みおよび読み出しの一方が
該同一バンクに対して遅らせて行なわれるように制御す
ることを特徴とするデータ処理装置。 2、該制御手段は該書き込みおよび読出しの内の遅延さ
れた一方を次のマシーンサイクルに実行するものである
特許請求の範囲第1項記載のデータ処理装置。 3、該制御手段は、各記憶手段ごとに設けられ、各記憶
手段の複数のメモリバンクに順次読出しアドレス供給す
る読出アドレス発生手段と、各記憶手段ごとに設けられ
、各記憶手段内の複数のメモリバンクに順次書込みアド
レスを供給する書込アドレス発生手段を有する特許請求
の範囲第1項のデータ処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2750788A JPS63197274A (ja) | 1988-02-10 | 1988-02-10 | データ処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2750788A JPS63197274A (ja) | 1988-02-10 | 1988-02-10 | データ処理装置 |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59208256A Division JPS60167029A (ja) | 1984-10-05 | 1984-10-05 | デ−タ処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS63197274A true JPS63197274A (ja) | 1988-08-16 |
Family
ID=12223050
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2750788A Pending JPS63197274A (ja) | 1988-02-10 | 1988-02-10 | データ処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS63197274A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009223398A (ja) * | 2008-03-13 | 2009-10-01 | Omron Corp | 産業用コントローラ |
-
1988
- 1988-02-10 JP JP2750788A patent/JPS63197274A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009223398A (ja) * | 2008-03-13 | 2009-10-01 | Omron Corp | 産業用コントローラ |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4433394A (en) | First-in first-out storage and processing unit making use thereof | |
| EP0248906A1 (en) | Multi-port memory system | |
| 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 | |
| EP0132926B1 (en) | Parallel processor | |
| US5212773A (en) | Wormhole communications arrangement for massively parallel processor | |
| US5008815A (en) | Parallel processor | |
| US4128880A (en) | Computer vector register processing | |
| US4412286A (en) | Tightly coupled multiple instruction multiple data computer system | |
| TW202040369A (zh) | 矩陣正規/轉置讀取及包含矩陣正規/轉置讀取的可重配置資料處理器 | |
| JPH02503244A (ja) | メッセージパケットのルーティング方法とその装置 | |
| US5392442A (en) | Data-driven processor having an output unit for providing only operand data in a predetermined order | |
| US4459681A (en) | FIFO Memory device | |
| US5987586A (en) | Method and apparatus for asynchronous device communication | |
| US4521874A (en) | Random access memory device | |
| JP5549442B2 (ja) | Fft演算装置 | |
| US5115393A (en) | Vector processor performing data operations in one half of a total time period of write operation and the read operation | |
| JPS5925316B2 (ja) | メモリ・アレイ | |
| US5396460A (en) | FIFO memory in which number of bits subject to each data read/write operation is changeable | |
| JPS63197274A (ja) | データ処理装置 | |
| JPS60167029A (ja) | デ−タ処理装置 | |
| JPH0256048A (ja) | データ転送方法及びデータバッファ装置 | |
| JPH01162294A (ja) | ダイナミックram | |
| JP3107595B2 (ja) | メモリアクセス制御装置及びメモリアクセス制御方法 | |
| US4270186A (en) | Multiple generator block replicate bubble memory device | |
| JP4524724B2 (ja) | 入出力装置 |