JPS6214855B2 - - Google Patents

Info

Publication number
JPS6214855B2
JPS6214855B2 JP59208256A JP20825684A JPS6214855B2 JP S6214855 B2 JPS6214855 B2 JP S6214855B2 JP 59208256 A JP59208256 A JP 59208256A JP 20825684 A JP20825684 A JP 20825684A JP S6214855 B2 JPS6214855 B2 JP S6214855B2
Authority
JP
Japan
Prior art keywords
data
signal
bank
write
storage means
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP59208256A
Other languages
English (en)
Other versions
JPS60167029A (ja
Inventor
Shunichi Torii
Shigeo Nagashima
Koichiro Omoda
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP59208256A priority Critical patent/JPS60167029A/ja
Publication of JPS60167029A publication Critical patent/JPS60167029A/ja
Publication of JPS6214855B2 publication Critical patent/JPS6214855B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、複数の演算器を書込みが間欠に行な
われても正しく読出しが可能なフアーストイン・
フアーストアウト記憶装置(以下FiFOメモリと
称する)により選択的に結合可能なデータ処理装
置に関する。
ここで、FiFOメモリとは書き込んだ情報のう
ち最初に書き込んだ情報、すなわち、最も古い情
報から順番に、読み出せる記憶装置と定義する。
〔発明の背景〕
複数の演算器を同時に動作させることによる高
速なデータ処理装置に関する先行技術としては、
例えば、米国特許4128880に開示されている様
に、演算器の間をベクトルレジスタを仲立ちとし
て選択的に結合する方法がある。
チエイニングと呼ばれるこの方法では、ある演
算器が休みなく連続して有効なデータを出力し、
別の演算器も休みなく連続して有効なデータを入
力することを前提としている。しかしながら、記
憶装置からデータを取込む場合の様にデータが間
欠的に転送される場合には正しく動作しない。す
なわち、まだ書込まれていないデータについても
誤つて読出してしまう危険性を有している。
〔発明の目的〕
本発明の目的は、複数の演算器を選択的に結合
して同時動作させ、演算器からデータが間欠的に
出力されても正しいデータを有効データとして後
続の演算器に入力することができるデータ処理装
置を提供することである。
〔発明の概要〕
このような目的を達成するために、本発明で
は、それぞれが一群のデーを保持し、読出し動作
と書き込み動作が並列に実行可能な複数の記憶手
段と、 順次入力されるデータに対して演算をそれぞれ
行い、演算結果に対応するデータを新たな入力デ
ータの受信と並行して出力する複数の演算手段
と、 選択された第1の記憶手段から読み出された一
群のデータを順次少くとも一つの選択された演算
手段に供給し、該選択された演算手段から出力さ
れる一群のデータを選択された第2の記憶手段に
順次供給するように該複数の記憶手段と該複数の
演算手段とを命令に応答して選択的に接続する選
択手段と、 該選択された第1の記憶手段に保持された一群
のデータを、あらかじめ定められた記憶位置の順
序に従い順次読み出すように該第1の記憶手段を
制御し、該選択された演算手段から出力される一
群のデータを、該第2の記憶手段にあらかじめ定
められた記憶位置の順序に従い書き込むように該
第2の記憶手段を制御する手段であつて、該第1
の記憶手段から次に読み出すべきデータがすでに
そこに存在するか否かを検出し、そのデータが存
在しないときには、そのデータの読出しを禁止す
るための検出・禁止手段を有する制御手段とから
なることを特徴とする。
〔発明の実施例〕
以下、本発明を実施例により詳細に説明する。
最初に本発明で使用するFiFOメモリの構成と機
能を明確化するために第1図以下を用いて演算器
間をFiFOメモリを仲立として固定的に結合した
場合のデータ処理装置の構成と動作をFiFOメモ
リを中心に説明し、最後に第7図の用いて本発明
の実施例であるプログラムからの指示により前述
のFiFOメモリを仲立として選択的に結合できる
データ処理装置の構成を説明する。
近年、第1図に示すように、パイプライン方式
の演算処理装置に、FiFOメモリが適用されるよ
うになつてきた。同図において、一点鎖線で囲つ
たパイプライン方式の演算ユニツト1は、パイプ
ライン演算器2およびこの演算器を制御するため
のパイプライン制御論理回路3からなり、演算ユ
ニツト4と5からデータ線30と31を経由した
入力データ(1ビツトまたは複数ビツトデータ)
を受取り、別の演算ユニツト6にデータ線32を
経由して演算結果を送出する。FiFOメモリ2
0,21,22は入力データと演算結果にバツフ
アとして、ユニツト間に設けられている。つま
り、演算ユニツト4からの入力データ(ユニツト
4から見れば、ユニツト4の演算結果)はデータ
線30からFiFOメモリ20に入力された後、デ
ータ線10を経由してユニツト1中のパイプライ
ン演算器2に入力される。FiFOメモリ21と2
2も同様であり、データ線11と12が使用され
る。
この様なFiFOメモリをバツフアとして使用し
た場合の利点は、次の2点である。
(1) 演算ユニツト4と5からの入力データの途切
れ対策。第1図で示した様な多入力のパイプラ
イン演算器2では、同一番号を持つた多数個の
入力データの対は同時に入力される必要がある
のが一般的である。ここで、演算ユニツト4か
らのある番号の入力データは到着したが、別の
演算ユニツト5からの対応する同一番号の入力
データが何らかの要因により、到着が遅れた場
合を考える。FiFOメモリ20は、データ線3
0を経由して各サイクルに送出されてくるデー
タを受付けながら、データ線10を経由してユ
ニツト1に送出するデータを、他のユニツト5
からの入力データの到着するまで遅らせるため
に使用される。この間、パイプライン演算器2
には無効なデータが入力され、対応する演算結
果も無効なものが出力されるが、パイプライン
制御論理回路3がこの無効な出力が他のユニツ
ト6に送出されない様に制御している。
(2) ユニツト6の受付け拒否対策。ユニツト6は
データ線32からのデータの受付けを拒否する
場合がある。FiFOメモリ22は、データ線1
2を経由するパイプライン演算器2からの演算
結果を一時的にバツフアリングし、ユニツト6
の受付けが可能になるまでデータを待たせるた
めに使用される。
この様に、上記のデータの途切れ現象が発する
場合には、パイプライン演算器を有するユニツト
間に、FiFOメモリを設けることが有効である。
このFiFOメモリに必要とされる機能は次の点で
ある。
(A) パイプラインのピツチ時間内に、読み出しと
書き込みが同時に可能であること。
(B) 書き込まれたデータを短時間に読み出せるこ
と。
従来は、この様な高速なFiFOメモリの記憶
素子としては、ゲートを組合せたフリツプフロ
ツプ(以下、FFと称する)又はラツチ、一般
のメモリ素子(1つのメモリサイクルには1回
の読み出しまたは1回の書き込みが可能)のい
ずれかを用いる場合が多かつた。前者は、充分
に高速ではあるが、大容量のFiFOメモリを構
成するためにはゲート数が莫大になる欠点を有
する。一方、一般のメモリ素子では上記(A)の機
能を満足するために、パイプラインのピツチ時
間内に、2回のメモリサイクルを実行させる必
要がある。しかし、現在のパイプライン技術を
メモリ素子の高速化技術からでは、パイプライ
ンピツチ時間の半分で、一回のメモリサイクル
を実行できる大容量のメモリ素子を入手するこ
とは困難である。
本発明で使用するFiFOメモリは、書き込み
および読み出し可能な複数個のデータバンク
と、上記複数個のデータバンクを繰り返して書
き込みモードに指定するモード指定手段と、受
信データを上記書き込みモードに指定されたデ
ータバンクに書き込み、かつ、上記書き込みモ
ードに指定されていないデータバンクからデー
タを読み出して受信した順番通りにデータを出
力する書き込み読み出し制御手段とを備えた点
に特徴がある。
第2図は、本発明で使用するFiFOメモリの全
体ブロツク構成図である、このFiFOメモリは、
第1図のFiFOメモリ20,21,22のいずれ
にも適用可能である。
第2図において、47,48はデータバンク
(以下、単にバンクと称する)であり、互に独立
に書き込みおよび読み出しができるものであり、
各データバンク47,48は1個のランダムアク
セスメモリ(以下、RAMと称する)からなる。
なお、バンクは2個以上あればよい。
なお、各バンクは必要とする容量とワード構成
に応じて、複数個のRAMにより構成る場合があ
るのはいうまでもない。
外部から送られてくるデータは、送られてきた
順番に従い、バンク47,48に書き込まれる。
たとえば、最初に送られてきた0番のデータはバ
ンク47に、その次に送られてきた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は
“0”,“1”,“0”“1”,……と一定の周期で
“0”,“1”を繰り返えして出力する。モード指
定回路41の出力が“0”のとき、偶数バンク4
7がWモードとなり、奇数バンク48がRモード
となる。回路41の出力が“1”のとき、“0”
のときとは逆に、偶数バンク47がRモードとな
り、奇数バンク48がRモードとなる。したがつ
て、バンク47,48は各時点において互にモー
ドが異なるように、RモードとWモードのモード
指定を一定の周期で繰返し、モード指定回路41
により、受けている。
100は、回路42〜46,49からなる、バ
ンク47,48の書き込み・読み出し制御回路で
ある。回路100は、偶数番のデータが入力され
たとき、偶数バンク47がWモードであれば、偶
数バンク47にこのデータをただちに書き込む。
偶数バンク47がWモードでなければ、すなわ
ち、Rモードであれば、Wモードになるまで待
ち、Wモードになつた時点でこのデータを書き込
む。奇数番のデータの書き込みについても、同様
である。
また、回路100は、読み出し要求があり、今
度、読み出すべきデータが偶数バンク47に書き
込まれているとき、偶数バンク47がRモードで
あれば偶数バンク47からただちに読み出す。偶
数バンク47がWモードあれば、Rはモードにな
るまで待ち、Rモードになつた時点で読み出す。
この第2図のFiFOメモリの構成により書き込
みと同時に読み出しが可能となる。たとえば、偶
数バンク47にデータを書き込むと同時に、奇数
バンク48らデータを読み出すことができる。第
2図において、太線の信号線は多数本からなる信
号線を表わす。
次に、このFiFOメモリの動作について説明す
る。
第2図において、書き込み要求を受信する(書
き込み要求が到着する)時には、信号線33上の
書き込み要求指示信号WREQが“1”であり、
データ線30上のデータ信号WDATAの値が書き
込みデータである。信号WREQとWDATAは、
第1の外部装置、たとえば演算ユニツト4から、
書き込み制御回路42(以下W制御回路と呼ぶ)
に入力される。W制御回路は、信号WREQに基
づき、書き込み要求の到着を検出し、書き込みデ
ータを信号WDATAから受信し、また到着する書
き込み要求の到着番号を検出する手段を有する。
書き込み要求の到着番号がN番目であることを検
出したとしよう。Nが偶数であるか奇数であるか
より、書き込むべきデータバンクが偶数バンクで
あるか奇数バンクであるかが決定される。一方、
前述のモード指定回路41の出信号SWがWモー
ドのバンクを指定するから、Nの偶奇により決定
されるデータバンクと、信号SWがWモードに指
定するデータバンクが一致した時、W制御回路4
2はNの2進表現における下位ビツトを除く上位
ビツトの値により決定されるアドレスを信号線9
3上の信号WAHに出力し、信号線93上の書き
込み指示信号WEに“1”を出力し、偶数バンク
への書き込みデータは信号線82上の信号SDRE
に出力し、奇数バンクへの書き込みデータは信号
線83上の信号SDROに出力する。書き込み要求
が到着した時、上記バンクの一致が成立しない可
能性がある場合には、書き込み要求の存在と書き
込みデータを上記バンクの一致が成立するまで記
憶するる手段が必要である。その手段の詳細な実
施例は、第4図を用いて後述する。信号線39を
介して入力される初期値設定信号STARTによ
り、W制御回路42は後述するように初期状態に
設定される。
一点鎖線で囲まれた回路44は、モード指定信
号SWと書き込み許可信号WEに対答して、信号
線59,58を介して書き込み指令信号WEE,
WEOをバンク47,48にそれぞれ出力する書
き込み信号作成回路である。回路44のアンドゲ
ート441は、信号SWが“0”でかつ信号WE
が“1”である条件を満すときのみ、書き込み指
令信号WEEの“1”を偶数バンク47に出力す
る。このようにして、偶数バンク47がWモード
で(信号WEが“0”で)かつ今書き込むべきデ
ータが存在する時(信号WEが“1”の時)偶数
バンク47に書き込み指令信号WEEに“1”が
出力される。アンドゲート442は、信号SWが
1でかつ信号WEが“1”である条件を満すとき
のみ、書き込み指令信号WEOに“1”を奇数バ
ンク48に出力する。このようにして、奇数バン
ク48がWモードで(信号SWが“1”で)かつ
今書き込むデータが存在する時(信号WEが
“1”の時)奇数バンク48への書き込み指令信
号WEOに“1”が出力される。アンドゲート4
41の入力の片側につけられた丸印は入力信号の
反転を行なうことを示す。
選択回路45はモード指定信号SWに応答し
て、前述の書き込みアドレスWAHをバンク4
7,48のいずれかに選択出力するように動作す
る。回路45はセレクタ451,452からな
る。セレクタ451は、モード指定信号SWが
“0”のとき、前述の書き込みアドレス信号WAH
と後述する読み出しアドレス信号RAHのうち、
信号WAHを信号線57に選択出力する。したが
つて、偶数バンク47が書き込みモードにあると
き(信号SWが“0”のとき)、書き込みアドレ
スWAHが抜数バンク47に出力される。信号
SWが“1”のとき、セレクタ52は後述する読
み出しアドレスRAHを偶数バンク47に選択出
力する。セレクタ452は、信号SWが“0”の
とき、後述する読み出しアドレスRAHを信号線
56に選択出力し、信号SWが“1”のとき、書
き込みアドレスWAHを信号線56に選択出力す
る。したがつて、奇数バンク48には、奇数バン
ク48が書き込みモードにあるとき(信号SWが
“1”のとき)、書き込みアドレスWAHが出力さ
れる。セレクタ451,452と後述する46
1,491は、上から印加される信号SWが
“0”の時、左上からの入力(セレクタ451で
は、アドレス線93からの入力)を選択し、信号
SWが“1”の時、左下からの入力(セレクタ4
51では、アドレス線99からの入力)を選択し
て右の出力線(451では信号線57)に出力す
る機能を有している。
選択回路46は信号SWにに応答して前述の偶
数バンク用書き込みデータ信号SDREと奇数バン
ク用書き込みデータ信号SDROを選択出力するも
のであり、セレクタ461からなる。セレクタ4
61は、信号SWが“0”のとき、信号線82を
選択し、データ信号SDRE信号線54,55に出
力する。信号SWが“1”のとき、信号線83を
選択し、データ信号SDROを信号線54,55に
出力する。したがつて、偶数バンク47がWモー
ドのとき(信号SWが“0”のとき)、バンク4
7および48に、偶数バンク用書き込みデータ信
号SDREが印加される。
したがつて、偶数番目の書き込み要求がFiFO
メモリに到着すれば、偶数バンクがWモードのと
き、偶数バンク47の書き込み端子WETには、
信号“1”が入力され、アドレス端子ATには前
述の書き込みアドレス信号WAHが入力され、デ
ータ端子DITにはこのデータ信号SDREが入力さ
れ、偶数バンク用書き込みデータ信号SDREが偶
数バンク47に書き込まれる。ところが、前述し
たように、偶数バンク47がWモードのとき(信
号SWが“0”のとき)、奇数バンク48はRモ
ードとなり信号SWが“0”のため、アンドゲー
ト442の出力である書き込み指令信号WEOは
“0”となり、奇数バンクバンク48の書き込み
が禁止されるので奇数バンク48に偶数バンク用
書き込みデータSDREが書き込まれることはな
い。
奇数バンク48がWモードのとき(信号SWが
“1”のとき)、バンク47および48に、奇数バ
ンク用書き込みデータ信号SDROが印加される。
しかし、上述と同じ理由で、偶数バンク47には
このデータ信号SDROが書き込まれることなく、
奇数バンク48にこのデータ信号SDROが書き込
まれる。
なお、セレクタ461の代りに、信号線82と
55とを結線し、信号SDREが偶数バンク47に
常に印加するようにし、かつ、信号線83と54
とを結線し、信号SDROが奇数バンク48に常に
印加するようにしてもよい。ただし、セレクタ4
61を用いた方が、信号線55と54を共通化す
ることができ、バンク47,48とW制御回路4
2間の信号線の配線が簡便となる。
このようにして、0番のデータは偶数バンク4
7の0番地に、1番のデータは奇数バンク48の
0番地に2番のデータは偶数バンク47の1番地
に、3番のデータは偶数バンク48の1番地に、
……というように、データは、何ら外部からアド
レスを指定しなくても受信した順番に従いバンク
47,48に交互に繰返して自動的に書き込まれ
る。
なお、バンク47,48は、次の入出力端子を
有している。WETは書込み指令信号入力端子で
あり、偶数バンク47への書込み指令信号WEE
又は奇数バンク48への書込み指令信号WEOが
端子WETに入力される。ATはメモリアドレス入
力端子であり、偶数バンク47へのメモリアドレ
スAE又は奇数バンク48へのメモリアドレス
AOが端子ATに入力される。DITは書込みデータ
入力端子であり、データ信号DIE又はDIOが端子
DITに入力される。
DOTは読出しデータ出力端子であり、偶数バ
ンク47の端子DOTから読出しデータDOEがデ
ータ線471に出力され、奇数バンク48の端子
DOTから読出しデータDOOがデータ線481に
出力される。端子WETの入力が“1”のとき、
バンク47,48はデータ端子DITのデータをア
ドレス入力端子ATに入力されるアドレス信号が
示すアドレス番地にストアする。端子WETの入
力が“0”のとき、バンク47,48はアドレス
入力端子に入力されるアドレス信号が示す番地に
ストアされているデータを読み出す。第2図に示
さなかたバンク47,48の他の入出力端子とし
ては、電源端子、チツプセレクト端子、出力エネ
ブル端子などがある。
以上で、書き込みの動作説明が終つたので、次
に読み出しの動作説明をする。
読み出し制御回路(以下、R制御回路と称す
る)43は、外部からの初期値設定信号START
により、後述するように初期設定がされている。
R制御回路43は、後述するように、これからバ
ンク47,48の読み出すべきアドレスRAを記
憶している。アドレスRAは、後述する読み出し
要求信号RREQによつて、“1”だけカウントア
ツプされる。読み出しアドレス信号RAHは、ア
ドレスRAを2進ビツトで表わしたとき、下位1
ビツトを除くビツトの信号であり、R制御回路4
3から信号線99に出力される。また、回路43
は書き込まれたデータのうち、まだ読み出されて
いないデータの個数Mを記憶している。個数M
は、書き込み許可信号WEが“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の最下位ビツトが
“0”が“1”かで検出される。
信号線99の読み出しアドレス信号RAHは、
前述したセレクタ451,452に印加され、モ
ード指定信号SWが“0”か“1”かによつて、
セレクタ451,452からバンク47,48の
アドレス端子ATに印加される。すなわち、信号
SWが“0”のときは奇数バンク48が読み出し
モードとなつており、セレクタ452を介して読
み書しアドレス信号PAHが奇数バンク48に出
力される。信号SWが“1”のときは偶数バンク
47が読み出しモードとなつており、セレクタ4
51を介して読み出しアドレス信号RAHが偶数
バンク47に出力される。このように、読み出し
モードになつているバンクに、読み出しアドレス
信号RAHは印加される。
したがつて、読み出しモードになつているバン
ク内の、読み出しアドレス信号RAHにより指定
される番地から読み出すべきデータが出力端子
DOTに出力される。
セレクタ491からなる選択回路49は、読み
出しモードにあるバンクの出力を選択的に信号線
10に出力するものである。モード指定信号SW
が“0”のとき奇数バンク48が読み出しモード
にあり、奇数バンク48から読み出されたデータ
信号DOOをセレクタ491は信号線10に選択
出力する。この信号が読み出しデータ信号
RDATAとして外部の装置に送られる。モード指
定信号SWが“1”のとき偶数バンク47が読み
出しモードにあり、偶数バンク47から読み出さ
れたデータ信号DOEをセレクタ491は選択し
て、第2の外部装置に信号線10を介して、出力
する。もちろん、バンク47,48の出力端子
DOTに結線論理が許されれば、バンク47,4
8のチツプセレクト端子や出力エネブル端子の入
力を制御することにより、データ線471とデー
タ線481を結合ただけ、選択回路491に相当
する機能を実現することもできる。
なお、第2の外部装置、たとえばパイプライン
演算ユニツトは、信号ROKが“1”であり、か
つ、自己が読み取り可能のとき、信号RDATA取
り込み、読出しデータを受取ることを示すため、
信号RREQを“1”としてR制御回路43に出力
する。R制御回路は、信号RREQが“1”の時次
のサイクルでは読出しアドレスRAを1つ増加し
た状態にする。
このようにして、偶数バンク47の0番地のデ
ータ、奇数バンク48の0番地のデータ、偶数バ
ンク47の1番地のデータ、奇数バンク48の1
番地のデータ、……というように、バンク47,
48に書き込んだもつとも古いデータから、古い
順に順次、バンク47,48に書き込まれたデー
タが読み出される。したがつて、第2図のFiFO
メモリは、いわゆるフアーストインフアーストア
ウトのメモリ機能を有している。また、以上説明
したように各バンクごとに独立にモード指定がな
されているため、偶数バンク47にデータを書き
込んでいるとき、同時に、奇数バンク48から書
き込まれたデータを読み出すことと、偶数バンク
47から書き込まれたデータを読み出し、同時
に、奇数バンク481にデータを書き込むことが
できる。すなわち、書き込みと読み出しとを同時
に実行することができる。
第1図に示した構成において、第2図のFiFO
メモリを20,21として使用しているので、
FiFOメモリ20と21における信号SWは同期
化しておく必要がある。なぜならばパイプライン
演算器2では、2つの入力データの番号はデータ
が正しく入力されるサイクルでは常に等しいこと
が一般的であり、20と21での信号SWの値が
異なつていると、常に片側FiFOメモリからは読
み出し不可となり、両者が同時に読み出し可とな
らぬため一つも演算が開始できなくなる。これを
避けるためには、全装置内のすべてのFiFOメモ
リ中の信号SWが常に同一の値となる様な構成と
しても良い。たとえば、一つのFiFOメモリ20
のSW信号を他のFiFOメモリ21でも共有すれ
ば良い。第2図では、FiFOメモリ22に関して
は、演算ユニツト6への入力がFiFOメモリ22
以外にないので、信号SWに関する同期は不要で
ある。
次に、モード指定回路41、W制御回路42、
R制御回路43について、さらに具体的に、第3
図A、第4図、第5図を用いて説明する。
回路41,42,43は、一相のクロツク信号
Tで動作しこのクロツクの周期が、パイプライン
演算器のピツチであると同時に、メモリ素子のメ
モリサイクル時間になつている。第6図の下に示
したごとく、各サイクルにからまでの番号を
付けて説明する。各サイクルはTの立上りからの
次のTの立上りまでと考える。
特記しない限り、フリツプフロツプ(以下、
FFと称す。)と同期型カウンタ(以下、CNTと
称す)はクロツク入力信号Tの立上りで動作する
エツヂトリガタイプである。
図中の左右の信号線の端子での一重丸は、
FiFOメモリ内部のインタフエイス信号を示し、
二重丸はFiFOメモリ外部とのインタフエイス信
号であることを示す。
ここでは最大8個までの入力データを記憶でき
るFiFOメモリとして以下の説明を行なう。この
構成では、バンク47と48は各々4個のデータ
を格納可能なメモリ容量があれば良い。また、信
号WAHの信号93、信号RAHの信号線99、信
号AEの信号線57、信号AOの信号線も2ビツ
トのアドレス線で良い。
第3図Aから第5図までに示した回路41,4
2,43はすべてクロツク信号Tに同期した同期
式回路である。以下の説明では次の2点を仮定す
る。(1)ゲートの遅延時間やFFとCNTの遅延時間
がクロツク信号Tのサイクル時間に比較して充分
に小さい。(2)クロツク信号Tで動作すFFやCNT
の出力を同じクロツク信号Tで動作する次段の
FFやCNTに入力しても誤動作しない。
上記(2)の仮定は「あるサイクルでの前段のFF
の値が、次のサイクルでの後段のFFの値を決定
し、同一サイクル中に前段のFFの値が、後段の
FFの値に影響を与えることが無い」ということ
である。上記(1)仮定が満されない場合には、使用
するバンクを含めた詳細な遅延時間の算定と検討
が必要であり、上記(2)の仮定が満さない場合に
は、クロツク信号の2相化等の対策が必要である
ことは、同期式回路であれば当然である。
第3図Aはモード指定回路41の回路図であ
る。FF50の反転出力端子の出力がFF50の
入力端子Dに入力されている。FF50のクロツ
ク端子には、メモリサイクル、すなわち、パイプ
ラインピツチ毎に“1”となるクロツク信号Tが
印加されている。FF50の出力端子Qからの信
号が前述のモード指定信号SWとなる。今、FF5
0の内部状態が“1”とする。このときの端子
の出力“0”が入力端子Dに入力される。クロツ
ク信号Tの1回目の立ち上りで、FF50は、端
子Qの出力“0”を取り込み、FF50の内部状
態は“1”から“0”にに変化する。このとき、
端子の出力も“0”から“1”に変化する。し
たがつて、入力端子Dの入力も“1”となる。ク
ロツク信号Tの2回目の立ち上りで、FF50
は、端子Dの入力“1”を取り込み、FF50の
内部状態は再び“1”に戻る。このように、クロ
ツク信号Tの立ち上り時点で、FF50の内部状
態は“0”,“1”の反転を繰り返す。したがつ
て、FF50の出力端子Qの出力である信号SWも
クロツク信号Tの立ち上りに応答して“0”,
“1”の反転を繰返す。このようすを第6図のタ
イムチヤートのTとSWに示す。信号SWの役割
は前述したようにバツクの動作モードを指定する
ことにある。
第3図Bはモード指定信号SWによつて指定さ
れる偶数バンク47、奇数バンク48の各モード
を示したものである。
なお、モード指定回路は、 (1) 前述した複数個のFiFOメモリ間の同期化を
はかるため、モード指定回路を1つ設けて、そ
れを共用してもよい。
(2) 8個の書き込みデータがすべて到着しバンク
上での読み出しと書き込みが競合する可能性が
無くなつた時、次に読出したい側のバンクを常
に選択できる様に信号SWを変更する回路を設
けてもよい。
第4図は、W制御回路42の回路図である。
(3) 書き込みと読み出しが競合しない条件下で
は、到着するデータの偶奇とWモードに指定す
るバンクの偶奇と常に一致する様に、信号SW
を変更する回路を設けても良い。
第4図は、W制御回路42の回路図である。
まず最初に、第4図のCNTとFFの役割と主要
なゲートの機能を説明し、次に第6図のタイムチ
ヤートに従つてその動作例を説明する。CNT6
2は前述したエツジトリガタイプの同期型カウン
タであり出力のビツト数が1ビツトである。
CNT64をエツジトリガタイプ3ビツトの同期
型カウンタである。端子upはカウントアツプ指
示入力端子であり、端子Rは内容をゼロクリアす
るためのリセツト端子、端子CKはクロツク端子
Tの入力端子、端子Qはカウンタ内容の出力端子
である。カウントアツプ動作は、端子upの入力
信号が“1”の状態で、端子CKに印加されるク
ロツク信号Tが“0”から“1”へ立上がる時点
で実行される。端子upの入力信号が“0”の状
態ではCNTの値は不変である。FF63は、エツ
ヂトリガタイプのFFであり、前述のカウンタと
同じく端子CKに印加されるクロツク信号の立上
がりで出力端子Qの値が変化する。
CNT62は、外部からの信号STARTでリセツ
トされ、外部からの書き込み要求信号WREQが
到着するサイクルの終り(クロツク信号Tの立上
り)でカウントアツプされ、その出力WCNTは
そのサイクルで到着する書き込み要求(書き込み
要求信号WREQと書き込みデータWDATA)が
奇数バンク48に対するものか偶数バンク47に
対するものかを示す。つまり、出力WCNTの
“0”は偶数バンク47への書き込み要求を意味
し、“1”は奇数バンク48への書き込み要求を
意味する。CNT62のもう1つの出力信号
WCNTは出力信号WCNTの逆極性信号になつて
いる。
CNT64は、外部からの信号STARTでリセツ
トされ、いずれかのバンクへの書込みが実行され
るサイクル(WEが“1”であるサイクル)の終
りでカウントアツプされる。CNT64の出力が
前記WAであり、その上位2ビツト出力WAH
は、バンクの書込みアドレスを示し、その下位1
ビツトの出力WALは書込みバンクの偶奇を示
す。つまり、CNT64の出力が“0002”(添字の
2は2進数を示す。以下同じ)であれば、W制御
回路42は偶数バンク47の002番地を書込み先
として指示することになる。CNT64の出力が
“0012”であれば、奇数バンク48の002番地を指
示し、“0102”であれば、偶数バンクの“012”番
地を指示している。実際にバンクで書込みを実行
するためには、後述する書込み許可信号WEが
“1”でなければいけない。
あるサイクルで信号WREQが“1”であれ
ば、そのサイクルに書込み要求はW制御回路42
に到着している。書込むべきデータ信号は、その
サイクルでの信号WDATAである。つまり、対応
する信号WREQと信号号WDATAは同一サイク
ルでW制御42に到着する。
第3図Bに示す様に、あるサイクルにおいて信
号SWの値により、偶数バンク47か奇数バンク
48の片方がWモードに指定される。一方、外部
からW制御回路42に到着する書込み要求は、信
号SWの値とは独立に到着する。従つて、W制御
回路42では、次の2種数の書込み動作手順のい
ずれかを到着する各々の書込み要求と対応して実
行する。
(a) 要求が到着したサイクルと同一サイクルに、
バンクへの書込みが実行される。ある要求が到
着し、かつ、到着した要求の番号の偶奇(すな
わち書込み先のバンクの偶奇)と要求が到着し
たサイクルでのWモード状態にあるバンクの偶
奇が一致した時、(a)の書込み動作手順が実行さ
れる。以下直接書込手順と呼ぶ。
(b) 要求が到着したサイクルの次のサイクルに、
バンクへの書込みが実行される。ある要求が到
着し、かつ到着した要求の番号の偶奇と、要求
が到着したサイクルでのWモード状態にあるバ
ンクの偶奇が一致しない時、ロの書込み動作手
順が実行される。以下遅延書込みと呼ぶ。
第4図の排他的論理和(以下EORと称す)ゲ
ート69は、到着する要求の番号の偶奇とWモー
ドのバンクの偶奇の不一致を認識する。つまり、
あるサイクルで信号線88上のEORゲート69
の出力が“0”であれば、偶奇が一致しており、
要求が到着した場合には直接書込み手順を実行す
べきである。また、EORゲート69の出力が
“1”であれば、偶奇が一致しておらず、要求が
到着した場合には遅延書込み手順を実行すべきで
ある。アンドゲート69と68はそれぞれ、直接
書込み手順の実行と遅延書込み手順の実行を認織
する。アンドゲート69の入力端子の片方に付け
られた丸印は、第2図のアンドゲート441と同
様に、入力信号の反転を示している。つまり、ア
ンドゲート69の出力が“1”となる必要十分条
件は、信号線33上の信号WREQが“1”であ
り、かつ、信号線88上の信号が“0”であるこ
とである。
信号線90上のアンドゲート69の出力が
“1”であれば、アオゲート70を経由して信号
線91上の書込み許可信号WEが“1”となり、
書込み要求が到着したサイクルに、バンクへの書
込みが実行される。これが、直接書込み動作の実
行である。
信号線89上のアンドゲート68の出力が
“1”であれば、FF63には端子Dより“1”が
入力され次のサイクルでは、信号線86上のFF
63の出力信号WREQDLが“1”となり、オア
ゲート70を経由して信号WEが“1”となり、
書込み要求が到着した次のサイクルに、バンクで
の書込みが実行される。これが、遅延書込み手順
の実行である。FF63は、遅延書込み手順で実
行すべき書込み要求が到着したことを記憶し、次
のサイクルにバンクの書込みを指示する。
信号WEが“1”の時、偶数バンク47か奇数
バンク48において書込みが実行される。書込み
先のバンクの偶奇は、信号SWと信号WALのいず
れによつても知ることができる。第2図に示され
た実施例では、信号SWを書込み先バンクの偶奇
の選択信号として使用していることは前述した。
書込み指示信号WREQについては、その値が
この様にW制御回路42に到着したサイクル中に
信号WEとして伝えられる場合と、一時記憶され
て次のサイクルに信号WEとして伝えられる場合
とがあると考えることができる。書込みデータ信
号WDTAについても、その値が直接用いられる
場合と次のサイクルまで記憶されなければならな
い場合とがある。信号WDATAも信号WREQと
同様に、2組のアンドゲート群(アンドゲート6
8と69に相当)FF群(FF63に相当)とOR
ゲート群(ORゲート70に相当)を用いて上記
2つの場合の動作を実現することもできる。しか
し、第4図では2群のラツチを用いる別の方式を
示した。
ラツチ60と61は、前述したエツヂトリガタ
イプのFFとは動作が異なり、入力端子CKからの
クロツク信号が“1”の状態では、入力端子Dか
らの入力内容がただちに出力端子Qからの出力と
なり、クロツク信号が“1”から“0”に立下が
つた時入力端子Dからの入力内容が保持され(保
持する動作をラツチ動作と呼ぶ)、保持された内
容は再びクロツク信号が“0”から“1”に立上
がるまでの間出端子Qから出力される。
ラツチ60は、偶数番目の書込みデータ(偶数
バンク47への書込みデータ)を一時的に保持す
るために用いられ、ラツチ61は奇数番目の書込
みデータ(奇数バンク48への書込みデータ)を
一時的に保持するために用いられる。偶数番目の
書込み要求が到着したサイクルを考えてみると、
信号が“1”であるので、ラツチ60の
出力信号SDREには信号WDATAの内容がそのま
ま出力され、次にサイクルに移る時信号
が“1”から“0”に立下がり信号WDATAの内
容が保持され、次のサイクルでも信号SDREの内
容は前のサイクルと同一である。つまり偶数番目
の書込み要求が到着しサイクルに偶数バンク47
で書込みが実行される場合にも、到着した次のサ
イクルに書込みが実行される場合でも、信号
SDREの内容は正しい偶数番目の書込みデータの
内容である。
ラツチ61とその出力信号SDROも、ラツチ6
1へのクロツク信号が信号WCNTである点を除
き同一の構成であり、信号SDROの内容が正しい
奇数バンクへの書込みデータの内容である。
次に、第6図のタイムチヤートに示した動作例
に基づいて、FiFOメモリ20の書込み動作につ
いて説明する。到着する書込み要求には、0番目
から7番目までの番号付けが行なわれそれぞれ偶
数バンク47の0番地、奇数バンク48の0番
地、偶数バンクの1番地の順に、奇数バンクの3
番地までに書込まれる。
第6図には示されていないが、一連の書込み動
作に先立つ、信号STARTの“1”のパルスによ
り、CNT62とCNT64は“0”にリセツトさ
れている。FF63も、リセツト端子Rに信号
STARTの“1”のパルスが入力されるので同様
にリセツトされ、最初の書込み要求が偶数番目で
あることを示す。
第6図の動作例では、0番目から2番目までの
書込み要求に対しては直接書込み手順が実行さ
れ、3番目と4番目の要求に対しては遅延書込み
手順が実行され、5番目から7番目の要求に対し
ては直接書込み手順が実行される。
最初に、サイクルに0番目の書込み要求が到
着する。信号線33上の信号WREQとデータ線
30上の信号WDATAがW制御回路42に入力さ
れる。つまり、WREQが“1”であり、信号
WDATAの内容は0番目の書込みデータである。
サイクルではまだ信号WCNTが“0”であ
り、第6図の例では信号SWが“0”つまり偶数
バンクがWモードであることを示しているので、
EORゲート67の出力は“0”であり、アンド
ゲート68の出力が“0”となり、アンドゲート
90の出力が“1”となり、オアゲート70の出
力信号WEが“1”となる。信号WEが“1”の
サイクルでは、第2図に示した様に信号SWによ
りWモードに指定されたバンクにおいて書込みが
実行される。つまり、第2図のアンドゲート44
1により、信号線59上の信号WEEが“1”と
なり、偶数バンク47における書込み動作が指示
される。
次に書込みアドレスについて説明する。第4図
のCNT64が信号STARTによりセツトされた後
CNT64の出力は、サイクルでも“0002”の
ままであり、その上位2ビツト出力である信号
WAHも“002”としてアドレス線93に出力され
る。第2図において偶数バンク47へのメモリア
ドレス信号AEの内容を決定するセレクタ451
は、信号SWが“0”なのでアドレス線93上の
書込みアドレス信号WAHを選択しアドレス線5
7に信号WAHを出力する。以上により、サイク
ルでは偶数バンク47のアドレス端子ATに正
しいアドレスである“002”が入力される。奇数
バンク48にはセレクタ452の働きにより、信
号RAHがアドレス端子ATに入力されるが、アン
ドゲート442の働きにより信号WEOが“0”
なので、誤まつた書込みが実行されることは無
い。
次に書込みデータについて説明する。第4図に
おいてサイクルでは信号が“1”なの
で、ラツチ60はデータ線30上の0番目の要求
と対応する信号WDATAをただちにデータ線82
上に信号SDREとして出力する。第2図のセレク
タ461は、信号SWが“0”なのでデータ線8
2上の信号SDREを、データ線55に出力する。
つまり、サイクルでは、0番目の書込みデータ
信号WDATAが正しく偶数バンク47のデータ入
力端子DITに入力される。第2図の実施例では奇
数バンク48のデータ入力端子DITにも0番目の
書込みデータが入力されるが、アンドゲート44
2の働きにより信号WEOが“0”であることが
保証されるので、誤まつた書込みが実行されるこ
とは無い。
サイクルにも1番目の書込み要求が到着し、
かつサイクルの中にバンクへの書込みが実行され
るが、書込み先が奇数バンク48である点がサイ
クルと異なる。つまり、第2図において信号
SWが“1”なので、信号WEEは“0”であり、
信号WEOは“1”である。信号WAHの値がセレ
クタ452により選択されて信号AOとして出力
され、信号SDROの値がセレクタ461により選
択されて信号DIOとして出力される。第4図の3
ビツトのCNT64の値は、サイクルからサイ
クルに移る時、サイクルで信号WEが“1”
なので“0012”に増加する。CNT62の出力信
号WCNTとWCNTも、サイクルで信号WREQ
が“1”なのでサイクルではそれぞれ“1”と
“0”に反転している。サイクルでもアンドゲ
ート68の出力が“0”なので、FF63の出力
WREQDLは、サイクルにおいても“0”のま
まである。サイクルで信号のWDATAの内容は
ラツチ60に保持されており、サイクルでも信
号SDERとして出力されているが使用されない。
サイクルには2番目の要求が到着し、サイク
ル中に偶数バンク47に書込まれる。サイクル
において信号WEが“1”なので、CNT64の
出力がサイクルでは“0102”となり、2番目の
書き込み要求データ信号WDATAが偶数バンク4
7の1番目に書込まれる。
第6図のタイムチヤートでは、3番目の書込み
要求がサイクルではなくサイクルに到着した
場合の動作例を示している。サイクルでは、到
着する要求は奇数番目であり、かつ奇数バンク4
8はWモードでないので、次のサイクルにおい
て3番目の書込み要求が奇数バンク48で実行さ
れる。第4図において、サイクルでは、信号
WCNTが“1”でありかつ信号SWが“0”であ
る。EORゲート67とANDゲート68と69に
働きにより信号線89上の信号が“1”となり信
号線88上の信号が“0”となる。FF63は、
入力信号端子Dに“1”が入力されるので、次の
サイクルで初めて“1”を信号WREQDLに出
力する。バンク書込み許可信号WEは、サイクル
では“0”であり、サイクルで3番目の書込
みを指示するために“1”となる。この動作は、
前述した遅延書込み手順である。
書込みアドレスWAを作成するCNT64は、サ
イクルとではWEが“0”なのでサイクル
からまで同一の値“0112”を保持しており、サ
イクルでは奇数バンクメモリ48にメモリアド
レスとして正しい値である。“012”が入力され
る。
次に、書込みデータについて説明する。サイク
ルに3番目の書込みデータ信号WDATAが到着
する。ラツチ61のクロツク信号となる信号
WCNTがサイクルでは“1”、サイクルでは
“0”となるので、ラツチ61の出力信号SDRO
の内容は、サイクルだけでなくサイクルでも
サイクルの信号WDATAの内容と同一である。
したがつて、サイクルにおいて奇数バンク4
8に3番目の要求の書込みデータを正しく入力す
ることができる。
第4図のW制御回路42では、奇数バンク48
が3番目の書込み要求をサイクルでは実行でき
ないが、次のサイクルでは実行できることを仮
定している。つまり、サイクルで信号SWが
“0”であれば、次のサイクルでは信号SWが
“1”となることを、SWの周期性から予測して
いる。
4番目の書込み要求も、偶数バンク47がWモ
ードでない時(サイクル)に到着するので一サ
イクル遅れて偶数バンク47に書込まれる。
5番目の要求は、偶数バンク48がWモードの
時(サイクル)に到着するので、0番目,1番
目,2番目の要求と同様に、直ちに偶数バンク4
8に書込まれる。すなわち対応する信号WREQ
と信号WEが同一サイクルに“1”となる直接
書込み手順で実行される。
8個の書込要求をバンクに一回書込む毎に、3
ビツトのカウンタCNT64はカウントアツプさ
れ、その出力は“0002”から“1112”まで増加す
る。サイクル10には“0002”に戻るかもしれな
いが、8番目の書込み要求が外部から到着しない
ので、偶数バンク47の002番地の内容が破壊さ
れることは無い。
第5図は、R制御回路43の回路図である。エ
ツジトリガ型カウンタ(以下、CNTと称す)1
00は、カウントアツプとカウントダウンが可能
な4ビツトのカウンタである。カウントアツプ端
子UPとカウントダウン端子DOWNの入力でカウ
ンタ100のカウントアツプとダウンが指示され
る。端子UPの入力信号WEが“1”で、かつ端
子DOWNの入力信号RREQが“0”のとき、カ
ウンタ100は、クロツク端子CKに入力される
クロツク信号Tの立ち上りで、“1”だけカウン
トアツプする。端子UPの入力信号WEが“0”
で、端子DOWNの入力信号RREQが“1”のと
き、同様に“1”だけカウントダウンする。両入
力がともに“0”か“1”の時にはカウントアツ
プもダウンもしないカウンタである。CNT10
0の4ビツト出力REQCNTは4本のデータ線1
01に出力される。CNT100の値は書込まれ
たがまだ読出されていないデータの個数を示して
いる。CNT100は、入力データの個数が0〜
8までの9種類分記憶できるように4ビツトカウ
ンタで構成されている。CNT100はリセツト
端子Rに入力される初期値設定信号STARTでリ
セツトされる。CNT100の4ビツトの出力
は、オワゲート104に入力され、各ビツトのオ
ワがとられその結果が信号線105に出力され
る。オワゲート104の出力が0でないときは、
バンク47,48に書込まれてまだ読み出されて
いないデータがあることを示す。CNT109
は、2進3ビツトカウンタであり、リセツト端子
Rに入力される初期値設定信号STARTでリセツ
トされ、カウントアツプ端子UPの入力信号
RREQが“1”のとき、クロツク端子CKに入力
されるクロツク信号Tの立ち上りのタイミングで
カウントアツプされる。
2進3ビツトのCNT109の値は、読出しア
ドレスを示している。CNT109はカウンタ値
の上位2ビツトをバンク読み出しアドレスRAH
としてアドレス線99に出力し、下位1ビツトを
読出すべきバンクの偶奇を示す信号RALとして
信号線111に出力する。
112は今読み出すべきバンクと、モード指定
信号SWが読み出しを指定しているバンクと一致
しているかどうか検出するためのEORゲートで
ある。CNT109の最下位ビツト信号RALが
“0”のとき、偶数バンク47が今読み出すべき
バンクであり、また信号SWが“1”のとき、こ
の偶数バンク47がRモードとなる。信号RAL
が“1”のとき、奇数バンク48が今読み出すべ
きバンクであり、また信号SWが“0”のとき、
この奇数バンク48がRモードとなる。したがつ
て、EORゲート112は信号RALおよびSWが、
“0”および“1”、または“1”および“0”の
とき“1”を出力し、それ以外のとき、“0”を
出力するという条件を満足している。アンドゲー
ト106により、信号線105,113の信号の
論理積がとられる。したがつて、アンドゲート1
06の出力である読み出し許可信号ROKが
“1”となるときは、バンク47,48に書込ま
れたデータでまだ読み出されていないデータがあ
り、かつ、読み出すべきデータがあるバンクが読
み出しモードになつている条件が成立したときの
みである。それ以外のときは“0”となる。信号
ROKは前述したようにFiFOメモリからデータの
読み出しが可能なことを知らせる信号である。
R制御回路の動作を、第6図のタイムチヤート
の動作例に基づいて説明する。信号線15から入
力される読出し要求信号RREQは、信号ROKが
“1”の時のみ“1”なることが外部の回路で保
証されている。たとえば、第1図のパイブライン
制御論理回路3が保証する。また、一連の読出し
要求に先立つ信号STARTにより、CNT100,
109が“0”に初期設定される点はW制御と同
じである。
0番目の書込みデータが偶数バンク47に書込
まれるサイクルでは、信号WEは“1”となり
CNT100がクロツク信号Tの次の立上りでカ
ウントアツプし、サイクルではその出力
REQCNTは“00012”となり、オワゲート104
は“1”を信号線105に出力しまだ読出されて
いないデータがバンクに存在することを示す。一
方サイクルでは信号SWは“1”であり偶数バ
ンクの47がRモードであることをEORゲート
112が検出し、“1”を信号線113に出力す
る。2つの条件が成立したことをアンドゲート1
06が判定して信号ROKとして“1”を信号線
13上に出力する。
第6図の例ではこの応答として外部からの信号
RREQが“1”となる場合を示している。信号線
15上の信号RREQが“1”のときは、CNT1
09をカウントアツプする。サイクルでは、同
時に1番目の書込みを示す信号WEが“1”とな
るため、CNT100はカウント動作を実行しな
い。次のサイクルでも出力信号REQCNTは
“00012”のまま保持され、読出されていないデー
タが1個存在することを示す。サイクルでは、
CNT109の上位2ビツトの出力信号RAHは
“00”であり、データ線99を経由して第2図の
選択回路45に送られる。このサイクルでは信号
SWが“1”であり、選択回路45内のセレクタ
451は信号RAHを選択してバンク47のアド
レス端子ATに送出する。一方、第2図中のアン
ドゲート441は、信号SWが“1”のため信号
WEEを“0”とする。信号WEEが“0”である
ため、バンク47は読出し動作を信号AEの示す
“00”番地に対して実行し、直前のサイクルで書
込まれた0番目のデータの内容を信号DOEとし
てデータ線471に出力する。第2図中のセレク
タ491は、信号SWが“1”であるので、信号
DOEを選択して信号RDATAとしてデータ線10
に出力する。以上の動作により、サイクル中に
0番目のデータが信号RDATAに出力される。
1番目と2番目のデータの読出しも信号SWの
値と使用されるバンクの偶奇を除いては、同じ動
作を行なう。
3番目のデータの書込みは2番目のデータ書込
み完了後、さらに3サイクル後に実行されてい
る。そのため、2番目のデータを読出すサイクル
では、信号RREQが“1”でかつ信号WEが
“0”となつているのでCNT100がカウンタダ
ウンされ、次のサイクルでは信号REQCNTは
“00002”となり、信号ROKが“0”となり、信
号RREQ=“1”が入力されないはずであり、3
番目のデータに対する読出し動作は実行されな
い。3番目の書込み要求信号WREQに応答して
信号WEが“1”となるサイクルの次のサイクル
では、信号REQCNTが“00012”となり信号
ROKが“1”となる。しかし、第6図の動作例
では別の外部の要因により信号RREQが“0”に
なつたままの場合を示している。次のサイクル
では、信号SWが1となり3番目のデータの格納
されている奇数バンク48がRモードではないの
で信号ROKは“0”となる。このサイクルで
は、CNT100の値は直前のサイクルで4番目
の書込みを反映して“00102”になつている。次
のサイクルでは、信号SWが“0”なので信号
ROKが“1”となり信号RREQとして“1”が
入力される例示されている。このサイクルで
は、信号REQCNTは“00112”にまで増加してい
る。
以下、4番目から7番目までのデータが連続し
て読出されている例が示されている。サイクル
で最後の7番目のデータが信号RDATAとして送
出されている。サイクルからサイクルまでの
13サイクルの間に8個の書込み要求と8個の読出
し要求がこのFiFOメモリでは処理されている。
特にサイクルからサイクルまでの4サイクル
の間には4個の書込み要求と4個の読出し要求が
各サイクルに各々1個ずつ並列に処理され、この
FiFOメモリの最大処理能力が発揮されている。
第7図に、本発明の一実施例として上述の
FiFOメモリを仲立として複数の演算器をプログ
ラムからの指示により動的に結合したデータ処理
装置の構成を示したものである。第6図までに説
明した、FiFOメモリを使用することにより間欠
的に書込みデータが発生しても正しく演算器から
演算器にデータを転送する機能が実現されてい
る。
パイプライン方式の演算ユニツト901,90
2,903とFiFOメモリ921,922,92
3,924,925との間に分配論理回路911
と912が介在する。分配論理回路911,91
2は、各ユニツトの入力元と出力先にそれぞれ外
部からの指示によりFiFOメモリを割当てる機能
を持つ。分配論理回路911,912は複数個の
多入力セレクタ群からなり、公知のものである。
たとえば、ある時点ではユニツト903の入力と
してはFiFOバツフア921の出力を分配論理回
路912は選択し、ユニツト903の出力は
FiFOメモリ922の入力となる様に分配論理回
路911が選択することができ、別の時点ではユ
ニツト903の入力としてFiFOメモリ923、
出力としてはFiFOメモリ924を選択する様に
動的な再構成が可能である。分配論理回路91
1,912は、セレクタを多数個を使用して構成
することができる。
なお、FiFOメモリ921,……,925の各
構成は第2図のFiFOメモリの回路41を除いた
もので構成されており、回路41に相当するもの
は、回路41と同じ構成の回路910として設け
られ、各FiFOメモリ921,……,925間で
共用されている。
第7図の演算ユニツトには、四則演算を実行す
る算術演算ユニツトだけでなく、多量のデータを
記憶することが可能な記憶制御ユニツトであつて
もよい。
〔発明の効果〕
以上説明した様に本発明によれば、同時動作可
能な複数の演算器および記憶制御装置を動的に結
合し、かつ有効なデータが間欠に出力されても後
続の演算器に正しいデータを有効データとして後
続の演算器に入力するデータ処理装置を提供する
ことが可能である。
【図面の簡単な説明】
第1図はFiFOメモリが適用された従来のパイ
プライン方式の演算処理装置のブロツク図、第2
図は本発明で使用するFiFOメモリのブロツク
図、第3図Aはバンクの動作モードを指定するモ
ード指定回路の一例を示す回路図、第3図Bは指
定信号SWによつて指定される各バンクのモード
を示す図、第4図はバンクの書込みを制御するW
制御回路の一例を示す回路図、第5図はバンクの
読出しを制御するR制御回路の一例を示す回路
図、第6図はFiFOメモリの動作を説明するため
のタイムチヤート、第7図は、本発明の一実施例
であるパイプライン方式のデータ処理装置のブロ
ツク図である。 41……モード指定回路、47……偶数バン
ク、48……奇数バンク、100……書き込み読
み出し制御回路。

Claims (1)

  1. 【特許請求の範囲】 1 それぞれが一群のデータを保持し、読出し動
    作と書き込み動作が並列に実行可能な複数の記憶
    手段と、 順次入力されるデータに対して演算をそれぞれ
    行い、演算結果に対応するデータを新たな入力デ
    ータの受信と並行して出力する複数の演算手段
    と、 選択された第1の記憶手段から続み出された一
    群のデータを順次少くとも一つの選択された演算
    手段に供給し、該選択された演算手段から出力さ
    れる一群のデータを選択された第2の記憶手段に
    順次供給するように該複数の記憶手段と該複数の
    演算手段とを命令に応答して選択的に接続する選
    択手段と、 該選択された第1の記憶手段に保持された一群
    のデータを、あらかじめ定められた記憶位置の順
    序に従い順次読み出すように該第1の記憶手段を
    制御し、該選択された演算手段から出力される一
    群のデータを、該第2の記憶手段にあらかじめ定
    められた記憶位置の順序に従い書き込むように該
    第2の記憶手段を制御する手段であつて、該第1
    の記憶手段から次に読み出すべきデータがすでに
    そこに存在するか否かを検出し、そのデータが存
    在しないときには、そのデータの読出しを禁止す
    るための検出・禁止手段を有する制御手段とから
    なるデータ処理装置。 2 該制御手段は、 各記憶手段ごとに設けられ、該検出・禁止手段
    の制御のもとで、各記憶手段から一群のデータを
    順次読み出す読出制御手段であつて、各記憶手段
    内の記憶位置に対するアドレスをあらかじめ定め
    られた順序で発生する読出カウンタを有するもの
    と、 各記憶手段ごとに設けられ、各記憶手段へ供給
    される一群のデータを順次書き込む書込制御手段
    であつて、各記憶手段内の記憶位置に対するアド
    レスをあらかじめ定められた順序で発生する書込
    カウンタを有するものと、 からなる第1項のデータ処理装置。 3 該検出・禁止手段は、選択された該第1の記
    憶手段に書き込まれたデータの数とそこからすで
    に読み出されたデータの数との差から次に読み出
    すべきデータがすでにそこに存在するか否かを検
    出する手段を有する第1項又は第2項のデータ処
    理装置。 4 該検出・禁止手段は、読み出し用に選択され
    た一対の記憶手段の一方および他方に、次に読み
    出すべき一対のデータの一方および他方がそれぞ
    れすでに存在するかを検出し、該一対のデータの
    いずれか一方が存在しないことが検出されたとき
    に、該一対のデータの読み出しを禁止する手段を
    有する第1項のデータ処理装置。 5 該検出・禁止手段は、各記憶手段ごとに設け
    られた読出制御手段と書込制御手段にそれぞれ接
    続され、各記憶手段ごとに、そこから次に続み出
    すべきデータがすでに存在するか否かを検出する
    複数の検出手段を有する第2項のデータ処理装
    置。 6 該検出・禁止手段は該複数の検出手段の内、
    読出し用に選択された記憶手段に対して設けられ
    た検出手段からの、次に読み出すべきデータが存
    在しないことを示す検出結果に応答して、該選択
    された記憶手段からの、該データの読み出しを禁
    止する禁止手段を有する第5項のデータ処理装
    置。 7 該禁止手段は、読み出し用に選択された一対
    の記憶手段に対してそれぞれ設けられた一対の検
    出手段のいずれかからの、次に読み出すべき一対
    のデータの一方あるいは他方のデータが存在しな
    いことを示す検出結果に応答して、該一対の記憶
    手段からの該一対のデータの読み出しを禁止する
    手段を有する第6項のデータ処理装置。 8 該検出手段の各々は、対応する記憶手段にす
    でに書き込まれたデータの数とそこから読み出さ
    れたデータの数の差から、次に読み出すべきデー
    タの存在を検出する手段である第5項のデータ処
    理装置。
JP59208256A 1984-10-05 1984-10-05 デ−タ処理装置 Granted JPS60167029A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59208256A JPS60167029A (ja) 1984-10-05 1984-10-05 デ−タ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59208256A JPS60167029A (ja) 1984-10-05 1984-10-05 デ−タ処理装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP55129326A Division JPS6057090B2 (ja) 1980-09-19 1980-09-19 データ記憶装置およびそれを用いた処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2750788A Division JPS63197274A (ja) 1988-02-10 1988-02-10 データ処理装置

Publications (2)

Publication Number Publication Date
JPS60167029A JPS60167029A (ja) 1985-08-30
JPS6214855B2 true JPS6214855B2 (ja) 1987-04-04

Family

ID=16553228

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59208256A Granted JPS60167029A (ja) 1984-10-05 1984-10-05 デ−タ処理装置

Country Status (1)

Country Link
JP (1) JPS60167029A (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5492143A (en) * 1977-12-29 1979-07-21 Fujitsu Ltd Control system for pipeline arithmetic unit
JPS5692672A (en) * 1979-12-26 1981-07-27 Fujitsu Ltd Vector operation processor

Also Published As

Publication number Publication date
JPS60167029A (ja) 1985-08-30

Similar Documents

Publication Publication Date Title
US4809161A (en) Data storage device
US4862419A (en) High speed pointer based first-in-first-out memory
US4222102A (en) Data buffer memory of the "first-in, first-out" type, comprising a variable input and a variable output
US6259648B1 (en) Methods and apparatus for implementing pseudo dual port memory
JP2020509524A (ja) 書き込みバイパス部を備えたメモリ回路
US7069406B2 (en) Double data rate synchronous SRAM with 100% bus utilization
US5396460A (en) FIFO memory in which number of bits subject to each data read/write operation is changeable
KR20020052669A (ko) 선입 선출 메모리 및 이 메모리의 플래그 신호 발생방법
US5201058A (en) Control system for transferring vector data without waiting for transfer end of the previous vector data
JPH04105149A (ja) メモリアクセス装置
US5845312A (en) System for accessing dynamic random access memory where the logic/control circuit temporarily stops upon word line switching
JPS63197274A (ja) データ処理装置
JPS60167029A (ja) デ−タ処理装置
JPH0256048A (ja) データ転送方法及びデータバッファ装置
JP3107595B2 (ja) メモリアクセス制御装置及びメモリアクセス制御方法
JPH01119823A (ja) 先入れ先出し記憶装置
JPS599944B2 (ja) デ−タ処理装置
JPS5849960B2 (ja) 情報チエツク方式
JPH1131066A (ja) バッファ制御システム
JPS6080193A (ja) メモリシステム
KR100326264B1 (ko) 동작속도를개선하기위한선입선출회로
JP2991845B2 (ja) Atmバッファ
JPH0242893A (ja) 時分割スイッチ
JPS6232552A (ja) 記憶装置
JPH0542010B2 (ja)