JP3938177B2 - データ処理装置及びデータ処理装置におけるメモリ割り当て方法 - Google Patents
データ処理装置及びデータ処理装置におけるメモリ割り当て方法 Download PDFInfo
- Publication number
- JP3938177B2 JP3938177B2 JP2004316306A JP2004316306A JP3938177B2 JP 3938177 B2 JP3938177 B2 JP 3938177B2 JP 2004316306 A JP2004316306 A JP 2004316306A JP 2004316306 A JP2004316306 A JP 2004316306A JP 3938177 B2 JP3938177 B2 JP 3938177B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- cache
- memory
- target area
- address
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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/46—Caching storage objects of specific type in disk cache
- G06F2212/466—Metadata, control data
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
ジョンヘネシー、デビッドパターソン著、「コンピュータ・アーキテクチャ」1992年12月25日発行、p408−428
前記キャッシュ対象領域のアドレス空間と前記キャッシュ非対象領域のアドレス空間とに対して、同一のメモリロケーションを重複して対応付けられたメモリと、
前記キャッシュ対象領域に対応付けて割り当てられた前記メモリ上の領域を、前記キャッシュ非対象領域に対応付け直す領域変更手段とを備える。
前記第1の記憶媒体の領域から動的に確保した領域において前記第2の記憶媒体への転送を許可するモードと許可しないモードに動的に切り替える切り替え手段を備えることを特徴とする。
本実施形態では、書き込み消去可能な不揮発性半導体メモリ、たとえばコンパクトフラッシュ(登録商標、以下CFと略す。)に撮影した画像データを保存するディジタルカメラにおいて、撮影してCFに格納した圧縮画像データを伸張し液晶モニタに再生する際にキャッシュ機能許可モードと不許可モードを切り替える方法について説明する。
図1(A)にサイズXのDMA転送用バッファを静的に確保するまでのフローチャートを示す。このフローチャートは、DMAを行うプログラムがDMAバッファ領域の割り当てをオペレーティングシステム等のシステムプログラムに要求した場合に実行される。DMAバッファ領域が割り当てられれると、そのアドレスを示すポインタがユーザ(要求したプログラム)に渡される。そして、DMAバッファ領域が複数のプロセスにより共有される場合には、当該複数のプロセスは、たとえばそのDMAバッファ領域へのアドレスを示すポインタをグローバル変数として共有することでDMAバッファ領域も共有できる。ここでSRAM222に対してキャッシュコントローラ221がフラッシュやクリアを行う1制御単位のサイズをaとする。この1制御単位は一般的にキャッシュブロックあるいはキャッシュラインと呼ばれるものであり、以降これを1ラインと呼ぶこととする。
次にこのDRAM上のDMAバッファ領域に書き込まれた画像データを伸張処理をするために、ミラーアドレス領域に存在するアンキャッシャブルなバッファ領域をキャッシャブル領域に変換する手順について説明する。図1(B)にそのフローチャートを示す。ステップS5では、DMAバッファ領域、たとえばDMA転送を終了して画像データが書き込まれているDMAバッファ領域のポインタpBufの値から、DRAMの実アドレス領域からミラーアドレス領域へのオフセットOffsetを減じる。すなわちpBufを[pBuf]−Offsetとする。この結果pBufは、(Buf+Offset+a)−Offset=Buf+aとなる。クライアントは、pBufで指し示される領域をDMAバッファ領域としてそれまでどおり使用する。この操作によって今までアンキャッシャブル領域からアクセスしていたバッファ領域をキャッシャブル領域からアクセスすることが可能となる。この場合DRAM上の画像データに対してキャッシュ機能を生かした高速な画像処理(伸張処理)が実現できる。伸張された画像データは、たとえば液晶モニタ218に表示される。ただし、DMA転送に用いると従来の問題が生じ得るので、図1(B)による領域変換を行ったなら、その領域はCPU以外からはアクセスしない。以上のようにしてJPEG画像データの伸張処理を完了した後、CPU214の制御によってDRAM219から画像表示用データのVRAM218への書き込みを行い、ディスプレイコントローラ217によって液晶モニタ220に表示する。
(1)本実施形態の場合には、DMA転送中にはキャッシャブル領域からのアクセスがないものという前提で図1(B)に示す手順について説明した。しかし、もしDMA転送中にその他のタスクによってミラーアドレス領域からではなく実アドレス領域からのアクセスによってDMA転送後のデータが変更されている可能性があるのであれば、図1(B)のアンキャッシャブル領域からキャッシャブル領域への切り替えは図2(A)のように行われる。図2(A)においては、ステップS15を実行する前に実アドレス領域でのアクセスがあるか否かの判定を行って(ステップS16)、あればキャッシュのクリア処理を行う(ステップS17)。この後初めて領域の切り替えをステップS15で実行する。こうすることで、キャッシュエントリによりDMAバッファ領域が上書きは介されることを防止できる。
本実施形態のCFスロットとJPEG圧縮/解凍装置を搭載するデジタルカメラにおいては、CFに保存された撮影画像データをJPEG圧縮/解凍装置で解凍し、解凍された画像データを揮発性メモリにDMA転送する。そして、転送先のメモリ上で印刷を目的として色変換処理を行った後、USBケーブルで接続したダイレクトプリンタへ再度DMA転送する。この際にキャッシュ機能許可モードと不許可モードを切り替える方法について説明する。
202 撮影光学系
203 レンズ
204 CCD
205 CDS/AGC
206 A/Dコンバータ
207 信号処理装置A
208 Vドライブ
209 タイミングジェネレータ
210 信号処理装置B
211 データバス
212 CPUバス
213 フラッシュメモリ
214 CPU
215 CF
216 ユーザーインターフェース
217 ディスプレイコントローラ
218 VRAM
219 DRAM
220 液晶モニタ
221 キャッシュコントローラ
222 SRAM
Claims (11)
- キャッシュ対象領域とキャッシュ非対象領域とに区分したアドレス空間に対して多元的にアクセス可能であり、CPUから前記キャッシュ対象領域にアクセスする際にはキャッシュ機能を使用するデータ処理装置であって、
前記キャッシュ対象領域のアドレス空間と前記キャッシュ非対象領域のアドレス空間とに対して、同一のメモリロケーションを重複して対応付けられたメモリと、
前記キャッシュ対象領域に対応付けて割り当てられた前記メモリ上の領域を、前記キャッシュ非対象領域に対応付け直す領域変更手段と
を備えることを特徴とするデータ処理装置。 - 前記キャッシュ非対象領域に対応付けられたメモリ上の領域を、前記キャッシュ対象領域に対応付け直す第2の領域変更手段をさらに備えることを特徴とする請求項1に記載のデータ処理装置。
- ダイレクトメモリアクセス機能を用いて前記CPU以外のマスタから前記メモリにアクセスする場合には、前記キャッシュ対象領域に対応付けて割り当てられたメモリの領域について、前記領域変更手段により前記キャッシュ非対象領域に対応付け直すことを特徴とする請求項2に記載のデータ処理装置。
- 前記CPUから前記メモリにアクセスする場合には、前記キャッシュ非対象領域に対応付けて割り当てられたメモリの領域について、前記第2の領域変更手段により前記キャッシュ対象領域に対応付け直すことを特徴とする請求項2または請求項3に記載のデータ処理装置。
- 任意のメモリロケーションに対応付けられた前記キャッシュ対象領域のアドレスと前記キャッシュ非対象領域のアドレスとは、一定のオフセット値で互いにずれており、前記領域変更手段は、前記キャッシュ対象領域に割り当てられた領域のアドレスを前記オフセット値分ずらすことで前記キャッシュ非対象領域に対応付け直し、前記第2の領域変更手段は、前記キャッシュ非対象領域に割り当てられた領域のアドレスを前記オフセット値分ずらすことで前記キャッシュ対象領域に対応付け直すことを特徴とする請求項2乃至4のいずれか1項に記載のデータ処理装置。
- 前記CPUのアドレス信号の上位一定桁はデコードされず、該上位一定桁を除いたアドレス信号の少なくとも一部により前記メモリのアドレスが指定されるよう構成されることで、前記メモリは、前記キャッシュ対象領域のアドレス空間と前記キャッシュ非対象領域のアドレス空間とに対して同一のメモリロケーションを重複して対応付けられていることを特徴とする請求項1乃至請求項5のいずれか1項に記載のデータ処理装置。
- 前記領域変更手段により前記キャッシュ対象領域に対応付けて割り当てられた前記メモリ上の領域を前記キャッシュ非対象領域に対応付け直す前に、キャッシュされたデータのうち少なくとも更新されたものを、対応する前記メモリの領域に書き戻す書き戻し手段をさらに備えることを特徴とする請求項1乃至6のいずれか1項に記載のデータ処理装置。
- 画像を撮影し、撮影された画像の画像データを圧縮して不揮発性メモリに保存する撮影手段と、
請求項3に記載のデータ処理装置とを備え、
不揮発性メモリの圧縮画像データを、請求項3に記載のデータ処理装置によりダイレクトメモリアクセス機能を用いて前記メモリに書き込み、前記メモリ上でその圧縮画像データを伸張処理することを特徴とするディジタルカメラ装置。 - キャッシュ対象領域とキャッシュ非対象領域とに区分したアドレス空間に対して多元的にアクセス可能であり、前記キャッシュ対象領域のアドレス空間と前記キャッシュ非対象領域のアドレス空間とに対してメモリの同一のメモリロケーションを重複して対応付け、CPUから前記キャッシュ対象領域にアクセスする際にはキャッシュ機能を使用するデータ処理装置において、
メモリ領域の要求に応じて、前記キャッシュ対象領域に対応付けて割り当てられた前記メモリ上の領域を割り当てる割り当て工程と、
前記キャッシュ対象領域に対応付けて割り当てられた前記メモリ上の領域を、前記キャッシュ非対象領域に対応付け直す領域変更工程と
を備えることを特徴とするメモリ割り当て方法。 - 前記キャッシュ非対象領域に対応付けられたメモリ上の領域を、前記キャッシュ対象領域に対応付け直す第2の領域変更工程をさらに備え、
前記CPUのアドレス信号の上位一定桁はデコードされず、該上位一定桁を除いたアドレス信号の少なくとも一部により前記メモリのアドレスが指定されるよう構成されることで、前記メモリは、前記キャッシュ対象領域のアドレス空間と前記キャッシュ非対象領域のアドレス空間とに対して同一のメモリロケーションを重複して対応付けられており、
任意のメモリロケーションに対応付けられた前記キャッシュ対象領域のアドレスと前記キャッシュ非対象領域のアドレスとは、前記メモリ容量に相当する一定のオフセット値で互いにずれており、
前記領域変更工程では、前記キャッシュ対象領域に割り当てられた領域のアドレスを前記オフセット値分ずらすことで前記キャッシュ非対象領域に対応付け直し、
前記第2の領域変更工程では、前記キャッシュ非対象領域に割り当てられた領域のアドレスを前記オフセット値分ずらすことで前記キャッシュ対象領域に対応付け直すことを特徴とする請求項9に記載のメモリ割り当て方法。 - 請求項9または10に記載のメモリ割り当て方法をCPUにより実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004316306A JP3938177B2 (ja) | 2004-10-29 | 2004-10-29 | データ処理装置及びデータ処理装置におけるメモリ割り当て方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004316306A JP3938177B2 (ja) | 2004-10-29 | 2004-10-29 | データ処理装置及びデータ処理装置におけるメモリ割り当て方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2006127251A JP2006127251A (ja) | 2006-05-18 |
JP2006127251A5 JP2006127251A5 (ja) | 2006-12-28 |
JP3938177B2 true JP3938177B2 (ja) | 2007-06-27 |
Family
ID=36721934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004316306A Expired - Fee Related JP3938177B2 (ja) | 2004-10-29 | 2004-10-29 | データ処理装置及びデータ処理装置におけるメモリ割り当て方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3938177B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8412884B1 (en) | 2011-10-13 | 2013-04-02 | Hitachi, Ltd. | Storage system and method of controlling storage system |
FR3055715B1 (fr) * | 2016-09-08 | 2018-10-05 | Upmem | Methodes et dispositifs pour contourner le cache interne d'un controleur memoire dram evolue |
-
2004
- 2004-10-29 JP JP2004316306A patent/JP3938177B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006127251A (ja) | 2006-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8732409B2 (en) | Cache management policy and corresponding device | |
JP3264319B2 (ja) | バスブリッジ | |
JP5313168B2 (ja) | プロセッサにおいてキャッシュポリシーを設定するための方法および装置 | |
US10417140B2 (en) | Streaming translation lookaside buffer | |
KR101414384B1 (ko) | 연산 장치, 정보 처리 장치 및 연산 방법 | |
JP2010509688A (ja) | 3dグラフィック回路のための画素キャッシュ | |
JP5583274B2 (ja) | コンピュータ・メモリを管理する方法、対応するコンピュータ・プログラム製品、およびそのためのデータ・ストレージ・デバイス | |
JP2000250812A (ja) | メモリ・キャッシュ・システムおよびその管理方法 | |
JP4753549B2 (ja) | キャッシュメモリおよびシステム | |
US9146879B1 (en) | Virtual memory management for real-time embedded devices | |
US11341042B2 (en) | Storage apparatus configured to manage a conversion table according to a request from a host | |
JPH10154100A (ja) | 情報処理システム及び装置及びその制御方法 | |
US20090282198A1 (en) | Systems and methods for optimizing buffer sharing between cache-incoherent cores | |
US6587922B2 (en) | Multiprocessor system | |
US11599483B2 (en) | Dedicated cache-related block transfer in a memory system | |
JP5194703B2 (ja) | データ処理装置及び共有メモリのアクセス方法 | |
WO2010032433A1 (ja) | バッファメモリ装置、メモリシステム及びデータ読出方法 | |
JP5587539B2 (ja) | ローカルメモリデータのコヒーレントなキャッシュ処理 | |
JP4982354B2 (ja) | 情報処理装置 | |
KR20050007907A (ko) | 동적으로 할당 또는 해제되는 버퍼를 가지는 캐쉬 메모리장치, 이를 구비한 디지털 데이터 처리 시스템 및 그 방법 | |
JP3938177B2 (ja) | データ処理装置及びデータ処理装置におけるメモリ割り当て方法 | |
JP2003281079A (ja) | ページ・テーブル属性によるバス・インタフェース選択 | |
CN113342278B (zh) | 处理器及其保持缓存数据一致性的方法 | |
JPH06243037A (ja) | データ先読み装置 | |
JP4164452B2 (ja) | 情報処理方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061110 |
|
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: 20070309 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070319 |
|
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: 20110406 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130406 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130406 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140406 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |