JP2001142737A - Memory management device - Google Patents
Memory management deviceInfo
- Publication number
- JP2001142737A JP2001142737A JP31966099A JP31966099A JP2001142737A JP 2001142737 A JP2001142737 A JP 2001142737A JP 31966099 A JP31966099 A JP 31966099A JP 31966099 A JP31966099 A JP 31966099A JP 2001142737 A JP2001142737 A JP 2001142737A
- Authority
- JP
- Japan
- Prior art keywords
- logical address
- address
- management device
- space
- memory management
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
- Memory System (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、マルチタスクシス
テムで用いられるメモリ管理装置に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory management device used in a multitask system.
【0002】[0002]
【従来の技術】近年、読み出し専用メモリ(ROM)に
プログラムコードを配置した、いわゆる組み込み型マイ
クロコンピュータ制御システムにおいて、対象システム
の複雑化に伴いプログラムサイズが増大しており、マル
チタスクシステムを構成することが通例となっている。
マルチタスクシステムにおいて、あるタスクが他のタス
クで用いられる記憶情報を破壊するようなバグを持って
いる場合、バグの追求は非常に困難なため、解決に膨大
な時間を要する。2. Description of the Related Art In recent years, in a so-called embedded microcomputer control system in which program codes are arranged in a read-only memory (ROM), a program size has been increased along with the complexity of a target system, and a multi-task system is constituted. It is customary.
In a multitasking system, when a certain task has a bug that destroys stored information used in another task, the pursuit of the bug is extremely difficult, and it takes an enormous amount of time to resolve the bug.
【0003】最近の機器組み込み用マイクロプロセッサ
には、実行段階で機能する保護機構が搭載されつつあ
る。そこで、上記のような問題を解決するため、そのよ
うな保護機構を利用して、バグが発生しうるプログラム
を非特権モードで動作させ、バグが発生しえないプログ
ラムを特権モードで動作させることによってマルチタス
クシステムの誤動作を防止する方法が考えられる。[0003] Recently, microprocessors for embedding devices are being equipped with protection mechanisms that function in the execution stage. Therefore, in order to solve the above-mentioned problem, using such a protection mechanism, a program in which a bug can occur can be operated in a non-privileged mode, and a program in which a bug cannot occur can be operated in a privileged mode. A method for preventing malfunction of the multitasking system can be considered.
【0004】しかし、この方法では各プログラムを特権
モードおよび非特権モードのいずれで動作させるかを決
定することが困難である。また、同じモードで動作する
プログラム同士は互いに破壊することができるため、完
全に問題を解決することはできない。However, in this method, it is difficult to determine whether each program is operated in a privileged mode or a non-privileged mode. In addition, programs operating in the same mode can be destroyed from each other, so that the problem cannot be completely solved.
【0005】また、ワークステーションやパーソナルコ
ンピュータ等のコンピュータの分野では、メモリ管理装
置(MMU)を利用して各タスクを別の論理アドレス空
間で動作させ、タスク間でメモリに直接アクセスできな
いようにすることによってこの問題を解決しているもの
がある。最近の機器組み込み用マイクロプロセッサの中
にはメモリ管理装置を搭載しているものもあるため、こ
のようなマイクロプロセッサでは、上記の問題を解決す
るためにコンピュータと同じようにタスク間でメモリに
直接アクセスできないように構成することが考えられ
る。Further, in the field of computers such as workstations and personal computers, each task is operated in a different logical address space by using a memory management unit (MMU) so that memory cannot be directly accessed between tasks. Some have solved this problem. Some recent microprocessors for embedded devices have a memory management device, so such microprocessors can directly access memory between tasks like a computer to solve the above problem. It is conceivable to configure so as not to be possible.
【0006】しかし、組み込み型マイクロコンピュータ
制御システムでは、多くのタスクがコードやデータを共
有して密接に協調して動作するため、機器組み込み用マ
イクロプロセッサにおいては、別々の論理アドレス空間
にタスクを分割することは非常に困難である。However, in an embedded microcomputer control system, many tasks share code and data and operate in close coordination. Therefore, in an embedded microprocessor, tasks are divided into separate logical address spaces. It is very difficult to do.
【0007】ただし、同じ問題はコンピュータの分野に
も存在し、従来のメモリ管理装置においては、タスク間
で直接アクセス可能な共有メモリを実現している。However, the same problem also exists in the field of computers, and a conventional memory management device implements a shared memory that can be directly accessed between tasks.
【0008】図11は例えば特開平7−93210号公
報に記載されている共有メモリ管理方式を用いて共有メ
モリを実現するための従来のメモリ管理装置の構成を示
すブロック図である。FIG. 11 is a block diagram showing the configuration of a conventional memory management device for realizing a shared memory using the shared memory management method described in, for example, Japanese Patent Application Laid-Open No. 7-93210.
【0009】図11に示すメモリ管理装置800は、メ
モリ領域情報801および空間情報802を保持してい
る。メモリ領域情報801には、メモリ領域を識別する
ためのメモリ領域識別子とそのメモリ領域識別子が示す
メモリ領域のメモリサイズ等のメモリ領域に関する情報
とがメモリ領域ごとに記述されている。空間情報802
には、論理アドレス空間を識別するための空間識別子と
その空間識別子が示す論理アドレス空間に属するメモリ
領域とが論理アドレス空間ごとに記述されている。A memory management device 800 shown in FIG. 11 holds memory area information 801 and space information 802. The memory area information 801 describes a memory area identifier for identifying a memory area and information about the memory area such as the memory size of the memory area indicated by the memory area identifier for each memory area. Spatial information 802
Describes a space identifier for identifying a logical address space and a memory area belonging to the logical address space indicated by the space identifier for each logical address space.
【0010】このメモリ管理装置800は、アドレス変
換表803、マッピング手段804およびアドレス変換
表切り換え手段805を備える。マッピング手段804
は、アドレス変換表803を作成することによってメモ
リ領域を論理アドレス空間にマッピングする。アドレス
変換表803は、各論理アドレス空間ごとに設けられ、
物理アドレスと論理アドレスとの間の変換を行う際に物
理アドレスと論理アドレスとの対応関係を指示する。ア
ドレス変換表切り換え手段805は、タスクを切り換え
る時にアドレス変換表803を切り換えることによって
論理アドレス空間を切り換える。The memory management device 800 includes an address conversion table 803, a mapping unit 804, and an address conversion table switching unit 805. Mapping means 804
Creates an address conversion table 803 to map a memory area to a logical address space. The address conversion table 803 is provided for each logical address space,
When the conversion between the physical address and the logical address is performed, the correspondence between the physical address and the logical address is indicated. The address conversion table switching means 805 switches the logical address space by switching the address conversion table 803 when switching tasks.
【0011】図11に示す従来のメモリ管理装置800
においては、タスクが発行する共有メモリのマッピング
要求に応じてマッピング手段804が起動される。マッ
ピング手段804は、マッピングすべき共有メモリにつ
いてメモリ領域情報801を参照し、マッピングすべき
論理アドレス空間について空間情報802を参照し、そ
してアドレス変換表803を作成することによって、共
有メモリのメモリ領域を論理アドレス空間にマッピング
する。さらに、別のタスクで共有メモリのマッピング要
求が発行された場合にも、図9のメモリ管理装置800
は、同様の処理を行う。このように、複数のタスク間で
共有可能なメモリ領域を論理アドレス空間にマッピング
することによって、アドレス変換表切り換え手段805
が論理アドレス空間を切り換えてもメモリ領域を共有す
ることが可能となる。A conventional memory management device 800 shown in FIG.
In, the mapping means 804 is activated in response to a shared memory mapping request issued by the task. The mapping unit 804 refers to the memory area information 801 for the shared memory to be mapped, refers to the space information 802 for the logical address space to be mapped, and creates an address conversion table 803, so that the memory area of the shared memory can be mapped. Map to logical address space. Further, when a mapping request for a shared memory is issued by another task, the memory management device 800 of FIG.
Performs a similar process. In this way, by mapping the memory area sharable among a plurality of tasks to the logical address space, the address conversion table switching means 805
Can share the memory area even when the logical address space is switched.
【0012】[0012]
【発明が解決しようとする課題】上記のように構成され
た従来のメモリ管理装置800においては、タスクから
の要求によって確保して共有しているメモリ領域では、
各タスクが動的に確保してアクセスするバッファメモリ
やデータ構造に関してタスク間で共有できるのみである
ため、プログラムで直接記述したコードやデータについ
ては共有することができず、問題の解決にはならない。In the conventional memory management device 800 configured as described above, in the memory area secured and shared by a request from a task,
Since each task can only share the buffer memory and data structure that are dynamically allocated and accessed between tasks, the code and data directly written in the program cannot be shared, which does not solve the problem. .
【0013】さらに、メモリ管理装置800において
は、アドレス変換表803を切り換えて論理アドレス空
間を切り換え、かつ共有メモリを複数のタスクが共有し
ているため、メモリへの特定アクセスの監視が困難であ
る。Further, in the memory management device 800, since the logical address space is switched by switching the address conversion table 803, and a plurality of tasks share the shared memory, it is difficult to monitor a specific access to the memory. .
【0014】本発明の目的は、プログラムを変更するこ
となく必要なモジュールのみ必要なタスク間で共有さ
せ、それ以外はタスク間でメモリに直接アクセスでき
ず、メモリに記憶されているタスクの内容が破壊される
のを防止して信頼性の高いシステムを容易に構築するこ
とができ、かつメモリへの特定アクセスの監視が行える
保守性の高いメモリ管理装置を提供することである。An object of the present invention is to allow only necessary modules to be shared between required tasks without changing a program, otherwise the memory cannot be directly accessed between tasks, and the contents of the tasks stored in the memory are destroyed. An object of the present invention is to provide a highly maintainable memory management device which can easily construct a highly reliable system by preventing such a situation from occurring and can monitor a specific access to a memory.
【0015】[0015]
【課題を解決するための手段】(1)第1の発明 第1の発明に係るメモリ管理装置は、メモリの物理アド
レスを複数の論理アドレスへ対応付けるメモリ管理装置
であって、複数の論理アドレス空間と複数のモジュール
との対応関係を示す定義に基づいて、複数の論理アドレ
ス空間のそれぞれにモジュールを配置する配置手段と、
複数のモジュールの物理アドレスを示すモジュール情報
に基づいて、配置手段によりモジュールが配置された論
理アドレス空間の論理アドレスへ物理アドレスを対応付
けるマッピング手段と、タスクの切り換え指示に応答し
て、マッピング手段により対応付けられた複数の論理ア
ドレス空間の切り換えを行う論理アドレス空間切り換え
手段と、論理アドレス空間切り換え手段により切り換え
られた論理アドレス空間において物理アドレスに対応付
けられていない未対応の論理アドレスへのアクセス要求
があった場合に、マッピング手段に未対応の論理アドレ
スをメモリの第1の物理アドレスに対応付けを行わせて
未対応の論理アドレスへのアクセスを実行させるととも
に、未対応の論理アドレスへのアクセスの履歴をメモリ
の第2の物理アドレスに書き込ませるためのトレース手
段と、メモリの第2の物理アドレスからアクセスの履歴
を取得する履歴取得手段とを備えるものである。(1) First invention A memory management device according to a first invention is a memory management device for associating physical addresses of a memory with a plurality of logical addresses, and comprises a plurality of logical address spaces. Allocating means for arranging the module in each of the plurality of logical address spaces based on the definition indicating the correspondence between the module and the plurality of modules;
Mapping means for associating a physical address with a logical address in a logical address space in which a module is arranged by an arrangement means based on module information indicating physical addresses of a plurality of modules, and mapping means in response to a task switching instruction. A logical address space switching means for switching between a plurality of assigned logical address spaces, and an access request to an unsupported logical address which is not associated with a physical address in the logical address space switched by the logical address space switching means. If there is, the mapping unit associates the uncorresponding logical address with the first physical address of the memory to execute access to the uncorresponding logical address. History to the second physical address in memory And tracing means for causing written to scan, in which and a history acquisition unit that acquires a history of the access from the second physical address of the memory.
【0016】本発明に係るメモリ管理装置においては、
配置手段により定義に基づいて複数の論理アドレス空間
のそれぞれにモジュールが配置され、配置された論理ア
ドレス空間の論理アドレスへ物理アドレスがモジュール
情報に基づいてマッピング手段により対応付けられる。
そのため、論理アドレス空間切り換え手段によりタスク
の切り換え指示に応答して論理アドレス空間の切り換え
が行われれば、切り換え前後の論理アドレス空間とモジ
ュールとの対応関係がそれぞれ定義に示されているよう
に定まる。したがって、異なるタスクにおいて必要とさ
れる同一のモジュールが定義により異なるタスクに共通
に対応することが示されていればその同一のモジュール
は共有することができる。しかし、共有されるモジュー
ル以外のモジュールは、異なるタスクの一方にのみ対応
することが定義に示されているので共有されない。それ
により、必要なモジュール以外は異なるタスク間でメモ
リに直接アクセスすることを禁止し、必要なモジュール
のみ異なるタスク間で共有させることができる。In the memory management device according to the present invention,
The module is arranged in each of the plurality of logical address spaces based on the definition by the arrangement unit, and the physical address is associated with the logical address of the arranged logical address space by the mapping unit based on the module information.
Therefore, when the logical address space is switched by the logical address space switching means in response to the task switching instruction, the correspondence between the logical address space and the module before and after the switching is determined as shown in the definition. Therefore, if the same module required in different tasks is indicated by definition to correspond to different tasks in common, the same modules can be shared. However, modules other than the shared module are not shared because the definition indicates that they correspond to only one of the different tasks. As a result, direct access to the memory between different tasks other than the necessary modules is prohibited, and only the necessary modules can be shared between the different tasks.
【0017】さらに、物理アドレスに対応付けられてい
ない未対応の論理アドレスへのアクセス要求が契機とな
って、トレース手段により未対応の論理アドレスでのア
クセスの履歴が第2の物理アドレスに書き込まれ、履歴
取得手段により第2の物理アドレスへ書き込まれたアク
セスの履歴が取得される。それにより、メモリへの特定
アクセスを監視することができる。Further, triggered by an access request to an unsupported logical address that is not associated with a physical address, the tracing means writes the access history at the unsupported logical address to the second physical address. The history of the access written to the second physical address is obtained by the history obtaining means. Thereby, specific access to the memory can be monitored.
【0018】(2)第2の発明 第2の発明に係るメモリ管理装置は、第1の発明に係る
メモリ管理装置の構成において、トレース手段は、未対
応の論理アドレスへのアクセスが終了した後、未対応の
論理アドレスと第1の物理アドレスとの対応付けを解除
させるものである。(2) Second invention In the memory management device according to the second invention, in the configuration of the memory management device according to the first invention, the tracing means is provided after the access to the unsupported logical address is completed. , The correspondence between the unsupported logical address and the first physical address is released.
【0019】この場合、トレース手段が繰り返し論理ア
ドレスに対応付けられていない未対応の論理アドレスへ
のアクセス要求を検出して、履歴取得手段が繰り返しア
クセスの履歴を取得することができる。In this case, the tracing means detects an access request to an unsupported logical address which is not repeatedly associated with the logical address, and the history obtaining means can obtain the history of repeated access.
【0020】(3)第3の発明 第3の発明に係るメモリ管理装置は、第2の発明に係る
メモリ管理装置の構成において、トレース手段を間欠的
に起動する管理手段をさらに備えたものである。(3) Third invention A memory management device according to a third invention is the same as the memory management device according to the second invention, further comprising a management means for intermittently activating the trace means. is there.
【0021】この場合、トレース手段が間欠的に起動さ
れるため、アクセスの履歴の取得回数を制限して、メモ
リ管理装置の動作を効率化することができる。In this case, since the tracing means is started intermittently, the number of times of acquiring the access history can be limited, and the operation of the memory management device can be made efficient.
【0022】(4)第4の発明 第4の発明に係るメモリ管理装置は、第3の発明に係る
メモリ管理装置の構成において、管理手段は、トレース
手段および履歴取得手段を所定時間ごとに起動するもの
である。(4) Fourth Invention In a memory management device according to a fourth invention, in the configuration of the memory management device according to the third invention, the management means activates the trace means and the history acquisition means at predetermined time intervals. Is what you do.
【0023】この場合、所定時間ごとにメモリへの特定
アクセスを監視することができる。In this case, a specific access to the memory can be monitored at predetermined time intervals.
【0024】(5)第5の発明 第5の発明に係るメモリ管理装置は、第3または第4の
発明に係るメモリ管理装置の構成において、トレース手
段は、管理手段により起動されていないときには、配置
手段にモジュールの配置を行わせかつマッピング手段に
未対応の論理アドレスと第1の物理アドレスへの対応付
けを行わせるものである。(5) Fifth invention In a memory management device according to a fifth invention, in the configuration of the memory management device according to the third or fourth invention, when the tracing means is not activated by the management means, The arrangement means arranges the modules and the mapping means associates the unsupported logical address with the first physical address.
【0025】この場合、トレース手段が起動されていな
いときにも第1の物理アドレスへのアクセスが可能にな
る。In this case, it is possible to access the first physical address even when the tracing means is not activated.
【0026】(6)第6の発明 第6の発明に係るメモリ管理装置は、第1〜第5のいず
れかの発明に係るメモリ管理装置の構成において、トレ
ース手段は、物理アドレスに対応付けられていない未対
応の論理アドレスへのアクセス要求として書き込み要求
があった場合に、第1の物理アドレスを第2の物理アド
レスとして用い、第1の物理アドレスに未対応の論理ア
ドレスのアクセスの履歴を書き込むものである。(6) Sixth invention In a memory management device according to a sixth invention, in the configuration of the memory management device according to any one of the first to fifth inventions, the tracing means is associated with a physical address. If there is a write request as an access request to an unsupported logical address that has not been handled, the first physical address is used as the second physical address, and the access history of the logical address that is not supported by the first physical address is stored. What to write.
【0027】この場合、アクセスの履歴をメモリの第2
の物理アドレスに書き込ませるためのトレース手段の機
能を簡略化でき、メモリ管理装置を簡素化できる。In this case, the access history is stored in the second memory in the memory.
The function of the tracing means for writing to the physical address can be simplified, and the memory management device can be simplified.
【0028】(7)第7の発明 第7の発明に係るメモリ管理装置は、第1〜第6のいず
れかの発明に係るメモリ管理装置の構成において、定義
は、複数の論理アドレス空間にそれぞれ所属するセクシ
ョンを定義する空間定義と、各セクションに所属する一
または複数のモジュールを定義するセクション定義とを
含み、配置手段は、アクセスの履歴を取得する対象のセ
クションを定義するトレース定義に基づいて、トレース
定義に定義されているセクションの論理アドレスと第1
の物理アドレスとの対応付けをマッピング手段に解除さ
せることが可能でかつトレース定義に定義されたセクシ
ョンの論理アドレスへ第1の物理アドレスとの対応付け
をマッピング手段に実行させることが可能に構成された
ものである。(7) Seventh invention A memory management device according to a seventh invention is the memory management device according to any one of the first to sixth inventions, wherein the definition is defined in a plurality of logical address spaces respectively. The layout means includes a space definition that defines the section to which the section belongs, and a section definition that defines one or more modules that belong to each section. , The logical address of the section defined in the trace definition and the first
And the mapping unit can release the association with the first physical address to the logical address of the section defined in the trace definition. It is a thing.
【0029】この場合、トレース定義にセクションを定
義するという簡単な操作でアクセスの履歴を取得できる
ようになる。In this case, the access history can be acquired by a simple operation of defining a section in the trace definition.
【0030】[0030]
【発明の実施の形態】(実施の形態1)以下、本発明の
実施の形態1におけるメモリ管理装置について説明す
る。図1は、実施の形態1におけるメモリ管理装置の構
成を示すブロック図である。(Embodiment 1) A memory management device according to Embodiment 1 of the present invention will be described below. FIG. 1 is a block diagram showing a configuration of the memory management device according to the first embodiment.
【0031】図1のメモリ管理装置100は、複数のモ
ジュール情報101、複数のセクション定義102およ
び複数の空間定義103を保持している。The memory management device 100 in FIG. 1 holds a plurality of module information 101, a plurality of section definitions 102, and a plurality of space definitions 103.
【0032】モジュール情報101は、モジュールを識
別するためのモジュール識別子と、そのモジュール識別
子が示すモジュールのコードやデータのサイズ等のプロ
グラムに関する情報とをモジュールごとに記述してい
る。The module information 101 describes, for each module, a module identifier for identifying the module and information on a program such as a code and a data size of the module indicated by the module identifier.
【0033】また、セクション定義102は、セクショ
ンを識別するためのセクション識別子と、そのセクショ
ン識別子が示すセクションに所属する1つまたは複数の
モジュールを識別するためのモジュール識別子とをセク
ションごとに定義する。The section definition 102 defines, for each section, a section identifier for identifying a section and a module identifier for identifying one or a plurality of modules belonging to the section indicated by the section identifier.
【0034】さらに、空間定義103は、論理アドレス
空間を識別するための空間識別子と、その空間識別子が
示す論理アドレス空間に所属する1つまたは複数のセク
ションを識別するためのセクション識別子と、その空間
識別子が示す論理アドレス空間に切り換えるタスクを識
別するタスク識別子とを論理アドレス空間ごとに定義す
る。Further, the space definition 103 includes a space identifier for identifying the logical address space, a section identifier for identifying one or a plurality of sections belonging to the logical address space indicated by the space identifier, A task identifier for identifying a task to be switched to the logical address space indicated by the identifier is defined for each logical address space.
【0035】メモリ管理装置100は、配置手段10
4、複数のアドレス変換表105、マッピング手段10
6、アドレス変換表切り換え手段107、トレース手段
108および履歴取得手段110を備える。The memory management device 100 includes
4. Plurality of address conversion tables 105, mapping means 10
6. It comprises an address conversion table switching means 107, a tracing means 108 and a history obtaining means 110.
【0036】配置手段104は、モジュール情報101
とセクション定義102と空間定義103とに基づき、
複数の論理アドレス空間のそれぞれに所属するセクショ
ンを読み取り、複数の論理アドレス空間のそれぞれのセ
クションについてモジュールの配置を決定する。すなわ
ち、配置手段104は、複数の論理アドレス空間のそれ
ぞれにおいてモジュールの配置を決定する。The arranging means 104 includes the module information 101
And section definition 102 and space definition 103,
A section belonging to each of the plurality of logical address spaces is read, and a module arrangement is determined for each section of the plurality of logical address spaces. That is, the arrangement unit 104 determines the arrangement of the module in each of the plurality of logical address spaces.
【0037】マッピング手段106は、アドレス変換表
105を作成することによって、論理アドレス空間ごと
に配置されているモジュールについて論理アドレスと物
理アドレスとの対応関係を決定するためのマッピングを
行う。The mapping means 106 performs mapping for determining the correspondence between logical addresses and physical addresses for modules arranged for each logical address space by creating the address conversion table 105.
【0038】複数のアドレス変換表105のそれぞれ
は、複数の論理アドレス空間の中の1つと一対一に対応
しており、そのためそれぞれ複数のタスクの中の1つと
一対一に対応しており、対応する論理アドレス空間(タ
スク)における論理アドレスと物理アドレスとの対応関
係を示している。Each of the plurality of address conversion tables 105 has a one-to-one correspondence with one of the plurality of logical address spaces, and thus has a one-to-one correspondence with one of the plurality of tasks. 2 shows the correspondence between logical addresses and physical addresses in a logical address space (task).
【0039】アドレス変換表切り換え手段107は、タ
スクの切り換え指示に応じて、アドレス変換表105を
切り換える。アドレス変換表105が論理アドレス空間
と一対一に対応していることからアドレス変換表105
の切り換えは論理アドレス空間の切り換えを意味する。The address conversion table switching means 107 switches the address conversion table 105 in response to a task switching instruction. Since the address conversion table 105 has a one-to-one correspondence with the logical address space, the address conversion table 105
Switching means switching of the logical address space.
【0040】トレース手段108は、プログラムの実行
中に、アドレス変換表切り換え手段107により切り換
えられたアドレス変換表105において物理アドレスに
対応付けられていない未対応の論理アドレスへの書き込
み要求の有無を検出する。この物理アドレスに対応付け
られていない未対応の論理アドレスへの書き込み要求
は、物理アドレスに対応付けられていない未対応の論理
アドレスへのアクセス要求の一種であり、このような書
き込み要求およびアクセス要求をアクセス例外と呼ぶ。
トレース手段108は、未対応の論理アドレスへの書き
込み要求を検出すると、未対応の論理アドレスを所定の
物理アドレスへのマッピングをマッピング手段106に
行わせる。トレース手段108は、物理アドレスへの書
き込みが終了した後、マッピング手段106に所定の物
理アドレスと論理アドレスとのマッピングを解除させ
る。The trace means 108 detects, during the execution of the program, whether or not there is a write request to an unsupported logical address which is not associated with a physical address in the address conversion table 105 switched by the address conversion table switching means 107. I do. The write request to the unsupported logical address not associated with the physical address is a type of access request to the unsupported logical address not associated with the physical address. Is called an access exception.
When detecting a write request to an unsupported logical address, the tracing unit 108 causes the mapping unit 106 to map the unsupported logical address to a predetermined physical address. After the writing to the physical address is completed, the tracing unit 108 causes the mapping unit 106 to cancel the mapping between the predetermined physical address and the logical address.
【0041】履歴取得手段110は、アクセス例外の発
生の通知に応じて、所定の物理アドレスに新たに書き込
まれたアクセスの履歴を取得する。The history acquiring means 110 acquires an access history newly written to a predetermined physical address in response to the notification of the occurrence of the access exception.
【0042】本実施の形態では、アドレス変換表105
およびアドレス変換表切り換え手段107は論理アドレ
ス空間切り換え手段に相当し、セクション定義102お
よび空間定義103が対応関係を示す定義に相当する。In this embodiment, the address conversion table 105
The address conversion table switching means 107 corresponds to a logical address space switching means, and the section definition 102 and the space definition 103 correspond to a definition indicating a correspondence.
【0043】なお、配置手段104、マッピング手段1
06、アドレス変換表切り換え手段107、トレース手
段108および履歴取得手段110は、CPU(中央演
算処理装置)がROM(リードオンリメモリ)等の記憶
装置に記憶されたプログラムをRAM(ランダムアクセ
スメモリ)等のメモリ上で実行することにより実現され
る。また、モジュール情報101、セクション定義10
2および空間定義103は、ファイルとしてROM、ハ
ードディスク装置等の記憶装置に予め記憶される。さら
に、アドレス変換表105は、マッピング手段106に
より作成された後、RAM、ハードディスク装置等の記
憶装置に格納される。The arrangement means 104 and the mapping means 1
06, the address conversion table switching means 107, the tracing means 108, and the history obtaining means 110, the CPU (Central Processing Unit) executes a program stored in a storage device such as a ROM (Read Only Memory) or a RAM (Random Access Memory). By executing the program on a memory. Also, module information 101, section definition 10
2 and the space definition 103 are stored in advance in a storage device such as a ROM or a hard disk device as a file. Further, after the address conversion table 105 is created by the mapping means 106, it is stored in a storage device such as a RAM or a hard disk device.
【0044】図2は、メモリ管理装置100が保持して
いるモジュール情報101、セクション定義102およ
び空間定義103の一例を示す概念図である。図3は、
メモリ管理装置100が行ったマッピングの一例を示す
概念図である。FIG. 2 is a conceptual diagram showing an example of the module information 101, the section definition 102, and the space definition 103 held by the memory management device 100. FIG.
FIG. 3 is a conceptual diagram illustrating an example of mapping performed by a memory management device 100.
【0045】メモリ管理装置100は、図2のモジュー
ル情報101には、「モジュール1」、「モジュール
2」および「モジュール3」というモジュールをそれぞ
れ示すモジュール識別子211〜213と、各モジュー
ル識別子211〜213が示すモジュールのコードアド
レス、コードサイズ、データアドレスおよびデータサイ
ズとが記述されている。The memory management apparatus 100 includes, in the module information 101 of FIG. 2, module identifiers 211 to 213 indicating modules “module 1”, “module 2” and “module 3”, and module identifiers 211 to 213, respectively. Describes the code address, code size, data address, and data size of the module indicated by.
【0046】セクション定義102には、「セクション
1」、「セクション2」および「セクション3」という
セクションをそれぞれ示すセクション識別子221〜2
23と、各セクション識別子221〜223が示すセク
ションにそれぞれ属する「モジュール1」、「モジュー
ル2」および「モジュール3」というモジュールをそれ
ぞれ示すモジュール識別子211〜213とが定義され
ている。The section definition 102 includes section identifiers 221 to 2 indicating sections “section 1”, “section 2” and “section 3”, respectively.
23, and module identifiers 211 to 213 indicating modules “module 1”, “module 2” and “module 3” respectively belonging to the section indicated by each of the section identifiers 221 to 223.
【0047】空間定義103には、「空間1」および
「空間2」という論理アドレス空間をそれぞれ示す空間
識別子231,232と、各空間識別子231,232
が示す論理アドレス空間に属する「セクション1」、
「セクション2」および「セクション3」というセクシ
ョンをそれぞれ示すセクション識別子221〜223
と、各空間識別子231,232が示す論理アドレス空
間が属する「タスク1」および「タスク2」というタス
クをそれぞれ示すタスク識別子241,242とが定義
されている。The space definition 103 includes space identifiers 231 and 232 indicating logical address spaces “space 1” and “space 2”, respectively, and space identifiers 231 and 232.
“Section 1” belonging to the logical address space indicated by
Section identifiers 221 to 223 indicating sections “section 2” and “section 3”, respectively
And task identifiers 241 and 242 respectively indicating tasks “task 1” and “task 2” to which the logical address space indicated by each space identifier 231 and 232 belongs.
【0048】図2に示すモジュール情報101とセクシ
ョン定義102と空間定義103とを用いて、空間識別
子231,232で示される「空間1」および「空間
2」という論理アドレス空間について、それぞれ表1お
よび表2に示すアドレス変換表を作成することによっ
て、図3に示すマッピングを行う。ただし、アクセス例
外が発生していないときには、表2の点線で囲まれた論
理アドレス「0x31000000」と物理アドレス
「0x90008000」とのマッピングは行われてい
ない。Using the module information 101, the section definition 102, and the space definition 103 shown in FIG. 2, the logical address spaces “space 1” and “space 2” indicated by the space identifiers 231 and 232 are shown in Tables 1 and 2, respectively. By creating the address conversion table shown in Table 2, the mapping shown in FIG. 3 is performed. However, when no access exception has occurred, the mapping between the logical address “0x3100000” and the physical address “0x9008000” surrounded by the dotted line in Table 2 is not performed.
【0049】[0049]
【表1】 [Table 1]
【0050】[0050]
【表2】 [Table 2]
【0051】なお、図3においては、2つの論理アドレ
ス空間LA,LBと物理アドレス空間PSとの対応関係
が示されている。本例では、論理アドレス空間LAが
「空間1」に相当し、論理アドレス空間LBが「空間
2」に相当する。FIG. 3 shows the correspondence between the two logical address spaces LA and LB and the physical address space PS. In this example, the logical address space LA corresponds to “space 1”, and the logical address space LB corresponds to “space 2”.
【0052】次に、メモリ管理装置100の動作につい
て説明する。メモリ管理装置100はシステム初期化時
に、図3に示すマッピングを行うために配置手段104
を起動する。起動された配置手段104は、さらにマッ
ピング手段106を起動する。Next, the operation of the memory management device 100 will be described. At the time of system initialization, the memory management device 100 arranges the mapping unit 104 to perform the mapping shown in FIG.
Start The activated arrangement means 104 further activates the mapping means 106.
【0053】配置手段104は、空間定義103を参照
し、空間識別子231により示される「空間1」という
論理アドレス空間にセクション識別子221により示さ
れる「セクション1」が所属することを読み取る。The arranging means 104 refers to the space definition 103 and reads that “section 1” indicated by the section identifier 221 belongs to the logical address space “space 1” indicated by the space identifier 231.
【0054】次に配置手段104は、セクション定義1
02を参照し、セクション識別子221により示される
「セクション1」にモジュール識別子211により示さ
れる「モジュール1」が所属することを読み取る。Next, the arranging means 104 sends the section definition 1
02, it is read that “module 1” indicated by the module identifier 211 belongs to “section 1” indicated by the section identifier 221.
【0055】さらに、配置手段104は、モジュール情
報101を参照し、モジュール識別子211により示さ
れる「モジュール1」のコードアドレス、コードサイ
ズ、データアドレスおよびデータサイズを読み取る。そ
して、配置手段104は、モジュール識別子211によ
り示される「モジュール1」のコードアドレスおよびデ
ータアドレスを、空間識別子231により示される「空
間1」という論理アドレス空間上に配置する。それによ
り、「モジュール1」が「空間1」に配置される。Further, the arranging means 104 refers to the module information 101 and reads the code address, code size, data address and data size of “module 1” indicated by the module identifier 211. Then, the arranging unit 104 arranges the code address and the data address of “module 1” indicated by the module identifier 211 on the logical address space “space 1” indicated by the space identifier 231. Thereby, “module 1” is arranged in “space 1”.
【0056】次に、配置手段104は、空間識別子23
1により示される「空間1」という論理アドレス空間に
セクション識別子222により示される「セクション
2」が所属することを読み取り、「セクション1」の場
合と同様に、空間定義103とセクション定義102と
モジュール情報101に基づき、モジュール識別子21
2により示される「モジュール2」のコードアドレスと
データアドレスとを空間識別子231により示される
「空間1」という論理アドレス空間上に配置する。それ
により、「モジュール2」が「空間1」に配置される。Next, the arranging means 104 sets the space identifier 23
It is read that “section 2” indicated by the section identifier 222 belongs to the logical address space “space 1” indicated by “1”, and the space definition 103, section definition 102, and module information are read in the same manner as in “section 1”. 101, the module identifier 21
The code address and the data address of “module 2” indicated by “2” are arranged on a logical address space of “space 1” indicated by the space identifier 231. Thereby, “module 2” is arranged in “space 1”.
【0057】同様に、配置手段104は、空間定義10
3を参照し、空間識別子232により示される「空間
2」という論理アドレス空間にセクション識別子222
により示される「セクション2」が所属することを読み
取り、空間定義103とセクション定義102とモジュ
ール情報101に基づき、モジュール識別子212に示
される「モジュール2」のコードアドレスとデータアド
レスとを空間識別子232により示される「空間2」と
いう論理アドレス空間上に配置する。それにより、「モ
ジュール2」が「空間2」に配置される。Similarly, the arranging means 104 sets the space definition 10
3 and the section identifier 222 in the logical address space “space 2” indicated by the space identifier 232.
Is read, and based on the space definition 103, the section definition 102, and the module information 101, the code address and the data address of the "module 2" indicated by the module identifier 212 are read by the space identifier 232. It is arranged on a logical address space called “space 2” as shown. Thereby, “module 2” is arranged in “space 2”.
【0058】また、配置手段104は、空間定義103
を参照し、空間識別子232により示される「空間2」
という論理アドレス空間にセクション識別子223によ
り示される「セクション3」が所属することを読み取
り、空間定義103とセクション定義102とモジュー
ル情報101に基づき、モジュール識別子213により
示される「モジュール3」のコードアドレスとデータア
ドレスとを空間識別子232により示される「空間2」
という論理アドレス空間上に配置する。それにより、
「モジュール3」が「空間2」に配置される。The arranging means 104 generates the space definition 103
, “Space 2” indicated by the space identifier 232
It reads that “section 3” indicated by the section identifier 223 belongs to the logical address space, and based on the space definition 103, section definition 102, and module information 101, the code address of “module 3” indicated by the module identifier 213 and "Space 2" indicated by the data identifier and the space identifier 232
Are arranged in a logical address space. Thereby,
“Module 3” is arranged in “Space 2”.
【0059】マッピング手段106は、空間識別子23
1により示される「空間1」という論理アドレス空間に
おいて、配置手段104によってコードアドレスおよび
データアドレスが配置された論理アドレスに物理アドレ
スを対応させ、表1に示すアドレス変換表105を作成
する。The mapping means 106 has the space identifier 23
In a logical address space “space 1” indicated by “1”, the allocating unit 104 associates the physical address with the logical address where the code address and the data address are allocated, and creates the address conversion table 105 shown in Table 1.
【0060】次に、マッピング手段106は、空間識別
子232により示される「空間2」という論理アドレス
空間において、配置手段104によってコードアドレス
およびデータアドレスが配置された論理アドレスに物理
アドレスを対応させ、表2に示すアドレス変換表105
を作成する。Next, in the logical address space “space 2” indicated by the space identifier 232, the mapping means 106 associates the physical address with the logical address in which the code address and the data address are arranged by the arranging means 104, and Address conversion table 105 shown in FIG.
Create
【0061】上記の場合、「空間1」および「空間2」
の両方にモジュール識別子212により示される「モジ
ュール2」が所属しているので、配置手段104は、論
理アドレス空間LAの論理アドレス「0x110000
00」および「0x21000000」に「モジュール
2」のコードアドレスおよびデータアドレスをそれぞれ
配置する。それにより、マッピング手段106は、物理
アドレス「0x80001000」を論理アドレス空間
LAの論理アドレス「0x11000000」および論
理アドレス空間LBの論理アドレス「0x110000
00」へマッピングする。In the above case, "space 1" and "space 2"
Of the logical address “0x110000” of the logical address space LA, the “module 2” indicated by the module identifier 212 belongs to both of them.
The code address and the data address of “module 2” are arranged at “00” and “0x2100000”, respectively. Accordingly, the mapping unit 106 converts the physical address “0x80001000” into the logical address “0x11000000” in the logical address space LA and the logical address “0x110000” in the logical address space LB.
00 ”.
【0062】同様に、マッピング手段106は、物理ア
ドレス「0x90001000」を論理アドレス空間L
Aの論理アドレス「0x21000000」および論理
アドレス空間LBの論理アドレス「0x2100000
0」へマッピングする。Similarly, the mapping means 106 stores the physical address “0x90001000” in the logical address space L
A logical address “0x2100000” and logical address “0x2100000” of logical address space LB
0 ”.
【0063】このように、図3の論理アドレス空間L
A,LBと物理アドレス空間PSとの対応関係が決定さ
れる。As described above, the logical address space L shown in FIG.
The correspondence between A, LB and the physical address space PS is determined.
【0064】マッピング手段106は、これらアドレス
変換表105を作成する際に、空間定義103を参照し
てタスクと論理アドレス空間との関連づけを行ってい
る。アドレス変換表切り換え手段107は、表1が「タ
スク1」に対応し、表2が「タスク2」に対応するとい
う情報を保持している。When creating the address conversion table 105, the mapping means 106 refers to the space definition 103 to associate a task with a logical address space. The address conversion table switching means 107 holds information that Table 1 corresponds to “Task 1” and Table 2 corresponds to “Task 2”.
【0065】システム初期化終了後、アドレス変換表切
り換え手段107は、タスクの切り換え指示に応じて、
表1および表2に示したようなアドレス変換表105の
切り換えを行う。After the system initialization is completed, the address conversion table switching means 107 responds to the task switching instruction by
Switching of the address conversion table 105 as shown in Tables 1 and 2 is performed.
【0066】例えば、タスク識別子241により示され
る「タスク1」を行った後に、タスク識別子242によ
り示される「タスク2」を行う場合、アドレス変換表切
り換え手段107は、アドレス変換表105を、空間識
別子231により示される「空間1」という論理アドレ
ス空間に対応した表1から空間識別子232により示さ
れる「空間2」という論理アドレス空間に対応した表2
へと切り換える。つまり、アドレス変換表切り換え手段
107は、アドレス変換表105を切り換えることによ
って、「空間1」から「空間2」への切り換えを行って
いる。For example, when performing “task 1” indicated by the task identifier 241 and then performing “task 2” indicated by the task identifier 242, the address conversion table switching means 107 stores the address conversion table 105 in the space identifier Table 2 corresponding to the logical address space “space 2” indicated by the space identifier 232 from Table 1 corresponding to the logical address space “space 1” indicated by 231
Switch to. In other words, the address conversion table switching unit 107 switches from “space 1” to “space 2” by switching the address conversion table 105.
【0067】本実施の形態のメモリ管理装置100によ
れば、配置手段104およびマッピング手段106によ
って、「空間1」および「空間2」という異なる論理ア
ドレス空間に所属する同一の「モジュール2」が同一の
物理アドレスに割り付けられるように、論理アドレス空
間ごとにマッピングが行われる。それにより、タスクの
切り換えに応じてアドレス変換表切り換え手段107が
「空間1」および「空間2」の切り換えを行っても「モ
ジュール2」を共通に使用することができる。つまり、
メモリ管理装置100では、タスク識別子241により
示される「タスク1」およびタスク識別子242により
示される「タスク2」のような互いに異なる2つのタス
クが同一の「モジュール2」を共有することができる。According to the memory management apparatus 100 of the present embodiment, the same “module 2” belonging to different logical address spaces “space 1” and “space 2” is the same by the arrangement unit 104 and the mapping unit 106. Mapping is performed for each logical address space so as to be assigned to the physical address. As a result, even when the address conversion table switching means 107 switches between “space 1” and “space 2” in response to the task switching, “module 2” can be used in common. That is,
In the memory management device 100, two different tasks such as “task 1” indicated by the task identifier 241 and “task 2” indicated by the task identifier 242 can share the same “module 2”.
【0068】次にメモリへのアクセスの履歴の取得につ
いて説明する。図1のトレース手段108は、プログラ
ムの実行中に、物理アドレス空間PSにマッピングされ
ていない論理アドレスへの書き込み要求(アクセス例
外)を検出する。例えば、アドレス変換表切り換え手段
107により表2のアドレス変換表105が選択されて
いて、論理アドレス「0x31000000」に書き込
み要求があった場合に、トレース手段108は論理アド
レス「0x31000000」というマッピングされて
いない論理アドレスに書き込み要求があったこと(アク
セス例外)を検出する。Next, the acquisition of the access history to the memory will be described. 1 detects a write request (access exception) to a logical address that is not mapped in the physical address space PS during execution of the program. For example, when the address conversion table 105 in Table 2 is selected by the address conversion table switching unit 107 and a write request is issued to the logical address “0x3100000”, the tracing unit 108 is not mapped to the logical address “0x3100000”. It detects that a write request has been made to a logical address (access exception).
【0069】トレース手段108は、アクセス例外を検
出すると、マッピングされていない論理アドレスを物理
アドレス空間PSの所定の物理アドレスにマッピング手
段106によりマッピングさせる。例えば、マッピング
手段106が、物理アドレス空間PSの物理アドレス
「0x90008000」に論理アドレス「0x310
00000」をマッピングする。そして、トレース手段
108は、論理アドレスへの書き込み要求を実行させ
る。例えば、論理アドレス「0x31000000」へ
の書き込み命令を実行させる。それにより、物理アドレ
ス「0x90008000」に何らかのデータの書き込
みが行われる。When detecting the access exception, the tracing means 108 causes the mapping means 106 to map the unmapped logical address to a predetermined physical address in the physical address space PS. For example, the mapping unit 106 stores the logical address “0x310” in the physical address “0x9008000” of the physical address space PS.
00000 "is mapped. Then, the tracing unit 108 executes a write request to the logical address. For example, a write instruction to the logical address “0x3100000” is executed. As a result, some data is written to the physical address “0x9008000”.
【0070】その後、トレース手段108は、書き込み
要求に応じてマッピングした物理アドレスと論理アドレ
スとのマッピングをマッピング手段106に解除させ
る。例えば、物理アドレス「0x90008000」と
物理アドレス「0x31000000」とのマッピング
をマッピング手段106に解除させる。それにより、再
び論理アドレス「0x31000000」に書き込み要
求があった場合にトレース手段108によりアクセス例
外を検出することができる。Thereafter, the tracing means 108 causes the mapping means 106 to release the mapping between the physical address and the logical address mapped in response to the write request. For example, the mapping unit 106 releases the mapping between the physical address “0x90000000” and the physical address “0x3100000”. Thus, when there is a write request to the logical address “0x3100000” again, the access exception can be detected by the trace unit 108.
【0071】アクセスの履歴の取得は、履歴取得手段1
10が予め定められている物理アドレスの内容を読み出
すことにより行われる。アクセスの履歴が書き込まれる
物理アドレスは予め定められているので、履歴取得手段
110は、マッピングが解除されてもアクセスの履歴を
取得できる。例えば、所定の物理アドレス「0x900
08000」に書き込まれるデータが論理アドレス「0
x31000000」への書き込み要求の有無を示すフ
ラグである場合には、物理アドレス「0x900080
00」のデータを読み出すことにより論理アドレス「0
x31000000」へのアクセスの有無を監視するこ
とができる。The access history is acquired by the history acquisition means 1
10 is performed by reading the contents of a predetermined physical address. Since the physical address to which the access history is written is predetermined, the history acquisition unit 110 can acquire the access history even if the mapping is released. For example, a predetermined physical address “0x900
08000 ”is the logical address“ 0 ”
If the flag indicates the presence / absence of a write request to “x3100000”, the physical address “0x900080”
The logical address “0” is read by reading the data “00”.
x3100000 ”can be monitored.
【0072】また、所定の物理アドレス「0x9000
8000」に書き込まれるデータが論理アドレス「0x
31000000」への書き込み要求の回数を示すカウ
ント値である場合には、物理アドレス「0x90008
000」のデータを読み出すことにより論理アドレス
「0x31000000」へのアクセス回数を監視する
ことができる。このような書き込みを行わせるために、
プログラム中に、論理アドレス「0x3100000
0」へフラグの書き込みを行う命令やカウント値の書き
込みを行う命令を記述しておく。Further, a predetermined physical address “0x9000”
8000 ”is the logical address“ 0x
If the count value indicates the number of write requests to “3100000”, the physical address “0x90008”
By reading the data of "000", the number of accesses to the logical address "0x3100000" can be monitored. In order to make such writing,
During the program, the logical address "0x3100000"
An instruction for writing a flag or an instruction for writing a count value to “0” is described.
【0073】本実施の形態のメモリ管理装置100によ
れば、未対応の論理アドレス「0x31000000」
へのアクセス要求が契機となって、トレース手段108
により論理アドレス「0x31000000」へのアク
セスの履歴が物理アドレス「0x90008000」へ
書き込まれたときに、履歴取得手段110が論理アドレ
ス「0x31000000」へのアクセスの履歴を物理
アドレス「0x90008000」から取得して、メモ
リへの特定アクセスを監視することができる。それによ
り、メモリ管理装置100の保守性を高めることができ
る。According to the memory management device 100 of the present embodiment, the unsupported logical address “0x3100000”
Tracing means 108 triggered by an access request to
When the access history to the logical address “0x31000000” is written to the physical address “0x90000000”, the history acquisition unit 110 acquires the access history to the logical address “0x31000000” from the physical address “0x90000000”, Specific access to memory can be monitored. Thereby, the maintainability of the memory management device 100 can be improved.
【0074】なお、図2では、「モジュール1」〜「モ
ジュール3」と「セクション1」〜「セクション3」と
が一対一で対応する場合について説明したが、図4に示
すようにセクション識別子224により示される1つの
「セクション4」にモジュール識別子211,212に
より示される複数の「モジュール1」および「モジュー
ル2」が対応し、セクション識別子225により示され
る1つの「セクション5」にモジュール識別子212,
213により示される複数の「モジュール2」および
「モジュール3」が対応し、セクション識別子226に
より示される「セクション6」にモジュール識別子21
4により示される「モジュール4」が対応するように構
成することができる。In FIG. 2, the case where "module 1" to "module 3" correspond one-to-one with "section 1" to "section 3" has been described. However, as shown in FIG. A plurality of “module 1” and “module 2” indicated by the module identifiers 211 and 212 correspond to one “section 4” indicated by “.”, And the module identifiers 212 and 212 correspond to one “section 5” indicated by the section identifier 225.
A plurality of “module 2” and “module 3” indicated by 213 correspond, and a module identifier 21 corresponds to “section 6” indicated by a section identifier 226.
4 can be configured to correspond.
【0075】例えば「セクション4」を特権モードで取
り扱われるモジュールの集合と定義し、別の「セクショ
ン5」を非特権モードで取り扱われるモジュールの集合
と定義することにより、「セクション4」および「セク
ション5」で「モジュール2」の取り扱い規定を別々に
設けることができる。それにより、同じ機能を持ちなが
ら異なる取り扱い規定としなければならないモジュール
を、空間識別子233,234によりぞれぞれ示される
「空間3」および「空間4」という論理アドレス空間に
おいて、タスク識別子243,244により示される
「タスク3」および「タスク4」の間で共有することが
できる。For example, by defining “section 4” as a set of modules handled in the privileged mode and defining another “section 5” as a set of modules handled in the non-privileged mode, “section 4” and “section” are defined. In "5", a handling rule for "module 2" can be separately provided. As a result, modules that have the same function but must be handled differently are assigned task identifiers 243 and 244 in the logical address spaces “space 3” and “space 4” indicated by the space identifiers 233 and 234, respectively. Can be shared between “task 3” and “task 4”.
【0076】(実施の形態2)図5は本発明の実施の形
態2におけるメモリ管理装置の構成を示すブロック図で
ある。(Embodiment 2) FIG. 5 is a block diagram showing a configuration of a memory management device according to Embodiment 2 of the present invention.
【0077】図5に示すメモリ管理装置300は、配置
手段304、複数のアドレス変換表105、マッピング
手段306、アドレス変換表切り換え手段107および
トレース手段308を備える。The memory management apparatus 300 shown in FIG. 5 includes an arrangement unit 304, a plurality of address conversion tables 105, a mapping unit 306, an address conversion table switching unit 107, and a tracing unit 308.
【0078】図5のメモリ管理装置300は、図1のメ
モリ管理装置100と同様に、複数のモジュール情報1
01、複数のセクション定義102および複数の空間定
義103を保持している。メモリ管理装置300は、図
1のメモリ管理装置100と異なり、トレース定義30
9を保持している。The memory management device 300 shown in FIG. 5 is similar to the memory management device 100 shown in FIG.
01, a plurality of section definitions 102 and a plurality of space definitions 103. The memory management device 300 differs from the memory management device 100 of FIG.
9 is held.
【0079】メモリ管理装置300は、トレース定義3
09を保持しており、配置手段304、マッピング手段
306およびトレース手段308の機能がメモリ管理装
置100の配置手段104、マッピング手段106およ
びトレース手段108と相違する。The memory management device 300 determines that the trace definition 3
09, and the functions of the arrangement unit 304, the mapping unit 306, and the trace unit 308 are different from those of the arrangement unit 104, the mapping unit 106, and the trace unit 108 of the memory management device 100.
【0080】トレース定義309は、トレースを識別す
るためのトレース識別子と、そのトレース識別子が示す
セクションに所属する1つまたは複数のセクションを識
別するためのセクション識別子とを定義する。The trace definition 309 defines a trace identifier for identifying a trace, and a section identifier for identifying one or a plurality of sections belonging to the section indicated by the trace identifier.
【0081】配置手段304は、モジュール情報101
とセクション定義102と空間定義103とに基づき、
複数の論理アドレス空間のそれぞれに所属するセクショ
ンを読み取り、複数の論理アドレス空間のそれぞれのセ
クションについてモジュールの配置を決定する。また、
配置手段304は、後述するトレース手段308からの
アクセス例外の検出の通知を受けて、セクション定義1
02とモジュール情報101と空間定義103とに基づ
き、アドレス変換表105に対応する論理空間にアクセ
ス要求の出ているセクションのモジュールを配置し、後
述するマッピング手段306にマッピングさせる。さら
に、配置手段304は、トレース定義309に基づい
て、マッピングを解除すべきセクションを後述するマッ
ピング手段306に指示する。The arranging means 304 stores the module information 101
And section definition 102 and space definition 103,
A section belonging to each of the plurality of logical address spaces is read, and a module arrangement is determined for each section of the plurality of logical address spaces. Also,
The placement unit 304 receives the notification of the detection of the access exception from the tracing unit 308 described later, and
02, the module information 101, and the space definition 103, the module of the section for which the access request has been issued is arranged in the logical space corresponding to the address conversion table 105, and is mapped by the mapping means 306 described later. Further, the arrangement unit 304 instructs the mapping unit 306, which will be described later, a section to be unmapped based on the trace definition 309.
【0082】マッピング手段306は、アドレス変換表
105を作成することによって、配置手段304により
論理アドレス空間ごとに配置されているモジュールにつ
いて論理アドレスと物理アドレスとの対応関係を決定す
るためのマッピングを行う。また、マッピング手段30
6は、配置手段304からの指定されたセクションの論
理アドレスと物理アドレスとの対応関係を解除する。The mapping means 306 creates the address conversion table 105, and performs mapping for determining the correspondence between logical addresses and physical addresses for the modules arranged for each logical address space by the arranging means 304. . Also, the mapping means 30
No. 6 releases the correspondence between the logical address and the physical address of the section specified by the arrangement unit 304.
【0083】トレース手段308は、プログラムの実行
中に、物理アドレスに対応付けられていない未対応の論
理アドレスへのアクセス要求(アクセス例外)を検出す
る。未対応の論理アドレスへのアクセス要求には、メモ
リへの書き込み要求以外にメモリからの読み出し要求が
含まれる。トレース手段308は、アクセス例外を検出
すると、アクセス例外を検出したことを配置手段304
に通知する。また、トレース手段308は、未対応の論
理アドレスへのアクセスを行うステップ実行の終了を検
出して、配置手段304にマッピングの解除を指示す
る。The trace means 308 detects an access request (access exception) to an unsupported logical address that is not associated with a physical address during execution of the program. An access request to an unsupported logical address includes a read request from the memory in addition to a write request to the memory. When the tracing unit 308 detects an access exception, the tracing unit 308 reports that the access exception has been detected.
Notify. Further, the tracing unit 308 detects the end of the step execution for accessing the unsupported logical address, and instructs the arrangement unit 304 to cancel the mapping.
【0084】履歴取得手段110は、トレース手段30
8から与えられるアクセス例外の発生の通知に応じて、
マッピング手段306がマッピングを解除する前に、マ
ッピング手段306のマッピングにより未対応の論理ア
ドレスへ対応付けられた物理アドレスからアクセス履歴
を取得する。The history acquisition means 110 is provided by the tracing means 30
In response to the notification of the occurrence of the access exception given from 8,
Before the mapping means 306 cancels the mapping, the access history is acquired from the physical address associated with the unsupported logical address by the mapping of the mapping means 306.
【0085】なお、配置手段304、マッピング手段3
06、トレース手段308および履歴取得手段310
は、CPUがROM等の記憶装置に記憶されたプログラ
ムをRAM等のメモリ上で実行することにより実現され
る。また、トレース定義309は、ファイルとしてRO
M、ハードディスク装置等の記憶装置に予め記憶され
る。Note that the arrangement means 304 and the mapping means 3
06, tracing means 308 and history acquiring means 310
Is realized by a CPU executing a program stored in a storage device such as a ROM on a memory such as a RAM. Also, the trace definition 309 is stored in the RO
M and stored in a storage device such as a hard disk device in advance.
【0086】図6は、メモリ管理装置300が保持して
いるモジュール情報101、セクション定義102、空
間定義103およびトレース定義309の構成を示す概
念図である。図7はメモリ管理装置300が行ったマッ
ピングの一例を示す概念図である。FIG. 6 is a conceptual diagram showing the configuration of module information 101, section definition 102, space definition 103, and trace definition 309 held by the memory management device 300. FIG. 7 is a conceptual diagram illustrating an example of mapping performed by the memory management device 300.
【0087】図6のモジュール情報101、セクション
定義102および空間定義103の構成は図2のモジュ
ール情報101、セクション定義102および空間定義
103と同様である。トレース定義309には、「トレ
ース1」というトレースを示すトレース識別子250
と、「トレース1」に属する「セクション3」というセ
クションを示すセクション識別子251が定義されてい
る。The configurations of the module information 101, section definition 102 and space definition 103 in FIG. 6 are the same as the module information 101, section definition 102 and space definition 103 in FIG. The trace definition 250 includes a trace identifier 250 indicating a trace “trace 1”.
And a section identifier 251 indicating a section “section 3” belonging to “trace 1”.
【0088】図6に示すモジュール情報101、セクシ
ョン定義102および空間定義103を用いて空間識別
子231,232で示される「空間1」および「空間
2」という論理アドレス空間について、それぞれ表3お
よび表4に示すアドレス変換表を作成することによって
図7に示すマッピングを行う。ただし、表4の点線で囲
まれた論理アドレス「0x12000000」と物理ア
ドレス「0x80002000」とのマッピング、およ
び論理アドレス「0x22000000」と物理アドレ
ス「0x90002000」とのマッピングはアクセス
例外が発生していない状態では解除されている。Using the module information 101, the section definition 102, and the space definition 103 shown in FIG. 6, the logical address spaces “space 1” and “space 2” indicated by the space identifiers 231 and 232 are shown in Tables 3 and 4, respectively. The mapping shown in FIG. 7 is performed by creating the address conversion table shown in FIG. However, the mapping between the logical address “0x12000000” and the physical address “0x800000000” and the mapping between the logical address “0x2200000” and the physical address “0x9000002” surrounded by the dotted line in Table 4 are in the state where no access exception occurs. Has been released.
【0089】[0089]
【表3】 [Table 3]
【0090】[0090]
【表4】 [Table 4]
【0091】なお、図7における2つの論理アドレス空
間LA,LBと「空間1」、「空間2」との対応関係は
図3の場合と同様である。The correspondence between the two logical address spaces LA and LB in FIG. 7 and “space 1” and “space 2” is the same as in FIG.
【0092】次に、メモリ管理装置300の動作につい
て説明する。メモリ管理装置300はシステム初期化時
に、図7に示すマッピングを行うために配置手段304
を起動する。起動された配置手段304は、さらにマッ
ピング手段306を起動する。配置手段304およびマ
ッピング手段306は、まず図1のメモリ管理装置10
0と同様にして、図3に示すマッピングを行う。Next, the operation of the memory management device 300 will be described. At the time of system initialization, the memory management device 300 arranges the mapping unit 304 to perform the mapping shown in FIG.
Start The activated arrangement unit 304 further activates the mapping unit 306. The arranging unit 304 and the mapping unit 306 are provided by the memory management device 10 of FIG.
0, the mapping shown in FIG. 3 is performed.
【0093】次に、配置手段304は、トレース定義3
09を参照し、トレース識別子250により示される
「トレース1」というトレースにセクション識別子25
1により示される「セクション3」が所属することを読
み取る。Next, the arranging means 304 sets the trace definition 3
09, the trace “trace 1” indicated by the trace identifier 250 is added to the section identifier 25
Read that "section 3" indicated by 1 belongs.
【0094】配置手段304は、空間定義103を参照
し、「空間2」に「セクション3」が所属することを読
み取る。次に、配置手段304は、セクション定義10
2を参照し、「セクション3」に「モジュール3」が所
属することを読み取る。さらに、配置手段304は、モ
ジュール情報101を参照し、「モジュール3」のコー
ドアドレスをデータアドレスならびにコードサイズおよ
びデータサイズを読み取る。それにより、解除すべき物
理アドレスが配置手段304に認識される。そして、配
置手段304は、「セクション3」についての論理アド
レスと物理アドレスとの解除をマッピング手段306に
指示する。The arrangement unit 304 refers to the space definition 103 and reads that “section 3” belongs to “space 2”. Next, the arranging means 304 executes the section definition 10
Referring to FIG. 2, it is read that “module 3” belongs to “section 3”. Further, the arrangement unit 304 refers to the module information 101 and reads the code address of “module 3”, the data address, the code size, and the data size. Thereby, the physical address to be released is recognized by the arrangement means 304. Then, the arrangement unit 304 instructs the mapping unit 306 to release the logical address and the physical address for “section 3”.
【0095】次に、マッピング手段306は配置手段3
04からの指示に応じ、表2に示す論理アドレス「0x
12000000」と物理アドレス「0x800020
00」との対応付けおよび論理アドレス「0x2200
0000」と物理アドレス「0x90002000」と
対応付けを解除して、論理アドレス「0x110000
00」と物理アドレス「0x80001000」とのマ
ッピングおよび論理アドレス「0x21000000」
と物理アドレス「0x90001000」とのマッピン
グを残して表4に示すアドレス変換表を作成する。Next, the mapping means 306 is arranged
04, the logical address “0x” shown in Table 2
12000000 "and physical address" 0x800020 "
00 and the logical address “0x2200”
0000 ”and the physical address“ 0x9002000 ”, and the logical address“ 0x110000 ”is released.
00 "and the physical address" 0x80001000 "and the logical address" 0x2100000 "
The address conversion table shown in Table 4 is created while leaving the mapping between the address and the physical address “0x90001000”.
【0096】システム初期化終了後、メモリ管理装置3
00のアドレス変換表切り換え手段107がタスクの切
り換え指示に応じて、表3および表4に示したようなア
ドレス変換表105の切り換えを行ってタスクの切り換
えを行うのは、図1のメモリ管理装置100と同様であ
る。After the system initialization is completed, the memory management device 3
The address management table switching means 107 of FIG. 1 performs the task switching by switching the address conversion tables 105 as shown in Tables 3 and 4 in response to the task switching instruction. Same as 100.
【0097】本実施の形態のメモリ管理装置300によ
れば、図1のメモリ管理装置100と同様に、タスク識
別子241により示される「タスク1」およびタスク識
別子242により示される「タスク2」のような互いに
異なる2つのタスクが同一の「モジュール2」を共有す
ることができる。According to the memory management device 300 of the present embodiment, like the memory management device 100 of FIG. 1, “task 1” indicated by the task identifier 241 and “task 2” indicated by the task identifier 242. Two different tasks can share the same “module 2”.
【0098】次にメモリへのアクセス履歴の取得につい
て説明する。図5のトレース手段308は、プログラム
実行中に、マッピングされていない論理アドレスに書き
込み要求があったこと(アクセス例外)を検出する。例
えば、アドレス変換表切り換え手段107により表4の
アドレス変換表105が選択されていて、「セクション
3」の論理アドレスへの書き込み要求があった場合にト
レース手段308はアクセス例外を検出する。Next, the acquisition of the access history to the memory will be described. The trace means 308 in FIG. 5 detects that a write request has been made to an unmapped logical address (access exception) during execution of the program. For example, when the address conversion table 105 in Table 4 is selected by the address conversion table switching unit 107 and a write request to the logical address of “section 3” is issued, the trace unit 308 detects an access exception.
【0099】トレース手段308は、アクセス例外を検
出すると、マッピングされていない「セクション3」に
ついてのマッピングを配置手段304に指示する。配置
手段304は、「空間2」において、セクション定義1
02およびモジュール情報101に基づき、「セクショ
ン3」の配置を行う。その後、配置手段304は、マッ
ピング手段306を起動して、配置手段304が行った
「セクション3」の配置に基づいて、「セクション3」
のマッピングを行わせる。例えば、マッピング手段30
6は、図7に示すように論理アドレス「0x12000
000」を物理アドレス「0x80002000」にマ
ッピングするとともに「0x22000000」を物理
アドレス「0x90002000」にマッピングする。
そして、「モジュール3」のステップ実行により、「モ
ジュール3」の実行を示すフラグが物理アドレス「0x
90002000」に書き込まれる。When detecting the access exception, the tracing unit 308 instructs the mapping unit 304 on the mapping of “Section 3” that is not mapped. The arranging means 304 determines the section definition 1 in the “space 2”.
02 and the module information 101, the "section 3" is arranged. After that, the arranging unit 304 activates the mapping unit 306 and, based on the arrangement of the “section 3” performed by the arranging unit 304, sets “section 3”
Is performed. For example, the mapping means 30
6 is a logical address “0x12000” as shown in FIG.
000 "is mapped to a physical address" 0x8002000 "and" 0x2200000 "is mapped to a physical address" 0x9000002 ".
Then, by the step execution of “module 3”, the flag indicating the execution of “module 3” is changed to the physical address “0x”.
90002000 ".
【0100】トレース手段308は、アクセス例外が発
生したことを履歴取得手段310に通知する。履歴取得
手段310は、マッピング手段306が行ったマッピン
グに基づいて、物理アドレス「0x90002000」
から「モジュール3」の実行を示すフラグを取得する。The tracing unit 308 notifies the history obtaining unit 310 that an access exception has occurred. The history acquisition unit 310 determines the physical address “0x9002000” based on the mapping performed by the mapping unit 306.
, A flag indicating the execution of “module 3” is obtained.
【0101】その後、トレース手段308は、「セクシ
ョン3」のマッピングの解除を配置手段304に指示す
る。配置手段304は、マッピング手段306に「セク
ション3」のマッピングを解除させる。それにより、新
たに「セクション3」の論理アドレスにアクセス要求が
あった場合に、トレース手段308は、アクセス例外を
検出することができる。Thereafter, the tracing unit 308 instructs the arranging unit 304 to release the mapping of “Section 3”. The arrangement unit 304 causes the mapping unit 306 to release the mapping of “section 3”. Thus, when a new access request is made to the logical address of “section 3”, the tracing unit 308 can detect an access exception.
【0102】本実施の形態のメモリ管理装置300によ
れば、「セクション3」の未対応の論理アドレスへのア
クセス要求が契機となって、トレース手段308により
「セクション3」の論理アドレスへのアクセスの履歴が
物理アドレス「0x90002000」へ書き込まれた
ときには、履歴取得手段310が「セクション3」の論
理アドレスへのアクセスの履歴を物理アドレスから取得
して、メモリへの特定アクセスを監視することができ
る。それにより、メモリ管理装置300の保守性を高め
ることができる。According to the memory management apparatus 300 of the present embodiment, the access request to the unsupported logical address of “section 3” is triggered by the tracing means 308 to access the logical address of “section 3”. Is written to the physical address “0x9002000”, the history acquisition unit 310 can acquire the access history to the logical address of “Section 3” from the physical address and monitor the specific access to the memory. . Thereby, maintainability of the memory management device 300 can be improved.
【0103】(実施の形態3)図8は本発明の実施の形
態3におけるメモリ管理装置の構成を示すブロック図で
ある。(Embodiment 3) FIG. 8 is a block diagram showing a configuration of a memory management device according to Embodiment 3 of the present invention.
【0104】図8に示すメモリ管理装置400は、配置
手段304、複数のアドレス変換表105、マッピング
手段306、アドレス変換表107、トレース手段40
8および履歴取得手段410を備える。The memory management device 400 shown in FIG. 8 includes an arrangement unit 304, a plurality of address conversion tables 105, a mapping unit 306, an address conversion table 107, and a tracing unit 40.
8 and a history acquisition unit 410.
【0105】図8のメモリ管理装置400は、図5のメ
モリ管理装置300と同様に、複数のモジュール情報1
01、複数のセクション定義102、複数の空間定義1
03およびトレース定義309を保持している。The memory management device 400 shown in FIG. 8 is similar to the memory management device 300 shown in FIG.
01, multiple section definitions 102, multiple space definitions 1
03 and the trace definition 309.
【0106】メモリ管理装置400は、トレース手段4
08および履歴取得手段410の機能が図5に示すメモ
リ管理装置300と異なっている。メモリ管理装置40
0において、トレース手段408および履歴取得手段4
10以外の構成はメモリ管理装置300と同様である。The memory management device 400 includes the tracing unit 4
08 and the function of the history acquisition unit 410 are different from those of the memory management device 300 shown in FIG. Memory management device 40
0, the trace unit 408 and the history acquisition unit 4
The configuration other than 10 is the same as that of the memory management device 300.
【0107】トレース手段408は、プログラムの実行
中に物理アドレスに対応付けられていない未対応の論理
アドレスへのアクセス要求(アクセス例外)を検出す
る。トレース手段408は、アクセス例外を検出する
と、配置手段304にトレース定義309を参照させ、
アクセス要求の出ているセクションについて、モジュー
ル情報101とセクション定義102と空間定義103
とに基づき、配置手段104に現在用いられているアド
レス変換表105に対応する論理空間にアクセス要求の
出ているセクションのモジュールを配置させる。The trace means 408 detects an access request (access exception) to an unsupported logical address that is not associated with a physical address during execution of a program. When detecting the access exception, the tracing unit 408 causes the arranging unit 304 to refer to the trace definition 309,
For the section for which the access request is issued, module information 101, section definition 102, and space definition 103
Based on the above, the module of the section for which the access request is issued is arranged in the logical space corresponding to the address conversion table 105 currently used by the arrangement means 104.
【0108】また、トレース手段408は、未対応の論
理アドレスへのアクセスを行うステップ実行の終了を検
出して配置手段304にマッピング解除を指示するとと
もに、所定の物理アドレスへアクセスの履歴を書き込
む。The tracing means 408 detects the end of the execution of the step for accessing an unsupported logical address, instructs the arranging means 304 to release the mapping, and writes the access history to a predetermined physical address.
【0109】履歴取得手段410はトレース手段408
から与えられるアクセス例外の発生の通知に応答して、
トレース手段308がアクセスの履歴を書き込んだ所定
の物理アドレスからアクセスの履歴を取得する。The history acquiring means 410 is provided with the tracing means 408
In response to the notification of the occurrence of an access exception given by
The trace unit 308 acquires the access history from a predetermined physical address where the access history is written.
【0110】なお、トレース手段408および履歴取得
手段410は、CPUがROM等の記憶装置に記憶され
たプログラムをRAM等のメモリ上で実行することによ
り実現される。Note that the tracing means 408 and the history obtaining means 410 are realized by the CPU executing a program stored in a storage device such as a ROM on a memory such as a RAM.
【0111】メモリ管理装置400は、図6に示す構成
を有するモジュール情報101、セクション定義10
2、空間定義103およびトレース定義309を保持し
ている。図9は、メモリ管理装置400が行ったマッピ
ングの一例を示す概念図である。The memory management device 400 has the module information 101 and the section definition 10 having the configuration shown in FIG.
2, and holds a space definition 103 and a trace definition 309. FIG. 9 is a conceptual diagram illustrating an example of mapping performed by the memory management device 400.
【0112】表3および表4に示すアドレス変換表を作
成することによって、図9に示すマッピングが行われる
のは、メモリ管理装置300の場合と同様である。By creating the address conversion tables shown in Tables 3 and 4, the mapping shown in FIG. 9 is performed as in the case of the memory management device 300.
【0113】次に、メモリ管理装置400の動作につい
て説明する。メモリ管理装置400はシステム初期化時
に、図9に示すマッピングを行うために配置手段304
を起動する。起動された配置手段304は、さらにマッ
ピング手段306を起動する。配置手段304およびマ
ッピング手段306は、図5のメモリ管理装置300と
同様にして、図9に示すマッピングを行う。Next, the operation of the memory management device 400 will be described. At the time of system initialization, the memory management device 400 performs the mapping unit 304 to perform the mapping shown in FIG.
Start The activated arrangement unit 304 further activates the mapping unit 306. The arrangement unit 304 and the mapping unit 306 perform the mapping shown in FIG. 9 in the same manner as the memory management device 300 of FIG.
【0114】次に、配置手段304は、モジュール情報
101、セクション定義102、空間定義103および
トレース定義309を参照し、図5のメモリ管理装置3
00と同様にして、「セクション3」のマッピングの解
除を行う。Next, the arrangement unit 304 refers to the module information 101, the section definition 102, the space definition 103, and the trace definition 309, and refers to the memory management device 3 shown in FIG.
As in the case of 00, the mapping of “section 3” is released.
【0115】システム初期化終了後、メモリ管理装置4
00のアドレス変換表切り換え手段107がタスクの切
り換え指示に応じて、表3および表4に示したようなア
ドレス変換表の切り換えを行ってタスクの切り換えを行
うのは、図5のメモリ管理装置300と同様である。After the system initialization is completed, the memory management device 4
The reason that the address conversion table switching means 107 of 00 performs the task switching by switching the address conversion tables as shown in Tables 3 and 4 in response to the task switching instruction is the same as that of the memory management apparatus 300 in FIG. Is the same as
【0116】本実施の形態のメモリ管理装置400によ
れば、図5のメモリ管理装置300と同様に、タスク識
別子241により「タスク1」およびタスク識別子24
2により示される「タスク2」のような互いに異なる2
つのタスクが同一の「モジュール2」を共有することが
できる。According to the memory management device 400 of the present embodiment, similarly to the memory management device 300 of FIG.
2 different from each other such as “task 2” indicated by 2
Two tasks can share the same “module 2”.
【0117】次にメモリへのアクセス履歴の取得につい
て説明する。図8のトレース手段408は、アクセス例
外の検出を行う。例えば、アドレス変換表切り換え手段
107により表4のアドレス変換表105が選択されて
いて、「セクション3」の論理アドレスにアクセスの要
求があった場合に、トレース手段408は、マッピング
されていない論理アドレスにアクセスの要求があったこ
と(アクセス例外)を検出する。Next, acquisition of the access history to the memory will be described. The trace means 408 in FIG. 8 detects an access exception. For example, when the address conversion table 105 in Table 4 is selected by the address conversion table switching unit 107 and an access request is made to the logical address of “Section 3”, the tracing unit 408 outputs the logical address that is not mapped. Is detected (access exception).
【0118】トレース手段408は、アクセス例外を検
出すると、マッピングされていない「セクション3」に
ついてのマッピングを配置手段304に指示する。配置
手段304は、「空間2」において、セクション定義1
02およびモジュール情報101に基づき、「セクショ
ン3」の配置を行う。その後、配置手段304は、マッ
ピング手段306を起動して、配置手段304が行った
「セクション3」の配置に基づいて、「セクション3」
のマッピングを行う。When detecting an access exception, the tracing unit 408 instructs the mapping unit 304 to perform mapping on the unmapped “section 3”. The arranging means 304 determines the section definition 1 in the “space 2”.
02 and the module information 101, the "section 3" is arranged. After that, the arranging unit 304 activates the mapping unit 306, and based on the arrangement of “section 3” performed by the arranging unit 304, sets “section 3”
Perform mapping.
【0119】トレース手段308は、「モジュール3」
のステップ実行を監視し、「モジュール3」のアクセス
の履歴を所定の物理アドレスに書き込む。例えば図9の
物理アドレス空間PSの物理アドレス「0x90009
000」に書き込む。The tracing means 308 is "module 3"
, And writes the access history of “module 3” to a predetermined physical address. For example, the physical address “0x90009” in the physical address space PS in FIG.
000 ”.
【0120】トレース手段408は、アクセス例外に応
じてアクセスの履歴の書き込みを行ったことを履歴取得
手段410に通知する。履歴取得手段410は、トレー
ス手段408がアクセスの履歴を書き込んだ物理アドレ
ス「0x90009000」からアクセスの履歴を取得
する。トレース手段408が書き込むアクセスの履歴と
しては、例えば、アクセス例外が発生したか否かのフラ
グやアクセス例外の回数を示すカウンタ値、アクセス例
外が発生したプログラム(命令)、アクセス例外が発生
した時刻、あるいはアクセス例外が発生した時点での何
らかの状態変数等がある。The trace means 408 notifies the history acquisition means 410 that the access history has been written in response to the access exception. The history obtaining unit 410 obtains the access history from the physical address “0x9000000” to which the trace unit 408 has written the access history. The access history written by the trace unit 408 includes, for example, a flag indicating whether an access exception has occurred, a counter value indicating the number of access exceptions, a program (instruction) in which the access exception has occurred, a time in which the access exception has occurred, Alternatively, there is some state variable at the time when the access exception occurs.
【0121】その後、トレース手段408は、「セクシ
ョン3」のマッピングの解除を配置手段304に指示す
る。配置手段304は、マッピング手段306に「セク
ション3」のマッピングを解除させる。それにより、新
たに「セクション3」の論理アドレスにアクセス要求が
あった場合に、トレース手段408はアクセス例外を検
出することができる。Thereafter, the tracing unit 408 instructs the arranging unit 304 to cancel the mapping of “section 3”. The arrangement unit 304 causes the mapping unit 306 to release the mapping of “section 3”. Thus, when there is a new access request to the logical address of “section 3”, the tracing unit 408 can detect an access exception.
【0122】本実施の形態のメモリ管理装置400によ
れば、「セクション3」の未対応の論理アドレスへのア
クセス要求が契機となって、トレース手段408により
「セクション3」の論理アドレスへのアクセスの履歴が
物理アドレス「0x90009000」へ書き込まれた
ときには、履歴取得手段410が「セクション3」の論
理アドレスへのアクセスの履歴を物理アドレス「0x9
0009000」から取得して、メモリへの特定アクセ
スを監視することができる。それにより、メモリ管理装
置400の保守性を高めることができる。According to the memory management apparatus 400 of the present embodiment, the access request to the unsupported logical address of “section 3” is triggered by the tracing means 408 to access the logical address of “section 3”. Is written to the physical address “0x9000000”, the history acquisition unit 410 stores the access history to the logical address of “section 3” in the physical address “0x90000”.
0009000 "to monitor specific access to the memory. Thereby, maintainability of the memory management device 400 can be improved.
【0123】なお、配置手段304が、マッピング手段
306にマッピングを解除させる際に、マッピングを解
除する物理アドレスと論理アドレスとの対応関係を記憶
しておくことによって、再度マッピングする際に物理ア
ドレスと論理アドレスとの対応関係が前回のマッピング
と同じになるようにしてもよい。When the mapping means 306 cancels the mapping, the arranging means 304 stores the correspondence between the physical address to be unmapped and the logical address. The correspondence with the logical address may be the same as the previous mapping.
【0124】なお、上記の実施の形態においては、ステ
ップ実行完了後にアクセスの履歴の取得を行ったが、ス
テップ実行のための命令発行前にアクセスの履歴の取得
を行ってもよい。In the above embodiment, the access history is acquired after the step execution is completed. However, the access history may be acquired before the instruction for executing the step is issued.
【0125】また、トレース定義309に定義されたセ
クションへのアクセスは必ずトレースするように構成し
ているが、トレースを選択的に行ってもよい。例えば、
トレース定義に条件を加え、トレース手段408がトレ
ース定義の条件が真の場合のみトレース領域への書き込
みを行うようにしてもよい。例えば、未対応の論理アド
レスにアクセスしてステップ実行を行う命令をランクづ
けして、所定のランク以上の命令を実行する場合のみト
レースするようにするという条件を加える。Although access to the section defined in the trace definition 309 is configured to always be traced, tracing may be performed selectively. For example,
A condition may be added to the trace definition, and the tracing means 408 may write to the trace area only when the condition of the trace definition is true. For example, there is added a condition that an instruction to execute a step execution by accessing an unsupported logical address is ranked, and only when an instruction of a predetermined rank or higher is executed, a trace is performed.
【0126】(実施の形態4)図10は本発明の実施の
形態4におけるメモリ管理装置の構成を示すブロック図
である。(Embodiment 4) FIG. 10 is a block diagram showing a configuration of a memory management device according to Embodiment 4 of the present invention.
【0127】図10に示すメモリ管理装置600は、配
置手段304、複数のアドレス変換表105、マッピン
グ手段306、アドレス変換表切り換え手段107、ト
レース手段608、履歴取得手段410および時間管理
手段611を備える。The memory management device 600 shown in FIG. 10 includes an arrangement unit 304, a plurality of address conversion tables 105, a mapping unit 306, an address conversion table switching unit 107, a trace unit 608, a history acquisition unit 410, and a time management unit 611. .
【0128】図10のメモリ管理装置600は、図8の
メモリ管理装置400と同様に、複数のモジュール情報
101、複数のセクション定義102、複数の空間定義
103およびトレース定義309を保持している。The memory management device 600 of FIG. 10 holds a plurality of module information 101, a plurality of section definitions 102, a plurality of space definitions 103, and a trace definition 309, similarly to the memory management device 400 of FIG.
【0129】図10のメモリ管理装置600は、トレー
ス手段608の機能がメモリ管理装置400のトレース
手段408の機能と異なっている。また、メモリ管理装
置600は、時間管理手段611を備えている点がメモ
リ管理装置400と異なっている。In the memory management device 600 shown in FIG. 10, the function of the tracing means 608 is different from the function of the tracing means 408 of the memory management device 400. Further, the memory management device 600 is different from the memory management device 400 in that a time management unit 611 is provided.
【0130】時間管理手段611は、後述するトレース
手段608および履歴取得手段410を所定時間ごとに
繰り返し起動する。トレース手段608は、時間管理手
段611により起動されると、配置手段304に対して
トレース定義309に定義されているセクションのマッ
ピングの解除を指示する。そして、トレース手段608
は、プログラムの実行中に、物理アドレスに対応付けら
れていない未対応の論理アドレスへのアクセス要求(ア
クセス例外)を検出する。トレース手段608は、アク
セス例外を検出すると、配置手段304にトレース定義
309を参照させ、セクション定義102とモジュール
情報101と空間定義103とに基づき、配置手段30
4に現在用いられているアドレス変換表105に対応す
る論理空間にアクセス要求の出ているセクションのモジ
ュールを配置させる。トレース手段608は、アクセス
の履歴を所定の物理アドレスに書き込むとともに配置手
段304にマッピングの解除を指示する。The time management means 611 repeatedly activates a trace means 608 and a history acquisition means 410, which will be described later, at predetermined time intervals. The trace unit 608, when activated by the time management unit 611, instructs the arrangement unit 304 to release the mapping of the section defined in the trace definition 309. Then, the tracing means 608
Detects an access request (access exception) to an unsupported logical address that is not associated with a physical address during execution of a program. When detecting the access exception, the tracing unit 608 causes the arranging unit 304 to refer to the trace definition 309 and, based on the section definition 102, the module information 101, and the space definition 103,
In step 4, the module of the section for which the access request is issued is arranged in the logical space corresponding to the address conversion table 105 currently used. The tracing unit 608 writes the access history to a predetermined physical address and instructs the arrangement unit 304 to cancel the mapping.
【0131】また、トレース手段608は、時間管理手
段611がトレース手段608に対してアクセスの履歴
の取得の中止を指示すると、配置手段304に対してト
レース定義309に定義されているセクションのマッピ
ングを指示する。When the time management means 611 instructs the tracing means 608 to stop acquiring the access history, the tracing means 608 changes the mapping of the section defined in the trace definition 309 to the arranging means 304. To instruct.
【0132】履歴取得手段410は、トレース手段60
8から与えられるアクセスの例外の発生の通知に応じ
て、トレース手段608がマッピングを解除する前に、
トレース手段608がアクセスの履歴を書き込んだ物理
アドレスからアクセスの履歴を取得する。The history acquisition means 410 is provided by the tracing means 60
In response to the notification of the occurrence of the access exception provided by the tracing means 8 before the tracing means 608 cancels the mapping,
The tracing unit 608 acquires the access history from the physical address where the access history is written.
【0133】本実施の形態において、時間管理手段61
1が管理手段に相当する。なお、トレース手段608お
よび時間管理手段611は、CPUがROM等の記憶装
置に記憶されたプログラムをRAM等のメモリ上で実行
することにより実施される。In this embodiment, the time management means 61
1 corresponds to the management means. The tracing unit 608 and the time management unit 611 are implemented when the CPU executes a program stored in a storage device such as a ROM on a memory such as a RAM.
【0134】次に、メモリ管理装置600の動作につい
て説明する。メモリ管理装置600は、時間管理手段6
11がトレース手段608を起動してトレースの履歴を
取得する状態になっている場合には、図8のメモリ管理
装置400と同様の動作を行い、時間管理手段611に
よりトレース手段608が起動されていない場合には、
図1のトレース手段108がアクセスの履歴の取得を行
わない場合と同様の動作を行う。Next, the operation of the memory management device 600 will be described. The memory management device 600 includes a time management unit 6
When the trace management unit 11 activates the trace unit 608 and acquires the trace history, the same operation as that of the memory management device 400 in FIG. 8 is performed, and the time management unit 611 activates the trace unit 608. If not,
The same operation as when the tracing means 108 in FIG. 1 does not acquire the access history is performed.
【0135】本実施の形態のメモリ管理装置600にお
いても、図1のメモリ管理装置100と同様に、タスク
識別子241により示される「タスク1」およびタスク
識別子242により示される「タスク2」のような互い
に異なる2つのタスクが同一の「モジュール2」を共有
することができる。また、マッピングの解除をアクセス
要求があるごとに常に行うのではなく、時間管理手段6
11がトレース手段608を起動しているときだけ行
い、メモリ管理装置600が効率よく動作する。なお、
上記の実施の形態においては、所定の時間ごとにマッピ
ングを解除するようにしたが、時間以外の別の要素をト
リガとして利用して間欠的にトレース手段608および
履歴取得手段410を起動してもよい。In the memory management device 600 of the present embodiment, as in the memory management device 100 of FIG. 1, “task 1” indicated by the task identifier 241 and “task 2” indicated by the task identifier 242 are used. Two different tasks can share the same “module 2”. In addition, the release of the mapping is not always performed every time an access request is made, but the time management means 6 is not used.
11 is performed only when the tracing unit 608 is activated, and the memory management device 600 operates efficiently. In addition,
In the above-described embodiment, the mapping is released every predetermined time. However, the trace unit 608 and the history acquisition unit 410 may be activated intermittently by using another element other than the time as a trigger. Good.
【0136】なお、実施の形態1〜4のメモリ管理装置
100,300,400,600においては、配置手段
104,304によって、共有するモジュールを異なる
論理アドレス空間における同一論理アドレスに配置して
同一のモジュールの論理アドレスを同一の物理アドレス
に割り付けているが、共有するモジュールを異なる論理
アドレス空間における異なる論理アドレスに配置して同
一のモジュールの論理アドレスを同一の物理アドレスに
割り付けるようにしてもよい。In the memory management apparatuses 100, 300, 400, and 600 according to the first to fourth embodiments, the allocation module 104 or 304 allocates the shared module to the same logical address in different logical address spaces and uses the same module. Although the logical addresses of the modules are allocated to the same physical address, the shared modules may be allocated to different logical addresses in different logical address spaces, and the logical addresses of the same module may be allocated to the same physical address.
【0137】また、実施の形態1〜4においては、モジ
ュール情報101にプログラムのコードおよびデータの
みに関する情報が記述されている場合について示したが
スタックや初期値を有するデータ等の情報が記述されて
いてもよく、これらの情報をマッピングすることができ
る。Further, in the first to fourth embodiments, the case where information relating to only the code and data of the program is described in the module information 101 has been described, but information such as data having a stack and an initial value is described. Alternatively, such information can be mapped.
【0138】[0138]
【発明の効果】本発明に係るメモリ管理装置によれば、
必要なモジュール以外は異なるタスク間でメモリに直接
アクセスすることを禁止し、必要なモジュールのみ異な
るタスク間で共有させることができる。さらに、物理ア
ドレスに対応付られていない未対応の論理アドレスへの
アクセス要求を契機として、メモリへの特定アクセスを
監視することができる。According to the memory management device of the present invention,
It is possible to prohibit direct access to memory between different tasks except for necessary modules, and to share only necessary modules between different tasks. Further, a specific access to the memory can be monitored, triggered by an access request to an unsupported logical address that is not associated with a physical address.
【図1】本発明の実施の形態1によるメモリ管理装置の
構成を示すブロック図FIG. 1 is a block diagram showing a configuration of a memory management device according to a first embodiment of the present invention.
【図2】図1のメモリ管理装置が保持するモジュール情
報とセクション定義と空間定義の一例を示す概念図FIG. 2 is a conceptual diagram showing an example of module information, a section definition, and a space definition held by the memory management device of FIG. 1;
【図3】図1のメモリ管理装置が行うマッピングの一例
を示す概念図FIG. 3 is a conceptual diagram showing an example of mapping performed by the memory management device of FIG. 1;
【図4】図1のメモリ管理装置が保持するモジュール情
報とセクション定義と空間定義の他の例を示す概念図FIG. 4 is a conceptual diagram showing another example of module information, section definition, and space definition held by the memory management device of FIG. 1;
【図5】本発明の実施の形態2によるメモリ管理装置の
構成を示すブロック図FIG. 5 is a block diagram showing a configuration of a memory management device according to a second embodiment of the present invention.
【図6】図5のメモリ管理装置が保持するモジュール情
報とセクション定義と空間定義とタスク定義の一例を示
す概念図6 is a conceptual diagram showing an example of module information, section definition, space definition, and task definition held by the memory management device of FIG.
【図7】図5のメモリ管理装置が行うマッピングの一例
を示す概念図7 is a conceptual diagram showing an example of mapping performed by the memory management device in FIG.
【図8】本発明の実施の形態3によるメモリ管理装置の
構成を示すブロック図FIG. 8 is a block diagram showing a configuration of a memory management device according to a third embodiment of the present invention.
【図9】図8のメモリ管理装置が行うマッピングの一例
を示す概念図9 is a conceptual diagram showing an example of mapping performed by the memory management device in FIG.
【図10】本発明の実施の形態4によるメモリ管理装置
の構成を示すブロック図FIG. 10 is a block diagram showing a configuration of a memory management device according to a fourth embodiment of the present invention.
【図11】従来のメモリ管理装置の構成を示すブロック
図FIG. 11 is a block diagram showing a configuration of a conventional memory management device.
100,300,400,600 メモリ管理装置 101 モジュール情報 102 セクション定義 103 空間定義 104,304 配置手段 105 アドレス変換表 106,306 マッピング手段 107 アドレス変換表切り換え手段 108,308,408,608 トレース手段 110,310,410 履歴取得手段 309 トレース定義 611 時間管理手段 100, 300, 400, 600 Memory management device 101 Module information 102 Section definition 103 Space definition 104, 304 Placement means 105 Address conversion table 106, 306 Mapping means 107 Address conversion table switching means 108, 308, 408, 608 Trace means 110, 310, 410 History acquisition means 309 Trace definition 611 Time management means
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B005 LL04 MM32 SS14 VV12 VV24 5B017 BA06 BB08 CA01 5B042 GA23 GA33 GC08 HH30 JJ46 KK07 MA08 MC03 MC15 5B060 AB26 AC06 KA10 5B098 AA04 GA04 GD04 GD14 JJ07 JJ08 ──────────────────────────────────────────────────続 き Continued on the front page F term (reference) 5B005 LL04 MM32 SS14 VV12 VV24 5B017 BA06 BB08 CA01 5B042 GA23 GA33 GC08 HH30 JJ46 KK07 MA08 MC03 MC15 5B060 AB26 AC06 KA10 5B098 AA04 GA04 GD04 GD14 JJ07 JJ08
Claims (7)
レスへ対応付けるメモリ管理装置であって、 複数の論理アドレス空間と複数のモジュールとの対応関
係を示す定義に基づいて、複数の論理アドレス空間のそ
れぞれにモジュールを配置する配置手段と、 複数のモジュールの物理アドレスを示すモジュール情報
に基づいて、前記配置手段によりモジュールが配置され
た論理アドレス空間の論理アドレスへ物理アドレスを対
応付けるマッピング手段と、 タスクの切り換え指示に応答して、前記マッピング手段
により対応付けられた前記複数の論理アドレス空間の切
り換えを行う論理アドレス空間切り換え手段と、 前記論理アドレス空間切り換え手段により切り換えられ
た論理アドレス空間において物理アドレスに対応付けら
れていない未対応の論理アドレスへのアクセス要求があ
った場合に、前記マッピング手段に前記未対応の論理ア
ドレスを前記メモリの第1の物理アドレスに対応付けを
行わせて前記未対応の論理アドレスへのアクセスを実行
させるとともに、前記未対応の論理アドレスへのアクセ
スの履歴を前記メモリの第2の物理アドレスに書き込ま
せるためのトレース手段と、 前記メモリの前記第2の物理アドレスからアクセスの履
歴を取得する履歴取得手段とを備えたことを特徴とする
メモリ管理装置。1. A memory management device for associating a physical address of a memory with a plurality of logical addresses, wherein each of the plurality of logical address spaces is defined based on a definition indicating a correspondence between the plurality of logical address spaces and the plurality of modules. Allocating means for arranging a module in a module, mapping means for associating a physical address with a logical address in a logical address space in which a module is allocated by the allocating means based on module information indicating physical addresses of a plurality of modules, and task switching. Logical address space switching means for switching the plurality of logical address spaces associated by the mapping means in response to an instruction; and associating physical addresses in the logical address space switched by the logical address space switching means. Unpaired When there is an access request to the logical address, the mapping unit associates the uncorresponding logical address with the first physical address of the memory, and accesses the uncorresponding logical address. Tracing means for writing a history of access to the unsupported logical address to a second physical address of the memory; and obtaining a history of obtaining an access history from the second physical address of the memory. And a memory management device.
アドレスへのアクセスが終了した後、マッピング手段に
よる前記未対応の論理アドレスと前記第1の物理アドレ
スとの対応付けの解除を行わせることを特徴とする請求
項1記載のメモリ管理装置。2. The tracing means, after the access to the unsupported logical address is completed, causes the mapping means to release the association between the unsupported logical address and the first physical address. The memory management device according to claim 1, wherein:
段を間欠的に起動する管理手段をさらに備えたことを特
徴とする請求項2記載のメモリ管理装置。3. The memory management device according to claim 2, further comprising management means for intermittently activating said trace means and said history acquisition means.
び前記履歴取得手段を所定時間ごとに起動することを特
徴とする請求項3記載のメモリ管理装置。4. The memory management device according to claim 3, wherein said management means activates said trace means and said history acquisition means at predetermined time intervals.
り起動されていないときには、前記配置手段にモジュー
ルの配置を行わせかつ前記マッピング手段に前記未対応
の論理アドレスと前記第1の物理アドレスとの対応付け
を行わせることを特徴とする請求項3または4記載のメ
モリ管理装置。5. The tracing means, when not activated by the management means, causes the arranging means to arrange a module, and causes the mapping means to determine a correspondence between the unsupported logical address and the first physical address. The memory management device according to claim 3, wherein the memory management device performs association.
応付けられていない未対応の論理アドレスへのアクセス
要求として書き込み要求があった場合に、前記第1の物
理アドレスを前記第2の物理アドレスとして用い、前記
第1の物理アドレスに前記未対応の論理アドレスのアク
セスの履歴を書き込むことを特徴とする請求項1〜5の
いずれかに記載のメモリ管理装置。6. The tracing means sets the first physical address as the second physical address when there is a write request as an access request to an unsupported logical address not associated with a physical address. 6. The memory management device according to claim 1, wherein an access history of the unsupported logical address is written to the first physical address.
論理アドレス空間にそれぞれ所属するセクションを定義
する空間定義と、各セクションに所属する一または複数
のモジュールを定義するセクション定義とを含み、 前記配置手段は、アクセスの履歴を取得する対象のセク
ションを定義するトレース定義に基づいて、前記トレー
ス定義に定義されているセクションの論理アドレスと前
記第1の物理アドレスとの対応付けを前記マッピング手
段に解除させることが可能でかつ前記トレース定義に定
義されたセクションの論理アドレスへ前記第1の物理ア
ドレスとの対応付けを前記マッピング手段に実行させる
ことが可能に構成されたことを特徴とする請求項1〜6
のいずれかに記載のメモリ管理装置。7. The definition indicating the correspondence includes a space definition defining a section belonging to each of the plurality of logical address spaces, and a section definition defining one or a plurality of modules belonging to each section. The mapping unit maps a correspondence between a logical address of a section defined in the trace definition and the first physical address based on a trace definition defining a section for which an access history is acquired. Wherein the mapping unit is capable of causing the mapping unit to associate the logical address of the section defined in the trace definition with the first physical address. Items 1 to 6
The memory management device according to any one of the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31966099A JP2001142737A (en) | 1999-11-10 | 1999-11-10 | Memory management device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31966099A JP2001142737A (en) | 1999-11-10 | 1999-11-10 | Memory management device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001142737A true JP2001142737A (en) | 2001-05-25 |
Family
ID=18112788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31966099A Pending JP2001142737A (en) | 1999-11-10 | 1999-11-10 | Memory management device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001142737A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100836739B1 (en) | 2006-12-02 | 2008-06-10 | 한국전자통신연구원 | Apparatus and method for mapping logical-physical connection of robot device |
JP2008299665A (en) * | 2007-05-31 | 2008-12-11 | Toshiba Corp | Information processor |
WO2009075116A1 (en) * | 2007-12-12 | 2009-06-18 | Nec Corporation | Program debug method, program conversion method, and program debug device and program conversion device using the method, and storage medium |
CN102411544A (en) * | 2010-09-17 | 2012-04-11 | 株式会社东芝 | Memory management device and method for managing access to a nonvolatile semiconductor memory |
US8543988B2 (en) | 2004-06-03 | 2013-09-24 | Fujitsu Limited | Trace processing program, method and system |
JP2014026580A (en) * | 2012-07-30 | 2014-02-06 | Nippon Telegr & Teleph Corp <Ntt> | Bug determination device, and bug determination method |
JP2019506670A (en) * | 2016-01-21 | 2019-03-07 | エイアールエム リミテッド | Address translation latency measurement |
-
1999
- 1999-11-10 JP JP31966099A patent/JP2001142737A/en active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8543988B2 (en) | 2004-06-03 | 2013-09-24 | Fujitsu Limited | Trace processing program, method and system |
KR100836739B1 (en) | 2006-12-02 | 2008-06-10 | 한국전자통신연구원 | Apparatus and method for mapping logical-physical connection of robot device |
JP2008299665A (en) * | 2007-05-31 | 2008-12-11 | Toshiba Corp | Information processor |
JP4598022B2 (en) * | 2007-05-31 | 2010-12-15 | 株式会社東芝 | Information processing device |
WO2009075116A1 (en) * | 2007-12-12 | 2009-06-18 | Nec Corporation | Program debug method, program conversion method, and program debug device and program conversion device using the method, and storage medium |
US8468500B2 (en) | 2007-12-12 | 2013-06-18 | Nec Corporation | Program debugging method and program transformation method, program debugging device and program transformation device using the same, and storage medium |
JP5333232B2 (en) * | 2007-12-12 | 2013-11-06 | 日本電気株式会社 | Program debugging method, program conversion method, program debugging device using the same, program conversion device, and debugging program |
CN102411544A (en) * | 2010-09-17 | 2012-04-11 | 株式会社东芝 | Memory management device and method for managing access to a nonvolatile semiconductor memory |
US9081661B2 (en) | 2010-09-17 | 2015-07-14 | Kabushiki Kaisha Toshiba | Memory management device and method for managing access to a nonvolatile semiconductor memory |
JP2014026580A (en) * | 2012-07-30 | 2014-02-06 | Nippon Telegr & Teleph Corp <Ntt> | Bug determination device, and bug determination method |
JP2019506670A (en) * | 2016-01-21 | 2019-03-07 | エイアールエム リミテッド | Address translation latency measurement |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3546678B2 (en) | Multi-OS configuration method | |
US10318407B2 (en) | Allocating a debug instruction set based on the current operating state in a multi-instruction-set data processing apparatus | |
US8151275B2 (en) | Accessing copy information of MMIO register by guest OS in both active and inactive state of a designated logical processor corresponding to the guest OS | |
US6711605B2 (en) | Multi OS configuration method and computer system | |
KR101691017B1 (en) | Data processing apparatus and method for processing the data | |
US9218302B2 (en) | Page table management | |
US5561788A (en) | Method and system for executing programs using memory wrap in a multi-mode microprocessor | |
US4779187A (en) | Method and operating system for executing programs in a multi-mode microprocessor | |
JP4519738B2 (en) | Memory access control device | |
JP6158952B2 (en) | Operation of data processor memory access operations | |
JPH11505652A (en) | Protection domain in a single address space | |
KR20040023692A (en) | Mechanism for interrupt handling in computer systems that support concurrent execution of multiple threads | |
CN114077379B (en) | Computer equipment, exception handling method and interrupt handling method | |
US20100082929A1 (en) | Memory protection method, information processing apparatus, and computer-readable storage medium that stores memory protection program | |
US20070050580A1 (en) | Apparatus, system, and method for implementing protected virtual memory subcontexts | |
JP2001142737A (en) | Memory management device | |
US8612720B2 (en) | System and method for implementing data breakpoints | |
JP6679419B2 (en) | Memory protection unit, memory management unit, and microcontroller | |
JP5925288B2 (en) | Computer, access management method and access management program | |
US6141635A (en) | Method of diagnosing faults in an emulated computer system via a heterogeneous diagnostic program | |
US20080072009A1 (en) | Apparatus and method for handling interrupt disabled section and page pinning apparatus and method | |
JP4331325B2 (en) | Memory management device | |
Yang et al. | A RISC-V On-chip Operating System Based on Rust | |
EP0389886A2 (en) | Ring reduction logic mechanism | |
JP2008310487A (en) | Program, exceptional processing method, computer, cellular phone, and tv set |