JPH11296344A - データバッファ回路 - Google Patents

データバッファ回路

Info

Publication number
JPH11296344A
JPH11296344A JP10862598A JP10862598A JPH11296344A JP H11296344 A JPH11296344 A JP H11296344A JP 10862598 A JP10862598 A JP 10862598A JP 10862598 A JP10862598 A JP 10862598A JP H11296344 A JPH11296344 A JP H11296344A
Authority
JP
Japan
Prior art keywords
buffer
data
value
input
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.)
Granted
Application number
JP10862598A
Other languages
English (en)
Other versions
JP3307325B2 (ja
Inventor
Hirohisa Amagasaki
浩久 尼崎
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP10862598A priority Critical patent/JP3307325B2/ja
Publication of JPH11296344A publication Critical patent/JPH11296344A/ja
Application granted granted Critical
Publication of JP3307325B2 publication Critical patent/JP3307325B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【課題】入力バッファ及び出力バッファのバッファサイ
ズを動的に変更可能とし、バッファの有効利用を図ると
ともに、データ転送効率を向上するデータバッファ装置
の提供。 【解決手段】データバッファを、その境を指示するレジ
スタ(7)の値により分割し、一方の連続領域を入力バ
ッファ(2)、他方の連続領域を出力バッファ(3)と
し、前記境を指示するレジスタ(8)の値が可変に設定
される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報処理装置の入
出力制御方式に関し、特に、CPUと入出力装置との間
のデータバッファ回路に関する。
【0002】
【従来の技術】プロセッサと、入出力機器(I/O装
置)との間のデータ転送は、通常、入出力バッファ装置
に一旦、データをバッファリングして行われる。この場
合、サイズが固定のデータバッファを入力用と出力用に
分割して使用すると、入力/出力のデータ転送速度の不
一致から、バッファ領域が無駄になっていることが多か
った。
【0003】また、固定バッファサイズのバッファ回路
においては、入力データ量の増大等によりデータバッフ
ァに溢れ(オーバーフロー)が発生した場合、バッファ
に空きが生じるまで、受信データ待ちとなるようが制御
が行われ、データ転送効率の向上を難しくしていた。
【0004】なお、バッファサイズを可変に制御する方
式として、例えば特開平7−93198号公報には、デ
ータバッファサイズのサイズを自動的に可変させること
で、データベースへの平均アクセス時間を短縮するため
のコンピュータシステムが、提案されている。また、特
開平5−108565号公報には、画面定義サイズに対
応する出力バッファサイズの変更をトランザクション処
理を停止させることなく可変に変更可能とする方式が提
案されている。
【0005】
【発明が解決しようとする課題】以上説明したように、
サイズが固定のデータバッファを入力用と出力用に分割
して使用する従来の入出力制御方式においては、下記記
載の問題点を有している。
【0006】第1の問題点は、入力/出力のデータ転送
速度の不一致から、バッファ領域が無駄となる場合が多
く、バッファの有効利用を図ることができない、という
ことである。
【0007】第2の問題点は、入力/出力データの増大
等によりバッファに溢れ(オーバーフロー)が発生した
場合、バッファに空きが生じるまで、受信/送信待ちと
なり、データ転送効率が低下する、ということである。
【0008】したがって、本発明は、上記問題点に鑑み
てなされたものであって、その目的は、入力バッファ及
び出力バッファのバッファサイズを動的に変更可能と
し、バッファの有効利用を図るとともに、データ転送効
率を向上するバッファ管理方式を提供することにある。
【0009】
【課題を解決するための手段】前記目的を達成するた
め、本発明は、データバッファを、その値が境を決定す
るレジスタによって分割し、一方の連続領域を入力バッ
ファ、他方の連続領域を出力バッファとし、前記境を決
定するレジスタの値が可変に設定されるようにしたもの
である。
【0010】
【発明の実施の形態】本発明の実施の形態について説明
する。本発明の実施の形態は、図1を参照すると、デー
タバッファ(1)はメモリあるいはレジスタよりなり、
入力バッファ(2)と出力バッファ(3)の2つの領域
に分割される。領域の境目はレジスタ(8)の値により
決定される。
【0011】すなわち本発明の実施の形態においては、
データバッファ(1)を、その境を指示するスレショル
ドレジスタによって分割し、一方の連続領域を入出力機
器からのデータを入力するための入力バッファ(2)と
し、他方の連続領域を入出力機器にデータを出力するた
めの出力バッファ(3)とし、スレショルドレジスタ
(8)の値が、入力バッファ(2)がその範囲内に出力
バッファ(3)の領域に格納されるデータを含まず、且
つ、出力バッファ(3)がその範囲内に入力バッファ
(2)の領域に格納されるデータを含まないように、可
変に設定される。
【0012】本発明の実施の形態においては、入力バッ
ファ(2)及び出力バッファ(3)が先入れ先出し型の
バッファとして構成され、現在の書き込み位置を示すラ
イトポインタ(WP)、現在の読み出し位置を示すリード
ポインタ(RP)によって各バッファへのアクセスが行わ
れ、入力バッファに対する書き込みポインタの値をINW
P、読み出しポインタの値をINRP、前記出力バッファに
対する書き込みポインタの値をOUTWP)、読み出しポイ
ンタの値をOUTRP、前記スレショルドレジスタの値をTHP
とした時、OUTRP>OUTWP>THP>INWP>INRP、もしく
は、INWP>INRP>THP>OUTRP>OUTWPの条件を満たす場
合に、スレショルドレジスタの値が可変に設定される。
【0013】。本発明の実施の形態においては、データ
バッファが使用中、すなわちデータがバッファに蓄積さ
れているときでも、入力バッファと出力バッファの領域
の境界の変更が可能であり、バッファ領域の有効利用を
図ることができる。
【0014】
【実施例】上記した本発明の実施の形態について更に詳
細に説明すべく、本発明の一実施例について以下に説明
する。図1は、本発明の一実施例の構成を示す図であ
る。図1を参照すると、データバッファ1は、スレッシ
ョルドポインタレジスタ(THP)8により入力バッファ
(InputBuffer)2と出力バッファ(OutputBuffer)3
に分割される。
【0015】ライトポインタ(INWP)4は、入力バッフ
ァ2へのデータライト(書き込み)時のライトポイン
タ、リードポインタ(INRP)5は入力バッファ2からの
データリード(読み出し)時のリードポインタである。
同様にライトポインタ(OUTWP)6は出力バッファ3の
ライトポインタ、リードポインタ(OUTRP)7は出力バ
ッファ3のリードポインタである。
【0016】レジスタ9(NTHP)は、ソフトウェアから
ライト可能なレジスタであり、ソフトウェアがバッファ
の境界を指定するために使用する。
【0017】コンパレータ(CMP)10は、境界の変更
が可能かどうかの判断を行い、ライトイネーブル信号8
を生成する。
【0018】図1を参照して、本発明の一実施例の動作
について説明する。
【0019】まず、入力バッファ2の動作を説明する。
基本動作は一般的なFIFO(先入れ先出し型バッファメモ
リ)と同じである。
【0020】入力バッファ2へデータをバッファリング
する場合、ライトポインタ(INWP)4が指すアドレスに
データがライトされると同時に、ライトポインタ4はカ
ウントアップする。
【0021】バッファリングされたデータをリードする
ときはリードポインタ(INRP)5のリードポインタが指
すアドレスからデータがリードされると同時に、リード
ポインタ(INRP)5がカウントアップする。
【0022】ライトポインタ(INWP)4がカウントアッ
プしていって、スレッショルドポインタレジスタ8と同
じ値になると、ライトポインタ(INWP)4は“0”にク
リアされる。リードポインタ(INRP)5も同様である。
【0023】次に、出力バッファ3の動作を説明する。
出力バッファ3も入力バッファ2と同様の動作を行う
が、異なる点は、ライトポインタ(OUTWP)6およびリ
ードポインタ(OUTRP)7は、その初期値がデータバッ
ファ1の最大アドレスを指すように設定されており、ラ
イト、あるいはリード時にカウントアップではなく、カ
ウントダウンするということである。
【0024】ライトポインタ(OUTWP)6およびリード
ポインタ(OUTRP)7はカウントダウンしていってスレ
ッショルドポインタレジスタ8の値よりも“1”大きく
なったときに、再び初期値に設定される。
【0025】データバッファ1は、スレショルドポイン
タレジスタ8の値を境にして入力バッファ2と出力バッ
ファ3の2つの領域にわけられている。
【0026】スレショルドポインタレジスタ8の値は可
変である。データがバッファリングされていって、スレ
ショルドポインタレジスタ8の近辺に有効なデータが入
っていると、スレショルドポインタレジスタ8を変更し
たときに、入力バッファ2のデータが出力バッファ3の
領域に入ってしまったり、あるいはその逆が起きたりし
て、バッファの内容が破壊されてしまうことから、スレ
ショルドポインタレジスタ8の値の変更には、例えば次
式(1)の制約がある。
【0027】 OUTRP>OUTWP>THP>INWP>INRP …(1)
【0028】OUTRPはリードポインタ7、OUTWPはライト
ポインタ6、THPはスレショルドポインタ、INWPはライ
トポインタ4、INRPリードポインタ4の値である。上記
式(1)を満たすTHPにならば変更可能である。
【0029】レジスタ(NTHP)9は、プロセッサで実行
されるソフトウェア命令がライト可能なレジスタであ
り、ソフトウェアが境界を変更したいときにここに新し
いTHP値のライトを行う。
【0030】レジスタ9へのライトが行われると、コン
パレータ10が式(1)を満たすか否かを判断し、式
(1)が満たされている場合には、レジスタ9からスレ
ショルドレジスタ8へのライトイネーブル信号を発生
し、境界が変更される。
【0031】なお、図1では、入力バッファ(2)を低
位アドレス側からスレショルドレジスタ8で指示される
値までの間のバッファ領域とし、出力バッファ(3)を
スレショルドレジスタ8の値とバッファの最大アドレス
の間のバッファ領域としたが、逆の配置としてもよいこ
とは勿論である。
【0032】
【発明の効果】以上説明したように、本発明によれば、
バッファが使用中でも、領域の境界の変更が可能なた
め、データ送信あるいは受信中にバッファ領域が溢れそ
うになった場合、通信を中断することなく、バッファサ
イズを大きくでき、境界が固定の場合と比較して、より
効率的に瞬間的な転送速度の増大に対応でき、データバ
ッファのバッファ領域の有効利用を図ることができると
いう効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施例の構成を示す図である。
【符号の説明】
1 データバッファ 2 入力バッファ 3 出力バッファ 4 入力バッファのリードポインタ 5 入力バッファのライトポインタ 6 出力バッファのライトポインタ 7 出力バッファのリードポインタ 8 スレショルドレジスタ 9 スレショルド値設定用のレジスタ 10 コンパレータ

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】データバッファを、その値が前記データバ
    ッファの境を決定するレジスタによって分割し、一方の
    連続領域を入力バッファ、他方の連続領域を出力バッフ
    ァとし、前記データバッファの境を決定するレジスタの
    値が可変に設定される、ことを特徴とするデータバッフ
    ァ回路。
  2. 【請求項2】入出力用のデータバッファを、その境を決
    定するスレショルドレジスタで指示されるアドレスポイ
    ンタにより分割し、一方の連続領域を入出力機器からの
    入力データを一時的に蓄積する入力バッファ、他方の連
    続領域を入出力機器にデータを出力するための出力デー
    タを一時的に蓄積する出力バッファとし、 前記境を指示するスレショルドレジスタの値が、前記入
    力バッファがその範囲内に前記出力バッファに格納され
    るデータを含まず、且つ、前記出力バッファがその範囲
    内に前記入力バッファに格納されるデータを含まないよ
    うに、可変に設定される、ことを特徴とするデータバッ
    ファ回路。
  3. 【請求項3】前記入力バッファ及び前記出力バッファが
    先入れ先出し型のバッファとして構成され、現在の書き
    込み位置を示すポインタ、現在の読み出し位置を示す読
    み出しポインタによって前記各バッファへのアクセスが
    行われる、ことを特徴とする請求項2記載のデータバッ
    ファ回路。
  4. 【請求項4】前記入力バッファに対する書き込みポイン
    タの値をINWP、読み出しポインタの値をINRPとし、前記
    出力バッファに対する書き込みポインタの値をOUTWP、
    読み出しポインタの値をOUTRPとし、前記スレショルド
    レジスタの値をTHPとした時、 OUTRP>OUTWP>THP>INWP>INRP、もしくは、INWP>INR
    P>THP>OUTRP>OUTWPの条件を満たす範囲内で、前記ス
    レショルドレジスタの値THPが可変に設定されるように
    制御する手段を備えたことを特徴とする請求項2記載の
    データバッファ回路。
  5. 【請求項5】前記スレショルドレジスタの値を可変に設
    定するためにソフトウェア命令でその値が設定される第
    二のレジスタを備え、 前記第二のレジスタの値(NTHP)と、前記入力バッファ
    に対する書き込みポインタの値(INWP)、読み出しポイ
    ンタの値(INRP)、前記出力バッファに対する書き込み
    ポインタの値(OUTWP)、読み出しポインタの値(OUTR
    P)を比較するコンパレータと、 を備え、 OUTRP>OUTWP>NTHP>INWP>INRP、もしくは、INWP>IN
    RP>NTHP>OUTRP>OUTWPの条件を満たす時に、前記第二
    のレジスタの値(NTHP)が前記スレショルドレジスタに
    書き込まれる、 ことを特徴とする、請求項2記載のデータバッファ回
    路。
  6. 【請求項6】サイズが固定のデータバッファを、その境
    を指示するスレショルドレジスタにより分割し、一方の
    連続領域を入出力機器からの入力データを一時的に蓄積
    する入力バッファとし、他方の連続領域を入出力機器に
    データを出力するための出力データを一時的に蓄積する
    出力バッファとし、 前記スレショルドレジスタの値を可変させるにあたっ
    て、前記入力バッファの境が、使用中の前記出力バッフ
    ァの領域に跨ることなく、前記出力バッファの境が、使
    用中の前記入力バッファの領域に跨ることがないよう
    に、前記スレショルドレジスタの値を可変に設定するた
    めの手段を備えたことを特徴とするデータバッファの制
    御方式。
  7. 【請求項7】前記スレショルドレジスタの値をソフトウ
    ェア命令の実行で可変に設定するための手段を備えたこ
    とを特徴とする請求項6記載のデータバッファの制御方
    式。
JP10862598A 1998-04-03 1998-04-03 データバッファ回路 Expired - Fee Related JP3307325B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10862598A JP3307325B2 (ja) 1998-04-03 1998-04-03 データバッファ回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10862598A JP3307325B2 (ja) 1998-04-03 1998-04-03 データバッファ回路

Publications (2)

Publication Number Publication Date
JPH11296344A true JPH11296344A (ja) 1999-10-29
JP3307325B2 JP3307325B2 (ja) 2002-07-24

Family

ID=14489550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10862598A Expired - Fee Related JP3307325B2 (ja) 1998-04-03 1998-04-03 データバッファ回路

Country Status (1)

Country Link
JP (1) JP3307325B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003242024A (ja) * 2001-12-21 2003-08-29 Agere Systems Inc データ損失のないバッファ分割方法および装置
WO2022075033A1 (ja) * 2020-10-06 2022-04-14 株式会社オートネットワーク技術研究所 第1車載ecu、プログラム、情報処理方法及び車載システム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003242024A (ja) * 2001-12-21 2003-08-29 Agere Systems Inc データ損失のないバッファ分割方法および装置
KR100939649B1 (ko) * 2001-12-21 2010-02-03 에이저 시스템즈 인크 데이터 손실없는 버퍼 분할 방법 및 장치
WO2022075033A1 (ja) * 2020-10-06 2022-04-14 株式会社オートネットワーク技術研究所 第1車載ecu、プログラム、情報処理方法及び車載システム
JP2022061303A (ja) * 2020-10-06 2022-04-18 株式会社オートネットワーク技術研究所 第1車載ecu、プログラム、情報処理方法及び車載システム
CN116194331A (zh) * 2020-10-06 2023-05-30 株式会社自动网络技术研究所 第一车载ecu、程序、信息处理方法及车载系统

Also Published As

Publication number Publication date
JP3307325B2 (ja) 2002-07-24

Similar Documents

Publication Publication Date Title
US6192428B1 (en) Method/apparatus for dynamically changing FIFO draining priority through asynchronous or isochronous DMA engines in response to packet type and predetermined high watermark being reached
US6094695A (en) Storage buffer that dynamically adjusts boundary between two storage areas when one area is full and the other has an empty data register
US5636362A (en) Programmable high watermark in stack frame cache using second region as a storage if first region is full and an event having a predetermined minimum priority
EP0489504B1 (en) Bidirectional FIFO buffer for interfacing between two buses
KR100337056B1 (ko) 상이한 주파수로 동작하는 버스사이에 전송되는 데이터를버퍼링하는 디바이스 및 방법
US5983293A (en) File system for dividing buffer areas into different block sizes for system and user data
KR100766732B1 (ko) 고속의 낮은 오버헤드의 콘텍스트 전환을 실행하는 디바이스 및 방법
US6301630B1 (en) Interrupt response in a multiple set buffer pool bus bridge
EP2431884A1 (en) Multi-ported memory controller with ports associated with traffic classes
EP1006451B1 (en) A DMA transfer device capable of high-speed consecutive access to pages in a memory
KR19980015209A (ko) 디엠에이 명령의 프리-로딩을 이용한 디엠에이 데이터 전송방법(a dma data transferring method using a pre-loading of dma instruction)
US6219737B1 (en) Read request performance of a multiple set buffer pool bus bridge
JP2002354217A (ja) 画像形成装置および画像形成方法
US6976110B2 (en) Method and apparatus for reducing interrupt latency by dynamic buffer sizing
US7216186B2 (en) Controlling data flow between processor systems
US6415365B1 (en) Write buffer for use in a data processing apparatus
US20090254710A1 (en) Device and method for controlling cache memory
CN114879584B (zh) 一种基于fpga的dma控制器边界对齐方法及其电路
US20060218313A1 (en) DMA circuit and computer system
JP3307325B2 (ja) データバッファ回路
CA2289192C (en) Communication dma device
US6697889B2 (en) First-in first-out data transfer control device having a plurality of banks
US20020032846A1 (en) Memory management apparatus and method
JPH03147157A (ja) 情報処理装置
JP2000215154A (ja) Dmaコントロ―ラ

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020416

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090517

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100517

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110517

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees