JP6603100B2 - メモリ制御装置及びメモリ制御方法 - Google Patents
メモリ制御装置及びメモリ制御方法 Download PDFInfo
- Publication number
- JP6603100B2 JP6603100B2 JP2015211061A JP2015211061A JP6603100B2 JP 6603100 B2 JP6603100 B2 JP 6603100B2 JP 2015211061 A JP2015211061 A JP 2015211061A JP 2015211061 A JP2015211061 A JP 2015211061A JP 6603100 B2 JP6603100 B2 JP 6603100B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- program
- memory
- address
- conversion
- 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.)
- Active
Links
Images
Landscapes
- Storage Device Security (AREA)
- Executing Machine-Instructions (AREA)
Description
図1ないし図4を参照して、本実施の形態に係るメモリ制御装置について説明する。本実施の形態に係るメモリ制御装置は、予め設けた設定回路でCPUのプログラムカウンタ(PC)を指定することにより、指定されたPCの命令が、メモリに格納された本来実行すべき命令ではなく、ハードウエアで疑似的に設定された命令に変換され、CPUによって当該変換された命令が実行される機能(命令変換機能)を有する。以下では、変換後に実行される命令が、ジャンプ命令(擬似ジャンプ命令)である場合を例示して説明する。
[1]CSRレジスタ及びPC指定レジスタにデータを格納する。本例では、このデータを0:0330H(セグメント=0、アドレス=0330H、以下これらのデータを「設定データ」という)とする。
[2]PCONを論理値「1」に設定し、本機能を有効にする。
[3]CSRレジスタの値とCPU_CSRとの比較処理、PC指定レジスタとCPU_PCとの比較処理を実行する。
[4]上記の比較結果がいずれも一致した場合に、変換後命令設定回路112で、ハードウエア的に設定したメモリのアドレスにジャンプする命令を実行する。
[5]ジャンプ先で指定された処理を実行し、予め定められた条件でジャンプ元に戻る。
図3(b)を参照して、本実施の形態に係るメモリ制御装置10aについて説明する。
本実施の形態は、指定PCを複数にし、各々の指定PCで変換される命令を異ならせる場合の形態である。そのため、メモリ制御装置10aの命令変換部100は、複合命令変換部100aに変更されている。
図5及び図6を参照して、本実施の形態に係るメモリ制御装置10bについて説明する。メモリ制御装置10が、変換後命令設定回路112によってハードウエア的に変換後命令INSTを設定したのに対し、本実施の形態は、専用のレジスタによってハードウエア的に変換後命令INSTを設定する形態である。
[1]CSRレジスタ及びPC指定レジスタにデータを格納する。本例では、このデータを0:0330H(セグメント=0、アドレス=0330H、以下これらのデータを「設定データ」という)とする。
[2]変換後の命令を、変換後命令レジスタRINSTに格納する。本例では、この命令を、B 2:C000H(セグメント・アドレス=2:C000Hへのジャンプ命令)とする。
[3]PCONを論理値「1」に設定し、本機能を有効にする。
[4]CSRレジスタの値とCPU_CSRとの比較処理、PC指定レジスタとCPU_PCとの比較処理を実行する。
[5]上記の比較結果がいずれも一致した場合に、変換後命令レジスタRINSTでハードウエア的に設定したメモリのアドレスにジャンプする命令を実行する。
[6]ジャンプ先で指定された処理を実行し、予め定められた条件でジャンプ元に戻る。
図7を参照して、本実施の形態に係るメモリ制御装置10cについて説明する。本実施の形態は、変換後命令レジスタRINSTを用いて、複数の指定PCに対応する形態である。図7は、指定PCのアドレスと、ジャンプ命令でジャンプする飛び先アドレス(ジャンプ先アドレス)の対応を示した図である。図7は、例えば、指定PCのアドレスがPC0の場合には、変換後命令が、ジャンプ命令B 2:C000Hであることを示している。
図8ないし図12を参照して、本実施の形態に係るメモリ制御装置10dについて説明する。上記実施の形態では、メモリ制御装置の命令変換機能によって、指定PCを設定することにより本来実行すべき命令を変換し、一例として、メモリの本来指定されたアドレスとは異なるアドレスにジャンプさせ、本来実行すべき処理とは異なる処理を実行させた。これに対し、本実施の形態は、上記実施の形態でジャンプしたジャンプ先のメモリの領域が、処理内容に応じて適切な属性の領域となるように、メモリの領域を分割する形態である。より詳細には、メモリのコードオプションを使用し、ブロックイネーフブルと類似の処理を行いながらも、様々なソフトウエア・アプリケーションに対応させるために、さらに機能を拡張させた形態である。ここで、コードオプションとは、領域分割の対象となるメモリを制御するためのパラメータをさし、本実施の形態では、特に書き換え設定レジスタセットに格納すべきパラメータをいう。
[1]CPU14の起動前に実行されるメモリ制御装置10dのリセット時に、メモリローダ200がテスト領域212に格納されたコードオプションをロードする(読み込む)。
[2]書き換え設定レジスタセットの各レジスタに、メモリローダ200がロードした各データ(アクセプタ設定データ、プログラム領域開始アドレスデータ、及び領域分割データ)が格納される。
[3]コードオプションのデータに基づいてメモリ12の領域分割の設定方法が決定され、領域分割が実行される。
以上の分割制御が実行されることにより、メモリ12に対するCPU14のアクセス方法(以下、「CPUアクセス」という)が設定される。以下、各CPUアクセスについて説明する。なお、図9に示すように、以下の説明では、プログラム領域開始アドレスデータを「0xYYYY」として説明する。
この場合には、プログラムメモリ空間が、固定プログラム領域と、書き換えプログラム領域0及び書き換えプログラム領域1とに分割される。
10、10a、10b、10c、10d メモリ制御装置
12 メモリ
14 CPU
16 バス
20 変換前命令
22 変換後命令
100、100−1、100−2、100−3 命令変換部
100a 複合命令変換部
102 AND回路
104 OR回路
106 セレクタ
108 セレクタ
110、110a セレクタ
112 変換後命令設定回路
114 選択回路
120、120a 命令変換レジスタセット
130、132 OR回路
140 プログラムカウンタ
200 メモリローダ
202 書き換え設定レジスタセット
210 プログラム領域
212 テスト領域
214 データ領域
INST、INST1、INST2 変換後命令
Claims (8)
- プログラムを実行するための命令が対応するアドレスと共に記憶されたメモリ、及び、前記プログラムを実行するための一連の命令に対応する前記メモリの前記アドレスが順番に格納されかつカウントの進行に伴い格納された前記アドレスを逐次読み出して対応する命令を逐次特定するプログラムカウンタを備えると共に、前記プログラムカウンタにより特定された一連の命令に従ってプログラムを実行する中央処理装置を含むマイクロコンピュータシステムにおける前記メモリを制御するメモリ制御装置であって、
前記プログラムカウンタに格納された前記アドレスの少なくとも1つを指定アドレスとして保持する指定アドレスレジスタと、
前記指定アドレスに対応する前記メモリの変換前命令と異なる変換後命令を保持する変換後命令保持部と、
前記プログラムの進行に伴って前記プログラムカウンタから読み出された前記アドレスと前記指定アドレスレジスタに保持された前記指定アドレスとが一致した場合に、前記変換前命令に代えて前記変換後命令を前記プログラムを実行するための命令として前記中央処理装置に送る命令変換部と、
を備えるメモリ制御装置。 - 前記変換後命令保持部が、前記変換後命令を論理回路で保持する保持回路である
請求項1に記載のメモリ制御装置。 - 前記変換後命令保持部が、前記変換後命令を保持するレジスタである
請求項1に記載のメモリ制御装置。 - 前記変換後命令が、前記メモリのジャンプ先アドレスが付与された、前記メモリのアドレスのいずれかへジャンプすることを指示するジャンプ命令である
請求項1〜請求項3のいずれか1項に記載のメモリ制御装置。 - 前記指定アドレスレジスタは、複数の指定レジスタを保持し、
前記変換後命令保持部は、前記複数の指定レジスタの各々に対応する各々異なるジャンプ先アドレスが付与された複数のジャンプ命令を保持し、
前記命令変換部は、前記複数の指定レジスタごとに、前記プログラムの進行に伴って前記プログラムカウンタから読み出されたアドレスと前記指定アドレスレジスタに保持された前記指定アドレスとが一致した場合に、前記変換前命令に代えて前記複数のジャンプ命令のいずれかを前記プログラムを実行するための命令として前記中央処理装置に送る
請求項4に記載のメモリ制御装置。 - 前記複数のジャンプ命令の各々に付与された複数のジャンプ先アドレスが、基準となる1つの基準ジャンプ先アドレスと前記基準ジャンプ先アドレスに対する相対アドレスで構成される
請求項5に記載のメモリ制御装置。 - 複数の前記指定アドレスレジスタ、複数の前記変換後命令保持部、複数の前記命令変換部、及び複数の前記命令変換部のいずれかから出力された前記変換後命令を前記中央処理装置に送る論理和回路を備えた
請求項1〜請求項6のいずれか1項に記載のメモリ制御装置。 - プログラムを実行するための命令が対応するアドレスと共に記憶されたメモリ、及び、前記プログラムを実行するための一連の命令に対応する前記メモリの前記アドレスが順番に格納されかつカウントの進行に伴い格納された前記アドレスを逐次読み出して対応する命令を逐次特定するプログラムカウンタを備えると共に、前記プログラムカウンタにより特定された一連の命令に従ってプログラムを実行する中央処理装置を含むマイクロコンピュータシステムにおける前記メモリを制御するメモリ制御方法であって、
指定アドレスレジスタに、前記プログラムカウンタに格納された前記アドレスの少なくとも1つを指定アドレスとして保持させ、
変換後命令保持部に、前記指定アドレスに対応する前記メモリの変換前命令と異なる変換後命令を保持させ、
命令変換部により、前記プログラムの進行に伴って前記プログラムカウンタから読み出された前記アドレスと前記指定アドレスレジスタに保持された前記指定アドレスとが一致した場合に、前記変換前命令に代えて前記変換後命令を前記プログラムを実行するための命令として前記中央処理装置に送る
メモリ制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015211061A JP6603100B2 (ja) | 2015-10-27 | 2015-10-27 | メモリ制御装置及びメモリ制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015211061A JP6603100B2 (ja) | 2015-10-27 | 2015-10-27 | メモリ制御装置及びメモリ制御方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019186816A Division JP6803957B2 (ja) | 2019-10-10 | 2019-10-10 | メモリ制御装置及びメモリ制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017084062A JP2017084062A (ja) | 2017-05-18 |
JP6603100B2 true JP6603100B2 (ja) | 2019-11-06 |
Family
ID=58713081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015211061A Active JP6603100B2 (ja) | 2015-10-27 | 2015-10-27 | メモリ制御装置及びメモリ制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6603100B2 (ja) |
-
2015
- 2015-10-27 JP JP2015211061A patent/JP6603100B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017084062A (ja) | 2017-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5328366B2 (ja) | プログラム可能な優先値を用いた割込み制御器 | |
US9733950B2 (en) | Boot sequencing for multi boot devices | |
JP5571201B2 (ja) | ハードウェアモードおよびセキュリティフラグに基づく、読み出される命令用のメモリエリアの制限 | |
CN107548492B (zh) | 具有增强指令集的中央处理单元 | |
WO2003025721A2 (en) | Microcontroller with configurable onboard boot-ram | |
JP2015525916A (ja) | メモリ保護装置及び保護方法 | |
JP2009230548A (ja) | 情報処理装置と情報処理方法およびストレージシステム | |
WO2020063975A1 (zh) | 一种非易失性存储器的分区保护方法及装置 | |
KR20060002664A (ko) | 내장 시스템의 메모리 어드레스의 매핑을 제어하는 장치와방법 | |
US20140289455A1 (en) | Memory Patching Circuit | |
JP6603100B2 (ja) | メモリ制御装置及びメモリ制御方法 | |
KR102658600B1 (ko) | 디바이스를 디버깅할 때 메타데이터에 액세스하기 위한 장치 및 방법 | |
JP6803957B2 (ja) | メモリ制御装置及びメモリ制御方法 | |
WO2018100633A1 (ja) | 制御装置およびプログラム更新方法 | |
JPH0430399A (ja) | 半導体記憶システム | |
TW201527976A (zh) | 積體電路無線電 | |
JP2001306316A (ja) | 制御回路およびそれを用いた半導体装置 | |
WO2010058525A1 (ja) | 半導体集積回路及びレジスタアドレス制御装置 | |
KR102186221B1 (ko) | 하드웨어 기반의 임베디드 시스템의 주소 공간 레이아웃 랜덤화 방법 및 이를 위한 장치 | |
JP2015035155A (ja) | 情報処理装置 | |
JP2000259448A (ja) | プログラムデバッグ装置 | |
JP2015090512A (ja) | メモリダンプ機能を有する情報処理装置 | |
JP2003196087A (ja) | マイクロコントローラのメモリアドレッシング方法及びページマッピング装置 | |
JP5823000B2 (ja) | マイクロコンピュータ | |
JP2010176182A (ja) | 電子機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180810 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190620 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190702 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190828 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190910 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191010 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6603100 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |