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
Links
Landscapes
- Advance Control (AREA)
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、複数の演算器を書込みが間欠に行な
われても正しく読出しが可能なフアーストイン・
フアーストアウト記憶装置(以下FiFOメモリと
称する)により選択的に結合可能なデータ処理装
置に関する。[Detailed Description of the Invention] [Field of Application of the Invention] The present invention provides a first-in method capable of correctly reading data even when writing to a plurality of arithmetic units is performed intermittently.
The present invention relates to a data processing device that can be selectively combined with a first-out storage device (hereinafter referred to as FiFO memory).
ここで、FiFOメモリとは書き込んだ情報のう
ち最初に書き込んだ情報、すなわち、最も古い情
報から順番に、読み出せる記憶装置と定義する。 Here, the FiFO memory is defined as a storage device that can read information in order from the first written information, that is, the oldest information.
複数の演算器を同時に動作させることによる高
速なデータ処理装置に関する先行技術としては、
例えば、米国特許4128880に開示されている様
に、演算器の間をベクトルレジスタを仲立ちとし
て選択的に結合する方法がある。
Prior art related to high-speed data processing devices that operate multiple arithmetic units at the same time includes:
For example, as disclosed in US Pat. No. 4,128,880, there is a method of selectively coupling computing units using a vector register as an intermediary.
チエイニングと呼ばれるこの方法では、ある演
算器が休みなく連続して有効なデータを出力し、
別の演算器も休みなく連続して有効なデータを入
力することを前提としている。しかしながら、記
憶装置からデータを取込む場合の様にデータが間
欠的に転送される場合には正しく動作しない。す
なわち、まだ書込まれていないデータについても
誤つて読出してしまう危険性を有している。 In this method, called chaining, a certain arithmetic unit outputs valid data continuously without interruption.
It is assumed that other arithmetic units also input valid data continuously without interruption. However, it does not operate correctly when data is transferred intermittently, such as when reading data from a storage device. That is, there is a risk that data that has not yet been written may be read by mistake.
本発明の目的は、複数の演算器を選択的に結合
して同時動作させ、演算器からデータが間欠的に
出力されても正しいデータを有効データとして後
続の演算器に入力することができるデータ処理装
置を提供することである。
An object of the present invention is to selectively combine a plurality of arithmetic units and operate them simultaneously, so that even if data is intermittently output from the arithmetic units, correct data can be input to subsequent arithmetic units as valid data. The purpose of the present invention is to provide a processing device.
このような目的を達成するために、本発明で
は、それぞれが一群のデーを保持し、読出し動作
と書き込み動作が並列に実行可能な複数の記憶手
段と、
順次入力されるデータに対して演算をそれぞれ
行い、演算結果に対応するデータを新たな入力デ
ータの受信と並行して出力する複数の演算手段
と、
選択された第1の記憶手段から読み出された一
群のデータを順次少くとも一つの選択された演算
手段に供給し、該選択された演算手段から出力さ
れる一群のデータを選択された第2の記憶手段に
順次供給するように該複数の記憶手段と該複数の
演算手段とを命令に応答して選択的に接続する選
択手段と、
該選択された第1の記憶手段に保持された一群
のデータを、あらかじめ定められた記憶位置の順
序に従い順次読み出すように該第1の記憶手段を
制御し、該選択された演算手段から出力される一
群のデータを、該第2の記憶手段にあらかじめ定
められた記憶位置の順序に従い書き込むように該
第2の記憶手段を制御する手段であつて、該第1
の記憶手段から次に読み出すべきデータがすでに
そこに存在するか否かを検出し、そのデータが存
在しないときには、そのデータの読出しを禁止す
るための検出・禁止手段を有する制御手段とから
なることを特徴とする。
In order to achieve such an object, the present invention includes a plurality of storage means each holding a group of data and capable of performing read and write operations in parallel, and a plurality of storage means capable of performing operations on sequentially input data. a plurality of arithmetic means for performing respective calculations and outputting data corresponding to the arithmetic results in parallel with reception of new input data; the plurality of storage means and the plurality of calculation means so as to sequentially supply the data to the selected calculation means and sequentially supply the group of data output from the selected calculation means to the selected second storage means; a selection means selectively connected in response to a command; and a selection means configured to sequentially read out a group of data held in the selected first storage means according to a predetermined order of storage locations. means for controlling said second storage means to write a group of data outputted from said selected calculation means in said second storage means in accordance with a predetermined order of storage positions; Then, the first
control means having a detection/inhibition means for detecting whether data to be read next from the storage means already exists therein, and prohibiting reading of the data when the data does not exist; It is characterized by
以下、本発明を実施例により詳細に説明する。
最初に本発明で使用するFiFOメモリの構成と機
能を明確化するために第1図以下を用いて演算器
間をFiFOメモリを仲立として固定的に結合した
場合のデータ処理装置の構成と動作をFiFOメモ
リを中心に説明し、最後に第7図の用いて本発明
の実施例であるプログラムからの指示により前述
のFiFOメモリを仲立として選択的に結合できる
データ処理装置の構成を説明する。
Hereinafter, the present invention will be explained in detail with reference to Examples.
First, in order to clarify the configuration and functions of the FiFO memory used in the present invention, the configuration and operation of a data processing device when arithmetic units are fixedly coupled using the FiFO memory as an intermediary will be explained using Figure 1 and the following diagrams. The FiFO memory will be mainly explained, and finally, using FIG. 7, the configuration of a data processing device according to an embodiment of the present invention that can selectively combine the FiFO memory as an intermediary according to instructions from a program will be explained.
近年、第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が使用され
る。 In recent years, FiFO memory has come to be applied to pipeline type arithmetic processing units, as shown in FIG. In the figure, a pipeline type arithmetic unit 1 surrounded by a dashed line consists of a pipeline arithmetic unit 2 and a pipeline control logic circuit 3 for controlling this arithmetic unit. Input data (1 bit or multiple bit data) via and 31
It receives the calculation result and sends the calculation result to another calculation unit 6 via the data line 32. FiFO memory 2
0, 21, and 22 are provided between the units as buffers for input data and calculation results. In other words, the input data from the calculation unit 4 (from the perspective of the unit 4, the calculation result of the unit 4) is input to the FiFO memory 20 from the data line 30, and then sent to the pipeline calculation in the unit 1 via the data line 10. is input to device 2. FiFO memory 21 and 2
2 is similar, and data lines 11 and 12 are used.
この様なFiFOメモリをバツフアとして使用し
た場合の利点は、次の2点である。 There are two advantages when using such a FiFO memory as a buffer.
(1) 演算ユニツト4と5からの入力データの途切
れ対策。第1図で示した様な多入力のパイプラ
イン演算器2では、同一番号を持つた多数個の
入力データの対は同時に入力される必要がある
のが一般的である。ここで、演算ユニツト4か
らのある番号の入力データは到着したが、別の
演算ユニツト5からの対応する同一番号の入力
データが何らかの要因により、到着が遅れた場
合を考える。FiFOメモリ20は、データ線3
0を経由して各サイクルに送出されてくるデー
タを受付けながら、データ線10を経由してユ
ニツト1に送出するデータを、他のユニツト5
からの入力データの到着するまで遅らせるため
に使用される。この間、パイプライン演算器2
には無効なデータが入力され、対応する演算結
果も無効なものが出力されるが、パイプライン
制御論理回路3がこの無効な出力が他のユニツ
ト6に送出されない様に制御している。(1) Measures against interruptions in input data from calculation units 4 and 5. In a multi-input pipeline arithmetic unit 2 as shown in FIG. 1, it is common that a large number of pairs of input data having the same number need to be input at the same time. Here, let us consider a case where input data with a certain number has arrived from the arithmetic unit 4, but the corresponding input data with the same number from another arithmetic unit 5 is delayed for some reason. FiFO memory 20 has data line 3
While accepting the data sent out in each cycle via the data line 10, the data sent out to the unit 1 via the data line 10 is sent to the other unit 5.
used to delay the arrival of input data from During this time, pipeline arithmetic unit 2
Invalid data is input to , and invalid corresponding operation results are output, but the pipeline control logic circuit 3 controls so that this invalid output is not sent to other units 6 .
(2) ユニツト6の受付け拒否対策。ユニツト6は
データ線32からのデータの受付けを拒否する
場合がある。FiFOメモリ22は、データ線1
2を経由するパイプライン演算器2からの演算
結果を一時的にバツフアリングし、ユニツト6
の受付けが可能になるまでデータを待たせるた
めに使用される。(2) Countermeasures against refusal of acceptance of unit 6. Unit 6 may refuse to accept data from data line 32. FiFO memory 22 has data line 1
The calculation result from pipeline calculation unit 2 passing through unit 6 is temporarily buffered and sent to unit 6.
Used to make data wait until it can be accepted.
この様に、上記のデータの途切れ現象が発する
場合には、パイプライン演算器を有するユニツト
間に、FiFOメモリを設けることが有効である。
このFiFOメモリに必要とされる機能は次の点で
ある。 In this way, when the above-mentioned data discontinuity phenomenon occurs, it is effective to provide a FiFO memory between units having pipeline arithmetic units.
The functions required for this FiFO memory are as follows.
(A) パイプラインのピツチ時間内に、読み出しと
書き込みが同時に可能であること。(A) It is possible to read and write simultaneously within the pipeline pitch time.
(B) 書き込まれたデータを短時間に読み出せるこ
と。(B) Written data can be read in a short time.
従来は、この様な高速なFiFOメモリの記憶
素子としては、ゲートを組合せたフリツプフロ
ツプ(以下、FFと称する)又はラツチ、一般
のメモリ素子(1つのメモリサイクルには1回
の読み出しまたは1回の書き込みが可能)のい
ずれかを用いる場合が多かつた。前者は、充分
に高速ではあるが、大容量のFiFOメモリを構
成するためにはゲート数が莫大になる欠点を有
する。一方、一般のメモリ素子では上記(A)の機
能を満足するために、パイプラインのピツチ時
間内に、2回のメモリサイクルを実行させる必
要がある。しかし、現在のパイプライン技術を
メモリ素子の高速化技術からでは、パイプライ
ンピツチ時間の半分で、一回のメモリサイクル
を実行できる大容量のメモリ素子を入手するこ
とは困難である。 Conventionally, storage elements for such high-speed FiFO memory include flip-flops (hereinafter referred to as FF) or latches that combine gates, and general memory elements (one readout or one readout per memory cycle). In many cases, one of the following was used: Although the former is sufficiently fast, it has the disadvantage of requiring an enormous number of gates to construct a large-capacity FiFO memory. On the other hand, in order to satisfy the above function (A) in a general memory element, it is necessary to execute two memory cycles within the pitch time of the pipeline. However, with the current pipeline technology and memory element speed-up technology, it is difficult to obtain a large-capacity memory element that can execute one memory cycle in half the pipeline pitch time.
本発明で使用するFiFOメモリは、書き込み
および読み出し可能な複数個のデータバンク
と、上記複数個のデータバンクを繰り返して書
き込みモードに指定するモード指定手段と、受
信データを上記書き込みモードに指定されたデ
ータバンクに書き込み、かつ、上記書き込みモ
ードに指定されていないデータバンクからデー
タを読み出して受信した順番通りにデータを出
力する書き込み読み出し制御手段とを備えた点
に特徴がある。 The FiFO memory used in the present invention has a plurality of writable and readable data banks, a mode specifying means for repeatedly specifying the plurality of data banks to write mode, and a mode specifying means for specifying the write mode by repeatedly selecting the plurality of data banks, and The present invention is characterized in that it includes a write/read control means that writes data to a data bank, reads data from a data bank that is not specified in the write mode, and outputs the data in the order in which it is received.
第2図は、本発明で使用するFiFOメモリの全
体ブロツク構成図である、このFiFOメモリは、
第1図のFiFOメモリ20,21,22のいずれ
にも適用可能である。 Figure 2 is an overall block diagram of the FiFO memory used in the present invention.
It is applicable to any of the FiFO memories 20, 21, and 22 shown in FIG.
第2図において、47,48はデータバンク
(以下、単にバンクと称する)であり、互に独立
に書き込みおよび読み出しができるものであり、
各データバンク47,48は1個のランダムアク
セスメモリ(以下、RAMと称する)からなる。
なお、バンクは2個以上あればよい。 In FIG. 2, 47 and 48 are data banks (hereinafter simply referred to as banks), which can be written and read independently of each other.
Each data bank 47, 48 consists of one random access memory (hereinafter referred to as RAM).
Note that it is sufficient if there are two or more banks.
なお、各バンクは必要とする容量とワード構成
に応じて、複数個のRAMにより構成る場合があ
るのはいうまでもない。 It goes without saying that each bank may be composed of a plurality of RAMs depending on the required capacity and word configuration.
外部から送られてくるデータは、送られてきた
順番に従い、バンク47,48に書き込まれる。
たとえば、最初に送られてきた0番のデータはバ
ンク47に、その次に送られてきた1番のデータ
はバンク48に、その次に送られてきた2番のデ
ータはバンク47に、その次に送られてきた3番
のデータはバンク48に、……というように、バ
ンク47,48に順番に繰り返して書き込まれ
る。したがつて、バンク47には0,2,4,…
…,2n番(nは整数)のデータすなわち、偶数
番のデータが順番に書き込まれるので偶数バンク
と呼ぶことにする。バンク48には1,3,5,
……,2n+1番のデータ、すなわち、奇数番の
データが順番に書き込まれるので、奇数バンクと
呼ぶことにする。 Data sent from the outside is written to banks 47 and 48 in the order in which it was sent.
For example, the first sent data No. 0 is sent to bank 47, the next sent data No. 1 is sent to bank 48, the next sent data No. 2 is sent to bank 47, and so on. The data No. 3 sent next is written to bank 48, and so on, repeatedly to banks 47 and 48 in order. Therefore, bank 47 has 0, 2, 4,...
..., 2n (n is an integer) data, that is, even-numbered data are written in order, so they are called an even-numbered bank. Bank 48 has 1, 3, 5,
..., 2n+1 data, that is, odd-numbered data, are written in order, so it is called an odd-numbered bank.
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
により、受けている。 Reference numeral 41 denotes a mode designation circuit for repeatedly designating which bank among the banks 47 and 48 is in a writable mode at a constant cycle. now,
The writable mode is called W mode, and the readable mode is called R mode. The mode specifying circuit 41 repeatedly outputs "0", "1", "0", "1", . . . at a constant cycle. When the output of the mode designation circuit 41 is “0”, even bank 4
7 is in W mode, and odd bank 48 is in R mode. When the output of the circuit 41 is “1”, “0”
Contrary to the case, the even bank 47 is in the R mode and the odd bank 48 is in the R mode. Therefore, the banks 47 and 48 repeat mode designations of R mode and W mode at a constant cycle so that the modes are different from each other at each time point, and the mode designation circuit 41
Due to this, it has been received.
100は、回路42〜46,49からなる、バ
ンク47,48の書き込み・読み出し制御回路で
ある。回路100は、偶数番のデータが入力され
たとき、偶数バンク47がWモードであれば、偶
数バンク47にこのデータをただちに書き込む。
偶数バンク47がWモードでなければ、すなわ
ち、Rモードであれば、Wモードになるまで待
ち、Wモードになつた時点でこのデータを書き込
む。奇数番のデータの書き込みについても、同様
である。 Reference numeral 100 denotes a write/read control circuit for banks 47 and 48, which includes circuits 42 to 46 and 49. When even-numbered data is input, the circuit 100 immediately writes this data into the even-numbered bank 47 if the even-numbered bank 47 is in the W mode.
If the even bank 47 is not in the W mode, that is, if it is in the R mode, it waits until it becomes the W mode, and when it becomes the W mode, this data is written. The same applies to writing odd numbered data.
また、回路100は、読み出し要求があり、今
度、読み出すべきデータが偶数バンク47に書き
込まれているとき、偶数バンク47がRモードで
あれば偶数バンク47からただちに読み出す。偶
数バンク47がWモードあれば、Rはモードにな
るまで待ち、Rモードになつた時点で読み出す。 Further, when there is a read request and data to be read is written in the even bank 47, the circuit 100 immediately reads data from the even bank 47 if the even bank 47 is in the R mode. If the even bank 47 is in the W mode, it waits until it becomes the R mode and reads out when it becomes the R mode.
この第2図のFiFOメモリの構成により書き込
みと同時に読み出しが可能となる。たとえば、偶
数バンク47にデータを書き込むと同時に、奇数
バンク48らデータを読み出すことができる。第
2図において、太線の信号線は多数本からなる信
号線を表わす。 The configuration of the FiFO memory shown in FIG. 2 enables reading and writing at the same time. For example, data can be written to even banks 47 and data can be read from odd banks 48 at the same time. In FIG. 2, thick signal lines represent multiple signal lines.
次に、このFiFOメモリの動作について説明す
る。 Next, the operation of this FiFO memory will be explained.
第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は後述するように初期状態に
設定される。 In FIG. 2, when a write request is received (the write request arrives), the write request instruction signal WREQ on the signal line 33 is "1",
The value of data signal WDATA on data line 30 is write data. Signals WREQ and WDATA are
From a first external device, for example arithmetic unit 4,
Write control circuit 42 (hereinafter referred to as W control circuit)
is input. The W control circuit has means for detecting the arrival of a write request based on the signal WREQ, receiving write data from the signal WDATA, and detecting the arrival number of the arriving write request.
Suppose that it is detected that the arrival number of the write request is Nth. Depending on whether N is an even number or an odd number, it is determined whether the data bank to be written is an even number bank or an odd number bank. on the other hand,
Since the output signal SW of the mode designation circuit 41 described above designates the bank in W mode, when the data bank determined by the evenness of N matches the data bank designated by the signal SW in W mode, the W control circuit 4
2 is the address determined by the value of the upper bits excluding the lower bits in the binary representation of N.
3 is output to the signal WAH on the signal line 93, "1" is output to the write instruction signal WE on the signal line 93, and the write data to the even bank is output to the signal SDRE on the signal line 82.
The write data to the odd bank is output to the signal SDRO on the signal line 83. If there is a possibility that the bank match will not be established when a write request arrives, a means is required to store the existence of the write request and the write data until the bank match is established. A detailed embodiment of the means will be described later using FIG. 4. The W control circuit 42 is set to an initial state by an initial value setting signal START input via the signal line 39, as will be described later.
一点鎖線で囲まれた回路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の入力の片側につけられた丸印は入力信号の
反転を行なうことを示す。 A circuit 44 surrounded by a one-dot chain line sends a write command signal WEE through signal lines 59 and 58 in response to a mode designation signal SW and a write permission signal WE.
This is a write signal generation circuit that outputs WEO to banks 47 and 48, respectively. The AND gate 441 of the circuit 44 operates when the signal SW is “0” and the signal WE
Write command signal WEE of "1" is output to the even bank 47 only when the condition that "WEE" is "1" is satisfied. In this way, when the even bank 47 is in the W mode (signal WE is "0") and there is data to be written now (signal WE is "1"), the write command signal WEE to the even bank 47 is set to " 1” is output. The AND gate 442 outputs "1" as the write command signal WEO to the odd bank 48 only when the conditions that the signal SW is 1 and the signal WE is "1" are satisfied. In this way, when the odd bank 48 is in the W mode (signal SW is "1") and data to be written now exists (signal WE is "1"), the write command signal WEO to the odd bank 48 is set to " 1” is output. and gate 4
A circle marked on one side of the input 41 indicates that the input signal is inverted.
選択回路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)に出力す
る機能を有している。 The selection circuit 45 selects the write address WAH from bank 4 in response to the mode designation signal SW.
It operates to selectively output to either 7 or 48. The circuit 45 consists of selectors 451 and 452. When the mode designation signal SW is “0”, the selector 451 selects the write address signal WAH described above.
Of the read address signal RAH described later,
The signal WAH is selectively output to the signal line 57. Therefore, when the even bank 47 is in the write mode (when the signal SW is "0"), the write address WAH is output to the odd bank 47. signal
When SW is “1”, the selector 52 selects and outputs a read address RAH, which will be described later, to the even bank 47. The selector 452 selectively outputs a read address RAH, which will be described later, to the signal line 56 when the signal SW is "0", and selectively outputs a write address WAH to the signal line 56 when the signal SW is "1". Therefore, the write address WAH is output to the odd bank 48 when the odd bank 48 is in the write mode (when the signal SW is "1"). Selectors 451, 452 and 46 described later
1,491 selects the input from the upper left (the input from the address line 93 in the selector 451) when the signal SW applied from above is "0", and outputs the signal.
When SW is “1”, input from the lower left (selector 4
51 has a function of selecting the input from the address line 99) and outputting it to the right output line (signal line 57 in 451).
選択回路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が印加される。 The selection circuit 46 selectively outputs the write data signal SDRE for even banks and the write data signal SDRO for odd banks in response to the signal SW, and is comprised of a selector 461. selector 4
61 selects the signal line 82 when the signal SW is "0" and outputs it to the data signal SDRE signal lines 54 and 55. When the signal SW is "1", the signal line 83 is selected and the data signal SDRO is output to the signal lines 54 and 55. Therefore, when even bank 47 is in W mode (signal SW is "0"), bank 4
Even bank write data signal SDRE is applied to 7 and 48.
したがつて、偶数番目の書き込み要求が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が書き込まれることはな
い。 Therefore, even numbered write requests are FiFO
When it reaches the memory, when the even bank is in W mode, the write terminal WET of the even bank 47 is
The signal "1" is input, the aforementioned write address signal WAH is input to the address terminal AT, this data signal SDRE is input to the data terminal DIT, and the even bank write data signal SDRE is written to the even bank 47. . However, as mentioned above, when the even bank 47 is in the W mode (when the signal SW is "0"), the odd bank 48 is in the R mode and the signal SW is "0", so the write output of the AND gate 442 is The command signal WEO becomes "0" and writing to the odd bank 48 is prohibited, so the even bank write data SDRE will not be written to the odd bank 48.
奇数バンク48がWモードのとき(信号SWが
“1”のとき)、バンク47および48に、奇数バ
ンク用書き込みデータ信号SDROが印加される。
しかし、上述と同じ理由で、偶数バンク47には
このデータ信号SDROが書き込まれることなく、
奇数バンク48にこのデータ信号SDROが書き込
まれる。 When the odd bank 48 is in the W mode (signal SW is "1"), the odd bank write data signal SDRO is applied to the banks 47 and 48.
However, for the same reason as mentioned above, this data signal SDRO is not written to the even bank 47.
This data signal SDRO is written into the odd bank 48.
なお、セレクタ461の代りに、信号線82と
55とを結線し、信号SDREが偶数バンク47に
常に印加するようにし、かつ、信号線83と54
とを結線し、信号SDROが奇数バンク48に常に
印加するようにしてもよい。ただし、セレクタ4
61を用いた方が、信号線55と54を共通化す
ることができ、バンク47,48とW制御回路4
2間の信号線の配線が簡便となる。 Note that instead of the selector 461, the signal lines 82 and 55 are connected so that the signal SDRE is always applied to the even bank 47, and the signal lines 83 and 54 are connected.
The signal SDRO may be connected to the odd bank 48 so that the signal SDRO is always applied to the odd bank 48. However, selector 4
61, the signal lines 55 and 54 can be shared, and the banks 47, 48 and the W control circuit 4 can be used in common.
Wiring of signal lines between the two is simplified.
このようにして、0番のデータは偶数バンク4
7の0番地に、1番のデータは奇数バンク48の
0番地に2番のデータは偶数バンク47の1番地
に、3番のデータは偶数バンク48の1番地に、
……というように、データは、何ら外部からアド
レスを指定しなくても受信した順番に従いバンク
47,48に交互に繰返して自動的に書き込まれ
る。 In this way, data number 0 is stored in even bank 4.
Data No. 7 is placed at address 0 of odd bank 48, Data No. 2 is placed at address 1 of even bank 47, Data No. 3 is placed at address 1 of even bank 48,
. . . The data is automatically and alternately written into the banks 47 and 48 in the order in which they are received, without any external designation of the address.
なお、バンク47,48は、次の入出力端子を
有している。WETは書込み指令信号入力端子で
あり、偶数バンク47への書込み指令信号WEE
又は奇数バンク48への書込み指令信号WEOが
端子WETに入力される。ATはメモリアドレス入
力端子であり、偶数バンク47へのメモリアドレ
スAE又は奇数バンク48へのメモリアドレス
AOが端子ATに入力される。DITは書込みデータ
入力端子であり、データ信号DIE又はDIOが端子
DITに入力される。 Note that the banks 47 and 48 have the following input/output terminals. WET is a write command signal input terminal, and the write command signal WEE to even bank 47 is
Alternatively, a write command signal WEO to the odd bank 48 is input to the terminal WET. AT is a memory address input terminal, which inputs memory address AE to even bank 47 or memory address to odd bank 48.
AO is input to terminal AT. DIT is the write data input terminal, and the data signal DIE or DIO is the terminal
Input to DIT.
DOTは読出しデータ出力端子であり、偶数バ
ンク47の端子DOTから読出しデータDOEがデ
ータ線471に出力され、奇数バンク48の端子
DOTから読出しデータDOOがデータ線481に
出力される。端子WETの入力が“1”のとき、
バンク47,48はデータ端子DITのデータをア
ドレス入力端子ATに入力されるアドレス信号が
示すアドレス番地にストアする。端子WETの入
力が“0”のとき、バンク47,48はアドレス
入力端子に入力されるアドレス信号が示す番地に
ストアされているデータを読み出す。第2図に示
さなかたバンク47,48の他の入出力端子とし
ては、電源端子、チツプセレクト端子、出力エネ
ブル端子などがある。 DOT is a read data output terminal, and read data DOE is output from the terminal DOT of the even bank 47 to the data line 471, and the terminal DOT of the odd bank 48 is output to the data line 471.
Read data DOO is output from DOT to data line 481. When the input of terminal WET is “1”,
The banks 47 and 48 store the data on the data terminal DIT at the address indicated by the address signal input to the address input terminal AT. When the input to the terminal WET is "0", the banks 47 and 48 read the data stored at the address indicated by the address signal input to the address input terminal. Other input/output terminals of the banks 47 and 48 not shown in FIG. 2 include a power supply terminal, a chip select terminal, an output enable terminal, and the like.
以上で、書き込みの動作説明が終つたので、次
に読み出しの動作説明をする。 Now that the writing operation has been explained, the reading operation will be explained next.
読み出し制御回路(以下、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”かで検出される。 The read control circuit (hereinafter referred to as R control circuit) 43 receives an initial value setting signal START from the outside.
Initial settings are made as described below.
The R control circuit 43 stores addresses RA to be read from banks 47 and 48, as will be described later. Address RA is counted up by "1" in response to read request signal RREQ, which will be described later. Read address signal RAH is the lower one when address RA is expressed as binary bits.
This is a bit signal other than the R control circuit 4.
3 to the signal line 99. In addition, the circuit 43
stores the number M of data that has not yet been read out of the written data. Number M
is counted up by "1" each time the write permission signal WE becomes "1", that is, each time one piece of data is written, and the second external device receiving the read permission signal ROK, for example,
The read request signal RREQ input from the pipeline operation unit 1 via the signal line 15 is “1”
Each time, that is, each time one piece of data is read, the count is decremented by "1".
M is 1 or more (data that has not yet been read is written to banks 47 and 48), and this data is written to the bank for which the mode designation signal SW specifies the read mode. Only when the signal ROK is set, "1" is output to the signal ROK from the R control circuit 43 to the external device via the signal line 13. This data is bank 4
Whether it is written to either 7 or 48 is determined by 2.
It is detected whether the least significant bit of the hexadecimal read address RA is "0" or "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は印加される。 The read address signal RAH on the signal line 99 is
Depending on whether the mode designation signal SW applied to the aforementioned selectors 451 and 452 is "0" or "1",
It is applied from selectors 451 and 452 to address terminals AT of banks 47 and 48. i.e. the signal
When SW is "0", the odd bank 48 is in the read mode, and the read/write address signal PAH is output to the odd bank 48 via the selector 452. When the signal SW is "1", the even bank 47 is in the read mode, and the selector 4 is in the read mode.
A read address signal RAH is outputted to the even bank 47 via 51. In this way, the read address signal RAH is applied to the bank that is in the read mode.
したがつて、読み出しモードになつているバン
ク内の、読み出しアドレス信号RAHにより指定
される番地から読み出すべきデータが出力端子
DOTに出力される。 Therefore, the data to be read from the address specified by the read address signal RAH in the bank that is in read mode is output from the output terminal.
Output to 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に相当
する機能を実現することもできる。 A selection circuit 49 consisting of a selector 491 selectively outputs the output of a bank in read mode to the signal line 10. Mode designation signal SW
When is “0”, the odd bank 48 is in the read mode, and the selector 491 selectively outputs the data signal DOO read from the odd bank 48 to the signal line 10. This signal is the read data signal
Sent to external device as RDATA. When the mode designation signal SW is "1", the even bank 47 is in the read mode, and the selector 491 selects the data signal DOE read from the even bank 47 and sends it to the second external device via the signal line 10. ,Output. Of course, the output terminals of banks 47 and 48
If wiring logic is allowed for DOT, banks 47, 4
By controlling the inputs of the chip select terminal and the output enable terminal of 8, the function corresponding to the selection circuit 491 can be realized by simply connecting the data line 471 and the data line 481.
なお、第2の外部装置、たとえばパイプライン
演算ユニツトは、信号ROKが“1”であり、か
つ、自己が読み取り可能のとき、信号RDATA取
り込み、読出しデータを受取ることを示すため、
信号RREQを“1”としてR制御回路43に出力
する。R制御回路は、信号RREQが“1”の時次
のサイクルでは読出しアドレスRAを1つ増加し
た状態にする。 Note that the second external device, for example, the pipeline arithmetic unit, takes in the signal RDATA to indicate that it receives the read data when the signal ROK is "1" and it is readable.
The signal RREQ is set to "1" and output to the R control circuit 43. The R control circuit increases the read address RA by one in the next cycle when the signal RREQ is "1".
このようにして、偶数バンク47の0番地のデ
ータ、奇数バンク48の0番地のデータ、偶数バ
ンク47の1番地のデータ、奇数バンク48の1
番地のデータ、……というように、バンク47,
48に書き込んだもつとも古いデータから、古い
順に順次、バンク47,48に書き込まれたデー
タが読み出される。したがつて、第2図のFiFO
メモリは、いわゆるフアーストインフアーストア
ウトのメモリ機能を有している。また、以上説明
したように各バンクごとに独立にモード指定がな
されているため、偶数バンク47にデータを書き
込んでいるとき、同時に、奇数バンク48から書
き込まれたデータを読み出すことと、偶数バンク
47から書き込まれたデータを読み出し、同時
に、奇数バンク481にデータを書き込むことが
できる。すなわち、書き込みと読み出しとを同時
に実行することができる。 In this way, the data at address 0 of even bank 47, the data at address 0 of odd bank 48, the data at address 1 of even bank 47, the data at address 1 of odd bank 48,
Address data, such as bank 47,
The data written in banks 47 and 48 is read out in order from the oldest data written in bank 48. Therefore, FiFO in Figure 2
The memory has a so-called first-in first-out memory function. In addition, as explained above, since the mode is specified independently for each bank, when data is being written to the even bank 47, it is possible to simultaneously read the data written from the odd bank 48 and write the data to the even bank 47. It is possible to read the written data from the odd bank 481 and write the data to the odd bank 481 at the same time. That is, writing and reading can be performed simultaneously.
第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に関する同期は不要で
ある。 In the configuration shown in Figure 1, the FiFO in Figure 2
Since memory is used as 20 and 21,
The signal SW in the FiFO memories 20 and 21 must be synchronized. This is because in the pipeline arithmetic unit 2, the two input data numbers are generally always equal in the cycle in which the data is input correctly, and if the values of the signal SW at 20 and 21 are different, one side is always the same. It becomes impossible to read from the FiFO memory, and since both are not readable at the same time, no calculation can be started. In order to avoid this, a configuration may be adopted in which the signal SW in all FiFO memories in all devices always has the same value. For example, one FiFO memory 20
It is only necessary to share the SW signal with other FiFO memories 21. In FIG. 2, regarding the FiFO memory 22, the input to the arithmetic unit 6 is input to the FiFO memory 22.
There is no need for synchronization regarding the signal SW.
次に、モード指定回路41、W制御回路42、
R制御回路43について、さらに具体的に、第3
図A、第4図、第5図を用いて説明する。 Next, the mode designation circuit 41, the W control circuit 42,
Regarding the R control circuit 43, more specifically, the third
This will be explained using FIG. A, FIG. 4, and FIG. 5.
回路41,42,43は、一相のクロツク信号
Tで動作しこのクロツクの周期が、パイプライン
演算器のピツチであると同時に、メモリ素子のメ
モリサイクル時間になつている。第6図の下に示
したごとく、各サイクルにからまでの番号を
付けて説明する。各サイクルはTの立上りからの
次のTの立上りまでと考える。 The circuits 41, 42, and 43 operate with a one-phase clock signal T, and the period of this clock is the pitch of the pipeline arithmetic unit and the memory cycle time of the memory element. As shown in the lower part of FIG. 6, each cycle will be explained by numbering it. Each cycle is considered from the rising edge of T to the rising edge of the next T.
特記しない限り、フリツプフロツプ(以下、
FFと称す。)と同期型カウンタ(以下、CNTと
称す)はクロツク入力信号Tの立上りで動作する
エツヂトリガタイプである。 Unless otherwise specified, flip-flop (hereinafter referred to as
It is called FF. ) and the synchronous counter (hereinafter referred to as CNT) are edge trigger types that operate at the rising edge of the clock input signal T.
図中の左右の信号線の端子での一重丸は、
FiFOメモリ内部のインタフエイス信号を示し、
二重丸はFiFOメモリ外部とのインタフエイス信
号であることを示す。 The single circles at the left and right signal line terminals in the diagram are
Shows the interface signals inside FiFO memory,
The double circle indicates an interface signal with the outside of the FiFO memory.
ここでは最大8個までの入力データを記憶でき
るFiFOメモリとして以下の説明を行なう。この
構成では、バンク47と48は各々4個のデータ
を格納可能なメモリ容量があれば良い。また、信
号WAHの信号93、信号RAHの信号線99、信
号AEの信号線57、信号AOの信号線も2ビツ
トのアドレス線で良い。 Here, the following explanation will be given as a FiFO memory that can store up to 8 pieces of input data. In this configuration, each of banks 47 and 48 only needs to have a memory capacity capable of storing four pieces of data. Furthermore, the signal line 93 for the signal WAH, the signal line 99 for the signal RAH, the signal line 57 for the signal AE, and the signal line for the signal AO may also be 2-bit address lines.
第3図Aから第5図までに示した回路41,4
2,43はすべてクロツク信号Tに同期した同期
式回路である。以下の説明では次の2点を仮定す
る。(1)ゲートの遅延時間やFFとCNTの遅延時間
がクロツク信号Tのサイクル時間に比較して充分
に小さい。(2)クロツク信号Tで動作すFFやCNT
の出力を同じクロツク信号Tで動作する次段の
FFやCNTに入力しても誤動作しない。 Circuits 41 and 4 shown in FIGS. 3A to 5
2 and 43 are all synchronous circuits synchronized with the clock signal T. In the following description, the following two points are assumed. (1) The gate delay time and the FF and CNT delay times are sufficiently small compared to the cycle time of the clock signal T. (2) FF and CNT operated by clock signal T
output from the next stage which operates with the same clock signal T.
No malfunction occurs even if input to FF or CNT.
上記(2)の仮定は「あるサイクルでの前段のFF
の値が、次のサイクルでの後段のFFの値を決定
し、同一サイクル中に前段のFFの値が、後段の
FFの値に影響を与えることが無い」ということ
である。上記(1)仮定が満されない場合には、使用
するバンクを含めた詳細な遅延時間の算定と検討
が必要であり、上記(2)の仮定が満さない場合に
は、クロツク信号の2相化等の対策が必要である
ことは、同期式回路であれば当然である。 The assumption in (2) above is that ``the previous FF in a certain cycle
The value of determines the value of the subsequent FF in the next cycle, and the value of the previous FF determines the value of the subsequent FF during the same cycle.
This means that it does not affect the FF value. If the assumption (1) above is not met, detailed calculation and study of the delay time including the bank used is required. If the assumption (2) above is not met, the two-phase clock signal Of course, if it is a synchronous circuit, countermeasures such as reduction are necessary.
第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の役割
は前述したようにバツクの動作モードを指定する
ことにある。 FIG. 3A is a circuit diagram of the mode designation circuit 41. The output of the inverted output terminal of the FF50 is input to the input terminal D of the FF50. The clock terminal of the FF 50 is applied with a clock signal T which becomes "1" every memory cycle, that is, every pipeline pitch. The signal from the output terminal Q of the FF 50 becomes the aforementioned mode designation signal SW. Now, FF5
Assume that the internal state of 0 is “1”. The output "0" of the terminal at this time is input to the input terminal D. At the first rise of the clock signal T, the FF 50 receives the output "0" from the terminal Q, and the internal state of the FF 50 changes from "1" to "0". At this time,
The output of the terminal also changes from "0" to "1". Therefore, the input to input terminal D also becomes "1". At the second rising edge of clock signal T, FF50
receives the input "1" from the terminal D, and the internal state of the FF 50 returns to "1" again. In this way, at the rising edge of the clock signal T, the internal state of the FF 50 repeats inversion of "0" and "1". Therefore, the signal SW, which is the output of the output terminal Q of the FF50, also changes to "0" in response to the rising edge of the clock signal T.
Repeat inversion of “1”. This situation is shown at T and SW in the time chart of FIG. The role of the signal SW is to specify the operating mode of the bag, as described above.
第3図Bはモード指定信号SWによつて指定さ
れる偶数バンク47、奇数バンク48の各モード
を示したものである。 FIG. 3B shows each mode of the even bank 47 and the odd bank 48 designated by the mode designation signal SW.
なお、モード指定回路は、
(1) 前述した複数個のFiFOメモリ間の同期化を
はかるため、モード指定回路を1つ設けて、そ
れを共用してもよい。 Note that the mode designation circuit is as follows: (1) In order to synchronize the plurality of FiFO memories described above, one mode designation circuit may be provided and used in common.
(2) 8個の書き込みデータがすべて到着しバンク
上での読み出しと書き込みが競合する可能性が
無くなつた時、次に読出したい側のバンクを常
に選択できる様に信号SWを変更する回路を設
けてもよい。(2) When all 8 pieces of write data have arrived and there is no possibility of conflict between reading and writing on a bank, create a circuit that changes the signal SW so that the bank you want to read next can always be selected. It may be provided.
第4図は、W制御回路42の回路図である。 FIG. 4 is a circuit diagram of the W control circuit 42.
(3) 書き込みと読み出しが競合しない条件下で
は、到着するデータの偶奇とWモードに指定す
るバンクの偶奇と常に一致する様に、信号SW
を変更する回路を設けても良い。(3) Under conditions where there is no conflict between writing and reading, the signal SW is
A circuit for changing the value may be provided.
第4図は、W制御回路42の回路図である。 FIG. 4 is a circuit diagram of the W control circuit 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の値が変化する。 First, the roles of the CNT and FF in FIG. 4 and the functions of the main gates will be explained, and then an example of their operation will be explained according to the time chart in FIG. 6. CNT6
Reference numeral 2 denotes the edge trigger type synchronous counter described above, and the number of output bits is 1 bit.
CNT64 is an edge trigger type 3-bit synchronous counter. The terminal UP is a count up instruction input terminal, the terminal R is a reset terminal for clearing the contents to zero, the terminal CK is an input terminal of the clock terminal T, and the terminal Q is an output terminal for the counter contents. The count up operation is executed when the clock signal T applied to the terminal CK rises from "0" to "1" while the input signal at the terminal up is "1". When the input signal of the terminal up is "0", the value of CNT remains unchanged. The FF 63 is an edge trigger type FF, and like the counter described above, the value at the output terminal Q changes at the rise of the clock signal applied to the terminal CK.
CNT62は、外部からの信号STARTでリセツ
トされ、外部からの書き込み要求信号WREQが
到着するサイクルの終り(クロツク信号Tの立上
り)でカウントアツプされ、その出力WCNTは
そのサイクルで到着する書き込み要求(書き込み
要求信号WREQと書き込みデータWDATA)が
奇数バンク48に対するものか偶数バンク47に
対するものかを示す。つまり、出力WCNTの
“0”は偶数バンク47への書き込み要求を意味
し、“1”は奇数バンク48への書き込み要求を
意味する。CNT62のもう1つの出力信号
WCNTは出力信号WCNTの逆極性信号になつて
いる。 The CNT 62 is reset by an external signal START, and is counted up at the end of the cycle in which the external write request signal WREQ arrives (the rising edge of the clock signal T), and its output WCNT is the write request (write request signal T) that arrives in that cycle. This indicates whether the request signal WREQ and write data WDATA are for the odd bank 48 or the even bank 47. That is, "0" of the output WCNT means a write request to the even bank 47, and "1" means a write request to the odd bank 48. Another output signal of CNT62
WCNT is a signal with the opposite polarity of the output signal 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”でなければいけない。 The CNT 64 is reset by an external signal START, and counts up at the end of a cycle in which writing to any bank is executed (a cycle in which WE is "1"). The output of CNT64 is the above WA, and its upper 2 bits output WAH
indicates the write address of the bank, and its lower 1
The bit output WAL indicates whether the write bank is even or odd. That is, if the output of the CNT 64 is "000 2 " (the subscript 2 indicates a binary number; the same applies hereinafter), the W control circuit 42 instructs address 00 2 of the even bank 47 as the write destination. If the output of the CNT 64 is "001 2 ", it indicates address 00 2 of the odd bank 48, and if it is "010 2 ", it indicates address "01 2 " of the even bank 48. In order to actually write in a bank, a write enable signal WE, which will be described later, must be "1".
あるサイクルで信号WREQが“1”であれ
ば、そのサイクルに書込み要求はW制御回路42
に到着している。書込むべきデータ信号は、その
サイクルでの信号WDATAである。つまり、対応
する信号WREQと信号号WDATAは同一サイク
ルでW制御42に到着する。 If the signal WREQ is “1” in a certain cycle, a write request is sent to the W control circuit 42 in that cycle.
has arrived. The data signal to be written is the signal WDATA in that cycle. That is, the corresponding signal WREQ and signal WDATA arrive at the W control 42 in the same cycle.
第3図Bに示す様に、あるサイクルにおいて信
号SWの値により、偶数バンク47か奇数バンク
48の片方がWモードに指定される。一方、外部
からW制御回路42に到着する書込み要求は、信
号SWの値とは独立に到着する。従つて、W制御
回路42では、次の2種数の書込み動作手順のい
ずれかを到着する各々の書込み要求と対応して実
行する。 As shown in FIG. 3B, in a certain cycle, either the even bank 47 or the odd bank 48 is designated to the W mode depending on the value of the signal SW. On the other hand, a write request arriving at the W control circuit 42 from the outside arrives independently of the value of the signal SW. Therefore, the W control circuit 42 executes one of the following two write operation procedures in response to each arriving write request.
(a) 要求が到着したサイクルと同一サイクルに、
バンクへの書込みが実行される。ある要求が到
着し、かつ、到着した要求の番号の偶奇(すな
わち書込み先のバンクの偶奇)と要求が到着し
たサイクルでのWモード状態にあるバンクの偶
奇が一致した時、(a)の書込み動作手順が実行さ
れる。以下直接書込手順と呼ぶ。(a) In the same cycle as the one in which the request arrived,
Writing to the bank is executed. When a certain request arrives and the even-odd number of the arriving request (that is, the even-odd number of the write destination bank) matches the even-odd number of the bank in the W mode state in the cycle in which the request arrived, write (a). An operating procedure is executed. Hereinafter, this will be referred to as the direct write procedure.
(b) 要求が到着したサイクルの次のサイクルに、
バンクへの書込みが実行される。ある要求が到
着し、かつ到着した要求の番号の偶奇と、要求
が到着したサイクルでのWモード状態にあるバ
ンクの偶奇が一致しない時、ロの書込み動作手
順が実行される。以下遅延書込みと呼ぶ。(b) In the cycle following the cycle in which the request arrived,
Writing to the bank is executed. When a certain request arrives and the evenness of the number of the arrived request does not match the evenness of the bank in the W mode state in the cycle in which the request arrived, the write operation procedure (b) is executed. Hereinafter, this will be referred to as delayed writing.
第4図の排他的論理和(以下EORと称す)ゲ
ート69は、到着する要求の番号の偶奇とWモー
ドのバンクの偶奇の不一致を認識する。つまり、
あるサイクルで信号線88上のEORゲート69
の出力が“0”であれば、偶奇が一致しており、
要求が到着した場合には直接書込み手順を実行す
べきである。また、EORゲート69の出力が
“1”であれば、偶奇が一致しておらず、要求が
到着した場合には遅延書込み手順を実行すべきで
ある。アンドゲート69と68はそれぞれ、直接
書込み手順の実行と遅延書込み手順の実行を認織
する。アンドゲート69の入力端子の片方に付け
られた丸印は、第2図のアンドゲート441と同
様に、入力信号の反転を示している。つまり、ア
ンドゲート69の出力が“1”となる必要十分条
件は、信号線33上の信号WREQが“1”であ
り、かつ、信号線88上の信号が“0”であるこ
とである。 The exclusive OR (hereinafter referred to as EOR) gate 69 in FIG. 4 recognizes the mismatch between the evenness and oddness of the arriving request number and the evenness and oddness of the W mode bank. In other words,
EOR gate 69 on signal line 88 in one cycle
If the output of is “0”, evenness and oddness match,
If a request arrives, a direct write procedure should be performed. Further, if the output of the EOR gate 69 is "1", the evenness does not match, and if a request arrives, the delayed write procedure should be executed. AND gates 69 and 68 authorize the execution of direct write procedures and delayed write procedures, respectively. The circle marked on one of the input terminals of the AND gate 69 indicates the inversion of the input signal, similar to the AND gate 441 in FIG. In other words, the necessary and sufficient condition for the output of the AND gate 69 to be "1" is that the signal WREQ on the signal line 33 is "1" and the signal on the signal line 88 is "0".
信号線90上のアンドゲート69の出力が
“1”であれば、アオゲート70を経由して信号
線91上の書込み許可信号WEが“1”となり、
書込み要求が到着したサイクルに、バンクへの書
込みが実行される。これが、直接書込み動作の実
行である。 If the output of the AND gate 69 on the signal line 90 is "1", the write permission signal WE on the signal line 91 becomes "1" via the AOG gate 70,
Writing to the bank is executed in the cycle in which the write request arrives. This is the execution of a direct write operation.
信号線89上のアンドゲート68の出力が
“1”であれば、FF63には端子Dより“1”が
入力され次のサイクルでは、信号線86上のFF
63の出力信号WREQDLが“1”となり、オア
ゲート70を経由して信号WEが“1”となり、
書込み要求が到着した次のサイクルに、バンクで
の書込みが実行される。これが、遅延書込み手順
の実行である。FF63は、遅延書込み手順で実
行すべき書込み要求が到着したことを記憶し、次
のサイクルにバンクの書込みを指示する。 If the output of the AND gate 68 on the signal line 89 is "1", "1" is input to the FF 63 from the terminal D, and in the next cycle, the FF on the signal line 86
The output signal WREQDL of 63 becomes "1", the signal WE becomes "1" via the OR gate 70,
Writing in the bank is executed in the next cycle after the write request arrives. This is the execution of the delayed write procedure. The FF 63 stores the arrival of a write request to be executed in the delayed write procedure, and instructs bank writing in the next cycle.
信号WEが“1”の時、偶数バンク47か奇数
バンク48において書込みが実行される。書込み
先のバンクの偶奇は、信号SWと信号WALのいず
れによつても知ることができる。第2図に示され
た実施例では、信号SWを書込み先バンクの偶奇
の選択信号として使用していることは前述した。 When the signal WE is "1", writing is executed in the even bank 47 or the odd bank 48. Whether the write destination bank is even or odd can be determined by both the signal SW and the signal WAL. As mentioned above, in the embodiment shown in FIG. 2, the signal SW is used as an even/odd selection signal for the write destination bank.
書込み指示信号WREQについては、その値が
この様にW制御回路42に到着したサイクル中に
信号WEとして伝えられる場合と、一時記憶され
て次のサイクルに信号WEとして伝えられる場合
とがあると考えることができる。書込みデータ信
号WDTAについても、その値が直接用いられる
場合と次のサイクルまで記憶されなければならな
い場合とがある。信号WDATAも信号WREQと
同様に、2組のアンドゲート群(アンドゲート6
8と69に相当)FF群(FF63に相当)とOR
ゲート群(ORゲート70に相当)を用いて上記
2つの場合の動作を実現することもできる。しか
し、第4図では2群のラツチを用いる別の方式を
示した。 Regarding the write instruction signal WREQ, there are cases in which its value is transmitted as the signal WE during the cycle in which it reaches the W control circuit 42 in this way, and there are cases in which it is temporarily stored and transmitted as the signal WE in the next cycle. be able to. Regarding the write data signal WDTA, there are cases where its value is used directly and cases where it must be stored until the next cycle. Similarly to the signal WREQ, the signal WDATA also consists of two groups of AND gates (AND gate 6
8 and 69) FF group (equivalent to FF63) and OR
The operations in the above two cases can also be realized using a gate group (corresponding to OR gate 70). However, FIG. 4 shows an alternative scheme using two groups of latches.
ラツチ60と61は、前述したエツヂトリガタ
イプのFFとは動作が異なり、入力端子CKからの
クロツク信号が“1”の状態では、入力端子Dか
らの入力内容がただちに出力端子Qからの出力と
なり、クロツク信号が“1”から“0”に立下が
つた時入力端子Dからの入力内容が保持され(保
持する動作をラツチ動作と呼ぶ)、保持された内
容は再びクロツク信号が“0”から“1”に立上
がるまでの間出端子Qから出力される。 The operation of latches 60 and 61 is different from the edge trigger type FF mentioned above. When the clock signal from input terminal CK is "1", the input contents from input terminal D are immediately output from output terminal Q. Therefore, when the clock signal falls from "1" to "0", the input contents from input terminal D are held (the holding operation is called a latch operation), and the held contents are retained when the clock signal falls from "0" to "0" again. ” to rise to “1” is output from the output terminal Q.
ラツチ60は、偶数番目の書込みデータ(偶数
バンク47への書込みデータ)を一時的に保持す
るために用いられ、ラツチ61は奇数番目の書込
みデータ(奇数バンク48への書込みデータ)を
一時的に保持するために用いられる。偶数番目の
書込み要求が到着したサイクルを考えてみると、
信号が“1”であるので、ラツチ60の
出力信号SDREには信号WDATAの内容がそのま
ま出力され、次にサイクルに移る時信号
が“1”から“0”に立下がり信号WDATAの内
容が保持され、次のサイクルでも信号SDREの内
容は前のサイクルと同一である。つまり偶数番目
の書込み要求が到着しサイクルに偶数バンク47
で書込みが実行される場合にも、到着した次のサ
イクルに書込みが実行される場合でも、信号
SDREの内容は正しい偶数番目の書込みデータの
内容である。 Latch 60 is used to temporarily hold even-numbered write data (write data to even-numbered bank 47), and latch 61 is used to temporarily hold odd-numbered write data (write data to odd-numbered bank 48). used for holding. Consider the cycle in which the even numbered write request arrives.
Since the signal is "1", the contents of the signal WDATA are output as they are to the output signal SDRE of the latch 60, and when the next cycle starts, the signal falls from "1" to "0" and the contents of the signal WDATA are retained. In the next cycle, the contents of the signal SDRE are the same as in the previous cycle. In other words, the even numbered write request arrives and the even numbered bank 47 in the cycle.
The signal is
The contents of SDRE are the correct even-numbered write data contents.
ラツチ61とその出力信号SDROも、ラツチ6
1へのクロツク信号が信号WCNTである点を除
き同一の構成であり、信号SDROの内容が正しい
奇数バンクへの書込みデータの内容である。 Latch 61 and its output signal SDRO also
They have the same configuration except that the clock signal to 1 is the signal WCNT, and the contents of the signal SDRO are the contents of the correct data to be written to the odd bank.
次に、第6図のタイムチヤートに示した動作例
に基づいて、FiFOメモリ20の書込み動作につ
いて説明する。到着する書込み要求には、0番目
から7番目までの番号付けが行なわれそれぞれ偶
数バンク47の0番地、奇数バンク48の0番
地、偶数バンクの1番地の順に、奇数バンクの3
番地までに書込まれる。 Next, the write operation of the FiFO memory 20 will be explained based on the operation example shown in the time chart of FIG. Arriving write requests are numbered from 0th to 7th, starting with address 0 of even bank 47, address 0 of odd bank 48, address 1 of even bank 48, and address 3 of odd bank 48.
It is written up to the address.
第6図には示されていないが、一連の書込み動
作に先立つ、信号STARTの“1”のパルスによ
り、CNT62とCNT64は“0”にリセツトさ
れている。FF63も、リセツト端子Rに信号
STARTの“1”のパルスが入力されるので同様
にリセツトされ、最初の書込み要求が偶数番目で
あることを示す。 Although not shown in FIG. 6, CNT62 and CNT64 are reset to "0" by a "1" pulse of signal START prior to a series of write operations. FF63 also sends a signal to the reset terminal R.
Since the START pulse of "1" is input, it is similarly reset, indicating that the first write request is an even-numbered one.
第6図の動作例では、0番目から2番目までの
書込み要求に対しては直接書込み手順が実行さ
れ、3番目と4番目の要求に対しては遅延書込み
手順が実行され、5番目から7番目の要求に対し
ては直接書込み手順が実行される。 In the operation example shown in FIG. 6, the direct write procedure is executed for the 0th to 2nd write requests, the delayed write procedure is executed for the 3rd and 4th requests, and the 5th to 7th A direct write procedure is performed for the second request.
最初に、サイクルに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における書込み動作が指示
される。 First, the 0th write request arrives in the cycle. The signal WREQ on the signal line 33 and the signal WDATA on the data line 30 are input to the W control circuit 42. In other words, WREQ is “1” and the signal
The content of WDATA is the 0th write data.
In the cycle, the signal WCNT is still "0", and in the example of FIG. 6, the signal SW is "0", which indicates that the even bank is in W mode.
The output of the EOR gate 67 is "0", the output of the AND gate 68 is "0", the output of the AND gate 90 is "1", and the output signal WE of the OR gate 70 is "1". In a cycle in which the signal WE is "1", writing is executed in the bank designated as W mode by the signal SW, as shown in FIG. In other words, the AND gate 44 in FIG.
1, the signal WEE on the signal line 59 becomes "1" and a write operation in the even bank 47 is instructed.
次に書込みアドレスについて説明する。第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”
なので、誤まつた書込みが実行されることは無
い。 Next, the write address will be explained. After CNT64 in Figure 4 is set by signal START
The output of CNT64 remains “000 2 ” during the cycle, and the signal which is the upper 2 bit output is
WAH is also output to the address line 93 as "00 2 ". In FIG. 2, selector 451 determines the content of memory address signal AE to even bank 47.
Since the signal SW is “0”, the write address signal WAH on the address line 93 is selected and the address line 5 is
The signal WAH is output to 7. As a result of the above, the correct address "00 2 " is input to the address terminal AT of the even bank 47 in the cycle. In the odd bank 48, the signal RAH is input to the address terminal AT by the action of the selector 452, but the signal WEO is set to "0" by the action of the AND gate 442.
Therefore, erroneous writing will not be executed.
次に書込みデータについて説明する。第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”であることが
保証されるので、誤まつた書込みが実行されるこ
とは無い。 Next, write data will be explained. In FIG. 4, since the signal is "1" in the cycle, latch 60 immediately transfers the signal WDATA corresponding to the 0th request on data line 30 to data line 82.
Output as signal SDRE on top. The selector 461 in FIG. 2 selects the data line 8 because the signal SW is "0".
The signal SDRE on the line 2 is output to the data line 55.
That is, in the cycle, the 0th write data signal WDATA is correctly input to the data input terminal DIT of the even bank 47. In the embodiment shown in FIG. 2, the 0th write data is also input to the data input terminal DIT of the odd bank 48, but the AND gate 44
2 ensures that the signal WEO is "0", so no erroneous writing will be performed.
サイクルにも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として出力されているが使用されない。 The first write request also arrives in the cycle,
Also, writing to banks is executed during the cycle, but this cycle differs from the cycle in that the writing destination is odd-numbered bank 48. In other words, in Fig. 2, the signal
Since SW is “1”, signal WEE is “0”,
Signal WEO is "1". The value of signal WAH is selected by selector 452 and output as signal AO, and the value of signal SDRO is selected by selector 461 and output as signal DIO. Figure 4, 3
The value of bit CNT64 is set when the signal WE becomes “1” in the cycle when changing from cycle to cycle.
Therefore, it increases to “001 2 ”. The output signals WCNT and WCNT of CNT62 are also cycled by the signal WREQ.
Since they are "1", they are inverted to "1" and "0" respectively in the cycle. Even in the cycle, the output of AND gate 68 is “0”, so the output of FF63
WREQDL remains "0" throughout the cycle. The contents of the signal WDATA are held in the latch 60 during the cycle, and although they are output as the signal SDER during the cycle, they are not used.
サイクルには2番目の要求が到着し、サイク
ル中に偶数バンク47に書込まれる。サイクル
において信号WEが“1”なので、CNT64の
出力がサイクルでは“0102”となり、2番目の
書き込み要求データ信号WDATAが偶数バンク4
7の1番目に書込まれる。 A second request arrives in the cycle and is written to even bank 47 during the cycle. Since the signal WE is "1" in the cycle, the output of CNT64 is "010 2 " in the cycle, and the second write request data signal WDATA is in even bank 4.
It is written in the first position of 7.
第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”となる。この動作は、
前述した遅延書込み手順である。 The time chart in FIG. 6 shows an example of the operation when the third write request arrives at a cycle instead of a cycle. In the cycle, the arriving request is odd numbered and in odd bank 4.
8 is not in W mode, the third write request is executed in odd bank 48 in the next cycle. In FIG. 4, in the cycle, the signal
WCNT is "1" and signal SW is "0". Due to the action of EOR gate 67 and AND gates 68 and 69, the signal on signal line 89 becomes "1" and the signal on signal line 88 becomes "0". FF63 is
Since "1" is input to the input signal terminal D, "1" is outputted to the signal WREQDL for the first time in the next cycle. The bank write enable signal WE is "0" in the cycle, and becomes "1" to instruct the third write in the cycle. This operation is
This is the delayed write procedure described above.
書込みアドレスWAを作成するCNT64は、サ
イクルとではWEが“0”なのでサイクル
からまで同一の値“0112”を保持しており、サ
イクルでは奇数バンクメモリ48にメモリアド
レスとして正しい値である。“012”が入力され
る。 Since WE is "0" in the cycle, the CNT 64 that creates the write address WA holds the same value "011 2 " from cycle to cycle, and is the correct value as a memory address in the odd bank memory 48 in the cycle. “01 2 ” is input.
次に、書込みデータについて説明する。サイク
ルに3番目の書込みデータ信号WDATAが到着
する。ラツチ61のクロツク信号となる信号
WCNTがサイクルでは“1”、サイクルでは
“0”となるので、ラツチ61の出力信号SDRO
の内容は、サイクルだけでなくサイクルでも
サイクルの信号WDATAの内容と同一である。 Next, write data will be explained. A third write data signal WDATA arrives in the cycle. Signal that serves as the clock signal for latch 61
Since WCNT becomes "1" during the cycle and "0" during the cycle, the output signal SDRO of latch 61
The contents of the signal WDATA are the same from cycle to cycle as well as cycle to cycle.
したがつて、サイクルにおいて奇数バンク4
8に3番目の要求の書込みデータを正しく入力す
ることができる。 Therefore, in the cycle odd bank 4
8, the write data of the third request can be input correctly.
第4図のW制御回路42では、奇数バンク48
が3番目の書込み要求をサイクルでは実行でき
ないが、次のサイクルでは実行できることを仮
定している。つまり、サイクルで信号SWが
“0”であれば、次のサイクルでは信号SWが
“1”となることを、SWの周期性から予測して
いる。 In the W control circuit 42 of FIG.
It is assumed that the third write request cannot be executed in one cycle, but can be executed in the next cycle. In other words, if the signal SW is "0" in a cycle, it is predicted from the periodicity of SW that the signal SW will be "1" in the next cycle.
4番目の書込み要求も、偶数バンク47がWモ
ードでない時(サイクル)に到着するので一サ
イクル遅れて偶数バンク47に書込まれる。 The fourth write request also arrives when the even bank 47 is not in the W mode (cycle), so it is written to the even bank 47 with a one cycle delay.
5番目の要求は、偶数バンク48がWモードの
時(サイクル)に到着するので、0番目,1番
目,2番目の要求と同様に、直ちに偶数バンク4
8に書込まれる。すなわち対応する信号WREQ
と信号WEが同一サイクルに“1”となる直接
書込み手順で実行される。 Since the 5th request arrives when the even bank 48 is in W mode (cycle), the 5th request is immediately sent to the even bank 4, just like the 0th, 1st, and 2nd requests.
8 is written. i.e. the corresponding signal WREQ
A direct write procedure is executed in which the signal WE and signal WE become "1" in the same cycle.
8個の書込要求をバンクに一回書込む毎に、3
ビツトのカウンタCNT64はカウントアツプさ
れ、その出力は“0002”から“1112”まで増加す
る。サイクル10には“0002”に戻るかもしれな
いが、8番目の書込み要求が外部から到着しない
ので、偶数バンク47の002番地の内容が破壊さ
れることは無い。 For every 8 write requests written to the bank, 3
The bit counter CNT64 is counted up and its output increases from "000 2 " to "111 2 ". Although it may return to "000 2 " in cycle 10, the contents of address 00 2 of the even bank 47 will not be destroyed because the 8th write request does not arrive from the outside.
第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の立ち上りのタイミングで
カウントアツプされる。 FIG. 5 is a circuit diagram of the R control circuit 43. Edge-triggered counter (hereinafter referred to as CNT) 1
00 is a 4-bit counter that can count up and count down. The counter 100 is instructed to count up and down by inputting the count up terminal UP and the count down terminal DOWN. When the input signal WE of the terminal UP is "1" and the input signal RREQ of the terminal DOWN is "0", the counter 100 counts up by "1" at the rising edge of the clock signal T input to the clock terminal CK. do. Input signal WE of terminal UP is “0”
Then, when the input signal RREQ of the terminal DOWN is "1", it similarly counts down by "1". When both inputs are "0" or "1", the counter does not count up or count down. CNT10
The 4-bit output REQCNT of 0 is connected to the 4 data lines 1
01. The value of CNT100 indicates the number of pieces of data that have been written but not yet read. For CNT100, the number of input data is 0 to
It consists of a 4-bit counter so that nine types up to eight can be stored. The CNT 100 is reset by the initial value setting signal START inputted to the reset terminal R. The 4-bit output of the CNT 100 is input to an OVER gate 104, each bit is inverted, and the result is output to a signal line 105. When the output of the overgate 104 is not 0,
This indicates that there is data that has been written to banks 47 and 48 but has not been read yet. CNT109
is a binary 3-bit counter, which is reset by the initial value setting signal START input to the reset terminal R, and by the input signal to the count up terminal UP.
When RREQ is "1", it is counted up at the rising edge of the clock signal T input to the clock terminal CK.
2進3ビツトのCNT109の値は、読出しア
ドレスを示している。CNT109はカウンタ値
の上位2ビツトをバンク読み出しアドレスRAH
としてアドレス線99に出力し、下位1ビツトを
読出すべきバンクの偶奇を示す信号RALとして
信号線111に出力する。 The 3-bit binary value of CNT 109 indicates the read address. CNT109 reads the upper 2 bits of the counter value from the bank address RAH.
The lower one bit is outputted to the signal line 111 as a signal RAL indicating whether the bank to be read is even or odd.
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メモリからデータの
読み出しが可能なことを知らせる信号である。 Reference numeral 112 denotes an EOR gate for detecting whether the bank to be read now and the mode designation signal SW match the bank designated for reading. When the least significant bit signal RAL of the CNT 109 is "0", the even bank 47 is the bank to be read now, and when the signal SW is "1", the even bank 47 is in the R mode. Signal RAL
When is "1", the odd bank 48 is the bank to be read now, and when the signal SW is "0",
This odd bank 48 becomes the R mode. Therefore, the EOR gate 112 allows signals RAL and SW to
The condition that "1" is output when "0" and "1" or "1" and "0" are present, and "0" is output at other times is satisfied. The AND gate 106 performs a logical product of the signals on the signal lines 105 and 113. Therefore, and gate 1
When the read permission signal ROK, which is the output of 06, becomes "1", there is data written in banks 47 and 48 that has not been read yet, and the bank with data to be read is in the read mode. This is only when the following conditions are met. Otherwise, it is "0". signal
As mentioned above, ROK is a signal that indicates that data can be read from the FiFO memory.
R制御回路の動作を、第6図のタイムチヤート
の動作例に基づいて説明する。信号線15から入
力される読出し要求信号RREQは、信号ROKが
“1”の時のみ“1”なることが外部の回路で保
証されている。たとえば、第1図のパイブライン
制御論理回路3が保証する。また、一連の読出し
要求に先立つ信号STARTにより、CNT100,
109が“0”に初期設定される点はW制御と同
じである。 The operation of the R control circuit will be explained based on the operation example of the time chart in FIG. An external circuit guarantees that the read request signal RREQ input from the signal line 15 becomes "1" only when the signal ROK is "1". For example, the pipeline control logic circuit 3 of FIG. 1 ensures this. In addition, the signal START prior to a series of read requests causes the CNT100,
This is the same as W control in that 109 is initially set to "0".
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上に出力する。 In the cycle in which the 0th write data is written to the even bank 47, the signal WE becomes "1".
CNT100 counts up at the next rising edge of clock signal T, and in the cycle, its output
REQCNT becomes “0001 2 ” and Owagate 104
outputs "1" to the signal line 105, indicating that unread data exists in the bank. On the other hand, in the cycle, the signal SW is "1" and the EOR gate 112 detects that even bank 47 is in the R mode, and outputs "1" to the signal line 113. AND gate 1 indicates that two conditions are met.
06 makes the determination and outputs "1" onto the signal line 13 as the signal ROK.
第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に出力される。 In the example in Figure 6, this response is an external signal.
The case where RREQ is "1" is shown. When the signal RREQ on the signal line 15 is “1”, CNT1
Count up 09. In the cycle, the signal WE indicating the first write becomes "1" at the same time, so the CNT 100 does not perform a counting operation. In the next cycle as well, the output signal REQCNT is held as "0001 2 ", indicating that there is one piece of unread data. In the cycle,
The output signal RAH of the upper two bits of the CNT 109 is "00" and is sent to the selection circuit 45 in FIG. 2 via the data line 99. In this cycle the signal
SW is "1", and the selector 451 in the selection circuit 45 selects the signal RAH and sends it to the address terminal AT of the bank 47. On the other hand, since the signal SW is "1", the AND gate 441 in FIG.
Set WEE to “0”. Since the signal WEE is “0”, the bank 47 executes the read operation to the “00” address indicated by the signal AE, and sends the contents of the 0th data written in the previous cycle to the data line as the signal DOE. 471. Since the signal SW is "1", the selector 491 in FIG.
Select DOE and use data line 10 as signal RDATA
Output to. With the above operation, the 0th data is output to the signal RDATA during the cycle.
1番目と2番目のデータの読出しも信号SWの
値と使用されるバンクの偶奇を除いては、同じ動
作を行なう。 The same operation is performed for reading the first and second data, except for the value of the signal SW and whether the bank used is even or odd.
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”にまで増加してい
る。 Writing of the third data is executed three cycles after completion of writing the second data. Therefore, in the second data read cycle, the signal RREQ is "1" and the signal WE is "0", so CNT100 is counted down, and in the next cycle, the signal REQCNT becomes "0000 2 ", The signal ROK should be "0", the signal RREQ="1" should not be input, and 3
The read operation for the th data is not executed. In the cycle following the cycle in which the signal WE becomes "1" in response to the third write request signal WREQ, the signal REQCNT becomes "0001 2 " and the signal
ROK becomes “1”. However, the operation example in FIG. 6 shows a case where the signal RREQ remains at "0" due to another external factor. In the next cycle, the signal SW becomes 1 and the odd bank 48 in which the third data is stored is not in the R mode, so the signal ROK becomes "0". In this cycle, the value of CNT100 is "0010 2 " reflecting the fourth write in the previous cycle. In the next cycle, the signal SW is “0”, so the signal
In the example shown, ROK is "1" and "1" is input as the signal RREQ. In this cycle, the signal REQCNT has increased to "0011 2 ".
以下、4番目から7番目までのデータが連続し
て読出されている例が示されている。サイクル
で最後の7番目のデータが信号RDATAとして送
出されている。サイクルからサイクルまでの
13サイクルの間に8個の書込み要求と8個の読出
し要求がこのFiFOメモリでは処理されている。
特にサイクルからサイクルまでの4サイクル
の間には4個の書込み要求と4個の読出し要求が
各サイクルに各々1個ずつ並列に処理され、この
FiFOメモリの最大処理能力が発揮されている。 An example is shown below in which the fourth to seventh data are read out consecutively. The seventh and final data in the cycle is sent out as signal RDATA. from cycle to cycle
During 13 cycles, 8 write requests and 8 read requests are processed in this FiFO memory.
In particular, during the four cycles from cycle to cycle, four write requests and four read requests are processed in parallel, one each in each cycle.
The maximum processing power of FiFO memory is demonstrated.
第7図に、本発明の一実施例として上述の
FiFOメモリを仲立として複数の演算器をプログ
ラムからの指示により動的に結合したデータ処理
装置の構成を示したものである。第6図までに説
明した、FiFOメモリを使用することにより間欠
的に書込みデータが発生しても正しく演算器から
演算器にデータを転送する機能が実現されてい
る。 FIG. 7 shows the above-mentioned system as an embodiment of the present invention.
This figure shows the configuration of a data processing device in which multiple arithmetic units are dynamically connected according to instructions from a program using FiFO memory as an intermediary. By using the FiFO memory described up to FIG. 6, the function of correctly transferring data from arithmetic unit to arithmetic unit even if write data occurs intermittently is realized.
パイプライン方式の演算ユニツト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は、セレクタを多数個を使用して構成
することができる。 Pipeline calculation units 901, 90
2,903 and FiFO memory 921,922,92
Distribution logic circuit 911 between 3,924,925
and 912 intervene. Distribution logic circuit 911, 91
2 has a function of allocating FiFO memory to the input source and output destination of each unit according to instructions from the outside. The distribution logic circuits 911 and 912 consist of a plurality of multi-input selector groups, and are well-known.
For example, at a certain point, the distribution logic circuit 912 selects the output of the FiFO buffer 921 as the input to the unit 903, and the output of the unit 903 is
The distribution logic circuit 911 can be selected to be an input to the FiFO memory 922, and at another time the FiFO memory 923 can be selected as an input to the unit 903.
Dynamic reconfiguration is possible by selecting FiFO memory 924 as the output. Distribution logic circuit 91
1,912 can be configured using a large number of selectors.
なお、FiFOメモリ921,……,925の各
構成は第2図のFiFOメモリの回路41を除いた
もので構成されており、回路41に相当するもの
は、回路41と同じ構成の回路910として設け
られ、各FiFOメモリ921,……,925間で
共用されている。 Note that each configuration of the FiFO memory 921, ..., 925 is configured by excluding the circuit 41 of the FiFO memory shown in FIG. It is provided and shared among each FiFO memory 921, . . . , 925.
第7図の演算ユニツトには、四則演算を実行す
る算術演算ユニツトだけでなく、多量のデータを
記憶することが可能な記憶制御ユニツトであつて
もよい。 The calculation unit shown in FIG. 7 may be not only an arithmetic operation unit that performs four arithmetic operations, but also a storage control unit that can store a large amount of data.
以上説明した様に本発明によれば、同時動作可
能な複数の演算器および記憶制御装置を動的に結
合し、かつ有効なデータが間欠に出力されても後
続の演算器に正しいデータを有効データとして後
続の演算器に入力するデータ処理装置を提供する
ことが可能である。
As explained above, according to the present invention, multiple arithmetic units and storage control devices that can operate simultaneously are dynamically coupled, and even if valid data is intermittently output, correct data is made available to subsequent arithmetic units. It is possible to provide a data processing device that inputs the data as data to a subsequent arithmetic unit.
第1図はFiFOメモリが適用された従来のパイ
プライン方式の演算処理装置のブロツク図、第2
図は本発明で使用するFiFOメモリのブロツク
図、第3図Aはバンクの動作モードを指定するモ
ード指定回路の一例を示す回路図、第3図Bは指
定信号SWによつて指定される各バンクのモード
を示す図、第4図はバンクの書込みを制御するW
制御回路の一例を示す回路図、第5図はバンクの
読出しを制御するR制御回路の一例を示す回路
図、第6図はFiFOメモリの動作を説明するため
のタイムチヤート、第7図は、本発明の一実施例
であるパイプライン方式のデータ処理装置のブロ
ツク図である。
41……モード指定回路、47……偶数バン
ク、48……奇数バンク、100……書き込み読
み出し制御回路。
Figure 1 is a block diagram of a conventional pipeline processing unit to which FiFO memory is applied;
The figure is a block diagram of the FiFO memory used in the present invention, FIG. 3A is a circuit diagram showing an example of a mode designation circuit that designates the operation mode of the bank, and FIG. A diagram showing the bank mode, FIG. 4 is a W which controls bank writing.
FIG. 5 is a circuit diagram showing an example of a control circuit, FIG. 5 is a circuit diagram showing an example of an R control circuit that controls bank reading, FIG. 6 is a time chart for explaining the operation of the FiFO memory, and FIG. 1 is a block diagram of a pipeline type data processing device which is an embodiment of the present invention. FIG. 41...mode designation circuit, 47...even bank, 48...odd bank, 100...write/read control circuit.
Claims (1)
作と書き込み動作が並列に実行可能な複数の記憶
手段と、 順次入力されるデータに対して演算をそれぞれ
行い、演算結果に対応するデータを新たな入力デ
ータの受信と並行して出力する複数の演算手段
と、 選択された第1の記憶手段から続み出された一
群のデータを順次少くとも一つの選択された演算
手段に供給し、該選択された演算手段から出力さ
れる一群のデータを選択された第2の記憶手段に
順次供給するように該複数の記憶手段と該複数の
演算手段とを命令に応答して選択的に接続する選
択手段と、 該選択された第1の記憶手段に保持された一群
のデータを、あらかじめ定められた記憶位置の順
序に従い順次読み出すように該第1の記憶手段を
制御し、該選択された演算手段から出力される一
群のデータを、該第2の記憶手段にあらかじめ定
められた記憶位置の順序に従い書き込むように該
第2の記憶手段を制御する手段であつて、該第1
の記憶手段から次に読み出すべきデータがすでに
そこに存在するか否かを検出し、そのデータが存
在しないときには、そのデータの読出しを禁止す
るための検出・禁止手段を有する制御手段とから
なるデータ処理装置。 2 該制御手段は、 各記憶手段ごとに設けられ、該検出・禁止手段
の制御のもとで、各記憶手段から一群のデータを
順次読み出す読出制御手段であつて、各記憶手段
内の記憶位置に対するアドレスをあらかじめ定め
られた順序で発生する読出カウンタを有するもの
と、 各記憶手段ごとに設けられ、各記憶手段へ供給
される一群のデータを順次書き込む書込制御手段
であつて、各記憶手段内の記憶位置に対するアド
レスをあらかじめ定められた順序で発生する書込
カウンタを有するものと、 からなる第1項のデータ処理装置。 3 該検出・禁止手段は、選択された該第1の記
憶手段に書き込まれたデータの数とそこからすで
に読み出されたデータの数との差から次に読み出
すべきデータがすでにそこに存在するか否かを検
出する手段を有する第1項又は第2項のデータ処
理装置。 4 該検出・禁止手段は、読み出し用に選択され
た一対の記憶手段の一方および他方に、次に読み
出すべき一対のデータの一方および他方がそれぞ
れすでに存在するかを検出し、該一対のデータの
いずれか一方が存在しないことが検出されたとき
に、該一対のデータの読み出しを禁止する手段を
有する第1項のデータ処理装置。 5 該検出・禁止手段は、各記憶手段ごとに設け
られた読出制御手段と書込制御手段にそれぞれ接
続され、各記憶手段ごとに、そこから次に続み出
すべきデータがすでに存在するか否かを検出する
複数の検出手段を有する第2項のデータ処理装
置。 6 該検出・禁止手段は該複数の検出手段の内、
読出し用に選択された記憶手段に対して設けられ
た検出手段からの、次に読み出すべきデータが存
在しないことを示す検出結果に応答して、該選択
された記憶手段からの、該データの読み出しを禁
止する禁止手段を有する第5項のデータ処理装
置。 7 該禁止手段は、読み出し用に選択された一対
の記憶手段に対してそれぞれ設けられた一対の検
出手段のいずれかからの、次に読み出すべき一対
のデータの一方あるいは他方のデータが存在しな
いことを示す検出結果に応答して、該一対の記憶
手段からの該一対のデータの読み出しを禁止する
手段を有する第6項のデータ処理装置。 8 該検出手段の各々は、対応する記憶手段にす
でに書き込まれたデータの数とそこから読み出さ
れたデータの数の差から、次に読み出すべきデー
タの存在を検出する手段である第5項のデータ処
理装置。[Scope of Claims] 1. A plurality of storage means each holding a group of data and capable of performing read and write operations in parallel, each of which performs arithmetic operations on sequentially input data and responds to the arithmetic results. a plurality of arithmetic means for outputting the data to be input in parallel with the reception of new input data; and a plurality of arithmetic means for outputting the data to be output in parallel with the reception of new input data; and selecting the plurality of storage means and the plurality of calculation means in response to a command so as to sequentially supply the group of data output from the selected calculation means to the selected second storage means. a selection means connected to the selected first storage means; controlling the first storage means to sequentially read out a group of data held in the selected first storage means according to a predetermined order of storage positions; means for controlling the second storage means to write a group of data output from the selected calculation means into the second storage means in accordance with a predetermined order of storage positions, the first
control means for detecting whether or not the next data to be read from the storage means already exists therein, and for prohibiting the reading of the data if the data does not exist; Processing equipment. 2. The control means is a read control means that is provided for each storage means and sequentially reads out a group of data from each storage means under the control of the detection/inhibition means, and the control means is a readout control means that sequentially reads out a group of data from each storage means under the control of the detection/inhibition means, and which controls the storage location within each storage means. and a write control means provided for each storage means for sequentially writing a group of data supplied to each storage means, the write control means being provided for each storage means and sequentially writing a group of data supplied to each storage means. 2. The data processing device according to claim 1, further comprising: a write counter that generates addresses for storage locations in a predetermined order; 3. The detection/inhibition means detects that the next data to be read already exists based on the difference between the number of data written in the selected first storage means and the number of data already read therefrom. 2. The data processing device according to claim 1 or 2, comprising means for detecting whether or not. 4. The detection/inhibition means detects whether one and the other of the pair of data to be read next already exist in one and the other of the pair of storage means selected for reading, and 2. The data processing device according to claim 1, further comprising means for prohibiting reading of the pair of data when it is detected that one of the data does not exist. 5. The detection/inhibition means is connected to the read control means and the write control means provided for each storage means, and detects for each storage means whether data to be continued next already exists or not. 2. The data processing device according to claim 2, having a plurality of detection means for detecting whether or not the data is detected. 6 The detection/prohibition means is one of the plurality of detection means,
Reading the data from the selected storage means in response to a detection result indicating that there is no data to be read next from a detection means provided for the storage means selected for reading. 6. The data processing device according to claim 5, having a prohibition means for prohibiting. 7. The prohibition means prohibits the absence of one or the other of the pair of data to be read next from either of the pair of detection means provided for the pair of storage means selected for reading. 7. The data processing device according to claim 6, further comprising means for inhibiting reading of the pair of data from the pair of storage means in response to a detection result indicating . 8. Clause 5, wherein each of said detection means is means for detecting the existence of data to be read next from the difference between the number of data already written in the corresponding storage means and the number of data read therefrom. data processing equipment.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59208256A JPS60167029A (en) | 1984-10-05 | 1984-10-05 | Data processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59208256A JPS60167029A (en) | 1984-10-05 | 1984-10-05 | Data processor |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP55129326A Division JPS6057090B2 (en) | 1980-09-19 | 1980-09-19 | Data storage device and processing device using it |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2750788A Division JPS63197274A (en) | 1988-02-10 | 1988-02-10 | data processing equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS60167029A JPS60167029A (en) | 1985-08-30 |
JPS6214855B2 true JPS6214855B2 (en) | 1987-04-04 |
Family
ID=16553228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP59208256A Granted JPS60167029A (en) | 1984-10-05 | 1984-10-05 | Data processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS60167029A (en) |
Family Cites Families (2)
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 |
-
1984
- 1984-10-05 JP JP59208256A patent/JPS60167029A/en active Granted
Also Published As
Publication number | Publication date |
---|---|
JPS60167029A (en) | 1985-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4809161A (en) | Data storage device | |
EP0248906A1 (en) | Multi-port memory system | |
US4862419A (en) | High speed pointer based first-in-first-out memory | |
JP2020509524A (en) | Memory circuit with write bypass unit | |
JP2008181551A (en) | Vector tail gating on computers with vector registers | |
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 | |
CA2000145C (en) | Data transfer controller | |
KR20020052669A (en) | First-In First-OUT memory and flag signal generating method thereof | |
JPH04105149A (en) | memory access device | |
JPS6214855B2 (en) | ||
US5845312A (en) | System for accessing dynamic random access memory where the logic/control circuit temporarily stops upon word line switching | |
JPS63197274A (en) | data processing equipment | |
JP3107595B2 (en) | Memory access control device and memory access control method | |
JPH01119823A (en) | First-in first-out storage device | |
JPS599944B2 (en) | data processing equipment | |
JPS5849960B2 (en) | Information check method | |
JPS6080193A (en) | memory system | |
JPH0242893A (en) | Time division switch | |
JPS6232552A (en) | Memory device | |
JPS61292290A (en) | First-in first-out memory device | |
JPH05257878A (en) | Buffer device | |
JPH04153976A (en) | Multifunctional first-in first-out memory device | |
JPH01103755A (en) | Device for transferring data | |
JPH04241635A (en) | Multiple scan path control system |