JPH0277936A - Fifoバッファメモリの制御方式 - Google Patents

Fifoバッファメモリの制御方式

Info

Publication number
JPH0277936A
JPH0277936A JP63231101A JP23110188A JPH0277936A JP H0277936 A JPH0277936 A JP H0277936A JP 63231101 A JP63231101 A JP 63231101A JP 23110188 A JP23110188 A JP 23110188A JP H0277936 A JPH0277936 A JP H0277936A
Authority
JP
Japan
Prior art keywords
data
input
pointer
same value
output
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
JP63231101A
Other languages
English (en)
Inventor
Norio Tsuchiya
土屋 紀雄
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.)
Meidensha Corp
Meidensha Electric Manufacturing Co Ltd
Original Assignee
Meidensha Corp
Meidensha Electric Manufacturing Co Ltd
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 Meidensha Corp, Meidensha Electric Manufacturing Co Ltd filed Critical Meidensha Corp
Priority to JP63231101A priority Critical patent/JPH0277936A/ja
Publication of JPH0277936A publication Critical patent/JPH0277936A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は同値データを効率良く入力することが出来るP
IFOバッファメモリの制御方式に関する。
B1発明の概要 本発明はFIFOバッファメモリの制御方式に於いて、
連続した同値データをカウンタ・レジスタでカウントす
ることによって、連続した同値データをデータ格納部に
効率良く格納するようにしたものである。
C1従来の技術 複数のジョブやタスク等を実行するスケジューリングの
中に、入力順に出力するFIFO法があり、これにはF
IFOバッファメモリが一般に使用される。
前記FIFOバッファメモリは、例えば第4図のブロッ
ク図に示す如く構成されている。このメモリはデータ幅
(一般にはバイト幅)任意、深さnのFIFOバッファ
メモリの例である。
第4図のF’lFOバッファメモリについて説明すると
、図中、D、〜D、、はデータバッファ内のデータ格納
部の1単位(セル)を表し、これらのセルD1〜I)n
には各々データ幅分のデータ・バス及びアドレス選択線
を有し、リード/ライト制御回路5を介してリード、ラ
イト制御信号が与えられる。そして、これらD1〜Dn
のセルのうちの1つを入力/出力側で選択し、データの
書き込み(入力)及び読み出しく出力)を行うために、
入力/出力側で独立した入力ポインタ及び出力ポインタ
をもっている。
ここで入力ポインタの値をi(1≦i≦n)、その入力
ポインタが指すセルをD(i)とし、また出力ポインタ
の値をj(1≦j≦n)、その入力ポインタが指すセル
をD (j)とすると、このFIFOバッファメモリの
動作は以下の如くである。
入力ポインタはセルD(+)に入力データを書き込むと
ポインタを1つ進め(i=i+1)、ポインタiの値が
nを超えるとi=1に戻す。即ち、セル数nのリングバ
ッファを周回するように入力ポインタが動く。
出力ポインタも同様に、セルD (Dの内容を読み出し
て出力データとした後にポインタを1つ進め(j=j+
1)、ポインタjの値かnを超えるとj=1に戻す。
このとき出力ポインタは入力されたデータを読み出すた
めに、入力ポインタを超えることはない。
即ち、入力ポインタiと、出力ポインタjが等しいとき
は、FtFOバッファは空(Empty)の状態であり
、出力側はデータを読み出すことが出来ないものである
。同様に周回してきた入カポインクは出力ポインタを超
えることはない。即ち、入力ポインタの次のポインタ(
i+1)が出力ポインタjであるときは、空いているセ
ルがなく、FIFOバッファは満杯(Full)の状態
であり、入力側はデータを書き込むことが出来ないから
である。前記入力ポインタはポインタ制御回路6によっ
て制御される。
D1発明が解決しようとする課題 前述の如く、従来のFIFOバッファメモリにあっては
、入力されるデータの内容に関係なく、1つのデータは
FIFOバッファ内の1つのセルを占有する。このため
、仮にn個の同じデータが入力された場合であっても、
n個のセルを占有してFIFOバッファメモリが満杯に
なってしまう。
このことは、例えばプリンタ・バッファ等で、すスト出
力等をする場合、空白(スペース)コードがかなりの頻
度て、ある一定の数だけ連続して入力されろが、前記空
白コードの連続したデータ列は、そのままFIFOバッ
ファメモリを占有すること意味する。
従って、同じデータが連続して多数入力される場合でも
、FXFOバッファメモリの容量を大きくするためには
、セル数を多くし、制御回路の速度を高めなければなら
ない。
本発明の目的は、従来の前記課題を解決し、セル数を増
やさなくても同値データを効率良く入出力し得るFIF
Oバッファメモリの制御方式を提供することにある。
E0課題を解決するための手段 前記課題を解決するための本発明に係る手段は、複数個
のデータ格納部を有し、入力ポインタの指すデータ格納
部にデータを格納し、出力ポインタの指すデータ格納部
からデータを取り出すFXFOバッファメモリの制御方
式に於いて、前記データ格納部に夫々対応する、同値デ
ータをカウントするためのカウンタ・レジスタを有し、
入力ポインタの指すデータ格納部にデータを入力すると
きは、入力されたデータと1つ前の入力データとを比較
し、比較値が等しいときは入力ポインタを更新せずに該
入力ポインタの指すデータ格納部に対応するカウンタ・
レジスタのカウント値を加算し、等しくないとき及びカ
ウンタ・レジスタのカウント値が満杯のときは入力ポイ
ンタを更新してデータ格納部に格納し、出力ポインタの
指すデータ格納部からデータを取り出すときは、前記出
力ポインタの指すデータ格納部に対応するカウンタ・レ
ジスタのカウント数だけ同値データを取り出すことを特
徴としてなる。
21作用 前記手段によれば、同値データが連続して入力されたと
きは、同値データ数をカウントするのみで入力ポインタ
が更新されない。従って、データ格納部には異なるデー
タを効率良く格納することが出来るものである。
G、実施例 次に前記手段を適用した本発明の一実施例を説明する。
第1図は本発明のFIFOバッファメモリのブロック図
であって、深さnのメモリの例である。
図に於いて、D1〜Dnはデータバッファ内のデータ格
納部の1単位(以下「セル」という)を表 。
し、データ幅は任意のものである。これらn個のセル各
々はデータ幅分のデータ・バス、アドレス選択線を何し
、リード/ライト制御回路lを介してリード信号及びラ
イト信号が与えられる。また入力ポインタ及び出力ポイ
ンタは前3i!n個のセルのうち、1つを入力/出力側
で選択し、データの書き込み(入力)及び読み出しく出
力)を行う。
そして、この入力ポインタと出力ポインタはポインタ制
御回路2によって、入出カポインタが相互に追い越さな
いように制御される。
CI”” C−はカウンタ・レジスタよりなるセル・カ
ウンタであって、各セルD1〜Dnが夫々有し、各々の
セルD、−D、が有する同値データをカウントするもの
である。このセル・カウンタc1〜cnは、入力端の比
較回路及びカウンタ制御回路3によって、連続して入力
されるデータを比較し、それらが同値データであるとき
に、同値データ数をカウントするように制御される。
また前記セル・カウンタC1〜Cnは出力側の読み出し
カウンタ制御回路4によって、入力された同値データが
連続して読み出されるときに、これをカウントダウンす
るように制御される。
次に前記11’FOバツフアメモリの制御動作について
説明する。尚、入力ポインタの値をi(1≦i≦n)、
その入力ポインタiが指すセルをD(i)と定義し、出
力ポインタの値をj(1≦j≦n)、その出力ポインタ
jが指すセルをD(j)と定義する。
先ず、データを入力する場合の、入力制御動作は第2図
のフローチャートに示す如く行われる。
即ち、初期状態とじ入力ポインタをi、出力ポインタを
jとしてi−jとし、そのポインタに於けるセル・カウ
ンタC(i)を「0」とする。
前記状態に於いて、最初に入力されたデータを入力ポイ
ンタiが指すセルD(i)に書き込むと同時に、比較回
路にも書き込む。そして、前記データが書き込まれたセ
ルD(i)に対応するセル・カウンタC(i)の値をN
Jにする。この状態で入力側は次のデータを持つ。
次のデータが入力端に入力されると、その入力データの
値を比較回路で保持している値と比較する。そして、入
力データが比較回路内の値と同値であるときは、セル・
カウンタC(i)を1つ進める。従って、同値データが
連続して入力される場合には1、セル・カウンタC(i
)のカウント数が増えるのみで、入力ポインタiは更新
されない。
また前記比較値が同値でないときは、入力ポインタiを
更新しくi=i+I)、その入力データをセルD(i+
1)に書き込むと共に、比較回路にも書き込む。そして
前記と同様にセル・カウンタC(i+1)を「1」にす
る。
−ここで、入力ポインタの更新条件は、1つ前の入力デ
ータと違うデータが入力されたとき、又は対応するビッ
ト幅任意のセル・カウンタがフルカウントになったとき
である。尚、入力ポインタの更新は+−t+iであり、
i>nであるときはi−1に戻って周回するものである
また、このFIFOバッファが満杯(Full)の条件
は、入力ポインタiを更新すると出力ポインタjに追い
つく場合であって(i+1=j)、且つその入力ポイン
タiのセル・カウンタC(i)がフルカウントになった
ときである。
次に書き込んだデータを取り出す場合の出力制御動作は
第3図のフローチャートに示す如く行われる。
この出力制御動作は、出力ポインタjの指すセルD(j
)に対応するセル・カウンタC(j)の値を取り出し、
そのカウント数だけセルD(j)に書き込まれたデータ
を取り出す。即ち、セル・カウンタC(j) −〇、 
 (f2 >1)であるときは、4個の連続した同値デ
ータが入力されていることを意味する。従って、セルD
(j)のデータを取り出す毎に、セル・カウンタC(j
)の値を減算しくC(D −C(D−1)、セル・カウ
ンタC(j)−〇になるまで同値データの取り出しを繰
り返す。
更に前記セル・カウンタC(j)−〇になると、出力ポ
インタjを更新(j=j+1)、前記と同様にデータを
取り出す。尚、更新した出力ポインタjがj>nになる
と、j=1に戻って周回するのは入力動作の場合と同様
である。
前記FIFOバッファメモリが空(Emp t y )
となる条件は、出力ポインタjを更新すると入力ポイン
タlに追いつく場合であって(j+1−1)、且つその
出力ポインタjに対応するセル・カウンタC(j)=0
のときである。
前記の如くして、入力データをデータ格納部に格納する
と共に、連続する同値データをセル・カウンタでカウン
トし、また前記データ格納部内のデータをセル・カウン
タのカウント数に応じて出力するらのである。
H,発明の効果 本発明は前述した如く、連続して入力される同値データ
を、対応するカウンタ・レジスタの範囲で、その連続す
る回数をカウンタ・レジスタに書き込むことにより、同
値データを効率良く入力及び出力することが出来る。従
って、データ格納部の数と同数の同値入力データによっ
て1’;”IFOバッファが満たされてしまうことがな
くなり、FIFOバッファメモリの使用効率を著しく高
めることが可能となるものである。
【図面の簡単な説明】
第1図は本発明の一実施例に係りFIFOバッファメモ
リのブロック図、第2図は入力制御動作のフローチャー
ト、第3図は出力制御動作のフローチャート、第4図は
従来のFIFOバッファメモリのブロック図である。 D(i)〜Dn・・セル、cI〜Cn・・・セル・カウ
ンタ、l・・・リード/ライト制御回路、2・・・ポイ
ンタ制御回路、3・・・比較回路及びカウンタ制御回路
、4・・読み出しカウンタ制御回路である。 第3図

Claims (1)

    【特許請求の範囲】
  1. (1)複数個のデータ格納部を有し、入力ポインタの指
    すデータ格納部にデータを格納し、出力ポインタの指す
    データ格納部からデータを取り出すFIFOバッファメ
    モリの制御方式に於いて、前記データ格納部に夫々対応
    する、同値データをカウントするためのカウンタ・レジ
    スタを有し、入力ポインタの指すデータ格納部にデータ
    を入力するときは、入力されたデータと1つ前の入力デ
    ータとを比較し、比較値が等しいときは入力ポインタを
    更新せずに該入力ポインタの指すデータ格納部に対応す
    るカウンタ・レジスタのカウント値を加算し、等しくな
    いとき及びカウンタ・レジスタのカウント値が満杯のと
    きは入力ポインタを更新してデータ格納部に格納し、出
    力ポインタの指すデータ格納部からデータを取り出すと
    きは、前記出力ポインタの指すデータ格納部に対応する
    カウンタ・レジスタのカウント数だけ同値データを取り
    出すことを特徴としたFIFOバッファメモリの制御方
    式。
JP63231101A 1988-09-14 1988-09-14 Fifoバッファメモリの制御方式 Pending JPH0277936A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63231101A JPH0277936A (ja) 1988-09-14 1988-09-14 Fifoバッファメモリの制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63231101A JPH0277936A (ja) 1988-09-14 1988-09-14 Fifoバッファメモリの制御方式

Publications (1)

Publication Number Publication Date
JPH0277936A true JPH0277936A (ja) 1990-03-19

Family

ID=16918315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63231101A Pending JPH0277936A (ja) 1988-09-14 1988-09-14 Fifoバッファメモリの制御方式

Country Status (1)

Country Link
JP (1) JPH0277936A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011227919A (ja) * 2000-06-09 2011-11-10 Trustees Of Columbia Univ In The City Of New York 混合された非同期および同期システム用少待ち時間fifo回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011227919A (ja) * 2000-06-09 2011-11-10 Trustees Of Columbia Univ In The City Of New York 混合された非同期および同期システム用少待ち時間fifo回路

Similar Documents

Publication Publication Date Title
US4507760A (en) First-in, first-out (FIFO) memory configuration for queue storage
US4320455A (en) Queue structure for a data processing system
US10133549B1 (en) Systems and methods for implementing a synchronous FIFO with registered outputs
US3771142A (en) Digital data storage system
JPS6235949A (ja) メモリ−装置
JPH04233634A (ja) ファジィ推論システム
AU642547B2 (en) First-in first-out buffer
US5019969A (en) Computer system for directly transferring vactor elements from register to register using a single instruction
US20030120842A1 (en) Writing and reading data from a queue
US3771140A (en) Storage configuration comprising shift registers
CN110968538B (zh) 一种数据缓冲方法和装置
JPH0277936A (ja) Fifoバッファメモリの制御方式
KR100358178B1 (ko) 공유메모리 스위치에서의 멀티캐스팅 장치 및 그 방법
KR19980056298A (ko) 환형 큐를 이용한 동적 데이터 블럭 전송 장치 및 방법
US4751631A (en) Apparatus for fast generation of signal sequences
CN115952326B (zh) 一种链表式数据结构及其数据处理方法、存储介质、电子设备
SU1069001A1 (ru) Оперативное запоминающее устройство
SU881863A1 (ru) Стековое запоминающее устройство
US3359542A (en) Variable length address compouter
EP0382699A2 (en) Interprocessor data transfer system and method
JPH1051469A (ja) Atmスイッチ
JP2989962B2 (ja) ベクトル処理装置
JPS6067990A (ja) 密度変換機能を有する画情報処理装置
JPS63239521A (ja) 磁気テ−プ装置のデ−タ処理方式
JP2615046B2 (ja) レコード追加処理方法