JP2000134268A - 送受信バッファを備える集積回路装置 - Google Patents

送受信バッファを備える集積回路装置

Info

Publication number
JP2000134268A
JP2000134268A JP10302972A JP30297298A JP2000134268A JP 2000134268 A JP2000134268 A JP 2000134268A JP 10302972 A JP10302972 A JP 10302972A JP 30297298 A JP30297298 A JP 30297298A JP 2000134268 A JP2000134268 A JP 2000134268A
Authority
JP
Japan
Prior art keywords
buffer
sub
data
address
address setting
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
JP10302972A
Other languages
English (en)
Other versions
JP3573630B2 (ja
Inventor
Koichi Yamamoto
幸一 山本
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP30297298A priority Critical patent/JP3573630B2/ja
Priority to US09/241,082 priority patent/US6321280B1/en
Priority to KR1019990012830A priority patent/KR100334044B1/ko
Publication of JP2000134268A publication Critical patent/JP2000134268A/ja
Priority to US09/928,355 priority patent/US6353864B1/en
Application granted granted Critical
Publication of JP3573630B2 publication Critical patent/JP3573630B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【課題】送受信するフォーマットが複数種類存在する場
合に、フォーマット毎にバッファ内の書き込み先及び読
み出し先を変更することができない。 【解決手段】集積回路装置は、受信データ又は送信デー
タを一時記憶するバッファと、非分割状態のバッファへ
のアドレスを設定する非分割用アドレス設定部と、分割
状態のサブバッファへのアドレスを設定する複数のサブ
バッファ用アドレス設定部と、アドレス設定制御部と、
サブバッファのサイズが設定されるサイズ設定部とを有
する。そして、アドレス設定制御部は、サイズ設定部に
設定されたサブバッファのサイズに応じて、サブバッフ
ァ用アドレス設定部にサブバッファ内のアドレス領域を
設定すると共に、バッファが非分割のとき非分割用アド
レス設定部のアドレスを有効化し、バッファが分割状態
のときサブバッファ用アドレス設定部のアドレスを有効
化する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、通信機能をもつ集
積回路装置、特にデータの送受信時において複数のデー
タフォーマットに柔軟に対応可能なバッファメモリを有
する集積回路装置に関する。
【0002】
【従来の技術】マイクロコンピュータ等の集積回路装置
とホストコンピュータや外部周辺装置との間でデータ通
信を行う場合、そのデータ通信は、データのフォーマッ
トや通信速度等を定めた通信プロトコルに従って行われ
る。
【0003】近年、データ通信において、通信プロトコ
ルは複雑化し通信速度は高速化の傾向にあるが、通信デ
ータを受信又は送信する側である集積回路装置の処理速
度は、通信速度に追いついていないのが現状である。こ
のため、集積回路装置内にFIFO等のバッファを設
け、そのバッファに送受信するデータを一時記憶させ、
バッファに記憶させたデータに対して集積回路装置の処
理速度に従ったデータ処理を行い、通信速度と処理速度
の違いを解決している。
【0004】図9は、従来のデータ通信における動作説
明図(I)である。図9(1)に示すように、CPU1
80、RAM181、バッファ182等を有する集積回
路装置100が、ホストコンピュータ201と通信回線
202を介してデータ通信を行う場合について説明す
る。
【0005】集積回路装置100がホストコンピュータ
201からのデータを受信する場合、そのデータのフォ
ーマットが、図9(2)に示すように、aバイトのデー
タAとbバイトのデータBとcバイトのデータCのデー
タ列101であるとする。この場合、集積回路装置10
0内のバッファ182が、図9(3)に示すように(a
+b+c)バイトの記憶容量を有する場合は、データ列
101を一括して一時記憶することができる。
【0006】この場合、バッファ182に一括して一時
記憶されたデータ列101は、集積回路装置100内の
RAM181に転送され、通信プロトコルで定められた
バイト数毎にソフトウェアで解釈され処理される。
【0007】図10は、複数のバッファを用いた従来の
データ通信における動作説明図(II)である。この場合
は、集積回路装置100内に、通信プロトコルで定めら
れた各バイト数毎の記憶容量を有する複数のバッファ1
85、186、187と、受信データのバイト数をカウ
ントして適切なバッファにデータを分配するデータ分配
回路189とが設けられる。そして、データ分配回路1
89により、通信プロトコルで定められたバイト数毎に
受信データの書き込み先のバッファを変更する。このよ
うにすれば、それぞれのバッファ185、186、18
7に一時記憶した受信データを独立に処理できるので、
データの処理効率を向上させることができる。
【0008】次に、集積回路装置100からホストコン
ピュータ201にデータを送信する場合について説明す
る。その際、図9のように1つのバッファ182を使用
する場合は、通信プロトコルで定められたフォーマット
に従いRAM181に送信データを順に設定し、そのデ
ータをバッファ182に転送してから送信を行う。
【0009】一方、図10のように複数のバッファを使
用する場合は、通信プロトコルで定められたファーマッ
トで決まる数、サイズのバッファ185、186、18
7に送信データを書き込み、書き込みが終了した時点で
バッファ185、186、187をフォーマットで決め
られた順に読み出して送信を行う。
【0010】
【発明が解決しようとする課題】図9のように集積回路
装置内に1つのバッファを設ける場合、データ受信の場
合は、1つのバッファに一時記憶した受信データをRA
M等のメモリに転送し、通信プロトコルで定められたバ
イト数毎にその受信データをソフトウェアで解釈してい
た。また、データ送信の場合は、RAM等のメモリに送
信データを順に設定し、そのデータをバッファに転送し
て送信を行っていた。
【0011】しかしながら、これらの従来の方法は通信
プロトコルで定められたフォーマットが固定されている
場合は有効であるが、送受信するフォーマットが複数種
類存在する場合に、フォーマット毎にバッファ内の書き
込み先及び読み出し先を変更することが困難になる。ま
た、ハードウェアの変更が困難な場合はソフトウェアに
よって変更するしかなく、ソフトウェアの負担が大きく
なり、システム処理の効率も下がるといった問題が生じ
ていた。
【0012】一方、図10のように集積回路装置内に複
数のバッファを設ける場合は、通信プロトコルで定めら
れたフォーマットが複数の場合に、その複数のファーマ
ットに対して更に複数のバッファが必要になり、バッフ
ァの数が増大して集積回路装置の回路規模が大きくなっ
てしまう。
【0013】そこで、本発明は、通信プロトコルで定め
られたフォーマットが複数の場合でも、ソフトウェアへ
の負担を最小限とし、比較的簡単なハードウェアの切り
替えで、複数のフォーマットに対応した処理や設定がで
きる集積回路装置を提供することを目的とする。
【0014】
【課題を解決するための手段】上記の目的は、送受信デ
ータを一時記憶するバッファと、非分割状態の前記バッ
ファへのアドレスを設定する非分割用アドレス設定部
と、前記バッファが論理的に分割されたサブバッファ毎
に設けられ、それぞれの前記サブバッファへのアドレス
を設定する複数のサブバッファ用アドレス設定部と、前
記サブバッファのサイズが設定されるサイズ設定部と、
前記サイズ設定部に設定された前記サブバッファのサイ
ズに応じて、前記サブバッファ用アドレス設定部に前記
サブバッファ内のアドレス領域を設定し、前記バッファ
が非分割状態のとき前記非分割用アドレス設定部のアド
レスを有効化し、前記バッファが分割状態のとき前記サ
ブバッファ用アドレス設定部のアドレスを有効化するア
ドレス設定制御部とを有し、非分割状態の前記バッファ
は、前記非分割用アドレス設定部のアドレスに応じて、
前記送受信データの書き込み又は読み出しが行われ、前
記サブバッファは、対応する前記サブバッファ用アドレ
ス設定部からのアドレスに応じて、前記送受信データの
読み出し又は書き込みが行われることを特徴とする集積
回路装置を提供することにより達成される。
【0015】本発明によれば、バッファは、データの送
受信時に非分割状態となり、単一のバッファとして送受
信が可能である。一方、バッファは、バッファに受信し
たデータの読み出し時、又は送信データのバッファへの
書き込み時は分割状態となり、データフォーマットに対
応したサイズのサブバッファとして、独立して読み出し
又は書き込みが可能である。また、サブバッファのサイ
ズをサイズ設定部に設定するだけで、任意のサイズに分
割することができる。このため、異なるデータフォーマ
ットに対応してバッファをサブバッファに分割して使用
することができ、柔軟性のある送受信バッファの構成が
可能になる。
【0016】また、本発明の集積回路装置は、複数のデ
ータフォーマットを有する通信プロトコルプログラムを
格納するメモリを有し、前記通信プロトコルプログラム
によって、前記サイズ設定部にそれぞれの前記データフ
ォーマットに応じて前記サブバッファのサイズが設定さ
れることを特徴とする。
【0017】本発明によれば、通信プロトコルに従った
データフォーマットが複数存在する場合でも、通信プロ
トコルプログラムによりサブバッファのサイズを設定す
れば送受信バッファをデータフォーマットに合わせるこ
とができ、異なるデータフォーマットに対して柔軟に対
応することができる。
【0018】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面に従って説明する。しかしながら、かかる実施の
形態が本発明の技術的範囲を限定するものではない。
【0019】図1は、本発明の実施の形態の集積回路装
置100のブロック図である。集積回路装置100は、
ホストコンピュータ201に対し通信回線202を介し
てデータを送受信するバッファ102、バッファ102
に対するデータの書き込み又は読み出し先のアドレスを
設定するアドレス設定部192、アドレス設定部192
に対するポインタ値とフラグを設定するアドレス設定制
御部191、バッファ102に対するデータの書き込み
読み出し部であるレジスタ193、バッファ102を通
信フォーマットに従って分割する場合のバイト数を設定
するサイズ設定部103、通信プロトコル制御プログラ
ムを格納するROM190、CPU180等を有する。
【0020】バッファ102は複数の通信フォーマット
に対応して分割可能である。そのために、アドレス設定
部192には、バッファ102が分割された場合に、分
割されたそれぞれのサブバッファに対するリードポイン
タRP#0〜RP#2、及びライトポインタWP#0〜
WP#2が設けられる。なお、バッファ102が非分割
の場合は、リードポインタRPM及びライトポインタW
PMが使用される。
【0021】アドレス設定制御部191は、アドレス設
定部192のポインタ値を設定すると共に、バッファ1
02が分割された場合に、分割されたそれぞれのサブバ
ッファに対するエンプティフラグEF#0〜EF#2、
及びフルフラグFF#0〜FF#2を有する。バッファ
102が非分割の場合は、エンプティフラグEFM及び
フルフラグFFMが使用される。また、バッファ分割フ
ラグBDFは、バッファ102の分割又は非分割を示す
フラグである。
【0022】バッファ102に対するデータの書き込み
及び読み出しを行うレジスタ193は、00H番地から
03H番地に割り当てられる。レジスタ193の00H
番地から02H番地は、分割されたそれぞれのサブバッ
ファに対する書き込み読み出しレジスタとして利用さ
れ、03H番地はバッファ102が非分割のときに利用
される。
【0023】CPU180とレジスタ193等は、デー
タバス194及びアドレスバス195で接続される。ま
た、CPU180は、レジスタ193及びアドレス設定
部192に、書き込みストローブ信号197又は読み出
しストローブ信号196を出力し、レジスタ193内の
送信データをバッファ102に書き込んだり、バッファ
102から受信データをレジスタ193に読み出したり
等の処理を実行する。
【0024】また、バッファ102から受信データを読
み出したり、送信データを書き込む場合、アドレス設定
制御部191は、アドレス設定部192にリードライト
ポインタ選択信号130、ポインタ値設定信号131、
133を出力し、アドレス設定部192は、アドレス設
定制御部191にエンプティフラグ設定信号132、フ
ルフラグ設定信号134を出力する。
【0025】次に、集積回路装置100がホストコンピ
ュータ201からデータを受信する場合について、各部
の動作を順を追って説明する。
【0026】(1)先ず、CPU180は、ROM19
0に格納されているフォーマットに従って、バッファ1
02を分割して得られるサブバッファのサイズを示すバ
イト数a、b、cをサイズ設定部103に書き込む。そ
して、集積回路装置100がデータを受信する場合、ア
ドレス設定制御部191は、バッファ分割フラグBDF
を「0」に設定して、バッファ102を非分割に設定す
る。
【0027】(2)次に、アドレス設定制御部191
は、アドレス設定部192の非分割用のリードポインタ
RPMとライトポインタWPMに初期値「0」を設定
し、さらに所定の領域に深さ「a+b+c」を設定す
る。なお、深さ「a+b+c」は、受信データの全バイ
ト数である。
【0028】(3)非分割用ライトポインタWPMに初
期値「0」が設定されると、そのポインタ値をアドレス
にしてバッファ102はデータを受信して書き込み、書
き込む毎に非分割用ライトポインタWPMをインクリメ
ントする。
【0029】(4)非分割用ライトポインタWPMがイ
ンクリメントされ、非分割用リードポインタRPMの値
との差が深さ「a+b+c」に等しくなった時、即ち、 WPM−RPM=a+b+c の時に、アドレス設定制御部191内の非分割用フルフ
ラグFFMは「1」に設定される。この非分割用フルフ
ラグFFMの「1」への設定は、アドレス設定部192
により上記演算式からフルフラグ設定信号134が生成
されることで行われる。
【0030】(5)非分割用フルフラグFFMが「1」
になると、アドレス設定制御部191は、アドレス設定
部192内の分割用リードポインタRP#0、RP#
1、RP#2に初期値「0」、「a」、「a+b」を設
定し、分割用ライトポインタWP#0、WP#1、WP
#2にサブバッファのサイズ(深さ)a、b、cに対応
して「a」、「a+b」、「a+b+c」を設定し、有
効化する。ここに、深さ「a」、「b」、「c」は、フ
ォーマットに従った受信データのバイト数である。これ
によりバッファ102は論理的に分割される。また、非
分割用フルフラグFFM=「1」の非反転論理により、
バッファ分割フラグBDFは「1」に設定され、分割用
リード、ライトポインタが有効化される。
【0031】(6)バッファ102が論理的に分割され
ると、CPU180からレジスタ193への00H番地
読み出し命令に応答して、分割用リードポインタRP#
0のポインタ値をアドレスにしてバッファ102からデ
ータが読み出され、レジスタ193の00H番地に書き
込まれる。そして、分割用リードポインタRP#0がイ
ンクリメントされる。
【0032】(7)レジスタ193の00H番地に対す
るデータの読み出しが終了し、分割用リードポインタR
P#0の値と分割用ライトポインタWP#0の値が等し
くなった時、即ち、 RP#0=WP#0=a の時に、アドレス設定制御部191内の分割用エンプテ
ィフラグEF#0が「1」に設定される。この分割用エ
ンプティフラグEF#0の「1」の設定は、アドレス設
定部192により上記演算式からエンプティフラグ設定
信号132が生成されることで行われる。
【0033】(8)分割された次のサブバッファのデー
タを読み出すために、上記の(6)、(7)をレジスタ
193の001H番地について行う。
【0034】(9)分割された更に次のサブバッファの
データを読み出すために、上記の(6)、(7)をレジ
スタ193の002H番地について行う。
【0035】(10)アドレス設定制御部191は、分
割用エンプティフラグEF#0、EF#1、EF#2が
全て1になるのに応答して、それらのNAND論理によ
りバッファ分割フラグBDFを「0」に設定し、バッフ
ァ102を非分割に切り替える。これにより、バッファ
102は次のデータの受信が可能になる。
【0036】次に、集積回路装置100がホストコンピ
ュータ201にデータを送信する場合について説明す
る。データ送信はデータ受信と逆の動作となり、最初に
分割状態のサブバッファに送信データを書き込み、書き
込み終了後にサブバッファを非分割状態の単一のバッフ
ァに変換してデータを送信する。
【0037】即ち、サイズ設定部103は、送信データ
がサブバッファに書き込まれる前に、送信フォーマット
に合わせて、あらかじめサブバッファのサイズを示す
a、b、cに設定され、バッファ102は、サイズ設定
部103の設定に従い、3つのサブバッファに論理的に
分割される。
【0038】論理的に分割された3つのサブバッファに
送信データが書き込まれると、アドレス設定制御部19
1はバッファ分割フラグBDFを「0」にリセットし、
3つのサブバッファを単一の非分割バッファ102に戻
す。
【0039】非分割バッファ102から送信データが送
信されるが、非分割バッファ102には、分割時にサイ
ズ設定部103のサイズに従った送信データが格納され
るので、非分割バッファ102は、通信プロトコルで定
められた送信フォーマットのデータ列101を送信する
ことができる。
【0040】図2〜図4は、本発明の実施の形態の集積
回路装置100におけるデータ受信時の説明図(I)〜
(III)である。図2〜図4により、データ受信におけ
るバッファ102等の状態を説明する。
【0041】図2(1)は、通信プロトコルで定められ
た受信フォーマットのデータ列101を示し、データ列
101は、2バイトのデータA、4バイトのデータB、
2バイトのデータCの順に通信回線202を介して受信
される。
【0042】図2(2)は、データ列101の先頭から
2バイトのデータAを受信した場合のバッファ102、
アドレス設定部192、アドレス設定制御部191の状
態を示す。この場合、アドレス設定部192内の非分割
用ライトポインタWPMは「2」となり、バッファ10
2に2バイトのデータAが書き込まれたことを示す。ア
ドレス設定部192内の非分割用リードポインタRPM
は、データがまだ読み出されていないため初期値「0」
のままである。
【0043】一方、アドレス設定制御部191内の非分
割用エンプティフラグEFMは、バッファ102内にデ
ータが存在してWPM≠RPMであるので「0」であ
り、非分割用フルフラグFFMは、データがバッファ1
02に全て書き込まれておらずWPM−RPM=2<8
であるので「0」である。また、バッファ分割フラグB
DFは「0」でありバッファ102が1つの非分割バッ
ファとして動作していることを示す。
【0044】図2(3)は、データ列101の受信が完
了した場合のバッファ102等の状態を示す。この場
合、アドレス設定部192内の非分割用ライトポインタ
WPMは「8」となり、バッファ102にデータ列10
1の8バイトのデータA、B、Cが全て書き込まれたこ
とを示す。即ち、WPM−RPM=8になり、フルフラ
グ設定信号134によってアドレス設定制御部191内
の非分割用フルフラグFFMは「1」にセットされ、バ
ッファ102が受信完了であることを示す。次に、非分
割用フルフラグFFM=「1」の非反転論理により、バ
ッファ分割フラグBDFが「1」に設定されバッファは
分割状態になる。
【0045】図3(1)は、サイズ設定部103のデー
タに従って分割されたバッファ102等の状態を示す。
この場合、サイズ設定部103は、受信するデータ列1
01の受信フォーマットに合わせて、あらかじめPt0
=「2」、Pt1=「4」、Pt2=「2」に設定され
る。このサイズ設定部103への設定は、CPU180
がROM190内のプログラムに従って行う。
【0046】このように、バッファ102がデータ列1
01の受信を完了し、バッファ分割フラグBDFが
「1」にセットされると、次の通り、バッファ102
は、サイズ設定部103で設定したサイズのサブバッフ
ァ120、121、122に論理的に分割される。
【0047】即ち、アドレス設定部192の分割用リー
ドポインタRP#0、RP#1、RP#2には、各サブ
バッファの先頭アドレスを示す初期値「0」、「2」、
「6」が設定され、分割用ライトポインタWP#0、W
P#1、WP#2には、各サブバッファのサイズに対応
した最終アドレスを示す「2」、「6」、「8」が設定
され、有効化される。
【0048】また、バッファ102にはデータが全て書
き込まれていて、WP≠RPになっているので、アドレ
ス設定制御部191の分割用エンプティフラグEF#
0、EF#1、EF#2は全て「0」に設定され、WP
−RP=サブバッファサイズになっているので、分割用
フルフラグFF#0、FF#1、FF#2は全て「1」
に設定される。これらのエンプティフラグ、フルフラグ
の設定は、リードポインタRPとライトポインタWP及
びサブバッファサイズが設定されると、アドレス設定部
192が生成するフルフラグ設定信号134、エンプテ
ィフラグ設定信号132により自動的に行われる。
【0049】図3(2)は、バッファ102の読み出し
時のタイムチャートを示す。集積回路装置100内のC
PU180は、読み出しストローブ信号RDSとアドレ
ス信号ADDを出力し、各サブバッファ122、12
1、120から受信データの読み出しを行う。この場
合、前述のように、サブバッファ122、121、12
0にはそれぞれレジスタ193の00H番地、01H番
地、02H番地が割り当てられる。
【0050】図3(2)に示すように、時間t1、t2
でサブバッファ122に格納された2バイトのデータA
1、A2が読み出され、時間t3〜t6でサブバッファ
121に格納された4バイトのデータB1、B2、B
3、B4が読み出される。また、時間t7、t8でサブ
バッファ120に格納された2バイトのデータC1、C
2が読み出される。なお、図3(2)では、サブバッフ
ァ122、121、120へのアクセスは、その順番で
連続して行う場合を示したが、アドレス信号ADDを変
更することにより、各サブバッファへのアクセスを、1
つずつ任意の順番に行うことも可能である。
【0051】図4(1)は、時間t4におけるバッファ
102等の状態を示す。時間t4ではサブバッファ12
2のデータAは全て読み出されており、アドレス設定部
192内の分割用リードポインタRP#0は「2」にな
り、RP#0=WP#0=2になった結果、アドレス設
定制御部191内の分割用エンプティフラグEF#0は
「1」にセットされる。尚、データAが読み出されたこ
とで分割用フルフラグFF#0は「0」にリセットされ
ている。
【0052】時間t4では図3(2)に示すように、サ
ブバッファ121はデータB2まで読み出されており、
アドレス設定部192内の分割用リードポインタRP#
1は「4」になり、RP#1≠WP#1であるので分割
用エンプティフラグEF#1は「0」のままである。ま
た、データBが読み出されたので、アドレス設定制御部
191内の分割用フルフラグFF#1は「0」になって
いる。
【0053】図4(2)は、時間t8におけるバッファ
102等の状態を示す。時間t8では各サブバッファ1
22、121、120の全てのデータが読み出されてお
り、アドレス設定部192内の分割用リードポインタR
P#0、RP#1、RP#2はそれぞれ「2」、
「6」、「8」になり、分割用ライトポインタWP#
0、WP#1、WP#2の値と等しくなる。従って、ア
ドレス設定制御部191内の分割用エンプティフラグE
F#0、EF#1、EF#2は全て「1」にセットされ
る。また、分割用フルフラグFF#0、FF#1、FF
#2は既に全て「0」にリセットされている。
【0054】図4(3)は、読み出し終了後のバッファ
102等の状態を示す。時間t8でアドレス設定制御部
191内の分割用エンプティフラグEF#0、EF#
1、EF#2が全て「1」にセットされると、それらの
NAND論理によって自動的にバッファ分割フラグBD
Fが「0」にリセットされ、非分割用リード、ライトポ
インタRPM、WPMが有効化され、バッファ102は
8バイトの1つの非分割バッファに戻る。また、非分割
用リードポインタRPM及び非分割用ライトポインタW
PMは「0」になり、バッファサイズ=8になって次の
データを受信するための待機状態になる。なお、WPM
=RPMにより非分割用エンプティフラグEFMは
「1」になり、WPM−RPM<8により非分割用フル
フラグFFMは「0」になる。
【0055】このように、本実施の形態の集積回路装置
100のバッファ102は、データ受信時には1つの非
分割バッファとしてデータ受信が可能であり、受信デー
タの読み出し時は、サイズ設定部103の設定により、
受信フォーマットに対応したサイズのサブバッファとし
て独立して読み出し可能である。このため、異なるデー
タフォーマットに対応して柔軟性のある送受信バッファ
の構成が可能になる。
【0056】図5〜図7は、本発明の実施の形態の集積
回路装置100におけるデータ送信時の説明図(I)〜
(III)である。図5〜図7により、データ送信におけ
るバッファ102等の状態を説明する。
【0057】図5(1)は、送信データの書き込み前の
バッファ102、アドレス設定部192、アドレス設定
制御部191、サイズ設定部103の状態を示す。サイ
ズ設定部103は、送信フォーマットに合わせて、あら
かじめPt0=「2」、Pt1=「4」、Pt2=
「2」に設定される。
【0058】本実施の形態の集積回路装置100は、前
回のデータ送信が完了すると、アドレス設定制御部19
1内のバッファ分割フラグBDFが「1」にセットさ
れ、バッファ102は、サイズ設定部103の設定に従
い、3つのサブバッファ120、121、122に論理
的に分割される。
【0059】この場合、アドレス設定部192内の分割
用ライトポインタWP#0、WP#1、WP#2には、
各サブバッファの先頭アドレスを示す初期値「0」、
「2」、「6」が設定され、分割用リードポインタRP
#0、RP#1、RP#2にも、初期値「0」、
「2」、「6」が設定され、有効化される。さらに、各
サブバッファのサイズ「2」、「4」、「2」は図示し
ない領域に設定される。この場合、まだバッファ102
にデータが書き込まれておらず、RP=WPであるの
で、エンプティフラグ設定信号132により、アドレス
設定制御部191内の分割用エンプティフラグEF#
0、EF#1、EF#2は全て「1」に設定される。ま
た、WP−RP=0<2、4、2であるので、フルフラ
グ設定信号134により、分割用フルフラグFF#0、
FF#1、FF#2は全て「0」に設定される。
【0060】図5(2)は、バッファ102のデータ書
き込み時のタイムチャートである。集積回路装置100
内のCPU180は、書き込みストローブ信号WRSと
アドレス信号ADDを出力し、各サブバッファへ送信デ
ータの書き込みを行う。この場合、サブバッファ12
2、121、120には、それぞれレジスタ193の0
0H番地、01H番地、02H番地が割り当てられる。
【0061】図5(2)に示すように、時間t1、t2
でバッファ122にデータA1、A2が書き込まれ、時
間t3〜t6でバッファ121にデータB1、B2、B
3、B4が書き込まれ、時間t7、t8でバッファ12
0にデータC1、C2が書き込まれる。なお、図5
(2)では、サブバッファ122、121、120への
書き込みを、その順番で連続して行う場合を示したが、
アドレス信号ADDを変更することにより、1つずつ任
意の順番に書き込むことも可能である。
【0062】図6(1)は、時間t4におけるバッファ
102等の状態を示す。時間t4ではサブバッファ12
2にデータAが全て書き込まれており、アドレス設定部
192内の分割用ライトポインタWP#0は「2」にな
り、WP#0−RP#0=2になるので、アドレス設定
制御部191内の分割用フルフラグFF#0は「1」に
なっている。さらに、データAが書き込まれたことでW
P#0≠RP#0になり、分割用エンプティフラグEF
#0は「0」になっている。サブバッファ122にデー
タAが全て書き込まれ、分割用フルフラグFF#0が
「1」に設定されると、アドレス設定制御部191によ
り、分割用ライトポインタWP#1とリードポインタR
P#1が有効化される。
【0063】その後、サブバッファ121には、時間t
4までにデータB2までのデータが書き込まれ、アドレ
ス設定部192内の分割用ライトポインタWP#1は
「4」になり、WP#1−RP#1=2<4であるので
分割用フルフラグFF#1は「0」のままである。但
し、データB1、B2が書き込まれたためWP#1≠R
P#1になり、アドレス設定制御部191内の分割用エ
ンプティフラグEF#1は「0」になっている。
【0064】図6(2)は、時間t8におけるバッファ
102等の状態を示す。時間t8では各サブバッファ1
22、121、120に全てのデータが書き込まれ、ア
ドレス設定部192内の分割用ライトポインタWP#
0、WP#1、WP#2はそれぞれ「2」、「6」、
「8」になり、分割用リードポインタRP#0、RP#
1、RP#2の値との差がそれぞれのサブバッファサイ
ズと等しくなる。従って、アドレス設定制御部191内
の分割用フルフラグFF#0、FF#1、FF#2は全
て「1」にセットされる。また、分割用エンプティフラ
グEF#0、EF#1、EF#2はRP≠WPになった
時点で全て「0」にリセットされている。
【0065】図7(1)は、送信データの書き込み終了
後のバッファ102等の状態を示す。時間t8でアドレ
ス設定制御部191内の分割用フルフラグFF#0、F
F#1、FF#2が全て「1」にセットされると、NA
ND論理により自動的にバッファ分割フラグBDFが
「0」にリセットされ、非分割用リード、ライトポイン
タRPM、WPMが有効化され、バッファ102は8バ
イトの非分割バッファに戻る。また、アドレス設定制御
部191により非分割用ライトポインタWPMは「8」
に設定され、非分割用リードポインタRPMは初期値
「0」に設定されて、データを送信するための待機状態
になる。なお、バッファ102はまだデータを送信して
おらず、WPM≠RPMであるので、アドレス設定制御
部191の非分割用エンプティフラグEFMは「0」に
なり、WPM−RPM=8であるので非分割用フルフラ
グFFMは「1」になる。
【0066】図7(2)は、通信プロトコルで定められ
た送信フォーマットのデータ列101を示し、データ列
101は、2バイトのデータA、4バイトのデータB、
2バイトのデータCの順にバッファ102から送信され
る。1バイトのデータが送信される毎に、非分割用リー
ドポインタRPMがインクリメントされる。
【0067】図7(3)は、送信完了時のバッファ10
2等の状態を示す。この場合、アドレス設定部192内
の非分割用リードポインタRPMは「8」になり、バッ
ファ102の8バイトのデータA、B、Cが全て読み出
されたことを示す。また、RPM=WPM=8によりエ
ンプティフラグ設定信号132が生成され、アドレス設
定制御部191内の非分割用エンプティフラグEFMは
「1」になり、バッファ102が送信完了であることを
示す。
【0068】このように、本実施の形態の集積回路装置
100のバッファ102は、データ送信時には1つの非
分割バッファとしてデータ送信が可能であり、送信デー
タの書き込み時に、サイズ設定部103の設定により、
送信フォーマットに対応したサイズに分割可能である。
このため、異なるデータフォーマットに対応してバッフ
ァをサブバッファに分割して使用することができ、柔軟
性のある送受信バッファの構成が可能になる。従って、
CPU180は、サイズ設定部103を設定するだけで
良く、簡単なハードウェアで、送信データのファーマッ
トに従った任意のサイズのサブバッファに分割すること
ができる。
【0069】なお、以上の説明では、送信又は受信にお
いて8バイトのバッファ102を通信フォーマットの構
成に従って3分割する場合を説明したが、バッファ10
2は3分割以下であれば2分割にすることも可能であ
る。
【0070】即ち、本実施の形態の集積回路装置100
では、バッファ102の分割数は固定的になるが、アド
レス設定部192及びアドレス設定制御部191内に通
信フォーマットの最大分割数Md分のリードポインタ、
ライトポインタ、エンプティフラグ、フルフラグを設
け、サイズ設定部103も最大分割数Md分設ければ、
バッファ102を最大分割数Md以下の分割数で動作さ
せることが可能である。
【0071】この場合は、通信フォーマットに対応した
最大分割数Md以下のリードポインタ、ライトポイン
タ、エンプティフラグ、フルフラグを使用し、そのリー
ドポインタ、ライトポインタの初期値と深さ(サブバッ
ファサイズ)を通信フォーマットに従って設定する。そ
して、そのエンプティフラグ、フルフラグの値により、
バッファ102の分割、非分割を制御すれば、最大分割
数Md以下の分割数の通信フォーマットに対応可能であ
る。
【0072】図8は、本発明の他の実施の形態の集積回
路装置のブロック図である。この実施の形態では、CP
U180がソフトウェアによりバッファ102の分割、
非分割の切替えを指示できる。図1の実施の形態と共通
する部分の説明は省略し、異なる部分について説明す
る。
【0073】図8の集積回路装置100においては、ア
ドレス設定制御部191内にバッファ分割フラグを設け
ず、アドレス設定制御部191とは別にバッファ分割レ
ジスタ104を設ける。そして、CPU180が、デー
タバス194及びアドレスバス195を介してバッファ
分割レジスタ104を制御する。従って、CPU180
は、バッファ102の分割、非分割をソフトウェアによ
り切替えることができ、複数の通信フォーマットに柔軟
に対応することができる。
【0074】なお、アドレス設定制御部191は、分割
用フルフラグFF#0〜FF#3のNAND論理又は非
分割用フルフラグFFMの非反転論理により、バッファ
分割レジスタ104を設定するのは、第1の実施の形態
と同じである。
【0075】
【発明の効果】以上説明した通り、本発明によれば、バ
ッファは、データ送受信時に単一の非分割バッファとし
て送受信が可能である。一方、バッファから受信データ
を読み出す時、又はバッファへ送信データを書き込む時
は、データフォーマットに対応したサイズのサブバッフ
ァに論理的に分割され独立して読み出し又は書き込みが
可能である。このため、異なるデータフォーマットに対
して、柔軟性のある送受信バッファの構成が可能とな
る。
【図面の簡単な説明】
【図1】本発明の実施の形態の集積回路装置のブロック
図である。
【図2】本発明の実施の形態のデータ受信時(書込み)
の説明図(I)である。
【図3】本発明の実施の形態のデータ受信時(読出し)
の説明図(II)である。
【図4】本発明の実施の形態のデータ受信時(読出し)
の説明図(III)である。
【図5】本発明の実施の形態のデータ送信時(書込み)
の説明図(I)である。
【図6】本発明の実施の形態のデータ送信時(書込み)
の説明図(II)である。
【図7】本発明の実施の形態のデータ送信時(読出し)
の説明図(III)である。
【図8】本発明の他の実施の形態の集積回路装置のブロ
ック図である。
【図9】従来のデータ通信における動作説明図(I)で
ある。
【図10】従来のデータ通信における動作説明図(II)
である。
【符号の説明】
100 集積回路装置 102 バッファ 103 サイズ設定部 104 バッファ分割レジスタ 180 CPU 190 ROM 191 アドレス設定制御部 192 アドレス設定部 193 レジスタ 201 ホストコンピュータ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】送受信データを一時記憶するバッファと、 非分割状態の前記バッファへのアドレスを設定する非分
    割用アドレス設定部と、 前記バッファが論理的に分割されたサブバッファ毎に設
    けられ、それぞれの前記サブバッファへのアドレスを設
    定する複数のサブバッファ用アドレス設定部と、 前記サブバッファのサイズが設定されるサイズ設定部
    と、 前記サイズ設定部に設定された前記サブバッファのサイ
    ズに応じて、前記サブバッファ用アドレス設定部に前記
    サブバッファ内のアドレス領域を設定し、前記バッファ
    が非分割状態のとき前記非分割用アドレス設定部のアド
    レスを有効化し、前記バッファが分割状態のとき前記サ
    ブバッファ用アドレス設定部のアドレスを有効化するア
    ドレス設定制御部とを有し、 非分割状態の前記バッファは、前記非分割用アドレス設
    定部のアドレスに応じて、前記送受信データの書き込み
    又は読み出しが行われ、前記サブバッファは、対応する
    前記サブバッファ用アドレス設定部からのアドレスに応
    じて、前記送受信データの読み出し又は書き込みが行わ
    れることを特徴とする集積回路装置。
  2. 【請求項2】請求項1において、 前記アドレス設定制御部は、前記バッファの非分割状態
    と分割状態の切替えを行うことを特徴とする集積回路装
    置。
  3. 【請求項3】請求項2において、 前記アドレス設定制御部は、前記非分割のバッファ及び
    前記サブバッファに対するデータの書き込み又は読み出
    し状態を示すエンプティフラグ及びフルフラグを有し、 前記エンプティフラグ又はフルフラグに応じて前記バッ
    ファの非分割状態と分割状態の切替えを行うことを特徴
    とする集積回路装置。
  4. 【請求項4】請求項2において、 前記アドレス設定制御部は、前記バッファの非分割状態
    又は分割状態が指定されるバッファ分割フラグを有し、 前記アドレス設定制御部は、該バッファ分割フラグに応
    じて前記バッファの非分割状態と分割状態の切替えを行
    うことを特徴とする集積回路装置。
  5. 【請求項5】請求項1において、 複数のデータフォーマットを有する通信プロトコルプロ
    グラムを格納するメモリを有し、 前記通信プロトコルプログラムによって、前記サイズ設
    定部にそれぞれの前記データフォーマットに応じて前記
    サブバッファのサイズが設定されることを特徴とする集
    積回路装置。
  6. 【請求項6】請求項1において、 前記サブバッファ用アドレス設定部は、複数のデータフ
    ォーマットのうちの最大分割数に相当する個数備えら
    れ、 第1のデータフォーマットでは、全ての前記サブバッフ
    ァ用アドレス設定部に前記サブバッファのアドレスが設
    定され、 第2のデータフォーマットでは、前記最大分割数より少
    ない前記サブバッファ用アドレス設定部に前記サブバッ
    ファのアドレスが設定されることを特徴とする集積回路
    装置。
JP30297298A 1998-04-20 1998-10-23 送受信バッファを備える集積回路装置 Expired - Fee Related JP3573630B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP30297298A JP3573630B2 (ja) 1998-10-23 1998-10-23 送受信バッファを備える集積回路装置
US09/241,082 US6321280B1 (en) 1998-04-20 1999-02-01 System LSI having communication function
KR1019990012830A KR100334044B1 (ko) 1998-04-20 1999-04-12 통신 기능을 갖는 시스템 lsi
US09/928,355 US6353864B1 (en) 1998-04-20 2001-08-14 System LSI having communication function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30297298A JP3573630B2 (ja) 1998-10-23 1998-10-23 送受信バッファを備える集積回路装置

Publications (2)

Publication Number Publication Date
JP2000134268A true JP2000134268A (ja) 2000-05-12
JP3573630B2 JP3573630B2 (ja) 2004-10-06

Family

ID=17915389

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30297298A Expired - Fee Related JP3573630B2 (ja) 1998-04-20 1998-10-23 送受信バッファを備える集積回路装置

Country Status (1)

Country Link
JP (1) JP3573630B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116931842A (zh) * 2023-09-12 2023-10-24 合肥康芯威存储技术有限公司 一种存储器、数据处理方法、电子设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116931842A (zh) * 2023-09-12 2023-10-24 合肥康芯威存储技术有限公司 一种存储器、数据处理方法、电子设备及介质
CN116931842B (zh) * 2023-09-12 2023-12-08 合肥康芯威存储技术有限公司 一种存储器、数据处理方法、电子设备及介质

Also Published As

Publication number Publication date
JP3573630B2 (ja) 2004-10-06

Similar Documents

Publication Publication Date Title
JPS59501435A (ja) キユ−記憶用フア−スト・イン・フア−スト・アウト(fifo)メモリ構造
JPH0644245B2 (ja) ストアバッファ装置
JP2001184211A (ja) 処理システムにおいてスタックのポップおよびプッシュ動作を行なうための装置および方法
US6691179B2 (en) Direct memory access controller for converting a transfer mode flexibly in accordance with a data transfer counter value
US5497466A (en) Universal address generator
US6415365B1 (en) Write buffer for use in a data processing apparatus
EP0338317A2 (en) Information processor operative both in direct mapping and in bank mapping and the method of switching the mapping schemes
JP2000134268A (ja) 送受信バッファを備える集積回路装置
KR100334044B1 (ko) 통신 기능을 갖는 시스템 lsi
CA1258129A (en) Variable wordlength computing module for dataflow processors
JP2595992B2 (ja) 電子楽器
JPH07306946A (ja) トランザクション合成による並行読み取り処理
JPH05289847A (ja) リングバッファ管理装置
JPH05289961A (ja) アドレス生成装置
JP2689490B2 (ja) 受信バッファの制御装置
JPH1040165A (ja) データ読み出し方法およびリードバッファ
KR0165518B1 (ko) 그래픽 콘트롤러의 데이타 패킹 fifo
JPH10240678A (ja) 拡張入出力バス
JPH0833869B2 (ja) データ処理装置
JPH06103026A (ja) メモリシステム
JP3541863B2 (ja) 中央演算処理装置
JPH0721102A (ja) メッセージ送受信装置
EP0866406A1 (en) Notification of message arrival in a parallel computer system
JPH10312356A (ja) データ転送装置
JPS6134628A (ja) タグ付計算機

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040317

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040629

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040629

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080709

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090709

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100709

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100709

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110709

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110709

Year of fee payment: 7

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20110709

Year of fee payment: 7

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20110709

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120709

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120709

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 9

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees