JPH07253920A - Fifo ram コントローラ - Google Patents

Fifo ram コントローラ

Info

Publication number
JPH07253920A
JPH07253920A JP6042944A JP4294494A JPH07253920A JP H07253920 A JPH07253920 A JP H07253920A JP 6042944 A JP6042944 A JP 6042944A JP 4294494 A JP4294494 A JP 4294494A JP H07253920 A JPH07253920 A JP H07253920A
Authority
JP
Japan
Prior art keywords
read
write
sram
control circuit
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6042944A
Other languages
English (en)
Inventor
Koji Shitanda
浩二 四反田
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP6042944A priority Critical patent/JPH07253920A/ja
Publication of JPH07253920A publication Critical patent/JPH07253920A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】この発明は、リード要求とライト要求とが連続
して競合した場合に、SRAMの使用効率を高め実用上
十分な対処を行なうことができるFIFO RAM コ
ントローラを提供することを目的としている。 【構成】SRAMをFIFOバッファに利用できるよう
に、該SRAMに対するライトアドレス及びリードアド
レスの発生やライト動作とリード動作とのアービトレー
ションを行なうFIFO RAM コントローラにおい
て、ライトアドレス及びリードアドレスに基づいてSR
AMの全容量に対する使用量の割合を算出する演算手段
と、この演算手段で算出された割合に基づいてライト動
作とリード動作とのプライオリティレベルを制御する制
御手段とを備えている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、SRAM(Static R
andom Access Memory )をFIFO(FirstIn First Ou
t)バッファに利用できるようにするためのFIFO
RAM コントローラの改良に関する。
【0002】
【従来の技術】周知のように、近年開発されている通信
機器や画像情報機器等においては、FIFOバッファを
備えるものが多く出現してきている。この場合、FIF
Oバッファに使用される専用RAMは、データの書き込
み及び読み出しに高速性が要求されることから、例えば
リードタイムが50ns以下のものがほとんどであり、
非常に高価なものとなっている。
【0003】ところで、システムによっては、FIFO
バッファに使用するRAMとして、上述した専用RAM
ほどの高速性は必要としないが、大記憶容量を有するR
AMを必要とする場合がある。そこで、従来より、この
ような場合に普通のSRAMをFIFOバッファに利用
することができるように、そのアドレスやリード及びラ
イト動作のアービトレーションを行なえるFIFO R
AM コントローラと称される制御IC(集積回路)が
開発されている。つまり、このFIFO RAM コン
トローラを使用することにより、普通のSRAMをあた
かもFIFOバッファの専用RAMの如く利用すること
ができるようになる。
【0004】図4は、このような従来のFIFO RA
M コントローラを使用したFIFOバッファを示して
いる。ここで説明するFIFOバッファは、CPU(中
央演算処理装置)システムAから出力されるデータを、
CPUシステムBに転送する動作を行なうもので、FI
FO RAM コントローラ11と、FIFOバッファ
に入力されるデータを保持するためのライトデータレジ
スタ12と、FIFOバッファから出力されるデータを
保持するためのリードデータレジスタ13と、FIFO
RAM コントローラ11の制御に基づいて、ライト
データレジスタ12に保持されたデータが書き込まれる
とともに、書き込まれたデータをリードデータレジスタ
13に読み出すSRAM14とから構成されている。
【0005】ここで、FIFO RAM コントローラ
11は、SRAM14に対するライトアドレスを発生す
るライトアドレスカウンタ15と、SRAM14に対す
るリードアドレスを発生するリードアドレスカウンタ1
6と、これらライトアドレスカウンタ15及びリードア
ドレスカウンタ16から出力されるライトアドレス及び
リードアドレスを、選択的にSRAM14に導くための
アドレスマルチプレクサ17とを備えている。
【0006】また、FIFO RAM コントローラ1
1は、上記ライトアドレスカウンタ15及びリードアド
レスカウンタ16から出力されるライトアドレス及びリ
ードアドレスに基づいて、SRAM14の使用容量をカ
ウントするステータスアドレスカウンタ18と、このス
テータスアドレスカウンタ18の出力カウント値に基づ
いて、SRAM14の使用状況に対応したフラグを生成
し、CPUシステムBに出力するフラグ生成回路19と
を備えている。
【0007】さらに、FIFO RAM コントローラ
11は、上記ライトアドレスカウンタ15,リードアド
レスカウンタ16,アドレスマルチプレクサ17,ステ
ータスアドレスカウンタ18及びフラグ生成回路19の
動作を総括的に制御するとともに、上記ライトデータレ
ジスタ12,リードデータレジスタ13及びSRAM1
4の動作を総括的に制御し、かつ、CPUシステムA,
Bとの制御データの交換も行なうことで、FIFOバッ
ファとしての機能を実現させる主制御回路20を備えて
いる。
【0008】図5(a),(b)は、それぞれSRAM
14に対してデータの書き込み及び読み出しを行なう際
の、FIFO RAM コントローラ11の基本的な動
作を示している。まず、SRAM14に対するデータの
書き込み時において、CPUシステムAから発生される
ライト要求信号WREQがアクティブ(Lレベル)にな
ると、主制御回路20は、このライト要求信号WREQ
を非同期にラッチした後、さらに主制御回路20内で発
生するサンプリングクロックCLKで同期化する。同時
に、主制御回路20は、CPUシステムAに出力してい
るライトレディ信号WRDYを非アクティブ(Lレベ
ル)とし、次のライト要求が受け付けられない状態であ
ることを示す。
【0009】その後、主制御回路20は、ライトデータ
レジスタ11に対してライトレジスタクロックWREG
CKとライトコントロール信号Wとを発生する。このう
ち、ライトコントロール信号Wは、SRAM14にも供
給される。ライトレジスタクロックWREGCKは、ラ
イトデータレジスタ11にCPUシステムAから出力さ
れるデータを保持させるためのクロック信号である。ま
た、ライトコントロール信号Wは、アクティブ(Lレベ
ル)のとき、ライトデータレジスタ11に対してアウト
プットイネーブルとなるとともに、SRAM14に対し
てライトイネーブルとなる。
【0010】このとき、SRAM14には、ライトアド
レスカウンタ15から出力されたライトアドレスが、ア
ドレスマルチプレクサ17を介して供給されている。こ
のため、SRAM14は、サイプリングクロックCLK
の最初のサンプリング点の次のサンプリング点から2ク
ロックの間がライトサイクルとなり、ライトデータレジ
スタ11から出力されたデータが、ライトアドレスカウ
ンタ15から出力されたライトアドレスに書き込まれ
る。
【0011】次に、SRAM14に対するデータの読み
出し時において、CPUシステムBから発生されるリー
ド要求信号RREQがアクティブ(Lレベル)になる
と、主制御回路20は、このリード要求信号RREQを
非同期にラッチした後、さらに主制御回路20内で発生
するサンプリングクロックCLKで同期化する。同時
に、主制御回路20は、CPUシステムBに出力してい
るリードレディ信号RRDYを非アクティブ(Lレベ
ル)とし、次のリード要求が受け付けられない状態であ
ることを示す。
【0012】その後、主制御回路20は、リードデータ
レジスタ13に対してリードレジスタクロックRREG
CKを発生する。リードレジスタクロックRREGCK
は、リードデータレジスタ13にSRAM14から読み
出されたデータを保持させるためのクロック信号であ
る。また、ライトコントロール信号Wは、非アクティブ
(Hレベル)となっており、SRAM14に対してリー
ドイネーブルとなっている。
【0013】このとき、SRAM14には、リードアド
レスカウンタ16から出力されたリードアドレスが、ア
ドレスマルチプレクサ17を介して供給されている。こ
のため、SRAM14は、サイプリングクロックCLK
の最初のサンプリング点の次のサンプリング点から2ク
ロックの間がリードサイクルとなり、SRAM14から
読み出されたデータがリードデータレジスタ13に保持
され、その後、CPUシステムBに転送されるようにな
る。
【0014】ここで、上記のような構成のFIFOバッ
ファでは、SRAM14に対して当然にリード動作とラ
イト動作との競合状態が発生することになるが、この競
合状態への対処として、FIFO RAM コントロー
ラ11では、リードプライオリティ,ライトプライオリ
ティ及びノンプライオリティの3種類のモードを選択す
ることができるようになっている。すなわち、サンプリ
ング時において、リード要求とライト要求とが連続して
競合した場合に、リードプライオリティはリード要求を
優先させ、ライトプライオリティはライト要求を優先さ
せるようにしたものであり、ノンプライオリティはリー
ド動作とライト動作とを交互に発生させるようにしたも
のである。
【0015】しかしながら、上記のような従来のFIF
O RAM コントローラ11では、リード要求とライ
ト要求とが連続して競合した場合に、例えばライトプラ
イオリティのモードを選択するとSRAM14がすぐに
フル(満杯)状態になり、リードプライオリティのモー
ドを選択するとSRAM14がすぐにエンプティ(空)
状態になるという問題が生じている。また、ノンプライ
オリティのモードを選択しても、競合状態が始まったと
きのSRAM14の使用状態がほぼ維持されるだけで、
SRAM14の使用効率の点からみても、FIFOバッ
ファ全体の動作効率の点からみても、好ましい使用形態
ではない。
【0016】
【発明が解決しようとする課題】以上のように、従来の
FIFO RAM コントローラでは、リード要求とラ
イト要求とが連続して競合した場合の対処が実用上十分
なものではなく、SRAMの使用効率が悪いという問題
を有している。
【0017】そこで、この発明は上記事情を考慮してな
されたもので、リード要求とライト要求とが連続して競
合した場合に、SRAMの使用効率を高め実用上十分な
対処を行なうことができる極めて良好なFIFO RA
M コントローラを提供することを目的とする。
【0018】
【課題を解決するための手段】この発明に係るFIFO
RAM コントローラは、SRAMをFIFOバッフ
ァに利用できるように、該SRAMに対するライトアド
レス及びリードアドレスの発生やライト動作とリード動
作とのアービトレーションを行なうものを対象としてい
る。そして、ライトアドレス及びリードアドレスに基づ
いてSRAMの全容量に対する使用量の割合を算出する
演算手段と、この演算手段で算出された割合に基づいて
ライト動作とリード動作とのプライオリティレベルを制
御する制御手段とを備えるようにしたものである。
【0019】
【作用】上記のような構成によれば、SRAMの全容量
に対する使用量の割合に基づいてライト動作とリード動
作とのプライオリティレベルを制御するようにしたの
で、リード要求とライト要求とが連続して競合した場合
に、従来のように、SRAMがすぐにフル(満杯)状態
やエンプティ(空)状態になることがなく、SRAMの
使用効率を高め実用上十分な対処を行なうことができる
ようになる。
【0020】
【実施例】以下、この発明の一実施例について図面を参
照して詳細に説明する。図1において、図4と同一部分
には同一符号を付して示している。すなわち、SRAM
14の使用容量をカウントするステータスアドレスカウ
ンタ18の出力カウント値は、プライオリティレベル制
御回路21に供給されている。このプライオリティレベ
ル制御回路21は、ステータスアドレスカウンタ18の
出力カウント値を参照して、SRAM14の現在の使用
量がその全容量に対してどの程度であるかを算出し、リ
ード要求とライト要求とが連続して競合した場合に、次
のサイクルをリード動作にするかライト動作にするかの
優先レベルを決定して主制御回路20に出力している。
そして、主制御回路20は、次のサンプリングでリード
要求とライト要求とが連続して競合しているならば、プ
ライオリティレベル制御回路21から得られる優先レベ
ルに基づいて、リード動作とライト動作とのどちらを行
なわせるかを決定している。
【0021】具体的に言えば、図2に示すように、SR
AM14の全容量に対する使用量の割合を、0〜1/1
2,1/12〜3/12,3/12〜5/12,5/1
2〜7/12,7/12〜9/12,9/12〜11/
12,11/12〜1の7段階に分け、それぞれの段階
に対してリードのプライオリティレベルを、0,1/
4,1/3,1/2,2/3,3/4,1というように
設定する。このリードのプライオリティレベルの数値
は、リード要求とライト要求とが連続して競合した場合
に、リードサイクルを起こす割合を示している。
【0022】例えばSRAM14の現在の使用量がその
全容量に対して7/12〜9/12なる割合の範囲にあ
るとすれば、リードプライオリティレベルは2/3とな
る。このとき、図3に示すように、サイクルI以降連続
してリード要求とライト要求とが競合したとすると、ま
ず、サイクルIで同時にサンプルされた要求のうちリー
ド要求が受け付けられ、続くサイクルIIはリードサイク
ルとなる。リードレディ信号RRDYはサイクルIIの始
めにアクティブ(Hレベル)となるので、2回目のリー
ド要求が受け付けられ、サイクルIIIもリードサイクル
となる。ライトレディ信号WRDYは、この期間非アク
ティブ(Lレベル)となっている。
【0023】サイクルIII でもリード要求がサイプルさ
れるが、既に2回のリードサイクルが行なわれているの
で、サイクルIVはライトサイクルとなり、ライトレディ
信号WRDYが一旦アクティブ(Hレベル)となりライ
ト要求がサンプル可能となる。続くサイクルVは再びリ
ードサイクルとなり、以後、この動作を繰り返せば、3
回のサイクルのうち2回はリードサイクルとなるように
動作し、ついにはSRAM14の使用量がその全容量に
対して5/12〜7/12なる割合の範囲にはいるよう
になる。
【0024】したがって、上記実施例のような構成によ
れば、SRAM14の使用容量をカウントするステータ
スアドレスカウンタ18の出力カウント値を参照して、
SRAM14の現在の使用量がその全容量に対してどの
程度であるかを算出し、リード要求とライト要求とが連
続して競合した場合に、SRAM14の使用量がその全
容量のほぼ1/2に収束するように、リードサイクルを
起こすプライオリティレベルを変化させるようにしたの
で、リード要求とライト要求とが連続して競合した場合
に、従来のように、SRAM14がすぐにフル(満杯)
状態やエンプティ(空)状態になることがなくなり、S
RAM14の使用効率を高め実用上十分な対処を行なう
ことができるようになる。なお、この発明は上記実施例
に限定されるものではなく、この外その要旨を逸脱しな
い範囲で種々変形して実施することができる。
【0025】
【発明の効果】以上詳述したようにこの発明によれば、
リード要求とライト要求とが連続して競合した場合に、
SRAMの使用効率を高め実用上十分な対処を行なうこ
とができる極めて良好なFIFO RAM コントロー
ラを提供することができる。
【図面の簡単な説明】
【図1】この発明の一実施例を示すブロック構成図。
【図2】同実施例の動作を説明するために示す図。
【図3】同実施例の動作を説明するために示すタイミン
グ図。
【図4】従来のFIFO RAM コントローラを示す
ブロック構成図。
【図5】同コントローラの動作を説明するために示すタ
イミング図。
【符号の説明】
11…FIFO RAM コントローラ、12…ライト
データレジスタ、13…リードデータレジスタ、14…
SRAM、15…ライトアドレスカウンタ、16…リー
ドアドレスカウンタ、17…アドレスマルチプレクサ、
18…ステータスアドレスカウンタ、19…フラグ生成
回路、20…主制御回路、21…プライオリティレベル
制御回路。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 SRAMをFIFOバッファに利用でき
    るように、該SRAMに対するライトアドレス及びリー
    ドアドレスの発生やライト動作とリード動作とのアービ
    トレーションを行なうFIFO RAM コントローラ
    において、前記ライトアドレス及びリードアドレスに基
    づいて前記SRAMの全容量に対する使用量の割合を算
    出する演算手段と、この演算手段で算出された割合に基
    づいて前記ライト動作とリード動作とのプライオリティ
    レベルを制御する制御手段とを具備してなることを特徴
    とするFIFO RAM コントローラ。
JP6042944A 1994-03-15 1994-03-15 Fifo ram コントローラ Pending JPH07253920A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6042944A JPH07253920A (ja) 1994-03-15 1994-03-15 Fifo ram コントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6042944A JPH07253920A (ja) 1994-03-15 1994-03-15 Fifo ram コントローラ

Publications (1)

Publication Number Publication Date
JPH07253920A true JPH07253920A (ja) 1995-10-03

Family

ID=12650129

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6042944A Pending JPH07253920A (ja) 1994-03-15 1994-03-15 Fifo ram コントローラ

Country Status (1)

Country Link
JP (1) JPH07253920A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007097002A1 (ja) * 2006-02-24 2007-08-30 Fujitsu Limited データ読み書き制御装置
JP2010244408A (ja) * 2009-04-08 2010-10-28 Fujitsu Semiconductor Ltd メモリコントローラおよびメモリインターフェース方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007097002A1 (ja) * 2006-02-24 2007-08-30 Fujitsu Limited データ読み書き制御装置
JP4900381B2 (ja) * 2006-02-24 2012-03-21 富士通株式会社 メモリ制御装置およびメモリ制御装置の制御方法
US8499135B2 (en) 2006-02-24 2013-07-30 Fujitsu Limited Memory controller for reading data stored in memory after written thereto using write information table
JP2010244408A (ja) * 2009-04-08 2010-10-28 Fujitsu Semiconductor Ltd メモリコントローラおよびメモリインターフェース方法

Similar Documents

Publication Publication Date Title
JP3598321B2 (ja) 異なる周波数で動作するバス間でやりとりされるバッファリングデータ
JPS58225432A (ja) 要求バツフア装置
US20070038795A1 (en) Asynchronous bus interface and processing method thereof
KR19990029978A (ko) 메모리 액세스 제어 회로
US6684278B1 (en) Microcomputer and memory access control method
US6584512B1 (en) Communication DMA device for freeing the data bus from the CPU and outputting divided data
KR0155044B1 (ko) 선입선출 메모리를 이용한 램데이타 전송장치 및 그 방법
JPH07253920A (ja) Fifo ram コントローラ
JP4346506B2 (ja) 先入れ先出しメモリ及びそれを用いた記憶媒体制御装置
US5835418A (en) Input/output buffer memory circuit capable of minimizing data transfer required in input and output buffering operations
JP4696003B2 (ja) データ転送回路
JP2001209573A (ja) メモリアドレス変換装置
JPH06103026A (ja) メモリシステム
JPS59146361A (ja) デユアルポ−トメモリ制御回路
JP2826780B2 (ja) データ転送方法
JPH05265701A (ja) Fifoメモリ
JP2003157670A (ja) 記憶装置、該記憶装置の制御方法、該記憶装置を含む半導体装置および該記憶装置を含む情報処理装置
JP3259095B2 (ja) データ転送方法
JP2642087B2 (ja) 主記憶装置間データ転送処理機構
JP3961473B2 (ja) ベクトル型コンピュータおよびその構成要素であるメモリアクセスリクエスト生成回路
JP2003196972A (ja) メモリ装置
JP2006221435A (ja) メモリ回路
JP2002132702A (ja) メモリ制御方式
JPH04333950A (ja) 情報処理システム
JPH06208539A (ja) 高速データ転送方式