JP2007233707A - バッファ装置及び集積回路装置 - Google Patents
バッファ装置及び集積回路装置 Download PDFInfo
- Publication number
- JP2007233707A JP2007233707A JP2006054907A JP2006054907A JP2007233707A JP 2007233707 A JP2007233707 A JP 2007233707A JP 2006054907 A JP2006054907 A JP 2006054907A JP 2006054907 A JP2006054907 A JP 2006054907A JP 2007233707 A JP2007233707 A JP 2007233707A
- Authority
- JP
- Japan
- Prior art keywords
- prefetch
- buffer
- data
- read
- buffer device
- 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
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
【課題】データの転送順を容易に制御することが可能なバッファ装置及び集積回路装置を提供する。
【解決手段】バッファ装置100は、バッファ10へのデータの書き込みと、バッファ10からのデータの読み出しとを行うバッファ装置である。バッファ装置100は、バッファ10の書き込みアドレスを順次指定するライトポインタ20と、バッファ10の先読み領域を指定するための、先読み領域の先頭アドレス情報を含む先読み領域指定情報を保持する先読み領域指定情報保持部30と、ライトポインタ20の値と先頭アドレスとを比較して、ライトポインタ20の値と先頭アドレスとが一致したときに、先読み領域に書き込まれたデータを順次読み出して転送する先読み動作を開始する制御を行う先読み動作制御部40と、を含む。
【選択図】図1
【解決手段】バッファ装置100は、バッファ10へのデータの書き込みと、バッファ10からのデータの読み出しとを行うバッファ装置である。バッファ装置100は、バッファ10の書き込みアドレスを順次指定するライトポインタ20と、バッファ10の先読み領域を指定するための、先読み領域の先頭アドレス情報を含む先読み領域指定情報を保持する先読み領域指定情報保持部30と、ライトポインタ20の値と先頭アドレスとを比較して、ライトポインタ20の値と先頭アドレスとが一致したときに、先読み領域に書き込まれたデータを順次読み出して転送する先読み動作を開始する制御を行う先読み動作制御部40と、を含む。
【選択図】図1
Description
本発明は、バッファ装置及び集積回路装置に関する。
データの転送処理方式として、FIFO(First In First Out)と呼ばれる処理方式が知られている。この方式では、データは、ポインタにより順に処理されるか、必要によっては、CPUにより直接アクセスされる。
特開昭63−219051号公報
しかし、通常のFIFOによると、データの転送順を制御することはできず、また、CPUが直接アクセスする場合には、FIFOの動作が止まっている必要があるため、タイミングの制御が困難である。
本発明の目的は、データの転送順を容易に制御することが可能なバッファ装置及び集積回路装置を提供することにある。
(1)本発明に係るバッファ装置は、
バッファへのデータの書き込みと、前記バッファからのデータの読み出しとを行うバッファ装置において、
前記バッファの書き込みアドレスを順次指定するライトポインタと、
前記バッファの先読み領域を指定するための、前記先読み領域の先頭アドレス情報を含む先読み領域指定情報を保持する先読み領域指定情報保持部と、
前記ライトポインタの値と前記先頭アドレスとを比較して、前記ライトポインタの値と前記先頭アドレスとが一致したときに、前記先読み領域に書き込まれるデータを順次読み出して転送する先読み動作を開始する制御を行う先読み動作制御部と、
を含む。
バッファへのデータの書き込みと、前記バッファからのデータの読み出しとを行うバッファ装置において、
前記バッファの書き込みアドレスを順次指定するライトポインタと、
前記バッファの先読み領域を指定するための、前記先読み領域の先頭アドレス情報を含む先読み領域指定情報を保持する先読み領域指定情報保持部と、
前記ライトポインタの値と前記先頭アドレスとを比較して、前記ライトポインタの値と前記先頭アドレスとが一致したときに、前記先読み領域に書き込まれるデータを順次読み出して転送する先読み動作を開始する制御を行う先読み動作制御部と、
を含む。
本発明のバッファ装置では、バッファの先読み領域に入力されたデータを、他のデータの読み出し動作に先立って転送する。これによると、ブロック転送を行う場合であっても、データがすべてバッファに書き込まれる前に、特定のデータを転送(先読み)することができる。例えば、ブロック転送されるデータには、データ処理に必要な先行処理を特定するためのデータが含まれていることがあるが、この先行処理を特定するためのデータを、他のデータに先立って転送すれば、データ転送処理(ブロック転送処理)前に先行処理を終わらせることができる。そのため、ブロック転送処理がなされた後に、速やかにデータ処理を開始することができるため、データを高速に処理することが可能になる。
すなわち、本発明のバッファ装置によると、データの転送順序を制御することができ、これにより、効率よくデータ処理を行うことが可能になる。
(2)このバッファ装置において、
前記先読み領域指定情報は、前記先読み領域の最終アドレス情報を含み、
前記先読み動作制御部は、
前記最終アドレス情報に基づいて前記先読みされるデータの転送が終了したことを検出して、前記先読み動作を終了する制御を行ってもよい。
前記先読み領域指定情報は、前記先読み領域の最終アドレス情報を含み、
前記先読み動作制御部は、
前記最終アドレス情報に基づいて前記先読みされるデータの転送が終了したことを検出して、前記先読み動作を終了する制御を行ってもよい。
(3)このバッファ装置において、
前記先読み動作制御部は、
前記ライトポインタの値と前記最終アドレスとが一致したことを検出して、前記先読み動作を終了する制御を行ってもよい。
前記先読み動作制御部は、
前記ライトポインタの値と前記最終アドレスとが一致したことを検出して、前記先読み動作を終了する制御を行ってもよい。
(4)このバッファ装置において、
前記先読み動作時に前記バッファの読み出しアドレスを順次指定する先読みリードポインタをさらに含み、
前記先読み動作制御部は、
前記先読みリードポインタの値と前記最終アドレスとが一致したことを検出して、前記先読み動作を終了する制御を行ってもよい。
前記先読み動作時に前記バッファの読み出しアドレスを順次指定する先読みリードポインタをさらに含み、
前記先読み動作制御部は、
前記先読みリードポインタの値と前記最終アドレスとが一致したことを検出して、前記先読み動作を終了する制御を行ってもよい。
(5)このバッファ装置において、
前記先読み領域指定情報は、先読みされるデータのサイズ情報を含み、
前記先読み動作制御部は、
前記サイズ情報に基づいて前記先読みされるデータの転送が終了したことを検出して、前記先読み動作を終了する制御を行ってもよい。
前記先読み領域指定情報は、先読みされるデータのサイズ情報を含み、
前記先読み動作制御部は、
前記サイズ情報に基づいて前記先読みされるデータの転送が終了したことを検出して、前記先読み動作を終了する制御を行ってもよい。
このバッファ装置は、例えば、先読み領域の最終アドレスを算出するための演算器を備えていてもよい。該演算器によって、先読み領域の先頭アドレスとデータのサイズとを加算すれば、先読み領域の最終アドレスを算出することができる。そして、先読み動作制御部は、算出された最終アドレスとライトポインタの値(先読みリードポインタの値)とが一致したことを検出して、先読み動作を終了する制御を行ってもよい。
あるいは、このバッファ装置は、例えば、先読み動作の動作回数をカウントするカウンタを備えていてもよい。そして、先読み動作制御部は、カウンタの値とデータのサイズ情報とを比較して、先読みされるデータの転送が終了したことを検出して、先読み動作を終了する制御を行ってもよい。
(6)このバッファ装置において、
前記先読み動作の終了を検出して、先読み動作終了信号を生成する先読み動作終了信号生成部をさらに含んでいてもよい。
前記先読み動作の終了を検出して、先読み動作終了信号を生成する先読み動作終了信号生成部をさらに含んでいてもよい。
これによると、例えばCPUが、先読み動作の終了を検知することができる。そのため、先読みデータを利用した先行処理が可能になる。
(7)このバッファ装置において、
前記先読み動作時にデータを転送する転送先のアドレスを指定する転送アドレス情報を保持する、転送アドレス情報保持部をさらに含み、
前記先読み動作制御部は、
前記先読み領域に書き込まれたデータを、前記転送アドレスに転送する制御を行ってもよい。
前記先読み動作時にデータを転送する転送先のアドレスを指定する転送アドレス情報を保持する、転送アドレス情報保持部をさらに含み、
前記先読み動作制御部は、
前記先読み領域に書き込まれたデータを、前記転送アドレスに転送する制御を行ってもよい。
(8)本発明に係る集積回路装置は、上記いずれかのバッファ装置とCPUとを含む。
(9)この集積回路装置において、
前記バッファに書き込まれたデータのDMA転送を制御するDMAコントローラをさらに含み、
前記DMAコントローラは、前記先読み動作の終了後にDMA転送を行ってもよい。
前記バッファに書き込まれたデータのDMA転送を制御するDMAコントローラをさらに含み、
前記DMAコントローラは、前記先読み動作の終了後にDMA転送を行ってもよい。
これにより、先行データを利用した効率のよいデータ処理が可能になるため、データ処理の効率を高めることができる。
(10)この集積回路装置において、
前記DMA転送時に前記バッファの読み出しアドレスを指定するリードポインタと、
前記先読みリードポインタ及び前記リードポインタの一方を選択する選択信号を生成する選択信号生成部と、
前記選択信号に基づいて、前記先読みリードポインタ及び前記リードポインタの一方を選択するポインタセレクタと、
をさらに含んでもよい。
前記DMA転送時に前記バッファの読み出しアドレスを指定するリードポインタと、
前記先読みリードポインタ及び前記リードポインタの一方を選択する選択信号を生成する選択信号生成部と、
前記選択信号に基づいて、前記先読みリードポインタ及び前記リードポインタの一方を選択するポインタセレクタと、
をさらに含んでもよい。
以下、本発明を適用した実施の形態について図面を参照して説明する。ただし、本発明は以下の実施の形態に限定されるものではない。また、本発明は、以下の内容を自由に組み合わせたものを含むものとする。
本実施の形態では、バッファ装置100は、集積回路装置1として構成されている。以下、バッファ装置100及び集積回路装置1について説明する。
(1)バッファ装置100の構成
バッファ装置100は、バッファ10へのデータ(入力データ310)の書き込みと、バッファ10からのデータ(出力データ320)の読み出しとを行う装置である。バッファ装置100は、例えば、クロック周波数の異なる複数の回路の間に配置され、該回路相互間でのデータの転送を制御する装置として構成されていてもよい。
バッファ装置100は、バッファ10へのデータ(入力データ310)の書き込みと、バッファ10からのデータ(出力データ320)の読み出しとを行う装置である。バッファ装置100は、例えば、クロック周波数の異なる複数の回路の間に配置され、該回路相互間でのデータの転送を制御する装置として構成されていてもよい。
バッファ装置100は、バッファ10を含む。バッファ10は、データを一時記憶する機能を有する。バッファ10は、既に公知となっているいずれかの構成のバッファを利用することができる。バッファ10として、例えば、リングバッファを利用してもよい。
バッファ装置100は、バッファ10の書き込みアドレスを順次指定するライトポインタ20を含む。ライトポインタ20は、バッファ10へのデータの書き込み動作時に、データを書き込むアドレスを順次指定する。そして、入力データ310は、ライトポインタ20が指定したアドレスに格納される。ライトポインタ20は、CPUがその位置情報を読み出すことが可能に構成されていてもよい。
バッファ装置100は、先読み領域指定情報保持部30を含む。先読み領域指定情報保持部30には、バッファ10の先読み領域を指定するための、先読み領域指定情報が保持される。そして、先読み領域に書き込まれたデータは、他のデータに先立って読み出される(先読み動作)。
本実施の形態では、先読み領域指定情報保持部30は、第1及び第2の位置指定レジスタ32,34を含む。第1の位置指定レジスタ32には、先読み領域の先頭アドレス情報が保持される。そして、第2の位置指定レジスタ34には、先読み領域の最終アドレス情報が保持される。すなわち、本実施の形態では、先読み領域指定情報は、バッファ10の先読み領域の先頭アドレス情報、及び、バッファ10の先読み領域の最終アドレス情報を含む。第1の位置指定レジスタ32をスタートポインタと、第2の位置指定レジスタ34をエンドポインタと、それぞれ称してもよい。
なお、第1及び第2の位置指定レジスタ32,34には、例えばCPUによって、アドレス情報を設定することができる。
バッファ装置100は、先読み動作制御部40を含む。先読み動作制御部40は、ライトポインタの値と先頭アドレスとが一致したときに、先読み領域に書き込まれるデータを順次読み出して転送する先読み動作を開始する制御を行う。言い換えると、先読み動作制御部40は、先読み領域にデータが書き込まれたことを検出して、先読み動作を開始する制御を行う。なお、先読み動作は、先読み領域に書き込まれるデータを順次読み出して転送する動作であり、先読み領域に書き込まれるデータを先入れ先出しで読み出す動作であるといえる。
バッファ装置100は、先読みリードポインタ42を含む。先読みリードポインタ42は、先読み動作時に先読み領域のアドレスを順次指定し、指定されたアドレスに格納されたデータが順次読み出される。
バッファ装置100は、リードポインタ44を含む。リードポインタ44は、データ読み出し動作(DMA転送)時に読み出しデータのアドレスを順次指定し、指定されたアドレスに格納されたデータが順次読み出される。すなわち、バッファ装置100では、先読み動作及びDMA転送で、異なるリードポインタを利用する。
バッファ装置100は、ポインタセレクタ46を含む。ポインタセレクタ46は、先読みリードポインタ42及びリードポインタ44の一方を選択する。そして、先読みリードポインタ42及びリードポインタ44のうち、選択されたポインタが指定するアドレスからデータが読み出される。すなわち、バッファ装置100では、先読みリードポインタ42とリードポインタ44とのいずれかが指定するアドレスに格納されたデータが、出力データ320として読み出される。なお、出力データ320は、例えばデータバスへ送られる。
バッファ装置100は、選択信号生成部45を含む。選択信号生成部45は、先読みリードポインタ42及びリードポインタ44の一方を選択する選択信号330を生成する。例えば、先読み動作制御部40が、ライトポインタ20の値と先頭アドレスとが一致したことを検出すると、選択信号生成部45が選択信号330を生成し、ポインタセレクタ46に送信する。そして、ポインタセレクタ46は、選択信号330に従って先読みリードポインタ42を選択し、先読み動作が開始される。
バッファ装置100は、比較器50を含む。比較器50は、ライトポインタ20の値(ライトポインタ20が指定するアドレス(書き込みアドレス))と、先読み領域の先頭のアドレス(第1の位置指定レジスタ32に格納されているアドレス情報)とを比較するように構成されている。比較器50は、ライトポインタ20の値と先頭アドレスとが一致したことを検出し、制御部40に検出信号を送るように構成されていてもよい。これにより、制御部40は、ライトポインタ20の値と先頭アドレスとが一致したことを検出することができる。
比較器50は、また、先読みリードポインタ42の値(先読みリードポインタ42が指定するアドレス(読み出しアドレス))と、先読み領域の最終アドレス(第2の位置指定レジスタ34に格納されているアドレス情報)とを比較するように構成されていてもよい。比較器50は、先読みリードポインタ42の値と最終アドレスとが一致したことを検出し、制御部40に検出信号を送るように構成されていてもよい。これにより、制御部40は、先読みリードポインタ42の値と最終アドレスとが一致したことを検出することができる。すなわち、制御部40は、先読み領域へのデータの書き込みが終了したことを検出することができる。
あるいは、比較器50は、ライトポインタ20の値と、先読み領域の最終アドレスとを比較するように構成されていてもよい。比較器50は、ライトポインタ20の値と最終アドレスとが一致したことを検出し、制御部40に検出信号を送るように構成されていてもよい。これにより、制御部40は、ライトポインタ20の値と最終アドレスとが一致したことを検出することができる。すなわち、この構成をとった場合でも、制御部40は、先読み領域へのデータの書き込みが終了したことを検出することができる。
先読み動作制御部40は、先読み領域へのデータの書き込みが終了したことを検出して、先読み動作を終了する制御を行う。例えば、先読み動作制御部40が先読みリードポインタ42の値と最終アドレスとが一致したことを検出すると、選択信号生成部45が選択信号330を生成し、ポインタセレクタ46に送信する。ポインタセレクタ46が、選択信号330に従って先読みリードポインタ42の選択を解除することで、先読み動作を終了するように構成されていてもよい。
なお、比較器50は、少なくとも先読み動作が終了するまでの間、ライトポインタ20の値と、先読みリードポインタ42の値と、第1及び第2の位置指定レジスタ32,34に格納されているアドレス情報とを、常に比較するように構成されていてもよい。
バッファ装置100は、転送アドレス情報保持部52を含む。転送アドレス情報保持部52は、先読み動作時にデータを転送する転送先のアドレスを指定する転送アドレス情報を保持する。そして、先読み動作制御部40は、転送アドレスに、先読みデータを転送する。転送アドレス情報保持部52は、制御部40の一部として構成されていてもよい。そして、制御部40は、先読みデータ転送アドレス340を送信するように構成されていてもよい。先読みデータ転送アドレス340は、例えばアドレスバスに送られる。先読みデータの転送先アドレス情報は、例えばCPUによって設定することができる。
バッファ装置100は、割り込み信号生成部54を含む。割り込み信号生成部54は、割り込み信号350を生成する。割り込み信号350は、先読み動作の終了を通知する信号である。割り込み信号350は、例えばCPUに送られる。これにより、CPUは、読み出し動作(先読み動作)の終了を検出することができる。すなわち、割り込み信号生成部54は、広義には、先読み動作終了信号を生成する先読み動作終了信号生成部と呼ぶことができる。
なお、バッファ装置100は、DMAリクエスト信号生成部(図示せず)をさらに含んでいてもよい。DMAリクエスト信号生成部は、一連の入力データ310がバッファ10に格納されたことを検出して、DMAリクエスト信号を生成する。DMAコントローラ220は、DMAリクエスト信号を受信し、DMA転送を開始する。
(2)バッファ装置100の動作
以下、バッファ装置100の動作について説明する。図2は、バッファ装置100の動作について説明するためのフローチャート図である。
以下、バッファ装置100の動作について説明する。図2は、バッファ装置100の動作について説明するためのフローチャート図である。
バッファ装置100は、バッファ10へのデータ(入力データ310)の書き込み動作を行う(ステップS100)。本ステップでは、バッファ10のうち、ライトポインタ20が指定したアドレスにデータが書き込まれる。
バッファ装置100は、バッファ10の先読み領域にデータが書き込まれたか否かについて判断する(ステップS110)。例えば、ライトポインタ20の値が、書き込み領域の先頭アドレスと一致した後であって、書き込み領域の最終アドレスと一致するまでの間は、先読み領域にデータが書き込まれたと判断することができる。
バッファ10の先読み領域にデータが書き込まれた場合(ステップS110におけるYesの場合)には、バッファ装置100は、当該データを読み出す先読み動作を行う(ステップS120)。
ただし、バッファ10の先読み領域ではない領域にデータが書き込まれた場合(ステップS110におけるNoの場合)には、バッファ装置100は、先読み動作(ステップS120)を行わない。
そして、バッファ10にすべてのデータが書き込まれたか否かについて判断し(ステップS130)、バッファ10にすべてのデータが書き込まれた場合(ステップS130におけるYesの場合)には、DMAリクエスト信号を送信する(ステップS140)。そして、後述するDMAC220がDMAリクエスト信号を受信し、DMA転送動作を行う。
なお、バッファ10にすべてのデータが書き込まれていない場合(ステップS130におけるNoの場合)には、ライトポインタ20の値をインクリメントし(ステップS150)、書き込み動作(ステップS100)を繰り返す。
(3)集積回路装置1の構成
図3は、本実施の形態に係るバッファ装置100を含む集積回路装置1(情報処理装置)の一例である。
図3は、本実施の形態に係るバッファ装置100を含む集積回路装置1(情報処理装置)の一例である。
図3に示す例では、集積回路装置1は、CPU200、INTC(割り込みコントローラ)210、DMAC(DMAコントローラ)220、COP(通信制御装置)230、BUS240、SYSC/BUSC(システムコントローラ/バスコントローラ)250を含んでいる。以下、これらの役割、及び、連関について説明する。
COP230は、通信データ360を受信する。そして、COP230は、バッファ装置100に、バッファ制御信号370及び入力データ380を送信するように構成されている。
バッファ装置100は、COP230からの入力データ380を一時記憶し、また、先読みデータを転送する先読み動作を行う。
バッファ装置100は、先読み動作の終了を検出して、INTC210に割り込み信号390を送信するように構成されている。INTC210は、割り込み信号390に従い、CPU200に割り込み信号400を送信する。これにより、CPU200が、先読み動作の終了を検知することができる。
バッファ装置100は、また、COP230からのデータがすべてバッファ装置100(バッファ10)に格納されたことを検出し、DMAリクエスト信号410を送信するように構成されている。
DMAC220は、DMA転送を制御する。すなわち、DMAC220は、バッファ装置100からのDMAリクエスト信号410を受信して、DMA転送を行う。なお、DMAC220は、先読み動作の終了後に、DMA転送を行う。DMAC220は、また、DMA転送動作の終了を検出して、INTC210に割り込み信号420を送信するように構成されていてもよい。この信号に従い、INTC210がCPU200に割り込み信号400を送信する。これにより、CPU200が、DMA転送の終了を検知することができる。
集積回路装置1は、1つのICチップとして構成されていてもよい。また、本実施の形態では、集積回路装置1は、BUS240を介して、ROM260−1及びRAM260−2に接続されている。
(4)集積回路装置1の動作
次に、図4を参照して、集積回路装置1の動作について説明する。図4は、CPU200を基準に、集積回路装置1の動作を説明するためのフローチャート図である。
次に、図4を参照して、集積回路装置1の動作について説明する。図4は、CPU200を基準に、集積回路装置1の動作を説明するためのフローチャート図である。
CPU200(集積回路装置1)は、はじめに、ライトポインタ20のアドレスのチェックを行う(ステップS200)。これにより、ライトポインタ20の現在のアドレスを確認する。
次に、ライトポインタ20の現在のアドレスに基づいて、第1の位置指定レジスタ32に先読み領域の先頭アドレスを設定し(ステップS210)、第2の位置指定レジスタに先読み領域の最終アドレスを設定する(ステップS220)。
次に、先読み転送モードを設定し(ステップS230)、DMA転送モードを設定し(ステップS240)、先読みデータの転送先のアドレスを設定する(ステップS250)。
次に、先読み動作をイネーブルにし(ステップS260)、COP受信をイネーブルにする(ステップS270)。これにより、COP230にデータが送信され、バッファ装置100(バッファ10)へのデータの入力が開始される。
次に、先読み動作が終了したか否かについて判断する(ステップS280)。CPU200は、バッファ装置100(INTC210)からの割り込み信号により、先読み動作の終了を検知することができる。そして、先読み動作の終了を検知すると、先行処理を行う(ステップS290)。ここで、先行処理とは、先読みデータを利用して行われる処理である。具体例については後で詳述するが、例えば、テーブルを置き換える動作や、ヘッダの作成動作などが挙げられる。
次に、DMA転送が終了したか否かについて判断する(ステップS300)。CPU200は、DMAC220(INTC210)からの割り込み信号により、DMA転送の終了を検知することができる。そして、DMA転送の終了を検知すると、DMA転送されたデータに基づいて、データ処理動作を行う(ステップS310)。
(5)効果
バッファ装置100(集積回路装置1)は、以上のように構成されていてもよい。これによると、例えばデータをブロック転送する場面において、ブロック転送されるデータがすべて揃う前に、データの一部のみを先に転送することができる。例えば、ブロック転送されるデータには、先行処理の内容を指定するデータが含まれることがある。この場合に、先行処理を指示するデータを他のデータに先立って転送することで、データのブロック転送の前に先行処理を終了させることができる。そのため、ブロック転送が行われるとすぐにデータ処理を行うことができるため、情報処理速度を高めることができる。
バッファ装置100(集積回路装置1)は、以上のように構成されていてもよい。これによると、例えばデータをブロック転送する場面において、ブロック転送されるデータがすべて揃う前に、データの一部のみを先に転送することができる。例えば、ブロック転送されるデータには、先行処理の内容を指定するデータが含まれることがある。この場合に、先行処理を指示するデータを他のデータに先立って転送することで、データのブロック転送の前に先行処理を終了させることができる。そのため、ブロック転送が行われるとすぐにデータ処理を行うことができるため、情報処理速度を高めることができる。
すなわち、バッファ装置100によると、バッファ10からのデータの転送順を容易に変更することができ、これにより、情報処理速度を高めることができる。
(6)具体的な実施例
(6−1)用途
本実施の形態に係るバッファ装置100(集積回路装置1)は、例えば、次のいずれかに示すデータの転送に利用してもよい。
(6−1)用途
本実施の形態に係るバッファ装置100(集積回路装置1)は、例えば、次のいずれかに示すデータの転送に利用してもよい。
(A)テーブル変更データ
バッファ装置100によってテーブル変更データを先読みし、処理に必要なテーブルを設定(指定)する。先読みデータによりテーブルが変更されているため、データが転送(DMA転送)されるとすぐに、データを処理する動作を行うことが可能になる。
バッファ装置100によってテーブル変更データを先読みし、処理に必要なテーブルを設定(指定)する。先読みデータによりテーブルが変更されているため、データが転送(DMA転送)されるとすぐに、データを処理する動作を行うことが可能になる。
具体的には、センサやモーター制御によるテーブル変更に適用してもよい。センサによるテーブル変更の例として、温度条件等を先に検出して先読みしてテーブルを置き換えることが挙げられる。また、モーター制御によるテーブル変更の例として、動作シーケンス、負荷情報を判断してテーブルを置き換えることが挙げられる。
(B)演算パラメータの設定
バッファ装置100によって演算の仕方を先読みし、その後、データを読み出すことによって、演算速度を速くすることができる。
バッファ装置100によって演算の仕方を先読みし、その後、データを読み出すことによって、演算速度を速くすることができる。
なお、バッファ装置100を上述した(A),(B)の用途に利用する場合、CPUが先読みしたデータによって予め用意された処理回路の動作モードを設定して、後続のデータを直接回路に転送する形式を採用してもよい。
(C)暗号の種類を指定
バッファ装置100によって暗号回路の動作モードを先読みし、設定する。その後、データをDMAにより直接暗号回路に送信することによって、暗号処理速度を速くすることができる。
バッファ装置100によって暗号回路の動作モードを先読みし、設定する。その後、データをDMAにより直接暗号回路に送信することによって、暗号処理速度を速くすることができる。
(D)ネットワーク通信手順
バッファ装置100によって、返答に必要なパラメータを先読みする。先読みしたデータをもとに返信データのヘッダを予め作成することができる。
バッファ装置100によって、返答に必要なパラメータを先読みする。先読みしたデータをもとに返信データのヘッダを予め作成することができる。
(6−2)データヘッダー形式
上記(A)〜(C)の用途に利用される場合、データの形式は、例えば以下のようなものであってもよい。
上記(A)〜(C)の用途に利用される場合、データの形式は、例えば以下のようなものであってもよい。
上記(D)の用途に利用される場合には、プロトコルによる。
(7)変形例
以下、本発明を適用した実施の形態の変形例に係るバッファ装置について説明する。
以下、本発明を適用した実施の形態の変形例に係るバッファ装置について説明する。
本変形例では、先読み領域指定情報は、先読みされるデータ(先読みデータ)のサイズ情報を含む。そして、先読み動作制御部40は、サイズ情報に基づいて先読みデータの転送が終了したことを検出して、先読み動作を終了する制御を行う。
例えば、バッファ装置は、先頭アドレス及びサイズ情報に基づいて、先読み領域の最終アドレスを算出する演算部を含んでいてもよい。そして、先読み動作制御部は、算出された最終アドレスとリードポインタが指定する読み出しアドレスとが一致したことを検出して、先読み動作を終了する制御を行ってもよい。
あるいは、バッファ装置は、先読み動作の回数をカウントするカウンタを含んでいてもよい。そして、先読み動作制御部は、カウンタの値とデータのサイズ情報とに基づいて、先読みデータの転送が終了したことを検出して、先読み動作を終了する制御を行ってもよい。
あるいは、バッファ装置は、先読みされたデータのサイズをカウントするカウンタを含んでいてもよい。そして、先読み動作制御部は、先読みされたデータのサイズと、先読みデータのサイズ情報とが一致したことを検出して、先読みデータの転送が終了したことを検出して、先読み動作を終了する制御を行ってもよい。
これらの変形例を適用した場合でも、先読みデータの転送が終了したことを検出することができるため、先読み動作制御部は、先読み動作を終了することができる。
なお、本発明は、上述した実施の形態に限定されるものではなく、種々の変形が可能である。例えば、本発明は、実施の形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。
1…集積回路装置、 10…バッファ、 20…ライトポインタ、 30…先読み領域指定情報保持部、 32…第1の位置指定レジスタ、 34…第2の位置指定レジスタ、 40…制御部、 42…リードポインタ、 44…リードポインタ、 45…選択信号生成部、 46…ポインタセレクタ、 50…比較器、 52…転送アドレス情報保持部、 54…割り込み信号生成部、 100…バッファ装置
Claims (10)
- バッファへのデータの書き込みと、前記バッファからのデータの読み出しとを行うバッファ装置において、
前記バッファの書き込みアドレスを順次指定するライトポインタと、
前記バッファの先読み領域を指定するための、前記先読み領域の先頭アドレス情報を含む先読み領域指定情報を保持する先読み領域指定情報保持部と、
前記ライトポインタの値と前記先頭アドレスとを比較して、前記ライトポインタの値と前記先頭アドレスとが一致したときに、前記先読み領域に書き込まれるデータを順次読み出して転送する先読み動作を開始する制御を行う先読み動作制御部と、
を含むバッファ装置。 - 請求項1記載のバッファ装置において、
前記先読み領域指定情報は、前記先読み領域の最終アドレス情報を含み、
前記先読み動作制御部は、
前記最終アドレス情報に基づいて前記先読みされるデータの転送が終了したことを検出して、前記先読み動作を終了する制御を行うバッファ装置。 - 請求項2記載のバッファ装置において、
前記先読み動作制御部は、
前記ライトポインタの値と前記最終アドレスとが一致したことを検出して、前記先読み動作を終了する制御を行うバッファ装置。 - 請求項2記載のバッファ装置において、
前記先読み動作時に前記バッファの読み出しアドレスを順次指定する先読みリードポインタをさらに含み、
前記先読み動作制御部は、
前記先読みリードポインタの値と前記最終アドレスとが一致したことを検出して、前記先読み動作を終了する制御を行うバッファ装置。 - 請求項1記載のバッファ装置において、
前記先読み領域指定情報は、先読みされるデータのサイズ情報を含み、
前記先読み動作制御部は、
前記サイズ情報に基づいて前記先読みされるデータの転送が終了したことを検出して、前記先読み動作を終了する制御を行うバッファ装置。 - 請求項2から請求項5のいずれかに記載のバッファ装置において、
前記先読み動作の終了を検出して、先読み動作終了信号を生成する先読み動作終了信号生成部をさらに含むバッファ装置。 - 請求項1から請求項6のいずれかに記載のバッファ装置において、
前記先読み動作時にデータを転送する転送先のアドレスを指定する転送アドレス情報を保持する、転送アドレス情報保持部をさらに含み、
前記先読み動作制御部は、
前記先読み領域に書き込まれたデータを、前記転送アドレスに転送する制御を行うバッファ装置。 - 請求項1から請求項7のいずれかに記載のバッファ装置とCPUとを含む集積回路装置。
- 請求項8記載の集積回路装置において、
前記バッファに書き込まれたデータのDMA転送を制御するDMAコントローラをさらに含み、
前記DMAコントローラは、前記先読み動作の終了後にDMA転送を行う集積回路装置。 - 請求項9記載の集積回路装置において、
前記DMA転送時に前記バッファの読み出しアドレスを指定するリードポインタと、
前記先読みリードポインタ及び前記リードポインタの一方を選択する選択信号を生成する選択信号生成部と、
前記選択信号に基づいて、前記先読みリードポインタ及び前記リードポインタの一方を選択するポインタセレクタと、
をさらに含む集積回路装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006054907A JP2007233707A (ja) | 2006-03-01 | 2006-03-01 | バッファ装置及び集積回路装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006054907A JP2007233707A (ja) | 2006-03-01 | 2006-03-01 | バッファ装置及び集積回路装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007233707A true JP2007233707A (ja) | 2007-09-13 |
Family
ID=38554241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006054907A Withdrawn JP2007233707A (ja) | 2006-03-01 | 2006-03-01 | バッファ装置及び集積回路装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007233707A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012033085A (ja) * | 2010-08-02 | 2012-02-16 | Fujitsu Ltd | データ処理装置 |
-
2006
- 2006-03-01 JP JP2006054907A patent/JP2007233707A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012033085A (ja) * | 2010-08-02 | 2012-02-16 | Fujitsu Ltd | データ処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006338538A (ja) | ストリームプロセッサ | |
JP2006293927A (ja) | ダイレクトメモリアクセス制御装置及びダイレクトメモリアクセス制御装置を含むシステムlsi | |
JP5287301B2 (ja) | ディスクリプタ転送装置、i/oコントローラ、及びディスクリプタ転送方法 | |
JP2009009186A (ja) | Dma転送制御装置及びdma転送方法 | |
JP2006270469A (ja) | 通信データ制御装置 | |
JP2010211322A (ja) | ネットワークプロセッサ、受信コントローラ、及びデータ受信処理方法 | |
JP2007233707A (ja) | バッファ装置及び集積回路装置 | |
WO2009098737A1 (ja) | 外部デバイスアクセス装置、その制御方法及びシステムlsi | |
US7249237B2 (en) | Control method for data transfer control unit | |
JP2006251923A (ja) | 先読み制御方法 | |
JP2004227501A (ja) | データ転送制御装置および方法 | |
JP2010079536A (ja) | メモリアクセス制御回路、メモリアクセス制御方法 | |
US20050138236A1 (en) | Direct memory access control device and method for automatically updating data transmisson size from peripheral | |
JP2008234065A (ja) | 画像処理装置、画像処理方法、コンピュータプログラム及び記憶媒体 | |
JP2010140440A (ja) | バス調停装置 | |
JP2006004340A (ja) | Dma転送制御装置 | |
JP2008118211A (ja) | データ転送装置及びデータ転送方法 | |
JP6119997B2 (ja) | データ処理装置、データ処理装置の制御方法 | |
JP2010170489A (ja) | 処理装置、画像形成装置及び処理方法 | |
JP2006099358A (ja) | Dma転送制御システム | |
JP2022124897A (ja) | 制御回路及び制御回路の制御方法 | |
JP2002007312A (ja) | 情報入出力装置 | |
JP2011028732A (ja) | 画像処理装置 | |
JP2010067167A (ja) | データ転送装置 | |
JP2005275473A (ja) | メモリコントロールアダプタ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080627 |
|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090512 |