JP2002342160A - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JP2002342160A JP2002342160A JP2001150388A JP2001150388A JP2002342160A JP 2002342160 A JP2002342160 A JP 2002342160A JP 2001150388 A JP2001150388 A JP 2001150388A JP 2001150388 A JP2001150388 A JP 2001150388A JP 2002342160 A JP2002342160 A JP 2002342160A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- data
- processing
- unit
- cache memory
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 31
- 238000013500 data storage Methods 0.000 claims description 19
- 230000006870 function Effects 0.000 abstract description 4
- 238000007726 management method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 102000007372 Ataxin-1 Human genes 0.000 description 2
- 208000009415 Spinocerebellar Ataxias Diseases 0.000 description 2
- 102100035329 WD repeat and SOCS box-containing protein 2 Human genes 0.000 description 2
- 201000003624 spinocerebellar ataxia type 1 Diseases 0.000 description 2
- 101100095075 Arabidopsis thaliana SBT1.2 gene Proteins 0.000 description 1
- 108010032963 Ataxin-1 Proteins 0.000 description 1
- 101000804821 Homo sapiens WD repeat and SOCS box-containing protein 2 Proteins 0.000 description 1
- 101100495835 Oryza sativa subsp. japonica Cht1 gene Proteins 0.000 description 1
- XRKZVXDFKCVICZ-IJLUTSLNSA-N SCB1 Chemical compound CC(C)CCCC[C@@H](O)[C@H]1[C@H](CO)COC1=O XRKZVXDFKCVICZ-IJLUTSLNSA-N 0.000 description 1
- MIVWVMMAZAALNA-IJLUTSLNSA-N SCB2 Chemical compound CCCCCCC[C@@H](O)[C@H]1[C@H](CO)COC1=O MIVWVMMAZAALNA-IJLUTSLNSA-N 0.000 description 1
- MIVWVMMAZAALNA-UHFFFAOYSA-N SCB2 Natural products CCCCCCCC(O)C1C(CO)COC1=O MIVWVMMAZAALNA-UHFFFAOYSA-N 0.000 description 1
- 101100532804 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SDD1 gene Proteins 0.000 description 1
- 102100036911 Sodium bicarbonate cotransporter 3 Human genes 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/382—Pipelined decoding, e.g. using predecoding
-
- 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/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Image Input (AREA)
- Image Processing (AREA)
Abstract
令データを扱うデータ処理装置において、キャッシュメ
モリ制御の効率化を図る。 【解決手段】 プリデコード部7は、処理前の描画デー
タについて、高機能命令部のプリデコードを行う。キャ
ッシュメモリ制御部8は、プリデコード結果を基にし
て、処理を行うために要する命令コードを命令コード記
憶メモリ4から命令キャッシュメモリ2に充填する。こ
れにより、キャッシュのヒット率が向上する。
Description
演算データ部とから構成される命令データを処理するデ
ータ処理装置における、命令キャッシュメモリの制御に
関する技術に属する。
一例を示すブロック図である。図13の構成例は、演算
等の実処理や各処理の制御をともに行うプロセッサ51
と、プロセッサ51用の命令キャッシュメモリ52と、
全命令を記憶するための主命令メモリ53と、命令キャ
ッシュメモリ52への命令コードのキャッシング制御を
行うキャッシュメモリ制御部54と、主記憶55とを備
えている。
では、命令メモリとして利用されるキャッシュメモリの
書きこみや入れ替え等の制御は、キャッシュメモリ自体
のWAY数の最適化や、コンパイラを用いて適切なアド
レスマッピングを行い、実行またはフェッチされている
命令のアドレスを参照し、そのアドレス以降の命令の先
読みを行うことによって、行われていた。
処理装置である場合、すなわち、処理対象となる命令デ
ータが、線描画、矩形描画といった高機能命令部と、描
画する座標値の被演算データ部とからなる描画データで
ある場合には、次のような問題が生じる。
データの高機能命令部をデコードすることによって、傾
き演算や座標変換処理等の描画のための前処理が行われ
る。ところが、実行される処理は、線描画、文字表示と
いった各高機能命令の内容によって異なり、さらに同一
の高機能命令であっても、座標変換処理の有無、実線表
示か破線表示か、または矩形の塗りつぶしの有無等々、
種々の描画モードに応じてその処理が異なってくる。
されるべき命令コードは、描画データの高機能命令部に
応じて異なるため、アドレスの先読みを用いた単純な制
御では、最適なキャッシュメモリの制御は実現できな
い。
部と被演算データ部とからなる命令データを扱うデータ
処理装置において、命令キャッシュメモリの書きこみ、
入れ替えの効率化を図ることを課題とする。
高機能命令部をプリデコードし、このプリデコード結果
から命令キャッシュメモリの制御を行うことによって、
命令キャッシュメモリの最適な書きこみ、入れ替えを実
現するものである。
手段は、高機能命令部と被演算データ部とを一語に含む
命令データの処理を行うデータ処理装置として、処理対
象となる命令データを記憶する命令データ記憶部と、前
記命令データ記憶部から転送された命令データを受け、
この命令データに従って処理を行う処理部と、前記処理
部が処理のために用いる命令コードを記憶する命令コー
ド記憶部と、前記処理部からアクセス可能であり、命令
コードを記憶するための命令キャッシュメモリと、前記
処理部が処理を行う前に、その処理に係る命令データに
ついて高機能命令部のプリデコードを行うプリデコード
部と、前記プリデコード部によるプリデコード結果を基
にして、前記命令キャッシュメモリに前記命令コード記
憶部から前記処理部が処理を行うために要する命令コー
ドを充填するキャッシュメモリ制御部とを備えたもので
ある。
によって、処理前の命令データについて高機能命令部の
プリデコードが行われる。そして、このプリデコード結
果を基にして、キャッシュメモリ制御部によって、処理
を行うために要する命令コードが命令キャッシュメモリ
に充填される。これにより、命令キャッシュメモリのヒ
ット率を向上させることができ、命令キャッシュメモリ
の制御をより適切に実行することが可能になる。
1のデータ処理装置における前記命令データ記憶部と前
記命令コード記憶部とは、単一の共用メモリに設けられ
ているものとする。
命令コード用のメモリを共通にすることができるので、
部品点数の削減が可能となる。
のデータ処理装置におけるプリデコード部は、前記命令
データ記憶部と前記処理部との間に設けられ、命令デー
タが前記命令データ記憶部から前記処理部に転送される
際に、当該命令データの高機能命令部をプリデコードす
るものとする。
命令データ記憶部から処理部に転送される際に、その高
機能命令部がプリデコードされる。このため、処理前の
命令データに対して予測を行いながら命令キャッシュメ
モリの制御を行うことができるので、時間的ロスを軽減
することが可能になる。
のデータ処理装置は、外部から供給された命令データを
受ける外部インターフェイス部を備え、前記プリデコー
ド部は、前記外部インターフェース部に設けられ、外部
から供給された命令データが前記命令データ記憶部に転
送される際に当該命令データの高機能命令部をプリデコ
ードし、かつ、プリデコード結果を基にして、前記命令
データに係る処理に必要な命令コード以外の命令コード
が前記命令コード記憶部に転送されるのを阻止するもの
とする。
外部から供給されて命令データ記憶部に転送される際
に、その高機能命令部がプリデコードされる。そして、
プリデコード結果を基にして、命令データに係る処理に
必要な命令コード以外の命令コードについて、命令コー
ド記憶部への転送が阻止される。これにより、命令コー
ド記憶部の容量の削減が可能になる。
のデータ処理装置における処理部は、処理が終了した命
令データについてその処理に要した命令コードを表す処
理済み情報を生成し、前記キャッシュメモリ制御部に送
信するものとする。
命令データについて生成された処理済み情報が、キャッ
シュメモリ制御部に送信される。このため、命令キャッ
シュメモリの更新を、命令データの処理終了後速やかに
行うことができる。
のデータ処理装置における命令データは、グラフィック
ス処理用の描画データであるものとする。
は、高機能命令部と被演算データ部とを一語に含む命令
データの処理を行うデータ処理装置として、受けた命令
データに従って処理を行う処理部と、前記処理部からア
クセス可能であり、命令コードを記憶するための命令キ
ャッシュメモリとを備え、前記処理部が処理を行う前に
その処理に係る命令データについて高機能命令部のプリ
デコードを行い、プリデコード結果を基にして、前記命
令キャッシュメモリに前記処理部が処理を行うために要
する命令コードを充填するものである。
ータについて高機能命令部のプリデコードが行われる。
そして、このプリデコード結果を基にして、処理を行う
ために要する命令コードが命令キャッシュメモリに充填
される。これにより、命令キャッシュメモリのヒット率
を向上させることができ、命令キャッシュメモリの制御
をより適切に実行することが可能になる。
て、図面を参照しながら説明する。
ク処理用の描画データを処理する描画処理装置を例にと
って説明するが、高機能命令部と被演算データ部とを一
語に含む形式の命令データを処理するデータ処理装置で
あれば、本発明は同様に実施可能である。
実施形態に係るデータ処理装置としての描画処理装置の
構成を示すブロック図である。図1に示す描画処理装置
は、当該装置内の全体的な制御を行う描画制御部1と、
描画制御部1が命令メモリとして直接アクセスを行う命
令キャッシュメモリ2と、実際に描画を行う描画エンジ
ン部3と、描画処理のために用いる命令コードを記憶し
た命令コード記憶部としてのマイクロコード記憶メモリ
4と、描画を行うために処理対象となる描画データ(D
L)を記憶する命令データ記憶部としてのDLメモリ5
と、描画制御部1とDLメモリ5との間で描画データの
やりとりを行うためのDLメモリインターフェイス(I
/F)6と、DLメモリ5から描画制御部1に送られた
描画データを、描画制御部1が処理を開始する前にデコ
ードするプリデコード部7と、プリデコード部7による
プリデコード結果を受け、描画制御部1が処理を行うた
めに必要な命令コードをマイクロコード記憶メモリ4か
ら命令キャッシュメモリ2に充填し、必要に応じて命令
コードの入れ替え等の制御を行うキャッシュメモリ制御
部(CMC)8とを備えている。描画制御部1および描
画エンジン3によって、処理部が構成されている。
“X座標10Y座標10の点描画”を表すものである。
最初の16ビットのコマンドDOTが高機能命令部に相
当し、次の32ビットの座標値を表す部分が被演算デー
タ部に相当する。また、図2(b)は他の高機能命令部
の例を示している。なお、被演算データ部のビット数
は、描画データの処理内容や座標値の個数等に応じて変
化する。
画データの高機能命令部のプリデコードを行い、この描
画データがいかなる描画を実行するものであるか(例え
ば“座標変換付き、頂点数5の線描画”“基準点からの
相対座標表示の塗りつぶしつき四角形描画”など)を求
める。キャッシュメモリ制御部8は、プリデコード部7
から送られた、処理を行うべき描画データの種類情報を
受けて、命令キャッシュメモリ2の制御を行う。
理の流れを示すフローチャートである。図3を用いて、
図1の描画処理装置の動作を説明する。
置を起動すると、キャッシュメモリ制御部8が、起動信
号に応じて、マイクロコード記憶メモリ4から命令キャ
ッシュメモリ2に、描画制御部1が当該装置の初期シー
ケンスを行うために必要な命令コードを充填する。
1が命令コードを実行し、DLメモリ5から必要な描画
データを取りこむ。そしてステップSA3において、プ
リデコード部7が、ステップSA2で取りこまれた描画
データについて、その高機能命令部をプリデコードし、
種類を特定する。ステップSA4において、プリデコー
ド部7はステップSA3におけるプリデコード結果を、
キャッシュメモリ制御部8に転送する。
リ制御部8は、取り込まれた描画データの処理に要する
命令コードが、命令キャッシュメモリ2に充填されてい
るか否か、すなわちキャッシュがヒットしているか否か
を調べる。キャッシュがヒットしておらず、命令コード
の入れ替えまたは書き込みが必要と判断したとき(SA
5でYES)は、ステップSA6において、マイクロコ
ード記憶メモリ4から、必要な命令コードを命令キャッ
シュメモリ2に書きこむ。その後、ステップSA7にす
すむ。一方、キャッシュがヒットしているとき(SA5
でNO)は、そのままステップSA7にすすむ。
が、命令キャッシュメモリ2の命令コードに従い、描画
データに対して前処理を行う。ステップSA8におい
て、ステップSA7で前処理された描画データが、描画
エンジン3に転送される。ステップSA9において、描
画エンジン3が転送された描画データを用いて描画処理
を行う。ステップSA10において、描画制御部1が、
全ての描画が終了したと判断したとき(YES)は処理
を終了する一方、そうでなければステップSA2に戻
り、引き続き描画処理を実行する。
形式の描画データを、描画処理の実行前にプリデコード
し、そのプリデコード結果を、命令キャッシュメモリの
書きこみや入れ替えの制御に用いる。これにより、命令
キャッシュメモリにおいて、より確実なキャッシュ管理
を実現することが可能である。
実施形態に係る描画処理装置の構成を示すブロック図で
ある。図4において、図1と共通の構成要素には、図1
と同一の符号を付しており、ここではその詳細な説明を
省略する。
まず、命令コードと、描画データとをともに記憶する共
用メモリ(UGM)9を備えている。すなわち、命令デ
ータ記憶部と命令コード記憶部とが、単一の共用メモリ
9に設けられている。これにより、命令コード用と描画
データ用のメモリを共通にすることができ、部品点数の
削減が可能となる。
で描画データのやりとりを行うための共用メモリインタ
ーフェイス(UGMI/F)10に、プリデコード部7
Aおよびキャッシュメモリ制御部(CMC)8Aが設け
られている。加えて、プリデコード部7Aによるプリデ
コード結果を記憶する命令キャッシュテーブル部11が
設けられている。
画制御部1に転送される描画データの高機能命令部のプ
リデコードを行う。命令キャッシュテーブル部11は、
プリデコード部7Aのプリデコード結果とともに、共用
メモリ9上の命令コードのアドレス対応マップを記憶す
る。キャッシュメモリ制御部8Aは、命令キャッシュテ
ーブル部11を参照し、描画制御部1が処理を行うため
に必要な命令コードを、共用メモリ9から命令キャッシ
ュメモリ2に充填し、必要に応じて命令コードの入れ替
え等の制御を行う。
納されるデータの例を示す図である。同図中、(a)は
高機能命令部に該当するコマンドのみを格納する場合、
(b)は共用メモリ9とのアドレス対応まで実装した場
合を示す。図5(a)の例では、点描画、線描画などの
各コマンドについて、描画データに含まれた個数がコマ
ンド数として示されている。図5(b)の例では、コマ
ンド数に加えて、各コマンドが格納された共用メモリ9
におけるアドレスが示されている。
ーフェイス10を介して描画制御部1に送られてくる描
画データを保持し、かつ、描画制御部1による計算結果
等の記憶装置としても用いられるワークメモリ16と、
ワークメモリ16のアクセス領域の切替を行う選択器1
7と、描画装置内ローカルバスのバスアクセス権の調停
を行うバス調停器18とを備えている。描画制御部1、
描画エンジン3、ワークメモリ16および選択器17に
よって、処理部が構成されている。
タとなり、主記憶部14に格納された描画データを本描
画処理装置に供給する。描画処理装置は、CPU13と
のアクセスを行い、供給された描画命令を受ける外部イ
ンターフェイス部としてのCPUインターフェイス(C
PUI/F)12を備えている。
理の流れを示すフローチャートである。図6を用いて、
図4の描画処理装置の動作を説明する。
描画処理装置を起動する。ステップSB2において、C
PU13が主記憶部14から、描画データおよび命令コ
ード群を共用メモリ9へ転送する。転送終了後、ステッ
プSB3において、描画制御部1が、CPU13が指定
した領域の描画データをワークメモリ16のバンク1に
充填するために、共用メモリインターフェイス10にリ
クエストを行う。
ターフェイス10が描画開始データアドレスに応じて、
描画データの転送を開始する。また描画データが共用メ
モリインターフェイス10を通過する際に、プリデコー
ド部7Aが描画データの高機能命令部のプリデコードを
行う。そして、この結果から、命令キャッシュテーブル
部11に、共用メモリ9上の命令コードのアドレスマッ
プに加え、高機能命令の種類情報を示すテーブルを作成
する。
リ制御部8Aは、ステップSB4で作成されたテーブル
を元に、現在、命令キャッシュメモリ2にエントリーさ
れている命令コード群に対して、書き込みを行う必要が
あるかをチェックする。書き込みが必要と判断したとき
(SB5でYES)は、ステップSB6において、キャ
ッシュメモリ制御部8がバス調停器18に対してバス権
の要求を行い、バス権を取得後、共用メモリ9から該当
命令コード群を命令キャッシュメモリ2へ転送する。
nは描画処理のフローを、ステップSBBnはキャッシ
ュメモリの管理処理のフローを、そしてステップSBC
nは割り込み処理すなわち、キャッシュメモリのアクセ
スにおいてミスヒットが発生した場合における処理のフ
ローをそれぞれ示す。
いて、描画制御部1が描画データのデコードを行い、例
えば傾き演算、クリッピングまたは座標変換等の、実際
に描画を行う前の処理を行う。そして、ステップSBA
2において、前処理済みの描画データが描画制御部1か
ら描画エンジン3に転送される。ステップSBA3にお
いて、描画エンジン3が、転送された描画データを用い
て描画処理を行う。ステップSBA4において、描画制
御部1はCPU13から依頼された描画処理が終了した
か否かをチェックし、終了したとき(YES)は、再び
CPU13から起動をかけられるまで待機状態に入る一
方、終了していないとき(NO)はステップSBA1に
戻り引き続き処理を続行する。
いながら、ステップSBA5において、ワークメモリ1
6について、描画制御部1がアクセスを行うバンクの切
替が生じるか否かをチェックする。バンクの切替が生じ
るとき(YES)は、ステップSBA6において、切替
信号が選択器17およびキャッシュメモリ制御部8Aに
送られ、ワークメモリ16の接続の切替、描画データ充
填処理および命令キャッシュメモリ2のチェック等をス
タートさせる。
シーケンスではステップSBA1よりも早く、それ以降
は、ワークメモリ16のバンク切替に応じて行われる。
まずステップSBB1において、プリデコード部7Aが
描画データの高機能命令部のプリデコードを行い、ステ
ップSB4と同様に、命令キャッシュテーブル部11に
高機能命令の種類情報を示すテーブルを作成する。描画
制御部1がワークメモリ16の一方のバンクをアクセス
中のときは、他方のバンクに対して、描画制御部1から
要求のあった描画データの充填を行いながら、この他方
のバンクに充填する描画データに関するテーブルを作成
する。
シュメモリ制御部8Aが、命令キャッシュテーブル部1
1を参照し、ステップSBB1で作成されたテーブルを
基にして、現充填対象バンクに対して描画制御部1が処
理を行う際に、命令キャッシュメモリ2に現在エントリ
ーされた命令コードについて入れ替えが必要であるか否
かを判断する。入れ替えが必要であると判断したとき
(SBB2でYES)、ワークメモリ16のバンク切替
信号が出力されると(SBA6)、ステップSBB3に
おいて、キャッシュメモリ制御部8が、必要な命令コー
ドを共用メモリ9から命令キャッシュメモリ2に書きこ
む。
了と判断されるまで、以上の処理を繰り返す。
ステップSBA1で処理中の描画制御部1が、命令キャ
ッシュメモリ2に必要な命令コードがないと判断した場
合(ミスヒット)に、ステップSBC1において、ミス
ヒット割り込みが発生する。そして、ステップSBC2
において、キャッシュメモリ制御部8は、バス調停器1
8から強制的にバスアクセス権を獲得し、必要な命令コ
ードを直ちに命令キャッシュメモリ2へ書きこむ。その
後、割り込みにより中断していた処理が再開される。
作を概念的に示すタイミングチャートである。図7で
は、対比のために、図1に示す第1の実施形態に係る描
画処理装置の動作も併せて示している。なお図7では、
第1の実施形態と条件を一致させるために、図4の構成
において、命令メモリとして、ローカルメモリでなく、
図1と同様に専用メモリが命令キャッシュメモリに接続
されているものとしている。
は、描画データ転送から描画までの処理がシリアルに実
行されるのに対して、本実施形態では、プリデコード部
7Aを共用メモリインターフェイス部10に設けたこと
によって、描画データの転送とプリデコードとが並列に
実行可能になっている。また、ワークメモリ16を2バ
ンク構成にしたことによって、描画処理と、描画データ
の転送やキャッシュ制御が並列に実行可能になってい
る。すなわち、本実施形態によると、第1の実施形態よ
りも、処理速度の向上を図ることができる。
Aを共用メモリインターフェース部10に設けるものと
したが、これに限られるものではなく、描画データが描
画制御部に転送される際に当該描画データの高機能命令
部をプリデコードすることが可能なところであれば、プ
リデコード部はどこに設けてもかまわない。例えば、描
画データを記憶するメモリが共用メモリでなく単独のメ
モリである場合には、プリデコード部は、描画データが
そのメモリから描画制御部に転送される経路上のどこか
に設ければよい。
実施形態に係る描画処理装置の構成を示すブロック図で
ある。図8において、図1または図4と共通の構成要素
には、同一の符号を付しており、ここではその詳細な説
明を省略する。図8の構成では、プリデコード部7Bお
よびキャッシュメモリ制御部(CMC)8Bが、共用メ
モリインターフェイス10Aではなく、外部インターフ
ェイス部としてのCPUインターフェイス12Aに設け
られている。
部14から転送される描画データの高機能命令部のプリ
デコードを行い、また、その結果を用いて、共用メモリ
9に送られる命令コードを最適に配置するためのアドレ
スマップを作成する。デコード結果と命令コードアドレ
スマップは、命令キャッシュテーブル部11が記憶す
る。キャッシュメモリ制御部8Bは、命令キャッシュテ
−ブル部11を参照し、命令キャッシュメモリ2に対し
て命令コードの入れ替えや書きこみの制御を行う。
理の流れを示すフローチャートである。図9を用いて、
図8の描画処理装置の動作を説明する。
描画処理装置を起動する。すなわち制御を行う描画制御
部1を起動する。ステップSC2において、CPU13
が主記憶部14から、描画データおよび該当命令コード
を共用メモリ9へ転送する。ステップSC3において、
描画データの転送中に、プリデコード部7Bが描画デー
タの高機能命令部のプリデコードを行い、命令キャッシ
ュテーブル部11にその結果を記憶する。
記憶されたプリデコード結果を参照しながら、転送され
た描画データについて必要な命令コードのみを共用メモ
リ9に転送する。これと同時に、共用メモリ9上の命令
コードについても、ヒット率の向上を実現するために、
命令キャッシュテーブル部11に格納された描画データ
のアドレスマップによって、最適にマッピングを行う。
ここでいう「最適」とは、命令キャッシュメモリ2のW
AY数を考慮して、共用メモリ9内のindex部分の
マッピングを最適にするのは当然のこととして、これに
加えて、各高機能命令部に係るまとまった命令コード群
を命令キャッシュメモリ2に連続アドレスで書きこみ可
能にすることをいう。共用メモリ9上の命令コードアド
レスマップも、命令キャッシュテーブル部11に追加し
て記憶される。
リ制御部8Bが、命令キャッシュメモリ2にエントリー
されている命令コード群に対して入れ替えや書きこみが
必要であるか否かを判断する。必要と判断したとき(Y
ES)は、ステップSC5において共用メモリ9から該
当命令コードを充填し、ステップSC6にすすむ一方、
充填の必要がないと判断したとき(NO)は、そのまま
ステップSC6にすすむ。ステップSC6において、描
画制御部1が描画データの転送を要求し、この要求を受
けて、共用メモリインターフェイス10Aを介して描画
データの転送が行なわれる。
ャッシュメモリ管理処理との2つに分かれる。描画処理
では、ステップSCA1において、処理対象描画データ
に対する描画制御部1の処理が終了したか否かをチェッ
クする。この間、キャッシュメモリ管理処理では、ステ
ップSCB1において、描画制御部1が命令コードのミ
スヒットをモニターし、ミスヒットが生じたとき(YE
S)は、ステップSCB2において、命令キャッシュメ
モリ2に対して命令コードの入れ替えを行う。
処理が終了したとき(SCA1でYES)、ステップS
C8において、描画制御装置1は描画エンジン3へ描画
データを転送する。ステップSC9において、描画エン
ジン3が転送された描画データを用いて描画を行う。ス
テップSC10において、描画制御部1が全ての描画処
理が終了したか否かを判断する。終了したときは、本描
画処理装置を停止する一方、そうでないときは、ステッ
プSC3に戻り、引き続き描画処理を繰り返し実行す
る。
インターフェイス12Aに描画データのプリデコード部
7Bを設けて、本描画処理装置のマスタとなるCPU1
3から描画データが送られてくる際にプリデコードを行
う。そして、プリデコード結果を基にして、描画データ
に係る処理に必要な命令コードのみを、共用メモリ9に
転送させ、それ以外の命令コードが共用メモリ9に転送
されるのを阻止する。これにより、共用メモリ9上の命
令コード記憶領域の削減が可能になる。
を命令キャッシュメモリ2の管理に最適に行うことによ
って、ヒット率の更なる向上を図ることができる。すな
わち、CPU13から描画処理装置に転送される描画デ
ータからなる1個のマクロ単位の描画処理に対して、適
切な命令キャッシュメモリ2の管理が実現できる。
と命令コード記憶部とは、単一の共用メモリ9に設けら
れているものとしたが、個別に設けられていてもかまわ
ない。
の実施形態に係る描画処理装置の構成を示すブロック図
である。図10において、図4と共通の構成要素には図
4と同一の符号を付しており、ここではその詳細な説明
を省略する。図10の構成において、図4と異なるの
は、描画終了コマンド管理部15をさらに備えている点
である。描画制御部1、描画エンジン3、ワークメモリ
16、選択器17および描画終了コマンド管理部15に
よって、処理部が構成されている。
部1から描画エンジン3に転送された描画データをデコ
ードし、このデコード結果から、キャッシュメモリ制御
部8Aに命令キャッシュテーブル部11の更新を依頼す
る。すなわち、処理が終了した描画データについて、そ
の処理に要した命令コードを表す処理済み情報を生成
し、キャッシュメモリ制御部8Aに送信する。キャッシ
ュメモリ制御部8Aは、受信した処理済み情報から、す
でに必要がなくなった命令コード群を知ることができ、
これにより、命令キャッシュメモリ2に対する命令コー
ドの入れ替えを適時に行う。
る命令キャッシュテーブルの更新処理の流れを示すフロ
ーチャートである。
インターフェイス10が描画制御部1に描画データを転
送する。これと同時に、プリデコード部7Aは描画デー
タのプリデコードを行い、命令キャッシュテーブル部1
1に描画データの種類別のコマンド数を記憶させる。次
にステップSU2において、キャッシュメモリ制御部8
Aは命令キャッシュテーブル部11を参照して、共用メ
モリ9から命令キャッシュメモリ2に、必要となる命令
コードを書き込む。
転送された描画データを、傾き計算、クリッピング等の
ために前処理し、描画エンジン3に転送する準備を行
う。そして、ステップSU4において、準備が完了した
描画データを逐次描画エンジン3に転送する。そして、
ステップSU5において、描画終了コマンド管理部15
は、処理が終了した描画データの高機能命令部をデコー
ドし、その処理に要した命令コードを表す処理済み情報
を生成し、キャッシュメモリ制御部8Aに送信する。
リ制御部8Aは、描画終了コマンド管理部15から処理
済み情報が送信されると、命令キャッシュテーブル部1
1のコマンド数を更新する。そして、コマンド数が0に
なった命令コードがあると、その命令コードを命令キャ
ッシュメモリ2のエントリーから削除する。
6内の各描画データに対し、次々とデータ処理を行って
いくが、転送の済んだ描画データにのみ必要であった命
令コードに関しては 命令キャッシュメモリ2から消去
してもかまわない。そこで、本実施形態のように、描画
エンジン3に転送された時点で命令キャッシュテーブル
部11を更新することによって、命令キャッシュメモリ
2の入れ替えを、ワークメモリ16のアクセスバンクの
処理が済む前に、先行して行うことが可能となる。
おける処理の流れを示すフローチャートである。図12
のフローは第2の実施形態で示した図6とほぼ同様であ
り、図6と共通の処理ステップには図6と同一の符号を
付しており、ここではその詳細な説明を省略する。図1
2のフローでは、図6に加えて、命令キャッシュテーブ
ル更新処理SDD1〜SDD3が追加されている。
プSBA2において描画エンジン3に転送された描画デ
ータに対して高機能命令部をデコードし、描画制御部1
で処理の済んだ描画データをチェックし、命令キャッシ
ュテーブル部11の更新を行う。ステップSDD2にお
いて、キャッシュメモリ制御部8が、更新された命令キ
ャッシュテーブル部11を参照し、入れ替えが可能かど
うか判断する。そこで入れ替え可能と判断した場合(Y
ES)には、ステップSDD3において、キャッシュメ
モリ制御部8がバス調停器18に対してバスアクセス権
の要求を出し、バス調停器18がバスアクセス許可をキ
ャッシュメモリ制御部8に対して行った後、命令キャッ
シュメモリ2内の不要命令コードの入れ替えを実施す
る。
描画制御部1による処理が済んだ描画データの管理を行
う描画終了コマンド管理部15を設けることによって、
命令キャッシュメモリの命令コードを先行して入れ替え
ることが可能になる。
と命令コード記憶部とは、単一の共用メモリに設けられ
ているものとしたが、個別に設けられていてもかまわな
い。また、本実施形態では、プリデコード部7Aを共用
メモリインターフェース部10に設けるものとしたが、
これ以外のところに設けてもかまわない。
命令データについて高機能命令部のプリデコードが行わ
れ、このプリデコード結果を基にして、処理を行うため
に要する命令コードが命令キャッシュメモリに充填され
る。これにより、命令キャッシュメモリのヒット率を向
上させることができ、命令キャッシュメモリの制御をよ
り適切に実行することが可能になる。
構成を示すブロック図である。
フローチャートである。
構成を示す図である。
納データの例を示す図である。
フローチャートである。
ミングチャートである。
構成を示すブロック図である。
フローチャートである。
の構成を示すブロック図である。
示すフローチャートである。
示すフローチャートである。
である。
ス部) 15 描画終了コマンド管理部
Claims (7)
- 【請求項1】 高機能命令部と被演算データ部とを一語
に含む命令データの処理を行うデータ処理装置であっ
て、 処理対象となる命令データを記憶する命令データ記憶部
と、 前記命令データ記憶部から転送された命令データを受
け、この命令データに従って、処理を行う処理部と、 前記処理部が処理のために用いる命令コードを記憶する
命令コード記憶部と、 前記処理部からアクセス可能であり、命令コードを記憶
するための命令キャッシュメモリと、 前記処理部が処理を行う前に、その処理に係る命令デー
タについて、高機能命令部のプリデコードを行うプリデ
コード部と、 前記プリデコード部によるプリデコード結果を基にし
て、前記命令キャッシュメモリに、前記命令コード記憶
部から、前記処理部が処理を行うために要する命令コー
ドを充填するキャッシュメモリ制御部とを備えたことを
特徴とするデータ処理装置。 - 【請求項2】 請求項1記載のデータ処理装置におい
て、 前記命令データ記憶部と前記命令コード記憶部とは、単
一の共用メモリに設けられていることを特徴とするデー
タ処理装置。 - 【請求項3】 請求項1記載のデータ処理装置におい
て、 前記プリデコード部は、 前記命令データ記憶部と前記処理部との間に設けられ、
命令データが前記命令データ記憶部から前記処理部に転
送される際に、当該命令データの高機能命令部をプリデ
コードするものであることを特徴とするデータ処理装
置。 - 【請求項4】 請求項1記載のデータ処理装置におい
て、 外部から供給される命令データおよび命令コードを受け
る外部インターフェイス部を備え、 前記プリデコード部は、 前記外部インターフェース部に設けられ、外部から供給
された命令データが前記命令データ記憶部に転送される
際に、当該命令データの高機能命令部をプリデコード
し、かつ、 プリデコード結果を基にして、前記命令データに係る処
理に必要な命令コード以外の命令コードが、前記命令コ
ード記憶部に転送されるのを阻止するものであることを
特徴とするデータ処理装置。 - 【請求項5】 請求項1記載のデータ処理装置におい
て、 前記処理部は、 処理が終了した命令データについて、その処理に要した
命令コードを表す処理済み情報を生成し、前記キャッシ
ュメモリ制御部に送信することを特徴とするデータ処理
装置。 - 【請求項6】 請求項1記載のデータ処理装置におい
て、 前記命令データは、グラフィックス処理用の描画データ
であることを特徴とするデータ処理装置。 - 【請求項7】 高機能命令部と被演算データ部とを一語
に含む命令データの処理を行うデータ処理装置であっ
て、 受けた命令データに従って、処理を行う処理部と、 前記処理部からアクセス可能であり、命令コードを記憶
するための命令キャッシュメモリとを備え、 前記処理部が処理を行う前に、その処理に係る命令デー
タについて、高機能命令部のプリデコードを行い、 プリデコード結果を基にして、前記命令キャッシュメモ
リに、前記処理部が処理を行うために要する命令コード
を充填することを特徴とするデータ処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001150388A JP3676257B2 (ja) | 2001-05-21 | 2001-05-21 | データ処理装置 |
US10/150,920 US20020174300A1 (en) | 2001-05-21 | 2002-05-21 | Data processor and data processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001150388A JP3676257B2 (ja) | 2001-05-21 | 2001-05-21 | データ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002342160A true JP2002342160A (ja) | 2002-11-29 |
JP3676257B2 JP3676257B2 (ja) | 2005-07-27 |
Family
ID=18995407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001150388A Expired - Fee Related JP3676257B2 (ja) | 2001-05-21 | 2001-05-21 | データ処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20020174300A1 (ja) |
JP (1) | JP3676257B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104036063A (zh) * | 2013-03-06 | 2014-09-10 | 大日本网屏制造株式会社 | 数据转换方法、描画系统及记录介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2957699B1 (fr) * | 2010-03-19 | 2012-04-20 | Raymond Delord | Systeme de traitement de donnees |
US9632787B2 (en) | 2012-10-23 | 2017-04-25 | Ca, Inc. | Data processing system with data characteristic based identification of corresponding instructions |
US20140164738A1 (en) * | 2012-12-07 | 2014-06-12 | Nvidia Corporation | Instruction categorization for runahead operation |
CN106293635B (zh) * | 2015-05-13 | 2018-10-30 | 华为技术有限公司 | 指令块处理方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0180578B1 (ko) * | 1994-06-07 | 1999-05-15 | 모리시다 요이치 | 데이터처리장치 |
US6081884A (en) * | 1998-01-05 | 2000-06-27 | Advanced Micro Devices, Inc. | Embedding two different instruction sets within a single long instruction word using predecode bits |
JP4275790B2 (ja) * | 1998-03-19 | 2009-06-10 | 富士通マイクロエレクトロニクス株式会社 | 図形選別ユニット及び図形描画装置 |
US6061786A (en) * | 1998-04-23 | 2000-05-09 | Advanced Micro Devices, Inc. | Processor configured to select a next fetch address by partially decoding a byte of a control transfer instruction |
US6175909B1 (en) * | 1999-02-02 | 2001-01-16 | Advanced Micro Devices, Inc. | Forwarding instruction byte blocks to parallel scanning units using instruction cache associated table storing scan block boundary information for faster alignment |
-
2001
- 2001-05-21 JP JP2001150388A patent/JP3676257B2/ja not_active Expired - Fee Related
-
2002
- 2002-05-21 US US10/150,920 patent/US20020174300A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104036063A (zh) * | 2013-03-06 | 2014-09-10 | 大日本网屏制造株式会社 | 数据转换方法、描画系统及记录介质 |
TWI505044B (zh) * | 2013-03-06 | 2015-10-21 | Screen Holdings Co Ltd | 資料轉換方法、繪圖系統及記錄媒體 |
Also Published As
Publication number | Publication date |
---|---|
JP3676257B2 (ja) | 2005-07-27 |
US20020174300A1 (en) | 2002-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3096431B2 (ja) | コンピュータシステム、グラフィックスプロセッサ、インストラクションプリフェッチユニットおよびオペコードインストラクションをプリフェッチする方法 | |
JPH10187533A (ja) | キャッシュシステム、プロセッサ及びプロセッサを動作させる方法 | |
EP0752645B1 (en) | Tunable software control of Harvard architecture cache memories using prefetch instructions | |
US20030229762A1 (en) | Apparatus, method, and system for synchronizing information prefetch between processors and memory controllers | |
US20050237330A1 (en) | Virtualization of graphics resources and thread blocking | |
JPH09128294A (ja) | 先取り命令を生成する方法とシステム | |
JPH07325761A (ja) | 仮想記憶システムに使用するための装置 | |
US20130238859A1 (en) | Cache with scratch pad memory structure and processor including the cache | |
JPS6356731A (ja) | デ−タ処理装置 | |
JP3841810B2 (ja) | データプロセッサ | |
JPH05233271A (ja) | データプロセッサ | |
JP2008532187A (ja) | 既知プロセッサ状態に基づいてキャッシュビットを選択的にイネーブルにするパワーセービング方法および装置 | |
JP3763579B2 (ja) | 命令読出を先に予測することにより、読出ミス待ち時間を低減するための装置および方法 | |
JPH06222992A (ja) | キャッシュシステムおよびキャッシュコントローラを制御するための方法 | |
JPH08221324A (ja) | キャッシュメモリへのアクセス | |
JP2002342160A (ja) | データ処理装置 | |
US7281118B2 (en) | Sending thread message generated using DCR command pointed message control block storing message and response memory address in multiprocessor | |
JP4748918B2 (ja) | 復号された情報を格納し且つ供給するキャッシュを有する装置及びそのように行う方法 | |
US7353337B2 (en) | Reducing cache effects of certain code pieces | |
JPH03156534A (ja) | マイクロプロセッサ | |
JPH1083349A (ja) | キャッシュ・メモリ・バンク制御装置 | |
KR102462578B1 (ko) | 주변장치 정보 프리페치를 이용한 인터럽트 제어기 및 이를 통한 인터럽트 처리 방법 | |
JP2000148478A (ja) | 中央処理装置及び中央処理システム | |
JP4631442B2 (ja) | プロセッサ | |
US7594103B1 (en) | Microprocessor and method of processing instructions for responding to interrupt condition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040909 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040928 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050105 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050302 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050404 |
|
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: 20050419 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050427 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |