JP2000267931A - ソフトウェア実行システム - Google Patents

ソフトウェア実行システム

Info

Publication number
JP2000267931A
JP2000267931A JP11070859A JP7085999A JP2000267931A JP 2000267931 A JP2000267931 A JP 2000267931A JP 11070859 A JP11070859 A JP 11070859A JP 7085999 A JP7085999 A JP 7085999A JP 2000267931 A JP2000267931 A JP 2000267931A
Authority
JP
Japan
Prior art keywords
software
instruction
cache
execution
data transfer
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
Application number
JP11070859A
Other languages
English (en)
Inventor
Yuichiro Matsuoka
雄一郎 松岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP11070859A priority Critical patent/JP2000267931A/ja
Publication of JP2000267931A publication Critical patent/JP2000267931A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 キャッシュメモリを有するプロセッサでソフ
トウェアを実行する際に、メモリキャッシュを有効に利
用し、メモリからのデータ転送を効率よく行い、プロセ
ッサにおける処理速度の向上を図る。 【解決手段】 本発明のソフトウェア実行方法は、キャ
ッシュメモリを有するプロセッサによってソフトウェア
101を実行するためのものであり、その概要は、予め
ソフトウェア101をシミュレーションし、D-cache2
01b又はI-cache201cへのキャッシュリフィルを
要するバスオペレーションが実行される命令箇所を検出
し、この実行箇所の前方にリフィル命令を挿入してソフ
トウェア101を修正し、このリフィル命令が挿入され
たリフィル命令付加ソフトウェア105に従ってソフト
ウェア実行装置106を動作させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、キャッシュメモリ
を持つプロセッサを用いたシステムのアーキテクチャの
分野と、そのようなシステム上で動作するプログラムを
最適化するCAD分野に関するものである。
【0002】
【従来の技術】一般的なプロセッサにおいては、演算処
理を行う演算ユニットと、メモリ等から読み込んだ命令
やデータを蓄えておくD-cacheやI-cashe等のキャッシュ
メモリを備えている。ソフトウェアの内容を演算処理す
る際に、メモリからのデータ転送を要する実行箇所を処
理する場合、演算ユニットは先ずキャッシュメモリに既
に読み込んだ命令やデータがあるかを検索する。キャッ
シュメモリ上に既に読み込んだ命令やデータがある場合
はこれらを利用し、なければキャッシュヒットミスが発
生し、これに応じてメモリからキャッシュメモリへのデ
ータ転送(キャッシュリフィル)を行う。
【0003】
【発明が解決しようとする課題】しかしながら、上述し
たように、従来のプロセッサにおけるキャッシュリフィ
ルは、キャッシュヒットミスが起こった場合に発生す
る。このキャッシュヒットミスが起こると、メモリへの
アクセスを行うバスオペレーションが実行されるが、こ
のバスオペレーションが実行された後、メモリからキャ
ッシュメモリへデータを読み込まれるまでの間パイプラ
インのストールが発生し、この間、プロセッサにおける
処理の実行が停止し、プロセッサの演算処理を遅延させ
る原因となっていた。
【0004】そこで、本発明は上記事情に鑑みて成され
たものであり、その目的は、キャッシュメモリを有する
プロセッサでソフトウェアを実行する際に、メモリキャ
ッシュを有効に利用し、メモリからのデータ転送を効率
よく行い、プロセッサにおける処理速度の向上を図るこ
とのできるソフトウェア実行システム、実行方法及び、
ソフトウェアの修正プログラムを記録したコンピュータ
読み取り可能な記録媒体を提供することにある。
【0005】
【課題を解決するための手段】上記の目的を達成するた
めに本発明は、キャッシュメモリを有するプロセッサに
よってソフトウェアを実行するシステムであって、前記
プロセッサから独立して動作し、前記キャッシュメモリ
に対してデータ転送を行わせるキャッシュメモリ制御手
段を備えるものである。
【0006】また、他の発明は、キャッシュメモリを有
するプロセッサによってソフトウェアを実行する方法で
あって、前記ソフトウェアを実行する際に、前記キャッ
シュメモリへのデータ転送を要する実行箇所の演算処理
を行う前に、且つ前記プロセッサが該データ転送を要す
る演算処理以外の演算処理を行っている間に、該データ
転送を行わせることを特徴とするものである。
【0007】さらに、他の発明は、ソフトウェアを実行
し、プロセッサのキャッシュメモリへのデータ転送を要
する実行箇所を検出するステップと、前記実行箇所の前
方に、前記データ転送を指示するリフィル命令を挿入す
るステップとを有することを特徴とするソフトウェア修
正プログラムを記録したコンピュータ読み取り可能な記
録媒体である。
【0008】これらの発明によれば、プロセッサ内にお
けるキャッシュメモリへのデータの転送をプロセッサの
動作とは別途独立して行うことによって、プロセッサが
バスオペレーション以外の内部演算命令を実行している
間に、前もって今後使われる予定の命令やデータをキャ
ッシュメモリに転送しておくことができる。この結果、
キャッシュリフィルの際にプロセッサが演算処理を停止
する頻度を低減することができ、演算処理の遅延を防止
し、処理速度の向上を図ることができる。
【0009】また、ソフトウェアの実行中におけるデー
タ転送のタイミングを、実行対象であるソフトウェアを
予め解析して取得し、この取得されたデータ転送のタイ
ミングに基づいてリフィル命令をソフトウェア内に挿入
するようにソフトウェアを修正することによって、最適
なキャッシュリフィルを実現することができ、より確実
にプロセッサの処理速度の向上を図ることができる。
【0010】さらに、本発明のソフトウェア修正プログ
ラムによれば、かかる修正ソフトウェアを簡便に生成す
ることができる。
【0011】
【発明の実施の形態】(ソフトウェア実行システムの内
容)以下、この発明に係るソフトウェア実行方法及び実
行システムの実施形態について説明する。図1は、本実
施形態に係るソフトウェア実行システム100の内容を
示すフロー図である。
【0012】本実施形態に係るソフトウェア実行方法
は、キャッシュメモリを有する一般的なプロセッサによ
ってソフトウェア101を実行するためのものであり、
その概要は、予めソフトウェア101をシミュレーショ
ンしD-cache201b又はI-cache201cへのキャッシ
ュリフィルを要するバスオペレーションが実行される命
令箇所を検出し、この実行箇所の前方にリフィル命令を
挿入してソフトウェア101を修正し、このリフィル命
令が挿入されたリフィル命令付加ソフトウェア105に
従ってソフトウェア実行装置106を動作させる。
【0013】図1においてソフトウェア101は、種々
の実行命令で構成される、所定のコンピュータ言語で作
成されたオリジナルのプログラムであり、本実施形態で
は、CPU、メモリ、I/Oデバイス等で構成されるシス
テム(ソフトウェア実行装置106)上で実行される。
また、シミュレータ102は、キャッシュを持つプロセ
ッサ、メモリ、I/Oデバイス等のコンピュータ上に仮想
的に構築されたモデルであり、ソフトウェア101の実
行をシミュレーションするものである。
【0014】命令トレース及びバス(バスオペレーショ
ン)情報103は、シミュレータ102によるシミュレ
ーションによって生成されるものである。すなわち、ソ
フトウェア実行時の命令の序列である命令トレース及び
バス情報103は、ソフトウェア101をシミュレーシ
ョンして算出される情報であり、キャッシュリフィルを
要する命令の実行番号(プログラムカウンタ)等を含む
ものである。
【0015】ソフトウェア修正装置104は、シミュレ
ータ102によって取得された命令トレース又はバス情
報103に基づいて、キャッシュヒットミスによるリー
ドオペレーションの発生を解析し、ソフトウェア101
内の適切な場所に前もってデータをメモリからキャッシ
ュに転送するためのリフィル命令を挿入してリフィル命
令付加ソフトウェア105を生成する。
【0016】また、ソフトウェア実行装置106は、リ
フィル命令付加ソフトウェア105を実行するためのハ
ードウェアである。
【0017】(ソフトウェア実行装置の構成)図2は、
ソフトウェア実行装置106の概略構成を示すブロック
図である。同図に示すように、このソフトウェア実行装
置106は、キャッシュメモリを持つプロセッサである
CPU201、メモリ202、バス203、I/Oデバイ
ス204といった一般的な装置に加えて、メモリ202
とキャッシュ間の転送をCPUとは独立に制御するキャ
ッシュメモリ制御装置(Memory-Cache Direct Access C
ontroller)205を含んでいる。
【0018】CPU201は、演算処理を行うCPUCo
re201aと、CPUCore201aにおける実行命令を
記憶するI-cache201cと、演算処理に要するデータ
を記憶するD-cache201bとを備えるものである。
【0019】また、メモリ202は、バス203によっ
てCPU201やキャッシュメモリ制御装置205等と
接続されるものであり、CPU201で行われる演算処
理のための実行命令の序列であるソフトウェア101や
演算処理に要するデータ等を記憶するものである。この
メモリ202は、本実施形態では、CPU201からの
リードオペレーションの他、キャッシュメモリ制御装置
205によるリードオペレーションによってもデータの
読み出し又は書き込みを行う。
【0020】図3は、キャッシュメモリ制御装置205
の内部構造を示すものである。このキャッシュメモリ制
御装置205は、本実施形態では、メモリ202と、D-
cache201又はI-cache201cとの間におけるバスオ
ペレーションを行うバスオペレーション実行装置301
と、転送するデータのアドレスを保持する転送アドレス
レジスタ302と、このキャッシュメモリ制御装置20
5全体を制御するコントロールレジスタ303と、他の
バスマスターとの間でバス権の獲得を処理するバス権制
御装置304とから構成される。
【0021】そして、このキャッシュメモリ制御装置2
05は、図2に示すように、メモリ202とCPU20
1との間で、従来のDMAコントローラのように、CP
U201の動作とは独立してバスオペレーションを実行
する。ただし、DMAがメモリとメモリ間、メモリとI/
O間の転送を行うのに対して、このキャッシュメモリ制
御装置205は、メモリとキャッシュ間、又はI/Oとキ
ャッシュ間の転送を行う。
【0022】このキャッシュメモリ制御装置205の具
体的な作用としては、CPU201が、D-cache201
b又はI-cache201cへのデータ転送を要求するリフ
ィル命令によって、コントロールレジスタ303に制御
コードを書き込むと、このキャッシュメモリ制御装置2
05は制御コードをデコードして、転送アドレスを獲得
する。また、バスオペレーションの実行を開始し、メモ
リ202上の指定されたアドレスのメモリデータをD-ca
che201b又はI-cache201cに転送する。このと
き、転送するデータは複数でもよく、あるアドレスから
何ワードというような指定をすることによって任意のワ
ード数を転送することができる。
【0023】前記バス権制御装置304は、ソフトウェ
ア実行装置106のシステム上におけるバス権に関する
制御を行うものであり、具体的には、メモリ転送の際に
必要なバス権の獲得を行うものである。なお、このバス
権制御装置304は、D-cache201b又はI-cache20
1cへのデータ転送中にCPU201或いはDMA(図
示せず)がバス権を要求している場合は、D-cache20
1b又はI-cache201cへの転送を一時停止し、再度
バス権を要求し直す。このバス権制御装置304のバス
権獲得の優先度は低く、他のバスマスターがバスを利用
しないときに、バス権が獲得され、キャッシュへのデー
タ転送を開始する。
【0024】(ソフトウェア修正装置の構成)上述した
ソフトウェア修正装置104の構成及び動作について説
明する。このソフトウェア修正装置104は、図4〜図
7に示すオリジナルのソフトウェア101にリフィル命
令を付加することによって修正し、リフィル命令付加ソ
フトウェア105を生成するものである。なお、本実施
形態では、このソフトウェア修正装置104は、パーソ
ナルコンピュータ等の一般のコンピュータで後述するソ
フトウェア修正プログラムを実行することにより実現さ
れる。
【0025】(第1のソフトウェア修正プログラムの内
容)図4は、オリジナルのソフトウェア101の内容を
示すものであり、また、図5は、このソフトウェア10
1を、キャッシュメモリ制御装置205を持たない従来
のシステムのモデル上でシミュレーションして生成され
る命令トレースとバス情報を示している。
【0026】図6は、命令トレースとバス情報を表すデ
ータ構造である。このデータ構造では、1サイクルに対
して1つを作成し、持つべき情報としては、命令が実行
されたサイクル、命令のアドレス、命令の種類、バスオ
ペレーションの種類、バスオペレーションが命令フェッ
チかデータのロードかを示すフラグ等である。また、ポ
インターを持ち、リスト形式で、一連の命令、バスオペ
レーションの情報を表す。なお、図7は、図5に示した
命令トレースとバス情報を、図6のデータ構造で表した
図である。
【0027】ここで、図4に示すように、本実施形態に
係るオリジナルのソフトウェア101では、命令6にLo
ad命令(lw)が存在し、それ以前に指定のアドレスのデ
ータはロードされていないことを想定している。そし
て、ソフトウェア101では、6サイクル目にLoad命令
が実行されるが、その命令以前にデータをロードしてい
ないため、図5に示すように、キャッシュヒットミスが
発生する。そして、このキャッシュヒットミスに伴って
メモリ202からデータを読み込むためのリードオペレ
ーションが実行される。この間プロセッサのパイプライ
ンはストールを起こす。
【0028】図8は、本実施形態に係る第1のソフトウ
ェア修正プログラム1000の内容を示すフローチャー
ト図である。この第1のソフトウェア修正プログラム1
000は、D-cache201bへのリードオペレーション
を検出し、このリードオペレーションよりも前方にリフ
ィル命令を挿入する処理を行う。
【0029】具体的には、この第1のソフトウェア修正
プログラム1000では、図4及び図5に示すオリジナ
ルのソフトウェア101を実行する際に生じるデータキ
ャッシュのヒットミスによるデータのリードオペレーシ
ョンを検索して、それより前方にリフィル命令を挿入す
る処理を行う。
【0030】図8に示すように、先ず、現在の要素C1,
C2を先頭の要素とし初期化を行う(step1001)。す
なわち、本実施形態では、C2を検索の開始点として固定
し、要素C1を順次移動させ、移動位置においてリードオ
ペレーションを検出する。
【0031】次に、要素C1が最終サイクルかどうかを調
べる(step1002)。C1が最終サイクルでな場合は、
C1のバスオペレーションがデータのリードオペレーショ
ンかどうかを調べる。C1のバスオペレーションがデータ
のリードオペレーションでない場合は、C1を次の要素に
進める(step1008)。
【0032】このstep1002,1003,1008の
処理をC1のバスオペレーションがリードオペレーション
であるところまで、繰り返し実行する。これによりリー
ドオペレーションが存在する実行箇所まで要素C1を移動
させる。そして、C1のバスオペレーションがリードオペ
レーションである場合は(step1003)、C2の前にリ
フィル命令を挿入する(step1004)。次に、C1を現
在のリードオペレーションが終了するまで進める(step
1005,step1006)。
【0033】C1が現在のリードオペレーションを抜ける
と、C2を現在のC1まで進める。すなわち、C2固定を解除
し、検索が終了した箇所へC2を移動させ、そこを次の検
索処理の開始点とする。そして、次の検索処理において
リードオペレーションが発見された場合には、この移動
後C2の位置すなわち次検索の開始点に、次の検索処理に
おけるリフィル命令が挿入されることとなる。
【0034】このC2の移動に伴って、step1002に戻
り、再びリードオペレーションを探してリフィル命令を
挿入していく。step1002でリードオペレーションが
見つからずに最終サイクルに到達した場合は、このフロ
ーチャート処理を終了する。
【0035】図9は、オリジナルのソフトウェア101
を修正した後の、リフィル命令付加ソフトウェア105
である。同図にも示すようにLoad命令が実行される前
に、データFをキャッシュに取り込むためのRefil命令
が挿入されている。また、図10は、この修正したリフ
ィル命令付加ソフトウェア105を実行したときの命令
トレースとバス情報を示している。同図に示すように、
Refil命令によりReadオペレーションが実行されている
が、データFはAddでは利用されないため、パイプライ
ンはストールを起こさず実行を継続する。そして、7サ
イクル目にLoad命令が実行されるときには、データFは
キャッシュに転送されており、キャッシュがヒットする
ためパイプラインはストールを起こさずに、以後の命令
を実行することができる。
【0036】(第2のソフトウェア修正プログラムの内
容)次に、本実施形態に係る第2のソフトウェア修正プ
ログラムの内容について説明する。この第2のソフトウ
ェア修正プログラムは、命令フェッチにおけるI-cache
201cのヒットミスに関して、前もってリフィル命令
を挿入するものである。
【0037】なお、この第2のソフトウェア修正プログ
ラムでは、分岐命令/ジャンプ命令までを1つの命令群
として考え、各命令群を探して、命令群の最初にその命
令群全体をキャッシュにリフィルさせるようなリフィル
命令を挿入する処理を行う。図11は、リフィル命令付
加処理を行う前のオリジナルのソフトウェア101であ
る。同図において、beq命令は分岐命令であり、分岐命
令・ジャンプ命令で区切られる1201,1202,1
203の部分が各命令群である。図12は、リフィル命
令付加処理を行って修正されたリフィル命令付加プログ
ラム105である。同図に示すように、修正後のリフィ
ル命令付加ソフトウェア105には、分岐命令で区切ら
れる1201,1202,1203の各命令群の最初に
リフィル命令が挿入されている。
【0038】図13は、このようなリフィル命令の挿入
を行う第2のソフトウェア修正プログラム1100の内
容を示すフローチャート図である。同図に示すように、
先ず、現在の要素C1,C2を先頭の要素とする。すなわ
ち、C2を検索の開始点として固定し、要素C1を順次移動
させ、移動位置において分岐命令若しくはジャンプ命令
等を検出する。なお、本実施形態では、一度リフィル命
令を挿入した命令群に2度挿入しないように、命令挿入
済みのアドレスのリストを用意し、最初は無登録の状態
にしておく(step1101)。
【0039】次に、C1の位置が分岐命令かジャンプ命
令、又はC1が最後の命令かどうかを調べる(step110
2)。C1が分岐命令かジャンプ命令ではなく、最後の命
令でもない場合は、step1102に戻り、C1を次の要素
に進める。C1の命令か分岐命令かジャンプ命令、又はC1
が最後の命令である場合は、C2のアドレスが命令挿入済
みアドレスリストに登録されていないかどうかを調べる
(step1104)。命令挿入済みのアドレスリストに登
録されていない場合は、C2の前にリフィル命令を挿入す
る(step1105)。
【0040】次に、C2とC1のドレスをアドレスリストに
登録する(step1106)。この2つのアドレスを登録
することで、C2からC1までの命令群に対してリフィル命
令が挿入済みであることを示している。アドレスを登録
すると、次に、C2をC1に進める(step1107)。次
に、C1が最終サイクルであるかどうかを調べて(step1
108)、採集サイクルでない場合は、step1102に
戻り、再び命令群を探してリフィル命令を挿入する処理
をくり返す。step1108でC1が最終サイクルであった
場合、このフローチャートの処理を終了する。
【0041】このような上記第2のソフトウェア修正プ
ログラム1100によれば、特にリフィル命令挿入済み
のリストに登録されている場合に、その命令群は、ルー
プ処理の命令群とみなして、リフィル命令を削除すると
いう処理を加えることで、ループ処理の命令群に関して
はリフィル命令を挿入しないような、ソフトウェアの修
正も容易に実現できる。これにより、ソフトウェア10
1のループ処理にあたる命令群における分岐命令やジャ
ンプ命令等が繰り返し検出されて何度もリフィル命令が
付加されるのを防止することができ、リフィルが過度に
行われるのを回避することができる。
【0042】(効果)このようにして修正されたリフィ
ル命令付加ソフトウェア105は、上述したソフトウェ
ア実行システム100上において実行されることで、オ
リジナルのソフトウェア101をそのまま実行した場合
と比較して、その処理速度を向上させることができる。
【0043】すなわち、修正後のリフィル命令付加ソフ
トウェア105には、今後使われる予定の命令やデータ
をメモリ202から予めロードするリフィル命令が記述
されているため、CPU201がバスオペレーション以
外の演算処理をしている間に、キャッシュメモリ制御装
置205を用いて、CPU201のD-cache201bやI
-cache201cに必要なデータを転送しておくことがで
きる。従って、このような本実施形態に係るソフトウェ
ア実行システム100によれば、キャッシュを持つプロ
セッサ、メモリ、I/Oデバイスからなるシステムにおい
て、ソフトウェアの実行を高速化することができる。
【0044】(ソフトウェア修正プログラムを記録した
コンピュータ読取り可能な記録媒体)なお、上述した第
1、第2のソフトウェア修正プログラム1000,11
00は、図14に示すような、汎用コンピュータ15で
読み取り可能な記録媒体16〜19に記録することがで
きる。具体的には、同図に示すような、フロッピーディ
スク16やカセットテープ19等の磁気記録媒体、若し
くはCD−ROM17等の光ディスクの他、RAMカー
ド18などのコンピュータで読み取り可能な記録媒体に
記録することができる。
【0045】このようなソフトウェア修正プログラムを
記録したコンピュータ読み取り可能な記録媒体によれ
ば、ソフトウェアの実行処理速度を高速化することがで
きるという有用なプログラムの保存、運搬及びインスト
ールを容易に行うことができる。
【0046】
【発明の効果】本発明に係るソフトウェア実行システ
ム、実行方法及びソフトウェア修正プログラムを記録し
たコンピュータ読み取り可能な記録媒体によれば、キャ
ッシュメモリを有するプロセッサでソフトウェアを実行
する際に、メモリキャッシュを有効に利用し、メモリか
らのデータ転送を効率よく行い、プロセッサにおける処
理速度の向上を図ることができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係るソフトウェア実行シス
テムの概略構成を示す図である。
【図2】本発明の実施形態に係るソフトウェア実行装置
の概略構成を示すブロック図である。
【図3】本発明の実施形態に係るキャッシュメモリ制御
装置の概略構成を示すブロック図である。
【図4】本発明の実施形態において修正される前のオリ
ジナルのソフトウェアの内容を示す図である。
【図5】図4に示す修正前のソフトウェアをシミュレー
ションした場合の命令トレースとバス情報を示す図であ
る。
【図6】修正前のソフトウェアの命令トレースとバス情
報を表すデータ構造を示す図である。
【図7】修正前のソフトウェアの命令トレースとバス情
報を表すデータ構造を示す図である。
【図8】本実施形態に係る第1のソフトウェア修正プロ
グラムのフローチャート図である。
【図9】本発明の実施形態において修正された後のリフ
ィル命令付加ソフトウェアの内容を示す図である。
【図10】図9に示す修正後のリフィル命令付加ソフト
ウェアをシミュレーションした場合の命令トレースとバ
ス情報を示す図である。
【図11】本発明の実施形態において修正される前のオ
リジナルのソフトウェアの内容を示す図である。
【図12】本発明の実施形態において修正された後のリ
フィル命令付加ソフトウェアの内容を示す図である。
【図13】本実施形態に係る第2のソフトウェア修正プ
ログラムのフローチャート図である。
【図14】本発明の実施形態に係るソフトウェア修正プ
ログラムを記録したコンピュータ読み取り可能な記録媒
体を示す斜視図である。
【符号の説明】
100…ソフトウェア実行システム、101…ソフトウ
ェア、102…シミュレータ、103…命令トレース,
バス情報、104…ソフトウェア修正装置、105…リ
フィル命令付加ソフトウェア、106…ソフトウェア実
行装置

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 キャッシュメモリを有するプロセッサに
    よってソフトウェアを実行するシステムであって、 前記プロセッサから独立して動作し、前記キャッシュメ
    モリに対してデータ転送を行わせるキャッシュメモリ制
    御手段を備えることを特徴とするソフトウェア実行シス
    テム。
  2. 【請求項2】 請求項1に記載のソフトウェア実行シス
    テムにおいて、前記キャッシュメモリ制御手段は、実行
    される前記ソフトウェア内に記述され前記データ転送を
    指示するリフィル命令に従って、該データの転送を行う
    ものであることを特徴とするソフトウェア実行システ
    ム。
  3. 【請求項3】 キャッシュメモリを有するプロセッサに
    よってソフトウェアを実行する方法であって、 前記ソフトウェアを実行する際に、前記キャッシュメモ
    リへのデータ転送を要する実行箇所の演算処理を行う前
    に、且つ前記プロセッサが該データ転送を要する演算処
    理以外の演算処理を行っている間に、該データ転送を行
    わせることを特徴とするソフトウェア実行方法。
  4. 【請求項4】 請求項3に記載されたソフトウェアの実
    行方法において、 予め前記ソフトウェアを実行し、キャッシュメモリにデ
    ータ転送を要する実行箇所を検出し、 前記データ転送を指示するリフィル命令を前記実行箇所
    の前方に挿入して前記ソフトウェアを修正し、 挿入された前記リフィル命令に従って、前記データ転送
    を行わせることを特徴とするソフトウェア実行方法。
  5. 【請求項5】 ソフトウェアを実行し、プロセッサのキ
    ャッシュメモリへのデータ転送を要する実行箇所を検出
    するステップと、 前記実行箇所の前方に、前記データ転送を指示するリフ
    ィル命令を挿入するステップとを有することを特徴とす
    るソフトウェア修正プログラムを記録したコンピュータ
    読み取り可能な記録媒体。
  6. 【請求項6】 請求項5に記載されたソフトウェア修正
    プログラムを記録したコンピュータ読み取り可能な記録
    媒体において、前記リフィル命令は、前記プロセッサが
    前記キャッシュメモリへのデータ転送を要する実行箇所
    の演算処理を行う前に、且つ前記プロセッサが該データ
    転送を要する演算処理以外の演算処理を行っている間
    に、該データ転送を行わせるものであることを特徴とす
    るソフトウェア修正プログラムを記録したコンピュータ
    読み取り可能な記録媒体。
JP11070859A 1999-03-16 1999-03-16 ソフトウェア実行システム Pending JP2000267931A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11070859A JP2000267931A (ja) 1999-03-16 1999-03-16 ソフトウェア実行システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11070859A JP2000267931A (ja) 1999-03-16 1999-03-16 ソフトウェア実行システム

Publications (1)

Publication Number Publication Date
JP2000267931A true JP2000267931A (ja) 2000-09-29

Family

ID=13443721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11070859A Pending JP2000267931A (ja) 1999-03-16 1999-03-16 ソフトウェア実行システム

Country Status (1)

Country Link
JP (1) JP2000267931A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007249914A (ja) * 2006-03-20 2007-09-27 Nec Corp データロード方法及びデータ処理装置
KR100917491B1 (ko) * 2001-02-21 2009-09-16 가부시키가이샤 한도다이 리코가쿠 겐큐 센터 캐시 메모리 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100917491B1 (ko) * 2001-02-21 2009-09-16 가부시키가이샤 한도다이 리코가쿠 겐큐 센터 캐시 메모리 시스템
JP2007249914A (ja) * 2006-03-20 2007-09-27 Nec Corp データロード方法及びデータ処理装置

Similar Documents

Publication Publication Date Title
CN101256502A (zh) 模拟多处理器系统的系统和方法
JP3570855B2 (ja) 分岐予測装置
JP2007042134A (ja) マルチプロセッサ・メモリ整合性の効率のよいエミュレーションのための方法
US10180799B2 (en) Efficient retrieval of memory values during trace replay
JP2000267931A (ja) ソフトウェア実行システム
JP4243463B2 (ja) 命令スケジューリングのシミュレーション方法とシミュレーションシステム
EP4505292B1 (en) Technique for handling ordering constrained access operations
JP2012150634A (ja) ベクトル命令制御回路及びリストベクトルの追い越し制御方法
JPH11238001A (ja) プロセッサのシミュレータ及びシミュレーション方法
JPH10320212A (ja) キャッシュ向け最適化方法
JP2001306334A (ja) エミュレーション装置
CN100533404C (zh) 加快从计算机下载数据到单片机目标存储器的方法及系统
JP4701611B2 (ja) 動的変換方式のエミュレータ向けメモリ管理方法
JPH06230963A (ja) メモリアクセス制御装置
JP3461185B2 (ja) ロードモジュールへのソースコード行番号登録方法および装置
JP2526728B2 (ja) ディスクキャッシュ自動利用方式
JP3324542B2 (ja) 仮想マシン
JPH10187484A (ja) シミュレータ
JP2000267901A (ja) ソフトウェア実行システム
JPH0651982A (ja) 演算処理装置
JPH06149569A (ja) レジスタ番号変更装置
JP2008191824A (ja) プリフェッチ方法、及びキャッシュ機構用ユニット
JP2001290857A (ja) タイミングシミュレータ
JPH1166037A (ja) シミュレータ
JP3110391B2 (ja) プログラム再実行方法