JP2001290700A - 出力fifoデータ転送制御装置 - Google Patents

出力fifoデータ転送制御装置

Info

Publication number
JP2001290700A
JP2001290700A JP2000106780A JP2000106780A JP2001290700A JP 2001290700 A JP2001290700 A JP 2001290700A JP 2000106780 A JP2000106780 A JP 2000106780A JP 2000106780 A JP2000106780 A JP 2000106780A JP 2001290700 A JP2001290700 A JP 2001290700A
Authority
JP
Japan
Prior art keywords
data
output fifo
output
instruction
full
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.)
Withdrawn
Application number
JP2000106780A
Other languages
English (en)
Inventor
Junko Obara
淳子 小原
Hiroyuki Kawai
浩行 河合
Yoshitsugu Inoue
喜嗣 井上
Robert Streitenberger
ロバート・ストライテンベルガー
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2000106780A priority Critical patent/JP2001290700A/ja
Priority to US09/778,778 priority patent/US6697889B2/en
Publication of JP2001290700A publication Critical patent/JP2001290700A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 プログラムによるFIFOの空き領域の確認
を不要とし、効率良くFIFO領域を利用することによ
ってデータ転送処理速度を向上させることが可能な出力
FIFOデータ転送制御装置を提供すること。 【解決手段】 出力FIFOデータ転送制御装置42
は、複数個のバンクを含む出力FIFO記憶装置44へ
のデータ転送命令を解析し、転送されるデータ量を算出
する命令解析部50と、命令解析部50により算出され
たデータ量から出力中のバンクに書込まれたデータ量を
算出し、出力中のバンクの空き容量が所定の条件を充足
するか否かを示す判定フラグを出力するデータカウント
部52、54と、データカウント部52、54からの判
定フラグまたは出力FIFO記憶装置44から出力され
るフルフラグがリセットされるまで次の命令の処理を禁
止するフルチェック部56とを含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、複数個の演算器
を持つプロセッサにおいて、1つの命令により任意の数
のデータを先入先出記憶装置(以下単に「FIFO」と
呼ぶ。)を介して出力装置に転送する際の転送を制御す
るための出力FIFOデータ転送制御装置に関し、特
に、FIFOのオーバーフローを防止することが可能な
出力FIFOデータ転送制御装置に関する。
【0002】
【従来の技術】複数個の演算器を有するプロセッサなど
において、出力装置との処理タイミングの相違を吸収し
たりするために、FIFOが使用される。図22を参照
して、従来の技術にかかるプロセッサ140は、複数個
の演算器40と、演算器40の出力を受ける出力FIF
Oデータ転送制御装置142と、出力FIFOデータ転
送制御装置142の出力を一時保持し、出力装置46に
出力するための出力FIFO44とを含む。
【0003】出力FIFOデータ転送制御装置142
は、出力FIFO44への書込み命令を解析するための
命令解析部150と、出力FIFO44に書込まれたデ
ータの数をカウントするためのデータカウント部152
と、出力FIFO44がFullか否かを調べるための
フラグを生成するためのチェックフラグ生成部154
と、チェックフラグ生成部154が生成したFullフ
ラグに基づいて出力FIFO44がFull状態か否か
を判定するためのFullチェック部156とを含む。
【0004】図23を参照して、この出力FIFOデー
タ転送制御装置142は以下のように動作する。まず命
令解析部150が、演算器40からの出力FIFO44
への書込命令を解析し、出力FIFO44にデータを書
込む(ステップ1。なお以下の説明では「ステップ」を
単に「S」と記載する。)。データカウント部152
は、命令解析部150によって出力FIFO44にデー
タが書込まれるたびにカウントをインクリメントする
(S2)ことにより出力FIFO44に書込まれたデー
タ数をカウントする。チェックフラグ生成部154は、
データカウント部152のカウントの値が出力FIFO
44のサイズ以上の場合にはチェックフラグ(fullchec
k)をセットする。
【0005】一方出力FIFO44においては、現在書
込中のバンクの次のバンクへの書込ができないときに
は、フラグOFIFO_full_flagをセットすることによりそ
れを示す。Fullチェック部156は、OFIFO_full_f
lagとfullcheckとの論理積をとり、その結果が1の場合
には出力FIFO44への書込が不可であると判定して
フラグfullcheckの値を1に設定する(S3)。したが
ってこの場合、Fullチェック部156は、出力FI
FO44の次のバンクのデータが全て読み出され次のバ
ンクが空となるまで(すなわちOFIFO_full_flagが0に
なるまで)、次の命令による出力FIFO44への書込
を止める(S5)。
【0006】
【発明が解決しようとする課題】この従来の方法では、
たとえば出力FIFO44のあるバンクの最後にデータ
が書込まれてバンクの最後に達したことが検出された後
に、次のバンクにデータを書込むことができるか否かを
判定している。すなわち、バンクの終わりにデータが書
込まれた後で、次のバンクへのデータの書込が可能か否
かが判定される。
【0007】そのため、従来の方法では、1命令で複数
のバンクにまたがって格納しなければならないデータ転
送が生じると、Fullチェック部156によって次の
バンクへの書込が不可能であるという判定がなされてい
る場合にも、その書込を止めることができないという問
題があった。
【0008】こうした問題を解決するために従来は、プ
ロセッサが実行するプログラム側で、出力FIFO44
にデータを書込む処理を行なう前に、必ず出力FIFO
44のFull状態をチェックする必要があった。この
チェック処理のため、従来の出力FIFOデータ転送制
御装置を用いた場合にはデータ処理転送速度の低下が引
き起こされている。
【0009】たとえば、図24を参照して、出力FIF
O44が4バンク構成であると想定する。図示されるよ
うに、バンク2の最後にデータ1個分の空きがあるが、
バンク3は全て書込み済みであるものとする。このと
き、従来の方法では、バンク2の最後のデータが書込ま
れた時点でFULLチェックを行なっている。そのため
たとえばバンク2の最後のデータを書込む命令が2個以
上のデータ(たとえば3個のデータ)を転送するような
命令であった場合には、バンク3の2個分のデータが、
まだ読み出されていないにもかかわらず上書きされてし
まうことになる。
【0010】こうした問題が生じないようにするために
は、前述したとおりプログラム側で転送の前に出力FI
FO44がFullか否かをチェックする必要がある。
場合によっては、命令発行のたびに毎回このチェックを
行なう必要が生じることもある。
【0011】こうした問題を解決するための一つの提案
が特開平11−161467号公報に開示されている。
この公報に開示の技術では、メモリをある境界で二つの
ブロックに分け、それぞれを別のFIFOとして使用し
ている。そしてそれぞれのFIFOの次の書込み位置の
算出(次アドレスの決定)方法を工夫して書込み/読出
制御回路の回路構成が複雑になるのを防止しているとと
もに、各FIFOごとに、次に書込まれるデータの大き
さと空き領域とを比較して、それぞれ空き領域が不足し
ているか否か、書込が可能か否かを判定している。
【0012】しかしこの技術では、FIFOの数が2つ
に限定されているために、大容量のデータを扱うことが
できない。また、二つのブロックが別々のFIFOとし
て使用されているため、メモリ領域の使用効率が悪いと
いう問題がある。
【0013】また、特開昭63−167949号公報
は、直列に接続された複数個のFIFOで構成される効
率のよいデータ転送システムを開示している。この技術
では、FIFO毎に、FIFOバッファがエンプティか
否かを示す情報を持ち、それによってFIFO全体とし
てどの程度の空き領域があるかを把握している。そし
て、こうして得られた空き領域の大きさと転送データの
大きさとを比較して空き領域の方が大きい場合にのみデ
ータをFIFOバッファに書込んでいる。
【0014】しかしこの技術では、FIFO毎に、エン
プティか否かを示す情報を持ち、かつ一つのFIFOに
一つでもデータが書込まれるとそのFIFOはエンプテ
ィでないとされる。そのため、実際にはまだ空き領域を
もつFIFOでもその領域を使用することができない場
合が生ずる。そのためにやはりFIFOの領域全体を効
率良く使用できずその結果転送効率も低下するという問
題がある。
【0015】それゆえに本発明の目的は、プログラムに
よるFIFOの空き領域不要とし、効率良くFIFO領
域を利用することによってデータ転送処理速度を向上さ
せることが可能な出力FIFOデータ転送制御装置を提
供することである。
【0016】
【課題を解決するための手段】この発明にかかる出力F
IFOデータ転送制御装置は、複数個のバンクからなる
出力FIFO記憶装置への演算器によるデータ転送命令
を解析して、転送されるデータ量を算出するとともに当
該データを出力FIFO記憶装置に書込む命令解析回路
を含む。出力FIFO記憶装置は、書込中のバンクの次
のバンクがフル状態のときにはフルフラグを出力する機
能を有する。この出力FIFOデータ転送制御装置はさ
らに、命令解析回路により算出されたデータ量から、出
力中のバンクに書込まれたデータ量を算出し、出力中の
バンクの空き容量が所定の条件を充足するか否かを判定
して判定フラグを出力するデータカウント回路と、デー
タカウント回路からの判定フラグまたは出力FIFO記
憶装置から出力されるフルフラグがリセットされるまで
次の命令の処理を禁止するフルチェック回路とを含む。
【0017】命令処理後、出力FIFO記憶装置の出力
中のバンクの空き容量を計算し、その空き容量がある条
件を充足しておらず、かつ次のバンクがフル状態である
場合には、次の命令の処理が禁止される。バンクの最後
まで到達する前に、次のデータを書込んでも不都合がな
いか否かが判定されるため、データの上書きが生ずるお
それはない。このとき、複数個のバンクの各々について
フルか否かを判定する必要はない。またプログラムでデ
ータの上書きを防止する処理を行なう必要もない。
【0018】好ましくは、データカウント回路は、命令
解析回路により算出されたデータ量から、出力中のバン
クに書込まれたデータ量を算出し、出力中のバンクの空
き容量が一回に転送可能な最大データ量以上であるとい
う条件が充足されるか否かを判定して判定フラグを出力
する。
【0019】一回に転送可能な最大データ量以上の空き
容量が確保されたとき、または次のバンクがフルでなく
なったときに次の命令の処理が開始されるので、次の命
令で最大量のデータが出力FIFO記憶装置に転送され
ても上書きされたりするおそれはない。
【0020】この発明の他の局面によれば、出力FIF
Oデータ転送制御装置は、出力FIFO記憶装置への演
算器によるデータ転送命令を解析して、転送されるデー
タ量を算出するとともに当該データを出力FIFO記憶
装置に書込む命令解析回路を含む。出力FIFO記憶装
置は、出力FIFO記憶装置からデータが読み出される
と読み出されたデータの個数を示す読出信号を出力す
る。この出力FIFOデータ転送制御装置はさらに、命
令解析回路により算出されたデータ量と、読出信号とか
ら、出力FIFO記憶装置の空き容量を算出し、出力F
IFO記憶装置の空き容量が所定の条件を充足するか否
かを判定して判定フラグを出力するデータカウント回路
と、データカウント回路からの判定フラグがリセットさ
れるまで次の命令の処理を禁止するフルチェック回路と
を含む。
【0021】命令処理後、出力FIFO記憶装置の空き
容量を計算し、その空き容量がある条件を充足していな
い場合には、次の命令の処理が禁止される。必ず十分な
空き容量があることが確認されてから次の命令が処理さ
れるため、データの上書きが生ずるおそれはない。また
プログラムでデータの上書きを防止する処理を行なう必
要もなく、処理の高速化を図ることができる。
【0022】出力FIFO記憶装置は複数個のバンクを
含んでもよいし、単一のバンクのみ含んでもよい。いず
れの場合にも、データの転送処理を高速化することがで
きる。
【0023】好ましくは、データカウント回路は、命令
解析回路により算出されたデータ量と、読出信号とか
ら、出力FIFO記憶装置の空き容量を算出し、出力F
IFO記憶装置の空き容量が1回に転送可能な最大デー
タ量以上であるという条件が充足されるか否かを判定し
て判定フラグを出力する。
【0024】出力FIFO記憶装置の空き容量が1回に
転送可能な最大データ量以上のときのみ次の命令が処理
される。したがって、次の命令で転送されるデータ量が
最大データ量であったとしてもデータの上書きが生ずる
おそれはない。そのためプログラムにおいてデータの上
書きを回避するための処理を行なうことが不要で、処理
を高速化することができる。
【0025】
【発明の実施の形態】実施の形態1 図1を参照して、本発明の実施の形態1にかかる出力F
IFOデータ転送制御装置を含むプロセッサ30は、複
数個の演算器40と、この演算器40の出力されるデー
タを受ける出力FIFOデータ転送制御装置42と、出
力FIFOデータ転送制御装置42によって制御され、
演算器40からのデータを一時保持して出力装置46に
転送するための、複数個のバンクからなる出力FIFO
44とを含む。
【0026】出力FIFOデータ転送制御装置42は、
出力FIFO44への書込命令を解析し、当該命令によ
って出力FIFO44に出力されるデータ数(m)を算
出する命令解析部50と、出力FIFO44の各バンク
に書込まれているデータをカウントするためのデータカ
ウント部52と、出力FIFO44のバンクがFull
状態か否かを調べるためのフラグを生成するチェックフ
ラグ生成部54と、出力FIFO44の空き領域の大き
さが所定の条件を充足しているか否かを調べ、その結果
に応じて命令解析部50による次の命令に対する処理を
禁止するためのFullチェック部56とを含む。
【0027】図2を参照して、この出力FIFOデータ
転送制御装置42は以下のように動作する。まず命令解
析部50は、命令を解析して次に出力FIFO44に書
込まれるべきデータの数(m)を算出し(S11)、こ
のデータを出力FIFO44に書込む。データカウント
部52は、出力FIFO44の各バンクに書込まれてい
るデータの数を示すカウンタの値にmの値を加算する。
すなわち、以下の式によってカウンタの値Counterを計
算する(S21)。
【0028】Counter = Counter + m …(1) チェックフラグ生成部54は、カウンタの値Counter
と、出力FIFO44のサイズ(N)から1命令で書込
めるデータの最大数(M)を減算した数(NN=N−
M)とを比較する。チェックフラグ生成部54は、カウ
ンタの値CounterがNN以上の場合には、チェックフラ
グfullcheckをセットし、他の場合にはリセットする
(S13)。これをC言語の記法にしたがって書けば以
下のとおりとなる。
【0029】 fullcheck = (NN=(N-M))<=counter) ? 1:0 …(2) Fullチェック部56は、出力FIFO44の次のバ
ンクへの書込みができるか否かを示すフラグOFIFO_full
_flag(できないとき1、それ以外のとき0となるもの
とする。)とチェックフラグ生成部54が生成したチェ
ックフラグfullcheckとの論理積をとる(S14)。そ
してこの結果OFIFO_fullが1か否かを判定する(S1
5)。結果OFIFO_fullが1のときには、処理はS14に
戻る(S15にて「YES」)。その結果、出力FIF
O44のデータが読出されてOFIFO_full_flagがリセッ
トされるまでS14およびS15の処理が繰返され、出
力FIFO44への次のデータの書込みをする命令の処
理が止められる。なおOFIFO_full_flagは、N個のFI
FOのバンクのうち、N−1個まではデータが書込まれ
ており、全てのデータがまだ読出されていない状態で、
N番目のバンクにデータが初めて書込まれたときにセッ
トされるものとする。
【0030】S15の判定の結果が「NO」となると処
理はS11に戻り、次の命令に対する処理が行なわれ
る。
【0031】このような構成とすることにより、出力F
IFO44に書込まれるデータの数が、データを出力F
IFO44に書込む前にカウントされ、バンクの終わり
には必ず出力FIFO44の空き領域の大きさが所定の
条件を充足しているか否かが調べられる。その結果、バ
ンクの境界をまたがるようなデータ転送があった場合
に、、ハードウェアにより高速にバンクがFullとな
るおそれがあるか否かを判定することができプログラム
側でバンクがFullか否かを判定する必要がなくな
る。処理速度の遅いソフトウェア処理が避けられ、デー
タ転送速度を向上させることができる。
【0032】この実施の形態1の出力FIFOデータ転
送制御装置の動作を具体的な例をあげて説明する。
【0033】図3に示すように出力FIFO44が4つ
のバンクBank1〜4を含み、各バンクのサイズが32で
あるものとする。この時、式(2)に示すNN=N−M
の値はNN=32−4=28である。したがってCounte
r>=28となるとfullcheckがセットされる。
【0034】図3において斜線で示した部分にはデータ
が書込済み(未読出)であるものとする。すなわち、バ
ンク1、3、4は全て書込み済みであり、バンク2のみ
が25個分だけ書込み済みであり未読出であるものとす
る。演算器の数は4つで、1命令で最大4個のデータが
同時に転送される可能性があるものとする。書込中のバ
ンクはバンク2である。このとき、次のバンク(バンク
3)への書込はできないので、OFIFO_full_flagはセッ
トされている。
【0035】この状態で以下のような命令が順に発行さ
れるものとし、そのときの出力FIFO44の状態につ
いて説明する。
【0036】 命令A:1個のデータ転送 命令B:3個のデータ転送 命令C:4個のデータ転送 (1)(S11:図2) Fullチェック部56が命令Aを解析し、m=1を求
める。出力FIFO44にデータを1個書込む(図
4)。
【0037】(2)(S12) データカウント部52においてCounter=Counter+1が計
算される。したがってCounter=25+1=26が求められる。
【0038】(3)(S13) チェックフラグ生成部54において、Countet>=28が成
り立たないので、fullcheckはセットされない。
【0039】(4)(S14、15) fullcheckが0であるので、チェックフラグ生成部54
における判定の結果、処理はS11に戻る。
【0040】(5)(S11) 命令解析部50において、次の命令(命令B)を解析
し、m=3を求める。さらに出力FIFO44に対して
データを3個書込む(図5)。
【0041】(6)(S12) データカウント部52においてCounter=26+3=29を求め
る。
【0042】(7)(S13) チェックフラグ生成部54において、Counter>=28が成
り立つのでfullcheckがセットされる。
【0043】(8)(S14) Fullチェック部56において、fullcheckが1、OFI
FO_full_flagも1であるのでOFIFO_fullは1となる。
【0044】(9)(S15) OFIFO_fullが1であるので、OFIFO_full_flagがリセッ
トされるまで(すなわち出力FIFO44のバンク3の
データが読み出されるまで)、Fullチェック部56
の処理(S14およびS15)を繰返す。バンク3のデ
ータが読み出され、OFIFO_full_flagがリセットされる
とFullチェック部56での判定の結果処理はS11
に戻る。このときの出力FIFO44の状態を図6に示
す。
【0045】(10)(S11) 命令解析部50が次の命令Cを解析し、m=4を求め、
出力FIFO44に対して4個のデータを書込む。
【0046】(11)(S12) データカウント部52においてCounter=29+4=33が求め
られる。
【0047】(12)(S13) チェックフラグ生成部54は、Counter>=28が成り立つ
のでfullcheckをセットする。
【0048】(13)(S14) OFIFO_full_flagは0である。したがってFullチェ
ック部56の判定結果であるOFIFO_fullも0となる。
【0049】(14)(S15) OFIFO_fullが0であるためS11に戻る(図7)。この
後の命令でデータ転送が行なわれる場合には、バンク3
のデータは既に読出済みである。したがってデータの上
書きが生ずるおそれはない。
【0050】以上のようにこの実施の形態の出力FIF
Oデータ転送制御装置42によれば、出力FIFO44
にデータを書込む際に、そのデータ数を求め、バンクの
終わりでそのバンクの空き領域の大きさを調べるように
した。そして、バンクをまたがってデータを書込む可能
性がある場合には、出力FIFO44に対するデータ転
送が確実に行える状態となるまで次の命令を受付けな
い。そのため、バンクをまたがるデータの書込みが発生
してもオーバーフローを回避でき、読み出されていない
データに上書きされるおそれはない。したがって、プロ
グラム側でそうしたデータの上書きを防止するための方
策をとる必要はない。その結果、データ転送処理速度の
向上を図ることができる。
【0051】実施の形態2 上に説明した実施の形態1では、出力FIFO44が複
数個のバンクからなっており、そのために上記した構成
でうまく転送を行なうことができる。ところが、出力F
IFOがバンクを1個しか持たないときに実施の形態1
と同様の方法を適用しようとすると、このバンクに実際
には空き領域がある場合であっても一部でもデータが書
込まれているとOFIFO_full_flagはリセットされない。
その間、データの書込はストップされる。そのためにデ
ータの転送処理速度が低下してしまうおそれがある。
【0052】この実施の形態2において説明する出力F
IFOデータ転送制御装置は、出力FIFOのバンクが
1つの場合でも高速にデータ転送を行なうよう改良した
ものである。そのためにこの実施の形態2では、単にF
IFOが全く空かそうでないかを示すフラグのみでな
く、FIFOにどの程度の空き領域があるかを調べ、空
き領域がある場合にはOFIFO_full_flagをリセットし、
ない場合にはセットする。以下この実施の形態2にかか
る出力FIFOデータ転送制御装置について詳細に説明
する。
【0053】図8を参照して、この実施の形態2にかか
る出力FIFOデータ転送制御装置72を含むプロセッ
サ70は、演算器40と、出力FIFOデータ転送制御
装置72と、一つのバンクからなり、出力FIFOデー
タ転送制御装置72からのデータを出力装置46に出力
するための出力FIFO74とを含む。
【0054】出力FIFOデータ転送制御装置72は、
出力FIFO74への書込み命令を解析するための命令
解析部80と、出力FIFO74に空き領域があるか否
かを調べるためのデータカウント部82と、出力FIF
O74がFull状態か否かを調べるためのFullチ
ェック部86とを含む。
【0055】図9を参照して、出力FIFOデータ転送
制御装置72は以下のように動作する。命令解析部80
は、演算器40から出力FIFO74へのデータの書込
み命令を受けると、書込まれるデータ数(m)を求め、
出力FIFO74にデータを書込む(S21)。データ
カウント部82は、自分が維持している出力FIFO7
4内に格納されているデータ数を表わすカウンタの値n
umに、命令解析部80が求めた値mを加算する。すな
わち以下の計算が行なわれる(S22)。
【0056】num=num+m …(4) データカウント部82はさらに、出力FIFO74から
データが読み出された場合には、読み出された数(rと
する。)だけ、カウンタの値numから減算する。すな
わち以下の計算が行なわれる(S23)。
【0057】num=num-r …(5) データカウント部82はこうして計算して得られたカウ
ンタの値numの値が出力FIFO74のサイズ(N)
から1命令で転送できるデータの最大数(M)を減算し
た値(N−M)以上か否かを判定する(S24)。nu
m>N-MであればフラグOFIFO_full_flag_mをセットし、
それ以外であればOFIFO_full_flag_mをリセットする
(S24)。これをC言語の記法にしたがって表現する
と以下のとおりとなる。
【0058】 OFIFO_full_flag_m=(num>=N-M) ? 1:0 …(6) そしてFullチェック部86は、OFIFO_full_flag_m
が1であればS23に戻り(S25)、OFIFO_full_fla
g_mがリセットされるまでS23〜S25の処理を繰返
す。すなわち出力FIFOデータ転送制御装置72は、
出力FIFO74からデータが読み出されて式(6)内
の条件式が成立しなくなるまで、次の命令を受付けな
い。式(6)内の条件式が成立すると制御はS21に戻
り、次の命令の処理を行なう。
【0059】この出力FIFOデータ転送制御装置72
の動作を具体的な例で説明する。図10に示すように、
出力FIFO74はサイズが32で1個のバンクを持つ
ものとする。演算器40の数は4つ、したがって最大4
個のデータが同時に転送される可能性があるものとす
る。このとき、式(6)のNN=N-MはNN=32-4=8とな
る。すなわち出力FIFOデータ転送制御装置72は、
num>=28のときにOFIFO_full_flag_mをセットす
る。
【0060】たとえば、図10に示すように出力FIF
O74に25個のデータが書込まれており、1個も読み
出されていない場合を想定する(num=25)。このと
き、以下のような命令が発行され、かつ命令Aと命令B
との間に2個のデータが読み出されるものとする。
【0061】 命令A:1個転送(2個読出) 命令B:3個転送 命令C:4個転送 このとき、具体的な動作にしたがって出力FIFO74
の状態は以下のように変化する。
【0062】(1) (S21) 命令解析部80において命令Aが解析され、m=1が求
められる。また出力FIFO74にデータが1個書込ま
れる。
【0063】(2)(S22) データカウント部82においてnum=25+1=26を求
める(図11)。
【0064】(3)(S23) データが2個読み出されたことに応答して、データカウ
ント部82においてnum=26-2=24が計算される(図
12)。
【0065】(4)(S24) num>=28が満足されないので、Fullチェック部
86はOFIFO_full_flag_mをリセットする。
【0066】(5)(S25) OFIFO_full_flag_mが0であるので、制御はS21に戻
り次の命令(命令B)の処理が開始される。
【0067】(6)(S21) 命令解析部80が命令Bを解析しm=3を求める。出力
FIFO74にデータが3個書込まれる。
【0068】(7)(S22、S23) データカウント部82においてnum=24+3=27が求
められる。データの読出はなく、r=0である。したがっ
てnum=27である(図13)。
【0069】(8)(S24) num>=28を満足しないので、Fullチェック部8
6はOFIFO_full_flag_mをリセットする。
【0070】(9)(S25) OFIFO_full_flag_mが0であるので、制御はS21に戻
り、次の命令(命令C)の処理が開始される。
【0071】(10)(S21) 命令解析部80が命令Cを解析しm=4を求める。出力
FIFO74にデータが4個書込まれる。
【0072】(11)(S22、S23) データカウント部82においてnum=num+m=27
+4=31が求められる(図14)。
【0073】(12)(S24) num>=28が成り立つので、Fullチェック部86
はOFIFO_full_flag_mをセットする。
【0074】(13)(S25) OFIFO_full_flag_mが1であるので、Fullチェック
部86はOFIFO_full_flag_mが1になるまでS23〜S
25の処理を繰返す。出力FIFO74からデータが4
個以上読み出されてOFIFO_full_flag_mがリセットされ
0になれば(図15)、制御はS21に戻りさらに次の
命令の処理が開始される。
【0075】以上のようにこの実施の形態の装置では、
出力FIFO74に空き領域があるか否かを調べ、十分
な空き領域さえあれば全てのデータが読み出される前に
データを出力FIFO74に書込むことができる。その
結果、出力FIFO74への書込みが停止するおそれが
少なくなり、出力FIFO74を効率良く使用してデー
タ転送処理速度を向上させることができる。
【0076】実施の形態3 上に説明した実施の形態2では、出力FIFOのバンク
数が1であり、それ故に上記したように十分な空き領域
があるか否かを調べることによってデータ転送処理速度
の向上を図っている。しかし、出力FIFOに十分な空
き領域があるか否かを調べる手法は、出力FIFOのバ
ンク数が1のときだけに適用可能なわけではなく、バン
ク数が複数のときにも適用できる。以下に説明する実施
の形態3は、そうした例である。
【0077】図16を参照して、この実施の形態3にか
かる出力FIFOデータ転送制御装置112を有するプ
ロセッサ100は、演算器40と、出力FIFOデータ
転送制御装置112と、出力FIFOデータ転送制御装
置112から受けるデータを出力装置46に出力する、
複数個のバンクを含む出力FIFO44とを含む。
【0078】出力FIFOデータ転送制御装置112
は、演算器40から受ける命令を解析するための命令解
析部120と、出力FIFO44に空き領域があるか否
かを調べるためのデータカウント部122と、出力FI
FO44がFull状態か否かを調べるためのFull
チェック部126とを含む。
【0079】図17を参照して、この出力FIFOデー
タ転送制御装置112は以下のように動作する。命令解
析部120は、演算器40から出力FIFO44へのデ
ータの書込み命令を受けると、書込まれるデータ数
(m)を求め、出力FIFO44にデータを書込む(S
21)。データカウント部122は、自分が維持してい
る出力FIFO44内に格納されているデータ数を表わ
すカウンタの値numに、命令解析部120が求めた値
mを加算する。すなわち以下の計算が行なわれる(S2
2)。
【0080】num=num+m …(4) データカウント部122はさらに、出力FIFO44か
らデータが読み出された場合には、読み出された数
(r)だけ、カウンタの値numから減算する。すなわ
ち以下の計算が行なわれる(S23)。
【0081】num=num−r …(5) データカウント部122はこうして計算して得られたカ
ウンタの値numの値が出力FIFO44の各バンクの
トータルサイズ(N*B、ただしBはバンク数)から1
命令で転送できるデータの最大数(M)を減算した値
(NN=N*B−M)以上か否かを判定する(S2
4)。num>N*B-MであればフラグOFIFO_full_flag_m
をセットし、それ以外であればOFIFO_full_flag_mをリ
セットする(S34)。これをC言語の記法にしたがっ
て表現すると以下のとおりとなる。
【0082】 OFIFO_full_flag_m=(num>=N*B-M) ? 1:0 …(7) そしてFullチェック部126は、OFIFO_full_flag_
mが1であればS23に戻り(S25)、OFIFO_full_fl
ag_mがリセットされるまでS23〜S25の処理を繰返
す。すなわち出力FIFOデータ転送制御装置112
は、出力FIFO44からデータが読み出されて式
(6)内の条件式が成立しなくなるまで、次の命令を受
付けない。式(6)内の条件式が成立すると制御はS2
1に戻り、次の命令の処理を行なう。
【0083】このときの出力FIFO44の状態を具体
的に説明する。図18に示すように、出力FIFO44
が、各々サイズが32の4つのバンクを有するものとす
る(B=4)。演算器40の数は4つで、したがって同
時に4個のデータが出力FIFO44に転送される可能
性があるものとする(M=4)。このとき、式(7)の
NN=N*B−M=32*4−4=124である。した
がってnum>=124のときにOFIFO_full_flag_mがセッ
トされる。
【0084】たとえば図18に示すように出力FIFO
44に121個のデータが書込まれており、1個も読み
出されていないものとする(num=121)。そして、
以下のような命令が発行されるものとし、かつ命令Aと
命令Bとの間には出力FIFO44から2個のデータが
読み出されるものと仮定する。
【0085】 命令A:1個転送(2個読出) 命令B:3個転送 命令C:4個転送 このとき、具体的な動作にしたがって出力FIFO74
の状態は以下のように変化する。
【0086】(1) (S21) 命令解析部120において命令Aが解析され、m=1が
求められる。また出力FIFO44にデータが1個書込
まれる。
【0087】(2)(S22) データカウント部122においてnum=121+1=122
を求める。
【0088】(3)(S23) データが2個読み出されたことに応答して、データカウ
ント部122においてnum=122-2=120が計算され
る。
【0089】(4)(S34) num>=124が満足されないので、Fullチェック
部126はOFIFO_full_flag_mをリセットする。
【0090】(5)(S25) OFIFO_full_flag_mが0であるので、制御はS21に戻
り次の命令(命令B)の処理が開始される。
【0091】(6)(S21) 命令解析部120が命令Bを解析しm=3を求める。出
力FIFO44にデータが3個書込まれる。
【0092】(7)(S22、S23) データカウント部122においてnum=120+3=123
が求められる。データの読出はなく、r=0である。した
がってnum=123である。
【0093】(8)(S24) num>=124を満足しないので、Fullチェック部
126はOFIFO_full_flag_mをリセットする。
【0094】(9)(S25) OFIFO_full_flag_mが0であるので、制御はS21に戻
り、次の命令(命令C)の処理が開始される。
【0095】(10)(S21) 命令解析部120が命令Cを解析しm=4を求める。出
力FIFO44にデータが4個書込まれる。
【0096】(11)(S22、S23) データカウント部122においてnum=num+m=
123+4=127が求められる。
【0097】(12)(S24) num>=124が成り立つので、Fullチェック部1
26はOFIFO_full_flag_mをセットする。
【0098】(13)(S25) OFIFO_full_flag_mが1であるので、Fullチェック
部126はOFIFO_full_flag_mが0になるまでS23〜
S25の処理を繰返す。出力FIFO44からデータが
4個以上読み出されてOFIFO_full_flag_mがリセットさ
れ0になれば、制御はS21に戻りさらに次の命令の処
理が開始される。
【0099】以上のようにしてこの実施の形態の装置に
おいても、出力FIFO44が複数個のバンクを有して
いる場合にも、出力FIFO44の空き領域をカウント
することにより出力FIFO44にデータ転送のために
十分な領域があるか否かを判定し、十分な領域があるの
であれば、出力FIFO44のデータが全て読み出され
るのを待たずにデータを出力FIFO44に書込むこと
ができる。その結果、データ転送処理速度向上させるこ
とができる。
【0100】実施の形態4 実施の形態1〜3においては、出力FIFOの各バンク
に書込まれたデータの数をカウントして、出力FIFO
の空き領域の大きさが所定の条件を充足しているか否か
を調べる。この空き領域を調べるための手段としては以
下の方法もある。
【0101】図19を参照して、この第4の実施の形態
にかかるプロセッサ130は、図1に示す第1の実施の
形態の出力FIFOデータ転送制御装置42に替えて、
以下に述べる点で出力FIFOデータ転送制御装置42
と異なる出力FIFOデータ転送制御装置132を含
む。出力FIFOデータ転送制御装置132は、出力F
IFOデータ転送制御装置42のデータカウント部52
に替えて、以下に述べるような方法にしたがって出力F
IFO44の空き領域の大きさを調べる空き領域算出部
144を有する点のみで異なる。図19において、図1
と同じ部品には同じ参照符号を付してある。それらの機
能および名称も同一である。したがってここではそれら
についての詳細な説明は繰返さない。
【0102】図20を参照して、空き領域算出部144
の機能も含めて出力FIFOデータ転送制御装置132
の動作について説明する。まず命令解析部50は、命令
を解析して次に出力FIFO44に書込まれるべきデー
タの数(m)を算出し、このデータを出力FIFO44
に書込む(S11)。空き領域算出部は、出力FIFO
44の各バンクに書込むことができるデータの数を示す
カウンタの値Counter(初期値はCounter=N)からmの値
を減算する。すなわち、以下の式によってカウンタの値
Counterを計算する(S42)。
【0103】Counter = Counter - m チェックフラグ生成部54は、カウンタの値Counter
と、出力FIFO44に1命令で書込めるデータの最大
数(M)とを比較する。チェックフラグ生成部54は、
カウンタの値CounterがM未満の場合には、チェックフ
ラグfullcheckをセットし、他の場合にはリセットする
(S13)。これをC言語の記法にしたがって書けば以
下のとおりとなる。
【0104】fullcheck = (Counter < M) ? 1:0 Fullチェック部56は、出力FIFO44の次のバ
ンクへの書込みができるか否かを示すフラグOFIFO_full
_flag(できないとき1、それ以外のとき0となるもの
とする。)とチェックフラグ生成部54が生成したチェ
ックフラグfullcheckとの論理積をとる(S14)。そ
してこの結果OFIFO_fullが1か否かを判定する(S1
5)。
【0105】以後の処理は実施の形態1の場合と同様で
ある。またこの実施の形態4によっても実施の形態1と
同様の効果を得ることができる。
【0106】実施の形態5 実施の形態2についても、同様な変形を行なうことがで
きる。すなわち、図8に示す実施の形態2では、出力F
IFOに書込まれているデータ数をカウントするための
データカウント部82を設け、その計算結果に基づいて
出力FIFO74がフルか否かをfullチェック部8
6で判定している。これに替えて、書込まれたデータ数
と読出されたデータ数とから、出力FIFO74におい
てさらに書込が可能な領域の大きさを直接算出して維持
するための手段を設け、その書込が可能な大きさと出力
FIFO74に1度に書込むことができる最大のデータ
数とを比較するような構成にすることができる。図21
に示す実施の形態5の装置はそのような装置である。な
おハードウェア的構成は図8に示したものとほぼ同様で
あるので、ここでは制御の流れを図21のフローチャー
トにしたがって説明する。なお以下の説明では、各部の
参照符号として図8に示したものを用いる。また、図8
のデータカウント部82にかえて空き領域算出部を持つ
ものとする(図示せず)。
【0107】図21を参照して、この出力FIFOデー
タ転送制御装置は、以下のように動作する。命令解析部
80は、演算器40から出力FIFO74へのデータの
書込み命令を受けると、書込まれるデータ数(m)を求
め、出力FIFO74にデータを書込む(S21)。空
き領域算出部は、自分が維持している出力FIFO74
内に書込めるデータ数を表わすカウンタの値numか
ら、命令解析部80が求めた値mを減算する。すなわち
以下の計算が行なわれる(S52)。
【0108】num=num - m 空き領域算出部はさらに、出力FIFO74からデータ
が読み出された場合には、読み出された数(rとす
る。)を、カウンタの値numに加算する。すなわち以
下の計算が行なわれる(S53)。
【0109】num=num + r …(5) 空き領域算出部はこうして計算して得られたカウンタの
値numの値が、出力FIFO74に1命令で転送でき
るデータの最大数(M)未満か否かを判定する(S2
4)。num<MであればフラグOFIFO_full_flag_mを
セットし、それ以外であればOFIFO_full_flag_mをリセ
ットする(S54)。これをC言語の記法にしたがって
表現すると以下のとおりとなる。
【0110】 OFIFO_full_flag_m=(num<M) ? 1:0 …(6) そしてFullチェック部86は、OFIFO_full_flag_m
が1であればS23に戻り(S25)、OFIFO_full_fla
g_mがリセットされるまでS23〜S25の処理を繰返
す。
【0111】以後の処理は実施の形態2の場合と同様で
あり、同様の効果を得ることができる。
【0112】同様の考えを実施の形態3についても適用
することができる。ただしこの場合、numの初期値は
N*Bである。
【0113】今回開示された実施の形態はすべての点で
例示であって制限的なものではないと考えられるべきで
ある。本発明の範囲は上記した説明ではなくて特許請求
の範囲によって示され、特許請求の範囲と均等の意味お
よび範囲内でのすべての変更が含まれることが意図され
る。
【0114】
【発明の効果】以上のようにこの発明によれば、バンク
の最後まで到達する前に、次のデータを書込んでも不都
合がないか否かが必ず判定されるため、データの上書き
が生ずるおそれはない。プログラムでデータの上書きを
防止する処理を行なう必要もなく、データ転送処理速度
の向上を図ることができる。
【0115】一回に転送可能な最大データ量以上の空き
容量が確保されたとき、または次のバンクがフルでなく
なったときに次の命令の処理が開始されるようにした場
合には、次の命令で最大量のデータが出力FIFO記憶
装置に転送されても上書きされたりするおそれはないの
で、プログラムでデータの上書きを防止する処理を行な
う必要もなく、データ転送処理速度の向上を図ることが
できる。
【0116】この発明の他の局面によれば、必ず十分な
空き容量があることが確認されてから次の命令が処理さ
れるため、データの上書きが生ずるおそれはない。また
プログラムでデータの上書きを防止する処理を行なう必
要もなく、データ転送処理速度の高速化を図ることがで
きる。
【0117】出力FIFO記憶装置が複数個のバンクを
含んでいる場合でも、単一のバンクのみ含んでいる場合
でも、データ転送処理速度を高速化することができる。
【0118】出力FIFO記憶装置の空き容量が1回に
転送可能な最大データ量以上のときのみ次の命令が処理
されるようにすると、次の命令で転送されるデータ量が
最大データ量であったとしてもデータの上書きが生ずる
おそれはない。そのためプログラムにおいてデータの上
書きを回避するための処理を行なうことが不要で、デー
タ転送処理速度の高速化を図ることができる。
【図面の簡単な説明】
【図1】 本発明の実施の形態1にかかる出力FIFO
データ転送制御装置を含むプロセッサのブロック図であ
る。
【図2】 本発明の実施の形態1にかかる出力FIFO
データ転送制御装置の制御プログラムのフローチャート
である。
【図3】 本発明の実施の形態1にかかる出力FIFO
データ転送制御装置の動作を示すためのFIFOの模式
図である。
【図4】 本発明の実施の形態1にかかる出力FIFO
データ転送制御装置の動作を示すためのFIFOのバン
ク2の模式図である。
【図5】 本発明の実施の形態1にかかる出力FIFO
データ転送制御装置の動作を示すためのFIFOのバン
ク2の模式図である。
【図6】 本発明の実施の形態1にかかる出力FIFO
データ転送制御装置の動作を示すためのFIFOのバン
ク2の模式図である。
【図7】 本発明の実施の形態1にかかる出力FIFO
データ転送制御装置の動作を示すためのFIFOのバン
ク2の模式図である。
【図8】 本発明の実施の形態2にかかる出力FIFO
データ転送制御装置を含むプロセッサのブロック図であ
る。
【図9】 本発明の実施の形態2にかかる出力FIFO
データ転送制御装置の制御プログラムのフローチャート
である。
【図10】 本発明の実施の形態2にかかる出力FIF
Oデータ転送制御装置の動作を示すためのFIFOのバ
ンク2の模式図である。
【図11】 本発明の実施の形態2にかかる出力FIF
Oデータ転送制御装置の動作を示すためのFIFOのバ
ンク2の模式図である。
【図12】 本発明の実施の形態2にかかる出力FIF
Oデータ転送制御装置の動作を示すためのFIFOのバ
ンク2の模式図である。
【図13】 本発明の実施の形態2にかかる出力FIF
Oデータ転送制御装置の動作を示すためのFIFOのバ
ンク2の模式図である。
【図14】 本発明の実施の形態2にかかる出力FIF
Oデータ転送制御装置の動作を示すためのFIFOのバ
ンク2の模式図である。
【図15】 本発明の実施の形態2にかかる出力FIF
Oデータ転送制御装置の動作を示すためのFIFOのバ
ンク2の模式図である。
【図16】 本発明の実施の形態3にかかる出力FIF
Oデータ転送制御装置を含むプロセッサのブロック図で
ある。
【図17】 本発明の実施の形態3にかかる出力FIF
Oデータ転送制御装置の制御プログラムのフローチャー
トである。
【図18】 本発明の実施の形態3にかかる出力FIF
Oデータ転送制御装置の動作を示すためのFIFOの模
式図である。
【図19】 本発明の実施の形態4にかかる出力FIF
Oデータ転送制御装置を含むプロセッサのブロック図で
ある。
【図20】 本発明の実施の形態4にかかる出力FIF
Oデータ転送制御装置の制御プログラムのフローチャー
トである。
【図21】 本発明の実施の形態5にかかる出力FIF
Oデータ転送制御装置の制御プログラムのフローチャー
トである。
【図22】 従来の技術にかかる出力FIFOデータ転
送制御装置を含むプロセッサのブロック図である。
【図23】 従来の技術にかかる出力FIFOデータ転
送制御装置の制御プログラムのフローチャートである。
【図24】 従来の技術にかかる出力FIFOデータ転
送制御装置の動作を示すためのFIFOの模式図であ
る。
【符号の説明】
30,70,100,130,140 プロセッサ、4
0 演算器、42,72,112,132,142 出
力FIFOデータ転送制御装置、50,80,120,
150 命令解析部、52,82,122,152 デ
ータカウント部、54,154 チェックフラグ生成
部、56,86,126,156 Fullチェック
部、134 空き領域算出部。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 13/38 310 G06F 13/38 310D (72)発明者 井上 喜嗣 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 ロバート・ストライテンベルガー 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 Fターム(参考) 5B060 AA14 AC11 CA17 5B077 AA15 AA45 BA02 DD01 DD12 DD17 DD22 MM03

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 複数個のバンクからなり、書込中のバン
    クの次のバンクがフル状態のときにはフルフラグを出力
    する機能を有する出力FIFO記憶装置への演算器によ
    るデータ転送命令を解析して、転送されるデータ量を算
    出するとともに当該データを前記出力FIFO記憶装置
    に書込む命令解析回路と前記命令解析回路により算出さ
    れたデータ量から、出力中のバンクに書込まれたデータ
    量を算出し、前記出力中のバンクの空き容量が所定の条
    件を充足するか否かを判定して判定フラグを出力するデ
    ータカウント回路と、 前記データカウント回路からの判定フラグまたは前記出
    力FIFO記憶装置から出力される前記フルフラグがリ
    セットされるまで次の命令の処理を禁止するフルチェッ
    ク回路とを含む、出力FIFOデータ転送制御装置。
  2. 【請求項2】 前記データカウント回路は、前記命令解
    析回路により算出されたデータ量から、出力中のバンク
    に書込まれたデータ量を算出し、前記出力中のバンクの
    空き容量が一回に転送可能な最大データ量以上であると
    いう条件が充足されるか否かを判定して判定フラグを出
    力する、請求項1に記載の出力FIFOデータ転送制御
    装置。
  3. 【請求項3】 データが読み出されると読み出されたデ
    ータの個数を示す読出信号を出力する出力FIFO記憶
    装置への演算器によるデータ転送命令を解析して、転送
    されるデータ量を算出するとともに当該データを前記出
    力FIFO記憶装置に書込む命令解析回路と、 前記命令解析回路により算出されたデータ量と、前記読
    出信号とから、前記出力FIFO記憶装置の空き容量を
    算出し、前記出力FIFO記憶装置の空き容量が所定の
    条件を充足するか否かを判定して判定フラグを出力する
    データカウント回路と、 前記データカウント回路からの判定フラグがリセットさ
    れるまで次の命令の処理を禁止するフルチェック回路と
    を含む、出力FIFOデータ転送制御装置。
  4. 【請求項4】 前記出力FIFO記憶装置は複数個のバ
    ンクを含む、請求項3に記載の出力FIFOデータ転送
    制御装置。
  5. 【請求項5】 前記出力FIFO記憶装置は単一のバン
    クを含む、請求項3に記載の出力FIFOデータ転送制
    御装置。
  6. 【請求項6】 前記データカウント回路は、前記命令解
    析回路により算出されたデータ量と、前記読出信号とか
    ら、前記出力FIFO記憶装置の空き容量を算出し、前
    記出力FIFO記憶装置の空き容量が1回に転送可能な
    最大データ量以上であるという条件が充足されるか否か
    を判定して判定フラグを出力する、請求項3〜請求項5
    のいずれかに記載の出力FIFOデータ転送制御装置。
JP2000106780A 2000-04-07 2000-04-07 出力fifoデータ転送制御装置 Withdrawn JP2001290700A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000106780A JP2001290700A (ja) 2000-04-07 2000-04-07 出力fifoデータ転送制御装置
US09/778,778 US6697889B2 (en) 2000-04-07 2001-02-08 First-in first-out data transfer control device having a plurality of banks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000106780A JP2001290700A (ja) 2000-04-07 2000-04-07 出力fifoデータ転送制御装置

Publications (1)

Publication Number Publication Date
JP2001290700A true JP2001290700A (ja) 2001-10-19

Family

ID=18619894

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000106780A Withdrawn JP2001290700A (ja) 2000-04-07 2000-04-07 出力fifoデータ転送制御装置

Country Status (2)

Country Link
US (1) US6697889B2 (ja)
JP (1) JP2001290700A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7512311B2 (en) 2002-05-20 2009-03-31 Sanyo Electric Co., Ltd. Data output apparatus and method with managed buffer
KR101381775B1 (ko) * 2012-08-30 2014-04-07 한국기술교육대학교 산학협력단 반도체 소자의 유효 사용기간 제어 시스템과 그 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6795360B2 (en) 2001-08-23 2004-09-21 Integrated Device Technology, Inc. Fifo memory devices that support all four combinations of DDR or SDR write modes with DDR or SDR read modes
US7082071B2 (en) * 2001-08-23 2006-07-25 Integrated Device Technology, Inc. Integrated DDR/SDR flow control managers that support multiple queues and MUX, DEMUX and broadcast operating modes
US7120075B1 (en) 2003-08-18 2006-10-10 Integrated Device Technology, Inc. Multi-FIFO integrated circuit devices that support multi-queue operating modes with enhanced write path and read path queue switching
US7822891B2 (en) * 2006-06-13 2010-10-26 Broadcom Corporation System and method for transferring a multidimensional array of data to a non-contiguous buffer
US9501407B1 (en) * 2011-09-16 2016-11-22 Altera Corporation First-in-first-out memory with dual memory banks

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8528891D0 (en) * 1985-11-23 1986-01-02 Int Computers Ltd Data transmission system
JPS63167949A (ja) 1986-12-30 1988-07-12 Fanuc Ltd デ−タ転送システム
US4995056A (en) * 1989-01-13 1991-02-19 International Business Machines Corporation System and method for data communications
JPH0546547A (ja) 1991-08-12 1993-02-26 Ricoh Co Ltd データ処理装置
US6101329A (en) * 1997-02-18 2000-08-08 Lsi Logic Corporation System for comparing counter blocks and flag registers to determine whether FIFO buffer can send or receive data
US6172927B1 (en) * 1997-04-01 2001-01-09 Ramtron International Corporation First-in, first-out integrated circuit memory device incorporating a retransmit function
JPH11161467A (ja) 1997-12-01 1999-06-18 Ricoh Co Ltd データ転送制御装置
US6188699B1 (en) * 1997-12-11 2001-02-13 Pmc-Sierra Ltd. Multi-channel encoder/decoder
US6463485B1 (en) * 1998-06-03 2002-10-08 Cisco Technology, Inc. System for providing cell bus management in a switch platform including a write port cell count in each of a plurality of unidirectional FIFO for indicating which FIFO be able to accept more cell

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7512311B2 (en) 2002-05-20 2009-03-31 Sanyo Electric Co., Ltd. Data output apparatus and method with managed buffer
KR101381775B1 (ko) * 2012-08-30 2014-04-07 한국기술교육대학교 산학협력단 반도체 소자의 유효 사용기간 제어 시스템과 그 방법

Also Published As

Publication number Publication date
US20010029558A1 (en) 2001-10-11
US6697889B2 (en) 2004-02-24

Similar Documents

Publication Publication Date Title
US20070220361A1 (en) Method and apparatus for guaranteeing memory bandwidth for trace data
JP3810449B2 (ja) キュー装置
US6738896B1 (en) Method and apparatus for determining availability of a queue which allows random insertion
US6654837B1 (en) Dynamic priority external transaction system
JP2000330859A (ja) 読取/書込コヒーレンシを有するバス利用度最適化
US7490219B2 (en) Counter counts valid requests based on a judgment in a system having a plurality of pipeline processors
US7631132B1 (en) Method and apparatus for prioritized transaction queuing
JP2001290700A (ja) 出力fifoデータ転送制御装置
JP3317873B2 (ja) データ転送制御装置
US6697882B1 (en) Memory controller and method control method, and rendering device and printing device using the same
EP0220990A2 (en) Buffer storage control system
US6584512B1 (en) Communication DMA device for freeing the data bus from the CPU and outputting divided data
JP3008895B2 (ja) マルチプロセッサの負荷の均一化装置
EP2124148A1 (en) Detection device, program, and detection method
JP3467188B2 (ja) 多重化バスの順序保証システム
JP3145545B2 (ja) メモリアクセス装置
JP2000003332A (ja) 双方向バスサイズ変換回路
JP3961473B2 (ja) ベクトル型コンピュータおよびその構成要素であるメモリアクセスリクエスト生成回路
JPH0833869B2 (ja) データ処理装置
JPS6034147B2 (ja) デ−タ転送における多段先行制御方式
JPH0546547A (ja) データ処理装置
JPS6024976B2 (ja) メモリ・アクセス制御方式
JP2625396B2 (ja) 受信データ処理装置
JP3760933B2 (ja) 計算機システム
JPH04369756A (ja) データ転送方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070703