JP2007200240A - 情報処理装置及び情報処理方法 - Google Patents

情報処理装置及び情報処理方法 Download PDF

Info

Publication number
JP2007200240A
JP2007200240A JP2006021086A JP2006021086A JP2007200240A JP 2007200240 A JP2007200240 A JP 2007200240A JP 2006021086 A JP2006021086 A JP 2006021086A JP 2006021086 A JP2006021086 A JP 2006021086A JP 2007200240 A JP2007200240 A JP 2007200240A
Authority
JP
Japan
Prior art keywords
symbol
source program
weighting factor
information processing
coefficient
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
JP2006021086A
Other languages
English (en)
Inventor
Takayuki Miyake
崇之 三宅
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.)
Kyocera Corp
Original Assignee
Kyocera 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 Kyocera Corp filed Critical Kyocera Corp
Priority to JP2006021086A priority Critical patent/JP2007200240A/ja
Publication of JP2007200240A publication Critical patent/JP2007200240A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

【課題】ソースプログラム内のシンボルの実行頻度を解析する情報処理装置を提供する。
【解決手段】ソースファイルからソースプログラムのコードを読み込む入力手段と、ソースプログラムのコードの条件判断による分岐処理に基づいて、ソースプログラム中に含まれるシンボルの重み係数を求めるシンボル解析手段と、重み係数を出力する出力手段と、出力手段により出力される重み係数に基づいて、シンボルをメモリへ配置するシンボル配置手段とを備える。
【選択図】図1

Description

本発明は、ソースプログラム内のシンボルの実行頻度を解析する情報処理装置及び情報処理方法に関する。
コンピュータは、図10に示すように、プログラムされた命令コードに従って処理を実行するCPUと、プログラム本体が格納されているメモリ領域であるメインメモリと、CPUが処理した結果の出力、メインメモリ内に存在しないデータを外部から取得するための入出力機器とが、バスによって接続された構成になっているが、近年のCPUには、内部にキャッシュメモリを搭載しているものも多くある。キャッシュメモリにはメインメモリ内に格納されている命令コードのうち、頻繁に実行されている命令コードの一部が格納されるため、動作の遅いメインメモリヘのアクセス回数を減らすことができ、処理の高速化、消費電力の低減などが期待できる。
しかし、プログラムをコンパイルしてリンクすることにより生成された実行ファイルをメインメモリ上に展開した場合、頻繁に実行される命令コードが局所的に集中している可能性がある。このような状態の場合、頻繁に実行される命令コードをキャシュメモリ上にコピーしたり、またはその逆の処理が頻繁に発生するという状態(スラッシング)が発生することになる。スラッシングが多発した場合、高速にアクセスすることができるキャッシュメモリ内の命令コードを効率良く利用できないため、動作の遅いメインメモリにアクセスする回数が増加してしまい、結果的に動作速度は低下するとともに、メインメモリにアクセスする際にバスを経由するため、その分消費電流も増加することになる。
このような問題を解決するために、ソースコードを静的解析し、命令コードの実行頻度を算出して、各シンボルがループ文にどのように含まれているのかを抽出し、ループの重複回数とループ回数を乗算することによりシンボルの実行頻度を算出して、配置決めを行うプログラムリンクシステムが知られている(例えば、特許文献1参照)。
特開2000−056983号公報
ところで、キャッシュメモリの管理方法として、4WAYアソシアティブマッピングを用いたキャッシュメモリの管理方法が知られている。4WAYアソシアティブマッピングは、メモリ空間を4分割し、キャッシュメモリとメインメモリ間のフルアソシアティブマッピングを行うために用いられる手法であり、分割された各ブロックはキャッシュメモリとメインメモリ間で関連付けられており、メインメモリのブロックM1の領域に存在している命令コードが利用することができるキャッシュメモリ空間はブロックC1となり、同様に、ブロックM2とブロックC2、ブロックM3とブロックC3、ブロックM4とブロックC4が対応関係になっている(図9参照)。したがって、キャッシュメモリの有効活用という点では、頻繁に実行される命令コードが各ブロックに均等に分散して配置されるようにロードモジュールが生成されることが最も望ましい。
しかしながら、携帯端末装置等の情報機器内に組み込れるプログラムにおいては、タスクの優先度による実行処理やタイマを用いた実行処理も多く用いられていることから、特許文献1のプログラムリンクシステムのように、多重ループの中に含まれているシンボル(関数)が必ずしも実行頻度の高いシンボルであるとは限らないため、ループ回数だけを用いて、シンボルの実行頻度を求めてシンボルの配置を決定したのではキャッシュメモリを有効活用することができる配置にすることはできないという問題がある。
本発明は、このような事情に鑑みてなされたもので、ソースプログラム内のシンボルの実行頻度を解析する情報処理装置及び情報処理方法を提供することを目的とする。
本発明は、ソースファイルからソースプログラムのコードを読み込む入力手段と、前記ソースプログラムのコードの条件判断による分岐処理に基づいて、前記ソースプログラム中に含まれるシンボルの重み係数を求めるシンボル解析手段と、前記重み係数を出力する出力手段と、前記出力手段により出力される重み係数に基づいて、前記シンボルをメモリへ配置するシンボル配置手段とを備えたことを特徴とする。
本発明は、前記メモリは、分割されていて、前記シンボル配置手段は、前記重み係数に基づいて前記シンボル毎に順位付けを行い、当該順位に基づいて、前記シンボルを前記分割された各メモリに配置していくようにすることを特徴とする。
本発明は、前記順位付けは、各シンボルの実行頻度に基づくことを特徴とする。
本発明は、前記シンボル解析手段は、前記ソースプログラムコードの条件判断による分岐処理の数に応じて所定の係数を前記重み係数に対して乗算するようにすることを特徴とする。
本発明は、前記シンボル解析手段は、前記シンボルが繰り返し処理の対象である場合は、繰り返し回数に応じて所定の係数を前記重み係数に対して乗算するようにすることを特徴とする。
本発明は、前記シンボル解析手段は、前記シンボルが前記ソースプログラム中において出現する度に前記重み係数を求め、求めた重み係数の合計値を該シンボルの重み係数とすることを特徴とする。
本発明は、ソースプログラムからソースプログラムのコードを読み込むステップと、前記ソースプログラムコードの条件判断による分岐処理に基づいて、前記ソースプログラム中に含まれるシンボルの重み係数を求めるステップと、前記重み係数に基づいて、前記シンボルをメモリに配置するステップとを具備することを特徴とする。
本発明によれば、プログラムを構成するソースコードから実行ファイル作成時に必要となるシンボル(関数、変数)を抽出し、抽出したシンボルに対して、実行条件(IF文)、繰り返し実行回数(FOR文、WHILE文)に基づいて、各シンボルに対して重み付けに基づいて各シンボルの実行頻度を解析することが可能となる。また、この重み係数に基づいてシンボルの配置位置を決定するようにしたため、キャッシュメモリの全領域を有効利用することができ、プログラムの動作速度の高速化を図ることができるとともに、省電力化を図ることが可能になるという効果が得られる。
以下、本発明の一実施形態による情報処理装置を図面を参照して説明する。図1は同実施形態の構成を示すブロック図である。この図において、符号1は、ソースプログラムに基づいて、実行可能なロードモジュールを生成するロードモジュール生成部である。符号2は、キーボードから構成する入力部である。符号3は、ディスプレイ装置から構成する表示部である。符号4は、ソースプログラムが記憶されたソースファイルである。符号5は、ソースプログラム中に含まれるシンボルの実行頻度に応じた重み係数を記憶する重み係数記憶部である。符号6は、ロードモジュールを生成する際にリンクするべきオブジェクトデータが予め記憶されたライブラリである。符号7は、ロードモジュール生成部1が生成したロードモジュールを記憶するロードモジュール記憶部である。
符号11は、ソースファイルに記憶されているソースプログラムのコードを解析して、ソースプログラム中に含まれるシンボル(関数等)の実行頻度に応じた重み係数を算出し、シンボル毎の重み係数を重み係数記憶部5へ記憶するシンボル解析部である。シンボル解析部11の解析対象であるシンボルとは、関数や変数など特定のアドレスに配置されている命令コード群のことである。符号12は、ソースファイルに記憶されているソースプログラムをコンパイルしてオブジェクトデータを出力するコンパイラである。符号13は、コンパイラ12が出力するオブジェクトデータからロードモジュールを生成するために、重み係数記憶部5に記憶されているシンボル毎の重み係数を参照して、シンボルのリンク処理を実行することによりロードモジュールを生成し、生成したロードモジュールをロードモジュール記憶部7へ記憶するリンカである。
次に、図2を参照して、図1に示すロードモジュール生成部1がロードモジュールを生成する動作を説明する。まず、入力部2からロードモジュール生成の指示がなされると、コンパイラ12は、ソースファイル4に記憶されているソースプログラムを読み込んで、コンパイルを実行する(ステップS1)。これにより、ソースプログラムのオブジェクトデータが生成されることになる。一方、シンボル解析部11は、ソースファイル4に記憶されているソースプログラムを読み込んで、プログラム中に含まれるシンボルの解析を実行し、各シンボル毎の重み係数を算出する(ステップS2)。シンボル解析部11は、各シンボル毎の重み係数の大きい順にシンボル名をソートして、シンボル名と重み係数を関係付けて重み係数記憶部5に記憶する(ステップS3)。
次に、リンカ13は、コンパイラ12が出力するオブジェクトデータと、ライブラリ6に記憶されているライブラリデータと、重み係数記憶部5に記憶されている各シンボル毎の重み係数に基づいて、各シンボルの配置位置(アドレス)を決定して、ロードモジュールを生成するリンク処理を実行する(ステップS4)。そして、リンカ13は、生成したロードモジュールをロードモジュール記憶部7へ記憶する(ステップS5)。
次に、図3を参照して、図1に示すシンボル解析部11が図2に示す重み係数を算出する処理(ステップS2)を実行する際の詳細な動作を説明する。ここでは、ソースプログラムが、C言語によって記述されているものとして説明する。また、以下の説明において、ループ文とは、for文、while文等の繰り返し処理を行う構文のことである。また、IF文とは、条件判断を行って処理の分岐を行う構文のことである。また「←」は代入を意味している。
まず、シンボル解析部11は、ループ係数とIF係数に「1」をセットする(ステップS11)。そして、シンボル解析部11は、ソースファイル4から1行分(1ステートメント分)のソースコードを読み出し、読み出したソースコードがループ文またはIF文の開始を示す構文であるか否かを判定する(ステップS12、S13)。そして、構文がIF文の開始を示す構文であれば、IF係数に0.5(ここでは、2分岐の場合、分岐先の実行確率が2分の1になるので0.5としている)を乗算して(IF係数←IF係数×0.5)、新たなIF係数とする(ステップS14)。また、ループ文の開始を示す構文であれば、ループ文の構文に基づいてループ回数を取得し(ステップS15)、ループ係数にループ回数を乗算して(ループ係数←ループ係数×ループ回数)、新たなループ係数とする(ステップS16)。
一方、ステップS12において、読み出したソースコードがループ文またはIF文の開始を示す構文でない場合、シンボル解析部11は、読み出したソースコードがループ文またはIF文の終了を示す構文であるか否かを判定する(ステップS17、S18)。そして、構文がIF文の終了を示す構文であれば、IF係数を0.5で除算し(IF係数←IF係数/0.5)、新たなIF係数とする(ステップS19)。また、ループ文の終了を示す構文であれば、ループ係数をループ回数で除算して(ループ係数←ループ係数/ループ回数)、新たなループ係数とする(ステップS20)。
次に、ステップS17において、読み出したソースコードがループ文またはIF文の終了を示す構文でない場合(ループ文またはIF文の開始文でも終了文でもない場合)、シンボル解析部11は、読み出した構文がシンボルであるか否かを判定する(ステップS21)。この判定の結果、シンボルであった場合、シンボル解析部11は、検出されたシンボルの重み係数に対して、現時点のIF係数及びループ係数を乗算してシンボル毎の累積される重み係数とする(シンボル毎に累積される重み係数←シンボル毎に累積される重み係数+IF係数×ループ係数)。シンボル解析部11は、この処理(ステップS11〜S22)をソースファイル4の終了まで繰り返し実行する(ステップS23)ことにより各シンボル毎の重み係数が累積され算出されることになる。
ここで、図4〜図8を参照して、具体例を使用してシンボル解析部11及びリンカ13の処理結果を説明する。図4は、図1に示すソースファイル4に記憶されているソースプログラムの一例を示す図である。図5は、図4に示すソースプログラムをフローチャートで表現した図である。図4、図5において、処理AとシンボルAが対応し、同様に処理B、C、D、E、F、Gは、シンボルB、C、D、E、F、Gに対応する。
図6は、図4、5に示すソースプログラムを、図3に示す解析処理によってシンボルA〜Gの重み係数を計算した結果を示す図である。この図に示すように、図4に示すソースプログラムを図3に示す解析処理によって各シンボルの重み係数を算出すると、シンボルA=75、シンボルB=37.5、シンボルC=25、シンボルD=12.5、シンボルE=62.5、シンボルF=31.25、シンボルG=12.5となる。この重み係数に基づいて、重み係数が大きい順となるように、ソートすると、図7に示すように、シンボルG、A、E、B、F、C、Dの順となる。図7には、参考としてループ処理のみによって重み係数を求めた結果を示す。ループ処理のみによって重み係数を求めた場合、図7に示すように、シンボルE、Fは上位となるが、ループ処理(ループ文)と条件判断(IF文)によって重み係数を求めた場合は、シンボルG、Aが上位となり、結果が異なることが分かる。
次に、図8を参照して、リンカ13が順位付けされた各シンボルをロードモジュール上で分散して配置されるように配置位置を決定する動作を説明する。ここでは、ロードモジュールを4つのブロック(空間:ブロック1、2、3、4)に分けて配置する場合の3つの例について説明する。シンボル配置例Aは、重み係数の大きさ順にブロック1から4へシンボルを配置するもので、具体的には、順位1をブロック1に配置し、以降順に順位2をブロック2、順位3をブロック3、順位4をブロック4へ配置し、以降同様に順位5をブロック1、・・・、順位8をブロック4へというように配置するものである。また、シンボル配置例Bは、シンボル配置例Aの変更例で、順位1をブロック1に配置し、以降順に順位2をブロック2、順位3をブロック3、順位4をブロック4へ配置し、順位5をブロック4、順位6をブロック3、順位7をブロック2、順位8をブロック1に配置し、以降同様に、順位9をブロック1、・・・、順位12をブロック4へいうように配置するものである。また、シンボル配置例Cは、重み係数順位の順に配置することを基本としながら、シンボル配置後の残りブロックサイズを考慮して配置するものである。
このように、シンボル毎に実行頻度の順位付けを行い、この順位付けに基づき、実行頻度が高いと予測される各シンボルを分散してロードモジュール上で配置するようにしたため、キャッシュメモリを有効に活用することが可能となり、実行処理速度高速化及び省電力化を実現することがができる。
なお、IF文(条件判断)に基づく処理がタイマを使用した処理である場合やWait処理の場合には、通常のIF文より小さな係数を乗算するようにしてもよい。
以上説明したように、プログラムを構成するソースコードから実行ファイル作成時に必要となるシンボル(関数、変数)を抽出し、抽出したシンボルに対して、実行条件(IF文)、繰り返し実行回数(FOR文、WHILE文)に基づいて、各シンボルに対して重み付けを行い、この重み係数に基づいてシンボルの配置位置を決定するようにしたため、キャッシュメモリの全領域を有効利用することができ、プログラムの動作速度の高速化を図ることができる。また、キャッシュメモリがCPU内に統合されている場合、アクセスするために必要となる電力は非常に微小なものとなり、キャッシュメモリの利用が多いほど消費電流が少なくなることから、省電力化を図ることが可能となる。また、条件判断の結果に基づいて実行されるシンボルの重み係数が小さくなるようにしたため、タスクの優先度による実行処理やタイマを用いた実行処理について最適な配置を行うことが可能となる。
なお、図1における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりシンボル解析処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
本発明の一実施形態の構成を示すブロック図である。 図1に示すロードモジュール生成部1の動作を示すフローチャートである。 図1に示すシンボル解析部11が図2に示す重み係数を算出する処理(ステップS2)を実行する動作を示すフローチャートである。 図1に示すソースファイル4に記憶されているソースプログラムの一例を示す説明図である。 図4に示すソースプログラムをフローチャートで表現した説明図である。 図4、5に示すソースプログラムを、図3に示す解析処理によってシンボルA〜Gの重み係数を計算した結果を示す図である。 図4、5に示すソースプログラムを、図3に示す解析処理によってシンボルA〜Gの重み係数を計算した結果を示す図である。 図1に示すリンカ13が順位付けされた各シンボルをロードモジュール上で分散して配置されるように配置位置を決定する例を示す説明図である。 メインメモリとキャッシュメモリの関係を示す説明図である。 コンピュータの基本構成を示す説明図である。
符号の説明
1・・・ロードモジュール生成部、11・・・シンボル解析部、12・・・コンパイラ、13・・・リンカ、2・・・入力部、3・・・表示部、4・・・ソースファイル、5・・・重み係数記憶部、6・・・ライブラリ、7・・・ロードモジュール記憶部

Claims (7)

  1. ソースファイルからソースプログラムのコードを読み込む入力手段と、
    前記ソースプログラムのコードの条件判断による分岐処理に基づいて、前記ソースプログラム中に含まれるシンボルの重み係数を求めるシンボル解析手段と、
    前記重み係数を出力する出力手段と、
    前記出力手段により出力される重み係数に基づいて、前記シンボルをメモリへ配置するシンボル配置手段と
    を備えたことを特徴とする情報処理装置。
  2. 前記メモリは、分割されていて、
    前記シンボル配置手段は、前記重み係数に基づいて前記シンボル毎に順位付けを行い、当該順位に基づいて、前記シンボルを前記分割された各メモリに配置していくようにすることを特徴とする請求項1に記載の情報処理装置。
  3. 前記順位付けは、各シンボルの実行頻度に基づくことを特徴とする請求項2に記載の情報処理装置。
  4. 前記シンボル解析手段は、前記ソースプログラムコードの条件判断による分岐処理の数に応じて所定の係数を前記重み係数に対して乗算するようにすることを特徴とする請求項1に記載の情報処理装置。
  5. 前記シンボル解析手段は、前記シンボルが繰り返し処理の対象である場合は、繰り返し回数に応じて所定の係数を前記重み係数に対して乗算するようにすることを特徴とする請求項4に記載の情報処理装置。
  6. 前記シンボル解析手段は、前記シンボルが前記ソースプログラム中において出現する度に前記重み係数を求め、求めた重み係数の合計値を該シンボルの重み係数とすることを特徴とする請求項4または5に記載の情報処理装置。
  7. ソースプログラムからソースプログラムのコードを読み込むステップと、
    前記ソースプログラムコードの条件判断による分岐処理に基づいて、前記ソースプログラム中に含まれるシンボルの重み係数を求めるステップと、
    前記重み係数に基づいて、前記シンボルをメモリに配置するステップと
    を具備することを特徴とする情報処理方法。
JP2006021086A 2006-01-30 2006-01-30 情報処理装置及び情報処理方法 Pending JP2007200240A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006021086A JP2007200240A (ja) 2006-01-30 2006-01-30 情報処理装置及び情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006021086A JP2007200240A (ja) 2006-01-30 2006-01-30 情報処理装置及び情報処理方法

Publications (1)

Publication Number Publication Date
JP2007200240A true JP2007200240A (ja) 2007-08-09

Family

ID=38454756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006021086A Pending JP2007200240A (ja) 2006-01-30 2006-01-30 情報処理装置及び情報処理方法

Country Status (1)

Country Link
JP (1) JP2007200240A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2463942A (en) * 2008-10-03 2010-04-07 Icera Inc Disassembling an executable to analyse function calls to minimise cache misses
KR101016755B1 (ko) * 2008-07-18 2011-02-25 한국과학기술원 특정 기능에 관련된 함수 목록 작성 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08212081A (ja) * 1995-02-08 1996-08-20 Hitachi Ltd メモリ割り付け方法、並びにコンパイル方法およびコンパイラ
JPH10124325A (ja) * 1996-10-25 1998-05-15 Toshiba Corp 変数の最適配置方法、変数の最適配置装置及び変数の最適配置プログラムを格納したコンピュータ読み取り可能な記録媒体
JP2000056983A (ja) * 1998-08-13 2000-02-25 Nec Corp プログラムリンクシステム、方法及び記録媒体
JP2002099422A (ja) * 2000-09-26 2002-04-05 Toshiba Lsi System Support Kk コンパイル装置、コンパイル方法、およびそのための処理が記録された記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08212081A (ja) * 1995-02-08 1996-08-20 Hitachi Ltd メモリ割り付け方法、並びにコンパイル方法およびコンパイラ
JPH10124325A (ja) * 1996-10-25 1998-05-15 Toshiba Corp 変数の最適配置方法、変数の最適配置装置及び変数の最適配置プログラムを格納したコンピュータ読み取り可能な記録媒体
JP2000056983A (ja) * 1998-08-13 2000-02-25 Nec Corp プログラムリンクシステム、方法及び記録媒体
JP2002099422A (ja) * 2000-09-26 2002-04-05 Toshiba Lsi System Support Kk コンパイル装置、コンパイル方法、およびそのための処理が記録された記録媒体

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101016755B1 (ko) * 2008-07-18 2011-02-25 한국과학기술원 특정 기능에 관련된 함수 목록 작성 방법
GB2463942A (en) * 2008-10-03 2010-04-07 Icera Inc Disassembling an executable to analyse function calls to minimise cache misses
GB2463942B (en) * 2008-10-03 2012-08-08 Icera Inc Disassembling an executable to analyse function calls to minimise cache misses
US8689197B2 (en) 2008-10-03 2014-04-01 Icera, Inc. Instruction cache

Similar Documents

Publication Publication Date Title
US9383982B2 (en) Data-parallel computation management
US8533698B2 (en) Optimizing execution of kernels
US9921859B2 (en) Runtime compiler environment with dynamic co-located code execution
US9195444B2 (en) Compiler method and compiler apparatus for optimizing a code by transforming a code to another code including a parallel processing instruction
US8578355B1 (en) Scenario based optimization
US20110047531A1 (en) Methods and apparatuses for selective code coverage
JP6379654B2 (ja) 処理実行プログラム、処理実行方法、及び情報処理装置
US20090164764A1 (en) Processor and debugging device
US8291397B2 (en) Compiler optimized function variants for use when return codes are ignored
Kelefouras et al. A Matrix–Matrix Multiplication methodology for single/multi-core architectures using SIMD
JP5440287B2 (ja) シンボリック実行支援プログラム、方法及び装置
CA2762563A1 (en) Data prefetching and coalescing for partitioned global address space languages
Thoman et al. Compiler multiversioning for automatic task granularity control
US11226798B2 (en) Information processing device and information processing method
JP2007200240A (ja) 情報処理装置及び情報処理方法
Liu et al. Potential impact of value prediction on communication in many-core architectures
JP4870956B2 (ja) 組み込み用プログラム生成方法、組み込み用プログラム開発システム、及び情報テーブル部
JP2012068869A (ja) 繰返しシンボリック実行方法、プログラム及び装置
CN113296788B (zh) 指令调度方法、装置、设备及存储介质
CN113141407B (zh) 一种页面资源加载方法、装置和电子设备
US20070011440A1 (en) Processor and processing method
Mertz et al. Satisfying increasing performance requirements with caching at the application level
Baloukas et al. Mapping embedded applications on MPSoCs: the MNEMEE approach
US9606779B2 (en) Data processing system and data simulation method in the system
JP6911544B2 (ja) プログラム、情報処理装置及び情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20080902

Free format text: JAPANESE INTERMEDIATE CODE: A621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100721

A131 Notification of reasons for refusal

Effective date: 20110607

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110808

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120321