[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2000003268A - Method for deciding optimization of memory map - Google Patents

Method for deciding optimization of memory map

Info

Publication number
JP2000003268A
JP2000003268A JP16398798A JP16398798A JP2000003268A JP 2000003268 A JP2000003268 A JP 2000003268A JP 16398798 A JP16398798 A JP 16398798A JP 16398798 A JP16398798 A JP 16398798A JP 2000003268 A JP2000003268 A JP 2000003268A
Authority
JP
Japan
Prior art keywords
memory
priority
memory map
program
map optimization
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
JP16398798A
Other languages
Japanese (ja)
Inventor
Masato Hagiwara
正人 萩原
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP16398798A priority Critical patent/JP2000003268A/en
Publication of JP2000003268A publication Critical patent/JP2000003268A/en
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

PROBLEM TO BE SOLVED: To obtain a method for deciding memory map optimization for quickening the executing speed of a program on a system on which plural kinds of memories whose access speed is different are loaded, and for easily constructing an optimized memory map. SOLUTION: This method comprises priority order deciding steps (ST1 and ST2) for deciding a priority order for programs to be arranged in the order of a memory whose access speed is fast and memory map optimizing steps (ST3-ST5) for deciding a memory and the area sufficient for arranging each program in the order of the memory whose access speed is fast based on the priority order decided in the priority order deciding steps by a linker, and for deciding the memory map of the program operating on the system on which plural kinds of memories whose access speed is different.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は、アクセス速度の
異なる複数種類のメモリを搭載したシステム上で高速動
作するプログラムを開発する際に用いて好適な、プログ
ラムの高速動作化に最適なメモリマップを容易に決定で
きるメモリマップ最適化決定方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory map which is suitable for developing a program which operates at high speed on a system equipped with a plurality of types of memories having different access speeds and which is optimal for high-speed operation of the program. The present invention relates to a memory map optimization determination method that can be easily determined.

【0002】[0002]

【従来の技術】複数種類のメモリを搭載したシステムで
は各メモリに対するアクセス速度は大きく異なる場合が
多い。従ってプログラムのどの部分をどのメモリに配置
するかによってプログラムの実行速度は大きく異なって
くる。そのため、プログラムの実行速度を高速化するメ
モリマップを決定するにはアクセス頻度の高い部分をな
るべく速いメモリに配置するなどの考慮が必要となる。
このため、リンカーにコマンドラインオプションやスク
リプトファイルなどで各セクションの先頭アドレスを指
定することによってメモリ上の配置を決定していた。
2. Description of the Related Art In a system equipped with a plurality of types of memories, access speeds to the respective memories often differ greatly. Therefore, the execution speed of the program greatly differs depending on which part of the program is arranged in which memory. Therefore, in order to determine a memory map for increasing the execution speed of a program, it is necessary to consider that a frequently accessed part is arranged in a memory as fast as possible.
For this reason, the arrangement in the memory is determined by specifying the start address of each section to the linker by a command line option or a script file.

【0003】[0003]

【発明が解決しようとする課題】従来のメモリマップ最
適化決定方法は以上のように構成されているので、各セ
クションのサイズと各メモリの容量が問題になってく
る。つまり優先度の高いセクションが速いメモリに収ま
りきれるか否かなどを考慮する必要があるため、各セク
ションのサイズをあらかじめ調べておいてからサイズと
アクセス頻度の両面を考慮しつつ最適なメモリマップを
決定する必要がある課題があった。
Since the conventional memory map optimization determining method is configured as described above, the size of each section and the capacity of each memory become problems. In other words, it is necessary to consider whether or not a high-priority section can fit in the fast memory, so check the size of each section in advance, and then determine the optimal memory map while considering both size and access frequency. There were issues that needed to be determined.

【0004】また、プログラムを少し修正しただけでも
各セクションのサイズが変わってしまうため、そのたび
にメモリマップを考え直す必要があり、この作業には手
間がかかる課題があった。
Further, even if the program is slightly modified, the size of each section changes, so that it is necessary to reconsider the memory map each time, and this work has a problem that it takes time and effort.

【0005】この発明は上記のような課題を解決するた
めになされたもので、アクセス速度の異なる複数種類の
メモリを搭載したシステム上でプログラムの実行速度の
高速化を図れる最適化されたメモリマップを容易に構築
できるメモリマップ最適化決定方法を得ることを目的と
する。
SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and has an optimized memory map capable of increasing the execution speed of a program on a system equipped with a plurality of types of memories having different access speeds. It is an object of the present invention to obtain a memory map optimization determining method that can easily construct a memory map.

【0006】[0006]

【課題を解決するための手段】この発明に係るメモリマ
ップ最適化決定方法は、アクセス速度の早いメモリの順
で配置すべきプログラムに対する優先順位を決定する優
先順位決定ステップと、該優先順位決定ステップで決定
した優先順位をもとに、前記アクセス速度の早いメモリ
から順に前記各プログラムを配置するに足りるメモリお
よびその領域をリンカーが決定し、アクセス速度の異な
る複数種類のメモリを搭載したシステム上で動作するプ
ログラムのメモリマップを決定するメモリマップ最適化
ステップとを備えるようにしたものである。
A memory map optimization determining method according to the present invention includes a priority determining step of determining a priority for a program to be allocated in the order of a memory having a higher access speed, and a priority determining step. Based on the priority determined in the above, the linker determines a memory and its area sufficient for arranging the respective programs in order from the memory having the fastest access speed, and on a system equipped with a plurality of types of memories having different access speeds. And a memory map optimizing step of determining a memory map of an operating program.

【0007】この発明に係るメモリマップ最適化決定方
法は、スクリプトファイルに記述された各プログラムに
対する優先順位をもとに、前記各プログラムの優先順位
を決定する優先順位決定ステップを備えるようにしたも
のである。
A memory map optimization determining method according to the present invention includes a priority determining step of determining a priority of each program based on a priority of each program described in a script file. It is.

【0008】この発明に係るメモリマップ最適化決定方
法は、リンカー起動時にコマンドラインからオプション
として指定された優先順位をもとに、各プログラムの優
先順位を決定する優先順位決定ステップを備えるように
したものである。
The memory map optimization determining method according to the present invention includes a priority determining step of determining a priority of each program based on a priority specified as an option from a command line when the linker is started. Things.

【0009】この発明に係るメモリマップ最適化決定方
法は、各オブジェクトファイルにおいて他のオブジェク
トファイルと共通的に関数毎、変数毎、定数毎に分類さ
れたセクション毎で優先順位を決定する優先順位決定ス
テップを備えるようにしたものである。
A memory map optimization determining method according to the present invention determines a priority in each object file in common with other object files by determining a priority for each section classified for each function, each variable, and each constant. It is provided with steps.

【0010】この発明に係るメモリマップ最適化決定方
法は、各オブジェクトファイルの関数毎、変数毎、定数
毎に優先順位を決定する優先順位決定ステップを備える
ようにしたものである。
The memory map optimization determining method according to the present invention includes a priority determining step of determining a priority for each function, variable, and constant of each object file.

【0011】この発明に係るメモリマップ最適化決定方
法は、オブジェクトファイル毎に優先順位を決定する優
先順位決定ステップを備えるようにしたものである。
A memory map optimization determining method according to the present invention includes a priority determining step of determining a priority for each object file.

【0012】この発明に係るメモリマップ最適化決定方
法は、他のオブジェクトファイルとの間で共通的に各オ
ブジェクトファイルにおいて関数毎、変数毎、定数毎に
分類されたセクション毎と、各オブジェクトファイルの
関数毎、変数毎、定数毎と、オブジェクトファイル毎と
の内のいずれかの組み合わせで優先順位を決定する優先
順位決定ステップを備えるようにしたものである。
The memory map optimization determining method according to the present invention is characterized in that each object file has a section classified by function, variable, and constant in common with other object files, The method includes a priority determination step of determining a priority in any combination of each function, each variable, each constant, and each object file.

【0013】この発明に係るメモリマップ最適化決定方
法は、リンカーが全てのオブジェクトファイルに対して
各関数、変数、定数などにアクセスしている箇所をカウ
ントし、そのカウント値をもとに優先順位を自動的に決
定する優先順位決定ステップを備えるようにしたもので
ある。
In the memory map optimization determining method according to the present invention, the linker counts locations where all functions, variables, constants, and the like are accessed for all object files, and based on the count value, a priority order is determined. Is automatically determined.

【0014】この発明に係るメモリマップ最適化決定方
法は、プログラムを実行させてプロファイルした結果を
もとに優先順位を決定する優先順位決定ステップを備え
るようにしたものである。
A memory map optimization determining method according to the present invention includes a priority determining step of determining a priority based on a result of profiling by executing a program.

【0015】[0015]

【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1は、この実施の形態1のメモリマッ
プ最適化決定方法におけるサンプルプログラムの構成の
一例を示す説明図である。図1に示す例では、プログラ
ムは3つのオブジェクトファイルF1,F2,F3から
構成されている。オブジェクトファイルF1ではサイズ
が4である関数func1、サイズが1である変数x
1、サイズが2である定数c1が定義されている。ま
た、オブジェクトファイルF2ではサイズが7の関数f
unc2、サイズが1である変数x2、サイズが1であ
る定数c2が定義されている。また、オブジェクトファ
イルF3ではサイズが3である関数func3、サイズ
が2である変数x3、サイズが1である変数x4、サイ
ズが1である変数x5が定義されている。なお、各オブ
ジェクトファイルにおいては、関数がPセクション、変
数がDセクション、定数はCセクションとしてそれぞれ
分類されている。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described below. Embodiment 1 FIG. FIG. 1 is an explanatory diagram showing an example of a configuration of a sample program in the memory map optimization determining method according to the first embodiment. In the example shown in FIG. 1, the program is composed of three object files F1, F2 and F3. In the object file F1, a function func1 having a size of 4 and a variable x having a size of 1
1, a constant c1 having a size of 2 is defined. In the object file F2, a function f having a size of 7
unc2, a variable x2 having a size of 1, and a constant c2 having a size of 1 are defined. In the object file F3, a function func3 having a size of 3, a variable x3 having a size of 2, a variable x4 having a size of 1, and a variable x5 having a size of 1 are defined. In each object file, a function is classified as a P section, a variable is classified as a D section, and a constant is classified as a C section.

【0016】この実施の形態1では、これらのオブジェ
クトファイルF1,F2,F3をリンクして、速いメモ
リA(サイズ10)と遅いメモリB(サイズ20)を搭
載したシステム上にマップする場合を例に説明を行う。
In the first embodiment, an example in which these object files F1, F2, and F3 are linked and mapped on a system equipped with a fast memory A (size 10) and a slow memory B (size 20). A description is given below.

【0017】図2は、この実施の形態1のメモリマップ
最適化決定方法の構成を示すフローチャートであり、以
下、このフローチャートに基づいて動作を説明する。図
2に示すフローチャートは、速いメモリに配置する優先
順位を、セクション単位でスクリプトファイル(ファイ
ル)に記述することによって指定し、図1のプログラム
の最適化されたメモリマップを決定する処理動作を示
す。なお、この場合、前記優先順位はPセクション,C
セクション,Dセクションの順で指定するものとする。
FIG. 2 is a flowchart showing the configuration of the memory map optimization determining method according to the first embodiment. The operation will be described below with reference to this flowchart. The flowchart shown in FIG. 2 shows the processing operation of designating the priority order for allocating in the fast memory by describing the script file (file) in section units and determining the optimized memory map of the program of FIG. . In this case, the priority is P section, C section
Section and D section shall be specified in this order.

【0018】先ず、前記スクリプトファイルにセクショ
ン単位で記述された速いメモリに配置する前記優先順位
を読み込む(ステップST1、優先順位決定ステッ
プ)。次に、前記読み込んだ優先順位から各セクション
間の優先順位を決定する(ステップST2、優先順位決
定ステップ)。この場合、前記優先順位はPセクショ
ン,Cセクション,Dセクションの順である。
First, the priorities to be arranged in the fast memory described in the script file in sections are read (step ST1, priority determining step). Next, the priorities among the sections are determined from the read priorities (step ST2, priority determining step). In this case, the priority order is P section, C section, and D section.

【0019】このため、最も優先順位の高いPセクショ
ンに含まれる各オブジェクトファイルF1,F2,F3
の各関数について速いメモリAに収まるかを調べる。こ
の結果、オブジェクトファイルF1のfunc1はサイ
ズ4でありサイズ10のメモリAに収まるので、メモリ
Aに配置する。次に、オブジェクトファイルF2のfu
nc2はサイズ7でありメモリAの残りサイズ6に収ま
らないのでメモリBに配置する。さらにオブジェクトフ
ァイルF3のfunc3はサイズ3でありメモリAの残
りサイズ6に収まるのでメモリAに配置する(ステップ
ST3、メモリマップ最適化ステップ)。
Therefore, each of the object files F1, F2, F3 included in the P section having the highest priority
It is checked whether each function can fit in the fast memory A. As a result, func1 of the object file F1 has a size of 4 and fits in a memory A of size 10, so that it is allocated in the memory A. Next, fu of the object file F2
Since nc2 is a size 7 and does not fit in the remaining size 6 of the memory A, it is arranged in the memory B. Further, func3 of the object file F3 has a size of 3 and fits in the remaining size 6 of the memory A, so that it is arranged in the memory A (step ST3, memory map optimization step).

【0020】次に、優先順位の高いCセクションに含ま
れる各オブジェクトファイルF1,F2,F3の各定数
について速いメモリAに収まるかを調べる。この結果、
オブジェクトファイルF1の定数c1はサイズ2であり
メモリAの残りサイズ3に収まるのでメモリAに配置す
る。次にオブジェクトファイルF2の定数c2はサイズ
1でありメモリAの残りサイズ1に収まるのでメモリA
に配置する(ステップST4、メモリマップ最適化ステ
ップ)。
Next, it is checked whether each constant of each of the object files F1, F2, and F3 included in the C section having a higher priority can be stored in the fast memory A. As a result,
Since the constant c1 of the object file F1 is size 2 and fits in the remaining size 3 of the memory A, it is arranged in the memory A. Next, the constant c2 of the object file F2 has a size of 1 and fits in the remaining size 1 of the memory A.
(Step ST4, memory map optimization step).

【0021】この時点で、メモリAの領域には配置割当
ての可能な領域がなくなるため、各オブジェクトファイ
ルF1,F2,F3の残りのプログラムは全てメモリB
に配置する。この結果、メモリBの残りの領域には、オ
ブジェクトファイルF3の変数x3,x4,x5が配置
される(ステップST5、メモリマップ最適化ステッ
プ)。
At this point, since the area of the memory A has no area which can be allocated and allocated, the remaining programs of the object files F1, F2 and F3 are all stored in the memory B.
To place. As a result, variables x3, x4 and x5 of the object file F3 are arranged in the remaining area of the memory B (step ST5, memory map optimization step).

【0022】図3は、このようにして、各オブジェクト
ファイルの各セクション単位で決定された優先順位をも
とに、プログラムの実行速度の高速化が図れるように早
いメモリAと遅いメモリBに対し最適化されて構築され
たメモリマップを示す。
FIG. 3 shows that the fast memory A and the slow memory B are designed so that the execution speed of the program can be increased based on the priority determined for each section of each object file. 3 shows an optimized and constructed memory map.

【0023】以上のように、この実施の形態1によれ
ば、オブジェクトファイルの各セクション単位毎に決定
された優先順位で、高速動作が要求される前記セクショ
ン単位のプログラムをアクセスの早いメモリA、遅いメ
モリBの順で容易に割り当て配置することができ、プロ
グラムの実行速度の高速化を図れる最適化されたメモリ
マップの構築作業にかかる負荷を軽減できるメモリマッ
プ最適化決定方法が得られる効果がある。
As described above, according to the first embodiment, the section-based program, which is required to operate at a high speed, is stored in the memory A, which has a high access speed, with the priority determined for each section of the object file. The memory allocation optimization method can be easily allocated and arranged in the order of the slower memory B, and the load on the construction work of the optimized memory map that can increase the execution speed of the program can be reduced. is there.

【0024】実施の形態2.図4は、この実施の形態2
のメモリマップ最適化決定方法の構成を示すフローチャ
ートである。この実施の形態2では、速いメモリAに配
置する優先順位を、変数やモジュール単位でスクリプト
ファイルに記述することによって指定する。なお、この
実施の形態2では前記優先順位は関数func1,変数
x3,関数func3,定数c1、変数x1の順であ
り、その他の優先順位は変数x1よりも低いレベルであ
るものとする。
Embodiment 2 FIG. FIG. 4 shows the second embodiment.
4 is a flowchart showing a configuration of a memory map optimization determination method of FIG. In the second embodiment, the priority order for allocating in the fast memory A is specified by describing it in a script file in units of variables or modules. In the second embodiment, the priorities are in the order of the function func1, the variable x3, the function func3, the constant c1, and the variable x1, and the other priorities are at a lower level than the variable x1.

【0025】以下、図4のフローチャートに従って説明
すると、先ず前記スクリプトファイルに変数やモジュー
ル単位で記述されている前記優先順位を読み込み(ステ
ップST11、優先順位決定ステップ)、優先順位が関
数func1,変数x3,関数func3,定数c1、
変数x1の順であることを決定する(ステップST1
2、優先順位決定ステップ)。
Referring to the flowchart of FIG. 4, first, the script file reads the priority described in units of variables or modules (step ST11, priority determination step), and sets the priority to the function func1 and variable x3. , Function func3, constant c1,
It is determined that the order is the order of the variable x1 (step ST1).
2, priority determination step).

【0026】次に、関数func1がメモリAに入るか
否かを判定する。関数func1はサイズ4でありサイ
ズ10のメモリAに収まるので、メモリAに配置する
(ステップST13、メモリマップ最適化ステップ)。
Next, it is determined whether the function func1 enters the memory A or not. Since the function func1 is of size 4 and fits in the memory A of size 10, it is arranged in the memory A (step ST13, memory map optimization step).

【0027】次に、変数x3がメモリAに入るか否かを
判定する。変数x3はサイズ2なのでメモリAの残りサ
イズ6に収まるので、メモリAに配置する(ステップS
T14、メモリマップ最適化ステップ)。
Next, it is determined whether or not the variable x3 enters the memory A. Since the variable x3 has a size of 2 and fits in the remaining size 6 of the memory A, it is arranged in the memory A (step S
T14, memory map optimization step).

【0028】次に、関数func3がメモリAに入るか
否かを判定する。関数func3はサイズ3でありメモ
リAの残りサイズ4に収まるので、メモリAに配置する
(ステップST15、メモリマップ最適化ステップ)。
Next, it is determined whether the function func3 enters the memory A or not. Since the function func3 has a size of 3 and fits in the remaining size 4 of the memory A, it is arranged in the memory A (step ST15, memory map optimizing step).

【0029】次に、定数c1がメモリAに入るか否かを
判定する。定数c1はサイズ2なのでメモリAの残りサ
イズ1に収まらないのでメモリBに配置する(ステップ
ST16、メモリマップ最適化ステップ)。
Next, it is determined whether or not the constant c1 enters the memory A. Since the constant c1 is of size 2 and does not fit in the remaining size 1 of the memory A, it is arranged in the memory B (step ST16, memory map optimization step).

【0030】次に、変数x1がメモリAに入るか否かを
判定する。変数x1はサイズ1でありメモリAの残りサ
イズ1に収まるので、メモリAに配置する(ステップS
T17、メモリマップ最適化ステップ)。
Next, it is determined whether or not the variable x1 enters the memory A. Since the variable x1 is size 1 and fits in the remaining size 1 of the memory A, it is arranged in the memory A (step S
T17, memory map optimization step).

【0031】この時点でメモリAには配置割当て可能な
領域がなくなるため残りは全てメモリBに配置する(ス
テップST18、メモリマップ最適化ステップ)。
At this time, since there is no more area in the memory A which can be allocated, the rest is allocated in the memory B (step ST18, memory map optimizing step).

【0032】図5は、このようにして、各オブジェクト
ファイルの関数func1,変数x3,関数func
3,定数c1、変数x1などの順で決定された優先順位
をもとにプログラムの実行速度の高速化が図れるように
早いメモリAと遅いメモリBに対し最適化されて構築さ
れたメモリマップを示す。
FIG. 5 shows the function func1, the variable x3, and the function func of each object file.
3, based on the priority determined in the order of the constant c1, the variable x1, etc., a memory map optimized and constructed for the fast memory A and the slow memory B so that the execution speed of the program can be increased. Show.

【0033】以上のように、この実施の形態2によれ
ば、変数やモジュール単位毎に決定された優先順位で、
高速動作が要求される前記変数やモジュール単位のプロ
グラムをアクセスの早いメモリA、遅いメモリBの順で
容易に割り当て配置することが、できプログラムの実行
速度の高速化を図れる最適化されたメモリマップの構築
作業にかかる負荷を軽減できるメモリマップ最適化決定
方法が得られる効果がある。
As described above, according to the second embodiment, with the priority determined for each variable or module,
An optimized memory map that can easily allocate and arrange the variables or the module-based programs requiring high-speed operation in the order of the memory A with the fastest access and the memory B with the slowest access, thereby increasing the execution speed of the program There is an effect that a memory map optimization determination method that can reduce the load on the construction work of the memory map can be obtained.

【0034】実施の形態3.図6は、この実施の形態3
のメモリマップ最適化決定方法の構成を示すフローチャ
ートである。この実施の形態3では、速いメモリAに配
置する優先順位を、オブジェクトファイル単位でスクリ
プトファイルに記述することで指定する。なお、この実
施の形態3では前記優先順位はオブジェクトファイルF
1、オブジェクトファイルF3、オブジェクトファイル
F2の順であるものとする。
Embodiment 3 FIG. 6 shows the third embodiment.
4 is a flowchart showing a configuration of a memory map optimization determination method of FIG. In the third embodiment, the priority order for allocating in the fast memory A is specified by describing the script file in object file units. Note that in the third embodiment, the priority order is the object file F
It is assumed that the order is 1, object file F3, and object file F2.

【0035】以下、図6のフローチャートに従って説明
すると、先ず、前記スクリプトファイルにオブジェクト
ファイル単位で記述されている前記優先順位を読み込み
(ステップST21、優先順位決定ステップ)、優先順
位がオブジェクトファイルF1、オブジェクトファイル
F3、オブジェクトファイルF2の順であることを決定
する(ステップST22、優先順位決定ステップ)。
Referring to the flow chart of FIG. 6, first, the priority described in the script file in object file units is read (step ST21, priority determination step). It is determined that the file is in the order of the file F3 and the object file F2 (step ST22, priority determination step).

【0036】次に、オブジェクトファイルF1に含まれ
る関数func1,変数x1,定数c1についてメモリ
Aに収まるか調べる(ステップST23、メモリマップ
最適化ステップ)。この場合、関数func1はサイズ
4であり、サイズ10のメモリAに収まるので、メモリ
Aに配置する。次に、オブジェクトファイルF1の変数
x1はサイズ1であり、メモリAの残りサイズ6に収ま
るので、メモリAに配置する。さらに、オブジェクトフ
ァイルF1の定数c1はサイズ2であり、メモリAの残
りサイズ5に収まるので、メモリAに配置する。
Next, it is checked whether the function func1, variable x1, and constant c1 included in the object file F1 can be stored in the memory A (step ST23, memory map optimizing step). In this case, the function func1 is of size 4 and fits in the memory A of size 10, so it is arranged in the memory A. Next, since the variable x1 of the object file F1 has a size of 1 and fits in the remaining size 6 of the memory A, it is arranged in the memory A. Further, the constant c1 of the object file F1 has a size of 2 and fits in the remaining size 5 of the memory A, so that it is arranged in the memory A.

【0037】続いて、オブジェクトファイルF3に含ま
れる関数func3,変数x3,変数x4,変数x5に
ついてメモリAに収まるか調べる(ステップST24、
メモリマップ最適化ステップ)。この場合、関数fun
c3はサイズ3でありメモリAの残りサイズ3に収まる
ので、メモリAに配置する。この時点で、メモリAは配
置割当て可能な領域がなくなるため、残りは全てメモリ
Bに配置する(ステップST25、メモリマップ最適化
ステップ)。
Subsequently, it is checked whether the function func3, the variable x3, the variable x4, and the variable x5 included in the object file F3 can be stored in the memory A (step ST24,
Memory map optimization step). In this case, the function fun
Since c3 is size 3 and fits in the remaining size 3 of memory A, it is arranged in memory A. At this point, since the memory A has no area that can be allocated and allocated, the rest is allocated to the memory B (step ST25, memory map optimization step).

【0038】図7は、このようにして各オブジェクトフ
ァイル単位で決定された優先順位をもとに早いメモリA
と遅いメモリBに対しプログラムの実行速度の高速化が
図れるように最適化されて構築されたメモリマップを示
す。
FIG. 7 shows an example of the memory A based on the priority determined for each object file.
4 shows a memory map optimized and constructed so that the execution speed of the program can be increased for the slow memory B.

【0039】以上のように、この実施の形態3によれ
ば、オブジェクトファイル単位毎に決定された優先順位
で、高速動作が要求される前記オブジェクトファイルの
プログラムをアクセスの早いメモリA、遅いメモリBの
順で容易に割り当て配置することができ、プログラムの
実行速度の高速化を図れる最適化されたメモリマップの
構築作業にかかる負荷を軽減できるメモリマップ最適化
決定方法が得られる効果がある。
As described above, according to the third embodiment, the program of the object file requiring the high-speed operation is stored in the memory A with the fast access and the memory B with the slow access at the priority determined for each object file unit. The memory map optimization determination method can be obtained in which the load on the work of constructing an optimized memory map that can increase the execution speed of the program can be reduced easily.

【0040】実施の形態4.図8は、この実施の形態4
のメモリマップ最適化決定方法の構成を示すフローチャ
ートである。この実施の形態4では、速いメモリAに配
置する優先順位を、セクション単位、モジュール単位、
オブジェクトファイル単位をおり混ぜてスクリプトファ
イルに記述することによって指定する。なお、この実施
の形態4では前記優先順位は関数func1、オブジェ
クトファイルF3中のDセクション、Cセクションの順
であるものとする。
Embodiment 4 FIG. FIG. 8 shows the fourth embodiment.
4 is a flowchart showing a configuration of a memory map optimization determination method of FIG. In the fourth embodiment, the priority order for allocating in the fast memory A is set in units of sections, modules,
Specify by mixing object file units and writing them in the script file. In the fourth embodiment, it is assumed that the priority is in the order of the function func1, the D section and the C section in the object file F3.

【0041】以下、図8のフローチャートに従って説明
すると、先ず、前記スクリプトファイルに関数func
1、オブジェクトファイルF3中のDセクション、Cセ
クションの順で記述されている前記優先順位を読み込み
(ステップST31、優先順位決定ステップ)、優先順
位が関数func1、オブジェクトファイルF3中のD
セクション、Cセクションの順であることを決定する
(ステップST32、優先順位決定ステップ)。
Referring to the flowchart of FIG. 8, first, the function func is added to the script file.
1. The priority described in the order of the D section and the C section in the object file F3 is read (step ST31, priority determination step), and the priority is set to the function func1, and the D in the object file F3 is read.
It is determined that the section and the C section are in order (step ST32, priority determination step).

【0042】次に、関数func1がメモリAに配置可
能かを判定する。関数func1はサイズ4であり、サ
イズ10のメモリAに収まるので、メモリAに配置する
(ステップST33、メモリマップ最適化ステップ)。
続いて、オブジェクトファイルF3に含まれるDセクシ
ョンの変数x3,変数x4,変数x5についてメモリA
に収まるか調べる。変数x3はサイズ2でありメモリA
の残りサイズ6に収まるので、メモリAに配置する。ま
た、変数x4はサイズ1でありメモリAの残りサイズ4
に収まるので、メモリAに配置する。また変数x5はサ
イズ1なのでメモリAの残りサイズ3に収まるので、メ
モリAに配置する(ステップST34、メモリマップ最
適化ステップ)。
Next, it is determined whether the function func1 can be arranged in the memory A. Since the function func1 is of size 4 and fits in the memory A of size 10, it is arranged in the memory A (step ST33, memory map optimization step).
Subsequently, the memory A stores the variables x3, x4, and x5 of the D section included in the object file F3.
Find out if it fits. Variable x3 is size 2 and memory A
Are placed in the memory A because they fit in the remaining size 6. The variable x4 has a size of 1 and the remaining size of the memory A is 4
, It is arranged in the memory A. Also, since the variable x5 has a size of 1 and fits in the remaining size 3 of the memory A, it is arranged in the memory A (step ST34, memory map optimization step).

【0043】続いて、Cセクションである定数c1,c
2についてメモリAに収まるか判定する(ステップST
35、メモリマップ最適化ステップ)。定数c1はサイ
ズ2なのでメモリAの残りサイズ2に収まるのでメモリ
Aに配置する。
Subsequently, constants c1 and c, which are C sections,
2 is stored in the memory A (step ST
35, memory map optimization step). Since the constant c1 has a size of 2 and fits in the remaining size 2 of the memory A, it is arranged in the memory A.

【0044】この時点でメモリAは配置割当て可能な領
域がなくなるため、残りは全てメモリBに配置する(ス
テップST36、メモリマップ最適化ステップ)。
At this point, since the memory A has no area that can be allocated and allocated, the rest is allocated to the memory B (step ST36, memory map optimizing step).

【0045】図9は、このようにして関数func1、
オブジェクトファイルF3中のDセクション、Cセクシ
ョンの順で決定された優先順位をもとに、早いメモリA
と遅いメモリBに対しプログラムの実行速度の高速化が
図れるように最適化されて構築されたメモリマップを示
す。
FIG. 9 shows the function func1,
Based on the priority determined in the order of the D section and the C section in the object file F3,
4 shows a memory map optimized and constructed so that the execution speed of the program can be increased for the slow memory B.

【0046】以上のように、この実施の形態4によれ
ば、セクション単位、モジュール単位、オブジェクトフ
ァイル単位などに渡って決定された優先順位で、高速動
作が要求される前記セクション単位、モジュール単位、
オブジェクトファイル単位などのプログラムをアクセス
の早いメモリA、遅いメモリBの順で容易に割り当て配
置することができ、プログラムの実行速度の高速化を図
れる最適化されたメモリマップの構築作業にかかる負荷
を軽減できるメモリマップ最適化決定方法が得られる効
果がある。
As described above, according to the fourth embodiment, the section unit, the module unit, and the high-speed operation are required in the order of priority determined over the section unit, the module unit, the object file unit, and the like.
A program such as an object file unit can be easily allocated and arranged in the order of the memory A with the fastest access and the memory B with the slowest access. There is an effect that a memory map optimization decision method that can be reduced can be obtained.

【0047】実施の形態5.以上説明した各実施の形態
では、優先順位の指定をスクリプトファイルに記述する
構成であったが、コマンドラインオプションで指定する
ようにしてもよい。
Embodiment 5 In each of the embodiments described above, the specification of the priority is described in the script file. However, the priority may be specified by a command line option.

【0048】実施の形態6.この実施の形態6では、優
先順位の指定をスクリプトファイルに記述するのでな
く、リンカーが全てのオブジェクトファイルに対して各
関数、変数、定数などにアクセスしている箇所をカウン
トし、そのカウント値をもとに優先順位を自動的に決定
する。図10は、この実施の形態6のメモリマップ最適
化決定方法の構成を示すフローチャートである。先ず、
リンカーが全てのオブジェクトファイルに対して各関
数、変数、定数などにアクセスしている箇所をカウント
し、そのカウント値をもとに優先順位を決定する(ステ
ップST41、優先順位決定ステップ)。この場合、ア
クセス箇所の検索の結果、関数func1,変数x3,
関数func3,定数c1,変数x1,関数func
2,変数x2,変数x4,変数x5,定数c2の順に優
先順位を自動的に決定したものとする(ステップST4
2、優先順位決定ステップ)。
Embodiment 6 FIG. In the sixth embodiment, the designation of the priority order is not described in the script file, but the linker counts the places where the functions, variables, constants, and the like are accessed for all the object files, and the count value is used as the value. The priority is automatically determined based on the priority. FIG. 10 is a flowchart showing the configuration of the memory map optimization determining method according to the sixth embodiment. First,
The linker counts locations where all functions, variables, constants, and the like are accessed for all object files, and determines a priority based on the count value (step ST41, priority determination step). In this case, as a result of the search for the access location, the function func1, the variable x3,
Function func3, constant c1, variable x1, function func
2, priority is automatically determined in order of variable x2, variable x4, variable x5, and constant c2 (step ST4).
2, priority determination step).

【0049】次に、関数func1がメモリAに入るか
否かを判定する。関数func1はサイズ4でありサイ
ズ10のメモリAに収まるので、メモリAに配置する
(ステップST43、メモリマップ最適化ステップ)。
Next, it is determined whether the function func1 enters the memory A or not. Since the function func1 is of size 4 and fits in the memory A of size 10, it is arranged in the memory A (step ST43, memory map optimization step).

【0050】次に、変数x3がメモリAに入るか否かを
判定する。変数x3はサイズ2なのでメモリAの残りサ
イズ6に収まるので、メモリAに配置する(ステップS
T44、メモリマップ最適化ステップ)。
Next, it is determined whether or not the variable x3 enters the memory A. Since the variable x3 has a size of 2 and fits in the remaining size 6 of the memory A, it is arranged in the memory A (step S
T44, memory map optimization step).

【0051】次に、関数func3がメモリAに入るか
否かを判定する。関数func3はサイズ3なのでメモ
リAの残りサイズ4に収まるので、メモリAに配置する
(ステップST45、メモリマップ最適化ステップ)。
Next, it is determined whether the function func3 enters the memory A or not. Since the function func3 has a size of 3 and fits in the remaining size 4 of the memory A, it is arranged in the memory A (step ST45, memory map optimization step).

【0052】次に、定数c1がメモリAに入るか否かを
判定する。定数c1はサイズ2なのでメモリAの残りサ
イズ1に収まらないのでメモリBに配置する(ステップ
ST46、メモリマップ最適化ステップ)。
Next, it is determined whether or not the constant c1 enters the memory A. Since the constant c1 is of size 2 and does not fit in the remaining size 1 of the memory A, it is arranged in the memory B (step ST46, memory map optimization step).

【0053】次に、変数x1がメモリAに入るか否かを
判定する。変数x1はサイズ1なのでメモリAの残りサ
イズ1に収まるので、メモリAに配置する(ステップS
T47、メモリマップ最適化ステップ)。
Next, it is determined whether or not the variable x1 enters the memory A. Since the variable x1 has a size of 1 and fits in the remaining size 1 of the memory A, it is arranged in the memory A (step S
T47, memory map optimization step).

【0054】この時点でメモリAは配置割当て可能な領
域がなくなるため、残りは全てメモリBに配置する(ス
テップST48、メモリマップ最適化ステップ)。
At this point, since the memory A has no area that can be allocated and allocated, the rest is allocated to the memory B (step ST48, memory map optimizing step).

【0055】図11は、このようにしてリンカーにより
自動的に決定された優先順位をもとに早いメモリAと遅
いメモリBに対しプログラムの実行速度の高速化が図れ
るように最適化されて構築されたメモリマップを示す。
FIG. 11 is a diagram showing a configuration in which the fast memory A and the slow memory B are optimized so that the program execution speed can be increased based on the priority automatically determined by the linker. FIG.

【0056】以上のように、この実施の形態6によれ
ば、全てのオブジェクトファイルに対して各関数、変
数、定数などにアクセスしている箇所のカウント値をも
とにリンカーが自動的に決定した優先順位をもとに、高
速動作が要求される前記関数、変数、定数などのプログ
ラムをアクセスの早いメモリA、遅いメモリBの順で容
易に割り当て配置することができ、プログラムの実行速
度の高速化を図れる最適化されたメモリマップの構築作
業にかかる負荷を軽減できるメモリマップ最適化決定方
法が得られる効果がある。
As described above, according to the sixth embodiment, the linker automatically determines all the object files based on the count value of the location where each function, variable, constant, etc. is accessed. Based on the priorities, the programs such as the functions, variables, and constants requiring high-speed operation can be easily allocated and arranged in the order of the memory A with the fastest access and the memory B with the slowest access. This has the effect of providing a memory map optimization determination method that can reduce the load on the work of constructing an optimized memory map that can achieve high speed.

【0057】実施の形態7.この実施の形態7では、一
度プログラムを実行させてプロファイルした結果をもと
に優先順位を決定する。この実施の形態7では、プロフ
ァイルの結果、関数func1,変数x3,関数fun
c3,定数c1,変数x1,関数func2,変数x
2,変数x4,変数x5,定数c2の順で優先順位が決
定したものとする。図12は、この実施の形態7のメモ
リマップ最適化決定方法の構成を示すフローチャートで
ある。なお、図12に示すフローチャートにおいて図1
0と同一または相当のステップには同一の符号を付して
説明を省略する。先ず、プログラムを実際に実行し、ま
たはシミュレータなどの使用によりプロファイルした結
果をもとに優先順位を決定する(ステップST51、優
先順位決定ステップ)。この場合、関数func1,変
数x3,関数func3,定数c1,変数x1,関数f
unc2,変数x2,変数x4,変数x5,定数c2の
順で優先順位が決定するものとする(ステップST5
2、優先順位決定ステップ)。次のステップST43以
下の各ステップの動作は図10のフローチャートで説明
した動作と同一である。
Embodiment 7 FIG. In the seventh embodiment, the priority is determined based on the result of profiling the program once. In the seventh embodiment, as a result of the profile, the function func1, the variable x3, and the function func
c3, constant c1, variable x1, function func2, variable x
It is assumed that the priorities are determined in the order of 2, variable x4, variable x5, and constant c2. FIG. 12 is a flowchart showing the configuration of the memory map optimization determining method according to the seventh embodiment. Note that in the flowchart shown in FIG.
Steps that are the same as or correspond to 0 are denoted by the same reference numerals, and description thereof is omitted. First, the priority is determined based on the result of actually executing the program or profiling using a simulator or the like (step ST51, priority determination step). In this case, function func1, variable x3, function func3, constant c1, variable x1, and function f
The priority is determined in the order of unc2, variable x2, variable x4, variable x5, and constant c2 (step ST5).
2, priority determination step). The operation of each of the steps after the next step ST43 is the same as the operation described in the flowchart of FIG.

【0058】図13は、このようにプログラムを実際に
実行し、またはシミュレータなどの使用によりプロファ
イルした結果をもとに決定された優先順位により、早い
メモリAと遅いメモリBに対しプログラムの実行速度の
高速化が図れるように最適化されて構築されたメモリマ
ップを示す。
FIG. 13 shows the execution speed of the program for the early memory A and the slow memory B according to the priority determined based on the result of actually executing the program or profiling by using a simulator or the like. 3 shows a memory map optimized and constructed so as to speed up the operation.

【0059】以上のように、この実施の形態7によれ
ば、プログラムを実際に実行し、またはシミュレータな
どの使用によりプロファイルした結果をもとに決定した
優先順位により、高速動作が要求される関数、変数、定
数などのプログラムをアクセスの早いメモリAから遅い
メモリBの順で容易に割り当て配置することができ、プ
ログラムの実行速度の高速化を図れる最適化されたメモ
リマップの構築作業にかかる負荷を軽減できるメモリマ
ップ最適化決定方法が得られる効果がある。
As described above, according to the seventh embodiment, a function requiring high-speed operation is determined by the priority determined based on the result of actually executing a program or profiling using a simulator or the like. , Variables, constants, etc., can be easily allocated and arranged in order from the memory A with the fastest access to the memory B with the slowest access. There is an effect that a memory map optimization determination method that can reduce the problem can be obtained.

【0060】[0060]

【発明の効果】以上のように、この発明によれば、アク
セス速度の早いメモリの順で配置すべきプログラムに対
する優先順位を決定し、該決定した優先順位をもとに、
前記アクセス速度の早いメモリから順に前記各プログラ
ムを配置するに足りるメモリおよびその領域をリンカー
が決定し、アクセス速度の異なる複数種類のメモリを搭
載したシステム上でプログラムの実行速度の高速化を図
れる最適化されたのメモリマップを決定するように構成
したので、アクセス速度の異なる複数種類のメモリを搭
載したシステム上でプログラムの実行速度の高速化を図
れる最適化されたメモリマップを手間をかけずに容易に
構築できる効果がある。
As described above, according to the present invention, the priorities for the programs to be arranged in the order of the memory having the faster access speed are determined, and based on the determined priorities,
The linker determines a sufficient memory and its area for arranging the programs in order from the memory having the fastest access speed, and is optimal for increasing the execution speed of the program on a system equipped with a plurality of types of memories having different access speeds. Optimized memory map that can increase program execution speed on systems equipped with multiple types of memories with different access speeds There is an effect that can be easily constructed.

【0061】この発明によれば、スクリプトファイルに
記述された各プログラムに対する優先順位をもとに、前
記各プログラムの優先順位を決定するように構成したの
で、アクセス速度の異なる複数種類のメモリを搭載した
システム上でプログラムの実行速度の高速化を図れる最
適化されたメモリマップを、前記スクリプトファイルに
記述された各プログラムに対する優先順位により手間を
かけずに容易に構築できる効果がある。
According to the present invention, since the priorities of the programs are determined based on the priorities of the programs described in the script file, a plurality of types of memories having different access speeds are mounted. This makes it possible to easily construct an optimized memory map that can increase the execution speed of a program on a system that has been set up, without any trouble, by prioritizing each program described in the script file.

【0062】この発明によれば、リンカー起動時にコマ
ンドラインからオプションとして指定された優先順位を
もとに、各プログラムの優先順位を決定するように構成
したので、アクセス速度の異なる複数種類のメモリを搭
載したシステム上でプログラムの実行速度の高速化を図
れる最適化されたメモリマップを、前記コマンドライン
からオプションとして指定された優先順位により手間を
かけずに容易に構築できる効果がある。
According to the present invention, since the priority of each program is determined based on the priority specified as an option from the command line when the linker is started, a plurality of types of memories having different access speeds can be stored. There is an effect that an optimized memory map that can increase the execution speed of a program on a mounted system can be easily constructed without any trouble by the priority specified as an option from the command line.

【0063】この発明によれば、各オブジェクトファイ
ルにおいて他のオブジェクトファイルと共通的に関数
毎、変数毎、定数毎に分類されたセクション毎で優先順
位を決定するように構成したので、アクセス速度の異な
る複数種類のメモリを搭載したシステム上でプログラム
の実行速度の高速化を図れる最適化されたメモリマップ
を、全てのオブジェクトファイルにおいて共通的に関数
毎、変数毎、定数毎に分類されたセクション毎の優先順
位により手間をかけずに容易に構築できる効果がある。
According to the present invention, in each object file, the priority is determined for each section classified by function, variable, and constant in common with other object files. Optimized memory maps that can increase the execution speed of programs on systems equipped with different types of memory are shared by all functions, variables, and constants in all object files. There is an effect that it can be easily constructed without any trouble according to the priority order.

【0064】この発明によれば、各オブジェクトファイ
ルの関数毎、変数毎、定数毎に優先順位を決定するよう
に構成したので、アクセス速度の異なる複数種類のメモ
リを搭載したシステム上でプログラムの実行速度の高速
化を図れる最適化されたメモリマップを、前記各オブジ
ェクトファイルの関数毎、変数毎、定数毎の優先順位に
より手間をかけずに容易に構築できる効果がある。
According to the present invention, the priorities are determined for each function, variable, and constant of each object file, so that the program can be executed on a system equipped with a plurality of types of memories having different access speeds. There is an effect that an optimized memory map that can increase the speed can be easily constructed without any trouble by priority of each function, variable, and constant of each object file.

【0065】この発明によれば、オブジェクトファイル
毎に優先順位を決定するように構成したので、アクセス
速度の異なる複数種類のメモリを搭載したシステム上で
プログラムの実行速度の高速化を図れる最適化されたメ
モリマップを、前記オブジェクトファイル毎の優先順位
により手間をかけずに容易に構築できる効果がある。
According to the present invention, the priorities are determined for each object file. Therefore, the optimization can be performed to increase the execution speed of the program on a system equipped with a plurality of types of memories having different access speeds. This makes it possible to easily construct the memory map according to the priority of each object file without any trouble.

【0066】この発明によれば、他のオブジェクトファ
イルとの間で共通的に各オブジェクトファイルにおいて
関数毎、変数毎、定数毎に分類されたセクション毎と、
各オブジェクトファイルの関数毎、変数毎、定数毎と、
オブジェクトファイル毎の内のいずれかの組み合わせで
優先順位を決定するように構成したので、アクセス速度
の異なる複数種類のメモリを搭載したシステム上でプロ
グラムの実行速度の高速化を図れる最適化されたメモリ
マップを、前記セクション、前記各オブジェクトファイ
ルの関数,変数,定数、前記オブジェクトファイルを交
ぜ込んで決定した優先順位により手間をかけずに容易に
構築できる効果がある。
According to the present invention, each object file has a section classified by function, variable, and constant in common with other object files.
For each function, variable, and constant of each object file,
Optimized memory that can increase the program execution speed on a system equipped with multiple types of memories with different access speeds because the priority is determined by any combination of the object files There is an effect that the map can be easily constructed without trouble by the sections, the functions, variables and constants of the object files, and the priorities determined by including the object files.

【0067】この発明によれば、リンカーが全てのオブ
ジェクトファイルに対して各関数、変数、定数などにア
クセスしている箇所をカウントし、そのカウント値をも
とに優先順位を自動的に決定するように構成したので、
アクセス速度の異なる複数種類のメモリを搭載したシス
テム上でプログラムの実行速度の高速化を図れる最適化
されたメモリマップを、前記各関数、変数、定数などの
アクセス頻度をもとに決定した優先順位により手間をか
けずに容易に構築できる効果がある。
According to the present invention, the linker counts locations where all functions, variables, constants, etc. are accessed for all object files, and automatically determines priorities based on the count values. Because it was configured as
Priority determined based on the access frequency of each of the above functions, variables, constants, etc., with an optimized memory map that can increase the execution speed of the program on a system equipped with a plurality of types of memories having different access speeds Thus, there is an effect that the construction can be easily performed without trouble.

【0068】この発明によれば、プログラムを実行させ
てプロファイルした結果をもとに優先順位を決定するよ
うに構成したので、アクセス速度の異なる複数種類のメ
モリを搭載したシステム上でプログラムの実行速度の高
速化を図れる最適化されたメモリマップを、前記プロフ
ァイルした結果をもとに決定した優先順位により手間を
かけずに容易に構築できる効果がある。
According to the present invention, the priority is determined based on the result of profiling by executing the program. Therefore, the execution speed of the program on a system equipped with a plurality of types of memories having different access speeds is determined. There is an effect that an optimized memory map which can achieve high speed can be easily constructed without any trouble by the priority determined based on the profiled result.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 この発明の実施の形態1のメモリマップ最適
化決定方法におけるサンプルプログラムの構成の一例を
示す説明図である。
FIG. 1 is an explanatory diagram showing an example of a configuration of a sample program in a memory map optimization determining method according to a first embodiment of the present invention.

【図2】 この発明の実施の形態1のメモリマップ最適
化決定方法の構成を示すフローチャートである。
FIG. 2 is a flowchart illustrating a configuration of a memory map optimization determining method according to the first embodiment of the present invention;

【図3】 この発明の実施の形態1のメモリマップ最適
化決定方法により最適化されて構築されたメモリマップ
図である。
FIG. 3 is a memory map diagram optimized and constructed by the memory map optimization determining method according to the first embodiment of the present invention;

【図4】 この発明の実施の形態2のメモリマップ最適
化決定方法の構成を示すフローチャートである。
FIG. 4 is a flowchart illustrating a configuration of a memory map optimization determining method according to Embodiment 2 of the present invention;

【図5】 この発明の実施の形態2のメモリマップ最適
化決定方法により最適化されて構築されたメモリマップ
図である。
FIG. 5 is a memory map diagram optimized and constructed by a memory map optimization determining method according to the second embodiment of the present invention;

【図6】 この発明の実施の形態3のメモリマップ最適
化決定方法の構成を示すフローチャートである。
FIG. 6 is a flowchart illustrating a configuration of a memory map optimization determining method according to Embodiment 3 of the present invention;

【図7】 この発明の実施の形態3のメモリマップ最適
化決定方法により最適化されて構築されたメモリマップ
図である。
FIG. 7 is a memory map diagram optimized and constructed by a memory map optimization determining method according to a third embodiment of the present invention;

【図8】 この発明の実施の形態4のメモリマップ最適
化決定方法の構成を示すフローチャートである。
FIG. 8 is a flowchart illustrating a configuration of a memory map optimization determining method according to Embodiment 4 of the present invention;

【図9】 この発明の実施の形態4のメモリマップ最適
化決定方法により最適化されて構築されたメモリマップ
図である。
FIG. 9 is a memory map diagram optimized and constructed by the memory map optimization determining method according to the fourth embodiment of the present invention;

【図10】 この発明の実施の形態6のメモリマップ最
適化決定方法の構成を示すフローチャートである。
FIG. 10 is a flowchart showing a configuration of a memory map optimization determining method according to a sixth embodiment of the present invention.

【図11】 この発明の実施の形態6のメモリマップ最
適化決定方法により最適化されて構築されたメモリマッ
プ図である。
FIG. 11 is a memory map diagram optimized and constructed by a memory map optimization determining method according to a sixth embodiment of the present invention.

【図12】 この発明の実施の形態7のメモリマップ最
適化決定方法の構成を示すフローチャートである。
FIG. 12 is a flowchart showing a configuration of a memory map optimization determining method according to a seventh embodiment of the present invention.

【図13】 この発明の実施の形態7のメモリマップ最
適化決定方法により最適化されて構築されたメモリマッ
プ図である。
FIG. 13 is a memory map diagram optimized and constructed by the memory map optimization determining method according to the seventh embodiment of the present invention.

【符号の説明】[Explanation of symbols]

F1,F2,F3 オブジェクトファイル、ステップS
T1,ステップST2,ステップST11,ステップS
T12,ステップST21,ステップST22,ステッ
プST31,ステップST32,ステップST41,ス
テップST42,ステップST51,ステップST52
優先順位決定ステップ、ステップST3〜ステップS
T5,ステップST13〜ステップST18,ステップ
ST23〜ステップST25,ステップST33〜ステ
ップST36,ステップST43〜ステップST48
メモリマップ最適化ステップ。
F1, F2, F3 object file, step S
T1, step ST2, step ST11, step S
T12, Step ST21, Step ST22, Step ST31, Step ST32, Step ST41, Step ST42, Step ST51, Step ST52
Priority determination step, step ST3 to step S
T5, step ST13 to step ST18, step ST23 to step ST25, step ST33 to step ST36, step ST43 to step ST48
Memory map optimization step.

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 アクセス速度の早いメモリの順で配置す
べきプログラムに対する優先順位を決定する優先順位決
定ステップと、 該優先順位決定ステップで決定した優先順位をもとに、
前記アクセス速度の早いメモリから順に前記各プログラ
ムを配置するに足りるメモリおよびその領域をリンカー
が決定し、アクセス速度の異なる複数種類のメモリを搭
載したシステム上で動作するプログラムのメモリマップ
を決定するメモリマップ最適化ステップとを備えたメモ
リマップ最適化決定方法。
A priority determining step for determining a priority for a program to be allocated in the order of a memory having a higher access speed, and a priority determined based on the priority determined in the priority determining step.
A memory that determines a memory and an area thereof sufficient for arranging the programs in order from the memory having the fastest access speed, and a memory that determines a memory map of a program operating on a system equipped with a plurality of types of memories having different access speeds. A memory map optimization determining method including a map optimization step.
【請求項2】 優先順位決定ステップでは、 スクリプトファイルに記述された各プログラムに対する
優先順位をもとに、前記各プログラムの優先順位を決定
する請求項1記載のメモリマップ最適化決定方法。
2. The memory map optimization determining method according to claim 1, wherein, in the priority determining step, the priority of each program is determined based on the priority of each program described in the script file.
【請求項3】 優先順位決定ステップでは、 リンカー起動時にコマンドラインからオプションとして
指定された優先順位をもとに、各プログラムの優先順位
を決定する請求項1記載のメモリマップ最適化決定方
法。
3. The memory map optimization determining method according to claim 1, wherein in the priority determining step, the priority of each program is determined based on the priority specified as an option from a command line when the linker is started.
【請求項4】 優先順位決定ステップでは、 各オブジェクトファイルにおいて他のオブジェクトファ
イルと共通的に関数毎、変数毎、定数毎に分類されたセ
クション毎で優先順位を決定することを特徴とする請求
項1から請求項3のうちのいずれか1項記載のメモリマ
ップ最適化決定方法。
4. In the priority determining step, priority is determined for each section classified into each function, each variable, and each constant in each object file in common with other object files. The memory map optimization determination method according to any one of claims 1 to 3.
【請求項5】 優先順位決定ステップでは、 各オブジェクトファイルの関数毎、変数毎、定数毎に優
先順位を決定することを特徴とする請求項1から請求項
3のうちのいずれか1項記載のメモリマップ最適化決定
方法。
5. The priority determining step according to claim 1, wherein the priority is determined for each function, variable, and constant of each object file. Memory map optimization decision method.
【請求項6】 優先順位決定ステップでは、 オブジェクトファイル毎に優先順位を決定することを特
徴とする請求項1から請求項3のうちのいずれか1項記
載のメモリマップ最適化決定方法。
6. The memory map optimization determining method according to claim 1, wherein in the priority order determining step, the priority order is determined for each object file.
【請求項7】 優先順位決定ステップでは、 他のオブジェクトファイルとの間で共通的に各オブジェ
クトファイルにおいて関数毎、変数毎、定数毎に分類さ
れたセクション毎と、各オブジェクトファイルの関数
毎、変数毎、定数毎と、オブジェクトファイル毎との内
のいずれかの組み合わせで優先順位を決定することを特
徴とする請求項1から請求項3のうちのいずれか1項記
載のメモリマップ最適化決定方法。
7. In the priority order determining step, in each object file, each section classified into each function, each variable, and each constant, each function in each object file, 4. The memory map optimization determining method according to claim 1, wherein the priority is determined based on a combination of each of the followings, each of the constants, and each of the object files. .
【請求項8】 優先順位決定ステップでは、 リンカーが全てのオブジェクトファイルに対して各関
数、変数、定数などにアクセスしている箇所をカウント
し、そのカウント値をもとに優先順位を自動的に決定す
ることを特徴とする請求項1記載のメモリマップ最適化
決定方法。
8. In the priority determining step, the linker counts locations where all functions, variables, constants, and the like are accessed for all object files, and automatically determines the priority based on the count value. The method according to claim 1, wherein the memory map optimization is determined.
【請求項9】 優先順位決定ステップでは、 プログラムを実行させてプロファイルした結果をもとに
優先順位を決定することを特徴とする請求項1記載のメ
モリマップ最適化決定方法。
9. The memory map optimization determining method according to claim 1, wherein in the priority order determining step, the priority order is determined based on a result of profiling by executing the program.
JP16398798A 1998-06-11 1998-06-11 Method for deciding optimization of memory map Pending JP2000003268A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16398798A JP2000003268A (en) 1998-06-11 1998-06-11 Method for deciding optimization of memory map

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16398798A JP2000003268A (en) 1998-06-11 1998-06-11 Method for deciding optimization of memory map

Publications (1)

Publication Number Publication Date
JP2000003268A true JP2000003268A (en) 2000-01-07

Family

ID=15784615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16398798A Pending JP2000003268A (en) 1998-06-11 1998-06-11 Method for deciding optimization of memory map

Country Status (1)

Country Link
JP (1) JP2000003268A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006079338A (en) * 2004-09-09 2006-03-23 Fujitsu Ltd Program section layout method and layout processing program
JP2008250838A (en) * 2007-03-30 2008-10-16 Kddi Corp Software generation device, method and program
JP2010146181A (en) * 2008-12-17 2010-07-01 Fujitsu Ltd Execution file creation device
JP2011134288A (en) * 2009-01-19 2011-07-07 Fujitsu Ltd Code generation device and code generation method
JP2013161110A (en) * 2012-02-01 2013-08-19 Ricoh Co Ltd Function arrangement device, function arrangement program, and function arrangement method
WO2016038698A1 (en) * 2014-09-10 2016-03-17 株式会社日立製作所 Memory allocation device and method
US10120602B2 (en) 2015-03-30 2018-11-06 Nec Corporation Device and method for determining data placement destination, and program recording medium

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006079338A (en) * 2004-09-09 2006-03-23 Fujitsu Ltd Program section layout method and layout processing program
JP4592367B2 (en) * 2004-09-09 2010-12-01 富士通セミコンダクター株式会社 Program section layout method and layout processing program
JP2008250838A (en) * 2007-03-30 2008-10-16 Kddi Corp Software generation device, method and program
JP2010146181A (en) * 2008-12-17 2010-07-01 Fujitsu Ltd Execution file creation device
JP2011134288A (en) * 2009-01-19 2011-07-07 Fujitsu Ltd Code generation device and code generation method
JP2013161110A (en) * 2012-02-01 2013-08-19 Ricoh Co Ltd Function arrangement device, function arrangement program, and function arrangement method
WO2016038698A1 (en) * 2014-09-10 2016-03-17 株式会社日立製作所 Memory allocation device and method
US10120602B2 (en) 2015-03-30 2018-11-06 Nec Corporation Device and method for determining data placement destination, and program recording medium

Similar Documents

Publication Publication Date Title
US8296771B2 (en) System and method for mapping between resource consumers and resource providers in a computing system
US20170075614A1 (en) Memory system and host apparatus
KR101996975B1 (en) Memory allocation method and device
JP2000003268A (en) Method for deciding optimization of memory map
EP3881192B1 (en) An apparatus and method for handling address decoding in a system-on-chip
US7694182B2 (en) Debugging system and method
JPH05165718A (en) Processing system
JPH06110715A (en) Dynamic allocating method for computer resources in virtual computer system
EP1654635A2 (en) Method and computer system for accessing thread private data
JP3019317B2 (en) Process scheduling method
WO2012127534A1 (en) Barrier synchronization method, barrier synchronization device and processing device
JPS60205644A (en) Memory address extension system
JP3726701B2 (en) Kernel space demand paging swap-out method and method
JP6932755B2 (en) Operating system and memory allocation method
JP2003330730A (en) Operating system arranging device
JP2002259201A (en) Method for starting computer system
KR19990086969A (en) Memory allocation method
JPS5850B2 (en) Main memory expansion unit access method
JPH0430060B2 (en)
US6223241B1 (en) Sharing of the indirect addressing of the registers of a peripheral dedicated to emulation
JPH1131134A (en) Computer system and scheduling method applied to the system
CN115061401A (en) Air conditioner control parameter loading method and device, computer equipment and storage medium
JP2539419B2 (en) Auxiliary storage device selection method
CN116880912A (en) Data processing method and device, data loading method and boot firmware
JPH04245344A (en) Memory control method for multiprocessor system