JP4605871B2 - マイクロプロセッサ - Google Patents
マイクロプロセッサ Download PDFInfo
- Publication number
- JP4605871B2 JP4605871B2 JP2000255318A JP2000255318A JP4605871B2 JP 4605871 B2 JP4605871 B2 JP 4605871B2 JP 2000255318 A JP2000255318 A JP 2000255318A JP 2000255318 A JP2000255318 A JP 2000255318A JP 4605871 B2 JP4605871 B2 JP 4605871B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- microprocessor
- stack pointer
- signal
- contents
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1441—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Microcomputers (AREA)
Description
【発明の属する技術分野】
本発明は、メモリアクセスを許可/禁止する機能を備えたマイクロプロセッサに関する。
【0002】
【従来の技術】
携帯電話などの電子機器では、ローエンドのマイクロプロセッサが用いられている。例えばウエブサイトから携帯電話にダウンロードしたプログラム(以下、アプリケーションプログラム)を実行すると、ユーザが設定したデータが不本意に書き換えられることもあり得る。ハイエンドのマイクロプロセッサを用いた場合には、メインプログラム(例えばOS)を特権レベルとして、メモリライトアクセス権や実行命令にレベルを付けることにより、アプリケーションプログラムによるデータ破壊を防止することができる。
【0003】
【発明が解決しようとする課題】
しかし、ローエンドマイクロプロセッサをハイエンドマイクロプロセッサに置き換えると、コスト高になるとともに、開発済のOSを含むソフトウエアを最初から構築し直したり、ハードウエアシステムを変更したりする必要がある。また、OSの記憶容量が膨大になる。
【0004】
本発明の目的は、このような問題点に鑑み、簡単なハードウエア構成を付加することにより特定プログラムによるメモリアクセスを許可/禁止することが可能なマイクロプロセッサを提供することにある。
【0005】
【課題を解決するための手段及びその作用効果】
本発明によるマイクロプロセッサでは、スタックポインタと、該スタックポインタの内容を設定値と比較しその結果に応じてメモリアクセスを許可/禁止する信号を出力するアクセス許可/禁止判定回路とを有する。
【0006】
このマイクロプロセッサによれば、スタックの深さに応じてメモリアクセスが許可又は禁止されるので、例えば、予め格納されているメインプログラム実行時にはスタックポインタ値が所定値より小さく、ユーザの操作により追加されたアプリケーションプログラムの実行開始時にはスタックポインタ値が該所定値になるようにすることにより、メインプログラム実行時にはユーザがデータをアクセスでき、アプリケーションプログラム実行時にはこのデータをアクセスできないようにすることができる。
【0007】
本発明の他の目的、構成及び効果は以下の説明から明らかになる。
【0008】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
【0009】
[第1実施形態]
図1は、本発明の第1実施形態のマイクロプロセッサ10の概略ブロック図である。
【0010】
マイクロプロセッサ10はローエンドであり、例えば、データバス幅及びアドレスバス幅はそれぞれ16ビット及び32ビットであって携帯電話に用いられる。
【0011】
CPU11は、演算回路、レジスタファイル及び制御回路を備えて、各種演算及び制御を行なう。マイクロプロセッサ10には、RAM12及びRAM13が内蔵されている。CPU11と、RAM12及びRAM13との間は、アドレスバス14及びデータバス15で接続されている。例えばアドレスADRの最上位ビットが‘1’のとき、RAM12がイネーブル状態、RAM13がディセーブル状態になり、これが‘0’のとき、RAM12がディセーブル状態、RAM13がイネーブル状態になる。
【0012】
CPU11は、RAM12又はRAM13に書き込みを行なう場合、ライト要求信号WRを高レベルにする。CPU11のライト要求信号出力端WRは、アンドゲート16の一方の入力端及びRAM13のライトイネーブル信号入力端WEに接続されている。RAM12のライトイネーブル信号入力端WEには、アンドゲート16の出力端が接続されている。
【0013】
CPU11は、プログラムカウンタPC及びプログラムステータス(レジスタ)PSを備えている。CPU11は、上記レジスタファイル内のレジスタとしてスタックポインタ18を備えているが、図1では便宜上、スタックポインタ18がCPU11の外部に記載されている(他図も同様)。
【0014】
CPU11は、割込ルーチン又はサブルーチンを実行する際に、本来の処理の前処理として、スタックポインタ18の内容SPVで指定されるスタック領域131のアドレスに、プログラムカウンタPCの内容を格納(退避)し、スタックポインタ18の内容SPVをインクリメントし、同様に、スタックポインタ18の内容SPVで指定されるスタック領域131のアドレスに、プログラムステータスPSの内容を格納し、スタックポインタ18の内容SPVをインクリメントする。
【0015】
CPU11は、割込ルーチン又はサブルーチンから元のプログラムに戻る際に、後処理として上記の場合と逆に、スタックポインタ18の内容SPVをデクリメントし、スタックポインタ18の内容SPVで指定されるスタック領域131のアドレスからデータを読み出してこれをプログラムステータスPSに格納(復帰)し、同様に、スタックポインタ18の内容SPVをデクリメントし、スタックポインタ18の内容SPVで指定されるスタック領域131のアドレスからデータを読み出してこれをプログラムカウンタPCに格納する。
【0016】
比較器17は、スタックポインタ値SPVと、予め設定されているアドレス値ADR1とを比較し、SPV≧ADR1であれば比較結果CPを高レベルにし、そうでなければ比較結果CPを低レベルにする。この比較結果CPは、インバータ19を介してアンドゲート16の他方の入力端に供給される。
【0017】
RAM12には、ユーザが設定したモードや電話番号などのデータが書き込まれている。RAM13は、スタック領域131とワークエリアとからなる。
【0018】
マイクロプロセッサ10内の不図示のプログラムメモリには、例えば図2に示すようなプログラムが格納されている。メインプログラム30は、初期設定ルーチン31と、入力情報に応じた処理を行なう実行制御プログラム33とを備えている。サブルーチン34及び35は任意のルーチンで利用可能である。アプリケーション設定ルーチン36は、アプリケーションプログラム37に対し初期設定を行いこれを実行する。アプリケーションプログラム37は、例えばウエブサイトからダウンロードされたものである。
【0019】
次に、上記の如く構成された本第1実施形態の動作を説明する。
【0020】
図3(A)は、スタックポインタ値SPVの変化を示している。
【0021】
SPVの初期値はH8000_0000である。ここに、先頭のHは16進数であることを示し、アンダーバー_は16ビットの区切りを示している。ADR1はH8000_0004である。
【0022】
例えば、ユーザが携帯電話のキーを操作し、これにより実行制御プログラム33でサブルーチンコール命令CALL APSETが実行されると、アプリケーション設定ルーチン36へ移り、その前処理で上述のようにスタック領域131にプログラムカウンタPC及びプログラムステータスPSの内容が格納されて、スタックポインタ値SPVがH8000_0002になる。アプリケーション設定ルーチン36の本処理でサブルーチンコール命令CALL APRIが実行されると、アプリケーションプログラム37へ移り、その前処理で上述のようにスタック領域131にプログラムカウンタPC及びプログラムステータスPSの内容が格納されて、スタックポインタ値SPVがH8000_0004になる。
【0023】
これにより、比較結果CPが図3(B)に示す如く高レベルとなり、ライト要求信号WRのレベルによらずアンドゲート16の出力が低レベルとなる。したがって、アプリケーションプログラム37においてRAM13の内容を書き換えることは可能であるが、RAM12の内容を書き換えることはできない。これにより、ユーザが設定したデータがアプリケーションプログラム37の実行により不本意に書き換えられるのが防止される。
【0024】
アプリケーションプログラム37の後処理において、スタック領域131に退避されている内容がCPU11のプログラムステータスPS及びプログラムカウンタPCに復帰されて、スタックポインタ値SPVがH8000_0002になり、比較結果CPが低レベルに戻って、RAM12の内容を書き換え可能になる。アプリケーションプログラム37の処理が終了し、CALL APRIの次の命令が実行される。アプリケーション設定ルーチン36の後処理において、上記同様に、スタック領域131に退避されている内容がCPU11のプログラムステータスPS及びプログラムカウンタPCに復帰され、スタックポインタ値SPVがH8000_0000になる。アプリケーション設定ルーチン36の処理が終了し、CALL APSETの次の命令が実行される。
【0025】
[第2実施形態]
図4は、本発明の第2実施形態のマイクロプロセッサ10Aの概略ブロック図である。
【0026】
RAM12は、アプリケーションプログラムで書き換えが禁止されている領域121と、書き換えが許可されている領域122とからなる。アドレスADRが書込保護領域121のアドレス範囲内であるかどうかがアドレス範囲判定回路20で判定され、範囲内であると判定されると、アドレス範囲判定回路20の出力が高レベルとなる。この出力は、アンドゲート16Aに供給される。
【0027】
マイクロプロセッサ10Aの他の構成は、上記第1実施形態と同一である。
【0028】
本第2実施形態によれば、書込保護領域121がアドレス指定され、かつ、SPV≧ADR1であるとき、書込保護領域121への書き込みが禁止される。
【0029】
[第3実施形態]
図5は、本発明の第3実施形態のマイクロプロセッサ10Bの概略ブロック図である。
【0030】
このマイクロプロセッサ10Bでは、CPU11のライト要求信号出力端WRとアンドゲート16Aの出力端とがイクスクルーシブオアゲート21の一方及び他方の入力端に接続され、イクスクルーシブオアゲート21の出力端がCPU11の割込要求信号入力端IRQに接続されている。また、基準値ADR1を設定するレジスタ22がマイクロプロセッサ10Bに備えられており、この内容を変えることにより、アプリケーションプログラムで書込保護領域121を書き換え可能にすることができる。
【0031】
他の点は上記第2実施形態と同一である。
【0032】
RAM12及びRAM13のライトイネーブル信号WEが共に低レベル又は高レベルのときには、割込要求信号IRQが低レベルである。RAM13のライトイネーブル信号WEが高レベルでRAM12のライトイネーブル信号WEが低レベルのときには、割込要求信号IRQが高レベルとなり、その遷移の際に、CPU11に対し割込要求が行なわれる。CPU11はこれに応答して、例えば携帯電話の表示パネルに、書込保護領域121に対する書き込みがアプリケーションプログラムにより実行されようとしたができなかったために処理が正常に実行されないことを表示する。ユーザがこの書き込みを許可したいと判断した場合には、キーを操作してレジスタ22の内容を例えばH8000_1000に変えることにより、書き換え可能にする。
【0033】
[第4実施形態]
図6は、本発明の第4実施形態のマイクロプロセッサ10Cの概略ブロック図である。
【0034】
この第4実施形態では、RAM12Aがマイクロプロセッサ10Cに外付けされている。その他の点は上記第3実施形態と同一である。
【図面の簡単な説明】
【図1】本発明の第1実施形態のマイクロプロセッサの概略ブロック図である。
【図2】図1のマイクロプロセッサに格納されているプログラムの概略説明図である。
【図3】スタックポインタ値SPVの変化を示す図である。
【図4】本発明の第2実施形態のマイクロプロセッサの概略ブロック図である。
【図5】本発明の第3実施形態のマイクロプロセッサの概略ブロック図である。
【図6】本発明の第4実施形態のマイクロプロセッサの概略ブロック図である。
【符号の説明】
10、10A〜10D マイクロプロセッサ
11 CPU
12、12A、13 RAM
121 書込保護領域
122 書込許可領域
131 スタック領域
14 アドレスバス
15 データバス
16、16A アンドゲート
17 比較器
18 スタックポインタ
19 インバータ
20 アドレス範囲判定回路
21 イクスクルーシブオアゲート
22 レジスタ
30 メインプログラム
31 初期設定ルーチン
32 状態確認ルーチン
33 実行制御プログラム
34、35 サブルーチン
36 アプリケーション設定ルーチン
37 アプリケーションプログラム
WR ライト要求信号
WE ライトイネーブル信号
ADR アドレス
DAT データ
CP 比較結果
PC プログラムカウンタ
PS プログラムステータス
Claims (6)
- スタックポインタと、
スタック領域が設定される第1メモリと、
保護領域を含む第2メモリと、
該スタックポインタの内容を設定値と比較しその結果に応じて該第2メモリに対するメモリアクセスを許可/禁止する信号を出力するアクセス許可/禁止判定回路と、
を有することを特徴とするマイクロプロセッサ。 - 上記アクセス許可/禁止判定回路は、アドレスバス上のアドレス値が所定範囲内の値であるときに、上記比較結果に応じてメモリアクセスを許可/禁止する信号を出力することを特徴とする請求項1記載のマイクロプロセッサ。
- 上記アクセス許可/禁止判定回路は、
上記スタックポインタの内容を上記設定値と比較する比較回路と、
該比較回路の比較結果に応じて、該第2メモリのライトイネーブル信号を有効/無効にすることによりメモリへの書き込みを許可/禁止する信号を出力する論理回路と、
を有することを特徴とする請求項1記載のマイクロプロセッサ。 - 上記アクセス許可/禁止判定回路は、
上記スタックポインタの内容を上記設定値と比較する比較回路と、
該比較回路の比較結果に応じて、該第2メモリのリードイネーブル信号を有効/無効にすることにより該第2メモリからの読み出しを許可/禁止する信号を出力する論理回路と、
を有することを特徴とする請求項1記載のマイクロプロセッサ。 - スタックポインタと、
スタック領域が設定されるメモリと、
該スタックポインタの内容を設定値と比較しその結果に応じて外部メモリに対するメモリアクセスを許可/禁止する信号を出力するアクセス許可/禁止判定回路と、
を有することを特徴とするマイクロプロセッサ。 - 上記メモリアクセスを許可/禁止する信号が上記第1メモリに供給されないことを特徴とする請求項1に記載のマイクロプロセッサ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000255318A JP4605871B2 (ja) | 2000-08-25 | 2000-08-25 | マイクロプロセッサ |
US09/791,874 US6647475B2 (en) | 2000-08-25 | 2001-02-26 | Processor capable of enabling/disabling memory access |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000255318A JP4605871B2 (ja) | 2000-08-25 | 2000-08-25 | マイクロプロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002073418A JP2002073418A (ja) | 2002-03-12 |
JP4605871B2 true JP4605871B2 (ja) | 2011-01-05 |
Family
ID=18744130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000255318A Expired - Fee Related JP4605871B2 (ja) | 2000-08-25 | 2000-08-25 | マイクロプロセッサ |
Country Status (2)
Country | Link |
---|---|
US (1) | US6647475B2 (ja) |
JP (1) | JP4605871B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004013556A (ja) * | 2002-06-07 | 2004-01-15 | Matsushita Electric Ind Co Ltd | プロセッサ装置、コンパイル装置及びその方法 |
WO2004015553A1 (en) | 2002-08-13 | 2004-02-19 | Nokia Corporation | Computer architecture for executing a program in a secure of insecure mode |
US8587600B1 (en) * | 2005-05-02 | 2013-11-19 | Advanced Micro Devices, Inc. | System and method for cache-based compressed display data storage |
US8944822B2 (en) * | 2005-07-22 | 2015-02-03 | Appareo Systems, Llc | Synchronized video and synthetic visualization system and method |
US7848698B2 (en) | 2005-07-22 | 2010-12-07 | Appareo Systems Llc | Flight training and synthetic flight simulation system and method |
US9047717B2 (en) | 2006-09-25 | 2015-06-02 | Appareo Systems, Llc | Fleet operations quality management system and automatic multi-generational data caching and recovery |
US8116922B2 (en) | 2006-09-25 | 2012-02-14 | Appareo Systems, Llc | Method for resolving ground level errors in simulations |
US8565943B2 (en) * | 2006-09-25 | 2013-10-22 | Appereo Systems, LLC | Fleet operations quality management system |
JP5756413B2 (ja) * | 2012-01-18 | 2015-07-29 | オークマ株式会社 | 制御装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6375446A (ja) * | 1986-09-15 | 1988-04-05 | ウィリアムズ インターナショナル コーポレーション | 小型冷房装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6175446A (ja) * | 1984-09-20 | 1986-04-17 | Fujitsu Ltd | アドレス比較方式 |
JPH0484224A (ja) * | 1990-07-26 | 1992-03-17 | Nec Corp | スタックエリア保護回路 |
JPH05100847A (ja) | 1991-10-07 | 1993-04-23 | Nec Ibaraki Ltd | 情報処理装置のメモリ保護方式 |
JPH05224953A (ja) * | 1992-02-07 | 1993-09-03 | Matsushita Electric Ind Co Ltd | 割込み制御装置及び方法 |
JPH09167117A (ja) * | 1995-12-15 | 1997-06-24 | Hitachi Ltd | マイクロコンピュータおよびこれを用いたリアルタイムシステム |
JPH09293020A (ja) * | 1996-04-26 | 1997-11-11 | Oki Electric Ind Co Ltd | インターフェース回路 |
-
2000
- 2000-08-25 JP JP2000255318A patent/JP4605871B2/ja not_active Expired - Fee Related
-
2001
- 2001-02-26 US US09/791,874 patent/US6647475B2/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6375446A (ja) * | 1986-09-15 | 1988-04-05 | ウィリアムズ インターナショナル コーポレーション | 小型冷房装置 |
Also Published As
Publication number | Publication date |
---|---|
US6647475B2 (en) | 2003-11-11 |
JP2002073418A (ja) | 2002-03-12 |
US20020026567A1 (en) | 2002-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3710671B2 (ja) | 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法 | |
EP1913511B1 (en) | A secure terminal, a routine and a method of protecting a secret key | |
JP3520102B2 (ja) | マイクロコンピュータ | |
JP4605871B2 (ja) | マイクロプロセッサ | |
US8789169B2 (en) | Microcomputer having a protection function in a register | |
JP2727527B2 (ja) | 不揮発性メモリ領域の保護方法及び回路 | |
JP2001075941A (ja) | フラッシュメモリ内蔵マイクロコンピュータおよびその動作方法 | |
US5564036A (en) | Memory protective circuit | |
JP3082701B2 (ja) | メモリ保護装置およびメモリ保護方法 | |
JPH11237983A (ja) | ワンチップマイコンおよびこのワンチップマイコンにおけるブート領域アクセスのためのエントリー方法 | |
KR20060119923A (ko) | 두 메모리 사이의 보안성 데이터 전송 | |
JPS6074059A (ja) | 記憶装置アクセス制御方式 | |
EP0350917A2 (en) | Personal computer system capable of preventing contention in memory address space | |
JP3039479B2 (ja) | 拡張bios保護システム | |
JPH10240623A (ja) | 読み出し保護機能付きマイクロコンピュータ | |
JPH0293746A (ja) | 電子機器 | |
JP3047839B2 (ja) | シングルチップ・マイクロコンピュータ | |
JPH0844697A (ja) | メモリ内蔵マイコンのセキュリティ方式 | |
JPH01261760A (ja) | コンピュータ装置 | |
JP2003006047A (ja) | 1チップマイクロコンピュータ及びそれを用いたicカード | |
JPH06139084A (ja) | 情報処理装置 | |
JPH03144751A (ja) | メモリ誤書き込み防止装置 | |
JP2005235071A (ja) | 情報処理装置、情報処理方法、プログラム及び記録媒体 | |
JP2000099402A (ja) | マイクロコンピュータ | |
JPH0363854A (ja) | データプロテクト回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070720 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20080728 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100423 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100511 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100709 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100727 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100830 |
|
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: 20101005 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101005 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131015 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |