JPH05165603A - メモリコントローラ - Google Patents

メモリコントローラ

Info

Publication number
JPH05165603A
JPH05165603A JP33184391A JP33184391A JPH05165603A JP H05165603 A JPH05165603 A JP H05165603A JP 33184391 A JP33184391 A JP 33184391A JP 33184391 A JP33184391 A JP 33184391A JP H05165603 A JPH05165603 A JP H05165603A
Authority
JP
Japan
Prior art keywords
register
data
memory
buffer
representing
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
JP33184391A
Other languages
English (en)
Inventor
Hiroyuki Muraki
宏行 村木
Akinari Fukui
昭也 福井
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 JP33184391A priority Critical patent/JPH05165603A/ja
Publication of JPH05165603A publication Critical patent/JPH05165603A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【目的】 リングバッファの機能を高速にかつ簡単に利
用する。 【構成】 以下のような6個の内部レジスタと3つの外
部レジスタSR,CR,DRを使用してメモリへのアク
セスを制御する制御回路を持つメモリコントローラで、
リングバッファの機能を持つ。メモリの先頭を示すトッ
プアドレスレジスタTAR、メモリの終点を示すボトム
アドレスレジスタBAR、メモリのデータ読出位置を示
すリードポインタレジスタRPR、メモリのデータ書込
位置を示すライトポインタレジスタWPR、メモリのサ
イズを示すバッファサイズレジスタBSR、メモリ内の
データの数を示すデータナンバーレジスタDNR。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はメモリコントローラに関
し、たとえば、マイクロコンピュータとリングバッファ
メモリとの間でデータ転送を行なうためのリングバッフ
ァコントローラに関するものである。
【0002】
【従来の技術】入出力を行なうとき入出力のデータを一
時蓄えておくための手段として、リングバッファ方式が
あり、従来は、このリングバッファ方式をソフトウエア
で実現していた。そのフローチャートを図6と図7に示
す。
【0003】次に動作について説明する。図6はバッフ
ァにデータを書き込むときのもので、まず、3aでバッ
ファに空きがあるかどうかをチェックし、空きがあれば
3bでバッファにデータを書き込む。3cでは書き込み
用のポインタを1増す。3dで書き込み用のポインタが
バッファの終点を超えたかどうかをチェックし、超えた
場合は3eでポインタをバッファの始点に戻す。
【0004】図7はバッファからデータを取り出す手順
を示したものである。4aでバッファにデータがあるか
どうかをチェックし、データがあれば2bでデータを取
り出す。4cで読み込み用のポインタを1増す。4dで
読み込み用のポインタがバッファの終点を超えたかどう
かをチェックし、超えた場合は4eでポインタをバッフ
ァの始点に戻す。
【0005】
【発明が解決しようとする課題】従来のようにソフトウ
エアによるリングバッファ方式では処理速度が遅くなる
という問題点があった。
【0006】本発明は上記のような問題点を解消するた
めになされたもので、ソフトウエアによって行なうデー
タ処理をハードウエアによって行ない、データ処理を高
速にすることを目的としている。
【0007】
【課題を解決するための手段】この発明に係るメモリコ
ントローラは、リングバッファメモリに関する情報をメ
モリコントローラ内部にあるレジスタに保持するように
したものであり、以下の要素を有するものである。
(a)データを記憶するメモリ、(b)上記メモリの先
頭を示すトップアドレスレジスタ、(c)上記メモリの
終点を示すボトムアドレスレジスタ、(d)上記メモリ
に記憶されたデータの読み出し位置を示すリードポイン
タレジスタ、(e)上記メモリにデータを記憶する書き
込み位置を示すライトポインタレジスタ、(f)上記メ
モリのサイズを示すバッファサイズレジスタ、(g)上
記メモリ内のデータの数を示すデータナンバーレジス
タ、(h)上記各レジスタを用いて、上記メモリへデー
タのアクセスを行なう制御回路。
【0008】
【作用】本発明に係るメモリコントローラにおいては、
リングバッファの機能を各種レジスタ及びその制御回路
等のハードウエアで実現するため、データの入出力を高
速に行なうことができる。
【0009】
【実施例】
実施例1.図に本発明に係るメモリコントローラの一実
施例であるリングバッファの回路構成を示す。図1に示
すように、本発明に係るメモリコントローラは、6個の
内部レジスタと3個の外部レジスタを持っている。以下
に各レジスタの詳細を説明する。
【0010】(1)内部レジスタ(6個) ・トップアドレスレジスタ TAR 5f バッファの先頭アドレスを示す内部レジスタ。 ・ボトムアドレスレジスタ BAR 5g バッファの終点アドレスを示す内部レジスタ。 ・リードポインタレジスタ RPR 5s データを読み出す位置を示す内部レジスタ。 ・ライトポインタレジスタ WPR 5u データを書き込む位置を示す内部レジスタ。 ・バッファサイズレジスタ BSR 5h バッファの大きさを示す内部レジスタ。 ・データナンバーレジスタ DNR 5n バッファ内のデータの数を示す内部レジスタ。
【0011】(2)外部レジスタ(3個) ・コマンドレジスタ CR 5b 本メモリコントローラ外から本メモリコントローラを制
御するための外部レジスタ。 ・ステータスレジスタ SR 5a 本メモリコントローラのバッファの状態を示す外部レジ
スタ。 ・データレジスタ DR 5c コントローラとコントローラ外部とでデータを転送する
ときに使用する外部レジスタ。
【0012】また、図1において5eはトップアドレス
レジスタTAR5fとボトムアドレスレジスタBAR5
gとの差をとり、リングバッファメモリのサイズを算出
する減算器であり、5dは、そのリングバッファサイズ
をコマンドレジスタCR内に保持されたアクセス単位で
除算してバッファサイズを求める除算器である。たとえ
ば、 トップアドレスレジスタTAR5f=アドレス 1 ボトムアドレスレジスタBAR5g=アドレス20 アクセス単位=2バイト の場合、バッファサイズレジスタBSR5hは (20−1+1)/2=10 となり、最大10個のデータを記憶することができる。
【0013】また、5L はデータナンバーレジスタDN
R5nのデータの数に+1叉は−1の演算を行なう加算
器で、リングバッファにデータが記憶されたとき+1の
加算を行ない、リングバッファからデータが読み出され
たとき−1の減算を行なう。また、5iはバッファサイ
ズレジスタBSR5hと加算器5L で加減算されたデー
タナンバーレジスタDNR5nの内容を比較する比較
器、5jはデータナンバーレジスタDNR5nと0を比
較する比較器である。この比較器5jは、リングバッフ
ァからデータが読み出されたときデータナンバーレジス
タDNR5nの内容が−1され、0になったかどうかを
チェックするものである。この比較により、リングバッ
ファ内にデータが残っているか否かが判定でき、比較結
果はステータスレジスタSR5aに保持される。
【0014】5gは、リードポイントレジスタRPR5
sとライトポインタレジスタWPR5uをコマンドレジ
スタCR5b内に保持されたアクセス単位で更新する加
算器であり、5pはライトポインタレジスタWPR5u
に加算された場合に、バッファのボトムアドレスを示す
ボトムアドレスレジスタBAR5gの内容と比較する比
較器である。この比較器5pの比較結果はリングバッフ
ァがフルか否かを示しており、ステータスレジスタSR
5aにその結果が保持される。
【0015】次に、本メモリコントローラがデータをメ
モリ上のバッファに書き込むときのフローチャート及び
その動作を図2、図3に示す。まずコントローラのデー
タレジスタDR5cにデータが書き込まれると、1aで
データナンバーレジスタDNR5nとバッファサイズレ
ジスタBSR5hの内容を比較器5iにて比較し、デー
タナンバーレジスタDNR5nが小さければ、1bでラ
イトポインタレジスタWPR5uで示されるアドレスに
データレジスタDR5cにおるデータを書き込む。1c
で、加算器5L によりデータナンバーレジスタDNR5
nを1増し、加算器5gによりライトポインタレジスタ
WPR5nを1増す。1dでライトポインタレジスタW
PR5uとボトムアドレスレジスタBAR5gの内容を
比較器5pで比較して、ライトポインタレジスタWPR
5uが大きき場合は、1eで、ライトポインタレジスタ
WPR5uにトップアドレスレジスタTAR5fの値を
書き込む。
【0016】このように、この実施例では、コンピュー
タの周辺装置において、リングバッファの機能を持つこ
とを特徴とするメモリコントローラを説明したが、メモ
リへの読み書きを、ハードウエアで実現することで、、
ソフトウエアを動作させるマイコンの性能に依存するこ
となく、高速にデータの入出力操作が行なえるというメ
リットが生じる。
【0017】次に本コントローラを使用して、データを
リングバッファに書き込むときの手順を図4に示す。2
aで本コントローラのステータスレジスタSR5aを参
照し、バッファに空きがあるかどうかを調べる。バッフ
ァに空きがあればデータレジスタDR5cにデータを書
き込む。
【0018】次に、本コントローラを使用して、データ
をリングバッファから読み出すときの手順を図5に示
す。6aで本コントローラのステータスレジスタSR5
aを参照し、バッファにデータがあるかどうかを調べ
る。バッファにデータがあれば6bでそのデータを読み
出す。
【0019】
【発明の効果】以上のように、この発明によれば、ソフ
トウエアで行なっていた制御をハードウエアによって行
なうため、処理が高速になる。
【図面の簡単な説明】
【図1】この発明のメモリコントローラのハードウエア
ブロック図。
【図2】この発明のメモリコントローラのフローチャー
ト図。
【図3】この発明のメモリコントローラの内部動作図。
【図4】この発明の一実施例によるデータ出力時の手順
を示す図。
【図5】この発明の一実施例によるデータ入力時の手順
を示す図。
【図6】従来のソフトウエアによるリングバッファ機能
の流れ図(データ出力時)。
【図7】従来のソフトウエアによるリングバッファ機能
の流れ図(データ入力時)。
【符号の説明】
5a ステータスレジスタSR 5b コマンドレジスタCR 5c データレジスタDR 5f トップアドレスレジスタTAR 5g ボトムアドレスレジスタBAR 5h バッファサイズレジスタBSR 5n データナンバーレジスタDNR 5s リードポインタレジスタRPR 5u ライトポインタレジスタWPR
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成4年4月2日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0014
【補正方法】変更
【補正内容】
【0014】5qは、リードポイントレジスタRPR5
sとライトポインタレジスタWPR5uをコマンドレジ
スタCR5b内に保持されたアクセス単位で更新する加
算器であり、5pはライトポインタレジスタWPR5u
に加算された場合に、バッファのボトムアドレスを示す
ボトムアドレスレジスタBAR5gの内容と比較する比
較器である。この比較器5pの比較結果はライトポイン
タ又はリードポインタがバッファの最後を超えたか否か
を表しており、ライトポインタ又はリードポインタがバ
ッファの最後を超えた場合はトップアドレスレジスタの
値をライトポインタ又はリードポインタに入るように5
oを制御する。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0015
【補正方法】変更
【補正内容】
【0015】次に、本メモリコントローラがデータをメ
モリ上のバッファに書き込むときのフローチャート及び
その動作を図2、図3に示す。まずコントローラのデー
タレジスタDR5cにデータが書き込まれると、1aで
データナンバーレジスタDNR5nとバッファサイズレ
ジスタBSR5hの内容を比較器5iにて比較し、デー
タナンバーレジスタDNR5nが小さければ、1bでラ
イトポインタレジスタWPR5uで示されるアドレスに
データレジスタDR5cにおるデータを書き込む。1c
で、加算器5L によりデータナンバーレジスタDNR5
nを1増し、加算器5qによりライトポインタレジスタ
WPR5nを1増す。1dでライトポインタレジスタW
PR5uとボトムアドレスレジスタBAR5gの内容を
比較器5pで比較して、ライトポインタレジスタWPR
5uが大きき場合は、1eで、ライトポインタレジスタ
WPR5uにトップアドレスレジスタTAR5fの値を
書き込む。
【手続補正3】
【補正対象書類名】図面
【補正対象項目名】図1
【補正方法】変更
【補正内容】
【図1】

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 以下の要素を有するメモリコントローラ (a)データを記憶するメモリ、(b)上記メモリの先
    頭を示すトップアドレスレジスタ、(c)上記メモリの
    終点を示すボトムアドレスレジスタ、(d)上記メモリ
    に記憶されたデータの読み出し位置を示すリードポイン
    タレジスタ、(e)上記メモリにデータを記憶する書き
    込み位置を示すライトポインタレジスタ、(f)上記メ
    モリのサイズを示すバッファサイズレジスタ、(g)上
    記メモリ内のデータの数を示すデータナンバーレジス
    タ、(h)上記各レジスタを用いて、上記メモリへデー
    タのアクセスを行なう制御回路。
JP33184391A 1991-12-16 1991-12-16 メモリコントローラ Pending JPH05165603A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33184391A JPH05165603A (ja) 1991-12-16 1991-12-16 メモリコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33184391A JPH05165603A (ja) 1991-12-16 1991-12-16 メモリコントローラ

Publications (1)

Publication Number Publication Date
JPH05165603A true JPH05165603A (ja) 1993-07-02

Family

ID=18248277

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33184391A Pending JPH05165603A (ja) 1991-12-16 1991-12-16 メモリコントローラ

Country Status (1)

Country Link
JP (1) JPH05165603A (ja)

Similar Documents

Publication Publication Date Title
US5287471A (en) Data transfer controller using direct memory access method
JPH05165603A (ja) メモリコントローラ
JPS6211736B2 (ja)
JP2828643B2 (ja) 直線描画装置
JPH0448358A (ja) キャッシュ・メモリ制御方式
JPS5853075A (ja) 高速分離バツフアを備えた情報処理装置
JP2604604B2 (ja) スタック制御装置
JP2988048B2 (ja) 辞書情報常駐アクセス装置
JPS62184560A (ja) 入出力バツフア制御装置
JP3056566B2 (ja) Fifoテーブルメモリおよびその制御方法
JP2581144B2 (ja) バス制御装置
JPH0447350A (ja) 主記憶読み出し応答制御方式
JPS5815877B2 (ja) バツフア・メモリ制御方式
JPH01251248A (ja) スタックデータ構造用キャッシュ制御方式
JPH01188928A (ja) マルチウィンドウ表示方式
JPS62274349A (ja) デ−タ処理システム
JPH02189627A (ja) データメモリのアクセス回路
JPH06161897A (ja) ディスクキャッシュ装置の制御方法
JPS6124737B2 (ja)
JPS6135583B2 (ja)
JPS60218146A (ja) 記憶装置アドレス制御方式
JPH01223545A (ja) バッファ記憶装置
JPH04333950A (ja) 情報処理システム
JPH05181960A (ja) 画像処理回路
JPH024011B2 (ja)