JP2008083772A - データ処理装置 - Google Patents
データ処理装置 Download PDFInfo
- Publication number
- JP2008083772A JP2008083772A JP2006260177A JP2006260177A JP2008083772A JP 2008083772 A JP2008083772 A JP 2008083772A JP 2006260177 A JP2006260177 A JP 2006260177A JP 2006260177 A JP2006260177 A JP 2006260177A JP 2008083772 A JP2008083772 A JP 2008083772A
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage element
- data processing
- memory
- read
- 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
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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
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)
- Memory System (AREA)
Abstract
【課題】メモリに配置されたバッファを介したデータ転送において、データの種類に依存しない、適用範囲の広い、メモリアクセスの削減が可能なデータ処理装置を提供する。
【解決手段】複数のデータ処理部(11〜1n)と、複数のデータ処理部(11〜1n)が共通にアクセスするメモリ(4)とを有し、複数のデータ処理部(11〜1n)が、メモリ(4)を介して転送データを転送するデータ処理装置であって、メモリ(4)に、転送データと、転送データの圧縮データとを保持する。そして、データのリード要求があると、圧縮データを展開し、展開データを展開データバッファ(5)に格納する。圧縮データを展開している間は、メモリ(4)から元のデータをリードし、展開データが展開データバッファ(5)に格納された以降は、展開データバッファ(5)から展開データをリードする。
【選択図】図1
【解決手段】複数のデータ処理部(11〜1n)と、複数のデータ処理部(11〜1n)が共通にアクセスするメモリ(4)とを有し、複数のデータ処理部(11〜1n)が、メモリ(4)を介して転送データを転送するデータ処理装置であって、メモリ(4)に、転送データと、転送データの圧縮データとを保持する。そして、データのリード要求があると、圧縮データを展開し、展開データを展開データバッファ(5)に格納する。圧縮データを展開している間は、メモリ(4)から元のデータをリードし、展開データが展開データバッファ(5)に格納された以降は、展開データバッファ(5)から展開データをリードする。
【選択図】図1
Description
本発明は、データ処理装置の技術に関し、特に、複数のデータ処理部間のデータ転送に適用して有効な技術に関する。
近年、情報機器の高性能化、多機能化に伴い、これらの機器に搭載されるSoC(Systems on a Chip)が処理するデータ量も増大している。このような、増大するデータ処理に対応するため、近年のSoCには複数のデータ処理部が並列にデータ処理を行い、処理されたデータをお互いに転送しながら全体の処理を進めていく構成が採られる。
SoC内の複数のデータ処理部間のデータ転送には、そのデータ処理タイミングの違いを隠蔽するため、メモリにバッファを配置し、このバッファを介してデータ転送が行われる。バッファを配置するメモリは、容量を確保するため、SoCに外付けのSDRAM等の外部メモリを使用することが一般的である。SoCと外部メモリを接続するピン数に限りがあることから、SoCと外部メモリ間のデータ転送スループットは制約されており、システムの性能を向上させるには、この制約を回避することが必要になる。
例えば、特許文献1(特開2002−140232号公報)には、マルチプロセッサシステムにおける共有キャッシュの各ラインに、そのラインのデータが複数のプロセッサで共有されていることを示す共有ビットSを備え、ラインを置換する際、Sの値を参照し、共有されていない方のラインを置換する方式が提案されている。この方式により、複数のプロセッサで共有されているデータを優先して共有キャッシュに保持して複数のプロセッサのデータ転送に伴う外部メモリアクセスを削減し、SoCと外部メモリ間のデータ転送スループットの制約を回避することができる。
特開2002−140232号公報
ところで、前記特許文献1に開示されている技術は、複数のプロセッサで共有するデータの共有キャッシュのヒット率により、効果が大きく変化する。例えば、映像のストリーミングデータといった再利用性が無いデータ処理に適用する場合、共有キャッシュのヒット率は小さくなり、前記特許文献1に開示されている技術の効果は小さい。
そこで、本発明の目的は、上記課題を解決し、メモリに配置されたバッファを介したデータ転送において、データの種類に依存しない、適用範囲の広い、メモリアクセスの削減が可能なデータ処理装置を提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
上記目的を達成するための手段として、本発明では、複数のデータ処理部と、前記複数のデータ処理部が共通にアクセスするメモリとを有し、前記複数のデータ処理部が、前記メモリを介して転送データを転送するデータ処理装置であって、前記メモリに、前記転送データと、前記転送データの圧縮データとを保持することを特徴とする。
さらに本発明では、前記転送データが格納される領域情報を保持する記憶素子TAGと、前記圧縮データのアドレスを保持する記憶素子CADRと、前記転送データを保持する記憶素子DATAと、前記転送データが有効か無効かを示す状態を保持する記憶素子DVと、前記転送データが展開中か展開中でないかを示す状態を保持する記憶素子STとが組となって構成されるエントリを複数有する展開データバッファを備えることを特徴とする。
さらに本発明では、前記転送データの圧縮データを生成して前記メモリにライトする時、前記展開データバッファの前記複数のエントリの中から1つのエントリを選択し、この選択されたエントリのTAG、およびCADRに前記転送データが格納される領域情報と前記圧縮データのアドレスとをそれぞれ格納することを特徴とする。
さらに本発明では、前記データ処理部が転送データを前記メモリからリードする時、前記複数のエントリから、そのTAGが示す領域が転送データのアドレスを含むエントリを検索し、該当するエントリが存在した場合、該当するエントリのCADR、DV、STをリードし、リードしたDVが無効を示す状態、かつ、リードしたSTが展開中でないことを示す状態の場合、CADRが示すアドレスにある圧縮データの展開を開始すると同時に、該当するエントリのSTに展開中を示す状態をセットし、展開データの生成が完了すると、該当するエントリのDATAに展開データを格納すると同時に、該当するエントリのDVに有効を示す状態をセットすることを特徴とする。
さらに本発明では、前記データ処理部が転送データを前記メモリからリードする時、前記複数のエントリから、そのTAGが示す領域が転送データのアドレスを含むエントリを検索し、該当するエントリが存在した場合、該当するエントリのDVをリードし、リードしたDVが有効の状態を示す場合、前記データ処理部は該当するエントリのDATAから展開データをリードし、リードしたDVが無効を示す状態の場合、又は該当するエントリが存在しなかった場合、前記データ処理部は前記メモリから前記転送データをリードすることを特徴とする。
上記目的を達成するための別の手段として、本発明では、複数のデータ処理部と、前記複数のデータ処理部が共通にアクセスするメモリとを有し、前記複数のデータ処理部が、前記メモリを介して転送データを転送するデータ処理装置であって、前記メモリに、前記転送データと、前記転送データの圧縮データと、前記圧縮データを展開するための情報である展開ディスクリプタを保持することを特徴とする。
さらに本発明では、前記転送データが格納される領域情報を保持する記憶素子TAGと、前記展開ディスクリプタのアドレスを保持する記憶素子CADRと、前記転送データを保持する記憶素子DATAと、前記転送データが有効か無効かを示す状態を保持する記憶素子DVと、前記転送データが展開中か展開中でないかを示す状態を保持する記憶素子STとが組となって構成されるエントリを複数有する展開データバッファを備えることを特徴とする。
さらに本発明では、前記転送データの圧縮データを生成して前記メモリにライトする時、前記展開データバッファの前記複数のエントリの中から1つのエントリを選択し、この選択されたエントリのTAG、およびCADRに前記転送データが格納される領域情報と前記ディスクリプタのアドレスとをそれぞれ格納することを特徴とする。
さらに本発明では、前記データ処理部が転送データを前記メモリからリードする時、前記複数のエントリから、そのTAGが示す領域が転送データのアドレスを含むエントリを検索し、該当するエントリが存在した場合、該当するエントリのCADR、DV、STをリードし、リードしたDVが無効を示す状態、かつ、リードしたSTが展開中でないことを示す状態の場合、CADRが示すアドレスにある展開ディスクリプタの内容に従い圧縮データの展開を開始すると同時に、該当するエントリのSTに展開中を示す状態をセットし、展開データの生成が完了すると、該当するエントリのDATAに展開データを格納すると同時に、該当するエントリのDVに有効を示す状態をセットすることを特徴とする。
さらに本発明では、前記データ処理部が転送データを前記メモリからリードする時、前記複数のエントリから、そのTAGが示す領域が転送データのアドレスを含むエントリを検索し、該当するエントリが存在した場合、該当するエントリのDVをリードし、リードしたDVが有効を示す状態の場合、前記データ処理部は該当するエントリのDATAから展開データリードし、リードしたDVが無効を示す状態の場合、又は該当するエントリが存在しなかった場合、前記データ処理部は前記メモリから前記転送データをリードすることを特徴とする。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
本発明によれば、データ処理部がメモリ内のデータをリードする時、そのデータの圧縮データを随時展開して読み出すため、データの特徴に関係なく、データを圧縮した分メモリアクセス量を削減することが出来る。
また、本発明によれば、圧縮データの展開に、展開ディスクリプタを使用することにより、圧縮率やフォーマットの異なる圧縮データを取り扱うことが出来る。
また、本発明によれば、圧縮データが展開されて、展開データが展開データバッファに格納されるまでの間は圧縮しない元のデータを読み出すことにより、圧縮データを展開する際のレイテンシを隠蔽し、リアルタイム性の高いデータ転送にも適用出来る。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
(第一の実施の形態)
図1は、本発明の第一の実施の形態であるデータ処理装置の全体構成を示す図である。
図1は、本発明の第一の実施の形態であるデータ処理装置の全体構成を示す図である。
本実施の形態のデータ処理装置は、複数のデータ処理部1(11)、データ処理部2(12)、…、データ処理部n(1n)と、データ圧縮部(2)と、メモリコントローラ(3)と、メモリ(4)と、展開データバッファ(5)と、ヒット判定部(6)と、データ展開部(7)と、バス(8)などから構成される。
データ処理部1(11)、データ処理部2(12)、…、データ処理部n(1n)は、それぞれバス(8)、メモリコントローラ(3)を経由して、メモリ(4)に格納される転送データをリード、およびライトしながらデータ処理を行う。なお、データ処理部の具体例は、CPUや特定処理に特化した演算器等である。また、本実施の形態ではこれらのデータ処理部はバイトアドレッシングにてメモリ(4)のリード、およびライトを行うものとする。
バス(8)には、データ処理部1(11)、データ処理部2(12)、…、データ処理部n(1n)、メモリコントローラ(3)、データ圧縮部(2)、ヒット判定部(6)、データ展開部(7)、展開データバッファ(5)が接続され、これらの間のデータ転送を行う。なお、バス(8)は、アドレス、制御信号、データを含むが、本実施の形態ではこれらを集約して図示している。また、本実施の形態ではバス(8)はアドレス、データ共32ビット幅のバスとしている。
メモリコントローラ(3)は、バス(8)上のリード、およびライト要求をデコードし、メモリ(4)のインターフェースに合わせた信号をメモリ(4)に入出力して、バス(8)のリード要求に対応するデータをメモリ(4)から読み出す、あるいは、バス(8)のライトデータをメモリ(4)にライトする。また、メモリコントローラ(3)は、ヒット判定部(6)からのリード要求マスク信号(10)がアサートされている時、バス(8)のリード要求が無視され、代わりに展開データバッファ(5)からデータが読み出される。
展開データバッファ(5)は、展開データの領域情報を保持する記憶素子TAGと、圧縮データのアドレスを保持する記憶素子CADRと、展開データを保持する記憶素子DATAと、記憶素子DATAが有効か無効かを示を保持する記憶素子DV(1:有効、0:無効)と、展開データが展開中か展開中でないかを示す状態を保持する記憶素子ST(1:展開中、0:展開中でない)、の組から構成されるエントリを複数有する。以下において、それぞれの記憶素子は、TAG、CADR、DATA、DV、STと記述する。なお、本実施の形態では、展開データバッファ(5)は4つのエントリ0〜3を持つとする。さらに、本実施の形態では、展開データは256Byteの単位に分割されてDATAに保持されるとする。従って、展開データの領域情報としてTAGにはアドレスの上位9〜32ビットが格納される。
さらに、展開データバッファ(5)は、バス(8)にリード要求があると、リードアドレスの9〜32ビットと複数エントリのTAGとの値を比較し、一致したTAGがあれば、そのエントリのTAG、ST、DV、CADR、それぞれ信号(17)、信号(18)、信号(13)、信号(15)に出力し、256ByteのDATAから、リードアドレスの下位1〜8ビットによって選択される4Byteデータをバス(8)のデータに出力し、一致したTAGが存在することを示すヒット信号(16)に1を出力する。なお、比較の結果、一致したTAGが無い場合、ヒット信号(16)には0を出力する。
さらに、展開データバッファ(5)は、展開データライトバス(14)にライト要求があると、ライトアドレスと複数エントリのTAGとの値を比較し、一致したTAGがあれば、そのエントリのST、DVおよび、DATAに展開データライトバス(14)のライトデータをそれぞれライトする。なお、比較の結果、一致したTAGが無い場合、ST、DV、DATAに値はライトされない。
データ圧縮部(2)は、メモリ(4)から展開データをリードし、その圧縮データを生成し、メモリ(4)にその圧縮データをライトする。さらにデータ圧縮部(7)は、データを圧縮する際、信号(9)を用いて、展開データバッファの複数エントリ中から1つのエントリを選択し、選択されたエントリのTAGおよびCADRに展開データのアドレスの9〜32ビット、およびその圧縮データのアドレスをそれぞれライトする。
ヒット判定部(6)は、展開データバッファ(5)からのヒット信号(16)、ST読み出し信号(18)、DV読み出し信号(13)、をデコードし、リード要求マスク信号(10)、および展開開始信号(21)を出力する。
要求マスク信号(10)の論理式は、
要求マスク信号(10)=(ヒット信号(16)==1)&&(DV==1)
となる。また、展開開始信号(21)の論理式は、
展開開始信号(21)=(ヒット信号(16)==1)&&(DV==0)
&&(ST==0)
となる。
要求マスク信号(10)=(ヒット信号(16)==1)&&(DV==1)
となる。また、展開開始信号(21)の論理式は、
展開開始信号(21)=(ヒット信号(16)==1)&&(DV==0)
&&(ST==0)
となる。
データ展開部(7)は、展開開始信号(21)アサート時のTAG読み出し信号(17)、CDCR読み出し信号(15)を保持すると同時に、展開データライトバス(14)経由で、データ展開部(7)に保持したTAG読み出し信号と一致するTAGを持つエントリのSTに1をセットし、データ展開部(7)に保持したCDCR読み出し信号が示すアドレスにある圧縮データをバス(8)を経由してメモリからリードし圧縮データを展開する。圧縮データの展開が終了すると、展開データライトバス(14)経由で、データ展開部(7)に保持したTAG読み出し信号と一致するTAGを持つエントリのDV、DATAに1および展開データをライトする。なお、展開データライトバス(14)は、アドレス、制御信号、ライトデータを含み、さらにライトデータはST、DV、DATAに細分されるが、本実施の形態ではこれらを集約して図示している。
以上説明した、本発明の第一の実施の形態におけるデータ処理装置の動作を、図2〜6を用いて説明する。
図2は、本発明の第一の実施の形態におけるデータ処理装置が扱うデータのメモリ(4)上の配置例である。アドレス1000〜10FCにデータD0(256Byte)が、アドレス1100〜11FCにデータD1(256Byte)が、それぞれ配置されている。なお、本実施の形態ではアドレスは16進数表記を用いる。データD0、D1がライトされる時、データ圧縮部(2)により、一例として一律1/16に圧縮された圧縮データCD0(16B)、CD1(16B)が生成され、アドレス2000〜200C、2010〜201Cのアドレスにそれぞれライトされる。さらに、データ圧縮部(2)は、展開データバッファ(5)のエントリ0、エントリ1のTAG、CADRをライトし、展開データバッファ(5)は図3に示す状態となる。
図4は、データ処理部1(11)がアドレス1000〜10FCのデータD0(256Byte)をリードする時のタイミングチャートである。なお、本タイミングチャートでは、データ処理部1(11)はアドレス1000から順次4Byteデータが一定周期(20サイクル)でリードを行う例を示す。
サイクル1にて、データ処理部1(11)がアドレス1000のデータのリード要求を出力する。なお、アドレス、データの各ドライバの表記は、DP:データ処理部1(11、DE:データ展開部(7)、MC:メモリコントローラ(3)、CC:展開データバッファ(5)、とする。同サイクルにて、前述の展開データバッファ(5)動作、およびヒット判定部(6)の展開開始信号(21)のアサート条件に従い、展開開始信号(21)がアサートされる。
展開開始信号のアサートを受け、サイクル2からデータ展開部(7)がアドレス2000から200Fの圧縮データCD0のリード、および展開を開始する。続くサイクル3にて、前述の展開データバッファ(5)および、データ展開部(7)の動作より、展開データバッファ(5)のエントリ0のSTに1がセットされ、図5に示す状態となる。サイクル2〜13までの間にデータ展開部(7)はCD0を4B単位で4回リードし、続くサイクル14〜39の間にCD0を展開しD0を生成する。
データ展開部(7)がCD0を展開する間、サイクル20にて、データ処理部1(11)がアドレス1004のデータのリード要求を出力する。サイクル20では、エントリ0のSTに1がセットされていることから、前述のヒット判定部(6)の展開開始信号(21)のアサート条件より、展開開始信号(21)がアサートされて二重に圧縮データの展開が開始されることはない。サイクル39にてCD0からD0の展開が終了し、展開データバッファ(5)のエントリ0のDATAにD0が格納され、DVに1がセットされる。この時の展開データバッファ(5)の状態を図6に示す。
続くサイクル40にて、データ処理部1(11)がアドレス1008のデータのリード要求を出力する。前述のヒット判定部(6)のリード要求マスク信号(10)のアサート条件に従い、リード要求マスク信号(10)がアサートされる。リード要求マスク信号(10)がアサートされたため、図1の説明にて記載したメモリコントローラ(3)、および展開データバッファ(5)の動作により、続くサイクル41にて展開データバッファ(5)よりデータD0(2)がリードされる。
同様にアドレス100C以降のデータも展開データバッファ(5)より順次リードされ、サイクル5100にてD0の最終データのリード要求が出され、続くサイクル5101にて対応する最終データがリードされる。
以上説明の通り、本実施の形態によると、256ByteのデータD0のリードに必要なメモリアクセスは、5回となり、本発明を使用しない場合の64回と比較して、メモリアクセスを5/64に削減できる。さらに、また、本実施の形態によると、D0がリアルタイム性を必要とするデータであった場合でも、CD0からD0を展開する間にD0のアクセスが待たされることは無く、リアルタイム性が保証される。
(第二の実施の形態)
本発明の第二の実施の形態であるデータ処理装置の全体構成は、前記第一の実施の形態であるデータ処理装置の全体構成(図1)と同一であるため、図1を用いて詳細を説明する。また、データ処理部1(11)、データ処理部2(12)、…、データ処理部n(1n)、バス(8)、メモリコントローラ(3)、メモリ(4)、ヒット判定部(6)、については前記第一の実施の形態であるデータ処理装置の動作と同一とし、第二の実施の形態の説明においては詳細な動作説明は省略する。
本発明の第二の実施の形態であるデータ処理装置の全体構成は、前記第一の実施の形態であるデータ処理装置の全体構成(図1)と同一であるため、図1を用いて詳細を説明する。また、データ処理部1(11)、データ処理部2(12)、…、データ処理部n(1n)、バス(8)、メモリコントローラ(3)、メモリ(4)、ヒット判定部(6)、については前記第一の実施の形態であるデータ処理装置の動作と同一とし、第二の実施の形態の説明においては詳細な動作説明は省略する。
展開データバッファ(5)は、展開データの領域情報を保持するTAGと、圧縮データを展開するための情報である展開ディスクリプタのアドレスを保持するCADRと、展開データを保持するDATAと、DATAが有効か無効かを示す状態を保持するDV(1:有効、0:無効)と、展開データが展開中か展開中でないかを示す状態を保持するST(1:展開中、0:展開中でない)、の組から構成されるエントリを複数有する。なお、本実施の形態では、展開データバッファ(5)は4つのエントリ0〜3を持つとする。さらに、本実施の形態では、展開データは256Byteの単位に分割されてDATAに保持されるとする。従って、展開データの領域情報としてTAGにはアドレスの上位9〜32ビットが格納される。
さらに、展開データバッファ(5)は、バス(8)にリード要求があると、リードアドレスの9〜32ビットと複数エントリのTAGとの値を比較し、一致したTAGがあれば、そのエントリのTAG、ST、DV、CADR、それぞれ信号(17)、信号(18)、信号(13)、信号(15)に出力し、256ByteのDATAから、リードアドレスの下位1〜8ビットによって選択される4Byteデータをバス(8)のデータに出力し、一致したTAGが存在することを示すヒット信号(16)に1を出力する。なお、比較の結果、一致したTAGが無い場合、ヒット信号(16)には0を出力する。さらに、展開データバッファ(5)は、展開データライトバス(14)にライト要求があると、ライトアドレスとの9〜32ビットと複数エントリのTAGとの値を比較し、一致したTAGがあれば、そのエントリのST、DVおよび、DATAに展開データライトバス(14)のライトデータをそれぞれライトする。なお、比較の結果、一致したTAGが無い場合、ST、DV、DATAに値はライトされない。
データ圧縮部(2)は、メモリ(4)から展開データをリードし、その圧縮データを生成し、メモリ(4)にその圧縮データ、および圧縮データの展開ディスクリプタをライトする。さらにデータ圧縮部(7)は、データを圧縮する際、信号(9)を用いて、展開データバッファの複数エントリ中から1つのエントリを選択し、選択されたエントリのTAGおよびCADRに展開データのアドレスの9〜32ビット、およびその圧縮データの展開ディスクリプタのアドレスをそれぞれライトする。
データ展開部(7)は、展開開始信号(21)アサート時のTAG読み出し信号(17)、CDCR読み出し信号(15)を保持すると同時に、展開データライトバス(14)経由で、データ展開部(7)に保持したTAG読み出し信号と一致するTAGを持つエントリのSTに1をセットし、データ展開部(7)に保持したCDCR読み出し信号が示すアドレスにある展開ディスクリプタに従い、圧縮データをバス(8)を経由してメモリからリードし圧縮データを展開する。圧縮データの展開が終了すると、展開データライトバス(14)経由で、データ展開部(7)に保持したTAG読み出し信号と一致するTAGを持つエントリのDV、DATAに1および展開データをライトする。なお、展開データライトバス(14)は、アドレス、制御信号、ライトデータを含み、さらにライトデータはST、DV、DATAに細分されるが、本実施の形態ではこれらを集約して図示している。
以上説明した、本発明の第二の実施の形態におけるデータ処理装置の動作を、図7〜11を用いて説明する。
図7は、本発明の第二の実施の形態におけるデータ処理装置が扱うデータのメモリ(4)上の配置例である。アドレス1000〜10FCにデータD0(256Byte)が、アドレス1100〜11FCにデータD1(256Byte)が、それぞれ配置されている。データD0、D1がライトされる時、データ圧縮部(2)により、一例として1/8と1/16にそれぞれ圧縮された圧縮データCD0(32Byte)、CD1(16Byte)が生成され、アドレス2000〜201C、2020〜202Cにそれぞれライトされる。さらにデータ圧縮部(2)により、圧縮データCD0(32Byte)、CD1(16Byte)の展開ディスクリプタDS0、DS1がそれぞれ生成され、アドレス3000〜300C、3010〜301Cにそれぞれライトされる。
図8は、展開ディスクリプタDS0、およびDS1の詳細である。展開ディスクリプタDS0は対応する圧縮データCD0の先頭アドレス2000、終了アドレス201C、フォーマット情報から構成される。同様に展開ディスクリプタDS1は対応する圧縮データCD1の先頭アドレス2020、終了アドレス202C、フォーマット情報から構成される。さらに、データ圧縮部(2)は、展開データバッファ(5)のエントリ0、エントリ1のTAG、CADRをライトし、展開データバッファ(5)は図9に示す状態となる。
図10は、データ処理部1(11)がアドレス1000〜10FCのデータD0(256Byte)をリードする際、展開データバッファ(5)がCD0からD0を展開するタイミングチャートである。
サイクル1にて、データ処理部1(11)がアドレス1000のデータのリード要求を出力する。同サイクルにて、前述の展開データバッファ(5)動作、および第一の実施の形態にて記述したヒット判定部(6)の展開開始信号(21)のアサート条件に従い、展開開始信号(21)がアサートされる。
展開開始信号のアサートを受け、前述の展開データバッファ(5)および、データ展開部(7)の動作より、サイクル2〜11の間データ展開部(7)がアドレス3000から300Cの展開ディスクリプタDS0をリードする。続くサイクル12から30の間、展開ディスクリプタDS0が示すCD0の先頭アドレス、および終了アドレスに従いアドレス2000から201CのCD0をリードする。続くサイクル31から、展開ディスクリプタDS0のフォーマット情報に従いCD0からD0を展開する。
図11は、データ処理部1(11)がアドレス1100〜11FCのデータD1(256Byte)をリードする際、展開データバッファ(5)がCD1からD1を展開するタイミングチャートである。
サイクル1にて、データ処理部1(11)がアドレス1100のデータのリード要求を出力する。同サイクルにて、前述の展開データバッファ(5)動作、第一の実施の形態にて記述したヒット判定部(6)の展開開始信号(21)のアサート条件に従い、展開開始信号(21)がアサートされる。
展開開始信号のアサートを受け、本実施の形態にて記述した展開データバッファ(5)および、データ展開部(7)の動作より、サイクル2〜11の間データ展開部(7)がアドレス3010から301Cの展開ディスクリプタDS1をリードする。続くサイクル12から22の間、展開ディスクリプタDS1が示すCD1の先頭アドレス、および終了アドレスに従いアドレス2020から202CのCD1をリードする。続くサイクル23から、展開ディスクリプタDS1のフォーマット情報に従いCD1からD1を展開する。
以上図10、図11の説明の通り、本実施の形態によると、前記第一の実施の形態の効果に加え、圧縮率やファーマットの異なる圧縮方式を複数扱うことが出来るため、幅広いアプリケーションに適用が可能である。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
本発明は、データ処理装置の技術に関し、特に、複数のデータ処理部間のデータ転送技術に利用可能である。
11〜1n…データ処理部1〜n、2…データ圧縮部、3…メモリコントローラ、4…メモリ、5…展開データバッファ、6…ヒット判定部、7…データ展開部、8…バス。
Claims (10)
- 複数のデータ処理部と、前記複数のデータ処理部が共通にアクセスするメモリとを有し、前記複数のデータ処理部が、前記メモリを介して転送データを転送するデータ処理装置であって、
前記メモリに、前記転送データと、前記転送データの圧縮データとを保持することを特徴とするデータ処理装置。 - 請求項1に記載のデータ処理装置であって、
前記転送データが格納される領域情報を保持する記憶素子TAGと、
前記圧縮データのアドレスを保持する記憶素子CADRと、
前記転送データを保持する記憶素子DATAと、
前記転送データが有効か無効かを示す状態を保持する記憶素子DVと、
前記転送データが展開中か展開中でないかを示す状態を保持する記憶素子STと、
が組となって構成されるエントリを複数有する展開データバッファを備えることを特徴とするデータ処理装置。 - 請求項2に記載のデータ処理装置であって、
前記転送データの圧縮データを生成して前記メモリにライトする時、前記展開データバッファの前記複数のエントリの中から1つのエントリを選択し、この選択されたエントリの記憶素子TAG、および記憶素子CADRに前記転送データが格納される領域情報と前記圧縮データのアドレスとをそれぞれ格納することを特徴とするデータ処理装置。 - 請求項3に記載のデータ処理装置であって、
前記データ処理部が転送データを前記メモリからリードする時、前記複数のエントリから、その記憶素子TAGが示す領域が転送データのアドレスを含むエントリを検索し、
該当するエントリが存在した場合、
該当するエントリの記憶素子CADR、記憶素子DV、記憶素子STをリードし、
リードした記憶素子DVが無効を示す状態、かつ、リードした記憶素子STが展開中でないことを示す状態の場合、記憶素子CADRが示すアドレスにある圧縮データの展開を開始すると同時に、該当するエントリの記憶素子STに展開中を示す状態をセットし、展開データの生成が完了すると、該当するエントリの記憶素子DATAに展開データを格納すると同時に、該当するエントリの記憶素子DVに有効を示す状態をセットすることを特徴とするデータ処理装置。 - 請求項4に記載のデータ処理装置であって、
前記データ処理部が転送データを前記メモリからリードする時、前記複数のエントリから、その記憶素子TAGが示す領域が転送データのアドレスを含むエントリを検索し、
該当するエントリが存在した場合、該当するエントリの記憶素子DVをリードし、
リードした記憶素子DVが有効の状態を示す場合、前記データ処理部は該当するエントリの記憶素子DATAから展開データをリードし、
リードした記憶素子DVが無効を示す状態の場合、又は該当するエントリが存在しなかった場合、前記データ処理部は前記メモリから前記転送データをリードすることを特徴とするデータ処理装置。 - 複数のデータ処理部と、前記複数のデータ処理部が共通にアクセスするメモリとを有し、前記複数のデータ処理部が、前記メモリを介して転送データを転送するデータ処理装置であって、
前記メモリに、前記転送データと、前記転送データの圧縮データと、前記圧縮データを展開するための情報である展開ディスクリプタを保持することを特徴とするデータ処理装置。 - 請求項6に記載のデータ処理装置であって、
前記転送データが格納される領域情報を保持する記憶素子TAGと、
前記展開ディスクリプタのアドレスを保持する記憶素子CADRと、
前記転送データを保持する記憶素子DATAと、
前記転送データが有効か無効かを示す状態を保持する記憶素子DVと、
前記転送データが展開中か展開中でないかを示す状態を保持する記憶素子STと、
が組となって構成されるエントリを複数有する展開データバッファを備えることを特徴とするデータ処理装置。 - 請求項7に記載のデータ処理装置であって、
前記転送データの圧縮データを生成して前記メモリにライトする時、前記展開データバッファの前記複数のエントリの中から1つのエントリを選択し、この選択されたエントリの記憶素子TAG、および記憶素子CADRに前記転送データが格納される領域情報と前記展開ディスクリプタのアドレスとをそれぞれ格納することを特徴とするデータ処理装置。 - 請求項8に記載のデータ処理装置であって、
前記データ処理部が転送データを前記メモリからリードする時、前記複数のエントリから、その記憶素子TAGが示す領域が転送データのアドレスを含むエントリを検索し、
該当するエントリが存在した場合、
該当するエントリの記憶素子CADR、記憶素子DV、記憶素子STをリードし、
リードした記憶素子DVが無効を示す状態、かつ、リードした記憶素子STが展開中でないことを示す状態の場合、記憶素子CADRが示すアドレスにある展開ディスクリプタの内容に従い圧縮データの展開を開始すると同時に、該当するエントリの記憶素子STに展開中を示す状態をセットし、展開データの生成が完了すると、該当するエントリの記憶素子DATAに展開データを格納すると同時に、該当するエントリの記憶素子DVに有効を示す状態をセットすることを特徴とするデータ処理装置。 - 請求項9に記載のデータ処理装置であって、
前記データ処理部が転送データを前記メモリからリードする時、前記複数のエントリから、その記憶素子TAGが示す領域が転送データのアドレスを含むエントリを検索し、
該当するエントリが存在した場合、該当するエントリの記憶素子DVをリードし、
リードした記憶素子DVが有効を示す状態の場合、前記データ処理部は該当するエントリの記憶素子DATAから展開データリードし、
リードした記憶素子DVが無効を示す状態の場合、又は該当するエントリが存在しなかった場合、前記データ処理部は前記メモリから前記転送データをリードすることを特徴とするデータ処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006260177A JP2008083772A (ja) | 2006-09-26 | 2006-09-26 | データ処理装置 |
US11/890,902 US20080077745A1 (en) | 2006-09-26 | 2007-08-07 | Data processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006260177A JP2008083772A (ja) | 2006-09-26 | 2006-09-26 | データ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008083772A true JP2008083772A (ja) | 2008-04-10 |
Family
ID=39226390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006260177A Withdrawn JP2008083772A (ja) | 2006-09-26 | 2006-09-26 | データ処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080077745A1 (ja) |
JP (1) | JP2008083772A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7780405B2 (en) | 2005-12-28 | 2010-08-24 | Denso Corporation | Blower system having a cooling passage |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0628108A (ja) * | 1992-07-09 | 1994-02-04 | Hitachi Ltd | データ記憶システム |
JP3426385B2 (ja) * | 1995-03-09 | 2003-07-14 | 富士通株式会社 | ディスク制御装置 |
US20060064546A1 (en) * | 2004-07-28 | 2006-03-23 | Hiroshi Arita | Microprocessor |
-
2006
- 2006-09-26 JP JP2006260177A patent/JP2008083772A/ja not_active Withdrawn
-
2007
- 2007-08-07 US US11/890,902 patent/US20080077745A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7780405B2 (en) | 2005-12-28 | 2010-08-24 | Denso Corporation | Blower system having a cooling passage |
Also Published As
Publication number | Publication date |
---|---|
US20080077745A1 (en) | 2008-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20040107265A1 (en) | Shared memory data transfer apparatus | |
JPH10301841A (ja) | メモリ集積回路並びにこれを用いた主記憶システム及びグラフィクスメモリシステム | |
WO2005071556A1 (en) | A two channel bus structure to support address information, data, and transfer qualifiers | |
JP5637145B2 (ja) | バスモニタ回路及びバスモニタ方法 | |
JP2006338538A (ja) | ストリームプロセッサ | |
JP4855864B2 (ja) | ダイレクトメモリアクセスコントローラ | |
JPH1196072A (ja) | メモリアクセス制御回路 | |
JP3803196B2 (ja) | 情報処理装置、情報処理方法および記録媒体 | |
JP2013092852A (ja) | バス接続回路、半導体装置及びバス接続回路の動作方法 | |
JP2007164415A (ja) | データ転送制御装置 | |
KR100463205B1 (ko) | 시퀀셜 버퍼를 내장하여 디에스피의 데이터 억세스 성능을향상시키는 컴퓨터 시스템 및 그 컴퓨터 시스템의 데이터억세스 방법 | |
JP2008083772A (ja) | データ処理装置 | |
JP3747213B1 (ja) | シーケンシャルromインターフェース対応nand型フラッシュメモリーデバイス及びそのコントローラ | |
US6483753B1 (en) | Endianess independent memory interface | |
US20020188771A1 (en) | Direct memory access controller for carrying out data transfer by determining whether or not burst access can be utilized in an external bus and access control method thereof | |
JP4431492B2 (ja) | 複数のコヒーレンシー・グラニュールをサポートするデータ転送ユニット | |
JP4427393B2 (ja) | 半導体集積回路 | |
US10719440B2 (en) | Semiconductor device and memory access method | |
US9268725B2 (en) | Data transferring apparatus and data transferring method | |
US20180253258A1 (en) | Transaction elimination using metadata | |
JPH05189360A (ja) | データ転送および記憶方式 | |
KR20070081981A (ko) | 중앙처리 장치가 없는 시스템에서의 인터페이스 방법 및장치 | |
JPH1040165A (ja) | データ読み出し方法およびリードバッファ | |
JP2004234461A (ja) | 情報処理装置および方法、並びにプログラム | |
JP4772975B2 (ja) | 半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081001 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20100426 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20100528 |