JPH08272625A - マルチプログラム実行制御装置及び方法 - Google Patents

マルチプログラム実行制御装置及び方法

Info

Publication number
JPH08272625A
JPH08272625A JP7071847A JP7184795A JPH08272625A JP H08272625 A JPH08272625 A JP H08272625A JP 7071847 A JP7071847 A JP 7071847A JP 7184795 A JP7184795 A JP 7184795A JP H08272625 A JPH08272625 A JP H08272625A
Authority
JP
Japan
Prior art keywords
program
address
access
programs
permitted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7071847A
Other languages
English (en)
Inventor
Kinya Sakaki
欣也 榊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP7071847A priority Critical patent/JPH08272625A/ja
Priority to US08/622,410 priority patent/US6009453A/en
Priority to KR1019960009094A priority patent/KR100232670B1/ko
Priority to DE69621690T priority patent/DE69621690T2/de
Priority to EP96105066A priority patent/EP0735488B1/en
Publication of JPH08272625A publication Critical patent/JPH08272625A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection 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/1425Protection 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/1441Protection 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 【目的】複数プリグラムの実行を制御し、あるプログラ
ムが他のプログラムをアクセスすることを禁止可能と
し、プログラム及びデータの安全性を高める。 【構成】この発明は、CPU5と、メモリ6〜8と、実
行するプログラムのIDを識別し、そのプログラムのア
クセスが許可されるエリアを設定し、そのプログラムに
動作が切り換ったときに動作を開始するアドレスを設定
するプログラムアクセス許可エリア設定回路1,2と、
現在実行中のプログラムがアクセスしているアドレスが
許可アドレスか許可外アドレスかを検知し、許可外アド
レスの時、その検知信号を基にCPU5への割り込みを
かけるための信号を生成し、その許可外アドレスに対応
するメモリ6〜8のアクセスを禁止するための信号を生
成するプログラムアクセス制御回路3とで構成される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のプログラムを有
するマイクロコンピュータにおいて、一つのプログラム
の他のプログラムへのアクセスすることを禁止するマル
チプログラム実行制御装置及び方法に関するものであ
る。
【0002】
【従来の技術】従来、ICカードや無線カード等の携帯
用データキャリアにおいては、プログラム及びデータの
安全性の確保が重要視されている。これらに使用される
マイクロコンピュータは、1つの半導体装置に対して主
に1つのメインプログラムを使用しており、複数のプロ
グラムを有する時でも、それらのプログラムはサブルー
チン的な機能としてメインプログラムの拡張的役割又は
一部の機能を代行する目的で使用されていた。かかる技
術では、複数のプログラムのうち、実行しているプログ
ラムのIDを中央演算処理装置(CPU;CentralProcessing
Unit) に送出し、実行中のプログラムを知らせてい
た。
【0003】このようなマイクロコンピュータに搭載す
るプログラムの作成については、そのマイクロコンピュ
ータのオペレーションシステム(OS;Operation System)
を熟知し、かつ、そのマイクロコンピュータを管理・所
有・販売する人、又はその開発作成を依頼されプログラ
ム全体のOSを知っている人に限定される。ここでいう
OSとは、あるシステムを使用する、あるアプリケーシ
ョンプログラムに対してコマンドの使用方法やデータの
管理方法を定義化したものである。
【0004】
【発明が解決しようとする課題】しかしながら、上記従
来技術では、プログラムがある規則に従って自らのID
をCPUに知らせるような正常のプログラムでは、CP
Uは実行されているプログラムを認識できるが、プログ
ラムが所定の規則に従わない時には、CPUは実行中の
プログラムについて認識できなくなるといった問題があ
った。
【0005】さらに、上記従来技術では、実行中の1つ
のプログラムが他のプログラムへのアクセスを禁止する
ことはできず、その必要性もなかった。従って、上記技
術では、技術的にメモリアドレス上に別の不正なプログ
ラムが書き込まれた場合、他のプログラムが書き換えら
れたり、読み出されたり、または実行されるという危険
は避けられなかった。
【0006】一方、プログラムの作成について、上記関
係者以外の者に依頼する場合には、そのマイクロコンピ
ュータのOSを当該プログラマに全て公表する必要があ
った為、システムが外部に漏れる可能性が高く、安全上
好ましくなく、不正使用が容易に行われるという問題が
あった。
【0007】本発明は上記問題に鑑みてなされたもの
で、その目的とするところは、複数プリグラムの実行を
制御し、あるプログラムが他のプログラムをアクセスす
ることを禁止可能とし、プログラム及びデータの安全性
を高めることにある。
【0008】
【課題を解決するための手段】上記目的を達成するため
に、本発明の第1の態様によるマルチプログラム実行制
御装置は、中央演算処理手段と、複数のプログラムを記
憶する記憶手段とを有し、上記複数のプログラムの各プ
ログラムの実行を制御するマルチプログラム実行制御装
置において、上記各プログラムに他のプログラムからの
アクセスを禁止する禁止エリア或いは他のプログラムか
らのアクセスを許可する許可エリアの少なくともいずれ
かを設定する設定手段を具備することを特徴とする。
【0009】そして、第2の態様によるマルチプログラ
ム実行制御装置は、中央演算処理手段と、複数のプログ
ラムを記憶する記憶手段とを有し、上記複数のプログラ
ムの各プログラムの実行を制御するマルチプログラム実
行制御装置において、上記各プログラムに他のプログラ
ムからのアクセスを禁止する禁止エリアを設定する設定
手段と、上記複数のプログラムのうちのあるプログラム
の実行中に、他のプログラムの禁止エリアをアクセスし
ようとした場合に、上記中央演算処理手段への割り込み
及び上記記憶手段へのアクセスの禁止の少なくともいず
れかを行う制御手段と、を具備することを特徴とする。
【0010】さらに、第3の態様によるマルチプログラ
ム実行制御装置は、中央演算処理手段と、複数のプログ
ラムを記憶する記憶手段とを有し、上記複数のプログラ
ムの各プログラムの実行を制御するマルチプログラム実
行制御装置において、上記複数のプログラムのうち、実
行するプログラムのIDを識別するプログラムID識別
手段と、そのプログラムのアクセスが許可されるエリア
を設定するプログラムエリア設定手段と、そのプログラ
ムに動作が切り換ったときに動作を開始するアドレスを
設定するスタートアドレス設定手段と、を有するプログ
ラムアクセス許可エリア設定手段と、上記プログラムエ
リア設定手段で設定されたアドレスと現在実行中のプロ
グラムがアクセスしているアドレスとを比較し許可アド
レスか許可外アドレスかを検知するアドレス検知手段
と、上記アドレス検知手段で検知した結果、許可外アド
レスの時、その検知信号を基に中央演算処理手段への割
り込みをかけるための信号を生成する割り込み信号生成
手段と、上記アドレス検知手段で検知した結果、そのア
クセスが許可外アドレスの時だけ、その許可外アドレス
に対応する記憶手段のアクセスを禁止するための信号を
生成するメモリアクセス禁止信号生成手段と、を有する
プログラムアクセス制御手段とを具備することを特徴と
する。
【0011】また、第4の態様によるマルチプログラム
実行制御方法は、中央演算処理手段と、複数のプログラ
ムを記憶する記憶手段とを有し、上記複数のプログラム
の各プログラムの実行を制御するマルチプログラム実行
制御装置によるマルチプログラム実行制御方法におい
て、上記複数のプログラムのうち、実行するプログラム
のIDを識別するステップと、そのプログラムのアクセ
スが許可されるエリアを設定するステップと、そのプロ
グラムに動作が切り換ったときに動作を開始するアドレ
スを設定するステップと、上記設定されたアドレスと現
在実行中のプログラムがアクセスしているアドレスとを
比較し許可アドレスか許可外アドレスかを検知するステ
ップと、上記検知の結果、許可外アドレスの時、その検
知信号を基に中央演算処理手段への割り込みをかけるた
めの信号を生成するステップと、上記検知の結果、その
アクセスが許可外アドレスの時だけ、その許可外アドレ
スに対応する記憶手段のアクセスを禁止するための信号
を生成するステップとを有することを特徴とする。
【0012】
【作用】即ち、本発明の第1の態様によるマルチプログ
ラム実行制御装置では、設定手段により、各プログラム
に他のプログラムからのアクセスを禁止する禁止エリア
或いは他のプログラムからのアクセスを許可する許可エ
リアの少なくともいずれかが設定される。
【0013】そして、第2の態様によるマルチプログラ
ム実行制御装置では、設定手段により、各プログラムに
他のプログラムからのアクセスを禁止する禁止エリアが
設定され、制御手段により、上記複数のプログラムのう
ちのあるプログラムの実行中に、他のプログラムの禁止
エリアをアクセスしようとした場合に、中央演算処理手
段への割り込み及び記憶手段へのアクセスの禁止の少な
くともいずれかが行われる。
【0014】さらに、第3の態様によるマルチプログラ
ム実行制御装置では、プログラムアクセス許可エリア設
定手段において、プログラムID識別手段により複数の
プログラムのうち実行するプログラムのIDが識別さ
れ、プログラムエリア設定手段により、そのプログラム
のアクセスが許可されるエリアが設定され、スタートア
ドレス設定手段により、そのプログラムに動作が切り換
ったときに動作を開始するアドレスが設定される。そし
て、プログラムアクセス制御手段において、アドレス検
知手段により、上記プログラムエリア設定手段で設定さ
れたアドレスと現在実行中のプログラムがアクセスして
いるアドレスとが比較され許可アドレスか許可外アドレ
スかが検知され、割り込み信号生成手段により、上記ア
ドレス検知手段で検知した結果、許可外アドレスの時、
その検知信号を基に中央演算処理手段への割り込みをか
けるための信号が生成され、メモリアクセス禁止信号生
成手段により、上記アドレス検知手段で検知した結果、
そのアクセスが許可外アドレスの時だけ、その許可外ア
ドレスに対応する記憶手段のアクセスを禁止するための
信号が生成される。
【0015】また、第4の態様によるマルチプログラム
実行制御方法では、複数のプログラムのうち、実行する
プログラムのIDが識別され、そのプログラムのアクセ
スが許可されるエリアが設定され、そのプログラムに動
作が切り換ったときに動作を開始するアドレスが設定さ
れ、上記設定されたアドレスと現在実行中のプログラム
がアクセスしているアドレスとが比較され許可アドレス
か許可外アドレスかが検知され、上記検知の結果、許可
外アドレスの時、その検知信号を基に中央演算処理手段
への割り込みをかけるための信号が生成され、上記検知
の結果、そのアクセスが許可外アドレスの時だけ、その
許可外アドレスに対応する記憶手段のアクセスを禁止す
るための信号が生成される。
【0016】
【実施例】以下、図面を参照して、本発明の実施例につ
いて説明する。図1は実施例に係るマルチプログラム実
行制御装置の構成図である。この図1に示されるよう
に、プログラムアクセス許可エリア設定回路1,2の出
力はプログラムアクセス制御回路3の入力に接続され、
当該プログラムアクセス制御回路3の出力はシステムコ
ントロール回路4の入力に接続されている。このシステ
ムコントロール回路4の出力はCPU5,ROM6,R
AM7,EEPROM8の入力にそれぞれ接続される。
さらに、このシステムコントロール回路4は上記プログ
ラムアクセス許可エリア設定回路1,2と相互に接続さ
れる。上記CPU5の出力はアドレスバス9に接続さ
れ、該アドレスバス9は上記ROM6,RAM7,EE
PROM8,システムコントロール回路4,プログラム
アクセス制御回路3の入力に接続される。上記ROM6
の出力はデータバス10に接続され、当該データバス1
0は上記システムコントローラ4,CPU5,RAM
7,EEPROM8にそれぞれ接続されている。
【0017】このように、本実施例のマルチプログラム
実行制御装置は、各プログラムのアクセス状態を検知
し、あるプログラムが他のプログラムへのアクセスを禁
止するために、プログラムアクセス許可エリア設定回路
1,2とプログラムアクセス制御回路3とを有してい
る。
【0018】このプログラムアクセス許可エリア設定回
路1は、詳細にはプログラムID識別レジスタ1aとプ
ログラムエリア設定レジスタ1cとスタートアドレスレ
ジスタ1bの3つのレジスタからなる。プログラムID
識別レジスタ1aは、実行するプログラムが何のプログ
ラムかを示すものである。プログラムエリア設定レジス
タ1cは、そのプログラムのアクセスが許可されるエリ
アを設定するレジスタである。スタートアドレスレジス
タ1bは、そのプログラムに動作が切り換ったときにス
タートするアドレスを設定するレジスタである。このよ
うな構成は、プログラムアクセス許可エリア設定回路2
についても同様である。
【0019】上記プログラムアクセス制御回路3は、ア
ドレス検知回路3a、CPU用割り込み信号生成回路3
b、メモリアクセス禁止信号生成回路3cで構成され
る。アドレス検知回路3aは、プログラムエリア設定レ
ジスタで設定されたアドレスと現在実行中のプログラム
がアクセスしているアドレスの値を調べて許可アドレス
か許可外アドレスかを検知する。CPU用割り込み信号
生成回路3bは、アドレス検知回路3aで検知した結
果、許可外アドレスの時、その検知信号を基にCPU5
への割り込みをかけるための信号を生成するための回路
である。メモリアクセス禁止信号生成回路3cは、アド
レス検知回路3aで検知し、そのアクセスが許可外アド
レスの時だけ、その許可外アドレスに対応するメモリを
禁止するための信号を生成するための回路である。
【0020】このような構成において、あるプログラム
(ここでは、プログラムAとする)がアクセス許可エリ
ア内で動作している間は、正常動作のため、本発明によ
る回路は特にCPU5,メモリ6乃至8等に制御信号を
発しない。ところが、プログラムAがアクセス許可エリ
ア外をアクセスした時には、アドレス検知回路3aの検
知信号によってCPU用割り込み信号生成回路3bによ
る割り込み信号がCPU5へ割り込みをかけて、CPU
5にそのプログラムAの不正アクセスを知らせる。同時
に、メモリアクセス禁止信号生成回路3cによる信号
で、その不正アクセスの対象となっているメモリの動作
を禁止する。このようなプログラムアクセス許可エリア
設定回路1とプログラムアクセス制御回路3の一連の動
作により、本発明の目的を実現することができる。
【0021】次に図2及び図3のメモリマップを参照し
て、上記マルチプログラム実行制御装置によるプログラ
ム間のアクセスについて説明する。図2の例では、RO
M6,RAM7,EEPROM8,その他からなるメモ
リのメモリマップ11は、詳細には、ROM6のメモリ
マップ12、RAM7のメモリマップ13、EEPRO
M8のメモリマップ14に分類される。そして、これら
メモリマップに示されるように、ROM6には複数のプ
ログラムA,B…の記憶エリアが設けられ、EEPRO
M8にはプログラムA,B…の拡張及びワークエリア、
プログラム1,2…の記憶エリア及びワークエリアが設
けられ、RAM7には各プログラムA,B…、1,2…
のワークエリアが設けられている。
【0022】CPU5によりシステムリセットがなされ
ると、上記ROM6に記憶された複数のプログラムA,
B…のうち、プログラムアクセス許可エリア設定回路1
の内部の各レジスタに動作可能範囲が設定されたプログ
ラムが動作する。ここでは、該レジスタにプログラムA
が設定されているものとする。
【0023】このプログラムAの実行中、他のプログラ
ム(ここではプリグラムBを想定する)で処理されたデ
ータを使用する場合には、CPU5は先ずプログラムA
の命令によりプログラムアクセス許可エリア設定回路1
のスタートアドレスレジスタ1bにプログラムBからプ
ログラムAに戻った時のプログラムAのスタートアドレ
スを設定し、プログラムアクセス許可エリア設定回路2
の各レジスタにプログラムBのスタートアドレスを設定
をする。但し、プログラムAがプログラムBなどを完全
に制御しているような仕様では、プログラムAからプロ
グラムBのあるアドレスに自由にジャンプできるので、
CPU5がプログラムBのスタートアドレスレジスタを
設定する必要はなく、プログラムBのスタートアドレス
レジスタをディセーブルにしておけばよい。こうした動
作の後、CPU5はプログラムAからプログラムBが割
り当てられているスタートアドレス又はプログラムBの
あるアドレスへジャンプして、プログラムAからプログ
ラムBへの実行を切り換える。尚、上記動作は、他のプ
ログラムC,D…で処理されたデータを使用する場合も
同じである。
【0024】プログラムBが許可アドレス内で実行して
いる間は、アドレス検知回路3aにより正常動作中であ
る信号が出力されるため、CPU5への割り込み及びメ
モリアクセスの禁止は行われない。しかし、このプログ
ラムBが許可アドレス以外のアドレス空間を不正に又は
暴走によりアクセスした場合、アドレス検知回路3aが
許可外アドレスを検知しCPU割り込み信号生成回路3
bとメモリアクセス禁止信号生成回路3cに検知信号を
出力する。これにより、CPU割り込み信号生成回路3
bとメモリアクセス禁止信号生成回路3cとにより生成
される信号でCPU5への割り込みが発生し、また、許
可外アドレスに対応するメモリへのアクセスを禁止す
る。プログラムBからプログラムAヘ戻る場合は、CP
U5は既にプログラムA用に条件が設定されているプロ
グラムアクセス許可エリア設定回路1をイネーブルさせ
て、プログラムAのスタートアドレスにプログラムBか
らプログラムAへのジャンプを行う。これにより、再び
プログラムAが動作可能となる。尚、プログラムBのプ
ログラムAへのジャンプ先のアドレスがプログラムAの
スタートアドレスのレジスタの値と異なった場合もアド
レス検知回路3aが検知し、CPU5へ割り込みをかけ
ることになる。
【0025】図3の例では、ROM6,RAM7,EE
PROM8,その他からなるメモリのメモリマップ15
は、詳細には、ROM6のメモリマップ16、RAM7
のメモリマップ17、EEPROM8のメモリマップ1
8に分類される。そして、これらメモリマップに示され
るように、ROM6には複数のプログラムA,B…の記
憶エリアとプログラム共通エリアAが設けられ、EEP
ROM8にはプログラムA,B…の拡張及びワークエリ
ア、プログラム1,2…の記憶エリア及びワークエリ
ア、プログラム共通エリアCが設けられ、RAM7には
各プログラムA,B…、1,2…のワークエリアとプロ
グラム共通エリアBが設けられている。
【0026】このように、図3のメモリマップでは、図
2と比して、各メモリ毎にプログラム共通エリアを有し
ている。これは、各プログラムが互いに直接的なアクセ
スを禁止されているため、各プログラム間の実行の切り
換えをプログラム共通エリア上で、ある種のプログラム
切り換えルールに従って行うようにするためである。
【0027】CPU5によるシステムリセット後、どの
プログラムが動作するかは、プログラム共通エリアによ
って指定される。その指定の方法は外部からのデータに
よって行うか、内部的に固定するかは自由である。例え
ば、システムリセット後、プログラムAが選択され、プ
ログラムアクセス許可エリア設定回路1がプログラムA
のために割り当てられたとする。次に、プログラムAか
ら別のプログラム(プログラム1)に切り換えたい時に
は、CPU5は先ずプログラムAからの命令により、プ
ログラム共通エリアB又はCに、プログラム1にジャン
プするための所定の命令又はデータを書き込む。ここ
で、それぞれのプログラムが互いに直接アクセスするこ
とを禁止しているため、この例ではプログラムAが他の
プログラムをアクセスしようとすると、アクセスは禁止
される。CPU5は、プログラムAから一旦、プログラ
ム共通エリアに戻り、そのプログラムによりプログラム
アクセス許可エリア設定回路2の各レジスタにプログラ
ム1の設定をした後、プログラム1へジャンプする。
【0028】次に図4及び図5を参照して、実施例に係
るマルチプログラム実行制御装置の更に詳細な動作を説
明する。図4にはメインプログラムとサブプログラムを
各々1つ有する例を示し説明する。この例では、ROM
6,RAM7,EEPROM8,その他からなるメモリ
のメモリマップ19は、詳細には、ROM6のメモリマ
ップ20、RAM7のメモリマップ21、EEPROM
8のメモリマップ22に分類される。
【0029】そして、これらメモリマップに示されるよ
うに、ROM6にはメインプログラムの記憶エリアが設
けられ、EEPROM8にはメインプログラム、サブプ
ログラムの拡張及びワークエリアが設けられ、RAM7
にはメインプログラム、サブプログラムのワークエリア
が設けられている。
【0030】CPU5のシステムリセットにより、プロ
グラムアクセス許可エリア設定回路1がイネーブルさ
れ、その内部の各レジスタにはメインプログラムの動作
可能範囲が設定される。このシステムリセット後は、メ
インプログラムが動作する。メインプログラムの実行
中、必要に応じてサブプログラムにジャンプし、サブプ
ログラムで処理されたデータをメインプログラムが使用
することがある。この場合は、先ずメインプログラムの
命令によりプログラムアクセス許可エリア設定回路1の
スタートアドレス1にサブプログラムからメインプログ
ラムに戻った時のメインプログラムのスタートアドレス
を設定する。また、プログラムアクセス許可エリア設定
回路2の各レジスタにサブプログラムの設定をする。
【0031】次にCPU5はメインプロイグラムからサ
ブプログラムが割り当てられているスタートアドレス又
はサブプログラムのあるアドレスへジャンプする。これ
により、メインプログラムからサブプログラムへの実行
が切り換わる。サブプログラムが許可アドレス内で実行
している間は、アドレス検知回路3aにより正常動作中
である信号を出すため、CPU5への割り込み及びメモ
リアクセスの禁止は行われない。しかし、このサブプロ
グラムが許可アドレス以外のアドレス空間を不正に又は
暴走によりアクセスした場合、アドレス検知回路3aが
許可外アドレスを検知し検知信号を出す。これにより、
CPU割り込み信号生成回路3bとメモリアクセス禁止
信号生成回路3cにより、生成される信号でCPU5へ
の割り込みが発生し、また、許可外アドレスに対応する
メモリへのアクセスを禁止する。
【0032】サブプログラムからメインプログラムヘ戻
る場合は、既にメインプログラム用に条件が設定されて
いるプログラムアクセス許可エリア設定回路1をイネー
ブルさせて、メインプログラムのスタートアドレスにサ
ブプログラムからメインプリグラムへのジャンプを行
う。これにより、再びメインプログラムが動作可能とな
る。また、サブプログラムのメインプログラムへのジャ
ンプ先のアドレスがメインプログラムのスタートアドレ
スのレジスタの値と異なった場合もアドレス検知回路3
aが検知し、CPU5へ割り込みをかける。
【0033】図5には、ROM6に2つのプログラム、
EEPROM8に2つのプログラムを有する例を示し説
明する。この例では、ROM6,RAM7,EEPRO
M8,その他からなるメモリのメモリマップ23は、詳
細には、ROM6のメモリマップ24、RAM7のメモ
リマップ25、EEPROM8のメモリマップ26に分
類される。そして、これらメモリマップに示されるよう
に、ROM6にはプログラム1,2の記憶エリアとプロ
グラム共通エリアAが設けられ、EEPROM8にはプ
ログラム1〜4の拡張及びワークエリア、プログラム共
通エリアCが設けられ、RAM7には各プログラム1〜
4のワークエリアとプログラム共通エリアBが設けられ
ている。
【0034】いま、システムリセット後、プログラム1
が選択され、プログラムアクセス許可エリア設定回路1
がプログラム1のために割り当てられたとする。次に、
プログラム1から別のプログラム(プログラム3)に切
り換えたい時には、先ずプログラム1からの命令によ
り、プログラム共通エリアB又はCにプログラム3にジ
ャンプするためのある命令またはデータを書き込む。こ
の例では、それぞれのプログラムが互いに直接アクセス
することを禁止しているため、プログラム1が他のプロ
グラム2〜4をアクセスしようとするとアクセスは禁止
される。プログラム1から一旦、プログラム共通エリア
に戻り、そのプログラムによりプログラムアクセス許可
エリア設定回路2の各レジスタにプログラム3の設定を
する。その後でプログラム3へジャンプする。以下、こ
れを繰り返すことになる。
【0035】以上説明したように、本発明のマルチプロ
グラム実行制御装置によれば、ROM内のプログラムを
作成・管理する立場としては、サブプログラムからメイ
ンプログラムへの不正アクセスを防止することができ、
メインプログラムのセキュリティが保たれる。さらに、
そのマイクロコンピュータを動作させる上でのチップオ
ペレーションシステムをサブプログラム作成者に公表す
る必要がないため、チップオペレーションシステムのセ
キュリティが保たれる。
【0036】そして、サブプログラム作成者の立場とし
てはチップオペレーションシステムを知らなくてもサブ
プログラムに必要とされる機能を盛り込んだプログラム
だけでよいので、容易に作成可能となる。また、仮にサ
ブプログラムの動作が異常となってもメインプログラム
へのアクセスは禁止されているので、メインプログラム
への異常動作の影響は最小限に防止できる。さらに、サ
ブプログラムの作成の容易性からプログラム作成者がチ
ップオペレーションシステムを知っている人に限定され
ていた従来より格段に広がり、CPUのシステムオペレ
ーションを知っているだけで作成可能となる。
【0037】これにより、アプリケーション毎に迅速に
作成対応可能となり、プログラム作成期間も短縮され
る。また、アプリケーションの多様化も可能である。コ
スト的には、例えばこのサブプログラムをEEPROM
などの書き換え可能な不揮発性メモリに入れることで、
今までは各アプリケーションプログラム毎にROMのマ
スクデータを作成したことに比べると、それが、不必要
となり、ある一つのメインプログラムのマスクデータを
作成するだけでよいことになる。よって、各アプリケー
ションに対応したマスクデータの作成費が削減され、低
コスト化が可能となる。また、そのアプリケーションの
マスクデータに対する作成期間は不必要となり、既存の
メインプログラムが入ったサンプルにそのアプリケーシ
ョン用のサブプログラムをインストールする時間以外は
必要としない。
【0038】一方、各プログラム間のアクセス禁止が可
能のため、各プログラムのデータのセキュリティが完全
に保たれる。例えば、暗号化プログラムの用なセキュリ
ティを重要とする場合、暗号化プログラムのアルゴリズ
ムや暗号化のデータの処理方法を他のプログラム作成者
に対して秘密性を保つことができる。これにより、他の
プログラムからの不正アクセス及び暗号化プログラムの
不正使用や不正複写等を防ぐことができる。また、以上
より、プログラムの著作権の有効性を強化し、所有者の
利益を守ることができる。
【0039】また、チップオペレーションシステムによ
る制限を受けずに暗号化プログラム等の特にセキュリテ
ィを要するプログラムアプリケーションパッケージソフ
ト単体として価値を持つプリグラム作成が可能となる。
これは暗号化プログラムだけでなく、各アプリケーショ
ンに対応する具体的アルゴリズムをブラックボックス化
することで、セキュリティが高まり、商品価値の低下を
防ぐことができる。
【0040】つまり、このプログラムのブラックボック
ス化は、他のプログラムからのアクセスが禁止される本
発明を用いることで、そのセキュリティが高められる。
例えば、衛生放送等の暗号化されたデータを復号させる
ようなデコード用キーをICカード等から入力すること
で、衛生放送のアクセス権が得られる。この時、今回の
発明を使用することで、例えメインプログラム作成者で
あっても、その暗号化プログラムのアルゴリズムを知る
ことはできないので、その暗号としての役割は特に発揮
される。さらに、ICカード発行会社にとってもその暗
号部については完全に暗号作成会社に管理を依頼するこ
とが可能であり、ICカード発行会社内部でその暗号化
が漏れるという危険はなくなる。また、メインプログラ
ムと暗号化プログラムの作成者の分離によりセキュリテ
ィが高まる。
【0041】
【発明の効果】以上詳述したように、本発明によれば、
複数プリグラムの実行を制御し、あるプログラムが他の
プログラムをアクセスすることを禁止可能とし、プログ
ラム及びデータの安全性を高めるマルチプログラム実行
制御装置及び方法を提供することができる。
【図面の簡単な説明】
【図1】本発明の実施例に係るマルチプログラム実行制
御装置の構成を示す図である。
【図2】本発明のマルチプログラム実行制御装置のメモ
リへのアクセスについて説明するためのメモリマップを
示す図である。
【図3】本発明のマルチプログラム実行制御装置のメモ
リへのアクセスについて説明するためのメモリマップを
示す図である。
【図4】本発明のマルチプログラム実行制御装置のメモ
リへのアクセスについて説明するためのメモリマップを
示す図である。
【図5】本発明のマルチプログラム実行制御装置のメモ
リへのアクセスについて説明するためのメモリマップを
示す図である。
【符号の説明】
1,2…プログラムアクセス許可エリア設定回路、1
a,2a…プログラムID認識レジスタ、1b,2b…
スタートアドレスレジスタ、1c,2c…プログラムエ
リア設定レジスタ、3…プログラムアクセス制御回路、
3a…アドレス検知回路、3b…CPU用割り込み信号
生成回路、3c…メモリアクセス禁止信号生成回路、4
…システムコントロール回路、5…CPU、6…RO
M、7…RAM、8…EEPROM、9…アドレスバ
ス、10…データバス。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 中央演算処理手段と、複数のプログラム
    を記憶する記憶手段とを有し、上記複数のプログラムの
    各プログラムの実行を制御するマルチプログラム実行制
    御装置において、 上記各プログラムに他のプログラムからのアクセスを禁
    止する禁止エリア或いは他のプログラムからのアクセス
    を許可する許可エリアの少なくともいずれかを設定する
    設定手段を具備することを特徴とするマルチプログラム
    実行制御装置。
  2. 【請求項2】 中央演算処理手段と、複数のプログラム
    を記憶する記憶手段とを有し、上記複数のプログラムの
    各プログラムの実行を制御するマルチプログラム実行制
    御装置において、 上記各プログラムに他のプログラムからのアクセスを禁
    止する禁止エリアを設定する設定手段と、 上記複数のプログラムのうちのあるプログラムの実行中
    に、他のプログラムの禁止エリアをアクセスしようとし
    た場合に、上記中央演算処理手段への割り込み及び上記
    記憶手段へのアクセスの禁止の少なくともいずれかを行
    う制御手段と、を具備することを特徴とするマルチプロ
    グラム実行制御装置。
  3. 【請求項3】 中央演算処理手段と、複数のプログラム
    を記憶する記憶手段とを有し、上記複数のプログラムの
    各プログラムの実行を制御するマルチプログラム実行制
    御装置において、 上記複数のプログラムのうち、実行するプログラムのI
    Dを識別するプログラムID識別手段と、そのプログラ
    ムのアクセスが許可されるエリアを設定するプログラム
    エリア設定手段と、そのプログラムに動作が切り換った
    ときに動作を開始するアドレスを設定するスタートアド
    レス設定手段と、を有するプログラムアクセス許可エリ
    ア設定手段と、 上記プログラムエリア設定手段で設定されたアドレスと
    実行中のプログラムがアクセスしているアドレスとを比
    較し許可アドレスか許可外アドレスかを検知するアドレ
    ス検知手段と、上記アドレス検知手段で検知した結果、
    許可外アドレスの時、その検知信号を基に中央演算処理
    手段への割り込みをかけるための信号を生成する割り込
    み信号生成手段と、上記アドレス検知手段で検知した結
    果、そのアクセスが許可外アドレスの時だけ、その許可
    外アドレスに対応する記憶手段のアクセスを禁止するた
    めの信号を生成するメモリアクセス禁止信号生成手段
    と、を有するプログラムアクセス制御手段と、を具備す
    ることを特徴とするマルチプログラム実行制御装置。
  4. 【請求項4】 中央演算処理手段と、複数のプログラム
    を記憶する記憶手段とを有し、上記複数のプログラムの
    各プログラムの実行を制御するマルチプログラム実行制
    御装置によるマルチプログラム実行制御方法において、 上記複数のプログラムのうち、実行するプログラムのI
    Dを識別するステップと、そのプログラムのアクセスが
    許可されるエリアを設定するステップと、そのプログラ
    ムに動作が切り換ったときに動作を開始するアドレスを
    設定するステップと、上記設定されたアドレスと現在実
    行中のプログラムがアクセスしているアドレスとを比較
    し許可アドレスか許可外アドレスかを検知するステップ
    と、上記検知の結果、許可外アドレスの時、その検知信
    号を基に中央演算処理手段への割り込みをかけるための
    信号を生成するステップと、上記検知の結果、そのアク
    セスが許可外アドレスの時だけ、その許可外アドレスに
    対応する記憶手段のアクセスを禁止するための信号を生
    成するステップと、を有することを特徴とするマルチプ
    ログラム実行制御方法。
JP7071847A 1995-03-29 1995-03-29 マルチプログラム実行制御装置及び方法 Pending JPH08272625A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP7071847A JPH08272625A (ja) 1995-03-29 1995-03-29 マルチプログラム実行制御装置及び方法
US08/622,410 US6009453A (en) 1995-03-29 1996-03-27 Multi-program execution controlling apparatus and method
KR1019960009094A KR100232670B1 (ko) 1995-03-29 1996-03-29 멀티프로그램 실행제어장치
DE69621690T DE69621690T2 (de) 1995-03-29 1996-03-29 Vorrichtung zur Steuerung einer Mehrfachprogramm-Ausführung
EP96105066A EP0735488B1 (en) 1995-03-29 1996-03-29 Multi-program execution controlling apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7071847A JPH08272625A (ja) 1995-03-29 1995-03-29 マルチプログラム実行制御装置及び方法

Publications (1)

Publication Number Publication Date
JPH08272625A true JPH08272625A (ja) 1996-10-18

Family

ID=13472352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7071847A Pending JPH08272625A (ja) 1995-03-29 1995-03-29 マルチプログラム実行制御装置及び方法

Country Status (5)

Country Link
US (1) US6009453A (ja)
EP (1) EP0735488B1 (ja)
JP (1) JPH08272625A (ja)
KR (1) KR100232670B1 (ja)
DE (1) DE69621690T2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002244755A (ja) * 2001-02-16 2002-08-30 Sony Corp データ処理方法、半導体回路およびプログラム
JP2002244756A (ja) * 2001-02-19 2002-08-30 Sony Corp データ処理方法、半導体回路および認証用装置
JP2004005679A (ja) * 2002-05-29 2004-01-08 Samsung Electronics Co Ltd コンピュータシステム、メモリ構造、および、プログラムを実行する方法
JP2005500608A (ja) * 2001-08-13 2005-01-06 クゥアルコム・インコーポレイテッド コンピュータ装置上の記憶領域へのアプリケーションレベルのアクセス特権
JP2005182774A (ja) * 2003-11-28 2005-07-07 Matsushita Electric Ind Co Ltd データ処理装置
CN1316380C (zh) * 2003-10-01 2007-05-16 株式会社东芝 微型计算机
US7260690B2 (en) 2001-02-06 2007-08-21 Infineon Technologies Ag Microprocessor circuit for data carriers and method for organizing access to data stored in a memory
JP2008513925A (ja) * 2004-09-22 2008-05-01 フリースケール セミコンダクター インコーポレイテッド 集積回路を誤った動作から保護する方法および装置
KR100939328B1 (ko) * 2001-12-03 2010-01-28 어드밴스드 마이크로 디바이시즈, 인코포레이티드 보안민감명령들의 제한실행을 위한 방법 및 장치
US7725611B2 (en) 2002-03-28 2010-05-25 Hitachi, Ltd. Method and apparatus for verifying data in a storage system
US8141057B2 (en) 2001-02-16 2012-03-20 Sony Corporation Data processing apparatus and associated method

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864692A (en) * 1996-12-16 1999-01-26 Hewlett-Packard Company Method and apparatus for protecting memory-mapped devices from side effects of speculative instructions
US6188995B1 (en) * 1997-07-28 2001-02-13 Apple Computer, Inc. Method and apparatus for enforcing software licenses
US5920690A (en) * 1997-08-11 1999-07-06 Motorola, Inc. Method and apparatus for providing access protection in an integrated circuit
US5995750A (en) * 1997-12-16 1999-11-30 Micro Motion, Inc. Memory protection system for a multi-tasking system
FR2786289B1 (fr) * 1998-11-24 2001-10-26 Secap Dispositif et procede de protection contre un acces a une memoire et machine a affranchir les mettant en oeuvre
JP3710671B2 (ja) 2000-03-14 2005-10-26 シャープ株式会社 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法
US6901386B1 (en) * 2000-03-31 2005-05-31 Intel Corporation Electronic asset lending library method and apparatus
ES2180391B1 (es) * 2000-09-25 2003-12-16 Telesincro S A Circuito integrado.
JP2002342166A (ja) 2001-05-15 2002-11-29 Fujitsu Ltd 情報処理装置及びアクセスレベル制御方法
US7134050B2 (en) * 2003-08-15 2006-11-07 Hewlett-Packard Development Company, L.P. Method and system for containing software faults
CA2549540C (en) * 2005-06-10 2008-12-09 Hitachi, Ltd. A task management control apparatus and method
EP1986122A1 (fr) * 2007-04-23 2008-10-29 Stmicroelectronics Sa Unite de traitement securisee
US11163572B2 (en) * 2014-02-04 2021-11-02 Micron Technology, Inc. Memory systems and memory control methods
EP3179278B1 (de) * 2015-12-11 2018-09-19 Sick Ag Sicherheitssensor

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4984272A (en) * 1988-11-30 1991-01-08 At&T Bell Laboratories Secure file handling in a computer operating system
FR2683357A1 (fr) * 1991-10-30 1993-05-07 Philips Composants Microcircuit pour carte a puce a memoire programmable protegee.
US5408672A (en) * 1991-11-18 1995-04-18 Matsushita Electric Industrial Co. Microcomputer having ROM to store a program and RAM to store changes to the program
JPH0798692A (ja) * 1993-05-31 1995-04-11 Mitsubishi Electric Corp マイクロコンピュータ

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7260690B2 (en) 2001-02-06 2007-08-21 Infineon Technologies Ag Microprocessor circuit for data carriers and method for organizing access to data stored in a memory
JP2002244755A (ja) * 2001-02-16 2002-08-30 Sony Corp データ処理方法、半導体回路およびプログラム
US8141057B2 (en) 2001-02-16 2012-03-20 Sony Corporation Data processing apparatus and associated method
JP2002244756A (ja) * 2001-02-19 2002-08-30 Sony Corp データ処理方法、半導体回路および認証用装置
JP2005500608A (ja) * 2001-08-13 2005-01-06 クゥアルコム・インコーポレイテッド コンピュータ装置上の記憶領域へのアプリケーションレベルのアクセス特権
KR100939328B1 (ko) * 2001-12-03 2010-01-28 어드밴스드 마이크로 디바이시즈, 인코포레이티드 보안민감명령들의 제한실행을 위한 방법 및 장치
US7725611B2 (en) 2002-03-28 2010-05-25 Hitachi, Ltd. Method and apparatus for verifying data in a storage system
JP2004005679A (ja) * 2002-05-29 2004-01-08 Samsung Electronics Co Ltd コンピュータシステム、メモリ構造、および、プログラムを実行する方法
CN1316380C (zh) * 2003-10-01 2007-05-16 株式会社东芝 微型计算机
JP2005182774A (ja) * 2003-11-28 2005-07-07 Matsushita Electric Ind Co Ltd データ処理装置
JP4629416B2 (ja) * 2003-11-28 2011-02-09 パナソニック株式会社 データ処理装置
JP2008513925A (ja) * 2004-09-22 2008-05-01 フリースケール セミコンダクター インコーポレイテッド 集積回路を誤った動作から保護する方法および装置

Also Published As

Publication number Publication date
KR960035263A (ko) 1996-10-24
US6009453A (en) 1999-12-28
EP0735488B1 (en) 2002-06-12
DE69621690D1 (de) 2002-07-18
KR100232670B1 (ko) 1999-12-01
DE69621690T2 (de) 2003-01-02
EP0735488A1 (en) 1996-10-02

Similar Documents

Publication Publication Date Title
JPH08272625A (ja) マルチプログラム実行制御装置及び方法
EP1150300B1 (en) Semiconductor storage device, control device, and electronic apparatus
JP3023425B2 (ja) データ処理装置
US7444668B2 (en) Method and apparatus for determining access permission
JP2727520B2 (ja) メモリカード及びその作動方法
US6003133A (en) Data processor with a privileged state firewall and method therefore
JP5242747B2 (ja) システム管理割り込みを再命令し、仮想マシンコンテナを生成することによる、信頼性のないシステム管理コードに対する保護方法
JP3561211B2 (ja) 情報処理装置および不揮発性記憶装置の書き換え制御方法
RU2220443C2 (ru) Способ контроля выполнения компьютерных программ в соответствии с их назначением
JP2009129394A (ja) 情報処理装置及びそのプログラム実行制御方法
JP2008524740A (ja) 装置のセキュリティを改良した集積回路
JP5263602B2 (ja) アクセス制御システム、アクセス制御方法、電子装置、及び制御プログラム
JP4698285B2 (ja) 情報処理装置、情報処理方法及びコンピュータプログラム
CN112749397A (zh) 一种***和方法
JP2001005726A (ja) メモリアドレス空間拡張装置及びプログラムを記憶した記憶媒体
KR20190085387A (ko) 반도체 장치 및 반도체 장치의 동작 방법
WO2005121979A1 (ja) アクセス制御装置及びアクセス制御方法
JPH05100827A (ja) パーソナルコンピユータ
JP2018036695A (ja) 情報処理監視装置、情報処理監視方法、監視プログラム、記録媒体及び情報処理装置
JP2011150457A (ja) 情報処理装置およびメモリアクセス制御方法
JP3005649B2 (ja) ソフトウエア保護機能付き処理装置
JPH10240623A (ja) 読み出し保護機能付きマイクロコンピュータ
JPH07253931A (ja) プログラムデータ格納領域の破壊防止方式
JP2002117381A (ja) Icカード
JP2003108256A (ja) コンピュータ装置および不正使用防止方法