JP2003108438A - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JP2003108438A JP2003108438A JP2001304110A JP2001304110A JP2003108438A JP 2003108438 A JP2003108438 A JP 2003108438A JP 2001304110 A JP2001304110 A JP 2001304110A JP 2001304110 A JP2001304110 A JP 2001304110A JP 2003108438 A JP2003108438 A JP 2003108438A
- Authority
- JP
- Japan
- Prior art keywords
- data
- cache
- external memory
- cpu
- buffer
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0879—Burst mode
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】通信データのような連続データをSDRAM等
の外部メモリから読み出してCPUに処理させる動作
を、ASICなどにも簡単に組み込むことができる小規
模なハードウェア構成でもって、従来のキャッシュシス
テムを用いた装置よりも効率良く行わせる。 【解決手段】CPU21で外部メモリ31をアクセスし
ながら通信データの処理を行うデータ処理装置であっ
て、上記外部メモリ31と上記CPU21の間にパケッ
ト単位のデータを並列に保持するデータバッファ51を
介在させ、このデータバッファ51をキャッシュメモリ
に見立てた疑似キャッシュシステム50を構築するとと
もに、この疑似キャッシュシステム50によるキャッシ
ュ検索がヒットしなかった場合に行われる上記外部メモ
リ31から上記データバッファ51へのデータの転送を
上記パケット単位で行わせる。
の外部メモリから読み出してCPUに処理させる動作
を、ASICなどにも簡単に組み込むことができる小規
模なハードウェア構成でもって、従来のキャッシュシス
テムを用いた装置よりも効率良く行わせる。 【解決手段】CPU21で外部メモリ31をアクセスし
ながら通信データの処理を行うデータ処理装置であっ
て、上記外部メモリ31と上記CPU21の間にパケッ
ト単位のデータを並列に保持するデータバッファ51を
介在させ、このデータバッファ51をキャッシュメモリ
に見立てた疑似キャッシュシステム50を構築するとと
もに、この疑似キャッシュシステム50によるキャッシ
ュ検索がヒットしなかった場合に行われる上記外部メモ
リ31から上記データバッファ51へのデータの転送を
上記パケット単位で行わせる。
Description
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はCPU(Central Pro
cessing Unit)を用いて通信データの処理を行うデータ
処理装置、とくに、特定用途向け集積回路いわゆるAS
IC(Application Specific Integrated Circuit)を用
いて構成されるデータ処理装置であって、SDRAM(S
ynchronous DRAM)等の外部メモリをアクセスしながら通
信データの処理を行うものに適用して有効な技術に関す
る。
cessing Unit)を用いて通信データの処理を行うデータ
処理装置、とくに、特定用途向け集積回路いわゆるAS
IC(Application Specific Integrated Circuit)を用
いて構成されるデータ処理装置であって、SDRAM(S
ynchronous DRAM)等の外部メモリをアクセスしながら通
信データの処理を行うものに適用して有効な技術に関す
る。
【0002】
【従来の技術】たとえばデータ通信端末や通信制御装置
などのデータ処理装置は、時系列的に連続してシリアル
に送受信される通信データを扱うために、その通信デー
タをSDRAM等の外部メモリに一時的に蓄積して処理
することが行われる。この場合、その外部メモリに蓄積
されているデータを高速かつ効率良くCPUに読み取ら
せる手段として、いわゆるキャッシュシステム(キャッ
シュ・メモリ・システム)が知られている。
などのデータ処理装置は、時系列的に連続してシリアル
に送受信される通信データを扱うために、その通信デー
タをSDRAM等の外部メモリに一時的に蓄積して処理
することが行われる。この場合、その外部メモリに蓄積
されているデータを高速かつ効率良くCPUに読み取ら
せる手段として、いわゆるキャッシュシステム(キャッ
シュ・メモリ・システム)が知られている。
【0003】図3は、従来のキャッシュシステムを使用
したデータ処理装置の構成例を示す。同図に示す装置
は、その主要部がASIC20を用いて構成されてい
る。ASIC20の外部には、クロック発生器11やS
DRAM31などが設けられている。クロック発生器1
1はシステムの同期クロックφxを生成する。SDRA
M31はCPU21が処理する通信データを一時的に蓄
積する。
したデータ処理装置の構成例を示す。同図に示す装置
は、その主要部がASIC20を用いて構成されてい
る。ASIC20の外部には、クロック発生器11やS
DRAM31などが設けられている。クロック発生器1
1はシステムの同期クロックφxを生成する。SDRA
M31はCPU21が処理する通信データを一時的に蓄
積する。
【0004】ASIC20の内部には、CPU21、デ
コーダ/コントローラ22、SDRAMコントローラ2
3などとともに、キャッシュシステム60が組み込まれ
ている。キャッシュシステム60は、キャッシュメモリ
60とキャッシュコントローラ62によって構成され
る。
コーダ/コントローラ22、SDRAMコントローラ2
3などとともに、キャッシュシステム60が組み込まれ
ている。キャッシュシステム60は、キャッシュメモリ
60とキャッシュコントローラ62によって構成され
る。
【0005】キャッシュシステム60は、SDRAM3
1とCPUバス24の間に介在し、CPU21からの読
出アクセス頻度が高いメモリデータをASIC内のキャ
ッシュメモリ61に一時的に置くことにより、SDRA
M31へのアクセス頻度を下げて、CPU21による平
均的なメモリアクセス時間を短縮させることができる。
1とCPUバス24の間に介在し、CPU21からの読
出アクセス頻度が高いメモリデータをASIC内のキャ
ッシュメモリ61に一時的に置くことにより、SDRA
M31へのアクセス頻度を下げて、CPU21による平
均的なメモリアクセス時間を短縮させることができる。
【0006】図4は、上述したキャッシュシステムによ
る通信データの読出動作をフローチャート化して示す。
同図において、外部のSDRAM31に蓄積されている
通信データをCPU21が読出アクセスする場合は、ま
ず、キャッシュメモリ61に目的のデータ(CPU21
の読出アクセスによってアドレス指定されたデータ)が
存在するか否かをチェックするキャッシュ検索を行う
(S21,S22)。
る通信データの読出動作をフローチャート化して示す。
同図において、外部のSDRAM31に蓄積されている
通信データをCPU21が読出アクセスする場合は、ま
ず、キャッシュメモリ61に目的のデータ(CPU21
の読出アクセスによってアドレス指定されたデータ)が
存在するか否かをチェックするキャッシュ検索を行う
(S21,S22)。
【0007】このキャッシュ検索にて目的のデータが存
在した場合すなわち検索ヒットの場合は、キャッシュメ
モリ61からその目的のデータを読み出す(S23)。
そして、キャッシュ検索がヒットしなかった場合だけ、
外部SDRAM31をアクセスして目的のデータを読み
出す(S24)。この一連のキャッシュ処理を1バイト
または1ワードごとに繰り返して必要なデータを読み出
す(S25)。
在した場合すなわち検索ヒットの場合は、キャッシュメ
モリ61からその目的のデータを読み出す(S23)。
そして、キャッシュ検索がヒットしなかった場合だけ、
外部SDRAM31をアクセスして目的のデータを読み
出す(S24)。この一連のキャッシュ処理を1バイト
または1ワードごとに繰り返して必要なデータを読み出
す(S25)。
【0008】上記キャッシュ検索のヒット率が高けれ
ば、その分、外部SDRAM31へのアクセス頻度を下
げることができるので、これにより、CPU21による
平均的なメモリアクセス時間の短縮をはかることができ
る。
ば、その分、外部SDRAM31へのアクセス頻度を下
げることができるので、これにより、CPU21による
平均的なメモリアクセス時間の短縮をはかることができ
る。
【0009】
【発明が解決しようとする課題】上述したキャッシュシ
ステム60を有するデータ処理装置では、外部メモリで
あるSDRAM31の記憶データを1バイトまたは1ワ
ードごとにキャッシュ処理しながら読み出す。一方、時
系列的に連続して送受信されるシリアルな通信データ
は、その送受信順に連続した状態でSDRAM31等の
外部メモリに蓄積されて処理されることが多い。つま
り、通信データは、一つの連続したデータブロックとし
て処理される場合が多いという特質がある。たとえば、
デジタル通信の主方式であるパケット通信では、256
ビット(32バイトまたは16ワード)あるいはそれ以
上の連続するデータのブロックいわゆるパケットが通信
伝送の最小単位となっている。
ステム60を有するデータ処理装置では、外部メモリで
あるSDRAM31の記憶データを1バイトまたは1ワ
ードごとにキャッシュ処理しながら読み出す。一方、時
系列的に連続して送受信されるシリアルな通信データ
は、その送受信順に連続した状態でSDRAM31等の
外部メモリに蓄積されて処理されることが多い。つま
り、通信データは、一つの連続したデータブロックとし
て処理される場合が多いという特質がある。たとえば、
デジタル通信の主方式であるパケット通信では、256
ビット(32バイトまたは16ワード)あるいはそれ以
上の連続するデータのブロックいわゆるパケットが通信
伝送の最小単位となっている。
【0010】このような連続データを1バイトまたは1
ワードごとに検索ヒットの有無を確認しながら読み出す
キャッシュ処理は、外部メモリへのアクセス頻度を下げ
ることによる平均アクセス時間の短縮という効果は期待
できるものの、上記通信データの処理では、必ずしも効
率的ではないことが、本発明者によってあきらかにされ
た。すなわち、上述した従来の装置では、図4に示した
一連の処理(S21〜S25)を1バイトまたは1ワー
ドごとに繰返さなければならず、パケットのような連続
データの処理では必ずしも効率的ではない。
ワードごとに検索ヒットの有無を確認しながら読み出す
キャッシュ処理は、外部メモリへのアクセス頻度を下げ
ることによる平均アクセス時間の短縮という効果は期待
できるものの、上記通信データの処理では、必ずしも効
率的ではないことが、本発明者によってあきらかにされ
た。すなわち、上述した従来の装置では、図4に示した
一連の処理(S21〜S25)を1バイトまたは1ワー
ドごとに繰返さなければならず、パケットのような連続
データの処理では必ずしも効率的ではない。
【0011】また、キャッシュシステム60は検索ヒッ
ト率が高い場合にはじめてその効果を相することができ
る。したがって、検索ヒット率が高くなるように構成す
る必要があるが、そのためには、できるだけ大容量の高
速キャッシュメモリ61が必要となる。検索ヒット率
は、キャッシュメモリ61に置くキャッシュデータの量
が多いほど高くなるからである。
ト率が高い場合にはじめてその効果を相することができ
る。したがって、検索ヒット率が高くなるように構成す
る必要があるが、そのためには、できるだけ大容量の高
速キャッシュメモリ61が必要となる。検索ヒット率
は、キャッシュメモリ61に置くキャッシュデータの量
が多いほど高くなるからである。
【0012】大容量の高速キャッシュメモリを持つこと
はハードウェア負担が大きく、これを使用すると、装置
が非常にコスト高になってしまう。また、ハードウェア
資源が限られているASICにおいては、使用可能な回
路資源があらかじめ定められているので、キャッシュメ
モリの容量を十分に確保することが困難である。しか
し、そのキャッシュシステム60のハードウェアをAS
ICにも無理なく組み込めるように小規模化させると、
上記検索ヒット率が低下してキャッシュシステム本来の
効果が得られなくなってくるという背反が生じる。
はハードウェア負担が大きく、これを使用すると、装置
が非常にコスト高になってしまう。また、ハードウェア
資源が限られているASICにおいては、使用可能な回
路資源があらかじめ定められているので、キャッシュメ
モリの容量を十分に確保することが困難である。しか
し、そのキャッシュシステム60のハードウェアをAS
ICにも無理なく組み込めるように小規模化させると、
上記検索ヒット率が低下してキャッシュシステム本来の
効果が得られなくなってくるという背反が生じる。
【0013】本発明は、以上のような背景を鑑みてなさ
れたものであり、その目的は、通信データのような連続
データをSDRAM等の外部メモリから読み出してCP
Uに処理させる動作を、ASICなどにも簡単に組み込
むことができる小規模なハードウェア構成でもって、従
来のキャッシュシステムを用いた装置よりも効率良く行
わせることが可能な技術を提供することにある。
れたものであり、その目的は、通信データのような連続
データをSDRAM等の外部メモリから読み出してCP
Uに処理させる動作を、ASICなどにも簡単に組み込
むことができる小規模なハードウェア構成でもって、従
来のキャッシュシステムを用いた装置よりも効率良く行
わせることが可能な技術を提供することにある。
【0014】
【課題を解決するための手段】本発明による手段は、C
PUで外部メモリをアクセスしながら通信データの処理
を行うデータ処理装置であって、次の(1)〜(3)に
よって特定されることを特徴とする。 (1)上記外部メモリと上記CPUの間に、CPUのメ
モリアクセス複数回分のデータを保持するデータバッフ
ァが介在させられている。 (2)上記データバッファをキャッシュメモリに見立て
た疑似キャッシュシステムが構築されている。 (3)上記疑似キャッシュシステムは、その疑似キャッ
シュシステムによるキャッシュ検索がヒットしなかった
場合に、そのヒットしなかったキャッシュ対象データの
ほかに、そのキャッシュ対象データに連続した状態で上
記外部メモリに蓄積されているデータも、その外部メモ
リから上記データバッファへ疑似キャッシュデータとし
て転送させるように構成されている。
PUで外部メモリをアクセスしながら通信データの処理
を行うデータ処理装置であって、次の(1)〜(3)に
よって特定されることを特徴とする。 (1)上記外部メモリと上記CPUの間に、CPUのメ
モリアクセス複数回分のデータを保持するデータバッフ
ァが介在させられている。 (2)上記データバッファをキャッシュメモリに見立て
た疑似キャッシュシステムが構築されている。 (3)上記疑似キャッシュシステムは、その疑似キャッ
シュシステムによるキャッシュ検索がヒットしなかった
場合に、そのヒットしなかったキャッシュ対象データの
ほかに、そのキャッシュ対象データに連続した状態で上
記外部メモリに蓄積されているデータも、その外部メモ
リから上記データバッファへ疑似キャッシュデータとし
て転送させるように構成されている。
【0015】上記手段によれば、通信データのような連
続データをSDRAM等の外部メモリから読み出してC
PUに処理させる動作を、ASICなどにも簡単に組み
込むことができる小規模なハードウェア構成でもって、
従来のキャッシュシステムを用いた装置よりも効率良く
行わせることができる。
続データをSDRAM等の外部メモリから読み出してC
PUに処理させる動作を、ASICなどにも簡単に組み
込むことができる小規模なハードウェア構成でもって、
従来のキャッシュシステムを用いた装置よりも効率良く
行わせることができる。
【0016】上記手段おいて、通信データがパケットデ
ータである場合、上記外部メモリと上記CPUの間にパ
ケット単位のデータを並列に保持するデータバッファを
介在させ、このデータバッファをキャッシュメモリに見
立てた疑似キャッシュシステムを構築するとともに、こ
の疑似キャッシュシステムによるキャッシュ検索がヒッ
トしなかった場合に行われる上記外部メモリから上記デ
ータバッファへのデータの転送を上記パケット単位で行
わせるようにすればよい。この場合、データバッファは
1パケット分のデータ長に相当する並列ビット幅を持た
せるだけでもよい。CPUおよび疑似キャッシュシステ
ムは同一のASIC内に組み込むこむことができる。
ータである場合、上記外部メモリと上記CPUの間にパ
ケット単位のデータを並列に保持するデータバッファを
介在させ、このデータバッファをキャッシュメモリに見
立てた疑似キャッシュシステムを構築するとともに、こ
の疑似キャッシュシステムによるキャッシュ検索がヒッ
トしなかった場合に行われる上記外部メモリから上記デ
ータバッファへのデータの転送を上記パケット単位で行
わせるようにすればよい。この場合、データバッファは
1パケット分のデータ長に相当する並列ビット幅を持た
せるだけでもよい。CPUおよび疑似キャッシュシステ
ムは同一のASIC内に組み込むこむことができる。
【0017】また、データバッファと外部メモリ間のデ
ータ転送を、上記データバッファの並列ビット幅と同じ
ビット幅のワイドビット・データバスを介して行わせる
とともに、このワイドビット・データバスを、CPUお
よび疑似キャッシュシステムと共に、同一のASIC内
に組み込むことができる。
ータ転送を、上記データバッファの並列ビット幅と同じ
ビット幅のワイドビット・データバスを介して行わせる
とともに、このワイドビット・データバスを、CPUお
よび疑似キャッシュシステムと共に、同一のASIC内
に組み込むことができる。
【0018】さらに、上記ワイドビット・データバスと
前記外部メモリ間に介在してビット幅の変換を行いなが
ら、両者間でのデータやり取りを媒介するバスコントロ
ーラを介在させることにより、外部メモリのバス幅に制
約されることなく、その外部メモリと上記データバッフ
ァ間のデータ転送を高速化することができる。上記バス
コントローラも上記ASIC内に組み込むことができ
る。上記外部メモリとしてはSDRAMを使用すること
ができる。
前記外部メモリ間に介在してビット幅の変換を行いなが
ら、両者間でのデータやり取りを媒介するバスコントロ
ーラを介在させることにより、外部メモリのバス幅に制
約されることなく、その外部メモリと上記データバッフ
ァ間のデータ転送を高速化することができる。上記バス
コントローラも上記ASIC内に組み込むことができ
る。上記外部メモリとしてはSDRAMを使用すること
ができる。
【0019】
【発明の実施の形態】図1は本発明によるデータ処理装
置の一実施例を示す。同図に示す装置はデータ通信端末
や通信制御装置などの通信データ処理装置をなすもので
あって、その主要部はASIC20を用いて構成されて
いる。
置の一実施例を示す。同図に示す装置はデータ通信端末
や通信制御装置などの通信データ処理装置をなすもので
あって、その主要部はASIC20を用いて構成されて
いる。
【0020】ASIC20の外部には、クロック発生器
11やSDRAM31などが設けられている。クロック
発生器11はシステムの同期クロックφxを生成する。
SDRAM31はCPU21が処理する通信データを一
時的に蓄積する外部メモリをなす。
11やSDRAM31などが設けられている。クロック
発生器11はシステムの同期クロックφxを生成する。
SDRAM31はCPU21が処理する通信データを一
時的に蓄積する外部メモリをなす。
【0021】通信データは通常、通信伝送順(あるいは
送受信順)に入出力される。したがって、SDRAM3
1に対する通信データの入出力も、その通信伝送順に行
われる場合が多い。たとえば、パケット通信データの場
合、パケット間の送受信順およびパケット内のデータ順
が保存された状態でSDRAM31に蓄積される。
送受信順)に入出力される。したがって、SDRAM3
1に対する通信データの入出力も、その通信伝送順に行
われる場合が多い。たとえば、パケット通信データの場
合、パケット間の送受信順およびパケット内のデータ順
が保存された状態でSDRAM31に蓄積される。
【0022】ASIC20の内部には、CPU21、デ
コーダ/コントローラ22、SDRAMコントローラ2
3などとともに、ワイドビットバッファの機能の持つ擬
似キャッシュシステム50が組み込まれている。
コーダ/コントローラ22、SDRAMコントローラ2
3などとともに、ワイドビットバッファの機能の持つ擬
似キャッシュシステム50が組み込まれている。
【0023】擬似キャッシュシステム50は、R/W
(リード/ライト)データバッファ51、ワイドビット
・データバス52、ワイドビット・バスコントローラ5
3、バッファコントローラ54などによって構成されて
いる。この擬似キャッシュシステム50は、あたかもキ
ャッシュシステムのごとく、SDRAM31とCPUバ
ス24の間に介在して、両者(31,24)間でのデー
タやり取りを媒介する。
(リード/ライト)データバッファ51、ワイドビット
・データバス52、ワイドビット・バスコントローラ5
3、バッファコントローラ54などによって構成されて
いる。この擬似キャッシュシステム50は、あたかもキ
ャッシュシステムのごとく、SDRAM31とCPUバ
ス24の間に介在して、両者(31,24)間でのデー
タやり取りを媒介する。
【0024】R/Wデータバッファ51は並列レジスタ
どによって構成され、1パケット分のデータ長に相当す
る並列ビット幅、たとえば256ビット(32バイトま
たは16ワード)の並列ビット幅を持つ。このR/Wデ
ータバッファ51の一方のデータ入出力ポートはCPU
バス24に接続し、他方の入出力ポートは上記ビット幅
(256ビット)と同じ並列ビット幅のワイドビット・
データバス52に接続する。つまり、R/Wデータバッ
ファ51の一方のデータ入出力ポートはCPUバス24
と同じビット幅(たとえば16ビットあるいは32ビッ
ト)を有し、他方のデータ入出力ポートは1パケット分
のビット幅(256ビット)を有する。
どによって構成され、1パケット分のデータ長に相当す
る並列ビット幅、たとえば256ビット(32バイトま
たは16ワード)の並列ビット幅を持つ。このR/Wデ
ータバッファ51の一方のデータ入出力ポートはCPU
バス24に接続し、他方の入出力ポートは上記ビット幅
(256ビット)と同じ並列ビット幅のワイドビット・
データバス52に接続する。つまり、R/Wデータバッ
ファ51の一方のデータ入出力ポートはCPUバス24
と同じビット幅(たとえば16ビットあるいは32ビッ
ト)を有し、他方のデータ入出力ポートは1パケット分
のビット幅(256ビット)を有する。
【0025】ワイドビット・データバス52は、ワイド
ビット・バスコントローラ53を介して、SDRAM3
1のデータ幅に合わせたビット幅を有するSDRAMバ
ス32に接続している。ワイドビット・バスコントロー
ラ53は、ワイドビット・データバス52とSDRAM
バス32間に介在してビット幅の変換を行いながら、両
者(52と32)間でのデータやり取りを媒介する。
ビット・バスコントローラ53を介して、SDRAM3
1のデータ幅に合わせたビット幅を有するSDRAMバ
ス32に接続している。ワイドビット・バスコントロー
ラ53は、ワイドビット・データバス52とSDRAM
バス32間に介在してビット幅の変換を行いながら、両
者(52と32)間でのデータやり取りを媒介する。
【0026】バッファコントローラ54は、上記R/W
データバッファ51に保持されているワイドビットのデ
ータをCPU21側から擬似アクセスさせるための制御
を行う。つまり、R/Wデータバッファ51は従来のキ
ャッシュシステムにおけるキャッシュメモリに対応し、
バッファコントローラ54はそのバッファ51に目的の
データ(CPU21の読出アクセスによってアドレス指
定されたデータ)が存在するか否かをチェックするキャ
ッシュコントローラに対応するように、それぞれ構成さ
れている。
データバッファ51に保持されているワイドビットのデ
ータをCPU21側から擬似アクセスさせるための制御
を行う。つまり、R/Wデータバッファ51は従来のキ
ャッシュシステムにおけるキャッシュメモリに対応し、
バッファコントローラ54はそのバッファ51に目的の
データ(CPU21の読出アクセスによってアドレス指
定されたデータ)が存在するか否かをチェックするキャ
ッシュコントローラに対応するように、それぞれ構成さ
れている。
【0027】上記バッファ51はワイドビットのデータ
を格納するが、その記憶容量は従来のキャッシュシステ
ムにおけるキャッシュメモリよりも格段に小さく、1パ
ケット分あるいはせいぜい数パケット分のデータを保持
できる程度である。これに伴い、そのバッファ51内に
目的のデータが存在するか否かを検索するバッファコン
トローラ54の機能も、従来のキャッシュシステムにお
けるキャッシュコントローラに比べると、ハードウェア
的に大幅に簡略化されている。
を格納するが、その記憶容量は従来のキャッシュシステ
ムにおけるキャッシュメモリよりも格段に小さく、1パ
ケット分あるいはせいぜい数パケット分のデータを保持
できる程度である。これに伴い、そのバッファ51内に
目的のデータが存在するか否かを検索するバッファコン
トローラ54の機能も、従来のキャッシュシステムにお
けるキャッシュコントローラに比べると、ハードウェア
的に大幅に簡略化されている。
【0028】図2は、上述した擬似キャッシュシステム
50による通信データの読出動作をフローチャート化し
て示す。同図において、外部SDRAM31に蓄積され
ている通信データをCPU21が読出アクセスする場合
は、まず、バッファ51に目的のデータが存在するか否
かをチェックする疑似キャッシュ検索を行う(S11,
S12)。
50による通信データの読出動作をフローチャート化し
て示す。同図において、外部SDRAM31に蓄積され
ている通信データをCPU21が読出アクセスする場合
は、まず、バッファ51に目的のデータが存在するか否
かをチェックする疑似キャッシュ検索を行う(S11,
S12)。
【0029】この疑似キャッシュ検索にて目的のデータ
(キャッシュ対象データ)が存在した場合すなわち疑似
検索がヒットした場合は、バッファ51からその目的の
データを読み出す(S14)。一方、疑似キャッシュ検
索がヒットしなかった場合は、外部SDRAM31をア
クセスしてそこから目的のデータを読み出す(S1
3)。このとき、そのSDRAM31からのデータ読み
出しは、目的のデータだけではなく、その目的データの
後に続くデータも対象とされる。つまり、キャッシュ対
象データがバッファ51になかった場合は、そのキャッ
シュデータとともに、そのキャッシュデータに連続した
状態で蓄積されているデータも含めたワイドビット(2
56ビット)の連続データが、SDRAM31から読み
出される。
(キャッシュ対象データ)が存在した場合すなわち疑似
検索がヒットした場合は、バッファ51からその目的の
データを読み出す(S14)。一方、疑似キャッシュ検
索がヒットしなかった場合は、外部SDRAM31をア
クセスしてそこから目的のデータを読み出す(S1
3)。このとき、そのSDRAM31からのデータ読み
出しは、目的のデータだけではなく、その目的データの
後に続くデータも対象とされる。つまり、キャッシュ対
象データがバッファ51になかった場合は、そのキャッ
シュデータとともに、そのキャッシュデータに連続した
状態で蓄積されているデータも含めたワイドビット(2
56ビット)の連続データが、SDRAM31から読み
出される。
【0030】このワイドビット(256ビット)の連続
読出データは、ワイドビット・データバス52を介し
て、上記バッファ51に高速転送される(S13)。そ
して、そのバッファ51に転送されたワイドビットのデ
ータの中から、目的のデータ(キャッシュ対象データ)
がCPUバス24を介してCPU21に読み取られる
(S14)。このようにして、CPU21が読出アクセ
スを行うと、そのアクセスによって指定されたデータ
(キャッシュ対象データ)がR/Wデータバッファ51
から疑似キャッシュ的に読み出される。
読出データは、ワイドビット・データバス52を介し
て、上記バッファ51に高速転送される(S13)。そ
して、そのバッファ51に転送されたワイドビットのデ
ータの中から、目的のデータ(キャッシュ対象データ)
がCPUバス24を介してCPU21に読み取られる
(S14)。このようにして、CPU21が読出アクセ
スを行うと、そのアクセスによって指定されたデータ
(キャッシュ対象データ)がR/Wデータバッファ51
から疑似キャッシュ的に読み出される。
【0031】ここで、通信データは通常、通信伝送順
(あるいは送受信順)にSDRAM31に蓄積される。
たとえば、パケット通信データの場合、パケット間の送
受信順およびパケット内のデータ順が保存された状態で
SDRAM31に蓄積される。したがって、上記疑似キ
ャッシュシステム50において、疑似キャッシュ検索が
ヒットしなかった場合は、そのヒットしなかったキャッ
シュ対象データのほかに、そのキャッシュ対象データに
対して通信伝送順に連続するデータも一緒に、SDRA
M31からデータバッファ51へ疑似キャッシュデータ
として転送されることになる。
(あるいは送受信順)にSDRAM31に蓄積される。
たとえば、パケット通信データの場合、パケット間の送
受信順およびパケット内のデータ順が保存された状態で
SDRAM31に蓄積される。したがって、上記疑似キ
ャッシュシステム50において、疑似キャッシュ検索が
ヒットしなかった場合は、そのヒットしなかったキャッ
シュ対象データのほかに、そのキャッシュ対象データに
対して通信伝送順に連続するデータも一緒に、SDRA
M31からデータバッファ51へ疑似キャッシュデータ
として転送されることになる。
【0032】このあと、CPU21がさらに次にデータ
の読出アクセスを行うと(S15)、上述した一連の疑
似キャッシュ動作(S11〜S14)が繰り返される
が、ここで注目すべきことは、この後の読出アクセスで
は、上記R/Wデータバッファ51にまだ読み出されず
に保持されている残りのデータが読み出される確率が非
常に高いということである。パケット等のシリアルな通
信データは、その連続性により、ほとんど場合、連続し
て読出アクセスされる。したがって、疑似キャッシュ検
索がヒットしないことによってSDRAM31からバッ
ファ51へ連続データがいったん転送されると、そのあ
とは、そのバッファ51に転送された連続データがすべ
て読み出されるまで、疑似キャッシュの検索は非常に高
確率でヒット状態が続く。したがって、上述した疑似キ
ャッシュシステムでは、正式なキャッシュシステムに比
べてハードウェア規模が大幅に小さいにもかかわらず、
高い検索ヒット率(疑似検索ヒット率)が得られる。こ
れにより、SDRAM31へのアクセス頻度を確実に下
げて、CPU21による平均的なメモリアクセス時間を
確実に短縮させることが可能になる。
の読出アクセスを行うと(S15)、上述した一連の疑
似キャッシュ動作(S11〜S14)が繰り返される
が、ここで注目すべきことは、この後の読出アクセスで
は、上記R/Wデータバッファ51にまだ読み出されず
に保持されている残りのデータが読み出される確率が非
常に高いということである。パケット等のシリアルな通
信データは、その連続性により、ほとんど場合、連続し
て読出アクセスされる。したがって、疑似キャッシュ検
索がヒットしないことによってSDRAM31からバッ
ファ51へ連続データがいったん転送されると、そのあ
とは、そのバッファ51に転送された連続データがすべ
て読み出されるまで、疑似キャッシュの検索は非常に高
確率でヒット状態が続く。したがって、上述した疑似キ
ャッシュシステムでは、正式なキャッシュシステムに比
べてハードウェア規模が大幅に小さいにもかかわらず、
高い検索ヒット率(疑似検索ヒット率)が得られる。こ
れにより、SDRAM31へのアクセス頻度を確実に下
げて、CPU21による平均的なメモリアクセス時間を
確実に短縮させることが可能になる。
【0033】以上のように、本発明のデータ処理装置で
は、1パケット分あるいはせいぜい数パケット分の記憶
容量しか持たないR/Wデータバッファ51を使って構
成される小規模な疑似キャッシュシステムでもって、通
信データのような連続性を持つデータをSDRAM31
から読み出してCPU21に処理させる動作を、従来の
キャッシュシステムを用いた装置よりも大幅に効率良く
行わせることができる。
は、1パケット分あるいはせいぜい数パケット分の記憶
容量しか持たないR/Wデータバッファ51を使って構
成される小規模な疑似キャッシュシステムでもって、通
信データのような連続性を持つデータをSDRAM31
から読み出してCPU21に処理させる動作を、従来の
キャッシュシステムを用いた装置よりも大幅に効率良く
行わせることができる。
【0034】以上、CPU21からSDRAM31に対
してデータの読出アクセスを行う場合の動作について説
明したが、CPU21からSDRAM31に対してデー
タの書込アクセスを行う場合は、CPU21からワイド
ビット幅のR/Wデータバッファ51に対する書込アク
セスを行うことにより、そのバッファ51に書き込まれ
たデータをワイドビット幅のデータバス52およびバス
コントローラ53を介してSDRAM31に高速転送さ
せることができる。これにより、書込アクセスも確実に
高速化することができる。
してデータの読出アクセスを行う場合の動作について説
明したが、CPU21からSDRAM31に対してデー
タの書込アクセスを行う場合は、CPU21からワイド
ビット幅のR/Wデータバッファ51に対する書込アク
セスを行うことにより、そのバッファ51に書き込まれ
たデータをワイドビット幅のデータバス52およびバス
コントローラ53を介してSDRAM31に高速転送さ
せることができる。これにより、書込アクセスも確実に
高速化することができる。
【0035】以上、本発明をその代表的な実施例を参照
しながら説明したが、本発明は上述した以外にも種々の
態様が可能である。また、本発明は通信データ以外の連
続的なデータの処理にも適用可能である。
しながら説明したが、本発明は上述した以外にも種々の
態様が可能である。また、本発明は通信データ以外の連
続的なデータの処理にも適用可能である。
【0036】
【発明の効果】本発明によれば、通信データのような連
続データをSDRAM等の外部メモリから読み出してC
PUに処理させる動作を、ASICなどにも簡単に組み
込むことができる小規模なハードウェア構成でもって、
従来のキャッシュシステムを用いた装置よりも効率良く
行わせることができる。
続データをSDRAM等の外部メモリから読み出してC
PUに処理させる動作を、ASICなどにも簡単に組み
込むことができる小規模なハードウェア構成でもって、
従来のキャッシュシステムを用いた装置よりも効率良く
行わせることができる。
【図1】本発明によるデータ処理装置の一実施例を示す
ブロック図である。
ブロック図である。
【図2】本発明によるデータ処理装置の構成と動作を示
すフローチャートである。
すフローチャートである。
【図3】従来のデータ処理装置の構成例を示すブロック
図である。
図である。
【図4】従来のデータ処理装置の構成と動作を示すフロ
ーチャートである。
ーチャートである。
11 クロック発生器
20 ASIC
21 CPU
22 デコーダ/コントローラ
23 SDRAMコントローラ
24 CPUバス
31 SDRAM(外部メモリ)
32 SDRAMバス
50 擬似キャッシュシステム
51 R/Wデータバッファ(疑似キャッシュメモリ)
52 ワイドビット・データバス
53 ワイドビット・バスコントローラ
54 バッファコントローラ(疑似キャッシュコントロ
ーラ) 60 キャッシュシステム(従来) 61 キャッシュメモリ(従来) 62 キャッシュコントローラ(従来) φx クロック
ーラ) 60 キャッシュシステム(従来) 61 キャッシュメモリ(従来) 62 キャッシュコントローラ(従来) φx クロック
Claims (7)
- 【請求項1】 CPUで外部メモリをアクセスしながら
通信データの処理を行うデータ処理装置であって、次の
(1)〜(3)によって特定される発明。 (1)上記外部メモリと上記CPUの間に、CPUのメ
モリアクセス複数回分のデータを保持するデータバッフ
ァが介在させられている。 (2)上記データバッファをキャッシュメモリに見立て
た疑似キャッシュシステムが構築されている。 (3)上記疑似キャッシュシステムは、その疑似キャッ
シュシステムによるキャッシュ検索がヒットしなかった
場合に、そのヒットしなかったキャッシュ対象データの
ほかに、そのキャッシュ対象データに連続した状態で上
記外部メモリに蓄積されているデータも、その外部メモ
リから上記データバッファへ疑似キャッシュデータとし
て転送させるように構成されている。 - 【請求項2】 請求項1の発明において、上記外部メモ
リと上記CPUの間にパケット単位のデータを並列に保
持するデータバッファを介在させ、このデータバッファ
をキャッシュメモリに見立てた疑似キャッシュシステム
を構築するとともに、この疑似キャッシュシステムによ
るキャッシュ検索がヒットしなかった場合に行われる上
記外部メモリから上記データバッファへのデータの転送
を上記パケット単位で行わせることを特徴とするデータ
処理装置。 - 【請求項3】 請求項1または2の発明において、前記
データバッファは1パケット分のデータ長に相当する並
列ビット幅を持たされていることを特徴とするデータ処
理装置。 - 【請求項4】 請求項1〜3のいずれかの発明におい
て、前記CPUおよび前記疑似キャッシュシステムを同
一のASIC内に組み込んだことを特徴とするデータ処
理装置。 - 【請求項5】 請求項1〜4のいずれか発明において、
前記データバッファと前記外部メモリ間のデータ転送
を、前記データバッファの並列ビット幅と同じビット幅
のワイドビット・データバスを介して行わせるととも
に、このワイドビット・データバスを、前記CPUおよ
び前記疑似キャッシュシステムと共に、同一のASIC
内に組み込んだことを特徴とするデータ処理装置。 - 【請求項6】 請求項5の発明において、前記ワイドビ
ット・データバスと前記外部メモリ間に介在してビット
幅の変換を行いながら、両者間でのデータやり取りを媒
介するバスコントローラを介在させるとともに、このバ
スコントローラを前記ASIC内に組み込んだことを特
徴とするデータ処理装置。 - 【請求項7】 請求項1〜6のいずれかの発明におい
て、前記外部メモリがSDRAMであることを特徴とす
るデータ処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001304110A JP2003108438A (ja) | 2001-09-28 | 2001-09-28 | データ処理装置 |
PCT/JP2002/002699 WO2003032169A1 (fr) | 2001-09-28 | 2002-03-20 | Processeur de donnees |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001304110A JP2003108438A (ja) | 2001-09-28 | 2001-09-28 | データ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003108438A true JP2003108438A (ja) | 2003-04-11 |
Family
ID=19124082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001304110A Pending JP2003108438A (ja) | 2001-09-28 | 2001-09-28 | データ処理装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2003108438A (ja) |
WO (1) | WO2003032169A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016506009A (ja) * | 2013-01-08 | 2016-02-25 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 開放されたロウの好適する数をもつメモリ装置 |
US9959919B2 (en) | 2015-03-20 | 2018-05-01 | Kabushiki Kaisha Toshiba | Memory system including non-volatile memory of which access speed is electrically controlled |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0745941B1 (en) * | 1995-06-02 | 2003-08-06 | Sun Microsystems, Inc. | A system and method for providing a flexible memory hierarchy |
JP2000341328A (ja) * | 1999-05-27 | 2000-12-08 | Fujitsu Ltd | データ中継装置 |
JP3561670B2 (ja) * | 1999-12-17 | 2004-09-02 | 三洋電機株式会社 | メモリ制御回路 |
-
2001
- 2001-09-28 JP JP2001304110A patent/JP2003108438A/ja active Pending
-
2002
- 2002-03-20 WO PCT/JP2002/002699 patent/WO2003032169A1/ja active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016506009A (ja) * | 2013-01-08 | 2016-02-25 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 開放されたロウの好適する数をもつメモリ装置 |
US9959919B2 (en) | 2015-03-20 | 2018-05-01 | Kabushiki Kaisha Toshiba | Memory system including non-volatile memory of which access speed is electrically controlled |
Also Published As
Publication number | Publication date |
---|---|
WO2003032169A1 (fr) | 2003-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI391819B (zh) | 用於在匯流排上傳送記憶體預取命令之方法及系統 | |
KR100881049B1 (ko) | 복수의 어드레스 2 채널 버스 구조 | |
US7739425B2 (en) | Two channel computer bus architecture | |
KR101121592B1 (ko) | 버스트 판독기록 동작을 구비한 처리 장치 | |
US20070050641A1 (en) | Cryptography methods and apparatus | |
US20020199079A1 (en) | Method to prefetch data from system memory using a bus interface unit | |
US8028116B2 (en) | Data transfer apparatus and data transfer method | |
US6668313B2 (en) | Memory system for increased bandwidth | |
US6622232B2 (en) | Apparatus and method for performing non-aligned memory accesses | |
US20070022224A1 (en) | Memory data transfer method and system | |
JP2002084311A (ja) | パケット転送処理装置 | |
JP2003108438A (ja) | データ処理装置 | |
US7111127B2 (en) | System for supporting unlimited consecutive data stores into a cache memory | |
CN116414743A (zh) | 用于控制存储器的方法、存储器控制器及芯片 | |
US20060294327A1 (en) | Method, apparatus and system for optimizing interleaving between requests from the same stream | |
US10853123B2 (en) | Memory module | |
US7089387B2 (en) | Methods and apparatus for maintaining coherency in a multi-processor system | |
JP4431492B2 (ja) | 複数のコヒーレンシー・グラニュールをサポートするデータ転送ユニット | |
CN115599729B (zh) | 一种中央处理器基于PCIe读写数据系统及方法 | |
US20060129742A1 (en) | Direct-memory access for content addressable memory | |
US20090248919A1 (en) | Method for external fifo acceleration | |
EP1668525B1 (en) | Data transfer management method, software and system | |
KR100198789B1 (ko) | 수신 연결망 인터페이스의 구조 | |
KR960014177B1 (ko) | 병렬데이터처리시스템의 데이터통신장치 | |
JP2008083772A (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040930 |