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
Links
Landscapes
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
合に、フォーマット毎にバッファ内の書き込み先及び読
み出し先を変更することができない。 【解決手段】集積回路装置は、受信データ又は送信デー
タを一時記憶するバッファと、非分割状態のバッファへ
のアドレスを設定する非分割用アドレス設定部と、分割
状態のサブバッファへのアドレスを設定する複数のサブ
バッファ用アドレス設定部と、アドレス設定制御部と、
サブバッファのサイズが設定されるサイズ設定部とを有
する。そして、アドレス設定制御部は、サイズ設定部に
設定されたサブバッファのサイズに応じて、サブバッフ
ァ用アドレス設定部にサブバッファ内のアドレス領域を
設定すると共に、バッファが非分割のとき非分割用アド
レス設定部のアドレスを有効化し、バッファが分割状態
のときサブバッファ用アドレス設定部のアドレスを有効
化する。
Description
積回路装置、特にデータの送受信時において複数のデー
タフォーマットに柔軟に対応可能なバッファメモリを有
する集積回路装置に関する。
とホストコンピュータや外部周辺装置との間でデータ通
信を行う場合、そのデータ通信は、データのフォーマッ
トや通信速度等を定めた通信プロトコルに従って行われ
る。
ルは複雑化し通信速度は高速化の傾向にあるが、通信デ
ータを受信又は送信する側である集積回路装置の処理速
度は、通信速度に追いついていないのが現状である。こ
のため、集積回路装置内にFIFO等のバッファを設
け、そのバッファに送受信するデータを一時記憶させ、
バッファに記憶させたデータに対して集積回路装置の処
理速度に従ったデータ処理を行い、通信速度と処理速度
の違いを解決している。
明図(I)である。図9(1)に示すように、CPU1
80、RAM181、バッファ182等を有する集積回
路装置100が、ホストコンピュータ201と通信回線
202を介してデータ通信を行う場合について説明す
る。
201からのデータを受信する場合、そのデータのフォ
ーマットが、図9(2)に示すように、aバイトのデー
タAとbバイトのデータBとcバイトのデータCのデー
タ列101であるとする。この場合、集積回路装置10
0内のバッファ182が、図9(3)に示すように(a
+b+c)バイトの記憶容量を有する場合は、データ列
101を一括して一時記憶することができる。
記憶されたデータ列101は、集積回路装置100内の
RAM181に転送され、通信プロトコルで定められた
バイト数毎にソフトウェアで解釈され処理される。
データ通信における動作説明図(II)である。この場合
は、集積回路装置100内に、通信プロトコルで定めら
れた各バイト数毎の記憶容量を有する複数のバッファ1
85、186、187と、受信データのバイト数をカウ
ントして適切なバッファにデータを分配するデータ分配
回路189とが設けられる。そして、データ分配回路1
89により、通信プロトコルで定められたバイト数毎に
受信データの書き込み先のバッファを変更する。このよ
うにすれば、それぞれのバッファ185、186、18
7に一時記憶した受信データを独立に処理できるので、
データの処理効率を向上させることができる。
ピュータ201にデータを送信する場合について説明す
る。その際、図9のように1つのバッファ182を使用
する場合は、通信プロトコルで定められたフォーマット
に従いRAM181に送信データを順に設定し、そのデ
ータをバッファ182に転送してから送信を行う。
用する場合は、通信プロトコルで定められたファーマッ
トで決まる数、サイズのバッファ185、186、18
7に送信データを書き込み、書き込みが終了した時点で
バッファ185、186、187をフォーマットで決め
られた順に読み出して送信を行う。
装置内に1つのバッファを設ける場合、データ受信の場
合は、1つのバッファに一時記憶した受信データをRA
M等のメモリに転送し、通信プロトコルで定められたバ
イト数毎にその受信データをソフトウェアで解釈してい
た。また、データ送信の場合は、RAM等のメモリに送
信データを順に設定し、そのデータをバッファに転送し
て送信を行っていた。
プロトコルで定められたフォーマットが固定されている
場合は有効であるが、送受信するフォーマットが複数種
類存在する場合に、フォーマット毎にバッファ内の書き
込み先及び読み出し先を変更することが困難になる。ま
た、ハードウェアの変更が困難な場合はソフトウェアに
よって変更するしかなく、ソフトウェアの負担が大きく
なり、システム処理の効率も下がるといった問題が生じ
ていた。
数のバッファを設ける場合は、通信プロトコルで定めら
れたフォーマットが複数の場合に、その複数のファーマ
ットに対して更に複数のバッファが必要になり、バッフ
ァの数が増大して集積回路装置の回路規模が大きくなっ
てしまう。
られたフォーマットが複数の場合でも、ソフトウェアへ
の負担を最小限とし、比較的簡単なハードウェアの切り
替えで、複数のフォーマットに対応した処理や設定がで
きる集積回路装置を提供することを目的とする。
ータを一時記憶するバッファと、非分割状態の前記バッ
ファへのアドレスを設定する非分割用アドレス設定部
と、前記バッファが論理的に分割されたサブバッファ毎
に設けられ、それぞれの前記サブバッファへのアドレス
を設定する複数のサブバッファ用アドレス設定部と、前
記サブバッファのサイズが設定されるサイズ設定部と、
前記サイズ設定部に設定された前記サブバッファのサイ
ズに応じて、前記サブバッファ用アドレス設定部に前記
サブバッファ内のアドレス領域を設定し、前記バッファ
が非分割状態のとき前記非分割用アドレス設定部のアド
レスを有効化し、前記バッファが分割状態のとき前記サ
ブバッファ用アドレス設定部のアドレスを有効化するア
ドレス設定制御部とを有し、非分割状態の前記バッファ
は、前記非分割用アドレス設定部のアドレスに応じて、
前記送受信データの書き込み又は読み出しが行われ、前
記サブバッファは、対応する前記サブバッファ用アドレ
ス設定部からのアドレスに応じて、前記送受信データの
読み出し又は書き込みが行われることを特徴とする集積
回路装置を提供することにより達成される。
受信時に非分割状態となり、単一のバッファとして送受
信が可能である。一方、バッファは、バッファに受信し
たデータの読み出し時、又は送信データのバッファへの
書き込み時は分割状態となり、データフォーマットに対
応したサイズのサブバッファとして、独立して読み出し
又は書き込みが可能である。また、サブバッファのサイ
ズをサイズ設定部に設定するだけで、任意のサイズに分
割することができる。このため、異なるデータフォーマ
ットに対応してバッファをサブバッファに分割して使用
することができ、柔軟性のある送受信バッファの構成が
可能になる。
ータフォーマットを有する通信プロトコルプログラムを
格納するメモリを有し、前記通信プロトコルプログラム
によって、前記サイズ設定部にそれぞれの前記データフ
ォーマットに応じて前記サブバッファのサイズが設定さ
れることを特徴とする。
データフォーマットが複数存在する場合でも、通信プロ
トコルプログラムによりサブバッファのサイズを設定す
れば送受信バッファをデータフォーマットに合わせるこ
とができ、異なるデータフォーマットに対して柔軟に対
応することができる。
て図面に従って説明する。しかしながら、かかる実施の
形態が本発明の技術的範囲を限定するものではない。
置100のブロック図である。集積回路装置100は、
ホストコンピュータ201に対し通信回線202を介し
てデータを送受信するバッファ102、バッファ102
に対するデータの書き込み又は読み出し先のアドレスを
設定するアドレス設定部192、アドレス設定部192
に対するポインタ値とフラグを設定するアドレス設定制
御部191、バッファ102に対するデータの書き込み
読み出し部であるレジスタ193、バッファ102を通
信フォーマットに従って分割する場合のバイト数を設定
するサイズ設定部103、通信プロトコル制御プログラ
ムを格納するROM190、CPU180等を有する。
に対応して分割可能である。そのために、アドレス設定
部192には、バッファ102が分割された場合に、分
割されたそれぞれのサブバッファに対するリードポイン
タRP#0〜RP#2、及びライトポインタWP#0〜
WP#2が設けられる。なお、バッファ102が非分割
の場合は、リードポインタRPM及びライトポインタW
PMが使用される。
定部192のポインタ値を設定すると共に、バッファ1
02が分割された場合に、分割されたそれぞれのサブバ
ッファに対するエンプティフラグEF#0〜EF#2、
及びフルフラグFF#0〜FF#2を有する。バッファ
102が非分割の場合は、エンプティフラグEFM及び
フルフラグFFMが使用される。また、バッファ分割フ
ラグBDFは、バッファ102の分割又は非分割を示す
フラグである。
及び読み出しを行うレジスタ193は、00H番地から
03H番地に割り当てられる。レジスタ193の00H
番地から02H番地は、分割されたそれぞれのサブバッ
ファに対する書き込み読み出しレジスタとして利用さ
れ、03H番地はバッファ102が非分割のときに利用
される。
タバス194及びアドレスバス195で接続される。ま
た、CPU180は、レジスタ193及びアドレス設定
部192に、書き込みストローブ信号197又は読み出
しストローブ信号196を出力し、レジスタ193内の
送信データをバッファ102に書き込んだり、バッファ
102から受信データをレジスタ193に読み出したり
等の処理を実行する。
み出したり、送信データを書き込む場合、アドレス設定
制御部191は、アドレス設定部192にリードライト
ポインタ選択信号130、ポインタ値設定信号131、
133を出力し、アドレス設定部192は、アドレス設
定制御部191にエンプティフラグ設定信号132、フ
ルフラグ設定信号134を出力する。
ュータ201からデータを受信する場合について、各部
の動作を順を追って説明する。
0に格納されているフォーマットに従って、バッファ1
02を分割して得られるサブバッファのサイズを示すバ
イト数a、b、cをサイズ設定部103に書き込む。そ
して、集積回路装置100がデータを受信する場合、ア
ドレス設定制御部191は、バッファ分割フラグBDF
を「0」に設定して、バッファ102を非分割に設定す
る。
は、アドレス設定部192の非分割用のリードポインタ
RPMとライトポインタWPMに初期値「0」を設定
し、さらに所定の領域に深さ「a+b+c」を設定す
る。なお、深さ「a+b+c」は、受信データの全バイ
ト数である。
期値「0」が設定されると、そのポインタ値をアドレス
にしてバッファ102はデータを受信して書き込み、書
き込む毎に非分割用ライトポインタWPMをインクリメ
ントする。
ンクリメントされ、非分割用リードポインタRPMの値
との差が深さ「a+b+c」に等しくなった時、即ち、 WPM−RPM=a+b+c の時に、アドレス設定制御部191内の非分割用フルフ
ラグFFMは「1」に設定される。この非分割用フルフ
ラグFFMの「1」への設定は、アドレス設定部192
により上記演算式からフルフラグ設定信号134が生成
されることで行われる。
になると、アドレス設定制御部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」に設定され、分割用
リード、ライトポインタが有効化される。
ると、CPU180からレジスタ193への00H番地
読み出し命令に応答して、分割用リードポインタRP#
0のポインタ値をアドレスにしてバッファ102からデ
ータが読み出され、レジスタ193の00H番地に書き
込まれる。そして、分割用リードポインタRP#0がイ
ンクリメントされる。
るデータの読み出しが終了し、分割用リードポインタR
P#0の値と分割用ライトポインタWP#0の値が等し
くなった時、即ち、 RP#0=WP#0=a の時に、アドレス設定制御部191内の分割用エンプテ
ィフラグEF#0が「1」に設定される。この分割用エ
ンプティフラグEF#0の「1」の設定は、アドレス設
定部192により上記演算式からエンプティフラグ設定
信号132が生成されることで行われる。
タを読み出すために、上記の(6)、(7)をレジスタ
193の001H番地について行う。
データを読み出すために、上記の(6)、(7)をレジ
スタ193の002H番地について行う。
割用エンプティフラグEF#0、EF#1、EF#2が
全て1になるのに応答して、それらのNAND論理によ
りバッファ分割フラグBDFを「0」に設定し、バッフ
ァ102を非分割に切り替える。これにより、バッファ
102は次のデータの受信が可能になる。
ュータ201にデータを送信する場合について説明す
る。データ送信はデータ受信と逆の動作となり、最初に
分割状態のサブバッファに送信データを書き込み、書き
込み終了後にサブバッファを非分割状態の単一のバッフ
ァに変換してデータを送信する。
がサブバッファに書き込まれる前に、送信フォーマット
に合わせて、あらかじめサブバッファのサイズを示す
a、b、cに設定され、バッファ102は、サイズ設定
部103の設定に従い、3つのサブバッファに論理的に
分割される。
送信データが書き込まれると、アドレス設定制御部19
1はバッファ分割フラグBDFを「0」にリセットし、
3つのサブバッファを単一の非分割バッファ102に戻
す。
信されるが、非分割バッファ102には、分割時にサイ
ズ設定部103のサイズに従った送信データが格納され
るので、非分割バッファ102は、通信プロトコルで定
められた送信フォーマットのデータ列101を送信する
ことができる。
回路装置100におけるデータ受信時の説明図(I)〜
(III)である。図2〜図4により、データ受信におけ
るバッファ102等の状態を説明する。
た受信フォーマットのデータ列101を示し、データ列
101は、2バイトのデータA、4バイトのデータB、
2バイトのデータCの順に通信回線202を介して受信
される。
2バイトのデータAを受信した場合のバッファ102、
アドレス設定部192、アドレス設定制御部191の状
態を示す。この場合、アドレス設定部192内の非分割
用ライトポインタWPMは「2」となり、バッファ10
2に2バイトのデータAが書き込まれたことを示す。ア
ドレス設定部192内の非分割用リードポインタRPM
は、データがまだ読み出されていないため初期値「0」
のままである。
割用エンプティフラグEFMは、バッファ102内にデ
ータが存在してWPM≠RPMであるので「0」であ
り、非分割用フルフラグFFMは、データがバッファ1
02に全て書き込まれておらずWPM−RPM=2<8
であるので「0」である。また、バッファ分割フラグB
DFは「0」でありバッファ102が1つの非分割バッ
ファとして動作していることを示す。
了した場合のバッファ102等の状態を示す。この場
合、アドレス設定部192内の非分割用ライトポインタ
WPMは「8」となり、バッファ102にデータ列10
1の8バイトのデータA、B、Cが全て書き込まれたこ
とを示す。即ち、WPM−RPM=8になり、フルフラ
グ設定信号134によってアドレス設定制御部191内
の非分割用フルフラグFFMは「1」にセットされ、バ
ッファ102が受信完了であることを示す。次に、非分
割用フルフラグFFM=「1」の非反転論理により、バ
ッファ分割フラグBDFが「1」に設定されバッファは
分割状態になる。
タに従って分割されたバッファ102等の状態を示す。
この場合、サイズ設定部103は、受信するデータ列1
01の受信フォーマットに合わせて、あらかじめPt0
=「2」、Pt1=「4」、Pt2=「2」に設定され
る。このサイズ設定部103への設定は、CPU180
がROM190内のプログラムに従って行う。
01の受信を完了し、バッファ分割フラグBDFが
「1」にセットされると、次の通り、バッファ102
は、サイズ設定部103で設定したサイズのサブバッフ
ァ120、121、122に論理的に分割される。
ドポインタRP#0、RP#1、RP#2には、各サブ
バッファの先頭アドレスを示す初期値「0」、「2」、
「6」が設定され、分割用ライトポインタWP#0、W
P#1、WP#2には、各サブバッファのサイズに対応
した最終アドレスを示す「2」、「6」、「8」が設定
され、有効化される。
き込まれていて、WP≠RPになっているので、アドレ
ス設定制御部191の分割用エンプティフラグEF#
0、EF#1、EF#2は全て「0」に設定され、WP
−RP=サブバッファサイズになっているので、分割用
フルフラグFF#0、FF#1、FF#2は全て「1」
に設定される。これらのエンプティフラグ、フルフラグ
の設定は、リードポインタRPとライトポインタWP及
びサブバッファサイズが設定されると、アドレス設定部
192が生成するフルフラグ設定信号134、エンプテ
ィフラグ設定信号132により自動的に行われる。
時のタイムチャートを示す。集積回路装置100内のC
PU180は、読み出しストローブ信号RDSとアドレ
ス信号ADDを出力し、各サブバッファ122、12
1、120から受信データの読み出しを行う。この場
合、前述のように、サブバッファ122、121、12
0にはそれぞれレジスタ193の00H番地、01H番
地、02H番地が割り当てられる。
でサブバッファ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
つずつ任意の順番に行うことも可能である。
102等の状態を示す。時間t4ではサブバッファ12
2のデータAは全て読み出されており、アドレス設定部
192内の分割用リードポインタRP#0は「2」にな
り、RP#0=WP#0=2になった結果、アドレス設
定制御部191内の分割用エンプティフラグEF#0は
「1」にセットされる。尚、データAが読み出されたこ
とで分割用フルフラグFF#0は「0」にリセットされ
ている。
ブバッファ121はデータB2まで読み出されており、
アドレス設定部192内の分割用リードポインタRP#
1は「4」になり、RP#1≠WP#1であるので分割
用エンプティフラグEF#1は「0」のままである。ま
た、データBが読み出されたので、アドレス設定制御部
191内の分割用フルフラグFF#1は「0」になって
いる。
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」にリセットされている。
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」になる。
100のバッファ102は、データ受信時には1つの非
分割バッファとしてデータ受信が可能であり、受信デー
タの読み出し時は、サイズ設定部103の設定により、
受信フォーマットに対応したサイズのサブバッファとし
て独立して読み出し可能である。このため、異なるデー
タフォーマットに対応して柔軟性のある送受信バッファ
の構成が可能になる。
回路装置100におけるデータ送信時の説明図(I)〜
(III)である。図5〜図7により、データ送信におけ
るバッファ102等の状態を説明する。
バッファ102、アドレス設定部192、アドレス設定
制御部191、サイズ設定部103の状態を示す。サイ
ズ設定部103は、送信フォーマットに合わせて、あら
かじめPt0=「2」、Pt1=「4」、Pt2=
「2」に設定される。
回のデータ送信が完了すると、アドレス設定制御部19
1内のバッファ分割フラグBDFが「1」にセットさ
れ、バッファ102は、サイズ設定部103の設定に従
い、3つのサブバッファ120、121、122に論理
的に分割される。
用ライトポインタ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」に設定される。
き込み時のタイムチャートである。集積回路装置100
内のCPU180は、書き込みストローブ信号WRSと
アドレス信号ADDを出力し、各サブバッファへ送信デ
ータの書き込みを行う。この場合、サブバッファ12
2、121、120には、それぞれレジスタ193の0
0H番地、01H番地、02H番地が割り当てられる。
でバッファ122にデータA1、A2が書き込まれ、時
間t3〜t6でバッファ121にデータB1、B2、B
3、B4が書き込まれ、時間t7、t8でバッファ12
0にデータC1、C2が書き込まれる。なお、図5
(2)では、サブバッファ122、121、120への
書き込みを、その順番で連続して行う場合を示したが、
アドレス信号ADDを変更することにより、1つずつ任
意の順番に書き込むことも可能である。
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が有効化される。
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」になっている。
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」にリセットされている。
後のバッファ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」になる。
た送信フォーマットのデータ列101を示し、データ列
101は、2バイトのデータA、4バイトのデータB、
2バイトのデータCの順にバッファ102から送信され
る。1バイトのデータが送信される毎に、非分割用リー
ドポインタRPMがインクリメントされる。
2等の状態を示す。この場合、アドレス設定部192内
の非分割用リードポインタRPMは「8」になり、バッ
ファ102の8バイトのデータA、B、Cが全て読み出
されたことを示す。また、RPM=WPM=8によりエ
ンプティフラグ設定信号132が生成され、アドレス設
定制御部191内の非分割用エンプティフラグEFMは
「1」になり、バッファ102が送信完了であることを
示す。
100のバッファ102は、データ送信時には1つの非
分割バッファとしてデータ送信が可能であり、送信デー
タの書き込み時に、サイズ設定部103の設定により、
送信フォーマットに対応したサイズに分割可能である。
このため、異なるデータフォーマットに対応してバッフ
ァをサブバッファに分割して使用することができ、柔軟
性のある送受信バッファの構成が可能になる。従って、
CPU180は、サイズ設定部103を設定するだけで
良く、簡単なハードウェアで、送信データのファーマッ
トに従った任意のサイズのサブバッファに分割すること
ができる。
いて8バイトのバッファ102を通信フォーマットの構
成に従って3分割する場合を説明したが、バッファ10
2は3分割以下であれば2分割にすることも可能であ
る。
では、バッファ102の分割数は固定的になるが、アド
レス設定部192及びアドレス設定制御部191内に通
信フォーマットの最大分割数Md分のリードポインタ、
ライトポインタ、エンプティフラグ、フルフラグを設
け、サイズ設定部103も最大分割数Md分設ければ、
バッファ102を最大分割数Md以下の分割数で動作さ
せることが可能である。
最大分割数Md以下のリードポインタ、ライトポイン
タ、エンプティフラグ、フルフラグを使用し、そのリー
ドポインタ、ライトポインタの初期値と深さ(サブバッ
ファサイズ)を通信フォーマットに従って設定する。そ
して、そのエンプティフラグ、フルフラグの値により、
バッファ102の分割、非分割を制御すれば、最大分割
数Md以下の分割数の通信フォーマットに対応可能であ
る。
路装置のブロック図である。この実施の形態では、CP
U180がソフトウェアによりバッファ102の分割、
非分割の切替えを指示できる。図1の実施の形態と共通
する部分の説明は省略し、異なる部分について説明す
る。
ドレス設定制御部191内にバッファ分割フラグを設け
ず、アドレス設定制御部191とは別にバッファ分割レ
ジスタ104を設ける。そして、CPU180が、デー
タバス194及びアドレスバス195を介してバッファ
分割レジスタ104を制御する。従って、CPU180
は、バッファ102の分割、非分割をソフトウェアによ
り切替えることができ、複数の通信フォーマットに柔軟
に対応することができる。
用フルフラグFF#0〜FF#3のNAND論理又は非
分割用フルフラグFFMの非反転論理により、バッファ
分割レジスタ104を設定するのは、第1の実施の形態
と同じである。
ッファは、データ送受信時に単一の非分割バッファとし
て送受信が可能である。一方、バッファから受信データ
を読み出す時、又はバッファへ送信データを書き込む時
は、データフォーマットに対応したサイズのサブバッフ
ァに論理的に分割され独立して読み出し又は書き込みが
可能である。このため、異なるデータフォーマットに対
して、柔軟性のある送受信バッファの構成が可能とな
る。
図である。
の説明図(I)である。
の説明図(II)である。
の説明図(III)である。
の説明図(I)である。
の説明図(II)である。
の説明図(III)である。
ック図である。
ある。
である。
Claims (6)
- 【請求項1】送受信データを一時記憶するバッファと、 非分割状態の前記バッファへのアドレスを設定する非分
割用アドレス設定部と、 前記バッファが論理的に分割されたサブバッファ毎に設
けられ、それぞれの前記サブバッファへのアドレスを設
定する複数のサブバッファ用アドレス設定部と、 前記サブバッファのサイズが設定されるサイズ設定部
と、 前記サイズ設定部に設定された前記サブバッファのサイ
ズに応じて、前記サブバッファ用アドレス設定部に前記
サブバッファ内のアドレス領域を設定し、前記バッファ
が非分割状態のとき前記非分割用アドレス設定部のアド
レスを有効化し、前記バッファが分割状態のとき前記サ
ブバッファ用アドレス設定部のアドレスを有効化するア
ドレス設定制御部とを有し、 非分割状態の前記バッファは、前記非分割用アドレス設
定部のアドレスに応じて、前記送受信データの書き込み
又は読み出しが行われ、前記サブバッファは、対応する
前記サブバッファ用アドレス設定部からのアドレスに応
じて、前記送受信データの読み出し又は書き込みが行わ
れることを特徴とする集積回路装置。 - 【請求項2】請求項1において、 前記アドレス設定制御部は、前記バッファの非分割状態
と分割状態の切替えを行うことを特徴とする集積回路装
置。 - 【請求項3】請求項2において、 前記アドレス設定制御部は、前記非分割のバッファ及び
前記サブバッファに対するデータの書き込み又は読み出
し状態を示すエンプティフラグ及びフルフラグを有し、 前記エンプティフラグ又はフルフラグに応じて前記バッ
ファの非分割状態と分割状態の切替えを行うことを特徴
とする集積回路装置。 - 【請求項4】請求項2において、 前記アドレス設定制御部は、前記バッファの非分割状態
又は分割状態が指定されるバッファ分割フラグを有し、 前記アドレス設定制御部は、該バッファ分割フラグに応
じて前記バッファの非分割状態と分割状態の切替えを行
うことを特徴とする集積回路装置。 - 【請求項5】請求項1において、 複数のデータフォーマットを有する通信プロトコルプロ
グラムを格納するメモリを有し、 前記通信プロトコルプログラムによって、前記サイズ設
定部にそれぞれの前記データフォーマットに応じて前記
サブバッファのサイズが設定されることを特徴とする集
積回路装置。 - 【請求項6】請求項1において、 前記サブバッファ用アドレス設定部は、複数のデータフ
ォーマットのうちの最大分割数に相当する個数備えら
れ、 第1のデータフォーマットでは、全ての前記サブバッフ
ァ用アドレス設定部に前記サブバッファのアドレスが設
定され、 第2のデータフォーマットでは、前記最大分割数より少
ない前記サブバッファ用アドレス設定部に前記サブバッ
ファのアドレスが設定されることを特徴とする集積回路
装置。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116931842A (zh) * | 2023-09-12 | 2023-10-24 | 合肥康芯威存储技术有限公司 | 一种存储器、数据处理方法、电子设备及介质 |
-
1998
- 1998-10-23 JP JP30297298A patent/JP3573630B2/ja not_active Expired - Fee Related
Cited By (2)
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 |