JPH06243672A - Fifoメモリの書き込み・読み出し構造 - Google Patents

Fifoメモリの書き込み・読み出し構造

Info

Publication number
JPH06243672A
JPH06243672A JP5048648A JP4864893A JPH06243672A JP H06243672 A JPH06243672 A JP H06243672A JP 5048648 A JP5048648 A JP 5048648A JP 4864893 A JP4864893 A JP 4864893A JP H06243672 A JPH06243672 A JP H06243672A
Authority
JP
Japan
Prior art keywords
data
pointer
mark
read
write
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
JP5048648A
Other languages
English (en)
Inventor
Yasuhiko Takahashi
保彦 高橋
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.)
Nippon Steel Corp
Original Assignee
Nippon Steel 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 Nippon Steel Corp filed Critical Nippon Steel Corp
Priority to JP5048648A priority Critical patent/JPH06243672A/ja
Publication of JPH06243672A publication Critical patent/JPH06243672A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Communication Control (AREA)

Abstract

(57)【要約】 【目的】 FIFOメモリの書き込み・読み出しに於い
て、パケットの独立性を確保すると共に通信効率を向上
する。 【構成】 FIFO方式のメモリ部2にデータの書き込
みを行う際に書き込み位置を示すライトポインタWをラ
イトポインタ制御手段により印し、書き込まれたデータ
を読み出す際に読み出し位置を示すリードポインタRを
リードポインタ制御手段により印すと共に、書き込んだ
データがパケット単位に達したらその区切りの位置を示
すマークポインタMをマークポインタ制御手段により印
す。マークポインタMを区切りとして、読み出し・書き
込みをそれぞれ同時に行い得る。読み込み時にエラーが
検出されたら、マークポインタMまでの読み出しデータ
をクリアし、マークポインタMからデータを再書き込み
することができ、エラー処理を速やかに行うことができ
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、特にプロセッサ間通信
に適するFIFOメモリの書き込み・読み出し構造に関
する。
【0002】
【従来の技術】従来、プロセッサ間通信に用いられるも
ので、FIFOメモリを用いたものがある。FIFOメ
モリは、通常アドレスラインを必要としないため、ハー
ドウェア的には非常に容易に使用できる特徴がある。
【0003】しかしながら、例えば通信バッファとして
使用した場合に通信エラーが生じると、エラーの種類に
よってはパケットの区切りを見失い、パケットの独立性
が損なわれるという問題があった。上記エラー発生の場
合には、複数のパケット同士が互いに関与してしまうこ
とになり、極めて複雑な回復処理を必要としていた。そ
のエラー対策には、例えば、半二重通信を行ったり、2
つのFIFOメモリを設けてそれぞれ切替えたり、余分
なビットでフラグを作りそれを利用するなどの処置があ
る。
【0004】また、通信に於いては、読み出しまたは書
き込みの残量を知りたいという要求があるが、通常のF
IFOメモリの場合には、フラグのポーリングのような
非効率的な方法をとることがあった。
【0005】
【発明が解決しようとする課題】このような従来技術の
問題点に鑑み、本発明の主な目的は、パケットの独立性
を確保すると共に通信効率を向上し得るFIFOメモリ
の書き込み・読み出し構造を提供することにある。
【0006】
【課題を解決するための手段】このような目的は、本発
明によれば、データの書き込み・読み出しをFIFO方
式で行うためのメモリ部と、前記メモリ部にデータを書
き込む際に移動する当該データの書き込み位置を示すラ
イトポインタを印すためのライトポインタ制御手段と、
前記メモリ部に書き込まれたデータを読み出す際に移動
する当該読み出し位置を示すリードポインタを印すため
のリードポインタ制御手段と、前記書き込まれたデータ
のパケット単位の区切り位置を示すマークを印すための
マーク制御手段とを有し、前記リードポインタが前記マ
ークの位置に達したら前記データの読み出しを停止する
と共に、前記マーク制御手段により次に読み出されるべ
きデータの次の区切りを示すマークが印されるまでは次
の読み出しを待機し、前記次の区切りを示すマークが印
されたら前記次の読み出しを開始することを特徴とする
FIFOメモリの書き込み・読み出し構造を提供するこ
とにより達成される。特に、前記マークがポインタであ
り、または、前記マークが、前記データの書き込みに於
いて再書き込み可能な書き込み開始端であり、あるい
は、前記マーク制御手段が、前記マークを複数書き込み
得ると良い。
【0007】
【作用】このようにすれば、マークにより書き込み側と
読み出し側とが区別されるため、書き込みデータと読み
出しデータとをそれぞれ独立させて扱うことができる。
すなわち、マーク位置まで読み出しを行って待機し、次
の書き込みデータ部分に次のマークが書き込まれていた
らそのマークで区切られた次のパケットに対して読み出
しを行って、書き込みと読み出しとをそれぞれ独立して
行うことができる。また、読み出し時にその対象となる
書き込まれていたデータ中にエラーが生じていたら、マ
ークを再書き込み開始端として再度データを書き込むこ
とにより、パケット単位でエラー処理を行うことができ
る。
【0008】
【実施例】以下、本発明の好適実施例を添付の図面につ
いて詳しく説明する。
【0009】図1は、本発明が適用されたFIFOメモ
リの書き込み・読み出し構造を示す要部ブロック図であ
る。図1に示されるFIFOメモリ1には、データの書
き込み・読み出しを行うためのメモリ部2が設けられて
いる。メモリ部2は、図2に示されるように、例えば図
2の左方からデータD1・D2を書き込まれ、その書き
込まれたデータD1・D2を図2の右方から書き込み順
に読み出されるようになっている。
【0010】FIFOメモリ1の端子D1にあっては図
示されない書き込み手段からの書き込みデータが入力さ
れ、端子A1には同じく書き込み手段から書き込みデー
タ用のアドレス信号が入力されており、FIFOメモリ
1内にて、書き込みデータとアドレス信号とがメモリ部
2に入力するようになっている。また、メモリ部2から
の読み出しデータが、端子D2から図示されない読み出
し手段に対して出力され、読み出し手段からの読み出し
データ用のアドレス信号が、端子A2を介してメモリ部
2に入力するようになっている。
【0011】FIFOメモリ1には、メモリ部2に対す
る書き込みデータのパケットの区切りとしてのライトポ
インタ(図2のW)をメモリ部2の外部にてハード的に
印すためのライトポインタ制御部3が設けられていると
共に、読み出しデータのパケットの区切りとしてのリー
ドポインタ(図2のW)を同様に印すためのリードポイ
ンタ制御部4が設けられている。ライトポインタ制御部
3とリードポインタ制御部4とには、それぞれ図示され
ない外部のライト制御手段とリード制御手段とからの各
制御信号が各端子W1・R1を介して入力するようにな
っており、それぞれメモリ部2に対して各ポインタ位置
を指示し得るようになっている。
【0012】また、FIFOメモリ1には、コマンドレ
ジスタ5とステータスレジスタ6とが設けられており、
前記書き込み側のデータ及びアドレスの信号と、読み出
し側のデータ及びアドレスの信号とが、それぞれ各レジ
スタ5・6に入力している。さらに、書き込みデータの
パケット単位の区切りを示すためのマークとしてのマー
クポインタ(図2のM)をメモリ部2の外部にてハード
的に印すためのマークポインタ制御部7が設けられてお
り、マークポインタ制御部7に、前記ライトポインタ制
御部3とコマンドレジスタ5との出力が入力するように
なっている。なお、マークは、ポインタに限ることな
く、ポインタと同等の機能を有するものであれば良い。
【0013】上記ステータスレジスタ6からは、各フラ
グ端子F1・F2を介して、書き込み側及び読み出し側
にメモリ部2の使用状態の各フラグが出力されるように
なっている。また、エラーキューの制御も行い得る割り
込み制御部8が設けられており、書き込み側及び読み出
し側とに対して、各割り込み端子I1・I2を介して、
割り込み信号が入出力するようになっている。
【0014】このようにして構成されたFIFOメモリ
1に於ける書き込み側の処理について図3を参照して以
下に示す。ステップST1ではメモリ部2が一杯か否か
をフルフラグの有無により判別し、メモリが一杯ならば
ステップST1を繰り返し、メモリに空きがあればステ
ップST2に進む。ステップST2でメモリ部2にデー
タを書き込み、次のステップST3ではエンプティフラ
グの有無を判別し、エンプティフラグ無しの場合にはス
テップST4に進み、ステップST4で、タイムアウト
前であればステップST3に戻り、タイムアウトと判別
されたら異常処理を行い、ステップST3でエンプティ
フラグ有りの場合にはステップST5に進む。ステップ
ST5では、エラー発生の通知の受信の有無を判別し、
エラー発生の通知の受信が無い場合にはステップST6
に進み、ステップST6にて、図2に示されるように書
き込みデータのパケットの区切りにマークポインタMを
書き込む。
【0015】なお、ステップST5で、データエラーの
発生によりエラー発生の通知の受信があった場合には、
ステップST7に進む。この場合には前回書き込んだデ
ータ中にエラーが発生していたことから、ステップST
7にてマークポインタMまでの書き込みデータをクリア
し、次のステップST8にて前回の書き込みデータを再
度書き込みデータにして、ステップST2に戻る。
【0016】次に、読み出し処理について図4を参照し
て以下に示す。図4に於いてステップST11ではメモ
リ部2の読み出し側からマークポインタMに至るまでに
読み込みデータが有るか否かを判別し、データが無い場
合にはステップST11を繰り返す。データが有る場合
にはステップST12に進み、ステップST12でメモ
リ部2からデータを読み出し、ステップST13に進
む。このステップST12に於けるデータの読み出しで
は、バイト毎に読み出したり、ステータスレジスタ6中
のデータ(リードポインタRからマークポインタMに至
るまでのデータ)を読んでその分のデータを一括して読
み出しても良い。ステップST13では、何らかの原因
によるデータエラーの発生の有無を判別し、エラー発生
有りの場合にはステップST14に進み、エラー発生の
通知を行う。ステップST14でエラー発生無しの場合
には本ルーチンを終了する。
【0017】上述の処理によるデータの書き込み・読み
込み要領を図5を参照して以下に示す。メモリ部2が空
の場合には、そのメモリエリアの図5aに於ける右端に
各ポインタR・W・Mが位置している。最初のデータD
1を書き込むにつれてライトポインタWが図の想像線に
示されるように左方に向けて移動し、マークポインタM
からライトポインタWに至るまでの間にデータD1が書
き込まれていることになり、パケットの区切りに達した
ら、図5bに示されるように、そのときのライトポイン
タWの位置にマークポインタMを書き込む。
【0018】図5bの状態で、図の右端側から即ちリー
ドポインタRからマークポインタMに至るまでのデータ
D1の読み出し開始が可能になり、同時にマークポイン
タMから次のデータD2の書き込み開始が可能になる。
従って、図5cに示されるように読み出しと書き込みと
を同時に進行させることができる。
【0019】データD1を読み出すと、図5dに示され
るようにリードポインタRとマークポインタMとが一致
し、マークポインタMからライトポインタWに至るまで
の間にデータD2が書き込まれている状態になる。そし
て、パケットの区切りに達したら、アンサバックを書き
込み側が受信し、前記ステップST4及びステップST
5により、図5dに示されるようにそのときのライトポ
インタWの位置にマークポインタMを書き込む。この状
態は図5bと同様であり、図5eの状態からも上記図5
b〜dと同様に処理して、連続的に書き込み・読み出し
を行うことになる。このようにすることにより、従来の
FIFOメモリでは読み出し終了後に次のデーの書き込
みを行っていたが、本発明によるマークポインタMを書
き込んでおけば、そのマークポインタMを区切りとして
書き込みと読み出しとを同時に行うことができ、本発明
のFIFOメモリを通信バッファに用いた場合には極め
て高効率の通信を行うことができる。
【0020】ところで、図5eのデータD2に何らかの
原因によるエラーが発生していた場合の処理について、
図6を参照して以下に示す。図5eに続く図6aに示さ
れるように、データD2を読み出しつつ、データD2に
続いて次のデータD3を書き込んでる最中に、前回書き
込んだデータD2の途中にエラーが発生していた場合に
は、前記ステップST13及びステップST14により
エラー発生の通知を行い、図6bに示されるように読み
出し側からマークポインタMに至るまでのデータ(この
場合にはデータD2)をクリアする。同時に、書き込み
側では、前記ステップST4からステップST6を経て
ステップST7に進むことにより、書き込み側からマー
クポインタMに至るまでのデータD3をクリアし、かつ
ステップST2に戻ることにより前回のデータD2を再
度書き込む。なお、リードポインタRはマークポインタ
Mの位置と一致させる。
【0021】そして、図6cに示されるように、新たに
書き込んだデータD2のパケットの区切りに新たにマー
クポインタMを書き込み、再度読み出し側から新たなデ
ータD2を読み出す。このとき、メモリの空きに余裕が
無い場合には新たなデータ書き込みを行わず、ライトポ
インタWとマークポインタMとを一致させたまま待機さ
せる。上記新たに書き込んだデータの読み出しが正常に
処理されて各ポインタR・W・Mが一致し、その状態を
検出したら、前記したようにメモリエリアの右端に各ポ
インタR・W・Mを移し、スタート状態にし、前記図5
aの状態からの処理を繰り返してデータ通信を行う。
【0022】このように、パケット単位でエラー処理を
行うことができ、エラー発生時の処理を速やかに行うこ
とができる。従って、従来のように複雑なエラー処理を
行う必要がない。
【0023】以上述べた実施例では、書き込み側と読み
出し側との処理速度が略同一の場合であり、1つのマー
クポインタのみを用いるのみで好適に処理を行うことが
できたが、マークポインタの数を1つに限るものではな
い。例えば、書き込み側の処理速度に対して読み出し側
の処理速度が遅い場合には、メモリに書き込める量のデ
ータを先に書き込みつつ各パケット毎にマークポインタ
を複数書き込んで行くことができる。読み出し側では、
マークポインタ毎に即ちパケット毎に読み出し処理を行
えば良く、上記実施例と同様に書き込み・読み出し処理
を何等問題なく行うことができる。エラー処理も、エラ
ーの発生したデータと次に読まれるべきデータとの間の
区切りのマークポインタを基準にして、前記エラー処理
の実施例と同様に行うことができる。
【0024】図7には本発明に基づく双方向通信可能な
双方向型FIFOメモリ9が示されている。この双方向
型FIFOメモリ9は、前記FIFOメモリ1と同様に
構成された第1及び第2のFIFOメモリ10a・10
bを有している。各FIFOメモリ10a・10bは、
前記実施例に於けるメモリ部2・ライトポインタ制御部
3・リードポインタ制御部4・コマンドレジスタ5・ス
テータスレジスタ6・マークポインタ制御部7を前記実
施例と同様にそれぞれ構成されてなるものであるが、そ
れぞれのメモリ部に対する書き込み・読み出し方向が互
いに左右逆になるようにされている。例えば、第1のF
IFOメモリ10aのメモリ部は、図に於ける左方に書
き込み側を、右方に読み出し側を設けた前記実施例と同
様のものを用い、第2のFIFOメモリ10bのメモリ
部は、図に於ける右方に書き込み側を、左方に読み出し
側を設けた前記実施例とは逆に配線されたものを用いれ
ば良い。
【0025】また、アドレスラインはそれぞれ一対設け
ているが、データラインは共通であって良く、一方のデ
ータラインを書き込みデータ用に用いた場合には他方を
読み出しデータ用に用いることになる。データラインと
同様にリード/ライト制御用のラインも共通化してい
る。なお、この双方向型FIFOメモリ9には、データ
をバイパスし得るバイパスレジスタ11と、前記実施例
と同様の割り込み制御部12とが設けられており、それ
らは各1つずつであって良い。
【0026】この双方向型FIFOメモリ9を用いるこ
とにより、双方向用通信バッファとして好適であり、そ
れぞれの通信方向に対して前記と同様の処理を行うこと
ができ、同様の効果を奏し得る。
【0027】
【発明の効果】このように本発明によれば、ハードウェ
ア的に極めて容易に利用し得るFIFOメモリを、特に
プロセッサ間通信に用いた際に、通信速度を従来のFI
FOメモリに比して高速化し得るばかりでなく、通信エ
ラーが発生してもパケット単位で記されたマークを基準
にしてエラー処理を行うことができ、FIFOメモリに
於ける速やかなエラー処理が可能であるなど、その効果
は極めて大である。
【図面の簡単な説明】
【図1】本発明に基づくFIFOメモリを示す要部ブロ
ック図。
【図2】FIFOメモリのメモリ部の書き込み・読み出
し要領を示す模式図。
【図3】書き込み処理の制御を示すフロー図。
【図4】読み出し処理の制御を示すフロー図。
【図5】a〜eは、メモリ部の書き込み・読み出し要領
の経時変化を示す模式図。
【図6】a〜dは、エラー発生時の処理を示す図5と同
様の図。
【図7】第2の実施例を示す模式的ブロック図。
【符号の説明】 1 FIFOメモリ 2 メモリ部 3 ライトポインタ制御部 4 リードポインタ制御部 5 コマンドレジスタ 6 ステータスレジスタ 7 マークポインタ制御部 8 割り込み制御部 9 双方向型FIFOメモリ 10a 第1のFIFOメモリ 10b 第2のFIFOメモリ 11 バイパスレジスタ 12 割り込み制御部

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 データの書き込み・読み出しをFIFO
    方式で行うためのメモリ部と、前記メモリ部にデータを
    書き込む際に移動する当該データの書き込み位置を示す
    ライトポインタを印すためのライトポインタ制御手段
    と、前記メモリ部に書き込まれたデータを読み出す際に
    移動する当該読み出し位置を示すリードポインタを印す
    ためのリードポインタ制御手段と、前記書き込まれたデ
    ータのパケット単位の区切り位置を示すマークを印すた
    めのマーク制御手段とを有し、前記リードポインタが前
    記マークの位置に達したら前記データの読み出しを停止
    すると共に、前記マーク制御手段により次に読み出され
    るべきデータの次の区切りを示すマークが印されるまで
    は次の読み出しを待機し、前記次の区切りを示すマーク
    が印されたら前記次の読み出しを開始することを特徴と
    するFIFOメモリの書き込み・読み出し構造。
  2. 【請求項2】 前記マークがポインタであることを特徴
    とする請求項1に記載のFIFOメモリの書き込み・読
    み出し構造。
  3. 【請求項3】 前記マークが、前記データの書き込みに
    於いて再書き込み可能な書き込み開始端であることを特
    徴とする請求項1若しくは請求項2に記載のFIFOメ
    モリの書き込み・読み出し構造。
  4. 【請求項4】 前記マーク制御手段が、前記マークを複
    数書き込み得ることを特徴とする請求項1若しくは請求
    項2に記載のFIFOメモリの書き込み・読み出し構
    造。
JP5048648A 1993-02-15 1993-02-15 Fifoメモリの書き込み・読み出し構造 Withdrawn JPH06243672A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5048648A JPH06243672A (ja) 1993-02-15 1993-02-15 Fifoメモリの書き込み・読み出し構造

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5048648A JPH06243672A (ja) 1993-02-15 1993-02-15 Fifoメモリの書き込み・読み出し構造

Publications (1)

Publication Number Publication Date
JPH06243672A true JPH06243672A (ja) 1994-09-02

Family

ID=12809186

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5048648A Withdrawn JPH06243672A (ja) 1993-02-15 1993-02-15 Fifoメモリの書き込み・読み出し構造

Country Status (1)

Country Link
JP (1) JPH06243672A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010257280A (ja) * 2009-04-27 2010-11-11 Renesas Electronics Corp シリアル制御装置、半導体装置及びシリアルデータの転送方法
CN115033504A (zh) * 2022-06-30 2022-09-09 斯凯瑞利(北京)科技有限公司 一种带回退机制的fifo存储器及读写方法、通信系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010257280A (ja) * 2009-04-27 2010-11-11 Renesas Electronics Corp シリアル制御装置、半導体装置及びシリアルデータの転送方法
CN115033504A (zh) * 2022-06-30 2022-09-09 斯凯瑞利(北京)科技有限公司 一种带回退机制的fifo存储器及读写方法、通信系统

Similar Documents

Publication Publication Date Title
US8683093B2 (en) Memory system having high data transfer efficiency and host controller
CN109726163A (zh) 一种基于spi的通信系统、方法、设备和储存介质
JPH01277928A (ja) 印刷装置
JPH07225727A (ja) 計算機システム
JPH03150659A (ja) データ転送方式
US5343557A (en) Workstation controller with full screen write mode and partial screen write mode
JP5090591B2 (ja) 電子装置の制御方法,電子装置及び電子装置の機能の認識方法
JPH0969064A (ja) 外部メモリーシステム
JP2853607B2 (ja) ジョブ間通信システム
JPH05233440A (ja) バッファ機能を備えたデータ転送方式
JPH0512221A (ja) マルチcpu間データ交換高速化方式
JPS63244274A (ja) 画像処理方式
JP2000250762A (ja) マイクロコンピュータ
JP2001236241A (ja) メモリ二重化制御方式
JPH0359752A (ja) 接続制御装置
JPS59226956A (ja) デ−タ制御システム
JPS5943435A (ja) プロセツサ間デ−タ転送方式
JPS5936359B2 (ja) デ−タバツフア装置
JPS60243744A (ja) 情報処理装置
JP2002254720A (ja) プリンタ及びプリンタ内におけるデータ転送方法
JPH0697447B2 (ja) 処理装置の通信制御装置
JP2002283628A (ja) プリンタ、及び、プリンタ内におけるデータ転送方法
JPH11304535A (ja) エンコーダ装置
JPH04319754A (ja) データ転送方式
JPH0315217B2 (ja)

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000509