JP2007148556A - 関数割付方法および関数割付装置 - Google Patents
関数割付方法および関数割付装置 Download PDFInfo
- Publication number
- JP2007148556A JP2007148556A JP2005339020A JP2005339020A JP2007148556A JP 2007148556 A JP2007148556 A JP 2007148556A JP 2005339020 A JP2005339020 A JP 2005339020A JP 2005339020 A JP2005339020 A JP 2005339020A JP 2007148556 A JP2007148556 A JP 2007148556A
- Authority
- JP
- Japan
- Prior art keywords
- function
- functions
- cache
- merged
- 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.)
- Pending
Links
Images
Landscapes
- Devices For Executing Special Programs (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】 キャッシュを搭載するシステムのメモリに対して、アプリケーションプログラムの有する関数を配置していく関数割付方法であって、前記アプリケーションプログラムの有する関数のコードサイズを取得し、前記キャッシュのキャッシュラインサイズ、および関数のコードサイズに基づいて併合可能な関数の組み合わせを抽出し、前記併合可能な関数の組み合わせに基づいて、関数の併合を行い、前記併合された関数を含む前記アプリケーションプログラムの有する関数を前記メモリに配置する。
【選択図】 図7
Description
図8(a)に示した例では関数同士を結ぶ辺がある関数は関連度が高くなる。つまり関数AとB、関数AとC、関数AとDなどである。
図8(a)に示した例では、関数Aと関数Dがそれぞれ関数Cと相関関係を有している。関数Aと関数Bが、それぞれ関数Cと相関関係を有している。そこで、関数AとDおよび関数AとBの関連度は高くなる。
図8(a)に示した例では、関数AとB、関数AとDが併合してもキャッシュラインのサイズを超えない関数だと判断されている。そこで、上記の(1)、(2)を基準にすれば関数AとB、関数AとDどちらに関しても同様に関連度が高く設定される。ここで、この(3)について考察する。関数AとBを併合した場合、新たな関数A・Bを元にした関係は、図8(b)に示すようになり、関数C、D、E、Fと相関関係を有するようになる。つまり関数Aに対しては新たに関数Fとの相関関係が追加され、関数Bに対しては新たに関数D、Eとの相関関係が追加されるため、新たに3つの相関関係が追加される。
2 関数基本ブロック遷移情報出力部
3 関数併合処理部
4 関数メモリ配置最適化部
110 アプリケーションプログラム
111 関数組み合わせ呼出情報
112 関数基本ブロック遷移情報
120 関連度リスト
Claims (5)
- キャッシュを搭載するシステムのメモリに対して、アプリケーションプログラムの有する関数を配置していく関数割付方法であって、
前記アプリケーションプログラムの有する関数のコードサイズを取得し、
前記キャッシュのキャッシュラインサイズ、および関数のコードサイズに基づいて併合可能な関数の組み合わせを抽出し、
前記併合可能な関数の組み合わせに基づいて、関数の併合を行い、
前記併合された関数を含む前記アプリケーションプログラムの有する関数を前記メモリに配置する関数割付方法。 - 前記関数割付方法は、さらに、
前記併合可能な関数の組み合わせの関連度を算出して関連度リストを生成し、前記関数の併合は、前記併合可能な関数の組み合わせおよび前記関連度リストに基づいて行われることを特徴とする請求項1に記載の関数割付方法。 - 前記関数の関連度は、関数が他の関数を呼び出す呼出回数に応じて設定されることを特徴とする請求項2に記載の関数割付方法。
- 前記関数の関連度は、関数が呼び出す他の関数の数に応じて設定されることを特徴とする請求項2あるいは3に記載の関数割付方法。
- キャッシュを搭載するシステムのメモリに対して、アプリケーションプログラムの有する関数を配置していく関数割付装置であって、
前記関数のコードサイズを取得するコードサイズ取得部と、
前記関数のコードサイズおよび前記キャッシュのキャッシュラインサイズに基づいて併合可能な関数を選択する関数選択部と、
前記関数選択部の選択した関数の関連度情報に基づいて、当該関数を併合する関数併合部と、
前記併合された関数を含む前記アプリケーションプログラムが有する関数を前記メモリに配置するメモリ配置最適化部とを有する関数割付装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005339020A JP2007148556A (ja) | 2005-11-24 | 2005-11-24 | 関数割付方法および関数割付装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005339020A JP2007148556A (ja) | 2005-11-24 | 2005-11-24 | 関数割付方法および関数割付装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007148556A true JP2007148556A (ja) | 2007-06-14 |
Family
ID=38209935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005339020A Pending JP2007148556A (ja) | 2005-11-24 | 2005-11-24 | 関数割付方法および関数割付装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007148556A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009032198A (ja) * | 2007-07-30 | 2009-02-12 | Fujitsu Microelectronics Ltd | キャッシュカラーリング方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0683633A (ja) * | 1992-08-31 | 1994-03-25 | Nec Corp | 言語処理プログラムの実行方式 |
JP2000066899A (ja) * | 1998-08-19 | 2000-03-03 | Nec Corp | 実行オブジェクト最適化装置 |
JP2000112767A (ja) * | 1998-09-30 | 2000-04-21 | Nec Ic Microcomput Syst Ltd | コンパイラ及びその変数割り付け方法及びそのプログラ ム記録媒体 |
JP2001216140A (ja) * | 2000-01-31 | 2001-08-10 | Nec Microsystems Ltd | 命令キャッシュ関数割付装置、割付最適化方法および割付最適化手順を記録した記録媒体 |
JP2001282547A (ja) * | 2000-03-28 | 2001-10-12 | Nec Microsystems Ltd | 命令キャッシュへの関数割付最適化装置、関数割付最適化方法及び関数割付最適化手順を記録した記録媒体 |
JP2003271394A (ja) * | 2002-03-19 | 2003-09-26 | Nec Electronics Corp | 関数と基本ブロックの配置割付装置および割付最適化プログラム |
-
2005
- 2005-11-24 JP JP2005339020A patent/JP2007148556A/ja active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0683633A (ja) * | 1992-08-31 | 1994-03-25 | Nec Corp | 言語処理プログラムの実行方式 |
JP2000066899A (ja) * | 1998-08-19 | 2000-03-03 | Nec Corp | 実行オブジェクト最適化装置 |
JP2000112767A (ja) * | 1998-09-30 | 2000-04-21 | Nec Ic Microcomput Syst Ltd | コンパイラ及びその変数割り付け方法及びそのプログラ ム記録媒体 |
JP2001216140A (ja) * | 2000-01-31 | 2001-08-10 | Nec Microsystems Ltd | 命令キャッシュ関数割付装置、割付最適化方法および割付最適化手順を記録した記録媒体 |
JP2001282547A (ja) * | 2000-03-28 | 2001-10-12 | Nec Microsystems Ltd | 命令キャッシュへの関数割付最適化装置、関数割付最適化方法及び関数割付最適化手順を記録した記録媒体 |
JP2003271394A (ja) * | 2002-03-19 | 2003-09-26 | Nec Electronics Corp | 関数と基本ブロックの配置割付装置および割付最適化プログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009032198A (ja) * | 2007-07-30 | 2009-02-12 | Fujitsu Microelectronics Ltd | キャッシュカラーリング方法 |
US8341354B2 (en) | 2007-07-30 | 2012-12-25 | Fujitsu Semiconductor Limited | Cache coloring method and apparatus based on function strength information |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8266603B2 (en) | Technique for allocating register to variable for compiling | |
KR101360512B1 (ko) | 기록 마스크를 사용하는 simd 아키텍처에 의한 레지스터 할당 | |
US6973644B2 (en) | Program interpreter | |
JP2001147819A (ja) | 最適化装置および記録媒体 | |
JP5204300B2 (ja) | マルチスレッド上で動作するプログラムのプログラム・コードをロック衝突が少ないプログラム・コードに変換するための方法、並びにそのコンピュータ・プログラム及びコンピュータ・システム | |
US20100229161A1 (en) | Compile method and compiler | |
US20080005722A1 (en) | Compiling device, compiling method and recording medium | |
JP2006260096A (ja) | プログラム変換方法およびプログラム変換装置 | |
US20040139427A1 (en) | Method and system for performing global processor resource assignment in an assembler | |
CN102099786A (zh) | 程序优化方法 | |
US8266416B2 (en) | Dynamic reconfiguration supporting method, dynamic reconfiguration supporting apparatus, and dynamic reconfiguration system | |
EP0933702A2 (en) | Language processing method and language processing system improving use efficiency of cache memory | |
JP2007148556A (ja) | 関数割付方法および関数割付装置 | |
JP2008305337A (ja) | プログラム変換装置、プログラム変換方法、プログラム、記憶媒体、デバッグ装置、デバッグ方法及びプログラム開発システム | |
JP3863544B1 (ja) | 演算処理装置及び演算処理方法 | |
WO2017204139A1 (ja) | データ処理装置、データ処理方法、およびプログラム記録媒体 | |
JP4039633B2 (ja) | 最適化コンパイラ、コンパイル方法、コンパイラプログラム、及び記録媒体 | |
CN101630268B (zh) | 同步优化的方法及设备 | |
JP2003216442A (ja) | プログラム変換方法、これを用いたコンピュータ装置及びプログラム | |
US20120042129A1 (en) | Arrangement method of programs to memory space, apparatus, and recording medium | |
JP2009258796A (ja) | プログラム開発装置及びプログラム開発方法 | |
JP6627630B2 (ja) | コンパイル方法、コンパイルプログラム及び情報処理装置 | |
JPH06214803A (ja) | 仮想空間ブロック配置方式 | |
KR100912114B1 (ko) | 디지털 신호처리 프로세서에서 효과적인 데이터 전송을위한 메모리 운용 방법 | |
JP2009259078A (ja) | バッファオーバーフロー検出方法、バッファオーバーフロー検出プログラム、およびバッファオーバーフロー検出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081016 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110712 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110726 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110915 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111122 |