JPH08292914A - データ処理装置及びその方法 - Google Patents
データ処理装置及びその方法Info
- Publication number
- JPH08292914A JPH08292914A JP7098967A JP9896795A JPH08292914A JP H08292914 A JPH08292914 A JP H08292914A JP 7098967 A JP7098967 A JP 7098967A JP 9896795 A JP9896795 A JP 9896795A JP H08292914 A JPH08292914 A JP H08292914A
- Authority
- JP
- Japan
- Prior art keywords
- data
- cache
- data processing
- image
- processing
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 データ処理の内容に応じてキャッシュメモリ
の利用方法を最適化し、利用効率を向上させたデータ処
理装置及びその方法を提供する。 【構成】 画像サイズを求め(S301)、得られた処
理画像のサイズとデータキャッシュのサイズを、画像サ
イズがデータキャッシュのa倍を越えるか否かで比較す
る(S302)。ここで、処理する画像データがこのサ
イズを越えていると判断すると、演算処理済みデータの
保存先アドレスをセグメント1のアドレス空間に修正し
(S303)、キャッシュ動作を行わず、画像処理を実
行する(S304)。
の利用方法を最適化し、利用効率を向上させたデータ処
理装置及びその方法を提供する。 【構成】 画像サイズを求め(S301)、得られた処
理画像のサイズとデータキャッシュのサイズを、画像サ
イズがデータキャッシュのa倍を越えるか否かで比較す
る(S302)。ここで、処理する画像データがこのサ
イズを越えていると判断すると、演算処理済みデータの
保存先アドレスをセグメント1のアドレス空間に修正し
(S303)、キャッシュ動作を行わず、画像処理を実
行する(S304)。
Description
【0001】
【産業上の利用分野】本発明は、特にキャッシュメモリ
を利用してデータ処理を行うデータ処理装置及びその方
法に関するものである。
を利用してデータ処理を行うデータ処理装置及びその方
法に関するものである。
【0002】
【従来の技術】従来、音声データや画像データに対して
演算処理を行い、信号処理を実現する場合、汎用コンピ
ュータやエンジニアリングワークステーション(EW
S)などが用いられている。また、近年では、汎用のコ
ンピュータだけでなく、信号処理を目的とした装置も考
案されている。
演算処理を行い、信号処理を実現する場合、汎用コンピ
ュータやエンジニアリングワークステーション(EW
S)などが用いられている。また、近年では、汎用のコ
ンピュータだけでなく、信号処理を目的とした装置も考
案されている。
【0003】このような演算処理を高速化するために、
性能の高いCPUを用いるとともにメモリのアクセスタ
イムのボトルネックを改善するために、キャッシュメモ
リを搭載する装置が一般的になっている。
性能の高いCPUを用いるとともにメモリのアクセスタ
イムのボトルネックを改善するために、キャッシュメモ
リを搭載する装置が一般的になっている。
【0004】
【発明が解決しようとする課題】しかしながら、上記従
来例では、信号処理専用の装置において演算処理を行う
場合、汎用のワークステーションなどと違い、キャッシ
ュメモリのサイズが比較的限定されたものが多く、これ
に対して演算処理すべき対象であるデータの量は非常に
大きく、キャッシュメモリに収まらないサイズであるこ
とが通常である。本来、キャッシュメモリによって高速
動作を実現するための前提として、例えばプログラムか
らメモリへの参照が局所的である、という性質がある
が、大規模なキャッシュメモリを搭載できない組込みシ
ステムなどにおいては、その演算対象のデータがキャッ
シュメモリよりも大きいことと、特に画像処理などにお
いては画像全体に対する演算が行われるため、メモリへ
の参照の局所性が低い演算処理が存在することになり、
必ずしも全ての場合にキャッシュメモリが同様に効果が
あるとは限らない。
来例では、信号処理専用の装置において演算処理を行う
場合、汎用のワークステーションなどと違い、キャッシ
ュメモリのサイズが比較的限定されたものが多く、これ
に対して演算処理すべき対象であるデータの量は非常に
大きく、キャッシュメモリに収まらないサイズであるこ
とが通常である。本来、キャッシュメモリによって高速
動作を実現するための前提として、例えばプログラムか
らメモリへの参照が局所的である、という性質がある
が、大規模なキャッシュメモリを搭載できない組込みシ
ステムなどにおいては、その演算対象のデータがキャッ
シュメモリよりも大きいことと、特に画像処理などにお
いては画像全体に対する演算が行われるため、メモリへ
の参照の局所性が低い演算処理が存在することになり、
必ずしも全ての場合にキャッシュメモリが同様に効果が
あるとは限らない。
【0005】一例を挙げれば、2次元画像データに対し
てマトリクス演算を施し、フィルタ処理を行うような場
合、出力先は元の画像データを上書きできないため、新
しいメモリアドレスへ書き込むが、この時キャッシュデ
ータの更新が行われるとそのデータは以後使われないた
め、本来必要であったデータが溢れてしまい結果的にキ
ャッシュメモリの利用効率が低下するという問題があっ
た。
てマトリクス演算を施し、フィルタ処理を行うような場
合、出力先は元の画像データを上書きできないため、新
しいメモリアドレスへ書き込むが、この時キャッシュデ
ータの更新が行われるとそのデータは以後使われないた
め、本来必要であったデータが溢れてしまい結果的にキ
ャッシュメモリの利用効率が低下するという問題があっ
た。
【0006】本発明は、上記課題を解決するために成さ
れたもので、データ処理の内容に応じてキャッシュメモ
リの利用方法を最適化し、利用効率を向上させたデータ
処理装置及びその方法を提供することを目的とする。
れたもので、データ処理の内容に応じてキャッシュメモ
リの利用方法を最適化し、利用効率を向上させたデータ
処理装置及びその方法を提供することを目的とする。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、本発明のデータ処理方法は以下の工程を有する。即
ち、キャッシュメモリを利用してデータ処理を行うデー
タ処理方法において、データ処理の内容に応じてキャッ
シュメモリを利用するか否かを選択する選択工程と、前
記選択工程での選択結果に従ってデータ処理を行う演算
工程とを有する。
に、本発明のデータ処理方法は以下の工程を有する。即
ち、キャッシュメモリを利用してデータ処理を行うデー
タ処理方法において、データ処理の内容に応じてキャッ
シュメモリを利用するか否かを選択する選択工程と、前
記選択工程での選択結果に従ってデータ処理を行う演算
工程とを有する。
【0008】また上記目的を達成するために、本発明に
よるデータ処理装置は以下の構成を備える。
よるデータ処理装置は以下の構成を備える。
【0009】即ち、キャッシュメモリを利用してデータ
処理を行うデータ処理装置において、データ処理の内容
に応じてキャッシュメモリを利用するか否かを選択する
選択手段と、前記選択手段での選択結果に従ってデータ
処理を行う演算手段とを備える。
処理を行うデータ処理装置において、データ処理の内容
に応じてキャッシュメモリを利用するか否かを選択する
選択手段と、前記選択手段での選択結果に従ってデータ
処理を行う演算手段とを備える。
【0010】
【作用】かかる構成において、データ処理の内容に応じ
てキャッシュメモリを利用するか否かを選択し、その結
果に従ってデータ処理を行うように動作する。
てキャッシュメモリを利用するか否かを選択し、その結
果に従ってデータ処理を行うように動作する。
【0011】
【実施例】以下、図面を参照しながら本発明に係る好適
な一実施例を詳細に説明する。
な一実施例を詳細に説明する。
【0012】<第1の実施例>図1は、第1の実施例に
おける画像処理装置の構成を示すブロック図である。図
において、101はCPU(演算処理ユニット)、10
2はキャッシュコントローラ(Cache Controller)、1
03はデータキャッシュ(Data Cache)、104はイン
ストラクションキャッシュ(Instruction Cache )、1
05は1次記憶であるところのRAM(読み書き可能な
メモリ)、106はROM(読み出し専用メモリ)、1
07はホストコンピュータ(図示せず)と接続するため
のホストインターフェース(Host I/F)、108はプリ
ンタ/スキャナなどの画像入出力装置(図示せず)と接
続するためのビデオインターフェース(Video I/F )、
109は基本クロック及びタイマーとして周期的データ
を生成するクロックユニット(Clock Unit)である。
おける画像処理装置の構成を示すブロック図である。図
において、101はCPU(演算処理ユニット)、10
2はキャッシュコントローラ(Cache Controller)、1
03はデータキャッシュ(Data Cache)、104はイン
ストラクションキャッシュ(Instruction Cache )、1
05は1次記憶であるところのRAM(読み書き可能な
メモリ)、106はROM(読み出し専用メモリ)、1
07はホストコンピュータ(図示せず)と接続するため
のホストインターフェース(Host I/F)、108はプリ
ンタ/スキャナなどの画像入出力装置(図示せず)と接
続するためのビデオインターフェース(Video I/F )、
109は基本クロック及びタイマーとして周期的データ
を生成するクロックユニット(Clock Unit)である。
【0013】上記構成において、CPU101が実行す
るためのプログラム命令を要求した場合、キャッシュコ
ントローラ102がROM106又はRAM105から
読み出した命令をインストラクションキャッシュ104
へ一時的にストアし、CPU101はその命令をデコー
ドする事によりプログラムを実行して行く。そして、プ
ログラムの中で必要となるデータについては、同じくキ
ャッシュコントローラ102がRAM105、ROM1
06或いは各インターフェース107、108などから
データを読み込み、データキャッシュ103の上に一時
的にストアし、CPU101はデータキャッシュ103
上のデータをもとにして各種演算処理を施し、結果を主
にRAM105へストアする動作を行う。
るためのプログラム命令を要求した場合、キャッシュコ
ントローラ102がROM106又はRAM105から
読み出した命令をインストラクションキャッシュ104
へ一時的にストアし、CPU101はその命令をデコー
ドする事によりプログラムを実行して行く。そして、プ
ログラムの中で必要となるデータについては、同じくキ
ャッシュコントローラ102がRAM105、ROM1
06或いは各インターフェース107、108などから
データを読み込み、データキャッシュ103の上に一時
的にストアし、CPU101はデータキャッシュ103
上のデータをもとにして各種演算処理を施し、結果を主
にRAM105へストアする動作を行う。
【0014】ここで、データをストアする場合、キャッ
シュ適用領域として定義されているRAM105上のア
ドレスに書き込むと同時に、データキャッシュ103の
対応する箇所を更新し、データキャッシュ103とRA
M105上のデータに相違が生じないようにする。ま
た、キャッシュを適用しない領域として定義されている
アドレス、例えば各インターフェース107、108の
レジスタなどにデータを書き込む場合には、データキャ
ッシュ103に対応するデータ領域を保存せず、該当ア
ドレスの内容のみを書き換える。
シュ適用領域として定義されているRAM105上のア
ドレスに書き込むと同時に、データキャッシュ103の
対応する箇所を更新し、データキャッシュ103とRA
M105上のデータに相違が生じないようにする。ま
た、キャッシュを適用しない領域として定義されている
アドレス、例えば各インターフェース107、108の
レジスタなどにデータを書き込む場合には、データキャ
ッシュ103に対応するデータ領域を保存せず、該当ア
ドレスの内容のみを書き換える。
【0015】尚、上述のRAM104は処理を行うため
のプログラム及び被処理画像データ、処理済み画像デー
タなどを記憶保持するものであり、ROM105は固定
的なプログラムやデータを記憶保持するものである。ま
た、ホストインターフェース107はCPU101から
の命令によりホストコンピュータに対してコマンドやデ
ータの送受信を行うものであり、ホストコンピュータか
ら信号を受信した場合はCPU101に対して割り込み
信号を発生して受信動作を促す。同様にビデオインター
フェース108はスキャナ、プリンタ等の画像入出力装
置とコマンド、データの送受信を行う。
のプログラム及び被処理画像データ、処理済み画像デー
タなどを記憶保持するものであり、ROM105は固定
的なプログラムやデータを記憶保持するものである。ま
た、ホストインターフェース107はCPU101から
の命令によりホストコンピュータに対してコマンドやデ
ータの送受信を行うものであり、ホストコンピュータか
ら信号を受信した場合はCPU101に対して割り込み
信号を発生して受信動作を促す。同様にビデオインター
フェース108はスキャナ、プリンタ等の画像入出力装
置とコマンド、データの送受信を行う。
【0016】さて、上述の動作において、キャッシュ動
作を行うか否かはキャッシュコントローラ102によっ
て制御される。また、CPU101は図2に示すように
同一の物理アドレスに対して2通りの仮想アドレスがマ
ッピングされる構成となっており、セグメント0、即ち
80000000H〜9FFFFFFFHまでの仮想ア
ドレス空間をアクセスする場合、キャッシュ領域として
キャッシュ動作を行い、セグメント1、即ちA0000
000H〜BFFFFFFFHまでの仮想アドレス空間
をアクセスする場合には、セグメント0と同じ物理アド
レスにアクセスするが、キャッシュ動作を伴わないよ
う、キャッシュコントローラ102が制御を行う。
作を行うか否かはキャッシュコントローラ102によっ
て制御される。また、CPU101は図2に示すように
同一の物理アドレスに対して2通りの仮想アドレスがマ
ッピングされる構成となっており、セグメント0、即ち
80000000H〜9FFFFFFFHまでの仮想ア
ドレス空間をアクセスする場合、キャッシュ領域として
キャッシュ動作を行い、セグメント1、即ちA0000
000H〜BFFFFFFFHまでの仮想アドレス空間
をアクセスする場合には、セグメント0と同じ物理アド
レスにアクセスするが、キャッシュ動作を伴わないよ
う、キャッシュコントローラ102が制御を行う。
【0017】キャッシュ動作を行う場合、先に述べたよ
うにメモリその他からデータを読み込んでくる際に一度
キャッシュ上にデータを取り込んでからCPU101が
利用し、データを書き出す場合は同時にキャッシュ上に
対応するデータを保存する。即ち、この装置ではキャッ
シュを使う領域としてメモリ参照を行うかキャッシュを
使わない領域としてメモリ参照を行うかはプログラム中
でセグメント0、1の何れのアドレス空間を参照するか
によって自由に使い分けることができる。
うにメモリその他からデータを読み込んでくる際に一度
キャッシュ上にデータを取り込んでからCPU101が
利用し、データを書き出す場合は同時にキャッシュ上に
対応するデータを保存する。即ち、この装置ではキャッ
シュを使う領域としてメモリ参照を行うかキャッシュを
使わない領域としてメモリ参照を行うかはプログラム中
でセグメント0、1の何れのアドレス空間を参照するか
によって自由に使い分けることができる。
【0018】本装置においては、ホストインターフェー
ス107によってホストコンピュータから与えられたコ
マンドに基づいてRAM105に記憶している画像デー
タに対して演算処理を行って画像処理を実施し、その結
果をビデオインターフェース108からプリンタ部へ転
送して出力したり、或いはビデオインターフェース10
8から入力されたスキャナ入力画像でRAM105に保
存されているデータを同じく画像処理した上でホストコ
ンピュータヘホストインターフェース107を介して転
送するなどといった動作を行うものである。
ス107によってホストコンピュータから与えられたコ
マンドに基づいてRAM105に記憶している画像デー
タに対して演算処理を行って画像処理を実施し、その結
果をビデオインターフェース108からプリンタ部へ転
送して出力したり、或いはビデオインターフェース10
8から入力されたスキャナ入力画像でRAM105に保
存されているデータを同じく画像処理した上でホストコ
ンピュータヘホストインターフェース107を介して転
送するなどといった動作を行うものである。
【0019】次に、本実施例における動作を以下に説明
する。尚、画像処理の一例として、フィルタ処理を例に
説明する。
する。尚、画像処理の一例として、フィルタ処理を例に
説明する。
【0020】まず、画像データに対するフィルタ処理は
次の式で表される。
次の式で表される。
【0021】 O(i,j)=Σa(m,n)×S(i+m,j+n) ここで、S(i,j)は処理される元の画像データを表
し、a(m,n)はそれぞれの画素に乗じられるフィル
タ係数を表し、O(i,j)は処理された画像データを
表す。i,jは画像データ中の座標データを表し、m,
nは注目画素に対しての相対的な位置を表しており、通
常±1乃至±2程度の範囲である。
し、a(m,n)はそれぞれの画素に乗じられるフィル
タ係数を表し、O(i,j)は処理された画像データを
表す。i,jは画像データ中の座標データを表し、m,
nは注目画素に対しての相対的な位置を表しており、通
常±1乃至±2程度の範囲である。
【0022】以上の演算処理を行うことにより、注目画
素に対するフィルタ処理が行われ、スムージングやエッ
ジ強調といった効果を得ることができる。この演算にお
いては、注目画素に対応した演算結果を得るために周囲
の画素のデータも必要であり、被処理対象のデータ領域
を演算結果でオーバライトすることはできない。そのた
め、被演算データと演算結果データのメモリ上の記憶位
置が異なる。従って、演算結果をキャッシュ動作を伴っ
て書き込んだ場合、そのデータを同時にキャッシュにも
蓄えるが、本来そのデータは次の演算に必要ではなく、
場合によっては演算結果を蓄える空きを作るために被演
算データのキャッシュデータの方を無駄に破棄すること
が生じ、キャッシュの利用効率が悪くなる。そこで、図
3に示すような手順に従って演算結果を書き込む際に、
キャッシュ動作を伴うか伴わないかを切り替えるもので
ある。
素に対するフィルタ処理が行われ、スムージングやエッ
ジ強調といった効果を得ることができる。この演算にお
いては、注目画素に対応した演算結果を得るために周囲
の画素のデータも必要であり、被処理対象のデータ領域
を演算結果でオーバライトすることはできない。そのた
め、被演算データと演算結果データのメモリ上の記憶位
置が異なる。従って、演算結果をキャッシュ動作を伴っ
て書き込んだ場合、そのデータを同時にキャッシュにも
蓄えるが、本来そのデータは次の演算に必要ではなく、
場合によっては演算結果を蓄える空きを作るために被演
算データのキャッシュデータの方を無駄に破棄すること
が生じ、キャッシュの利用効率が悪くなる。そこで、図
3に示すような手順に従って演算結果を書き込む際に、
キャッシュ動作を伴うか伴わないかを切り替えるもので
ある。
【0023】図3は、第1の実施例による画像処理ルー
チンを示すフローチャートである。尚、この処理ルーチ
ンは、被処理データ及び処理済みデータを格納するアド
レス、画像の大きさ、処理に必要な各種パラメータ等を
呼び出し側から渡されて処理を開始する。ここで、呼び
出し側から渡される被処理データ及び処理済みデータの
格納アドレスはセグメント0にあるものとする。このた
め、処理済みデータの格納アドレスを変更しない限り、
データの格納はキャッシュ動作を伴う。
チンを示すフローチャートである。尚、この処理ルーチ
ンは、被処理データ及び処理済みデータを格納するアド
レス、画像の大きさ、処理に必要な各種パラメータ等を
呼び出し側から渡されて処理を開始する。ここで、呼び
出し側から渡される被処理データ及び処理済みデータの
格納アドレスはセグメント0にあるものとする。このた
め、処理済みデータの格納アドレスを変更しない限り、
データの格納はキャッシュ動作を伴う。
【0024】まず、ステップS301において、画像サ
イズを求める。ここで処理する画像の大きさは、画像が
矩形のものであれば縦及び横の長さを掛け合わせた画素
数に一画素当たりの情報量を乗じた量として計算でき
る。矩形以外の画像を処理する場合は画像の面積に一画
素当たりの情報量を乗じたものになる。次に、ステップ
S302において、得られた処理画像のサイズとデータ
キャッシュのサイズを、画像サイズがデータキャッシュ
のa倍を越えるか否かで比較する。ここでaの値は画像
処理の内容に応じてあらかじめ定められる係数であり、
キャッシュを有効にして演算した場合と無効にして演算
した場合の処理速度が逆転する画像サイズがキャッシュ
サイズの何倍かに相当するかを与えるものである。
イズを求める。ここで処理する画像の大きさは、画像が
矩形のものであれば縦及び横の長さを掛け合わせた画素
数に一画素当たりの情報量を乗じた量として計算でき
る。矩形以外の画像を処理する場合は画像の面積に一画
素当たりの情報量を乗じたものになる。次に、ステップ
S302において、得られた処理画像のサイズとデータ
キャッシュのサイズを、画像サイズがデータキャッシュ
のa倍を越えるか否かで比較する。ここでaの値は画像
処理の内容に応じてあらかじめ定められる係数であり、
キャッシュを有効にして演算した場合と無効にして演算
した場合の処理速度が逆転する画像サイズがキャッシュ
サイズの何倍かに相当するかを与えるものである。
【0025】上述のステップS302において、処理す
る画像データがこのサイズを越えていると判断された場
合にはステップS303に進み、演算処理済みデータの
保存先アドレスをセグメント1のアドレス空間に修正す
る。具体的には、保存先アドレスに対して200000
00Hを加える処理である。上述したように、セグメン
ト0とセグメント1では同一の物理アドレスにアクセス
し、キャッシュ動作を伴うかどうかの違いがあるだけな
ので、画像処理は同じ処理済みデータの書き込み時のキ
ャッシュ動作だけ禁止されるよう変更される。
る画像データがこのサイズを越えていると判断された場
合にはステップS303に進み、演算処理済みデータの
保存先アドレスをセグメント1のアドレス空間に修正す
る。具体的には、保存先アドレスに対して200000
00Hを加える処理である。上述したように、セグメン
ト0とセグメント1では同一の物理アドレスにアクセス
し、キャッシュ動作を伴うかどうかの違いがあるだけな
ので、画像処理は同じ処理済みデータの書き込み時のキ
ャッシュ動作だけ禁止されるよう変更される。
【0026】一方、ステップS302において、画像サ
イズがある一定サイズ以下だと判断された場合にはステ
ップS303を実行せず、キャッシュ動作を伴って処理
済みデータを書き込むようになる。このように、キャッ
シュ動作が制御された状態でステップS304において
画像処理が実行され、処理が終了すると当該画像処理ル
ーチンから呼び出し側のプログラムへ復帰する。
イズがある一定サイズ以下だと判断された場合にはステ
ップS303を実行せず、キャッシュ動作を伴って処理
済みデータを書き込むようになる。このように、キャッ
シュ動作が制御された状態でステップS304において
画像処理が実行され、処理が終了すると当該画像処理ル
ーチンから呼び出し側のプログラムへ復帰する。
【0027】以上のように、キャッシュ動作の制御を画
像サイズによって行うことにより、キャッシュの利用効
率が低下する場合に、これを回避することができる。
像サイズによって行うことにより、キャッシュの利用効
率が低下する場合に、これを回避することができる。
【0028】第1の実施例では、キャッシュ動作の制御
をアドレスの設定で行っているが、これはCPU及びキ
ャッシュコントローラの構成に依存する部分であり、例
えば制御レジスタのフラグによってキャッシュ動作の制
御を行う方式など、何らかの手段を用いてキャッシュ動
作を行うか否かをプログラム内から任意に制御可能な手
段を用いれば本発明を実施することができるのは明らか
であろう。
をアドレスの設定で行っているが、これはCPU及びキ
ャッシュコントローラの構成に依存する部分であり、例
えば制御レジスタのフラグによってキャッシュ動作の制
御を行う方式など、何らかの手段を用いてキャッシュ動
作を行うか否かをプログラム内から任意に制御可能な手
段を用いれば本発明を実施することができるのは明らか
であろう。
【0029】<第2の実施例>次に、本発明に係る第2
の実施例を図面を参照しながら以下に説明する。
の実施例を図面を参照しながら以下に説明する。
【0030】尚、画像処理装置の構成については第1の
実施例と同様であり、ここでは省略する。また、第2の
実施例は処理する画像データの大きさがほぼ一定である
ような場合に有効に作用するものである。
実施例と同様であり、ここでは省略する。また、第2の
実施例は処理する画像データの大きさがほぼ一定である
ような場合に有効に作用するものである。
【0031】図4は、第2の実施例による画像処理ルー
チンを示すフローチャートである。尚、この処理ルーチ
ンが呼び出される際の条件等は第1の実施例と同様であ
る。まず、ステップS401において、この画像処理ル
ーチンが始めて実行されるか否かをフラグによって判断
する。ここで、初めての実行でない場合はステップS4
08に進むが、初めての実行であると判断された場合に
はフラグを実行済みに設定した上でステップS402に
進む。ステップS402では、演算結果を格納するアド
レスをルーチン呼び出しの時のまま、即ちキャッシュ動
作を伴うものにしたまま目的とする画像処理を実行し、
その時にかかった時間T1を測定する。次に、ステップ
S403において、実行時間の再測定のため、キャッシ
ュ内容を一度クリアした上で、ステップS404に進
み、今後は処理済みデータの格納アドレスをセグメント
1に変更した上で再度同じ演算処理を行い、処理にかか
った時間T2を測定する。そして、ステップS405に
おいて、キャッシュ動作を伴ってデータを書き込むの
と、キャッシュ動作を伴わずに書き込むのとではどちら
の方が速かったか判断し(T1>T2)、キャッシュ動
作を伴う方が速かったのであればステップS407に進
み、UseCasheフラグをONに設定する。また、
キャッシュ動作を伴わずに書き込む方が速かったのであ
ればステップS406に進み、UseCasheフラグ
をOFFに設定する。
チンを示すフローチャートである。尚、この処理ルーチ
ンが呼び出される際の条件等は第1の実施例と同様であ
る。まず、ステップS401において、この画像処理ル
ーチンが始めて実行されるか否かをフラグによって判断
する。ここで、初めての実行でない場合はステップS4
08に進むが、初めての実行であると判断された場合に
はフラグを実行済みに設定した上でステップS402に
進む。ステップS402では、演算結果を格納するアド
レスをルーチン呼び出しの時のまま、即ちキャッシュ動
作を伴うものにしたまま目的とする画像処理を実行し、
その時にかかった時間T1を測定する。次に、ステップ
S403において、実行時間の再測定のため、キャッシ
ュ内容を一度クリアした上で、ステップS404に進
み、今後は処理済みデータの格納アドレスをセグメント
1に変更した上で再度同じ演算処理を行い、処理にかか
った時間T2を測定する。そして、ステップS405に
おいて、キャッシュ動作を伴ってデータを書き込むの
と、キャッシュ動作を伴わずに書き込むのとではどちら
の方が速かったか判断し(T1>T2)、キャッシュ動
作を伴う方が速かったのであればステップS407に進
み、UseCasheフラグをONに設定する。また、
キャッシュ動作を伴わずに書き込む方が速かったのであ
ればステップS406に進み、UseCasheフラグ
をOFFに設定する。
【0032】フラグを設定した後、演算処理は既に実行
済みなのでこの処理ルーチンを終了し、呼び出しプログ
ラム側へ復帰する。尚、UseCacheフラグは、個
々の画像処理ルーチン毎に独立して保持しているフラグ
である。
済みなのでこの処理ルーチンを終了し、呼び出しプログ
ラム側へ復帰する。尚、UseCacheフラグは、個
々の画像処理ルーチン毎に独立して保持しているフラグ
である。
【0033】一方、ステップS401において、始めて
実行されるルーチンではないと判断された場合にはステ
ップS408に進み、この処理ルーチンのUseCac
heフラグを調べる。ここで、フラグがONになってい
る場合には、以前実行した時にキャッシュ動作を行う方
が処理速度が速かったことが分かっているため、処理済
みデータの書き込み時にキャッシュ動作を行う。データ
書き込みアドレスは、セグメント0のままで良いので、
ステップS410の画像処理へそのまま進む。一方、U
seCacheフラグがOFFになっている場合には、
キャッシュ動作を伴ってデータ書き込みを行うと、却っ
て処理速度が低下するわけであるから、ステップS40
9において、データの書き込み先アドレスを当初のセグ
メント0からセグメント1へ変更し、処理済みデータの
書き込み時にキャッシュ動作を行わないようにする。そ
の後、ステップS410に進み、実際の画像処理を行
い、処理が終了すると、呼び出されたプログラムへ復帰
する。
実行されるルーチンではないと判断された場合にはステ
ップS408に進み、この処理ルーチンのUseCac
heフラグを調べる。ここで、フラグがONになってい
る場合には、以前実行した時にキャッシュ動作を行う方
が処理速度が速かったことが分かっているため、処理済
みデータの書き込み時にキャッシュ動作を行う。データ
書き込みアドレスは、セグメント0のままで良いので、
ステップS410の画像処理へそのまま進む。一方、U
seCacheフラグがOFFになっている場合には、
キャッシュ動作を伴ってデータ書き込みを行うと、却っ
て処理速度が低下するわけであるから、ステップS40
9において、データの書き込み先アドレスを当初のセグ
メント0からセグメント1へ変更し、処理済みデータの
書き込み時にキャッシュ動作を行わないようにする。そ
の後、ステップS410に進み、実際の画像処理を行
い、処理が終了すると、呼び出されたプログラムへ復帰
する。
【0034】このように、キャッシュ動作の有無による
演算処理速度を比較することにより、キャッシュの利用
方式を選ぶことによってキャッシュの利用効率の低下を
防ぐ効果がある。
演算処理速度を比較することにより、キャッシュの利用
方式を選ぶことによってキャッシュの利用効率の低下を
防ぐ効果がある。
【0035】尚、上述の演算処理に要する時間の測定
は、クロックユニット109から周期的に発生するタイ
マー割り込みをカウントしたシステム時間に基づいて計
時するものである。
は、クロックユニット109から周期的に発生するタイ
マー割り込みをカウントしたシステム時間に基づいて計
時するものである。
【0036】また、第1及び第2の実施例では、画像処
理ルーチン内部でキャッシュサイズから書き込み時のキ
ャッシュ動作を制御したが、画像処理によっては常にキ
ャッシュ動作を行う方がより効率が良いもの、或いは常
にキャッシュ動作を行わずにデータの書き込みを行う方
が良いものがあらかじめ判っているものがある。そのよ
うな処理ルーチンを呼び出す場合は、呼び出し側のルー
チンであらかじめ処理済みデータの書き込みアドレスの
セグメントを設定し、画像処理ルーチンに渡すことによ
り、処理毎にキャッシュ動作の有無を制御することも可
能である。
理ルーチン内部でキャッシュサイズから書き込み時のキ
ャッシュ動作を制御したが、画像処理によっては常にキ
ャッシュ動作を行う方がより効率が良いもの、或いは常
にキャッシュ動作を行わずにデータの書き込みを行う方
が良いものがあらかじめ判っているものがある。そのよ
うな処理ルーチンを呼び出す場合は、呼び出し側のルー
チンであらかじめ処理済みデータの書き込みアドレスの
セグメントを設定し、画像処理ルーチンに渡すことによ
り、処理毎にキャッシュ動作の有無を制御することも可
能である。
【0037】もちろん、書き込みアドレスのセグメント
を切り替える代わりに、それを指示するフラグを渡して
やっても良い。
を切り替える代わりに、それを指示するフラグを渡して
やっても良い。
【0038】尚、本発明は、複数の機器から構成される
システムに適用しても、1つの機器から成る装置に適用
しても良い。
システムに適用しても、1つの機器から成る装置に適用
しても良い。
【0039】また、本発明はシステム或いは装置にプロ
グラムを供給することによって達成される場合にも適用
できることは言うまでもない。
グラムを供給することによって達成される場合にも適用
できることは言うまでもない。
【0040】
【発明の効果】以上説明したように、本発明によれば、
データ処理の内容に応じてキャッシュメモリの利用方法
を最適化し、利用効率を向上させることが可能となる。
データ処理の内容に応じてキャッシュメモリの利用方法
を最適化し、利用効率を向上させることが可能となる。
【0041】
【図1】第1の実施例における画像処理装置の構成を示
すブロック図である。
すブロック図である。
【図2】第1及び第2の実施例におけるアドレス方式を
説明する図である。
説明する図である。
【図3】第1の実施例による画像処理ルーチンを示すフ
ローチャートである。
ローチャートである。
【図4】第2の実施例による画像処理ルーチンを示すフ
ローチャートである。
ローチャートである。
101 CPU 102 キャッシュコントローラ 103 データキャッシュ 104 インストラクションキャッシュ 105 RAM 106 ROM 107 ホストインターフェース 108 ビデオインターフェース 109 クロックユニット
Claims (8)
- 【請求項1】 キャッシュメモリを利用してデータ処理
を行うデータ処理装置において、 データ処理の内容に応じてキャッシュメモリを利用する
か否かを選択する選択手段と、 前記選択手段での選択結果に従ってデータ処理を行う演
算手段とを備えることを特徴とするデータ処理装置。 - 【請求項2】 前記選択手段は、処理するデータのサイ
ズに応じて利用するか否かを選択することを特徴とする
請求項1記載のデータ処理装置。 - 【請求項3】 前記選択手段は、キャッシュメモリを利
用する場合と、利用しない場合の処理速度を計時し、該
計時結果に応じて利用するか否かを選択することを特徴
とする請求項1記載のデータ処理装置。 - 【請求項4】 前記選択手段は、データ処理毎に予め利
用するか否かを選択しておくことを特徴とする請求項1
記載のデータ処理装置。 - 【請求項5】 キャッシュメモリを利用してデータ処理
を行うデータ処理方法において、 データ処理の内容に応じてキャッシュメモリを利用する
か否かを選択する選択工程と、 前記選択工程での選択結果に従ってデータ処理を行う演
算工程とを有することを特徴とするデータ処理方法。 - 【請求項6】 前記選択工程は、処理するデータのサイ
ズに応じて利用するか否かを選択することを特徴とする
請求項5記載のデータ処理方法。 - 【請求項7】 前記選択工程は、キャッシュメモリを利
用する場合と、利用しない場合の処理速度を計時し、該
計時結果に応じて利用するか否かを選択することを特徴
とする請求項5記載のデータ処理方法。 - 【請求項8】 前記選択工程は、データ処理毎に予め利
用するか否かを選択しておくことを特徴とする請求項5
記載のデータ処理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7098967A JPH08292914A (ja) | 1995-04-24 | 1995-04-24 | データ処理装置及びその方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7098967A JPH08292914A (ja) | 1995-04-24 | 1995-04-24 | データ処理装置及びその方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08292914A true JPH08292914A (ja) | 1996-11-05 |
Family
ID=14233840
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7098967A Withdrawn JPH08292914A (ja) | 1995-04-24 | 1995-04-24 | データ処理装置及びその方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH08292914A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20150076379A (ko) | 2013-12-26 | 2015-07-07 | 주식회사 씨아이에스 | 저점도 특성을 갖는 초미립 이소결성 알루미나의 제조 방법 |
-
1995
- 1995-04-24 JP JP7098967A patent/JPH08292914A/ja not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20150076379A (ko) | 2013-12-26 | 2015-07-07 | 주식회사 씨아이에스 | 저점도 특성을 갖는 초미립 이소결성 알루미나의 제조 방법 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100668002B1 (ko) | 그래픽 문맥 관리자를 구비하는 그래픽스-렌더링 엔진을갖는 장치, 방법, 및 시스템 | |
| KR100617998B1 (ko) | 시간 할당기를 갖는 그래픽 렌더링 엔진을 포함하는 장치,방법 및 시스템 | |
| JP4071196B2 (ja) | ゾーン・レンダリング用の自動メモリ管理 | |
| US7659904B2 (en) | System and method for processing high priority data elements | |
| US6339427B1 (en) | Graphics display list handler and method | |
| JP2659557B2 (ja) | 描画システム及び描画方法 | |
| EP1880277B1 (en) | Command execution controlling apparatus, command execution instructing apparatus and command execution controlling method | |
| US7760205B2 (en) | Information processing apparatus for efficient image processing | |
| US6563505B1 (en) | Method and apparatus for executing commands in a graphics controller chip | |
| US6201547B1 (en) | Method and apparatus for sequencing texture updates in a video graphics system | |
| JP3683657B2 (ja) | グラフィックス表示装置およびグラフィックスプロセッサ | |
| US9852092B2 (en) | System and method for memory access | |
| US6166724A (en) | Method and apparatus for sequencing palette updates in a video graphics system | |
| US20060061579A1 (en) | Information processing apparatus for efficient image processing | |
| JP4318664B2 (ja) | 情報処理装置およびタスク実行方法 | |
| JP4137903B2 (ja) | グラフィックス表示装置およびグラフィックスプロセッサ | |
| JPH0877367A (ja) | 画像処理プロセッサおよびそれを用いた画像データ処理装置 | |
| JP2000311249A (ja) | グラフィック処理装置とそのグラフィックコマンド処理方法 | |
| JPH10177493A (ja) | 図形処理システム | |
| US20050237332A1 (en) | Information processor | |
| CN110515868A (zh) | 显示图像的方法和装置 | |
| JPH05342336A (ja) | 画像表示システム | |
| JPH06110773A (ja) | メモリ制御装置 | |
| JPH10134013A (ja) | マルチcpuシステム | |
| JP2000181432A (ja) | 図形処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20020702 |